@khanacademy/perseus 51.0.1 → 52.0.0

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 (130) hide show
  1. package/dist/es/index.js +681 -1996
  2. package/dist/es/index.js.map +1 -1
  3. package/dist/es/strings.js +102 -2
  4. package/dist/es/strings.js.map +1 -1
  5. package/dist/index.d.ts +36 -6
  6. package/dist/index.js +736 -2004
  7. package/dist/index.js.map +1 -1
  8. package/dist/item-version.d.ts +1 -1
  9. package/dist/renderer-util.d.ts +7 -2
  10. package/dist/strings.d.ts +100 -0
  11. package/dist/strings.js +158 -13
  12. package/dist/strings.js.map +1 -1
  13. package/dist/types.d.ts +13 -12
  14. package/dist/widget-ai-utils/mock-widget/prompt-utils.d.ts +1 -1
  15. package/dist/widget-type-utils.d.ts +1 -22
  16. package/dist/widgets/categorizer/categorizer.d.ts +5 -5
  17. package/dist/widgets/cs-program/cs-program.d.ts +3 -2
  18. package/dist/widgets/dropdown/dropdown.d.ts +2 -1
  19. package/dist/widgets/expression/expression.d.ts +8 -10
  20. package/dist/widgets/grapher/grapher.d.ts +2 -1
  21. package/dist/widgets/group/group.d.ts +4 -2
  22. package/dist/widgets/group/score-group.d.ts +2 -2
  23. package/dist/widgets/group/validate-group.d.ts +4 -0
  24. package/dist/widgets/iframe/iframe.d.ts +3 -2
  25. package/dist/widgets/input-number/input-number.d.ts +2 -1
  26. package/dist/widgets/interactive-graph.d.ts +2 -1
  27. package/dist/widgets/interactive-graphs/graphs/linear.d.ts +2 -0
  28. package/dist/widgets/interactive-graphs/graphs/quadratic.d.ts +12 -1
  29. package/dist/widgets/interactive-graphs/graphs/segment.d.ts +2 -0
  30. package/dist/widgets/interactive-graphs/graphs/utils.d.ts +6 -0
  31. package/dist/widgets/label-image/label-image.d.ts +5 -4
  32. package/dist/widgets/matcher/matcher.d.ts +2 -1
  33. package/dist/widgets/matrix/matrix.d.ts +4 -2
  34. package/dist/widgets/measurer/measurer.d.ts +3 -8
  35. package/dist/widgets/mock-widgets/mock-widget-types.d.ts +17 -0
  36. package/dist/widgets/mock-widgets/mock-widget.d.ts +5 -4
  37. package/dist/widgets/mock-widgets/score-mock-widget.d.ts +2 -1
  38. package/dist/widgets/mock-widgets/validate-mock-widget.d.ts +4 -0
  39. package/dist/widgets/number-line/number-line.d.ts +3 -1
  40. package/dist/widgets/numeric-input/numeric-input.d.ts +2 -1
  41. package/dist/widgets/orderer/orderer.d.ts +6 -2
  42. package/dist/widgets/passage-ref/passage-ref.d.ts +2 -5
  43. package/dist/widgets/passage-ref-target/passage-ref-target.d.ts +0 -4
  44. package/dist/widgets/plotter/plotter.d.ts +4 -2
  45. package/dist/widgets/radio/radio-component.d.ts +1 -1
  46. package/dist/widgets/radio/radio.d.ts +5 -9
  47. package/dist/widgets/sorter/sorter.d.ts +3 -1
  48. package/dist/widgets/table/table.d.ts +3 -1
  49. package/dist/widgets.d.ts +3 -2
  50. package/package.json +14 -14
  51. package/dist/util/is-real-json-parse.d.ts +0 -1
  52. package/dist/util/parse-perseus-json/error-tracking-parse-context.d.ts +0 -9
  53. package/dist/util/parse-perseus-json/exhaustive-test-tool/index.d.ts +0 -2
  54. package/dist/util/parse-perseus-json/general-purpose-parsers/any.d.ts +0 -2
  55. package/dist/util/parse-perseus-json/general-purpose-parsers/array.d.ts +0 -2
  56. package/dist/util/parse-perseus-json/general-purpose-parsers/array.typetest.d.ts +0 -1
  57. package/dist/util/parse-perseus-json/general-purpose-parsers/boolean.d.ts +0 -2
  58. package/dist/util/parse-perseus-json/general-purpose-parsers/constant.d.ts +0 -4
  59. package/dist/util/parse-perseus-json/general-purpose-parsers/convert.d.ts +0 -2
  60. package/dist/util/parse-perseus-json/general-purpose-parsers/defaulted.d.ts +0 -2
  61. package/dist/util/parse-perseus-json/general-purpose-parsers/discriminated-union.d.ts +0 -21
  62. package/dist/util/parse-perseus-json/general-purpose-parsers/discriminated-union.typetest.d.ts +0 -1
  63. package/dist/util/parse-perseus-json/general-purpose-parsers/enumeration.d.ts +0 -2
  64. package/dist/util/parse-perseus-json/general-purpose-parsers/enumeration.typetest.d.ts +0 -1
  65. package/dist/util/parse-perseus-json/general-purpose-parsers/index.d.ts +0 -17
  66. package/dist/util/parse-perseus-json/general-purpose-parsers/is-object.d.ts +0 -1
  67. package/dist/util/parse-perseus-json/general-purpose-parsers/nullable.d.ts +0 -2
  68. package/dist/util/parse-perseus-json/general-purpose-parsers/number.d.ts +0 -2
  69. package/dist/util/parse-perseus-json/general-purpose-parsers/object.d.ts +0 -6
  70. package/dist/util/parse-perseus-json/general-purpose-parsers/optional.d.ts +0 -2
  71. package/dist/util/parse-perseus-json/general-purpose-parsers/pair.d.ts +0 -2
  72. package/dist/util/parse-perseus-json/general-purpose-parsers/pipe-parsers.d.ts +0 -7
  73. package/dist/util/parse-perseus-json/general-purpose-parsers/pipe-parsers.typetest.d.ts +0 -1
  74. package/dist/util/parse-perseus-json/general-purpose-parsers/record.d.ts +0 -2
  75. package/dist/util/parse-perseus-json/general-purpose-parsers/string-to-number.d.ts +0 -2
  76. package/dist/util/parse-perseus-json/general-purpose-parsers/string.d.ts +0 -2
  77. package/dist/util/parse-perseus-json/general-purpose-parsers/test-helpers.d.ts +0 -8
  78. package/dist/util/parse-perseus-json/general-purpose-parsers/trio.d.ts +0 -2
  79. package/dist/util/parse-perseus-json/general-purpose-parsers/union.d.ts +0 -7
  80. package/dist/util/parse-perseus-json/general-purpose-parsers/union.typetest.d.ts +0 -1
  81. package/dist/util/parse-perseus-json/general-purpose-parsers/unknown.d.ts +0 -2
  82. package/dist/util/parse-perseus-json/index.d.ts +0 -45
  83. package/dist/util/parse-perseus-json/object-path.d.ts +0 -2
  84. package/dist/util/parse-perseus-json/parse-failure-detail.d.ts +0 -2
  85. package/dist/util/parse-perseus-json/parse.d.ts +0 -3
  86. package/dist/util/parse-perseus-json/parser-types.d.ts +0 -30
  87. package/dist/util/parse-perseus-json/perseus-parsers/categorizer-widget.d.ts +0 -3
  88. package/dist/util/parse-perseus-json/perseus-parsers/cs-program-widget.d.ts +0 -3
  89. package/dist/util/parse-perseus-json/perseus-parsers/definition-widget.d.ts +0 -3
  90. package/dist/util/parse-perseus-json/perseus-parsers/dropdown-widget.d.ts +0 -3
  91. package/dist/util/parse-perseus-json/perseus-parsers/explanation-widget.d.ts +0 -3
  92. package/dist/util/parse-perseus-json/perseus-parsers/expression-widget.d.ts +0 -3
  93. package/dist/util/parse-perseus-json/perseus-parsers/graded-group-set-widget.d.ts +0 -3
  94. package/dist/util/parse-perseus-json/perseus-parsers/graded-group-widget.d.ts +0 -16
  95. package/dist/util/parse-perseus-json/perseus-parsers/grapher-widget.d.ts +0 -3
  96. package/dist/util/parse-perseus-json/perseus-parsers/group-widget.d.ts +0 -3
  97. package/dist/util/parse-perseus-json/perseus-parsers/hint.d.ts +0 -3
  98. package/dist/util/parse-perseus-json/perseus-parsers/iframe-widget.d.ts +0 -3
  99. package/dist/util/parse-perseus-json/perseus-parsers/image-widget.d.ts +0 -3
  100. package/dist/util/parse-perseus-json/perseus-parsers/images-map.d.ts +0 -5
  101. package/dist/util/parse-perseus-json/perseus-parsers/input-number-widget.d.ts +0 -3
  102. package/dist/util/parse-perseus-json/perseus-parsers/interaction-widget.d.ts +0 -3
  103. package/dist/util/parse-perseus-json/perseus-parsers/interactive-graph-widget.d.ts +0 -3
  104. package/dist/util/parse-perseus-json/perseus-parsers/label-image-widget.d.ts +0 -3
  105. package/dist/util/parse-perseus-json/perseus-parsers/matcher-widget.d.ts +0 -3
  106. package/dist/util/parse-perseus-json/perseus-parsers/matrix-widget.d.ts +0 -3
  107. package/dist/util/parse-perseus-json/perseus-parsers/measurer-widget.d.ts +0 -3
  108. package/dist/util/parse-perseus-json/perseus-parsers/molecule-renderer-widget.d.ts +0 -3
  109. package/dist/util/parse-perseus-json/perseus-parsers/number-line-widget.d.ts +0 -3
  110. package/dist/util/parse-perseus-json/perseus-parsers/numeric-input-widget.d.ts +0 -3
  111. package/dist/util/parse-perseus-json/perseus-parsers/orderer-widget.d.ts +0 -3
  112. package/dist/util/parse-perseus-json/perseus-parsers/passage-ref-widget.d.ts +0 -3
  113. package/dist/util/parse-perseus-json/perseus-parsers/passage-widget.d.ts +0 -3
  114. package/dist/util/parse-perseus-json/perseus-parsers/perseus-article.d.ts +0 -3
  115. package/dist/util/parse-perseus-json/perseus-parsers/perseus-image-background.d.ts +0 -3
  116. package/dist/util/parse-perseus-json/perseus-parsers/perseus-item.d.ts +0 -3
  117. package/dist/util/parse-perseus-json/perseus-parsers/perseus-renderer.d.ts +0 -3
  118. package/dist/util/parse-perseus-json/perseus-parsers/phet-simulation-widget.d.ts +0 -3
  119. package/dist/util/parse-perseus-json/perseus-parsers/plotter-widget.d.ts +0 -3
  120. package/dist/util/parse-perseus-json/perseus-parsers/python-program-widget.d.ts +0 -3
  121. package/dist/util/parse-perseus-json/perseus-parsers/radio-widget.d.ts +0 -3
  122. package/dist/util/parse-perseus-json/perseus-parsers/sorter-widget.d.ts +0 -3
  123. package/dist/util/parse-perseus-json/perseus-parsers/table-widget.d.ts +0 -3
  124. package/dist/util/parse-perseus-json/perseus-parsers/versioned-widget-options.d.ts +0 -36
  125. package/dist/util/parse-perseus-json/perseus-parsers/video-widget.d.ts +0 -3
  126. package/dist/util/parse-perseus-json/perseus-parsers/widget.d.ts +0 -7
  127. package/dist/util/parse-perseus-json/perseus-parsers/widgets-map.d.ts +0 -3
  128. package/dist/util/parse-perseus-json/result.d.ts +0 -16
  129. package/dist/util/snowman-utils.d.ts +0 -17
  130. package/dist/widgets/categorizer/categorizer.util.d.ts +0 -17
