260 lines
35 KiB
Plaintext
260 lines
35 KiB
Plaintext
/**
|
|
* GraphQL.js provides a reference implementation for the GraphQL specification
|
|
* but is also a useful utility for operating on GraphQL files and building
|
|
* sophisticated tools.
|
|
*
|
|
* This primary module exports a general purpose function for fulfilling all
|
|
* steps of the GraphQL specification in a single operation, but also includes
|
|
* utilities for every part of the GraphQL specification:
|
|
*
|
|
* - Parsing the GraphQL language.
|
|
* - Building a GraphQL type schema.
|
|
* - Validating a GraphQL request against a type schema.
|
|
* - Executing a GraphQL request against a type schema.
|
|
*
|
|
* This also includes utility functions for operating on GraphQL types and
|
|
* GraphQL documents to facilitate building tools.
|
|
*
|
|
* You may also import from each sub-directory directly. For example, the
|
|
* following two import statements are equivalent:
|
|
*
|
|
* ```ts
|
|
* import { parse } from 'graphql';
|
|
* import { parse } from 'graphql/language';
|
|
* ```
|
|
*
|
|
* @packageDocumentation
|
|
*/
|
|
// The GraphQL.js version info.
|
|
export { version, versionInfo } from "/_nuxt/node_modules/graphql/version.mjs?v=e4f18c29"; // The primary entry point into fulfilling a GraphQL request.
|
|
|
|
export { graphql, graphqlSync } from "/_nuxt/node_modules/graphql/graphql.mjs?v=e4f18c29"; // Create and operate on GraphQL type definitions and schema.
|
|
|
|
export {
|
|
resolveObjMapThunk,
|
|
resolveReadonlyArrayThunk, // Definitions
|
|
GraphQLSchema,
|
|
GraphQLDirective,
|
|
GraphQLScalarType,
|
|
GraphQLObjectType,
|
|
GraphQLInterfaceType,
|
|
GraphQLUnionType,
|
|
GraphQLEnumType,
|
|
GraphQLInputObjectType,
|
|
GraphQLList,
|
|
GraphQLNonNull, // Standard GraphQL Scalars
|
|
specifiedScalarTypes,
|
|
GraphQLInt,
|
|
GraphQLFloat,
|
|
GraphQLString,
|
|
GraphQLBoolean,
|
|
GraphQLID, // Int boundaries constants
|
|
GRAPHQL_MAX_INT,
|
|
GRAPHQL_MIN_INT, // Built-in Directives defined by the Spec
|
|
specifiedDirectives,
|
|
GraphQLIncludeDirective,
|
|
GraphQLSkipDirective,
|
|
GraphQLDeprecatedDirective,
|
|
GraphQLSpecifiedByDirective,
|
|
GraphQLOneOfDirective, // "Enum" of Type Kinds
|
|
TypeKind, // Constant Deprecation Reason
|
|
DEFAULT_DEPRECATION_REASON, // GraphQL Types for introspection.
|
|
introspectionTypes,
|
|
__Schema,
|
|
__Directive,
|
|
__DirectiveLocation,
|
|
__Type,
|
|
__Field,
|
|
__InputValue,
|
|
__EnumValue,
|
|
__TypeKind, // Meta-field definitions.
|
|
SchemaMetaFieldDef,
|
|
TypeMetaFieldDef,
|
|
TypeNameMetaFieldDef, // Predicates
|
|
isSchema,
|
|
isDirective,
|
|
isType,
|
|
isScalarType,
|
|
isObjectType,
|
|
isInterfaceType,
|
|
isUnionType,
|
|
isEnumType,
|
|
isInputObjectType,
|
|
isListType,
|
|
isNonNullType,
|
|
isInputType,
|
|
isOutputType,
|
|
isLeafType,
|
|
isCompositeType,
|
|
isAbstractType,
|
|
isWrappingType,
|
|
isNullableType,
|
|
isNamedType,
|
|
isRequiredArgument,
|
|
isRequiredInputField,
|
|
isSpecifiedScalarType,
|
|
isIntrospectionType,
|
|
isSpecifiedDirective, // Assertions
|
|
assertSchema,
|
|
assertDirective,
|
|
assertType,
|
|
assertScalarType,
|
|
assertObjectType,
|
|
assertInterfaceType,
|
|
assertUnionType,
|
|
assertEnumType,
|
|
assertInputObjectType,
|
|
assertListType,
|
|
assertNonNullType,
|
|
assertInputType,
|
|
assertOutputType,
|
|
assertLeafType,
|
|
assertCompositeType,
|
|
assertAbstractType,
|
|
assertWrappingType,
|
|
assertNullableType,
|
|
assertNamedType, // Un-modifiers
|
|
getNullableType,
|
|
getNamedType, // Validate GraphQL schema.
|
|
validateSchema,
|
|
assertValidSchema, // Upholds the spec rules about naming.
|
|
assertName,
|
|
assertEnumValueName,
|
|
} from "/_nuxt/node_modules/graphql/type/index.mjs?v=e4f18c29";
|
|
// Parse and operate on GraphQL language source files.
|
|
export {
|
|
Token,
|
|
Source,
|
|
Location,
|
|
OperationTypeNode,
|
|
getLocation, // Print source location.
|
|
printLocation,
|
|
printSourceLocation, // Lex
|
|
Lexer,
|
|
TokenKind, // Parse
|
|
parse,
|
|
parseValue,
|
|
parseConstValue,
|
|
parseType, // Print
|
|
print, // Visit
|
|
visit,
|
|
visitInParallel,
|
|
getVisitFn,
|
|
getEnterLeaveForKind,
|
|
BREAK,
|
|
Kind,
|
|
DirectiveLocation, // Predicates
|
|
isDefinitionNode,
|
|
isExecutableDefinitionNode,
|
|
isSelectionNode,
|
|
isValueNode,
|
|
isConstValueNode,
|
|
isTypeNode,
|
|
isTypeSystemDefinitionNode,
|
|
isTypeDefinitionNode,
|
|
isTypeSystemExtensionNode,
|
|
isTypeExtensionNode,
|
|
} from "/_nuxt/node_modules/graphql/language/index.mjs?v=e4f18c29";
|
|
// Execute GraphQL queries.
|
|
export {
|
|
execute,
|
|
executeSync,
|
|
defaultFieldResolver,
|
|
defaultTypeResolver,
|
|
responsePathAsArray,
|
|
getArgumentValues,
|
|
getVariableValues,
|
|
getDirectiveValues,
|
|
subscribe,
|
|
createSourceEventStream,
|
|
} from "/_nuxt/node_modules/graphql/execution/index.mjs?v=e4f18c29";
|
|
// Validate GraphQL documents.
|
|
export {
|
|
validate,
|
|
ValidationContext, // All validation rules in the GraphQL Specification.
|
|
specifiedRules,
|
|
recommendedRules, // Individual validation rules.
|
|
ExecutableDefinitionsRule,
|
|
FieldsOnCorrectTypeRule,
|
|
FragmentsOnCompositeTypesRule,
|
|
KnownArgumentNamesRule,
|
|
KnownDirectivesRule,
|
|
KnownFragmentNamesRule,
|
|
KnownTypeNamesRule,
|
|
LoneAnonymousOperationRule,
|
|
NoFragmentCyclesRule,
|
|
NoUndefinedVariablesRule,
|
|
NoUnusedFragmentsRule,
|
|
NoUnusedVariablesRule,
|
|
OverlappingFieldsCanBeMergedRule,
|
|
PossibleFragmentSpreadsRule,
|
|
ProvidedRequiredArgumentsRule,
|
|
ScalarLeafsRule,
|
|
SingleFieldSubscriptionsRule,
|
|
UniqueArgumentNamesRule,
|
|
UniqueDirectivesPerLocationRule,
|
|
UniqueFragmentNamesRule,
|
|
UniqueInputFieldNamesRule,
|
|
UniqueOperationNamesRule,
|
|
UniqueVariableNamesRule,
|
|
ValuesOfCorrectTypeRule,
|
|
VariablesAreInputTypesRule,
|
|
VariablesInAllowedPositionRule,
|
|
MaxIntrospectionDepthRule, // SDL-specific validation rules
|
|
LoneSchemaDefinitionRule,
|
|
UniqueOperationTypesRule,
|
|
UniqueTypeNamesRule,
|
|
UniqueEnumValueNamesRule,
|
|
UniqueFieldDefinitionNamesRule,
|
|
UniqueArgumentDefinitionNamesRule,
|
|
UniqueDirectiveNamesRule,
|
|
PossibleTypeExtensionsRule, // Custom validation rules
|
|
NoDeprecatedCustomRule,
|
|
NoSchemaIntrospectionCustomRule,
|
|
} from "/_nuxt/node_modules/graphql/validation/index.mjs?v=e4f18c29";
|
|
// Create, format, and print GraphQL errors.
|
|
export {
|
|
GraphQLError,
|
|
syntaxError,
|
|
locatedError,
|
|
printError,
|
|
formatError,
|
|
} from "/_nuxt/node_modules/graphql/error/index.mjs?v=e4f18c29";
|
|
// Utilities for operating on GraphQL type schema and parsed sources.
|
|
export {
|
|
// Produce the GraphQL query recommended for a full schema introspection.
|
|
// Accepts optional IntrospectionOptions.
|
|
getIntrospectionQuery, // Gets the target Operation from a Document.
|
|
getOperationAST, // Gets the Type for the target Operation AST.
|
|
getOperationRootType, // Convert a GraphQLSchema to an IntrospectionQuery.
|
|
introspectionFromSchema, // Build a GraphQLSchema from an introspection result.
|
|
buildClientSchema, // Build a GraphQLSchema from a parsed GraphQL Schema language AST.
|
|
buildASTSchema, // Build a GraphQLSchema from a GraphQL schema language document.
|
|
buildSchema, // Extends an existing GraphQLSchema from a parsed GraphQL Schema language AST.
|
|
extendSchema, // Sort a GraphQLSchema.
|
|
lexicographicSortSchema, // Print a GraphQLSchema to GraphQL Schema language.
|
|
printSchema, // Print a GraphQLType to GraphQL Schema language.
|
|
printType, // Prints the built-in introspection schema in the Schema Language format.
|
|
printIntrospectionSchema, // Create a GraphQLType from a GraphQL language AST.
|
|
typeFromAST, // Create a JavaScript value from a GraphQL language AST with a Type.
|
|
valueFromAST, // Create a JavaScript value from a GraphQL language AST without a Type.
|
|
valueFromASTUntyped, // Create a GraphQL language AST from a JavaScript value.
|
|
astFromValue, // A helper to use within recursive-descent visitors which need to be aware of the GraphQL type system.
|
|
TypeInfo,
|
|
visitWithTypeInfo, // Coerces a JavaScript value to a GraphQL type, or produces errors.
|
|
coerceInputValue, // Concatenates multiple AST together.
|
|
concatAST, // Separates an AST into an AST per Operation.
|
|
separateOperations, // Strips characters that are not significant to the validity or execution of a GraphQL document.
|
|
stripIgnoredCharacters, // Comparators for types
|
|
isEqualType,
|
|
isTypeSubTypeOf,
|
|
doTypesOverlap, // Asserts a string is a valid GraphQL name.
|
|
assertValidName, // Determine if a string is a valid GraphQL name.
|
|
isValidNameError, // Compares two GraphQLSchemas and detects breaking changes.
|
|
BreakingChangeType,
|
|
DangerousChangeType,
|
|
findBreakingChanges,
|
|
findDangerousChanges,
|
|
} from "/_nuxt/node_modules/graphql/utilities/index.mjs?v=e4f18c29";
|
|
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4Lm1qcz92PWU0ZjE4YzI5Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR3JhcGhRTC5qcyBwcm92aWRlcyBhIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIEdyYXBoUUwgc3BlY2lmaWNhdGlvblxuICogYnV0IGlzIGFsc28gYSB1c2VmdWwgdXRpbGl0eSBmb3Igb3BlcmF0aW5nIG9uIEdyYXBoUUwgZmlsZXMgYW5kIGJ1aWxkaW5nXG4gKiBzb3BoaXN0aWNhdGVkIHRvb2xzLlxuICpcbiAqIFRoaXMgcHJpbWFyeSBtb2R1bGUgZXhwb3J0cyBhIGdlbmVyYWwgcHVycG9zZSBmdW5jdGlvbiBmb3IgZnVsZmlsbGluZyBhbGxcbiAqIHN0ZXBzIG9mIHRoZSBHcmFwaFFMIHNwZWNpZmljYXRpb24gaW4gYSBzaW5nbGUgb3BlcmF0aW9uLCBidXQgYWxzbyBpbmNsdWRlc1xuICogdXRpbGl0aWVzIGZvciBldmVyeSBwYXJ0IG9mIHRoZSBHcmFwaFFMIHNwZWNpZmljYXRpb246XG4gKlxuICogICAtIFBhcnNpbmcgdGhlIEdyYXBoUUwgbGFuZ3VhZ2UuXG4gKiAgIC0gQnVpbGRpbmcgYSBHcmFwaFFMIHR5cGUgc2NoZW1hLlxuICogICAtIFZhbGlkYXRpbmcgYSBHcmFwaFFMIHJlcXVlc3QgYWdhaW5zdCBhIHR5cGUgc2NoZW1hLlxuICogICAtIEV4ZWN1dGluZyBhIEdyYXBoUUwgcmVxdWVzdCBhZ2FpbnN0IGEgdHlwZSBzY2hlbWEuXG4gKlxuICogVGhpcyBhbHNvIGluY2x1ZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBvcGVyYXRpbmcgb24gR3JhcGhRTCB0eXBlcyBhbmRcbiAqIEdyYXBoUUwgZG9jdW1lbnRzIHRvIGZhY2lsaXRhdGUgYnVpbGRpbmcgdG9vbHMuXG4gKlxuICogWW91IG1heSBhbHNvIGltcG9ydCBmcm9tIGVhY2ggc3ViLWRpcmVjdG9yeSBkaXJlY3RseS4gRm9yIGV4YW1wbGUsIHRoZVxuICogZm9sbG93aW5nIHR3byBpbXBvcnQgc3RhdGVtZW50cyBhcmUgZXF1aXZhbGVudDpcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgcGFyc2UgfSBmcm9tICdncmFwaHFsJztcbiAqIGltcG9ydCB7IHBhcnNlIH0gZnJvbSAnZ3JhcGhxbC9sYW5ndWFnZSc7XG4gKiBgYGBcbiAqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqL1xuLy8gVGhlIEdyYXBoUUwuanMgdmVyc2lvbiBpbmZvLlxuZXhwb3J0IHsgdmVyc2lvbiwgdmVyc2lvbkluZm8gfSBmcm9tIFwiL19udXh0L25vZGVfbW9kdWxlcy9ncmFwaHFsL3ZlcnNpb24ubWpzP3Y9ZTRmMThjMjlcIjsgLy8gVGhlIHByaW1hcnkgZW50cnkgcG9pbnQgaW50byBmdWxmaWxsaW5nIGEgR3JhcGhRTCByZXF1ZXN0LlxuXG5leHBvcnQgeyBncmFwaHFsLCBncmFwaHFsU3luYyB9IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL2dyYXBocWwvZ3JhcGhxbC5tanM/dj1lNGYxOGMyOVwiOyAvLyBDcmVhdGUgYW5kIG9wZXJhdGUgb24gR3JhcGhRTCB0eXBlIGRlZmluaXRpb25zIGFuZCBzY2hlbWEuXG5cbmV4cG9ydCB7XG4gIHJlc29sdmVPYmpNYXBUaHVuayxcbiAgcmVzb2x2ZVJlYWRvbmx5QXJyYXlUaHVuaywgLy8gRGVmaW5pdGlvbnNcbiAgR3JhcGhRTFNjaGVtYSxcbiAgR3JhcGhRTERpcmVjdGl2ZSxcbiAgR3JhcGhRTFNjYWxhclR5cGUsXG4gIEdyYXBoUUxPYmplY3RUeXBlLFxuICBHcmFwaFFMSW50ZXJmYWNlVHlwZSxcbiAgR3JhcGhRTFVuaW9uVHlwZSxcbiAgR3JhcGhRTEVudW1UeXBlLFxuICBHcmFwaFFMSW5wdXRPYmplY3RUeXBlLFxuICBHcmFwaFFMTGlzdCxcbiAgR3JhcGhRTE5vbk51bGwsIC8vIFN0YW5kYXJkIEdyYXBoUUwgU2NhbGFyc1xuICBzcGVjaWZpZWRTY2FsYXJUeXBlcyxcbiAgR3JhcGhRTEludCxcbiAgR3JhcGhRTEZsb2F0LFxuICBHcmFwaFFMU3RyaW5nLFxuICBHcmFwaFFMQm9vbGVhbixcbiAgR3JhcGhRTElELCAvLyBJbnQgYm91bmRhcmllcyBjb25zdGFudHNcbiAgR1JBUEhRTF9NQVhfSU5ULFxuICBHUkFQSFFMX01JTl9JTlQsIC8vIEJ1aWx0LWluIERpcmVjdGl2ZXMgZGVmaW5lZCBieSB0aGUgU3BlY1xuICBzcGVjaWZpZWREaXJlY3RpdmVzLFxuICBHcmFwaFFMSW5jbHVkZURpcmVjdGl2ZSxcbiAgR3JhcGhRTFNraXBEaXJlY3RpdmUsXG4gIEdyYXBoUUxEZXByZWNhdGVkRGlyZWN0aXZlLFxuICBHcmFwaFFMU3BlY2lmaWVkQnlEaXJlY3RpdmUsXG4gIEdyYXBoUUxPbmVPZkRpcmVjdGl2ZSwgLy8gXCJFbnVtXCIgb2YgVHlwZSBLaW5kc1xuICBUeXBlS2luZCwgLy8gQ29uc3RhbnQgRGVwcmVjYXRpb24gUmVhc29uXG4gIERFRkFVTFRfREVQUkVDQVRJT05fUkVBU09OLCAvLyBHcmFwaFFMIFR5cGVzIGZvciBpbnRyb3NwZWN0aW9uLlxuICBpbnRyb3NwZWN0aW9uVHlwZXMsXG4gIF9fU2NoZW1hLFxuICBfX0RpcmVjdGl2ZSxcbiAgX19EaXJlY3RpdmVMb2NhdGlvbixcbiAgX19UeXBlLFxuICBfX0ZpZWxkLFxuICBfX0lucHV0VmFsdWUsXG4gIF9fRW51bVZhbHVlLFxuICBfX1R5cGVLaW5kLCAvLyBNZXRhLWZpZWxkIGRlZmluaXRpb25zLlxuICBTY2hlbWFNZXRhRmllbGREZWYsXG4gIFR5cGVNZXRhRmllbGREZWYsXG4gIFR5cGVOYW1lTWV0YUZpZWxkRGVmLCAvLyBQcmVkaWNhdGVzXG4gIGlzU2NoZW1hLFxuICBpc0RpcmVjdGl2ZSxcbiAgaXNUeXBlLFxuICBpc1NjYWxhclR5cGUsXG4gIGlzT2JqZWN0VHlwZSxcbiAgaXNJbnRlcmZhY2VUeXBlLFxuICBpc1VuaW9uVHlwZSxcbiAgaXNFbnVtVHlwZSxcbiAgaXNJbnB1dE9iamVjdFR5cGUsXG4gIGlzTGlzdFR5cGUsXG4gIGlzTm9uTnVsbFR5cGUsXG4gIGlzSW5wdXRUeXBlLFxuICBpc091dHB1dFR5cGUsXG4gIGlzTGVhZlR5cGUsXG4gIGlzQ29tcG9zaXRlVHlwZSxcbiAgaXNBYnN0cmFjdFR5cGUsXG4gIGlzV3JhcHBpbmdUeXBlLFxuICBpc051bGxhYmxlVHlwZSxcbiAgaXNOYW1lZFR5cGUsXG4gIGlzUmVxdWlyZWRBcmd1bWVudCxcbiAgaXNSZXF1aXJlZElucHV0RmllbGQsXG4gIGlzU3BlY2lmaWVkU2NhbGFyVHlwZSxcbiAgaXNJbnRyb3NwZWN0aW9uVHlwZSxcbiAgaXNTcGVjaWZpZWREaXJlY3RpdmUsIC8vIEFzc2VydGlvbnNcbiAgYXNzZXJ0U2NoZW1hLFxuICBhc3NlcnREaXJlY3RpdmUsXG4gIGFzc2VydFR5cGUsXG4gIGFzc2VydFNjYWxhclR5cGUsXG4gIGFzc2VydE9iamVjdFR5cGUsXG4gIGFzc2VydEludGVyZmFjZVR5cGUsXG4gIGFzc2VydFVuaW9uVHlwZSxcbiAgYXNzZXJ0RW51bVR5cGUsXG4gIGFzc2VydElucHV0T2JqZWN0VHlwZSxcbiAgYXNzZXJ0TGlzdFR5cGUsXG4gIGFzc2VydE5vbk51bGxUeXBlLFxuICBhc3NlcnRJbnB1dFR5cGUsXG4gIGFzc2VydE91dHB1dFR5cGUsXG4gIGFzc2VydExlYWZUeXBlLFxuICBhc3NlcnRDb21wb3NpdGVUeXBlLFxuICBhc3NlcnRBYnN0cmFjdFR5cGUsXG4gIGFzc2VydFdyYXBwaW5nVHlwZSxcbiAgYXNzZXJ0TnVsbGFibGVUeXBlLFxuICBhc3NlcnROYW1lZFR5cGUsIC8vIFVuLW1vZGlmaWVyc1xuICBnZXROdWxsYWJsZVR5cGUsXG4gIGdldE5hbWVkVHlwZSwgLy8gVmFsaWRhdGUgR3JhcGhRTCBzY2hlbWEuXG4gIHZhbGlkYXRlU2NoZW1hLFxuICBhc3NlcnRWYWxpZFNjaGVtYSwgLy8gVXBob2xkcyB0aGUgc3BlYyBydWxlcyBhYm91dCBuYW1pbmcuXG4gIGFzc2VydE5hbWUsXG4gIGFzc2VydEVudW1WYWx1ZU5hbWUsXG59IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL2dyYXBocWwvdHlwZS9pbmRleC5tanM/dj1lNGYxOGMyOVwiO1xuLy8gUGFyc2UgYW5kIG9wZXJhdGUgb24gR3JhcGhRTCBsYW5ndWFnZSBzb3VyY2UgZmlsZXMuXG5leHBvcnQge1xuICBUb2tlbixcbiAgU291cmNlLFxuICBMb2NhdGlvbixcbiAgT3BlcmF0aW9uVHlwZU5vZGUsXG4gIGdldExvY2F0aW9uLCAvLyBQcmludCBzb3VyY2UgbG9jYXRpb24uXG4gIHByaW50TG9jYXRpb24sXG4gIHByaW50U291cmNlTG9jYXRpb24sIC8vIExleFxuICBMZXhlcixcbiAgVG9rZW5LaW5kLCAvLyBQYXJzZVxuICBwYXJzZSxcbiAgcGFyc2VWYWx1ZSxcbiAgcGFyc2VDb25zdFZhbHVlLFxuICBwYXJzZVR5cGUsIC8vIFByaW50XG4gIHByaW50LCAvLyBWaXNpdFxuICB2aXNpdCxcbiAgdmlzaXRJblBhcmFsbGVsLFxuICBnZXRWaXNpdEZuLFxuICBnZXRFbnRlckxlYXZlRm9yS2luZCxcbiAgQlJFQUssXG4gIEtpbmQsXG4gIERpcmVjdGl2ZUxvY2F0aW9uLCAvLyBQcmVkaWNhdGVzXG4gIGlzRGVmaW5pdGlvbk5vZGUsXG4gIGlzRXhlY3V0YWJsZURlZmluaXRpb25Ob2RlLFxuICBpc1NlbGVjdGlvbk5vZGUsXG4gIGlzVmFsdWVOb2RlLFxuICBpc0NvbnN0VmFsdWVOb2RlLFxuICBpc1R5cGVOb2RlLFxuICBpc1R5cGVTeXN0ZW1EZWZpbml0aW9uTm9kZSxcbiAgaXNUeXBlRGVmaW5pdGlvbk5vZGUsXG4gIGlzVHlwZVN5c3RlbUV4dGVuc2lvbk5vZGUsXG4gIGlzVHlwZUV4dGVuc2lvbk5vZGUsXG59IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL2dyYXBocWwvbGFuZ3VhZ2UvaW5kZXgubWpzP3Y9ZTRmMThjMjlcIjtcbi8vIEV4ZWN1dGUgR3JhcGhRTCBxdWVyaWVzLlxuZXhwb3J0IHtcbiAgZXhlY3V0ZSxcbiAgZXhlY3V0ZVN5bmMsXG4gIGRlZmF1bHRGaWVsZFJlc29sdmVyLFxuICBkZWZhdWx0VHlwZVJlc29sdmVyLFxuICByZXNwb25zZVBhdGhBc0FycmF5LFxuICBnZXRBcmd1bWVudFZhbHVlcyxcbiAgZ2V0VmFyaWFibGVWYWx1ZXMsXG4gIGdldERpcmVjdGl2ZVZhbHVlcyxcbiAgc3Vic2NyaWJlLFxuICBjcmVhdGVTb3VyY2VFdmVudFN0cmVhbSxcbn0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvZ3JhcGhxbC9leGVjdXRpb24vaW5kZXgubWpzP3Y9ZTRmMThjMjlcIjtcbi8vIFZhbGlkYXRlIEdyYXBoUUwgZG9jdW1lbnRzLlxuZXhwb3J0IHtcbiAgdmFsaWRhdGUsXG4gIFZhbGlkYXRpb25Db250ZXh0LCAvLyBBbGwgdmFsaWRhdGlvbiBydWxlcyBpbiB0aGUgR3JhcGhRTCBTcGVjaWZpY2F0aW9uLlxuICBzcGVjaWZpZWRSdWxlcyxcbiAgcmVjb21tZW5kZWRSdWxlcywgLy8gSW5kaXZpZHVhbCB2YWxpZGF0aW9uIHJ1bGVzLlxuICBFeGVjdXRhYmxlRGVmaW5pdGlvbnNSdWxlLFxuICBGaWVsZHNPbkNvcnJlY3RUeXBlUnVsZSxcbiAgRnJhZ21lbnRzT25Db21wb3NpdGVUeXBlc1J1bGUsXG4gIEtub3duQXJndW1lbnROYW1lc1J1bGUsXG4gIEtub3duRGlyZWN0aXZlc1J1bGUsXG4gIEtub3duRnJhZ21lbnROYW1lc1J1bGUsXG4gIEtub3duVHlwZU5hbWVzUnVsZSxcbiAgTG9uZUFub255bW91c09wZXJhdGlvblJ1bGUsXG4gIE5vRnJhZ21lbnRDeWNsZXNSdWxlLFxuICBOb1VuZGVmaW5lZFZhcmlhYmxlc1J1bGUsXG4gIE5vVW51c2VkRnJhZ21lbnRzUnVsZSxcbiAgTm9VbnVzZWRWYXJpYWJsZXNSdWxlLFxuICBPdmVybGFwcGluZ0ZpZWxkc0NhbkJlTWVyZ2VkUnVsZSxcbiAgUG9zc2libGVGcmFnbWVudFNwcmVhZHNSdWxlLFxuICBQcm92aWRlZFJlcXVpcmVkQXJndW1lbnRzUnVsZSxcbiAgU2NhbGFyTGVhZnNSdWxlLFxuICBTaW5nbGVGaWVsZFN1YnNjcmlwdGlvbnNSdWxlLFxuICBVbmlxdWVBcmd1bWVudE5hbWVzUnVsZSxcbiAgVW5pcXVlRGlyZWN0aXZlc1BlckxvY2F0aW9uUnVsZSxcbiAgVW5pcXVlRnJhZ21lbnROYW1lc1J1bGUsXG4gIFVuaXF1ZUlucHV0RmllbGROYW1lc1J1bGUsXG4gIFVuaXF1ZU9wZXJhdGlvbk5hbWVzUnVsZSxcbiAgVW5pcXVlVmFyaWFibGVOYW1lc1J1bGUsXG4gIFZhbHVlc09mQ29ycmVjdFR5cGVSdWxlLFxuICBWYXJpYWJsZXNBcmVJbnB1dFR5cGVzUnVsZSxcbiAgVmFyaWFibGVzSW5BbGxvd2VkUG9zaXRpb25SdWxlLFxuICBNYXhJbnRyb3NwZWN0aW9uRGVwdGhSdWxlLCAvLyBTREwtc3BlY2lmaWMgdmFsaWRhdGlvbiBydWxlc1xuICBMb25lU2NoZW1hRGVmaW5pdGlvblJ1bGUsXG4gIFVuaXF1ZU9wZXJhdGlvblR5cGVzUnVsZSxcbiAgVW5pcXVlVHlwZU5hbWVzUnVsZSxcbiAgVW5pcXVlRW51bVZhbHVlTmFtZXNSdWxlLFxuICBVbmlxdWVGaWVsZERlZmluaXRpb25OYW1lc1J1bGUsXG4gIFVuaXF1ZUFyZ3VtZW50RGVmaW5pdGlvbk5hbWVzUnVsZSxcbiAgVW5pcXVlRGlyZWN0aXZlTmFtZXNSdWxlLFxuICBQb3NzaWJsZVR5cGVFeHRlbnNpb25zUnVsZSwgLy8gQ3VzdG9tIHZhbGlkYXRpb24gcnVsZXNcbiAgTm9EZXByZWNhdGVkQ3VzdG9tUnVsZSxcbiAgTm9TY2hlbWFJbnRyb3NwZWN0aW9uQ3VzdG9tUnVsZSxcbn0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvZ3JhcGhxbC92YWxpZGF0aW9uL2luZGV4Lm1qcz92PWU0ZjE4YzI5XCI7XG4vLyBDcmVhdGUsIGZvcm1hdCwgYW5kIHByaW50IEdyYXBoUUwgZXJyb3JzLlxuZXhwb3J0IHtcbiAgR3JhcGhRTEVycm9yLFxuICBzeW50YXhFcnJvcixcbiAgbG9jYXRlZEVycm9yLFxuICBwcmludEVycm9yLFxuICBmb3JtYXRFcnJvcixcbn0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvZ3JhcGhxbC9lcnJvci9pbmRleC5tanM/dj1lNGYxOGMyOVwiO1xuLy8gVXRpbGl0aWVzIGZvciBvcGVyYXRpbmcgb24gR3JhcGhRTCB0eXBlIHNjaGVtYSBhbmQgcGFyc2VkIHNvdXJjZXMuXG5leHBvcnQge1xuICAvLyBQcm9kdWNlIHRoZSBHcmFwaFFMIHF1ZXJ5IHJlY29tbWVuZGVkIGZvciBhIGZ1bGwgc2NoZW1hIGludHJvc3BlY3Rpb24uXG4gIC8vIEFjY2VwdHMgb3B0aW9uYWwgSW50cm9zcGVjdGlvbk9wdGlvbnMuXG4gIGdldEludHJvc3BlY3Rpb25RdWVyeSwgLy8gR2V0cyB0aGUgdGFyZ2V0IE9wZXJhdGlvbiBmcm9tIGEgRG9jdW1lbnQuXG4gIGdldE9wZXJhdGlvbkFTVCwgLy8gR2V0cyB0aGUgVHlwZSBmb3IgdGhlIHRhcmdldCBPcGVyYXRpb24gQVNULlxuICBnZXRPcGVyYXRpb25Sb290VHlwZSwgLy8gQ29udmVydCBhIEdyYXBoUUxTY2hlbWEgdG8gYW4gSW50cm9zcGVjdGlvblF1ZXJ5LlxuICBpbnRyb3NwZWN0aW9uRnJvbVNjaGVtYSwgLy8gQnVpbGQgYSBHcmFwaFFMU2NoZW1hIGZyb20gYW4gaW50cm9zcGVjdGlvbiByZXN1bHQuXG4gIGJ1aWxkQ2xpZW50U2NoZW1hLCAvLyBCdWlsZCBhIEdyYXBoUUxTY2hlbWEgZnJvbSBhIHBhcnNlZCBHcmFwaFFMIFNjaGVtYSBsYW5ndWFnZSBBU1QuXG4gIGJ1aWxkQVNUU2NoZW1hLCAvLyBCdWlsZCBhIEdyYXBoUUxTY2hlbWEgZnJvbSBhIEdyYXBoUUwgc2NoZW1hIGxhbmd1YWdlIGRvY3VtZW50LlxuICBidWlsZFNjaGVtYSwgLy8gRXh0ZW5kcyBhbiBleGlzdGluZyBHcmFwaFFMU2NoZW1hIGZyb20gYSBwYXJzZWQgR3JhcGhRTCBTY2hlbWEgbGFuZ3VhZ2UgQVNULlxuICBleHRlbmRTY2hlbWEsIC8vIFNvcnQgYSBHcmFwaFFMU2NoZW1hLlxuICBsZXhpY29ncmFwaGljU29ydFNjaGVtYSwgLy8gUHJpbnQgYSBHcmFwaFFMU2NoZW1hIHRvIEdyYXBoUUwgU2NoZW1hIGxhbmd1YWdlLlxuICBwcmludFNjaGVtYSwgLy8gUHJpbnQgYSBHcmFwaFFMVHlwZSB0byBHcmFwaFFMIFNjaGVtYSBsYW5ndWFnZS5cbiAgcHJpbnRUeXBlLCAvLyBQcmludHMgdGhlIGJ1aWx0LWluIGludHJvc3BlY3Rpb24gc2NoZW1hIGluIHRoZSBTY2hlbWEgTGFuZ3VhZ2UgZm9ybWF0LlxuICBwcmludEludHJvc3BlY3Rpb25TY2hlbWEsIC8vIENyZWF0ZSBhIEdyYXBoUUxUeXBlIGZyb20gYSBHcmFwaFFMIGxhbmd1YWdlIEFTVC5cbiAgdHlwZUZyb21BU1QsIC8vIENyZWF0ZSBhIEphdmFTY3JpcHQgdmFsdWUgZnJvbSBhIEdyYXBoUUwgbGFuZ3VhZ2UgQVNUIHdpdGggYSBUeXBlLlxuICB2YWx1ZUZyb21BU1QsIC8vIENyZWF0ZSBhIEphdmFTY3JpcHQgdmFsdWUgZnJvbSBhIEdyYXBoUUwgbGFuZ3VhZ2UgQVNUIHdpdGhvdXQgYSBUeXBlLlxuICB2YWx1ZUZyb21BU1RVbnR5cGVkLCAvLyBDcmVhdGUgYSBHcmFwaFFMIGxhbmd1YWdlIEFTVCBmcm9tIGEgSmF2YVNjcmlwdCB2YWx1ZS5cbiAgYXN0RnJvbVZhbHVlLCAvLyBBIGhlbHBlciB0byB1c2Ugd2l0aGluIHJlY3Vyc2l2ZS1kZXNjZW50IHZpc2l0b3JzIHdoaWNoIG5lZWQgdG8gYmUgYXdhcmUgb2YgdGhlIEdyYXBoUUwgdHlwZSBzeXN0ZW0uXG4gIFR5cGVJbmZvLFxuICB2aXNpdFdpdGhUeXBlSW5mbywgLy8gQ29lcmNlcyBhIEphdmFTY3JpcHQgdmFsdWUgdG8gYSBHcmFwaFFMIHR5cGUsIG9yIHByb2R1Y2VzIGVycm9ycy5cbiAgY29lcmNlSW5wdXRWYWx1ZSwgLy8gQ29uY2F0ZW5hdGVzIG11bHRpcGxlIEFTVCB0b2dldGhlci5cbiAgY29uY2F0QVNULCAvLyBTZXBhcmF0ZXMgYW4gQVNUIGludG8gYW4gQVNUIHBlciBPcGVyYXRpb24uXG4gIHNlcGFyYXRlT3BlcmF0aW9ucywgLy8gU3RyaXBzIGNoYXJhY3RlcnMgdGhhdCBhcmUgbm90IHNpZ25pZmljYW50IHRvIHRoZSB2YWxpZGl0eSBvciBleGVjdXRpb24gb2YgYSBHcmFwaFFMIGRvY3VtZW50LlxuICBzdHJpcElnbm9yZWRDaGFyYWN0ZXJzLCAvLyBDb21wYXJhdG9ycyBmb3IgdHlwZXNcbiAgaXNFcXVhbFR5cGUsXG4gIGlzVHlwZVN1YlR5cGVPZixcbiAgZG9UeXBlc092ZXJsYXAsIC8vIEFzc2VydHMgYSBzdHJpbmcgaXMgYSB2YWxpZCBHcmFwaFFMIG5hbWUuXG4gIGFzc2VydFZhbGlkTmFtZSwgLy8gRGV0ZXJtaW5lIGlmIGEgc3RyaW5nIGlzIGEgdmFsaWQgR3JhcGhRTCBuYW1lLlxuICBpc1ZhbGlkTmFtZUVycm9yLCAvLyBDb21wYXJlcyB0d28gR3JhcGhRTFNjaGVtYXMgYW5kIGRldGVjdHMgYnJlYWtpbmcgY2hhbmdlcy5cbiAgQnJlYWtpbmdDaGFuZ2VUeXBlLFxuICBEYW5nZXJvdXNDaGFuZ2VUeXBlLFxuICBmaW5kQnJlYWtpbmdDaGFuZ2VzLFxuICBmaW5kRGFuZ2Vyb3VzQ2hhbmdlcyxcbn0gZnJvbSBcIi9fbnV4dC9ub2RlX21vZHVsZXMvZ3JhcGhxbC91dGlsaXRpZXMvaW5kZXgubWpzP3Y9ZTRmMThjMjlcIjtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxDQUFDLENBQUM7QUFDRixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztBQUNsRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztBQUNuRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSztBQUN0QixDQUFDO0FBQ0QsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO0FBQ3pFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztBQUN0RSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBYTtBQUN4RCxDQUFDO0FBQ0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRO0FBQ25DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU07QUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTTtBQUN6RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNO0FBQ3hELENBQUM7QUFDRCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7QUFDdkUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLO0FBQ2pELENBQUM7QUFDRCxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN0RSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVU7QUFDakQsQ0FBQztBQUNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUNsQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztBQUMzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBQ0QsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJO0FBQzlCLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxL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 |