-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
install-fpc.sh
224 lines (167 loc) · 33.2 KB
/
install-fpc.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
#!/bin/bash
commands='14'
RED='\033[1;91m'
CYAN='\033[1;96m'
PURPLE_LIGHT='\033[5;35m'
RESET='\033[0m'
CURR_PATH=$PWD
start_process_line="${PURPLE_LIGHT}################################################################################"
end_process_line="################################################################################${RESET}"
start_error_line='\e[1;31m################################################################################'
end_error_line="################################################################################${RESET}"
logo="\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m'\e[0m\e[38;5;0m\"\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;52m,\e[0m\e[38;5;52mi\e[0m\e[38;5;88m>\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;52m,\e[0m\e[38;5;88m>\e[0m\e[38;5;9m1\e[0m\e[38;5;160m[\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m'\e[0m\e[38;5;0m^\e[0m\e[38;5;52m:\e[0m\e[38;5;124m?\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;0m^\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;52mI\e[0m\e[38;5;160m{\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m)\e[0m\e[38;5;9m(\e[0m\e[38;5;52m:\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;52m,\e[0m\e[38;5;160m[\e[0m\e[38;5;9m(\e[0m\e[38;5;9m)\e[0m\e[38;5;9m(\e[0m\e[38;5;9m)\e[0m\e[38;5;9m(\e[0m\e[38;5;52mi\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;0ml\e[0m\e[38;5;60mt\e[0m\e[38;5;60m/\e[0m\e[38;5;60mt\e[0m\e[38;5;60m/\e[0m\e[38;5;59m/\e[0m\e[38;5;59m/\e[0m\e[38;5;59m/\e[0m\e[38;5;59m/\e[0m\e[38;5;59m/\e[0m\e[38;5;59m/\e[0m\e[38;5;17m!\e[0m\e[38;5;0m \e[0m\e[38;5;59m-\e[0m\e[38;5;60mt\e[0m\e[38;5;60m/\e[0m\e[38;5;60mt\e[0m\e[38;5;59m/\e[0m\e[38;5;59m/\e[0m\e[38;5;59m/\e[0m\e[38;5;59m|\e[0m\e[38;5;59m[\e[0m\e[38;5;17mi\e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0ml\e[0m\e[38;5;59m}\e[0m\e[38;5;60mf\e[0m\e[38;5;102mn\e[0m\e[38;5;102mn\e[0m\e[38;5;60mt\e[0m\e[38;5;59m}\e[0m\e[38;5;17m!\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;52mI\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m)\e[0m\e[38;5;160m]\e[0m\e[38;5;0m'\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m'\e[0m\e[38;5;0m \e[0m\e[38;5;59m1\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;59m/\e[0m\e[38;5;0m \e[0m\e[38;5;145mL\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;188ma\e[0m\e[38;5;59m|\e[0m\e[38;5;0m \e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;59m{\e[0m\e[38;5;146mq\e[0m\e[38;5;15m@\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m@\e[0m\e[38;5;59m-\e[0m\e[38;5;0m \e[0m\e[38;5;0m\`\e[0m\e[38;5;9m1\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m1\e[0m\e[38;5;9m)\e[0m\e[38;5;9m)\e[0m\e[38;5;160m[\e[0m\e[38;5;167m(\e[0m\e[38;5;168mc\e[0m\e[38;5;0m\"\e[0m\e[38;5;0m \e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m'\e[0m\e[38;5;0m \e[0m\e[38;5;59m}\e[0m\e[38;5;15m@\e[0m\e[38;5;15mB\e[0m\e[38;5;15m@\e[0m\e[38;5;188mM\e[0m\e[38;5;145mq\e[0m\e[38;5;146mp\e[0m\e[38;5;146mq\e[0m\e[38;5;146mq\e[0m\e[38;5;145mq\e[0m\e[38;5;146mq\e[0m\e[38;5;59m]\e[0m\e[38;5;0m \e[0m\e[38;5;102mY\e[0m\e[38;5;15m@\e[0m\e[38;5;15mB\e[0m\e[38;5;15m@\e[0m\e[38;5;188mb\e[0m\e[38;5;145mO\e[0m\e[38;5;145mZ\e[0m\e[38;5;188md\e[0m\e[38;5;15m@\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;59m)\e[0m\e[38;5;0m \e[0m\e[38;5;0m.\e[0m\e[38;5;103mY\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;188m#\e[0m\e[38;5;188ma\e[0m\e[38;5;188m*\e[0m\e[38;5;15m%\e[0m\e[38;5;15m$\e[0m\e[38;5;59m{\e[0m\e[38;5;0m \e[0m\e[38;5;52ml\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;160m[\e[0m\e[38;5;95m{\e[0m\e[38;5;124m]\e[0m\e[38;5;132mu\e[0m\e[38;5;188ma\e[0m\e[38;5;195m&\e[0m\e[38;5;182mb\e[0m\e[38;5;0m,\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m'\e[0m\e[38;5;0m \e[0m\e[38;5;59m}\e[0m\e[38;5;15m$\e[0m\e[38;5;15m@\e[0m\e[38;5;15m$\e[0m\e[38;5;102mX\e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;102mX\e[0m\e[38;5;15m$\e[0m\e[38;5;15m@\e[0m\e[38;5;15m$\e[0m\e[38;5;59m?\e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;59m/\e[0m\e[38;5;15m$\e[0m\e[38;5;15mB\e[0m\e[38;5;15m@\e[0m\e[38;5;145mm\e[0m\e[38;5;0m \e[0m\e[38;5;60mt\e[0m\e[38;5;15m$\e[0m\e[38;5;15m@\e[0m\e[38;5;15m@\e[0m\e[38;5;15m$\e[0m\e[38;5;109mU\e[0m\e[38;5;17mi\e[0m\e[38;5;0m\`\e[0m\e[38;5;0m.\e[0m\e[38;5;0m'\e[0m\e[38;5;0mI\e[0m\e[38;5;59m\\e[0m\e[38;5;17m!\e[0m\e[38;5;0m \e[0m\e[38;5;124m-\e[0m\e[38;5;9m(\e[0m\e[38;5;9m)\e[0m\e[38;5;9m1\e[0m\e[38;5;125m}\e[0m\e[38;5;95mt\e[0m\e[38;5;188mo\e[0m\e[38;5;224mW\e[0m\e[38;5;203mu\e[0m\e[38;5;9m1\e[0m\e[38;5;160m{\e[0m\e[38;5;124m-\e[0m\e[38;5;52mi\e[0m\e[38;5;0m\"\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m'\e[0m\e[38;5;0m \e[0m\e[38;5;59m}\e[0m\e[38;5;15m$\e[0m\e[38;5;15m@\e[0m\e[38;5;15m$\e[0m\e[38;5;188m*\e[0m\e[38;5;145mC\e[0m\e[38;5;145mL\e[0m\e[38;5;145mC\e[0m\e[38;5;145mC\e[0m\e[38;5;145mC\e[0m\e[38;5;102mj\e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;102mY\e[0m\e[38;5;15m$\e[0m\e[38;5;15m@\e[0m\e[38;5;15m$\e[0m\e[38;5;102mx\e[0m\e[38;5;59m~\e[0m\e[38;5;59m_\e[0m\e[38;5;59m]\e[0m\e[38;5;145mZ\e[0m\e[38;5;15m@\e[0m\e[38;5;15mB\e[0m\e[38;5;15m$\e[0m\e[38;5;103mY\e[0m\e[38;5;0m \e[0m\e[38;5;188mh\e[0m\e[38;5;15m$\e[0m\e[38;5;15m@\e[0m\e[38;5;15m$\e[0m\e[38;5;145mQ\e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;52m,\e[0m\e[38;5;9m)\e[0m\e[38;5;9m(\e[0m\e[38;5;9m)\e[0m\e[38;5;9m(\e[0m\e[38;5;160m[\e[0m\e[38;5;188ma\e[0m\e[38;5;15m$\e[0m\e[38;5;210mJ\e[0m\e[38;5;9m]\e[0m\e[38;5;9m)\e[0m\e[38;5;9m)\e[0m\e[38;5;160m[\e[0m\e[38;5;124m-\e[0m\e[38;5;52m!\e[0m\e[38;5;0m'\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m'\e[0m\e[38;5;0m \e[0m\e[38;5;59m}\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;188ma\e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;102mY\e[0m\e[38;5;15m$\e[0m\e[38;5;15m@\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;188mh\e[0m\e[38;5;0m:\e[0m\e[38;5;0m.\e[0m\e[38;5;188m*\e[0m\e[38;5;15m$\e[0m\e[38;5;15m@\e[0m\e[38;5;15m$\e[0m\e[38;5;66mf\e[0m\e[38;5;0m \e[0m\e[38;5;0m\`\e[0m\e[38;5;0m'\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m^\e[0m\e[38;5;160m}\e[0m\e[38;5;9m(\e[0m\e[38;5;9m)\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;160m]\e[0m\e[38;5;145mO\e[0m\e[38;5;15m$\e[0m\e[38;5;188mk\e[0m\e[38;5;210mC\e[0m\e[38;5;131m(\e[0m\e[38;5;88m>\e[0m\e[38;5;52ml\e[0m\e[38;5;52m,\e[0m\e[38;5;0m'\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m'\e[0m\e[38;5;0m \e[0m\e[38;5;59m}\e[0m\e[38;5;15m$\e[0m\e[38;5;15m@\e[0m\e[38;5;15m$\e[0m\e[38;5;188mh\e[0m\e[38;5;102mv\e[0m\e[38;5;102mc\e[0m\e[38;5;102mc\e[0m\e[38;5;102mv\e[0m\e[38;5;102mc\e[0m\e[38;5;59m\\e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;102mY\e[0m\e[38;5;15m$\e[0m\e[38;5;15m@\e[0m\e[38;5;15m$\e[0m\e[38;5;15m&\e[0m\e[38;5;188mM\e[0m\e[38;5;188mM\e[0m\e[38;5;188mo\e[0m\e[38;5;188md\e[0m\e[38;5;145mC\e[0m\e[38;5;59m(\e[0m\e[38;5;0m\`\e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;145mm\e[0m\e[38;5;15m$\e[0m\e[38;5;15m@\e[0m\e[38;5;15m$\e[0m\e[38;5;188mo\e[0m\e[38;5;0mI\e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m.\e[0m\e[38;5;0m^\e[0m\e[38;5;88m>\e[0m\e[38;5;160m}\e[0m\e[38;5;9m1\e[0m\e[38;5;160m{\e[0m\e[38;5;160m{\e[0m\e[38;5;9m1\e[0m\e[38;5;9m)\e[0m\e[38;5;124m]\e[0m\e[38;5;152mp\e[0m\e[38;5;15m@\e[0m\e[38;5;195m&\e[0m\e[38;5;195mB\e[0m\e[38;5;66mu\e[0m\e[38;5;0m \e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m'\e[0m\e[38;5;0m \e[0m\e[38;5;59m}\e[0m\e[38;5;15m$\e[0m\e[38;5;15mB\e[0m\e[38;5;15m$\e[0m\e[38;5;102mX\e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m'\e[0m\e[38;5;0m \e[0m\e[38;5;102mX\e[0m\e[38;5;15m$\e[0m\e[38;5;15mB\e[0m\e[38;5;15m$\e[0m\e[38;5;59m)\e[0m\e[38;5;0m'\e[0m\e[38;5;0m^\e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m'\e[0m\e[38;5;0m \e[0m\e[38;5;59m~\e[0m\e[38;5;15mB\e[0m\e[38;5;15m$\e[0m\e[38;5;15m@\e[0m\e[38;5;15m$\e[0m\e[38;5;15m%\e[0m\e[38;5;145m0\e[0m\e[38;5;102mx\e[0m\e[38;5;59m_\e[0m\e[38;5;88m~\e[0m\e[38;5;160m{\e[0m\e[38;5;9m)\e[0m\e[38;5;160m1\e[0m\e[38;5;160m{\e[0m\e[38;5;160m{\e[0m\e[38;5;160m{\e[0m\e[38;5;9m1\e[0m\e[38;5;9m(\e[0m\e[38;5;160m1\e[0m\e[38;5;167m)\e[0m\e[38;5;131m|\e[0m\e[38;5;131mf\e[0m\e[38;5;167mx\e[0m\e[38;5;52m<\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m'\e[0m\e[38;5;0m \e[0m\e[38;5;59m{\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;145mL\e[0m\e[38;5;0m \e[0m\e[38;5;0m\`\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m'\e[0m\e[38;5;0m.\e[0m\e[38;5;0m'\e[0m\e[38;5;0m \e[0m\e[38;5;109mU\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;59m1\e[0m\e[38;5;0m \e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m'\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;59m+\e[0m\e[38;5;188mk\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;15m$\e[0m\e[38;5;224m*\e[0m\e[38;5;203mX\e[0m\e[38;5;9m(\e[0m\e[38;5;9m1\e[0m\e[38;5;160m{\e[0m\e[38;5;160m{\e[0m\e[38;5;160m{\e[0m\e[38;5;160m{\e[0m\e[38;5;160m}\e[0m\e[38;5;160m{\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m1\e[0m\e[38;5;9m1\e[0m\e[38;5;9m{\e[0m\e[38;5;9m}\e[0m\e[38;5;52m:\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;59m-\e[0m\e[38;5;188mh\e[0m\e[38;5;188mb\e[0m\e[38;5;188mh\e[0m\e[38;5;102mn\e[0m\e[38;5;0m \e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;102mr\e[0m\e[38;5;188mh\e[0m\e[38;5;188mb\e[0m\e[38;5;188mh\e[0m\e[38;5;59m]\e[0m\e[38;5;0m \e[0m\e[38;5;0m'\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;0m.\e[0m\e[38;5;59m]\e[0m\e[38;5;174mL\e[0m\e[38;5;203mv\e[0m\e[38;5;160m]\e[0m\e[38;5;160m]\e[0m\e[38;5;160m{\e[0m\e[38;5;160m{\e[0m\e[38;5;160m{\e[0m\e[38;5;160m1\e[0m\e[38;5;160m{\e[0m\e[38;5;160m[\e[0m\e[38;5;160m{\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m)\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m)\e[0m\e[38;5;88m<\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m \e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m^\e[0m\e[38;5;88mi\e[0m\e[38;5;160m?\e[0m\e[38;5;160m[\e[0m\e[38;5;160m1\e[0m\e[38;5;160m1\e[0m\e[38;5;160m{\e[0m\e[38;5;160m1\e[0m\e[38;5;160m{\e[0m\e[38;5;160m[\e[0m\e[38;5;160m}\e[0m\e[38;5;9m)\e[0m\e[38;5;9m(\e[0m\e[38;5;9m)\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;160m]\e[0m\e[38;5;52ml\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;52mi\e[0m\e[38;5;160m{\e[0m\e[38;5;9m(\e[0m\e[38;5;160m1\e[0m\e[38;5;160m1\e[0m\e[38;5;160m{\e[0m\e[38;5;160m1\e[0m\e[38;5;160m{\e[0m\e[38;5;160m[\e[0m\e[38;5;160m[\e[0m\e[38;5;160m{\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;160m}\e[0m\e[38;5;88m~\e[0m\e[38;5;52m;\e[0m\e[38;5;0m'\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;52m,\e[0m\e[38;5;124m]\e[0m\e[38;5;9m)\e[0m\e[38;5;160m{\e[0m\e[38;5;160m{\e[0m\e[38;5;160m{\e[0m\e[38;5;160m1\e[0m\e[38;5;160m{\e[0m\e[38;5;160m[\e[0m\e[38;5;160m]\e[0m\e[38;5;160m{\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;160m}\e[0m\e[38;5;88m+\e[0m\e[38;5;52m;\e[0m\e[38;5;0m'\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;88m>\e[0m\e[38;5;160m1\e[0m\e[38;5;160m1\e[0m\e[38;5;160m{\e[0m\e[38;5;160m{\e[0m\e[38;5;160m1\e[0m\e[38;5;160m}\e[0m\e[38;5;124m]\e[0m\e[38;5;124m]\e[0m\e[38;5;160m{\e[0m\e[38;5;9m(\e[0m\e[38;5;9m(\e[0m\e[38;5;9m1\e[0m\e[38;5;124m]\e[0m\e[38;5;88m<\e[0m\e[38;5;52m,\e[0m\e[38;5;0m\`\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;0m^\e[0m\e[38;5;124m?\e[0m\e[38;5;9m)\e[0m\e[38;5;160m1\e[0m\e[38;5;160m{\e[0m\e[38;5;160m{\e[0m\e[38;5;160m[\e[0m\e[38;5;160m]\e[0m\e[38;5;160m[\e[0m\e[38;5;9m1\e[0m\e[38;5;9m(\e[0m\e[38;5;160m{\e[0m\e[38;5;124m+\e[0m\e[38;5;52mI\e[0m\e[38;5;0m\`\e[0m\e[38;5;0m.\e[0m\e[38;5;0m^\e[0m\e[38;5;0m \e[0m\e[38;5;0m\`\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;52ml\e[0m\e[38;5;160m1\e[0m\e[38;5;9m(\e[0m\e[38;5;160m}\e[0m\e[38;5;160m[\e[0m\e[38;5;160m[\e[0m\e[38;5;160m]\e[0m\e[38;5;160m]\e[0m\e[38;5;160m]\e[0m\e[38;5;124m-\e[0m\e[38;5;52mi\e[0m\e[38;5;52m,\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;0m\`\e[0m\e[38;5;0mI\e[0m\e[38;5;0m'\e[0m\e[38;5;0m^\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m'\e[0m\e[38;5;88m<\e[0m\e[38;5;160m{\e[0m\e[38;5;124m_\e[0m\e[38;5;52mi\e[0m\e[38;5;88m<\e[0m\e[38;5;124m+\e[0m\e[38;5;88m<\e[0m\e[38;5;52m!\e[0m\e[38;5;52m:\e[0m\e[38;5;0m'\e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m'\e[0m\e[38;5;0m^\e[0m\e[38;5;0m\"\e[0m\e[38;5;0m\"\e[0m\e[38;5;0m\`\e[0m\e[38;5;0m'\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m'\e[0m\e[38;5;52m,\e[0m\e[38;5;0m'\e[0m\e[38;5;0m.\e[0m\e[38;5;0m\"\e[0m\e[38;5;52m,\e[0m\e[38;5;0m\`\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m \e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\n\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m\e[38;5;0m.\e[0m"
clear
echo -e $logo
echo -e "\n\n${RED} * GitHub ${CYAN}github.com/sidor0912/FunPayCardinal${RESET}"
echo -e "${RED} * Telegram ${CYAN}t.me/funpay_cardinal${RESET}"
echo -e "\n\n\n"
echo -ne "${CYAN}Введите название папки, в которую надо установить бота: ${RESET}"
while true; do
read foldername
if [[ "$foldername" =~ ^[a-zA-Z0-9_-]+$ ]]; then
if [ -d "$foldername" ]; then
echo -ne "\n${RED}Папка уже существует, ${CYAN}пожалуйста, введите другое название: ${RESET}"
else
break
fi
else
echo -ne "\n${RED}Название содержит недопустимые символы, ${CYAN}пожалуйста, введите другое название: ${RESET}"
fi
done
echo -ne "\n${CYAN}Введите название фонового процесса. Оно будет использоваться в командах для ручного управления ботом: ${RESET}"
while true; do
read service_filename
if [[ "${service_filename}" =~ ^[a-zA-Z0-9_-]+$ ]]; then
if [ -f "/etc/systemd/system/${service_filename}.service" ]; then
echo -ne "\n${RED}Данный процесс уже существует, ${CYAN}пожалуйста, введите другое название: ${RESET}"
else
break
fi
else
echo -ne "\n${RED}Название содержит недопустимые символы, ${CYAN}пожалуйста, введите другое название: ${RESET}"
fi
done
BOT_PATH="$PWD/$foldername"
unit_file="[Unit]
Description=FunPay Cardinal
After=syslog.target
[Service]
Type=simple
User=$(logname)
Group=sudo
WorkingDirectory=${BOT_PATH}/
Environment=\"LANG=en_US.utf8\"
ExecStart=/usr/bin/python3.11 main.py
[Install]
WantedBy=multi-user.target"
clear
echo -e "${start_process_line}\nДобавляю репозитории...\n${end_process_line}"
# 1
if ! sudo apt update ; then
echo -e "${start_process_line}\nПроизошла ошибка при обновлении списка пакетов. (1/${commands})\n${end_error_line}"
exit 2
fi
#2
if ! sudo apt install -y software-properties-common ; then
echo -e "${start_process_line}\nПроизошла ошибка при установке software-properties-common. (2/${commands})\n${end_error_line}"
exit 2
fi
#3
if ! sudo add-apt-repository -y ppa:deadsnakes/ppa ; then
echo -e "${start_process_line}\nПроизошла ошибка при добавлении репозитория. (3/${commands})\n${end_error_line}"
exit 2
fi
#4
if ! sudo apt update ; then
echo -e "${start_process_line}\nПроизошла ошибка при обновлении списка пакетов. (4/${commands})\n${end_error_line}"
exit 2
fi
clear
echo -e "$start_process_line\nУстанавливаю необходимые пакеты...\n$end_process_line"
#5
if ! sudo apt install -y git ; then
echo -e "${start_process_line}\nПроизошла ошибка при установке Git. (5/${commands})\n${end_error_line}"
exit 2
fi
#6
if ! sudo apt install -y curl ; then
echo -e "${start_process_line}\nПроизошла ошибка при установке Curl. (6/${commands})\n${end_error_line}"
exit 2
fi
clear
echo -e "$start_process_line\nУстанавливаю Python и Pip...\n$end_process_line"
#7
if ! sudo apt install -y python3.11 python3.11-dev python3.11-gdbm python3.11-venv ; then
echo -e "${start_process_line}\nПроизошла ошибка при установке Python. (7/${commands})\n${end_error_line}"
exit 2
fi
#8
if ! sudo curl -sS https://bootstrap.pypa.io/get-pip.py | python3.11 ; then
echo -e "${start_process_line}\nПроизошла ошибка при установке Pip. (8/${commands})\n${end_error_line}"
exit 2
fi
clear
echo -e "$start_process_line\nУстанавливаю FunPayCardinal...\n$end_process_line"
#9
if ! git clone --depth 1 https://github.com/sidor0912/FunPayCardinal ${BOT_PATH}; then
echo -e "${start_process_line}\nПроизошла ошибка при клонировании репозитория FPC. (9/${commands})\n${end_error_line}"
exit 2
fi
if [ "$(logname)" != "root" ] ; then
chown -R $(logname):sudo $BOT_PATH
fi
#10
if ! python3.11 ${BOT_PATH}/setup.py ; then
echo -e "${start_process_line}\nПроизошла ошибка при загрузке необходимых Py-пакетов. (10/${commands})\n${end_error_line}"
exit 2
fi
clear
echo -e "$start_process_line\nСоздаю файл фонового процесса...\n$end_process_line"
#11
if ! echo -e "${unit_file}" | sudo tee /etc/systemd/system/${service_filename}.service ; then
echo -e "${start_process_line}\nПроизошла ошибка при создании файла фонового процесса. (11/${commands})\n${end_error_line}"
exit 2
fi
clear
echo -e "$start_process_line\nНастраиваю кодировку сервера...\n$end_process_line"
if ! sudo update-locale "LANG=en_US.UTF-8" ; then
echo -e "${start_process_line}\nПроизошла ошибка при обновлении файл локализаций. (12/${commands})\n${end_error_line}"
exit 2
fi
if ! sudo locale-gen --purge "en_US.UTF-8" ; then
echo -e "${start_process_line}\nПроизошла ошибка генерации файла локализаций. (13/${commands})\n${end_error_line}"
exit 2
fi
if ! sudo dpkg-reconfigure --frontend noninteractive locales ; then
echo -e "${start_process_line}\nПроизошла ошибка при реконфигурации локализаций. (14/${commands})\n${end_error_line}"
exit 2
fi
clear
echo -e $logo
echo -e '\n\n\e[1;91m * GitHub \e[1;96mgithub.com/sidor0912/FunPayCardinal\e[0m'
echo -e '\e[1;91m * Telegram \e[1;96mt.me/funpay_cardinal\e[0m'
echo -e "\n\n\e[1;92m################################################################################"
echo -e "Установка завершена."
echo -e "Запускаю первичную настройку..."
echo -e "################################################################################\e[0m"
sleep 3
clear
sudo -u $(logname) LANG=en_US.utf8 python3.11 ${BOT_PATH}/main.py <&1
sudo systemctl start ${service_filename}.service
clear
echo -e $logo
echo -e '\n\n\e[1;91m * GitHub \e[1;96mgithub.com/sidor0912/FunPayCardinal\e[0m'
echo -e '\e[1;91m * Telegram \e[1;96mt.me/funpay_cardinal\e[0m'
echo -e "\n\n\e[1;92m################################################################################"
echo -e "${RED}!СДЕЛАЙ СКРИНШОТ!${CYAN}!СДЕЛАЙ СКРИНШОТ!${RED}!СДЕЛАЙ СКРИНШОТ!${CYAN}!СДЕЛАЙ СКРИНШОТ!"
echo -e "\nГотово!"
echo -e "FPC запущен как фоновый процесс!"
echo -e "Теперь напиши своему Telegram-боту."
echo -e "\nДля остановки FPC используй команду \e[93msudo systemctl stop ${service_filename}\e[1;92m"
echo -e "Для запуска FPC используй команду \e[93msudo systemctl start ${service_filename}\e[1;92m"
echo -e "Для перезапуска FPC используй команду \e[93msudo systemctl restart ${service_filename}\e[1;92m"
echo -e "Для просмотра логов используй команду \e[93msudo systemctl status ${service_filename} -n100\e[1;92m"
echo -e "################################################################################\e[0m"
echo -ne "\n\n${CYAN}Сделал скриншот? ${PURPLE_LIGHT}Тогда нажми Enter, чтобы продолжить.${RESET}"
read
clear