@qraft/asyncapi-plugin 1.0.0-beta.5 → 1.0.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/dist/_vendor/@asyncapi/parser/_vendor/@stoplight/json/index.es.js +1 -1
- package/dist/_vendor/@asyncapi/parser/_vendor/@stoplight/json/index.es.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/constants.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/custom-operations/anonymous-naming.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/custom-operations/apply-traits.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/custom-operations/apply-unique-ids.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/custom-operations/check-circular-refs.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/custom-operations/index.js +2 -2
- package/dist/_vendor/@asyncapi/parser/esm/custom-operations/index.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/custom-operations/parse-schema.js +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/custom-operations/parse-schema.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/custom-operations/resolve-circular-refs.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/document.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/iterator.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/base.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/collection.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/external-documentations.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/utils.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/asyncapi.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/binding.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/bindings.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/channel-parameter.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/channel-parameters.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/channel.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/channels.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/components.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/contact.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/correlation-id.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/correlation-ids.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/extension.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/extensions.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/external-docs.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/info.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/license.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/message-example.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/message-examples.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/message-trait.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/message-traits.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/message.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/messages.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/mixins.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/oauth-flow.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/oauth-flows.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/operation-trait.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/operation-traits.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/operation.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/operations.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/schema.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/schemas.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/security-requirement.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/security-requirements.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/security-scheme.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/security-schemes.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/server-variable.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/server-variables.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/server.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/servers.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/tag.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v2/tags.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/asyncapi.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/binding.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/bindings.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/channel-parameter.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/channel-parameters.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/channel.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/channels.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/components.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/contact.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/correlation-id.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/correlation-ids.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/extension.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/extensions.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/external-docs.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/info.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/license.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/message-example.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/message-examples.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/message-trait.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/message-traits.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/message.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/messages.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/mixins.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/oauth-flow.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/oauth-flows.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/operation-replies.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/operation-reply-address.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/operation-reply-addresses.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/operation-reply.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/operation-trait.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/operation-traits.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/operation.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/operations.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/schema.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/schemas.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/security-requirement.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/security-requirements.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/security-scheme.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/security-schemes.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/server-variable.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/server-variables.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/server.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/servers.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/tag.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/models/v3/tags.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/parse.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/parser.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/resolver.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/formats.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/functions/channelServers.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/functions/documentStructure.js +21 -10
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/functions/documentStructure.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/functions/internal.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/functions/isAsyncAPIDocument.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/functions/uniquenessTags.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/functions/unusedComponent.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/index.js +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/index.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/ruleset.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/utils/getMissingProps.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/utils/getRedundantProps.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/utils/mergeTraits.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/utils/parseUrlVariables.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/v2/functions/channelParameters.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/v2/functions/checkId.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/v2/functions/messageExamples-spectral-rule-v2.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/v2/functions/messageExamples.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/v2/functions/messageIdUniqueness.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/v2/functions/operationIdUniqueness.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/v2/functions/schemaValidation.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/v2/functions/security.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/v2/functions/serverVariables.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/v2/functions/unusedSecuritySchemes.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/v2/ruleset.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/v2/utils/getAllMessages.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/v2/utils/getAllOperations.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/ruleset/v3/functions/operationMessagesUnambiguity.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/schema-parser/asyncapi-schema-parser.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/schema-parser/index.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/schema-parser/spectral-rule-v2.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/spectral.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/stringify.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/utils.js.map +1 -1
- package/dist/_vendor/@asyncapi/parser/esm/validate.js.map +1 -1
- package/dist/_vendor/@asyncapi/specs/index.js +17 -17
- package/dist/_vendor/@asyncapi/specs/index.js.map +1 -1
- package/dist/_vendor/@jsep-plugin/regex/dist/index.js.map +1 -1
- package/dist/_vendor/@jsep-plugin/ternary/dist/index.js.map +1 -1
- package/dist/_vendor/@stoplight/better-ajv-errors/dist/index.js.map +1 -1
- package/dist/_vendor/@stoplight/json/_vendor/safe-stable-stringify/index.js.map +1 -1
- package/dist/_vendor/@stoplight/json/_vendor/safe-stable-stringify/stable.js.map +1 -1
- package/dist/_vendor/@stoplight/json/index.es.js +1 -1
- package/dist/_vendor/@stoplight/json/index.es.js.map +1 -1
- package/dist/_vendor/@stoplight/json-ref-readers/_vendor/tslib/tslib.es6.js +2 -2
- package/dist/_vendor/@stoplight/json-ref-readers/_vendor/tslib/tslib.es6.js.map +1 -1
- package/dist/_vendor/@stoplight/json-ref-readers/file.js.map +1 -1
- package/dist/_vendor/@stoplight/json-ref-readers/http.js.map +1 -1
- package/dist/_vendor/@stoplight/json-ref-readers/index.js.map +1 -1
- package/dist/_vendor/@stoplight/json-ref-resolver/cache.js.map +1 -1
- package/dist/_vendor/@stoplight/json-ref-resolver/crawler.js.map +1 -1
- package/dist/_vendor/@stoplight/json-ref-resolver/index.js +7 -7
- package/dist/_vendor/@stoplight/json-ref-resolver/index.js.map +1 -1
- package/dist/_vendor/@stoplight/json-ref-resolver/resolver.js.map +1 -1
- package/dist/_vendor/@stoplight/json-ref-resolver/runner.js +6 -6
- package/dist/_vendor/@stoplight/json-ref-resolver/runner.js.map +1 -1
- package/dist/_vendor/@stoplight/json-ref-resolver/uri.js.map +1 -1
- package/dist/_vendor/@stoplight/json-ref-resolver/utils.js.map +1 -1
- package/dist/_vendor/@stoplight/ordered-object-literal/src/index.js.map +1 -1
- package/dist/_vendor/@stoplight/ordered-object-literal/src/index2.js.map +1 -1
- package/dist/_vendor/@stoplight/path/index.es.js +1 -1
- package/dist/_vendor/@stoplight/path/index.es.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/_vendor/@stoplight/types/dist/index.js +11 -11
- package/dist/_vendor/@stoplight/spectral-core/_vendor/@stoplight/types/dist/index.js.map +1 -1
- package/dist/_vendor/{minimatch → @stoplight/spectral-core}/_vendor/brace-expansion/index.js +2 -2
- package/dist/_vendor/@stoplight/spectral-core/_vendor/brace-expansion/index.js.map +1 -0
- package/dist/_vendor/{minimatch → @stoplight/spectral-core/_vendor/minimatch}/minimatch.js +1 -1
- package/dist/_vendor/@stoplight/spectral-core/_vendor/minimatch/minimatch.js.map +1 -0
- package/dist/_vendor/@stoplight/spectral-core/dist/consts.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/document.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/documentInventory.js +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/documentInventory.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/errorMessages.js +9 -9
- package/dist/_vendor/@stoplight/spectral-core/dist/errorMessages.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/guards/isAggregateError.js +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/guards/isAggregateError.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/index.js +8 -8
- package/dist/_vendor/@stoplight/spectral-core/dist/index.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/alias.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/formats.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/function.js +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/function.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/index.js +10 -10
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/index.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/mergers/rules.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/mergers/rulesets.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/rule.js +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/rule.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/ruleset.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/utils/guards.js +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/utils/guards.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/utils/minimatch.js +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/utils/minimatch.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/utils/severity.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/validation/ajv.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/validation/assertions.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/validation/errors.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/validation/index.js +6 -6
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/validation/index.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/validation/validators/alias.js +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/validation/validators/alias.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/validation/validators/common/error.js +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/validation/validators/common/error.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/validation/validators/function.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/runner/index.js +5 -5
- package/dist/_vendor/@stoplight/spectral-core/dist/runner/index.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/runner/lintNode.js +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/runner/lintNode.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/runner/runner.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/runner/utils/getLintTargets.js +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/runner/utils/getLintTargets.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/runner/utils/index.js +5 -5
- package/dist/_vendor/@stoplight/spectral-core/dist/runner/utils/index.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/runner/utils/message.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/runner/utils/results.js +10 -10
- package/dist/_vendor/@stoplight/spectral-core/dist/runner/utils/results.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/spectral.js +9 -9
- package/dist/_vendor/@stoplight/spectral-core/dist/spectral.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/types/function.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/types/index.js +5 -5
- package/dist/_vendor/@stoplight/spectral-core/dist/types/index.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/types/spectral.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/utils/generateDocumentWideResult.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-core/dist/utils/replacer.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-formats/dist/arazzo.js +5 -5
- package/dist/_vendor/@stoplight/spectral-formats/dist/arazzo.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-formats/dist/asyncapi.js +25 -25
- package/dist/_vendor/@stoplight/spectral-formats/dist/asyncapi.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-formats/dist/index.js +6 -6
- package/dist/_vendor/@stoplight/spectral-formats/dist/index.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-formats/dist/jsonSchema.js +14 -14
- package/dist/_vendor/@stoplight/spectral-formats/dist/jsonSchema.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-formats/dist/openapi.js +11 -11
- package/dist/_vendor/@stoplight/spectral-formats/dist/openapi.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/alphabetical.js +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/alphabetical.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/casing.js +6 -6
- package/dist/_vendor/@stoplight/spectral-functions/dist/casing.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/defined.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/enumeration.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/falsy.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/index.js +17 -17
- package/dist/_vendor/@stoplight/spectral-functions/dist/index.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/length.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/optionSchemas.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/or.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/pattern.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/schema/ajv.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/schema/index.js +5 -5
- package/dist/_vendor/@stoplight/spectral-functions/dist/schema/index.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/truthy.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/types.js +4 -4
- package/dist/_vendor/@stoplight/spectral-functions/dist/types.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/undefined.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/unreferencedReusableObject.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-functions/dist/xor.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-parsers/dist/index.js +5 -5
- package/dist/_vendor/@stoplight/spectral-parsers/dist/index.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-parsers/dist/json.js +6 -6
- package/dist/_vendor/@stoplight/spectral-parsers/dist/json.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-parsers/dist/types.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-parsers/dist/yaml.js +6 -6
- package/dist/_vendor/@stoplight/spectral-parsers/dist/yaml.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-ref-resolver/dist/index.js +8 -8
- package/dist/_vendor/@stoplight/spectral-ref-resolver/dist/index.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-ref-resolver/dist/types.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-runtime/dist/fetch.js +6 -6
- package/dist/_vendor/@stoplight/spectral-runtime/dist/fetch.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-runtime/dist/index.js +7 -7
- package/dist/_vendor/@stoplight/spectral-runtime/dist/index.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-runtime/dist/reader.js +4 -4
- package/dist/_vendor/@stoplight/spectral-runtime/dist/reader.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/decodeSegmentFragment.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/index.js +7 -7
- package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/index.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/printError.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/printPath.js +5 -5
- package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/printPath.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/printValue.js.map +1 -1
- package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/refs.js +10 -10
- package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/refs.js.map +1 -1
- package/dist/_vendor/@stoplight/types/dist/index.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml/_vendor/@stoplight/types/dist/index.js +13 -13
- package/dist/_vendor/@stoplight/yaml/_vendor/@stoplight/types/dist/index.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml/buildJsonPath.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml/dereferenceAnchor.js +6 -6
- package/dist/_vendor/@stoplight/yaml/dereferenceAnchor.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml/getJsonPathForPosition.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml/getLocationForJsonPath.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml/index.js +13 -13
- package/dist/_vendor/@stoplight/yaml/index.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml/lineForPosition.js +5 -5
- package/dist/_vendor/@stoplight/yaml/lineForPosition.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml/parse.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml/parseWithPointers.js +4 -4
- package/dist/_vendor/@stoplight/yaml/parseWithPointers.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml/safeStringify.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml/trapAccess.js +5 -5
- package/dist/_vendor/@stoplight/yaml/trapAccess.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml/types.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml/utils.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/common.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/dumper.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/exception.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/index.js +11 -11
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/index.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/loader.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/mark.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/scalarInference.js +8 -8
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/scalarInference.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/schema/core.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/schema/default_full.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/schema/default_safe.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/schema/failsafe.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/schema/json.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/schema.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/type/binary.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/type/bool.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/type/float.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/type/int.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/type/js/regexp.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/type/js/undefined.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/type/map.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/type/merge.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/type/null.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/type/omap.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/type/pairs.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/type/seq.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/type/set.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/type/str.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/type/timestamp.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/type.js.map +1 -1
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/yamlAST.js +9 -9
- package/dist/_vendor/@stoplight/yaml-ast-parser/dist/src/yamlAST.js.map +1 -1
- package/dist/_vendor/abort-controller/dist/abort-controller.js +1 -1
- package/dist/_vendor/abort-controller/dist/abort-controller.js.map +1 -1
- package/dist/_vendor/ajv/dist/2019.js +16 -16
- package/dist/_vendor/ajv/dist/2019.js.map +1 -1
- package/dist/_vendor/ajv/dist/2020.js +16 -16
- package/dist/_vendor/ajv/dist/2020.js.map +1 -1
- package/dist/_vendor/ajv/dist/ajv.js +16 -16
- package/dist/_vendor/ajv/dist/ajv.js.map +1 -1
- package/dist/_vendor/ajv/dist/compile/codegen/code.js +20 -20
- package/dist/_vendor/ajv/dist/compile/codegen/code.js.map +1 -1
- package/dist/_vendor/ajv/dist/compile/codegen/index.js +24 -24
- package/dist/_vendor/ajv/dist/compile/codegen/index.js.map +1 -1
- package/dist/_vendor/ajv/dist/compile/codegen/scope.js +9 -9
- package/dist/_vendor/ajv/dist/compile/codegen/scope.js.map +1 -1
- package/dist/_vendor/ajv/dist/compile/errors.js +11 -11
- package/dist/_vendor/ajv/dist/compile/errors.js.map +1 -1
- package/dist/_vendor/ajv/dist/compile/index.js.map +1 -1
- package/dist/_vendor/ajv/dist/compile/names.js.map +1 -1
- package/dist/_vendor/ajv/dist/compile/ref_error.js.map +1 -1
- package/dist/_vendor/ajv/dist/compile/resolve.js.map +1 -1
- package/dist/_vendor/ajv/dist/compile/rules.js.map +1 -1
- package/dist/_vendor/ajv/dist/compile/util.js.map +1 -1
- package/dist/_vendor/ajv/dist/compile/validate/applicability.js.map +1 -1
- package/dist/_vendor/ajv/dist/compile/validate/boolSchema.js.map +1 -1
- package/dist/_vendor/ajv/dist/compile/validate/dataType.js.map +1 -1
- package/dist/_vendor/ajv/dist/compile/validate/defaults.js.map +1 -1
- package/dist/_vendor/ajv/dist/compile/validate/index.js +1 -1
- package/dist/_vendor/ajv/dist/compile/validate/index.js.map +1 -1
- package/dist/_vendor/ajv/dist/compile/validate/keyword.js.map +1 -1
- package/dist/_vendor/ajv/dist/compile/validate/subschema.js.map +1 -1
- package/dist/_vendor/ajv/dist/core.js +11 -11
- package/dist/_vendor/ajv/dist/core.js.map +1 -1
- package/dist/_vendor/ajv/dist/refs/json-schema-2019-09/index.js.map +1 -1
- package/dist/_vendor/ajv/dist/refs/json-schema-2020-12/index.js +1 -1
- package/dist/_vendor/ajv/dist/refs/json-schema-2020-12/index.js.map +1 -1
- package/dist/_vendor/ajv/dist/runtime/equal.js.map +1 -1
- package/dist/_vendor/ajv/dist/runtime/ucs2length.js.map +1 -1
- package/dist/_vendor/ajv/dist/runtime/uri.js.map +1 -1
- package/dist/_vendor/ajv/dist/runtime/validation_error.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/allOf.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/contains.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/dependencies.js +8 -8
- package/dist/_vendor/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/dependentSchemas.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/if.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/index.js +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/index.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/items.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/items2020.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/not.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/properties.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/code.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/core/id.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/core/index.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/core/ref.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/discriminator/index.js +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/discriminator/index.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/discriminator/types.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/draft2020.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/draft7.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/dynamic/dynamicAnchor.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/dynamic/dynamicRef.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/dynamic/index.js +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/dynamic/index.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/dynamic/recursiveAnchor.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/dynamic/recursiveRef.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/format/format.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/format/index.js +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/format/index.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/metadata.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/next.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/unevaluated/index.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/validation/const.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/validation/dependentRequired.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/validation/enum.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/validation/index.js +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/validation/index.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/validation/limitContains.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/validation/limitItems.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/validation/limitLength.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/validation/pattern.js +14 -4
- package/dist/_vendor/ajv/dist/vocabularies/validation/pattern.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/validation/required.js.map +1 -1
- package/dist/_vendor/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -1
- package/dist/_vendor/ajv-draft-04/dist/index.js +14 -14
- package/dist/_vendor/ajv-draft-04/dist/index.js.map +1 -1
- package/dist/_vendor/ajv-draft-04/dist/vocabulary/core.js.map +1 -1
- package/dist/_vendor/ajv-draft-04/dist/vocabulary/draft4.js.map +1 -1
- package/dist/_vendor/ajv-draft-04/dist/vocabulary/validation/index.js.map +1 -1
- package/dist/_vendor/ajv-draft-04/dist/vocabulary/validation/limitNumber.js.map +1 -1
- package/dist/_vendor/ajv-draft-04/dist/vocabulary/validation/limitNumberExclusive.js.map +1 -1
- package/dist/_vendor/ajv-errors/dist/index.js +4 -4
- package/dist/_vendor/ajv-errors/dist/index.js.map +1 -1
- package/dist/_vendor/ajv-formats/dist/formats.js +8 -8
- package/dist/_vendor/ajv-formats/dist/formats.js.map +1 -1
- package/dist/_vendor/ajv-formats/dist/index.js +6 -6
- package/dist/_vendor/ajv-formats/dist/index.js.map +1 -1
- package/dist/_vendor/ajv-formats/dist/limit.js +6 -6
- package/dist/_vendor/ajv-formats/dist/limit.js.map +1 -1
- package/dist/_vendor/astring/dist/astring.js.map +1 -1
- package/dist/_vendor/balanced-match/index.js.map +1 -1
- package/dist/_vendor/call-bind/index.js.map +1 -1
- package/dist/_vendor/call-bind-apply-helpers/actualApply.js.map +1 -1
- package/dist/_vendor/call-bind-apply-helpers/applyBind.js.map +1 -1
- package/dist/_vendor/call-bind-apply-helpers/functionApply.js.map +1 -1
- package/dist/_vendor/call-bind-apply-helpers/functionCall.js.map +1 -1
- package/dist/_vendor/call-bind-apply-helpers/index.js.map +1 -1
- package/dist/_vendor/call-bind-apply-helpers/reflectApply.js.map +1 -1
- package/dist/_vendor/call-bound/index.js.map +1 -1
- package/dist/_vendor/concat-map/index.js.map +1 -1
- package/dist/_vendor/define-data-property/index.js.map +1 -1
- package/dist/_vendor/define-properties/index.js.map +1 -1
- package/dist/_vendor/dependency-graph/lib/dep_graph.js.map +1 -1
- package/dist/_vendor/dunder-proto/get.js.map +1 -1
- package/dist/_vendor/dunder-proto/set.js.map +1 -1
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2023/CreateNonEnumerableDataPropertyOrThrow.js +2 -2
- package/dist/_vendor/es-abstract/2023/CreateNonEnumerableDataPropertyOrThrow.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2023/DefinePropertyOrThrow.js +2 -2
- package/dist/_vendor/es-abstract/2023/DefinePropertyOrThrow.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract/2025 → es-abstract/2023}/FromPropertyDescriptor.js +1 -1
- package/dist/_vendor/es-abstract/2023/FromPropertyDescriptor.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2023/IsCallable.js +1 -1
- package/dist/_vendor/es-abstract/2023/IsCallable.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract/2025 → es-abstract/2023}/IsDataDescriptor.js +2 -2
- package/dist/_vendor/es-abstract/2023/IsDataDescriptor.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract/2025 → es-abstract/2023}/SameValue.js +1 -1
- package/dist/_vendor/es-abstract/2023/SameValue.js.map +1 -0
- package/dist/_vendor/es-abstract/2023/ToBoolean.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract/2025 → es-abstract/2023}/ToPropertyDescriptor.js +3 -3
- package/dist/_vendor/es-abstract/2023/ToPropertyDescriptor.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/AdvanceStringIndex.js +3 -3
- package/dist/_vendor/es-abstract/2025/AdvanceStringIndex.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/AsyncFromSyncIteratorContinuation.js +5 -5
- package/dist/_vendor/es-abstract/2025/AsyncFromSyncIteratorContinuation.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/Call.js +3 -3
- package/dist/_vendor/es-abstract/2025/Call.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/CodePointAt.js +2 -2
- package/dist/_vendor/es-abstract/2025/CodePointAt.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/CreateAsyncFromSyncIterator.js +5 -5
- package/dist/_vendor/es-abstract/2025/CreateAsyncFromSyncIterator.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/CreateDataProperty.js +2 -2
- package/dist/_vendor/es-abstract/2025/CreateDataProperty.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/CreateDataPropertyOrThrow.js +2 -2
- package/dist/_vendor/es-abstract/2025/CreateDataPropertyOrThrow.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/CreateIteratorResultObject.js +1 -1
- package/dist/_vendor/es-abstract/2025/CreateIteratorResultObject.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract/2023 → es-abstract/2025}/FromPropertyDescriptor.js +1 -1
- package/dist/_vendor/es-abstract/2025/FromPropertyDescriptor.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/Get.js +2 -2
- package/dist/_vendor/es-abstract/2025/Get.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/GetIterator.js +3 -3
- package/dist/_vendor/es-abstract/2025/GetIterator.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/GetIteratorFromMethod.js +2 -2
- package/dist/_vendor/es-abstract/2025/GetIteratorFromMethod.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/GetMethod.js +1 -1
- package/dist/_vendor/es-abstract/2025/GetMethod.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/GetV.js +1 -1
- package/dist/_vendor/es-abstract/2025/GetV.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/IsAccessorDescriptor.js +2 -2
- package/dist/_vendor/es-abstract/2025/IsAccessorDescriptor.js.map +1 -0
- package/dist/_vendor/es-abstract/2025/IsArray.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/IsCallable.js +1 -1
- package/dist/_vendor/es-abstract/2025/IsCallable.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract/2023 → es-abstract/2025}/IsDataDescriptor.js +2 -2
- package/dist/_vendor/es-abstract/2025/IsDataDescriptor.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/IsExtensible.js +1 -1
- package/dist/_vendor/es-abstract/2025/IsExtensible.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/IsGenericDescriptor.js +1 -1
- package/dist/_vendor/es-abstract/2025/IsGenericDescriptor.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/IteratorComplete.js +2 -2
- package/dist/_vendor/es-abstract/2025/IteratorComplete.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/IteratorNext.js +2 -2
- package/dist/_vendor/es-abstract/2025/IteratorNext.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/IteratorStep.js +1 -1
- package/dist/_vendor/es-abstract/2025/IteratorStep.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/IteratorToList.js +1 -1
- package/dist/_vendor/es-abstract/2025/IteratorToList.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/IteratorValue.js +2 -2
- package/dist/_vendor/es-abstract/2025/IteratorValue.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/OrdinaryDefineOwnProperty.js +4 -4
- package/dist/_vendor/es-abstract/2025/OrdinaryDefineOwnProperty.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/OrdinaryGetPrototypeOf.js +3 -3
- package/dist/_vendor/es-abstract/2025/OrdinaryGetPrototypeOf.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/OrdinaryObjectCreate.js +6 -6
- package/dist/_vendor/es-abstract/2025/OrdinaryObjectCreate.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/OrdinarySetPrototypeOf.js +3 -3
- package/dist/_vendor/es-abstract/2025/OrdinarySetPrototypeOf.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/PromiseResolve.js +3 -3
- package/dist/_vendor/es-abstract/2025/PromiseResolve.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract/2023 → es-abstract/2025}/SameValue.js +1 -1
- package/dist/_vendor/es-abstract/2025/SameValue.js.map +1 -0
- package/dist/_vendor/es-abstract/2025/ToBoolean.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract/2023 → es-abstract/2025}/ToPropertyDescriptor.js +3 -3
- package/dist/_vendor/es-abstract/2025/ToPropertyDescriptor.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/UTF16SurrogatePairToCodePoint.js +2 -2
- package/dist/_vendor/es-abstract/2025/UTF16SurrogatePairToCodePoint.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/ValidateAndApplyPropertyDescriptor.js +2 -2
- package/dist/_vendor/es-abstract/2025/ValidateAndApplyPropertyDescriptor.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/helpers/DefineOwnProperty.js +3 -3
- package/dist/_vendor/es-abstract/helpers/DefineOwnProperty.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/helpers/IsArray.js +2 -2
- package/dist/_vendor/es-abstract/helpers/IsArray.js.map +1 -0
- package/dist/_vendor/es-abstract/helpers/forEach.js.map +1 -0
- package/dist/_vendor/es-abstract/helpers/fromPropertyDescriptor.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/helpers/getIteratorMethod.js +4 -4
- package/dist/_vendor/es-abstract/helpers/getIteratorMethod.js.map +1 -0
- package/dist/_vendor/es-abstract/helpers/isFullyPopulatedPropertyDescriptor.js.map +1 -0
- package/dist/_vendor/es-abstract/helpers/isLeadingSurrogate.js.map +1 -0
- package/dist/_vendor/es-abstract/helpers/isPrimitive.js.map +1 -0
- package/dist/_vendor/es-abstract/helpers/isPropertyKey.js.map +1 -0
- package/dist/_vendor/es-abstract/helpers/isTrailingSurrogate.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/helpers/records/iterator-record.js +1 -1
- package/dist/_vendor/es-abstract/helpers/records/iterator-record.js.map +1 -0
- package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/helpers/records/property-descriptor.js +2 -2
- package/dist/_vendor/es-abstract/helpers/records/property-descriptor.js.map +1 -0
- package/dist/_vendor/es-aggregate-error/implementation.js +5 -5
- package/dist/_vendor/es-aggregate-error/implementation.js.map +1 -1
- package/dist/_vendor/es-aggregate-error/index.js.map +1 -1
- package/dist/_vendor/es-aggregate-error/polyfill.js.map +1 -1
- package/dist/_vendor/es-aggregate-error/shim.js.map +1 -1
- package/dist/_vendor/es-define-property/index.js.map +1 -1
- package/dist/_vendor/es-errors/eval.js.map +1 -1
- package/dist/_vendor/es-errors/index.js.map +1 -1
- package/dist/_vendor/es-errors/range.js.map +1 -1
- package/dist/_vendor/es-errors/ref.js.map +1 -1
- package/dist/_vendor/es-errors/syntax.js.map +1 -1
- package/dist/_vendor/es-errors/type.js.map +1 -1
- package/dist/_vendor/es-errors/uri.js.map +1 -1
- package/dist/_vendor/es-object-atoms/index.js.map +1 -1
- package/dist/_vendor/es-object-atoms/isObject.js.map +1 -1
- package/dist/_vendor/event-target-shim/dist/event-target-shim.js +1 -1
- package/dist/_vendor/event-target-shim/dist/event-target-shim.js.map +1 -1
- package/dist/_vendor/fast-deep-equal/index.js.map +1 -1
- package/dist/_vendor/fast-memoize/src/index.js +1 -1
- package/dist/_vendor/fast-memoize/src/index.js.map +1 -1
- package/dist/_vendor/fast-uri/index.js +1 -1
- package/dist/_vendor/fast-uri/index.js.map +1 -1
- package/dist/_vendor/fast-uri/lib/schemes.js.map +1 -1
- package/dist/_vendor/fast-uri/lib/scopedChars.js.map +1 -1
- package/dist/_vendor/fast-uri/lib/utils.js +1 -1
- package/dist/_vendor/fast-uri/lib/utils.js.map +1 -1
- package/dist/_vendor/function-bind/implementation.js.map +1 -1
- package/dist/_vendor/function-bind/index.js.map +1 -1
- package/dist/_vendor/functions-have-names/index.js.map +1 -1
- package/dist/_vendor/get-intrinsic/index.js.map +1 -1
- package/dist/_vendor/get-proto/Object.getPrototypeOf.js.map +1 -1
- package/dist/_vendor/get-proto/Reflect.getPrototypeOf.js.map +1 -1
- package/dist/_vendor/get-proto/index.js.map +1 -1
- package/dist/_vendor/globalthis/implementation.js.map +1 -1
- package/dist/_vendor/globalthis/index.js.map +1 -1
- package/dist/_vendor/globalthis/polyfill.js.map +1 -1
- package/dist/_vendor/globalthis/shim.js.map +1 -1
- package/dist/_vendor/gopd/gOPD.js.map +1 -1
- package/dist/_vendor/gopd/index.js.map +1 -1
- package/dist/_vendor/has-property-descriptors/index.js.map +1 -1
- package/dist/_vendor/has-proto/index.js.map +1 -1
- package/dist/_vendor/has-symbols/index.js.map +1 -1
- package/dist/_vendor/has-symbols/shams.js.map +1 -1
- package/dist/_vendor/has-tostringtag/shams.js.map +1 -1
- package/dist/_vendor/hasown/index.js.map +1 -1
- package/dist/_vendor/immer/dist/immer.cjs.development.js.map +1 -1
- package/dist/_vendor/immer/dist/immer.cjs.production.min.js +1 -1
- package/dist/_vendor/immer/dist/immer.cjs.production.min.js.map +1 -1
- package/dist/_vendor/immer/dist/index.js +1 -1
- package/dist/_vendor/immer/dist/index.js.map +1 -1
- package/dist/_vendor/internal-slot/index.js.map +1 -1
- package/dist/_vendor/is-callable/index.js.map +1 -1
- package/dist/_vendor/is-string/index.js.map +1 -1
- package/dist/_vendor/jsep/dist/cjs/jsep.cjs.js.map +1 -1
- package/dist/_vendor/json-schema-traverse/index.js.map +1 -1
- package/dist/_vendor/jsonc-parser/lib/esm/impl/parser.js.map +1 -1
- package/dist/_vendor/jsonc-parser/lib/esm/impl/scanner.js +2 -2
- package/dist/_vendor/jsonc-parser/lib/esm/impl/scanner.js.map +1 -1
- package/dist/_vendor/jsonc-parser/lib/esm/main.js.map +1 -1
- package/dist/_vendor/jsonpath-plus/dist/index-node-cjs.js.map +1 -1
- package/dist/_vendor/jsonpath-plus/dist/index-node-esm.js.map +1 -1
- package/dist/_vendor/jsonpointer/jsonpointer.js.map +1 -1
- package/dist/_vendor/leven/index.js +1 -1
- package/dist/_vendor/leven/index.js.map +1 -1
- package/dist/_vendor/lodash/_Hash.js.map +1 -1
- package/dist/_vendor/lodash/_ListCache.js.map +1 -1
- package/dist/_vendor/lodash/_Map.js.map +1 -1
- package/dist/_vendor/lodash/_MapCache.js.map +1 -1
- package/dist/_vendor/lodash/_Symbol.js.map +1 -1
- package/dist/_vendor/lodash/_arrayMap.js.map +1 -1
- package/dist/_vendor/lodash/_assignValue.js.map +1 -1
- package/dist/_vendor/lodash/_assocIndexOf.js.map +1 -1
- package/dist/_vendor/lodash/_baseAssignValue.js.map +1 -1
- package/dist/_vendor/lodash/_baseGet.js.map +1 -1
- package/dist/_vendor/lodash/_baseGetTag.js.map +1 -1
- package/dist/_vendor/lodash/_baseIsNative.js.map +1 -1
- package/dist/_vendor/lodash/_baseSet.js.map +1 -1
- package/dist/_vendor/lodash/_baseToString.js +1 -4
- package/dist/_vendor/lodash/_baseToString.js.map +1 -1
- package/dist/_vendor/lodash/_castPath.js.map +1 -1
- package/dist/_vendor/lodash/_coreJsData.js.map +1 -1
- package/dist/_vendor/lodash/_defineProperty.js.map +1 -1
- package/dist/_vendor/lodash/_freeGlobal.js.map +1 -1
- package/dist/_vendor/lodash/_getMapData.js.map +1 -1
- package/dist/_vendor/lodash/_getNative.js.map +1 -1
- package/dist/_vendor/lodash/_getRawTag.js.map +1 -1
- package/dist/_vendor/lodash/_getValue.js.map +1 -1
- package/dist/_vendor/lodash/_hashClear.js.map +1 -1
- package/dist/_vendor/lodash/_hashDelete.js.map +1 -1
- package/dist/_vendor/lodash/_hashGet.js.map +1 -1
- package/dist/_vendor/lodash/_hashHas.js.map +1 -1
- package/dist/_vendor/lodash/_hashSet.js.map +1 -1
- package/dist/_vendor/lodash/_isIndex.js.map +1 -1
- package/dist/_vendor/lodash/_isKey.js.map +1 -1
- package/dist/_vendor/lodash/_isKeyable.js.map +1 -1
- package/dist/_vendor/lodash/_isMasked.js.map +1 -1
- package/dist/_vendor/lodash/_listCacheClear.js.map +1 -1
- package/dist/_vendor/lodash/_listCacheDelete.js.map +1 -1
- package/dist/_vendor/lodash/_listCacheGet.js.map +1 -1
- package/dist/_vendor/lodash/_listCacheHas.js.map +1 -1
- package/dist/_vendor/lodash/_listCacheSet.js.map +1 -1
- package/dist/_vendor/lodash/_mapCacheClear.js.map +1 -1
- package/dist/_vendor/lodash/_mapCacheDelete.js.map +1 -1
- package/dist/_vendor/lodash/_mapCacheGet.js.map +1 -1
- package/dist/_vendor/lodash/_mapCacheHas.js.map +1 -1
- package/dist/_vendor/lodash/_mapCacheSet.js.map +1 -1
- package/dist/_vendor/lodash/_memoizeCapped.js.map +1 -1
- package/dist/_vendor/lodash/_nativeCreate.js.map +1 -1
- package/dist/_vendor/lodash/_objectToString.js.map +1 -1
- package/dist/_vendor/lodash/_root.js.map +1 -1
- package/dist/_vendor/lodash/_stringToPath.js.map +1 -1
- package/dist/_vendor/lodash/_toKey.js +1 -4
- package/dist/_vendor/lodash/_toKey.js.map +1 -1
- package/dist/_vendor/lodash/_toSource.js.map +1 -1
- package/dist/_vendor/lodash/eq.js.map +1 -1
- package/dist/_vendor/lodash/get.js.map +1 -1
- package/dist/_vendor/lodash/isArray.js.map +1 -1
- package/dist/_vendor/lodash/isFunction.js.map +1 -1
- package/dist/_vendor/lodash/isObject.js.map +1 -1
- package/dist/_vendor/lodash/isObjectLike.js.map +1 -1
- package/dist/_vendor/lodash/isSymbol.js.map +1 -1
- package/dist/_vendor/lodash/lodash.js +49 -10
- package/dist/_vendor/lodash/lodash.js.map +1 -1
- package/dist/_vendor/lodash/memoize.js.map +1 -1
- package/dist/_vendor/lodash/set.js.map +1 -1
- package/dist/_vendor/lodash/toString.js.map +1 -1
- package/dist/_vendor/lodash.topath/index.js +2 -5
- package/dist/_vendor/lodash.topath/index.js.map +1 -1
- package/dist/_vendor/math-intrinsics/abs.js.map +1 -1
- package/dist/_vendor/math-intrinsics/floor.js.map +1 -1
- package/dist/_vendor/math-intrinsics/isFinite.js.map +1 -1
- package/dist/_vendor/math-intrinsics/isInteger.js.map +1 -1
- package/dist/_vendor/math-intrinsics/isNaN.js.map +1 -1
- package/dist/_vendor/math-intrinsics/max.js.map +1 -1
- package/dist/_vendor/math-intrinsics/min.js.map +1 -1
- package/dist/_vendor/math-intrinsics/pow.js.map +1 -1
- package/dist/_vendor/math-intrinsics/round.js.map +1 -1
- package/dist/_vendor/math-intrinsics/sign.js +1 -1
- package/dist/_vendor/math-intrinsics/sign.js.map +1 -1
- package/dist/_vendor/nimma/dist/cjs/codegen/ast/builders.js.map +1 -1
- package/dist/_vendor/nimma/dist/cjs/codegen/fallback.js +3 -3
- package/dist/_vendor/nimma/dist/cjs/codegen/fallback.js.map +1 -1
- package/dist/_vendor/nimma/dist/cjs/fallbacks/index.js.map +1 -1
- package/dist/_vendor/nimma/dist/cjs/fallbacks/jsonpath-plus.js +3 -3
- package/dist/_vendor/nimma/dist/cjs/fallbacks/jsonpath-plus.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/ast/builders.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/baseline/generators.js +0 -2
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/baseline/generators.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/baseline/index.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/baseline/index.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/dump.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/dump.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/all-parents.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/all-parents.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/deep-single-member.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/deep-single-member.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/deep-wildcard.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/deep-wildcard.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/fixed.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/fixed.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/index.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/index.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/only-filter-script-expression.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/only-filter-script-expression.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/root.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/root.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/top-level-wildcard.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/top-level-wildcard.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/guards.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/iterator.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/iterator.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/optimizer/index.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/optimizer/index.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/templates/build-json.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/templates/build-json.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/templates/emit-call.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/templates/emit-call.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/templates/fallback-expressions.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/templates/fallback-expressions.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/templates/fn-params.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/templates/fn-params.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/templates/internal-scope.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/templates/internal-scope.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/templates/sandbox.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/templates/sandbox.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/templates/scope.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/templates/scope.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/templates/tree-method-call.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/templates/tree-method-call.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/tree/traversal-zones.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/tree/traversal-zones.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/tree/tree.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/codegen/tree/tree.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/core/index.js +4 -4
- package/dist/_vendor/nimma/dist/legacy/cjs/core/index.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/core/utils/determine-format.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/core/utils/determine-format.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/core/utils/parse-expressions.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/core/utils/parse-expressions.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/index.js +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/index.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/parser/index.js +4 -4
- package/dist/_vendor/nimma/dist/legacy/cjs/parser/index.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/parser/jsep.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/parser/jsep.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/parser/parser.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/codegen-functions/get.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/codegen-functions/get.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/codegen-functions/in-bounds.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/codegen-functions/in-bounds.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/codegen-functions/is-object.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/codegen-functions/is-object.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/errors/aggregate-error.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/errors/aggregate-error.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/errors/cause-error.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/errors/cause-error.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/errors/parser-error.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/errors/parser-error.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/errors/runtime-error.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/errors/runtime-error.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/index.js +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/index.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/proxy-callbacks.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/proxy-callbacks.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/sandbox.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/scope.js +3 -3
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/scope.js.map +1 -1
- package/dist/_vendor/nimma/dist/legacy/cjs/runtime/traverse.js.map +1 -1
- package/dist/_vendor/node-fetch/lib/index.js.map +1 -1
- package/dist/_vendor/object-inspect/index.js +11 -8
- package/dist/_vendor/object-inspect/index.js.map +1 -1
- package/dist/_vendor/object-inspect/util.inspect.js.map +1 -1
- package/dist/_vendor/object-keys/implementation.js.map +1 -1
- package/dist/_vendor/object-keys/index.js.map +1 -1
- package/dist/_vendor/object-keys/isArguments.js.map +1 -1
- package/dist/_vendor/pony-cause/index.js.map +1 -1
- package/dist/_vendor/set-function-length/index.js.map +1 -1
- package/dist/_vendor/set-function-name/index.js.map +1 -1
- package/dist/_vendor/set-proto/Object.setPrototypeOf.js.map +1 -1
- package/dist/_vendor/set-proto/Reflect.setPrototypeOf.js.map +1 -1
- package/dist/_vendor/set-proto/index.js.map +1 -1
- package/dist/_vendor/side-channel/index.js.map +1 -1
- package/dist/_vendor/side-channel-list/index.js.map +1 -1
- package/dist/_vendor/side-channel-map/index.js.map +1 -1
- package/dist/_vendor/side-channel-weakmap/index.js.map +1 -1
- package/dist/_vendor/simple-eval/dist/index.js.map +1 -1
- package/dist/_vendor/simple-eval/dist/reduce.js.map +1 -1
- package/dist/_vendor/tr46/index.js +1 -1
- package/dist/_vendor/tr46/index.js.map +1 -1
- package/dist/_vendor/tslib/tslib.es6.js.map +1 -1
- package/dist/_vendor/urijs/src/IPv6.js.map +1 -1
- package/dist/_vendor/urijs/src/SecondLevelDomains.js.map +1 -1
- package/dist/_vendor/urijs/src/URI.js.map +1 -1
- package/dist/_vendor/urijs/src/punycode.js +3 -3
- package/dist/_vendor/urijs/src/punycode.js.map +1 -1
- package/dist/_vendor/whatwg-url/_vendor/webidl-conversions/lib/index.js.map +1 -1
- package/dist/_vendor/whatwg-url/lib/URL-impl.js.map +1 -1
- package/dist/_vendor/whatwg-url/lib/URL.js.map +1 -1
- package/dist/_vendor/whatwg-url/lib/public-api.js.map +1 -1
- package/dist/_vendor/whatwg-url/lib/url-state-machine.js.map +1 -1
- package/dist/_vendor/whatwg-url/lib/utils.js.map +1 -1
- package/dist/_virtual/index16.js +2 -2
- package/dist/_virtual/index17.js +2 -2
- package/dist/_virtual/index18.js +2 -2
- package/dist/_virtual/index19.js +2 -2
- package/dist/_virtual/index20.js +2 -2
- package/dist/_virtual/index21.js +2 -2
- package/dist/_virtual/index22.js +2 -2
- package/dist/_virtual/index25.js +2 -2
- package/dist/_virtual/index26.js +2 -2
- package/dist/_virtual/index28.js +2 -2
- package/dist/_virtual/index31.js +2 -2
- package/dist/_virtual/index32.js +2 -2
- package/dist/_virtual/index33.js +2 -2
- package/dist/_virtual/index35.js +2 -2
- package/dist/_virtual/index36.js +2 -2
- package/dist/_virtual/index38.js +2 -2
- package/dist/_virtual/index41.js +2 -2
- package/dist/_virtual/index42.js +2 -2
- package/dist/_virtual/index43.js +2 -2
- package/dist/_virtual/index44.js +2 -2
- package/dist/_virtual/index47.js +2 -2
- package/dist/_virtual/index48.js +2 -2
- package/dist/_virtual/index50.js +2 -2
- package/dist/_virtual/index51.js +2 -2
- package/dist/_virtual/index52.js +2 -2
- package/dist/_virtual/index53.js +2 -2
- package/dist/_virtual/index57.js +2 -2
- package/dist/_virtual/index59.js +2 -2
- package/dist/lib/QraftCommand.js.map +1 -1
- package/dist/lib/readSchema.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/package.json +15 -15
- package/src/packageVersion.ts +1 -1
- package/dist/_vendor/@stoplight/spectral-core/_vendor/lodash/lodash.js +0 -17251
- package/dist/_vendor/@stoplight/spectral-core/_vendor/lodash/lodash.js.map +0 -1
- package/dist/_vendor/@stoplight/spectral-functions/_vendor/lodash/lodash.js +0 -17251
- package/dist/_vendor/@stoplight/spectral-functions/_vendor/lodash/lodash.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2023/CreateNonEnumerableDataPropertyOrThrow.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2023/DefinePropertyOrThrow.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2023/FromPropertyDescriptor.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2023/IsCallable.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2023/IsDataDescriptor.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2023/SameValue.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2023/ToBoolean.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2023/ToPropertyDescriptor.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/AdvanceStringIndex.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/AsyncFromSyncIteratorContinuation.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/Call.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/CodePointAt.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/CreateAsyncFromSyncIterator.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/CreateDataProperty.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/CreateDataPropertyOrThrow.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/CreateIteratorResultObject.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/FromPropertyDescriptor.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/Get.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/GetIterator.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/GetIteratorFromMethod.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/GetMethod.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/GetV.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/IsAccessorDescriptor.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/IsArray.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/IsCallable.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/IsDataDescriptor.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/IsExtensible.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/IsGenericDescriptor.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/IteratorComplete.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/IteratorNext.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/IteratorStep.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/IteratorToList.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/IteratorValue.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/OrdinaryDefineOwnProperty.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/OrdinaryGetPrototypeOf.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/OrdinaryObjectCreate.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/OrdinarySetPrototypeOf.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/PromiseResolve.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/SameValue.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/ToBoolean.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/ToPropertyDescriptor.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/UTF16SurrogatePairToCodePoint.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/2025/ValidateAndApplyPropertyDescriptor.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/helpers/DefineOwnProperty.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/helpers/IsArray.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/helpers/forEach.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/helpers/fromPropertyDescriptor.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/helpers/getIteratorMethod.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/helpers/isFullyPopulatedPropertyDescriptor.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/helpers/isLeadingSurrogate.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/helpers/isPrimitive.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/helpers/isPropertyKey.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/helpers/isTrailingSurrogate.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/helpers/records/iterator-record.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/es-abstract/helpers/records/property-descriptor.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/object-inspect/index.js +0 -558
- package/dist/_vendor/es-aggregate-error/_vendor/object-inspect/index.js.map +0 -1
- package/dist/_vendor/es-aggregate-error/_vendor/object-inspect/util.inspect.js +0 -14
- package/dist/_vendor/es-aggregate-error/_vendor/object-inspect/util.inspect.js.map +0 -1
- package/dist/_vendor/minimatch/_vendor/brace-expansion/index.js.map +0 -1
- package/dist/_vendor/minimatch/minimatch.js.map +0 -1
- package/dist/_virtual/lodash3.js +0 -4
- package/dist/_virtual/lodash3.js.map +0 -1
- package/dist/_virtual/lodash4.js +0 -4
- package/dist/_virtual/lodash4.js.map +0 -1
- /package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2023/ToBoolean.js +0 -0
- /package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/IsArray.js +0 -0
- /package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/2025/ToBoolean.js +0 -0
- /package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/helpers/forEach.js +0 -0
- /package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/helpers/fromPropertyDescriptor.js +0 -0
- /package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/helpers/isFullyPopulatedPropertyDescriptor.js +0 -0
- /package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/helpers/isLeadingSurrogate.js +0 -0
- /package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/helpers/isPrimitive.js +0 -0
- /package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/helpers/isPropertyKey.js +0 -0
- /package/dist/_vendor/{es-aggregate-error/_vendor/es-abstract → es-abstract}/helpers/isTrailingSurrogate.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"URI.js","sources":["../../../../../../node_modules/urijs/src/URI.js"],"sourcesContent":["/*!\n * URI.js - Mutating URLs\n *\n * Version: 1.19.11\n *\n * Author: Rodney Rehm\n * Web: http://medialize.github.io/URI.js/\n *\n * Licensed under\n * MIT License http://www.opensource.org/licenses/mit-license\n *\n */\n(function (root, factory) {\n 'use strict';\n // https://github.com/umdjs/umd/blob/master/returnExports.js\n if (typeof module === 'object' && module.exports) {\n // Node\n module.exports = factory(require('./punycode'), require('./IPv6'), require('./SecondLevelDomains'));\n } else if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['./punycode', './IPv6', './SecondLevelDomains'], factory);\n } else {\n // Browser globals (root is window)\n root.URI = factory(root.punycode, root.IPv6, root.SecondLevelDomains, root);\n }\n}(this, function (punycode, IPv6, SLD, root) {\n 'use strict';\n /*global location, escape, unescape */\n // FIXME: v2.0.0 renamce non-camelCase properties to uppercase\n /*jshint camelcase: false */\n\n // save current URI variable, if any\n var _URI = root && root.URI;\n\n function URI(url, base) {\n var _urlSupplied = arguments.length >= 1;\n var _baseSupplied = arguments.length >= 2;\n\n // Allow instantiation without the 'new' keyword\n if (!(this instanceof URI)) {\n if (_urlSupplied) {\n if (_baseSupplied) {\n return new URI(url, base);\n }\n\n return new URI(url);\n }\n\n return new URI();\n }\n\n if (url === undefined) {\n if (_urlSupplied) {\n throw new TypeError('undefined is not a valid argument for URI');\n }\n\n if (typeof location !== 'undefined') {\n url = location.href + '';\n } else {\n url = '';\n }\n }\n\n if (url === null) {\n if (_urlSupplied) {\n throw new TypeError('null is not a valid argument for URI');\n }\n }\n\n this.href(url);\n\n // resolve to base according to http://dvcs.w3.org/hg/url/raw-file/tip/Overview.html#constructor\n if (base !== undefined) {\n return this.absoluteTo(base);\n }\n\n return this;\n }\n\n function isInteger(value) {\n return /^[0-9]+$/.test(value);\n }\n\n URI.version = '1.19.11';\n\n var p = URI.prototype;\n var hasOwn = Object.prototype.hasOwnProperty;\n\n function escapeRegEx(string) {\n // https://github.com/medialize/URI.js/commit/85ac21783c11f8ccab06106dba9735a31a86924d#commitcomment-821963\n return string.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n }\n\n function getType(value) {\n // IE8 doesn't return [Object Undefined] but [Object Object] for undefined value\n if (value === undefined) {\n return 'Undefined';\n }\n\n return String(Object.prototype.toString.call(value)).slice(8, -1);\n }\n\n function isArray(obj) {\n return getType(obj) === 'Array';\n }\n\n function filterArrayValues(data, value) {\n var lookup = {};\n var i, length;\n\n if (getType(value) === 'RegExp') {\n lookup = null;\n } else if (isArray(value)) {\n for (i = 0, length = value.length; i < length; i++) {\n lookup[value[i]] = true;\n }\n } else {\n lookup[value] = true;\n }\n\n for (i = 0, length = data.length; i < length; i++) {\n /*jshint laxbreak: true */\n var _match = lookup && lookup[data[i]] !== undefined\n || !lookup && value.test(data[i]);\n /*jshint laxbreak: false */\n if (_match) {\n data.splice(i, 1);\n length--;\n i--;\n }\n }\n\n return data;\n }\n\n function arrayContains(list, value) {\n var i, length;\n\n // value may be string, number, array, regexp\n if (isArray(value)) {\n // Note: this can be optimized to O(n) (instead of current O(m * n))\n for (i = 0, length = value.length; i < length; i++) {\n if (!arrayContains(list, value[i])) {\n return false;\n }\n }\n\n return true;\n }\n\n var _type = getType(value);\n for (i = 0, length = list.length; i < length; i++) {\n if (_type === 'RegExp') {\n if (typeof list[i] === 'string' && list[i].match(value)) {\n return true;\n }\n } else if (list[i] === value) {\n return true;\n }\n }\n\n return false;\n }\n\n function arraysEqual(one, two) {\n if (!isArray(one) || !isArray(two)) {\n return false;\n }\n\n // arrays can't be equal if they have different amount of content\n if (one.length !== two.length) {\n return false;\n }\n\n one.sort();\n two.sort();\n\n for (var i = 0, l = one.length; i < l; i++) {\n if (one[i] !== two[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n function trimSlashes(text) {\n var trim_expression = /^\\/+|\\/+$/g;\n return text.replace(trim_expression, '');\n }\n\n URI._parts = function() {\n return {\n protocol: null,\n username: null,\n password: null,\n hostname: null,\n urn: null,\n port: null,\n path: null,\n query: null,\n fragment: null,\n // state\n preventInvalidHostname: URI.preventInvalidHostname,\n duplicateQueryParameters: URI.duplicateQueryParameters,\n escapeQuerySpace: URI.escapeQuerySpace\n };\n };\n // state: throw on invalid hostname\n // see https://github.com/medialize/URI.js/pull/345\n // and https://github.com/medialize/URI.js/issues/354\n URI.preventInvalidHostname = false;\n // state: allow duplicate query parameters (a=1&a=1)\n URI.duplicateQueryParameters = false;\n // state: replaces + with %20 (space in query strings)\n URI.escapeQuerySpace = true;\n // static properties\n URI.protocol_expression = /^[a-z][a-z0-9.+-]*$/i;\n URI.idn_expression = /[^a-z0-9\\._-]/i;\n URI.punycode_expression = /(xn--)/i;\n // well, 333.444.555.666 matches, but it sure ain't no IPv4 - do we care?\n URI.ip4_expression = /^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$/;\n // credits to Rich Brown\n // source: http://forums.intermapper.com/viewtopic.php?p=1096#1096\n // specification: http://www.ietf.org/rfc/rfc4291.txt\n URI.ip6_expression = /^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*$/;\n // expression used is \"gruber revised\" (@gruber v2) determined to be the\n // best solution in a regex-golf we did a couple of ages ago at\n // * http://mathiasbynens.be/demo/url-regex\n // * http://rodneyrehm.de/t/url-regex.html\n URI.find_uri_expression = /\\b((?:[a-z][\\w-]+:(?:\\/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}\\/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?«»“”‘’]))/ig;\n URI.findUri = {\n // valid \"scheme://\" or \"www.\"\n start: /\\b(?:([a-z][a-z0-9.+-]*:\\/\\/)|www\\.)/gi,\n // everything up to the next whitespace\n end: /[\\s\\r\\n]|$/,\n // trim trailing punctuation captured by end RegExp\n trim: /[`!()\\[\\]{};:'\".,<>?«»“”„‘’]+$/,\n // balanced parens inclusion (), [], {}, <>\n parens: /(\\([^\\)]*\\)|\\[[^\\]]*\\]|\\{[^}]*\\}|<[^>]*>)/g,\n };\n URI.leading_whitespace_expression = /^[\\x00-\\x20\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff]+/\n // https://infra.spec.whatwg.org/#ascii-tab-or-newline\n URI.ascii_tab_whitespace = /[\\u0009\\u000A\\u000D]+/g\n // http://www.iana.org/assignments/uri-schemes.html\n // http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers#Well-known_ports\n URI.defaultPorts = {\n http: '80',\n https: '443',\n ftp: '21',\n gopher: '70',\n ws: '80',\n wss: '443'\n };\n // list of protocols which always require a hostname\n URI.hostProtocols = [\n 'http',\n 'https'\n ];\n\n // allowed hostname characters according to RFC 3986\n // ALPHA DIGIT \"-\" \".\" \"_\" \"~\" \"!\" \"$\" \"&\" \"'\" \"(\" \")\" \"*\" \"+\" \",\" \";\" \"=\" %encoded\n // I've never seen a (non-IDN) hostname other than: ALPHA DIGIT . - _\n URI.invalid_hostname_characters = /[^a-zA-Z0-9\\.\\-:_]/;\n // map DOM Elements to their URI attribute\n URI.domAttributes = {\n 'a': 'href',\n 'blockquote': 'cite',\n 'link': 'href',\n 'base': 'href',\n 'script': 'src',\n 'form': 'action',\n 'img': 'src',\n 'area': 'href',\n 'iframe': 'src',\n 'embed': 'src',\n 'source': 'src',\n 'track': 'src',\n 'input': 'src', // but only if type=\"image\"\n 'audio': 'src',\n 'video': 'src'\n };\n URI.getDomAttribute = function(node) {\n if (!node || !node.nodeName) {\n return undefined;\n }\n\n var nodeName = node.nodeName.toLowerCase();\n // <input> should only expose src for type=\"image\"\n if (nodeName === 'input' && node.type !== 'image') {\n return undefined;\n }\n\n return URI.domAttributes[nodeName];\n };\n\n function escapeForDumbFirefox36(value) {\n // https://github.com/medialize/URI.js/issues/91\n return escape(value);\n }\n\n // encoding / decoding according to RFC3986\n function strictEncodeURIComponent(string) {\n // see https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURIComponent\n return encodeURIComponent(string)\n .replace(/[!'()*]/g, escapeForDumbFirefox36)\n .replace(/\\*/g, '%2A');\n }\n URI.encode = strictEncodeURIComponent;\n URI.decode = decodeURIComponent;\n URI.iso8859 = function() {\n URI.encode = escape;\n URI.decode = unescape;\n };\n URI.unicode = function() {\n URI.encode = strictEncodeURIComponent;\n URI.decode = decodeURIComponent;\n };\n URI.characters = {\n pathname: {\n encode: {\n // RFC3986 2.1: For consistency, URI producers and normalizers should\n // use uppercase hexadecimal digits for all percent-encodings.\n expression: /%(24|26|2B|2C|3B|3D|3A|40)/ig,\n map: {\n // -._~!'()*\n '%24': '$',\n '%26': '&',\n '%2B': '+',\n '%2C': ',',\n '%3B': ';',\n '%3D': '=',\n '%3A': ':',\n '%40': '@'\n }\n },\n decode: {\n expression: /[\\/\\?#]/g,\n map: {\n '/': '%2F',\n '?': '%3F',\n '#': '%23'\n }\n }\n },\n reserved: {\n encode: {\n // RFC3986 2.1: For consistency, URI producers and normalizers should\n // use uppercase hexadecimal digits for all percent-encodings.\n expression: /%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,\n map: {\n // gen-delims\n '%3A': ':',\n '%2F': '/',\n '%3F': '?',\n '%23': '#',\n '%5B': '[',\n '%5D': ']',\n '%40': '@',\n // sub-delims\n '%21': '!',\n '%24': '$',\n '%26': '&',\n '%27': '\\'',\n '%28': '(',\n '%29': ')',\n '%2A': '*',\n '%2B': '+',\n '%2C': ',',\n '%3B': ';',\n '%3D': '='\n }\n }\n },\n urnpath: {\n // The characters under `encode` are the characters called out by RFC 2141 as being acceptable\n // for usage in a URN. RFC2141 also calls out \"-\", \".\", and \"_\" as acceptable characters, but\n // these aren't encoded by encodeURIComponent, so we don't have to call them out here. Also\n // note that the colon character is not featured in the encoding map; this is because URI.js\n // gives the colons in URNs semantic meaning as the delimiters of path segements, and so it\n // should not appear unencoded in a segment itself.\n // See also the note above about RFC3986 and capitalalized hex digits.\n encode: {\n expression: /%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,\n map: {\n '%21': '!',\n '%24': '$',\n '%27': '\\'',\n '%28': '(',\n '%29': ')',\n '%2A': '*',\n '%2B': '+',\n '%2C': ',',\n '%3B': ';',\n '%3D': '=',\n '%40': '@'\n }\n },\n // These characters are the characters called out by RFC2141 as \"reserved\" characters that\n // should never appear in a URN, plus the colon character (see note above).\n decode: {\n expression: /[\\/\\?#:]/g,\n map: {\n '/': '%2F',\n '?': '%3F',\n '#': '%23',\n ':': '%3A'\n }\n }\n }\n };\n URI.encodeQuery = function(string, escapeQuerySpace) {\n var escaped = URI.encode(string + '');\n if (escapeQuerySpace === undefined) {\n escapeQuerySpace = URI.escapeQuerySpace;\n }\n\n return escapeQuerySpace ? escaped.replace(/%20/g, '+') : escaped;\n };\n URI.decodeQuery = function(string, escapeQuerySpace) {\n string += '';\n if (escapeQuerySpace === undefined) {\n escapeQuerySpace = URI.escapeQuerySpace;\n }\n\n try {\n return URI.decode(escapeQuerySpace ? string.replace(/\\+/g, '%20') : string);\n } catch(e) {\n // we're not going to mess with weird encodings,\n // give up and return the undecoded original string\n // see https://github.com/medialize/URI.js/issues/87\n // see https://github.com/medialize/URI.js/issues/92\n return string;\n }\n };\n // generate encode/decode path functions\n var _parts = {'encode':'encode', 'decode':'decode'};\n var _part;\n var generateAccessor = function(_group, _part) {\n return function(string) {\n try {\n return URI[_part](string + '').replace(URI.characters[_group][_part].expression, function(c) {\n return URI.characters[_group][_part].map[c];\n });\n } catch (e) {\n // we're not going to mess with weird encodings,\n // give up and return the undecoded original string\n // see https://github.com/medialize/URI.js/issues/87\n // see https://github.com/medialize/URI.js/issues/92\n return string;\n }\n };\n };\n\n for (_part in _parts) {\n URI[_part + 'PathSegment'] = generateAccessor('pathname', _parts[_part]);\n URI[_part + 'UrnPathSegment'] = generateAccessor('urnpath', _parts[_part]);\n }\n\n var generateSegmentedPathFunction = function(_sep, _codingFuncName, _innerCodingFuncName) {\n return function(string) {\n // Why pass in names of functions, rather than the function objects themselves? The\n // definitions of some functions (but in particular, URI.decode) will occasionally change due\n // to URI.js having ISO8859 and Unicode modes. Passing in the name and getting it will ensure\n // that the functions we use here are \"fresh\".\n var actualCodingFunc;\n if (!_innerCodingFuncName) {\n actualCodingFunc = URI[_codingFuncName];\n } else {\n actualCodingFunc = function(string) {\n return URI[_codingFuncName](URI[_innerCodingFuncName](string));\n };\n }\n\n var segments = (string + '').split(_sep);\n\n for (var i = 0, length = segments.length; i < length; i++) {\n segments[i] = actualCodingFunc(segments[i]);\n }\n\n return segments.join(_sep);\n };\n };\n\n // This takes place outside the above loop because we don't want, e.g., encodeUrnPath functions.\n URI.decodePath = generateSegmentedPathFunction('/', 'decodePathSegment');\n URI.decodeUrnPath = generateSegmentedPathFunction(':', 'decodeUrnPathSegment');\n URI.recodePath = generateSegmentedPathFunction('/', 'encodePathSegment', 'decode');\n URI.recodeUrnPath = generateSegmentedPathFunction(':', 'encodeUrnPathSegment', 'decode');\n\n URI.encodeReserved = generateAccessor('reserved', 'encode');\n\n URI.parse = function(string, parts) {\n var pos;\n if (!parts) {\n parts = {\n preventInvalidHostname: URI.preventInvalidHostname\n };\n }\n\n string = string.replace(URI.leading_whitespace_expression, '')\n // https://infra.spec.whatwg.org/#ascii-tab-or-newline\n string = string.replace(URI.ascii_tab_whitespace, '')\n\n // [protocol\"://\"[username[\":\"password]\"@\"]hostname[\":\"port]\"/\"?][path][\"?\"querystring][\"#\"fragment]\n\n // extract fragment\n pos = string.indexOf('#');\n if (pos > -1) {\n // escaping?\n parts.fragment = string.substring(pos + 1) || null;\n string = string.substring(0, pos);\n }\n\n // extract query\n pos = string.indexOf('?');\n if (pos > -1) {\n // escaping?\n parts.query = string.substring(pos + 1) || null;\n string = string.substring(0, pos);\n }\n\n // slashes and backslashes have lost all meaning for the web protocols (https, http, wss, ws)\n string = string.replace(/^(https?|ftp|wss?)?:+[/\\\\]*/i, '$1://');\n // slashes and backslashes have lost all meaning for scheme relative URLs\n string = string.replace(/^[/\\\\]{2,}/i, '//');\n\n // extract protocol\n if (string.substring(0, 2) === '//') {\n // relative-scheme\n parts.protocol = null;\n string = string.substring(2);\n // extract \"user:pass@host:port\"\n string = URI.parseAuthority(string, parts);\n } else {\n pos = string.indexOf(':');\n if (pos > -1) {\n parts.protocol = string.substring(0, pos) || null;\n if (parts.protocol && !parts.protocol.match(URI.protocol_expression)) {\n // : may be within the path\n parts.protocol = undefined;\n } else if (string.substring(pos + 1, pos + 3).replace(/\\\\/g, '/') === '//') {\n string = string.substring(pos + 3);\n\n // extract \"user:pass@host:port\"\n string = URI.parseAuthority(string, parts);\n } else {\n string = string.substring(pos + 1);\n parts.urn = true;\n }\n }\n }\n\n // what's left must be the path\n parts.path = string;\n\n // and we're done\n return parts;\n };\n URI.parseHost = function(string, parts) {\n if (!string) {\n string = '';\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://github.com/joyent/node/blob/386fd24f49b0e9d1a8a076592a404168faeecc34/lib/url.js#L115-L124\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n // https://github.com/medialize/URI.js/pull/233\n string = string.replace(/\\\\/g, '/');\n\n // extract host:port\n var pos = string.indexOf('/');\n var bracketPos;\n var t;\n\n if (pos === -1) {\n pos = string.length;\n }\n\n if (string.charAt(0) === '[') {\n // IPv6 host - http://tools.ietf.org/html/draft-ietf-6man-text-addr-representation-04#section-6\n // I claim most client software breaks on IPv6 anyways. To simplify things, URI only accepts\n // IPv6+port in the format [2001:db8::1]:80 (for the time being)\n bracketPos = string.indexOf(']');\n parts.hostname = string.substring(1, bracketPos) || null;\n parts.port = string.substring(bracketPos + 2, pos) || null;\n if (parts.port === '/') {\n parts.port = null;\n }\n } else {\n var firstColon = string.indexOf(':');\n var firstSlash = string.indexOf('/');\n var nextColon = string.indexOf(':', firstColon + 1);\n if (nextColon !== -1 && (firstSlash === -1 || nextColon < firstSlash)) {\n // IPv6 host contains multiple colons - but no port\n // this notation is actually not allowed by RFC 3986, but we're a liberal parser\n parts.hostname = string.substring(0, pos) || null;\n parts.port = null;\n } else {\n t = string.substring(0, pos).split(':');\n parts.hostname = t[0] || null;\n parts.port = t[1] || null;\n }\n }\n\n if (parts.hostname && string.substring(pos).charAt(0) !== '/') {\n pos++;\n string = '/' + string;\n }\n\n if (parts.preventInvalidHostname) {\n URI.ensureValidHostname(parts.hostname, parts.protocol);\n }\n\n if (parts.port) {\n URI.ensureValidPort(parts.port);\n }\n\n return string.substring(pos) || '/';\n };\n URI.parseAuthority = function(string, parts) {\n string = URI.parseUserinfo(string, parts);\n return URI.parseHost(string, parts);\n };\n URI.parseUserinfo = function(string, parts) {\n // extract username:password\n var _string = string\n var firstBackSlash = string.indexOf('\\\\');\n if (firstBackSlash !== -1) {\n string = string.replace(/\\\\/g, '/')\n }\n var firstSlash = string.indexOf('/');\n var pos = string.lastIndexOf('@', firstSlash > -1 ? firstSlash : string.length - 1);\n var t;\n\n // authority@ must come before /path or \\path\n if (pos > -1 && (firstSlash === -1 || pos < firstSlash)) {\n t = string.substring(0, pos).split(':');\n parts.username = t[0] ? URI.decode(t[0]) : null;\n t.shift();\n parts.password = t[0] ? URI.decode(t.join(':')) : null;\n string = _string.substring(pos + 1);\n } else {\n parts.username = null;\n parts.password = null;\n }\n\n return string;\n };\n URI.parseQuery = function(string, escapeQuerySpace) {\n if (!string) {\n return {};\n }\n\n // throw out the funky business - \"?\"[name\"=\"value\"&\"]+\n string = string.replace(/&+/g, '&').replace(/^\\?*&*|&+$/g, '');\n\n if (!string) {\n return {};\n }\n\n var items = {};\n var splits = string.split('&');\n var length = splits.length;\n var v, name, value;\n\n for (var i = 0; i < length; i++) {\n v = splits[i].split('=');\n name = URI.decodeQuery(v.shift(), escapeQuerySpace);\n // no \"=\" is null according to http://dvcs.w3.org/hg/url/raw-file/tip/Overview.html#collect-url-parameters\n value = v.length ? URI.decodeQuery(v.join('='), escapeQuerySpace) : null;\n\n if (name === '__proto__') {\n // ignore attempt at exploiting JavaScript internals\n continue;\n } else if (hasOwn.call(items, name)) {\n if (typeof items[name] === 'string' || items[name] === null) {\n items[name] = [items[name]];\n }\n\n items[name].push(value);\n } else {\n items[name] = value;\n }\n }\n\n return items;\n };\n\n URI.build = function(parts) {\n var t = '';\n var requireAbsolutePath = false\n\n if (parts.protocol) {\n t += parts.protocol + ':';\n }\n\n if (!parts.urn && (t || parts.hostname)) {\n t += '//';\n requireAbsolutePath = true\n }\n\n t += (URI.buildAuthority(parts) || '');\n\n if (typeof parts.path === 'string') {\n if (parts.path.charAt(0) !== '/' && requireAbsolutePath) {\n t += '/';\n }\n\n t += parts.path;\n }\n\n if (typeof parts.query === 'string' && parts.query) {\n t += '?' + parts.query;\n }\n\n if (typeof parts.fragment === 'string' && parts.fragment) {\n t += '#' + parts.fragment;\n }\n return t;\n };\n URI.buildHost = function(parts) {\n var t = '';\n\n if (!parts.hostname) {\n return '';\n } else if (URI.ip6_expression.test(parts.hostname)) {\n t += '[' + parts.hostname + ']';\n } else {\n t += parts.hostname;\n }\n\n if (parts.port) {\n t += ':' + parts.port;\n }\n\n return t;\n };\n URI.buildAuthority = function(parts) {\n return URI.buildUserinfo(parts) + URI.buildHost(parts);\n };\n URI.buildUserinfo = function(parts) {\n var t = '';\n\n if (parts.username) {\n t += URI.encode(parts.username);\n }\n\n if (parts.password) {\n t += ':' + URI.encode(parts.password);\n }\n\n if (t) {\n t += '@';\n }\n\n return t;\n };\n URI.buildQuery = function(data, duplicateQueryParameters, escapeQuerySpace) {\n // according to http://tools.ietf.org/html/rfc3986 or http://labs.apache.org/webarch/uri/rfc/rfc3986.html\n // being »-._~!$&'()*+,;=:@/?« %HEX and alnum are allowed\n // the RFC explicitly states ?/foo being a valid use case, no mention of parameter syntax!\n // URI.js treats the query string as being application/x-www-form-urlencoded\n // see http://www.w3.org/TR/REC-html40/interact/forms.html#form-content-type\n\n var t = '';\n var unique, key, i, length;\n for (key in data) {\n if (key === '__proto__') {\n // ignore attempt at exploiting JavaScript internals\n continue;\n } else if (hasOwn.call(data, key)) {\n if (isArray(data[key])) {\n unique = {};\n for (i = 0, length = data[key].length; i < length; i++) {\n if (data[key][i] !== undefined && unique[data[key][i] + ''] === undefined) {\n t += '&' + URI.buildQueryParameter(key, data[key][i], escapeQuerySpace);\n if (duplicateQueryParameters !== true) {\n unique[data[key][i] + ''] = true;\n }\n }\n }\n } else if (data[key] !== undefined) {\n t += '&' + URI.buildQueryParameter(key, data[key], escapeQuerySpace);\n }\n }\n }\n\n return t.substring(1);\n };\n URI.buildQueryParameter = function(name, value, escapeQuerySpace) {\n // http://www.w3.org/TR/REC-html40/interact/forms.html#form-content-type -- application/x-www-form-urlencoded\n // don't append \"=\" for null values, according to http://dvcs.w3.org/hg/url/raw-file/tip/Overview.html#url-parameter-serialization\n return URI.encodeQuery(name, escapeQuerySpace) + (value !== null ? '=' + URI.encodeQuery(value, escapeQuerySpace) : '');\n };\n\n URI.addQuery = function(data, name, value) {\n if (typeof name === 'object') {\n for (var key in name) {\n if (hasOwn.call(name, key)) {\n URI.addQuery(data, key, name[key]);\n }\n }\n } else if (typeof name === 'string') {\n if (data[name] === undefined) {\n data[name] = value;\n return;\n } else if (typeof data[name] === 'string') {\n data[name] = [data[name]];\n }\n\n if (!isArray(value)) {\n value = [value];\n }\n\n data[name] = (data[name] || []).concat(value);\n } else {\n throw new TypeError('URI.addQuery() accepts an object, string as the name parameter');\n }\n };\n\n URI.setQuery = function(data, name, value) {\n if (typeof name === 'object') {\n for (var key in name) {\n if (hasOwn.call(name, key)) {\n URI.setQuery(data, key, name[key]);\n }\n }\n } else if (typeof name === 'string') {\n data[name] = value === undefined ? null : value;\n } else {\n throw new TypeError('URI.setQuery() accepts an object, string as the name parameter');\n }\n };\n\n URI.removeQuery = function(data, name, value) {\n var i, length, key;\n\n if (isArray(name)) {\n for (i = 0, length = name.length; i < length; i++) {\n data[name[i]] = undefined;\n }\n } else if (getType(name) === 'RegExp') {\n for (key in data) {\n if (name.test(key)) {\n data[key] = undefined;\n }\n }\n } else if (typeof name === 'object') {\n for (key in name) {\n if (hasOwn.call(name, key)) {\n URI.removeQuery(data, key, name[key]);\n }\n }\n } else if (typeof name === 'string') {\n if (value !== undefined) {\n if (getType(value) === 'RegExp') {\n if (!isArray(data[name]) && value.test(data[name])) {\n data[name] = undefined;\n } else {\n data[name] = filterArrayValues(data[name], value);\n }\n } else if (data[name] === String(value) && (!isArray(value) || value.length === 1)) {\n data[name] = undefined;\n } else if (isArray(data[name])) {\n data[name] = filterArrayValues(data[name], value);\n }\n } else {\n data[name] = undefined;\n }\n } else {\n throw new TypeError('URI.removeQuery() accepts an object, string, RegExp as the first parameter');\n }\n };\n URI.hasQuery = function(data, name, value, withinArray) {\n switch (getType(name)) {\n case 'String':\n // Nothing to do here\n break;\n\n case 'RegExp':\n for (var key in data) {\n if (hasOwn.call(data, key)) {\n if (name.test(key) && (value === undefined || URI.hasQuery(data, key, value))) {\n return true;\n }\n }\n }\n\n return false;\n\n case 'Object':\n for (var _key in name) {\n if (hasOwn.call(name, _key)) {\n if (!URI.hasQuery(data, _key, name[_key])) {\n return false;\n }\n }\n }\n\n return true;\n\n default:\n throw new TypeError('URI.hasQuery() accepts a string, regular expression or object as the name parameter');\n }\n\n switch (getType(value)) {\n case 'Undefined':\n // true if exists (but may be empty)\n return name in data; // data[name] !== undefined;\n\n case 'Boolean':\n // true if exists and non-empty\n var _booly = Boolean(isArray(data[name]) ? data[name].length : data[name]);\n return value === _booly;\n\n case 'Function':\n // allow complex comparison\n return !!value(data[name], name, data);\n\n case 'Array':\n if (!isArray(data[name])) {\n return false;\n }\n\n var op = withinArray ? arrayContains : arraysEqual;\n return op(data[name], value);\n\n case 'RegExp':\n if (!isArray(data[name])) {\n return Boolean(data[name] && data[name].match(value));\n }\n\n if (!withinArray) {\n return false;\n }\n\n return arrayContains(data[name], value);\n\n case 'Number':\n value = String(value);\n /* falls through */\n case 'String':\n if (!isArray(data[name])) {\n return data[name] === value;\n }\n\n if (!withinArray) {\n return false;\n }\n\n return arrayContains(data[name], value);\n\n default:\n throw new TypeError('URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter');\n }\n };\n\n\n URI.joinPaths = function() {\n var input = [];\n var segments = [];\n var nonEmptySegments = 0;\n\n for (var i = 0; i < arguments.length; i++) {\n var url = new URI(arguments[i]);\n input.push(url);\n var _segments = url.segment();\n for (var s = 0; s < _segments.length; s++) {\n if (typeof _segments[s] === 'string') {\n segments.push(_segments[s]);\n }\n\n if (_segments[s]) {\n nonEmptySegments++;\n }\n }\n }\n\n if (!segments.length || !nonEmptySegments) {\n return new URI('');\n }\n\n var uri = new URI('').segment(segments);\n\n if (input[0].path() === '' || input[0].path().slice(0, 1) === '/') {\n uri.path('/' + uri.path());\n }\n\n return uri.normalize();\n };\n\n URI.commonPath = function(one, two) {\n var length = Math.min(one.length, two.length);\n var pos;\n\n // find first non-matching character\n for (pos = 0; pos < length; pos++) {\n if (one.charAt(pos) !== two.charAt(pos)) {\n pos--;\n break;\n }\n }\n\n if (pos < 1) {\n return one.charAt(0) === two.charAt(0) && one.charAt(0) === '/' ? '/' : '';\n }\n\n // revert to last /\n if (one.charAt(pos) !== '/' || two.charAt(pos) !== '/') {\n pos = one.substring(0, pos).lastIndexOf('/');\n }\n\n return one.substring(0, pos + 1);\n };\n\n URI.withinString = function(string, callback, options) {\n options || (options = {});\n var _start = options.start || URI.findUri.start;\n var _end = options.end || URI.findUri.end;\n var _trim = options.trim || URI.findUri.trim;\n var _parens = options.parens || URI.findUri.parens;\n var _attributeOpen = /[a-z0-9-]=[\"']?$/i;\n\n _start.lastIndex = 0;\n while (true) {\n var match = _start.exec(string);\n if (!match) {\n break;\n }\n\n var start = match.index;\n if (options.ignoreHtml) {\n // attribut(e=[\"']?$)\n var attributeOpen = string.slice(Math.max(start - 3, 0), start);\n if (attributeOpen && _attributeOpen.test(attributeOpen)) {\n continue;\n }\n }\n\n var end = start + string.slice(start).search(_end);\n var slice = string.slice(start, end);\n // make sure we include well balanced parens\n var parensEnd = -1;\n while (true) {\n var parensMatch = _parens.exec(slice);\n if (!parensMatch) {\n break;\n }\n\n var parensMatchEnd = parensMatch.index + parensMatch[0].length;\n parensEnd = Math.max(parensEnd, parensMatchEnd);\n }\n\n if (parensEnd > -1) {\n slice = slice.slice(0, parensEnd) + slice.slice(parensEnd).replace(_trim, '');\n } else {\n slice = slice.replace(_trim, '');\n }\n\n if (slice.length <= match[0].length) {\n // the extract only contains the starting marker of a URI,\n // e.g. \"www\" or \"http://\"\n continue;\n }\n\n if (options.ignore && options.ignore.test(slice)) {\n continue;\n }\n\n end = start + slice.length;\n var result = callback(slice, start, end, string);\n if (result === undefined) {\n _start.lastIndex = end;\n continue;\n }\n\n result = String(result);\n string = string.slice(0, start) + result + string.slice(end);\n _start.lastIndex = start + result.length;\n }\n\n _start.lastIndex = 0;\n return string;\n };\n\n URI.ensureValidHostname = function(v, protocol) {\n // Theoretically URIs allow percent-encoding in Hostnames (according to RFC 3986)\n // they are not part of DNS and therefore ignored by URI.js\n\n var hasHostname = !!v; // not null and not an empty string\n var hasProtocol = !!protocol;\n var rejectEmptyHostname = false;\n\n if (hasProtocol) {\n rejectEmptyHostname = arrayContains(URI.hostProtocols, protocol);\n }\n\n if (rejectEmptyHostname && !hasHostname) {\n throw new TypeError('Hostname cannot be empty, if protocol is ' + protocol);\n } else if (v && v.match(URI.invalid_hostname_characters)) {\n // test punycode\n if (!punycode) {\n throw new TypeError('Hostname \"' + v + '\" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');\n }\n if (punycode.toASCII(v).match(URI.invalid_hostname_characters)) {\n throw new TypeError('Hostname \"' + v + '\" contains characters other than [A-Z0-9.-:_]');\n }\n }\n };\n\n URI.ensureValidPort = function (v) {\n if (!v) {\n return;\n }\n\n var port = Number(v);\n if (isInteger(port) && (port > 0) && (port < 65536)) {\n return;\n }\n\n throw new TypeError('Port \"' + v + '\" is not a valid port');\n };\n\n // noConflict\n URI.noConflict = function(removeAll) {\n if (removeAll) {\n var unconflicted = {\n URI: this.noConflict()\n };\n\n if (root.URITemplate && typeof root.URITemplate.noConflict === 'function') {\n unconflicted.URITemplate = root.URITemplate.noConflict();\n }\n\n if (root.IPv6 && typeof root.IPv6.noConflict === 'function') {\n unconflicted.IPv6 = root.IPv6.noConflict();\n }\n\n if (root.SecondLevelDomains && typeof root.SecondLevelDomains.noConflict === 'function') {\n unconflicted.SecondLevelDomains = root.SecondLevelDomains.noConflict();\n }\n\n return unconflicted;\n } else if (root.URI === this) {\n root.URI = _URI;\n }\n\n return this;\n };\n\n p.build = function(deferBuild) {\n if (deferBuild === true) {\n this._deferred_build = true;\n } else if (deferBuild === undefined || this._deferred_build) {\n this._string = URI.build(this._parts);\n this._deferred_build = false;\n }\n\n return this;\n };\n\n p.clone = function() {\n return new URI(this);\n };\n\n p.valueOf = p.toString = function() {\n return this.build(false)._string;\n };\n\n\n function generateSimpleAccessor(_part){\n return function(v, build) {\n if (v === undefined) {\n return this._parts[_part] || '';\n } else {\n this._parts[_part] = v || null;\n this.build(!build);\n return this;\n }\n };\n }\n\n function generatePrefixAccessor(_part, _key){\n return function(v, build) {\n if (v === undefined) {\n return this._parts[_part] || '';\n } else {\n if (v !== null) {\n v = v + '';\n if (v.charAt(0) === _key) {\n v = v.substring(1);\n }\n }\n\n this._parts[_part] = v;\n this.build(!build);\n return this;\n }\n };\n }\n\n p.protocol = generateSimpleAccessor('protocol');\n p.username = generateSimpleAccessor('username');\n p.password = generateSimpleAccessor('password');\n p.hostname = generateSimpleAccessor('hostname');\n p.port = generateSimpleAccessor('port');\n p.query = generatePrefixAccessor('query', '?');\n p.fragment = generatePrefixAccessor('fragment', '#');\n\n p.search = function(v, build) {\n var t = this.query(v, build);\n return typeof t === 'string' && t.length ? ('?' + t) : t;\n };\n p.hash = function(v, build) {\n var t = this.fragment(v, build);\n return typeof t === 'string' && t.length ? ('#' + t) : t;\n };\n\n p.pathname = function(v, build) {\n if (v === undefined || v === true) {\n var res = this._parts.path || (this._parts.hostname ? '/' : '');\n return v ? (this._parts.urn ? URI.decodeUrnPath : URI.decodePath)(res) : res;\n } else {\n if (this._parts.urn) {\n this._parts.path = v ? URI.recodeUrnPath(v) : '';\n } else {\n this._parts.path = v ? URI.recodePath(v) : '/';\n }\n this.build(!build);\n return this;\n }\n };\n p.path = p.pathname;\n p.href = function(href, build) {\n var key;\n\n if (href === undefined) {\n return this.toString();\n }\n\n this._string = '';\n this._parts = URI._parts();\n\n var _URI = href instanceof URI;\n var _object = typeof href === 'object' && (href.hostname || href.path || href.pathname);\n if (href.nodeName) {\n var attribute = URI.getDomAttribute(href);\n href = href[attribute] || '';\n _object = false;\n }\n\n // window.location is reported to be an object, but it's not the sort\n // of object we're looking for:\n // * location.protocol ends with a colon\n // * location.query != object.search\n // * location.hash != object.fragment\n // simply serializing the unknown object should do the trick\n // (for location, not for everything...)\n if (!_URI && _object && href.pathname !== undefined) {\n href = href.toString();\n }\n\n if (typeof href === 'string' || href instanceof String) {\n this._parts = URI.parse(String(href), this._parts);\n } else if (_URI || _object) {\n var src = _URI ? href._parts : href;\n for (key in src) {\n if (key === 'query') { continue; }\n if (hasOwn.call(this._parts, key)) {\n this._parts[key] = src[key];\n }\n }\n if (src.query) {\n this.query(src.query, false);\n }\n } else {\n throw new TypeError('invalid input');\n }\n\n this.build(!build);\n return this;\n };\n\n // identification accessors\n p.is = function(what) {\n var ip = false;\n var ip4 = false;\n var ip6 = false;\n var name = false;\n var sld = false;\n var idn = false;\n var punycode = false;\n var relative = !this._parts.urn;\n\n if (this._parts.hostname) {\n relative = false;\n ip4 = URI.ip4_expression.test(this._parts.hostname);\n ip6 = URI.ip6_expression.test(this._parts.hostname);\n ip = ip4 || ip6;\n name = !ip;\n sld = name && SLD && SLD.has(this._parts.hostname);\n idn = name && URI.idn_expression.test(this._parts.hostname);\n punycode = name && URI.punycode_expression.test(this._parts.hostname);\n }\n\n switch (what.toLowerCase()) {\n case 'relative':\n return relative;\n\n case 'absolute':\n return !relative;\n\n // hostname identification\n case 'domain':\n case 'name':\n return name;\n\n case 'sld':\n return sld;\n\n case 'ip':\n return ip;\n\n case 'ip4':\n case 'ipv4':\n case 'inet4':\n return ip4;\n\n case 'ip6':\n case 'ipv6':\n case 'inet6':\n return ip6;\n\n case 'idn':\n return idn;\n\n case 'url':\n return !this._parts.urn;\n\n case 'urn':\n return !!this._parts.urn;\n\n case 'punycode':\n return punycode;\n }\n\n return null;\n };\n\n // component specific input validation\n var _protocol = p.protocol;\n var _port = p.port;\n var _hostname = p.hostname;\n\n p.protocol = function(v, build) {\n if (v) {\n // accept trailing ://\n v = v.replace(/:(\\/\\/)?$/, '');\n\n if (!v.match(URI.protocol_expression)) {\n throw new TypeError('Protocol \"' + v + '\" contains characters other than [A-Z0-9.+-] or doesn\\'t start with [A-Z]');\n }\n }\n\n return _protocol.call(this, v, build);\n };\n p.scheme = p.protocol;\n p.port = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v !== undefined) {\n if (v === 0) {\n v = null;\n }\n\n if (v) {\n v += '';\n if (v.charAt(0) === ':') {\n v = v.substring(1);\n }\n\n URI.ensureValidPort(v);\n }\n }\n return _port.call(this, v, build);\n };\n p.hostname = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v !== undefined) {\n var x = { preventInvalidHostname: this._parts.preventInvalidHostname };\n var res = URI.parseHost(v, x);\n if (res !== '/') {\n throw new TypeError('Hostname \"' + v + '\" contains characters other than [A-Z0-9.-]');\n }\n\n v = x.hostname;\n if (this._parts.preventInvalidHostname) {\n URI.ensureValidHostname(v, this._parts.protocol);\n }\n }\n\n return _hostname.call(this, v, build);\n };\n\n // compound accessors\n p.origin = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v === undefined) {\n var protocol = this.protocol();\n var authority = this.authority();\n if (!authority) {\n return '';\n }\n\n return (protocol ? protocol + '://' : '') + this.authority();\n } else {\n var origin = URI(v);\n this\n .protocol(origin.protocol())\n .authority(origin.authority())\n .build(!build);\n return this;\n }\n };\n p.host = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v === undefined) {\n return this._parts.hostname ? URI.buildHost(this._parts) : '';\n } else {\n var res = URI.parseHost(v, this._parts);\n if (res !== '/') {\n throw new TypeError('Hostname \"' + v + '\" contains characters other than [A-Z0-9.-]');\n }\n\n this.build(!build);\n return this;\n }\n };\n p.authority = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v === undefined) {\n return this._parts.hostname ? URI.buildAuthority(this._parts) : '';\n } else {\n var res = URI.parseAuthority(v, this._parts);\n if (res !== '/') {\n throw new TypeError('Hostname \"' + v + '\" contains characters other than [A-Z0-9.-]');\n }\n\n this.build(!build);\n return this;\n }\n };\n p.userinfo = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v === undefined) {\n var t = URI.buildUserinfo(this._parts);\n return t ? t.substring(0, t.length -1) : t;\n } else {\n if (v[v.length-1] !== '@') {\n v += '@';\n }\n\n URI.parseUserinfo(v, this._parts);\n this.build(!build);\n return this;\n }\n };\n p.resource = function(v, build) {\n var parts;\n\n if (v === undefined) {\n return this.path() + this.search() + this.hash();\n }\n\n parts = URI.parse(v);\n this._parts.path = parts.path;\n this._parts.query = parts.query;\n this._parts.fragment = parts.fragment;\n this.build(!build);\n return this;\n };\n\n // fraction accessors\n p.subdomain = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n // convenience, return \"www\" from \"www.example.org\"\n if (v === undefined) {\n if (!this._parts.hostname || this.is('IP')) {\n return '';\n }\n\n // grab domain and add another segment\n var end = this._parts.hostname.length - this.domain().length - 1;\n return this._parts.hostname.substring(0, end) || '';\n } else {\n var e = this._parts.hostname.length - this.domain().length;\n var sub = this._parts.hostname.substring(0, e);\n var replace = new RegExp('^' + escapeRegEx(sub));\n\n if (v && v.charAt(v.length - 1) !== '.') {\n v += '.';\n }\n\n if (v.indexOf(':') !== -1) {\n throw new TypeError('Domains cannot contain colons');\n }\n\n if (v) {\n URI.ensureValidHostname(v, this._parts.protocol);\n }\n\n this._parts.hostname = this._parts.hostname.replace(replace, v);\n this.build(!build);\n return this;\n }\n };\n p.domain = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (typeof v === 'boolean') {\n build = v;\n v = undefined;\n }\n\n // convenience, return \"example.org\" from \"www.example.org\"\n if (v === undefined) {\n if (!this._parts.hostname || this.is('IP')) {\n return '';\n }\n\n // if hostname consists of 1 or 2 segments, it must be the domain\n var t = this._parts.hostname.match(/\\./g);\n if (t && t.length < 2) {\n return this._parts.hostname;\n }\n\n // grab tld and add another segment\n var end = this._parts.hostname.length - this.tld(build).length - 1;\n end = this._parts.hostname.lastIndexOf('.', end -1) + 1;\n return this._parts.hostname.substring(end) || '';\n } else {\n if (!v) {\n throw new TypeError('cannot set domain empty');\n }\n\n if (v.indexOf(':') !== -1) {\n throw new TypeError('Domains cannot contain colons');\n }\n\n URI.ensureValidHostname(v, this._parts.protocol);\n\n if (!this._parts.hostname || this.is('IP')) {\n this._parts.hostname = v;\n } else {\n var replace = new RegExp(escapeRegEx(this.domain()) + '$');\n this._parts.hostname = this._parts.hostname.replace(replace, v);\n }\n\n this.build(!build);\n return this;\n }\n };\n p.tld = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (typeof v === 'boolean') {\n build = v;\n v = undefined;\n }\n\n // return \"org\" from \"www.example.org\"\n if (v === undefined) {\n if (!this._parts.hostname || this.is('IP')) {\n return '';\n }\n\n var pos = this._parts.hostname.lastIndexOf('.');\n var tld = this._parts.hostname.substring(pos + 1);\n\n if (build !== true && SLD && SLD.list[tld.toLowerCase()]) {\n return SLD.get(this._parts.hostname) || tld;\n }\n\n return tld;\n } else {\n var replace;\n\n if (!v) {\n throw new TypeError('cannot set TLD empty');\n } else if (v.match(/[^a-zA-Z0-9-]/)) {\n if (SLD && SLD.is(v)) {\n replace = new RegExp(escapeRegEx(this.tld()) + '$');\n this._parts.hostname = this._parts.hostname.replace(replace, v);\n } else {\n throw new TypeError('TLD \"' + v + '\" contains characters other than [A-Z0-9]');\n }\n } else if (!this._parts.hostname || this.is('IP')) {\n throw new ReferenceError('cannot set TLD on non-domain host');\n } else {\n replace = new RegExp(escapeRegEx(this.tld()) + '$');\n this._parts.hostname = this._parts.hostname.replace(replace, v);\n }\n\n this.build(!build);\n return this;\n }\n };\n p.directory = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v === undefined || v === true) {\n if (!this._parts.path && !this._parts.hostname) {\n return '';\n }\n\n if (this._parts.path === '/') {\n return '/';\n }\n\n var end = this._parts.path.length - this.filename().length - 1;\n var res = this._parts.path.substring(0, end) || (this._parts.hostname ? '/' : '');\n\n return v ? URI.decodePath(res) : res;\n\n } else {\n var e = this._parts.path.length - this.filename().length;\n var directory = this._parts.path.substring(0, e);\n var replace = new RegExp('^' + escapeRegEx(directory));\n\n // fully qualifier directories begin with a slash\n if (!this.is('relative')) {\n if (!v) {\n v = '/';\n }\n\n if (v.charAt(0) !== '/') {\n v = '/' + v;\n }\n }\n\n // directories always end with a slash\n if (v && v.charAt(v.length - 1) !== '/') {\n v += '/';\n }\n\n v = URI.recodePath(v);\n this._parts.path = this._parts.path.replace(replace, v);\n this.build(!build);\n return this;\n }\n };\n p.filename = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (typeof v !== 'string') {\n if (!this._parts.path || this._parts.path === '/') {\n return '';\n }\n\n var pos = this._parts.path.lastIndexOf('/');\n var res = this._parts.path.substring(pos+1);\n\n return v ? URI.decodePathSegment(res) : res;\n } else {\n var mutatedDirectory = false;\n\n if (v.charAt(0) === '/') {\n v = v.substring(1);\n }\n\n if (v.match(/\\.?\\//)) {\n mutatedDirectory = true;\n }\n\n var replace = new RegExp(escapeRegEx(this.filename()) + '$');\n v = URI.recodePath(v);\n this._parts.path = this._parts.path.replace(replace, v);\n\n if (mutatedDirectory) {\n this.normalizePath(build);\n } else {\n this.build(!build);\n }\n\n return this;\n }\n };\n p.suffix = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v === undefined || v === true) {\n if (!this._parts.path || this._parts.path === '/') {\n return '';\n }\n\n var filename = this.filename();\n var pos = filename.lastIndexOf('.');\n var s, res;\n\n if (pos === -1) {\n return '';\n }\n\n // suffix may only contain alnum characters (yup, I made this up.)\n s = filename.substring(pos+1);\n res = (/^[a-z0-9%]+$/i).test(s) ? s : '';\n return v ? URI.decodePathSegment(res) : res;\n } else {\n if (v.charAt(0) === '.') {\n v = v.substring(1);\n }\n\n var suffix = this.suffix();\n var replace;\n\n if (!suffix) {\n if (!v) {\n return this;\n }\n\n this._parts.path += '.' + URI.recodePath(v);\n } else if (!v) {\n replace = new RegExp(escapeRegEx('.' + suffix) + '$');\n } else {\n replace = new RegExp(escapeRegEx(suffix) + '$');\n }\n\n if (replace) {\n v = URI.recodePath(v);\n this._parts.path = this._parts.path.replace(replace, v);\n }\n\n this.build(!build);\n return this;\n }\n };\n p.segment = function(segment, v, build) {\n var separator = this._parts.urn ? ':' : '/';\n var path = this.path();\n var absolute = path.substring(0, 1) === '/';\n var segments = path.split(separator);\n\n if (segment !== undefined && typeof segment !== 'number') {\n build = v;\n v = segment;\n segment = undefined;\n }\n\n if (segment !== undefined && typeof segment !== 'number') {\n throw new Error('Bad segment \"' + segment + '\", must be 0-based integer');\n }\n\n if (absolute) {\n segments.shift();\n }\n\n if (segment < 0) {\n // allow negative indexes to address from the end\n segment = Math.max(segments.length + segment, 0);\n }\n\n if (v === undefined) {\n /*jshint laxbreak: true */\n return segment === undefined\n ? segments\n : segments[segment];\n /*jshint laxbreak: false */\n } else if (segment === null || segments[segment] === undefined) {\n if (isArray(v)) {\n segments = [];\n // collapse empty elements within array\n for (var i=0, l=v.length; i < l; i++) {\n if (!v[i].length && (!segments.length || !segments[segments.length -1].length)) {\n continue;\n }\n\n if (segments.length && !segments[segments.length -1].length) {\n segments.pop();\n }\n\n segments.push(trimSlashes(v[i]));\n }\n } else if (v || typeof v === 'string') {\n v = trimSlashes(v);\n if (segments[segments.length -1] === '') {\n // empty trailing elements have to be overwritten\n // to prevent results such as /foo//bar\n segments[segments.length -1] = v;\n } else {\n segments.push(v);\n }\n }\n } else {\n if (v) {\n segments[segment] = trimSlashes(v);\n } else {\n segments.splice(segment, 1);\n }\n }\n\n if (absolute) {\n segments.unshift('');\n }\n\n return this.path(segments.join(separator), build);\n };\n p.segmentCoded = function(segment, v, build) {\n var segments, i, l;\n\n if (typeof segment !== 'number') {\n build = v;\n v = segment;\n segment = undefined;\n }\n\n if (v === undefined) {\n segments = this.segment(segment, v, build);\n if (!isArray(segments)) {\n segments = segments !== undefined ? URI.decode(segments) : undefined;\n } else {\n for (i = 0, l = segments.length; i < l; i++) {\n segments[i] = URI.decode(segments[i]);\n }\n }\n\n return segments;\n }\n\n if (!isArray(v)) {\n v = (typeof v === 'string' || v instanceof String) ? URI.encode(v) : v;\n } else {\n for (i = 0, l = v.length; i < l; i++) {\n v[i] = URI.encode(v[i]);\n }\n }\n\n return this.segment(segment, v, build);\n };\n\n // mutating query string\n var q = p.query;\n p.query = function(v, build) {\n if (v === true) {\n return URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace);\n } else if (typeof v === 'function') {\n var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace);\n var result = v.call(this, data);\n this._parts.query = URI.buildQuery(result || data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);\n this.build(!build);\n return this;\n } else if (v !== undefined && typeof v !== 'string') {\n this._parts.query = URI.buildQuery(v, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);\n this.build(!build);\n return this;\n } else {\n return q.call(this, v, build);\n }\n };\n p.setQuery = function(name, value, build) {\n var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace);\n\n if (typeof name === 'string' || name instanceof String) {\n data[name] = value !== undefined ? value : null;\n } else if (typeof name === 'object') {\n for (var key in name) {\n if (hasOwn.call(name, key)) {\n data[key] = name[key];\n }\n }\n } else {\n throw new TypeError('URI.addQuery() accepts an object, string as the name parameter');\n }\n\n this._parts.query = URI.buildQuery(data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);\n if (typeof name !== 'string') {\n build = value;\n }\n\n this.build(!build);\n return this;\n };\n p.addQuery = function(name, value, build) {\n var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace);\n URI.addQuery(data, name, value === undefined ? null : value);\n this._parts.query = URI.buildQuery(data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);\n if (typeof name !== 'string') {\n build = value;\n }\n\n this.build(!build);\n return this;\n };\n p.removeQuery = function(name, value, build) {\n var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace);\n URI.removeQuery(data, name, value);\n this._parts.query = URI.buildQuery(data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);\n if (typeof name !== 'string') {\n build = value;\n }\n\n this.build(!build);\n return this;\n };\n p.hasQuery = function(name, value, withinArray) {\n var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace);\n return URI.hasQuery(data, name, value, withinArray);\n };\n p.setSearch = p.setQuery;\n p.addSearch = p.addQuery;\n p.removeSearch = p.removeQuery;\n p.hasSearch = p.hasQuery;\n\n // sanitizing URLs\n p.normalize = function() {\n if (this._parts.urn) {\n return this\n .normalizeProtocol(false)\n .normalizePath(false)\n .normalizeQuery(false)\n .normalizeFragment(false)\n .build();\n }\n\n return this\n .normalizeProtocol(false)\n .normalizeHostname(false)\n .normalizePort(false)\n .normalizePath(false)\n .normalizeQuery(false)\n .normalizeFragment(false)\n .build();\n };\n p.normalizeProtocol = function(build) {\n if (typeof this._parts.protocol === 'string') {\n this._parts.protocol = this._parts.protocol.toLowerCase();\n this.build(!build);\n }\n\n return this;\n };\n p.normalizeHostname = function(build) {\n if (this._parts.hostname) {\n if (this.is('IDN') && punycode) {\n this._parts.hostname = punycode.toASCII(this._parts.hostname);\n } else if (this.is('IPv6') && IPv6) {\n this._parts.hostname = IPv6.best(this._parts.hostname);\n }\n\n this._parts.hostname = this._parts.hostname.toLowerCase();\n this.build(!build);\n }\n\n return this;\n };\n p.normalizePort = function(build) {\n // remove port of it's the protocol's default\n if (typeof this._parts.protocol === 'string' && this._parts.port === URI.defaultPorts[this._parts.protocol]) {\n this._parts.port = null;\n this.build(!build);\n }\n\n return this;\n };\n p.normalizePath = function(build) {\n var _path = this._parts.path;\n if (!_path) {\n return this;\n }\n\n if (this._parts.urn) {\n this._parts.path = URI.recodeUrnPath(this._parts.path);\n this.build(!build);\n return this;\n }\n\n if (this._parts.path === '/') {\n return this;\n }\n\n _path = URI.recodePath(_path);\n\n var _was_relative;\n var _leadingParents = '';\n var _parent, _pos;\n\n // handle relative paths\n if (_path.charAt(0) !== '/') {\n _was_relative = true;\n _path = '/' + _path;\n }\n\n // handle relative files (as opposed to directories)\n if (_path.slice(-3) === '/..' || _path.slice(-2) === '/.') {\n _path += '/';\n }\n\n // resolve simples\n _path = _path\n .replace(/(\\/(\\.\\/)+)|(\\/\\.$)/g, '/')\n .replace(/\\/{2,}/g, '/');\n\n // remember leading parents\n if (_was_relative) {\n _leadingParents = _path.substring(1).match(/^(\\.\\.\\/)+/) || '';\n if (_leadingParents) {\n _leadingParents = _leadingParents[0];\n }\n }\n\n // resolve parents\n while (true) {\n _parent = _path.search(/\\/\\.\\.(\\/|$)/);\n if (_parent === -1) {\n // no more ../ to resolve\n break;\n } else if (_parent === 0) {\n // top level cannot be relative, skip it\n _path = _path.substring(3);\n continue;\n }\n\n _pos = _path.substring(0, _parent).lastIndexOf('/');\n if (_pos === -1) {\n _pos = _parent;\n }\n _path = _path.substring(0, _pos) + _path.substring(_parent + 3);\n }\n\n // revert to relative\n if (_was_relative && this.is('relative')) {\n _path = _leadingParents + _path.substring(1);\n }\n\n this._parts.path = _path;\n this.build(!build);\n return this;\n };\n p.normalizePathname = p.normalizePath;\n p.normalizeQuery = function(build) {\n if (typeof this._parts.query === 'string') {\n if (!this._parts.query.length) {\n this._parts.query = null;\n } else {\n this.query(URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace));\n }\n\n this.build(!build);\n }\n\n return this;\n };\n p.normalizeFragment = function(build) {\n if (!this._parts.fragment) {\n this._parts.fragment = null;\n this.build(!build);\n }\n\n return this;\n };\n p.normalizeSearch = p.normalizeQuery;\n p.normalizeHash = p.normalizeFragment;\n\n p.iso8859 = function() {\n // expect unicode input, iso8859 output\n var e = URI.encode;\n var d = URI.decode;\n\n URI.encode = escape;\n URI.decode = decodeURIComponent;\n try {\n this.normalize();\n } finally {\n URI.encode = e;\n URI.decode = d;\n }\n return this;\n };\n\n p.unicode = function() {\n // expect iso8859 input, unicode output\n var e = URI.encode;\n var d = URI.decode;\n\n URI.encode = strictEncodeURIComponent;\n URI.decode = unescape;\n try {\n this.normalize();\n } finally {\n URI.encode = e;\n URI.decode = d;\n }\n return this;\n };\n\n p.readable = function() {\n var uri = this.clone();\n // removing username, password, because they shouldn't be displayed according to RFC 3986\n uri.username('').password('').normalize();\n var t = '';\n if (uri._parts.protocol) {\n t += uri._parts.protocol + '://';\n }\n\n if (uri._parts.hostname) {\n if (uri.is('punycode') && punycode) {\n t += punycode.toUnicode(uri._parts.hostname);\n if (uri._parts.port) {\n t += ':' + uri._parts.port;\n }\n } else {\n t += uri.host();\n }\n }\n\n if (uri._parts.hostname && uri._parts.path && uri._parts.path.charAt(0) !== '/') {\n t += '/';\n }\n\n t += uri.path(true);\n if (uri._parts.query) {\n var q = '';\n for (var i = 0, qp = uri._parts.query.split('&'), l = qp.length; i < l; i++) {\n var kv = (qp[i] || '').split('=');\n q += '&' + URI.decodeQuery(kv[0], this._parts.escapeQuerySpace)\n .replace(/&/g, '%26');\n\n if (kv[1] !== undefined) {\n q += '=' + URI.decodeQuery(kv[1], this._parts.escapeQuerySpace)\n .replace(/&/g, '%26');\n }\n }\n t += '?' + q.substring(1);\n }\n\n t += URI.decodeQuery(uri.hash(), true);\n return t;\n };\n\n // resolving relative and absolute URLs\n p.absoluteTo = function(base) {\n var resolved = this.clone();\n var properties = ['protocol', 'username', 'password', 'hostname', 'port'];\n var basedir, i, p;\n\n if (this._parts.urn) {\n throw new Error('URNs do not have any generally defined hierarchical components');\n }\n\n if (!(base instanceof URI)) {\n base = new URI(base);\n }\n\n if (resolved._parts.protocol) {\n // Directly returns even if this._parts.hostname is empty.\n return resolved;\n } else {\n resolved._parts.protocol = base._parts.protocol;\n }\n\n if (this._parts.hostname) {\n return resolved;\n }\n\n for (i = 0; (p = properties[i]); i++) {\n resolved._parts[p] = base._parts[p];\n }\n\n if (!resolved._parts.path) {\n resolved._parts.path = base._parts.path;\n if (!resolved._parts.query) {\n resolved._parts.query = base._parts.query;\n }\n } else {\n if (resolved._parts.path.substring(-2) === '..') {\n resolved._parts.path += '/';\n }\n\n if (resolved.path().charAt(0) !== '/') {\n basedir = base.directory();\n basedir = basedir ? basedir : base.path().indexOf('/') === 0 ? '/' : '';\n resolved._parts.path = (basedir ? (basedir + '/') : '') + resolved._parts.path;\n resolved.normalizePath();\n }\n }\n\n resolved.build();\n return resolved;\n };\n p.relativeTo = function(base) {\n var relative = this.clone().normalize();\n var relativeParts, baseParts, common, relativePath, basePath;\n\n if (relative._parts.urn) {\n throw new Error('URNs do not have any generally defined hierarchical components');\n }\n\n base = new URI(base).normalize();\n relativeParts = relative._parts;\n baseParts = base._parts;\n relativePath = relative.path();\n basePath = base.path();\n\n if (relativePath.charAt(0) !== '/') {\n throw new Error('URI is already relative');\n }\n\n if (basePath.charAt(0) !== '/') {\n throw new Error('Cannot calculate a URI relative to another relative URI');\n }\n\n if (relativeParts.protocol === baseParts.protocol) {\n relativeParts.protocol = null;\n }\n\n if (relativeParts.username !== baseParts.username || relativeParts.password !== baseParts.password) {\n return relative.build();\n }\n\n if (relativeParts.protocol !== null || relativeParts.username !== null || relativeParts.password !== null) {\n return relative.build();\n }\n\n if (relativeParts.hostname === baseParts.hostname && relativeParts.port === baseParts.port) {\n relativeParts.hostname = null;\n relativeParts.port = null;\n } else {\n return relative.build();\n }\n\n if (relativePath === basePath) {\n relativeParts.path = '';\n return relative.build();\n }\n\n // determine common sub path\n common = URI.commonPath(relativePath, basePath);\n\n // If the paths have nothing in common, return a relative URL with the absolute path.\n if (!common) {\n return relative.build();\n }\n\n var parents = baseParts.path\n .substring(common.length)\n .replace(/[^\\/]*$/, '')\n .replace(/.*?\\//g, '../');\n\n relativeParts.path = (parents + relativeParts.path.substring(common.length)) || './';\n\n return relative.build();\n };\n\n // comparing URIs\n p.equals = function(uri) {\n var one = this.clone();\n var two = new URI(uri);\n var one_map = {};\n var two_map = {};\n var checked = {};\n var one_query, two_query, key;\n\n one.normalize();\n two.normalize();\n\n // exact match\n if (one.toString() === two.toString()) {\n return true;\n }\n\n // extract query string\n one_query = one.query();\n two_query = two.query();\n one.query('');\n two.query('');\n\n // definitely not equal if not even non-query parts match\n if (one.toString() !== two.toString()) {\n return false;\n }\n\n // query parameters have the same length, even if they're permuted\n if (one_query.length !== two_query.length) {\n return false;\n }\n\n one_map = URI.parseQuery(one_query, this._parts.escapeQuerySpace);\n two_map = URI.parseQuery(two_query, this._parts.escapeQuerySpace);\n\n for (key in one_map) {\n if (hasOwn.call(one_map, key)) {\n if (!isArray(one_map[key])) {\n if (one_map[key] !== two_map[key]) {\n return false;\n }\n } else if (!arraysEqual(one_map[key], two_map[key])) {\n return false;\n }\n\n checked[key] = true;\n }\n }\n\n for (key in two_map) {\n if (hasOwn.call(two_map, key)) {\n if (!checked[key]) {\n // two contains a parameter not present in one\n return false;\n }\n }\n }\n\n return true;\n };\n\n // state\n p.preventInvalidHostname = function(v) {\n this._parts.preventInvalidHostname = !!v;\n return this;\n };\n\n p.duplicateQueryParameters = function(v) {\n this._parts.duplicateQueryParameters = !!v;\n return this;\n };\n\n p.escapeQuerySpace = function(v) {\n this._parts.escapeQuerySpace = !!v;\n return this;\n };\n\n return URI;\n}));\n"],"names":["require$$0","require$$1","this"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"URI.js","sources":["../../../../../../node_modules/urijs/src/URI.js"],"sourcesContent":["/*!\n * URI.js - Mutating URLs\n *\n * Version: 1.19.11\n *\n * Author: Rodney Rehm\n * Web: http://medialize.github.io/URI.js/\n *\n * Licensed under\n * MIT License http://www.opensource.org/licenses/mit-license\n *\n */\n(function (root, factory) {\n 'use strict';\n // https://github.com/umdjs/umd/blob/master/returnExports.js\n if (typeof module === 'object' && module.exports) {\n // Node\n module.exports = factory(require('./punycode'), require('./IPv6'), require('./SecondLevelDomains'));\n } else if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['./punycode', './IPv6', './SecondLevelDomains'], factory);\n } else {\n // Browser globals (root is window)\n root.URI = factory(root.punycode, root.IPv6, root.SecondLevelDomains, root);\n }\n}(this, function (punycode, IPv6, SLD, root) {\n 'use strict';\n /*global location, escape, unescape */\n // FIXME: v2.0.0 renamce non-camelCase properties to uppercase\n /*jshint camelcase: false */\n\n // save current URI variable, if any\n var _URI = root && root.URI;\n\n function URI(url, base) {\n var _urlSupplied = arguments.length >= 1;\n var _baseSupplied = arguments.length >= 2;\n\n // Allow instantiation without the 'new' keyword\n if (!(this instanceof URI)) {\n if (_urlSupplied) {\n if (_baseSupplied) {\n return new URI(url, base);\n }\n\n return new URI(url);\n }\n\n return new URI();\n }\n\n if (url === undefined) {\n if (_urlSupplied) {\n throw new TypeError('undefined is not a valid argument for URI');\n }\n\n if (typeof location !== 'undefined') {\n url = location.href + '';\n } else {\n url = '';\n }\n }\n\n if (url === null) {\n if (_urlSupplied) {\n throw new TypeError('null is not a valid argument for URI');\n }\n }\n\n this.href(url);\n\n // resolve to base according to http://dvcs.w3.org/hg/url/raw-file/tip/Overview.html#constructor\n if (base !== undefined) {\n return this.absoluteTo(base);\n }\n\n return this;\n }\n\n function isInteger(value) {\n return /^[0-9]+$/.test(value);\n }\n\n URI.version = '1.19.11';\n\n var p = URI.prototype;\n var hasOwn = Object.prototype.hasOwnProperty;\n\n function escapeRegEx(string) {\n // https://github.com/medialize/URI.js/commit/85ac21783c11f8ccab06106dba9735a31a86924d#commitcomment-821963\n return string.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n }\n\n function getType(value) {\n // IE8 doesn't return [Object Undefined] but [Object Object] for undefined value\n if (value === undefined) {\n return 'Undefined';\n }\n\n return String(Object.prototype.toString.call(value)).slice(8, -1);\n }\n\n function isArray(obj) {\n return getType(obj) === 'Array';\n }\n\n function filterArrayValues(data, value) {\n var lookup = {};\n var i, length;\n\n if (getType(value) === 'RegExp') {\n lookup = null;\n } else if (isArray(value)) {\n for (i = 0, length = value.length; i < length; i++) {\n lookup[value[i]] = true;\n }\n } else {\n lookup[value] = true;\n }\n\n for (i = 0, length = data.length; i < length; i++) {\n /*jshint laxbreak: true */\n var _match = lookup && lookup[data[i]] !== undefined\n || !lookup && value.test(data[i]);\n /*jshint laxbreak: false */\n if (_match) {\n data.splice(i, 1);\n length--;\n i--;\n }\n }\n\n return data;\n }\n\n function arrayContains(list, value) {\n var i, length;\n\n // value may be string, number, array, regexp\n if (isArray(value)) {\n // Note: this can be optimized to O(n) (instead of current O(m * n))\n for (i = 0, length = value.length; i < length; i++) {\n if (!arrayContains(list, value[i])) {\n return false;\n }\n }\n\n return true;\n }\n\n var _type = getType(value);\n for (i = 0, length = list.length; i < length; i++) {\n if (_type === 'RegExp') {\n if (typeof list[i] === 'string' && list[i].match(value)) {\n return true;\n }\n } else if (list[i] === value) {\n return true;\n }\n }\n\n return false;\n }\n\n function arraysEqual(one, two) {\n if (!isArray(one) || !isArray(two)) {\n return false;\n }\n\n // arrays can't be equal if they have different amount of content\n if (one.length !== two.length) {\n return false;\n }\n\n one.sort();\n two.sort();\n\n for (var i = 0, l = one.length; i < l; i++) {\n if (one[i] !== two[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n function trimSlashes(text) {\n var trim_expression = /^\\/+|\\/+$/g;\n return text.replace(trim_expression, '');\n }\n\n URI._parts = function() {\n return {\n protocol: null,\n username: null,\n password: null,\n hostname: null,\n urn: null,\n port: null,\n path: null,\n query: null,\n fragment: null,\n // state\n preventInvalidHostname: URI.preventInvalidHostname,\n duplicateQueryParameters: URI.duplicateQueryParameters,\n escapeQuerySpace: URI.escapeQuerySpace\n };\n };\n // state: throw on invalid hostname\n // see https://github.com/medialize/URI.js/pull/345\n // and https://github.com/medialize/URI.js/issues/354\n URI.preventInvalidHostname = false;\n // state: allow duplicate query parameters (a=1&a=1)\n URI.duplicateQueryParameters = false;\n // state: replaces + with %20 (space in query strings)\n URI.escapeQuerySpace = true;\n // static properties\n URI.protocol_expression = /^[a-z][a-z0-9.+-]*$/i;\n URI.idn_expression = /[^a-z0-9\\._-]/i;\n URI.punycode_expression = /(xn--)/i;\n // well, 333.444.555.666 matches, but it sure ain't no IPv4 - do we care?\n URI.ip4_expression = /^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$/;\n // credits to Rich Brown\n // source: http://forums.intermapper.com/viewtopic.php?p=1096#1096\n // specification: http://www.ietf.org/rfc/rfc4291.txt\n URI.ip6_expression = /^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*$/;\n // expression used is \"gruber revised\" (@gruber v2) determined to be the\n // best solution in a regex-golf we did a couple of ages ago at\n // * http://mathiasbynens.be/demo/url-regex\n // * http://rodneyrehm.de/t/url-regex.html\n URI.find_uri_expression = /\\b((?:[a-z][\\w-]+:(?:\\/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}\\/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?«»“”‘’]))/ig;\n URI.findUri = {\n // valid \"scheme://\" or \"www.\"\n start: /\\b(?:([a-z][a-z0-9.+-]*:\\/\\/)|www\\.)/gi,\n // everything up to the next whitespace\n end: /[\\s\\r\\n]|$/,\n // trim trailing punctuation captured by end RegExp\n trim: /[`!()\\[\\]{};:'\".,<>?«»“”„‘’]+$/,\n // balanced parens inclusion (), [], {}, <>\n parens: /(\\([^\\)]*\\)|\\[[^\\]]*\\]|\\{[^}]*\\}|<[^>]*>)/g,\n };\n URI.leading_whitespace_expression = /^[\\x00-\\x20\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff]+/\n // https://infra.spec.whatwg.org/#ascii-tab-or-newline\n URI.ascii_tab_whitespace = /[\\u0009\\u000A\\u000D]+/g\n // http://www.iana.org/assignments/uri-schemes.html\n // http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers#Well-known_ports\n URI.defaultPorts = {\n http: '80',\n https: '443',\n ftp: '21',\n gopher: '70',\n ws: '80',\n wss: '443'\n };\n // list of protocols which always require a hostname\n URI.hostProtocols = [\n 'http',\n 'https'\n ];\n\n // allowed hostname characters according to RFC 3986\n // ALPHA DIGIT \"-\" \".\" \"_\" \"~\" \"!\" \"$\" \"&\" \"'\" \"(\" \")\" \"*\" \"+\" \",\" \";\" \"=\" %encoded\n // I've never seen a (non-IDN) hostname other than: ALPHA DIGIT . - _\n URI.invalid_hostname_characters = /[^a-zA-Z0-9\\.\\-:_]/;\n // map DOM Elements to their URI attribute\n URI.domAttributes = {\n 'a': 'href',\n 'blockquote': 'cite',\n 'link': 'href',\n 'base': 'href',\n 'script': 'src',\n 'form': 'action',\n 'img': 'src',\n 'area': 'href',\n 'iframe': 'src',\n 'embed': 'src',\n 'source': 'src',\n 'track': 'src',\n 'input': 'src', // but only if type=\"image\"\n 'audio': 'src',\n 'video': 'src'\n };\n URI.getDomAttribute = function(node) {\n if (!node || !node.nodeName) {\n return undefined;\n }\n\n var nodeName = node.nodeName.toLowerCase();\n // <input> should only expose src for type=\"image\"\n if (nodeName === 'input' && node.type !== 'image') {\n return undefined;\n }\n\n return URI.domAttributes[nodeName];\n };\n\n function escapeForDumbFirefox36(value) {\n // https://github.com/medialize/URI.js/issues/91\n return escape(value);\n }\n\n // encoding / decoding according to RFC3986\n function strictEncodeURIComponent(string) {\n // see https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURIComponent\n return encodeURIComponent(string)\n .replace(/[!'()*]/g, escapeForDumbFirefox36)\n .replace(/\\*/g, '%2A');\n }\n URI.encode = strictEncodeURIComponent;\n URI.decode = decodeURIComponent;\n URI.iso8859 = function() {\n URI.encode = escape;\n URI.decode = unescape;\n };\n URI.unicode = function() {\n URI.encode = strictEncodeURIComponent;\n URI.decode = decodeURIComponent;\n };\n URI.characters = {\n pathname: {\n encode: {\n // RFC3986 2.1: For consistency, URI producers and normalizers should\n // use uppercase hexadecimal digits for all percent-encodings.\n expression: /%(24|26|2B|2C|3B|3D|3A|40)/ig,\n map: {\n // -._~!'()*\n '%24': '$',\n '%26': '&',\n '%2B': '+',\n '%2C': ',',\n '%3B': ';',\n '%3D': '=',\n '%3A': ':',\n '%40': '@'\n }\n },\n decode: {\n expression: /[\\/\\?#]/g,\n map: {\n '/': '%2F',\n '?': '%3F',\n '#': '%23'\n }\n }\n },\n reserved: {\n encode: {\n // RFC3986 2.1: For consistency, URI producers and normalizers should\n // use uppercase hexadecimal digits for all percent-encodings.\n expression: /%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,\n map: {\n // gen-delims\n '%3A': ':',\n '%2F': '/',\n '%3F': '?',\n '%23': '#',\n '%5B': '[',\n '%5D': ']',\n '%40': '@',\n // sub-delims\n '%21': '!',\n '%24': '$',\n '%26': '&',\n '%27': '\\'',\n '%28': '(',\n '%29': ')',\n '%2A': '*',\n '%2B': '+',\n '%2C': ',',\n '%3B': ';',\n '%3D': '='\n }\n }\n },\n urnpath: {\n // The characters under `encode` are the characters called out by RFC 2141 as being acceptable\n // for usage in a URN. RFC2141 also calls out \"-\", \".\", and \"_\" as acceptable characters, but\n // these aren't encoded by encodeURIComponent, so we don't have to call them out here. Also\n // note that the colon character is not featured in the encoding map; this is because URI.js\n // gives the colons in URNs semantic meaning as the delimiters of path segements, and so it\n // should not appear unencoded in a segment itself.\n // See also the note above about RFC3986 and capitalalized hex digits.\n encode: {\n expression: /%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,\n map: {\n '%21': '!',\n '%24': '$',\n '%27': '\\'',\n '%28': '(',\n '%29': ')',\n '%2A': '*',\n '%2B': '+',\n '%2C': ',',\n '%3B': ';',\n '%3D': '=',\n '%40': '@'\n }\n },\n // These characters are the characters called out by RFC2141 as \"reserved\" characters that\n // should never appear in a URN, plus the colon character (see note above).\n decode: {\n expression: /[\\/\\?#:]/g,\n map: {\n '/': '%2F',\n '?': '%3F',\n '#': '%23',\n ':': '%3A'\n }\n }\n }\n };\n URI.encodeQuery = function(string, escapeQuerySpace) {\n var escaped = URI.encode(string + '');\n if (escapeQuerySpace === undefined) {\n escapeQuerySpace = URI.escapeQuerySpace;\n }\n\n return escapeQuerySpace ? escaped.replace(/%20/g, '+') : escaped;\n };\n URI.decodeQuery = function(string, escapeQuerySpace) {\n string += '';\n if (escapeQuerySpace === undefined) {\n escapeQuerySpace = URI.escapeQuerySpace;\n }\n\n try {\n return URI.decode(escapeQuerySpace ? string.replace(/\\+/g, '%20') : string);\n } catch(e) {\n // we're not going to mess with weird encodings,\n // give up and return the undecoded original string\n // see https://github.com/medialize/URI.js/issues/87\n // see https://github.com/medialize/URI.js/issues/92\n return string;\n }\n };\n // generate encode/decode path functions\n var _parts = {'encode':'encode', 'decode':'decode'};\n var _part;\n var generateAccessor = function(_group, _part) {\n return function(string) {\n try {\n return URI[_part](string + '').replace(URI.characters[_group][_part].expression, function(c) {\n return URI.characters[_group][_part].map[c];\n });\n } catch (e) {\n // we're not going to mess with weird encodings,\n // give up and return the undecoded original string\n // see https://github.com/medialize/URI.js/issues/87\n // see https://github.com/medialize/URI.js/issues/92\n return string;\n }\n };\n };\n\n for (_part in _parts) {\n URI[_part + 'PathSegment'] = generateAccessor('pathname', _parts[_part]);\n URI[_part + 'UrnPathSegment'] = generateAccessor('urnpath', _parts[_part]);\n }\n\n var generateSegmentedPathFunction = function(_sep, _codingFuncName, _innerCodingFuncName) {\n return function(string) {\n // Why pass in names of functions, rather than the function objects themselves? The\n // definitions of some functions (but in particular, URI.decode) will occasionally change due\n // to URI.js having ISO8859 and Unicode modes. Passing in the name and getting it will ensure\n // that the functions we use here are \"fresh\".\n var actualCodingFunc;\n if (!_innerCodingFuncName) {\n actualCodingFunc = URI[_codingFuncName];\n } else {\n actualCodingFunc = function(string) {\n return URI[_codingFuncName](URI[_innerCodingFuncName](string));\n };\n }\n\n var segments = (string + '').split(_sep);\n\n for (var i = 0, length = segments.length; i < length; i++) {\n segments[i] = actualCodingFunc(segments[i]);\n }\n\n return segments.join(_sep);\n };\n };\n\n // This takes place outside the above loop because we don't want, e.g., encodeUrnPath functions.\n URI.decodePath = generateSegmentedPathFunction('/', 'decodePathSegment');\n URI.decodeUrnPath = generateSegmentedPathFunction(':', 'decodeUrnPathSegment');\n URI.recodePath = generateSegmentedPathFunction('/', 'encodePathSegment', 'decode');\n URI.recodeUrnPath = generateSegmentedPathFunction(':', 'encodeUrnPathSegment', 'decode');\n\n URI.encodeReserved = generateAccessor('reserved', 'encode');\n\n URI.parse = function(string, parts) {\n var pos;\n if (!parts) {\n parts = {\n preventInvalidHostname: URI.preventInvalidHostname\n };\n }\n\n string = string.replace(URI.leading_whitespace_expression, '')\n // https://infra.spec.whatwg.org/#ascii-tab-or-newline\n string = string.replace(URI.ascii_tab_whitespace, '')\n\n // [protocol\"://\"[username[\":\"password]\"@\"]hostname[\":\"port]\"/\"?][path][\"?\"querystring][\"#\"fragment]\n\n // extract fragment\n pos = string.indexOf('#');\n if (pos > -1) {\n // escaping?\n parts.fragment = string.substring(pos + 1) || null;\n string = string.substring(0, pos);\n }\n\n // extract query\n pos = string.indexOf('?');\n if (pos > -1) {\n // escaping?\n parts.query = string.substring(pos + 1) || null;\n string = string.substring(0, pos);\n }\n\n // slashes and backslashes have lost all meaning for the web protocols (https, http, wss, ws)\n string = string.replace(/^(https?|ftp|wss?)?:+[/\\\\]*/i, '$1://');\n // slashes and backslashes have lost all meaning for scheme relative URLs\n string = string.replace(/^[/\\\\]{2,}/i, '//');\n\n // extract protocol\n if (string.substring(0, 2) === '//') {\n // relative-scheme\n parts.protocol = null;\n string = string.substring(2);\n // extract \"user:pass@host:port\"\n string = URI.parseAuthority(string, parts);\n } else {\n pos = string.indexOf(':');\n if (pos > -1) {\n parts.protocol = string.substring(0, pos) || null;\n if (parts.protocol && !parts.protocol.match(URI.protocol_expression)) {\n // : may be within the path\n parts.protocol = undefined;\n } else if (string.substring(pos + 1, pos + 3).replace(/\\\\/g, '/') === '//') {\n string = string.substring(pos + 3);\n\n // extract \"user:pass@host:port\"\n string = URI.parseAuthority(string, parts);\n } else {\n string = string.substring(pos + 1);\n parts.urn = true;\n }\n }\n }\n\n // what's left must be the path\n parts.path = string;\n\n // and we're done\n return parts;\n };\n URI.parseHost = function(string, parts) {\n if (!string) {\n string = '';\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://github.com/joyent/node/blob/386fd24f49b0e9d1a8a076592a404168faeecc34/lib/url.js#L115-L124\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n // https://github.com/medialize/URI.js/pull/233\n string = string.replace(/\\\\/g, '/');\n\n // extract host:port\n var pos = string.indexOf('/');\n var bracketPos;\n var t;\n\n if (pos === -1) {\n pos = string.length;\n }\n\n if (string.charAt(0) === '[') {\n // IPv6 host - http://tools.ietf.org/html/draft-ietf-6man-text-addr-representation-04#section-6\n // I claim most client software breaks on IPv6 anyways. To simplify things, URI only accepts\n // IPv6+port in the format [2001:db8::1]:80 (for the time being)\n bracketPos = string.indexOf(']');\n parts.hostname = string.substring(1, bracketPos) || null;\n parts.port = string.substring(bracketPos + 2, pos) || null;\n if (parts.port === '/') {\n parts.port = null;\n }\n } else {\n var firstColon = string.indexOf(':');\n var firstSlash = string.indexOf('/');\n var nextColon = string.indexOf(':', firstColon + 1);\n if (nextColon !== -1 && (firstSlash === -1 || nextColon < firstSlash)) {\n // IPv6 host contains multiple colons - but no port\n // this notation is actually not allowed by RFC 3986, but we're a liberal parser\n parts.hostname = string.substring(0, pos) || null;\n parts.port = null;\n } else {\n t = string.substring(0, pos).split(':');\n parts.hostname = t[0] || null;\n parts.port = t[1] || null;\n }\n }\n\n if (parts.hostname && string.substring(pos).charAt(0) !== '/') {\n pos++;\n string = '/' + string;\n }\n\n if (parts.preventInvalidHostname) {\n URI.ensureValidHostname(parts.hostname, parts.protocol);\n }\n\n if (parts.port) {\n URI.ensureValidPort(parts.port);\n }\n\n return string.substring(pos) || '/';\n };\n URI.parseAuthority = function(string, parts) {\n string = URI.parseUserinfo(string, parts);\n return URI.parseHost(string, parts);\n };\n URI.parseUserinfo = function(string, parts) {\n // extract username:password\n var _string = string\n var firstBackSlash = string.indexOf('\\\\');\n if (firstBackSlash !== -1) {\n string = string.replace(/\\\\/g, '/')\n }\n var firstSlash = string.indexOf('/');\n var pos = string.lastIndexOf('@', firstSlash > -1 ? firstSlash : string.length - 1);\n var t;\n\n // authority@ must come before /path or \\path\n if (pos > -1 && (firstSlash === -1 || pos < firstSlash)) {\n t = string.substring(0, pos).split(':');\n parts.username = t[0] ? URI.decode(t[0]) : null;\n t.shift();\n parts.password = t[0] ? URI.decode(t.join(':')) : null;\n string = _string.substring(pos + 1);\n } else {\n parts.username = null;\n parts.password = null;\n }\n\n return string;\n };\n URI.parseQuery = function(string, escapeQuerySpace) {\n if (!string) {\n return {};\n }\n\n // throw out the funky business - \"?\"[name\"=\"value\"&\"]+\n string = string.replace(/&+/g, '&').replace(/^\\?*&*|&+$/g, '');\n\n if (!string) {\n return {};\n }\n\n var items = {};\n var splits = string.split('&');\n var length = splits.length;\n var v, name, value;\n\n for (var i = 0; i < length; i++) {\n v = splits[i].split('=');\n name = URI.decodeQuery(v.shift(), escapeQuerySpace);\n // no \"=\" is null according to http://dvcs.w3.org/hg/url/raw-file/tip/Overview.html#collect-url-parameters\n value = v.length ? URI.decodeQuery(v.join('='), escapeQuerySpace) : null;\n\n if (name === '__proto__') {\n // ignore attempt at exploiting JavaScript internals\n continue;\n } else if (hasOwn.call(items, name)) {\n if (typeof items[name] === 'string' || items[name] === null) {\n items[name] = [items[name]];\n }\n\n items[name].push(value);\n } else {\n items[name] = value;\n }\n }\n\n return items;\n };\n\n URI.build = function(parts) {\n var t = '';\n var requireAbsolutePath = false\n\n if (parts.protocol) {\n t += parts.protocol + ':';\n }\n\n if (!parts.urn && (t || parts.hostname)) {\n t += '//';\n requireAbsolutePath = true\n }\n\n t += (URI.buildAuthority(parts) || '');\n\n if (typeof parts.path === 'string') {\n if (parts.path.charAt(0) !== '/' && requireAbsolutePath) {\n t += '/';\n }\n\n t += parts.path;\n }\n\n if (typeof parts.query === 'string' && parts.query) {\n t += '?' + parts.query;\n }\n\n if (typeof parts.fragment === 'string' && parts.fragment) {\n t += '#' + parts.fragment;\n }\n return t;\n };\n URI.buildHost = function(parts) {\n var t = '';\n\n if (!parts.hostname) {\n return '';\n } else if (URI.ip6_expression.test(parts.hostname)) {\n t += '[' + parts.hostname + ']';\n } else {\n t += parts.hostname;\n }\n\n if (parts.port) {\n t += ':' + parts.port;\n }\n\n return t;\n };\n URI.buildAuthority = function(parts) {\n return URI.buildUserinfo(parts) + URI.buildHost(parts);\n };\n URI.buildUserinfo = function(parts) {\n var t = '';\n\n if (parts.username) {\n t += URI.encode(parts.username);\n }\n\n if (parts.password) {\n t += ':' + URI.encode(parts.password);\n }\n\n if (t) {\n t += '@';\n }\n\n return t;\n };\n URI.buildQuery = function(data, duplicateQueryParameters, escapeQuerySpace) {\n // according to http://tools.ietf.org/html/rfc3986 or http://labs.apache.org/webarch/uri/rfc/rfc3986.html\n // being »-._~!$&'()*+,;=:@/?« %HEX and alnum are allowed\n // the RFC explicitly states ?/foo being a valid use case, no mention of parameter syntax!\n // URI.js treats the query string as being application/x-www-form-urlencoded\n // see http://www.w3.org/TR/REC-html40/interact/forms.html#form-content-type\n\n var t = '';\n var unique, key, i, length;\n for (key in data) {\n if (key === '__proto__') {\n // ignore attempt at exploiting JavaScript internals\n continue;\n } else if (hasOwn.call(data, key)) {\n if (isArray(data[key])) {\n unique = {};\n for (i = 0, length = data[key].length; i < length; i++) {\n if (data[key][i] !== undefined && unique[data[key][i] + ''] === undefined) {\n t += '&' + URI.buildQueryParameter(key, data[key][i], escapeQuerySpace);\n if (duplicateQueryParameters !== true) {\n unique[data[key][i] + ''] = true;\n }\n }\n }\n } else if (data[key] !== undefined) {\n t += '&' + URI.buildQueryParameter(key, data[key], escapeQuerySpace);\n }\n }\n }\n\n return t.substring(1);\n };\n URI.buildQueryParameter = function(name, value, escapeQuerySpace) {\n // http://www.w3.org/TR/REC-html40/interact/forms.html#form-content-type -- application/x-www-form-urlencoded\n // don't append \"=\" for null values, according to http://dvcs.w3.org/hg/url/raw-file/tip/Overview.html#url-parameter-serialization\n return URI.encodeQuery(name, escapeQuerySpace) + (value !== null ? '=' + URI.encodeQuery(value, escapeQuerySpace) : '');\n };\n\n URI.addQuery = function(data, name, value) {\n if (typeof name === 'object') {\n for (var key in name) {\n if (hasOwn.call(name, key)) {\n URI.addQuery(data, key, name[key]);\n }\n }\n } else if (typeof name === 'string') {\n if (data[name] === undefined) {\n data[name] = value;\n return;\n } else if (typeof data[name] === 'string') {\n data[name] = [data[name]];\n }\n\n if (!isArray(value)) {\n value = [value];\n }\n\n data[name] = (data[name] || []).concat(value);\n } else {\n throw new TypeError('URI.addQuery() accepts an object, string as the name parameter');\n }\n };\n\n URI.setQuery = function(data, name, value) {\n if (typeof name === 'object') {\n for (var key in name) {\n if (hasOwn.call(name, key)) {\n URI.setQuery(data, key, name[key]);\n }\n }\n } else if (typeof name === 'string') {\n data[name] = value === undefined ? null : value;\n } else {\n throw new TypeError('URI.setQuery() accepts an object, string as the name parameter');\n }\n };\n\n URI.removeQuery = function(data, name, value) {\n var i, length, key;\n\n if (isArray(name)) {\n for (i = 0, length = name.length; i < length; i++) {\n data[name[i]] = undefined;\n }\n } else if (getType(name) === 'RegExp') {\n for (key in data) {\n if (name.test(key)) {\n data[key] = undefined;\n }\n }\n } else if (typeof name === 'object') {\n for (key in name) {\n if (hasOwn.call(name, key)) {\n URI.removeQuery(data, key, name[key]);\n }\n }\n } else if (typeof name === 'string') {\n if (value !== undefined) {\n if (getType(value) === 'RegExp') {\n if (!isArray(data[name]) && value.test(data[name])) {\n data[name] = undefined;\n } else {\n data[name] = filterArrayValues(data[name], value);\n }\n } else if (data[name] === String(value) && (!isArray(value) || value.length === 1)) {\n data[name] = undefined;\n } else if (isArray(data[name])) {\n data[name] = filterArrayValues(data[name], value);\n }\n } else {\n data[name] = undefined;\n }\n } else {\n throw new TypeError('URI.removeQuery() accepts an object, string, RegExp as the first parameter');\n }\n };\n URI.hasQuery = function(data, name, value, withinArray) {\n switch (getType(name)) {\n case 'String':\n // Nothing to do here\n break;\n\n case 'RegExp':\n for (var key in data) {\n if (hasOwn.call(data, key)) {\n if (name.test(key) && (value === undefined || URI.hasQuery(data, key, value))) {\n return true;\n }\n }\n }\n\n return false;\n\n case 'Object':\n for (var _key in name) {\n if (hasOwn.call(name, _key)) {\n if (!URI.hasQuery(data, _key, name[_key])) {\n return false;\n }\n }\n }\n\n return true;\n\n default:\n throw new TypeError('URI.hasQuery() accepts a string, regular expression or object as the name parameter');\n }\n\n switch (getType(value)) {\n case 'Undefined':\n // true if exists (but may be empty)\n return name in data; // data[name] !== undefined;\n\n case 'Boolean':\n // true if exists and non-empty\n var _booly = Boolean(isArray(data[name]) ? data[name].length : data[name]);\n return value === _booly;\n\n case 'Function':\n // allow complex comparison\n return !!value(data[name], name, data);\n\n case 'Array':\n if (!isArray(data[name])) {\n return false;\n }\n\n var op = withinArray ? arrayContains : arraysEqual;\n return op(data[name], value);\n\n case 'RegExp':\n if (!isArray(data[name])) {\n return Boolean(data[name] && data[name].match(value));\n }\n\n if (!withinArray) {\n return false;\n }\n\n return arrayContains(data[name], value);\n\n case 'Number':\n value = String(value);\n /* falls through */\n case 'String':\n if (!isArray(data[name])) {\n return data[name] === value;\n }\n\n if (!withinArray) {\n return false;\n }\n\n return arrayContains(data[name], value);\n\n default:\n throw new TypeError('URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter');\n }\n };\n\n\n URI.joinPaths = function() {\n var input = [];\n var segments = [];\n var nonEmptySegments = 0;\n\n for (var i = 0; i < arguments.length; i++) {\n var url = new URI(arguments[i]);\n input.push(url);\n var _segments = url.segment();\n for (var s = 0; s < _segments.length; s++) {\n if (typeof _segments[s] === 'string') {\n segments.push(_segments[s]);\n }\n\n if (_segments[s]) {\n nonEmptySegments++;\n }\n }\n }\n\n if (!segments.length || !nonEmptySegments) {\n return new URI('');\n }\n\n var uri = new URI('').segment(segments);\n\n if (input[0].path() === '' || input[0].path().slice(0, 1) === '/') {\n uri.path('/' + uri.path());\n }\n\n return uri.normalize();\n };\n\n URI.commonPath = function(one, two) {\n var length = Math.min(one.length, two.length);\n var pos;\n\n // find first non-matching character\n for (pos = 0; pos < length; pos++) {\n if (one.charAt(pos) !== two.charAt(pos)) {\n pos--;\n break;\n }\n }\n\n if (pos < 1) {\n return one.charAt(0) === two.charAt(0) && one.charAt(0) === '/' ? '/' : '';\n }\n\n // revert to last /\n if (one.charAt(pos) !== '/' || two.charAt(pos) !== '/') {\n pos = one.substring(0, pos).lastIndexOf('/');\n }\n\n return one.substring(0, pos + 1);\n };\n\n URI.withinString = function(string, callback, options) {\n options || (options = {});\n var _start = options.start || URI.findUri.start;\n var _end = options.end || URI.findUri.end;\n var _trim = options.trim || URI.findUri.trim;\n var _parens = options.parens || URI.findUri.parens;\n var _attributeOpen = /[a-z0-9-]=[\"']?$/i;\n\n _start.lastIndex = 0;\n while (true) {\n var match = _start.exec(string);\n if (!match) {\n break;\n }\n\n var start = match.index;\n if (options.ignoreHtml) {\n // attribut(e=[\"']?$)\n var attributeOpen = string.slice(Math.max(start - 3, 0), start);\n if (attributeOpen && _attributeOpen.test(attributeOpen)) {\n continue;\n }\n }\n\n var end = start + string.slice(start).search(_end);\n var slice = string.slice(start, end);\n // make sure we include well balanced parens\n var parensEnd = -1;\n while (true) {\n var parensMatch = _parens.exec(slice);\n if (!parensMatch) {\n break;\n }\n\n var parensMatchEnd = parensMatch.index + parensMatch[0].length;\n parensEnd = Math.max(parensEnd, parensMatchEnd);\n }\n\n if (parensEnd > -1) {\n slice = slice.slice(0, parensEnd) + slice.slice(parensEnd).replace(_trim, '');\n } else {\n slice = slice.replace(_trim, '');\n }\n\n if (slice.length <= match[0].length) {\n // the extract only contains the starting marker of a URI,\n // e.g. \"www\" or \"http://\"\n continue;\n }\n\n if (options.ignore && options.ignore.test(slice)) {\n continue;\n }\n\n end = start + slice.length;\n var result = callback(slice, start, end, string);\n if (result === undefined) {\n _start.lastIndex = end;\n continue;\n }\n\n result = String(result);\n string = string.slice(0, start) + result + string.slice(end);\n _start.lastIndex = start + result.length;\n }\n\n _start.lastIndex = 0;\n return string;\n };\n\n URI.ensureValidHostname = function(v, protocol) {\n // Theoretically URIs allow percent-encoding in Hostnames (according to RFC 3986)\n // they are not part of DNS and therefore ignored by URI.js\n\n var hasHostname = !!v; // not null and not an empty string\n var hasProtocol = !!protocol;\n var rejectEmptyHostname = false;\n\n if (hasProtocol) {\n rejectEmptyHostname = arrayContains(URI.hostProtocols, protocol);\n }\n\n if (rejectEmptyHostname && !hasHostname) {\n throw new TypeError('Hostname cannot be empty, if protocol is ' + protocol);\n } else if (v && v.match(URI.invalid_hostname_characters)) {\n // test punycode\n if (!punycode) {\n throw new TypeError('Hostname \"' + v + '\" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');\n }\n if (punycode.toASCII(v).match(URI.invalid_hostname_characters)) {\n throw new TypeError('Hostname \"' + v + '\" contains characters other than [A-Z0-9.-:_]');\n }\n }\n };\n\n URI.ensureValidPort = function (v) {\n if (!v) {\n return;\n }\n\n var port = Number(v);\n if (isInteger(port) && (port > 0) && (port < 65536)) {\n return;\n }\n\n throw new TypeError('Port \"' + v + '\" is not a valid port');\n };\n\n // noConflict\n URI.noConflict = function(removeAll) {\n if (removeAll) {\n var unconflicted = {\n URI: this.noConflict()\n };\n\n if (root.URITemplate && typeof root.URITemplate.noConflict === 'function') {\n unconflicted.URITemplate = root.URITemplate.noConflict();\n }\n\n if (root.IPv6 && typeof root.IPv6.noConflict === 'function') {\n unconflicted.IPv6 = root.IPv6.noConflict();\n }\n\n if (root.SecondLevelDomains && typeof root.SecondLevelDomains.noConflict === 'function') {\n unconflicted.SecondLevelDomains = root.SecondLevelDomains.noConflict();\n }\n\n return unconflicted;\n } else if (root.URI === this) {\n root.URI = _URI;\n }\n\n return this;\n };\n\n p.build = function(deferBuild) {\n if (deferBuild === true) {\n this._deferred_build = true;\n } else if (deferBuild === undefined || this._deferred_build) {\n this._string = URI.build(this._parts);\n this._deferred_build = false;\n }\n\n return this;\n };\n\n p.clone = function() {\n return new URI(this);\n };\n\n p.valueOf = p.toString = function() {\n return this.build(false)._string;\n };\n\n\n function generateSimpleAccessor(_part){\n return function(v, build) {\n if (v === undefined) {\n return this._parts[_part] || '';\n } else {\n this._parts[_part] = v || null;\n this.build(!build);\n return this;\n }\n };\n }\n\n function generatePrefixAccessor(_part, _key){\n return function(v, build) {\n if (v === undefined) {\n return this._parts[_part] || '';\n } else {\n if (v !== null) {\n v = v + '';\n if (v.charAt(0) === _key) {\n v = v.substring(1);\n }\n }\n\n this._parts[_part] = v;\n this.build(!build);\n return this;\n }\n };\n }\n\n p.protocol = generateSimpleAccessor('protocol');\n p.username = generateSimpleAccessor('username');\n p.password = generateSimpleAccessor('password');\n p.hostname = generateSimpleAccessor('hostname');\n p.port = generateSimpleAccessor('port');\n p.query = generatePrefixAccessor('query', '?');\n p.fragment = generatePrefixAccessor('fragment', '#');\n\n p.search = function(v, build) {\n var t = this.query(v, build);\n return typeof t === 'string' && t.length ? ('?' + t) : t;\n };\n p.hash = function(v, build) {\n var t = this.fragment(v, build);\n return typeof t === 'string' && t.length ? ('#' + t) : t;\n };\n\n p.pathname = function(v, build) {\n if (v === undefined || v === true) {\n var res = this._parts.path || (this._parts.hostname ? '/' : '');\n return v ? (this._parts.urn ? URI.decodeUrnPath : URI.decodePath)(res) : res;\n } else {\n if (this._parts.urn) {\n this._parts.path = v ? URI.recodeUrnPath(v) : '';\n } else {\n this._parts.path = v ? URI.recodePath(v) : '/';\n }\n this.build(!build);\n return this;\n }\n };\n p.path = p.pathname;\n p.href = function(href, build) {\n var key;\n\n if (href === undefined) {\n return this.toString();\n }\n\n this._string = '';\n this._parts = URI._parts();\n\n var _URI = href instanceof URI;\n var _object = typeof href === 'object' && (href.hostname || href.path || href.pathname);\n if (href.nodeName) {\n var attribute = URI.getDomAttribute(href);\n href = href[attribute] || '';\n _object = false;\n }\n\n // window.location is reported to be an object, but it's not the sort\n // of object we're looking for:\n // * location.protocol ends with a colon\n // * location.query != object.search\n // * location.hash != object.fragment\n // simply serializing the unknown object should do the trick\n // (for location, not for everything...)\n if (!_URI && _object && href.pathname !== undefined) {\n href = href.toString();\n }\n\n if (typeof href === 'string' || href instanceof String) {\n this._parts = URI.parse(String(href), this._parts);\n } else if (_URI || _object) {\n var src = _URI ? href._parts : href;\n for (key in src) {\n if (key === 'query') { continue; }\n if (hasOwn.call(this._parts, key)) {\n this._parts[key] = src[key];\n }\n }\n if (src.query) {\n this.query(src.query, false);\n }\n } else {\n throw new TypeError('invalid input');\n }\n\n this.build(!build);\n return this;\n };\n\n // identification accessors\n p.is = function(what) {\n var ip = false;\n var ip4 = false;\n var ip6 = false;\n var name = false;\n var sld = false;\n var idn = false;\n var punycode = false;\n var relative = !this._parts.urn;\n\n if (this._parts.hostname) {\n relative = false;\n ip4 = URI.ip4_expression.test(this._parts.hostname);\n ip6 = URI.ip6_expression.test(this._parts.hostname);\n ip = ip4 || ip6;\n name = !ip;\n sld = name && SLD && SLD.has(this._parts.hostname);\n idn = name && URI.idn_expression.test(this._parts.hostname);\n punycode = name && URI.punycode_expression.test(this._parts.hostname);\n }\n\n switch (what.toLowerCase()) {\n case 'relative':\n return relative;\n\n case 'absolute':\n return !relative;\n\n // hostname identification\n case 'domain':\n case 'name':\n return name;\n\n case 'sld':\n return sld;\n\n case 'ip':\n return ip;\n\n case 'ip4':\n case 'ipv4':\n case 'inet4':\n return ip4;\n\n case 'ip6':\n case 'ipv6':\n case 'inet6':\n return ip6;\n\n case 'idn':\n return idn;\n\n case 'url':\n return !this._parts.urn;\n\n case 'urn':\n return !!this._parts.urn;\n\n case 'punycode':\n return punycode;\n }\n\n return null;\n };\n\n // component specific input validation\n var _protocol = p.protocol;\n var _port = p.port;\n var _hostname = p.hostname;\n\n p.protocol = function(v, build) {\n if (v) {\n // accept trailing ://\n v = v.replace(/:(\\/\\/)?$/, '');\n\n if (!v.match(URI.protocol_expression)) {\n throw new TypeError('Protocol \"' + v + '\" contains characters other than [A-Z0-9.+-] or doesn\\'t start with [A-Z]');\n }\n }\n\n return _protocol.call(this, v, build);\n };\n p.scheme = p.protocol;\n p.port = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v !== undefined) {\n if (v === 0) {\n v = null;\n }\n\n if (v) {\n v += '';\n if (v.charAt(0) === ':') {\n v = v.substring(1);\n }\n\n URI.ensureValidPort(v);\n }\n }\n return _port.call(this, v, build);\n };\n p.hostname = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v !== undefined) {\n var x = { preventInvalidHostname: this._parts.preventInvalidHostname };\n var res = URI.parseHost(v, x);\n if (res !== '/') {\n throw new TypeError('Hostname \"' + v + '\" contains characters other than [A-Z0-9.-]');\n }\n\n v = x.hostname;\n if (this._parts.preventInvalidHostname) {\n URI.ensureValidHostname(v, this._parts.protocol);\n }\n }\n\n return _hostname.call(this, v, build);\n };\n\n // compound accessors\n p.origin = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v === undefined) {\n var protocol = this.protocol();\n var authority = this.authority();\n if (!authority) {\n return '';\n }\n\n return (protocol ? protocol + '://' : '') + this.authority();\n } else {\n var origin = URI(v);\n this\n .protocol(origin.protocol())\n .authority(origin.authority())\n .build(!build);\n return this;\n }\n };\n p.host = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v === undefined) {\n return this._parts.hostname ? URI.buildHost(this._parts) : '';\n } else {\n var res = URI.parseHost(v, this._parts);\n if (res !== '/') {\n throw new TypeError('Hostname \"' + v + '\" contains characters other than [A-Z0-9.-]');\n }\n\n this.build(!build);\n return this;\n }\n };\n p.authority = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v === undefined) {\n return this._parts.hostname ? URI.buildAuthority(this._parts) : '';\n } else {\n var res = URI.parseAuthority(v, this._parts);\n if (res !== '/') {\n throw new TypeError('Hostname \"' + v + '\" contains characters other than [A-Z0-9.-]');\n }\n\n this.build(!build);\n return this;\n }\n };\n p.userinfo = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v === undefined) {\n var t = URI.buildUserinfo(this._parts);\n return t ? t.substring(0, t.length -1) : t;\n } else {\n if (v[v.length-1] !== '@') {\n v += '@';\n }\n\n URI.parseUserinfo(v, this._parts);\n this.build(!build);\n return this;\n }\n };\n p.resource = function(v, build) {\n var parts;\n\n if (v === undefined) {\n return this.path() + this.search() + this.hash();\n }\n\n parts = URI.parse(v);\n this._parts.path = parts.path;\n this._parts.query = parts.query;\n this._parts.fragment = parts.fragment;\n this.build(!build);\n return this;\n };\n\n // fraction accessors\n p.subdomain = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n // convenience, return \"www\" from \"www.example.org\"\n if (v === undefined) {\n if (!this._parts.hostname || this.is('IP')) {\n return '';\n }\n\n // grab domain and add another segment\n var end = this._parts.hostname.length - this.domain().length - 1;\n return this._parts.hostname.substring(0, end) || '';\n } else {\n var e = this._parts.hostname.length - this.domain().length;\n var sub = this._parts.hostname.substring(0, e);\n var replace = new RegExp('^' + escapeRegEx(sub));\n\n if (v && v.charAt(v.length - 1) !== '.') {\n v += '.';\n }\n\n if (v.indexOf(':') !== -1) {\n throw new TypeError('Domains cannot contain colons');\n }\n\n if (v) {\n URI.ensureValidHostname(v, this._parts.protocol);\n }\n\n this._parts.hostname = this._parts.hostname.replace(replace, v);\n this.build(!build);\n return this;\n }\n };\n p.domain = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (typeof v === 'boolean') {\n build = v;\n v = undefined;\n }\n\n // convenience, return \"example.org\" from \"www.example.org\"\n if (v === undefined) {\n if (!this._parts.hostname || this.is('IP')) {\n return '';\n }\n\n // if hostname consists of 1 or 2 segments, it must be the domain\n var t = this._parts.hostname.match(/\\./g);\n if (t && t.length < 2) {\n return this._parts.hostname;\n }\n\n // grab tld and add another segment\n var end = this._parts.hostname.length - this.tld(build).length - 1;\n end = this._parts.hostname.lastIndexOf('.', end -1) + 1;\n return this._parts.hostname.substring(end) || '';\n } else {\n if (!v) {\n throw new TypeError('cannot set domain empty');\n }\n\n if (v.indexOf(':') !== -1) {\n throw new TypeError('Domains cannot contain colons');\n }\n\n URI.ensureValidHostname(v, this._parts.protocol);\n\n if (!this._parts.hostname || this.is('IP')) {\n this._parts.hostname = v;\n } else {\n var replace = new RegExp(escapeRegEx(this.domain()) + '$');\n this._parts.hostname = this._parts.hostname.replace(replace, v);\n }\n\n this.build(!build);\n return this;\n }\n };\n p.tld = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (typeof v === 'boolean') {\n build = v;\n v = undefined;\n }\n\n // return \"org\" from \"www.example.org\"\n if (v === undefined) {\n if (!this._parts.hostname || this.is('IP')) {\n return '';\n }\n\n var pos = this._parts.hostname.lastIndexOf('.');\n var tld = this._parts.hostname.substring(pos + 1);\n\n if (build !== true && SLD && SLD.list[tld.toLowerCase()]) {\n return SLD.get(this._parts.hostname) || tld;\n }\n\n return tld;\n } else {\n var replace;\n\n if (!v) {\n throw new TypeError('cannot set TLD empty');\n } else if (v.match(/[^a-zA-Z0-9-]/)) {\n if (SLD && SLD.is(v)) {\n replace = new RegExp(escapeRegEx(this.tld()) + '$');\n this._parts.hostname = this._parts.hostname.replace(replace, v);\n } else {\n throw new TypeError('TLD \"' + v + '\" contains characters other than [A-Z0-9]');\n }\n } else if (!this._parts.hostname || this.is('IP')) {\n throw new ReferenceError('cannot set TLD on non-domain host');\n } else {\n replace = new RegExp(escapeRegEx(this.tld()) + '$');\n this._parts.hostname = this._parts.hostname.replace(replace, v);\n }\n\n this.build(!build);\n return this;\n }\n };\n p.directory = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v === undefined || v === true) {\n if (!this._parts.path && !this._parts.hostname) {\n return '';\n }\n\n if (this._parts.path === '/') {\n return '/';\n }\n\n var end = this._parts.path.length - this.filename().length - 1;\n var res = this._parts.path.substring(0, end) || (this._parts.hostname ? '/' : '');\n\n return v ? URI.decodePath(res) : res;\n\n } else {\n var e = this._parts.path.length - this.filename().length;\n var directory = this._parts.path.substring(0, e);\n var replace = new RegExp('^' + escapeRegEx(directory));\n\n // fully qualifier directories begin with a slash\n if (!this.is('relative')) {\n if (!v) {\n v = '/';\n }\n\n if (v.charAt(0) !== '/') {\n v = '/' + v;\n }\n }\n\n // directories always end with a slash\n if (v && v.charAt(v.length - 1) !== '/') {\n v += '/';\n }\n\n v = URI.recodePath(v);\n this._parts.path = this._parts.path.replace(replace, v);\n this.build(!build);\n return this;\n }\n };\n p.filename = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (typeof v !== 'string') {\n if (!this._parts.path || this._parts.path === '/') {\n return '';\n }\n\n var pos = this._parts.path.lastIndexOf('/');\n var res = this._parts.path.substring(pos+1);\n\n return v ? URI.decodePathSegment(res) : res;\n } else {\n var mutatedDirectory = false;\n\n if (v.charAt(0) === '/') {\n v = v.substring(1);\n }\n\n if (v.match(/\\.?\\//)) {\n mutatedDirectory = true;\n }\n\n var replace = new RegExp(escapeRegEx(this.filename()) + '$');\n v = URI.recodePath(v);\n this._parts.path = this._parts.path.replace(replace, v);\n\n if (mutatedDirectory) {\n this.normalizePath(build);\n } else {\n this.build(!build);\n }\n\n return this;\n }\n };\n p.suffix = function(v, build) {\n if (this._parts.urn) {\n return v === undefined ? '' : this;\n }\n\n if (v === undefined || v === true) {\n if (!this._parts.path || this._parts.path === '/') {\n return '';\n }\n\n var filename = this.filename();\n var pos = filename.lastIndexOf('.');\n var s, res;\n\n if (pos === -1) {\n return '';\n }\n\n // suffix may only contain alnum characters (yup, I made this up.)\n s = filename.substring(pos+1);\n res = (/^[a-z0-9%]+$/i).test(s) ? s : '';\n return v ? URI.decodePathSegment(res) : res;\n } else {\n if (v.charAt(0) === '.') {\n v = v.substring(1);\n }\n\n var suffix = this.suffix();\n var replace;\n\n if (!suffix) {\n if (!v) {\n return this;\n }\n\n this._parts.path += '.' + URI.recodePath(v);\n } else if (!v) {\n replace = new RegExp(escapeRegEx('.' + suffix) + '$');\n } else {\n replace = new RegExp(escapeRegEx(suffix) + '$');\n }\n\n if (replace) {\n v = URI.recodePath(v);\n this._parts.path = this._parts.path.replace(replace, v);\n }\n\n this.build(!build);\n return this;\n }\n };\n p.segment = function(segment, v, build) {\n var separator = this._parts.urn ? ':' : '/';\n var path = this.path();\n var absolute = path.substring(0, 1) === '/';\n var segments = path.split(separator);\n\n if (segment !== undefined && typeof segment !== 'number') {\n build = v;\n v = segment;\n segment = undefined;\n }\n\n if (segment !== undefined && typeof segment !== 'number') {\n throw new Error('Bad segment \"' + segment + '\", must be 0-based integer');\n }\n\n if (absolute) {\n segments.shift();\n }\n\n if (segment < 0) {\n // allow negative indexes to address from the end\n segment = Math.max(segments.length + segment, 0);\n }\n\n if (v === undefined) {\n /*jshint laxbreak: true */\n return segment === undefined\n ? segments\n : segments[segment];\n /*jshint laxbreak: false */\n } else if (segment === null || segments[segment] === undefined) {\n if (isArray(v)) {\n segments = [];\n // collapse empty elements within array\n for (var i=0, l=v.length; i < l; i++) {\n if (!v[i].length && (!segments.length || !segments[segments.length -1].length)) {\n continue;\n }\n\n if (segments.length && !segments[segments.length -1].length) {\n segments.pop();\n }\n\n segments.push(trimSlashes(v[i]));\n }\n } else if (v || typeof v === 'string') {\n v = trimSlashes(v);\n if (segments[segments.length -1] === '') {\n // empty trailing elements have to be overwritten\n // to prevent results such as /foo//bar\n segments[segments.length -1] = v;\n } else {\n segments.push(v);\n }\n }\n } else {\n if (v) {\n segments[segment] = trimSlashes(v);\n } else {\n segments.splice(segment, 1);\n }\n }\n\n if (absolute) {\n segments.unshift('');\n }\n\n return this.path(segments.join(separator), build);\n };\n p.segmentCoded = function(segment, v, build) {\n var segments, i, l;\n\n if (typeof segment !== 'number') {\n build = v;\n v = segment;\n segment = undefined;\n }\n\n if (v === undefined) {\n segments = this.segment(segment, v, build);\n if (!isArray(segments)) {\n segments = segments !== undefined ? URI.decode(segments) : undefined;\n } else {\n for (i = 0, l = segments.length; i < l; i++) {\n segments[i] = URI.decode(segments[i]);\n }\n }\n\n return segments;\n }\n\n if (!isArray(v)) {\n v = (typeof v === 'string' || v instanceof String) ? URI.encode(v) : v;\n } else {\n for (i = 0, l = v.length; i < l; i++) {\n v[i] = URI.encode(v[i]);\n }\n }\n\n return this.segment(segment, v, build);\n };\n\n // mutating query string\n var q = p.query;\n p.query = function(v, build) {\n if (v === true) {\n return URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace);\n } else if (typeof v === 'function') {\n var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace);\n var result = v.call(this, data);\n this._parts.query = URI.buildQuery(result || data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);\n this.build(!build);\n return this;\n } else if (v !== undefined && typeof v !== 'string') {\n this._parts.query = URI.buildQuery(v, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);\n this.build(!build);\n return this;\n } else {\n return q.call(this, v, build);\n }\n };\n p.setQuery = function(name, value, build) {\n var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace);\n\n if (typeof name === 'string' || name instanceof String) {\n data[name] = value !== undefined ? value : null;\n } else if (typeof name === 'object') {\n for (var key in name) {\n if (hasOwn.call(name, key)) {\n data[key] = name[key];\n }\n }\n } else {\n throw new TypeError('URI.addQuery() accepts an object, string as the name parameter');\n }\n\n this._parts.query = URI.buildQuery(data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);\n if (typeof name !== 'string') {\n build = value;\n }\n\n this.build(!build);\n return this;\n };\n p.addQuery = function(name, value, build) {\n var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace);\n URI.addQuery(data, name, value === undefined ? null : value);\n this._parts.query = URI.buildQuery(data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);\n if (typeof name !== 'string') {\n build = value;\n }\n\n this.build(!build);\n return this;\n };\n p.removeQuery = function(name, value, build) {\n var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace);\n URI.removeQuery(data, name, value);\n this._parts.query = URI.buildQuery(data, this._parts.duplicateQueryParameters, this._parts.escapeQuerySpace);\n if (typeof name !== 'string') {\n build = value;\n }\n\n this.build(!build);\n return this;\n };\n p.hasQuery = function(name, value, withinArray) {\n var data = URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace);\n return URI.hasQuery(data, name, value, withinArray);\n };\n p.setSearch = p.setQuery;\n p.addSearch = p.addQuery;\n p.removeSearch = p.removeQuery;\n p.hasSearch = p.hasQuery;\n\n // sanitizing URLs\n p.normalize = function() {\n if (this._parts.urn) {\n return this\n .normalizeProtocol(false)\n .normalizePath(false)\n .normalizeQuery(false)\n .normalizeFragment(false)\n .build();\n }\n\n return this\n .normalizeProtocol(false)\n .normalizeHostname(false)\n .normalizePort(false)\n .normalizePath(false)\n .normalizeQuery(false)\n .normalizeFragment(false)\n .build();\n };\n p.normalizeProtocol = function(build) {\n if (typeof this._parts.protocol === 'string') {\n this._parts.protocol = this._parts.protocol.toLowerCase();\n this.build(!build);\n }\n\n return this;\n };\n p.normalizeHostname = function(build) {\n if (this._parts.hostname) {\n if (this.is('IDN') && punycode) {\n this._parts.hostname = punycode.toASCII(this._parts.hostname);\n } else if (this.is('IPv6') && IPv6) {\n this._parts.hostname = IPv6.best(this._parts.hostname);\n }\n\n this._parts.hostname = this._parts.hostname.toLowerCase();\n this.build(!build);\n }\n\n return this;\n };\n p.normalizePort = function(build) {\n // remove port of it's the protocol's default\n if (typeof this._parts.protocol === 'string' && this._parts.port === URI.defaultPorts[this._parts.protocol]) {\n this._parts.port = null;\n this.build(!build);\n }\n\n return this;\n };\n p.normalizePath = function(build) {\n var _path = this._parts.path;\n if (!_path) {\n return this;\n }\n\n if (this._parts.urn) {\n this._parts.path = URI.recodeUrnPath(this._parts.path);\n this.build(!build);\n return this;\n }\n\n if (this._parts.path === '/') {\n return this;\n }\n\n _path = URI.recodePath(_path);\n\n var _was_relative;\n var _leadingParents = '';\n var _parent, _pos;\n\n // handle relative paths\n if (_path.charAt(0) !== '/') {\n _was_relative = true;\n _path = '/' + _path;\n }\n\n // handle relative files (as opposed to directories)\n if (_path.slice(-3) === '/..' || _path.slice(-2) === '/.') {\n _path += '/';\n }\n\n // resolve simples\n _path = _path\n .replace(/(\\/(\\.\\/)+)|(\\/\\.$)/g, '/')\n .replace(/\\/{2,}/g, '/');\n\n // remember leading parents\n if (_was_relative) {\n _leadingParents = _path.substring(1).match(/^(\\.\\.\\/)+/) || '';\n if (_leadingParents) {\n _leadingParents = _leadingParents[0];\n }\n }\n\n // resolve parents\n while (true) {\n _parent = _path.search(/\\/\\.\\.(\\/|$)/);\n if (_parent === -1) {\n // no more ../ to resolve\n break;\n } else if (_parent === 0) {\n // top level cannot be relative, skip it\n _path = _path.substring(3);\n continue;\n }\n\n _pos = _path.substring(0, _parent).lastIndexOf('/');\n if (_pos === -1) {\n _pos = _parent;\n }\n _path = _path.substring(0, _pos) + _path.substring(_parent + 3);\n }\n\n // revert to relative\n if (_was_relative && this.is('relative')) {\n _path = _leadingParents + _path.substring(1);\n }\n\n this._parts.path = _path;\n this.build(!build);\n return this;\n };\n p.normalizePathname = p.normalizePath;\n p.normalizeQuery = function(build) {\n if (typeof this._parts.query === 'string') {\n if (!this._parts.query.length) {\n this._parts.query = null;\n } else {\n this.query(URI.parseQuery(this._parts.query, this._parts.escapeQuerySpace));\n }\n\n this.build(!build);\n }\n\n return this;\n };\n p.normalizeFragment = function(build) {\n if (!this._parts.fragment) {\n this._parts.fragment = null;\n this.build(!build);\n }\n\n return this;\n };\n p.normalizeSearch = p.normalizeQuery;\n p.normalizeHash = p.normalizeFragment;\n\n p.iso8859 = function() {\n // expect unicode input, iso8859 output\n var e = URI.encode;\n var d = URI.decode;\n\n URI.encode = escape;\n URI.decode = decodeURIComponent;\n try {\n this.normalize();\n } finally {\n URI.encode = e;\n URI.decode = d;\n }\n return this;\n };\n\n p.unicode = function() {\n // expect iso8859 input, unicode output\n var e = URI.encode;\n var d = URI.decode;\n\n URI.encode = strictEncodeURIComponent;\n URI.decode = unescape;\n try {\n this.normalize();\n } finally {\n URI.encode = e;\n URI.decode = d;\n }\n return this;\n };\n\n p.readable = function() {\n var uri = this.clone();\n // removing username, password, because they shouldn't be displayed according to RFC 3986\n uri.username('').password('').normalize();\n var t = '';\n if (uri._parts.protocol) {\n t += uri._parts.protocol + '://';\n }\n\n if (uri._parts.hostname) {\n if (uri.is('punycode') && punycode) {\n t += punycode.toUnicode(uri._parts.hostname);\n if (uri._parts.port) {\n t += ':' + uri._parts.port;\n }\n } else {\n t += uri.host();\n }\n }\n\n if (uri._parts.hostname && uri._parts.path && uri._parts.path.charAt(0) !== '/') {\n t += '/';\n }\n\n t += uri.path(true);\n if (uri._parts.query) {\n var q = '';\n for (var i = 0, qp = uri._parts.query.split('&'), l = qp.length; i < l; i++) {\n var kv = (qp[i] || '').split('=');\n q += '&' + URI.decodeQuery(kv[0], this._parts.escapeQuerySpace)\n .replace(/&/g, '%26');\n\n if (kv[1] !== undefined) {\n q += '=' + URI.decodeQuery(kv[1], this._parts.escapeQuerySpace)\n .replace(/&/g, '%26');\n }\n }\n t += '?' + q.substring(1);\n }\n\n t += URI.decodeQuery(uri.hash(), true);\n return t;\n };\n\n // resolving relative and absolute URLs\n p.absoluteTo = function(base) {\n var resolved = this.clone();\n var properties = ['protocol', 'username', 'password', 'hostname', 'port'];\n var basedir, i, p;\n\n if (this._parts.urn) {\n throw new Error('URNs do not have any generally defined hierarchical components');\n }\n\n if (!(base instanceof URI)) {\n base = new URI(base);\n }\n\n if (resolved._parts.protocol) {\n // Directly returns even if this._parts.hostname is empty.\n return resolved;\n } else {\n resolved._parts.protocol = base._parts.protocol;\n }\n\n if (this._parts.hostname) {\n return resolved;\n }\n\n for (i = 0; (p = properties[i]); i++) {\n resolved._parts[p] = base._parts[p];\n }\n\n if (!resolved._parts.path) {\n resolved._parts.path = base._parts.path;\n if (!resolved._parts.query) {\n resolved._parts.query = base._parts.query;\n }\n } else {\n if (resolved._parts.path.substring(-2) === '..') {\n resolved._parts.path += '/';\n }\n\n if (resolved.path().charAt(0) !== '/') {\n basedir = base.directory();\n basedir = basedir ? basedir : base.path().indexOf('/') === 0 ? '/' : '';\n resolved._parts.path = (basedir ? (basedir + '/') : '') + resolved._parts.path;\n resolved.normalizePath();\n }\n }\n\n resolved.build();\n return resolved;\n };\n p.relativeTo = function(base) {\n var relative = this.clone().normalize();\n var relativeParts, baseParts, common, relativePath, basePath;\n\n if (relative._parts.urn) {\n throw new Error('URNs do not have any generally defined hierarchical components');\n }\n\n base = new URI(base).normalize();\n relativeParts = relative._parts;\n baseParts = base._parts;\n relativePath = relative.path();\n basePath = base.path();\n\n if (relativePath.charAt(0) !== '/') {\n throw new Error('URI is already relative');\n }\n\n if (basePath.charAt(0) !== '/') {\n throw new Error('Cannot calculate a URI relative to another relative URI');\n }\n\n if (relativeParts.protocol === baseParts.protocol) {\n relativeParts.protocol = null;\n }\n\n if (relativeParts.username !== baseParts.username || relativeParts.password !== baseParts.password) {\n return relative.build();\n }\n\n if (relativeParts.protocol !== null || relativeParts.username !== null || relativeParts.password !== null) {\n return relative.build();\n }\n\n if (relativeParts.hostname === baseParts.hostname && relativeParts.port === baseParts.port) {\n relativeParts.hostname = null;\n relativeParts.port = null;\n } else {\n return relative.build();\n }\n\n if (relativePath === basePath) {\n relativeParts.path = '';\n return relative.build();\n }\n\n // determine common sub path\n common = URI.commonPath(relativePath, basePath);\n\n // If the paths have nothing in common, return a relative URL with the absolute path.\n if (!common) {\n return relative.build();\n }\n\n var parents = baseParts.path\n .substring(common.length)\n .replace(/[^\\/]*$/, '')\n .replace(/.*?\\//g, '../');\n\n relativeParts.path = (parents + relativeParts.path.substring(common.length)) || './';\n\n return relative.build();\n };\n\n // comparing URIs\n p.equals = function(uri) {\n var one = this.clone();\n var two = new URI(uri);\n var one_map = {};\n var two_map = {};\n var checked = {};\n var one_query, two_query, key;\n\n one.normalize();\n two.normalize();\n\n // exact match\n if (one.toString() === two.toString()) {\n return true;\n }\n\n // extract query string\n one_query = one.query();\n two_query = two.query();\n one.query('');\n two.query('');\n\n // definitely not equal if not even non-query parts match\n if (one.toString() !== two.toString()) {\n return false;\n }\n\n // query parameters have the same length, even if they're permuted\n if (one_query.length !== two_query.length) {\n return false;\n }\n\n one_map = URI.parseQuery(one_query, this._parts.escapeQuerySpace);\n two_map = URI.parseQuery(two_query, this._parts.escapeQuerySpace);\n\n for (key in one_map) {\n if (hasOwn.call(one_map, key)) {\n if (!isArray(one_map[key])) {\n if (one_map[key] !== two_map[key]) {\n return false;\n }\n } else if (!arraysEqual(one_map[key], two_map[key])) {\n return false;\n }\n\n checked[key] = true;\n }\n }\n\n for (key in two_map) {\n if (hasOwn.call(two_map, key)) {\n if (!checked[key]) {\n // two contains a parameter not present in one\n return false;\n }\n }\n }\n\n return true;\n };\n\n // state\n p.preventInvalidHostname = function(v) {\n this._parts.preventInvalidHostname = !!v;\n return this;\n };\n\n p.duplicateQueryParameters = function(v) {\n this._parts.duplicateQueryParameters = !!v;\n return this;\n };\n\n p.escapeQuerySpace = function(v) {\n this._parts.escapeQuerySpace = !!v;\n return this;\n };\n\n return URI;\n}));\n"],"names":["require$$0","require$$1","this"],"mappings":"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","x_google_ignoreList":[0]}
|