From d0c539306d5e7c1c67462af3923c679507fdaaea Mon Sep 17 00:00:00 2001 From: Kaloian Venkov Date: Sat, 13 Mar 2021 15:56:30 +0200 Subject: [PATCH] Somewhat working ConveyorBin --- .../minigame-biotrivia.component.ts | 20 +- ...minigame-conveyor-recycling.component.html | 12 + ...minigame-conveyor-recycling.component.scss | 20 +- .../minigame-conveyor-recycling.component.ts | 241 +++++++++++++++++- apollo-frontend/src/app/mock.minigames.ts | 3 +- apollo-frontend/src/app/mock.questions.ts | 19 +- .../assets/images/conveyor-belt/bin-glass.png | Bin 0 -> 3720 bytes .../assets/images/conveyor-belt/bin-other.png | Bin 0 -> 4152 bytes .../assets/images/conveyor-belt/bin-paper.png | Bin 0 -> 4352 bytes .../images/conveyor-belt/bin-plastic.png | Bin 0 -> 4313 bytes .../images/conveyor-belt/conveyor-1.png | Bin 0 -> 7053 bytes .../images/conveyor-belt/conveyor-2.png | Bin 0 -> 7199 bytes .../images/conveyor-belt/conveyor-3.png | Bin 0 -> 7166 bytes .../images/conveyor-belt/conveyor-end-1.png | Bin 0 -> 1111 bytes .../images/conveyor-belt/conveyor-end-2.png | Bin 0 -> 1194 bytes .../images/conveyor-belt/conveyor-end-3.png | Bin 0 -> 1266 bytes .../images/conveyor-belt/conveyor-start-1.png | Bin 0 -> 821 bytes .../images/conveyor-belt/conveyor-start-2.png | Bin 0 -> 860 bytes .../images/conveyor-belt/conveyor-start-3.png | Bin 0 -> 837 bytes .../assets/images/conveyor-belt/glass-1.png | Bin 0 -> 1038 bytes .../assets/images/conveyor-belt/glass-2.png | Bin 0 -> 1270 bytes .../assets/images/conveyor-belt/glass-3.png | Bin 0 -> 1255 bytes .../assets/images/conveyor-belt/metal-1.png | Bin 0 -> 1227 bytes .../assets/images/conveyor-belt/metal-2.png | Bin 0 -> 1288 bytes .../assets/images/conveyor-belt/metal-3.png | Bin 0 -> 1271 bytes .../assets/images/conveyor-belt/other-1.png | Bin 0 -> 1391 bytes .../assets/images/conveyor-belt/other-2.png | Bin 0 -> 1447 bytes .../assets/images/conveyor-belt/other-3.png | Bin 0 -> 1549 bytes .../assets/images/conveyor-belt/paper-1.png | Bin 0 -> 1296 bytes .../assets/images/conveyor-belt/paper-2.png | Bin 0 -> 1308 bytes .../assets/images/conveyor-belt/paper-3.png | Bin 0 -> 1353 bytes .../assets/images/conveyor-belt/plastic-1.png | Bin 0 -> 1265 bytes .../assets/images/conveyor-belt/plastic-2.png | Bin 0 -> 1437 bytes .../assets/images/conveyor-belt/plastic-3.png | Bin 0 -> 1328 bytes 34 files changed, 281 insertions(+), 34 deletions(-) create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/bin-glass.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/bin-other.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/bin-paper.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/bin-plastic.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/conveyor-1.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/conveyor-2.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/conveyor-3.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/conveyor-end-1.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/conveyor-end-2.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/conveyor-end-3.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/conveyor-start-1.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/conveyor-start-2.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/conveyor-start-3.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/glass-1.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/glass-2.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/glass-3.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/metal-1.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/metal-2.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/metal-3.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/other-1.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/other-2.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/other-3.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/paper-1.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/paper-2.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/paper-3.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/plastic-1.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/plastic-2.png create mode 100644 apollo-frontend/src/assets/images/conveyor-belt/plastic-3.png diff --git a/apollo-frontend/src/app/minigame-biotrivia/minigame-biotrivia.component.ts b/apollo-frontend/src/app/minigame-biotrivia/minigame-biotrivia.component.ts index abf41cb..50605c7 100644 --- a/apollo-frontend/src/app/minigame-biotrivia/minigame-biotrivia.component.ts +++ b/apollo-frontend/src/app/minigame-biotrivia/minigame-biotrivia.component.ts @@ -1,6 +1,8 @@ import { Component, ElementRef, NgZone, OnInit, ViewChild, ViewChildren } from '@angular/core'; +import { NavigationEnd, NavigationStart, Router, RouterEvent } from '@angular/router'; import { IgxRadioComponent, IgxRadioGroupDirective } from 'igniteui-angular'; import { Observable, Subject } from 'rxjs'; +import { filter, map, tap } from 'rxjs/operators'; import { Answer, Card, DbService, Question, Saved } from '../db.service'; import { Medal, UserdataService } from '../userdata.service'; @@ -39,9 +41,18 @@ export class MinigameBiotriviaComponent implements OnInit { constructor( private db: DbService, private userdata: UserdataService, + private router: Router, ) { } ngOnInit(): void { + this.router.events.pipe( + filter((e: any) => e instanceof NavigationStart), + // tslint:disable-next-line: deprecation + ).subscribe((e: NavigationStart) => { + console.log(e); + this.player.pause(); + this.player.remove(); + }); } endGame(): void { @@ -64,7 +75,7 @@ export class MinigameBiotriviaComponent implements OnInit { this.wonCard = this.db.getCard(newCard); } - const id = this.db.getAllMinigames().filter(v => v.el.name === 'BioTrivia')[0].id; + const id = '1'; const data = this.userdata.getMinigameUserdata(id); let medal = Medal.None; @@ -83,7 +94,7 @@ export class MinigameBiotriviaComponent implements OnInit { this.animateElements( this.ongoingElementRef.first.nativeElement, this.endingElementRef.first.nativeElement - // tslint:disable-next-line: deprecation + // tslint:disable-next-line: deprecation ).subscribe(() => { this.stage = 'ended'; }); @@ -240,6 +251,11 @@ export class MinigameBiotriviaComponent implements OnInit { // tslint:disable-next-line: deprecation this.animateElements(endingEl, ongoingEl).subscribe(() => { this.stage = 'ongoing'; + this.player = document.createElement('audio'); + + this.player.src = '/assets/sound/music/biotrivia.wav'; + this.player.loop = true; + this.player.play(); }); }, 20); } diff --git a/apollo-frontend/src/app/minigame-conveyor-recycling/minigame-conveyor-recycling.component.html b/apollo-frontend/src/app/minigame-conveyor-recycling/minigame-conveyor-recycling.component.html index e69de29..10be4df 100644 --- a/apollo-frontend/src/app/minigame-conveyor-recycling/minigame-conveyor-recycling.component.html +++ b/apollo-frontend/src/app/minigame-conveyor-recycling/minigame-conveyor-recycling.component.html @@ -0,0 +1,12 @@ +
+
+ + +
+
+ + + + +
+
\ No newline at end of file diff --git a/apollo-frontend/src/app/minigame-conveyor-recycling/minigame-conveyor-recycling.component.scss b/apollo-frontend/src/app/minigame-conveyor-recycling/minigame-conveyor-recycling.component.scss index b5573f5..d11be44 100644 --- a/apollo-frontend/src/app/minigame-conveyor-recycling/minigame-conveyor-recycling.component.scss +++ b/apollo-frontend/src/app/minigame-conveyor-recycling/minigame-conveyor-recycling.component.scss @@ -1,4 +1,22 @@ -.canvas { +img { + image-rendering: crisp-edges; +} +.conveyor { + position: absolute; + top: 30vh; +} +.bins { + position: absolute; + bottom: 10vh; + .image { + max-height: unset; + } + transition: left 100ms; +} + +:host { + overflow: hidden; width: 100%; height: 100%; + position: absolute; } \ No newline at end of file diff --git a/apollo-frontend/src/app/minigame-conveyor-recycling/minigame-conveyor-recycling.component.ts b/apollo-frontend/src/app/minigame-conveyor-recycling/minigame-conveyor-recycling.component.ts index 3fa7d85..fee8342 100644 --- a/apollo-frontend/src/app/minigame-conveyor-recycling/minigame-conveyor-recycling.component.ts +++ b/apollo-frontend/src/app/minigame-conveyor-recycling/minigame-conveyor-recycling.component.ts @@ -1,18 +1,237 @@ -import { Component, OnInit } from '@angular/core'; +import { AfterViewInit, Component, ElementRef, EventEmitter, Input, NgZone, OnInit, ViewChild, ViewChildren } from '@angular/core'; +import { NavigationStart, Router } from '@angular/router'; +import { filter } from 'rxjs/operators'; +import { Saved } from '../db.service'; + +class Rect { + public top: number; + public left: number; + public bottom: number; + public right: number; + + private checkPointInRect(x: number, y: number, rect: Rect): boolean { + return x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom; + } + private checkRectInRect(a: Rect, b: Rect): boolean { + return this.checkPointInRect(a.left, a.top, b) || + this.checkPointInRect(a.right, a.top, b) || + this.checkPointInRect(a.left, a.bottom, b) || + this.checkPointInRect(a.right, a.bottom, b); + } + + public collidesWith(rect: Rect): boolean { + return this.checkRectInRect(this, rect) || this.checkRectInRect(rect, this); + } + + constructor(domRect: DOMRect | number, left?: number, right?: number, bottom?: number) { + if (typeof domRect === 'number') { + this.top = domRect; + this.left = left; + this.right = right; + this.bottom = bottom; + } + else { + this.top = domRect.top; + this.left = domRect.left; + this.right = domRect.right; + this.bottom = domRect.bottom; + } + } +} + +class Conveyor { + public element: HTMLElement; + + public speed: number; + + + public checkCollision(el: HTMLElement): boolean { + const a = new Rect(this.element.getBoundingClientRect()); + const b = new Rect(el.getBoundingClientRect()); + + return a.collidesWith(b); + } + public getUpVelocity(el: HTMLElement): number { + return this.element.getBoundingClientRect().top - el.getBoundingClientRect().bottom; + } +} +class Bin { + public acceptedTypes: string[]; + public element: HTMLElement; + public checkTrashColission(trash: Trash): boolean { + return new Rect(trash.element.getBoundingClientRect()).collidesWith(new Rect(this.element.getBoundingClientRect())); + } + public correctTrash(trash: Trash): boolean { + return this.acceptedTypes.includes(trash.type); + } +} + +class Trash { + public imageUrl: string; + public type: string; + public velX: number; + public velY: number; + + public element: HTMLElement; + + public thrownOut = new EventEmitter(); + public dropped = new EventEmitter(); + + public update(gravity: number, friction: number, conveyor: Conveyor, ...bins: Bin[]): { x: number, y: number, bin?: Bin } { + let x; + let y; + + const rect = this.element.getBoundingClientRect(); + x = rect.left; + y = rect.top; + + this.velY += gravity; + y += this.velY; + + if (conveyor.checkCollision(this.element)) { + const velCorrection = conveyor.getUpVelocity(this.element); + this.velY = 0; + y += velCorrection; + this.velX = conveyor.speed; + } + else if (Math.abs(this.velX) > 0) { + this.velX = Math.sign(this.velX) * (Math.abs(this.velX) - friction); + } + + const bin = bins.find(v => new Rect(rect).collidesWith(new Rect(v.element.getBoundingClientRect()))); + x += this.velX; + + this.element.style.left = x + 'px'; + this.element.style.top = y + 'px'; + + return {x, y, bin}; + } +} @Component({ - selector: 'app-minigame-conveyor-recycling', - templateUrl: './minigame-conveyor-recycling.component.html', - styleUrls: ['./minigame-conveyor-recycling.component.scss'] + selector: 'app-minigame-conveyor-recycling', + templateUrl: './minigame-conveyor-recycling.component.html', + styleUrls: ['./minigame-conveyor-recycling.component.scss'] }) -export class MinigameConveyorRecyclingComponent implements OnInit { +export class MinigameConveyorRecyclingComponent implements AfterViewInit { + conveyorFrame = 1; + frameCounterID: number; + trashTrowerID: number; + trashSpeed = 1000; + trashTypes: string[] = [ 'plastic', 'metal', 'glass', 'paper', 'other' ]; + nextId = 0; - constructor() { } + @ViewChildren('conveyor') conveyorElement; + @ViewChildren('bin') binElements; - ngOnInit(): void { - } + bins: Bin[]; - start() { - - } + conveyor: Conveyor; + + trashes: Saved[] = []; + + binWidth = 146; + + milliseconds = 0; + + keydownListener = (e) => { + const code = e.keyCode as number; + if (code === 65) console.log('move left'); + if (code === 68) console.log('move right'); + } + + constructor( + private zone: NgZone, + private router: Router, + private element: ElementRef, + ) { } + + ngAfterViewInit(): void { + this.router.events.pipe( + filter((e: any) => e instanceof NavigationStart), + // tslint:disable-next-line: deprecation + ).subscribe((e: NavigationStart) => { + this.end(); + }); + + this.start(); + } + + end(): void { + clearInterval(this.frameCounterID); + document.body.removeEventListener('keydown', this.keydownListener); + } + + start(): void { + document.body.addEventListener('keydown', this.keydownListener); + + this.bins = this.binElements._results.map((v: ElementRef) => { + const el = v.nativeElement; + const bin = new Bin(); + bin.element = el; + bin.acceptedTypes = ['paper']; + + return bin; + }); + + this.conveyor = new Conveyor(); + this.conveyor.element = this.conveyorElement.first.nativeElement; + this.conveyor.speed = 2; + this.frameCounterID = setInterval(() => { + this.zone.run(() => { + this.conveyorFrame = (++this.conveyorFrame % 3); + }); + }, 1000) as any as number; + this.frameCounterID = setInterval(() => { + if (this.milliseconds % (1000 / 10) === 0) { + const trash = new Trash(); + const element = document.createElement('img'); + element.style.position = 'absolute'; + + trash.dropped.subscribe(() => { + trash.element.remove(); + + }); + + trash.velX = 2; + trash.velY = 0; + + trash.type = this.getRandomType(); + trash.imageUrl = `/assets/images/conveyor-belt/${trash.type}-${Math.floor(Math.random() * 3) + 1}.png`; + + element.src = trash.imageUrl; + trash.element = element; + + this.element.nativeElement.prepend(element); + + this.trashes.push({ id: (this.nextId++).toString(), el: trash }); + } + + this.trashes.forEach((trash, i) => { + const newPos = trash.el.update(9 / 100, .05, this.conveyor, ...this.bins); + if (newPos.y > document.body.getBoundingClientRect().bottom) { + trash.el.element.remove(); + this.trashes.splice(i, 1); + } + + if (newPos.bin) { + trash.el.element.remove(); + this.trashes.splice(i, 1); + } + }); + + this.milliseconds++; + }, 10) as any as number; + + + } + + getRandomType(): string { + const i = Math.floor(Math.random() * this.trashTypes.length); + return this.trashTypes[i]; + } + getRandomTrash(): string { + const i1 = Math.floor(Math.random() * 3); + return this.getRandomType() + '-' + i1 + '.png'; + } } diff --git a/apollo-frontend/src/app/mock.minigames.ts b/apollo-frontend/src/app/mock.minigames.ts index 4782ae2..2c3eb14 100644 --- a/apollo-frontend/src/app/mock.minigames.ts +++ b/apollo-frontend/src/app/mock.minigames.ts @@ -4,9 +4,8 @@ export const mock_minigames: Saved[] = [ { id: '0', el: { - name: 'Рециклиране', + name: 'ConveyorBin', url: '/minigames/conveyor-belt', - comingSoon: true, } }, { diff --git a/apollo-frontend/src/app/mock.questions.ts b/apollo-frontend/src/app/mock.questions.ts index 9ac5ffe..881cda9 100644 --- a/apollo-frontend/src/app/mock.questions.ts +++ b/apollo-frontend/src/app/mock.questions.ts @@ -2,7 +2,7 @@ import { Question, Saved } from "./db.service"; export const mock_questions: Saved[] = [ { - id: '0', + id: '1', el: { category: 'animals', photoUrlsAbove: [ '/assets/images/questions/slon.jpg' ], @@ -18,23 +18,6 @@ export const mock_questions: Saved[] = [ } } }, - { - id: '1', - el: { - category: 'animals', - photoUrlsAbove: [ '/assets/images/questions/carski orel.jpg' ], - question: 'Каква е главната причина за намаляването на бройките Царски орли?', - answer: { - choises: [ - 'Бракониери', - 'Замърсяване', - 'Отсичане на горите', - 'Електрически стълбове' - ], - correctChoise: 'Електрически стълбове', - } - } - }, { id: '2', el: { diff --git a/apollo-frontend/src/assets/images/conveyor-belt/bin-glass.png b/apollo-frontend/src/assets/images/conveyor-belt/bin-glass.png new file mode 100644 index 0000000000000000000000000000000000000000..a5531c5fe9c464900c4dd1247bce27720bbfdb95 GIT binary patch literal 3720 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 Jg1L9he*r(=^pgMp literal 0 HcmV?d00001 diff --git a/apollo-frontend/src/assets/images/conveyor-belt/bin-other.png b/apollo-frontend/src/assets/images/conveyor-belt/bin-other.png new file mode 100644 index 0000000000000000000000000000000000000000..8dd99f887af3d92f85747774e91015038333eda5 GIT binary patch literal 4152 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 literal 0 HcmV?d00001 diff --git a/apollo-frontend/src/assets/images/conveyor-belt/bin-paper.png b/apollo-frontend/src/assets/images/conveyor-belt/bin-paper.png new file mode 100644 index 0000000000000000000000000000000000000000..dd8f4746f68cf9f5ff420046505acdd6c140f982 GIT binary patch literal 4352 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 XPATyO9X8SbwP4cIG1kW2vU~D>fdE#C literal 0 HcmV?d00001 diff --git a/apollo-frontend/src/assets/images/conveyor-belt/bin-plastic.png b/apollo-frontend/src/assets/images/conveyor-belt/bin-plastic.png new file mode 100644 index 0000000000000000000000000000000000000000..64554fdea7bdfe7cfcd42b9daec32c6f35588dce GIT binary patch literal 4313 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 literal 0 HcmV?d00001 diff --git a/apollo-frontend/src/assets/images/conveyor-belt/conveyor-1.png b/apollo-frontend/src/assets/images/conveyor-belt/conveyor-1.png new file mode 100644 index 0000000000000000000000000000000000000000..15913d72e407066b78a902f8b4875f0fedc394ef GIT binary patch literal 7053 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 Lwktk+{r>*|)laK& literal 0 HcmV?d00001 diff --git a/apollo-frontend/src/assets/images/conveyor-belt/conveyor-2.png b/apollo-frontend/src/assets/images/conveyor-belt/conveyor-2.png new file mode 100644 index 0000000000000000000000000000000000000000..0b52e0bdfcf32dc9f12b1a1df2729f23aa58a486 GIT binary patch literal 7199 zcmZWudpMK*|JT!jo@ySI$3sI=iNX_!IX=QB6-`FYc^oFnVRL3vNhG#VL}S%d%&ADs zVWM)jHQAQq9L8kMHpAF{`hI)9-|uz({Jtl5FKJv1d2Q+>R%;DUi&sQ7 zO|eoPC)b;?Z@Lck_}hwZ9u>$wfcWF(5E!PECde*$=(p0kQ8sw8vj5wPhElF zbvydR9}Ai49Bak6tyff-Pmf$s_eDiTAp6x&S&gD8MR2g`I-U@((-EzW{Ek>*0#TW? zY6VmkEgtyzY5e-sI2dodZbv`}ubFzHc;R5h*8+YdL98c-NB7RheukFM^F6#AJ~eSe=Hfxq2BHXuIq^IMuOH*K!|OnAQ}))*4;28& zkL+zJ6Q;VGu_Od$qZ>T&hUL$@1Yt$+TnNC;Kn!9=TfwAg`$Q@zo^%7YnEkYJC3fNi z=sA|dTBA>?FD?gr8cd^-Pkj;p z;hs2N{$q3YXaAMLdbV?0pB8cir`LKyE>3;JNX!~YLrmd}IqlC~JSonm$le$P$p^Ds z5M_qw2QGzz1Q$kG$Qr|e(2>sNbqYcMPy?mVZNn~=SRtqd)-Yw|qZ*(xzi?Mse!Xja z5P7t)UqWviRgoWyizls5upaFA;=AK-Z6Nx8KA>m^U+KD+&R<=!J&ACU~G&vpPU_l|(*ES_$>75J=|E zI>==H_~+Gq6MV8Z=-MJ`VExyra7ed-!K^Q4aPPog3yhcZY};b)T9i8_S9h}tO5xj| zQk4SMdHVD$o0y)evMA$zVug} z{O7}RtrcBsNDUQ9Id|dZjti9~2xecJZpN}3_;*m0pi!8(y*db28(gC5$@s9^$1RL7 zJ!t$o$Rwr}N}Ujjk?kz6k#F$a!6se zzy8j__rRnatnH;onUB9t#&s9gm;36?>PQBe5XUEz8}f6C0z7R!N^b>Rq73h4#JI(i zXFjp{8^aT8BO?v*wycX+3qD1Mhz$N{waQMvi*#>{zE>l%v@x)dImU@!BMArDE_o0D zSdag5?tz83{98l=;*5$Du3GpPCF6?I=G=0qC&|OTk)bRW6>^`dBJgDsF+;K{$0C&* znx?9;qN%B94tc0tMbFc8-JBo|+HmiG znn%>w#dwi8^(ws}Cjq#29Zo)ez;9_@ueO9@rhcI{;5cVfDfsvL?8 z$u?|kX}$ro+_C2Q4(U?%AY#zaG4!4YEq{J=#Ou{e%-C-e9qeC*v^(AA9rMPQ(2gc0 z)dr9khPf7QjNIhENI|&y2~=&pskDMQG$YJ(pZ1Fh(EAegIu~0W_6Pk{XpJd=vZ}gol^p~% z3zYP{A1_b7gHesN5$|!zNnNLNPqi;1Yj8?QN8mLjD1)MpR}D9PcYIpR`5yX;;Ta=- zMBtPFv*W3w>#-cK?{5sES{u8*3x&%F`!a99kZ|(grbm^O%IRLt2+D{`!7E7FI^0d% z{+J*jaW%Di#;MxX3?I)>#Wp&5;Dp*(ZHO62xhyta8+Dea!dcBz7B@0KE*T1?>^wO2YMHp?WonM5swD8tYf3co#03Zk_29SFdaGSoc(ZWy zrbqf=&}bE;%h<>u5EPu(lCMLIu&_);W)(NK7D~yet#ApzMxi97Jo&cNhdRtUl4L8h zU9cudt(DF$Zw!w^S1Z6ww0o9d1Ql#u3)11zE$W&Y#0to;hs7WHxf%9viuK-;A3!%j zin^Pfd99FYc8loYQ*^HN12y;ygO1*Dj12jvdXm9bW9DKkyH+ULl!g=6{t-=GuL-NV`3_f=?wP zJUz-O%-0y=?a-lO%w&nSZ2Q<3RGErFK)@h8VCP`A%3e?XX_RtGW~BS{-pEecyh|bM za9s=MM%CABOv>T=JKXhZxg55~Wl7H;D(ay{*n(Wz`GZN%y|Xn$hcNxyZ|O4BFKPP= zcOh*!c?8cx#CRB;m?dt3$|z7=F5Onxj{oXBbikvPb2C!Qtawh81uZ_w7&}bY2#Hcd zu_zCKM2ye+$+&?+K(12?OZA0{ePj|8Buv6|%+?0IPvLG@KqmS@UU}n6`nAEyHAB~V z-r)G?-c7Cjv0wh9aL|!$YtyTrn;NN8LQKaH(O$F&rFc7WuL$;$(CIRT(~c(bv?rF_ z%f}*DMFf>ItUm)}KRY6m17zoP0#KFVTwsAhO655K6Ez`lMIAvbd?mQLE0>EC!{-tG zG4-rKhnru>qek3KFih;4ctkE(uh-G6^#Jsrq#zcK>jK|uxPtWQU3DEdg{RmfASjnV z@q}+Feh$SDOsYLoseNn4vwMfRS2YhWy|CFRAi)7WoOM~k`tFUELL85QXrib}Zt4*N zuFM%}oU58~i*#JwF!ko`fs{I~bwKs@yEd(flc4|)&tLFK;qyWfP-ge~3urMM9n^~| zI51{z|L0uyjSHN9}45F z$T9WL&5Ns^m){-l0XZa*ldwuhf0AWiMS`be8qp<-07X$wf4}h(Ud5mAtHH_-$zmXC z?+;-+e94`K7=M8hJ$?EaGl6`NLcm-l_J^;;V4-@4sPgssi4CV%;cvcxI+|eh6=4=$;VH>C{}qw_`$U@_ z&5VGlnk0wzSFA9c{h%Fje7q+=;!H+7$A39e-WiggJ~XJa6uk0wzX?D`6*Lw$D*Q@F z_qV`ZTbZH+xre?4&GF2swW2U@qesJh(tF+84HTMn^*f%KHD26%DsF_$ zRB*=Tc}U$~*qEfP_7T!I0!61dXN8NeW8KTLmy_?*kN6i{@ES(09JecLh_*G_xX{H*GV7CsN(DGx~BLmjE@jH<=gm?*2p(M5yj^Lz_hX^HSAT2Ya6r(K9KlqykCpx&4~U8ZQ1vE$hQHF(E|-`2&%APzpD18*C#z*8~~ZQ9;@1&Q{xB5 z2l@8por)$IjMY@K6_6WP1BK8IftiAnV%khKURKhXlV3#zMat#OuYg)E9jD?c(Nr^q z_R}r5O+@~my30%ZK>!`CwcjDCt?9^IU7WAtJjA`LiSz63ZF3yJR&-h(psX1EjNl>fjrTdrYGzQ`sK6V+uMV zfAA7L0yD6`o#1;^8o&5W{`-flbO2huJ%Ly?m1+O8ijtPad+!Bd|n2)_7`IdFN%5JpRYPq0`@OMl8F0Kqp8;Rn7A2xUbK( zEFMQNoZy3z_i%$QD*6~zcPU+VN#$`<-C1N z{Fd4LRtrfHnp&6v=8YOwbjcy$^%;1fUYpi!`FLG#O^W*t4HQS0eQ);u8wT;3trEj~ zzLV2TGGZa-zpuPcL>8xvp3X$p-S-V3UMQ`*qqx4A$em~L z=VH3yKEd}>XEf8(P0s3|K+2268k_0!2F_ILu*PP%Q6W`Xh#DW`>%tQQc{fmP^9R`eM($G-p{N9-QA zXZ-Qpn)%uCL=fuCQuM@n+JWdVG;97wKZBjQ{-urcA?gNQnwS8CDh`d zTDwT)#XZDS158gZ@`_a7MnBGyZnvdX6 z!An1txYjAF@CW0MEUhc<87BK2%RZ!JQrnUzv`yexBNmPf&7NBtK0;a@SsRVc{dMJ8 z=U6DSh--3E_D*iUZz0`A`rmmlx3rN@noFk|9El+m*%T3cy&K>&cFQLOFZGTZv$ z^d@`Cl-J5Sb`h_rW(MaSCwy0s<4Ikvdl>ZGyv*1H*u2DNuT1oNBF_wQn#-|>=`v|* zCF;J<{iyoxDM(sMn{N_%WVJ$k&KjHetVMO`z{h=H`q{Y8g~>g#ijhB+%X{{S;su7? zF2LT~3&x)O6M8<`b_^MuztjneK~41mH*mxH0(Am8*M9 z)j-z(?ff`O%O;>~~eA9%&QfYrGO%CFhpQE~Yd`WJ6FnHVk20&dz?5dN77k z7~WwU*2Lk0d>f?&$6j|95qH~fik=drB8JK)3<_8qo$zHz{-_VaDsMF9SCj~6H#NOC*LN3(Zz-z_?*P;2T4Q z0oS+|eBR`@@aX{;**DV;Fdp&7JSbPGPngOzf2{?``g#!R(z)oS9^mC5`QVK&c4?sy znpe*wa(LL{$IcOdA6TUA?%vek1i{WnP8uCD78tWEZLCTR?C{%PlUI^=BTtQKAZCQ# z@}Tg1%d=Z;$UZ`!y0(w>-32<~b$`M?nClv`F!HQ2*5S`98J!I0rZSaRK) zpt56bz@Bn|wOu8g9A9F1`N239Ri5k+V~U%O{!i5#vJg^&tICm;431Q$rz2R1al{0! zW>ACui0xqz2pdMAfgP2QiK|^BVOp7$J<(KF@X%ZB(V3a!YLP+<0`W~GERkEA5qt2+ z*f$o+!N)pyHuzAtDZ{Ing4%uM$eou7*$O);V9gZaUq?Hm!&r!=IW=w(f61{5<=-&T z8T2N=vhkJ?)+Kx-)&gFqmL}>w!9gFVR{jJMU`9gYK|e>tBF+#(4P8Z&7!x4&p9VK| zPm>zuQW4W(f%JKJ;_?mUsJgQIPc}YG<;;-7;khbZ+2XP&})0&X1kBAKT2ri7Geql%#Ew_^@uH>sE#*DWmdPcsnW$ZywKF^gA{uXu0iq=IwPk$O}6nEWbu?LxB;E#tDcm= zX$^XFa0;|0xtx32(Z}9Bo>j2S3;5By* z79yCvO^ag0=Kn+u2kB<1Hi`;|*?wfhOYNnu<#Y2B9iSN4q9I_~7_L|hjAy!M+uJ@s zpJD>(*`JXCede%&FB*B-_bq?A3R|YmjeVJpfV_1i08Qeu5PmmM>hPeUDqMEsmiyB1 uFVpAWF4>m0`q3@@e?vzAsYOpD=N0q^Mrz8=Dkcr4$XhS1#+2uo=0osEFCz6=T(oFt?C< zND4Eymdhfy+8Bn(ZER*geZPIr`Tg;Ef8OuMeuSb`y5qo#<-z_5} zv-jLt3tJhPpH?^fH+JsWY+pZbncMvRgt0}OmMLWbr#1)MQ05oSWn{{Ud)BXS-yH7> zIO~X!kpZ-R|9)!sFYuI+IgonJ!W?X6#ZI1%aBWKQOdwRR)i(4I~*p&gX%E|~+Ds>sH zigIlfG%zd4JTquBzezAEY4|(M_Plo9_vYx>GTcf#Z${1k&#+;ZFTUy9WQtTda(1!^ zAq`&2qezXM7)fk3-Ob6J4+~=S^U@^u3d3VrpA$!dmxd9eK|wSe5j|f9l+al`{0423 z4hM@J62o%P(Y-C1n;RVX8_<+y+aHTE&W{{It$ikr_${5JNWr3f3Q1^?sfUuPK;As7LNq<^1~aAl@tQ!AtbSTq6mmH))7kOC}m2}W6>{nO^IcwE8zbVB1m3*Vdx;6R6HAvTec_FA$=gK&N>RW% zcK*A;cNBg%xD@w0x|$9Ip}J3WZdZFiUL17|Pdmfof-eF3L}$`p$ROp!NS}=xY45AHb>9S?_TwXB+qwAbe^Yc$AZ+VQoE^ zVHiQ1+yj^1K-$$({c#ifz$;#TYfk&jYex!}SJezeZ&?CWNtI324#cyQEuksdxX(7c z(X~jjjr@KyE%k#7V-VX$CQBc)#>nqTAYb8(H7ic-GY2IvUj1(Myjw{{=y@t|{5c@| z=f@|W?9z9~fMe1tFE?uEqf7gqD#kPO7gLlQ&5FW|IEJleb75DGnKc6wr>${r6A|`y zC61li954r#?wszM*N>t{Hn&e2gdCLx0DK*>5*~%_vS?FF9v-E>1w(PT{)U&K3{2Aq zv7;r>OklGLW$$lnpS%dSJf?agY+&+%sv0{HxUsM{2YCuKMfuych7;>^f%?4A&?u-N z61UEnyhQArb?@axszhu$PKCKa_KBFjdmZ>ryl@zvDc+h540sJ(uc+_ETa>n3xN80O z0`D&haMtGWqbKrfK(sy`7%$}WGQnWL-Be?b)bK?V1E*XF!nXoV+pWRdq1krndPQF2 z-1SDbu9sD9vuOzESe-5NC{tSp#b{Bp*PX4aEKUhlL%WgwCi7lZhmC@pLV(M!quL4v z?ZR6+t%8i4}x3JdHc| zzk66kjqx`GhXuxA!#0Kh>+mNU#;qq?lRU24o1kBN!`w0}CobSZ(=gC@uWk3XIv9=# zAGe4@38w&U;u_UnUY_?nX}NBqGa^cWc=txkysU2~jw}$qFF%Ia zAjNmI{KbZ)p)E7)<{%A$aC9!cLtR#|5z-tm)}MGqn26=l_bcI6Ak-Y;c4naoek8IN zv&N#RA5c6ns-=EhsM@$uuqeb*NOPqx@jo{ZBm=@!sLXAU&d08D>Bgi#aZuxp@GgJ( zDx>K;GMyhd_{1nM8knP8Hhib+U>6X835&H$&$4*j67h9X7v3EKn&3drnW0`ZcKOi* zAFoaJT7VtFehfCgQ|x5lqlX#mr-+7t(NCN=~YO)**%S-c%1>4`v!Ud;(nDi_zh0|;*U}U=#aXMNGUcjcCJ{f1o zA7vj!XrSMRHpp?0fw6r822tF(JT0o)SQWxuM}f)WAYC@!@sKTA%92x!GfjSO9ay0uCH1w0yDtTA-4g@5No#`KJCI{Rj31YKKG(OC`<9 z<Xy{XdkT8tHRrzfzEC6jD+WX$nIO0j)+0JIT%|pI z(aewc%0+P&!@v4oStRt*d=L}+q=NtGOxn@ZJweUKFpbVw0$uF5{Bq5K%k?q z`j+wfz}K0=sRdC`BzUgbL`1S-mM1K)59%;D`H7v831d{&0?=dBZC@9F4s5|9)(6cIvxL3`P-{}u4&+aHM_S+HE)FD4|rx$O>$nLR+ z3TitB&{05x_L~)&?aVLeFyKSdmx`4ywE&N)rA+yKWab5;Vb#V*aXt`=8po`K0@%$a z0IS&dE#h@LsR?JMtu+pr_|WKY%@Wup9Q@@>j;!EwVDNhHsetF|$AAUE#>LW_+Ox!F zGqzKz>wD}$2k|`$DUSbE!o5>FXW6tg@F9W335i%2y2;V`Lu(a-4^kD+Vb;M{7}A$< zgH2=g6G>(fNd47ze0|xa1I(HRd=#r7E5Tn$;heKLa=ac^ESJ#1FaHl&+n$Vb6u_?U z(Bv&WpfC?e25i7cK%$2m#04p#!U2r{Q+K6ldt{dxA2@juZ3Is2Espe1{+}xdijT3yI}oZ)Buk9n7kH!Dpz~V;ZfrGPDNZKhO+j-e|F;tXWE`_V z9Iz&GZeME{E|?BY&XC2&o8}tjQhc_Mc zzk-XkGoyAkx11i|4~76XYT#G{QLBw%PbK5T8VUW9RNTzFX}QH>r*)XYCP>&nSZ^s% zWvZ+D06?ZZUq>kJw^9vj^b|KTsxC}^FMtMPE9UW*w7-ge{dU>oV2vc7LLJIv7jdxp zHb%!w!~0mIWt-$ z!LGz-EtU}fA)w!9cdruYk|IBM9>S;@u3LA+3TyCAuI0bW7TVuyHJK9!yKpaKHGAB@ zd`4hDn7Xg4$}1$-HzalrNY@L7O8MSJwG1;KWNFT?{opxAO2fmr&rpP!*ODT9SfE}W ze(?vqPmeJHV0V>f&}ue5YO-LcL}y%0ZQPXM6FFUah^=q1#cr6&yL2G+rV5n{@IR?@ zdNIkS=tyM&KJ<&XVWXf4@Y0q>}{#)puGWV_p+>yl!47A5RVkN#gJ zv2ZY9WhhF8QOOB?W_YK}qv~!)g3dS2L@xL&Zy81r?OLBMAT9NyTL>Dml4Xj|6;&gh z(^WGrA>{!ZFx(OyQDR>wDA@m~WNa0;enhrR|K8&DVR5M$!XmoqM(^|!EkZpp==6}) zk7)0PeT~abxss8L`qIu{hcHGGL~m|B>LrKRyq-vq{IqExNnnMcr@Ib8g@&JVbk4>{-}e5yM`}iP^iPRVcs zOaZB9M)ect4*$=4D`MR36RA!a6q`uKiK$z8sH)|0@7iWqnEk3LqIHZoC!QiXQ+S%Te`mHH2B-Kx8M&&Waq@=!A%sGYhNU#XF3rta65m#G}7?nOWzuz{8 zLC^RY74HdN=gxz2Gl_1+cDqN&u1xMP%hu8smYNc@h!DX`;LM5EXIKcLC<0aGbZtt; zAKKX>?V5Bd=S8co`@njqK^wkBx$S+3zROp0)NeTdCu&XedzKQE@b`Ym+#$P)DPxuV z--M~ttF^BbRq@LygwP`X-fr%#i6H4k=!29VoqV^;n>aVqui%iy z%z;fhvdOn^i9a^L*uj6iWP_EaGBP$~rxwXs53<$pK(dR5V~9jeR)b&Ov*(a}ZoV3x zY^p?So)DmKRjT3Y+2dj0M@Kq}mrF0zFyOlT@~pOymo320;L zOF)0S^fb*7#?$71q4=O?z9lhhYJQ}Bo(TY0Wi3AFMZ9xIR10gyI$hb9`jj(hUF6Y! zuGOY(@B3k|#weICx^_*z2)4f6}xZ_{rIE)nE zE*@^MCGJX8S4-{8HP2>AF{lF~ERJN9n{-FiEGij4F~vc6jSJT_+m&QjoMkm`NBQ+J z0+Rx1HBhBBAovBidZ5{ar_Op&`7Y{P7#A}S92-SJX`humcBtTOF7DxwGPpPjtC*)K;0d_+CSB67usUz-em z@pJZg*S(x!eNVYinf59DNLHNtko&_$TtBganB;GX zhAG+fv4bJqg@H4L!HlzvKhNCv_WQdN9MjXeI|J_;xVa=sGc!9`bQfP@ss$S8#crO! zaX6{Gzayz5VP_t1!wR+f`XB13UfoWn4&#IVrk_>tf>SAm)hW&}xU- z`)r~GbNuKDg9<&EM&m()1=p7^1Y5}(jk*RF@fFcWG>W$NH=Q1f{!fBzd$J>=Y0U0{ z_b3M+R7SrH%~@{s9X>G?F=o-_2|iLcT=iBN!koIC`Ru$2zsOM4=#2Gk-Q)vg4cDE9 z+~UeVU>>>w_w9}2YHRiSekU1?kevW^!lgE|qK#F>UyZh#nQ`P$S6vsp43WMs10TNXER3sL&uMbuXQ^4-It+KgkiOw~^c>j$Ee+aDJ|9djUHQYL2ZfgGVw@^dwNG0FnA@5D8i#zK44_|Ed+3x<6=`iZr2Y$Oj@#Ara~K+K^to{OodAz=grCt(PKKT| zh>CdF;Rk;DBb91M^QgOQdrn!^V82kc>Gq$YtC4TOk};Mn{tv2rQ}CY+g(W|wejpy` zo`D8b7N*I;F1ZNyKRU3>-HaN&83s2)>wo`BXjLSPpf;m;vy)+iwPs%jV}uw9D>kuh z@53s$ONi@=jh~586E~lG9`dEN$`QPcTLWy{TbEN5G!Gs1JpDY#p%*ENE#9`1sI(k0 zT6LRPT2qwhJsSn;a!G)AkDs|LdwMfjcKo3&=z>?B@vtDIB1KGmQS><@P_O%LGkS@G zsBCpPYqpY9)#rOqq4A3wWk6eRee$NxM5`0~^$TnDA+Mzb1kPv48BsYZ%^K_YNI5tZ zg0z@Iz%LzOr=GpMa!!tUV0ohgeO>LWKmOnrov#b#l$9&e4Vz>Gz+wd7#YK$`ym%N_ z%euKDze{jj6mP>kA#4`b939qv;w=zsAj*ug=F$#{FS;nJYu20ELXTGv;q#KBLYR!jVmMQdV*(qbI_ghQEUB3QHex#Xm|U~|8-_UhZ2a?Bp&OIg6;OMdTiZu;&o6O@6U3|1Q%SM1xi358x1 zrV4agm~)aq9t5zT#Cg;o-qCm!(9i_bGWvzo#9TW{X=1w>gysDY#;gD^-?$hT@{pmd zrg7PUPfj_nF@Iz(vM4nNjACB>jx1dar1;Y9Mz5!N;NBi-uX?dDR>T$~LK{O;z!E(jd`%Z#xGO^2}_*@$J$;;DQz0ADUGfXik)=+C%*` z-Z`F=q|1Te3dqz5WgN*r8iIXh zSB83@0|%etyEXd<`SH_ow7}N@wB-&K=D2T}awyYA=pl-WT{ zceFg+<>mAj=6*@M4PT@N?xYpUgV`P1E7cK&VbYV7Tr5E#w<(F0LT%9>K~1?<_OmW1 zWd4O@xJ1RJ9g@&lSoHo5YjQATGqI=TG>lpvBgFqE4sEw_moYk~UX#lgswybg+Wv^l zD=cN@3=1zQOYk-XTGzA?vFvuThpWk*K*ov|KVAoC0P9?iE=O^9bl)EhMcP&QTrdRl z;dWb{)u=kD9_&JYU%NMC5H;Q{eYO=*$rI~w!j5b3u7NMg=T$}IE?Vm1bC=X_4Ny!? zF-XRO5Du2K0zXvznjJ^9zB%Ur4kz!vugkt`x8JEr#S}C-Q?62xACN@1&+FLL(XttQ+{coE8Pp)gTThyR zQ)}mdo+JG%>p$UJa}aEve1GPm3U?3;OO}-m+n=CR(f6a??3x?Y^Bp0pe(sk`&>T2y z#c+%@w+?1IU`hJ9M(Q_1)W)w3DXM!hRTTKJ8Tw7oWy<8qCjNBMhd<5u^K-L?)^ZNnV6VZW~U?l9(q3biS2eBp{}u>1LG0B ze74Us@K!s-$x!y83)z-gF}U>%e^ZYUeHQOO~ino z#X>P)fixfaCG?Mq8L-A%dR@`;8l4NC!iAxTe=|k3?TFiL?+P(Xz}V(YUsu&LfS8_> zzov?v=LA+Y_L8Xb0McxyC)-FqRZVI9ll9TJUm|JRpWk1yeoU#UH}B(LK`gs|68hW_ z5}g#R+X7$Fl@QFdxSN5;nM!sKa83LvEAU=qd(qw=hf}lZyo5faI)lo$l(EQwqGqlK zhRXK*D~wlNtGYMs+c*UNqD4e^pvx5LG+j(PRcscC)N{0eS^~$pAcoWk^ci&u=8Gi0l_P-O|wT(-K;6a zr?|UArm~I2iSxp_UE%vX_I_q&U2&h=^|Ytg15Q3!-|xD9UYkeYwN)W3RW0{h=9&^2 z!n!dmw(XTLnrHoA)7edr(FX&%r%?e3Hg+r2mnBhSU70#4aTd#Kxly?y?%wk1OFidU z?S{2NZ|JP+E-P&mQ71$mo@`bGvk(`l!sY#%k@3`7DyR23|r%~|EV0^+M8+*$PtADqU!jgX#bxYG6E;O2far&8q;jw z{N-F$N^H%e2#j?c^xqbUHjabBndD6T^w4S#WyQ3P^zS=uR*bX~1Wra~q{a;u`p&Pv z0CLYbMEXZc((S+ecen3)=zmLM|Mna@4`;6H|D^x(TDgCU(q_$0=A5OqMd|5l(fPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1MEpeK~!i%?V87` z6j2mK+njR_19L=B!GsABb>u`;@Jsvw9Xa(6961p|!MW(jESNJ!%wo=-)o*X;>etEk zX;qiCVR8C3)mpvpz2}^Jt4oCn6)IGyP@zySk&1dNrlvl@#$bBzDHs-f4tW1Z@Yj{P z1C0Igu9u~YikB6iC_YrYrT9{@M;yw814p`EmS!jpP-IS^$BNe!4=bKf^mT116Amoy zdRdyKI8kw?;u1yweOK|2;sM1Mia!-wQYIXzRzJnjinA5BDy~%=s(4Uwzv3IkmXt{c zs^x3^jdv>UQv9yCN71XJrMZy01LXWx^+ntZt_D+s2f@++cV6ke3qk*YYn!U09I&XC zWWRv{4y+8m21A0$!TDfB@GNMmj&y+8?HNvGT&PGb;hUcd=qv67O_jO>e{uu#3vfe_ zIbn_Acfx7-DC!daOdu9w<+=s5l=u6&LFZO@~>_7DdGUC&WbpI+#6Cq zP`1vBalpSJ*{#T!A)b;WPBhRZMY17sE}%zfTbXdc70XW0$D#X*{-)m1)~bMQD|H77 d{qHK3egTIQ@$-O?C8_`b002ovPDHLkV1j$(@znqT literal 0 HcmV?d00001 diff --git a/apollo-frontend/src/assets/images/conveyor-belt/conveyor-end-2.png b/apollo-frontend/src/assets/images/conveyor-belt/conveyor-end-2.png new file mode 100644 index 0000000000000000000000000000000000000000..d111d608e3b8fc7d9c36b2baac32571e3251c0ce GIT binary patch literal 1194 zcmV;b1XcTqP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1V2ecK~!i%?V3l6 z6j2m~+ng25iaCKfX9dB92r42f=syts6M`Gpx^yG1bRmL>xKhM`0Wp99GbrYqv*)Wh zcj)e!aR!~CYRWqBaeLbCvFg@+H@r8cLWK$yDpaVD)W)QuwzjFMomeVHiqE2l_#$}! zr)Y7d?g5_t@tT*V%eGf-AKN~(y>0u_wpl!s2@f2sd084|+sT%gK#y#1*dDMwVH=$aFMU;1T{WRsl7kr${EJT&{u;{UJm?h)hU#1c`F( zfl$Omtp9A~ftI|0E+(Ei>mJx&fJC|W0ND=06YmU}5)x(71H1=O$7dOGJCM=-CWA6N zK&*;Hse7PyJxcL8SQ@sJ=E9Q#Q76*(K=}nsFf$Du3~)vS zu`4#kOf?ND)_+%nryyH-pgacXWU1SnlARUo`vZBL+|At21(VJA`H&#D$GKv)*hObL zUM7gGQ-WEMb4tFSOv#ywftY6LT7f-aSZ5*w9x>NUwfLRD3W3-$jfp9{wIHh3TC>r_ z9dJ$vyG>NLYJ~@Q{&5P6!o%z-#W_>9JTS?uF;Ttt8O{e`n2A|0?zk~kRKZZ{9w4e& zquAAAs8}wTV2%maIJtm4&N<<1u|g~o#0&M|jv(Xld{NvK*%U3XJ!*T!Hc{#x-~y<0 z5FHSEybyE!WmmJPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1cymPK~!i%?U_la z6jv06+aYRVoRg?=o+k`OMH2^zhzmitiW_$#uEb@Q5fK#JsB1-Z<03&2+=vR2kcApe z6vsH?6q9J;5NG56)%#D=-LIdoc>`6i>>obI;1tbLGujQvY{yuW7u!M@x6xBY*6P0B^+pIcN1VU6xvR@BD1ilh4MNjd$I3@asKSi_ZkP%>X#|Wn~PO(!< zxbkCyzT&EAR;fpzH77v70GAAz6UG}dYGl_1+|3v&HzV>Hmu=qtV7T#GK zI&=g=)CwXnRWKX4{{sc%g5Cn>n5wlQ7ZG?Y{t;wBI_SBAEZJ4iOB@$uNseozTtt9= z;FX|0&@a+MQW+-+s^jnWs$(G+5eP98?uh|{RTRA=YYZypr-CZks82{e0&RH$WI>49 z@ShwC4$YXyTqT?}7aVNR)a6s^tOtc}|R-Q*t<& zY@(psW%WZ($LG{~j%#YyobU5niv*eQ55aej2)gKGXEpT*6i1`P*`j&&we|^i@;5qR zUvEESuUz|mWB<-hpNKZullPe#1MKni72k?kf|U(xf1VR?zhXxu#s=S=EKZ7Ibt@6o z5G}Bi712-jT8Vonw@0bxNuB=j#2|qII4*(q#BuYI3rFkG`L_d36)e`$kd#vwv*mv41XF)ty zhNnHU4H`sIl$#HGkq=@oDE0&B^B@%YB)Z`E z-7=*ffznz~DRwo{V*469T@vEnqv-h<7bq@@Cn#u@oyv;H8%1S00$Dx74v#al<5e>6;l%s*%3u8Z`GBDQjb7g c@4E_xx6vE}$6Z$GNB{r;07*qoM6N<$g0Cb*0RR91 literal 0 HcmV?d00001 diff --git a/apollo-frontend/src/assets/images/conveyor-belt/conveyor-start-1.png b/apollo-frontend/src/assets/images/conveyor-belt/conveyor-start-1.png new file mode 100644 index 0000000000000000000000000000000000000000..f5d4e24803f9823328407e240100f45936d24833 GIT binary patch literal 821 zcmV-51Iqk~P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0?J85K~zXf?UqSv z6hRn%YOjHmIqY>;s0) zrdbC4l?)i*N|(Y$SOcq|9|pP_FnAu#emD$UU^UqH4Mvg%z8*~<9ET&Y9-hG6ynP9e zI~gpdISEJM6WoA{Fborn`$3y!8Z?8P{Qz8st8fAqL1V(0R2mn;URVjYV33C=p=G%# zgLSYAK7$7Dp{-H|Mp_f!cbJKP+u2Sn1_aMdvKh>~21Yxnb}Ml9o$v)7fEh@tWWenH z-vQge*&ntGT&(65tbjwX1n$67=%~UVpM4LQz7em ztV)UvoXzDmpG0T;4pu3jDJeGaJ76jIV-mm4Gq?_Bprz0h_X8q7hh_te(l^C_gXxXL zGUs=)2aLlDFyOwb{ zYH)ixU2%M9D|pNuWL)g?dS_~_T%$>YYRa-dZiwe?zfAxR00000NkvXXu0mjfnh0gV literal 0 HcmV?d00001 diff --git a/apollo-frontend/src/assets/images/conveyor-belt/conveyor-start-2.png b/apollo-frontend/src/assets/images/conveyor-belt/conveyor-start-2.png new file mode 100644 index 0000000000000000000000000000000000000000..3a88c700b905f8a6453f687f00fd04d27bfa582d GIT binary patch literal 860 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 literal 0 HcmV?d00001 diff --git a/apollo-frontend/src/assets/images/conveyor-belt/glass-2.png b/apollo-frontend/src/assets/images/conveyor-belt/glass-2.png new file mode 100644 index 0000000000000000000000000000000000000000..249db09f955f7fa2087f7ffdb29d7bae6adccf6e GIT binary patch literal 1270 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 R(^voi002ovPDHLkV1f%LOnv|W literal 0 HcmV?d00001 diff --git a/apollo-frontend/src/assets/images/conveyor-belt/metal-1.png b/apollo-frontend/src/assets/images/conveyor-belt/metal-1.png new file mode 100644 index 0000000000000000000000000000000000000000..f06d37579ddd9a6196da008af1a9df9c0349e59c GIT binary patch literal 1227 zcmV;+1T_1JP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1Yk)-K~z{r?U-qZ zl~owW=c=WXm--?{gkX~scD{lky<&YAO`bDrls&vVYbxvHwFl1D+! zlIKIOCTnOemun7X&OJsHmY13WK2>S|rW3H-k3N5~3cx zUvfSk?}A3Y1@FL95LD36#DJG!B}{`du)R5te(*kg0PUes3#SWr!-a zqffwS7yw=18k4o+IR-w3nXmvR)2{K2sb^poXsD633ogNRxC=qW3~d8_!JMcBJvb3Q zhW>B_u0k*93U!u_fp*Xhx)gI1?WzMGHE=9kgN^Vrxc-0O76cVDv=ej$4_kM4224&q ze-CTm1Uw5arl44;`P>=$!B`ki^Hi7%^S~6S4mo>b4EY_EnehnK%lSa*lCE$C@U=h3r!@)Z6JXDMKG|IM* zU>KZ*Z{a&|E*st*x1l#Y z4aZc1{N1nuK8LMN2JUR@ z1dD>XlIjH*1nocr*26+r1&6?e?_h|{upM@Si%wMv9veg90DJ>K)##&hEsE}FO$QfM z%uvJD0Z)R9`2!q0m0oq%4PkdU)gJg7+{rIsIT-H0g3;lw>Y!qJ4hDiDxdnd9%kgcTVh*%0daUWVJ`lZ`g$y+; zd%!6;XG2C#;`=V7PT_-$0I}*88ndp_Nk76iupTt%!r&#qqG0an!K|!+R$9ZyJPwNR z(lI*ET|ElseZ7?I@sjXY&MKLeM!G8w>foU&s?1IM zxJbj!-2Pu;j#797yts^mSK&>V4W7wg!YA+|BWBpgp?Y1 z7>=_m_4y6w74X>d5|XkMyjXa{K~Y2 zK1K76z8+UbhF=o)(Knh`Suun+u1Vn0lAfy?XBv4vyGE<@8OG168zDo@sq{jBo_-Ek zOY}1;3}4UA`s`AjmCWS@MI+O>eBNg2VC8@OE8xSX$A&gUgX?YjjxiD{{W0>R;SUVCAa_p002ovPDHLkV1i+;I&uI2 literal 0 HcmV?d00001 diff --git a/apollo-frontend/src/assets/images/conveyor-belt/metal-2.png b/apollo-frontend/src/assets/images/conveyor-belt/metal-2.png new file mode 100644 index 0000000000000000000000000000000000000000..b4a7e6114cf91f5553c9ce984812c2a87dce2c6c GIT binary patch literal 1288 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 literal 0 HcmV?d00001 diff --git a/apollo-frontend/src/assets/images/conveyor-belt/other-2.png b/apollo-frontend/src/assets/images/conveyor-belt/other-2.png new file mode 100644 index 0000000000000000000000000000000000000000..565df2e8e1fd84c6da877595fb767c235efa5578 GIT binary patch literal 1447 zcmV;Y1z7rtP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1w2VaK~z{r<(OHh zRaF?r?=dxJ)11m76Q`VqLP|({NDZ`yd@>9xHGT6%#SlbPR0Q!M1s}4=$`nB^MLl#u z9Fde#F@sV|GpC$q&FuR7UG|ncoW1rwc02}t@MGO`?%Lm4`@g>ReQTXuWo2bqDJ_@F z)uVX@X2KWn4Rg3b`$+781mGo}plJe)p#l60SKtQzQXTTV&vb^fa4pL-TJ&5`=n9R% zanHeFID;EM7i6gdFldhENoWtxLOW;^(Gr~0UHA*Wg+uuCb5V_HDE0(+1D*#z`@)L2 z7b;-4p9>KpC;)@1a$k5E`hf#K0}k#>-iCjmJ{T37U==>k&=$>@M?;!PFavzKAK*`D z20g%qF#`9%$M8#55fTMpP*;5vOovYJH=F>&?I@gwYv4e>{8R8f9Kole6wR1Rf0{+$ zJT}6Y;0r6vb1(viLkBnl3*cAgk-oL;lMl?jwgL9RN_Z0ngM&28(_azl)&9O1V6TH= z{yB87^*^_$k?<-g%t=@Ut*iG-!i=0`-6Qsc4$FC9FPsLWp@#9@UC6xmvKp)J_UZyg z*w1hZ?i*ujM&eHR5L~dKFpOsvCuku79Iyra1VW+U<% zzyKHz<6r~~jlO#UIztOEysM1Ao5D!2pQSan)8MLp4Q|Io<2mz?bG22BI$O22g{r_n z8ndZN+HR%q9okgmS#!s17zPet#uf#)^~~UlSxIh!;cLjg27kap#;ST*eEEzo<-yDR zlX%9UZ(EwVpr0kMj{d=|8xp|GYTbPc)`QtqEQQwji*SeM>p0+9OK4Rh0;`5$+!2f> z`|GMR1HuZ~#oYna&c?JUs}#2V+2A zpTKAMFuH=4D1e4y+h7{J4LjgdFhRxl0`Vl~5!t?L;iG(m zkK?}t3ON8Qk>&^&U=38@H}mb%6%E;S*aFAEE35-~-aZ6I z#CBK*_R(BrS0!1KQGdvE0XM9)P%HX#6 z0IUqNU<$Y*CNz^<(m_RE<`6}73l%H?tM7bY1gnhEV?s7r+A4-6v=6k4`lecN3&e)A zu{4$y6O@;ciC`9Y5MRXBiMSF!;X_1gvG)p^;H37|!ja%D`0!HZ3)tfT_`AI-3QtnINEAnz7nuUfM`x>{bW0G2#U z-v#=o-myzzOwoCH%QVUP5>_Vb{zc}P@rYekb`R@aaHvWJVrBpU002ovPDHLkV1nIw Bn^ph- literal 0 HcmV?d00001 diff --git a/apollo-frontend/src/assets/images/conveyor-belt/other-3.png b/apollo-frontend/src/assets/images/conveyor-belt/other-3.png new file mode 100644 index 0000000000000000000000000000000000000000..69fafd6ce54a1b77135fa0e611a55c85d3efafca GIT binary patch literal 1549 zcmV+o2J-odP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1)@nrK~!i%?U-AL zRaF>(=VY3W+QqEQH0_>J6eXGXaMbIx9SJmZ;x{lmwa*=Mc2{{7$9zjv;wsi~qI zlFQ|~F!X_=a1uSrqe!5X%}||9E{MiV5+pNJpd_XqwIs)I5%hx#;Xn8b>RI~_W7!22 z)$2;Q9DJaYa0CvaV*}$kOHo5b1@}651a5@x@Gl&KI`}=}XV`nb4Hp^c78naRL4Pm9 zG1w2k!FKo->d>!|u}zX>s6h_acJB9$Z=Y663X(krWAA6VBa;c6HRL!D_G3E zcQLk$pxXe3888es!AGEje4yA+*Mq;`49W(08#bqPVv?aAXV6efU=eezP0hk@8th`Y z7K}WNWqSIzz0q9ef6Z8OiS~W~W`d5Xflcg}_b|-s%Am1E!+6lRyJ03%e`E|7?_CJw zQTPF-L+{q+#2_kVl-(84t+jcj0Omrd<>q9wlcObsauyML+SNrU@~~}eF#2ST-#i1Pol?c z4gQR>QX|ACnufG~8D&O@#xQa;nzg_t z&_>mW^SV*uiRFBcbt84Ypoa!8sYH&}Sa$CtVI9n4FB|7n5@M*^7>p=8aJyRbz2zdK z%i3d&{vj8Nk%^9qehi6BfV{rW;kKg{d0S*24p1I=>rzK@u6lE?Y+^ zMr-{3sk1yRMBR-j=X!9gfH&Fe55`myVknh(7Cc3KSNar;DqjUmC6$h&N#$+@4dsif zX=Zz|o_+E*;=X!Y2Rs3@;T@&~r5|f;C7uI6C3~{!91S6HgQ;U|4Xl0Y>KBA%u#0`# zrAE2wQ{XFu4=!$Mv9^etc80fYfN7_(oa66C-}~(0iI^wc*XZ*!d=;!?wag3hG)r~F zE8xCL{Qb!<1s)*2|M|Cu5^IvzPOwMu2QDBXhBCZ|z++$(`2EKQQ3E!2#-R69RAn@f zN504WPVS$VaxH~>-^<`@h`r70%(YEO6xQh+n_+t|#lyvKP__YnYB|EaQb$cONi>v# zVy2%)ax~}t+G(-WP#*ajLnVy}!~7`sO}sJpH9al%o`Sy7f9Ca$C_#p5FTqfLC-R$; zFR3r1%X+VOM2S1>a!K58S#aCbF`q9fcSPx^_`UBNbg?LRNGYqKI+K(;^*W7Yh6*1xjY9K*400000NkvXXu0mjfFtFEv literal 0 HcmV?d00001 diff --git a/apollo-frontend/src/assets/images/conveyor-belt/paper-1.png b/apollo-frontend/src/assets/images/conveyor-belt/paper-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5fde08a9ff1bc16d76e4c3103c06bb7767163fd2 GIT binary patch literal 1296 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 LNkvXXu0mjf7+QR+ literal 0 HcmV?d00001 diff --git a/apollo-frontend/src/assets/images/conveyor-belt/plastic-1.png b/apollo-frontend/src/assets/images/conveyor-belt/plastic-1.png new file mode 100644 index 0000000000000000000000000000000000000000..b87e01e0f5e38b359b607e4c100e9093a4983385 GIT binary patch literal 1265 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 literal 0 HcmV?d00001 diff --git a/apollo-frontend/src/assets/images/conveyor-belt/plastic-3.png b/apollo-frontend/src/assets/images/conveyor-belt/plastic-3.png new file mode 100644 index 0000000000000000000000000000000000000000..9aecb73225cf9dc0859ec9477ab3fdbda027a789 GIT binary patch literal 1328 zcmV-01<(44P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1jR{2K~z{r-Ir^K zRaF$n=c?nFshQ6-l_`rXOEIFmCQ#`iR9e{6d?xvR<@Ea<&%IsG-Fuv7hD87HW6zwu&)IwJwf5TU=Blf!%dTfN zO55vJK@a9~xh6E-;AS`pf5K75o~Qj^#2Rum&7gfsbGQg+!1Wx0ldP%65R4hvon{(n zn-MPOfw3m!*=)-eg`+!z8jzmIA$QMgN4k0n6^|J zm<2rwRj?Ec)8g}R8$19nz$fq-3=Dmzt{}bS8uV17K);@R96pCNa8Gtjo|>|#U$S2> zt21y2_JTXR0}NFUyH^D4Bwz)2AVKL18X&DL>=L2cm@pbkZy(7U=f%# zgTkgJ&;iT?mEc%I*&JYY4=QG$UNQCRJwu?ba`D4qBzSg1@;p1{KIq|ttT4)TdR@E) zD^te8Y1j?X3?4JkkTcF>{aKZSD2sA)Tzr1v{ds0Y6qJs!PfvJ`VrSV+ege##L!cj+ z{9I#i=*zeCZpnIM2Kb_0^uw_+K6g>EGwAv79<$#a)=T4AgcV8ND}A6Z=n213!E?`7 zR_25Ez%X70?}PWR3GP{V9bSepyxz9>8?nXv;wiWhymvzKqRkfqp%Shwcvk*^ZD85= zB1~ca0kj%C3EYHl!1>&iWCMyt)>Qjp4ov0IWUze$)`G{$YvonY;8u{RCId~w8gN-y z6-fid-4C4s4YWAe2P@zMaQt&%mGlbey*;2eT%-xDu={#KrT-R$k>}xO{@e(j%Xi=_ zFyt*WTSKDS80exxa$-Z&aF(phnpQn7#FA<`7-H6s8m(a;!aQ({-!NK|I}N)$moLF= z{_X>MUrUK6i)p>b+ocF_awp7<>th4+WT9_xI z?_nAjcL$gl-t>7)jCUja_3#w9;90!$BhNM9cJMxRJtiTY;(4{W_ScM