diff --git a/Dockerfile b/Dockerfile index 6691e24..8422bb0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,6 +10,10 @@ COPY Webservice Webservice COPY public public COPY data data +RUN sed -i "s/DATE_TO_BE_REPLACED/$(date +%s)/" public/index.html +RUN sed -i "s/COMMIT_TO_BE_REPLACED/GitHub: $(git ls-remote https://github.com/H4CK3R-01/Projektmanagement-Game refs/heads/main | awk '{print $1;}' | cut -c1-7)/" public/index.html +RUN sed -i "s/COMMIT_LINK_TO_BE_REPLACED/https\:\/\/github.com\/H4CK3R-01\/Projektmanagement-Game\/commit\/$(git ls-remote https://github.com/H4CK3R-01/Projektmanagement-Game refs/heads/main | awk '{print $1;}')/" public/index.html + EXPOSE 5000 CMD [ "node", "Webservice/server.js" ] diff --git a/README.md b/README.md index 5c7d1c9..7b521f8 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,46 @@ # Projektmanagement Game ## Docker - ### Build - ``` docker build Projektmanagement-Game/ -t pm-game ``` ### Deploy - ``` docker run -d -p 80:5000 pm-game ``` ### Check if it works - Open `http://127.0.0.1` in your Browser + ## Without docker +### Install dependencies +``` +npm install +``` + +### (Optional) Use credentials for monitoring +Set environment variables `WEBSOCKET_MONITOR_USERNAME` and `WEBSOCKET_MONITOR_PASSWORD` + +`WEBSOCKET_MONITOR_USERNAME`: Username + +`WEBSOCKET_MONITOR_PASDSWORD`: bcrypt hashed password. Generate with +``` +node +> require("bcrypt").hashSync("", 10) +``` + +Linux & MacOS: `export NAME="VALUE"` + +Windows: `set NAME="VALUE"` + ### Run - ``` node Webservice/server.js ``` ### Check if it works - Open `http://127.0.0.1:5000` in your Browser \ No newline at end of file diff --git a/Webservice/mobileHandler.js b/Webservice/mobileHandler.js new file mode 100644 index 0000000..79a9890 --- /dev/null +++ b/Webservice/mobileHandler.js @@ -0,0 +1,11 @@ +function isMobile() { + let mobileDeviceIndicator = 0; + if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) { + mobileDeviceIndicator = 1; + } + /* + let hasTouchscreen = 'ontouchstart' in window; + alert(hasTouchscreen ? 'has touchscreen' : 'doesn\'t have touchscreen'); + */ +} + diff --git a/Webservice/server.js b/Webservice/server.js index e4ce7e3..1fb40ac 100644 --- a/Webservice/server.js +++ b/Webservice/server.js @@ -1,10 +1,11 @@ -let express = require('express'); -let fs = require('fs'); -let app = express(); -let server = require('http').createServer(app); -let {Server} = require("socket.io"); -let io = new Server(server); -let cards = JSON.parse(fs.readFileSync(__dirname + '/../data/cards.json')); +const express = require('express'); +const fs = require('fs'); +const {instrument} = require("@socket.io/admin-ui"); +const app = express(); +const server = require('http').createServer(app); +const {Server} = require("socket.io"); +const io = new Server(server); +let cards = JSON.parse(fs.readFileSync(__dirname + '/../data/fragen_10_06_21_final_new_format.json')); let gameState = { players: [], @@ -18,10 +19,28 @@ server.listen(port, function () { generate_log_message("MAIN", "Server", 'RUNNING', "PORT " + port); }); +// Monitor websockets +if (process.env.WEBSOCKET_MONITOR_USERNAME && process.env.WEBSOCKET_MONITOR_PASSWORD) { + instrument(io, { + auth: { + type: "basic", + username: process.env.WEBSOCKET_MONITOR_USERNAME, + password: process.env.WEBSOCKET_MONITOR_PASSWORD + }, + serverId: `${require("os").hostname()}#${process.pid}` + }); +} else { + instrument(io, { + auth: false, + serverId: `${require("os").hostname()}#${process.pid}` + }); +} +// Serve static files (html, css, js) app.use(express.static(__dirname + '/../public')); +// Websockets io.on('connection', socket => { let addedUser = false; @@ -142,7 +161,6 @@ function getRandomCard(difficulty) { let filtered_cards = cards.filter(card => { return card.difficulty === difficulty; }); - return shuffleAnswers(filtered_cards[Math.floor(Math.random() * filtered_cards.length)]); } diff --git a/data/cards.json b/data/cards.json deleted file mode 100644 index 726d93b..0000000 --- a/data/cards.json +++ /dev/null @@ -1,71 +0,0 @@ -[ - { - "id": 1, - "difficulty": 1, - "question": "Was?", - "answers": [ - { - "text": "A", - "status": false - }, - { - "text": "B", - "status": true - }, - { - "text": "C", - "status": false - }, - { - "text": "D", - "status": false - } - ] - }, - { - "id": 2, - "difficulty": 2, - "question": "Wie?", - "answers": [ - { - "text": "A", - "status": false - }, - { - "text": "B", - "status": true - }, - { - "text": "C", - "status": false - }, - { - "text": "D", - "status": false - } - ] - }, - { - "id": 3, - "difficulty": 3, - "question": "Wo?", - "answers": [ - { - "text": "A", - "status": false - }, - { - "text": "B", - "status": true - }, - { - "text": "C", - "status": false - }, - { - "text": "D", - "status": false - } - ] - } -] \ No newline at end of file diff --git a/data/fragen_10_06_21_final.json b/data/fragen_10_06_21_final.json new file mode 100644 index 0000000..53ceec6 --- /dev/null +++ b/data/fragen_10_06_21_final.json @@ -0,0 +1,1052 @@ +[ + { + "id": "1", + "difficulty": "1", + "question": "Woher stammt das Wort Budget?", + "key": "C", + "A": "Finanzen (chin)", + "B": "Geld-Plan (griech)", + "C": "Reisesack (franz)", + "D": "großes Geschäft (lat)" + }, + { + "id": "2", + "difficulty": "1", + "question": "Was ist das Budget in der Betriebswirtschaftslehre?", + "key": "B", + "A": "Rekursiver Finanzplan", + "B": "Kurzfristiger Finanzplan", + "C": "Langfristiger Finanzplan", + "D": "Allokierter Finanzplan" + }, + { + "id": "3", + "difficulty": "1", + "question": "Was ist keine Möglichkeit ein Event lukrativ zu finanzieren?", + "key": "C", + "A": "Werbepartner", + "B": "Investoren", + "C": "Durch Familie", + "D": "Karten-verkäufe" + }, + { + "id": "4", + "difficulty": "1", + "question": "Was passiert vor Veröffentlichung eines Budgets?", + "key": "A", + "A": "betriebswirtschaftlicher Finanzplanungsprozess", + "B": "volkwirtschaftlicher Finanzplanungsprozess", + "C": "Unternehmens Zukunftsplanung", + "D": "Start eines neuen Projekts" + }, + { + "id": "5", + "difficulty": "1", + "question": "Was gehört nicht direkt zum Finanzmanagement? ", + "key": "D", + "A": "Budgeteinteilung", + "B": "Erstellen eines Finanzplans", + "C": "Finanzierungspläne mit der Bank", + "D": "Das Ordern von Waren" + }, + { + "id": "6", + "difficulty": "1", + "question": "Was kann in einem Budget nicht enthalten sein?", + "key": "C", + "A": "Geld", + "B": "Ressourcen", + "C": "Zeit", + "D": "Personalkosten" + }, + { + "id": "7", + "difficulty": "1", + "question": "Für was der folgenden Dinge ist normalerweise kein Budget geplant?", + "key": "D", + "A": "Unternehmen", + "B": "Abteilungen", + "C": "Projekte", + "D": "Hausschuhe" + }, + { + "id": "8", + "difficulty": "2", + "question": "Ein Getränkemarkt will neue Kunden anlocken und plant dafür ein Budget ein. Welcher Fall sollte Eintreten?", + "key": "A", + "A": "Durch die Aktion sollten mindestens die Ausgaben gedeckt sein", + "B": "Durch Angebotspreise fallen die Einnahmen", + "C": "Durch Angebotspreise wurden keine neuen Stammkunden gewonnen", + "D": "Das Budget wurde wegen eines Notfalls anderweitig verwendet" + }, + { + "id": "9", + "difficulty": "2", + "question": "Bei dem Bau eines neuen Hauses fallen Kosten plötzlich viel höher aus. Woran kann das liegen?", + "key": "B", + "A": "Wintereinbruch", + "B": "Steigende Ressourcenkosten", + "C": "Regen", + "D": "Stromausfall" + }, + { + "id": "10", + "difficulty": "2", + "question": "Was ist kein Wirtschaftssubjekt das Budgetiert werden kann?", + "key": "A", + "A": "Bank", + "B": "Haushalt", + "C": "Unternehmen", + "D": "Staat" + }, + { + "id": "11", + "difficulty": "2", + "question": "Was für Funktionen sollte ein Budget nicht erfüllen?", + "key": "D", + "A": "Motivationsfunktion", + "B": "Prognosefunktion", + "C": "Vorgabefunktion", + "D": "Analysefunktion" + }, + { + "id": "12", + "difficulty": "2", + "question": "Ein Buchhandel erstellt ein Liquiditätsrisiko. Woraus besteht dieses?", + "key": "A", + "A": "Vergleich erwarteter Kosten und Ausgaben", + "B": "Vergleich aktueller Kosten und Ausgaben", + "C": "Ein Buchhandel muss dies nicht erstellen", + "D": "Vergleich des Habens mit den Ausgaben" + }, + { + "id": "13", + "difficulty": "2", + "question": "Die Osterried GmbH erstellt eine Finanzwirtschaftliche Analyse. Was ist keine Phase davon?", + "key": "B", + "A": "Vorbereitungsphase", + "B": "Korrekturphase", + "C": "Bewertungsphase", + "D": "Steuerungsphase" + }, + { + "id": "14", + "difficulty": "2", + "question": "Ein Bäcker möchte eine neue Filiale eröffnen. Wie sollte er das Budget einteilen?", + "key": "B", + "A": "Das gesamte Budget muss den Bau tragen", + "B": "Das Budget darf nur für die Filiale verwendet werden und ist zeitlich beschränkt", + "C": "Das Budget ist nicht wichtig und kann nachträglich erhöht werden", + "D": "Die bestehenden Filialen werden das schon tragen" + }, + { + "id": "15", + "difficulty": "3", + "question": "Wie viel sollten sie im Jahr 2021 für eine kWh Strom in das Budget einplanen?", + "key": "A", + "A": "30 Cent", + "B": "10 Cent", + "C": "70 Cent", + "D": "1 Euro" + }, + { + "id": "16", + "difficulty": "3", + "question": "Welche Arbeiter sind im Preis-Leistungs Verhältnis am wichtigsten für ein Projekt?", + "key": "B", + "A": "Manager", + "B": "Helfer für alles", + "C": "Buchhalter", + "D": "Barkeeper" + }, + { + "id": "17", + "difficulty": "3", + "question": "Lena fragt sich wie sie am besten ihr Event Finanzieren kann. Was der folgenden Antworten ist keine Finanzierungsart?", + "key": "D", + "A": "Beteiligungsfinanzierung", + "B": "Außenfinanzierung", + "C": "Durch Rückstellungen", + "D": "Cylingfinanzierung" + }, + { + "id": "18", + "difficulty": "3", + "question": "Welche der folgenden Budgetierungsarten gibt es nicht?", + "key": "C", + "A": "Retrograde Budgetierung", + "B": "Progressive Budgetierung", + "C": "Das Aufwärtsstromverfahren", + "D": "Das Gegenstromverfahren" + }, + { + "id": "19", + "difficulty": "3", + "question": "Ein Kiosk erstellt eine traditionelle Budgetierung in 10 Schritten. Was ist kein Teil davon?", + "key": "D", + "A": "Erstellen eines Gesamtberichts", + "B": "Gab es signifikante Änderungen gegenüber dem Plan", + "C": "Man vergleicht die Top-Down und Bottom-Up Vorstellung", + "D": "Die Mitarbeiter schlagen ein neues Budget für das nächste Quartal vor" + }, + { + "id": "20", + "difficulty": "3", + "question": "Was für eine Budgetierungsart gibt es nicht?", + "key": "A", + "A": "Moderne Budgetierung", + "B": "Traditionelle Budgetierung", + "C": "Better Budgeting", + "D": "Zero-Base-Budgeting" + }, + { + "id": "21", + "difficulty": "3", + "question": "Wie viel sollten sie im Jahr 2021 für eine Kubikmeter Frischwasser in das Budget einplanen?", + "key": "B", + "A": "1 €", + "B": "2 €", + "C": "3 €", + "D": "4 €" + }, + { + "id": "22", + "difficulty": "1", + "question": "Auf was muss beim Wasser nicht geachtet werden?", + "key": "B", + "A": "Es muss sauber sein", + "B": "Es muss gut schmecken", + "C": "Es muss gut angeschlossen sein", + "D": "Es muss gut verfügbar sein" + }, + { + "id": "23", + "difficulty": "1", + "question": "Was gehört nicht zum Ressourcenmanagement?", + "key": "D", + "A": "Nahrungsmittel", + "B": "Wasser und Strom", + "C": "Zelte und Sanitäranlagen", + "D": "Die Finanzen" + }, + { + "id": "24", + "difficulty": "1", + "question": "Auf was muss beim Strom nicht geachtet werden?", + "key": "A", + "A": "Er muss ästhetisch dargestellt sein", + "B": "Er muss sicher und gut verkabelt sein", + "C": "Auf die Spannung", + "D": "Er muss an den vorhergesehenen Orten verfügbar sein" + }, + { + "id": "25", + "difficulty": "1", + "question": "Was gehört nicht zum Ressourcenmanagement eines Festes?", + "key": "C", + "A": "Essen und Trinken", + "B": "Biertische", + "C": "Die Organisation des Aufbaus der Ressourcen", + "D": "Zelte" + }, + { + "id": "26", + "difficulty": "1", + "question": "Wie viele Dimensionen des Ressourcenmanagements gibt es?", + "key": "B", + "A": "2", + "B": "3", + "C": "5", + "D": "4" + }, + { + "id": "27", + "difficulty": "1", + "question": "Was ist die Nettokapazität?", + "key": "A", + "A": "Mitarbeiter stehen nie mit 100% ihrer Kapazität zur Verfügung", + "B": "Die benötigten Finanzen sind unklar", + "C": "Das was die Mitarbeiter am Ende verdienen", + "D": "Die maximale Anzahl an Mitarbeitern, die zur Verfügung stehen" + }, + { + "id": "28", + "difficulty": "1", + "question": "Wer trifft häufig ad-hoc Entscheidungen über Projekte und Mitarbeiterallokationen?", + "key": "C", + "A": "Die Mitarbeiter", + "B": "Die Besucher des Events", + "C": "Die Führungskräfte", + "D": "Die Lieferanten" + }, + { + "id": "29", + "difficulty": "2", + "question": "Wie heißt keine der Dimensionen im Ressourcenmanagement?", + "key": "D", + "A": "Strategisch", + "B": "Taktisch", + "C": "Operativ", + "D": "Konstruktiv" + }, + { + "id": "30", + "difficulty": "2", + "question": "Wo tritt das kommunale Ressourcenmanagement auf?", + "key": "A", + "A": "In Städten und Kommunen", + "B": "Bei Festivals", + "C": "Bei Messen", + "D": "Bei privaten Geburtstagspartys" + }, + { + "id": "31", + "difficulty": "2", + "question": "Was ist kein direkter Vorteil des Ressourcenmanagements?", + "key": "B", + "A": "Vermeidet unvorhergesehene Störungen", + "B": "Man spart Geld", + "C": "Schafft Transparenz", + "D": "Misst Effizienz" + }, + { + "id": "32", + "difficulty": "2", + "question": "Was ist die Ressourcenzuteilung?", + "key": "C", + "A": "Der Prozess der Anschaffung der Ressourcen", + "B": "Der Prozess der Verwendung der Ressourcen", + "C": "Der Prozess, in welchem die zur Verfügung stehenden Ressourcen auf die effizienteste Art und Weise verteilt werden", + "D": "Der Prozess, bei dem man sich alle nötigen Ressourcen anschaut und diese nach Qualität sortiert" + }, + { + "id": "33", + "difficulty": "2", + "question": "Was versteht man unter dem Ressourcenabgleich?", + "key": "A", + "A": "Nicht voll ausgelastete oder ineffizient genutzten Ressourcen zu entdecken und zu korrigieren", + "B": "Ressourcen vergleichen und nach Qualität ordnen", + "C": "Die vorhandenen Ressourcen mit Ressourcen aus dem Markt abgleichen und, falls nötig, diese ersetzten", + "D": "Die Überprüfung, ob genug Ressourcen zur Verfügung stehen" + }, + { + "id": "34", + "difficulty": "2", + "question": "Was ist die Ressourcenprognose?", + "key": "D", + "A": "Die Vorhersage, ob die Ressourcen genutzt werden können", + "B": "Die Prognose die vorhersagt, dass bestimmte Ressourcen nicht rechtzeitig geliefert werden", + "C": "Die Vermutung auf die Lebenszeit der Ressourcen", + "D": "Die Vorhersage zukünftiger Ressourcenanforderungen" + }, + { + "id": "35", + "difficulty": "2", + "question": "Was gehört nicht zu den Ressourcen, die es zu managen gilt?", + "key": "B", + "A": "Das Personal", + "B": "Der Zeitliche Ablauf des Projekts", + "C": "Sämtliche Räumlichkeiten", + "D": "Nahrungsmittel" + }, + { + "id": "36", + "difficulty": "3", + "question": "Ein wütender Besucher des Events, dessen Ressourcen du gemanagte hast, kommt zu dir und beschwert sich darüber, dass sein Fleisch nicht ganz so war, wie er es wollte.\r\nWar es dein Fehler?", + "key": "B", + "A": "Ja, da die Zubereitung des Essens in deinen Zuständigkeitsbereich fällt", + "B": "Nein, da der “Koch” dafür verantwortlich ist", + "C": "Nein, da der Besucher nicht über die Qualität des Essens entscheiden darf", + "D": "Ja, weil du immer an Allem schuld bist" + }, + { + "id": "37", + "difficulty": "3", + "question": "Was ist kein Teil des kommunalen Ressourcenmanagements?", + "key": "A", + "A": "Bespaßung", + "B": "Wohnen", + "C": "Gesundheitswirtschaft", + "D": "Fachkräftegewinnung" + }, + { + "id": "38", + "difficulty": "3", + "question": "In deinem Projekt sind bestimmte Mitarbeiter auch in anderen Projekten mit Abhängigkeiten allokiert. Was wird jetzt benötigt?", + "key": "D", + "A": "Die sofortige Freistellung der Mitarbeiter aus den anderen Projekten", + "B": "Mehr Mitarbeiter", + "C": "Ein erweitertes Projektmanagement", + "D": "Multiprojektmanagement" + }, + { + "id": "39", + "difficulty": "3", + "question": "Um dein Projekt erfolgreich abschließen zu können benötigst du eine erfolgreiche Planung. Hierfür gibt es verschiedene Möglichkeiten, die Planung anzugehen. Welche ist keine gute Möglichkeit?", + "key": "C", + "A": "Taktische Ressourcenplanung", + "B": "Strategische Kapazitätenplanung", + "C": "Konstruktive Kapazitäts - und Ressourcenplanung", + "D": "Operative Ressourcenplanung" + }, + { + "id": "40", + "difficulty": "3", + "question": "Kapazitätenplanung muss nicht schwer sein, denn es gibt ein simples 4 Schritte System. Welcher der folgenden Schritte ist falsch?", + "key": "D", + "A": "Schritt 1: Etablieren Sie die notwendigen Prozesse mit den richtigen Personen", + "B": "Schritt 2: Vollständige und aktualisierte Projektdaten", + "C": "Schritt 3: Tatsächlich zur Verfügung stehende Kapazitäten bestimmen", + "D": "Schritt 4: Alles nochmals mit der Projektleitung abstimmen und, falls nötig, korrigieren" + }, + { + "id": "41", + "difficulty": "3", + "question": "Oft kommt es vor, dass man seine Stakeholder überzeugen muss. Hierbei kann es sich um komplett verschiedene Personen handeln. Aber wer wird nie ein Stakeholder sein?", + "key": "A", + "A": "Aktionäre", + "B": "Entscheider", + "C": "Teamleiter", + "D": "Projektleiter" + }, + { + "id": "42", + "difficulty": "3", + "question": "Du bist in der Endphase der Organisation der Ressourcen und du merkst, dass das Budget nicht ausreicht. Was machst du in der jetzt stressigen Situation?", + "key": "C", + "A": "Dein Problem der Projektleitung melden. Sie werden sich schon darum kümmern", + "B": "Einfach normal weitermachen. Wenn das Budget nicht reicht, ist es ja nicht dein Problem", + "C": "Dich umgehend mit dem Finanzmanager und dem Projektleiterteam auseinandersetzten und zu einer Lösung finden", + "D": "Eine Notsituation ausrufen und allen mitteilen, dass das Projekt vermutlich nicht funktionieren wird" + }, + { + "id": "43", + "difficulty": "1", + "question": "In Netzplänen gibt es die Felder FAZ, FEZ, SAZ und SEZ. Wofür stehen die Abkürzungen?", + "key": "D", + "A": "Fester Anfangszeitpunkt, Fester Endzeitpunkt, Spekulativer Anfangszeitpunkt und Spekulativer Endzeitpunkt", + "B": "Feste Arbeitszeit, Fester Endzeitpunkt, Sicheres Aufgabenziel und Soll-Endzustand", + "C": "Frühester Anfangszeitpunkt, Frühester Endzeitpunkt, Spekulativer Anfangszeitpunkt und Spekulativer Endzeitpunkt", + "D": "Frühester Anfangszeitpunkt, Frühester Endzeitpunkt, Spätester Anfangszeitpunkt und Spätester Endzeitpunkt" + }, + { + "id": "44", + "difficulty": "2", + "question": "Tom erstellt während seiner Projektplanung einen Netzplan. Welcher ist keiner der Gründe, warum er dies tut?", + "key": "A", + "A": "Der Netzplan zeigt ihm, welche Aufgaben noch optimiert werden müssen", + "B": "Er will die Reihenfolge der nötigen Arbeitsschritte übersichtlich darstellen", + "C": "Er kann daraus ablesen, welche Bedingungen erfüllt sein müssen, um eine bestimmte Aufgabe anzufangen", + "D": "Der Netzplan liefert ihm eine gute Einschätzung dafür, wie lange sein Projekt dauern wird" + }, + { + "id": "45", + "difficulty": "3", + "question": "Welche Schritte werden benötigt, um einen Netzplan zu erstellen?", + "key": "B", + "A": "Projektstrukturplan, Ereignisplanung, Sequenzplanung, Zeitplanung", + "B": "Projektstrukturplan, Vorgangsliste, Ablaufplanung, Zeitplanung", + "C": "Gantt-Diagramm, Vorgangsliste, Aufgabenplanung, Zeitplanung", + "D": "Aufgabenplanung, Ablaufplanung, Gantt-Diagramm, Zeitplanung" + }, + { + "id": "46", + "difficulty": "1", + "question": "Richtig oder falsch? In einer Vorgangsliste dürfen nur die Vorgangsbezeichnung, die Vorgangsnummer und die Vorgangsdauer aufgelistet werden.", + "key": "B", + "A": "Richtig, denn die Vorgangsliste muss so knapp wie möglich gehalten werden", + "B": "Falsch, es fehlen noch Vorgänger und Nachfolger jedes Vorgangs", + "C": "Richtig, denn in die Vorgangsliste kommt nur das Nötigste, alles weitere sollte im Netzplan aufgezeigt werden", + "D": "Falsch, es fehlen noch die Verantwortlichen für den Vorgang" + }, + { + "id": "47", + "difficulty": "3", + "question": "Was versteht man unter dem Gesamtpuffer?", + "key": "D", + "A": "Ein alternativer Begriff für die Gesamtdauer des Projektvorgangs", + "B": "Der Zeitraum, in welchem das gesamte Projekt ausgeführt werden muss", + "C": "Die Zeitspanne, die nach der Fertigstellung des Projektes noch bis zum finalen Abgabezeitpunkt bleibt", + "D": "Die Zeitspanne, um die ein Projektvorgang verzögert werden kann, ohne das Ende des Projektes zu verschieben" + }, + { + "id": "48", + "difficulty": "2", + "question": "Wie kann Mia als Projektleiterin den frühesten Endzeitpunkt eines Netzplanknotens berechnen?", + "key": "C", + "A": "Rückwärtsrechnung, der früheste Anfangszeitpunkt des Nachfolgers bestimmt den frühesten Endzeitpunkt des Vorgängers", + "B": "Rückwärtsrechnung, der früheste Endzeitpunkt des Nachfolgers minus seine Vorgangsdauer ergibt den frühesten Endzeitpunkt des Vorgängers", + "C": "Vorwärtsrechnung, der früheste Endzeitpunkt berechnet sich aus dem frühesten Anfangszeitpunkt und der Dauer des gleichen Knotens", + "D": "Trickfrage, Mia ist die Projektleiterin und somit nicht für die Berechnung des Netzplanes verantwortlich" + }, + { + "id": "49", + "difficulty": "2", + "question": "Was ist keine der Eigenschaften des 'Kritischen Pfads'?", + "key": "B", + "A": "Umfasst alle Ereignisse, deren früheste und späteste Ereigniszeitpunkte gleich sind", + "B": "Umfasst nur die Ereignisse, die unbedingt für das Projekt notwendig sind", + "C": "Enthält alle Tätigkeiten, die keine Pufferzeiten erlauben", + "D": "Keine zeitliche Verschiebungsmöglichkeit, wenn das Ende des gesamten Vorhabens unbeeinflusst bleiben soll" + }, + { + "id": "50", + "difficulty": "1", + "question": "Welche Aussage zu Meilensteinen stimmt nicht?", + "key": "B", + "A": "Sie sind Checkpunkte im Projektverlauf, zu denen etwas Elementares für das Projekt erledigt sein muss", + "B": "Es handelt sich dabei um ein Ereignis von beliebiger Dauer", + "C": "Sie sind auch bekannt als K.O.-Kriterien", + "D": "Wird ein Meilenstein verfehlt, kann das ganze Vorhaben auf der Kippe stehen oder muss abgebrochen werden" + }, + { + "id": "51", + "difficulty": "3", + "question": "Ein Auftraggeber erfährt, dass sein Projekt früher fertig sein muss als geplant, leitet diese Information aber nicht an den Projektleiter weiter. Was kann nun passieren?", + "key": "D", + "A": "Der Projektleiter erfährt selber, dass der Abgabetermin vorgerückt ist. Er macht die nötigen Anpassungen", + "B": "Der Auftraggeber hat vermutet, dass das Projekt mit dem bisherigen Stand auch vor der früheren Abgabe fertig sein wird. Seine Annahme stimmte und alles läuft nach Plan", + "C": "Die Fertigstellung des Projektes verzögert sich über den früheren Abgabetermin, weil der Projektleiter davon ausgeht, er hätte noch genügend Zeit", + "D": "Der Auftraggeber greift erst ein, wenn er merkt dass das Projekt nicht rechtzeitig fertig wird. Die Frist wird verpasst" + }, + { + "id": "52", + "difficulty": "2", + "question": "Was ist eher seltener der Grund für ein gescheitertes Projekt?", + "key": "C", + "A": "Nicht genug Kommunikation", + "B": "Falsche Einschätzung des Scopes vom Projekt", + "C": "Eine Materiallieferung wird abgesagt", + "D": "Die Finanzierung wird abgebrochen" + }, + { + "id": "53", + "difficulty": "1", + "question": "Was bereitet Schwierigkeiten für ein Projekt, hat aber eher keinen Einfluss auf die Zeitplanung?", + "key": "A", + "A": "Der Projektleiter wird ausgewechselt", + "B": "Arbeitskräfte fallen aus", + "C": "Einige Bestandteile des Projekts müssen abgeändert werden", + "D": "Eine Frist wird nicht eingehalten" + }, + { + "id": "54", + "difficulty": "1", + "question": "Was ist keine Situation, in welcher die Deadline eines Projektes verschoben werden sollte/könnte?", + "key": "C", + "A": "Der Auftraggeber des Projekts beantragt dies", + "B": "Die Fertigstellung des Projekts ist essenziell, aber es steht bereits fest, dass sie nicht fristgerecht stattfinden kann", + "C": "Es würde die Qualität des Ergebnisses steigern", + "D": "Die Sponsoren des Projekts bitten darum" + }, + { + "id": "55", + "difficulty": "3", + "question": "Welche Aussage über Netzpläne und Gantt-Charts ist richtig?", + "key": "A", + "A": "Mit ihnen kann man gut den Soll-Zustand und den Ist-Zustand des Projekts abgleichen", + "B": "Sie sollten jederzeit an den momentanen Fortschritt des Projekts angepasst werden", + "C": "Jeder Teilbereich eines Projektes führt seinen eigenen Netzplan und Gantt-Chart", + "D": "Beide ergänzen sich gegenseitig und dürfen daher nie alleine auftreten" + }, + { + "id": "56", + "difficulty": "3", + "question": "Erik schiebt die Erstellung eines Netzplans auf, sodass bereits seit zwei Monaten an dem Projekt gearbeitet wurde, bevor dieser fertig ist. Ist das eine gute Entscheidung?", + "key": "A", + "A": "Nein, er riskiert damit, dass sich das Projekt in die Länge zieht, weil die Reihenfolge der Vorgänge nicht optimal festgelegt und der kritische Pfad nicht erkennbar ist", + "B": "Nein, zu Projektmanagement gehört ein Netzplan nun mal dazu und muss so früh wie möglich erstellt werden", + "C": "Ja, denn alle wichtigen Informationen zu den Vorgängen sind schon bekannt, egal wie sie dargestellt werden", + "D": "Ja, er hätte sogar überhaupt keinen Netzplan erstellen sollen, das ist Zeitverschwendung" + }, + { + "id": "57", + "difficulty": "1", + "question": "Welche Information ist nicht auf einem Netzknoten enthalten?", + "key": "D", + "A": "Der Gesamtpuffer", + "B": "FAZ, FEZ, SAZ und SEZ", + "C": "Die Verantwortlichen für die Aufgabe", + "D": "Die ID des Nachfolgers" + }, + { + "id": "58", + "difficulty": "2", + "question": "Was ist auf Gantt-Charts nicht besonders gut erkennbar?", + "key": "B", + "A": "Wie lange Vorgänge dauern", + "B": "Welche Vorgänge voneinander abhängig sind", + "C": "Welche Vorgänge parallel verlaufen", + "D": "Wann Vorgänge beginnen und enden" + }, + { + "id": "59", + "difficulty": "2", + "question": "Was ist auf Netzplänen nicht besonders gut erkennbar?", + "key": "C", + "A": "Wie lange Vorgänge dauern", + "B": "Welche Vorgänge voneinander abhängig sind", + "C": "Welche Vorgänge parallel verlaufen", + "D": "Wann Vorgänge beginnen und enden" + }, + { + "id": "60", + "difficulty": "1", + "question": "Ist es immer die Schuld des Teams, wenn ein Meilenstein nicht rechtzeitig erreicht wird?", + "key": "A", + "A": "Nein, die Deadline eines Meilensteins kann auch falsch gesetzt worden sein", + "B": "Ja, Meilensteine sind immer zu ihren idealen Deadlines gesetzt und sollten somit einfach erreichbar sein", + "C": "Ja, denn Meilensteine können verschoben werden, wenn das Team darum bittet, warum haben sie nicht Bescheid gesagt?", + "D": "Nein, denn jegliche Schuld am Versagen von Projekten wird immer dem Projektleiter zugeschrieben" + }, + { + "id": "61", + "difficulty": "2", + "question": "Was sind die größten Herausforderungen für Projekte?", + "key": "C", + "A": "Auftraggeber", + "B": "Personal", + "C": "Zeit und Kosten", + "D": "Ressourcenplanung" + }, + { + "id": "62", + "difficulty": "3", + "question": "Wie viel Prozent aller Projekte heutzutage dauern länger als geplant?", + "key": "B", + "A": "Etwa 35 %", + "B": "Etwa 50 %", + "C": "Etwa 80 %", + "D": "Etwa 63 %" + }, + { + "id": "63", + "difficulty": "3", + "question": "Wie lautet das Parkinson`sche Gesetz?", + "key": "D", + "A": "Der Aufschub ist ein Dieb der Zeit", + "B": "Planung ersetzt Zufall durch Irrtum", + "C": "Je lächerlicher ein Termin, desto treuer der Versuch, ihn zu halten", + "D": "Arbeit dehnt sich immer genau so lang aus, wie man ihr Zeit zur Erledigung einräumt" + }, + { + "id": "64", + "difficulty": "1", + "question": "Aus wie vielen Ps besteht der Marketing-Mix?", + "key": "A", + "A": "4", + "B": "3", + "C": "7", + "D": "8" + }, + { + "id": "65", + "difficulty": "1", + "question": "Aus wie vielen Ps besteht der erweiterte Marketing-Mix?", + "key": "C", + "A": "4", + "B": "3", + "C": "7", + "D": "8" + }, + { + "id": "66", + "difficulty": "1", + "question": "Du möchtest dein neues Produkt vermarkten. Aus welchem Faktor sollte sich der Preis deines Produktes primär nicht entwickeln?", + "key": "B", + "A": "Analyse der Zielgruppe", + "B": "Vorschlag deines Freundes", + "C": "Analyse deiner Konkurrenz", + "D": "Deine Ausgabekosten" + }, + { + "id": "67", + "difficulty": "1", + "question": "Was versteht man unter Marketingkontrolle?", + "key": "C", + "A": "Die ergebnisorientierte Überprüfung der Maßnahmen des Marketings", + "B": "Die Untersuchung von Stärken und Schwächen des Unternehmens", + "C": "Die Sicherstellung der Kundenzufriedenheit", + "D": "Die Erkennungs- und Identifizierungsphase eines Marketingproblems" + }, + { + "id": "68", + "difficulty": "1", + "question": "Was gehört nicht zu den 4 Marketinginstrumenten?", + "key": "B", + "A": "Produktpolitik", + "B": "Marketingkontrolle", + "C": "Preispolitik", + "D": "Distributionspolitik" + }, + { + "id": "69", + "difficulty": "1", + "question": "Wie viele Phasen gibt es im Produktlebenszyklus?", + "key": "B", + "A": "4", + "B": "5", + "C": "7", + "D": "8" + }, + { + "id": "70", + "difficulty": "1", + "question": "Was gehört zu den Marketinginstrumenten?", + "key": "D", + "A": "Die Wasserfall-Methode", + "B": "Stakeholder Analyse", + "C": "Pflichtenheft", + "D": "Kommunikationspolitik" + }, + { + "id": "71", + "difficulty": "2", + "question": "Der Marketingprozess ist der Kernprozess, der sich auf den Absatz eines Unternehmens konzentriert. Was gehört nicht zum Marketingprozess?", + "key": "D", + "A": "Planung des Marketings", + "B": "Gestaltung des Marketings", + "C": "Marketingkontrolle", + "D": "Die Marktführerschaft" + }, + { + "id": "72", + "difficulty": "2", + "question": "Welche Phase gehört nicht zum Produktlebenszyklus?", + "key": "D", + "A": "Wachstum", + "B": "Reife", + "C": "Sättigung", + "D": "Übersättigung" + }, + { + "id": "73", + "difficulty": "2", + "question": "Dein Freund hat ein Produkt auf den Markt gebracht, doch der Absatz steigt nicht nach gewünschtem Maße. Was empfiehlst du ihm als Meister des Projektmanagements?", + "key": "B", + "A": "Mitarbeiter entlassen", + "B": "Preis senken", + "C": "Produkt vom Markt entfernen", + "D": "Nichts verändern" + }, + { + "id": "74", + "difficulty": "2", + "question": "Dein Unternehmen hat ein Produkt auf den Markt gebracht. Dein Mitarbeiter schlägt vor, Marktforschung zu betreiben. Inwiefern ist dies eine sinnvolle Idee?", + "key": "A", + "A": "Zur Entwicklung einer erfolgreichen Absatzsstrategie", + "B": "Zum Einschätzen des Produktlebenszyklus", + "C": "Zur Umsatzsteigerung durch den Verkauf der gewonnenen Daten", + "D": "Zur Befriedigung der natürlichen Neugier" + }, + { + "id": "75", + "difficulty": "2", + "question": "Die Marktforschung ist ein essenzielles Mittel des Marketings, um an mehr Informationen zu gelangen. Was ist kein primäres Ziel der Marktforschung?", + "key": "A", + "A": "Prognose der politischen Ansichten in einem bestimmten Kundensegment", + "B": "Prognose der Risiken in einem bestimmten Kundensegment", + "C": "Prognose der Chancen in einem bestimmten Kundensegment", + "D": "Prognose des Verhaltens in einem bestimmten Kundensegment" + }, + { + "id": "76", + "difficulty": "2", + "question": "Dein Freund zählt dir folgende Aspekte auf, die nach seiner Ansicht zu Marketing gehören. Was gehört nicht zum Konzept von Marketing?", + "key": "D", + "A": "Die Produkt- und Preisoptimierung", + "B": "Die Beobachtung und Lenkung des Marktes", + "C": "Die Produktpräsentation", + "D": "Die Lieferung der Produktkomponenten" + }, + { + "id": "77", + "difficulty": "2", + "question": "Es gibt unterschiedliche Perspektiven von Qualität. Auf welche Perspektive fokussiert sich speziell das Marketing?", + "key": "B", + "A": "Die rationale Wahrnehmung von Qualität", + "B": "Die emotionale und menschliche Wahrnehmung von Qualität", + "C": "Die transzendente Wahrnehmung von Qualität", + "D": "Die technische Wahrnehmung von Qualität " + }, + { + "id": "78", + "difficulty": "3", + "question": "Was ist zwangsläufig kein Qualität beeinflussender Faktor im Unternehmen?", + "key": "C", + "A": "Die Unterstützung der Willensbildung innerhalb des Unternehmens", + "B": "Die Sammlung an Regeln, Zuständigkeiten und Prozessen, die klären, wie Qualität im Unternehmen erzeugt wird", + "C": "Die Senkung des Preises", + "D": "Die Betrachtung der Anforderungen von zusätzlichen Stakeholdern" + }, + { + "id": "79", + "difficulty": "3", + "question": "Welcher Gegenstand passt am besten als Metapher zum Begriff \"Marketingprozess\"", + "key": "A", + "A": "Blaupause zur Verkaufsförderung eines Unternehmens", + "B": "Föhn zum Wegblasen von potenziellen Risiken", + "C": "Magnet zum Anziehen neuer Mitarbeiter", + "D": "Angel zum Angeln neuer Kunden" + }, + { + "id": "80", + "difficulty": "3", + "question": "Was beinhaltet die aktivitätsorientierte Marketingdefinition?", + "key": "C", + "A": "Die Auffassung, dass Marketing im Kern die bewusste marktorientierte Führung des gesamten Unternehmens ist", + "B": "Die Auffassung, dass Marketing im Kern die Kundenbeziehung aufbaut, stärkt und erhält", + "C": "Die Auffassung, dass Marketing im Kern ein Bündel marktgerichteter Unternehmensgeschehnissen ist", + "D": "Die Auffassung, dass Marketing im Kern eine unternehmensinterne und unternehmensexterne Facette enthält" + }, + { + "id": "81", + "difficulty": "3", + "question": "Was beinhaltet die integrative Marketingdefinition?", + "key": "B", + "A": "Die Auffassung, dass Marketing im Kern die bewusste marktorientierte Führung des gesamten Unternehmens ist", + "B": "Die Auffassung, dass Marketing im Kern eine unternehmensinterne und unternehmensexterne Facette enthält", + "C": "Die Auffassung, dass Marketing im Kern die Kundenbeziehung aufbaut, stärkt und erhält", + "D": "Die Auffassung, dass Marketing im Kern ein Bündel marktgerichteter Unternehmensgeschehnissen ist" + }, + { + "id": "82", + "difficulty": "3", + "question": "Wie macht sich eine defensiven Kommunikationspolitik erkennbar?", + "key": "D", + "A": "Flexible Arbeitszeitmodelle", + "B": "Intensive Kommunikation", + "C": "Direkter Kontakt zwischen Mitarbeitern, Kunden und Lieferanten", + "D": "Die Überwachung der Mitarbeiter über Video" + }, + { + "id": "83", + "difficulty": "3", + "question": "Was ist Marketing aus der Perspektive der unternehmensexternen Facette?", + "key": "C", + "A": "Die Schaffung der Voraussetzungen im Unternehmen für die Durchführung marktbezogener Aktivitäten", + "B": "Die Führung des Unternehmens nach der Leitidee der Marktorientierung", + "C": "Die Durchführung marktbezogener Aktivitäten bezüglich der Produktnachfrager", + "D": "Das marktorientierte Entscheidungsverhalten in der Unternehmung" + }, + { + "id": "84", + "difficulty": "3", + "question": "Die Diversifikation ist unterteilbar in eine horizontale und eine vertikale Diversifikation. Wie ist Ersteres zu verstehen?", + "key": "C", + "A": "Die Aufnahme von Produkten, die zu einer vor- oder nachgelagerten Produktionsstufe gehören", + "B": "Zwischen den alten und den neuen Produkten besteht kein sachlicher Zusammenhang mehr", + "C": "Die Ausweitung des Sortiments um Produkte, die mit den alten Produkten in einem sachlichen Zusammenhang stehen", + "D": "Die Aufnahme von Produkten, die nicht zu einer vor- oder nachgelagerten Produktionsstufe gehören" + }, + { + "id": "85", + "difficulty": "1", + "question": "Was ist keine Eigenschaft eines Projekts?", + "key": "C", + "A": "Ein terminlicher Rahmen  ", + "B": "Planung ", + "C": "Regelmäßige Durchführung", + "D": "Teamarbeit" + }, + { + "id": "86", + "difficulty": "1", + "question": "Was ist der häufigste Grund für das Scheitern von Projekten?", + "key": "A", + "A": "Unklare Zielsetzung", + "B": "Fehlende Motivation", + "C": "Ausfall von Teammitgliedern", + "D": "Zu wenig Fachkenntnisse" + }, + { + "id": "87", + "difficulty": "1", + "question": "Wie sollte bei Uneinigkeit einer gemeinsamen Planung im Team vorgegangen werden?", + "key": "C", + "A": "Abstimmen der Teammitglieder", + "B": "Projektleiter legt Vorgehen einfach fest", + "C": "Diskutieren und im Team Abstimmen", + "D": "Probleme aufschieben und andere Aufgaben vorziehen" + }, + { + "id": "88", + "difficulty": "1", + "question": "Was sind die Bestandteile des magischen Dreiecks?", + "key": "B", + "A": "Planung, Kosten, Leistung", + "B": "Qualität, Zeit, Kosten", + "C": "Zeit, Kosten, Materialaufwand", + "D": "Ergebnis, Kosten, Planung" + }, + { + "id": "89", + "difficulty": "1", + "question": "Was zeichnet einen guten Projektleiter aus?", + "key": "B", + "A": "Lässt keine Kritik zu", + "B": "Delegiert Entscheidungen", + "C": "Plant den größten Teil des Projekts alleine", + "D": "Bestimmt Entscheidungen meistens alleine" + }, + { + "id": "90", + "difficulty": "1", + "question": "Was sind keine Anforderungen an Teammitglieder?", + "key": "C", + "A": "Teamfähigkeit", + "B": "Bereitschaft Kompromisse einzugehen", + "C": "Detaillierte Kenntnisse im Projektmanagement", + "D": "Aktive Mitarbeit am Projekt" + }, + { + "id": "91", + "difficulty": "1", + "question": "Was ist nicht Teil der Projektdurchführung und Projektkontrolle?", + "key": "A", + "A": "Projektstrukturplan", + "B": "Projektberichterstattung", + "C": "Projektdokumentation", + "D": "Qualitätssicherung" + }, + { + "id": "92", + "difficulty": "2", + "question": "Martin ist Projektmanager und legt die Ziele für ein Projekt fest. Wie sollte er die Zielsetzung für sein Projekt dabei wählen?", + "key": "B", + "A": "Selbstständig-Machbar-Akkurat-Richtig-Teamfähig ", + "B": "Spezifisch-Messbar-Aktivierend-Realistisch-Terminiert", + "C": "Selbstständig-Messbar-Abänderlich-Realistisch-Teilbar", + "D": "Systematisch-Monetär- Aktivierend-Richtig-Terminiert" + }, + { + "id": "93", + "difficulty": "2", + "question": "Wie sollte ein Projektleiter bei einer heftigen fachlichen Diskussion vorgehen?", + "key": "D", + "A": "Die entsprechenden Personen ausschließen", + "B": "Die entsprechenden Personen alleine ausdiskutieren lassen", + "C": "Die Diskussion beenden", + "D": "Deine Position deutlich machen aber Niemanden dabei verletzen" + }, + { + "id": "94", + "difficulty": "2", + "question": "Wie sollte der Projektleiter vorgehen wenn eine Aufgabe aufgrund von erhöhtem Aufwand nicht fristgerecht umgesetzt wird?", + "key": "C", + "A": "Die Frist abändern", + "B": "Unterstützung anbieten und den Teammitgliedern klar machen, dass sie schneller arbeiten müssen", + "C": "Unterstützung anbieten und möglicherweise die Fristen neu überdenken", + "D": "Mit Nachdruck auf die Teammitglieder einreden sodass sie schneller arbeiten" + }, + { + "id": "95", + "difficulty": "2", + "question": "Was ist keine Voraussetzung zur Erstellung eines Meilensteinplans?", + "key": "A", + "A": "Genügend Fachkenntnisse um die Einzelheiten des Projekts vollständig zu verstehen", + "B": "Ziele, Inhalte, Start- und Endtermin des Projekts sind definiert", + "C": "Rahmenbedingungen und wichtige Vorgaben", + "D": "Klarheit über Bedeutung des Projektes im Unternehmen" + }, + { + "id": "96", + "difficulty": "2", + "question": "Was ist keine Methode zur Erstellung von Projektstrukturplänen?", + "key": "D", + "A": "Yo-Yo-Verfahren", + "B": "Top-Down-Ansatz", + "C": "Bottom-Up-Ansatz", + "D": "Zeitorientierter Ansatz" + }, + { + "id": "97", + "difficulty": "2", + "question": "Was enthält laut DIN das Projekthandbuch?", + "key": "B", + "A": "Zusammenstellung von Regelungen, Organisation für die Planung und Durchführung von Projekten inklusive deren Effizienz", + "B": "Zusammenstellung von Regelungen, Organisation für die Planung und Durchführung von Projekten", + "C": "Zusammenstellung von Regelungen, Organisation für die Planung und Durchführung von Projekten mit dem dazugehörigen Zeitaufwand", + "D": "Zusammenstellung von Richtlinien, Organisation für die Planung und Durchführung von Projekten" + }, + { + "id": "98", + "difficulty": "2", + "question": "Wie ist die Reihenfolge der Phasen im Projektmanagement", + "key": "D", + "A": "Initiieren, Vorbereiten, Planen, Steuern, Abschließen", + "B": "Planen, Vorbereiten, Initiieren, Steuern, Abschließen", + "C": "Vorbereiten, Planen, Initiieren, Steuern, Abschließen", + "D": "Vorbereiten, Initiieren, Planen, Steuern, Abschließen\r\n" + }, + { + "id": "99", + "difficulty": "3", + "question": "Was ist im Lastenheft nicht enthalten?", + "key": "A", + "A": "Anforderung an Auftragnehmer", + "B": "Anforderungen an die Projektdurchführung", + "C": "Soll-Zustand-Beschreibung", + "D": "Ist-Zustand-Beschreibung" + }, + { + "id": "100", + "difficulty": "3", + "question": "Was ist im Pflichtenheft nicht enthalten?", + "key": "C", + "A": "Exakte Eingrenzung der Zielbestimmungen", + "B": "ABGRENZUNGS-Kriterien welche die Anwendung definitiv nicht beinhalten sollte", + "C": "Exakte Anforderung der SOLL-Kriterien an den Auftragnehmer", + "D": "Unterteilung in MUSS- und WUNSCH-Kriterien" + }, + { + "id": "101", + "difficulty": "3", + "question": "Was ist laut DIN Norm ein Netzplan?", + "key": "B", + "A": "Ein Netzplan ist die tabellarische Darstellung von Abläufen", + "B": "Ein Netzplan ist die graphische oder tabellarische Darstellung von Abläufen und deren Abhängigkeiten", + "C": "Ein Netzplan ist die Festlegung von Aufgabegebieten in graphischer Form", + "D": "Ein Netzplan ist die tabellarische Darstellung von zeitgleichen Abläufen und deren zeitlichen Abhängigkeiten" + }, + { + "id": "102", + "difficulty": "3", + "question": "Was ist keine Gliederung des Projektstrukturplans?", + "key": "B", + "A": "Funktionsorientierte Gliederung", + "B": "Kostenorientierte Gliederung", + "C": "Objektorientierte Gliederung", + "D": "Zeitorientierte Gliederung" + }, + { + "id": "103", + "difficulty": "3", + "question": "Was ist der Bottom-Up-Ansatz?", + "key": "D", + "A": "Ein deduktiver Weg in welchem der PSP durch Zerlegung vom Projekt bis zu den Arbeitspaketen gebildet wird", + "B": "Die Aufteilung der Aufgaben, sodass das Projekt strukturiert von unten aus aufgebaut wird", + "C": "Die Teammitglieder stellen gemeinsam durch dezentrale die Planung das Projekt auf", + "D": "Durch die Ermittlung und Zusammensetzung von Teilaufgaben wird das Projekt zusammengebaut" + }, + { + "id": "104", + "difficulty": "3", + "question": "Was enthält jedes Kästchen im Netzstrukturplan?", + "key": "A", + "A": "Dauer, Gesamtpuffer, frühester Beginn, spätestes Ende", + "B": "Nummer, Name, frühester Beginn, spätestes Ende, Arbeitsgruppe", + "C": "Gesamtpuffer, freier Puffer, Datum, frühester Beginn, spätestes Ende", + "D": "Gesamtpuffer, frühester Beginn, mittlerer Beginn, spätester Beginn, frühestes Ende, mittlerer Beginn, spätestes Ende" + }, + { + "id": "105", + "difficulty": "3", + "question": "Was ist kein Verfahren zur Entscheidungsfindung der Projektauswahl in einem Projektportfolio?", + "key": "D", + "A": "Monetäre Verfahren", + "B": "Strategische Bewertung", + "C": "Mehrdimensionale Betrachtung", + "D": "Kausale Betrachtung" + } +] \ No newline at end of file diff --git a/data/fragen_10_06_21_final_new_format.json b/data/fragen_10_06_21_final_new_format.json new file mode 100644 index 0000000..606067f --- /dev/null +++ b/data/fragen_10_06_21_final_new_format.json @@ -0,0 +1,2417 @@ +[ + { + "id": 1, + "difficulty": 1, + "question": "Woher stammt das Wort Budget?", + "answers": [ + { + "text": "Finanzen (chin)", + "status": false + }, + { + "text": "Geld-Plan (griech)", + "status": false + }, + { + "text": "Reisesack (franz)", + "status": true + }, + { + "text": "großes Geschäft (lat)", + "status": false + } + ] + }, + { + "id": 2, + "difficulty": 1, + "question": "Was ist das Budget in der Betriebswirtschaftslehre?", + "answers": [ + { + "text": "Rekursiver Finanzplan", + "status": false + }, + { + "text": "Kurzfristiger Finanzplan", + "status": true + }, + { + "text": "Langfristiger Finanzplan", + "status": false + }, + { + "text": "Allokierter Finanzplan", + "status": false + } + ] + }, + { + "id": 3, + "difficulty": 1, + "question": "Was ist keine Möglichkeit ein Event lukrativ zu finanzieren?", + "answers": [ + { + "text": "Werbepartner", + "status": false + }, + { + "text": "Investoren", + "status": false + }, + { + "text": "Durch Familie", + "status": true + }, + { + "text": "Karten-verkäufe", + "status": false + } + ] + }, + { + "id": 4, + "difficulty": 1, + "question": "Was passiert vor Veröffentlichung eines Budgets?", + "answers": [ + { + "text": "betriebswirtschaftlicher Finanzplanungsprozess", + "status": true + }, + { + "text": "volkwirtschaftlicher Finanzplanungsprozess", + "status": false + }, + { + "text": "Unternehmens Zukunftsplanung", + "status": false + }, + { + "text": "Start eines neuen Projekts", + "status": false + } + ] + }, + { + "id": 5, + "difficulty": 1, + "question": "Was gehört nicht direkt zum Finanzmanagement? ", + "answers": [ + { + "text": "Budgeteinteilung", + "status": false + }, + { + "text": "Erstellen eines Finanzplans", + "status": false + }, + { + "text": "Finanzierungspläne mit der Bank", + "status": false + }, + { + "text": "Das Ordern von Waren", + "status": true + } + ] + }, + { + "id": 6, + "difficulty": 1, + "question": "Was kann in einem Budget nicht enthalten sein?", + "answers": [ + { + "text": "Geld", + "status": false + }, + { + "text": "Ressourcen", + "status": false + }, + { + "text": "Zeit", + "status": true + }, + { + "text": "Personalkosten", + "status": false + } + ] + }, + { + "id": 7, + "difficulty": 1, + "question": "Für was der folgenden Dinge ist normalerweise kein Budget geplant?", + "answers": [ + { + "text": "Unternehmen", + "status": false + }, + { + "text": "Abteilungen", + "status": false + }, + { + "text": "Projekte", + "status": false + }, + { + "text": "Hausschuhe", + "status": true + } + ] + }, + { + "id": 8, + "difficulty": 2, + "question": "Ein Getränkemarkt will neue Kunden anlocken und plant dafür ein Budget ein. Welcher Fall sollte Eintreten?", + "answers": [ + { + "text": "Durch die Aktion sollten mindestens die Ausgaben gedeckt sein", + "status": true + }, + { + "text": "Durch Angebotspreise fallen die Einnahmen", + "status": false + }, + { + "text": "Durch Angebotspreise wurden keine neuen Stammkunden gewonnen", + "status": false + }, + { + "text": "Das Budget wurde wegen eines Notfalls anderweitig verwendet", + "status": false + } + ] + }, + { + "id": 9, + "difficulty": 2, + "question": "Bei dem Bau eines neuen Hauses fallen Kosten plötzlich viel höher aus. Woran kann das liegen?", + "answers": [ + { + "text": "Wintereinbruch", + "status": false + }, + { + "text": "Steigende Ressourcenkosten", + "status": true + }, + { + "text": "Regen", + "status": false + }, + { + "text": "Stromausfall", + "status": false + } + ] + }, + { + "id": 10, + "difficulty": 2, + "question": "Was ist kein Wirtschaftssubjekt das Budgetiert werden kann?", + "answers": [ + { + "text": "Bank", + "status": true + }, + { + "text": "Haushalt", + "status": false + }, + { + "text": "Unternehmen", + "status": false + }, + { + "text": "Staat", + "status": false + } + ] + }, + { + "id": 11, + "difficulty": 2, + "question": "Was für Funktionen sollte ein Budget nicht erfüllen?", + "answers": [ + { + "text": "Motivationsfunktion", + "status": false + }, + { + "text": "Prognosefunktion", + "status": false + }, + { + "text": "Vorgabefunktion", + "status": false + }, + { + "text": "Analysefunktion", + "status": true + } + ] + }, + { + "id": 12, + "difficulty": 2, + "question": "Ein Buchhandel erstellt ein Liquiditätsrisiko. Woraus besteht dieses?", + "answers": [ + { + "text": "Vergleich erwarteter Kosten und Ausgaben", + "status": true + }, + { + "text": "Vergleich aktueller Kosten und Ausgaben", + "status": false + }, + { + "text": "Ein Buchhandel muss dies nicht erstellen", + "status": false + }, + { + "text": "Vergleich des Habens mit den Ausgaben", + "status": false + } + ] + }, + { + "id": 13, + "difficulty": 2, + "question": "Die Osterried GmbH erstellt eine Finanzwirtschaftliche Analyse. Was ist keine Phase davon?", + "answers": [ + { + "text": "Vorbereitungsphase", + "status": false + }, + { + "text": "Korrekturphase", + "status": true + }, + { + "text": "Bewertungsphase", + "status": false + }, + { + "text": "Steuerungsphase", + "status": false + } + ] + }, + { + "id": 14, + "difficulty": 2, + "question": "Ein Bäcker möchte eine neue Filiale eröffnen. Wie sollte er das Budget einteilen?", + "answers": [ + { + "text": "Das gesamte Budget muss den Bau tragen", + "status": false + }, + { + "text": "Das Budget darf nur für die Filiale verwendet werden und ist zeitlich beschränkt", + "status": true + }, + { + "text": "Das Budget ist nicht wichtig und kann nachträglich erhöht werden", + "status": false + }, + { + "text": "Die bestehenden Filialen werden das schon tragen", + "status": false + } + ] + }, + { + "id": 15, + "difficulty": 3, + "question": "Wie viel sollten sie im Jahr 2021 für eine kWh Strom in das Budget einplanen?", + "answers": [ + { + "text": "30 Cent", + "status": true + }, + { + "text": "10 Cent", + "status": false + }, + { + "text": "70 Cent", + "status": false + }, + { + "text": "1 Euro", + "status": false + } + ] + }, + { + "id": 16, + "difficulty": 3, + "question": "Welche Arbeiter sind im Preis-Leistungs Verhältnis am wichtigsten für ein Projekt?", + "answers": [ + { + "text": "Manager", + "status": false + }, + { + "text": "Helfer für alles", + "status": true + }, + { + "text": "Buchhalter", + "status": false + }, + { + "text": "Barkeeper", + "status": false + } + ] + }, + { + "id": 17, + "difficulty": 3, + "question": "Lena fragt sich wie sie am besten ihr Event Finanzieren kann. Was der folgenden Antworten ist keine Finanzierungsart?", + "answers": [ + { + "text": "Beteiligungsfinanzierung", + "status": false + }, + { + "text": "Außenfinanzierung", + "status": false + }, + { + "text": "Durch Rückstellungen", + "status": false + }, + { + "text": "Cylingfinanzierung", + "status": true + } + ] + }, + { + "id": 18, + "difficulty": 3, + "question": "Welche der folgenden Budgetierungsarten gibt es nicht?", + "answers": [ + { + "text": "Retrograde Budgetierung", + "status": false + }, + { + "text": "Progressive Budgetierung", + "status": false + }, + { + "text": "Das Aufwärtsstromverfahren", + "status": true + }, + { + "text": "Das Gegenstromverfahren", + "status": false + } + ] + }, + { + "id": 19, + "difficulty": 3, + "question": "Ein Kiosk erstellt eine traditionelle Budgetierung in 10 Schritten. Was ist kein Teil davon?", + "answers": [ + { + "text": "Erstellen eines Gesamtberichts", + "status": false + }, + { + "text": "Gab es signifikante Änderungen gegenüber dem Plan", + "status": false + }, + { + "text": "Man vergleicht die Top-Down und Bottom-Up Vorstellung", + "status": false + }, + { + "text": "Die Mitarbeiter schlagen ein neues Budget für das nächste Quartal vor", + "status": true + } + ] + }, + { + "id": 20, + "difficulty": 3, + "question": "Was für eine Budgetierungsart gibt es nicht?", + "answers": [ + { + "text": "Moderne Budgetierung", + "status": true + }, + { + "text": "Traditionelle Budgetierung", + "status": false + }, + { + "text": "Better Budgeting", + "status": false + }, + { + "text": "Zero-Base-Budgeting", + "status": false + } + ] + }, + { + "id": 21, + "difficulty": 3, + "question": "Wie viel sollten sie im Jahr 2021 für eine Kubikmeter Frischwasser in das Budget einplanen?", + "answers": [ + { + "text": "1 €", + "status": false + }, + { + "text": "2 €", + "status": true + }, + { + "text": "3 €", + "status": false + }, + { + "text": "4 €", + "status": false + } + ] + }, + { + "id": 22, + "difficulty": 1, + "question": "Auf was muss beim Wasser nicht geachtet werden?", + "answers": [ + { + "text": "Es muss sauber sein", + "status": false + }, + { + "text": "Es muss gut schmecken", + "status": true + }, + { + "text": "Es muss gut angeschlossen sein", + "status": false + }, + { + "text": "Es muss gut verfügbar sein", + "status": false + } + ] + }, + { + "id": 23, + "difficulty": 1, + "question": "Was gehört nicht zum Ressourcenmanagement?", + "answers": [ + { + "text": "Nahrungsmittel", + "status": false + }, + { + "text": "Wasser und Strom", + "status": false + }, + { + "text": "Zelte und Sanitäranlagen", + "status": false + }, + { + "text": "Die Finanzen", + "status": true + } + ] + }, + { + "id": 24, + "difficulty": 1, + "question": "Auf was muss beim Strom nicht geachtet werden?", + "answers": [ + { + "text": "Er muss ästhetisch dargestellt sein", + "status": true + }, + { + "text": "Er muss sicher und gut verkabelt sein", + "status": false + }, + { + "text": "Auf die Spannung", + "status": false + }, + { + "text": "Er muss an den vorhergesehenen Orten verfügbar sein", + "status": false + } + ] + }, + { + "id": 25, + "difficulty": 1, + "question": "Was gehört nicht zum Ressourcenmanagement eines Festes?", + "answers": [ + { + "text": "Essen und Trinken", + "status": false + }, + { + "text": "Biertische", + "status": false + }, + { + "text": "Die Organisation des Aufbaus der Ressourcen", + "status": true + }, + { + "text": "Zelte", + "status": false + } + ] + }, + { + "id": 26, + "difficulty": 1, + "question": "Wie viele Dimensionen des Ressourcenmanagements gibt es?", + "answers": [ + { + "text": "2", + "status": false + }, + { + "text": "3", + "status": true + }, + { + "text": "5", + "status": false + }, + { + "text": "4", + "status": false + } + ] + }, + { + "id": 27, + "difficulty": 1, + "question": "Was ist die Nettokapazität?", + "answers": [ + { + "text": "Mitarbeiter stehen nie mit 100% ihrer Kapazität zur Verfügung", + "status": true + }, + { + "text": "Die benötigten Finanzen sind unklar", + "status": false + }, + { + "text": "Das was die Mitarbeiter am Ende verdienen", + "status": false + }, + { + "text": "Die maximale Anzahl an Mitarbeitern, die zur Verfügung stehen", + "status": false + } + ] + }, + { + "id": 28, + "difficulty": 1, + "question": "Wer trifft häufig ad-hoc Entscheidungen über Projekte und Mitarbeiterallokationen?", + "answers": [ + { + "text": "Die Mitarbeiter", + "status": false + }, + { + "text": "Die Besucher des Events", + "status": false + }, + { + "text": "Die Führungskräfte", + "status": true + }, + { + "text": "Die Lieferanten", + "status": false + } + ] + }, + { + "id": 29, + "difficulty": 2, + "question": "Wie heißt keine der Dimensionen im Ressourcenmanagement?", + "answers": [ + { + "text": "Strategisch", + "status": false + }, + { + "text": "Taktisch", + "status": false + }, + { + "text": "Operativ", + "status": false + }, + { + "text": "Konstruktiv", + "status": true + } + ] + }, + { + "id": 30, + "difficulty": 2, + "question": "Wo tritt das kommunale Ressourcenmanagement auf?", + "answers": [ + { + "text": "In Städten und Kommunen", + "status": true + }, + { + "text": "Bei Festivals", + "status": false + }, + { + "text": "Bei Messen", + "status": false + }, + { + "text": "Bei privaten Geburtstagspartys", + "status": false + } + ] + }, + { + "id": 31, + "difficulty": 2, + "question": "Was ist kein direkter Vorteil des Ressourcenmanagements?", + "answers": [ + { + "text": "Vermeidet unvorhergesehene Störungen", + "status": false + }, + { + "text": "Man spart Geld", + "status": true + }, + { + "text": "Schafft Transparenz", + "status": false + }, + { + "text": "Misst Effizienz", + "status": false + } + ] + }, + { + "id": 32, + "difficulty": 2, + "question": "Was ist die Ressourcenzuteilung?", + "answers": [ + { + "text": "Der Prozess der Anschaffung der Ressourcen", + "status": false + }, + { + "text": "Der Prozess der Verwendung der Ressourcen", + "status": false + }, + { + "text": "Der Prozess, in welchem die zur Verfügung stehenden Ressourcen auf die effizienteste Art und Weise verteilt werden", + "status": true + }, + { + "text": "Der Prozess, bei dem man sich alle nötigen Ressourcen anschaut und diese nach Qualität sortiert", + "status": false + } + ] + }, + { + "id": 33, + "difficulty": 2, + "question": "Was versteht man unter dem Ressourcenabgleich?", + "answers": [ + { + "text": "Nicht voll ausgelastete oder ineffizient genutzten Ressourcen zu entdecken und zu korrigieren", + "status": true + }, + { + "text": "Ressourcen vergleichen und nach Qualität ordnen", + "status": false + }, + { + "text": "Die vorhandenen Ressourcen mit Ressourcen aus dem Markt abgleichen und, falls nötig, diese ersetzten", + "status": false + }, + { + "text": "Die Überprüfung, ob genug Ressourcen zur Verfügung stehen", + "status": false + } + ] + }, + { + "id": 34, + "difficulty": 2, + "question": "Was ist die Ressourcenprognose?", + "answers": [ + { + "text": "Die Vorhersage, ob die Ressourcen genutzt werden können", + "status": false + }, + { + "text": "Die Prognose die vorhersagt, dass bestimmte Ressourcen nicht rechtzeitig geliefert werden", + "status": false + }, + { + "text": "Die Vermutung auf die Lebenszeit der Ressourcen", + "status": false + }, + { + "text": "Die Vorhersage zukünftiger Ressourcenanforderungen", + "status": true + } + ] + }, + { + "id": 35, + "difficulty": 2, + "question": "Was gehört nicht zu den Ressourcen, die es zu managen gilt?", + "answers": [ + { + "text": "Das Personal", + "status": false + }, + { + "text": "Der Zeitliche Ablauf des Projekts", + "status": true + }, + { + "text": "Sämtliche Räumlichkeiten", + "status": false + }, + { + "text": "Nahrungsmittel", + "status": false + } + ] + }, + { + "id": 36, + "difficulty": 3, + "question": "Ein wütender Besucher des Events, dessen Ressourcen du gemanagte hast, kommt zu dir und beschwert sich darüber, dass sein Fleisch nicht ganz so war, wie er es wollte.\r\nWar es dein Fehler?", + "answers": [ + { + "text": "Ja, da die Zubereitung des Essens in deinen Zuständigkeitsbereich fällt", + "status": false + }, + { + "text": "Nein, da der “Koch” dafür verantwortlich ist", + "status": true + }, + { + "text": "Nein, da der Besucher nicht über die Qualität des Essens entscheiden darf", + "status": false + }, + { + "text": "Ja, weil du immer an Allem schuld bist", + "status": false + } + ] + }, + { + "id": 37, + "difficulty": 3, + "question": "Was ist kein Teil des kommunalen Ressourcenmanagements?", + "answers": [ + { + "text": "Bespaßung", + "status": true + }, + { + "text": "Wohnen", + "status": false + }, + { + "text": "Gesundheitswirtschaft", + "status": false + }, + { + "text": "Fachkräftegewinnung", + "status": false + } + ] + }, + { + "id": 38, + "difficulty": 3, + "question": "In deinem Projekt sind bestimmte Mitarbeiter auch in anderen Projekten mit Abhängigkeiten allokiert. Was wird jetzt benötigt?", + "answers": [ + { + "text": "Die sofortige Freistellung der Mitarbeiter aus den anderen Projekten", + "status": false + }, + { + "text": "Mehr Mitarbeiter", + "status": false + }, + { + "text": "Ein erweitertes Projektmanagement", + "status": false + }, + { + "text": "Multiprojektmanagement", + "status": true + } + ] + }, + { + "id": 39, + "difficulty": 3, + "question": "Um dein Projekt erfolgreich abschließen zu können benötigst du eine erfolgreiche Planung. Hierfür gibt es verschiedene Möglichkeiten, die Planung anzugehen. Welche ist keine gute Möglichkeit?", + "answers": [ + { + "text": "Taktische Ressourcenplanung", + "status": false + }, + { + "text": "Strategische Kapazitätenplanung", + "status": false + }, + { + "text": "Konstruktive Kapazitäts - und Ressourcenplanung", + "status": true + }, + { + "text": "Operative Ressourcenplanung", + "status": false + } + ] + }, + { + "id": 40, + "difficulty": 3, + "question": "Kapazitätenplanung muss nicht schwer sein, denn es gibt ein simples 4 Schritte System. Welcher der folgenden Schritte ist falsch?", + "answers": [ + { + "text": "Schritt 1: Etablieren Sie die notwendigen Prozesse mit den richtigen Personen", + "status": false + }, + { + "text": "Schritt 2: Vollständige und aktualisierte Projektdaten", + "status": false + }, + { + "text": "Schritt 3: Tatsächlich zur Verfügung stehende Kapazitäten bestimmen", + "status": false + }, + { + "text": "Schritt 4: Alles nochmals mit der Projektleitung abstimmen und, falls nötig, korrigieren", + "status": true + } + ] + }, + { + "id": 41, + "difficulty": 3, + "question": "Oft kommt es vor, dass man seine Stakeholder überzeugen muss. Hierbei kann es sich um komplett verschiedene Personen handeln. Aber wer wird nie ein Stakeholder sein?", + "answers": [ + { + "text": "Aktionäre", + "status": true + }, + { + "text": "Entscheider", + "status": false + }, + { + "text": "Teamleiter", + "status": false + }, + { + "text": "Projektleiter", + "status": false + } + ] + }, + { + "id": 42, + "difficulty": 3, + "question": "Du bist in der Endphase der Organisation der Ressourcen und du merkst, dass das Budget nicht ausreicht. Was machst du in der jetzt stressigen Situation?", + "answers": [ + { + "text": "Dein Problem der Projektleitung melden. Sie werden sich schon darum kümmern", + "status": false + }, + { + "text": "Einfach normal weitermachen. Wenn das Budget nicht reicht, ist es ja nicht dein Problem", + "status": false + }, + { + "text": "Dich umgehend mit dem Finanzmanager und dem Projektleiterteam auseinandersetzten und zu einer Lösung finden", + "status": true + }, + { + "text": "Eine Notsituation ausrufen und allen mitteilen, dass das Projekt vermutlich nicht funktionieren wird", + "status": false + } + ] + }, + { + "id": 43, + "difficulty": 1, + "question": "In Netzplänen gibt es die Felder FAZ, FEZ, SAZ und SEZ. Wofür stehen die Abkürzungen?", + "answers": [ + { + "text": "Fester Anfangszeitpunkt, Fester Endzeitpunkt, Spekulativer Anfangszeitpunkt und Spekulativer Endzeitpunkt", + "status": false + }, + { + "text": "Feste Arbeitszeit, Fester Endzeitpunkt, Sicheres Aufgabenziel und Soll-Endzustand", + "status": false + }, + { + "text": "Frühester Anfangszeitpunkt, Frühester Endzeitpunkt, Spekulativer Anfangszeitpunkt und Spekulativer Endzeitpunkt", + "status": false + }, + { + "text": "Frühester Anfangszeitpunkt, Frühester Endzeitpunkt, Spätester Anfangszeitpunkt und Spätester Endzeitpunkt", + "status": true + } + ] + }, + { + "id": 44, + "difficulty": 2, + "question": "Tom erstellt während seiner Projektplanung einen Netzplan. Welcher ist keiner der Gründe, warum er dies tut?", + "answers": [ + { + "text": "Der Netzplan zeigt ihm, welche Aufgaben noch optimiert werden müssen", + "status": true + }, + { + "text": "Er will die Reihenfolge der nötigen Arbeitsschritte übersichtlich darstellen", + "status": false + }, + { + "text": "Er kann daraus ablesen, welche Bedingungen erfüllt sein müssen, um eine bestimmte Aufgabe anzufangen", + "status": false + }, + { + "text": "Der Netzplan liefert ihm eine gute Einschätzung dafür, wie lange sein Projekt dauern wird", + "status": false + } + ] + }, + { + "id": 45, + "difficulty": 3, + "question": "Welche Schritte werden benötigt, um einen Netzplan zu erstellen?", + "answers": [ + { + "text": "Projektstrukturplan, Ereignisplanung, Sequenzplanung, Zeitplanung", + "status": false + }, + { + "text": "Projektstrukturplan, Vorgangsliste, Ablaufplanung, Zeitplanung", + "status": true + }, + { + "text": "Gantt-Diagramm, Vorgangsliste, Aufgabenplanung, Zeitplanung", + "status": false + }, + { + "text": "Aufgabenplanung, Ablaufplanung, Gantt-Diagramm, Zeitplanung", + "status": false + } + ] + }, + { + "id": 46, + "difficulty": 1, + "question": "Richtig oder falsch? In einer Vorgangsliste dürfen nur die Vorgangsbezeichnung, die Vorgangsnummer und die Vorgangsdauer aufgelistet werden.", + "answers": [ + { + "text": "Richtig, denn die Vorgangsliste muss so knapp wie möglich gehalten werden", + "status": false + }, + { + "text": "Falsch, es fehlen noch Vorgänger und Nachfolger jedes Vorgangs", + "status": true + }, + { + "text": "Richtig, denn in die Vorgangsliste kommt nur das Nötigste, alles weitere sollte im Netzplan aufgezeigt werden", + "status": false + }, + { + "text": "Falsch, es fehlen noch die Verantwortlichen für den Vorgang", + "status": false + } + ] + }, + { + "id": 47, + "difficulty": 3, + "question": "Was versteht man unter dem Gesamtpuffer?", + "answers": [ + { + "text": "Ein alternativer Begriff für die Gesamtdauer des Projektvorgangs", + "status": false + }, + { + "text": "Der Zeitraum, in welchem das gesamte Projekt ausgeführt werden muss", + "status": false + }, + { + "text": "Die Zeitspanne, die nach der Fertigstellung des Projektes noch bis zum finalen Abgabezeitpunkt bleibt", + "status": false + }, + { + "text": "Die Zeitspanne, um die ein Projektvorgang verzögert werden kann, ohne das Ende des Projektes zu verschieben", + "status": true + } + ] + }, + { + "id": 48, + "difficulty": 2, + "question": "Wie kann Mia als Projektleiterin den frühesten Endzeitpunkt eines Netzplanknotens berechnen?", + "answers": [ + { + "text": "Rückwärtsrechnung, der früheste Anfangszeitpunkt des Nachfolgers bestimmt den frühesten Endzeitpunkt des Vorgängers", + "status": false + }, + { + "text": "Rückwärtsrechnung, der früheste Endzeitpunkt des Nachfolgers minus seine Vorgangsdauer ergibt den frühesten Endzeitpunkt des Vorgängers", + "status": false + }, + { + "text": "Vorwärtsrechnung, der früheste Endzeitpunkt berechnet sich aus dem frühesten Anfangszeitpunkt und der Dauer des gleichen Knotens", + "status": true + }, + { + "text": "Trickfrage, Mia ist die Projektleiterin und somit nicht für die Berechnung des Netzplanes verantwortlich", + "status": false + } + ] + }, + { + "id": 49, + "difficulty": 2, + "question": "Was ist keine der Eigenschaften des 'Kritischen Pfads'?", + "answers": [ + { + "text": "Umfasst alle Ereignisse, deren früheste und späteste Ereigniszeitpunkte gleich sind", + "status": false + }, + { + "text": "Umfasst nur die Ereignisse, die unbedingt für das Projekt notwendig sind", + "status": true + }, + { + "text": "Enthält alle Tätigkeiten, die keine Pufferzeiten erlauben", + "status": false + }, + { + "text": "Keine zeitliche Verschiebungsmöglichkeit, wenn das Ende des gesamten Vorhabens unbeeinflusst bleiben soll", + "status": false + } + ] + }, + { + "id": 50, + "difficulty": 1, + "question": "Welche Aussage zu Meilensteinen stimmt nicht?", + "answers": [ + { + "text": "Sie sind Checkpunkte im Projektverlauf, zu denen etwas Elementares für das Projekt erledigt sein muss", + "status": false + }, + { + "text": "Es handelt sich dabei um ein Ereignis von beliebiger Dauer", + "status": true + }, + { + "text": "Sie sind auch bekannt als K.O.-Kriterien", + "status": false + }, + { + "text": "Wird ein Meilenstein verfehlt, kann das ganze Vorhaben auf der Kippe stehen oder muss abgebrochen werden", + "status": false + } + ] + }, + { + "id": 51, + "difficulty": 3, + "question": "Ein Auftraggeber erfährt, dass sein Projekt früher fertig sein muss als geplant, leitet diese Information aber nicht an den Projektleiter weiter. Was kann nun passieren?", + "answers": [ + { + "text": "Der Projektleiter erfährt selber, dass der Abgabetermin vorgerückt ist. Er macht die nötigen Anpassungen", + "status": false + }, + { + "text": "Der Auftraggeber hat vermutet, dass das Projekt mit dem bisherigen Stand auch vor der früheren Abgabe fertig sein wird. Seine Annahme stimmte und alles läuft nach Plan", + "status": false + }, + { + "text": "Die Fertigstellung des Projektes verzögert sich über den früheren Abgabetermin, weil der Projektleiter davon ausgeht, er hätte noch genügend Zeit", + "status": false + }, + { + "text": "Der Auftraggeber greift erst ein, wenn er merkt dass das Projekt nicht rechtzeitig fertig wird. Die Frist wird verpasst", + "status": true + } + ] + }, + { + "id": 52, + "difficulty": 2, + "question": "Was ist eher seltener der Grund für ein gescheitertes Projekt?", + "answers": [ + { + "text": "Nicht genug Kommunikation", + "status": false + }, + { + "text": "Falsche Einschätzung des Scopes vom Projekt", + "status": false + }, + { + "text": "Eine Materiallieferung wird abgesagt", + "status": true + }, + { + "text": "Die Finanzierung wird abgebrochen", + "status": false + } + ] + }, + { + "id": 53, + "difficulty": 1, + "question": "Was bereitet Schwierigkeiten für ein Projekt, hat aber eher keinen Einfluss auf die Zeitplanung?", + "answers": [ + { + "text": "Der Projektleiter wird ausgewechselt", + "status": true + }, + { + "text": "Arbeitskräfte fallen aus", + "status": false + }, + { + "text": "Einige Bestandteile des Projekts müssen abgeändert werden", + "status": false + }, + { + "text": "Eine Frist wird nicht eingehalten", + "status": false + } + ] + }, + { + "id": 54, + "difficulty": 1, + "question": "Was ist keine Situation, in welcher die Deadline eines Projektes verschoben werden sollte/könnte?", + "answers": [ + { + "text": "Der Auftraggeber des Projekts beantragt dies", + "status": false + }, + { + "text": "Die Fertigstellung des Projekts ist essenziell, aber es steht bereits fest, dass sie nicht fristgerecht stattfinden kann", + "status": false + }, + { + "text": "Es würde die Qualität des Ergebnisses steigern", + "status": true + }, + { + "text": "Die Sponsoren des Projekts bitten darum", + "status": false + } + ] + }, + { + "id": 55, + "difficulty": 3, + "question": "Welche Aussage über Netzpläne und Gantt-Charts ist richtig?", + "answers": [ + { + "text": "Mit ihnen kann man gut den Soll-Zustand und den Ist-Zustand des Projekts abgleichen", + "status": true + }, + { + "text": "Sie sollten jederzeit an den momentanen Fortschritt des Projekts angepasst werden", + "status": false + }, + { + "text": "Jeder Teilbereich eines Projektes führt seinen eigenen Netzplan und Gantt-Chart", + "status": false + }, + { + "text": "Beide ergänzen sich gegenseitig und dürfen daher nie alleine auftreten", + "status": false + } + ] + }, + { + "id": 56, + "difficulty": 3, + "question": "Erik schiebt die Erstellung eines Netzplans auf, sodass bereits seit zwei Monaten an dem Projekt gearbeitet wurde, bevor dieser fertig ist. Ist das eine gute Entscheidung?", + "answers": [ + { + "text": "Nein, er riskiert damit, dass sich das Projekt in die Länge zieht, weil die Reihenfolge der Vorgänge nicht optimal festgelegt und der kritische Pfad nicht erkennbar ist", + "status": true + }, + { + "text": "Nein, zu Projektmanagement gehört ein Netzplan nun mal dazu und muss so früh wie möglich erstellt werden", + "status": false + }, + { + "text": "Ja, denn alle wichtigen Informationen zu den Vorgängen sind schon bekannt, egal wie sie dargestellt werden", + "status": false + }, + { + "text": "Ja, er hätte sogar überhaupt keinen Netzplan erstellen sollen, das ist Zeitverschwendung", + "status": false + } + ] + }, + { + "id": 57, + "difficulty": 1, + "question": "Welche Information ist nicht auf einem Netzknoten enthalten?", + "answers": [ + { + "text": "Der Gesamtpuffer", + "status": false + }, + { + "text": "FAZ, FEZ, SAZ und SEZ", + "status": false + }, + { + "text": "Die Verantwortlichen für die Aufgabe", + "status": false + }, + { + "text": "Die ID des Nachfolgers", + "status": true + } + ] + }, + { + "id": 58, + "difficulty": 2, + "question": "Was ist auf Gantt-Charts nicht besonders gut erkennbar?", + "answers": [ + { + "text": "Wie lange Vorgänge dauern", + "status": false + }, + { + "text": "Welche Vorgänge voneinander abhängig sind", + "status": true + }, + { + "text": "Welche Vorgänge parallel verlaufen", + "status": false + }, + { + "text": "Wann Vorgänge beginnen und enden", + "status": false + } + ] + }, + { + "id": 59, + "difficulty": 2, + "question": "Was ist auf Netzplänen nicht besonders gut erkennbar?", + "answers": [ + { + "text": "Wie lange Vorgänge dauern", + "status": false + }, + { + "text": "Welche Vorgänge voneinander abhängig sind", + "status": false + }, + { + "text": "Welche Vorgänge parallel verlaufen", + "status": true + }, + { + "text": "Wann Vorgänge beginnen und enden", + "status": false + } + ] + }, + { + "id": 60, + "difficulty": 1, + "question": "Ist es immer die Schuld des Teams, wenn ein Meilenstein nicht rechtzeitig erreicht wird?", + "answers": [ + { + "text": "Nein, die Deadline eines Meilensteins kann auch falsch gesetzt worden sein", + "status": true + }, + { + "text": "Ja, Meilensteine sind immer zu ihren idealen Deadlines gesetzt und sollten somit einfach erreichbar sein", + "status": false + }, + { + "text": "Ja, denn Meilensteine können verschoben werden, wenn das Team darum bittet, warum haben sie nicht Bescheid gesagt?", + "status": false + }, + { + "text": "Nein, denn jegliche Schuld am Versagen von Projekten wird immer dem Projektleiter zugeschrieben", + "status": false + } + ] + }, + { + "id": 61, + "difficulty": 2, + "question": "Was sind die größten Herausforderungen für Projekte?", + "answers": [ + { + "text": "Auftraggeber", + "status": false + }, + { + "text": "Personal", + "status": false + }, + { + "text": "Zeit und Kosten", + "status": true + }, + { + "text": "Ressourcenplanung", + "status": false + } + ] + }, + { + "id": 62, + "difficulty": 3, + "question": "Wie viel Prozent aller Projekte heutzutage dauern länger als geplant?", + "answers": [ + { + "text": "Etwa 35 %", + "status": false + }, + { + "text": "Etwa 50 %", + "status": true + }, + { + "text": "Etwa 80 %", + "status": false + }, + { + "text": "Etwa 63 %", + "status": false + } + ] + }, + { + "id": 63, + "difficulty": 3, + "question": "Wie lautet das Parkinson`sche Gesetz?", + "answers": [ + { + "text": "Der Aufschub ist ein Dieb der Zeit", + "status": false + }, + { + "text": "Planung ersetzt Zufall durch Irrtum", + "status": false + }, + { + "text": "Je lächerlicher ein Termin, desto treuer der Versuch, ihn zu halten", + "status": false + }, + { + "text": "Arbeit dehnt sich immer genau so lang aus, wie man ihr Zeit zur Erledigung einräumt", + "status": true + } + ] + }, + { + "id": 64, + "difficulty": 1, + "question": "Aus wie vielen Ps besteht der Marketing-Mix?", + "answers": [ + { + "text": "4", + "status": true + }, + { + "text": "3", + "status": false + }, + { + "text": "7", + "status": false + }, + { + "text": "8", + "status": false + } + ] + }, + { + "id": 65, + "difficulty": 1, + "question": "Aus wie vielen Ps besteht der erweiterte Marketing-Mix?", + "answers": [ + { + "text": "4", + "status": false + }, + { + "text": "3", + "status": false + }, + { + "text": "7", + "status": true + }, + { + "text": "8", + "status": false + } + ] + }, + { + "id": 66, + "difficulty": 1, + "question": "Du möchtest dein neues Produkt vermarkten. Aus welchem Faktor sollte sich der Preis deines Produktes primär nicht entwickeln?", + "answers": [ + { + "text": "Analyse der Zielgruppe", + "status": false + }, + { + "text": "Vorschlag deines Freundes", + "status": true + }, + { + "text": "Analyse deiner Konkurrenz", + "status": false + }, + { + "text": "Deine Ausgabekosten", + "status": false + } + ] + }, + { + "id": 67, + "difficulty": 1, + "question": "Was versteht man unter Marketingkontrolle?", + "answers": [ + { + "text": "Die ergebnisorientierte Überprüfung der Maßnahmen des Marketings", + "status": false + }, + { + "text": "Die Untersuchung von Stärken und Schwächen des Unternehmens", + "status": false + }, + { + "text": "Die Sicherstellung der Kundenzufriedenheit", + "status": true + }, + { + "text": "Die Erkennungs- und Identifizierungsphase eines Marketingproblems", + "status": false + } + ] + }, + { + "id": 68, + "difficulty": 1, + "question": "Was gehört nicht zu den 4 Marketinginstrumenten?", + "answers": [ + { + "text": "Produktpolitik", + "status": false + }, + { + "text": "Marketingkontrolle", + "status": true + }, + { + "text": "Preispolitik", + "status": false + }, + { + "text": "Distributionspolitik", + "status": false + } + ] + }, + { + "id": 69, + "difficulty": 1, + "question": "Wie viele Phasen gibt es im Produktlebenszyklus?", + "answers": [ + { + "text": "4", + "status": false + }, + { + "text": "5", + "status": true + }, + { + "text": "7", + "status": false + }, + { + "text": "8", + "status": false + } + ] + }, + { + "id": 70, + "difficulty": 1, + "question": "Was gehört zu den Marketinginstrumenten?", + "answers": [ + { + "text": "Die Wasserfall-Methode", + "status": false + }, + { + "text": "Stakeholder Analyse", + "status": false + }, + { + "text": "Pflichtenheft", + "status": false + }, + { + "text": "Kommunikationspolitik", + "status": true + } + ] + }, + { + "id": 71, + "difficulty": 2, + "question": "Der Marketingprozess ist der Kernprozess, der sich auf den Absatz eines Unternehmens konzentriert. Was gehört nicht zum Marketingprozess?", + "answers": [ + { + "text": "Planung des Marketings", + "status": false + }, + { + "text": "Gestaltung des Marketings", + "status": false + }, + { + "text": "Marketingkontrolle", + "status": false + }, + { + "text": "Die Marktführerschaft", + "status": true + } + ] + }, + { + "id": 72, + "difficulty": 2, + "question": "Welche Phase gehört nicht zum Produktlebenszyklus?", + "answers": [ + { + "text": "Wachstum", + "status": false + }, + { + "text": "Reife", + "status": false + }, + { + "text": "Sättigung", + "status": false + }, + { + "text": "Übersättigung", + "status": true + } + ] + }, + { + "id": 73, + "difficulty": 2, + "question": "Dein Freund hat ein Produkt auf den Markt gebracht, doch der Absatz steigt nicht nach gewünschtem Maße. Was empfiehlst du ihm als Meister des Projektmanagements?", + "answers": [ + { + "text": "Mitarbeiter entlassen", + "status": false + }, + { + "text": "Preis senken", + "status": true + }, + { + "text": "Produkt vom Markt entfernen", + "status": false + }, + { + "text": "Nichts verändern", + "status": false + } + ] + }, + { + "id": 74, + "difficulty": 2, + "question": "Dein Unternehmen hat ein Produkt auf den Markt gebracht. Dein Mitarbeiter schlägt vor, Marktforschung zu betreiben. Inwiefern ist dies eine sinnvolle Idee?", + "answers": [ + { + "text": "Zur Entwicklung einer erfolgreichen Absatzsstrategie", + "status": true + }, + { + "text": "Zum Einschätzen des Produktlebenszyklus", + "status": false + }, + { + "text": "Zur Umsatzsteigerung durch den Verkauf der gewonnenen Daten", + "status": false + }, + { + "text": "Zur Befriedigung der natürlichen Neugier", + "status": false + } + ] + }, + { + "id": 75, + "difficulty": 2, + "question": "Die Marktforschung ist ein essenzielles Mittel des Marketings, um an mehr Informationen zu gelangen. Was ist kein primäres Ziel der Marktforschung?", + "answers": [ + { + "text": "Prognose der politischen Ansichten in einem bestimmten Kundensegment", + "status": true + }, + { + "text": "Prognose der Risiken in einem bestimmten Kundensegment", + "status": false + }, + { + "text": "Prognose der Chancen in einem bestimmten Kundensegment", + "status": false + }, + { + "text": "Prognose des Verhaltens in einem bestimmten Kundensegment", + "status": false + } + ] + }, + { + "id": 76, + "difficulty": 2, + "question": "Dein Freund zählt dir folgende Aspekte auf, die nach seiner Ansicht zu Marketing gehören. Was gehört nicht zum Konzept von Marketing?", + "answers": [ + { + "text": "Die Produkt- und Preisoptimierung", + "status": false + }, + { + "text": "Die Beobachtung und Lenkung des Marktes", + "status": false + }, + { + "text": "Die Produktpräsentation", + "status": false + }, + { + "text": "Die Lieferung der Produktkomponenten", + "status": true + } + ] + }, + { + "id": 77, + "difficulty": 2, + "question": "Es gibt unterschiedliche Perspektiven von Qualität. Auf welche Perspektive fokussiert sich speziell das Marketing?", + "answers": [ + { + "text": "Die rationale Wahrnehmung von Qualität", + "status": false + }, + { + "text": "Die emotionale und menschliche Wahrnehmung von Qualität", + "status": true + }, + { + "text": "Die transzendente Wahrnehmung von Qualität", + "status": false + }, + { + "text": "Die technische Wahrnehmung von Qualität ", + "status": false + } + ] + }, + { + "id": 78, + "difficulty": 3, + "question": "Was ist zwangsläufig kein Qualität beeinflussender Faktor im Unternehmen?", + "answers": [ + { + "text": "Die Unterstützung der Willensbildung innerhalb des Unternehmens", + "status": false + }, + { + "text": "Die Sammlung an Regeln, Zuständigkeiten und Prozessen, die klären, wie Qualität im Unternehmen erzeugt wird", + "status": false + }, + { + "text": "Die Senkung des Preises", + "status": true + }, + { + "text": "Die Betrachtung der Anforderungen von zusätzlichen Stakeholdern", + "status": false + } + ] + }, + { + "id": 79, + "difficulty": 3, + "question": "Welcher Gegenstand passt am besten als Metapher zum Begriff \"Marketingprozess\"", + "answers": [ + { + "text": "Blaupause zur Verkaufsförderung eines Unternehmens", + "status": true + }, + { + "text": "Föhn zum Wegblasen von potenziellen Risiken", + "status": false + }, + { + "text": "Magnet zum Anziehen neuer Mitarbeiter", + "status": false + }, + { + "text": "Angel zum Angeln neuer Kunden", + "status": false + } + ] + }, + { + "id": 80, + "difficulty": 3, + "question": "Was beinhaltet die aktivitätsorientierte Marketingdefinition?", + "answers": [ + { + "text": "Die Auffassung, dass Marketing im Kern die bewusste marktorientierte Führung des gesamten Unternehmens ist", + "status": false + }, + { + "text": "Die Auffassung, dass Marketing im Kern die Kundenbeziehung aufbaut, stärkt und erhält", + "status": false + }, + { + "text": "Die Auffassung, dass Marketing im Kern ein Bündel marktgerichteter Unternehmensgeschehnissen ist", + "status": true + }, + { + "text": "Die Auffassung, dass Marketing im Kern eine unternehmensinterne und unternehmensexterne Facette enthält", + "status": false + } + ] + }, + { + "id": 81, + "difficulty": 3, + "question": "Was beinhaltet die integrative Marketingdefinition?", + "answers": [ + { + "text": "Die Auffassung, dass Marketing im Kern die bewusste marktorientierte Führung des gesamten Unternehmens ist", + "status": false + }, + { + "text": "Die Auffassung, dass Marketing im Kern eine unternehmensinterne und unternehmensexterne Facette enthält", + "status": true + }, + { + "text": "Die Auffassung, dass Marketing im Kern die Kundenbeziehung aufbaut, stärkt und erhält", + "status": false + }, + { + "text": "Die Auffassung, dass Marketing im Kern ein Bündel marktgerichteter Unternehmensgeschehnissen ist", + "status": false + } + ] + }, + { + "id": 82, + "difficulty": 3, + "question": "Wie macht sich eine defensiven Kommunikationspolitik erkennbar?", + "answers": [ + { + "text": "Flexible Arbeitszeitmodelle", + "status": false + }, + { + "text": "Intensive Kommunikation", + "status": false + }, + { + "text": "Direkter Kontakt zwischen Mitarbeitern, Kunden und Lieferanten", + "status": false + }, + { + "text": "Die Überwachung der Mitarbeiter über Video", + "status": true + } + ] + }, + { + "id": 83, + "difficulty": 3, + "question": "Was ist Marketing aus der Perspektive der unternehmensexternen Facette?", + "answers": [ + { + "text": "Die Schaffung der Voraussetzungen im Unternehmen für die Durchführung marktbezogener Aktivitäten", + "status": false + }, + { + "text": "Die Führung des Unternehmens nach der Leitidee der Marktorientierung", + "status": false + }, + { + "text": "Die Durchführung marktbezogener Aktivitäten bezüglich der Produktnachfrager", + "status": true + }, + { + "text": "Das marktorientierte Entscheidungsverhalten in der Unternehmung", + "status": false + } + ] + }, + { + "id": 84, + "difficulty": 3, + "question": "Die Diversifikation ist unterteilbar in eine horizontale und eine vertikale Diversifikation. Wie ist Ersteres zu verstehen?", + "answers": [ + { + "text": "Die Aufnahme von Produkten, die zu einer vor- oder nachgelagerten Produktionsstufe gehören", + "status": false + }, + { + "text": "Zwischen den alten und den neuen Produkten besteht kein sachlicher Zusammenhang mehr", + "status": false + }, + { + "text": "Die Ausweitung des Sortiments um Produkte, die mit den alten Produkten in einem sachlichen Zusammenhang stehen", + "status": true + }, + { + "text": "Die Aufnahme von Produkten, die nicht zu einer vor- oder nachgelagerten Produktionsstufe gehören", + "status": false + } + ] + }, + { + "id": 85, + "difficulty": 1, + "question": "Was ist keine Eigenschaft eines Projekts?", + "answers": [ + { + "text": "Ein terminlicher Rahmen  ", + "status": false + }, + { + "text": "Planung ", + "status": false + }, + { + "text": "Regelmäßige Durchführung", + "status": true + }, + { + "text": "Teamarbeit", + "status": false + } + ] + }, + { + "id": 86, + "difficulty": 1, + "question": "Was ist der häufigste Grund für das Scheitern von Projekten?", + "answers": [ + { + "text": "Unklare Zielsetzung", + "status": true + }, + { + "text": "Fehlende Motivation", + "status": false + }, + { + "text": "Ausfall von Teammitgliedern", + "status": false + }, + { + "text": "Zu wenig Fachkenntnisse", + "status": false + } + ] + }, + { + "id": 87, + "difficulty": 1, + "question": "Wie sollte bei Uneinigkeit einer gemeinsamen Planung im Team vorgegangen werden?", + "answers": [ + { + "text": "Abstimmen der Teammitglieder", + "status": false + }, + { + "text": "Projektleiter legt Vorgehen einfach fest", + "status": false + }, + { + "text": "Diskutieren und im Team Abstimmen", + "status": true + }, + { + "text": "Probleme aufschieben und andere Aufgaben vorziehen", + "status": false + } + ] + }, + { + "id": 88, + "difficulty": 1, + "question": "Was sind die Bestandteile des magischen Dreiecks?", + "answers": [ + { + "text": "Planung, Kosten, Leistung", + "status": false + }, + { + "text": "Qualität, Zeit, Kosten", + "status": true + }, + { + "text": "Zeit, Kosten, Materialaufwand", + "status": false + }, + { + "text": "Ergebnis, Kosten, Planung", + "status": false + } + ] + }, + { + "id": 89, + "difficulty": 1, + "question": "Was zeichnet einen guten Projektleiter aus?", + "answers": [ + { + "text": "Lässt keine Kritik zu", + "status": false + }, + { + "text": "Delegiert Entscheidungen", + "status": true + }, + { + "text": "Plant den größten Teil des Projekts alleine", + "status": false + }, + { + "text": "Bestimmt Entscheidungen meistens alleine", + "status": false + } + ] + }, + { + "id": 90, + "difficulty": 1, + "question": "Was sind keine Anforderungen an Teammitglieder?", + "answers": [ + { + "text": "Teamfähigkeit", + "status": false + }, + { + "text": "Bereitschaft Kompromisse einzugehen", + "status": false + }, + { + "text": "Detaillierte Kenntnisse im Projektmanagement", + "status": true + }, + { + "text": "Aktive Mitarbeit am Projekt", + "status": false + } + ] + }, + { + "id": 91, + "difficulty": 1, + "question": "Was ist nicht Teil der Projektdurchführung und Projektkontrolle?", + "answers": [ + { + "text": "Projektstrukturplan", + "status": true + }, + { + "text": "Projektberichterstattung", + "status": false + }, + { + "text": "Projektdokumentation", + "status": false + }, + { + "text": "Qualitätssicherung", + "status": false + } + ] + }, + { + "id": 92, + "difficulty": 2, + "question": "Martin ist Projektmanager und legt die Ziele für ein Projekt fest. Wie sollte er die Zielsetzung für sein Projekt dabei wählen?", + "answers": [ + { + "text": "Selbstständig-Machbar-Akkurat-Richtig-Teamfähig ", + "status": false + }, + { + "text": "Spezifisch-Messbar-Aktivierend-Realistisch-Terminiert", + "status": true + }, + { + "text": "Selbstständig-Messbar-Abänderlich-Realistisch-Teilbar", + "status": false + }, + { + "text": "Systematisch-Monetär- Aktivierend-Richtig-Terminiert", + "status": false + } + ] + }, + { + "id": 93, + "difficulty": 2, + "question": "Wie sollte ein Projektleiter bei einer heftigen fachlichen Diskussion vorgehen?", + "answers": [ + { + "text": "Die entsprechenden Personen ausschließen", + "status": false + }, + { + "text": "Die entsprechenden Personen alleine ausdiskutieren lassen", + "status": false + }, + { + "text": "Die Diskussion beenden", + "status": false + }, + { + "text": "Deine Position deutlich machen aber Niemanden dabei verletzen", + "status": true + } + ] + }, + { + "id": 94, + "difficulty": 2, + "question": "Wie sollte der Projektleiter vorgehen wenn eine Aufgabe aufgrund von erhöhtem Aufwand nicht fristgerecht umgesetzt wird?", + "answers": [ + { + "text": "Die Frist abändern", + "status": false + }, + { + "text": "Unterstützung anbieten und den Teammitgliedern klar machen, dass sie schneller arbeiten müssen", + "status": false + }, + { + "text": "Unterstützung anbieten und möglicherweise die Fristen neu überdenken", + "status": true + }, + { + "text": "Mit Nachdruck auf die Teammitglieder einreden sodass sie schneller arbeiten", + "status": false + } + ] + }, + { + "id": 95, + "difficulty": 2, + "question": "Was ist keine Voraussetzung zur Erstellung eines Meilensteinplans?", + "answers": [ + { + "text": "Genügend Fachkenntnisse um die Einzelheiten des Projekts vollständig zu verstehen", + "status": true + }, + { + "text": "Ziele, Inhalte, Start- und Endtermin des Projekts sind definiert", + "status": false + }, + { + "text": "Rahmenbedingungen und wichtige Vorgaben", + "status": false + }, + { + "text": "Klarheit über Bedeutung des Projektes im Unternehmen", + "status": false + } + ] + }, + { + "id": 96, + "difficulty": 2, + "question": "Was ist keine Methode zur Erstellung von Projektstrukturplänen?", + "answers": [ + { + "text": "Yo-Yo-Verfahren", + "status": false + }, + { + "text": "Top-Down-Ansatz", + "status": false + }, + { + "text": "Bottom-Up-Ansatz", + "status": false + }, + { + "text": "Zeitorientierter Ansatz", + "status": true + } + ] + }, + { + "id": 97, + "difficulty": 2, + "question": "Was enthält laut DIN das Projekthandbuch?", + "answers": [ + { + "text": "Zusammenstellung von Regelungen, Organisation für die Planung und Durchführung von Projekten inklusive deren Effizienz", + "status": false + }, + { + "text": "Zusammenstellung von Regelungen, Organisation für die Planung und Durchführung von Projekten", + "status": true + }, + { + "text": "Zusammenstellung von Regelungen, Organisation für die Planung und Durchführung von Projekten mit dem dazugehörigen Zeitaufwand", + "status": false + }, + { + "text": "Zusammenstellung von Richtlinien, Organisation für die Planung und Durchführung von Projekten", + "status": false + } + ] + }, + { + "id": 98, + "difficulty": 2, + "question": "Wie ist die Reihenfolge der Phasen im Projektmanagement", + "answers": [ + { + "text": "Initiieren, Vorbereiten, Planen, Steuern, Abschließen", + "status": false + }, + { + "text": "Planen, Vorbereiten, Initiieren, Steuern, Abschließen", + "status": false + }, + { + "text": "Vorbereiten, Planen, Initiieren, Steuern, Abschließen", + "status": false + }, + { + "text": "Vorbereiten, Initiieren, Planen, Steuern, Abschließen\r\n", + "status": true + } + ] + }, + { + "id": 99, + "difficulty": 3, + "question": "Was ist im Lastenheft nicht enthalten?", + "answers": [ + { + "text": "Anforderung an Auftragnehmer", + "status": true + }, + { + "text": "Anforderungen an die Projektdurchführung", + "status": false + }, + { + "text": "Soll-Zustand-Beschreibung", + "status": false + }, + { + "text": "Ist-Zustand-Beschreibung", + "status": false + } + ] + }, + { + "id": 100, + "difficulty": 3, + "question": "Was ist im Pflichtenheft nicht enthalten?", + "answers": [ + { + "text": "Exakte Eingrenzung der Zielbestimmungen", + "status": false + }, + { + "text": "ABGRENZUNGS-Kriterien welche die Anwendung definitiv nicht beinhalten sollte", + "status": false + }, + { + "text": "Exakte Anforderung der SOLL-Kriterien an den Auftragnehmer", + "status": true + }, + { + "text": "Unterteilung in MUSS- und WUNSCH-Kriterien", + "status": false + } + ] + }, + { + "id": 101, + "difficulty": 3, + "question": "Was ist laut DIN Norm ein Netzplan?", + "answers": [ + { + "text": "Ein Netzplan ist die tabellarische Darstellung von Abläufen", + "status": false + }, + { + "text": "Ein Netzplan ist die graphische oder tabellarische Darstellung von Abläufen und deren Abhängigkeiten", + "status": true + }, + { + "text": "Ein Netzplan ist die Festlegung von Aufgabegebieten in graphischer Form", + "status": false + }, + { + "text": "Ein Netzplan ist die tabellarische Darstellung von zeitgleichen Abläufen und deren zeitlichen Abhängigkeiten", + "status": false + } + ] + }, + { + "id": 102, + "difficulty": 3, + "question": "Was ist keine Gliederung des Projektstrukturplans?", + "answers": [ + { + "text": "Funktionsorientierte Gliederung", + "status": false + }, + { + "text": "Kostenorientierte Gliederung", + "status": true + }, + { + "text": "Objektorientierte Gliederung", + "status": false + }, + { + "text": "Zeitorientierte Gliederung", + "status": false + } + ] + }, + { + "id": 103, + "difficulty": 3, + "question": "Was ist der Bottom-Up-Ansatz?", + "answers": [ + { + "text": "Ein deduktiver Weg in welchem der PSP durch Zerlegung vom Projekt bis zu den Arbeitspaketen gebildet wird", + "status": false + }, + { + "text": "Die Aufteilung der Aufgaben, sodass das Projekt strukturiert von unten aus aufgebaut wird", + "status": false + }, + { + "text": "Die Teammitglieder stellen gemeinsam durch dezentrale die Planung das Projekt auf", + "status": false + }, + { + "text": "Durch die Ermittlung und Zusammensetzung von Teilaufgaben wird das Projekt zusammengebaut", + "status": true + } + ] + }, + { + "id": 104, + "difficulty": 3, + "question": "Was enthält jedes Kästchen im Netzstrukturplan?", + "answers": [ + { + "text": "Dauer, Gesamtpuffer, frühester Beginn, spätestes Ende", + "status": true + }, + { + "text": "Nummer, Name, frühester Beginn, spätestes Ende, Arbeitsgruppe", + "status": false + }, + { + "text": "Gesamtpuffer, freier Puffer, Datum, frühester Beginn, spätestes Ende", + "status": false + }, + { + "text": "Gesamtpuffer, frühester Beginn, mittlerer Beginn, spätester Beginn, frühestes Ende, mittlerer Beginn, spätestes Ende", + "status": false + } + ] + }, + { + "id": 105, + "difficulty": 3, + "question": "Was ist kein Verfahren zur Entscheidungsfindung der Projektauswahl in einem Projektportfolio?", + "answers": [ + { + "text": "Monetäre Verfahren", + "status": false + }, + { + "text": "Strategische Bewertung", + "status": false + }, + { + "text": "Mehrdimensionale Betrachtung", + "status": false + }, + { + "text": "Kausale Betrachtung", + "status": true + } + ] + } +] \ No newline at end of file diff --git a/data/main.py b/data/main.py new file mode 100644 index 0000000..40eebec --- /dev/null +++ b/data/main.py @@ -0,0 +1,30 @@ +import json + +if __name__ == '__main__': + array = [] + with open('fragen_10_06_21_final.json') as file: + data = json.load(file) + print(len(data)) + + for i in range(0, len(data)): + new = {'id': int(data[i]['id']), 'difficulty': int(data[i]['difficulty']), 'question': data[i]['question'], + 'answers': []} + + new['answers'].append({"text": data[i]['A'], + "status": 'A' == data[i]['key'] + }) + new['answers'].append({"text": data[i]['B'], + "status": 'B' == data[i]['key'] + }) + new['answers'].append({"text": data[i]['C'], + "status": 'C' == data[i]['key'] + }) + new['answers'].append({"text": data[i]['D'], + "status": 'D' == data[i]['key'] + }) + + array.append(new) + + with open('fragen_10_06_21_final_new_format.json', 'w', encoding='utf8') as file: + json.dump(array, file, ensure_ascii=False) + print(len(data)) diff --git a/package-lock.json b/package-lock.json index 0761a56..43ef708 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,378 +1,1231 @@ { "name": "projektmanagement-game", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "projektmanagement-game", + "version": "1.0.0", + "dependencies": { + "@socket.io/admin-ui": "^0.1.2", + "express": "^4.17.1", + "socket.io": "^4.1.2" + } + }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz", + "integrity": "sha512-4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA==", + "dependencies": { + "detect-libc": "^1.0.3", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.1", + "nopt": "^5.0.0", + "npmlog": "^4.1.2", + "rimraf": "^3.0.2", + "semver": "^7.3.4", + "tar": "^6.1.0" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/@socket.io/admin-ui": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/admin-ui/-/admin-ui-0.1.2.tgz", + "integrity": "sha512-w6yEM+lxG4LTI5JdY4Rn52BY9llqG3no3CTNX6TB+C8gA3VvwEVqYJDfw/ufLKSa8pN7+eeVUoALxo3xhOGb9g==", + "dependencies": { + "@types/bcrypt": "~3.0.0", + "bcrypt": "~5.0.1", + "debug": "~4.3.1" + }, + "peerDependencies": { + "socket.io": ">=3.1.0" + } + }, + "node_modules/@types/bcrypt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-3.0.1.tgz", + "integrity": "sha512-SwBrq5wb6jXP0o3O3jStdPWbKpimTImfdFD/OZE3uW+jhGpds/l5wMX9lfYOTDOa5Bod2QmOgo9ln+tMp2XP/w==" + }, + "node_modules/@types/component-emitter": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz", + "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==" + }, + "node_modules/@types/cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg==" + }, + "node_modules/@types/cors": { + "version": "2.8.10", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.10.tgz", + "integrity": "sha512-C7srjHiVG3Ey1nR6d511dtDkCEjxuN9W1HWAEjGq8kpcwmNM6JJkpC0xvabM7BXTG2wDq8Eu33iH9aQKa7IvLQ==" + }, + "node_modules/@types/node": { + "version": "15.6.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.1.tgz", + "integrity": "sha512-7EIraBEyRHEe7CH+Fm1XvgqU6uwZN8Q7jppJGcqjROMT29qhAuuOxYB1uEY5UMYQKEmA5D+5tBnhdaPXSsLONA==" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dependencies": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "node_modules/are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-arraybuffer": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", + "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/bcrypt": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.0.1.tgz", + "integrity": "sha512-9BTgmrhZM2t1bNuDtrtIMVSmmxZBrJ71n8Wg+YgdjHuIWYF7SjjmCPZFB+/5i/o/PIeRpwVJR3P+NrpIItUjqw==", + "hasInstallScript": true, + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.0", + "node-addon-api": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dependencies": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "node_modules/content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/engine.io": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.1.1.tgz", + "integrity": "sha512-aMWot7H5aC8L4/T8qMYbLdvKlZOdJTH54FxfdFunTGvhMx1BHkJOntWArsVfgAZVwAO9LC2sryPWRcEeUzCe5w==", + "dependencies": { + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~4.0.0", + "ws": "~7.4.2" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz", + "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==", + "dependencies": { + "base64-arraybuffer": "0.1.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dependencies": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dependencies": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "node_modules/http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.30", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", + "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", + "dependencies": { + "mime-db": "1.47.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==" + }, + "node_modules/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "dependencies": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dependencies": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "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" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "node_modules/serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "node_modules/setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "node_modules/socket.io": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.1.2.tgz", + "integrity": "sha512-xK0SD1C7hFrh9+bYoYCdVt+ncixkSLKtNLCax5aEy1o3r5PaO5yQhVb97exIe67cE7lAK+EpyMytXWTWmyZY8w==", + "dependencies": { + "@types/cookie": "^0.4.0", + "@types/cors": "^2.8.8", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.1", + "engine.io": "~5.1.0", + "socket.io-adapter": "~2.3.0", + "socket.io-parser": "~4.0.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.1.tgz", + "integrity": "sha512-8cVkRxI8Nt2wadkY6u60Y4rpW3ejA1rxgcK2JuyIhmF+RMNpTy1QRtkHIDUOf3B4HlQwakMsWbKftMv/71VMmw==" + }, + "node_modules/socket.io-parser": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", + "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", + "dependencies": { + "@types/component-emitter": "^1.2.10", + "component-emitter": "~1.3.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tar": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", + "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + }, "dependencies": { - "@pixi/accessibility": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-6.0.4.tgz", - "integrity": "sha512-S0Co6M+BIx+Yk3INCwGp5Xif0jIv/uj5JPMbctpMV7fSsE3x0nYvcOOAfBjkGhYcXG7fNOGrYLgs5XQOBIWGtA==", + "@mapbox/node-pre-gyp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz", + "integrity": "sha512-4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA==", "requires": { - "@pixi/canvas-renderer": "6.0.4", - "@pixi/core": "6.0.4", - "@pixi/display": "6.0.4", - "@pixi/utils": "6.0.4" + "detect-libc": "^1.0.3", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.1", + "nopt": "^5.0.0", + "npmlog": "^4.1.2", + "rimraf": "^3.0.2", + "semver": "^7.3.4", + "tar": "^6.1.0" } }, - "@pixi/app": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/app/-/app-6.0.4.tgz", - "integrity": "sha512-+BiuaQtnOBR5/Q8+nXnHE2tuZyuBnqy/cwbIR1ImPnKAs7UaCcRLf1R0RvnRFu4KMP4ozTd810p0k84TzIguTA==", + "@socket.io/admin-ui": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/admin-ui/-/admin-ui-0.1.2.tgz", + "integrity": "sha512-w6yEM+lxG4LTI5JdY4Rn52BY9llqG3no3CTNX6TB+C8gA3VvwEVqYJDfw/ufLKSa8pN7+eeVUoALxo3xhOGb9g==", "requires": { - "@pixi/core": "6.0.4", - "@pixi/display": "6.0.4" + "@types/bcrypt": "~3.0.0", + "bcrypt": "~5.0.1", + "debug": "~4.3.1" } }, - "@pixi/canvas-renderer": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/canvas-renderer/-/canvas-renderer-6.0.4.tgz", - "integrity": "sha512-z2r1nzYsAp9+gipvlFCj0rd0yfjVq1hTQkyWuMbo5TrePdEo3NLRrCUGo1dHJNbeSERpgGNN05OAiGQbAI+AUg==", - "requires": { - "@pixi/constants": "6.0.4", - "@pixi/core": "6.0.4", - "@pixi/math": "6.0.4", - "@pixi/settings": "6.0.4", - "@pixi/utils": "6.0.4" - } - }, - "@pixi/compressed-textures": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/compressed-textures/-/compressed-textures-6.0.4.tgz", - "integrity": "sha512-AqQPuuXcNrR28YT69SZhRxRRwzqQcQ/QrlexAR9Fohpe+jfDnvlNaIvQQoXU7HxD7huRiQ/dm3nwsLiKPqVoTg==", - "requires": { - "@pixi/constants": "6.0.4", - "@pixi/core": "6.0.4", - "@pixi/loaders": "6.0.4", - "@pixi/utils": "6.0.4" - } - }, - "@pixi/constants": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-6.0.4.tgz", - "integrity": "sha512-khwRMfuHVdFk93L+bf0mmCwtSloYlfBfjdseIAbJL+VSpeMG1S2DzCYlMCPdp4mvDLU9LvkH2U2leZGEIx5j7g==" - }, - "@pixi/core": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/core/-/core-6.0.4.tgz", - "integrity": "sha512-r1ceyAz0z3usUs0uj4u2986vVT2tQixGNin2o9FNhPFDXbN5EaoKHLtrjGBt1iylK/EUH/nfL5zq0SGa/loW0A==", - "requires": { - "@pixi/constants": "6.0.4", - "@pixi/math": "6.0.4", - "@pixi/runner": "6.0.4", - "@pixi/settings": "6.0.4", - "@pixi/ticker": "6.0.4", - "@pixi/utils": "6.0.4" - } - }, - "@pixi/display": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/display/-/display-6.0.4.tgz", - "integrity": "sha512-v6hjx5Gm5aIlLQ7xrsZ2lstI1cv/MtbWXJOhU8LXckkrHHUvAuJgml3+0pcHw8YLuOlepZngUuiqy/XjceVk8A==", - "requires": { - "@pixi/math": "6.0.4", - "@pixi/settings": "6.0.4", - "@pixi/utils": "6.0.4" - } - }, - "@pixi/extract": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-6.0.4.tgz", - "integrity": "sha512-xf/pnc5od7YJ8zCVIrv1km7i+P+rxYcSrrBI/hqX+qoVsI5EySKInf2GhCKHz4UjOHdSL5aPDnNYvzssNdIpdQ==", - "requires": { - "@pixi/core": "6.0.4", - "@pixi/math": "6.0.4", - "@pixi/utils": "6.0.4" - } - }, - "@pixi/filter-alpha": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-6.0.4.tgz", - "integrity": "sha512-MZEfvNPfH2NfrwgqKhwwzurnbLujphx4KNQmS63MEZTvXuQJy16DEOs459APYF6PmeGAGuDPKd5Onk/VbLRUwQ==", - "requires": { - "@pixi/core": "6.0.4" - } - }, - "@pixi/filter-blur": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-6.0.4.tgz", - "integrity": "sha512-Hb14geh8ZKc8jZ4lfKyeWThLMqIvha6DdRUTfiSdKe3L7Q6qwqsb7LPtIrZHAPEQCyFLWbcOvRMy6ZFy0YkpLA==", - "requires": { - "@pixi/core": "6.0.4", - "@pixi/settings": "6.0.4" - } - }, - "@pixi/filter-color-matrix": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-6.0.4.tgz", - "integrity": "sha512-31Rf9VBo2gqoxiAbD/Z1i+mu1C7uehecoelYQqCIzLjsWisICDTZZjUkMB5GrGzjeSpSqLfB34tlutBSh/r1wg==", - "requires": { - "@pixi/core": "6.0.4" - } - }, - "@pixi/filter-displacement": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-6.0.4.tgz", - "integrity": "sha512-Oyk/WbzxlN46d/uB5NtPLfEW2G6ob5XRP+mPVd8yhK38m9Y9rKlcH4jJoWB2niQ+ewkdRfZhuIB+JRdhc9eevg==", - "requires": { - "@pixi/core": "6.0.4", - "@pixi/math": "6.0.4" - } - }, - "@pixi/filter-fxaa": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-6.0.4.tgz", - "integrity": "sha512-cO5XuEIq//Wsk4MjrCYuXff+1/Gfc4bkFkMTO5JKvUaDlZzHNykZd5CeAouD2fz7/6/1z0gdWKbBY9IoameBew==", - "requires": { - "@pixi/core": "6.0.4" - } - }, - "@pixi/filter-noise": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-6.0.4.tgz", - "integrity": "sha512-Fpex0tpKCwZIsN03zAmN7hAOCocFF/w4XVVIkuNgYR5A90OkK+omR6p/fDtlJtlAjWarsWq0y+c5wvvUMfqsmg==", - "requires": { - "@pixi/core": "6.0.4" - } - }, - "@pixi/graphics": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-6.0.4.tgz", - "integrity": "sha512-CybR+DBkGB5llypPeib2A0J13mnPQwlQDqLRhlhXKkYxXQKXlPk5MWA7ZEg+4wKeqUUlrC+k70e5ZFYLC3AgEQ==", - "requires": { - "@pixi/constants": "6.0.4", - "@pixi/core": "6.0.4", - "@pixi/display": "6.0.4", - "@pixi/math": "6.0.4", - "@pixi/sprite": "6.0.4", - "@pixi/utils": "6.0.4" - } - }, - "@pixi/interaction": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-6.0.4.tgz", - "integrity": "sha512-4+FOKDpiF/+F9r3+y81xTBElcLqI3OpeeI9bkIw9pPHA41riXRQv+m0HWz76bGQK7zDAimAV9K2xff7Wa5nSeg==", - "requires": { - "@pixi/core": "6.0.4", - "@pixi/display": "6.0.4", - "@pixi/math": "6.0.4", - "@pixi/ticker": "6.0.4", - "@pixi/utils": "6.0.4" - } - }, - "@pixi/loaders": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-6.0.4.tgz", - "integrity": "sha512-cw8QSkn8l8P06fINfwCZW+vUdhtOJ5G+T2qQm3HIDgI/J1tAsiRj3ufHop8xkHwYXrUeTf1LTqw+QdlZEVpJfg==", - "requires": { - "@pixi/constants": "6.0.4", - "@pixi/core": "6.0.4", - "@pixi/utils": "6.0.4", - "resource-loader": "^3.0.1" - } - }, - "@pixi/math": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/math/-/math-6.0.4.tgz", - "integrity": "sha512-UwZ72CeZ2KsS4IlcEXgNiuD88omPk42Dct74+1G+R2+yPI+XRZq+hGQRTle/BbFYjxh9ccdQVyX9ToGv1XTd6Q==" - }, - "@pixi/mesh": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-6.0.4.tgz", - "integrity": "sha512-uE1Qs4mXy0QVV3yjxlNeqthkXGS6Hkt5uR1fwrvdqxlQRkX69nRq+GZfInuRYDWqwAsl8eZWs7f+pLRDT+HFbA==", - "requires": { - "@pixi/constants": "6.0.4", - "@pixi/core": "6.0.4", - "@pixi/display": "6.0.4", - "@pixi/math": "6.0.4", - "@pixi/settings": "6.0.4", - "@pixi/utils": "6.0.4" - } - }, - "@pixi/mesh-extras": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-6.0.4.tgz", - "integrity": "sha512-2fGM8j2NBwPV71SSmMfke1N1oEQ34+J19rdaAb+p1fXex0FafqtXVO49Q8rPMvungKDplMKElzQoaC1G6JGKqA==", - "requires": { - "@pixi/constants": "6.0.4", - "@pixi/core": "6.0.4", - "@pixi/math": "6.0.4", - "@pixi/mesh": "6.0.4", - "@pixi/utils": "6.0.4" - } - }, - "@pixi/mixin-cache-as-bitmap": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-6.0.4.tgz", - "integrity": "sha512-b1G5AWsxnw3CxNyaxCWJ1cWPnRECknJQ9B4D8Dy7u/gI2gABVjqz17nNFYnVpcggLlgMTkjX8+/HWnD/vZQkTg==", - "requires": { - "@pixi/canvas-renderer": "6.0.4", - "@pixi/core": "6.0.4", - "@pixi/display": "6.0.4", - "@pixi/math": "6.0.4", - "@pixi/settings": "6.0.4", - "@pixi/sprite": "6.0.4", - "@pixi/utils": "6.0.4" - } - }, - "@pixi/mixin-get-child-by-name": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-6.0.4.tgz", - "integrity": "sha512-scUMBHlOmW0hpjltn4UCihJZvz3ysDYIW35ma9p9Lso2D9qKjsZpojQ6mc75FVWz53T0BjUmLW8LHA86Jic6MQ==", - "requires": { - "@pixi/display": "6.0.4" - } - }, - "@pixi/mixin-get-global-position": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-6.0.4.tgz", - "integrity": "sha512-HzaFTMZEZTr6+WYuT9crTjjBYl7/Y/VDB7pWmjnntEdQsa1m0+by7Mnl67L6OSUPsAgW3MMlWirb5tL2zGFC7g==", - "requires": { - "@pixi/display": "6.0.4", - "@pixi/math": "6.0.4" - } - }, - "@pixi/particles": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/particles/-/particles-6.0.4.tgz", - "integrity": "sha512-/57nd+icuPFMNc+SxeUqGoO8ZXEKu9u8h+UI856XF1Rc1jlXzGanGAbp43Llq2LphYqBI8YVftP0QXhewCVjjA==", - "requires": { - "@pixi/constants": "6.0.4", - "@pixi/core": "6.0.4", - "@pixi/display": "6.0.4", - "@pixi/math": "6.0.4", - "@pixi/utils": "6.0.4" - } - }, - "@pixi/polyfill": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-6.0.4.tgz", - "integrity": "sha512-HM27pSl8iduFqUC4Waa9mt/gRKHi8Pr679it84+U4CwXmJ2lw9DL5dZuyU+QzCp2nPEVGMqx8Ig8c7WLUMvnWA==", - "requires": { - "object-assign": "^4.1.1", - "promise-polyfill": "^8.2.0" - } - }, - "@pixi/prepare": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-6.0.4.tgz", - "integrity": "sha512-BrOeKC6eZ+sdiqpefUMGXIt/VDiYDqPDP7XUCRmaI8rGTFT6ZAg/XJQENb9TsVen/4dUp+9/1u7HCFO1TEhaWQ==", - "requires": { - "@pixi/core": "6.0.4", - "@pixi/display": "6.0.4", - "@pixi/graphics": "6.0.4", - "@pixi/settings": "6.0.4", - "@pixi/text": "6.0.4", - "@pixi/ticker": "6.0.4" - } - }, - "@pixi/runner": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-6.0.4.tgz", - "integrity": "sha512-ta6r36r2vC+fPB27URpSacPGQDtbJbdUoeGCJWAEwX+QI4vx4C9NYAcB0bIg8TLXiigCfA6by/RMnJ0dBiemFA==" - }, - "@pixi/settings": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-6.0.4.tgz", - "integrity": "sha512-djiIsmULDwcHWNmEiZKm4zyVopu1NL+fClnbBmtDkGZw7nm37y6dOcdpYawJcxvE4/KLm6pspBiRTnrzdlqW7Q==", - "requires": { - "ismobilejs": "^1.1.0" - } - }, - "@pixi/sprite": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-6.0.4.tgz", - "integrity": "sha512-6yMoHmfFhSRERLM1PUXceq9e6e1UH0YJkLoPVLv6gxMunfk6jPXeO8p9dDS2FQ8ZMSkO/16BKq27HIMKvF6Cvg==", - "requires": { - "@pixi/constants": "6.0.4", - "@pixi/core": "6.0.4", - "@pixi/display": "6.0.4", - "@pixi/math": "6.0.4", - "@pixi/settings": "6.0.4", - "@pixi/utils": "6.0.4" - } - }, - "@pixi/sprite-animated": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-6.0.4.tgz", - "integrity": "sha512-uzNeJiZqcnuRc7HH/HdWxrkU7S3/D57rEGK+AuoaWEE2e2HlBWILGkf78mtqmeIrEChxe2qkOVkf4y3BZkzJVw==", - "requires": { - "@pixi/core": "6.0.4", - "@pixi/sprite": "6.0.4", - "@pixi/ticker": "6.0.4" - } - }, - "@pixi/sprite-tiling": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-6.0.4.tgz", - "integrity": "sha512-4TBsKMeGhwmfsVELorSs+zWWBih37Kd0lPQu0uhcHVV1RKtZxZpkgNoyzKS4d+WInNek5F0E592bYsXkbE6Gag==", - "requires": { - "@pixi/constants": "6.0.4", - "@pixi/core": "6.0.4", - "@pixi/display": "6.0.4", - "@pixi/math": "6.0.4", - "@pixi/sprite": "6.0.4", - "@pixi/utils": "6.0.4" - } - }, - "@pixi/spritesheet": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-6.0.4.tgz", - "integrity": "sha512-WgOBoi9KvLkHtfSyKSEzjIq6BkLwC+Ckllh+vWgfjfFDhtm7NdOfxW5WVIoCLfyfv5/NSwEMEEffZrcw4zYA/A==", - "requires": { - "@pixi/core": "6.0.4", - "@pixi/loaders": "6.0.4", - "@pixi/math": "6.0.4", - "@pixi/utils": "6.0.4" - } - }, - "@pixi/text": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/text/-/text-6.0.4.tgz", - "integrity": "sha512-r9UJg8ivWvvS7nNyBaZBKX5zg5UCU37dIYbKXcHyiXnOvXO22tiQBfkPBrZCueeLXRouC9sHmDFya8rb5TE9HA==", - "requires": { - "@pixi/core": "6.0.4", - "@pixi/math": "6.0.4", - "@pixi/settings": "6.0.4", - "@pixi/sprite": "6.0.4", - "@pixi/utils": "6.0.4" - } - }, - "@pixi/text-bitmap": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-6.0.4.tgz", - "integrity": "sha512-Nh2PXixqF0LFJ0xwmTib2HVWdhgsHn+dSYMVIec8LndDFQMTBw+X2XP1iHjVm0xhqOVdZI+Qfb2Trc0j2lINrw==", - "requires": { - "@pixi/core": "6.0.4", - "@pixi/display": "6.0.4", - "@pixi/loaders": "6.0.4", - "@pixi/math": "6.0.4", - "@pixi/mesh": "6.0.4", - "@pixi/settings": "6.0.4", - "@pixi/text": "6.0.4", - "@pixi/utils": "6.0.4" - } - }, - "@pixi/ticker": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-6.0.4.tgz", - "integrity": "sha512-PkFfPP5vHlgnApLks0Ia0okmFu6KPqBdIyquDqHJAcBdgljedm32KS6K2EH37xelBOzYHScjZ2SQGiiebVfClw==", - "requires": { - "@pixi/settings": "6.0.4" - } - }, - "@pixi/utils": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-6.0.4.tgz", - "integrity": "sha512-35JTWsAJ8Va0vvtUSQvyOr3kGedGKVuJnHDO89B8C8tSFtMpJYrR44vp1b1p1vOjNak+ulGehZc8LzlCqymViQ==", - "requires": { - "@pixi/constants": "6.0.4", - "@pixi/settings": "6.0.4", - "@types/earcut": "^2.1.0", - "earcut": "^2.2.2", - "eventemitter3": "^3.1.0", - "url": "^0.11.0" - } + "@types/bcrypt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-3.0.1.tgz", + "integrity": "sha512-SwBrq5wb6jXP0o3O3jStdPWbKpimTImfdFD/OZE3uW+jhGpds/l5wMX9lfYOTDOa5Bod2QmOgo9ln+tMp2XP/w==" }, "@types/component-emitter": { "version": "1.2.10", @@ -389,16 +1242,16 @@ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.10.tgz", "integrity": "sha512-C7srjHiVG3Ey1nR6d511dtDkCEjxuN9W1HWAEjGq8kpcwmNM6JJkpC0xvabM7BXTG2wDq8Eu33iH9aQKa7IvLQ==" }, - "@types/earcut": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@types/earcut/-/earcut-2.1.1.tgz", - "integrity": "sha512-w8oigUCDjElRHRRrMvn/spybSMyX8MTkKA5Dv+tS1IE/TgmNZPqUYtvYBXGY8cieSE66gm+szeK+bnbxC2xHTQ==" - }, "@types/node": { "version": "15.6.1", "resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.1.tgz", "integrity": "sha512-7EIraBEyRHEe7CH+Fm1XvgqU6uwZN8Q7jppJGcqjROMT29qhAuuOxYB1uEY5UMYQKEmA5D+5tBnhdaPXSsLONA==" }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -408,11 +1261,43 @@ "negotiator": "0.6.2" } }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, "base64-arraybuffer": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", @@ -423,6 +1308,15 @@ "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" }, + "bcrypt": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.0.1.tgz", + "integrity": "sha512-9BTgmrhZM2t1bNuDtrtIMVSmmxZBrJ71n8Wg+YgdjHuIWYF7SjjmCPZFB+/5i/o/PIeRpwVJR3P+NrpIItUjqw==", + "requires": { + "@mapbox/node-pre-gyp": "^1.0.0", + "node-addon-api": "^3.1.0" + } + }, "body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", @@ -455,16 +1349,45 @@ } } }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, "content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", @@ -488,6 +1411,11 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, "cors": { "version": "2.8.5", "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", @@ -505,6 +1433,11 @@ "ms": "2.1.2" } }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -515,10 +1448,10 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, - "earcut": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.2.tgz", - "integrity": "sha512-eZoZPPJcUHnfRZ0PjLvx2qBordSiO8ofC3vt+qACLM95u+4DovnbYNpQtJh0DNsWj8RnxrQytD4WA8gj5cRIaQ==" + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" }, "ee-first": { "version": "1.1.1", @@ -562,11 +1495,6 @@ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, - "eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" - }, "express": { "version": "4.17.1", "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", @@ -663,6 +1591,52 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "requires": { + "minipass": "^3.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "requires": { + "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" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, "http-errors": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", @@ -675,6 +1649,15 @@ "toidentifier": "1.0.0" } }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -683,6 +1666,15 @@ "safer-buffer": ">= 2.1.2 < 3" } }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -693,10 +1685,41 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" }, - "ismobilejs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ismobilejs/-/ismobilejs-1.1.1.tgz", - "integrity": "sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==" + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } }, "media-typer": { "version": "0.3.0", @@ -731,10 +1754,35 @@ "mime-db": "1.47.0" } }, - "mini-signals": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mini-signals/-/mini-signals-1.2.0.tgz", - "integrity": "sha1-RbCAE8X65RokqhqTXNMXye1yHXQ=" + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" }, "ms": { "version": "2.1.2", @@ -746,6 +1794,40 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, + "node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==" + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "requires": { + "abbrev": "1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -759,67 +1841,33 @@ "ee-first": "1.1.1" } }, - "parse-uri": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/parse-uri/-/parse-uri-1.0.3.tgz", - "integrity": "sha512-upMnGxNcm+45So85HoguwZTVZI9u11i36DdxJfGF2HYWS2eh3TIx7+/tTi7qrEq15qzGkVhsKjesau+kCk48pA==" + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" }, - "pixi.js": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-6.0.4.tgz", - "integrity": "sha512-zAlwr5x9xytaflmZiZWl/ZhlSf+lZzeJG+Hexa7Buf7cvEhHPfSITy4NNk0+qnMXKooQidikBmypShDsj2jAdg==", - "requires": { - "@pixi/accessibility": "6.0.4", - "@pixi/app": "6.0.4", - "@pixi/compressed-textures": "6.0.4", - "@pixi/constants": "6.0.4", - "@pixi/core": "6.0.4", - "@pixi/display": "6.0.4", - "@pixi/extract": "6.0.4", - "@pixi/filter-alpha": "6.0.4", - "@pixi/filter-blur": "6.0.4", - "@pixi/filter-color-matrix": "6.0.4", - "@pixi/filter-displacement": "6.0.4", - "@pixi/filter-fxaa": "6.0.4", - "@pixi/filter-noise": "6.0.4", - "@pixi/graphics": "6.0.4", - "@pixi/interaction": "6.0.4", - "@pixi/loaders": "6.0.4", - "@pixi/math": "6.0.4", - "@pixi/mesh": "6.0.4", - "@pixi/mesh-extras": "6.0.4", - "@pixi/mixin-cache-as-bitmap": "6.0.4", - "@pixi/mixin-get-child-by-name": "6.0.4", - "@pixi/mixin-get-global-position": "6.0.4", - "@pixi/particles": "6.0.4", - "@pixi/polyfill": "6.0.4", - "@pixi/prepare": "6.0.4", - "@pixi/runner": "6.0.4", - "@pixi/settings": "6.0.4", - "@pixi/sprite": "6.0.4", - "@pixi/sprite-animated": "6.0.4", - "@pixi/sprite-tiling": "6.0.4", - "@pixi/spritesheet": "6.0.4", - "@pixi/text": "6.0.4", - "@pixi/text-bitmap": "6.0.4", - "@pixi/ticker": "6.0.4", - "@pixi/utils": "6.0.4" - } - }, - "promise-polyfill": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.0.tgz", - "integrity": "sha512-k/TC0mIcPVF6yHhUvwAp7cvL6I2fFV7TzF1DuGPI8mBh4QQazf36xCKEHKTZKRysEoTQoQdKyP25J8MPJp7j5g==" + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "proxy-addr": { "version": "2.0.6", @@ -830,21 +1878,11 @@ "ipaddr.js": "1.9.1" } }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - }, "qs": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, "range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -861,13 +1899,26 @@ "unpipe": "1.0.0" } }, - "resource-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-3.0.1.tgz", - "integrity": "sha512-fBuCRbEHdLCI1eglzQhUv9Rrdcmqkydr1r6uHE2cYHvRBrcLXeSmbE/qI/urFt8rPr/IGxir3BUwM5kUK8XoyA==", + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "requires": { - "mini-signals": "^1.2.0", - "parse-uri": "^1.0.0" + "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" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" } }, "safe-buffer": { @@ -880,6 +1931,14 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + }, "send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", @@ -933,11 +1992,21 @@ "send": "0.17.1" } }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, "setprototypeof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, "socket.io": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.1.2.tgz", @@ -974,6 +2043,45 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "tar": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", + "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, "toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", @@ -993,14 +2101,10 @@ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "utils-merge": { "version": "1.0.1", @@ -1012,10 +2116,28 @@ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, "ws": { "version": "7.4.6", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } } diff --git a/package.json b/package.json index bd0a92e..5d46cf0 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "projektmanagement-game", "version": "1.0.0", "dependencies": { + "@socket.io/admin-ui": "^0.1.2", "express": "^4.17.1", "socket.io": "^4.1.2" } diff --git a/public/css/header.css b/public/css/header.css index c10b70f..83b7b85 100644 --- a/public/css/header.css +++ b/public/css/header.css @@ -5,7 +5,11 @@ header { background-color: #7d7d7d; color: #ffffff; height: 3em; - padding-top: 10px; + padding-top: 5px; + padding-bottom: 5px; + display: grid; + grid-gap: 5%; + grid-template-columns: 25% 40% 25%; } .title { @@ -15,4 +19,13 @@ header { align-items: center; font-size: 2em; vertical-align: central; -} \ No newline at end of file +} + +.build { + display: flex; + justify-content: center; + align-items: flex-end; + font-size: 1em; + padding-right: 10px; + flex-direction: column; +} diff --git a/public/css/mobile.css b/public/css/mobile.css new file mode 100644 index 0000000..cdd1849 --- /dev/null +++ b/public/css/mobile.css @@ -0,0 +1,35 @@ +html { + width: 100%; + height: 100%; + font-family: Arial, sans-serif +} + +body { + width: 100%; + height: 100%; + padding: 0; + margin: 0; + overflow: hidden; +} + +main { + display: grid; + grid-template-rows: 80% 20%; + height: calc(100% - 3em - 10px); +} + +.material-icon { + font-family: Material Icons, sans-serif !important; + font-weight: 400; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-feature-settings: "liga"; + -webkit-font-smoothing: antialiased; +} \ No newline at end of file diff --git a/public/index.html b/public/index.html index b30a019..f8c1518 100644 --- a/public/index.html +++ b/public/index.html @@ -16,7 +16,10 @@
-
Projektmanagement Game
+
+
PM-Game
+
DATE_TO_BE_REPLACEDCOMMIT_TO_BE_REPLACED +
@@ -50,7 +53,7 @@ + src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.1.2/socket.io.js"> diff --git a/public/js/Button.js b/public/js/Button.js index d7ad35d..6a6b79f 100644 --- a/public/js/Button.js +++ b/public/js/Button.js @@ -9,7 +9,7 @@ function Button(default_color, hover_color, select_color, width, height, x, y, t this.text = text; this.status = status; this.button_is_answer = button_is_answer; - this.click = click; + this.pointerdown = click; this.selected = false; let _this = this; @@ -20,17 +20,17 @@ function Button(default_color, hover_color, select_color, width, height, x, y, t this.graphics.beginFill(color); this.graphics.drawRect(this.x, this.y, this.width, this.height); this.graphics.endFill(); - } + }; this.selectButton = function () { this.selected = true; this.changeButtonColor(select_color); - } + }; this.unSelectButton = function () { this.selected = false; this.changeButtonColor(default_color); - } + }; this.getButton = function () { const style = new PIXI.TextStyle({ @@ -55,7 +55,7 @@ function Button(default_color, hover_color, select_color, width, height, x, y, t this.graphics.interactive = true; this.graphics.buttonMode = true; this.graphics.defaultCursor = 'pointer'; - this.graphics.on('click', function () { + this.graphics.on('pointerdown', function () { click(); }); this.graphics.on('mouseover', function () { @@ -67,5 +67,5 @@ function Button(default_color, hover_color, select_color, width, height, x, y, t if (!_this.selected) _this.changeButtonColor(_this.default_color); }); return this.graphics; - } + }; } diff --git a/public/js/Sprite.js b/public/js/Sprite.js index 43b0fbb..2d588b3 100644 --- a/public/js/Sprite.js +++ b/public/js/Sprite.js @@ -6,12 +6,12 @@ function Sprite(x, y) { this.getSprite = function () { this.setSize(this.sprite, sprite_size); return this.sprite; - } + }; this.setSize = function (sprite, size) { sprite.x = this.coord_x * size - size * 0.2; sprite.y = this.coord_y * size - size * 0.2; sprite.width = size * 1.5; sprite.height = size * 1.5; - } + }; } \ No newline at end of file diff --git a/public/js/chat.js b/public/js/chat.js index 1558691..724ccf4 100644 --- a/public/js/chat.js +++ b/public/js/chat.js @@ -2,7 +2,9 @@ let socket; let connected = false; function start_chat() { - socket = io(); + socket = io("/", { + closeOnBeforeunload: false + }); socket.on('login', function () { connected = true; @@ -43,6 +45,7 @@ function addLogMessage(message) { li.innerText = message; document.getElementById("messages_received").appendChild(li); + document.getElementById("messages_received").scrollTop = document.getElementById("messages_received").scrollHeight; } function addChatMessage(data) { @@ -65,4 +68,12 @@ function addChatMessage(data) { messageDiv.appendChild(messageBody); document.getElementById('messages_received').append(messageDiv); -} \ No newline at end of file + document.getElementById("messages_received").scrollTop = document.getElementById("messages_received").scrollHeight; +} + +document.getElementById('message_input').onkeydown = function (e) { + if (e.key === "Enter") { + sendMessage(); + e.preventDefault(); + } +}; \ No newline at end of file diff --git a/public/js/game.js b/public/js/game.js index eaf00d9..bfeb773 100644 --- a/public/js/game.js +++ b/public/js/game.js @@ -64,7 +64,7 @@ let sprites = [ function start_game() { app = new PIXI.Application({ autoResize: true, - resolution: devicePixelRatio, + resolution: 1, backgroundAlpha: 0, width: max_size / game_board_size, height: max_size / game_board_size @@ -126,7 +126,7 @@ function start_game() { dice.interactive = true; dice.buttonMode = true; dice.defaultCursor = 'pointer'; - dice.on('click', function () { + dice.on('pointerdown', function () { if (!diced) { socket.emit('roll dice'); } @@ -185,7 +185,7 @@ function generate_card_stack(sprite, x, y, onclick) { sprite.interactive = true; sprite.buttonMode = true; sprite.defaultCursor = 'pointer'; - sprite.on('click', onclick); + sprite.on('pointerdown', onclick); return sprite; }