@stepzen/graphiql-proxy 0.34.0-beta.0 → 0.34.0-beta.1

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.
Files changed (60) hide show
  1. package/package.json +3 -3
  2. package/src/ui/build/asset-manifest.json +47 -47
  3. package/src/ui/build/index.html +1 -1
  4. package/src/ui/build/static/js/{0.a1da3266.chunk.js → 0.5e30f0d2.chunk.js} +2 -2
  5. package/src/ui/build/static/js/{0.a1da3266.chunk.js.map → 0.5e30f0d2.chunk.js.map} +1 -1
  6. package/src/ui/build/static/js/{136.7849911c.chunk.js → 136.f5cbe563.chunk.js} +2 -2
  7. package/src/ui/build/static/js/{136.7849911c.chunk.js.map → 136.f5cbe563.chunk.js.map} +1 -1
  8. package/src/ui/build/static/js/{170.27296619.chunk.js → 170.8d38f8f7.chunk.js} +2 -2
  9. package/src/ui/build/static/js/{170.27296619.chunk.js.map → 170.8d38f8f7.chunk.js.map} +1 -1
  10. package/src/ui/build/static/js/190.89592804.chunk.js +2 -0
  11. package/src/ui/build/static/js/{190.e088a175.chunk.js.map → 190.89592804.chunk.js.map} +1 -1
  12. package/src/ui/build/static/js/267.91bc8020.chunk.js +2 -0
  13. package/src/ui/build/static/js/{267.962ef6a4.chunk.js.map → 267.91bc8020.chunk.js.map} +1 -1
  14. package/src/ui/build/static/js/{306.cb66dc99.chunk.js → 306.b76cda79.chunk.js} +2 -2
  15. package/src/ui/build/static/js/{306.cb66dc99.chunk.js.map → 306.b76cda79.chunk.js.map} +1 -1
  16. package/src/ui/build/static/js/316.657bf0ad.chunk.js +2 -0
  17. package/src/ui/build/static/js/{316.7c2be1f0.chunk.js.map → 316.657bf0ad.chunk.js.map} +1 -1
  18. package/src/ui/build/static/js/{322.5ada89eb.chunk.js → 322.28bfb0ce.chunk.js} +2 -2
  19. package/src/ui/build/static/js/{322.5ada89eb.chunk.js.map → 322.28bfb0ce.chunk.js.map} +1 -1
  20. package/src/ui/build/static/js/{344.e6b10333.chunk.js → 344.142d13e9.chunk.js} +2 -2
  21. package/src/ui/build/static/js/{344.e6b10333.chunk.js.map → 344.142d13e9.chunk.js.map} +1 -1
  22. package/src/ui/build/static/js/39.73440f40.chunk.js +2 -0
  23. package/src/ui/build/static/js/{39.dd9b3202.chunk.js.map → 39.73440f40.chunk.js.map} +1 -1
  24. package/src/ui/build/static/js/{430.de05cf2b.chunk.js → 430.23c55f04.chunk.js} +2 -2
  25. package/src/ui/build/static/js/{430.de05cf2b.chunk.js.map → 430.23c55f04.chunk.js.map} +1 -1
  26. package/src/ui/build/static/js/{503.a3ba392a.chunk.js → 503.c783958a.chunk.js} +2 -2
  27. package/src/ui/build/static/js/{503.a3ba392a.chunk.js.map → 503.c783958a.chunk.js.map} +1 -1
  28. package/src/ui/build/static/js/580.0502adfe.chunk.js +2 -0
  29. package/src/ui/build/static/js/{580.b48b02d9.chunk.js.map → 580.0502adfe.chunk.js.map} +1 -1
  30. package/src/ui/build/static/js/587.40adb4ae.chunk.js +2 -0
  31. package/src/ui/build/static/js/{587.f2cbe2fb.chunk.js.map → 587.40adb4ae.chunk.js.map} +1 -1
  32. package/src/ui/build/static/js/{619.cd709ae5.chunk.js → 619.f3523a4f.chunk.js} +2 -2
  33. package/src/ui/build/static/js/{619.cd709ae5.chunk.js.map → 619.f3523a4f.chunk.js.map} +1 -1
  34. package/src/ui/build/static/js/658.828eff8d.chunk.js +2 -0
  35. package/src/ui/build/static/js/{658.916c9abf.chunk.js.map → 658.828eff8d.chunk.js.map} +1 -1
  36. package/src/ui/build/static/js/{756.a915a97e.chunk.js → 756.3530beeb.chunk.js} +2 -2
  37. package/src/ui/build/static/js/{756.a915a97e.chunk.js.map → 756.3530beeb.chunk.js.map} +1 -1
  38. package/src/ui/build/static/js/76.13bc4c09.chunk.js +2 -0
  39. package/src/ui/build/static/js/{76.0a014434.chunk.js.map → 76.13bc4c09.chunk.js.map} +1 -1
  40. package/src/ui/build/static/js/{804.118a9243.chunk.js → 804.9d9c6f3a.chunk.js} +2 -2
  41. package/src/ui/build/static/js/{804.118a9243.chunk.js.map → 804.9d9c6f3a.chunk.js.map} +1 -1
  42. package/src/ui/build/static/js/{849.f850f73b.chunk.js → 849.e36d6caf.chunk.js} +2 -2
  43. package/src/ui/build/static/js/{849.f850f73b.chunk.js.map → 849.e36d6caf.chunk.js.map} +1 -1
  44. package/src/ui/build/static/js/{88.b5b4cd91.chunk.js → 88.b61d66e1.chunk.js} +2 -2
  45. package/src/ui/build/static/js/{88.b5b4cd91.chunk.js.map → 88.b61d66e1.chunk.js.map} +1 -1
  46. package/src/ui/build/static/js/{983.df163755.chunk.js → 983.cfb8ccb4.chunk.js} +2 -2
  47. package/src/ui/build/static/js/{983.df163755.chunk.js.map → 983.cfb8ccb4.chunk.js.map} +1 -1
  48. package/src/ui/build/static/js/main.2b4d123a.js +3 -0
  49. package/src/ui/build/static/js/main.2b4d123a.js.map +1 -0
  50. package/src/ui/build/static/js/190.e088a175.chunk.js +0 -2
  51. package/src/ui/build/static/js/267.962ef6a4.chunk.js +0 -2
  52. package/src/ui/build/static/js/316.7c2be1f0.chunk.js +0 -2
  53. package/src/ui/build/static/js/39.dd9b3202.chunk.js +0 -2
  54. package/src/ui/build/static/js/580.b48b02d9.chunk.js +0 -2
  55. package/src/ui/build/static/js/587.f2cbe2fb.chunk.js +0 -2
  56. package/src/ui/build/static/js/658.916c9abf.chunk.js +0 -2
  57. package/src/ui/build/static/js/76.0a014434.chunk.js +0 -2
  58. package/src/ui/build/static/js/main.f7f15d8d.js +0 -3
  59. package/src/ui/build/static/js/main.f7f15d8d.js.map +0 -1
  60. /package/src/ui/build/static/js/{main.f7f15d8d.js.LICENSE.txt → main.2b4d123a.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"static/js/316.7c2be1f0.chunk.js","mappings":"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","sources":["../node_modules/codemirror-graphql/src/utils/forEachState.ts","../node_modules/codemirror-graphql/src/utils/hintList.ts","../node_modules/codemirror-graphql/src/variables/hint.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport type { State, Maybe } from 'graphql-language-service';\n\n// Utility for iterating through a CodeMirror parse state stack bottom-up.\nexport default function forEachState(stack: State, fn: (state: State) => void) {\n const reverseStateStack = [];\n let state: Maybe<State> = stack;\n while (state && state.kind) {\n reverseStateStack.push(state);\n state = state.prevState;\n }\n for (let i = reverseStateStack.length - 1; i >= 0; i--) {\n fn(reverseStateStack[i]);\n }\n}\n","/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport type CodeMirror from 'codemirror';\nimport { IHint, IHints } from '../hint';\n\n// Create the expected hint response given a possible list and a token\nexport default function hintList(\n cursor: CodeMirror.Position,\n token: CodeMirror.Token,\n list: IHint[],\n): IHints | undefined {\n const hints = filterAndSortList(list, normalizeText(token.string));\n if (!hints) {\n return;\n }\n\n const tokenStart =\n token.type !== null && /\"|\\w/.test(token.string[0])\n ? token.start\n : token.end;\n\n return {\n list: hints,\n from: { line: cursor.line, ch: tokenStart }, // TODO: Confirm. Was changed column to ch\n to: { line: cursor.line, ch: token.end },\n };\n}\n\n// Given a list of hint entries and currently typed text, sort and filter to\n// provide a concise list.\nfunction filterAndSortList(list: IHint[], text: string) {\n if (!text) {\n return filterNonEmpty(list, entry => !entry.isDeprecated);\n }\n\n const byProximity = list.map(entry => ({\n proximity: getProximity(normalizeText(entry.text), text),\n entry,\n }));\n\n const conciseMatches = filterNonEmpty(\n filterNonEmpty(byProximity, pair => pair.proximity <= 2),\n pair => !pair.entry.isDeprecated,\n );\n\n const sortedMatches = conciseMatches.sort(\n (a, b) =>\n (a.entry.isDeprecated ? 1 : 0) - (b.entry.isDeprecated ? 1 : 0) ||\n a.proximity - b.proximity ||\n a.entry.text.length - b.entry.text.length,\n );\n\n return sortedMatches.map(pair => pair.entry);\n}\n\n// Filters the array by the predicate, unless it results in an empty array,\n// in which case return the original array.\nfunction filterNonEmpty<T>(array: T[], predicate: (item: T) => boolean) {\n const filtered = array.filter(predicate);\n return filtered.length === 0 ? array : filtered;\n}\n\nfunction normalizeText(text: string) {\n return text.toLowerCase().replace(/\\W/g, '');\n}\n\n// Determine a numeric proximity for a suggestion based on current text.\nfunction getProximity(suggestion: string, text: string) {\n // start with lexical distance\n let proximity = lexicalDistance(text, suggestion);\n if (suggestion.length > text.length) {\n // do not penalize long suggestions.\n proximity -= suggestion.length - text.length - 1;\n // penalize suggestions not starting with this phrase\n proximity += suggestion.indexOf(text) === 0 ? 0 : 0.5;\n }\n return proximity;\n}\n\n/**\n * Computes the lexical distance between strings A and B.\n *\n * The \"distance\" between two strings is given by counting the minimum number\n * of edits needed to transform string A into string B. An edit can be an\n * insertion, deletion, or substitution of a single character, or a swap of two\n * adjacent characters.\n *\n * This distance can be useful for detecting typos in input or sorting\n *\n * @param {string} a\n * @param {string} b\n * @return {int} distance in number of edits\n */\nfunction lexicalDistance(a: string, b: string) {\n let i;\n let j;\n const d = [];\n const aLength = a.length;\n const bLength = b.length;\n\n for (i = 0; i <= aLength; i++) {\n d[i] = [i];\n }\n\n for (j = 1; j <= bLength; j++) {\n d[0][j] = j;\n }\n\n for (i = 1; i <= aLength; i++) {\n for (j = 1; j <= bLength; j++) {\n const cost = a[i - 1] === b[j - 1] ? 0 : 1;\n\n d[i][j] = Math.min(\n d[i - 1][j] + 1,\n d[i][j - 1] + 1,\n d[i - 1][j - 1] + cost,\n );\n\n if (i > 1 && j > 1 && a[i - 1] === b[j - 2] && a[i - 2] === b[j - 1]) {\n d[i][j] = Math.min(d[i][j], d[i - 2][j - 2] + cost);\n }\n }\n }\n\n return d[aLength][bLength];\n}\n","/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport CodeMirror, { Hints } from 'codemirror';\nimport {\n getNullableType,\n getNamedType,\n GraphQLEnumType,\n GraphQLInputObjectType,\n GraphQLList,\n GraphQLBoolean,\n GraphQLInputType,\n GraphQLInputFieldMap,\n} from 'graphql';\nimport type { State, Maybe } from 'graphql-language-service';\nimport { IHints } from '../hint';\n\nimport forEachState from '../utils/forEachState';\nimport hintList from '../utils/hintList';\n\nexport type VariableToType = Record<string, GraphQLInputType>;\ninterface GraphQLVariableHintOptions {\n variableToType: VariableToType;\n}\n\ndeclare module 'codemirror' {\n interface ShowHintOptions {\n variableToType?: VariableToType;\n }\n\n interface CodeMirrorHintMap {\n 'graphql-variables': (\n editor: CodeMirror.Editor,\n options: GraphQLVariableHintOptions,\n ) => IHints | undefined;\n }\n}\n\n/**\n * Registers a \"hint\" helper for CodeMirror.\n *\n * Using CodeMirror's \"hint\" addon: https://codemirror.net/demo/complete.html\n * Given an editor, this helper will take the token at the cursor and return a\n * list of suggested tokens.\n *\n * Options:\n *\n * - variableToType: { [variable: string]: GraphQLInputType }\n *\n * Additional Events:\n *\n * - hasCompletion (codemirror, data, token) - signaled when the hinter has a\n * new list of completion suggestions.\n *\n */\nCodeMirror.registerHelper(\n 'hint',\n 'graphql-variables',\n (\n editor: CodeMirror.Editor,\n options: GraphQLVariableHintOptions,\n ): Hints | undefined => {\n const cur = editor.getCursor();\n const token = editor.getTokenAt(cur);\n\n const results = getVariablesHint(cur, token, options);\n if (results && results.list && results.list.length > 0) {\n results.from = CodeMirror.Pos(results.from.line, results.from.ch);\n results.to = CodeMirror.Pos(results.to.line, results.to.ch);\n CodeMirror.signal(editor, 'hasCompletion', editor, results, token);\n }\n\n return results;\n },\n);\n\nfunction getVariablesHint(\n cur: CodeMirror.Position,\n token: CodeMirror.Token,\n options: GraphQLVariableHintOptions,\n) {\n // If currently parsing an invalid state, attempt to hint to the prior state.\n const state =\n token.state.kind === 'Invalid' ? token.state.prevState : token.state;\n\n const kind = state.kind;\n const step = state.step;\n\n // Variables can only be an object literal.\n if (kind === 'Document' && step === 0) {\n return hintList(cur, token, [{ text: '{' }]);\n }\n\n const variableToType = options.variableToType;\n if (!variableToType) {\n return;\n }\n\n const typeInfo = getTypeInfo(variableToType, token.state);\n\n // Top level should typeahead possible variables.\n if (kind === 'Document' || (kind === 'Variable' && step === 0)) {\n const variableNames = Object.keys(variableToType);\n return hintList(\n cur,\n token,\n variableNames.map(name => ({\n text: `\"${name}\": `,\n type: variableToType[name],\n })),\n );\n }\n\n // Input Object fields\n if (kind === 'ObjectValue' || (kind === 'ObjectField' && step === 0)) {\n if (typeInfo.fields) {\n const inputFields = Object.keys(typeInfo.fields).map(\n fieldName => typeInfo.fields![fieldName],\n );\n return hintList(\n cur,\n token,\n inputFields.map(field => ({\n text: `\"${field.name}\": `,\n type: field.type,\n description: field.description,\n })),\n );\n }\n }\n\n // Input values.\n if (\n kind === 'StringValue' ||\n kind === 'NumberValue' ||\n kind === 'BooleanValue' ||\n kind === 'NullValue' ||\n (kind === 'ListValue' && step === 1) ||\n (kind === 'ObjectField' && step === 2) ||\n (kind === 'Variable' && step === 2)\n ) {\n const namedInputType = typeInfo.type\n ? getNamedType(typeInfo.type)\n : undefined;\n if (namedInputType instanceof GraphQLInputObjectType) {\n return hintList(cur, token, [{ text: '{' }]);\n } else if (namedInputType instanceof GraphQLEnumType) {\n const values = namedInputType.getValues();\n // const values = Object.keys(valueMap).map(name => valueMap[name]); // TODO: Previously added\n return hintList(\n cur,\n token,\n values.map(value => ({\n text: `\"${value.name}\"`,\n type: namedInputType,\n description: value.description,\n })),\n );\n } else if (namedInputType === GraphQLBoolean) {\n return hintList(cur, token, [\n { text: 'true', type: GraphQLBoolean, description: 'Not false.' }, // TODO: type and description don't seem to be used. Added them as optional anyway.\n { text: 'false', type: GraphQLBoolean, description: 'Not true.' },\n ]);\n }\n }\n}\ninterface VariableTypeInfo {\n type?: Maybe<GraphQLInputType>;\n fields?: Maybe<GraphQLInputFieldMap>;\n}\n// Utility for collecting rich type information given any token's state\n// from the graphql-variables-mode parser.\nfunction getTypeInfo(\n variableToType: Record<string, GraphQLInputType>,\n tokenState: State,\n) {\n const info: VariableTypeInfo = {\n type: null,\n fields: null,\n };\n\n forEachState(tokenState, state => {\n if (state.kind === 'Variable') {\n info.type = variableToType[state.name!];\n } else if (state.kind === 'ListValue') {\n const nullableType = info.type ? getNullableType(info.type) : undefined;\n info.type =\n nullableType instanceof GraphQLList ? nullableType.ofType : null;\n } else if (state.kind === 'ObjectValue') {\n const objectType = info.type ? getNamedType(info.type) : undefined;\n info.fields =\n objectType instanceof GraphQLInputObjectType\n ? objectType.getFields()\n : null;\n } else if (state.kind === 'ObjectField') {\n const objectField =\n state.name && info.fields ? info.fields[state.name] : null;\n info.type = objectField && objectField.type;\n }\n });\n\n return info;\n}\n"],"names":["exports","stack","fn","reverseStateStack","state","kind","push","prevState","i","length","filterNonEmpty","array","predicate","filtered","filter","normalizeText","text","toLowerCase","replace","getProximity","suggestion","proximity","a","b","j","d","aLength","bLength","cost","Math","min","lexicalDistance","indexOf","cursor","token","list","hints","entry","isDeprecated","map","pair","sort","filterAndSortList","string","tokenStart","type","test","start","end","from","line","ch","to","codemirror_1","registerHelper","editor","options","cur","getCursor","getTokenAt","results","step","hintList_1","variableToType","typeInfo","tokenState","info","fields","forEachState_1","name","nullableType","graphql_1","undefined","ofType","objectType","getFields","objectField","getTypeInfo","variableNames","Object","keys","inputFields","fieldName","field","description","namedInputType_1","values","getValues","value","getVariablesHint","Pos","signal"],"sourceRoot":""}