@@ -1 +1 @@
1
- {"version":3,"file":"strings.js","sources":["../src/strings.ts"],"sourcesContent":["import type {ErrorCodes} from \"@khanacademy/perseus-score\";\n\n/**\n * The translated strings that are used to render Perseus.\n */\nexport type PerseusStrings = {\n closeKeypad: string;\n openKeypad: string;\n mathInputBox: string;\n removeHighlight: string;\n addHighlight: string;\n hintPos: ({pos}: {pos: number}) => string;\n errorRendering: ({error}: {error: string}) => string;\n APPROXIMATED_PI_ERROR: string;\n EXTRA_SYMBOLS_ERROR: string;\n NEEDS_TO_BE_SIMPLFIED_ERROR: string;\n MISSING_PERCENT_ERROR: string;\n MULTIPLICATION_SIGN_ERROR: string;\n WRONG_CASE_ERROR: string;\n WRONG_LETTER_ERROR: string;\n invalidSelection: string;\n ERROR_TITLE: string;\n ERROR_MESSAGE: string;\n hints: string;\n getAnotherHint: string;\n deprecatedStandin: string;\n keepTrying: string;\n tryAgain: string;\n check: string;\n correctExcited: string;\n nextQuestion: string;\n skipToTitle: ({title}: {title: string}) => string;\n current: string;\n correct: string;\n correctSelected: string;\n correctCrossedOut: string;\n incorrect: string;\n incorrectSelected: string;\n hideExplanation: string;\n explain: string;\n INVALID_MESSAGE_PREFIX: string;\n DEFAULT_INVALID_MESSAGE_1: string;\n DEFAULT_INVALID_MESSAGE_2: string;\n integerExample: string;\n properExample: string;\n simplifiedProperExample: string;\n improperExample: string;\n simplifiedImproperExample: string;\n mixedExample: string;\n decimalExample: string;\n percentExample: string;\n piExample: string;\n yourAnswer: string;\n yourAnswerLabel: string;\n addPoints: string;\n addVertices: string;\n tapMultiple: string;\n tapSingle: string;\n clickMultiple: string;\n clickSingle: string;\n choices: string;\n answers: ({num}: {num: number}) => string;\n hideAnswersToggleLabel: string;\n moves: ({num}: {num: number}) => string;\n clickTiles: string;\n turnOffLights: string;\n fillAllCells: string;\n molecularDrawing: ({content}: {content: string}) => string;\n switchDirection: string;\n circleOpen: string;\n circleFilled: string;\n numDivisions: string;\n divisions: ({divRangeString}: {divRangeString: string}) => string;\n lineRange: ({lineRange}: {lineRange: string}) => string;\n lineNumber: ({lineNumber}: {lineNumber: string}) => string;\n symbolPassage: ({\n questionSymbol,\n questionNumber,\n }: {\n questionSymbol: string;\n questionNumber: string;\n }) => string;\n symbolQuestion: ({sentenceSymbol}: {sentenceSymbol: string}) => string;\n lineLabel: string;\n beginningPassage: string;\n beginningFootnotes: string;\n endPassage: string;\n questionMarker: ({number}: {number: string}) => string;\n circleMarker: ({number}: {number: string}) => string;\n sentenceMarker: ({number}: {number: string}) => string;\n dragHandles: string;\n tapAddPoints: string;\n false: string;\n true: string;\n no: string;\n yes: string;\n chooseCorrectNum: string;\n notNoneOfTheAbove: string;\n noneOfTheAbove: string;\n chooseNumAnswers: ({numCorrect}: {numCorrect: string}) => string;\n chooseAllAnswers: string;\n chooseOneAnswer: string;\n choiceCheckedCorrect: ({letter}: {letter: string}) => string;\n choiceCrossedOutCorrect: ({letter}: {letter: string}) => string;\n choiceCorrect: ({letter}: {letter: string}) => string;\n choiceCheckedIncorrect: ({letter}: {letter: string}) => string;\n choiceCrossedOutIncorrect: ({letter}: {letter: string}) => string;\n choiceIncorrect: ({letter}: {letter: string}) => string;\n choiceChecked: ({letter}: {letter: string}) => string;\n choiceCrossedOut: ({letter}: {letter: string}) => string;\n choice: ({letter}: {letter: string}) => string;\n crossOut: string;\n crossOutOption: string;\n crossOutChoice: ({letter}: {letter: string}) => string;\n bringBack: string;\n openMenuForChoice: ({letter}: {letter: string}) => string;\n letters: string;\n rightArrow: string;\n dontUnderstandUnits: string;\n checkSigFigs: string;\n answerNumericallyIncorrect: string;\n checkUnits: string;\n dontUnderstand: string;\n loading: string;\n videoTranscript: string;\n somethingWrong: string;\n videoWrapper: string;\n mathInputTitle: string;\n mathInputDescription: string;\n sin: string;\n cos: string;\n tan: string;\n simulationLoadFail: string;\n simulationLocaleWarning: string;\n selectAnAnswer: string;\n // The following strings are used for interactive graph SR descriptions.\n addPoint: string;\n removePoint: string;\n graphKeyboardPrompt: string;\n closePolygon: string;\n openPolygon: string;\n srPointAtCoordinates: ({\n num,\n x,\n y,\n }: {\n num: number;\n x: string;\n y: string;\n }) => string;\n srInteractiveElements: ({elements}: {elements: string}) => string;\n srNoInteractiveElements: string;\n srCircleGraph: string;\n srCircleShape: ({\n centerX,\n centerY,\n }: {\n centerX: string;\n centerY: string;\n }) => string;\n srCircleRadiusPoint: ({\n radiusPointX,\n radiusPointY,\n }: {\n radiusPointX: string;\n radiusPointY: string;\n }) => string;\n srCircleRadius: ({radius}: {radius: number}) => string;\n srCircleOuterPoints: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n point3X,\n point3Y,\n point4X,\n point4Y,\n }: {\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n point3X: string;\n point3Y: string;\n point4X: string;\n point4Y: string;\n }) => string;\n srLinearGraph: string;\n srLinearGraphPoints: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n }: {\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n }) => string;\n srLinearGraphSlopeIncreasing: string;\n srLinearGraphSlopeDecreasing: string;\n srLinearGraphSlopeHorizontal: string;\n srLinearGraphSlopeVertical: string;\n srLinearGraphXOnlyIntercept: ({xIntercept}: {xIntercept: string}) => string;\n srLinearGraphYOnlyIntercept: ({yIntercept}: {yIntercept: string}) => string;\n srLinearGraphBothIntercepts: ({\n xIntercept,\n yIntercept,\n }: {\n xIntercept: string;\n yIntercept: string;\n }) => string;\n srLinearGraphOriginIntercept: string;\n srLinearGrabHandle: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n }: {\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n }) => string;\n srAngleSideAtCoordinates: ({\n point,\n side,\n x,\n y,\n }: {\n point: number;\n side: string;\n x: string;\n y: string;\n }) => string;\n srAngleVertexAtCoordinatesWithAngleMeasure: ({\n x,\n y,\n angleMeasure,\n }: {\n x: string;\n y: string;\n angleMeasure: string;\n }) => string;\n srAngleGraphAriaLabel: string;\n srAngleGraphAriaDescription: ({\n angleMeasure,\n vertexX,\n vertexY,\n startingSideX,\n startingSideY,\n endingSideX,\n endingSideY,\n }: {\n angleMeasure: string;\n vertexX: string;\n vertexY: string;\n startingSideX: string;\n startingSideY: string;\n endingSideX: string;\n endingSideY: string;\n }) => string;\n srLinearSystemGraph: string;\n srLinearSystemPoints: ({\n lineNumber,\n point1X,\n point1Y,\n point2X,\n point2Y,\n }: {\n lineNumber: number;\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n }) => string;\n srLinearSystemPoint({\n lineNumber,\n pointSequence,\n x,\n y,\n }: {\n lineNumber: number;\n pointSequence: number;\n x: string;\n y: string;\n }): string;\n srRayGraph: string;\n srRayPoints: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n }: {\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n }) => string;\n srRayEndpoint: ({x, y}: {x: string; y: string}) => string;\n srRayTerminalPoint: ({x, y}: {x: string; y: string}) => string;\n srRayGrabHandle: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n }: {\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n }) => string;\n // The above strings are used for interactive graph SR descriptions.\n};\n\n/**\n * Untranslated strings used in Perseus. To be used by an external\n * translator to produce translated strings, passed in as `PerseusStrings`.\n * !! Note: Ensure that all escape sequences are double-escaped. (e.g. `\\\\text` -> `\\\\\\\\text`)\n */\nexport const strings = {\n closeKeypad: \"close math keypad\",\n openKeypad: \"open math keypad\",\n mathInputBox: \"Math input box\",\n removeHighlight: \"Remove highlight\",\n addHighlight: \"Add highlight\",\n hintPos: \"Hint #%(pos)s\",\n errorRendering: \"Error rendering: %(error)s\",\n APPROXIMATED_PI_ERROR:\n \"Your answer is close, but you may \" +\n \"have approximated pi. Enter your \" +\n \"answer as a multiple of pi, like \" +\n \"12 pi or \" +\n \"2/3 pi\",\n EXTRA_SYMBOLS_ERROR:\n \"We could not understand your \" +\n \"answer. Please check your answer for extra \" +\n \"text or symbols.\",\n NEEDS_TO_BE_SIMPLFIED_ERROR:\n \"Your answer is almost correct, \" + \"but it needs to be simplified.\",\n MISSING_PERCENT_ERROR:\n \"Your answer is almost correct, \" +\n \"but it is missing a \" +\n \"<code>\\\\\\\\%</code> at the end.\",\n MULTIPLICATION_SIGN_ERROR:\n \"I'm a computer. I only understand \" +\n \"multiplication if you use an asterisk \" +\n \"(*) as the multiplication sign.\",\n WRONG_CASE_ERROR:\n \"Your answer includes use of a variable with the wrong case.\",\n WRONG_LETTER_ERROR: \"Your answer includes a wrong variable letter.\",\n invalidSelection: \"Make sure you select something for every row.\",\n ERROR_TITLE: \"Oops!\",\n ERROR_MESSAGE: \"Sorry, I don't understand that!\",\n hints: \"Hints\",\n getAnotherHint: \"Get another hint\",\n deprecatedStandin:\n \"Sorry, this part of the question is no longer available. 😅 Don't worry, you won't be graded on this part. Keep going!\",\n keepTrying: \"Keep trying\",\n tryAgain: \"Try again\",\n check: \"Check\",\n correctExcited: \"Correct!\",\n nextQuestion: \"Next question\",\n skipToTitle: \"Skip to %(title)s\",\n current: \"Current\",\n correct: \"Correct\",\n correctSelected: \"Correct (selected)\",\n correctCrossedOut: \"Correct (but you crossed it out)\",\n incorrect: \"Incorrect\",\n incorrectSelected: \"Incorrect (selected)\",\n hideExplanation: \"Hide explanation\",\n explain: \"Explain\",\n INVALID_MESSAGE_PREFIX: \"We couldn't grade your answer.\",\n DEFAULT_INVALID_MESSAGE_1: \"It looks like you left something blank or \",\n DEFAULT_INVALID_MESSAGE_2: \"entered in an invalid answer.\",\n integerExample: \"an integer, like $6$\",\n properExample: \"a *proper* fraction, like $1/2$ or $6/10$\",\n simplifiedProperExample: \"a *simplified proper* fraction, like $3/5$\",\n improperExample: \"an *improper* fraction, like $10/7$ or $14/8$\",\n simplifiedImproperExample: \"a *simplified improper* fraction, like $7/4$\",\n mixedExample: \"a mixed number, like $1\\\\\\\\ 3/4$\",\n decimalExample: \"an *exact* decimal, like $0.75$\",\n percentExample: \"a percent, like $12.34\\\\\\\\%$\",\n piExample: \"a multiple of pi, like $12$ pi or $2/3$ pi\",\n yourAnswer: \"**Your answer should be** \",\n yourAnswerLabel: \"Your answer:\",\n addPoints: \"Click to add points\",\n addVertices: \"Click to add vertices\",\n tapMultiple: \"Tap each dot on the image to select all answers that apply.\",\n tapSingle: \"Tap each dot on the image to select an answer.\",\n clickMultiple:\n \"Click each dot on the image to select all answers that apply.\",\n clickSingle: \"Click each dot on the image to select an answer.\",\n choices: \"Choices:\",\n answers: {\n one: \"%(num)s answer\",\n other: \"%(num)s answers\",\n },\n hideAnswersToggleLabel: \"Hide answer choices\",\n moves: {\n one: \"Moves: %(num)s\",\n other: \"Moves: %(num)s\",\n },\n clickTiles: \"Click on the tiles to change the lights.\",\n turnOffLights: \"You must turn on all of the lights to continue.\",\n fillAllCells: \"Make sure you fill in all cells in the matrix.\",\n molecularDrawing:\n \"A molecular structure drawing. SMILES notation: %(content)s\",\n switchDirection: \"Switch direction\",\n circleOpen: \"Make circle open\",\n circleFilled: \"Make circle filled\",\n numDivisions: \"Number of divisions:\",\n divisions:\n \"Please make sure the number of divisions is in the range %(divRangeString)s.\",\n lineRange: \"lines %(lineRange)s\",\n lineNumber: \"line %(lineNumber)s\",\n symbolPassage:\n \"The symbol %(questionSymbol)s indicates that question %(questionNumber)s references this portion of the passage.\",\n symbolQuestion:\n \" The symbol %(sentenceSymbol)s indicates that the following sentence is referenced in a question.\",\n lineLabel: {\n context: \"a label next to a reading passage to denote the line number\",\n message: \"Line\",\n },\n beginningPassage: \"Beginning of reading passage.\",\n beginningFootnotes: \"Beginning of reading passage footnotes.\",\n endPassage: \"End of reading passage.\",\n questionMarker: \"[Marker for question %(number)s]\",\n circleMarker: \"[Circle marker %(number)s]\",\n sentenceMarker: \"[Sentence %(number)s]\",\n dragHandles: \"Drag handles to make graph\",\n tapAddPoints: \"Tap to add points\",\n false: \"False\",\n true: \"True\",\n no: \"No\",\n yes: \"Yes\",\n chooseCorrectNum: \"Please choose the correct number of answers.\",\n notNoneOfTheAbove:\n \"'None of the above' may not be selected when other answers are selected.\",\n noneOfTheAbove: \"None of the above\",\n chooseNumAnswers: \"Choose %(numCorrect)s answers:\",\n chooseAllAnswers: \"Choose all answers that apply:\",\n chooseOneAnswer: \"Choose 1 answer:\",\n choiceCheckedCorrect: \"(Choice %(letter)s, Checked, Correct)\",\n choiceCrossedOutCorrect: \"(Choice %(letter)s, Crossed out, Correct)\",\n choiceCorrect: \"(Choice %(letter)s, Correct)\",\n choiceCheckedIncorrect: \"(Choice %(letter)s, Checked, Incorrect)\",\n choiceCrossedOutIncorrect: \"(Choice %(letter)s, Crossed out, Incorrect)\",\n choiceIncorrect: \"(Choice %(letter)s, Incorrect)\",\n choiceChecked: \"(Choice %(letter)s, Checked)\",\n choiceCrossedOut: \"(Choice %(letter)s, Crossed out)\",\n choice: \"(Choice %(letter)s)\",\n crossOut: \"Cross out\",\n crossOutOption: \"Cross out option\",\n crossOutChoice: \"Cross out Choice %(letter)s\",\n bringBack: \"Bring back\",\n openMenuForChoice: \"Open menu for Choice %(letter)s\",\n letters: {\n context:\n \"This is a list of single-character labels that will appear in front of multiple-choice options. For instance, a multiple-choice question with three options would display (A) first option (B) second option (C) third option. There must be spaces between each of the different characters. The characters will show up next to options in the order that they are listed here. Most multiple choice questions have 5 or fewer options.\",\n message: \"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\",\n },\n rightArrow: \"Reaction arrow pointing to the right.\",\n dontUnderstandUnits: \"I couldn't understand those units.\",\n checkSigFigs: \"Check your significant figures.\",\n answerNumericallyIncorrect: \"That answer is numerically incorrect.\",\n checkUnits: \"Check your units.\",\n dontUnderstand: \"I don't understand that\",\n loading: \"Loading...\",\n videoTranscript: \"See video transcript\",\n somethingWrong: \"Something went wrong.\",\n videoWrapper: \"Khan Academy video wrapper\",\n mathInputTitle: \"mathematics keyboard\",\n mathInputDescription:\n \"Use keyboard/mouse to interact with math-based input fields\",\n sin: \"sin\",\n cos: \"cos\",\n tan: \"tan\",\n simulationLoadFail: \"Sorry, this simulation cannot load.\",\n simulationLocaleWarning:\n \"Sorry, this simulation isn't available in your language.\",\n selectAnAnswer: \"Select an answer\",\n\n // The following strings are used for interactive graph SR descriptions.\n addPoint: \"Add Point\",\n removePoint: \"Remove Point\",\n graphKeyboardPrompt: \"Press Shift + Enter to interact with the graph\",\n closePolygon: \"Close shape\",\n openPolygon: \"Re-open shape\",\n srInteractiveElements: \"Interactive elements: %(elements)s\",\n srNoInteractiveElements: \"No interactive elements\",\n // TODO(LEMS-2660): The following strings are ones that will need\n // translation tickets after all interactive graph SR strings have\n // been finalized. Remove this comment after the tickets have been\n // created.\n srPointAtCoordinates: \"Point %(num)s at %(x)s comma %(y)s\",\n srCircleGraph: \"A circle on a coordinate plane.\",\n srCircleShape:\n \"Circle. The center point is at %(centerX)s comma %(centerY)s.\",\n srCircleRadiusPoint:\n \"Radius point at %(radiusPointX)s comma %(radiusPointY)s.\",\n srCircleRadius: \"Circle radius is %(radius)s.\",\n srCircleOuterPoints:\n \"Points on the circle at %(point1X)s comma %(point1Y)s, %(point2X)s comma %(point2Y)s, %(point3X)s comma %(point3Y)s, %(point4X)s comma %(point4Y)s.\",\n srLinearGraph: \"A line on a coordinate plane.\",\n srLinearGraphPoints:\n \"The line has two points, point 1 at %(point1X)s comma %(point1Y)s and point 2 at %(point2X)s comma %(point2Y)s.\",\n srLinearGraphSlopeIncreasing: \"Its slope increases from left to right.\",\n srLinearGraphSlopeDecreasing: \"Its slope decreases from left to right.\",\n srLinearGraphSlopeHorizontal: \"Its slope is zero.\",\n srLinearGraphSlopeVertical: \"Its slope is undefined.\",\n srLinearGraphXOnlyIntercept:\n \"The line crosses the X-axis at %(xIntercept)s comma 0.\",\n srLinearGraphYOnlyIntercept:\n \"The line crosses the Y-axis at 0 comma %(yIntercept)s.\",\n srLinearGraphBothIntercepts:\n \"The line crosses the X-axis at %(xIntercept)s comma 0 and the Y-axis at 0 comma %(yIntercept)s.\",\n srLinearGraphOriginIntercept:\n \"The line crosses the x and y axes at the graph's origin.\",\n srLinearGrabHandle:\n \"Line from %(point1X)s comma %(point1Y)s to %(point2X)s comma %(point2Y)s.\",\n srAngleSideAtCoordinates: \"Point %(point)s, %(side)s at %(x)s comma %(y)s\",\n srAngleVertexAtCoordinatesWithAngleMeasure:\n \"Point 2, vertex at %(x)s comma %(y)s. Angle %(angleMeasure)s degrees\",\n srAngleGraphAriaLabel: \"An angle on a coordinate plane.\",\n srAngleGraphAriaDescription:\n \"The angle measure is %(angleMeasure)s degrees with a vertex at %(vertexX)s comma %(vertexY)s, a point on the starting side at %(startingSideX)s comma %(startingSideY)s and a point on the ending side at %(endingSideX)s comma %(endingSideY)s\",\n srLinearSystemGraph: \"Two lines on a coordinate plane.\",\n srLinearSystemPoints:\n \"Line %(lineNumber)s has two points, point 1 at %(point1X)s comma %(point1Y)s and point 2 at %(point2X)s comma %(point2Y)s.\",\n srLinearSystemPoint:\n \"Point %(pointSequence)s on line %(lineNumber)s at %(x)s comma %(y)s.\",\n srRayGraph: \"A ray on a coordinate plane.\",\n srRayPoints:\n \"The endpoint is at %(point1X)s comma %(point1Y)s and the ray goes through point %(point2X)s comma %(point2Y)s.\",\n srRayGrabHandle:\n \"Ray with endpoint %(point1X)s comma %(point1Y)s going through point %(point2X)s comma %(point2Y)s.\",\n srRayEndpoint: \"Endpoint at %(x)s comma %(y)s.\",\n srRayTerminalPoint: \"Through point at %(x)s comma %(y)s.\",\n // The above strings are used for interactive graph SR descriptions.\n} satisfies {\n [key in keyof PerseusStrings]:\n | string\n | {context?: string; message: string}\n | {context?: string; one: string; other: string};\n};\n\n/**\n * Mock strings for the Perseus package, to be used for tests and Storybook.\n */\nexport const mockStrings: PerseusStrings = {\n closeKeypad: \"close math keypad\",\n openKeypad: \"open math keypad\",\n mathInputBox: \"Math input box\",\n removeHighlight: \"Remove highlight\",\n addHighlight: \"Add highlight\",\n hintPos: ({pos}) => `Hint #${pos}`,\n errorRendering: ({error}) => `Error rendering: ${error}`,\n APPROXIMATED_PI_ERROR:\n \"Your answer is close, but you may \" +\n \"have approximated pi. Enter your \" +\n \"answer as a multiple of pi, like \" +\n \"<code>12\\\\ \\\\text{pi}</code> or \" +\n \"<code>2/3\\\\ \\\\text{pi}</code>\",\n EXTRA_SYMBOLS_ERROR:\n \"We could not understand your \" +\n \"answer. Please check your answer for extra \" +\n \"text or symbols.\",\n NEEDS_TO_BE_SIMPLFIED_ERROR:\n \"Your answer is almost correct, \" + \"but it needs to be simplified.\",\n MISSING_PERCENT_ERROR:\n \"Your answer is almost correct, \" +\n \"but it is missing a \" +\n \"<code>\\\\%</code> at the end.\",\n MULTIPLICATION_SIGN_ERROR:\n \"I'm a computer. I only understand \" +\n \"multiplication if you use an asterisk \" +\n \"(*) as the multiplication sign.\",\n WRONG_CASE_ERROR:\n \"Your answer includes use of a variable with the wrong case.\",\n WRONG_LETTER_ERROR: \"Your answer includes a wrong variable letter.\",\n invalidSelection: \"Make sure you select something for every row.\",\n ERROR_TITLE: \"Oops!\",\n ERROR_MESSAGE: \"Sorry, I don't understand that!\",\n hints: \"Hints\",\n getAnotherHint: \"Get another hint\",\n deprecatedStandin:\n \"Sorry, this part of the question is no longer available. 😅 Don't worry, you won't be graded on this part. Keep going!\",\n keepTrying: \"Keep trying\",\n tryAgain: \"Try again\",\n check: \"Check\",\n correctExcited: \"Correct!\",\n nextQuestion: \"Next question\",\n skipToTitle: ({title}) => `Skip to ${title}`,\n current: \"Current\",\n correct: \"Correct\",\n correctSelected: \"Correct (selected)\",\n correctCrossedOut: \"Correct (but you crossed it out)\",\n incorrect: \"Incorrect\",\n incorrectSelected: \"Incorrect (selected)\",\n hideExplanation: \"Hide explanation\",\n explain: \"Explain\",\n INVALID_MESSAGE_PREFIX: \"We couldn't grade your answer.\",\n DEFAULT_INVALID_MESSAGE_1: \"It looks like you left something blank or \",\n DEFAULT_INVALID_MESSAGE_2: \"entered in an invalid answer.\",\n integerExample: \"an integer, like $6$\",\n properExample: \"a *proper* fraction, like $1/2$ or $6/10$\",\n simplifiedProperExample: \"a *simplified proper* fraction, like $3/5$\",\n improperExample: \"an *improper* fraction, like $10/7$ or $14/8$\",\n simplifiedImproperExample: \"a *simplified improper* fraction, like $7/4$\",\n mixedExample: \"a mixed number, like $1\\\\ 3/4$\",\n decimalExample: \"an *exact* decimal, like $0.75$\",\n percentExample: \"a percent, like $12.34\\\\%$\",\n piExample: \"a multiple of pi, like $12\\\\ \\\\text{pi}$ or $2/3\\\\ \\\\text{pi}$\",\n yourAnswer: \"**Your answer should be** \",\n yourAnswerLabel: \"Your answer:\",\n addPoints: \"Click to add points\",\n addVertices: \"Click to add vertices\",\n tapMultiple: \"Tap each dot on the image to select all answers that apply.\",\n tapSingle: \"Tap each dot on the image to select an answer.\",\n clickMultiple:\n \"Click each dot on the image to select all answers that apply.\",\n clickSingle: \"Click each dot on the image to select an answer.\",\n choices: \"Choices:\",\n answers: ({num}) => (num === 1 ? `${num} answer` : `${num} answers`),\n hideAnswersToggleLabel: \"Hide answer choices\",\n moves: ({num}) => (num === 1 ? `Moves: ${num}` : `Moves: ${num}`),\n clickTiles: \"Click on the tiles to change the lights.\",\n turnOffLights: \"You must turn on all of the lights to continue.\",\n fillAllCells: \"Make sure you fill in all cells in the matrix.\",\n molecularDrawing: ({content}) =>\n `A molecular structure drawing. SMILES notation: ${content}`,\n switchDirection: \"Switch direction\",\n circleOpen: \"Make circle open\",\n circleFilled: \"Make circle filled\",\n numDivisions: \"Number of divisions:\",\n divisions: ({divRangeString}) =>\n `Please make sure the number of divisions is in the range ${divRangeString}.`,\n lineRange: ({lineRange}: {lineRange: string}) => `lines ${lineRange}`,\n lineNumber: ({lineNumber}: {lineNumber: string}) => `line ${lineNumber}`,\n symbolPassage: ({questionSymbol, questionNumber}) =>\n `The symbol ${questionSymbol} indicates that question ${questionNumber} references this portion of the passage.`,\n symbolQuestion: ({sentenceSymbol}) =>\n ` The symbol ${sentenceSymbol} indicates that the following sentence is referenced in a question.`,\n lineLabel: \"Line\",\n beginningPassage: \"Beginning of reading passage.\",\n beginningFootnotes: \"Beginning of reading passage footnotes.\",\n endPassage: \"End of reading passage.\",\n questionMarker: ({number}) => `[Marker for question ${number}]`,\n circleMarker: ({number}) => `[Circle marker ${number}]`,\n sentenceMarker: ({number}) => `[Sentence ${number}]`,\n dragHandles: \"Drag handles to make graph\",\n tapAddPoints: \"Tap to add points\",\n false: \"False\",\n true: \"True\",\n no: \"No\",\n yes: \"Yes\",\n chooseCorrectNum: \"Please choose the correct number of answers.\",\n notNoneOfTheAbove:\n \"'None of the above' may not be selected when other answers are selected.\",\n noneOfTheAbove: \"None of the above\",\n chooseNumAnswers: ({numCorrect}) => `Choose ${numCorrect} answers:`,\n chooseAllAnswers: \"Choose all answers that apply:\",\n chooseOneAnswer: \"Choose 1 answer:\",\n choiceCheckedCorrect: ({letter}) => `(Choice ${letter}, Checked, Correct)`,\n choiceCrossedOutCorrect: ({letter}) =>\n `(Choice ${letter}, Crossed out, Correct)`,\n choiceCorrect: ({letter}) => `(Choice ${letter}, Correct)`,\n choiceCheckedIncorrect: ({letter}) =>\n `(Choice ${letter}, Checked, Incorrect)`,\n choiceCrossedOutIncorrect: ({letter}) =>\n `(Choice ${letter}, Crossed out, Incorrect)`,\n choiceIncorrect: ({letter}) => `(Choice ${letter}, Incorrect)`,\n choiceChecked: ({letter}) => `(Choice ${letter}, Checked)`,\n choiceCrossedOut: ({letter}) => `(Choice ${letter}, Crossed out)`,\n choice: ({letter}) => `(Choice ${letter})`,\n crossOut: \"Cross out\",\n crossOutOption: \"Cross out option\",\n crossOutChoice: ({letter}) => `Cross out Choice ${letter}`,\n bringBack: \"Bring back\",\n openMenuForChoice: ({letter}) => `Open menu for Choice ${letter}`,\n letters: \"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\",\n rightArrow: \"Reaction arrow pointing to the right.\",\n dontUnderstandUnits: \"I couldn't understand those units.\",\n checkSigFigs: \"Check your significant figures.\",\n answerNumericallyIncorrect: \"That answer is numerically incorrect.\",\n checkUnits: \"Check your units.\",\n dontUnderstand: \"I don't understand that\",\n loading: \"Loading...\",\n videoTranscript: \"See video transcript\",\n somethingWrong: \"Something went wrong.\",\n videoWrapper: \"Khan Academy video wrapper\",\n mathInputTitle: \"mathematics keyboard\",\n mathInputDescription:\n \"Use keyboard/mouse to interact with math-based input fields\",\n sin: \"sin\",\n cos: \"cos\",\n tan: \"tan\",\n simulationLoadFail: \"Sorry, this simulation cannot load.\",\n simulationLocaleWarning:\n \"Sorry, this simulation isn't available in your language.\",\n selectAnAnswer: \"Select an answer\",\n\n // The following strings are used for interactive graph SR descriptions.\n graphKeyboardPrompt: \"Press Shift + Enter to interact with the graph\",\n addPoint: \"Add Point\",\n removePoint: \"Remove Point\",\n closePolygon: \"Close shape\",\n openPolygon: \"Re-open shape\",\n srPointAtCoordinates: ({num, x, y}) => `Point ${num} at ${x} comma ${y}`,\n srInteractiveElements: ({elements}) => `Interactive elements: ${elements}`,\n srNoInteractiveElements: \"No interactive elements\",\n srCircleGraph: \"A circle on a coordinate plane.\",\n srCircleShape: ({centerX, centerY}) =>\n `Circle. The center point is at ${centerX} comma ${centerY}.`,\n srCircleRadiusPoint: ({radiusPointX, radiusPointY}) =>\n `Radius point at ${radiusPointX} comma ${radiusPointY}.`,\n srCircleRadius: ({radius}) => `Circle radius is ${radius}.`,\n srCircleOuterPoints: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n point3X,\n point3Y,\n point4X,\n point4Y,\n }) =>\n `Points on the circle at ${point1X} comma ${point1Y}, ${point2X} comma ${point2Y}, ${point3X} comma ${point3Y}, ${point4X} comma ${point4Y}.`,\n srLinearGraph: \"A line on a coordinate plane.\",\n srLinearGraphPoints: ({point1X, point1Y, point2X, point2Y}) =>\n `The line has two points, point 1 at ${point1X} comma ${point1Y} and point 2 at ${point2X} comma ${point2Y}.`,\n srLinearGraphSlopeIncreasing: \"Its slope increases from left to right.\",\n srLinearGraphSlopeDecreasing: \"Its slope decreases from left to right.\",\n srLinearGraphSlopeHorizontal: \"Its slope is zero.\",\n srLinearGraphSlopeVertical: \"Its slope is undefined.\",\n srLinearGraphXOnlyIntercept: ({xIntercept}) =>\n `The line crosses the X-axis at ${xIntercept} comma 0.`,\n srLinearGraphYOnlyIntercept: ({yIntercept}) =>\n `The line crosses the Y-axis at 0 comma ${yIntercept}.`,\n srLinearGraphBothIntercepts: ({xIntercept, yIntercept}) =>\n `The line crosses the X-axis at ${xIntercept} comma 0 and the Y-axis at 0 comma ${yIntercept}.`,\n srLinearGraphOriginIntercept:\n \"The line crosses the x and y axes at the graph's origin.\",\n srLinearGrabHandle: ({point1X, point1Y, point2X, point2Y}) =>\n `Line from ${point1X} comma ${point1Y} to ${point2X} comma ${point2Y}.`,\n srAngleSideAtCoordinates: ({point, side, x, y}) =>\n `Point ${point}, ${side} at ${x} comma ${y}`,\n srAngleVertexAtCoordinatesWithAngleMeasure: ({x, y, angleMeasure}) =>\n `Point 2, vertex at ${x} comma ${y}. Angle ${angleMeasure} degrees`,\n srAngleGraphAriaLabel: \"An angle on a coordinate plane.\",\n srAngleGraphAriaDescription: ({\n angleMeasure,\n vertexX,\n vertexY,\n startingSideX,\n startingSideY,\n endingSideX,\n endingSideY,\n }) =>\n `The angle measure is ${angleMeasure} degrees with a vertex at ${vertexX} comma ${vertexY}, a point on the starting side at ${startingSideX} comma ${startingSideY} and a point on the ending side at ${endingSideX} comma ${endingSideY}.`,\n srLinearSystemGraph: \"Two lines on a coordinate plane.\",\n srLinearSystemPoints: ({lineNumber, point1X, point1Y, point2X, point2Y}) =>\n `Line ${lineNumber} has two points, point 1 at ${point1X} comma ${point1Y} and point 2 at ${point2X} comma ${point2Y}.`,\n srLinearSystemPoint: ({lineNumber, pointSequence, x, y}) =>\n `Point ${pointSequence} on line ${lineNumber} at ${x} comma ${y}.`,\n srRayGraph: \"A ray on a coordinate plane.\",\n srRayPoints: ({point1X, point1Y, point2X, point2Y}) =>\n `The endpoint is at ${point1X} comma ${point1Y} and the ray goes through point ${point2X} comma ${point2Y}.`,\n srRayGrabHandle: ({point1X, point1Y, point2X, point2Y}) =>\n `Ray with endpoint ${point1X} comma ${point1Y} going through point ${point2X} comma ${point2Y}.`,\n srRayEndpoint: ({x, y}) => `Endpoint at ${x} comma ${y}.`,\n srRayTerminalPoint: ({x, y}) => `Through point at ${x} comma ${y}.`,\n // The above strings are used for interactive graph SR descriptions.\n};\n\n// This type helps us make sure all error codes are mapped to strings\ntype ErrorStringMap = {\n [K in keyof typeof ErrorCodes]: string;\n};\n\nconst errorToString: ErrorStringMap = {\n MISSING_PERCENT_ERROR: strings.MISSING_PERCENT_ERROR,\n NEEDS_TO_BE_SIMPLIFIED_ERROR: strings.NEEDS_TO_BE_SIMPLFIED_ERROR,\n APPROXIMATED_PI_ERROR: strings.APPROXIMATED_PI_ERROR,\n EXTRA_SYMBOLS_ERROR: strings.EXTRA_SYMBOLS_ERROR,\n WRONG_CASE_ERROR: strings.WRONG_CASE_ERROR,\n WRONG_LETTER_ERROR: strings.WRONG_LETTER_ERROR,\n MULTIPLICATION_SIGN_ERROR: strings.MULTIPLICATION_SIGN_ERROR,\n INVALID_SELECTION_ERROR: strings.invalidSelection,\n CHOOSE_CORRECT_NUM_ERROR: strings.chooseCorrectNum,\n NOT_NONE_ABOVE_ERROR: strings.notNoneOfTheAbove,\n FILL_ALL_CELLS_ERROR: strings.fillAllCells,\n};\n\nexport function mapErrorToString(err: string | null | undefined) {\n if (!err) {\n return err;\n }\n return errorToString[err] || err;\n}\n"],"names":["strings","closeKeypad","openKeypad","mathInputBox","removeHighlight","addHighlight","hintPos","errorRendering","APPROXIMATED_PI_ERROR","EXTRA_SYMBOLS_ERROR","NEEDS_TO_BE_SIMPLFIED_ERROR","MISSING_PERCENT_ERROR","MULTIPLICATION_SIGN_ERROR","WRONG_CASE_ERROR","WRONG_LETTER_ERROR","invalidSelection","ERROR_TITLE","ERROR_MESSAGE","hints","getAnotherHint","deprecatedStandin","keepTrying","tryAgain","check","correctExcited","nextQuestion","skipToTitle","current","correct","correctSelected","correctCrossedOut","incorrect","incorrectSelected","hideExplanation","explain","INVALID_MESSAGE_PREFIX","DEFAULT_INVALID_MESSAGE_1","DEFAULT_INVALID_MESSAGE_2","integerExample","properExample","simplifiedProperExample","improperExample","simplifiedImproperExample","mixedExample","decimalExample","percentExample","piExample","yourAnswer","yourAnswerLabel","addPoints","addVertices","tapMultiple","tapSingle","clickMultiple","clickSingle","choices","answers","one","other","hideAnswersToggleLabel","moves","clickTiles","turnOffLights","fillAllCells","molecularDrawing","switchDirection","circleOpen","circleFilled","numDivisions","divisions","lineRange","lineNumber","symbolPassage","symbolQuestion","lineLabel","context","message","beginningPassage","beginningFootnotes","endPassage","questionMarker","circleMarker","sentenceMarker","dragHandles","tapAddPoints","false","true","no","yes","chooseCorrectNum","notNoneOfTheAbove","noneOfTheAbove","chooseNumAnswers","chooseAllAnswers","chooseOneAnswer","choiceCheckedCorrect","choiceCrossedOutCorrect","choiceCorrect","choiceCheckedIncorrect","choiceCrossedOutIncorrect","choiceIncorrect","choiceChecked","choiceCrossedOut","choice","crossOut","crossOutOption","crossOutChoice","bringBack","openMenuForChoice","letters","rightArrow","dontUnderstandUnits","checkSigFigs","answerNumericallyIncorrect","checkUnits","dontUnderstand","loading","videoTranscript","somethingWrong","videoWrapper","mathInputTitle","mathInputDescription","sin","cos","tan","simulationLoadFail","simulationLocaleWarning","selectAnAnswer","addPoint","removePoint","graphKeyboardPrompt","closePolygon","openPolygon","srInteractiveElements","srNoInteractiveElements","srPointAtCoordinates","srCircleGraph","srCircleShape","srCircleRadiusPoint","srCircleRadius","srCircleOuterPoints","srLinearGraph","srLinearGraphPoints","srLinearGraphSlopeIncreasing","srLinearGraphSlopeDecreasing","srLinearGraphSlopeHorizontal","srLinearGraphSlopeVertical","srLinearGraphXOnlyIntercept","srLinearGraphYOnlyIntercept","srLinearGraphBothIntercepts","srLinearGraphOriginIntercept","srLinearGrabHandle","srAngleSideAtCoordinates","srAngleVertexAtCoordinatesWithAngleMeasure","srAngleGraphAriaLabel","srAngleGraphAriaDescription","srLinearSystemGraph","srLinearSystemPoints","srLinearSystemPoint","srRayGraph","srRayPoints","srRayGrabHandle","srRayEndpoint","srRayTerminalPoint","mockStrings","_ref","pos","_ref2","error","_ref3","title","_ref4","num","_ref5","_ref6","content","_ref7","divRangeString","_ref8","_ref9","_ref10","questionSymbol","questionNumber","_ref11","sentenceSymbol","_ref12","number","_ref13","_ref14","_ref15","numCorrect","_ref16","letter","_ref17","_ref18","_ref19","_ref20","_ref21","_ref22","_ref23","_ref24","_ref25","_ref26","_ref27","x","y","_ref28","elements","_ref29","centerX","centerY","_ref30","radiusPointX","radiusPointY","_ref31","radius","_ref32","point1X","point1Y","point2X","point2Y","point3X","point3Y","point4X","point4Y","_ref33","_ref34","xIntercept","_ref35","yIntercept","_ref36","_ref37","_ref38","point","side","_ref39","angleMeasure","_ref40","vertexX","vertexY","startingSideX","startingSideY","endingSideX","endingSideY","_ref41","_ref42","pointSequence","_ref43","_ref44","_ref45","_ref46","errorToString","NEEDS_TO_BE_SIMPLIFIED_ERROR","INVALID_SELECTION_ERROR","CHOOSE_CORRECT_NUM_ERROR","NOT_NONE_ABOVE_ERROR","FILL_ALL_CELLS_ERROR","mapErrorToString","err"],"mappings":"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"}
1
+ {"version":3,"file":"strings.js","sources":["../src/strings.ts"],"sourcesContent":["import type {ErrorCodes} from \"@khanacademy/perseus-score\";\n\n/**\n * The translated strings that are used to render Perseus.\n */\nexport type PerseusStrings = {\n closeKeypad: string;\n openKeypad: string;\n mathInputBox: string;\n removeHighlight: string;\n addHighlight: string;\n hintPos: ({pos}: {pos: number}) => string;\n errorRendering: ({error}: {error: string}) => string;\n APPROXIMATED_PI_ERROR: string;\n EXTRA_SYMBOLS_ERROR: string;\n NEEDS_TO_BE_SIMPLFIED_ERROR: string;\n MISSING_PERCENT_ERROR: string;\n MULTIPLICATION_SIGN_ERROR: string;\n WRONG_CASE_ERROR: string;\n WRONG_LETTER_ERROR: string;\n invalidSelection: string;\n ERROR_TITLE: string;\n ERROR_MESSAGE: string;\n hints: string;\n getAnotherHint: string;\n deprecatedStandin: string;\n keepTrying: string;\n tryAgain: string;\n check: string;\n correctExcited: string;\n nextQuestion: string;\n skipToTitle: ({title}: {title: string}) => string;\n current: string;\n correct: string;\n correctSelected: string;\n correctCrossedOut: string;\n incorrect: string;\n incorrectSelected: string;\n hideExplanation: string;\n explain: string;\n INVALID_MESSAGE_PREFIX: string;\n DEFAULT_INVALID_MESSAGE_1: string;\n DEFAULT_INVALID_MESSAGE_2: string;\n integerExample: string;\n properExample: string;\n simplifiedProperExample: string;\n improperExample: string;\n simplifiedImproperExample: string;\n mixedExample: string;\n decimalExample: string;\n percentExample: string;\n piExample: string;\n yourAnswer: string;\n yourAnswerLabel: string;\n addPoints: string;\n addVertices: string;\n tapMultiple: string;\n tapSingle: string;\n clickMultiple: string;\n clickSingle: string;\n choices: string;\n answers: ({num}: {num: number}) => string;\n hideAnswersToggleLabel: string;\n moves: ({num}: {num: number}) => string;\n clickTiles: string;\n turnOffLights: string;\n fillAllCells: string;\n molecularDrawing: ({content}: {content: string}) => string;\n switchDirection: string;\n circleOpen: string;\n circleFilled: string;\n numDivisions: string;\n divisions: ({divRangeString}: {divRangeString: string}) => string;\n lineRange: ({lineRange}: {lineRange: string}) => string;\n lineNumber: ({lineNumber}: {lineNumber: string}) => string;\n symbolPassage: ({\n questionSymbol,\n questionNumber,\n }: {\n questionSymbol: string;\n questionNumber: string;\n }) => string;\n symbolQuestion: ({sentenceSymbol}: {sentenceSymbol: string}) => string;\n lineLabel: string;\n beginningPassage: string;\n beginningFootnotes: string;\n endPassage: string;\n questionMarker: ({number}: {number: string}) => string;\n circleMarker: ({number}: {number: string}) => string;\n sentenceMarker: ({number}: {number: string}) => string;\n dragHandles: string;\n tapAddPoints: string;\n false: string;\n true: string;\n no: string;\n yes: string;\n chooseCorrectNum: string;\n notNoneOfTheAbove: string;\n noneOfTheAbove: string;\n chooseNumAnswers: ({numCorrect}: {numCorrect: string}) => string;\n chooseAllAnswers: string;\n chooseOneAnswer: string;\n choiceCheckedCorrect: ({letter}: {letter: string}) => string;\n choiceCrossedOutCorrect: ({letter}: {letter: string}) => string;\n choiceCorrect: ({letter}: {letter: string}) => string;\n choiceCheckedIncorrect: ({letter}: {letter: string}) => string;\n choiceCrossedOutIncorrect: ({letter}: {letter: string}) => string;\n choiceIncorrect: ({letter}: {letter: string}) => string;\n choiceChecked: ({letter}: {letter: string}) => string;\n choiceCrossedOut: ({letter}: {letter: string}) => string;\n choice: ({letter}: {letter: string}) => string;\n crossOut: string;\n crossOutOption: string;\n crossOutChoice: ({letter}: {letter: string}) => string;\n bringBack: string;\n openMenuForChoice: ({letter}: {letter: string}) => string;\n letters: string;\n rightArrow: string;\n dontUnderstandUnits: string;\n checkSigFigs: string;\n answerNumericallyIncorrect: string;\n checkUnits: string;\n dontUnderstand: string;\n loading: string;\n videoTranscript: string;\n somethingWrong: string;\n videoWrapper: string;\n mathInputTitle: string;\n mathInputDescription: string;\n sin: string;\n cos: string;\n tan: string;\n simulationLoadFail: string;\n simulationLocaleWarning: string;\n selectAnAnswer: string;\n // The following strings are used for interactive graph SR descriptions.\n addPoint: string;\n removePoint: string;\n graphKeyboardPrompt: string;\n closePolygon: string;\n openPolygon: string;\n srPointAtCoordinates: ({\n num,\n x,\n y,\n }: {\n num: number;\n x: string;\n y: string;\n }) => string;\n srInteractiveElements: ({elements}: {elements: string}) => string;\n srNoInteractiveElements: string;\n srCircleGraph: string;\n srCircleShape: ({\n centerX,\n centerY,\n }: {\n centerX: string;\n centerY: string;\n }) => string;\n srCircleRadiusPoint: ({\n radiusPointX,\n radiusPointY,\n }: {\n radiusPointX: string;\n radiusPointY: string;\n }) => string;\n srCircleRadius: ({radius}: {radius: number}) => string;\n srCircleOuterPoints: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n point3X,\n point3Y,\n point4X,\n point4Y,\n }: {\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n point3X: string;\n point3Y: string;\n point4X: string;\n point4Y: string;\n }) => string;\n srLinearGraph: string;\n srLinearGraphPoints: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n }: {\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n }) => string;\n srLinearGraphSlopeIncreasing: string;\n srLinearGraphSlopeDecreasing: string;\n srLinearGraphSlopeHorizontal: string;\n srLinearGraphSlopeVertical: string;\n srLinearGraphXOnlyIntercept: ({xIntercept}: {xIntercept: string}) => string;\n srLinearGraphYOnlyIntercept: ({yIntercept}: {yIntercept: string}) => string;\n srLinearGraphBothIntercepts: ({\n xIntercept,\n yIntercept,\n }: {\n xIntercept: string;\n yIntercept: string;\n }) => string;\n srLinearGraphOriginIntercept: string;\n srLinearGrabHandle: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n }: {\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n }) => string;\n srAngleSideAtCoordinates: ({\n point,\n side,\n x,\n y,\n }: {\n point: number;\n side: string;\n x: string;\n y: string;\n }) => string;\n srAngleVertexAtCoordinatesWithAngleMeasure: ({\n x,\n y,\n angleMeasure,\n }: {\n x: string;\n y: string;\n angleMeasure: string;\n }) => string;\n srAngleGraphAriaLabel: string;\n srAngleGraphAriaDescription: ({\n angleMeasure,\n vertexX,\n vertexY,\n startingSideX,\n startingSideY,\n endingSideX,\n endingSideY,\n }: {\n angleMeasure: string;\n vertexX: string;\n vertexY: string;\n startingSideX: string;\n startingSideY: string;\n endingSideX: string;\n endingSideY: string;\n }) => string;\n srSingleSegmentGraphAriaLabel: string;\n srMultipleSegmentGraphAriaLabel: ({\n countOfSegments,\n }: {\n countOfSegments: number;\n }) => string;\n srMultipleSegmentIndividualLabel: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n indexOfSegment,\n }: {\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n indexOfSegment: number;\n }) => string;\n srSingleSegmentLabel: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n }: {\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n }) => string;\n srSegmentLength: ({length}: {length: string}) => string;\n srSingleSegmentGraphEndpointAriaLabel: ({\n endpointNumber,\n x,\n y,\n }: {\n endpointNumber: number;\n x: string;\n y: string;\n }) => string;\n srMultipleSegmentGraphEndpointAriaLabel: ({\n endpointNumber,\n x,\n y,\n indexOfSegment,\n }: {\n endpointNumber: number;\n x: string;\n y: string;\n indexOfSegment: number;\n }) => string;\n srSegmentGrabHandle: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n }: {\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n }) => string;\n srLinearSystemGraph: string;\n srLinearSystemPoints: ({\n lineNumber,\n point1X,\n point1Y,\n point2X,\n point2Y,\n }: {\n lineNumber: number;\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n }) => string;\n srLinearSystemPoint({\n lineNumber,\n pointSequence,\n x,\n y,\n }: {\n lineNumber: number;\n pointSequence: number;\n x: string;\n y: string;\n }): string;\n srRayGraph: string;\n srRayPoints: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n }: {\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n }) => string;\n srRayEndpoint: ({x, y}: {x: string; y: string}) => string;\n srRayTerminalPoint: ({x, y}: {x: string; y: string}) => string;\n srRayGrabHandle: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n }: {\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n }) => string;\n srQuadraticGraph: string;\n srQuadraticFaceUp: string;\n srQuadraticFaceDown: string;\n srQuadraticGraphVertexOrigin: string;\n srQuadraticGraphVertexXAxis: string;\n srQuadraticGraphVertexYAxis: string;\n srQuadraticGraphVertexQuadrant: ({quadrant}: {quadrant: number}) => string;\n srQuadraticTwoXIntercepts: ({\n intercept1,\n intercept2,\n }: {\n intercept1: string;\n intercept2: string;\n }) => string;\n srQuadraticOneXIntercept: ({intercept}: {intercept: string}) => string;\n srQuadraticYIntercept: ({intercept}: {intercept: string}) => string;\n srQuadraticPointOrigin: ({pointNumber}: {pointNumber: number}) => string;\n srQuadraticPointAxis: ({\n pointNumber,\n x,\n y,\n }: {\n pointNumber: number;\n x: string;\n y: string;\n }) => string;\n srQuadraticPointQuadrant: ({\n pointNumber,\n x,\n y,\n quadrant,\n }: {\n pointNumber: number;\n x: string;\n y: string;\n quadrant: number;\n }) => string;\n srQuadraticInteractiveElements: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n point3X,\n point3Y,\n }: {\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n point3X: string;\n point3Y: string;\n }) => string;\n // The above strings are used for interactive graph SR descriptions.\n};\n\n/**\n * Untranslated strings used in Perseus. To be used by an external\n * translator to produce translated strings, passed in as `PerseusStrings`.\n * !! Note: Ensure that all escape sequences are double-escaped. (e.g. `\\\\text` -> `\\\\\\\\text`)\n */\nexport const strings = {\n closeKeypad: \"close math keypad\",\n openKeypad: \"open math keypad\",\n mathInputBox: \"Math input box\",\n removeHighlight: \"Remove highlight\",\n addHighlight: \"Add highlight\",\n hintPos: \"Hint #%(pos)s\",\n errorRendering: \"Error rendering: %(error)s\",\n APPROXIMATED_PI_ERROR:\n \"Your answer is close, but you may \" +\n \"have approximated pi. Enter your \" +\n \"answer as a multiple of pi, like \" +\n \"12 pi or \" +\n \"2/3 pi\",\n EXTRA_SYMBOLS_ERROR:\n \"We could not understand your \" +\n \"answer. Please check your answer for extra \" +\n \"text or symbols.\",\n NEEDS_TO_BE_SIMPLFIED_ERROR:\n \"Your answer is almost correct, \" + \"but it needs to be simplified.\",\n MISSING_PERCENT_ERROR:\n \"Your answer is almost correct, \" +\n \"but it is missing a \" +\n \"<code>\\\\\\\\%</code> at the end.\",\n MULTIPLICATION_SIGN_ERROR:\n \"I'm a computer. I only understand \" +\n \"multiplication if you use an asterisk \" +\n \"(*) as the multiplication sign.\",\n WRONG_CASE_ERROR:\n \"Your answer includes use of a variable with the wrong case.\",\n WRONG_LETTER_ERROR: \"Your answer includes a wrong variable letter.\",\n invalidSelection: \"Make sure you select something for every row.\",\n ERROR_TITLE: \"Oops!\",\n ERROR_MESSAGE: \"Sorry, I don't understand that!\",\n hints: \"Hints\",\n getAnotherHint: \"Get another hint\",\n deprecatedStandin:\n \"Sorry, this part of the question is no longer available. 😅 Don't worry, you won't be graded on this part. Keep going!\",\n keepTrying: \"Keep trying\",\n tryAgain: \"Try again\",\n check: \"Check\",\n correctExcited: \"Correct!\",\n nextQuestion: \"Next question\",\n skipToTitle: \"Skip to %(title)s\",\n current: \"Current\",\n correct: \"Correct\",\n correctSelected: \"Correct (selected)\",\n correctCrossedOut: \"Correct (but you crossed it out)\",\n incorrect: \"Incorrect\",\n incorrectSelected: \"Incorrect (selected)\",\n hideExplanation: \"Hide explanation\",\n explain: \"Explain\",\n INVALID_MESSAGE_PREFIX: \"We couldn't grade your answer.\",\n DEFAULT_INVALID_MESSAGE_1: \"It looks like you left something blank or \",\n DEFAULT_INVALID_MESSAGE_2: \"entered in an invalid answer.\",\n integerExample: \"an integer, like $6$\",\n properExample: \"a *proper* fraction, like $1/2$ or $6/10$\",\n simplifiedProperExample: \"a *simplified proper* fraction, like $3/5$\",\n improperExample: \"an *improper* fraction, like $10/7$ or $14/8$\",\n simplifiedImproperExample: \"a *simplified improper* fraction, like $7/4$\",\n mixedExample: \"a mixed number, like $1\\\\\\\\ 3/4$\",\n decimalExample: \"an *exact* decimal, like $0.75$\",\n percentExample: \"a percent, like $12.34\\\\\\\\%$\",\n piExample: \"a multiple of pi, like $12$ pi or $2/3$ pi\",\n yourAnswer: \"**Your answer should be** \",\n yourAnswerLabel: \"Your answer:\",\n addPoints: \"Click to add points\",\n addVertices: \"Click to add vertices\",\n tapMultiple: \"Tap each dot on the image to select all answers that apply.\",\n tapSingle: \"Tap each dot on the image to select an answer.\",\n clickMultiple:\n \"Click each dot on the image to select all answers that apply.\",\n clickSingle: \"Click each dot on the image to select an answer.\",\n choices: \"Choices:\",\n answers: {\n one: \"%(num)s answer\",\n other: \"%(num)s answers\",\n },\n hideAnswersToggleLabel: \"Hide answer choices\",\n moves: {\n one: \"Moves: %(num)s\",\n other: \"Moves: %(num)s\",\n },\n clickTiles: \"Click on the tiles to change the lights.\",\n turnOffLights: \"You must turn on all of the lights to continue.\",\n fillAllCells: \"Make sure you fill in all cells in the matrix.\",\n molecularDrawing:\n \"A molecular structure drawing. SMILES notation: %(content)s\",\n switchDirection: \"Switch direction\",\n circleOpen: \"Make circle open\",\n circleFilled: \"Make circle filled\",\n numDivisions: \"Number of divisions:\",\n divisions:\n \"Please make sure the number of divisions is in the range %(divRangeString)s.\",\n lineRange: \"lines %(lineRange)s\",\n lineNumber: \"line %(lineNumber)s\",\n symbolPassage:\n \"The symbol %(questionSymbol)s indicates that question %(questionNumber)s references this portion of the passage.\",\n symbolQuestion:\n \" The symbol %(sentenceSymbol)s indicates that the following sentence is referenced in a question.\",\n lineLabel: {\n context: \"a label next to a reading passage to denote the line number\",\n message: \"Line\",\n },\n beginningPassage: \"Beginning of reading passage.\",\n beginningFootnotes: \"Beginning of reading passage footnotes.\",\n endPassage: \"End of reading passage.\",\n questionMarker: \"[Marker for question %(number)s]\",\n circleMarker: \"[Circle marker %(number)s]\",\n sentenceMarker: \"[Sentence %(number)s]\",\n dragHandles: \"Drag handles to make graph\",\n tapAddPoints: \"Tap to add points\",\n false: \"False\",\n true: \"True\",\n no: \"No\",\n yes: \"Yes\",\n chooseCorrectNum: \"Please choose the correct number of answers.\",\n notNoneOfTheAbove:\n \"'None of the above' may not be selected when other answers are selected.\",\n noneOfTheAbove: \"None of the above\",\n chooseNumAnswers: \"Choose %(numCorrect)s answers:\",\n chooseAllAnswers: \"Choose all answers that apply:\",\n chooseOneAnswer: \"Choose 1 answer:\",\n choiceCheckedCorrect: \"(Choice %(letter)s, Checked, Correct)\",\n choiceCrossedOutCorrect: \"(Choice %(letter)s, Crossed out, Correct)\",\n choiceCorrect: \"(Choice %(letter)s, Correct)\",\n choiceCheckedIncorrect: \"(Choice %(letter)s, Checked, Incorrect)\",\n choiceCrossedOutIncorrect: \"(Choice %(letter)s, Crossed out, Incorrect)\",\n choiceIncorrect: \"(Choice %(letter)s, Incorrect)\",\n choiceChecked: \"(Choice %(letter)s, Checked)\",\n choiceCrossedOut: \"(Choice %(letter)s, Crossed out)\",\n choice: \"(Choice %(letter)s)\",\n crossOut: \"Cross out\",\n crossOutOption: \"Cross out option\",\n crossOutChoice: \"Cross out Choice %(letter)s\",\n bringBack: \"Bring back\",\n openMenuForChoice: \"Open menu for Choice %(letter)s\",\n letters: {\n context:\n \"This is a list of single-character labels that will appear in front of multiple-choice options. For instance, a multiple-choice question with three options would display (A) first option (B) second option (C) third option. There must be spaces between each of the different characters. The characters will show up next to options in the order that they are listed here. Most multiple choice questions have 5 or fewer options.\",\n message: \"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\",\n },\n rightArrow: \"Reaction arrow pointing to the right.\",\n dontUnderstandUnits: \"I couldn't understand those units.\",\n checkSigFigs: \"Check your significant figures.\",\n answerNumericallyIncorrect: \"That answer is numerically incorrect.\",\n checkUnits: \"Check your units.\",\n dontUnderstand: \"I don't understand that\",\n loading: \"Loading...\",\n videoTranscript: \"See video transcript\",\n somethingWrong: \"Something went wrong.\",\n videoWrapper: \"Khan Academy video wrapper\",\n mathInputTitle: \"mathematics keyboard\",\n mathInputDescription:\n \"Use keyboard/mouse to interact with math-based input fields\",\n sin: \"sin\",\n cos: \"cos\",\n tan: \"tan\",\n simulationLoadFail: \"Sorry, this simulation cannot load.\",\n simulationLocaleWarning:\n \"Sorry, this simulation isn't available in your language.\",\n selectAnAnswer: \"Select an answer\",\n\n // The following strings are used for interactive graph SR descriptions.\n addPoint: \"Add Point\",\n removePoint: \"Remove Point\",\n graphKeyboardPrompt: \"Press Shift + Enter to interact with the graph\",\n closePolygon: \"Close shape\",\n openPolygon: \"Re-open shape\",\n srInteractiveElements: \"Interactive elements: %(elements)s\",\n srNoInteractiveElements: \"No interactive elements\",\n // TODO(LEMS-2660): The following strings are ones that will need\n // translation tickets after all interactive graph SR strings have\n // been finalized. Remove this comment after the tickets have been\n // created.\n srPointAtCoordinates: \"Point %(num)s at %(x)s comma %(y)s\",\n srCircleGraph: \"A circle on a coordinate plane.\",\n srCircleShape:\n \"Circle. The center point is at %(centerX)s comma %(centerY)s.\",\n srCircleRadiusPoint:\n \"Radius point at %(radiusPointX)s comma %(radiusPointY)s.\",\n srCircleRadius: \"Circle radius is %(radius)s.\",\n srCircleOuterPoints:\n \"Points on the circle at %(point1X)s comma %(point1Y)s, %(point2X)s comma %(point2Y)s, %(point3X)s comma %(point3Y)s, %(point4X)s comma %(point4Y)s.\",\n srLinearGraph: \"A line on a coordinate plane.\",\n srLinearGraphPoints:\n \"The line has two points, point 1 at %(point1X)s comma %(point1Y)s and point 2 at %(point2X)s comma %(point2Y)s.\",\n srLinearGraphSlopeIncreasing: \"Its slope increases from left to right.\",\n srLinearGraphSlopeDecreasing: \"Its slope decreases from left to right.\",\n srLinearGraphSlopeHorizontal: \"Its slope is zero.\",\n srLinearGraphSlopeVertical: \"Its slope is undefined.\",\n srLinearGraphXOnlyIntercept:\n \"The line crosses the X-axis at %(xIntercept)s comma 0.\",\n srLinearGraphYOnlyIntercept:\n \"The line crosses the Y-axis at 0 comma %(yIntercept)s.\",\n srLinearGraphBothIntercepts:\n \"The line crosses the X-axis at %(xIntercept)s comma 0 and the Y-axis at 0 comma %(yIntercept)s.\",\n srLinearGraphOriginIntercept:\n \"The line crosses the x and y axes at the graph's origin.\",\n srLinearGrabHandle:\n \"Line from %(point1X)s comma %(point1Y)s to %(point2X)s comma %(point2Y)s.\",\n srAngleSideAtCoordinates: \"Point %(point)s, %(side)s at %(x)s comma %(y)s\",\n srAngleVertexAtCoordinatesWithAngleMeasure:\n \"Point 2, vertex at %(x)s comma %(y)s. Angle %(angleMeasure)s degrees\",\n srAngleGraphAriaLabel: \"An angle on a coordinate plane.\",\n srAngleGraphAriaDescription:\n \"The angle measure is %(angleMeasure)s degrees with a vertex at %(vertexX)s comma %(vertexY)s, a point on the starting side at %(startingSideX)s comma %(startingSideY)s and a point on the ending side at %(endingSideX)s comma %(endingSideY)s\",\n srSingleSegmentGraphAriaLabel: \"A line segment on a coordinate plane.\",\n srMultipleSegmentGraphAriaLabel:\n \"%(countOfSegments)s line segments on a coordinate plane.\",\n srMultipleSegmentIndividualLabel:\n \"Segment %(indexOfSegment)s: Endpoint 1 at %(point1X)s comma %(point1Y)s. Endpoint 2 %(point2X)s comma %(point2Y)s.\",\n srSingleSegmentLabel:\n \"Endpoint 1 at %(point1X)s comma %(point1Y)s. Endpoint 2 %(point2X)s comma %(point2Y)s.\",\n srSegmentLength: \"Segment length %(length)s units.\",\n srSingleSegmentGraphEndpointAriaLabel:\n \"Endpoint %(endpointNumber)s at %(x)s comma %(y)s.\",\n srMultipleSegmentGraphEndpointAriaLabel:\n \"Endpoint %(endpointNumber)s on segment %(indexOfSegment)s at %(x)s comma %(y)s.\",\n srSegmentGrabHandle:\n \"Segment from %(point1X)s comma %(point1Y)s to %(point2X)s comma %(point2Y)s.\",\n srLinearSystemGraph: \"Two lines on a coordinate plane.\",\n srLinearSystemPoints:\n \"Line %(lineNumber)s has two points, point 1 at %(point1X)s comma %(point1Y)s and point 2 at %(point2X)s comma %(point2Y)s.\",\n srLinearSystemPoint:\n \"Point %(pointSequence)s on line %(lineNumber)s at %(x)s comma %(y)s.\",\n srRayGraph: \"A ray on a coordinate plane.\",\n srRayPoints:\n \"The endpoint is at %(point1X)s comma %(point1Y)s and the ray goes through point %(point2X)s comma %(point2Y)s.\",\n srRayGrabHandle:\n \"Ray with endpoint %(point1X)s comma %(point1Y)s going through point %(point2X)s comma %(point2Y)s.\",\n srRayEndpoint: \"Endpoint at %(x)s comma %(y)s.\",\n srRayTerminalPoint: \"Through point at %(x)s comma %(y)s.\",\n srQuadraticGraph: \"A parabola on a 4-quadrant coordinate plane.\",\n srQuadraticFaceUp: \"The parabola opens upward.\",\n srQuadraticFaceDown: \"The parabola opens downward.\",\n srQuadraticGraphVertexOrigin: \"Vertex is at the origin.\",\n srQuadraticGraphVertexXAxis: \"Vertex is on the X-axis.\",\n srQuadraticGraphVertexYAxis: \"Vertex is on the Y-axis.\",\n srQuadraticGraphVertexQuadrant: \"Vertex is in quadrant %(quadrant)s.\",\n srQuadraticTwoXIntercepts:\n \"The X-intercepts are at %(intercept1)s comma 0 and %(intercept2)s comma 0.\",\n srQuadraticOneXIntercept: \"The X-intercept is at %(intercept)s comma 0.\",\n srQuadraticYIntercept: \"The Y-intercept is at 0 comma %(intercept)s.\",\n srQuadraticPointOrigin: \"Point %(pointNumber)s on parabola at the origin.\",\n srQuadraticPointAxis:\n \"Point %(pointNumber)s on parabola at %(x)s comma %(y)s.\",\n srQuadraticPointQuadrant:\n \"Point %(pointNumber)s on parabola in quadrant %(quadrant)s at %(x)s comma %(y)s.\",\n srQuadraticInteractiveElements:\n \"Parabola with points at %(point1X)s comma %(point1Y)s, %(point2X)s comma %(point2Y)s, and %(point3X)s comma %(point3Y)s.\",\n // The above strings are used for interactive graph SR descriptions.\n} satisfies {\n [key in keyof PerseusStrings]:\n | string\n | {context?: string; message: string}\n | {context?: string; one: string; other: string};\n};\n\n/**\n * Mock strings for the Perseus package, to be used for tests and Storybook.\n */\nexport const mockStrings: PerseusStrings = {\n closeKeypad: \"close math keypad\",\n openKeypad: \"open math keypad\",\n mathInputBox: \"Math input box\",\n removeHighlight: \"Remove highlight\",\n addHighlight: \"Add highlight\",\n hintPos: ({pos}) => `Hint #${pos}`,\n errorRendering: ({error}) => `Error rendering: ${error}`,\n APPROXIMATED_PI_ERROR:\n \"Your answer is close, but you may \" +\n \"have approximated pi. Enter your \" +\n \"answer as a multiple of pi, like \" +\n \"<code>12\\\\ \\\\text{pi}</code> or \" +\n \"<code>2/3\\\\ \\\\text{pi}</code>\",\n EXTRA_SYMBOLS_ERROR:\n \"We could not understand your \" +\n \"answer. Please check your answer for extra \" +\n \"text or symbols.\",\n NEEDS_TO_BE_SIMPLFIED_ERROR:\n \"Your answer is almost correct, \" + \"but it needs to be simplified.\",\n MISSING_PERCENT_ERROR:\n \"Your answer is almost correct, \" +\n \"but it is missing a \" +\n \"<code>\\\\%</code> at the end.\",\n MULTIPLICATION_SIGN_ERROR:\n \"I'm a computer. I only understand \" +\n \"multiplication if you use an asterisk \" +\n \"(*) as the multiplication sign.\",\n WRONG_CASE_ERROR:\n \"Your answer includes use of a variable with the wrong case.\",\n WRONG_LETTER_ERROR: \"Your answer includes a wrong variable letter.\",\n invalidSelection: \"Make sure you select something for every row.\",\n ERROR_TITLE: \"Oops!\",\n ERROR_MESSAGE: \"Sorry, I don't understand that!\",\n hints: \"Hints\",\n getAnotherHint: \"Get another hint\",\n deprecatedStandin:\n \"Sorry, this part of the question is no longer available. 😅 Don't worry, you won't be graded on this part. Keep going!\",\n keepTrying: \"Keep trying\",\n tryAgain: \"Try again\",\n check: \"Check\",\n correctExcited: \"Correct!\",\n nextQuestion: \"Next question\",\n skipToTitle: ({title}) => `Skip to ${title}`,\n current: \"Current\",\n correct: \"Correct\",\n correctSelected: \"Correct (selected)\",\n correctCrossedOut: \"Correct (but you crossed it out)\",\n incorrect: \"Incorrect\",\n incorrectSelected: \"Incorrect (selected)\",\n hideExplanation: \"Hide explanation\",\n explain: \"Explain\",\n INVALID_MESSAGE_PREFIX: \"We couldn't grade your answer.\",\n DEFAULT_INVALID_MESSAGE_1: \"It looks like you left something blank or \",\n DEFAULT_INVALID_MESSAGE_2: \"entered in an invalid answer.\",\n integerExample: \"an integer, like $6$\",\n properExample: \"a *proper* fraction, like $1/2$ or $6/10$\",\n simplifiedProperExample: \"a *simplified proper* fraction, like $3/5$\",\n improperExample: \"an *improper* fraction, like $10/7$ or $14/8$\",\n simplifiedImproperExample: \"a *simplified improper* fraction, like $7/4$\",\n mixedExample: \"a mixed number, like $1\\\\ 3/4$\",\n decimalExample: \"an *exact* decimal, like $0.75$\",\n percentExample: \"a percent, like $12.34\\\\%$\",\n piExample: \"a multiple of pi, like $12\\\\ \\\\text{pi}$ or $2/3\\\\ \\\\text{pi}$\",\n yourAnswer: \"**Your answer should be** \",\n yourAnswerLabel: \"Your answer:\",\n addPoints: \"Click to add points\",\n addVertices: \"Click to add vertices\",\n tapMultiple: \"Tap each dot on the image to select all answers that apply.\",\n tapSingle: \"Tap each dot on the image to select an answer.\",\n clickMultiple:\n \"Click each dot on the image to select all answers that apply.\",\n clickSingle: \"Click each dot on the image to select an answer.\",\n choices: \"Choices:\",\n answers: ({num}) => (num === 1 ? `${num} answer` : `${num} answers`),\n hideAnswersToggleLabel: \"Hide answer choices\",\n moves: ({num}) => (num === 1 ? `Moves: ${num}` : `Moves: ${num}`),\n clickTiles: \"Click on the tiles to change the lights.\",\n turnOffLights: \"You must turn on all of the lights to continue.\",\n fillAllCells: \"Make sure you fill in all cells in the matrix.\",\n molecularDrawing: ({content}) =>\n `A molecular structure drawing. SMILES notation: ${content}`,\n switchDirection: \"Switch direction\",\n circleOpen: \"Make circle open\",\n circleFilled: \"Make circle filled\",\n numDivisions: \"Number of divisions:\",\n divisions: ({divRangeString}) =>\n `Please make sure the number of divisions is in the range ${divRangeString}.`,\n lineRange: ({lineRange}: {lineRange: string}) => `lines ${lineRange}`,\n lineNumber: ({lineNumber}: {lineNumber: string}) => `line ${lineNumber}`,\n symbolPassage: ({questionSymbol, questionNumber}) =>\n `The symbol ${questionSymbol} indicates that question ${questionNumber} references this portion of the passage.`,\n symbolQuestion: ({sentenceSymbol}) =>\n ` The symbol ${sentenceSymbol} indicates that the following sentence is referenced in a question.`,\n lineLabel: \"Line\",\n beginningPassage: \"Beginning of reading passage.\",\n beginningFootnotes: \"Beginning of reading passage footnotes.\",\n endPassage: \"End of reading passage.\",\n questionMarker: ({number}) => `[Marker for question ${number}]`,\n circleMarker: ({number}) => `[Circle marker ${number}]`,\n sentenceMarker: ({number}) => `[Sentence ${number}]`,\n dragHandles: \"Drag handles to make graph\",\n tapAddPoints: \"Tap to add points\",\n false: \"False\",\n true: \"True\",\n no: \"No\",\n yes: \"Yes\",\n chooseCorrectNum: \"Please choose the correct number of answers.\",\n notNoneOfTheAbove:\n \"'None of the above' may not be selected when other answers are selected.\",\n noneOfTheAbove: \"None of the above\",\n chooseNumAnswers: ({numCorrect}) => `Choose ${numCorrect} answers:`,\n chooseAllAnswers: \"Choose all answers that apply:\",\n chooseOneAnswer: \"Choose 1 answer:\",\n choiceCheckedCorrect: ({letter}) => `(Choice ${letter}, Checked, Correct)`,\n choiceCrossedOutCorrect: ({letter}) =>\n `(Choice ${letter}, Crossed out, Correct)`,\n choiceCorrect: ({letter}) => `(Choice ${letter}, Correct)`,\n choiceCheckedIncorrect: ({letter}) =>\n `(Choice ${letter}, Checked, Incorrect)`,\n choiceCrossedOutIncorrect: ({letter}) =>\n `(Choice ${letter}, Crossed out, Incorrect)`,\n choiceIncorrect: ({letter}) => `(Choice ${letter}, Incorrect)`,\n choiceChecked: ({letter}) => `(Choice ${letter}, Checked)`,\n choiceCrossedOut: ({letter}) => `(Choice ${letter}, Crossed out)`,\n choice: ({letter}) => `(Choice ${letter})`,\n crossOut: \"Cross out\",\n crossOutOption: \"Cross out option\",\n crossOutChoice: ({letter}) => `Cross out Choice ${letter}`,\n bringBack: \"Bring back\",\n openMenuForChoice: ({letter}) => `Open menu for Choice ${letter}`,\n letters: \"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\",\n rightArrow: \"Reaction arrow pointing to the right.\",\n dontUnderstandUnits: \"I couldn't understand those units.\",\n checkSigFigs: \"Check your significant figures.\",\n answerNumericallyIncorrect: \"That answer is numerically incorrect.\",\n checkUnits: \"Check your units.\",\n dontUnderstand: \"I don't understand that\",\n loading: \"Loading...\",\n videoTranscript: \"See video transcript\",\n somethingWrong: \"Something went wrong.\",\n videoWrapper: \"Khan Academy video wrapper\",\n mathInputTitle: \"mathematics keyboard\",\n mathInputDescription:\n \"Use keyboard/mouse to interact with math-based input fields\",\n sin: \"sin\",\n cos: \"cos\",\n tan: \"tan\",\n simulationLoadFail: \"Sorry, this simulation cannot load.\",\n simulationLocaleWarning:\n \"Sorry, this simulation isn't available in your language.\",\n selectAnAnswer: \"Select an answer\",\n\n // The following strings are used for interactive graph SR descriptions.\n graphKeyboardPrompt: \"Press Shift + Enter to interact with the graph\",\n addPoint: \"Add Point\",\n removePoint: \"Remove Point\",\n closePolygon: \"Close shape\",\n openPolygon: \"Re-open shape\",\n srPointAtCoordinates: ({num, x, y}) => `Point ${num} at ${x} comma ${y}`,\n srInteractiveElements: ({elements}) => `Interactive elements: ${elements}`,\n srNoInteractiveElements: \"No interactive elements\",\n srCircleGraph: \"A circle on a coordinate plane.\",\n srCircleShape: ({centerX, centerY}) =>\n `Circle. The center point is at ${centerX} comma ${centerY}.`,\n srCircleRadiusPoint: ({radiusPointX, radiusPointY}) =>\n `Radius point at ${radiusPointX} comma ${radiusPointY}.`,\n srCircleRadius: ({radius}) => `Circle radius is ${radius}.`,\n srCircleOuterPoints: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n point3X,\n point3Y,\n point4X,\n point4Y,\n }) =>\n `Points on the circle at ${point1X} comma ${point1Y}, ${point2X} comma ${point2Y}, ${point3X} comma ${point3Y}, ${point4X} comma ${point4Y}.`,\n srLinearGraph: \"A line on a coordinate plane.\",\n srLinearGraphPoints: ({point1X, point1Y, point2X, point2Y}) =>\n `The line has two points, point 1 at ${point1X} comma ${point1Y} and point 2 at ${point2X} comma ${point2Y}.`,\n srLinearGraphSlopeIncreasing: \"Its slope increases from left to right.\",\n srLinearGraphSlopeDecreasing: \"Its slope decreases from left to right.\",\n srLinearGraphSlopeHorizontal: \"Its slope is zero.\",\n srLinearGraphSlopeVertical: \"Its slope is undefined.\",\n srLinearGraphXOnlyIntercept: ({xIntercept}) =>\n `The line crosses the X-axis at ${xIntercept} comma 0.`,\n srLinearGraphYOnlyIntercept: ({yIntercept}) =>\n `The line crosses the Y-axis at 0 comma ${yIntercept}.`,\n srLinearGraphBothIntercepts: ({xIntercept, yIntercept}) =>\n `The line crosses the X-axis at ${xIntercept} comma 0 and the Y-axis at 0 comma ${yIntercept}.`,\n srLinearGraphOriginIntercept:\n \"The line crosses the x and y axes at the graph's origin.\",\n srLinearGrabHandle: ({point1X, point1Y, point2X, point2Y}) =>\n `Line from ${point1X} comma ${point1Y} to ${point2X} comma ${point2Y}.`,\n srAngleSideAtCoordinates: ({point, side, x, y}) =>\n `Point ${point}, ${side} at ${x} comma ${y}`,\n srAngleVertexAtCoordinatesWithAngleMeasure: ({x, y, angleMeasure}) =>\n `Point 2, vertex at ${x} comma ${y}. Angle ${angleMeasure} degrees`,\n srAngleGraphAriaLabel: \"An angle on a coordinate plane.\",\n srAngleGraphAriaDescription: ({\n angleMeasure,\n vertexX,\n vertexY,\n startingSideX,\n startingSideY,\n endingSideX,\n endingSideY,\n }) =>\n `The angle measure is ${angleMeasure} degrees with a vertex at ${vertexX} comma ${vertexY}, a point on the starting side at ${startingSideX} comma ${startingSideY} and a point on the ending side at ${endingSideX} comma ${endingSideY}.`,\n srSingleSegmentGraphAriaLabel: \"A line segment on a coordinate plane.\",\n srMultipleSegmentGraphAriaLabel: ({countOfSegments}) =>\n `${countOfSegments} segments on a coordinate plane.`,\n srMultipleSegmentIndividualLabel: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n indexOfSegment,\n }) =>\n `Segment ${indexOfSegment}: Endpoint 1 at ${point1X} comma ${point1Y}. Endpoint 2 at ${point2X} comma ${point2Y}.`,\n srSingleSegmentLabel: ({point1X, point1Y, point2X, point2Y}) =>\n `Endpoint 1 at ${point1X} comma ${point1Y}. Endpoint 2 at ${point2X} comma ${point2Y}.`,\n srSegmentLength: ({length}) => `Segment length ${length} units.`,\n srSingleSegmentGraphEndpointAriaLabel: ({endpointNumber, x, y}) =>\n `Endpoint ${endpointNumber} at ${x} comma ${y}.`,\n srMultipleSegmentGraphEndpointAriaLabel: ({\n endpointNumber,\n x,\n y,\n indexOfSegment,\n }) =>\n `Endpoint ${endpointNumber} on segment ${indexOfSegment} at ${x} comma ${y}.`,\n srSegmentGrabHandle: ({point1X, point1Y, point2X, point2Y}) =>\n `Segment from ${point1X} comma ${point1Y} to ${point2X} comma ${point2Y}.`,\n srLinearSystemGraph: \"Two lines on a coordinate plane.\",\n srLinearSystemPoints: ({lineNumber, point1X, point1Y, point2X, point2Y}) =>\n `Line ${lineNumber} has two points, point 1 at ${point1X} comma ${point1Y} and point 2 at ${point2X} comma ${point2Y}.`,\n srLinearSystemPoint: ({lineNumber, pointSequence, x, y}) =>\n `Point ${pointSequence} on line ${lineNumber} at ${x} comma ${y}.`,\n srRayGraph: \"A ray on a coordinate plane.\",\n srRayPoints: ({point1X, point1Y, point2X, point2Y}) =>\n `The endpoint is at ${point1X} comma ${point1Y} and the ray goes through point ${point2X} comma ${point2Y}.`,\n srRayGrabHandle: ({point1X, point1Y, point2X, point2Y}) =>\n `Ray with endpoint ${point1X} comma ${point1Y} going through point ${point2X} comma ${point2Y}.`,\n srRayEndpoint: ({x, y}) => `Endpoint at ${x} comma ${y}.`,\n srRayTerminalPoint: ({x, y}) => `Through point at ${x} comma ${y}.`,\n srQuadraticGraph: \"A parabola on a 4-quadrant coordinate plane.\",\n srQuadraticFaceUp: \"The parabola opens upward.\",\n srQuadraticFaceDown: \"The parabola opens downward.\",\n srQuadraticGraphVertexOrigin: \"Vertex is at the origin.\",\n srQuadraticGraphVertexXAxis: \"Vertex is on the X-axis.\",\n srQuadraticGraphVertexYAxis: \"Vertex is on the Y-axis.\",\n srQuadraticGraphVertexQuadrant: ({quadrant}) =>\n `Vertex is in quadrant ${quadrant}.`,\n srQuadraticTwoXIntercepts: ({intercept1, intercept2}) =>\n `The X-intercepts are at ${intercept1} comma 0 and ${intercept2} comma 0.`,\n srQuadraticOneXIntercept: ({intercept}) =>\n `The X-intercept is at ${intercept} comma 0.`,\n srQuadraticYIntercept: ({intercept}) =>\n `The Y-intercept is at 0 comma ${intercept}.`,\n srQuadraticPointOrigin: ({pointNumber}) =>\n `Point ${pointNumber} on parabola at the origin.`,\n srQuadraticPointAxis: ({pointNumber, x, y}) =>\n `Point ${pointNumber} on parabola at ${x} comma ${y}.`,\n srQuadraticPointQuadrant: ({pointNumber, x, y, quadrant}) =>\n `Point ${pointNumber} on parabola in quadrant ${quadrant} at ${x} comma ${y}.`,\n srQuadraticInteractiveElements: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n point3X,\n point3Y,\n }) =>\n `Parabola with points at ${point1X} comma ${point1Y}, ${point2X} comma ${point2Y}, and ${point3X} comma ${point3Y}.`,\n // The above strings are used for interactive graph SR descriptions.\n};\n\n// This type helps us make sure all error codes are mapped to strings\ntype ErrorStringMap = {\n [K in keyof typeof ErrorCodes]: string;\n};\n\nconst errorToString: ErrorStringMap = {\n MISSING_PERCENT_ERROR: strings.MISSING_PERCENT_ERROR,\n NEEDS_TO_BE_SIMPLIFIED_ERROR: strings.NEEDS_TO_BE_SIMPLFIED_ERROR,\n APPROXIMATED_PI_ERROR: strings.APPROXIMATED_PI_ERROR,\n EXTRA_SYMBOLS_ERROR: strings.EXTRA_SYMBOLS_ERROR,\n WRONG_CASE_ERROR: strings.WRONG_CASE_ERROR,\n WRONG_LETTER_ERROR: strings.WRONG_LETTER_ERROR,\n MULTIPLICATION_SIGN_ERROR: strings.MULTIPLICATION_SIGN_ERROR,\n INVALID_SELECTION_ERROR: strings.invalidSelection,\n CHOOSE_CORRECT_NUM_ERROR: strings.chooseCorrectNum,\n NOT_NONE_ABOVE_ERROR: strings.notNoneOfTheAbove,\n FILL_ALL_CELLS_ERROR: strings.fillAllCells,\n};\n\nexport function mapErrorToString(err: string | null | undefined) {\n if (!err) {\n return err;\n }\n return errorToString[err] || err;\n}\n"],"names":["strings","closeKeypad","openKeypad","mathInputBox","removeHighlight","addHighlight","hintPos","errorRendering","APPROXIMATED_PI_ERROR","EXTRA_SYMBOLS_ERROR","NEEDS_TO_BE_SIMPLFIED_ERROR","MISSING_PERCENT_ERROR","MULTIPLICATION_SIGN_ERROR","WRONG_CASE_ERROR","WRONG_LETTER_ERROR","invalidSelection","ERROR_TITLE","ERROR_MESSAGE","hints","getAnotherHint","deprecatedStandin","keepTrying","tryAgain","check","correctExcited","nextQuestion","skipToTitle","current","correct","correctSelected","correctCrossedOut","incorrect","incorrectSelected","hideExplanation","explain","INVALID_MESSAGE_PREFIX","DEFAULT_INVALID_MESSAGE_1","DEFAULT_INVALID_MESSAGE_2","integerExample","properExample","simplifiedProperExample","improperExample","simplifiedImproperExample","mixedExample","decimalExample","percentExample","piExample","yourAnswer","yourAnswerLabel","addPoints","addVertices","tapMultiple","tapSingle","clickMultiple","clickSingle","choices","answers","one","other","hideAnswersToggleLabel","moves","clickTiles","turnOffLights","fillAllCells","molecularDrawing","switchDirection","circleOpen","circleFilled","numDivisions","divisions","lineRange","lineNumber","symbolPassage","symbolQuestion","lineLabel","context","message","beginningPassage","beginningFootnotes","endPassage","questionMarker","circleMarker","sentenceMarker","dragHandles","tapAddPoints","false","true","no","yes","chooseCorrectNum","notNoneOfTheAbove","noneOfTheAbove","chooseNumAnswers","chooseAllAnswers","chooseOneAnswer","choiceCheckedCorrect","choiceCrossedOutCorrect","choiceCorrect","choiceCheckedIncorrect","choiceCrossedOutIncorrect","choiceIncorrect","choiceChecked","choiceCrossedOut","choice","crossOut","crossOutOption","crossOutChoice","bringBack","openMenuForChoice","letters","rightArrow","dontUnderstandUnits","checkSigFigs","answerNumericallyIncorrect","checkUnits","dontUnderstand","loading","videoTranscript","somethingWrong","videoWrapper","mathInputTitle","mathInputDescription","sin","cos","tan","simulationLoadFail","simulationLocaleWarning","selectAnAnswer","addPoint","removePoint","graphKeyboardPrompt","closePolygon","openPolygon","srInteractiveElements","srNoInteractiveElements","srPointAtCoordinates","srCircleGraph","srCircleShape","srCircleRadiusPoint","srCircleRadius","srCircleOuterPoints","srLinearGraph","srLinearGraphPoints","srLinearGraphSlopeIncreasing","srLinearGraphSlopeDecreasing","srLinearGraphSlopeHorizontal","srLinearGraphSlopeVertical","srLinearGraphXOnlyIntercept","srLinearGraphYOnlyIntercept","srLinearGraphBothIntercepts","srLinearGraphOriginIntercept","srLinearGrabHandle","srAngleSideAtCoordinates","srAngleVertexAtCoordinatesWithAngleMeasure","srAngleGraphAriaLabel","srAngleGraphAriaDescription","srSingleSegmentGraphAriaLabel","srMultipleSegmentGraphAriaLabel","srMultipleSegmentIndividualLabel","srSingleSegmentLabel","srSegmentLength","srSingleSegmentGraphEndpointAriaLabel","srMultipleSegmentGraphEndpointAriaLabel","srSegmentGrabHandle","srLinearSystemGraph","srLinearSystemPoints","srLinearSystemPoint","srRayGraph","srRayPoints","srRayGrabHandle","srRayEndpoint","srRayTerminalPoint","srQuadraticGraph","srQuadraticFaceUp","srQuadraticFaceDown","srQuadraticGraphVertexOrigin","srQuadraticGraphVertexXAxis","srQuadraticGraphVertexYAxis","srQuadraticGraphVertexQuadrant","srQuadraticTwoXIntercepts","srQuadraticOneXIntercept","srQuadraticYIntercept","srQuadraticPointOrigin","srQuadraticPointAxis","srQuadraticPointQuadrant","srQuadraticInteractiveElements","mockStrings","_ref","pos","_ref2","error","_ref3","title","_ref4","num","_ref5","_ref6","content","_ref7","divRangeString","_ref8","_ref9","_ref10","questionSymbol","questionNumber","_ref11","sentenceSymbol","_ref12","number","_ref13","_ref14","_ref15","numCorrect","_ref16","letter","_ref17","_ref18","_ref19","_ref20","_ref21","_ref22","_ref23","_ref24","_ref25","_ref26","_ref27","x","y","_ref28","elements","_ref29","centerX","centerY","_ref30","radiusPointX","radiusPointY","_ref31","radius","_ref32","point1X","point1Y","point2X","point2Y","point3X","point3Y","point4X","point4Y","_ref33","_ref34","xIntercept","_ref35","yIntercept","_ref36","_ref37","_ref38","point","side","_ref39","angleMeasure","_ref40","vertexX","vertexY","startingSideX","startingSideY","endingSideX","endingSideY","_ref41","countOfSegments","_ref42","indexOfSegment","_ref43","_ref44","length","_ref45","endpointNumber","_ref46","_ref47","_ref48","_ref49","pointSequence","_ref50","_ref51","_ref52","_ref53","_ref54","quadrant","_ref55","intercept1","intercept2","_ref56","intercept","_ref57","_ref58","pointNumber","_ref59","_ref60","_ref61","errorToString","NEEDS_TO_BE_SIMPLIFIED_ERROR","INVALID_SELECTION_ERROR","CHOOSE_CORRECT_NUM_ERROR","NOT_NONE_ABOVE_ERROR","FILL_ALL_CELLS_ERROR","mapErrorToString","err"],"mappings":";;;;AAEA;AACA;AACA;;AAyaA;AACA;AACA;AACA;AACA;AACO,MAAMA,OAAO,GAAG;AACnBC,EAAAA,WAAW,EAAE,mBAAmB;AAChCC,EAAAA,UAAU,EAAE,kBAAkB;AAC9BC,EAAAA,YAAY,EAAE,gBAAgB;AAC9BC,EAAAA,eAAe,EAAE,kBAAkB;AACnCC,EAAAA,YAAY,EAAE,eAAe;AAC7BC,EAAAA,OAAO,EAAE,eAAe;AACxBC,EAAAA,cAAc,EAAE,4BAA4B;EAC5CC,qBAAqB,EACjB,oCAAoC,GACpC,mCAAmC,GACnC,mCAAmC,GACnC,WAAW,GACX,QAAQ;AACZC,EAAAA,mBAAmB,EACf,+BAA+B,GAC/B,6CAA6C,GAC7C,kBAAkB;EACtBC,2BAA2B,EACvB,iCAAiC,GAAG,gCAAgC;AACxEC,EAAAA,qBAAqB,EACjB,iCAAiC,GACjC,sBAAsB,GACtB,gCAAgC;AACpCC,EAAAA,yBAAyB,EACrB,oCAAoC,GACpC,wCAAwC,GACxC,iCAAiC;AACrCC,EAAAA,gBAAgB,EACZ,6DAA6D;AACjEC,EAAAA,kBAAkB,EAAE,+CAA+C;AACnEC,EAAAA,gBAAgB,EAAE,+CAA+C;AACjEC,EAAAA,WAAW,EAAE,OAAO;AACpBC,EAAAA,aAAa,EAAE,iCAAiC;AAChDC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,cAAc,EAAE,kBAAkB;AAClCC,EAAAA,iBAAiB,EACb,wHAAwH;AAC5HC,EAAAA,UAAU,EAAE,aAAa;AACzBC,EAAAA,QAAQ,EAAE,WAAW;AACrBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,cAAc,EAAE,UAAU;AAC1BC,EAAAA,YAAY,EAAE,eAAe;AAC7BC,EAAAA,WAAW,EAAE,mBAAmB;AAChCC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,eAAe,EAAE,oBAAoB;AACrCC,EAAAA,iBAAiB,EAAE,kCAAkC;AACrDC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,iBAAiB,EAAE,sBAAsB;AACzCC,EAAAA,eAAe,EAAE,kBAAkB;AACnCC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,sBAAsB,EAAE,gCAAgC;AACxDC,EAAAA,yBAAyB,EAAE,4CAA4C;AACvEC,EAAAA,yBAAyB,EAAE,+BAA+B;AAC1DC,EAAAA,cAAc,EAAE,sBAAsB;AACtCC,EAAAA,aAAa,EAAE,2CAA2C;AAC1DC,EAAAA,uBAAuB,EAAE,4CAA4C;AACrEC,EAAAA,eAAe,EAAE,+CAA+C;AAChEC,EAAAA,yBAAyB,EAAE,8CAA8C;AACzEC,EAAAA,YAAY,EAAE,kCAAkC;AAChDC,EAAAA,cAAc,EAAE,iCAAiC;AACjDC,EAAAA,cAAc,EAAE,8BAA8B;AAC9CC,EAAAA,SAAS,EAAE,4CAA4C;AACvDC,EAAAA,UAAU,EAAE,4BAA4B;AACxCC,EAAAA,eAAe,EAAE,cAAc;AAC/BC,EAAAA,SAAS,EAAE,qBAAqB;AAChCC,EAAAA,WAAW,EAAE,uBAAuB;AACpCC,EAAAA,WAAW,EAAE,6DAA6D;AAC1EC,EAAAA,SAAS,EAAE,gDAAgD;AAC3DC,EAAAA,aAAa,EACT,+DAA+D;AACnEC,EAAAA,WAAW,EAAE,kDAAkD;AAC/DC,EAAAA,OAAO,EAAE,UAAU;AACnBC,EAAAA,OAAO,EAAE;AACLC,IAAAA,GAAG,EAAE,gBAAgB;AACrBC,IAAAA,KAAK,EAAE,iBAAA;GACV;AACDC,EAAAA,sBAAsB,EAAE,qBAAqB;AAC7CC,EAAAA,KAAK,EAAE;AACHH,IAAAA,GAAG,EAAE,gBAAgB;AACrBC,IAAAA,KAAK,EAAE,gBAAA;GACV;AACDG,EAAAA,UAAU,EAAE,0CAA0C;AACtDC,EAAAA,aAAa,EAAE,iDAAiD;AAChEC,EAAAA,YAAY,EAAE,gDAAgD;AAC9DC,EAAAA,gBAAgB,EACZ,6DAA6D;AACjEC,EAAAA,eAAe,EAAE,kBAAkB;AACnCC,EAAAA,UAAU,EAAE,kBAAkB;AAC9BC,EAAAA,YAAY,EAAE,oBAAoB;AAClCC,EAAAA,YAAY,EAAE,sBAAsB;AACpCC,EAAAA,SAAS,EACL,8EAA8E;AAClFC,EAAAA,SAAS,EAAE,qBAAqB;AAChCC,EAAAA,UAAU,EAAE,qBAAqB;AACjCC,EAAAA,aAAa,EACT,kHAAkH;AACtHC,EAAAA,cAAc,EACV,mGAAmG;AACvGC,EAAAA,SAAS,EAAE;AACPC,IAAAA,OAAO,EAAE,6DAA6D;AACtEC,IAAAA,OAAO,EAAE,MAAA;GACZ;AACDC,EAAAA,gBAAgB,EAAE,+BAA+B;AACjDC,EAAAA,kBAAkB,EAAE,yCAAyC;AAC7DC,EAAAA,UAAU,EAAE,yBAAyB;AACrCC,EAAAA,cAAc,EAAE,kCAAkC;AAClDC,EAAAA,YAAY,EAAE,4BAA4B;AAC1CC,EAAAA,cAAc,EAAE,uBAAuB;AACvCC,EAAAA,WAAW,EAAE,4BAA4B;AACzCC,EAAAA,YAAY,EAAE,mBAAmB;AACjCC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,gBAAgB,EAAE,8CAA8C;AAChEC,EAAAA,iBAAiB,EACb,0EAA0E;AAC9EC,EAAAA,cAAc,EAAE,mBAAmB;AACnCC,EAAAA,gBAAgB,EAAE,gCAAgC;AAClDC,EAAAA,gBAAgB,EAAE,gCAAgC;AAClDC,EAAAA,eAAe,EAAE,kBAAkB;AACnCC,EAAAA,oBAAoB,EAAE,uCAAuC;AAC7DC,EAAAA,uBAAuB,EAAE,2CAA2C;AACpEC,EAAAA,aAAa,EAAE,8BAA8B;AAC7CC,EAAAA,sBAAsB,EAAE,yCAAyC;AACjEC,EAAAA,yBAAyB,EAAE,6CAA6C;AACxEC,EAAAA,eAAe,EAAE,gCAAgC;AACjDC,EAAAA,aAAa,EAAE,8BAA8B;AAC7CC,EAAAA,gBAAgB,EAAE,kCAAkC;AACpDC,EAAAA,MAAM,EAAE,qBAAqB;AAC7BC,EAAAA,QAAQ,EAAE,WAAW;AACrBC,EAAAA,cAAc,EAAE,kBAAkB;AAClCC,EAAAA,cAAc,EAAE,6BAA6B;AAC7CC,EAAAA,SAAS,EAAE,YAAY;AACvBC,EAAAA,iBAAiB,EAAE,iCAAiC;AACpDC,EAAAA,OAAO,EAAE;AACLlC,IAAAA,OAAO,EACH,2aAA2a;AAC/aC,IAAAA,OAAO,EAAE,qDAAA;GACZ;AACDkC,EAAAA,UAAU,EAAE,uCAAuC;AACnDC,EAAAA,mBAAmB,EAAE,oCAAoC;AACzDC,EAAAA,YAAY,EAAE,iCAAiC;AAC/CC,EAAAA,0BAA0B,EAAE,uCAAuC;AACnEC,EAAAA,UAAU,EAAE,mBAAmB;AAC/BC,EAAAA,cAAc,EAAE,yBAAyB;AACzCC,EAAAA,OAAO,EAAE,YAAY;AACrBC,EAAAA,eAAe,EAAE,sBAAsB;AACvCC,EAAAA,cAAc,EAAE,uBAAuB;AACvCC,EAAAA,YAAY,EAAE,4BAA4B;AAC1CC,EAAAA,cAAc,EAAE,sBAAsB;AACtCC,EAAAA,oBAAoB,EAChB,6DAA6D;AACjEC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,kBAAkB,EAAE,qCAAqC;AACzDC,EAAAA,uBAAuB,EACnB,0DAA0D;AAC9DC,EAAAA,cAAc,EAAE,kBAAkB;AAElC;AACAC,EAAAA,QAAQ,EAAE,WAAW;AACrBC,EAAAA,WAAW,EAAE,cAAc;AAC3BC,EAAAA,mBAAmB,EAAE,gDAAgD;AACrEC,EAAAA,YAAY,EAAE,aAAa;AAC3BC,EAAAA,WAAW,EAAE,eAAe;AAC5BC,EAAAA,qBAAqB,EAAE,oCAAoC;AAC3DC,EAAAA,uBAAuB,EAAE,yBAAyB;AAClD;AACA;AACA;AACA;AACAC,EAAAA,oBAAoB,EAAE,oCAAoC;AAC1DC,EAAAA,aAAa,EAAE,iCAAiC;AAChDC,EAAAA,aAAa,EACT,+DAA+D;AACnEC,EAAAA,mBAAmB,EACf,0DAA0D;AAC9DC,EAAAA,cAAc,EAAE,8BAA8B;AAC9CC,EAAAA,mBAAmB,EACf,qJAAqJ;AACzJC,EAAAA,aAAa,EAAE,+BAA+B;AAC9CC,EAAAA,mBAAmB,EACf,iHAAiH;AACrHC,EAAAA,4BAA4B,EAAE,yCAAyC;AACvEC,EAAAA,4BAA4B,EAAE,yCAAyC;AACvEC,EAAAA,4BAA4B,EAAE,oBAAoB;AAClDC,EAAAA,0BAA0B,EAAE,yBAAyB;AACrDC,EAAAA,2BAA2B,EACvB,wDAAwD;AAC5DC,EAAAA,2BAA2B,EACvB,wDAAwD;AAC5DC,EAAAA,2BAA2B,EACvB,iGAAiG;AACrGC,EAAAA,4BAA4B,EACxB,0DAA0D;AAC9DC,EAAAA,kBAAkB,EACd,2EAA2E;AAC/EC,EAAAA,wBAAwB,EAAE,gDAAgD;AAC1EC,EAAAA,0CAA0C,EACtC,sEAAsE;AAC1EC,EAAAA,qBAAqB,EAAE,iCAAiC;AACxDC,EAAAA,2BAA2B,EACvB,iPAAiP;AACrPC,EAAAA,6BAA6B,EAAE,uCAAuC;AACtEC,EAAAA,+BAA+B,EAC3B,0DAA0D;AAC9DC,EAAAA,gCAAgC,EAC5B,oHAAoH;AACxHC,EAAAA,oBAAoB,EAChB,wFAAwF;AAC5FC,EAAAA,eAAe,EAAE,kCAAkC;AACnDC,EAAAA,qCAAqC,EACjC,mDAAmD;AACvDC,EAAAA,uCAAuC,EACnC,iFAAiF;AACrFC,EAAAA,mBAAmB,EACf,8EAA8E;AAClFC,EAAAA,mBAAmB,EAAE,kCAAkC;AACvDC,EAAAA,oBAAoB,EAChB,4HAA4H;AAChIC,EAAAA,mBAAmB,EACf,sEAAsE;AAC1EC,EAAAA,UAAU,EAAE,8BAA8B;AAC1CC,EAAAA,WAAW,EACP,gHAAgH;AACpHC,EAAAA,eAAe,EACX,oGAAoG;AACxGC,EAAAA,aAAa,EAAE,gCAAgC;AAC/CC,EAAAA,kBAAkB,EAAE,qCAAqC;AACzDC,EAAAA,gBAAgB,EAAE,8CAA8C;AAChEC,EAAAA,iBAAiB,EAAE,4BAA4B;AAC/CC,EAAAA,mBAAmB,EAAE,8BAA8B;AACnDC,EAAAA,4BAA4B,EAAE,0BAA0B;AACxDC,EAAAA,2BAA2B,EAAE,0BAA0B;AACvDC,EAAAA,2BAA2B,EAAE,0BAA0B;AACvDC,EAAAA,8BAA8B,EAAE,qCAAqC;AACrEC,EAAAA,yBAAyB,EACrB,4EAA4E;AAChFC,EAAAA,wBAAwB,EAAE,8CAA8C;AACxEC,EAAAA,qBAAqB,EAAE,8CAA8C;AACrEC,EAAAA,sBAAsB,EAAE,kDAAkD;AAC1EC,EAAAA,oBAAoB,EAChB,yDAAyD;AAC7DC,EAAAA,wBAAwB,EACpB,kFAAkF;AACtFC,EAAAA,8BAA8B,EAC1B,0HAAA;AACJ;AACJ,EAKC;;AAED;AACA;AACA;AACO,MAAMC,WAA2B,GAAG;AACvCzL,EAAAA,WAAW,EAAE,mBAAmB;AAChCC,EAAAA,UAAU,EAAE,kBAAkB;AAC9BC,EAAAA,YAAY,EAAE,gBAAgB;AAC9BC,EAAAA,eAAe,EAAE,kBAAkB;AACnCC,EAAAA,YAAY,EAAE,eAAe;AAC7BC,EAAAA,OAAO,EAAEqL,IAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,GAAAA;AAAG,KAAC,GAAAD,IAAA,CAAA;IAAA,OAAM,CAAA,MAAA,EAAQC,GAAI,CAAC,CAAA,CAAA;AAAA,GAAA;AAClCrL,EAAAA,cAAc,EAAEsL,KAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,KAAAA;AAAK,KAAC,GAAAD,KAAA,CAAA;IAAA,OAAM,CAAA,iBAAA,EAAmBC,KAAM,CAAC,CAAA,CAAA;AAAA,GAAA;EACxDtL,qBAAqB,EACjB,oCAAoC,GACpC,mCAAmC,GACnC,mCAAmC,GACnC,kCAAkC,GAClC,+BAA+B;AACnCC,EAAAA,mBAAmB,EACf,+BAA+B,GAC/B,6CAA6C,GAC7C,kBAAkB;EACtBC,2BAA2B,EACvB,iCAAiC,GAAG,gCAAgC;AACxEC,EAAAA,qBAAqB,EACjB,iCAAiC,GACjC,sBAAsB,GACtB,8BAA8B;AAClCC,EAAAA,yBAAyB,EACrB,oCAAoC,GACpC,wCAAwC,GACxC,iCAAiC;AACrCC,EAAAA,gBAAgB,EACZ,6DAA6D;AACjEC,EAAAA,kBAAkB,EAAE,+CAA+C;AACnEC,EAAAA,gBAAgB,EAAE,+CAA+C;AACjEC,EAAAA,WAAW,EAAE,OAAO;AACpBC,EAAAA,aAAa,EAAE,iCAAiC;AAChDC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,cAAc,EAAE,kBAAkB;AAClCC,EAAAA,iBAAiB,EACb,wHAAwH;AAC5HC,EAAAA,UAAU,EAAE,aAAa;AACzBC,EAAAA,QAAQ,EAAE,WAAW;AACrBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,cAAc,EAAE,UAAU;AAC1BC,EAAAA,YAAY,EAAE,eAAe;AAC7BC,EAAAA,WAAW,EAAEqK,KAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,KAAAA;AAAK,KAAC,GAAAD,KAAA,CAAA;IAAA,OAAM,CAAA,QAAA,EAAUC,KAAM,CAAC,CAAA,CAAA;AAAA,GAAA;AAC5CrK,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,eAAe,EAAE,oBAAoB;AACrCC,EAAAA,iBAAiB,EAAE,kCAAkC;AACrDC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,iBAAiB,EAAE,sBAAsB;AACzCC,EAAAA,eAAe,EAAE,kBAAkB;AACnCC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,sBAAsB,EAAE,gCAAgC;AACxDC,EAAAA,yBAAyB,EAAE,4CAA4C;AACvEC,EAAAA,yBAAyB,EAAE,+BAA+B;AAC1DC,EAAAA,cAAc,EAAE,sBAAsB;AACtCC,EAAAA,aAAa,EAAE,2CAA2C;AAC1DC,EAAAA,uBAAuB,EAAE,4CAA4C;AACrEC,EAAAA,eAAe,EAAE,+CAA+C;AAChEC,EAAAA,yBAAyB,EAAE,8CAA8C;AACzEC,EAAAA,YAAY,EAAE,gCAAgC;AAC9CC,EAAAA,cAAc,EAAE,iCAAiC;AACjDC,EAAAA,cAAc,EAAE,4BAA4B;AAC5CC,EAAAA,SAAS,EAAE,gEAAgE;AAC3EC,EAAAA,UAAU,EAAE,4BAA4B;AACxCC,EAAAA,eAAe,EAAE,cAAc;AAC/BC,EAAAA,SAAS,EAAE,qBAAqB;AAChCC,EAAAA,WAAW,EAAE,uBAAuB;AACpCC,EAAAA,WAAW,EAAE,6DAA6D;AAC1EC,EAAAA,SAAS,EAAE,gDAAgD;AAC3DC,EAAAA,aAAa,EACT,+DAA+D;AACnEC,EAAAA,WAAW,EAAE,kDAAkD;AAC/DC,EAAAA,OAAO,EAAE,UAAU;AACnBC,EAAAA,OAAO,EAAEyI,KAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,GAAAA;AAAG,KAAC,GAAAD,KAAA,CAAA;IAAA,OAAMC,GAAG,KAAK,CAAC,GAAI,CAAA,EAAEA,GAAI,CAAQ,OAAA,CAAA,GAAI,CAAEA,EAAAA,GAAI,CAAS,QAAA,CAAA,CAAA;GAAC;AACpEvI,EAAAA,sBAAsB,EAAE,qBAAqB;AAC7CC,EAAAA,KAAK,EAAEuI,KAAA,IAAA;IAAA,IAAC;AAACD,MAAAA,GAAAA;AAAG,KAAC,GAAAC,KAAA,CAAA;IAAA,OAAMD,GAAG,KAAK,CAAC,GAAI,CAAA,OAAA,EAASA,GAAI,CAAC,CAAA,GAAI,CAASA,OAAAA,EAAAA,GAAI,CAAC,CAAA,CAAA;GAAC;AACjErI,EAAAA,UAAU,EAAE,0CAA0C;AACtDC,EAAAA,aAAa,EAAE,iDAAiD;AAChEC,EAAAA,YAAY,EAAE,gDAAgD;AAC9DC,EAAAA,gBAAgB,EAAEoI,KAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,OAAAA;AAAO,KAAC,GAAAD,KAAA,CAAA;IAAA,OACvB,CAAA,gDAAA,EAAkDC,OAAQ,CAAC,CAAA,CAAA;AAAA,GAAA;AAChEpI,EAAAA,eAAe,EAAE,kBAAkB;AACnCC,EAAAA,UAAU,EAAE,kBAAkB;AAC9BC,EAAAA,YAAY,EAAE,oBAAoB;AAClCC,EAAAA,YAAY,EAAE,sBAAsB;AACpCC,EAAAA,SAAS,EAAEiI,KAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,cAAAA;AAAc,KAAC,GAAAD,KAAA,CAAA;IAAA,OACvB,CAAA,yDAAA,EAA2DC,cAAe,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AACjFjI,EAAAA,SAAS,EAAEkI,KAAA,IAAA;IAAA,IAAC;AAAClI,MAAAA,SAAAA;AAA8B,KAAC,GAAAkI,KAAA,CAAA;IAAA,OAAM,CAAA,MAAA,EAAQlI,SAAU,CAAC,CAAA,CAAA;AAAA,GAAA;AACrEC,EAAAA,UAAU,EAAEkI,KAAA,IAAA;IAAA,IAAC;AAAClI,MAAAA,UAAAA;AAAgC,KAAC,GAAAkI,KAAA,CAAA;IAAA,OAAM,CAAA,KAAA,EAAOlI,UAAW,CAAC,CAAA,CAAA;AAAA,GAAA;AACxEC,EAAAA,aAAa,EAAEkI,MAAA,IAAA;IAAA,IAAC;MAACC,cAAc;AAAEC,MAAAA,cAAAA;AAAc,KAAC,GAAAF,MAAA,CAAA;AAAA,IAAA,OAC3C,CAAaC,WAAAA,EAAAA,cAAe,CAA2BC,yBAAAA,EAAAA,cAAe,CAAyC,wCAAA,CAAA,CAAA;AAAA,GAAA;AACpHnI,EAAAA,cAAc,EAAEoI,MAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,cAAAA;AAAc,KAAC,GAAAD,MAAA,CAAA;IAAA,OAC5B,CAAA,YAAA,EAAcC,cAAe,CAAoE,mEAAA,CAAA,CAAA;AAAA,GAAA;AACtGpI,EAAAA,SAAS,EAAE,MAAM;AACjBG,EAAAA,gBAAgB,EAAE,+BAA+B;AACjDC,EAAAA,kBAAkB,EAAE,yCAAyC;AAC7DC,EAAAA,UAAU,EAAE,yBAAyB;AACrCC,EAAAA,cAAc,EAAE+H,MAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,MAAAA;AAAM,KAAC,GAAAD,MAAA,CAAA;IAAA,OAAM,CAAA,qBAAA,EAAuBC,MAAO,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AAC/D/H,EAAAA,YAAY,EAAEgI,MAAA,IAAA;IAAA,IAAC;AAACD,MAAAA,MAAAA;AAAM,KAAC,GAAAC,MAAA,CAAA;IAAA,OAAM,CAAA,eAAA,EAAiBD,MAAO,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AACvD9H,EAAAA,cAAc,EAAEgI,MAAA,IAAA;IAAA,IAAC;AAACF,MAAAA,MAAAA;AAAM,KAAC,GAAAE,MAAA,CAAA;IAAA,OAAM,CAAA,UAAA,EAAYF,MAAO,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AACpD7H,EAAAA,WAAW,EAAE,4BAA4B;AACzCC,EAAAA,YAAY,EAAE,mBAAmB;AACjCC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,gBAAgB,EAAE,8CAA8C;AAChEC,EAAAA,iBAAiB,EACb,0EAA0E;AAC9EC,EAAAA,cAAc,EAAE,mBAAmB;AACnCC,EAAAA,gBAAgB,EAAEuH,MAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,UAAAA;AAAU,KAAC,GAAAD,MAAA,CAAA;IAAA,OAAM,CAAA,OAAA,EAASC,UAAW,CAAU,SAAA,CAAA,CAAA;AAAA,GAAA;AACnEvH,EAAAA,gBAAgB,EAAE,gCAAgC;AAClDC,EAAAA,eAAe,EAAE,kBAAkB;AACnCC,EAAAA,oBAAoB,EAAEsH,MAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,MAAAA;AAAM,KAAC,GAAAD,MAAA,CAAA;IAAA,OAAM,CAAA,QAAA,EAAUC,MAAO,CAAoB,mBAAA,CAAA,CAAA;AAAA,GAAA;AAC1EtH,EAAAA,uBAAuB,EAAEuH,MAAA,IAAA;IAAA,IAAC;AAACD,MAAAA,MAAAA;AAAM,KAAC,GAAAC,MAAA,CAAA;IAAA,OAC7B,CAAA,QAAA,EAAUD,MAAO,CAAwB,uBAAA,CAAA,CAAA;AAAA,GAAA;AAC9CrH,EAAAA,aAAa,EAAEuH,MAAA,IAAA;IAAA,IAAC;AAACF,MAAAA,MAAAA;AAAM,KAAC,GAAAE,MAAA,CAAA;IAAA,OAAM,CAAA,QAAA,EAAUF,MAAO,CAAW,UAAA,CAAA,CAAA;AAAA,GAAA;AAC1DpH,EAAAA,sBAAsB,EAAEuH,MAAA,IAAA;IAAA,IAAC;AAACH,MAAAA,MAAAA;AAAM,KAAC,GAAAG,MAAA,CAAA;IAAA,OAC5B,CAAA,QAAA,EAAUH,MAAO,CAAsB,qBAAA,CAAA,CAAA;AAAA,GAAA;AAC5CnH,EAAAA,yBAAyB,EAAEuH,MAAA,IAAA;IAAA,IAAC;AAACJ,MAAAA,MAAAA;AAAM,KAAC,GAAAI,MAAA,CAAA;IAAA,OAC/B,CAAA,QAAA,EAAUJ,MAAO,CAA0B,yBAAA,CAAA,CAAA;AAAA,GAAA;AAChDlH,EAAAA,eAAe,EAAEuH,MAAA,IAAA;IAAA,IAAC;AAACL,MAAAA,MAAAA;AAAM,KAAC,GAAAK,MAAA,CAAA;IAAA,OAAM,CAAA,QAAA,EAAUL,MAAO,CAAa,YAAA,CAAA,CAAA;AAAA,GAAA;AAC9DjH,EAAAA,aAAa,EAAEuH,MAAA,IAAA;IAAA,IAAC;AAACN,MAAAA,MAAAA;AAAM,KAAC,GAAAM,MAAA,CAAA;IAAA,OAAM,CAAA,QAAA,EAAUN,MAAO,CAAW,UAAA,CAAA,CAAA;AAAA,GAAA;AAC1DhH,EAAAA,gBAAgB,EAAEuH,MAAA,IAAA;IAAA,IAAC;AAACP,MAAAA,MAAAA;AAAM,KAAC,GAAAO,MAAA,CAAA;IAAA,OAAM,CAAA,QAAA,EAAUP,MAAO,CAAe,cAAA,CAAA,CAAA;AAAA,GAAA;AACjE/G,EAAAA,MAAM,EAAEuH,MAAA,IAAA;IAAA,IAAC;AAACR,MAAAA,MAAAA;AAAM,KAAC,GAAAQ,MAAA,CAAA;IAAA,OAAM,CAAA,QAAA,EAAUR,MAAO,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AAC1C9G,EAAAA,QAAQ,EAAE,WAAW;AACrBC,EAAAA,cAAc,EAAE,kBAAkB;AAClCC,EAAAA,cAAc,EAAEqH,MAAA,IAAA;IAAA,IAAC;AAACT,MAAAA,MAAAA;AAAM,KAAC,GAAAS,MAAA,CAAA;IAAA,OAAM,CAAA,iBAAA,EAAmBT,MAAO,CAAC,CAAA,CAAA;AAAA,GAAA;AAC1D3G,EAAAA,SAAS,EAAE,YAAY;AACvBC,EAAAA,iBAAiB,EAAEoH,MAAA,IAAA;IAAA,IAAC;AAACV,MAAAA,MAAAA;AAAM,KAAC,GAAAU,MAAA,CAAA;IAAA,OAAM,CAAA,qBAAA,EAAuBV,MAAO,CAAC,CAAA,CAAA;AAAA,GAAA;AACjEzG,EAAAA,OAAO,EAAE,qDAAqD;AAC9DC,EAAAA,UAAU,EAAE,uCAAuC;AACnDC,EAAAA,mBAAmB,EAAE,oCAAoC;AACzDC,EAAAA,YAAY,EAAE,iCAAiC;AAC/CC,EAAAA,0BAA0B,EAAE,uCAAuC;AACnEC,EAAAA,UAAU,EAAE,mBAAmB;AAC/BC,EAAAA,cAAc,EAAE,yBAAyB;AACzCC,EAAAA,OAAO,EAAE,YAAY;AACrBC,EAAAA,eAAe,EAAE,sBAAsB;AACvCC,EAAAA,cAAc,EAAE,uBAAuB;AACvCC,EAAAA,YAAY,EAAE,4BAA4B;AAC1CC,EAAAA,cAAc,EAAE,sBAAsB;AACtCC,EAAAA,oBAAoB,EAChB,6DAA6D;AACjEC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,kBAAkB,EAAE,qCAAqC;AACzDC,EAAAA,uBAAuB,EACnB,0DAA0D;AAC9DC,EAAAA,cAAc,EAAE,kBAAkB;AAElC;AACAG,EAAAA,mBAAmB,EAAE,gDAAgD;AACrEF,EAAAA,QAAQ,EAAE,WAAW;AACrBC,EAAAA,WAAW,EAAE,cAAc;AAC3BE,EAAAA,YAAY,EAAE,aAAa;AAC3BC,EAAAA,WAAW,EAAE,eAAe;AAC5BG,EAAAA,oBAAoB,EAAE0F,MAAA,IAAA;IAAA,IAAC;MAAC/B,GAAG;MAAEgC,CAAC;AAAEC,MAAAA,CAAAA;AAAC,KAAC,GAAAF,MAAA,CAAA;AAAA,IAAA,OAAM,SAAQ/B,GAAI,CAAA,IAAA,EAAMgC,CAAE,CAAA,OAAA,EAASC,CAAE,CAAC,CAAA,CAAA;AAAA,GAAA;AACxE9F,EAAAA,qBAAqB,EAAE+F,MAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,QAAAA;AAAQ,KAAC,GAAAD,MAAA,CAAA;IAAA,OAAM,CAAA,sBAAA,EAAwBC,QAAS,CAAC,CAAA,CAAA;AAAA,GAAA;AAC1E/F,EAAAA,uBAAuB,EAAE,yBAAyB;AAClDE,EAAAA,aAAa,EAAE,iCAAiC;AAChDC,EAAAA,aAAa,EAAE6F,MAAA,IAAA;IAAA,IAAC;MAACC,OAAO;AAAEC,MAAAA,OAAAA;AAAO,KAAC,GAAAF,MAAA,CAAA;AAAA,IAAA,OAC7B,CAAiCC,+BAAAA,EAAAA,OAAQ,CAASC,OAAAA,EAAAA,OAAQ,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AACjE9F,EAAAA,mBAAmB,EAAE+F,MAAA,IAAA;IAAA,IAAC;MAACC,YAAY;AAAEC,MAAAA,YAAAA;AAAY,KAAC,GAAAF,MAAA,CAAA;AAAA,IAAA,OAC7C,CAAkBC,gBAAAA,EAAAA,YAAa,CAASC,OAAAA,EAAAA,YAAa,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AAC5DhG,EAAAA,cAAc,EAAEiG,MAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,MAAAA;AAAM,KAAC,GAAAD,MAAA,CAAA;IAAA,OAAM,CAAA,iBAAA,EAAmBC,MAAO,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AAC3DjG,EAAAA,mBAAmB,EAAEkG,MAAA,IAAA;IAAA,IAAC;MAClBC,OAAO;MACPC,OAAO;MACPC,OAAO;MACPC,OAAO;MACPC,OAAO;MACPC,OAAO;MACPC,OAAO;AACPC,MAAAA,OAAAA;AACJ,KAAC,GAAAR,MAAA,CAAA;AAAA,IAAA,OACI,2BAA0BC,OAAQ,CAAA,OAAA,EAASC,OAAQ,CAAA,EAAA,EAAIC,OAAQ,CAASC,OAAAA,EAAAA,OAAQ,CAAIC,EAAAA,EAAAA,OAAQ,UAASC,OAAQ,CAAA,EAAA,EAAIC,OAAQ,CAAA,OAAA,EAASC,OAAQ,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AACjJzG,EAAAA,aAAa,EAAE,+BAA+B;AAC9CC,EAAAA,mBAAmB,EAAEyG,MAAA,IAAA;IAAA,IAAC;MAACR,OAAO;MAAEC,OAAO;MAAEC,OAAO;AAAEC,MAAAA,OAAAA;AAAO,KAAC,GAAAK,MAAA,CAAA;IAAA,OACrD,CAAA,oCAAA,EAAsCR,OAAQ,CAASC,OAAAA,EAAAA,OAAQ,mBAAkBC,OAAQ,CAAA,OAAA,EAASC,OAAQ,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AACjHnG,EAAAA,4BAA4B,EAAE,yCAAyC;AACvEC,EAAAA,4BAA4B,EAAE,yCAAyC;AACvEC,EAAAA,4BAA4B,EAAE,oBAAoB;AAClDC,EAAAA,0BAA0B,EAAE,yBAAyB;AACrDC,EAAAA,2BAA2B,EAAEqG,MAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,UAAAA;AAAU,KAAC,GAAAD,MAAA,CAAA;IAAA,OACrC,CAAA,+BAAA,EAAiCC,UAAW,CAAU,SAAA,CAAA,CAAA;AAAA,GAAA;AAC3DrG,EAAAA,2BAA2B,EAAEsG,MAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,UAAAA;AAAU,KAAC,GAAAD,MAAA,CAAA;IAAA,OACrC,CAAA,uCAAA,EAAyCC,UAAW,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AAC3DtG,EAAAA,2BAA2B,EAAEuG,MAAA,IAAA;IAAA,IAAC;MAACH,UAAU;AAAEE,MAAAA,UAAAA;AAAU,KAAC,GAAAC,MAAA,CAAA;AAAA,IAAA,OACjD,CAAiCH,+BAAAA,EAAAA,UAAW,CAAqCE,mCAAAA,EAAAA,UAAW,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AACnGrG,EAAAA,4BAA4B,EACxB,0DAA0D;AAC9DC,EAAAA,kBAAkB,EAAEsG,MAAA,IAAA;IAAA,IAAC;MAACd,OAAO;MAAEC,OAAO;MAAEC,OAAO;AAAEC,MAAAA,OAAAA;AAAO,KAAC,GAAAW,MAAA,CAAA;IAAA,OACpD,CAAA,UAAA,EAAYd,OAAQ,CAASC,OAAAA,EAAAA,OAAQ,OAAMC,OAAQ,CAAA,OAAA,EAASC,OAAQ,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AAC3E1F,EAAAA,wBAAwB,EAAEsG,MAAA,IAAA;IAAA,IAAC;MAACC,KAAK;MAAEC,IAAI;MAAE9B,CAAC;AAAEC,MAAAA,CAAAA;AAAC,KAAC,GAAA2B,MAAA,CAAA;IAAA,OACzC,CAAA,MAAA,EAAQC,KAAM,CAAIC,EAAAA,EAAAA,IAAK,OAAM9B,CAAE,CAAA,OAAA,EAASC,CAAE,CAAC,CAAA,CAAA;AAAA,GAAA;AAChD1E,EAAAA,0CAA0C,EAAEwG,MAAA,IAAA;IAAA,IAAC;MAAC/B,CAAC;MAAEC,CAAC;AAAE+B,MAAAA,YAAAA;AAAY,KAAC,GAAAD,MAAA,CAAA;AAAA,IAAA,OAC5D,sBAAqB/B,CAAE,CAAA,OAAA,EAASC,CAAE,CAAA,QAAA,EAAU+B,YAAa,CAAS,QAAA,CAAA,CAAA;AAAA,GAAA;AACvExG,EAAAA,qBAAqB,EAAE,iCAAiC;AACxDC,EAAAA,2BAA2B,EAAEwG,MAAA,IAAA;IAAA,IAAC;MAC1BD,YAAY;MACZE,OAAO;MACPC,OAAO;MACPC,aAAa;MACbC,aAAa;MACbC,WAAW;AACXC,MAAAA,WAAAA;AACJ,KAAC,GAAAN,MAAA,CAAA;AAAA,IAAA,OACI,CAAuBD,qBAAAA,EAAAA,YAAa,CAA4BE,0BAAAA,EAAAA,OAAQ,UAASC,OAAQ,CAAA,kCAAA,EAAoCC,aAAc,CAAA,OAAA,EAASC,aAAc,CAAA,mCAAA,EAAqCC,WAAY,CAAA,OAAA,EAASC,WAAY,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AAC/O7G,EAAAA,6BAA6B,EAAE,uCAAuC;AACtEC,EAAAA,+BAA+B,EAAE6G,MAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,eAAAA;AAAe,KAAC,GAAAD,MAAA,CAAA;IAAA,OAC9C,CAAA,EAAEC,eAAgB,CAAiC,gCAAA,CAAA,CAAA;AAAA,GAAA;AACxD7G,EAAAA,gCAAgC,EAAE8G,MAAA,IAAA;IAAA,IAAC;MAC/B7B,OAAO;MACPC,OAAO;MACPC,OAAO;MACPC,OAAO;AACP2B,MAAAA,cAAAA;AACJ,KAAC,GAAAD,MAAA,CAAA;IAAA,OACI,CAAA,QAAA,EAAUC,cAAe,CAAA,gBAAA,EAAkB9B,OAAQ,CAAA,OAAA,EAASC,OAAQ,CAAkBC,gBAAAA,EAAAA,OAAQ,CAASC,OAAAA,EAAAA,OAAQ,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AACtHnF,EAAAA,oBAAoB,EAAE+G,MAAA,IAAA;IAAA,IAAC;MAAC/B,OAAO;MAAEC,OAAO;MAAEC,OAAO;AAAEC,MAAAA,OAAAA;AAAO,KAAC,GAAA4B,MAAA,CAAA;IAAA,OACtD,CAAA,cAAA,EAAgB/B,OAAQ,CAASC,OAAAA,EAAAA,OAAQ,mBAAkBC,OAAQ,CAAA,OAAA,EAASC,OAAQ,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AAC3FlF,EAAAA,eAAe,EAAE+G,MAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,MAAAA;AAAM,KAAC,GAAAD,MAAA,CAAA;IAAA,OAAM,CAAA,eAAA,EAAiBC,MAAO,CAAQ,OAAA,CAAA,CAAA;AAAA,GAAA;AAChE/G,EAAAA,qCAAqC,EAAEgH,MAAA,IAAA;IAAA,IAAC;MAACC,cAAc;MAAEhD,CAAC;AAAEC,MAAAA,CAAAA;AAAC,KAAC,GAAA8C,MAAA,CAAA;AAAA,IAAA,OACzD,YAAWC,cAAe,CAAA,IAAA,EAAMhD,CAAE,CAAA,OAAA,EAASC,CAAE,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AACpDjE,EAAAA,uCAAuC,EAAEiH,MAAA,IAAA;IAAA,IAAC;MACtCD,cAAc;MACdhD,CAAC;MACDC,CAAC;AACD0C,MAAAA,cAAAA;AACJ,KAAC,GAAAM,MAAA,CAAA;IAAA,OACI,CAAA,SAAA,EAAWD,cAAe,CAAcL,YAAAA,EAAAA,cAAe,OAAM3C,CAAE,CAAA,OAAA,EAASC,CAAE,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AACjFhE,EAAAA,mBAAmB,EAAEiH,MAAA,IAAA;IAAA,IAAC;MAACrC,OAAO;MAAEC,OAAO;MAAEC,OAAO;AAAEC,MAAAA,OAAAA;AAAO,KAAC,GAAAkC,MAAA,CAAA;IAAA,OACrD,CAAA,aAAA,EAAerC,OAAQ,CAASC,OAAAA,EAAAA,OAAQ,OAAMC,OAAQ,CAAA,OAAA,EAASC,OAAQ,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AAC9E9E,EAAAA,mBAAmB,EAAE,kCAAkC;AACvDC,EAAAA,oBAAoB,EAAEgH,MAAA,IAAA;IAAA,IAAC;MAAC9M,UAAU;MAAEwK,OAAO;MAAEC,OAAO;MAAEC,OAAO;AAAEC,MAAAA,OAAAA;AAAO,KAAC,GAAAmC,MAAA,CAAA;IAAA,OAClE,CAAA,KAAA,EAAO9M,UAAW,CAAA,4BAAA,EAA8BwK,OAAQ,CAAA,OAAA,EAASC,OAAQ,CAAkBC,gBAAAA,EAAAA,OAAQ,CAASC,OAAAA,EAAAA,OAAQ,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AAC3H5E,EAAAA,mBAAmB,EAAEgH,MAAA,IAAA;IAAA,IAAC;MAAC/M,UAAU;MAAEgN,aAAa;MAAErD,CAAC;AAAEC,MAAAA,CAAAA;AAAC,KAAC,GAAAmD,MAAA,CAAA;IAAA,OAClD,CAAA,MAAA,EAAQC,aAAc,CAAWhN,SAAAA,EAAAA,UAAW,OAAM2J,CAAE,CAAA,OAAA,EAASC,CAAE,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AACtE5D,EAAAA,UAAU,EAAE,8BAA8B;AAC1CC,EAAAA,WAAW,EAAEgH,MAAA,IAAA;IAAA,IAAC;MAACzC,OAAO;MAAEC,OAAO;MAAEC,OAAO;AAAEC,MAAAA,OAAAA;AAAO,KAAC,GAAAsC,MAAA,CAAA;IAAA,OAC7C,CAAA,mBAAA,EAAqBzC,OAAQ,CAASC,OAAAA,EAAAA,OAAQ,mCAAkCC,OAAQ,CAAA,OAAA,EAASC,OAAQ,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AAChHzE,EAAAA,eAAe,EAAEgH,MAAA,IAAA;IAAA,IAAC;MAAC1C,OAAO;MAAEC,OAAO;MAAEC,OAAO;AAAEC,MAAAA,OAAAA;AAAO,KAAC,GAAAuC,MAAA,CAAA;IAAA,OACjD,CAAA,kBAAA,EAAoB1C,OAAQ,CAASC,OAAAA,EAAAA,OAAQ,wBAAuBC,OAAQ,CAAA,OAAA,EAASC,OAAQ,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AACpGxE,EAAAA,aAAa,EAAEgH,MAAA,IAAA;IAAA,IAAC;MAACxD,CAAC;AAAEC,MAAAA,CAAAA;AAAC,KAAC,GAAAuD,MAAA,CAAA;AAAA,IAAA,OAAM,CAAcxD,YAAAA,EAAAA,CAAE,CAASC,OAAAA,EAAAA,CAAE,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AACzDxD,EAAAA,kBAAkB,EAAEgH,MAAA,IAAA;IAAA,IAAC;MAACzD,CAAC;AAAEC,MAAAA,CAAAA;AAAC,KAAC,GAAAwD,MAAA,CAAA;AAAA,IAAA,OAAM,CAAmBzD,iBAAAA,EAAAA,CAAE,CAASC,OAAAA,EAAAA,CAAE,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AACnEvD,EAAAA,gBAAgB,EAAE,8CAA8C;AAChEC,EAAAA,iBAAiB,EAAE,4BAA4B;AAC/CC,EAAAA,mBAAmB,EAAE,8BAA8B;AACnDC,EAAAA,4BAA4B,EAAE,0BAA0B;AACxDC,EAAAA,2BAA2B,EAAE,0BAA0B;AACvDC,EAAAA,2BAA2B,EAAE,0BAA0B;AACvDC,EAAAA,8BAA8B,EAAE0G,MAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,QAAAA;AAAQ,KAAC,GAAAD,MAAA,CAAA;IAAA,OACtC,CAAA,sBAAA,EAAwBC,QAAS,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AACxC1G,EAAAA,yBAAyB,EAAE2G,MAAA,IAAA;IAAA,IAAC;MAACC,UAAU;AAAEC,MAAAA,UAAAA;AAAU,KAAC,GAAAF,MAAA,CAAA;AAAA,IAAA,OAC/C,CAA0BC,wBAAAA,EAAAA,UAAW,CAAeC,aAAAA,EAAAA,UAAW,CAAU,SAAA,CAAA,CAAA;AAAA,GAAA;AAC9E5G,EAAAA,wBAAwB,EAAE6G,MAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,SAAAA;AAAS,KAAC,GAAAD,MAAA,CAAA;IAAA,OACjC,CAAA,sBAAA,EAAwBC,SAAU,CAAU,SAAA,CAAA,CAAA;AAAA,GAAA;AACjD7G,EAAAA,qBAAqB,EAAE8G,MAAA,IAAA;IAAA,IAAC;AAACD,MAAAA,SAAAA;AAAS,KAAC,GAAAC,MAAA,CAAA;IAAA,OAC9B,CAAA,8BAAA,EAAgCD,SAAU,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AACjD5G,EAAAA,sBAAsB,EAAE8G,MAAA,IAAA;IAAA,IAAC;AAACC,MAAAA,WAAAA;AAAW,KAAC,GAAAD,MAAA,CAAA;IAAA,OACjC,CAAA,MAAA,EAAQC,WAAY,CAA4B,2BAAA,CAAA,CAAA;AAAA,GAAA;AACrD9G,EAAAA,oBAAoB,EAAE+G,MAAA,IAAA;IAAA,IAAC;MAACD,WAAW;MAAEnE,CAAC;AAAEC,MAAAA,CAAAA;AAAC,KAAC,GAAAmE,MAAA,CAAA;AAAA,IAAA,OACrC,SAAQD,WAAY,CAAA,gBAAA,EAAkBnE,CAAE,CAAA,OAAA,EAASC,CAAE,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AAC1D3C,EAAAA,wBAAwB,EAAE+G,MAAA,IAAA;IAAA,IAAC;MAACF,WAAW;MAAEnE,CAAC;MAAEC,CAAC;AAAE0D,MAAAA,QAAAA;AAAQ,KAAC,GAAAU,MAAA,CAAA;IAAA,OACnD,CAAA,MAAA,EAAQF,WAAY,CAA2BR,yBAAAA,EAAAA,QAAS,OAAM3D,CAAE,CAAA,OAAA,EAASC,CAAE,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AAClF1C,EAAAA,8BAA8B,EAAE+G,MAAA,IAAA;IAAA,IAAC;MAC7BzD,OAAO;MACPC,OAAO;MACPC,OAAO;MACPC,OAAO;MACPC,OAAO;AACPC,MAAAA,OAAAA;AACJ,KAAC,GAAAoD,MAAA,CAAA;AAAA,IAAA,OACI,CAA0BzD,wBAAAA,EAAAA,OAAQ,CAASC,OAAAA,EAAAA,OAAQ,CAAIC,EAAAA,EAAAA,OAAQ,CAASC,OAAAA,EAAAA,OAAQ,CAAQC,MAAAA,EAAAA,OAAQ,CAASC,OAAAA,EAAAA,OAAQ,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA;AACxH;AACJ,EAAC;;AAED;;AAKA,MAAMqD,aAA6B,GAAG;EAClC9R,qBAAqB,EAAEX,OAAO,CAACW,qBAAqB;EACpD+R,4BAA4B,EAAE1S,OAAO,CAACU,2BAA2B;EACjEF,qBAAqB,EAAER,OAAO,CAACQ,qBAAqB;EACpDC,mBAAmB,EAAET,OAAO,CAACS,mBAAmB;EAChDI,gBAAgB,EAAEb,OAAO,CAACa,gBAAgB;EAC1CC,kBAAkB,EAAEd,OAAO,CAACc,kBAAkB;EAC9CF,yBAAyB,EAAEZ,OAAO,CAACY,yBAAyB;EAC5D+R,uBAAuB,EAAE3S,OAAO,CAACe,gBAAgB;EACjD6R,wBAAwB,EAAE5S,OAAO,CAACyF,gBAAgB;EAClDoN,oBAAoB,EAAE7S,OAAO,CAAC0F,iBAAiB;EAC/CoN,oBAAoB,EAAE9S,OAAO,CAAC+D,YAAAA;AAClC,CAAC,CAAA;AAEM,SAASgP,gBAAgBA,CAACC,GAA8B,EAAE;EAC7D,IAAI,CAACA,GAAG,EAAE;AACN,IAAA,OAAOA,GAAG,CAAA;AACd,GAAA;AACA,EAAA,OAAOP,aAAa,CAACO,GAAG,CAAC,IAAIA,GAAG,CAAA;AACpC;;;;;;"}
package/dist/types.d.ts CHANGED
@@ -2,11 +2,10 @@ import type { ILogger } from "./logging/log";
2
2
  import type { PerseusStrings } from "./strings";
