Widha commited on
Commit
70288a9
1 Parent(s): 0828bc7

Menambahkan dukungan untuk Git LFS

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +2 -0
  2. app.py +50 -0
  3. index.html +0 -19
  4. model/model_vgg16_pretrained_70_20.h5 +3 -0
  5. requirements.txt +13 -0
  6. static/assets/cdn.jsdelivr.net/npm/swiper@8.3.2/swiper-bundle.min.css +13 -0
  7. static/assets/cdn.jsdelivr.net/npm/uikit@3.15.1/dist/css/uikit.min.css +0 -0
  8. static/assets/css/main.css +179 -0
  9. static/assets/css/theme/main.min.css +0 -0
  10. static/assets/fonts/brand-icons/brand-icons.woff2 +0 -0
  11. static/assets/fonts/unicons/Unicons6c87.woff +0 -0
  12. static/assets/images/404-dark.png +3 -0
  13. static/assets/images/404-light.png +3 -0
  14. static/assets/images/bitcoin-hero.png +3 -0
  15. static/assets/images/blob-dashed.svg +3 -0
  16. static/assets/images/collection-cta.png +3 -0
  17. static/assets/images/collection.png +3 -0
  18. static/assets/images/demo/404.png +3 -0
  19. static/assets/images/demo/blog-single.png +3 -0
  20. static/assets/images/demo/blog.png +3 -0
  21. static/assets/images/demo/connect-wallet.png +3 -0
  22. static/assets/images/demo/contact.png +3 -0
  23. static/assets/images/demo/landing_01.png +3 -0
  24. static/assets/images/demo/landing_01_light.png +3 -0
  25. static/assets/images/demo/landing_02.png +3 -0
  26. static/assets/images/demo/landing_02_light.png +3 -0
  27. static/assets/images/demo/landing_03.png +3 -0
  28. static/assets/images/demo/landing_03_light.png +3 -0
  29. static/assets/images/demo/landing_04.png +3 -0
  30. static/assets/images/demo/landing_04_light.png +3 -0
  31. static/assets/images/demo/landing_05.png +3 -0
  32. static/assets/images/demo/landing_05_light.png +3 -0
  33. static/assets/images/demo/reset-password.png +3 -0
  34. static/assets/images/demo/sign-in.png +3 -0
  35. static/assets/images/demo/sign-up.png +3 -0
  36. static/assets/images/demo/soon.png +3 -0
  37. static/assets/images/divider-01.svg +1 -0
  38. static/assets/images/divider-02.svg +9 -0
  39. static/assets/images/features-01.png +3 -0
  40. static/assets/images/features-02.png +3 -0
  41. static/assets/images/features-03.png +3 -0
  42. static/assets/images/features-04.png +3 -0
  43. static/assets/images/features-05.png +3 -0
  44. static/assets/images/features-06.png +3 -0
  45. static/assets/images/features-07.png +3 -0
  46. static/assets/images/gradient-circle.svg +1 -0
  47. static/assets/images/icon-01.png +3 -0
  48. static/assets/images/icon-02.png +3 -0
  49. static/assets/images/icon-03.png +3 -0
  50. static/assets/images/icon-04.png +3 -0
