diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000..637d8acc47 Binary files /dev/null and b/.DS_Store differ diff --git a/BE/.env b/BE/.env new file mode 100644 index 0000000000..ceffbfaca2 --- /dev/null +++ b/BE/.env @@ -0,0 +1,5 @@ +PORT=8000 +MONGODB_URI=mongodb://lesavantdon:icecream2@localhost:27017/productsdb?authSource=admin + +console.log('MongoDB URI:', process.env.MONGODB_URI); // Debugging line + diff --git a/BE/.gitignore b/BE/.gitignore new file mode 100644 index 0000000000..1de628c798 --- /dev/null +++ b/BE/.gitignore @@ -0,0 +1,3 @@ +# Node modules +node_modules/ +package-lock.json/ \ No newline at end of file diff --git a/BE/README.md b/BE/README.md new file mode 100644 index 0000000000..a033394417 --- /dev/null +++ b/BE/README.md @@ -0,0 +1,11 @@ +*dependencies required for back end* + "cors": "^2.8.5", + "dotenv": "^16.4.5", + "express": "^4.19.2", + "mongoose": "^8.5.3" + +*from terminal CD into BE* + + CD BE "npm start" to run back end + make sure data is seeded into the mongo database with + "BE git:(master) ✗ node scripts/seed.js" in shell/terminal \ No newline at end of file diff --git a/BE/api/products/index.js b/BE/api/products/index.js new file mode 100644 index 0000000000..879845a3c4 --- /dev/null +++ b/BE/api/products/index.js @@ -0,0 +1,12 @@ +const express = require('express'); +const router = express.Router(); +const productController = require('../../controllers/productController'); + + +router.get('/', productController.getAllProducts); +router.get('/:id', productController.getProductById); +router.post('/', productController.createProduct); +router.put('/:id', productController.updateProduct); +router.delete('/:id', productController.deleteProduct); + +module.exports = router; \ No newline at end of file diff --git a/BE/api/reviews/index.js b/BE/api/reviews/index.js new file mode 100644 index 0000000000..767e7c5dac --- /dev/null +++ b/BE/api/reviews/index.js @@ -0,0 +1,17 @@ +const express = require('express'); +const router = express.Router(); +const reviewController = require('../../controllers/reviewController'); // Make sure the path is correct + + +// In your reviews route file (e.g., api/reviews/index.js) + +router.get('/', reviewController.getAllReviews); +router.post('/:productId', reviewController.createReview); // Create a new review +router.get('/:productId', reviewController.getReviewsByProductId); +router.get('/reviews/:productId', reviewController.getPaginatedReviewsByProductId); + +router.delete('/:reviewId', reviewController.deleteReview); + + +module.exports = router; + diff --git a/BE/app.js b/BE/app.js new file mode 100644 index 0000000000..0cb59ed985 --- /dev/null +++ b/BE/app.js @@ -0,0 +1,38 @@ +// app.js +const express = require('express'); +const dotenv = require('dotenv'); +const cors = require('cors'); // Import cors +const connectDB = require('./config/db'); +const productsRoutes = require('./api/products/index.js'); +const reviewsRoutes = require('./api/reviews/index.js'); // Import reviews routes +const errorHandler = require('./middleware/errorHandler'); + +dotenv.config(); // Load environment variables from .env file +const app = express(); +app.use(cors()); + +app.use(express.json()); +app.use((req, res, next) => { + res.header("Access-Control-Allow-Origin", "*"); + res.header("Access-Control-Allow-Methods", "GET, PUT, POST, DELETE"); + res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); + next(); +}); + +app.get('/', (req, res) => { + res.send('Welcome to the API'); +}); + +app.use('/api/products', productsRoutes); +app.use('/api/reviews', reviewsRoutes); + + +app.use((req, res) => { + res.status(404).send('Sorry, that route doesn’t exist.'); +}); +app.use((err, req, res, next) => { + console.error(err.stack); + res.status(500).send('Something broke!'); +}); + +module.exports = app; // Export the app diff --git a/BE/config/db.js b/BE/config/db.js new file mode 100644 index 0000000000..c96ad02d1b --- /dev/null +++ b/BE/config/db.js @@ -0,0 +1,18 @@ +const mongoose = require('mongoose'); + +const connectDB = async () => { + try { + const conn = await mongoose.connect(process.env.MONGODB_URI, { + // The following options are deprecated and can be removed: + // useNewUrlParser: true, + // useUnifiedTopology: true, + }); + + console.log(`MongoDB Connected: ${conn.connection.host}`); + } catch (error) { + console.error(`Error: ${error.message}`); + process.exit(1); // Exit process with failure + } +}; + +module.exports = connectDB; diff --git a/BE/controllers/productController.js b/BE/controllers/productController.js new file mode 100644 index 0000000000..a7684fccda --- /dev/null +++ b/BE/controllers/productController.js @@ -0,0 +1,132 @@ +const Product = require('../models/product'); + +// Get all products with pagination, filtering, and sorting +const getAllProducts = async (req, res) => { + const { page = 1, limit = 9, category = 'all', sort = 'asc' } = req.query; + + const query = {}; + // Filter by category if not 'all' + if (category && category !== 'all') { + query.category = category; + } + + try { + // Get total count of products for pagination + const totalProducts = await Product.countDocuments(query); + + // Calculate the number of products to skip + const skip = (page - 1) * limit; + + // Fetch the products from the database + const products = await Product.find(query) + .sort({ price: sort === 'asc' ? 1 : -1 }) // Sort by price + .skip(skip) // Skip the appropriate number of products + .limit(parseInt(limit)); // Limit the number of results + + // Calculate total pages + const totalPages = Math.ceil(totalProducts / limit); + + // Send the response + res.json({ + products, + totalPages + }); + } catch (error) { + console.error(error); + res.status(500).json({ message: 'Error fetching products.' }); + } +}; + + +// Get a single product by ID +const getProductById = async (req, res) => { + const { id } = req.params; + + try { + const product = await Product.findById(id); + + if (!product) { + return res.status(404).json({ message: 'Product not found.' }); + } + + res.json(product); + } catch (error) { + console.error(error); + res.status(500).json({ message: 'Error fetching product.' }); + } +}; + +// Create a new product +const createProduct = async (req, res) => { + const { userName, name, description, price, category, image } = req.body; + + if (!userName || !name || !description || !price || !category || !image) { + return res.status(400).json({ message: 'All fields are required.' }); + } + + try { + const newProduct = new Product({ + userName, + name, + description, + price, + category, + image + }); + + const savedProduct = await newProduct.save(); + res.status(201).json(savedProduct); + } catch (error) { + console.error(error); + res.status(500).json({ message: 'Error creating product.' }); + } +}; + +// Update a product by ID +const updateProduct = async (req, res) => { + const { id } = req.params; + const { userName, name, description, price, category, image } = req.body; + + try { + const updatedProduct = await Product.findByIdAndUpdate( + id, + { userName, name, description, price, category, image }, + { new: true, runValidators: true } + ); + + if (!updatedProduct) { + return res.status(404).json({ message: 'Product not found.' }); + } + + res.json(updatedProduct); + } catch (error) { + console.error(error); + res.status(500).json({ message: 'Error updating product.' }); + } +}; + +// Delete a product by ID +const deleteProduct = async (req, res) => { + const { id } = req.params; + + try { + const deletedProduct = await Product.findByIdAndDelete(id); + + if (!deletedProduct) { + return res.status(404).json({ message: 'Product not found.' }); + } + + res.status(200).json({ message: 'Product deleted successfully.' }); + } catch (error) { + console.error(error); + res.status(500).json({ message: 'Error deleting product.' }); + } +}; + +module.exports = { + getAllProducts, + getProductById, + createProduct, + updateProduct, + deleteProduct +}; diff --git a/BE/controllers/reviewController.js b/BE/controllers/reviewController.js new file mode 100644 index 0000000000..30b9f77e33 --- /dev/null +++ b/BE/controllers/reviewController.js @@ -0,0 +1,115 @@ +const Review = require('../models/review'); +const Product = require('../models/product'); +const mongoose = require('mongoose'); + +const getAllReviews = async (req, res) => { + try { + const reviews = await Review.find(); // Fetch all reviews + res.json(reviews); // Return the reviews + } catch (error) { + console.error('Error fetching reviews:', error); + res.status(500).json({ message: 'Server error' }); + } +}; + +const createReview = async (req, res) => { + try { + // Extract data from request body + const { user, rating, review, productId } = req.body; + + // Create a new review instance + const newReview = new Review({ + user, + rating, + review, + productId + }); + + // Save the review to the database + const savedReview = await newReview.save(); + + // Send the saved review as a response + return res.status(201).json(savedReview); + } catch (error) { + console.error('Error creating review:', error); + return res.status(500).json({ message: 'Failed to create review.' }); + } +}; + +// Corrected the function declaration +const getReviewsByProductId = async (req, res) => { + try { + const { productId } = req.params; // Get the product ID from the route + const reviews = await Review.find({ productId }); // Find reviews associated with the product ID + + if (!reviews || reviews.length === 0) { + return res.status(404).json({ message: 'No reviews found for this product.' }); + } + + res.json(reviews); // Return the found reviews + } catch (error) { + console.error('Error fetching reviews:', error); + res.status(500).json({ message: 'Server error' }); + } +}; + + + +// Delete a review by productId and reviewId +const deleteReview = async (req, res) => { + try { + const { reviewId } = req.params; // Get reviewId from request parameters + console.log('Attempting to delete review with ID:', reviewId); + + const review = await Review.findById(reviewId); // Check if review exists + if (!review) { + console.error('Review not found:', reviewId); + return res.status(404).json({ message: 'Review not found' }); + } + + await Review.findByIdAndDelete(reviewId); // Delete the review + console.log('Review deleted successfully:', reviewId); + + return res.status(200).json({ message: 'Review deleted successfully' }); + } catch (error) { + console.error('Error deleting review:', error); + return res.status(500).json({ message: 'Server error', error }); + } +}; + +// Fetch reviews for a product with pagination +const getPaginatedReviewsByProductId = async (req, res) => { + const { productId } = req.params; + const { page = 1, limit = 4 } = req.query; // Default to page 1 and limit 4 reviews + + try { + // Fetch reviews using pagination + const reviews = await Review.find({ productId }) + .limit(limit * 1) // Limit to the specified number of reviews + .skip((page - 1) * limit) // Skip to the relevant page + .exec(); + + // Get the total number of reviews + const totalReviews = await Review.countDocuments({ productId }); + + res.status(200).json({ + reviews, + totalPages: Math.ceil(totalReviews / limit), + currentPage: page, + }); + } catch (error) { + res.status(500).json({ message: 'Error fetching paginated reviews', error }); + } +}; + + + + +module.exports = { + getAllReviews, + createReview, + getReviewsByProductId, + deleteReview, + getPaginatedReviewsByProductId, + +}; diff --git a/BE/middleware/errorHandler.js b/BE/middleware/errorHandler.js new file mode 100644 index 0000000000..a5813f7558 --- /dev/null +++ b/BE/middleware/errorHandler.js @@ -0,0 +1,10 @@ +const errorHandler = (err, req, res, next) => { + const statusCode = res.statusCode === 200 ? 500 : res.statusCode; + res.status(statusCode); + res.json({ + message: err.message, + stack: process.env.NODE_ENV === 'production' ? null : err.stack, + }); +}; + +module.exports = errorHandler; \ No newline at end of file diff --git a/BE/models/product.js b/BE/models/product.js new file mode 100644 index 0000000000..f5f1099512 --- /dev/null +++ b/BE/models/product.js @@ -0,0 +1,15 @@ +const mongoose = require('mongoose'); + +// Product Schema +const productSchema = new mongoose.Schema({ + userName: { type: String, required: true }, + name: { type: String, required: true }, + description: { type: String, required: true }, + price: { type: Number, required: true }, + category: { type: String, required: true }, + image: { type: String, required: true }, +}, { timestamps: true }); + +const Product = mongoose.model('Product', productSchema); + +module.exports = Product; diff --git a/BE/models/review.js b/BE/models/review.js new file mode 100644 index 0000000000..4b71c808b5 --- /dev/null +++ b/BE/models/review.js @@ -0,0 +1,13 @@ +const mongoose = require('mongoose'); + +// Review Schema +const reviewSchema = new mongoose.Schema({ + user: { type: String, required: true }, + rating: { type: Number, required: true }, + review: { type: String, required: true }, + productId: { type: mongoose.Schema.Types.ObjectId, ref: 'Product', required: true }, // Reference to Product +}, { timestamps: true }); + +const Review = mongoose.model('Review', reviewSchema); + +module.exports = Review; diff --git a/BE/package.json b/BE/package.json new file mode 100644 index 0000000000..09d49a722f --- /dev/null +++ b/BE/package.json @@ -0,0 +1,26 @@ +{ + "name": "be", + "version": "1.0.0", + "description": "be server", + "main": "server.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "start": "node server.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/lesavantdon/product-list.git" + }, + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/lesavantdon/product-list/issues" + }, + "homepage": "https://github.com/lesavantdon/product-list#readme", + "dependencies": { + "cors": "^2.8.5", + "dotenv": "^16.4.5", + "express": "^4.19.2", + "mongoose": "^8.5.3" + } +} diff --git a/BE/scripts/seed.js b/BE/scripts/seed.js new file mode 100644 index 0000000000..9630fa96fd --- /dev/null +++ b/BE/scripts/seed.js @@ -0,0 +1,214 @@ +require('dotenv').config(); // Load environment variables + +const mongoose = require('mongoose'); +const Product = require('../models/product'); // Ensure this path is correct +const Review = require('../models/review'); // Ensure this path is correct + +const uri = process.env.MONGODB_URI || "mongodb://lesavantdon:icecream2@localhost:27017/productsdb?authSource=admin"; + +// Connect to MongoDB +mongoose.connect(uri) + .then(() => { + console.log('Database connected!'); + return Product.deleteMany({}); // Clear existing product data + }) + .then(() => { + console.log('Existing product data deleted!'); + + // Sample product datanode + const sampleProducts = [ + { + name: 'Ray-Ban Wayfarer', + price: 150, + category: 'Sunglasses', + image: 'https://example.com/rayban-wayfarer.jpg', + description: 'Classic Ray-Ban Wayfarer sunglasses, known for their iconic style.', + userName: 'JohnDoe' + }, + { + name: 'Oakley Holbrook', + price: 130, + category: 'Sunglasses', + image: 'https://example.com/oakley-holbrook.jpg', + description: 'Stylish Oakley Holbrook sunglasses designed for a modern look.', + userName: 'JaneSmith' + }, + { + name: 'Persol 714', + price: 250, + category: 'Sunglasses', + image: 'https://example.com/persol-714.jpg', + description: 'Foldable sunglasses designed by Persol.', + userName: 'BobJohnson' + }, + { + name: 'Maui Jim Peahi', + price: 220, + category: 'Sunglasses', + image: 'https://example.com/maui-jim-peahi.jpg', + description: 'Maui Jim Peahi sunglasses with polarized lenses.', + userName: 'AliceWilliams' + }, + { + name: 'Gucci GG0061S', + price: 400, + category: 'Sunglasses', + image: 'https://example.com/gucci-gg0061s.jpg', + description: 'Luxury sunglasses from Gucci with a stylish design.', + userName: 'CharlieBrown' + }, + { + name: 'Fendi FF 0240S', + price: 300, + category: 'Sunglasses', + image: 'https://example.com/fendi-ff-0240s.jpg', + description: 'Trendy Fendi sunglasses with a unique frame.', + userName: 'SamanthaGreen' + }, + { + name: 'Prada PR 17WS', + price: 350, + category: 'Sunglasses', + image: 'https://example.com/prada-pr-17ws.jpg', + description: 'Elegant Prada sunglasses perfect for any occasion.', + userName: 'DanielThompson' + }, + { + name: 'Tom Ford FT0237', + price: 500, + category: 'Sunglasses', + image: 'https://example.com/tom-ford-ft0237.jpg', + description: 'Tom Ford sunglasses with a luxury design.', + userName: 'OliviaMartinez' + }, + { + name: 'Bolon B6033', + price: 90, + category: 'Sunglasses', + image: 'https://example.com/bolon-b6033.jpg', + description: 'Affordable and stylish sunglasses by Bolon.', + userName: 'SophiaRobinson' + }, + { + name: 'Ray-Ban Aviator', + price: 160, + category: 'Sunglasses', + image: 'https://example.com/rayban-aviator.jpg', + description: 'Classic aviator sunglasses from Ray-Ban.', + userName: 'LiamJones' + }, + { + name: 'Vogue Eyewear VO4097S', + price: 180, + category: 'Sunglasses', + image: 'https://example.com/vogue-vo4097s.jpg', + description: 'Chic Vogue sunglasses with a vintage touch.', + userName: 'EllaDavis' + }, + { + name: 'Levi’s LV001', + price: 75, + category: 'Sunglasses', + image: 'https://example.com/levis-lv001.jpg', + description: 'Stylish Levi’s sunglasses that fit any casual outfit.', + userName: 'AvaGarcia' + } + + + ]; + + return Product.insertMany(sampleProducts); // Insert new product data + }) + .then(async (insertedProducts) => { + console.log('New products added!'); + + // Sample review data with dynamic product IDs and required fields + const sampleReviews = [ + { + productId: insertedProducts[0]._id, // Use the ID of the first inserted product + review: 'Absolutely love these sunglasses! Perfect for sunny days.', // Actual review text + rating: 5, + user: 'AliceWilliams', // User who made the review + }, + { + productId: insertedProducts[1]._id, // Use the ID of the second inserted product + review: 'Great style but a bit pricey. Still worth it!', // Actual review text + rating: 4, + user: 'MichaelBrown', // User who made the review + }, + { + productId: insertedProducts[2]._id, // ID of the Persol 714 + review: 'Stylish and functional, perfect for outdoor activities.', + rating: 5, + user: 'SophieTurner', + }, + { + productId: insertedProducts[3]._id, // ID of the Maui Jim Peahi + review: 'The polarized lenses make a big difference! Highly recommend.', + rating: 5, + user: 'EmmaStone', + }, + { + productId: insertedProducts[4]._id, // ID of the Gucci GG0061S + review: 'Luxury feel and stylish design, but the fit is a bit snug.', + rating: 4, + user: 'DanielCraig', + }, + { + productId: insertedProducts[5]._id, // ID of the Fendi FF 0240S + review: 'These are my go-to sunglasses for every occasion!', + rating: 5, + user: 'ScarlettJohansson', + }, + { + productId: insertedProducts[6]._id, // ID of the Prada PR 17WS + review: 'Great design, but they slip off my nose sometimes.', + rating: 3, + user: 'ChrisHemsworth', + }, + { + productId: insertedProducts[7]._id, // ID of the Tom Ford FT0237 + review: 'Truly a statement piece! Worth every penny.', + rating: 5, + user: 'NataliePortman', + }, + { + productId: insertedProducts[8]._id, // ID of the Bolon B6033 + review: 'Decent sunglasses for the price, but they feel a bit cheap.', + rating: 3, + user: 'RyanGosling', + }, + { + productId: insertedProducts[9]._id, // ID of the Ray-Ban Aviator + review: 'Classic aviators that never go out of style!', + rating: 4, + user: 'OliviaColman', + }, + { + productId: insertedProducts[10]._id, // ID of the Vogue Eyewear VO4097S + review: 'Love the vintage look! They fit perfectly.', + rating: 5, + user: 'JessicaAlba', + }, + { + productId: insertedProducts[11]._id, // ID of the Levi’s LV001 + review: 'Stylish and affordable, great for casual outings.', + rating: 4, + user: 'TomHolland', + }, + + + ]; + + await Review.deleteMany({}); // Clear existing reviews + console.log('Existing reviews deleted!'); + + await Review.insertMany(sampleReviews); // Insert new reviews + console.log('New reviews added!'); + }) + .catch(err => { + console.error('Error:', err); + }) + .finally(() => { + mongoose.connection.close(); // Close the connection + }); diff --git a/BE/server.js b/BE/server.js new file mode 100644 index 0000000000..31ffd9f9ed --- /dev/null +++ b/BE/server.js @@ -0,0 +1,18 @@ + + +const dotenv = require('dotenv'); +const connectDB = require('./config/db'); +const app = require('./app'); // Import your main app configuration + + + + + + +dotenv.config(); // Load environment variables from .env file +connectDB(); // Connect to the database +const PORT = process.env.PORT || 5000; +app.listen(PORT, () => { + console.log(`Server running on port ${PORT}`); +}); + diff --git a/BE/swagger.yaml b/BE/swagger.yaml new file mode 100644 index 0000000000..e2a71b1f0e --- /dev/null +++ b/BE/swagger.yaml @@ -0,0 +1,31 @@ +openapi: 3.0.0 +info: + title: Product API + version: 1.0.0 +paths: + /api/products: + get: + summary: Get all products + responses: + "200": + description: Success + post: + summary: Create a new product + responses: + "201": + description: Created + /api/products/{id}: + get: + summary: Get a product by ID + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + "200": + description: Success + delete: + summary: Delete a product by ID + parameters: diff --git a/FE/.gitignore b/FE/.gitignore new file mode 100644 index 0000000000..1de628c798 --- /dev/null +++ b/FE/.gitignore @@ -0,0 +1,3 @@ +# Node modules +node_modules/ +package-lock.json/ \ No newline at end of file diff --git a/FE/.next/build-manifest.json b/FE/.next/build-manifest.json new file mode 100644 index 0000000000..22dd7af59b --- /dev/null +++ b/FE/.next/build-manifest.json @@ -0,0 +1,52 @@ +{ + "polyfillFiles": [ + "static/chunks/polyfills-c67a75d1b6f99dc8.js" + ], + "devFiles": [], + "ampDevFiles": [], + "lowPriorityFiles": [ + "static/KxjiK-bHBzomz58T3BYAs/_buildManifest.js", + "static/KxjiK-bHBzomz58T3BYAs/_ssgManifest.js" + ], + "rootMainFiles": [], + "pages": { + "/HomePage": [ + "static/chunks/webpack-3efa74f27f48abae.js", + "static/chunks/framework-825c16b9e70f8bdd.js", + "static/chunks/main-6ed36289ebba5a2e.js", + "static/css/8d5678ec7ae84e5b.css", + "static/chunks/66-507ab0653aca269b.js", + "static/chunks/731-413b078c5ace66cb.js", + "static/chunks/pages/HomePage-ab6b2d715f2e5d4c.js" + ], + "/ProductPage": [ + "static/chunks/webpack-3efa74f27f48abae.js", + "static/chunks/framework-825c16b9e70f8bdd.js", + "static/chunks/main-6ed36289ebba5a2e.js", + "static/chunks/349f80dd-7ce8c51c11c8334d.js", + "static/chunks/66-507ab0653aca269b.js", + "static/chunks/402-0641fa14696cfe34.js", + "static/chunks/pages/ProductPage-ee3c7943368d0ecd.js" + ], + "/ReviewPage": [ + "static/chunks/webpack-3efa74f27f48abae.js", + "static/chunks/framework-825c16b9e70f8bdd.js", + "static/chunks/main-6ed36289ebba5a2e.js", + "static/chunks/66-507ab0653aca269b.js", + "static/chunks/pages/ReviewPage-9b6e573c15fc74c5.js" + ], + "/_app": [ + "static/chunks/webpack-3efa74f27f48abae.js", + "static/chunks/framework-825c16b9e70f8bdd.js", + "static/chunks/main-6ed36289ebba5a2e.js", + "static/chunks/pages/_app-ee11eff38c423302.js" + ], + "/_error": [ + "static/chunks/webpack-3efa74f27f48abae.js", + "static/chunks/framework-825c16b9e70f8bdd.js", + "static/chunks/main-6ed36289ebba5a2e.js", + "static/chunks/pages/_error-52dc6c3eb610e871.js" + ] + }, + "ampFirstPages": [] +} \ No newline at end of file diff --git a/FE/.next/cache/eslint/.cache_10t9hhs b/FE/.next/cache/eslint/.cache_10t9hhs new file mode 100644 index 0000000000..4471eeab6f --- /dev/null +++ b/FE/.next/cache/eslint/.cache_10t9hhs @@ -0,0 +1 @@ +[{"/Users/aneetsingh/FE+BE/FE/src/App.js":"1","/Users/aneetsingh/FE+BE/FE/src/components/FilterByCategory.js":"2","/Users/aneetsingh/FE+BE/FE/src/components/Pagination.js":"3","/Users/aneetsingh/FE+BE/FE/src/components/ProductList.js":"4","/Users/aneetsingh/FE+BE/FE/src/components/Search.js":"5","/Users/aneetsingh/FE+BE/FE/src/components/productComponent.js":"6","/Users/aneetsingh/FE+BE/FE/src/components/reviewComponent.js":"7","/Users/aneetsingh/FE+BE/FE/src/components/sortByPrice.js":"8","/Users/aneetsingh/FE+BE/FE/src/features/products/productsSlice.js":"9","/Users/aneetsingh/FE+BE/FE/src/index.js":"10","/Users/aneetsingh/FE+BE/FE/src/pages/HomePage.js":"11","/Users/aneetsingh/FE+BE/FE/src/pages/ProductPage.js":"12","/Users/aneetsingh/FE+BE/FE/src/pages/ReviewPage.js":"13","/Users/aneetsingh/FE+BE/FE/src/redux/actions/productActions.js":"14","/Users/aneetsingh/FE+BE/FE/src/redux/reducers/productReducer.js":"15","/Users/aneetsingh/FE+BE/FE/src/redux/store.js":"16","/Users/aneetsingh/FE+BE/FE/src/redux/types.js":"17","/Users/aneetsingh/FE+BE/FE/src/services/api.js":"18","/Users/aneetsingh/FE+BE/FE/src/utils/api.js":"19","/Users/aneetsingh/FE+BE/FE/src/utils/helpers.js":"20"},{"size":739,"mtime":1725681817462,"results":"21","hashOfConfig":"22"},{"size":1795,"mtime":1726111206612,"results":"23","hashOfConfig":"22"},{"size":722,"mtime":1723613627089,"results":"24","hashOfConfig":"22"},{"size":2294,"mtime":1726111644541,"results":"25","hashOfConfig":"22"},{"size":775,"mtime":1725676449435,"results":"26","hashOfConfig":"22"},{"size":3109,"mtime":1724128145335,"results":"27","hashOfConfig":"22"},{"size":2527,"mtime":1725402464360,"results":"28","hashOfConfig":"22"},{"size":1310,"mtime":1725777299104,"results":"29","hashOfConfig":"22"},{"size":1115,"mtime":1723617121856,"results":"30","hashOfConfig":"22"},{"size":346,"mtime":1725773655701,"results":"31","hashOfConfig":"22"},{"size":2748,"mtime":1726113896478,"results":"32","hashOfConfig":"22"},{"size":658,"mtime":1723783467175,"results":"33","hashOfConfig":"22"},{"size":299,"mtime":1725772379706,"results":"34","hashOfConfig":"22"},{"size":615,"mtime":1723783371965,"results":"35","hashOfConfig":"22"},{"size":540,"mtime":1723783379086,"results":"36","hashOfConfig":"22"},{"size":449,"mtime":1725487025399,"results":"37","hashOfConfig":"22"},{"size":94,"mtime":1723783411352,"results":"38","hashOfConfig":"22"},{"size":1581,"mtime":1724123678823,"results":"39","hashOfConfig":"22"},{"size":426,"mtime":1723783693548,"results":"40","hashOfConfig":"22"},{"size":62,"mtime":1723783692440,"results":"41","hashOfConfig":"22"},{"filePath":"42","messages":"43","suppressedMessages":"44","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"ymjvvx",{"filePath":"45","messages":"46","suppressedMessages":"47","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"48","messages":"49","suppressedMessages":"50","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"51","messages":"52","suppressedMessages":"53","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"54","messages":"55","suppressedMessages":"56","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"57","messages":"58","suppressedMessages":"59","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"60","messages":"61","suppressedMessages":"62","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"63","messages":"64","suppressedMessages":"65","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"66","messages":"67","suppressedMessages":"68","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"69","messages":"70","suppressedMessages":"71","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"72","messages":"73","suppressedMessages":"74","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"75","messages":"76","suppressedMessages":"77","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"78","messages":"79","suppressedMessages":"80","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"81","messages":"82","suppressedMessages":"83","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"84","messages":"85","suppressedMessages":"86","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"87","messages":"88","suppressedMessages":"89","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"90","messages":"91","suppressedMessages":"92","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"93","messages":"94","suppressedMessages":"95","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"96","messages":"97","suppressedMessages":"98","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"99","messages":"100","suppressedMessages":"101","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/Users/aneetsingh/FE+BE/FE/src/App.js",[],[],"/Users/aneetsingh/FE+BE/FE/src/components/FilterByCategory.js",[],[],"/Users/aneetsingh/FE+BE/FE/src/components/Pagination.js",[],[],"/Users/aneetsingh/FE+BE/FE/src/components/ProductList.js",["102"],[],"/Users/aneetsingh/FE+BE/FE/src/components/Search.js",[],[],"/Users/aneetsingh/FE+BE/FE/src/components/productComponent.js",[],[],"/Users/aneetsingh/FE+BE/FE/src/components/reviewComponent.js",[],[],"/Users/aneetsingh/FE+BE/FE/src/components/sortByPrice.js",[],[],"/Users/aneetsingh/FE+BE/FE/src/features/products/productsSlice.js",[],[],"/Users/aneetsingh/FE+BE/FE/src/index.js",[],[],"/Users/aneetsingh/FE+BE/FE/src/pages/HomePage.js",[],[],"/Users/aneetsingh/FE+BE/FE/src/pages/ProductPage.js",[],[],"/Users/aneetsingh/FE+BE/FE/src/pages/ReviewPage.js",[],[],"/Users/aneetsingh/FE+BE/FE/src/redux/actions/productActions.js",[],[],"/Users/aneetsingh/FE+BE/FE/src/redux/reducers/productReducer.js",[],[],"/Users/aneetsingh/FE+BE/FE/src/redux/store.js",[],[],"/Users/aneetsingh/FE+BE/FE/src/redux/types.js",[],[],"/Users/aneetsingh/FE+BE/FE/src/services/api.js",[],[],"/Users/aneetsingh/FE+BE/FE/src/utils/api.js",[],[],"/Users/aneetsingh/FE+BE/FE/src/utils/helpers.js",[],[],{"ruleId":"103","severity":1,"message":"104","line":46,"column":15,"nodeType":"105","endLine":46,"endColumn":87},"@next/next/no-img-element","Using `` could result in slower LCP and higher bandwidth. Consider using `` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element","JSXOpeningElement"] \ No newline at end of file diff --git a/FE/.next/cache/webpack/client-production/0.pack b/FE/.next/cache/webpack/client-production/0.pack new file mode 100644 index 0000000000..cf1f992d95 Binary files /dev/null and b/FE/.next/cache/webpack/client-production/0.pack differ diff --git a/FE/.next/cache/webpack/client-production/1.pack b/FE/.next/cache/webpack/client-production/1.pack new file mode 100644 index 0000000000..a5a61f7651 Binary files /dev/null and b/FE/.next/cache/webpack/client-production/1.pack differ diff --git a/FE/.next/cache/webpack/client-production/2.pack b/FE/.next/cache/webpack/client-production/2.pack new file mode 100644 index 0000000000..7f3d7717d8 Binary files /dev/null and b/FE/.next/cache/webpack/client-production/2.pack differ diff --git a/FE/.next/cache/webpack/client-production/index.pack b/FE/.next/cache/webpack/client-production/index.pack new file mode 100644 index 0000000000..bf9d6324c9 Binary files /dev/null and b/FE/.next/cache/webpack/client-production/index.pack differ diff --git a/FE/.next/cache/webpack/client-production/index.pack.old b/FE/.next/cache/webpack/client-production/index.pack.old new file mode 100644 index 0000000000..e26f477829 Binary files /dev/null and b/FE/.next/cache/webpack/client-production/index.pack.old differ diff --git a/FE/.next/cache/webpack/server-production/0.pack b/FE/.next/cache/webpack/server-production/0.pack new file mode 100644 index 0000000000..5a3ebe5568 Binary files /dev/null and b/FE/.next/cache/webpack/server-production/0.pack differ diff --git a/FE/.next/cache/webpack/server-production/1.pack b/FE/.next/cache/webpack/server-production/1.pack new file mode 100644 index 0000000000..58c368e61c Binary files /dev/null and b/FE/.next/cache/webpack/server-production/1.pack differ diff --git a/FE/.next/cache/webpack/server-production/2.pack b/FE/.next/cache/webpack/server-production/2.pack new file mode 100644 index 0000000000..dd44447326 Binary files /dev/null and b/FE/.next/cache/webpack/server-production/2.pack differ diff --git a/FE/.next/cache/webpack/server-production/index.pack b/FE/.next/cache/webpack/server-production/index.pack new file mode 100644 index 0000000000..975f007b04 Binary files /dev/null and b/FE/.next/cache/webpack/server-production/index.pack differ diff --git a/FE/.next/cache/webpack/server-production/index.pack.old b/FE/.next/cache/webpack/server-production/index.pack.old new file mode 100644 index 0000000000..2e0d30f71c Binary files /dev/null and b/FE/.next/cache/webpack/server-production/index.pack.old differ diff --git a/FE/.next/package.json b/FE/.next/package.json new file mode 100644 index 0000000000..7156107e3a --- /dev/null +++ b/FE/.next/package.json @@ -0,0 +1 @@ +{"type": "commonjs"} \ No newline at end of file diff --git a/FE/.next/prerender-manifest.js b/FE/.next/prerender-manifest.js new file mode 100644 index 0000000000..02824f9e4f --- /dev/null +++ b/FE/.next/prerender-manifest.js @@ -0,0 +1 @@ +self.__PRERENDER_MANIFEST="{\"preview\":{\"previewModeId\":\"36fac0f16a91517e9e97e6bc5fcbd5cd\",\"previewModeSigningKey\":\"3e56f845fa7871d783780564391eee972cc036765058fa5c330fb46aacd9ca34\",\"previewModeEncryptionKey\":\"4ad11391a867efcb970c6cf9196a729176373a8bb042225f13dede80cbdb3998\"}}" \ No newline at end of file diff --git a/FE/.next/react-loadable-manifest.json b/FE/.next/react-loadable-manifest.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/FE/.next/react-loadable-manifest.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/FE/.next/routes-manifest.json b/FE/.next/routes-manifest.json new file mode 100644 index 0000000000..f608d3fabd --- /dev/null +++ b/FE/.next/routes-manifest.json @@ -0,0 +1 @@ +{"version":3,"pages404":true,"caseSensitive":false,"basePath":"","redirects":[{"source":"/:path+/","destination":"/:path+","internal":true,"statusCode":308,"regex":"^(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))/$"}],"headers":[],"dynamicRoutes":[],"staticRoutes":[{"page":"/HomePage","regex":"^/HomePage(?:/)?$","routeKeys":{},"namedRegex":"^/HomePage(?:/)?$"},{"page":"/ProductPage","regex":"^/ProductPage(?:/)?$","routeKeys":{},"namedRegex":"^/ProductPage(?:/)?$"},{"page":"/ReviewPage","regex":"^/ReviewPage(?:/)?$","routeKeys":{},"namedRegex":"^/ReviewPage(?:/)?$"}],"dataRoutes":[],"rsc":{"header":"RSC","varyHeader":"RSC, Next-Router-State-Tree, Next-Router-Prefetch, Next-Url","prefetchHeader":"Next-Router-Prefetch","contentTypeHeader":"text/x-component"},"rewrites":[]} \ No newline at end of file diff --git a/FE/.next/server/chunks/209.js b/FE/.next/server/chunks/209.js new file mode 100644 index 0000000000..de9f592168 --- /dev/null +++ b/FE/.next/server/chunks/209.js @@ -0,0 +1,6 @@ +"use strict";exports.id=209,exports.ids=[209],exports.modules={9209:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{Head:function(){return Head},NextScript:function(){return NextScript},Html:function(){return Html},Main:function(){return Main},default:function(){return Document}});let r=_interop_require_default(n(6689)),i=n(2338),o=n(5778),l=n(9630),s=_interop_require_default(n(676)),a=n(3112);function _interop_require_default(e){return e&&e.__esModule?e:{default:e}}let u=new Set;function getDocumentFiles(e,t,n){let r=(0,o.getPageFiles)(e,"/_app"),i=n?[]:(0,o.getPageFiles)(e,t);return{sharedFiles:r,pageFiles:i,allFiles:[...new Set([...r,...i])]}}function getPolyfillScripts(e,t){let{assetPrefix:n,buildManifest:i,assetQueryString:o,disableOptimizedLoading:l,crossOrigin:s}=e;return i.polyfillFiles.filter(e=>e.endsWith(".js")&&!e.endsWith(".module.js")).map(e=>r.default.createElement("script",{key:e,defer:!l,nonce:t.nonce,crossOrigin:t.crossOrigin||s,noModule:!0,src:`${n}/_next/${e}${o}`}))}function AmpStyles({styles:e}){if(!e)return null;let t=Array.isArray(e)?e:[];if(e.props&&Array.isArray(e.props.children)){let hasStyles=e=>{var t,n;return null==e?void 0:null==(n=e.props)?void 0:null==(t=n.dangerouslySetInnerHTML)?void 0:t.__html};e.props.children.forEach(e=>{Array.isArray(e)?e.forEach(e=>hasStyles(e)&&t.push(e)):hasStyles(e)&&t.push(e)})}return r.default.createElement("style",{"amp-custom":"",dangerouslySetInnerHTML:{__html:t.map(e=>e.props.dangerouslySetInnerHTML.__html).join("").replace(/\/\*# sourceMappingURL=.*\*\//g,"").replace(/\/\*@ sourceURL=.*?\*\//g,"")}})}function getDynamicChunks(e,t,n){let{dynamicImports:i,assetPrefix:o,isDevelopment:l,assetQueryString:s,disableOptimizedLoading:a,crossOrigin:u}=e;return i.map(e=>!e.endsWith(".js")||n.allFiles.includes(e)?null:r.default.createElement("script",{async:!l&&a,defer:!a,key:e,src:`${o}/_next/${encodeURI(e)}${s}`,nonce:t.nonce,crossOrigin:t.crossOrigin||u}))}function getScripts(e,t,n){var i;let{assetPrefix:o,buildManifest:l,isDevelopment:s,assetQueryString:a,disableOptimizedLoading:u,crossOrigin:c}=e,d=n.allFiles.filter(e=>e.endsWith(".js")),p=null==(i=l.lowPriorityFiles)?void 0:i.filter(e=>e.endsWith(".js"));return[...d,...p].map(e=>r.default.createElement("script",{key:e,src:`${o}/_next/${encodeURI(e)}${a}`,nonce:t.nonce,async:!s&&u,defer:!u,crossOrigin:t.crossOrigin||c}))}function getPreNextScripts(e,t){let{scriptLoader:n,disableOptimizedLoading:i,crossOrigin:o}=e,l=function(e,t){let{assetPrefix:n,scriptLoader:i,crossOrigin:o,nextScriptWorkers:l}=e;if(!l)return null;try{let{partytownSnippet:e}=require("@builder.io/partytown/integration"),l=Array.isArray(t.children)?t.children:[t.children],s=l.find(e=>{var t,n;return!!e&&!!e.props&&(null==e?void 0:null==(n=e.props)?void 0:null==(t=n.dangerouslySetInnerHTML)?void 0:t.__html.length)&&"data-partytown-config"in e.props});return r.default.createElement(r.default.Fragment,null,!s&&r.default.createElement("script",{"data-partytown-config":"",dangerouslySetInnerHTML:{__html:` + partytown = { + lib: "${n}/_next/static/~partytown/" + }; + `}}),r.default.createElement("script",{"data-partytown":"",dangerouslySetInnerHTML:{__html:e()}}),(i.worker||[]).map((e,n)=>{let{strategy:i,src:l,children:s,dangerouslySetInnerHTML:a,...u}=e,c={};if(l)c.src=l;else if(a&&a.__html)c.dangerouslySetInnerHTML={__html:a.__html};else if(s)c.dangerouslySetInnerHTML={__html:"string"==typeof s?s:Array.isArray(s)?s.join(""):""};else throw Error("Invalid usage of next/script. Did you forget to include a src attribute or an inline script? https://nextjs.org/docs/messages/invalid-script");return r.default.createElement("script",{...c,...u,type:"text/partytown",key:l||n,nonce:t.nonce,"data-nscript":"worker",crossOrigin:t.crossOrigin||o})}))}catch(e){return(0,s.default)(e)&&"MODULE_NOT_FOUND"!==e.code&&console.warn(`Warning: ${e.message}`),null}}(e,t),a=(n.beforeInteractive||[]).filter(e=>e.src).map((e,n)=>{let{strategy:l,...s}=e;return r.default.createElement("script",{...s,key:s.src||n,defer:s.defer??!i,nonce:t.nonce,"data-nscript":"beforeInteractive",crossOrigin:t.crossOrigin||o})});return r.default.createElement(r.default.Fragment,null,l,a)}let Head=class Head extends r.default.Component{static #e=this.contextType=a.HtmlContext;getCssLinks(e){let{assetPrefix:t,assetQueryString:n,dynamicImports:i,crossOrigin:o,optimizeCss:l,optimizeFonts:s}=this.context,a=e.allFiles.filter(e=>e.endsWith(".css")),u=new Set(e.sharedFiles),c=new Set([]),d=Array.from(new Set(i.filter(e=>e.endsWith(".css"))));if(d.length){let e=new Set(a);d=d.filter(t=>!(e.has(t)||u.has(t))),c=new Set(d),a.push(...d)}let p=[];return a.forEach(e=>{let i=u.has(e);l||p.push(r.default.createElement("link",{key:`${e}-preload`,nonce:this.props.nonce,rel:"preload",href:`${t}/_next/${encodeURI(e)}${n}`,as:"style",crossOrigin:this.props.crossOrigin||o}));let s=c.has(e);p.push(r.default.createElement("link",{key:e,nonce:this.props.nonce,rel:"stylesheet",href:`${t}/_next/${encodeURI(e)}${n}`,crossOrigin:this.props.crossOrigin||o,"data-n-g":s?void 0:i?"":void 0,"data-n-p":s?void 0:i?void 0:""}))}),s&&(p=this.makeStylesheetInert(p)),0===p.length?null:p}getPreloadDynamicChunks(){let{dynamicImports:e,assetPrefix:t,assetQueryString:n,crossOrigin:i}=this.context;return e.map(e=>e.endsWith(".js")?r.default.createElement("link",{rel:"preload",key:e,href:`${t}/_next/${encodeURI(e)}${n}`,as:"script",nonce:this.props.nonce,crossOrigin:this.props.crossOrigin||i}):null).filter(Boolean)}getPreloadMainLinks(e){let{assetPrefix:t,assetQueryString:n,scriptLoader:i,crossOrigin:o}=this.context,l=e.allFiles.filter(e=>e.endsWith(".js"));return[...(i.beforeInteractive||[]).map(e=>r.default.createElement("link",{key:e.src,nonce:this.props.nonce,rel:"preload",href:e.src,as:"script",crossOrigin:this.props.crossOrigin||o})),...l.map(e=>r.default.createElement("link",{key:e,nonce:this.props.nonce,rel:"preload",href:`${t}/_next/${encodeURI(e)}${n}`,as:"script",crossOrigin:this.props.crossOrigin||o}))]}getBeforeInteractiveInlineScripts(){let{scriptLoader:e}=this.context,{nonce:t,crossOrigin:n}=this.props;return(e.beforeInteractive||[]).filter(e=>!e.src&&(e.dangerouslySetInnerHTML||e.children)).map((e,i)=>{let{strategy:o,children:l,dangerouslySetInnerHTML:s,src:a,...u}=e,c="";return s&&s.__html?c=s.__html:l&&(c="string"==typeof l?l:Array.isArray(l)?l.join(""):""),r.default.createElement("script",{...u,dangerouslySetInnerHTML:{__html:c},key:u.id||i,nonce:t,"data-nscript":"beforeInteractive",crossOrigin:n||void 0})})}getDynamicChunks(e){return getDynamicChunks(this.context,this.props,e)}getPreNextScripts(){return getPreNextScripts(this.context,this.props)}getScripts(e){return getScripts(this.context,this.props,e)}getPolyfillScripts(){return getPolyfillScripts(this.context,this.props)}makeStylesheetInert(e){return r.default.Children.map(e,e=>{var t,n;if((null==e?void 0:e.type)==="link"&&(null==e?void 0:null==(t=e.props)?void 0:t.href)&&i.OPTIMIZED_FONT_PROVIDERS.some(({url:t})=>{var n,r;return null==e?void 0:null==(r=e.props)?void 0:null==(n=r.href)?void 0:n.startsWith(t)})){let t={...e.props||{},"data-href":e.props.href,href:void 0};return r.default.cloneElement(e,t)}if(null==e?void 0:null==(n=e.props)?void 0:n.children){let t={...e.props||{},children:this.makeStylesheetInert(e.props.children)};return r.default.cloneElement(e,t)}return e}).filter(Boolean)}render(){let{styles:e,ampPath:t,inAmpMode:i,hybridAmp:o,canonicalBase:l,__NEXT_DATA__:s,dangerousAsPath:a,headTags:u,unstable_runtimeJS:c,unstable_JsPreload:d,disableOptimizedLoading:p,optimizeCss:f,optimizeFonts:h,assetPrefix:m,nextFontManifest:_}=this.context,g=!1===c,E=!1===d||!p;this.context.docComponentsRendered.Head=!0;let{head:S}=this.context,y=[],I=[];S&&(S.forEach(e=>{let t;this.context.strictNextHead&&(t=r.default.createElement("meta",{name:"next-head",content:"1"})),e&&"link"===e.type&&"preload"===e.props.rel&&"style"===e.props.as?(t&&y.push(t),y.push(e)):e&&(t&&("meta"!==e.type||!e.props.charSet)&&I.push(t),I.push(e))}),S=y.concat(I));let T=r.default.Children.toArray(this.props.children).filter(Boolean);h&&!i&&(T=this.makeStylesheetInert(T));let P=!1,N=!1;S=r.default.Children.map(S||[],e=>{if(!e)return e;let{type:t,props:n}=e;if(i){let r="";if("meta"===t&&"viewport"===n.name?r='name="viewport"':"link"===t&&"canonical"===n.rel?N=!0:"script"===t&&(n.src&&-1>n.src.indexOf("ampproject")||n.dangerouslySetInnerHTML&&(!n.type||"text/javascript"===n.type))&&(r="{r+=` ${e}="${n[e]}"`}),r+="/>"),r)return console.warn(`Found conflicting amp tag "${e.type}" with conflicting prop ${r} in ${s.page}. https://nextjs.org/docs/messages/conflicting-amp-tag`),null}else"link"===t&&"amphtml"===n.rel&&(P=!0);return e});let O=getDocumentFiles(this.context.buildManifest,this.context.__NEXT_DATA__.page,i),b=function(e,t,n=""){if(!e)return{preconnect:null,preload:null};let i=e.pages["/_app"],o=e.pages[t],l=[...i??[],...o??[]],s=!!(0===l.length&&(i||o));return{preconnect:s?r.default.createElement("link",{"data-next-font":e.pagesUsingSizeAdjust?"size-adjust":"",rel:"preconnect",href:"/",crossOrigin:"anonymous"}):null,preload:l?l.map(e=>{let t=/\.(woff|woff2|eot|ttf|otf)$/.exec(e)[1];return r.default.createElement("link",{key:e,rel:"preload",href:`${n}/_next/${encodeURI(e)}`,as:"font",type:`font/${t}`,crossOrigin:"anonymous","data-next-font":e.includes("-s")?"size-adjust":""})}):null}}(_,a,m);return r.default.createElement("head",function(e){let{crossOrigin:t,nonce:n,...r}=e;return r}(this.props),this.context.isDevelopment&&r.default.createElement(r.default.Fragment,null,r.default.createElement("style",{"data-next-hide-fouc":!0,"data-ampdevmode":i?"true":void 0,dangerouslySetInnerHTML:{__html:"body{display:none}"}}),r.default.createElement("noscript",{"data-next-hide-fouc":!0,"data-ampdevmode":i?"true":void 0},r.default.createElement("style",{dangerouslySetInnerHTML:{__html:"body{display:block}"}}))),S,this.context.strictNextHead?null:r.default.createElement("meta",{name:"next-head-count",content:r.default.Children.count(S||[]).toString()}),T,h&&r.default.createElement("meta",{name:"next-font-preconnect"}),b.preconnect,b.preload,i&&r.default.createElement(r.default.Fragment,null,r.default.createElement("meta",{name:"viewport",content:"width=device-width,minimum-scale=1,initial-scale=1"}),!N&&r.default.createElement("link",{rel:"canonical",href:l+n(733).cleanAmpPath(a)}),r.default.createElement("link",{rel:"preload",as:"script",href:"https://cdn.ampproject.org/v0.js"}),r.default.createElement(AmpStyles,{styles:e}),r.default.createElement("style",{"amp-boilerplate":"",dangerouslySetInnerHTML:{__html:"body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}"}}),r.default.createElement("noscript",null,r.default.createElement("style",{"amp-boilerplate":"",dangerouslySetInnerHTML:{__html:"body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}"}})),r.default.createElement("script",{async:!0,src:"https://cdn.ampproject.org/v0.js"})),!i&&r.default.createElement(r.default.Fragment,null,!P&&o&&r.default.createElement("link",{rel:"amphtml",href:l+(t||`${a}${a.includes("?")?"&":"?"}amp=1`)}),this.getBeforeInteractiveInlineScripts(),!f&&this.getCssLinks(O),!f&&r.default.createElement("noscript",{"data-n-css":this.props.nonce??""}),!g&&!E&&this.getPreloadDynamicChunks(),!g&&!E&&this.getPreloadMainLinks(O),!p&&!g&&this.getPolyfillScripts(),!p&&!g&&this.getPreNextScripts(),!p&&!g&&this.getDynamicChunks(O),!p&&!g&&this.getScripts(O),f&&this.getCssLinks(O),f&&r.default.createElement("noscript",{"data-n-css":this.props.nonce??""}),this.context.isDevelopment&&r.default.createElement("noscript",{id:"__next_css__DO_NOT_USE__"}),e||null),r.default.createElement(r.default.Fragment,{},...u||[]))}};let NextScript=class NextScript extends r.default.Component{static #e=this.contextType=a.HtmlContext;getDynamicChunks(e){return getDynamicChunks(this.context,this.props,e)}getPreNextScripts(){return getPreNextScripts(this.context,this.props)}getScripts(e){return getScripts(this.context,this.props,e)}getPolyfillScripts(){return getPolyfillScripts(this.context,this.props)}static getInlineScriptSource(e){let{__NEXT_DATA__:t,largePageDataBytes:r}=e;try{let i=JSON.stringify(t);if(u.has(t.page))return(0,l.htmlEscapeJsonString)(i);let o=Buffer.from(i).byteLength,s=n(5955).Z;return r&&o>r&&(u.add(t.page),console.warn(`Warning: data for page "${t.page}"${t.page===e.dangerousAsPath?"":` (path "${e.dangerousAsPath}")`} is ${s(o)} which exceeds the threshold of ${s(r)}, this amount of data can reduce performance. +See more info here: https://nextjs.org/docs/messages/large-page-data`)),(0,l.htmlEscapeJsonString)(i)}catch(e){if((0,s.default)(e)&&-1!==e.message.indexOf("circular structure"))throw Error(`Circular structure in "getInitialProps" result of page "${t.page}". https://nextjs.org/docs/messages/circular-structure`);throw e}}render(){let{assetPrefix:e,inAmpMode:t,buildManifest:n,unstable_runtimeJS:i,docComponentsRendered:o,assetQueryString:l,disableOptimizedLoading:s,crossOrigin:a}=this.context,u=!1===i;if(o.NextScript=!0,t)return null;let c=getDocumentFiles(this.context.buildManifest,this.context.__NEXT_DATA__.page,t);return r.default.createElement(r.default.Fragment,null,!u&&n.devFiles?n.devFiles.map(t=>r.default.createElement("script",{key:t,src:`${e}/_next/${encodeURI(t)}${l}`,nonce:this.props.nonce,crossOrigin:this.props.crossOrigin||a})):null,u?null:r.default.createElement("script",{id:"__NEXT_DATA__",type:"application/json",nonce:this.props.nonce,crossOrigin:this.props.crossOrigin||a,dangerouslySetInnerHTML:{__html:NextScript.getInlineScriptSource(this.context)}}),s&&!u&&this.getPolyfillScripts(),s&&!u&&this.getPreNextScripts(),s&&!u&&this.getDynamicChunks(c),s&&!u&&this.getScripts(c))}};function Html(e){let{inAmpMode:t,docComponentsRendered:n,locale:i,scriptLoader:o,__NEXT_DATA__:l}=(0,a.useHtmlContext)();return n.Html=!0,function(e,t,n){var i,o,l,s;if(!n.children)return;let a=[],u=Array.isArray(n.children)?n.children:[n.children],c=null==(o=u.find(e=>e.type===Head))?void 0:null==(i=o.props)?void 0:i.children,d=null==(s=u.find(e=>"body"===e.type))?void 0:null==(l=s.props)?void 0:l.children,p=[...Array.isArray(c)?c:[c],...Array.isArray(d)?d:[d]];r.default.Children.forEach(p,t=>{var n;if(t&&(null==(n=t.type)?void 0:n.__nextScript)){if("beforeInteractive"===t.props.strategy){e.beforeInteractive=(e.beforeInteractive||[]).concat([{...t.props}]);return}if(["lazyOnload","afterInteractive","worker"].includes(t.props.strategy)){a.push(t.props);return}}}),t.scriptLoader=a}(o,l,e),r.default.createElement("html",{...e,lang:e.lang||i||void 0,amp:t?"":void 0,"data-ampdevmode":void 0})}function Main(){let{docComponentsRendered:e}=(0,a.useHtmlContext)();return e.Main=!0,r.default.createElement("next-js-internal-body-render-target",null)}let Document=class Document extends r.default.Component{static getInitialProps(e){return e.defaultGetInitialProps(e)}render(){return r.default.createElement(Html,null,r.default.createElement(Head,null),r.default.createElement("body",null,r.default.createElement(Main,null),r.default.createElement(NextScript,null)))}};Document[i.NEXT_BUILTIN_DOCUMENT]=function(){return r.default.createElement(Html,null,r.default.createElement(Head,null),r.default.createElement("body",null,r.default.createElement(Main,null),r.default.createElement(NextScript,null)))}},2338:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{MODERN_BROWSERSLIST_TARGET:function(){return i.default},COMPILER_NAMES:function(){return o},INTERNAL_HEADERS:function(){return l},COMPILER_INDEXES:function(){return s},PHASE_EXPORT:function(){return a},PHASE_PRODUCTION_BUILD:function(){return u},PHASE_PRODUCTION_SERVER:function(){return c},PHASE_DEVELOPMENT_SERVER:function(){return d},PHASE_TEST:function(){return p},PHASE_INFO:function(){return f},PAGES_MANIFEST:function(){return h},APP_PATHS_MANIFEST:function(){return m},APP_PATH_ROUTES_MANIFEST:function(){return _},BUILD_MANIFEST:function(){return g},APP_BUILD_MANIFEST:function(){return E},FUNCTIONS_CONFIG_MANIFEST:function(){return S},SUBRESOURCE_INTEGRITY_MANIFEST:function(){return y},NEXT_FONT_MANIFEST:function(){return I},EXPORT_MARKER:function(){return T},EXPORT_DETAIL:function(){return P},PRERENDER_MANIFEST:function(){return N},ROUTES_MANIFEST:function(){return O},IMAGES_MANIFEST:function(){return b},SERVER_FILES_MANIFEST:function(){return v},DEV_CLIENT_PAGES_MANIFEST:function(){return A},MIDDLEWARE_MANIFEST:function(){return R},DEV_MIDDLEWARE_MANIFEST:function(){return x},REACT_LOADABLE_MANIFEST:function(){return M},FONT_MANIFEST:function(){return L},SERVER_DIRECTORY:function(){return C},CONFIG_FILES:function(){return j},BUILD_ID_FILE:function(){return D},BLOCKED_PAGES:function(){return F},CLIENT_PUBLIC_FILES_PATH:function(){return k},CLIENT_STATIC_FILES_PATH:function(){return w},STRING_LITERAL_DROP_BUNDLE:function(){return U},NEXT_BUILTIN_DOCUMENT:function(){return B},BARREL_OPTIMIZATION_PREFIX:function(){return $},CLIENT_REFERENCE_MANIFEST:function(){return H},SERVER_REFERENCE_MANIFEST:function(){return W},MIDDLEWARE_BUILD_MANIFEST:function(){return z},MIDDLEWARE_REACT_LOADABLE_MANIFEST:function(){return G},CLIENT_STATIC_FILES_RUNTIME_MAIN:function(){return Y},CLIENT_STATIC_FILES_RUNTIME_MAIN_APP:function(){return X},APP_CLIENT_INTERNALS:function(){return V},CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH:function(){return q},CLIENT_STATIC_FILES_RUNTIME_AMP:function(){return J},CLIENT_STATIC_FILES_RUNTIME_WEBPACK:function(){return K},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS:function(){return Z},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL:function(){return Q},EDGE_RUNTIME_WEBPACK:function(){return ee},TEMPORARY_REDIRECT_STATUS:function(){return et},PERMANENT_REDIRECT_STATUS:function(){return en},STATIC_PROPS_ID:function(){return er},SERVER_PROPS_ID:function(){return ei},PAGE_SEGMENT_KEY:function(){return eo},GOOGLE_FONT_PROVIDER:function(){return el},OPTIMIZED_FONT_PROVIDERS:function(){return es},DEFAULT_SERIF_FONT:function(){return ea},DEFAULT_SANS_SERIF_FONT:function(){return eu},STATIC_STATUS_PAGES:function(){return ec},TRACE_OUTPUT_VERSION:function(){return ed},TURBO_TRACE_DEFAULT_MEMORY_LIMIT:function(){return ep},RSC_MODULE_TYPES:function(){return ef},EDGE_UNSUPPORTED_NODE_APIS:function(){return eh},SYSTEM_ENTRYPOINTS:function(){return em}});let r=n(167),i=r._(n(8855)),o={client:"client",server:"server",edgeServer:"edge-server"},l=["x-invoke-path","x-invoke-status","x-invoke-error","x-invoke-query","x-middleware-invoke"],s={[o.client]:0,[o.server]:1,[o.edgeServer]:2},a="phase-export",u="phase-production-build",c="phase-production-server",d="phase-development-server",p="phase-test",f="phase-info",h="pages-manifest.json",m="app-paths-manifest.json",_="app-path-routes-manifest.json",g="build-manifest.json",E="app-build-manifest.json",S="functions-config-manifest.json",y="subresource-integrity-manifest",I="next-font-manifest",T="export-marker.json",P="export-detail.json",N="prerender-manifest.json",O="routes-manifest.json",b="images-manifest.json",v="required-server-files.json",A="_devPagesManifest.json",R="middleware-manifest.json",x="_devMiddlewareManifest.json",M="react-loadable-manifest.json",L="font-manifest.json",C="server",j=["next.config.js","next.config.mjs"],D="BUILD_ID",F=["/_document","/_app","/_error"],k="public",w="static",U="__NEXT_DROP_CLIENT_FILE__",B="__NEXT_BUILTIN_DOCUMENT__",$="__barrel_optimize__",H="client-reference-manifest",W="server-reference-manifest",z="middleware-build-manifest",G="middleware-react-loadable-manifest",Y="main",X=""+Y+"-app",V="app-pages-internals",q="react-refresh",J="amp",K="webpack",Z="polyfills",Q=Symbol(Z),ee="edge-runtime-webpack",et=307,en=308,er="__N_SSG",ei="__N_SSP",eo="__PAGE__",el="https://fonts.googleapis.com/",es=[{url:el,preconnect:"https://fonts.gstatic.com"},{url:"https://use.typekit.net",preconnect:"https://use.typekit.net"}],ea={name:"Times New Roman",xAvgCharWidth:821,azAvgWidth:854.3953488372093,unitsPerEm:2048},eu={name:"Arial",xAvgCharWidth:904,azAvgWidth:934.5116279069767,unitsPerEm:2048},ec=["/500"],ed=1,ep=6e3,ef={client:"client",server:"server"},eh=["clearImmediate","setImmediate","BroadcastChannel","ByteLengthQueuingStrategy","CompressionStream","CountQueuingStrategy","DecompressionStream","DomException","MessageChannel","MessageEvent","MessagePort","ReadableByteStreamController","ReadableStreamBYOBRequest","ReadableStreamDefaultController","TransformStreamDefaultController","WritableStreamDefaultController"],em=new Set([Y,q,J,X]);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5585:(e,t)=>{function getObjectClassLabel(e){return Object.prototype.toString.call(e)}function isPlainObject(e){if("[object Object]"!==getObjectClassLabel(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getObjectClassLabel:function(){return getObjectClassLabel},isPlainObject:function(){return isPlainObject}})},8855:e=>{e.exports=["chrome 64","edge 79","firefox 67","opera 51","safari 12"]},3035:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"denormalizePagePath",{enumerable:!0,get:function(){return denormalizePagePath}});let r=n(8410),i=n(9153);function denormalizePagePath(e){let t=(0,i.normalizePathSep)(e);return t.startsWith("/index/")&&!(0,r.isDynamicRoute)(t)?t.slice(6):"/index"!==t?t:"/"}},504:(e,t)=>{function ensureLeadingSlash(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return ensureLeadingSlash}})},5909:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePagePath",{enumerable:!0,get:function(){return normalizePagePath}});let r=n(504),i=n(8410),o=n(109);function normalizePagePath(e){let t=/^\/index(\/|$)/.test(e)&&!(0,i.isDynamicRoute)(e)?"/index"+e:"/"===e?"/index":(0,r.ensureLeadingSlash)(e);{let{posix:e}=n(1017),r=e.normalize(t);if(r!==t)throw new o.NormalizeError("Requested and resolved page mismatch: "+t+" "+r)}return t}},9153:(e,t)=>{function normalizePathSep(e){return e.replace(/\\/g,"/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathSep",{enumerable:!0,get:function(){return normalizePathSep}})},8410:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getSortedRoutes:function(){return r.getSortedRoutes},isDynamicRoute:function(){return i.isDynamicRoute}});let r=n(2677),i=n(9203)},9203:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return isDynamicRoute}});let n=/\/\[[^/]+?\](?=\/|$)/;function isDynamicRoute(e){return n.test(e)}},2677:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSortedRoutes",{enumerable:!0,get:function(){return getSortedRoutes}});let UrlNode=class UrlNode{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");let t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);let n=t.map(t=>this.children.get(t)._smoosh(""+e+t+"/")).reduce((e,t)=>[...e,...t],[]);if(null!==this.slugName&&n.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){let t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").');n.unshift(t)}return null!==this.restSlugName&&n.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&n.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),n}_insert(e,t,n){if(0===e.length){this.placeholder=!1;return}if(n)throw Error("Catch-all must be the last part of the URL.");let r=e[0];if(r.startsWith("[")&&r.endsWith("]")){let i=r.slice(1,-1),o=!1;if(i.startsWith("[")&&i.endsWith("]")&&(i=i.slice(1,-1),o=!0),i.startsWith("...")&&(i=i.substring(3),n=!0),i.startsWith("[")||i.endsWith("]"))throw Error("Segment names may not start or end with extra brackets ('"+i+"').");if(i.startsWith("."))throw Error("Segment names may not start with erroneous periods ('"+i+"').");function handleSlug(e,n){if(null!==e&&e!==n)throw Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+n+"').");t.forEach(e=>{if(e===n)throw Error('You cannot have the same slug name "'+n+'" repeat within a single dynamic path');if(e.replace(/\W/g,"")===r.replace(/\W/g,""))throw Error('You cannot have the slug names "'+e+'" and "'+n+'" differ only by non-word symbols within a single dynamic path')}),t.push(n)}if(n){if(o){if(null!=this.restSlugName)throw Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).');handleSlug(this.optionalRestSlugName,i),this.optionalRestSlugName=i,r="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").');handleSlug(this.restSlugName,i),this.restSlugName=i,r="[...]"}}else{if(o)throw Error('Optional route parameters are not yet supported ("'+e[0]+'").');handleSlug(this.slugName,i),this.slugName=i,r="[]"}}this.children.has(r)||this.children.set(r,new UrlNode),this.children.get(r)._insert(e.slice(1),t,n)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}};function getSortedRoutes(e){let t=new UrlNode;return e.forEach(e=>t.insert(e)),t.smoosh()}},676:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return isError},getProperError:function(){return getProperError}});let r=n(5585);function isError(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function getProperError(e){return isError(e)?e:Error((0,r.isPlainObject)(e)?JSON.stringify(e):e+"")}},5955:(e,t)=>{Object.defineProperty(t,"Z",{enumerable:!0,get:function(){return prettyBytes}});let n=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],toLocaleString=(e,t)=>{let n=e;return"string"==typeof t?n=e.toLocaleString(t):!0===t&&(n=e.toLocaleString()),n};function prettyBytes(e,t){if(!Number.isFinite(e))throw TypeError(`Expected a finite number, got ${typeof e}: ${e}`);if((t=Object.assign({},t)).signed&&0===e)return" 0 B";let r=e<0,i=r?"-":t.signed?"+":"";if(r&&(e=-e),e<1){let n=toLocaleString(e,t.locale);return i+n+" B"}let o=Math.min(Math.floor(Math.log10(e)/3),n.length-1);e=Number((e/Math.pow(1e3,o)).toPrecision(3));let l=toLocaleString(e,t.locale),s=n[o];return i+l+" "+s}},7093:(e,t,n)=>{e.exports=n(2785)},3112:(e,t,n)=>{e.exports=n(7093).vendored.contexts.HtmlContext},5778:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getPageFiles",{enumerable:!0,get:function(){return getPageFiles}});let r=n(3035),i=n(5909);function getPageFiles(e,t){let n=(0,r.denormalizePagePath)((0,i.normalizePagePath)(t));return e.pages[n]||(console.warn(`Could not find files for ${n} in .next/build-manifest.json`),[])}},9630:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ESCAPE_REGEX:function(){return r},htmlEscapeJsonString:function(){return htmlEscapeJsonString}});let n={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},r=/[&><\u2028\u2029]/g;function htmlEscapeJsonString(e){return e.replace(r,e=>n[e])}},733:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{isBlockedPage:function(){return isBlockedPage},cleanAmpPath:function(){return cleanAmpPath},debounce:function(){return debounce}});let r=n(2338);function isBlockedPage(e){return r.BLOCKED_PAGES.includes(e)}function cleanAmpPath(e){return e.match(/\?amp=(y|yes|true|1)/)&&(e=e.replace(/\?amp=(y|yes|true|1)&?/,"?")),e.match(/&=(y|yes|true|1)/)&&(e=e.replace(/&=(y|yes|true|1)/,"")),e=e.replace(/\?$/,"")}function debounce(e,t,n=1/0){let r,i,o;let l=0,s=0;function run(){let a=Date.now(),u=s+t-a;u<=0||l+n>=a?(r=void 0,e.apply(o,i)):r=setTimeout(run,u)}return function(...e){i=e,o=this,s=Date.now(),void 0===r&&(l=s,r=setTimeout(run,t))}}}}; \ No newline at end of file diff --git a/FE/.next/server/chunks/337.js b/FE/.next/server/chunks/337.js new file mode 100644 index 0000000000..e513f0ec91 --- /dev/null +++ b/FE/.next/server/chunks/337.js @@ -0,0 +1 @@ +"use strict";exports.id=337,exports.ids=[337],exports.modules={1337:(e,t,p)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return App}});let l=p(167),a=l._(p(6689)),o=p(109);async function appGetInitialProps(e){let{Component:t,ctx:p}=e,l=await (0,o.loadGetInitialProps)(t,p);return{pageProps:l}}let App=class App extends a.default.Component{render(){let{Component:e,pageProps:t}=this.props;return a.default.createElement(e,t)}};App.origGetInitialProps=appGetInitialProps,App.getInitialProps=appGetInitialProps,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}}; \ No newline at end of file diff --git a/FE/.next/server/chunks/450.js b/FE/.next/server/chunks/450.js new file mode 100644 index 0000000000..87c9853169 --- /dev/null +++ b/FE/.next/server/chunks/450.js @@ -0,0 +1 @@ +"use strict";exports.id=450,exports.ids=[450],exports.modules={1323:(e,t)=>{Object.defineProperty(t,"l",{enumerable:!0,get:function(){return function hoist(e,t){return t in e?e[t]:"then"in e&&"function"==typeof e.then?e.then(e=>hoist(e,t)):"function"==typeof e&&"default"===t?e:void 0}}})},5244:(e,t)=>{var n;Object.defineProperty(t,"x",{enumerable:!0,get:function(){return n}}),function(e){e.PAGES="PAGES",e.PAGES_API="PAGES_API",e.APP_PAGE="APP_PAGE",e.APP_ROUTE="APP_ROUTE"}(n||(n={}))}}; \ No newline at end of file diff --git a/FE/.next/server/chunks/514.js b/FE/.next/server/chunks/514.js new file mode 100644 index 0000000000..cf08ec0a26 --- /dev/null +++ b/FE/.next/server/chunks/514.js @@ -0,0 +1 @@ +"use strict";exports.id=514,exports.ids=[514],exports.modules={109:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),function(e,r){for(var t in r)Object.defineProperty(e,t,{enumerable:!0,get:r[t]})}(r,{WEB_VITALS:function(){return t},execOnce:function(){return execOnce},isAbsoluteUrl:function(){return isAbsoluteUrl},getLocationOrigin:function(){return getLocationOrigin},getURL:function(){return getURL},getDisplayName:function(){return getDisplayName},isResSent:function(){return isResSent},normalizeRepeatedSlashes:function(){return normalizeRepeatedSlashes},loadGetInitialProps:function(){return loadGetInitialProps},SP:function(){return o},ST:function(){return i},DecodeError:function(){return DecodeError},NormalizeError:function(){return NormalizeError},PageNotFoundError:function(){return PageNotFoundError},MissingStaticPage:function(){return MissingStaticPage},MiddlewareNotFoundError:function(){return MiddlewareNotFoundError},stringifyError:function(){return stringifyError}});let t=["CLS","FCP","FID","INP","LCP","TTFB"];function execOnce(e){let r,t=!1;return function(){for(var n=arguments.length,o=Array(n),i=0;in.test(e);function getLocationOrigin(){let{protocol:e,hostname:r,port:t}=window.location;return e+"//"+r+(t?":"+t:"")}function getURL(){let{href:e}=window.location,r=getLocationOrigin();return e.substring(r.length)}function getDisplayName(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function isResSent(e){return e.finished||e.headersSent}function normalizeRepeatedSlashes(e){let r=e.split("?"),t=r[0];return t.replace(/\\/g,"/").replace(/\/\/+/g,"/")+(r[1]?"?"+r.slice(1).join("?"):"")}async function loadGetInitialProps(e,r){let t=r.res||r.ctx&&r.ctx.res;if(!e.getInitialProps)return r.ctx&&r.Component?{pageProps:await loadGetInitialProps(r.Component,r.ctx)}:{};let n=await e.getInitialProps(r);if(t&&isResSent(t))return n;if(!n){let r='"'+getDisplayName(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.';throw Error(r)}return n}let o="undefined"!=typeof performance,i=o&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);let DecodeError=class DecodeError extends Error{};let NormalizeError=class NormalizeError extends Error{};let PageNotFoundError=class PageNotFoundError extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}};let MissingStaticPage=class MissingStaticPage extends Error{constructor(e,r){super(),this.message="Failed to load static file for page: "+e+" "+r}};let MiddlewareNotFoundError=class MiddlewareNotFoundError extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}};function stringifyError(e){return JSON.stringify({message:e.message,stack:e.stack})}},167:(e,r)=>{r._=r._interop_require_default=function(e){return e&&e.__esModule?e:{default:e}}}}; \ No newline at end of file diff --git a/FE/.next/server/chunks/908.js b/FE/.next/server/chunks/908.js new file mode 100644 index 0000000000..ac8bb08f31 --- /dev/null +++ b/FE/.next/server/chunks/908.js @@ -0,0 +1 @@ +"use strict";exports.id=908,exports.ids=[908],exports.modules={6908:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return Error}});let r=n(167),l=r._(n(6689)),o=r._(n(9201)),a={400:"Bad Request",404:"This page could not be found",405:"Method Not Allowed",500:"Internal Server Error"};function _getInitialProps(e){let{res:t,err:n}=e,r=t&&t.statusCode?t.statusCode:n?n.statusCode:404;return{statusCode:r}}let d={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{lineHeight:"48px"},h1:{display:"inline-block",margin:"0 20px 0 0",paddingRight:23,fontSize:24,fontWeight:500,verticalAlign:"top"},h2:{fontSize:14,fontWeight:400,lineHeight:"28px"},wrap:{display:"inline-block"}};let Error=class Error extends l.default.Component{render(){let{statusCode:e,withDarkMode:t=!0}=this.props,n=this.props.title||a[e]||"An unexpected error has occurred";return l.default.createElement("div",{style:d.error},l.default.createElement(o.default,null,l.default.createElement("title",null,e?e+": "+n:"Application error: a client-side exception has occurred")),l.default.createElement("div",{style:d.desc},l.default.createElement("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}"+(t?"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}":"")}}),e?l.default.createElement("h1",{className:"next-error-h1",style:d.h1},e):null,l.default.createElement("div",{style:d.wrap},l.default.createElement("h2",{style:d.h2},this.props.title||e?n:l.default.createElement(l.default.Fragment,null,"Application error: a client-side exception has occurred (see the browser console for more information)"),"."))))}};Error.displayName="ErrorPage",Error.getInitialProps=_getInitialProps,Error.origGetInitialProps=_getInitialProps,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7543:(e,t)=>{function isInAmpMode(e){let{ampFirst:t=!1,hybrid:n=!1,hasQuery:r=!1}=void 0===e?{}:e;return t||n&&r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return isInAmpMode}})},9201:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{defaultHead:function(){return defaultHead},default:function(){return _default}});let r=n(167),l=n(8760),o=l._(n(6689)),a=r._(n(8955)),d=n(8039),i=n(1988),u=n(7543);function defaultHead(e){void 0===e&&(e=!1);let t=[o.default.createElement("meta",{charSet:"utf-8"})];return e||t.push(o.default.createElement("meta",{name:"viewport",content:"width=device-width"})),t}function onlyReactElement(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===o.default.Fragment?e.concat(o.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}n(1905);let f=["name","httpEquiv","charSet","itemProp"];function reduceComponents(e,t){let{inAmpMode:n}=t;return e.reduce(onlyReactElement,[]).reverse().concat(defaultHead(n).reverse()).filter(function(){let e=new Set,t=new Set,n=new Set,r={};return l=>{let o=!0,a=!1;if(l.key&&"number"!=typeof l.key&&l.key.indexOf("$")>0){a=!0;let t=l.key.slice(l.key.indexOf("$")+1);e.has(t)?o=!1:e.add(t)}switch(l.type){case"title":case"base":t.has(l.type)?o=!1:t.add(l.type);break;case"meta":for(let e=0,t=f.length;e{let r=e.key||t;if(!n&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){let t={...e.props||{}};return t["data-href"]=t.href,t.href=void 0,t["data-optimized-fonts"]=!0,o.default.cloneElement(e,t)}return o.default.cloneElement(e,{key:r})})}let _default=function(e){let{children:t}=e,n=(0,o.useContext)(d.AmpStateContext),r=(0,o.useContext)(i.HeadManagerContext);return o.default.createElement(a.default,{reduceComponentsToState:reduceComponents,headManager:r,inAmpMode:(0,u.isInAmpMode)(n)},t)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8955:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return SideEffect}});let r=n(6689),useClientOnlyLayoutEffect=()=>{},useClientOnlyEffect=()=>{};function SideEffect(e){var t;let{headManager:n,reduceComponentsToState:l}=e;function emitChange(){if(n&&n.mountedInstances){let t=r.Children.toArray(Array.from(n.mountedInstances).filter(Boolean));n.updateHead(l(t,e))}}return null==n||null==(t=n.mountedInstances)||t.add(e.children),emitChange(),useClientOnlyLayoutEffect(()=>{var t;return null==n||null==(t=n.mountedInstances)||t.add(e.children),()=>{var t;null==n||null==(t=n.mountedInstances)||t.delete(e.children)}}),useClientOnlyLayoutEffect(()=>(n&&(n._pendingUpdate=emitChange),()=>{n&&(n._pendingUpdate=emitChange)})),useClientOnlyEffect(()=>(n&&n._pendingUpdate&&(n._pendingUpdate(),n._pendingUpdate=null),()=>{n&&n._pendingUpdate&&(n._pendingUpdate(),n._pendingUpdate=null)})),null}},1905:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return warnOnce}});let warnOnce=e=>{}},8039:(e,t,n)=>{e.exports=n(7093).vendored.contexts.AmpContext},1988:(e,t,n)=>{e.exports=n(7093).vendored.contexts.HeadManagerContext},8760:(e,t)=>{function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_getRequireWildcardCache=function(e){return e?n:t})(e)}t._=t._interop_require_wildcard=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=_getRequireWildcardCache(t);if(n&&n.has(e))return n.get(e);var r={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var a=l?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(r,o,a):r[o]=e[o]}return r.default=e,n&&n.set(e,r),r}}}; \ No newline at end of file diff --git a/FE/.next/server/chunks/font-manifest.json b/FE/.next/server/chunks/font-manifest.json new file mode 100644 index 0000000000..0637a088a0 --- /dev/null +++ b/FE/.next/server/chunks/font-manifest.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/FE/.next/server/font-manifest.json b/FE/.next/server/font-manifest.json new file mode 100644 index 0000000000..0637a088a0 --- /dev/null +++ b/FE/.next/server/font-manifest.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/FE/.next/server/middleware-build-manifest.js b/FE/.next/server/middleware-build-manifest.js new file mode 100644 index 0000000000..0de0fbeb40 --- /dev/null +++ b/FE/.next/server/middleware-build-manifest.js @@ -0,0 +1 @@ +self.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-c67a75d1b6f99dc8.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:["static/KxjiK-bHBzomz58T3BYAs/_buildManifest.js","static/KxjiK-bHBzomz58T3BYAs/_ssgManifest.js"],rootMainFiles:[],pages:{"/HomePage":["static/chunks/webpack-3efa74f27f48abae.js","static/chunks/framework-825c16b9e70f8bdd.js","static/chunks/main-6ed36289ebba5a2e.js","static/css/8d5678ec7ae84e5b.css","static/chunks/66-507ab0653aca269b.js","static/chunks/731-413b078c5ace66cb.js","static/chunks/pages/HomePage-ab6b2d715f2e5d4c.js"],"/ProductPage":["static/chunks/webpack-3efa74f27f48abae.js","static/chunks/framework-825c16b9e70f8bdd.js","static/chunks/main-6ed36289ebba5a2e.js","static/chunks/349f80dd-7ce8c51c11c8334d.js","static/chunks/66-507ab0653aca269b.js","static/chunks/402-0641fa14696cfe34.js","static/chunks/pages/ProductPage-ee3c7943368d0ecd.js"],"/ReviewPage":["static/chunks/webpack-3efa74f27f48abae.js","static/chunks/framework-825c16b9e70f8bdd.js","static/chunks/main-6ed36289ebba5a2e.js","static/chunks/66-507ab0653aca269b.js","static/chunks/pages/ReviewPage-9b6e573c15fc74c5.js"],"/_app":["static/chunks/webpack-3efa74f27f48abae.js","static/chunks/framework-825c16b9e70f8bdd.js","static/chunks/main-6ed36289ebba5a2e.js","static/chunks/pages/_app-ee11eff38c423302.js"],"/_error":["static/chunks/webpack-3efa74f27f48abae.js","static/chunks/framework-825c16b9e70f8bdd.js","static/chunks/main-6ed36289ebba5a2e.js","static/chunks/pages/_error-52dc6c3eb610e871.js"]},ampFirstPages:[]}; \ No newline at end of file diff --git a/FE/.next/server/middleware-manifest.json b/FE/.next/server/middleware-manifest.json new file mode 100644 index 0000000000..57712aad39 --- /dev/null +++ b/FE/.next/server/middleware-manifest.json @@ -0,0 +1,6 @@ +{ + "sortedMiddleware": [], + "middleware": {}, + "functions": {}, + "version": 2 +} \ No newline at end of file diff --git a/FE/.next/server/middleware-react-loadable-manifest.js b/FE/.next/server/middleware-react-loadable-manifest.js new file mode 100644 index 0000000000..170749eca8 --- /dev/null +++ b/FE/.next/server/middleware-react-loadable-manifest.js @@ -0,0 +1 @@ +self.__REACT_LOADABLE_MANIFEST="{}"; \ No newline at end of file diff --git a/FE/.next/server/next-font-manifest.js b/FE/.next/server/next-font-manifest.js new file mode 100644 index 0000000000..8267a5082a --- /dev/null +++ b/FE/.next/server/next-font-manifest.js @@ -0,0 +1 @@ +self.__NEXT_FONT_MANIFEST='{"pages":{},"app":{},"appUsingSizeAdjust":false,"pagesUsingSizeAdjust":false}'; \ No newline at end of file diff --git a/FE/.next/server/next-font-manifest.json b/FE/.next/server/next-font-manifest.json new file mode 100644 index 0000000000..25f78e72b3 --- /dev/null +++ b/FE/.next/server/next-font-manifest.json @@ -0,0 +1 @@ +{"pages":{},"app":{},"appUsingSizeAdjust":false,"pagesUsingSizeAdjust":false} \ No newline at end of file diff --git a/FE/.next/server/pages-manifest.json b/FE/.next/server/pages-manifest.json new file mode 100644 index 0000000000..b07c475e21 --- /dev/null +++ b/FE/.next/server/pages-manifest.json @@ -0,0 +1,8 @@ +{ + "/_app": "pages/_app.js", + "/_error": "pages/_error.js", + "/HomePage": "pages/HomePage.js", + "/ReviewPage": "pages/ReviewPage.js", + "/ProductPage": "pages/ProductPage.js", + "/_document": "pages/_document.js" +} \ No newline at end of file diff --git a/FE/.next/server/pages/HomePage.js b/FE/.next/server/pages/HomePage.js new file mode 100644 index 0000000000..6f16478f46 --- /dev/null +++ b/FE/.next/server/pages/HomePage.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=544,e.ids=[544,888,660],e.modules={9883:(e,t,a)=>{"use strict";a.a(e,async(e,r)=>{try{a.r(t),a.d(t,{config:()=>x,default:()=>p,getServerSideProps:()=>m,getStaticPaths:()=>_,getStaticProps:()=>g,reportWebVitals:()=>P,routeModule:()=>v,unstable_getServerProps:()=>y,unstable_getServerSideProps:()=>S,unstable_getStaticParams:()=>C,unstable_getStaticPaths:()=>j,unstable_getStaticProps:()=>b});var s=a(7093),o=a(5244),n=a(1323),c=a(9209),l=a.n(c),i=a(1337),d=a.n(i),u=a(8065),h=e([u]);u=(h.then?(await h)():h)[0];let p=(0,n.l)(u,"default"),g=(0,n.l)(u,"getStaticProps"),_=(0,n.l)(u,"getStaticPaths"),m=(0,n.l)(u,"getServerSideProps"),x=(0,n.l)(u,"config"),P=(0,n.l)(u,"reportWebVitals"),b=(0,n.l)(u,"unstable_getStaticProps"),j=(0,n.l)(u,"unstable_getStaticPaths"),C=(0,n.l)(u,"unstable_getStaticParams"),y=(0,n.l)(u,"unstable_getServerProps"),S=(0,n.l)(u,"unstable_getServerSideProps"),v=new s.PagesRouteModule({definition:{kind:o.x.PAGES,page:"/HomePage",pathname:"/HomePage",bundlePath:"",filename:""},components:{App:d(),Document:l()},userland:u});r()}catch(e){r(e)}})},1207:(e,t,a)=>{"use strict";a.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var r=a(997),s=a(6689);a(8499),a(9090),a(399);let __WEBPACK_DEFAULT_EXPORT__=function({onCategoryChange:e}){let[t,a]=(0,s.useState)("all"),handleCategoryChange=t=>{a(t),e(t)};return(0,r.jsxs)("div",{className:"filter-by-category",children:[r.jsx("h4",{children:"Filter by Category"}),(0,r.jsxs)("div",{className:"dropdown",children:[r.jsx("button",{className:"btn btn-secondary dropdown-toggle",type:"button",id:"categoryDropdownButton","data-bs-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",children:"all"===t?"Select Category":t.charAt(0).toUpperCase()+t.slice(1)}),(0,r.jsxs)("div",{className:"dropdown-menu","aria-labelledby":"categoryDropdownButton",children:[r.jsx("button",{className:"dropdown-item",onClick:()=>handleCategoryChange("all"),children:"All"}),r.jsx("button",{className:"dropdown-item",onClick:()=>handleCategoryChange("beauty"),children:"Beauty"}),r.jsx("button",{className:"dropdown-item",onClick:()=>handleCategoryChange("jewelry"),children:"Jewelry"}),r.jsx("button",{className:"dropdown-item",onClick:()=>handleCategoryChange("garden"),children:"Garden"}),r.jsx("button",{className:"dropdown-item",onClick:()=>handleCategoryChange("games"),children:"Games"}),r.jsx("button",{className:"dropdown-item",onClick:()=>handleCategoryChange("home"),children:"Home"})]})]})]})}},4405:(e,t,a)=>{"use strict";a.a(e,async(e,r)=>{try{a.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var s=a(997),o=a(6689),n=a(9648);a(2617);var c=e([n]);n=(c.then?(await c)():c)[0];let __WEBPACK_DEFAULT_EXPORT__=({searchQuery:e,currentPage:t,sortOption:a,category:r,onPageChange:c})=>{let[l,i]=(0,o.useState)([]),[d,u]=(0,o.useState)(1);(0,o.useEffect)(()=>{let fetchProducts=async()=>{try{let s=await n.default.get("http://localhost:5000/products",{params:{page:t,limit:9,query:e,sort:a,category:"all"===r?void 0:r}});i(s.data.products),u(Math.ceil(s.data.total/9))}catch(e){console.error("Error fetching products:",e)}};fetchProducts()},[t,e,a,r]);let handlePageChange=e=>{c(e)};return(0,s.jsxs)("div",{children:[s.jsx("div",{className:"product-list",children:s.jsx("div",{className:"product-grid",children:l.length?l.map(e=>(0,s.jsxs)("div",{className:"product-box",children:[s.jsx("img",{src:e.image,alt:e.name,className:"product-image"}),(0,s.jsxs)("div",{className:"product-info",children:[s.jsx("h3",{children:e.name}),(0,s.jsxs)("p",{children:["Category: ",e.category]}),(0,s.jsxs)("p",{children:[" Price: $",e.price]})]})]},e._id)):s.jsx("p",{children:"No products found"})})}),s.jsx("footer",{children:s.jsx("div",{className:"pagination",children:[...Array(d)].map((e,a)=>s.jsx("button",{className:`pagination-button ${t===a+1?"active":""}`,onClick:()=>handlePageChange(a+1),children:a+1},a))})})]})};r()}catch(e){r(e)}})},3406:(e,t,a)=>{"use strict";a.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var r=a(997),s=a(6689);let __WEBPACK_DEFAULT_EXPORT__=({onSearch:e})=>{let[t,a]=(0,s.useState)("");return(0,r.jsxs)("div",{className:"input-group",children:[r.jsx("div",{className:"form-outline","data-mdb-input-init":!0,children:r.jsx("input",{type:"search",id:"form1",className:"form-control",value:t,onChange:e=>{a(e.target.value)}})}),r.jsx("button",{type:"button",onClick:()=>{e(t)},className:"search-button",children:" Search"})]})}},8078:(e,t,a)=>{"use strict";a.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var r=a(997),s=a(6689);a(3856),a(9090),a(399);let __WEBPACK_DEFAULT_EXPORT__=function({onSort:e}){let[t,a]=(0,s.useState)("asc"),handleSortChange=t=>{a(t),e(t)};return(0,r.jsxs)("div",{className:"sort",children:[r.jsx("h4",{children:"Sort by Price"}),(0,r.jsxs)("div",{className:"dropdown",children:[r.jsx("button",{className:"btn btn-secondary dropdown-toggle",type:"button",id:"dropdownMenuButton","data-bs-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",children:"asc"===t?"Price: Low to High":"Price: High to Low"}),(0,r.jsxs)("div",{className:"dropdown-menu","aria-labelledby":"dropdownMenuButton",children:[r.jsx("button",{className:"dropdown-item",onClick:()=>handleSortChange("asc"),children:"Price: Low to High"}),r.jsx("button",{className:"dropdown-item",onClick:()=>handleSortChange("desc"),children:"Price: High to Low"})]})]})]})}},8065:(e,t,a)=>{"use strict";a.a(e,async(e,r)=>{try{a.r(t),a.d(t,{default:()=>__WEBPACK_DEFAULT_EXPORT__});var s=a(997),o=a(6689),n=a(4405),c=a(3406),l=a(1207),i=a(8078),d=e([n]);n=(d.then?(await d)():d)[0];let __WEBPACK_DEFAULT_EXPORT__=()=>{let[e,t]=(0,o.useState)(""),[a,r]=(0,o.useState)(1),[d,u]=(0,o.useState)("asc"),[h,p]=(0,o.useState)("all"),[g,_]=(0,o.useState)([]),[m,x]=(0,o.useState)([]);return(0,o.useEffect)(()=>{let fetchProducts=async()=>{try{let e=await fetch(`http://localhost:5000/products?page=${a}&limit=9&category=${h}&sort=${d}`),t=await e.json();_(t.products||[]),x(t.products||[])}catch(e){console.error("Error fetching products:",e)}};fetchProducts()},[d,h,a]),(0,o.useEffect)(()=>{"all"===h?x(g):x(g.filter(e=>e.category.toLowerCase()===h.toLowerCase()))},[h,g]),(0,s.jsxs)("div",{className:"home-page",children:[s.jsx("h2",{className:"page-heading",children:"Products"}),s.jsx("div",{className:"filter-bar",children:(0,s.jsxs)("header",{children:[s.jsx(c.Z,{onSearch:e=>{t(e),r(1)}}),s.jsx(l.Z,{onCategoryChange:e=>{p(e),r(1)}}),s.jsx(i.Z,{onSort:e=>{u(e)}})]})}),s.jsx("div",{className:"product-list",children:s.jsx(n.Z,{products:m,sortOption:d,searchQuery:e,currentPage:a,category:h,onPageChange:e=>{r(e)}})})]})};r()}catch(e){r(e)}})},9090:()=>{},2617:()=>{},8499:()=>{},3856:()=>{},399:e=>{"use strict";e.exports=require("bootstrap/dist/js/bootstrap.bundle.min.js")},2785:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/pages.runtime.prod.js")},6689:e=>{"use strict";e.exports=require("react")},997:e=>{"use strict";e.exports=require("react/jsx-runtime")},9648:e=>{"use strict";e.exports=import("axios")},1017:e=>{"use strict";e.exports=require("path")}};var t=require("../webpack-runtime.js");t.C(e);var __webpack_exec__=e=>t(t.s=e),a=t.X(0,[514,209,337,450],()=>__webpack_exec__(9883));module.exports=a})(); \ No newline at end of file diff --git a/FE/.next/server/pages/HomePage.js.nft.json b/FE/.next/server/pages/HomePage.js.nft.json new file mode 100644 index 0000000000..53c5afce5d --- /dev/null +++ b/FE/.next/server/pages/HomePage.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../webpack-runtime.js","../chunks/514.js","../chunks/209.js","../chunks/337.js","../chunks/450.js","../../../package.json"]} \ No newline at end of file diff --git a/FE/.next/server/pages/ProductPage.js b/FE/.next/server/pages/ProductPage.js new file mode 100644 index 0000000000..f72a63c476 --- /dev/null +++ b/FE/.next/server/pages/ProductPage.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=912,e.ids=[912,888,660],e.modules={5886:(e,t,r)=>{r.a(e,async(e,a)=>{try{r.r(t),r.d(t,{config:()=>S,default:()=>_,getServerSideProps:()=>h,getStaticPaths:()=>g,getStaticProps:()=>P,reportWebVitals:()=>x,routeModule:()=>y,unstable_getServerProps:()=>f,unstable_getServerSideProps:()=>w,unstable_getStaticParams:()=>v,unstable_getStaticPaths:()=>b,unstable_getStaticProps:()=>m});var s=r(7093),c=r(5244),i=r(1323),o=r(9209),u=r.n(o),l=r(1337),n=r.n(l),p=r(4677),d=e([p]);p=(d.then?(await d)():d)[0];let _=(0,i.l)(p,"default"),P=(0,i.l)(p,"getStaticProps"),g=(0,i.l)(p,"getStaticPaths"),h=(0,i.l)(p,"getServerSideProps"),S=(0,i.l)(p,"config"),x=(0,i.l)(p,"reportWebVitals"),m=(0,i.l)(p,"unstable_getStaticProps"),b=(0,i.l)(p,"unstable_getStaticPaths"),v=(0,i.l)(p,"unstable_getStaticParams"),f=(0,i.l)(p,"unstable_getServerProps"),w=(0,i.l)(p,"unstable_getServerSideProps"),y=new s.PagesRouteModule({definition:{kind:c.x.PAGES,page:"/ProductPage",pathname:"/ProductPage",bundlePath:"",filename:""},components:{App:n(),Document:u()},userland:p});a()}catch(e){a(e)}})},4677:(e,t,r)=>{r.a(e,async(e,a)=>{try{r.r(t),r.d(t,{default:()=>__WEBPACK_DEFAULT_EXPORT__});var s=r(997),c=r(6689),i=r(6022),o=r(7537),u=r(4661),l=e([o]);o=(l.then?(await l)():l)[0];let __WEBPACK_DEFAULT_EXPORT__=function(){let{productId:e}=(0,u.useParams)(),t=(0,i.useDispatch)(),r=(0,i.useSelector)(e=>e.product.product);return(0,c.useEffect)(()=>{t((0,o.M)(e))},[t,e]),(0,s.jsxs)("div",{className:"product-page",children:[s.jsx("h1",{children:r?.name}),s.jsx("p",{children:r?.description}),(0,s.jsxs)("p",{children:["Price: $",r?.price]})]})};a()}catch(e){a(e)}})},7537:(e,t,r)=>{r.a(e,async(e,a)=>{try{r.d(t,{M:()=>fetchProduct});var s=r(9648),c=r(6452),i=e([s]);s=(i.then?(await i)():i)[0];let fetchProduct=e=>async t=>{try{let r=await s.default.get(`/api/products/${e}`);t({type:c.w,payload:r.data})}catch(e){console.error(e)}};a()}catch(e){a(e)}})},6452:(e,t,r)=>{r.d(t,{w:()=>a});let a="FETCH_PRODUCT"},2785:e=>{e.exports=require("next/dist/compiled/next-server/pages.runtime.prod.js")},6689:e=>{e.exports=require("react")},6022:e=>{e.exports=require("react-redux")},4661:e=>{e.exports=require("react-router-dom")},997:e=>{e.exports=require("react/jsx-runtime")},9648:e=>{e.exports=import("axios")},1017:e=>{e.exports=require("path")}};var t=require("../webpack-runtime.js");t.C(e);var __webpack_exec__=e=>t(t.s=e),r=t.X(0,[514,209,337,450],()=>__webpack_exec__(5886));module.exports=r})(); \ No newline at end of file diff --git a/FE/.next/server/pages/ProductPage.js.nft.json b/FE/.next/server/pages/ProductPage.js.nft.json new file mode 100644 index 0000000000..53c5afce5d --- /dev/null +++ b/FE/.next/server/pages/ProductPage.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../webpack-runtime.js","../chunks/514.js","../chunks/209.js","../chunks/337.js","../chunks/450.js","../../../package.json"]} \ No newline at end of file diff --git a/FE/.next/server/pages/ReviewPage.js b/FE/.next/server/pages/ReviewPage.js new file mode 100644 index 0000000000..476fc386aa --- /dev/null +++ b/FE/.next/server/pages/ReviewPage.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=560,e.ids=[560,888,660],e.modules={4218:(e,t,r)=>{r.a(e,async(e,a)=>{try{r.r(t),r.d(t,{config:()=>_,default:()=>v,getServerSideProps:()=>g,getStaticPaths:()=>p,getStaticProps:()=>w,reportWebVitals:()=>x,routeModule:()=>b,unstable_getServerProps:()=>S,unstable_getServerSideProps:()=>y,unstable_getStaticParams:()=>m,unstable_getStaticPaths:()=>R,unstable_getStaticProps:()=>P});var i=r(7093),n=r(5244),s=r(1323),l=r(9209),c=r.n(l),d=r(1337),o=r.n(d),u=r(3908),h=e([u]);u=(h.then?(await h)():h)[0];let v=(0,s.l)(u,"default"),w=(0,s.l)(u,"getStaticProps"),p=(0,s.l)(u,"getStaticPaths"),g=(0,s.l)(u,"getServerSideProps"),_=(0,s.l)(u,"config"),x=(0,s.l)(u,"reportWebVitals"),P=(0,s.l)(u,"unstable_getStaticProps"),R=(0,s.l)(u,"unstable_getStaticPaths"),m=(0,s.l)(u,"unstable_getStaticParams"),S=(0,s.l)(u,"unstable_getServerProps"),y=(0,s.l)(u,"unstable_getServerSideProps"),b=new i.PagesRouteModule({definition:{kind:n.x.PAGES,page:"/ReviewPage",pathname:"/ReviewPage",bundlePath:"",filename:""},components:{App:o(),Document:c()},userland:u});a()}catch(e){a(e)}})},5560:(e,t,r)=>{r.a(e,async(e,a)=>{try{r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var i=r(997),n=r(6689),s=r(4237),l=e([s]);s=(l.then?(await l)():l)[0];let __WEBPACK_DEFAULT_EXPORT__=({productId:e})=>{let[t,r]=(0,n.useState)([]),[a,l]=(0,n.useState)({user:"",rating:"",review:""});(0,n.useEffect)(()=>{let getReviews=async()=>{try{let t=await (0,s.Bt)(e,1);r(t)}catch(e){console.error("Error fetching reviews:",e)}};getReviews()},[e]);let handleInputChange=e=>{let{name:t,value:r}=e.target;l({...a,[t]:r})},handleAddReview=async()=>{try{await (0,s.N_)(e,a),l({user:"",rating:"",review:""});let t=await (0,s.Bt)(e,1);r(t)}catch(e){console.error("Error adding review:",e)}},handleDeleteReview=async t=>{try{await (0,s.i0)(t);let a=await (0,s.Bt)(e,1);r(a)}catch(e){console.error("Error deleting review:",e)}};return(0,i.jsxs)("div",{children:[i.jsx("h3",{children:"Reviews"}),i.jsx("ul",{children:t.map(e=>(0,i.jsxs)("li",{children:[i.jsx("strong",{children:e.user})," - ",e.rating,"/5",i.jsx("p",{children:e.review}),i.jsx("button",{onClick:()=>handleDeleteReview(e.id),children:"Delete"})]},e.id))}),(0,i.jsxs)("div",{children:[i.jsx("h4",{children:"Add a Review"}),i.jsx("input",{type:"text",name:"user",value:a.user,onChange:handleInputChange,placeholder:"Your name"}),i.jsx("input",{type:"number",name:"rating",value:a.rating,onChange:handleInputChange,placeholder:"Rating (1-5)",min:"1",max:"5"}),i.jsx("textarea",{name:"review",value:a.review,onChange:handleInputChange,placeholder:"Your review"}),i.jsx("button",{onClick:handleAddReview,children:"Submit"})]})]})};a()}catch(e){a(e)}})},3908:(e,t,r)=>{r.a(e,async(e,a)=>{try{r.r(t),r.d(t,{default:()=>__WEBPACK_DEFAULT_EXPORT__});var i=r(997);r(6689);var n=r(5560),s=e([n]);n=(s.then?(await s)():s)[0];let __WEBPACK_DEFAULT_EXPORT__=function({productId:e}){return(0,i.jsxs)("div",{className:"review-page",children:[i.jsx("h1",{children:"Product Reviews"}),i.jsx(n.Z,{productId:e})]})};a()}catch(e){a(e)}})},4237:(e,t,r)=>{r.a(e,async(e,a)=>{try{r.d(t,{Bt:()=>fetchReviews,N_:()=>addReview,i0:()=>deleteReview});var i=r(9648),n=e([i]);i=(n.then?(await n)():n)[0];let addReview=async(e,t)=>{try{let r=await i.default.post(`/api/products/${e}/reviews`,t);return console.log("Review added:",r.data),r.data}catch(e){throw console.error("Error adding review:",e),e}},fetchReviews=async(e,t)=>{try{let r=await i.default.get(`/api/products/${e}/reviews`,{params:{page:t}});return console.log("Reviews:",r.data),r.data}catch(e){throw console.error("Error fetching reviews:",e),e}},deleteReview=async e=>{try{let t=await i.default.delete(`/api/reviews/${e}`);return console.log("Review deleted:",t.data),t.data}catch(e){throw console.error("Error deleting review:",e),e}};a()}catch(e){a(e)}})},2785:e=>{e.exports=require("next/dist/compiled/next-server/pages.runtime.prod.js")},6689:e=>{e.exports=require("react")},997:e=>{e.exports=require("react/jsx-runtime")},9648:e=>{e.exports=import("axios")},1017:e=>{e.exports=require("path")}};var t=require("../webpack-runtime.js");t.C(e);var __webpack_exec__=e=>t(t.s=e),r=t.X(0,[514,209,337,450],()=>__webpack_exec__(4218));module.exports=r})(); \ No newline at end of file diff --git a/FE/.next/server/pages/ReviewPage.js.nft.json b/FE/.next/server/pages/ReviewPage.js.nft.json new file mode 100644 index 0000000000..53c5afce5d --- /dev/null +++ b/FE/.next/server/pages/ReviewPage.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../webpack-runtime.js","../chunks/514.js","../chunks/209.js","../chunks/337.js","../chunks/450.js","../../../package.json"]} \ No newline at end of file diff --git a/FE/.next/server/pages/_app.js b/FE/.next/server/pages/_app.js new file mode 100644 index 0000000000..0163b4e284 --- /dev/null +++ b/FE/.next/server/pages/_app.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=888,e.ids=[888],e.modules={6689:e=>{e.exports=require("react")}};var r=require("../webpack-runtime.js");r.C(e);var __webpack_exec__=e=>r(r.s=e),_=r.X(0,[514,337],()=>__webpack_exec__(1337));module.exports=_})(); \ No newline at end of file diff --git a/FE/.next/server/pages/_app.js.nft.json b/FE/.next/server/pages/_app.js.nft.json new file mode 100644 index 0000000000..930f94cdcd --- /dev/null +++ b/FE/.next/server/pages/_app.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../webpack-runtime.js","../chunks/514.js","../chunks/337.js","../../../package.json","../../../node_modules/next/dist/pages/_app.js"]} \ No newline at end of file diff --git a/FE/.next/server/pages/_document.js b/FE/.next/server/pages/_document.js new file mode 100644 index 0000000000..57415713ed --- /dev/null +++ b/FE/.next/server/pages/_document.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=660,e.ids=[660,888],e.modules={2785:e=>{e.exports=require("next/dist/compiled/next-server/pages.runtime.prod.js")},6689:e=>{e.exports=require("react")},1017:e=>{e.exports=require("path")}};var r=require("../webpack-runtime.js");r.C(e);var __webpack_exec__=e=>r(r.s=e),s=r.X(0,[514,209],()=>__webpack_exec__(9209));module.exports=s})(); \ No newline at end of file diff --git a/FE/.next/server/pages/_document.js.nft.json b/FE/.next/server/pages/_document.js.nft.json new file mode 100644 index 0000000000..9bba343b73 --- /dev/null +++ b/FE/.next/server/pages/_document.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../webpack-runtime.js","../chunks/514.js","../chunks/209.js","../../../package.json","../../../node_modules/next/dist/pages/_document.js"]} \ No newline at end of file diff --git a/FE/.next/server/pages/_error.js b/FE/.next/server/pages/_error.js new file mode 100644 index 0000000000..bcf5976f6b --- /dev/null +++ b/FE/.next/server/pages/_error.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=820,e.ids=[820,888,660],e.modules={6051:(e,t,r)=>{r.r(t),r.d(t,{config:()=>d,default:()=>c,getServerSideProps:()=>S,getStaticPaths:()=>g,getStaticProps:()=>_,reportWebVitals:()=>P,routeModule:()=>f,unstable_getServerProps:()=>x,unstable_getServerSideProps:()=>h,unstable_getStaticParams:()=>v,unstable_getStaticPaths:()=>m,unstable_getStaticProps:()=>b});var a=r(7093),s=r(5244),i=r(1323),l=r(9209),o=r.n(l),n=r(1337),p=r.n(n),u=r(6908);let c=(0,i.l)(u,"default"),_=(0,i.l)(u,"getStaticProps"),g=(0,i.l)(u,"getStaticPaths"),S=(0,i.l)(u,"getServerSideProps"),d=(0,i.l)(u,"config"),P=(0,i.l)(u,"reportWebVitals"),b=(0,i.l)(u,"unstable_getStaticProps"),m=(0,i.l)(u,"unstable_getStaticPaths"),v=(0,i.l)(u,"unstable_getStaticParams"),x=(0,i.l)(u,"unstable_getServerProps"),h=(0,i.l)(u,"unstable_getServerSideProps"),f=new a.PagesRouteModule({definition:{kind:s.x.PAGES,page:"/_error",pathname:"/_error",bundlePath:"",filename:""},components:{App:p(),Document:o()},userland:u})},2785:e=>{e.exports=require("next/dist/compiled/next-server/pages.runtime.prod.js")},6689:e=>{e.exports=require("react")},1017:e=>{e.exports=require("path")}};var t=require("../webpack-runtime.js");t.C(e);var __webpack_exec__=e=>t(t.s=e),r=t.X(0,[514,209,337,450,908],()=>__webpack_exec__(6051));module.exports=r})(); \ No newline at end of file diff --git a/FE/.next/server/pages/_error.js.nft.json b/FE/.next/server/pages/_error.js.nft.json new file mode 100644 index 0000000000..8356b4d40d --- /dev/null +++ b/FE/.next/server/pages/_error.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../webpack-runtime.js","../chunks/514.js","../chunks/209.js","../chunks/337.js","../chunks/450.js","../chunks/908.js"]} \ No newline at end of file diff --git a/FE/.next/server/webpack-runtime.js b/FE/.next/server/webpack-runtime.js new file mode 100644 index 0000000000..633edca258 --- /dev/null +++ b/FE/.next/server/webpack-runtime.js @@ -0,0 +1 @@ +(()=>{"use strict";var e={},_={};function __webpack_require__(r){var u=_[r];if(void 0!==u)return u.exports;var a=_[r]={exports:{}},t=!0;try{e[r](a,a.exports,__webpack_require__),t=!1}finally{t&&delete _[r]}return a.exports}__webpack_require__.m=e,(()=>{var e="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",_="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",r="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",resolveQueue=e=>{e&&!e.d&&(e.d=1,e.forEach(e=>e.r--),e.forEach(e=>e.r--?e.r++:e()))},wrapDeps=u=>u.map(u=>{if(null!==u&&"object"==typeof u){if(u[e])return u;if(u.then){var a=[];a.d=0,u.then(e=>{t[_]=e,resolveQueue(a)},e=>{t[r]=e,resolveQueue(a)});var t={};return t[e]=e=>e(a),t}}var o={};return o[e]=e=>{},o[_]=u,o});__webpack_require__.a=(u,a,t)=>{t&&((o=[]).d=1);var o,p,i,c,b=new Set,n=u.exports,l=new Promise((e,_)=>{c=_,i=e});l[_]=n,l[e]=e=>(o&&e(o),b.forEach(e),l.catch(e=>{})),u.exports=l,a(u=>{p=wrapDeps(u);var a,getResult=()=>p.map(e=>{if(e[r])throw e[r];return e[_]}),t=new Promise(_=>{(a=()=>_(getResult)).r=0;var fnQueue=e=>e!==o&&!b.has(e)&&(b.add(e),e&&!e.d&&(a.r++,e.push(a)));p.map(_=>_[e](fnQueue))});return a.r?t:getResult()},e=>(e?c(l[r]=e):i(n),resolveQueue(o))),o&&(o.d=0)}})(),__webpack_require__.n=e=>{var _=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(_,{a:_}),_},__webpack_require__.d=(e,_)=>{for(var r in _)__webpack_require__.o(_,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:_[r]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((_,r)=>(__webpack_require__.f[r](e,_),_),[])),__webpack_require__.u=e=>""+e+".js",__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.X=(e,_,r)=>{var u=_;r||(_=e,r=()=>__webpack_require__(__webpack_require__.s=u)),_.map(__webpack_require__.e,__webpack_require__);var a=r();return void 0===a?e:a},(()=>{var e={658:1},installChunk=_=>{var r=_.modules,u=_.ids,a=_.runtime;for(var t in r)__webpack_require__.o(r,t)&&(__webpack_require__.m[t]=r[t]);a&&a(__webpack_require__);for(var o=0;o{e[_]||(658!=_?installChunk(require("./chunks/"+__webpack_require__.u(_))):e[_]=1)},module.exports=__webpack_require__,__webpack_require__.C=installChunk})()})(); \ No newline at end of file diff --git a/FE/.next/static/KxjiK-bHBzomz58T3BYAs/_buildManifest.js b/FE/.next/static/KxjiK-bHBzomz58T3BYAs/_buildManifest.js new file mode 100644 index 0000000000..4eafad344d --- /dev/null +++ b/FE/.next/static/KxjiK-bHBzomz58T3BYAs/_buildManifest.js @@ -0,0 +1 @@ +self.__BUILD_MANIFEST=function(e){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/HomePage":["static/css/8d5678ec7ae84e5b.css",e,"static/chunks/731-413b078c5ace66cb.js","static/chunks/pages/HomePage-ab6b2d715f2e5d4c.js"],"/ProductPage":["static/chunks/349f80dd-7ce8c51c11c8334d.js",e,"static/chunks/402-0641fa14696cfe34.js","static/chunks/pages/ProductPage-ee3c7943368d0ecd.js"],"/ReviewPage":[e,"static/chunks/pages/ReviewPage-9b6e573c15fc74c5.js"],"/_error":["static/chunks/pages/_error-52dc6c3eb610e871.js"],sortedPages:["/HomePage","/ProductPage","/ReviewPage","/_app","/_error"]}}("static/chunks/66-507ab0653aca269b.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/FE/.next/static/KxjiK-bHBzomz58T3BYAs/_ssgManifest.js b/FE/.next/static/KxjiK-bHBzomz58T3BYAs/_ssgManifest.js new file mode 100644 index 0000000000..0511aa895e --- /dev/null +++ b/FE/.next/static/KxjiK-bHBzomz58T3BYAs/_ssgManifest.js @@ -0,0 +1 @@ +self.__SSG_MANIFEST=new Set,self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB(); \ No newline at end of file diff --git a/FE/.next/static/chunks/349f80dd-7ce8c51c11c8334d.js b/FE/.next/static/chunks/349f80dd-7ce8c51c11c8334d.js new file mode 100644 index 0000000000..a0a0f41b21 --- /dev/null +++ b/FE/.next/static/chunks/349f80dd-7ce8c51c11c8334d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[179],{6060:function(r,e,d){var t,o,a,c;d.d(e,{X3:function(){return AbortedDeferredError}}),(a=t||(t={})).Pop="POP",a.Push="PUSH",a.Replace="REPLACE",(c=o||(o={})).data="data",c.deferred="deferred",c.redirect="redirect",c.error="error";let AbortedDeferredError=class AbortedDeferredError extends Error{};Symbol("deferred")}}]); \ No newline at end of file diff --git a/FE/.next/static/chunks/402-0641fa14696cfe34.js b/FE/.next/static/chunks/402-0641fa14696cfe34.js new file mode 100644 index 0000000000..a988f661ca --- /dev/null +++ b/FE/.next/static/chunks/402-0641fa14696cfe34.js @@ -0,0 +1,32 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[402],{8679:function(e,t,n){var o=n(9864),u={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},c={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},f={};function getStatics(e){return o.isMemo(e)?i:f[e.$$typeof]||u}f[o.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},f[o.Memo]=i;var s=Object.defineProperty,l=Object.getOwnPropertyNames,y=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,d=Object.getPrototypeOf,m=Object.prototype;e.exports=function hoistNonReactStatics(e,t,n){if("string"!=typeof t){if(m){var o=d(t);o&&o!==m&&hoistNonReactStatics(e,o,n)}var u=l(t);y&&(u=u.concat(y(t)));for(var i=getStatics(e),f=getStatics(t),b=0;b{throw Error("uSES not initialized!")},refEquality=(e,t)=>e===t,p=function(e=l){let t=e===l?y:createReduxContextHook(e);return function(e,n={}){let{equalityFn:o=refEquality,stabilityCheck:u,noopCheck:c}="function"==typeof n?{equalityFn:n}:n,{store:f,subscription:s,getServerState:l,stabilityCheck:y,noopCheck:p}=t();(0,i.useRef)(!0);let d=(0,i.useCallback)({[e.name](t){let n=e(t);return n}}[e.name],[e,y,u]),m=useSyncExternalStoreWithSelector(s.addNestedSub,f.getState,l||f.getState,d,o);return(0,i.useDebugValue)(m),m}}();n(8679),n(2973);let d=!!("undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement);function createStoreHook(e=l){let t=e===l?y:createReduxContextHook(e);return function(){let{store:e}=t();return e}}d?i.useLayoutEffect:i.useEffect;let m=createStoreHook(),b=function(e=l){let t=e===l?m:createStoreHook(e);return function(){let e=t();return e.dispatch}}();useSyncExternalStoreWithSelector=u.useSyncExternalStoreWithSelector,o.useSyncExternalStore,c.unstable_batchedUpdates},8359:function(e,t){Symbol.for("react.element"),Symbol.for("react.portal"),Symbol.for("react.fragment"),Symbol.for("react.strict_mode"),Symbol.for("react.profiler"),Symbol.for("react.provider"),Symbol.for("react.context"),Symbol.for("react.server_context"),Symbol.for("react.forward_ref"),Symbol.for("react.suspense"),Symbol.for("react.suspense_list"),Symbol.for("react.memo"),Symbol.for("react.lazy"),Symbol.for("react.offscreen"),Symbol.for("react.module.reference")},2973:function(e,t,n){n(8359)},3250:function(e,t,n){/** + * @license React + * use-sync-external-store-shim.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var o=n(7294),u="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},c=o.useState,i=o.useEffect,f=o.useLayoutEffect,s=o.useDebugValue;function r(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!u(e,n)}catch(e){return!0}}var l="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),o=c({inst:{value:n,getSnapshot:t}}),u=o[0].inst,l=o[1];return f(function(){u.value=n,u.getSnapshot=t,r(u)&&l({inst:u})},[e,n,t]),i(function(){return r(u)&&l({inst:u}),e(function(){r(u)&&l({inst:u})})},[e]),s(n),n};t.useSyncExternalStore=void 0!==o.useSyncExternalStore?o.useSyncExternalStore:l},139:function(e,t,n){/** + * @license React + * use-sync-external-store-shim/with-selector.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var o=n(7294),u=n(1688),c="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=u.useSyncExternalStore,f=o.useRef,s=o.useEffect,l=o.useMemo,y=o.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,n,o,u){var p=f(null);if(null===p.current){var d={hasValue:!1,value:null};p.current=d}else d=p.current;var m=i(e,(p=l(function(){function a(t){if(!f){if(f=!0,e=t,t=o(t),void 0!==u&&d.hasValue){var n=d.value;if(u(n,t))return i=n}return i=t}if(n=i,c(e,t))return n;var s=o(t);return void 0!==u&&u(n,s)?n:(e=t,i=s)}var e,i,f=!1,s=void 0===n?null:n;return[function(){return a(t())},null===s?void 0:function(){return a(s())}]},[t,n,o,u]))[0],p[1]);return s(function(){d.hasValue=!0,d.value=m},[m]),y(m),m}},1688:function(e,t,n){e.exports=n(3250)},2798:function(e,t,n){e.exports=n(139)},3557:function(e,t,n){n.d(t,{UO:function(){return useParams}});var o,u,c,i,f=n(2784);n(6060);let s=f.createContext({outlet:null,matches:[],isDataRoute:!1});function useParams(){let{matches:e}=f.useContext(s),t=e[e.length-1];return t?t.params:{}}var l=((o=l||{}).UseBlocker="useBlocker",o.UseRevalidator="useRevalidator",o.UseNavigateStable="useNavigate",o),y=((u=y||{}).UseBlocker="useBlocker",u.UseLoaderData="useLoaderData",u.UseActionData="useActionData",u.UseRouteError="useRouteError",u.UseNavigation="useNavigation",u.UseRouteLoaderData="useRouteLoaderData",u.UseMatches="useMatches",u.UseRevalidator="useRevalidator",u.UseNavigateStable="useNavigate",u.UseRouteId="useRouteId",u);(i||(i=n.t(f,2))).startTransition;var p=((c=p||{})[c.pending=0]="pending",c[c.success=1]="success",c[c.error=2]="error",c);new Promise(()=>{})},3426:function(e,t){/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var n=Symbol.for("react.element"),o=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),c=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),f=Symbol.for("react.provider"),s=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),y=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),m=Symbol.iterator,b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,h={};function E(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||b}function F(){}function G(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||b}E.prototype.isReactComponent={},E.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")},E.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},F.prototype=E.prototype;var _=G.prototype=new F;_.constructor=G,v(_,E.prototype),_.isPureReactComponent=!0;var g=Array.isArray,x=Object.prototype.hasOwnProperty,$={current:null},w={key:!0,ref:!0,__self:!0,__source:!0};function M(e,t,o){var u,c={},i=null,f=null;if(null!=t)for(u in void 0!==t.ref&&(f=t.ref),void 0!==t.key&&(i=""+t.key),t)x.call(t,u)&&!w.hasOwnProperty(u)&&(c[u]=t[u]);var s=arguments.length-2;if(1===s)c.children=o;else if(10?s-4:s;for(r=0;r>16&255,f[u++]=t>>8&255,f[u++]=255&t;return 2===a&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,f[u++]=255&t),1===a&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,f[u++]=t>>8&255,f[u++]=255&t),f},t.fromByteArray=function(e){for(var t,n=e.length,o=n%3,i=[],s=0,a=n-o;s>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return i.join("")}(e,s,s+16383>a?a:s+16383));return 1===o?i.push(r[(t=e[n-1])>>2]+r[t<<4&63]+"=="):2===o&&i.push(r[(t=(e[n-2]<<8)+e[n-1])>>10]+r[t>>4&63]+r[t<<2&63]+"="),i.join("")};for(var r=[],n=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,a=i.length;s0)throw Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");-1===r&&(r=t);var n=r===t?0:4-r%4;return[r,n]}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},72:function(e,t,r){"use strict";/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */var n=r(675),o=r(783),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function createBuffer(e){if(e>2147483647)throw RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,Buffer.prototype),t}function Buffer(e,t,r){if("number"==typeof e){if("string"==typeof t)throw TypeError('The "string" argument must be of type string. Received type number');return allocUnsafe(e)}return from(e,t,r)}function from(e,t,r){if("string"==typeof e)return function(e,t){if(("string"!=typeof t||""===t)&&(t="utf8"),!Buffer.isEncoding(t))throw TypeError("Unknown encoding: "+t);var r=0|byteLength(e,t),n=createBuffer(r),o=n.write(e,t);return o!==r&&(n=n.slice(0,o)),n}(e,t);if(ArrayBuffer.isView(e))return fromArrayLike(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(isInstance(e,ArrayBuffer)||e&&isInstance(e.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(isInstance(e,SharedArrayBuffer)||e&&isInstance(e.buffer,SharedArrayBuffer)))return function(e,t,r){var n;if(t<0||e.byteLength=2147483647)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|e}function byteLength(e,t){if(Buffer.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||isInstance(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var o=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return utf8ToBytes(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return base64ToBytes(e).length;default:if(o)return n?-1:utf8ToBytes(e).length;t=(""+t).toLowerCase(),o=!0}}function slowToString(e,t,r){var o,i,s=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0||(r>>>=0)<=(t>>>=0)))return"";for(e||(e="utf8");;)switch(e){case"hex":return function(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var o="",i=t;i2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),(i=r=+r)!=i&&(r=o?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(o)return -1;r=e.length-1}else if(r<0){if(!o)return -1;r=0}if("string"==typeof t&&(t=Buffer.from(t,n)),Buffer.isBuffer(t))return 0===t.length?-1:arrayIndexOf(e,t,r,n,o);if("number"==typeof t)return(t&=255,"function"==typeof Uint8Array.prototype.indexOf)?o?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):arrayIndexOf(e,[t],r,n,o);throw TypeError("val must be string, number or Buffer")}function arrayIndexOf(e,t,r,n,o){var i,s=1,a=e.length,f=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return -1;s=2,a/=2,f/=2,r/=2}function read(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(o){var u=-1;for(i=r;ia&&(r=a-f),i=r;i>=0;i--){for(var l=!0,c=0;c239?4:u>223?3:u>191?2:1;if(o+c<=r)switch(c){case 1:u<128&&(l=u);break;case 2:(192&(i=e[o+1]))==128&&(f=(31&u)<<6|63&i)>127&&(l=f);break;case 3:i=e[o+1],s=e[o+2],(192&i)==128&&(192&s)==128&&(f=(15&u)<<12|(63&i)<<6|63&s)>2047&&(f<55296||f>57343)&&(l=f);break;case 4:i=e[o+1],s=e[o+2],a=e[o+3],(192&i)==128&&(192&s)==128&&(192&a)==128&&(f=(15&u)<<18|(63&i)<<12|(63&s)<<6|63&a)>65535&&f<1114112&&(l=f)}null===l?(l=65533,c=1):l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|1023&l),n.push(l),o+=c}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);for(var r="",n=0;nr)throw RangeError("Trying to access beyond buffer length")}function checkInt(e,t,r,n,o,i){if(!Buffer.isBuffer(e))throw TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw RangeError("Index out of range")}function checkIEEE754(e,t,r,n,o,i){if(r+n>e.length||r<0)throw RangeError("Index out of range")}function writeFloat(e,t,r,n,i){return t=+t,r>>>=0,i||checkIEEE754(e,t,r,4,34028234663852886e22,-34028234663852886e22),o.write(e,t,r,n,23,4),r+4}function writeDouble(e,t,r,n,i){return t=+t,r>>>=0,i||checkIEEE754(e,t,r,8,17976931348623157e292,-17976931348623157e292),o.write(e,t,r,n,52,8),r+8}t.Buffer=Buffer,t.SlowBuffer=function(e){return+e!=e&&(e=0),Buffer.alloc(+e)},t.INSPECT_MAX_BYTES=50,t.kMaxLength=2147483647,Buffer.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}}(),Buffer.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(Buffer.prototype,"parent",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.buffer}}),Object.defineProperty(Buffer.prototype,"offset",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.byteOffset}}),Buffer.poolSize=8192,Buffer.from=function(e,t,r){return from(e,t,r)},Object.setPrototypeOf(Buffer.prototype,Uint8Array.prototype),Object.setPrototypeOf(Buffer,Uint8Array),Buffer.alloc=function(e,t,r){return(assertSize(e),e<=0)?createBuffer(e):void 0!==t?"string"==typeof r?createBuffer(e).fill(t,r):createBuffer(e).fill(t):createBuffer(e)},Buffer.allocUnsafe=function(e){return allocUnsafe(e)},Buffer.allocUnsafeSlow=function(e){return allocUnsafe(e)},Buffer.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==Buffer.prototype},Buffer.compare=function(e,t){if(isInstance(e,Uint8Array)&&(e=Buffer.from(e,e.offset,e.byteLength)),isInstance(t,Uint8Array)&&(t=Buffer.from(t,t.offset,t.byteLength)),!Buffer.isBuffer(e)||!Buffer.isBuffer(t))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,n=t.length,o=0,i=Math.min(r,n);or&&(e+=" ... "),""},i&&(Buffer.prototype[i]=Buffer.prototype.inspect),Buffer.prototype.compare=function(e,t,r,n,o){if(isInstance(e,Uint8Array)&&(e=Buffer.from(e,e.offset,e.byteLength)),!Buffer.isBuffer(e))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===o&&(o=this.length),t<0||r>e.length||n<0||o>this.length)throw RangeError("out of range index");if(n>=o&&t>=r)return 0;if(n>=o)return -1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,o>>>=0,this===e)return 0;for(var i=o-n,s=r-t,a=Math.min(i,s),f=this.slice(n,o),u=e.slice(t,r),l=0;l>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var o,i,s,a,f,u,l,c,h,d,p,g,y=this.length-t;if((void 0===r||r>y)&&(r=y),e.length>0&&(r<0||t<0)||t>this.length)throw RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var m=!1;;)switch(n){case"hex":return function(e,t,r,n){r=Number(r)||0;var o=e.length-r;n?(n=Number(n))>o&&(n=o):n=o;var i=t.length;n>i/2&&(n=i/2);for(var s=0;s>8,o.push(r%256),o.push(n);return o}(e,this.length-p),this,p,g);default:if(m)throw TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),m=!0}},Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},Buffer.prototype.slice=function(e,t){var r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e],o=1,i=0;++i>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e+--t],o=1;t>0&&(o*=256);)n+=this[e+--t]*o;return n},Buffer.prototype.readUInt8=function(e,t){return e>>>=0,t||checkOffset(e,1,this.length),this[e]},Buffer.prototype.readUInt16LE=function(e,t){return e>>>=0,t||checkOffset(e,2,this.length),this[e]|this[e+1]<<8},Buffer.prototype.readUInt16BE=function(e,t){return e>>>=0,t||checkOffset(e,2,this.length),this[e]<<8|this[e+1]},Buffer.prototype.readUInt32LE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Buffer.prototype.readUInt32BE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Buffer.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e],o=1,i=0;++i=(o*=128)&&(n-=Math.pow(2,8*t)),n},Buffer.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=t,o=1,i=this[e+--n];n>0&&(o*=256);)i+=this[e+--n]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},Buffer.prototype.readInt8=function(e,t){return(e>>>=0,t||checkOffset(e,1,this.length),128&this[e])?-((255-this[e]+1)*1):this[e]},Buffer.prototype.readInt16LE=function(e,t){e>>>=0,t||checkOffset(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt16BE=function(e,t){e>>>=0,t||checkOffset(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt32LE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Buffer.prototype.readInt32BE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Buffer.prototype.readFloatLE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),o.read(this,e,!0,23,4)},Buffer.prototype.readFloatBE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),o.read(this,e,!1,23,4)},Buffer.prototype.readDoubleLE=function(e,t){return e>>>=0,t||checkOffset(e,8,this.length),o.read(this,e,!0,52,8)},Buffer.prototype.readDoubleBE=function(e,t){return e>>>=0,t||checkOffset(e,8,this.length),o.read(this,e,!1,52,8)},Buffer.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t>>>=0,r>>>=0,!n){var o=Math.pow(2,8*r)-1;checkInt(this,e,t,r,o,0)}var i=1,s=0;for(this[t]=255&e;++s>>=0,r>>>=0,!n){var o=Math.pow(2,8*r)-1;checkInt(this,e,t,r,o,0)}var i=r-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+r},Buffer.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,1,255,0),this[t]=255&e,t+1},Buffer.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},Buffer.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},Buffer.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},Buffer.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Buffer.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var o=Math.pow(2,8*r-1);checkInt(this,e,t,r,o-1,-o)}var i=0,s=1,a=0;for(this[t]=255&e;++i>0)-a&255;return t+r},Buffer.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var o=Math.pow(2,8*r-1);checkInt(this,e,t,r,o-1,-o)}var i=r-1,s=1,a=0;for(this[t+i]=255&e;--i>=0&&(s*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/s>>0)-a&255;return t+r},Buffer.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},Buffer.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},Buffer.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},Buffer.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},Buffer.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Buffer.prototype.writeFloatLE=function(e,t,r){return writeFloat(this,e,t,!0,r)},Buffer.prototype.writeFloatBE=function(e,t,r){return writeFloat(this,e,t,!1,r)},Buffer.prototype.writeDoubleLE=function(e,t,r){return writeDouble(this,e,t,!0,r)},Buffer.prototype.writeDoubleBE=function(e,t,r){return writeDouble(this,e,t,!1,r)},Buffer.prototype.copy=function(e,t,r,n){if(!Buffer.isBuffer(e))throw TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw RangeError("Index out of range");if(n<0)throw RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else Uint8Array.prototype.set.call(e,this.subarray(r,n),t);return o},Buffer.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw TypeError("encoding must be a string");if("string"==typeof n&&!Buffer.isEncoding(n))throw TypeError("Unknown encoding: "+n);if(1===e.length){var o,i=e.charCodeAt(0);("utf8"===n&&i<128||"latin1"===n)&&(e=i)}}else"number"==typeof e?e&=255:"boolean"==typeof e&&(e=Number(e));if(t<0||this.length>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&r<57344){if(!o){if(r>56319||s+1===n){(t-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),o=r;continue}r=(o-55296<<10|r-56320)+65536}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return i}function asciiToBytes(e){for(var t=[],r=0;r=t.length)&&!(o>=e.length);++o)t[o+r]=e[o];return o}function isInstance(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}var a=function(){for(var e="0123456789abcdef",t=Array(256),r=0;r<16;++r)for(var n=16*r,o=0;o<16;++o)t[n+o]=e[r]+e[o];return t}()},783:function(e,t){/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */t.read=function(e,t,r,n,o){var i,s,a=8*o-n-1,f=(1<>1,l=-7,c=r?o-1:0,h=r?-1:1,d=e[t+c];for(c+=h,i=d&(1<<-l)-1,d>>=-l,l+=a;l>0;i=256*i+e[t+c],c+=h,l-=8);for(s=i&(1<<-l)-1,i>>=-l,l+=n;l>0;s=256*s+e[t+c],c+=h,l-=8);if(0===i)i=1-u;else{if(i===f)return s?NaN:(d?-1:1)*(1/0);s+=Math.pow(2,n),i-=u}return(d?-1:1)*s*Math.pow(2,i-n)},t.write=function(e,t,r,n,o,i){var s,a,f,u=8*i-o-1,l=(1<>1,h=23===o?5960464477539062e-23:0,d=n?0:i-1,p=n?1:-1,g=t<0||0===t&&1/t<0?1:0;for(isNaN(t=Math.abs(t))||t===1/0?(a=isNaN(t)?1:0,s=l):(s=Math.floor(Math.log(t)/Math.LN2),t*(f=Math.pow(2,-s))<1&&(s--,f*=2),s+c>=1?t+=h/f:t+=h*Math.pow(2,1-c),t*f>=2&&(s++,f/=2),s+c>=l?(a=0,s=l):s+c>=1?(a=(t*f-1)*Math.pow(2,o),s+=c):(a=t*Math.pow(2,c-1)*Math.pow(2,o),s=0));o>=8;e[r+d]=255&a,d+=p,a/=256,o-=8);for(s=s<0;e[r+d]=255&s,d+=p,s/=256,u-=8);e[r+d-p]|=128*g}}},r={};function __nccwpck_require__(e){var n=r[e];if(void 0!==n)return n.exports;var o=r[e]={exports:{}},i=!0;try{t[e](o,o.exports,__nccwpck_require__),i=!1}finally{i&&delete r[e]}return o.exports}__nccwpck_require__.ab="//";var n=__nccwpck_require__(72);e.exports=n}()},7663:function(e){!function(){var t={229:function(e){var t,r,n,o=e.exports={};function defaultSetTimout(){throw Error("setTimeout has not been defined")}function defaultClearTimeout(){throw Error("clearTimeout has not been defined")}function runTimeout(e){if(t===setTimeout)return setTimeout(e,0);if((t===defaultSetTimout||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){t=defaultSetTimout}try{r="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){r=defaultClearTimeout}}();var i=[],s=!1,a=-1;function cleanUpNextTick(){s&&n&&(s=!1,n.length?i=n.concat(i):a=-1,i.length&&drainQueue())}function drainQueue(){if(!s){var e=runTimeout(cleanUpNextTick);s=!0;for(var t=i.length;t;){for(n=i,i=[];++a1)for(var r=1;r{let t=d.call(e);return a[t]||(a[t]=t.slice(8,-1).toLowerCase())}),kindOfTest=e=>(e=e.toLowerCase(),t=>g(t)===e),typeOfTest=e=>t=>typeof t===e,{isArray:y}=Array,m=typeOfTest("undefined"),b=kindOfTest("ArrayBuffer"),E=typeOfTest("string"),w=typeOfTest("function"),v=typeOfTest("number"),isObject=e=>null!==e&&"object"==typeof e,isPlainObject=e=>{if("object"!==g(e))return!1;let t=p(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},B=kindOfTest("Date"),A=kindOfTest("File"),T=kindOfTest("Blob"),O=kindOfTest("FileList"),R=kindOfTest("URLSearchParams"),[x,S,C,k]=["ReadableStream","Request","Response","Headers"].map(kindOfTest);function forEach(e,t,{allOwnKeys:r=!1}={}){let n,o;if(null!=e){if("object"!=typeof e&&(e=[e]),y(e))for(n=0,o=e.length;n0;)if(t===(r=n[o]).toLowerCase())return r;return null}let _="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,isContextDefined=e=>!m(e)&&e!==_,U=(f="undefined"!=typeof Uint8Array&&p(Uint8Array),e=>f&&e instanceof f),L=kindOfTest("HTMLFormElement"),I=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),P=kindOfTest("RegExp"),reduceDescriptors=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),n={};forEach(r,(r,o)=>{let i;!1!==(i=t(r,o,e))&&(n[o]=i||r)}),Object.defineProperties(e,n)},j="abcdefghijklmnopqrstuvwxyz",N="0123456789",D={DIGIT:N,ALPHA:j,ALPHA_DIGIT:j+j.toUpperCase()+N},F=kindOfTest("AsyncFunction"),M=(n="function"==typeof setImmediate,o=w(_.postMessage),n?setImmediate:o?(i=`axios@${Math.random()}`,s=[],_.addEventListener("message",({source:e,data:t})=>{e===_&&t===i&&s.length&&s.shift()()},!1),e=>{s.push(e),_.postMessage(i,"*")}):e=>setTimeout(e)),H="undefined"!=typeof queueMicrotask?queueMicrotask.bind(_):void 0!==h&&h.nextTick||M;var q={isArray:y,isArrayBuffer:b,isBuffer:function(e){return null!==e&&!m(e)&&null!==e.constructor&&!m(e.constructor)&&w(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||w(e.append)&&("formdata"===(t=g(e))||"object"===t&&w(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&b(e.buffer)},isString:E,isNumber:v,isBoolean:e=>!0===e||!1===e,isObject,isPlainObject,isReadableStream:x,isRequest:S,isResponse:C,isHeaders:k,isUndefined:m,isDate:B,isFile:A,isBlob:T,isRegExp:P,isFunction:w,isStream:e=>isObject(e)&&w(e.pipe),isURLSearchParams:R,isTypedArray:U,isFileList:O,forEach,merge:function merge(){let{caseless:e}=isContextDefined(this)&&this||{},t={},assignValue=(r,n)=>{let o=e&&findKey(t,n)||n;isPlainObject(t[o])&&isPlainObject(r)?t[o]=merge(t[o],r):isPlainObject(r)?t[o]=merge({},r):y(r)?t[o]=r.slice():t[o]=r};for(let e=0,t=arguments.length;e(forEach(t,(t,n)=>{r&&w(t)?e[n]=bind(t,r):e[n]=t},{allOwnKeys:n}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},toFlatObject:(e,t,r,n)=>{let o,i,s;let a={};if(t=t||{},null==e)return t;do{for(i=(o=Object.getOwnPropertyNames(e)).length;i-- >0;)s=o[i],(!n||n(s,e,t))&&!a[s]&&(t[s]=e[s],a[s]=!0);e=!1!==r&&p(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:g,kindOfTest,endsWith:(e,t,r)=>{e=String(e),(void 0===r||r>e.length)&&(r=e.length),r-=t.length;let n=e.indexOf(t,r);return -1!==n&&n===r},toArray:e=>{if(!e)return null;if(y(e))return e;let t=e.length;if(!v(t))return null;let r=Array(t);for(;t-- >0;)r[t]=e[t];return r},forEachEntry:(e,t)=>{let r;let n=e&&e[Symbol.iterator],o=n.call(e);for(;(r=o.next())&&!r.done;){let n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let r;let n=[];for(;null!==(r=e.exec(t));)n.push(r);return n},isHTMLForm:L,hasOwnProperty:I,hasOwnProp:I,reduceDescriptors,freezeMethods:e=>{reduceDescriptors(e,(t,r)=>{if(w(e)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;let n=e[r];if(w(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},toObjectSet:(e,t)=>{let r={};return(e=>{e.forEach(e=>{r[e]=!0})})(y(e)?e:String(e).split(t)),r},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,t,r){return t.toUpperCase()+r}),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey,global:_,isContextDefined,ALPHABET:D,generateString:(e=16,t=D.ALPHA_DIGIT)=>{let r="",{length:n}=t;for(;e--;)r+=t[Math.random()*n|0];return r},isSpecCompliantForm:function(e){return!!(e&&w(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{let t=Array(10),visit=(e,r)=>{if(isObject(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;let n=y(e)?[]:{};return forEach(e,(e,t)=>{let o=visit(e,r+1);m(o)||(n[t]=o)}),t[r]=void 0,n}}return e};return visit(e,0)},isAsyncFn:F,isThenable:e=>e&&(isObject(e)||w(e))&&w(e.then)&&w(e.catch),setImmediate:M,asap:H};function AxiosError(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o,this.status=o.status?o.status:null)}q.inherits(AxiosError,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:q.toJSONObject(this.config),code:this.code,status:this.status}}});let z=AxiosError.prototype,V={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{V[e]={value:e}}),Object.defineProperties(AxiosError,V),Object.defineProperty(z,"isAxiosError",{value:!0}),AxiosError.from=(e,t,r,n,o,i)=>{let s=Object.create(z);return q.toFlatObject(e,s,function(e){return e!==Error.prototype},e=>"isAxiosError"!==e),AxiosError.call(s,e.message,t,r,n,o),s.cause=e,s.name=e.name,i&&Object.assign(s,i),s};var J=r(1876).Buffer;function isVisitable(e){return q.isPlainObject(e)||q.isArray(e)}function removeBrackets(e){return q.endsWith(e,"[]")?e.slice(0,-2):e}function renderKey(e,t,r){return e?e.concat(t).map(function(e,t){return e=removeBrackets(e),!r&&t?"["+e+"]":e}).join(r?".":""):t}let K=q.toFlatObject(q,{},null,function(e){return/^is[A-Z]/.test(e)});var helpers_toFormData=function(e,t,r){if(!q.isObject(e))throw TypeError("target must be an object");t=t||new FormData,r=q.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(e,t){return!q.isUndefined(t[e])});let n=r.metaTokens,o=r.visitor||defaultVisitor,i=r.dots,s=r.indexes,a=r.Blob||"undefined"!=typeof Blob&&Blob,f=a&&q.isSpecCompliantForm(t);if(!q.isFunction(o))throw TypeError("visitor must be a function");function convertValue(e){if(null===e)return"";if(q.isDate(e))return e.toISOString();if(!f&&q.isBlob(e))throw new AxiosError("Blob is not supported. Use a Buffer instead.");return q.isArrayBuffer(e)||q.isTypedArray(e)?f&&"function"==typeof Blob?new Blob([e]):J.from(e):e}function defaultVisitor(e,r,o){let a=e;if(e&&!o&&"object"==typeof e){if(q.endsWith(r,"{}"))r=n?r:r.slice(0,-2),e=JSON.stringify(e);else{var f;if(q.isArray(e)&&(f=e,q.isArray(f)&&!f.some(isVisitable))||(q.isFileList(e)||q.endsWith(r,"[]"))&&(a=q.toArray(e)))return r=removeBrackets(r),a.forEach(function(e,n){q.isUndefined(e)||null===e||t.append(!0===s?renderKey([r],n,i):null===s?r:r+"[]",convertValue(e))}),!1}}return!!isVisitable(e)||(t.append(renderKey(o,r,i),convertValue(e)),!1)}let u=[],l=Object.assign(K,{defaultVisitor,convertValue,isVisitable});if(!q.isObject(e))throw TypeError("data must be an object");return!function build(e,r){if(!q.isUndefined(e)){if(-1!==u.indexOf(e))throw Error("Circular reference detected in "+r.join("."));u.push(e),q.forEach(e,function(e,n){let i=!(q.isUndefined(e)||null===e)&&o.call(t,e,q.isString(n)?n.trim():n,r,l);!0===i&&build(e,r?r.concat(n):[n])}),u.pop()}}(e),t};function encode(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\x00"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(e){return t[e]})}function AxiosURLSearchParams(e,t){this._pairs=[],e&&helpers_toFormData(e,this,t)}let W=AxiosURLSearchParams.prototype;function buildURL_encode(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function buildURL(e,t,r){let n;if(!t)return e;let o=r&&r.encode||buildURL_encode,i=r&&r.serialize;if(n=i?i(t,r):q.isURLSearchParams(t)?t.toString():new AxiosURLSearchParams(t,r).toString(o)){let t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+n}return e}W.append=function(e,t){this._pairs.push([e,t])},W.toString=function(e){let t=e?function(t){return e.call(this,t,encode)}:encode;return this._pairs.map(function(e){return t(e[0])+"="+t(e[1])},"").join("&")};var $=class{constructor(){this.handlers=[]}use(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){q.forEach(this.handlers,function(t){null!==t&&e(t)})}},G={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},X="undefined"!=typeof URLSearchParams?URLSearchParams:AxiosURLSearchParams,Y="undefined"!=typeof FormData?FormData:null,Q="undefined"!=typeof Blob?Blob:null;let Z="undefined"!=typeof window&&"undefined"!=typeof document,ee="object"==typeof navigator&&navigator||void 0,et=Z&&(!ee||0>["ReactNative","NativeScript","NS"].indexOf(ee.product)),er="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,en=Z&&window.location.href||"http://localhost";var eo={...c,isBrowser:!0,classes:{URLSearchParams:X,FormData:Y,Blob:Q},protocols:["http","https","file","blob","url","data"]},helpers_formDataToJSON=function(e){if(q.isFormData(e)&&q.isFunction(e.entries)){let t={};return q.forEachEntry(e,(e,r)=>{!function buildPath(e,t,r,n){let o=e[n++];if("__proto__"===o)return!0;let i=Number.isFinite(+o),s=n>=e.length;if(o=!o&&q.isArray(r)?r.length:o,s)return q.hasOwnProp(r,o)?r[o]=[r[o],t]:r[o]=t,!i;r[o]&&q.isObject(r[o])||(r[o]=[]);let a=buildPath(e,t,r[o],n);return a&&q.isArray(r[o])&&(r[o]=function(e){let t,r;let n={},o=Object.keys(e),i=o.length;for(t=0;t"[]"===e[0]?"":e[1]||e[0]),r,t,0)}),t}return null};let ei={transitional:G,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){let r;let n=t.getContentType()||"",o=n.indexOf("application/json")>-1,i=q.isObject(e);i&&q.isHTMLForm(e)&&(e=new FormData(e));let s=q.isFormData(e);if(s)return o?JSON.stringify(helpers_formDataToJSON(e)):e;if(q.isArrayBuffer(e)||q.isBuffer(e)||q.isStream(e)||q.isFile(e)||q.isBlob(e)||q.isReadableStream(e))return e;if(q.isArrayBufferView(e))return e.buffer;if(q.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1){var a,f;return(a=e,f=this.formSerializer,helpers_toFormData(a,new eo.classes.URLSearchParams,Object.assign({visitor:function(e,t,r,n){return eo.isNode&&q.isBuffer(e)?(this.append(t,e.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},f))).toString()}if((r=q.isFileList(e))||n.indexOf("multipart/form-data")>-1){let t=this.env&&this.env.FormData;return helpers_toFormData(r?{"files[]":e}:e,t&&new t,this.formSerializer)}}return i||o?(t.setContentType("application/json",!1),function(e,t,r){if(q.isString(e))try{return(0,JSON.parse)(e),q.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){let t=this.transitional||ei.transitional,r=t&&t.forcedJSONParsing,n="json"===this.responseType;if(q.isResponse(e)||q.isReadableStream(e))return e;if(e&&q.isString(e)&&(r&&!this.responseType||n)){let r=t&&t.silentJSONParsing;try{return JSON.parse(e)}catch(e){if(!r&&n){if("SyntaxError"===e.name)throw AxiosError.from(e,AxiosError.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:eo.classes.FormData,Blob:eo.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};q.forEach(["delete","get","head","post","put","patch"],e=>{ei.headers[e]={}});let es=q.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);var parseHeaders=e=>{let t,r,n;let o={};return e&&e.split("\n").forEach(function(e){n=e.indexOf(":"),t=e.substring(0,n).trim().toLowerCase(),r=e.substring(n+1).trim(),!t||o[t]&&es[t]||("set-cookie"===t?o[t]?o[t].push(r):o[t]=[r]:o[t]=o[t]?o[t]+", "+r:r)}),o};let ea=Symbol("internals");function normalizeHeader(e){return e&&String(e).trim().toLowerCase()}function normalizeValue(e){return!1===e||null==e?e:q.isArray(e)?e.map(normalizeValue):String(e)}let isValidHeaderName=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function matchHeaderValue(e,t,r,n,o){if(q.isFunction(n))return n.call(this,t,r);if(o&&(t=r),q.isString(t)){if(q.isString(n))return -1!==t.indexOf(n);if(q.isRegExp(n))return n.test(t)}}let AxiosHeaders=class AxiosHeaders{constructor(e){e&&this.set(e)}set(e,t,r){let n=this;function setHeader(e,t,r){let o=normalizeHeader(t);if(!o)throw Error("header name must be a non-empty string");let i=q.findKey(n,o);i&&void 0!==n[i]&&!0!==r&&(void 0!==r||!1===n[i])||(n[i||t]=normalizeValue(e))}let setHeaders=(e,t)=>q.forEach(e,(e,r)=>setHeader(e,r,t));if(q.isPlainObject(e)||e instanceof this.constructor)setHeaders(e,t);else if(q.isString(e)&&(e=e.trim())&&!isValidHeaderName(e))setHeaders(parseHeaders(e),t);else if(q.isHeaders(e))for(let[t,n]of e.entries())setHeader(n,t,r);else null!=e&&setHeader(t,e,r);return this}get(e,t){if(e=normalizeHeader(e)){let r=q.findKey(this,e);if(r){let e=this[r];if(!t)return e;if(!0===t)return function(e){let t;let r=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;for(;t=n.exec(e);)r[t[1]]=t[2];return r}(e);if(q.isFunction(t))return t.call(this,e,r);if(q.isRegExp(t))return t.exec(e);throw TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=normalizeHeader(e)){let r=q.findKey(this,e);return!!(r&&void 0!==this[r]&&(!t||matchHeaderValue(this,this[r],r,t)))}return!1}delete(e,t){let r=this,n=!1;function deleteHeader(e){if(e=normalizeHeader(e)){let o=q.findKey(r,e);o&&(!t||matchHeaderValue(r,r[o],o,t))&&(delete r[o],n=!0)}}return q.isArray(e)?e.forEach(deleteHeader):deleteHeader(e),n}clear(e){let t=Object.keys(this),r=t.length,n=!1;for(;r--;){let o=t[r];(!e||matchHeaderValue(this,this[o],o,e,!0))&&(delete this[o],n=!0)}return n}normalize(e){let t=this,r={};return q.forEach(this,(n,o)=>{let i=q.findKey(r,o);if(i){t[i]=normalizeValue(n),delete t[o];return}let s=e?o.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,r)=>t.toUpperCase()+r):String(o).trim();s!==o&&delete t[o],t[s]=normalizeValue(n),r[s]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let t=Object.create(null);return q.forEach(this,(r,n)=>{null!=r&&!1!==r&&(t[n]=e&&q.isArray(r)?r.join(", "):r)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){let r=new this(e);return t.forEach(e=>r.set(e)),r}static accessor(e){let t=this[ea]=this[ea]={accessors:{}},r=t.accessors,n=this.prototype;function defineAccessor(e){let t=normalizeHeader(e);r[t]||(!function(e,t){let r=q.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+r,{value:function(e,r,o){return this[n].call(this,t,e,r,o)},configurable:!0})})}(n,e),r[t]=!0)}return q.isArray(e)?e.forEach(defineAccessor):defineAccessor(e),this}};function transformData(e,t){let r=this||ei,n=t||r,o=AxiosHeaders.from(n.headers),i=n.data;return q.forEach(e,function(e){i=e.call(r,i,o.normalize(),t?t.status:void 0)}),o.normalize(),i}function isCancel(e){return!!(e&&e.__CANCEL__)}function CanceledError(e,t,r){AxiosError.call(this,null==e?"canceled":e,AxiosError.ERR_CANCELED,t,r),this.name="CanceledError"}function settle(e,t,r){let n=r.config.validateStatus;!r.status||!n||n(r.status)?e(r):t(new AxiosError("Request failed with status code "+r.status,[AxiosError.ERR_BAD_REQUEST,AxiosError.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}AxiosHeaders.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),q.reduceDescriptors(AxiosHeaders.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[r]=e}}}),q.freezeMethods(AxiosHeaders),q.inherits(CanceledError,AxiosError,{__CANCEL__:!0});var helpers_speedometer=function(e,t){let r;e=e||10;let n=Array(e),o=Array(e),i=0,s=0;return t=void 0!==t?t:1e3,function(a){let f=Date.now(),u=o[s];r||(r=f),n[i]=a,o[i]=f;let l=s,c=0;for(;l!==i;)c+=n[l++],l%=e;if((i=(i+1)%e)===s&&(s=(s+1)%e),f-r{o=i,r=null,n&&(clearTimeout(n),n=null),e.apply(null,t)};return[(...e)=>{let t=Date.now(),s=t-o;s>=i?invoke(e,t):(r=e,n||(n=setTimeout(()=>{n=null,invoke(r)},i-s)))},()=>r&&invoke(r)]};let progressEventReducer=(e,t,r=3)=>{let n=0,o=helpers_speedometer(50,250);return helpers_throttle(r=>{let i=r.loaded,s=r.lengthComputable?r.total:void 0,a=i-n,f=o(a),u=i<=s;n=i,e({loaded:i,total:s,progress:s?i/s:void 0,bytes:a,rate:f||void 0,estimated:f&&s&&u?(s-i)/f:void 0,event:r,lengthComputable:null!=s,[t?"download":"upload"]:!0})},r)},progressEventDecorator=(e,t)=>{let r=null!=e;return[n=>t[0]({lengthComputable:r,total:e,loaded:n}),t[1]]},asyncDecorator=e=>(...t)=>q.asap(()=>e(...t));var ef=eo.hasStandardBrowserEnv?function(){let e;let t=eo.navigator&&/(msie|trident)/i.test(eo.navigator.userAgent),r=document.createElement("a");function resolveURL(e){let n=e;return t&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return e=resolveURL(window.location.href),function(t){let r=q.isString(t)?resolveURL(t):t;return r.protocol===e.protocol&&r.host===e.host}}():function(){return!0},eu=eo.hasStandardBrowserEnv?{write(e,t,r,n,o,i){let s=[e+"="+encodeURIComponent(t)];q.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),q.isString(n)&&s.push("path="+n),q.isString(o)&&s.push("domain="+o),!0===i&&s.push("secure"),document.cookie=s.join("; ")},read(e){let t=document.cookie.match(RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function buildFullPath(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e:t}let headersToObject=e=>e instanceof AxiosHeaders?{...e}:e;function mergeConfig(e,t){t=t||{};let r={};function getMergedValue(e,t,r){return q.isPlainObject(e)&&q.isPlainObject(t)?q.merge.call({caseless:r},e,t):q.isPlainObject(t)?q.merge({},t):q.isArray(t)?t.slice():t}function mergeDeepProperties(e,t,r){return q.isUndefined(t)?q.isUndefined(e)?void 0:getMergedValue(void 0,e,r):getMergedValue(e,t,r)}function valueFromConfig2(e,t){if(!q.isUndefined(t))return getMergedValue(void 0,t)}function defaultToConfig2(e,t){return q.isUndefined(t)?q.isUndefined(e)?void 0:getMergedValue(void 0,e):getMergedValue(void 0,t)}function mergeDirectKeys(r,n,o){return o in t?getMergedValue(r,n):o in e?getMergedValue(void 0,r):void 0}let n={url:valueFromConfig2,method:valueFromConfig2,data:valueFromConfig2,baseURL:defaultToConfig2,transformRequest:defaultToConfig2,transformResponse:defaultToConfig2,paramsSerializer:defaultToConfig2,timeout:defaultToConfig2,timeoutMessage:defaultToConfig2,withCredentials:defaultToConfig2,withXSRFToken:defaultToConfig2,adapter:defaultToConfig2,responseType:defaultToConfig2,xsrfCookieName:defaultToConfig2,xsrfHeaderName:defaultToConfig2,onUploadProgress:defaultToConfig2,onDownloadProgress:defaultToConfig2,decompress:defaultToConfig2,maxContentLength:defaultToConfig2,maxBodyLength:defaultToConfig2,beforeRedirect:defaultToConfig2,transport:defaultToConfig2,httpAgent:defaultToConfig2,httpsAgent:defaultToConfig2,cancelToken:defaultToConfig2,socketPath:defaultToConfig2,responseEncoding:defaultToConfig2,validateStatus:mergeDirectKeys,headers:(e,t)=>mergeDeepProperties(headersToObject(e),headersToObject(t),!0)};return q.forEach(Object.keys(Object.assign({},e,t)),function(o){let i=n[o]||mergeDeepProperties,s=i(e[o],t[o],o);q.isUndefined(s)&&i!==mergeDirectKeys||(r[o]=s)}),r}var resolveConfig=e=>{let t;let r=mergeConfig({},e),{data:n,withXSRFToken:o,xsrfHeaderName:i,xsrfCookieName:s,headers:a,auth:f}=r;if(r.headers=a=AxiosHeaders.from(a),r.url=buildURL(buildFullPath(r.baseURL,r.url),e.params,e.paramsSerializer),f&&a.set("Authorization","Basic "+btoa((f.username||"")+":"+(f.password?unescape(encodeURIComponent(f.password)):""))),q.isFormData(n)){if(eo.hasStandardBrowserEnv||eo.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(!1!==(t=a.getContentType())){let[e,...r]=t?t.split(";").map(e=>e.trim()).filter(Boolean):[];a.setContentType([e||"multipart/form-data",...r].join("; "))}}if(eo.hasStandardBrowserEnv&&(o&&q.isFunction(o)&&(o=o(r)),o||!1!==o&&ef(r.url))){let e=i&&s&&eu.read(s);e&&a.set(i,e)}return r};let el="undefined"!=typeof XMLHttpRequest;var ec=el&&function(e){return new Promise(function(t,r){let n,o,i,s,a;let f=resolveConfig(e),u=f.data,l=AxiosHeaders.from(f.headers).normalize(),{responseType:c,onUploadProgress:h,onDownloadProgress:d}=f;function done(){s&&s(),a&&a(),f.cancelToken&&f.cancelToken.unsubscribe(n),f.signal&&f.signal.removeEventListener("abort",n)}let p=new XMLHttpRequest;function onloadend(){if(!p)return;let n=AxiosHeaders.from("getAllResponseHeaders"in p&&p.getAllResponseHeaders()),o=c&&"text"!==c&&"json"!==c?p.response:p.responseText,i={data:o,status:p.status,statusText:p.statusText,headers:n,config:e,request:p};settle(function(e){t(e),done()},function(e){r(e),done()},i),p=null}p.open(f.method.toUpperCase(),f.url,!0),p.timeout=f.timeout,"onloadend"in p?p.onloadend=onloadend:p.onreadystatechange=function(){p&&4===p.readyState&&(0!==p.status||p.responseURL&&0===p.responseURL.indexOf("file:"))&&setTimeout(onloadend)},p.onabort=function(){p&&(r(new AxiosError("Request aborted",AxiosError.ECONNABORTED,e,p)),p=null)},p.onerror=function(){r(new AxiosError("Network Error",AxiosError.ERR_NETWORK,e,p)),p=null},p.ontimeout=function(){let t=f.timeout?"timeout of "+f.timeout+"ms exceeded":"timeout exceeded",n=f.transitional||G;f.timeoutErrorMessage&&(t=f.timeoutErrorMessage),r(new AxiosError(t,n.clarifyTimeoutError?AxiosError.ETIMEDOUT:AxiosError.ECONNABORTED,e,p)),p=null},void 0===u&&l.setContentType(null),"setRequestHeader"in p&&q.forEach(l.toJSON(),function(e,t){p.setRequestHeader(t,e)}),q.isUndefined(f.withCredentials)||(p.withCredentials=!!f.withCredentials),c&&"json"!==c&&(p.responseType=f.responseType),d&&([i,a]=progressEventReducer(d,!0),p.addEventListener("progress",i)),h&&p.upload&&([o,s]=progressEventReducer(h),p.upload.addEventListener("progress",o),p.upload.addEventListener("loadend",s)),(f.cancelToken||f.signal)&&(n=t=>{p&&(r(!t||t.type?new CanceledError(null,e,p):t),p.abort(),p=null)},f.cancelToken&&f.cancelToken.subscribe(n),f.signal&&(f.signal.aborted?n():f.signal.addEventListener("abort",n)));let g=function(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(f.url);if(g&&-1===eo.protocols.indexOf(g)){r(new AxiosError("Unsupported protocol "+g+":",AxiosError.ERR_BAD_REQUEST,e));return}p.send(u||null)})},helpers_composeSignals=(e,t)=>{let{length:r}=e=e?e.filter(Boolean):[];if(t||r){let r,n=new AbortController,onabort=function(e){if(!r){r=!0,unsubscribe();let t=e instanceof Error?e:this.reason;n.abort(t instanceof AxiosError?t:new CanceledError(t instanceof Error?t.message:t))}},o=t&&setTimeout(()=>{o=null,onabort(new AxiosError(`timeout ${t} of ms exceeded`,AxiosError.ETIMEDOUT))},t),unsubscribe=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(e=>{e.unsubscribe?e.unsubscribe(onabort):e.removeEventListener("abort",onabort)}),e=null)};e.forEach(e=>e.addEventListener("abort",onabort));let{signal:i}=n;return i.unsubscribe=()=>q.asap(unsubscribe),i}};let streamChunk=function*(e,t){let r,n=e.byteLength;if(!t||n{let o;let i=readBytes(e,t),s=0,_onFinish=e=>{!o&&(o=!0,n&&n(e))};return new ReadableStream({async pull(e){try{let{done:t,value:n}=await i.next();if(t){_onFinish(),e.close();return}let o=n.byteLength;if(r){let e=s+=o;r(e)}e.enqueue(new Uint8Array(n))}catch(e){throw _onFinish(e),e}},cancel:e=>(_onFinish(e),i.return())},{highWaterMark:2})},eh="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,ed=eh&&"function"==typeof ReadableStream,ep=eh&&("function"==typeof TextEncoder?(u=new TextEncoder,e=>u.encode(e)):async e=>new Uint8Array(await new Response(e).arrayBuffer())),test=(e,...t)=>{try{return!!e(...t)}catch(e){return!1}},eg=ed&&test(()=>{let e=!1,t=new Request(eo.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),ey=ed&&test(()=>q.isReadableStream(new Response("").body)),em={stream:ey&&(e=>e.body)};eh&&(l=new Response,["text","arrayBuffer","blob","formData","stream"].forEach(e=>{em[e]||(em[e]=q.isFunction(l[e])?t=>t[e]():(t,r)=>{throw new AxiosError(`Response type '${e}' is not supported`,AxiosError.ERR_NOT_SUPPORT,r)})}));let getBodyLength=async e=>{if(null==e)return 0;if(q.isBlob(e))return e.size;if(q.isSpecCompliantForm(e)){let t=new Request(eo.origin,{method:"POST",body:e});return(await t.arrayBuffer()).byteLength}return q.isArrayBufferView(e)||q.isArrayBuffer(e)?e.byteLength:(q.isURLSearchParams(e)&&(e+=""),q.isString(e))?(await ep(e)).byteLength:void 0},resolveBodyLength=async(e,t)=>{let r=q.toFiniteNumber(e.getContentLength());return null==r?getBodyLength(t):r};var eb=eh&&(async e=>{let t,r,{url:n,method:o,data:i,signal:s,cancelToken:a,timeout:f,onDownloadProgress:u,onUploadProgress:l,responseType:c,headers:h,withCredentials:d="same-origin",fetchOptions:p}=resolveConfig(e);c=c?(c+"").toLowerCase():"text";let g=helpers_composeSignals([s,a&&a.toAbortSignal()],f),y=g&&g.unsubscribe&&(()=>{g.unsubscribe()});try{if(l&&eg&&"get"!==o&&"head"!==o&&0!==(r=await resolveBodyLength(h,i))){let e,t=new Request(n,{method:"POST",body:i,duplex:"half"});if(q.isFormData(i)&&(e=t.headers.get("content-type"))&&h.setContentType(e),t.body){let[e,n]=progressEventDecorator(r,progressEventReducer(asyncDecorator(l)));i=trackStream(t.body,65536,e,n)}}q.isString(d)||(d=d?"include":"omit");let s="credentials"in Request.prototype;t=new Request(n,{...p,signal:g,method:o.toUpperCase(),headers:h.normalize().toJSON(),body:i,duplex:"half",credentials:s?d:void 0});let a=await fetch(t),f=ey&&("stream"===c||"response"===c);if(ey&&(u||f&&y)){let e={};["status","statusText","headers"].forEach(t=>{e[t]=a[t]});let t=q.toFiniteNumber(a.headers.get("content-length")),[r,n]=u&&progressEventDecorator(t,progressEventReducer(asyncDecorator(u),!0))||[];a=new Response(trackStream(a.body,65536,r,()=>{n&&n(),y&&y()}),e)}c=c||"text";let m=await em[q.findKey(em,c)||"text"](a,e);return!f&&y&&y(),await new Promise((r,n)=>{settle(r,n,{data:m,headers:AxiosHeaders.from(a.headers),status:a.status,statusText:a.statusText,config:e,request:t})})}catch(r){if(y&&y(),r&&"TypeError"===r.name&&/fetch/i.test(r.message))throw Object.assign(new AxiosError("Network Error",AxiosError.ERR_NETWORK,e,t),{cause:r.cause||r});throw AxiosError.from(r,r&&r.code,e,t)}});let eE={http:null,xhr:ec,fetch:eb};q.forEach(eE,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}});let renderReason=e=>`- ${e}`,isResolvedHandle=e=>q.isFunction(e)||null===e||!1===e;var ew={getAdapter:e=>{let t,r;e=q.isArray(e)?e:[e];let{length:n}=e,o={};for(let i=0;i`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")),t=n?e.length>1?"since :\n"+e.map(renderReason).join("\n"):" "+renderReason(e[0]):"as no adapter specified";throw new AxiosError("There is no suitable adapter to dispatch the request "+t,"ERR_NOT_SUPPORT")}return r},adapters:eE};function throwIfCancellationRequested(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new CanceledError(null,e)}function dispatchRequest(e){throwIfCancellationRequested(e),e.headers=AxiosHeaders.from(e.headers),e.data=transformData.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1);let t=ew.getAdapter(e.adapter||ei.adapter);return t(e).then(function(t){return throwIfCancellationRequested(e),t.data=transformData.call(e,e.transformResponse,t),t.headers=AxiosHeaders.from(t.headers),t},function(t){return!isCancel(t)&&(throwIfCancellationRequested(e),t&&t.response&&(t.response.data=transformData.call(e,e.transformResponse,t.response),t.response.headers=AxiosHeaders.from(t.response.headers))),Promise.reject(t)})}let ev="1.7.7",eB={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{eB[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});let eA={};eB.transitional=function(e,t,r){function formatMessage(e,t){return"[Axios v"+ev+"] Transitional option '"+e+"'"+t+(r?". "+r:"")}return(r,n,o)=>{if(!1===e)throw new AxiosError(formatMessage(n," has been removed"+(t?" in "+t:"")),AxiosError.ERR_DEPRECATED);return t&&!eA[n]&&(eA[n]=!0,console.warn(formatMessage(n," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,n,o)}};var eT={assertOptions:function(e,t,r){if("object"!=typeof e)throw new AxiosError("options must be an object",AxiosError.ERR_BAD_OPTION_VALUE);let n=Object.keys(e),o=n.length;for(;o-- >0;){let i=n[o],s=t[i];if(s){let t=e[i],r=void 0===t||s(t,i,e);if(!0!==r)throw new AxiosError("option "+i+" must be "+r,AxiosError.ERR_BAD_OPTION_VALUE);continue}if(!0!==r)throw new AxiosError("Unknown option "+i,AxiosError.ERR_BAD_OPTION)}},validators:eB};let eO=eT.validators;let Axios=class Axios{constructor(e){this.defaults=e,this.interceptors={request:new $,response:new $}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t;Error.captureStackTrace?Error.captureStackTrace(t={}):t=Error();let r=t.stack?t.stack.replace(/^.+\n/,""):"";try{e.stack?r&&!String(e.stack).endsWith(r.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+r):e.stack=r}catch(e){}}throw e}}_request(e,t){let r,n;"string"==typeof e?(t=t||{}).url=e:t=e||{},t=mergeConfig(this.defaults,t);let{transitional:o,paramsSerializer:i,headers:s}=t;void 0!==o&&eT.assertOptions(o,{silentJSONParsing:eO.transitional(eO.boolean),forcedJSONParsing:eO.transitional(eO.boolean),clarifyTimeoutError:eO.transitional(eO.boolean)},!1),null!=i&&(q.isFunction(i)?t.paramsSerializer={serialize:i}:eT.assertOptions(i,{encode:eO.function,serialize:eO.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let a=s&&q.merge(s.common,s[t.method]);s&&q.forEach(["delete","get","head","post","put","patch","common"],e=>{delete s[e]}),t.headers=AxiosHeaders.concat(a,s);let f=[],u=!0;this.interceptors.request.forEach(function(e){("function"!=typeof e.runWhen||!1!==e.runWhen(t))&&(u=u&&e.synchronous,f.unshift(e.fulfilled,e.rejected))});let l=[];this.interceptors.response.forEach(function(e){l.push(e.fulfilled,e.rejected)});let c=0;if(!u){let e=[dispatchRequest.bind(this),void 0];for(e.unshift.apply(e,f),e.push.apply(e,l),n=e.length,r=Promise.resolve(t);c{if(!r._listeners)return;let t=r._listeners.length;for(;t-- >0;)r._listeners[t](e);r._listeners=null}),this.promise.then=e=>{let t;let n=new Promise(e=>{r.subscribe(e),t=e}).then(e);return n.cancel=function(){r.unsubscribe(t)},n},e(function(e,n,o){r.reason||(r.reason=new CanceledError(e,n,o),t(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}toAbortSignal(){let e=new AbortController,abort=t=>{e.abort(t)};return this.subscribe(abort),e.signal.unsubscribe=()=>this.unsubscribe(abort),e.signal}static source(){let e;let t=new CancelToken(function(t){e=t});return{token:t,cancel:e}}};let eR={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(eR).forEach(([e,t])=>{eR[t]=e});let ex=function createInstance(e){let t=new Axios(e),r=bind(Axios.prototype.request,t);return q.extend(r,Axios.prototype,t,{allOwnKeys:!0}),q.extend(r,t,null,{allOwnKeys:!0}),r.create=function(t){return createInstance(mergeConfig(e,t))},r}(ei);ex.Axios=Axios,ex.CanceledError=CanceledError,ex.CancelToken=CancelToken,ex.isCancel=isCancel,ex.VERSION=ev,ex.toFormData=helpers_toFormData,ex.AxiosError=AxiosError,ex.Cancel=ex.CanceledError,ex.all=function(e){return Promise.all(e)},ex.spread=function(e){return function(t){return e.apply(null,t)}},ex.isAxiosError=function(e){return q.isObject(e)&&!0===e.isAxiosError},ex.mergeConfig=mergeConfig,ex.AxiosHeaders=AxiosHeaders,ex.formToJSON=e=>helpers_formDataToJSON(q.isHTMLForm(e)?new FormData(e):e),ex.getAdapter=ew.getAdapter,ex.HttpStatusCode=eR,ex.default=ex;var eS=ex}}]); \ No newline at end of file diff --git a/FE/.next/static/chunks/731-413b078c5ace66cb.js b/FE/.next/static/chunks/731-413b078c5ace66cb.js new file mode 100644 index 0000000000..7fb1c4249d --- /dev/null +++ b/FE/.next/static/chunks/731-413b078c5ace66cb.js @@ -0,0 +1,5 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[731],{8702:function(t){/*! + * Bootstrap v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */t.exports=function(){"use strict";let t=new Map,f={set(f,v,y){t.has(f)||t.set(f,new Map);let w=t.get(f);w.has(v)||0===w.size?w.set(v,y):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(w.keys())[0]}.`)},get:(f,v)=>t.has(f)&&t.get(f).get(v)||null,remove(f,v){if(!t.has(f))return;let y=t.get(f);y.delete(v),0===y.size&&t.delete(f)}},v="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,(t,f)=>`#${CSS.escape(f)}`)),t),s=t=>{t.dispatchEvent(new Event(v))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;let f="visible"===getComputedStyle(t).getPropertyValue("visibility"),v=t.closest("details:not([open])");if(!v)return f;if(v!==t){let f=t.closest("summary");if(f&&f.parentNode!==v||null===f)return!1}return f},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){let f=t.getRootNode();return f instanceof ShadowRoot?f:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,y=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var f;f=()=>{let f=u();if(f){let v=t.NAME,y=f.fn[v];f.fn[v]=t.jQueryInterface,f.fn[v].Constructor=t,f.fn[v].noConflict=()=>(f.fn[v]=y,t.jQueryInterface)}},"loading"===document.readyState?(y.length||document.addEventListener("DOMContentLoaded",()=>{for(let t of y)t()}),y.push(f)):f()},g=(t,f=[],v=t)=>"function"==typeof t?t(...f):v,_=(t,f,y=!0)=>{if(!y)return void g(t);let w=(t=>{if(!t)return 0;let{transitionDuration:f,transitionDelay:v}=window.getComputedStyle(t),y=Number.parseFloat(f),w=Number.parseFloat(v);return y||w?(f=f.split(",")[0],v=v.split(",")[0],1e3*(Number.parseFloat(f)+Number.parseFloat(v))):0})(f)+5,E=!1,a=({target:y})=>{y===f&&(E=!0,f.removeEventListener(v,a),g(t))};f.addEventListener(v,a),setTimeout(()=>{E||s(f)},w)},b=(t,f,v,y)=>{let w=t.length,E=t.indexOf(f);return -1===E?!v&&y?t[w-1]:t[0]:(E+=v?1:-1,y&&(E=(E+w)%w),t[Math.max(0,Math.min(E,w-1))])},w=/[^.]*(?=\..*)\.|.*/,E=/\..*/,A=/::\d+$/,T={},C=1,$={mouseenter:"mouseover",mouseleave:"mouseout"},N=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,f){return f&&`${f}::${C++}`||t.uidEvent||C++}function x(t){let f=O(t);return t.uidEvent=f,T[f]=T[f]||{},T[f]}function k(t,f,v=null){return Object.values(t).find(t=>t.callable===f&&t.delegationSelector===v)}function L(t,f,v){let y="string"==typeof f,w=I(t);return N.has(w)||(w=t),[y,y?v:f||v,w]}function S(t,f,v,y,E){var A,T,C;if("string"!=typeof f||!t)return;let[N,q,z]=L(f,v,y);f in $&&(A=q,q=function(t){if(!t.relatedTarget||t.relatedTarget!==t.delegateTarget&&!t.delegateTarget.contains(t.relatedTarget))return A.call(this,t)});let V=x(t),K=V[z]||(V[z]={}),U=k(K,q,N?v:null);if(U)return void(U.oneOff=U.oneOff&&E);let X=O(q,f.replace(w,"")),J=N?(T=q,function n(f){let y=t.querySelectorAll(v);for(let{target:w}=f;w&&w!==this;w=w.parentNode)for(let E of y)if(E===w)return P(f,{delegateTarget:w}),n.oneOff&&F.off(t,f.type,v,T),T.apply(w,[f])}):(C=q,function i(f){return P(f,{delegateTarget:t}),i.oneOff&&F.off(t,f.type,C),C.apply(t,[f])});J.delegationSelector=N?v:null,J.callable=q,J.oneOff=E,J.uidEvent=X,K[X]=J,t.addEventListener(z,J,N)}function D(t,f,v,y,w){let E=k(f[v],y,w);E&&(t.removeEventListener(v,E,!!w),delete f[v][E.uidEvent])}function I(t){return $[t=t.replace(E,"")]||t}let F={on(t,f,v,y){S(t,f,v,y,!1)},one(t,f,v,y){S(t,f,v,y,!0)},off(t,f,v,y){if("string"!=typeof f||!t)return;let[w,E,T]=L(f,v,y),C=T!==f,$=x(t),N=$[T]||{},F=f.startsWith(".");if(void 0===E){if(F)for(let v of Object.keys($))!function(t,f,v,y){let w=f[v]||{};for(let[E,A]of Object.entries(w))E.includes(y)&&D(t,f,v,A.callable,A.delegationSelector)}(t,$,v,f.slice(1));for(let[v,y]of Object.entries(N)){let w=v.replace(A,"");C&&!f.includes(w)||D(t,$,T,y.callable,y.delegationSelector)}}else{if(!Object.keys(N).length)return;D(t,$,T,E,w?v:null)}},trigger(t,f,v){if("string"!=typeof f||!t)return null;let y=u(),w=null,E=!0,A=!0,T=!1;f!==I(f)&&y&&(w=y.Event(f,v),y(t).trigger(w),E=!w.isPropagationStopped(),A=!w.isImmediatePropagationStopped(),T=w.isDefaultPrevented());let C=P(new Event(f,{bubbles:E,cancelable:!0}),v);return T&&C.preventDefault(),A&&t.dispatchEvent(C),C.defaultPrevented&&w&&w.preventDefault(),C}};function P(t,f={}){for(let[v,y]of Object.entries(f))try{t[v]=y}catch(f){Object.defineProperty(t,v,{configurable:!0,get:()=>y})}return t}function j(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(f){return t}}function M(t){return t.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}let q={setDataAttribute(t,f,v){t.setAttribute(`data-bs-${M(f)}`,v)},removeDataAttribute(t,f){t.removeAttribute(`data-bs-${M(f)}`)},getDataAttributes(t){if(!t)return{};let f={},v=Object.keys(t.dataset).filter(t=>t.startsWith("bs")&&!t.startsWith("bsConfig"));for(let y of v){let v=y.replace(/^bs/,"");f[v=v.charAt(0).toLowerCase()+v.slice(1,v.length)]=j(t.dataset[y])}return f},getDataAttribute:(t,f)=>j(t.getAttribute(`data-bs-${M(f)}`))};let H=class H{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,f){let v=o(f)?q.getDataAttribute(f,"config"):{};return{...this.constructor.Default,..."object"==typeof v?v:{},...o(f)?q.getDataAttributes(f):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,f=this.constructor.DefaultType){for(let[v,y]of Object.entries(f)){let f=t[v],w=o(f)?"element":null==f?`${f}`:Object.prototype.toString.call(f).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(y).test(w))throw TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${v}" provided type "${w}" but expected type "${y}".`)}}};let W=class W extends H{constructor(t,v){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(v),f.set(this._element,this.constructor.DATA_KEY,this))}dispose(){for(let t of(f.remove(this._element,this.constructor.DATA_KEY),F.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this)))this[t]=null}_queueCallback(t,f,v=!0){_(t,f,v)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return f.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,f={}){return this.getInstance(t)||new this(t,"object"==typeof f?f:null)}static get VERSION(){return"5.3.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}};let B=t=>{let f=t.getAttribute("data-bs-target");if(!f||"#"===f){let v=t.getAttribute("href");if(!v||!v.includes("#")&&!v.startsWith("."))return null;v.includes("#")&&!v.startsWith("#")&&(v=`#${v.split("#")[1]}`),f=v&&"#"!==v?v.trim():null}return f?f.split(",").map(t=>n(t)).join(","):null},z={find:(t,f=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(f,t)),findOne:(t,f=document.documentElement)=>Element.prototype.querySelector.call(f,t),children:(t,f)=>[].concat(...t.children).filter(t=>t.matches(f)),parents(t,f){let v=[],y=t.parentNode.closest(f);for(;y;)v.push(y),y=y.parentNode.closest(f);return v},prev(t,f){let v=t.previousElementSibling;for(;v;){if(v.matches(f))return[v];v=v.previousElementSibling}return[]},next(t,f){let v=t.nextElementSibling;for(;v;){if(v.matches(f))return[v];v=v.nextElementSibling}return[]},focusableChildren(t){let f=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(t=>`${t}:not([tabindex^="-"])`).join(",");return this.find(f,t).filter(t=>!l(t)&&a(t))},getSelectorFromElement(t){let f=B(t);return f&&z.findOne(f)?f:null},getElementFromSelector(t){let f=B(t);return f?z.findOne(f):null},getMultipleElementsFromSelector(t){let f=B(t);return f?z.find(f):[]}},R=(t,f="hide")=>{let v=`click.dismiss${t.EVENT_KEY}`,y=t.NAME;F.on(document,v,`[data-bs-dismiss="${y}"]`,function(v){if(["A","AREA"].includes(this.tagName)&&v.preventDefault(),l(this))return;let w=z.getElementFromSelector(this)||this.closest(`.${y}`);t.getOrCreateInstance(w)[f]()})},V=".bs.alert",K=`close${V}`,U=`closed${V}`;let Q=class Q extends W{static get NAME(){return"alert"}close(){if(F.trigger(this._element,K).defaultPrevented)return;this._element.classList.remove("show");let t=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,t)}_destroyElement(){this._element.remove(),F.trigger(this._element,U),this.dispose()}static jQueryInterface(t){return this.each(function(){let f=Q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===f[t]||t.startsWith("_")||"constructor"===t)throw TypeError(`No method named "${t}"`);f[t](this)}})}};R(Q,"close"),m(Q);let X='[data-bs-toggle="button"]';let Y=class Y extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each(function(){let f=Y.getOrCreateInstance(this);"toggle"===t&&f[t]()})}};F.on(document,"click.bs.button.data-api",X,t=>{t.preventDefault();let f=t.target.closest(X);Y.getOrCreateInstance(f).toggle()}),m(Y);let J=".bs.swipe",Z=`touchstart${J}`,G=`touchmove${J}`,ee=`touchend${J}`,et=`pointerdown${J}`,en=`pointerup${J}`,es={endCallback:null,leftCallback:null,rightCallback:null},er={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};let st=class st extends H{constructor(t,f){super(),this._element=t,t&&st.isSupported()&&(this._config=this._getConfig(f),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return es}static get DefaultType(){return er}static get NAME(){return"swipe"}dispose(){F.off(this._element,J)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),g(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){let t=Math.abs(this._deltaX);if(t<=40)return;let f=t/this._deltaX;this._deltaX=0,f&&g(f>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(F.on(this._element,et,t=>this._start(t)),F.on(this._element,en,t=>this._end(t)),this._element.classList.add("pointer-event")):(F.on(this._element,Z,t=>this._start(t)),F.on(this._element,G,t=>this._move(t)),F.on(this._element,ee,t=>this._end(t)))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}};let eo=".bs.carousel",ea=".data-api",el="next",ec="prev",eh="left",ed="right",eu=`slide${eo}`,ef=`slid${eo}`,ep=`keydown${eo}`,em=`mouseenter${eo}`,eg=`mouseleave${eo}`,e_=`dragstart${eo}`,eb=`load${eo}${ea}`,ev=`click${eo}${ea}`,ey="carousel",ew="active",eE=".active",eA=".carousel-item",eT=eE+eA,eC={ArrowLeft:ed,ArrowRight:eh},eO={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},ex={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};let xt=class xt extends W{constructor(t,f){super(t,f),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===ey&&this.cycle()}static get Default(){return eO}static get DefaultType(){return ex}static get NAME(){return"carousel"}next(){this._slide(el)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(ec)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?F.one(this._element,ef,()=>this.cycle()):this.cycle())}to(t){let f=this._getItems();if(t>f.length-1||t<0)return;if(this._isSliding)return void F.one(this._element,ef,()=>this.to(t));let v=this._getItemIndex(this._getActive());if(v===t)return;let y=t>v?el:ec;this._slide(y,f[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&F.on(this._element,ep,t=>this._keydown(t)),"hover"===this._config.pause&&(F.on(this._element,em,()=>this.pause()),F.on(this._element,eg,()=>this._maybeEnableCycle())),this._config.touch&&st.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(let t of z.find(".carousel-item img",this._element))F.on(t,e_,t=>t.preventDefault());this._swipeHelper=new st(this._element,{leftCallback:()=>this._slide(this._directionToOrder(eh)),rightCallback:()=>this._slide(this._directionToOrder(ed)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}})}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;let f=eC[t.key];f&&(t.preventDefault(),this._slide(this._directionToOrder(f)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;let f=z.findOne(eE,this._indicatorsElement);f.classList.remove(ew),f.removeAttribute("aria-current");let v=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);v&&(v.classList.add(ew),v.setAttribute("aria-current","true"))}_updateInterval(){let t=this._activeElement||this._getActive();if(!t)return;let f=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=f||this._config.defaultInterval}_slide(t,f=null){if(this._isSliding)return;let v=this._getActive(),y=t===el,w=f||b(this._getItems(),v,y,this._config.wrap);if(w===v)return;let E=this._getItemIndex(w),r=f=>F.trigger(this._element,f,{relatedTarget:w,direction:this._orderToDirection(t),from:this._getItemIndex(v),to:E});if(r(eu).defaultPrevented||!v||!w)return;let A=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(E),this._activeElement=w;let T=y?"carousel-item-start":"carousel-item-end",C=y?"carousel-item-next":"carousel-item-prev";w.classList.add(C),d(w),v.classList.add(T),w.classList.add(T),this._queueCallback(()=>{w.classList.remove(T,C),w.classList.add(ew),v.classList.remove(ew,C,T),this._isSliding=!1,r(ef)},v,this._isAnimated()),A&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(eT,this._element)}_getItems(){return z.find(eA,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===eh?ec:el:t===eh?el:ec}_orderToDirection(t){return p()?t===ec?eh:ed:t===ec?ed:eh}static jQueryInterface(t){return this.each(function(){let f=xt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===f[t]||t.startsWith("_")||"constructor"===t)throw TypeError(`No method named "${t}"`);f[t]()}}else f.to(t)})}};F.on(document,ev,"[data-bs-slide], [data-bs-slide-to]",function(t){let f=z.getElementFromSelector(this);if(!f||!f.classList.contains(ey))return;t.preventDefault();let v=xt.getOrCreateInstance(f),y=this.getAttribute("data-bs-slide-to");return y?v.to(y):"next"===q.getDataAttribute(this,"slide")?v.next():v.prev(),void v._maybeEnableCycle()}),F.on(window,eb,()=>{let t=z.find('[data-bs-ride="carousel"]');for(let f of t)xt.getOrCreateInstance(f)}),m(xt);let ek=".bs.collapse",eL=`show${ek}`,eS=`shown${ek}`,eD=`hide${ek}`,e$=`hidden${ek}`,eI=`click${ek}.data-api`,eN="show",eP="collapse",ej="collapsing",eM=`:scope .${eP} .${eP}`,eF='[data-bs-toggle="collapse"]',eW={parent:null,toggle:!0},eH={parent:"(null|element)",toggle:"boolean"};let Bt=class Bt extends W{constructor(t,f){super(t,f),this._isTransitioning=!1,this._triggerArray=[];let v=z.find(eF);for(let t of v){let f=z.getSelectorFromElement(t),v=z.find(f).filter(t=>t===this._element);null!==f&&v.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return eW}static get DefaultType(){return eH}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter(t=>t!==this._element).map(t=>Bt.getOrCreateInstance(t,{toggle:!1}))),t.length&&t[0]._isTransitioning||F.trigger(this._element,eL).defaultPrevented)return;for(let f of t)f.hide();let f=this._getDimension();this._element.classList.remove(eP),this._element.classList.add(ej),this._element.style[f]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;let v=`scroll${f[0].toUpperCase()+f.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(ej),this._element.classList.add(eP,eN),this._element.style[f]="",F.trigger(this._element,eS)},this._element,!0),this._element.style[f]=`${this._element[v]}px`}hide(){if(this._isTransitioning||!this._isShown()||F.trigger(this._element,eD).defaultPrevented)return;let t=this._getDimension();for(let f of(this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(ej),this._element.classList.remove(eP,eN),this._triggerArray)){let t=z.getElementFromSelector(f);t&&!this._isShown(t)&&this._addAriaAndCollapsedClass([f],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(ej),this._element.classList.add(eP),F.trigger(this._element,e$)},this._element,!0)}_isShown(t=this._element){return t.classList.contains(eN)}_configAfterMerge(t){return t.toggle=!!t.toggle,t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;let t=this._getFirstLevelChildren(eF);for(let f of t){let t=z.getElementFromSelector(f);t&&this._addAriaAndCollapsedClass([f],this._isShown(t))}}_getFirstLevelChildren(t){let f=z.find(eM,this._config.parent);return z.find(t,this._config.parent).filter(t=>!f.includes(t))}_addAriaAndCollapsedClass(t,f){if(t.length)for(let v of t)v.classList.toggle("collapsed",!f),v.setAttribute("aria-expanded",f)}static jQueryInterface(t){let f={};return"string"==typeof t&&/show|hide/.test(t)&&(f.toggle=!1),this.each(function(){let v=Bt.getOrCreateInstance(this,f);if("string"==typeof t){if(void 0===v[t])throw TypeError(`No method named "${t}"`);v[t]()}})}};F.on(document,eI,eF,function(t){for(let f of(("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault(),z.getMultipleElementsFromSelector(this)))Bt.getOrCreateInstance(f,{toggle:!1}).toggle()}),m(Bt);var eq="bottom",eB="right",eR="left",ez="auto",eV=["top",eq,eB,eR],eK="start",eY="clippingParents",eQ="viewport",eU="popper",eX="reference",eJ=eV.reduce(function(t,f){return t.concat([f+"-"+eK,f+"-end"])},[]),eZ=[].concat(eV,[ez]).reduce(function(t,f){return t.concat([f,f+"-"+eK,f+"-end"])},[]),eG="beforeRead",e0="read",e1="afterRead",e2="beforeMain",e3="main",e5="afterMain",e6="beforeWrite",e4="write",e7="afterWrite",e8=[eG,e0,e1,e2,e3,e5,e6,e4,e7];function ue(t){return t?(t.nodeName||"").toLowerCase():null}function fe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var f=t.ownerDocument;return f&&f.defaultView||window}return t}function pe(t){return t instanceof fe(t).Element||t instanceof Element}function me(t){return t instanceof fe(t).HTMLElement||t instanceof HTMLElement}function ge(t){return"undefined"!=typeof ShadowRoot&&(t instanceof fe(t).ShadowRoot||t instanceof ShadowRoot)}let e9={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var f=t.state;Object.keys(f.elements).forEach(function(t){var v=f.styles[t]||{},y=f.attributes[t]||{},w=f.elements[t];me(w)&&ue(w)&&(Object.assign(w.style,v),Object.keys(y).forEach(function(t){var f=y[t];!1===f?w.removeAttribute(t):w.setAttribute(t,!0===f?"":f)}))})},effect:function(t){var f=t.state,v={popper:{position:f.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(f.elements.popper.style,v.popper),f.styles=v,f.elements.arrow&&Object.assign(f.elements.arrow.style,v.arrow),function(){Object.keys(f.elements).forEach(function(t){var y=f.elements[t],w=f.attributes[t]||{},E=Object.keys(f.styles.hasOwnProperty(t)?f.styles[t]:v[t]).reduce(function(t,f){return t[f]="",t},{});me(y)&&ue(y)&&(Object.assign(y.style,E),Object.keys(w).forEach(function(t){y.removeAttribute(t)}))})}},requires:["computeStyles"]};function be(t){return t.split("-")[0]}var te=Math.max,tt=Math.min,tn=Math.round;function Ae(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Ee(){return!/^((?!chrome|android).)*safari/i.test(Ae())}function Te(t,f,v){void 0===f&&(f=!1),void 0===v&&(v=!1);var y=t.getBoundingClientRect(),w=1,E=1;f&&me(t)&&(w=t.offsetWidth>0&&tn(y.width)/t.offsetWidth||1,E=t.offsetHeight>0&&tn(y.height)/t.offsetHeight||1);var A=(pe(t)?fe(t):window).visualViewport,T=!Ee()&&v,C=(y.left+(T&&A?A.offsetLeft:0))/w,$=(y.top+(T&&A?A.offsetTop:0))/E,N=y.width/w,F=y.height/E;return{width:N,height:F,top:$,right:C+N,bottom:$+F,left:C,x:C,y:$}}function Ce(t){var f=Te(t),v=t.offsetWidth,y=t.offsetHeight;return 1>=Math.abs(f.width-v)&&(v=f.width),1>=Math.abs(f.height-y)&&(y=f.height),{x:t.offsetLeft,y:t.offsetTop,width:v,height:y}}function Oe(t,f){var v=f.getRootNode&&f.getRootNode();if(t.contains(f))return!0;if(v&&ge(v)){var y=f;do{if(y&&t.isSameNode(y))return!0;y=y.parentNode||y.host}while(y)}return!1}function xe(t){return fe(t).getComputedStyle(t)}function Le(t){return((pe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Se(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(ge(t)?t.host:null)||Le(t)}function De(t){return me(t)&&"fixed"!==xe(t).position?t.offsetParent:null}function $e(t){for(var f=fe(t),v=De(t);v&&["table","td","th"].indexOf(ue(v))>=0&&"static"===xe(v).position;)v=De(v);return v&&("html"===ue(v)||"body"===ue(v)&&"static"===xe(v).position)?f:v||function(t){var f=/firefox/i.test(Ae());if(/Trident/i.test(Ae())&&me(t)&&"fixed"===xe(t).position)return null;var v=Se(t);for(ge(v)&&(v=v.host);me(v)&&0>["html","body"].indexOf(ue(v));){var y=xe(v);if("none"!==y.transform||"none"!==y.perspective||"paint"===y.contain||-1!==["transform","perspective"].indexOf(y.willChange)||f&&"filter"===y.willChange||f&&y.filter&&"none"!==y.filter)return v;v=v.parentNode}return null}(t)||f}function Ie(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,f,v){return te(t,tt(f,v))}function Pe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function je(t,f){return f.reduce(function(f,v){return f[v]=t,f},{})}let ts={name:"arrow",enabled:!0,phase:"main",fn:function(t){var f,v=t.state,y=t.name,w=t.options,E=v.elements.arrow,A=v.modifiersData.popperOffsets,T=be(v.placement),C=Ie(T),$=[eR,eB].indexOf(T)>=0?"height":"width";if(E&&A){var N,F=Pe("number"!=typeof(N="function"==typeof(N=w.padding)?N(Object.assign({},v.rects,{placement:v.placement})):N)?N:je(N,eV)),q=Ce(E),z="y"===C?"top":eR,V="y"===C?eq:eB,K=v.rects.reference[$]+v.rects.reference[C]-A[C]-v.rects.popper[$],U=A[C]-v.rects.reference[C],X=$e(E),J=X?"y"===C?X.clientHeight||0:X.clientWidth||0:0,Z=F[z],G=J-q[$]-F[V],ee=J/2-q[$]/2+(K/2-U/2),et=Ne(Z,ee,G);v.modifiersData[y]=((f={})[C]=et,f.centerOffset=et-ee,f)}},effect:function(t){var f=t.state,v=t.options.element,y=void 0===v?"[data-popper-arrow]":v;null!=y&&("string"!=typeof y||(y=f.elements.popper.querySelector(y)))&&Oe(f.elements.popper,y)&&(f.elements.arrow=y)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fe(t){return t.split("-")[1]}var tr={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(t){var f,v=t.popper,y=t.popperRect,w=t.placement,E=t.variation,A=t.offsets,T=t.position,C=t.gpuAcceleration,$=t.adaptive,N=t.roundOffsets,F=t.isFixed,q=A.x,z=void 0===q?0:q,V=A.y,K=void 0===V?0:V,U="function"==typeof N?N({x:z,y:K}):{x:z,y:K};z=U.x,K=U.y;var X=A.hasOwnProperty("x"),J=A.hasOwnProperty("y"),Z=eR,G="top",ee=window;if($){var et=$e(v),en="clientHeight",es="clientWidth";et===fe(v)&&"static"!==xe(et=Le(v)).position&&"absolute"===T&&(en="scrollHeight",es="scrollWidth"),("top"===w||(w===eR||w===eB)&&"end"===E)&&(G=eq,K-=(F&&et===ee&&ee.visualViewport?ee.visualViewport.height:et[en])-y.height,K*=C?1:-1),w!==eR&&("top"!==w&&w!==eq||"end"!==E)||(Z=eB,z-=(F&&et===ee&&ee.visualViewport?ee.visualViewport.width:et[es])-y.width,z*=C?1:-1)}var er,eo,ea,el,ec,eh,ed=Object.assign({position:T},$&&tr),eu=!0===N?(er={x:z,y:K},eo=fe(v),ea=er.x,el=er.y,{x:tn(ea*(ec=eo.devicePixelRatio||1))/ec||0,y:tn(el*ec)/ec||0}):{x:z,y:K};return z=eu.x,K=eu.y,C?Object.assign({},ed,((eh={})[G]=J?"0":"",eh[Z]=X?"0":"",eh.transform=1>=(ee.devicePixelRatio||1)?"translate("+z+"px, "+K+"px)":"translate3d("+z+"px, "+K+"px, 0)",eh)):Object.assign({},ed,((f={})[G]=J?K+"px":"",f[Z]=X?z+"px":"",f.transform="",f))}let to={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var f=t.state,v=t.options,y=v.gpuAcceleration,w=v.adaptive,E=v.roundOffsets,A=void 0===E||E,T={placement:be(f.placement),variation:Fe(f.placement),popper:f.elements.popper,popperRect:f.rects.popper,gpuAcceleration:void 0===y||y,isFixed:"fixed"===f.options.strategy};null!=f.modifiersData.popperOffsets&&(f.styles.popper=Object.assign({},f.styles.popper,We(Object.assign({},T,{offsets:f.modifiersData.popperOffsets,position:f.options.strategy,adaptive:void 0===w||w,roundOffsets:A})))),null!=f.modifiersData.arrow&&(f.styles.arrow=Object.assign({},f.styles.arrow,We(Object.assign({},T,{offsets:f.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:A})))),f.attributes.popper=Object.assign({},f.attributes.popper,{"data-popper-placement":f.placement})},data:{}};var ta={passive:!0};let tl={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var f=t.state,v=t.instance,y=t.options,w=y.scroll,E=void 0===w||w,A=y.resize,T=void 0===A||A,C=fe(f.elements.popper),$=[].concat(f.scrollParents.reference,f.scrollParents.popper);return E&&$.forEach(function(t){t.addEventListener("scroll",v.update,ta)}),T&&C.addEventListener("resize",v.update,ta),function(){E&&$.forEach(function(t){t.removeEventListener("scroll",v.update,ta)}),T&&C.removeEventListener("resize",v.update,ta)}},data:{}};var tc={left:"right",right:"left",bottom:"top",top:"bottom"};function Ve(t){return t.replace(/left|right|bottom|top/g,function(t){return tc[t]})}var th={start:"end",end:"start"};function Qe(t){return t.replace(/start|end/g,function(t){return th[t]})}function Xe(t){var f=fe(t);return{scrollLeft:f.pageXOffset,scrollTop:f.pageYOffset}}function Ye(t){return Te(Le(t)).left+Xe(t).scrollLeft}function Ue(t){var f=xe(t),v=f.overflow,y=f.overflowX,w=f.overflowY;return/auto|scroll|overlay|hidden/.test(v+w+y)}function Je(t,f){void 0===f&&(f=[]);var v,y=function Ge(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:me(t)&&Ue(t)?t:Ge(Se(t))}(t),w=y===(null==(v=t.ownerDocument)?void 0:v.body),E=fe(y),A=w?[E].concat(E.visualViewport||[],Ue(y)?y:[]):y,T=f.concat(A);return w?T:T.concat(Je(Se(A)))}function Ze(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,f,v){var y,w,E,A,T,C,$,N,F,q;return f===eQ?Ze(function(t,f){var v=fe(t),y=Le(t),w=v.visualViewport,E=y.clientWidth,A=y.clientHeight,T=0,C=0;if(w){E=w.width,A=w.height;var $=Ee();($||!$&&"fixed"===f)&&(T=w.offsetLeft,C=w.offsetTop)}return{width:E,height:A,x:T+Ye(t),y:C}}(t,v)):pe(f)?((y=Te(f,!1,"fixed"===v)).top=y.top+f.clientTop,y.left=y.left+f.clientLeft,y.bottom=y.top+f.clientHeight,y.right=y.left+f.clientWidth,y.width=f.clientWidth,y.height=f.clientHeight,y.x=y.left,y.y=y.top,y):Ze((w=Le(t),A=Le(w),T=Xe(w),C=null==(E=w.ownerDocument)?void 0:E.body,$=te(A.scrollWidth,A.clientWidth,C?C.scrollWidth:0,C?C.clientWidth:0),N=te(A.scrollHeight,A.clientHeight,C?C.scrollHeight:0,C?C.clientHeight:0),F=-T.scrollLeft+Ye(w),q=-T.scrollTop,"rtl"===xe(C||A).direction&&(F+=te(A.clientWidth,C?C.clientWidth:0)-$),{width:$,height:N,x:F,y:q}))}function ei(t){var f,v=t.reference,y=t.element,w=t.placement,E=w?be(w):null,A=w?Fe(w):null,T=v.x+v.width/2-y.width/2,C=v.y+v.height/2-y.height/2;switch(E){case"top":f={x:T,y:v.y-y.height};break;case eq:f={x:T,y:v.y+v.height};break;case eB:f={x:v.x+v.width,y:C};break;case eR:f={x:v.x-y.width,y:C};break;default:f={x:v.x,y:v.y}}var $=E?Ie(E):null;if(null!=$){var N="y"===$?"height":"width";switch(A){case eK:f[$]=f[$]-(v[N]/2-y[N]/2);break;case"end":f[$]=f[$]+(v[N]/2-y[N]/2)}}return f}function ii(t,f){void 0===f&&(f={});var v,y,w,E,A,T,C,$,N=f,F=N.placement,q=void 0===F?t.placement:F,z=N.strategy,V=void 0===z?t.strategy:z,K=N.boundary,U=N.rootBoundary,X=N.elementContext,J=void 0===X?eU:X,Z=N.altBoundary,G=N.padding,ee=void 0===G?0:G,et=Pe("number"!=typeof ee?ee:je(ee,eV)),en=t.rects.popper,es=t.elements[void 0!==Z&&Z?J===eU?eX:eU:J],er=(v=pe(es)?es:es.contextElement||Le(t.elements.popper),y=void 0===K?eY:K,w=void 0===U?eQ:U,C=(T=[].concat("clippingParents"===y?(E=Je(Se(v)),pe(A=["absolute","fixed"].indexOf(xe(v).position)>=0&&me(v)?$e(v):v)?E.filter(function(t){return pe(t)&&Oe(t,A)&&"body"!==ue(t)}):[]):[].concat(y),[w]))[0],($=T.reduce(function(t,f){var y=ti(v,f,V);return t.top=te(y.top,t.top),t.right=tt(y.right,t.right),t.bottom=tt(y.bottom,t.bottom),t.left=te(y.left,t.left),t},ti(v,C,V))).width=$.right-$.left,$.height=$.bottom-$.top,$.x=$.left,$.y=$.top,$),eo=Te(t.elements.reference),ea=ei({reference:eo,element:en,strategy:"absolute",placement:q}),el=Ze(Object.assign({},en,ea)),ec=J===eU?el:eo,eh={top:er.top-ec.top+et.top,bottom:ec.bottom-er.bottom+et.bottom,left:er.left-ec.left+et.left,right:ec.right-er.right+et.right},ed=t.modifiersData.offset;if(J===eU&&ed){var eu=ed[q];Object.keys(eh).forEach(function(t){var f=[eB,eq].indexOf(t)>=0?1:-1,v=["top",eq].indexOf(t)>=0?"y":"x";eh[t]+=eu[v]*f})}return eh}let td={name:"flip",enabled:!0,phase:"main",fn:function(t){var f=t.state,v=t.options,y=t.name;if(!f.modifiersData[y]._skip){for(var w=v.mainAxis,E=void 0===w||w,A=v.altAxis,T=void 0===A||A,C=v.fallbackPlacements,$=v.padding,N=v.boundary,F=v.rootBoundary,q=v.altBoundary,z=v.flipVariations,V=void 0===z||z,K=v.allowedAutoPlacements,U=f.options.placement,X=be(U),J=C||(X!==U&&V?function(t){if(be(t)===ez)return[];var f=Ve(t);return[Qe(t),f,Qe(f)]}(U):[Ve(U)]),Z=[U].concat(J).reduce(function(t,v){var y,w,E,A,T,C,q,z,U,X,J,Z;return t.concat(be(v)===ez?(w=(y={placement:v,boundary:N,rootBoundary:F,padding:$,flipVariations:V,allowedAutoPlacements:K}).placement,E=y.boundary,A=y.rootBoundary,T=y.padding,C=y.flipVariations,z=void 0===(q=y.allowedAutoPlacements)?eZ:q,0===(J=(X=(U=Fe(w))?C?eJ:eJ.filter(function(t){return Fe(t)===U}):eV).filter(function(t){return z.indexOf(t)>=0})).length&&(J=X),Object.keys(Z=J.reduce(function(t,v){return t[v]=ii(f,{placement:v,boundary:E,rootBoundary:A,padding:T})[be(v)],t},{})).sort(function(t,f){return Z[t]-Z[f]})):v)},[]),G=f.rects.reference,ee=f.rects.popper,et=new Map,en=!0,es=Z[0],er=0;er=0,eh=ec?"width":"height",ed=ii(f,{placement:eo,boundary:N,rootBoundary:F,altBoundary:q,padding:$}),eu=ec?el?eB:eR:el?eq:"top";G[eh]>ee[eh]&&(eu=Ve(eu));var ef=Ve(eu),ep=[];if(E&&ep.push(ed[ea]<=0),T&&ep.push(ed[eu]<=0,ed[ef]<=0),ep.every(function(t){return t})){es=eo,en=!1;break}et.set(eo,ep)}if(en)for(var P=function(t){var f=Z.find(function(f){var v=et.get(f);if(v)return v.slice(0,t).every(function(t){return t})});if(f)return es=f,"break"},em=V?3:1;em>0&&"break"!==P(em);em--);f.placement!==es&&(f.modifiersData[y]._skip=!0,f.placement=es,f.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function oi(t,f,v){return void 0===v&&(v={x:0,y:0}),{top:t.top-f.height-v.y,right:t.right-f.width+v.x,bottom:t.bottom-f.height+v.y,left:t.left-f.width-v.x}}function ri(t){return["top",eB,eq,eR].some(function(f){return t[f]>=0})}let tu={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var f=t.state,v=t.name,y=f.rects.reference,w=f.rects.popper,E=f.modifiersData.preventOverflow,A=ii(f,{elementContext:"reference"}),T=ii(f,{altBoundary:!0}),C=oi(A,y),$=oi(T,w,E),N=ri(C),F=ri($);f.modifiersData[v]={referenceClippingOffsets:C,popperEscapeOffsets:$,isReferenceHidden:N,hasPopperEscaped:F},f.attributes.popper=Object.assign({},f.attributes.popper,{"data-popper-reference-hidden":N,"data-popper-escaped":F})}},tf={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var f=t.state,v=t.options,y=t.name,w=v.offset,E=void 0===w?[0,0]:w,A=eZ.reduce(function(t,v){var y,w,A,T,C,$;return t[v]=(y=f.rects,A=[eR,"top"].indexOf(w=be(v))>=0?-1:1,C=(T="function"==typeof E?E(Object.assign({},y,{placement:v})):E)[0],$=T[1],C=C||0,$=($||0)*A,[eR,eB].indexOf(w)>=0?{x:$,y:C}:{x:C,y:$}),t},{}),T=A[f.placement],C=T.x,$=T.y;null!=f.modifiersData.popperOffsets&&(f.modifiersData.popperOffsets.x+=C,f.modifiersData.popperOffsets.y+=$),f.modifiersData[y]=A}},tp={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var f=t.state,v=t.name;f.modifiersData[v]=ei({reference:f.rects.reference,element:f.rects.popper,strategy:"absolute",placement:f.placement})},data:{}},tm={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var f=t.state,v=t.options,y=t.name,w=v.mainAxis,E=v.altAxis,A=v.boundary,T=v.rootBoundary,C=v.altBoundary,$=v.padding,N=v.tether,F=void 0===N||N,q=v.tetherOffset,z=void 0===q?0:q,V=ii(f,{boundary:A,rootBoundary:T,padding:$,altBoundary:C}),K=be(f.placement),U=Fe(f.placement),X=!U,J=Ie(K),Z="x"===J?"y":"x",G=f.modifiersData.popperOffsets,ee=f.rects.reference,et=f.rects.popper,en="function"==typeof z?z(Object.assign({},f.rects,{placement:f.placement})):z,es="number"==typeof en?{mainAxis:en,altAxis:en}:Object.assign({mainAxis:0,altAxis:0},en),er=f.modifiersData.offset?f.modifiersData.offset[f.placement]:null,eo={x:0,y:0};if(G){if(void 0===w||w){var ea,el="y"===J?"top":eR,ec="y"===J?eq:eB,eh="y"===J?"height":"width",ed=G[J],eu=ed+V[el],ef=ed-V[ec],ep=F?-et[eh]/2:0,em=U===eK?ee[eh]:et[eh],eg=U===eK?-et[eh]:-ee[eh],e_=f.elements.arrow,eb=F&&e_?Ce(e_):{width:0,height:0},ev=f.modifiersData["arrow#persistent"]?f.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},ey=ev[el],ew=ev[ec],eE=Ne(0,ee[eh],eb[eh]),eA=X?ee[eh]/2-ep-eE-ey-es.mainAxis:em-eE-ey-es.mainAxis,eT=X?-ee[eh]/2+ep+eE+ew+es.mainAxis:eg+eE+ew+es.mainAxis,eC=f.elements.arrow&&$e(f.elements.arrow),eO=eC?"y"===J?eC.clientTop||0:eC.clientLeft||0:0,ex=null!=(ea=null==er?void 0:er[J])?ea:0,ek=ed+eT-ex,eL=Ne(F?tt(eu,ed+eA-ex-eO):eu,ed,F?te(ef,ek):ef);G[J]=eL,eo[J]=eL-ed}if(void 0!==E&&E){var eS,eD,e$="x"===J?"top":eR,eI="x"===J?eq:eB,eN=G[Z],eP="y"===Z?"height":"width",ej=eN+V[e$],eM=eN-V[eI],eF=-1!==["top",eR].indexOf(K),eW=null!=(eD=null==er?void 0:er[Z])?eD:0,eH=eF?ej:eN-ee[eP]-et[eP]-eW+es.altAxis,ez=eF?eN+ee[eP]+et[eP]-eW-es.altAxis:eM,eV=F&&eF?(eS=Ne(eH,eN,ez))>ez?ez:eS:Ne(F?eH:ej,eN,F?ez:eM);G[Z]=eV,eo[Z]=eV-eN}f.modifiersData[y]=eo}},requiresIfExists:["offset"]};var tg={placement:"bottom",modifiers:[],strategy:"absolute"};function pi(){for(var t=arguments.length,f=Array(t),v=0;vNumber.parseInt(t,10)):"function"==typeof t?f=>t(f,this._element):t}_getPopperConfig(){let t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(q.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:f}){let v=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(t=>a(t));v.length&&b(v,f,t===tT,!v.includes(f)).focus()}static jQueryInterface(t){return this.each(function(){let f=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===f[t])throw TypeError(`No method named "${t}"`);f[t]()}})}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;let f=z.find(tN);for(let v of f){let f=qi.getInstance(v);if(!f||!1===f._config.autoClose)continue;let y=t.composedPath(),w=y.includes(f._menu);if(y.includes(f._element)||"inside"===f._config.autoClose&&!w||"outside"===f._config.autoClose&&w||f._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;let E={relatedTarget:f._element};"click"===t.type&&(E.clickEvent=t),f._completeHide(E)}}static dataApiKeydownHandler(t){let f=/input|textarea/i.test(t.target.tagName),v="Escape"===t.key,y=["ArrowUp",tT].includes(t.key);if(!y&&!v||f&&!v)return;t.preventDefault();let w=this.matches(tI)?this:z.prev(this,tI)[0]||z.next(this,tI)[0]||z.findOne(tI,t.delegateTarget.parentNode),E=qi.getOrCreateInstance(w);if(y)return t.stopPropagation(),E.show(),void E._selectMenuItem(t);E._isShown()&&(t.stopPropagation(),E.hide(),w.focus())}};F.on(document,tS,tI,qi.dataApiKeydownHandler),F.on(document,tS,tP,qi.dataApiKeydownHandler),F.on(document,tL,qi.clearMenus),F.on(document,tD,qi.clearMenus),F.on(document,tL,tI,function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()}),m(qi);let tz="backdrop",tV="show",tK=`mousedown.bs.${tz}`,tY={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},tQ={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};let Ui=class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return tY}static get DefaultType(){return tQ}static get NAME(){return tz}show(t){if(!this._config.isVisible)return void g(t);this._append();let f=this._getElement();this._config.isAnimated&&d(f),f.classList.add(tV),this._emulateAnimation(()=>{g(t)})}hide(t){this._config.isVisible?(this._getElement().classList.remove(tV),this._emulateAnimation(()=>{this.dispose(),g(t)})):g(t)}dispose(){this._isAppended&&(F.off(this._element,tK),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){let t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;let t=this._getElement();this._config.rootElement.append(t),F.on(t,tK,()=>{g(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}};let tU=".bs.focustrap",tX=`focusin${tU}`,tJ=`keydown.tab${tU}`,tZ="backward",tG={autofocus:!0,trapElement:null},t0={autofocus:"boolean",trapElement:"element"};let sn=class sn extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return tG}static get DefaultType(){return t0}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),F.off(document,tU),F.on(document,tX,t=>this._handleFocusin(t)),F.on(document,tJ,t=>this._handleKeydown(t)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,F.off(document,tU))}_handleFocusin(t){let{trapElement:f}=this._config;if(t.target===document||t.target===f||f.contains(t.target))return;let v=z.focusableChildren(f);0===v.length?f.focus():this._lastTabNavDirection===tZ?v[v.length-1].focus():v[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tZ:"forward")}};let t1=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",t2=".sticky-top",t3="padding-right",t5="margin-right";let cn=class cn{constructor(){this._element=document.body}getWidth(){let t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){let t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,t3,f=>f+t),this._setElementAttributes(t1,t3,f=>f+t),this._setElementAttributes(t2,t5,f=>f-t)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,t3),this._resetElementAttributes(t1,t3),this._resetElementAttributes(t2,t5)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,f,v){let y=this.getWidth();this._applyManipulationCallback(t,t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+y)return;this._saveInitialAttribute(t,f);let w=window.getComputedStyle(t).getPropertyValue(f);t.style.setProperty(f,`${v(Number.parseFloat(w))}px`)})}_saveInitialAttribute(t,f){let v=t.style.getPropertyValue(f);v&&q.setDataAttribute(t,f,v)}_resetElementAttributes(t,f){this._applyManipulationCallback(t,t=>{let v=q.getDataAttribute(t,f);null!==v?(q.removeDataAttribute(t,f),t.style.setProperty(f,v)):t.style.removeProperty(f)})}_applyManipulationCallback(t,f){if(o(t))f(t);else for(let v of z.find(t,this._element))f(v)}};let t6=".bs.modal",t4=`hide${t6}`,t7=`hidePrevented${t6}`,t8=`hidden${t6}`,t9=`show${t6}`,ie=`shown${t6}`,it=`resize${t6}`,is=`click.dismiss${t6}`,ir=`mousedown.dismiss${t6}`,io=`keydown.dismiss${t6}`,ia=`click${t6}.data-api`,il="modal-open",ic="show",ih="modal-static",id={backdrop:!0,focus:!0,keyboard:!0},iu={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};let On=class On extends W{constructor(t,f){super(t,f),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return id}static get DefaultType(){return iu}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||F.trigger(this._element,t9,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(il),this._adjustDialog(),this._backdrop.show(()=>this._showElement(t)))}hide(){this._isShown&&!this._isTransitioning&&(F.trigger(this._element,t4).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(ic),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated())))}dispose(){F.off(window,t6),F.off(this._dialog,t6),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;let f=z.findOne(".modal-body",this._dialog);f&&(f.scrollTop=0),d(this._element),this._element.classList.add(ic),this._queueCallback(()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,F.trigger(this._element,ie,{relatedTarget:t})},this._dialog,this._isAnimated())}_addEventListeners(){F.on(this._element,io,t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())}),F.on(window,it,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),F.on(this._element,ir,t=>{F.one(this._element,is,f=>{this._element===t.target&&this._element===f.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(il),this._resetAdjustments(),this._scrollBar.reset(),F.trigger(this._element,t8)})}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(F.trigger(this._element,t7).defaultPrevented)return;let t=this._element.scrollHeight>document.documentElement.clientHeight,f=this._element.style.overflowY;"hidden"===f||this._element.classList.contains(ih)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(ih),this._queueCallback(()=>{this._element.classList.remove(ih),this._queueCallback(()=>{this._element.style.overflowY=f},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){let t=this._element.scrollHeight>document.documentElement.clientHeight,f=this._scrollBar.getWidth(),v=f>0;if(v&&!t){let t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${f}px`}if(!v&&t){let t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${f}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,f){return this.each(function(){let v=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===v[t])throw TypeError(`No method named "${t}"`);v[t](f)}})}};F.on(document,ia,'[data-bs-toggle="modal"]',function(t){let f=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),F.one(f,t9,t=>{t.defaultPrevented||F.one(f,t8,()=>{a(this)&&this.focus()})});let v=z.findOne(".modal.show");v&&On.getInstance(v).hide(),On.getOrCreateInstance(f).toggle(this)}),R(On),m(On);let ip=".bs.offcanvas",im=".data-api",ig=`load${ip}${im}`,i_="show",ib="showing",iv="hiding",iy=".offcanvas.show",iw=`show${ip}`,iE=`shown${ip}`,iA=`hide${ip}`,iT=`hidePrevented${ip}`,iC=`hidden${ip}`,iO=`resize${ip}`,ix=`click${ip}${im}`,ik=`keydown.dismiss${ip}`,iL={backdrop:!0,keyboard:!0,scroll:!1},iS={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};let qn=class qn extends W{constructor(t,f){super(t,f),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return iL}static get DefaultType(){return iS}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||F.trigger(this._element,iw,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ib),this._queueCallback(()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(i_),this._element.classList.remove(ib),F.trigger(this._element,iE,{relatedTarget:t})},this._element,!0))}hide(){this._isShown&&(F.trigger(this._element,iA).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(iv),this._backdrop.hide(),this._queueCallback(()=>{this._element.classList.remove(i_,iv),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),F.trigger(this._element,iC)},this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){let t=!!this._config.backdrop;return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():F.trigger(this._element,iT)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){F.on(this._element,ik,t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():F.trigger(this._element,iT))})}static jQueryInterface(t){return this.each(function(){let f=qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===f[t]||t.startsWith("_")||"constructor"===t)throw TypeError(`No method named "${t}"`);f[t](this)}})}};F.on(document,ix,'[data-bs-toggle="offcanvas"]',function(t){let f=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;F.one(f,iC,()=>{a(this)&&this.focus()});let v=z.findOne(iy);v&&v!==f&&qn.getInstance(v).hide(),qn.getOrCreateInstance(f).toggle(this)}),F.on(window,ig,()=>{for(let t of z.find(iy))qn.getOrCreateInstance(t).show()}),F.on(window,iO,()=>{for(let t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()}),R(qn),m(qn);let iD={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},i$=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),iI=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,f)=>{let v=t.nodeName.toLowerCase();return f.includes(v)?!i$.has(v)||!!iI.test(t.nodeValue):f.filter(t=>t instanceof RegExp).some(t=>t.test(v))},iN={allowList:iD,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},iP={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},ij={entry:"(string|element|function|null)",selector:"(string|element)"};let Jn=class Jn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return iN}static get DefaultType(){return iP}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map(t=>this._resolvePossibleFunction(t)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){let t=document.createElement("div");for(let[f,v]of(t.innerHTML=this._maybeSanitize(this._config.template),Object.entries(this._config.content)))this._setContent(t,v,f);let f=t.children[0],v=this._resolvePossibleFunction(this._config.extraClass);return v&&f.classList.add(...v.split(" ")),f}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(let[f,v]of Object.entries(t))super._typeCheckConfig({selector:f,entry:v},ij)}_setContent(t,f,v){let y=z.findOne(v,t);y&&((f=this._resolvePossibleFunction(f))?o(f)?this._putElementInTemplate(r(f),y):this._config.html?y.innerHTML=this._maybeSanitize(f):y.textContent=f:y.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,f,v){if(!t.length)return t;if(v&&"function"==typeof v)return v(t);let y=(new window.DOMParser).parseFromString(t,"text/html"),w=[].concat(...y.body.querySelectorAll("*"));for(let t of w){let v=t.nodeName.toLowerCase();if(!Object.keys(f).includes(v)){t.remove();continue}let y=[].concat(...t.attributes),w=[].concat(f["*"]||[],f[v]||[]);for(let f of y)Xn(f,w)||t.removeAttribute(f.nodeName)}return y.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,f){if(this._config.html)return f.innerHTML="",void f.append(t);f.textContent=t.textContent}};let iM=new Set(["sanitize","allowList","sanitizeFn"]),iF="fade",iW="show",iH=".modal",iq="hide.bs.modal",iB="hover",iR="focus",iz={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},iV={allowList:iD,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},iK={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};let cs=class cs extends W{constructor(t,f){if(void 0===ty)throw TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,f),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return iV}static get DefaultType(){return iK}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),F.off(this._element.closest(iH),iq,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;let t=F.trigger(this._element,this.constructor.eventName("show")),f=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!f)return;this._disposePopper();let v=this._getTipElement();this._element.setAttribute("aria-describedby",v.getAttribute("id"));let{container:y}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(y.append(v),F.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(v),v.classList.add(iW),"ontouchstart"in document.documentElement)for(let t of[].concat(...document.body.children))F.on(t,"mouseover",h);this._queueCallback(()=>{F.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!F.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(iW),"ontouchstart"in document.documentElement)for(let t of[].concat(...document.body.children))F.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger[iR]=!1,this._activeTrigger[iB]=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),F.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){let f=this._getTemplateFactory(t).toHtml();if(!f)return null;f.classList.remove(iF,iW),f.classList.add(`bs-${this.constructor.NAME}-auto`);let v=(t=>{do t+=Math.floor(1e6*Math.random());while(document.getElementById(t));return t})(this.constructor.NAME).toString();return f.setAttribute("id",v),this._isAnimated()&&f.classList.add(iF),f}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(iF)}_isShown(){return this.tip&&this.tip.classList.contains(iW)}_createPopper(t){let f=g(this._config.placement,[this,t,this._element]),v=iz[f.toUpperCase()];return tv(this._element,t,this._getPopperConfig(v))}_getOffset(){let{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?f=>t(f,this._element):t}_resolvePossibleFunction(t){return g(t,[this._element])}_getPopperConfig(t){let f={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...f,...g(this._config.popperConfig,[f])}}_setListeners(){let t=this._config.trigger.split(" ");for(let f of t)if("click"===f)F.on(this._element,this.constructor.eventName("click"),this._config.selector,t=>{this._initializeOnDelegatedTarget(t).toggle()});else if("manual"!==f){let t=f===iB?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),v=f===iB?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");F.on(this._element,t,this._config.selector,t=>{let f=this._initializeOnDelegatedTarget(t);f._activeTrigger["focusin"===t.type?iR:iB]=!0,f._enter()}),F.on(this._element,v,this._config.selector,t=>{let f=this._initializeOnDelegatedTarget(t);f._activeTrigger["focusout"===t.type?iR:iB]=f._element.contains(t.relatedTarget),f._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},F.on(this._element.closest(iH),iq,this._hideModalHandler)}_fixTitle(){let t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(t,f){clearTimeout(this._timeout),this._timeout=setTimeout(t,f)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){let f=q.getDataAttributes(this._element);for(let t of Object.keys(f))iM.has(t)&&delete f[t];return t={...f,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){let t={};for(let[f,v]of Object.entries(this._config))this.constructor.Default[f]!==v&&(t[f]=v);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each(function(){let f=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===f[t])throw TypeError(`No method named "${t}"`);f[t]()}})}};m(cs);let iY={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},iQ={...cs.DefaultType,content:"(null|string|element|function)"};let us=class us extends cs{static get Default(){return iY}static get DefaultType(){return iQ}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each(function(){let f=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===f[t])throw TypeError(`No method named "${t}"`);f[t]()}})}};m(us);let iU=".bs.scrollspy",iX=`activate${iU}`,iJ=`click${iU}`,iZ=`load${iU}.data-api`,iG="active",i0="[href]",i1=".nav-link",i2=`${i1}, .nav-item > ${i1}, .list-group-item`,i3={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},i5={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};let Es=class Es extends W{constructor(t,f){super(t,f),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return i3}static get DefaultType(){return i5}static get NAME(){return"scrollspy"}refresh(){for(let t of(this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver(),this._observableSections.values()))this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map(t=>Number.parseFloat(t))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(F.off(this._config.target,iJ),F.on(this._config.target,iJ,i0,t=>{let f=this._observableSections.get(t.target.hash);if(f){t.preventDefault();let v=this._rootElement||window,y=f.offsetTop-this._element.offsetTop;if(v.scrollTo)return void v.scrollTo({top:y,behavior:"smooth"});v.scrollTop=y}}))}_getNewObserver(){let t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(t=>this._observerCallback(t),t)}_observerCallback(t){let e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},f=(this._rootElement||document.documentElement).scrollTop,v=f>=this._previousScrollData.parentScrollTop;for(let y of(this._previousScrollData.parentScrollTop=f,t)){if(!y.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(y));continue}let t=y.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(v&&t){if(i(y),!f)return}else v||t||i(y)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;let t=z.find(i0,this._config.target);for(let f of t){if(!f.hash||l(f))continue;let t=z.findOne(decodeURI(f.hash),this._element);a(t)&&(this._targetLinks.set(decodeURI(f.hash),f),this._observableSections.set(f.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(iG),this._activateParents(t),F.trigger(this._element,iX,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(iG);else for(let f of z.parents(t,".nav, .list-group"))for(let t of z.prev(f,i2))t.classList.add(iG)}_clearActiveClass(t){t.classList.remove(iG);let f=z.find(`${i0}.${iG}`,t);for(let t of f)t.classList.remove(iG)}static jQueryInterface(t){return this.each(function(){let f=Es.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===f[t]||t.startsWith("_")||"constructor"===t)throw TypeError(`No method named "${t}"`);f[t]()}})}};F.on(window,iZ,()=>{for(let t of z.find('[data-bs-spy="scroll"]'))Es.getOrCreateInstance(t)}),m(Es);let i6=".bs.tab",i4=`hide${i6}`,i7=`hidden${i6}`,i8=`show${i6}`,i9=`shown${i6}`,ne=`click${i6}`,nt=`keydown${i6}`,ni=`load${i6}`,nn="ArrowRight",ns="ArrowDown",nr="Home",no="active",na="fade",nl="show",nc=".dropdown-toggle",nh=`:not(${nc})`,nd='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',nu=`.nav-link${nh}, .list-group-item${nh}, [role="tab"]${nh}, ${nd}`,nf=`.${no}[data-bs-toggle="tab"], .${no}[data-bs-toggle="pill"], .${no}[data-bs-toggle="list"]`;let Ks=class Ks extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),F.on(this._element,nt,t=>this._keydown(t)))}static get NAME(){return"tab"}show(){let t=this._element;if(this._elemIsActive(t))return;let f=this._getActiveElem(),v=f?F.trigger(f,i4,{relatedTarget:t}):null;F.trigger(t,i8,{relatedTarget:f}).defaultPrevented||v&&v.defaultPrevented||(this._deactivate(f,t),this._activate(t,f))}_activate(t,f){t&&(t.classList.add(no),this._activate(z.getElementFromSelector(t)),this._queueCallback(()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),F.trigger(t,i9,{relatedTarget:f})):t.classList.add(nl)},t,t.classList.contains(na)))}_deactivate(t,f){t&&(t.classList.remove(no),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback(()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),F.trigger(t,i7,{relatedTarget:f})):t.classList.remove(nl)},t,t.classList.contains(na)))}_keydown(t){let f;if(!["ArrowLeft",nn,"ArrowUp",ns,nr,"End"].includes(t.key))return;t.stopPropagation(),t.preventDefault();let v=this._getChildren().filter(t=>!l(t));if([nr,"End"].includes(t.key))f=v[t.key===nr?0:v.length-1];else{let y=[nn,ns].includes(t.key);f=b(v,t.target,y,!0)}f&&(f.focus({preventScroll:!0}),Ks.getOrCreateInstance(f).show())}_getChildren(){return z.find(nu,this._parent)}_getActiveElem(){return this._getChildren().find(t=>this._elemIsActive(t))||null}_setInitialAttributes(t,f){for(let v of(this._setAttributeIfNotExists(t,"role","tablist"),f))this._setInitialAttributesOnChild(v)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);let f=this._elemIsActive(t),v=this._getOuterElement(t);t.setAttribute("aria-selected",f),v!==t&&this._setAttributeIfNotExists(v,"role","presentation"),f||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){let f=z.getElementFromSelector(t);f&&(this._setAttributeIfNotExists(f,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(f,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,f){let v=this._getOuterElement(t);if(!v.classList.contains("dropdown"))return;let n=(t,y)=>{let w=z.findOne(t,v);w&&w.classList.toggle(y,f)};n(nc,no),n(".dropdown-menu",nl),v.setAttribute("aria-expanded",f)}_setAttributeIfNotExists(t,f,v){t.hasAttribute(f)||t.setAttribute(f,v)}_elemIsActive(t){return t.classList.contains(no)}_getInnerElement(t){return t.matches(nu)?t:z.findOne(nu,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each(function(){let f=Ks.getOrCreateInstance(this);if("string"==typeof t){if(void 0===f[t]||t.startsWith("_")||"constructor"===t)throw TypeError(`No method named "${t}"`);f[t]()}})}};F.on(document,ne,nd,function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Ks.getOrCreateInstance(this).show()}),F.on(window,ni,()=>{for(let t of z.find(nf))Ks.getOrCreateInstance(t)}),m(Ks);let np=".bs.toast",nm=`mouseover${np}`,ng=`mouseout${np}`,n_=`focusin${np}`,nb=`focusout${np}`,nv=`hide${np}`,ny=`hidden${np}`,nw=`show${np}`,nE=`shown${np}`,nA="hide",nT="show",nC="showing",nO={animation:"boolean",autohide:"boolean",delay:"number"},nx={animation:!0,autohide:!0,delay:5e3};let ao=class ao extends W{constructor(t,f){super(t,f),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return nx}static get DefaultType(){return nO}static get NAME(){return"toast"}show(){F.trigger(this._element,nw).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(nA),d(this._element),this._element.classList.add(nT,nC),this._queueCallback(()=>{this._element.classList.remove(nC),F.trigger(this._element,nE),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(F.trigger(this._element,nv).defaultPrevented||(this._element.classList.add(nC),this._queueCallback(()=>{this._element.classList.add(nA),this._element.classList.remove(nC,nT),F.trigger(this._element,ny)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(nT),super.dispose()}isShown(){return this._element.classList.contains(nT)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,f){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=f;break;case"focusin":case"focusout":this._hasKeyboardInteraction=f}if(f)return void this._clearTimeout();let v=t.relatedTarget;this._element===v||this._element.contains(v)||this._maybeScheduleHide()}_setListeners(){F.on(this._element,nm,t=>this._onInteraction(t,!0)),F.on(this._element,ng,t=>this._onInteraction(t,!1)),F.on(this._element,n_,t=>this._onInteraction(t,!0)),F.on(this._element,nb,t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each(function(){let f=ao.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===f[t])throw TypeError(`No method named "${t}"`);f[t](this)}})}};return R(ao),m(ao),{Alert:Q,Button:Y,Carousel:xt,Collapse:Bt,Dropdown:qi,Modal:On,Offcanvas:qn,Popover:us,ScrollSpy:Es,Tab:Ks,Toast:ao,Tooltip:cs}}()},2611:function(){}}]); \ No newline at end of file diff --git a/FE/.next/static/chunks/framework-825c16b9e70f8bdd.js b/FE/.next/static/chunks/framework-825c16b9e70f8bdd.js new file mode 100644 index 0000000000..cb64daa30c --- /dev/null +++ b/FE/.next/static/chunks/framework-825c16b9e70f8bdd.js @@ -0,0 +1,33 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[774],{4448:function(n,t,a){/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var i,u,o,s,w,x,C=a(7294),_=a(9136);function p(n){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+n,a=1;a