3
3
  import type { SizeClass } from "./util/sizing-utils";
4
4
  import type { WidgetPromptJSON } from "./widget-ai-utils/prompt-types";
5
- import type getCategorizerPublicWidgetOptions from "./widgets/categorizer/categorizer.util";
6
5
  import type { KeypadAPI } from "@khanacademy/math-input";
7
- import type { Hint, PerseusAnswerArea, PerseusGraphType, PerseusWidget, PerseusWidgetsMap, AnalyticsEventHandlerFn } from "@khanacademy/perseus-core";
6
+ import type { Hint, PerseusAnswerArea, PerseusGraphType, PerseusWidget, PerseusWidgetsMap, AnalyticsEventHandlerFn, Version, WidgetOptionsUpgradeMap, getOrdererPublicWidgetOptions, getCategorizerPublicWidgetOptions, getExpressionPublicWidgetOptions } from "@khanacademy/perseus-core";
8
7
  import type { LinterContextProps } from "@khanacademy/perseus-linter";
9
- import type { PerseusScore, Rubric, UserInput, UserInputArray, UserInputMap } from "@khanacademy/perseus-score";
8
+ import type { PerseusScore, Rubric, UserInput, UserInputArray, UserInputMap, ValidationData, ValidationResult } from "@khanacademy/perseus-score";
10
9
  import type { Result } from "@khanacademy/wonder-blocks-data";