.gitattributes CHANGED
@@ -33,3 +33,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ *.png filter=lfs diff=lfs merge=lfs -text
37
+ *.jpg filter=lfs diff=lfs merge=lfs -text
app.py ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import numpy as np
2
+ from flask import Flask, request, render_template, jsonify
3
+ from tensorflow.keras.models import load_model
4
+ from tensorflow.keras.preprocessing import image
5
+
6
+ from util import base64_to_pil
7
+
8
+ app = Flask(__name__)
9
+
10
+ # Load the pre-trained model
11
+ model = load_model('model/model_vgg16_pretrained_70_20.h5')
12
+
13
+ def model_predict(img, model):
14
+ img = img.resize((128, 128))
15
+ x = image.img_to_array(img)
16
+ x = np.expand_dims(x, axis=0) # Menambah dimensi batch
17
+ x = x.astype('float32') / 255.0
18
+ preds = model.predict(x)
19
+ return preds
20
+
21
+ @app.route('/', methods=['GET'])
22
+ def index():
23
+ return render_template('index.html')
24
+
25
+ @app.route('/predict', methods=['POST'])
26
+ def predict():
27
+ if request.method == 'POST':
28
+ # Get the image from POST request
29
+ img = base64_to_pil(request.json)
30
+
31
+ # Make prediction
32
+ preds = model_predict(img, model)
33
+
34
+ # Konversi prediksi dari nilai probabilitas menjadi kelas (0 atau 1)
35
+ pred_class = np.argmax(preds, axis=1)[0]
36
+
37
+ # Lakukan pengembalian hasil prediksi
38
+ if pred_class == 0:
39
+ hasil_label = 'Manipulasi'
40
+ else:
41
+ hasil_label = 'Real'
42
+
43
+ hasil_prob = "{:.2f}".format(100 * np.max(preds))
44
+
45
+ return jsonify(result=hasil_label, probability=hasil_prob)
46
+
47
+ return jsonify({'error': 'Only POST requests are accepted'})
48
+
49
+ if __name__ == '__main__':
50
+ app.run(debug=True,use_reloader=True)
index.html DELETED
@@ -1,19 +0,0 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Halo</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
model/model_vgg16_pretrained_70_20.h5 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4d1a08e1c9588a1d88df834c121489ca7024fd20c9995896f245600aef3e5e70
3
+ size 75728088
requirements.txt ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ click==7.1.2
2
+ Flask==1.1.4
3
+ gunicorn==20.0.4
4
+ itsdangerous==1.1.0
5
+ Jinja2==2.11.3
6
+ MarkupSafe==1.1.1
7
+ Werkzeug==1.0.1
8
+ gevent==23.9.1
9
+ grpcio==1.59.0
10
+ h5py==3.10.0
11
+ Pillow==10.0.1
12
+ scikit-learn==1.3.1
13
+ tensorflow==2.12.0
static/assets/cdn.jsdelivr.net/npm/swiper@8.3.2/swiper-bundle.min.css ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Swiper 8.3.2
3
+ * Most modern mobile touch slider and framework with hardware accelerated transitions
4
+ * https://swiperjs.com
5
+ *
6
+ * Copyright 2014-2022 Vladimir Kharlampidi
7
+ *
8
+ * Released under the MIT License
9
+ *
10
+ * Released on: July 26, 2022
11
+ */
12
+
13
+ @font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, 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');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
static/assets/cdn.jsdelivr.net/npm/uikit@3.15.1/dist/css/uikit.min.css ADDED
The diff for this file is too large to render. See raw diff
 