1
+ {"version":3,"file":"static/js/316.657bf0ad.chunk.js","mappings":"0JAYAA,EAAAA,QAAA,SAAqCC,EAAcC,GAGjD,IAFA,IAAMC,EAAoB,GACtBC,EAAsBH,EACnBG,GAASA,EAAMC,MACpBF,EAAkBG,KAAKF,GACvBA,EAAQA,EAAMG,UAEhB,IAAK,IAAIC,EAAIL,EAAkBM,OAAS,EAAGD,GAAK,EAAGA,IACjDN,EAAGC,EAAkBK,GAExB,C,qBC0CD,SAASE,EAAkBC,EAAYC,GACrC,IAAMC,EAAWF,EAAMG,OAAOF,GAC9B,OAA2B,IAApBC,EAASJ,OAAeE,EAAQE,CACxC,CAED,SAASE,EAAcC,GACrB,OAAOA,EAAKC,cAAcC,QAAQ,MAAO,GAC1C,CAGD,SAASC,EAAaC,EAAoBJ,GAExC,IAAIK,EAwBN,SAAyBC,EAAWC,GAClC,IAAIf,EACAgB,EACEC,EAAI,GACJC,EAAUJ,EAAEb,OACZkB,EAAUJ,EAAEd,OAElB,IAAKD,EAAI,EAAGA,GAAKkB,EAASlB,IACxBiB,EAAEjB,GAAK,CAACA,GAGV,IAAKgB,EAAI,EAAGA,GAAKG,EAASH,IACxBC,EAAE,GAAGD,GAAKA,EAGZ,IAAKhB,EAAI,EAAGA,GAAKkB,EAASlB,IACxB,IAAKgB,EAAI,EAAGA,GAAKG,EAASH,IAAK,CAC7B,IAAMI,EAAON,EAAEd,EAAI,KAAOe,EAAEC,EAAI,GAAK,EAAI,EAEzCC,EAAEjB,GAAGgB,GAAKK,KAAKC,IACbL,EAAEjB,EAAI,GAAGgB,GAAK,EACdC,EAAEjB,GAAGgB,EAAI,GAAK,EACdC,EAAEjB,EAAI,GAAGgB,EAAI,GAAKI,GAGhBpB,EAAI,GAAKgB,EAAI,GAAKF,EAAEd,EAAI,KAAOe,EAAEC,EAAI,IAAMF,EAAEd,EAAI,KAAOe,EAAEC,EAAI,KAChEC,EAAEjB,GAAGgB,GAAKK,KAAKC,IAAIL,EAAEjB,GAAGgB,GAAIC,EAAEjB,EAAI,GAAGgB,EAAI,GAAKI,GAEjD,CAGH,OAAOH,EAAEC,GAASC,EACnB,CAxDiBI,CAAgBf,EAAMI,GAOtC,OANIA,EAAWX,OAASO,EAAKP,SAE3BY,GAAaD,EAAWX,OAASO,EAAKP,OAAS,EAE/CY,GAA0C,IAA7BD,EAAWY,QAAQhB,GAAc,EAAI,IAE7CK,CACR,C,iDAvEDrB,EAAAA,QAAA,SACEiC,EACAC,EACAC,GAEA,IAAMC,EAmBR,SAA2BD,EAAenB,GACxC,IAAKA,EACH,OAAON,EAAeyB,GAAM,SAAAE,GAAS,OAACA,EAAMC,YAAY,IAoB1D,OAZuB5B,EACrBA,EANkByB,EAAKI,KAAI,SAAAF,GAAS,MAAC,CACrChB,UAAWF,EAAaJ,EAAcsB,EAAMrB,MAAOA,GACnDqB,MAAK,EACL,KAG4B,SAAAG,GAAQ,OAAAA,EAAKnB,WAAa,CAAC,KACvD,SAAAmB,GAAQ,OAACA,EAAKH,MAAMC,YAAY,IAGGG,MACnC,SAACnB,EAAGC,GACF,OAACD,EAAEe,MAAMC,aAAe,EAAI,IAAMf,EAAEc,MAAMC,aAAe,EAAI,IAC7DhB,EAAED,UAAYE,EAAEF,WAChBC,EAAEe,MAAMrB,KAAKP,OAASc,EAAEc,MAAMrB,KAAKP,MAAM,IAGxB8B,KAAI,SAAAC,GAAQ,OAAAA,EAAKH,KAAK,GAC5C,CA1CeK,CAAkBP,EAAMpB,EAAcmB,EAAMS,SAC1D,GAAKP,EAAL,CAIA,IAAMQ,EACW,OAAfV,EAAMW,MAAiB,OAAOC,KAAKZ,EAAMS,OAAO,IAC5CT,EAAMa,MACNb,EAAMc,IAEZ,MAAO,CACLb,KAAMC,EACNa,KAAM,CAAEC,KAAMjB,EAAOiB,KAAMC,GAAIP,GAC/BQ,GAAI,CAAEF,KAAMjB,EAAOiB,KAAMC,GAAIjB,EAAMc,KAVpC,CAYF,C,4JCxBD,iBACA,SAaA,aACA,aAqCAK,EAAAA,QAAWC,eACT,OACA,qBACA,SACEC,EACAC,GAEA,IAAMC,EAAMF,EAAOG,YACbxB,EAAQqB,EAAOI,WAAWF,GAE1BG,EAWV,SACEH,EACAvB,EACAsB,GAGA,IAAMpD,EACiB,YAArB8B,EAAM9B,MAAMC,KAAqB6B,EAAM9B,MAAMG,UAAY2B,EAAM9B,MAE3DC,EAAOD,EAAMC,KACbwD,EAAOzD,EAAMyD,KAGnB,GAAa,aAATxD,GAAgC,IAATwD,EACzB,OAAOC,EAAAA,QAASL,EAAKvB,EAAO,CAAC,CAAElB,KAAM,OAGvC,IAAM+C,EAAiBP,EAAQO,eAC/B,IAAKA,EACH,OAGF,IAAMC,EA0ER,SACED,EACAE,GAEA,IAAMC,EAAyB,CAC7BrB,KAAM,KACNsB,OAAQ,MAuBV,OApBAC,EAAAA,QAAaH,GAAY,SAAA7D,GACvB,GAAmB,aAAfA,EAAMC,KACR6D,EAAKrB,KAAOkB,EAAe3D,EAAMiE,WAC5B,GAAmB,cAAfjE,EAAMC,KAAsB,CACrC,IAAMiE,EAAeJ,EAAKrB,KAAO0B,EAAAA,gBAAgBL,EAAKrB,WAAQ2B,EAC9DN,EAAKrB,KACHyB,aAAwBC,EAAAA,YAAcD,EAAaG,OAAS,IAC/D,MAAM,GAAmB,gBAAfrE,EAAMC,KAAwB,CACvC,IAAMqE,EAAaR,EAAKrB,KAAO0B,EAAAA,aAAaL,EAAKrB,WAAQ2B,EACzDN,EAAKC,OACHO,aAAsBH,EAAAA,uBAClBG,EAAWC,YACX,IACP,MAAM,GAAmB,gBAAfvE,EAAMC,KAAwB,CACvC,IAAMuE,EACJxE,EAAMiE,MAAQH,EAAKC,OAASD,EAAKC,OAAO/D,EAAMiE,MAAQ,KACxDH,EAAKrB,KAAO+B,GAAeA,EAAY/B,IACxC,CACF,IAEMqB,CACR,CAxGkBW,CAAYd,EAAgB7B,EAAM9B,OAGnD,GAAa,aAATC,GAAiC,aAATA,GAAgC,IAATwD,EAAa,CAC9D,IAAMiB,EAAgBC,OAAOC,KAAKjB,GAClC,OAAOD,EAAAA,QACLL,EACAvB,EACA4C,EAAcvC,KAAI,SAAA8B,GAAQ,MAAC,CACzBrD,KAAM,IAAIqD,EAAI,MACdxB,KAAMkB,EAAeM,GACrB,IAEL,CAGD,IAAa,gBAAThE,GAAoC,gBAATA,GAAmC,IAATwD,IACnDG,EAASG,OAAQ,CACnB,IAAMc,EAAcF,OAAOC,KAAKhB,EAASG,QAAQ5B,KAC/C,SAAA2C,GAAa,OAAAlB,EAASG,OAAQe,EAAU,IAE1C,OAAOpB,EAAAA,QACLL,EACAvB,EACA+C,EAAY1C,KAAI,SAAA4C,GAAS,MAAC,CACxBnE,KAAM,IAAImE,EAAMd,KAAI,MACpBxB,KAAMsC,EAAMtC,KACZuC,YAAaD,EAAMC,YACnB,IAEL,CAIH,GACW,gBAAT/E,GACS,gBAATA,GACS,iBAATA,GACS,cAATA,GACU,cAATA,GAAiC,IAATwD,GACf,gBAATxD,GAAmC,IAATwD,GACjB,aAATxD,GAAgC,IAATwD,EACxB,CACA,IAAMwB,EAAiBrB,EAASnB,KAC5B0B,EAAAA,aAAaP,EAASnB,WACtB2B,EACJ,GAAIa,aAA0Bd,EAAAA,uBAC5B,OAAOT,EAAAA,QAASL,EAAKvB,EAAO,CAAC,CAAElB,KAAM,OAChC,GAAIqE,aAA0Bd,EAAAA,gBAAiB,CACpD,IAAMe,EAASD,EAAeE,YAE9B,OAAOzB,EAAAA,QACLL,EACAvB,EACAoD,EAAO/C,KAAI,SAAAiD,GAAS,MAAC,CACnBxE,KAAM,IAAIwE,EAAMnB,KAAI,IACpBxB,KAAMwC,EACND,YAAaI,EAAMJ,YACnB,IAEL,CAAM,GAAIC,IAAmBd,EAAAA,eAC5B,OAAOT,EAAAA,QAASL,EAAKvB,EAAO,CAC1B,CAAElB,KAAM,OAAQ6B,KAAM0B,EAAAA,eAAgBa,YAAa,cACnD,CAAEpE,KAAM,QAAS6B,KAAM0B,EAAAA,eAAgBa,YAAa,cAGzD,CACF,CApGmBK,CAAiBhC,EAAKvB,EAAOsB,GAO7C,OANII,GAAWA,EAAQzB,MAAQyB,EAAQzB,KAAK1B,OAAS,IACnDmD,EAAQX,KAAOI,EAAAA,QAAWqC,IAAI9B,EAAQX,KAAKC,KAAMU,EAAQX,KAAKE,IAC9DS,EAAQR,GAAKC,EAAAA,QAAWqC,IAAI9B,EAAQR,GAAGF,KAAMU,EAAQR,GAAGD,IACxDE,EAAAA,QAAWsC,OAAOpC,EAAQ,gBAAiBA,EAAQK,EAAS1B,IAGvD0B,CACR,G","sources":["../node_modules/codemirror-graphql/src/utils/forEachState.ts","../node_modules/codemirror-graphql/src/utils/hintList.ts","../node_modules/codemirror-graphql/src/variables/hint.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport type { State, Maybe } from 'graphql-language-service';\n\n// Utility for iterating through a CodeMirror parse state stack bottom-up.\nexport default function forEachState(stack: State, fn: (state: State) => void) {\n const reverseStateStack = [];\n let state: Maybe<State> = stack;\n while (state && state.kind) {\n reverseStateStack.push(state);\n state = state.prevState;\n }\n for (let i = reverseStateStack.length - 1; i >= 0; i--) {\n fn(reverseStateStack[i]);\n }\n}\n","/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport type CodeMirror from 'codemirror';\nimport { IHint, IHints } from '../hint';\n\n// Create the expected hint response given a possible list and a token\nexport default function hintList(\n cursor: CodeMirror.Position,\n token: CodeMirror.Token,\n list: IHint[],\n): IHints | undefined {\n const hints = filterAndSortList(list, normalizeText(token.string));\n if (!hints) {\n return;\n }\n\n const tokenStart =\n token.type !== null && /\"|\\w/.test(token.string[0])\n ? token.start\n : token.end;\n\n return {\n list: hints,\n from: { line: cursor.line, ch: tokenStart }, // TODO: Confirm. Was changed column to ch\n to: { line: cursor.line, ch: token.end },\n };\n}\n\n// Given a list of hint entries and currently typed text, sort and filter to\n// provide a concise list.\nfunction filterAndSortList(list: IHint[], text: string) {\n if (!text) {\n return filterNonEmpty(list, entry => !entry.isDeprecated);\n }\n\n const byProximity = list.map(entry => ({\n proximity: getProximity(normalizeText(entry.text), text),\n entry,\n }));\n\n const conciseMatches = filterNonEmpty(\n filterNonEmpty(byProximity, pair => pair.proximity <= 2),\n pair => !pair.entry.isDeprecated,\n );\n\n const sortedMatches = conciseMatches.sort(\n (a, b) =>\n (a.entry.isDeprecated ? 1 : 0) - (b.entry.isDeprecated ? 1 : 0) ||\n a.proximity - b.proximity ||\n a.entry.text.length - b.entry.text.length,\n );\n\n return sortedMatches.map(pair => pair.entry);\n}\n\n// Filters the array by the predicate, unless it results in an empty array,\n// in which case return the original array.\nfunction filterNonEmpty<T>(array: T[], predicate: (item: T) => boolean) {\n const filtered = array.filter(predicate);\n return filtered.length === 0 ? array : filtered;\n}\n\nfunction normalizeText(text: string) {\n return text.toLowerCase().replace(/\\W/g, '');\n}\n\n// Determine a numeric proximity for a suggestion based on current text.\nfunction getProximity(suggestion: string, text: string) {\n // start with lexical distance\n let proximity = lexicalDistance(text, suggestion);\n if (suggestion.length > text.length) {\n // do not penalize long suggestions.\n proximity -= suggestion.length - text.length - 1;\n // penalize suggestions not starting with this phrase\n proximity += suggestion.indexOf(text) === 0 ? 0 : 0.5;\n }\n return proximity;\n}\n\n/**\n * Computes the lexical distance between strings A and B.\n *\n * The \"distance\" between two strings is given by counting the minimum number\n * of edits needed to transform string A into string B. An edit can be an\n * insertion, deletion, or substitution of a single character, or a swap of two\n * adjacent characters.\n *\n * This distance can be useful for detecting typos in input or sorting\n *\n * @param {string} a\n * @param {string} b\n * @return {int} distance in number of edits\n */\nfunction lexicalDistance(a: string, b: string) {\n let i;\n let j;\n const d = [];\n const aLength = a.length;\n const bLength = b.length;\n\n for (i = 0; i <= aLength; i++) {\n d[i] = [i];\n }\n\n for (j = 1; j <= bLength; j++) {\n d[0][j] = j;\n }\n\n for (i = 1; i <= aLength; i++) {\n for (j = 1; j <= bLength; j++) {\n const cost = a[i - 1] === b[j - 1] ? 0 : 1;\n\n d[i][j] = Math.min(\n d[i - 1][j] + 1,\n d[i][j - 1] + 1,\n d[i - 1][j - 1] + cost,\n );\n\n if (i > 1 && j > 1 && a[i - 1] === b[j - 2] && a[i - 2] === b[j - 1]) {\n d[i][j] = Math.min(d[i][j], d[i - 2][j - 2] + cost);\n }\n }\n }\n\n return d[aLength][bLength];\n}\n","/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport CodeMirror, { Hints } from 'codemirror';\nimport {\n getNullableType,\n getNamedType,\n GraphQLEnumType,\n GraphQLInputObjectType,\n GraphQLList,\n GraphQLBoolean,\n GraphQLInputType,\n GraphQLInputFieldMap,\n} from 'graphql';\nimport type { State, Maybe } from 'graphql-language-service';\nimport { IHints } from '../hint';\n\nimport forEachState from '../utils/forEachState';\nimport hintList from '../utils/hintList';\n\nexport type VariableToType = Record<string, GraphQLInputType>;\ninterface GraphQLVariableHintOptions {\n variableToType: VariableToType;\n}\n\ndeclare module 'codemirror' {\n interface ShowHintOptions {\n variableToType?: VariableToType;\n }\n\n interface CodeMirrorHintMap {\n 'graphql-variables': (\n editor: CodeMirror.Editor,\n options: GraphQLVariableHintOptions,\n ) => IHints | undefined;\n }\n}\n\n/**\n * Registers a \"hint\" helper for CodeMirror.\n *\n * Using CodeMirror's \"hint\" addon: https://codemirror.net/demo/complete.html\n * Given an editor, this helper will take the token at the cursor and return a\n * list of suggested tokens.\n *\n * Options:\n *\n * - variableToType: { [variable: string]: GraphQLInputType }\n *\n * Additional Events:\n *\n * - hasCompletion (codemirror, data, token) - signaled when the hinter has a\n * new list of completion suggestions.\n *\n */\nCodeMirror.registerHelper(\n 'hint',\n 'graphql-variables',\n (\n editor: CodeMirror.Editor,\n options: GraphQLVariableHintOptions,\n ): Hints | undefined => {\n const cur = editor.getCursor();\n const token = editor.getTokenAt(cur);\n\n const results = getVariablesHint(cur, token, options);\n if (results && results.list && results.list.length > 0) {\n results.from = CodeMirror.Pos(results.from.line, results.from.ch);\n results.to = CodeMirror.Pos(results.to.line, results.to.ch);\n CodeMirror.signal(editor, 'hasCompletion', editor, results, token);\n }\n\n return results;\n },\n);\n\nfunction getVariablesHint(\n cur: CodeMirror.Position,\n token: CodeMirror.Token,\n options: GraphQLVariableHintOptions,\n) {\n // If currently parsing an invalid state, attempt to hint to the prior state.\n const state =\n token.state.kind === 'Invalid' ? token.state.prevState : token.state;\n\n const kind = state.kind;\n const step = state.step;\n\n // Variables can only be an object literal.\n if (kind === 'Document' && step === 0) {\n return hintList(cur, token, [{ text: '{' }]);\n }\n\n const variableToType = options.variableToType;\n if (!variableToType) {\n return;\n }\n\n const typeInfo = getTypeInfo(variableToType, token.state);\n\n // Top level should typeahead possible variables.\n if (kind === 'Document' || (kind === 'Variable' && step === 0)) {\n const variableNames = Object.keys(variableToType);\n return hintList(\n cur,\n token,\n variableNames.map(name => ({\n text: `\"${name}\": `,\n type: variableToType[name],\n })),\n );\n }\n\n // Input Object fields\n if (kind === 'ObjectValue' || (kind === 'ObjectField' && step === 0)) {\n if (typeInfo.fields) {\n const inputFields = Object.keys(typeInfo.fields).map(\n fieldName => typeInfo.fields![fieldName],\n );\n return hintList(\n cur,\n token,\n inputFields.map(field => ({\n text: `\"${field.name}\": `,\n type: field.type,\n description: field.description,\n })),\n );\n }\n }\n\n // Input values.\n if (\n kind === 'StringValue' ||\n kind === 'NumberValue' ||\n kind === 'BooleanValue' ||\n kind === 'NullValue' ||\n (kind === 'ListValue' && step === 1) ||\n (kind === 'ObjectField' && step === 2) ||\n (kind === 'Variable' && step === 2)\n ) {\n const namedInputType = typeInfo.type\n ? getNamedType(typeInfo.type)\n : undefined;\n if (namedInputType instanceof GraphQLInputObjectType) {\n return hintList(cur, token, [{ text: '{' }]);\n } else if (namedInputType instanceof GraphQLEnumType) {\n const values = namedInputType.getValues();\n // const values = Object.keys(valueMap).map(name => valueMap[name]); // TODO: Previously added\n return hintList(\n cur,\n token,\n values.map(value => ({\n text: `\"${value.name}\"`,\n type: namedInputType,\n description: value.description,\n })),\n );\n } else if (namedInputType === GraphQLBoolean) {\n return hintList(cur, token, [\n { text: 'true', type: GraphQLBoolean, description: 'Not false.' }, // TODO: type and description don't seem to be used. Added them as optional anyway.\n { text: 'false', type: GraphQLBoolean, description: 'Not true.' },\n ]);\n }\n }\n}\ninterface VariableTypeInfo {\n type?: Maybe<GraphQLInputType>;\n fields?: Maybe<GraphQLInputFieldMap>;\n}\n// Utility for collecting rich type information given any token's state\n// from the graphql-variables-mode parser.\nfunction getTypeInfo(\n variableToType: Record<string, GraphQLInputType>,\n tokenState: State,\n) {\n const info: VariableTypeInfo = {\n type: null,\n fields: null,\n };\n\n forEachState(tokenState, state => {\n if (state.kind === 'Variable') {\n info.type = variableToType[state.name!];\n } else if (state.kind === 'ListValue') {\n const nullableType = info.type ? getNullableType(info.type) : undefined;\n info.type =\n nullableType instanceof GraphQLList ? nullableType.ofType : null;\n } else if (state.kind === 'ObjectValue') {\n const objectType = info.type ? getNamedType(info.type) : undefined;\n info.fields =\n objectType instanceof GraphQLInputObjectType\n ? objectType.getFields()\n : null;\n } else if (state.kind === 'ObjectField') {\n const objectField =\n state.name && info.fields ? info.fields[state.name] : null;\n info.type = objectField && objectField.type;\n }\n });\n\n return info;\n}\n"],"names":["exports","stack","fn","reverseStateStack","state","kind","push","prevState","i","length","filterNonEmpty","array","predicate","filtered","filter","normalizeText","text","toLowerCase","replace","getProximity","suggestion","proximity","a","b","j","d","aLength","bLength","cost","Math","min","lexicalDistance","indexOf","cursor","token","list","hints","entry","isDeprecated","map","pair","sort","filterAndSortList","string","tokenStart","type","test","start","end","from","line","ch","to","codemirror_1","registerHelper","editor","options","cur","getCursor","getTokenAt","results","step","hintList_1","variableToType","typeInfo","tokenState","info","fields","forEachState_1","name","nullableType","graphql_1","undefined","ofType","objectType","getFields","objectField","getTypeInfo","variableNames","Object","keys","inputFields","fieldName","field","description","namedInputType_1","values","getValues","value","getVariablesHint","Pos","signal"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (self.webpackChunkdashboard=self.webpackChunkdashboard||[]).push([[322],{2322:function(t,e,i){!function(t){"use strict";var e="CodeMirror-hint",i="CodeMirror-hint-active";function n(t,e){if(this.cm=t,this.options=e,this.widget=null,this.debounce=0,this.tick=0,this.startPos=this.cm.getCursor("start"),this.startLen=this.cm.getLine(this.startPos.line).length-this.cm.getSelection().length,this.options.updateOnCursorActivity){var i=this;t.on("cursorActivity",this.activityFunc=function(){i.cursorActivity()})}}t.showHint=function(t,e,i){if(!e)return t.showHint(i);i&&i.async&&(e.async=!0);var n={hint:e};if(i)for(var o in i)n[o]=i[o];return t.showHint(n)},t.defineExtension("showHint",(function(e){e=c(this,this.getCursor("start"),e);var i=this.listSelections();if(!(i.length>1)){if(this.somethingSelected()){if(!e.hint.supportsSelection)return;for(var o=0;o<i.length;o++)if(i[o].head.line!=i[o].anchor.line)return}this.state.completionActive&&this.state.completionActive.close();var s=this.state.completionActive=new n(this,e);s.options.hint&&(t.signal(this,"startCompletion",this),s.update(!0))}})),t.defineExtension("closeHint",(function(){this.state.completionActive&&this.state.completionActive.close()}));var o=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},s=window.cancelAnimationFrame||clearTimeout;function c(t,e,i){var n=t.options.hintOptions,o={};for(var s in p)o[s]=p[s];if(n)for(var s in n)void 0!==n[s]&&(o[s]=n[s]);if(i)for(var s in i)void 0!==i[s]&&(o[s]=i[s]);return o.hint.resolve&&(o.hint=o.hint.resolve(t,e)),o}function r(t){return"string"==typeof t?t:t.text}function l(t,e){var i={Up:function(){e.moveFocus(-1)},Down:function(){e.moveFocus(1)},PageUp:function(){e.moveFocus(1-e.menuSize(),!0)},PageDown:function(){e.moveFocus(e.menuSize()-1,!0)},Home:function(){e.setFocus(0)},End:function(){e.setFocus(e.length-1)},Enter:e.pick,Tab:e.pick,Esc:e.close};/Mac/.test(navigator.platform)&&(i["Ctrl-P"]=function(){e.moveFocus(-1)},i["Ctrl-N"]=function(){e.moveFocus(1)});var n=t.options.customKeys,o=n?{}:i;function s(t,n){var s;s="string"!=typeof n?function(t){return n(t,e)}:i.hasOwnProperty(n)?i[n]:n,o[t]=s}if(n)for(var c in n)n.hasOwnProperty(c)&&s(c,n[c]);var r=t.options.extraKeys;if(r)for(var c in r)r.hasOwnProperty(c)&&s(c,r[c]);return o}function h(t,e){for(;e&&e!=t;){if("LI"===e.nodeName.toUpperCase()&&e.parentNode==t)return e;e=e.parentNode}}function a(n,o){this.id="cm-complete-"+Math.floor(Math.random(1e6)),this.completion=n,this.data=o,this.picked=!1;var s=this,c=n.cm,a=c.getInputField().ownerDocument,u=a.defaultView||a.parentWindow,d=this.hints=a.createElement("ul");d.setAttribute("role","listbox"),d.setAttribute("aria-expanded","true"),d.id=this.id;var f=n.cm.options.theme;d.className="CodeMirror-hints "+f,this.selectedHint=o.selectedHint||0;for(var p=o.list,m=0;m<p.length;++m){var g=d.appendChild(a.createElement("li")),v=p[m],y=e+(m!=this.selectedHint?"":" "+i);null!=v.className&&(y=v.className+" "+y),g.className=y,m==this.selectedHint&&g.setAttribute("aria-selected","true"),g.id=this.id+"-"+m,g.setAttribute("role","option"),v.render?v.render(g,o,v):g.appendChild(a.createTextNode(v.displayText||r(v))),g.hintId=m}var w=n.options.container||a.body,b=c.cursorCoords(n.options.alignWithWord?o.from:null),A=b.left,H=b.bottom,C=!0,k=0,S=0;if(w!==a.body){var x=-1!==["absolute","relative","fixed"].indexOf(u.getComputedStyle(w).position)?w:w.offsetParent,T=x.getBoundingClientRect(),F=a.body.getBoundingClientRect();k=T.left-F.left-x.scrollLeft,S=T.top-F.top-x.scrollTop}d.style.left=A-k+"px",d.style.top=H-S+"px";var O=u.innerWidth||Math.max(a.body.offsetWidth,a.documentElement.offsetWidth),M=u.innerHeight||Math.max(a.body.offsetHeight,a.documentElement.offsetHeight);w.appendChild(d),c.getInputField().setAttribute("aria-autocomplete","list"),c.getInputField().setAttribute("aria-owns",this.id),c.getInputField().setAttribute("aria-activedescendant",this.id+"-"+this.selectedHint);var N,I=n.options.moveOnOverlap?d.getBoundingClientRect():new DOMRect,P=!!n.options.paddingForScrollbar&&d.scrollHeight>d.clientHeight+1;if(setTimeout((function(){N=c.getScrollInfo()})),I.bottom-M>0){var E=I.bottom-I.top;if(b.top-(b.bottom-I.top)-E>0)d.style.top=(H=b.top-E-S)+"px",C=!1;else if(E>M){d.style.height=M-5+"px",d.style.top=(H=b.bottom-I.top-S)+"px";var W=c.getCursor();o.from.ch!=W.ch&&(b=c.cursorCoords(W),d.style.left=(A=b.left-k)+"px",I=d.getBoundingClientRect())}}var R,B=I.right-O;if(P&&(B+=c.display.nativeBarWidth),B>0&&(I.right-I.left>O&&(d.style.width=O-5+"px",B-=I.right-I.left-O),d.style.left=(A=b.left-B-k)+"px"),P)for(var K=d.firstChild;K;K=K.nextSibling)K.style.paddingRight=c.display.nativeBarWidth+"px";c.addKeyMap(this.keyMap=l(n,{moveFocus:function(t,e){s.changeActive(s.selectedHint+t,e)},setFocus:function(t){s.changeActive(t)},menuSize:function(){return s.screenAmount()},length:p.length,close:function(){n.close()},pick:function(){s.pick()},data:o})),n.options.closeOnUnfocus&&(c.on("blur",this.onBlur=function(){R=setTimeout((function(){n.close()}),100)}),c.on("focus",this.onFocus=function(){clearTimeout(R)})),c.on("scroll",this.onScroll=function(){var t=c.getScrollInfo(),e=c.getWrapperElement().getBoundingClientRect();N||(N=c.getScrollInfo());var i=H+N.top-t.top,o=i-(u.pageYOffset||(a.documentElement||a.body).scrollTop);if(C||(o+=d.offsetHeight),o<=e.top||o>=e.bottom)return n.close();d.style.top=i+"px",d.style.left=A+N.left-t.left+"px"}),t.on(d,"dblclick",(function(t){var e=h(d,t.target||t.srcElement);e&&null!=e.hintId&&(s.changeActive(e.hintId),s.pick())})),t.on(d,"click",(function(t){var e=h(d,t.target||t.srcElement);e&&null!=e.hintId&&(s.changeActive(e.hintId),n.options.completeOnSingleClick&&s.pick())})),t.on(d,"mousedown",(function(){setTimeout((function(){c.focus()}),20)}));var L=this.getSelectedHintRange();return 0===L.from&&0===L.to||this.scrollToActive(),t.signal(o,"select",p[this.selectedHint],d.childNodes[this.selectedHint]),!0}function u(t,e){if(!t.somethingSelected())return e;for(var i=[],n=0;n<e.length;n++)e[n].supportsSelection&&i.push(e[n]);return i}function d(t,e,i,n){if(t.async)t(e,n,i);else{var o=t(e,i);o&&o.then?o.then(n):n(o)}}function f(e,i){var n,o=e.getHelpers(i,"hint");if(o.length){var s=function(t,e,i){var n=u(t,o);function s(o){if(o==n.length)return e(null);d(n[o],t,i,(function(t){t&&t.list.length>0?e(t):s(o+1)}))}s(0)};return s.async=!0,s.supportsSelection=!0,s}return(n=e.getHelper(e.getCursor(),"hintWords"))?function(e){return t.hint.fromList(e,{words:n})}:t.hint.anyword?function(e,i){return t.hint.anyword(e,i)}:function(){}}n.prototype={close:function(){this.active()&&(this.cm.state.completionActive=null,this.tick=null,this.options.updateOnCursorActivity&&this.cm.off("cursorActivity",this.activityFunc),this.widget&&this.data&&t.signal(this.data,"close"),this.widget&&this.widget.close(),t.signal(this.cm,"endCompletion",this.cm))},active:function(){return this.cm.state.completionActive==this},pick:function(e,i){var n=e.list[i],o=this;this.cm.operation((function(){n.hint?n.hint(o.cm,e,n):o.cm.replaceRange(r(n),n.from||e.from,n.to||e.to,"complete"),t.signal(e,"pick",n),o.cm.scrollIntoView()})),this.options.closeOnPick&&this.close()},cursorActivity:function(){this.debounce&&(s(this.debounce),this.debounce=0);var t=this.startPos;this.data&&(t=this.data.from);var e=this.cm.getCursor(),i=this.cm.getLine(e.line);if(e.line!=this.startPos.line||i.length-e.ch!=this.startLen-this.startPos.ch||e.ch<t.ch||this.cm.somethingSelected()||!e.ch||this.options.closeCharacters.test(i.charAt(e.ch-1)))this.close();else{var n=this;this.debounce=o((function(){n.update()})),this.widget&&this.widget.disable()}},update:function(t){if(null!=this.tick){var e=this,i=++this.tick;d(this.options.hint,this.cm,this.options,(function(n){e.tick==i&&e.finishUpdate(n,t)}))}},finishUpdate:function(e,i){this.data&&t.signal(this.data,"update");var n=this.widget&&this.widget.picked||i&&this.options.completeSingle;this.widget&&this.widget.close(),this.data=e,e&&e.list.length&&(n&&1==e.list.length?this.pick(e,0):(this.widget=new a(this,e),t.signal(e,"shown")))}},a.prototype={close:function(){if(this.completion.widget==this){this.completion.widget=null,this.hints.parentNode&&this.hints.parentNode.removeChild(this.hints),this.completion.cm.removeKeyMap(this.keyMap);var t=this.completion.cm.getInputField();t.removeAttribute("aria-activedescendant"),t.removeAttribute("aria-owns");var e=this.completion.cm;this.completion.options.closeOnUnfocus&&(e.off("blur",this.onBlur),e.off("focus",this.onFocus)),e.off("scroll",this.onScroll)}},disable:function(){this.completion.cm.removeKeyMap(this.keyMap);var t=this;this.keyMap={Enter:function(){t.picked=!0}},this.completion.cm.addKeyMap(this.keyMap)},pick:function(){this.completion.pick(this.data,this.selectedHint)},changeActive:function(e,n){if(e>=this.data.list.length?e=n?this.data.list.length-1:0:e<0&&(e=n?0:this.data.list.length-1),this.selectedHint!=e){var o=this.hints.childNodes[this.selectedHint];o&&(o.className=o.className.replace(" "+i,""),o.removeAttribute("aria-selected")),(o=this.hints.childNodes[this.selectedHint=e]).className+=" "+i,o.setAttribute("aria-selected","true"),this.completion.cm.getInputField().setAttribute("aria-activedescendant",o.id),this.scrollToActive(),t.signal(this.data,"select",this.data.list[this.selectedHint],o)}},scrollToActive:function(){var t=this.getSelectedHintRange(),e=this.hints.childNodes[t.from],i=this.hints.childNodes[t.to],n=this.hints.firstChild;e.offsetTop<this.hints.scrollTop?this.hints.scrollTop=e.offsetTop-n.offsetTop:i.offsetTop+i.offsetHeight>this.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=i.offsetTop+i.offsetHeight-this.hints.clientHeight+n.offsetTop)},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1},getSelectedHintRange:function(){var t=this.completion.options.scrollMargin||0;return{from:Math.max(0,this.selectedHint-t),to:Math.min(this.data.list.length-1,this.selectedHint+t)}}},t.registerHelper("hint","auto",{resolve:f}),t.registerHelper("hint","fromList",(function(e,i){var n,o=e.getCursor(),s=e.getTokenAt(o),c=t.Pos(o.line,s.start),r=o;s.start<o.ch&&/\w/.test(s.string.charAt(o.ch-s.start-1))?n=s.string.substr(0,o.ch-s.start):(n="",c=o);for(var l=[],h=0;h<i.words.length;h++){var a=i.words[h];a.slice(0,n.length)==n&&l.push(a)}if(l.length)return{list:l,from:c,to:r}})),t.commands.autocomplete=t.showHint;var p={hint:t.hint.auto,completeSingle:!0,alignWithWord:!0,closeCharacters:/[\s()\[\]{};:>,]/,closeOnPick:!0,closeOnUnfocus:!0,updateOnCursorActivity:!0,completeOnSingleClick:!0,container:null,customKeys:null,extraKeys:null,paddingForScrollbar:!0,moveOnOverlap:!0};t.defineOption("hintOptions",null)}(i(3668))}}]);
2
- //# sourceMappingURL=322.5ada89eb.chunk.js.map
1
+ (self.webpackChunkdashboard=self.webpackChunkdashboard||[]).push([[322],{2322:function(t,e,i){!function(t){"use strict";var e="CodeMirror-hint",i="CodeMirror-hint-active";function n(t,e){if(this.cm=t,this.options=e,this.widget=null,this.debounce=0,this.tick=0,this.startPos=this.cm.getCursor("start"),this.startLen=this.cm.getLine(this.startPos.line).length-this.cm.getSelection().length,this.options.updateOnCursorActivity){var i=this;t.on("cursorActivity",this.activityFunc=function(){i.cursorActivity()})}}t.showHint=function(t,e,i){if(!e)return t.showHint(i);i&&i.async&&(e.async=!0);var n={hint:e};if(i)for(var o in i)n[o]=i[o];return t.showHint(n)},t.defineExtension("showHint",(function(e){e=c(this,this.getCursor("start"),e);var i=this.listSelections();if(!(i.length>1)){if(this.somethingSelected()){if(!e.hint.supportsSelection)return;for(var o=0;o<i.length;o++)if(i[o].head.line!=i[o].anchor.line)return}this.state.completionActive&&this.state.completionActive.close();var s=this.state.completionActive=new n(this,e);s.options.hint&&(t.signal(this,"startCompletion",this),s.update(!0))}})),t.defineExtension("closeHint",(function(){this.state.completionActive&&this.state.completionActive.close()}));var o=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},s=window.cancelAnimationFrame||clearTimeout;function c(t,e,i){var n=t.options.hintOptions,o={};for(var s in p)o[s]=p[s];if(n)for(var s in n)void 0!==n[s]&&(o[s]=n[s]);if(i)for(var s in i)void 0!==i[s]&&(o[s]=i[s]);return o.hint.resolve&&(o.hint=o.hint.resolve(t,e)),o}function r(t){return"string"==typeof t?t:t.text}function l(t,e){var i={Up:function(){e.moveFocus(-1)},Down:function(){e.moveFocus(1)},PageUp:function(){e.moveFocus(1-e.menuSize(),!0)},PageDown:function(){e.moveFocus(e.menuSize()-1,!0)},Home:function(){e.setFocus(0)},End:function(){e.setFocus(e.length-1)},Enter:e.pick,Tab:e.pick,Esc:e.close};/Mac/.test(navigator.platform)&&(i["Ctrl-P"]=function(){e.moveFocus(-1)},i["Ctrl-N"]=function(){e.moveFocus(1)});var n=t.options.customKeys,o=n?{}:i;function s(t,n){var s;s="string"!=typeof n?function(t){return n(t,e)}:i.hasOwnProperty(n)?i[n]:n,o[t]=s}if(n)for(var c in n)n.hasOwnProperty(c)&&s(c,n[c]);var r=t.options.extraKeys;if(r)for(var c in r)r.hasOwnProperty(c)&&s(c,r[c]);return o}function h(t,e){for(;e&&e!=t;){if("LI"===e.nodeName.toUpperCase()&&e.parentNode==t)return e;e=e.parentNode}}function a(n,o){this.id="cm-complete-"+Math.floor(Math.random(1e6)),this.completion=n,this.data=o,this.picked=!1;var s=this,c=n.cm,a=c.getInputField().ownerDocument,u=a.defaultView||a.parentWindow,d=this.hints=a.createElement("ul");d.setAttribute("role","listbox"),d.setAttribute("aria-expanded","true"),d.id=this.id;var f=n.cm.options.theme;d.className="CodeMirror-hints "+f,this.selectedHint=o.selectedHint||0;for(var p=o.list,m=0;m<p.length;++m){var g=d.appendChild(a.createElement("li")),v=p[m],y=e+(m!=this.selectedHint?"":" "+i);null!=v.className&&(y=v.className+" "+y),g.className=y,m==this.selectedHint&&g.setAttribute("aria-selected","true"),g.id=this.id+"-"+m,g.setAttribute("role","option"),v.render?v.render(g,o,v):g.appendChild(a.createTextNode(v.displayText||r(v))),g.hintId=m}var w=n.options.container||a.body,b=c.cursorCoords(n.options.alignWithWord?o.from:null),A=b.left,H=b.bottom,C=!0,k=0,S=0;if(w!==a.body){var x=-1!==["absolute","relative","fixed"].indexOf(u.getComputedStyle(w).position)?w:w.offsetParent,T=x.getBoundingClientRect(),F=a.body.getBoundingClientRect();k=T.left-F.left-x.scrollLeft,S=T.top-F.top-x.scrollTop}d.style.left=A-k+"px",d.style.top=H-S+"px";var O=u.innerWidth||Math.max(a.body.offsetWidth,a.documentElement.offsetWidth),M=u.innerHeight||Math.max(a.body.offsetHeight,a.documentElement.offsetHeight);w.appendChild(d),c.getInputField().setAttribute("aria-autocomplete","list"),c.getInputField().setAttribute("aria-owns",this.id),c.getInputField().setAttribute("aria-activedescendant",this.id+"-"+this.selectedHint);var N,I=n.options.moveOnOverlap?d.getBoundingClientRect():new DOMRect,P=!!n.options.paddingForScrollbar&&d.scrollHeight>d.clientHeight+1;if(setTimeout((function(){N=c.getScrollInfo()})),I.bottom-M>0){var E=I.bottom-I.top;if(b.top-(b.bottom-I.top)-E>0)d.style.top=(H=b.top-E-S)+"px",C=!1;else if(E>M){d.style.height=M-5+"px",d.style.top=(H=b.bottom-I.top-S)+"px";var W=c.getCursor();o.from.ch!=W.ch&&(b=c.cursorCoords(W),d.style.left=(A=b.left-k)+"px",I=d.getBoundingClientRect())}}var R,B=I.right-O;if(P&&(B+=c.display.nativeBarWidth),B>0&&(I.right-I.left>O&&(d.style.width=O-5+"px",B-=I.right-I.left-O),d.style.left=(A=b.left-B-k)+"px"),P)for(var K=d.firstChild;K;K=K.nextSibling)K.style.paddingRight=c.display.nativeBarWidth+"px";c.addKeyMap(this.keyMap=l(n,{moveFocus:function(t,e){s.changeActive(s.selectedHint+t,e)},setFocus:function(t){s.changeActive(t)},menuSize:function(){return s.screenAmount()},length:p.length,close:function(){n.close()},pick:function(){s.pick()},data:o})),n.options.closeOnUnfocus&&(c.on("blur",this.onBlur=function(){R=setTimeout((function(){n.close()}),100)}),c.on("focus",this.onFocus=function(){clearTimeout(R)})),c.on("scroll",this.onScroll=function(){var t=c.getScrollInfo(),e=c.getWrapperElement().getBoundingClientRect();N||(N=c.getScrollInfo());var i=H+N.top-t.top,o=i-(u.pageYOffset||(a.documentElement||a.body).scrollTop);if(C||(o+=d.offsetHeight),o<=e.top||o>=e.bottom)return n.close();d.style.top=i+"px",d.style.left=A+N.left-t.left+"px"}),t.on(d,"dblclick",(function(t){var e=h(d,t.target||t.srcElement);e&&null!=e.hintId&&(s.changeActive(e.hintId),s.pick())})),t.on(d,"click",(function(t){var e=h(d,t.target||t.srcElement);e&&null!=e.hintId&&(s.changeActive(e.hintId),n.options.completeOnSingleClick&&s.pick())})),t.on(d,"mousedown",(function(){setTimeout((function(){c.focus()}),20)}));var L=this.getSelectedHintRange();return 0===L.from&&0===L.to||this.scrollToActive(),t.signal(o,"select",p[this.selectedHint],d.childNodes[this.selectedHint]),!0}function u(t,e){if(!t.somethingSelected())return e;for(var i=[],n=0;n<e.length;n++)e[n].supportsSelection&&i.push(e[n]);return i}function d(t,e,i,n){if(t.async)t(e,n,i);else{var o=t(e,i);o&&o.then?o.then(n):n(o)}}function f(e,i){var n,o=e.getHelpers(i,"hint");if(o.length){var s=function(t,e,i){var n=u(t,o);function s(o){if(o==n.length)return e(null);d(n[o],t,i,(function(t){t&&t.list.length>0?e(t):s(o+1)}))}s(0)};return s.async=!0,s.supportsSelection=!0,s}return(n=e.getHelper(e.getCursor(),"hintWords"))?function(e){return t.hint.fromList(e,{words:n})}:t.hint.anyword?function(e,i){return t.hint.anyword(e,i)}:function(){}}n.prototype={close:function(){this.active()&&(this.cm.state.completionActive=null,this.tick=null,this.options.updateOnCursorActivity&&this.cm.off("cursorActivity",this.activityFunc),this.widget&&this.data&&t.signal(this.data,"close"),this.widget&&this.widget.close(),t.signal(this.cm,"endCompletion",this.cm))},active:function(){return this.cm.state.completionActive==this},pick:function(e,i){var n=e.list[i],o=this;this.cm.operation((function(){n.hint?n.hint(o.cm,e,n):o.cm.replaceRange(r(n),n.from||e.from,n.to||e.to,"complete"),t.signal(e,"pick",n),o.cm.scrollIntoView()})),this.options.closeOnPick&&this.close()},cursorActivity:function(){this.debounce&&(s(this.debounce),this.debounce=0);var t=this.startPos;this.data&&(t=this.data.from);var e=this.cm.getCursor(),i=this.cm.getLine(e.line);if(e.line!=this.startPos.line||i.length-e.ch!=this.startLen-this.startPos.ch||e.ch<t.ch||this.cm.somethingSelected()||!e.ch||this.options.closeCharacters.test(i.charAt(e.ch-1)))this.close();else{var n=this;this.debounce=o((function(){n.update()})),this.widget&&this.widget.disable()}},update:function(t){if(null!=this.tick){var e=this,i=++this.tick;d(this.options.hint,this.cm,this.options,(function(n){e.tick==i&&e.finishUpdate(n,t)}))}},finishUpdate:function(e,i){this.data&&t.signal(this.data,"update");var n=this.widget&&this.widget.picked||i&&this.options.completeSingle;this.widget&&this.widget.close(),this.data=e,e&&e.list.length&&(n&&1==e.list.length?this.pick(e,0):(this.widget=new a(this,e),t.signal(e,"shown")))}},a.prototype={close:function(){if(this.completion.widget==this){this.completion.widget=null,this.hints.parentNode&&this.hints.parentNode.removeChild(this.hints),this.completion.cm.removeKeyMap(this.keyMap);var t=this.completion.cm.getInputField();t.removeAttribute("aria-activedescendant"),t.removeAttribute("aria-owns");var e=this.completion.cm;this.completion.options.closeOnUnfocus&&(e.off("blur",this.onBlur),e.off("focus",this.onFocus)),e.off("scroll",this.onScroll)}},disable:function(){this.completion.cm.removeKeyMap(this.keyMap);var t=this;this.keyMap={Enter:function(){t.picked=!0}},this.completion.cm.addKeyMap(this.keyMap)},pick:function(){this.completion.pick(this.data,this.selectedHint)},changeActive:function(e,n){if(e>=this.data.list.length?e=n?this.data.list.length-1:0:e<0&&(e=n?0:this.data.list.length-1),this.selectedHint!=e){var o=this.hints.childNodes[this.selectedHint];o&&(o.className=o.className.replace(" "+i,""),o.removeAttribute("aria-selected")),(o=this.hints.childNodes[this.selectedHint=e]).className+=" "+i,o.setAttribute("aria-selected","true"),this.completion.cm.getInputField().setAttribute("aria-activedescendant",o.id),this.scrollToActive(),t.signal(this.data,"select",this.data.list[this.selectedHint],o)}},scrollToActive:function(){var t=this.getSelectedHintRange(),e=this.hints.childNodes[t.from],i=this.hints.childNodes[t.to],n=this.hints.firstChild;e.offsetTop<this.hints.scrollTop?this.hints.scrollTop=e.offsetTop-n.offsetTop:i.offsetTop+i.offsetHeight>this.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=i.offsetTop+i.offsetHeight-this.hints.clientHeight+n.offsetTop)},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1},getSelectedHintRange:function(){var t=this.completion.options.scrollMargin||0;return{from:Math.max(0,this.selectedHint-t),to:Math.min(this.data.list.length-1,this.selectedHint+t)}}},t.registerHelper("hint","auto",{resolve:f}),t.registerHelper("hint","fromList",(function(e,i){var n,o=e.getCursor(),s=e.getTokenAt(o),c=t.Pos(o.line,s.start),r=o;s.start<o.ch&&/\w/.test(s.string.charAt(o.ch-s.start-1))?n=s.string.substr(0,o.ch-s.start):(n="",c=o);for(var l=[],h=0;h<i.words.length;h++){var a=i.words[h];a.slice(0,n.length)==n&&l.push(a)}if(l.length)return{list:l,from:c,to:r}})),t.commands.autocomplete=t.showHint;var p={hint:t.hint.auto,completeSingle:!0,alignWithWord:!0,closeCharacters:/[\s()\[\]{};:>,]/,closeOnPick:!0,closeOnUnfocus:!0,updateOnCursorActivity:!0,completeOnSingleClick:!0,container:null,customKeys:null,extraKeys:null,paddingForScrollbar:!0,moveOnOverlap:!0};t.defineOption("hintOptions",null)}(i(1300))}}]);
2
+ //# sourceMappingURL=322.28bfb0ce.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"static/js/322.5ada89eb.chunk.js","mappings":"+FAYG,SAASA,GACV,aAEA,IAAIC,EAA4B,kBAC5BC,EAA4B,yBAsChC,SAASC,EAAWC,EAAIC,GAStB,GARAC,KAAKF,GAAKA,EACVE,KAAKD,QAAUA,EACfC,KAAKC,OAAS,KACdD,KAAKE,SAAW,EAChBF,KAAKG,KAAO,EACZH,KAAKI,SAAWJ,KAAKF,GAAGO,UAAU,SAClCL,KAAKM,SAAWN,KAAKF,GAAGS,QAAQP,KAAKI,SAASI,MAAMC,OAAST,KAAKF,GAAGY,eAAeD,OAEhFT,KAAKD,QAAQY,uBAAwB,CACvC,IAAIC,EAAOZ,KACXF,EAAGe,GAAG,iBAAkBb,KAAKc,aAAe,WAAaF,EAAKG,gBAAmB,EAClF,CACF,CA/CDrB,EAAWsB,SAAW,SAASlB,EAAImB,EAAUlB,GAC3C,IAAKkB,EAAU,OAAOnB,EAAGkB,SAASjB,GAC9BA,GAAWA,EAAQmB,QAAOD,EAASC,OAAQ,GAC/C,IAAIC,EAAU,CAACC,KAAMH,GACrB,GAAIlB,EAAS,IAAK,IAAIsB,KAAQtB,EAASoB,EAAQE,GAAQtB,EAAQsB,GAC/D,OAAOvB,EAAGkB,SAASG,EACpB,EAEDzB,EAAW4B,gBAAgB,YAAY,SAASvB,GAC9CA,EAAUwB,EAAavB,KAAMA,KAAKK,UAAU,SAAUN,GACtD,IAAIyB,EAAaxB,KAAKyB,iBACtB,KAAID,EAAWf,OAAS,GAAxB,CAIA,GAAIT,KAAK0B,oBAAqB,CAC5B,IAAK3B,EAAQqB,KAAKO,kBAAmB,OAErC,IAAK,IAAIC,EAAI,EAAGA,EAAIJ,EAAWf,OAAQmB,IACrC,GAAIJ,EAAWI,GAAGC,KAAKrB,MAAQgB,EAAWI,GAAGE,OAAOtB,KAAM,MAC7D,CAEGR,KAAK+B,MAAMC,kBAAkBhC,KAAK+B,MAAMC,iBAAiBC,QAC7D,IAAIC,EAAalC,KAAK+B,MAAMC,iBAAmB,IAAInC,EAAWG,KAAMD,GAC/DmC,EAAWnC,QAAQqB,OAExB1B,EAAWyC,OAAOnC,KAAM,kBAAmBA,MAC3CkC,EAAWE,QAAO,GAhBe,CAiBlC,IAED1C,EAAW4B,gBAAgB,aAAa,WAClCtB,KAAK+B,MAAMC,kBAAkBhC,KAAK+B,MAAMC,iBAAiBC,OAC9D,IAiBD,IAAII,EAAwBC,OAAOD,uBAAyB,SAASE,GACnE,OAAOC,WAAWD,EAAI,IAAK,GAC5B,EACGE,EAAuBH,OAAOG,sBAAwBC,aAsF1D,SAASnB,EAAazB,EAAI6C,EAAK5C,GAC7B,IAAI6C,EAAS9C,EAAGC,QAAQ8C,YACpBC,EAAM,CAAC,EACX,IAAK,IAAIzB,KAAQ0B,EAAgBD,EAAIzB,GAAQ0B,EAAe1B,GAC5D,GAAIuB,EAAQ,IAAK,IAAIvB,KAAQuB,OACNI,IAAjBJ,EAAOvB,KAAqByB,EAAIzB,GAAQuB,EAAOvB,IACrD,GAAItB,EAAS,IAAK,IAAIsB,KAAQtB,OACNiD,IAAlBjD,EAAQsB,KAAqByB,EAAIzB,GAAQtB,EAAQsB,IAEvD,OADIyB,EAAI1B,KAAK6B,UAASH,EAAI1B,KAAO0B,EAAI1B,KAAK6B,QAAQnD,EAAI6C,IAC/CG,CACR,CAED,SAASI,EAAQhB,GACf,MAAyB,iBAAdA,EAA+BA,EAC9BA,EAAWiB,IACxB,CAED,SAASC,EAAYlB,EAAYmB,GAC/B,IAAIC,EAAU,CACZC,GAAI,WAAYF,EAAOG,WAAW,EAAI,EACtCC,KAAM,WAAYJ,EAAOG,UAAU,EAAI,EACvCE,OAAQ,WAAYL,EAAOG,UAA+B,EAApBH,EAAOM,YAAgB,EAAO,EACpEC,SAAU,WAAYP,EAAOG,UAAUH,EAAOM,WAAa,GAAG,EAAO,EACrEE,KAAM,WAAYR,EAAOS,SAAS,EAAI,EACtCC,IAAK,WAAYV,EAAOS,SAAST,EAAO5C,OAAS,EAAI,EACrDuD,MAAOX,EAAOY,KACdC,IAAKb,EAAOY,KACZE,IAAKd,EAAOpB,OAGJ,MAAMmC,KAAKC,UAAUC,YAG7BhB,EAAQ,UAAY,WAAYD,EAAOG,WAAW,EAAI,EACtDF,EAAQ,UAAY,WAAYD,EAAOG,UAAU,EAAI,GAGvD,IAAIe,EAASrC,EAAWnC,QAAQyE,WAC5BC,EAASF,EAAS,CAAC,EAAIjB,EAC3B,SAASoB,EAAWC,EAAKC,GACvB,IAAIC,EAEFA,EADgB,iBAAPD,EACD,SAAS9E,GAAM,OAAO8E,EAAI9E,EAAIuD,EAAU,EAEzCC,EAAQwB,eAAeF,GACtBtB,EAAQsB,GAERA,EACVH,EAAOE,GAAOE,CACf,CACD,GAAIN,EACF,IAAK,IAAII,KAAOJ,EAAYA,EAAOO,eAAeH,IAChDD,EAAWC,EAAKJ,EAAOI,IAC3B,IAAII,EAAQ7C,EAAWnC,QAAQiF,UAC/B,GAAID,EACF,IAAK,IAAIJ,KAAOI,EAAWA,EAAMD,eAAeH,IAC9CD,EAAWC,EAAKI,EAAMJ,IAC1B,OAAOF,CACR,CAED,SAASQ,EAAeC,EAAcC,GACpC,KAAOA,GAAMA,GAAMD,GAAc,CAC/B,GAAkC,OAA9BC,EAAGC,SAASC,eAA0BF,EAAGG,YAAcJ,EAAc,OAAOC,EAChFA,EAAKA,EAAGG,UACT,CACF,CAED,SAASC,EAAOrD,EAAYsD,GAC1BxF,KAAKyF,GAAK,eAAiBC,KAAKC,MAAMD,KAAKE,OAAO,MAClD5F,KAAKkC,WAAaA,EAClBlC,KAAKwF,KAAOA,EACZxF,KAAK6F,QAAS,EACd,IAAI5F,EAASD,KAAMF,EAAKoC,EAAWpC,GAC/BgG,EAAgBhG,EAAGiG,gBAAgBD,cACnCE,EAAeF,EAAcG,aAAeH,EAAcE,aAE1DE,EAAQlG,KAAKkG,MAAQJ,EAAcK,cAAc,MACrDD,EAAME,aAAa,OAAQ,WAC3BF,EAAME,aAAa,gBAAiB,QACpCF,EAAMT,GAAKzF,KAAKyF,GAChB,IAAIY,EAAQnE,EAAWpC,GAAGC,QAAQsG,MAClCH,EAAMI,UAAY,oBAAsBD,EACxCrG,KAAKuG,aAAef,EAAKe,cAAgB,EAGzC,IADA,IAAIC,EAAchB,EAAKiB,KACd7E,EAAI,EAAGA,EAAI4E,EAAY/F,SAAUmB,EAAG,CAC3C,IAAI8E,EAAMR,EAAMS,YAAYb,EAAcK,cAAc,OAAQS,EAAMJ,EAAY5E,GAC9E0E,EAAY3G,GAAsBiC,GAAK5B,KAAKuG,aAAe,GAAK,IAAM3G,GACrD,MAAjBgH,EAAIN,YAAmBA,EAAYM,EAAIN,UAAY,IAAMA,GAC7DI,EAAIJ,UAAYA,EACZ1E,GAAK5B,KAAKuG,cAAcG,EAAIN,aAAa,gBAAiB,QAC9DM,EAAIjB,GAAKzF,KAAKyF,GAAK,IAAM7D,EACzB8E,EAAIN,aAAa,OAAQ,UACrBQ,EAAIC,OAAQD,EAAIC,OAAOH,EAAKlB,EAAMoB,GACjCF,EAAIC,YAAYb,EAAcgB,eAAeF,EAAIG,aAAe7D,EAAQ0D,KAC7EF,EAAIM,OAASpF,CACd,CAED,IAAIqF,EAAY/E,EAAWnC,QAAQkH,WAAanB,EAAcoB,KAC1DvE,EAAM7C,EAAGqH,aAAajF,EAAWnC,QAAQqH,cAAgB5B,EAAK6B,KAAO,MACrEC,EAAO3E,EAAI2E,KAAMC,EAAM5E,EAAI6E,OAAQC,GAAQ,EAC3CC,EAAa,EAAGC,EAAY,EAChC,GAAIV,IAAcnB,EAAcoB,KAAM,CAEpC,IACIU,GAD0H,IAAlG,CAAC,WAAY,WAAY,SAASC,QAAQ7B,EAAa8B,iBAAiBb,GAAWc,UACpEd,EAAYA,EAAUW,aAC7DI,EAAuBJ,EAAaK,wBACpCC,EAAepC,EAAcoB,KAAKe,wBACtCP,EAAcM,EAAqBV,KAAOY,EAAaZ,KAAOM,EAAaO,WAC3ER,EAAaK,EAAqBT,IAAMW,EAAaX,IAAMK,EAAaQ,SACzE,CACDlC,EAAMmC,MAAMf,KAAQA,EAAOI,EAAc,KACzCxB,EAAMmC,MAAMd,IAAOA,EAAMI,EAAa,KAGtC,IAAIW,EAAOtC,EAAauC,YAAc7C,KAAK8C,IAAI1C,EAAcoB,KAAKuB,YAAa3C,EAAc4C,gBAAgBD,aACzGE,EAAO3C,EAAa4C,aAAelD,KAAK8C,IAAI1C,EAAcoB,KAAK2B,aAAc/C,EAAc4C,gBAAgBG,cAC/G5B,EAAUN,YAAYT,GACtBpG,EAAGiG,gBAAgBK,aAAa,oBAAqB,QACrDtG,EAAGiG,gBAAgBK,aAAa,YAAapG,KAAKyF,IAClD3F,EAAGiG,gBAAgBK,aAAa,wBAAyBpG,KAAKyF,GAAK,IAAMzF,KAAKuG,cAE9E,IAIIuC,EAJAC,EAAM7G,EAAWnC,QAAQiJ,cAAgB9C,EAAM+B,wBAA0B,IAAIgB,QAC7EC,IAAUhH,EAAWnC,QAAQoJ,qBAAsBjD,EAAMkD,aAAelD,EAAMmD,aAAe,EAOjG,GAHA7G,YAAW,WAAasG,EAAchJ,EAAGwJ,eAAkB,IAE5CP,EAAIvB,OAASmB,EACb,EAAG,CAChB,IAAIY,EAASR,EAAIvB,OAASuB,EAAIxB,IAC9B,GAD4C5E,EAAI4E,KAAO5E,EAAI6E,OAASuB,EAAIxB,KAC3DgC,EAAS,EACpBrD,EAAMmC,MAAMd,KAAOA,EAAM5E,EAAI4E,IAAMgC,EAAS5B,GAAa,KACzDF,GAAQ,OACH,GAAI8B,EAASZ,EAAM,CACxBzC,EAAMmC,MAAMkB,OAAUZ,EAAO,EAAK,KAClCzC,EAAMmC,MAAMd,KAAOA,EAAM5E,EAAI6E,OAASuB,EAAIxB,IAAMI,GAAa,KAC7D,IAAI6B,EAAS1J,EAAGO,YACZmF,EAAK6B,KAAKoC,IAAMD,EAAOC,KACzB9G,EAAM7C,EAAGqH,aAAaqC,GACtBtD,EAAMmC,MAAMf,MAAQA,EAAO3E,EAAI2E,KAAOI,GAAc,KACpDqB,EAAM7C,EAAM+B,wBAEf,CACF,CACD,IAuBMyB,EAvBFC,EAAWZ,EAAIa,MAAQtB,EAS3B,GARIY,IAASS,GAAY7J,EAAG+J,QAAQC,gBAChCH,EAAW,IACTZ,EAAIa,MAAQb,EAAIzB,KAAOgB,IACzBpC,EAAMmC,MAAM0B,MAASzB,EAAO,EAAK,KACjCqB,GAAaZ,EAAIa,MAAQb,EAAIzB,KAAQgB,GAEvCpC,EAAMmC,MAAMf,MAAQA,EAAO3E,EAAI2E,KAAOqC,EAAWjC,GAAc,MAE7DwB,EAAS,IAAK,IAAIc,EAAO9D,EAAM+D,WAAYD,EAAMA,EAAOA,EAAKE,YAC/DF,EAAK3B,MAAM8B,aAAerK,EAAG+J,QAAQC,eAAiB,KAExDhK,EAAGsK,UAAUpK,KAAKqK,OAASjH,EAAYlB,EAAY,CACjDsB,UAAW,SAAS8G,EAAGC,GAAatK,EAAOuK,aAAavK,EAAOsG,aAAe+D,EAAGC,EAAa,EAC9FzG,SAAU,SAASwG,GAAKrK,EAAOuK,aAAaF,EAAK,EACjD3G,SAAU,WAAa,OAAO1D,EAAOwK,cAAiB,EACtDhK,OAAQ+F,EAAY/F,OACpBwB,MAAO,WAAaC,EAAWD,OAAU,EACzCgC,KAAM,WAAahE,EAAOgE,MAAS,EACnCuB,KAAMA,KAGJtD,EAAWnC,QAAQ2K,iBAErB5K,EAAGe,GAAG,OAAQb,KAAK2K,OAAS,WAAajB,EAAgBlH,YAAW,WAAaN,EAAWD,OAAU,GAAE,IAAO,GAC/GnC,EAAGe,GAAG,QAASb,KAAK4K,QAAU,WAAalI,aAAagH,EAAiB,IAG3E5J,EAAGe,GAAG,SAAUb,KAAK6K,SAAW,WAC9B,IAAIC,EAAYhL,EAAGwJ,gBAAiB1G,EAAS9C,EAAGiL,oBAAoB9C,wBAC/Da,IAAaA,EAAchJ,EAAGwJ,iBACnC,IAAI0B,EAASzD,EAAMuB,EAAYvB,IAAMuD,EAAUvD,IAC3C0D,EAAQD,GAAUhF,EAAakF,cAAgBpF,EAAc4C,iBAAmB5C,EAAcoB,MAAMkB,WAExG,GADKX,IAAOwD,GAAS/E,EAAM2C,cACvBoC,GAASrI,EAAO2E,KAAO0D,GAASrI,EAAO4E,OAAQ,OAAOtF,EAAWD,QACrEiE,EAAMmC,MAAMd,IAAMyD,EAAS,KAC3B9E,EAAMmC,MAAMf,KAAQA,EAAOwB,EAAYxB,KAAOwD,EAAUxD,KAAQ,IACjE,GAED5H,EAAWmB,GAAGqF,EAAO,YAAY,SAASiF,GACxC,IAAIC,EAAInG,EAAeiB,EAAOiF,EAAEE,QAAUF,EAAEG,YACxCF,GAAiB,MAAZA,EAAEpE,SAAiB/G,EAAOuK,aAAaY,EAAEpE,QAAS/G,EAAOgE,OACnE,IAEDvE,EAAWmB,GAAGqF,EAAO,SAAS,SAASiF,GACrC,IAAIC,EAAInG,EAAeiB,EAAOiF,EAAEE,QAAUF,EAAEG,YACxCF,GAAiB,MAAZA,EAAEpE,SACT/G,EAAOuK,aAAaY,EAAEpE,QAClB9E,EAAWnC,QAAQwL,uBAAuBtL,EAAOgE,OAExD,IAEDvE,EAAWmB,GAAGqF,EAAO,aAAa,WAChC1D,YAAW,WAAW1C,EAAG0L,OAAS,GAAE,GACrC,IAGD,IAAIC,EAAoBzL,KAAK0L,uBAM7B,OAL+B,IAA3BD,EAAkBpE,MAAuC,IAAzBoE,EAAkBE,IACpD3L,KAAK4L,iBAGPlM,EAAWyC,OAAOqD,EAAM,SAAUgB,EAAYxG,KAAKuG,cAAeL,EAAM2F,WAAW7L,KAAKuG,gBACjF,CACR,CA0ED,SAASuF,EAAkBhM,EAAIiM,GAC7B,IAAKjM,EAAG4B,oBAAqB,OAAOqK,EAEpC,IADA,IAAIC,EAAS,GACJpK,EAAI,EAAGA,EAAImK,EAAQtL,OAAQmB,IAC9BmK,EAAQnK,GAAGD,mBAAmBqK,EAAOC,KAAKF,EAAQnK,IACxD,OAAOoK,CACR,CAED,SAASE,EAAW9K,EAAMtB,EAAIC,EAASoM,GACrC,GAAI/K,EAAKF,MACPE,EAAKtB,EAAIqM,EAAUpM,OACd,CACL,IAAIiM,EAAS5K,EAAKtB,EAAIC,GAClBiM,GAAUA,EAAOI,KAAMJ,EAAOI,KAAKD,GAClCA,EAASH,EACf,CACF,CAED,SAASK,EAAiBvM,EAAI6C,GAC5B,IAA0C2J,EAAtCP,EAAUjM,EAAGyM,WAAW5J,EAAK,QACjC,GAAIoJ,EAAQtL,OAAQ,CAClB,IAAI+L,EAAW,SAAS1M,EAAIqM,EAAUpM,GACpC,IAAI0M,EAAMX,EAAkBhM,EAAIiM,GAChC,SAASW,EAAI9K,GACX,GAAIA,GAAK6K,EAAIhM,OAAQ,OAAO0L,EAAS,MACrCD,EAAWO,EAAI7K,GAAI9B,EAAIC,GAAS,SAASiM,GACnCA,GAAUA,EAAOvF,KAAKhG,OAAS,EAAG0L,EAASH,GAC1CU,EAAI9K,EAAI,EACd,GACF,CACD8K,EAAI,EACL,EAGD,OAFAF,EAAStL,OAAQ,EACjBsL,EAAS7K,mBAAoB,EACtB6K,CACR,CAAM,OAAIF,EAAQxM,EAAG6M,UAAU7M,EAAGO,YAAa,cACvC,SAASP,GAAM,OAAOJ,EAAW0B,KAAKwL,SAAS9M,EAAI,CAACwM,MAAOA,GAAS,EAClE5M,EAAW0B,KAAKyL,QAClB,SAAS/M,EAAIC,GAAW,OAAOL,EAAW0B,KAAKyL,QAAQ/M,EAAIC,EAAU,EAErE,WAAa,CAEvB,CA1ZDF,EAAWiN,UAAY,CACrB7K,MAAO,WACAjC,KAAK+M,WACV/M,KAAKF,GAAGiC,MAAMC,iBAAmB,KACjChC,KAAKG,KAAO,KACRH,KAAKD,QAAQY,wBACfX,KAAKF,GAAGkN,IAAI,iBAAkBhN,KAAKc,cAGjCd,KAAKC,QAAUD,KAAKwF,MAAM9F,EAAWyC,OAAOnC,KAAKwF,KAAM,SACvDxF,KAAKC,QAAQD,KAAKC,OAAOgC,QAC7BvC,EAAWyC,OAAOnC,KAAKF,GAAI,gBAAiBE,KAAKF,IAClD,EAEDiN,OAAQ,WACN,OAAO/M,KAAKF,GAAGiC,MAAMC,kBAAoBhC,IAC1C,EAEDiE,KAAM,SAASuB,EAAM5D,GACnB,IAAIM,EAAasD,EAAKiB,KAAK7E,GAAIhB,EAAOZ,KACtCA,KAAKF,GAAGmN,WAAU,WACZ/K,EAAWd,KACbc,EAAWd,KAAKR,EAAKd,GAAI0F,EAAMtD,GAE/BtB,EAAKd,GAAGoN,aAAahK,EAAQhB,GAAaA,EAAWmF,MAAQ7B,EAAK6B,KAC7CnF,EAAWyJ,IAAMnG,EAAKmG,GAAI,YACjDjM,EAAWyC,OAAOqD,EAAM,OAAQtD,GAChCtB,EAAKd,GAAGqN,gBACT,IACGnN,KAAKD,QAAQqN,aACfpN,KAAKiC,OAER,EAEDlB,eAAgB,WACVf,KAAKE,WACPuC,EAAqBzC,KAAKE,UAC1BF,KAAKE,SAAW,GAGlB,IAAImN,EAAarN,KAAKI,SACnBJ,KAAKwF,OACN6H,EAAarN,KAAKwF,KAAK6B,MAGzB,IAAI1E,EAAM3C,KAAKF,GAAGO,YAAaG,EAAOR,KAAKF,GAAGS,QAAQoC,EAAInC,MAC1D,GAAImC,EAAInC,MAAQR,KAAKI,SAASI,MAAQA,EAAKC,OAASkC,EAAI8G,IAAMzJ,KAAKM,SAAWN,KAAKI,SAASqJ,IACxF9G,EAAI8G,GAAK4D,EAAW5D,IAAMzJ,KAAKF,GAAG4B,sBAChCiB,EAAI8G,IAAMzJ,KAAKD,QAAQuN,gBAAgBlJ,KAAK5D,EAAK+M,OAAO5K,EAAI8G,GAAK,IACrEzJ,KAAKiC,YACA,CACL,IAAIrB,EAAOZ,KACXA,KAAKE,SAAWmC,GAAsB,WAAYzB,EAAKwB,QAAU,IAC7DpC,KAAKC,QAAQD,KAAKC,OAAOuN,SAC9B,CACF,EAEDpL,OAAQ,SAASqL,GACf,GAAiB,MAAbzN,KAAKG,KAAT,CACA,IAAIS,EAAOZ,KAAM0N,IAAW1N,KAAKG,KACjC+L,EAAWlM,KAAKD,QAAQqB,KAAMpB,KAAKF,GAAIE,KAAKD,SAAS,SAASyF,GACxD5E,EAAKT,MAAQuN,GAAQ9M,EAAK+M,aAAanI,EAAMiI,EAClD,GAJ4B,CAK9B,EAEDE,aAAc,SAASnI,EAAMiI,GACvBzN,KAAKwF,MAAM9F,EAAWyC,OAAOnC,KAAKwF,KAAM,UAE5C,IAAIK,EAAU7F,KAAKC,QAAUD,KAAKC,OAAO4F,QAAY4H,GAASzN,KAAKD,QAAQ6N,eACvE5N,KAAKC,QAAQD,KAAKC,OAAOgC,QAE7BjC,KAAKwF,KAAOA,EAERA,GAAQA,EAAKiB,KAAKhG,SAChBoF,GAA8B,GAApBL,EAAKiB,KAAKhG,OACtBT,KAAKiE,KAAKuB,EAAM,IAEhBxF,KAAKC,OAAS,IAAIsF,EAAOvF,KAAMwF,GAC/B9F,EAAWyC,OAAOqD,EAAM,UAG7B,GAuNHD,EAAOuH,UAAY,CACjB7K,MAAO,WACL,GAAIjC,KAAKkC,WAAWjC,QAAUD,KAA9B,CACAA,KAAKkC,WAAWjC,OAAS,KACrBD,KAAKkG,MAAMZ,YAAYtF,KAAKkG,MAAMZ,WAAWuI,YAAY7N,KAAKkG,OAClElG,KAAKkC,WAAWpC,GAAGgO,aAAa9N,KAAKqK,QACrC,IAAI0D,EAAQ/N,KAAKkC,WAAWpC,GAAGiG,gBAC/BgI,EAAMC,gBAAgB,yBACtBD,EAAMC,gBAAgB,aAEtB,IAAIlO,EAAKE,KAAKkC,WAAWpC,GACrBE,KAAKkC,WAAWnC,QAAQ2K,iBAC1B5K,EAAGkN,IAAI,OAAQhN,KAAK2K,QACpB7K,EAAGkN,IAAI,QAAShN,KAAK4K,UAEvB9K,EAAGkN,IAAI,SAAUhN,KAAK6K,SAboB,CAc3C,EAED2C,QAAS,WACPxN,KAAKkC,WAAWpC,GAAGgO,aAAa9N,KAAKqK,QACrC,IAAIpK,EAASD,KACbA,KAAKqK,OAAS,CAACrG,MAAO,WAAa/D,EAAO4F,QAAS,CAAO,GAC1D7F,KAAKkC,WAAWpC,GAAGsK,UAAUpK,KAAKqK,OACnC,EAEDpG,KAAM,WACJjE,KAAKkC,WAAW+B,KAAKjE,KAAKwF,KAAMxF,KAAKuG,aACtC,EAEDiE,aAAc,SAAS5I,EAAG2I,GAKxB,GAJI3I,GAAK5B,KAAKwF,KAAKiB,KAAKhG,OACtBmB,EAAI2I,EAAYvK,KAAKwF,KAAKiB,KAAKhG,OAAS,EAAI,EACrCmB,EAAI,IACXA,EAAI2I,EAAY,EAAKvK,KAAKwF,KAAKiB,KAAKhG,OAAS,GAC3CT,KAAKuG,cAAgB3E,EAAzB,CACA,IAAIoI,EAAOhK,KAAKkG,MAAM2F,WAAW7L,KAAKuG,cAClCyD,IACFA,EAAK1D,UAAY0D,EAAK1D,UAAU2H,QAAQ,IAAMrO,EAA2B,IACzEoK,EAAKgE,gBAAgB,mBAEvBhE,EAAOhK,KAAKkG,MAAM2F,WAAW7L,KAAKuG,aAAe3E,IAC5C0E,WAAa,IAAM1G,EACxBoK,EAAK5D,aAAa,gBAAiB,QACnCpG,KAAKkC,WAAWpC,GAAGiG,gBAAgBK,aAAa,wBAAyB4D,EAAKvE,IAC9EzF,KAAK4L,iBACLlM,EAAWyC,OAAOnC,KAAKwF,KAAM,SAAUxF,KAAKwF,KAAKiB,KAAKzG,KAAKuG,cAAeyD,EAXxC,CAYnC,EAED4B,eAAgB,WACd,IAAIH,EAAoBzL,KAAK0L,uBACzBwC,EAAQlO,KAAKkG,MAAM2F,WAAWJ,EAAkBpE,MAChD8G,EAAQnO,KAAKkG,MAAM2F,WAAWJ,EAAkBE,IAChDyC,EAAYpO,KAAKkG,MAAM+D,WACvBiE,EAAMvG,UAAY3H,KAAKkG,MAAMkC,UAC/BpI,KAAKkG,MAAMkC,UAAY8F,EAAMvG,UAAYyG,EAAUzG,UAC5CwG,EAAMxG,UAAYwG,EAAMtF,aAAe7I,KAAKkG,MAAMkC,UAAYpI,KAAKkG,MAAMmD,eAChFrJ,KAAKkG,MAAMkC,UAAY+F,EAAMxG,UAAYwG,EAAMtF,aAAe7I,KAAKkG,MAAMmD,aAAe+E,EAAUzG,UACrG,EAED8C,aAAc,WACZ,OAAO/E,KAAKC,MAAM3F,KAAKkG,MAAMmD,aAAerJ,KAAKkG,MAAM+D,WAAWpB,eAAiB,CACpF,EAED6C,qBAAsB,WACpB,IAAI2C,EAASrO,KAAKkC,WAAWnC,QAAQuO,cAAgB,EACrD,MAAO,CACLjH,KAAM3B,KAAK8C,IAAI,EAAGxI,KAAKuG,aAAe8H,GACtC1C,GAAIjG,KAAK6I,IAAIvO,KAAKwF,KAAKiB,KAAKhG,OAAS,EAAGT,KAAKuG,aAAe8H,GAE/D,GA+CH3O,EAAW8O,eAAe,OAAQ,OAAQ,CACxCvL,QAASoJ,IAGX3M,EAAW8O,eAAe,OAAQ,YAAY,SAAS1O,EAAIC,GACzD,IACI0O,EADA7H,EAAM9G,EAAGO,YAAaqO,EAAQ5O,EAAG6O,WAAW/H,GACtCS,EAAO3H,EAAWkP,IAAIhI,EAAIpG,KAAMkO,EAAMG,OAAQlD,EAAK/E,EACzD8H,EAAMG,MAAQjI,EAAI6C,IAAM,KAAKrF,KAAKsK,EAAMI,OAAOvB,OAAO3G,EAAI6C,GAAKiF,EAAMG,MAAQ,IAC/EJ,EAAOC,EAAMI,OAAOC,OAAO,EAAGnI,EAAI6C,GAAKiF,EAAMG,QAE7CJ,EAAO,GACPpH,EAAOT,GAGT,IADA,IAAIoI,EAAQ,GACHpN,EAAI,EAAGA,EAAI7B,EAAQuM,MAAM7L,OAAQmB,IAAK,CAC7C,IAAIqN,EAAOlP,EAAQuM,MAAM1K,GACrBqN,EAAKC,MAAM,EAAGT,EAAKhO,SAAWgO,GAChCO,EAAM/C,KAAKgD,EACd,CAED,GAAID,EAAMvO,OAAQ,MAAO,CAACgG,KAAMuI,EAAO3H,KAAMA,EAAMsE,GAAIA,EACxD,IAEDjM,EAAWyP,SAASC,aAAe1P,EAAWsB,SAE9C,IAAI+B,EAAiB,CACnB3B,KAAM1B,EAAW0B,KAAKiO,KACtBzB,gBAAgB,EAChBxG,eAAe,EACfkG,gBAAiB,mBACjBF,aAAa,EACb1C,gBAAgB,EAChB/J,wBAAwB,EACxB4K,uBAAuB,EACvBtE,UAAW,KACXzC,WAAY,KACZQ,UAAW,KACXmE,qBAAqB,EACrBH,eAAe,GAGjBtJ,EAAW4P,aAAa,cAAe,KACxC,CAzgBGC,CAAIC,EAAQ,M","sources":["../node_modules/codemirror/addon/hint/show-hint.js"],"sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// declare global: DOMRect\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n var HINT_ELEMENT_CLASS = \"CodeMirror-hint\";\n var ACTIVE_HINT_ELEMENT_CLASS = \"CodeMirror-hint-active\";\n\n // This is the old interface, kept around for now to stay\n // backwards-compatible.\n CodeMirror.showHint = function(cm, getHints, options) {\n if (!getHints) return cm.showHint(options);\n if (options && options.async) getHints.async = true;\n var newOpts = {hint: getHints};\n if (options) for (var prop in options) newOpts[prop] = options[prop];\n return cm.showHint(newOpts);\n };\n\n CodeMirror.defineExtension(\"showHint\", function(options) {\n options = parseOptions(this, this.getCursor(\"start\"), options);\n var selections = this.listSelections()\n if (selections.length > 1) return;\n // By default, don't allow completion when something is selected.\n // A hint function can have a `supportsSelection` property to\n // indicate that it can handle selections.\n if (this.somethingSelected()) {\n if (!options.hint.supportsSelection) return;\n // Don't try with cross-line selections\n for (var i = 0; i < selections.length; i++)\n if (selections[i].head.line != selections[i].anchor.line) return;\n }\n\n if (this.state.completionActive) this.state.completionActive.close();\n var completion = this.state.completionActive = new Completion(this, options);\n if (!completion.options.hint) return;\n\n CodeMirror.signal(this, \"startCompletion\", this);\n completion.update(true);\n });\n\n CodeMirror.defineExtension(\"closeHint\", function() {\n if (this.state.completionActive) this.state.completionActive.close()\n })\n\n function Completion(cm, options) {\n this.cm = cm;\n this.options = options;\n this.widget = null;\n this.debounce = 0;\n this.tick = 0;\n this.startPos = this.cm.getCursor(\"start\");\n this.startLen = this.cm.getLine(this.startPos.line).length - this.cm.getSelection().length;\n\n if (this.options.updateOnCursorActivity) {\n var self = this;\n cm.on(\"cursorActivity\", this.activityFunc = function() { self.cursorActivity(); });\n }\n }\n\n var requestAnimationFrame = window.requestAnimationFrame || function(fn) {\n return setTimeout(fn, 1000/60);\n };\n var cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout;\n\n Completion.prototype = {\n close: function() {\n if (!this.active()) return;\n this.cm.state.completionActive = null;\n this.tick = null;\n if (this.options.updateOnCursorActivity) {\n this.cm.off(\"cursorActivity\", this.activityFunc);\n }\n\n if (this.widget && this.data) CodeMirror.signal(this.data, \"close\");\n if (this.widget) this.widget.close();\n CodeMirror.signal(this.cm, \"endCompletion\", this.cm);\n },\n\n active: function() {\n return this.cm.state.completionActive == this;\n },\n\n pick: function(data, i) {\n var completion = data.list[i], self = this;\n this.cm.operation(function() {\n if (completion.hint)\n completion.hint(self.cm, data, completion);\n else\n self.cm.replaceRange(getText(completion), completion.from || data.from,\n completion.to || data.to, \"complete\");\n CodeMirror.signal(data, \"pick\", completion);\n self.cm.scrollIntoView();\n });\n if (this.options.closeOnPick) {\n this.close();\n }\n },\n\n cursorActivity: function() {\n if (this.debounce) {\n cancelAnimationFrame(this.debounce);\n this.debounce = 0;\n }\n\n var identStart = this.startPos;\n if(this.data) {\n identStart = this.data.from;\n }\n\n var pos = this.cm.getCursor(), line = this.cm.getLine(pos.line);\n if (pos.line != this.startPos.line || line.length - pos.ch != this.startLen - this.startPos.ch ||\n pos.ch < identStart.ch || this.cm.somethingSelected() ||\n (!pos.ch || this.options.closeCharacters.test(line.charAt(pos.ch - 1)))) {\n this.close();\n } else {\n var self = this;\n this.debounce = requestAnimationFrame(function() {self.update();});\n if (this.widget) this.widget.disable();\n }\n },\n\n update: function(first) {\n if (this.tick == null) return\n var self = this, myTick = ++this.tick\n fetchHints(this.options.hint, this.cm, this.options, function(data) {\n if (self.tick == myTick) self.finishUpdate(data, first)\n })\n },\n\n finishUpdate: function(data, first) {\n if (this.data) CodeMirror.signal(this.data, \"update\");\n\n var picked = (this.widget && this.widget.picked) || (first && this.options.completeSingle);\n if (this.widget) this.widget.close();\n\n this.data = data;\n\n if (data && data.list.length) {\n if (picked && data.list.length == 1) {\n this.pick(data, 0);\n } else {\n this.widget = new Widget(this, data);\n CodeMirror.signal(data, \"shown\");\n }\n }\n }\n };\n\n function parseOptions(cm, pos, options) {\n var editor = cm.options.hintOptions;\n var out = {};\n for (var prop in defaultOptions) out[prop] = defaultOptions[prop];\n if (editor) for (var prop in editor)\n if (editor[prop] !== undefined) out[prop] = editor[prop];\n if (options) for (var prop in options)\n if (options[prop] !== undefined) out[prop] = options[prop];\n if (out.hint.resolve) out.hint = out.hint.resolve(cm, pos)\n return out;\n }\n\n function getText(completion) {\n if (typeof completion == \"string\") return completion;\n else return completion.text;\n }\n\n function buildKeyMap(completion, handle) {\n var baseMap = {\n Up: function() {handle.moveFocus(-1);},\n Down: function() {handle.moveFocus(1);},\n PageUp: function() {handle.moveFocus(-handle.menuSize() + 1, true);},\n PageDown: function() {handle.moveFocus(handle.menuSize() - 1, true);},\n Home: function() {handle.setFocus(0);},\n End: function() {handle.setFocus(handle.length - 1);},\n Enter: handle.pick,\n Tab: handle.pick,\n Esc: handle.close\n };\n\n var mac = /Mac/.test(navigator.platform);\n\n if (mac) {\n baseMap[\"Ctrl-P\"] = function() {handle.moveFocus(-1);};\n baseMap[\"Ctrl-N\"] = function() {handle.moveFocus(1);};\n }\n\n var custom = completion.options.customKeys;\n var ourMap = custom ? {} : baseMap;\n function addBinding(key, val) {\n var bound;\n if (typeof val != \"string\")\n bound = function(cm) { return val(cm, handle); };\n // This mechanism is deprecated\n else if (baseMap.hasOwnProperty(val))\n bound = baseMap[val];\n else\n bound = val;\n ourMap[key] = bound;\n }\n if (custom)\n for (var key in custom) if (custom.hasOwnProperty(key))\n addBinding(key, custom[key]);\n var extra = completion.options.extraKeys;\n if (extra)\n for (var key in extra) if (extra.hasOwnProperty(key))\n addBinding(key, extra[key]);\n return ourMap;\n }\n\n function getHintElement(hintsElement, el) {\n while (el && el != hintsElement) {\n if (el.nodeName.toUpperCase() === \"LI\" && el.parentNode == hintsElement) return el;\n el = el.parentNode;\n }\n }\n\n function Widget(completion, data) {\n this.id = \"cm-complete-\" + Math.floor(Math.random(1e6))\n this.completion = completion;\n this.data = data;\n this.picked = false;\n var widget = this, cm = completion.cm;\n var ownerDocument = cm.getInputField().ownerDocument;\n var parentWindow = ownerDocument.defaultView || ownerDocument.parentWindow;\n\n var hints = this.hints = ownerDocument.createElement(\"ul\");\n hints.setAttribute(\"role\", \"listbox\")\n hints.setAttribute(\"aria-expanded\", \"true\")\n hints.id = this.id\n var theme = completion.cm.options.theme;\n hints.className = \"CodeMirror-hints \" + theme;\n this.selectedHint = data.selectedHint || 0;\n\n var completions = data.list;\n for (var i = 0; i < completions.length; ++i) {\n var elt = hints.appendChild(ownerDocument.createElement(\"li\")), cur = completions[i];\n var className = HINT_ELEMENT_CLASS + (i != this.selectedHint ? \"\" : \" \" + ACTIVE_HINT_ELEMENT_CLASS);\n if (cur.className != null) className = cur.className + \" \" + className;\n elt.className = className;\n if (i == this.selectedHint) elt.setAttribute(\"aria-selected\", \"true\")\n elt.id = this.id + \"-\" + i\n elt.setAttribute(\"role\", \"option\")\n if (cur.render) cur.render(elt, data, cur);\n else elt.appendChild(ownerDocument.createTextNode(cur.displayText || getText(cur)));\n elt.hintId = i;\n }\n\n var container = completion.options.container || ownerDocument.body;\n var pos = cm.cursorCoords(completion.options.alignWithWord ? data.from : null);\n var left = pos.left, top = pos.bottom, below = true;\n var offsetLeft = 0, offsetTop = 0;\n if (container !== ownerDocument.body) {\n // We offset the cursor position because left and top are relative to the offsetParent's top left corner.\n var isContainerPositioned = ['absolute', 'relative', 'fixed'].indexOf(parentWindow.getComputedStyle(container).position) !== -1;\n var offsetParent = isContainerPositioned ? container : container.offsetParent;\n var offsetParentPosition = offsetParent.getBoundingClientRect();\n var bodyPosition = ownerDocument.body.getBoundingClientRect();\n offsetLeft = (offsetParentPosition.left - bodyPosition.left - offsetParent.scrollLeft);\n offsetTop = (offsetParentPosition.top - bodyPosition.top - offsetParent.scrollTop);\n }\n hints.style.left = (left - offsetLeft) + \"px\";\n hints.style.top = (top - offsetTop) + \"px\";\n\n // If we're at the edge of the screen, then we want the menu to appear on the left of the cursor.\n var winW = parentWindow.innerWidth || Math.max(ownerDocument.body.offsetWidth, ownerDocument.documentElement.offsetWidth);\n var winH = parentWindow.innerHeight || Math.max(ownerDocument.body.offsetHeight, ownerDocument.documentElement.offsetHeight);\n container.appendChild(hints);\n cm.getInputField().setAttribute(\"aria-autocomplete\", \"list\")\n cm.getInputField().setAttribute(\"aria-owns\", this.id)\n cm.getInputField().setAttribute(\"aria-activedescendant\", this.id + \"-\" + this.selectedHint)\n\n var box = completion.options.moveOnOverlap ? hints.getBoundingClientRect() : new DOMRect();\n var scrolls = completion.options.paddingForScrollbar ? hints.scrollHeight > hints.clientHeight + 1 : false;\n\n // Compute in the timeout to avoid reflow on init\n var startScroll;\n setTimeout(function() { startScroll = cm.getScrollInfo(); });\n\n var overlapY = box.bottom - winH;\n if (overlapY > 0) {\n var height = box.bottom - box.top, curTop = pos.top - (pos.bottom - box.top);\n if (curTop - height > 0) { // Fits above cursor\n hints.style.top = (top = pos.top - height - offsetTop) + \"px\";\n below = false;\n } else if (height > winH) {\n hints.style.height = (winH - 5) + \"px\";\n hints.style.top = (top = pos.bottom - box.top - offsetTop) + \"px\";\n var cursor = cm.getCursor();\n if (data.from.ch != cursor.ch) {\n pos = cm.cursorCoords(cursor);\n hints.style.left = (left = pos.left - offsetLeft) + \"px\";\n box = hints.getBoundingClientRect();\n }\n }\n }\n var overlapX = box.right - winW;\n if (scrolls) overlapX += cm.display.nativeBarWidth;\n if (overlapX > 0) {\n if (box.right - box.left > winW) {\n hints.style.width = (winW - 5) + \"px\";\n overlapX -= (box.right - box.left) - winW;\n }\n hints.style.left = (left = pos.left - overlapX - offsetLeft) + \"px\";\n }\n if (scrolls) for (var node = hints.firstChild; node; node = node.nextSibling)\n node.style.paddingRight = cm.display.nativeBarWidth + \"px\"\n\n cm.addKeyMap(this.keyMap = buildKeyMap(completion, {\n moveFocus: function(n, avoidWrap) { widget.changeActive(widget.selectedHint + n, avoidWrap); },\n setFocus: function(n) { widget.changeActive(n); },\n menuSize: function() { return widget.screenAmount(); },\n length: completions.length,\n close: function() { completion.close(); },\n pick: function() { widget.pick(); },\n data: data\n }));\n\n if (completion.options.closeOnUnfocus) {\n var closingOnBlur;\n cm.on(\"blur\", this.onBlur = function() { closingOnBlur = setTimeout(function() { completion.close(); }, 100); });\n cm.on(\"focus\", this.onFocus = function() { clearTimeout(closingOnBlur); });\n }\n\n cm.on(\"scroll\", this.onScroll = function() {\n var curScroll = cm.getScrollInfo(), editor = cm.getWrapperElement().getBoundingClientRect();\n if (!startScroll) startScroll = cm.getScrollInfo();\n var newTop = top + startScroll.top - curScroll.top;\n var point = newTop - (parentWindow.pageYOffset || (ownerDocument.documentElement || ownerDocument.body).scrollTop);\n if (!below) point += hints.offsetHeight;\n if (point <= editor.top || point >= editor.bottom) return completion.close();\n hints.style.top = newTop + \"px\";\n hints.style.left = (left + startScroll.left - curScroll.left) + \"px\";\n });\n\n CodeMirror.on(hints, \"dblclick\", function(e) {\n var t = getHintElement(hints, e.target || e.srcElement);\n if (t && t.hintId != null) {widget.changeActive(t.hintId); widget.pick();}\n });\n\n CodeMirror.on(hints, \"click\", function(e) {\n var t = getHintElement(hints, e.target || e.srcElement);\n if (t && t.hintId != null) {\n widget.changeActive(t.hintId);\n if (completion.options.completeOnSingleClick) widget.pick();\n }\n });\n\n CodeMirror.on(hints, \"mousedown\", function() {\n setTimeout(function(){cm.focus();}, 20);\n });\n\n // The first hint doesn't need to be scrolled to on init\n var selectedHintRange = this.getSelectedHintRange();\n if (selectedHintRange.from !== 0 || selectedHintRange.to !== 0) {\n this.scrollToActive();\n }\n\n CodeMirror.signal(data, \"select\", completions[this.selectedHint], hints.childNodes[this.selectedHint]);\n return true;\n }\n\n Widget.prototype = {\n close: function() {\n if (this.completion.widget != this) return;\n this.completion.widget = null;\n if (this.hints.parentNode) this.hints.parentNode.removeChild(this.hints);\n this.completion.cm.removeKeyMap(this.keyMap);\n var input = this.completion.cm.getInputField()\n input.removeAttribute(\"aria-activedescendant\")\n input.removeAttribute(\"aria-owns\")\n\n var cm = this.completion.cm;\n if (this.completion.options.closeOnUnfocus) {\n cm.off(\"blur\", this.onBlur);\n cm.off(\"focus\", this.onFocus);\n }\n cm.off(\"scroll\", this.onScroll);\n },\n\n disable: function() {\n this.completion.cm.removeKeyMap(this.keyMap);\n var widget = this;\n this.keyMap = {Enter: function() { widget.picked = true; }};\n this.completion.cm.addKeyMap(this.keyMap);\n },\n\n pick: function() {\n this.completion.pick(this.data, this.selectedHint);\n },\n\n changeActive: function(i, avoidWrap) {\n if (i >= this.data.list.length)\n i = avoidWrap ? this.data.list.length - 1 : 0;\n else if (i < 0)\n i = avoidWrap ? 0 : this.data.list.length - 1;\n if (this.selectedHint == i) return;\n var node = this.hints.childNodes[this.selectedHint];\n if (node) {\n node.className = node.className.replace(\" \" + ACTIVE_HINT_ELEMENT_CLASS, \"\");\n node.removeAttribute(\"aria-selected\")\n }\n node = this.hints.childNodes[this.selectedHint = i];\n node.className += \" \" + ACTIVE_HINT_ELEMENT_CLASS;\n node.setAttribute(\"aria-selected\", \"true\")\n this.completion.cm.getInputField().setAttribute(\"aria-activedescendant\", node.id)\n this.scrollToActive()\n CodeMirror.signal(this.data, \"select\", this.data.list[this.selectedHint], node);\n },\n\n scrollToActive: function() {\n var selectedHintRange = this.getSelectedHintRange();\n var node1 = this.hints.childNodes[selectedHintRange.from];\n var node2 = this.hints.childNodes[selectedHintRange.to];\n var firstNode = this.hints.firstChild;\n if (node1.offsetTop < this.hints.scrollTop)\n this.hints.scrollTop = node1.offsetTop - firstNode.offsetTop;\n else if (node2.offsetTop + node2.offsetHeight > this.hints.scrollTop + this.hints.clientHeight)\n this.hints.scrollTop = node2.offsetTop + node2.offsetHeight - this.hints.clientHeight + firstNode.offsetTop;\n },\n\n screenAmount: function() {\n return Math.floor(this.hints.clientHeight / this.hints.firstChild.offsetHeight) || 1;\n },\n\n getSelectedHintRange: function() {\n var margin = this.completion.options.scrollMargin || 0;\n return {\n from: Math.max(0, this.selectedHint - margin),\n to: Math.min(this.data.list.length - 1, this.selectedHint + margin),\n };\n }\n };\n\n function applicableHelpers(cm, helpers) {\n if (!cm.somethingSelected()) return helpers\n var result = []\n for (var i = 0; i < helpers.length; i++)\n if (helpers[i].supportsSelection) result.push(helpers[i])\n return result\n }\n\n function fetchHints(hint, cm, options, callback) {\n if (hint.async) {\n hint(cm, callback, options)\n } else {\n var result = hint(cm, options)\n if (result && result.then) result.then(callback)\n else callback(result)\n }\n }\n\n function resolveAutoHints(cm, pos) {\n var helpers = cm.getHelpers(pos, \"hint\"), words\n if (helpers.length) {\n var resolved = function(cm, callback, options) {\n var app = applicableHelpers(cm, helpers);\n function run(i) {\n if (i == app.length) return callback(null)\n fetchHints(app[i], cm, options, function(result) {\n if (result && result.list.length > 0) callback(result)\n else run(i + 1)\n })\n }\n run(0)\n }\n resolved.async = true\n resolved.supportsSelection = true\n return resolved\n } else if (words = cm.getHelper(cm.getCursor(), \"hintWords\")) {\n return function(cm) { return CodeMirror.hint.fromList(cm, {words: words}) }\n } else if (CodeMirror.hint.anyword) {\n return function(cm, options) { return CodeMirror.hint.anyword(cm, options) }\n } else {\n return function() {}\n }\n }\n\n CodeMirror.registerHelper(\"hint\", \"auto\", {\n resolve: resolveAutoHints\n });\n\n CodeMirror.registerHelper(\"hint\", \"fromList\", function(cm, options) {\n var cur = cm.getCursor(), token = cm.getTokenAt(cur)\n var term, from = CodeMirror.Pos(cur.line, token.start), to = cur\n if (token.start < cur.ch && /\\w/.test(token.string.charAt(cur.ch - token.start - 1))) {\n term = token.string.substr(0, cur.ch - token.start)\n } else {\n term = \"\"\n from = cur\n }\n var found = [];\n for (var i = 0; i < options.words.length; i++) {\n var word = options.words[i];\n if (word.slice(0, term.length) == term)\n found.push(word);\n }\n\n if (found.length) return {list: found, from: from, to: to};\n });\n\n CodeMirror.commands.autocomplete = CodeMirror.showHint;\n\n var defaultOptions = {\n hint: CodeMirror.hint.auto,\n completeSingle: true,\n alignWithWord: true,\n closeCharacters: /[\\s()\\[\\]{};:>,]/,\n closeOnPick: true,\n closeOnUnfocus: true,\n updateOnCursorActivity: true,\n completeOnSingleClick: true,\n container: null,\n customKeys: null,\n extraKeys: null,\n paddingForScrollbar: true,\n moveOnOverlap: true,\n };\n\n CodeMirror.defineOption(\"hintOptions\", null);\n});\n"],"names":["CodeMirror","HINT_ELEMENT_CLASS","ACTIVE_HINT_ELEMENT_CLASS","Completion","cm","options","this","widget","debounce","tick","startPos","getCursor","startLen","getLine","line","length","getSelection","updateOnCursorActivity","self","on","activityFunc","cursorActivity","showHint","getHints","async","newOpts","hint","prop","defineExtension","parseOptions","selections","listSelections","somethingSelected","supportsSelection","i","head","anchor","state","completionActive","close","completion","signal","update","requestAnimationFrame","window","fn","setTimeout","cancelAnimationFrame","clearTimeout","pos","editor","hintOptions","out","defaultOptions","undefined","resolve","getText","text","buildKeyMap","handle","baseMap","Up","moveFocus","Down","PageUp","menuSize","PageDown","Home","setFocus","End","Enter","pick","Tab","Esc","test","navigator","platform","custom","customKeys","ourMap","addBinding","key","val","bound","hasOwnProperty","extra","extraKeys","getHintElement","hintsElement","el","nodeName","toUpperCase","parentNode","Widget","data","id","Math","floor","random","picked","ownerDocument","getInputField","parentWindow","defaultView","hints","createElement","setAttribute","theme","className","selectedHint","completions","list","elt","appendChild","cur","render","createTextNode","displayText","hintId","container","body","cursorCoords","alignWithWord","from","left","top","bottom","below","offsetLeft","offsetTop","offsetParent","indexOf","getComputedStyle","position","offsetParentPosition","getBoundingClientRect","bodyPosition","scrollLeft","scrollTop","style","winW","innerWidth","max","offsetWidth","documentElement","winH","innerHeight","offsetHeight","startScroll","box","moveOnOverlap","DOMRect","scrolls","paddingForScrollbar","scrollHeight","clientHeight","getScrollInfo","height","cursor","ch","closingOnBlur","overlapX","right","display","nativeBarWidth","width","node","firstChild","nextSibling","paddingRight","addKeyMap","keyMap","n","avoidWrap","changeActive","screenAmount","closeOnUnfocus","onBlur","onFocus","onScroll","curScroll","getWrapperElement","newTop","point","pageYOffset","e","t","target","srcElement","completeOnSingleClick","focus","selectedHintRange","getSelectedHintRange","to","scrollToActive","childNodes","applicableHelpers","helpers","result","push","fetchHints","callback","then","resolveAutoHints","words","getHelpers","resolved","app","run","getHelper","fromList","anyword","prototype","active","off","operation","replaceRange","scrollIntoView","closeOnPick","identStart","closeCharacters","charAt","disable","first","myTick","finishUpdate","completeSingle","removeChild","removeKeyMap","input","removeAttribute","replace","node1","node2","firstNode","margin","scrollMargin","min","registerHelper","term","token","getTokenAt","Pos","start","string","substr","found","word","slice","commands","autocomplete","auto","defineOption","mod","require"],"sourceRoot":""}
1
+ {"version":3,"file":"static/js/322.28bfb0ce.chunk.js","mappings":"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","sources":["../node_modules/codemirror/addon/hint/show-hint.js"],"sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// declare global: DOMRect\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n var HINT_ELEMENT_CLASS = \"CodeMirror-hint\";\n var ACTIVE_HINT_ELEMENT_CLASS = \"CodeMirror-hint-active\";\n\n // This is the old interface, kept around for now to stay\n // backwards-compatible.\n CodeMirror.showHint = function(cm, getHints, options) {\n if (!getHints) return cm.showHint(options);\n if (options && options.async) getHints.async = true;\n var newOpts = {hint: getHints};\n if (options) for (var prop in options) newOpts[prop] = options[prop];\n return cm.showHint(newOpts);\n };\n\n CodeMirror.defineExtension(\"showHint\", function(options) {\n options = parseOptions(this, this.getCursor(\"start\"), options);\n var selections = this.listSelections()\n if (selections.length > 1) return;\n // By default, don't allow completion when something is selected.\n // A hint function can have a `supportsSelection` property to\n // indicate that it can handle selections.\n if (this.somethingSelected()) {\n if (!options.hint.supportsSelection) return;\n // Don't try with cross-line selections\n for (var i = 0; i < selections.length; i++)\n if (selections[i].head.line != selections[i].anchor.line) return;\n }\n\n if (this.state.completionActive) this.state.completionActive.close();\n var completion = this.state.completionActive = new Completion(this, options);\n if (!completion.options.hint) return;\n\n CodeMirror.signal(this, \"startCompletion\", this);\n completion.update(true);\n });\n\n CodeMirror.defineExtension(\"closeHint\", function() {\n if (this.state.completionActive) this.state.completionActive.close()\n })\n\n function Completion(cm, options) {\n this.cm = cm;\n this.options = options;\n this.widget = null;\n this.debounce = 0;\n this.tick = 0;\n this.startPos = this.cm.getCursor(\"start\");\n this.startLen = this.cm.getLine(this.startPos.line).length - this.cm.getSelection().length;\n\n if (this.options.updateOnCursorActivity) {\n var self = this;\n cm.on(\"cursorActivity\", this.activityFunc = function() { self.cursorActivity(); });\n }\n }\n\n var requestAnimationFrame = window.requestAnimationFrame || function(fn) {\n return setTimeout(fn, 1000/60);\n };\n var cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout;\n\n Completion.prototype = {\n close: function() {\n if (!this.active()) return;\n this.cm.state.completionActive = null;\n this.tick = null;\n if (this.options.updateOnCursorActivity) {\n this.cm.off(\"cursorActivity\", this.activityFunc);\n }\n\n if (this.widget && this.data) CodeMirror.signal(this.data, \"close\");\n if (this.widget) this.widget.close();\n CodeMirror.signal(this.cm, \"endCompletion\", this.cm);\n },\n\n active: function() {\n return this.cm.state.completionActive == this;\n },\n\n pick: function(data, i) {\n var completion = data.list[i], self = this;\n this.cm.operation(function() {\n if (completion.hint)\n completion.hint(self.cm, data, completion);\n else\n self.cm.replaceRange(getText(completion), completion.from || data.from,\n completion.to || data.to, \"complete\");\n CodeMirror.signal(data, \"pick\", completion);\n self.cm.scrollIntoView();\n });\n if (this.options.closeOnPick) {\n this.close();\n }\n },\n\n cursorActivity: function() {\n if (this.debounce) {\n cancelAnimationFrame(this.debounce);\n this.debounce = 0;\n }\n\n var identStart = this.startPos;\n if(this.data) {\n identStart = this.data.from;\n }\n\n var pos = this.cm.getCursor(), line = this.cm.getLine(pos.line);\n if (pos.line != this.startPos.line || line.length - pos.ch != this.startLen - this.startPos.ch ||\n pos.ch < identStart.ch || this.cm.somethingSelected() ||\n (!pos.ch || this.options.closeCharacters.test(line.charAt(pos.ch - 1)))) {\n this.close();\n } else {\n var self = this;\n this.debounce = requestAnimationFrame(function() {self.update();});\n if (this.widget) this.widget.disable();\n }\n },\n\n update: function(first) {\n if (this.tick == null) return\n var self = this, myTick = ++this.tick\n fetchHints(this.options.hint, this.cm, this.options, function(data) {\n if (self.tick == myTick) self.finishUpdate(data, first)\n })\n },\n\n finishUpdate: function(data, first) {\n if (this.data) CodeMirror.signal(this.data, \"update\");\n\n var picked = (this.widget && this.widget.picked) || (first && this.options.completeSingle);\n if (this.widget) this.widget.close();\n\n this.data = data;\n\n if (data && data.list.length) {\n if (picked && data.list.length == 1) {\n this.pick(data, 0);\n } else {\n this.widget = new Widget(this, data);\n CodeMirror.signal(data, \"shown\");\n }\n }\n }\n };\n\n function parseOptions(cm, pos, options) {\n var editor = cm.options.hintOptions;\n var out = {};\n for (var prop in defaultOptions) out[prop] = defaultOptions[prop];\n if (editor) for (var prop in editor)\n if (editor[prop] !== undefined) out[prop] = editor[prop];\n if (options) for (var prop in options)\n if (options[prop] !== undefined) out[prop] = options[prop];\n if (out.hint.resolve) out.hint = out.hint.resolve(cm, pos)\n return out;\n }\n\n function getText(completion) {\n if (typeof completion == \"string\") return completion;\n else return completion.text;\n }\n\n function buildKeyMap(completion, handle) {\n var baseMap = {\n Up: function() {handle.moveFocus(-1);},\n Down: function() {handle.moveFocus(1);},\n PageUp: function() {handle.moveFocus(-handle.menuSize() + 1, true);},\n PageDown: function() {handle.moveFocus(handle.menuSize() - 1, true);},\n Home: function() {handle.setFocus(0);},\n End: function() {handle.setFocus(handle.length - 1);},\n Enter: handle.pick,\n Tab: handle.pick,\n Esc: handle.close\n };\n\n var mac = /Mac/.test(navigator.platform);\n\n if (mac) {\n baseMap[\"Ctrl-P\"] = function() {handle.moveFocus(-1);};\n baseMap[\"Ctrl-N\"] = function() {handle.moveFocus(1);};\n }\n\n var custom = completion.options.customKeys;\n var ourMap = custom ? {} : baseMap;\n function addBinding(key, val) {\n var bound;\n if (typeof val != \"string\")\n bound = function(cm) { return val(cm, handle); };\n // This mechanism is deprecated\n else if (baseMap.hasOwnProperty(val))\n bound = baseMap[val];\n else\n bound = val;\n ourMap[key] = bound;\n }\n if (custom)\n for (var key in custom) if (custom.hasOwnProperty(key))\n addBinding(key, custom[key]);\n var extra = completion.options.extraKeys;\n if (extra)\n for (var key in extra) if (extra.hasOwnProperty(key))\n addBinding(key, extra[key]);\n return ourMap;\n }\n\n function getHintElement(hintsElement, el) {\n while (el && el != hintsElement) {\n if (el.nodeName.toUpperCase() === \"LI\" && el.parentNode == hintsElement) return el;\n el = el.parentNode;\n }\n }\n\n function Widget(completion, data) {\n this.id = \"cm-complete-\" + Math.floor(Math.random(1e6))\n this.completion = completion;\n this.data = data;\n this.picked = false;\n var widget = this, cm = completion.cm;\n var ownerDocument = cm.getInputField().ownerDocument;\n var parentWindow = ownerDocument.defaultView || ownerDocument.parentWindow;\n\n var hints = this.hints = ownerDocument.createElement(\"ul\");\n hints.setAttribute(\"role\", \"listbox\")\n hints.setAttribute(\"aria-expanded\", \"true\")\n hints.id = this.id\n var theme = completion.cm.options.theme;\n hints.className = \"CodeMirror-hints \" + theme;\n this.selectedHint = data.selectedHint || 0;\n\n var completions = data.list;\n for (var i = 0; i < completions.length; ++i) {\n var elt = hints.appendChild(ownerDocument.createElement(\"li\")), cur = completions[i];\n var className = HINT_ELEMENT_CLASS + (i != this.selectedHint ? \"\" : \" \" + ACTIVE_HINT_ELEMENT_CLASS);\n if (cur.className != null) className = cur.className + \" \" + className;\n elt.className = className;\n if (i == this.selectedHint) elt.setAttribute(\"aria-selected\", \"true\")\n elt.id = this.id + \"-\" + i\n elt.setAttribute(\"role\", \"option\")\n if (cur.render) cur.render(elt, data, cur);\n else elt.appendChild(ownerDocument.createTextNode(cur.displayText || getText(cur)));\n elt.hintId = i;\n }\n\n var container = completion.options.container || ownerDocument.body;\n var pos = cm.cursorCoords(completion.options.alignWithWord ? data.from : null);\n var left = pos.left, top = pos.bottom, below = true;\n var offsetLeft = 0, offsetTop = 0;\n if (container !== ownerDocument.body) {\n // We offset the cursor position because left and top are relative to the offsetParent's top left corner.\n var isContainerPositioned = ['absolute', 'relative', 'fixed'].indexOf(parentWindow.getComputedStyle(container).position) !== -1;\n var offsetParent = isContainerPositioned ? container : container.offsetParent;\n var offsetParentPosition = offsetParent.getBoundingClientRect();\n var bodyPosition = ownerDocument.body.getBoundingClientRect();\n offsetLeft = (offsetParentPosition.left - bodyPosition.left - offsetParent.scrollLeft);\n offsetTop = (offsetParentPosition.top - bodyPosition.top - offsetParent.scrollTop);\n }\n hints.style.left = (left - offsetLeft) + \"px\";\n hints.style.top = (top - offsetTop) + \"px\";\n\n // If we're at the edge of the screen, then we want the menu to appear on the left of the cursor.\n var winW = parentWindow.innerWidth || Math.max(ownerDocument.body.offsetWidth, ownerDocument.documentElement.offsetWidth);\n var winH = parentWindow.innerHeight || Math.max(ownerDocument.body.offsetHeight, ownerDocument.documentElement.offsetHeight);\n container.appendChild(hints);\n cm.getInputField().setAttribute(\"aria-autocomplete\", \"list\")\n cm.getInputField().setAttribute(\"aria-owns\", this.id)\n cm.getInputField().setAttribute(\"aria-activedescendant\", this.id + \"-\" + this.selectedHint)\n\n var box = completion.options.moveOnOverlap ? hints.getBoundingClientRect() : new DOMRect();\n var scrolls = completion.options.paddingForScrollbar ? hints.scrollHeight > hints.clientHeight + 1 : false;\n\n // Compute in the timeout to avoid reflow on init\n var startScroll;\n setTimeout(function() { startScroll = cm.getScrollInfo(); });\n\n var overlapY = box.bottom - winH;\n if (overlapY > 0) {\n var height = box.bottom - box.top, curTop = pos.top - (pos.bottom - box.top);\n if (curTop - height > 0) { // Fits above cursor\n hints.style.top = (top = pos.top - height - offsetTop) + \"px\";\n below = false;\n } else if (height > winH) {\n hints.style.height = (winH - 5) + \"px\";\n hints.style.top = (top = pos.bottom - box.top - offsetTop) + \"px\";\n var cursor = cm.getCursor();\n if (data.from.ch != cursor.ch) {\n pos = cm.cursorCoords(cursor);\n hints.style.left = (left = pos.left - offsetLeft) + \"px\";\n box = hints.getBoundingClientRect();\n }\n }\n }\n var overlapX = box.right - winW;\n if (scrolls) overlapX += cm.display.nativeBarWidth;\n if (overlapX > 0) {\n if (box.right - box.left > winW) {\n hints.style.width = (winW - 5) + \"px\";\n overlapX -= (box.right - box.left) - winW;\n }\n hints.style.left = (left = pos.left - overlapX - offsetLeft) + \"px\";\n }\n if (scrolls) for (var node = hints.firstChild; node; node = node.nextSibling)\n node.style.paddingRight = cm.display.nativeBarWidth + \"px\"\n\n cm.addKeyMap(this.keyMap = buildKeyMap(completion, {\n moveFocus: function(n, avoidWrap) { widget.changeActive(widget.selectedHint + n, avoidWrap); },\n setFocus: function(n) { widget.changeActive(n); },\n menuSize: function() { return widget.screenAmount(); },\n length: completions.length,\n close: function() { completion.close(); },\n pick: function() { widget.pick(); },\n data: data\n }));\n\n if (completion.options.closeOnUnfocus) {\n var closingOnBlur;\n cm.on(\"blur\", this.onBlur = function() { closingOnBlur = setTimeout(function() { completion.close(); }, 100); });\n cm.on(\"focus\", this.onFocus = function() { clearTimeout(closingOnBlur); });\n }\n\n cm.on(\"scroll\", this.onScroll = function() {\n var curScroll = cm.getScrollInfo(), editor = cm.getWrapperElement().getBoundingClientRect();\n if (!startScroll) startScroll = cm.getScrollInfo();\n var newTop = top + startScroll.top - curScroll.top;\n var point = newTop - (parentWindow.pageYOffset || (ownerDocument.documentElement || ownerDocument.body).scrollTop);\n if (!below) point += hints.offsetHeight;\n if (point <= editor.top || point >= editor.bottom) return completion.close();\n hints.style.top = newTop + \"px\";\n hints.style.left = (left + startScroll.left - curScroll.left) + \"px\";\n });\n\n CodeMirror.on(hints, \"dblclick\", function(e) {\n var t = getHintElement(hints, e.target || e.srcElement);\n if (t && t.hintId != null) {widget.changeActive(t.hintId); widget.pick();}\n });\n\n CodeMirror.on(hints, \"click\", function(e) {\n var t = getHintElement(hints, e.target || e.srcElement);\n if (t && t.hintId != null) {\n widget.changeActive(t.hintId);\n if (completion.options.completeOnSingleClick) widget.pick();\n }\n });\n\n CodeMirror.on(hints, \"mousedown\", function() {\n setTimeout(function(){cm.focus();}, 20);\n });\n\n // The first hint doesn't need to be scrolled to on init\n var selectedHintRange = this.getSelectedHintRange();\n if (selectedHintRange.from !== 0 || selectedHintRange.to !== 0) {\n this.scrollToActive();\n }\n\n CodeMirror.signal(data, \"select\", completions[this.selectedHint], hints.childNodes[this.selectedHint]);\n return true;\n }\n\n Widget.prototype = {\n close: function() {\n if (this.completion.widget != this) return;\n this.completion.widget = null;\n if (this.hints.parentNode) this.hints.parentNode.removeChild(this.hints);\n this.completion.cm.removeKeyMap(this.keyMap);\n var input = this.completion.cm.getInputField()\n input.removeAttribute(\"aria-activedescendant\")\n input.removeAttribute(\"aria-owns\")\n\n var cm = this.completion.cm;\n if (this.completion.options.closeOnUnfocus) {\n cm.off(\"blur\", this.onBlur);\n cm.off(\"focus\", this.onFocus);\n }\n cm.off(\"scroll\", this.onScroll);\n },\n\n disable: function() {\n this.completion.cm.removeKeyMap(this.keyMap);\n var widget = this;\n this.keyMap = {Enter: function() { widget.picked = true; }};\n this.completion.cm.addKeyMap(this.keyMap);\n },\n\n pick: function() {\n this.completion.pick(this.data, this.selectedHint);\n },\n\n changeActive: function(i, avoidWrap) {\n if (i >= this.data.list.length)\n i = avoidWrap ? this.data.list.length - 1 : 0;\n else if (i < 0)\n i = avoidWrap ? 0 : this.data.list.length - 1;\n if (this.selectedHint == i) return;\n var node = this.hints.childNodes[this.selectedHint];\n if (node) {\n node.className = node.className.replace(\" \" + ACTIVE_HINT_ELEMENT_CLASS, \"\");\n node.removeAttribute(\"aria-selected\")\n }\n node = this.hints.childNodes[this.selectedHint = i];\n node.className += \" \" + ACTIVE_HINT_ELEMENT_CLASS;\n node.setAttribute(\"aria-selected\", \"true\")\n this.completion.cm.getInputField().setAttribute(\"aria-activedescendant\", node.id)\n this.scrollToActive()\n CodeMirror.signal(this.data, \"select\", this.data.list[this.selectedHint], node);\n },\n\n scrollToActive: function() {\n var selectedHintRange = this.getSelectedHintRange();\n var node1 = this.hints.childNodes[selectedHintRange.from];\n var node2 = this.hints.childNodes[selectedHintRange.to];\n var firstNode = this.hints.firstChild;\n if (node1.offsetTop < this.hints.scrollTop)\n this.hints.scrollTop = node1.offsetTop - firstNode.offsetTop;\n else if (node2.offsetTop + node2.offsetHeight > this.hints.scrollTop + this.hints.clientHeight)\n this.hints.scrollTop = node2.offsetTop + node2.offsetHeight - this.hints.clientHeight + firstNode.offsetTop;\n },\n\n screenAmount: function() {\n return Math.floor(this.hints.clientHeight / this.hints.firstChild.offsetHeight) || 1;\n },\n\n getSelectedHintRange: function() {\n var margin = this.completion.options.scrollMargin || 0;\n return {\n from: Math.max(0, this.selectedHint - margin),\n to: Math.min(this.data.list.length - 1, this.selectedHint + margin),\n };\n }\n };\n\n function applicableHelpers(cm, helpers) {\n if (!cm.somethingSelected()) return helpers\n var result = []\n for (var i = 0; i < helpers.length; i++)\n if (helpers[i].supportsSelection) result.push(helpers[i])\n return result\n }\n\n function fetchHints(hint, cm, options, callback) {\n if (hint.async) {\n hint(cm, callback, options)\n } else {\n var result = hint(cm, options)\n if (result && result.then) result.then(callback)\n else callback(result)\n }\n }\n\n function resolveAutoHints(cm, pos) {\n var helpers = cm.getHelpers(pos, \"hint\"), words\n if (helpers.length) {\n var resolved = function(cm, callback, options) {\n var app = applicableHelpers(cm, helpers);\n function run(i) {\n if (i == app.length) return callback(null)\n fetchHints(app[i], cm, options, function(result) {\n if (result && result.list.length > 0) callback(result)\n else run(i + 1)\n })\n }\n run(0)\n }\n resolved.async = true\n resolved.supportsSelection = true\n return resolved\n } else if (words = cm.getHelper(cm.getCursor(), \"hintWords\")) {\n return function(cm) { return CodeMirror.hint.fromList(cm, {words: words}) }\n } else if (CodeMirror.hint.anyword) {\n return function(cm, options) { return CodeMirror.hint.anyword(cm, options) }\n } else {\n return function() {}\n }\n }\n\n CodeMirror.registerHelper(\"hint\", \"auto\", {\n resolve: resolveAutoHints\n });\n\n CodeMirror.registerHelper(\"hint\", \"fromList\", function(cm, options) {\n var cur = cm.getCursor(), token = cm.getTokenAt(cur)\n var term, from = CodeMirror.Pos(cur.line, token.start), to = cur\n if (token.start < cur.ch && /\\w/.test(token.string.charAt(cur.ch - token.start - 1))) {\n term = token.string.substr(0, cur.ch - token.start)\n } else {\n term = \"\"\n from = cur\n }\n var found = [];\n for (var i = 0; i < options.words.length; i++) {\n var word = options.words[i];\n if (word.slice(0, term.length) == term)\n found.push(word);\n }\n\n if (found.length) return {list: found, from: from, to: to};\n });\n\n CodeMirror.commands.autocomplete = CodeMirror.showHint;\n\n var defaultOptions = {\n hint: CodeMirror.hint.auto,\n completeSingle: true,\n alignWithWord: true,\n closeCharacters: /[\\s()\\[\\]{};:>,]/,\n closeOnPick: true,\n closeOnUnfocus: true,\n updateOnCursorActivity: true,\n completeOnSingleClick: true,\n container: null,\n customKeys: null,\n extraKeys: null,\n paddingForScrollbar: true,\n moveOnOverlap: true,\n };\n\n CodeMirror.defineOption(\"hintOptions\", null);\n});\n"],"names":["CodeMirror","HINT_ELEMENT_CLASS","ACTIVE_HINT_ELEMENT_CLASS","Completion","cm","options","this","widget","debounce","tick","startPos","getCursor","startLen","getLine","line","length","getSelection","updateOnCursorActivity","self","on","activityFunc","cursorActivity","showHint","getHints","async","newOpts","hint","prop","defineExtension","parseOptions","selections","listSelections","somethingSelected","supportsSelection","i","head","anchor","state","completionActive","close","completion","signal","update","requestAnimationFrame","window","fn","setTimeout","cancelAnimationFrame","clearTimeout","pos","editor","hintOptions","out","defaultOptions","undefined","resolve","getText","text","buildKeyMap","handle","baseMap","Up","moveFocus","Down","PageUp","menuSize","PageDown","Home","setFocus","End","Enter","pick","Tab","Esc","test","navigator","platform","custom","customKeys","ourMap","addBinding","key","val","bound","hasOwnProperty","extra","extraKeys","getHintElement","hintsElement","el","nodeName","toUpperCase","parentNode","Widget","data","id","Math","floor","random","picked","ownerDocument","getInputField","parentWindow","defaultView","hints","createElement","setAttribute","theme","className","selectedHint","completions","list","elt","appendChild","cur","render","createTextNode","displayText","hintId","container","body","cursorCoords","alignWithWord","from","left","top","bottom","below","offsetLeft","offsetTop","offsetParent","indexOf","getComputedStyle","position","offsetParentPosition","getBoundingClientRect","bodyPosition","scrollLeft","scrollTop","style","winW","innerWidth","max","offsetWidth","documentElement","winH","innerHeight","offsetHeight","startScroll","box","moveOnOverlap","DOMRect","scrolls","paddingForScrollbar","scrollHeight","clientHeight","getScrollInfo","height","cursor","ch","closingOnBlur","overlapX","right","display","nativeBarWidth","width","node","firstChild","nextSibling","paddingRight","addKeyMap","keyMap","n","avoidWrap","changeActive","screenAmount","closeOnUnfocus","onBlur","onFocus","onScroll","curScroll","getWrapperElement","newTop","point","pageYOffset","e","t","target","srcElement","completeOnSingleClick","focus","selectedHintRange","getSelectedHintRange","to","scrollToActive","childNodes","applicableHelpers","helpers","result","push","fetchHints","callback","then","resolveAutoHints","words","getHelpers","resolved","app","run","getHelper","fromList","anyword","prototype","active","off","operation","replaceRange","scrollIntoView","closeOnPick","identStart","closeCharacters","charAt","disable","first","myTick","finishUpdate","completeSingle","removeChild","removeKeyMap","input","removeAttribute","replace","node1","node2","firstNode","margin","scrollMargin","min","registerHelper","term","token","getTokenAt","Pos","start","string","substr","found","word","slice","commands","autocomplete","auto","defineOption","mod","require"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunkdashboard=self.webpackChunkdashboard||[]).push([[344],{4085:function(e,r){var n,t,a,i,u,o,c;function s(){var e=a,r=[];if(v("{"),!h("}")){do{r.push(l())}while(h(","));v("}")}return{kind:"Object",start:e,end:u,members:r}}function l(){var e=a,r="String"===c?d():null;v("String"),v(":");var n=f();return{kind:"Member",start:e,end:u,key:r,value:n}}function f(){switch(c){case"[":return function(){var e=a,r=[];if(v("["),!h("]")){do{r.push(f())}while(h(","));v("]")}return{kind:"Array",start:e,end:u,values:r}}();case"{":return s();case"String":case"Number":case"Boolean":case"Null":var e=d();return y(),e}v("Value")}function d(){return{kind:c,start:a,end:i,value:JSON.parse(n.slice(a,i))}}function v(e){if(c!==e){var r;if("EOF"===c)r="[end of file]";else if(i-a>1)r="`"+n.slice(a,i)+"`";else{var t=n.slice(a).match(/^.+?\b/);r="`"+(t?t[0]:n[a])+"`"}throw p("Expected "+e+" but found "+r+".")}y()}function p(e){return{message:e,start:a,end:i}}function h(e){if(c===e)return y(),!0}function b(){return i<t&&(i++,o=i===t?0:n.charCodeAt(i)),o}function y(){for(u=i;9===o||10===o||13===o||32===o;)b();if(0!==o){switch(a=i,o){case 34:return c="String",function(){b();for(;34!==o&&o>31;)if(92===o)switch(o=b()){case 34:case 47:case 92:case 98:case 102:case 110:case 114:case 116:b();break;case 117:b(),m(),m(),m(),m();break;default:throw p("Bad character escape sequence.")}else{if(i===t)throw p("Unterminated string.");b()}if(34===o)return void b();throw p("Unterminated string.")}();case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return c="Number",function(){45===o&&b();48===o?b():k();46===o&&(b(),k());69!==o&&101!==o||(43!==(o=b())&&45!==o||b(),k())}();case 102:if("false"!==n.slice(a,a+5))break;return i+=4,b(),void(c="Boolean");case 110:if("null"!==n.slice(a,a+4))break;return i+=3,b(),void(c="Null");case 116:if("true"!==n.slice(a,a+4))break;return i+=3,b(),void(c="Boolean")}c=n[a],b()}else c="EOF"}function m(){if(o>=48&&o<=57||o>=65&&o<=70||o>=97&&o<=102)return b();throw p("Expected hexadecimal digit.")}function k(){if(o<48||o>57)throw p("Expected decimal digit.");do{b()}while(o>=48&&o<=57)}Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){n=e,t=e.length,a=i=u=-1,b(),y();var r=s();return v("EOF"),r}},3344:function(e,r,n){var t=this&&this.__read||function(e,r){var n="function"===typeof Symbol&&e[Symbol.iterator];if(!n)return e;var t,a,i=n.call(e),u=[];try{for(;(void 0===r||r-- >0)&&!(t=i.next()).done;)u.push(t.value)}catch(o){a={error:o}}finally{try{t&&!t.done&&(n=i.return)&&n.call(i)}finally{if(a)throw a.error}}return u},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=a(n(3668)),u=n(4495),o=a(n(4085));function c(e,r){if(!e||!r)return[];if(e instanceof u.GraphQLNonNull)return"Null"===r.kind?[[r,'Type "'+e+'" is non-nullable and cannot be null.']]:c(e.ofType,r);if("Null"===r.kind)return[];if(e instanceof u.GraphQLList){var n=e.ofType;return"Array"===r.kind?l(r.values||[],(function(e){return c(n,e)})):c(n,r)}if(e instanceof u.GraphQLInputObjectType){if("Object"!==r.kind)return[[r,'Type "'+e+'" must be an Object.']];var t=Object.create(null),a=l(r.members,(function(r){var n,a=null===(n=null===r||void 0===r?void 0:r.key)||void 0===n?void 0:n.value;t[a]=!0;var i=e.getFields()[a];return i?c(i?i.type:void 0,r.value):[[r.key,'Type "'+e+'" does not have a field "'+a+'".']]}));return Object.keys(e.getFields()).forEach((function(n){t[n]||e.getFields()[n].type instanceof u.GraphQLNonNull&&a.push([r,'Object of type "'+e+'" is missing required field "'+n+'".'])})),a}return"Boolean"===e.name&&"Boolean"!==r.kind||"String"===e.name&&"String"!==r.kind||"ID"===e.name&&"Number"!==r.kind&&"String"!==r.kind||"Float"===e.name&&"Number"!==r.kind||"Int"===e.name&&("Number"!==r.kind||(0|r.value)!==r.value)||(e instanceof u.GraphQLEnumType||e instanceof u.GraphQLScalarType)&&("String"!==r.kind&&"Number"!==r.kind&&"Boolean"!==r.kind&&"Null"!==r.kind||(null===(i=e.parseValue(r.value))||void 0===i||i!==i))?[[r,'Expected value of type "'+e+'".']]:[];var i}function s(e,r,n){return{message:n,severity:"error",type:"validation",from:e.posFromIndex(r.start),to:e.posFromIndex(r.end)}}function l(e,r){return Array.prototype.concat.apply([],e.map(r))}i.default.registerHelper("lint","graphql-variables",(function(e,r,n){if(!e)return[];var a;try{a=o.default(e)}catch(u){if(u.stack)throw u;return[s(n,u,u.message)]}var i=r.variableToType;return i?function(e,r,n){var a=[];return n.members.forEach((function(n){var i;if(n){var u=null===(i=n.key)||void 0===i?void 0:i.value,o=r[u];o?c(o,n.value).forEach((function(r){var n=t(r,2),i=n[0],u=n[1];a.push(s(e,i,u))})):a.push(s(e,n.key,'Variable "$'+u+'" does not appear in any GraphQL query.'))}})),a}(n,i,a):[]}))}}]);
2
- //# sourceMappingURL=344.e6b10333.chunk.js.map
1
+ "use strict";(self.webpackChunkdashboard=self.webpackChunkdashboard||[]).push([[344],{4085:function(e,r){var n,t,a,i,u,o,c;function s(){var e=a,r=[];if(v("{"),!h("}")){do{r.push(l())}while(h(","));v("}")}return{kind:"Object",start:e,end:u,members:r}}function l(){var e=a,r="String"===c?d():null;v("String"),v(":");var n=f();return{kind:"Member",start:e,end:u,key:r,value:n}}function f(){switch(c){case"[":return function(){var e=a,r=[];if(v("["),!h("]")){do{r.push(f())}while(h(","));v("]")}return{kind:"Array",start:e,end:u,values:r}}();case"{":return s();case"String":case"Number":case"Boolean":case"Null":var e=d();return y(),e}v("Value")}function d(){return{kind:c,start:a,end:i,value:JSON.parse(n.slice(a,i))}}function v(e){if(c!==e){var r;if("EOF"===c)r="[end of file]";else if(i-a>1)r="`"+n.slice(a,i)+"`";else{var t=n.slice(a).match(/^.+?\b/);r="`"+(t?t[0]:n[a])+"`"}throw p("Expected "+e+" but found "+r+".")}y()}function p(e){return{message:e,start:a,end:i}}function h(e){if(c===e)return y(),!0}function b(){return i<t&&(i++,o=i===t?0:n.charCodeAt(i)),o}function y(){for(u=i;9===o||10===o||13===o||32===o;)b();if(0!==o){switch(a=i,o){case 34:return c="String",function(){b();for(;34!==o&&o>31;)if(92===o)switch(o=b()){case 34:case 47:case 92:case 98:case 102:case 110:case 114:case 116:b();break;case 117:b(),m(),m(),m(),m();break;default:throw p("Bad character escape sequence.")}else{if(i===t)throw p("Unterminated string.");b()}if(34===o)return void b();throw p("Unterminated string.")}();case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return c="Number",function(){45===o&&b();48===o?b():k();46===o&&(b(),k());69!==o&&101!==o||(43!==(o=b())&&45!==o||b(),k())}();case 102:if("false"!==n.slice(a,a+5))break;return i+=4,b(),void(c="Boolean");case 110:if("null"!==n.slice(a,a+4))break;return i+=3,b(),void(c="Null");case 116:if("true"!==n.slice(a,a+4))break;return i+=3,b(),void(c="Boolean")}c=n[a],b()}else c="EOF"}function m(){if(o>=48&&o<=57||o>=65&&o<=70||o>=97&&o<=102)return b();throw p("Expected hexadecimal digit.")}function k(){if(o<48||o>57)throw p("Expected decimal digit.");do{b()}while(o>=48&&o<=57)}Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){n=e,t=e.length,a=i=u=-1,b(),y();var r=s();return v("EOF"),r}},3344:function(e,r,n){var t=this&&this.__read||function(e,r){var n="function"===typeof Symbol&&e[Symbol.iterator];if(!n)return e;var t,a,i=n.call(e),u=[];try{for(;(void 0===r||r-- >0)&&!(t=i.next()).done;)u.push(t.value)}catch(o){a={error:o}}finally{try{t&&!t.done&&(n=i.return)&&n.call(i)}finally{if(a)throw a.error}}return u},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=a(n(1300)),u=n(730),o=a(n(4085));function c(e,r){if(!e||!r)return[];if(e instanceof u.GraphQLNonNull)return"Null"===r.kind?[[r,'Type "'+e+'" is non-nullable and cannot be null.']]:c(e.ofType,r);if("Null"===r.kind)return[];if(e instanceof u.GraphQLList){var n=e.ofType;return"Array"===r.kind?l(r.values||[],(function(e){return c(n,e)})):c(n,r)}if(e instanceof u.GraphQLInputObjectType){if("Object"!==r.kind)return[[r,'Type "'+e+'" must be an Object.']];var t=Object.create(null),a=l(r.members,(function(r){var n,a=null===(n=null===r||void 0===r?void 0:r.key)||void 0===n?void 0:n.value;t[a]=!0;var i=e.getFields()[a];return i?c(i?i.type:void 0,r.value):[[r.key,'Type "'+e+'" does not have a field "'+a+'".']]}));return Object.keys(e.getFields()).forEach((function(n){t[n]||e.getFields()[n].type instanceof u.GraphQLNonNull&&a.push([r,'Object of type "'+e+'" is missing required field "'+n+'".'])})),a}return"Boolean"===e.name&&"Boolean"!==r.kind||"String"===e.name&&"String"!==r.kind||"ID"===e.name&&"Number"!==r.kind&&"String"!==r.kind||"Float"===e.name&&"Number"!==r.kind||"Int"===e.name&&("Number"!==r.kind||(0|r.value)!==r.value)||(e instanceof u.GraphQLEnumType||e instanceof u.GraphQLScalarType)&&("String"!==r.kind&&"Number"!==r.kind&&"Boolean"!==r.kind&&"Null"!==r.kind||(null===(i=e.parseValue(r.value))||void 0===i||i!==i))?[[r,'Expected value of type "'+e+'".']]:[];var i}function s(e,r,n){return{message:n,severity:"error",type:"validation",from:e.posFromIndex(r.start),to:e.posFromIndex(r.end)}}function l(e,r){return Array.prototype.concat.apply([],e.map(r))}i.default.registerHelper("lint","graphql-variables",(function(e,r,n){if(!e)return[];var a;try{a=o.default(e)}catch(u){if(u.stack)throw u;return[s(n,u,u.message)]}var i=r.variableToType;return i?function(e,r,n){var a=[];return n.members.forEach((function(n){var i;if(n){var u=null===(i=n.key)||void 0===i?void 0:i.value,o=r[u];o?c(o,n.value).forEach((function(r){var n=t(r,2),i=n[0],u=n[1];a.push(s(e,i,u))})):a.push(s(e,n.key,'Variable "$'+u+'" does not appear in any GraphQL query.'))}})),a}(n,i,a):[]}))}}]);
2
+ //# sourceMappingURL=344.142d13e9.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"static/js/344.e6b10333.chunk.js","mappings":"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","sources":["../node_modules/codemirror-graphql/src/utils/jsonParse.ts","../node_modules/codemirror-graphql/src/variables/lint.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n/**\n * This JSON parser simply walks the input, generating an AST. Use this in lieu\n * of JSON.parse if you need character offset parse errors and an AST parse tree\n * with location information.\n *\n * If an error is encountered, a SyntaxError will be thrown, with properties:\n *\n * - message: string\n * - start: int - the start inclusive offset of the syntax error\n * - end: int - the end exclusive offset of the syntax error\n *\n */\nexport default function jsonParse(str: string) {\n string = str;\n strLen = str.length;\n start = end = lastEnd = -1;\n ch();\n lex();\n const ast = parseObj();\n expect('EOF');\n return ast;\n}\n\nlet string: string;\nlet strLen: number;\nlet start: number;\nlet end: number;\nlet lastEnd: number;\nlet code: number;\nlet kind: string;\n\ninterface BaseParseOutput {\n kind: string;\n start: number;\n end: number;\n}\nexport interface ParseTokenOutput extends BaseParseOutput {\n value: any;\n}\nexport interface ParseObjectOutput extends BaseParseOutput {\n kind: 'Object';\n members: ParseMemberOutput[];\n}\nexport interface ParseArrayOutput extends BaseParseOutput {\n kind: 'Array';\n values?: ParseValueOutput[];\n}\nexport interface ParseMemberOutput extends BaseParseOutput {\n key: ParseTokenOutput | null;\n value?: ParseValueOutput;\n}\nexport type ParseValueOutput =\n | ParseTokenOutput\n | ParseObjectOutput\n | ParseArrayOutput\n | undefined;\n\nfunction parseObj(): ParseObjectOutput {\n const nodeStart = start;\n const members = [];\n expect('{');\n if (!skip('}')) {\n do {\n members.push(parseMember());\n } while (skip(','));\n expect('}');\n }\n return {\n kind: 'Object',\n start: nodeStart,\n end: lastEnd,\n members,\n };\n}\n\nfunction parseMember(): ParseMemberOutput {\n const nodeStart = start;\n const key = kind === 'String' ? curToken() : null;\n expect('String');\n expect(':');\n const value = parseVal();\n return {\n kind: 'Member',\n start: nodeStart,\n end: lastEnd,\n key,\n value,\n };\n}\n\nfunction parseArr(): ParseArrayOutput {\n const nodeStart = start;\n const values = [];\n expect('[');\n if (!skip(']')) {\n do {\n values.push(parseVal());\n } while (skip(','));\n expect(']');\n }\n return {\n kind: 'Array',\n start: nodeStart,\n end: lastEnd,\n values,\n };\n}\n\nfunction parseVal(): ParseValueOutput | undefined {\n switch (kind) {\n case '[':\n return parseArr();\n case '{':\n return parseObj();\n case 'String':\n case 'Number':\n case 'Boolean':\n case 'Null':\n const token = curToken();\n lex();\n return token;\n }\n expect('Value');\n}\n\nfunction curToken(): ParseTokenOutput {\n return { kind, start, end, value: JSON.parse(string.slice(start, end)) };\n}\n\nfunction expect(str: string) {\n if (kind === str) {\n lex();\n return;\n }\n\n let found;\n if (kind === 'EOF') {\n found = '[end of file]';\n } else if (end - start > 1) {\n found = '`' + string.slice(start, end) + '`';\n } else {\n const match = string.slice(start).match(/^.+?\\b/);\n found = '`' + (match ? match[0] : string[start]) + '`';\n }\n\n throw syntaxError(`Expected ${str} but found ${found}.`);\n}\n\nfunction syntaxError(message: string) {\n return { message, start, end };\n}\n\nfunction skip(k: string) {\n if (kind === k) {\n lex();\n return true;\n }\n}\n\nfunction ch() {\n if (end < strLen) {\n end++;\n code = end === strLen ? 0 : string.charCodeAt(end);\n }\n return code;\n}\n\nfunction lex() {\n lastEnd = end;\n\n while (code === 9 || code === 10 || code === 13 || code === 32) {\n ch();\n }\n\n if (code === 0) {\n kind = 'EOF';\n return;\n }\n\n start = end;\n\n switch (code) {\n // \"\n case 34:\n kind = 'String';\n return readString();\n // -, 0-9\n case 45:\n case 48:\n case 49:\n case 50:\n case 51:\n case 52:\n case 53:\n case 54:\n case 55:\n case 56:\n case 57:\n kind = 'Number';\n return readNumber();\n // f\n case 102:\n if (string.slice(start, start + 5) !== 'false') {\n break;\n }\n end += 4;\n ch();\n\n kind = 'Boolean';\n return;\n // n\n case 110:\n if (string.slice(start, start + 4) !== 'null') {\n break;\n }\n end += 3;\n ch();\n\n kind = 'Null';\n return;\n // t\n case 116:\n if (string.slice(start, start + 4) !== 'true') {\n break;\n }\n end += 3;\n ch();\n\n kind = 'Boolean';\n return;\n }\n\n kind = string[start];\n ch();\n}\n\nfunction readString() {\n ch();\n while (code !== 34 && code > 31) {\n if (code === 92) {\n // \\\n code = ch();\n switch (code) {\n case 34: // \"\n case 47: // /\n case 92: // \\\n case 98: // b\n case 102: // f\n case 110: // n\n case 114: // r\n case 116: // t\n ch();\n break;\n case 117: // u\n ch();\n readHex();\n readHex();\n readHex();\n readHex();\n break;\n default:\n throw syntaxError('Bad character escape sequence.');\n }\n } else if (end === strLen) {\n throw syntaxError('Unterminated string.');\n } else {\n ch();\n }\n }\n\n if (code === 34) {\n ch();\n return;\n }\n\n throw syntaxError('Unterminated string.');\n}\n\nfunction readHex() {\n if (\n (code >= 48 && code <= 57) || // 0-9\n (code >= 65 && code <= 70) || // A-F\n (code >= 97 && code <= 102) // a-f\n ) {\n return ch();\n }\n throw syntaxError('Expected hexadecimal digit.');\n}\n\nfunction readNumber() {\n if (code === 45) {\n // -\n ch();\n }\n\n if (code === 48) {\n // 0\n ch();\n } else {\n readDigits();\n }\n\n if (code === 46) {\n // .\n ch();\n readDigits();\n }\n\n if (code === 69 || code === 101) {\n // E e\n code = ch();\n if (code === 43 || code === 45) {\n // + -\n ch();\n }\n readDigits();\n }\n}\n\nfunction readDigits() {\n if (code < 48 || code > 57) {\n // 0 - 9\n throw syntaxError('Expected decimal digit.');\n }\n do {\n ch();\n } while (code >= 48 && code <= 57); // 0 - 9\n}\n","/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport CodeMirror from 'codemirror';\nimport {\n GraphQLEnumType,\n GraphQLInputObjectType,\n GraphQLList,\n GraphQLNonNull,\n GraphQLScalarType,\n GraphQLType,\n} from 'graphql';\n\nimport jsonParse, {\n ParseArrayOutput,\n ParseObjectOutput,\n ParseValueOutput,\n} from '../utils/jsonParse';\nimport { VariableToType } from './hint';\n\ninterface GraphQLVariableLintOptions {\n variableToType: VariableToType;\n}\n\n/**\n * Registers a \"lint\" helper for CodeMirror.\n *\n * Using CodeMirror's \"lint\" addon: https://codemirror.net/demo/lint.html\n * Given the text within an editor, this helper will take that text and return\n * a list of linter issues ensuring that correct variables were provided.\n *\n * Options:\n *\n * - variableToType: { [variable: string]: GraphQLInputType }\n *\n */\nCodeMirror.registerHelper(\n 'lint',\n 'graphql-variables',\n (\n text: string,\n options: GraphQLVariableLintOptions,\n editor: CodeMirror.Editor,\n ) => {\n // If there's no text, do nothing.\n if (!text) {\n return [];\n }\n\n // First, linter needs to determine if there are any parsing errors.\n let ast;\n try {\n ast = jsonParse(text);\n } catch (syntaxError) {\n if (syntaxError.stack) {\n throw syntaxError;\n }\n return [lintError(editor, syntaxError, syntaxError.message)];\n }\n\n // If there are not yet known variables, do nothing.\n const variableToType = options.variableToType;\n if (!variableToType) {\n return [];\n }\n\n // Then highlight any issues with the provided variables.\n return validateVariables(editor, variableToType, ast);\n },\n);\n\n// Given a variableToType object, a source text, and a JSON AST, produces a\n// list of CodeMirror annotations for any variable validation errors.\nfunction validateVariables(\n editor: CodeMirror.Editor,\n variableToType: VariableToType,\n variablesAST: ParseObjectOutput,\n) {\n const errors: CodeMirror.Annotation[] = [];\n\n variablesAST.members.forEach(member => {\n if (member) {\n const variableName = member.key?.value;\n const type = variableToType[variableName];\n if (!type) {\n errors.push(\n lintError(\n editor,\n member.key!,\n `Variable \"$${variableName}\" does not appear in any GraphQL query.`,\n ),\n );\n } else {\n validateValue(type, member.value).forEach(([node, message]) => {\n errors.push(lintError(editor, node, message));\n });\n }\n }\n });\n\n return errors;\n}\n\n// Returns a list of validation errors in the form Array<[Node, String]>.\nfunction validateValue(\n type?: GraphQLType,\n valueAST?: ParseValueOutput,\n): any[][] {\n // TODO: Can't figure out the right type.\n if (!type || !valueAST) {\n return [];\n }\n\n // Validate non-nullable values.\n if (type instanceof GraphQLNonNull) {\n if (valueAST.kind === 'Null') {\n return [[valueAST, `Type \"${type}\" is non-nullable and cannot be null.`]];\n }\n return validateValue(type.ofType, valueAST);\n }\n\n if (valueAST.kind === 'Null') {\n return [];\n }\n\n // Validate lists of values, accepting a non-list as a list of one.\n if (type instanceof GraphQLList) {\n const itemType = type.ofType;\n if (valueAST.kind === 'Array') {\n const values = (valueAST as ParseArrayOutput).values || [];\n return mapCat(values, item => validateValue(itemType, item));\n }\n return validateValue(itemType, valueAST);\n }\n\n // Validate input objects.\n if (type instanceof GraphQLInputObjectType) {\n if (valueAST.kind !== 'Object') {\n return [[valueAST, `Type \"${type}\" must be an Object.`]];\n }\n\n // Validate each field in the input object.\n const providedFields = Object.create(null);\n const fieldErrors: any[][] = mapCat(\n (valueAST as ParseObjectOutput).members,\n member => {\n // TODO: Can't figure out the right type here\n const fieldName = member?.key?.value;\n providedFields[fieldName] = true;\n const inputField = type.getFields()[fieldName];\n if (!inputField) {\n return [\n [\n member.key,\n `Type \"${type}\" does not have a field \"${fieldName}\".`,\n ],\n ];\n }\n const fieldType = inputField ? inputField.type : undefined;\n return validateValue(fieldType, member.value);\n },\n );\n\n // Look for missing non-nullable fields.\n Object.keys(type.getFields()).forEach(fieldName => {\n if (!providedFields[fieldName]) {\n const fieldType = type.getFields()[fieldName].type;\n if (fieldType instanceof GraphQLNonNull) {\n fieldErrors.push([\n valueAST,\n `Object of type \"${type}\" is missing required field \"${fieldName}\".`,\n ]);\n }\n }\n });\n\n return fieldErrors;\n }\n\n // Validate common scalars.\n if (\n (type.name === 'Boolean' && valueAST.kind !== 'Boolean') ||\n (type.name === 'String' && valueAST.kind !== 'String') ||\n (type.name === 'ID' &&\n valueAST.kind !== 'Number' &&\n valueAST.kind !== 'String') ||\n (type.name === 'Float' && valueAST.kind !== 'Number') ||\n (type.name === 'Int' &&\n // eslint-disable-next-line no-bitwise\n (valueAST.kind !== 'Number' || (valueAST.value | 0) !== valueAST.value))\n ) {\n return [[valueAST, `Expected value of type \"${type}\".`]];\n }\n\n // Validate enums and custom scalars.\n if (type instanceof GraphQLEnumType || type instanceof GraphQLScalarType) {\n if (\n (valueAST.kind !== 'String' &&\n valueAST.kind !== 'Number' &&\n valueAST.kind !== 'Boolean' &&\n valueAST.kind !== 'Null') ||\n isNullish(type.parseValue(valueAST.value))\n ) {\n return [[valueAST, `Expected value of type \"${type}\".`]];\n }\n }\n\n return [];\n}\n\n// Give a parent text, an AST node with location, and a message, produces a\n// CodeMirror annotation object.\nfunction lintError(\n editor: CodeMirror.Editor,\n node: { start: number; end: number },\n message: string,\n): CodeMirror.Annotation & { type: string } {\n return {\n message,\n severity: 'error',\n type: 'validation',\n from: editor.posFromIndex(node.start),\n to: editor.posFromIndex(node.end),\n };\n}\n\nfunction isNullish(value: any): boolean {\n // eslint-disable-next-line no-self-compare\n return value === null || value === undefined || value !== value;\n}\n\nfunction mapCat<T, R>(array: T[], mapper: (item: T) => R[]): R[] {\n return Array.prototype.concat.apply([], array.map(mapper));\n}\n"],"names":["string","strLen","start","end","lastEnd","code","kind","parseObj","nodeStart","members","expect","skip","push","parseMember","key","curToken","value","parseVal","values","parseArr","token","lex","JSON","parse","slice","str","found","match","syntaxError","message","k","ch","charCodeAt","readHex","readString","readDigits","readNumber","exports","length","ast","validateValue","type","valueAST","graphql_1","ofType","itemType_1","mapCat","item","providedFields_1","Object","create","fieldErrors_1","member","fieldName","_a","inputField","getFields","undefined","keys","forEach","name","parseValue","lintError","editor","node","severity","from","posFromIndex","to","array","mapper","Array","prototype","concat","apply","map","codemirror_1","registerHelper","text","options","jsonParse_1","stack","variableToType","variablesAST","errors","variableName","_b","validateVariables"],"sourceRoot":""}
1
+ {"version":3,"file":"static/js/344.142d13e9.chunk.js","mappings":"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","sources":["../node_modules/codemirror-graphql/src/utils/jsonParse.ts","../node_modules/codemirror-graphql/src/variables/lint.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n/**\n * This JSON parser simply walks the input, generating an AST. Use this in lieu\n * of JSON.parse if you need character offset parse errors and an AST parse tree\n * with location information.\n *\n * If an error is encountered, a SyntaxError will be thrown, with properties:\n *\n * - message: string\n * - start: int - the start inclusive offset of the syntax error\n * - end: int - the end exclusive offset of the syntax error\n *\n */\nexport default function jsonParse(str: string) {\n string = str;\n strLen = str.length;\n start = end = lastEnd = -1;\n ch();\n lex();\n const ast = parseObj();\n expect('EOF');\n return ast;\n}\n\nlet string: string;\nlet strLen: number;\nlet start: number;\nlet end: number;\nlet lastEnd: number;\nlet code: number;\nlet kind: string;\n\ninterface BaseParseOutput {\n kind: string;\n start: number;\n end: number;\n}\nexport interface ParseTokenOutput extends BaseParseOutput {\n value: any;\n}\nexport interface ParseObjectOutput extends BaseParseOutput {\n kind: 'Object';\n members: ParseMemberOutput[];\n}\nexport interface ParseArrayOutput extends BaseParseOutput {\n kind: 'Array';\n values?: ParseValueOutput[];\n}\nexport interface ParseMemberOutput extends BaseParseOutput {\n key: ParseTokenOutput | null;\n value?: ParseValueOutput;\n}\nexport type ParseValueOutput =\n | ParseTokenOutput\n | ParseObjectOutput\n | ParseArrayOutput\n | undefined;\n\nfunction parseObj(): ParseObjectOutput {\n const nodeStart = start;\n const members = [];\n expect('{');\n if (!skip('}')) {\n do {\n members.push(parseMember());\n } while (skip(','));\n expect('}');\n }\n return {\n kind: 'Object',\n start: nodeStart,\n end: lastEnd,\n members,\n };\n}\n\nfunction parseMember(): ParseMemberOutput {\n const nodeStart = start;\n const key = kind === 'String' ? curToken() : null;\n expect('String');\n expect(':');\n const value = parseVal();\n return {\n kind: 'Member',\n start: nodeStart,\n end: lastEnd,\n key,\n value,\n };\n}\n\nfunction parseArr(): ParseArrayOutput {\n const nodeStart = start;\n const values = [];\n expect('[');\n if (!skip(']')) {\n do {\n values.push(parseVal());\n } while (skip(','));\n expect(']');\n }\n return {\n kind: 'Array',\n start: nodeStart,\n end: lastEnd,\n values,\n };\n}\n\nfunction parseVal(): ParseValueOutput | undefined {\n switch (kind) {\n case '[':\n return parseArr();\n case '{':\n return parseObj();\n case 'String':\n case 'Number':\n case 'Boolean':\n case 'Null':\n const token = curToken();\n lex();\n return token;\n }\n expect('Value');\n}\n\nfunction curToken(): ParseTokenOutput {\n return { kind, start, end, value: JSON.parse(string.slice(start, end)) };\n}\n\nfunction expect(str: string) {\n if (kind === str) {\n lex();\n return;\n }\n\n let found;\n if (kind === 'EOF') {\n found = '[end of file]';\n } else if (end - start > 1) {\n found = '`' + string.slice(start, end) + '`';\n } else {\n const match = string.slice(start).match(/^.+?\\b/);\n found = '`' + (match ? match[0] : string[start]) + '`';\n }\n\n throw syntaxError(`Expected ${str} but found ${found}.`);\n}\n\nfunction syntaxError(message: string) {\n return { message, start, end };\n}\n\nfunction skip(k: string) {\n if (kind === k) {\n lex();\n return true;\n }\n}\n\nfunction ch() {\n if (end < strLen) {\n end++;\n code = end === strLen ? 0 : string.charCodeAt(end);\n }\n return code;\n}\n\nfunction lex() {\n lastEnd = end;\n\n while (code === 9 || code === 10 || code === 13 || code === 32) {\n ch();\n }\n\n if (code === 0) {\n kind = 'EOF';\n return;\n }\n\n start = end;\n\n switch (code) {\n // \"\n case 34:\n kind = 'String';\n return readString();\n // -, 0-9\n case 45:\n case 48:\n case 49:\n case 50:\n case 51:\n case 52:\n case 53:\n case 54:\n case 55:\n case 56:\n case 57:\n kind = 'Number';\n return readNumber();\n // f\n case 102:\n if (string.slice(start, start + 5) !== 'false') {\n break;\n }\n end += 4;\n ch();\n\n kind = 'Boolean';\n return;\n // n\n case 110:\n if (string.slice(start, start + 4) !== 'null') {\n break;\n }\n end += 3;\n ch();\n\n kind = 'Null';\n return;\n // t\n case 116:\n if (string.slice(start, start + 4) !== 'true') {\n break;\n }\n end += 3;\n ch();\n\n kind = 'Boolean';\n return;\n }\n\n kind = string[start];\n ch();\n}\n\nfunction readString() {\n ch();\n while (code !== 34 && code > 31) {\n if (code === 92) {\n // \\\n code = ch();\n switch (code) {\n case 34: // \"\n case 47: // /\n case 92: // \\\n case 98: // b\n case 102: // f\n case 110: // n\n case 114: // r\n case 116: // t\n ch();\n break;\n case 117: // u\n ch();\n readHex();\n readHex();\n readHex();\n readHex();\n break;\n default:\n throw syntaxError('Bad character escape sequence.');\n }\n } else if (end === strLen) {\n throw syntaxError('Unterminated string.');\n } else {\n ch();\n }\n }\n\n if (code === 34) {\n ch();\n return;\n }\n\n throw syntaxError('Unterminated string.');\n}\n\nfunction readHex() {\n if (\n (code >= 48 && code <= 57) || // 0-9\n (code >= 65 && code <= 70) || // A-F\n (code >= 97 && code <= 102) // a-f\n ) {\n return ch();\n }\n throw syntaxError('Expected hexadecimal digit.');\n}\n\nfunction readNumber() {\n if (code === 45) {\n // -\n ch();\n }\n\n if (code === 48) {\n // 0\n ch();\n } else {\n readDigits();\n }\n\n if (code === 46) {\n // .\n ch();\n readDigits();\n }\n\n if (code === 69 || code === 101) {\n // E e\n code = ch();\n if (code === 43 || code === 45) {\n // + -\n ch();\n }\n readDigits();\n }\n}\n\nfunction readDigits() {\n if (code < 48 || code > 57) {\n // 0 - 9\n throw syntaxError('Expected decimal digit.');\n }\n do {\n ch();\n } while (code >= 48 && code <= 57); // 0 - 9\n}\n","/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport CodeMirror from 'codemirror';\nimport {\n GraphQLEnumType,\n GraphQLInputObjectType,\n GraphQLList,\n GraphQLNonNull,\n GraphQLScalarType,\n GraphQLType,\n} from 'graphql';\n\nimport jsonParse, {\n ParseArrayOutput,\n ParseObjectOutput,\n ParseValueOutput,\n} from '../utils/jsonParse';\nimport { VariableToType } from './hint';\n\ninterface GraphQLVariableLintOptions {\n variableToType: VariableToType;\n}\n\n/**\n * Registers a \"lint\" helper for CodeMirror.\n *\n * Using CodeMirror's \"lint\" addon: https://codemirror.net/demo/lint.html\n * Given the text within an editor, this helper will take that text and return\n * a list of linter issues ensuring that correct variables were provided.\n *\n * Options:\n *\n * - variableToType: { [variable: string]: GraphQLInputType }\n *\n */\nCodeMirror.registerHelper(\n 'lint',\n 'graphql-variables',\n (\n text: string,\n options: GraphQLVariableLintOptions,\n editor: CodeMirror.Editor,\n ) => {\n // If there's no text, do nothing.\n if (!text) {\n return [];\n }\n\n // First, linter needs to determine if there are any parsing errors.\n let ast;\n try {\n ast = jsonParse(text);\n } catch (syntaxError) {\n if (syntaxError.stack) {\n throw syntaxError;\n }\n return [lintError(editor, syntaxError, syntaxError.message)];\n }\n\n // If there are not yet known variables, do nothing.\n const variableToType = options.variableToType;\n if (!variableToType) {\n return [];\n }\n\n // Then highlight any issues with the provided variables.\n return validateVariables(editor, variableToType, ast);\n },\n);\n\n// Given a variableToType object, a source text, and a JSON AST, produces a\n// list of CodeMirror annotations for any variable validation errors.\nfunction validateVariables(\n editor: CodeMirror.Editor,\n variableToType: VariableToType,\n variablesAST: ParseObjectOutput,\n) {\n const errors: CodeMirror.Annotation[] = [];\n\n variablesAST.members.forEach(member => {\n if (member) {\n const variableName = member.key?.value;\n const type = variableToType[variableName];\n if (!type) {\n errors.push(\n lintError(\n editor,\n member.key!,\n `Variable \"$${variableName}\" does not appear in any GraphQL query.`,\n ),\n );\n } else {\n validateValue(type, member.value).forEach(([node, message]) => {\n errors.push(lintError(editor, node, message));\n });\n }\n }\n });\n\n return errors;\n}\n\n// Returns a list of validation errors in the form Array<[Node, String]>.\nfunction validateValue(\n type?: GraphQLType,\n valueAST?: ParseValueOutput,\n): any[][] {\n // TODO: Can't figure out the right type.\n if (!type || !valueAST) {\n return [];\n }\n\n // Validate non-nullable values.\n if (type instanceof GraphQLNonNull) {\n if (valueAST.kind === 'Null') {\n return [[valueAST, `Type \"${type}\" is non-nullable and cannot be null.`]];\n }\n return validateValue(type.ofType, valueAST);\n }\n\n if (valueAST.kind === 'Null') {\n return [];\n }\n\n // Validate lists of values, accepting a non-list as a list of one.\n if (type instanceof GraphQLList) {\n const itemType = type.ofType;\n if (valueAST.kind === 'Array') {\n const values = (valueAST as ParseArrayOutput).values || [];\n return mapCat(values, item => validateValue(itemType, item));\n }\n return validateValue(itemType, valueAST);\n }\n\n // Validate input objects.\n if (type instanceof GraphQLInputObjectType) {\n if (valueAST.kind !== 'Object') {\n return [[valueAST, `Type \"${type}\" must be an Object.`]];\n }\n\n // Validate each field in the input object.\n const providedFields = Object.create(null);\n const fieldErrors: any[][] = mapCat(\n (valueAST as ParseObjectOutput).members,\n member => {\n // TODO: Can't figure out the right type here\n const fieldName = member?.key?.value;\n providedFields[fieldName] = true;\n const inputField = type.getFields()[fieldName];\n if (!inputField) {\n return [\n [\n member.key,\n `Type \"${type}\" does not have a field \"${fieldName}\".`,\n ],\n ];\n }\n const fieldType = inputField ? inputField.type : undefined;\n return validateValue(fieldType, member.value);\n },\n );\n\n // Look for missing non-nullable fields.\n Object.keys(type.getFields()).forEach(fieldName => {\n if (!providedFields[fieldName]) {\n const fieldType = type.getFields()[fieldName].type;\n if (fieldType instanceof GraphQLNonNull) {\n fieldErrors.push([\n valueAST,\n `Object of type \"${type}\" is missing required field \"${fieldName}\".`,\n ]);\n }\n }\n });\n\n return fieldErrors;\n }\n\n // Validate common scalars.\n if (\n (type.name === 'Boolean' && valueAST.kind !== 'Boolean') ||\n (type.name === 'String' && valueAST.kind !== 'String') ||\n (type.name === 'ID' &&\n valueAST.kind !== 'Number' &&\n valueAST.kind !== 'String') ||\n (type.name === 'Float' && valueAST.kind !== 'Number') ||\n (type.name === 'Int' &&\n // eslint-disable-next-line no-bitwise\n (valueAST.kind !== 'Number' || (valueAST.value | 0) !== valueAST.value))\n ) {\n return [[valueAST, `Expected value of type \"${type}\".`]];\n }\n\n // Validate enums and custom scalars.\n if (type instanceof GraphQLEnumType || type instanceof GraphQLScalarType) {\n if (\n (valueAST.kind !== 'String' &&\n valueAST.kind !== 'Number' &&\n valueAST.kind !== 'Boolean' &&\n valueAST.kind !== 'Null') ||\n isNullish(type.parseValue(valueAST.value))\n ) {\n return [[valueAST, `Expected value of type \"${type}\".`]];\n }\n }\n\n return [];\n}\n\n// Give a parent text, an AST node with location, and a message, produces a\n// CodeMirror annotation object.\nfunction lintError(\n editor: CodeMirror.Editor,\n node: { start: number; end: number },\n message: string,\n): CodeMirror.Annotation & { type: string } {\n return {\n message,\n severity: 'error',\n type: 'validation',\n from: editor.posFromIndex(node.start),\n to: editor.posFromIndex(node.end),\n };\n}\n\nfunction isNullish(value: any): boolean {\n // eslint-disable-next-line no-self-compare\n return value === null || value === undefined || value !== value;\n}\n\nfunction mapCat<T, R>(array: T[], mapper: (item: T) => R[]): R[] {\n return Array.prototype.concat.apply([], array.map(mapper));\n}\n"],"names":["string","strLen","start","end","lastEnd","code","kind","parseObj","nodeStart","members","expect","skip","push","parseMember","key","curToken","value","parseVal","values","parseArr","token","lex","JSON","parse","slice","str","found","match","syntaxError","message","k","ch","charCodeAt","readHex","readString","readDigits","readNumber","exports","length","ast","validateValue","type","valueAST","graphql_1","ofType","itemType_1","mapCat","item","providedFields_1","Object","create","fieldErrors_1","member","fieldName","_a","inputField","getFields","undefined","keys","forEach","name","parseValue","lintError","editor","node","severity","from","posFromIndex","to","array","mapper","Array","prototype","concat","apply","map","codemirror_1","registerHelper","text","options","jsonParse_1","stack","variableToType","variablesAST","errors","variableName","_b","validateVariables"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunkdashboard=self.webpackChunkdashboard||[]).push([[39],{9039:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var l=i(n(1300)),u=i(n(4486));l.default.defineMode("graphql",u.default)},4486:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var l=n(21),u=i(n(4687));t.default=function(e){var t=l.onlineParser({eatWhitespace:function(e){return e.eatWhile(l.isIgnored)},lexRules:l.LexRules,parseRules:l.ParseRules,editorConfig:{tabSize:e.tabSize}});return{config:e,startState:t.startState,token:t.token,indent:u.default,electricInput:/^\s*[})\]]/,fold:"brace",lineComment:"#",closeBrackets:{pairs:'()[]{}""',explode:"()[]{}"}}}},4687:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n,i,l=e.levels;return((l&&0!==l.length?l[l.length-1]-((null===(n=this.electricInput)||void 0===n?void 0:n.test(t))?1:0):e.indentLevel)||0)*((null===(i=this.config)||void 0===i?void 0:i.indentUnit)||0)}}}]);
2
+ //# sourceMappingURL=39.73440f40.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"static/js/39.dd9b3202.chunk.js","mappings":"+OASA,iBACA,aAEAA,EAAAA,QAAWC,WAAW,UAAWC,EAAAA,Q,4JCFjC,cAMA,aA+CAC,EAAAA,QAzBwD,SAAAC,GACtD,IAAMC,EAASC,EAAAA,aAAa,CAC1BC,cAAe,SAAAC,GAAU,OAAAA,EAAOC,SAASH,EAAAA,UAAU,EACnDI,SAAUJ,EAAAA,SACVK,WAAYL,EAAAA,WACZM,aAAc,CAAEC,QAAST,EAAOS,WAGlC,MAAO,CACLT,OAAM,EACNU,WAAYT,EAAOS,WACnBC,MAAQV,EAAOU,MAGfC,OAAM,UACNC,cAAe,aACfC,KAAM,QACNC,YAAa,IACbC,cAAe,CACbC,MAAO,WACPC,QAAS,UAGd,C,sEChDDnB,EAAAA,QAAA,SAKEoB,EACAC,G,QAEMC,EAASF,EAAME,OAQrB,QAJGA,GAA4B,IAAlBA,EAAOC,OAEdD,EAAOA,EAAOC,OAAS,KACJ,QAAlB,EAAAC,KAAKV,qBAAaW,IAAAA,OAAA,EAAAA,EAAEC,KAAKL,IAAa,EAAI,GAF3CD,EAAMO,cAGK,KAAiB,QAAX,EAAAH,KAAKvB,cAAM2B,IAAAA,OAAA,EAAAA,EAAEC,aAAc,EACnD,C","sources":["../node_modules/codemirror-graphql/src/mode.ts","../node_modules/codemirror-graphql/src/utils/mode-factory.ts","../node_modules/codemirror-graphql/src/utils/mode-indent.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport CodeMirror from 'codemirror';\nimport modeFactory from './utils/mode-factory';\n\nCodeMirror.defineMode('graphql', modeFactory);\n","/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport CodeMirror from 'codemirror';\nimport {\n LexRules,\n ParseRules,\n isIgnored,\n onlineParser,\n} from 'graphql-language-service';\nimport indent from './mode-indent';\n\n/**\n * The GraphQL mode is defined as a tokenizer along with a list of rules, each\n * of which is either a function or an array.\n *\n * * Function: Provided a token and the stream, returns an expected next step.\n * * Array: A list of steps to take in order.\n *\n * A step is either another rule, or a terminal description of a token. If it\n * is a rule, that rule is pushed onto the stack and the parsing continues from\n * that point.\n *\n * If it is a terminal description, the token is checked against it using a\n * `match` function. If the match is successful, the token is colored and the\n * rule is stepped forward. If the match is unsuccessful, the remainder of the\n * rule is skipped and the previous rule is advanced.\n *\n * This parsing algorithm allows for incremental online parsing within various\n * levels of the syntax tree and results in a structured `state` linked-list\n * which contains the relevant information to produce valuable typeaheads.\n */\nconst graphqlModeFactory: CodeMirror.ModeFactory<any> = config => {\n const parser = onlineParser({\n eatWhitespace: stream => stream.eatWhile(isIgnored),\n lexRules: LexRules,\n parseRules: ParseRules,\n editorConfig: { tabSize: config.tabSize },\n });\n\n return {\n config,\n startState: parser.startState,\n token: (parser.token as unknown) as NonNullable<\n CodeMirror.Mode<any>['token']\n >, // TODO: Check if the types are indeed compatible\n indent,\n electricInput: /^\\s*[})\\]]/,\n fold: 'brace',\n lineComment: '#',\n closeBrackets: {\n pairs: '()[]{}\"\"',\n explode: '()[]{}',\n },\n };\n};\n\nexport default graphqlModeFactory;\n","/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport CodeMirror from 'codemirror';\nimport { State } from 'graphql-language-service';\n\n// Seems the electricInput type in @types/codemirror is wrong (i.e it is written as electricinput instead of electricInput)\nexport default function indent(\n this: CodeMirror.Mode<any> & {\n electricInput?: RegExp;\n config?: CodeMirror.EditorConfiguration;\n },\n state: State,\n textAfter: string,\n) {\n const levels = state.levels;\n // If there is no stack of levels, use the current level.\n // Otherwise, use the top level, pre-emptively dedenting for close braces.\n const level =\n !levels || levels.length === 0\n ? state.indentLevel\n : levels[levels.length - 1] -\n (this.electricInput?.test(textAfter) ? 1 : 0);\n return (level || 0) * (this.config?.indentUnit || 0);\n}\n"],"names":["codemirror_1","defineMode","mode_factory_1","exports","config","parser","graphql_language_service_1","eatWhitespace","stream","eatWhile","lexRules","parseRules","editorConfig","tabSize","startState","token","indent","electricInput","fold","lineComment","closeBrackets","pairs","explode","state","textAfter","levels","length","this","_a","test","indentLevel","_b","indentUnit"],"sourceRoot":""}
1
+ {"version":3,"file":"static/js/39.73440f40.chunk.js","mappings":"+OASA,iBACA,aAEAA,EAAAA,QAAWC,WAAW,UAAWC,EAAAA,Q,4JCFjC,YAMA,aA+CAC,EAAAA,QAzBwD,SAAAC,GACtD,IAAMC,EAASC,EAAAA,aAAa,CAC1BC,cAAe,SAAAC,GAAU,OAAAA,EAAOC,SAASH,EAAAA,UAAU,EACnDI,SAAUJ,EAAAA,SACVK,WAAYL,EAAAA,WACZM,aAAc,CAAEC,QAAST,EAAOS,WAGlC,MAAO,CACLT,OAAM,EACNU,WAAYT,EAAOS,WACnBC,MAAQV,EAAOU,MAGfC,OAAM,UACNC,cAAe,aACfC,KAAM,QACNC,YAAa,IACbC,cAAe,CACbC,MAAO,WACPC,QAAS,UAGd,C,sEChDDnB,EAAAA,QAAA,SAKEoB,EACAC,G,QAEMC,EAASF,EAAME,OAQrB,QAJGA,GAA4B,IAAlBA,EAAOC,OAEdD,EAAOA,EAAOC,OAAS,KACJ,QAAlB,EAAAC,KAAKV,qBAAaW,IAAAA,OAAA,EAAAA,EAAEC,KAAKL,IAAa,EAAI,GAF3CD,EAAMO,cAGK,KAAiB,QAAX,EAAAH,KAAKvB,cAAM2B,IAAAA,OAAA,EAAAA,EAAEC,aAAc,EACnD,C","sources":["../node_modules/codemirror-graphql/src/mode.ts","../node_modules/codemirror-graphql/src/utils/mode-factory.ts","../node_modules/codemirror-graphql/src/utils/mode-indent.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport CodeMirror from 'codemirror';\nimport modeFactory from './utils/mode-factory';\n\nCodeMirror.defineMode('graphql', modeFactory);\n","/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport CodeMirror from 'codemirror';\nimport {\n LexRules,\n ParseRules,\n isIgnored,\n onlineParser,\n} from 'graphql-language-service';\nimport indent from './mode-indent';\n\n/**\n * The GraphQL mode is defined as a tokenizer along with a list of rules, each\n * of which is either a function or an array.\n *\n * * Function: Provided a token and the stream, returns an expected next step.\n * * Array: A list of steps to take in order.\n *\n * A step is either another rule, or a terminal description of a token. If it\n * is a rule, that rule is pushed onto the stack and the parsing continues from\n * that point.\n *\n * If it is a terminal description, the token is checked against it using a\n * `match` function. If the match is successful, the token is colored and the\n * rule is stepped forward. If the match is unsuccessful, the remainder of the\n * rule is skipped and the previous rule is advanced.\n *\n * This parsing algorithm allows for incremental online parsing within various\n * levels of the syntax tree and results in a structured `state` linked-list\n * which contains the relevant information to produce valuable typeaheads.\n */\nconst graphqlModeFactory: CodeMirror.ModeFactory<any> = config => {\n const parser = onlineParser({\n eatWhitespace: stream => stream.eatWhile(isIgnored),\n lexRules: LexRules,\n parseRules: ParseRules,\n editorConfig: { tabSize: config.tabSize },\n });\n\n return {\n config,\n startState: parser.startState,\n token: (parser.token as unknown) as NonNullable<\n CodeMirror.Mode<any>['token']\n >, // TODO: Check if the types are indeed compatible\n indent,\n electricInput: /^\\s*[})\\]]/,\n fold: 'brace',\n lineComment: '#',\n closeBrackets: {\n pairs: '()[]{}\"\"',\n explode: '()[]{}',\n },\n };\n};\n\nexport default graphqlModeFactory;\n","/**\n * Copyright (c) 2021 GraphQL Contributors\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nimport CodeMirror from 'codemirror';\nimport { State } from 'graphql-language-service';\n\n// Seems the electricInput type in @types/codemirror is wrong (i.e it is written as electricinput instead of electricInput)\nexport default function indent(\n this: CodeMirror.Mode<any> & {\n electricInput?: RegExp;\n config?: CodeMirror.EditorConfiguration;\n },\n state: State,\n textAfter: string,\n) {\n const levels = state.levels;\n // If there is no stack of levels, use the current level.\n // Otherwise, use the top level, pre-emptively dedenting for close braces.\n const level =\n !levels || levels.length === 0\n ? state.indentLevel\n : levels[levels.length - 1] -\n (this.electricInput?.test(textAfter) ? 1 : 0);\n return (level || 0) * (this.config?.indentUnit || 0);\n}\n"],"names":["codemirror_1","defineMode","mode_factory_1","exports","config","parser","graphql_language_service_1","eatWhitespace","stream","eatWhile","lexRules","parseRules","editorConfig","tabSize","startState","token","indent","electricInput","fold","lineComment","closeBrackets","pairs","explode","state","textAfter","levels","length","this","_a","test","indentLevel","_b","indentUnit"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (self.webpackChunkdashboard=self.webpackChunkdashboard||[]).push([[430],{2219:function(o,t,n){!function(o){"use strict";function t(t,e,i,f){if(i&&i.call){var l=i;i=null}else l=r(t,i,"rangeFinder");"number"==typeof e&&(e=o.Pos(e,0));var a=r(t,i,"minFoldSize");function d(o){var n=l(t,e);if(!n||n.to.line-n.from.line<a)return null;if("fold"===f)return n;for(var r=t.findMarksAt(n.from),i=0;i<r.length;++i)if(r[i].__isFold){if(!o)return null;n.cleared=!0,r[i].clear()}return n}var u=d(!0);if(r(t,i,"scanUp"))for(;!u&&e.line>t.firstLine();)e=o.Pos(e.line-1,0),u=d(!1);if(u&&!u.cleared&&"unfold"!==f){var c=n(t,i,u);o.on(c,"mousedown",(function(t){s.clear(),o.e_preventDefault(t)}));var s=t.markText(u.from,u.to,{replacedWith:c,clearOnEnter:r(t,i,"clearOnEnter"),__isFold:!0});s.on("clear",(function(n,e){o.signal(t,"unfold",t,n,e)})),o.signal(t,"fold",t,u.from,u.to)}}function n(o,t,n){var e=r(o,t,"widget");if("function"==typeof e&&(e=e(n.from,n.to)),"string"==typeof e){var i=document.createTextNode(e);(e=document.createElement("span")).appendChild(i),e.className="CodeMirror-foldmarker"}else e&&(e=e.cloneNode(!0));return e}o.newFoldFunction=function(o,n){return function(e,r){t(e,r,{rangeFinder:o,widget:n})}},o.defineExtension("foldCode",(function(o,n,e){t(this,o,n,e)})),o.defineExtension("isFolded",(function(o){for(var t=this.findMarksAt(o),n=0;n<t.length;++n)if(t[n].__isFold)return!0})),o.commands.toggleFold=function(o){o.foldCode(o.getCursor())},o.commands.fold=function(o){o.foldCode(o.getCursor(),null,"fold")},o.commands.unfold=function(o){o.foldCode(o.getCursor(),{scanUp:!1},"unfold")},o.commands.foldAll=function(t){t.operation((function(){for(var n=t.firstLine(),e=t.lastLine();n<=e;n++)t.foldCode(o.Pos(n,0),{scanUp:!1},"fold")}))},o.commands.unfoldAll=function(t){t.operation((function(){for(var n=t.firstLine(),e=t.lastLine();n<=e;n++)t.foldCode(o.Pos(n,0),{scanUp:!1},"unfold")}))},o.registerHelper("fold","combine",(function(){var o=Array.prototype.slice.call(arguments,0);return function(t,n){for(var e=0;e<o.length;++e){var r=o[e](t,n);if(r)return r}}})),o.registerHelper("fold","auto",(function(o,t){for(var n=o.getHelpers(t,"fold"),e=0;e<n.length;e++){var r=n[e](o,t);if(r)return r}}));var e={rangeFinder:o.fold.auto,widget:"\u2194",minFoldSize:0,scanUp:!1,clearOnEnter:!0};function r(o,t,n){if(t&&void 0!==t[n])return t[n];var r=o.options.foldOptions;return r&&void 0!==r[n]?r[n]:e[n]}o.defineOption("foldOptions",null),o.defineExtension("foldOption",(function(o,t){return r(this,o,t)}))}(n(3668))},7430:function(o,t,n){!function(o){"use strict";o.defineOption("foldGutter",!1,(function(t,r,i){i&&i!=o.Init&&(t.clearGutter(t.state.foldGutter.options.gutter),t.state.foldGutter=null,t.off("gutterClick",d),t.off("changes",u),t.off("viewportChange",c),t.off("fold",s),t.off("unfold",s),t.off("swapDoc",u)),r&&(t.state.foldGutter=new n(e(r)),a(t),t.on("gutterClick",d),t.on("changes",u),t.on("viewportChange",c),t.on("fold",s),t.on("unfold",s),t.on("swapDoc",u))}));var t=o.Pos;function n(o){this.options=o,this.from=this.to=0}function e(o){return!0===o&&(o={}),null==o.gutter&&(o.gutter="CodeMirror-foldgutter"),null==o.indicatorOpen&&(o.indicatorOpen="CodeMirror-foldgutter-open"),null==o.indicatorFolded&&(o.indicatorFolded="CodeMirror-foldgutter-folded"),o}function r(o,n){for(var e=o.findMarks(t(n,0),t(n+1,0)),r=0;r<e.length;++r)if(e[r].__isFold){var i=e[r].find(-1);if(i&&i.line===n)return e[r]}}function i(o){if("string"==typeof o){var t=document.createElement("div");return t.className=o+" CodeMirror-guttermarker-subtle",t}return o.cloneNode(!0)}function f(o,n,e){var f=o.state.foldGutter.options,a=n-1,d=o.foldOption(f,"minFoldSize"),u=o.foldOption(f,"rangeFinder"),c="string"==typeof f.indicatorFolded&&l(f.indicatorFolded),s="string"==typeof f.indicatorOpen&&l(f.indicatorOpen);o.eachLine(n,e,(function(n){++a;var e=null,l=n.gutterMarkers;if(l&&(l=l[f.gutter]),r(o,a)){if(c&&l&&c.test(l.className))return;e=i(f.indicatorFolded)}else{var p=t(a,0),m=u&&u(o,p);if(m&&m.to.line-m.from.line>=d){if(s&&l&&s.test(l.className))return;e=i(f.indicatorOpen)}}(e||l)&&o.setGutterMarker(n,f.gutter,e)}))}function l(o){return new RegExp("(^|\\s)"+o+"(?:$|\\s)\\s*")}function a(o){var t=o.getViewport(),n=o.state.foldGutter;n&&(o.operation((function(){f(o,t.from,t.to)})),n.from=t.from,n.to=t.to)}function d(o,n,e){var i=o.state.foldGutter;if(i){var f=i.options;if(e==f.gutter){var l=r(o,n);l?l.clear():o.foldCode(t(n,0),f)}}}function u(o){var t=o.state.foldGutter;if(t){var n=t.options;t.from=t.to=0,clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout((function(){a(o)}),n.foldOnChangeTimeSpan||600)}}function c(o){var t=o.state.foldGutter;if(t){var n=t.options;clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout((function(){var n=o.getViewport();t.from==t.to||n.from-t.to>20||t.from-n.to>20?a(o):o.operation((function(){n.from<t.from&&(f(o,n.from,t.from),t.from=n.from),n.to>t.to&&(f(o,t.to,n.to),t.to=n.to)}))}),n.updateViewportTimeSpan||400)}}function s(o,t){var n=o.state.foldGutter;if(n){var e=t.line;e>=n.from&&e<n.to&&f(o,e,e+1)}}}(n(3668),n(2219))}}]);
2
- //# sourceMappingURL=430.de05cf2b.chunk.js.map
1
+ (self.webpackChunkdashboard=self.webpackChunkdashboard||[]).push([[430],{2219:function(o,t,n){!function(o){"use strict";function t(t,e,i,f){if(i&&i.call){var l=i;i=null}else l=r(t,i,"rangeFinder");"number"==typeof e&&(e=o.Pos(e,0));var a=r(t,i,"minFoldSize");function d(o){var n=l(t,e);if(!n||n.to.line-n.from.line<a)return null;if("fold"===f)return n;for(var r=t.findMarksAt(n.from),i=0;i<r.length;++i)if(r[i].__isFold){if(!o)return null;n.cleared=!0,r[i].clear()}return n}var u=d(!0);if(r(t,i,"scanUp"))for(;!u&&e.line>t.firstLine();)e=o.Pos(e.line-1,0),u=d(!1);if(u&&!u.cleared&&"unfold"!==f){var c=n(t,i,u);o.on(c,"mousedown",(function(t){s.clear(),o.e_preventDefault(t)}));var s=t.markText(u.from,u.to,{replacedWith:c,clearOnEnter:r(t,i,"clearOnEnter"),__isFold:!0});s.on("clear",(function(n,e){o.signal(t,"unfold",t,n,e)})),o.signal(t,"fold",t,u.from,u.to)}}function n(o,t,n){var e=r(o,t,"widget");if("function"==typeof e&&(e=e(n.from,n.to)),"string"==typeof e){var i=document.createTextNode(e);(e=document.createElement("span")).appendChild(i),e.className="CodeMirror-foldmarker"}else e&&(e=e.cloneNode(!0));return e}o.newFoldFunction=function(o,n){return function(e,r){t(e,r,{rangeFinder:o,widget:n})}},o.defineExtension("foldCode",(function(o,n,e){t(this,o,n,e)})),o.defineExtension("isFolded",(function(o){for(var t=this.findMarksAt(o),n=0;n<t.length;++n)if(t[n].__isFold)return!0})),o.commands.toggleFold=function(o){o.foldCode(o.getCursor())},o.commands.fold=function(o){o.foldCode(o.getCursor(),null,"fold")},o.commands.unfold=function(o){o.foldCode(o.getCursor(),{scanUp:!1},"unfold")},o.commands.foldAll=function(t){t.operation((function(){for(var n=t.firstLine(),e=t.lastLine();n<=e;n++)t.foldCode(o.Pos(n,0),{scanUp:!1},"fold")}))},o.commands.unfoldAll=function(t){t.operation((function(){for(var n=t.firstLine(),e=t.lastLine();n<=e;n++)t.foldCode(o.Pos(n,0),{scanUp:!1},"unfold")}))},o.registerHelper("fold","combine",(function(){var o=Array.prototype.slice.call(arguments,0);return function(t,n){for(var e=0;e<o.length;++e){var r=o[e](t,n);if(r)return r}}})),o.registerHelper("fold","auto",(function(o,t){for(var n=o.getHelpers(t,"fold"),e=0;e<n.length;e++){var r=n[e](o,t);if(r)return r}}));var e={rangeFinder:o.fold.auto,widget:"\u2194",minFoldSize:0,scanUp:!1,clearOnEnter:!0};function r(o,t,n){if(t&&void 0!==t[n])return t[n];var r=o.options.foldOptions;return r&&void 0!==r[n]?r[n]:e[n]}o.defineOption("foldOptions",null),o.defineExtension("foldOption",(function(o,t){return r(this,o,t)}))}(n(1300))},7430:function(o,t,n){!function(o){"use strict";o.defineOption("foldGutter",!1,(function(t,r,i){i&&i!=o.Init&&(t.clearGutter(t.state.foldGutter.options.gutter),t.state.foldGutter=null,t.off("gutterClick",d),t.off("changes",u),t.off("viewportChange",c),t.off("fold",s),t.off("unfold",s),t.off("swapDoc",u)),r&&(t.state.foldGutter=new n(e(r)),a(t),t.on("gutterClick",d),t.on("changes",u),t.on("viewportChange",c),t.on("fold",s),t.on("unfold",s),t.on("swapDoc",u))}));var t=o.Pos;function n(o){this.options=o,this.from=this.to=0}function e(o){return!0===o&&(o={}),null==o.gutter&&(o.gutter="CodeMirror-foldgutter"),null==o.indicatorOpen&&(o.indicatorOpen="CodeMirror-foldgutter-open"),null==o.indicatorFolded&&(o.indicatorFolded="CodeMirror-foldgutter-folded"),o}function r(o,n){for(var e=o.findMarks(t(n,0),t(n+1,0)),r=0;r<e.length;++r)if(e[r].__isFold){var i=e[r].find(-1);if(i&&i.line===n)return e[r]}}function i(o){if("string"==typeof o){var t=document.createElement("div");return t.className=o+" CodeMirror-guttermarker-subtle",t}return o.cloneNode(!0)}function f(o,n,e){var f=o.state.foldGutter.options,a=n-1,d=o.foldOption(f,"minFoldSize"),u=o.foldOption(f,"rangeFinder"),c="string"==typeof f.indicatorFolded&&l(f.indicatorFolded),s="string"==typeof f.indicatorOpen&&l(f.indicatorOpen);o.eachLine(n,e,(function(n){++a;var e=null,l=n.gutterMarkers;if(l&&(l=l[f.gutter]),r(o,a)){if(c&&l&&c.test(l.className))return;e=i(f.indicatorFolded)}else{var p=t(a,0),m=u&&u(o,p);if(m&&m.to.line-m.from.line>=d){if(s&&l&&s.test(l.className))return;e=i(f.indicatorOpen)}}(e||l)&&o.setGutterMarker(n,f.gutter,e)}))}function l(o){return new RegExp("(^|\\s)"+o+"(?:$|\\s)\\s*")}function a(o){var t=o.getViewport(),n=o.state.foldGutter;n&&(o.operation((function(){f(o,t.from,t.to)})),n.from=t.from,n.to=t.to)}function d(o,n,e){var i=o.state.foldGutter;if(i){var f=i.options;if(e==f.gutter){var l=r(o,n);l?l.clear():o.foldCode(t(n,0),f)}}}function u(o){var t=o.state.foldGutter;if(t){var n=t.options;t.from=t.to=0,clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout((function(){a(o)}),n.foldOnChangeTimeSpan||600)}}function c(o){var t=o.state.foldGutter;if(t){var n=t.options;clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout((function(){var n=o.getViewport();t.from==t.to||n.from-t.to>20||t.from-n.to>20?a(o):o.operation((function(){n.from<t.from&&(f(o,n.from,t.from),t.from=n.from),n.to>t.to&&(f(o,t.to,n.to),t.to=n.to)}))}),n.updateViewportTimeSpan||400)}}function s(o,t){var n=o.state.foldGutter;if(n){var e=t.line;e>=n.from&&e<n.to&&f(o,e,e+1)}}}(n(1300),n(2219))}}]);
2
+ //# sourceMappingURL=430.23c55f04.chunk.js.map