diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..bffb357 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "next/core-web-vitals" +} diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml deleted file mode 100644 index 6b8da74..0000000 --- a/.github/workflows/publish.yaml +++ /dev/null @@ -1,17 +0,0 @@ -name: Publish to GitHub Pages - -on: - push: - branches: [master] - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - uses: subosito/flutter-action@v1 - - uses: bluefireteam/flutter-gh-pages@v7 - with: - webRenderer: canvaskit - # baseHref: /s5_practice/ diff --git a/.gitignore b/.gitignore index 0d60e6b..c87c9b3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,50 +1,36 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc .DS_Store -.atom/ -.buildlog/ -.history -.svn/ -migrate_working_dir/ +*.pem -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ +# local env files +.env*.local -# Flutter/Dart/Pub related -**/doc/api/ -**/ios/Flutter/.last_build_id -.dart_tool/ -.flutter-plugins -.flutter-plugins-dependencies -.packages -.pub-cache/ -.pub/ -/build/ +# vercel +.vercel -# Web related -lib/generated_plugin_registrant.dart - -# Symbolication related -app.*.symbols - -# Obfuscation related -app.*.map.json - -# Android Studio will place build artifacts here -/android/app/debug -/android/app/profile -/android/app/release - -# moodle_gen.py output -radioamaterstvo.xml \ No newline at end of file +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/.metadata b/.metadata deleted file mode 100644 index 2544bab..0000000 --- a/.metadata +++ /dev/null @@ -1,30 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled. - -version: - revision: f1875d570e39de09040c8f79aa13cc56baab8db1 - channel: stable - -project_type: app - -# Tracks metadata for the flutter migrate command -migration: - platforms: - - platform: root - create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 - base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 - - platform: android - create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 - base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 - - # User provided section - - # List of Local paths (relative to this file) that should be - # ignored by the migrate tool. - # - # Files that are not part of the templates will be ignored by default. - unmanaged_files: - - 'lib/main.dart' - - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 9275d4d..0000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "configurations": [ - { - "name": "HTML (lib\\main.dart)", - "type": "dart", - "request": "launch", - "program": "lib\\main.dart", - "args": ["--web-renderer", "html"] - }, - { - "name": "Canvaskit (lib\\main.dart)", - "type": "dart", - "request": "launch", - "program": "lib\\main.dart", - "args": ["--web-renderer", "canvaskit"] - } - ] -} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..bd3337f --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "typescript.tsdk": "node_modules\\typescript\\lib", + "typescript.enablePromptUseWorkspaceTsdk": true +} \ No newline at end of file diff --git a/README.md b/README.md index 761dd84..baa987b 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,32 @@ -# s5_practice +# Radioamateski izpit -S5 Practice Exam Questions +Uporabljene tehnologije: + +- Next.js +- TailwindCSS +- Zustand + +## TODO + +- [ ] Domača stran + - [ ] Uvod + - [ ] Uporabne povezave +- [ ] Priprave + - [ ] Vaje po kategorijah + - [ ] Izpis vseh vprašanj + - [ ] Simulacija izpita + - [ ] Persistenca? + - [ ] Katex +- [ ] Generator pol + - [ ] A / N razred + - [ ] Pravilno generiranje + - [ ] Stran s pravilnimi odgovori + - [ ] Številka pole v glavi + - [ ] Katex + - [ ] Slike + - [ ] PDF? + - [ ] Prepreči lom strani med vprašanjem in odgovori + +## Viri + +- [Primer pole](http://www.volkd.si/Izpitna/A-094.pdf) diff --git a/analysis_options.yaml b/analysis_options.yaml deleted file mode 100644 index 7bc6af0..0000000 --- a/analysis_options.yaml +++ /dev/null @@ -1,7 +0,0 @@ -include: package:flutter_lints/flutter.yaml - -linter: - rules: - avoid_print: false - prefer_single_quotes: true - prefer_relative_imports: true diff --git a/android/.gitignore b/android/.gitignore deleted file mode 100644 index 6f56801..0000000 --- a/android/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -gradle-wrapper.jar -/.gradle -/captures/ -/gradlew -/gradlew.bat -/local.properties -GeneratedPluginRegistrant.java - -# Remember to never publicly share your keystore. -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app -key.properties -**/*.keystore -**/*.jks diff --git a/android/app/build.gradle b/android/app/build.gradle deleted file mode 100644 index 5148c1a..0000000 --- a/android/app/build.gradle +++ /dev/null @@ -1,81 +0,0 @@ -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def keystoreProperties = new Properties() - def keystorePropertiesFile = rootProject.file('key.properties') - if (keystorePropertiesFile.exists()) { - keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) - } - -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - -android { - compileSdkVersion flutter.compileSdkVersion - ndkVersion flutter.ndkVersion - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - - kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' - } - - defaultConfig { - applicationId "cc.jkob.s5_practice" - minSdkVersion flutter.minSdkVersion - targetSdkVersion flutter.targetSdkVersion - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName - } - - signingConfigs { - release { - keyAlias keystoreProperties['keyAlias'] - keyPassword keystoreProperties['keyPassword'] - storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null - storePassword keystoreProperties['storePassword'] - } - } - - buildTypes { - release { - signingConfig signingConfigs.release - } - } -} - -flutter { - source '../..' -} - -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index edf6631..0000000 --- a/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - \ No newline at end of file diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index 65d0b1f..0000000 --- a/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/android/app/src/main/kotlin/cc/jkob/s5_practice/MainActivity.kt b/android/app/src/main/kotlin/cc/jkob/s5_practice/MainActivity.kt deleted file mode 100644 index d1a62e7..0000000 --- a/android/app/src/main/kotlin/cc/jkob/s5_practice/MainActivity.kt +++ /dev/null @@ -1,6 +0,0 @@ -package cc.jkob.s5_practice - -import io.flutter.embedding.android.FlutterActivity - -class MainActivity: FlutterActivity() { -} diff --git a/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png deleted file mode 100644 index 2edebae..0000000 Binary files a/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png deleted file mode 100644 index a962bfe..0000000 Binary files a/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/android/app/src/main/res/drawable-v21/launch_background.xml b/android/app/src/main/res/drawable-v21/launch_background.xml deleted file mode 100644 index f74085f..0000000 --- a/android/app/src/main/res/drawable-v21/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png deleted file mode 100644 index d65bf0a..0000000 Binary files a/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png deleted file mode 100644 index 2db7a48..0000000 Binary files a/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png deleted file mode 100644 index 025452b..0000000 Binary files a/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/android/app/src/main/res/drawable/launch_background.xml b/android/app/src/main/res/drawable/launch_background.xml deleted file mode 100644 index 304732f..0000000 --- a/android/app/src/main/res/drawable/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml deleted file mode 100644 index 5f349f7..0000000 --- a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index 6670cd4..0000000 Binary files a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 10f1375..0000000 Binary files a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index c83aa21..0000000 Binary files a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index 9b7dc9c..0000000 Binary files a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 5509b38..0000000 Binary files a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/android/app/src/main/res/values-night/styles.xml b/android/app/src/main/res/values-night/styles.xml deleted file mode 100644 index 06952be..0000000 --- a/android/app/src/main/res/values-night/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/android/app/src/main/res/values/colors.xml b/android/app/src/main/res/values/colors.xml deleted file mode 100644 index eba2ec4..0000000 --- a/android/app/src/main/res/values/colors.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - #197CD7 - \ No newline at end of file diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml deleted file mode 100644 index cb1ef88..0000000 --- a/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml deleted file mode 100644 index edf6631..0000000 --- a/android/app/src/profile/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - \ No newline at end of file diff --git a/android/build.gradle b/android/build.gradle deleted file mode 100644 index 83ae220..0000000 --- a/android/build.gradle +++ /dev/null @@ -1,31 +0,0 @@ -buildscript { - ext.kotlin_version = '1.6.10' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.1.2' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - -allprojects { - repositories { - google() - mavenCentral() - } -} - -rootProject.buildDir = '../build' -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(':app') -} - -task clean(type: Delete) { - delete rootProject.buildDir -} diff --git a/android/gradle.properties b/android/gradle.properties deleted file mode 100644 index 94adc3a..0000000 --- a/android/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -org.gradle.jvmargs=-Xmx1536M -android.useAndroidX=true -android.enableJetifier=true diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index cc5527d..0000000 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Fri Jun 23 08:50:38 CEST 2017 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip diff --git a/android/settings.gradle b/android/settings.gradle deleted file mode 100644 index 44e62bc..0000000 --- a/android/settings.gradle +++ /dev/null @@ -1,11 +0,0 @@ -include ':app' - -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() - -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } - -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/lib/main.dart b/lib/main.dart deleted file mode 100644 index 2ce405e..0000000 --- a/lib/main.dart +++ /dev/null @@ -1,5 +0,0 @@ -import 'package:flutter/material.dart'; - -import 'src/app.dart'; - -void main() => runApp(const App()); diff --git a/lib/src/app.dart b/lib/src/app.dart deleted file mode 100644 index dea2c6e..0000000 --- a/lib/src/app.dart +++ /dev/null @@ -1,39 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; - -import 'cubit/questions_cubit.dart'; -import 'home_screen.dart'; -import 'quiz/cubit/quiz_cubit.dart'; -import 'quiz/quiz_screen.dart'; - -class App extends StatelessWidget { - const App({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) => BlocProvider( - create: (context) => QuestionsCubit()..load(), - child: MaterialApp( - title: 'Izpitna vprašanja za radioamaterje', - initialRoute: '/', - routes: { - '/': (context) => const HomeScreen(), - }, - onGenerateRoute: (settings) { - if (settings.name == '/quiz' && settings.arguments is QuizState) { - return MaterialPageRoute( - builder: (context) => - QuizScreen(quizState: settings.arguments as QuizState), - settings: settings, - ); - } - - return null; - }, - theme: ThemeData( - inputDecorationTheme: const InputDecorationTheme( - border: OutlineInputBorder(), - ), - ), - ), - ); -} diff --git a/lib/src/components/sized_card.dart b/lib/src/components/sized_card.dart deleted file mode 100644 index afc31c2..0000000 --- a/lib/src/components/sized_card.dart +++ /dev/null @@ -1,21 +0,0 @@ -import 'package:flutter/material.dart'; - -class SizedCard extends StatelessWidget { - final Widget? child; - - const SizedCard({Key? key, this.child}) : super(key: key); - - @override - Widget build(BuildContext context) => Center( - child: Container( - width: double.infinity, - constraints: const BoxConstraints(maxWidth: 800), - child: Card( - child: Padding( - padding: const EdgeInsets.all(20), - child: child, - ), - ), - ), - ); -} diff --git a/lib/src/cubit/questions_cubit.dart b/lib/src/cubit/questions_cubit.dart deleted file mode 100644 index d7a6184..0000000 --- a/lib/src/cubit/questions_cubit.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'dart:convert'; - -import 'package:flutter/services.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:equatable/equatable.dart'; - -import '../models/category.dart'; -import '../models/question.dart'; - -part 'questions_state.dart'; - -class QuestionsCubit extends Cubit { - QuestionsCubit() : super(QuestionsInitial()); - - Future load() async { - final s = await rootBundle.loadString('assets/questions.json'); - final decoded = jsonDecode(s); - final c = (decoded['categories'] as List) - .map((e) => Category.fromJson(e)) - .toList(); - final q = (decoded['questions'] as List) - .map((e) => Question.fromJson(e)) - .toList(); - emit(QuestionsLoaded(c, q)); - } -} diff --git a/lib/src/cubit/questions_state.dart b/lib/src/cubit/questions_state.dart deleted file mode 100644 index 598c48c..0000000 --- a/lib/src/cubit/questions_state.dart +++ /dev/null @@ -1,37 +0,0 @@ -part of 'questions_cubit.dart'; - -abstract class QuestionsState extends Equatable { - const QuestionsState(); - - @override - List get props => []; -} - -class QuestionsInitial extends QuestionsState {} - -class QuestionsLoaded extends QuestionsState { - final List categories; - final List questions; - - const QuestionsLoaded(this.categories, this.questions); - - @override - List get props => [categories, questions]; - - List getRandom([ - int? categoryId, - bool skipDraw = false, - ]) { - final cat = categoryId == null - ? null - : categories.firstWhere((e) => e.id == categoryId); - var q = cat == null - ? questions.toList() - : [ - for (final range in cat.questions) - for (int i = range.first - 1; i < range.last; i++) questions[i], - ]; - if (skipDraw) q = q.where((e) => e.answers != null).toList(); - return q..shuffle(); - } -} diff --git a/lib/src/generator/cubit/generator_cubit.dart b/lib/src/generator/cubit/generator_cubit.dart deleted file mode 100644 index 235efbb..0000000 --- a/lib/src/generator/cubit/generator_cubit.dart +++ /dev/null @@ -1,31 +0,0 @@ -import 'package:equatable/equatable.dart'; -import 'package:flutter/foundation.dart' show kDebugMode; -import 'package:flutter_bloc/flutter_bloc.dart'; - -import '../../models/category.dart'; - -part 'generator_state.dart'; - -class GeneratorCubit extends Cubit { - GeneratorCubit() : super(const GeneratorState()); - - void setSingleCategory(bool singleCategory) => - emit(state.copyWith(singleCategory: singleCategory)); - - void setCategory(Category category) => emit(state.copyWith( - singleCategory: true, - category: category, - )); - - void setPracticeQuestionCount(String questions) => - emit(state.copyWith(practiceQuestionCount: int.tryParse(questions))); - - void setTestQuestionCount(String questions) => - emit(state.copyWith(testQuestionCount: int.tryParse(questions))); - - void setDuration(String minutes) { - final min = int.tryParse(minutes); - if (min == null) return; - emit(state.copyWith(timerDuration: Duration(minutes: min))); - } -} diff --git a/lib/src/generator/cubit/generator_state.dart b/lib/src/generator/cubit/generator_state.dart deleted file mode 100644 index 432cf4b..0000000 --- a/lib/src/generator/cubit/generator_state.dart +++ /dev/null @@ -1,51 +0,0 @@ -part of 'generator_cubit.dart'; - -enum GeneratorType { - practice, - test, -} - -class GeneratorState extends Equatable { - final int practiceQuestionCount; - final int testQuestionCount; - final bool singleCategory; - final Category? category; - final Duration timerDuration; - - const GeneratorState({ - this.practiceQuestionCount = 5, - this.testQuestionCount = kDebugMode ? 6 : 60, - this.singleCategory = false, - this.category, - this.timerDuration = const Duration(minutes: kDebugMode ? 9 : 90), - }); - - GeneratorState copyWith({ - GeneratorType? type, - int? practiceQuestionCount, - int? testQuestionCount, - bool? singleCategory, - Category? category, - Duration? timerDuration, - }) { - final newSingleCategory = singleCategory ?? this.singleCategory; - - return GeneratorState( - practiceQuestionCount: - practiceQuestionCount ?? this.practiceQuestionCount, - testQuestionCount: testQuestionCount ?? this.testQuestionCount, - singleCategory: newSingleCategory, - category: newSingleCategory ? (category ?? this.category) : null, - timerDuration: timerDuration ?? this.timerDuration, - ); - } - - @override - List get props => [ - practiceQuestionCount, - testQuestionCount, - singleCategory, - category, - timerDuration, - ]; -} diff --git a/lib/src/generator/practice_tab.dart b/lib/src/generator/practice_tab.dart deleted file mode 100644 index 66262d1..0000000 --- a/lib/src/generator/practice_tab.dart +++ /dev/null @@ -1,141 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; - -import '../cubit/questions_cubit.dart'; -import '../models/category.dart'; -import '../quiz/cubit/quiz_cubit.dart'; -import 'cubit/generator_cubit.dart'; - -class PracticeTab extends StatelessWidget { - const PracticeTab({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) => Column( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - 'Vaja', - style: Theme.of(context).textTheme.headlineSmall, - ), - const SizedBox(height: 15), - const Text( - 'Izberi pogročje in vpiši število vprašanj, ki jih želiš generirati. ' - 'Če želiš generirati vprašanja iz vseh področij, pusti polje za področje prazno.'), - const SizedBox(height: 20), - LayoutBuilder( - builder: (context, constraints) { - if (constraints.maxWidth > 600) { - return Row( - children: [ - Expanded( - flex: 2, - child: _CategoryInput(), - ), - const SizedBox(width: 10), - Expanded( - flex: 1, - child: _QuestionNumberInput(), - ), - ], - ); - } - - return Column( - mainAxisSize: MainAxisSize.min, - children: [ - _CategoryInput(), - const SizedBox(height: 15), - _QuestionNumberInput(), - ], - ); - }, - ), - const SizedBox(height: 20), - Container( - alignment: Alignment.bottomRight, - child: ElevatedButton( - onPressed: () { - final generatorState = context.read().state; - final questionsState = - context.read().state as QuestionsLoaded; - Navigator.pushNamed(context, '/quiz', - arguments: QuizState( - title: generatorState.category == null - ? 'Vaja - Vse kategorije' - : 'Vaja - ${generatorState.category!.title}', - questions: - questionsState.getRandom(generatorState.category?.id), - count: generatorState.practiceQuestionCount, - revealInstantly: true, - )); - }, - child: const Text('Začni'), - ), - ), - ], - ); -} - -class _CategoryInput extends StatelessWidget { - @override - Widget build(BuildContext context) => - BlocBuilder( - builder: (context, qstate) => - BlocBuilder( - builder: (context, gstate) { - qstate as QuestionsLoaded; - - return DropdownButtonFormField( - isExpanded: true, - value: gstate.category, - decoration: InputDecoration( - isDense: true, - enabled: gstate.singleCategory, - labelText: 'Izberi področje', - suffixIcon: gstate.category == null - ? null - : IconButton( - splashRadius: 18, - icon: const Icon(Icons.clear), - onPressed: () => context - .read() - .setSingleCategory(false), - ), - ), - items: qstate.categories - .map((e) => DropdownMenuItem( - value: e, - child: Text( - e.title, - overflow: TextOverflow.ellipsis, - ), - )) - .toList(), - onChanged: (value) { - if (value == null) return; - context.read().setCategory(value); - }, - ); - }, - ), - ); -} - -class _QuestionNumberInput extends StatelessWidget { - @override - Widget build(BuildContext context) => - BlocBuilder( - buildWhen: (previous, current) => - previous.practiceQuestionCount != current.practiceQuestionCount, - builder: (context, state) => TextFormField( - initialValue: '${state.practiceQuestionCount}', - decoration: const InputDecoration( - labelText: 'Število vprašanj', - ), - inputFormatters: [FilteringTextInputFormatter.digitsOnly], - keyboardType: TextInputType.number, - onChanged: context.read().setPracticeQuestionCount, - ), - ); -} diff --git a/lib/src/generator/test_tab.dart b/lib/src/generator/test_tab.dart deleted file mode 100644 index 1d4fa36..0000000 --- a/lib/src/generator/test_tab.dart +++ /dev/null @@ -1,100 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; - -import '../cubit/questions_cubit.dart'; -import '../quiz/cubit/quiz_cubit.dart'; -import 'cubit/generator_cubit.dart'; - -class TestTab extends StatelessWidget { - const TestTab({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) => Column( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - 'Preizkus uspeha', - style: Theme.of(context).textTheme.headlineSmall, - ), - const SizedBox(height: 15), - const Text( - 'Kandidati za radioamaterja razreda A opravljajo izpit, ki je ' - 'sestavljen iz 60 različnih vprašanj. Vsako vprašanje ima 3 možne odgovore, od katerih je ' - 'samo en pravilen. Kandidat ima na voljo 90 minut za reševanje izpitne pole. Kandidat mora ' - 'pravilno odgovoriti vsaj na 36 vprašanj (60%).'), - const SizedBox(height: 20), - const Text( - 'Preizkus uspeha NE bo vseboval vprašanj s področja "Risanje"!'), - const SizedBox(height: 20), - Row( - crossAxisAlignment: CrossAxisAlignment.end, - children: [ - Expanded(child: _TestQuestionNumberInput()), - const SizedBox(width: 10), - Expanded(child: _DurationInput()), - ], - ), - const SizedBox(height: 20), - Container( - alignment: Alignment.bottomRight, - child: ElevatedButton( - onPressed: () { - final generatorState = context.read().state; - final questionsState = - context.read().state as QuestionsLoaded; - Navigator.pushNamed(context, '/quiz', - arguments: QuizState( - title: 'Preizkus uspeha', - questions: questionsState - .getRandom(null, true) - .take(generatorState.testQuestionCount) - .toList(), - count: generatorState.testQuestionCount, - duration: generatorState.timerDuration, - revealInstantly: false, - )); - }, - child: const Text('Naprej'), - ), - ), - ], - ); -} - -class _TestQuestionNumberInput extends StatelessWidget { - @override - Widget build(BuildContext context) => - BlocBuilder( - buildWhen: (previous, current) => - previous.testQuestionCount != current.testQuestionCount, - builder: (context, state) => TextFormField( - initialValue: '${state.testQuestionCount}', - decoration: const InputDecoration( - labelText: 'Število vprašanj', - ), - inputFormatters: [FilteringTextInputFormatter.digitsOnly], - keyboardType: TextInputType.number, - onChanged: context.read().setTestQuestionCount, - ), - ); -} - -class _DurationInput extends StatelessWidget { - @override - Widget build(BuildContext context) => - BlocBuilder( - buildWhen: (previous, current) => - previous.timerDuration != current.timerDuration, - builder: (context, state) => TextFormField( - initialValue: '${state.timerDuration.inMinutes}', - decoration: const InputDecoration( - suffixText: 'min', - labelText: 'Čas za reševanje', - ), - inputFormatters: [FilteringTextInputFormatter.digitsOnly], - keyboardType: TextInputType.number, - onChanged: context.read().setDuration, - ), - ); -} diff --git a/lib/src/home_screen.dart b/lib/src/home_screen.dart deleted file mode 100644 index 4fc8488..0000000 --- a/lib/src/home_screen.dart +++ /dev/null @@ -1,65 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; - -import 'components/sized_card.dart'; -import 'cubit/questions_cubit.dart'; -import 'generator/cubit/generator_cubit.dart'; -import 'generator/practice_tab.dart'; -import 'generator/test_tab.dart'; - -class HomeScreen extends StatelessWidget { - static const _tabs = [ - Text('Vaja'), - Text('Preizkus uspeha'), - ]; - - const HomeScreen({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) => Scaffold( - appBar: AppBar(title: const Text('Izpitna vprašanja za radioamaterje')), - body: BlocBuilder( - builder: (context, state) => state is! QuestionsLoaded - ? const Center(child: CircularProgressIndicator()) - : BlocProvider( - create: (_) => GeneratorCubit(), - child: DefaultTabController( - length: _tabs.length, - child: Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - Center( - child: ConstrainedBox( - constraints: const BoxConstraints(maxWidth: 800), - child: TabBar( - labelColor: Theme.of(context).colorScheme.primary, - unselectedLabelColor: Colors.grey.shade700, - labelStyle: const TextStyle(fontSize: 16), - labelPadding: const EdgeInsets.all(12), - tabs: _tabs, - ), - ), - ), - const Divider(height: 0), - Expanded( - child: TabBarView( - children: [ - const PracticeTab(), - const TestTab(), - ] - .map( - (e) => SingleChildScrollView( - padding: const EdgeInsets.all(20), - child: SizedCard(child: e), - ), - ) - .toList(), - ), - ), - ], - ), - ), - ), - ), - ); -} diff --git a/lib/src/models/category.dart b/lib/src/models/category.dart deleted file mode 100644 index 43f8ab1..0000000 --- a/lib/src/models/category.dart +++ /dev/null @@ -1,24 +0,0 @@ -import 'package:equatable/equatable.dart'; - -class Category extends Equatable { - final int id; - final String title; - final List> questions; - - const Category({ - required this.id, - required this.title, - required this.questions, - }); - - factory Category.fromJson(Map json) => Category( - id: json['id'], - title: json['title'], - questions: (json['questions'] as List) - .map((e) => (e as List).cast()) - .toList(), - ); - - @override - List get props => [id, title, questions]; -} diff --git a/lib/src/models/question.dart b/lib/src/models/question.dart deleted file mode 100644 index 2792b7d..0000000 --- a/lib/src/models/question.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'package:equatable/equatable.dart'; - -class Question extends Equatable { - final int id; - final String question; - final String? image; - final List? answers; - final int? correct; - - const Question({ - required this.id, - required this.question, - required this.image, - required this.answers, - required this.correct, - }); - - factory Question.fromJson(Map json) => Question( - id: json['id'], - question: json['question'], - image: json['image'], - answers: (json['answers'] as List?)?.cast(), - correct: json['correct'], - ); - - @override - List get props => [id, question, image, answers, correct]; -} diff --git a/lib/src/quiz/cubit/quiz_cubit.dart b/lib/src/quiz/cubit/quiz_cubit.dart deleted file mode 100644 index 58e7bf9..0000000 --- a/lib/src/quiz/cubit/quiz_cubit.dart +++ /dev/null @@ -1,42 +0,0 @@ -import 'dart:math'; - -import 'package:equatable/equatable.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; - -import '../../models/question.dart'; - -part 'quiz_state.dart'; - -class QuizCubit extends Cubit { - QuizCubit(QuizState quizState) : super(quizState); - - void start() => emit(state.copyWith( - answers: state.revealInstantly - ? null - : List.filled(state.questions.length, null), - revealed: state.revealInstantly - ? List.filled(state.questions.length, null) - : null, - startTime: DateTime.now(), - )); - - void answer(int index, int answer) { - if (state.revealInstantly) { - final revealed = state.revealed!.toList(); - revealed[index] = ((revealed[index]?.toSet() ?? {})..add(answer)); - - emit(state.copyWith(revealed: revealed)); - - return; - } - - final answers = state.answers!.toList(); - answers[index] = answer; - - emit(state.copyWith(answers: answers)); - } - - void extend() => emit(state.copyWith(count: state.count + state.firstCount)); - - void finish() => emit(state.copyWith(endTime: DateTime.now())); -} diff --git a/lib/src/quiz/cubit/quiz_state.dart b/lib/src/quiz/cubit/quiz_state.dart deleted file mode 100644 index 9fbb2f7..0000000 --- a/lib/src/quiz/cubit/quiz_state.dart +++ /dev/null @@ -1,84 +0,0 @@ -part of 'quiz_cubit.dart'; - -class QuizState extends Equatable { - final String title; - final List questions; - final int firstCount; - final int count; - final Duration? duration; - final bool revealInstantly; - - final DateTime? startTime; - final DateTime? endTime; - final List? answers; - final List?>? revealed; - - int? get score { - if (answers == null) return null; - int c = 0; - for (int i = 0; i < answers!.length; ++i) { - if (answers![i] == questions[i].correct) ++c; - } - return c; - } - - List? get incorrectAnswers { - final ret = []; - for (int i = 0; i < answers!.length; ++i) { - if (answers![i] != questions[i].correct) ret.add(i); - } - return ret; - } - - QuizState({ - required this.title, - required this.questions, - int? firstCount, - required int count, - this.duration, - required this.revealInstantly, - this.startTime, - this.endTime, - this.answers, - this.revealed, - }) : firstCount = firstCount ?? min(count, questions.length), - count = min(count, questions.length); - - QuizState copyWith({ - String? title, - List? questions, - int? count, - Duration? duration, - bool? revealInstantly, - DateTime? startTime, - DateTime? endTime, - List? answers, - List?>? revealed, - }) => - QuizState( - title: title ?? this.title, - questions: questions ?? this.questions, - count: count ?? this.count, - duration: duration ?? this.duration, - revealInstantly: revealInstantly ?? this.revealInstantly, - startTime: startTime ?? this.startTime, - endTime: endTime ?? this.endTime, - answers: answers ?? this.answers, - revealed: revealed ?? this.revealed, - firstCount: firstCount, - ); - - @override - List get props => [ - title, - questions, - firstCount, - count, - duration, - revealInstantly, - startTime, - endTime, - answers, - revealed, - ]; -} diff --git a/lib/src/quiz/question_card.dart b/lib/src/quiz/question_card.dart deleted file mode 100644 index cb7fa89..0000000 --- a/lib/src/quiz/question_card.dart +++ /dev/null @@ -1,261 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:flutter_math_fork/flutter_math.dart'; - -import '../components/sized_card.dart'; -import 'cubit/quiz_cubit.dart'; - -class QuestionCard extends StatelessWidget { - final int qIndex; - final bool forResultScreen; - - const QuestionCard({ - Key? key, - required this.qIndex, - this.forResultScreen = false, - }) : super(key: key); - - @override - Widget build(BuildContext context) => BlocBuilder( - buildWhen: (previous, current) => - previous.questions[qIndex] != current.questions[qIndex] || - previous.answers?[qIndex] != current.answers?[qIndex] || - previous.revealed?[qIndex] != current.revealed?[qIndex], - builder: (context, state) { - final theme = Theme.of(context); - final question = state.questions[qIndex]; - - final child = Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - '${question.id}'.padLeft(3, '0'), - style: theme.textTheme.bodySmall, - ), - Text( - '${qIndex + 1}. ${question.question}', - style: theme.textTheme.titleLarge, - ), - const SizedBox(height: 10), - if (question.image != null) - Center( - child: Container( - constraints: const BoxConstraints( - maxHeight: 500, - maxWidth: 500, - ), - padding: const EdgeInsets.only(bottom: 10), - child: question.answers != null - ? Image.asset('assets/images/${question.image}') - : HiddenImage( - img: question.image!, - isHidden: state.revealed![qIndex] == null, - onClick: () => - context.read().answer(qIndex, 1), - ), - ), - ), - if (question.answers != null) - Material( - color: Colors.white, - clipBehavior: Clip.antiAlias, - elevation: 0, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(8), - side: BorderSide(color: Colors.grey.shade300), - ), - child: ListView.separated( - physics: const NeverScrollableScrollPhysics(), - shrinkWrap: true, - itemCount: question.answers!.length, - itemBuilder: (_, aIndex) { - if (state.revealInstantly) { - final revealed = state.revealed![qIndex] ?? {}; - - return AnswerTile( - index: aIndex, - text: question.answers![aIndex], - isCorrect: aIndex == question.correct, - isRevealed: revealed.contains(aIndex), - isEnabled: !revealed.contains(question.correct), - onClick: () => - context.read().answer(qIndex, aIndex), - ); - } - - if (forResultScreen) { - return AnswerTile( - index: aIndex, - text: question.answers![aIndex], - isCorrect: aIndex == question.correct, - isRevealed: true, - isEnabled: false, - isSelected: state.answers![qIndex] == aIndex, - ); - } - - return AnswerTile( - index: aIndex, - text: question.answers![aIndex], - isCorrect: aIndex == question.correct, - isRevealed: false, - isEnabled: true, - isSelected: state.answers![qIndex] == aIndex, - onClick: () => - context.read().answer(qIndex, aIndex), - ); - }, - separatorBuilder: (_, __) => const Divider(height: 0), - ), - ) - ], - ); - - if (forResultScreen) return child; - - return SizedCard(child: child); - }, - ); -} - -class HiddenImage extends StatelessWidget { - final String img; - final bool isHidden; - final void Function()? onClick; - - const HiddenImage({ - Key? key, - required this.img, - this.isHidden = true, - this.onClick, - }) : super(key: key); - - @override - Widget build(BuildContext context) { - final theme = Theme.of(context); - - return FramedWidget( - child: Stack( - children: [ - Image.asset('assets/images/$img'), - if (isHidden) - Positioned.fill( - child: Material( - color: Color.alphaBlend( - theme.colorScheme.primary.withAlpha(20), - theme.colorScheme.surface, - ), - child: InkWell( - onTap: onClick, - child: Center( - child: Padding( - padding: const EdgeInsets.all(30), - child: Text( - 'Razkrij odgovor', - style: theme.textTheme.titleMedium, - ), - ), - ), - ), - ), - ), - ], - ), - ); - } -} - -class FramedWidget extends StatelessWidget { - final Widget? child; - - const FramedWidget({ - Key? key, - this.child, - }) : super(key: key); - - @override - Widget build(BuildContext context) { - final theme = Theme.of(context); - - return Material( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(8), - side: BorderSide(color: theme.colorScheme.primary), - ), - clipBehavior: Clip.antiAlias, - child: child, - ); - } -} - -class AnswerTile extends StatelessWidget { - final int index; - final String text; - final bool isCorrect; - final void Function()? onClick; - final bool isRevealed; - final bool isEnabled; - final bool? isSelected; - - const AnswerTile({ - Key? key, - required this.index, - required this.text, - required this.isCorrect, - this.onClick, - this.isRevealed = false, - this.isEnabled = true, - this.isSelected, - }) : super(key: key); - - @override - Widget build(BuildContext context) { - final tileColor = isRevealed - ? (isCorrect ? Colors.green.shade50 : Colors.red.shade50) - : null; - final textColor = isRevealed - ? (isCorrect ? Colors.green.shade900 : Colors.red.shade900) - : null; - - return ListTile( - leading: _leading(context), - onTap: !isRevealed && isEnabled ? onClick : null, - title: text.startsWith(r'$') - ? Math.tex( - text.substring(1, text.length - 1), - textScaleFactor: 1.2, - ) - : Text(text), - minVerticalPadding: 10, - contentPadding: const EdgeInsets.symmetric(horizontal: 16), - iconColor: isRevealed - ? (isCorrect ? Colors.green.shade900 : Colors.red.shade900) - : null, - tileColor: tileColor, - textColor: textColor, - selectedTileColor: tileColor, - selectedColor: textColor, - selected: isSelected == true, - ); - } - - Widget? _leading(BuildContext context) { - if (isSelected == true) return const Icon(Icons.radio_button_checked); - if (isSelected == false) return const Icon(Icons.radio_button_off); - - if (!isRevealed) { - return SizedBox( - width: 24, - child: Text( - String.fromCharCode(65 + index), - style: - Theme.of(context).textTheme.displaySmall!.copyWith(fontSize: 20), - textAlign: TextAlign.center, - ), - ); - } - if (isCorrect) return const Icon(Icons.check); - return const Icon(Icons.clear); - } -} diff --git a/lib/src/quiz/quiz_screen.dart b/lib/src/quiz/quiz_screen.dart deleted file mode 100644 index bcb3f2b..0000000 --- a/lib/src/quiz/quiz_screen.dart +++ /dev/null @@ -1,357 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/material.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:timer_builder/timer_builder.dart'; - -import '../components/sized_card.dart'; -import 'cubit/quiz_cubit.dart'; -import 'question_card.dart'; - -class QuizScreen extends StatefulWidget { - final QuizState quizState; - - const QuizScreen({ - Key? key, - required this.quizState, - }) : super(key: key); - - @override - State createState() => _QuizScreenState(); -} - -class _QuizScreenState extends State { - late final QuizCubit _quizCubit; - Timer? _timer; - - @override - void initState() { - super.initState(); - - _quizCubit = QuizCubit(widget.quizState); - if (widget.quizState.duration != null) { - _timer = Timer( - widget.quizState.duration!, - () => _quizCubit.finish(), - ); - } else { - _quizCubit.start(); - } - } - - @override - void dispose() { - super.dispose(); - _timer?.cancel(); - } - - @override - Widget build(BuildContext context) => WillPopScope( - onWillPop: () async { - final state = _quizCubit.state; - if (state.duration == null || - state.startTime == null || - state.endTime != null) return true; - - return await showDialog( - context: context, - builder: (context) => AlertDialog( - title: const Text('Zapusti kviz?'), - content: const Text( - 'Če zapustite to stran, bodo vaši odgovori izgubljeni.'), - actions: [ - TextButton( - onPressed: () => Navigator.pop(context, false), - child: const Text('Ostani'), - ), - TextButton( - style: TextButton.styleFrom(primary: Colors.green), - onPressed: () { - _quizCubit.finish(); - Navigator.pop(context); - }, - child: const Text('Zaključi'), - ), - TextButton( - style: TextButton.styleFrom(primary: Colors.red), - onPressed: () => Navigator.pop(context, true), - child: const Text('Zapusti'), - ), - ], - ), - ) ?? - false; - }, - child: BlocProvider.value( - value: _quizCubit, - child: Scaffold( - appBar: AppBar( - title: _Title(), - actions: [ - _TimerCountdown(), - ], - ), - body: BlocBuilder( - buildWhen: (previous, current) => - previous.startTime != current.startTime || - previous.endTime != current.endTime, - builder: (context, state) { - if (state.startTime == null) return _StartPage(); - - if (state.endTime != null) return _ResultPage(); - - return _QuizPage(); - }, - ), - ), - ), - ); -} - -class _Title extends StatelessWidget { - @override - Widget build(BuildContext context) => BlocBuilder( - buildWhen: (previous, current) => previous.title != current.title, - builder: (context, state) => Text(state.title), - ); -} - -class _TimerCountdown extends StatelessWidget { - @override - Widget build(BuildContext context) => BlocBuilder( - buildWhen: (previous, current) => - previous.startTime != current.startTime || - previous.endTime != current.endTime, - builder: (context, state) { - if (state.duration == null || - state.startTime == null || - state.endTime != null) { - return const SizedBox(); - } - - return Card( - elevation: 0, - margin: const EdgeInsets.symmetric( - horizontal: 15, - vertical: 10, - ), - child: Container( - alignment: Alignment.center, - padding: const EdgeInsets.symmetric(horizontal: 10), - child: TimerBuilder.periodic( - const Duration(seconds: 1), - builder: (context) { - final dur = state.startTime! - .add(state.duration!) - .difference(DateTime.now()); - return Text( - '${dur.inSeconds ~/ 60}:${'${dur.inSeconds % 60}'.padLeft(2, '0')}', - style: Theme.of(context).textTheme.titleMedium, - ); - }, - ), - ), - ); - }, - ); -} - -class _StartPage extends StatelessWidget { - @override - Widget build(BuildContext context) { - final tTheme = Theme.of(context).textTheme; - - return SingleChildScrollView( - padding: const EdgeInsets.all(20), - child: SizedCard( - child: Column( - children: [ - Text( - 'Preizkus uspeha', - style: tTheme.headlineSmall, - ), - const SizedBox(height: 15), - LayoutBuilder( - builder: (context, constraints) { - final halfW = - BoxConstraints(minWidth: constraints.maxWidth / 2); - - return BlocBuilder( - builder: (context, state) { - return Wrap( - alignment: WrapAlignment.center, - children: [ - ConstrainedBox( - constraints: halfW, - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - '${state.count}', - style: tTheme.headlineMedium, - ), - Text( - 'vprašanj', - style: tTheme.titleMedium, - ), - ], - ), - ), - ConstrainedBox( - constraints: halfW, - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - '${state.duration!.inMinutes}', - style: tTheme.headlineMedium, - ), - Text( - 'minut', - style: tTheme.titleMedium, - ), - ], - ), - ), - ], - ); - }, - ); - }, - ), - const SizedBox(height: 20), - const Text('Ob pritisku na spodnji gumb, se preizkus začne. ' - 'Ob izteku časa, se samodejno zaključi.'), - const SizedBox(height: 10), - Center( - child: ElevatedButton( - child: const Text('Začni preizkus'), - onPressed: () => context.read().start(), - ), - ), - ], - ), - ), - ); - } -} - -class _ResultPage extends StatelessWidget { - @override - Widget build(BuildContext context) => SingleChildScrollView( - padding: const EdgeInsets.all(20), - child: SizedCard( - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - 'Rezultat', - style: Theme.of(context).textTheme.headlineSmall, - ), - const SizedBox(height: 10), - BlocBuilder( - builder: (context, state) { - final correct = state.score!; - final count = state.count; - final correctPercentage = correct / count * 100; - final corrPerStr = correctPercentage.toStringAsFixed(1); - return Text( - '$correct / $count ($corrPerStr %)', - style: Theme.of(context).textTheme.headlineMedium!.copyWith( - color: correctPercentage >= 60 - ? Colors.green - : Colors.red, - ), - ); - }, - ), - const SizedBox(height: 15), - Center( - child: ElevatedButton( - child: const Text('Nazaj domov'), - onPressed: () => Navigator.pop(context), - ), - ), - BlocBuilder( - builder: (context, state) { - final wrongs = state.incorrectAnswers!; - - if (wrongs.isEmpty) { - return const SizedBox.shrink(); - } - - return ListView.separated( - physics: const NeverScrollableScrollPhysics(), - padding: const EdgeInsets.only(top: 15), - shrinkWrap: true, - itemCount: wrongs.length + 2, - separatorBuilder: (_, __) => const SizedBox(height: 20), - itemBuilder: (context, index) { - if (index == 0) { - return Divider( - color: Colors.grey.shade200, - thickness: 2, - ); - } - - if (index == 1) { - return Center( - child: Text( - 'Napačni odgovori', - style: Theme.of(context).textTheme.headlineSmall, - ), - ); - } - - return QuestionCard( - qIndex: wrongs[index - 2], - forResultScreen: true, - ); - }, - ); - }, - ) - ], - ), - ), - ); -} - -class _QuizPage extends StatelessWidget { - @override - Widget build(BuildContext context) => BlocBuilder( - builder: (context, state) { - final moreQuestions = state.count < state.questions.length; - final isTest = state.duration != null; - final extraLine = moreQuestions || isTest; - - return ListView.separated( - padding: const EdgeInsets.all(20), - shrinkWrap: true, - itemCount: state.count + (extraLine ? 1 : 0), - separatorBuilder: (_, __) => const SizedBox(height: 10), - itemBuilder: (context, index) { - if (index == state.count) { - if (moreQuestions) { - return Center( - child: ElevatedButton( - child: const Text('Več'), - onPressed: () => context.read().extend(), - ), - ); - } - - return Center( - child: ElevatedButton( - child: const Text('Končaj'), - onPressed: () => context.read().finish(), - ), - ); - } - - return QuestionCard(qIndex: index); - }, - ); - }, - ); -} diff --git a/next.config.js b/next.config.js new file mode 100644 index 0000000..dafb0c8 --- /dev/null +++ b/next.config.js @@ -0,0 +1,8 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + experimental: { + appDir: true, + }, +} + +module.exports = nextConfig diff --git a/package.json b/package.json new file mode 100644 index 0000000..2e53288 --- /dev/null +++ b/package.json @@ -0,0 +1,35 @@ +{ + "name": "izpit", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint", + "format": "prettier --write ./src" + }, + "dependencies": { + "@next/font": "13.1.6", + "@types/node": "18.14.0", + "@types/react": "18.0.28", + "@types/react-dom": "18.0.11", + "bulma": "^0.9.4", + "eslint": "8.34.0", + "eslint-config-next": "13.1.6", + "next": "13.1.7-canary.21", + "node-sass": "^8.0.0", + "react": "18.2.0", + "react-dom": "18.2.0", + "react-katex": "^3.0.1", + "typescript": "4.9.5", + "zustand": "^4.3.3" + }, + "devDependencies": { + "@types/react-katex": "^3.0.0", + "autoprefixer": "^10.4.13", + "postcss": "^8.4.21", + "prettier": "^2.8.4", + "sass": "^1.58.3" + } +} diff --git a/public/logo/zrs_logo_black.svg b/public/logo/zrs_logo_black.svg new file mode 100644 index 0000000..a54520f --- /dev/null +++ b/public/logo/zrs_logo_black.svg @@ -0,0 +1,28 @@ + + + + + + + + + \ No newline at end of file diff --git a/public/logo/zrs_logo_white.svg b/public/logo/zrs_logo_white.svg new file mode 100644 index 0000000..9459f31 --- /dev/null +++ b/public/logo/zrs_logo_white.svg @@ -0,0 +1,28 @@ + + + + + + + + + \ No newline at end of file diff --git a/assets/images/image-000.png b/public/question_images/image-000.png similarity index 100% rename from assets/images/image-000.png rename to public/question_images/image-000.png diff --git a/assets/images/image-001.png b/public/question_images/image-001.png similarity index 100% rename from assets/images/image-001.png rename to public/question_images/image-001.png diff --git a/assets/images/image-002.png b/public/question_images/image-002.png similarity index 100% rename from assets/images/image-002.png rename to public/question_images/image-002.png diff --git a/assets/images/image-004.png b/public/question_images/image-004.png similarity index 100% rename from assets/images/image-004.png rename to public/question_images/image-004.png diff --git a/assets/images/image-005.png b/public/question_images/image-005.png similarity index 100% rename from assets/images/image-005.png rename to public/question_images/image-005.png diff --git a/assets/images/image-006.png b/public/question_images/image-006.png similarity index 100% rename from assets/images/image-006.png rename to public/question_images/image-006.png diff --git a/assets/images/image-007.png b/public/question_images/image-007.png similarity index 100% rename from assets/images/image-007.png rename to public/question_images/image-007.png diff --git a/assets/images/image-008.png b/public/question_images/image-008.png similarity index 100% rename from assets/images/image-008.png rename to public/question_images/image-008.png diff --git a/assets/images/image-009.png b/public/question_images/image-009.png similarity index 100% rename from assets/images/image-009.png rename to public/question_images/image-009.png diff --git a/assets/images/image-010.png b/public/question_images/image-010.png similarity index 100% rename from assets/images/image-010.png rename to public/question_images/image-010.png diff --git a/assets/images/image-011.png b/public/question_images/image-011.png similarity index 100% rename from assets/images/image-011.png rename to public/question_images/image-011.png diff --git a/assets/images/image-012.png b/public/question_images/image-012.png similarity index 100% rename from assets/images/image-012.png rename to public/question_images/image-012.png diff --git a/assets/images/image-013.png b/public/question_images/image-013.png similarity index 100% rename from assets/images/image-013.png rename to public/question_images/image-013.png diff --git a/assets/images/image-014.png b/public/question_images/image-014.png similarity index 100% rename from assets/images/image-014.png rename to public/question_images/image-014.png diff --git a/assets/images/image-015.png b/public/question_images/image-015.png similarity index 100% rename from assets/images/image-015.png rename to public/question_images/image-015.png diff --git a/assets/images/image-016.png b/public/question_images/image-016.png similarity index 100% rename from assets/images/image-016.png rename to public/question_images/image-016.png diff --git a/assets/images/image-017.png b/public/question_images/image-017.png similarity index 100% rename from assets/images/image-017.png rename to public/question_images/image-017.png diff --git a/assets/images/image-018.png b/public/question_images/image-018.png similarity index 100% rename from assets/images/image-018.png rename to public/question_images/image-018.png diff --git a/assets/images/image-019.png b/public/question_images/image-019.png similarity index 100% rename from assets/images/image-019.png rename to public/question_images/image-019.png diff --git a/assets/images/image-020.png b/public/question_images/image-020.png similarity index 100% rename from assets/images/image-020.png rename to public/question_images/image-020.png diff --git a/assets/images/image-021.png b/public/question_images/image-021.png similarity index 100% rename from assets/images/image-021.png rename to public/question_images/image-021.png diff --git a/assets/images/image-022.png b/public/question_images/image-022.png similarity index 100% rename from assets/images/image-022.png rename to public/question_images/image-022.png diff --git a/assets/images/image-023.png b/public/question_images/image-023.png similarity index 100% rename from assets/images/image-023.png rename to public/question_images/image-023.png diff --git a/assets/images/image-024.png b/public/question_images/image-024.png similarity index 100% rename from assets/images/image-024.png rename to public/question_images/image-024.png diff --git a/assets/images/image-025.png b/public/question_images/image-025.png similarity index 100% rename from assets/images/image-025.png rename to public/question_images/image-025.png diff --git a/assets/images/image-026.png b/public/question_images/image-026.png similarity index 100% rename from assets/images/image-026.png rename to public/question_images/image-026.png diff --git a/assets/images/image-027.png b/public/question_images/image-027.png similarity index 100% rename from assets/images/image-027.png rename to public/question_images/image-027.png diff --git a/assets/images/image-028.png b/public/question_images/image-028.png similarity index 100% rename from assets/images/image-028.png rename to public/question_images/image-028.png diff --git a/assets/images/image-029.png b/public/question_images/image-029.png similarity index 100% rename from assets/images/image-029.png rename to public/question_images/image-029.png diff --git a/assets/images/image-030.png b/public/question_images/image-030.png similarity index 100% rename from assets/images/image-030.png rename to public/question_images/image-030.png diff --git a/assets/images/image-031.png b/public/question_images/image-031.png similarity index 100% rename from assets/images/image-031.png rename to public/question_images/image-031.png diff --git a/assets/images/image-032.png b/public/question_images/image-032.png similarity index 100% rename from assets/images/image-032.png rename to public/question_images/image-032.png diff --git a/assets/images/image-033.png b/public/question_images/image-033.png similarity index 100% rename from assets/images/image-033.png rename to public/question_images/image-033.png diff --git a/assets/images/image-034.png b/public/question_images/image-034.png similarity index 100% rename from assets/images/image-034.png rename to public/question_images/image-034.png diff --git a/assets/images/image-035.png b/public/question_images/image-035.png similarity index 100% rename from assets/images/image-035.png rename to public/question_images/image-035.png diff --git a/assets/images/image-036.png b/public/question_images/image-036.png similarity index 100% rename from assets/images/image-036.png rename to public/question_images/image-036.png diff --git a/assets/images/image-037.png b/public/question_images/image-037.png similarity index 100% rename from assets/images/image-037.png rename to public/question_images/image-037.png diff --git a/assets/images/image-038.png b/public/question_images/image-038.png similarity index 100% rename from assets/images/image-038.png rename to public/question_images/image-038.png diff --git a/assets/images/image-039.png b/public/question_images/image-039.png similarity index 100% rename from assets/images/image-039.png rename to public/question_images/image-039.png diff --git a/assets/images/image-040.png b/public/question_images/image-040.png similarity index 100% rename from assets/images/image-040.png rename to public/question_images/image-040.png diff --git a/assets/images/image-041.png b/public/question_images/image-041.png similarity index 100% rename from assets/images/image-041.png rename to public/question_images/image-041.png diff --git a/assets/images/image-042.png b/public/question_images/image-042.png similarity index 100% rename from assets/images/image-042.png rename to public/question_images/image-042.png diff --git a/assets/images/image-043.png b/public/question_images/image-043.png similarity index 100% rename from assets/images/image-043.png rename to public/question_images/image-043.png diff --git a/assets/images/image-044.png b/public/question_images/image-044.png similarity index 100% rename from assets/images/image-044.png rename to public/question_images/image-044.png diff --git a/assets/images/image-045.png b/public/question_images/image-045.png similarity index 100% rename from assets/images/image-045.png rename to public/question_images/image-045.png diff --git a/assets/images/image-046.png b/public/question_images/image-046.png similarity index 100% rename from assets/images/image-046.png rename to public/question_images/image-046.png diff --git a/assets/images/image-047.png b/public/question_images/image-047.png similarity index 100% rename from assets/images/image-047.png rename to public/question_images/image-047.png diff --git a/assets/images/image-048.png b/public/question_images/image-048.png similarity index 100% rename from assets/images/image-048.png rename to public/question_images/image-048.png diff --git a/assets/images/image-049.png b/public/question_images/image-049.png similarity index 100% rename from assets/images/image-049.png rename to public/question_images/image-049.png diff --git a/assets/images/image-050.png b/public/question_images/image-050.png similarity index 100% rename from assets/images/image-050.png rename to public/question_images/image-050.png diff --git a/assets/images/image-051.png b/public/question_images/image-051.png similarity index 100% rename from assets/images/image-051.png rename to public/question_images/image-051.png diff --git a/assets/images/image-052.png b/public/question_images/image-052.png similarity index 100% rename from assets/images/image-052.png rename to public/question_images/image-052.png diff --git a/assets/images/image-053.png b/public/question_images/image-053.png similarity index 100% rename from assets/images/image-053.png rename to public/question_images/image-053.png diff --git a/assets/images/image-054.png b/public/question_images/image-054.png similarity index 100% rename from assets/images/image-054.png rename to public/question_images/image-054.png diff --git a/assets/images/image-055.png b/public/question_images/image-055.png similarity index 100% rename from assets/images/image-055.png rename to public/question_images/image-055.png diff --git a/assets/images/image-056.png b/public/question_images/image-056.png similarity index 100% rename from assets/images/image-056.png rename to public/question_images/image-056.png diff --git a/assets/images/image-057.png b/public/question_images/image-057.png similarity index 100% rename from assets/images/image-057.png rename to public/question_images/image-057.png diff --git a/assets/images/image-058.png b/public/question_images/image-058.png similarity index 100% rename from assets/images/image-058.png rename to public/question_images/image-058.png diff --git a/assets/images/image-059.png b/public/question_images/image-059.png similarity index 100% rename from assets/images/image-059.png rename to public/question_images/image-059.png diff --git a/assets/images/image-060.png b/public/question_images/image-060.png similarity index 100% rename from assets/images/image-060.png rename to public/question_images/image-060.png diff --git a/assets/images/image-061.png b/public/question_images/image-061.png similarity index 100% rename from assets/images/image-061.png rename to public/question_images/image-061.png diff --git a/assets/images/image-062.png b/public/question_images/image-062.png similarity index 100% rename from assets/images/image-062.png rename to public/question_images/image-062.png diff --git a/assets/images/image-063.png b/public/question_images/image-063.png similarity index 100% rename from assets/images/image-063.png rename to public/question_images/image-063.png diff --git a/assets/images/image-064.png b/public/question_images/image-064.png similarity index 100% rename from assets/images/image-064.png rename to public/question_images/image-064.png diff --git a/assets/images/image-065.png b/public/question_images/image-065.png similarity index 100% rename from assets/images/image-065.png rename to public/question_images/image-065.png diff --git a/assets/images/image-066.png b/public/question_images/image-066.png similarity index 100% rename from assets/images/image-066.png rename to public/question_images/image-066.png diff --git a/assets/images/image-067.png b/public/question_images/image-067.png similarity index 100% rename from assets/images/image-067.png rename to public/question_images/image-067.png diff --git a/assets/images/image-068.png b/public/question_images/image-068.png similarity index 100% rename from assets/images/image-068.png rename to public/question_images/image-068.png diff --git a/assets/images/image-069.png b/public/question_images/image-069.png similarity index 100% rename from assets/images/image-069.png rename to public/question_images/image-069.png diff --git a/assets/images/image-070.png b/public/question_images/image-070.png similarity index 100% rename from assets/images/image-070.png rename to public/question_images/image-070.png diff --git a/assets/images/image-071.png b/public/question_images/image-071.png similarity index 100% rename from assets/images/image-071.png rename to public/question_images/image-071.png diff --git a/assets/images/image-072.png b/public/question_images/image-072.png similarity index 100% rename from assets/images/image-072.png rename to public/question_images/image-072.png diff --git a/assets/images/image-073.png b/public/question_images/image-073.png similarity index 100% rename from assets/images/image-073.png rename to public/question_images/image-073.png diff --git a/assets/images/image-074.png b/public/question_images/image-074.png similarity index 100% rename from assets/images/image-074.png rename to public/question_images/image-074.png diff --git a/assets/images/image-075.png b/public/question_images/image-075.png similarity index 100% rename from assets/images/image-075.png rename to public/question_images/image-075.png diff --git a/assets/images/image-076.png b/public/question_images/image-076.png similarity index 100% rename from assets/images/image-076.png rename to public/question_images/image-076.png diff --git a/assets/images/image-077.png b/public/question_images/image-077.png similarity index 100% rename from assets/images/image-077.png rename to public/question_images/image-077.png diff --git a/assets/images/image-078.png b/public/question_images/image-078.png similarity index 100% rename from assets/images/image-078.png rename to public/question_images/image-078.png diff --git a/assets/images/image-079.png b/public/question_images/image-079.png similarity index 100% rename from assets/images/image-079.png rename to public/question_images/image-079.png diff --git a/assets/images/image-080.png b/public/question_images/image-080.png similarity index 100% rename from assets/images/image-080.png rename to public/question_images/image-080.png diff --git a/assets/images/image-081.png b/public/question_images/image-081.png similarity index 100% rename from assets/images/image-081.png rename to public/question_images/image-081.png diff --git a/assets/images/image-082.png b/public/question_images/image-082.png similarity index 100% rename from assets/images/image-082.png rename to public/question_images/image-082.png diff --git a/assets/images/image-083.png b/public/question_images/image-083.png similarity index 100% rename from assets/images/image-083.png rename to public/question_images/image-083.png diff --git a/assets/images/image-084.png b/public/question_images/image-084.png similarity index 100% rename from assets/images/image-084.png rename to public/question_images/image-084.png diff --git a/assets/images/image-085.png b/public/question_images/image-085.png similarity index 100% rename from assets/images/image-085.png rename to public/question_images/image-085.png diff --git a/assets/images/image-086.png b/public/question_images/image-086.png similarity index 100% rename from assets/images/image-086.png rename to public/question_images/image-086.png diff --git a/assets/images/image-087.png b/public/question_images/image-087.png similarity index 100% rename from assets/images/image-087.png rename to public/question_images/image-087.png diff --git a/assets/images/image-088.png b/public/question_images/image-088.png similarity index 100% rename from assets/images/image-088.png rename to public/question_images/image-088.png diff --git a/assets/images/image-089.png b/public/question_images/image-089.png similarity index 100% rename from assets/images/image-089.png rename to public/question_images/image-089.png diff --git a/assets/images/image-090.png b/public/question_images/image-090.png similarity index 100% rename from assets/images/image-090.png rename to public/question_images/image-090.png diff --git a/assets/images/image-091.png b/public/question_images/image-091.png similarity index 100% rename from assets/images/image-091.png rename to public/question_images/image-091.png diff --git a/assets/images/image-092.png b/public/question_images/image-092.png similarity index 100% rename from assets/images/image-092.png rename to public/question_images/image-092.png diff --git a/assets/images/image-093.png b/public/question_images/image-093.png similarity index 100% rename from assets/images/image-093.png rename to public/question_images/image-093.png diff --git a/assets/images/image-094.png b/public/question_images/image-094.png similarity index 100% rename from assets/images/image-094.png rename to public/question_images/image-094.png diff --git a/assets/images/image-095.png b/public/question_images/image-095.png similarity index 100% rename from assets/images/image-095.png rename to public/question_images/image-095.png diff --git a/assets/images/image-096.png b/public/question_images/image-096.png similarity index 100% rename from assets/images/image-096.png rename to public/question_images/image-096.png diff --git a/assets/images/image-097.png b/public/question_images/image-097.png similarity index 100% rename from assets/images/image-097.png rename to public/question_images/image-097.png diff --git a/assets/images/image-098.png b/public/question_images/image-098.png similarity index 100% rename from assets/images/image-098.png rename to public/question_images/image-098.png diff --git a/assets/images/image-099.png b/public/question_images/image-099.png similarity index 100% rename from assets/images/image-099.png rename to public/question_images/image-099.png diff --git a/assets/images/image-100.png b/public/question_images/image-100.png similarity index 100% rename from assets/images/image-100.png rename to public/question_images/image-100.png diff --git a/assets/images/image-101.png b/public/question_images/image-101.png similarity index 100% rename from assets/images/image-101.png rename to public/question_images/image-101.png diff --git a/assets/images/image-102.png b/public/question_images/image-102.png similarity index 100% rename from assets/images/image-102.png rename to public/question_images/image-102.png diff --git a/assets/images/image-103.png b/public/question_images/image-103.png similarity index 100% rename from assets/images/image-103.png rename to public/question_images/image-103.png diff --git a/assets/images/image-104.png b/public/question_images/image-104.png similarity index 100% rename from assets/images/image-104.png rename to public/question_images/image-104.png diff --git a/assets/images/image-105.png b/public/question_images/image-105.png similarity index 100% rename from assets/images/image-105.png rename to public/question_images/image-105.png diff --git a/assets/images/image-106.png b/public/question_images/image-106.png similarity index 100% rename from assets/images/image-106.png rename to public/question_images/image-106.png diff --git a/assets/images/image-107.png b/public/question_images/image-107.png similarity index 100% rename from assets/images/image-107.png rename to public/question_images/image-107.png diff --git a/assets/images/image-108.png b/public/question_images/image-108.png similarity index 100% rename from assets/images/image-108.png rename to public/question_images/image-108.png diff --git a/assets/images/image-109.png b/public/question_images/image-109.png similarity index 100% rename from assets/images/image-109.png rename to public/question_images/image-109.png diff --git a/assets/images/image-110.png b/public/question_images/image-110.png similarity index 100% rename from assets/images/image-110.png rename to public/question_images/image-110.png diff --git a/assets/images/image-111.png b/public/question_images/image-111.png similarity index 100% rename from assets/images/image-111.png rename to public/question_images/image-111.png diff --git a/assets/images/image-112.png b/public/question_images/image-112.png similarity index 100% rename from assets/images/image-112.png rename to public/question_images/image-112.png diff --git a/assets/images/image-113.png b/public/question_images/image-113.png similarity index 100% rename from assets/images/image-113.png rename to public/question_images/image-113.png diff --git a/assets/images/image-114.png b/public/question_images/image-114.png similarity index 100% rename from assets/images/image-114.png rename to public/question_images/image-114.png diff --git a/assets/images/image-115.png b/public/question_images/image-115.png similarity index 100% rename from assets/images/image-115.png rename to public/question_images/image-115.png diff --git a/assets/images/image-116.png b/public/question_images/image-116.png similarity index 100% rename from assets/images/image-116.png rename to public/question_images/image-116.png diff --git a/assets/images/image-117.png b/public/question_images/image-117.png similarity index 100% rename from assets/images/image-117.png rename to public/question_images/image-117.png diff --git a/assets/images/image-118.png b/public/question_images/image-118.png similarity index 100% rename from assets/images/image-118.png rename to public/question_images/image-118.png diff --git a/assets/images/image-119.png b/public/question_images/image-119.png similarity index 100% rename from assets/images/image-119.png rename to public/question_images/image-119.png diff --git a/assets/images/image-120.png b/public/question_images/image-120.png similarity index 100% rename from assets/images/image-120.png rename to public/question_images/image-120.png diff --git a/assets/questions.json b/public/questions.json similarity index 87% rename from assets/questions.json rename to public/questions.json index 2ce584a..cf92534 100644 --- a/assets/questions.json +++ b/public/questions.json @@ -3,398 +3,204 @@ { "id": 1, "title": "Zgodovina radioamaterstva, IARU in ZRS", - "questions": [ - [ - 1, - 12 - ] - ] + "questions": [[1, 12]] }, { "id": 2, "title": "Osnovni pojmi o radijskih komunikacijah", - "questions": [ - [ - 13, - 24 - ] - ] + "questions": [[13, 24]] }, { "id": 3, "title": "Razdelitev frekvenc, moči, regioni, code", "questions": [ - [ - 25, - 128 - ], - [ - 239, - 239 - ] + [25, 128], + [239, 239] ] }, { "id": 4, "title": "Mednarodni in slovenski predpisi", - "questions": [ - [ - 129, - 149 - ] - ] + "questions": [[129, 149]] }, { "id": 5, "title": "Q-kod in kratice", "questions": [ - [ - 150, - 168 - ], - [ - 173, - 201 - ], - [ - 251, - 255 - ], - [ - 261, - 268 - ], - [ - 299, - 299 - ] + [150, 168], + [173, 201], + [251, 255], + [261, 268], + [299, 299] ] }, { "id": 6, "title": "Operaterstvo", "questions": [ - [ - 169, - 172 - ], - [ - 283, - 298 - ], - [ - 375, - 385 - ], - [ - 388, - 394 - ] + [169, 172], + [283, 298], + [375, 385], + [388, 394] ] }, { "id": 7, "title": "Prefiksi in sufiksi", - "questions": [ - [ - 202, - 212 - ] - ] + "questions": [[202, 212]] }, { "id": 9, "title": "Risanje", "questions": [ - [ - 240, - 250 - ], - [ - 256, - 260 - ] + [240, 250], + [256, 260] ] }, { "id": 10, "title": "RST sistem", - "questions": [ - [ - 269, - 282 - ] - ] + "questions": [[269, 282]] }, { "id": 11, "title": "Digitalne komunikacije", - "questions": [ - [ - 300, - 312 - ] - ] + "questions": [[300, 312]] }, { "id": 12, "title": "Radioamaterski dnevnik", - "questions": [ - [ - 313, - 325 - ] - ] + "questions": [[313, 325]] }, { "id": 13, "title": "QSL kartice", - "questions": [ - [ - 326, - 337 - ] - ] + "questions": [[326, 337]] }, { "id": 14, "title": "Časocvne cone in UTC", - "questions": [ - [ - 338, - 344 - ] - ] + "questions": [[338, 344]] }, { "id": 15, "title": "Univerzalni lokator", - "questions": [ - [ - 345, - 350 - ] - ] + "questions": [[345, 350]] }, { "id": 16, "title": "Radioamaterska tekmovanja in diplome", "questions": [ - [ - 351, - 362 - ], - [ - 386, - 387 - ] + [351, 362], + [386, 387] ] }, { "id": 17, "title": "Ham spirit in ARON", - "questions": [ - [ - 363, - 374 - ] - ] + "questions": [[363, 374]] }, { "id": 18, "title": "Fizika, elektrotehnika", "questions": [ - [ - 395, - 454 - ], - [ - 465, - 492 - ] + [395, 454], + [465, 492] ] }, { "id": 19, "title": "Valovanje", "questions": [ - [ - 455, - 464 - ], - [ - 777, - 804 - ] + [455, 464], + [777, 804] ] }, { "id": 20, "title": "Električna moč in izkoristek", - "questions": [ - [ - 493, - 504 - ] - ] + "questions": [[493, 504]] }, { "id": 21, "title": "Tuljave in kondenzatorji", - "questions": [ - [ - 505, - 541 - ] - ] + "questions": [[505, 541]] }, { "id": 22, "title": "Električni filtri", - "questions": [ - [ - 542, - 569 - ] - ] + "questions": [[542, 569]] }, { "id": 23, "title": "Polprevodniki in elektronike", - "questions": [ - [ - 570, - 591 - ] - ] + "questions": [[570, 591]] }, { "id": 24, "title": "Mikrofon in zvočnik", - "questions": [ - [ - 592, - 594 - ] - ] + "questions": [[592, 594]] }, { "id": 25, "title": "Električni sklopi", - "questions": [ - [ - 595, - 609 - ] - ] + "questions": [[595, 609]] }, { "id": 26, "title": "Digitalna obdelava signalov", - "questions": [ - [ - 610, - 624 - ] - ] + "questions": [[610, 624]] }, { "id": 27, "title": "Radijski valovi in signali", - "questions": [ - [ - 625, - 668 - ] - ] + "questions": [[625, 668]] }, { "id": 28, "title": "Radijski oddajniki", - "questions": [ - [ - 669, - 707 - ] - ] + "questions": [[669, 707]] }, { "id": 29, "title": "Radijski sprejemniki", - "questions": [ - [ - 708, - 776 - ] - ] + "questions": [[708, 776]] }, { "id": 30, "title": "Razširjanje radijskih valov", - "questions": [ - [ - 805, - 835 - ] - ] + "questions": [[805, 835]] }, { "id": 31, "title": "Antene", "questions": [ - [ - 213, - 233 - ], - [ - 836, - 868 - ] + [213, 233], + [836, 868] ] }, { "id": 32, "title": "Napajanje anten", "questions": [ - [ - 234, - 238 - ], - [ - 869, - 900 - ] + [234, 238], + [869, 900] ] }, { "id": 33, "title": "Motnje", - "questions": [ - [ - 901, - 904 - ] - ] + "questions": [[901, 904]] }, { "id": 34, "title": "Varnost pri delu", - "questions": [ - [ - 905, - 908 - ] - ] + "questions": [[905, 908]] }, { "id": 35, "title": "Meritve", - "questions": [ - [ - 909, - 970 - ] - ] + "questions": [[909, 970]] } ], "questions": [ @@ -402,55 +208,35 @@ "id": 1, "question": "Katerega leta so bila prenesena prva sporočila preko radijskih valov?", "image": null, - "answers": [ - "1903", - "1895", - "1899" - ], + "answers": ["1903", "1895", "1899"], "correct": 1 }, { "id": 2, "question": "Katerega leta je bilo poslano prvo sporočilo preko radijskih valov iz Evrope v Severno Ameriko?", "image": null, - "answers": [ - "1923", - "1903", - "1934" - ], + "answers": ["1923", "1903", "1934"], "correct": 1 }, { "id": 3, "question": "Kdaj je bila vzpostavljena prva radioamaterska zveza z odbojem od meteorskih sledi (MS)?", "image": null, - "answers": [ - "1939", - "1955", - "1966" - ], + "answers": ["1939", "1955", "1966"], "correct": 1 }, { "id": 4, "question": "Kdaj je bila vzpostavljena prva radioamaterska zveza z odbojem od lune (EME)?", "image": null, - "answers": [ - "1960", - "1968", - "1950" - ], + "answers": ["1960", "1968", "1950"], "correct": 0 }, { "id": 5, "question": "Katerega leta je začel delovati prvi radioamaterski satelit OSCAR?", "image": null, - "answers": [ - "1972", - "1961", - "1984" - ], + "answers": ["1972", "1961", "1984"], "correct": 1 }, { @@ -490,44 +276,28 @@ "id": 9, "question": "Kje je sedež IARU?", "image": null, - "answers": [ - "V Franciji", - "V ZDA", - "V Švici" - ], + "answers": ["V Franciji", "V ZDA", "V Švici"], "correct": 1 }, { "id": 10, "question": "V katerem regionu IARU je ZRS polnopravna članica?", "image": null, - "answers": [ - "V 15. regionu", - "V 2. regionu", - "V 1. regionu" - ], + "answers": ["V 15. regionu", "V 2. regionu", "V 1. regionu"], "correct": 2 }, { "id": 11, "question": "Kdaj je bila ustanovljena Zveza radioamaterjev Slovenije?", "image": null, - "answers": [ - "1925", - "1946", - "1992" - ], + "answers": ["1925", "1946", "1992"], "correct": 1 }, { "id": 12, "question": "Kdaj je bila Zveza radioamaterjev Slovenije sprejeta v IARU?", "image": null, - "answers": [ - "1946", - "1990", - "1992" - ], + "answers": ["1946", "1990", "1992"], "correct": 2 }, { @@ -545,44 +315,28 @@ "id": 14, "question": "Katera mednarodna organizacija, ki deluje v okviru OZN, se ukvarja s tehničnim napredkom in razvojem telekomunikacij, mednarodnim sodelovanjem z namenom koordinacije, izboljšanja in racionalne uporabe vseh vrst telekomunikacij?", "image": null, - "answers": [ - "IARU", - "ITU", - "ARRL" - ], + "answers": ["IARU", "ITU", "ARRL"], "correct": 1 }, { "id": 15, "question": "Kje je sedež ITU?", "image": null, - "answers": [ - "V New Yorku, ZDA", - "V Parizu, Francija", - "V Ženevi, Švica" - ], + "answers": ["V New Yorku, ZDA", "V Parizu, Francija", "V Ženevi, Švica"], "correct": 2 }, { "id": 16, "question": "Kdaj je bila ustanovljena ITU?", "image": null, - "answers": [ - "1865", - "1899", - "1925" - ], + "answers": ["1865", "1899", "1925"], "correct": 0 }, { "id": 17, "question": "Od kdaj je Republika Slovenija članica ITU?", "image": null, - "answers": [ - "1990", - "1992", - "1996" - ], + "answers": ["1990", "1992", "1996"], "correct": 1 }, { @@ -666,154 +420,98 @@ "id": 25, "question": "Na koliko ITU regionov je razdeljen Svet?", "image": null, - "answers": [ - "3", - "6", - "40" - ], + "answers": ["3", "6", "40"], "correct": 0 }, { "id": 26, "question": "V katerem ITU regionu se nahaja Slovenija?", "image": null, - "answers": [ - "28", - "15", - "1" - ], + "answers": ["28", "15", "1"], "correct": 2 }, { "id": 27, "question": "Kateri del Sveta ni v 1. ITU regionu?", "image": null, - "answers": [ - "Evropa", - "Afrika", - "Severna Amerika" - ], + "answers": ["Evropa", "Afrika", "Severna Amerika"], "correct": 2 }, { "id": 28, "question": "V kateri coni po ITU razdelitvi se nahaja Slovenija?", "image": null, - "answers": [ - "15", - "28", - "14" - ], + "answers": ["15", "28", "14"], "correct": 1 }, { "id": 29, "question": "V kateri coni po CQ razdelitvi se nahaja Slovenija?", "image": null, - "answers": [ - "3", - "28", - "15" - ], + "answers": ["3", "28", "15"], "correct": 2 }, { "id": 30, "question": "Katerega od naštetih frekvenčnih pasov radioamaterji v Sloveniji ne smejo uporabljati?", "image": null, - "answers": [ - "3500 - 3800 kHz", - "144 - 146 MHz", - "220 - 225 MHz" - ], + "answers": ["3500 - 3800 kHz", "144 - 146 MHz", "220 - 225 MHz"], "correct": 2 }, { "id": 31, "question": "Katerega od naštetih frekvenčnih pasov radioamaterji v Sloveniji ne smejo uporabljati?", "image": null, - "answers": [ - "7000 - 7200 kHz", - "10100 - 10150 kHz", - "155 - 165 MHz" - ], + "answers": ["7000 - 7200 kHz", "10100 - 10150 kHz", "155 - 165 MHz"], "correct": 2 }, { "id": 32, "question": "Katero frekvenčno področje ni namenjeno radioamaterski dejavnosti?", "image": null, - "answers": [ - "1.8 MHz", - "144 MHz", - "27 MHz" - ], + "answers": ["1.8 MHz", "144 MHz", "27 MHz"], "correct": 2 }, { "id": 33, "question": "Katero od naštetih frekvenčnih področij ni namenjeno radioamaterjem?", "image": null, - "answers": [ - "3.5 MHz", - "50 MHz", - "136 MHz" - ], + "answers": ["3.5 MHz", "50 MHz", "136 MHz"], "correct": 2 }, { "id": 34, "question": "Katero od naštetih frekvenčnih področij ni namenjeno radioamaterjem?", "image": null, - "answers": [ - "47 GHz", - "432 MHz", - "46 MHz" - ], + "answers": ["47 GHz", "432 MHz", "46 MHz"], "correct": 2 }, { "id": 35, "question": "Katerega od naštetih frekvenčnih pasov radioamaterji v Sloveniji lahko uporabljajo?", "image": null, - "answers": [ - "2000 - 2800 kHz", - "144 - 146 MHz", - "220 - 225 MHz" - ], + "answers": ["2000 - 2800 kHz", "144 - 146 MHz", "220 - 225 MHz"], "correct": 1 }, { "id": 36, "question": "Katerega od naštetih frekvenčnih pasov radioamaterji v Sloveniji lahko uporabljajo?", "image": null, - "answers": [ - "350 - 1800 kHz", - "220 - 225 MHz", - "7000 - 7200 kHz" - ], + "answers": ["350 - 1800 kHz", "220 - 225 MHz", "7000 - 7200 kHz"], "correct": 2 }, { "id": 37, "question": "Katero od naštetih frekvenčnih področij je namenjeno radioamaterski dejavnosti?", "image": null, - "answers": [ - "27 MHz", - "432 MHz", - "46 MHz" - ], + "answers": ["27 MHz", "432 MHz", "46 MHz"], "correct": 1 }, { "id": 38, "question": "Katero od naštetih frekvenčnih področij je namenjeno radioamaterski dejavnosti?", "image": null, - "answers": [ - "900 MHz", - "3.5 MHz", - "27 MHz" - ], + "answers": ["900 MHz", "3.5 MHz", "27 MHz"], "correct": 1 }, { @@ -853,22 +551,14 @@ "id": 42, "question": "S kakšno največjo močjo je radioamaterjem A razreda v Sloveniji dovoljeno oddajati na frekvenci 1820 kHz?", "image": null, - "answers": [ - "50 W", - "300 W", - "1500 W" - ], + "answers": ["50 W", "300 W", "1500 W"], "correct": 2 }, { "id": 43, "question": "S kakšno največjo močjo je radioamaterjem A razreda v Sloveniji dovoljeno oddajati na frekvenci 1910 kHz?", "image": null, - "answers": [ - "50 W", - "300 W", - "1500 W" - ], + "answers": ["50 W", "300 W", "1500 W"], "correct": 2 }, { @@ -908,22 +598,14 @@ "id": 47, "question": "S kakšno največjo močjo je dovoljeno oddajati radioamaterju N razreda na frekvenci 3551 kHz?", "image": null, - "answers": [ - "100 W", - "300 W", - "1500 W" - ], + "answers": ["100 W", "300 W", "1500 W"], "correct": 0 }, { "id": 48, "question": "S kakšno največjo močjo je dovoljeno oddajati radioamaterju A razreda na frekvenci 3501 kHz?", "image": null, - "answers": [ - "100 W", - "300 W", - "1500 W" - ], + "answers": ["100 W", "300 W", "1500 W"], "correct": 2 }, { @@ -963,22 +645,14 @@ "id": 52, "question": "S kakšno največjo močjo je radioamaterjem N razreda v Sloveniji dovoljeno oddajati na frekvenci 7010 kHz?", "image": null, - "answers": [ - "100 W", - "250 W", - "1500 W" - ], + "answers": ["100 W", "250 W", "1500 W"], "correct": 0 }, { "id": 53, "question": "S kakšno največjo močjo je radioamaterjem A razreda v Sloveniji dovoljeno oddajati na frekvenci 7002 kHz?", "image": null, - "answers": [ - "100 W", - "300 W", - "1500 W" - ], + "answers": ["100 W", "300 W", "1500 W"], "correct": 2 }, { @@ -1018,11 +692,7 @@ "id": 57, "question": "S kakšno največjo močjo je dovoljeno oddajati operaterju A razreda na frekvenci 10105 kHz?", "image": null, - "answers": [ - "100 W", - "300 W", - "1500 W" - ], + "answers": ["100 W", "300 W", "1500 W"], "correct": 1 }, { @@ -1073,11 +743,7 @@ "id": 62, "question": "S kakšno največjo močjo je operaterjem A razreda v Sloveniji dovoljeno oddajati na frekvenci 14260 kHz?", "image": null, - "answers": [ - "100 W", - "300 W", - "1500 W" - ], + "answers": ["100 W", "300 W", "1500 W"], "correct": 2 }, { @@ -1128,11 +794,7 @@ "id": 67, "question": "S kakšno največjo močjo je operaterjem A razreda v Sloveniji dovoljeno oddajati na frekvenci 18070 kHz?", "image": null, - "answers": [ - "100 W", - "300 W", - "1500 W" - ], + "answers": ["100 W", "300 W", "1500 W"], "correct": 2 }, { @@ -1183,11 +845,7 @@ "id": 72, "question": "S kakšno največjo močjo je operaterjem A razreda v Sloveniji dovoljeno oddajati na frekvenci 21050 kHz?", "image": null, - "answers": [ - "100 W", - "300 W", - "1500 W" - ], + "answers": ["100 W", "300 W", "1500 W"], "correct": 2 }, { @@ -1238,11 +896,7 @@ "id": 77, "question": "S kakšno največjo močjo je operaterjem A razreda v Sloveniji dovoljeno oddajati na frekvenci 24901 kHz?", "image": null, - "answers": [ - "100 W", - "300 W", - "1500 W" - ], + "answers": ["100 W", "300 W", "1500 W"], "correct": 2 }, { @@ -1260,11 +914,7 @@ "id": 79, "question": "V kateri metrski pas spada frekvenčno področje 14 000 kHz – 14 350 kHz?", "image": null, - "answers": [ - "30 m", - "17 m", - "20 m" - ], + "answers": ["30 m", "17 m", "20 m"], "correct": 2 }, { @@ -1293,11 +943,7 @@ "id": 82, "question": "S kakšno največjo močjo je operaterjem A razreda v Sloveniji dovoljeno oddajati na frekvenci 28150 kHz?", "image": null, - "answers": [ - "100 W", - "300 W", - "1500 W" - ], + "answers": ["100 W", "300 W", "1500 W"], "correct": 2 }, { @@ -1381,11 +1027,7 @@ "id": 90, "question": "S kakšno največjo močjo je operaterjem A razreda dovoljeno v Sloveniji oddajati na frekvenci 50150 kHz?", "image": null, - "answers": [ - "25 W", - "100 W", - "300 W" - ], + "answers": ["25 W", "100 W", "300 W"], "correct": 1 }, { @@ -1447,22 +1089,14 @@ "id": 96, "question": "S kakšno največjo močjo lahko oddajajo operaterji A razreda na 4-meterskem pasu?", "image": null, - "answers": [ - "25 W", - "100 W", - "300 W" - ], + "answers": ["25 W", "100 W", "300 W"], "correct": 1 }, { "id": 97, "question": "S kakšno največjo močjo lahko oddajajo operaterji N razreda na 4-meterskem pasu?", "image": null, - "answers": [ - "10 W", - "25 W", - "100 W" - ], + "answers": ["10 W", "25 W", "100 W"], "correct": 1 }, { @@ -1491,55 +1125,35 @@ "id": 100, "question": "S kakšno največjo močjo je operaterjem A razreda v Sloveniji dovoljeno oddajati na frekvenci 144.200 MHz?", "image": null, - "answers": [ - "100 W", - "750 W", - "1500 W" - ], + "answers": ["100 W", "750 W", "1500 W"], "correct": 2 }, { "id": 101, "question": "S kakšno največjo močjo je operaterjem N razreda v Sloveniji dovoljeno oddajati na frekvenci 144.050 MHz?", "image": null, - "answers": [ - "10 W", - "25 W", - "100 W" - ], + "answers": ["10 W", "25 W", "100 W"], "correct": 1 }, { "id": 102, "question": "S kakšno največjo močjo je operaterjem A razreda v Sloveniji dovoljeno oddajati na frekvenci 145.500 MHz?", "image": null, - "answers": [ - "25 W", - "50 W", - "100 W" - ], + "answers": ["25 W", "50 W", "100 W"], "correct": 1 }, { "id": 103, "question": "S kakšno največjo močjo je operaterjem N razreda v Sloveniji dovoljeno oddajati na frekvenci 145.550 MHz?", "image": null, - "answers": [ - "25 W", - "50 W", - "100 W" - ], + "answers": ["25 W", "50 W", "100 W"], "correct": 0 }, { "id": 104, "question": "S kakšno največjo močjo je operaterjem A razreda v Sloveniji dovoljeno oddajati na frekvenci 432,000 – 434,590 MHz?", "image": null, - "answers": [ - "1500 W", - "100 W", - "300 W" - ], + "answers": ["1500 W", "100 W", "300 W"], "correct": 0 }, { @@ -1612,22 +1226,14 @@ "id": 111, "question": "Frekvenca simpleksnega kanala V40 (klicni kanal) je:", "image": null, - "answers": [ - "145,525 MHz", - "144,575 MHz", - "145,500 MHz" - ], + "answers": ["145,525 MHz", "144,575 MHz", "145,500 MHz"], "correct": 2 }, { "id": 112, "question": "Frekvenca simpleksnega kanala U280 (klicni kanal) je:", "image": null, - "answers": [ - "433,400 MHz", - "433,500 MHz", - "433,800 MHz" - ], + "answers": ["433,400 MHz", "433,500 MHz", "433,800 MHz"], "correct": 1 }, { @@ -1667,55 +1273,35 @@ "id": 116, "question": "Katere modulacije smemo uporabljati na 30-meterskem pasu?", "image": null, - "answers": [ - "CW in fone", - "CW, digimode in fone", - "CW in digimode" - ], + "answers": ["CW in fone", "CW, digimode in fone", "CW in digimode"], "correct": 2 }, { "id": 117, "question": "S kakšno največjo močjo je operaterjem A razreda dovoljeno oddajati na 2200-meterskem pasu?", "image": null, - "answers": [ - "100 W eirp", - "25 W eirp", - "1 W eirp" - ], + "answers": ["100 W eirp", "25 W eirp", "1 W eirp"], "correct": 2 }, { "id": 118, "question": "S kakšno največjo močjo je operaterjem A razreda v Sloveniji dovoljeno oddajati na frekvenci 432.335 MHz?", "image": null, - "answers": [ - "100 W", - "750 W", - "1500 W" - ], + "answers": ["100 W", "750 W", "1500 W"], "correct": 2 }, { "id": 119, "question": "S kakšno največjo močjo je operaterjem N razreda v Sloveniji dovoljeno oddajati na frekvenci 432.150 MHz?", "image": null, - "answers": [ - "10 W", - "25 W", - "100 W" - ], + "answers": ["10 W", "25 W", "100 W"], "correct": 1 }, { "id": 120, "question": "S kakšno največjo močjo je radioamaterjem A razreda dovoljeno oddajati na 630- metrskem pasu?", "image": null, - "answers": [ - "25 W eirp", - "50 W eirp", - "5 W eirp" - ], + "answers": ["25 W eirp", "50 W eirp", "5 W eirp"], "correct": 2 }, { @@ -1832,11 +1418,7 @@ "id": 131, "question": "Ali je potrebno skladno z mednarodnimi predpisi za uporabo amaterske radijske postaje opraviti izpit?", "image": null, - "answers": [ - "Da", - "Ne", - "Mednarodni predpisi o tem ne govorijo" - ], + "answers": ["Da", "Ne", "Mednarodni predpisi o tem ne govorijo"], "correct": 0 }, { @@ -1942,11 +1524,7 @@ "id": 141, "question": "Mednarodna oznaka (prefiks klicnega znaka), ki označuje radijsko postajo iz Republike Slovenije, je:", "image": null, - "answers": [ - "S5", - "SL", - "SI" - ], + "answers": ["S5", "SL", "SI"], "correct": 0 }, { @@ -1975,22 +1553,14 @@ "id": 144, "question": "Slovenski radioamater S51XXX je šel na izlet v Avstrijo. Ima veljavno CEPT licenco. Kakšen klicni znak bo imel?", "image": null, - "answers": [ - "S51XXX/OE", - "OE/S51XXX", - "S51XXX/P" - ], + "answers": ["S51XXX/OE", "OE/S51XXX", "S51XXX/P"], "correct": 1 }, { "id": 145, "question": "Nemški radioamater DL1ABC je prišel na dopust v Slovenijo, kako se bo identificiral?", "image": null, - "answers": [ - "DL1ABC/S5", - "S5/DL1ABC", - "DL1ABC/P" - ], + "answers": ["DL1ABC/S5", "S5/DL1ABC", "DL1ABC/P"], "correct": 1 }, { @@ -2008,11 +1578,7 @@ "id": 147, "question": "Slovenski radioamater S51XXX na Hrvaškem kot turist letuje 1 mesec. Kako se oglaša?", "image": null, - "answers": [ - "S51XXX/9A", - "S51XXX/P", - "9A/S51XXX" - ], + "answers": ["S51XXX/9A", "S51XXX/P", "9A/S51XXX"], "correct": 2 }, { @@ -2041,11 +1607,7 @@ "id": 150, "question": "Kratica QTH pomeni:", "image": null, - "answers": [ - "Koliko je ura", - "Kraj bivanja ali naslov", - "Kaj te zanima" - ], + "answers": ["Koliko je ura", "Kraj bivanja ali naslov", "Kaj te zanima"], "correct": 1 }, { @@ -2074,44 +1636,28 @@ "id": 153, "question": "Katera kratica označuje \"Splošni poziv\" ?", "image": null, - "answers": [ - "CQD", - "CQ", - "PSE K" - ], + "answers": ["CQD", "CQ", "PSE K"], "correct": 1 }, { "id": 154, "question": "Kratica QRM? pomeni:", "image": null, - "answers": [ - "Zakaj se ne odzivaš?", - "Ali imaš motnje?", - "Imam motnje" - ], + "answers": ["Zakaj se ne odzivaš?", "Ali imaš motnje?", "Imam motnje"], "correct": 1 }, { "id": 155, "question": "Kratica QSL pomeni:", "image": null, - "answers": [ - "Pozdrav", - "Potrjujem sprejem", - "Odhajam z frekvence" - ], + "answers": ["Pozdrav", "Potrjujem sprejem", "Odhajam z frekvence"], "correct": 1 }, { "id": 156, "question": "Kratica QRZ? pomeni:", "image": null, - "answers": [ - "Kličem", - "Kdo me kliče?", - "Kakšno je vreme?" - ], + "answers": ["Kličem", "Kdo me kliče?", "Kakšno je vreme?"], "correct": 1 }, { @@ -2129,88 +1675,56 @@ "id": 158, "question": "Kratica QRV pomeni:", "image": null, - "answers": [ - "Slišim te", - "Sem pripravljen, aktiven", - "Sem visoko" - ], + "answers": ["Slišim te", "Sem pripravljen, aktiven", "Sem visoko"], "correct": 1 }, { "id": 159, "question": "S katero kratico bi povedali, da na kratko prekinjaš delo?", "image": null, - "answers": [ - "QRK", - "QTR", - "QRX" - ], + "answers": ["QRK", "QTR", "QRX"], "correct": 2 }, { "id": 160, "question": "Kratica QSO pomeni:", "image": null, - "answers": [ - "Raport", - "Zveza", - "Območje, lokator" - ], + "answers": ["Raport", "Zveza", "Območje, lokator"], "correct": 1 }, { "id": 161, "question": "Mednarodni signal za nevarnost v telegrafiji je:", "image": null, - "answers": [ - "SOS", - "CQD", - "MAYDAY" - ], + "answers": ["SOS", "CQD", "MAYDAY"], "correct": 0 }, { "id": 162, "question": "Mednarodni signal za nevarnost v telefoniji je:", "image": null, - "answers": [ - "MAYDAY", - "SOS", - "Pozor, pozor!" - ], + "answers": ["MAYDAY", "SOS", "Pozor, pozor!"], "correct": 0 }, { "id": 163, "question": "Kratica CQ pomeni:", "image": null, - "answers": [ - "Klic za nevarnost", - "Prekinjam zvezo", - "Splošni poziv" - ], + "answers": ["Klic za nevarnost", "Prekinjam zvezo", "Splošni poziv"], "correct": 2 }, { "id": 164, "question": "Kratica DE pomeni:", "image": null, - "answers": [ - "Od", - "Za", - "Njemu" - ], + "answers": ["Od", "Za", "Njemu"], "correct": 0 }, { "id": 165, "question": "Kratica PSE pomeni:", "image": null, - "answers": [ - "Pridi", - "Potrditev", - "Prosim" - ], + "answers": ["Pridi", "Potrditev", "Prosim"], "correct": 2 }, { @@ -2228,11 +1742,7 @@ "id": 167, "question": "Kratica 73 pomeni:", "image": null, - "answers": [ - "Številka zveze", - "Pozdrav", - "To ni kratica" - ], + "answers": ["Številka zveze", "Pozdrav", "To ni kratica"], "correct": 1 }, { @@ -2250,11 +1760,7 @@ "id": 169, "question": "Da je zveza veljavna je poleg klicnega znaka najvažnejši podatek:", "image": null, - "answers": [ - "Ime operatorja", - "Sprejet QTH", - "Sprejet raport" - ], + "answers": ["Ime operatorja", "Sprejet QTH", "Sprejet raport"], "correct": 2 }, { @@ -2294,165 +1800,105 @@ "id": 173, "question": "S katero kratico označimo univerzalni koordinirani čas?", "image": null, - "answers": [ - "MEZ", - "UTC", - "QTR" - ], + "answers": ["MEZ", "UTC", "QTR"], "correct": 1 }, { "id": 174, "question": "Dekle - operaterko označuje kratica:", "image": null, - "answers": [ - "XYL", - "XL", - "YL" - ], + "answers": ["XYL", "XL", "YL"], "correct": 2 }, { "id": 175, "question": "Soprogo - poročeno operaterko označuje kratica:", "image": null, - "answers": [ - "XL", - "XYL", - "XY" - ], + "answers": ["XL", "XYL", "XY"], "correct": 1 }, { "id": 176, "question": "Kratica RX označuje:", "image": null, - "answers": [ - "oddajnik", - "sprejemnik", - "sprejemno-oddajno postajo" - ], + "answers": ["oddajnik", "sprejemnik", "sprejemno-oddajno postajo"], "correct": 1 }, { "id": 177, "question": "Kratica TX označuje:", "image": null, - "answers": [ - "sprejemnik", - "oddajnik", - "sprejemno-oddajno postajo" - ], + "answers": ["sprejemnik", "oddajnik", "sprejemno-oddajno postajo"], "correct": 1 }, { "id": 178, "question": "Katera kratica pomeni isto kot TRCV?", "image": null, - "answers": [ - "TRX", - "TX", - "RX" - ], + "answers": ["TRX", "TX", "RX"], "correct": 0 }, { "id": 179, "question": "Katera kratica označuje sprejemnega radioamaterja?", "image": null, - "answers": [ - "SWL", - "HAM", - "HAMLET" - ], + "answers": ["SWL", "HAM", "HAMLET"], "correct": 0 }, { "id": 180, "question": "Kratica RIG pomeni:", "image": null, - "answers": [ - "sporočilo", - "rigorozno", - "primopredajnik" - ], + "answers": ["sporočilo", "rigorozno", "primopredajnik"], "correct": 2 }, { "id": 181, "question": "Oznaka za v naprej dogovorjeno zvezo je:", "image": null, - "answers": [ - "SKIL", - "SKED", - "CALL" - ], + "answers": ["SKIL", "SKED", "CALL"], "correct": 1 }, { "id": 182, "question": "Oznaka za naključno zvezo pomeni:", "image": null, - "answers": [ - "RANDOM", - "SKED", - "QSLL" - ], + "answers": ["RANDOM", "SKED", "QSLL"], "correct": 0 }, { "id": 183, "question": "\"Dober dan\" se glasi:", "image": null, - "answers": [ - "GM", - "GD", - "GE" - ], + "answers": ["GM", "GD", "GE"], "correct": 1 }, { "id": 184, "question": "\"Dober večer\" se glasi:", "image": null, - "answers": [ - "GM", - "GD", - "GE" - ], + "answers": ["GM", "GD", "GE"], "correct": 2 }, { "id": 185, "question": "\"Lahko noč\" se glasi", "image": null, - "answers": [ - "GM", - "GB", - "GN" - ], + "answers": ["GM", "GB", "GN"], "correct": 2 }, { "id": 186, "question": "\"Nasvidenje\" se glasi:", "image": null, - "answers": [ - "GM", - "GB", - "NS" - ], + "answers": ["GM", "GB", "NS"], "correct": 1 }, { "id": 187, "question": "\"Vreme je odlično\" se glasi:", "image": null, - "answers": [ - "TX OK", - "WX FB", - "RX FB" - ], + "answers": ["TX OK", "WX FB", "RX FB"], "correct": 1 }, { @@ -2470,275 +1916,175 @@ "id": 189, "question": "Radioamaterska oznaka za Oceanijo je:", "image": null, - "answers": [ - "OC", - "VK", - "NA" - ], + "answers": ["OC", "VK", "NA"], "correct": 0 }, { "id": 190, "question": "Radioamaterska oznaka za Afriko je:", "image": null, - "answers": [ - "OC", - "AF", - "NA" - ], + "answers": ["OC", "AF", "NA"], "correct": 1 }, { "id": 191, "question": "Radioamaterska oznaka za Južno Ameriko je:", "image": null, - "answers": [ - "JA", - "SA", - "PY" - ], + "answers": ["JA", "SA", "PY"], "correct": 1 }, { "id": 192, "question": "Radioamaterska oznaka za Severno Ameriko je:", "image": null, - "answers": [ - "SA", - "W", - "NA" - ], + "answers": ["SA", "W", "NA"], "correct": 2 }, { "id": 193, "question": "Radioamaterska oznaka za Azijo je:", "image": null, - "answers": [ - "AZ", - "AS", - "BY" - ], + "answers": ["AZ", "AS", "BY"], "correct": 1 }, { "id": 194, "question": "Katera kratica označuje radioteleprinter?", "image": null, - "answers": [ - "RTTY", - "TTY", - "SSTV" - ], + "answers": ["RTTY", "TTY", "SSTV"], "correct": 0 }, { "id": 195, "question": "Katera kratica označuje telegrafijo?", "image": null, - "answers": [ - "CW", - "AM", - "SSB" - ], + "answers": ["CW", "AM", "SSB"], "correct": 0 }, { "id": 196, "question": "Katera kratica označuje amplitudno modulacijo?", "image": null, - "answers": [ - "CW", - "FM", - "AM" - ], + "answers": ["CW", "FM", "AM"], "correct": 2 }, { "id": 197, "question": "Katera kratica označuje frekvenčno modulacijo?", "image": null, - "answers": [ - "CW", - "SSB", - "FM" - ], + "answers": ["CW", "SSB", "FM"], "correct": 2 }, { "id": 198, "question": "Katera kratica označuje prenos mirujoče slike?", "image": null, - "answers": [ - "RTTY", - "TTY", - "SSTV" - ], + "answers": ["RTTY", "TTY", "SSTV"], "correct": 2 }, { "id": 199, "question": "Katera kratica označuje prenos gibljive slike?", "image": null, - "answers": [ - "RTTY", - "ATV", - "SSTV" - ], + "answers": ["RTTY", "ATV", "SSTV"], "correct": 1 }, { "id": 200, "question": "Katera kratica označuje prenos mirujoče slike in teksta?", "image": null, - "answers": [ - "FAX", - "RTTY", - "ATV" - ], + "answers": ["FAX", "RTTY", "ATV"], "correct": 0 }, { "id": 201, "question": "Katera kratica označuje enobočno amplitudno modulacijo?", "image": null, - "answers": [ - "AM", - "FM", - "SSB" - ], + "answers": ["AM", "FM", "SSB"], "correct": 2 }, { "id": 202, "question": "Prefiks klicnega znaka S50ZRS je:", "image": null, - "answers": [ - "S", - "S5", - "S50" - ], + "answers": ["S", "S5", "S50"], "correct": 1 }, { "id": 203, "question": "Prefiks klicnega znaka J3A je:", "image": null, - "answers": [ - "J", - "J3", - "A" - ], + "answers": ["J", "J3", "A"], "correct": 1 }, { "id": 204, "question": "Prefiks klicnega znaka ZA1AJ je:", "image": null, - "answers": [ - "ZA", - "ZA1", - "AJ" - ], + "answers": ["ZA", "ZA1", "AJ"], "correct": 0 }, { "id": 205, "question": "Sufiks klicnega znaka HG73DX je:", "image": null, - "answers": [ - "DX", - "3DX", - "73DX" - ], + "answers": ["DX", "3DX", "73DX"], "correct": 2 }, { "id": 206, "question": "Sufiks klicnega znaka J28JJ je:", "image": null, - "answers": [ - "8JJ", - "JJ", - "J28" - ], + "answers": ["8JJ", "JJ", "J28"], "correct": 0 }, { "id": 207, "question": "Sufiks klicnega znaka PA6IARU je:", "image": null, - "answers": [ - "IARU", - "PA6", - "6IARU" - ], + "answers": ["IARU", "PA6", "6IARU"], "correct": 2 }, { "id": 208, "question": "Katera od naštetih postaj oddaja iz Slovenije?", "image": null, - "answers": [ - "S5/I2AAA", - "9A/S59ZRS", - "S79NO" - ], + "answers": ["S5/I2AAA", "9A/S59ZRS", "S79NO"], "correct": 0 }, { "id": 209, "question": "Katera od naštetih postaj oddaja iz Slovenije?", "image": null, - "answers": [ - "S57BBA", - "OE/S59ZRS", - "OE6AAZ/P" - ], + "answers": ["S57BBA", "OE/S59ZRS", "OE6AAZ/P"], "correct": 0 }, { "id": 210, "question": "Katera od naštetih postaj oddaja iz Slovenije?", "image": null, - "answers": [ - "S5/ZL1BII", - "S79NO", - "IG9/S59ZRS" - ], + "answers": ["S5/ZL1BII", "S79NO", "IG9/S59ZRS"], "correct": 0 }, { "id": 211, "question": "Katera od naštetih postaj oddaja iz Slovenije?", "image": null, - "answers": [ - "S55YLJ", - "I5/S59ZRS", - "SL2AA" - ], + "answers": ["S55YLJ", "I5/S59ZRS", "SL2AA"], "correct": 0 }, { "id": 212, "question": "Katera od naštetih postaj oddaja iz slovenskega plovila v mednarodnih vodah?", "image": null, - "answers": [ - "S51XX", - "S51XX7M", - "S51XX/MM" - ], + "answers": ["S51XX", "S51XX7M", "S51XX/MM"], "correct": 2 }, { "id": 213, "question": "Kaj predstavlja risba?", "image": "image-000.png", - "answers": [ - "Polvalni dipol", - "Zaprti dipol", - "Windom antena" - ], + "answers": ["Polvalni dipol", "Zaprti dipol", "Windom antena"], "correct": 0 }, { @@ -2756,22 +2102,14 @@ "id": 215, "question": "Ali vpliva debelina krakov dipol antene na skrajševalni faktor?", "image": "image-002.png", - "answers": [ - "Da", - "Ne", - "Samo če so votli" - ], + "answers": ["Da", "Ne", "Samo če so votli"], "correct": 0 }, { "id": 216, "question": "Ali je prikaz razporeditve toka in napetosti v polvalnem dipolu pravilna?", "image": "image-001.png", - "answers": [ - "Da", - "Tok mora potekati enako kot napetost", - "Ne" - ], + "answers": ["Da", "Tok mora potekati enako kot napetost", "Ne"], "correct": 0 }, { @@ -2800,11 +2138,7 @@ "id": 219, "question": "Kakšno anteno predstavlja risba?", "image": "image-006.png", - "answers": [ - "Inverted V", - "Quad anteno", - "Windom anteno" - ], + "answers": ["Inverted V", "Quad anteno", "Windom anteno"], "correct": 0 }, { @@ -2888,77 +2222,49 @@ "id": 227, "question": "Kako je polarizirana prva prikazana Yagi antena?", "image": "image-014.png", - "answers": [ - "Horizontalno", - "Vertikalno", - "Ni polarizirana" - ], + "answers": ["Horizontalno", "Vertikalno", "Ni polarizirana"], "correct": 0 }, { "id": 228, "question": "Kako je polarizirana druga prikazana Yagi antena?", "image": "image-015.png", - "answers": [ - "Horizontalno", - "Vertikalno", - "Ni polarizirana" - ], + "answers": ["Horizontalno", "Vertikalno", "Ni polarizirana"], "correct": 1 }, { "id": 229, "question": "Kakšno anteno prikazuje risba", "image": "image-016.png", - "answers": [ - "Dvojni Zeppelin", - "Enojni Zeppelin", - "T anteno" - ], + "answers": ["Dvojni Zeppelin", "Enojni Zeppelin", "T anteno"], "correct": 0 }, { "id": 230, "question": "Kakšno anteno prikazuje risba?", "image": "image-017.png", - "answers": [ - "Zeppelin", - "Windom", - "LW" - ], + "answers": ["Zeppelin", "Windom", "LW"], "correct": 1 }, { "id": 231, "question": "Kakšno anteno prikazuje risba?", "image": "image-018.png", - "answers": [ - "Dipol za eno področje", - "Dipol za dva področja", - "Windom" - ], + "answers": ["Dipol za eno področje", "Dipol za dva področja", "Windom"], "correct": 1 }, { "id": 232, "question": "Risba prikazuje sevalni diagram Yagi antene v tlorisu in stranskem risu. Kateri je horizontalni diagram sevanja?", "image": "image-019.png", - "answers": [ - "Prikazan b", - "Prikazan a", - "Noben ni pravilen" - ], + "answers": ["Prikazan b", "Prikazan a", "Noben ni pravilen"], "correct": 1 }, { "id": 233, "question": "Risba prikazuje sevalni diagram Yagi antene v tlorisu in stranskem risu, Kateri je vertikalni diagram sevanja?", "image": "image-020.png", - "answers": [ - "Prikazan b", - "Prikazan a", - "Noben ni pravilen" - ], + "answers": ["Prikazan b", "Prikazan a", "Noben ni pravilen"], "correct": 0 }, { @@ -3020,11 +2326,7 @@ "id": 239, "question": "Po ITU je radio definiran kot elektromagnetno valovanje v frekvenčnem pasu:", "image": null, - "answers": [ - "500 kHz – 50 GHz", - "100 kHz – 100 GHz", - "9 kHz – 400 GHz" - ], + "answers": ["500 kHz – 50 GHz", "100 kHz – 100 GHz", "9 kHz – 400 GHz"], "correct": 2 }, { @@ -3198,22 +2500,14 @@ "id": 261, "question": "Kratica, ki pomeni \"Ali naj preneham z oddajanjem?\", je:", "image": null, - "answers": [ - "QTC?", - "QRT?", - "QRS?" - ], + "answers": ["QTC?", "QRT?", "QRS?"], "correct": 1 }, { "id": 262, "question": "\"Nič nimam zate?\" se glasi:", "image": null, - "answers": [ - "QTR", - "QRU", - "QRW" - ], + "answers": ["QTR", "QRU", "QRW"], "correct": 1 }, { @@ -3253,11 +2547,7 @@ "id": 266, "question": "\"Potrjujem sprejem\" se glasi:", "image": null, - "answers": [ - "QSD", - "QSL", - "QSY" - ], + "answers": ["QSD", "QSL", "QSY"], "correct": 1 }, { @@ -3286,33 +2576,21 @@ "id": 269, "question": "Kaj označuje R v RST?", "image": null, - "answers": [ - "Glasnost", - "Razumljivost", - "Jakost signala" - ], + "answers": ["Glasnost", "Razumljivost", "Jakost signala"], "correct": 1 }, { "id": 270, "question": "Kaj označuje S v RST?", "image": null, - "answers": [ - "Slišnost", - "Razumljivost", - "Jakost signala" - ], + "answers": ["Slišnost", "Razumljivost", "Jakost signala"], "correct": 2 }, { "id": 271, "question": "Kaj označuje T v RST?", "image": null, - "answers": [ - "Razumljivost", - "Jakost signala", - "Kvaliteto tona" - ], + "answers": ["Razumljivost", "Jakost signala", "Kvaliteto tona"], "correct": 2 }, { @@ -3385,44 +2663,28 @@ "id": 278, "question": "Pri katerih od naštetih vrst zvez se ocenjuje tudi kvaliteta tona?", "image": null, - "answers": [ - "SSB", - "CW in AM", - "CW" - ], + "answers": ["SSB", "CW in AM", "CW"], "correct": 2 }, { "id": 279, "question": "V katerem RST raportu je čitljivost signala najboljša?", "image": null, - "answers": [ - "379", - "559", - "499" - ], + "answers": ["379", "559", "499"], "correct": 1 }, { "id": 280, "question": "V katerem RS raportu ima signal največjo jakost?", "image": null, - "answers": [ - "37", - "58", - "49" - ], + "answers": ["37", "58", "49"], "correct": 2 }, { "id": 281, "question": "V katerem RST raportu ima signal najboljšo kvaliteto tona?", "image": null, - "answers": [ - "59", - "559", - "598" - ], + "answers": ["59", "559", "598"], "correct": 1 }, { @@ -3495,33 +2757,21 @@ "id": 288, "question": "Kaj pomeni sledeče črkovanje: Oscar Mike One Delta Golf Lima Portable?", "image": null, - "answers": [ - "OMODGLP", - "OM1DGLP", - "OM1DGL/P" - ], + "answers": ["OMODGLP", "OM1DGLP", "OM1DGL/P"], "correct": 2 }, { "id": 289, "question": "Kaj pomeni sledeče črkovanje: India Three X-ray Yankee Alpha Slash Six?", "image": null, - "answers": [ - "I3XYA/P6", - "I3XRYA/6", - "I3XYA/6" - ], + "answers": ["I3XYA/P6", "I3XRYA/6", "I3XYA/6"], "correct": 2 }, { "id": 290, "question": "Kaj pomeni sledeče črkovanje: Whiskey Papa Four November Meritime-mobile?", "image": null, - "answers": [ - "WP4NM", - "WP4N/M", - "WP4N/MM" - ], + "answers": ["WP4NM", "WP4N/M", "WP4N/MM"], "correct": 2 }, { @@ -3627,11 +2877,7 @@ "id": 300, "question": "Kateri izmed spodnjih načinov dela ne sodi v amaterske komunikacije?", "image": null, - "answers": [ - "PSK31", - "HELL", - "FIFO" - ], + "answers": ["PSK31", "HELL", "FIFO"], "correct": 2 }, { @@ -3737,11 +2983,7 @@ "id": 310, "question": "Kako se imenuje prenos mirujočih slik na daljavo?", "image": null, - "answers": [ - "TV", - "SSTV", - "RTTY" - ], + "answers": ["TV", "SSTV", "RTTY"], "correct": 1 }, { @@ -3759,11 +3001,7 @@ "id": 312, "question": "Kako imenujemo prenos gibljivih slik na daljavo?", "image": null, - "answers": [ - "SSTV", - "FAX", - "FSTV oziroma ATV" - ], + "answers": ["SSTV", "FAX", "FSTV oziroma ATV"], "correct": 2 }, { @@ -3858,11 +3096,7 @@ "id": 321, "question": "Katerega od naštetih podatkov je potrebno obvezno vpisati v dnevnik klubske amaterske radijske postaje?", "image": null, - "answers": [ - "Čas začetka zveze", - "Oddan RS(T) raport", - "Ime sogovornika" - ], + "answers": ["Čas začetka zveze", "Oddan RS(T) raport", "Ime sogovornika"], "correct": 0 }, { @@ -3902,33 +3136,21 @@ "id": 325, "question": "V kakšni obliki praviloma vpisujemo čas zveze v dnevnik amaterske radijske postaje?", "image": null, - "answers": [ - "12h30min", - "12:30", - "1230" - ], + "answers": ["12h30min", "12:30", "1230"], "correct": 2 }, { "id": 326, "question": "Katero velikost QSL kartice priporoča IARU?", "image": null, - "answers": [ - "10 x 15 cm", - "9 x 15 cm", - "9 x 14 cm" - ], + "answers": ["10 x 15 cm", "9 x 15 cm", "9 x 14 cm"], "correct": 2 }, { "id": 327, "question": "Kateri je običajni način pošiljanja QSL kartic?", "image": null, - "answers": [ - "Z letalsko pošto", - "Preko QSL biroja", - "Z običajno pošto" - ], + "answers": ["Z letalsko pošto", "Preko QSL biroja", "Z običajno pošto"], "correct": 1 }, { @@ -4023,11 +3245,7 @@ "id": 336, "question": "S čim potrjujemo, da so podatki na QSL kartici verodostojni?", "image": null, - "answers": [ - "S fotografijo postaje", - "Z izjavo", - "S podpisom" - ], + "answers": ["S fotografijo postaje", "Z izjavo", "S podpisom"], "correct": 2 }, { @@ -4045,88 +3263,56 @@ "id": 338, "question": "Kolikšna je razlika (v urah) med GMT in UTC ?", "image": null, - "answers": [ - "Razlike ni", - "1 ura", - "2 uri" - ], + "answers": ["Razlike ni", "1 ura", "2 uri"], "correct": 0 }, { "id": 339, "question": "Po GMT je ura 1030. Koliko je takrat ura pri nas (MEZ)?", "image": null, - "answers": [ - "1030", - "0930", - "1130" - ], + "answers": ["1030", "0930", "1130"], "correct": 2 }, { "id": 340, "question": "Kolikšna je razlika med GMT in MEZ?", "image": null, - "answers": [ - "Ni razlike", - "MEZ je ena ura manj", - "MEZ je ena ura več" - ], + "answers": ["Ni razlike", "MEZ je ena ura manj", "MEZ je ena ura več"], "correct": 2 }, { "id": 341, "question": "Pri nas je ura 1315 (MEZ). Koliko je takrat GMT?", "image": null, - "answers": [ - "1115", - "1215", - "1315" - ], + "answers": ["1115", "1215", "1315"], "correct": 1 }, { "id": 342, "question": "Pri nas je ura 0030 (MEZ). Koliko je takrat GMT?", "image": null, - "answers": [ - "2330", - "0130", - "0230" - ], + "answers": ["2330", "0130", "0230"], "correct": 0 }, { "id": 343, "question": "Kolikšna je razlika med UTC in MEZ ?", "image": null, - "answers": [ - "Razlike ni", - "MEZ je ena ura manj", - "MEZ je ena ura več" - ], + "answers": ["Razlike ni", "MEZ je ena ura manj", "MEZ je ena ura več"], "correct": 1 }, { "id": 344, "question": "Na koliko glavnih časovnih con je razdeljen svet?", "image": null, - "answers": [ - "6", - "12", - "24" - ], + "answers": ["6", "12", "24"], "correct": 2 }, { "id": 345, "question": "Kateri od sledečih zapisov predstavlja univerzalni lokator (UL)?", "image": null, - "answers": [ - "HG64A", - "JN66XE", - "HG755A" - ], + "answers": ["HG64A", "JN66XE", "HG755A"], "correct": 1 }, { @@ -4155,11 +3341,7 @@ "id": 348, "question": "Kaj označujeta številki v UL lokatorju?", "image": null, - "answers": [ - "Malo polje", - "Polje", - "Veliko polje" - ], + "answers": ["Malo polje", "Polje", "Veliko polje"], "correct": 1 }, { @@ -4177,11 +3359,7 @@ "id": 350, "question": "Kaj označujeta zadnji dve črki v UL lokatorju?", "image": null, - "answers": [ - "Malo polje", - "Veliko polje", - "Polje" - ], + "answers": ["Malo polje", "Veliko polje", "Polje"], "correct": 0 }, { @@ -4221,11 +3399,7 @@ "id": 354, "question": "Katero od naštetih tekmovanj se odvija na UKV radijskih področjih?", "image": null, - "answers": [ - "WW DX CONTEST", - "ARRL DX CONTEST", - "ALPE-ADRIA VHF CONTEST" - ], + "answers": ["WW DX CONTEST", "ARRL DX CONTEST", "ALPE-ADRIA VHF CONTEST"], "correct": 2 }, { @@ -4265,44 +3439,28 @@ "id": 358, "question": "Kako se imenuje diploma, za katero radioamater izpolni pogoje, ko ima potrjene zveze s 100 \"državami\" (po radioamaterski razdelitvi) sveta?", "image": null, - "answers": [ - "DXCC", - "WAZ", - "WAE" - ], + "answers": ["DXCC", "WAZ", "WAE"], "correct": 0 }, { "id": 359, "question": "Kako se imenuje diploma za potrjene zveze s 40 conami po CQ razdelitvi sveta?", "image": null, - "answers": [ - "DXCC", - "WAZ", - "WAC" - ], + "answers": ["DXCC", "WAZ", "WAC"], "correct": 1 }, { "id": 360, "question": "Kako se imenuje diploma za potrjene zveze z vsemi kontinenti?", "image": null, - "answers": [ - "DXCC", - "WAZ", - "WAC" - ], + "answers": ["DXCC", "WAZ", "WAC"], "correct": 2 }, { "id": 361, "question": "Kako se imenuje diploma za potrjene zveze z evropskimi državami?", "image": null, - "answers": [ - "DXCC", - "WAZ", - "WAE" - ], + "answers": ["DXCC", "WAZ", "WAE"], "correct": 2 }, { @@ -4593,7 +3751,7 @@ }, { "id": 388, - "question": "Kako je pravilna oddamo svoj klicni znak?", + "question": "Kako pravilno oddamo svoj klicni znak?", "image": null, "answers": [ "Vedno oddamo cel klicni znak", @@ -4672,22 +3830,14 @@ "id": 395, "question": "Najmanjši delec snovi se imenuje:", "image": null, - "answers": [ - "atom", - "elektron", - "proton" - ], + "answers": ["atom", "elektron", "proton"], "correct": 0 }, { "id": 396, "question": "Najmanjši gradnik spojin se imenuje:", "image": null, - "answers": [ - "proton", - "atom", - "molekula" - ], + "answers": ["proton", "atom", "molekula"], "correct": 2 }, { @@ -4716,11 +3866,7 @@ "id": 399, "question": "Atomi se med seboj povezujejo v:", "image": null, - "answers": [ - "molekule", - "spojine", - "skupine" - ], + "answers": ["molekule", "spojine", "skupine"], "correct": 0 }, { @@ -4760,33 +3906,21 @@ "id": 403, "question": "Količino naboja merimo z enoto:", "image": null, - "answers": [ - "Volt [V]", - "Amper [A]", - "Coulomb [C]" - ], + "answers": ["Volt [V]", "Amper [A]", "Coulomb [C]"], "correct": 2 }, { "id": 404, "question": "Električni potencial merimo z enoto:", "image": null, - "answers": [ - "Volt [V]", - "Amper na meter [A/m]", - "Coulomb [C]" - ], + "answers": ["Volt [V]", "Amper na meter [A/m]", "Coulomb [C]"], "correct": 0 }, { "id": 405, "question": "Enota za delo se imenuje:", "image": null, - "answers": [ - "Joul [J]", - "Volt [V]", - "Amper [A]" - ], + "answers": ["Joul [J]", "Volt [V]", "Amper [A]"], "correct": 0 }, { @@ -4804,11 +3938,7 @@ "id": 407, "question": "Kako se imenuje enota za merjenje jakosti električnega polja?", "image": null, - "answers": [ - "Volt [V]", - "Gauss [G]", - "Volt na meter [V/m]" - ], + "answers": ["Volt [V]", "Gauss [G]", "Volt na meter [V/m]"], "correct": 2 }, { @@ -4837,33 +3967,21 @@ "id": 410, "question": "Enota za merjenje jakosti električnega toka se imenuje:", "image": null, - "answers": [ - "Volt [V]", - "Amper [A]", - "Farad [F]" - ], + "answers": ["Volt [V]", "Amper [A]", "Farad [F]"], "correct": 1 }, { "id": 411, "question": "S katero črko označimo električni tok?", "image": null, - "answers": [ - "A", - "I", - "U" - ], + "answers": ["A", "I", "U"], "correct": 1 }, { "id": 412, "question": "1A je enako:", "image": null, - "answers": [ - "10000 mA", - "100 mA", - "1000 mA" - ], + "answers": ["10000 mA", "100 mA", "1000 mA"], "correct": 2 }, { @@ -4881,33 +3999,21 @@ "id": 414, "question": "S katero črko označimo električno napetost?", "image": null, - "answers": [ - "A", - "U", - "V" - ], + "answers": ["A", "U", "V"], "correct": 1 }, { "id": 415, "question": "Enota za merjenje električne napetosti se imenuje:", "image": null, - "answers": [ - "Amper [A]", - "Watt [W]", - "Volt [V]" - ], + "answers": ["Amper [A]", "Watt [W]", "Volt [V]"], "correct": 2 }, { "id": 416, "question": "1kV je enako:", "image": null, - "answers": [ - "10000 V", - "0,01 MV", - "1000 V" - ], + "answers": ["10000 V", "0,01 MV", "1000 V"], "correct": 2 }, { @@ -4925,66 +4031,42 @@ "id": 418, "question": "Katera od naštetih snovi je izolator?", "image": null, - "answers": [ - "Polivinil", - "Aluminij", - "Svinec" - ], + "answers": ["Polivinil", "Aluminij", "Svinec"], "correct": 0 }, { "id": 419, "question": "Katera od naštetih snovi je izolator?", "image": null, - "answers": [ - "Železo", - "Aluminij", - "Teflon" - ], + "answers": ["Železo", "Aluminij", "Teflon"], "correct": 2 }, { "id": 420, "question": "Katera od naštetih snovi je prevodnik?", "image": null, - "answers": [ - "Destilirana voda", - "Aluminij", - "Teflon" - ], + "answers": ["Destilirana voda", "Aluminij", "Teflon"], "correct": 1 }, { "id": 421, "question": "Katera od naštetih snovi je prevodnik?", "image": null, - "answers": [ - "Polivinil", - "Aluminij", - "Teflon" - ], + "answers": ["Polivinil", "Aluminij", "Teflon"], "correct": 1 }, { "id": 422, "question": "Katera od naštetih snovi je polprevodnik?", "image": null, - "answers": [ - "Žlahtni plin", - "Aluminij", - "Germanij" - ], + "answers": ["Žlahtni plin", "Aluminij", "Germanij"], "correct": 2 }, { "id": 423, "question": "Katera od naštetih snovi je polprevodnik?", "image": null, - "answers": [ - "Svinec", - "Silicij", - "Zrak" - ], + "answers": ["Svinec", "Silicij", "Zrak"], "correct": 1 }, { @@ -5013,88 +4095,56 @@ "id": 426, "question": "S katero črko v elektrotehniki ponavadi označimo upor?", "image": null, - "answers": [ - "U", - "R", - "C" - ], + "answers": ["U", "R", "C"], "correct": 1 }, { "id": 427, "question": "Kako se imenuje enota za merjenje električne upornosti?", "image": null, - "answers": [ - "Amper [A]", - "Watt [W]", - "Ohm [Ω]" - ], + "answers": ["Amper [A]", "Watt [W]", "Ohm [Ω]"], "correct": 2 }, { "id": 428, "question": "Snovi, ki ima negativni temperaturni koeficient upornosti, se z višanjem temperature:", "image": null, - "answers": [ - "upornost viša", - "upornost ne spreminja", - "upornost niža" - ], + "answers": ["upornost viša", "upornost ne spreminja", "upornost niža"], "correct": 2 }, { "id": 429, "question": "Snovem, ki imajo pozitivni temperaturni koeficient upornosti, se z višanjem temperature:", "image": null, - "answers": [ - "upornost ne spreminja", - "upornost niža", - "upornost viša" - ], + "answers": ["upornost ne spreminja", "upornost niža", "upornost viša"], "correct": 2 }, { "id": 430, "question": "Na sliki je simbol za:", "image": "image-077.png", - "answers": [ - "stalni upor", - "spremenljivi upor", - "varovalko" - ], + "answers": ["stalni upor", "spremenljivi upor", "varovalko"], "correct": 0 }, { "id": 431, "question": "Na sliki je simbol za:", "image": "image-078.png", - "answers": [ - "potenciometer", - "nastavljivi upor", - "spremenljivi upor" - ], + "answers": ["potenciometer", "nastavljivi upor", "spremenljivi upor"], "correct": 1 }, { "id": 432, "question": "Na sliki je simbol za:", "image": "image-079.png", - "answers": [ - "spremenljivi upor", - "varovalko", - "potenciometer" - ], + "answers": ["spremenljivi upor", "varovalko", "potenciometer"], "correct": 0 }, { "id": 433, "question": "Na sliki je simbol za:", "image": "image-080.png", - "answers": [ - "stalni upor", - "spremenljivi upor", - "potenciometer" - ], + "answers": ["stalni upor", "spremenljivi upor", "potenciometer"], "correct": 2 }, { @@ -5145,22 +4195,14 @@ "id": 438, "question": "S katero črko ponavadi označimo jakost magnetnega polja?", "image": null, - "answers": [ - "U", - "L", - "H" - ], + "answers": ["U", "L", "H"], "correct": 2 }, { "id": 439, "question": "S katero enoto merimo jakost magnetnega polja?", "image": null, - "answers": [ - "Amper na meter [A/m]", - "Volt [V]", - "Amper [A]" - ], + "answers": ["Amper na meter [A/m]", "Volt [V]", "Amper [A]"], "correct": 0 }, { @@ -5244,22 +4286,14 @@ "id": 447, "question": "Akumulator ima kapaciteto 10 Ah. Koliko časa ga bomo lahko uporabljali, če porabnik troši tok 500 mA?", "image": null, - "answers": [ - "20 ur", - "2 uri", - "200 ur" - ], + "answers": ["20 ur", "2 uri", "200 ur"], "correct": 0 }, { "id": 448, "question": "Akumulator s kapaciteto 5 Ah smo spraznili v 2.5 urah. Kolikšen tok je tekel skozi breme?", "image": null, - "answers": [ - "2000 mA", - "500 mA", - "5000 mA" - ], + "answers": ["2000 mA", "500 mA", "5000 mA"], "correct": 0 }, { @@ -5299,22 +4333,14 @@ "id": 452, "question": "Ni-Cd akumulator ima kapaciteto 1 Ah. Polnili ga bomo 14 ur. Kateri polnilni tok je najugodnejši?", "image": null, - "answers": [ - "10 mA", - "50 mA", - "100 mA" - ], + "answers": ["10 mA", "50 mA", "100 mA"], "correct": 2 }, { "id": 453, "question": "Akumulator ima napetost 12 V. Njegova notranja upornost je 0.1 ohma. Kako velik kratkostični tok steče, če sklenemo pola akumulatorja?", "image": null, - "answers": [ - "1.2 A", - "12 A", - "120 A" - ], + "answers": ["1.2 A", "12 A", "120 A"], "correct": 2 }, { @@ -5332,66 +4358,42 @@ "id": 455, "question": "Valovanje naredi 100 nihajev v času 5 sekund. Kolikšna je frekvenca?", "image": null, - "answers": [ - "100 Hz", - "500 Hz", - "20 Hz" - ], + "answers": ["100 Hz", "500 Hz", "20 Hz"], "correct": 2 }, { "id": 456, "question": "Valovanje ima frekvenco 50 Hz. Koliko nihajev se zaključi v 2.5 sekundah?", "image": null, - "answers": [ - "200", - "150", - "125" - ], + "answers": ["200", "150", "125"], "correct": 2 }, { "id": 457, "question": "Kako imenujemo enoto za merjenje frekvence?", "image": null, - "answers": [ - "Farad [F]", - "Hertz [Hz]", - "Henry [H]" - ], + "answers": ["Farad [F]", "Hertz [Hz]", "Henry [H]"], "correct": 1 }, { "id": 458, "question": "Valovanje s frekvenco 300 MHz se širi s hitrostjo 300000 km/s. Kolikšna je valovna dolžina valovanja?", "image": null, - "answers": [ - "0,1 m", - "1 m", - "10 m" - ], + "answers": ["0,1 m", "1 m", "10 m"], "correct": 1 }, { "id": 459, "question": "Valovna dolžina valovanja s frekvenco 50 Hz je 1 m. S kolikšno hitrostjo se širi val?", "image": null, - "answers": [ - "50 m/s", - "5 m/s", - "0.2 m/s" - ], + "answers": ["50 m/s", "5 m/s", "0.2 m/s"], "correct": 0 }, { "id": 460, "question": "Valovanje z valovno dolžino 10 m se širi s hitrostjo 300000 km/s. Kolikšna je frekvenca valovanja?", "image": null, - "answers": [ - "300 MHz", - "30 MHz", - "300 kHz" - ], + "answers": ["300 MHz", "30 MHz", "300 kHz"], "correct": 1 }, { @@ -5420,77 +4422,49 @@ "id": 463, "question": "Opazujmo sinusno izmenično napetost z efektivno napetostjo Uef = 100 V. Kolikšno temensko vrednost ima napetost?", "image": null, - "answers": [ - "200 V", - "150 V", - "141 V" - ], + "answers": ["200 V", "150 V", "141 V"], "correct": 2 }, { "id": 464, "question": "Katera od naštetih napetosti je pri signalu sinusne oblike največja?", "image": null, - "answers": [ - "Srednja", - "Efektivna", - "Temenska" - ], + "answers": ["Srednja", "Efektivna", "Temenska"], "correct": 2 }, { "id": 465, "question": "Kateri zakon opisuje zvezo med napetostjo, tokom in upornostjo v električnem vezju?", "image": null, - "answers": [ - "Kirchhoffov zakon", - "Ohmov zakon", - "Pretočni zakon" - ], + "answers": ["Kirchhoffov zakon", "Ohmov zakon", "Pretočni zakon"], "correct": 1 }, { "id": 466, "question": "Katera od spodnjih enačb opisuje Ohmov zakon?", "image": null, - "answers": [ - "$R = U \\sdot I$", - "$I = R \\sdot U$", - "$U = R \\sdot I$" - ], + "answers": ["$R = U \\cdot I$", "$I = R \\cdot U$", "$U = R \\cdot I$"], "correct": 2 }, { "id": 467, "question": "Baterijo z napetostjo 10 V priključimo na upor z vrednostjo 100 ohmov. Kolikšen tok bo stekel?", "image": null, - "answers": [ - "0.01 A", - "0.1 A", - "1 A" - ], + "answers": ["0.01 A", "0.1 A", "1 A"], "correct": 1 }, { "id": 468, "question": "Skozi upor z vrednostjo 50 ohmov teče tok 100mA. Kolikšna je napetost na uporu?", "image": null, - "answers": [ - "50 V", - "5 V", - "2 V" - ], + "answers": ["50 V", "5 V", "2 V"], "correct": 1 }, { "id": 469, "question": "Baterija z napetostjo 10 V je priključena na breme, skozi katero teče tok 2 A. Kolikšna je upornost bremena?", "image": null, - "answers": [ - "10 ohmov", - "4.5 ohmov", - "5 ohmov" - ], + "answers": ["10 ohmov", "4.5 ohmov", "5 ohmov"], "correct": 2 }, { @@ -5508,22 +4482,14 @@ "id": 471, "question": "Zaporedno povežemo dva upora po 10 ohmov. Kolikšna je skupna upornost?", "image": null, - "answers": [ - "5 ohmov", - "10 ohmov", - "20 ohmov" - ], + "answers": ["5 ohmov", "10 ohmov", "20 ohmov"], "correct": 2 }, { "id": 472, "question": "Zaporedno povežemo tri upore: R1=5 ohmov, R2=10 ohmov, R3=20 ohmov. Kolikšna je skupna upornost?", "image": null, - "answers": [ - "15 ohmov", - "25 ohmov", - "35 ohmov" - ], + "answers": ["15 ohmov", "25 ohmov", "35 ohmov"], "correct": 2 }, { @@ -5541,209 +4507,133 @@ "id": 474, "question": "Vzporedno povežemo dva upora po 100 ohmov. Kolikšna je skupna upornost?", "image": null, - "answers": [ - "200 ohmov", - "100 ohmov", - "50 ohmov" - ], + "answers": ["200 ohmov", "100 ohmov", "50 ohmov"], "correct": 2 }, { "id": 475, "question": "Kolikšna je skupna upornost vezja na sliki?", "image": "image-083.png", - "answers": [ - "1000 ohmov", - "500 ohmov", - "250 ohmov" - ], + "answers": ["1000 ohmov", "500 ohmov", "250 ohmov"], "correct": 2 }, { "id": 476, "question": "Kolikšna je skupna upornost vezja na sliki?", "image": "image-084.png", - "answers": [ - "60 ohmov", - "30 ohmov", - "15 ohmov" - ], + "answers": ["60 ohmov", "30 ohmov", "15 ohmov"], "correct": 2 }, { "id": 477, "question": "Kolikšna je skupna upornost vezja na sliki?", "image": "image-085.png", - "answers": [ - "10 ohmov", - "15 ohmov", - "30 ohmov" - ], + "answers": ["10 ohmov", "15 ohmov", "30 ohmov"], "correct": 1 }, { "id": 478, "question": "Kolikšna je skupna upornost vezja na sliki?", "image": "image-086.png", - "answers": [ - "20 ohmov", - "40 ohmov", - "10 ohmov" - ], + "answers": ["20 ohmov", "40 ohmov", "10 ohmov"], "correct": 0 }, { "id": 479, "question": "Izračunaj napetost na uporu R!", "image": "image-087.png", - "answers": [ - "15 V", - "10 V", - "5 V" - ], + "answers": ["15 V", "10 V", "5 V"], "correct": 2 }, { "id": 480, "question": "Kolikšna je napetost na uporu R=10 ohmov, skozi katerega teče tok I=500 mA?", "image": null, - "answers": [ - "20 V", - "2 V", - "5 V" - ], + "answers": ["20 V", "2 V", "5 V"], "correct": 2 }, { "id": 481, "question": "Napetost na uporu R=1 kohm je 5 V. Kolikšen tok teče skozi upor?", "image": null, - "answers": [ - "5 mA", - "50 mA", - "500 mA" - ], + "answers": ["5 mA", "50 mA", "500 mA"], "correct": 0 }, { "id": 482, "question": "Določi napetost na sponkah realnega generatorja!", "image": "image-042.png", - "answers": [ - "12 V", - "11 V", - "10 V" - ], + "answers": ["12 V", "11 V", "10 V"], "correct": 1 }, { "id": 483, "question": "Izračunaj notranjo upornost generatorja!", "image": "image-043.png", - "answers": [ - "0,1 ohma", - "1,0 ohm", - "2,0 ohma" - ], + "answers": ["0,1 ohma", "1,0 ohm", "2,0 ohma"], "correct": 1 }, { "id": 484, "question": "Izračunaj vrednost toka I3!", "image": "image-044.png", - "answers": [ - "5 A", - "0 A", - "1 A" - ], + "answers": ["5 A", "0 A", "1 A"], "correct": 1 }, { "id": 485, "question": "Izračunaj vrednost toka I1!", "image": "image-045.png", - "answers": [ - "-2 A", - "0 A", - "2 A" - ], + "answers": ["-2 A", "0 A", "2 A"], "correct": 0 }, { "id": 486, "question": "Izračunaj napetost na uporu R!", "image": "image-046.png", - "answers": [ - "6 V", - "8 V", - "12 V" - ], + "answers": ["6 V", "8 V", "12 V"], "correct": 1 }, { "id": 487, "question": "Izračunaj napetost baterije!", "image": "image-047.png", - "answers": [ - "1 V", - "8 V", - "10 V" - ], + "answers": ["1 V", "8 V", "10 V"], "correct": 2 }, { "id": 488, "question": "Izračunaj vsoto napetosti v zaprti zanki II !", "image": "image-048.png", - "answers": [ - "0 V", - "10 V", - "15 V" - ], + "answers": ["0 V", "10 V", "15 V"], "correct": 0 }, { "id": 489, "question": "S katero oznako ponavadi označimo električno moč?", "image": null, - "answers": [ - "U", - "W", - "P" - ], + "answers": ["U", "W", "P"], "correct": 2 }, { "id": 490, "question": "Kako imenujemo enoto za merjenje električne moči?", "image": null, - "answers": [ - "Volt [V]", - "Joul [J]", - "Watt [W]" - ], + "answers": ["Volt [V]", "Joul [J]", "Watt [W]"], "correct": 2 }, { "id": 491, "question": "Izračunaj moč, ki se troši na bremenu z upornostjo 1 ohm, če nanj priključimo napetost 10V.", "image": null, - "answers": [ - "100 W", - "10 W", - "1 W" - ], + "answers": ["100 W", "10 W", "1 W"], "correct": 0 }, { "id": 492, "question": "Skozi 100 W žarnico teče tok 1 A. Na kolikšno napetost je priključena?", "image": null, - "answers": [ - "10 V", - "100 V", - "1000 V" - ], + "answers": ["10 V", "100 V", "1000 V"], "correct": 1 }, { @@ -5761,22 +4651,14 @@ "id": 494, "question": "Vhodna moč oddajnika je 200 W. Kolikšna je izhodna moč pri 50% izkoristku?", "image": null, - "answers": [ - "400 W", - "100 W", - "25 W" - ], + "answers": ["400 W", "100 W", "25 W"], "correct": 1 }, { "id": 495, "question": "INPUT oddajnika je 200 W, OUTPUT pa 100 W. Kolikšen je izkoristek končne stopnje?", "image": null, - "answers": [ - "45,5%", - "50,0%", - "60,0%" - ], + "answers": ["45,5%", "50,0%", "60,0%"], "correct": 1 }, { @@ -5794,11 +4676,7 @@ "id": 497, "question": "Generator ima notranjo upornost 50 ohmov. Pri kateri upornosti bremena dobimo največji prenos moči?", "image": null, - "answers": [ - "25 ohmov", - "50 ohmov", - "75 ohmov" - ], + "answers": ["25 ohmov", "50 ohmov", "75 ohmov"], "correct": 1 }, { @@ -5816,22 +4694,14 @@ "id": 499, "question": "100 W žarnica gori 10 ur. Koliko električne energije porabi?", "image": null, - "answers": [ - "0,1 kWh", - "1 kWh", - "100 Wh" - ], + "answers": ["0,1 kWh", "1 kWh", "100 Wh"], "correct": 1 }, { "id": 500, "question": "S katero enoto se običajno poda ojačenje ali slabljenje sistema?", "image": null, - "answers": [ - "Volt [V]", - "Farad [F]", - "Decibel [dB]" - ], + "answers": ["Volt [V]", "Farad [F]", "Decibel [dB]"], "correct": 2 }, { @@ -5860,44 +4730,28 @@ "id": 503, "question": "Kolikšno je skupno ojačenje sistema na sliki?", "image": "image-049.png", - "answers": [ - "10 dB", - "5 dB", - "0 dB" - ], + "answers": ["10 dB", "5 dB", "0 dB"], "correct": 2 }, { "id": 504, "question": "Kolikšno je skupno ojačenje sistema na sliki?", "image": "image-050.png", - "answers": [ - "10 dB", - "5 dB", - "-5 dB" - ], + "answers": ["10 dB", "5 dB", "-5 dB"], "correct": 1 }, { "id": 505, "question": "Katero veličino v elektrotehniki označimo z L?", "image": null, - "answers": [ - "Dolžino", - "Induktivnost", - "Kapacitivnost" - ], + "answers": ["Dolžino", "Induktivnost", "Kapacitivnost"], "correct": 1 }, { "id": 506, "question": "Kako se imenuje enota za induktivnost?", "image": null, - "answers": [ - "Farad [F]", - "Henry [H]", - "Hertz [Hz]" - ], + "answers": ["Farad [F]", "Henry [H]", "Hertz [Hz]"], "correct": 1 }, { @@ -5915,11 +4769,7 @@ "id": 508, "question": "Katero izmed naštetih lastnosti imajo feromagnetni materiali?", "image": null, - "answers": [ - "Permeabilnost", - "Električni naboj", - "Kapacitivnost" - ], + "answers": ["Permeabilnost", "Električni naboj", "Kapacitivnost"], "correct": 0 }, { @@ -5970,22 +4820,14 @@ "id": 513, "question": "Kolikšna je skupna induktivnost treh zaporedno vezanih tuljav z induktivnostmi: L1 = 1 H, L2 = 2 H in L3 = 3 H?", "image": null, - "answers": [ - "1.50 H", - "3.00 H", - "6.00 H" - ], + "answers": ["1.50 H", "3.00 H", "6.00 H"], "correct": 2 }, { "id": 514, "question": "Kolikšna je skupna induktivnost vzporedne vezave dveh tuljav po 2 H?", "image": null, - "answers": [ - "4.00 H", - "1.00 H", - "0.50 H" - ], + "answers": ["4.00 H", "1.00 H", "0.50 H"], "correct": 1 }, { @@ -6014,11 +4856,7 @@ "id": 517, "question": "Pri katerem sklopnem faktorju je medsebojna induktivnost največja?", "image": null, - "answers": [ - "0.5", - "0.75", - "1" - ], + "answers": ["0.5", "0.75", "1"], "correct": 2 }, { @@ -6047,11 +4885,7 @@ "id": 520, "question": "Skozi primar idealnega transformatorja, ki ima 1000 ovojev, teče tok 0.5 A. Kolikšen je lahko največji tok na sekundarju, če ima sekundarno navitje 100 ovojev?", "image": null, - "answers": [ - "0.05 A", - "0.5 A", - "5 A" - ], + "answers": ["0.05 A", "0.5 A", "5 A"], "correct": 2 }, { @@ -6069,33 +4903,21 @@ "id": 522, "question": "Transformator ima izkoristek 80%. Vhodna moč na primarju je 100 W. Kolikšna moč je na razpolago na sekundarju?", "image": null, - "answers": [ - "800 W", - "80 W", - "12.5 W" - ], + "answers": ["800 W", "80 W", "12.5 W"], "correct": 1 }, { "id": 523, "question": "Kako imenujemo primer vezave navitij transformatorja na sliki?", "image": "image-055.png", - "answers": [ - "Zaporedna vezava", - "Kaskadna vezava", - "Izmenična vezava" - ], + "answers": ["Zaporedna vezava", "Kaskadna vezava", "Izmenična vezava"], "correct": 0 }, { "id": 524, "question": "Kako imenujemo primer vezave transformatorjev na sliki?", "image": "image-056.png", - "answers": [ - "Zaporedna vezava", - "Izmenična vezava", - "Kaskadna vezava" - ], + "answers": ["Zaporedna vezava", "Izmenična vezava", "Kaskadna vezava"], "correct": 2 }, { @@ -6113,22 +4935,14 @@ "id": 526, "question": "Kako se imenuje enota za merjenje kapacitivnosti?", "image": null, - "answers": [ - "Farad [F]", - "Henry [H]", - "Tesla [T]" - ], + "answers": ["Farad [F]", "Henry [H]", "Tesla [T]"], "correct": 0 }, { "id": 527, "question": "Kako v elektrotehniki ponavadi označimo kapacitivnost?", "image": null, - "answers": [ - "R", - "K", - "C" - ], + "answers": ["R", "K", "C"], "correct": 2 }, { @@ -6201,22 +5015,14 @@ "id": 534, "question": "Kolikšna je skupna kapacitivnost dveh kondenzatorjev po 200 nF, če ju vežemo zaporedno?", "image": null, - "answers": [ - "400 nF", - "200 nF", - "100 nF" - ], + "answers": ["400 nF", "200 nF", "100 nF"], "correct": 2 }, { "id": 535, "question": "Kolikšna je skupna kapacitivnost dveh kondenzatorjev po 200 nF, če ju vežemo vzporedno?", "image": null, - "answers": [ - "400 nF", - "200 nF", - "100 nF" - ], + "answers": ["400 nF", "200 nF", "100 nF"], "correct": 0 }, { @@ -6278,11 +5084,7 @@ "id": 541, "question": "Kolikšna je impedanca zaporedne vezave upora (R = 10 ohmov), tuljave (XL = 20 ohmov) in kondenzatorja (XC = 10 ohmov)?", "image": null, - "answers": [ - "(10 + j30) ohm", - "(10 - j30) ohm", - "(10 + j10) ohm" - ], + "answers": ["(10 + j30) ohm", "(10 - j30) ohm", "(10 + j10) ohm"], "correct": 2 }, { @@ -6388,22 +5190,14 @@ "id": 551, "question": "Ali je lahko napetost na kondenzatorju, ki je sestavni del zaporednega nihajnega kroga (RLC), večja od napetosti na sponkah tega vezja?", "image": null, - "answers": [ - "Ne", - "Vedno je manjša od napetosti na sponkah", - "Da" - ], + "answers": ["Ne", "Vedno je manjša od napetosti na sponkah", "Da"], "correct": 2 }, { "id": 552, "question": "Ali je lahko tok skozi tuljavo, ki je sestavni del vzporednega nihajnega kroga (RLC), večji od toka skozi celotno vezje?", "image": null, - "answers": [ - "Ne", - "Vedno je manjši", - "Da" - ], + "answers": ["Ne", "Vedno je manjši", "Da"], "correct": 2 }, { @@ -6465,11 +5259,7 @@ "id": 558, "question": "Ali vsak filter povzroči fazni zasuk izhodnega signala glede na vhodnega?", "image": null, - "answers": [ - "Da", - "Samo filtri prvega reda", - "Ne" - ], + "answers": ["Da", "Samo filtri prvega reda", "Ne"], "correct": 0 }, { @@ -6498,11 +5288,7 @@ "id": 561, "question": "X je velikost reaktance, R pa upornost. S katero formulo matematično zapišemo Q-faktor?", "image": null, - "answers": [ - "$Q = \\frac{R}{X}$", - "$Q = RX$", - "$Q = \\frac{X}{R}$" - ], + "answers": ["$Q = \\frac{R}{X}$", "$Q = RX$", "$Q = \\frac{X}{R}$"], "correct": 2 }, { @@ -6597,22 +5383,14 @@ "id": 570, "question": "Katera od naštetih snovi je tipičen predstavnik polprevodnikov?", "image": null, - "answers": [ - "Kislina", - "Voda", - "Silicij" - ], + "answers": ["Kislina", "Voda", "Silicij"], "correct": 2 }, { "id": 571, "question": "Kateri od naštetih elementov je tipičen predstavnik polprevodnikov?", "image": null, - "answers": [ - "Zlato", - "Germanij", - "Aluminij" - ], + "answers": ["Zlato", "Germanij", "Aluminij"], "correct": 1 }, { @@ -6641,22 +5419,14 @@ "id": 574, "question": "Kateri element prikazuje simbol?", "image": "image-068.png", - "answers": [ - "Diodo", - "Zenerjevo diodo", - "LED" - ], + "answers": ["Diodo", "Zenerjevo diodo", "LED"], "correct": 0 }, { "id": 575, "question": "Kateri element prikazuje simbol?", "image": "image-069.png", - "answers": [ - "Diodo", - "Zenerjevo diodo", - "LED" - ], + "answers": ["Diodo", "Zenerjevo diodo", "LED"], "correct": 1 }, { @@ -6718,22 +5488,14 @@ "id": 581, "question": "Kako označimo krmilno elektrodo pri MOSFET-u?", "image": null, - "answers": [ - "K", - "G", - "B" - ], + "answers": ["K", "G", "B"], "correct": 1 }, { "id": 582, "question": "S katero elektrodo pri MOSFET-u vplivamo na velikost toka med izvorom in ponorom?", "image": null, - "answers": [ - "Z bazo", - "Z vrati", - "Z emitorjem" - ], + "answers": ["Z bazo", "Z vrati", "Z emitorjem"], "correct": 1 }, { @@ -6762,33 +5524,21 @@ "id": 585, "question": "Katero logično funkcijo lahko realiziramo z elementom, ki ga ponazarja simbol na sliki?", "image": "image-072.png", - "answers": [ - "Logični IN", - "Logični ALI", - "Negator" - ], + "answers": ["Logični IN", "Logični ALI", "Negator"], "correct": 0 }, { "id": 586, "question": "Na sliki je simbol za:", "image": "image-073.png", - "answers": [ - "vrata ALI", - "vrata IN", - "vrata NE" - ], + "answers": ["vrata ALI", "vrata IN", "vrata NE"], "correct": 2 }, { "id": 587, "question": "Na sliki je simbol za:", "image": "image-074.png", - "answers": [ - "vrata NE", - "vrata NEALI", - "vrata NEIN" - ], + "answers": ["vrata NE", "vrata NEALI", "vrata NEIN"], "correct": 1 }, { @@ -6828,11 +5578,7 @@ "id": 591, "question": "Katera od naštetih tipov elektronskih cevi ima največ elektrod?", "image": null, - "answers": [ - "Trioda", - "Pentoda", - "Tetroda" - ], + "answers": ["Trioda", "Pentoda", "Tetroda"], "correct": 1 }, { @@ -6872,11 +5618,7 @@ "id": 595, "question": "Kako imenujemo elektronske sklope, ki povečajo moč signalov?", "image": null, - "answers": [ - "Usmerniki", - "Atenuatorji", - "Ojačevalniki" - ], + "answers": ["Usmerniki", "Atenuatorji", "Ojačevalniki"], "correct": 2 }, { @@ -6905,22 +5647,14 @@ "id": 598, "question": "Katera od naštetih oznak NE predstavlja razreda ojačevalnika?", "image": null, - "answers": [ - "A", - "C", - "OJ" - ], + "answers": ["A", "C", "OJ"], "correct": 2 }, { "id": 599, "question": "Ojačevalnik v razredu C je primeren za ojačevanje:", "image": null, - "answers": [ - "SSB signalov", - "AM signalov", - "FM in CW signalov" - ], + "answers": ["SSB signalov", "AM signalov", "FM in CW signalov"], "correct": 2 }, { @@ -6993,11 +5727,7 @@ "id": 606, "question": "Kateri elementi sestavljajo najenostavnejši stabilizator napetosti?", "image": null, - "answers": [ - "Žični upori", - "Zener dioda in upor", - "Greatzov mostič" - ], + "answers": ["Žični upori", "Zener dioda in upor", "Greatzov mostič"], "correct": 1 }, { @@ -7015,11 +5745,7 @@ "id": 608, "question": "Kateri sklop se najpogosteje uporablja za polnovalno usmerjanje?", "image": null, - "answers": [ - "Dioda", - "Transformator", - "Greatzov mostiček" - ], + "answers": ["Dioda", "Transformator", "Greatzov mostiček"], "correct": 2 }, { @@ -7114,11 +5840,7 @@ "id": 617, "question": "Koliko kvantizacijskih nivojev ima 8-bitna kvantizacija?", "image": null, - "answers": [ - "8", - "64", - "256" - ], + "answers": ["8", "64", "256"], "correct": 2 }, { @@ -7136,11 +5858,7 @@ "id": 619, "question": "Koliko bitni AD pretvornik potrebujemo, če kvantiziramo signal amplitude 1V in želimo doseči ločljivost na vsaj 2Mv natančno?", "image": null, - "answers": [ - "4-bitni", - "8-bitni", - "10-bitni" - ], + "answers": ["4-bitni", "8-bitni", "10-bitni"], "correct": 2 }, { @@ -7224,11 +5942,7 @@ "id": 627, "question": "Pri prehodu skozi linearno električno vezje se signalu sinusne oblike lahko spremeni:", "image": null, - "answers": [ - "amplituda in faza", - "oblika", - "samo amplituda" - ], + "answers": ["amplituda in faza", "oblika", "samo amplituda"], "correct": 0 }, { @@ -7268,22 +5982,14 @@ "id": 631, "question": "Če želimo iz signala izločiti določene frekvenčne komponente, moramo signal:", "image": null, - "answers": [ - "filtrirati", - "ojačiti", - "oslabiti" - ], + "answers": ["filtrirati", "ojačiti", "oslabiti"], "correct": 0 }, { "id": 632, "question": "Signale navadno ojačujemo:", "image": null, - "answers": [ - "z množilnimi stopnjami", - "z ojačevalniki", - "s filtri" - ], + "answers": ["z množilnimi stopnjami", "z ojačevalniki", "s filtri"], "correct": 1 }, { @@ -7334,22 +6040,14 @@ "id": 637, "question": "Po mešanju dveh signalov želeni produkt mešanja izločimo:", "image": null, - "answers": [ - "z množilno stopnjo", - "s slabilnikom", - "s filtrom" - ], + "answers": ["z množilno stopnjo", "s slabilnikom", "s filtrom"], "correct": 2 }, { "id": 638, "question": "Kako s tujko imenujemo slabilnik?", "image": null, - "answers": [ - "Atenuator", - "Konverter", - "Inverter" - ], + "answers": ["Atenuator", "Konverter", "Inverter"], "correct": 0 }, { @@ -7389,22 +6087,14 @@ "id": 642, "question": "S prijateljem vzpostavimo zvezo v telegrafiji (CW) in nato v telefoniji (najprej SSB in potem še FM). Kateri od uporabljenih signalov ima NAJVEČJO pasovno širino?", "image": null, - "answers": [ - "CW signal", - "SSB signal", - "FM signal" - ], + "answers": ["CW signal", "SSB signal", "FM signal"], "correct": 2 }, { "id": 643, "question": "S prijateljem vzpostavimo zvezo v telegrafiji (CW) in nato v telefoniji (najprej SSB in potem še FM). Kateri od uporabljenih signalov ima NAJMANJŠO pasovno širino?", "image": null, - "answers": [ - "CW signal", - "SSB signal", - "FM signal" - ], + "answers": ["CW signal", "SSB signal", "FM signal"], "correct": 0 }, { @@ -7422,11 +6112,7 @@ "id": 645, "question": "S katero kratico označimo amplitudno modulacijo?", "image": null, - "answers": [ - "FM", - "CW", - "AM" - ], + "answers": ["FM", "CW", "AM"], "correct": 2 }, { @@ -7466,22 +6152,14 @@ "id": 649, "question": "Nosilec moduliramo z informacijskim signalom, ki ima pasovno širino 10 kHz. Kolikšna je pasovna širina rezultirajočega amplitudno moduliranega (AM) signala?", "image": null, - "answers": [ - "40 kHz", - "20 kHz", - "10 kHz" - ], + "answers": ["40 kHz", "20 kHz", "10 kHz"], "correct": 1 }, { "id": 650, "question": "S katero kratico označimo amplitudno modulacijo s potlačenim nosilcem?", "image": null, - "answers": [ - "FM", - "DSB", - "AM" - ], + "answers": ["FM", "DSB", "AM"], "correct": 1 }, { @@ -7499,22 +6177,14 @@ "id": 652, "question": "Nosilec moduliramo z informacijskim signalom, ki ima pasovno širino 10 kHz. Kolikšna je pasovna širina rezultirajočega DSB signala?", "image": null, - "answers": [ - "40 kHz", - "20 kHz", - "10 kHz" - ], + "answers": ["40 kHz", "20 kHz", "10 kHz"], "correct": 1 }, { "id": 653, "question": "S katero kratico označimo enobočno amplitudno modulacijo?", "image": null, - "answers": [ - "DSB", - "FM", - "SSB" - ], + "answers": ["DSB", "FM", "SSB"], "correct": 2 }, { @@ -7532,33 +6202,21 @@ "id": 655, "question": "S kratico LSB označimo SSB signal, ki vsebuje:", "image": null, - "answers": [ - "zgornji bočni pas", - "spodnji bočni pas", - "oba bočna pasova" - ], + "answers": ["zgornji bočni pas", "spodnji bočni pas", "oba bočna pasova"], "correct": 1 }, { "id": 656, "question": "S kratico USB označimo SSB signal, ki vsebuje:", "image": null, - "answers": [ - "zgornji bočni pas", - "spodnji bočni pas", - "oba bočna pasova" - ], + "answers": ["zgornji bočni pas", "spodnji bočni pas", "oba bočna pasova"], "correct": 0 }, { "id": 657, "question": "S katero kratico označimo frekvenčno modulacijo?", "image": null, - "answers": [ - "AM", - "FM", - "PM" - ], + "answers": ["AM", "FM", "PM"], "correct": 1 }, { @@ -7609,11 +6267,7 @@ "id": 662, "question": "S katero kratico označimo fazno modulacijo?", "image": null, - "answers": [ - "PM", - "FM", - "DSB" - ], + "answers": ["PM", "FM", "DSB"], "correct": 0 }, { @@ -7642,11 +6296,7 @@ "id": 665, "question": "S katero kratico označimo telegrafijo?", "image": null, - "answers": [ - "FM", - "AM", - "CW" - ], + "answers": ["FM", "AM", "CW"], "correct": 2 }, { @@ -7675,11 +6325,7 @@ "id": 668, "question": "Nosilec frekvenčno moduliramo z informacijskim signalom, ki ima pasovno širino 5 kHz. Frekvenčna deviacija je 10 kHz. Približno kolikšna je pasovna širina rezultirajočega FM signala?", "image": null, - "answers": [ - "30 kHz", - "60 kHz", - "100 kHz" - ], + "answers": ["30 kHz", "60 kHz", "100 kHz"], "correct": 0 }, { @@ -7719,11 +6365,7 @@ "id": 672, "question": "Bistven element električnega oscilatorja je:", "image": null, - "answers": [ - "diskriminator", - "mešalnik", - "povratna zveza" - ], + "answers": ["diskriminator", "mešalnik", "povratna zveza"], "correct": 2 }, { @@ -7774,11 +6416,7 @@ "id": 677, "question": "Kaj uporabimo v kristalnem oscilatorju za nihajni krog?", "image": null, - "answers": [ - "LC nihajni krog", - "Kremenov kristal", - "Vzmetno nihalo" - ], + "answers": ["LC nihajni krog", "Kremenov kristal", "Vzmetno nihalo"], "correct": 1 }, { @@ -7818,11 +6456,7 @@ "id": 681, "question": "Imamo VFO, ki lahko niha na frekvenčnem območju od 5.0 do 5.5 MHz. Ker želimo narediti oscilator, ki bi nihal na območju od 14.0 do 14.5 MHz, uporabimo heterodinski oscilator. Kolikšna mora biti frekvenca kristalnega oscilatorja, da bo oscilator pokrival želeno območje?", "image": null, - "answers": [ - "5 MHz", - "9 MHz", - "14 MHz" - ], + "answers": ["5 MHz", "9 MHz", "14 MHz"], "correct": 1 }, { @@ -7851,11 +6485,7 @@ "id": 684, "question": "Imamo PLL sintetizator. Zanka se je že ujela. Referenčna frekvenca je 100 kHz, programirni delitelj pa je nastavljen tako, da deli s 128. Kolikšna je izhodna frekvenca?", "image": null, - "answers": [ - "1.28 Mhz", - "12.8 MHz", - "128 MHz" - ], + "answers": ["1.28 Mhz", "12.8 MHz", "128 MHz"], "correct": 1 }, { @@ -7873,11 +6503,7 @@ "id": 686, "question": "Narediti želimo direktni digitalni sintetizator za frekvence do 10 MHz. Najmanj koliko mora biti (teoretično) frekvenca urinih impulzov, da lahko digitalni signal verno pretvorimo v analognega?", "image": null, - "answers": [ - "10 MHz", - "20 MHz", - "100 MHz" - ], + "answers": ["10 MHz", "20 MHz", "100 MHz"], "correct": 1 }, { @@ -7917,11 +6543,7 @@ "id": 690, "question": "Kolikšna je ponavadi vrednost impedance na antenskih sponkah radioamaterskih oddajnikov?", "image": null, - "answers": [ - "50 Ω", - "75 Ω", - "300 Ω" - ], + "answers": ["50 Ω", "75 Ω", "300 Ω"], "correct": 0 }, { @@ -7994,33 +6616,21 @@ "id": 697, "question": "Na sliki je načelna shema SSB oddajnika. Kateri sklop je označen z vprašajem?", "image": "image-091.png", - "answers": [ - "Množilna stopnja", - "SSB filter", - "Balansni modulator" - ], + "answers": ["Množilna stopnja", "SSB filter", "Balansni modulator"], "correct": 1 }, { "id": 698, "question": "Na sliki je načelna shema SSB oddajnika. Kateri sklop je označen z vprašajem?", "image": "image-092.png", - "answers": [ - "Generator nosilne frekvence", - "SSB filter", - "Mešalnik" - ], + "answers": ["Generator nosilne frekvence", "SSB filter", "Mešalnik"], "correct": 0 }, { "id": 699, "question": "Kaj dobimo na izhodu balansnega modulatorja?", "image": null, - "answers": [ - "USB signal", - "DSB signal", - "LSB signal" - ], + "answers": ["USB signal", "DSB signal", "LSB signal"], "correct": 1 }, { @@ -8082,11 +6692,7 @@ "id": 705, "question": "Na sliki je načelna shema UKV FM oddajnika. Kateri sklop je označen z vprašajem?", "image": "image-094.png", - "answers": [ - "SSB filter", - "PLL sintetizator", - "Veriga množilnih stopenj" - ], + "answers": ["SSB filter", "PLL sintetizator", "Veriga množilnih stopenj"], "correct": 2 }, { @@ -8104,11 +6710,7 @@ "id": 707, "question": "Na sliki je načelna shema UKV FM oddajnika. Kateri sklop je označen z vprašajem?", "image": "image-095.png", - "answers": [ - "SSB filter", - "Mešalnik", - "Kristalni oscilator" - ], + "answers": ["SSB filter", "Mešalnik", "Kristalni oscilator"], "correct": 2 }, { @@ -8137,11 +6739,7 @@ "id": 710, "question": "Kolikšna je moč termičnega šuma pri absolutni ničli (0 K)?", "image": null, - "answers": [ - "Moč je takrat največja", - "Moč je 10 pW", - "Moč je nič" - ], + "answers": ["Moč je takrat največja", "Moč je 10 pW", "Moč je nič"], "correct": 2 }, { @@ -8280,11 +6878,7 @@ "id": 723, "question": "Imamo dve zaporedno vezani stopnji. Ekvivalentna šumna temperatura prve stopnje je 100 K, njeno ojačenje pa je 10. Ekvivalentna šumna temperatura druge stopnje je 500 K, njeno ojačenje pa je 100. Kolikšna je skupna ekvivalentna šumna temperatura?", "image": null, - "answers": [ - "150 K", - "400 K", - "600 K" - ], + "answers": ["150 K", "400 K", "600 K"], "correct": 0 }, { @@ -8478,11 +7072,7 @@ "id": 741, "question": "Kateri element navadno (med drugimi) sestavlja detektor ovojnice?", "image": null, - "answers": [ - "Tuljava", - "Kondenzator", - "Dioda" - ], + "answers": ["Tuljava", "Kondenzator", "Dioda"], "correct": 2 }, { @@ -8610,11 +7200,7 @@ "id": 753, "question": "Na sliki je sprejemnik z direktnim mešanjem. Kateri sklop je označen z vprašajem?", "image": "image-098.png", - "answers": [ - "Množilna stopnja", - "Mešalnik", - "MF filter" - ], + "answers": ["Množilna stopnja", "Mešalnik", "MF filter"], "correct": 1 }, { @@ -8709,33 +7295,21 @@ "id": 762, "question": "Kateri frekvenčni pas mora pokrivati VFO v enojnem superheterodinskem sprejemniku, ki ima medfrekvenco 9 MHz, če želimo sprejemati signale na frekvenčnem pasu od 14.0 - 14.5 MHz?", "image": null, - "answers": [ - "3.5 - 4.0 MHz", - "5.0 - 5.5 MHz", - "9.0 - 9.5 MHz" - ], + "answers": ["3.5 - 4.0 MHz", "5.0 - 5.5 MHz", "9.0 - 9.5 MHz"], "correct": 1 }, { "id": 763, "question": "Dvojni superheterodinski sprejemnik ima prvo medfrekvenco 9 Mhz. Kolikšna mora biti frekvenca signala lokalnega oscilatorja, s katerim mešamo signal prve medfrekvence, da bo druga medfrekvenca 100 kHz?", "image": null, - "answers": [ - "100 kHz", - "5.5 MHz", - "8.9 MHz" - ], + "answers": ["100 kHz", "5.5 MHz", "8.9 MHz"], "correct": 2 }, { "id": 764, "question": "Na sliki je enojni superheterodinski sprejemnik. Kateri sklop je označen z vprašajem?", "image": "image-100.png", - "answers": [ - "RF ojačevalnik", - "Mešalnik", - "MF filter" - ], + "answers": ["RF ojačevalnik", "Mešalnik", "MF filter"], "correct": 0 }, { @@ -8753,22 +7327,14 @@ "id": 766, "question": "Na sliki je enojni superheterodinski sprejemnik. Kateri sklop je označen z vprašajem?", "image": "image-101.png", - "answers": [ - "RF ojačevalnik", - "Mešalnik", - "MF filter" - ], + "answers": ["RF ojačevalnik", "Mešalnik", "MF filter"], "correct": 1 }, { "id": 767, "question": "Na sliki je enojni superheterodinski sprejemnik. Kateri sklop je označen z vprašajem?", "image": "image-102.png", - "answers": [ - "Mešalnik", - "MF filter", - "AGC detektor" - ], + "answers": ["Mešalnik", "MF filter", "AGC detektor"], "correct": 2 }, { @@ -8786,22 +7352,14 @@ "id": 769, "question": "Na sliki je enojni superheterodinski sprejemnik. Kateri sklop je označen z vprašajem?", "image": "image-103.png", - "answers": [ - "MF ojačevalnik", - "Mešalnik", - "MF filter" - ], + "answers": ["MF ojačevalnik", "Mešalnik", "MF filter"], "correct": 0 }, { "id": 770, "question": "Na sliki je enojni superheterodinski sprejemnik. Kateri sklop je označen z vprašajem?", "image": "image-104.png", - "answers": [ - "MF ojačevalnik", - "Mešalnik", - "MF filter" - ], + "answers": ["MF ojačevalnik", "Mešalnik", "MF filter"], "correct": 2 }, { @@ -8819,11 +7377,7 @@ "id": 772, "question": "Koliko S stopenj vsebuje skala S-metra?", "image": null, - "answers": [ - "5", - "9", - "10" - ], + "answers": ["5", "9", "10"], "correct": 1 }, { @@ -8863,319 +7417,203 @@ "id": 776, "question": "Kako se imenuje vezje, ki odklopi nizkofrekvenčni izhod sprejemnika, če ni vhodnega signala oziroma če je nivo vhodnega signal manjši od določenega praga, ki ga nastavimo?", "image": null, - "answers": [ - "Omejevalnik", - "Frekvenčni diskriminator", - "Squelch" - ], + "answers": ["Omejevalnik", "Frekvenčni diskriminator", "Squelch"], "correct": 2 }, { "id": 777, "question": "S kolikšno hitrostjo se širijo elektromagnetni valovi v praznem prostoru?", "image": null, - "answers": [ - "300000 m/s", - "300000 m/h", - "300000 km/s" - ], + "answers": ["300000 m/s", "300000 m/h", "300000 km/s"], "correct": 2 }, { "id": 778, "question": "Kolikšna je valovna dolžina elektromagnetnega valovanja v praznem prostoru, če je njegova frekvenca 150 MHz?", "image": null, - "answers": [ - "2 km", - "20 m", - "2 m" - ], + "answers": ["2 km", "20 m", "2 m"], "correct": 2 }, { "id": 779, "question": "Kolikšna je valovna dolžina elektromagnetnega valovanja v praznem prostoru, če je njegova frekvenca 30 MHz?", "image": null, - "answers": [ - "1 km", - "10 m", - "1 m" - ], + "answers": ["1 km", "10 m", "1 m"], "correct": 1 }, { "id": 780, "question": "Kolikšna je frekvenca elektromagnetnega valovanja v praznem prostoru, če je njegova valovna dolžina 30 m?", "image": null, - "answers": [ - "1 MHz", - "10 MHz", - "100 MHz" - ], + "answers": ["1 MHz", "10 MHz", "100 MHz"], "correct": 1 }, { "id": 781, "question": "Kateri frekvenčni pas označuje kratica HF?", "image": null, - "answers": [ - "300 kHz - 3 MHz", - "3 MHz - 30 MHz", - "30 MHz - 300 MHz" - ], + "answers": ["300 kHz - 3 MHz", "3 MHz - 30 MHz", "30 MHz - 300 MHz"], "correct": 1 }, { "id": 782, "question": "Kateri frekvenčni pas označuje kratica VHF?", "image": null, - "answers": [ - "300 kHz - 3 MHz", - "3 MHz - 30 MHz", - "30 MHz - 300 MHz" - ], + "answers": ["300 kHz - 3 MHz", "3 MHz - 30 MHz", "30 MHz - 300 MHz"], "correct": 2 }, { "id": 783, "question": "Kateri frekvenčni pas označuje kratica UHF?", "image": null, - "answers": [ - "3 MHz - 30 MHz", - "30 MHz - 300 MHz", - "300 MHz - 3 GHz" - ], + "answers": ["3 MHz - 30 MHz", "30 MHz - 300 MHz", "300 MHz - 3 GHz"], "correct": 2 }, { "id": 784, "question": "Kateri frekvenčni pas označuje kratica MF?", "image": null, - "answers": [ - "300 kHz - 3 MHz", - "3 MHz - 30 MHz", - "30 MHz - 300 MHz" - ], + "answers": ["300 kHz - 3 MHz", "3 MHz - 30 MHz", "30 MHz - 300 MHz"], "correct": 0 }, { "id": 785, "question": "Kateri frekvenčni pas označuje kratica LF?", "image": null, - "answers": [ - "30 kHz - 300 kHz", - "300 kHz - 3 MHz", - "3 MHz - 30 MHz" - ], + "answers": ["30 kHz - 300 kHz", "300 kHz - 3 MHz", "3 MHz - 30 MHz"], "correct": 0 }, { "id": 786, "question": "Katera oznaka v metrih podaja amatersko področje 21 MHz?", "image": null, - "answers": [ - "12 m", - "15 m", - "21 m" - ], + "answers": ["12 m", "15 m", "21 m"], "correct": 1 }, { "id": 787, "question": "Katera oznaka v metrih podaja amatersko področje 7 MHz?", "image": null, - "answers": [ - "20 m", - "30 m", - "40 m" - ], + "answers": ["20 m", "30 m", "40 m"], "correct": 2 }, { "id": 788, "question": "Kolikšna je frekvenca elektromagnetnega valovanja v praznem prostoru, če je njegova valovna dolžina 0.03 m?", "image": null, - "answers": [ - "100 MHz", - "1 GHz", - "10 GHz" - ], + "answers": ["100 MHz", "1 GHz", "10 GHz"], "correct": 2 }, { "id": 789, "question": "Katera oznaka v metrih podaja amatersko področje 1296 MHz?", "image": null, - "answers": [ - "23 m", - "0.23 m", - "0.13 m" - ], + "answers": ["23 m", "0.23 m", "0.13 m"], "correct": 1 }, { "id": 790, "question": "Katera oznaka v metrih podaja amatersko področje 10 MHz?", "image": null, - "answers": [ - "30 m", - "28 m", - "40 m" - ], + "answers": ["30 m", "28 m", "40 m"], "correct": 0 }, { "id": 791, "question": "Katera oznaka v metrih podaja amatersko področje 24 MHz?", "image": null, - "answers": [ - "10 m", - "11 m", - "12 m" - ], + "answers": ["10 m", "11 m", "12 m"], "correct": 2 }, { "id": 792, "question": "Katero amatersko področje predstavlja oznaka \"160m\"?", "image": null, - "answers": [ - "2.0 MHz", - "1.8 MHz", - "3.5 MHz" - ], + "answers": ["2.0 MHz", "1.8 MHz", "3.5 MHz"], "correct": 1 }, { "id": 793, "question": "Katero amatersko področje predstavlja oznaka \"2m\"?", "image": null, - "answers": [ - "50 MHz", - "432 MHz", - "144 MHz" - ], + "answers": ["50 MHz", "432 MHz", "144 MHz"], "correct": 2 }, { "id": 794, "question": "Katero amatersko področje predstavlja oznaka \"10m\"?", "image": null, - "answers": [ - "3 MHz", - "28 MHz", - "24 MHz" - ], + "answers": ["3 MHz", "28 MHz", "24 MHz"], "correct": 1 }, { "id": 795, "question": "Katero amatersko področje predstavlja oznaka \"20m\"?", "image": null, - "answers": [ - "15 MHz", - "14 MHz", - "24 MHz" - ], + "answers": ["15 MHz", "14 MHz", "24 MHz"], "correct": 1 }, { "id": 796, "question": "Katero amatersko področje predstavlja oznaka \"80m\"?", "image": null, - "answers": [ - "1.8 MHz", - "3.5 MHz", - "5.5 MHz" - ], + "answers": ["1.8 MHz", "3.5 MHz", "5.5 MHz"], "correct": 1 }, { "id": 797, "question": "Katero amatersko področje predstavlja oznaka \"17m\"?", "image": null, - "answers": [ - "10 MHz", - "14 MHz", - "18 MHz" - ], + "answers": ["10 MHz", "14 MHz", "18 MHz"], "correct": 2 }, { "id": 798, "question": "Katero amatersko področje predstavlja oznaka \"70 cm\"?", "image": null, - "answers": [ - "70 MHz", - "144 MHz", - "432 MHz" - ], + "answers": ["70 MHz", "144 MHz", "432 MHz"], "correct": 2 }, { "id": 799, "question": "Katero amatersko področje predstavlja oznaka \"6m\"?", "image": null, - "answers": [ - "30 MHz", - "50 MHz", - "144 MHz" - ], + "answers": ["30 MHz", "50 MHz", "144 MHz"], "correct": 1 }, { "id": 800, "question": "Frekvenčni pas od 30 kHz do 300 kHz označujemo z oznako:", "image": null, - "answers": [ - "LF", - "MF", - "HF" - ], + "answers": ["LF", "MF", "HF"], "correct": 0 }, { "id": 801, "question": "Frekvenčni pas od 300 kHz do 3 MHz označujemo z oznako:", "image": null, - "answers": [ - "LF", - "MF", - "HF" - ], + "answers": ["LF", "MF", "HF"], "correct": 1 }, { "id": 802, "question": "Frekvenčni pas od 3 MHz do 30 MHz označujemo z oznako:", "image": null, - "answers": [ - "LF", - "MF", - "HF" - ], + "answers": ["LF", "MF", "HF"], "correct": 2 }, { "id": 803, "question": "Frekvenčni pas od 30 MHz do 300 MHz označujemo z oznako:", "image": null, - "answers": [ - "HF", - "VHF", - "UHF" - ], + "answers": ["HF", "VHF", "UHF"], "correct": 1 }, { "id": 804, "question": "Frekvenčni pas od 300 MHz do 3 GHz označujemo z oznako:", "image": null, - "answers": [ - "VHF", - "UHF", - "SHF" - ], + "answers": ["VHF", "UHF", "SHF"], "correct": 1 }, { @@ -9237,44 +7675,28 @@ "id": 810, "question": "Kateri glavni pasovi sestavljajo ionosfero?", "image": null, - "answers": [ - "A, B in C", - "Z0, Z1 in Z2", - "D, E, F1 in F2" - ], + "answers": ["A, B in C", "Z0, Z1 in Z2", "D, E, F1 in F2"], "correct": 2 }, { "id": 811, "question": "Kako imenujemo val, ki se širi ob Zemljini površini?", "image": null, - "answers": [ - "Površinski val", - "Troposferski val", - "Prostorski val" - ], + "answers": ["Površinski val", "Troposferski val", "Prostorski val"], "correct": 0 }, { "id": 812, "question": "UKV se običajno razširja kot:", "image": null, - "answers": [ - "površinski val", - "troposferski val", - "prostorski val" - ], + "answers": ["površinski val", "troposferski val", "prostorski val"], "correct": 1 }, { "id": 813, "question": "Za katere vrste valov je značilno prostorsko ali ionosfersko razširjanje?", "image": null, - "answers": [ - "Za dolge valove", - "Za srednje valove", - "Za kratke valove" - ], + "answers": ["Za dolge valove", "Za srednje valove", "Za kratke valove"], "correct": 2 }, { @@ -9336,44 +7758,28 @@ "id": 819, "question": "Kateri od navedenih slojev ionosfere je najbližji Zemlji?", "image": null, - "answers": [ - "D", - "F1", - "E" - ], + "answers": ["D", "F1", "E"], "correct": 0 }, { "id": 820, "question": "Kateri od navedenih slojev ionosfere je najbolj oddaljen od Zemlje?", "image": null, - "answers": [ - "F1", - "D", - "F2" - ], + "answers": ["F1", "D", "F2"], "correct": 2 }, { "id": 821, "question": "Najvišjo frekvenco vala, ki pod pravim kotom zadene ionosfero in se od nje še odbije, imenujemo:", "image": null, - "answers": [ - "MUF", - "kritična frekvenca", - "odbita frekvenca" - ], + "answers": ["MUF", "kritična frekvenca", "odbita frekvenca"], "correct": 1 }, { "id": 822, "question": "Kako označimo najvišjo frekvenco valovanja, ki se bo še odbilo od ionosfere, pri čemer je vpadni kot valovanja manjši od pravega kota?", "image": null, - "answers": [ - "Kritična frekvenca", - "MUF", - "Odbojna frekvenca" - ], + "answers": ["Kritična frekvenca", "MUF", "Odbojna frekvenca"], "correct": 1 }, { @@ -9402,11 +7808,7 @@ "id": 825, "question": "Kako imenujemo nihanje jakosti signala v zvočniku sprejemnika?", "image": null, - "answers": [ - "Feding", - "Mikrofonija", - "Utripanje" - ], + "answers": ["Feding", "Mikrofonija", "Utripanje"], "correct": 0 }, { @@ -9424,11 +7826,7 @@ "id": 827, "question": "Ali letni čas in ura dneva vplivata na razširjanje kratkih valov?", "image": null, - "answers": [ - "Da", - "Da, vendar le za frekvence pod 14 MHz", - "Običajno ne" - ], + "answers": ["Da", "Da, vendar le za frekvence pod 14 MHz", "Običajno ne"], "correct": 0 }, { @@ -9468,11 +7866,7 @@ "id": 831, "question": "Zaradi nepravilnosti v E sloju so v pozni pomladi in zgodnjem poletju možne dolge UKV zveze. Pojav je znan pod imenom transalpska propagacija ali s kratico TAP. Kako še drugače označujemo ta pojav?", "image": null, - "answers": [ - "Sporadični E sloj", - "EME", - "FAI" - ], + "answers": ["Sporadični E sloj", "EME", "FAI"], "correct": 2 }, { @@ -9501,11 +7895,7 @@ "id": 834, "question": "Kako označimo delo na UKV področjih, ko izkoristimo Luno kot pasivni reflektor?", "image": null, - "answers": [ - "TAP", - "EME", - "Aurora" - ], + "answers": ["TAP", "EME", "Aurora"], "correct": 1 }, { @@ -9534,33 +7924,21 @@ "id": 837, "question": "Katera od naštetih valovnih dolžin NE predstavlja tipične resonančne dolžine?", "image": null, - "answers": [ - "1/2 λ", - "1/12 λ", - "1 λ" - ], + "answers": ["1/2 λ", "1/12 λ", "1 λ"], "correct": 1 }, { "id": 838, "question": "Kolikšna je približna dolžina pol valovnega dipola na frekvenci 150 MHz?", "image": null, - "answers": [ - "2 m", - "1 m", - "0.5 m" - ], + "answers": ["2 m", "1 m", "0.5 m"], "correct": 1 }, { "id": 839, "question": "Kolikšna je približna resonančna frekvenca pol valovnega dipola, ki je dolg 5 metrov?", "image": null, - "answers": [ - "60 MHz", - "30 MHz", - "10 MHz" - ], + "answers": ["60 MHz", "30 MHz", "10 MHz"], "correct": 1 }, { @@ -9622,66 +8000,42 @@ "id": 845, "question": "Kakšna je širina sevalnega snopa antene s sevalnim diagramom, podanim na sliki?", "image": "image-105.png", - "answers": [ - "30 stopinj", - "40 stopinj", - "60 stopinj" - ], + "answers": ["30 stopinj", "40 stopinj", "60 stopinj"], "correct": 2 }, { "id": 846, "question": "Kakšna je širina sevalnega snopa antene s sevalnim diagramom, podanim na sliki?", "image": "image-106.png", - "answers": [ - "60 stopinj", - "90 stopinj", - "120 stopinj" - ], + "answers": ["60 stopinj", "90 stopinj", "120 stopinj"], "correct": 2 }, { "id": 847, "question": "Z oddajnikom moči 15 W napajamo anteno z ojačenjem 10 dB. Izgube v napajalnem kablu znašajo 3 dB. Kolikšna je efektivna izsevana moč?", "image": null, - "answers": [ - "15 W", - "30 W", - "75 W" - ], + "answers": ["15 W", "30 W", "75 W"], "correct": 2 }, { "id": 848, "question": "Kakšno je razmerje naprej-nazaj pri anteni s sledečim diagramom sevanja?", "image": "image-107.png", - "answers": [ - "10 dB", - "20 dB", - "3 dB" - ], + "answers": ["10 dB", "20 dB", "3 dB"], "correct": 0 }, { "id": 849, "question": "Koliko znaša slabljenje stranskih snopov pri anteni s sledečim diagramom sevanja?", "image": "image-108.png", - "answers": [ - "3 dB", - "5 dB", - "10 dB" - ], + "answers": ["3 dB", "5 dB", "10 dB"], "correct": 2 }, { "id": 850, "question": "Z oddajnikom moči 10 W napajamo anteno z ojačenjem 10 dB. Izgube v napajalnem kablu znašajo 10 dB. Kolikšna je efektivna izsevana moč?", "image": null, - "answers": [ - "10 W", - "40 W", - "100 W" - ], + "answers": ["10 W", "40 W", "100 W"], "correct": 0 }, { @@ -9699,55 +8053,35 @@ "id": 852, "question": "Katera od naštetih anten ima lahko vertikalni sevalni diagram, podan na sliki?", "image": "image-110.png", - "answers": [ - "Yagi antena", - "Vertikalni dipol", - "Horizontalni dipol" - ], + "answers": ["Yagi antena", "Vertikalni dipol", "Horizontalni dipol"], "correct": 0 }, { "id": 853, "question": "Katera od naštetih anten ima lahko vertikalni sevalni diagram, podan na sliki?", "image": "image-111.png", - "answers": [ - "Yagi antena", - "Horizontalni dipol", - "GP antena" - ], + "answers": ["Yagi antena", "Horizontalni dipol", "GP antena"], "correct": 2 }, { "id": 854, "question": "Katera od naštetih anten ima lahko horizontalni sevalni diagram, podan na sliki?", "image": "image-112.png", - "answers": [ - "Yagi antena", - "Vertikalni dipol", - "Horizontalni dipol" - ], + "answers": ["Yagi antena", "Vertikalni dipol", "Horizontalni dipol"], "correct": 2 }, { "id": 855, "question": "Katera od naštetih anten ima lahko horizontalni sevalni diagram, podan na sliki?", "image": "image-113.png", - "answers": [ - "Yagi antena", - "GP antena", - "Quad antena" - ], + "answers": ["Yagi antena", "GP antena", "Quad antena"], "correct": 1 }, { "id": 856, "question": "Katera od naštetih anten ima lahko horizontalni sevalni diagram, podan na sliki?", "image": "image-114.png", - "answers": [ - "Yagi antena", - "Long wire antena", - "Vertikalni dipol" - ], + "answers": ["Yagi antena", "Long wire antena", "Vertikalni dipol"], "correct": 0 }, { @@ -9831,11 +8165,7 @@ "id": 864, "question": "Kakšne oblike so elementi pri delta loop anteni?", "image": null, - "answers": [ - "Kvadratne", - "Okrogle", - "Trikotne" - ], + "answers": ["Kvadratne", "Okrogle", "Trikotne"], "correct": 2 }, { @@ -9864,11 +8194,7 @@ "id": 867, "question": "Pri postavljanju anten moramo biti pozorni, kakšna je najmanjša razdalja med našo anteno in prostori v zgradbi, kjer se zadržujejo ljudje. Kolikšna je najmanjša razdalja, ki jo določa zakonodaja?", "image": null, - "answers": [ - "20 m", - "10 m", - "5 m" - ], + "answers": ["20 m", "10 m", "5 m"], "correct": 2 }, { @@ -9930,44 +8256,28 @@ "id": 873, "question": "Kolikšen je skrajševalni faktor voda, ki ima relativno dielektrično konstanto dielektrika 4?", "image": null, - "answers": [ - "1", - "0.2", - "0.5" - ], + "answers": ["1", "0.2", "0.5"], "correct": 2 }, { "id": 874, "question": "Kolikšna je hitrost elektromagnetnega valovanja v vodu, ki ima skrajševalni faktor 0.5?", "image": null, - "answers": [ - "300000 km/s", - "200000 km/s", - "150000 km/s" - ], + "answers": ["300000 km/s", "200000 km/s", "150000 km/s"], "correct": 2 }, { "id": 875, "question": "Elektromagnetno valovanje v vodu se širi s hitrostjo 150000 km/s. Kolikšna je relativna dielektrična konstanta dielektrika v vodu?", "image": null, - "answers": [ - "4", - "2", - "0.5" - ], + "answers": ["4", "2", "0.5"], "correct": 0 }, { "id": 876, "question": "Elektromagnetno valovanje se širi s hitrostjo 300000 km/s. V katerem od naštetih medijev je ta hitrost možna?", "image": null, - "answers": [ - "V vitroplastu", - "V vakuumu", - "V plastiki" - ], + "answers": ["V vitroplastu", "V vakuumu", "V plastiki"], "correct": 1 }, { @@ -10007,11 +8317,7 @@ "id": 880, "question": "Katera od naštetih impedanc ni tipična za koaksialni vod?", "image": null, - "answers": [ - "50 ohm", - "75 ohm", - "300 ohm" - ], + "answers": ["50 ohm", "75 ohm", "300 ohm"], "correct": 2 }, { @@ -10040,77 +8346,49 @@ "id": 883, "question": "V podatkih proizvajalca smo zasledili, da ima 100 metrov koaksialnega voda pri določeni frekvenci 8 dB slabljenja. Koliko slabljenja ima vod, če potrebujemo 50 metrov dolg kos?", "image": null, - "answers": [ - "8 dB", - "5 dB", - "4 dB" - ], + "answers": ["8 dB", "5 dB", "4 dB"], "correct": 2 }, { "id": 884, "question": "Z wattmetrom izmerimo moči na začetku in koncu koaksialnega voda. Ugotovimo, da je moč na začetku 10 W, na koncu pa 5 W. Kakšno je slabljenje voda?", "image": null, - "answers": [ - "2 dB", - "3 Db", - "5 dB" - ], + "answers": ["2 dB", "3 dB", "5 dB"], "correct": 1 }, { "id": 885, "question": "Vod na sliki ima impedanco Z. S kakšnim bremenom R dobimo porazdelitev napetosti vzdolž voda, kot jo kaže slika?", "image": "image-115.png", - "answers": [ - "$R = Z$", - "$R = 0$", - "$R = \\infin$" - ], + "answers": ["$R = Z$", "$R = 0$", "$R = \\infin$"], "correct": 0 }, { "id": 886, "question": "Vod na sliki ima impedanco Z. S kakšnim bremenom R dobimo porazdelitev napetosti vzdolž voda, kot jo kaže slika?", "image": "image-116.png", - "answers": [ - "$R = Z$", - "$R = 0$", - "$R = \\infin$" - ], + "answers": ["$R = Z$", "$R = 0$", "$R = \\infin$"], "correct": 1 }, { "id": 887, "question": "Vod na sliki ima impedanco Z. S kakšnim bremenom R dobimo porazdelitev napetosti vzdolž voda, kot jo kaže slika?", "image": "image-117.png", - "answers": [ - "$R = Z$", - "$R = 0$", - "$R = \\infin$" - ], + "answers": ["$R = Z$", "$R = 0$", "$R = \\infin$"], "correct": 2 }, { "id": 888, "question": "Vod na sliki ima impedanco Z. S kakšnim bremenom R dobimo porazdelitev napetosti vzdolž voda, kot jo kaže slika?", "image": "image-118.png", - "answers": [ - "$R = Z$", - "$R < Z$", - "$R > Z$" - ], + "answers": ["$R = Z$", "$R < Z$", "$R > Z$"], "correct": 2 }, { "id": 889, "question": "Vod na sliki ima impedanco Z. S kakšnim bremenom R dobimo porazdelitev napetosti vzdolž voda, kot jo kaže slika?", "image": "image-119.png", - "answers": [ - "$R = 0$", - "$R < Z$", - "$R > Z$" - ], + "answers": ["$R = 0$", "$R < Z$", "$R > Z$"], "correct": 1 }, { @@ -10128,22 +8406,14 @@ "id": 891, "question": "Vod dolg 1/4 valovne dolžine ima karakteristično impedanco 50 ohmov. En konec voda zaključimo z impedanco 100 ohmov. Kolikšno impedanco dobimo na drugem koncu voda?", "image": null, - "answers": [ - "10 ohmov", - "25 ohmov", - "50 ohmov" - ], + "answers": ["10 ohmov", "25 ohmov", "50 ohmov"], "correct": 1 }, { "id": 892, "question": "Vod dolg 1/4 valovne dolžine zaključimo z impedanco 50 ohmov. Na drugem koncu voda izmerimo impedanco 50 ohmov. Kolikšna je impedanca voda?", "image": null, - "answers": [ - "10 ohmov", - "25 ohmov", - "50 ohmov" - ], + "answers": ["10 ohmov", "25 ohmov", "50 ohmov"], "correct": 2 }, { @@ -10183,11 +8453,7 @@ "id": 896, "question": "Kateri element lahko nadomesti manj kot 1/4 valovne dolžine dolg kos voda, ki je na enem koncu sklenjen?", "image": null, - "answers": [ - "Kondenzator", - "Tuljava", - "Zaporedni nihajni krog" - ], + "answers": ["Kondenzator", "Tuljava", "Zaporedni nihajni krog"], "correct": 1 }, { @@ -10205,33 +8471,21 @@ "id": 898, "question": "Kateri element lahko nadomesti manj kot 1/4 valovne dolžine dolg kos voda, ki je na enem koncu odprt?", "image": null, - "answers": [ - "Kondenzator", - "Tuljava", - "Transformator za simetriranje" - ], + "answers": ["Kondenzator", "Tuljava", "Transformator za simetriranje"], "correct": 2 }, { "id": 899, "question": "Kateri element lahko nadomesti 1/4 valovne dolžine dolg kos voda, ki je na enem koncu odprt?", "image": null, - "answers": [ - "Kondenzator", - "Tuljava", - "Zaporedni nihajni krog" - ], + "answers": ["Kondenzator", "Tuljava", "Zaporedni nihajni krog"], "correct": 2 }, { "id": 900, "question": "Kateri element lahko nadomesti 1/4 valovne dolžine dolg kos voda, ki je na enem koncu sklenjen?", "image": null, - "answers": [ - "Vzporedni nihajni krog", - "Tuljava", - "Kondenzator" - ], + "answers": ["Vzporedni nihajni krog", "Tuljava", "Kondenzator"], "correct": 0 }, { @@ -10326,99 +8580,63 @@ "id": 909, "question": "Enota za električno napetost je:", "image": null, - "answers": [ - "amper", - "ohm", - "volt" - ], + "answers": ["amper", "ohm", "volt"], "correct": 2 }, { "id": 910, "question": "Enota za električni tok je:", "image": null, - "answers": [ - "amper", - "ohm", - "volt" - ], + "answers": ["amper", "ohm", "volt"], "correct": 0 }, { "id": 911, "question": "Enota za kapacitivnost je:", "image": null, - "answers": [ - "amper", - "ohm", - "farad" - ], + "answers": ["amper", "ohm", "farad"], "correct": 2 }, { "id": 912, "question": "Enota za električno upornost je:", "image": null, - "answers": [ - "amper", - "ohm", - "volt" - ], + "answers": ["amper", "ohm", "volt"], "correct": 1 }, { "id": 913, "question": "Enota za induktivnost je:", "image": null, - "answers": [ - "henry", - "ohm", - "farad" - ], + "answers": ["henry", "ohm", "farad"], "correct": 0 }, { "id": 914, "question": "Enota električno moč je:", "image": null, - "answers": [ - "volt", - "watt", - "amper" - ], + "answers": ["volt", "watt", "amper"], "correct": 1 }, { "id": 915, "question": "Želimo izmeriti napetost na bremenu. Voltmeter priključimo:", "image": null, - "answers": [ - "zaporedno bremenu", - "namesto bremena", - "vzporedno bremenu" - ], + "answers": ["zaporedno bremenu", "namesto bremena", "vzporedno bremenu"], "correct": 2 }, { "id": 916, "question": "Želimo izmeriti tok skozi breme. Ampermeter priključimo:", "image": null, - "answers": [ - "zaporedno bremenu", - "namesto bremena", - "vzporedno bremenu" - ], + "answers": ["zaporedno bremenu", "namesto bremena", "vzporedno bremenu"], "correct": 0 }, { "id": 917, "question": "Želimo izmeriti napetost baterije. Kateri inštrument je za meritev najprimernejši?", "image": null, - "answers": [ - "Ampermeter", - "Voltmeter", - "Ohmmeter" - ], + "answers": ["Ampermeter", "Voltmeter", "Ohmmeter"], "correct": 1 }, { @@ -10469,11 +8687,7 @@ "id": 922, "question": "Napaki, ki nastane pri merjenju, pravimo:", "image": null, - "answers": [ - "merilna zmota", - "merilni pogrešek", - "merilni neuspeh" - ], + "answers": ["merilna zmota", "merilni pogrešek", "merilni neuspeh"], "correct": 1 }, { @@ -10513,11 +8727,7 @@ "id": 926, "question": "Upornost upora izmerimo:", "image": null, - "answers": [ - "z GRID-DIP metrom", - "s frekvenčnim števcem", - "z ohmmetrom" - ], + "answers": ["z GRID-DIP metrom", "s frekvenčnim števcem", "z ohmmetrom"], "correct": 2 }, { @@ -10568,33 +8778,21 @@ "id": 931, "question": "S katerim merilnim inštrumentom NE moremo meriti frekvence signala?", "image": null, - "answers": [ - "S frekvenčnim števcem", - "Z osciloskopom", - "Z ohmmetrom" - ], + "answers": ["S frekvenčnim števcem", "Z osciloskopom", "Z ohmmetrom"], "correct": 2 }, { "id": 932, "question": "Enota za merjenje frekvence je:", "image": null, - "answers": [ - "hertz", - "henry", - "farad" - ], + "answers": ["hertz", "henry", "farad"], "correct": 0 }, { "id": 933, "question": "Kateri pojav lahko uporabimo za merjenje resonančne frekvence električnega nihajnega kroga?", "image": null, - "answers": [ - "Difuzijo", - "Resonanco", - "Elektrolizo" - ], + "answers": ["Difuzijo", "Resonanco", "Elektrolizo"], "correct": 1 }, { @@ -10689,22 +8887,14 @@ "id": 942, "question": "S katero veličino opišemo prilagojenost bremena na generator (na primer prilagojenost antene na oddajnik)?", "image": null, - "answers": [ - "Z napetostjo", - "Z odbojnostjo", - "S tokom" - ], + "answers": ["Z napetostjo", "Z odbojnostjo", "S tokom"], "correct": 1 }, { "id": 943, "question": "Kakšno enoto ima veličina, ki jo imenujemo odbojnost?", "image": null, - "answers": [ - "Volt", - "Nima enote", - "Amper" - ], + "answers": ["Volt", "Nima enote", "Amper"], "correct": 1 }, { @@ -10766,22 +8956,14 @@ "id": 949, "question": "Ali se velikost odbojnosti spremeni, če med breme in reflektometer vstavimo kos brez izgubnega koaksialnega kabla, ki ima karakteristično impedanco enako referenčni impedanci reflektometra?", "image": null, - "answers": [ - "Da", - "Odvisno od dolžine kabla", - "Ne" - ], + "answers": ["Da", "Odvisno od dolžine kabla", "Ne"], "correct": 2 }, { "id": 950, "question": "S katerim merilnim inštrumentom izmerimo prilagojenost antene na oddajnik?", "image": null, - "answers": [ - "Z AVO metrom", - "S SWR metrom", - "S frekvenčnim števcem" - ], + "answers": ["Z AVO metrom", "S SWR metrom", "S frekvenčnim števcem"], "correct": 1 }, { @@ -10799,11 +8981,7 @@ "id": 952, "question": "Kako se imenuje merilni inštrument za merjenje frekvence?", "image": null, - "answers": [ - "Voltmeter", - "Wattmeter", - "Frekvenčni števec" - ], + "answers": ["Voltmeter", "Wattmeter", "Frekvenčni števec"], "correct": 2 }, { @@ -10843,11 +9021,7 @@ "id": 956, "question": "Kaj merimo z GRID-DIP metrom?", "image": null, - "answers": [ - "Napetost", - "Resonančno frekvenco nihajnega kroga", - "Tok" - ], + "answers": ["Napetost", "Resonančno frekvenco nihajnega kroga", "Tok"], "correct": 1 }, { @@ -10931,11 +9105,7 @@ "id": 964, "question": "Želimo pogledati časovno obnašanje napetostnega signala. Na kateri vhod osciloskopa ga priključimo?", "image": null, - "answers": [ - "Na X vhod", - "Na Y vhod", - "Na Z vhod" - ], + "answers": ["Na X vhod", "Na Y vhod", "Na Z vhod"], "correct": 1 }, { @@ -11005,4 +9175,4 @@ "correct": 2 } ] -} \ No newline at end of file +} diff --git a/pubspec.lock b/pubspec.lock deleted file mode 100644 index fed3099..0000000 --- a/pubspec.lock +++ /dev/null @@ -1,336 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - archive: - dependency: transitive - description: - name: archive - url: "https://pub.dartlang.org" - source: hosted - version: "3.3.1" - args: - dependency: transitive - description: - name: args - url: "https://pub.dartlang.org" - source: hosted - version: "2.3.1" - async: - dependency: transitive - description: - name: async - url: "https://pub.dartlang.org" - source: hosted - version: "2.8.2" - bloc: - dependency: transitive - description: - name: bloc - url: "https://pub.dartlang.org" - source: hosted - version: "8.1.0" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - characters: - dependency: transitive - description: - name: characters - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.0" - charcode: - dependency: transitive - description: - name: charcode - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.1" - checked_yaml: - dependency: transitive - description: - name: checked_yaml - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.1" - cli_util: - dependency: transitive - description: - name: cli_util - url: "https://pub.dartlang.org" - source: hosted - version: "0.3.5" - clock: - dependency: transitive - description: - name: clock - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.0" - collection: - dependency: transitive - description: - name: collection - url: "https://pub.dartlang.org" - source: hosted - version: "1.16.0" - crypto: - dependency: transitive - description: - name: crypto - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.2" - cupertino_icons: - dependency: "direct main" - description: - name: cupertino_icons - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.5" - equatable: - dependency: "direct main" - description: - name: equatable - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.3" - fake_async: - dependency: transitive - description: - name: fake_async - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.0" - flutter: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - flutter_bloc: - dependency: "direct main" - description: - name: flutter_bloc - url: "https://pub.dartlang.org" - source: hosted - version: "8.0.1" - flutter_launcher_icons: - dependency: "direct dev" - description: - name: flutter_launcher_icons - url: "https://pub.dartlang.org" - source: hosted - version: "0.10.0" - flutter_lints: - dependency: "direct dev" - description: - name: flutter_lints - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.1" - flutter_math_fork: - dependency: "direct main" - description: - name: flutter_math_fork - url: "https://pub.dartlang.org" - source: hosted - version: "0.6.3+1" - flutter_svg: - dependency: transitive - description: - name: flutter_svg - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.3" - flutter_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" - image: - dependency: transitive - description: - name: image - url: "https://pub.dartlang.org" - source: hosted - version: "3.2.0" - json_annotation: - dependency: transitive - description: - name: json_annotation - url: "https://pub.dartlang.org" - source: hosted - version: "4.6.0" - lints: - dependency: transitive - description: - name: lints - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.0" - matcher: - dependency: transitive - description: - name: matcher - url: "https://pub.dartlang.org" - source: hosted - version: "0.12.11" - material_color_utilities: - dependency: transitive - description: - name: material_color_utilities - url: "https://pub.dartlang.org" - source: hosted - version: "0.1.4" - meta: - dependency: transitive - description: - name: meta - url: "https://pub.dartlang.org" - source: hosted - version: "1.7.0" - nested: - dependency: transitive - description: - name: nested - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.0" - path: - dependency: transitive - description: - name: path - url: "https://pub.dartlang.org" - source: hosted - version: "1.8.1" - path_drawing: - dependency: transitive - description: - name: path_drawing - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.1" - path_parsing: - dependency: transitive - description: - name: path_parsing - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.1" - petitparser: - dependency: transitive - description: - name: petitparser - url: "https://pub.dartlang.org" - source: hosted - version: "5.0.0" - provider: - dependency: transitive - description: - name: provider - url: "https://pub.dartlang.org" - source: hosted - version: "6.0.3" - quiver: - dependency: transitive - description: - name: quiver - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.0" - sky_engine: - dependency: transitive - description: flutter - source: sdk - version: "0.0.99" - source_span: - dependency: transitive - description: - name: source_span - url: "https://pub.dartlang.org" - source: hosted - version: "1.8.2" - stack_trace: - dependency: transitive - description: - name: stack_trace - url: "https://pub.dartlang.org" - source: hosted - version: "1.10.0" - stream_channel: - dependency: transitive - description: - name: stream_channel - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - string_scanner: - dependency: transitive - description: - name: string_scanner - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.0" - term_glyph: - dependency: transitive - description: - name: term_glyph - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.0" - test_api: - dependency: transitive - description: - name: test_api - url: "https://pub.dartlang.org" - source: hosted - version: "0.4.9" - timer_builder: - dependency: "direct main" - description: - name: timer_builder - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.0" - tuple: - dependency: transitive - description: - name: tuple - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.0" - typed_data: - dependency: transitive - description: - name: typed_data - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.1" - vector_math: - dependency: transitive - description: - name: vector_math - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.2" - xml: - dependency: transitive - description: - name: xml - url: "https://pub.dartlang.org" - source: hosted - version: "6.1.0" - yaml: - dependency: transitive - description: - name: yaml - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.1" -sdks: - dart: ">=2.17.0 <3.0.0" - flutter: ">=3.0.0" diff --git a/pubspec.yaml b/pubspec.yaml deleted file mode 100644 index ace9f27..0000000 --- a/pubspec.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: s5_practice -description: S5 Practice Exam Questions - -publish_to: "none" # Remove this line if you wish to publish to pub.dev - -version: 1.0.0+1 - -environment: - sdk: ">=2.17.0 <3.0.0" - -dependencies: - flutter: - sdk: flutter - - cupertino_icons: ^1.0.5 - flutter_bloc: ^8.0.1 - equatable: ^2.0.3 - timer_builder: ^2.0.0 - flutter_math_fork: ^0.6.3+1 - -dev_dependencies: - flutter_test: - sdk: flutter - - flutter_lints: ^2.0.1 - flutter_launcher_icons: ^0.10.0 - -flutter: - uses-material-design: true - - assets: - - assets/questions.json - - assets/images/ - -flutter_icons: - android: true - ios: false - image_path: "assets/icons/S5_practice.png" - adaptive_icon_background: "#197CD7" - adaptive_icon_foreground: "assets/icons/S5_practice_front.png" diff --git a/moodle_gen.py b/scripts/moodle_gen.py similarity index 100% rename from moodle_gen.py rename to scripts/moodle_gen.py diff --git a/bin/parse.ipynb b/scripts/parse.ipynb similarity index 100% rename from bin/parse.ipynb rename to scripts/parse.ipynb diff --git a/src/app/layout.tsx b/src/app/layout.tsx new file mode 100644 index 0000000..c120d69 --- /dev/null +++ b/src/app/layout.tsx @@ -0,0 +1,30 @@ +import Header from "@/components/header"; +import "@/styles/globals.scss"; + +export const metadata = { + title: { + default: "Radioamaterski izpit", + template: "%s | Radioamaterski izpit", + }, + description: "Priprave na radioamaterski izpit", + icons: { + shortcut: "/logo/zrs_logo_white.svg", + }, +}; + +export default function RootLayout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + + + +
+ +
{children}
+ + + ); +} diff --git a/src/app/page.tsx b/src/app/page.tsx new file mode 100644 index 0000000..6d7a017 --- /dev/null +++ b/src/app/page.tsx @@ -0,0 +1,57 @@ +import Link from "next/link"; + +const uporabne_povezave = [ + { + label: "Priročnik za radioamaterje", + href: "http://www.homemade.net/ra/prirocnik_novi.pdf", + }, + { + label: "Etika in operaterski postopki", + href: "http://www.hamradio.si/images/dokumenti/publikacije/etika_junij%202021.pdf", + }, + { + label: "Izpitni roki ZRS", + href: "http://www.hamradio.si/index.php?option=com_content&view=article&id=677&Itemid=118", + }, + { + label: "Seznam zasedenih klicnih znakov", + href: "https://www.akos-rs.si/registri/seznam-registrov/radioamaterji", + }, + { + label: "Kriteriji za izpit", + href: "https://zrs.si/files/kriteriji.pdf", + }, +]; + +export default function Home() { + return ( +
+

Pozdravljen!

+

+ Ta spletna stran je namenjena pripravi na radioamaterski izpit. Na njej + najdete vse potrebne informacije, ki jih potrebujete za pripravo na + izpit. Vsebina je zasnovana tako, da je lahko dostopna tudi za + neizkušene radioamaterje. +

+ +

Kaj je radioamaterski izpit?

+

+ Radioamaterski izpit je izpit, ki ga mora opraviti vsak, ki želi postati + radioamater. Izpit je sestavljen iz dveh delov: teoretičnega in + praktičnega dela. Teoretični del izpita je sestavljen iz 50 vprašanj, od + katerih je potrebno odgovoriti na 40 pravilno. Praktični del izpita pa + je sestavljen iz 3 delov: izdelava antene, izdelava sprejemnika in + izdelava oddajnika. Vse tri naloge mora opraviti v 30 minutah. +

+ +

Uporabne povezave

+
    + {uporabne_povezave.map(({ label, href }) => ( +
  • + {label} +
  • + ))} +
+
+ ); +} diff --git a/src/app/priprave/page.tsx b/src/app/priprave/page.tsx new file mode 100644 index 0000000..87d8d7c --- /dev/null +++ b/src/app/priprave/page.tsx @@ -0,0 +1,34 @@ +import Quiz from "@/components/quiz"; +import { Category } from "@/interfaces/category"; +import { Question } from "@/interfaces/question"; + +interface QuizStore { + isLoading: boolean; + + categories: Category[]; + selectedCategory: string; + + questions: Question[]; + answers: number[][]; + displayed: number; + loadMore: () => void; +} + +export default function Priprave() { + return ( +
+
+

Priprave na izpit

+

+ Priprave na radioamaterski izpit so namenjene vsem, ki želijo postati + radioamaterji. Priprave so brezplačne in potekajo v prostorih Zveze + radioamaterjev Slovenije (ZRS) v Ljubljani. Priprave so namenjene tudi + tistim, ki so že opravili izpit, vendar se želijo pripraviti na + nadaljnje izpite. +

+
+ + +
+ ); +} diff --git a/src/components/header.tsx b/src/components/header.tsx new file mode 100644 index 0000000..9f44a1d --- /dev/null +++ b/src/components/header.tsx @@ -0,0 +1,79 @@ +"use client"; + +import Image from "next/image"; +import Link from "next/link"; +import { usePathname } from "next/navigation"; + +const nav = [ + { href: "/", label: "Domov" }, + { href: "/priprave", label: "Priprave" }, + { href: "/izpit", label: "Izpit" }, + { href: "/pola", label: "Pola" }, +]; + +export default function Header() { + const pathname = usePathname(); + + return ( +
+
+
+
+
+ ZRS Logo +
+
+

Radioamaterski izpit

+
Pripravil: Jakob [S52KJ]
+
+
+
+
+ +
+
+ +
+
+
+ ); +} diff --git a/src/components/quiz.tsx b/src/components/quiz.tsx new file mode 100644 index 0000000..cec261f --- /dev/null +++ b/src/components/quiz.tsx @@ -0,0 +1,203 @@ +"use client"; + +import { Question } from "@/interfaces/question"; +import { getCategories, getQuestions } from "@/util/question-util"; +import { useEffect } from "react"; +import { create } from "zustand"; +import styles from "@/styles/Quiz.module.scss"; +import { Category } from "@/interfaces/category"; +import { InlineMath } from "react-katex"; +import Image from "next/image"; + +const qPerPage = 5; + +interface QuizStore { + isLoading: boolean; + + categories: Category[]; + selectedCategory: string; + + questions: Question[]; + answers: number[][]; + displayed: number; + loadMore: () => void; +} + +const useStore = create((set) => ({ + isLoading: false, + + categories: [], + selectedCategory: "all", + + questions: [], + answers: [], + displayed: 0, + loadMore: () => set((state) => ({ displayed: state.displayed + qPerPage })), +})); + +async function load(selectedCategory: string) { + useStore.setState({ isLoading: true }); + + const categories = await getCategories(); + let questions = await getQuestions(); + if (selectedCategory !== "all") { + const catId = parseInt(selectedCategory); + const cat = categories.find((cat) => cat.id == catId); + if (!cat) return; + + questions = questions.filter((q) => q.category == catId); + } + // Shuffle + questions = questions.sort(() => Math.random() - 0.5); + + useStore.setState({ + isLoading: false, + categories, + questions, + answers: Array(questions.length).fill([]), + displayed: qPerPage, + }); +} + +export default function Quiz() { + const [ + isLoading, + categories, + selectedCategory, + questions, + answers, + displayed, + loadMore, + ] = useStore((state) => [ + state.isLoading, + state.categories, + state.selectedCategory, + state.questions, + state.answers, + state.displayed, + state.loadMore, + ]); + + useEffect(() => { + if (questions.length === 0) { + load(selectedCategory); + } + }, [questions.length, selectedCategory]); + + return ( + <> +
+
+
+ +
+
+ +
+ +
+
+ +
+ {questions.slice(0, displayed).map((question, qi) => ( +
+

{question.id}

+ +
+

{question.question}

+
+ + {question.image && ( +
+ {question.image} +
+ )} + +
+ {question.answers.map((answer, i) => { + const revealed = answers[qi].includes(i); + const isCorrect = question.correct === i; + const isDone = answers[qi].includes(question.correct!); + const onClick = () => { + if (answers[qi].includes(i)) return; + + const answersNew = Array.from(answers); + answersNew[qi] = Array.from(answers[qi]); + answersNew[qi].push(i); + useStore.setState({ answers: answersNew }); + }; + + return ( + + ); + })} +
+
+ ))} +
+ +
+ {questions.length > displayed && ( + + )} + +
+ + ); +} + +const isBrowser = () => typeof window !== "undefined"; + +function scrollToTop() { + if (!isBrowser()) return; + window.scrollTo({ top: 0, behavior: "smooth" }); +} diff --git a/src/interfaces/category.ts b/src/interfaces/category.ts new file mode 100644 index 0000000..bbcbf0b --- /dev/null +++ b/src/interfaces/category.ts @@ -0,0 +1,4 @@ +export interface Category { + id: number; + title: string; +} diff --git a/src/interfaces/question.ts b/src/interfaces/question.ts new file mode 100644 index 0000000..62d2898 --- /dev/null +++ b/src/interfaces/question.ts @@ -0,0 +1,8 @@ +export interface Question { + id: number; + category: number; + question: string; + image?: string; + answers: string[]; + correct: number; +} diff --git a/src/pages/pola.tsx b/src/pages/pola.tsx new file mode 100644 index 0000000..645b553 --- /dev/null +++ b/src/pages/pola.tsx @@ -0,0 +1,139 @@ +"use client"; + +import { Question } from "@/interfaces/question"; +import styles from "@/styles/Exam.module.scss"; + +const questions = new Array(60).fill({ + id: 0, + question: + "Katero od naštetih frekvenčnih področij ni namenjeno radioamaterjem?", + answers: ["47 GHz", "432 MHz", "46 MHz"], + correct: 0, + category: 12, +}); + +interface ExamProps { + vprasanja: Question[]; + klasa: string; + prag: number; + cas: number; +} + +export default function Exam() { + return ( +
+ + +
{questions.map(ExamQuestion)}
+
+ ); +} + +function ExamHeader() { + const klasa = "A"; + const st_vprasanj = questions.length; + const st_opcij = Math.max(...questions.map((q) => q.answers.length)); + const prag = st_vprasanj * 0.6; + const cas = 90; + + const opcije = "ABCDEF".split("").slice(0, st_opcij).join(", "); + + return ( +
+
+ +

+ IZPITNA POLA ZA AMATERSKE OPERATERJE {klasa} RAZREDA +

+
+ +
+
+ Ime in priimek: + +
+
+ Datum in kraj rojstva: + +
+
+ Stalno prebivališče: + +
+
+ Član-ica radiokluba: + +
+
+ +
+

+ Izjavljam, da sem izpitno polo izpolnil-a lastnoročno in pri tem nisem + uporabljal-a nedovoljenih načinov reševanja. +

+ +
+
+ Kraj: + +
+
+ Datum: + +
+
+ Podpis: + +
+
+
+ +
+
+

+ Ocena izpitne komisije: +

+

+ Kandidat-ka je pravilno odgovoril-a na _______ / {st_vprasanj}{" "} + vprašanj in JE - NI uspešno opravil-a izpit za radioamaterja {klasa}{" "} + razreda. +

+ +
+ Podpis člana izpitne komisije: + +
+
+ +
+

+ Prag za uspešno opravljen izpit je {prag} pravilnih odgovorov. Za + reševanje izpitne pole je na voljo {cas} minut. +

+
+
+ +

+ Navodilo: Pri vprašanjih obkroži ustrezno črko ({opcije}) pred + pravilnim odgovorom. Če popravljaš odgovor, se pri popravku podpiši, + napačen odgovor pa v celoti prečrtaj. +

+
+ ); +} + +function ExamQuestion(q: Question, i: number) { + return ( +
+

+ {i + 1}. {q.question} +

+ +
    + {q.answers.map((a, ai) => ( +
  1. {a}
  2. + ))} +
+
+ ); +} diff --git a/src/styles/Exam.module.scss b/src/styles/Exam.module.scss new file mode 100644 index 0000000..761619c --- /dev/null +++ b/src/styles/Exam.module.scss @@ -0,0 +1,94 @@ +.exam { + font-family: Arial, Helvetica, sans-serif; +} + +.header { + font-size: large; + + & > * { + margin-bottom: 2rem; + } +} + +.title { + display: flex; + + h1 { + font-size: larger; + font-weight: normal; + margin: auto 0 auto 1rem; + } +} + +.podatki { + & > div { + display: flex; + line-height: 2rem; + margin: 0.5rem 0; + + & > span:last-child { + flex-grow: 1; + display: inline-block; + position: relative; + + &::after { + content: ""; + position: absolute; + bottom: 0; + border-bottom: 1px solid black; + width: 100%; + } + } + } +} + +.izjava { + & > *:last-child { + display: flex; + + & > * { + &:last-child { + margin-left: auto; + } + + & > span:last-child { + display: inline-block; + + &::after { + content: ""; + bottom: 0; + border-bottom: 1px solid black; + height: 2rem; + width: 100px; + } + } + } + } +} + +.komisija { + border: 1px solid; + + & > div { + &:not(:first-child) { + border-top: 1px solid; + font-size: small; + } + + & > * { + margin: 0.5rem; + } + } +} + +.body { + margin-top: 4rem; + + & > div { + margin-top: 1.5rem; + + ol { + list-style-type: upper-alpha; + } + } +} diff --git a/src/styles/Quiz.module.scss b/src/styles/Quiz.module.scss new file mode 100644 index 0000000..9451c27 --- /dev/null +++ b/src/styles/Quiz.module.scss @@ -0,0 +1,13 @@ +.image { + max-width: 30rem !important; + max-height: 20rem !important; + margin: auto !important; + object-fit: contain !important; +} + +.answer { + justify-content: start !important; + text-align: start !important; + height: auto !important; + white-space: normal !important; +} diff --git a/src/styles/globals.scss b/src/styles/globals.scss new file mode 100644 index 0000000..eb7fcf7 --- /dev/null +++ b/src/styles/globals.scss @@ -0,0 +1,15 @@ +$primary: #29c0f7; +$container-max-width: 1200px; + +$section-padding: 2rem 1.5rem; + +@import "bulma/sass/utilities/_all.sass"; +@import "bulma/sass/base/_all.sass"; +@import "bulma/sass/elements/_all.sass"; +@import "bulma/sass/form/_all.sass"; +@import "bulma/sass/components/_all.sass"; +@import "bulma/sass/layout/_all.sass"; +@import "bulma/sass/grid/_all.sass"; +@import "bulma/sass/helpers/_all.sass"; + +@import "katex/dist/katex.min.css"; diff --git a/src/util/question-util.ts b/src/util/question-util.ts new file mode 100644 index 0000000..11a91ff --- /dev/null +++ b/src/util/question-util.ts @@ -0,0 +1,43 @@ +import { Category } from "@/interfaces/category"; +import { Question } from "@/interfaces/question"; + +interface QuestionFile { + questions: Question[]; + categories: Category[]; +} + +let json: QuestionFile | null = null; + +const openFile = async (): Promise => { + if (json) return json; + + json = JSON.parse(await fetch("/questions.json").then((res) => res.text())); + + return json!; +}; + +export const getQuestions = async (): Promise => { + const file = await openFile(); + + return file.questions + .map((question: any) => ({ + id: question.id, + question: question.question, + image: question.image, + answers: question.answers, + correct: question.correct, + // TODO + category: 0, + })) + .filter((question: Question) => question.correct != null); +}; + +export const getCategories = async (): Promise => { + const file = await openFile(); + + return file.categories.map((category: any) => ({ + id: category.id, + title: category.title, + questions: category.questions, + })); +}; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..6a9c1a2 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/web/CNAME b/web/CNAME deleted file mode 100644 index 112db93..0000000 --- a/web/CNAME +++ /dev/null @@ -1 +0,0 @@ -s5-vaja.jkob.cc \ No newline at end of file diff --git a/web/favicon.png b/web/favicon.png deleted file mode 100644 index f388f15..0000000 Binary files a/web/favicon.png and /dev/null differ diff --git a/web/icons/Icon-192.png b/web/icons/Icon-192.png deleted file mode 100644 index f86cd11..0000000 Binary files a/web/icons/Icon-192.png and /dev/null differ diff --git a/web/icons/Icon-512.png b/web/icons/Icon-512.png deleted file mode 100644 index f3539f3..0000000 Binary files a/web/icons/Icon-512.png and /dev/null differ diff --git a/web/icons/Icon-maskable-192.png b/web/icons/Icon-maskable-192.png deleted file mode 100644 index f86cd11..0000000 Binary files a/web/icons/Icon-maskable-192.png and /dev/null differ diff --git a/web/icons/Icon-maskable-512.png b/web/icons/Icon-maskable-512.png deleted file mode 100644 index f3539f3..0000000 Binary files a/web/icons/Icon-maskable-512.png and /dev/null differ diff --git a/web/index.html b/web/index.html deleted file mode 100644 index 95e9d05..0000000 --- a/web/index.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - Izpitna vprašanja za radioamaterje - - - - - - - - - - - - \ No newline at end of file diff --git a/web/manifest.json b/web/manifest.json deleted file mode 100644 index 39819c8..0000000 --- a/web/manifest.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "Izpitna vprašanja za radioamaterje", - "short_name": "S5 Vaja", - "start_url": ".", - "display": "standalone", - "background_color": "#197CD7", - "theme_color": "#197CD7", - "description": "Izpitna vprašanja za radioamaterje", - "orientation": "portrait-primary", - "prefer_related_applications": false, - "icons": [ - { - "src": "icons/Icon-192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "icons/Icon-512.png", - "sizes": "512x512", - "type": "image/png" - }, - { - "src": "icons/Icon-maskable-192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "maskable" - }, - { - "src": "icons/Icon-maskable-512.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "maskable" - } - ] -} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..0e8e2b1 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,3430 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/helper-validator-identifier@^7.18.6": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/runtime@^7.20.7": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673" + integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw== + dependencies: + regenerator-runtime "^0.13.11" + +"@eslint/eslintrc@^1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" + integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.4.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@gar/promisify@^1.0.1", "@gar/promisify@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" + integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== + +"@humanwhocodes/config-array@^0.11.8": + version "0.11.8" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" + integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@next/env@13.1.7-canary.21": + version "13.1.7-canary.21" + resolved "https://registry.yarnpkg.com/@next/env/-/env-13.1.7-canary.21.tgz#36db6a4e369c5967c9211382063508c477ee37c3" + integrity sha512-w5ZByxFUXzAC15KwVaOQ2/AkD9BgM6xXxCshr7M7qZDert7Z62SevuxIqrrIFTEj5psLPTT7WHlJufY8JXLGXg== + +"@next/eslint-plugin-next@13.1.6": + version "13.1.6" + resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-13.1.6.tgz#ad8be22dd3d8aee9a9bd9a2507e2c55a2f7ebdd9" + integrity sha512-o7cauUYsXjzSJkay8wKjpKJf2uLzlggCsGUkPu3lP09Pv97jYlekTC20KJrjQKmSv5DXV0R/uks2ZXhqjNkqAw== + dependencies: + glob "7.1.7" + +"@next/font@13.1.6": + version "13.1.6" + resolved "https://registry.yarnpkg.com/@next/font/-/font-13.1.6.tgz#2bf99e3321ec9b4d65781c0d0ebff072e8752e1a" + integrity sha512-AITjmeb1RgX1HKMCiA39ztx2mxeAyxl4ljv2UoSBUGAbFFMg8MO7YAvjHCgFhD39hL7YTbFjol04e/BPBH5RzQ== + +"@next/swc-android-arm-eabi@13.1.7-canary.21": + version "13.1.7-canary.21" + resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.1.7-canary.21.tgz#a82bdf7b189075c550104c8598b2286ebce98188" + integrity sha512-DPHm1aY/+1+TgZhRJXxspKExvwIdONC6ZHCLaU8xhqKEuojZbkwYiB8wG/qukhwy/6H2G8O9jD5qzbkWZQdt8w== + +"@next/swc-android-arm64@13.1.7-canary.21": + version "13.1.7-canary.21" + resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-13.1.7-canary.21.tgz#a651920e1c64babfa637e518936670195f078119" + integrity sha512-Oglp5AGW69iF0M7ELqzUSD2AJJZDYcF88EpxgnG43iE6NkylWZQl9aFW05C6lb4h28YALnopdN8NMQxexomXeQ== + +"@next/swc-darwin-arm64@13.1.7-canary.21": + version "13.1.7-canary.21" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.1.7-canary.21.tgz#87bc8098671ba7ce44fc50096ee784df5f31f988" + integrity sha512-SAPqhUGAco0DIIGpV0Kr7bQ3IjbDISdvGoYcY38BB7xd2Gv2TynQezNcZtX2NZ7RI30tyxRxUspIQsf958d2oQ== + +"@next/swc-darwin-x64@13.1.7-canary.21": + version "13.1.7-canary.21" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.1.7-canary.21.tgz#64cdee1c1e30cdd38124110c2000f5c6bc59924e" + integrity sha512-OinLF0EP6xWCSq8CMgqCb0KdsrjkdPp/+CNURTjFEYMc9jkp5C6lLhjVK2hIs0b9vlcsdhDmDmYYr0kxenFiuQ== + +"@next/swc-freebsd-x64@13.1.7-canary.21": + version "13.1.7-canary.21" + resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.1.7-canary.21.tgz#36b2ff13cfb98e055687dd11df79da10e02ed7c7" + integrity sha512-OSvPwS0v9CuQQyX57stm+nGF5qXvOUISlR5HfrI4igP4dCRzJ9Fb4WSH12P75GV9fcjJxzJiDZlzaWzPh9ZJbA== + +"@next/swc-linux-arm-gnueabihf@13.1.7-canary.21": + version "13.1.7-canary.21" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.1.7-canary.21.tgz#2fe5dc4a88d49002a88fe2005f0efd051f295de3" + integrity sha512-83Frp3/WIEOrzirGYR8aCwTYhtT23IgpOZyGOruZNic8JmCZruk/c5FvekYbE+UCglsNXllZEJJ7c/Vhe4lm0A== + +"@next/swc-linux-arm64-gnu@13.1.7-canary.21": + version "13.1.7-canary.21" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.1.7-canary.21.tgz#26eaec172178518d5ad4fde48d18660d1baf8b93" + integrity sha512-REKwi3MkTHnDwwxn2rl4RkiJ/vOs2+wP0U+p0hhZeSUfBh43a/+MShZ5BLUDlM+Uec25UHp1QWMBq/EQ5TQG+g== + +"@next/swc-linux-arm64-musl@13.1.7-canary.21": + version "13.1.7-canary.21" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.1.7-canary.21.tgz#71413b4492e91849612d004d46bb69f114930fcb" + integrity sha512-FCBfNRQc3GbHku/T33zMUV3e8WQwF4FK42t0hlW0sCckkJ+0r/7J/8/3uoX621msTtYiwrndIySqoqP+jbtSyg== + +"@next/swc-linux-x64-gnu@13.1.7-canary.21": + version "13.1.7-canary.21" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.1.7-canary.21.tgz#22741be76b2b6bd749a1acf900e1d55205840de2" + integrity sha512-9+e/YU8kOGcKYqrDqSFztrSrF1BFoDnwn2wiev7egBRgOqYHGsG2ZScA+tZLn3at5wtCXyrbEO1NR0sFgrrHJA== + +"@next/swc-linux-x64-musl@13.1.7-canary.21": + version "13.1.7-canary.21" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.1.7-canary.21.tgz#6d6b5a70f7557b1a262b6b6d2101708f5a5c5a9a" + integrity sha512-XF5y8WKUJHB5uDPYiHqQ7es27wV7lw1BC9DCIzS+TbGJgUhsiSue1w3cS1YYEqxdF7kbeYNOLRwsQ/3+NsPPow== + +"@next/swc-win32-arm64-msvc@13.1.7-canary.21": + version "13.1.7-canary.21" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.1.7-canary.21.tgz#1592626be2d0996479b8c8208256fffca06a574e" + integrity sha512-uJWP0qc2B+PBmedV/CF5sR9WRxrVQ1do2AV3mJLPPQqFFoG0UnTW7bRm+IT+u/MFWFmll2zsNFoXwL3utWFDEg== + +"@next/swc-win32-ia32-msvc@13.1.7-canary.21": + version "13.1.7-canary.21" + resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.1.7-canary.21.tgz#115c15788571ebc716cd488485870a5dcd914072" + integrity sha512-iz/kTKBQaDxxcP/qhddZF77DLj53I/JkLiSSnkseuRI7949tPOGfmTu9JHyR8xBP+d3Br/fj9/oIQ2ipQ/U6Aw== + +"@next/swc-win32-x64-msvc@13.1.7-canary.21": + version "13.1.7-canary.21" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.1.7-canary.21.tgz#29030372bb9dd10036245ab957b2343320544af4" + integrity sha512-jSVNfA3cTAO+cBL8RMtiXJrk1G4eGMaYmtTRs1RS15QtIrbqExzeLlDkiGFKx/QGpakgxro3t+YefETSb9QDSA== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@npmcli/fs@^1.0.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257" + integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== + dependencies: + "@gar/promisify" "^1.0.1" + semver "^7.3.5" + +"@npmcli/fs@^2.1.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.2.tgz#a9e2541a4a2fec2e69c29b35e6060973da79b865" + integrity sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ== + dependencies: + "@gar/promisify" "^1.1.3" + semver "^7.3.5" + +"@npmcli/move-file@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" + integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@npmcli/move-file@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.1.tgz#26f6bdc379d87f75e55739bab89db525b06100e4" + integrity sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@pkgr/utils@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.3.1.tgz#0a9b06ffddee364d6642b3cd562ca76f55b34a03" + integrity sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw== + dependencies: + cross-spawn "^7.0.3" + is-glob "^4.0.3" + open "^8.4.0" + picocolors "^1.0.0" + tiny-glob "^0.2.9" + tslib "^2.4.0" + +"@rushstack/eslint-patch@^1.1.3": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz#8be36a1f66f3265389e90b5f9c9962146758f728" + integrity sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg== + +"@swc/helpers@0.4.14": + version "0.4.14" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.14.tgz#1352ac6d95e3617ccb7c1498ff019654f1e12a74" + integrity sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw== + dependencies: + tslib "^2.4.0" + +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/minimist@^1.2.0": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" + integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== + +"@types/node@18.14.0": + version "18.14.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.0.tgz#94c47b9217bbac49d4a67a967fdcdeed89ebb7d0" + integrity sha512-5EWrvLmglK+imbCJY0+INViFWUHg1AHel1sq4ZVSfdcNqGy9Edv3UB9IIzzg+xPaUcAgZYcfVs2fBcwDeZzU0A== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/prop-types@*": + version "15.7.5" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" + integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== + +"@types/react-dom@18.0.11": + version "18.0.11" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.11.tgz#321351c1459bc9ca3d216aefc8a167beec334e33" + integrity sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw== + dependencies: + "@types/react" "*" + +"@types/react-katex@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/react-katex/-/react-katex-3.0.0.tgz#119a902bff10eb52f449fac744aaed8c4909391f" + integrity sha512-AiHHXh71a2M7Z6z1wj6iA23SkiRF9r0neHUdu8zjU/cT3MyLxDefYHbcceKhV/gjDEZgF3YaiNHyPNtoGUjPvg== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@18.0.28": + version "18.0.28" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.28.tgz#accaeb8b86f4908057ad629a26635fe641480065" + integrity sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/scheduler@*": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" + integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== + +"@typescript-eslint/parser@^5.42.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.53.0.tgz#a1f2b9ae73b83181098747e96683f1b249ecab52" + integrity sha512-MKBw9i0DLYlmdOb3Oq/526+al20AJZpANdT6Ct9ffxcV8nKCHz63t/S0IhlTFNsBIHJv+GY5SFJ0XfqVeydQrQ== + dependencies: + "@typescript-eslint/scope-manager" "5.53.0" + "@typescript-eslint/types" "5.53.0" + "@typescript-eslint/typescript-estree" "5.53.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.53.0.tgz#42b54f280e33c82939275a42649701024f3fafef" + integrity sha512-Opy3dqNsp/9kBBeCPhkCNR7fmdSQqA+47r21hr9a14Bx0xnkElEQmhoHga+VoaoQ6uDHjDKmQPIYcUcKJifS7w== + dependencies: + "@typescript-eslint/types" "5.53.0" + "@typescript-eslint/visitor-keys" "5.53.0" + +"@typescript-eslint/types@5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.53.0.tgz#f79eca62b97e518ee124086a21a24f3be267026f" + integrity sha512-5kcDL9ZUIP756K6+QOAfPkigJmCPHcLN7Zjdz76lQWWDdzfOhZDTj1irs6gPBKiXx5/6O3L0+AvupAut3z7D2A== + +"@typescript-eslint/typescript-estree@5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.53.0.tgz#bc651dc28cf18ab248ecd18a4c886c744aebd690" + integrity sha512-eKmipH7QyScpHSkhbptBBYh9v8FxtngLquq292YTEQ1pxVs39yFBlLC1xeIZcPPz1RWGqb7YgERJRGkjw8ZV7w== + dependencies: + "@typescript-eslint/types" "5.53.0" + "@typescript-eslint/visitor-keys" "5.53.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/visitor-keys@5.53.0": + version "5.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.53.0.tgz#8a5126623937cdd909c30d8fa72f79fa56cc1a9f" + integrity sha512-JqNLnX3leaHFZEN0gCh81sIvgrp/2GOACZNgO4+Tkf64u51kTpAyWFOY8XHx8XuXr3N2C9zgPPHtcpMg6z1g0w== + dependencies: + "@typescript-eslint/types" "5.53.0" + eslint-visitor-keys "^3.3.0" + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^8.8.0: + version "8.8.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== + +agent-base@6, agent-base@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +agentkeepalive@^4.1.3, agentkeepalive@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717" + integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA== + dependencies: + debug "^4.1.0" + depd "^1.1.2" + humanize-ms "^1.2.1" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv@^6.10.0, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +"aproba@^1.0.3 || ^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== + +are-we-there-yet@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" + integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +aria-query@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" + integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== + dependencies: + deep-equal "^2.0.5" + +array-includes@^3.1.5, array-includes@^3.1.6: + version "3.1.6" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" + integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + is-string "^1.0.7" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array.prototype.flat@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" + integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" + integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532" + integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.1.3" + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== + +ast-types-flow@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== + +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + integrity sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA== + +autoprefixer@^10.4.13: + version "10.4.13" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8" + integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg== + dependencies: + browserslist "^4.21.4" + caniuse-lite "^1.0.30001426" + fraction.js "^4.2.0" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +axe-core@^4.6.2: + version "4.6.3" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.6.3.tgz#fc0db6fdb65cc7a80ccf85286d91d64ababa3ece" + integrity sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg== + +axobject-query@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.1.1.tgz#3b6e5c6d4e43ca7ba51c5babf99d22a9c68485e1" + integrity sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg== + dependencies: + deep-equal "^2.0.5" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.21.4: + version "4.21.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" + integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== + dependencies: + caniuse-lite "^1.0.30001449" + electron-to-chromium "^1.4.284" + node-releases "^2.0.8" + update-browserslist-db "^1.0.10" + +bulma@^0.9.4: + version "0.9.4" + resolved "https://registry.yarnpkg.com/bulma/-/bulma-0.9.4.tgz#0ca8aeb1847a34264768dba26a064c8be72674a1" + integrity sha512-86FlT5+1GrsgKbPLRRY7cGDg8fsJiP/jzTqXXVqiUZZ2aZT8uemEOHlU1CDU+TxklPEZ11HZNNWclRBBecP4CQ== + +cacache@^15.2.0: + version "15.3.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" + integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== + dependencies: + "@npmcli/fs" "^1.0.0" + "@npmcli/move-file" "^1.0.1" + chownr "^2.0.0" + fs-minipass "^2.0.0" + glob "^7.1.4" + infer-owner "^1.0.4" + lru-cache "^6.0.0" + minipass "^3.1.1" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^1.0.3" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.0.2" + unique-filename "^1.1.1" + +cacache@^16.1.0: + version "16.1.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" + integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== + dependencies: + "@npmcli/fs" "^2.1.0" + "@npmcli/move-file" "^2.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + infer-owner "^1.0.4" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + unique-filename "^2.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001449: + version "1.0.30001457" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001457.tgz#6af34bb5d720074e2099432aa522c21555a18301" + integrity sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA== + +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +"chokidar@>=3.0.0 <4.0.0": + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +client-only@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" + integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +commander@^8.0.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +console-control-strings@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +csstype@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" + integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== + +damerau-levenshtein@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" + integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== + +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +decamelize-keys@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" + integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.1.0, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +deep-equal@^2.0.5: + version "2.2.0" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.0.tgz#5caeace9c781028b9ff459f33b779346637c43e6" + integrity sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw== + dependencies: + call-bind "^1.0.2" + es-get-iterator "^1.1.2" + get-intrinsic "^1.1.3" + is-arguments "^1.1.1" + is-array-buffer "^3.0.1" + is-date-object "^1.0.5" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + isarray "^2.0.5" + object-is "^1.1.5" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + side-channel "^1.0.4" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.9" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.3, define-properties@^1.1.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" + integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== + +depd@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +electron-to-chromium@^1.4.284: + version "1.4.305" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.305.tgz#e4dfe3e06ab783f33171f9bde9e8ed092510fcd0" + integrity sha512-WETy6tG0CT5gm1O+xCbyapWNsCcmIvrn4NHViIGYo2AT8FV2qUCXdaB+WqYxSv/vS5mFqhBYnfZAAkVArjBmUg== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +encoding@^0.1.12, encoding@^0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +enhanced-resolve@^5.10.0: + version "5.12.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634" + integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.19.0, es-abstract@^1.20.4: + version "1.21.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.1.tgz#e6105a099967c08377830a0c9cb589d570dd86c6" + integrity sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.1.3" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.4" + is-array-buffer "^3.0.1" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.10" + is-weakref "^1.0.2" + object-inspect "^1.12.2" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + safe-regex-test "^1.0.0" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.9" + +es-get-iterator@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + is-arguments "^1.1.1" + is-map "^2.0.2" + is-set "^2.0.2" + is-string "^1.0.7" + isarray "^2.0.5" + stop-iteration-iterator "^1.0.0" + +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-next@13.1.6: + version "13.1.6" + resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-13.1.6.tgz#ab6894fe5b80080f1e9b9306d1c4b0003230620e" + integrity sha512-0cg7h5wztg/SoLAlxljZ0ZPUQ7i6QKqRiP4M2+MgTZtxWwNKb2JSwNc18nJ6/kXBI6xYvPraTbQSIhAuVw6czw== + dependencies: + "@next/eslint-plugin-next" "13.1.6" + "@rushstack/eslint-patch" "^1.1.3" + "@typescript-eslint/parser" "^5.42.0" + eslint-import-resolver-node "^0.3.6" + eslint-import-resolver-typescript "^3.5.2" + eslint-plugin-import "^2.26.0" + eslint-plugin-jsx-a11y "^6.5.1" + eslint-plugin-react "^7.31.7" + eslint-plugin-react-hooks "^4.5.0" + +eslint-import-resolver-node@^0.3.6, eslint-import-resolver-node@^0.3.7: + version "0.3.7" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" + integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== + dependencies: + debug "^3.2.7" + is-core-module "^2.11.0" + resolve "^1.22.1" + +eslint-import-resolver-typescript@^3.5.2: + version "3.5.3" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.3.tgz#db5ed9e906651b7a59dd84870aaef0e78c663a05" + integrity sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ== + dependencies: + debug "^4.3.4" + enhanced-resolve "^5.10.0" + get-tsconfig "^4.2.0" + globby "^13.1.2" + is-core-module "^2.10.0" + is-glob "^4.0.3" + synckit "^0.8.4" + +eslint-module-utils@^2.7.4: + version "2.7.4" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" + integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== + dependencies: + debug "^3.2.7" + +eslint-plugin-import@^2.26.0: + version "2.27.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" + integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + array.prototype.flatmap "^1.3.1" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.7" + eslint-module-utils "^2.7.4" + has "^1.0.3" + is-core-module "^2.11.0" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.values "^1.1.6" + resolve "^1.22.1" + semver "^6.3.0" + tsconfig-paths "^3.14.1" + +eslint-plugin-jsx-a11y@^6.5.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz#fca5e02d115f48c9a597a6894d5bcec2f7a76976" + integrity sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA== + dependencies: + "@babel/runtime" "^7.20.7" + aria-query "^5.1.3" + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + ast-types-flow "^0.0.7" + axe-core "^4.6.2" + axobject-query "^3.1.1" + damerau-levenshtein "^1.0.8" + emoji-regex "^9.2.2" + has "^1.0.3" + jsx-ast-utils "^3.3.3" + language-tags "=1.0.5" + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + semver "^6.3.0" + +eslint-plugin-react-hooks@^4.5.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" + integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== + +eslint-plugin-react@^7.31.7: + version "7.32.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10" + integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== + dependencies: + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + array.prototype.tosorted "^1.1.1" + doctrine "^2.1.0" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + object.hasown "^1.1.2" + object.values "^1.1.6" + prop-types "^15.8.1" + resolve "^2.0.0-next.4" + semver "^6.3.0" + string.prototype.matchall "^4.0.8" + +eslint-scope@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" + integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" + integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + +eslint@8.34.0: + version "8.34.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.34.0.tgz#fe0ab0ef478104c1f9ebc5537e303d25a8fb22d6" + integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg== + dependencies: + "@eslint/eslintrc" "^1.4.1" + "@humanwhocodes/config-array" "^0.11.8" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.1.1" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.3.0" + espree "^9.4.0" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-sdsl "^4.1.4" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.1" + regexpp "^3.2.0" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + +espree@^9.4.0: + version "9.4.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" + integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== + dependencies: + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.3.0" + +esquery@^1.4.0: + version "1.4.2" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.2.tgz#c6d3fee05dd665808e2ad870631f221f5617b1d1" + integrity sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.2.11, fast-glob@^3.2.9: + version "3.2.12" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +fraction.js@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" + integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== + +fs-minipass@^2.0.0, fs-minipass@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + +functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gauge@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" + integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.3" + console-control-strings "^1.1.0" + has-unicode "^2.0.1" + signal-exit "^3.0.7" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.5" + +gaze@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" + integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== + dependencies: + globule "^1.0.0" + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" + integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + integrity sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw== + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-tsconfig@^4.2.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.4.0.tgz#64eee64596668a81b8fce18403f94f245ee0d4e5" + integrity sha512-0Gdjo/9+FzsYhXCEFueo2aY1z1tpXrxWZzP7k8ul9qt1U5o8rYJwTJYmaeHdrVosYIVYkOy2iwCJ9FdpocJhPQ== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@7.1.7, glob@~7.1.1: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.0, glob@^7.0.3, glob@^7.1.3, glob@^7.1.4: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^8.0.1: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + +globals@^13.19.0: + version "13.20.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globalyzer@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.0.tgz#cb76da79555669a1519d5a8edf093afaa0bf1465" + integrity sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q== + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +globby@^13.1.2: + version "13.1.3" + resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.3.tgz#f62baf5720bcb2c1330c8d4ef222ee12318563ff" + integrity sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw== + dependencies: + dir-glob "^3.0.1" + fast-glob "^3.2.11" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^4.0.0" + +globrex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" + integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== + +globule@^1.0.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.4.tgz#7c11c43056055a75a6e68294453c17f2796170fb" + integrity sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg== + dependencies: + glob "~7.1.1" + lodash "^4.17.21" + minimatch "~3.0.2" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.2.4, graceful-fs@^4.2.6: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has-unicode@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +hosted-git-info@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + +http-cache-semantics@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== + dependencies: + ms "^2.0.0" + +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +immutable@^4.0.0: + version "4.2.4" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.4.tgz#83260d50889526b4b531a5e293709a77f7c55a2a" + integrity sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +internal-slot@^1.0.3, internal-slot@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" + integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== + dependencies: + get-intrinsic "^1.2.0" + has "^1.0.3" + side-channel "^1.0.4" + +ip@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" + integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== + +is-arguments@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-array-buffer@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz#deb1db4fcae48308d54ef2442706c0393997052a" + integrity sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-typed-array "^1.1.10" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.10.0, is-core-module@^2.11.0, is-core-module@^2.5.0, is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + +is-date-object@^1.0.1, is-date-object@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-lambda@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" + integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== + +is-map@^2.0.1, is-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" + integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-set@^2.0.1, is-set@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" + integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.10, is-typed-array@^1.1.9: + version "1.1.10" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" + integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + +is-weakmap@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" + integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-weakset@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" + integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +js-base64@^2.4.9: + version "2.6.4" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" + integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== + +js-sdsl@^4.1.4: + version "4.3.0" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711" + integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json5@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" + integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== + dependencies: + array-includes "^3.1.5" + object.assign "^4.1.3" + +katex@^0.16.0: + version "0.16.4" + resolved "https://registry.yarnpkg.com/katex/-/katex-0.16.4.tgz#87021bc3bbd80586ef715aeb476794cba6a49ad4" + integrity sha512-WudRKUj8yyBeVDI4aYMNxhx5Vhh2PjpzQw1GRu/LVGqL4m1AxwD1GcUp0IMbdJaf5zsjtj8ghP0DOQRYhroNkw== + dependencies: + commander "^8.0.0" + +kind-of@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +language-subtag-registry@~0.3.2: + version "0.3.22" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" + integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== + +language-tags@=1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" + integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ== + dependencies: + language-subtag-registry "~0.3.2" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash@^4.17.11, lodash@^4.17.15, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +lru-cache@^7.7.1: + version "7.17.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.17.0.tgz#00c7ba5919e5ea7c69ff94ddabbf32cb09ab805c" + integrity sha512-zSxlVVwOabhVyTi6E8gYv2cr6bXK+8ifYz5/uyJb9feXX6NACVDwY4p5Ut3WC3Ivo/QhpARHU3iujx2xGAYHbQ== + +make-fetch-happen@^10.0.4: + version "10.2.1" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164" + integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w== + dependencies: + agentkeepalive "^4.2.1" + cacache "^16.1.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-fetch "^2.0.3" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.3" + promise-retry "^2.0.1" + socks-proxy-agent "^7.0.0" + ssri "^9.0.0" + +make-fetch-happen@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" + integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== + dependencies: + agentkeepalive "^4.1.3" + cacache "^15.2.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^6.0.0" + minipass "^3.1.3" + minipass-collect "^1.0.2" + minipass-fetch "^1.3.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.2" + promise-retry "^2.0.1" + socks-proxy-agent "^6.0.0" + ssri "^8.0.0" + +map-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== + +map-obj@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + +meow@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" + integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize "^1.2.0" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.18.0" + yargs-parser "^20.2.3" + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@~3.0.2: + version "3.0.8" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1" + integrity sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q== + dependencies: + brace-expansion "^1.1.7" + +minimist-options@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + +minimist@^1.2.0, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-fetch@^1.3.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6" + integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== + dependencies: + minipass "^3.1.0" + minipass-sized "^1.0.3" + minizlib "^2.0.0" + optionalDependencies: + encoding "^0.1.12" + +minipass-fetch@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz#95560b50c472d81a3bc76f20ede80eaed76d8add" + integrity sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA== + dependencies: + minipass "^3.1.6" + minipass-sized "^1.0.3" + minizlib "^2.1.2" + optionalDependencies: + encoding "^0.1.13" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + dependencies: + minipass "^3.0.0" + +minipass-sized@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" + integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== + dependencies: + minipass "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3, minipass@^3.1.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +minipass@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.0.tgz#4bf124d8c87c14e99846f9a27c3219d956998c0e" + integrity sha512-ExlilAIS7zJ2EWUMaVXi14H+FnZ18kr17kFkGemMqBx6jW0m8P6XfqwYVPEG53ENlgsED+alVP9ZxC3JzkK23Q== + +minizlib@^2.0.0, minizlib@^2.1.1, minizlib@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mkdirp@^1.0.3, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.0.0, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +nan@^2.17.0: + version "2.17.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" + integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== + +nanoid@^3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" + integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +negotiator@^0.6.2, negotiator@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +next@13.1.7-canary.21: + version "13.1.7-canary.21" + resolved "https://registry.yarnpkg.com/next/-/next-13.1.7-canary.21.tgz#eb795fe5c3d2393394cb67c3623f2a8db07a9e9d" + integrity sha512-uuPJG7XESnr5xupNumU61udF2ApiH+MP7Cc7CfL1zEzhqJGIEscI4BZZcv3QTSPgy9c3CNJoxuYxaa1DQ8tzmQ== + dependencies: + "@next/env" "13.1.7-canary.21" + "@swc/helpers" "0.4.14" + caniuse-lite "^1.0.30001406" + postcss "8.4.14" + styled-jsx "5.1.1" + optionalDependencies: + "@next/swc-android-arm-eabi" "13.1.7-canary.21" + "@next/swc-android-arm64" "13.1.7-canary.21" + "@next/swc-darwin-arm64" "13.1.7-canary.21" + "@next/swc-darwin-x64" "13.1.7-canary.21" + "@next/swc-freebsd-x64" "13.1.7-canary.21" + "@next/swc-linux-arm-gnueabihf" "13.1.7-canary.21" + "@next/swc-linux-arm64-gnu" "13.1.7-canary.21" + "@next/swc-linux-arm64-musl" "13.1.7-canary.21" + "@next/swc-linux-x64-gnu" "13.1.7-canary.21" + "@next/swc-linux-x64-musl" "13.1.7-canary.21" + "@next/swc-win32-arm64-msvc" "13.1.7-canary.21" + "@next/swc-win32-ia32-msvc" "13.1.7-canary.21" + "@next/swc-win32-x64-msvc" "13.1.7-canary.21" + +node-gyp@^8.4.1: + version "8.4.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.1.tgz#3d49308fc31f768180957d6b5746845fbd429937" + integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.6" + make-fetch-happen "^9.1.0" + nopt "^5.0.0" + npmlog "^6.0.0" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.2" + which "^2.0.2" + +node-releases@^2.0.8: + version "2.0.10" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" + integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== + +node-sass@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-8.0.0.tgz#c80d52148db0ce88610bcf1e1d112027393c13e1" + integrity sha512-jPzqCF2/e6JXw6r3VxfIqYc8tKQdkj5Z/BDATYyG6FL6b/LuYBNFGFVhus0mthcWifHm/JzBpKAd+3eXsWeK/A== + dependencies: + async-foreach "^0.1.3" + chalk "^4.1.2" + cross-spawn "^7.0.3" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + lodash "^4.17.15" + make-fetch-happen "^10.0.4" + meow "^9.0.0" + nan "^2.17.0" + node-gyp "^8.4.1" + sass-graph "^4.0.1" + stdout-stream "^1.4.0" + "true-case-path" "^2.2.1" + +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +npmlog@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" + integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== + dependencies: + are-we-there-yet "^3.0.0" + console-control-strings "^1.1.0" + gauge "^4.0.3" + set-blocking "^2.0.0" + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.12.2, object-inspect@^1.9.0: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +object-is@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.3, object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.entries@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23" + integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.fromentries@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" + integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.hasown@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" + integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== + dependencies: + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.values@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" + integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +open@^8.4.0: + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@8.4.14: + version "8.4.14" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" + integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +postcss@^8.4.21: + version "8.4.21" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" + integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier@^2.8.4: + version "2.8.4" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" + integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== + +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" + integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== + dependencies: + err-code "^2.0.2" + retry "^0.12.0" + +prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +punycode@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== + +react-dom@18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.0" + +react-is@^16.13.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-katex@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/react-katex/-/react-katex-3.0.1.tgz#262b44f49c5fa727f1d13cbab595f791318e5083" + integrity sha512-wIUW1fU5dHlkKvq4POfDkHruQsYp3fM8xNb/jnc8dnQ+nNCnaj0sx5pw7E6UyuEdLRyFKK0HZjmXBo+AtXXy0A== + dependencies: + katex "^0.16.0" + +react@18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + dependencies: + loose-envify "^1.1.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +readable-stream@^2.0.1: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +regenerator-runtime@^0.13.11: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +regexp.prototype.flags@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + +regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.10.0, resolve@^1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.4: + version "2.0.0-next.4" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" + integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + +"safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sass-graph@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-4.0.1.tgz#2ff8ca477224d694055bf4093f414cf6cfad1d2e" + integrity sha512-5YCfmGBmxoIRYHnKK2AKzrAkCoQ8ozO+iumT8K4tXJXRVCPf+7s1/9KxTSW3Rbvf+7Y7b4FR3mWyLnQr3PHocA== + dependencies: + glob "^7.0.0" + lodash "^4.17.11" + scss-tokenizer "^0.4.3" + yargs "^17.2.1" + +sass@^1.58.3: + version "1.58.3" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.58.3.tgz#2348cc052061ba4f00243a208b09c40e031f270d" + integrity sha512-Q7RaEtYf6BflYrQ+buPudKR26/lH+10EmO9bBqbmPh/KeLqv8bjpTNqxe71ocONqXq+jYiCbpPUmQMS+JJPk4A== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== + dependencies: + loose-envify "^1.1.0" + +scss-tokenizer@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.4.3.tgz#1058400ee7d814d71049c29923d2b25e61dc026c" + integrity sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw== + dependencies: + js-base64 "^2.4.9" + source-map "^0.7.3" + +"semver@2 || 3 || 4 || 5": + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + +smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +socks-proxy-agent@^6.0.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz#2687a31f9d7185e38d530bef1944fe1f1496d6ce" + integrity sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ== + dependencies: + agent-base "^6.0.2" + debug "^4.3.3" + socks "^2.6.2" + +socks-proxy-agent@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6" + integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== + dependencies: + agent-base "^6.0.2" + debug "^4.3.3" + socks "^2.6.2" + +socks@^2.6.2: + version "2.7.1" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" + integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== + dependencies: + ip "^2.0.0" + smart-buffer "^4.2.0" + +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map@^0.7.3: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.12" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779" + integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== + +ssri@^8.0.0, ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== + dependencies: + minipass "^3.1.1" + +ssri@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" + integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== + dependencies: + minipass "^3.1.1" + +stdout-stream@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" + integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA== + dependencies: + readable-stream "^2.0.1" + +stop-iteration-iterator@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" + integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + dependencies: + internal-slot "^1.0.4" + +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string.prototype.matchall@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3" + integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.4.3" + side-channel "^1.0.4" + +string.prototype.trimend@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trimstart@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +styled-jsx@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.1.tgz#839a1c3aaacc4e735fed0781b8619ea5d0009d1f" + integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw== + dependencies: + client-only "0.0.1" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +synckit@^0.8.4: + version "0.8.5" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.5.tgz#b7f4358f9bb559437f9f167eb6bc46b3c9818fa3" + integrity sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q== + dependencies: + "@pkgr/utils" "^2.3.1" + tslib "^2.5.0" + +tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +tar@^6.0.2, tar@^6.1.11, tar@^6.1.2: + version "6.1.13" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.13.tgz#46e22529000f612180601a6fe0680e7da508847b" + integrity sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^4.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +tiny-glob@^0.2.9: + version "0.2.9" + resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.9.tgz#2212d441ac17928033b110f8b3640683129d31e2" + integrity sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg== + dependencies: + globalyzer "0.1.0" + globrex "^0.1.2" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== + +"true-case-path@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-2.2.1.tgz#c5bf04a5bbec3fd118be4084461b3a27c4d796bf" + integrity sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q== + +tsconfig-paths@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" + integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.4.0, tslib@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + +typescript@4.9.5: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-filename@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2" + integrity sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A== + dependencies: + unique-slug "^3.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +unique-slug@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9" + integrity sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w== + dependencies: + imurmurhash "^0.1.4" + +update-browserslist-db@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +use-sync-external-store@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" + integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-collection@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" + integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== + dependencies: + is-map "^2.0.1" + is-set "^2.0.1" + is-weakmap "^2.0.1" + is-weakset "^2.0.1" + +which-typed-array@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" + integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.10" + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^17.2.1: + version "17.7.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.1.tgz#34a77645201d1a8fc5213ace787c220eabbd0967" + integrity sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +zustand@^4.3.3: + version "4.3.3" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.3.3.tgz#c9113499074dde2d6d99c1b5f591e9329572c224" + integrity sha512-x2jXq8S0kfLGNwGh87nhRfEc2eZy37tSatpSoSIN+O6HIaBhgQHSONV/F9VNrNcBcKQu/E80K1DeHDYQC/zCrQ== + dependencies: + use-sync-external-store "1.2.0"