static/assets/css/main.css ADDED
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ body {
2
+ font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
3
+ Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
4
+ -webkit-font-smoothing: antialiased;
5
+ background-color: #f8f8f8;
6
+ }
7
+
8
+ /* Global button style */
9
+ .button {
10
+ font-family: inherit;
11
+ text-align: center;
12
+ cursor: pointer;
13
+ border: none;
14
+ text-decoration: none;
15
+ outline: none;
16
+ color: #ffffff;
17
+ background-color: rgb(0, 120, 212);
18
+ padding: 0.5rem 1.2rem;
19
+ border-radius: 2px;
20
+ font-size: 1rem;
21
+ min-width: 6rem;
22
+ }
23
+
24
+ .button:hover {
25
+ background-color: rgb(16, 110, 190);
26
+ }
27
+
28
+ .button.disabled {
29
+ pointer-events: none;
30
+ background-color: #cccccc;
31
+ color: #666666;
32
+ }
33
+
34
+ /* Main section */
35
+
36
+ .main {
37
+ box-sizing: border-box;
38
+ display: flex;
39
+ flex-direction: column;
40
+ align-items: center;
41
+ }
42
+
43
+ .main .title h3 {
44
+ font-size: 2.3rem;
45
+ font-weight: 300;
46
+ margin: 0.8rem 0;
47
+ }
48
+
49
+ .hidden {
50
+ display: none;
51
+ }
52
+
53
+ .reveal {
54
+ opacity: 0;
55
+ }
56
+
57
+ .reveal:hover {
58
+ opacity: 0.2;
59
+ }
60
+
61
+ /* Upload box */
62
+ .upload-box {
63
+ font-size: 0.8rem;
64
+ color: #666666;
65
+ cursor: pointer;
66
+ width: 16rem;
67
+ height: 10rem;
68
+ background: #fff;
69
+ border: 0.1rem dashed #838388;
70
+ border-radius: 0.4rem;
71
+ display: flex;
72
+ justify-content: center;
73
+ align-items: center;
74
+ flex-direction: column;
75
+ margin: 1rem 0 2rem 0;
76
+ }
77
+
78
+ .upload-box.dragover {
79
+ /* background-color: grey; */
80
+ color: #eeeeee;
81
+ border: 0.1rem solid rgb(0, 120, 212);
82
+ box-shadow: inset 0 0 0 0.1rem rgb(0, 120, 212);
83
+ }
84
+
85
+ .upload-box:hover {
86
+ border-color: rgb(0, 120, 212);
87
+ }
88
+
89
+ .upload-box #image-preview {
90
+ max-width: 14rem;
91
+ max-height: 8rem;
92
+ box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.19);
93
+ }
94
+
95
+ #image-result {
96
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
97
+ max-height: 20rem;
98
+ }
99
+
100
+ #image-box {
101
+ position: relative;
102
+ width: auto;
103
+ float: left;
104
+ margin-bottom: 2rem;
105
+ }
106
+
107
+ #image-display {
108
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
109
+ max-height: 20rem;
110
+ }
111
+
112
+ #image-display.loading {
113
+ filter: brightness(30%);
114
+ }
115
+
116
+ #pred-result {
117
+ color: white;
118
+ font-size: 1.5rem;
119
+ position: absolute;
120
+ top: 50%;
121
+ left: 50%;
122
+ transform: translate(-50%, -50%);
123
+ }
124
+
125
+ #pred-probability {
126
+ color: white;
127
+ font-size: 1.5rem;
128
+ position: absolute;
129
+ top: 40%;
130
+ left: 50%;
131
+ transform: translate(-50%, -50%);
132
+ }
133
+
134
+ #pred-probability::after {
135
+ content: " %";
136
+ }
137
+
138
+ #loader {
139
+ position: absolute;
140
+ top: 50%;
141
+ left: 50%;
142
+ transform: translate(-50%, -50%);
143
+ z-index: 10;
144
+ margin: 0 auto;
145
+ }
146
+
147
+ /* Animation */
148
+ #spinner {
149
+ box-sizing: border-box;
150
+ stroke: #cccccc;
151
+ stroke-width: 3px;
152
+ transform-origin: 50%;
153
+ animation: line 1.6s cubic-bezier(0.4, 0, 0.2, 1) infinite,
154
+ rotate 1.6s linear infinite;
155
+ }
156
+ @keyframes rotate {
157
+ from {
158
+ transform: rotate(0);
159
+ }
160
+ to {
161
+ transform: rotate(450deg);
162
+ }
163
+ }
164
+ @keyframes line {
165
+ 0% {
166
+ stroke-dasharray: 2, 85.964;
167
+ transform: rotate(0);
168
+ }
169
+ 50% {
170
+ stroke-dasharray: 65.973, 21.9911;
171
+ stroke-dashoffset: 0;
172
+ }
173
+ 100% {
174
+ stroke-dasharray: 2, 85.964;
175
+ stroke-dashoffset: -65.973;
176
+ transform: rotate(90deg);
177
+ }
178
+ }
179
+
static/assets/css/theme/main.min.css ADDED
The diff for this file is too large to render. See raw diff
 
static/assets/fonts/brand-icons/brand-icons.woff2 ADDED
Binary file (23.2 kB). View file
 
static/assets/fonts/unicons/Unicons6c87.woff ADDED
Binary file (139 kB). View file
 
static/assets/images/404-dark.png ADDED

Git LFS Details

  • SHA256: a2f3204832f3e5d26c8ec3c7e80c0ad649bfd8cbb5c9e865b1e762a1a1cbad2f
  • Pointer size: 130 Bytes
  • Size of remote file: 50.1 kB
static/assets/images/404-light.png ADDED

Git LFS Details

  • SHA256: dfb240203cb7854a2179d9f859eadb5052746a52844b004580b1e08c2a7990e0
  • Pointer size: 130 Bytes
  • Size of remote file: 72.3 kB
static/assets/images/bitcoin-hero.png ADDED

Git LFS Details

  • SHA256: 0d56e8e869669a9fdc1063d88fc167bc4212677766a22e521d70025e5b615bf1
  • Pointer size: 131 Bytes
  • Size of remote file: 142 kB
static/assets/images/blob-dashed.svg ADDED
static/assets/images/collection-cta.png ADDED