11
10
  import type * as React from "react";
12
11
  export type FocusPath = ReadonlyArray<string> | null | undefined;
@@ -65,10 +64,6 @@ export interface Widget {
65
64
  export type ImageDict = {
66
65
  [url: string]: Dimensions;
67
66
  };
68
- export type Version = {
69
- major: number;
70
- minor: number;
71
- };
72
67
  export type EditorMode = "edit" | "preview" | "json";
73
68
  export type ChoiceState = {
74
69
  selected: boolean;
@@ -109,7 +104,7 @@ export declare const MafsGraphTypeFlags: readonly ["angle", "segment", "linear",
109
104
  /**
110
105
  * APIOptions provides different ways to customize the behaviour of Perseus.
111
106
  *
112
- * @see APIOptionsWithDefaults
107
+ * @see {@link APIOptionsWithDefaults}
113
108
  */
114
109
  export type APIOptions = Readonly<{
115
110
  isArticle?: boolean;
@@ -360,11 +355,12 @@ type WidgetOptions = any;
360
355
  * identity transform.
361
356
  */
362
357
  export type WidgetTransform = (arg1: WidgetOptions, strings: PerseusStrings, problemNumber?: number) => any;
358
+ export type WidgetValidatorFunction = (userInput: UserInput, validationData: ValidationData, strings: PerseusStrings, locale: string) => ValidationResult;
363
359
  export type WidgetScorerFunction = (userInput: UserInput, rubric: Rubric, string?: PerseusStrings, locale?: string) => PerseusScore;
364
360
  /**
365
361
  * A union type of all the functions that provide public widget options.
366
362
  */
367
- export type PublicWidgetOptionsFunction = typeof getCategorizerPublicWidgetOptions;
363
+ export type PublicWidgetOptionsFunction = typeof getCategorizerPublicWidgetOptions | typeof getOrdererPublicWidgetOptions | typeof getExpressionPublicWidgetOptions;
368
364
  export type WidgetExports<T extends React.ComponentType<any> & Widget = React.ComponentType<any>> = Readonly<{
369
365
  name: string;
370
366
  displayName: string;
@@ -397,6 +393,13 @@ export type WidgetExports<T extends React.ComponentType<any> & Widget = React.Co
397
393
  * static renders.
398
394
  */
399
395
  staticTransform?: WidgetTransform;
396
+ /**
397
+ * Validates the learner's guess to check if it's sufficient for scoring.
398
+ * Typically, this is basically an "emptiness" check, but for some widgets
399
+ * such as `interactive-graph` it is a check that the learner has made any
400
+ * edits (ie. the widget is not in it's origin state).
401
+ */
402
+ validator?: WidgetValidatorFunction;
400
403
  /**
401
404
  * A function that scores user input (the guess) for the widget.
402
405
  */
@@ -418,9 +421,7 @@ export type WidgetExports<T extends React.ComponentType<any> & Widget = React.Co
418
421
  *
419
422
  * This configuration would migrate options from major version 0 to 1.
420
423
  */
421
- propUpgrades?: {
422
- [targetMajorVersion: string]: (arg1: any) => any;
423
- };
424
+ propUpgrades?: WidgetOptionsUpgradeMap;
424
425
  }>;
425
426
  export type FilterCriterion = string | ((id: string, widgetInfo: PerseusWidget, widget?: Widget | null | undefined) => boolean);
426
427
  /**
@@ -1,5 +1,5 @@
1
1
  import type mockWidget from "../../widgets/mock-widgets/mock-widget";
2
- import type { PerseusMockWidgetUserInput } from "@khanacademy/perseus-score";
2
+ import type { PerseusMockWidgetUserInput } from "../../widgets/mock-widgets/mock-widget-types";
3
3
  import type React from "react";
4
4
  export type MockWidgetPromptJSON = {
5
5
  type: "mock-widget";
@@ -1,4 +1,4 @@
1
- import type { PerseusItem, PerseusWidget, PerseusWidgetsMap } from "@khanacademy/perseus-core";
1
+ import { type PerseusItem, type PerseusWidget, type PerseusWidgetsMap } from "@khanacademy/perseus-core";
2
2
  /**
3
3
  * Get a widget type by a widget's ID
4
4
  * (please don't derive type from ID)
@@ -17,27 +17,6 @@ export declare function getWidgetTypeByWidgetId(WidgetId: string, widgetMap: Per
17
17
  * @returns {boolean} if the content includes the widget type
18
18
  */
19
19
  export declare function contentHasWidgetType(type: string, content: string, widgetMap: PerseusWidgetsMap): boolean;
20
- /**
21
- * Extract all widget IDs, which includes the widget type and instance number.
22
- * example output: ['radio 1', 'categorizer 1', 'categorizor 2']
23
- *
24
- * Content should contain Perseus widget placeholders,
25
- * which look like: '[[☃ radio 1]]'.
26
- *
27
- * @param {string} content
28
- * @returns {ReadonlyArray<string>} widgetIds
29
- */
30
- export declare function getWidgetIdsFromContent(content: string): ReadonlyArray<string>;
31
- /**
32
- * Get a list of widget IDs from content,
33
- * but only for specific widget types
34
- *
35
- * @param {string} type the type of widget (ie "radio")
36
- * @param {string} content the string to parse
37
- * @param {PerseusWidgetsMap} widgetMap widget ID to widget map
38
- * @returns {ReadonlyArray<string>} the widget type (ie "radio")
39
- */
40
- export declare function getWidgetIdsFromContentByType(type: string, content: string, widgetMap: PerseusWidgetsMap): ReadonlyArray<string>;
41
20
  /**
42
21
  * Pull the widget map out of ItemData
43
22
  *
@@ -1,12 +1,11 @@
1
- import { scoreCategorizer } from "@khanacademy/perseus-score";
1
+ import { type PerseusCategorizerWidgetOptions, getCategorizerPublicWidgetOptions } from "@khanacademy/perseus-core";
2
+ import { scoreCategorizer, validateCategorizer } from "@khanacademy/perseus-score";
2
3
  import * as React from "react";
3
4
  import { PerseusI18nContext } from "../../components/i18n-context";
4
- import getCategorizerPublicWidgetOptions from "./categorizer.util";
5
5
  import type { Widget, WidgetProps } from "../../types";
6
6
  import type { CategorizerPromptJSON } from "../../widget-ai-utils/categorizer/categorizer-ai-utils";
7
- import type { PerseusCategorizerWidgetOptions } from "@khanacademy/perseus-core";
8
- import type { PerseusCategorizerScoringData, PerseusCategorizerUserInput } from "@khanacademy/perseus-score";
9
- type Props = WidgetProps<RenderProps, PerseusCategorizerScoringData> & {
7
+ import type { PerseusCategorizerRubric, PerseusCategorizerUserInput } from "@khanacademy/perseus-score";
8
+ type Props = WidgetProps<RenderProps, PerseusCategorizerRubric> & {
10
9
  values: ReadonlyArray<string>;
11
10
  };
12
11
  type DefaultProps = {
@@ -45,6 +44,7 @@ declare const _default: {
45
44
  staticTransform: (editorProps: PerseusCategorizerWidgetOptions) => RenderProps;
46
45
  isLintable: true;
47
46
  scorer: typeof scoreCategorizer;
47
+ validator: typeof validateCategorizer;
48
48
  getPublicWidgetOptions: typeof getCategorizerPublicWidgetOptions;
49
49
  };
50
50
  export default _default;
@@ -1,13 +1,14 @@
1
1
  /**
2
2
  * This widget is for embedding Khan Academy CS programs.
3
3
  */
4
- import { scoreCSProgram, type PerseusCSProgramRubric, type PerseusCSProgramUserInput } from "@khanacademy/perseus-score";
4
+ import { scoreCSProgram } from "@khanacademy/perseus-score";
5
5
  import * as React from "react";
6
6
  import type { Widget, WidgetProps } from "../../types";
7
7
  import type { UnsupportedWidgetPromptJSON } from "../../widget-ai-utils/unsupported-widget";
8
8
  import type { PerseusCSProgramWidgetOptions } from "@khanacademy/perseus-core";
9
+ import type { PerseusCSProgramUserInput } from "@khanacademy/perseus-score";
9
10
  type RenderProps = PerseusCSProgramWidgetOptions & PerseusCSProgramUserInput;
10
- type Props = WidgetProps<RenderProps, PerseusCSProgramRubric>;
11
+ type Props = WidgetProps<RenderProps>;
11
12
  type DefaultProps = {
12
13
  showEditor: Props["showEditor"];
13
14
  showButtons: Props["showButtons"];
@@ -1,4 +1,4 @@
1
- import { scoreDropdown } from "@khanacademy/perseus-score";
1
+ import { scoreDropdown, validateDropdown } from "@khanacademy/perseus-score";
2
2
  import * as React from "react";
3
3
  import { PerseusI18nContext } from "../../components/i18n-context";
4
4
  import type { Widget, WidgetProps } from "../../types";
@@ -39,5 +39,6 @@ declare const _default: {
39
39
  widget: typeof Dropdown;
40
40
  transform: (arg1: PerseusDropdownWidgetOptions) => RenderProps;
41
41
  scorer: typeof scoreDropdown;
42
+ validator: typeof validateDropdown;
42
43
  };
43
44
  export default _default;
@@ -1,11 +1,12 @@
1
- import { type PerseusExpressionWidgetOptions } from "@khanacademy/perseus-core";
2
- import { scoreExpression, type PerseusExpressionRubric, type PerseusExpressionUserInput } from "@khanacademy/perseus-score";
1
+ import { type PerseusExpressionWidgetOptions, getExpressionPublicWidgetOptions } from "@khanacademy/perseus-core";
2
+ import { scoreExpression, validateExpression } from "@khanacademy/perseus-score";
3
3
  import * as React from "react";
4
4
  import { PerseusI18nContext } from "../../components/i18n-context";
5
5
  import type { DependenciesContext } from "../../dependencies";
6
- import type { FocusPath, Widget, WidgetProps } from "../../types";
6
+ import type { WidgetProps, Widget, FocusPath } from "../../types";
7
7
  import type { ExpressionPromptJSON } from "../../widget-ai-utils/expression/expression-ai-utils";
8
8
  import type { Keys as Key, KeypadConfiguration } from "@khanacademy/math-input";
9
+ import type { PerseusExpressionRubric, PerseusExpressionUserInput } from "@khanacademy/perseus-score";
9
10
  type InputPath = ReadonlyArray<string>;
10
11
  type RenderProps = {
11
12
  buttonSets: PerseusExpressionWidgetOptions["buttonSets"];
@@ -229,15 +230,12 @@ declare const _default: {
229
230
  times?: boolean | undefined;
230
231
  } & {}, keyof import("../..").PerseusDependenciesV2> & React.RefAttributes<Expression>>;
231
232
  transform: (widgetOptions: PerseusExpressionWidgetOptions) => RenderProps;
232
- version: {
233
- major: number;
234
- minor: number;
235
- };
236
- propUpgrades: {
237
- readonly "1": (v0props: any) => PerseusExpressionWidgetOptions;
238
- };
233
+ version: import("@khanacademy/perseus-core").Version | undefined;
234
+ propUpgrades: import("@khanacademy/perseus-core").WidgetOptionsUpgradeMap | undefined;
239
235
  isLintable: true;
240
236
  scorer: typeof scoreExpression;
237
+ validator: typeof validateExpression;
238
+ getPublicWidgetOptions: typeof getExpressionPublicWidgetOptions;
241
239
  getOneCorrectAnswerFromRubric(rubric: PerseusExpressionRubric): string | null | undefined;
242
240
  };
243
241
  export default _default;
@@ -1,4 +1,4 @@
1
- import { scoreGrapher, type PerseusGrapherRubric, type PerseusGrapherUserInput } from "@khanacademy/perseus-score";
1
+ import { scoreGrapher } from "@khanacademy/perseus-score";
2
2
  import * as React from "react";
3
3
  import Graphie from "../../components/graphie";
4
4
  import type { Coord } from "../../interactive2/types";
@@ -6,6 +6,7 @@ import type { Widget, WidgetProps } from "../../types";
6
6
  import type { GridDimensions } from "../../util";
7
7
  import type { GrapherPromptJSON } from "../../widget-ai-utils/grapher/grapher-ai-utils";
8
8
  import type { MarkingsType, PerseusGrapherWidgetOptions } from "@khanacademy/perseus-core";
9
+ import type { PerseusGrapherRubric, PerseusGrapherUserInput } from "@khanacademy/perseus-score";
9
10
  import type { PropsFor } from "@khanacademy/wonder-blocks-core";
10
11
  type RenderProps = {
11
12
  availableTypes: PerseusGrapherWidgetOptions["availableTypes"];
@@ -2,10 +2,11 @@ import * as React from "react";
2
2
  import { PerseusI18nContext } from "../../components/i18n-context";
3
3
  import Renderer from "../../renderer";
4
4
  import scoreGroup from "./score-group";
5
+ import validateGroup from "./validate-group";
5
6
  import type { ChangeFn, FocusPath, Widget, WidgetProps } from "../../types";
6
7
  import type { GroupPromptJSON } from "../../widget-ai-utils/group/group-ai-utils";
7
8
  import type { PerseusGroupWidgetOptions } from "@khanacademy/perseus-core";
8
- import type { PerseusGroupRubric, UserInputArray } from "@khanacademy/perseus-score";
9
+ import type { PerseusGroupRubric, UserInputArray, UserInputMap } from "@khanacademy/perseus-score";
9
10
  type RenderProps = PerseusGroupWidgetOptions;
10
11
  type Props = WidgetProps<RenderProps, PerseusGroupRubric>;
11
12
  type DefaultProps = {
@@ -21,7 +22,7 @@ declare class Group extends React.Component<Props> implements Widget {
21
22
  static defaultProps: DefaultProps;
22
23
  componentDidMount(): void;
23
24
  change: ChangeFn;
24
- getUserInputMap(): import("@khanacademy/perseus-score").UserInputMap | undefined;
25
+ getUserInputMap(): UserInputMap | undefined;
25
26
  /**
26
27
  * @deprecated getUserInputMap should be used for Groups
27
28
  */
@@ -43,6 +44,7 @@ declare const _default: {
43
44
  widget: typeof Group;
44
45
  traverseChildWidgets: (props: any, traverseRenderer: any) => any;
45
46
  scorer: typeof scoreGroup;
47
+ validator: typeof validateGroup;
46
48
  hidden: true;
47
49
  isLintable: true;
48
50
  };
@@ -1,4 +1,4 @@
1
1
  import type { PerseusStrings } from "../../strings";
2
- import type { PerseusScore, PerseusGroupRubric, PerseusGroupUserInput } from "@khanacademy/perseus-score";
3
- declare function scoreGroup(userInput: PerseusGroupUserInput, options: PerseusGroupRubric, strings: PerseusStrings, locale: string): PerseusScore;
2
+ import type { PerseusGroupRubric, PerseusGroupUserInput, PerseusScore } from "@khanacademy/perseus-score";
3
+ declare function scoreGroup(userInput: PerseusGroupUserInput, rubric: PerseusGroupRubric, strings: PerseusStrings, locale: string): PerseusScore;
4
4
  export default scoreGroup;
@@ -0,0 +1,4 @@
1
+ import type { PerseusStrings } from "../../strings";
2
+ import type { PerseusGroupUserInput, PerseusGroupValidationData, ValidationResult } from "@khanacademy/perseus-score";
3
+ declare function validateGroup(userInput: PerseusGroupUserInput, validationData: PerseusGroupValidationData, strings: PerseusStrings, locale: string): ValidationResult;
4
+ export default validateGroup;
@@ -6,18 +6,19 @@
6
6
  * It's particularly well suited for embedding our ProcessingJS programs,
7
7
  * but could also be used for embedding viz's hosted elsewhere.
8
8
  */
9
- import { scoreIframe, type PerseusIFrameRubric, type PerseusIFrameUserInput, type UserInputStatus } from "@khanacademy/perseus-score";
9
+ import { scoreIframe } from "@khanacademy/perseus-score";
10
10
  import * as React from "react";
11
11
  import type { WidgetProps, Widget } from "../../types";
12
12
  import type { UnsupportedWidgetPromptJSON } from "../../widget-ai-utils/unsupported-widget";
13
13
  import type { PerseusIFrameWidgetOptions } from "@khanacademy/perseus-core";
14
+ import type { PerseusIFrameUserInput, UserInputStatus } from "@khanacademy/perseus-score";
14
15
  type RenderProps = PerseusIFrameWidgetOptions & {
15
16
  status: UserInputStatus;
16
17
  message: string | null;
17
18
  width: string;
18
19
  height: string;
19
20
  };
20
- type Props = WidgetProps<RenderProps, PerseusIFrameRubric>;
21
+ type Props = WidgetProps<RenderProps>;
21
22
  type DefaultProps = {
22
23
  status: Props["status"];
23
24
  message: Props["message"];