diff --git a/200.html b/200.html index 4f4d8ff..2f00e7e 100644 --- a/200.html +++ b/200.html @@ -1 +1 @@ -
Write a function that takes a sentence as a parameter and returns the number of vowels in the sentence. You can assume that the sentence will only contain lowercase letters, spaces, and punctuation.
sentence
is a string that represents the sentence.
Hidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
Write a function that takes a sentence as a parameter and returns the number of vowels in the sentence. You can assume that the sentence will only contain lowercase letters, spaces, and punctuation.
sentence
is a string that represents the sentence.
Hidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
The knapsack problem is a problem in combinatorial optimization. Given a set of items, each with a weight and a value, determine the number of each item to include in a collection so that the total weight is less than or equal to a given limit and the total value is as large as possible.
Consider a set of items: {A, B, C, D}
with weights {10, 20, 30, 40}
and values {60, 100, 120, 130}
. The maximum weight that can be carried is 50
. The maximum value that can be obtained is 220
by taking items A
and C
.
Write a function that takes an array of objects (each object containing an item's weight and value) and a maximum weight, and returns the maximum value that can be obtained by selecting a combination of items such that the total weight is less than or equal to the maximum weight. In test cases, items
is an array of objects, each with a weight
and value
. maxWeight
is the maximum weight that can be carried. The function knapsackProblem
is called with these arguments and returns the maximum value that can be obtained by selecting items such that the total weight is less than or equal to maxWeight
. The hidden test cases work similarly with hiddenItems1
, hiddenItems2
, hiddenMaxWeight1
, and hiddenMaxWeight2
.
Hidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
The knapsack problem is a problem in combinatorial optimization. Given a set of items, each with a weight and a value, determine the number of each item to include in a collection so that the total weight is less than or equal to a given limit and the total value is as large as possible.
Consider a set of items: {A, B, C, D}
with weights {10, 20, 30, 40}
and values {60, 100, 120, 130}
. The maximum weight that can be carried is 50
. The maximum value that can be obtained is 220
by taking items A
and C
.
Write a function that takes an array of objects (each object containing an item's weight and value) and a maximum weight, and returns the maximum value that can be obtained by selecting a combination of items such that the total weight is less than or equal to the maximum weight. In test cases, items
is an array of objects, each with a weight
and value
. maxWeight
is the maximum weight that can be carried. The function knapsackProblem
is called with these arguments and returns the maximum value that can be obtained by selecting items such that the total weight is less than or equal to maxWeight
. The hidden test cases work similarly with hiddenItems1
, hiddenItems2
, hiddenMaxWeight1
, and hiddenMaxWeight2
.
Hidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
The Travelling Salesman Problem (TSP) is a classic algorithmic problem in the field of computer science and operations research. It focuses on optimization. In this problem, a salesman is given a list of cities, and must determine the shortest possible route that allows him to visit each city once and return to his original location.
Consider a set of cities: {A, B, C, D}
. The distances between each pair of cities are given in a matrix form:
A B C D
+WeCode WeCode Graph TheoryThe Travelling Salesman Problem (TSP) is a classic algorithmic problem in the field of computer science and operations research. It focuses on optimization. In this problem, a salesman is given a list of cities, and must determine the shortest possible route that allows him to visit each city once and return to his original location.
- The number of cities is between 2 and 10.
- The distance between any two cities is between 1 and 100.
Example
Consider a set of cities: {A, B, C, D}
. The distances between each pair of cities are given in a matrix form:
A B C D
A 0 10 15 20
-
The shortest possible route that visits each city once and returns to the original city is A -> B -> D -> C -> A
with a total distance of 80
.
Write a function that takes a matrix of distances between cities and returns the shortest possible route that a salesman can take to visit each city once and return to the original city.
function travellingSalesmanProblem(distances) {}Tests- travellingSalesmanProblem(distances1); ➔ 80 : Not Run
- travellingSalesmanProblem(distances2); ➔ 31 : Not Run
- travellingSalesmanProblem(distances3); ➔ 21 : Not Run
Hidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
\ No newline at end of file
diff --git a/Problem/intro/intro1/index.html b/Problem/intro/intro1/index.html
index 715eda2..490b01f 100644
--- a/Problem/intro/intro1/index.html
+++ b/Problem/intro/intro1/index.html
@@ -1,4 +1,4 @@
-WeCode WeCode Learning to CodeThought this course, we will be using JavaScript as our programming language.
You'll learn though a series of bite-sized programming challenges that will help you learn the basics of programming. The challenges are designed to be fun and engaging, and to help you learn how to think like a programmer. We'll start with the basics and gradually build up to more complex problems.
While we'll be using JavaScript, the concepts you'll learn are applicable to any programming language. We'll avoid going too deep into the language-specific details, and instead focus on the core concepts that are common to all programming languages.
Prerequisites
- No prior programming experience is required.
- Knowledge of algebra will be extremely helpful.
- A lot of our problems will build on the concepts of algebra, so having a good understanding of algebra will be very helpful.
- You don't need to be an expert, but you should be comfortable with basic algebraic concepts like variables, functions, function notation, and function composition.
What you'll learn
- How to write javascript code.
- How to solve problems using code.
- How to think like a programmer.
- How to break down complex problems into smaller, more manageable parts.
- How to use code to solve real-world problems.
- How to use code to automate repetitive tasks.
How to use this course
- Each problem will be presented as a challenge that you need to solve.
- You'll be given a problem statement, and you'll need to write a function that solves the problem.
- You'll be given a set of test cases that your function should pass.
- Some of the test cases will be visible to you, while others will be hidden to prevent you from basing your solution on the visible test cases. You should write your function so that it passes all the test cases.
- You have unlimited attempts to solve each problem`.
- Feel free to skip around and work on the problems in any order you like.
- If you get stuck, press the "I'm stuck" button, and an AI-powered tutor will analyze your code and give you a hint to help get you unstuck!
Let's get started!
You're probably familiar with functions from algebra. In algebra, a function is a rule that assigns each input value to exactly one output value.
Take, for example:
.
In this function, the input value is x, and the output value is x squared.
Let's try to write a function in JavaScript that does the same thing.
function f(x) {
+WeCode WeCode Learning to CodeThought this course, we will be using JavaScript as our programming language.
You'll learn though a series of bite-sized programming challenges that will help you learn the basics of programming. The challenges are designed to be fun and engaging, and to help you learn how to think like a programmer. We'll start with the basics and gradually build up to more complex problems.
While we'll be using JavaScript, the concepts you'll learn are applicable to any programming language. We'll avoid going too deep into the language-specific details, and instead focus on the core concepts that are common to all programming languages.
Prerequisites
- No prior programming experience is required.
- Knowledge of algebra will be extremely helpful.
- A lot of our problems will build on the concepts of algebra, so having a good understanding of algebra will be very helpful.
- You don't need to be an expert, but you should be comfortable with basic algebraic concepts like variables, functions, function notation, and function composition.
What you'll learn
- How to write javascript code.
- How to solve problems using code.
- How to think like a programmer.
- How to break down complex problems into smaller, more manageable parts.
- How to use code to solve real-world problems.
- How to use code to automate repetitive tasks.
How to use this course
- Each problem will be presented as a challenge that you need to solve.
- You'll be given a problem statement, and you'll need to write a function that solves the problem.
- You'll be given a set of test cases that your function should pass.
- Some of the test cases will be visible to you, while others will be hidden to prevent you from basing your solution on the visible test cases. You should write your function so that it passes all the test cases.
- You have unlimited attempts to solve each problem`.
- Feel free to skip around and work on the problems in any order you like.
- If you get stuck, press the "I'm stuck" button, and an AI-powered tutor will analyze your code and give you a hint to help get you unstuck!
Let's get started!
You're probably familiar with functions from algebra. In algebra, a function is a rule that assigns each input value to exactly one output value.
Take, for example:
.
In this function, the input value is x, and the output value is x squared.
Let's try to write a function in JavaScript that does the same thing.
function f(x) {
return x + 1;
}
Notice that the function is defined using the function
keyword. In javascript, the function
keyword tells the computer that the following code is a function.
The text between the function
keyword and the parentheses is the name of the function. In this case, the function is called f
.
The parentheses that are immediately after the function name are where we put the input value to the function. You can think of the parentheses and variable, x
inside them exactly like the variable and parentheses in the algebraic function.
The {
and }
are used to define the body of the function. You don't see these in math, but they tell JavaScript where the function starts and ends. So, the function begins after the {
and ends after the }
.
The return
keyword tells the computer what the output value of the function is. When the computer sees the return
keyword, it reads whatever code is after it and "returns" that value as the output of the function.
So, with the code above, we've defined a function called f
that takes an input value x
and returns x + 1
.
If we wanted to use this function, we could call it like this:
f(3);
@@ -8,7 +8,7 @@
Here, we've defined a function called g
that takes an input value x
and returns x * 2
.
So, if we called g(3)
, it would return 3 * 2
, which is 6
.
function h(a) {
return a * a;
}
-
Here, we've defined a function called h
that takes an input value a
and returns a * a
. (or a
squared)
So, if we called h(3)
, it would return 3 * 3
, which is 9
.
Your first challenge
Can you write the function for the following algebraic function?
Tests- f(1) ➔ 6 : Not Run
- f(2) ➔ 7 : Not Run
- f(3) ➔ 8 : Not Run
- f(4) ➔ 9 : Not Run
- f(-1) ➔ 4 : Not Run
- f(-2) ➔ 3 : Not Run
- f(-3) ➔ 2 : Not Run
Hidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
\ No newline at end of file
diff --git a/Problem/intro/intro2/index.html b/Problem/intro/intro2/index.html
index e773aaf..7ab5b42 100644
--- a/Problem/intro/intro2/index.html
+++ b/Problem/intro/intro2/index.html
@@ -1,4 +1,4 @@
-WeCode WeCode Constant FunctionsIn algebra, we can define a function that returns a constant value.
For example, we can define a function .
This function will always return 5, no matter what value of x
we pass to it.
Let's write a function that returns a constant value. Write the algebraic function from above, , as a JavaScript function.
Tests- f(0) ➔ 5 : Not Run
- f(1) ➔ 5 : Not Run
- f(2) ➔ 5 : Not Run
- f(3) ➔ 5 : Not Run
- f(-1) ➔ 5 : Not Run
Hidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
WeCode Constant FunctionsIn algebra, we can define a function that returns a constant value.
For example, we can define a function .
This function will always return 5, no matter what value of x
we pass to it.
Let's write a function that returns a constant value. Write the algebraic function from above, , as a JavaScript function.
Tests- f(0) ➔ 5 : Not Run
- f(1) ➔ 5 : Not Run
- f(2) ➔ 5 : Not Run
- f(3) ➔ 5 : Not Run
- f(-1) ➔ 5 : Not Run
Hidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
\ No newline at end of file
diff --git a/Problem/intro/intro3/index.html b/Problem/intro/intro3/index.html
index f36e5fe..9ae52ea 100644
--- a/Problem/intro/intro3/index.html
+++ b/Problem/intro/intro3/index.html
@@ -1,10 +1,10 @@
-WeCode WeCode Constant Functions 2In algebra, it would be weird to define a function that has no input value. In programming, it's not so weird, and we do it all the time.
We've been writing functions that take an input value and return a value based on that input like this:
function f(x) {
+WeCode WeCode Constant Functions 2In algebra, it would be weird to define a function that has no input value. In programming, it's not so weird, and we do it all the time.
We've been writing functions that take an input value and return a value based on that input like this:
function f(x) {
return x * x + 5;
}
But we can also write functions that don't take any input value at all, like this:
function f() {
return 2.71828;
}
-
Notice that there's no x
in the parentheses after f
. This means that f
doesn't take any input value at all.
Also did you notice that the return
value is a number with a decimal point? Numbers can have decimal points in JavaScript, just like in math. For us right now, you can write any real number you want in JavaScript. (This isn't technically true, but it's true enough for now.)
Let's write a function that returns a constant value, the first 7 digits of pi.
Notice that the function doesn't take any input value at all.
TestsThere are no visible test casesHidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
\ No newline at end of file
diff --git a/Problem/intro/intro4/index.html b/Problem/intro/intro4/index.html
index dd44bce..63cf677 100644
--- a/Problem/intro/intro4/index.html
+++ b/Problem/intro/intro4/index.html
@@ -1,4 +1,4 @@
-WeCode WeCode Multiple InputsLike in math, we can create a function that takes multiple input values and returns a single value.
For example, the function . Looks like this in JavaScript:
function f(x, y) {
+WeCode WeCode Multiple InputsLike in math, we can create a function that takes multiple input values and returns a single value.
For example, the function . Looks like this in JavaScript:
function f(x, y) {
return x + y;
}
Here, we've defined a function called f
that takes two input values x
and y
and returns x + y
. Notice that the input values are separated by a comma in the parentheses after f
. These are required and not putting them there will cause an error.
Nothing is preventing us from writing a function that takes 3, 4, 5, or even more input values.
Here we have a function that takes 3 input values and returns the sum of the squares of the input values:
function f(x, y, z) {
@@ -10,7 +10,7 @@
This is the same as the function above, but it's a little more clear what we want the computer to do.
Some functions that we want to write will require parentheses to make sure the computer does exactly what we want it to do.
For example, if we have:
We would write the function in JavaScript like this:
function f(a, b, c) {
return a ** 2 + 2 * (a + b) + c;
}
-
With parentheses in the exact same places as in the algebraic function.
Also note that we use "**" to denote an exponent in JavaScript. The "^" symbol is used for something else, and we'll learn about it later.
Let's try this
Let's write a function that takes 4 inputs and calculates the following:
Note:
Remember, in JavaScript, we use **
to denote an exponent.
Tests- f(1, 2, 3, 4) ➔ 120 : Not Run
- f(0, 0, 0, 0) ➔ 0 : Not Run
- f(1, 1, 1, 1) ➔ 13 : Not Run
- f(2, 2, 2, 2) ➔ 100 : Not Run
- f(0, 0.75, 1.5, 5) ➔ 15.9375 : Not Run
Hidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
\ No newline at end of file
diff --git a/Problem/intro/intro5/index.html b/Problem/intro/intro5/index.html
index 5cf22e9..a31ff05 100644
--- a/Problem/intro/intro5/index.html
+++ b/Problem/intro/intro5/index.html
@@ -1,4 +1,4 @@
-WeCode WeCode Piecewise FunctionsIn algebra, we can define a function made up of multiple functions also known as a piecewise function.
Example 1
Take, for example, the function defined as:
This function is defined as two separate functions, one for when and one for when .
To do this in JavaScript, we need to use an if
statement.
Let's first write out a JavaScript function that does the same thing as the algebraic function above. After that, I'll explain how it works.
function f(x) {
+WeCode WeCode Piecewise FunctionsIn algebra, we can define a function made up of multiple functions also known as a piecewise function.
Example 1
Take, for example, the function defined as:
This function is defined as two separate functions, one for when and one for when .
To do this in JavaScript, we need to use an if
statement.
Let's first write out a JavaScript function that does the same thing as the algebraic function above. After that, I'll explain how it works.
function f(x) {
if (x < 0) {
return x + 1;
} else {
@@ -14,7 +14,7 @@
return x + 1;
}
}
-
Line 2-3
The if
statement checks if x >= -3
is true
. If it is, the computer runs the code inside the braces that follow the if
statement.
So, if x >= -3
is true
, the computer will run return x ** 2;
.
Notice that we use >=
to denote "greater than or equal to" in JavaScript. The same is true for <=
which denotes "less than or equal to".
Line 4–5
We have another thing we haven't seen before, the else if
statement. The else if
statement is used when we have more than one condition to check.
Like the else
statement, the else if
statement only runs if the condition in the if
statements that proceed it are false
. Additionally, like the if
statement, the else if
statement checks if the condition inside the parentheses is true
before running the code inside the braces that follow it.
So, if -10 < x && x < -3
is true
, the computer will run return 2 * x + 1;
.
Notice that the &&
is used to denote an "and" in JavaScript. We must use two &
symbols to denote an "and" in JavaScript. The single &
symbol is used for something else, and we'll learn about it later.
Also note: -10 < x < -3
isn't valid JavaScript syntax. While in algebra we could write this, in JavaScript we can only perform one comparison at a time. (We need to split the comparison into two separate comparisons, -10 < x && x < -3
.)
Line 6–8
The else
statement is used to catch any values of x
that don't satisfy the conditions in the if
and else if
statements. If there were more else if
statements, the else
statement would only run if all the conditions in the if
and else if
statements were false
.
So, if x >= -3
is false
and -10 < x && x < -3
is false
, the computer will run return x + 1;
.
Let's try this
Write a function that is equivalent to the following piecewise function:
Reference:
<=
denotes "less than or equal to" in JavaScript.>=
denotes "greater than or equal to" in JavaScript.&&
denotes "and" in JavaScript.**
denotes an exponent in JavaScript.
function f(x) {}Tests- f(5) ➔ 33 : Not Run
- f(4) ➔ 15 : Not Run
- f(3) ➔ 8 : Not Run
- f(0) ➔ -1 : Not Run
- f(-1) ➔ -1 : Not Run
- f(-2) ➔ -3 : Not Run
- f(-3) ➔ 3 : Not Run
- f(-4) ➔ 4 : Not Run
Hidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
\ No newline at end of file
diff --git a/Problem/intro/piecewisepractice1/index.html b/Problem/intro/piecewisepractice1/index.html
index 931d7d9..2ba4941 100644
--- a/Problem/intro/piecewisepractice1/index.html
+++ b/Problem/intro/piecewisepractice1/index.html
@@ -1,4 +1,4 @@
-WeCode WeCode Piecewise Function Practice 1Write a function that is equivalent to the following piecewise function:
function f(x) {}Tests- f(8) ➔ -21 : Not Run
- f(7) ➔ 17.520259177452132 : Not Run
- f(6) ➔ 13.696938456699069 : Not Run
- f(5) ➔ 10.180339887498949 : Not Run
- f(4) ➔ 7 : Not Run
- f(3) ➔ 4.196152422706632 : Not Run
- f(2) ➔ 1.5 : Not Run
- f(1) ➔ 1.25 : Not Run
- f(0) ➔ 1 : Not Run
- f(-1) ➔ -3.75 : Not Run
- f(-2) ➔ -11 : Not Run
Hidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
WeCode Piecewise Function Practice 1Write a function that is equivalent to the following piecewise function:
function f(x) {}Tests- f(8) ➔ -21 : Not Run
- f(7) ➔ 17.520259177452132 : Not Run
- f(6) ➔ 13.696938456699069 : Not Run
- f(5) ➔ 10.180339887498949 : Not Run
- f(4) ➔ 7 : Not Run
- f(3) ➔ 4.196152422706632 : Not Run
- f(2) ➔ 1.5 : Not Run
- f(1) ➔ 1.25 : Not Run
- f(0) ➔ 1 : Not Run
- f(-1) ➔ -3.75 : Not Run
- f(-2) ➔ -11 : Not Run
Hidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
\ No newline at end of file
diff --git a/Problem/intro/piecewisepractice2/index.html b/Problem/intro/piecewisepractice2/index.html
index 1c40df2..ade6958 100644
--- a/Problem/intro/piecewisepractice2/index.html
+++ b/Problem/intro/piecewisepractice2/index.html
@@ -1,4 +1,4 @@
-WeCode WeCode Piecewise Function Practice 2Write a function that is equivalent to the following piecewise function:
function f(x) {}Tests- f(-3) ➔ -10.75 : Not Run
- f(-4) ➔ -15 : Not Run
- f(-5) ➔ 622 : Not Run
- f(-6.5) ➔ 43.25 : Not Run
- f(-7) ➔ 50 : Not Run
- f(-8) ➔ 65 : Not Run
- f(-9) ➔ -3.5 : Not Run
Hidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
WeCode Piecewise Function Practice 2Write a function that is equivalent to the following piecewise function:
function f(x) {}Tests- f(-3) ➔ -10.75 : Not Run
- f(-4) ➔ -15 : Not Run
- f(-5) ➔ 622 : Not Run
- f(-6.5) ➔ 43.25 : Not Run
- f(-7) ➔ 50 : Not Run
- f(-8) ➔ 65 : Not Run
- f(-9) ➔ -3.5 : Not Run
Hidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
\ No newline at end of file
diff --git a/Problem/intro/piecewisepractice3/index.html b/Problem/intro/piecewisepractice3/index.html
index e76e610..83eba0c 100644
--- a/Problem/intro/piecewisepractice3/index.html
+++ b/Problem/intro/piecewisepractice3/index.html
@@ -1,4 +1,4 @@
-WeCode WeCode Failed to load problem intro/piecewisepractice3WeCode Failed to load problem intro/piecewisepractice3
\ No newline at end of file
diff --git a/Problem/medium/binarysearchtree/index.html b/Problem/medium/binarysearchtree/index.html
index 5f8d40d..bb5476d 100644
--- a/Problem/medium/binarysearchtree/index.html
+++ b/Problem/medium/binarysearchtree/index.html
@@ -1,11 +1,11 @@
-WeCode WeCode Binary Search Tree TraversalBinary Search Trees (BST) are a fundamental data structure in computer science. They allow for efficient insertion, deletion, and lookup operations. One common operation performed on BSTs is traversal, where each node in the tree is visited in a specific order.
Example 1
Consider a BST with the following nodes: 8, 3, 10, 1, 6, 14, 4, 7, 13. The BST would look like this:
8
+WeCode WeCode Binary Search Tree TraversalBinary Search Trees (BST) are a fundamental data structure in computer science. They allow for efficient insertion, deletion, and lookup operations. One common operation performed on BSTs is traversal, where each node in the tree is visited in a specific order.
Example 1
Consider a BST with the following nodes: 8, 3, 10, 1, 6, 14, 4, 7, 13. The BST would look like this:
8
/ \
3 10
/ \ \
1 6 14
/ \ \
4 7 13
-
A common traversal method is the in-order traversal, which visits the nodes in ascending order. The in-order traversal for this BST would be: 1, 3, 4, 6, 7, 8, 10, 13, 14.
In these test cases, we're creating a binary search tree with the TreeNode
class. The root
is the topmost node in the tree, from which all other nodes descend. In this case, the root node has a value of 8
.
Let's try this
Write a function that performs an in-order traversal of a BST. The function should take the root of the BST as input and return an array of the nodes in ascending order.
function inOrderTraversal(root) {}Tests- inorderTraversal(root); ➔ 1,3,4,6,7,8,10,13,14 : Not Run
Hidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
\ No newline at end of file
diff --git a/Problem/medium/fibonacci/index.html b/Problem/medium/fibonacci/index.html
index f02d1c3..a7a4afd 100644
--- a/Problem/medium/fibonacci/index.html
+++ b/Problem/medium/fibonacci/index.html
@@ -1,4 +1,4 @@
-WeCode WeCode Fibonacci ProblemThe Fibonacci sequence is a series of numbers in which each number is the sum of the two preceding ones. So,
For reference, the 0th and 1st numbers in the Fibonacci sequence are 0
and 1
, respectively. The sequence starts like the following:
Write a function that takes in a number n
and returns the n
th number in the Fibonacci sequence.
function findNthFibonacci(n) {}Tests- findNthFibonacci(0) ➔ 0 : Not Run
- findNthFibonacci(1) ➔ 1 : Not Run
- findNthFibonacci(2) ➔ 1 : Not Run
- findNthFibonacci(3) ➔ 2 : Not Run
- findNthFibonacci(4) ➔ 3 : Not Run
- findNthFibonacci(5) ➔ 5 : Not Run
- findNthFibonacci(6) ➔ 8 : Not Run
- findNthFibonacci(7) ➔ 13 : Not Run
- findNthFibonacci(8) ➔ 21 : Not Run
- findNthFibonacci(9) ➔ 34 : Not Run
- findNthFibonacci(10) ➔ 55 : Not Run
- findNthFibonacci(11) ➔ 89 : Not Run
Hidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
WeCode Fibonacci ProblemThe Fibonacci sequence is a series of numbers in which each number is the sum of the two preceding ones. So,
For reference, the 0th and 1st numbers in the Fibonacci sequence are 0
and 1
, respectively. The sequence starts like the following:
Write a function that takes in a number n
and returns the n
th number in the Fibonacci sequence.
function findNthFibonacci(n) {}Tests- findNthFibonacci(0) ➔ 0 : Not Run
- findNthFibonacci(1) ➔ 1 : Not Run
- findNthFibonacci(2) ➔ 1 : Not Run
- findNthFibonacci(3) ➔ 2 : Not Run
- findNthFibonacci(4) ➔ 3 : Not Run
- findNthFibonacci(5) ➔ 5 : Not Run
- findNthFibonacci(6) ➔ 8 : Not Run
- findNthFibonacci(7) ➔ 13 : Not Run
- findNthFibonacci(8) ➔ 21 : Not Run
- findNthFibonacci(9) ➔ 34 : Not Run
- findNthFibonacci(10) ➔ 55 : Not Run
- findNthFibonacci(11) ➔ 89 : Not Run
Hidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
\ No newline at end of file
diff --git a/Problem/medium/mergesort/index.html b/Problem/medium/mergesort/index.html
index bfe6249..71f22c6 100644
--- a/Problem/medium/mergesort/index.html
+++ b/Problem/medium/mergesort/index.html
@@ -1,4 +1,4 @@
-WeCode WeCode Merge SortThe merge sort algorithm is a divide and conquer algorithm that works by dividing the input array into two halves, sorting the two halves, and then merging them back together.
It is a recursive algorithm that uses the following steps:
- Divide the array into two halves.
- Recursively sort the two halves.
- If the array has only one element, return the array. (Base case)
- Otherwise, divide the array into two halves and recursively sort each half
- Merge the two halves back together in sorted order.
- Note you'll probably want to write a helper function to merge the two halves together.
- The
merge
function should take two arrays as arguments and return a single sorted array. - How can you use the fact that the two halves are already sorted to merge them together efficiently?
- Return the sorted array.
Useful Information:
- You can use the
slice
method to divide the array into two halves.- Example:
[1, 2, 3, 4, 5].slice(0, 3)
returns [1, 2, 3]
.
- You can use the
concat
method to merge two arrays together.- Example:
[1, 2].concat([3, 4])
returns [1, 2, 3, 4]
.
Write a function that sorts an array of numbers using the merge sort algorithm.
function mergeSort(arr) {}Tests- mergeSort(arr) ➔ 3,9,10,27,38,43,82 : Not Run
- mergeSort(arr) ➔ -12,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 : Not Run
- mergeSort(arr) ➔ 1,2,3,4,5,6,7,8,9,10 : Not Run
- mergeSort(arr) ➔ 1,2,3,4,5,6,7,8,9,10 : Not Run
- mergeSort(arr) ➔ -20,3,4,6,10,14,23,35,354,453,565,657,1000,1004 : Not Run
Hidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
WeCode Merge SortThe merge sort algorithm is a divide and conquer algorithm that works by dividing the input array into two halves, sorting the two halves, and then merging them back together.
It is a recursive algorithm that uses the following steps:
- Divide the array into two halves.
- Recursively sort the two halves.
- If the array has only one element, return the array. (Base case)
- Otherwise, divide the array into two halves and recursively sort each half
- Merge the two halves back together in sorted order.
- Note you'll probably want to write a helper function to merge the two halves together.
- The
merge
function should take two arrays as arguments and return a single sorted array. - How can you use the fact that the two halves are already sorted to merge them together efficiently?
- Return the sorted array.
Useful Information:
- You can use the
slice
method to divide the array into two halves.- Example:
[1, 2, 3, 4, 5].slice(0, 3)
returns [1, 2, 3]
.
- You can use the
concat
method to merge two arrays together.- Example:
[1, 2].concat([3, 4])
returns [1, 2, 3, 4]
.
Write a function that sorts an array of numbers using the merge sort algorithm.
function mergeSort(arr) {}Tests- mergeSort(arr) ➔ 3,9,10,27,38,43,82 : Not Run
- mergeSort(arr) ➔ -12,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 : Not Run
- mergeSort(arr) ➔ 1,2,3,4,5,6,7,8,9,10 : Not Run
- mergeSort(arr) ➔ 1,2,3,4,5,6,7,8,9,10 : Not Run
- mergeSort(arr) ➔ -20,3,4,6,10,14,23,35,354,453,565,657,1000,1004 : Not Run
Hidden tests will be run when you submit your code
When you press "I'm stuck", the AI tutor will respond here.
\ No newline at end of file
diff --git a/asset-manifest.json b/asset-manifest.json
index 51ab7fe..d76d0d9 100644
--- a/asset-manifest.json
+++ b/asset-manifest.json
@@ -1,10 +1,11 @@
{
"files": {
- "main.css": "/static/css/main.3d89e9e4.css",
- "main.js": "/static/js/main.c27976cb.js",
- "static/js/221.ed47e118.chunk.js": "/static/js/221.ed47e118.chunk.js",
- "static/js/843.b0a929a7.chunk.js": "/static/js/843.b0a929a7.chunk.js",
- "static/js/853.f8edb0ba.chunk.js": "/static/js/853.f8edb0ba.chunk.js",
+ "main.css": "/static/css/main.420a9a19.css",
+ "main.js": "/static/js/main.f34bd028.js",
+ "static/js/786.7eeccd24.chunk.js": "/static/js/786.7eeccd24.chunk.js",
+ "static/js/843.55b31125.chunk.js": "/static/js/843.55b31125.chunk.js",
+ "static/js/248.7756e353.chunk.js": "/static/js/248.7756e353.chunk.js",
+ "static/js/853.4c6c25ca.chunk.js": "/static/js/853.4c6c25ca.chunk.js",
"static/js/488.a8d036df.chunk.js": "/static/js/488.a8d036df.chunk.js",
"static/js/780.c1ef71a3.chunk.js": "/static/js/780.c1ef71a3.chunk.js",
"static/js/303.87c5ac7d.chunk.js": "/static/js/303.87c5ac7d.chunk.js",
@@ -76,11 +77,12 @@
"static/media/KaTeX_Size3-Regular.woff2": "/static/media/KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2",
"static/media/github-mark-white.svg": "/static/media/github-mark-white.ac7f5ce28096dc43a49cbedeabffa77b.svg",
"index.html": "/index.html",
- "main.3d89e9e4.css.map": "/static/css/main.3d89e9e4.css.map",
- "main.c27976cb.js.map": "/static/js/main.c27976cb.js.map",
- "221.ed47e118.chunk.js.map": "/static/js/221.ed47e118.chunk.js.map",
- "843.b0a929a7.chunk.js.map": "/static/js/843.b0a929a7.chunk.js.map",
- "853.f8edb0ba.chunk.js.map": "/static/js/853.f8edb0ba.chunk.js.map",
+ "main.420a9a19.css.map": "/static/css/main.420a9a19.css.map",
+ "main.f34bd028.js.map": "/static/js/main.f34bd028.js.map",
+ "786.7eeccd24.chunk.js.map": "/static/js/786.7eeccd24.chunk.js.map",
+ "843.55b31125.chunk.js.map": "/static/js/843.55b31125.chunk.js.map",
+ "248.7756e353.chunk.js.map": "/static/js/248.7756e353.chunk.js.map",
+ "853.4c6c25ca.chunk.js.map": "/static/js/853.4c6c25ca.chunk.js.map",
"488.a8d036df.chunk.js.map": "/static/js/488.a8d036df.chunk.js.map",
"780.c1ef71a3.chunk.js.map": "/static/js/780.c1ef71a3.chunk.js.map",
"303.87c5ac7d.chunk.js.map": "/static/js/303.87c5ac7d.chunk.js.map",
@@ -92,7 +94,7 @@
"671.5426ab3a.chunk.js.map": "/static/js/671.5426ab3a.chunk.js.map"
},
"entrypoints": [
- "static/css/main.3d89e9e4.css",
- "static/js/main.c27976cb.js"
+ "static/css/main.420a9a19.css",
+ "static/js/main.f34bd028.js"
]
}
\ No newline at end of file
diff --git a/index.html b/index.html
index 6bd5fed..97a8c25 100644
--- a/index.html
+++ b/index.html
@@ -1,4 +1,4 @@
-WeCode How it Works1. Code2. Test3. Ask for help4. Repeat & LearnProblemsA Beginner's Guide to CodingIs this you're first time coding? If so, start at the problem below. The problems begin with requiring no prior knowledge of coding and gradually increase in difficulty. If you have experience consider starting with the easy problems.Medium ProblemsMedium problems are a bit more challenging than easy problems and are a good fit for people who have some experience with coding.Hard ProblemsHard problems are a good fit for people who are comfortable programming and want some problems to challenge their critical thinking skills.How it Works1. Code2. Test3. Ask for help4. Repeat & LearnProblemsA Beginner's Guide to CodingIs this you're first time coding? If so, start at the problem below. The problems begin with requiring no prior knowledge of coding and gradually increase in difficulty. If you have experience consider starting with the easy problems.Medium ProblemsMedium problems are a bit more challenging than easy problems and are a good fit for people who have some experience with coding.Hard ProblemsHard problems are a good fit for people who are comfortable programming and want some problems to challenge their critical thinking skills.
\ No newline at end of file
diff --git a/privacy/index.html b/privacy/index.html
new file mode 100644
index 0000000..c7a05c9
--- /dev/null
+++ b/privacy/index.html
@@ -0,0 +1,4 @@
+WeCode WeCode Privacy Policy
Effective Date: May 18th 2024
1. Introduction
Welcome to We Code ("we", "our", "us"). We are committed to protecting your privacy. This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our website https://wecode.dacubeking.com ("We Code"). Please read this policy carefully. If you do not agree with the terms of this Privacy Policy, please do not access We Code.
2. Information We Collect
A. GitHub Authentication:
- We use GitHub for authentication.
- Upon logging in, we collect your GitHub ID, name, and username. This information is used to identify and display your profile on We Code.
B. User Content:
- When you write code for byte-sized coding problems on We Code, your code and test case results are stored locally on your browser's local storage.
C. API Requests:
- If you use the "I'm stuck" feature, the code and test cases you submit are sent to our API. We use this information to call OpenAI or Google Vertex APIs for assistance from an AI tutor.
- We also log your user ID and a timestamp for rate-limiting purposes. No other information is saved server-side.
D. Cloudflare Analytics:
- Our website is proxied through Cloudflare, which collects analytics data. This includes cookies placed by Cloudflare for security and performance purposes. We do not use any other cookies.
3. How We Use Your Information
A. To Provide and Improve Our Services:
- Displaying your profile information.
- Storing your code and test case results in local storage for your convenience.
- Providing AI-driven assistance when you're stuck.
B. Security and Analytics:
- Enhancing the security and performance of We Code through Cloudflare.
- Using Cloudflare analytics to understand Site usage and improve our services.
4. Disclosure of Your Information
We do not sell, trade, or otherwise transfer your personally identifiable information to outside parties except as described below:
- Service Providers: We may share your information with third-party vendors (such as OpenAI and Google Vertex) to perform tasks on our behalf, such as providing AI tutoring services.
- Legal Requirements: We may disclose your information if required to do so by law or in response to valid requests by public authorities.
5. Data Security
We use administrative, technical, and physical security measures to protect your personal information. However, no transmission over the Internet or electronic storage is completely secure, so we cannot guarantee its absolute security.
6. Your Choices
A. Local Storage:
- You can clear your browser's local storage at any time to delete your code history and test case results.
B. Cookies:
- As we rely on Cloudflare, you can manage Cloudflare's cookies through your browser settings.
7. Changes to This Privacy Policy
We may update this Privacy Policy from time to time. We will notify you of any changes by updating the "Effective Date" at the top of this Privacy Policy. You are advised to review this Privacy Policy periodically for any changes.
8. Contact Us
If you have any questions about this Privacy Policy, please contact us at contact@dacubeking.com.
\ No newline at end of file
diff --git a/static/css/main.3d89e9e4.css b/static/css/main.3d89e9e4.css
deleted file mode 100644
index fd896b9..0000000
--- a/static/css/main.3d89e9e4.css
+++ /dev/null
@@ -1,6 +0,0 @@
-body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
-
-/*
-! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com
-*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}h1{font-size:1.875rem;line-height:2.25rem}h1,h2{font-weight:700;margin-bottom:.25em;margin-top:1em}h2{font-size:1.5rem;line-height:2rem}h3{font-size:1.25rem}h3,h4{font-weight:700;line-height:1.75rem;margin-bottom:.25em;margin-top:1em}h4{font-size:1.125rem}h5{font-weight:700}h5,h6{font-size:1rem;line-height:1.5rem;margin-bottom:.25em;margin-top:1em}h6{font-weight:600}ol,ul{list-style:circle;margin-left:1.5em}li{margin-bottom:-.2em}p{font-size:1rem;line-height:1.5rem;margin-bottom:1em}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.visible{visibility:visible}.-mt-16{margin-top:-4rem}.-mt-5{margin-top:-1.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.ml-1{margin-left:.25rem}.ml-5{margin-left:1.25rem}.mr-2{margin-right:.5rem}.mr-5{margin-right:1.25rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-5{margin-top:1.25rem}.block{display:block}.flex{display:flex}.hidden{display:none}.h-\[calc\(100vh\*0\.60\)\]{height:60vh}.h-\[calc\(100vh\*0\.80\)\]{height:80vh}.h-auto{height:auto}.min-h-20{min-height:5rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-96{width:24rem}.w-full{width:100%}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.rounded{border-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-white-pink{--tw-border-opacity:1;border-color:rgb(248 230 247/var(--tw-border-opacity))}.bg-\[\#f8e6f7\]{--tw-bg-opacity:1;background-color:rgb(248 230 247/var(--tw-bg-opacity))}.bg-basically-black{--tw-bg-opacity:1;background-color:rgb(23 28 43/var(--tw-bg-opacity))}.bg-test-failed{--tw-bg-opacity:1;background-color:rgb(255 142 131/var(--tw-bg-opacity))}.bg-test-passed{--tw-bg-opacity:1;background-color:rgb(18 243 135/var(--tw-bg-opacity))}.bg-white-pink{--tw-bg-opacity:1;background-color:rgb(248 230 247/var(--tw-bg-opacity))}.p-2{padding:.5rem}.pb-5{padding-bottom:1.25rem}.pl-1{padding-left:.25rem}.pl-4{padding-left:1rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-8{padding-top:2rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-9xl{font-size:8rem;line-height:1}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-semibold{font-weight:600}.italic{font-style:italic}.text-\[\#abb2bf\]{--tw-text-opacity:1;color:rgb(171 178 191/var(--tw-text-opacity))}.text-basically-black{--tw-text-opacity:1;color:rgb(23 28 43/var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-bright-blue{--tw-text-opacity:1;color:rgb(46 146 240/var(--tw-text-opacity))}.text-bright-purple{--tw-text-opacity:1;color:rgb(164 117 240/var(--tw-text-opacity))}.text-error-red{--tw-text-opacity:1;color:rgb(239 69 71/var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.decoration-gray-600{text-decoration-color:#4b5563}.underline-offset-2{text-underline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@media (max-width:900px){.flex-row{flex-direction:column}@media (max-width:900px){.w-1\/2{width:100%}}}.App,body{background-color:#1c1f23}.App{color:#efe9e7}.App-header{background-color:#282c34;color:#fff;display:flex;flex-direction:row;font-size:calc(10px + 2vmin);font-weight:bolder;height:calc(10px + 5vmin);justify-content:space-between;margin-bottom:0;padding:0 1em}.App-header,.Problem{align-items:center;margin-top:0}.Problem{flex-direction:column;justify-content:center;max-width:80em;min-height:100vh;padding-bottom:10em;padding-left:1em;padding-top:0;text-align:left;width:95%}.Problem-title{margin-top:0;padding-top:1em}.Problem-user-code{justify-items:left;margin-top:0;padding-left:5em}.Problem-template-code{font-size:1.2em;font-weight:700}.Problem-desc,.Problem-template-code{margin-bottom:0;margin-top:0;padding-left:0}.Problem-desc{max-width:70em}.Problem-desc,.Problem-solution{padding-bottom:0;padding-top:0;width:95%}.Problem-solution{margin-bottom:0;margin-top:0;max-width:50em;padding-left:0}.helpButton,.nextProblemButton,.submitButton{height:2em}code[class^=hljs-]{background:#000}.Code-tutor-response{margin-bottom:0;margin-top:0;max-width:50em;padding-bottom:0;padding-left:0;padding-top:0;width:95%}code{background-color:#282c34;border-radius:3px;color:#efe9e7;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:80%;padding:.2em .4em}.katex-mathml{display:none}.wecode-header{color:#f8e6f7;font-size:1.5em;text-decoration:none}.loginButton{height:2.75em}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#282c34;color:#abb2bf}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}
-/*# sourceMappingURL=main.3d89e9e4.css.map*/
\ No newline at end of file
diff --git a/static/css/main.3d89e9e4.css.map b/static/css/main.3d89e9e4.css.map
deleted file mode 100644
index 22d6b63..0000000
--- a/static/css/main.3d89e9e4.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/css/main.3d89e9e4.css","mappings":"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","sources":["index.css","App.css","../node_modules/highlight.js/styles/atom-one-dark.min.css"],"sourcesContent":["body {\r\n margin: 0;\r\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\r\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\r\n sans-serif;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n\r\ncode {\r\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\r\n monospace;\r\n}\r\n","@import 'tailwindcss/base';\r\n@import 'tailwindcss/components';\r\n@import 'tailwindcss/utilities';\r\n\r\n@layer base {\r\n h1 {\r\n @apply text-3xl;\r\n @apply font-bold;\r\n margin-bottom: 0.25em;\r\n margin-top: 1em;\r\n }\r\n\r\n h2 {\r\n @apply text-2xl;\r\n @apply font-bold;\r\n margin-bottom: 0.25em;\r\n margin-top: 1em;\r\n }\r\n\r\n h3 {\r\n @apply text-xl;\r\n @apply font-bold;\r\n margin-bottom: 0.25em;\r\n margin-top: 1em;\r\n }\r\n\r\n h4 {\r\n @apply text-lg;\r\n @apply font-bold;\r\n margin-bottom: 0.25em;\r\n margin-top: 1em;\r\n }\r\n\r\n h5 {\r\n @apply text-base;\r\n @apply font-bold;\r\n margin-bottom: 0.25em;\r\n margin-top: 1em;\r\n }\r\n\r\n h6 {\r\n @apply text-base;\r\n @apply font-semibold;\r\n margin-bottom: 0.25em;\r\n margin-top: 1em;\r\n }\r\n\r\n ol,\r\n ul {\r\n list-style: circle;\r\n margin-left: 1.5em;\r\n }\r\n\r\n li {\r\n margin-bottom: -0.2em;\r\n }\r\n\r\n p {\r\n @apply text-base;\r\n margin-bottom: 1em;\r\n }\r\n}\r\n\r\n@media (max-width: 900px) {\r\n .flex-row {\r\n flex-direction: column;\r\n }\r\n\r\n @media (max-width: 900px) {\r\n .w-1\\/2 {\r\n width: 100%;\r\n }\r\n }\r\n}\r\n\r\nbody {\r\n background-color: #1C1F23;\r\n}\r\n\r\n.App {\r\n background-color: #1C1F23;\r\n color: #efe9e7;\r\n}\r\n\r\n.App-header {\r\n background-color: #282c34;\r\n height: calc(10px + 5vmin);;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: space-between;\r\n font-size: calc(10px + 2vmin);\r\n color: white;\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n padding: 0 1em;\r\n font-weight: bolder;\r\n}\r\n\r\n.Problem {\r\n margin-top: 0;\r\n padding-top: 0;\r\n padding-bottom: 10em;\r\n padding-left: 1em;\r\n justify-content: center;\r\n align-items: center;\r\n text-align: left;\r\n min-height: 100vh;\r\n width: 95%;\r\n max-width: 80em;\r\n flex-direction: column;\r\n}\r\n\r\n.Problem-title {\r\n margin-top: 0;\r\n padding-top: 1em;\r\n}\r\n\r\n.Problem-user-code {\r\n margin-top: 0;\r\n padding-left: 5em;\r\n justify-items: left;\r\n}\r\n\r\n.Problem-template-code {\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n padding-left: 0;\r\n font-size: 1.2em;\r\n font-weight: bold;\r\n}\r\n\r\n.Problem-desc {\r\n margin-top: 0;\r\n padding-top: 0;\r\n margin-bottom: 0;\r\n padding-bottom: 0;\r\n padding-left: 0;\r\n width: 95%;\r\n max-width: 70em;\r\n}\r\n\r\n.Problem-solution {\r\n margin-top: 0;\r\n padding-top: 0;\r\n margin-bottom: 0;\r\n padding-bottom: 0;\r\n padding-left: 0;\r\n width: 95%;\r\n max-width: 50em;\r\n}\r\n\r\n.helpButton {\r\n height: 2em;\r\n}\r\n\r\n.submitButton {\r\n height: 2em;\r\n}\r\n\r\n.nextProblemButton {\r\n height: 2em;\r\n}\r\n\r\ncode[class^=\"hljs-\"] {\r\n background: #000;\r\n}\r\n\r\n.Code-tutor-response {\r\n margin-top: 0;\r\n padding-top: 0;\r\n margin-bottom: 0;\r\n padding-bottom: 0;\r\n padding-left: 0;\r\n width: 95%;\r\n max-width: 50em;\r\n}\r\n\r\ncode {\r\n background-color: #282c34;\r\n color: #efe9e7;\r\n padding: 0.2em 0.4em;\r\n font-size: 80%;\r\n font-family: \"SFMono-Regular\", Consolas, \"Liberation Mono\", Menlo, Courier, monospace;\r\n border-radius: 3px;\r\n}\r\n\r\n.katex-mathml {\r\n display: none;\r\n}\r\n\r\n.wecode-header {\r\n font-size: 1.5em;\r\n text-decoration: none;\r\n color: #f8e6f7;\r\n}\r\n\r\n.loginButton {\r\n height: 2.75em;\r\n}","pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/static/css/main.420a9a19.css b/static/css/main.420a9a19.css
new file mode 100644
index 0000000..8c366e8
--- /dev/null
+++ b/static/css/main.420a9a19.css
@@ -0,0 +1,6 @@
+body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
+
+/*
+! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com
+*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}h1{font-size:1.875rem;line-height:2.25rem}h1,h2{font-weight:700;margin-bottom:.25em;margin-top:1em}h2{font-size:1.5rem;line-height:2rem}h3{font-size:1.25rem}h3,h4{font-weight:700;line-height:1.75rem;margin-bottom:.25em;margin-top:1em}h4{font-size:1.125rem}h5{font-weight:700}h5,h6{font-size:1rem;line-height:1.5rem;margin-bottom:.25em;margin-top:1em}h6{font-weight:600}ol,ul{list-style:circle;margin-left:1.5em;margin-top:0}li{margin-bottom:-.2em}p{font-size:1rem;line-height:1.5rem;margin-bottom:1em}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.visible{visibility:visible}.absolute{position:absolute}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.-mt-16{margin-top:-4rem}.-mt-5{margin-top:-1.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.ml-1{margin-left:.25rem}.ml-5{margin-left:1.25rem}.mr-2{margin-right:.5rem}.mr-5{margin-right:1.25rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.hidden{display:none}.h-\[calc\(100vh\*0\.60\)\]{height:60vh}.h-\[calc\(100vh\*0\.80\)\]{height:80vh}.h-auto{height:auto}.min-h-20{min-height:5rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-96{width:24rem}.w-full{width:100%}.max-w-4xl{max-width:56rem}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.rounded{border-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-white-pink{--tw-border-opacity:1;border-color:rgb(248 230 247/var(--tw-border-opacity))}.bg-\[\#f8e6f7\]{--tw-bg-opacity:1;background-color:rgb(248 230 247/var(--tw-bg-opacity))}.bg-basically-black{--tw-bg-opacity:1;background-color:rgb(23 28 43/var(--tw-bg-opacity))}.bg-test-failed{--tw-bg-opacity:1;background-color:rgb(255 142 131/var(--tw-bg-opacity))}.bg-test-passed{--tw-bg-opacity:1;background-color:rgb(18 243 135/var(--tw-bg-opacity))}.bg-white-pink{--tw-bg-opacity:1;background-color:rgb(248 230 247/var(--tw-bg-opacity))}.p-2{padding:.5rem}.p-8{padding:2rem}.pb-5{padding-bottom:1.25rem}.pl-1{padding-left:.25rem}.pl-4{padding-left:1rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-8{padding-top:2rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-9xl{font-size:8rem;line-height:1}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-semibold{font-weight:600}.italic{font-style:italic}.text-\[\#abb2bf\]{--tw-text-opacity:1;color:rgb(171 178 191/var(--tw-text-opacity))}.text-basically-black{--tw-text-opacity:1;color:rgb(23 28 43/var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.text-bright-blue{--tw-text-opacity:1;color:rgb(46 146 240/var(--tw-text-opacity))}.text-bright-purple{--tw-text-opacity:1;color:rgb(164 117 240/var(--tw-text-opacity))}.text-error-red{--tw-text-opacity:1;color:rgb(239 69 71/var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.decoration-gray-600{text-decoration-color:#4b5563}.underline-offset-2{text-underline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@media (max-width:900px){.flex-row{flex-direction:column}@media (max-width:900px){.w-1\/2{width:100%}}}.App,body{background-color:#1c1f23}.App{color:#efe9e7}.App-header{background-color:#282c34;color:#fff;display:flex;flex-direction:row;font-size:calc(10px + 2vmin);font-weight:bolder;height:calc(10px + 5vmin);justify-content:space-between;margin-bottom:0;padding:0 1em}.App-header,.Problem{align-items:center;margin-top:0}.Problem{flex-direction:column;justify-content:center;max-width:80em;min-height:100vh;padding-bottom:10em;padding-left:1em;padding-top:0;text-align:left;width:95%}.Problem-title{margin-top:0;padding-top:1em}.Problem-user-code{justify-items:left;margin-top:0;padding-left:5em}.Problem-template-code{font-size:1.2em;font-weight:700}.Problem-desc,.Problem-template-code{margin-bottom:0;margin-top:0;padding-left:0}.Problem-desc{max-width:70em}.Problem-desc,.Problem-solution{padding-bottom:0;padding-top:0;width:95%}.Problem-solution{margin-bottom:0;margin-top:0;max-width:50em;padding-left:0}.helpButton,.nextProblemButton,.submitButton{height:2em}code[class^=hljs-]{background:#000}.Code-tutor-response{margin-bottom:0;margin-top:0;max-width:50em;padding-bottom:0;padding-left:0;padding-top:0;width:95%}code{background-color:#282c34;border-radius:3px;color:#efe9e7;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:80%;padding:.2em .4em}.katex-mathml{display:none}.wecode-header{color:#f8e6f7;font-size:1.5em;text-decoration:none}.loginButton{height:2.75em}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#282c34;color:#abb2bf}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}
+/*# sourceMappingURL=main.420a9a19.css.map*/
\ No newline at end of file
diff --git a/static/css/main.420a9a19.css.map b/static/css/main.420a9a19.css.map
new file mode 100644
index 0000000..75d182f
--- /dev/null
+++ b/static/css/main.420a9a19.css.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/css/main.420a9a19.css","mappings":"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","sources":["index.css","App.css","../node_modules/highlight.js/styles/atom-one-dark.min.css"],"sourcesContent":["body {\r\n margin: 0;\r\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\r\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\r\n sans-serif;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n\r\ncode {\r\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\r\n monospace;\r\n}\r\n","@import 'tailwindcss/base';\r\n@import 'tailwindcss/components';\r\n@import 'tailwindcss/utilities';\r\n\r\n@layer base {\r\n h1 {\r\n @apply text-3xl;\r\n @apply font-bold;\r\n margin-bottom: 0.25em;\r\n margin-top: 1em;\r\n }\r\n\r\n h2 {\r\n @apply text-2xl;\r\n @apply font-bold;\r\n margin-bottom: 0.25em;\r\n margin-top: 1em;\r\n }\r\n\r\n h3 {\r\n @apply text-xl;\r\n @apply font-bold;\r\n margin-bottom: 0.25em;\r\n margin-top: 1em;\r\n }\r\n\r\n h4 {\r\n @apply text-lg;\r\n @apply font-bold;\r\n margin-bottom: 0.25em;\r\n margin-top: 1em;\r\n }\r\n\r\n h5 {\r\n @apply text-base;\r\n @apply font-bold;\r\n margin-bottom: 0.25em;\r\n margin-top: 1em;\r\n }\r\n\r\n h6 {\r\n @apply text-base;\r\n @apply font-semibold;\r\n margin-bottom: 0.25em;\r\n margin-top: 1em;\r\n }\r\n\r\n ol,\r\n ul {\r\n margin-top: 0;\r\n list-style: circle;\r\n margin-left: 1.5em;\r\n }\r\n\r\n li {\r\n margin-bottom: -0.2em;\r\n }\r\n\r\n p {\r\n @apply text-base;\r\n margin-bottom: 1em;\r\n }\r\n}\r\n\r\n@media (max-width: 900px) {\r\n .flex-row {\r\n flex-direction: column;\r\n }\r\n\r\n @media (max-width: 900px) {\r\n .w-1\\/2 {\r\n width: 100%;\r\n }\r\n }\r\n}\r\n\r\nbody {\r\n background-color: #1C1F23;\r\n}\r\n\r\n.App {\r\n background-color: #1C1F23;\r\n color: #efe9e7;\r\n}\r\n\r\n.App-header {\r\n background-color: #282c34;\r\n height: calc(10px + 5vmin);;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: space-between;\r\n font-size: calc(10px + 2vmin);\r\n color: white;\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n padding: 0 1em;\r\n font-weight: bolder;\r\n}\r\n\r\n.Problem {\r\n margin-top: 0;\r\n padding-top: 0;\r\n padding-bottom: 10em;\r\n padding-left: 1em;\r\n justify-content: center;\r\n align-items: center;\r\n text-align: left;\r\n min-height: 100vh;\r\n width: 95%;\r\n max-width: 80em;\r\n flex-direction: column;\r\n}\r\n\r\n.Problem-title {\r\n margin-top: 0;\r\n padding-top: 1em;\r\n}\r\n\r\n.Problem-user-code {\r\n margin-top: 0;\r\n padding-left: 5em;\r\n justify-items: left;\r\n}\r\n\r\n.Problem-template-code {\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n padding-left: 0;\r\n font-size: 1.2em;\r\n font-weight: bold;\r\n}\r\n\r\n.Problem-desc {\r\n margin-top: 0;\r\n padding-top: 0;\r\n margin-bottom: 0;\r\n padding-bottom: 0;\r\n padding-left: 0;\r\n width: 95%;\r\n max-width: 70em;\r\n}\r\n\r\n.Problem-solution {\r\n margin-top: 0;\r\n padding-top: 0;\r\n margin-bottom: 0;\r\n padding-bottom: 0;\r\n padding-left: 0;\r\n width: 95%;\r\n max-width: 50em;\r\n}\r\n\r\n.helpButton {\r\n height: 2em;\r\n}\r\n\r\n.submitButton {\r\n height: 2em;\r\n}\r\n\r\n.nextProblemButton {\r\n height: 2em;\r\n}\r\n\r\ncode[class^=\"hljs-\"] {\r\n background: #000;\r\n}\r\n\r\n.Code-tutor-response {\r\n margin-top: 0;\r\n padding-top: 0;\r\n margin-bottom: 0;\r\n padding-bottom: 0;\r\n padding-left: 0;\r\n width: 95%;\r\n max-width: 50em;\r\n}\r\n\r\ncode {\r\n background-color: #282c34;\r\n color: #efe9e7;\r\n padding: 0.2em 0.4em;\r\n font-size: 80%;\r\n font-family: \"SFMono-Regular\", Consolas, \"Liberation Mono\", Menlo, Courier, monospace;\r\n border-radius: 3px;\r\n}\r\n\r\n.katex-mathml {\r\n display: none;\r\n}\r\n\r\n.wecode-header {\r\n font-size: 1.5em;\r\n text-decoration: none;\r\n color: #f8e6f7;\r\n}\r\n\r\n.loginButton {\r\n height: 2.75em;\r\n}","pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}"],"names":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/static/js/221.ed47e118.chunk.js b/static/js/221.ed47e118.chunk.js
deleted file mode 100644
index 60870e3..0000000
--- a/static/js/221.ed47e118.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkai_coding_learning=self.webpackChunkai_coding_learning||[]).push([[221],{8221:(e,s,l)=>{l.r(s),l.d(s,{default:()=>n});var t=l(5043),i=l(5475),a=l(9473),c=l(579);const n=function(){const[e,s]=(0,t.useState)(null);function l(e){let{index:s,children:l}=e,t=n(s),i=n(s+1);return(0,c.jsxs)("div",{style:{background:t},children:[l,(0,c.jsx)("div",{style:{background:i},children:(0,c.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 720 72",className:"pb-5",children:(0,c.jsx)("path",{fill:t,d:"M0,60.56c55.63-30.1,102.12-38.64,133.59-41.06c37.46-2.88,94.56,7.7,207.25,28.99\r c72.83,13.76,91.25,18.65,123.67,12.56c55.51-10.42,56.68-35.11,104.35-37.2c52.67-2.31,79.26,26.62,124.64,10.63\r c17.13-6.04,29.35-15.8,36.71-22.71L720,0H0V60.56z"})})})]})}function n(e){const s=["#f8e6f7","#e6f7f8","#f7f8e6","#e6f8f7","#f7e6f8","#f8f7e6"];return s[e%s.length]}return(0,t.useEffect)((()=>{fetch("/problem_locations.json").then((async e=>{if(!e.ok)throw new Error("Network response was not ok");return await e.json()})).then((e=>{s(e)})).catch((e=>{console.error("Error loading available problems",e)}))}),[]),(0,c.jsxs)("div",{children:[(0,c.jsxs)("div",{className:"flex justify-between h-[calc(100vh*0.60)] bg-white-pink",children:[(0,c.jsx)("div",{className:"flex justify-center items-center",children:(0,c.jsxs)("div",{className:"-mt-16 w-2/3",children:[(0,c.jsx)("div",{className:"text-3xl text-black font-bold",children:"Welcome to"}),(0,c.jsx)("div",{className:"text-9xl font-extrabold text-bright-purple -mt-5",children:"WeCode"}),(0,c.jsx)("div",{className:"text-xl text-black font-semibold mt-5 pl-4",children:"Your Coding Ally"}),(0,c.jsx)(a.N_,{to:"problems",smooth:!0,duration:500,children:(0,c.jsx)("div",{className:"text-xl text-bright-blue underline font-semibold pl-4",children:"Start Learning Now"})})]})}),(0,c.jsx)("div",{className:"flex w-1/3 justify-center items-center",children:(0,c.jsx)("div",{className:" text-black font-bold"})})]}),(0,c.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 720 72",className:"mb-5",children:(0,c.jsx)("path",{fill:"#f8e6f7",d:"M0,60.56c55.63-30.1,102.12-38.64,133.59-41.06c37.46-2.88,94.56,7.7,207.25,28.99\r c72.83,13.76,91.25,18.65,123.67,12.56c55.51-10.42,56.68-35.11,104.35-37.2c52.67-2.31,79.26,26.62,124.64,10.63\r c17.13-6.04,29.35-15.8,36.71-22.71L720,0H0V60.56z"})}),(0,c.jsxs)("div",{className:"ml-5 mt-16",children:[(0,c.jsx)("div",{className:"text-5xl font-bold",children:"How it Works"}),(0,c.jsxs)("div",{className:"flex flex-row ml-5 mr-5 ",children:[(0,c.jsxs)("div",{className:"",children:[(0,c.jsx)("div",{className:"text-2xl font-semibold mt-5",children:"1. Code"}),(0,c.jsx)("img",{className:"w-96",src:"/assets/home/ex-code.png",alt:"An attempt at solving the fibbinachi problem"})]}),(0,c.jsxs)("div",{className:"ml-5",children:[(0,c.jsx)("div",{className:"text-2xl font-semibold mt-5",children:"2. Test"}),(0,c.jsx)("img",{className:"w-96",src:"/assets/home/ex-test.png",alt:"Test results for the attempt at solving the fibbinachi problem. All but the first two tests failed"})]}),(0,c.jsxs)("div",{className:"ml-5",children:[(0,c.jsx)("div",{className:"text-2xl font-semibold mt-5",children:"3. Ask for help"}),(0,c.jsx)("img",{className:"w-96",src:"/assets/home/ask-for-help.png",alt:"The AI tutor explaining why the remaining tests failed"})]}),(0,c.jsxs)("div",{className:"ml-5",children:[(0,c.jsx)("div",{className:"text-2xl font-semibold mt-5",children:"4. Repeat & Learn"}),(0,c.jsx)("img",{className:"w-96",src:"/assets/home/ex-repeat.png",alt:"User going back to the problem to fix the issue"})]})]})]}),(0,c.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 720 72",className:"pb-5 bg-[#f8e6f7]",children:(0,c.jsx)("path",{fill:"#1C1F23",d:"M0,60.56c55.63-30.1,102.12-38.64,133.59-41.06c37.46-2.88,94.56,7.7,207.25,28.99\r c72.83,13.76,91.25,18.65,123.67,12.56c55.51-10.42,56.68-35.11,104.35-37.2c52.67-2.31,79.26,26.62,124.64,10.63\r c17.13-6.04,29.35-15.8,36.71-22.71L720,0H0V60.56z"})}),(0,c.jsx)("div",{id:"problems",className:"text-5xl font-bold pt-8 bg-[#f8e6f7] text-basically-black pl-4 ",children:"Problems"}),(0,c.jsx)("div",{className:"w-full",children:function e(s){return s.map(((s,t)=>"directory"in s?(0,c.jsx)(l,{index:t,children:(0,c.jsxs)("div",{className:"pb-5 ml-5 text-basically-black w-1/2",children:[(0,c.jsxs)("div",{className:"text-3xl font-bold",children:[" ",s.meta.title," "]}),(0,c.jsxs)("div",{className:"text-lg",children:[" ",s.meta.description," "]}),(0,c.jsxs)("div",{className:"pl-4",children:[" ",e(s.files)," "]})]})},t):(0,c.jsx)("div",{children:(0,c.jsx)(i.N_,{to:"/Problem"+s.problemId,className:"text-bright-blue underline text-lg",children:s.problemName})},t)))}((null===e||void 0===e?void 0:e.files)||[])})]})}}}]);
-//# sourceMappingURL=221.ed47e118.chunk.js.map
\ No newline at end of file
diff --git a/static/js/221.ed47e118.chunk.js.map b/static/js/221.ed47e118.chunk.js.map
deleted file mode 100644
index d1b21ed..0000000
--- a/static/js/221.ed47e118.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/221.ed47e118.chunk.js","mappings":"gMA8JA,QA1IA,WACI,MAAOA,EAAMC,IAAWC,EAAAA,EAAAA,UAAS,MAwBjC,SAASC,EAAcC,GAA0C,IAAzC,MAACC,EAAK,SAAEC,GAA8BF,EACtDG,EAAQC,EAA0BH,GAClCI,EAASD,EAA0BH,EAAQ,GAC/C,OACIK,EAAAA,EAAAA,MAAA,OACIC,MAAO,CAACC,WAAYL,GAAOD,SAAA,CAC1BA,GACDO,EAAAA,EAAAA,KAAA,OAAKF,MAAO,CAACC,WAAYH,GAAQH,UAC7BO,EAAAA,EAAAA,KAAA,OAAKC,MAAM,6BAA6BC,QAAQ,aAAaC,UAAU,OAAMV,UACzEO,EAAAA,EAAAA,KAAA,QAAMI,KAAMV,EACNW,EAAE,8PAO5B,CAwBA,SAASV,EAA0BH,GAC/B,MAAMc,EAAS,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WACvE,OAAOA,EAAOd,EAAQc,EAAOC,OACjC,CAEA,OApEAC,EAAAA,EAAAA,YAAU,KACNC,MAA+B,2BAC1BC,MAAKC,UACF,IAAKC,EAASC,GACV,MAAM,IAAIC,MAAM,+BAEpB,aAAcF,EAASG,MAAO,IAEjCL,MAAKvB,IACFC,EAAQD,EAAK,IAEhB6B,OAAMC,IACHC,QAAQD,MAAM,mCAAoCA,EAAM,GAC1D,GACP,KAuDCpB,EAAAA,EAAAA,MAAA,OAAAJ,SAAA,EACII,EAAAA,EAAAA,MAAA,OAAKM,UAAU,0DAAyDV,SAAA,EACpEO,EAAAA,EAAAA,KAAA,OAAKG,UAAU,mCAAkCV,UAC7CI,EAAAA,EAAAA,MAAA,OAAKM,UAAU,eAAcV,SAAA,EACzBO,EAAAA,EAAAA,KAAA,OAAKG,UAAU,gCAA+BV,SAAC,gBAC/CO,EAAAA,EAAAA,KAAA,OAAKG,UAAU,mDAAkDV,SAAC,YAClEO,EAAAA,EAAAA,KAAA,OAAKG,UAAU,6CAA4CV,SAAC,sBAC5DO,EAAAA,EAAAA,KAACmB,EAAAA,GAAU,CAACC,GAAG,WAAWC,QAAQ,EAAMC,SAAU,IAAI7B,UAClDO,EAAAA,EAAAA,KAAA,OAAKG,UAAU,wDAAuDV,SAAC,+BAKnFO,EAAAA,EAAAA,KAAA,OAAKG,UAAU,yCAAwCV,UACnDO,EAAAA,EAAAA,KAAA,OAAKG,UAAU,gCAGvBH,EAAAA,EAAAA,KAAA,OAAKC,MAAM,6BAA6BC,QAAQ,aAAaC,UAAU,OAAMV,UACzEO,EAAAA,EAAAA,KAAA,QAAMI,KAAK,UACLC,EAAE,2PAIZR,EAAAA,EAAAA,MAAA,OAAKM,UAAU,aAAYV,SAAA,EACvBO,EAAAA,EAAAA,KAAA,OAAKG,UAAU,qBAAoBV,SAAC,kBACpCI,EAAAA,EAAAA,MAAA,OAAKM,UAAU,2BAA0BV,SAAA,EACrCI,EAAAA,EAAAA,MAAA,OAAKM,UAAU,GAAEV,SAAA,EACbO,EAAAA,EAAAA,KAAA,OAAKG,UAAU,8BAA6BV,SAAC,aAC7CO,EAAAA,EAAAA,KAAA,OAAKG,UAAU,OAAOoB,IAAI,2BACrBC,IAAI,qDAEb3B,EAAAA,EAAAA,MAAA,OAAKM,UAAU,OAAMV,SAAA,EACjBO,EAAAA,EAAAA,KAAA,OAAKG,UAAU,8BAA6BV,SAAC,aAC7CO,EAAAA,EAAAA,KAAA,OAAKG,UAAU,OAAOoB,IAAI,2BACrBC,IAAI,2GAEb3B,EAAAA,EAAAA,MAAA,OAAKM,UAAU,OAAMV,SAAA,EACjBO,EAAAA,EAAAA,KAAA,OAAKG,UAAU,8BAA6BV,SAAC,qBAC7CO,EAAAA,EAAAA,KAAA,OAAKG,UAAU,OAAOoB,IAAI,gCACrBC,IAAI,+DAEb3B,EAAAA,EAAAA,MAAA,OAAKM,UAAU,OAAMV,SAAA,EACjBO,EAAAA,EAAAA,KAAA,OAAKG,UAAU,8BAA6BV,SAAC,uBAC7CO,EAAAA,EAAAA,KAAA,OAAKG,UAAU,OAAOoB,IAAI,6BACrBC,IAAI,8DAKrBxB,EAAAA,EAAAA,KAAA,OAAKC,MAAM,6BAA6BC,QAAQ,aAAaC,UAAU,oBAAmBV,UACtFO,EAAAA,EAAAA,KAAA,QAAMI,KAAM,UACNC,EAAE,2PAIZL,EAAAA,EAAAA,KAAA,OAAKyB,GAAG,WAAWtB,UAAU,kEAAiEV,SAAC,cAG/FO,EAAAA,EAAAA,KAAA,OAAKG,UAAU,SAAQV,SAtF/B,SAASiC,EAAsBvC,GAC3B,OAAOA,EAAKwC,KAAI,CAACC,EAAMpC,IACf,cAAeoC,GAEX5B,EAAAA,EAAAA,KAACV,EAAc,CAAaE,MAAOA,EAAMC,UACrCI,EAAAA,EAAAA,MAAA,OAAKM,UAAW,uCAAuCV,SAAA,EACnDI,EAAAA,EAAAA,MAAA,OAAKM,UAAU,qBAAoBV,SAAA,CAAC,IAAEmC,EAAKC,KAAKC,MAAM,QACtDjC,EAAAA,EAAAA,MAAA,OAAKM,UAAU,UAASV,SAAA,CAAC,IAAEmC,EAAKC,KAAKE,YAAY,QACjDlC,EAAAA,EAAAA,MAAA,OAAKM,UAAU,OAAMV,SAAA,CAAC,IAAEiC,EAAsBE,EAAKI,OAAO,WAJ7CxC,IASlBQ,EAAAA,EAAAA,KAAA,OAAAP,UACHO,EAAAA,EAAAA,KAACiC,EAAAA,GAAI,CAACb,GAAI,WAAaQ,EAAKM,UAAW/B,UAAW,qCAAqCV,SAClFmC,EAAKO,eAFG3C,IAO7B,CAmEakC,EAA0B,OAAJvC,QAAI,IAAJA,OAAI,EAAJA,EAAM6C,QAAS,QAKtD,C","sources":["Home.tsx"],"sourcesContent":["import React, {useEffect, useState} from \"react\";\r\nimport {Link} from \"react-router-dom\";\r\nimport {Link as ScrollLink} from 'react-scroll'\r\n\r\nclass ProblemData {\r\n problemName: string = \"\";\r\n problemId: string = \"\";\r\n}\r\n\r\nclass ProblemDirData {\r\n \"directory\": string = \"\";\r\n \"meta\": {\r\n \"displayStyle\": string\r\n \"title\": string\r\n \"description\": string\r\n \"weight\": number\r\n }\r\n \"files\": (ProblemData | ProblemDirData)[]\r\n}\r\n\r\nfunction Home() {\r\n const [data, setData] = useState(null as ProblemDirData | null);\r\n\r\n useEffect(() => {\r\n fetch(process.env.PUBLIC_URL + \"/problem_locations.json\")\r\n .then(async response => {\r\n if (!response.ok) {\r\n throw new Error('Network response was not ok');\r\n }\r\n return await (response.json()) as ProblemDirData\r\n })\r\n .then(data => {\r\n setData(data);\r\n })\r\n .catch(error => {\r\n console.error('Error loading available problems', error);\r\n });\r\n }, []);\r\n\r\n\r\n type ProblemSectionProps = {\r\n index: number;\r\n children: React.ReactNode;\r\n };\r\n\r\n function ProblemSection({index, children}: ProblemSectionProps) {\r\n let color = getColorForProblemSection(index);\r\n let color2 = getColorForProblemSection(index + 1);\r\n return (\r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n function getProblemFolderAsJSX(data: (ProblemData | ProblemDirData)[]) {\r\n return data.map((item, index) => {\r\n if ('directory' in item) {\r\n return (\r\n \r\n \r\n {item.meta.title} \r\n {item.meta.description} \r\n {getProblemFolderAsJSX(item.files)} \r\n \r\n \r\n );\r\n } else {\r\n return \r\n \r\n {item.problemName}\r\n \r\n \r\n }\r\n });\r\n }\r\n\r\n function getColorForProblemSection(index: number): string {\r\n const colors = ['#f8e6f7', '#e6f7f8', '#f7f8e6', '#e6f8f7', '#f7e6f8', '#f8f7e6'];\r\n return colors[index % colors.length];\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Welcome to\r\n WeCode\r\n Your Coding Ally\r\n \r\n Start Learning Now\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n How it Works\r\n \r\n \r\n 1. Code\r\n \r\n \r\n \r\n 2. Test\r\n \r\n \r\n \r\n 3. Ask for help\r\n \r\n \r\n \r\n 4. Repeat & Learn\r\n \r\n \r\n \r\n\r\n \r\n \r\n Problems\r\n \r\n\r\n \r\n {getProblemFolderAsJSX(data?.files || [])}\r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Home;"],"names":["data","setData","useState","ProblemSection","_ref","index","children","color","getColorForProblemSection","color2","_jsxs","style","background","_jsx","xmlns","viewBox","className","fill","d","colors","length","useEffect","fetch","then","async","response","ok","Error","json","catch","error","console","ScrollLink","to","smooth","duration","src","alt","id","getProblemFolderAsJSX","map","item","meta","title","description","files","Link","problemId","problemName"],"sourceRoot":""}
\ No newline at end of file
diff --git a/static/js/248.7756e353.chunk.js b/static/js/248.7756e353.chunk.js
new file mode 100644
index 0000000..b09ac41
--- /dev/null
+++ b/static/js/248.7756e353.chunk.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkai_coding_learning=self.webpackChunkai_coding_learning||[]).push([[248],{3248:(e,s,i)=>{i.r(s),i.d(s,{default:()=>o});i(5043);var t=i(579);const o=()=>(0,t.jsxs)("div",{className:"max-w-4xl mx-auto p-8",children:[(0,t.jsx)("h1",{className:"text-2xl font-bold mb-4",children:"Privacy Policy"}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Effective Date:"})," May 18th 2024"]}),(0,t.jsx)("h2",{className:"text-xl font-semibold mt-6",children:"1. Introduction"}),(0,t.jsxs)("p",{className:"",children:['Welcome to We Code ("we", "our", "us"). We are committed to protecting your privacy. This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our website',(0,t.jsx)("a",{href:"https://wecode.dacubeking.com",className:"text-blue-500",children:" https://wecode.dacubeking.com"}),' ("We Code"). Please read this policy carefully. If you do not agree with the terms of this Privacy Policy, please do not access We Code.']}),(0,t.jsx)("h2",{className:"text-xl font-semibold mt-6",children:"2. Information We Collect"}),(0,t.jsx)("h3",{className:"text-lg font-semibold mt-4",children:"A. GitHub Authentication:"}),(0,t.jsxs)("ul",{className:"list-disc list-inside",children:[(0,t.jsx)("li",{children:"We use GitHub for authentication."}),(0,t.jsx)("li",{children:"Upon logging in, we collect your GitHub ID, name, and username. This information is used to identify and display your profile on We Code."})]}),(0,t.jsx)("h3",{className:"text-lg font-semibold mt-4",children:"B. User Content:"}),(0,t.jsx)("ul",{className:"list-disc list-inside",children:(0,t.jsx)("li",{children:"When you write code for byte-sized coding problems on We Code, your code and test case results are stored locally on your browser's local storage."})}),(0,t.jsx)("h3",{className:"text-lg font-semibold mt-4 ",children:"C. API Requests:"}),(0,t.jsxs)("ul",{className:"list-disc list-inside",children:[(0,t.jsx)("li",{children:'If you use the "I\'m stuck" feature, the code and test cases you submit are sent to our API. We use this information to call OpenAI or Google Vertex APIs for assistance from an AI tutor.'}),(0,t.jsx)("li",{children:"We also log your user ID and a timestamp for rate-limiting purposes. No other information is saved server-side."})]}),(0,t.jsx)("h3",{className:"text-lg font-semibold mt-4",children:"D. Cloudflare Analytics:"}),(0,t.jsx)("ul",{className:"list-disc list-inside",children:(0,t.jsx)("li",{children:"Our website is proxied through Cloudflare, which collects analytics data. This includes cookies placed by Cloudflare for security and performance purposes. We do not use any other cookies."})}),(0,t.jsx)("h2",{className:"text-xl font-semibold mt-6",children:"3. How We Use Your Information"}),(0,t.jsx)("h3",{className:"text-lg font-semibold mt-4",children:"A. To Provide and Improve Our Services:"}),(0,t.jsxs)("ul",{className:"list-disc list-inside",children:[(0,t.jsx)("li",{children:"Displaying your profile information."}),(0,t.jsx)("li",{children:"Storing your code and test case results in local storage for your convenience."}),(0,t.jsx)("li",{children:"Providing AI-driven assistance when you're stuck."})]}),(0,t.jsx)("h3",{className:"text-lg font-semibold mt-4",children:"B. Security and Analytics:"}),(0,t.jsxs)("ul",{className:"list-disc list-inside",children:[(0,t.jsx)("li",{children:"Enhancing the security and performance of We Code through Cloudflare."}),(0,t.jsx)("li",{children:"Using Cloudflare analytics to understand Site usage and improve our services."})]}),(0,t.jsx)("h2",{className:"text-xl font-semibold mt-6",children:"4. Disclosure of Your Information"}),(0,t.jsx)("p",{className:"",children:"We do not sell, trade, or otherwise transfer your personally identifiable information to outside parties except as described below:"}),(0,t.jsxs)("ul",{className:"list-disc list-inside",children:[(0,t.jsxs)("li",{children:[(0,t.jsx)("strong",{children:"Service Providers:"})," We may share your information with third-party vendors (such as OpenAI and Google Vertex) to perform tasks on our behalf, such as providing AI tutoring services."]}),(0,t.jsxs)("li",{children:[(0,t.jsx)("strong",{children:"Legal Requirements:"})," We may disclose your information if required to do so by law or in response to valid requests by public authorities."]})]}),(0,t.jsx)("h2",{className:"text-xl font-semibold mt-6",children:"5. Data Security"}),(0,t.jsx)("p",{className:"",children:"We use administrative, technical, and physical security measures to protect your personal information. However, no transmission over the Internet or electronic storage is completely secure, so we cannot guarantee its absolute security."}),(0,t.jsx)("h2",{className:"text-xl font-semibold mt-6",children:"6. Your Choices"}),(0,t.jsx)("h3",{className:"text-lg font-semibold mt-4",children:"A. Local Storage:"}),(0,t.jsx)("ul",{className:"list-disc list-inside",children:(0,t.jsx)("li",{children:"You can clear your browser's local storage at any time to delete your code history and test case results."})}),(0,t.jsx)("h3",{className:"text-lg font-semibold mt-4",children:"B. Cookies:"}),(0,t.jsx)("ul",{className:"list-disc list-inside",children:(0,t.jsx)("li",{children:"As we rely on Cloudflare, you can manage Cloudflare's cookies through your browser settings."})}),(0,t.jsx)("h2",{className:"text-xl font-semibold mt-6",children:"7. Changes to This Privacy Policy"}),(0,t.jsx)("p",{className:"",children:'We may update this Privacy Policy from time to time. We will notify you of any changes by updating the "Effective Date" at the top of this Privacy Policy. You are advised to review this Privacy Policy periodically for any changes.'}),(0,t.jsx)("h2",{className:"text-xl font-semibold mt-6",children:"8. Contact Us"}),(0,t.jsxs)("p",{children:["If you have any questions about this Privacy Policy, please contact us at",(0,t.jsx)("a",{href:"mailto:contact@dacubeking.com",className:"text-blue-500",children:" contact@dacubeking.com"}),"."]})]})}}]);
+//# sourceMappingURL=248.7756e353.chunk.js.map
\ No newline at end of file
diff --git a/static/js/248.7756e353.chunk.js.map b/static/js/248.7756e353.chunk.js.map
new file mode 100644
index 0000000..a45c056
--- /dev/null
+++ b/static/js/248.7756e353.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/248.7756e353.chunk.js","mappings":"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","sources":["footer/Privacy.tsx"],"sourcesContent":["import React from 'react';\r\n\r\nconst PrivacyPolicy = () => {\r\n return (\r\n \r\n Privacy Policy
\r\n Effective Date: May 18th 2024
\r\n\r\n 1. Introduction
\r\n \r\n Welcome to We Code (\"we\", \"our\", \"us\"). We are committed to protecting your privacy. This Privacy Policy\r\n explains how we collect, use, disclose, and safeguard your information when you use our website\r\n https://wecode.dacubeking.com (\"We Code\"). Please read this policy\r\n carefully. If you do not agree with the terms of this Privacy Policy, please do not access We Code.\r\n
\r\n\r\n 2. Information We Collect
\r\n A. GitHub Authentication:
\r\n \r\n - We use GitHub for authentication.
\r\n - Upon logging in, we collect your GitHub ID, name, and username. This information is used to identify\r\n and display your profile on We Code.\r\n
\r\n
\r\n\r\n B. User Content:
\r\n \r\n - When you write code for byte-sized coding problems on We Code, your code and test case results are\r\n stored locally on your browser's local storage.\r\n
\r\n
\r\n\r\n C. API Requests:
\r\n \r\n - If you use the \"I'm stuck\" feature, the code and test cases you submit are sent to our API. We use\r\n this information to call OpenAI or Google Vertex APIs for assistance from an AI tutor.\r\n
\r\n - We also log your user ID and a timestamp for rate-limiting purposes. No other information is saved\r\n server-side.\r\n
\r\n
\r\n\r\n D. Cloudflare Analytics:
\r\n \r\n - Our website is proxied through Cloudflare, which collects analytics data. This includes cookies\r\n placed by Cloudflare for security and performance purposes. We do not use any other cookies.\r\n
\r\n
\r\n\r\n 3. How We Use Your Information
\r\n A. To Provide and Improve Our Services:
\r\n \r\n - Displaying your profile information.
\r\n - Storing your code and test case results in local storage for your convenience.
\r\n - Providing AI-driven assistance when you're stuck.
\r\n
\r\n\r\n B. Security and Analytics:
\r\n \r\n - Enhancing the security and performance of We Code through Cloudflare.
\r\n - Using Cloudflare analytics to understand Site usage and improve our services.
\r\n
\r\n\r\n 4. Disclosure of Your Information
\r\n We do not sell, trade, or otherwise transfer your personally identifiable information to\r\n outside parties except as described below:
\r\n \r\n - Service Providers: We may share your information with third-party vendors (such as\r\n OpenAI and Google Vertex) to perform tasks on our behalf, such as providing AI tutoring services.\r\n
\r\n - Legal Requirements: We may disclose your information if required to do so by law or\r\n in response to valid requests by public authorities.\r\n
\r\n
\r\n\r\n 5. Data Security
\r\n \r\n We use administrative, technical, and physical security measures to protect your personal information.\r\n However, no transmission over the Internet or electronic storage is completely secure, so we cannot\r\n guarantee its absolute security.\r\n
\r\n\r\n 6. Your Choices
\r\n A. Local Storage:
\r\n \r\n - You can clear your browser's local storage at any time to delete your code history and test case\r\n results.\r\n
\r\n
\r\n\r\n B. Cookies:
\r\n \r\n - As we rely on Cloudflare, you can manage Cloudflare's cookies through your browser settings.
\r\n
\r\n\r\n 7. Changes to This Privacy Policy
\r\n \r\n We may update this Privacy Policy from time to time. We will notify you of any changes by updating the\r\n \"Effective Date\" at the top of this Privacy Policy. You are advised to review this Privacy Policy\r\n periodically for any changes.\r\n
\r\n\r\n 8. Contact Us
\r\n \r\n If you have any questions about this Privacy Policy, please contact us at\r\n contact@dacubeking.com.\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default PrivacyPolicy;\r\n"],"names":["PrivacyPolicy","_jsxs","className","children","_jsx","href"],"sourceRoot":""}
\ No newline at end of file
diff --git a/static/js/786.7eeccd24.chunk.js b/static/js/786.7eeccd24.chunk.js
new file mode 100644
index 0000000..d4cbd6d
--- /dev/null
+++ b/static/js/786.7eeccd24.chunk.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkai_coding_learning=self.webpackChunkai_coding_learning||[]).push([[786],{4786:(e,s,l)=>{l.r(s),l.d(s,{default:()=>r});var t=l(5043),i=l(5475),a=l(9473);let n="M0,60.56c55.63-30.1,102.12-38.64,133.59-41.06c37.46-2.88,94.56,7.7,207.25,28.99c72.83,13.76,91.25,18.65,123.67,12.56c55.51-10.42,56.68-35.11,104.35-37.2c52.67-2.31,79.26,26.62,124.64,10.63c17.13-6.04,29.35-15.8,36.71-22.71L720,0H0V60.56z";var c=l(579);const r=function(){const[e,s]=(0,t.useState)(null);function l(e){let{index:s,children:l,isLast:t}=e,i=r(s),a=r(s+1);return t&&(a="#1c1f23"),(0,c.jsxs)("div",{style:{background:i},children:[l,(0,c.jsx)("div",{style:{background:a},children:(0,c.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 720 72",className:"pb-5",children:(0,c.jsx)("path",{fill:i,d:n})})})]})}function r(e){const s=["#f8e6f7","#e6f7f8","#f7f8e6","#e6f8f7","#f7e6f8","#f8f7e6"];return s[e%s.length]}return(0,t.useEffect)((()=>{fetch("/problem_locations.json").then((async e=>{if(!e.ok)throw new Error("Network response was not ok");return await e.json()})).then((e=>{s(e)})).catch((e=>{console.error("Error loading available problems",e)}))}),[]),(0,c.jsxs)("div",{children:[(0,c.jsxs)("div",{className:"flex justify-between h-[calc(100vh*0.60)] bg-white-pink",children:[(0,c.jsx)("div",{className:"flex justify-center items-center",children:(0,c.jsxs)("div",{className:"-mt-16 w-2/3",children:[(0,c.jsx)("div",{className:"text-3xl text-black font-bold",children:"Welcome to"}),(0,c.jsx)("div",{className:"text-9xl font-extrabold text-bright-purple -mt-5",children:"WeCode"}),(0,c.jsx)("div",{className:"text-xl text-black font-semibold mt-5 pl-4",children:"Your Coding Ally"}),(0,c.jsx)(a.N_,{to:"problems",smooth:!0,duration:500,children:(0,c.jsx)("div",{className:"text-xl text-bright-blue underline font-semibold pl-4",children:"Start Learning Now"})})]})}),(0,c.jsx)("div",{className:"flex w-1/3 justify-center items-center",children:(0,c.jsx)("div",{className:" text-black font-bold"})})]}),(0,c.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 720 72",className:"mb-5",children:(0,c.jsx)("path",{fill:"#f8e6f7",d:n})}),(0,c.jsxs)("div",{className:"ml-5 mt-16",children:[(0,c.jsx)("div",{className:"text-5xl font-bold",children:"How it Works"}),(0,c.jsxs)("div",{className:"flex flex-row ml-5 mr-5 ",children:[(0,c.jsxs)("div",{className:"",children:[(0,c.jsx)("div",{className:"text-2xl font-semibold mt-5",children:"1. Code"}),(0,c.jsx)("img",{className:"w-96",src:"/assets/home/ex-code.png",alt:"An attempt at solving the fibbinachi problem"})]}),(0,c.jsxs)("div",{className:"ml-5",children:[(0,c.jsx)("div",{className:"text-2xl font-semibold mt-5",children:"2. Test"}),(0,c.jsx)("img",{className:"w-96",src:"/assets/home/ex-test.png",alt:"Test results for the attempt at solving the fibbinachi problem. All but the first two tests failed"})]}),(0,c.jsxs)("div",{className:"ml-5",children:[(0,c.jsx)("div",{className:"text-2xl font-semibold mt-5",children:"3. Ask for help"}),(0,c.jsx)("img",{className:"w-96",src:"/assets/home/ask-for-help.png",alt:"The AI tutor explaining why the remaining tests failed"})]}),(0,c.jsxs)("div",{className:"ml-5",children:[(0,c.jsx)("div",{className:"text-2xl font-semibold mt-5",children:"4. Repeat & Learn"}),(0,c.jsx)("img",{className:"w-96",src:"/assets/home/ex-repeat.png",alt:"User going back to the problem to fix the issue"})]})]})]}),(0,c.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 720 72",className:"pb-5 bg-[#f8e6f7]",children:(0,c.jsx)("path",{fill:"#1C1F23",d:n})}),(0,c.jsx)("div",{id:"problems",className:"text-5xl font-bold pt-8 bg-[#f8e6f7] text-basically-black pl-4 ",children:"Problems"}),(0,c.jsx)("div",{className:"w-full",children:function e(s){return s.map(((t,a)=>{if("directory"in t){let i=a===s.length-1;return(0,c.jsx)(l,{index:a,isLast:i,children:(0,c.jsxs)("div",{className:"pb-5 ml-5 text-basically-black w-1/2",children:[(0,c.jsxs)("div",{className:"text-3xl font-bold",children:[" ",t.meta.title," "]}),(0,c.jsxs)("div",{className:"text-lg",children:[" ",t.meta.description," "]}),(0,c.jsxs)("div",{className:"pl-4",children:[" ",e(t.files)," "]})]})},a)}return(0,c.jsx)("div",{children:(0,c.jsx)(i.N_,{to:"/Problem"+t.problemId,className:"text-bright-blue underline text-lg",children:t.problemName})},a)}))}((null===e||void 0===e?void 0:e.files)||[])})]})}}}]);
+//# sourceMappingURL=786.7eeccd24.chunk.js.map
\ No newline at end of file
diff --git a/static/js/786.7eeccd24.chunk.js.map b/static/js/786.7eeccd24.chunk.js.map
new file mode 100644
index 0000000..a508f5a
--- /dev/null
+++ b/static/js/786.7eeccd24.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/786.7eeccd24.chunk.js","mappings":"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","sources":["shared.tsx","Home.tsx"],"sourcesContent":["export let curveDivider = \"M0,60.56c55.63-30.1,102.12-38.64,133.59-41.06c37.46-2.88,94.56,7.7,207.25,28.99\" +\r\n \"c72.83,13.76,91.25,18.65,123.67,12.56c55.51-10.42,56.68-35.11,104.35-37.2c52.67-2.31,79.26,26.62,124.64,10.63\" +\r\n \"c17.13-6.04,29.35-15.8,36.71-22.71L720,0H0V60.56z\"","import React, {useEffect, useState} from \"react\";\r\nimport {Link} from \"react-router-dom\";\r\nimport {Link as ScrollLink} from 'react-scroll'\r\nimport {curveDivider} from \"./shared\";\r\n\r\nclass ProblemData {\r\n problemName: string = \"\";\r\n problemId: string = \"\";\r\n}\r\n\r\nclass ProblemDirData {\r\n \"directory\": string = \"\";\r\n \"meta\": {\r\n \"displayStyle\": string\r\n \"title\": string\r\n \"description\": string\r\n \"weight\": number\r\n }\r\n \"files\": (ProblemData | ProblemDirData)[]\r\n}\r\n\r\nfunction Home() {\r\n const [data, setData] = useState(null as ProblemDirData | null);\r\n\r\n useEffect(() => {\r\n fetch(process.env.PUBLIC_URL + \"/problem_locations.json\")\r\n .then(async response => {\r\n if (!response.ok) {\r\n throw new Error('Network response was not ok');\r\n }\r\n return await (response.json()) as ProblemDirData\r\n })\r\n .then(data => {\r\n setData(data);\r\n })\r\n .catch(error => {\r\n console.error('Error loading available problems', error);\r\n });\r\n }, []);\r\n\r\n\r\n type ProblemSectionProps = {\r\n index: number;\r\n children: React.ReactNode;\r\n isLast: boolean;\r\n };\r\n\r\n function ProblemSection({index, children, isLast}: ProblemSectionProps) {\r\n let color = getColorForProblemSection(index);\r\n let color2 = getColorForProblemSection(index + 1);\r\n if (isLast) {\r\n color2 = \"#1c1f23\"; // default background color\r\n }\r\n return (\r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n function getProblemFolderAsJSX(data: (ProblemData | ProblemDirData)[]) {\r\n return data.map((item, index) => {\r\n if ('directory' in item) {\r\n let isLast = index === data.length - 1;\r\n return (\r\n \r\n \r\n {item.meta.title} \r\n {item.meta.description} \r\n {getProblemFolderAsJSX(item.files)} \r\n \r\n \r\n );\r\n } else {\r\n return \r\n \r\n {item.problemName}\r\n \r\n \r\n }\r\n });\r\n }\r\n\r\n function getColorForProblemSection(index: number): string {\r\n const colors = ['#f8e6f7', '#e6f7f8', '#f7f8e6', '#e6f8f7', '#f7e6f8', '#f8f7e6'];\r\n return colors[index % colors.length];\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Welcome to\r\n WeCode\r\n Your Coding Ally\r\n \r\n Start Learning Now\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n How it Works\r\n \r\n \r\n 1. Code\r\n \r\n \r\n \r\n 2. Test\r\n \r\n \r\n \r\n 3. Ask for help\r\n \r\n \r\n \r\n 4. Repeat & Learn\r\n \r\n \r\n \r\n\r\n \r\n \r\n Problems\r\n \r\n\r\n \r\n {getProblemFolderAsJSX(data?.files || [])}\r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Home;"],"names":["curveDivider","data","setData","useState","ProblemSection","_ref","index","children","isLast","color","getColorForProblemSection","color2","_jsxs","style","background","_jsx","xmlns","viewBox","className","fill","d","colors","length","useEffect","fetch","then","async","response","ok","Error","json","catch","error","console","ScrollLink","to","smooth","duration","src","alt","id","getProblemFolderAsJSX","map","item","meta","title","description","files","Link","problemId","problemName"],"sourceRoot":""}
\ No newline at end of file
diff --git a/static/js/843.b0a929a7.chunk.js b/static/js/843.55b31125.chunk.js
similarity index 87%
rename from static/js/843.b0a929a7.chunk.js
rename to static/js/843.55b31125.chunk.js
index ff68942..453b5de 100644
--- a/static/js/843.b0a929a7.chunk.js
+++ b/static/js/843.55b31125.chunk.js
@@ -1,2 +1,2 @@
-"use strict";(self.webpackChunkai_coding_learning=self.webpackChunkai_coding_learning||[]).push([[843],{3843:(e,o,n)=>{n.r(o),n.d(o,{default:()=>l});var t=n(5475),i=n(5043),c=n(1216),r=n(579);function l(){const[e,o]=(0,t.ok)();return(0,i.useEffect)((()=>{let n=e.get("code");o({}),n&&fetch(c.cG,{method:"POST",headers:{"content-type":"application/json","user-agent":"cloudflare-worker-ai-tutor-login",accept:"application/json"},body:JSON.stringify({code:n})}).then((e=>e.json())).then((e=>{if(e.token){localStorage.setItem("token",e.token);let o=localStorage.getItem("loginRedirect");null!==o&&void 0!==o&&""!==o&&"undefined"!==o?(window.location.href=o,localStorage.setItem("LoginRedirect","")):window.location.href="/"}else console.error(e)})).catch((e=>{console.error(e)}))}),[]),(0,r.jsx)("div",{children:(0,r.jsx)("h1",{children:"Logging in..."})})}}}]);
-//# sourceMappingURL=843.b0a929a7.chunk.js.map
\ No newline at end of file
+"use strict";(self.webpackChunkai_coding_learning=self.webpackChunkai_coding_learning||[]).push([[843],{3843:(e,o,n)=>{n.r(o),n.d(o,{default:()=>l});var t=n(5475),i=n(5043),c=n(9796),r=n(579);function l(){const[e,o]=(0,t.ok)();return(0,i.useEffect)((()=>{let n=e.get("code");o({}),n&&fetch(c.cG,{method:"POST",headers:{"content-type":"application/json","user-agent":"cloudflare-worker-ai-tutor-login",accept:"application/json"},body:JSON.stringify({code:n})}).then((e=>e.json())).then((e=>{if(e.token){localStorage.setItem("token",e.token);let o=localStorage.getItem("loginRedirect");null!==o&&void 0!==o&&""!==o&&"undefined"!==o?(window.location.href=o,localStorage.setItem("LoginRedirect","")):window.location.href="/"}else console.error(e)})).catch((e=>{console.error(e)}))}),[]),(0,r.jsx)("div",{children:(0,r.jsx)("h1",{children:"Logging in..."})})}}}]);
+//# sourceMappingURL=843.55b31125.chunk.js.map
\ No newline at end of file
diff --git a/static/js/843.b0a929a7.chunk.js.map b/static/js/843.55b31125.chunk.js.map
similarity index 97%
rename from static/js/843.b0a929a7.chunk.js.map
rename to static/js/843.55b31125.chunk.js.map
index 631b084..019dceb 100644
--- a/static/js/843.b0a929a7.chunk.js.map
+++ b/static/js/843.55b31125.chunk.js.map
@@ -1 +1 @@
-{"version":3,"file":"static/js/843.b0a929a7.chunk.js","mappings":"gMAIe,SAASA,IACpB,MAAOC,EAAcC,IAAmBC,EAAAA,EAAAA,MAuCxC,OAtCAC,EAAAA,EAAAA,YAAU,KACN,IAAIC,EAAOJ,EAAaK,IAAI,QAC5BJ,EAAgB,CAAC,GACbG,GACAE,MAAMC,EAAAA,GAAc,CAChBC,OAAQ,OACRC,QAAS,CACL,eAAgB,mBAChB,aAAc,mCACdC,OAAQ,oBAEZC,KAAMC,KAAKC,UAAU,CAACT,WAErBU,MAAKC,GAAYA,EAASC,SAC1BF,MAAKG,IACF,GAAIA,EAAOC,MAAO,CACdC,aAAaC,QAAQ,QAASH,EAAOC,OACrC,IAAIG,EAAgBF,aAAaG,QAAQ,iBAEnB,OAAlBD,QAA4CE,IAAlBF,GAAiD,KAAlBA,GAA0C,cAAlBA,GACjFG,OAAOC,SAASC,KAAOL,EACvBF,aAAaC,QAAQ,gBAAiB,KAEtCI,OAAOC,SAASC,KAAO,GAE/B,MACIC,QAAQC,MAAMX,EAClB,IAGHY,OAAMD,IACHD,QAAQC,MAAMA,EAAM,GAEhC,GAED,KAICE,EAAAA,EAAAA,KAAA,OAAAC,UACID,EAAAA,EAAAA,KAAA,MAAAC,SAAI,mBAGhB,C","sources":["auth/LoginSuccess.tsx"],"sourcesContent":["import {useSearchParams} from \"react-router-dom\";\r\nimport {useEffect} from \"react\";\r\nimport {AUTH_API_URL} from \"../App\";\r\n\r\nexport default function LoginSuccess() {\r\n const [searchParams, setSearchParams] = useSearchParams();\r\n useEffect(() => {\r\n let code = searchParams.get(\"code\");\r\n setSearchParams({});\r\n if (code) {\r\n fetch(AUTH_API_URL, {\r\n method: \"POST\",\r\n headers: {\r\n \"content-type\": \"application/json\",\r\n \"user-agent\": \"cloudflare-worker-ai-tutor-login\",\r\n accept: \"application/json\",\r\n },\r\n body: JSON.stringify({code})\r\n })\r\n .then(response => response.json())\r\n .then(result => {\r\n if (result.token) {\r\n localStorage.setItem(\"token\", result.token);\r\n let loginRedirect = localStorage.getItem(\"loginRedirect\");\r\n\r\n if (loginRedirect !== null && loginRedirect !== undefined && loginRedirect !== \"\" && loginRedirect !== \"undefined\") {\r\n window.location.href = loginRedirect;\r\n localStorage.setItem(\"LoginRedirect\", \"\");\r\n } else {\r\n window.location.href = \"/\";\r\n }\r\n } else {\r\n console.error(result);\r\n }\r\n\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n });\r\n }\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n\r\n return (\r\n \r\n Logging in...
\r\n \r\n )\r\n}"],"names":["LoginSuccess","searchParams","setSearchParams","useSearchParams","useEffect","code","get","fetch","AUTH_API_URL","method","headers","accept","body","JSON","stringify","then","response","json","result","token","localStorage","setItem","loginRedirect","getItem","undefined","window","location","href","console","error","catch","_jsx","children"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"static/js/843.55b31125.chunk.js","mappings":"gMAIe,SAASA,IACpB,MAAOC,EAAcC,IAAmBC,EAAAA,EAAAA,MAuCxC,OAtCAC,EAAAA,EAAAA,YAAU,KACN,IAAIC,EAAOJ,EAAaK,IAAI,QAC5BJ,EAAgB,CAAC,GACbG,GACAE,MAAMC,EAAAA,GAAc,CAChBC,OAAQ,OACRC,QAAS,CACL,eAAgB,mBAChB,aAAc,mCACdC,OAAQ,oBAEZC,KAAMC,KAAKC,UAAU,CAACT,WAErBU,MAAKC,GAAYA,EAASC,SAC1BF,MAAKG,IACF,GAAIA,EAAOC,MAAO,CACdC,aAAaC,QAAQ,QAASH,EAAOC,OACrC,IAAIG,EAAgBF,aAAaG,QAAQ,iBAEnB,OAAlBD,QAA4CE,IAAlBF,GAAiD,KAAlBA,GAA0C,cAAlBA,GACjFG,OAAOC,SAASC,KAAOL,EACvBF,aAAaC,QAAQ,gBAAiB,KAEtCI,OAAOC,SAASC,KAAO,GAE/B,MACIC,QAAQC,MAAMX,EAClB,IAGHY,OAAMD,IACHD,QAAQC,MAAMA,EAAM,GAEhC,GAED,KAICE,EAAAA,EAAAA,KAAA,OAAAC,UACID,EAAAA,EAAAA,KAAA,MAAAC,SAAI,mBAGhB,C","sources":["auth/LoginSuccess.tsx"],"sourcesContent":["import {useSearchParams} from \"react-router-dom\";\r\nimport {useEffect} from \"react\";\r\nimport {AUTH_API_URL} from \"../App\";\r\n\r\nexport default function LoginSuccess() {\r\n const [searchParams, setSearchParams] = useSearchParams();\r\n useEffect(() => {\r\n let code = searchParams.get(\"code\");\r\n setSearchParams({});\r\n if (code) {\r\n fetch(AUTH_API_URL, {\r\n method: \"POST\",\r\n headers: {\r\n \"content-type\": \"application/json\",\r\n \"user-agent\": \"cloudflare-worker-ai-tutor-login\",\r\n accept: \"application/json\",\r\n },\r\n body: JSON.stringify({code})\r\n })\r\n .then(response => response.json())\r\n .then(result => {\r\n if (result.token) {\r\n localStorage.setItem(\"token\", result.token);\r\n let loginRedirect = localStorage.getItem(\"loginRedirect\");\r\n\r\n if (loginRedirect !== null && loginRedirect !== undefined && loginRedirect !== \"\" && loginRedirect !== \"undefined\") {\r\n window.location.href = loginRedirect;\r\n localStorage.setItem(\"LoginRedirect\", \"\");\r\n } else {\r\n window.location.href = \"/\";\r\n }\r\n } else {\r\n console.error(result);\r\n }\r\n\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n });\r\n }\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n\r\n return (\r\n \r\n Logging in...
\r\n \r\n )\r\n}"],"names":["LoginSuccess","searchParams","setSearchParams","useSearchParams","useEffect","code","get","fetch","AUTH_API_URL","method","headers","accept","body","JSON","stringify","then","response","json","result","token","localStorage","setItem","loginRedirect","getItem","undefined","window","location","href","console","error","catch","_jsx","children"],"sourceRoot":""}
\ No newline at end of file
diff --git a/static/js/853.f8edb0ba.chunk.js b/static/js/853.4c6c25ca.chunk.js
similarity index 99%
rename from static/js/853.f8edb0ba.chunk.js
rename to static/js/853.4c6c25ca.chunk.js
index 4f2b0f5..e78db6d 100644
--- a/static/js/853.f8edb0ba.chunk.js
+++ b/static/js/853.4c6c25ca.chunk.js
@@ -1,2 +1,2 @@
-"use strict";(self.webpackChunkai_coding_learning=self.webpackChunkai_coding_learning||[]).push([[853],{1234:(e,t,n)=>{n.r(t),n.d(t,{UserData:()=>J,default:()=>z,marked:()=>W,saveUserData:()=>B});var s=n(4283),r=n(8857),o=n(8172),l=n(5043),i=n(6213),a=n.n(i),u=n(5745),c=n(5969),h=n(2518),d=n(1216);class p{constructor(){this.id="",this.title="Loading...",this.preProblemDescription="",this.description="",this.tests=[],this.hiddenTests=[],this.displayAbove="",this.displayBelow="",this.solution="",this.solutionCode="",this.codeLang="",this.nextProblemId=""}}class g{constructor(e,t){this.key=void 0,this.value=void 0,this.key=e,this.value=t}}function f(e,t){for(;e.length>0&&(v(e),0!==e.length&&"code"===e[0].type);){let n=e.shift().text.trim(),s=n.split("\n").flatMap((e=>e.trim())),r=s[s.length-1],o=r.indexOf("("),l=-1;for(let e=r.length-1;e>=0;e--)if(")"===r[e]){l=e;break}if(-1===o||-1===l){console.error("Failed to parse function call (Magic Links will not work!): "+r);continue}let i=r.substring(o+1,l).split(",").map((e=>e.trim()));v(e);let a=1,u=r;u.endsWith(";")&&(u=u.substring(0,u.length-1));let c=[];for(let e of i){let t=n.match(new RegExp("let\\s+".concat(e,"\\s*=\\s*")));if(null!==t&&void 0!==t.index){let s=n.substring(t.index+t[0].length).trim(),r=0,o=0,l=0,i=0,a=0;for(let e=0;e0&&"paragraph"===e[0].type;){let t=e.shift().text.trim(),n=t.split("=").map((e=>e.trim()));if(2!==n.length){console.error("Failed to parse metadata: "+t);continue}let s=n[0].toLowerCase(),o=n[1];if("repeat"===s){let e=parseInt(o);isNaN(e)?console.error("Failed to parse repeat value: "+o):a=e}else if("displayas"===s){u=o;let e=r.indexOf("("),t=-1;for(let n=u.length-1;n>=0;n--)if(")"===u[n]){t=n;break}if(-1===e||-1===t){console.error("Failed to parse function for displayAs meta call (Magic Links will not work!): "+u);continue}i=u.substring(e+1,t).split(",").map((e=>e.trim()))}else if(i.includes(n[0])){let t=n[0],s=n[1];0===n[1].length&&(v(e),0===e.length||"code"!==e[0].type?console.error("Found magic link with nothing after the equals sign & no code block following: "+n[0]):s=e.shift().text),m(c,t,s)}else console.error("Unknown metadata key: "+n[0]);v(e)}for(let e=0;e0&&e[0].type!==t;)e.shift()}function v(e){for(;e.length>0&&"space"===e[0].type;)e.shift()}var y=n(579);const w="Requesting help from the AI tutor...",R="NEXT_HELP_TIME";var k=n(3216),E=(n(119),n(6494)),C=n(2561);const j=2;let N=function(e){return e.Passed="Passed",e.Failed="Failed",e.Exception="Exception",e.NotRun="Not run",e}({});class S{constructor(){this.testResults=[],this.returnedResults=[],this.expectedResults=[],this.parseError="",this.errorLine=-1,this.runtimeError="",this.outputs=[],this.ranSuccessfully=!0}}class L{constructor(e,t){this.str=void 0,this.lineNum=void 0,this.str=e,this.lineNum=t}}const P=n(5311).A;function A(e){let t=[],n=1;const s=[" ","(",")","{","}",":",",",";","\n"];let r=0;for(let o=0;o""!==e.str))}function I(e,t,n,s){let r=e.stack;void 0===r&&(r="");let o=r.split("\n");for(let a=0;a:/g;for(let a=0;a=t[e]&&l<=n[e]){u=t[e],c=n[e];break}if(-1!==u&&-1!==c){let t=l-u+1,n=0;for(let e=0;es[e]&&n++;t-=n;let c=parseInt(r[2]),h="".concat(t,":").concat(c);o[a]=e.replace(r[0],h),-1===i&&(i=t)}}}return e.stack=o.join("\n"),i}function T(e){return void 0===e?"undefined":null===e?"null":e.toString()}function F(){return Math.random().toString(36).substring(7)}function M(e){let t=e.solutionCode,n="expectedResults"+F(),s="\nlet ".concat(n," = [] || [];\n \n").concat(t,"\n "),r=e.tests.concat(e.hiddenTests);for(let i=0;iT(e)))}const D=(e,t)=>{if(!e.length)return t.length;if(!t.length)return e.length;const n=[];for(let s=0;s<=t.length;s++){n[s]=[s];for(let r=1;r<=e.length;r++)n[s][r]=0===s?r:Math.min(n[s-1][r]+1,n[s][r-1]+1,n[s-1][r-1]+(e[r-1]===t[s-1]?0:1))}return n[t.length][e.length]};var _=n(1020),H=n(34);o.A.registerAliases([""],{languageName:"javascript"});const U=(0,l.lazy)((()=>Promise.all([n.e(671),n.e(303)]).then(n.bind(n,4303)))),W=new s.Dz((0,r.x)({langPrefix:"hljs language-",highlight(e,t,n){const s=o.A.getLanguage(t)?t:"plaintext";return o.A.highlight(e,{language:s}).value}}));function B(e,t){null!==t.currentCode&&""!==t.currentCode&&void 0!==t.currentCode||console.error("User data is being saved with no code"),localStorage.setItem(O(e.id,(0,u.J3)()),JSON.stringify(t))}function O(e,t){return"problem "+e}function z(){var e,t,n;const[s,r]=(0,l.useState)(null),{"*":i}=(0,k.g)(),[g,m]=(0,l.useState)(null),[j,L]=(0,l.useState)('When you press "I\'m stuck", the AI tutor will respond here.'),[H,z]=(0,l.useState)({anchorEl:null,magicLink:"",highlight:!0});function G(){return function(e,t,n){if(0===t.history.length)t.history.push(t.currentCode);else{t.history[t.history.length-1]!==t.currentCode&&t.history.push(t.currentCode)}t.lastUpdated=new Date;let s=function(e,t){let n,s=e.currentCode;try{n=C.qg(s,{ecmaVersion:"latest",locations:!0})}catch(v){if(v instanceof SyntaxError){let e=v.message;return v.pos===s.length&&(e+="\nUnexpected end of input. Check that you have closed all brackets and parentheses."),{testResults:[],returnedResults:[],expectedResults:M(t),parseError:e,errorLine:v.loc.line,runtimeError:"",outputs:[],ranSuccessfully:!1}}throw v}{let e={returnableError:{testResults:[],returnedResults:[],expectedResults:M(t),parseError:"You need to define a function with the following signature:"+t.solutionCode.split("{")[0],errorLine:1,runtimeError:"",outputs:[],ranSuccessfully:!1},matchedTokens:0,levenshteinDistance:1e5},r=!1;e:for(let o of n.body){let n=s.substring(o.start,o.end).split("{")[0],l=A(n),i=t.solutionCode.split("{")[0],a=A(i);for(let s=0;se.str)).join(" ")+"` but got: `"+l[s].str+"`.";let r=D(l[s].str,a[s].str);(s>e.matchedTokens||r=e.matchedTokens)&&(e={returnableError:{testResults:[],returnedResults:[],expectedResults:M(t),parseError:n,errorLine:l[s].lineNum,runtimeError:"",outputs:[],ranSuccessfully:!1},matchedTokens:s,levenshteinDistance:r});continue e}if(l.length===a.length){r=!0;break}l.length>e.matchedTokens&&(e={returnableError:{testResults:[],returnedResults:[],expectedResults:M(t),parseError:"Function signature does not match the expected signature. Expected: "+i+" but got: "+n,errorLine:l[l.length-1].lineNum,runtimeError:"",outputs:[],ranSuccessfully:!1},matchedTokens:l.length,levenshteinDistance:1e5})}if(!r)return e.returnableError}function r(e,t){let n=1;for(let s=t;s 10000) { throw new Error("Infinite loop detected. Execution stopped."); }\n');s=r+h+n+d+i,o.push(a),o.push(u);let p=h.length+d.length;for(let s=y+1;s=m.length){b.testResults.push(N.NotRun),b.expectedResults.push("Unknown"),b.returnedResults.push("Unknown"),b.outputs.push([]),b.ranSuccessfully=!1;continue}if(y>=f.length){b.testResults.push(N.NotRun),b.expectedResults.push(m[y].toString()),b.returnedResults.push("Unknown"),b.outputs.push([]),b.ranSuccessfully=!1;continue}let e,n=f[y],r=m[y];if(e=y>t.tests.length?[]:x[y],r instanceof Error){b.expectedResults.push("Error"),b.returnedResults.push("Error"),b.testResults.push(N.NotRun),console.error("A test case failed to run the solution: "+r),console.log("Test: "+g[y]),console.log("Solution: "+t.solutionCode),console.log("User code: "+s),b.ranSuccessfully=!1;continue}b.expectedResults.push(T(r));let l=[];for(let t of e){let e="";"log"!==t.function&&(e=t.function+": ");for(let n of t.args)n instanceof Error&&I(n,d,p,o);t.args.length>0?e+=E.format(t.args[0],...t.args.slice(1)):e+="",l.push(e)}b.outputs.push(l),n instanceof Error?(b.returnedResults.push("Error"),b.testResults.push(N.Exception),b.errorLine=I(n,d,p,o),b.runtimeError=n.stack,b.ranSuccessfully=!1):(b.returnedResults.push(T(n)),T(n)!==T(r)?b.testResults.push(N.Failed):b.testResults.push(N.Passed))}return b}(t,e),r=new J(t.history,t.requestHelpHistory,s,new Date,t.currentCode,t.aiRememberResponse);return n(r),B(e,r),r}(s,g,m)}let X=null===i||void 0===i?void 0:i.toLowerCase();if(null===(e=X)||void 0===e||e.trim(),null!==(t=X)&&void 0!==t&&t.startsWith("/")&&(X=X.substring(1)),null!==(n=X)&&void 0!==n&&n.endsWith("/")&&(X=X.substring(0,X.length-1)),(0,l.useEffect)((()=>{void 0!==X&&fetch("/problems/"+X+".md").then((async e=>{let t=await e.text();if(e.ok&&t.startsWith("#"))return t;throw new Error("Failed to fetch problem data")})).then((async e=>{let t=function(e,t){let n=W.lexer(e),s=n.shift().text,r="";if(b(n,"heading"),"Context"===n[0].text)for(n.shift();n.length>0&&("heading"!==n[0].type||n[0].depth>1);)r+=n.shift().raw;x(n,"description");let o="";for(;n.length>0&&("heading"!==n[0].type||n[0].depth>1);)o+=n.shift().raw;x(n,"Problem"),"code"!==n[0].type&&console.error("Problem Parse: No code block found after problem heading. If no template code is needed, please use a code block with no content (with the correct language).");let l=n.shift();l.lang||console.error("Problem Parse: No code language specified for problem "+t);let i,a,u=l.lang?l.lang:"javascript",c=l.text.split("// Your code here");0===c.length||""===c[0].trim()?(console.log("Problem Parse: Code block has no content"),i="",a=""):(i=c[0].trim(),1===c.length?(a="",console.error("Problem Parse: No secondary display content found in problem "+t+". It is unlikely that this is intentional. Ensure that you have a comment with the text '// Your code here' in the problem description.")):a=c[1].trim()),x(n,"Solution"),v(n);let h="",d="";for(;n.length>0&&!("heading"===n[0].type&&n[0].depth<=1);)"code"===n[0].type&&""===d&&(d+=n[0].text),h+=n.shift().raw;x(n,"Test Cases");let p=[];f(n,p),x(n,"Hidden Test Cases");let g,m=[];return f(n,m),x(n,"Next"),0===n.length||"paragraph"!==n[0].type?g="nothing":(g=n.shift().text,g=g.trim(),g.startsWith("/")&&(g=g.substring(1)),g.endsWith("/")&&(g=g.substring(0,g.length-1)),""===g&&(g="nothing")),{id:t,title:s,preProblemDescription:r,description:o,tests:p,hiddenTests:m,displayAbove:i,displayBelow:a,solution:h,solutionCode:d,codeLang:u,nextProblemId:g}}(e,X),n=function(e,t){if(void 0===e)return console.error("No problem id was specified, so no user data could be retrieved."),new J;let n=localStorage.getItem(O(e));null===n&&(n=localStorage.getItem(O(e)),null!==n&&console.log("Got user data without username"));if(null===n)return new J;return JSON.parse(n)}(X,(0,u.J3)());null!==n.currentCode&&""!==n.currentCode&&void 0!==n.currentCode||(console.log("First time loading problem, setting template data"),""!==t.displayAbove&&""!==t.displayBelow&&(n.currentCode=t.displayAbove+"\n\t\n"+t.displayBelow)),void 0!==n.testResults&&null!==n.testResults&&0!==n.testResults.expectedResults.length||(console.log("First time loading problem, getting expected results"),n.testResults=new S,n.testResults.expectedResults=M(t)),r(t),m(n)})).catch((e=>{console.error(e);let t=new p;t.title="Failed to load problem "+X,r(t)}))}),[X]),null===s||null===g)return null!=s&&void 0!==s.title&&s.title.startsWith("Failed to load problem")&&void 0!==X?(0,y.jsxs)("div",{children:["Failed to load problem ",X]}):void 0!==X?(0,y.jsx)("div",{children:"Loading..."}):(0,y.jsx)("div",{children:"A problem wasn't specified"});let K=s.codeLang;""===K&&(K="plaintext");let Q=a().sanitize(W.parse(s.preProblemDescription+"\n\n"+s.description));const Z=function(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];z({anchorEl:e.currentTarget,magicLink:t,highlight:n})},$=()=>{z({anchorEl:null,magicLink:H.magicLink,highlight:H.highlight})},ee=Boolean(H.anchorEl);let te=[];for(let o=0;o0&&(se=(0,y.jsx)("ul",{className:"",children:te.map(((e,t)=>(0,y.jsx)("li",{children:e},t)))})),0===g.testResults.testResults.length)ne="Hidden tests will be run when you submit your code";else{let e=s.hiddenTests.length,t=0;for(let n=0;ne===N.Passed))&&g.testResults.testResults.length===g.testResults.expectedResults.length;g.testResults.ranSuccessfully||(""!==g.testResults.parseError?(re+="We couldn't run your code due to a syntax error on line "+g.testResults.errorLine+".\n",re+=Y(g.testResults.parseError,1)):""!==g.testResults.runtimeError?(re+="Something went wrong trying to run you code",-1!==g.testResults.errorLine?re+=" on line "+g.testResults.errorLine+".\n":re+=".\n",re+=Y(g.testResults.runtimeError,1)):re+="No error message was provided."),re=re.replace(/\n/g,"
"),re=a().sanitize(re);let le,ie,{helpButton:ae,helpBox:ue}=function(e,t,n,s,r){let o=(0,y.jsx)(c.A,{theme:d.mr,children:(0,y.jsx)(h.A,{variant:"contained",color:"secondary",onClick:function(s){s.currentTarget.setAttribute("disabled","true");let o=n();if(!(0,u.M3)())return void r("You must be logged in to use the AI tutor. Please log in and try again.");let l=(0,u.gf)(),i=s.currentTarget;r(w),fetch("https://codehelp.api.dacubeking.com/ai-tutor",{method:"POST",headers:{"content-type":"application/json","user-agent":"WeCode/1.0.0",accept:"application/json",Authorization:"token ".concat(l)},body:JSON.stringify({problemData:e,userData:o})}).then((e=>e.json())).then((n=>{if(n.expire_logins)return(0,u.xf)(),(0,u.E8)(),void r("Your login has expired. Please try again after logging in.");if(401===n.status)return void r("You are not authorized to use the AI tutor.");if(localStorage.setItem(R,(Date.now()+1e3*n.wait_time).toString()),429===n.status)return r("You have made too many requests to the AI tutor. Please try again later."),void new Promise((e=>setTimeout(e,1e3*n.wait_time))).then((()=>{i.removeAttribute("disabled")}));if(200!==n.status)return r("An error occurred while using the AI tutor. Please try again later."),void i.removeAttribute("disabled");let s=W.lexer(n.response);x(s,"Thinking out loud"),x(s,"My Response");let l="";for(;s.length>0&&("heading"!==s[0].type||s[0].depth>1||"Remembering"!==s[0].text.trim());)l+=s.shift().raw;x(s,"Remembering");let c="";for(;s.length>0;)c+=s.shift().raw;let h={...o,aiRememberResponse:o.aiRememberResponse.concat(c)};t(h),B(e,h),r(a().sanitize(W.parse(l))),new Promise((e=>setTimeout(e,1e3*n.wait_time))).then((()=>{i.removeAttribute("disabled")}))})).catch((e=>{console.error(e),r("An error occurred while using the AI tutor. Please try again later."),i.removeAttribute("disabled")}))},className:"helpButton",children:"I'm stuck!"})});return{helpButton:o,helpBox:(0,y.jsx)("div",{className:"AI-help-area border-2 p-2 mt-2 mb-4 mr-2 border-white-pink w-full min-h-20",children:(0,y.jsx)("p",{className:"Code-tutor-response",dangerouslySetInnerHTML:{__html:s}})})}}(s,m,G,j,L);le=""!==s.nextProblemId&&"nothing"!==s.nextProblemId.toLowerCase()?(0,y.jsx)(c.A,{theme:d.x6,children:(0,y.jsx)(h.A,{variant:"contained",color:oe?"secondary":"primary",href:"/problem/"+s.nextProblemId,className:"nextProblemButton",children:"Next Problem"})}):(0,y.jsx)("div",{}),ie=H.highlight?o.A.highlight(H.magicLink,{language:K}).value:H.magicLink;let ce,he=a().sanitize(ie.replace(/\n/g,"
"));return ce=null!==localStorage.getItem(R)?(0,y.jsx)("span",{className:"ml-1",onMouseEnter:e=>{let t=parseInt(localStorage.getItem(R)),n=Math.ceil((t-Date.now())/1e3);n>0&&Z(e,"You can request help again in "+n+" seconds",!1)},onMouseLeave:$,children:ae}):(0,y.jsx)("span",{className:"ml-1",children:ae}),(0,y.jsxs)("div",{className:"ml-5 flex-row",children:[(0,y.jsx)("div",{className:"text-7xl font-bold pt-1 pb-5",children:s.title}),(0,y.jsx)("div",{className:"w-1/2",dangerouslySetInnerHTML:{__html:Q}}),(0,y.jsxs)("div",{className:"flex flex-row justify-between h-auto pt-2",children:[(0,y.jsxs)("div",{className:"w-1/2 h-[calc(100vh*0.80)]",children:[(0,y.jsx)(l.Suspense,{fallback:(0,y.jsx)("div",{className:"italic text-gray-300",children:"The Editor is loading..."}),children:(0,y.jsx)(U,{lang:s.codeLang,onChange:e=>function(e){g.currentCode=e,B(s,g)}(e),defaultValue:g.currentCode})}),(0,y.jsx)("div",{className:"pt-2",children:le})]}),(0,y.jsxs)("div",{className:"w-1/2 pl-4 pr-4",children:[(0,y.jsx)("div",{className:"text-3xl font-bold w-1/3",children:" Tests"}),se,(0,y.jsx)("p",{className:"Problem-hidden-tests",children:ne}),(0,y.jsx)(V,{onClick:G}),ce,(0,y.jsx)("div",{className:"text-error-red",dangerouslySetInnerHTML:{__html:re}}),ue]})]}),(0,y.jsx)(_.Ay,{id:"mouse-over-popover",sx:{pointerEvents:"none"},open:ee,anchorEl:H.anchorEl,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:$,disableRestoreFocus:!0,children:(0,y.jsx)("div",{className:"p-2 bg-basically-black text-[#abb2bf]",style:{fontFamily:'"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace',whiteSpace:"pre-wrap"},dangerouslySetInnerHTML:{__html:he}})})]})}function q(e,t,n,s,r){let o=t.testResults[n],l=void 0===o?"Not Run":o.toString();o===N.Failed&&(l+=" (Returned: "+t.returnedResults[n]+")");let i=o===N.Passed?"bg-test-passed":"bg-test-failed";class a{constructor(e,t){this.text=void 0,this.link=void 0,this.text=e,this.link=t}}let u=[],c=e[n].display;for(const p of e[n].magicLinks.values()){let e=p.key,t=p.value,n=c.indexOf(e);-1!==n?(n>0&&(u.push(c.substring(0,n)),c=c.substring(n)),u.push(new a(e,t)),c=c.substring(e.length)):console.error("Failed to find magic link in test string: "+e)}u.push(c);let h,d=void 0!==t.outputs[n]&&t.outputs[n].length>0;if(d){let e=d?"Console Output: \n"+t.outputs[n].join("\n"):"";h=(0,y.jsxs)("span",{className:"underline decoration-gray-600 underline-offset-2",onMouseEnter:t=>s(t,e),onMouseLeave:r,children:[t.expectedResults[n]," : ",l]})}else h=(0,y.jsxs)("span",{children:[t.expectedResults[n]," : ",l]});return(0,y.jsxs)("div",{className:"mb-2 text-black font-bold pl-1 "+i,children:[u.map(((e,t)=>e instanceof a?(0,y.jsx)("span",{className:"text-purple-800 underline",onMouseEnter:t=>s(t,e.text+" = "+e.link),onMouseLeave:r,children:e.text},t):(0,y.jsx)("span",{children:e},t))),(0,y.jsx)("span",{children:" \u2794 "}),h]})}function Y(e,t){let n=" ";return e.split("\n").map((e=>n+e)).join("\n")}W.use((0,H.A)({throwOnError:!1,displayMode:!1}));class J{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new S,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Date,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[];this.history=[],this.requestHelpHistory=[],this.testResults=new S,this.lastUpdated=new Date,this.currentCode=null,this.aiRememberResponse=[],this.history=e,this.testResults=n,this.requestHelpHistory=t,this.lastUpdated=s,this.currentCode=r,this.aiRememberResponse=o}}function V(e){let{onClick:t}=e;return(0,y.jsx)(c.A,{theme:d.mr,children:(0,y.jsx)(h.A,{variant:"contained",color:"primary",onClick:t,className:"submitButton",children:"Test Code"})})}}}]);
-//# sourceMappingURL=853.f8edb0ba.chunk.js.map
\ No newline at end of file
+"use strict";(self.webpackChunkai_coding_learning=self.webpackChunkai_coding_learning||[]).push([[853],{1234:(e,t,n)=>{n.r(t),n.d(t,{UserData:()=>J,default:()=>z,marked:()=>W,saveUserData:()=>B});var s=n(4283),r=n(8857),o=n(8172),l=n(5043),i=n(6213),a=n.n(i),u=n(5745),c=n(5969),h=n(2518),d=n(9796);class p{constructor(){this.id="",this.title="Loading...",this.preProblemDescription="",this.description="",this.tests=[],this.hiddenTests=[],this.displayAbove="",this.displayBelow="",this.solution="",this.solutionCode="",this.codeLang="",this.nextProblemId=""}}class g{constructor(e,t){this.key=void 0,this.value=void 0,this.key=e,this.value=t}}function f(e,t){for(;e.length>0&&(v(e),0!==e.length&&"code"===e[0].type);){let n=e.shift().text.trim(),s=n.split("\n").flatMap((e=>e.trim())),r=s[s.length-1],o=r.indexOf("("),l=-1;for(let e=r.length-1;e>=0;e--)if(")"===r[e]){l=e;break}if(-1===o||-1===l){console.error("Failed to parse function call (Magic Links will not work!): "+r);continue}let i=r.substring(o+1,l).split(",").map((e=>e.trim()));v(e);let a=1,u=r;u.endsWith(";")&&(u=u.substring(0,u.length-1));let c=[];for(let e of i){let t=n.match(new RegExp("let\\s+".concat(e,"\\s*=\\s*")));if(null!==t&&void 0!==t.index){let s=n.substring(t.index+t[0].length).trim(),r=0,o=0,l=0,i=0,a=0;for(let e=0;e0&&"paragraph"===e[0].type;){let t=e.shift().text.trim(),n=t.split("=").map((e=>e.trim()));if(2!==n.length){console.error("Failed to parse metadata: "+t);continue}let s=n[0].toLowerCase(),o=n[1];if("repeat"===s){let e=parseInt(o);isNaN(e)?console.error("Failed to parse repeat value: "+o):a=e}else if("displayas"===s){u=o;let e=r.indexOf("("),t=-1;for(let n=u.length-1;n>=0;n--)if(")"===u[n]){t=n;break}if(-1===e||-1===t){console.error("Failed to parse function for displayAs meta call (Magic Links will not work!): "+u);continue}i=u.substring(e+1,t).split(",").map((e=>e.trim()))}else if(i.includes(n[0])){let t=n[0],s=n[1];0===n[1].length&&(v(e),0===e.length||"code"!==e[0].type?console.error("Found magic link with nothing after the equals sign & no code block following: "+n[0]):s=e.shift().text),m(c,t,s)}else console.error("Unknown metadata key: "+n[0]);v(e)}for(let e=0;e0&&e[0].type!==t;)e.shift()}function v(e){for(;e.length>0&&"space"===e[0].type;)e.shift()}var y=n(579);const w="Requesting help from the AI tutor...",R="NEXT_HELP_TIME";var k=n(3216),E=(n(119),n(6494)),C=n(2561);const j=2;let N=function(e){return e.Passed="Passed",e.Failed="Failed",e.Exception="Exception",e.NotRun="Not run",e}({});class S{constructor(){this.testResults=[],this.returnedResults=[],this.expectedResults=[],this.parseError="",this.errorLine=-1,this.runtimeError="",this.outputs=[],this.ranSuccessfully=!0}}class L{constructor(e,t){this.str=void 0,this.lineNum=void 0,this.str=e,this.lineNum=t}}const P=n(5311).A;function A(e){let t=[],n=1;const s=[" ","(",")","{","}",":",",",";","\n"];let r=0;for(let o=0;o""!==e.str))}function I(e,t,n,s){let r=e.stack;void 0===r&&(r="");let o=r.split("\n");for(let a=0;a:/g;for(let a=0;a=t[e]&&l<=n[e]){u=t[e],c=n[e];break}if(-1!==u&&-1!==c){let t=l-u+1,n=0;for(let e=0;es[e]&&n++;t-=n;let c=parseInt(r[2]),h="".concat(t,":").concat(c);o[a]=e.replace(r[0],h),-1===i&&(i=t)}}}return e.stack=o.join("\n"),i}function T(e){return void 0===e?"undefined":null===e?"null":e.toString()}function F(){return Math.random().toString(36).substring(7)}function M(e){let t=e.solutionCode,n="expectedResults"+F(),s="\nlet ".concat(n," = [] || [];\n \n").concat(t,"\n "),r=e.tests.concat(e.hiddenTests);for(let i=0;iT(e)))}const D=(e,t)=>{if(!e.length)return t.length;if(!t.length)return e.length;const n=[];for(let s=0;s<=t.length;s++){n[s]=[s];for(let r=1;r<=e.length;r++)n[s][r]=0===s?r:Math.min(n[s-1][r]+1,n[s][r-1]+1,n[s-1][r-1]+(e[r-1]===t[s-1]?0:1))}return n[t.length][e.length]};var _=n(1020),H=n(34);o.A.registerAliases([""],{languageName:"javascript"});const U=(0,l.lazy)((()=>Promise.all([n.e(671),n.e(303)]).then(n.bind(n,4303)))),W=new s.Dz((0,r.x)({langPrefix:"hljs language-",highlight(e,t,n){const s=o.A.getLanguage(t)?t:"plaintext";return o.A.highlight(e,{language:s}).value}}));function B(e,t){null!==t.currentCode&&""!==t.currentCode&&void 0!==t.currentCode||console.error("User data is being saved with no code"),localStorage.setItem(O(e.id,(0,u.J3)()),JSON.stringify(t))}function O(e,t){return"problem "+e}function z(){var e,t,n;const[s,r]=(0,l.useState)(null),{"*":i}=(0,k.g)(),[g,m]=(0,l.useState)(null),[j,L]=(0,l.useState)('When you press "I\'m stuck", the AI tutor will respond here.'),[H,z]=(0,l.useState)({anchorEl:null,magicLink:"",highlight:!0});function G(){return function(e,t,n){if(0===t.history.length)t.history.push(t.currentCode);else{t.history[t.history.length-1]!==t.currentCode&&t.history.push(t.currentCode)}t.lastUpdated=new Date;let s=function(e,t){let n,s=e.currentCode;try{n=C.qg(s,{ecmaVersion:"latest",locations:!0})}catch(v){if(v instanceof SyntaxError){let e=v.message;return v.pos===s.length&&(e+="\nUnexpected end of input. Check that you have closed all brackets and parentheses."),{testResults:[],returnedResults:[],expectedResults:M(t),parseError:e,errorLine:v.loc.line,runtimeError:"",outputs:[],ranSuccessfully:!1}}throw v}{let e={returnableError:{testResults:[],returnedResults:[],expectedResults:M(t),parseError:"You need to define a function with the following signature:"+t.solutionCode.split("{")[0],errorLine:1,runtimeError:"",outputs:[],ranSuccessfully:!1},matchedTokens:0,levenshteinDistance:1e5},r=!1;e:for(let o of n.body){let n=s.substring(o.start,o.end).split("{")[0],l=A(n),i=t.solutionCode.split("{")[0],a=A(i);for(let s=0;se.str)).join(" ")+"` but got: `"+l[s].str+"`.";let r=D(l[s].str,a[s].str);(s>e.matchedTokens||r=e.matchedTokens)&&(e={returnableError:{testResults:[],returnedResults:[],expectedResults:M(t),parseError:n,errorLine:l[s].lineNum,runtimeError:"",outputs:[],ranSuccessfully:!1},matchedTokens:s,levenshteinDistance:r});continue e}if(l.length===a.length){r=!0;break}l.length>e.matchedTokens&&(e={returnableError:{testResults:[],returnedResults:[],expectedResults:M(t),parseError:"Function signature does not match the expected signature. Expected: "+i+" but got: "+n,errorLine:l[l.length-1].lineNum,runtimeError:"",outputs:[],ranSuccessfully:!1},matchedTokens:l.length,levenshteinDistance:1e5})}if(!r)return e.returnableError}function r(e,t){let n=1;for(let s=t;s 10000) { throw new Error("Infinite loop detected. Execution stopped."); }\n');s=r+h+n+d+i,o.push(a),o.push(u);let p=h.length+d.length;for(let s=y+1;s=m.length){b.testResults.push(N.NotRun),b.expectedResults.push("Unknown"),b.returnedResults.push("Unknown"),b.outputs.push([]),b.ranSuccessfully=!1;continue}if(y>=f.length){b.testResults.push(N.NotRun),b.expectedResults.push(m[y].toString()),b.returnedResults.push("Unknown"),b.outputs.push([]),b.ranSuccessfully=!1;continue}let e,n=f[y],r=m[y];if(e=y>t.tests.length?[]:x[y],r instanceof Error){b.expectedResults.push("Error"),b.returnedResults.push("Error"),b.testResults.push(N.NotRun),console.error("A test case failed to run the solution: "+r),console.log("Test: "+g[y]),console.log("Solution: "+t.solutionCode),console.log("User code: "+s),b.ranSuccessfully=!1;continue}b.expectedResults.push(T(r));let l=[];for(let t of e){let e="";"log"!==t.function&&(e=t.function+": ");for(let n of t.args)n instanceof Error&&I(n,d,p,o);t.args.length>0?e+=E.format(t.args[0],...t.args.slice(1)):e+="",l.push(e)}b.outputs.push(l),n instanceof Error?(b.returnedResults.push("Error"),b.testResults.push(N.Exception),b.errorLine=I(n,d,p,o),b.runtimeError=n.stack,b.ranSuccessfully=!1):(b.returnedResults.push(T(n)),T(n)!==T(r)?b.testResults.push(N.Failed):b.testResults.push(N.Passed))}return b}(t,e),r=new J(t.history,t.requestHelpHistory,s,new Date,t.currentCode,t.aiRememberResponse);return n(r),B(e,r),r}(s,g,m)}let X=null===i||void 0===i?void 0:i.toLowerCase();if(null===(e=X)||void 0===e||e.trim(),null!==(t=X)&&void 0!==t&&t.startsWith("/")&&(X=X.substring(1)),null!==(n=X)&&void 0!==n&&n.endsWith("/")&&(X=X.substring(0,X.length-1)),(0,l.useEffect)((()=>{void 0!==X&&fetch("/problems/"+X+".md").then((async e=>{let t=await e.text();if(e.ok&&t.startsWith("#"))return t;throw new Error("Failed to fetch problem data")})).then((async e=>{let t=function(e,t){let n=W.lexer(e),s=n.shift().text,r="";if(b(n,"heading"),"Context"===n[0].text)for(n.shift();n.length>0&&("heading"!==n[0].type||n[0].depth>1);)r+=n.shift().raw;x(n,"description");let o="";for(;n.length>0&&("heading"!==n[0].type||n[0].depth>1);)o+=n.shift().raw;x(n,"Problem"),"code"!==n[0].type&&console.error("Problem Parse: No code block found after problem heading. If no template code is needed, please use a code block with no content (with the correct language).");let l=n.shift();l.lang||console.error("Problem Parse: No code language specified for problem "+t);let i,a,u=l.lang?l.lang:"javascript",c=l.text.split("// Your code here");0===c.length||""===c[0].trim()?(console.log("Problem Parse: Code block has no content"),i="",a=""):(i=c[0].trim(),1===c.length?(a="",console.error("Problem Parse: No secondary display content found in problem "+t+". It is unlikely that this is intentional. Ensure that you have a comment with the text '// Your code here' in the problem description.")):a=c[1].trim()),x(n,"Solution"),v(n);let h="",d="";for(;n.length>0&&!("heading"===n[0].type&&n[0].depth<=1);)"code"===n[0].type&&""===d&&(d+=n[0].text),h+=n.shift().raw;x(n,"Test Cases");let p=[];f(n,p),x(n,"Hidden Test Cases");let g,m=[];return f(n,m),x(n,"Next"),0===n.length||"paragraph"!==n[0].type?g="nothing":(g=n.shift().text,g=g.trim(),g.startsWith("/")&&(g=g.substring(1)),g.endsWith("/")&&(g=g.substring(0,g.length-1)),""===g&&(g="nothing")),{id:t,title:s,preProblemDescription:r,description:o,tests:p,hiddenTests:m,displayAbove:i,displayBelow:a,solution:h,solutionCode:d,codeLang:u,nextProblemId:g}}(e,X),n=function(e,t){if(void 0===e)return console.error("No problem id was specified, so no user data could be retrieved."),new J;let n=localStorage.getItem(O(e));null===n&&(n=localStorage.getItem(O(e)),null!==n&&console.log("Got user data without username"));if(null===n)return new J;return JSON.parse(n)}(X,(0,u.J3)());null!==n.currentCode&&""!==n.currentCode&&void 0!==n.currentCode||(console.log("First time loading problem, setting template data"),""!==t.displayAbove&&""!==t.displayBelow&&(n.currentCode=t.displayAbove+"\n\t\n"+t.displayBelow)),void 0!==n.testResults&&null!==n.testResults&&0!==n.testResults.expectedResults.length||(console.log("First time loading problem, getting expected results"),n.testResults=new S,n.testResults.expectedResults=M(t)),r(t),m(n)})).catch((e=>{console.error(e);let t=new p;t.title="Failed to load problem "+X,r(t)}))}),[X]),null===s||null===g)return null!=s&&void 0!==s.title&&s.title.startsWith("Failed to load problem")&&void 0!==X?(0,y.jsxs)("div",{children:["Failed to load problem ",X]}):void 0!==X?(0,y.jsx)("div",{children:"Loading..."}):(0,y.jsx)("div",{children:"A problem wasn't specified"});let K=s.codeLang;""===K&&(K="plaintext");let Q=a().sanitize(W.parse(s.preProblemDescription+"\n\n"+s.description));const Z=function(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];z({anchorEl:e.currentTarget,magicLink:t,highlight:n})},$=()=>{z({anchorEl:null,magicLink:H.magicLink,highlight:H.highlight})},ee=Boolean(H.anchorEl);let te=[];for(let o=0;o0&&(se=(0,y.jsx)("ul",{className:"",children:te.map(((e,t)=>(0,y.jsx)("li",{children:e},t)))})),0===g.testResults.testResults.length)ne="Hidden tests will be run when you submit your code";else{let e=s.hiddenTests.length,t=0;for(let n=0;ne===N.Passed))&&g.testResults.testResults.length===g.testResults.expectedResults.length;g.testResults.ranSuccessfully||(""!==g.testResults.parseError?(re+="We couldn't run your code due to a syntax error on line "+g.testResults.errorLine+".\n",re+=Y(g.testResults.parseError,1)):""!==g.testResults.runtimeError?(re+="Something went wrong trying to run you code",-1!==g.testResults.errorLine?re+=" on line "+g.testResults.errorLine+".\n":re+=".\n",re+=Y(g.testResults.runtimeError,1)):re+="No error message was provided."),re=re.replace(/\n/g,"
"),re=a().sanitize(re);let le,ie,{helpButton:ae,helpBox:ue}=function(e,t,n,s,r){let o=(0,y.jsx)(c.A,{theme:d.mr,children:(0,y.jsx)(h.A,{variant:"contained",color:"secondary",onClick:function(s){s.currentTarget.setAttribute("disabled","true");let o=n();if(!(0,u.M3)())return void r("You must be logged in to use the AI tutor. Please log in and try again.");let l=(0,u.gf)(),i=s.currentTarget;r(w),fetch("https://codehelp.api.dacubeking.com/ai-tutor",{method:"POST",headers:{"content-type":"application/json","user-agent":"WeCode/1.0.0",accept:"application/json",Authorization:"token ".concat(l)},body:JSON.stringify({problemData:e,userData:o})}).then((e=>e.json())).then((n=>{if(n.expire_logins)return(0,u.xf)(),(0,u.E8)(),void r("Your login has expired. Please try again after logging in.");if(401===n.status)return void r("You are not authorized to use the AI tutor.");if(localStorage.setItem(R,(Date.now()+1e3*n.wait_time).toString()),429===n.status)return r("You have made too many requests to the AI tutor. Please try again later."),void new Promise((e=>setTimeout(e,1e3*n.wait_time))).then((()=>{i.removeAttribute("disabled")}));if(200!==n.status)return r("An error occurred while using the AI tutor. Please try again later."),void i.removeAttribute("disabled");let s=W.lexer(n.response);x(s,"Thinking out loud"),x(s,"My Response");let l="";for(;s.length>0&&("heading"!==s[0].type||s[0].depth>1||"Remembering"!==s[0].text.trim());)l+=s.shift().raw;x(s,"Remembering");let c="";for(;s.length>0;)c+=s.shift().raw;let h={...o,aiRememberResponse:o.aiRememberResponse.concat(c)};t(h),B(e,h),r(a().sanitize(W.parse(l))),new Promise((e=>setTimeout(e,1e3*n.wait_time))).then((()=>{i.removeAttribute("disabled")}))})).catch((e=>{console.error(e),r("An error occurred while using the AI tutor. Please try again later."),i.removeAttribute("disabled")}))},className:"helpButton",children:"I'm stuck!"})});return{helpButton:o,helpBox:(0,y.jsx)("div",{className:"AI-help-area border-2 p-2 mt-2 mb-4 mr-2 border-white-pink w-full min-h-20",children:(0,y.jsx)("p",{className:"Code-tutor-response",dangerouslySetInnerHTML:{__html:s}})})}}(s,m,G,j,L);le=""!==s.nextProblemId&&"nothing"!==s.nextProblemId.toLowerCase()?(0,y.jsx)(c.A,{theme:d.x6,children:(0,y.jsx)(h.A,{variant:"contained",color:oe?"secondary":"primary",href:"/problem/"+s.nextProblemId,className:"nextProblemButton",children:"Next Problem"})}):(0,y.jsx)("div",{}),ie=H.highlight?o.A.highlight(H.magicLink,{language:K}).value:H.magicLink;let ce,he=a().sanitize(ie.replace(/\n/g,"
"));return ce=null!==localStorage.getItem(R)?(0,y.jsx)("span",{className:"ml-1",onMouseEnter:e=>{let t=parseInt(localStorage.getItem(R)),n=Math.ceil((t-Date.now())/1e3);n>0&&Z(e,"You can request help again in "+n+" seconds",!1)},onMouseLeave:$,children:ae}):(0,y.jsx)("span",{className:"ml-1",children:ae}),(0,y.jsxs)("div",{className:"ml-5 flex-row",children:[(0,y.jsx)("div",{className:"text-7xl font-bold pt-1 pb-5",children:s.title}),(0,y.jsx)("div",{className:"w-1/2",dangerouslySetInnerHTML:{__html:Q}}),(0,y.jsxs)("div",{className:"flex flex-row justify-between h-auto pt-2",children:[(0,y.jsxs)("div",{className:"w-1/2 h-[calc(100vh*0.80)]",children:[(0,y.jsx)(l.Suspense,{fallback:(0,y.jsx)("div",{className:"italic text-gray-300",children:"The Editor is loading..."}),children:(0,y.jsx)(U,{lang:s.codeLang,onChange:e=>function(e){g.currentCode=e,B(s,g)}(e),defaultValue:g.currentCode})}),(0,y.jsx)("div",{className:"pt-2",children:le})]}),(0,y.jsxs)("div",{className:"w-1/2 pl-4 pr-4",children:[(0,y.jsx)("div",{className:"text-3xl font-bold w-1/3",children:" Tests"}),se,(0,y.jsx)("p",{className:"Problem-hidden-tests",children:ne}),(0,y.jsx)(V,{onClick:G}),ce,(0,y.jsx)("div",{className:"text-error-red",dangerouslySetInnerHTML:{__html:re}}),ue]})]}),(0,y.jsx)(_.Ay,{id:"mouse-over-popover",sx:{pointerEvents:"none"},open:ee,anchorEl:H.anchorEl,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:$,disableRestoreFocus:!0,children:(0,y.jsx)("div",{className:"p-2 bg-basically-black text-[#abb2bf]",style:{fontFamily:'"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace',whiteSpace:"pre-wrap"},dangerouslySetInnerHTML:{__html:he}})})]})}function q(e,t,n,s,r){let o=t.testResults[n],l=void 0===o?"Not Run":o.toString();o===N.Failed&&(l+=" (Returned: "+t.returnedResults[n]+")");let i=o===N.Passed?"bg-test-passed":"bg-test-failed";class a{constructor(e,t){this.text=void 0,this.link=void 0,this.text=e,this.link=t}}let u=[],c=e[n].display;for(const p of e[n].magicLinks.values()){let e=p.key,t=p.value,n=c.indexOf(e);-1!==n?(n>0&&(u.push(c.substring(0,n)),c=c.substring(n)),u.push(new a(e,t)),c=c.substring(e.length)):console.error("Failed to find magic link in test string: "+e)}u.push(c);let h,d=void 0!==t.outputs[n]&&t.outputs[n].length>0;if(d){let e=d?"Console Output: \n"+t.outputs[n].join("\n"):"";h=(0,y.jsxs)("span",{className:"underline decoration-gray-600 underline-offset-2",onMouseEnter:t=>s(t,e),onMouseLeave:r,children:[t.expectedResults[n]," : ",l]})}else h=(0,y.jsxs)("span",{children:[t.expectedResults[n]," : ",l]});return(0,y.jsxs)("div",{className:"mb-2 text-black font-bold pl-1 "+i,children:[u.map(((e,t)=>e instanceof a?(0,y.jsx)("span",{className:"text-purple-800 underline",onMouseEnter:t=>s(t,e.text+" = "+e.link),onMouseLeave:r,children:e.text},t):(0,y.jsx)("span",{children:e},t))),(0,y.jsx)("span",{children:" \u2794 "}),h]})}function Y(e,t){let n=" ";return e.split("\n").map((e=>n+e)).join("\n")}W.use((0,H.A)({throwOnError:!1,displayMode:!1}));class J{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new S,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Date,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[];this.history=[],this.requestHelpHistory=[],this.testResults=new S,this.lastUpdated=new Date,this.currentCode=null,this.aiRememberResponse=[],this.history=e,this.testResults=n,this.requestHelpHistory=t,this.lastUpdated=s,this.currentCode=r,this.aiRememberResponse=o}}function V(e){let{onClick:t}=e;return(0,y.jsx)(c.A,{theme:d.mr,children:(0,y.jsx)(h.A,{variant:"contained",color:"primary",onClick:t,className:"submitButton",children:"Test Code"})})}}}]);
+//# sourceMappingURL=853.4c6c25ca.chunk.js.map
\ No newline at end of file
diff --git a/static/js/853.f8edb0ba.chunk.js.map b/static/js/853.4c6c25ca.chunk.js.map
similarity index 99%
rename from static/js/853.f8edb0ba.chunk.js.map
rename to static/js/853.4c6c25ca.chunk.js.map
index 4f45e30..914f061 100644
--- a/static/js/853.f8edb0ba.chunk.js.map
+++ b/static/js/853.4c6c25ca.chunk.js.map
@@ -1 +1 @@
-{"version":3,"file":"static/js/853.f8edb0ba.chunk.js","mappings":"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","sources":["problem/ProblemParse.ts","problem/Help.tsx","problem/CodeRunner.ts","problem/Problem.tsx"],"sourcesContent":["import {marked} from \"./Problem\";\r\nimport {Token, Tokens} from \"marked\";\r\n\r\nexport class ProblemData {\r\n id: string = \"\";\r\n title: string = 'Loading...';\r\n preProblemDescription: string = \"\";\r\n description: string = \"\";\r\n tests: TestCase[] = [];\r\n hiddenTests: TestCase[] = [];\r\n displayAbove: string = \"\";\r\n displayBelow: string = \"\";\r\n solution: string = \"\";\r\n solutionCode: string = \"\";\r\n codeLang: string = \"\";\r\n nextProblemId: string = \"\";\r\n}\r\n\r\nexport class TestCase {\r\n test: string;\r\n display: string;\r\n magicLinks: KeyValue[];\r\n\r\n constructor(test: string, display: string, magicLinks: KeyValue[]) {\r\n this.test = test;\r\n this.display = display;\r\n this.magicLinks = magicLinks;\r\n }\r\n}\r\n\r\nexport class KeyValue {\r\n key: string;\r\n value: string;\r\n\r\n constructor(key: string, value: string) {\r\n this.key = key;\r\n this.value = value;\r\n }\r\n}\r\n\r\nexport function parseProblem(text: string, id: string): ProblemData {\r\n let tokens = marked.lexer(text);\r\n let title = (tokens.shift() as Tokens.Heading).text;\r\n\r\n let preProblemDescription = \"\";\r\n removeTillNextType(tokens, \"heading\"); // Collect everything under the description heading\r\n if ((tokens[0] as Tokens.Heading).text === \"Context\") {\r\n tokens.shift();\r\n while (tokens.length > 0 && (tokens[0].type !== \"heading\" || (tokens[0] as Tokens.Heading).depth > 1)) {\r\n preProblemDescription += ((tokens.shift() as Token).raw);\r\n }\r\n }\r\n\r\n // Collect everything under the description heading\r\n removeNextHeading(tokens, \"description\"); // Remove the description heading\r\n\r\n let description = \"\";\r\n while (tokens.length > 0 && (tokens[0].type !== \"heading\" || (tokens[0] as Tokens.Heading).depth > 1)) {\r\n description += ((tokens.shift() as Token).raw);\r\n }\r\n\r\n removeNextHeading(tokens, \"Problem\"); // Remove the problem heading\r\n if (tokens[0].type !== \"code\") {\r\n console.error(\"Problem Parse: No code block found after problem heading. If no template code is needed, please use a code block with no content (with the correct language).\");\r\n }\r\n let problem = tokens.shift() as Tokens.Code;\r\n if (!problem.lang) {\r\n console.error(\"Problem Parse: No code language specified for problem \" + id);\r\n }\r\n let codeLang = problem.lang ? problem.lang : \"javascript\";\r\n\r\n let splitProblem = problem.text.split(\"// Your code here\");\r\n\r\n let displayAbove;\r\n let displayBelow;\r\n\r\n if (splitProblem.length === 0 || splitProblem[0].trim() === \"\") {\r\n console.log(\"Problem Parse: Code block has no content\");\r\n displayAbove = \"\";\r\n displayBelow = \"\";\r\n } else {\r\n displayAbove = splitProblem[0].trim();\r\n if (splitProblem.length === 1) {\r\n displayBelow = \"\";\r\n console.error(\"Problem Parse: No secondary display content found in problem \" + id +\r\n \". It is unlikely that this is intentional. Ensure that you have a comment with the text '// Your code here' in the problem description.\");\r\n } else {\r\n displayBelow = splitProblem[1].trim();\r\n }\r\n }\r\n\r\n\r\n removeNextHeading(tokens, \"Solution\"); // Remove the solution heading\r\n absorbWhitespace(tokens);\r\n let solution = \"\";\r\n let solutionCode = \"\";\r\n while (tokens.length > 0 && !(tokens[0].type === \"heading\" && (tokens[0] as Tokens.Heading).depth <= 1)) {\r\n if (tokens[0].type === \"code\" && solutionCode === \"\") {\r\n // Get the first code block as the solution code\r\n solutionCode += (tokens[0] as Tokens.Code).text;\r\n }\r\n solution += ((tokens.shift() as Token).raw);\r\n }\r\n\r\n removeNextHeading(tokens, \"Test Cases\"); // Remove the tests heading\r\n let tests: TestCase[] = [];\r\n extractTestCases(tokens, tests);\r\n\r\n removeNextHeading(tokens, \"Hidden Test Cases\"); // Remove the hidden tests heading\r\n let hiddenTests: TestCase[] = [];\r\n extractTestCases(tokens, hiddenTests);\r\n\r\n removeNextHeading(tokens, \"Next\");\r\n let nextProblemId;\r\n if (tokens.length === 0 || tokens[0].type !== \"paragraph\") {\r\n nextProblemId = \"nothing\";\r\n } else {\r\n nextProblemId = (tokens.shift() as Tokens.Paragraph).text;\r\n nextProblemId = nextProblemId.trim();\r\n if (nextProblemId.startsWith(\"/\")) {\r\n nextProblemId = nextProblemId.substring(1);\r\n }\r\n if (nextProblemId.endsWith(\"/\")) {\r\n nextProblemId = nextProblemId.substring(0, nextProblemId.length - 1);\r\n }\r\n if (nextProblemId === \"\") {\r\n nextProblemId = \"nothing\";\r\n }\r\n }\r\n\r\n\r\n return {\r\n id,\r\n title,\r\n preProblemDescription,\r\n description,\r\n tests,\r\n hiddenTests,\r\n displayAbove,\r\n displayBelow,\r\n solution,\r\n solutionCode,\r\n codeLang,\r\n nextProblemId\r\n };\r\n}\r\n\r\nfunction extractTestCases(tokens: Token[], tests: TestCase[]) {\r\n // Tests are formatted as a list of functions in a code block with the expected result below it\r\n while (tokens.length > 0) {\r\n absorbWhitespace(tokens);\r\n if (tokens.length === 0 || tokens[0].type !== \"code\") break;\r\n let test = tokens.shift() as Tokens.Code;\r\n\r\n let testString = test.text.trim();\r\n let split = testString.split(\"\\n\").flatMap((s) => s.trim());\r\n let functionCall = split[split.length - 1];\r\n let indexBeginParen = functionCall.indexOf(\"(\");\r\n let indexEndParen = -1;\r\n for (let i = functionCall.length - 1; i >= 0; i--) {\r\n if (functionCall[i] === \")\") {\r\n indexEndParen = i;\r\n break;\r\n }\r\n }\r\n if (indexBeginParen === -1 || indexEndParen === -1) {\r\n console.error(\"Failed to parse function call (Magic Links will not work!): \" + functionCall);\r\n continue;\r\n }\r\n let params = functionCall.substring(indexBeginParen + 1, indexEndParen).split(\",\").map(s => s.trim());\r\n\r\n absorbWhitespace(tokens);\r\n let repeatTimes = 1;\r\n let displayAs = functionCall;\r\n // Remove the last ; if it exists\r\n if (displayAs.endsWith(\";\")) {\r\n displayAs = displayAs.substring(0, displayAs.length - 1);\r\n }\r\n\r\n let magicLinks: KeyValue[] = [];\r\n\r\n for (let param of params) {\r\n // See if we can find where the parameter is defined in the code block\r\n // We want to match let param = value;\r\n let match = testString.match(new RegExp(`let\\\\s+${param}\\\\s*=\\\\s*`));\r\n if (match !== null && match.index !== undefined) {\r\n let value = testString.substring(match.index + match[0].length).trim();\r\n let bracketCount = 0;\r\n let curlyCount = 0;\r\n let doubleQuoteCount = 0;\r\n let singleQuoteCount = 0;\r\n let backtickCount = 0;\r\n for (let i = 0; i < value.length; i++) {\r\n let c = value[i];\r\n if (c === \"(\") {\r\n bracketCount++;\r\n } else if (c === \")\") {\r\n bracketCount--;\r\n } else if (c === \"{\") {\r\n curlyCount++;\r\n } else if (c === \"}\") {\r\n curlyCount--;\r\n } else if (c === \"\\\"\") {\r\n doubleQuoteCount++;\r\n } else if (c === \"'\") {\r\n singleQuoteCount++;\r\n } else if (c === \"`\") {\r\n backtickCount++;\r\n }\r\n if (bracketCount === 0 && curlyCount === 0 && doubleQuoteCount % 2 === 0 && singleQuoteCount % 2 === 0 && backtickCount % 2 === 0 && c === \";\" && i !== value.length - 1) {\r\n value = value.substring(0, i);\r\n break;\r\n }\r\n }\r\n\r\n setKeyValue(magicLinks, param, value);\r\n }\r\n }\r\n\r\n // @ts-ignore - ts seems to not believe that type could be paragraph\r\n while (tokens.length > 0 && tokens[0].type === \"paragraph\") {\r\n let metaData = (tokens.shift() as Tokens.Paragraph).text.trim();\r\n\r\n let split = metaData.split(\"=\").map(s => s.trim());\r\n if (split.length !== 2) {\r\n console.error(\"Failed to parse metadata: \" + metaData);\r\n continue;\r\n }\r\n let key = split[0].toLowerCase();\r\n let value = split[1];\r\n\r\n if (key === \"repeat\") {\r\n let num = parseInt(value);\r\n if (isNaN(num)) {\r\n console.error(\"Failed to parse repeat value: \" + value);\r\n } else {\r\n repeatTimes = num;\r\n }\r\n } else if (key === \"displayas\") {\r\n displayAs = value;\r\n\r\n let indexBeginParen = functionCall.indexOf(\"(\");\r\n let indexEndParen = -1;\r\n for (let i = displayAs.length - 1; i >= 0; i--) {\r\n if (displayAs[i] === \")\") {\r\n indexEndParen = i;\r\n break;\r\n }\r\n }\r\n if (indexBeginParen === -1 || indexEndParen === -1) {\r\n console.error(\"Failed to parse function for displayAs meta call (Magic Links will not work!): \" + displayAs);\r\n continue;\r\n }\r\n params = displayAs.substring(indexBeginParen + 1, indexEndParen).split(\",\").map(s => s.trim());\r\n\r\n } else if (params.includes(split[0])) { // We don't want to remove the casing\r\n let key = split[0];\r\n let value = split[1];\r\n if (split[1].length === 0) {\r\n // We should look for a code block\r\n absorbWhitespace(tokens);\r\n if (tokens.length === 0 || tokens[0].type !== \"code\") {\r\n console.error(\"Found magic link with nothing after the equals sign & no code block following: \" + split[0]);\r\n } else {\r\n value = (tokens.shift() as Tokens.Code).text;\r\n }\r\n }\r\n // This is a parameter\r\n setKeyValue(magicLinks, key, value);\r\n } else {\r\n console.error(\"Unknown metadata key: \" + split[0]);\r\n }\r\n absorbWhitespace(tokens);\r\n }\r\n\r\n for (let i = 0; i < repeatTimes; i++) {\r\n tests.push({\r\n test: testString,\r\n display: displayAs,\r\n magicLinks\r\n });\r\n }\r\n }\r\n}\r\n\r\n\r\nfunction setKeyValue(kvList: KeyValue[], key: string, value: string) {\r\n for (let kv of kvList) {\r\n if (kv.key === key) {\r\n kv.value = value;\r\n return;\r\n }\r\n }\r\n kvList.push(new KeyValue(key, value));\r\n}\r\n\r\n\r\nexport function removeNextHeading(tokens: Token[], expectedText: string) {\r\n removeTillNextType(tokens, \"heading\");\r\n if (tokens.length === 0) {\r\n new Error(\"Problem Parse: Expected a heading with text: \" + expectedText);\r\n return;\r\n } else {\r\n let heading = tokens.shift() as Tokens.Heading;\r\n if (heading.text.trim().toLowerCase() === expectedText.trim().toLowerCase()) {\r\n new Error(\"Problem Parse: Expected a heading with text: \" + expectedText + \" but got: \" + heading.text);\r\n }\r\n }\r\n}\r\n\r\nexport function removeTillNextType(tokens: Token[], type: string) {\r\n while (tokens.length > 0 && tokens[0].type !== type) {\r\n tokens.shift();\r\n }\r\n}\r\n\r\nexport function removeNextType(tokens: Token[], type: string) {\r\n while (tokens.length > 0 && tokens[0].type !== type) {\r\n tokens.shift();\r\n }\r\n tokens.shift();\r\n}\r\n\r\nexport function absorbWhitespace(tokens: Token[]) {\r\n while (tokens.length > 0 && tokens[0].type === \"space\") {\r\n tokens.shift();\r\n }\r\n}","import React, {ReactElement} from \"react\";\r\nimport {marked, saveUserData, UserData} from \"./Problem\";\r\nimport DOMPurify from \"dompurify\";\r\nimport {expireToken, getToken, isLoggedIn, logIn} from \"../auth/AuthHelper\";\r\nimport {Button, ThemeProvider} from \"@mui/material\";\r\nimport {buttonTheme} from \"../App\";\r\nimport {ProblemData, removeNextHeading} from \"./ProblemParse\";\r\nimport {Token, Tokens} from \"marked\";\r\n\r\n\r\nexport const LOADING_MESSAGE = \"Requesting help from the AI tutor...\";\r\n\r\nexport const NEXT_HELP_TIME = \"NEXT_HELP_TIME\"\r\n\r\n\r\nexport function HelpBoxAndButton(problemData: ProblemData,\r\n setUserData: (userData: UserData) => void,\r\n runTests: () => UserData,\r\n response: string,\r\n setResponse: (response: string) => void):\r\n { helpButton: ReactElement, helpBox: ReactElement } {\r\n\r\n function handleHelpRequest(event: React.MouseEvent) {\r\n event.currentTarget.setAttribute(\"disabled\", \"true\");\r\n\r\n let userData = runTests();\r\n if (!isLoggedIn()) {\r\n setResponse(\"You must be logged in to use the AI tutor. Please log in and try again.\");\r\n return;\r\n }\r\n\r\n let token = getToken();\r\n let target = event.currentTarget;\r\n setResponse(LOADING_MESSAGE);\r\n fetch(\"https://codehelp.api.dacubeking.com/ai-tutor\", {\r\n method: \"POST\",\r\n headers: {\r\n \"content-type\": \"application/json\",\r\n \"user-agent\": \"WeCode/1.0.0\",\r\n accept: \"application/json\",\r\n \"Authorization\": `token ${token}`\r\n },\r\n body: JSON.stringify({\r\n problemData: problemData,\r\n userData: userData,\r\n })\r\n })\r\n .then(response => response.json())\r\n .then((json: {\r\n status: number,\r\n prompt: string,\r\n response: string,\r\n expire_logins: boolean,\r\n wait_time: number,\r\n }) => {\r\n if (json.expire_logins) {\r\n expireToken();\r\n logIn();\r\n setResponse(\"Your login has expired. Please try again after logging in.\");\r\n return;\r\n }\r\n\r\n if (json.status === 401) {\r\n setResponse(\"You are not authorized to use the AI tutor.\");\r\n return;\r\n }\r\n\r\n localStorage.setItem(NEXT_HELP_TIME, (Date.now() + json.wait_time * 1000).toString());\r\n\r\n if (json.status === 429) {\r\n setResponse(\"You have made too many requests to the AI tutor. Please try again later.\");\r\n // Use the waitTime (seconds) to determine how long to wait before trying again\r\n new Promise((resolve) => setTimeout(resolve, json.wait_time * 1000)).then(() => {\r\n target.removeAttribute(\"disabled\");\r\n });\r\n return;\r\n }\r\n\r\n if (json.status !== 200) {\r\n setResponse(\"An error occurred while using the AI tutor. Please try again later.\");\r\n target.removeAttribute(\"disabled\");\r\n return;\r\n }\r\n\r\n\r\n let tokens = marked.lexer(json.response);\r\n // There are two sections: # Thinking out loud and # My Response\r\n // We want to display the My Response section\r\n\r\n // Remove Thinking out loud\r\n removeNextHeading(tokens, \"Thinking out loud\");\r\n // Remove the My Response heading\r\n removeNextHeading(tokens, \"My Response\");\r\n\r\n // Collect everything under the My Response heading\r\n let response = \"\";\r\n while (tokens.length > 0 && (tokens[0].type !== \"heading\" || (tokens[0] as Tokens.Heading).depth > 1 || (tokens[0] as Tokens.Heading).text.trim() !== \"Remembering\")) {\r\n response += ((tokens.shift() as Token).raw);\r\n }\r\n\r\n removeNextHeading(tokens, \"Remembering\"); // Remove the Remembering heading\r\n let rememberingResponse = \"\";\r\n while (tokens.length > 0) {\r\n rememberingResponse += ((tokens.shift() as Token).raw);\r\n }\r\n\r\n let newUserData = {\r\n ...userData,\r\n aiRememberResponse: userData.aiRememberResponse.concat(rememberingResponse),\r\n }\r\n\r\n setUserData(\r\n newUserData\r\n );\r\n\r\n saveUserData(problemData, newUserData);\r\n setResponse(DOMPurify.sanitize(marked.parse(response) as string));\r\n new Promise((resolve) => setTimeout(resolve, json.wait_time * 1000)).then(() => {\r\n target.removeAttribute(\"disabled\");\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n setResponse(\"An error occurred while using the AI tutor. Please try again later.\");\r\n target.removeAttribute(\"disabled\");\r\n });\r\n }\r\n\r\n let button = (\r\n \r\n \r\n \r\n );\r\n\r\n let helpBox = (\r\n \r\n \r\n \r\n );\r\n\r\n\r\n return {\r\n helpButton: button,\r\n helpBox: helpBox\r\n }\r\n}","import {UserData} from \"./Problem\";\r\nimport {ProblemData} from \"./ProblemParse\";\r\nimport {Log} from \"capture-console-logs/dist/logs\";\r\nimport * as util from \"util\";\r\nimport * as acorn from \"acorn\";\r\n\r\nconst functionHeaderOffset = 2;\r\n\r\nexport enum TestResult {\r\n Passed = \"Passed\",\r\n Failed = \"Failed\",\r\n Exception = \"Exception\",\r\n NotRun = \"Not run\"\r\n}\r\n\r\nexport class TestResults {\r\n public testResults: TestResult[] = [];\r\n public returnedResults: string[] = [];\r\n public expectedResults: string[] = [];\r\n public parseError: string = \"\";\r\n public errorLine: number = -1;\r\n public runtimeError: string = \"\";\r\n public outputs: string[][] = [];\r\n public ranSuccessfully: boolean = true; // Prevents the user from seeing an error message on first load\r\n}\r\n\r\nclass StringLineNum {\r\n public str: string;\r\n public lineNum: number;\r\n\r\n constructor(str: string, lineNum: number) {\r\n this.str = str;\r\n this.lineNum = lineNum;\r\n }\r\n}\r\n\r\nconst CaptureConsole = require(\"capture-console-logs\").default\r\n\r\n\r\n// Function to tokenize a JavaScript function signature\r\nfunction tokenizeFunctionSignature(signature: string): StringLineNum[] {\r\n let tokens: StringLineNum[] = [];\r\n let lineNum = 1;\r\n\r\n const tokenChars = [' ', '(', ')', '{', '}', ':', ',', ';', '\\n'];\r\n\r\n\r\n let bufferStartIndex = 0;\r\n for (let i = 0; i < signature.length; i++) {\r\n if (tokenChars.includes(signature[i])) {\r\n if (bufferStartIndex !== i) {\r\n tokens.push(new StringLineNum(signature.substring(bufferStartIndex, i), lineNum));\r\n }\r\n // We also need to add the token character as a separate token.\r\n // Don't add a token for a space character.\r\n // Don't add a token for a new line character\r\n // (but if we haven't seen a semicolon, on a line with content, add a token).\r\n if (signature[i] !== ' ' && signature[i] !== '\\n') {\r\n tokens.push(new StringLineNum(signature[i], lineNum));\r\n }\r\n\r\n if (signature[i] === '\\n') {\r\n lineNum++;\r\n }\r\n\r\n bufferStartIndex = i + 1;\r\n }\r\n }\r\n\r\n // Filter out any empty tokens\r\n return tokens.filter(token => token.str !== \"\");\r\n}\r\n\r\n/**\r\n * Reformat the stack trace to show the user's code line numbers\r\n * @param result The error object\r\n * @param userCodeLineNumbersBegin The line numbers of the user's code\r\n * @param userCodeLineNumbersEnd The line numbers of the user's code\r\n */\r\nfunction reformatStackTrace(result: Error, userCodeLineNumbersBegin: number[], userCodeLineNumbersEnd: number[], addedLines: number[]): number {\r\n let stackTrace = result.stack;\r\n if (stackTrace === undefined) {\r\n stackTrace = \"\";\r\n }\r\n let stackTraceLines = stackTrace.split('\\n');\r\n // discard after when the line begins with \"at testUserCode\"\r\n for (let j = 0; j < stackTraceLines.length; j++) {\r\n let thisLine = stackTraceLines[j].trim();\r\n if (thisLine.startsWith(\"at testUserCode\") || thisLine.startsWith(\"at Function\") || thisLine.startsWith(\"at eval\")) {\r\n stackTraceLines = stackTraceLines.slice(0, j);\r\n break;\r\n }\r\n }\r\n\r\n const regex = /eval\\s+at\\s+\\w+\\s+\\(https?:\\/\\/[^)]+\\),\\s+:/g;\r\n\r\n // remove the (eval at testUserCode (url) = userCodeLineNumbersBegin[i] && lineNumber <= userCodeLineNumbersEnd[i]) {\r\n userCodeLineNumberBegin = userCodeLineNumbersBegin[i];\r\n userCodeLineNumberEnd = userCodeLineNumbersEnd[i];\r\n break;\r\n }\r\n }\r\n\r\n\r\n if (userCodeLineNumberBegin !== -1 && userCodeLineNumberEnd !== -1) {\r\n let newLineNumber = lineNumber - userCodeLineNumberBegin + 1;\r\n\r\n let lineNumberOffset = 0;\r\n for (let i = 0; i < addedLines.length; i++) {\r\n if (newLineNumber > addedLines[i]) {\r\n lineNumberOffset++;\r\n }\r\n }\r\n\r\n newLineNumber -= lineNumberOffset;\r\n\r\n let columnNumber = parseInt(matches[2]); // Retrieve the column number\r\n let newLine = `${newLineNumber}:${columnNumber}`; // Construct the new line with adjusted line number\r\n stackTraceLines[j] = thisLine.replace(matches[0], newLine); // Replace the entire matched portion with the new line\r\n if (errorLine === -1) {\r\n errorLine = newLineNumber;\r\n }\r\n }\r\n }\r\n }\r\n\r\n //result.stack += \"\\nNew Stack:\\n\" + stackTraceLines.join('\\n');\r\n result.stack = stackTraceLines.join('\\n');\r\n return errorLine;\r\n}\r\n\r\nfunction safeToString(expectedResult: any) {\r\n if (expectedResult === undefined) {\r\n return \"undefined\";\r\n }\r\n if (expectedResult === null) {\r\n return \"null\";\r\n }\r\n return expectedResult.toString();\r\n}\r\n\r\nfunction randomString() {\r\n return Math.random().toString(36).substring(7);\r\n}\r\n\r\nexport function testUserCode(userData: UserData, problemData: ProblemData): TestResults {\r\n let userCode = userData.currentCode;\r\n\r\n let ast;\r\n try {\r\n ast = acorn.parse(userCode, {ecmaVersion: \"latest\", locations: true});\r\n } catch (e) {\r\n if (e instanceof SyntaxError) {\r\n let message = e.message;\r\n\r\n // @ts-ignore\r\n if (e.pos === userCode.length) {\r\n message += \"\\nUnexpected end of input. Check that you have closed all brackets and parentheses.\";\r\n }\r\n\r\n\r\n return {\r\n testResults: [],\r\n returnedResults: [],\r\n expectedResults: getExpectedResults(problemData),\r\n parseError: message,\r\n // @ts-ignore\r\n errorLine: e.loc.line,\r\n runtimeError: \"\",\r\n outputs: [],\r\n ranSuccessfully: false\r\n };\r\n } else {\r\n throw e;\r\n }\r\n }\r\n\r\n\r\n {\r\n let missingFunctionError = {\r\n returnableError: {\r\n testResults: [],\r\n returnedResults: [],\r\n expectedResults: getExpectedResults(problemData),\r\n parseError: \"You need to define a function with the following signature:\" + problemData.solutionCode.split('{')[0],\r\n errorLine: 1,\r\n runtimeError: \"\",\r\n outputs: [],\r\n ranSuccessfully: false\r\n },\r\n matchedTokens: 0,\r\n // The levenshteinDistance between the missed token\r\n levenshteinDistance: 100000\r\n };\r\n\r\n let foundFunction = false;\r\n\r\n fnLoop: for (let func of ast.body) {\r\n let functionSignature = userCode.substring(func.start, func.end).split('{')[0];\r\n let tokens = tokenizeFunctionSignature(functionSignature);\r\n\r\n let expectedFunctionSignature = problemData.solutionCode.split('{')[0];\r\n let expectedTokens = tokenizeFunctionSignature(expectedFunctionSignature);\r\n\r\n for (let i = 0; i < tokens.length; i++) {\r\n if (tokens[i].str !== expectedTokens[i].str) {\r\n\r\n let parseError = \"Function signature does not match the expected signature. \";\r\n if (i === 0) {\r\n parseError += \"\\nThe function signature should begin with `\" + expectedTokens[i].str + \"` but you have \";\r\n if (tokens[i] === undefined || tokens[i].str === \"\") {\r\n parseError += \"nothing.\";\r\n } else {\r\n parseError += \"`\" + tokens[i].str + \"`.\";\r\n }\r\n } else {\r\n if (tokens[i] === undefined || tokens[i].str === \"\") {\r\n parseError += \"Expected: `\" + expectedTokens[i].str + \"` but got nothing.\";\r\n } else {\r\n parseError += \"Expected: `\" + expectedTokens[i].str + \"` after `\" + tokens.slice(0, i)\r\n .map(t => t.str).join(\" \") + \"` but got: `\" + tokens[i].str + \"`.\";\r\n }\r\n }\r\n\r\n let distance = levenshteinDistance(tokens[i].str, expectedTokens[i].str);\r\n\r\n // We also check the levenshtein distance\r\n // to see if the user has a typo and put the error on the closest match\r\n if (i > missingFunctionError.matchedTokens ||\r\n (distance < missingFunctionError.levenshteinDistance && i >= missingFunctionError.matchedTokens)) {\r\n missingFunctionError = {\r\n returnableError: {\r\n testResults: [],\r\n returnedResults: [],\r\n expectedResults: getExpectedResults(problemData),\r\n parseError,\r\n errorLine: tokens[i].lineNum,\r\n runtimeError: \"\",\r\n outputs: [],\r\n ranSuccessfully: false\r\n },\r\n matchedTokens: i,\r\n levenshteinDistance: distance\r\n }\r\n }\r\n continue fnLoop;\r\n }\r\n }\r\n\r\n if (tokens.length !== expectedTokens.length) {\r\n if (tokens.length > missingFunctionError.matchedTokens) {\r\n missingFunctionError = {\r\n returnableError: {\r\n testResults: [],\r\n returnedResults: [],\r\n expectedResults: getExpectedResults(problemData),\r\n parseError: \"Function signature does not match the expected signature. \" +\r\n \"Expected: \" + expectedFunctionSignature + \" but got: \" + functionSignature,\r\n errorLine: tokens[tokens.length - 1].lineNum,\r\n runtimeError: \"\",\r\n outputs: [],\r\n ranSuccessfully: false\r\n },\r\n matchedTokens: tokens.length,\r\n levenshteinDistance: 100000\r\n }\r\n }\r\n continue;\r\n }\r\n\r\n foundFunction = true;\r\n break;\r\n }\r\n\r\n if (!foundFunction) {\r\n return missingFunctionError.returnableError;\r\n }\r\n }\r\n\r\n // We need to look for all the loops (for, while, do-while) and insert code to count the number of iterations.\r\n // If the number of iterations exceeds 10000, we'll stop the code and return an error.\r\n // This is to prevent infinite loops.\r\n\r\n function findLoops(code: string) {\r\n const loopRegex = /\\b(for|while|do\\s*while)\\s*\\((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*\\)\\s*\\{/g;\r\n const loops = [];\r\n let match;\r\n\r\n while ((match = loopRegex.exec(code)) !== null) {\r\n loops.push({\r\n type: match[1],\r\n start: match.index,\r\n end: findLoopEndIndex(code, match.index + match[0].length)\r\n });\r\n }\r\n\r\n return loops;\r\n }\r\n\r\n function findLoopEndIndex(code: string, startIndex: number) {\r\n let level = 1;\r\n for (let i = startIndex; i < code.length; i++) {\r\n if (code[i] === '{') {\r\n level++;\r\n } else if (code[i] === '}') {\r\n level--;\r\n if (level === 0) {\r\n return i + 1;\r\n }\r\n }\r\n }\r\n return -1; // If loop end is not found\r\n }\r\n\r\n\r\n let loopCounterExtraLines: number[] = []\r\n\r\n let loops = findLoops(userCode);\r\n for (let i = 0; i < loops.length; i++) {\r\n let loop = loops[i];\r\n let loopHeaderStart = loop.start;\r\n let loopHeaderEnd = userCode.indexOf('{', loopHeaderStart) + 1;\r\n\r\n let loopHeader = userCode.substring(loopHeaderStart, loopHeaderEnd);\r\n let preLoopCode = userCode.substring(0, loopHeaderStart);\r\n let postLoopHeader = userCode.substring(loopHeaderEnd);\r\n\r\n let lineOfCounter = preLoopCode.split('\\n').length;\r\n let linePastLoopHeader = preLoopCode.split('\\n').length + loopHeader.split('\\n').length;\r\n\r\n let loopCounterVar = \"loopCounter\" + randomString()\r\n let userCodeAddPreLoop = `let ${loopCounterVar} = 0;\\n`;\r\n let userCodeAddPostLoop = `if (${loopCounterVar}++ > 10000) { throw new Error(\"Infinite loop detected. Execution stopped.\"); }\\n`;\r\n userCode = preLoopCode + userCodeAddPreLoop + loopHeader + userCodeAddPostLoop + postLoopHeader;\r\n\r\n loopCounterExtraLines.push(lineOfCounter);\r\n loopCounterExtraLines.push(linePastLoopHeader);\r\n\r\n let addedChars = userCodeAddPreLoop.length + userCodeAddPostLoop.length;\r\n //Adjust the line numbers of the loops\r\n for (let j = i + 1; j < loops.length; j++) {\r\n loops[j].start += addedChars;\r\n loops[j].end += addedChars;\r\n }\r\n }\r\n\r\n let solutionCode = problemData.solutionCode;\r\n let resultsArrayName = \"results\" + randomString();\r\n let expectedResultsArrayName = \"expectedResults\" + randomString();\r\n let consoleLogArrayName = \"consoleLog\" + randomString();\r\n\r\n let codeToRun = `\r\nlet ${resultsArrayName} = [] || [];\r\nlet ${expectedResultsArrayName} = [] || [];\r\nlet ${consoleLogArrayName} = [] || [];\r\n `;\r\n\r\n let userCodeLineNumbersBegin: number[] = [];\r\n\r\n let userCodeLineNumbersEnd: number[] = [];\r\n\r\n let combinedTests = problemData.tests.concat(problemData.hiddenTests)\r\n\r\n for (let i = 0; i < combinedTests.length; i++) {\r\n // Split out everything except the last line of the test case\r\n // The result is the output of the last line\r\n // We need to run that twice:\r\n // - Once with the solution code\r\n // - Once with the user's code\r\n // We'll then compare the results\r\n let testFull = combinedTests[i];\r\n let testSplitByLines = testFull.test.split('\\n');\r\n let setupCode = testSplitByLines.slice(0, testSplitByLines.length - 1).join('\\n');\r\n let getResult = testSplitByLines[testSplitByLines.length - 1];\r\n\r\n codeToRun += `\r\n {\r\n let expected;\r\n let result;\r\n {\r\n ${setupCode}\r\n {\r\n${solutionCode}\r\n try {\r\n expected = ${getResult}\r\n } catch (e) {\r\n expected = e;\r\n }\r\n }\r\n {\r\n const cc = new CaptureConsole();\r\n cc.start();\r\n `;\r\n userCodeLineNumbersBegin.push(codeToRun.split('\\n').length);\r\n codeToRun += userCode;\r\n userCodeLineNumbersEnd.push(codeToRun.split('\\n').length);\r\n\r\n codeToRun += `\r\n try {\r\n result = ${getResult}\r\n } catch (e) {\r\n result = e;\r\n }\r\n cc.stop();\r\n ${consoleLogArrayName}.push(cc.getCaptures());\r\n }\r\n }\r\n ${resultsArrayName}.push(result);\r\n ${expectedResultsArrayName}.push(expected);\r\n }\r\n `;\r\n }\r\n\r\n codeToRun += `\r\n return [${resultsArrayName}, ${expectedResultsArrayName}, ${consoleLogArrayName}];\r\n `;\r\n\r\n // eslint-disable-next-line\r\n let resultsArray: any[] = [];\r\n // eslint-disable-next-line\r\n let expectedResultsArray: any[] = [];\r\n let consoleLogArray: Log[][] = [];\r\n\r\n\r\n let testResults = new TestResults();\r\n\r\n try {\r\n // eslint-disable-next-line\r\n let func = Function(\"CaptureConsole\", codeToRun);\r\n let out = func(CaptureConsole);\r\n\r\n resultsArray = out[0];\r\n expectedResultsArray = out[1];\r\n consoleLogArray = out[2];\r\n testResults.ranSuccessfully = true;\r\n } catch (e) {\r\n testResults.ranSuccessfully = false;\r\n console.error(\"Failed to run the solution: \" + e);\r\n testResults.expectedResults = getExpectedResults(problemData);\r\n if (e instanceof Error) {\r\n testResults.errorLine = reformatStackTrace(e, userCodeLineNumbersBegin, userCodeLineNumbersEnd, loopCounterExtraLines);\r\n console.log(e.stack);\r\n testResults.runtimeError = e.stack as string;\r\n } else {\r\n testResults.runtimeError = e as string;\r\n }\r\n }\r\n\r\n for (let i = 0; i < combinedTests.length; i++) {\r\n // Check that we've actually run the test (i.e. we have a result)\r\n if (i >= expectedResultsArray.length) {\r\n testResults.testResults.push(TestResult.NotRun);\r\n testResults.expectedResults.push(\"Unknown\");\r\n testResults.returnedResults.push(\"Unknown\");\r\n testResults.outputs.push([]);\r\n testResults.ranSuccessfully = false;\r\n continue;\r\n }\r\n\r\n if (i >= resultsArray.length) {\r\n testResults.testResults.push(TestResult.NotRun);\r\n testResults.expectedResults.push(expectedResultsArray[i].toString());\r\n testResults.returnedResults.push(\"Unknown\");\r\n testResults.outputs.push([]);\r\n testResults.ranSuccessfully = false;\r\n continue;\r\n }\r\n\r\n let result = resultsArray[i];\r\n let expectedResult = expectedResultsArray[i];\r\n let log: Log[];\r\n if (i > problemData.tests.length) {\r\n log = []; //Don't save console logs for hidden tests\r\n } else {\r\n log = consoleLogArray[i];\r\n\r\n }\r\n\r\n if (expectedResult instanceof Error) {\r\n testResults.expectedResults.push(\"Error\");\r\n testResults.returnedResults.push(\"Error\");\r\n testResults.testResults.push(TestResult.NotRun);\r\n console.error(\"A test case failed to run the solution: \" + expectedResult);\r\n console.log(\"Test: \" + combinedTests[i]);\r\n // TODO: Remove the bottom 2 lines\r\n console.log(\"Solution: \" + problemData.solutionCode);\r\n console.log(\"User code: \" + userCode);\r\n testResults.ranSuccessfully = false;\r\n continue;\r\n } else {\r\n testResults.expectedResults.push(safeToString(expectedResult));\r\n }\r\n\r\n let outputArray: string[] = [];\r\n for (let entry of log) {\r\n let out = \"\";\r\n if (entry.function !== \"log\") {\r\n out = entry.function + \": \";\r\n }\r\n\r\n for (let arg of entry.args) {\r\n if (arg instanceof Error) {\r\n reformatStackTrace(arg, userCodeLineNumbersBegin, userCodeLineNumbersEnd, loopCounterExtraLines);\r\n }\r\n }\r\n\r\n if (entry.args.length > 0) {\r\n out += util.format(entry.args[0], ...entry.args.slice(1));\r\n } else {\r\n out += \"\";\r\n }\r\n\r\n outputArray.push(out);\r\n }\r\n\r\n testResults.outputs.push(outputArray);\r\n\r\n if (result instanceof Error) {\r\n testResults.returnedResults.push(\"Error\");\r\n testResults.testResults.push(TestResult.Exception);\r\n // End the stack trace at the user's code\r\n testResults.errorLine = reformatStackTrace(result, userCodeLineNumbersBegin, userCodeLineNumbersEnd, loopCounterExtraLines);\r\n\r\n testResults.runtimeError = result.stack as string;\r\n testResults.ranSuccessfully = false;\r\n continue;\r\n } else {\r\n testResults.returnedResults.push(safeToString(result));\r\n }\r\n\r\n\r\n if (safeToString(result) !== safeToString(expectedResult)) {\r\n testResults.testResults.push(TestResult.Failed);\r\n } else {\r\n testResults.testResults.push(TestResult.Passed);\r\n }\r\n }\r\n\r\n return testResults;\r\n}\r\n\r\n\r\nexport function getExpectedResults(problemData: ProblemData): string[] {\r\n // Parse the solution code and replace the function name with a random name\r\n let solutionCode = problemData.solutionCode;\r\n let expectedResultsArrayName = \"expectedResults\" + randomString();\r\n\r\n let codeToRun = `\r\nlet ${expectedResultsArrayName} = [] || [];\r\n \r\n${solutionCode}\r\n `;\r\n\r\n let combinedTests = problemData.tests.concat(problemData.hiddenTests);\r\n\r\n for (let i = 0; i < combinedTests.length; i++) {\r\n // Split out everything except the last line of the test case\r\n // The result is the output of the last line\r\n // We'll then compare the results\r\n let testFull = combinedTests[i];\r\n let testSplitByLines = testFull.test.split('\\n');\r\n let setupCode = testSplitByLines.slice(0, testSplitByLines.length - 1).join('\\n');\r\n let getResult = testSplitByLines[testSplitByLines.length - 1];\r\n\r\n codeToRun += `\r\n {\r\n let expected;\r\n let result;\r\n {\r\n ${setupCode}\r\n try {\r\n expected = ${getResult}\r\n } catch (e) {\r\n expected = e;\r\n }\r\n }\r\n ${expectedResultsArrayName}.push(expected);\r\n }\r\n `;\r\n }\r\n\r\n codeToRun += `\r\n return ${expectedResultsArrayName}\r\n `;\r\n // eslint-disable-next-line\r\n let expectedResultsArray: any[] = [];\r\n\r\n try {\r\n // eslint-disable-next-line\r\n let func = Function(codeToRun);\r\n expectedResultsArray = func();\r\n } catch (e: any) {\r\n console.error(\"Failed to run the solution: \" + e);\r\n console.log(\"Solution: \" + problemData.solutionCode);\r\n return [];\r\n }\r\n\r\n return expectedResultsArray.map(result => safeToString(result));\r\n}\r\n\r\nconst levenshteinDistance = (s: string, t: string) => {\r\n if (!s.length) return t.length;\r\n if (!t.length) return s.length;\r\n const arr = [];\r\n for (let i = 0; i <= t.length; i++) {\r\n arr[i] = [i];\r\n for (let j = 1; j <= s.length; j++) {\r\n arr[i][j] =\r\n i === 0\r\n ? j\r\n : Math.min(\r\n arr[i - 1][j] + 1,\r\n arr[i][j - 1] + 1,\r\n arr[i - 1][j - 1] + (s[j - 1] === t[i - 1] ? 0 : 1)\r\n );\r\n }\r\n }\r\n return arr[t.length][s.length];\r\n};","import {Marked} from \"marked\";\r\nimport {markedHighlight} from \"marked-highlight\";\r\nimport hljs from \"highlight.js/lib/common\";\r\nimport React, {lazy, Suspense, useEffect, useState} from \"react\";\r\nimport DOMPurify from \"dompurify\";\r\nimport {HelpBoxAndButton, NEXT_HELP_TIME} from \"./Help\";\r\nimport {useParams} from \"react-router-dom\";\r\nimport 'katex/dist/katex.min.css';\r\nimport {getUserName} from \"../auth/AuthHelper\";\r\nimport {getExpectedResults, TestResult, TestResults, testUserCode} from \"./CodeRunner\";\r\nimport {Button, Popover, ThemeProvider} from \"@mui/material\";\r\nimport {buttonTheme, mutedButtonTheme} from \"../App\";\r\nimport markedKatex from \"marked-katex-extension\";\r\nimport {parseProblem, ProblemData, TestCase} from \"./ProblemParse\";\r\n\r\nhljs.registerAliases([\"\"], {languageName: \"javascript\"})\r\n\r\nconst Editor = lazy(() => import(\"./Editor\"));\r\nexport const marked = new Marked(\r\n markedHighlight({\r\n langPrefix: 'hljs language-',\r\n highlight(code, lang, info) {\r\n const language = hljs.getLanguage(lang) ? lang : 'plaintext';\r\n return hljs.highlight(code, {language}).value;\r\n }\r\n })\r\n);\r\n\r\nconst options = {\r\n throwOnError: false,\r\n displayMode: false,\r\n};\r\n\r\nmarked.use(markedKatex(options));\r\n\r\nexport function saveUserData(problemData: ProblemData, userData: UserData) {\r\n if (userData.currentCode === null || userData.currentCode === \"\" || userData.currentCode === undefined) {\r\n console.error(\"User data is being saved with no code\");\r\n }\r\n\r\n localStorage.setItem(getStorageKey(problemData.id, getUserName()), JSON.stringify(userData));\r\n}\r\n\r\nfunction getStorageKey(id: string, userName: string | undefined) {\r\n return \"problem \" + id;\r\n}\r\n\r\nexport default function Problem() {\r\n const [problemData, setProblemData] = useState(null as unknown as ProblemData);\r\n const {\"*\": id} = useParams();\r\n const [userData, setUserData] = useState(null as unknown as UserData);\r\n const [helpResponse, setHelpResponse] = useState(\"When you press \\\"I'm stuck\\\", the AI tutor will respond here.\");\r\n const [magicLinksHover, setMagicLinks] = useState({\r\n anchorEl: null as (React.JSX.Element | null),\r\n magicLink: \"\",\r\n highlight: true\r\n })\r\n\r\n function onCodeSubmit() {\r\n return onSubmission(problemData, userData, setUserData);\r\n }\r\n\r\n let normalizedId = id?.toLowerCase();\r\n normalizedId?.trim()\r\n if (normalizedId?.startsWith(\"/\")) {\r\n normalizedId = normalizedId.substring(1)\r\n }\r\n\r\n if (normalizedId?.endsWith(\"/\")) {\r\n normalizedId = normalizedId.substring(0, normalizedId.length - 1)\r\n }\r\n\r\n useEffect(() => {\r\n if (normalizedId !== undefined) {\r\n fetch(process.env.PUBLIC_URL + \"/problems/\" + normalizedId + \".md\")\r\n .then(async r => {\r\n let text = await r.text()\r\n if (!r.ok || !text.startsWith(\"#\")) {\r\n throw new Error(\"Failed to fetch problem data\");\r\n } else {\r\n return text;\r\n }\r\n })\r\n .then(async text => {\r\n // @ts-ignore - we've check that the id isn't undefined\r\n let problemData = parseProblem(text, normalizedId);\r\n let userData = getUserData(normalizedId, getUserName());\r\n\r\n // set the template data if the user has not saved any data\r\n if (userData.currentCode === null || userData.currentCode === \"\" || userData.currentCode === undefined) {\r\n console.log(\"First time loading problem, setting template data\");\r\n if (problemData.displayAbove !== \"\" && problemData.displayBelow !== \"\") {\r\n userData.currentCode = problemData.displayAbove + \"\\n\\t\\n\" + problemData.displayBelow;\r\n }\r\n }\r\n\r\n if (userData.testResults === undefined || userData.testResults === null || userData.testResults.expectedResults.length === 0) {\r\n console.log(\"First time loading problem, getting expected results\");\r\n userData.testResults = new TestResults()\r\n userData.testResults.expectedResults = getExpectedResults(problemData);\r\n\r\n }\r\n\r\n setProblemData(problemData);\r\n setUserData(userData);\r\n })\r\n .catch(e => {\r\n console.error(e);\r\n let problemData = new ProblemData();\r\n problemData.title = \"Failed to load problem \" + normalizedId;\r\n setProblemData(problemData);\r\n });\r\n }\r\n }, [normalizedId]);\r\n\r\n\r\n if (problemData === null || userData === null) {\r\n if (problemData != null && problemData.title !== undefined && problemData.title.startsWith(\"Failed to load problem\") && normalizedId !== undefined) {\r\n return Failed to load problem {normalizedId};\r\n }\r\n if (normalizedId !== undefined) {\r\n return Loading...;\r\n } else {\r\n return A problem wasn't specified;\r\n }\r\n }\r\n\r\n let hljsLang = problemData.codeLang;\r\n if (hljsLang === \"\") {\r\n hljsLang = \"plaintext\";\r\n }\r\n\r\n let descParsed = DOMPurify.sanitize(marked.parse(problemData.preProblemDescription + \"\\n\\n\" + problemData.description) as string);\r\n\r\n const handlePopoverOpen = (event: React.MouseEvent, magicLink: string, highlight = true) => {\r\n setMagicLinks({\r\n anchorEl: event.currentTarget as unknown as React.JSX.Element,\r\n magicLink: magicLink,\r\n highlight: highlight\r\n });\r\n };\r\n\r\n const handlePopoverClose = () => {\r\n setMagicLinks({\r\n anchorEl: null,\r\n magicLink: magicLinksHover.magicLink,\r\n highlight: magicLinksHover.highlight\r\n });\r\n };\r\n\r\n const open = Boolean(magicLinksHover.anchorEl);\r\n\r\n\r\n let testsDisplay = [];\r\n\r\n for (let i = 0; i < problemData.tests.length; i++) {\r\n testsDisplay.push(getTestElement(problemData.tests, userData.testResults, i,\r\n handlePopoverOpen, handlePopoverClose));\r\n }\r\n\r\n let testsDisplayJSX = There are no visible test cases;\r\n if (testsDisplay.length > 0) {\r\n testsDisplayJSX = \r\n {testsDisplay.map((test, i) => - {test}
)}\r\n
\r\n }\r\n\r\n\r\n let hiddenTestText: string;\r\n if (userData.testResults.testResults.length === 0) {\r\n hiddenTestText = \"Hidden tests will be run when you submit your code\";\r\n } else {\r\n let totalHiddenTests = problemData.hiddenTests.length;\r\n let hiddenTestsPassed = 0;\r\n for (let i = 0; i < problemData.hiddenTests.length; i++) {\r\n if (userData.testResults.testResults[i + problemData.tests.length] === TestResult.Passed) {\r\n hiddenTestsPassed++;\r\n }\r\n }\r\n hiddenTestText = hiddenTestsPassed + \" / \" + totalHiddenTests + \" hidden tests passed\";\r\n }\r\n\r\n // Callback when the user updates their code\r\n function updateUserCode(value: string) {\r\n userData.currentCode = value;\r\n saveUserData(problemData, userData);\r\n }\r\n\r\n let errorText: string = \"\"\r\n let problemSolved = userData.testResults.testResults.every(result => result === TestResult.Passed) &&\r\n userData.testResults.testResults.length === userData.testResults.expectedResults.length;\r\n\r\n if (!userData.testResults.ranSuccessfully) {\r\n if (userData.testResults.parseError !== \"\") {\r\n errorText += \"We couldn't run your code due to a syntax error on line \" + userData.testResults.errorLine + \".\\n\";\r\n errorText += indentText(userData.testResults.parseError, 1);\r\n } else if (userData.testResults.runtimeError !== \"\") {\r\n errorText += \"Something went wrong trying to run you code\"\r\n if (userData.testResults.errorLine !== -1) {\r\n errorText += \" on line \" + userData.testResults.errorLine + \".\\n\";\r\n } else {\r\n errorText += \".\\n\";\r\n }\r\n errorText += indentText(userData.testResults.runtimeError, 1);\r\n } else {\r\n errorText += \"No error message was provided.\"\r\n }\r\n }\r\n\r\n errorText = errorText.replace(/\\n/g, \"
\");\r\n errorText = DOMPurify.sanitize(errorText);\r\n\r\n let {helpButton, helpBox} =\r\n HelpBoxAndButton(problemData, setUserData, onCodeSubmit, helpResponse, setHelpResponse);\r\n\r\n let nextProblem;\r\n if (problemData.nextProblemId !== \"\" && problemData.nextProblemId.toLowerCase() !== \"nothing\") {\r\n nextProblem = \r\n \r\n \r\n } else {\r\n nextProblem = \r\n }\r\n\r\n\r\n let highlightHover;\r\n if (magicLinksHover.highlight) {\r\n highlightHover = hljs.highlight(magicLinksHover.magicLink, {language: hljsLang}).value;\r\n } else {\r\n highlightHover = magicLinksHover.magicLink;\r\n }\r\n let hoverHtml = DOMPurify.sanitize(highlightHover.replace(/\\n/g, \"
\"));\r\n\r\n let helpButtonHtml;\r\n if (localStorage.getItem(NEXT_HELP_TIME) !== null) {\r\n helpButtonHtml = {\r\n let timeToNextHelp = parseInt(localStorage.getItem(NEXT_HELP_TIME) as string);\r\n let timeToNextHelpSeconds = Math.ceil((timeToNextHelp - Date.now()) / 1000);\r\n if (timeToNextHelpSeconds > 0) {\r\n handlePopoverOpen(e, \"You can request help again in \" + timeToNextHelpSeconds + \" seconds\", false)\r\n }\r\n }}\r\n onMouseLeave={handlePopoverClose}>\r\n {helpButton}\r\n \r\n } else {\r\n helpButtonHtml = {helpButton}\r\n }\r\n\r\n\r\n return (\r\n \r\n {problemData.title}\r\n \r\n \r\n \r\n The Editor is loading... }>\r\n updateUserCode(value)}\r\n defaultValue={userData.currentCode}\r\n />\r\n \r\n\r\n \r\n {nextProblem}\r\n \r\n \r\n \r\n Tests\r\n {testsDisplayJSX}\r\n \r\n {hiddenTestText}\r\n
\r\n \r\n {helpButtonHtml}\r\n \r\n {helpBox}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\n/**\r\n * Returns a JSX element for a test case\r\n */\r\nfunction getTestElement(testCases: TestCase[], testResults: TestResults, index: number,\r\n handlePopoverOpen: (event: React.MouseEvent, magicLink: string) => void,\r\n handlePopoverClose: () => void) {\r\n let result = testResults.testResults[index];\r\n let resultText = result === undefined ? \"Not Run\" : result.toString();\r\n if (result === TestResult.Failed) {\r\n resultText += \" (Returned: \" + testResults.returnedResults[index] + \")\";\r\n }\r\n\r\n let bgColor = result === TestResult.Passed ? \"bg-test-passed\" : \"bg-test-failed\";\r\n\r\n class MagicLink {\r\n text: string;\r\n link: string;\r\n\r\n constructor(text: string, link: string) {\r\n this.text = text;\r\n this.link = link;\r\n }\r\n }\r\n\r\n let testStringPart: (string | MagicLink)[] = [];\r\n\r\n let testString = testCases[index].display;\r\n\r\n for (const entries of testCases[index].magicLinks.values()) {\r\n let key = entries.key;\r\n let value = entries.value;\r\n\r\n let index = testString.indexOf(key);\r\n\r\n if (index === -1) {\r\n console.error(\"Failed to find magic link in test string: \" + key);\r\n continue;\r\n }\r\n if (index > 0) {\r\n testStringPart.push(testString.substring(0, index));\r\n testString = testString.substring(index);\r\n }\r\n testStringPart.push(new MagicLink(key, value));\r\n testString = testString.substring(key.length);\r\n }\r\n\r\n testStringPart.push(testString);\r\n let shouldDisplayConsole = testResults.outputs[index] !== undefined && testResults.outputs[index].length > 0;\r\n\r\n\r\n let resultSpan;\r\n if (shouldDisplayConsole) {\r\n let consoleOutput = shouldDisplayConsole ? \"Console Output: \\n\" + testResults.outputs[index].join(\"\\n\") : \"\";\r\n\r\n resultSpan =\r\n handlePopoverOpen(e, consoleOutput)}\r\n onMouseLeave={handlePopoverClose}>\r\n {testResults.expectedResults[index]} : {resultText}\r\n \r\n } else {\r\n resultSpan = {testResults.expectedResults[index]} : {resultText}\r\n }\r\n\r\n\r\n let div = \r\n {testStringPart.map((part, i) => {\r\n if (part instanceof MagicLink) {\r\n return handlePopoverOpen(e, part.text + \" = \" + part.link)}\r\n onMouseLeave={handlePopoverClose}>{part.text}\r\n } else {\r\n return {part}\r\n }\r\n })}\r\n \r\n {\" ➔ \"}\r\n \r\n {resultSpan}\r\n \r\n\r\n\r\n return (\r\n div\r\n );\r\n}\r\n\r\n/**\r\n * Returns the text indented by a number of tabs\r\n */\r\nfunction indentText(text: string, indent: number) {\r\n let indentText = \" \";\r\n\r\n return text.split(\"\\n\").map(line => indentText + line).join(\"\\n\");\r\n}\r\n\r\nexport class UserData {\r\n history: string[] = [];\r\n requestHelpHistory: string[] = [];\r\n testResults: TestResults = new TestResults();\r\n lastUpdated: Date = new Date();\r\n currentCode: string = null as unknown as string;\r\n aiRememberResponse: string[] = [];\r\n\r\n constructor(history: string[] = [], requestHelpHistory: string[] = [], testResults: TestResults = new TestResults(), lastUpdated: Date = new Date(), currentCode: string = \"\", aiRememberResponse: string[] = []) {\r\n this.history = history;\r\n this.testResults = testResults;\r\n this.requestHelpHistory = requestHelpHistory;\r\n this.lastUpdated = lastUpdated;\r\n this.currentCode = currentCode;\r\n this.aiRememberResponse = aiRememberResponse;\r\n }\r\n}\r\n\r\n/**\r\n * Loads the user data from local storage\r\n * @param id The id of the problem\r\n * @param userName The username of the user\r\n */\r\nfunction getUserData(id: string | undefined, userName: string | undefined) {\r\n if (id === undefined) {\r\n console.error(\"No problem id was specified, so no user data could be retrieved.\");\r\n return new UserData();\r\n }\r\n let userData = localStorage.getItem(getStorageKey(id, userName));\r\n if (userData === null) {\r\n // try to get the data without the username\r\n userData = localStorage.getItem(getStorageKey(id, undefined));\r\n if (userData !== null) {\r\n console.log(\"Got user data without username\");\r\n }\r\n }\r\n if (userData === null) {\r\n return new UserData();\r\n }\r\n\r\n return JSON.parse(userData) as UserData;\r\n}\r\n\r\nfunction SubmitButton({onClick}: { onClick: () => void }) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\n\r\nfunction onSubmission(problemData: ProblemData, userData: UserData, setUserData: (data: UserData) => void) {\r\n if (userData.history.length === 0) {\r\n // First submission\r\n userData.history.push(userData.currentCode);\r\n } else {\r\n let lastSubmission = userData.history[userData.history.length - 1];\r\n if (lastSubmission !== userData.currentCode) {\r\n userData.history.push(userData.currentCode);\r\n }\r\n }\r\n\r\n userData.lastUpdated = new Date();\r\n\r\n let testResults = testUserCode(userData, problemData);\r\n\r\n let newUserData = new UserData(\r\n userData.history,\r\n userData.requestHelpHistory,\r\n testResults,\r\n new Date(),\r\n userData.currentCode,\r\n userData.aiRememberResponse\r\n )\r\n setUserData(newUserData);\r\n saveUserData(problemData, newUserData);\r\n return newUserData;\r\n}"],"names":["ProblemData","constructor","id","title","preProblemDescription","description","tests","hiddenTests","displayAbove","displayBelow","solution","solutionCode","codeLang","nextProblemId","KeyValue","key","value","this","extractTestCases","tokens","length","absorbWhitespace","type","testString","shift","text","trim","split","flatMap","s","functionCall","indexBeginParen","indexOf","indexEndParen","i","console","error","params","substring","map","repeatTimes","displayAs","endsWith","magicLinks","param","match","RegExp","concat","undefined","index","bracketCount","curlyCount","doubleQuoteCount","singleQuoteCount","backtickCount","c","setKeyValue","metaData","toLowerCase","num","parseInt","isNaN","includes","push","test","display","kvList","kv","removeNextHeading","expectedText","removeTillNextType","heading","Error","LOADING_MESSAGE","NEXT_HELP_TIME","functionHeaderOffset","TestResult","TestResults","testResults","returnedResults","expectedResults","parseError","errorLine","runtimeError","outputs","ranSuccessfully","StringLineNum","str","lineNum","CaptureConsole","require","tokenizeFunctionSignature","signature","tokenChars","bufferStartIndex","filter","token","reformatStackTrace","result","userCodeLineNumbersBegin","userCodeLineNumbersEnd","addedLines","stackTrace","stack","stackTraceLines","j","thisLine","startsWith","slice","regex","replace","matches","lineNumber","userCodeLineNumberBegin","userCodeLineNumberEnd","newLineNumber","lineNumberOffset","columnNumber","newLine","join","safeToString","expectedResult","toString","randomString","Math","random","getExpectedResults","problemData","expectedResultsArrayName","codeToRun","combinedTests","testSplitByLines","setupCode","getResult","expectedResultsArray","Function","func","e","log","levenshteinDistance","t","arr","min","hljs","registerAliases","languageName","Editor","lazy","marked","Marked","markedHighlight","langPrefix","highlight","code","lang","info","language","getLanguage","saveUserData","userData","currentCode","localStorage","setItem","getStorageKey","getUserName","JSON","stringify","userName","Problem","_normalizedId","_normalizedId2","_normalizedId3","setProblemData","useState","useParams","setUserData","helpResponse","setHelpResponse","magicLinksHover","setMagicLinks","anchorEl","magicLink","onCodeSubmit","history","lastUpdated","Date","ast","userCode","acorn","ecmaVersion","locations","SyntaxError","message","pos","loc","line","missingFunctionError","returnableError","matchedTokens","foundFunction","fnLoop","body","functionSignature","start","end","expectedFunctionSignature","expectedTokens","distance","findLoopEndIndex","startIndex","level","loopCounterExtraLines","loops","loopRegex","exec","findLoops","loopHeaderStart","loopHeaderEnd","loopHeader","preLoopCode","postLoopHeader","lineOfCounter","linePastLoopHeader","loopCounterVar","userCodeAddPreLoop","userCodeAddPostLoop","addedChars","resultsArrayName","consoleLogArrayName","resultsArray","consoleLogArray","out","NotRun","outputArray","entry","function","arg","args","util","format","Exception","Failed","Passed","testUserCode","newUserData","UserData","requestHelpHistory","aiRememberResponse","onSubmission","normalizedId","useEffect","fetch","then","async","r","ok","lexer","depth","raw","problem","splitProblem","parseProblem","getItem","parse","getUserData","catch","_jsxs","children","_jsx","hljsLang","descParsed","DOMPurify","handlePopoverOpen","event","arguments","currentTarget","handlePopoverClose","open","Boolean","testsDisplay","getTestElement","hiddenTestText","testsDisplayJSX","className","totalHiddenTests","hiddenTestsPassed","errorText","problemSolved","every","indentText","nextProblem","highlightHover","helpButton","helpBox","runTests","response","setResponse","button","ThemeProvider","theme","buttonTheme","Button","variant","color","onClick","setAttribute","isLoggedIn","getToken","target","method","headers","accept","json","expire_logins","expireToken","logIn","status","now","wait_time","Promise","resolve","setTimeout","removeAttribute","rememberingResponse","dangerouslySetInnerHTML","__html","HelpBoxAndButton","mutedButtonTheme","href","helpButtonHtml","hoverHtml","onMouseEnter","timeToNextHelp","timeToNextHelpSeconds","ceil","onMouseLeave","Suspense","fallback","onChange","updateUserCode","defaultValue","SubmitButton","Popover","sx","pointerEvents","anchorOrigin","vertical","horizontal","transformOrigin","onClose","disableRestoreFocus","style","fontFamily","whiteSpace","testCases","resultText","bgColor","MagicLink","link","testStringPart","entries","values","resultSpan","shouldDisplayConsole","consoleOutput","part","indent","use","markedKatex","throwOnError","displayMode","_ref"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"static/js/853.4c6c25ca.chunk.js","mappings":"2SAGO,MAAMA,EAAYC,WAAAA,GAAA,KACrBC,GAAa,GAAG,KAChBC,MAAgB,aAAa,KAC7BC,sBAAgC,GAAG,KACnCC,YAAsB,GAAG,KACzBC,MAAoB,GAAG,KACvBC,YAA0B,GAAG,KAC7BC,aAAuB,GAAG,KAC1BC,aAAuB,GAAG,KAC1BC,SAAmB,GAAG,KACtBC,aAAuB,GAAG,KAC1BC,SAAmB,GAAG,KACtBC,cAAwB,EAAG,EAexB,MAAMC,EAITb,WAAAA,CAAYc,EAAaC,GAAgB,KAHzCD,SAAG,OACHC,WAAK,EAGDC,KAAKF,IAAMA,EACXE,KAAKD,MAAQA,CACjB,EA8GJ,SAASE,EAAiBC,EAAiBb,GAEvC,KAAOa,EAAOC,OAAS,IACnBC,EAAiBF,GACK,IAAlBA,EAAOC,QAAmC,SAAnBD,EAAO,GAAGG,OAFf,CAGtB,IAEIC,EAFOJ,EAAOK,QAEIC,KAAKC,OACvBC,EAAQJ,EAAWI,MAAM,MAAMC,SAASC,GAAMA,EAAEH,SAChDI,EAAeH,EAAMA,EAAMP,OAAS,GACpCW,EAAkBD,EAAaE,QAAQ,KACvCC,GAAiB,EACrB,IAAK,IAAIC,EAAIJ,EAAaV,OAAS,EAAGc,GAAK,EAAGA,IAC1C,GAAwB,MAApBJ,EAAaI,GAAY,CACzBD,EAAgBC,EAChB,KACJ,CAEJ,IAAyB,IAArBH,IAA6C,IAAnBE,EAAsB,CAChDE,QAAQC,MAAM,+DAAiEN,GAC/E,QACJ,CACA,IAAIO,EAASP,EAAaQ,UAAUP,EAAkB,EAAGE,GAAeN,MAAM,KAAKY,KAAIV,GAAKA,EAAEH,SAE9FL,EAAiBF,GACjB,IAAIqB,EAAc,EACdC,EAAYX,EAEZW,EAAUC,SAAS,OACnBD,EAAYA,EAAUH,UAAU,EAAGG,EAAUrB,OAAS,IAG1D,IAAIuB,EAAyB,GAE7B,IAAK,IAAIC,KAASP,EAAQ,CAGtB,IAAIQ,EAAQtB,EAAWsB,MAAM,IAAIC,OAAO,UAADC,OAAWH,EAAK,eACvD,GAAc,OAAVC,QAAkCG,IAAhBH,EAAMI,MAAqB,CAC7C,IAAIjC,EAAQO,EAAWe,UAAUO,EAAMI,MAAQJ,EAAM,GAAGzB,QAAQM,OAC5DwB,EAAe,EACfC,EAAa,EACbC,EAAmB,EACnBC,EAAmB,EACnBC,EAAgB,EACpB,IAAK,IAAIpB,EAAI,EAAGA,EAAIlB,EAAMI,OAAQc,IAAK,CACnC,IAAIqB,EAAIvC,EAAMkB,GAgBd,GAfU,MAANqB,EACAL,IACa,MAANK,EACPL,IACa,MAANK,EACPJ,IACa,MAANI,EACPJ,IACa,MAANI,EACPH,IACa,MAANG,EACPF,IACa,MAANE,GACPD,IAEiB,IAAjBJ,GAAqC,IAAfC,GAAoBC,EAAmB,IAAM,GAAKC,EAAmB,IAAM,GAAKC,EAAgB,IAAM,GAAW,MAANC,GAAarB,IAAMlB,EAAMI,OAAS,EAAG,CACtKJ,EAAQA,EAAMsB,UAAU,EAAGJ,GAC3B,KACJ,CACJ,CAEAsB,EAAYb,EAAYC,EAAO5B,EACnC,CACJ,CAGA,KAAOG,EAAOC,OAAS,GAAwB,cAAnBD,EAAO,GAAGG,MAAsB,CACxD,IAAImC,EAAYtC,EAAOK,QAA6BC,KAAKC,OAErDC,EAAQ8B,EAAS9B,MAAM,KAAKY,KAAIV,GAAKA,EAAEH,SAC3C,GAAqB,IAAjBC,EAAMP,OAAc,CACpBe,QAAQC,MAAM,6BAA+BqB,GAC7C,QACJ,CACA,IAAI1C,EAAMY,EAAM,GAAG+B,cACf1C,EAAQW,EAAM,GAElB,GAAY,WAARZ,EAAkB,CAClB,IAAI4C,EAAMC,SAAS5C,GACf6C,MAAMF,GACNxB,QAAQC,MAAM,iCAAmCpB,GAEjDwB,EAAcmB,CAEtB,MAAO,GAAY,cAAR5C,EAAqB,CAC5B0B,EAAYzB,EAEZ,IAAIe,EAAkBD,EAAaE,QAAQ,KACvCC,GAAiB,EACrB,IAAK,IAAIC,EAAIO,EAAUrB,OAAS,EAAGc,GAAK,EAAGA,IACvC,GAAqB,MAAjBO,EAAUP,GAAY,CACtBD,EAAgBC,EAChB,KACJ,CAEJ,IAAyB,IAArBH,IAA6C,IAAnBE,EAAsB,CAChDE,QAAQC,MAAM,kFAAoFK,GAClG,QACJ,CACAJ,EAASI,EAAUH,UAAUP,EAAkB,EAAGE,GAAeN,MAAM,KAAKY,KAAIV,GAAKA,EAAEH,QAE3F,MAAO,GAAIW,EAAOyB,SAASnC,EAAM,IAAK,CAClC,IAAIZ,EAAMY,EAAM,GACZX,EAAQW,EAAM,GACM,IAApBA,EAAM,GAAGP,SAETC,EAAiBF,GACK,IAAlBA,EAAOC,QAAmC,SAAnBD,EAAO,GAAGG,KACjCa,QAAQC,MAAM,kFAAoFT,EAAM,IAExGX,EAASG,EAAOK,QAAwBC,MAIhD+B,EAAYb,EAAY5B,EAAKC,EACjC,MACImB,QAAQC,MAAM,yBAA2BT,EAAM,IAEnDN,EAAiBF,EACrB,CAEA,IAAK,IAAIe,EAAI,EAAGA,EAAIM,EAAaN,IAC7B5B,EAAMyD,KAAK,CACPC,KAAMzC,EACN0C,QAASxB,EACTE,cAGZ,CACJ,CAGA,SAASa,EAAYU,EAAoBnD,EAAaC,GAClD,IAAK,IAAImD,KAAMD,EACX,GAAIC,EAAGpD,MAAQA,EAEX,YADAoD,EAAGnD,MAAQA,GAInBkD,EAAOH,KAAK,IAAIjD,EAASC,EAAKC,GAClC,CAGO,SAASoD,EAAkBjD,EAAiBkD,GAE/C,GADAC,EAAmBnD,EAAQ,WACL,IAAlBA,EAAOC,OAGJ,CACH,IAAImD,EAAUpD,EAAOK,QACjB+C,EAAQ9C,KAAKC,OAAOgC,gBAAkBW,EAAa3C,OAAOgC,eAC1D,IAAIc,MAAM,gDAAkDH,EAAe,aAAeE,EAAQ9C,KAE1G,MAPI,IAAI+C,MAAM,gDAAkDH,EAQpE,CAEO,SAASC,EAAmBnD,EAAiBG,GAChD,KAAOH,EAAOC,OAAS,GAAKD,EAAO,GAAGG,OAASA,GAC3CH,EAAOK,OAEf,CASO,SAASH,EAAiBF,GAC7B,KAAOA,EAAOC,OAAS,GAAwB,UAAnBD,EAAO,GAAGG,MAClCH,EAAOK,OAEf,C,aC7TO,MAAMiD,EAAkB,uCAElBC,EAAiB,iB,2CCN9B,MAAMC,EAAuB,EAEtB,IAAKC,EAAU,SAAVA,GAAU,OAAVA,EAAU,gBAAVA,EAAU,gBAAVA,EAAU,sBAAVA,EAAU,iBAAVA,CAAU,MAOf,MAAMC,EAAY5E,WAAAA,GAAA,KACd6E,YAA4B,GAAG,KAC/BC,gBAA4B,GAAG,KAC/BC,gBAA4B,GAAG,KAC/BC,WAAqB,GAAG,KACxBC,WAAqB,EAAE,KACvBC,aAAuB,GAAG,KAC1BC,QAAsB,GAAG,KACzBC,iBAA2B,CAAK,EAG3C,MAAMC,EAIFrF,WAAAA,CAAYsF,EAAaC,GAAkB,KAHpCD,SAAG,OACHC,aAAO,EAGVvE,KAAKsE,IAAMA,EACXtE,KAAKuE,QAAUA,CACnB,EAGJ,MAAMC,EAAiBC,EAAAA,MAAAA,EAIvB,SAASC,EAA0BC,GAC/B,IAAIzE,EAA0B,GAC1BqE,EAAU,EAEd,MAAMK,EAAa,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAG5D,IAAIC,EAAmB,EACvB,IAAK,IAAI5D,EAAI,EAAGA,EAAI0D,EAAUxE,OAAQc,IAC9B2D,EAAW/B,SAAS8B,EAAU1D,MAC1B4D,IAAqB5D,GACrBf,EAAO4C,KAAK,IAAIuB,EAAcM,EAAUtD,UAAUwD,EAAkB5D,GAAIsD,IAMvD,MAAjBI,EAAU1D,IAA+B,OAAjB0D,EAAU1D,IAClCf,EAAO4C,KAAK,IAAIuB,EAAcM,EAAU1D,GAAIsD,IAG3B,OAAjBI,EAAU1D,IACVsD,IAGJM,EAAmB5D,EAAI,GAK/B,OAAOf,EAAO4E,QAAOC,GAAuB,KAAdA,EAAMT,KACxC,CAQA,SAASU,EAAmBC,EAAeC,EAAoCC,EAAkCC,GAC7G,IAAIC,EAAaJ,EAAOK,WACLvD,IAAfsD,IACAA,EAAa,IAEjB,IAAIE,EAAkBF,EAAW3E,MAAM,MAEvC,IAAK,IAAI8E,EAAI,EAAGA,EAAID,EAAgBpF,OAAQqF,IAAK,CAC7C,IAAIC,EAAWF,EAAgBC,GAAG/E,OAClC,GAAIgF,EAASC,WAAW,oBAAsBD,EAASC,WAAW,gBAAkBD,EAASC,WAAW,WAAY,CAChHH,EAAkBA,EAAgBI,MAAM,EAAGH,GAC3C,KACJ,CACJ,CAEA,MAAMI,EAAQ,0DAGd,IAAK,IAAIJ,EAAI,EAAGA,EAAID,EAAgBpF,OAAQqF,IACxCD,EAAgBC,GAAKD,EAAgBC,GAAGK,QAAQD,EAAO,IAG3D,IAAI3B,GAAa,EAEjB,IAAK,IAAIuB,EAAI,EAAGA,EAAID,EAAgBpF,OAAQqF,IAAK,CAC7C,IAAIC,EAAWF,EAAgBC,GAAG/E,OAC9BqF,EAAUL,EAAS7D,MAAM,eAC7B,GAAgB,OAAZkE,EAAkB,CAClB,IAAIC,EAAapD,SAASmD,EAAQ,IAAMpC,EAEpCsC,GAA2B,EAC3BC,GAAyB,EAE7B,IAAK,IAAIhF,EAAI,EAAGA,EAAIiE,EAAyB/E,OAAQc,IACjD,GAAI8E,GAAcb,EAAyBjE,IAAM8E,GAAcZ,EAAuBlE,GAAI,CACtF+E,EAA0Bd,EAAyBjE,GACnDgF,EAAwBd,EAAuBlE,GAC/C,KACJ,CAIJ,IAAiC,IAA7B+E,IAA6D,IAA3BC,EAA8B,CAChE,IAAIC,EAAgBH,EAAaC,EAA0B,EAEvDG,EAAmB,EACvB,IAAK,IAAIlF,EAAI,EAAGA,EAAImE,EAAWjF,OAAQc,IAC/BiF,EAAgBd,EAAWnE,IAC3BkF,IAIRD,GAAiBC,EAEjB,IAAIC,EAAezD,SAASmD,EAAQ,IAChCO,EAAO,GAAAvE,OAAMoE,EAAa,KAAApE,OAAIsE,GAClCb,EAAgBC,GAAKC,EAASI,QAAQC,EAAQ,GAAIO,IAC/B,IAAfpC,IACAA,EAAYiC,EAEpB,CACJ,CACJ,CAIA,OADAjB,EAAOK,MAAQC,EAAgBe,KAAK,MAC7BrC,CACX,CAEA,SAASsC,EAAaC,GAClB,YAAuBzE,IAAnByE,EACO,YAEY,OAAnBA,EACO,OAEJA,EAAeC,UAC1B,CAEA,SAASC,IACL,OAAOC,KAAKC,SAASH,SAAS,IAAIpF,UAAU,EAChD,CA+YO,SAASwF,EAAmBC,GAE/B,IAAIpH,EAAeoH,EAAYpH,aAC3BqH,EAA2B,kBAAoBL,IAE/CM,EAAS,SAAAlF,OACXiF,EAAwB,wBAAAjF,OAE5BpC,EAAY,UAGNuH,EAAgBH,EAAYzH,MAAMyC,OAAOgF,EAAYxH,aAEzD,IAAK,IAAI2B,EAAI,EAAGA,EAAIgG,EAAc9G,OAAQc,IAAK,CAI3C,IACIiG,EADWD,EAAchG,GACG8B,KAAKrC,MAAM,MACvCyG,EAAYD,EAAiBvB,MAAM,EAAGuB,EAAiB/G,OAAS,GAAGmG,KAAK,MACxEc,EAAYF,EAAiBA,EAAiB/G,OAAS,GAE3D6G,GAAS,mGAAAlF,OAKCqF,EAAS,4DAAArF,OAEMsF,EAAS,sHAAAtF,OAK5BiF,EAAwB,wCAGlC,CAEAC,GAAS,gBAAAlF,OACAiF,EAAwB,UAGjC,IAAIM,EAA8B,GAElC,IAGIA,EADWC,SAASN,EACGO,EAC3B,CAAE,MAAOC,GAGL,OAFAtG,QAAQC,MAAM,+BAAiCqG,GAC/CtG,QAAQuG,IAAI,aAAeX,EAAYpH,cAChC,EACX,CAEA,OAAO2H,EAAqB/F,KAAI2D,GAAUsB,EAAatB,IAC3D,CAEA,MAAMyC,EAAsBA,CAAC9G,EAAW+G,KACpC,IAAK/G,EAAET,OAAQ,OAAOwH,EAAExH,OACxB,IAAKwH,EAAExH,OAAQ,OAAOS,EAAET,OACxB,MAAMyH,EAAM,GACZ,IAAK,IAAI3G,EAAI,EAAGA,GAAK0G,EAAExH,OAAQc,IAAK,CAChC2G,EAAI3G,GAAK,CAACA,GACV,IAAK,IAAIuE,EAAI,EAAGA,GAAK5E,EAAET,OAAQqF,IAC3BoC,EAAI3G,GAAGuE,GACG,IAANvE,EACMuE,EACAmB,KAAKkB,IACHD,EAAI3G,EAAI,GAAGuE,GAAK,EAChBoC,EAAI3G,GAAGuE,EAAI,GAAK,EAChBoC,EAAI3G,EAAI,GAAGuE,EAAI,IAAM5E,EAAE4E,EAAI,KAAOmC,EAAE1G,EAAI,GAAK,EAAI,GAGrE,CACA,OAAO2G,EAAID,EAAExH,QAAQS,EAAET,OAAO,E,sBC3mBlC2H,EAAAA,EAAKC,gBAAgB,CAAC,IAAK,CAACC,aAAc,eAE1C,MAAMC,GAASC,EAAAA,EAAAA,OAAK,IAAM,wDACbC,EAAS,IAAIC,EAAAA,IACtBC,EAAAA,EAAAA,GAAgB,CACZC,WAAY,iBACZC,SAAAA,CAAUC,EAAMC,EAAMC,GAClB,MAAMC,EAAWb,EAAAA,EAAKc,YAAYH,GAAQA,EAAO,YACjD,OAAOX,EAAAA,EAAKS,UAAUC,EAAM,CAACG,aAAW5I,KAC5C,KAWD,SAAS8I,EAAa/B,EAA0BgC,GACtB,OAAzBA,EAASC,aAAiD,KAAzBD,EAASC,kBAA+ChH,IAAzB+G,EAASC,aACzE7H,QAAQC,MAAM,yCAGlB6H,aAAaC,QAAQC,EAAcpC,EAAY7H,IAAIkK,EAAAA,EAAAA,OAAgBC,KAAKC,UAAUP,GACtF,CAEA,SAASI,EAAcjK,EAAYqK,GAC/B,MAAO,WAAarK,CACxB,CAEe,SAASsK,IAAW,IAADC,EAAAC,EAAAC,EAC9B,MAAO5C,EAAa6C,IAAkBC,EAAAA,EAAAA,UAAS,OACxC,IAAK3K,IAAM4K,EAAAA,EAAAA,MACXf,EAAUgB,IAAeF,EAAAA,EAAAA,UAAS,OAClCG,EAAcC,IAAmBJ,EAAAA,EAAAA,UAAS,iEAC1CK,EAAiBC,IAAiBN,EAAAA,EAAAA,UAAS,CAC9CO,SAAU,KACVC,UAAW,GACX7B,WAAW,IAGf,SAAS8B,IACL,OA2ZR,SAAsBvD,EAA0BgC,EAAoBgB,GAChE,GAAgC,IAA5BhB,EAASwB,QAAQnK,OAEjB2I,EAASwB,QAAQxH,KAAKgG,EAASC,iBAC5B,CACkBD,EAASwB,QAAQxB,EAASwB,QAAQnK,OAAS,KACzC2I,EAASC,aAC5BD,EAASwB,QAAQxH,KAAKgG,EAASC,YAEvC,CAEAD,EAASyB,YAAc,IAAIC,KAE3B,IAAI3G,EDjUD,SAAsBiF,EAAoBhC,GAC7C,IAEI2D,EAFAC,EAAW5B,EAASC,YAGxB,IACI0B,EAAME,EAAAA,GAAYD,EAAU,CAACE,YAAa,SAAUC,WAAW,GACnE,CAAE,MAAOrD,GACL,GAAIA,aAAasD,YAAa,CAC1B,IAAIC,EAAUvD,EAAEuD,QAQhB,OALIvD,EAAEwD,MAAQN,EAASvK,SACnB4K,GAAW,uFAIR,CACHlH,YAAa,GACbC,gBAAiB,GACjBC,gBAAiB8C,EAAmBC,GACpC9C,WAAY+G,EAEZ9G,UAAWuD,EAAEyD,IAAIC,KACjBhH,aAAc,GACdC,QAAS,GACTC,iBAAiB,EAEzB,CACI,MAAMoD,CAEd,CAGA,CACI,IAAI2D,EAAuB,CACvBC,gBAAiB,CACbvH,YAAa,GACbC,gBAAiB,GACjBC,gBAAiB8C,EAAmBC,GACpC9C,WAAY,8DAAgE8C,EAAYpH,aAAagB,MAAM,KAAK,GAChHuD,UAAW,EACXC,aAAc,GACdC,QAAS,GACTC,iBAAiB,GAErBiH,cAAe,EAEf3D,oBAAqB,KAGrB4D,GAAgB,EAEpBC,EAAQ,IAAK,IAAIhE,KAAQkD,EAAIe,KAAM,CAC/B,IAAIC,EAAoBf,EAASrJ,UAAUkG,EAAKmE,MAAOnE,EAAKoE,KAAKjL,MAAM,KAAK,GACxER,EAASwE,EAA0B+G,GAEnCG,EAA4B9E,EAAYpH,aAAagB,MAAM,KAAK,GAChEmL,EAAiBnH,EAA0BkH,GAE/C,IAAK,IAAI3K,EAAI,EAAGA,EAAIf,EAAOC,OAAQc,IAC/B,GAAIf,EAAOe,GAAGqD,MAAQuH,EAAe5K,GAAGqD,IAAK,CAEzC,IAAIN,EAAa,6DACP,IAAN/C,GACA+C,GAAc,+CAAiD6H,EAAe5K,GAAGqD,IAAM,uBACrEvC,IAAd7B,EAAOe,IAAsC,KAAlBf,EAAOe,GAAGqD,IACrCN,GAAc,WAEdA,GAAc,IAAM9D,EAAOe,GAAGqD,IAAM,WAGtBvC,IAAd7B,EAAOe,IAAsC,KAAlBf,EAAOe,GAAGqD,IACrCN,GAAc,cAAgB6H,EAAe5K,GAAGqD,IAAM,qBAEtDN,GAAc,cAAgB6H,EAAe5K,GAAGqD,IAAM,YAAcpE,EAAOyF,MAAM,EAAG1E,GAC/EK,KAAIqG,GAAKA,EAAErD,MAAKgC,KAAK,KAAO,eAAiBpG,EAAOe,GAAGqD,IAAM,KAI1E,IAAIwH,EAAWpE,EAAoBxH,EAAOe,GAAGqD,IAAKuH,EAAe5K,GAAGqD,MAIhErD,EAAIkK,EAAqBE,eACxBS,EAAWX,EAAqBzD,qBAAuBzG,GAAKkK,EAAqBE,iBAClFF,EAAuB,CACnBC,gBAAiB,CACbvH,YAAa,GACbC,gBAAiB,GACjBC,gBAAiB8C,EAAmBC,GACpC9C,aACAC,UAAW/D,EAAOe,GAAGsD,QACrBL,aAAc,GACdC,QAAS,GACTC,iBAAiB,GAErBiH,cAAepK,EACfyG,oBAAqBoE,IAG7B,SAASP,CACb,CAGJ,GAAIrL,EAAOC,SAAW0L,EAAe1L,OAArC,CAqBAmL,GAAgB,EAChB,KAHA,CAlBQpL,EAAOC,OAASgL,EAAqBE,gBACrCF,EAAuB,CACnBC,gBAAiB,CACbvH,YAAa,GACbC,gBAAiB,GACjBC,gBAAiB8C,EAAmBC,GACpC9C,WAAY,uEACO4H,EAA4B,aAAeH,EAC9DxH,UAAW/D,EAAOA,EAAOC,OAAS,GAAGoE,QACrCL,aAAc,GACdC,QAAS,GACTC,iBAAiB,GAErBiH,cAAenL,EAAOC,OACtBuH,oBAAqB,KAQrC,CAEA,IAAK4D,EACD,OAAOH,EAAqBC,eAEpC,CAsBA,SAASW,EAAiBvD,EAAcwD,GACpC,IAAIC,EAAQ,EACZ,IAAK,IAAIhL,EAAI+K,EAAY/K,EAAIuH,EAAKrI,OAAQc,IACtC,GAAgB,MAAZuH,EAAKvH,GACLgL,SACG,GAAgB,MAAZzD,EAAKvH,KACZgL,IACc,IAAVA,GACA,OAAOhL,EAAI,EAIvB,OAAQ,CACZ,CAGA,IAAIiL,EAAkC,GAElCC,EAlCJ,SAAmB3D,GACf,MAAM4D,EAAY,6EACZD,EAAQ,GACd,IAAIvK,EAEJ,KAA0C,QAAlCA,EAAQwK,EAAUC,KAAK7D,KAC3B2D,EAAMrJ,KAAK,CACPzC,KAAMuB,EAAM,GACZ8J,MAAO9J,EAAMI,MACb2J,IAAKI,EAAiBvD,EAAM5G,EAAMI,MAAQJ,EAAM,GAAGzB,UAI3D,OAAOgM,CACX,CAoBYG,CAAU5B,GACtB,IAAK,IAAIzJ,EAAI,EAAGA,EAAIkL,EAAMhM,OAAQc,IAAK,CACnC,IACIsL,EADOJ,EAAMlL,GACUyK,MACvBc,EAAgB9B,EAAS3J,QAAQ,IAAKwL,GAAmB,EAEzDE,EAAa/B,EAASrJ,UAAUkL,EAAiBC,GACjDE,EAAchC,EAASrJ,UAAU,EAAGkL,GACpCI,EAAiBjC,EAASrJ,UAAUmL,GAEpCI,EAAgBF,EAAYhM,MAAM,MAAMP,OACxC0M,EAAqBH,EAAYhM,MAAM,MAAMP,OAASsM,EAAW/L,MAAM,MAAMP,OAE7E2M,EAAiB,cAAgBpG,IACjCqG,EAAkB,OAAAjL,OAAUgL,EAAc,WAC1CE,EAAmB,OAAAlL,OAAUgL,EAAc,oFAC/CpC,EAAWgC,EAAcK,EAAqBN,EAAaO,EAAsBL,EAEjFT,EAAsBpJ,KAAK8J,GAC3BV,EAAsBpJ,KAAK+J,GAE3B,IAAII,EAAaF,EAAmB5M,OAAS6M,EAAoB7M,OAEjE,IAAK,IAAIqF,EAAIvE,EAAI,EAAGuE,EAAI2G,EAAMhM,OAAQqF,IAClC2G,EAAM3G,GAAGkG,OAASuB,EAClBd,EAAM3G,GAAGmG,KAAOsB,CAExB,CAEA,IAAIvN,EAAeoH,EAAYpH,aAC3BwN,EAAmB,UAAYxG,IAC/BK,EAA2B,kBAAoBL,IAC/CyG,EAAsB,aAAezG,IAErCM,EAAS,SAAAlF,OACXoL,EAAgB,sBAAApL,OAChBiF,EAAwB,sBAAAjF,OACxBqL,EAAmB,sBAGjBjI,EAAqC,GAErCC,EAAmC,GAEnC8B,EAAgBH,EAAYzH,MAAMyC,OAAOgF,EAAYxH,aAEzD,IAAK,IAAI2B,EAAI,EAAGA,EAAIgG,EAAc9G,OAAQc,IAAK,CAO3C,IACIiG,EADWD,EAAchG,GACG8B,KAAKrC,MAAM,MACvCyG,EAAYD,EAAiBvB,MAAM,EAAGuB,EAAiB/G,OAAS,GAAGmG,KAAK,MACxEc,EAAYF,EAAiBA,EAAiB/G,OAAS,GAE3D6G,GAAS,mGAAAlF,OAKCqF,EAAS,yBAAArF,OAEzBpC,EAAY,oEAAAoC,OAEuBsF,EAAS,4OAStClC,EAAyBpC,KAAKkE,EAAUtG,MAAM,MAAMP,QACpD6G,GAAa0D,EACbvF,EAAuBrC,KAAKkE,EAAUtG,MAAM,MAAMP,QAElD6G,GAAS,iEAAAlF,OAEkBsF,EAAS,yJAAAtF,OAKtBqL,EAAmB,4EAAArL,OAG3BoL,EAAgB,gCAAApL,OAChBiF,EAAwB,wCAGlC,CAEAC,GAAS,iBAAAlF,OACCoL,EAAgB,MAAApL,OAAKiF,EAAwB,MAAAjF,OAAKqL,EAAmB,YAI/E,IAAIC,EAAsB,GAEtB/F,EAA8B,GAC9BgG,EAA2B,GAG3BxJ,EAAc,IAAID,EAEtB,IAEI,IACI0J,EADOhG,SAAS,iBAAkBN,EAC5BO,CAAK/C,GAEf4I,EAAeE,EAAI,GACnBjG,EAAuBiG,EAAI,GAC3BD,EAAkBC,EAAI,GACtBzJ,EAAYO,iBAAkB,CAClC,CAAE,MAAOoD,GACL3D,EAAYO,iBAAkB,EAC9BlD,QAAQC,MAAM,+BAAiCqG,GAC/C3D,EAAYE,gBAAkB8C,EAAmBC,GAC7CU,aAAajE,OACbM,EAAYI,UAAYe,EAAmBwC,EAAGtC,EAA0BC,EAAwB+G,GAChGhL,QAAQuG,IAAID,EAAElC,OACdzB,EAAYK,aAAesD,EAAElC,OAE7BzB,EAAYK,aAAesD,CAEnC,CAEA,IAAK,IAAIvG,EAAI,EAAGA,EAAIgG,EAAc9G,OAAQc,IAAK,CAE3C,GAAIA,GAAKoG,EAAqBlH,OAAQ,CAClC0D,EAAYA,YAAYf,KAAKa,EAAW4J,QACxC1J,EAAYE,gBAAgBjB,KAAK,WACjCe,EAAYC,gBAAgBhB,KAAK,WACjCe,EAAYM,QAAQrB,KAAK,IACzBe,EAAYO,iBAAkB,EAC9B,QACJ,CAEA,GAAInD,GAAKmM,EAAajN,OAAQ,CAC1B0D,EAAYA,YAAYf,KAAKa,EAAW4J,QACxC1J,EAAYE,gBAAgBjB,KAAKuE,EAAqBpG,GAAGwF,YACzD5C,EAAYC,gBAAgBhB,KAAK,WACjCe,EAAYM,QAAQrB,KAAK,IACzBe,EAAYO,iBAAkB,EAC9B,QACJ,CAEA,IAEIqD,EAFAxC,EAASmI,EAAanM,GACtBuF,EAAiBa,EAAqBpG,GAS1C,GANIwG,EADAxG,EAAI6F,EAAYzH,MAAMc,OAChB,GAEAkN,EAAgBpM,GAItBuF,aAA0BjD,MAAO,CACjCM,EAAYE,gBAAgBjB,KAAK,SACjCe,EAAYC,gBAAgBhB,KAAK,SACjCe,EAAYA,YAAYf,KAAKa,EAAW4J,QACxCrM,QAAQC,MAAM,2CAA6CqF,GAC3DtF,QAAQuG,IAAI,SAAWR,EAAchG,IAErCC,QAAQuG,IAAI,aAAeX,EAAYpH,cACvCwB,QAAQuG,IAAI,cAAgBiD,GAC5B7G,EAAYO,iBAAkB,EAC9B,QACJ,CACIP,EAAYE,gBAAgBjB,KAAKyD,EAAaC,IAGlD,IAAIgH,EAAwB,GAC5B,IAAK,IAAIC,KAAShG,EAAK,CACnB,IAAI6F,EAAM,GACa,QAAnBG,EAAMC,WACNJ,EAAMG,EAAMC,SAAW,MAG3B,IAAK,IAAIC,KAAOF,EAAMG,KACdD,aAAepK,OACfyB,EAAmB2I,EAAKzI,EAA0BC,EAAwB+G,GAI9EuB,EAAMG,KAAKzN,OAAS,EACpBmN,GAAOO,EAAKC,OAAOL,EAAMG,KAAK,MAAOH,EAAMG,KAAKjI,MAAM,IAEtD2H,GAAO,GAGXE,EAAY1K,KAAKwK,EACrB,CAEAzJ,EAAYM,QAAQrB,KAAK0K,GAErBvI,aAAkB1B,OAClBM,EAAYC,gBAAgBhB,KAAK,SACjCe,EAAYA,YAAYf,KAAKa,EAAWoK,WAExClK,EAAYI,UAAYe,EAAmBC,EAAQC,EAA0BC,EAAwB+G,GAErGrI,EAAYK,aAAee,EAAOK,MAClCzB,EAAYO,iBAAkB,IAG9BP,EAAYC,gBAAgBhB,KAAKyD,EAAatB,IAI9CsB,EAAatB,KAAYsB,EAAaC,GACtC3C,EAAYA,YAAYf,KAAKa,EAAWqK,QAExCnK,EAAYA,YAAYf,KAAKa,EAAWsK,QAEhD,CAEA,OAAOpK,CACX,CCzEsBqK,CAAapF,EAAUhC,GAErCqH,EAAc,IAAIC,EAClBtF,EAASwB,QACTxB,EAASuF,mBACTxK,EACA,IAAI2G,KACJ1B,EAASC,YACTD,EAASwF,oBAIb,OAFAxE,EAAYqE,GACZtF,EAAa/B,EAAaqH,GACnBA,CACX,CArbeI,CAAazH,EAAagC,EAAUgB,EAC/C,CAEA,IAAI0E,EAAiB,OAAFvP,QAAE,IAAFA,OAAE,EAAFA,EAAIwD,cAsDvB,GArDY,QAAZ+G,EAAAgF,SAAY,IAAAhF,GAAZA,EAAc/I,OACE,QAAhBgJ,EAAI+E,SAAY,IAAA/E,GAAZA,EAAc/D,WAAW,OACzB8I,EAAeA,EAAanN,UAAU,IAG1B,QAAhBqI,EAAI8E,SAAY,IAAA9E,GAAZA,EAAcjI,SAAS,OACvB+M,EAAeA,EAAanN,UAAU,EAAGmN,EAAarO,OAAS,KAGnEsO,EAAAA,EAAAA,YAAU,UACe1M,IAAjByM,GACAE,MAA+B,aAAeF,EAAe,OACxDG,MAAKC,UACF,IAAIpO,QAAaqO,EAAErO,OACnB,GAAKqO,EAAEC,IAAOtO,EAAKkF,WAAW,KAG1B,OAAOlF,EAFP,MAAM,IAAI+C,MAAM,+BAGpB,IAEHoL,MAAKC,UAEF,IAAI9H,EH7CjB,SAAsBtG,EAAcvB,GACvC,IAAIiB,EAASiI,EAAO4G,MAAMvO,GACtBtB,EAASgB,EAAOK,QAA2BC,KAE3CrB,EAAwB,GAE5B,GADAkE,EAAmBnD,EAAQ,WACgB,YAAtCA,EAAO,GAAsBM,KAE9B,IADAN,EAAOK,QACAL,EAAOC,OAAS,IAAyB,YAAnBD,EAAO,GAAGG,MAAuBH,EAAO,GAAsB8O,MAAQ,IAC/F7P,GAA2Be,EAAOK,QAAkB0O,IAK5D9L,EAAkBjD,EAAQ,eAE1B,IAAId,EAAc,GAClB,KAAOc,EAAOC,OAAS,IAAyB,YAAnBD,EAAO,GAAGG,MAAuBH,EAAO,GAAsB8O,MAAQ,IAC/F5P,GAAiBc,EAAOK,QAAkB0O,IAG9C9L,EAAkBjD,EAAQ,WACH,SAAnBA,EAAO,GAAGG,MACVa,QAAQC,MAAM,iKAElB,IAAI+N,EAAUhP,EAAOK,QAChB2O,EAAQzG,MACTvH,QAAQC,MAAM,yDAA2DlC,GAE7E,IAIIM,EACAC,EALAG,EAAWuP,EAAQzG,KAAOyG,EAAQzG,KAAO,aAEzC0G,EAAeD,EAAQ1O,KAAKE,MAAM,qBAKV,IAAxByO,EAAahP,QAA2C,KAA3BgP,EAAa,GAAG1O,QAC7CS,QAAQuG,IAAI,4CACZlI,EAAe,GACfC,EAAe,KAEfD,EAAe4P,EAAa,GAAG1O,OACH,IAAxB0O,EAAahP,QACbX,EAAe,GACf0B,QAAQC,MAAM,gEAAkElC,EAC5E,4IAEJO,EAAe2P,EAAa,GAAG1O,QAKvC0C,EAAkBjD,EAAQ,YAC1BE,EAAiBF,GACjB,IAAIT,EAAW,GACXC,EAAe,GACnB,KAAOQ,EAAOC,OAAS,KAA0B,YAAnBD,EAAO,GAAGG,MAAuBH,EAAO,GAAsB8O,OAAS,IAC1E,SAAnB9O,EAAO,GAAGG,MAAoC,KAAjBX,IAE7BA,GAAiBQ,EAAO,GAAmBM,MAE/Cf,GAAcS,EAAOK,QAAkB0O,IAG3C9L,EAAkBjD,EAAQ,cAC1B,IAAIb,EAAoB,GACxBY,EAAiBC,EAAQb,GAEzB8D,EAAkBjD,EAAQ,qBAC1B,IAIIN,EAJAN,EAA0B,GAsB9B,OArBAW,EAAiBC,EAAQZ,GAEzB6D,EAAkBjD,EAAQ,QAEJ,IAAlBA,EAAOC,QAAmC,cAAnBD,EAAO,GAAGG,KACjCT,EAAgB,WAEhBA,EAAiBM,EAAOK,QAA6BC,KACrDZ,EAAgBA,EAAca,OAC1Bb,EAAc8F,WAAW,OACzB9F,EAAgBA,EAAcyB,UAAU,IAExCzB,EAAc6B,SAAS,OACvB7B,EAAgBA,EAAcyB,UAAU,EAAGzB,EAAcO,OAAS,IAEhD,KAAlBP,IACAA,EAAgB,YAKjB,CACHX,KACAC,QACAC,wBACAC,cACAC,QACAC,cACAC,eACAC,eACAC,WACAC,eACAC,WACAC,gBAER,CG5DsCwP,CAAa5O,EAAMgO,GACjC1F,EA6VxB,SAAqB7J,EAAwBqK,GACzC,QAAWvH,IAAP9C,EAEA,OADAiC,QAAQC,MAAM,oEACP,IAAIiN,EAEf,IAAItF,EAAWE,aAAaqG,QAAQnG,EAAcjK,IACjC,OAAb6J,IAEAA,EAAWE,aAAaqG,QAAQnG,EAAcjK,IAC7B,OAAb6J,GACA5H,QAAQuG,IAAI,mCAGpB,GAAiB,OAAbqB,EACA,OAAO,IAAIsF,EAGf,OAAOhF,KAAKkG,MAAMxG,EACtB,CA/WmCyG,CAAYf,GAAcrF,EAAAA,EAAAA,OAGZ,OAAzBL,EAASC,aAAiD,KAAzBD,EAASC,kBAA+ChH,IAAzB+G,EAASC,cACzE7H,QAAQuG,IAAI,qDACqB,KAA7BX,EAAYvH,cAAoD,KAA7BuH,EAAYtH,eAC/CsJ,EAASC,YAAcjC,EAAYvH,aAAe,SAAWuH,EAAYtH,oBAIpDuC,IAAzB+G,EAASjF,aAAsD,OAAzBiF,EAASjF,aAAwE,IAAhDiF,EAASjF,YAAYE,gBAAgB5D,SAC5Ge,QAAQuG,IAAI,wDACZqB,EAASjF,YAAc,IAAID,EAC3BkF,EAASjF,YAAYE,gBAAkB8C,EAAmBC,IAI9D6C,EAAe7C,GACfgD,EAAYhB,EAAS,IAExB0G,OAAMhI,IACHtG,QAAQC,MAAMqG,GACd,IAAIV,EAAc,IAAI/H,EACtB+H,EAAY5H,MAAQ,0BAA4BsP,EAChD7E,EAAe7C,EAAY,GAEvC,GACD,CAAC0H,IAGgB,OAAhB1H,GAAqC,OAAbgC,EACxB,OAAmB,MAAfhC,QAA6C/E,IAAtB+E,EAAY5H,OAAuB4H,EAAY5H,MAAMwG,WAAW,gCAA8C3D,IAAjByM,GAC7GiB,EAAAA,EAAAA,MAAA,OAAAC,SAAA,CAAK,0BAAwBlB,UAEnBzM,IAAjByM,GACOmB,EAAAA,EAAAA,KAAA,OAAAD,SAAK,gBAELC,EAAAA,EAAAA,KAAA,OAAAD,SAAK,+BAIpB,IAAIE,EAAW9I,EAAYnH,SACV,KAAbiQ,IACAA,EAAW,aAGf,IAAIC,EAAaC,IAAAA,SAAmB3H,EAAOmH,MAAMxI,EAAY3H,sBAAwB,OAAS2H,EAAY1H,cAE1G,MAAM2Q,EAAoB,SAACC,EAAsC5F,GAAyC,IAAtB7B,IAAS0H,UAAA9P,OAAA,QAAA4B,IAAAkO,UAAA,KAAAA,UAAA,GACzF/F,EAAc,CACVC,SAAU6F,EAAME,cAChB9F,UAAWA,EACX7B,UAAWA,GAEnB,EAEM4H,EAAqBA,KACvBjG,EAAc,CACVC,SAAU,KACVC,UAAWH,EAAgBG,UAC3B7B,UAAW0B,EAAgB1B,WAC7B,EAGA6H,GAAOC,QAAQpG,EAAgBE,UAGrC,IAAImG,GAAe,GAEnB,IAAK,IAAIrP,EAAI,EAAGA,EAAI6F,EAAYzH,MAAMc,OAAQc,IAC1CqP,GAAaxN,KAAKyN,EAAezJ,EAAYzH,MAAOyJ,EAASjF,YAAa5C,EACtE8O,EAAmBI,IAG3B,IAQIK,GARAC,IAAkBd,EAAAA,EAAAA,KAAA,OAAAD,SAAK,oCAS3B,GARIY,GAAanQ,OAAS,IACtBsQ,IAAkBd,EAAAA,EAAAA,KAAA,MAAIe,UAAU,GAAEhB,SAC7BY,GAAahP,KAAI,CAACyB,EAAM9B,KAAM0O,EAAAA,EAAAA,KAAA,MAAAD,SAAa3M,GAAJ9B,QAMA,IAA5C6H,EAASjF,YAAYA,YAAY1D,OACjCqQ,GAAiB,yDACd,CACH,IAAIG,EAAmB7J,EAAYxH,YAAYa,OAC3CyQ,EAAoB,EACxB,IAAK,IAAI3P,EAAI,EAAGA,EAAI6F,EAAYxH,YAAYa,OAAQc,IAC5C6H,EAASjF,YAAYA,YAAY5C,EAAI6F,EAAYzH,MAAMc,UAAYwD,EAAWsK,QAC9E2C,IAGRJ,GAAiBI,EAAoB,MAAQD,EAAmB,sBACpE,CAQA,IAAIE,GAAoB,GACpBC,GAAgBhI,EAASjF,YAAYA,YAAYkN,OAAM9L,GAAUA,IAAWtB,EAAWsK,UACvFnF,EAASjF,YAAYA,YAAY1D,SAAW2I,EAASjF,YAAYE,gBAAgB5D,OAEhF2I,EAASjF,YAAYO,kBACkB,KAApC0E,EAASjF,YAAYG,YACrB6M,IAAa,2DAA6D/H,EAASjF,YAAYI,UAAY,MAC3G4M,IAAaG,EAAWlI,EAASjF,YAAYG,WAAY,IACZ,KAAtC8E,EAASjF,YAAYK,cAC5B2M,IAAa,+CAC2B,IAApC/H,EAASjF,YAAYI,UACrB4M,IAAa,YAAc/H,EAASjF,YAAYI,UAAY,MAE5D4M,IAAa,MAEjBA,IAAaG,EAAWlI,EAASjF,YAAYK,aAAc,IAE3D2M,IAAa,kCAIrBA,GAAYA,GAAUhL,QAAQ,MAAO,QACrCgL,GAAYf,IAAAA,SAAmBe,IAE/B,IAGII,GAeAC,IAlBA,WAACC,GAAU,QAAEC,IFrMd,SAA0BtK,EACAgD,EACAuH,EACAC,EACAC,GA6G7B,IAAIC,GACA7B,EAAAA,EAAAA,KAAC8B,EAAAA,EAAa,CAACC,MAAOC,EAAAA,GAAYjC,UAC9BC,EAAAA,EAAAA,KAACiC,EAAAA,EAAM,CAACC,QAAQ,YACRC,MAAM,YACNC,QA9GhB,SAA2B/B,GACvBA,EAAME,cAAc8B,aAAa,WAAY,QAE7C,IAAIlJ,EAAWuI,IACf,KAAKY,EAAAA,EAAAA,MAED,YADAV,EAAY,2EAIhB,IAAIxM,GAAQmN,EAAAA,EAAAA,MACRC,EAASnC,EAAME,cACnBqB,EAAY/N,GACZkL,MAAM,+CAAgD,CAClD0D,OAAQ,OACRC,QAAS,CACL,eAAgB,mBAChB,aAAc,eACdC,OAAQ,mBACR,cAAgB,SAADxQ,OAAWiD,IAE9ByG,KAAMpC,KAAKC,UAAU,CACjBvC,YAAaA,EACbgC,SAAUA,MAGb6F,MAAK2C,GAAYA,EAASiB,SAC1B5D,MAAM4D,IAOH,GAAIA,EAAKC,cAIL,OAHAC,EAAAA,EAAAA,OACAC,EAAAA,EAAAA,WACAnB,EAAY,8DAIhB,GAAoB,MAAhBgB,EAAKI,OAEL,YADApB,EAAY,+CAMhB,GAFAvI,aAAaC,QAAQxF,GAAiB+G,KAAKoI,MAAyB,IAAjBL,EAAKM,WAAkBpM,YAEtD,MAAhB8L,EAAKI,OAML,OALApB,EAAY,iFAEZ,IAAIuB,SAASC,GAAYC,WAAWD,EAA0B,IAAjBR,EAAKM,aAAmBlE,MAAK,KACtEwD,EAAOc,gBAAgB,WAAW,IAK1C,GAAoB,MAAhBV,EAAKI,OAGL,OAFApB,EAAY,4EACZY,EAAOc,gBAAgB,YAK3B,IAAI/S,EAASiI,EAAO4G,MAAMwD,EAAKjB,UAK/BnO,EAAkBjD,EAAQ,qBAE1BiD,EAAkBjD,EAAQ,eAG1B,IAAIoR,EAAW,GACf,KAAOpR,EAAOC,OAAS,IAAyB,YAAnBD,EAAO,GAAGG,MAAuBH,EAAO,GAAsB8O,MAAQ,GAAmD,gBAA7C9O,EAAO,GAAsBM,KAAKC,SACvI6Q,GAAcpR,EAAOK,QAAkB0O,IAG3C9L,EAAkBjD,EAAQ,eAC1B,IAAIgT,EAAsB,GAC1B,KAAOhT,EAAOC,OAAS,GACnB+S,GAAyBhT,EAAOK,QAAkB0O,IAGtD,IAAId,EAAc,IACXrF,EACHwF,mBAAoBxF,EAASwF,mBAAmBxM,OAAOoR,IAG3DpJ,EACIqE,GAGJtF,EAAa/B,EAAaqH,GAC1BoD,EAAYzB,IAAAA,SAAmB3H,EAAOmH,MAAMgC,KAC5C,IAAIwB,SAASC,GAAYC,WAAWD,EAA0B,IAAjBR,EAAKM,aAAmBlE,MAAK,KACtEwD,EAAOc,gBAAgB,WAAW,GACpC,IAELzD,OAAOrO,IACJD,QAAQC,MAAMA,GACdoQ,EAAY,uEACZY,EAAOc,gBAAgB,WAAW,GAE9C,EAOgBvC,UAAU,aAAYhB,SAC7B,iBAaT,MAAO,CACHyB,WAAYK,EACZJ,SARAzB,EAAAA,EAAAA,KAAA,OAAKe,UAAU,8EAA6EhB,UACxFC,EAAAA,EAAAA,KAAA,KAAGe,UAAU,sBAAsByC,wBAAyB,CAACC,OAAQ9B,OASjF,CE8DQ+B,CAAiBvM,EAAagD,EAAaO,EAAcN,EAAcC,GAIvEiH,GAD8B,KAA9BnK,EAAYlH,eAAoE,YAA5CkH,EAAYlH,cAAc6C,eAChDkN,EAAAA,EAAAA,KAAC8B,EAAAA,EAAa,CAACC,MAAO4B,EAAAA,GAAiB5D,UACjDC,EAAAA,EAAAA,KAACiC,EAAAA,EAAM,CAACC,QAAQ,YACRC,MAAOhB,GAAgB,YAAc,UACrCyC,KAAM,YAAczM,EAAYlH,cAChC8Q,UAAW,oBAAoBhB,SAAC,oBAK9BC,EAAAA,EAAAA,KAAA,UAMduB,GADAjH,EAAgB1B,UACCT,EAAAA,EAAKS,UAAU0B,EAAgBG,UAAW,CAACzB,SAAUiH,IAAW7P,MAEhEkK,EAAgBG,UAErC,IAEIoJ,GAFAC,GAAY3D,IAAAA,SAAmBoB,GAAerL,QAAQ,MAAO,SAoBjE,OAhBI2N,GADyC,OAAzCxK,aAAaqG,QAAQ5L,IACJkM,EAAAA,EAAAA,KAAA,QAAMe,UAAU,OACVgD,aAAelM,IACX,IAAImM,EAAiBhR,SAASqG,aAAaqG,QAAQ5L,IAC/CmQ,EAAwBjN,KAAKkN,MAAMF,EAAiBnJ,KAAKoI,OAAS,KAClEgB,EAAwB,GACxB7D,EAAkBvI,EAAG,iCAAmCoM,EAAwB,YAAY,EAChG,EAEJE,aAAc3D,EAAmBT,SACvCyB,MAGAxB,EAAAA,EAAAA,KAAA,QAAMe,UAAU,OAAMhB,SAAEyB,MAKzC1B,EAAAA,EAAAA,MAAA,OAAKiB,UAAU,gBAAehB,SAAA,EAC1BC,EAAAA,EAAAA,KAAA,OAAKe,UAAU,+BAA8BhB,SAAE5I,EAAY5H,SAC3DyQ,EAAAA,EAAAA,KAAA,OAAKe,UAAU,QAAQyC,wBAAyB,CAACC,OAAQvD,MACzDJ,EAAAA,EAAAA,MAAA,OAAKiB,UAAU,4CAA2ChB,SAAA,EACtDD,EAAAA,EAAAA,MAAA,OAAKiB,UAAU,6BAA4BhB,SAAA,EACvCC,EAAAA,EAAAA,KAACoE,EAAAA,SAAQ,CAACC,UAAUrE,EAAAA,EAAAA,KAAA,OAAKe,UAAW,uBAAuBhB,SAAC,6BAA+BA,UACvFC,EAAAA,EAAAA,KAAC1H,EAAM,CACHQ,KAAM3B,EAAYnH,SAClBsU,SAAWlU,GAlFnC,SAAwBA,GACpB+I,EAASC,YAAchJ,EACvB8I,EAAa/B,EAAagC,EAC9B,CA+E6CoL,CAAenU,GACpCoU,aAAcrL,EAASC,iBAI/B4G,EAAAA,EAAAA,KAAA,OAAKe,UAAU,OAAMhB,SAChBuB,SAGTxB,EAAAA,EAAAA,MAAA,OAAKiB,UAAU,kBAAiBhB,SAAA,EAC5BC,EAAAA,EAAAA,KAAA,OAAKe,UAAU,2BAA0BhB,SAAC,WACzCe,IACDd,EAAAA,EAAAA,KAAA,KAAGe,UAAU,uBAAsBhB,SAC9Bc,MAELb,EAAAA,EAAAA,KAACyE,EAAY,CAACrC,QAAS1H,IACtBmJ,IACD7D,EAAAA,EAAAA,KAAA,OAAKe,UAAU,iBAAiByC,wBAAyB,CAACC,OAAQvC,MACjEO,UAGTzB,EAAAA,EAAAA,KAAC0E,EAAAA,GAAO,CACJpV,GAAG,qBACHqV,GAAI,CACAC,cAAe,QAEnBnE,KAAMA,GACNjG,SAAUF,EAAgBE,SAC1BqK,aAAc,CACVC,SAAU,SACVC,WAAY,QAEhBC,gBAAiB,CACbF,SAAU,MACVC,WAAY,QAEhBE,QAASzE,EACT0E,qBAAmB,EAAAnF,UAEnBC,EAAAA,EAAAA,KAAA,OAAKe,UAAU,wCACVoE,MAAO,CACHC,WAAY,2EACZC,WAAY,YAEhB7B,wBAAyB,CAACC,OAAQK,UAKvD,CAKA,SAASlD,EAAe0E,EAAuBpR,EAA0B7B,EACjD+N,EACAI,GACpB,IAAIlL,EAASpB,EAAYA,YAAY7B,GACjCkT,OAAwBnT,IAAXkD,EAAuB,UAAYA,EAAOwB,WACvDxB,IAAWtB,EAAWqK,SACtBkH,GAAc,eAAiBrR,EAAYC,gBAAgB9B,GAAS,KAGxE,IAAImT,EAAUlQ,IAAWtB,EAAWsK,OAAS,iBAAmB,iBAEhE,MAAMmH,EAIFpW,WAAAA,CAAYwB,EAAc6U,GAAe,KAHzC7U,UAAI,OACJ6U,UAAI,EAGArV,KAAKQ,KAAOA,EACZR,KAAKqV,KAAOA,CAChB,EAGJ,IAAIC,EAAyC,GAEzChV,EAAa2U,EAAUjT,GAAOgB,QAElC,IAAK,MAAMuS,KAAWN,EAAUjT,GAAON,WAAW8T,SAAU,CACxD,IAAI1V,EAAMyV,EAAQzV,IACdC,EAAQwV,EAAQxV,MAEhBiC,EAAQ1B,EAAWS,QAAQjB,IAEhB,IAAXkC,GAIAA,EAAQ,IACRsT,EAAexS,KAAKxC,EAAWe,UAAU,EAAGW,IAC5C1B,EAAaA,EAAWe,UAAUW,IAEtCsT,EAAexS,KAAK,IAAIsS,EAAUtV,EAAKC,IACvCO,EAAaA,EAAWe,UAAUvB,EAAIK,SARlCe,QAAQC,MAAM,6CAA+CrB,EASrE,CAEAwV,EAAexS,KAAKxC,GACpB,IAGImV,EAHAC,OAAsD3T,IAA/B8B,EAAYM,QAAQnC,IAAwB6B,EAAYM,QAAQnC,GAAO7B,OAAS,EAI3G,GAAIuV,EAAsB,CACtB,IAAIC,EAAgBD,EAAuB,qBAAuB7R,EAAYM,QAAQnC,GAAOsE,KAAK,MAAQ,GAE1GmP,GACIhG,EAAAA,EAAAA,MAAA,QAAMiB,UAAW,mDACXgD,aAAelM,GAAMuI,EAAkBvI,EAAGmO,GAC1C7B,aAAc3D,EAAmBT,SAAA,CACtC7L,EAAYE,gBAAgB/B,GAAO,MAAIkT,IAEhD,MACIO,GAAahG,EAAAA,EAAAA,MAAA,QAAAC,SAAA,CAAO7L,EAAYE,gBAAgB/B,GAAO,MAAIkT,KAqB/D,OAjBUzF,EAAAA,EAAAA,MAAA,OAAKiB,UAAW,kCAAoCyE,EAAQzF,SAAA,CACjE4F,EAAehU,KAAI,CAACsU,EAAM3U,IACnB2U,aAAgBR,GACTzF,EAAAA,EAAAA,KAAA,QAAce,UAAW,4BACnBgD,aAAelM,GAAMuI,EAAkBvI,EAAGoO,EAAKpV,KAAO,MAAQoV,EAAKP,MACnEvB,aAAc3D,EAAmBT,SAAEkG,EAAKpV,MAFnCS,IAIX0O,EAAAA,EAAAA,KAAA,QAAAD,SAAekG,GAAJ3U,MAG1B0O,EAAAA,EAAAA,KAAA,QAAAD,SACK,aAEJ+F,IAOT,CAKA,SAASzE,EAAWxQ,EAAcqV,GAC9B,IAAI7E,EAAa,6BAAyC,EAAT6E,EAAc,eAE/D,OAAOrV,EAAKE,MAAM,MAAMY,KAAI4J,GAAQ8F,EAAa9F,IAAM5E,KAAK,KAChE,CAzXA6B,EAAO2N,KAAIC,EAAAA,EAAAA,GALK,CACZC,cAAc,EACdC,aAAa,KA8XV,MAAM7H,EAQTpP,WAAAA,GAAmN,IAAvMsL,EAAiB2F,UAAA9P,OAAA,QAAA4B,IAAAkO,UAAA,GAAAA,UAAA,GAAG,GAAI5B,EAA4B4B,UAAA9P,OAAA,QAAA4B,IAAAkO,UAAA,GAAAA,UAAA,GAAG,GAAIpM,EAAwBoM,UAAA9P,OAAA,QAAA4B,IAAAkO,UAAA,GAAAA,UAAA,GAAG,IAAIrM,EAAe2G,EAAiB0F,UAAA9P,OAAA,QAAA4B,IAAAkO,UAAA,GAAAA,UAAA,GAAG,IAAIzF,KAAQzB,EAAmBkH,UAAA9P,OAAA,QAAA4B,IAAAkO,UAAA,GAAAA,UAAA,GAAG,GAAI3B,EAA4B2B,UAAA9P,OAAA,QAAA4B,IAAAkO,UAAA,GAAAA,UAAA,GAAG,GAAE,KAPhN3F,QAAoB,GAAG,KACvB+D,mBAA+B,GAAG,KAClCxK,YAA2B,IAAID,EAAc,KAC7C2G,YAAoB,IAAIC,KAAO,KAC/BzB,YAAsB,KAAI,KAC1BuF,mBAA+B,GAG3BtO,KAAKsK,QAAUA,EACftK,KAAK6D,YAAcA,EACnB7D,KAAKqO,mBAAqBA,EAC1BrO,KAAKuK,YAAcA,EACnBvK,KAAK+I,YAAcA,EACnB/I,KAAKsO,mBAAqBA,CAC9B,EA4BJ,SAAS8F,EAAY8B,GAAsC,IAArC,QAACnE,GAAiCmE,EACpD,OACIvG,EAAAA,EAAAA,KAAC8B,EAAAA,EAAa,CAACC,MAAOC,EAAAA,GAAYjC,UAC9BC,EAAAA,EAAAA,KAACiC,EAAAA,EAAM,CAACC,QAAQ,YACRC,MAAM,UACNC,QAASA,EACTrB,UAAW,eAAehB,SACjC,eAKb,C","sources":["problem/ProblemParse.ts","problem/Help.tsx","problem/CodeRunner.ts","problem/Problem.tsx"],"sourcesContent":["import {marked} from \"./Problem\";\r\nimport {Token, Tokens} from \"marked\";\r\n\r\nexport class ProblemData {\r\n id: string = \"\";\r\n title: string = 'Loading...';\r\n preProblemDescription: string = \"\";\r\n description: string = \"\";\r\n tests: TestCase[] = [];\r\n hiddenTests: TestCase[] = [];\r\n displayAbove: string = \"\";\r\n displayBelow: string = \"\";\r\n solution: string = \"\";\r\n solutionCode: string = \"\";\r\n codeLang: string = \"\";\r\n nextProblemId: string = \"\";\r\n}\r\n\r\nexport class TestCase {\r\n test: string;\r\n display: string;\r\n magicLinks: KeyValue[];\r\n\r\n constructor(test: string, display: string, magicLinks: KeyValue[]) {\r\n this.test = test;\r\n this.display = display;\r\n this.magicLinks = magicLinks;\r\n }\r\n}\r\n\r\nexport class KeyValue {\r\n key: string;\r\n value: string;\r\n\r\n constructor(key: string, value: string) {\r\n this.key = key;\r\n this.value = value;\r\n }\r\n}\r\n\r\nexport function parseProblem(text: string, id: string): ProblemData {\r\n let tokens = marked.lexer(text);\r\n let title = (tokens.shift() as Tokens.Heading).text;\r\n\r\n let preProblemDescription = \"\";\r\n removeTillNextType(tokens, \"heading\"); // Collect everything under the description heading\r\n if ((tokens[0] as Tokens.Heading).text === \"Context\") {\r\n tokens.shift();\r\n while (tokens.length > 0 && (tokens[0].type !== \"heading\" || (tokens[0] as Tokens.Heading).depth > 1)) {\r\n preProblemDescription += ((tokens.shift() as Token).raw);\r\n }\r\n }\r\n\r\n // Collect everything under the description heading\r\n removeNextHeading(tokens, \"description\"); // Remove the description heading\r\n\r\n let description = \"\";\r\n while (tokens.length > 0 && (tokens[0].type !== \"heading\" || (tokens[0] as Tokens.Heading).depth > 1)) {\r\n description += ((tokens.shift() as Token).raw);\r\n }\r\n\r\n removeNextHeading(tokens, \"Problem\"); // Remove the problem heading\r\n if (tokens[0].type !== \"code\") {\r\n console.error(\"Problem Parse: No code block found after problem heading. If no template code is needed, please use a code block with no content (with the correct language).\");\r\n }\r\n let problem = tokens.shift() as Tokens.Code;\r\n if (!problem.lang) {\r\n console.error(\"Problem Parse: No code language specified for problem \" + id);\r\n }\r\n let codeLang = problem.lang ? problem.lang : \"javascript\";\r\n\r\n let splitProblem = problem.text.split(\"// Your code here\");\r\n\r\n let displayAbove;\r\n let displayBelow;\r\n\r\n if (splitProblem.length === 0 || splitProblem[0].trim() === \"\") {\r\n console.log(\"Problem Parse: Code block has no content\");\r\n displayAbove = \"\";\r\n displayBelow = \"\";\r\n } else {\r\n displayAbove = splitProblem[0].trim();\r\n if (splitProblem.length === 1) {\r\n displayBelow = \"\";\r\n console.error(\"Problem Parse: No secondary display content found in problem \" + id +\r\n \". It is unlikely that this is intentional. Ensure that you have a comment with the text '// Your code here' in the problem description.\");\r\n } else {\r\n displayBelow = splitProblem[1].trim();\r\n }\r\n }\r\n\r\n\r\n removeNextHeading(tokens, \"Solution\"); // Remove the solution heading\r\n absorbWhitespace(tokens);\r\n let solution = \"\";\r\n let solutionCode = \"\";\r\n while (tokens.length > 0 && !(tokens[0].type === \"heading\" && (tokens[0] as Tokens.Heading).depth <= 1)) {\r\n if (tokens[0].type === \"code\" && solutionCode === \"\") {\r\n // Get the first code block as the solution code\r\n solutionCode += (tokens[0] as Tokens.Code).text;\r\n }\r\n solution += ((tokens.shift() as Token).raw);\r\n }\r\n\r\n removeNextHeading(tokens, \"Test Cases\"); // Remove the tests heading\r\n let tests: TestCase[] = [];\r\n extractTestCases(tokens, tests);\r\n\r\n removeNextHeading(tokens, \"Hidden Test Cases\"); // Remove the hidden tests heading\r\n let hiddenTests: TestCase[] = [];\r\n extractTestCases(tokens, hiddenTests);\r\n\r\n removeNextHeading(tokens, \"Next\");\r\n let nextProblemId;\r\n if (tokens.length === 0 || tokens[0].type !== \"paragraph\") {\r\n nextProblemId = \"nothing\";\r\n } else {\r\n nextProblemId = (tokens.shift() as Tokens.Paragraph).text;\r\n nextProblemId = nextProblemId.trim();\r\n if (nextProblemId.startsWith(\"/\")) {\r\n nextProblemId = nextProblemId.substring(1);\r\n }\r\n if (nextProblemId.endsWith(\"/\")) {\r\n nextProblemId = nextProblemId.substring(0, nextProblemId.length - 1);\r\n }\r\n if (nextProblemId === \"\") {\r\n nextProblemId = \"nothing\";\r\n }\r\n }\r\n\r\n\r\n return {\r\n id,\r\n title,\r\n preProblemDescription,\r\n description,\r\n tests,\r\n hiddenTests,\r\n displayAbove,\r\n displayBelow,\r\n solution,\r\n solutionCode,\r\n codeLang,\r\n nextProblemId\r\n };\r\n}\r\n\r\nfunction extractTestCases(tokens: Token[], tests: TestCase[]) {\r\n // Tests are formatted as a list of functions in a code block with the expected result below it\r\n while (tokens.length > 0) {\r\n absorbWhitespace(tokens);\r\n if (tokens.length === 0 || tokens[0].type !== \"code\") break;\r\n let test = tokens.shift() as Tokens.Code;\r\n\r\n let testString = test.text.trim();\r\n let split = testString.split(\"\\n\").flatMap((s) => s.trim());\r\n let functionCall = split[split.length - 1];\r\n let indexBeginParen = functionCall.indexOf(\"(\");\r\n let indexEndParen = -1;\r\n for (let i = functionCall.length - 1; i >= 0; i--) {\r\n if (functionCall[i] === \")\") {\r\n indexEndParen = i;\r\n break;\r\n }\r\n }\r\n if (indexBeginParen === -1 || indexEndParen === -1) {\r\n console.error(\"Failed to parse function call (Magic Links will not work!): \" + functionCall);\r\n continue;\r\n }\r\n let params = functionCall.substring(indexBeginParen + 1, indexEndParen).split(\",\").map(s => s.trim());\r\n\r\n absorbWhitespace(tokens);\r\n let repeatTimes = 1;\r\n let displayAs = functionCall;\r\n // Remove the last ; if it exists\r\n if (displayAs.endsWith(\";\")) {\r\n displayAs = displayAs.substring(0, displayAs.length - 1);\r\n }\r\n\r\n let magicLinks: KeyValue[] = [];\r\n\r\n for (let param of params) {\r\n // See if we can find where the parameter is defined in the code block\r\n // We want to match let param = value;\r\n let match = testString.match(new RegExp(`let\\\\s+${param}\\\\s*=\\\\s*`));\r\n if (match !== null && match.index !== undefined) {\r\n let value = testString.substring(match.index + match[0].length).trim();\r\n let bracketCount = 0;\r\n let curlyCount = 0;\r\n let doubleQuoteCount = 0;\r\n let singleQuoteCount = 0;\r\n let backtickCount = 0;\r\n for (let i = 0; i < value.length; i++) {\r\n let c = value[i];\r\n if (c === \"(\") {\r\n bracketCount++;\r\n } else if (c === \")\") {\r\n bracketCount--;\r\n } else if (c === \"{\") {\r\n curlyCount++;\r\n } else if (c === \"}\") {\r\n curlyCount--;\r\n } else if (c === \"\\\"\") {\r\n doubleQuoteCount++;\r\n } else if (c === \"'\") {\r\n singleQuoteCount++;\r\n } else if (c === \"`\") {\r\n backtickCount++;\r\n }\r\n if (bracketCount === 0 && curlyCount === 0 && doubleQuoteCount % 2 === 0 && singleQuoteCount % 2 === 0 && backtickCount % 2 === 0 && c === \";\" && i !== value.length - 1) {\r\n value = value.substring(0, i);\r\n break;\r\n }\r\n }\r\n\r\n setKeyValue(magicLinks, param, value);\r\n }\r\n }\r\n\r\n // @ts-ignore - ts seems to not believe that type could be paragraph\r\n while (tokens.length > 0 && tokens[0].type === \"paragraph\") {\r\n let metaData = (tokens.shift() as Tokens.Paragraph).text.trim();\r\n\r\n let split = metaData.split(\"=\").map(s => s.trim());\r\n if (split.length !== 2) {\r\n console.error(\"Failed to parse metadata: \" + metaData);\r\n continue;\r\n }\r\n let key = split[0].toLowerCase();\r\n let value = split[1];\r\n\r\n if (key === \"repeat\") {\r\n let num = parseInt(value);\r\n if (isNaN(num)) {\r\n console.error(\"Failed to parse repeat value: \" + value);\r\n } else {\r\n repeatTimes = num;\r\n }\r\n } else if (key === \"displayas\") {\r\n displayAs = value;\r\n\r\n let indexBeginParen = functionCall.indexOf(\"(\");\r\n let indexEndParen = -1;\r\n for (let i = displayAs.length - 1; i >= 0; i--) {\r\n if (displayAs[i] === \")\") {\r\n indexEndParen = i;\r\n break;\r\n }\r\n }\r\n if (indexBeginParen === -1 || indexEndParen === -1) {\r\n console.error(\"Failed to parse function for displayAs meta call (Magic Links will not work!): \" + displayAs);\r\n continue;\r\n }\r\n params = displayAs.substring(indexBeginParen + 1, indexEndParen).split(\",\").map(s => s.trim());\r\n\r\n } else if (params.includes(split[0])) { // We don't want to remove the casing\r\n let key = split[0];\r\n let value = split[1];\r\n if (split[1].length === 0) {\r\n // We should look for a code block\r\n absorbWhitespace(tokens);\r\n if (tokens.length === 0 || tokens[0].type !== \"code\") {\r\n console.error(\"Found magic link with nothing after the equals sign & no code block following: \" + split[0]);\r\n } else {\r\n value = (tokens.shift() as Tokens.Code).text;\r\n }\r\n }\r\n // This is a parameter\r\n setKeyValue(magicLinks, key, value);\r\n } else {\r\n console.error(\"Unknown metadata key: \" + split[0]);\r\n }\r\n absorbWhitespace(tokens);\r\n }\r\n\r\n for (let i = 0; i < repeatTimes; i++) {\r\n tests.push({\r\n test: testString,\r\n display: displayAs,\r\n magicLinks\r\n });\r\n }\r\n }\r\n}\r\n\r\n\r\nfunction setKeyValue(kvList: KeyValue[], key: string, value: string) {\r\n for (let kv of kvList) {\r\n if (kv.key === key) {\r\n kv.value = value;\r\n return;\r\n }\r\n }\r\n kvList.push(new KeyValue(key, value));\r\n}\r\n\r\n\r\nexport function removeNextHeading(tokens: Token[], expectedText: string) {\r\n removeTillNextType(tokens, \"heading\");\r\n if (tokens.length === 0) {\r\n new Error(\"Problem Parse: Expected a heading with text: \" + expectedText);\r\n return;\r\n } else {\r\n let heading = tokens.shift() as Tokens.Heading;\r\n if (heading.text.trim().toLowerCase() === expectedText.trim().toLowerCase()) {\r\n new Error(\"Problem Parse: Expected a heading with text: \" + expectedText + \" but got: \" + heading.text);\r\n }\r\n }\r\n}\r\n\r\nexport function removeTillNextType(tokens: Token[], type: string) {\r\n while (tokens.length > 0 && tokens[0].type !== type) {\r\n tokens.shift();\r\n }\r\n}\r\n\r\nexport function removeNextType(tokens: Token[], type: string) {\r\n while (tokens.length > 0 && tokens[0].type !== type) {\r\n tokens.shift();\r\n }\r\n tokens.shift();\r\n}\r\n\r\nexport function absorbWhitespace(tokens: Token[]) {\r\n while (tokens.length > 0 && tokens[0].type === \"space\") {\r\n tokens.shift();\r\n }\r\n}","import React, {ReactElement} from \"react\";\r\nimport {marked, saveUserData, UserData} from \"./Problem\";\r\nimport DOMPurify from \"dompurify\";\r\nimport {expireToken, getToken, isLoggedIn, logIn} from \"../auth/AuthHelper\";\r\nimport {Button, ThemeProvider} from \"@mui/material\";\r\nimport {buttonTheme} from \"../App\";\r\nimport {ProblemData, removeNextHeading} from \"./ProblemParse\";\r\nimport {Token, Tokens} from \"marked\";\r\n\r\n\r\nexport const LOADING_MESSAGE = \"Requesting help from the AI tutor...\";\r\n\r\nexport const NEXT_HELP_TIME = \"NEXT_HELP_TIME\"\r\n\r\n\r\nexport function HelpBoxAndButton(problemData: ProblemData,\r\n setUserData: (userData: UserData) => void,\r\n runTests: () => UserData,\r\n response: string,\r\n setResponse: (response: string) => void):\r\n { helpButton: ReactElement, helpBox: ReactElement } {\r\n\r\n function handleHelpRequest(event: React.MouseEvent) {\r\n event.currentTarget.setAttribute(\"disabled\", \"true\");\r\n\r\n let userData = runTests();\r\n if (!isLoggedIn()) {\r\n setResponse(\"You must be logged in to use the AI tutor. Please log in and try again.\");\r\n return;\r\n }\r\n\r\n let token = getToken();\r\n let target = event.currentTarget;\r\n setResponse(LOADING_MESSAGE);\r\n fetch(\"https://codehelp.api.dacubeking.com/ai-tutor\", {\r\n method: \"POST\",\r\n headers: {\r\n \"content-type\": \"application/json\",\r\n \"user-agent\": \"WeCode/1.0.0\",\r\n accept: \"application/json\",\r\n \"Authorization\": `token ${token}`\r\n },\r\n body: JSON.stringify({\r\n problemData: problemData,\r\n userData: userData,\r\n })\r\n })\r\n .then(response => response.json())\r\n .then((json: {\r\n status: number,\r\n prompt: string,\r\n response: string,\r\n expire_logins: boolean,\r\n wait_time: number,\r\n }) => {\r\n if (json.expire_logins) {\r\n expireToken();\r\n logIn();\r\n setResponse(\"Your login has expired. Please try again after logging in.\");\r\n return;\r\n }\r\n\r\n if (json.status === 401) {\r\n setResponse(\"You are not authorized to use the AI tutor.\");\r\n return;\r\n }\r\n\r\n localStorage.setItem(NEXT_HELP_TIME, (Date.now() + json.wait_time * 1000).toString());\r\n\r\n if (json.status === 429) {\r\n setResponse(\"You have made too many requests to the AI tutor. Please try again later.\");\r\n // Use the waitTime (seconds) to determine how long to wait before trying again\r\n new Promise((resolve) => setTimeout(resolve, json.wait_time * 1000)).then(() => {\r\n target.removeAttribute(\"disabled\");\r\n });\r\n return;\r\n }\r\n\r\n if (json.status !== 200) {\r\n setResponse(\"An error occurred while using the AI tutor. Please try again later.\");\r\n target.removeAttribute(\"disabled\");\r\n return;\r\n }\r\n\r\n\r\n let tokens = marked.lexer(json.response);\r\n // There are two sections: # Thinking out loud and # My Response\r\n // We want to display the My Response section\r\n\r\n // Remove Thinking out loud\r\n removeNextHeading(tokens, \"Thinking out loud\");\r\n // Remove the My Response heading\r\n removeNextHeading(tokens, \"My Response\");\r\n\r\n // Collect everything under the My Response heading\r\n let response = \"\";\r\n while (tokens.length > 0 && (tokens[0].type !== \"heading\" || (tokens[0] as Tokens.Heading).depth > 1 || (tokens[0] as Tokens.Heading).text.trim() !== \"Remembering\")) {\r\n response += ((tokens.shift() as Token).raw);\r\n }\r\n\r\n removeNextHeading(tokens, \"Remembering\"); // Remove the Remembering heading\r\n let rememberingResponse = \"\";\r\n while (tokens.length > 0) {\r\n rememberingResponse += ((tokens.shift() as Token).raw);\r\n }\r\n\r\n let newUserData = {\r\n ...userData,\r\n aiRememberResponse: userData.aiRememberResponse.concat(rememberingResponse),\r\n }\r\n\r\n setUserData(\r\n newUserData\r\n );\r\n\r\n saveUserData(problemData, newUserData);\r\n setResponse(DOMPurify.sanitize(marked.parse(response) as string));\r\n new Promise((resolve) => setTimeout(resolve, json.wait_time * 1000)).then(() => {\r\n target.removeAttribute(\"disabled\");\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n setResponse(\"An error occurred while using the AI tutor. Please try again later.\");\r\n target.removeAttribute(\"disabled\");\r\n });\r\n }\r\n\r\n let button = (\r\n \r\n \r\n \r\n );\r\n\r\n let helpBox = (\r\n \r\n \r\n \r\n );\r\n\r\n\r\n return {\r\n helpButton: button,\r\n helpBox: helpBox\r\n }\r\n}","import {UserData} from \"./Problem\";\r\nimport {ProblemData} from \"./ProblemParse\";\r\nimport {Log} from \"capture-console-logs/dist/logs\";\r\nimport * as util from \"util\";\r\nimport * as acorn from \"acorn\";\r\n\r\nconst functionHeaderOffset = 2;\r\n\r\nexport enum TestResult {\r\n Passed = \"Passed\",\r\n Failed = \"Failed\",\r\n Exception = \"Exception\",\r\n NotRun = \"Not run\"\r\n}\r\n\r\nexport class TestResults {\r\n public testResults: TestResult[] = [];\r\n public returnedResults: string[] = [];\r\n public expectedResults: string[] = [];\r\n public parseError: string = \"\";\r\n public errorLine: number = -1;\r\n public runtimeError: string = \"\";\r\n public outputs: string[][] = [];\r\n public ranSuccessfully: boolean = true; // Prevents the user from seeing an error message on first load\r\n}\r\n\r\nclass StringLineNum {\r\n public str: string;\r\n public lineNum: number;\r\n\r\n constructor(str: string, lineNum: number) {\r\n this.str = str;\r\n this.lineNum = lineNum;\r\n }\r\n}\r\n\r\nconst CaptureConsole = require(\"capture-console-logs\").default\r\n\r\n\r\n// Function to tokenize a JavaScript function signature\r\nfunction tokenizeFunctionSignature(signature: string): StringLineNum[] {\r\n let tokens: StringLineNum[] = [];\r\n let lineNum = 1;\r\n\r\n const tokenChars = [' ', '(', ')', '{', '}', ':', ',', ';', '\\n'];\r\n\r\n\r\n let bufferStartIndex = 0;\r\n for (let i = 0; i < signature.length; i++) {\r\n if (tokenChars.includes(signature[i])) {\r\n if (bufferStartIndex !== i) {\r\n tokens.push(new StringLineNum(signature.substring(bufferStartIndex, i), lineNum));\r\n }\r\n // We also need to add the token character as a separate token.\r\n // Don't add a token for a space character.\r\n // Don't add a token for a new line character\r\n // (but if we haven't seen a semicolon, on a line with content, add a token).\r\n if (signature[i] !== ' ' && signature[i] !== '\\n') {\r\n tokens.push(new StringLineNum(signature[i], lineNum));\r\n }\r\n\r\n if (signature[i] === '\\n') {\r\n lineNum++;\r\n }\r\n\r\n bufferStartIndex = i + 1;\r\n }\r\n }\r\n\r\n // Filter out any empty tokens\r\n return tokens.filter(token => token.str !== \"\");\r\n}\r\n\r\n/**\r\n * Reformat the stack trace to show the user's code line numbers\r\n * @param result The error object\r\n * @param userCodeLineNumbersBegin The line numbers of the user's code\r\n * @param userCodeLineNumbersEnd The line numbers of the user's code\r\n */\r\nfunction reformatStackTrace(result: Error, userCodeLineNumbersBegin: number[], userCodeLineNumbersEnd: number[], addedLines: number[]): number {\r\n let stackTrace = result.stack;\r\n if (stackTrace === undefined) {\r\n stackTrace = \"\";\r\n }\r\n let stackTraceLines = stackTrace.split('\\n');\r\n // discard after when the line begins with \"at testUserCode\"\r\n for (let j = 0; j < stackTraceLines.length; j++) {\r\n let thisLine = stackTraceLines[j].trim();\r\n if (thisLine.startsWith(\"at testUserCode\") || thisLine.startsWith(\"at Function\") || thisLine.startsWith(\"at eval\")) {\r\n stackTraceLines = stackTraceLines.slice(0, j);\r\n break;\r\n }\r\n }\r\n\r\n const regex = /eval\\s+at\\s+\\w+\\s+\\(https?:\\/\\/[^)]+\\),\\s+:/g;\r\n\r\n // remove the (eval at testUserCode (url) = userCodeLineNumbersBegin[i] && lineNumber <= userCodeLineNumbersEnd[i]) {\r\n userCodeLineNumberBegin = userCodeLineNumbersBegin[i];\r\n userCodeLineNumberEnd = userCodeLineNumbersEnd[i];\r\n break;\r\n }\r\n }\r\n\r\n\r\n if (userCodeLineNumberBegin !== -1 && userCodeLineNumberEnd !== -1) {\r\n let newLineNumber = lineNumber - userCodeLineNumberBegin + 1;\r\n\r\n let lineNumberOffset = 0;\r\n for (let i = 0; i < addedLines.length; i++) {\r\n if (newLineNumber > addedLines[i]) {\r\n lineNumberOffset++;\r\n }\r\n }\r\n\r\n newLineNumber -= lineNumberOffset;\r\n\r\n let columnNumber = parseInt(matches[2]); // Retrieve the column number\r\n let newLine = `${newLineNumber}:${columnNumber}`; // Construct the new line with adjusted line number\r\n stackTraceLines[j] = thisLine.replace(matches[0], newLine); // Replace the entire matched portion with the new line\r\n if (errorLine === -1) {\r\n errorLine = newLineNumber;\r\n }\r\n }\r\n }\r\n }\r\n\r\n //result.stack += \"\\nNew Stack:\\n\" + stackTraceLines.join('\\n');\r\n result.stack = stackTraceLines.join('\\n');\r\n return errorLine;\r\n}\r\n\r\nfunction safeToString(expectedResult: any) {\r\n if (expectedResult === undefined) {\r\n return \"undefined\";\r\n }\r\n if (expectedResult === null) {\r\n return \"null\";\r\n }\r\n return expectedResult.toString();\r\n}\r\n\r\nfunction randomString() {\r\n return Math.random().toString(36).substring(7);\r\n}\r\n\r\nexport function testUserCode(userData: UserData, problemData: ProblemData): TestResults {\r\n let userCode = userData.currentCode;\r\n\r\n let ast;\r\n try {\r\n ast = acorn.parse(userCode, {ecmaVersion: \"latest\", locations: true});\r\n } catch (e) {\r\n if (e instanceof SyntaxError) {\r\n let message = e.message;\r\n\r\n // @ts-ignore\r\n if (e.pos === userCode.length) {\r\n message += \"\\nUnexpected end of input. Check that you have closed all brackets and parentheses.\";\r\n }\r\n\r\n\r\n return {\r\n testResults: [],\r\n returnedResults: [],\r\n expectedResults: getExpectedResults(problemData),\r\n parseError: message,\r\n // @ts-ignore\r\n errorLine: e.loc.line,\r\n runtimeError: \"\",\r\n outputs: [],\r\n ranSuccessfully: false\r\n };\r\n } else {\r\n throw e;\r\n }\r\n }\r\n\r\n\r\n {\r\n let missingFunctionError = {\r\n returnableError: {\r\n testResults: [],\r\n returnedResults: [],\r\n expectedResults: getExpectedResults(problemData),\r\n parseError: \"You need to define a function with the following signature:\" + problemData.solutionCode.split('{')[0],\r\n errorLine: 1,\r\n runtimeError: \"\",\r\n outputs: [],\r\n ranSuccessfully: false\r\n },\r\n matchedTokens: 0,\r\n // The levenshteinDistance between the missed token\r\n levenshteinDistance: 100000\r\n };\r\n\r\n let foundFunction = false;\r\n\r\n fnLoop: for (let func of ast.body) {\r\n let functionSignature = userCode.substring(func.start, func.end).split('{')[0];\r\n let tokens = tokenizeFunctionSignature(functionSignature);\r\n\r\n let expectedFunctionSignature = problemData.solutionCode.split('{')[0];\r\n let expectedTokens = tokenizeFunctionSignature(expectedFunctionSignature);\r\n\r\n for (let i = 0; i < tokens.length; i++) {\r\n if (tokens[i].str !== expectedTokens[i].str) {\r\n\r\n let parseError = \"Function signature does not match the expected signature. \";\r\n if (i === 0) {\r\n parseError += \"\\nThe function signature should begin with `\" + expectedTokens[i].str + \"` but you have \";\r\n if (tokens[i] === undefined || tokens[i].str === \"\") {\r\n parseError += \"nothing.\";\r\n } else {\r\n parseError += \"`\" + tokens[i].str + \"`.\";\r\n }\r\n } else {\r\n if (tokens[i] === undefined || tokens[i].str === \"\") {\r\n parseError += \"Expected: `\" + expectedTokens[i].str + \"` but got nothing.\";\r\n } else {\r\n parseError += \"Expected: `\" + expectedTokens[i].str + \"` after `\" + tokens.slice(0, i)\r\n .map(t => t.str).join(\" \") + \"` but got: `\" + tokens[i].str + \"`.\";\r\n }\r\n }\r\n\r\n let distance = levenshteinDistance(tokens[i].str, expectedTokens[i].str);\r\n\r\n // We also check the levenshtein distance\r\n // to see if the user has a typo and put the error on the closest match\r\n if (i > missingFunctionError.matchedTokens ||\r\n (distance < missingFunctionError.levenshteinDistance && i >= missingFunctionError.matchedTokens)) {\r\n missingFunctionError = {\r\n returnableError: {\r\n testResults: [],\r\n returnedResults: [],\r\n expectedResults: getExpectedResults(problemData),\r\n parseError,\r\n errorLine: tokens[i].lineNum,\r\n runtimeError: \"\",\r\n outputs: [],\r\n ranSuccessfully: false\r\n },\r\n matchedTokens: i,\r\n levenshteinDistance: distance\r\n }\r\n }\r\n continue fnLoop;\r\n }\r\n }\r\n\r\n if (tokens.length !== expectedTokens.length) {\r\n if (tokens.length > missingFunctionError.matchedTokens) {\r\n missingFunctionError = {\r\n returnableError: {\r\n testResults: [],\r\n returnedResults: [],\r\n expectedResults: getExpectedResults(problemData),\r\n parseError: \"Function signature does not match the expected signature. \" +\r\n \"Expected: \" + expectedFunctionSignature + \" but got: \" + functionSignature,\r\n errorLine: tokens[tokens.length - 1].lineNum,\r\n runtimeError: \"\",\r\n outputs: [],\r\n ranSuccessfully: false\r\n },\r\n matchedTokens: tokens.length,\r\n levenshteinDistance: 100000\r\n }\r\n }\r\n continue;\r\n }\r\n\r\n foundFunction = true;\r\n break;\r\n }\r\n\r\n if (!foundFunction) {\r\n return missingFunctionError.returnableError;\r\n }\r\n }\r\n\r\n // We need to look for all the loops (for, while, do-while) and insert code to count the number of iterations.\r\n // If the number of iterations exceeds 10000, we'll stop the code and return an error.\r\n // This is to prevent infinite loops.\r\n\r\n function findLoops(code: string) {\r\n const loopRegex = /\\b(for|while|do\\s*while)\\s*\\((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*\\)\\s*\\{/g;\r\n const loops = [];\r\n let match;\r\n\r\n while ((match = loopRegex.exec(code)) !== null) {\r\n loops.push({\r\n type: match[1],\r\n start: match.index,\r\n end: findLoopEndIndex(code, match.index + match[0].length)\r\n });\r\n }\r\n\r\n return loops;\r\n }\r\n\r\n function findLoopEndIndex(code: string, startIndex: number) {\r\n let level = 1;\r\n for (let i = startIndex; i < code.length; i++) {\r\n if (code[i] === '{') {\r\n level++;\r\n } else if (code[i] === '}') {\r\n level--;\r\n if (level === 0) {\r\n return i + 1;\r\n }\r\n }\r\n }\r\n return -1; // If loop end is not found\r\n }\r\n\r\n\r\n let loopCounterExtraLines: number[] = []\r\n\r\n let loops = findLoops(userCode);\r\n for (let i = 0; i < loops.length; i++) {\r\n let loop = loops[i];\r\n let loopHeaderStart = loop.start;\r\n let loopHeaderEnd = userCode.indexOf('{', loopHeaderStart) + 1;\r\n\r\n let loopHeader = userCode.substring(loopHeaderStart, loopHeaderEnd);\r\n let preLoopCode = userCode.substring(0, loopHeaderStart);\r\n let postLoopHeader = userCode.substring(loopHeaderEnd);\r\n\r\n let lineOfCounter = preLoopCode.split('\\n').length;\r\n let linePastLoopHeader = preLoopCode.split('\\n').length + loopHeader.split('\\n').length;\r\n\r\n let loopCounterVar = \"loopCounter\" + randomString()\r\n let userCodeAddPreLoop = `let ${loopCounterVar} = 0;\\n`;\r\n let userCodeAddPostLoop = `if (${loopCounterVar}++ > 10000) { throw new Error(\"Infinite loop detected. Execution stopped.\"); }\\n`;\r\n userCode = preLoopCode + userCodeAddPreLoop + loopHeader + userCodeAddPostLoop + postLoopHeader;\r\n\r\n loopCounterExtraLines.push(lineOfCounter);\r\n loopCounterExtraLines.push(linePastLoopHeader);\r\n\r\n let addedChars = userCodeAddPreLoop.length + userCodeAddPostLoop.length;\r\n //Adjust the line numbers of the loops\r\n for (let j = i + 1; j < loops.length; j++) {\r\n loops[j].start += addedChars;\r\n loops[j].end += addedChars;\r\n }\r\n }\r\n\r\n let solutionCode = problemData.solutionCode;\r\n let resultsArrayName = \"results\" + randomString();\r\n let expectedResultsArrayName = \"expectedResults\" + randomString();\r\n let consoleLogArrayName = \"consoleLog\" + randomString();\r\n\r\n let codeToRun = `\r\nlet ${resultsArrayName} = [] || [];\r\nlet ${expectedResultsArrayName} = [] || [];\r\nlet ${consoleLogArrayName} = [] || [];\r\n `;\r\n\r\n let userCodeLineNumbersBegin: number[] = [];\r\n\r\n let userCodeLineNumbersEnd: number[] = [];\r\n\r\n let combinedTests = problemData.tests.concat(problemData.hiddenTests)\r\n\r\n for (let i = 0; i < combinedTests.length; i++) {\r\n // Split out everything except the last line of the test case\r\n // The result is the output of the last line\r\n // We need to run that twice:\r\n // - Once with the solution code\r\n // - Once with the user's code\r\n // We'll then compare the results\r\n let testFull = combinedTests[i];\r\n let testSplitByLines = testFull.test.split('\\n');\r\n let setupCode = testSplitByLines.slice(0, testSplitByLines.length - 1).join('\\n');\r\n let getResult = testSplitByLines[testSplitByLines.length - 1];\r\n\r\n codeToRun += `\r\n {\r\n let expected;\r\n let result;\r\n {\r\n ${setupCode}\r\n {\r\n${solutionCode}\r\n try {\r\n expected = ${getResult}\r\n } catch (e) {\r\n expected = e;\r\n }\r\n }\r\n {\r\n const cc = new CaptureConsole();\r\n cc.start();\r\n `;\r\n userCodeLineNumbersBegin.push(codeToRun.split('\\n').length);\r\n codeToRun += userCode;\r\n userCodeLineNumbersEnd.push(codeToRun.split('\\n').length);\r\n\r\n codeToRun += `\r\n try {\r\n result = ${getResult}\r\n } catch (e) {\r\n result = e;\r\n }\r\n cc.stop();\r\n ${consoleLogArrayName}.push(cc.getCaptures());\r\n }\r\n }\r\n ${resultsArrayName}.push(result);\r\n ${expectedResultsArrayName}.push(expected);\r\n }\r\n `;\r\n }\r\n\r\n codeToRun += `\r\n return [${resultsArrayName}, ${expectedResultsArrayName}, ${consoleLogArrayName}];\r\n `;\r\n\r\n // eslint-disable-next-line\r\n let resultsArray: any[] = [];\r\n // eslint-disable-next-line\r\n let expectedResultsArray: any[] = [];\r\n let consoleLogArray: Log[][] = [];\r\n\r\n\r\n let testResults = new TestResults();\r\n\r\n try {\r\n // eslint-disable-next-line\r\n let func = Function(\"CaptureConsole\", codeToRun);\r\n let out = func(CaptureConsole);\r\n\r\n resultsArray = out[0];\r\n expectedResultsArray = out[1];\r\n consoleLogArray = out[2];\r\n testResults.ranSuccessfully = true;\r\n } catch (e) {\r\n testResults.ranSuccessfully = false;\r\n console.error(\"Failed to run the solution: \" + e);\r\n testResults.expectedResults = getExpectedResults(problemData);\r\n if (e instanceof Error) {\r\n testResults.errorLine = reformatStackTrace(e, userCodeLineNumbersBegin, userCodeLineNumbersEnd, loopCounterExtraLines);\r\n console.log(e.stack);\r\n testResults.runtimeError = e.stack as string;\r\n } else {\r\n testResults.runtimeError = e as string;\r\n }\r\n }\r\n\r\n for (let i = 0; i < combinedTests.length; i++) {\r\n // Check that we've actually run the test (i.e. we have a result)\r\n if (i >= expectedResultsArray.length) {\r\n testResults.testResults.push(TestResult.NotRun);\r\n testResults.expectedResults.push(\"Unknown\");\r\n testResults.returnedResults.push(\"Unknown\");\r\n testResults.outputs.push([]);\r\n testResults.ranSuccessfully = false;\r\n continue;\r\n }\r\n\r\n if (i >= resultsArray.length) {\r\n testResults.testResults.push(TestResult.NotRun);\r\n testResults.expectedResults.push(expectedResultsArray[i].toString());\r\n testResults.returnedResults.push(\"Unknown\");\r\n testResults.outputs.push([]);\r\n testResults.ranSuccessfully = false;\r\n continue;\r\n }\r\n\r\n let result = resultsArray[i];\r\n let expectedResult = expectedResultsArray[i];\r\n let log: Log[];\r\n if (i > problemData.tests.length) {\r\n log = []; //Don't save console logs for hidden tests\r\n } else {\r\n log = consoleLogArray[i];\r\n\r\n }\r\n\r\n if (expectedResult instanceof Error) {\r\n testResults.expectedResults.push(\"Error\");\r\n testResults.returnedResults.push(\"Error\");\r\n testResults.testResults.push(TestResult.NotRun);\r\n console.error(\"A test case failed to run the solution: \" + expectedResult);\r\n console.log(\"Test: \" + combinedTests[i]);\r\n // TODO: Remove the bottom 2 lines\r\n console.log(\"Solution: \" + problemData.solutionCode);\r\n console.log(\"User code: \" + userCode);\r\n testResults.ranSuccessfully = false;\r\n continue;\r\n } else {\r\n testResults.expectedResults.push(safeToString(expectedResult));\r\n }\r\n\r\n let outputArray: string[] = [];\r\n for (let entry of log) {\r\n let out = \"\";\r\n if (entry.function !== \"log\") {\r\n out = entry.function + \": \";\r\n }\r\n\r\n for (let arg of entry.args) {\r\n if (arg instanceof Error) {\r\n reformatStackTrace(arg, userCodeLineNumbersBegin, userCodeLineNumbersEnd, loopCounterExtraLines);\r\n }\r\n }\r\n\r\n if (entry.args.length > 0) {\r\n out += util.format(entry.args[0], ...entry.args.slice(1));\r\n } else {\r\n out += \"\";\r\n }\r\n\r\n outputArray.push(out);\r\n }\r\n\r\n testResults.outputs.push(outputArray);\r\n\r\n if (result instanceof Error) {\r\n testResults.returnedResults.push(\"Error\");\r\n testResults.testResults.push(TestResult.Exception);\r\n // End the stack trace at the user's code\r\n testResults.errorLine = reformatStackTrace(result, userCodeLineNumbersBegin, userCodeLineNumbersEnd, loopCounterExtraLines);\r\n\r\n testResults.runtimeError = result.stack as string;\r\n testResults.ranSuccessfully = false;\r\n continue;\r\n } else {\r\n testResults.returnedResults.push(safeToString(result));\r\n }\r\n\r\n\r\n if (safeToString(result) !== safeToString(expectedResult)) {\r\n testResults.testResults.push(TestResult.Failed);\r\n } else {\r\n testResults.testResults.push(TestResult.Passed);\r\n }\r\n }\r\n\r\n return testResults;\r\n}\r\n\r\n\r\nexport function getExpectedResults(problemData: ProblemData): string[] {\r\n // Parse the solution code and replace the function name with a random name\r\n let solutionCode = problemData.solutionCode;\r\n let expectedResultsArrayName = \"expectedResults\" + randomString();\r\n\r\n let codeToRun = `\r\nlet ${expectedResultsArrayName} = [] || [];\r\n \r\n${solutionCode}\r\n `;\r\n\r\n let combinedTests = problemData.tests.concat(problemData.hiddenTests);\r\n\r\n for (let i = 0; i < combinedTests.length; i++) {\r\n // Split out everything except the last line of the test case\r\n // The result is the output of the last line\r\n // We'll then compare the results\r\n let testFull = combinedTests[i];\r\n let testSplitByLines = testFull.test.split('\\n');\r\n let setupCode = testSplitByLines.slice(0, testSplitByLines.length - 1).join('\\n');\r\n let getResult = testSplitByLines[testSplitByLines.length - 1];\r\n\r\n codeToRun += `\r\n {\r\n let expected;\r\n let result;\r\n {\r\n ${setupCode}\r\n try {\r\n expected = ${getResult}\r\n } catch (e) {\r\n expected = e;\r\n }\r\n }\r\n ${expectedResultsArrayName}.push(expected);\r\n }\r\n `;\r\n }\r\n\r\n codeToRun += `\r\n return ${expectedResultsArrayName}\r\n `;\r\n // eslint-disable-next-line\r\n let expectedResultsArray: any[] = [];\r\n\r\n try {\r\n // eslint-disable-next-line\r\n let func = Function(codeToRun);\r\n expectedResultsArray = func();\r\n } catch (e: any) {\r\n console.error(\"Failed to run the solution: \" + e);\r\n console.log(\"Solution: \" + problemData.solutionCode);\r\n return [];\r\n }\r\n\r\n return expectedResultsArray.map(result => safeToString(result));\r\n}\r\n\r\nconst levenshteinDistance = (s: string, t: string) => {\r\n if (!s.length) return t.length;\r\n if (!t.length) return s.length;\r\n const arr = [];\r\n for (let i = 0; i <= t.length; i++) {\r\n arr[i] = [i];\r\n for (let j = 1; j <= s.length; j++) {\r\n arr[i][j] =\r\n i === 0\r\n ? j\r\n : Math.min(\r\n arr[i - 1][j] + 1,\r\n arr[i][j - 1] + 1,\r\n arr[i - 1][j - 1] + (s[j - 1] === t[i - 1] ? 0 : 1)\r\n );\r\n }\r\n }\r\n return arr[t.length][s.length];\r\n};","import {Marked} from \"marked\";\r\nimport {markedHighlight} from \"marked-highlight\";\r\nimport hljs from \"highlight.js/lib/common\";\r\nimport React, {lazy, Suspense, useEffect, useState} from \"react\";\r\nimport DOMPurify from \"dompurify\";\r\nimport {HelpBoxAndButton, NEXT_HELP_TIME} from \"./Help\";\r\nimport {useParams} from \"react-router-dom\";\r\nimport 'katex/dist/katex.min.css';\r\nimport {getUserName} from \"../auth/AuthHelper\";\r\nimport {getExpectedResults, TestResult, TestResults, testUserCode} from \"./CodeRunner\";\r\nimport {Button, Popover, ThemeProvider} from \"@mui/material\";\r\nimport {buttonTheme, mutedButtonTheme} from \"../App\";\r\nimport markedKatex from \"marked-katex-extension\";\r\nimport {parseProblem, ProblemData, TestCase} from \"./ProblemParse\";\r\n\r\nhljs.registerAliases([\"\"], {languageName: \"javascript\"})\r\n\r\nconst Editor = lazy(() => import(\"./Editor\"));\r\nexport const marked = new Marked(\r\n markedHighlight({\r\n langPrefix: 'hljs language-',\r\n highlight(code, lang, info) {\r\n const language = hljs.getLanguage(lang) ? lang : 'plaintext';\r\n return hljs.highlight(code, {language}).value;\r\n }\r\n })\r\n);\r\n\r\nconst options = {\r\n throwOnError: false,\r\n displayMode: false,\r\n};\r\n\r\nmarked.use(markedKatex(options));\r\n\r\nexport function saveUserData(problemData: ProblemData, userData: UserData) {\r\n if (userData.currentCode === null || userData.currentCode === \"\" || userData.currentCode === undefined) {\r\n console.error(\"User data is being saved with no code\");\r\n }\r\n\r\n localStorage.setItem(getStorageKey(problemData.id, getUserName()), JSON.stringify(userData));\r\n}\r\n\r\nfunction getStorageKey(id: string, userName: string | undefined) {\r\n return \"problem \" + id;\r\n}\r\n\r\nexport default function Problem() {\r\n const [problemData, setProblemData] = useState(null as unknown as ProblemData);\r\n const {\"*\": id} = useParams();\r\n const [userData, setUserData] = useState(null as unknown as UserData);\r\n const [helpResponse, setHelpResponse] = useState(\"When you press \\\"I'm stuck\\\", the AI tutor will respond here.\");\r\n const [magicLinksHover, setMagicLinks] = useState({\r\n anchorEl: null as (React.JSX.Element | null),\r\n magicLink: \"\",\r\n highlight: true\r\n })\r\n\r\n function onCodeSubmit() {\r\n return onSubmission(problemData, userData, setUserData);\r\n }\r\n\r\n let normalizedId = id?.toLowerCase();\r\n normalizedId?.trim()\r\n if (normalizedId?.startsWith(\"/\")) {\r\n normalizedId = normalizedId.substring(1)\r\n }\r\n\r\n if (normalizedId?.endsWith(\"/\")) {\r\n normalizedId = normalizedId.substring(0, normalizedId.length - 1)\r\n }\r\n\r\n useEffect(() => {\r\n if (normalizedId !== undefined) {\r\n fetch(process.env.PUBLIC_URL + \"/problems/\" + normalizedId + \".md\")\r\n .then(async r => {\r\n let text = await r.text()\r\n if (!r.ok || !text.startsWith(\"#\")) {\r\n throw new Error(\"Failed to fetch problem data\");\r\n } else {\r\n return text;\r\n }\r\n })\r\n .then(async text => {\r\n // @ts-ignore - we've check that the id isn't undefined\r\n let problemData = parseProblem(text, normalizedId);\r\n let userData = getUserData(normalizedId, getUserName());\r\n\r\n // set the template data if the user has not saved any data\r\n if (userData.currentCode === null || userData.currentCode === \"\" || userData.currentCode === undefined) {\r\n console.log(\"First time loading problem, setting template data\");\r\n if (problemData.displayAbove !== \"\" && problemData.displayBelow !== \"\") {\r\n userData.currentCode = problemData.displayAbove + \"\\n\\t\\n\" + problemData.displayBelow;\r\n }\r\n }\r\n\r\n if (userData.testResults === undefined || userData.testResults === null || userData.testResults.expectedResults.length === 0) {\r\n console.log(\"First time loading problem, getting expected results\");\r\n userData.testResults = new TestResults()\r\n userData.testResults.expectedResults = getExpectedResults(problemData);\r\n\r\n }\r\n\r\n setProblemData(problemData);\r\n setUserData(userData);\r\n })\r\n .catch(e => {\r\n console.error(e);\r\n let problemData = new ProblemData();\r\n problemData.title = \"Failed to load problem \" + normalizedId;\r\n setProblemData(problemData);\r\n });\r\n }\r\n }, [normalizedId]);\r\n\r\n\r\n if (problemData === null || userData === null) {\r\n if (problemData != null && problemData.title !== undefined && problemData.title.startsWith(\"Failed to load problem\") && normalizedId !== undefined) {\r\n return Failed to load problem {normalizedId};\r\n }\r\n if (normalizedId !== undefined) {\r\n return Loading...;\r\n } else {\r\n return A problem wasn't specified;\r\n }\r\n }\r\n\r\n let hljsLang = problemData.codeLang;\r\n if (hljsLang === \"\") {\r\n hljsLang = \"plaintext\";\r\n }\r\n\r\n let descParsed = DOMPurify.sanitize(marked.parse(problemData.preProblemDescription + \"\\n\\n\" + problemData.description) as string);\r\n\r\n const handlePopoverOpen = (event: React.MouseEvent, magicLink: string, highlight = true) => {\r\n setMagicLinks({\r\n anchorEl: event.currentTarget as unknown as React.JSX.Element,\r\n magicLink: magicLink,\r\n highlight: highlight\r\n });\r\n };\r\n\r\n const handlePopoverClose = () => {\r\n setMagicLinks({\r\n anchorEl: null,\r\n magicLink: magicLinksHover.magicLink,\r\n highlight: magicLinksHover.highlight\r\n });\r\n };\r\n\r\n const open = Boolean(magicLinksHover.anchorEl);\r\n\r\n\r\n let testsDisplay = [];\r\n\r\n for (let i = 0; i < problemData.tests.length; i++) {\r\n testsDisplay.push(getTestElement(problemData.tests, userData.testResults, i,\r\n handlePopoverOpen, handlePopoverClose));\r\n }\r\n\r\n let testsDisplayJSX = There are no visible test cases;\r\n if (testsDisplay.length > 0) {\r\n testsDisplayJSX = \r\n {testsDisplay.map((test, i) => - {test}
)}\r\n
\r\n }\r\n\r\n\r\n let hiddenTestText: string;\r\n if (userData.testResults.testResults.length === 0) {\r\n hiddenTestText = \"Hidden tests will be run when you submit your code\";\r\n } else {\r\n let totalHiddenTests = problemData.hiddenTests.length;\r\n let hiddenTestsPassed = 0;\r\n for (let i = 0; i < problemData.hiddenTests.length; i++) {\r\n if (userData.testResults.testResults[i + problemData.tests.length] === TestResult.Passed) {\r\n hiddenTestsPassed++;\r\n }\r\n }\r\n hiddenTestText = hiddenTestsPassed + \" / \" + totalHiddenTests + \" hidden tests passed\";\r\n }\r\n\r\n // Callback when the user updates their code\r\n function updateUserCode(value: string) {\r\n userData.currentCode = value;\r\n saveUserData(problemData, userData);\r\n }\r\n\r\n let errorText: string = \"\"\r\n let problemSolved = userData.testResults.testResults.every(result => result === TestResult.Passed) &&\r\n userData.testResults.testResults.length === userData.testResults.expectedResults.length;\r\n\r\n if (!userData.testResults.ranSuccessfully) {\r\n if (userData.testResults.parseError !== \"\") {\r\n errorText += \"We couldn't run your code due to a syntax error on line \" + userData.testResults.errorLine + \".\\n\";\r\n errorText += indentText(userData.testResults.parseError, 1);\r\n } else if (userData.testResults.runtimeError !== \"\") {\r\n errorText += \"Something went wrong trying to run you code\"\r\n if (userData.testResults.errorLine !== -1) {\r\n errorText += \" on line \" + userData.testResults.errorLine + \".\\n\";\r\n } else {\r\n errorText += \".\\n\";\r\n }\r\n errorText += indentText(userData.testResults.runtimeError, 1);\r\n } else {\r\n errorText += \"No error message was provided.\"\r\n }\r\n }\r\n\r\n errorText = errorText.replace(/\\n/g, \"
\");\r\n errorText = DOMPurify.sanitize(errorText);\r\n\r\n let {helpButton, helpBox} =\r\n HelpBoxAndButton(problemData, setUserData, onCodeSubmit, helpResponse, setHelpResponse);\r\n\r\n let nextProblem;\r\n if (problemData.nextProblemId !== \"\" && problemData.nextProblemId.toLowerCase() !== \"nothing\") {\r\n nextProblem = \r\n \r\n \r\n } else {\r\n nextProblem = \r\n }\r\n\r\n\r\n let highlightHover;\r\n if (magicLinksHover.highlight) {\r\n highlightHover = hljs.highlight(magicLinksHover.magicLink, {language: hljsLang}).value;\r\n } else {\r\n highlightHover = magicLinksHover.magicLink;\r\n }\r\n let hoverHtml = DOMPurify.sanitize(highlightHover.replace(/\\n/g, \"
\"));\r\n\r\n let helpButtonHtml;\r\n if (localStorage.getItem(NEXT_HELP_TIME) !== null) {\r\n helpButtonHtml = {\r\n let timeToNextHelp = parseInt(localStorage.getItem(NEXT_HELP_TIME) as string);\r\n let timeToNextHelpSeconds = Math.ceil((timeToNextHelp - Date.now()) / 1000);\r\n if (timeToNextHelpSeconds > 0) {\r\n handlePopoverOpen(e, \"You can request help again in \" + timeToNextHelpSeconds + \" seconds\", false)\r\n }\r\n }}\r\n onMouseLeave={handlePopoverClose}>\r\n {helpButton}\r\n \r\n } else {\r\n helpButtonHtml = {helpButton}\r\n }\r\n\r\n\r\n return (\r\n \r\n {problemData.title}\r\n \r\n \r\n \r\n The Editor is loading... }>\r\n updateUserCode(value)}\r\n defaultValue={userData.currentCode}\r\n />\r\n \r\n\r\n \r\n {nextProblem}\r\n \r\n \r\n \r\n Tests\r\n {testsDisplayJSX}\r\n \r\n {hiddenTestText}\r\n
\r\n \r\n {helpButtonHtml}\r\n \r\n {helpBox}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\n/**\r\n * Returns a JSX element for a test case\r\n */\r\nfunction getTestElement(testCases: TestCase[], testResults: TestResults, index: number,\r\n handlePopoverOpen: (event: React.MouseEvent, magicLink: string) => void,\r\n handlePopoverClose: () => void) {\r\n let result = testResults.testResults[index];\r\n let resultText = result === undefined ? \"Not Run\" : result.toString();\r\n if (result === TestResult.Failed) {\r\n resultText += \" (Returned: \" + testResults.returnedResults[index] + \")\";\r\n }\r\n\r\n let bgColor = result === TestResult.Passed ? \"bg-test-passed\" : \"bg-test-failed\";\r\n\r\n class MagicLink {\r\n text: string;\r\n link: string;\r\n\r\n constructor(text: string, link: string) {\r\n this.text = text;\r\n this.link = link;\r\n }\r\n }\r\n\r\n let testStringPart: (string | MagicLink)[] = [];\r\n\r\n let testString = testCases[index].display;\r\n\r\n for (const entries of testCases[index].magicLinks.values()) {\r\n let key = entries.key;\r\n let value = entries.value;\r\n\r\n let index = testString.indexOf(key);\r\n\r\n if (index === -1) {\r\n console.error(\"Failed to find magic link in test string: \" + key);\r\n continue;\r\n }\r\n if (index > 0) {\r\n testStringPart.push(testString.substring(0, index));\r\n testString = testString.substring(index);\r\n }\r\n testStringPart.push(new MagicLink(key, value));\r\n testString = testString.substring(key.length);\r\n }\r\n\r\n testStringPart.push(testString);\r\n let shouldDisplayConsole = testResults.outputs[index] !== undefined && testResults.outputs[index].length > 0;\r\n\r\n\r\n let resultSpan;\r\n if (shouldDisplayConsole) {\r\n let consoleOutput = shouldDisplayConsole ? \"Console Output: \\n\" + testResults.outputs[index].join(\"\\n\") : \"\";\r\n\r\n resultSpan =\r\n handlePopoverOpen(e, consoleOutput)}\r\n onMouseLeave={handlePopoverClose}>\r\n {testResults.expectedResults[index]} : {resultText}\r\n \r\n } else {\r\n resultSpan = {testResults.expectedResults[index]} : {resultText}\r\n }\r\n\r\n\r\n let div = \r\n {testStringPart.map((part, i) => {\r\n if (part instanceof MagicLink) {\r\n return handlePopoverOpen(e, part.text + \" = \" + part.link)}\r\n onMouseLeave={handlePopoverClose}>{part.text}\r\n } else {\r\n return {part}\r\n }\r\n })}\r\n \r\n {\" ➔ \"}\r\n \r\n {resultSpan}\r\n \r\n\r\n\r\n return (\r\n div\r\n );\r\n}\r\n\r\n/**\r\n * Returns the text indented by a number of tabs\r\n */\r\nfunction indentText(text: string, indent: number) {\r\n let indentText = \" \";\r\n\r\n return text.split(\"\\n\").map(line => indentText + line).join(\"\\n\");\r\n}\r\n\r\nexport class UserData {\r\n history: string[] = [];\r\n requestHelpHistory: string[] = [];\r\n testResults: TestResults = new TestResults();\r\n lastUpdated: Date = new Date();\r\n currentCode: string = null as unknown as string;\r\n aiRememberResponse: string[] = [];\r\n\r\n constructor(history: string[] = [], requestHelpHistory: string[] = [], testResults: TestResults = new TestResults(), lastUpdated: Date = new Date(), currentCode: string = \"\", aiRememberResponse: string[] = []) {\r\n this.history = history;\r\n this.testResults = testResults;\r\n this.requestHelpHistory = requestHelpHistory;\r\n this.lastUpdated = lastUpdated;\r\n this.currentCode = currentCode;\r\n this.aiRememberResponse = aiRememberResponse;\r\n }\r\n}\r\n\r\n/**\r\n * Loads the user data from local storage\r\n * @param id The id of the problem\r\n * @param userName The username of the user\r\n */\r\nfunction getUserData(id: string | undefined, userName: string | undefined) {\r\n if (id === undefined) {\r\n console.error(\"No problem id was specified, so no user data could be retrieved.\");\r\n return new UserData();\r\n }\r\n let userData = localStorage.getItem(getStorageKey(id, userName));\r\n if (userData === null) {\r\n // try to get the data without the username\r\n userData = localStorage.getItem(getStorageKey(id, undefined));\r\n if (userData !== null) {\r\n console.log(\"Got user data without username\");\r\n }\r\n }\r\n if (userData === null) {\r\n return new UserData();\r\n }\r\n\r\n return JSON.parse(userData) as UserData;\r\n}\r\n\r\nfunction SubmitButton({onClick}: { onClick: () => void }) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\n\r\nfunction onSubmission(problemData: ProblemData, userData: UserData, setUserData: (data: UserData) => void) {\r\n if (userData.history.length === 0) {\r\n // First submission\r\n userData.history.push(userData.currentCode);\r\n } else {\r\n let lastSubmission = userData.history[userData.history.length - 1];\r\n if (lastSubmission !== userData.currentCode) {\r\n userData.history.push(userData.currentCode);\r\n }\r\n }\r\n\r\n userData.lastUpdated = new Date();\r\n\r\n let testResults = testUserCode(userData, problemData);\r\n\r\n let newUserData = new UserData(\r\n userData.history,\r\n userData.requestHelpHistory,\r\n testResults,\r\n new Date(),\r\n userData.currentCode,\r\n userData.aiRememberResponse\r\n )\r\n setUserData(newUserData);\r\n saveUserData(problemData, newUserData);\r\n return newUserData;\r\n}"],"names":["ProblemData","constructor","id","title","preProblemDescription","description","tests","hiddenTests","displayAbove","displayBelow","solution","solutionCode","codeLang","nextProblemId","KeyValue","key","value","this","extractTestCases","tokens","length","absorbWhitespace","type","testString","shift","text","trim","split","flatMap","s","functionCall","indexBeginParen","indexOf","indexEndParen","i","console","error","params","substring","map","repeatTimes","displayAs","endsWith","magicLinks","param","match","RegExp","concat","undefined","index","bracketCount","curlyCount","doubleQuoteCount","singleQuoteCount","backtickCount","c","setKeyValue","metaData","toLowerCase","num","parseInt","isNaN","includes","push","test","display","kvList","kv","removeNextHeading","expectedText","removeTillNextType","heading","Error","LOADING_MESSAGE","NEXT_HELP_TIME","functionHeaderOffset","TestResult","TestResults","testResults","returnedResults","expectedResults","parseError","errorLine","runtimeError","outputs","ranSuccessfully","StringLineNum","str","lineNum","CaptureConsole","require","tokenizeFunctionSignature","signature","tokenChars","bufferStartIndex","filter","token","reformatStackTrace","result","userCodeLineNumbersBegin","userCodeLineNumbersEnd","addedLines","stackTrace","stack","stackTraceLines","j","thisLine","startsWith","slice","regex","replace","matches","lineNumber","userCodeLineNumberBegin","userCodeLineNumberEnd","newLineNumber","lineNumberOffset","columnNumber","newLine","join","safeToString","expectedResult","toString","randomString","Math","random","getExpectedResults","problemData","expectedResultsArrayName","codeToRun","combinedTests","testSplitByLines","setupCode","getResult","expectedResultsArray","Function","func","e","log","levenshteinDistance","t","arr","min","hljs","registerAliases","languageName","Editor","lazy","marked","Marked","markedHighlight","langPrefix","highlight","code","lang","info","language","getLanguage","saveUserData","userData","currentCode","localStorage","setItem","getStorageKey","getUserName","JSON","stringify","userName","Problem","_normalizedId","_normalizedId2","_normalizedId3","setProblemData","useState","useParams","setUserData","helpResponse","setHelpResponse","magicLinksHover","setMagicLinks","anchorEl","magicLink","onCodeSubmit","history","lastUpdated","Date","ast","userCode","acorn","ecmaVersion","locations","SyntaxError","message","pos","loc","line","missingFunctionError","returnableError","matchedTokens","foundFunction","fnLoop","body","functionSignature","start","end","expectedFunctionSignature","expectedTokens","distance","findLoopEndIndex","startIndex","level","loopCounterExtraLines","loops","loopRegex","exec","findLoops","loopHeaderStart","loopHeaderEnd","loopHeader","preLoopCode","postLoopHeader","lineOfCounter","linePastLoopHeader","loopCounterVar","userCodeAddPreLoop","userCodeAddPostLoop","addedChars","resultsArrayName","consoleLogArrayName","resultsArray","consoleLogArray","out","NotRun","outputArray","entry","function","arg","args","util","format","Exception","Failed","Passed","testUserCode","newUserData","UserData","requestHelpHistory","aiRememberResponse","onSubmission","normalizedId","useEffect","fetch","then","async","r","ok","lexer","depth","raw","problem","splitProblem","parseProblem","getItem","parse","getUserData","catch","_jsxs","children","_jsx","hljsLang","descParsed","DOMPurify","handlePopoverOpen","event","arguments","currentTarget","handlePopoverClose","open","Boolean","testsDisplay","getTestElement","hiddenTestText","testsDisplayJSX","className","totalHiddenTests","hiddenTestsPassed","errorText","problemSolved","every","indentText","nextProblem","highlightHover","helpButton","helpBox","runTests","response","setResponse","button","ThemeProvider","theme","buttonTheme","Button","variant","color","onClick","setAttribute","isLoggedIn","getToken","target","method","headers","accept","json","expire_logins","expireToken","logIn","status","now","wait_time","Promise","resolve","setTimeout","removeAttribute","rememberingResponse","dangerouslySetInnerHTML","__html","HelpBoxAndButton","mutedButtonTheme","href","helpButtonHtml","hoverHtml","onMouseEnter","timeToNextHelp","timeToNextHelpSeconds","ceil","onMouseLeave","Suspense","fallback","onChange","updateUserCode","defaultValue","SubmitButton","Popover","sx","pointerEvents","anchorOrigin","vertical","horizontal","transformOrigin","onClose","disableRestoreFocus","style","fontFamily","whiteSpace","testCases","resultText","bgColor","MagicLink","link","testStringPart","entries","values","resultSpan","shouldDisplayConsole","consoleOutput","part","indent","use","markedKatex","throwOnError","displayMode","_ref"],"sourceRoot":""}
\ No newline at end of file
diff --git a/static/js/main.c27976cb.js b/static/js/main.c27976cb.js
deleted file mode 100644
index d0954d2..0000000
--- a/static/js/main.c27976cb.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! For license information please see main.c27976cb.js.LICENSE.txt */
-(()=>{var e={1216:(e,t,n)=>{"use strict";n.d(t,{cG:()=>fe,mr:()=>pe,Ay:()=>be,x6:()=>he});var r,o=n(5043),a=n(3216),i=n(5475),l=n(5745),s=n(7344),u=n(5969),c=n(2518),d=n(7739);function f(){return f=Object.assign?Object.assign.bind():function(e){for(var t=1;t{r&&!e&&fetch("https://api.github.com/user",{headers:{accept:"application/vnd.github.v3+json",authorization:"token ".concat(n)}}).then((e=>e.json())).then((e=>{let{login:n,id:r,name:o}=e,a=JSON.stringify({login:n,id:r,name:o});localStorage.getItem("userData")!==a&&void 0!==n&&void 0!==r&&void 0!==o&&localStorage.setItem("userData",a),t(o)})).catch((e=>{console.error(e)}))}),[r,n]),r){let t=e?"Hey, ".concat(e,"!"):"Finishing Sign In";return(0,m.jsx)(u.A,{theme:v,children:(0,m.jsx)(d.A,{title:"Click to sign out",children:(0,m.jsxs)(c.A,{variant:"outlined",color:"secondary",onClick:g,fullWidth:!1,className:"loginButton",children:[(0,m.jsx)(h,{style:{width:"2.5em",height:"2.5em",paddingRight:"1em"}})," ",t]})})})}return(0,m.jsx)(u.A,{theme:v,children:(0,m.jsxs)(c.A,{variant:"contained",color:"primary",onClick:function(){localStorage.setItem("loginRedirect",window.location.href),window.location.href=fe},className:"loginButton",children:[(0,m.jsx)(h,{style:{width:"2.5em",height:"2.5em",paddingRight:"1em"}})," Sign in with GitHub"]})})}function g(){localStorage.removeItem("token"),localStorage.removeItem("userName"),window.location.reload()}var b=n(8587),w=n(8168),x=n(9417),k=n(5540),S=n(219);function E(e,t){if(!e){var n=new Error("loadable: "+t);throw n.framesToPop=1,n.name="Invariant Violation",n}}var A=o.createContext();var C={initialChunks:{}},_="PENDING",O="REJECTED";var P=function(e){return e};function T(e){var t=e.defaultResolveComponent,n=void 0===t?P:t,r=e.render,a=e.onLoad;function i(e,t){void 0===t&&(t={});var i=function(e){return"function"===typeof e?{requireAsync:e,resolve:function(){},chunkName:function(){}}:e}(e),l={};function s(e){return t.cacheKey?t.cacheKey(e):i.resolve?i.resolve(e):"static"}function u(e,r,o){var a=t.resolveComponent?t.resolveComponent(e,r):n(e);return S(o,a,{preload:!0}),a}var c=function(e){var t=s(e),n=l[t];return n&&n.status!==O||((n=i.requireAsync(e)).status=_,l[t]=n,n.then((function(){n.status="RESOLVED"}),(function(t){console.error("loadable-components: failed to asynchronously load component",{fileName:i.resolve(e),chunkName:i.chunkName(e),error:t?t.message:t}),n.status=O}))),n},d=function(e){var t=function(t){return o.createElement(A.Consumer,null,(function(n){return o.createElement(e,Object.assign({__chunkExtractor:n},t))}))};return e.displayName&&(t.displayName=e.displayName+"WithChunkExtractor"),t}(function(e){function n(n){var r;return(r=e.call(this,n)||this).state={result:null,error:null,loading:!0,cacheKey:s(n)},E(!n.__chunkExtractor||i.requireSync,"SSR requires `@loadable/babel-plugin`, please install it"),n.__chunkExtractor?(!1===t.ssr||(i.requireAsync(n).catch((function(){return null})),r.loadSync(),n.__chunkExtractor.addChunk(i.chunkName(n))),(0,x.A)(r)):(!1!==t.ssr&&(i.isReady&&i.isReady(n)||i.chunkName&&C.initialChunks[i.chunkName(n)])&&r.loadSync(),r)}(0,k.A)(n,e),n.getDerivedStateFromProps=function(e,t){var n=s(e);return(0,w.A)({},t,{cacheKey:n,loading:t.loading||t.cacheKey!==n})};var o=n.prototype;return o.componentDidMount=function(){this.mounted=!0;var e=this.getCache();e&&e.status===O&&this.setCache(),this.state.loading&&this.loadAsync()},o.componentDidUpdate=function(e,t){t.cacheKey!==this.state.cacheKey&&this.loadAsync()},o.componentWillUnmount=function(){this.mounted=!1},o.safeSetState=function(e,t){this.mounted&&this.setState(e,t)},o.getCacheKey=function(){return s(this.props)},o.getCache=function(){return l[this.getCacheKey()]},o.setCache=function(e){void 0===e&&(e=void 0),l[this.getCacheKey()]=e},o.triggerOnLoad=function(){var e=this;a&&setTimeout((function(){a(e.state.result,e.props)}))},o.loadSync=function(){if(this.state.loading)try{var e=u(i.requireSync(this.props),this.props,f);this.state.result=e,this.state.loading=!1}catch(t){console.error("loadable-components: failed to synchronously load component, which expected to be available",{fileName:i.resolve(this.props),chunkName:i.chunkName(this.props),error:t?t.message:t}),this.state.error=t}},o.loadAsync=function(){var e=this,t=this.resolveAsync();return t.then((function(t){var n=u(t,e.props,f);e.safeSetState({result:n,loading:!1},(function(){return e.triggerOnLoad()}))})).catch((function(t){return e.safeSetState({error:t,loading:!1})})),t},o.resolveAsync=function(){var e=this.props,t=(e.__chunkExtractor,e.forwardedRef,(0,b.A)(e,["__chunkExtractor","forwardedRef"]));return c(t)},o.render=function(){var e=this.props,n=e.forwardedRef,o=e.fallback,a=(e.__chunkExtractor,(0,b.A)(e,["forwardedRef","fallback","__chunkExtractor"])),i=this.state,l=i.error,s=i.loading,u=i.result;if(t.suspense&&(this.getCache()||this.loadAsync()).status===_)throw this.loadAsync();if(l)throw l;var c=o||t.fallback||null;return s?c:r({fallback:c,result:u,options:t,props:(0,w.A)({},a,{ref:n})})},n}(o.Component)),f=o.forwardRef((function(e,t){return o.createElement(d,Object.assign({forwardedRef:t},e))}));return f.displayName="Loadable",f.preload=function(e){f.load(e)},f.load=function(e){return c(e)},f}return{loadable:i,lazy:function(e,t){return i(e,(0,w.A)({},t,{suspense:!0}))}}}var N=T({defaultResolveComponent:function(e){return e.__esModule?e.default:e.default||e},render:function(e){var t=e.result,n=e.props;return o.createElement(t,n)}}),R=N.loadable,M=N.lazy,L=T({onLoad:function(e,t){e&&t.forwardedRef&&("function"===typeof t.forwardedRef?t.forwardedRef(e):t.forwardedRef.current=e)},render:function(e){var t=e.result,n=e.props;return n.children?n.children(t):null}}),j=L.loadable,z=L.lazy;var I=R;I.lib=j,M.lib=z;const D=I;var F=function(){var e=1,t=new WeakMap,n=function(r,o){return"number"===typeof r||"string"===typeof r?o?"idx-".concat(o):"val-".concat(r):t.has(r)?"uid"+t.get(r):(t.set(r,e++),n(r))};return n},B=(F(),function(e){return void 0===e&&(e=""),{value:1,prefix:e,uid:F()}}),U=B(),W=o.createContext(B()),$=function(e){return e.value++},V=function(e){return e?e.prefix:""},H=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!==typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),K=function(e,t,n){var r=t+e;return String(n?n(r):r)},q=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={quartz:t.props.idSource||U,prefix:V(t.props.idSource),id:$(t.props.idSource||U)},t.uid=function(e){return K(t.state.id+"-"+t.state.quartz.uid(e),t.state.prefix,t.props.name)},t}return H(t,e),t.prototype.render=function(){var e=this.props,t=e.children,n=e.name,r=this.state,o=r.id,a=r.prefix;return t(K(o,a,n),this.uid)},t}(o.Component),Q=function(){var e=(0,o.useContext)(W),t=(0,o.useState)((function(){return function(e){var t=e||U,n=V(t)+$(t);return{uid:n,gen:function(e){return n+t.uid(e)}}}(e)}))[0];return t},X=function(e){var t=e.children,n=e.prefix,r=void 0===n?"":n,a=(0,o.useState)((function(){return B(r)}))[0];return o.createElement(W.Provider,{value:a},t)},Y=function(e){var t=e.children,n=e.prefix,r=void 0===n?"":n,a=Q().uid,i=(0,o.useState)((function(){return B(a+"-"+r)}))[0];return o.createElement(W.Provider,{value:i},t)},G=function(e){var t=e.name,n=e.children;return o.createElement(W.Consumer,null,(function(e){return o.createElement(q,{name:t,idSource:e,children:n})}))};var J=!1,Z=function(){return J},ee=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),te=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{const t=D(e);return o.memo((e=>(0,m.jsx)(ce,{live:t.load(),children:(0,m.jsx)(t,{...e})})))},fe="".concat("https://codehelp.api.dacubeking.com/","auth"),pe=(0,s.A)({shadows:Array(25).fill("none"),palette:{primary:{main:"#0062cb"},secondary:{main:"#2B2D42"}},typography:{fontFamily:"Roboto",fontSize:16,button:{fontWeight:"bold",color:"blue"}}}),he=(0,s.A)({shadows:Array(25).fill("none"),palette:{primary:{main:"#626c80"},secondary:{main:"#49CA67"}},typography:{fontFamily:"Roboto",fontSize:16,button:{fontWeight:"bold",color:"blue"}}});function me(){return"/"!==(0,a.zy)().pathname?(0,m.jsxs)("span",{className:"App-header",children:[(0,m.jsx)(i.N_,{to:"/",className:"wecode-header",children:"WeCode"})," ",(0,m.jsx)(y,{})]}):(0,m.jsx)(m.Fragment,{})}const ve=de((()=>Promise.all([n.e(473),n.e(221)]).then(n.bind(n,8221)))),ye=de((()=>n.e(843).then(n.bind(n,3843)))),ge=D((()=>Promise.all([n.e(20),n.e(344),n.e(853)]).then(n.bind(n,1234))));const be=function(){return(0,m.jsx)(i.Kd,{children:(0,m.jsxs)("div",{className:"App",children:[(0,m.jsx)("meta",{name:"viewport",content:"initial-scale=1, width=device-width"}),(0,m.jsx)(me,{}),(0,m.jsxs)(a.BV,{children:[(0,m.jsx)(a.qh,{path:"/",Component:ve}),(0,m.jsx)(a.qh,{path:"/problem/*",Component:()=>(0,m.jsx)(ce,{live:ge.load(),children:(0,m.jsx)(ge,{})})}),(0,m.jsx)(a.qh,{path:"/auth/login_success",Component:()=>(0,m.jsx)(ye,{})})]})]})})}},5745:(e,t,n)=>{"use strict";n.d(t,{E8:()=>s,J3:()=>i,M3:()=>l,gf:()=>o,xf:()=>a});var r=n(1216);function o(){return localStorage.getItem("token")}function a(){localStorage.setItem("token","expired"),localStorage.setItem("userName","")}function i(){let e,t=localStorage.getItem("userData");if(null!==t){let n=JSON.parse(t);e=n.name,null!==e&&void 0!==e||(e=n.login)}return e}function l(){return void 0!==o()&&null!==o()&&""!==o()&&"expired"!==o()}function s(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];localStorage.setItem("loginRedirect",window.location.href),("expired"===o()||e)&&(window.location.href=r.cG)}},5513:(e,t,n)=>{"use strict";n.d(t,{A:()=>oe});var r=function(){function e(e){var t=this;this._insertTag=function(e){var n;n=0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,n),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var n=function(e){if(e.sheet)return e.sheet;for(var t=0;t0?c(w,--g):0,v--,10===b&&(v=1,m--),b}function E(){return b=g2||O(b)>3?"":" "}function M(e,t){for(;--t&&E()&&!(b<48||b>102||b>57&&b<65||b>70&&b<97););return _(e,C()+(t<6&&32==A()&&32==E()))}function L(e){for(;E();)switch(b){case e:return g;case 34:case 39:34!==e&&39!==e&&L(b);break;case 40:41===e&&L(e);break;case 92:E()}return g}function j(e,t){for(;E()&&e+b!==57&&(e+b!==84||47!==A()););return"/*"+_(t,g-1)+"*"+a(47===e?e:E())}function z(e){for(;!O(A());)E();return _(e,g)}var I="-ms-",D="-moz-",F="-webkit-",B="comm",U="rule",W="decl",$="@keyframes";function V(e,t){for(var n="",r=p(e),o=0;o0&&f(D)-y&&h(b>32?Y(D+";",r,n,y-1):Y(s(D," ","")+";",r,n,y-2),p);break;case 59:D+=";";default:if(h(I=Q(D,t,n,m,v,o,d,P,T=[],L=[],y),i),123===O)if(0===v)q(D,t,I,I,T,i,y,d,L);else switch(99===g&&110===c(D,3)?100:g){case 100:case 108:case 109:case 115:q(e,I,I,r&&h(Q(e,I,I,0,0,o,d,P,o,T=[],y),L),o,L,y,d,r?T:L);break;default:q(D,I,I,I,[""],L,0,d,L)}}m=v=b=0,x=_=1,P=D="",y=l;break;case 58:y=1+f(D),b=w;default:if(x<1)if(123==O)--x;else if(125==O&&0==x++&&125==S())continue;switch(D+=a(O),O*x){case 38:_=v>0?1:(D+="\f",-1);break;case 44:d[m++]=(f(D)-1)*_,_=1;break;case 64:45===A()&&(D+=N(E())),g=A(),v=y=f(P=D+=z(C())),O++;break;case 45:45===w&&2==f(D)&&(x=0)}}return i}function Q(e,t,n,r,a,i,u,c,f,h,m){for(var v=a-1,y=0===a?i:[""],g=p(y),b=0,w=0,k=0;b0?y[S]+" "+E:s(E,/&\f/g,y[S])))&&(f[k++]=A);return x(e,t,n,0===a?U:c,f,h,m)}function X(e,t,n){return x(e,t,n,B,a(b),d(e,2,-2),0)}function Y(e,t,n,r){return x(e,t,n,W,d(e,0,r),d(e,r+1,-1),r)}var G=function(e,t,n){for(var r=0,o=0;r=o,o=A(),38===r&&12===o&&(t[n]=1),!O(o);)E();return _(e,g)},J=function(e,t){return T(function(e,t){var n=-1,r=44;do{switch(O(r)){case 0:38===r&&12===A()&&(t[n]=1),e[n]+=G(g-1,t,n);break;case 2:e[n]+=N(r);break;case 4:if(44===r){e[++n]=58===A()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=a(r)}}while(r=E());return e}(P(e),t))},Z=new WeakMap,ee=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||Z.get(n))&&!r){Z.set(e,!0);for(var o=[],a=J(t,o),i=n.props,l=0,s=0;l6)switch(c(e,t+1)){case 109:if(45!==c(e,t+4))break;case 102:return s(e,/(.+:)(.+)-([^]+)/,"$1"+F+"$2-$3$1"+D+(108==c(e,t+3)?"$3":"$2-$3"))+e;case 115:return~u(e,"stretch")?ne(s(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==c(e,t+1))break;case 6444:switch(c(e,f(e)-3-(~u(e,"!important")&&10))){case 107:return s(e,":",":"+F)+e;case 101:return s(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+F+(45===c(e,14)?"inline-":"")+"box$3$1"+F+"$2$3$1"+I+"$2box$3")+e}break;case 5936:switch(c(e,t+11)){case 114:return F+e+I+s(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return F+e+I+s(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return F+e+I+s(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return F+e+I+e+e}return e}var re=[function(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case W:e.return=ne(e.value,e.length);break;case $:return V([k(e,{value:s(e.value,"@","@"+F)})],r);case U:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=t.exec(e))?e[0]:e}(t,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return V([k(e,{props:[s(t,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return V([k(e,{props:[s(t,/:(plac\w+)/,":"+F+"input-$1")]}),k(e,{props:[s(t,/:(plac\w+)/,":-moz-$1")]}),k(e,{props:[s(t,/:(plac\w+)/,I+"input-$1")]})],r)}return""}))}}],oe=function(e){var t=e.key;if("css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var o=e.stylisPlugins||re;var a,i,l={},s=[];a=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n{"use strict";function r(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}n.d(t,{A:()=>r})},5756:(e,t,n)=>{"use strict";n.d(t,{C:()=>l,T:()=>u,i:()=>a,w:()=>s});var r=n(5043),o=n(5513),a=(n(2830),n(9436),!0),i=r.createContext("undefined"!==typeof HTMLElement?(0,o.A)({key:"css"}):null);var l=i.Provider,s=function(e){return(0,r.forwardRef)((function(t,n){var o=(0,r.useContext)(i);return e(t,o,n)}))};a||(s=function(e){return function(t){var n=(0,r.useContext)(i);return null===n?(n=(0,o.A)({key:"css"}),r.createElement(i.Provider,{value:n},e(t,n))):e(t,n)}});var u=r.createContext({})},3290:(e,t,n)=>{"use strict";n.d(t,{AH:()=>u,i7:()=>c,mL:()=>s});var r=n(5756),o=n(5043),a=n(1722),i=n(9436),l=n(2830),s=(n(5513),n(219),(0,r.w)((function(e,t){var n=e.styles,s=(0,l.J)([n],void 0,o.useContext(r.T));if(!r.i){for(var u,c=s.name,d=s.styles,f=s.next;void 0!==f;)c+=" "+f.name,d+=f.styles,f=f.next;var p=!0===t.compat,h=t.insert("",{name:c,styles:d},t.sheet,p);return p?null:o.createElement("style",((u={})["data-emotion"]=t.key+"-global "+c,u.dangerouslySetInnerHTML={__html:h},u.nonce=t.sheet.nonce,u))}var m=o.useRef();return(0,i.i)((function(){var e=t.key+"-global",n=new t.sheet.constructor({key:e,nonce:t.sheet.nonce,container:t.sheet.container,speedy:t.sheet.isSpeedy}),r=!1,o=document.querySelector('style[data-emotion="'+e+" "+s.name+'"]');return t.sheet.tags.length&&(n.before=t.sheet.tags[0]),null!==o&&(r=!0,o.setAttribute("data-emotion",e),n.hydrate([o])),m.current=[n,r],function(){n.flush()}}),[t]),(0,i.i)((function(){var e=m.current,n=e[0];if(e[1])e[1]=!1;else{if(void 0!==s.next&&(0,a.sk)(t,s.next,!0),n.tags.length){var r=n.tags[n.tags.length-1].nextElementSibling;n.before=r,n.flush()}t.insert("",s,n,!1)}}),[t,s.name]),null})));function u(){for(var e=arguments.length,t=new Array(e),n=0;n{"use strict";n.d(t,{J:()=>h});var r={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},o=n(918),a=/[A-Z]|^ms/g,i=/_EMO_([^_]+?)_([^]*?)_EMO_/g,l=function(e){return 45===e.charCodeAt(1)},s=function(e){return null!=e&&"boolean"!==typeof e},u=(0,o.A)((function(e){return l(e)?e:e.replace(a,"-$&").toLowerCase()})),c=function(e,t){switch(e){case"animation":case"animationName":if("string"===typeof t)return t.replace(i,(function(e,t,n){return f={name:t,styles:n,next:f},t}))}return 1===r[e]||l(e)||"number"!==typeof t||0===t?t:t+"px"};function d(e,t,n){if(null==n)return"";if(void 0!==n.__emotion_styles)return n;switch(typeof n){case"boolean":return"";case"object":if(1===n.anim)return f={name:n.name,styles:n.styles,next:f},n.name;if(void 0!==n.styles){var r=n.next;if(void 0!==r)for(;void 0!==r;)f={name:r.name,styles:r.styles,next:f},r=r.next;return n.styles+";"}return function(e,t,n){var r="";if(Array.isArray(n))for(var o=0;o=4;++r,o-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(o){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)}(o)+s;return{name:u,styles:o,next:f}}},9436:(e,t,n)=>{"use strict";var r;n.d(t,{i:()=>l,s:()=>i});var o=n(5043),a=!!(r||(r=n.t(o,2))).useInsertionEffect&&(r||(r=n.t(o,2))).useInsertionEffect,i=a||function(e){return e()},l=a||o.useLayoutEffect},1722:(e,t,n)=>{"use strict";n.d(t,{Rk:()=>r,SF:()=>o,sk:()=>a});function r(e,t,n){var r="";return n.split(" ").forEach((function(n){void 0!==e[n]?t.push(e[n]+";"):r+=n+" "})),r}var o=function(e,t,n){var r=e.key+"-"+t.name;!1===n&&void 0===e.registered[r]&&(e.registered[r]=t.styles)},a=function(e,t,n){o(e,t,n);var r=e.key+"-"+t.name;if(void 0===e.inserted[t.name]){var a=t;do{e.insert(t===a?"."+r:"",a,e.sheet,!0),a=a.next}while(void 0!==a)}}},5990:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(5043),o=n(7950),a=n(7042),i=n(3844),l=n(9184),s=n(579);const u=r.forwardRef((function(e,t){const{children:n,container:u,disablePortal:c=!1}=e,[d,f]=r.useState(null),p=(0,a.A)(r.isValidElement(n)?n.ref:null,t);if((0,i.A)((()=>{c||f(function(e){return"function"===typeof e?e():e}(u)||document.body)}),[u,c]),(0,i.A)((()=>{if(d&&!c)return(0,l.A)(t,d),()=>{(0,l.A)(t,null)}}),[t,d,c]),c){if(r.isValidElement(n)){const e={ref:p};return r.cloneElement(n,e)}return(0,s.jsx)(r.Fragment,{children:n})}return(0,s.jsx)(r.Fragment,{children:d?o.createPortal(n,d):d})}))},2205:(e,t,n)=>{"use strict";n.d(t,{X:()=>a});var r=n(8168),o=n(540);function a(e,t,n){return void 0===e||(0,o.g)(e)?t:(0,r.A)({},t,{ownerState:(0,r.A)({},t.ownerState,n)})}},9279:(e,t,n)=>{"use strict";function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(void 0===e)return{};const n={};return Object.keys(e).filter((n=>n.match(/^on[A-Z]/)&&"function"===typeof e[n]&&!t.includes(n))).forEach((t=>{n[t]=e[t]})),n}n.d(t,{h:()=>r})},540:(e,t,n)=>{"use strict";function r(e){return"string"===typeof e}n.d(t,{g:()=>r})},8413:(e,t,n)=>{"use strict";n.d(t,{p:()=>l});var r=n(8168),o=n(8387),a=n(9279);function i(e){if(void 0===e)return{};const t={};return Object.keys(e).filter((t=>!(t.match(/^on[A-Z]/)&&"function"===typeof e[t]))).forEach((n=>{t[n]=e[n]})),t}function l(e){const{getSlotProps:t,additionalProps:n,externalSlotProps:l,externalForwardedProps:s,className:u}=e;if(!t){const e=(0,o.A)(null==n?void 0:n.className,u,null==s?void 0:s.className,null==l?void 0:l.className),t=(0,r.A)({},null==n?void 0:n.style,null==s?void 0:s.style,null==l?void 0:l.style),a=(0,r.A)({},n,s,l);return e.length>0&&(a.className=e),Object.keys(t).length>0&&(a.style=t),{props:a,internalRef:void 0}}const c=(0,a.h)((0,r.A)({},s,l)),d=i(l),f=i(s),p=t(c),h=(0,o.A)(null==p?void 0:p.className,null==n?void 0:n.className,u,null==s?void 0:s.className,null==l?void 0:l.className),m=(0,r.A)({},null==p?void 0:p.style,null==n?void 0:n.style,null==s?void 0:s.style,null==l?void 0:l.style),v=(0,r.A)({},p,n,f,d);return h.length>0&&(v.className=h),Object.keys(m).length>0&&(v.style=m),{props:v,internalRef:p.ref}}},4430:(e,t,n)=>{"use strict";function r(e,t,n){return"function"===typeof e?e(t,n):e}n.d(t,{Y:()=>r})},3662:(e,t,n)=>{"use strict";n.d(t,{Q:()=>c});var r=n(8168),o=n(8587),a=n(7042),i=n(2205),l=n(8413),s=n(4430);const u=["elementType","externalSlotProps","ownerState","skipResolvingSlotProps"];function c(e){var t;const{elementType:n,externalSlotProps:c,ownerState:d,skipResolvingSlotProps:f=!1}=e,p=(0,o.A)(e,u),h=f?{}:(0,s.Y)(c,d),{props:m,internalRef:v}=(0,l.p)((0,r.A)({},p,{externalSlotProps:h})),y=(0,a.A)(v,null==h?void 0:h.ref,null==(t=e.additionalProps)?void 0:t.ref);return(0,i.X)(n,(0,r.A)({},m,{ref:y}),d)}},2949:(e,t,n)=>{"use strict";n.d(t,{A:()=>X});var r=n(8168),o=n(8587),a=n(5043),i=n(8387),l=n(8606),s=n(4535),u=n(2876),c=n(5849),d=n(3319),f=n(7844),p=n(7528),h=n(9417),m=n(5540),v=n(8726);function y(e,t){var n=Object.create(null);return e&&a.Children.map(e,(function(e){return e})).forEach((function(e){n[e.key]=function(e){return t&&(0,a.isValidElement)(e)?t(e):e}(e)})),n}function g(e,t,n){return null!=n[t]?n[t]:e.props[t]}function b(e,t,n){var r=y(e.children),o=function(e,t){function n(n){return n in t?t[n]:e[n]}e=e||{},t=t||{};var r,o=Object.create(null),a=[];for(var i in e)i in t?a.length&&(o[i]=a,a=[]):a.push(i);var l={};for(var s in t){if(o[s])for(r=0;r{if(!u&&null!=c){const e=setTimeout(c,d);return()=>{clearTimeout(e)}}}),[c,u,d]),(0,A.jsx)("span",{className:h,style:m,children:(0,A.jsx)("span",{className:v})})};var _=n(7056);const O=(0,_.A)("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]);var P,T,N,R;const M=["center","classes","className"];let L,j,z,I;const D=(0,S.i7)(L||(L=P||(P=(0,p.A)(["\n 0% {\n transform: scale(0);\n opacity: 0.1;\n }\n\n 100% {\n transform: scale(1);\n opacity: 0.3;\n }\n"])))),F=(0,S.i7)(j||(j=T||(T=(0,p.A)(["\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n"])))),B=(0,S.i7)(z||(z=N||(N=(0,p.A)(["\n 0% {\n transform: scale(1);\n }\n\n 50% {\n transform: scale(0.92);\n }\n\n 100% {\n transform: scale(1);\n }\n"])))),U=(0,s.Ay)("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),W=(0,s.Ay)(C,{name:"MuiTouchRipple",slot:"Ripple"})(I||(I=R||(R=(0,p.A)(["\n opacity: 0;\n position: absolute;\n\n &."," {\n opacity: 0.3;\n transform: scale(1);\n animation-name: ",";\n animation-duration: ","ms;\n animation-timing-function: ",";\n }\n\n &."," {\n animation-duration: ","ms;\n }\n\n & ."," {\n opacity: 1;\n display: block;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: currentColor;\n }\n\n & ."," {\n opacity: 0;\n animation-name: ",";\n animation-duration: ","ms;\n animation-timing-function: ",";\n }\n\n & ."," {\n position: absolute;\n /* @noflip */\n left: 0px;\n top: 0;\n animation-name: ",";\n animation-duration: 2500ms;\n animation-timing-function: ",";\n animation-iteration-count: infinite;\n animation-delay: 200ms;\n }\n"]))),O.rippleVisible,D,550,(e=>{let{theme:t}=e;return t.transitions.easing.easeInOut}),O.ripplePulsate,(e=>{let{theme:t}=e;return t.transitions.duration.shorter}),O.child,O.childLeaving,F,550,(e=>{let{theme:t}=e;return t.transitions.easing.easeInOut}),O.childPulsate,B,(e=>{let{theme:t}=e;return t.transitions.easing.easeInOut})),$=a.forwardRef((function(e,t){const n=(0,u.A)({props:e,name:"MuiTouchRipple"}),{center:l=!1,classes:s={},className:c}=n,d=(0,o.A)(n,M),[f,p]=a.useState([]),h=a.useRef(0),m=a.useRef(null);a.useEffect((()=>{m.current&&(m.current(),m.current=null)}),[f]);const v=a.useRef(!1),y=(0,E.A)(),g=a.useRef(null),b=a.useRef(null),w=a.useCallback((e=>{const{pulsate:t,rippleX:n,rippleY:r,rippleSize:o,cb:a}=e;p((e=>[...e,(0,A.jsx)(W,{classes:{ripple:(0,i.A)(s.ripple,O.ripple),rippleVisible:(0,i.A)(s.rippleVisible,O.rippleVisible),ripplePulsate:(0,i.A)(s.ripplePulsate,O.ripplePulsate),child:(0,i.A)(s.child,O.child),childLeaving:(0,i.A)(s.childLeaving,O.childLeaving),childPulsate:(0,i.A)(s.childPulsate,O.childPulsate)},timeout:550,pulsate:t,rippleX:n,rippleY:r,rippleSize:o},h.current)])),h.current+=1,m.current=a}),[s]),x=a.useCallback((function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>{};const{pulsate:r=!1,center:o=l||t.pulsate,fakeElement:a=!1}=t;if("mousedown"===(null==e?void 0:e.type)&&v.current)return void(v.current=!1);"touchstart"===(null==e?void 0:e.type)&&(v.current=!0);const i=a?null:b.current,s=i?i.getBoundingClientRect():{width:0,height:0,left:0,top:0};let u,c,d;if(o||void 0===e||0===e.clientX&&0===e.clientY||!e.clientX&&!e.touches)u=Math.round(s.width/2),c=Math.round(s.height/2);else{const{clientX:t,clientY:n}=e.touches&&e.touches.length>0?e.touches[0]:e;u=Math.round(t-s.left),c=Math.round(n-s.top)}if(o)d=Math.sqrt((2*s.width**2+s.height**2)/3),d%2===0&&(d+=1);else{const e=2*Math.max(Math.abs((i?i.clientWidth:0)-u),u)+2,t=2*Math.max(Math.abs((i?i.clientHeight:0)-c),c)+2;d=Math.sqrt(e**2+t**2)}null!=e&&e.touches?null===g.current&&(g.current=()=>{w({pulsate:r,rippleX:u,rippleY:c,rippleSize:d,cb:n})},y.start(80,(()=>{g.current&&(g.current(),g.current=null)}))):w({pulsate:r,rippleX:u,rippleY:c,rippleSize:d,cb:n})}),[l,w,y]),S=a.useCallback((()=>{x({},{pulsate:!0})}),[x]),C=a.useCallback(((e,t)=>{if(y.clear(),"touchend"===(null==e?void 0:e.type)&&g.current)return g.current(),g.current=null,void y.start(0,(()=>{C(e,t)}));g.current=null,p((e=>e.length>0?e.slice(1):e)),m.current=t}),[y]);return a.useImperativeHandle(t,(()=>({pulsate:S,start:x,stop:C})),[S,x,C]),(0,A.jsx)(U,(0,r.A)({className:(0,i.A)(O.root,s.root,c),ref:b},d,{children:(0,A.jsx)(k,{component:null,exit:!0,children:f})}))}));var V=n(2400);function H(e){return(0,V.Ay)("MuiButtonBase",e)}const K=(0,_.A)("MuiButtonBase",["root","disabled","focusVisible"]),q=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","type"],Q=(0,s.Ay)("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},["&.".concat(K.disabled)]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),X=a.forwardRef((function(e,t){const n=(0,u.A)({props:e,name:"MuiButtonBase"}),{action:s,centerRipple:p=!1,children:h,className:m,component:v="button",disabled:y=!1,disableRipple:g=!1,disableTouchRipple:b=!1,focusRipple:w=!1,LinkComponent:x="a",onBlur:k,onClick:S,onContextMenu:E,onDragLeave:C,onFocus:_,onFocusVisible:O,onKeyDown:P,onKeyUp:T,onMouseDown:N,onMouseLeave:R,onMouseUp:M,onTouchEnd:L,onTouchMove:j,onTouchStart:z,tabIndex:I=0,TouchRippleProps:D,touchRippleRef:F,type:B}=n,U=(0,o.A)(n,q),W=a.useRef(null),V=a.useRef(null),K=(0,c.A)(V,F),{isFocusVisibleRef:X,onFocus:Y,onBlur:G,ref:J}=(0,f.A)(),[Z,ee]=a.useState(!1);y&&Z&&ee(!1),a.useImperativeHandle(s,(()=>({focusVisible:()=>{ee(!0),W.current.focus()}})),[]);const[te,ne]=a.useState(!1);a.useEffect((()=>{ne(!0)}),[]);const re=te&&!g&&!y;function oe(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:b;return(0,d.A)((r=>{t&&t(r);return!n&&V.current&&V.current[e](r),!0}))}a.useEffect((()=>{Z&&w&&!g&&te&&V.current.pulsate()}),[g,w,Z,te]);const ae=oe("start",N),ie=oe("stop",E),le=oe("stop",C),se=oe("stop",M),ue=oe("stop",(e=>{Z&&e.preventDefault(),R&&R(e)})),ce=oe("start",z),de=oe("stop",L),fe=oe("stop",j),pe=oe("stop",(e=>{G(e),!1===X.current&&ee(!1),k&&k(e)}),!1),he=(0,d.A)((e=>{W.current||(W.current=e.currentTarget),Y(e),!0===X.current&&(ee(!0),O&&O(e)),_&&_(e)})),me=()=>{const e=W.current;return v&&"button"!==v&&!("A"===e.tagName&&e.href)},ve=a.useRef(!1),ye=(0,d.A)((e=>{w&&!ve.current&&Z&&V.current&&" "===e.key&&(ve.current=!0,V.current.stop(e,(()=>{V.current.start(e)}))),e.target===e.currentTarget&&me()&&" "===e.key&&e.preventDefault(),P&&P(e),e.target===e.currentTarget&&me()&&"Enter"===e.key&&!y&&(e.preventDefault(),S&&S(e))})),ge=(0,d.A)((e=>{w&&" "===e.key&&V.current&&Z&&!e.defaultPrevented&&(ve.current=!1,V.current.stop(e,(()=>{V.current.pulsate(e)}))),T&&T(e),S&&e.target===e.currentTarget&&me()&&" "===e.key&&!e.defaultPrevented&&S(e)}));let be=v;"button"===be&&(U.href||U.to)&&(be=x);const we={};"button"===be?(we.type=void 0===B?"button":B,we.disabled=y):(U.href||U.to||(we.role="button"),y&&(we["aria-disabled"]=y));const xe=(0,c.A)(t,J,W);const ke=(0,r.A)({},n,{centerRipple:p,component:v,disabled:y,disableRipple:g,disableTouchRipple:b,focusRipple:w,tabIndex:I,focusVisible:Z}),Se=(e=>{const{disabled:t,focusVisible:n,focusVisibleClassName:r,classes:o}=e,a={root:["root",t&&"disabled",n&&"focusVisible"]},i=(0,l.A)(a,H,o);return n&&r&&(i.root+=" ".concat(r)),i})(ke);return(0,A.jsxs)(Q,(0,r.A)({as:be,className:(0,i.A)(Se.root,m),ownerState:ke,onBlur:pe,onClick:S,onContextMenu:ie,onFocus:he,onKeyDown:ye,onKeyUp:ge,onMouseDown:ae,onMouseLeave:ue,onMouseUp:se,onDragLeave:le,onTouchEnd:de,onTouchMove:fe,onTouchStart:ce,ref:xe,tabIndex:y?-1:I,type:B},we,U,{children:[h,re?(0,A.jsx)($,(0,r.A)({ref:K,center:p},D)):null]}))}))},3053:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=n(5043).createContext(void 0)},4221:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=n(5043).createContext({})},2518:(e,t,n)=>{"use strict";n.d(t,{A:()=>_});var r=n(8587),o=n(8168),a=n(5043),i=n(8387),l=n(2018),s=n(8606),u=n(7266),c=n(4535),d=n(1475),f=n(2876),p=n(2949),h=n(6803),m=n(7056),v=n(2400);function y(e){return(0,v.Ay)("MuiButton",e)}const g=(0,m.A)("MuiButton",["root","text","textInherit","textPrimary","textSecondary","textSuccess","textError","textInfo","textWarning","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","outlinedSuccess","outlinedError","outlinedInfo","outlinedWarning","contained","containedInherit","containedPrimary","containedSecondary","containedSuccess","containedError","containedInfo","containedWarning","disableElevation","focusVisible","disabled","colorInherit","colorPrimary","colorSecondary","colorSuccess","colorError","colorInfo","colorWarning","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","icon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]);var b=n(4221),w=n(3053),x=n(579);const k=["children","color","component","className","disabled","disableElevation","disableFocusRipple","endIcon","focusVisibleClassName","fullWidth","size","startIcon","type","variant"],S=e=>(0,o.A)({},"small"===e.size&&{"& > *:nth-of-type(1)":{fontSize:18}},"medium"===e.size&&{"& > *:nth-of-type(1)":{fontSize:20}},"large"===e.size&&{"& > *:nth-of-type(1)":{fontSize:22}}),E=(0,c.Ay)(p.A,{shouldForwardProp:e=>(0,d.A)(e)||"classes"===e,name:"MuiButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t["".concat(n.variant).concat((0,h.A)(n.color))],t["size".concat((0,h.A)(n.size))],t["".concat(n.variant,"Size").concat((0,h.A)(n.size))],"inherit"===n.color&&t.colorInherit,n.disableElevation&&t.disableElevation,n.fullWidth&&t.fullWidth]}})((e=>{let{theme:t,ownerState:n}=e;var r,a;const i="light"===t.palette.mode?t.palette.grey[300]:t.palette.grey[800],l="light"===t.palette.mode?t.palette.grey.A100:t.palette.grey[700];return(0,o.A)({},t.typography.button,{minWidth:64,padding:"6px 16px",borderRadius:(t.vars||t).shape.borderRadius,transition:t.transitions.create(["background-color","box-shadow","border-color","color"],{duration:t.transitions.duration.short}),"&:hover":(0,o.A)({textDecoration:"none",backgroundColor:t.vars?"rgba(".concat(t.vars.palette.text.primaryChannel," / ").concat(t.vars.palette.action.hoverOpacity,")"):(0,u.X4)(t.palette.text.primary,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"text"===n.variant&&"inherit"!==n.color&&{backgroundColor:t.vars?"rgba(".concat(t.vars.palette[n.color].mainChannel," / ").concat(t.vars.palette.action.hoverOpacity,")"):(0,u.X4)(t.palette[n.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"outlined"===n.variant&&"inherit"!==n.color&&{border:"1px solid ".concat((t.vars||t).palette[n.color].main),backgroundColor:t.vars?"rgba(".concat(t.vars.palette[n.color].mainChannel," / ").concat(t.vars.palette.action.hoverOpacity,")"):(0,u.X4)(t.palette[n.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"contained"===n.variant&&{backgroundColor:t.vars?t.vars.palette.Button.inheritContainedHoverBg:l,boxShadow:(t.vars||t).shadows[4],"@media (hover: none)":{boxShadow:(t.vars||t).shadows[2],backgroundColor:(t.vars||t).palette.grey[300]}},"contained"===n.variant&&"inherit"!==n.color&&{backgroundColor:(t.vars||t).palette[n.color].dark,"@media (hover: none)":{backgroundColor:(t.vars||t).palette[n.color].main}}),"&:active":(0,o.A)({},"contained"===n.variant&&{boxShadow:(t.vars||t).shadows[8]}),["&.".concat(g.focusVisible)]:(0,o.A)({},"contained"===n.variant&&{boxShadow:(t.vars||t).shadows[6]}),["&.".concat(g.disabled)]:(0,o.A)({color:(t.vars||t).palette.action.disabled},"outlined"===n.variant&&{border:"1px solid ".concat((t.vars||t).palette.action.disabledBackground)},"contained"===n.variant&&{color:(t.vars||t).palette.action.disabled,boxShadow:(t.vars||t).shadows[0],backgroundColor:(t.vars||t).palette.action.disabledBackground})},"text"===n.variant&&{padding:"6px 8px"},"text"===n.variant&&"inherit"!==n.color&&{color:(t.vars||t).palette[n.color].main},"outlined"===n.variant&&{padding:"5px 15px",border:"1px solid currentColor"},"outlined"===n.variant&&"inherit"!==n.color&&{color:(t.vars||t).palette[n.color].main,border:t.vars?"1px solid rgba(".concat(t.vars.palette[n.color].mainChannel," / 0.5)"):"1px solid ".concat((0,u.X4)(t.palette[n.color].main,.5))},"contained"===n.variant&&{color:t.vars?t.vars.palette.text.primary:null==(r=(a=t.palette).getContrastText)?void 0:r.call(a,t.palette.grey[300]),backgroundColor:t.vars?t.vars.palette.Button.inheritContainedBg:i,boxShadow:(t.vars||t).shadows[2]},"contained"===n.variant&&"inherit"!==n.color&&{color:(t.vars||t).palette[n.color].contrastText,backgroundColor:(t.vars||t).palette[n.color].main},"inherit"===n.color&&{color:"inherit",borderColor:"currentColor"},"small"===n.size&&"text"===n.variant&&{padding:"4px 5px",fontSize:t.typography.pxToRem(13)},"large"===n.size&&"text"===n.variant&&{padding:"8px 11px",fontSize:t.typography.pxToRem(15)},"small"===n.size&&"outlined"===n.variant&&{padding:"3px 9px",fontSize:t.typography.pxToRem(13)},"large"===n.size&&"outlined"===n.variant&&{padding:"7px 21px",fontSize:t.typography.pxToRem(15)},"small"===n.size&&"contained"===n.variant&&{padding:"4px 10px",fontSize:t.typography.pxToRem(13)},"large"===n.size&&"contained"===n.variant&&{padding:"8px 22px",fontSize:t.typography.pxToRem(15)},n.fullWidth&&{width:"100%"})}),(e=>{let{ownerState:t}=e;return t.disableElevation&&{boxShadow:"none","&:hover":{boxShadow:"none"},["&.".concat(g.focusVisible)]:{boxShadow:"none"},"&:active":{boxShadow:"none"},["&.".concat(g.disabled)]:{boxShadow:"none"}}})),A=(0,c.Ay)("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.startIcon,t["iconSize".concat((0,h.A)(n.size))]]}})((e=>{let{ownerState:t}=e;return(0,o.A)({display:"inherit",marginRight:8,marginLeft:-4},"small"===t.size&&{marginLeft:-2},S(t))})),C=(0,c.Ay)("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.endIcon,t["iconSize".concat((0,h.A)(n.size))]]}})((e=>{let{ownerState:t}=e;return(0,o.A)({display:"inherit",marginRight:-4,marginLeft:8},"small"===t.size&&{marginRight:-2},S(t))})),_=a.forwardRef((function(e,t){const n=a.useContext(b.A),u=a.useContext(w.A),c=(0,l.A)(n,e),d=(0,f.A)({props:c,name:"MuiButton"}),{children:p,color:m="primary",component:v="button",className:g,disabled:S=!1,disableElevation:_=!1,disableFocusRipple:O=!1,endIcon:P,focusVisibleClassName:T,fullWidth:N=!1,size:R="medium",startIcon:M,type:L,variant:j="text"}=d,z=(0,r.A)(d,k),I=(0,o.A)({},d,{color:m,component:v,disabled:S,disableElevation:_,disableFocusRipple:O,fullWidth:N,size:R,type:L,variant:j}),D=(e=>{const{color:t,disableElevation:n,fullWidth:r,size:a,variant:i,classes:l}=e,u={root:["root",i,"".concat(i).concat((0,h.A)(t)),"size".concat((0,h.A)(a)),"".concat(i,"Size").concat((0,h.A)(a)),"color".concat((0,h.A)(t)),n&&"disableElevation",r&&"fullWidth"],label:["label"],startIcon:["icon","startIcon","iconSize".concat((0,h.A)(a))],endIcon:["icon","endIcon","iconSize".concat((0,h.A)(a))]},c=(0,s.A)(u,y,l);return(0,o.A)({},l,c)})(I),F=M&&(0,x.jsx)(A,{className:D.startIcon,ownerState:I,children:M}),B=P&&(0,x.jsx)(C,{className:D.endIcon,ownerState:I,children:P}),U=u||"";return(0,x.jsxs)(E,(0,o.A)({ownerState:I,className:(0,i.A)(n.className,D.root,g,U),component:v,disabled:S,focusRipple:!O,focusVisibleClassName:(0,i.A)(D.focusVisible,T),ref:t,type:L},z,{classes:D,children:[F,p,B]}))}))},6328:(e,t,n)=>{"use strict";n.d(t,{A:()=>y});var r=n(8168),o=n(8587),a=n(5043),i=n(1140),l=n(9998),s=n(6240),u=n(653),c=n(5849),d=n(579);const f=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"];function p(e){return"scale(".concat(e,", ").concat(e**2,")")}const h={entering:{opacity:1,transform:p(1)},entered:{opacity:1,transform:"none"}},m="undefined"!==typeof navigator&&/^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent)&&/(os |version\/)15(.|_)4/i.test(navigator.userAgent),v=a.forwardRef((function(e,t){const{addEndListener:n,appear:v=!0,children:y,easing:g,in:b,onEnter:w,onEntered:x,onEntering:k,onExit:S,onExited:E,onExiting:A,style:C,timeout:_="auto",TransitionComponent:O=l.Ay}=e,P=(0,o.A)(e,f),T=(0,i.A)(),N=a.useRef(),R=(0,s.A)(),M=a.useRef(null),L=(0,c.A)(M,y.ref,t),j=e=>t=>{if(e){const n=M.current;void 0===t?e(n):e(n,t)}},z=j(k),I=j(((e,t)=>{(0,u.q)(e);const{duration:n,delay:r,easing:o}=(0,u.c)({style:C,timeout:_,easing:g},{mode:"enter"});let a;"auto"===_?(a=R.transitions.getAutoHeightDuration(e.clientHeight),N.current=a):a=n,e.style.transition=[R.transitions.create("opacity",{duration:a,delay:r}),R.transitions.create("transform",{duration:m?a:.666*a,delay:r,easing:o})].join(","),w&&w(e,t)})),D=j(x),F=j(A),B=j((e=>{const{duration:t,delay:n,easing:r}=(0,u.c)({style:C,timeout:_,easing:g},{mode:"exit"});let o;"auto"===_?(o=R.transitions.getAutoHeightDuration(e.clientHeight),N.current=o):o=t,e.style.transition=[R.transitions.create("opacity",{duration:o,delay:n}),R.transitions.create("transform",{duration:m?o:.666*o,delay:m?n:n||.333*o,easing:r})].join(","),e.style.opacity=0,e.style.transform=p(.75),S&&S(e)})),U=j(E);return(0,d.jsx)(O,(0,r.A)({appear:v,in:b,nodeRef:M,onEnter:I,onEntered:D,onEntering:z,onExit:B,onExited:U,onExiting:F,addEndListener:e=>{"auto"===_&&T.start(N.current||0,e),n&&n(M.current,e)},timeout:"auto"===_?null:_},P,{children:(e,t)=>a.cloneElement(y,(0,r.A)({style:(0,r.A)({opacity:0,transform:p(.75),visibility:"exited"!==e||b?void 0:"hidden"},h[e],C,y.props.style),ref:L},t))}))}));v.muiSupportAuto=!0;const y=v},5622:(e,t,n)=>{"use strict";n.d(t,{A:()=>Qe});var r=n(8168),o=n(8587),a=n(5043),i=n(7042),l=n(3844),s=n(2144);function u(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function c(e){return e instanceof u(e).Element||e instanceof Element}function d(e){return e instanceof u(e).HTMLElement||e instanceof HTMLElement}function f(e){return"undefined"!==typeof ShadowRoot&&(e instanceof u(e).ShadowRoot||e instanceof ShadowRoot)}var p=Math.max,h=Math.min,m=Math.round;function v(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function y(){return!/^((?!chrome|android).)*safari/i.test(v())}function g(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);var r=e.getBoundingClientRect(),o=1,a=1;t&&d(e)&&(o=e.offsetWidth>0&&m(r.width)/e.offsetWidth||1,a=e.offsetHeight>0&&m(r.height)/e.offsetHeight||1);var i=(c(e)?u(e):window).visualViewport,l=!y()&&n,s=(r.left+(l&&i?i.offsetLeft:0))/o,f=(r.top+(l&&i?i.offsetTop:0))/a,p=r.width/o,h=r.height/a;return{width:p,height:h,top:f,right:s+p,bottom:f+h,left:s,x:s,y:f}}function b(e){var t=u(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function w(e){return e?(e.nodeName||"").toLowerCase():null}function x(e){return((c(e)?e.ownerDocument:e.document)||window.document).documentElement}function k(e){return g(x(e)).left+b(e).scrollLeft}function S(e){return u(e).getComputedStyle(e)}function E(e){var t=S(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function A(e,t,n){void 0===n&&(n=!1);var r=d(t),o=d(t)&&function(e){var t=e.getBoundingClientRect(),n=m(t.width)/e.offsetWidth||1,r=m(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(t),a=x(t),i=g(e,o,n),l={scrollLeft:0,scrollTop:0},s={x:0,y:0};return(r||!r&&!n)&&(("body"!==w(t)||E(a))&&(l=function(e){return e!==u(e)&&d(e)?{scrollLeft:(t=e).scrollLeft,scrollTop:t.scrollTop}:b(e);var t}(t)),d(t)?((s=g(t,!0)).x+=t.clientLeft,s.y+=t.clientTop):a&&(s.x=k(a))),{x:i.left+l.scrollLeft-s.x,y:i.top+l.scrollTop-s.y,width:i.width,height:i.height}}function C(e){var t=g(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function _(e){return"html"===w(e)?e:e.assignedSlot||e.parentNode||(f(e)?e.host:null)||x(e)}function O(e){return["html","body","#document"].indexOf(w(e))>=0?e.ownerDocument.body:d(e)&&E(e)?e:O(_(e))}function P(e,t){var n;void 0===t&&(t=[]);var r=O(e),o=r===(null==(n=e.ownerDocument)?void 0:n.body),a=u(r),i=o?[a].concat(a.visualViewport||[],E(r)?r:[]):r,l=t.concat(i);return o?l:l.concat(P(_(i)))}function T(e){return["table","td","th"].indexOf(w(e))>=0}function N(e){return d(e)&&"fixed"!==S(e).position?e.offsetParent:null}function R(e){for(var t=u(e),n=N(e);n&&T(n)&&"static"===S(n).position;)n=N(n);return n&&("html"===w(n)||"body"===w(n)&&"static"===S(n).position)?t:n||function(e){var t=/firefox/i.test(v());if(/Trident/i.test(v())&&d(e)&&"fixed"===S(e).position)return null;var n=_(e);for(f(n)&&(n=n.host);d(n)&&["html","body"].indexOf(w(n))<0;){var r=S(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||t&&"filter"===r.willChange||t&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(e)||t}var M="top",L="bottom",j="right",z="left",I="auto",D=[M,L,j,z],F="start",B="end",U="clippingParents",W="viewport",$="popper",V="reference",H=D.reduce((function(e,t){return e.concat([t+"-"+F,t+"-"+B])}),[]),K=[].concat(D,[I]).reduce((function(e,t){return e.concat([t,t+"-"+F,t+"-"+B])}),[]),q=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Q(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}function X(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}var Y={placement:"bottom",modifiers:[],strategy:"absolute"};function G(){for(var e=arguments.length,t=new Array(e),n=0;n=0?"x":"y"}function re(e){var t,n=e.reference,r=e.element,o=e.placement,a=o?ee(o):null,i=o?te(o):null,l=n.x+n.width/2-r.width/2,s=n.y+n.height/2-r.height/2;switch(a){case M:t={x:l,y:n.y-r.height};break;case L:t={x:l,y:n.y+n.height};break;case j:t={x:n.x+n.width,y:s};break;case z:t={x:n.x-r.width,y:s};break;default:t={x:n.x,y:n.y}}var u=a?ne(a):null;if(null!=u){var c="y"===u?"height":"width";switch(i){case F:t[u]=t[u]-(n[c]/2-r[c]/2);break;case B:t[u]=t[u]+(n[c]/2-r[c]/2)}}return t}var oe={top:"auto",right:"auto",bottom:"auto",left:"auto"};function ae(e){var t,n=e.popper,r=e.popperRect,o=e.placement,a=e.variation,i=e.offsets,l=e.position,s=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,f=e.isFixed,p=i.x,h=void 0===p?0:p,v=i.y,y=void 0===v?0:v,g="function"===typeof d?d({x:h,y:y}):{x:h,y:y};h=g.x,y=g.y;var b=i.hasOwnProperty("x"),w=i.hasOwnProperty("y"),k=z,E=M,A=window;if(c){var C=R(n),_="clientHeight",O="clientWidth";if(C===u(n)&&"static"!==S(C=x(n)).position&&"absolute"===l&&(_="scrollHeight",O="scrollWidth"),o===M||(o===z||o===j)&&a===B)E=L,y-=(f&&C===A&&A.visualViewport?A.visualViewport.height:C[_])-r.height,y*=s?1:-1;if(o===z||(o===M||o===L)&&a===B)k=j,h-=(f&&C===A&&A.visualViewport?A.visualViewport.width:C[O])-r.width,h*=s?1:-1}var P,T=Object.assign({position:l},c&&oe),N=!0===d?function(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:m(n*o)/o||0,y:m(r*o)/o||0}}({x:h,y:y},u(n)):{x:h,y:y};return h=N.x,y=N.y,s?Object.assign({},T,((P={})[E]=w?"0":"",P[k]=b?"0":"",P.transform=(A.devicePixelRatio||1)<=1?"translate("+h+"px, "+y+"px)":"translate3d("+h+"px, "+y+"px, 0)",P)):Object.assign({},T,((t={})[E]=w?y+"px":"",t[k]=b?h+"px":"",t.transform="",t))}const ie={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.offset,a=void 0===o?[0,0]:o,i=K.reduce((function(e,n){return e[n]=function(e,t,n){var r=ee(e),o=[z,M].indexOf(r)>=0?-1:1,a="function"===typeof n?n(Object.assign({},t,{placement:e})):n,i=a[0],l=a[1];return i=i||0,l=(l||0)*o,[z,j].indexOf(r)>=0?{x:l,y:i}:{x:i,y:l}}(n,t.rects,a),e}),{}),l=i[t.placement],s=l.x,u=l.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=s,t.modifiersData.popperOffsets.y+=u),t.modifiersData[r]=i}};var le={left:"right",right:"left",bottom:"top",top:"bottom"};function se(e){return e.replace(/left|right|bottom|top/g,(function(e){return le[e]}))}var ue={start:"end",end:"start"};function ce(e){return e.replace(/start|end/g,(function(e){return ue[e]}))}function de(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&f(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function fe(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function pe(e,t,n){return t===W?fe(function(e,t){var n=u(e),r=x(e),o=n.visualViewport,a=r.clientWidth,i=r.clientHeight,l=0,s=0;if(o){a=o.width,i=o.height;var c=y();(c||!c&&"fixed"===t)&&(l=o.offsetLeft,s=o.offsetTop)}return{width:a,height:i,x:l+k(e),y:s}}(e,n)):c(t)?function(e,t){var n=g(e,!1,"fixed"===t);return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}(t,n):fe(function(e){var t,n=x(e),r=b(e),o=null==(t=e.ownerDocument)?void 0:t.body,a=p(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),i=p(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),l=-r.scrollLeft+k(e),s=-r.scrollTop;return"rtl"===S(o||n).direction&&(l+=p(n.clientWidth,o?o.clientWidth:0)-a),{width:a,height:i,x:l,y:s}}(x(e)))}function he(e,t,n,r){var o="clippingParents"===t?function(e){var t=P(_(e)),n=["absolute","fixed"].indexOf(S(e).position)>=0&&d(e)?R(e):e;return c(n)?t.filter((function(e){return c(e)&&de(e,n)&&"body"!==w(e)})):[]}(e):[].concat(t),a=[].concat(o,[n]),i=a[0],l=a.reduce((function(t,n){var o=pe(e,n,r);return t.top=p(o.top,t.top),t.right=h(o.right,t.right),t.bottom=h(o.bottom,t.bottom),t.left=p(o.left,t.left),t}),pe(e,i,r));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function me(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function ve(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function ye(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=void 0===r?e.placement:r,a=n.strategy,i=void 0===a?e.strategy:a,l=n.boundary,s=void 0===l?U:l,u=n.rootBoundary,d=void 0===u?W:u,f=n.elementContext,p=void 0===f?$:f,h=n.altBoundary,m=void 0!==h&&h,v=n.padding,y=void 0===v?0:v,b=me("number"!==typeof y?y:ve(y,D)),w=p===$?V:$,k=e.rects.popper,S=e.elements[m?w:p],E=he(c(S)?S:S.contextElement||x(e.elements.popper),s,d,i),A=g(e.elements.reference),C=re({reference:A,element:k,strategy:"absolute",placement:o}),_=fe(Object.assign({},k,C)),O=p===$?_:A,P={top:E.top-O.top+b.top,bottom:O.bottom-E.bottom+b.bottom,left:E.left-O.left+b.left,right:O.right-E.right+b.right},T=e.modifiersData.offset;if(p===$&&T){var N=T[o];Object.keys(P).forEach((function(e){var t=[j,L].indexOf(e)>=0?1:-1,n=[M,L].indexOf(e)>=0?"y":"x";P[e]+=N[n]*t}))}return P}function ge(e,t,n){return p(e,h(t,n))}const be={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,a=void 0===o||o,i=n.altAxis,l=void 0!==i&&i,s=n.boundary,u=n.rootBoundary,c=n.altBoundary,d=n.padding,f=n.tether,m=void 0===f||f,v=n.tetherOffset,y=void 0===v?0:v,g=ye(t,{boundary:s,rootBoundary:u,padding:d,altBoundary:c}),b=ee(t.placement),w=te(t.placement),x=!w,k=ne(b),S="x"===k?"y":"x",E=t.modifiersData.popperOffsets,A=t.rects.reference,_=t.rects.popper,O="function"===typeof y?y(Object.assign({},t.rects,{placement:t.placement})):y,P="number"===typeof O?{mainAxis:O,altAxis:O}:Object.assign({mainAxis:0,altAxis:0},O),T=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,N={x:0,y:0};if(E){if(a){var I,D="y"===k?M:z,B="y"===k?L:j,U="y"===k?"height":"width",W=E[k],$=W+g[D],V=W-g[B],H=m?-_[U]/2:0,K=w===F?A[U]:_[U],q=w===F?-_[U]:-A[U],Q=t.elements.arrow,X=m&&Q?C(Q):{width:0,height:0},Y=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},G=Y[D],J=Y[B],Z=ge(0,A[U],X[U]),re=x?A[U]/2-H-Z-G-P.mainAxis:K-Z-G-P.mainAxis,oe=x?-A[U]/2+H+Z+J+P.mainAxis:q+Z+J+P.mainAxis,ae=t.elements.arrow&&R(t.elements.arrow),ie=ae?"y"===k?ae.clientTop||0:ae.clientLeft||0:0,le=null!=(I=null==T?void 0:T[k])?I:0,se=W+oe-le,ue=ge(m?h($,W+re-le-ie):$,W,m?p(V,se):V);E[k]=ue,N[k]=ue-W}if(l){var ce,de="x"===k?M:z,fe="x"===k?L:j,pe=E[S],he="y"===S?"height":"width",me=pe+g[de],ve=pe-g[fe],be=-1!==[M,z].indexOf(b),we=null!=(ce=null==T?void 0:T[S])?ce:0,xe=be?me:pe-A[he]-_[he]-we+P.altAxis,ke=be?pe+A[he]+_[he]-we-P.altAxis:ve,Se=m&&be?function(e,t,n){var r=ge(e,t,n);return r>n?n:r}(xe,pe,ke):ge(m?xe:me,pe,m?ke:ve);E[S]=Se,N[S]=Se-pe}t.modifiersData[r]=N}},requiresIfExists:["offset"]};const we={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=e.options,a=n.elements.arrow,i=n.modifiersData.popperOffsets,l=ee(n.placement),s=ne(l),u=[z,j].indexOf(l)>=0?"height":"width";if(a&&i){var c=function(e,t){return me("number"!==typeof(e="function"===typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:ve(e,D))}(o.padding,n),d=C(a),f="y"===s?M:z,p="y"===s?L:j,h=n.rects.reference[u]+n.rects.reference[s]-i[s]-n.rects.popper[u],m=i[s]-n.rects.reference[s],v=R(a),y=v?"y"===s?v.clientHeight||0:v.clientWidth||0:0,g=h/2-m/2,b=c[f],w=y-d[u]-c[p],x=y/2-d[u]/2+g,k=ge(b,x,w),S=s;n.modifiersData[r]=((t={})[S]=k,t.centerOffset=k-x,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!==typeof r||(r=t.elements.popper.querySelector(r)))&&de(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function xe(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function ke(e){return[M,j,L,z].some((function(t){return e[t]>=0}))}var Se=J({defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,a=void 0===o||o,i=r.resize,l=void 0===i||i,s=u(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&c.forEach((function(e){e.addEventListener("scroll",n.update,Z)})),l&&s.addEventListener("resize",n.update,Z),function(){a&&c.forEach((function(e){e.removeEventListener("scroll",n.update,Z)})),l&&s.removeEventListener("resize",n.update,Z)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=re({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=void 0===r||r,a=n.adaptive,i=void 0===a||a,l=n.roundOffsets,s=void 0===l||l,u={placement:ee(t.placement),variation:te(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,ae(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:i,roundOffsets:s})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,ae(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:s})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},o=t.elements[e];d(o)&&w(o)&&(Object.assign(o.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],o=t.attributes[e]||{},a=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});d(r)&&w(r)&&(Object.assign(r.style,a),Object.keys(o).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]},ie,{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,a=void 0===o||o,i=n.altAxis,l=void 0===i||i,s=n.fallbackPlacements,u=n.padding,c=n.boundary,d=n.rootBoundary,f=n.altBoundary,p=n.flipVariations,h=void 0===p||p,m=n.allowedAutoPlacements,v=t.options.placement,y=ee(v),g=s||(y===v||!h?[se(v)]:function(e){if(ee(e)===I)return[];var t=se(e);return[ce(e),t,ce(t)]}(v)),b=[v].concat(g).reduce((function(e,n){return e.concat(ee(n)===I?function(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,a=n.rootBoundary,i=n.padding,l=n.flipVariations,s=n.allowedAutoPlacements,u=void 0===s?K:s,c=te(r),d=c?l?H:H.filter((function(e){return te(e)===c})):D,f=d.filter((function(e){return u.indexOf(e)>=0}));0===f.length&&(f=d);var p=f.reduce((function(t,n){return t[n]=ye(e,{placement:n,boundary:o,rootBoundary:a,padding:i})[ee(n)],t}),{});return Object.keys(p).sort((function(e,t){return p[e]-p[t]}))}(t,{placement:n,boundary:c,rootBoundary:d,padding:u,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),w=t.rects.reference,x=t.rects.popper,k=new Map,S=!0,E=b[0],A=0;A=0,T=P?"width":"height",N=ye(t,{placement:C,boundary:c,rootBoundary:d,altBoundary:f,padding:u}),R=P?O?j:z:O?L:M;w[T]>x[T]&&(R=se(R));var B=se(R),U=[];if(a&&U.push(N[_]<=0),l&&U.push(N[R]<=0,N[B]<=0),U.every((function(e){return e}))){E=C,S=!1;break}k.set(C,U)}if(S)for(var W=function(e){var t=b.find((function(t){var n=k.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return E=t,"break"},$=h?3:1;$>0;$--){if("break"===W($))break}t.placement!==E&&(t.modifiersData[r]._skip=!0,t.placement=E,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},be,we,{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,a=t.modifiersData.preventOverflow,i=ye(t,{elementContext:"reference"}),l=ye(t,{altBoundary:!0}),s=xe(i,r),u=xe(l,o,a),c=ke(s),d=ke(u);t.modifiersData[n]={referenceClippingOffsets:s,popperEscapeOffsets:u,isReferenceHidden:c,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":d})}}]}),Ee=n(8606),Ae=n(5990),Ce=n(2400);const _e="base";function Oe(e,t){const n=Ce.li[t];return n?(r=n,"".concat(_e,"--").concat(r)):function(e,t){return"".concat(_e,"-").concat(e,"-").concat(t)}(e,t);var r}const Pe="Popper";function Te(e){return Oe(Pe,e)}!function(e,t){const n={};t.forEach((t=>{n[t]=Oe(e,t)}))}(Pe,["root"]);var Ne=n(3662),Re=n(579);const Me={disableDefaultClasses:!1},Le=a.createContext(Me);const je=["anchorEl","children","direction","disablePortal","modifiers","open","placement","popperOptions","popperRef","slotProps","slots","TransitionProps","ownerState"],ze=["anchorEl","children","container","direction","disablePortal","keepMounted","modifiers","open","placement","popperOptions","popperRef","style","transition","slotProps","slots"];function Ie(e){return"function"===typeof e?e():e}function De(e){return void 0!==e.nodeType}const Fe=()=>(0,Ee.A)({root:["root"]},function(e){const{disableDefaultClasses:t}=a.useContext(Le);return n=>t?"":e(n)}(Te)),Be={},Ue=a.forwardRef((function(e,t){var n;const{anchorEl:s,children:u,direction:c,disablePortal:d,modifiers:f,open:p,placement:h,popperOptions:m,popperRef:v,slotProps:y={},slots:g={},TransitionProps:b}=e,w=(0,o.A)(e,je),x=a.useRef(null),k=(0,i.A)(x,t),S=a.useRef(null),E=(0,i.A)(S,v),A=a.useRef(E);(0,l.A)((()=>{A.current=E}),[E]),a.useImperativeHandle(v,(()=>S.current),[]);const C=function(e,t){if("ltr"===t)return e;switch(e){case"bottom-end":return"bottom-start";case"bottom-start":return"bottom-end";case"top-end":return"top-start";case"top-start":return"top-end";default:return e}}(h,c),[_,O]=a.useState(C),[P,T]=a.useState(Ie(s));a.useEffect((()=>{S.current&&S.current.forceUpdate()})),a.useEffect((()=>{s&&T(Ie(s))}),[s]),(0,l.A)((()=>{if(!P||!p)return;let e=[{name:"preventOverflow",options:{altBoundary:d}},{name:"flip",options:{altBoundary:d}},{name:"onUpdate",enabled:!0,phase:"afterWrite",fn:e=>{let{state:t}=e;O(t.placement)}}];null!=f&&(e=e.concat(f)),m&&null!=m.modifiers&&(e=e.concat(m.modifiers));const t=Se(P,x.current,(0,r.A)({placement:C},m,{modifiers:e}));return A.current(t),()=>{t.destroy(),A.current(null)}}),[P,d,f,p,m,C]);const N={placement:_};null!==b&&(N.TransitionProps=b);const R=Fe(),M=null!=(n=g.root)?n:"div",L=(0,Ne.Q)({elementType:M,externalSlotProps:y.root,externalForwardedProps:w,additionalProps:{role:"tooltip",ref:k},ownerState:e,className:R.root});return(0,Re.jsx)(M,(0,r.A)({},L,{children:"function"===typeof u?u(N):u}))})),We=a.forwardRef((function(e,t){const{anchorEl:n,children:i,container:l,direction:u="ltr",disablePortal:c=!1,keepMounted:d=!1,modifiers:f,open:p,placement:h="bottom",popperOptions:m=Be,popperRef:v,style:y,transition:g=!1,slotProps:b={},slots:w={}}=e,x=(0,o.A)(e,ze),[k,S]=a.useState(!0);if(!d&&!p&&(!g||k))return null;let E;if(l)E=l;else if(n){const e=Ie(n);E=e&&De(e)?(0,s.A)(e).body:(0,s.A)(null).body}const A=p||!d||g&&!k?void 0:"none",C=g?{in:p,onEnter:()=>{S(!1)},onExited:()=>{S(!0)}}:void 0;return(0,Re.jsx)(Ae.Z,{disablePortal:c,container:E,children:(0,Re.jsx)(Ue,(0,r.A)({anchorEl:n,direction:u,disablePortal:c,modifiers:f,ref:t,open:g?!k:p,placement:h,popperOptions:m,popperRef:v,slotProps:b,slots:w},x,{style:(0,r.A)({position:"fixed",top:0,left:0,display:A},y),TransitionProps:C,children:i}))})}));var $e=n(2374),Ve=n(4535),He=n(2876);const Ke=["anchorEl","component","components","componentsProps","container","disablePortal","keepMounted","modifiers","open","placement","popperOptions","popperRef","transition","slots","slotProps"],qe=(0,Ve.Ay)(We,{name:"MuiPopper",slot:"Root",overridesResolver:(e,t)=>t.root})({}),Qe=a.forwardRef((function(e,t){var n;const a=(0,$e.A)(),i=(0,He.A)({props:e,name:"MuiPopper"}),{anchorEl:l,component:s,components:u,componentsProps:c,container:d,disablePortal:f,keepMounted:p,modifiers:h,open:m,placement:v,popperOptions:y,popperRef:g,transition:b,slots:w,slotProps:x}=i,k=(0,o.A)(i,Ke),S=null!=(n=null==w?void 0:w.root)?n:null==u?void 0:u.Root,E=(0,r.A)({anchorEl:l,container:d,disablePortal:f,keepMounted:p,modifiers:h,open:m,placement:v,popperOptions:y,popperRef:g,transition:b},k);return(0,Re.jsx)(qe,(0,r.A)({as:s,direction:null==a?void 0:a.direction,slots:{root:S},slotProps:null!=x?x:c},E,{ref:t}))}))},7739:(e,t,n)=>{"use strict";n.d(t,{A:()=>z});var r=n(8587),o=n(8168),a=n(5043),i=n(8387),l=n(1140),s=n(2205),u=n(8606),c=n(7266),d=n(875),f=n(4535),p=n(6240),h=n(2876),m=n(6803),v=n(6328),y=n(5622),g=n(3319),b=n(5849),w=n(5879),x=n(7844),k=n(4516),S=n(7056),E=n(2400);function A(e){return(0,E.Ay)("MuiTooltip",e)}const C=(0,S.A)("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]);var _=n(579);const O=["arrow","children","classes","components","componentsProps","describeChild","disableFocusListener","disableHoverListener","disableInteractive","disableTouchListener","enterDelay","enterNextDelay","enterTouchDelay","followCursor","id","leaveDelay","leaveTouchDelay","onClose","onOpen","open","placement","PopperComponent","PopperProps","slotProps","slots","title","TransitionComponent","TransitionProps"];const P=(0,f.Ay)(y.A,{name:"MuiTooltip",slot:"Popper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.popper,!n.disableInteractive&&t.popperInteractive,n.arrow&&t.popperArrow,!n.open&&t.popperClose]}})((e=>{let{theme:t,ownerState:n,open:r}=e;return(0,o.A)({zIndex:(t.vars||t).zIndex.tooltip,pointerEvents:"none"},!n.disableInteractive&&{pointerEvents:"auto"},!r&&{pointerEvents:"none"},n.arrow&&{['&[data-popper-placement*="bottom"] .'.concat(C.arrow)]:{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}},['&[data-popper-placement*="top"] .'.concat(C.arrow)]:{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}},['&[data-popper-placement*="right"] .'.concat(C.arrow)]:(0,o.A)({},n.isRtl?{right:0,marginRight:"-0.71em"}:{left:0,marginLeft:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}}),['&[data-popper-placement*="left"] .'.concat(C.arrow)]:(0,o.A)({},n.isRtl?{left:0,marginLeft:"-0.71em"}:{right:0,marginRight:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}})})})),T=(0,f.Ay)("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.tooltip,n.touch&&t.touch,n.arrow&&t.tooltipArrow,t["tooltipPlacement".concat((0,m.A)(n.placement.split("-")[0]))]]}})((e=>{let{theme:t,ownerState:n}=e;return(0,o.A)({backgroundColor:t.vars?t.vars.palette.Tooltip.bg:(0,c.X4)(t.palette.grey[700],.92),borderRadius:(t.vars||t).shape.borderRadius,color:(t.vars||t).palette.common.white,fontFamily:t.typography.fontFamily,padding:"4px 8px",fontSize:t.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:t.typography.fontWeightMedium},n.arrow&&{position:"relative",margin:0},n.touch&&{padding:"8px 16px",fontSize:t.typography.pxToRem(14),lineHeight:"".concat((r=16/14,Math.round(1e5*r)/1e5),"em"),fontWeight:t.typography.fontWeightRegular},{[".".concat(C.popper,'[data-popper-placement*="left"] &')]:(0,o.A)({transformOrigin:"right center"},n.isRtl?(0,o.A)({marginLeft:"14px"},n.touch&&{marginLeft:"24px"}):(0,o.A)({marginRight:"14px"},n.touch&&{marginRight:"24px"})),[".".concat(C.popper,'[data-popper-placement*="right"] &')]:(0,o.A)({transformOrigin:"left center"},n.isRtl?(0,o.A)({marginRight:"14px"},n.touch&&{marginRight:"24px"}):(0,o.A)({marginLeft:"14px"},n.touch&&{marginLeft:"24px"})),[".".concat(C.popper,'[data-popper-placement*="top"] &')]:(0,o.A)({transformOrigin:"center bottom",marginBottom:"14px"},n.touch&&{marginBottom:"24px"}),[".".concat(C.popper,'[data-popper-placement*="bottom"] &')]:(0,o.A)({transformOrigin:"center top",marginTop:"14px"},n.touch&&{marginTop:"24px"})});var r})),N=(0,f.Ay)("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:(e,t)=>t.arrow})((e=>{let{theme:t}=e;return{overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:t.vars?t.vars.palette.Tooltip.bg:(0,c.X4)(t.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}}}));let R=!1;const M=new l.E;let L={x:0,y:0};function j(e,t){return function(n){for(var r=arguments.length,o=new Array(r>1?r-1:0),a=1;a{void 0!==Ue.current&&(document.body.style.WebkitUserSelect=Ue.current,Ue.current=void 0),ze.clear()}));a.useEffect((()=>We),[We]);const $e=e=>{M.clear(),R=!0,De(!0),pe&&!Fe&&pe(e)},Ve=(0,g.A)((e=>{M.start(800+ce,(()=>{R=!1})),De(!1),fe&&Fe&&fe(e),Me.start(Ae.transitions.duration.shortest,(()=>{Ne.current=!1}))})),He=e=>{Ne.current&&"touchstart"!==e.type||(_e&&_e.removeAttribute("title"),Le.clear(),je.clear(),ae||R&&ie?Le.start(R?ie:ae,(()=>{$e(e)})):$e(e))},Ke=e=>{Le.clear(),je.start(ce,(()=>{Ve(e)}))},{isFocusVisibleRef:qe,onBlur:Qe,onFocus:Xe,ref:Ye}=(0,x.A)(),[,Ge]=a.useState(!1),Je=e=>{Qe(e),!1===qe.current&&(Ge(!1),Ke(e))},Ze=e=>{_e||Oe(e.currentTarget),Xe(e),!0===qe.current&&(Ge(!0),He(e))},et=e=>{Ne.current=!0;const t=Ee.props;t.onTouchStart&&t.onTouchStart(e)},tt=e=>{et(e),je.clear(),Me.clear(),We(),Ue.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",ze.start(le,(()=>{document.body.style.WebkitUserSelect=Ue.current,He(e)}))},nt=e=>{Ee.props.onTouchEnd&&Ee.props.onTouchEnd(e),We(),je.start(de,(()=>{Ve(e)}))};a.useEffect((()=>{if(Fe)return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)};function e(e){"Escape"!==e.key&&"Esc"!==e.key||Ve(e)}}),[Ve,Fe]);const rt=(0,b.A)(Ee.ref,Ye,Oe,t);we||0===we||(Fe=!1);const ot=a.useRef(),at={},it="string"===typeof we;ee?(at.title=Fe||!it||ne?null:we,at["aria-describedby"]=Fe?Be:null):(at["aria-label"]=it?we:null,at["aria-labelledby"]=Fe&&!it?Be:null);const lt=(0,o.A)({},at,Se,Ee.props,{className:(0,i.A)(Se.className,Ee.props.className),onTouchStart:et,ref:rt},se?{onMouseMove:e=>{const t=Ee.props;t.onMouseMove&&t.onMouseMove(e),L={x:e.clientX,y:e.clientY},ot.current&&ot.current.update()}}:{});const st={};oe||(lt.onTouchStart=tt,lt.onTouchEnd=nt),ne||(lt.onMouseOver=j(He,lt.onMouseOver),lt.onMouseLeave=j(Ke,lt.onMouseLeave),Re||(st.onMouseOver=He,st.onMouseLeave=Ke)),te||(lt.onFocus=j(Ze,lt.onFocus),lt.onBlur=j(Je,lt.onBlur),Re||(st.onFocus=Ze,st.onBlur=Je));const ut=a.useMemo((()=>{var e;let t=[{name:"arrow",enabled:Boolean(Pe),options:{element:Pe,padding:4}}];return null!=(e=ye.popperOptions)&&e.modifiers&&(t=t.concat(ye.popperOptions.modifiers)),(0,o.A)({},ye.popperOptions,{modifiers:t})}),[Pe,ye]),ct=(0,o.A)({},X,{isRtl:Ce,arrow:Y,disableInteractive:Re,placement:me,PopperComponentProp:ve,touch:Ne.current}),dt=(e=>{const{classes:t,disableInteractive:n,arrow:r,touch:o,placement:a}=e,i={popper:["popper",!n&&"popperInteractive",r&&"popperArrow"],tooltip:["tooltip",r&&"tooltipArrow",o&&"touch","tooltipPlacement".concat((0,m.A)(a.split("-")[0]))],arrow:["arrow"]};return(0,u.A)(i,A,t)})(ct),ft=null!=(n=null!=(c=be.popper)?c:J.Popper)?n:P,pt=null!=(f=null!=(S=null!=(E=be.transition)?E:J.Transition)?S:xe)?f:v.A,ht=null!=(C=null!=(z=be.tooltip)?z:J.Tooltip)?C:T,mt=null!=(I=null!=(D=be.arrow)?D:J.Arrow)?I:N,vt=(0,s.X)(ft,(0,o.A)({},ye,null!=(F=ge.popper)?F:Z.popper,{className:(0,i.A)(dt.popper,null==ye?void 0:ye.className,null==(B=null!=(U=ge.popper)?U:Z.popper)?void 0:B.className)}),ct),yt=(0,s.X)(pt,(0,o.A)({},ke,null!=(W=ge.transition)?W:Z.transition),ct),gt=(0,s.X)(ht,(0,o.A)({},null!=($=ge.tooltip)?$:Z.tooltip,{className:(0,i.A)(dt.tooltip,null==(V=null!=(H=ge.tooltip)?H:Z.tooltip)?void 0:V.className)}),ct),bt=(0,s.X)(mt,(0,o.A)({},null!=(K=ge.arrow)?K:Z.arrow,{className:(0,i.A)(dt.arrow,null==(q=null!=(Q=ge.arrow)?Q:Z.arrow)?void 0:q.className)}),ct);return(0,_.jsxs)(a.Fragment,{children:[a.cloneElement(Ee,lt),(0,_.jsx)(ft,(0,o.A)({as:null!=ve?ve:y.A,placement:me,anchorEl:se?{getBoundingClientRect:()=>({top:L.y,left:L.x,right:L.x,bottom:L.y,width:0,height:0})}:_e,popperRef:ot,open:!!_e&&Fe,id:Be,transition:!0},st,vt,{popperOptions:ut,children:e=>{let{TransitionProps:t}=e;return(0,_.jsx)(pt,(0,o.A)({timeout:Ae.transitions.duration.shorter},t,yt,{children:(0,_.jsxs)(ht,(0,o.A)({},gt,{children:[we,Y?(0,_.jsx)(mt,(0,o.A)({},bt,{ref:Te})):null]}))}))}}))]})}))},5969:(e,t,n)=>{"use strict";n.d(t,{A:()=>b});var r=n(8168),o=n(8587),a=n(5043);const i=a.createContext(null);function l(){return a.useContext(i)}const s="function"===typeof Symbol&&Symbol.for?Symbol.for("mui.nested"):"__THEME_NESTED__";var u=n(579);const c=function(e){const{children:t,theme:n}=e,o=l(),c=a.useMemo((()=>{const e=null===o?n:function(e,t){if("function"===typeof t)return t(e);return(0,r.A)({},e,t)}(o,n);return null!=e&&(e[s]=null!==o),e}),[n,o]);return(0,u.jsx)(i.Provider,{value:c,children:t})};var d=n(5756),f=n(7082),p=n(875);const h={};function m(e,t,n){let o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return a.useMemo((()=>{const a=e&&t[e]||t;if("function"===typeof n){const i=n(a),l=e?(0,r.A)({},t,{[e]:i}):i;return o?()=>l:l}return e?(0,r.A)({},t,{[e]:n}):(0,r.A)({},t,n)}),[e,t,n,o])}const v=function(e){const{children:t,theme:n,themeId:r}=e,o=(0,f.A)(h),a=l()||h,i=m(r,o,n),s=m(r,a,n,!0),v="rtl"===i.direction;return(0,u.jsx)(c,{theme:s,children:(0,u.jsx)(d.T.Provider,{value:i,children:(0,u.jsx)(p.A,{value:v,children:t})})})};var y=n(3375);const g=["theme"];function b(e){let{theme:t}=e,n=(0,o.A)(e,g);const a=t[y.A];return(0,u.jsx)(v,(0,r.A)({},n,{themeId:a?y.A:void 0,theme:a||t}))}},7344:(e,t,n)=>{"use strict";n.d(t,{A:()=>L});var r=n(8168),o=n(8587),a=n(6632),i=n(835),l=n(7758),s=n(8812),u=n(8280);var c=n(7266);const d={black:"#000",white:"#fff"},f={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},p={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},h={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},m={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},v={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},y={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},g={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},b=["mode","contrastThreshold","tonalOffset"],w={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:d.white,default:d.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},x={text:{primary:d.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:d.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function k(e,t,n,r){const o=r.light||r,a=r.dark||1.5*r;e[t]||(e.hasOwnProperty(n)?e[t]=e[n]:"light"===t?e.light=(0,c.a)(e.main,o):"dark"===t&&(e.dark=(0,c.e$)(e.main,a)))}function S(e){const{mode:t="light",contrastThreshold:n=3,tonalOffset:l=.2}=e,s=(0,o.A)(e,b),u=e.primary||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:v[200],light:v[50],dark:v[400]}:{main:v[700],light:v[400],dark:v[800]}}(t),S=e.secondary||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:p[200],light:p[50],dark:p[400]}:{main:p[500],light:p[300],dark:p[700]}}(t),E=e.error||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:h[500],light:h[300],dark:h[700]}:{main:h[700],light:h[400],dark:h[800]}}(t),A=e.info||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:y[400],light:y[300],dark:y[700]}:{main:y[700],light:y[500],dark:y[900]}}(t),C=e.success||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:g[400],light:g[300],dark:g[700]}:{main:g[800],light:g[500],dark:g[900]}}(t),_=e.warning||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:m[400],light:m[300],dark:m[700]}:{main:"#ed6c02",light:m[500],dark:m[900]}}(t);function O(e){return(0,c.eM)(e,x.text.primary)>=n?x.text.primary:w.text.primary}const P=e=>{let{color:t,name:n,mainShade:o=500,lightShade:i=300,darkShade:s=700}=e;if(t=(0,r.A)({},t),!t.main&&t[o]&&(t.main=t[o]),!t.hasOwnProperty("main"))throw new Error((0,a.A)(11,n?" (".concat(n,")"):"",o));if("string"!==typeof t.main)throw new Error((0,a.A)(12,n?" (".concat(n,")"):"",JSON.stringify(t.main)));return k(t,"light",i,l),k(t,"dark",s,l),t.contrastText||(t.contrastText=O(t.main)),t},T={dark:x,light:w};return(0,i.A)((0,r.A)({common:(0,r.A)({},d),mode:t,primary:P({color:u,name:"primary"}),secondary:P({color:S,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:P({color:E,name:"error"}),warning:P({color:_,name:"warning"}),info:P({color:A,name:"info"}),success:P({color:C,name:"success"}),grey:f,contrastThreshold:n,getContrastText:O,augmentColor:P,tonalOffset:l},T[t]),s)}const E=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];const A={textTransform:"uppercase"},C='"Roboto", "Helvetica", "Arial", sans-serif';function _(e,t){const n="function"===typeof t?t(e):t,{fontFamily:a=C,fontSize:l=14,fontWeightLight:s=300,fontWeightRegular:u=400,fontWeightMedium:c=500,fontWeightBold:d=700,htmlFontSize:f=16,allVariants:p,pxToRem:h}=n,m=(0,o.A)(n,E);const v=l/14,y=h||(e=>"".concat(e/f*v,"rem")),g=(e,t,n,o,i)=>{return(0,r.A)({fontFamily:a,fontWeight:e,fontSize:y(t),lineHeight:n},a===C?{letterSpacing:"".concat((l=o/t,Math.round(1e5*l)/1e5),"em")}:{},i,p);var l},b={h1:g(s,96,1.167,-1.5),h2:g(s,60,1.2,-.5),h3:g(u,48,1.167,0),h4:g(u,34,1.235,.25),h5:g(u,24,1.334,0),h6:g(c,20,1.6,.15),subtitle1:g(u,16,1.75,.15),subtitle2:g(c,14,1.57,.1),body1:g(u,16,1.5,.15),body2:g(u,14,1.43,.15),button:g(c,14,1.75,.4,A),caption:g(u,12,1.66,.4),overline:g(u,12,2.66,1,A),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return(0,i.A)((0,r.A)({htmlFontSize:f,pxToRem:y,fontFamily:a,fontSize:l,fontWeightLight:s,fontWeightRegular:u,fontWeightMedium:c,fontWeightBold:d},b),m,{clone:!1})}function O(){return["".concat(arguments.length<=0?void 0:arguments[0],"px ").concat(arguments.length<=1?void 0:arguments[1],"px ").concat(arguments.length<=2?void 0:arguments[2],"px ").concat(arguments.length<=3?void 0:arguments[3],"px rgba(0,0,0,").concat(.2,")"),"".concat(arguments.length<=4?void 0:arguments[4],"px ").concat(arguments.length<=5?void 0:arguments[5],"px ").concat(arguments.length<=6?void 0:arguments[6],"px ").concat(arguments.length<=7?void 0:arguments[7],"px rgba(0,0,0,").concat(.14,")"),"".concat(arguments.length<=8?void 0:arguments[8],"px ").concat(arguments.length<=9?void 0:arguments[9],"px ").concat(arguments.length<=10?void 0:arguments[10],"px ").concat(arguments.length<=11?void 0:arguments[11],"px rgba(0,0,0,").concat(.12,")")].join(",")}const P=["none",O(0,2,1,-1,0,1,1,0,0,1,3,0),O(0,3,1,-2,0,2,2,0,0,1,5,0),O(0,3,3,-2,0,3,4,0,0,1,8,0),O(0,2,4,-1,0,4,5,0,0,1,10,0),O(0,3,5,-1,0,5,8,0,0,1,14,0),O(0,3,5,-1,0,6,10,0,0,1,18,0),O(0,4,5,-2,0,7,10,1,0,2,16,1),O(0,5,5,-3,0,8,10,1,0,3,14,2),O(0,5,6,-3,0,9,12,1,0,3,16,2),O(0,6,6,-3,0,10,14,1,0,4,18,3),O(0,6,7,-4,0,11,15,1,0,4,20,3),O(0,7,8,-4,0,12,17,2,0,5,22,4),O(0,7,8,-4,0,13,19,2,0,5,24,4),O(0,7,9,-4,0,14,21,2,0,5,26,4),O(0,8,9,-5,0,15,22,2,0,6,28,5),O(0,8,10,-5,0,16,24,2,0,6,30,5),O(0,8,11,-5,0,17,26,2,0,6,32,5),O(0,9,11,-5,0,18,28,2,0,7,34,6),O(0,9,12,-6,0,19,29,2,0,7,36,6),O(0,10,13,-6,0,20,31,3,0,8,38,7),O(0,10,13,-6,0,21,33,3,0,8,40,7),O(0,10,14,-6,0,22,35,3,0,8,42,7),O(0,11,14,-7,0,23,36,3,0,9,44,8),O(0,11,15,-7,0,24,38,3,0,9,46,8)];var T=n(4318);const N={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},R=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function M(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{mixins:t={},palette:n={},transitions:c={},typography:d={}}=e,f=(0,o.A)(e,R);if(e.vars)throw new Error((0,a.A)(18));const p=S(n),h=(0,u.A)(e);let m=(0,i.A)(h,{mixins:(v=h.breakpoints,y=t,(0,r.A)({toolbar:{minHeight:56,[v.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[v.up("sm")]:{minHeight:64}}},y)),palette:p,shadows:P.slice(),typography:_(p,d),transitions:(0,T.Ay)(c),zIndex:(0,r.A)({},N)});var v,y;m=(0,i.A)(m,f);for(var g=arguments.length,b=new Array(g>1?g-1:0),w=1;w(0,i.A)(e,t)),m),m.unstable_sxConfig=(0,r.A)({},l.A,null==f?void 0:f.unstable_sxConfig),m.unstable_sx=function(e){return(0,s.A)({sx:e,theme:this})},m}const L=M},4318:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>c,p0:()=>l});var r=n(8587),o=n(8168);const a=["duration","easing","delay"],i={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},l={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function s(e){return"".concat(Math.round(e),"ms")}function u(e){if(!e)return 0;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}function c(e){const t=(0,o.A)({},i,e.easing),n=(0,o.A)({},l,e.duration);return(0,o.A)({getAutoHeightDuration:u,create:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["all"],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{duration:i=n.standard,easing:l=t.easeInOut,delay:u=0}=o;(0,r.A)(o,a);return(Array.isArray(e)?e:[e]).map((e=>"".concat(e," ").concat("string"===typeof i?i:s(i)," ").concat(l," ").concat("string"===typeof u?u:s(u)))).join(",")}},e,{easing:t,duration:n})}},5170:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=(0,n(7344).A)()},3375:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r="$$material"},1475:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(7123);const o=e=>(0,r.A)(e)&&"classes"!==e},7123:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=function(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e}},4535:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>l});var r=n(8052),o=n(5170),a=n(3375),i=n(1475);const l=(0,r.Ay)({themeId:a.A,defaultTheme:o.A,rootShouldForwardProp:i.A})},6240:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});n(5043);var r=n(5527),o=n(5170),a=n(3375);function i(){const e=(0,r.A)(o.A);return e[a.A]||e}},2876:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(2919),o=n(5170),a=n(3375);function i(e){let{props:t,name:n}=e;return(0,r.A)({props:t,name:n,defaultTheme:o.A,themeId:a.A})}},653:(e,t,n)=>{"use strict";n.d(t,{c:()=>o,q:()=>r});const r=e=>e.scrollTop;function o(e,t){var n,r;const{timeout:o,easing:a,style:i={}}=e;return{duration:null!=(n=i.transitionDuration)?n:"number"===typeof o?o:o[t.mode]||0,easing:null!=(r=i.transitionTimingFunction)?r:"object"===typeof a?a[t.mode]:a,delay:i.transitionDelay}}},6803:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=n(410).A},4516:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=n(1944).A},3319:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=n(4626).A},5849:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=n(7042).A},5879:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=n(992).A},7844:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=n(932).A},869:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(5043);var r=n(3290),o=n(579);function a(e){const{styles:t,defaultTheme:n={}}=e,a="function"===typeof t?e=>{return t(void 0===(r=e)||null===r||0===Object.keys(r).length?n:e);var r}:t;return(0,o.jsx)(r.mL,{styles:a})}},3174:(e,t,n)=>{"use strict";n.r(t),n.d(t,{GlobalStyles:()=>S.A,StyledEngineProvider:()=>k,ThemeContext:()=>s.T,css:()=>g.AH,default:()=>E,internal_processStyles:()=>A,keyframes:()=>g.i7});var r=n(8168),o=n(5043),a=n(918),i=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,l=(0,a.A)((function(e){return i.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),s=n(5756),u=n(1722),c=n(2830),d=n(9436),f=l,p=function(e){return"theme"!==e},h=function(e){return"string"===typeof e&&e.charCodeAt(0)>96?f:p},m=function(e,t,n){var r;if(t){var o=t.shouldForwardProp;r=e.__emotion_forwardProp&&o?function(t){return e.__emotion_forwardProp(t)&&o(t)}:o}return"function"!==typeof r&&n&&(r=e.__emotion_forwardProp),r},v=function(e){var t=e.cache,n=e.serialized,r=e.isStringTag;return(0,u.SF)(t,n,r),(0,d.s)((function(){return(0,u.sk)(t,n,r)})),null},y=function e(t,n){var a,i,l=t.__emotion_real===t,d=l&&t.__emotion_base||t;void 0!==n&&(a=n.label,i=n.target);var f=m(t,n,l),p=f||h(d),y=!p("as");return function(){var g=arguments,b=l&&void 0!==t.__emotion_styles?t.__emotion_styles.slice(0):[];if(void 0!==a&&b.push("label:"+a+";"),null==g[0]||void 0===g[0].raw)b.push.apply(b,g);else{0,b.push(g[0][0]);for(var w=g.length,x=1;x{Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=t(e.__emotion_styles))}},7266:(e,t,n)=>{"use strict";var r=n(4994);t.X4=p,t.e$=h,t.tL=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.15;return f(e)>.5?h(e,t):m(e,t)},t.eM=function(e,t){const n=f(e),r=f(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)},t.a=m;var o=r(n(7245)),a=r(n(5383));function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return(0,a.default)(e,t,n)}function l(e){e=e.slice(1);const t=new RegExp(".{1,".concat(e.length>=6?2:1,"}"),"g");let n=e.match(t);return n&&1===n[0].length&&(n=n.map((e=>e+e))),n?"rgb".concat(4===n.length?"a":"","(").concat(n.map(((e,t)=>t<3?parseInt(e,16):Math.round(parseInt(e,16)/255*1e3)/1e3)).join(", "),")"):""}function s(e){if(e.type)return e;if("#"===e.charAt(0))return s(l(e));const t=e.indexOf("("),n=e.substring(0,t);if(-1===["rgb","rgba","hsl","hsla","color"].indexOf(n))throw new Error((0,o.default)(9,e));let r,a=e.substring(t+1,e.length-1);if("color"===n){if(a=a.split(" "),r=a.shift(),4===a.length&&"/"===a[3].charAt(0)&&(a[3]=a[3].slice(1)),-1===["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(r))throw new Error((0,o.default)(10,r))}else a=a.split(",");return a=a.map((e=>parseFloat(e))),{type:n,values:a,colorSpace:r}}const u=e=>{const t=s(e);return t.values.slice(0,3).map(((e,n)=>-1!==t.type.indexOf("hsl")&&0!==n?"".concat(e,"%"):e)).join(" ")};function c(e){const{type:t,colorSpace:n}=e;let{values:r}=e;return-1!==t.indexOf("rgb")?r=r.map(((e,t)=>t<3?parseInt(e,10):e)):-1!==t.indexOf("hsl")&&(r[1]="".concat(r[1],"%"),r[2]="".concat(r[2],"%")),r=-1!==t.indexOf("color")?"".concat(n," ").concat(r.join(" ")):"".concat(r.join(", ")),"".concat(t,"(").concat(r,")")}function d(e){e=s(e);const{values:t}=e,n=t[0],r=t[1]/100,o=t[2]/100,a=r*Math.min(o,1-o),i=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(e+n/30)%12;return o-a*Math.max(Math.min(t-3,9-t,1),-1)};let l="rgb";const u=[Math.round(255*i(0)),Math.round(255*i(8)),Math.round(255*i(4))];return"hsla"===e.type&&(l+="a",u.push(t[3])),c({type:l,values:u})}function f(e){let t="hsl"===(e=s(e)).type||"hsla"===e.type?s(d(e)).values:e.values;return t=t.map((t=>("color"!==e.type&&(t/=255),t<=.03928?t/12.92:((t+.055)/1.055)**2.4))),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function p(e,t){return e=s(e),t=i(t),"rgb"!==e.type&&"hsl"!==e.type||(e.type+="a"),"color"===e.type?e.values[3]="/".concat(t):e.values[3]=t,c(e)}function h(e,t){if(e=s(e),t=i(t),-1!==e.type.indexOf("hsl"))e.values[2]*=1-t;else if(-1!==e.type.indexOf("rgb")||-1!==e.type.indexOf("color"))for(let n=0;n<3;n+=1)e.values[n]*=1-t;return c(e)}function m(e,t){if(e=s(e),t=i(t),-1!==e.type.indexOf("hsl"))e.values[2]+=(100-e.values[2])*t;else if(-1!==e.type.indexOf("rgb"))for(let n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;else if(-1!==e.type.indexOf("color"))for(let n=0;n<3;n+=1)e.values[n]+=(1-e.values[n])*t;return c(e)}},8052:(e,t,n)=>{"use strict";var r=n(4994);t.Ay=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{themeId:t,defaultTheme:n=m,rootShouldForwardProp:r=h,slotShouldForwardProp:s=h}=e,c=e=>(0,u.default)((0,o.default)({},e,{theme:y((0,o.default)({},e,{defaultTheme:n,themeId:t}))}));return c.__mui_systemSx=!0,function(e){let u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,i.internal_processStyles)(e,(e=>e.filter((e=>!(null!=e&&e.__mui_systemSx)))));const{name:d,slot:p,skipVariantsResolver:m,skipSx:w,overridesResolver:x=g(v(p))}=u,k=(0,a.default)(u,f),S=void 0!==m?m:p&&"Root"!==p&&"root"!==p||!1,E=w||!1;let A=h;"Root"===p||"root"===p?A=r:p?A=s:function(e){return"string"===typeof e&&e.charCodeAt(0)>96}(e)&&(A=void 0);const C=(0,i.default)(e,(0,o.default)({shouldForwardProp:A,label:undefined},k)),_=e=>"function"===typeof e&&e.__emotion_real!==e||(0,l.isPlainObject)(e)?r=>b(e,(0,o.default)({},r,{theme:y({theme:r.theme,defaultTheme:n,themeId:t})})):e,O=function(r){let a=_(r);for(var i=arguments.length,l=new Array(i>1?i-1:0),s=1;s{const r=y((0,o.default)({},e,{defaultTheme:n,themeId:t}));if(!r.components||!r.components[d]||!r.components[d].styleOverrides)return null;const a=r.components[d].styleOverrides,i={};return Object.entries(a).forEach((t=>{let[n,a]=t;i[n]=b(a,(0,o.default)({},e,{theme:r}))})),x(e,i)})),d&&!S&&u.push((e=>{var r;const a=y((0,o.default)({},e,{defaultTheme:n,themeId:t}));return b({variants:null==a||null==(r=a.components)||null==(r=r[d])?void 0:r.variants},(0,o.default)({},e,{theme:a}))})),E||u.push(c);const f=u.length-l.length;if(Array.isArray(r)&&f>0){const e=new Array(f).fill("");a=[...r,...e],a.raw=[...r.raw,...e]}const p=C(a,...u);return e.muiName&&(p.muiName=e.muiName),p};return C.withConfig&&(O.withConfig=C.withConfig),O}};var o=r(n(4634)),a=r(n(4893)),i=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=p(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(r,a,i):r[a]=e[a]}return r.default=e,n&&n.set(e,r),r}(n(3174)),l=n(4534),s=(r(n(578)),r(n(2046)),r(n(4989))),u=r(n(3234));const c=["ownerState"],d=["variants"],f=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(p=function(e){return e?n:t})(e)}function h(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e}const m=(0,s.default)(),v=e=>e?e.charAt(0).toLowerCase()+e.slice(1):e;function y(e){let{defaultTheme:t,theme:n,themeId:r}=e;return o=n,0===Object.keys(o).length?t:n[r]||n;var o}function g(e){return e?(t,n)=>n[e]:null}function b(e,t){let{ownerState:n}=t,r=(0,a.default)(t,c);const i="function"===typeof e?e((0,o.default)({ownerState:n},r)):e;if(Array.isArray(i))return i.flatMap((e=>b(e,(0,o.default)({ownerState:n},r))));if(i&&"object"===typeof i&&Array.isArray(i.variants)){const{variants:e=[]}=i;let t=(0,a.default)(i,d);return e.forEach((e=>{let a=!0;"function"===typeof e.props?a=e.props((0,o.default)({ownerState:n},r,n)):Object.keys(e.props).forEach((t=>{(null==n?void 0:n[t])!==e.props[t]&&r[t]!==e.props[t]&&(a=!1)})),a&&(Array.isArray(t)||(t=[t]),t.push("function"===typeof e.style?e.style((0,o.default)({ownerState:n},r,n)):e.style))})),t}return i}},875:(e,t,n)=>{"use strict";n.d(t,{A:()=>c,I:()=>u});var r=n(8168),o=n(8587),a=n(5043),i=n(579);const l=["value"],s=a.createContext();const u=()=>{const e=a.useContext(s);return null!=e&&e},c=function(e){let{value:t}=e,n=(0,o.A)(e,l);return(0,i.jsx)(s.Provider,(0,r.A)({value:null==t||t},n))}},9751:(e,t,n)=>{"use strict";n.d(t,{EU:()=>l,NI:()=>i,iZ:()=>u,kW:()=>c,vf:()=>s,zu:()=>o});var r=n(835);const o={xs:0,sm:600,md:900,lg:1200,xl:1536},a={keys:["xs","sm","md","lg","xl"],up:e=>"@media (min-width:".concat(o[e],"px)")};function i(e,t,n){const r=e.theme||{};if(Array.isArray(t)){const e=r.breakpoints||a;return t.reduce(((r,o,a)=>(r[e.up(e.keys[a])]=n(t[a]),r)),{})}if("object"===typeof t){const e=r.breakpoints||a;return Object.keys(t).reduce(((r,a)=>{if(-1!==Object.keys(e.values||o).indexOf(a)){r[e.up(a)]=n(t[a],a)}else{const e=a;r[e]=t[e]}return r}),{})}return n(t)}function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t;return(null==(t=e.keys)?void 0:t.reduce(((t,n)=>(t[e.up(n)]={},t)),{}))||{}}function s(e,t){return e.reduce(((e,t)=>{const n=e[t];return(!n||0===Object.keys(n).length)&&delete e[t],e}),t)}function u(e){const t=l(e);for(var n=arguments.length,o=new Array(n>1?n-1:0),a=1;a(0,r.A)(e,t)),{});return s(Object.keys(t),i)}function c(e){let{values:t,breakpoints:n,base:r}=e;const o=r||function(e,t){if("object"!==typeof e)return{};const n={},r=Object.keys(t);return Array.isArray(e)?r.forEach(((t,r)=>{r{null!=e[t]&&(n[t]=!0)})),n}(t,n),a=Object.keys(o);if(0===a.length)return t;let i;return a.reduce(((e,n,r)=>(Array.isArray(t)?(e[n]=null!=t[r]?t[r]:t[i],i=r):"object"===typeof t?(e[n]=null!=t[n]?t[n]:t[i],i=n):e[n]=t,e)),{})}},9703:(e,t,n)=>{"use strict";function r(e,t){const n=this;if(n.vars&&"function"===typeof n.getColorSchemeSelector){return{[n.getColorSchemeSelector(e).replace(/(\[[^\]]+\])/,"*:where($1)")]:t}}return n.palette.mode===e?t:{}}n.d(t,{A:()=>r})},4853:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var r=n(8587),o=n(8168);const a=["values","unit","step"],i=e=>{const t=Object.keys(e).map((t=>({key:t,val:e[t]})))||[];return t.sort(((e,t)=>e.val-t.val)),t.reduce(((e,t)=>(0,o.A)({},e,{[t.key]:t.val})),{})};function l(e){const{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:n="px",step:l=5}=e,s=(0,r.A)(e,a),u=i(t),c=Object.keys(u);function d(e){const r="number"===typeof t[e]?t[e]:e;return"@media (min-width:".concat(r).concat(n,")")}function f(e){const r="number"===typeof t[e]?t[e]:e;return"@media (max-width:".concat(r-l/100).concat(n,")")}function p(e,r){const o=c.indexOf(r);return"@media (min-width:".concat("number"===typeof t[e]?t[e]:e).concat(n,") and ")+"(max-width:".concat((-1!==o&&"number"===typeof t[c[o]]?t[c[o]]:r)-l/100).concat(n,")")}return(0,o.A)({keys:c,values:u,up:d,down:f,between:p,only:function(e){return c.indexOf(e)+1{"use strict";n.d(t,{A:()=>p});var r=n(8168),o=n(8587),a=n(835),i=n(4853);const l={borderRadius:4};var s=n(8604);var u=n(8812),c=n(7758),d=n(9703);const f=["breakpoints","palette","spacing","shape"];const p=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{breakpoints:t={},palette:n={},spacing:p,shape:h={}}=e,m=(0,o.A)(e,f),v=(0,i.A)(t),y=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8;if(e.mui)return e;const t=(0,s.LX)({spacing:e}),n=function(){for(var e=arguments.length,n=new Array(e),r=0;r{const n=t(e);return"number"===typeof n?"".concat(n,"px"):n})).join(" ")};return n.mui=!0,n}(p);let g=(0,a.A)({breakpoints:v,direction:"ltr",components:{},palette:(0,r.A)({mode:"light"},n),spacing:y,shape:(0,r.A)({},l,h)},m);g.applyStyles=d.A;for(var b=arguments.length,w=new Array(b>1?b-1:0),x=1;x(0,a.A)(e,t)),g),g.unstable_sxConfig=(0,r.A)({},c.A,null==m?void 0:m.unstable_sxConfig),g.unstable_sx=function(e){return(0,u.A)({sx:e,theme:this})},g}},4989:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r.A,private_createBreakpoints:()=>o.A,unstable_applyStyles:()=>a.A});var r=n(8280),o=n(4853),a=n(9703)},3815:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(835);const o=function(e,t){return t?(0,r.A)(e,t,{clone:!1}):e}},8604:(e,t,n)=>{"use strict";n.d(t,{LX:()=>h,MA:()=>p,_W:()=>m,Lc:()=>g,Ms:()=>b});var r=n(9751),o=n(7162),a=n(3815);const i={m:"margin",p:"padding"},l={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},s={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},u=function(e){const t={};return n=>(void 0===t[n]&&(t[n]=e(n)),t[n])}((e=>{if(e.length>2){if(!s[e])return[e];e=s[e]}const[t,n]=e.split(""),r=i[t],o=l[n]||"";return Array.isArray(o)?o.map((e=>r+e)):[r+o]})),c=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],d=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"],f=[...c,...d];function p(e,t,n,r){var a;const i=null!=(a=(0,o.Yn)(e,t,!1))?a:n;return"number"===typeof i?e=>"string"===typeof e?e:i*e:Array.isArray(i)?e=>"string"===typeof e?e:i[e]:"function"===typeof i?i:()=>{}}function h(e){return p(e,"spacing",8)}function m(e,t){if("string"===typeof t||null==t)return t;const n=e(Math.abs(t));return t>=0?n:"number"===typeof n?-n:"-".concat(n)}function v(e,t,n,o){if(-1===t.indexOf(n))return null;const a=function(e,t){return n=>e.reduce(((e,r)=>(e[r]=m(t,n),e)),{})}(u(n),o),i=e[n];return(0,r.NI)(e,i,a)}function y(e,t){const n=h(e.theme);return Object.keys(e).map((r=>v(e,t,r,n))).reduce(a.A,{})}function g(e){return y(e,c)}function b(e){return y(e,d)}function w(e){return y(e,f)}g.propTypes={},g.filterProps=c,b.propTypes={},b.filterProps=d,w.propTypes={},w.filterProps=f},7162:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>l,BO:()=>i,Yn:()=>a});var r=n(410),o=n(9751);function a(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!t||"string"!==typeof t)return null;if(e&&e.vars&&n){const n="vars.".concat(t).split(".").reduce(((e,t)=>e&&e[t]?e[t]:null),e);if(null!=n)return n}return t.split(".").reduce(((e,t)=>e&&null!=e[t]?e[t]:null),e)}function i(e,t,n){let r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:n;return r="function"===typeof e?e(n):Array.isArray(e)?e[n]||o:a(e,n)||o,t&&(r=t(r,o,e)),r}const l=function(e){const{prop:t,cssProperty:n=e.prop,themeKey:l,transform:s}=e,u=e=>{if(null==e[t])return null;const u=e[t],c=a(e.theme,l)||{};return(0,o.NI)(e,u,(e=>{let o=i(c,s,e);return e===o&&"string"===typeof e&&(o=i(c,s,"".concat(t).concat("default"===e?"":(0,r.A)(e)),e)),!1===n?o:{[n]:o}}))};return u.propTypes={},u.filterProps=[t],u}},7758:(e,t,n)=>{"use strict";n.d(t,{A:()=>L});var r=n(8604),o=n(7162),a=n(3815);const i=function(){for(var e=arguments.length,t=new Array(e),n=0;n(t.filterProps.forEach((n=>{e[n]=t})),e)),{}),o=e=>Object.keys(e).reduce(((t,n)=>r[n]?(0,a.A)(t,r[n](e)):t),{});return o.propTypes={},o.filterProps=t.reduce(((e,t)=>e.concat(t.filterProps)),[]),o};var l=n(9751);function s(e){return"number"!==typeof e?e:"".concat(e,"px solid")}function u(e,t){return(0,o.Ay)({prop:e,themeKey:"borders",transform:t})}const c=u("border",s),d=u("borderTop",s),f=u("borderRight",s),p=u("borderBottom",s),h=u("borderLeft",s),m=u("borderColor"),v=u("borderTopColor"),y=u("borderRightColor"),g=u("borderBottomColor"),b=u("borderLeftColor"),w=u("outline",s),x=u("outlineColor"),k=e=>{if(void 0!==e.borderRadius&&null!==e.borderRadius){const t=(0,r.MA)(e.theme,"shape.borderRadius",4,"borderRadius"),n=e=>({borderRadius:(0,r._W)(t,e)});return(0,l.NI)(e,e.borderRadius,n)}return null};k.propTypes={},k.filterProps=["borderRadius"];i(c,d,f,p,h,m,v,y,g,b,k,w,x);const S=e=>{if(void 0!==e.gap&&null!==e.gap){const t=(0,r.MA)(e.theme,"spacing",8,"gap"),n=e=>({gap:(0,r._W)(t,e)});return(0,l.NI)(e,e.gap,n)}return null};S.propTypes={},S.filterProps=["gap"];const E=e=>{if(void 0!==e.columnGap&&null!==e.columnGap){const t=(0,r.MA)(e.theme,"spacing",8,"columnGap"),n=e=>({columnGap:(0,r._W)(t,e)});return(0,l.NI)(e,e.columnGap,n)}return null};E.propTypes={},E.filterProps=["columnGap"];const A=e=>{if(void 0!==e.rowGap&&null!==e.rowGap){const t=(0,r.MA)(e.theme,"spacing",8,"rowGap"),n=e=>({rowGap:(0,r._W)(t,e)});return(0,l.NI)(e,e.rowGap,n)}return null};A.propTypes={},A.filterProps=["rowGap"];i(S,E,A,(0,o.Ay)({prop:"gridColumn"}),(0,o.Ay)({prop:"gridRow"}),(0,o.Ay)({prop:"gridAutoFlow"}),(0,o.Ay)({prop:"gridAutoColumns"}),(0,o.Ay)({prop:"gridAutoRows"}),(0,o.Ay)({prop:"gridTemplateColumns"}),(0,o.Ay)({prop:"gridTemplateRows"}),(0,o.Ay)({prop:"gridTemplateAreas"}),(0,o.Ay)({prop:"gridArea"}));function C(e,t){return"grey"===t?t:e}i((0,o.Ay)({prop:"color",themeKey:"palette",transform:C}),(0,o.Ay)({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:C}),(0,o.Ay)({prop:"backgroundColor",themeKey:"palette",transform:C}));function _(e){return e<=1&&0!==e?"".concat(100*e,"%"):e}const O=(0,o.Ay)({prop:"width",transform:_}),P=e=>{if(void 0!==e.maxWidth&&null!==e.maxWidth){const t=t=>{var n,r;const o=(null==(n=e.theme)||null==(n=n.breakpoints)||null==(n=n.values)?void 0:n[t])||l.zu[t];return o?"px"!==(null==(r=e.theme)||null==(r=r.breakpoints)?void 0:r.unit)?{maxWidth:"".concat(o).concat(e.theme.breakpoints.unit)}:{maxWidth:o}:{maxWidth:_(t)}};return(0,l.NI)(e,e.maxWidth,t)}return null};P.filterProps=["maxWidth"];const T=(0,o.Ay)({prop:"minWidth",transform:_}),N=(0,o.Ay)({prop:"height",transform:_}),R=(0,o.Ay)({prop:"maxHeight",transform:_}),M=(0,o.Ay)({prop:"minHeight",transform:_}),L=((0,o.Ay)({prop:"size",cssProperty:"width",transform:_}),(0,o.Ay)({prop:"size",cssProperty:"height",transform:_}),i(O,P,T,N,R,M,(0,o.Ay)({prop:"boxSizing"})),{border:{themeKey:"borders",transform:s},borderTop:{themeKey:"borders",transform:s},borderRight:{themeKey:"borders",transform:s},borderBottom:{themeKey:"borders",transform:s},borderLeft:{themeKey:"borders",transform:s},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:s},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:k},color:{themeKey:"palette",transform:C},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:C},backgroundColor:{themeKey:"palette",transform:C},p:{style:r.Ms},pt:{style:r.Ms},pr:{style:r.Ms},pb:{style:r.Ms},pl:{style:r.Ms},px:{style:r.Ms},py:{style:r.Ms},padding:{style:r.Ms},paddingTop:{style:r.Ms},paddingRight:{style:r.Ms},paddingBottom:{style:r.Ms},paddingLeft:{style:r.Ms},paddingX:{style:r.Ms},paddingY:{style:r.Ms},paddingInline:{style:r.Ms},paddingInlineStart:{style:r.Ms},paddingInlineEnd:{style:r.Ms},paddingBlock:{style:r.Ms},paddingBlockStart:{style:r.Ms},paddingBlockEnd:{style:r.Ms},m:{style:r.Lc},mt:{style:r.Lc},mr:{style:r.Lc},mb:{style:r.Lc},ml:{style:r.Lc},mx:{style:r.Lc},my:{style:r.Lc},margin:{style:r.Lc},marginTop:{style:r.Lc},marginRight:{style:r.Lc},marginBottom:{style:r.Lc},marginLeft:{style:r.Lc},marginX:{style:r.Lc},marginY:{style:r.Lc},marginInline:{style:r.Lc},marginInlineStart:{style:r.Lc},marginInlineEnd:{style:r.Lc},marginBlock:{style:r.Lc},marginBlockStart:{style:r.Lc},marginBlockEnd:{style:r.Lc},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:S},rowGap:{style:A},columnGap:{style:E},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:_},maxWidth:{style:P},minWidth:{transform:_},height:{transform:_},maxHeight:{transform:_},minHeight:{transform:_},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}})},8698:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var r=n(8168),o=n(8587),a=n(835),i=n(7758);const l=["sx"],s=e=>{var t,n;const r={systemProps:{},otherProps:{}},o=null!=(t=null==e||null==(n=e.theme)?void 0:n.unstable_sxConfig)?t:i.A;return Object.keys(e).forEach((t=>{o[t]?r.systemProps[t]=e[t]:r.otherProps[t]=e[t]})),r};function u(e){const{sx:t}=e,n=(0,o.A)(e,l),{systemProps:i,otherProps:u}=s(n);let c;return c=Array.isArray(t)?[i,...t]:"function"===typeof t?function(){const e=t(...arguments);return(0,a.Q)(e)?(0,r.A)({},i,e):i}:(0,r.A)({},i,t),(0,r.A)({},u,{sx:c})}},3234:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r.A,extendSxProp:()=>o.A,unstable_createStyleFunctionSx:()=>r.k,unstable_defaultSxConfig:()=>a.A});var r=n(8812),o=n(8698),a=n(7758)},8812:(e,t,n)=>{"use strict";n.d(t,{A:()=>c,k:()=>s});var r=n(410),o=n(3815),a=n(7162),i=n(9751),l=n(7758);function s(){function e(e,t,n,o){const l={[e]:t,theme:n},s=o[e];if(!s)return{[e]:t};const{cssProperty:u=e,themeKey:c,transform:d,style:f}=s;if(null==t)return null;if("typography"===c&&"inherit"===t)return{[e]:t};const p=(0,a.Yn)(n,c)||{};if(f)return f(l);return(0,i.NI)(l,t,(t=>{let n=(0,a.BO)(p,d,t);return t===n&&"string"===typeof t&&(n=(0,a.BO)(p,d,"".concat(e).concat("default"===t?"":(0,r.A)(t)),t)),!1===u?n:{[u]:n}}))}return function t(n){var r;const{sx:a,theme:s={}}=n||{};if(!a)return null;const u=null!=(r=s.unstable_sxConfig)?r:l.A;function c(n){let r=n;if("function"===typeof n)r=n(s);else if("object"!==typeof n)return n;if(!r)return null;const a=(0,i.EU)(s.breakpoints),l=Object.keys(a);let c=a;return Object.keys(r).forEach((n=>{const a=(l=r[n],d=s,"function"===typeof l?l(d):l);var l,d;if(null!==a&&void 0!==a)if("object"===typeof a)if(u[n])c=(0,o.A)(c,e(n,a,s,u));else{const e=(0,i.NI)({theme:s},a,(e=>({[n]:e})));!function(){for(var e=arguments.length,t=new Array(e),n=0;ne.concat(Object.keys(t))),[]),o=new Set(r);return t.every((e=>o.size===Object.keys(e).length))}(e,a)?c=(0,o.A)(c,e):c[n]=t({sx:a,theme:s})}else c=(0,o.A)(c,e(n,a,s,u))})),(0,i.vf)(l,c)}return Array.isArray(a)?a.map(c):c(a)}}const u=s();u.filterProps=["sx"];const c=u},5527:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(8280),o=n(7082);const a=(0,r.A)();const i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a;return(0,o.A)(e)}},2919:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(2018);var o=n(5527);function a(e){let{props:t,name:n,defaultTheme:a,themeId:i}=e,l=(0,o.A)(a);i&&(l=l[i]||l);const s=function(e){const{theme:t,name:n,props:o}=e;return t&&t.components&&t.components[n]&&t.components[n].defaultProps?(0,r.A)(t.components[n].defaultProps,o):o}({theme:l,name:n,props:t});return s}},7082:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(5043),o=n(5756);const a=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const t=r.useContext(o.T);return t&&(n=t,0!==Object.keys(n).length)?t:e;var n}},2374:(e,t,n)=>{"use strict";t.A=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=a(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=o?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(r,i,l):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}(n(5043)),o=n(3174);function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(a=function(e){return e?n:t})(e)}t.A=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const t=r.useContext(o.ThemeContext);return t&&(n=t,0!==Object.keys(n).length)?t:e;var n}},5430:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const r=e=>e,o=(()=>{let e=r;return{configure(t){e=t},generate:t=>e(t),reset(){e=r}}})()},410:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6632);function o(e){if("string"!==typeof e)throw new Error((0,r.A)(7));return e.charAt(0).toUpperCase()+e.slice(1)}},578:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r.A});var r=n(410)},7040:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MIN_SAFE_INTEGER,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Number.MAX_SAFE_INTEGER;return Math.max(t,Math.min(e,n))}},5383:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r.A});var r=n(7040)},8606:(e,t,n)=>{"use strict";function r(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;const r={};return Object.keys(e).forEach((o=>{r[o]=e[o].reduce(((e,r)=>{if(r){const o=t(r);""!==o&&e.push(o),n&&n[r]&&e.push(n[r])}return e}),[]).join(" ")})),r}n.d(t,{A:()=>r})},835:(e,t,n)=>{"use strict";n.d(t,{A:()=>i,Q:()=>o});var r=n(8168);function o(e){if("object"!==typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function a(e){if(!o(e))return e;const t={};return Object.keys(e).forEach((n=>{t[n]=a(e[n])})),t}function i(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{clone:!0};const l=n.clone?(0,r.A)({},e):e;return o(e)&&o(t)&&Object.keys(t).forEach((r=>{"__proto__"!==r&&(o(t[r])&&r in e&&o(e[r])?l[r]=i(e[r],t[r],n):n.clone?l[r]=o(t[r])?a(t[r]):t[r]:l[r]=t[r])})),l}},4534:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r.A,isPlainObject:()=>r.Q});var r=n(835)},6632:(e,t,n)=>{"use strict";function r(e){let t="https://mui.com/production-error/?code="+e;for(let n=1;nr})},7245:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r.A});var r=n(6632)},2400:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>a,li:()=>o});var r=n(5430);const o={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function a(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Mui";const a=o[t];return a?"".concat(n,"-").concat(a):"".concat(r.A.generate(e),"-").concat(t)}},7056:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(2400);function o(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Mui";const o={};return t.forEach((t=>{o[t]=(0,r.Ay)(e,t,n)})),o}},2046:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>s,getFunctionName:()=>a});var r=n(9565);const o=/^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;function a(e){const t="".concat(e).match(o);return t&&t[1]||""}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e.displayName||e.name||a(e)||t}function l(e,t,n){const r=i(t);return e.displayName||(""!==r?"".concat(n,"(").concat(r,")"):n)}function s(e){if(null!=e){if("string"===typeof e)return e;if("function"===typeof e)return i(e,"Component");if("object"===typeof e)switch(e.$$typeof){case r.ForwardRef:return l(e,e.render,"ForwardRef");case r.Memo:return l(e,e.type,"memo");default:return}}}},8609:(e,t)=>{"use strict";var n,r=Symbol.for("react.element"),o=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),u=Symbol.for("react.context"),c=Symbol.for("react.server_context"),d=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),v=Symbol.for("react.offscreen");function y(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case a:case l:case i:case f:case p:return e;default:switch(e=e&&e.$$typeof){case c:case u:case d:case m:case h:case s:return e;default:return t}}case o:return t}}}n=Symbol.for("react.module.reference"),t.ForwardRef=d,t.Memo=h},9565:(e,t,n)=>{"use strict";e.exports=n(8609)},2144:(e,t,n)=>{"use strict";function r(e){return e&&e.ownerDocument||document}n.d(t,{A:()=>r})},2018:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(8168);function o(e,t){const n=(0,r.A)({},t);return Object.keys(e).forEach((a=>{if(a.toString().match(/^(components|slots)$/))n[a]=(0,r.A)({},e[a],n[a]);else if(a.toString().match(/^(componentsProps|slotProps)$/)){const i=e[a]||{},l=t[a];n[a]={},l&&Object.keys(l)?i&&Object.keys(i)?(n[a]=(0,r.A)({},l),Object.keys(i).forEach((e=>{n[a][e]=o(i[e],l[e])}))):n[a]=l:n[a]=i}else void 0===n[a]&&(n[a]=e[a])})),n}},9184:(e,t,n)=>{"use strict";function r(e,t){"function"===typeof e?e(t):e&&(e.current=t)}n.d(t,{A:()=>r})},1944:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(5043);function o(e){let{controlled:t,default:n,name:o,state:a="value"}=e;const{current:i}=r.useRef(void 0!==t),[l,s]=r.useState(n);return[i?t:l,r.useCallback((e=>{i||s(e)}),[])]}},3844:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(5043);const o="undefined"!==typeof window?r.useLayoutEffect:r.useEffect},4626:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(5043),o=n(3844);const a=function(e){const t=r.useRef(e);return(0,o.A)((()=>{t.current=e})),r.useRef((function(){return(0,t.current)(...arguments)})).current}},7042:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(5043),o=n(9184);function a(){for(var e=arguments.length,t=new Array(e),n=0;nt.every((e=>null==e))?null:e=>{t.forEach((t=>{(0,o.A)(t,e)}))}),t)}},992:(e,t,n)=>{"use strict";var r;n.d(t,{A:()=>l});var o=n(5043);let a=0;const i=(r||(r=n.t(o,2)))["useId".toString()];function l(e){if(void 0!==i){const t=i();return null!=e?e:t}return function(e){const[t,n]=o.useState(e),r=e||t;return o.useEffect((()=>{null==t&&(a+=1,n("mui-".concat(a)))}),[t]),r}(e)}},932:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var r=n(5043),o=n(1140);let a=!0,i=!1;const l=new o.E,s={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function u(e){e.metaKey||e.altKey||e.ctrlKey||(a=!0)}function c(){a=!1}function d(){"hidden"===this.visibilityState&&i&&(a=!0)}function f(e){const{target:t}=e;try{return t.matches(":focus-visible")}catch(n){}return a||function(e){const{type:t,tagName:n}=e;return!("INPUT"!==n||!s[t]||e.readOnly)||"TEXTAREA"===n&&!e.readOnly||!!e.isContentEditable}(t)}function p(){const e=r.useCallback((e=>{var t;null!=e&&((t=e.ownerDocument).addEventListener("keydown",u,!0),t.addEventListener("mousedown",c,!0),t.addEventListener("pointerdown",c,!0),t.addEventListener("touchstart",c,!0),t.addEventListener("visibilitychange",d,!0))}),[]),t=r.useRef(!1);return{isFocusVisibleRef:t,onFocus:function(e){return!!f(e)&&(t.current=!0,!0)},onBlur:function(){return!!t.current&&(i=!0,l.start(100,(()=>{i=!1})),t.current=!1,!0)},ref:e}}},1140:(e,t,n)=>{"use strict";n.d(t,{E:()=>i,A:()=>l});var r=n(5043);const o={};const a=[];class i{constructor(){this.currentId=null,this.clear=()=>{null!==this.currentId&&(clearTimeout(this.currentId),this.currentId=null)},this.disposeEffect=()=>this.clear}static create(){return new i}start(e,t){this.clear(),this.currentId=setTimeout((()=>{this.currentId=null,t()}),e)}}function l(){const e=function(e,t){const n=r.useRef(o);return n.current===o&&(n.current=e(t)),n}(i.create).current;var t;return t=e.disposeEffect,r.useEffect(t,a),e}},5117:(e,t,n)=>{"use strict";n.d(t,{$U:()=>s,KT:()=>Q,b7:()=>D,es:()=>z,m8:()=>N,uA:()=>B});var r,o=n(5043);const a="undefined"!==typeof process&&"true"===(null===(r={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0})||void 0===r?void 0:r.REACT_APP_IDE_DEVMODE),i="undefined"!==typeof window&&!0===(null===window||void 0===window?void 0:window.REACT_BUDDY_IDE_DEVMODE)||a,l=e=>{let{ComponentPreviews:t}=e;return o.createElement(o.Suspense,{fallback:o.createElement("div",null,"Loading sources...")},o.createElement(t,null))},s=e=>{let{children:t,ComponentPreviews:n,useInitialHook:r,devmode:a}=e;const s=function(e){return null!=e?e:i}(a);return s?r?((e,t)=>()=>{const n=e();return n.loading?o.createElement("div",null," loading... "):n.error?o.createElement("div",null,"Unable to bootstrap dev mode. Probably you need to run backend or enable backend mocking mode."):o.createElement(l,{ComponentPreviews:t})})(r,n)({}):o.createElement(l,{ComponentPreviews:n}):o.createElement(o.Fragment,null,t)};function u(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!==typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}u('.table-header {\n border-color: #363636;\n border-width: 1px 0;\n border-style: solid;\n font-weight: 800;\n padding: 10px 20px 10px 10px;\n display: flex;\n}\n.table-header:after {\n content: "";\n}\n.table-header .table-header-item {\n flex-basis: 22%;\n color: #444;\n}\n.table-header .table-header-item-control {\n flex-basis: 78%;\n color: #444;\n}');const c=()=>o.createElement("div",{className:"table-header"},o.createElement("div",{className:"table-header-item"},"Property name"),o.createElement("div",{className:"table-header-item-control"},"Edit"));var d;function f(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o{var{value:t}=e,n=f(e,["value"]);return o.createElement("input",Object.assign({},n,{value:null!==t&&void 0!==t?t:"",type:"text"}))},h=e=>{var{checked:t,className:n}=e,r=f(e,["checked","className"]);return o.createElement("div",{className:n},o.createElement("input",Object.assign({},r,{checked:null!==t&&void 0!==t&&t,type:"checkbox"})))},m=e=>{var{optionsData:t}=e,n=f(e,["optionsData"]);return o.createElement("select",Object.assign({},n),null===t||void 0===t?void 0:t.map((e=>o.createElement("option",{value:e,key:e},e))))};u(".radio-control {\n display: flex;\n align-items: center;\n margin-right: 15px;\n}\n.radio-control label {\n margin-right: 5px;\n}");const v=e=>{var{className:t,radioData:n,extValue:r}=e,a=f(e,["className","radioData","extValue"]);return n?o.createElement("div",{className:t},n.map((e=>o.createElement("div",{key:e,className:"radio-control"},o.createElement("label",{htmlFor:String(e)}," ",e),o.createElement("input",Object.assign({},a,{type:"radio",checked:r==e,id:String(e),value:e})))))):null},y=e=>o.createElement("textarea",Object.assign({},e));u(".json-editor {\n flex-direction: column;\n}\n.json-editor .json-editor-textarea {\n align-self: start;\n width: 100%;\n min-height: 100px;\n margin: 0 0 10px 0;\n}\n.json-editor .json-editor-apply-button {\n align-self: start;\n}");const g=e=>{let{className:t,propName:n,propValue:r,propUpdate:a}=e;const[i,l]=(0,o.useState)(),s=(0,o.useCallback)((e=>{const{currentTarget:{value:t}}=e;l(t)}),[]),u=(0,o.useMemo)((()=>null==i),[i]),c=(0,o.useCallback)((()=>{a(n,i),l(void 0)}),[n,i]);return o.createElement("div",{className:t+" json-editor"},o.createElement(y,{className:"json-editor-textarea",onChange:s,id:n,value:null!==i&&void 0!==i?i:r}),o.createElement("button",{className:"json-editor-apply-button",disabled:u,onClick:c},"Apply changes"))},b=e=>{let{controlType:t,data:n,propName:r,propValue:a,onPropChange:i}=e;switch(t){case d.Input:return o.createElement(p,{className:"table-item-control",id:r,value:a,onChange:i});case d.Textarea:return o.createElement(y,{className:"table-item-control",id:r,value:a,onChange:i});case d.Select:return o.createElement(m,{className:"table-item-control",id:r,onChange:i,optionsData:n});case d.Checkbox:return o.createElement(h,{checked:a,id:r,onChange:i});case d.Radio:return o.createElement(v,{className:"table-item-control",extValue:a,name:r,onChange:i,radioData:n});case d.JsonEditor:return o.createElement(g,{className:"table-item-control",propValue:a,propName:r,propUpdate:i});default:return o.createElement(p,{className:"table-item-control",id:r,value:a,onChange:i})}};u('.table-item-wrapper {\n border-color: #363636;\n border-width: 0 0 1px 0;\n border-style: solid;\n padding: 10px;\n display: flex;\n}\n.table-item-wrapper:after {\n content: "";\n}\n.table-item-wrapper .table-item,\n.table-item-wrapper .table-item-control {\n display: flex;\n align-items: center;\n justify-content: start;\n}\n.table-item-wrapper .table-item {\n flex-basis: 22%;\n}\n.table-item-wrapper .table-item-control {\n flex-basis: 78%;\n}');const w=e=>{let{propName:t,propValue:n,onPropChange:r,controlType:a,data:i}=e;return o.createElement("div",{className:"table-item-wrapper"},o.createElement("div",{className:"table-item"},t),o.createElement(b,{data:i,controlType:a,propName:t,propValue:n,onPropChange:r}))};u('.table-items {\n background-color: whitesmoke;\n display: flex;\n flex-direction: column;\n overflow-y: scroll;\n}\n.table-items:after {\n content: "";\n}');const x=e=>{let{toolsPropsToEdit:t}=e;const{props:n=null,initialProps:r=null,propsEditInfo:a=null,updateProps:i}=Object.assign({},t);(0,o.useEffect)((()=>{let e={};a&&Object.entries(a).map((t=>{let[n,r]=t;const o=Array.isArray(r.data)?r.data[0]:r.data;e=Object.assign(Object.assign({},e),{[n]:o})})),null===i||void 0===i||i(Object.assign(Object.assign({},n),e))}),[a]);const l=(0,o.useCallback)((e=>{const{value:t,id:r}=e.currentTarget,o=Object.assign(Object.assign({},n),{[r]:t});i(o)}),[n]),s=(0,o.useCallback)((e=>{const{checked:t,id:r}=e.currentTarget,o=Object.assign(Object.assign({},n),{[r]:t});i(o)}),[n]),u=(0,o.useCallback)((e=>{const{value:t,id:r}=e.currentTarget,o=Object.assign(Object.assign({},n),{[r]:t});i(o)}),[n]),c=(0,o.useCallback)((e=>{const{value:t,name:r}=e.currentTarget,o=Object.assign(Object.assign({},n),{[r]:t});i(o)}),[n]),f=(0,o.useCallback)((e=>{const{value:t,id:r}=e.currentTarget,o=Object.assign(Object.assign({},n),{[r]:t});i(o)}),[n]),p=(0,o.useCallback)(((e,t)=>{let r;try{r=JSON.parse(t)}catch(a){return void alert("Property ".concat(e," has incorrect value to object parse"))}const o=Object.assign(Object.assign({},n),{[e]:r});i(o)}),[n]),h=(0,o.useCallback)((e=>{switch(e){case d.Input:return l;case d.Checkbox:return s;case d.Select:return u;case d.Radio:return c;case d.Textarea:return f;case d.JsonEditor:return p;default:return l}}),[n]),m=(0,o.useCallback)((()=>{let e=[];const t=n&&Object.entries(n).filter((e=>{let[t]=e;return!(null===a||void 0===a?void 0:a.hasOwnProperty(t))})).map((e=>{let[t,n]=e;return o.createElement(w,{key:t,propName:t,propValue:n,initialPropValue:null===r||void 0===r?void 0:r[t],onPropChange:h()})}));e=t?[...e,...t]:e;const i=a&&Object.entries(a).map((e=>{let[t,a]=e;return o.createElement(w,{key:t,data:a.data,controlType:a.controlType,propName:t,propValue:a.controlType===d.JsonEditor?JSON.stringify(null===n||void 0===n?void 0:n[t],null,2):null===n||void 0===n?void 0:n[t],initialPropValue:null===r||void 0===r?void 0:r[t],onPropChange:h(a.controlType)})}));return e=i?[...e,...i]:e,e}),[n,a]);return o.createElement("div",{className:"table-items"},m())};u(".props-edit-table {\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n}");const k=e=>{let{toolsPropsToEdit:t}=e;return o.createElement("div",{className:"props-edit-table"},o.createElement(c,null),o.createElement(x,{toolsPropsToEdit:t}))};u(".tools-panel {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n background-color: #eeeeee;\n}\n.tools-panel .empty-props-message {\n color: red;\n}");const S=e=>{let{toolsPropsToEdit:t}=e;const{props:n=null,propsEditInfo:r=null}=Object.assign({},t),a=(0,o.useCallback)((()=>{let e;return e=!!n&&Object.keys(n).length>0,e=e||!!r&&Object.keys(r).length>0,e?o.createElement(k,{toolsPropsToEdit:t}):o.createElement("div",{className:"empty-props-message"},"This component has no properties to edit")}),[n,r]);return o.createElement("div",{className:"tools-panel"},a())};const E="/REACT_BUDDY_PALETTE",A="urlchange",C=(e,t)=>{const[,n]=(0,o.useState)(!1),r=(0,o.useCallback)((()=>{n((e=>!e))}),[]);return(0,o.useEffect)((()=>(window.addEventListener(A,r),window.addEventListener("popstate",r),()=>{window.removeEventListener(A,r),window.removeEventListener("popstate",r)})),[]),function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=function(){const{hash:e,pathname:t}=window.location;return e?e.replace("#",""):t}(),r=new RegExp(function(e){return t=encodeURI(e),t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");var t}(e)).exec(n);if(r){const[e]=r;return!t||n===e}return!1}(e,t)};function _(e){window.history.replaceState({},"",e),function(e){const t=new CustomEvent(A,{bubbles:!0,detail:e});window.dispatchEvent(t)}(e)}var O="previews-module_previewsMain__31L3F",P="previews-module_previewsContent__1aMUf",T="previews-module_previewsToolsPanel__30jjI";u(".previews-module_previewsMain__31L3F {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n.previews-module_previewsContent__1aMUf {\n flex-basis: 100%;\n flex-grow: 1;\n overflow-y: auto;\n}\n\n.previews-module_previewsToolsPanel__30jjI {\n flex-basis: 295px;\n min-height: 100px;\n}");const N=e=>{let{children:t,palette:n=null}=e;const[r,a]=(0,o.useState)(null),[i,l]=(0,o.useState)((()=>{var e;return null!==(e=window.__PROPERTIES_EDIT_PANEL_ENABLED__)&&void 0!==e&&e})),s=C(E),u=(0,o.useMemo)((()=>t?o.Children.map(t,(e=>o.cloneElement(e,{setToolsPropsToEdit:a}))):null),[t]);return(0,o.useEffect)((()=>{var e;window.enableComponentsPropsPanelEditor=e=>{var t;null===(t=window.setPropertiesEditPanelStatus)||void 0===t||t.call(window,e),l(e)},window.reactBuddyHistoryPush=_,null===(e=window.cefQuery)||void 0===e||e.call(window,{request:"event:react-toolbox-initialized"})}),[]),s?n:o.createElement("div",{className:O},o.createElement("div",{className:P},u),i&&o.createElement("div",{className:T},o.createElement(S,{toolsPropsToEdit:r})))};var R="react-buddy-error-boundary-module_errorMessageContainer__1L848",M="react-buddy-error-boundary-module_errorMessageTitle__r4YnX",L="react-buddy-error-boundary-module_errorMessageStack__2XNRm";u(".react-buddy-error-boundary-module_errorMessageContainer__1L848 {\n width: 100%;\n height: 100%;\n padding-left: 20px;\n padding-right: 20px;\n background-color: #fff;\n}\n\n.react-buddy-error-boundary-module_errorMessageTitle__r4YnX {\n color: #d32f2f;\n}\n\n.react-buddy-error-boundary-module_errorMessageStack__2XNRm {\n color: #a9a9a9;\n font-size: 0.8rem;\n width: 100%;\n overflow-x: scroll;\n}");class j extends o.Component{constructor(){super(...arguments),this.state={error:null}}componentDidCatch(e){console.error(e),this.setState({error:e})}componentDidUpdate(e,t){null!=t.error&&this.setState({error:null})}render(){const{error:e}=this.state,{componentName:t,children:n}=this.props;return null!=e?o.createElement("div",{className:R},o.createElement("h2",{className:M},t?"Something went wrong while rendering ".concat(t," component"):"Something went wrong"),o.createElement("p",null,e.message),o.createElement("pre",{className:L},e.stack)):n}}const z=e=>{let{style:t,className:n,embeddable:r,children:a}=e;return r?o.createElement(o.Fragment,null,a):o.createElement("div",{style:t,className:n},a)},I=o.createContext({}),D=e=>{let{children:t,name:n,className:r,style:a}=e;return o.createElement(I.Provider,{value:{categoryClassName:r,categoryStyle:a}},function(e){let{children:t,categoryName:n}=e;return o.Children.map(t,(e=>o.cloneElement(e,{categoryName:n})))}({children:t,categoryName:n}))};const F=o.createContext({}),B=e=>{let{children:t,categoryName:n,name:r,className:a,style:i}=e;return o.createElement(F.Provider,{value:{componentClassName:a,componentStyle:i}},function(e){let{children:t,componentName:n,categoryName:r}=e;return o.Children.map(t,(e=>o.cloneElement(e,{categoryName:r,componentName:n})))}({children:t,componentName:r,categoryName:n}))};function U(){for(var e=arguments.length,t=new Array(e),n=0;ne?e.split(" "):[]));return[...new Set(r)].join(" ")}var W="variant-module_fullWindow__1DkCI",$="variant-module_variantRouteCenter__ce423";u(".variant-module_fullWindow__1DkCI {\n padding: 0;\n margin: 0;\n width: 100%;\n height: 100%;\n}\n\n.variant-module_variantRouteCenter__ce423 {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n min-height: 100%;\n}");const V="DEFAULT_VARIANT",H=e=>{let{categoryName:t,componentName:n,variantName:r=V,previewLayout:a="center",children:i}=e;const{categoryClassName:l,categoryStyle:s}=(0,o.useContext)(I),{componentClassName:u,componentStyle:c}=(0,o.useContext)(F),{variantClassName:d,variantStyle:f}=q(),p=(0,o.useMemo)((()=>E+"/"+[t,n,r].filter((e=>null!=e)).join("/")),[t,n,r]),h=C(p,!0),[m,v]=(0,o.useState)(null);return(0,o.useLayoutEffect)((()=>(null!==m&&X(m),()=>{null!==m&&Y(m)})),[m]),h?o.createElement("div",{className:l,style:s},o.createElement("div",{className:u,style:c,ref:v},o.createElement("div",{className:"center"===a?U($,d):d,style:f},i))):null};const K=o.createContext({}),q=()=>(0,o.useContext)(K),Q=e=>{let{children:t,categoryName:n,componentName:r,name:a,previewLayout:i,className:l,style:s}=e;return o.createElement(K.Provider,{value:{variantClassName:l,variantStyle:s}},o.createElement(H,{previewLayout:i,variantName:a,categoryName:n,componentName:r},o.createElement(j,{componentName:r},t)))};function X(e){null!==e&&e!==document&&(e.className=U(W,e.className),X(e.parentElement))}function Y(e){null!==e&&e!==document&&(e.classList.remove(W),Y(e.parentElement))}},1387:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;td,Gh:()=>M,HS:()=>L,Oi:()=>l,Rr:()=>f,pX:()=>F,pb:()=>P,rc:()=>o,tH:()=>D,ue:()=>m,yD:()=>R,zR:()=>i}),function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(o||(o={}));const a="popstate";function i(e){return void 0===e&&(e={}),p((function(e,t){let{pathname:n,search:r,hash:o}=e.location;return c("",{pathname:n,search:r,hash:o},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){return"string"===typeof t?t:d(t)}),null,e)}function l(e,t){if(!1===e||null===e||"undefined"===typeof e)throw new Error(t)}function s(e,t){if(!e){"undefined"!==typeof console&&console.warn(t);try{throw new Error(t)}catch(n){}}}function u(e,t){return{usr:e.state,key:e.key,idx:t}}function c(e,t,n,o){return void 0===n&&(n=null),r({pathname:"string"===typeof e?e:e.pathname,search:"",hash:""},"string"===typeof t?f(t):t,{state:n,key:t&&t.key||o||Math.random().toString(36).substr(2,8)})}function d(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&"?"!==n&&(t+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(t+="#"===r.charAt(0)?r:"#"+r),t}function f(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function p(e,t,n,i){void 0===i&&(i={});let{window:s=document.defaultView,v5Compat:f=!1}=i,p=s.history,h=o.Pop,m=null,v=y();function y(){return(p.state||{idx:null}).idx}function g(){h=o.Pop;let e=y(),t=null==e?null:e-v;v=e,m&&m({action:h,location:w.location,delta:t})}function b(e){let t="null"!==s.location.origin?s.location.origin:s.location.href,n="string"===typeof e?e:d(e);return n=n.replace(/ $/,"%20"),l(t,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,t)}null==v&&(v=0,p.replaceState(r({},p.state,{idx:v}),""));let w={get action(){return h},get location(){return e(s,p)},listen(e){if(m)throw new Error("A history only accepts one active listener");return s.addEventListener(a,g),m=e,()=>{s.removeEventListener(a,g),m=null}},createHref:e=>t(s,e),createURL:b,encodeLocation(e){let t=b(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){h=o.Push;let r=c(w.location,e,t);n&&n(r,e),v=y()+1;let a=u(r,v),i=w.createHref(r);try{p.pushState(a,"",i)}catch(l){if(l instanceof DOMException&&"DataCloneError"===l.name)throw l;s.location.assign(i)}f&&m&&m({action:h,location:w.location,delta:1})},replace:function(e,t){h=o.Replace;let r=c(w.location,e,t);n&&n(r,e),v=y();let a=u(r,v),i=w.createHref(r);p.replaceState(a,"",i),f&&m&&m({action:h,location:w.location,delta:0})},go:e=>p.go(e)};return w}var h;!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(h||(h={}));new Set(["lazy","caseSensitive","path","id","index","children"]);function m(e,t,n){void 0===n&&(n="/");let r=P(("string"===typeof t?f(t):t).pathname||"/",n);if(null==r)return null;let o=v(e);!function(e){e.sort(((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){let n=e.length===t.length&&e.slice(0,-1).every(((e,n)=>e===t[n]));return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((e=>e.childrenIndex)),t.routesMeta.map((e=>e.childrenIndex)))))}(o);let a=null;for(let i=0;null==a&&i{let i={relativePath:void 0===a?e.path||"":a,caseSensitive:!0===e.caseSensitive,childrenIndex:o,route:e};i.relativePath.startsWith("/")&&(l(i.relativePath.startsWith(r),'Absolute route path "'+i.relativePath+'" nested under path "'+r+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),i.relativePath=i.relativePath.slice(r.length));let s=L([r,i.relativePath]),u=n.concat(i);e.children&&e.children.length>0&&(l(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+s+'".'),v(e.children,t,u,s)),(null!=e.path||e.index)&&t.push({path:s,score:A(s,e.index),routesMeta:u})};return e.forEach(((e,t)=>{var n;if(""!==e.path&&null!=(n=e.path)&&n.includes("?"))for(let r of y(e.path))o(e,t,r);else o(e,t)})),t}function y(e){let t=e.split("/");if(0===t.length)return[];let[n,...r]=t,o=n.endsWith("?"),a=n.replace(/\?$/,"");if(0===r.length)return o?[a,""]:[a];let i=y(r.join("/")),l=[];return l.push(...i.map((e=>""===e?a:[a,e].join("/")))),o&&l.push(...i),l.map((t=>e.startsWith("/")&&""===t?"/":t))}const g=/^:[\w-]+$/,b=3,w=2,x=1,k=10,S=-2,E=e=>"*"===e;function A(e,t){let n=e.split("/"),r=n.length;return n.some(E)&&(r+=S),t&&(r+=w),n.filter((e=>!E(e))).reduce(((e,t)=>e+(g.test(t)?b:""===t?x:k)),r)}function C(e,t){let{routesMeta:n}=e,r={},o="/",a=[];for(let i=0;i(r.push({paramName:t,isOptional:null!=n}),n?"/?([^\\/]+)?":"/([^\\/]+)")));e.endsWith("*")?(r.push({paramName:"*"}),o+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":""!==e&&"/"!==e&&(o+="(?:(?=\\/|$))");let a=new RegExp(o,t?void 0:"i");return[a,r]}(e.path,e.caseSensitive,e.end),o=t.match(n);if(!o)return null;let a=o[0],i=a.replace(/(.)\/+$/,"$1"),l=o.slice(1);return{params:r.reduce(((e,t,n)=>{let{paramName:r,isOptional:o}=t;if("*"===r){let e=l[n]||"";i=a.slice(0,a.length-e.length).replace(/(.)\/+$/,"$1")}const s=l[n];return e[r]=o&&!s?void 0:(s||"").replace(/%2F/g,"/"),e}),{}),pathname:a,pathnameBase:i,pattern:e}}function O(e){try{return e.split("/").map((e=>decodeURIComponent(e).replace(/\//g,"%2F"))).join("/")}catch(t){return s(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}function P(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&"/"!==r?null:e.slice(n)||"/"}function T(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified `to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the `to."+n+'` field. Alternatively you may provide the full path as a string in and the router will parse it for you.'}function N(e){return e.filter(((e,t)=>0===t||e.route.path&&e.route.path.length>0))}function R(e,t){let n=N(e);return t?n.map(((t,n)=>n===e.length-1?t.pathname:t.pathnameBase)):n.map((e=>e.pathnameBase))}function M(e,t,n,o){let a;void 0===o&&(o=!1),"string"===typeof e?a=f(e):(a=r({},e),l(!a.pathname||!a.pathname.includes("?"),T("?","pathname","search",a)),l(!a.pathname||!a.pathname.includes("#"),T("#","pathname","hash",a)),l(!a.search||!a.search.includes("#"),T("#","search","hash",a)));let i,s=""===e||""===a.pathname,u=s?"/":a.pathname;if(null==u)i=n;else{let e=t.length-1;if(!o&&u.startsWith("..")){let t=u.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}i=e>=0?t[e]:"/"}let c=function(e,t){void 0===t&&(t="/");let{pathname:n,search:r="",hash:o=""}="string"===typeof e?f(e):e,a=n?n.startsWith("/")?n:function(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)})),n.length>1?n.join("/"):"/"}(n,t):t;return{pathname:a,search:z(r),hash:I(o)}}(a,i),d=u&&"/"!==u&&u.endsWith("/"),p=(s||"."===u)&&n.endsWith("/");return c.pathname.endsWith("/")||!d&&!p||(c.pathname+="/"),c}const L=e=>e.join("/").replace(/\/\/+/g,"/"),j=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),z=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",I=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";class D extends Error{}function F(e){return null!=e&&"number"===typeof e.status&&"string"===typeof e.statusText&&"boolean"===typeof e.internal&&"data"in e}const B=["post","put","patch","delete"],U=(new Set(B),["get",...B]);new Set(U),new Set([301,302,303,307,308]),new Set([307,308]);Symbol("deferred")},219:(e,t,n)=>{"use strict";var r=n(3763),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||o}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!==typeof n){if(h){var o=p(n);o&&o!==h&&e(t,o,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),m=s(n),v=0;v{"use strict";var n="function"===typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,a=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,l=n?Symbol.for("react.profiler"):60114,s=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,c=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,f=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,h=n?Symbol.for("react.suspense_list"):60120,m=n?Symbol.for("react.memo"):60115,v=n?Symbol.for("react.lazy"):60116,y=n?Symbol.for("react.block"):60121,g=n?Symbol.for("react.fundamental"):60117,b=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function x(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case c:case d:case a:case l:case i:case p:return e;default:switch(e=e&&e.$$typeof){case u:case f:case v:case m:case s:return e;default:return t}}case o:return t}}}function k(e){return x(e)===d}t.AsyncMode=c,t.ConcurrentMode=d,t.ContextConsumer=u,t.ContextProvider=s,t.Element=r,t.ForwardRef=f,t.Fragment=a,t.Lazy=v,t.Memo=m,t.Portal=o,t.Profiler=l,t.StrictMode=i,t.Suspense=p,t.isAsyncMode=function(e){return k(e)||x(e)===c},t.isConcurrentMode=k,t.isContextConsumer=function(e){return x(e)===u},t.isContextProvider=function(e){return x(e)===s},t.isElement=function(e){return"object"===typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return x(e)===f},t.isFragment=function(e){return x(e)===a},t.isLazy=function(e){return x(e)===v},t.isMemo=function(e){return x(e)===m},t.isPortal=function(e){return x(e)===o},t.isProfiler=function(e){return x(e)===l},t.isStrictMode=function(e){return x(e)===i},t.isSuspense=function(e){return x(e)===p},t.isValidElementType=function(e){return"string"===typeof e||"function"===typeof e||e===a||e===d||e===l||e===i||e===p||e===h||"object"===typeof e&&null!==e&&(e.$$typeof===v||e.$$typeof===m||e.$$typeof===s||e.$$typeof===u||e.$$typeof===f||e.$$typeof===g||e.$$typeof===b||e.$$typeof===w||e.$$typeof===y)},t.typeOf=x},3763:(e,t,n)=>{"use strict";e.exports=n(4983)},2730:(e,t,n)=>{"use strict";var r=n(5043),o=n(8853);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;nt}return!1}(t,n,o,r)&&(n=null),r||null===o?function(e){return!!d.call(h,e)||!d.call(p,e)&&(f.test(e)?h[e]=!0:(p[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=null===n?3!==o.type&&"":n:(t=o.attributeName,r=o.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(o=o.type)||4===o&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(y,g);v[t]=new m(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(y,g);v[t]=new m(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(y,g);v[t]=new m(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){v[e]=new m(e,1,!1,e.toLowerCase(),null,!1,!1)})),v.xlinkHref=new m("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){v[e]=new m(e,1,!1,e.toLowerCase(),null,!0,!0)}));var w=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,x=Symbol.for("react.element"),k=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),A=Symbol.for("react.profiler"),C=Symbol.for("react.provider"),_=Symbol.for("react.context"),O=Symbol.for("react.forward_ref"),P=Symbol.for("react.suspense"),T=Symbol.for("react.suspense_list"),N=Symbol.for("react.memo"),R=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var M=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var L=Symbol.iterator;function j(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=L&&e[L]||e["@@iterator"])?e:null}var z,I=Object.assign;function D(e){if(void 0===z)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);z=t&&t[1]||""}return"\n"+z+e}var F=!1;function B(e,t){if(!e||F)return"";F=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"===typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(u){var r=u}Reflect.construct(e,[],t)}else{try{t.call()}catch(u){r=u}e.call(t.prototype)}else{try{throw Error()}catch(u){r=u}e()}}catch(u){if(u&&r&&"string"===typeof u.stack){for(var o=u.stack.split("\n"),a=r.stack.split("\n"),i=o.length-1,l=a.length-1;1<=i&&0<=l&&o[i]!==a[l];)l--;for(;1<=i&&0<=l;i--,l--)if(o[i]!==a[l]){if(1!==i||1!==l)do{if(i--,0>--l||o[i]!==a[l]){var s="\n"+o[i].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}}while(1<=i&&0<=l);break}}}finally{F=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?D(e):""}function U(e){switch(e.tag){case 5:return D(e.type);case 16:return D("Lazy");case 13:return D("Suspense");case 19:return D("SuspenseList");case 0:case 2:case 15:return e=B(e.type,!1);case 11:return e=B(e.type.render,!1);case 1:return e=B(e.type,!0);default:return""}}function W(e){if(null==e)return null;if("function"===typeof e)return e.displayName||e.name||null;if("string"===typeof e)return e;switch(e){case S:return"Fragment";case k:return"Portal";case A:return"Profiler";case E:return"StrictMode";case P:return"Suspense";case T:return"SuspenseList"}if("object"===typeof e)switch(e.$$typeof){case _:return(e.displayName||"Context")+".Consumer";case C:return(e._context.displayName||"Context")+".Provider";case O:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case N:return null!==(t=e.displayName||null)?t:W(e.type)||"Memo";case R:t=e._payload,e=e._init;try{return W(e(t))}catch(n){}}return null}function $(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return W(t);case 8:return t===E?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"===typeof t)return t.displayName||t.name||null;if("string"===typeof t)return t}return null}function V(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function H(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function K(e){e._valueTracker||(e._valueTracker=function(e){var t=H(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&"undefined"!==typeof n&&"function"===typeof n.get&&"function"===typeof n.set){var o=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){r=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function q(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=H(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function Q(e){if("undefined"===typeof(e=e||("undefined"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function X(e,t){var n=t.checked;return I({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Y(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=V(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function G(e,t){null!=(t=t.checked)&&b(e,"checked",t,!1)}function J(e,t){G(e,t);var n=V(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,V(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function Z(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&Q(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=ue.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ce(e,t)}))}:ce);function fe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var pe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},he=["Webkit","ms","Moz","O"];function me(e,t,n){return null==t||"boolean"===typeof t||""===t?"":n||"number"!==typeof t||0===t||pe.hasOwnProperty(e)&&pe[e]?(""+t).trim():t+"px"}function ve(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),o=me(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}Object.keys(pe).forEach((function(e){he.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),pe[t]=pe[e]}))}));var ye=I({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ge(e,t){if(t){if(ye[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if("object"!==typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&"object"!==typeof t.style)throw Error(a(62))}}function be(e,t){if(-1===e.indexOf("-"))return"string"===typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var we=null;function xe(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var ke=null,Se=null,Ee=null;function Ae(e){if(e=wo(e)){if("function"!==typeof ke)throw Error(a(280));var t=e.stateNode;t&&(t=ko(t),ke(e.stateNode,e.type,t))}}function Ce(e){Se?Ee?Ee.push(e):Ee=[e]:Se=e}function _e(){if(Se){var e=Se,t=Ee;if(Ee=Se=null,Ae(e),t)for(e=0;e>>=0,0===e?32:31-(lt(e)/st|0)|0},lt=Math.log,st=Math.LN2;var ut=64,ct=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ft(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,o=e.suspendedLanes,a=e.pingedLanes,i=268435455&n;if(0!==i){var l=i&~o;0!==l?r=dt(l):0!==(a&=i)&&(r=dt(a))}else 0!==(i=n&~o)?r=dt(i):0!==a&&(r=dt(a));if(0===r)return 0;if(0!==t&&t!==r&&0===(t&o)&&((o=r&-r)>=(a=t&-t)||16===o&&0!==(4194240&a)))return t;if(0!==(4&r)&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function yt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-it(t)]=n}function gt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-it(n),o=1<=jn),Dn=String.fromCharCode(32),Fn=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Mn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Un(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var Wn=!1;var $n={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Vn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!$n[e.type]:"textarea"===t}function Hn(e,t,n,r){Ce(r),0<(t=Kr(t,"onChange")).length&&(n=new cn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Kn=null,qn=null;function Qn(e){Dr(e,0)}function Xn(e){if(q(xo(e)))return e}function Yn(e,t){if("change"===e)return t}var Gn=!1;if(c){var Jn;if(c){var Zn="oninput"in document;if(!Zn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Zn="function"===typeof er.oninput}Jn=Zn}else Jn=!1;Gn=Jn&&(!document.documentMode||9=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=ur(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function fr(){for(var e=window,t=Q();t instanceof e.HTMLIFrameElement;){try{var n="string"===typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=Q((e=t.contentWindow).document)}return t}function pr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function hr(e){var t=fr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&pr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var o=n.textContent.length,a=Math.min(r.start,o);r=void 0===r.end?a:Math.min(r.end,o),!e.extend&&a>r&&(o=r,r=a,a=o),o=cr(n,a);var i=cr(n,r);o&&i&&(1!==e.rangeCount||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&((t=t.createRange()).setStart(o.node,o.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"===typeof n.focus&&n.focus(),n=0;n=document.documentMode,vr=null,yr=null,gr=null,br=!1;function wr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;br||null==vr||vr!==Q(r)||("selectionStart"in(r=vr)&&pr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},gr&&sr(gr,r)||(gr=r,0<(r=Kr(yr,"onSelect")).length&&(t=new cn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=vr)))}function xr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var kr={animationend:xr("Animation","AnimationEnd"),animationiteration:xr("Animation","AnimationIteration"),animationstart:xr("Animation","AnimationStart"),transitionend:xr("Transition","TransitionEnd")},Sr={},Er={};function Ar(e){if(Sr[e])return Sr[e];if(!kr[e])return e;var t,n=kr[e];for(t in n)if(n.hasOwnProperty(t)&&t in Er)return Sr[e]=n[t];return e}c&&(Er=document.createElement("div").style,"AnimationEvent"in window||(delete kr.animationend.animation,delete kr.animationiteration.animation,delete kr.animationstart.animation),"TransitionEvent"in window||delete kr.transitionend.transition);var Cr=Ar("animationend"),_r=Ar("animationiteration"),Or=Ar("animationstart"),Pr=Ar("transitionend"),Tr=new Map,Nr="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Rr(e,t){Tr.set(e,t),s(t,[e])}for(var Mr=0;MrEo||(e.current=So[Eo],So[Eo]=null,Eo--)}function _o(e,t){Eo++,So[Eo]=e.current,e.current=t}var Oo={},Po=Ao(Oo),To=Ao(!1),No=Oo;function Ro(e,t){var n=e.type.contextTypes;if(!n)return Oo;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in n)a[o]=t[o];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function Mo(e){return null!==(e=e.childContextTypes)&&void 0!==e}function Lo(){Co(To),Co(Po)}function jo(e,t,n){if(Po.current!==Oo)throw Error(a(168));_o(Po,t),_o(To,n)}function zo(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!==typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in t))throw Error(a(108,$(e)||"Unknown",o));return I({},n,r)}function Io(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Oo,No=Po.current,_o(Po,e),_o(To,To.current),!0}function Do(e,t,n){var r=e.stateNode;if(!r)throw Error(a(169));n?(e=zo(e,t,No),r.__reactInternalMemoizedMergedChildContext=e,Co(To),Co(Po),_o(Po,e)):Co(To),_o(To,n)}var Fo=null,Bo=!1,Uo=!1;function Wo(e){null===Fo?Fo=[e]:Fo.push(e)}function $o(){if(!Uo&&null!==Fo){Uo=!0;var e=0,t=bt;try{var n=Fo;for(bt=1;e>=i,o-=i,Go=1<<32-it(t)+o|n<m?(v=d,d=null):v=d.sibling;var y=p(o,d,l[m],s);if(null===y){null===d&&(d=v);break}e&&d&&null===y.alternate&&t(o,d),a=i(y,a,m),null===c?u=y:c.sibling=y,c=y,d=v}if(m===l.length)return n(o,d),aa&&Zo(o,m),u;if(null===d){for(;mv?(y=m,m=null):y=m.sibling;var b=p(o,m,g.value,u);if(null===b){null===m&&(m=y);break}e&&m&&null===b.alternate&&t(o,m),l=i(b,l,v),null===d?c=b:d.sibling=b,d=b,m=y}if(g.done)return n(o,m),aa&&Zo(o,v),c;if(null===m){for(;!g.done;v++,g=s.next())null!==(g=f(o,g.value,u))&&(l=i(g,l,v),null===d?c=g:d.sibling=g,d=g);return aa&&Zo(o,v),c}for(m=r(o,m);!g.done;v++,g=s.next())null!==(g=h(m,o,v,g.value,u))&&(e&&null!==g.alternate&&m.delete(null===g.key?v:g.key),l=i(g,l,v),null===d?c=g:d.sibling=g,d=g);return e&&m.forEach((function(e){return t(o,e)})),aa&&Zo(o,v),c}return function e(r,a,i,s){if("object"===typeof i&&null!==i&&i.type===S&&null===i.key&&(i=i.props.children),"object"===typeof i&&null!==i){switch(i.$$typeof){case x:e:{for(var u=i.key,c=a;null!==c;){if(c.key===u){if((u=i.type)===S){if(7===c.tag){n(r,c.sibling),(a=o(c,i.props.children)).return=r,r=a;break e}}else if(c.elementType===u||"object"===typeof u&&null!==u&&u.$$typeof===R&&ba(u)===c.type){n(r,c.sibling),(a=o(c,i.props)).ref=ya(r,c,i),a.return=r,r=a;break e}n(r,c);break}t(r,c),c=c.sibling}i.type===S?((a=ju(i.props.children,r.mode,s,i.key)).return=r,r=a):((s=Lu(i.type,i.key,i.props,null,r.mode,s)).ref=ya(r,a,i),s.return=r,r=s)}return l(r);case k:e:{for(c=i.key;null!==a;){if(a.key===c){if(4===a.tag&&a.stateNode.containerInfo===i.containerInfo&&a.stateNode.implementation===i.implementation){n(r,a.sibling),(a=o(a,i.children||[])).return=r,r=a;break e}n(r,a);break}t(r,a),a=a.sibling}(a=Du(i,r.mode,s)).return=r,r=a}return l(r);case R:return e(r,a,(c=i._init)(i._payload),s)}if(te(i))return m(r,a,i,s);if(j(i))return v(r,a,i,s);ga(r,i)}return"string"===typeof i&&""!==i||"number"===typeof i?(i=""+i,null!==a&&6===a.tag?(n(r,a.sibling),(a=o(a,i)).return=r,r=a):(n(r,a),(a=Iu(i,r.mode,s)).return=r,r=a),l(r)):n(r,a)}}var xa=wa(!0),ka=wa(!1),Sa=Ao(null),Ea=null,Aa=null,Ca=null;function _a(){Ca=Aa=Ea=null}function Oa(e){var t=Sa.current;Co(Sa),e._currentValue=t}function Pa(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Ta(e,t){Ea=e,Ca=Aa=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(bl=!0),e.firstContext=null)}function Na(e){var t=e._currentValue;if(Ca!==e)if(e={context:e,memoizedValue:t,next:null},null===Aa){if(null===Ea)throw Error(a(308));Aa=e,Ea.dependencies={lanes:0,firstContext:e}}else Aa=Aa.next=e;return t}var Ra=null;function Ma(e){null===Ra?Ra=[e]:Ra.push(e)}function La(e,t,n,r){var o=t.interleaved;return null===o?(n.next=n,Ma(t)):(n.next=o.next,o.next=n),t.interleaved=n,ja(e,r)}function ja(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var za=!1;function Ia(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Da(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Fa(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ba(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!==(2&Os)){var o=r.pending;return null===o?t.next=t:(t.next=o.next,o.next=t),r.pending=t,ja(e,n)}return null===(o=r.interleaved)?(t.next=t,Ma(r)):(t.next=o.next,o.next=t),r.interleaved=t,ja(e,n)}function Ua(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!==(4194240&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,gt(e,n)}}function Wa(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var o=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===a?o=a=i:a=a.next=i,n=n.next}while(null!==n);null===a?o=a=t:a=a.next=t}else o=a=t;return n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function $a(e,t,n,r){var o=e.updateQueue;za=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,l=o.shared.pending;if(null!==l){o.shared.pending=null;var s=l,u=s.next;s.next=null,null===i?a=u:i.next=u,i=s;var c=e.alternate;null!==c&&((l=(c=c.updateQueue).lastBaseUpdate)!==i&&(null===l?c.firstBaseUpdate=u:l.next=u,c.lastBaseUpdate=s))}if(null!==a){var d=o.baseState;for(i=0,c=u=s=null,l=a;;){var f=l.lane,p=l.eventTime;if((r&f)===f){null!==c&&(c=c.next={eventTime:p,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var h=e,m=l;switch(f=t,p=n,m.tag){case 1:if("function"===typeof(h=m.payload)){d=h.call(p,d,f);break e}d=h;break e;case 3:h.flags=-65537&h.flags|128;case 0:if(null===(f="function"===typeof(h=m.payload)?h.call(p,d,f):h)||void 0===f)break e;d=I({},d,f);break e;case 2:za=!0}}null!==l.callback&&0!==l.lane&&(e.flags|=64,null===(f=o.effects)?o.effects=[l]:f.push(l))}else p={eventTime:p,lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},null===c?(u=c=p,s=d):c=c.next=p,i|=f;if(null===(l=l.next)){if(null===(l=o.shared.pending))break;l=(f=l).next,f.next=null,o.lastBaseUpdate=f,o.shared.pending=null}}if(null===c&&(s=d),o.baseState=s,o.firstBaseUpdate=u,o.lastBaseUpdate=c,null!==(t=o.shared.interleaved)){o=t;do{i|=o.lane,o=o.next}while(o!==t)}else null===a&&(o.shared.lanes=0);zs|=i,e.lanes=i,e.memoizedState=d}}function Va(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;tn?n:4,e(!0);var r=ai.transition;ai.transition={};try{e(!1),t()}finally{bt=n,ai.transition=r}}function Ki(){return bi().memoizedState}function qi(e,t,n){var r=tu(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Xi(e))Yi(t,n);else if(null!==(n=La(e,t,n,r))){nu(n,e,r,eu()),Gi(n,t,r)}}function Qi(e,t,n){var r=tu(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Xi(e))Yi(t,o);else{var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer))try{var i=t.lastRenderedState,l=a(i,n);if(o.hasEagerState=!0,o.eagerState=l,lr(l,i)){var s=t.interleaved;return null===s?(o.next=o,Ma(t)):(o.next=s.next,s.next=o),void(t.interleaved=o)}}catch(u){}null!==(n=La(e,t,o,r))&&(nu(n,e,r,o=eu()),Gi(n,t,r))}}function Xi(e){var t=e.alternate;return e===li||null!==t&&t===li}function Yi(e,t){di=ci=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Gi(e,t,n){if(0!==(4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,gt(e,n)}}var Ji={readContext:Na,useCallback:hi,useContext:hi,useEffect:hi,useImperativeHandle:hi,useInsertionEffect:hi,useLayoutEffect:hi,useMemo:hi,useReducer:hi,useRef:hi,useState:hi,useDebugValue:hi,useDeferredValue:hi,useTransition:hi,useMutableSource:hi,useSyncExternalStore:hi,useId:hi,unstable_isNewReconciler:!1},Zi={readContext:Na,useCallback:function(e,t){return gi().memoizedState=[e,void 0===t?null:t],e},useContext:Na,useEffect:ji,useImperativeHandle:function(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,Mi(4194308,4,Fi.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Mi(4194308,4,e,t)},useInsertionEffect:function(e,t){return Mi(4,2,e,t)},useMemo:function(e,t){var n=gi();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=gi();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=qi.bind(null,li,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},gi().memoizedState=e},useState:Ti,useDebugValue:Ui,useDeferredValue:function(e){return gi().memoizedState=e},useTransition:function(){var e=Ti(!1),t=e[0];return e=Hi.bind(null,e[1]),gi().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=li,o=gi();if(aa){if(void 0===n)throw Error(a(407));n=n()}else{if(n=t(),null===Ps)throw Error(a(349));0!==(30&ii)||Ai(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,ji(_i.bind(null,r,i,e),[e]),r.flags|=2048,Ni(9,Ci.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=gi(),t=Ps.identifierPrefix;if(aa){var n=Jo;t=":"+t+"R"+(n=(Go&~(1<<32-it(Go)-1)).toString(32)+n),0<(n=fi++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=pi++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},el={readContext:Na,useCallback:Wi,useContext:Na,useEffect:zi,useImperativeHandle:Bi,useInsertionEffect:Ii,useLayoutEffect:Di,useMemo:$i,useReducer:xi,useRef:Ri,useState:function(){return xi(wi)},useDebugValue:Ui,useDeferredValue:function(e){return Vi(bi(),si.memoizedState,e)},useTransition:function(){return[xi(wi)[0],bi().memoizedState]},useMutableSource:Si,useSyncExternalStore:Ei,useId:Ki,unstable_isNewReconciler:!1},tl={readContext:Na,useCallback:Wi,useContext:Na,useEffect:zi,useImperativeHandle:Bi,useInsertionEffect:Ii,useLayoutEffect:Di,useMemo:$i,useReducer:ki,useRef:Ri,useState:function(){return ki(wi)},useDebugValue:Ui,useDeferredValue:function(e){var t=bi();return null===si?t.memoizedState=e:Vi(t,si.memoizedState,e)},useTransition:function(){return[ki(wi)[0],bi().memoizedState]},useMutableSource:Si,useSyncExternalStore:Ei,useId:Ki,unstable_isNewReconciler:!1};function nl(e,t){if(e&&e.defaultProps){for(var n in t=I({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function rl(e,t,n,r){n=null===(n=n(r,t=e.memoizedState))||void 0===n?t:I({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var ol={isMounted:function(e){return!!(e=e._reactInternals)&&We(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=eu(),o=tu(e),a=Fa(r,o);a.payload=t,void 0!==n&&null!==n&&(a.callback=n),null!==(t=Ba(e,a,o))&&(nu(t,e,o,r),Ua(t,e,o))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=eu(),o=tu(e),a=Fa(r,o);a.tag=1,a.payload=t,void 0!==n&&null!==n&&(a.callback=n),null!==(t=Ba(e,a,o))&&(nu(t,e,o,r),Ua(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=eu(),r=tu(e),o=Fa(n,r);o.tag=2,void 0!==t&&null!==t&&(o.callback=t),null!==(t=Ba(e,o,r))&&(nu(t,e,r,n),Ua(t,e,r))}};function al(e,t,n,r,o,a,i){return"function"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,i):!t.prototype||!t.prototype.isPureReactComponent||(!sr(n,r)||!sr(o,a))}function il(e,t,n){var r=!1,o=Oo,a=t.contextType;return"object"===typeof a&&null!==a?a=Na(a):(o=Mo(t)?No:Po.current,a=(r=null!==(r=t.contextTypes)&&void 0!==r)?Ro(e,o):Oo),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=ol,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=a),t}function ll(e,t,n,r){e=t.state,"function"===typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"===typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&ol.enqueueReplaceState(t,t.state,null)}function sl(e,t,n,r){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs={},Ia(e);var a=t.contextType;"object"===typeof a&&null!==a?o.context=Na(a):(a=Mo(t)?No:Po.current,o.context=Ro(e,a)),o.state=e.memoizedState,"function"===typeof(a=t.getDerivedStateFromProps)&&(rl(e,t,a,n),o.state=e.memoizedState),"function"===typeof t.getDerivedStateFromProps||"function"===typeof o.getSnapshotBeforeUpdate||"function"!==typeof o.UNSAFE_componentWillMount&&"function"!==typeof o.componentWillMount||(t=o.state,"function"===typeof o.componentWillMount&&o.componentWillMount(),"function"===typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&ol.enqueueReplaceState(o,o.state,null),$a(e,n,o,r),o.state=e.memoizedState),"function"===typeof o.componentDidMount&&(e.flags|=4194308)}function ul(e,t){try{var n="",r=t;do{n+=U(r),r=r.return}while(r);var o=n}catch(a){o="\nError generating stack: "+a.message+"\n"+a.stack}return{value:e,source:t,stack:o,digest:null}}function cl(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function dl(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var fl="function"===typeof WeakMap?WeakMap:Map;function pl(e,t,n){(n=Fa(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Vs||(Vs=!0,Hs=r),dl(0,t)},n}function hl(e,t,n){(n=Fa(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"===typeof r){var o=t.value;n.payload=function(){return r(o)},n.callback=function(){dl(0,t)}}var a=e.stateNode;return null!==a&&"function"===typeof a.componentDidCatch&&(n.callback=function(){dl(0,t),"function"!==typeof r&&(null===Ks?Ks=new Set([this]):Ks.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function ml(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new fl;var o=new Set;r.set(t,o)}else void 0===(o=r.get(t))&&(o=new Set,r.set(t,o));o.has(n)||(o.add(n),e=Au.bind(null,e,t,n),t.then(e,e))}function vl(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function yl(e,t,n,r,o){return 0===(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Fa(-1,1)).tag=2,Ba(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=o,e)}var gl=w.ReactCurrentOwner,bl=!1;function wl(e,t,n,r){t.child=null===e?ka(t,null,n,r):xa(t,e.child,n,r)}function xl(e,t,n,r,o){n=n.render;var a=t.ref;return Ta(t,o),r=vi(e,t,n,r,a,o),n=yi(),null===e||bl?(aa&&n&&ta(t),t.flags|=1,wl(e,t,r,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Vl(e,t,o))}function kl(e,t,n,r,o){if(null===e){var a=n.type;return"function"!==typeof a||Ru(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Lu(n.type,null,r,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,Sl(e,t,a,r,o))}if(a=e.child,0===(e.lanes&o)){var i=a.memoizedProps;if((n=null!==(n=n.compare)?n:sr)(i,r)&&e.ref===t.ref)return Vl(e,t,o)}return t.flags|=1,(e=Mu(a,r)).ref=t.ref,e.return=t,t.child=e}function Sl(e,t,n,r,o){if(null!==e){var a=e.memoizedProps;if(sr(a,r)&&e.ref===t.ref){if(bl=!1,t.pendingProps=r=a,0===(e.lanes&o))return t.lanes=e.lanes,Vl(e,t,o);0!==(131072&e.flags)&&(bl=!0)}}return Cl(e,t,n,r,o)}function El(e,t,n){var r=t.pendingProps,o=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0===(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},_o(Ms,Rs),Rs|=n;else{if(0===(1073741824&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,_o(Ms,Rs),Rs|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==a?a.baseLanes:n,_o(Ms,Rs),Rs|=r}else null!==a?(r=a.baseLanes|n,t.memoizedState=null):r=n,_o(Ms,Rs),Rs|=r;return wl(e,t,o,n),t.child}function Al(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Cl(e,t,n,r,o){var a=Mo(n)?No:Po.current;return a=Ro(t,a),Ta(t,o),n=vi(e,t,n,r,a,o),r=yi(),null===e||bl?(aa&&r&&ta(t),t.flags|=1,wl(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Vl(e,t,o))}function _l(e,t,n,r,o){if(Mo(n)){var a=!0;Io(t)}else a=!1;if(Ta(t,o),null===t.stateNode)$l(e,t),il(t,n,r),sl(t,n,r,o),r=!0;else if(null===e){var i=t.stateNode,l=t.memoizedProps;i.props=l;var s=i.context,u=n.contextType;"object"===typeof u&&null!==u?u=Na(u):u=Ro(t,u=Mo(n)?No:Po.current);var c=n.getDerivedStateFromProps,d="function"===typeof c||"function"===typeof i.getSnapshotBeforeUpdate;d||"function"!==typeof i.UNSAFE_componentWillReceiveProps&&"function"!==typeof i.componentWillReceiveProps||(l!==r||s!==u)&&ll(t,i,r,u),za=!1;var f=t.memoizedState;i.state=f,$a(t,r,i,o),s=t.memoizedState,l!==r||f!==s||To.current||za?("function"===typeof c&&(rl(t,n,c,r),s=t.memoizedState),(l=za||al(t,n,l,r,f,s,u))?(d||"function"!==typeof i.UNSAFE_componentWillMount&&"function"!==typeof i.componentWillMount||("function"===typeof i.componentWillMount&&i.componentWillMount(),"function"===typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"===typeof i.componentDidMount&&(t.flags|=4194308)):("function"===typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=s),i.props=r,i.state=s,i.context=u,r=l):("function"===typeof i.componentDidMount&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,Da(e,t),l=t.memoizedProps,u=t.type===t.elementType?l:nl(t.type,l),i.props=u,d=t.pendingProps,f=i.context,"object"===typeof(s=n.contextType)&&null!==s?s=Na(s):s=Ro(t,s=Mo(n)?No:Po.current);var p=n.getDerivedStateFromProps;(c="function"===typeof p||"function"===typeof i.getSnapshotBeforeUpdate)||"function"!==typeof i.UNSAFE_componentWillReceiveProps&&"function"!==typeof i.componentWillReceiveProps||(l!==d||f!==s)&&ll(t,i,r,s),za=!1,f=t.memoizedState,i.state=f,$a(t,r,i,o);var h=t.memoizedState;l!==d||f!==h||To.current||za?("function"===typeof p&&(rl(t,n,p,r),h=t.memoizedState),(u=za||al(t,n,u,r,f,h,s)||!1)?(c||"function"!==typeof i.UNSAFE_componentWillUpdate&&"function"!==typeof i.componentWillUpdate||("function"===typeof i.componentWillUpdate&&i.componentWillUpdate(r,h,s),"function"===typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,h,s)),"function"===typeof i.componentDidUpdate&&(t.flags|=4),"function"===typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!==typeof i.componentDidUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!==typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=h),i.props=r,i.state=h,i.context=s,r=u):("function"!==typeof i.componentDidUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!==typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return Ol(e,t,n,r,a,o)}function Ol(e,t,n,r,o,a){Al(e,t);var i=0!==(128&t.flags);if(!r&&!i)return o&&Do(t,n,!1),Vl(e,t,a);r=t.stateNode,gl.current=t;var l=i&&"function"!==typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=xa(t,e.child,null,a),t.child=xa(t,null,l,a)):wl(e,t,l,a),t.memoizedState=r.state,o&&Do(t,n,!0),t.child}function Pl(e){var t=e.stateNode;t.pendingContext?jo(0,t.pendingContext,t.pendingContext!==t.context):t.context&&jo(0,t.context,!1),Ya(e,t.containerInfo)}function Tl(e,t,n,r,o){return ha(),ma(o),t.flags|=256,wl(e,t,n,r),t.child}var Nl,Rl,Ml,Ll,jl={dehydrated:null,treeContext:null,retryLane:0};function zl(e){return{baseLanes:e,cachePool:null,transitions:null}}function Il(e,t,n){var r,o=t.pendingProps,i=ei.current,l=!1,s=0!==(128&t.flags);if((r=s)||(r=(null===e||null!==e.memoizedState)&&0!==(2&i)),r?(l=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),_o(ei,1&i),null===e)return ca(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0===(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(s=o.children,e=o.fallback,l?(o=t.mode,l=t.child,s={mode:"hidden",children:s},0===(1&o)&&null!==l?(l.childLanes=0,l.pendingProps=s):l=zu(s,o,0,null),e=ju(e,o,n,null),l.return=t,e.return=t,l.sibling=e,t.child=l,t.child.memoizedState=zl(n),t.memoizedState=jl,e):Dl(t,s));if(null!==(i=e.memoizedState)&&null!==(r=i.dehydrated))return function(e,t,n,r,o,i,l){if(n)return 256&t.flags?(t.flags&=-257,Fl(e,t,l,r=cl(Error(a(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=r.fallback,o=t.mode,r=zu({mode:"visible",children:r.children},o,0,null),(i=ju(i,o,l,null)).flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,0!==(1&t.mode)&&xa(t,e.child,null,l),t.child.memoizedState=zl(l),t.memoizedState=jl,i);if(0===(1&t.mode))return Fl(e,t,l,null);if("$!"===o.data){if(r=o.nextSibling&&o.nextSibling.dataset)var s=r.dgst;return r=s,Fl(e,t,l,r=cl(i=Error(a(419)),r,void 0))}if(s=0!==(l&e.childLanes),bl||s){if(null!==(r=Ps)){switch(l&-l){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}0!==(o=0!==(o&(r.suspendedLanes|l))?0:o)&&o!==i.retryLane&&(i.retryLane=o,ja(e,o),nu(r,e,o,-1))}return mu(),Fl(e,t,l,r=cl(Error(a(421))))}return"$?"===o.data?(t.flags|=128,t.child=e.child,t=_u.bind(null,e),o._reactRetry=t,null):(e=i.treeContext,oa=uo(o.nextSibling),ra=t,aa=!0,ia=null,null!==e&&(Qo[Xo++]=Go,Qo[Xo++]=Jo,Qo[Xo++]=Yo,Go=e.id,Jo=e.overflow,Yo=t),t=Dl(t,r.children),t.flags|=4096,t)}(e,t,s,o,r,i,n);if(l){l=o.fallback,s=t.mode,r=(i=e.child).sibling;var u={mode:"hidden",children:o.children};return 0===(1&s)&&t.child!==i?((o=t.child).childLanes=0,o.pendingProps=u,t.deletions=null):(o=Mu(i,u)).subtreeFlags=14680064&i.subtreeFlags,null!==r?l=Mu(r,l):(l=ju(l,s,n,null)).flags|=2,l.return=t,o.return=t,o.sibling=l,t.child=o,o=l,l=t.child,s=null===(s=e.child.memoizedState)?zl(n):{baseLanes:s.baseLanes|n,cachePool:null,transitions:s.transitions},l.memoizedState=s,l.childLanes=e.childLanes&~n,t.memoizedState=jl,o}return e=(l=e.child).sibling,o=Mu(l,{mode:"visible",children:o.children}),0===(1&t.mode)&&(o.lanes=n),o.return=t,o.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=o,t.memoizedState=null,o}function Dl(e,t){return(t=zu({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Fl(e,t,n,r){return null!==r&&ma(r),xa(t,e.child,null,n),(e=Dl(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Bl(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),Pa(e.return,t,n)}function Ul(e,t,n,r,o){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=o)}function Wl(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;if(wl(e,t,r.children,n),0!==(2&(r=ei.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!==(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Bl(e,n,t);else if(19===e.tag)Bl(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(_o(ei,r),0===(1&t.mode))t.memoizedState=null;else switch(o){case"forwards":for(n=t.child,o=null;null!==n;)null!==(e=n.alternate)&&null===ti(e)&&(o=n),n=n.sibling;null===(n=o)?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),Ul(t,!1,o,n,a);break;case"backwards":for(n=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===ti(e)){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}Ul(t,!0,n,null,a);break;case"together":Ul(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function $l(e,t){0===(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Vl(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),zs|=t.lanes,0===(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(a(153));if(null!==t.child){for(n=Mu(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Mu(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Hl(e,t){if(!aa)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Kl(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=14680064&o.subtreeFlags,r|=14680064&o.flags,o.return=e,o=o.sibling;else for(o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function ql(e,t,n){var r=t.pendingProps;switch(na(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Kl(t),null;case 1:case 17:return Mo(t.type)&&Lo(),Kl(t),null;case 3:return r=t.stateNode,Ga(),Co(To),Co(Po),ri(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(fa(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0===(256&t.flags)||(t.flags|=1024,null!==ia&&(iu(ia),ia=null))),Rl(e,t),Kl(t),null;case 5:Za(t);var o=Xa(Qa.current);if(n=t.type,null!==e&&null!=t.stateNode)Ml(e,t,n,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(a(166));return Kl(t),null}if(e=Xa(Ka.current),fa(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[po]=t,r[ho]=i,e=0!==(1&t.mode),n){case"dialog":Fr("cancel",r),Fr("close",r);break;case"iframe":case"object":case"embed":Fr("load",r);break;case"video":case"audio":for(o=0;o<\/script>",e=e.removeChild(e.firstChild)):"string"===typeof r.is?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),"select"===n&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[po]=t,e[ho]=r,Nl(e,t,!1,!1),t.stateNode=e;e:{switch(s=be(n,r),n){case"dialog":Fr("cancel",e),Fr("close",e),o=r;break;case"iframe":case"object":case"embed":Fr("load",e),o=r;break;case"video":case"audio":for(o=0;oWs&&(t.flags|=128,r=!0,Hl(i,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=ti(s))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Hl(i,!0),null===i.tail&&"hidden"===i.tailMode&&!s.alternate&&!aa)return Kl(t),null}else 2*Ge()-i.renderingStartTime>Ws&&1073741824!==n&&(t.flags|=128,r=!0,Hl(i,!1),t.lanes=4194304);i.isBackwards?(s.sibling=t.child,t.child=s):(null!==(n=i.last)?n.sibling=s:t.child=s,i.last=s)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ge(),t.sibling=null,n=ei.current,_o(ei,r?1&n|2:1&n),t):(Kl(t),null);case 22:case 23:return du(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&0!==(1&t.mode)?0!==(1073741824&Rs)&&(Kl(t),6&t.subtreeFlags&&(t.flags|=8192)):Kl(t),null;case 24:case 25:return null}throw Error(a(156,t.tag))}function Ql(e,t){switch(na(t),t.tag){case 1:return Mo(t.type)&&Lo(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Ga(),Co(To),Co(Po),ri(),0!==(65536&(e=t.flags))&&0===(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Za(t),null;case 13:if(Co(ei),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(a(340));ha()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Co(ei),null;case 4:return Ga(),null;case 10:return Oa(t.type._context),null;case 22:case 23:return du(),null;default:return null}}Nl=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Rl=function(){},Ml=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,Xa(Ka.current);var a,i=null;switch(n){case"input":o=X(e,o),r=X(e,r),i=[];break;case"select":o=I({},o,{value:void 0}),r=I({},r,{value:void 0}),i=[];break;case"textarea":o=re(e,o),r=re(e,r),i=[];break;default:"function"!==typeof o.onClick&&"function"===typeof r.onClick&&(e.onclick=Zr)}for(c in ge(n,r),n=null,o)if(!r.hasOwnProperty(c)&&o.hasOwnProperty(c)&&null!=o[c])if("style"===c){var s=o[c];for(a in s)s.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else"dangerouslySetInnerHTML"!==c&&"children"!==c&&"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&"autoFocus"!==c&&(l.hasOwnProperty(c)?i||(i=[]):(i=i||[]).push(c,null));for(c in r){var u=r[c];if(s=null!=o?o[c]:void 0,r.hasOwnProperty(c)&&u!==s&&(null!=u||null!=s))if("style"===c)if(s){for(a in s)!s.hasOwnProperty(a)||u&&u.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in u)u.hasOwnProperty(a)&&s[a]!==u[a]&&(n||(n={}),n[a]=u[a])}else n||(i||(i=[]),i.push(c,n)),n=u;else"dangerouslySetInnerHTML"===c?(u=u?u.__html:void 0,s=s?s.__html:void 0,null!=u&&s!==u&&(i=i||[]).push(c,u)):"children"===c?"string"!==typeof u&&"number"!==typeof u||(i=i||[]).push(c,""+u):"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&(l.hasOwnProperty(c)?(null!=u&&"onScroll"===c&&Fr("scroll",e),i||s===u||(i=[])):(i=i||[]).push(c,u))}n&&(i=i||[]).push("style",n);var c=i;(t.updateQueue=c)&&(t.flags|=4)}},Ll=function(e,t,n,r){n!==r&&(t.flags|=4)};var Xl=!1,Yl=!1,Gl="function"===typeof WeakSet?WeakSet:Set,Jl=null;function Zl(e,t){var n=e.ref;if(null!==n)if("function"===typeof n)try{n(null)}catch(r){Eu(e,t,r)}else n.current=null}function es(e,t,n){try{n()}catch(r){Eu(e,t,r)}}var ts=!1;function ns(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var o=r=r.next;do{if((o.tag&e)===e){var a=o.destroy;o.destroy=void 0,void 0!==a&&es(t,n,a)}o=o.next}while(o!==r)}}function rs(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function os(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"===typeof t?t(e):t.current=e}}function as(e){var t=e.alternate;null!==t&&(e.alternate=null,as(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[po],delete t[ho],delete t[vo],delete t[yo],delete t[go])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function is(e){return 5===e.tag||3===e.tag||4===e.tag}function ls(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||is(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function ss(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!==(n=n._reactRootContainer)&&void 0!==n||null!==t.onclick||(t.onclick=Zr));else if(4!==r&&null!==(e=e.child))for(ss(e,t,n),e=e.sibling;null!==e;)ss(e,t,n),e=e.sibling}function us(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(us(e,t,n),e=e.sibling;null!==e;)us(e,t,n),e=e.sibling}var cs=null,ds=!1;function fs(e,t,n){for(n=n.child;null!==n;)ps(e,t,n),n=n.sibling}function ps(e,t,n){if(at&&"function"===typeof at.onCommitFiberUnmount)try{at.onCommitFiberUnmount(ot,n)}catch(l){}switch(n.tag){case 5:Yl||Zl(n,t);case 6:var r=cs,o=ds;cs=null,fs(e,t,n),ds=o,null!==(cs=r)&&(ds?(e=cs,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):cs.removeChild(n.stateNode));break;case 18:null!==cs&&(ds?(e=cs,n=n.stateNode,8===e.nodeType?so(e.parentNode,n):1===e.nodeType&&so(e,n),Wt(e)):so(cs,n.stateNode));break;case 4:r=cs,o=ds,cs=n.stateNode.containerInfo,ds=!0,fs(e,t,n),cs=r,ds=o;break;case 0:case 11:case 14:case 15:if(!Yl&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){o=r=r.next;do{var a=o,i=a.destroy;a=a.tag,void 0!==i&&(0!==(2&a)||0!==(4&a))&&es(n,t,i),o=o.next}while(o!==r)}fs(e,t,n);break;case 1:if(!Yl&&(Zl(n,t),"function"===typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(l){Eu(n,t,l)}fs(e,t,n);break;case 21:fs(e,t,n);break;case 22:1&n.mode?(Yl=(r=Yl)||null!==n.memoizedState,fs(e,t,n),Yl=r):fs(e,t,n);break;default:fs(e,t,n)}}function hs(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Gl),t.forEach((function(t){var r=Ou.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function ms(e,t){var n=t.deletions;if(null!==n)for(var r=0;ro&&(o=l),r&=~i}if(r=o,10<(r=(120>(r=Ge()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Es(r/1960))-r)){e.timeoutHandle=ro(xu.bind(null,e,Bs,$s),r);break}xu(e,Bs,$s);break;default:throw Error(a(329))}}}return ru(e,Ge()),e.callbackNode===n?ou.bind(null,e):null}function au(e,t){var n=Fs;return e.current.memoizedState.isDehydrated&&(fu(e,t).flags|=256),2!==(e=vu(e,t))&&(t=Bs,Bs=n,null!==t&&iu(t)),e}function iu(e){null===Bs?Bs=e:Bs.push.apply(Bs,e)}function lu(e,t){for(t&=~Ds,t&=~Is,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0e?16:e,null===Qs)var r=!1;else{if(e=Qs,Qs=null,Xs=0,0!==(6&Os))throw Error(a(331));var o=Os;for(Os|=4,Jl=e.current;null!==Jl;){var i=Jl,l=i.child;if(0!==(16&Jl.flags)){var s=i.deletions;if(null!==s){for(var u=0;uGe()-Us?fu(e,0):Ds|=n),ru(e,t)}function Cu(e,t){0===t&&(0===(1&e.mode)?t=1:(t=ct,0===(130023424&(ct<<=1))&&(ct=4194304)));var n=eu();null!==(e=ja(e,t))&&(yt(e,t,n),ru(e,n))}function _u(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Cu(e,n)}function Ou(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;null!==o&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(a(314))}null!==r&&r.delete(t),Cu(e,n)}function Pu(e,t){return qe(e,t)}function Tu(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Nu(e,t,n,r){return new Tu(e,t,n,r)}function Ru(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Mu(e,t){var n=e.alternate;return null===n?((n=Nu(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Lu(e,t,n,r,o,i){var l=2;if(r=e,"function"===typeof e)Ru(e)&&(l=1);else if("string"===typeof e)l=5;else e:switch(e){case S:return ju(n.children,o,i,t);case E:l=8,o|=8;break;case A:return(e=Nu(12,n,t,2|o)).elementType=A,e.lanes=i,e;case P:return(e=Nu(13,n,t,o)).elementType=P,e.lanes=i,e;case T:return(e=Nu(19,n,t,o)).elementType=T,e.lanes=i,e;case M:return zu(n,o,i,t);default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case C:l=10;break e;case _:l=9;break e;case O:l=11;break e;case N:l=14;break e;case R:l=16,r=null;break e}throw Error(a(130,null==e?e:typeof e,""))}return(t=Nu(l,n,t,o)).elementType=e,t.type=r,t.lanes=i,t}function ju(e,t,n,r){return(e=Nu(7,e,r,t)).lanes=n,e}function zu(e,t,n,r){return(e=Nu(22,e,r,t)).elementType=M,e.lanes=n,e.stateNode={isHidden:!1},e}function Iu(e,t,n){return(e=Nu(6,e,null,t)).lanes=n,e}function Du(e,t,n){return(t=Nu(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Fu(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=vt(0),this.expirationTimes=vt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=vt(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Bu(e,t,n,r,o,a,i,l,s){return e=new Fu(e,t,n,l,s),1===t?(t=1,!0===a&&(t|=8)):t=0,a=Nu(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ia(a),e}function Uu(e){if(!e)return Oo;e:{if(We(e=e._reactInternals)!==e||1!==e.tag)throw Error(a(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Mo(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(a(171))}if(1===e.tag){var n=e.type;if(Mo(n))return zo(e,n,t)}return t}function Wu(e,t,n,r,o,a,i,l,s){return(e=Bu(n,r,!0,e,0,a,0,l,s)).context=Uu(null),n=e.current,(a=Fa(r=eu(),o=tu(n))).callback=void 0!==t&&null!==t?t:null,Ba(n,a,o),e.current.lanes=o,yt(e,o,r),ru(e,r),e}function $u(e,t,n,r){var o=t.current,a=eu(),i=tu(o);return n=Uu(n),null===t.context?t.context=n:t.pendingContext=n,(t=Fa(a,i)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Ba(o,t,i))&&(nu(e,o,i,a),Ua(e,o,i)),i}function Vu(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Hu(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n{"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(2730)},5475:(e,t,n)=>{"use strict";var r,o;n.d(t,{Kd:()=>h,N_:()=>y,ok:()=>w});var a=n(5043),i=n(7950),l=n(3216),s=n(1387);function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(o[n]=e[n]);return o}function d(e){return void 0===e&&(e=""),new URLSearchParams("string"===typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce(((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map((e=>[n,e])):[[n,r]])}),[]))}new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);const f=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"];try{window.__reactRouterVersion="6"}catch(x){}new Map;const p=(r||(r=n.t(a,2))).startTransition;(o||(o=n.t(i,2))).flushSync,(r||(r=n.t(a,2))).useId;function h(e){let{basename:t,children:n,future:r,window:o}=e,i=a.useRef();null==i.current&&(i.current=(0,s.zR)({window:o,v5Compat:!0}));let u=i.current,[c,d]=a.useState({action:u.action,location:u.location}),{v7_startTransition:f}=r||{},h=a.useCallback((e=>{f&&p?p((()=>d(e))):d(e)}),[d,f]);return a.useLayoutEffect((()=>u.listen(h)),[u,h]),a.createElement(l.Ix,{basename:t,children:n,location:c.location,navigationType:c.action,navigator:u,future:r})}const m="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement,v=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,y=a.forwardRef((function(e,t){let n,{onClick:r,relative:o,reloadDocument:i,replace:d,state:p,target:h,to:y,preventScrollReset:g,unstable_viewTransition:b}=e,w=c(e,f),{basename:k}=a.useContext(l.jb),S=!1;if("string"===typeof y&&v.test(y)&&(n=y,m))try{let e=new URL(window.location.href),t=y.startsWith("//")?new URL(e.protocol+y):new URL(y),n=(0,s.pb)(t.pathname,k);t.origin===e.origin&&null!=n?y=n+t.search+t.hash:S=!0}catch(x){}let E=(0,l.$P)(y,{relative:o}),A=function(e,t){let{target:n,replace:r,state:o,preventScrollReset:i,relative:u,unstable_viewTransition:c}=void 0===t?{}:t,d=(0,l.Zp)(),f=(0,l.zy)(),p=(0,l.x$)(e,{relative:u});return a.useCallback((t=>{if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,n)){t.preventDefault();let n=void 0!==r?r:(0,s.AO)(f)===(0,s.AO)(p);d(e,{replace:n,state:o,preventScrollReset:i,relative:u,unstable_viewTransition:c})}}),[f,d,p,r,o,n,e,i,u,c])}(y,{replace:d,state:p,target:h,preventScrollReset:g,relative:o,unstable_viewTransition:b});return a.createElement("a",u({},w,{href:n||E,onClick:S||i?r:function(e){r&&r(e),e.defaultPrevented||A(e)},ref:t,target:h}))}));var g,b;function w(e){let t=a.useRef(d(e)),n=a.useRef(!1),r=(0,l.zy)(),o=a.useMemo((()=>function(e,t){let n=d(e);return t&&t.forEach(((e,r)=>{n.has(r)||t.getAll(r).forEach((e=>{n.append(r,e)}))})),n}(r.search,n.current?null:t.current)),[r.search]),i=(0,l.Zp)(),s=a.useCallback(((e,t)=>{const r=d("function"===typeof e?e(o):e);n.current=!0,i("?"+r,t)}),[i,o]);return[o,s]}(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(g||(g={})),function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(b||(b={}))},3216:(e,t,n)=>{"use strict";var r;n.d(t,{$P:()=>p,BV:()=>L,Ix:()=>M,Zp:()=>y,g:()=>g,jb:()=>u,qh:()=>R,x$:()=>b,zy:()=>m});var o=n(5043),a=n(1387);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.current=!0})),o.useCallback((function(r,o){void 0===o&&(o={}),n.current&&("number"===typeof r?e.navigate(r):e.navigate(r,i({fromRouteId:t},o)))}),[e,t])}():function(){h()||(0,a.Oi)(!1);let e=o.useContext(l),{basename:t,future:n,navigator:r}=o.useContext(u),{matches:i}=o.useContext(d),{pathname:s}=m(),c=JSON.stringify((0,a.yD)(i,n.v7_relativeSplatPath)),f=o.useRef(!1);return v((()=>{f.current=!0})),o.useCallback((function(n,o){if(void 0===o&&(o={}),!f.current)return;if("number"===typeof n)return void r.go(n);let i=(0,a.Gh)(n,JSON.parse(c),s,"path"===o.relative);null==e&&"/"!==t&&(i.pathname="/"===i.pathname?t:(0,a.HS)([t,i.pathname])),(o.replace?r.replace:r.push)(i,o.state,o)}),[t,r,c,s,e])}()}function g(){let{matches:e}=o.useContext(d),t=e[e.length-1];return t?t.params:{}}function b(e,t){let{relative:n}=void 0===t?{}:t,{future:r}=o.useContext(u),{matches:i}=o.useContext(d),{pathname:l}=m(),s=JSON.stringify((0,a.yD)(i,r.v7_relativeSplatPath));return o.useMemo((()=>(0,a.Gh)(e,JSON.parse(s),l,"path"===n)),[e,s,l,n])}function w(e,t,n,r){h()||(0,a.Oi)(!1);let{navigator:l}=o.useContext(u),{matches:s}=o.useContext(d),f=s[s.length-1],p=f?f.params:{},v=(f&&f.pathname,f?f.pathnameBase:"/");f&&f.route;let y,g=m();if(t){var b;let e="string"===typeof t?(0,a.Rr)(t):t;"/"===v||(null==(b=e.pathname)?void 0:b.startsWith(v))||(0,a.Oi)(!1),y=e}else y=g;let w=y.pathname||"/",x=w;if("/"!==v){let e=v.replace(/^\//,"").split("/");x="/"+w.replace(/^\//,"").split("/").slice(e.length).join("/")}let k=(0,a.ue)(e,{pathname:x});let S=A(k&&k.map((e=>Object.assign({},e,{params:Object.assign({},p,e.params),pathname:(0,a.HS)([v,l.encodeLocation?l.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?v:(0,a.HS)([v,l.encodeLocation?l.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])}))),s,n,r);return t&&S?o.createElement(c.Provider,{value:{location:i({pathname:"/",search:"",hash:"",state:null,key:"default"},y),navigationType:a.rc.Pop}},S):S}function x(){let e=function(){var e;let t=o.useContext(f),n=P(_.UseRouteError),r=T(_.UseRouteError);if(void 0!==t)return t;return null==(e=n.errors)?void 0:e[r]}(),t=(0,a.pX)(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:r};return o.createElement(o.Fragment,null,o.createElement("h2",null,"Unexpected Application Error!"),o.createElement("h3",{style:{fontStyle:"italic"}},t),n?o.createElement("pre",{style:i},n):null,null)}const k=o.createElement(x,null);class S extends o.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?o.createElement(d.Provider,{value:this.props.routeContext},o.createElement(f.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function E(e){let{routeContext:t,match:n,children:r}=e,a=o.useContext(l);return a&&a.static&&a.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=n.route.id),o.createElement(d.Provider,{value:t},r)}function A(e,t,n,r){var i;if(void 0===t&&(t=[]),void 0===n&&(n=null),void 0===r&&(r=null),null==e){var l;if(null==(l=n)||!l.errors)return null;e=n.matches}let s=e,u=null==(i=n)?void 0:i.errors;if(null!=u){let e=s.findIndex((e=>e.route.id&&(null==u?void 0:u[e.route.id])));e>=0||(0,a.Oi)(!1),s=s.slice(0,Math.min(s.length,e+1))}let c=!1,d=-1;if(n&&r&&r.v7_partialHydration)for(let o=0;o=0?s.slice(0,d+1):[s[0]];break}}}return s.reduceRight(((e,r,a)=>{let i,l=!1,f=null,p=null;var h;n&&(i=u&&r.route.id?u[r.route.id]:void 0,f=r.route.errorElement||k,c&&(d<0&&0===a?(h="route-fallback",!1||N[h]||(N[h]=!0),l=!0,p=null):d===a&&(l=!0,p=r.route.hydrateFallbackElement||null)));let m=t.concat(s.slice(0,a+1)),v=()=>{let t;return t=i?f:l?p:r.route.Component?o.createElement(r.route.Component,null):r.route.element?r.route.element:e,o.createElement(E,{match:r,routeContext:{outlet:e,matches:m,isDataRoute:null!=n},children:t})};return n&&(r.route.ErrorBoundary||r.route.errorElement||0===a)?o.createElement(S,{location:n.location,revalidation:n.revalidation,component:f,error:i,children:v(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):v()}),null)}var C=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(C||{}),_=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(_||{});function O(e){let t=o.useContext(l);return t||(0,a.Oi)(!1),t}function P(e){let t=o.useContext(s);return t||(0,a.Oi)(!1),t}function T(e){let t=function(e){let t=o.useContext(d);return t||(0,a.Oi)(!1),t}(),n=t.matches[t.matches.length-1];return n.route.id||(0,a.Oi)(!1),n.route.id}const N={};(r||(r=n.t(o,2))).startTransition;function R(e){(0,a.Oi)(!1)}function M(e){let{basename:t="/",children:n=null,location:r,navigationType:l=a.rc.Pop,navigator:s,static:d=!1,future:f}=e;h()&&(0,a.Oi)(!1);let p=t.replace(/^\/*/,"/"),m=o.useMemo((()=>({basename:p,navigator:s,static:d,future:i({v7_relativeSplatPath:!1},f)})),[p,f,s,d]);"string"===typeof r&&(r=(0,a.Rr)(r));let{pathname:v="/",search:y="",hash:g="",state:b=null,key:w="default"}=r,x=o.useMemo((()=>{let e=(0,a.pb)(v,p);return null==e?null:{location:{pathname:e,search:y,hash:g,state:b,key:w},navigationType:l}}),[p,v,y,g,b,w,l]);return null==x?null:o.createElement(u.Provider,{value:m},o.createElement(c.Provider,{children:n,value:x}))}function L(e){let{children:t,location:n}=e;return w(j(t),n)}new Promise((()=>{}));o.Component;function j(e,t){void 0===t&&(t=[]);let n=[];return o.Children.forEach(e,((e,r)=>{if(!o.isValidElement(e))return;let i=[...t,r];if(e.type===o.Fragment)return void n.push.apply(n,j(e.props.children,i));e.type!==R&&(0,a.Oi)(!1),e.props.index&&e.props.children&&(0,a.Oi)(!1);let l={id:e.props.id||i.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(l.children=j(e.props.children,i)),n.push(l)})),n}},9998:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>v});var r=n(8587),o=n(5540),a=n(5043),i=n(7950);const l=!1;var s=n(8726),u="unmounted",c="exited",d="entering",f="entered",p="exiting",h=function(e){function t(t,n){var r;r=e.call(this,t,n)||this;var o,a=n&&!n.isMounting?t.enter:t.appear;return r.appearStatus=null,t.in?a?(o=c,r.appearStatus=d):o=f:o=t.unmountOnExit||t.mountOnEnter?u:c,r.state={status:o},r.nextCallback=null,r}(0,o.A)(t,e),t.getDerivedStateFromProps=function(e,t){return e.in&&t.status===u?{status:c}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(e){var t=null;if(e!==this.props){var n=this.state.status;this.props.in?n!==d&&n!==f&&(t=d):n!==d&&n!==f||(t=p)}this.updateStatus(!1,t)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var e,t,n,r=this.props.timeout;return e=t=n=r,null!=r&&"number"!==typeof r&&(e=r.exit,t=r.enter,n=void 0!==r.appear?r.appear:t),{exit:e,enter:t,appear:n}},n.updateStatus=function(e,t){if(void 0===e&&(e=!1),null!==t)if(this.cancelNextCallback(),t===d){if(this.props.unmountOnExit||this.props.mountOnEnter){var n=this.props.nodeRef?this.props.nodeRef.current:i.findDOMNode(this);n&&function(e){e.scrollTop}(n)}this.performEnter(e)}else this.performExit();else this.props.unmountOnExit&&this.state.status===c&&this.setState({status:u})},n.performEnter=function(e){var t=this,n=this.props.enter,r=this.context?this.context.isMounting:e,o=this.props.nodeRef?[r]:[i.findDOMNode(this),r],a=o[0],s=o[1],u=this.getTimeouts(),c=r?u.appear:u.enter;!e&&!n||l?this.safeSetState({status:f},(function(){t.props.onEntered(a)})):(this.props.onEnter(a,s),this.safeSetState({status:d},(function(){t.props.onEntering(a,s),t.onTransitionEnd(c,(function(){t.safeSetState({status:f},(function(){t.props.onEntered(a,s)}))}))})))},n.performExit=function(){var e=this,t=this.props.exit,n=this.getTimeouts(),r=this.props.nodeRef?void 0:i.findDOMNode(this);t&&!l?(this.props.onExit(r),this.safeSetState({status:p},(function(){e.props.onExiting(r),e.onTransitionEnd(n.exit,(function(){e.safeSetState({status:c},(function(){e.props.onExited(r)}))}))}))):this.safeSetState({status:c},(function(){e.props.onExited(r)}))},n.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},n.setNextCallback=function(e){var t=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,t.nextCallback=null,e(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},n.onTransitionEnd=function(e,t){this.setNextCallback(t);var n=this.props.nodeRef?this.props.nodeRef.current:i.findDOMNode(this),r=null==e&&!this.props.addEndListener;if(n&&!r){if(this.props.addEndListener){var o=this.props.nodeRef?[this.nextCallback]:[n,this.nextCallback],a=o[0],l=o[1];this.props.addEndListener(a,l)}null!=e&&setTimeout(this.nextCallback,e)}else setTimeout(this.nextCallback,0)},n.render=function(){var e=this.state.status;if(e===u)return null;var t=this.props,n=t.children,o=(t.in,t.mountOnEnter,t.unmountOnExit,t.appear,t.enter,t.exit,t.timeout,t.addEndListener,t.onEnter,t.onEntering,t.onEntered,t.onExit,t.onExiting,t.onExited,t.nodeRef,(0,r.A)(t,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return a.createElement(s.A.Provider,{value:null},"function"===typeof n?n(e,o):a.cloneElement(a.Children.only(n),o))},t}(a.Component);function m(){}h.contextType=s.A,h.propTypes={},h.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:m,onEntering:m,onEntered:m,onExit:m,onExiting:m,onExited:m},h.UNMOUNTED=u,h.EXITED=c,h.ENTERING=d,h.ENTERED=f,h.EXITING=p;const v=h},8726:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=n(5043).createContext(null)},1153:(e,t,n)=>{"use strict";var r=n(5043),o=Symbol.for("react.element"),a=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,l=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function u(e,t,n){var r,a={},u=null,c=null;for(r in void 0!==n&&(u=""+n),void 0!==t.key&&(u=""+t.key),void 0!==t.ref&&(c=t.ref),t)i.call(t,r)&&!s.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===a[r]&&(a[r]=t[r]);return{$$typeof:o,type:e,key:u,ref:c,props:a,_owner:l.current}}t.Fragment=a,t.jsx=u,t.jsxs=u},4202:(e,t)=>{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),s=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.iterator;var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,v={};function y(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||h}function g(){}function b(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||h}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!==typeof e&&"function"!==typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},g.prototype=y.prototype;var w=b.prototype=new g;w.constructor=b,m(w,y.prototype),w.isPureReactComponent=!0;var x=Array.isArray,k=Object.prototype.hasOwnProperty,S={current:null},E={key:!0,ref:!0,__self:!0,__source:!0};function A(e,t,r){var o,a={},i=null,l=null;if(null!=t)for(o in void 0!==t.ref&&(l=t.ref),void 0!==t.key&&(i=""+t.key),t)k.call(t,o)&&!E.hasOwnProperty(o)&&(a[o]=t[o]);var s=arguments.length-2;if(1===s)a.children=r;else if(1{"use strict";e.exports=n(4202)},579:(e,t,n)=>{"use strict";e.exports=n(1153)},7234:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0>>1,o=e[r];if(!(0>>1;ra(s,n))ua(c,s)?(e[r]=c,e[u]=n,r=u):(e[r]=s,e[l]=n,r=l);else{if(!(ua(c,n)))break e;e[r]=c,e[u]=n,r=u}}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"===typeof performance&&"function"===typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var l=Date,s=l.now();t.unstable_now=function(){return l.now()-s}}var u=[],c=[],d=1,f=null,p=3,h=!1,m=!1,v=!1,y="function"===typeof setTimeout?setTimeout:null,g="function"===typeof clearTimeout?clearTimeout:null,b="undefined"!==typeof setImmediate?setImmediate:null;function w(e){for(var t=r(c);null!==t;){if(null===t.callback)o(c);else{if(!(t.startTime<=e))break;o(c),t.sortIndex=t.expirationTime,n(u,t)}t=r(c)}}function x(e){if(v=!1,w(e),!m)if(null!==r(u))m=!0,M(k);else{var t=r(c);null!==t&&L(x,t.startTime-e)}}function k(e,n){m=!1,v&&(v=!1,g(C),C=-1),h=!0;var a=p;try{for(w(n),f=r(u);null!==f&&(!(f.expirationTime>n)||e&&!P());){var i=f.callback;if("function"===typeof i){f.callback=null,p=f.priorityLevel;var l=i(f.expirationTime<=n);n=t.unstable_now(),"function"===typeof l?f.callback=l:f===r(u)&&o(u),w(n)}else o(u);f=r(u)}if(null!==f)var s=!0;else{var d=r(c);null!==d&&L(x,d.startTime-n),s=!1}return s}finally{f=null,p=a,h=!1}}"undefined"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,E=!1,A=null,C=-1,_=5,O=-1;function P(){return!(t.unstable_now()-O<_)}function T(){if(null!==A){var e=t.unstable_now();O=e;var n=!0;try{n=A(!0,e)}finally{n?S():(E=!1,A=null)}}else E=!1}if("function"===typeof b)S=function(){b(T)};else if("undefined"!==typeof MessageChannel){var N=new MessageChannel,R=N.port2;N.port1.onmessage=T,S=function(){R.postMessage(null)}}else S=function(){y(T,0)};function M(e){A=e,E||(E=!0,S())}function L(e,n){C=y((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){m||h||(m=!0,M(k))},t.unstable_forceFrameRate=function(e){0>e||125i?(e.sortIndex=a,n(c,e),null===r(u)&&e===r(c)&&(v?(g(C),C=-1):v=!0,L(x,a-i))):(e.sortIndex=l,n(u,e),m||h||(m=!0,M(k))),e},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(e){var t=p;return function(){var n=p;p=t;try{return e.apply(this,arguments)}finally{p=n}}}},8853:(e,t,n)=>{"use strict";e.exports=n(7234)},4634:e=>{function t(){return e.exports=t=Object.assign?Object.assign.bind():function(e){for(var t=1;t{e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},4893:e=>{e.exports=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o},e.exports.__esModule=!0,e.exports.default=e.exports},9417:(e,t,n)=>{"use strict";function r(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}n.d(t,{A:()=>r})},8168:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;tr})},5540:(e,t,n)=>{"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{A:()=>o})},8587:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}n.d(t,{A:()=>r})},7528:(e,t,n)=>{"use strict";function r(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}n.d(t,{A:()=>r})},8387:(e,t,n)=>{"use strict";function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;to});const o=function(){for(var e,t,n=0,o="",a=arguments.length;n{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;n.t=function(r,o){if(1&o&&(r=this(r)),8&o)return r;if("object"===typeof r&&r){if(4&o&&r.__esModule)return r;if(16&o&&"function"===typeof r.then)return r}var a=Object.create(null);n.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var l=2&o&&r;"object"==typeof l&&!~e.indexOf(l);l=t(l))Object.getOwnPropertyNames(l).forEach((e=>i[e]=()=>r[e]));return i.default=()=>r,n.d(a,i),a}})(),n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((t,r)=>(n.f[r](e,t),t)),[])),n.u=e=>"static/js/"+e+"."+{20:"d5160684",221:"ed47e118",303:"87c5ac7d",344:"b7165c0c",369:"3d4a775d",473:"66bba9da",488:"a8d036df",671:"5426ab3a",780:"c1ef71a3",843:"b0a929a7",853:"f8edb0ba"}[e]+".chunk.js",n.miniCssF=e=>"static/css/"+e+".a59a9374.chunk.css",n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="ai-coding-learning:";n.l=(r,o,a,i)=>{if(e[r])e[r].push(o);else{var l,s;if(void 0!==a)for(var u=document.getElementsByTagName("script"),c=0;c{l.onerror=l.onload=null,clearTimeout(p);var o=e[r];if(delete e[r],l.parentNode&&l.parentNode.removeChild(l),o&&o.forEach((e=>e(n))),t)return t(n)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=f.bind(null,l.onerror),l.onload=f.bind(null,l.onload),s&&document.head.appendChild(l)}}})(),n.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.p="/",(()=>{if("undefined"!==typeof document){var e=e=>new Promise(((t,r)=>{var o=n.miniCssF(e),a=n.p+o;if(((e,t)=>{for(var n=document.getElementsByTagName("link"),r=0;r{var i=document.createElement("link");i.rel="stylesheet",i.type="text/css",n.nc&&(i.nonce=n.nc),i.onerror=i.onload=n=>{if(i.onerror=i.onload=null,"load"===n.type)o();else{var r=n&&n.type,l=n&&n.target&&n.target.href||t,s=new Error("Loading CSS chunk "+e+" failed.\n("+r+": "+l+")");s.name="ChunkLoadError",s.code="CSS_CHUNK_LOAD_FAILED",s.type=r,s.request=l,i.parentNode&&i.parentNode.removeChild(i),a(s)}},i.href=t,r?r.parentNode.insertBefore(i,r.nextSibling):document.head.appendChild(i)})(e,a,null,t,r)})),t={792:0};n.f.miniCss=(n,r)=>{t[n]?r.push(t[n]):0!==t[n]&&{344:1}[n]&&r.push(t[n]=e(n).then((()=>{t[n]=0}),(e=>{throw delete t[n],e})))}}})(),(()=>{var e={792:0};n.f.j=(t,r)=>{var o=n.o(e,t)?e[t]:void 0;if(0!==o)if(o)r.push(o[2]);else{var a=new Promise(((n,r)=>o=e[t]=[n,r]));r.push(o[2]=a);var i=n.p+n.u(t),l=new Error;n.l(i,(r=>{if(n.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var a=r&&("load"===r.type?"missing":r.type),i=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+a+": "+i+")",l.name="ChunkLoadError",l.type=a,l.request=i,o[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var o,a,i=r[0],l=r[1],s=r[2],u=0;if(i.some((t=>0!==e[t]))){for(o in l)n.o(l,o)&&(n.m[o]=l[o]);if(s)s(n)}for(t&&t(r);u{"use strict";var e=n(5043),t=n(1216);const r=e=>{e&&e instanceof Function&&n.e(488).then(n.bind(n,2488)).then((t=>{let{getCLS:n,getFID:r,getFCP:o,getLCP:a,getTTFB:i}=t;n(e),r(e),o(e),a(e),i(e)}))};var o=n(5117);const a=()=>{const[t,n]=(0,e.useState)({loading:!1,error:!1});return t},i=e.lazy((()=>Promise.all([n.e(20),n.e(369),n.e(780)]).then(n.bind(n,780))));var l=n(7950),s=n(579);const u=document.getElementById("root");if(null==u)throw new Error("Root element not found");u.hasChildNodes()?(0,l.hydrate)((0,s.jsx)(t.Ay,{}),u):(0,l.render)((0,s.jsx)(e.StrictMode,{children:(0,s.jsx)(o.$U,{ComponentPreviews:i,useInitialHook:a,children:(0,s.jsx)(t.Ay,{})})}),u),r()})()})();
-//# sourceMappingURL=main.c27976cb.js.map
\ No newline at end of file
diff --git a/static/js/main.c27976cb.js.map b/static/js/main.c27976cb.js.map
deleted file mode 100644
index 22b8b5d..0000000
--- a/static/js/main.c27976cb.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/main.c27976cb.js","mappings":"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","sources":["auth/assets/github-logo/github-mark-white.svg","auth/LoginButton.tsx","../node_modules/@loadable/component/dist/esm/loadable.esm.mjs","../node_modules/react-uid/dist/es2015/uid.js","../node_modules/react-uid/dist/es2015/context.js","../node_modules/react-uid/dist/es2015/UIDComponent.js","../node_modules/react-uid/dist/es2015/hooks.js","../node_modules/react-uid/dist/es2015/Control.js","../node_modules/react-prerendered-component/dist/es2015/utils.js","../node_modules/detect-node-es/esm/browser.js","../node_modules/react-prerendered-component/dist/es2015/PrerenderedControl.js","../node_modules/react-prerendered-component/dist/es2015/PrerenderedComponent.js","App.tsx","auth/AuthHelper.tsx","../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/react/dist/emotion-element-43c6fea0.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@mui/base/Portal/Portal.js","../node_modules/@mui/base/utils/appendOwnerState.js","../node_modules/@mui/base/utils/extractEventHandlers.js","../node_modules/@mui/base/utils/isHostComponent.js","../node_modules/@mui/base/utils/omitEventHandlers.js","../node_modules/@mui/base/utils/mergeSlotProps.js","../node_modules/@mui/base/utils/resolveComponentProps.js","../node_modules/@mui/base/utils/useSlotProps.js","../node_modules/react-transition-group/esm/utils/ChildMapping.js","../node_modules/react-transition-group/esm/TransitionGroup.js","../node_modules/@mui/material/ButtonBase/Ripple.js","../node_modules/@mui/material/ButtonBase/touchRippleClasses.js","../node_modules/@mui/material/ButtonBase/TouchRipple.js","../node_modules/@mui/material/ButtonBase/buttonBaseClasses.js","../node_modules/@mui/material/ButtonBase/ButtonBase.js","../node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.js","../node_modules/@mui/material/ButtonGroup/ButtonGroupContext.js","../node_modules/@mui/material/Button/buttonClasses.js","../node_modules/@mui/material/Button/Button.js","../node_modules/@mui/material/Grow/Grow.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@mui/base/generateUtilityClass/index.js","../node_modules/@mui/base/Popper/popperClasses.js","../node_modules/@mui/base/generateUtilityClasses/index.js","../node_modules/@mui/base/utils/ClassNameConfigurator.js","../node_modules/@mui/base/Popper/Popper.js","../node_modules/@mui/material/Popper/Popper.js","../node_modules/@mui/material/Tooltip/tooltipClasses.js","../node_modules/@mui/material/Tooltip/Tooltip.js","../node_modules/@mui/private-theming/useTheme/ThemeContext.js","../node_modules/@mui/private-theming/useTheme/useTheme.js","../node_modules/@mui/private-theming/ThemeProvider/nested.js","../node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.js","../node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.js","../node_modules/@mui/material/styles/ThemeProvider.js","../node_modules/@mui/material/colors/common.js","../node_modules/@mui/material/colors/grey.js","../node_modules/@mui/material/colors/purple.js","../node_modules/@mui/material/colors/red.js","../node_modules/@mui/material/colors/orange.js","../node_modules/@mui/material/colors/blue.js","../node_modules/@mui/material/colors/lightBlue.js","../node_modules/@mui/material/colors/green.js","../node_modules/@mui/material/styles/createPalette.js","../node_modules/@mui/material/styles/createTypography.js","../node_modules/@mui/material/styles/shadows.js","../node_modules/@mui/material/styles/zIndex.js","../node_modules/@mui/material/styles/createTheme.js","../node_modules/@mui/material/styles/createMixins.js","../node_modules/@mui/material/styles/createTransitions.js","../node_modules/@mui/material/styles/defaultTheme.js","../node_modules/@mui/material/styles/identifier.js","../node_modules/@mui/material/styles/rootShouldForwardProp.js","../node_modules/@mui/material/styles/slotShouldForwardProp.js","../node_modules/@mui/material/styles/styled.js","../node_modules/@mui/material/styles/useTheme.js","../node_modules/@mui/material/styles/useThemeProps.js","../node_modules/@mui/material/transitions/utils.js","../node_modules/@mui/material/utils/capitalize.js","../node_modules/@mui/material/utils/useControlled.js","../node_modules/@mui/material/utils/useEventCallback.js","../node_modules/@mui/material/utils/useForkRef.js","../node_modules/@mui/material/utils/useId.js","../node_modules/@mui/material/utils/useIsFocusVisible.js","../node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js","../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","../node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","../node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js","../node_modules/@mui/styled-engine/index.js","../node_modules/@mui/system/colorManipulator.js","../node_modules/@mui/system/createStyled.js","../node_modules/@mui/system/esm/RtlProvider/index.js","../node_modules/@mui/system/esm/breakpoints.js","../node_modules/@mui/system/esm/createTheme/applyStyles.js","../node_modules/@mui/system/esm/createTheme/createBreakpoints.js","../node_modules/@mui/system/esm/createTheme/shape.js","../node_modules/@mui/system/esm/createTheme/createTheme.js","../node_modules/@mui/system/esm/createTheme/createSpacing.js","../node_modules/@mui/system/esm/merge.js","../node_modules/@mui/system/esm/spacing.js","../node_modules/@mui/system/esm/memoize.js","../node_modules/@mui/system/esm/style.js","../node_modules/@mui/system/esm/compose.js","../node_modules/@mui/system/esm/borders.js","../node_modules/@mui/system/esm/cssGrid.js","../node_modules/@mui/system/esm/palette.js","../node_modules/@mui/system/esm/sizing.js","../node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js","../node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js","../node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js","../node_modules/@mui/system/esm/useTheme.js","../node_modules/@mui/system/esm/useThemeProps/useThemeProps.js","../node_modules/@mui/system/esm/useThemeProps/getThemeProps.js","../node_modules/@mui/system/esm/useThemeWithoutDefault.js","../node_modules/@mui/system/useThemeWithoutDefault.js","../node_modules/@mui/utils/ClassNameGenerator/ClassNameGenerator.js","../node_modules/@mui/utils/capitalize/capitalize.js","../node_modules/@mui/utils/clamp/clamp.js","../node_modules/@mui/utils/composeClasses/composeClasses.js","../node_modules/@mui/utils/deepmerge/deepmerge.js","../node_modules/@mui/utils/formatMuiErrorMessage/formatMuiErrorMessage.js","../node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js","../node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js","../node_modules/@mui/utils/getDisplayName/getDisplayName.js","../node_modules/@mui/utils/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/@mui/utils/node_modules/react-is/index.js","../node_modules/@mui/utils/ownerDocument/ownerDocument.js","../node_modules/@mui/utils/resolveProps/resolveProps.js","../node_modules/@mui/utils/setRef/setRef.js","../node_modules/@mui/utils/useControlled/useControlled.js","../node_modules/@mui/utils/useEnhancedEffect/useEnhancedEffect.js","../node_modules/@mui/utils/useEventCallback/useEventCallback.js","../node_modules/@mui/utils/useForkRef/useForkRef.js","../node_modules/@mui/utils/useId/useId.js","../node_modules/@mui/utils/useIsFocusVisible/useIsFocusVisible.js","../node_modules/@mui/utils/useLazyRef/useLazyRef.js","../node_modules/@mui/utils/useOnMount/useOnMount.js","../node_modules/@mui/utils/useTimeout/useTimeout.js","../node_modules/@react-buddy/ide-toolbox/src/config.ts","../node_modules/@react-buddy/ide-toolbox/src/previews/dev-support.tsx","../node_modules/@react-buddy/ide-toolbox/node_modules/style-inject/dist/style-inject.es.js","../node_modules/@react-buddy/ide-toolbox/src/previews/tools-panel/props-edit-table/table-header/table-header.tsx","../node_modules/@react-buddy/ide-toolbox/src/types.ts","../node_modules/@react-buddy/ide-toolbox/node_modules/tslib/tslib.es6.js","../node_modules/@react-buddy/ide-toolbox/src/previews/tools-panel/props-edit-table/table-items/table-item/table-item-control/input/input.tsx","../node_modules/@react-buddy/ide-toolbox/src/previews/tools-panel/props-edit-table/table-items/table-item/table-item-control/checkbox/checkbox.tsx","../node_modules/@react-buddy/ide-toolbox/src/previews/tools-panel/props-edit-table/table-items/table-item/table-item-control/select/select.tsx","../node_modules/@react-buddy/ide-toolbox/src/previews/tools-panel/props-edit-table/table-items/table-item/table-item-control/radio/radio.tsx","../node_modules/@react-buddy/ide-toolbox/src/previews/tools-panel/props-edit-table/table-items/table-item/table-item-control/textarea/textarea.tsx","../node_modules/@react-buddy/ide-toolbox/src/previews/tools-panel/props-edit-table/table-items/table-item/table-item-control/json-editor/json-editor.tsx","../node_modules/@react-buddy/ide-toolbox/src/previews/tools-panel/props-edit-table/table-items/table-item/table-item-control/table-item-control.tsx","../node_modules/@react-buddy/ide-toolbox/src/previews/tools-panel/props-edit-table/table-items/table-item/table-item.tsx","../node_modules/@react-buddy/ide-toolbox/src/previews/tools-panel/props-edit-table/table-items/table-items.tsx","../node_modules/@react-buddy/ide-toolbox/src/previews/tools-panel/props-edit-table/props-edit-table.tsx","../node_modules/@react-buddy/ide-toolbox/src/previews/tools-panel/tools-panel.tsx","../node_modules/@react-buddy/ide-toolbox/src/routing/routing.ts","../node_modules/@react-buddy/ide-toolbox/src/routing/utils.ts","../node_modules/@react-buddy/ide-toolbox/src/previews/previews.tsx","../node_modules/@react-buddy/ide-toolbox/src/react-buddy-error-boundary/react-buddy-error-boundary.tsx","../node_modules/@react-buddy/ide-toolbox/src/palette/palette.tsx","../node_modules/@react-buddy/ide-toolbox/src/category/category.tsx","../node_modules/@react-buddy/ide-toolbox/src/component/component.tsx","../node_modules/@react-buddy/ide-toolbox/src/util/classNames.ts","../node_modules/@react-buddy/ide-toolbox/src/variant/variant.tsx","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/components.tsx","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/@babel/runtime/helpers/extends.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/clsx/dist/clsx.mjs","../webpack/bootstrap","../webpack/runtime/amd define","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/css loading","../webpack/runtime/jsonp chunk loading","reportWebVitals.ts","dev/useInitial.ts","dev/index.ts","index.tsx"],"sourcesContent":["var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgGithubMarkWhite(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 98,\n height: 96,\n viewBox: \"0 0 98 96\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z\",\n fill: \"#fff\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGithubMarkWhite);\nexport default __webpack_public_path__ + \"static/media/github-mark-white.ac7f5ce28096dc43a49cbedeabffa77b.svg\";\nexport { ForwardRef as ReactComponent };","import {useEffect, useState} from \"react\";\r\nimport {AUTH_API_URL} from \"../App\";\r\nimport {getToken, getUserName, isLoggedIn} from \"./AuthHelper\";\r\nimport {Button, createTheme, Shadows, ThemeProvider, Tooltip} from \"@mui/material\";\r\nimport {ReactComponent as GithubLogo} from \"./assets/github-logo/github-mark-white.svg\";\r\n\r\nconst theme = createTheme({\r\n shadows: Array(25).fill(\"none\") as Shadows,\r\n palette: {\r\n primary: {\r\n main: '#000',\r\n },\r\n secondary: {\r\n main: '#fff',\r\n },\r\n },\r\n});\r\n\r\nexport default function LoginButton() {\r\n const [userName, setUserName] = useState(getUserName());\r\n let token = getToken();\r\n let loggedIn = isLoggedIn();\r\n useEffect(() => {\r\n if (loggedIn && !userName) {\r\n // get user info\r\n fetch(\"https://api.github.com/user\", {\r\n headers: {\r\n accept: \"application/vnd.github.v3+json\",\r\n authorization: `token ${token}`\r\n }\r\n })\r\n .then(response => response.json())\r\n .then(({login, id, name}) => {\r\n let userData = JSON.stringify({login, id, name});\r\n if (localStorage.getItem(\"userData\") !== userData && login !== undefined && id !== undefined && name !== undefined) {\r\n localStorage.setItem(\"userData\", userData);\r\n }\r\n setUserName(name);\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n });\r\n }\r\n // eslint-disable-next-line\r\n }, [loggedIn, token]);\r\n\r\n function logIn() {\r\n localStorage.setItem(\"loginRedirect\", window.location.href);\r\n window.location.href = AUTH_API_URL;\r\n }\r\n\r\n if (!loggedIn) {\r\n // return a rounded button with the github logo and \"Sign in with GitHub\"\r\n return \r\n \r\n \r\n\r\n } else {\r\n let loggedInText = userName ? `Hey, ${userName}!` : \"Finishing Sign In\";\r\n\r\n return \r\n \r\n \r\n \r\n \r\n }\r\n}\r\n\r\nexport function logout() {\r\n localStorage.removeItem(\"token\");\r\n localStorage.removeItem(\"userName\");\r\n window.location.reload()\r\n}","import React from 'react';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n\n/* eslint-disable import/prefer-default-export */\nfunction invariant(condition, message) {\n if (condition) return;\n var error = new Error(\"loadable: \" + message);\n error.framesToPop = 1;\n error.name = 'Invariant Violation';\n throw error;\n}\nfunction warn(message) {\n // eslint-disable-next-line no-console\n console.warn(\"loadable: \" + message);\n}\n\nvar Context = /*#__PURE__*/\nReact.createContext();\n\nvar LOADABLE_REQUIRED_CHUNKS_KEY = '__LOADABLE_REQUIRED_CHUNKS__';\nfunction getRequiredChunkKey(namespace) {\n return \"\" + namespace + LOADABLE_REQUIRED_CHUNKS_KEY;\n}\n\nvar sharedInternals = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getRequiredChunkKey: getRequiredChunkKey,\n invariant: invariant,\n Context: Context\n});\n\nvar LOADABLE_SHARED = {\n initialChunks: {}\n};\n\nvar STATUS_PENDING = 'PENDING';\nvar STATUS_RESOLVED = 'RESOLVED';\nvar STATUS_REJECTED = 'REJECTED';\n\nfunction resolveConstructor(ctor) {\n if (typeof ctor === 'function') {\n return {\n requireAsync: ctor,\n resolve: function resolve() {\n return undefined;\n },\n chunkName: function chunkName() {\n return undefined;\n }\n };\n }\n\n return ctor;\n}\n\nvar withChunkExtractor = function withChunkExtractor(Component) {\n var LoadableWithChunkExtractor = function LoadableWithChunkExtractor(props) {\n return React.createElement(Context.Consumer, null, function (extractor) {\n return React.createElement(Component, Object.assign({\n __chunkExtractor: extractor\n }, props));\n });\n };\n\n if (Component.displayName) {\n LoadableWithChunkExtractor.displayName = Component.displayName + \"WithChunkExtractor\";\n }\n\n return LoadableWithChunkExtractor;\n};\n\nvar identity = function identity(v) {\n return v;\n};\n\nfunction createLoadable(_ref) {\n var _ref$defaultResolveCo = _ref.defaultResolveComponent,\n defaultResolveComponent = _ref$defaultResolveCo === void 0 ? identity : _ref$defaultResolveCo,\n _render = _ref.render,\n onLoad = _ref.onLoad;\n\n function loadable(loadableConstructor, options) {\n if (options === void 0) {\n options = {};\n }\n\n var ctor = resolveConstructor(loadableConstructor);\n var cache = {};\n /**\n * Cachekey represents the component to be loaded\n * if key changes - component has to be reloaded\n * @param props\n * @returns {null|Component}\n */\n\n function _getCacheKey(props) {\n if (options.cacheKey) {\n return options.cacheKey(props);\n }\n\n if (ctor.resolve) {\n return ctor.resolve(props);\n }\n\n return 'static';\n }\n /**\n * Resolves loaded `module` to a specific `Component\n * @param module\n * @param props\n * @param Loadable\n * @returns Component\n */\n\n\n function resolve(module, props, Loadable) {\n var Component = options.resolveComponent ? options.resolveComponent(module, props) : defaultResolveComponent(module); // FIXME: suppressed due to https://github.com/gregberge/loadable-components/issues/990\n // if (options.resolveComponent && !ReactIs.isValidElementType(Component)) {\n // throw new Error(\n // `resolveComponent returned something that is not a React component!`,\n // )\n // }\n\n hoistNonReactStatics(Loadable, Component, {\n preload: true\n });\n return Component;\n }\n\n var cachedLoad = function cachedLoad(props) {\n var cacheKey = _getCacheKey(props);\n\n var promise = cache[cacheKey];\n\n if (!promise || promise.status === STATUS_REJECTED) {\n promise = ctor.requireAsync(props);\n promise.status = STATUS_PENDING;\n cache[cacheKey] = promise;\n promise.then(function () {\n promise.status = STATUS_RESOLVED;\n }, function (error) {\n console.error('loadable-components: failed to asynchronously load component', {\n fileName: ctor.resolve(props),\n chunkName: ctor.chunkName(props),\n error: error ? error.message : error\n });\n promise.status = STATUS_REJECTED;\n });\n }\n\n return promise;\n };\n\n var InnerLoadable =\n /*#__PURE__*/\n function (_React$Component) {\n _inheritsLoose(InnerLoadable, _React$Component);\n\n InnerLoadable.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n var cacheKey = _getCacheKey(props);\n\n return _extends({}, state, {\n cacheKey: cacheKey,\n // change of a key triggers loading state automatically\n loading: state.loading || state.cacheKey !== cacheKey\n });\n };\n\n function InnerLoadable(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.state = {\n result: null,\n error: null,\n loading: true,\n cacheKey: _getCacheKey(props)\n };\n invariant(!props.__chunkExtractor || ctor.requireSync, 'SSR requires `@loadable/babel-plugin`, please install it'); // Server-side\n\n if (props.__chunkExtractor) {\n // This module has been marked with no SSR\n if (options.ssr === false) {\n return _assertThisInitialized(_this);\n } // We run load function, we assume that it won't fail and that it\n // triggers a synchronous loading of the module\n\n\n ctor.requireAsync(props)[\"catch\"](function () {\n return null;\n }); // So we can require now the module synchronously\n\n _this.loadSync();\n\n props.__chunkExtractor.addChunk(ctor.chunkName(props));\n\n return _assertThisInitialized(_this);\n } // Client-side with `isReady` method present (SSR probably)\n // If module is already loaded, we use a synchronous loading\n // Only perform this synchronous loading if the component has not\n // been marked with no SSR, else we risk hydration mismatches\n\n\n if (options.ssr !== false && ( // is ready - was loaded in this session\n ctor.isReady && ctor.isReady(props) || // is ready - was loaded during SSR process\n ctor.chunkName && LOADABLE_SHARED.initialChunks[ctor.chunkName(props)])) {\n _this.loadSync();\n }\n\n return _this;\n }\n\n var _proto = InnerLoadable.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true; // retrieve loading promise from a global cache\n\n var cachedPromise = this.getCache(); // if promise exists, but rejected - clear cache\n\n if (cachedPromise && cachedPromise.status === STATUS_REJECTED) {\n this.setCache();\n } // component might be resolved synchronously in the constructor\n\n\n if (this.state.loading) {\n this.loadAsync();\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // Component has to be reloaded on cacheKey change\n if (prevState.cacheKey !== this.state.cacheKey) {\n this.loadAsync();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n if (this.mounted) {\n this.setState(nextState, callback);\n }\n }\n /**\n * returns a cache key for the current props\n * @returns {Component|string}\n */\n ;\n\n _proto.getCacheKey = function getCacheKey() {\n return _getCacheKey(this.props);\n }\n /**\n * access the persistent cache\n */\n ;\n\n _proto.getCache = function getCache() {\n return cache[this.getCacheKey()];\n }\n /**\n * sets the cache value. If called without value sets it as undefined\n */\n ;\n\n _proto.setCache = function setCache(value) {\n if (value === void 0) {\n value = undefined;\n }\n\n cache[this.getCacheKey()] = value;\n };\n\n _proto.triggerOnLoad = function triggerOnLoad() {\n var _this2 = this;\n\n if (onLoad) {\n setTimeout(function () {\n onLoad(_this2.state.result, _this2.props);\n });\n }\n }\n /**\n * Synchronously loads component\n * target module is expected to already exists in the module cache\n * or be capable to resolve synchronously (webpack target=node)\n */\n ;\n\n _proto.loadSync = function loadSync() {\n // load sync is expecting component to be in the \"loading\" state already\n // sounds weird, but loading=true is the initial state of InnerLoadable\n if (!this.state.loading) return;\n\n try {\n var loadedModule = ctor.requireSync(this.props);\n var result = resolve(loadedModule, this.props, Loadable);\n this.state.result = result;\n this.state.loading = false;\n } catch (error) {\n console.error('loadable-components: failed to synchronously load component, which expected to be available', {\n fileName: ctor.resolve(this.props),\n chunkName: ctor.chunkName(this.props),\n error: error ? error.message : error\n });\n this.state.error = error;\n }\n }\n /**\n * Asynchronously loads a component.\n */\n ;\n\n _proto.loadAsync = function loadAsync() {\n var _this3 = this;\n\n var promise = this.resolveAsync();\n promise.then(function (loadedModule) {\n var result = resolve(loadedModule, _this3.props, Loadable);\n\n _this3.safeSetState({\n result: result,\n loading: false\n }, function () {\n return _this3.triggerOnLoad();\n });\n })[\"catch\"](function (error) {\n return _this3.safeSetState({\n error: error,\n loading: false\n });\n });\n return promise;\n }\n /**\n * Asynchronously resolves(not loads) a component.\n * Note - this function does not change the state\n */\n ;\n\n _proto.resolveAsync = function resolveAsync() {\n var _this$props = this.props,\n __chunkExtractor = _this$props.__chunkExtractor,\n forwardedRef = _this$props.forwardedRef,\n props = _objectWithoutPropertiesLoose(_this$props, [\"__chunkExtractor\", \"forwardedRef\"]);\n\n return cachedLoad(props);\n };\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n forwardedRef = _this$props2.forwardedRef,\n propFallback = _this$props2.fallback,\n __chunkExtractor = _this$props2.__chunkExtractor,\n props = _objectWithoutPropertiesLoose(_this$props2, [\"forwardedRef\", \"fallback\", \"__chunkExtractor\"]);\n\n var _this$state = this.state,\n error = _this$state.error,\n loading = _this$state.loading,\n result = _this$state.result;\n\n if (options.suspense) {\n var cachedPromise = this.getCache() || this.loadAsync();\n\n if (cachedPromise.status === STATUS_PENDING) {\n throw this.loadAsync();\n }\n }\n\n if (error) {\n throw error;\n }\n\n var fallback = propFallback || options.fallback || null;\n\n if (loading) {\n return fallback;\n }\n\n return _render({\n fallback: fallback,\n result: result,\n options: options,\n props: _extends({}, props, {\n ref: forwardedRef\n })\n });\n };\n\n return InnerLoadable;\n }(React.Component);\n\n var EnhancedInnerLoadable = withChunkExtractor(InnerLoadable);\n var Loadable = React.forwardRef(function (props, ref) {\n return React.createElement(EnhancedInnerLoadable, Object.assign({\n forwardedRef: ref\n }, props));\n });\n Loadable.displayName = 'Loadable'; // In future, preload could use ``\n\n Loadable.preload = function (props) {\n Loadable.load(props);\n };\n\n Loadable.load = function (props) {\n return cachedLoad(props);\n };\n\n return Loadable;\n }\n\n function lazy(ctor, options) {\n return loadable(ctor, _extends({}, options, {\n suspense: true\n }));\n }\n\n return {\n loadable: loadable,\n lazy: lazy\n };\n}\n\nfunction defaultResolveComponent(loadedModule) {\n // eslint-disable-next-line no-underscore-dangle\n return loadedModule.__esModule ? loadedModule[\"default\"] : loadedModule[\"default\"] || loadedModule;\n}\n\n/* eslint-disable no-use-before-define, react/no-multi-comp */\n\nvar _createLoadable =\n/*#__PURE__*/\ncreateLoadable({\n defaultResolveComponent: defaultResolveComponent,\n render: function render(_ref) {\n var Component = _ref.result,\n props = _ref.props;\n return React.createElement(Component, props);\n }\n}),\n loadable = _createLoadable.loadable,\n lazy = _createLoadable.lazy;\n\n/* eslint-disable no-use-before-define, react/no-multi-comp */\n\nvar _createLoadable$1 =\n/*#__PURE__*/\ncreateLoadable({\n onLoad: function onLoad(result, props) {\n if (result && props.forwardedRef) {\n if (typeof props.forwardedRef === 'function') {\n props.forwardedRef(result);\n } else {\n props.forwardedRef.current = result;\n }\n }\n },\n render: function render(_ref) {\n var result = _ref.result,\n props = _ref.props;\n\n if (props.children) {\n return props.children(result);\n }\n\n return null;\n }\n}),\n loadable$1 = _createLoadable$1.loadable,\n lazy$1 = _createLoadable$1.lazy;\n\n/* eslint-disable no-underscore-dangle, camelcase */\nvar BROWSER = typeof window !== 'undefined';\nfunction loadableReady(done, _temp) {\n if (done === void 0) {\n done = function done() {};\n }\n\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$namespace = _ref.namespace,\n namespace = _ref$namespace === void 0 ? '' : _ref$namespace,\n _ref$chunkLoadingGlob = _ref.chunkLoadingGlobal,\n chunkLoadingGlobal = _ref$chunkLoadingGlob === void 0 ? '__LOADABLE_LOADED_CHUNKS__' : _ref$chunkLoadingGlob;\n\n if (!BROWSER) {\n warn('`loadableReady()` must be called in browser only');\n done();\n return Promise.resolve();\n }\n\n var requiredChunks = null;\n\n if (BROWSER) {\n var id = getRequiredChunkKey(namespace);\n var dataElement = document.getElementById(id);\n\n if (dataElement) {\n requiredChunks = JSON.parse(dataElement.textContent);\n var extElement = document.getElementById(id + \"_ext\");\n\n if (extElement) {\n var _JSON$parse = JSON.parse(extElement.textContent),\n namedChunks = _JSON$parse.namedChunks;\n\n namedChunks.forEach(function (chunkName) {\n LOADABLE_SHARED.initialChunks[chunkName] = true;\n });\n } else {\n // version mismatch\n throw new Error('loadable-component: @loadable/server does not match @loadable/component');\n }\n }\n }\n\n if (!requiredChunks) {\n warn('`loadableReady()` requires state, please use `getScriptTags` or `getScriptElements` server-side');\n done();\n return Promise.resolve();\n }\n\n var resolved = false;\n return new Promise(function (resolve) {\n window[chunkLoadingGlobal] = window[chunkLoadingGlobal] || [];\n var loadedChunks = window[chunkLoadingGlobal];\n var originalPush = loadedChunks.push.bind(loadedChunks);\n\n function checkReadyState() {\n if (requiredChunks.every(function (chunk) {\n return loadedChunks.some(function (_ref2) {\n var chunks = _ref2[0];\n return chunks.indexOf(chunk) > -1;\n });\n })) {\n if (!resolved) {\n resolved = true;\n resolve();\n }\n }\n }\n\n loadedChunks.push = function () {\n originalPush.apply(void 0, arguments);\n checkReadyState();\n };\n\n checkReadyState();\n }).then(done);\n}\n\n/* eslint-disable no-underscore-dangle */\nvar loadable$2 = loadable;\nloadable$2.lib = loadable$1;\nvar lazy$2 = lazy;\nlazy$2.lib = lazy$1;\nvar __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = sharedInternals;\n\nexport default loadable$2;\nexport { __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, lazy$2 as lazy, loadableReady };\n","/**\n * generates a UID factory\n * @internal\n * @example\n * const uid = generateUID();\n * uid(object) = 1;\n * uid(object) = 1;\n * uid(anotherObject) = 2;\n */\nexport var generateUID = function () {\n var counter = 1;\n var map = new WeakMap();\n /**\n * @borrows {uid}\n */\n var uid = function (item, index) {\n if (typeof item === 'number' || typeof item === 'string') {\n return index ? \"idx-\".concat(index) : \"val-\".concat(item);\n }\n if (!map.has(item)) {\n map.set(item, counter++);\n return uid(item);\n }\n return 'uid' + map.get(item);\n };\n return uid;\n};\n/**\n * @name uid\n * returns an UID associated with {item}\n * @param {Object} item - object to generate UID for\n * @param {Number} index, a fallback index\n * @example\n * uid(object) == 1;\n * uid(object) == 1;\n * uid(anotherObject) == 2;\n * uid(\"not object\", 42) == 42\n *\n * @see {@link useUID}\n */\nexport var uid = generateUID();\n","import * as React from 'react';\nimport { generateUID } from './uid';\nexport var createSource = function (prefix) {\n if (prefix === void 0) { prefix = ''; }\n return ({\n value: 1,\n prefix: prefix,\n uid: generateUID(),\n });\n};\nexport var counter = createSource();\nexport var source = React.createContext(createSource());\nexport var getId = function (source) { return source.value++; };\nexport var getPrefix = function (source) { return (source ? source.prefix : ''); };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { counter, getId, getPrefix } from './context';\n// --------------------------------------------\nvar prefixId = function (id, prefix, name) {\n var uid = prefix + id;\n return String(name ? name(uid) : uid);\n};\n/**\n * @deprecated\n * UID in form of renderProps (not SSR friendly)\n * @see https://github.com/thearnica/react-uid#react-components\n * @example\n * // get UID to connect label to input\n * \n * {(id)} => \n *\n * // get uid to generate uid for a keys in a list\n * \n * {(, uid)} => items.map(item => )}\n * \n */\nvar UID = /** @class */ (function (_super) {\n __extends(UID, _super);\n function UID() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n quartz: _this.props.idSource || counter,\n prefix: getPrefix(_this.props.idSource),\n id: getId(_this.props.idSource || counter),\n };\n _this.uid = function (item) {\n return prefixId(_this.state.id + '-' + _this.state.quartz.uid(item), _this.state.prefix, _this.props.name);\n };\n return _this;\n }\n UID.prototype.render = function () {\n var _a = this.props, children = _a.children, name = _a.name;\n var _b = this.state, id = _b.id, prefix = _b.prefix;\n return children(prefixId(id, prefix, name), this.uid);\n };\n return UID;\n}(React.Component));\nexport { UID };\n","import * as React from 'react';\nimport { useContext, useState } from 'react';\nimport { counter, getId, getPrefix, source } from './context';\nvar generateUID = function (context) {\n var quartz = context || counter;\n var prefix = getPrefix(quartz);\n var id = getId(quartz);\n var uid = prefix + id;\n var gen = function (item) { return uid + quartz.uid(item); };\n return { uid: uid, gen: gen };\n};\nvar useUIDState = function () {\n if (process.env.NODE_ENV !== 'production') {\n if (!('useContext' in React)) {\n throw new Error('Hooks API requires React 16.8+');\n }\n }\n var context = useContext(source);\n var uid = useState(function () { return generateUID(context); })[0];\n return uid;\n};\n/**\n * returns and unique id. SSR friendly\n * returns {String}\n * @see {@link UIDConsumer}\n * @see https://github.com/thearnica/react-uid#hooks-168\n * @example\n * const id = useUID();\n * id == 1; // for example\n */\nexport var useUID = function () {\n var uid = useUIDState().uid;\n return uid;\n};\n/**\n * returns an uid generator\n * @see {@link UIDConsumer}\n * @see https://github.com/thearnica/react-uid#hooks-168\n * @example\n * const uid = useUIDSeed();\n * return (\n * <>\n * \n * \n * {data.map(item => ...\n * >\n * )\n */\nexport var useUIDSeed = function () {\n var gen = useUIDState().gen;\n return gen;\n};\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { UID } from './UIDComponent';\nimport { createSource, source } from './context';\nimport { useUID } from './hooks';\n/**\n * UID isolation component, required for SSR and testing.\n * Wrap your application with it to guarantee UID consistency between SSR and CSR.\n * @param {String} [prefix] - prefix for all generated ids\n * @example\n * \n * \n * \n * @see https://github.com/thearnica/react-uid#server-side-friendly-uid\n */\nexport var UIDReset = function (_a) {\n var children = _a.children, _b = _a.prefix, prefix = _b === void 0 ? '' : _b;\n var valueSource = useState(function () { return createSource(prefix); })[0];\n return React.createElement(source.Provider, { value: valueSource }, children);\n};\n/**\n * Creates a sub-ids for nested components, isolating from inside a branch.\n * Useful for self-contained elements or code splitting\n * @see https://github.com/thearnica/react-uid#code-splitting\n */\nexport var UIDFork = function (_a) {\n var children = _a.children, _b = _a.prefix, prefix = _b === void 0 ? '' : _b;\n var id = useUID();\n var valueSource = useState(function () { return createSource(id + '-' + prefix); })[0];\n return React.createElement(source.Provider, { value: valueSource }, children);\n};\n/**\n * UID in form of renderProps. Supports nesting and SSR. Prefer {@link useUID} hook version if possible.\n * @see https://github.com/thearnica/react-uid#server-side-friendly-uid\n * @see https://github.com/thearnica/react-uid#react-components\n * @example\n * // get UID to connect label to input\n * \n * {(id)} => \n *\n * // get uid to generate uid for a keys in a list\n * \n * {(, uid)} => items.map(item => )}\n * \n *\n * @see {@link useUID} - a hook version of this component\n * @see {@link UID} - not SSR compatible version\n */\nexport var UIDConsumer = function (_a) {\n var name = _a.name, children = _a.children;\n return (React.createElement(source.Consumer, null, function (value) { return React.createElement(UID, { name: name, idSource: value, children: children }); }));\n};\n","import { isNode } from 'detect-node-es';\nvar isServerSide = isNode;\nexport var thisIsServer = function () { return isServerSide = true; };\nexport var isThisServer = function () { return isServerSide; };\n","export const isNode = false;\n\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport * as React from 'react';\nimport * as nanoid from 'nanoid';\nimport { UIDReset } from 'react-uid';\nimport { isThisServer } from \"./utils\";\nexport var cacheControler = function (cache) {\n var counter = 0;\n var cachedValues = {};\n var cached = {};\n return {\n cache: cache,\n seed: nanoid().toLowerCase(),\n get: function (key) {\n return cachedValues[cached[key].key];\n },\n set: function (id, value) {\n var _a = cached[id], key = _a.key, ttl = _a.ttl;\n cache.set(key, value, ttl);\n },\n store: function (key, value) {\n cachedValues[key] = value;\n return this.assign(key, 0);\n },\n assign: function (key, ttl) {\n counter++;\n cached[counter] = { key: key, ttl: ttl };\n return counter;\n }\n };\n};\nvar context = React.createContext({\n isServer: isThisServer(),\n hydrated: false,\n});\nvar PrerenderedControler = (function (_super) {\n __extends(PrerenderedControler, _super);\n function PrerenderedControler() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n hydrated: _this.props.hydrated || false,\n };\n return _this;\n }\n PrerenderedControler.prototype.componentDidMount = function () {\n if (this.props.hydrated) {\n this.setState({\n hydrated: false\n });\n }\n };\n PrerenderedControler.prototype.render = function () {\n var _a = this.props, children = _a.children, props = __rest(_a, [\"children\"]);\n return (React.createElement(UIDReset, null,\n React.createElement(context.Provider, { value: __assign({ isServer: isThisServer(), hydrated: false }, props, this.state) }, children)));\n };\n return PrerenderedControler;\n}(React.Component));\nexport { PrerenderedControler };\n;\nexport var PrerenderedContext = context;\nexport var PrerenderedControls = context.Consumer;\nexport var TemplateControl = React.createContext({\n variables: {},\n isServer: true,\n seed: ''\n});\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport * as React from 'react';\nimport { UIDFork, UIDConsumer } from \"react-uid\";\nimport { PrerenderedControls } from \"./PrerenderedControl\";\nvar getInnerHTML = function (id) {\n var element = typeof document !== 'undefined' && document.getElementById(id);\n return element ? element.innerHTML : null;\n};\nvar PrerenderedWrapper = (function (_super) {\n __extends(PrerenderedWrapper, _super);\n function PrerenderedWrapper() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n html: getInnerHTML(_this.props.id)\n };\n return _this;\n }\n PrerenderedWrapper.prototype.componentDidMount = function () {\n var _a = this.props, live = _a.live, dehydrate = _a.dehydrate, id = _a.id;\n if (!live) {\n var element = document.getElementById(id);\n if (element) {\n dehydrate(element);\n }\n }\n };\n PrerenderedWrapper.prototype.render = function () {\n var _a = this.props, children = _a.children, live = _a.live, strict = _a.strict, id = _a.id, className = _a.className, style = _a.style;\n var html = this.state.html;\n var props = { id: id, className: className, style: style, 'data-prerendered-border': true };\n return (live || (!html && !strict))\n ? React.createElement(\"div\", __assign({}, props), children)\n : React.createElement(\"div\", __assign({}, props, { dangerouslySetInnerHTML: { __html: html || '' } }));\n };\n return PrerenderedWrapper;\n}(React.Component));\nvar isBooleanFlag = function (flag) { return (!flag || typeof flag === 'boolean' || !flag.then); };\nvar PrerenderedComponent = (function (_super) {\n __extends(PrerenderedComponent, _super);\n function PrerenderedComponent() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n state: null,\n live: false,\n };\n _this.awaitingFor = undefined;\n _this.dehydrate = function (el) {\n if (_this.props.restore) {\n var store = el.querySelector(\"script[type=\\\"text/store-\" + el.id + \"\\\"]\");\n Promise\n .resolve(_this.props.restore(el, JSON.parse((store ? store.textContent : '') || '{}')))\n .then(function (state) { return _this.setState({ live: true, state: state }); });\n }\n };\n return _this;\n }\n PrerenderedComponent.getDerivedStateFromProps = function (props, state) {\n if (isBooleanFlag(props.live) && props.live !== state.live) {\n return {\n live: props.live\n };\n }\n return null;\n };\n PrerenderedComponent.prototype.componentDidMount = function () {\n this.checkLive();\n };\n PrerenderedComponent.prototype.componentDidUpdate = function () {\n this.checkLive();\n };\n PrerenderedComponent.prototype.checkLive = function () {\n if (!isBooleanFlag(this.props.live)) {\n this.awaitForLive(this.props.live);\n }\n };\n PrerenderedComponent.prototype.awaitForLive = function (live) {\n var _this = this;\n if (this.awaitingFor !== live) {\n this.awaitingFor = live;\n Promise\n .resolve(live)\n .then(function (value) { return _this.props.live === live && _this.setState({ live: !!value }); });\n }\n };\n PrerenderedComponent.prototype.render = function () {\n var _this = this;\n var _a = this.props, className = _a.className, style = _a.style, children = _a.children, store = _a.store, _b = _a.strict, strict = _b === void 0 ? false : _b;\n var live = this.state.live;\n return (React.createElement(PrerenderedControls, null, function (_a) {\n var isServer = _a.isServer;\n return (React.createElement(UIDFork, null,\n React.createElement(UIDConsumer, null, function (uid) { return (React.createElement(PrerenderedWrapper, { id: \"prc-\" + uid, className: className, style: style, live: !!(live || isServer), strict: strict, dehydrate: _this.dehydrate },\n store &&\n React.createElement(\"script\", { type: \"text/store-prc-\" + uid, dangerouslySetInnerHTML: { __html: JSON.stringify(store) } }),\n children)); })));\n }));\n };\n return PrerenderedComponent;\n}(React.Component));\nexport { PrerenderedComponent };\n","import React, {lazy, Suspense} from 'react';\r\nimport {BrowserRouter as Router, Link, Route, Routes, useLocation} from 'react-router-dom';\r\nimport './App.css';\r\nimport 'highlight.js/styles/atom-one-dark.min.css';\r\nimport LoginButton from \"./auth/LoginButton\";\r\nimport {createTheme, Shadows} from \"@mui/material\";\r\nimport loadable, {DefaultComponent} from \"@loadable/component\";\r\nimport {PrerenderedComponent} from \"react-prerendered-component\";\r\n\r\nconst prerenderedLoadable = (dynamicImport: (props: unknown) => Promise>) => {\r\n const LoadableComponent = loadable(dynamicImport);\r\n return React.memo(props => (\r\n // you can use the `.preload()` method from react-loadable or react-imported-component`\r\n // @ts-ignore\r\n \r\n \r\n \r\n ));\r\n};\r\n\r\nexport const API_URL = \"https://codehelp.api.dacubeking.com/\";\r\nexport const AUTH_API_URL = `${API_URL}auth`;\r\n\r\nexport const buttonTheme = createTheme({\r\n shadows: Array(25).fill(\"none\") as Shadows,\r\n palette: {\r\n primary: {\r\n main: \"#0062cb\",\r\n },\r\n secondary: {\r\n main: \"#2B2D42\",\r\n },\r\n },\r\n typography: {\r\n fontFamily: \"Roboto\",\r\n fontSize: 16,\r\n button: {\r\n fontWeight: \"bold\",\r\n color: \"blue\",\r\n }\r\n }\r\n});\r\n\r\nexport const mutedButtonTheme = createTheme({\r\n shadows: Array(25).fill(\"none\") as Shadows,\r\n palette: {\r\n primary: {\r\n main: \"#626c80\",\r\n },\r\n secondary: {\r\n main: \"#49CA67\",\r\n },\r\n },\r\n typography: {\r\n fontFamily: \"Roboto\",\r\n fontSize: 16,\r\n button: {\r\n fontWeight: \"bold\",\r\n color: \"blue\",\r\n }\r\n }\r\n});\r\n\r\n\r\nexport function Header() {\r\n const location = useLocation();\r\n\r\n // Don't show on the home page\r\n if (location.pathname !== \"/\") {\r\n return (\r\n \r\n WeCode \r\n \r\n )\r\n } else {\r\n return (\r\n <>>\r\n )\r\n }\r\n}\r\n\r\nconst Home = prerenderedLoadable(() => import(\"./Home\"));\r\nconst LoginSuccess = prerenderedLoadable(() => import(\"./auth/LoginSuccess\"));\r\n\r\nconst LoadableProblem = loadable(() => import(\"./problem/Problem\"));\r\n\r\n\r\nfunction App() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n //@ts-ignore\r\n \r\n \r\n }/>\r\n }/>\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default App;","import {AUTH_API_URL} from \"../App\";\r\n\r\nexport function getToken() {\r\n return localStorage.getItem(\"token\");\r\n}\r\n\r\nexport function expireToken() {\r\n localStorage.setItem(\"token\", \"expired\");\r\n localStorage.setItem(\"userName\", \"\");\r\n}\r\n\r\nexport function getUserName() {\r\n let userData = localStorage.getItem(\"userData\");\r\n let username = undefined;\r\n if (userData !== null) {\r\n let user = JSON.parse(userData);\r\n username = user.name;\r\n if (username === null || username === undefined) {\r\n username = user.login;\r\n }\r\n }\r\n\r\n return username;\r\n}\r\n\r\nexport function getUserId() {\r\n let userData = localStorage.getItem(\"userData\");\r\n let userId = undefined;\r\n if (userData !== null) {\r\n let user = JSON.parse(userData);\r\n userId = user.id;\r\n }\r\n return userId;\r\n}\r\n\r\nexport function isLoggedIn() {\r\n return getToken() !== undefined && getToken() !== null && getToken() !== \"\" && getToken() !== \"expired\";\r\n}\r\n\r\nexport function logIn(forceLogin = false) {\r\n localStorage.setItem(\"loginRedirect\", window.location.href);\r\n if (getToken() === \"expired\" || forceLogin) {\r\n window.location.href = AUTH_API_URL;\r\n }\r\n}","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? element.parent.children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwn = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwn as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwn, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-43c6fea0.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-43c6fea0.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.4\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.3\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.2\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwn.call(props, 'css')) {\n // $FlowFixMe\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n if (!isBrowser$1) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","'use client';\n\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { exactProp, HTMLElementType, unstable_useEnhancedEffect as useEnhancedEffect, unstable_useForkRef as useForkRef, unstable_setRef as setRef } from '@mui/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getContainer(container) {\n return typeof container === 'function' ? container() : container;\n}\n\n/**\n * Portals provide a first-class way to render children into a DOM node\n * that exists outside the DOM hierarchy of the parent component.\n *\n * Demos:\n *\n * - [Portal](https://mui.com/base-ui/react-portal/)\n *\n * API:\n *\n * - [Portal API](https://mui.com/base-ui/react-portal/components-api/#portal)\n */\nconst Portal = /*#__PURE__*/React.forwardRef(function Portal(props, forwardedRef) {\n const {\n children,\n container,\n disablePortal = false\n } = props;\n const [mountNode, setMountNode] = React.useState(null);\n // @ts-expect-error TODO upstream fix\n const handleRef = useForkRef( /*#__PURE__*/React.isValidElement(children) ? children.ref : null, forwardedRef);\n useEnhancedEffect(() => {\n if (!disablePortal) {\n setMountNode(getContainer(container) || document.body);\n }\n }, [container, disablePortal]);\n useEnhancedEffect(() => {\n if (mountNode && !disablePortal) {\n setRef(forwardedRef, mountNode);\n return () => {\n setRef(forwardedRef, null);\n };\n }\n return undefined;\n }, [forwardedRef, mountNode, disablePortal]);\n if (disablePortal) {\n if ( /*#__PURE__*/React.isValidElement(children)) {\n const newProps = {\n ref: handleRef\n };\n return /*#__PURE__*/React.cloneElement(children, newProps);\n }\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: children\n });\n }\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: mountNode ? /*#__PURE__*/ReactDOM.createPortal(children, mountNode) : mountNode\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Portal.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The children to render into the `container`.\n */\n children: PropTypes.node,\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * You can also provide a callback, which is called in a React layout effect.\n * This lets you set the container from a ref, and also makes server-side rendering possible.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n Portal['propTypes' + ''] = exactProp(Portal.propTypes);\n}\nexport { Portal };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { isHostComponent } from './isHostComponent';\n\n/**\n * Type of the ownerState based on the type of an element it applies to.\n * This resolves to the provided OwnerState for React components and `undefined` for host components.\n * Falls back to `OwnerState | undefined` when the exact type can't be determined in development time.\n */\n\n/**\n * Appends the ownerState object to the props, merging with the existing one if necessary.\n *\n * @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied.\n * @param otherProps Props of the element.\n * @param ownerState\n */\nexport function appendOwnerState(elementType, otherProps, ownerState) {\n if (elementType === undefined || isHostComponent(elementType)) {\n return otherProps;\n }\n return _extends({}, otherProps, {\n ownerState: _extends({}, otherProps.ownerState, ownerState)\n });\n}","/**\n * Extracts event handlers from a given object.\n * A prop is considered an event handler if it is a function and its name starts with `on`.\n *\n * @param object An object to extract event handlers from.\n * @param excludeKeys An array of keys to exclude from the returned object.\n */\nexport function extractEventHandlers(object, excludeKeys = []) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop)).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}","/**\n * Determines if a given element is a DOM element name (i.e. not a React component).\n */\nexport function isHostComponent(element) {\n return typeof element === 'string';\n}","/**\n * Removes event handlers from the given object.\n * A field is considered an event handler if it is a function with a name beginning with `on`.\n *\n * @param object Object to remove event handlers from.\n * @returns Object with event handlers removed.\n */\nexport function omitEventHandlers(object) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport clsx from 'clsx';\nimport { extractEventHandlers } from './extractEventHandlers';\nimport { omitEventHandlers } from './omitEventHandlers';\n/**\n * Merges the slot component internal props (usually coming from a hook)\n * with the externally provided ones.\n *\n * The merge order is (the latter overrides the former):\n * 1. The internal props (specified as a getter function to work with get*Props hook result)\n * 2. Additional props (specified internally on a Base UI component)\n * 3. External props specified on the owner component. These should only be used on a root slot.\n * 4. External props specified in the `slotProps.*` prop.\n * 5. The `className` prop - combined from all the above.\n * @param parameters\n * @returns\n */\nexport function mergeSlotProps(parameters) {\n const {\n getSlotProps,\n additionalProps,\n externalSlotProps,\n externalForwardedProps,\n className\n } = parameters;\n if (!getSlotProps) {\n // The simpler case - getSlotProps is not defined, so no internal event handlers are defined,\n // so we can simply merge all the props without having to worry about extracting event handlers.\n const joinedClasses = clsx(additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);\n const mergedStyle = _extends({}, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);\n const props = _extends({}, additionalProps, externalForwardedProps, externalSlotProps);\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: undefined\n };\n }\n\n // In this case, getSlotProps is responsible for calling the external event handlers.\n // We don't need to include them in the merged props because of this.\n\n const eventHandlers = extractEventHandlers(_extends({}, externalForwardedProps, externalSlotProps));\n const componentsPropsWithoutEventHandlers = omitEventHandlers(externalSlotProps);\n const otherPropsWithoutEventHandlers = omitEventHandlers(externalForwardedProps);\n const internalSlotProps = getSlotProps(eventHandlers);\n\n // The order of classes is important here.\n // Emotion (that we use in libraries consuming Base UI) depends on this order\n // to properly override style. It requires the most important classes to be last\n // (see https://github.com/mui/material-ui/pull/33205) for the related discussion.\n const joinedClasses = clsx(internalSlotProps == null ? void 0 : internalSlotProps.className, additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);\n const mergedStyle = _extends({}, internalSlotProps == null ? void 0 : internalSlotProps.style, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);\n const props = _extends({}, internalSlotProps, additionalProps, otherPropsWithoutEventHandlers, componentsPropsWithoutEventHandlers);\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: internalSlotProps.ref\n };\n}","/**\n * If `componentProps` is a function, calls it with the provided `ownerState`.\n * Otherwise, just returns `componentProps`.\n */\nexport function resolveComponentProps(componentProps, ownerState, slotState) {\n if (typeof componentProps === 'function') {\n return componentProps(ownerState, slotState);\n }\n return componentProps;\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"elementType\", \"externalSlotProps\", \"ownerState\", \"skipResolvingSlotProps\"];\nimport { unstable_useForkRef as useForkRef } from '@mui/utils';\nimport { appendOwnerState } from './appendOwnerState';\nimport { mergeSlotProps } from './mergeSlotProps';\nimport { resolveComponentProps } from './resolveComponentProps';\n/**\n * @ignore - do not document.\n * Builds the props to be passed into the slot of an unstyled component.\n * It merges the internal props of the component with the ones supplied by the user, allowing to customize the behavior.\n * If the slot component is not a host component, it also merges in the `ownerState`.\n *\n * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component.\n */\nexport function useSlotProps(parameters) {\n var _parameters$additiona;\n const {\n elementType,\n externalSlotProps,\n ownerState,\n skipResolvingSlotProps = false\n } = parameters,\n rest = _objectWithoutPropertiesLoose(parameters, _excluded);\n const resolvedComponentsProps = skipResolvingSlotProps ? {} : resolveComponentProps(externalSlotProps, ownerState);\n const {\n props: mergedProps,\n internalRef\n } = mergeSlotProps(_extends({}, rest, {\n externalSlotProps: resolvedComponentsProps\n }));\n const ref = useForkRef(internalRef, resolvedComponentsProps == null ? void 0 : resolvedComponentsProps.ref, (_parameters$additiona = parameters.additionalProps) == null ? void 0 : _parameters$additiona.ref);\n const props = appendOwnerState(elementType, _extends({}, mergedProps, {\n ref\n }), ownerState);\n return props;\n}","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction Ripple(props) {\n const {\n className,\n classes,\n pulsate = false,\n rippleX,\n rippleY,\n rippleSize,\n in: inProp,\n onExited,\n timeout\n } = props;\n const [leaving, setLeaving] = React.useState(false);\n const rippleClassName = clsx(className, classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);\n const rippleStyles = {\n width: rippleSize,\n height: rippleSize,\n top: -(rippleSize / 2) + rippleY,\n left: -(rippleSize / 2) + rippleX\n };\n const childClassName = clsx(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);\n if (!inProp && !leaving) {\n setLeaving(true);\n }\n React.useEffect(() => {\n if (!inProp && onExited != null) {\n // react-transition-group#onExited\n const timeoutId = setTimeout(onExited, timeout);\n return () => {\n clearTimeout(timeoutId);\n };\n }\n return undefined;\n }, [onExited, inProp, timeout]);\n return /*#__PURE__*/_jsx(\"span\", {\n className: rippleClassName,\n style: rippleStyles,\n children: /*#__PURE__*/_jsx(\"span\", {\n className: childClassName\n })\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? Ripple.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n /**\n * @ignore - injected from TransitionGroup\n */\n in: PropTypes.bool,\n /**\n * @ignore - injected from TransitionGroup\n */\n onExited: PropTypes.func,\n /**\n * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.\n */\n pulsate: PropTypes.bool,\n /**\n * Diameter of the ripple.\n */\n rippleSize: PropTypes.number,\n /**\n * Horizontal position of the ripple center.\n */\n rippleX: PropTypes.number,\n /**\n * Vertical position of the ripple center.\n */\n rippleY: PropTypes.number,\n /**\n * exit delay\n */\n timeout: PropTypes.number.isRequired\n} : void 0;\nexport default Ripple;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTouchRippleUtilityClass(slot) {\n return generateUtilityClass('MuiTouchRipple', slot);\n}\nconst touchRippleClasses = generateUtilityClasses('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']);\nexport default touchRippleClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"center\", \"classes\", \"className\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { TransitionGroup } from 'react-transition-group';\nimport clsx from 'clsx';\nimport { keyframes } from '@mui/system';\nimport useTimeout from '@mui/utils/useTimeout';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Ripple from './Ripple';\nimport touchRippleClasses from './touchRippleClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DURATION = 550;\nexport const DELAY_RIPPLE = 80;\nconst enterKeyframe = keyframes(_t || (_t = _`\n 0% {\n transform: scale(0);\n opacity: 0.1;\n }\n\n 100% {\n transform: scale(1);\n opacity: 0.3;\n }\n`));\nconst exitKeyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n`));\nconst pulsateKeyframe = keyframes(_t3 || (_t3 = _`\n 0% {\n transform: scale(1);\n }\n\n 50% {\n transform: scale(0.92);\n }\n\n 100% {\n transform: scale(1);\n }\n`));\nexport const TouchRippleRoot = styled('span', {\n name: 'MuiTouchRipple',\n slot: 'Root'\n})({\n overflow: 'hidden',\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 0,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: 'inherit'\n});\n\n// This `styled()` function invokes keyframes. `styled-components` only supports keyframes\n// in string templates. Do not convert these styles in JS object as it will break.\nexport const TouchRippleRipple = styled(Ripple, {\n name: 'MuiTouchRipple',\n slot: 'Ripple'\n})(_t4 || (_t4 = _`\n opacity: 0;\n position: absolute;\n\n &.${0} {\n opacity: 0.3;\n transform: scale(1);\n animation-name: ${0};\n animation-duration: ${0}ms;\n animation-timing-function: ${0};\n }\n\n &.${0} {\n animation-duration: ${0}ms;\n }\n\n & .${0} {\n opacity: 1;\n display: block;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: currentColor;\n }\n\n & .${0} {\n opacity: 0;\n animation-name: ${0};\n animation-duration: ${0}ms;\n animation-timing-function: ${0};\n }\n\n & .${0} {\n position: absolute;\n /* @noflip */\n left: 0px;\n top: 0;\n animation-name: ${0};\n animation-duration: 2500ms;\n animation-timing-function: ${0};\n animation-iteration-count: infinite;\n animation-delay: 200ms;\n }\n`), touchRippleClasses.rippleVisible, enterKeyframe, DURATION, ({\n theme\n}) => theme.transitions.easing.easeInOut, touchRippleClasses.ripplePulsate, ({\n theme\n}) => theme.transitions.duration.shorter, touchRippleClasses.child, touchRippleClasses.childLeaving, exitKeyframe, DURATION, ({\n theme\n}) => theme.transitions.easing.easeInOut, touchRippleClasses.childPulsate, pulsateKeyframe, ({\n theme\n}) => theme.transitions.easing.easeInOut);\n\n/**\n * @ignore - internal component.\n *\n * TODO v5: Make private\n */\nconst TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTouchRipple'\n });\n const {\n center: centerProp = false,\n classes = {},\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [ripples, setRipples] = React.useState([]);\n const nextKey = React.useRef(0);\n const rippleCallback = React.useRef(null);\n React.useEffect(() => {\n if (rippleCallback.current) {\n rippleCallback.current();\n rippleCallback.current = null;\n }\n }, [ripples]);\n\n // Used to filter out mouse emulated events on mobile.\n const ignoringMouseDown = React.useRef(false);\n // We use a timer in order to only show the ripples for touch \"click\" like events.\n // We don't want to display the ripple for touch scroll events.\n const startTimer = useTimeout();\n\n // This is the hook called once the previous timeout is ready.\n const startTimerCommit = React.useRef(null);\n const container = React.useRef(null);\n const startCommit = React.useCallback(params => {\n const {\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n } = params;\n setRipples(oldRipples => [...oldRipples, /*#__PURE__*/_jsx(TouchRippleRipple, {\n classes: {\n ripple: clsx(classes.ripple, touchRippleClasses.ripple),\n rippleVisible: clsx(classes.rippleVisible, touchRippleClasses.rippleVisible),\n ripplePulsate: clsx(classes.ripplePulsate, touchRippleClasses.ripplePulsate),\n child: clsx(classes.child, touchRippleClasses.child),\n childLeaving: clsx(classes.childLeaving, touchRippleClasses.childLeaving),\n childPulsate: clsx(classes.childPulsate, touchRippleClasses.childPulsate)\n },\n timeout: DURATION,\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize\n }, nextKey.current)]);\n nextKey.current += 1;\n rippleCallback.current = cb;\n }, [classes]);\n const start = React.useCallback((event = {}, options = {}, cb = () => {}) => {\n const {\n pulsate = false,\n center = centerProp || options.pulsate,\n fakeElement = false // For test purposes\n } = options;\n if ((event == null ? void 0 : event.type) === 'mousedown' && ignoringMouseDown.current) {\n ignoringMouseDown.current = false;\n return;\n }\n if ((event == null ? void 0 : event.type) === 'touchstart') {\n ignoringMouseDown.current = true;\n }\n const element = fakeElement ? null : container.current;\n const rect = element ? element.getBoundingClientRect() : {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n };\n\n // Get the size of the ripple\n let rippleX;\n let rippleY;\n let rippleSize;\n if (center || event === undefined || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {\n rippleX = Math.round(rect.width / 2);\n rippleY = Math.round(rect.height / 2);\n } else {\n const {\n clientX,\n clientY\n } = event.touches && event.touches.length > 0 ? event.touches[0] : event;\n rippleX = Math.round(clientX - rect.left);\n rippleY = Math.round(clientY - rect.top);\n }\n if (center) {\n rippleSize = Math.sqrt((2 * rect.width ** 2 + rect.height ** 2) / 3);\n\n // For some reason the animation is broken on Mobile Chrome if the size is even.\n if (rippleSize % 2 === 0) {\n rippleSize += 1;\n }\n } else {\n const sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;\n const sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;\n rippleSize = Math.sqrt(sizeX ** 2 + sizeY ** 2);\n }\n\n // Touche devices\n if (event != null && event.touches) {\n // check that this isn't another touchstart due to multitouch\n // otherwise we will only clear a single timer when unmounting while two\n // are running\n if (startTimerCommit.current === null) {\n // Prepare the ripple effect.\n startTimerCommit.current = () => {\n startCommit({\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n });\n };\n // Delay the execution of the ripple effect.\n // We have to make a tradeoff with this delay value.\n startTimer.start(DELAY_RIPPLE, () => {\n if (startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n }\n });\n }\n } else {\n startCommit({\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n });\n }\n }, [centerProp, startCommit, startTimer]);\n const pulsate = React.useCallback(() => {\n start({}, {\n pulsate: true\n });\n }, [start]);\n const stop = React.useCallback((event, cb) => {\n startTimer.clear();\n\n // The touch interaction occurs too quickly.\n // We still want to show ripple effect.\n if ((event == null ? void 0 : event.type) === 'touchend' && startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n startTimer.start(0, () => {\n stop(event, cb);\n });\n return;\n }\n startTimerCommit.current = null;\n setRipples(oldRipples => {\n if (oldRipples.length > 0) {\n return oldRipples.slice(1);\n }\n return oldRipples;\n });\n rippleCallback.current = cb;\n }, [startTimer]);\n React.useImperativeHandle(ref, () => ({\n pulsate,\n start,\n stop\n }), [pulsate, start, stop]);\n return /*#__PURE__*/_jsx(TouchRippleRoot, _extends({\n className: clsx(touchRippleClasses.root, classes.root, className),\n ref: container\n }, other, {\n children: /*#__PURE__*/_jsx(TransitionGroup, {\n component: null,\n exit: true,\n children: ripples\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TouchRipple.propTypes = {\n /**\n * If `true`, the ripple starts at the center of the component\n * rather than at the point of interaction.\n */\n center: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string\n} : void 0;\nexport default TouchRipple;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getButtonBaseUtilityClass(slot) {\n return generateUtilityClass('MuiButtonBase', slot);\n}\nconst buttonBaseClasses = generateUtilityClasses('MuiButtonBase', ['root', 'disabled', 'focusVisible']);\nexport default buttonBaseClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"action\", \"centerRipple\", \"children\", \"className\", \"component\", \"disabled\", \"disableRipple\", \"disableTouchRipple\", \"focusRipple\", \"focusVisibleClassName\", \"LinkComponent\", \"onBlur\", \"onClick\", \"onContextMenu\", \"onDragLeave\", \"onFocus\", \"onFocusVisible\", \"onKeyDown\", \"onKeyUp\", \"onMouseDown\", \"onMouseLeave\", \"onMouseUp\", \"onTouchEnd\", \"onTouchMove\", \"onTouchStart\", \"tabIndex\", \"TouchRippleProps\", \"touchRippleRef\", \"type\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport useForkRef from '../utils/useForkRef';\nimport useEventCallback from '../utils/useEventCallback';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport TouchRipple from './TouchRipple';\nimport buttonBaseClasses, { getButtonBaseUtilityClass } from './buttonBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n focusVisible,\n focusVisibleClassName,\n classes\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', focusVisible && 'focusVisible']\n };\n const composedClasses = composeClasses(slots, getButtonBaseUtilityClass, classes);\n if (focusVisible && focusVisibleClassName) {\n composedClasses.root += ` ${focusVisibleClassName}`;\n }\n return composedClasses;\n};\nexport const ButtonBaseRoot = styled('button', {\n name: 'MuiButtonBase',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n boxSizing: 'border-box',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n },\n [`&.${buttonBaseClasses.disabled}`]: {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n});\n\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\nconst ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiButtonBase'\n });\n const {\n action,\n centerRipple = false,\n children,\n className,\n component = 'button',\n disabled = false,\n disableRipple = false,\n disableTouchRipple = false,\n focusRipple = false,\n LinkComponent = 'a',\n onBlur,\n onClick,\n onContextMenu,\n onDragLeave,\n onFocus,\n onFocusVisible,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseLeave,\n onMouseUp,\n onTouchEnd,\n onTouchMove,\n onTouchStart,\n tabIndex = 0,\n TouchRippleProps,\n touchRippleRef,\n type\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const buttonRef = React.useRef(null);\n const rippleRef = React.useRef(null);\n const handleRippleRef = useForkRef(rippleRef, touchRippleRef);\n const {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n const [focusVisible, setFocusVisible] = React.useState(false);\n if (disabled && focusVisible) {\n setFocusVisible(false);\n }\n React.useImperativeHandle(action, () => ({\n focusVisible: () => {\n setFocusVisible(true);\n buttonRef.current.focus();\n }\n }), []);\n const [mountedState, setMountedState] = React.useState(false);\n React.useEffect(() => {\n setMountedState(true);\n }, []);\n const enableTouchRipple = mountedState && !disableRipple && !disabled;\n React.useEffect(() => {\n if (focusVisible && focusRipple && !disableRipple && mountedState) {\n rippleRef.current.pulsate();\n }\n }, [disableRipple, focusRipple, focusVisible, mountedState]);\n function useRippleHandler(rippleAction, eventCallback, skipRippleAction = disableTouchRipple) {\n return useEventCallback(event => {\n if (eventCallback) {\n eventCallback(event);\n }\n const ignore = skipRippleAction;\n if (!ignore && rippleRef.current) {\n rippleRef.current[rippleAction](event);\n }\n return true;\n });\n }\n const handleMouseDown = useRippleHandler('start', onMouseDown);\n const handleContextMenu = useRippleHandler('stop', onContextMenu);\n const handleDragLeave = useRippleHandler('stop', onDragLeave);\n const handleMouseUp = useRippleHandler('stop', onMouseUp);\n const handleMouseLeave = useRippleHandler('stop', event => {\n if (focusVisible) {\n event.preventDefault();\n }\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n });\n const handleTouchStart = useRippleHandler('start', onTouchStart);\n const handleTouchEnd = useRippleHandler('stop', onTouchEnd);\n const handleTouchMove = useRippleHandler('stop', onTouchMove);\n const handleBlur = useRippleHandler('stop', event => {\n handleBlurVisible(event);\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n if (onBlur) {\n onBlur(event);\n }\n }, false);\n const handleFocus = useEventCallback(event => {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!buttonRef.current) {\n buttonRef.current = event.currentTarget;\n }\n handleFocusVisible(event);\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n if (onFocusVisible) {\n onFocusVisible(event);\n }\n }\n if (onFocus) {\n onFocus(event);\n }\n });\n const isNonNativeButton = () => {\n const button = buttonRef.current;\n return component && component !== 'button' && !(button.tagName === 'A' && button.href);\n };\n\n /**\n * IE11 shim for https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat\n */\n const keydownRef = React.useRef(false);\n const handleKeyDown = useEventCallback(event => {\n // Check if key is already down to avoid repeats being counted as multiple activations\n if (focusRipple && !keydownRef.current && focusVisible && rippleRef.current && event.key === ' ') {\n keydownRef.current = true;\n rippleRef.current.stop(event, () => {\n rippleRef.current.start(event);\n });\n }\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {\n event.preventDefault();\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n\n // Keyboard accessibility for non interactive elements\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {\n event.preventDefault();\n if (onClick) {\n onClick(event);\n }\n }\n });\n const handleKeyUp = useEventCallback(event => {\n // calling preventDefault in keyUp on a }>\n \n \n );\n};\n\nexport const DevSupport: React.FC = ({\n children,\n ComponentPreviews,\n useInitialHook,\n devmode,\n}) => {\n const isDevmode = enabledDevmode(devmode);\n\n if (isDevmode) {\n return useInitialHook ? (\n withInitialHook(useInitialHook, ComponentPreviews)({})\n ) : (\n \n );\n }\n\n return <>{children}>;\n};\n\nfunction enabledDevmode(devmode?: boolean) {\n return devmode != null ? devmode : DEV_MODE;\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from 'react';\nimport './table-header.scss';\n\nexport const TableHeader: React.FC = () => {\n return (\n \n Property name\n Edit\n \n );\n};\n","export enum PropsControlTypes {\n Checkbox = 'checkbox',\n Input = 'input',\n Radio = 'radio',\n Select = 'select',\n Textarea = 'textarea',\n JsonEditor = 'jsonEditor',\n}\n\nexport type ControlInputHandler = (\n event: React.ChangeEvent,\n) => void;\n\nexport type ControlSelectHandler = (\n event: React.ChangeEvent,\n) => void;\n\nexport type ControlTextareaHandler = (\n event: React.ChangeEvent,\n) => void;\n\nexport type ControlJsonHandler = (propName: string, propValue: string) => void;\n\nexport type ControlUnionHandler =\n | ControlInputHandler\n | ControlSelectHandler\n | ControlTextareaHandler\n | ControlJsonHandler;\n\ntype PropEditSelect = {\n controlType: PropsControlTypes.Select;\n data?: string[] | number[];\n};\n\ntype PropEditInput = {\n controlType: PropsControlTypes.Input;\n data?: string | number;\n};\n\ntype PropEditRadio = {\n controlType: PropsControlTypes.Radio;\n data?: string[] | number[];\n};\n\ntype PropEditTextarea = {\n controlType: PropsControlTypes.Textarea;\n data?: string | number;\n};\n\ntype PropEditCheckbox = {\n controlType: PropsControlTypes.Checkbox;\n data?: boolean;\n};\n\ntype PropEditJson = {\n controlType: PropsControlTypes.JsonEditor;\n data?: ComponentPreviewProps;\n};\n\ntype PropsEditItem =\n | PropEditInput\n | PropEditTextarea\n | PropEditSelect\n | PropEditRadio\n | PropEditCheckbox\n | PropEditJson;\n\nexport type TableItemControlData = number[] | string[] | ComponentPreviewProps;\n\nexport type ComponentPreviewProps = {\n [propsName: string]: unknown;\n} | null;\n\nexport type ToolsPropsModifier = {\n initialProps?: ComponentPreviewProps;\n props?: ComponentPreviewProps;\n propsEditInfo?: PropsEditInfo;\n updateProps?: (updatedProps: ComponentPreviewProps) => void;\n} | null;\n\nexport type PropsModifier = {\n props: ComponentPreviewProps;\n updateProps: (updatedProps: ComponentPreviewProps) => void;\n} | null;\n\nexport type PropsEditInfo = {\n [propsName: string]: PropsEditItem;\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import React from 'react';\n\nexport const Input: React.FC> = ({\n value,\n ...restProps\n}) => {\n return ;\n};\n","import React from 'react';\n\nexport const Checkbox: React.FC> = ({\n checked,\n className,\n ...restProps\n}) => {\n return (\n \n \n \n );\n};\n","import React from 'react';\n\ninterface Props extends React.HTMLProps {\n optionsData?: string[] | number[];\n}\n\nexport const Select: React.FC = ({optionsData, ...restProps}) => {\n return (\n \n );\n};\n","import React from 'react';\nimport './radio.scss';\n\ntype Props = React.HTMLProps & {\n radioData?: string[] | number[];\n extValue?: string | number;\n};\n\nexport const Radio: React.FC = ({\n className,\n radioData,\n extValue,\n ...restProps\n}) => {\n return radioData ? (\n \n {radioData.map((value: string | number) => {\n return (\n \n \n \n \n );\n })}\n \n ) : null;\n};\n","import React from 'react';\n\nexport const Textarea: React.FC> = (\n props,\n) => {\n return ;\n};\n","import React, {useState, useCallback, useMemo} from 'react';\nimport {ControlJsonHandler} from '@types';\nimport Textarea from '../textarea';\nimport './json-editor.scss';\n\ninterface Props {\n className?: string;\n propValue: string;\n propName: string;\n propUpdate: ControlJsonHandler;\n}\n\nexport const JsonEditor: React.FC = ({\n className,\n propName,\n propValue,\n propUpdate,\n}) => {\n const [editedJsonValue, setEditedJsonValue] = useState();\n\n const textareaOnChange = useCallback(\n (event: React.ChangeEvent) => {\n const {\n currentTarget: {value},\n } = event;\n\n setEditedJsonValue(value);\n },\n [],\n );\n\n const isEnabledToApply = useMemo(() => {\n return editedJsonValue == null;\n }, [editedJsonValue]);\n\n const onPropUpdate = useCallback(() => {\n propUpdate(propName, editedJsonValue!);\n setEditedJsonValue(undefined);\n }, [propName, editedJsonValue]);\n\n return (\n \n \n \n \n );\n};\n","import React from 'react';\nimport {\n PropsControlTypes,\n ControlUnionHandler,\n ControlInputHandler,\n ControlSelectHandler,\n ControlTextareaHandler,\n ControlJsonHandler,\n TableItemControlData,\n} from '@types';\n\nimport Input from './input';\nimport Checkbox from './checkbox';\nimport Select from './select';\nimport Radio from './radio';\nimport Textarea from './textarea';\nimport JsonEditor from './json-editor';\n\ninterface Props {\n controlType?: PropsControlTypes;\n data?: TableItemControlData;\n propName: string;\n propValue: unknown;\n onPropChange: ControlUnionHandler;\n}\n\nexport const TableItemControl: React.FC = ({\n controlType,\n data,\n propName,\n propValue,\n onPropChange,\n}) => {\n switch (controlType) {\n case PropsControlTypes.Input:\n return (\n \n );\n\n case PropsControlTypes.Textarea:\n return (\n \n );\n case PropsControlTypes.Select:\n return (\n \n );\n\n case PropsControlTypes.Checkbox:\n return (\n \n );\n\n case PropsControlTypes.Radio:\n return (\n \n );\n\n case PropsControlTypes.JsonEditor:\n return (\n \n );\n\n default:\n return (\n \n );\n }\n};\n","import React from 'react';\nimport {\n PropsControlTypes,\n ControlUnionHandler,\n ComponentPreviewProps,\n} from '@types';\nimport TableItemControl from './table-item-control';\nimport './table-item.scss';\n\ninterface Props {\n data?: string[] | number[] | ComponentPreviewProps;\n propName: string;\n propValue: unknown;\n initialPropValue: unknown;\n controlType?: PropsControlTypes;\n onPropChange: ControlUnionHandler;\n}\n\nexport const TableItem: React.FC = ({\n propName,\n propValue,\n onPropChange,\n controlType,\n data,\n}) => {\n return (\n \n {propName}\n \n \n );\n};\n","import React, {useCallback, useEffect} from 'react';\nimport {\n ToolsPropsModifier,\n PropsControlTypes,\n TableItemControlData,\n} from '@types';\nimport TableItem from './table-item';\nimport './table-items.scss';\n\ninterface Props {\n toolsPropsToEdit: ToolsPropsModifier;\n}\n\nexport const TableItems: React.FC = ({toolsPropsToEdit}) => {\n const {\n props = null,\n initialProps = null,\n propsEditInfo = null,\n updateProps,\n } = {...toolsPropsToEdit};\n\n useEffect(() => {\n let propsValuesFromData = {};\n\n propsEditInfo\n ? Object.entries(propsEditInfo).map(([propName, propEditInfo]) => {\n const propValue = Array.isArray(propEditInfo.data)\n ? propEditInfo.data[0]\n : propEditInfo.data;\n\n propsValuesFromData = {\n ...propsValuesFromData,\n [propName]: propValue,\n };\n })\n : null;\n\n updateProps?.({\n ...props,\n ...propsValuesFromData,\n });\n }, [propsEditInfo]);\n\n const onInputChange = useCallback(\n (event: React.ChangeEvent) => {\n const {value: updatedPropValue, id: propName} = event.currentTarget;\n\n const updatedProps = {\n ...props,\n [propName]: updatedPropValue,\n };\n\n updateProps!(updatedProps);\n },\n [props],\n );\n\n const onCheckboxChange = useCallback(\n (event: React.ChangeEvent) => {\n const {checked: updatedPropValue, id: propName} = event.currentTarget;\n\n const updatedProps = {\n ...props,\n [propName]: updatedPropValue,\n };\n\n updateProps!(updatedProps);\n },\n [props],\n );\n\n const onSelectChange = useCallback(\n (event: React.ChangeEvent) => {\n const {value: updatedPropValue, id: propName} = event.currentTarget;\n\n const updatedProps = {\n ...props,\n [propName]: updatedPropValue,\n };\n\n updateProps!(updatedProps);\n },\n [props],\n );\n\n const onRadioChange = useCallback(\n (event: React.ChangeEvent) => {\n const {value: updatedPropValue, name: propName} = event.currentTarget;\n\n const updatedProps = {\n ...props,\n [propName]: updatedPropValue,\n };\n\n updateProps!(updatedProps);\n },\n [props],\n );\n\n const onTextAreaChange = useCallback(\n (event: React.ChangeEvent) => {\n const {value: updatedPropValue, id: propName} = event.currentTarget;\n\n const updatedProps = {\n ...props,\n [propName]: updatedPropValue,\n };\n\n updateProps!(updatedProps);\n },\n [props],\n );\n\n const onJsonChange = useCallback(\n (propName: string, propValue: string) => {\n let updatedPropValue;\n\n try {\n updatedPropValue = JSON.parse(propValue);\n } catch (e) {\n alert(`Property ${propName} has incorrect value to object parse`);\n return;\n }\n const updatedProps = {\n ...props,\n [propName]: updatedPropValue,\n };\n\n updateProps!(updatedProps);\n },\n [props],\n );\n\n const getChangeHendler = useCallback(\n (controlType?: PropsControlTypes) => {\n switch (controlType) {\n case PropsControlTypes.Input:\n return onInputChange;\n case PropsControlTypes.Checkbox:\n return onCheckboxChange;\n case PropsControlTypes.Select:\n return onSelectChange;\n case PropsControlTypes.Radio:\n return onRadioChange;\n case PropsControlTypes.Textarea:\n return onTextAreaChange;\n case PropsControlTypes.JsonEditor:\n return onJsonChange;\n default:\n return onInputChange;\n }\n },\n [props],\n );\n\n const renderTableItems = useCallback(() => {\n let items: JSX.Element[] = [];\n\n const itemsWithoutInfo =\n props &&\n Object.entries(props)\n .filter(([propName]) => {\n return !propsEditInfo?.hasOwnProperty(propName);\n })\n .map(([propName, propValue]) => {\n return (\n \n );\n });\n\n items = itemsWithoutInfo ? [...items, ...itemsWithoutInfo] : items;\n\n const itemsWithInfo =\n propsEditInfo &&\n Object.entries(propsEditInfo).map(([propName, propInfo]) => {\n return (\n \n );\n });\n\n items = itemsWithInfo ? [...items, ...itemsWithInfo] : items;\n\n return items;\n }, [props, propsEditInfo]);\n\n return {renderTableItems()};\n};\n","import React from 'react';\nimport {ToolsPropsModifier} from '@types';\nimport TableHeader from './table-header/';\nimport TableItems from './table-items';\nimport './props-edit-table.scss';\n\ninterface Props {\n toolsPropsToEdit: ToolsPropsModifier;\n}\n\nexport const PropsEditTable: React.FC = ({toolsPropsToEdit}) => {\n return (\n \n \n \n \n );\n};\n","import React, {useCallback} from 'react';\nimport {ToolsPropsModifier} from '@types';\nimport PropsEditTable from './props-edit-table';\nimport './tools-panel.scss';\n\ninterface Props {\n toolsPropsToEdit: ToolsPropsModifier;\n}\n\nexport const ToolsPanel: React.FC = ({toolsPropsToEdit}) => {\n const {props = null, propsEditInfo = null} = {...toolsPropsToEdit};\n\n const renederToolsPanelContent = useCallback(() => {\n let hasPropetiesToEdit: boolean;\n hasPropetiesToEdit = props ? Object.keys(props).length > 0 : false;\n hasPropetiesToEdit =\n hasPropetiesToEdit ||\n (propsEditInfo ? Object.keys(propsEditInfo).length > 0 : false);\n\n return hasPropetiesToEdit ? (\n \n ) : (\n \n This component has no properties to edit\n \n );\n }, [props, propsEditInfo]);\n\n return {renederToolsPanelContent()};\n};\n","import {useState, useCallback, useEffect} from 'react';\nimport {escapeRegExp} from './utils';\n\nexport const PALETTE_PATH = '/REACT_BUDDY_PALETTE';\nexport const URL_CHANGE_EVENT = 'urlchange';\n\nexport type RouteProps = {\n path: string;\n exact?: boolean;\n children: JSX.Element;\n};\n\nexport const useRoute = (path: string, exact?: boolean) => {\n const [, setUpdate] = useState(false);\n\n const update = useCallback(() => {\n setUpdate((reRender) => {\n return !reRender;\n });\n }, []);\n\n useEffect(() => {\n window.addEventListener(URL_CHANGE_EVENT, update);\n window.addEventListener('popstate', update);\n\n return () => {\n window.removeEventListener(URL_CHANGE_EVENT, update);\n window.removeEventListener('popstate', update);\n };\n }, []);\n\n return isMatchPath(path, exact);\n};\n\nexport function isMatchPath(path: string, exact: boolean = false): boolean {\n const currentPath = getCurrentPath();\n const match = new RegExp(transformPath(path)).exec(currentPath);\n\n if (match) {\n const [url] = match;\n return exact ? currentPath === url : true;\n }\n\n return false;\n}\n\nfunction transformPath(path: string): string {\n return escapeRegExp(encodeURI(path));\n}\n\nfunction getCurrentPath() {\n const {hash, pathname} = window.location;\n return hash ? hash.replace('#', '') : pathname;\n}\n\nexport function historyPush(url: string) {\n window.history.replaceState({}, '', url);\n dispatchUrlChangeEvent(url);\n}\n\nfunction dispatchUrlChangeEvent(url: string) {\n const urlChangeEvent = new CustomEvent(URL_CHANGE_EVENT, {\n bubbles: true,\n detail: url,\n });\n window.dispatchEvent(urlChangeEvent);\n}\n","export function escapeRegExp(value: string): string {\n return value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n","import React, {useState, useMemo, useEffect} from 'react';\nimport ToolsPanel from './tools-panel';\nimport {ToolsPropsModifier} from '@types';\nimport {useRoute, PALETTE_PATH, historyPush} from '../routing/routing';\nimport styles from './previews.module.scss';\n\ninterface Props {\n palette?: JSX.Element | null;\n children?: JSX.Element | JSX.Element[];\n}\n\nexport const Previews: React.FC = ({\n children,\n palette = null,\n}: Props) => {\n const [toolsPropsToEdit, setToolsPropsToEdit] =\n useState(null);\n const [toolsPanelEnabled, enableToolsPanel] = useState(\n () => window.__PROPERTIES_EDIT_PANEL_ENABLED__ ?? false,\n );\n const isPalettePath = useRoute(PALETTE_PATH);\n\n const childrenWithSetProps = useMemo(() => {\n return children\n ? React.Children.map(children, (child: JSX.Element) => {\n return React.cloneElement(child, {setToolsPropsToEdit});\n })\n : null;\n }, [children]);\n\n useEffect(() => {\n window.enableComponentsPropsPanelEditor = (toolsPanelStatus: boolean) => {\n window.setPropertiesEditPanelStatus?.(toolsPanelStatus);\n enableToolsPanel(toolsPanelStatus);\n };\n\n window.reactBuddyHistoryPush = historyPush;\n window.cefQuery?.({request: 'event:react-toolbox-initialized'});\n }, []);\n\n if (isPalettePath) {\n return palette;\n }\n\n return (\n \n {childrenWithSetProps}\n {toolsPanelEnabled && (\n \n \n \n )}\n \n );\n};\n","import React from 'react';\nimport styles from './react-buddy-error-boundary.module.scss';\n\ninterface Props {\n componentName?: string;\n}\n\ninterface State {\n error: Error | null;\n}\nexport class ReactBuddyErrorBoundary extends React.Component {\n state: State = {error: null};\n\n componentDidCatch(error: Error) {\n console.error(error);\n this.setState({error});\n }\n\n componentDidUpdate(_prevProps: Props, prevState: State) {\n if (prevState.error != null) {\n this.setState({error: null});\n }\n }\n\n render() {\n const {error} = this.state;\n const {componentName, children} = this.props;\n\n if (error != null) {\n return (\n \n \n {componentName\n ? `Something went wrong while rendering ${componentName} component`\n : 'Something went wrong'}\n
\n {error.message}
\n {error.stack}
\n \n );\n }\n\n return children;\n }\n}\n","import React, {CSSProperties, PropsWithChildren} from 'react';\n\ninterface PaletteProps {\n style?: CSSProperties | undefined;\n className?: string | undefined;\n embeddable?: boolean;\n}\nexport const Palette = ({style, className, embeddable, children}: PropsWithChildren) => {\n return embeddable\n ? <>{children}>\n : {children};\n};\n\n\n\n","import React, {CSSProperties, useContext} from 'react';\n\nconst CategoryContext = React.createContext<{\n categoryClassName?: string | undefined;\n categoryStyle?: CSSProperties | undefined;\n}>({});\nexport const useCategoryContext = () => useContext(CategoryContext);\ninterface CategoryProps {\n style?: CSSProperties | undefined;\n className?: string | undefined;\n name: string;\n children: JSX.Element | JSX.Element[];\n};\nexport const Category: React.FC = ({\n children,\n name,\n className,\n style\n}) => {\n return (\n \n {getTransformedCategoryChildren({\n children,\n categoryName: name,\n })}\n \n );\n};\ninterface GetTransformedCategoryChildrenParams {\n children: JSX.Element | JSX.Element[];\n categoryName: string;\n}\nfunction getTransformedCategoryChildren({\n children,\n categoryName,\n}: GetTransformedCategoryChildrenParams) {\n return React.Children.map(children, (child) => {\n return React.cloneElement(child, {categoryName});\n });\n}\n","import React, {CSSProperties, useContext} from 'react';\n\nconst ComponentContext = React.createContext<{\n componentClassName?: string | undefined;\n componentStyle?: CSSProperties | undefined;\n}>({});\nexport const useComponentContext = () => useContext(ComponentContext);\ninterface ComponentProps {\n style?: CSSProperties | undefined;\n className?: string | undefined;\n categoryName?: string;\n name: string;\n children: JSX.Element | JSX.Element[];\n defaultProps?: {};\n subComponents?: JSX.Element | JSX.Element[];\n docURL?: string;\n previewImagePath?: string;\n}\nexport const Component: React.FC = ({\n children,\n categoryName,\n name,\n className,\n style,\n}) => {\n return (\n \n {getTransformedComponentChildren({\n children,\n componentName: name,\n categoryName,\n })}\n \n );\n};\ninterface GetTransformedComponentChildrenParams{\n children: JSX.Element | JSX.Element[],\n componentName: string,\n categoryName?: string,\n}\nfunction getTransformedComponentChildren({\n children,\n componentName,\n categoryName,\n}: GetTransformedComponentChildrenParams) {\n return React.Children.map(children, (child) => {\n return React.cloneElement(child, {\n categoryName,\n componentName,\n });\n });\n}\n","export function classNames(...classNames: (string | undefined | null)[]) {\n const splittedClassNamesWithoutNullable = classNames.flatMap(className => className ? className.split(' ') : []);\n const uniqClassNames = [...new Set(splittedClassNamesWithoutNullable)];\n return uniqClassNames.join(' ');\n};","import React, {CSSProperties, PropsWithChildren, ReactElement, useContext, useLayoutEffect, useMemo, useState} from 'react';\nimport { classNames } from '../util/classNames';\nimport {useRoute, PALETTE_PATH} from '../routing/routing';\nimport { useCategoryContext } from '../category/category';\nimport { useComponentContext } from '../component/component';\nimport { ReactBuddyErrorBoundary } from '../react-buddy-error-boundary/react-buddy-error-boundary';\nimport styles from './variant.module.scss';\n\nconst DEFAULT_VARIANT_NAME = 'DEFAULT_VARIANT';\n\ninterface VariantRouteProps {\n categoryName?: string;\n componentName?: string;\n variantName?: string;\n previewLayout?: 'center' | 'stretch';\n requiredParams?: Array;\n}\n\nconst VariantRoute: React.FC = ({\n categoryName,\n componentName,\n variantName = DEFAULT_VARIANT_NAME,\n previewLayout = 'center',\n children,\n}) => {\n const {categoryClassName, categoryStyle} = useCategoryContext();\n const {componentClassName, componentStyle} = useComponentContext();\n const {variantClassName, variantStyle} = useVariantContext();\n\n const paletteItemPath = useMemo(() => {\n return getPaletteItemPath([categoryName, componentName, variantName]);\n }, [categoryName, componentName, variantName]);\n\n const isPathMatch = useRoute(paletteItemPath, true);\n\n const [paletteNode, setPaletteNode] = useState(null);\n\n useLayoutEffect(() => {\n if(paletteNode !== null) addFullWindowClassToParents(paletteNode);\n return () => {\n if(paletteNode !== null) removeFullWindowClassFromParents(paletteNode);\n }\n }, [paletteNode]);\n\n if (!isPathMatch) {\n return null;\n }\n\n return (\n \n \n \n {children}\n \n \n \n )\n}\n\nfunction getPaletteItemPath(names: Array): string {\n return PALETTE_PATH + '/' + names.filter((name) => name != null).join('/');\n}\n\nconst VariantContext = React.createContext<{\n variantClassName?: string | undefined;\n variantStyle?: CSSProperties | undefined;\n}>({});\n\nconst useVariantContext = () => useContext(VariantContext);\n\ninterface VariantProps {\n style?: CSSProperties | undefined;\n className?: string | undefined;\n categoryName?: string;\n componentName?: string;\n name?: string;\n previewLayout?: 'center' | 'stretch';\n requiredParams?: Array;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n proto?: (...args: any[]) => ReactElement | null | void;\n docURL?: string;\n previewImagePath?: string;\n}\n\nexport const Variant: React.FC> = ({\n children,\n categoryName,\n componentName,\n name,\n previewLayout,\n className,\n style,\n}) => {\n return (\n \n \n {children} \n \n \n );\n};\n\nfunction addFullWindowClassToParents(curNode: HTMLElement | null) {\n if(curNode === null || curNode === document as unknown) return;\n\n curNode.className = classNames(styles.fullWindow, curNode.className);\n\n addFullWindowClassToParents(curNode.parentElement);\n}\n\nfunction removeFullWindowClassFromParents(curNode: HTMLElement | null) {\n if(curNode === null || curNode === document as unknown) return;\n\n curNode.classList.remove(styles.fullWindow);\n\n removeFullWindowClassFromParents(curNode.parentElement);\n}\n","////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Actions represent the type of change to a location value.\n */\nexport enum Action {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Pop = \"POP\",\n\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Push = \"PUSH\",\n\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Replace = \"REPLACE\",\n}\n\n/**\n * The pathname, search, and hash values of a URL.\n */\nexport interface Path {\n /**\n * A URL pathname, beginning with a /.\n */\n pathname: string;\n\n /**\n * A URL search string, beginning with a ?.\n */\n search: string;\n\n /**\n * A URL fragment identifier, beginning with a #.\n */\n hash: string;\n}\n\n// TODO: (v7) Change the Location generic default from `any` to `unknown` and\n// remove Remix `useLocation` wrapper.\n\n/**\n * An entry in a history stack. A location contains information about the\n * URL path, as well as possibly some arbitrary state and a key.\n */\nexport interface Location extends Path {\n /**\n * A value of arbitrary data associated with this location.\n */\n state: State;\n\n /**\n * A unique string associated with this location. May be used to safely store\n * and retrieve data in some other storage API, like `localStorage`.\n *\n * Note: This value is always \"default\" on the initial location.\n */\n key: string;\n}\n\n/**\n * A change to the current location.\n */\nexport interface Update {\n /**\n * The action that triggered the change.\n */\n action: Action;\n\n /**\n * The new location.\n */\n location: Location;\n\n /**\n * The delta between this location and the former location in the history stack\n */\n delta: number | null;\n}\n\n/**\n * A function that receives notifications about location changes.\n */\nexport interface Listener {\n (update: Update): void;\n}\n\n/**\n * Describes a location that is the destination of some navigation, either via\n * `history.push` or `history.replace`. This may be either a URL or the pieces\n * of a URL path.\n */\nexport type To = string | Partial;\n\n/**\n * A history is an interface to the navigation stack. The history serves as the\n * source of truth for the current location, as well as provides a set of\n * methods that may be used to change it.\n *\n * It is similar to the DOM's `window.history` object, but with a smaller, more\n * focused API.\n */\nexport interface History {\n /**\n * The last action that modified the current location. This will always be\n * Action.Pop when a history instance is first created. This value is mutable.\n */\n readonly action: Action;\n\n /**\n * The current location. This value is mutable.\n */\n readonly location: Location;\n\n /**\n * Returns a valid href for the given `to` value that may be used as\n * the value of an attribute.\n *\n * @param to - The destination URL\n */\n createHref(to: To): string;\n\n /**\n * Returns a URL for the given `to` value\n *\n * @param to - The destination URL\n */\n createURL(to: To): URL;\n\n /**\n * Encode a location the same way window.history would do (no-op for memory\n * history) so we ensure our PUSH/REPLACE navigations for data routers\n * behave the same as POP\n *\n * @param to Unencoded path\n */\n encodeLocation(to: To): Path;\n\n /**\n * Pushes a new location onto the history stack, increasing its length by one.\n * If there were any entries in the stack after the current one, they are\n * lost.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n push(to: To, state?: any): void;\n\n /**\n * Replaces the current location in the history stack with a new one. The\n * location that was replaced will no longer be available.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n replace(to: To, state?: any): void;\n\n /**\n * Navigates `n` entries backward/forward in the history stack relative to the\n * current index. For example, a \"back\" navigation would use go(-1).\n *\n * @param delta - The delta in the stack index\n */\n go(delta: number): void;\n\n /**\n * Sets up a listener that will be called whenever the current location\n * changes.\n *\n * @param listener - A function that will be called when the location changes\n * @returns unlisten - A function that may be used to stop listening\n */\n listen(listener: Listener): () => void;\n}\n\ntype HistoryState = {\n usr: any;\n key?: string;\n idx: number;\n};\n\nconst PopStateEventType = \"popstate\";\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Memory History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A user-supplied object that describes a location. Used when providing\n * entries to `createMemoryHistory` via its `initialEntries` option.\n */\nexport type InitialEntry = string | Partial;\n\nexport type MemoryHistoryOptions = {\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n v5Compat?: boolean;\n};\n\n/**\n * A memory history stores locations in memory. This is useful in stateful\n * environments where there is no web browser, such as node tests or React\n * Native.\n */\nexport interface MemoryHistory extends History {\n /**\n * The current index in the history stack.\n */\n readonly index: number;\n}\n\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nexport function createMemoryHistory(\n options: MemoryHistoryOptions = {}\n): MemoryHistory {\n let { initialEntries = [\"/\"], initialIndex, v5Compat = false } = options;\n let entries: Location[]; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) =>\n createMemoryLocation(\n entry,\n typeof entry === \"string\" ? null : entry.state,\n index === 0 ? \"default\" : undefined\n )\n );\n let index = clampIndex(\n initialIndex == null ? entries.length - 1 : initialIndex\n );\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n function clampIndex(n: number): number {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation(): Location {\n return entries[index];\n }\n function createMemoryLocation(\n to: To,\n state: any = null,\n key?: string\n ): Location {\n let location = createLocation(\n entries ? getCurrentLocation().pathname : \"/\",\n to,\n state,\n key\n );\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in memory history: ${JSON.stringify(\n to\n )}`\n );\n return location;\n }\n\n function createHref(to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n let history: MemoryHistory = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref,\n createURL(to) {\n return new URL(createHref(to), \"http://localhost\");\n },\n encodeLocation(to: To) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\",\n };\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 1 });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 0 });\n }\n },\n go(delta) {\n action = Action.Pop;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({ action, location: nextLocation, delta });\n }\n },\n listen(fn: Listener) {\n listener = fn;\n return () => {\n listener = null;\n };\n },\n };\n\n return history;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Browser History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A browser history stores the current location in regular URLs in a web\n * browser environment. This is the standard for most web apps and provides the\n * cleanest URLs the browser's address bar.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#browserhistory\n */\nexport interface BrowserHistory extends UrlHistory {}\n\nexport type BrowserHistoryOptions = UrlHistoryOptions;\n\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nexport function createBrowserHistory(\n options: BrowserHistoryOptions = {}\n): BrowserHistory {\n function createBrowserLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let { pathname, search, hash } = window.location;\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createBrowserHref(window: Window, to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n return getUrlBasedHistory(\n createBrowserLocation,\n createBrowserHref,\n null,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hash History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hash history stores the current location in the fragment identifier portion\n * of the URL in a web browser environment.\n *\n * This is ideal for apps that do not control the server for some reason\n * (because the fragment identifier is never sent to the server), including some\n * shared hosting environments that do not provide fine-grained controls over\n * which pages are served at which URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#hashhistory\n */\nexport interface HashHistory extends UrlHistory {}\n\nexport type HashHistoryOptions = UrlHistoryOptions;\n\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nexport function createHashHistory(\n options: HashHistoryOptions = {}\n): HashHistory {\n function createHashLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n } = parsePath(window.location.hash.substr(1));\n\n // Hash URL should always have a leading / just like window.location.pathname\n // does, so if an app ends up at a route like /#something then we add a\n // leading slash so all of our path-matching behaves the same as if it would\n // in a browser router. This is particularly important when there exists a\n // root splat route () since that matches internally against\n // \"/*\" and we'd expect /#something to 404 in a hash router app.\n if (!pathname.startsWith(\"/\") && !pathname.startsWith(\".\")) {\n pathname = \"/\" + pathname;\n }\n\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createHashHref(window: Window, to: To) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n\n function validateHashLocation(location: Location, to: To) {\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in hash history.push(${JSON.stringify(\n to\n )})`\n );\n }\n\n return getUrlBasedHistory(\n createHashLocation,\n createHashHref,\n validateHashLocation,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region UTILS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * @private\n */\nexport function invariant(value: boolean, message?: string): asserts value;\nexport function invariant(\n value: T | null | undefined,\n message?: string\n): asserts value is T;\nexport function invariant(value: any, message?: string) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\n\nexport function warning(cond: any, message: string) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience, so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location: Location, index: number): HistoryState {\n return {\n usr: location.state,\n key: location.key,\n idx: index,\n };\n}\n\n/**\n * Creates a Location object with a unique key from the given Path\n */\nexport function createLocation(\n current: string | Location,\n to: To,\n state: any = null,\n key?: string\n): Readonly {\n let location: Readonly = {\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\",\n ...(typeof to === \"string\" ? parsePath(to) : to),\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: (to && (to as Location).key) || key || createKey(),\n };\n return location;\n}\n\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nexport function createPath({\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n}: Partial) {\n if (search && search !== \"?\")\n pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\")\n pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nexport function parsePath(path: string): Partial {\n let parsedPath: Partial = {};\n\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport interface UrlHistory extends History {}\n\nexport type UrlHistoryOptions = {\n window?: Window;\n v5Compat?: boolean;\n};\n\nfunction getUrlBasedHistory(\n getLocation: (window: Window, globalHistory: Window[\"history\"]) => Location,\n createHref: (window: Window, to: To) => string,\n validateLocation: ((location: Location, to: To) => void) | null,\n options: UrlHistoryOptions = {}\n): UrlHistory {\n let { window = document.defaultView!, v5Compat = false } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n let index = getIndex()!;\n // Index should only be null when we initialize. If not, it's because the\n // user called history.pushState or history.replaceState directly, in which\n // case we should log a warning as it will result in bugs.\n if (index == null) {\n index = 0;\n globalHistory.replaceState({ ...globalHistory.state, idx: index }, \"\");\n }\n\n function getIndex(): number {\n let state = globalHistory.state || { idx: null };\n return state.idx;\n }\n\n function handlePop() {\n action = Action.Pop;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({ action, location: history.location, delta });\n }\n }\n\n function push(to: To, state?: any) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // If the exception is because `state` can't be serialized, let that throw\n // outwards just like a replace call would so the dev knows the cause\n // https://html.spec.whatwg.org/multipage/nav-history-apis.html#shared-history-push/replace-state-steps\n // https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal\n if (error instanceof DOMException && error.name === \"DataCloneError\") {\n throw error;\n }\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 1 });\n }\n }\n\n function replace(to: To, state?: any) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 0 });\n }\n }\n\n function createURL(to: To): URL {\n // window.location.origin is \"null\" (the literal string value) in Firefox\n // under certain conditions, notably when serving from a local HTML file\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n let base =\n window.location.origin !== \"null\"\n ? window.location.origin\n : window.location.href;\n\n let href = typeof to === \"string\" ? to : createPath(to);\n // Treating this as a full URL will strip any trailing spaces so we need to\n // pre-encode them since they might be part of a matching splat param from\n // an ancestor route\n href = href.replace(/ $/, \"%20\");\n invariant(\n base,\n `No window.location.(origin|href) available to create URL for href: ${href}`\n );\n return new URL(href, base);\n }\n\n let history: History = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn: Listener) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n createURL,\n encodeLocation(to) {\n // Encode a Location the same way window.location would\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash,\n };\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n },\n };\n\n return history;\n}\n\n//#endregion\n","import type { Location, Path, To } from \"./history\";\nimport { invariant, parsePath, warning } from \"./history\";\n\n/**\n * Map of routeId -> data returned from a loader/action/error\n */\nexport interface RouteData {\n [routeId: string]: any;\n}\n\nexport enum ResultType {\n data = \"data\",\n deferred = \"deferred\",\n redirect = \"redirect\",\n error = \"error\",\n}\n\n/**\n * Successful result from a loader or action\n */\nexport interface SuccessResult {\n type: ResultType.data;\n data: any;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Successful defer() result from a loader or action\n */\nexport interface DeferredResult {\n type: ResultType.deferred;\n deferredData: DeferredData;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Redirect result from a loader or action\n */\nexport interface RedirectResult {\n type: ResultType.redirect;\n status: number;\n location: string;\n revalidate: boolean;\n reloadDocument?: boolean;\n}\n\n/**\n * Unsuccessful result from a loader or action\n */\nexport interface ErrorResult {\n type: ResultType.error;\n error: any;\n headers?: Headers;\n}\n\n/**\n * Result from a loader or action - potentially successful or unsuccessful\n */\nexport type DataResult =\n | SuccessResult\n | DeferredResult\n | RedirectResult\n | ErrorResult;\n\ntype LowerCaseFormMethod = \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\ntype UpperCaseFormMethod = Uppercase;\n\n/**\n * Users can specify either lowercase or uppercase form methods on `