Git LFS Details

  • SHA256: 6d17ef38994096409c99f01af4bbef1dbe24f6fb1d0fe2cbee9fcd6520408938
  • Pointer size: 131 Bytes
  • Size of remote file: 197 kB
static/assets/images/collection.png ADDED

Git LFS Details

  • SHA256: bd144652fa8ac80ab76b3767475537d8f5293a6e7040aed239b412f8966fbb0c
  • Pointer size: 131 Bytes
  • Size of remote file: 316 kB
static/assets/images/demo/404.png ADDED

Git LFS Details

  • SHA256: b4171cee16539aece84ae53d4482364b4dadc05e2fde7d506e15a94daeac4493
  • Pointer size: 131 Bytes
  • Size of remote file: 136 kB
static/assets/images/demo/blog-single.png ADDED

Git LFS Details

  • SHA256: a8abedcc2586628e5f832e6de2f1e74a1bc8db1f1dc9113c833a87366a911c6b
  • Pointer size: 131 Bytes
  • Size of remote file: 640 kB
static/assets/images/demo/blog.png ADDED

Git LFS Details

  • SHA256: ad6ee4c67a7a691061f5eb07663577d2969f38db53aa8f2f16fe6e47d194f8e5
  • Pointer size: 132 Bytes
  • Size of remote file: 1.01 MB
static/assets/images/demo/connect-wallet.png ADDED

Git LFS Details

  • SHA256: f1ddfc88293ab9564b63d0d6b718911bc7df7efa3f9d5920089588178084dd5e
  • Pointer size: 131 Bytes
  • Size of remote file: 119 kB
static/assets/images/demo/contact.png ADDED

Git LFS Details

  • SHA256: 6e92a5ab1e8d11ef9062ff953ccf4eee7dc3524e6585f1964cd92729422c12bb
  • Pointer size: 131 Bytes
  • Size of remote file: 213 kB
static/assets/images/demo/landing_01.png ADDED

Git LFS Details

  • SHA256: a15d561af166df7c24446c2de48e19267d244108f663ef23a195159d7003c148
  • Pointer size: 131 Bytes
  • Size of remote file: 252 kB
static/assets/images/demo/landing_01_light.png ADDED

Git LFS Details

  • SHA256: 7eda7a7c0142df6c2dcf97423efb30b7dc57dc6483fbc1b9fdfa377c6948ec99
  • Pointer size: 131 Bytes
  • Size of remote file: 224 kB
static/assets/images/demo/landing_02.png ADDED

Git LFS Details

  • SHA256: a746087f59f6ad3e56525905b8f32c462779df2082f246b6665758e9278712f7
  • Pointer size: 131 Bytes
  • Size of remote file: 421 kB
static/assets/images/demo/landing_02_light.png ADDED

Git LFS Details

  • SHA256: 828f0920ec2570e8b7d79bb7fa90fac25a87616809390aa5ba4b754497460ce8
  • Pointer size: 131 Bytes
  • Size of remote file: 421 kB
static/assets/images/demo/landing_03.png ADDED

Git LFS Details

  • SHA256: 3d9a88aea316190855e73a255ea7aae4b4a04681424741addf7e0044507d654b
  • Pointer size: 131 Bytes
  • Size of remote file: 198 kB
static/assets/images/demo/landing_03_light.png ADDED

Git LFS Details

  • SHA256: 10832b3bed4510136a1511783411944539d3fe4cc830693baa75c39a33c1a631
  • Pointer size: 131 Bytes
  • Size of remote file: 168 kB
static/assets/images/demo/landing_04.png ADDED

Git LFS Details

  • SHA256: dba607e3b20ad14679a5682b4dba824529357606c9c8b35361dfbbae17437e75
  • Pointer size: 131 Bytes
  • Size of remote file: 763 kB
static/assets/images/demo/landing_04_light.png ADDED

Git LFS Details

  • SHA256: 737f2627420706dff0f4723db2c226809d83c102050883feb132b380cc03f096
  • Pointer size: 131 Bytes
  • Size of remote file: 795 kB
static/assets/images/demo/landing_05.png ADDED

Git LFS Details

  • SHA256: 6e5d34992f2955abe071f54cf94344800bfb4e002cbab8972dc5a98c52a7d27c
  • Pointer size: 131 Bytes
  • Size of remote file: 494 kB
static/assets/images/demo/landing_05_light.png ADDED

