From bb7265d6b4b6205b0ed61df5d79460f972e0c509 Mon Sep 17 00:00:00 2001
From: Dumitrana-Mihnea <50325644+mihneadumi@users.noreply.github.com>
Date: Sun, 14 May 2023 11:56:01 +0300
Subject: [PATCH] uploaded site and api data
---
api and aux scripts/TrainAI.py | 50 ++
api and aux scripts/data.json | 2 +
api and aux scripts/data.log | 562 +++++++++++++++
api and aux scripts/main.py | 53 ++
api and aux scripts/model.p | Bin 0 -> 2612299 bytes
api and aux scripts/pyvenv.cfg | 8 +
api and aux scripts/start.py | 60 ++
api and aux scripts/start_img_collector.py | 35 +
site/app.html | 80 +++
site/control_utils.css | 339 +++++++++
site/control_utils3d.css | 28 +
site/feedback.css | 221 ++++++
site/feedback.html | 56 ++
site/feedback.js | 52 ++
site/index.html | 63 ++
site/linkedin.png | Bin 0 -> 38680 bytes
site/logo.png | Bin 0 -> 9071 bytes
site/logoacasa.png | Bin 0 -> 14889 bytes
site/reverse.html | 58 ++
site/reverse.js | 477 +++++++++++++
site/reverse_data.json | 1 +
site/script.js | 286 ++++++++
site/style-reverse.css | 285 ++++++++
site/style.css | 754 +++++++++++++++++++++
site/test.css | 35 +
site/test.html | 9 +
site/test.js | 0
site/wave.js | 159 +++++
28 files changed, 3673 insertions(+)
create mode 100644 api and aux scripts/TrainAI.py
create mode 100644 api and aux scripts/data.json
create mode 100644 api and aux scripts/data.log
create mode 100644 api and aux scripts/main.py
create mode 100644 api and aux scripts/model.p
create mode 100644 api and aux scripts/pyvenv.cfg
create mode 100644 api and aux scripts/start.py
create mode 100644 api and aux scripts/start_img_collector.py
create mode 100644 site/app.html
create mode 100644 site/control_utils.css
create mode 100644 site/control_utils3d.css
create mode 100644 site/feedback.css
create mode 100644 site/feedback.html
create mode 100644 site/feedback.js
create mode 100644 site/index.html
create mode 100644 site/linkedin.png
create mode 100644 site/logo.png
create mode 100644 site/logoacasa.png
create mode 100644 site/reverse.html
create mode 100644 site/reverse.js
create mode 100644 site/reverse_data.json
create mode 100644 site/script.js
create mode 100644 site/style-reverse.css
create mode 100644 site/style.css
create mode 100644 site/test.css
create mode 100644 site/test.html
create mode 100644 site/test.js
create mode 100644 site/wave.js
diff --git a/api and aux scripts/TrainAI.py b/api and aux scripts/TrainAI.py
new file mode 100644
index 0000000..cb61c0f
--- /dev/null
+++ b/api and aux scripts/TrainAI.py
@@ -0,0 +1,50 @@
+import os
+import mediapipe as mp
+import cv2
+import pickle
+from sklearn.ensemble import RandomForestClassifier
+from sklearn.model_selection import train_test_split
+from sklearn.metrics import accuracy_score
+import numpy as np
+
+mp_hands = mp.solutions.hands
+hands = mp_hands.Hands(static_image_mode=True, min_detection_confidence=0.5)
+data_dir = "./data"
+data = []
+labels = []
+
+for dir_ in os.listdir(data_dir):
+ print(dir_)
+ for img_path in os.listdir(os.path.join(data_dir, dir_)):
+ data_aux = []
+ img = cv2.imread(os.path.join(data_dir, dir_, img_path))
+
+ img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
+ results = hands.process(img_rgb)
+ if results.multi_hand_landmarks:
+ for hand_landmarks in results.multi_hand_landmarks:
+ for i in range(len(hand_landmarks.landmark)):
+ x = hand_landmarks.landmark[i].x
+ y = hand_landmarks.landmark[i].y
+ data_aux.append(x)
+ data_aux.append(y)
+ # print(f"Poza {img_path} cu ", end=' ')
+ # print(x, y)
+ data.append(data_aux)
+ labels.append(dir_)
+
+
+data = np.asarray(data)
+labels = np.asarray(labels)
+x_train, x_test, y_train, y_test = train_test_split(data, labels, test_size=0.2, shuffle=True, stratify=labels)
+model = RandomForestClassifier()
+model.fit(x_train, y_train)
+y_predict = model.predict(x_test)
+score = accuracy_score(y_predict, y_test)
+
+print(f"{score * 100}% classified correctly")
+f = open("model.p", "wb")
+pickle.dump({"model": model}, f)
+f.close()
+
+
diff --git a/api and aux scripts/data.json b/api and aux scripts/data.json
new file mode 100644
index 0000000..3948ab1
--- /dev/null
+++ b/api and aux scripts/data.json
@@ -0,0 +1,2 @@
+[[{"x":0.8352290987968445,"y":1.0246509313583374,"z":6.380777790582215e-7},{"x":0.7852715849876404,"y":0.992743968963623,"z":-0.02249276265501976},{"x":0.7460511326789856,"y":0.9277198910713196,"z":-0.040133822709321976},{"x":0.7261029481887817,"y":0.8596256971359253,"z":-0.05214756354689598},{"x":0.7156654596328735,"y":0.806212842464447,"z":-0.065250463783741},{"x":0.7528064846992493,"y":0.9252693057060242,"z":-0.07445880025625229},{"x":0.7142532467842102,"y":0.8472095727920532,"z":-0.10898181796073914},{"x":0.6942790746688843,"y":0.7844054102897644,"z":-0.1276625096797943},{"x":0.6811489462852478,"y":0.7316831350326538,"z":-0.13941222429275513},{"x":0.7964140176773071,"y":0.8995473384857178,"z":-0.07670313119888306},{"x":0.7756801843643188,"y":0.7937293648719788,"z":-0.1070675328373909},{"x":0.7689130306243896,"y":0.718907356262207,"z":-0.12218372523784637},{"x":0.7662367820739746,"y":0.6581640839576721,"z":-0.13254722952842712},{"x":0.8419972062110901,"y":0.8913975358009338,"z":-0.07802332192659378},{"x":0.8377389311790466,"y":0.8043600916862488,"z":-0.11083008348941803},{"x":0.8356887102127075,"y":0.7433968186378479,"z":-0.127068430185318},{"x":0.8340345025062561,"y":0.6942105889320374,"z":-0.13611175119876862},{"x":0.8862054347991943,"y":0.8947083353996277,"z":-0.07868341356515884},{"x":0.9083899259567261,"y":0.8240664601325989,"z":-0.1105000302195549},{"x":0.9251305460929871,"y":0.7798703908920288,"z":-0.12317387014627457},{"x":0.9397422075271606,"y":0.7432297468185425,"z":-0.1296428143978119}],
+ [{"x":0.15515635907649994,"y":0.9633815288543701,"z":7.199977289928938e-7},{"x":0.20031718909740448,"y":0.9605085849761963,"z":-0.03806344047188759},{"x":0.23353257775306702,"y":0.9522206783294678,"z":-0.06956487894058228},{"x":0.24222178757190704,"y":0.9587247967720032,"z":-0.0999852865934372},{"x":0.24733389914035797,"y":0.9740628004074097,"z":-0.13321256637573242},{"x":0.2604224681854248,"y":0.8114917278289795,"z":-0.06296493113040924},{"x":0.30314508080482483,"y":0.7292249798774719,"z":-0.09619221091270447},{"x":0.3255283236503601,"y":0.6730362176895142,"z":-0.12107474356889725},{"x":0.34156253933906555,"y":0.6200391054153442,"z":-0.1400400847196579},{"x":0.2171422243118286,"y":0.7836028337478638,"z":-0.06895798444747925},{"x":0.24275580048561096,"y":0.6850705742835999,"z":-0.09884735941886902},{"x":0.25457364320755005,"y":0.6168791651725769,"z":-0.12403333187103271},{"x":0.2625443637371063,"y":0.5596932768821716,"z":-0.14239178597927094},{"x":0.170135498046875,"y":0.7859712839126587,"z":-0.07722687721252441},{"x":0.1786479949951172,"y":0.6838392615318298,"z":-0.10688867419958115},{"x":0.17985376715660095,"y":0.6157321333885193,"z":-0.1315436065196991},{"x":0.18125669658184052,"y":0.5590601563453674,"z":-0.14800553023815155},{"x":0.12401241064071655,"y":0.8124399781227112,"z":-0.0879233255982399},{"x":0.10290519893169403,"y":0.7394360899925232,"z":-0.11872303485870361},{"x":0.08626630902290344,"y":0.6938216090202332,"z":-0.13427463173866272},{"x":0.07402856647968292,"y":0.6551141142845154,"z":-0.14299866557121277}]]
\ No newline at end of file
diff --git a/api and aux scripts/data.log b/api and aux scripts/data.log
new file mode 100644
index 0000000..ee437ee
--- /dev/null
+++ b/api and aux scripts/data.log
@@ -0,0 +1,562 @@
+mesh_viewer.ts:97 Uncaught ReferenceError: javascript is not defined
+ at mesh_viewer.ts:97:45
+(anonymous) @ mesh_viewer.ts:97
+mesh_viewer.ts:97 GET http://localhost/dist8/deps.js net::ERR_ABORTED 404 (Not Found)
+goog.Dependency.load @ mesh_viewer.ts:97
+(anonymous) @ mesh_viewer.ts:97
+goog.DebugLoader_.loadDeps_ @ mesh_viewer.ts:97
+goog.DebugLoader_.loadClosureDeps @ mesh_viewer.ts:97
+(anonymous) @ mesh_viewer.ts:97
+wave.js:23
flex
+script.js:54 div.landmark-grid-container
+hands_solution_simd_wasm_bin.js:9 I0000 00:00:1683939511.204000 1 gl_context_webgl.cc:151] Successfully created a WebGL context with major version 3 and handle 3
+put_char @ hands_solution_simd_wasm_bin.js:9
+write @ hands_solution_simd_wasm_bin.js:9
+write @ hands_solution_simd_wasm_bin.js:9
+doWritev @ hands_solution_simd_wasm_bin.js:9
+_fd_write @ hands_solution_simd_wasm_bin.js:9
+$func8152 @ hands_solution_simd_wasm_bin.wasm:0x503240
+$func8162 @ hands_solution_simd_wasm_bin.wasm:0x5039b1
+$func8163 @ hands_solution_simd_wasm_bin.wasm:0x503a5c
+$func7782 @ hands_solution_simd_wasm_bin.wasm:0x4d7edf
+$func7781 @ hands_solution_simd_wasm_bin.wasm:0x4d7ebe
+$func7779 @ hands_solution_simd_wasm_bin.wasm:0x4d7b6a
+$func7760 @ hands_solution_simd_wasm_bin.wasm:0x4d6781
+$func7759 @ hands_solution_simd_wasm_bin.wasm:0x4d5a01
+$func6988 @ hands_solution_simd_wasm_bin.wasm:0x495061
+$func6477 @ hands_solution_simd_wasm_bin.wasm:0x457e96
+$func6272 @ hands_solution_simd_wasm_bin.wasm:0x44323d
+$func251 @ hands_solution_simd_wasm_bin.wasm:0x1e50a
+$func221 @ hands_solution_simd_wasm_bin.wasm:0x19cb6
+(anonymous) @ hands_solution_simd_wasm_bin.js:9
+(anonymous) @ hands.js:82
+ua @ hands.js:14
+next @ hands.js:15
+b @ hands.js:15
+Promise.then (async)
+g @ hands.js:15
+Promise.then (async)
+g @ hands.js:15
+(anonymous) @ hands.js:15
+wa @ hands.js:15
+E @ hands.js:16
+x.send @ hands.js:79
+(anonymous) @ hands.js:94
+ua @ hands.js:14
+next @ hands.js:15
+(anonymous) @ hands.js:15
+wa @ hands.js:15
+E @ hands.js:16
+x.send @ hands.js:94
+onFrame @ script.js:155
+U.tick @ control_utils.js:44
+(anonymous) @ control_utils.js:43
+requestAnimationFrame (async)
+V @ control_utils.js:43
+c @ control_utils.js:45
+hands_solution_simd_wasm_bin.js:9 I0000 00:00:1683939511.206000 1 gl_context.cc:359] GL version: 3.0 (OpenGL ES 3.0 (WebGL 2.0 (OpenGL ES 3.0 Chromium)))
+put_char @ hands_solution_simd_wasm_bin.js:9
+write @ hands_solution_simd_wasm_bin.js:9
+write @ hands_solution_simd_wasm_bin.js:9
+doWritev @ hands_solution_simd_wasm_bin.js:9
+_fd_write @ hands_solution_simd_wasm_bin.js:9
+$func8152 @ hands_solution_simd_wasm_bin.wasm:0x503240
+$func8162 @ hands_solution_simd_wasm_bin.wasm:0x5039b1
+$func8163 @ hands_solution_simd_wasm_bin.wasm:0x503a5c
+$func7782 @ hands_solution_simd_wasm_bin.wasm:0x4d7edf
+$func7781 @ hands_solution_simd_wasm_bin.wasm:0x4d7ebe
+$func7779 @ hands_solution_simd_wasm_bin.wasm:0x4d7b6a
+$func7760 @ hands_solution_simd_wasm_bin.wasm:0x4d6781
+$func7759 @ hands_solution_simd_wasm_bin.wasm:0x4d5a01
+$func6933 @ hands_solution_simd_wasm_bin.wasm:0x493386
+$func6861 @ hands_solution_simd_wasm_bin.wasm:0x490d93
+$func6860 @ hands_solution_simd_wasm_bin.wasm:0x490c61
+$func6988 @ hands_solution_simd_wasm_bin.wasm:0x495114
+$func6477 @ hands_solution_simd_wasm_bin.wasm:0x457e96
+$func6272 @ hands_solution_simd_wasm_bin.wasm:0x44323d
+$func251 @ hands_solution_simd_wasm_bin.wasm:0x1e50a
+$func221 @ hands_solution_simd_wasm_bin.wasm:0x19cb6
+(anonymous) @ hands_solution_simd_wasm_bin.js:9
+(anonymous) @ hands.js:82
+ua @ hands.js:14
+next @ hands.js:15
+b @ hands.js:15
+Promise.then (async)
+g @ hands.js:15
+Promise.then (async)
+g @ hands.js:15
+(anonymous) @ hands.js:15
+wa @ hands.js:15
+E @ hands.js:16
+x.send @ hands.js:79
+(anonymous) @ hands.js:94
+ua @ hands.js:14
+next @ hands.js:15
+(anonymous) @ hands.js:15
+wa @ hands.js:15
+E @ hands.js:16
+x.send @ hands.js:94
+onFrame @ script.js:155
+U.tick @ control_utils.js:44
+(anonymous) @ control_utils.js:43
+requestAnimationFrame (async)
+V @ control_utils.js:43
+c @ control_utils.js:45
+hands_solution_simd_wasm_bin.js:9 W0000 00:00:1683939511.207000 1 gl_context.cc:1000] OpenGL error checking is disabled
+put_char @ hands_solution_simd_wasm_bin.js:9
+write @ hands_solution_simd_wasm_bin.js:9
+write @ hands_solution_simd_wasm_bin.js:9
+doWritev @ hands_solution_simd_wasm_bin.js:9
+_fd_write @ hands_solution_simd_wasm_bin.js:9
+$func8152 @ hands_solution_simd_wasm_bin.wasm:0x503240
+$func8162 @ hands_solution_simd_wasm_bin.wasm:0x5039b1
+$func8163 @ hands_solution_simd_wasm_bin.wasm:0x503a5c
+$func7782 @ hands_solution_simd_wasm_bin.wasm:0x4d7edf
+$func7781 @ hands_solution_simd_wasm_bin.wasm:0x4d7ebe
+$func7779 @ hands_solution_simd_wasm_bin.wasm:0x4d7b6a
+$func7760 @ hands_solution_simd_wasm_bin.wasm:0x4d6781
+$func7759 @ hands_solution_simd_wasm_bin.wasm:0x4d5a01
+$func6861 @ hands_solution_simd_wasm_bin.wasm:0x490df7
+$func6860 @ hands_solution_simd_wasm_bin.wasm:0x490c61
+$func6988 @ hands_solution_simd_wasm_bin.wasm:0x495114
+$func6477 @ hands_solution_simd_wasm_bin.wasm:0x457e96
+$func6272 @ hands_solution_simd_wasm_bin.wasm:0x44323d
+$func251 @ hands_solution_simd_wasm_bin.wasm:0x1e50a
+$func221 @ hands_solution_simd_wasm_bin.wasm:0x19cb6
+(anonymous) @ hands_solution_simd_wasm_bin.js:9
+(anonymous) @ hands.js:82
+ua @ hands.js:14
+next @ hands.js:15
+b @ hands.js:15
+Promise.then (async)
+g @ hands.js:15
+Promise.then (async)
+g @ hands.js:15
+(anonymous) @ hands.js:15
+wa @ hands.js:15
+E @ hands.js:16
+x.send @ hands.js:79
+(anonymous) @ hands.js:94
+ua @ hands.js:14
+next @ hands.js:15
+(anonymous) @ hands.js:15
+wa @ hands.js:15
+E @ hands.js:16
+x.send @ hands.js:94
+onFrame @ script.js:155
+U.tick @ control_utils.js:44
+(anonymous) @ control_utils.js:43
+requestAnimationFrame (async)
+V @ control_utils.js:43
+c @ control_utils.js:45
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 [[{"x":0.8140498995780945,"y":1.155534029006958,"z":0.0000010514937685002224},{"x":0.7359741926193237,"y":1.0859907865524292,"z":-0.03146498277783394},{"x":0.6988840103149414,"y":0.9564893841743469,"z":-0.06314167380332947},{"x":0.7039138078689575,"y":0.8355244994163513,"z":-0.08410068601369858},{"x":0.726629912853241,"y":0.750944197177887,"z":-0.10955847799777985},{"x":0.7080771327018738,"y":0.9438077211380005,"z":-0.14544285833835602},{"x":0.6564611792564392,"y":0.7907771468162537,"z":-0.20122770965099335},{"x":0.6265214681625366,"y":0.6916421055793762,"z":-0.23605354130268097},{"x":0.6009018421173096,"y":0.6081937551498413,"z":-0.2610349655151367},{"x":0.7865785360336304,"y":0.9510325789451599,"z":-0.15634576976299286},{"x":0.7815659046173096,"y":0.7740107774734497,"z":-0.20514428615570068},{"x":0.7765318155288696,"y":0.6572185754776001,"z":-0.23160769045352936},{"x":0.7660412788391113,"y":0.5650690793991089,"z":-0.25320181250572205},{"x":0.8642588257789612,"y":0.9737101197242737,"z":-0.162696972489357},{"x":0.8906987905502319,"y":0.7985145449638367,"z":-0.21562379598617554},{"x":0.9004497528076172,"y":0.6689568161964417,"z":-0.24854426085948944},{"x":0.9049975275993347,"y":0.5695917010307312,"z":-0.2726788818836212},{"x":0.9294121265411377,"y":1.0054806470870972,"z":-0.16661357879638672},{"x":0.9852825403213501,"y":0.9116175770759583,"z":-0.22081062197685242},{"x":1.01906156539917,"y":0.8806132078170776,"z":-0.2398642599582672},{"x":1.045973300933838,"y":0.8570849895477295,"z":-0.2519315779209137}]]
+script.js:124 [[{"x":0.8322381973266602,"y":1.0162608623504639,"z":9.723190714794328e-7},{"x":0.747757077217102,"y":0.9798997640609741,"z":-0.03337813913822174},{"x":0.6753461956977844,"y":0.9310736060142517,"z":-0.07073889672756195},{"x":0.6143061518669128,"y":0.9143345355987549,"z":-0.10576065629720688},{"x":0.5562354326248169,"y":0.9335223436355591,"z":-0.14704079926013947},{"x":0.69749516248703,"y":0.731829822063446,"z":-0.08730152994394302},{"x":0.6400586366653442,"y":0.5744540095329285,"z":-0.1286448985338211},{"x":0.611598789691925,"y":0.4722822904586792,"z":-0.1556382030248642},{"x":0.5902823805809021,"y":0.38392505049705505,"z":-0.17510879039764404},{"x":0.7820249795913696,"y":0.7123401761054993,"z":-0.10481241345405579},{"x":0.7626743912696838,"y":0.5235517024993896,"z":-0.1402134746313095},{"x":0.7528814673423767,"y":0.3993535339832306,"z":-0.17106296122074127},{"x":0.74772709608078,"y":0.29079756140708923,"z":-0.1934414654970169},{"x":0.8607425689697266,"y":0.7370054721832275,"z":-0.12276580184698105},{"x":0.866374671459198,"y":0.5532642006874084,"z":-0.1690400391817093},{"x":0.8686074018478394,"y":0.4267726242542267,"z":-0.21038341522216797},{"x":0.8674495816230774,"y":0.3199838697910309,"z":-0.23731349408626556},{"x":0.9321892261505127,"y":0.7892143726348877,"z":-0.13958130776882172},{"x":0.9803751707077026,"y":0.6789135336875916,"z":-0.18509693443775177},{"x":1.0127334594726562,"y":0.6282098889350891,"z":-0.20355607569217682},{"x":1.0357786417007446,"y":0.5887877941131592,"z":-0.21291205286979675}],[{"x":0.8498014211654663,"y":1.0710203647613525,"z":0.000001164914124274219},{"x":0.7486876249313354,"y":1.013598084449768,"z":-0.026714980602264404},{"x":0.6837756037712097,"y":0.9565881490707397,"z":-0.051181405782699585},{"x":0.6340632438659668,"y":0.9390504360198975,"z":-0.07414879649877548},{"x":0.5887877941131592,"y":0.9596759676933289,"z":-0.10166682302951813},{"x":0.7089052200317383,"y":0.7908656001091003,"z":-0.04424835741519928},{"x":0.6742098927497864,"y":0.6782524585723877,"z":-0.06515457481145859},{"x":0.6534513831138611,"y":0.5959567427635193,"z":-0.08844318240880966},{"x":0.6361015439033508,"y":0.5206927061080933,"z":-0.10760944336652756},{"x":0.784972608089447,"y":0.762688934803009,"z":-0.05276075005531311},{"x":0.7709494829177856,"y":0.640825629234314,"z":-0.06670714914798737},{"x":0.7649253010749817,"y":0.5491682291030884,"z":-0.09577775001525879},{"x":0.759592592716217,"y":0.4663121998310089,"z":-0.11949466913938522},{"x":0.8654502630233765,"y":0.7626949548721313,"z":-0.06146051734685898},{"x":0.8667386770248413,"y":0.6432316303253174,"z":-0.08373191952705383},{"x":0.8681396842002869,"y":0.5473146438598633,"z":-0.11767440289258957},{"x":0.8685454726219177,"y":0.4643867611885071,"z":-0.1426226645708084},{"x":0.9407880902290344,"y":0.7885806560516357,"z":-0.0701870545744896},{"x":0.9821084141731262,"y":0.6941385865211487,"z":-0.09336858987808228},{"x":1.0133854150772095,"y":0.6354882121086121,"z":-0.10514674335718155},{"x":1.042013168334961,"y":0.5879390835762024,"z":-0.11232069879770279}]]
+script.js:124 [[{"x":0.8744906783103943,"y":1.0113388299942017,"z":0.0000016394551494158804},{"x":0.7643049955368042,"y":0.9914852976799011,"z":-0.05137281119823456},{"x":0.6645444631576538,"y":0.9439111948013306,"z":-0.09482662379741669},{"x":0.5649287700653076,"y":0.9376358985900879,"z":-0.13422027230262756},{"x":0.47993800044059753,"y":0.9410340785980225,"z":-0.1797209531068802},{"x":0.728915810585022,"y":0.6543309092521667,"z":-0.07610289752483368},{"x":0.6869057416915894,"y":0.5063509345054626,"z":-0.11408723890781403},{"x":0.6637019515037537,"y":0.4040322005748749,"z":-0.15381643176078796},{"x":0.6419637203216553,"y":0.3096970319747925,"z":-0.18602930009365082},{"x":0.815497875213623,"y":0.6185013055801392,"z":-0.08858537673950195},{"x":0.8095181584358215,"y":0.4541466534137726,"z":-0.1191876009106636},{"x":0.8079002499580383,"y":0.34311604499816895,"z":-0.163346067070961},{"x":0.8017667531967163,"y":0.24449360370635986,"z":-0.1977064609527588},{"x":0.8944206833839417,"y":0.6361277103424072,"z":-0.10334961116313934},{"x":0.9133416414260864,"y":0.47029370069503784,"z":-0.15086358785629272},{"x":0.9263125061988831,"y":0.3586118221282959,"z":-0.20441746711730957},{"x":0.9297343492507935,"y":0.2608588933944702,"z":-0.24374401569366455},{"x":0.956680178642273,"y":0.6983981728553772,"z":-0.11912048608064651},{"x":1.030639410018921,"y":0.6155490875244141,"z":-0.18160003423690796},{"x":1.0884859561920166,"y":0.6042100191116333,"z":-0.20924940705299377},{"x":1.1325582265853882,"y":0.603702962398529,"z":-0.223610982298851}]]
+script.js:124 [[{"x":0.8803628087043762,"y":1.0014629364013672,"z":0.0000014593846344723715},{"x":0.7713954448699951,"y":0.9917486310005188,"z":-0.07023174315690994},{"x":0.6567171812057495,"y":0.9428564310073853,"z":-0.11787640303373337},{"x":0.5484996438026428,"y":0.9306182861328125,"z":-0.15846259891986847},{"x":0.45203131437301636,"y":0.9358161687850952,"z":-0.20434263348579407},{"x":0.7307270169258118,"y":0.6322365403175354,"z":-0.09952437877655029},{"x":0.68035888671875,"y":0.45874059200286865,"z":-0.14275749027729034},{"x":0.6545394062995911,"y":0.34464821219444275,"z":-0.17610874772071838},{"x":0.6361608505249023,"y":0.24633392691612244,"z":-0.20187216997146606},{"x":0.8230410814285278,"y":0.5939611196517944,"z":-0.10499469935894012},{"x":0.825035035610199,"y":0.38512033224105835,"z":-0.13552255928516388},{"x":0.8303371667861938,"y":0.24905839562416077,"z":-0.16807974874973297},{"x":0.836621105670929,"y":0.13350504636764526,"z":-0.19516661763191223},{"x":0.9048917889595032,"y":0.6164177060127258,"z":-0.11628825217485428},{"x":0.9281401634216309,"y":0.4230707585811615,"z":-0.16807974874973297},{"x":0.9420567750930786,"y":0.30110469460487366,"z":-0.2204006463289261},{"x":0.9535149931907654,"y":0.1962016224861145,"z":-0.25957512855529785},{"x":0.9735214114189148,"y":0.6842241883277893,"z":-0.13066986203193665},{"x":1.0599873065948486,"y":0.6041153073310852,"z":-0.19904875755310059},{"x":1.1255981922149658,"y":0.5811589360237122,"z":-0.23504696786403656},{"x":1.1767141819000244,"y":0.565033495426178,"z":-0.2569282054901123}]]
+script.js:124 [[{"x":0.8750336170196533,"y":0.9908167123794556,"z":0.0000012551245163194835},{"x":0.7648800015449524,"y":0.973118782043457,"z":-0.07036110758781433},{"x":0.6479532718658447,"y":0.9213394522666931,"z":-0.11904314160346985},{"x":0.5410860180854797,"y":0.9169502258300781,"z":-0.16230539977550507},{"x":0.44352078437805176,"y":0.9242358207702637,"z":-0.2106516808271408},{"x":0.7142426371574402,"y":0.608866274356842,"z":-0.08748376369476318},{"x":0.6647303700447083,"y":0.4406206011772156,"z":-0.13304820656776428},{"x":0.6396316885948181,"y":0.3296501040458679,"z":-0.17228162288665771},{"x":0.6215206384658813,"y":0.2316095530986786,"z":-0.20393691956996918},{"x":0.807329535484314,"y":0.570217490196228,"z":-0.09650072455406189},{"x":0.8063603639602661,"y":0.36497920751571655,"z":-0.12873157858848572},{"x":0.8118831515312195,"y":0.23504072427749634,"z":-0.16393612325191498},{"x":0.8161804676055908,"y":0.1196364164352417,"z":-0.1945362538099289},{"x":0.8918552994728088,"y":0.5944584608078003,"z":-0.11319170147180557},{"x":0.9075238704681396,"y":0.39764949679374695,"z":-0.16384020447731018},{"x":0.9234153032302856,"y":0.2843173146247864,"z":-0.2071983814239502},{"x":0.9313442707061768,"y":0.17628028988838196,"z":-0.24096404016017914},{"x":0.966572105884552,"y":0.6652205586433411,"z":-0.13400746881961823},{"x":1.02266263961792,"y":0.5689550042152405,"z":-0.1926177591085434},{"x":1.0669612884521484,"y":0.5431395769119263,"z":-0.21679089963436127},{"x":1.098677396774292,"y":0.5169825553894043,"z":-0.23329001665115356}]]
+script.js:124 [[{"x":0.8665289282798767,"y":0.9848954677581787,"z":0.0000013209360076871235},{"x":0.7609226703643799,"y":0.9648950695991516,"z":-0.07197963446378708},{"x":0.6480709314346313,"y":0.9116542339324951,"z":-0.12011947482824326},{"x":0.5411328673362732,"y":0.9049577713012695,"z":-0.16246043145656586},{"x":0.4500688314437866,"y":0.9175719022750854,"z":-0.21004799008369446},{"x":0.7176499366760254,"y":0.6001684069633484,"z":-0.09292000532150269},{"x":0.6621071696281433,"y":0.4306213855743408,"z":-0.13935700058937073},{"x":0.6352125406265259,"y":0.31676575541496277,"z":-0.1772797703742981},{"x":0.6183992028236389,"y":0.2175496220588684,"z":-0.20765480399131775},{"x":0.8082113862037659,"y":0.5574846267700195,"z":-0.10069786012172699},{"x":0.8021847009658813,"y":0.35260292887687683,"z":-0.13659563660621643},{"x":0.8050499558448792,"y":0.21853852272033691,"z":-0.17415021359920502},{"x":0.8102002143859863,"y":0.10472840070724487,"z":-0.20562979578971863},{"x":0.8905263543128967,"y":0.577374279499054,"z":-0.11606945842504501},{"x":0.9036345481872559,"y":0.3835495412349701,"z":-0.17332181334495544},{"x":0.9175413250923157,"y":0.2644346058368683,"z":-0.227352574467659},{"x":0.9285590648651123,"y":0.16010862588882446,"z":-0.2671162486076355},{"x":0.9619537591934204,"y":0.6445280313491821,"z":-0.13521495461463928},{"x":1.0390549898147583,"y":0.5483458042144775,"z":-0.20470935106277466},{"x":1.1031619310379028,"y":0.5169990062713623,"z":-0.24134349822998047},{"x":1.1517221927642822,"y":0.4936438798904419,"z":-0.2649071216583252}]]
+script.js:124 [[{"x":0.8703764081001282,"y":0.9768186211585999,"z":0.0000012558249409266864},{"x":0.7657812833786011,"y":0.9565961956977844,"z":-0.07109589874744415},{"x":0.6517131328582764,"y":0.9052735567092896,"z":-0.12119261175394058},{"x":0.5451292991638184,"y":0.9060387015342712,"z":-0.16592182219028473},{"x":0.4516203701496124,"y":0.9205896854400635,"z":-0.21583019196987152},{"x":0.7138724327087402,"y":0.5984061360359192,"z":-0.0901646688580513},{"x":0.6639502644538879,"y":0.42965298891067505,"z":-0.13738928735256195},{"x":0.6392043828964233,"y":0.315335214138031,"z":-0.17797516286373138},{"x":0.6221522688865662,"y":0.215796560049057,"z":-0.21018019318580627},{"x":0.8053074479103088,"y":0.5581952333450317,"z":-0.09849842637777328},{"x":0.8013037443161011,"y":0.35290876030921936,"z":-0.13286928832530975},{"x":0.8055440783500671,"y":0.22059544920921326,"z":-0.1694059818983078},{"x":0.8087284564971924,"y":0.10411399602890015,"z":-0.2007635235786438},{"x":0.8892788887023926,"y":0.5780625343322754,"z":-0.11441259831190109},{"x":0.9027993679046631,"y":0.3813081979751587,"z":-0.1658276468515396},{"x":0.9194008708000183,"y":0.2641948461532593,"z":-0.21055684983730316},{"x":0.9281132221221924,"y":0.1560976207256317,"z":-0.2448335587978363},{"x":0.9645347595214844,"y":0.643187403678894,"z":-0.13456428050994873},{"x":1.0217101573944092,"y":0.54313063621521,"z":-0.19285351037979126},{"x":1.0712286233901978,"y":0.5081151723861694,"z":-0.2180902063846588},{"x":1.1070854663848877,"y":0.4762517213821411,"z":-0.2352285534143448}]]
+script.js:124 [[{"x":0.8703004121780396,"y":0.9648945927619934,"z":0.0000013311509974300861},{"x":0.7689233422279358,"y":0.9532482624053955,"z":-0.07444275170564651},{"x":0.6585955023765564,"y":0.9074979424476624,"z":-0.1251223087310791},{"x":0.5567349791526794,"y":0.9055793285369873,"z":-0.1697239726781845},{"x":0.46537983417510986,"y":0.9173372983932495,"z":-0.21990086138248444},{"x":0.7198460102081299,"y":0.5923007130622864,"z":-0.09706347435712814},{"x":0.6630349159240723,"y":0.42493629455566406,"z":-0.1448640376329422},{"x":0.6365411877632141,"y":0.31033754348754883,"z":-0.1843474805355072},{"x":0.6199336051940918,"y":0.2101970911026001,"z":-0.2158793956041336},{"x":0.8100979328155518,"y":0.5513138771057129,"z":-0.10492360591888428},{"x":0.8018510341644287,"y":0.34806469082832336,"z":-0.14157375693321228},{"x":0.8056693077087402,"y":0.21214821934700012,"z":-0.18114858865737915},{"x":0.8115657567977905,"y":0.09598743915557861,"z":-0.21441704034805298},{"x":0.8922126293182373,"y":0.5714350342750549,"z":-0.12027827650308609},{"x":0.9049876928329468,"y":0.38115814328193665,"z":-0.1776755154132843},{"x":0.9220544695854187,"y":0.26010647416114807,"z":-0.23269642889499664},{"x":0.9345092177391052,"y":0.15459248423576355,"z":-0.27364224195480347},{"x":0.9637272357940674,"y":0.637814462184906,"z":-0.13965441286563873},{"x":1.0386666059494019,"y":0.5442309379577637,"z":-0.2094816118478775},{"x":1.1037882566452026,"y":0.5106533169746399,"z":-0.24622316658496857},{"x":1.1531044244766235,"y":0.486528217792511,"z":-0.27035194635391235}]]
+script.js:124 [[{"x":0.8781510591506958,"y":0.9898098707199097,"z":0.0000011465513125585858},{"x":0.7696915864944458,"y":0.9590485095977783,"z":-0.06420252472162247},{"x":0.6612800359725952,"y":0.8978290557861328,"z":-0.11075739562511444},{"x":0.5617229342460632,"y":0.8798172473907471,"z":-0.15257865190505981},{"x":0.4719560444355011,"y":0.8879283666610718,"z":-0.19780075550079346},{"x":0.7095574736595154,"y":0.5895835161209106,"z":-0.07661102712154388},{"x":0.655483067035675,"y":0.42233580350875854,"z":-0.1217871829867363},{"x":0.6259021759033203,"y":0.31378069519996643,"z":-0.16048333048820496},{"x":0.6031301617622375,"y":0.2199588418006897,"z":-0.1909990757703781},{"x":0.797824501991272,"y":0.5526458621025085,"z":-0.08552677929401398},{"x":0.7879494428634644,"y":0.349084734916687,"z":-0.12050037831068039},{"x":0.7869051098823547,"y":0.22318875789642334,"z":-0.15533609688282013},{"x":0.7855789065361023,"y":0.11279380321502686,"z":-0.18392163515090942},{"x":0.8808967471122742,"y":0.5728333592414856,"z":-0.10202548652887344},{"x":0.8869067430496216,"y":0.37287142872810364,"z":-0.14669610559940338},{"x":0.8993657827377319,"y":0.2526383101940155,"z":-0.18291054666042328},{"x":0.9049922227859497,"y":0.14251527190208435,"z":-0.21048501133918762},{"x":0.958966076374054,"y":0.6340690851211548,"z":-0.12316590547561646},{"x":1.0091760158538818,"y":0.513163685798645,"z":-0.1669173687696457},{"x":1.0500398874282837,"y":0.4401213526725769,"z":-0.18539226055145264},{"x":1.0784142017364502,"y":0.3717501163482666,"z":-0.19871991872787476}]]
+script.js:124 [[{"x":0.8776692748069763,"y":0.9794930219650269,"z":8.433294738097175e-7},{"x":0.766642689704895,"y":0.9466441869735718,"z":-0.05124255269765854},{"x":0.6594768762588501,"y":0.8723697662353516,"z":-0.08625027537345886},{"x":0.5718791484832764,"y":0.8253118991851807,"z":-0.11823857575654984},{"x":0.4991890490055084,"y":0.8105403184890747,"z":-0.1528962105512619},{"x":0.7049950957298279,"y":0.5987946391105652,"z":-0.05566227436065674},{"x":0.6567143201828003,"y":0.4445483684539795,"z":-0.09828417748212814},{"x":0.6250503659248352,"y":0.35092055797576904,"z":-0.13565491139888763},{"x":0.5972045660018921,"y":0.2665860652923584,"z":-0.1640111654996872},{"x":0.7888489961624146,"y":0.565778911113739,"z":-0.06668970733880997},{"x":0.7700496912002563,"y":0.3724973797798157,"z":-0.09802161902189255},{"x":0.7606698274612427,"y":0.25348588824272156,"z":-0.1286533772945404},{"x":0.7526750564575195,"y":0.1461450457572937,"z":-0.1534213274717331},{"x":0.8700288534164429,"y":0.5803363919258118,"z":-0.08493747562170029},{"x":0.8613367080688477,"y":0.39746761322021484,"z":-0.12068911641836166},{"x":0.8624588251113892,"y":0.28641998767852783,"z":-0.14563211798667908},{"x":0.8600950241088867,"y":0.18428021669387817,"z":-0.16497386991977692},{"x":0.9486103653907776,"y":0.6308736801147461,"z":-0.10791129618883133},{"x":0.9692126512527466,"y":0.5038874745368958,"z":-0.13871809840202332},{"x":0.9849631786346436,"y":0.4236794114112854,"z":-0.14747002720832825},{"x":0.9936079978942871,"y":0.34860876202583313,"z":-0.15447156131267548}]]
+script.js:124 [[{"x":0.848159670829773,"y":1.0008916854858398,"z":-0.0000011557824564079056},{"x":0.7417598962783813,"y":0.9552924633026123,"z":-0.05090413615107536},{"x":0.6432437896728516,"y":0.8645215034484863,"z":-0.08779945969581604},{"x":0.5934991836547852,"y":0.7656782865524292,"z":-0.12811553478240967},{"x":0.5840463638305664,"y":0.6548700332641602,"z":-0.15898381173610687},{"x":0.6728586554527283,"y":0.6117318868637085,"z":-0.019537007436156273},{"x":0.6446182131767273,"y":0.4605117440223694,"z":-0.09431519359350204},{"x":0.6451900601387024,"y":0.5802738070487976,"z":-0.1383778154850006},{"x":0.6639842391014099,"y":0.6768710017204285,"z":-0.15662185847759247},{"x":0.750218391418457,"y":0.6014033555984497,"z":-0.028139809146523476},{"x":0.7336814999580383,"y":0.4404744505882263,"z":-0.10710230469703674},{"x":0.7233364582061768,"y":0.6113216280937195,"z":-0.12909288704395294},{"x":0.7289826273918152,"y":0.7160245180130005,"z":-0.1229843944311142},{"x":0.825264036655426,"y":0.6112036108970642,"z":-0.04972316324710846},{"x":0.8089388012886047,"y":0.46831607818603516,"z":-0.1244504377245903},{"x":0.7914180755615234,"y":0.6325792074203491,"z":-0.11027873307466507},{"x":0.7950381636619568,"y":0.7391717433929443,"z":-0.07875888049602509},{"x":0.9036799669265747,"y":0.6446822881698608,"z":-0.07615258544683456},{"x":0.8772179484367371,"y":0.5380708575248718,"z":-0.12274006009101868},{"x":0.8535578846931458,"y":0.6540143489837646,"z":-0.10579916089773178},{"x":0.8527462482452393,"y":0.7431488633155823,"z":-0.07916611433029175}]]
+script.js:124 [[{"x":0.841061532497406,"y":1.0571227073669434,"z":-0.0000013352405403566081},{"x":0.7331993579864502,"y":0.9930845499038696,"z":-0.03946785628795624},{"x":0.636512815952301,"y":0.8924055099487305,"z":-0.07126521319150925},{"x":0.5897271037101746,"y":0.7811851501464844,"z":-0.10707393288612366},{"x":0.5900688171386719,"y":0.6652304530143738,"z":-0.13392068445682526},{"x":0.6749743223190308,"y":0.6711767911911011,"z":-0.008179258555173874},{"x":0.6393575072288513,"y":0.5549972057342529,"z":-0.08093161135911942},{"x":0.6437657475471497,"y":0.6815142035484314,"z":-0.12405861169099808},{"x":0.667112410068512,"y":0.7675915956497192,"z":-0.14268696308135986},{"x":0.7480028867721558,"y":0.6602217555046082,"z":-0.020291604101657867},{"x":0.7143656015396118,"y":0.5466830134391785,"z":-0.09110676497220993},{"x":0.7081539034843445,"y":0.703610360622406,"z":-0.10809145122766495},{"x":0.7219190001487732,"y":0.7798627614974976,"z":-0.10261251777410507},{"x":0.8230068683624268,"y":0.6709165573120117,"z":-0.04504462704062462},{"x":0.7884954214096069,"y":0.5707893967628479,"z":-0.1117701530456543},{"x":0.779591977596283,"y":0.722224235534668,"z":-0.09141984581947327},{"x":0.7940711379051208,"y":0.7928798198699951,"z":-0.060229089111089706},{"x":0.9028377532958984,"y":0.7030512094497681,"z":-0.07408294826745987},{"x":0.8578648567199707,"y":0.6329119205474854,"z":-0.11239631474018097},{"x":0.8424752354621887,"y":0.7446366548538208,"z":-0.08993270248174667},{"x":0.8545011878013611,"y":0.8054699301719666,"z":-0.062107574194669724}]]
+script.js:124 [[{"x":0.8202288150787354,"y":1.1722571849822998,"z":-0.0000014220609045878518},{"x":0.7181037664413452,"y":1.131995439529419,"z":-0.02344546653330326},{"x":0.6213394403457642,"y":1.0292171239852905,"z":-0.04407235234975815},{"x":0.5845188498497009,"y":0.9353037476539612,"z":-0.06878068298101425},{"x":0.6016528606414795,"y":0.8462224006652832,"z":-0.08865717053413391},{"x":0.6548718214035034,"y":0.7721044421195984,"z":-0.006744460202753544},{"x":0.6075148582458496,"y":0.7307649850845337,"z":-0.06167932599782944},{"x":0.6010696291923523,"y":0.833366870880127,"z":-0.10198137164115906},{"x":0.6173583269119263,"y":0.9188797473907471,"z":-0.12248013913631439},{"x":0.7325752973556519,"y":0.7495954036712646,"z":-0.022255804389715195},{"x":0.679798424243927,"y":0.7393556237220764,"z":-0.0716724768280983},{"x":0.6729722619056702,"y":0.854890763759613,"z":-0.09165877848863602},{"x":0.688216507434845,"y":0.9349474310874939,"z":-0.09539247304201126},{"x":0.8119821548461914,"y":0.763379693031311,"z":-0.04549994319677353},{"x":0.7565029859542847,"y":0.7801496386528015,"z":-0.09370864927768707},{"x":0.7537546753883362,"y":0.9015036225318909,"z":-0.08558235317468643},{"x":0.7691783905029297,"y":0.9729694128036499,"z":-0.06976901739835739},{"x":0.8901439905166626,"y":0.8061813116073608,"z":-0.07207512855529785},{"x":0.8336741328239441,"y":0.8312281370162964,"z":-0.10454371571540833},{"x":0.8205039501190186,"y":0.9323990345001221,"z":-0.09063383936882019},{"x":0.8299579620361328,"y":0.9952386617660522,"z":-0.07097698003053665}]]
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 [[{"x":0.9059802889823914,"y":0.4420326352119446,"z":-1.9939236040045216e-7},{"x":0.8867474794387817,"y":0.40834441781044006,"z":-0.0032773083075881004},{"x":0.8620104193687439,"y":0.37859779596328735,"z":-0.011041558347642422},{"x":0.8375500440597534,"y":0.36288562417030334,"z":-0.01932063326239586},{"x":0.8170599937438965,"y":0.3501429855823517,"z":-0.02862936072051525},{"x":0.8793790936470032,"y":0.34129658341407776,"z":-0.018600713461637497},{"x":0.8612026572227478,"y":0.312574177980423,"z":-0.031023511663079262},{"x":0.8398833274841309,"y":0.3080388605594635,"z":-0.03941141068935394},{"x":0.8219737410545349,"y":0.3116580545902252,"z":-0.04473546892404556},{"x":0.885513186454773,"y":0.35877788066864014,"z":-0.02297045849263668},{"x":0.8444751501083374,"y":0.3664717376232147,"z":-0.03363531455397606},{"x":0.823562741279602,"y":0.386599063873291,"z":-0.036933548748493195},{"x":0.8139265179634094,"y":0.40186384320259094,"z":-0.04011458903551102},{"x":0.886612057685852,"y":0.38659533858299255,"z":-0.027223005890846252},{"x":0.848463773727417,"y":0.394472599029541,"z":-0.036062948405742645},{"x":0.8313329219818115,"y":0.40783146023750305,"z":-0.03442220017313957},{"x":0.8211755156517029,"y":0.4189153015613556,"z":-0.03402038291096687},{"x":0.886059582233429,"y":0.41559526324272156,"z":-0.03150904178619385},{"x":0.855987012386322,"y":0.4241280257701874,"z":-0.03921050578355789},{"x":0.8420834541320801,"y":0.4319705367088318,"z":-0.03716794028878212},{"x":0.8338919878005981,"y":0.43831610679626465,"z":-0.03482401743531227}]]
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
+script.js:124 []
diff --git a/api and aux scripts/main.py b/api and aux scripts/main.py
new file mode 100644
index 0000000..50d3484
--- /dev/null
+++ b/api and aux scripts/main.py
@@ -0,0 +1,53 @@
+from fastapi import FastAPI, Request
+import uvicorn
+from starlette.middleware.cors import CORSMiddleware
+import pickle
+import numpy as np
+
+app = FastAPI()
+
+origins = ["http://localhost"]
+app.add_middleware(
+ CORSMiddleware,
+ allow_origins=["*"],
+ allow_credentials=True,
+ allow_methods=["*"],
+ allow_headers=["*"],
+)
+
+model_dict = pickle.load(open("./model.p", "rb"))
+model = model_dict["model"]
+labels_dict = {0: "hello", 1: "i love you", 2: "yes", 3: "good", 4: "bad", 5: "okay", 6: "you", 7: "i/i'm", 8: "why", 9: "no"}
+
+@app.get("/")
+async def read_root():
+ return {"message": "Hello World"}
+
+@app.post("/")
+async def process_json(request: Request):
+ # Get the JSON data from the request
+ data = await request.json()
+ if len(data) == 0:
+ return {"result": "no data"}
+ hands_data = data
+ data_aux = []
+
+ # hand landmarks are taken from data.json
+ if len(hands_data) == 42:
+ hand = hands_data[:21]
+ else:
+ hand = hands_data
+
+ for landmark in hand:
+ x = landmark["x"]
+ y = landmark["y"]
+ data_aux.append(x)
+ data_aux.append(y)
+
+ prediction = model.predict([np.asarray(data_aux)])
+ predicted_sign = labels_dict[int(prediction[0])]
+ print(predicted_sign)
+ return {"result": predicted_sign}
+
+if __name__ == "__main__":
+ uvicorn.run(app, host="0.0.0.0", port=8000)
diff --git a/api and aux scripts/model.p b/api and aux scripts/model.p
new file mode 100644
index 0000000000000000000000000000000000000000..e8d2f2e266283702c115368f943df22608e54091
GIT binary patch
literal 2612299
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