Git LFS Details

  • SHA256: e0b115efbc2b5f69b600acc10db27833a0f4a2fe19a9b6fd1721d750673cff40
  • Pointer size: 131 Bytes
  • Size of remote file: 324 kB
static/assets/images/demo/reset-password.png ADDED

Git LFS Details

  • SHA256: b8aff67edf5075d7edce9ffeb01b9c2a578eda834a9948cc9d1e88b04f0eb61b
  • Pointer size: 131 Bytes
  • Size of remote file: 113 kB
static/assets/images/demo/sign-in.png ADDED

Git LFS Details

  • SHA256: 750c6db17c116ef72a867152e933f9e67be213db423f6e2c544adfc6cf396c61
  • Pointer size: 130 Bytes
  • Size of remote file: 91.5 kB
static/assets/images/demo/sign-up.png ADDED

Git LFS Details

  • SHA256: 12081b8afce7e54b078912e1bf1a1978f2d55e7ecfec77be04b21242e8bb19ed
  • Pointer size: 130 Bytes
  • Size of remote file: 89.1 kB
static/assets/images/demo/soon.png ADDED

Git LFS Details

  • SHA256: 064da24e828a4f346df0811fcd4f0e755125400085c6fdc0c180845791d94e09
  • Pointer size: 132 Bytes
  • Size of remote file: 2.16 MB
static/assets/images/divider-01.svg ADDED
static/assets/images/divider-02.svg ADDED
static/assets/images/features-01.png ADDED

Git LFS Details

  • SHA256: 1ddf3b6969ec02e460de5f8381ed4f187df114ee3baf2107c03d6158cf77add1
  • Pointer size: 130 Bytes
  • Size of remote file: 72.8 kB
static/assets/images/features-02.png ADDED

Git LFS Details

  • SHA256: dafebecbd562ce86cc0bda98044ad70003fe6745677c3d7d4bd18affd6054028
  • Pointer size: 130 Bytes
  • Size of remote file: 70.5 kB
static/assets/images/features-03.png ADDED

Git LFS Details

  • SHA256: 985e2c8ad5c2fa6d3033b07540b77d3a260ebba0771cf00bd4348c53f487d4c5
  • Pointer size: 130 Bytes
  • Size of remote file: 84.5 kB
static/assets/images/features-04.png ADDED

Git LFS Details

  • SHA256: b121e7175fa2a6a34efc1bc0307871900e5d41a37b530b48077e77999251ff21
  • Pointer size: 130 Bytes
  • Size of remote file: 59.6 kB
static/assets/images/features-05.png ADDED

Git LFS Details

  • SHA256: b1b315bd2ef42db2bb617fe41ee3ac7b8fee9e959c1576ea8c2011764ef5652a
  • Pointer size: 131 Bytes
  • Size of remote file: 438 kB
static/assets/images/features-06.png ADDED

Git LFS Details

  • SHA256: 51fd4600c71c1d855a489b3a6161f3e403b67e6c15e4e628e763e522181e61f4
  • Pointer size: 131 Bytes
  • Size of remote file: 425 kB
static/assets/images/features-07.png ADDED

Git LFS Details

  • SHA256: e499dedcf0e75042158c0e3c1fd56cd3fb3cb20c57ade802f4060029adf14345
  • Pointer size: 131 Bytes
  • Size of remote file: 313 kB
static/assets/images/gradient-circle.svg ADDED
static/assets/images/icon-01.png ADDED

Git LFS Details

  • SHA256: 4ba587126d50c0aebc98f3ed36729aff3c63801ccbaa62b755690625109eca6a
  • Pointer size: 130 Bytes
  • Size of remote file: 31.3 kB
static/assets/images/icon-02.png ADDED

Git LFS Details

  • SHA256: 15536605af1946a5708fee7d028efa495b43f1627066ecd3abc45436ada79db9
  • Pointer size: 130 Bytes
  • Size of remote file: 60.7 kB
static/assets/images/icon-03.png ADDED

Git LFS Details

  • SHA256: 66ad1e104d07ed316ca92b7fe2b4cc9cd69b779a7603961fc5693a64de6bfba0
  • Pointer size: 130 Bytes
  • Size of remote file: 29.6 kB
static/assets/images/icon-04.png ADDED

Git LFS Details

  • SHA256: efc9531e0dacee56b35f4e1fe59a8d8a1fe179f8f5a1428558b963163ef2dc17
  • Pointer size: 130 Bytes
  • Size of remote file: 55.9 kB