├── .gitignore
├── .idea
├── .gitignore
├── compiler.xml
├── deploymentTargetDropDown.xml
├── gradle.xml
├── misc.xml
└── vcs.xml
├── README.md
├── app
├── .gitignore
├── build.gradle
├── dic.txt
├── proguard-rules.pro
└── src
│ ├── androidTest
│ └── java
│ │ └── io
│ │ └── iftech
│ │ └── android
│ │ └── androidkeepalive
│ │ └── ExampleInstrumentedTest.kt
│ ├── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── io
│ │ │ └── iftech
│ │ │ └── android
│ │ │ └── androidkeepalive
│ │ │ ├── CancelNoticeService.kt
│ │ │ ├── Extensions.kt
│ │ │ ├── ForegroundNotification.kt
│ │ │ ├── ForegroundService.kt
│ │ │ ├── MainActivity.kt
│ │ │ ├── MyAccessibility.kt
│ │ │ ├── OnepxActivity.kt
│ │ │ ├── OnepxReceiver.kt
│ │ │ ├── ServiceHelper.kt
│ │ │ └── utils
│ │ │ └── IfRom.kt
│ └── res
│ │ ├── drawable-v24
│ │ └── ic_launcher_foreground.xml
│ │ ├── drawable
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_background.xml
│ │ ├── layout
│ │ └── activity_main.xml
│ │ ├── mipmap-anydpi-v26
│ │ ├── ic_launcher.xml
│ │ └── ic_launcher_round.xml
│ │ ├── mipmap-hdpi
│ │ ├── ic_launcher.webp
│ │ └── ic_launcher_round.webp
│ │ ├── mipmap-mdpi
│ │ ├── ic_launcher.webp
│ │ └── ic_launcher_round.webp
│ │ ├── mipmap-xhdpi
│ │ ├── ic_launcher.webp
│ │ └── ic_launcher_round.webp
│ │ ├── mipmap-xxhdpi
│ │ ├── ic_launcher.webp
│ │ └── ic_launcher_round.webp
│ │ ├── mipmap-xxxhdpi
│ │ ├── ic_launcher.webp
│ │ └── ic_launcher_round.webp
│ │ ├── values-night
│ │ └── themes.xml
│ │ ├── values
│ │ ├── colors.xml
│ │ ├── strings.xml
│ │ ├── style.xml
│ │ └── themes.xml
│ │ └── xml
│ │ └── accessibility_config.xml
│ └── test
│ └── java
│ └── io
│ └── iftech
│ └── android
│ └── androidkeepalive
│ └── ExampleUnitTest.kt
├── build.gradle
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── pic
└── screen.jpg
└── settings.gradle
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/caches
5 | /.idea/libraries
6 | /.idea/modules.xml
7 | /.idea/workspace.xml
8 | /.idea/navEditor.xml
9 | /.idea/assetWizardSettings.xml
10 | .DS_Store
11 | /build
12 | /captures
13 | .externalNativeBuild
14 | .cxx
15 | local.properties
16 |
--------------------------------------------------------------------------------
/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 |
--------------------------------------------------------------------------------
/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/deploymentTargetDropDown.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
21 |
22 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 杀不死的App
2 |
3 | Android 保活实践,如有相关需求可联系:sinyuper@gmail.com
4 |
5 | ## 前言
6 |
7 | - 什么是保活?保活就是在用户主动杀进程,或者系统基于当前内存不足状态而触发清理进程后,该进程设法让自己免于被杀的命运或者被杀后能立刻重生的手段。
8 | - 为什么保活:赢得在线时长、实时需求
9 |
10 | # 思路
11 |
12 | #### 进程的优先级分为5级(https://zhuanlan.zhihu.com/p/108312672):
13 |
14 | - **前台进程**
15 | - **可见进程**
16 | - **服务进程**
17 | - **后台进程**
18 | - **空进程**
19 |
20 | #### 主流思路有两个:
21 |
22 | - 提升进程优先级,降低被杀概率
23 | - 进程被杀后,重新拉起进程
24 |
25 | ## 方案(不互斥
26 |
27 | - startForeground 启动前台服务(官方提供,会有通知,保活性不高
28 | - 进阶点:开启前台Service,再开启另一个Service将通知栏移除
29 | - 多任务列表窗口加锁
30 | - 多任务列表窗口隐藏App
31 | - 多个app关联唤醒
32 | - 忽略电池优化开关
33 | - 无障碍服务,https://developer.android.com/guide/topics/ui/accessibility/service?hl=zh-cn
34 | - 应用自启动权限(各个系统不一样)
35 | - QQ 的 1 像素(**可以使进程的优先级在屏幕锁屏时间由4提升为最高优先级1**
36 | - 后台无声音乐
37 | - [双进程保活](https://github.com/Marswin/MarsDaemon),6.0之前
38 | - [Tim 流氓保活方案](https://segmentfault.com/a/1190000021579231),开源库:https://github.com/tiann/Leoric
39 | - 终极方案:跟各大系统厂商建立合作关系,OOM_ADJ https://www.jianshu.com/p/8897b7e47466
40 |
41 | ## 实现
42 |
43 | https://github.com/sinyu1012/AndroidKeepAlive
44 |
45 | ## 总结
46 |
47 | **没有规矩,不成方圆**。保活方案有些太 hack 了,还是尊重用户、提升用户体验才是最重要的。
48 |
49 |
50 | 
51 |
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
--------------------------------------------------------------------------------
/app/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id 'com.android.application'
3 | id 'kotlin-android'
4 | id 'kotlin-android-extensions'
5 |
6 | }
7 |
8 | android {
9 | compileSdk 31
10 |
11 | defaultConfig {
12 | applicationId "io.iftech.android.androidkeepalive"
13 | minSdk 23
14 | targetSdk 30
15 | versionCode 1
16 | versionName "1.0"
17 |
18 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
19 | }
20 |
21 | buildTypes {
22 | release {
23 | minifyEnabled true
24 | shrinkResources true
25 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
26 | }
27 | }
28 | compileOptions {
29 | sourceCompatibility JavaVersion.VERSION_1_8
30 | targetCompatibility JavaVersion.VERSION_1_8
31 | }
32 | kotlinOptions {
33 | jvmTarget = '1.8'
34 | }
35 | }
36 |
37 | dependencies {
38 |
39 | implementation 'androidx.core:core-ktx:1.7.0'
40 | implementation 'androidx.appcompat:appcompat:1.4.0'
41 | implementation 'com.google.android.material:material:1.4.0'
42 | implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
43 | testImplementation 'junit:junit:4.+'
44 | androidTestImplementation 'androidx.test.ext:junit:1.1.3'
45 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
46 | }
--------------------------------------------------------------------------------
/app/dic.txt:
--------------------------------------------------------------------------------
1 | 0000O000000o
2 | 000O00000Oo
3 | 000O00000o0
4 | 000O00000o
5 | 000O00000oO
6 | 000O00000oo
7 | 000O0000O0o
8 | 000O0000OOo
9 | 000O0000Oo0
10 | 000O0000Oo
11 | 000O0000OoO
12 | 00O0000Ooo
13 | 00O0000o00
14 | 00O0000o0
15 | 00O0000o0O
16 | 00O0000o0o
17 | 00O0000o
18 | 00O0000oO0
19 | 00O0000oO
20 | 00O0000oOO
21 | 000O0000oOo
22 | 00O0000oo0
23 | 00O0000oo
24 | 00O0000ooO
25 | 00O0000ooo
26 | 00O00oOooO
27 | 00O00oOooo
28 | 00O000O00o
29 | 00O000O0OO
30 | 00O000O0Oo
31 | 000O00oOoOo
32 | 00O000O0o0
33 | 00O000O0o
34 | 00O000O0oO
35 | 00O000O0oo
36 | 00O000OO00
37 | 00O000OO0o
38 | 00O000OO
39 | 00O000OOOo
40 | 00O000OOo0
41 | 000O000OOo
42 | 00O000OOoO
43 | 00O000OOoo
44 | 00O000Oo00
45 | 00O000Oo0
46 | 00O000Oo0O
47 | 00O000Oo0o
48 | 00O000OoO0
49 | 00O00O0Oo
50 | 00O000OoO
51 | 000O000OoOO
52 | 00O000OoOo
53 | 00O000Ooo0
54 | 00O000Ooo
55 | 00O000OooO
56 | 00O000Oooo
57 | 00O000o000
58 | 00O000o00
59 | 00O000o00O
60 | 00O000o00o
61 | 000O000o0
62 | 00O000o0O0
63 | 00O000o0O
64 | 00O000o0OO
65 | 00O000o0Oo
66 | 00O000o0o0
67 | 00O000o0o
68 | 00O000o0oo
69 | 00O000o
70 | 00O000oO00
71 | 000O000oO0
72 | 00O000oO0O
73 | 00O000oO0o
74 | 00O000oO
75 | 00O000oOO0
76 | 00O000oOO
77 | 00O000oOOO
78 | 00O000oOOo
79 | 00O000oOo0
80 | 00O000oOo
81 | 000O000oOoO
82 | 00O000oOoo
83 | 00O000oo0
84 | 00O000oo0O
85 | 00O000oo0o
86 | 00O000oo
87 | 00O000ooO0
88 | 00O000ooO
89 | 00O000ooOO
90 | 00O000ooOo
91 | 000O000ooo0
92 | 00O000ooo
93 | 00O000oooO
94 | 00O000oooo
95 | 00oooOoO
96 | 00O00oOOoo
97 | 00O00O000o
98 | 00O00O00Oo
99 | 00O00O00o0
100 | 00O00O00o
101 | 000O00O00oO
102 | 00O00O00oo
103 | 00O00O0O0o
104 | 00O00O0OO
105 | 00O00O0OOo
106 | 00O00O0Oo0
107 | 00O00O0OoO
108 | 00O00O0Ooo
109 | 00O00O0o00
110 | 00O00O0o0
111 | 00O00O0o0O
112 | 0O00O0o0o
113 | 0O00O0o
114 | 0O00O0oO0
115 | 0O00O0oOO
116 | 0O00O0oOo
117 | 0O00O0oo0
118 | 0O00O0oo
119 | 0O00O0ooO
120 | 0O00O0ooo
121 | 00O00OO0O
122 | 0O00OO0o
123 | 0O00OOOo
124 | 0O00OOo0
125 | 0O00OOo
126 | 0O00OOoO
127 | 0O00OOoo
128 | 0O00Oo00
129 | 0O00Oo00o
130 | 0O00Oo0
131 | 00O00Oo0OO
132 | 0O00Oo0Oo
133 | 0O00Oo0o0
134 | 0O00Oo0o
135 | 0O00Oo0oO
136 | 0O00OooOO
137 | 0O00Oo0oo
138 | 0O00Oo
139 | 0O00OoO0
140 | 0O00OoO0o
141 | 00O00OoO0O
142 | 0O00Ooo
143 | 0O00OoO
144 | 0O00OoOO0
145 | 0O00OoOO
146 | 0O00OoOo0
147 | 0O00OoOo
148 | 0O00OoOoO
149 | 0O00OoOoo
150 | 0O00Ooo00
151 | 00O00Ooo0
152 | 0O00Ooo0O
153 | 0O00Ooo0o
154 | 0O00OooO0
155 | 0O00OooO
156 | 0O00OooOo
157 | 0O00Oooo0
158 | 0O00Oooo
159 | 0O00Ooooo
160 | 0O00OoooO
161 | 00O00o0000
162 | 0O00o000
163 | 0O00o000O
164 | 0O00o000o
165 | 0O00o00
166 | 0O00o00O0
167 | 0O00o00O
168 | 0O00o00OO
169 | 0O00o00Oo
170 | 0O00o00o0
171 | 00O00o00o
172 | 0O00o00oO
173 | 0O00o00oo
174 | 0O00o0
175 | 0O00o0O00
176 | 0O00o0O0
177 | 0O00oo000
178 | 0O00o0O0O
179 | 0O00o0O0o
180 | 0O00o0O
181 | 00O00o0OO0
182 | 0O00o0OO
183 | 0O00o0OOO
184 | 0O00o0OOo
185 | 0O00o0Oo0
186 | 0O00o0Oo
187 | 0O00o0OoO
188 | 0O00o0Ooo
189 | 0O00o0o00
190 | 0O00o0o0
191 | 00O00o0o0O
192 | 0O00o0o0o
193 | 0O00o0o
194 | 0O00o0oO0
195 | 0O00o0oO
196 | 0O00o0oOO
197 | 0O00o0oOo
198 | 0O00o0oo0
199 | 0O00o0oo
200 | 0O00o0ooO
201 | 000O00o0ooo
202 | 00O00o
203 | 00O00oO0O0
204 | 00O00oO000
205 | 00O00oO00
206 | 00O00oO00O
207 | 00O00oO0OO
208 | 00O00oO00o
209 | 00O00oO0
210 | 00O00oO0O
211 | 00O00ooO00
212 | 0O00oO0Oo
213 | 0O00oO0o0
214 | 0O00oO0o
215 | 0O00oO0oO
216 | 0O00oO0oo
217 | 0O00oO
218 | 0O00oOO0o
219 | 0O00oOO00
220 | 0O00oOO0
221 | 00O00oOO0O
222 | 0O00oOo
223 | 0O00oOO
224 | 0O00oOOO0
225 | 0O00oOOO
226 | 0O00oOOOO
227 | 0O00oOOOo
228 | 0O00oOOo0
229 | 0O00oOOo
230 | 0O00oOOoO
231 | 00O00oOo00
232 | 0O00oOo0
233 | 0O00oOo0O
234 | 0O00oOo0o
235 | 0O00oOoO
236 | 0O00oOoOO
237 | 0O00oOoo0
238 | 0O00oOoo
239 | 0O00oo00
240 | 0O00oo00O
241 | 00O00oo00o
242 | 0O00oo0
243 | 0O00oo0O0
244 | 0O00oo0O
245 | 0O00oo0OO
246 | 0O00oo0Oo
247 | 0O00oo0o0
248 | 0O00oo0o
249 | 0O00oo0oo
250 | 0O00oo
251 | 00O00ooO0
252 | 0O00ooO0O
253 | 0O00ooO0o
254 | 0O00ooO
255 | 0O00ooOo0
256 | 0O00ooOO0
257 | 0O00ooOO
258 | 0O00ooOOO
259 | 0O00ooOOo
260 | 0O00ooOo
261 | 00O00ooOoO
262 | 0O00ooOoo
263 | 0O00ooo00
264 | 0O00ooo0
265 | 0O00ooo0o
266 | 0O00ooo
267 | 0O00oooO0
268 | 0O00oooO
269 | 0O00oooOO
270 | 0O00oooOo
271 | 00O00oooo0
272 | 0O00oooo
273 | 0O00ooooo
274 | 0ooooooo
275 | 0O0O00oO
276 | 0O0O000o
277 | 0O0O00OO
278 | 0O0O00Oo
279 | 0O0O00o0
280 | 0O0O00o
281 | 00O0O0O0o
282 | 0O0O0O
283 | 0O0O0OO0
284 | 0O0O0OO
285 | 0O0O0OOO
286 | 0O0O0OOo
287 | 0O0O0Oo0
288 | 0O0O0OoO
289 | 0O0O0Ooo
290 | 0O0O0o00
291 | 00O0O0o0
292 | 0O0O0o0O
293 | 0O0O0o0o
294 | 0O0O0o
295 | 0O0O0oO0
296 | 0O0O0oO
297 | 0O0O0oOO
298 | 0O0O0oOo
299 | 0O0O0oo0
300 | 0O0O0oo
301 | 000O0O0ooO
302 | 00O0O0ooo
303 | 00O0OoOo
304 | 00O0OoOO
305 | 00O0OO00O
306 | 00O0OO00o
307 | 00O0OO0O
308 | 00O0Oo0o0
309 | 00O0OO0Oo
310 | 00O0OO0o0
311 | 00O0OO0oO
312 | 0O0OO0oo
313 | 0O0OOO00
314 | 0O0OOoo
315 | 0O0OOoO
316 | 0O0OOO0
317 | 0O0OOO0O
318 | 0O0OOO0o
319 | 0OO0oO
320 | 0O0OOOO
321 | 00O0OOOOO
322 | 0O0OOOOo
323 | 0O0OOOo0
324 | 0O0OOOo
325 | 0O0OOOoO
326 | 0O0OOOoo
327 | 0O0OOo00
328 | 0O0OOo0O
329 | 0O0OOo0o
330 | 0O0OOo
331 | 00O0OOoO0
332 | 0O0OOoOO
333 | 0O0OOoOo
334 | 0O0OOoo0
335 | 0O0OOooO
336 | 0O0OOooo
337 | 0O0Oo000
338 | 0O0Oo00
339 | 0O0Oo00O
340 | 0O0Oo00o
341 | 00O0Oo0
342 | 0O0Oo0O0
343 | 0O0Oooo
344 | 0O0Oo0O
345 | 0O0Oo0OO
346 | 0O0Oo0Oo
347 | 0O0Oo0o
348 | 0O0Oo0oO
349 | 0O0Oo0oo
350 | 0o00o00O
351 | 00O0Oo
352 | 0O0OoO00
353 | 0O0OoO0
354 | 0O0OoO0O
355 | 0OooOO
356 | 0OoO0o
357 | 0O0OoO
358 | 0O0OoOO0
359 | 0O0OoOOO
360 | 0O0OoOOo
361 | 00O0OoOo0
362 | 0O0OoOoO
363 | 0O0OoOoo
364 | 0O0Ooo00
365 | 0O0Ooo0
366 | 0O0Ooo0O
367 | 0O0Ooo0o
368 | 0O0Ooo
369 | 0O0OooO0
370 | 0O0OooO
371 | 00O0OooOO
372 | 0O0OooOo
373 | 0O0Oooo0
374 | 0O0OoooO
375 | 0O0Ooooo
376 | 0O0o0000
377 | 0O0o000
378 | 0O0o000O
379 | 0O0o000o
380 | 0O0o00
381 | 00O0o00O0
382 | 0O0o00O
383 | 0O0o00OO
384 | 0O0o00Oo
385 | 0O0o00o0
386 | 0O0o00o
387 | 0O0o00oO
388 | 0O0o00oo
389 | 0O0o0
390 | 0O0o0O00
391 | 00O0o0O0
392 | 0O0o0O0O
393 | 0O0o0O0o
394 | 0O0o0O
395 | 0O0o0OO0
396 | 0O0oo0o
397 | 0O0o0OO
398 | 0O0o0OOO
399 | 0O0o0OOo
400 | 0O0o0Oo0
401 | 000O0o0Oo
402 | 00O0o0OoO
403 | 00O0o0Ooo
404 | 00O0o0o00
405 | 00O0o0o0
406 | 00O0o0o0O
407 | 00O0o0o0o
408 | 00O0o0oO0
409 | 00O0o0oO
410 | 00O0o0oOO
411 | 00O0o0oOo
412 | 0O0o0oo
413 | 0O0o0ooO
414 | 0oOOoOO
415 | 0O0o
416 | 0O0oO000
417 | 0O0oO00
418 | 0O0oO0oO
419 | 0O0oO00O
420 | 0O0oO00o
421 | 00O0oO0
422 | 0O0oO0O0
423 | 0O0oO0O
424 | 0O0oO0OO
425 | 0O0oO0Oo
426 | 0O0oO0o0
427 | 0O0oO0o
428 | 0O0oO0oo
429 | 0o0Oo0o0
430 | 0O0oO
431 | 00O0oOO00
432 | 0O0oOO0
433 | 0o00O00O0
434 | 0O0oOO0O
435 | 0O0oOO0o
436 | 0O0oOO
437 | 0O0oOOO0
438 | 0O0oOOOo
439 | 0O0oOOo0
440 | 0Oo0OOo
441 | 00O0oOOo
442 | 0O0oOOoO
443 | 0O0oOOoo
444 | 0O0oOo00
445 | 0O0oOo0
446 | 0ooO0Ooo
447 | 0O0oOo0O
448 | 0O0oOo0o
449 | 0O0oOo
450 | 0O0oOoO0
451 | 00O0oOoO
452 | 0O0oOoOO
453 | 0O0oOoOo
454 | 0OOoOoo
455 | 0O0oOoo0
456 | 0O0oOoo
457 | 0O0oOooO
458 | 0O0oOooo
459 | 0O0oo000
460 | 0O0oo00
461 | 00O0oo00O
462 | 0O0oo00o
463 | 0O0oo0
464 | 0O0oo0O0
465 | 0O0oo0O
466 | 0O0oo0OO
467 | 0O0oo0Oo
468 | 0O0oo0o0
469 | 0O0oo0oO
470 | 0O0oo0oo
471 | 00O0oo
472 | 0O0ooO00
473 | 0O0ooOo
474 | 0O0oooo
475 | 0O0oooO
476 | 0O0ooO0
477 | 0O0oooOo
478 | 0O0ooO0O
479 | 0O0ooO0o
480 | 0O0ooO
481 | 00O0ooOO0
482 | 0O0ooOO
483 | 0O0ooOOO
484 | 0O0ooOOo
485 | 0O0ooOo0
486 | 0O0ooOoO
487 | 0O0ooOoo
488 | 0O0ooo00
489 | 0O0ooo0
490 | 0O0ooo0O
491 | 00O0ooo0o
492 | 0O0ooo
493 | 0O0oooO0
494 | 0O0oooOO
495 | 0O0oooo0
496 | 0O0ooooO
497 | 0O0ooooo
498 | 0OO0000
499 | 0OO0000o
500 | 0OoOOO
501 | 000OO000OO
502 | 00OO000Oo
503 | 00OO000o0
504 | 00OO000o
505 | 00OO000oO
506 | 00OO000oo
507 | 00OO00OO
508 | 00OO00O0
509 | 00OO00O0o
510 | 00OO00O
511 | 00OO00OOO
512 | 0OO00OOo
513 | 0OO00Oo0
514 | 0OO0ooO
515 | 0OO00Oo
516 | 0OO00OoO
517 | 0OO00Ooo
518 | 0OO00o00
519 | 0OO00o0O
520 | 0OO00o0o
521 | 00OO00oO0
522 | 0OO00oO
523 | 0OO00oOO
524 | 0OO00oOo
525 | 0OO00oo0
526 | 0OO00oo
527 | 0OO00ooO
528 | 0OO00ooo
529 | 0OO0O00o
530 | 0OO0O0O
531 | 00OO0O0OO
532 | 0OO0O0Oo
533 | 0OO0O0o0
534 | 0OO0oOo
535 | 0OO0oOO
536 | 0OO0O0o
537 | 0OO0O0oO
538 | 0OO0O0oo
539 | 0oOo00
540 | 0OO0OO0o
541 | 00OOo00
542 | 0OO0OO
543 | 0OO0OOO
544 | 0OO0OOOO
545 | 0OO0OOOo
546 | 0OO0OOo0
547 | 0OO0OOo
548 | 0OO0OOoO
549 | 0OO0OOoo
550 | 0OO0Oo00
551 | 00OO0Oo0
552 | 0OO0Oo0O
553 | 0OO0Oo0o
554 | 0Oo0Oo0O
555 | 0OO0OoO0
556 | 0OO0OoO
557 | 0OO0OoOO
558 | 0Oo0Ooo0
559 | 0OO0OoOo
560 | 0OO0Ooo0
561 | 00OO0Ooo
562 | 0OO0OooO
563 | 0OO0Oooo
564 | 0OO0o000
565 | 0OO0o00
566 | 0OO0o00O
567 | 0OO0o00o
568 | 0OO0o0
569 | 0OO0o0O0
570 | 0OO0o0OO
571 | 00OO0o0Oo
572 | 0OO0o0o0
573 | 0OO0o0o
574 | 0OO0o0oO
575 | 0OO0o0oo
576 | 0OO0o
577 | 0OO0oO00
578 | 0OO0oO0
579 | 0OO0oO0O
580 | 0OO0oO0o
581 | 00OO0oOO0
582 | 0OoOOoOo
583 | 0OO0oOOO
584 | 0OO0oOOo
585 | 0OO0oOo0
586 | 0OO0oOoO
587 | 0OO0oOoo
588 | 0OO0oo00
589 | 0OO0oo0
590 | 0OO0oo0O
591 | 00OO0oo0o
592 | 0OO0oo
593 | 0OO0ooO0
594 | 0OO0ooOO
595 | 0OO0ooOo
596 | 0OO0ooo0
597 | 0OO0ooo
598 | 0OO0oooO
599 | 0OO0oooo
600 | 0OOO000o
601 | 000OOO00
602 | 00OOO00O0
603 | 00OOO00Oo
604 | 00OOO00o0
605 | 00OOO00o
606 | 00OOO00oO
607 | 00OOO00oo
608 | 00OOO0O0O
609 | 00OOO0O0o
610 | 00OOO0O
611 | 00o00OOOOO
612 | 0OOO0OO0
613 | 0OOO0OOO
614 | 0OOO0OOo
615 | 0OOO0Oo0
616 | 0OOO0oO
617 | 0OOO0Oo
618 | 0OOO0OoO
619 | 0OOO0Ooo
620 | 0OOO0o00
621 | 00OOO0o0
622 | 0OOO0o0O
623 | 0OOO0o0o
624 | 0OOO0o
625 | 0OOO0oO0
626 | 0OOO0oOO
627 | 0OOO0oOo
628 | 0OOO0oo0
629 | 0OOO0oo
630 | 0OOO0ooO
631 | 00OOO0ooo
632 | 0OOO
633 | 0OOOO00O
634 | 0OOOO00o
635 | 0OOOO0
636 | 0OOOOoO
637 | 0OOOOo0
638 | 0OOOOoo
639 | 0OOOO0O
640 | 0OOOO0OO
641 | 00OOOO0Oo
642 | 0OOOO0o0
643 | 0OOOO0oO
644 | 0OOOO0oo
645 | 0OOOOO00
646 | 0OOOOO0
647 | 0OOOOO0o
648 | 0OOOOO
649 | 0OOOOOO
650 | 0OOOOOOO
651 | 00OOOOOOo
652 | 0OOOOOo0
653 | 0OOooOo
654 | 0OOoooo
655 | 0OOOOOo
656 | 0OOOOOoO
657 | 0OOOOOoo
658 | 0OOOOo00
659 | 0OOOOo0O
660 | 0OOOOo0o
661 | 00OOOOo
662 | 0OOOOoO0
663 | 0OOOOoOO
664 | 0OOOOoOo
665 | 0OOOOoo0
666 | 0OOOOooO
667 | 0OOOOooo
668 | 0OOOo000
669 | 0OOo000
670 | 0OOOo00
671 | 00OOOo00O
672 | 0OOOo00o
673 | 0OOOo0
674 | 0ooOOo00
675 | 0OOOo0O0
676 | 0OOOo0O
677 | 0OOOo0OO
678 | 0OOOo0Oo
679 | 0OOOo0o0
680 | 0OOOo0o
681 | 00OOOo0oO
682 | 0OOOo0oo
683 | 0OOOo
684 | 0OOOoO00
685 | 0OOOoO0
686 | 0OOOoO0O
687 | 0o0ooo0OO
688 | 0OOOoO0o
689 | 0OOOoO
690 | 0OOOoOO0
691 | 00OOOoOO
692 | 0OOOoOOO
693 | 0OOOoOOo
694 | 0OOOoOo0
695 | 0OOOoOo
696 | 0OOOoOoO
697 | 0OOOoOoo
698 | 0ooO00O0
699 | 0OOOoo00
700 | 0OOOoo0
701 | 000o00O0oO0
702 | 00OOOoo0O
703 | 00OOOoo0o
704 | 00OOOoo
705 | 00OOOooO0
706 | 00OOOooO
707 | 00o0OOoOoo
708 | 00OOOooOO
709 | 00OOOooOo
710 | 00OOOooo0
711 | 00OOOooo
712 | 0OOOoooO
713 | 0OOOoooo
714 | 0OOo0000
715 | 0OOo000O
716 | 0OOo000o
717 | 0OOo00O0
718 | 0OOo00O
719 | 0OOo00OO
720 | 0OOo00Oo
721 | 00OOo00o0
722 | 0OOo00o
723 | 0OOo00oO
724 | 0OOo00oo
725 | 0ooOo
726 | 0OOo0
727 | 0OOo0O00
728 | 0OOo0OO
729 | 0OOo0Oo
730 | 0OOoo00
731 | 00OOo0O0
732 | 0OOo0O0O
733 | 0OOo0O0o
734 | 0OOoOOoO
735 | 0OOo0OO0
736 | 0OOo0OOO
737 | 0OOo0OOo
738 | 0OOo0Oo0
739 | 0OOo0OoO
740 | 0OOo0Ooo
741 | 00OOo0o00
742 | 0OOo0o0
743 | 0OOo0o0O
744 | 0OOo0o0o
745 | 0OOo0o
746 | 0OOo0oO0
747 | 0OOo0oO
748 | 0OOo0oOO
749 | 0OOo0oOo
750 | 0OOo0oo0
751 | 00OOo0oo
752 | 0OOo0ooO
753 | 0OOo0ooo
754 | 0OOoO000
755 | 0OOoO00
756 | 0OOoO00O
757 | 0OOoO00o
758 | 0OOoO0
759 | 0OOoO0O0
760 | 0OOoO0o
761 | 00OOoO0O
762 | 0OOoO0OO
763 | 0OOoO0Oo
764 | 0OOoO0o0
765 | 0OOoO0oO
766 | 0OOoO0oo
767 | 0OOoO
768 | 0OOoOO00
769 | 0OOoOO0O
770 | 0OOoOO0o
771 | 00OOoOO
772 | 0OOoOOO0
773 | 0OOoOOO
774 | 0OOoOOOO
775 | 0OOoOOOo
776 | 0OOoOOo0
777 | 0OOoOOo
778 | 0OOoOOoo
779 | 0OOoOo00
780 | 0OOoOo0
781 | 00OOoOo0O
782 | 0OOoOo0o
783 | 0OOoOo
784 | 0OOoOoO0
785 | 0oO0OO0
786 | 0OOoOoO
787 | 0OOoOoOO
788 | 0OOoOoOo
789 | 0OOoOoo0
790 | 0OOoOooO
791 | 00OOoOooo
792 | 0OOoo000
793 | 0OOoo00O
794 | 0OOoo00o
795 | 0OOoo0
796 | 0OOoo0O0
797 | 0OOoo0O
798 | 0OOoo0OO
799 | 0OOoo0Oo
800 | 0OOoo0o0
801 | 000OOoo0o
802 | 00OOoo0oO
803 | 00OOoo0oo
804 | 00OOoo
805 | 00OOooO00
806 | 00OOooO0
807 | 00OOooO0O
808 | 00OOooO0o
809 | 00OOooO
810 | 00OOooOO0
811 | 00OOooOO
812 | 0OOooOOO
813 | 0OOooOOo
814 | 0OOooOo0
815 | 0OOooOoO
816 | 0OOooOoo
817 | 0OOooo00
818 | 0OOooo0
819 | 0OOooo0O
820 | 0OOooo0o
821 | 00OOooo
822 | 0OOoooO0
823 | 0OOoooO
824 | 0OOoooOO
825 | 0OOoooOo
826 | 0OOoooo0
827 | 0OOooooO
828 | 0OOooooo
829 | 0Oo00000
830 | 0Oo0000O
831 | 00Oo0000o
832 | 0Oo000
833 | 0Oo000O0
834 | 0Oo000O
835 | 0Oo000OO
836 | 0Oo000Oo
837 | 0Oo000o0
838 | 0Oo000o
839 | 0Oo000oO
840 | 0Oo000oo
841 | 00Oo00
842 | 0Oo00O00
843 | 0Oo00O0
844 | 0Oo0o0Oo
845 | 0Oo00O0O
846 | 0Oo00O0o
847 | 0Oo00O
848 | 0Oo00OO0
849 | 0Oo0o0o
850 | 0Oo00Oo
851 | 00Oo00OO
852 | 0Oo00OOO
853 | 0Oo00OOo
854 | 0Oo00Oo0
855 | 0Oo0o0O0
856 | 0Oo00OoO
857 | 0Oo00Ooo
858 | 0Oo00o00
859 | 0Oo00o0
860 | 0Oo00o0O
861 | 00Oo00o0o
862 | 0Oo00o
863 | 0Oo00oO0
864 | 0Oo00oOO
865 | 0Oo00oo0
866 | 0Oo00oo
867 | 0Oo00ooO
868 | 0Oo00ooo
869 | 0Oo0
870 | 0Oo0O000
871 | 00Oo0O00
872 | 0Oo0O00O
873 | 0Oo0O00o
874 | 0Oo0O0
875 | 0Oo0O0O0
876 | 0Oo0O0O
877 | 0Oo0O0OO
878 | 0Oo0O0Oo
879 | 0Oo0O0o0
880 | 0Oo0O0o
881 | 00Oo0O0oO
882 | 0Oo0O0oo
883 | 0o00oO00
884 | 0o00OO00
885 | 0Oo0O
886 | 0Oo0OO00
887 | 0Oo0OO0
888 | 0Oo0OO0O
889 | 0Oo0OO0o
890 | 0Oo0OO
891 | 00Oo0OOO0
892 | 0Oo0OOOO
893 | 0Oo0OOOo
894 | 0Oo0OOo0
895 | 0Oo0OOoO
896 | 0Oo0OOoo
897 | 0Oo0Oo00
898 | 0Oo0Oo0
899 | 0Oo0Oo0o
900 | 0Oo0Oo
901 | 000Oo0OoO0
902 | 00Oo0OoO
903 | 00Oo0OoOo
904 | 00Oo0Ooo
905 | 00Oo0OooO
906 | 00Oo0Oooo
907 | 00Oo0o000
908 | 00Oo0o00
909 | 00Oo0o00O
910 | 00Oo0o00o
911 | 00Oo0o0
912 | 0Oo0o0O
913 | 0Oo0o0o0
914 | 0Oo0o0oO
915 | 0Oo0o0oo
916 | 0Oo0o
917 | 0Oo0oO00
918 | 0Oo0ooO
919 | 0Oo0oOO
920 | 0Oo0oo0
921 | 00Oo0ooo
922 | 0Oo0oO0
923 | 0Oo0oO0O
924 | 0Oo0oO0o
925 | 0Oo0oO
926 | 0Oo0oOO0
927 | 0Oo0oOOO
928 | 0Oo0oOOo
929 | 0Oo0oOo0
930 | 0Oo0oOo
931 | 00Oo0oOoO
932 | 0Oo0oOoo
933 | 0Oo0oo00
934 | 0Oo0oo0O
935 | 0Oo0oo0o
936 | 0Oo0oo
937 | 0Oo0ooO0
938 | 0Oo0ooOO
939 | 0Oo0ooOo
940 | 0Oo0ooo0
941 | 00Oo0oooO
942 | 0Oo0oooo
943 | 0Oo
944 | 0OoO0000
945 | 0OoO000
946 | 0OoO000O
947 | 0OoO000o
948 | 0OoO00O0
949 | 0OoO00O
950 | 0OoO00OO
951 | 00OoO00Oo
952 | 0OoO00o0
953 | 0OoO00o
954 | 0OoO00oO
955 | 0OoO00oo
956 | 0OoO0
957 | 0OoO0O00
958 | 0OoO0Oo
959 | 0OoO0O0
960 | 0OoO0O0O
961 | 00OoO0O0o
962 | 0OoO0O
963 | 0OoO0OO0
964 | 0OoO0OO
965 | 0OoO0OOO
966 | 0OoOo00O
967 | 0OoO0OOo
968 | 0OoO0Oo0
969 | 0OoO0OoO
970 | 0OoO0Ooo
971 | 00OoO0o00
972 | 0OoO0o0
973 | 0OoO0o0O
974 | 0OoO0o0o
975 | 0OoO0oO0
976 | 0OoO0oo
977 | 0OoO0oO
978 | 0OoO0oOO
979 | 0OoO0oOo
980 | 0OoO0oo0
981 | 00OoO0ooO
982 | 0OoO0ooo
983 | 0OoO
984 | 0OoOO000
985 | 0OoOOo0
986 | 0OoOOOO
987 | 0OoOO0O
988 | 0OoOOoo
989 | 0OoOOoO
990 | 0OoOOO0
991 | 00OoOOOo
992 | 0OoOoOo
993 | 0OoOoOO
994 | 0OoOO00
995 | 0OoOO00O
996 | 0OoOO00o
997 | 0OoOO0
998 | 0OoOO0O0
999 | 0OoOO0OO
1000 | 0OoOO0Oo
1001 | 000OoOO0o0
1002 | 00OoOO0o
1003 | 00OoOO0oO
1004 | 00OoOO0oo
1005 | 00OoOo
1006 | 00OoOO
1007 | 00OoOOO0O
1008 | 00OoOOO0o
1009 | 00OoOOOO0
1010 | 00OoOOOOO
1011 | 00OoOOOOo
1012 | 0OoOOOo0
1013 | 0OoOOOoO
1014 | 0OoOOOoo
1015 | 0OoOOo00
1016 | 0OoOOo0O
1017 | 0OoOOo0o
1018 | 0OoOOo
1019 | 0OoOOoO0
1020 | 0OoOOoOO
1021 | 00OoOOoo0
1022 | 0OoOOooO
1023 | 0OoOOooo
1024 | 0OoOo000
1025 | 0OoOooo
1026 | 0OoOoo0
1027 | 0OoOo00
1028 | 0OoOo00o
1029 | 0OoOo0
1030 | 0OoOo0O0
1031 | 00OoOo0o
1032 | 0OoOo0O
1033 | 0OoOo0OO
1034 | 0OoOo0Oo
1035 | 0OoOo0o0
1036 | 0OoOo0oO
1037 | 0OoOo0oo
1038 | 0OoOoO00
1039 | 0OoOoO0
1040 | 0OoOoO0O
1041 | 00OoOoO0o
1042 | 0OoOoO
1043 | 0OoOoOO0
1044 | 0OoOoOOO
1045 | 0OoOoOOo
1046 | 0OoOoOo0
1047 | 0OoOoOoO
1048 | 0OoOoOoo
1049 | 0OoOoo00
1050 | 0OoOoo0O
1051 | 00OoOoo0o
1052 | 0OoOoo
1053 | 0OoOooO0
1054 | 0OoOooO
1055 | 0OoOooOO
1056 | 0OoOooOo
1057 | 0OoOooo0
1058 | 0OoOoooO
1059 | 0OoOoooo
1060 | 0Ooo0000
1061 | 00Ooo000
1062 | 0Ooo000O
1063 | 0Ooo000o
1064 | 0Ooo00
1065 | 0Ooo00O0
1066 | 0Ooo00O
1067 | 0Ooo00OO
1068 | 0Ooo00Oo
1069 | 0Ooo00o0
1070 | 0Ooo00o
1071 | 00Ooo00oO
1072 | 0o00oo00o
1073 | 0Ooo00oo
1074 | 0Ooo0
1075 | 0Ooo0O00
1076 | 0Ooo0O0
1077 | 0Ooo0O0O
1078 | 0Ooo0O0o
1079 | 0Ooo0O
1080 | 0Ooo0OO0
1081 | 00Oooo00
1082 | 0Ooo0oO
1083 | 0Ooo0Oo
1084 | 0Ooo0OO
1085 | 0o000O0OO
1086 | 0o000oO0O
1087 | 0Ooo0OOO
1088 | 0Ooo0OOo
1089 | 0Ooo0OoO
1090 | 0Ooo0Ooo
1091 | 00Ooo0o00
1092 | 0Ooo0o0
1093 | 0Ooo0o0o
1094 | 0Ooo0o
1095 | 0Ooo0oO0
1096 | 0Ooo0oOO
1097 | 0Ooo0oOo
1098 | 0Ooo0oo0
1099 | 0Ooo0oo
1100 | 0Ooo0ooO
1101 | 00Ooo0ooo
1102 | 0o0oo
1103 | 0Ooo
1104 | 0OooO000
1105 | 0OooO0O
1106 | 0Ooooo0
1107 | 0OooooO
1108 | 0OoooOO
1109 | 0OoooOo
1110 | 0OooO00
1111 | 0OooO00O
1112 | OooO00o
1113 | OooO0O0
1114 | OooO0OO
1115 | OooO0Oo
1116 | OooO0o0
1117 | OooO0o
1118 | OooO0oO
1119 | OooO0oo
1120 | OooO
1121 | 0OooOO00
1122 | OooOO0
1123 | OooOO0O
1124 | OooOO0o
1125 | OooOOO0
1126 | OooOOO
1127 | OooOOOO
1128 | OooOOOo
1129 | OooOOo0
1130 | OooOOo
1131 | 0OooOOoO
1132 | OooOOoo
1133 | OooOo00
1134 | OooOo0
1135 | OooOo0O
1136 | OooOo0o
1137 | OooOo
1138 | OooOoO0
1139 | OooOoO
1140 | OooOoOO
1141 | 0OooOoOo
1142 | OooOoo0
1143 | OooOoo
1144 | OooOooO
1145 | OooOooo
1146 | Oooo000
1147 | Oooo00O
1148 | Oooo00o
1149 | Oooo0
1150 | Oooo0O0
1151 | 0Oooo0O
1152 | Oooo0OO
1153 | Oooo0o0
1154 | Oooo0o
1155 | Oooo0oO
1156 | Oooo0oo
1157 | Oooo
1158 | OoooO00
1159 | OoooO0
1160 | OoooO0O
1161 | 0OoooO0o
1162 | OoooO
1163 | OoooOO0
1164 | o000oOoO
1165 | OoooOOO
1166 | OoooOOo
1167 | OoooOo0
1168 | OoooOoO
1169 | OoooOoo
1170 | Ooooo00
1171 | 0Ooooo0O
1172 | Ooooo0o
1173 | OooooO0
1174 | OooooOO
1175 | OooooOo
1176 | Oooooo0
1177 | Oooooo
1178 | OoooooO
1179 | Ooooooo
1180 | o0OoOo0
1181 | 0o0OoO0O
1182 | ooOO
1183 | o00O0O
1184 | o00Oo0
1185 | o00Ooo
1186 | o00o0O
1187 | o00ooo
1188 | oo000o
1189 | o00oO0o
1190 | o00oO0O
1191 | 0o0oo000
1192 | o0ooOO0
1193 | o0ooOOo
1194 | o0ooOoO
1195 | o0OOO0o
1196 | o0Oo0oo
1197 | o0OO00O
1198 | oo0o0Oo
1199 | o0O0O00
1200 | o000OOo
1201 | 00oo0oOoO
1202 | 0ooo0Ooo
1203 | 0ooOo00O
1204 | 0o0OoOO0
1205 | 0o0O00oo
1206 | 0o0ooo00
1207 | 0o000OOoo
1208 | 0o000OOOo
1209 | 0o000OOOO
1210 | 0o000OOO0
1211 | 0o0000000
1212 | o000000
1213 | o000000O
1214 | o000000o
1215 | o00000
1216 | o00000O0
1217 | o00000O
1218 | o00000OO
1219 | o00000Oo
1220 | o00000o0
1221 | 0o00000o
1222 | o0000Ooo
1223 | o00000oO
1224 | o00000oo
1225 | o0000
1226 | o0000O00
1227 | o0000oo
1228 | o0000oO
1229 | o0000O0
1230 | o0000O0O
1231 | 0o0000O0o
1232 | o000OO
1233 | o0000O
1234 | o0000OO0
1235 | o0000OO
1236 | o0000OOO
1237 | o0000OOo
1238 | o0000Oo0
1239 | o0000Oo
1240 | o0000OoO
1241 | 0o0000o00
1242 | o0000o0
1243 | o0000o0O
1244 | o0000o0o
1245 | o0000o
1246 | o0000oO0
1247 | o0000oOO
1248 | o0000oOo
1249 | o0000oo0
1250 | o0000ooO
1251 | 0o0000ooo
1252 | o000
1253 | o000O000
1254 | o000OoO
1255 | o000O0o
1256 | o000Ooo
1257 | o000O0O
1258 | o000Oo0
1259 | o000O00
1260 | o000O00O
1261 | 0o000O00o
1262 | o000O0
1263 | o000O0Oo
1264 | o000OO0O
1265 | o000O0O0
1266 | o000O0o0
1267 | o000O0oO
1268 | o000O0oo
1269 | o000O
1270 | o000OO00
1271 | 0o000OO0
1272 | o0OoO0o
1273 | o000OO0o
1274 | o000OOO
1275 | o000OOo0
1276 | o000OOoO
1277 | o000Oo00
1278 | o000Oo0O
1279 | o000Oo0o
1280 | o000Oo
1281 | 0o000OoO0
1282 | o000OoOO
1283 | o000OoOo
1284 | o000Ooo0
1285 | o000OooO
1286 | o000Oooo
1287 | o000o000
1288 | o000o00
1289 | o000o00O
1290 | o000o00o
1291 | 0o000o0
1292 | oooo00o
1293 | o000o0O0
1294 | o000o0O
1295 | o000o0OO
1296 | o000o0Oo
1297 | o000o0o0
1298 | o000o0o
1299 | o000o0oO
1300 | o000o0oo
1301 | 00o000o
1302 | 0o000oO00
1303 | 0o000oO0
1304 | 0o000oO0o
1305 | 0o000oO
1306 | 0o000oOO0
1307 | 0o000oOO
1308 | 0o000oOOO
1309 | 0o000oOOo
1310 | 0o000oOo0
1311 | 0o000oOo
1312 | o000oOoo
1313 | o000oo00
1314 | o000oo0
1315 | o000oo0O
1316 | o000oo0o
1317 | o000oo
1318 | o000ooO0
1319 | o000ooO
1320 | o000ooOO
1321 | 0o000ooOo
1322 | o000ooo0
1323 | o000ooo
1324 | o000oooO
1325 | o000oooo
1326 | o00
1327 | o00O0000
1328 | o0O0ooO
1329 | o00oOoo
1330 | o00O000
1331 | 0o00O000O
1332 | o00O000o
1333 | o00O00
1334 | o00O00O
1335 | oOO00O
1336 | o00O00OO
1337 | o00O00Oo
1338 | o00O00o0
1339 | o00O00o
1340 | o00O00oO
1341 | 0o00O00oo
1342 | oo00o
1343 | o00O0
1344 | o00O0O00
1345 | o00O0O0
1346 | o00O0O0O
1347 | o00O0O0o
1348 | o00O0OO0
1349 | oo0o0O0
1350 | o00O0OO
1351 | 0o00Oo00O
1352 | o00O0OOO
1353 | o00O0OOo
1354 | o00O0Oo0
1355 | oo0oOO0
1356 | o00O0Oo
1357 | o00O0OoO
1358 | o00O0Ooo
1359 | o00O0o00
1360 | o00oOOo
1361 | 0o00oOOO
1362 | o00O0o0
1363 | o00O0o0O
1364 | o00O0o0o
1365 | o00O0o
1366 | o00O0oO
1367 | o00O0oOO
1368 | o00O0oOo
1369 | o00O0oo0
1370 | o00O0oo
1371 | 0o00O0ooO
1372 | o00O0ooo
1373 | o00O
1374 | o00OO000
1375 | o00OO00O
1376 | o00OO00o
1377 | o00OO0
1378 | o00OO0O0
1379 | o00OO0O
1380 | o00OO0OO
1381 | 0o00OO0Oo
1382 | o00OO0o0
1383 | o00OO0o
1384 | o00OO0oO
1385 | o00OO0oo
1386 | oo0O
1387 | o00OO
1388 | o00OOO00
1389 | o00OOO0
1390 | o00OOO0O
1391 | 0o00OOO0o
1392 | o0o0Oo
1393 | o00OOO
1394 | o00OOOO0
1395 | o00OOOO
1396 | o00OOOOo
1397 | oOooo0o
1398 | o00OOOo0
1399 | o00OOOo
1400 | o00OOOoO
1401 | 00o00OOOoo
1402 | 0o00OOo00
1403 | 0o00OOo0
1404 | 0o00OOo0O
1405 | 0o00OOo0o
1406 | 0o00OOo
1407 | 0o00OOoO0
1408 | 0o00OOoO
1409 | 0o00OOoOO
1410 | 0o00OOoOo
1411 | 0o00OOoo0
1412 | o00OOoo
1413 | o00OOooO
1414 | o00OOooo
1415 | o00OoOoO
1416 | o00Oo000
1417 | o00Oo00
1418 | o00Oo00o
1419 | o00Oo0O0
1420 | o00Oo0O
1421 | 0o00Oo0OO
1422 | o00Oo0Oo
1423 | o00Oo0o0
1424 | o00Oo0o
1425 | o00Oo0oO
1426 | o00Oo0oo
1427 | o0oOO
1428 | o00Oo
1429 | o00OoO00
1430 | o00OoO0
1431 | 0o00OoO0O
1432 | o00OoO0o
1433 | o00OoO
1434 | o00OoOO0
1435 | o00OoOO
1436 | o00OoOOO
1437 | o00OoOOo
1438 | o00OoOo0
1439 | o00OoOo
1440 | o00OoOoo
1441 | 0o00Oooo0
1442 | o00Ooo00
1443 | o00Ooo0
1444 | o00Ooo0O
1445 | o00Ooo0o
1446 | o00OooO0
1447 | o00OooO
1448 | o00OooOO
1449 | o00OooOo
1450 | o0O00o0
1451 | 0o00Oooo
1452 | o00OoooO
1453 | o00Ooooo
1454 | o00o0000
1455 | o00o000
1456 | o00o000O
1457 | o00o000o
1458 | oo00oO
1459 | o00o00
1460 | o00o00O0
1461 | 0o00o00OO
1462 | o00o00Oo
1463 | o00o00o0
1464 | o00o00o
1465 | o00o00oO
1466 | o00o00oo
1467 | o00o0
1468 | o00o0O00
1469 | o00o0O0
1470 | o00o0O0O
1471 | 0o00o0O0o
1472 | o00o0OO0
1473 | o00o0OO
1474 | o00o0OOO
1475 | o00o0OOo
1476 | o00o0Oo0
1477 | o00o0Oo
1478 | o00o0OoO
1479 | o00o0Ooo
1480 | o00o0o00
1481 | 0o00o0o0
1482 | o00o0o0O
1483 | o00o0o0o
1484 | o00o0o
1485 | o00o0oO0
1486 | o00o0oO
1487 | o00o0oOO
1488 | o00o0oOo
1489 | o00o0oo0
1490 | o00o0oo
1491 | 0o00o0ooO
1492 | o00o0ooo
1493 | o00o
1494 | o00oo000
1495 | o00oO000
1496 | o00oO00O
1497 | o00oO00o
1498 | o00oOo
1499 | o00oO0
1500 | o00oO0O0
1501 | 00o00oO0OO
1502 | 0o00oO0Oo
1503 | 0o00oO0o0
1504 | 0o00oO0oO
1505 | 0o00oO0oo
1506 | 0o00oO
1507 | 0o00oOOoo
1508 | 0o00oOO00
1509 | 0o00oOO0
1510 | 0o00oOO0O
1511 | 0o00oOO0o
1512 | o0oOOo
1513 | o0ooOO
1514 | o00oOO
1515 | o00oOOO0
1516 | o00oOOOO
1517 | o00oOOOo
1518 | o00oOOo0
1519 | o00oOOoO
1520 | o00oOo00
1521 | 0o00oOo0
1522 | o00oOooO
1523 | o00oOo0O
1524 | o00oOo0o
1525 | o00oOoO0
1526 | o00oOoO
1527 | o00oOoOO
1528 | o00oOoOo
1529 | o00oOoo0
1530 | o00oOooo
1531 | 0o00oo00
1532 | o00oo00O
1533 | o00oo0
1534 | o00oo0OO
1535 | o00oo0O0
1536 | o00oo0O
1537 | o00oo0Oo
1538 | o00oo0o0
1539 | o00oo0o
1540 | o00oo0oO
1541 | 0o00oo0oo
1542 | o0O0o
1543 | o00oo
1544 | o00ooO00
1545 | o00ooO0
1546 | o00ooO0O
1547 | o00ooO0o
1548 | o00ooO
1549 | o00ooOO0
1550 | o00ooOO
1551 | 0o00ooOOO
1552 | o00ooOOo
1553 | o00ooOo0
1554 | o00ooOo
1555 | o00ooOoO
1556 | o00ooOoo
1557 | o00ooo00
1558 | o00ooo0
1559 | o00ooo0O
1560 | o00ooo0o
1561 | 0o00oooO0
1562 | o00oooO
1563 | o00oooOO
1564 | o00oooOo
1565 | o00oooo0
1566 | o00oooo
1567 | o00ooooO
1568 | o00ooooo
1569 | o0
1570 | o0O00000
1571 | 0o0O0000
1572 | o0O0000O
1573 | o0O0000o
1574 | o0O000
1575 | o0O000O
1576 | o0OoOoOo
1577 | o0O000Oo
1578 | o0OoOoOO
1579 | o0O000o0
1580 | o0O000o
1581 | 0o0O000oO
1582 | o0ooOoOO
1583 | o0O000oo
1584 | o0O00
1585 | o0O00O0
1586 | o0OoO00O
1587 | o0O00O0o
1588 | o0O00O
1589 | o0O00OO
1590 | o0O00OOO
1591 | 0o0O00Oo0
1592 | o0O00Oo
1593 | o0oO0Ooo
1594 | o0O00OoO
1595 | o0O00Ooo
1596 | o0O00o00
1597 | o0O00o0O
1598 | o0O00o0o
1599 | o0O00o
1600 | o0O00oO0
1601 | 00o0O00oO
1602 | 0o0O00oOO
1603 | 0o0O00oOo
1604 | 0o0O00oo0
1605 | 0o0Oo0oOO
1606 | 0o0O00ooO
1607 | 0o0O00ooo
1608 | 0o0O0
1609 | 0o0ooOOOo
1610 | 0o0O0O00O
1611 | 0o0O0O0
1612 | o0O0O0O
1613 | o0oO0O0o
1614 | o0O0oo0o
1615 | o0O0O0Oo
1616 | o0O0O0o0
1617 | o0O0O0o
1618 | o0O0O0oO
1619 | o0O0O0oo
1620 | o0ooO
1621 | 0o0O0O
1622 | o0O0OO0
1623 | o0O0OO0O
1624 | o0O0OO
1625 | o0O0OOO0
1626 | o0O0OOO
1627 | o0O0OOOo
1628 | o0O0OOo
1629 | o0O0OOoO
1630 | o0O0OOoo
1631 | 0o0O0Oo00
1632 | o0OooO0
1633 | o0O0Oo0
1634 | o0O0Oo0O
1635 | o0O0Oo0o
1636 | o0O0Oo
1637 | o0O0Oooo
1638 | o0O0OoO0
1639 | oo0OOoo
1640 | o0O0OoO
1641 | 0o0O0OoOO
1642 | o0O0OoOo
1643 | o0O0Ooo0
1644 | o0O0Ooo
1645 | o0O0OooO
1646 | o0O0o000
1647 | o0O0o00
1648 | o0O0o00O
1649 | o0O0o00o
1650 | o0O0o0
1651 | 0o0O0o0O0
1652 | o0O0o0O
1653 | o0O0o0OO
1654 | o0O0o0Oo
1655 | o0O0o0o0
1656 | o0O0o0o
1657 | o0oOo0O0
1658 | o0O0o0oO
1659 | o0O0o0oo
1660 | o0O0oo0O
1661 | 0o0O0oO00
1662 | oooOO0
1663 | o0O0oO0
1664 | o0O0oO0O
1665 | o0O0oO0o
1666 | o0O0oO
1667 | o0O0oOO0
1668 | o0O0oOO
1669 | o0O0oo00
1670 | o0O0oOOO
1671 | 0o0O0oOOo
1672 | o0O0oOo0
1673 | oo0oOOo
1674 | o0O0oOo
1675 | o0O0oOoO
1676 | o0O0oOoo
1677 | o0O0oo0
1678 | o0O0oo
1679 | o0O0ooO0
1680 | o0O0ooOO
1681 | 0o0O0ooOo
1682 | o0O0ooo0
1683 | o0O0ooo
1684 | o0O0oooO
1685 | o0O0oooo
1686 | o0O
1687 | o0OO000
1688 | o0OO000o
1689 | oo0oO0
1690 | oo0ooO
1691 | 0o0OO00
1692 | o0OO00OO
1693 | o0OO00oo
1694 | o0OO00Oo
1695 | o0OO00o0
1696 | o0OoOoO
1697 | o0OO00o
1698 | o0OO0
1699 | o0OO0O0
1700 | o0OO0O0O
1701 | 00o0OO0O0o
1702 | 0o0OO0O
1703 | 0o0OOoOOo
1704 | 0o0OOoOoO
1705 | 0o0OO0OO0
1706 | 0o0OO0OO
1707 | 0o0OOoOO0
1708 | 0o0OO0OOO
1709 | 0o0OO0OOo
1710 | 0o0OO0Oo0
1711 | 0o0OO0Oo
1712 | o0OO0OoO
1713 | o0OOooO0
1714 | o0OO0Ooo
1715 | o0OO0o00
1716 | o0OO0o0
1717 | o0OO0o0O
1718 | o0OO0o0o
1719 | o0OO0o
1720 | o0OO0oO0
1721 | 0o0OO0oo
1722 | o0OO0oO
1723 | o0OO0oOO
1724 | o0OOoooO
1725 | o0OO0oOo
1726 | o0OO0oo0
1727 | o0OO0ooO
1728 | o0OO0ooo
1729 | o0OO
1730 | o0OOO00
1731 | 0o0OOO00O
1732 | o0OOO00o
1733 | o0OOO0
1734 | o0OOO0O0
1735 | o0OOO0O
1736 | o0OOO0OO
1737 | o0OOO0Oo
1738 | o0OOO0o0
1739 | o0OOO0oO
1740 | o0OOO0oo
1741 | 0o0OOO
1742 | o0OOOOoO
1743 | o0OOOO00
1744 | o0OOOO0
1745 | o0OOOO0o
1746 | o0OOOO
1747 | o0OOOOO0
1748 | o0OOOOO
1749 | o0OOOOOO
1750 | o0OOOOOo
1751 | 0o0OOOOo0
1752 | o0OOOOo
1753 | o0OOOOoo
1754 | o0OOOo00
1755 | o0OOOo0
1756 | o0OOOo0O
1757 | o0OOOo0o
1758 | o0OOOo
1759 | o0OOOoO0
1760 | o0OOOoO
1761 | 0o0OOOoOO
1762 | o0OOOoOo
1763 | o0OOOoo0
1764 | o0OOOoo
1765 | o0OOOooO
1766 | o0OOOooo
1767 | o0OOo000
1768 | o0OOo00
1769 | o0OOo00O
1770 | o0OOo00o
1771 | 0o0OOo0
1772 | o0OOo0O0
1773 | o0OooOo
1774 | o0OOo0O
1775 | o0OOo0OO
1776 | o0OOo0Oo
1777 | o0OOo0o0
1778 | o0OOo0o
1779 | o0OOo0oO
1780 | o0OOo0oo
1781 | 0o0OOo
1782 | o0OOoO00
1783 | o0OOoO0
1784 | o0OOoO0O
1785 | o0OOoO0o
1786 | o0OOoO
1787 | o0OOoOO
1788 | o0OOoOOO
1789 | o0OOoOo0
1790 | o0OOoOo
1791 | 0o0OOoo00
1792 | o0OOoo0
1793 | o0OOoo0O
1794 | o0OOoo0o
1795 | o0OOoo
1796 | o0OOooO
1797 | o0OOooOO
1798 | o0OOooOo
1799 | o0OOooo0
1800 | o0OOooo
1801 | 00o0OOoooo
1802 | 0o0Oo0000
1803 | 0o0Oo000
1804 | 0o0Oooo0O
1805 | 0o0Oo00O0
1806 | 0o0Oo000O
1807 | 0o0Oo000o
1808 | 0o0Oo00
1809 | 0o0Oo00OO
1810 | 0o0Oo00Oo
1811 | 0o0oooOoo
1812 | o0Oo00o0
1813 | o0Oo00o
1814 | o0Oo00oO
1815 | o0Oo00oo
1816 | o0Oo0
1817 | o0ooO0O0
1818 | o0Oo0O00
1819 | o0Oo0O0
1820 | o0Oo0O0O
1821 | 0o0Oo0O0o
1822 | o0Oo0O
1823 | o0Oo0OO0
1824 | o0Oo0OO
1825 | o0oOooO0
1826 | o0ooOOOO
1827 | o0oOo000
1828 | o0Oo0OOO
1829 | o0oOo0o0
1830 | o0oOoo00
1831 | 0o0oO0OOo
1832 | o0Oo0OOo
1833 | o0Oo0Oo0
1834 | o0Oo0Oo
1835 | o0Oo0OoO
1836 | o0Oo0oOo
1837 | o0Oo0Ooo
1838 | o0Oo0o00
1839 | o0Oo0o0O
1840 | o0Oo0o0o
1841 | 0o0Oo0o
1842 | o0Oo0oO0
1843 | o0Oo0oO
1844 | o0Oo0oo0
1845 | o0Oo0ooO
1846 | o0Oo0ooo
1847 | o0Oo
1848 | o0OooOoo
1849 | o0OoO000
1850 | o0OoO0
1851 | 0o0OoO0O0
1852 | o0oO0O00
1853 | o0OoO0OO
1854 | o0ooOOO0
1855 | o0OoO0Oo
1856 | o0OoO0o0
1857 | o0OoO0oO
1858 | o0OoO0oo
1859 | o0OoO
1860 | o0OoOO00
1861 | 0o0OoOO0O
1862 | o0OoOO0o
1863 | o0OoOO
1864 | o0OoOOoO
1865 | o0OoOOO0
1866 | o0OoOOO
1867 | o0OoOOOO
1868 | o0OoOOOo
1869 | o0OoOOo0
1870 | o0OoOOo
1871 | 0o0OoOOoo
1872 | o0OoOo00
1873 | o0OoOo0O
1874 | o0ooOOoo
1875 | o0OoOo0o
1876 | o0OoOo
1877 | o0OoOoO0
1878 | o0OoOoo0
1879 | o0OoOoo
1880 | o0OoOooO
1881 | 0o0OoOooo
1882 | o0Ooo000
1883 | o0Ooo00
1884 | o0Ooo00O
1885 | o0oOO0Oo
1886 | o0oOoOoo
1887 | o0Ooo00o
1888 | o0Ooo0
1889 | o0Ooo0O0
1890 | o0Ooo0O
1891 | 0o0Ooo0OO
1892 | o0oOOOoo
1893 | o0OoooO0
1894 | o0oOOO0o
1895 | o0Ooo0Oo
1896 | o0Ooo0o0
1897 | o0Ooo0o
1898 | o0Ooo0oO
1899 | o0Ooo0oo
1900 | o0Ooo
1901 | 00o0OooO00
1902 | 0o0OooO0O
1903 | 0o0OooO0o
1904 | 0o0OooO
1905 | 0o0OooOO0
1906 | 0o0OooOO
1907 | 0o0OooOOO
1908 | 0o0OooOOo
1909 | 0o0OooOo0
1910 | 0o0OooOoO
1911 | 0o0Oooo00
1912 | o0Oooo0
1913 | o0Oooo0o
1914 | o0Oooo
1915 | o0OoooO
1916 | o0OoooOO
1917 | o0OoooOo
1918 | o0Ooooo0
1919 | o0Ooooo
1920 | o0OooooO
1921 | 0o0Oooooo
1922 | o0o0000
1923 | o0o0o00O
1924 | o0o0000o
1925 | o0o000
1926 | o0o000O0
1927 | o0o000O
1928 | o0o000OO
1929 | o0o000Oo
1930 | o0o000o0
1931 | 0o0o000o
1932 | o0o000oO
1933 | o0o000oo
1934 | o0o00
1935 | o0o00O00
1936 | o0o00O0
1937 | o0o00O0O
1938 | o0o00O0o
1939 | o0o00O
1940 | o0o00OO0
1941 | 0o0o00OO
1942 | o0o00OOO
1943 | o0o00OOo
1944 | o0o00Oo0
1945 | o0o00Oo
1946 | o0o00OoO
1947 | o0o00Ooo
1948 | o0o00o00
1949 | o0o00o0
1950 | o0o00o0O
1951 | 0o0o00o0o
1952 | o0o00o
1953 | o0o00oO0
1954 | o0o00oO
1955 | o0o00oOO
1956 | o0o00oOo
1957 | o0o00oo0
1958 | o0o00oo
1959 | o0o00ooO
1960 | o0o00ooo
1961 | 0o0o0
1962 | o0o0O000
1963 | o0o0O00
1964 | o0o0O00O
1965 | o0o0O00o
1966 | o0o0O0
1967 | o0o0O0O0
1968 | o0o0O0O
1969 | o0o0Oo00
1970 | o0o0O0OO
1971 | 0o0o0O0Oo
1972 | o0o0O0o0
1973 | o0o0O0o
1974 | o0o0O0oO
1975 | o0o0O0oo
1976 | oO0Oo
1977 | oO0OO
1978 | o0ooo
1979 | o0o0O
1980 | o0o0OoO0
1981 | 0o0o0OO00
1982 | o0o0OO0
1983 | o0o0OO0O
1984 | o0o0OO0o
1985 | o0o0OO
1986 | o0o0OOO0
1987 | o0o0OOO
1988 | o0o0OOOO
1989 | o0o0OOOo
1990 | o0o0OOo0
1991 | 0o0o0OOo
1992 | o0o0OOoO
1993 | o0o0OOoo
1994 | o0o0Oo0
1995 | o0o0Oo0O
1996 | o0o0Oo0o
1997 | o0o0OoO
1998 | o0o0OoOO
1999 | o0o0OoOo
2000 | o0o0Ooo0
2001 | 000o0o0Ooo
2002 | 00o0o0OooO
2003 | 00o0o0Oooo
2004 | 00o0o0o000
2005 | 00o0o0o00
2006 | 00o0o0o00o
2007 | 00o0o0o0
2008 | 00o0o0o0O0
2009 | 00o0o0o0O
2010 | 00o0o0o0OO
2011 | 00o0o0o0Oo
2012 | 0o0o0o0o0
2013 | 0o0o0o0o
2014 | 0o0o0o0oO
2015 | 0o0o0o0oo
2016 | 0o0o0o
2017 | 0o0o0oO00
2018 | 0o0o0oO0
2019 | 0o0o0oO0O
2020 | 0o0o0oO0o
2021 | 00o0oo00
2022 | 0o0o0oO
2023 | 0o0o0oOO0
2024 | 0o0o0oOO
2025 | 0o0o0oOOO
2026 | 0o0o0oOOo
2027 | 0o0o0oOo0
2028 | 0o0o0oOo
2029 | 0o0o0oOoO
2030 | 0o0o0oOoo
2031 | 00o0o0oo00
2032 | 0o0o0oo0
2033 | 0o0o0oo0O
2034 | 0o0o0oo0o
2035 | 0o0o0oo
2036 | 0o0o0ooO0
2037 | 0o0o0ooO
2038 | 0o0o0ooOO
2039 | 0o0o0ooOo
2040 | 0o0o0ooo0
2041 | 00o0o0ooo
2042 | 0o0o0oooO
2043 | 0o0o0oooo
2044 | 0o0o
2045 | 0o0oO0000
2046 | 0ooooooO
2047 | 0o0oO000
2048 | 0o0oO000O
2049 | 0o0oO000o
2050 | 0o0oO00
2051 | 00o0oO00O0
2052 | 0o0oO00O
2053 | 0o0oO00Oo
2054 | 0o0oO00OO
2055 | 0o0oO00o0
2056 | 0o0oO00o
2057 | 0o0oO00oO
2058 | 0o0oO00oo
2059 | 0o0oO0
2060 | 0o0oO0O0
2061 | 00o0oO0O
2062 | 0o0oO0OO0
2063 | 0o0oO0OO
2064 | 0o0oO0OOO
2065 | 0o0oO0Oo
2066 | 0o0oO0OoO
2067 | 0o0oO0o00
2068 | 0o0oO0o0
2069 | 0o0oO0o0o
2070 | 0o0oO0o0O
2071 | 00o0oO0o
2072 | 0o0oO0oO0
2073 | 0o0oO0oO
2074 | 0o0oO0oOO
2075 | 0o0oO0oo0
2076 | 0o0oO0oo
2077 | 0o0oO0ooO
2078 | 0o0oO0ooo
2079 | 0o0oO
2080 | 0o0oOO000
2081 | 00o0oOO00
2082 | 0o0oOO00O
2083 | 0o0oOO00o
2084 | 0o0oOO0
2085 | 0o0oOO0O0
2086 | 0o0oOO0O
2087 | 0o0oOo0oO
2088 | 0o0oOo0oo
2089 | 0o0oOO0OO
2090 | 0o0oOO0o0
2091 | 00o0oOO0o
2092 | 0o0oOO0oO
2093 | 0o0oOO0oo
2094 | 0o0oOOO00
2095 | 0o0oOOO0
2096 | 0o0oOOO0O
2097 | 0o0oOOO
2098 | 0o0oOOOO0
2099 | 0o0oOOOO
2100 | 0o0oOOOOO
2101 | 00o0oOOOOo
2102 | 0o0oOOOo0
2103 | 0o0oOOOo
2104 | 0o0oOOOoO
2105 | 0o0oOOo00
2106 | 0o0oOOo0
2107 | 0o0oOOo0O
2108 | 0o0oOOo0o
2109 | 0o0oOOoO0
2110 | 0o0oOOoO
2111 | 0o0oOoO00
2112 | o0oOOoOO
2113 | o0oOooOO
2114 | o0oOOoOo
2115 | o0oOOoo0
2116 | o0oOOoo
2117 | o0oOOooO
2118 | o0oOOooo
2119 | o0oOo00
2120 | o0oOo00O
2121 | 0o0oOo00o
2122 | o0oOo0
2123 | o0oOo0O
2124 | o0oOo0OO
2125 | o0oOo0Oo
2126 | o0oOo0o
2127 | o0oOo
2128 | o0oOoO0
2129 | o0oOoO0o
2130 | o0oOoOo0
2131 | 0o0oOoO0O
2132 | o0oOoO
2133 | o0oOoOO0
2134 | o0oOoOO
2135 | o0oOoOOO
2136 | o0oOoOOo
2137 | o0oOoOo
2138 | o0oOoOoO
2139 | o0oOoo0
2140 | o0oOoo0O
2141 | 0o0oOoo0o
2142 | o0oOoo
2143 | o0oOooO
2144 | o0oOooOo
2145 | o0oOooo0
2146 | o0oOooo
2147 | o0oOoooO
2148 | o0oOoooo
2149 | o0oo0000
2150 | o0oo000O
2151 | 0o0oo000o
2152 | o0oo00O0
2153 | o0oo00O
2154 | o0oo00OO
2155 | o0oo00Oo
2156 | o0oo00o0
2157 | o0oo00o
2158 | o0oo00oO
2159 | o0oo00oo
2160 | o0oo0
2161 | 0o0oo0O00
2162 | o0oo0O0
2163 | o0oo0O0O
2164 | o0oo0O0o
2165 | o0oo0o
2166 | o0oo0O
2167 | o0oo0OO0
2168 | o0oo0OO
2169 | o0oo0OOO
2170 | o0oo0OOo
2171 | 0o0oo0Oo0
2172 | o0oo0Oo
2173 | o0oo0OoO
2174 | o0oo0Ooo
2175 | o0oo0o00
2176 | o0oo0o0
2177 | o0oo0o0O
2178 | o0oo0o0o
2179 | o0oo0oO0
2180 | o0oo0oO
2181 | 0o0oo0oOO
2182 | o0oo0oOo
2183 | o0oo0oo0
2184 | o0oo0oo
2185 | o0oo0ooO
2186 | o0oo0ooo
2187 | o0ooO000
2188 | o0ooO00
2189 | o0ooO00O
2190 | o0ooO00o
2191 | 0o0ooO0
2192 | o0ooO0O
2193 | o0ooO0OO
2194 | o0ooO0Oo
2195 | o0ooO0o0
2196 | o0ooO0o
2197 | o0ooO0oO
2198 | o0ooO0oo
2199 | o0ooOO0O
2200 | o0ooOO0o
2201 | 00o0ooOOO
2202 | 0o0ooOOoO
2203 | 0o0ooOo00
2204 | 0o0ooOo0
2205 | 0o0ooOo0o
2206 | 0o0ooOo0O
2207 | 0o0ooOo
2208 | 0o0ooOooO
2209 | 0o0ooOoO0
2210 | 0o0ooOoOo
2211 | 0o0ooOoo0
2212 | o0ooOoo
2213 | o0ooOooo
2214 | o0ooo000
2215 | o0ooo00O
2216 | o0ooo00o
2217 | o0ooo0
2218 | o0ooo0O
2219 | o0ooo0o0
2220 | o0ooo0o
2221 | 0o0ooo0oO
2222 | o0ooo0oo
2223 | o0oooO00
2224 | o0oooO0
2225 | o0oooO0o
2226 | o0oooO0O
2227 | o0oooO
2228 | o0oooOO0
2229 | o0oooOO
2230 | o0oooOOo
2231 | 0o0oooOOO
2232 | o0oooOo0
2233 | o0oooOo
2234 | o0oooOoO
2235 | o0oooo00
2236 | o0oooo0
2237 | o0oooo0O
2238 | o0oooo0o
2239 | o0oooo
2240 | o0ooooO0
2241 | 0o0ooooO
2242 | o0ooooOo
2243 | o0ooooo0
2244 | ooo0Oo0
2245 | o0ooooo
2246 | o0oooooO
2247 | o0oooooo
2248 | o
2249 | oO00000
2250 | oO00000o
2251 | 0oO0000
2252 | oO0000O
2253 | oO0000Oo
2254 | oO0000o0
2255 | oO0000o
2256 | oO0000oO
2257 | oO0000oo
2258 | oO000
2259 | oO000O0
2260 | oO000O0O
2261 | 0oO0Ooo00
2262 | oO0Ooooo
2263 | oO000O0o
2264 | oO0o0o
2265 | oO000O
2266 | oO0OoOO0
2267 | oO0OOooo
2268 | oO0OoOOO
2269 | oO0OOoO0
2270 | oO0Oo0oo
2271 | 0oO000OOO
2272 | oO0OO0oo
2273 | oO0OOooO
2274 | oO000OOo
2275 | oO0OoOoO
2276 | ooOOOOoo
2277 | oO0OOo0o
2278 | oO000Oo0
2279 | oO000Oo
2280 | oO0OO0OO
2281 | 0oO0OoOoo
2282 | oO0OOoo0
2283 | oO000OoO
2284 | oO0OOo0O
2285 | oO000Ooo
2286 | oO000o00
2287 | oO000o0
2288 | ooOOOOOo
2289 | oO000o0o
2290 | oO000o
2291 | 0oO0Oo0OO
2292 | oO000oO0
2293 | oO000oO
2294 | oO0Ooo0O
2295 | oO000oOO
2296 | oO0Ooo0o
2297 | oO000oOo
2298 | oO000oo0
2299 | oO000oo
2300 | oO0Oo0Oo
2301 | 00oO000ooO
2302 | 0oO0Oo0O0
2303 | 0oO000ooo
2304 | 0oO00
2305 | 0oO00O00
2306 | 0oO0O0o0o
2307 | 0ooOOoooO
2308 | 0oO00O00o
2309 | 0oO00O0
2310 | 0oO00O0O
2311 | 0oO00O0Oo
2312 | oO0O0OoO
2313 | ooOOooOo
2314 | oO00O0o0
2315 | oO00O0o
2316 | oOo00OO0
2317 | oO00O0oO
2318 | oO0O0OOo
2319 | oO00O0oo
2320 | oO00O
2321 | 0oO00OO0
2322 | ooOOoOoO
2323 | oO0O0OOO
2324 | oO00OO0O
2325 | oO00OO
2326 | oO00OOO
2327 | oO00OOOo
2328 | oOo00Oo0
2329 | ooOOoOOo
2330 | oO00OOo0
2331 | 0oO00OOo
2332 | oO0oOOO0
2333 | oO00OOoO
2334 | oOOoOoOO
2335 | oO00OOoo
2336 | oO00Oo00
2337 | oO00Oo0
2338 | oO00Oo0O
2339 | oO00Oo0o
2340 | oO00Oo
2341 | 0oO00oOOO
2342 | oO00OoO0
2343 | oO00OoO
2344 | oOOoOOO0
2345 | oO00OoOO
2346 | oO0oOOOo
2347 | oO00OoOo
2348 | oO00Ooo0
2349 | oO00Ooo
2350 | oO00OooO
2351 | 0oO00Oooo
2352 | oO0OOoOo
2353 | oO00o000
2354 | oO00o00
2355 | oO0OooOO
2356 | oO0OoOo0
2357 | oO0OOO00
2358 | oO00o00O
2359 | oO0OOoOO
2360 | oO00o00o
2361 | 0ooOO0O
2362 | ooOOo0
2363 | oO00o0
2364 | oO0OOOoo
2365 | oO00o0O0
2366 | oO00o0O
2367 | oO0OOOOo
2368 | oO00o0OO
2369 | oO0OOOoO
2370 | oO00o0Oo
2371 | 0oO0OoO0O
2372 | oO0OOO0o
2373 | oO00o0o0
2374 | oO00o0o
2375 | oO0OOOo0
2376 | oO00o0oO
2377 | oO0OOO0O
2378 | oO00o0oo
2379 | oO00o
2380 | oO0OO0oO
2381 | 0oO0OO000
2382 | oOo00o0o
2383 | oO00oO00
2384 | oO00oO0
2385 | oO0OoooO
2386 | oOo00ooO
2387 | oO00oO0O
2388 | oO0OooOo
2389 | oOo00ooo
2390 | oO00oO0o
2391 | 0oO00oO
2392 | oO00oOO0
2393 | oO00oOO
2394 | oO0OO00o
2395 | oO00oOOo
2396 | oOo00oO0
2397 | oO00oOo0
2398 | oO00oOo
2399 | oO0OO00O
2400 | ooOOOOoO
2401 | 00oOo00oOO
2402 | 0oO00oOoO
2403 | 0oOo00oOo
2404 | 0oO00oOoo
2405 | 0oO0OOOOO
2406 | 0oO00oo00
2407 | 0oO00oo0
2408 | 0oO0OO0o0
2409 | 0oO00oo0O
2410 | 0oO00oo0o
2411 | 0oO00oo
2412 | oO00ooO0
2413 | oO00ooO
2414 | oOo000Oo
2415 | oO00ooOO
2416 | oO00ooOo
2417 | oOo0000O
2418 | oO00ooo0
2419 | oO00ooo
2420 | oOo000oo
2421 | 0oO00oooO
2422 | oOo000o0
2423 | oO00oooo
2424 | oO0
2425 | oO0O000
2426 | oO0Oo00O
2427 | ooOOoOo0
2428 | oO0O000o
2429 | oO0O00
2430 | oO0O00O
2431 | 0oO0O00Oo
2432 | oO0O00o0
2433 | oO0O00o
2434 | oO0O00oO
2435 | oO0O00oo
2436 | oOoo0
2437 | oO0O0
2438 | oO0O0O00
2439 | oO0O0O0
2440 | ooOOOoO0
2441 | 0oO0O0O0O
2442 | ooOOOoo0
2443 | oO0O0O0o
2444 | oO0O0o
2445 | oO0O0O
2446 | oO0O0OO
2447 | oOo0oooO
2448 | ooOOOoOo
2449 | oO0O0Oo0
2450 | oO0O0Oo
2451 | 0oO0O0o0
2452 | oO0O0o0O
2453 | oO0O0oO0
2454 | oO0O0oO
2455 | oOo0o0oO
2456 | ooOOO0Oo
2457 | oO0O0oOO
2458 | oO0O0oOo
2459 | oOo00OOo
2460 | oO0O0oo0
2461 | 0oO0O0oo
2462 | oOo00OOO
2463 | ooOOO00O
2464 | oO0O0ooO
2465 | oO0O0ooo
2466 | ooo0o
2467 | oO0O
2468 | oO0OO00
2469 | oO0OO0O
2470 | oO0OO0Oo
2471 | 0oO0OO0o
2472 | oO0OOO0
2473 | oO0OOO
2474 | oO0OooO0
2475 | oO0OOOO0
2476 | oO0OOOO
2477 | oO0OOOo
2478 | oO0OOo0
2479 | oO0OOo
2480 | oO0OOoO
2481 | 0oO0OOoo
2482 | oO0Oo00
2483 | oO0Oo0
2484 | oO0Oo0O
2485 | oO0Oo0o0
2486 | oO0Oo0o
2487 | oO0OoO00
2488 | oO0OoO0
2489 | oO0OoO
2490 | oO0OoOO
2491 | 0oO0OoOo
2492 | oO0Ooo0
2493 | oO0Ooo
2494 | oO0OooO
2495 | oO0Oooo
2496 | oO0o0000
2497 | oO0o000
2498 | oO0o000O
2499 | ooOOoOoo
2500 | oO0o000o
2501 | 00oO0o00
2502 | 0oO0o0oo0
2503 | 0oO0o00O0
2504 | 0oO0o00O
2505 | 0oO0o00OO
2506 | 0oO0o00Oo
2507 | 0oO0o00o0
2508 | 0oO0o00o
2509 | 0oO0o00oO
2510 | 0oO0o00oo
2511 | 0oO0o0
2512 | oO0o0O00
2513 | oO0o0O0
2514 | oO0o0O0O
2515 | oO0o0O0o
2516 | oO0o0O
2517 | oO0o0OO0
2518 | oO0o0OO
2519 | oO0o0OOO
2520 | oO0o0OOo
2521 | 0oO0o0Oo0
2522 | oO0o0Oo
2523 | oO0o0OoO
2524 | oO0o0Ooo
2525 | oO0o0o00
2526 | oO0o0o0
2527 | oO0o0o0O
2528 | oO0o0o0o
2529 | oO0o0oO0
2530 | oO0o0oO
2531 | 0oO0o0oOO
2532 | oO0o0oOo
2533 | oO0o0oo
2534 | oO0o0ooO
2535 | oO0o0ooo
2536 | oO0o
2537 | oO0oO000
2538 | oO0oO00
2539 | oOo00O0O
2540 | ooOOoOO0
2541 | 0oO0oO00O
2542 | oO0oO00o
2543 | oO0oO0
2544 | oO0oO0O0
2545 | oO0oO0O
2546 | oO0oO0OO
2547 | oOo00OoO
2548 | ooOOoOOO
2549 | oO0oO0Oo
2550 | oO0oO0o0
2551 | 0oO0oO0o
2552 | oO0oO0oO
2553 | oO0oO0oo
2554 | oOooo
2555 | oO0oO
2556 | oO0oOoOO
2557 | oO0oOO00
2558 | oO0oOO0
2559 | oO0oOO0O
2560 | oO0oOO0o
2561 | 0oO0oOO
2562 | oO0oOOO
2563 | oO0oOOOO
2564 | oO0oOOo0
2565 | oO0oOOo
2566 | oO0oOOoO
2567 | oO0oOOoo
2568 | oO0oOo00
2569 | oO0oOo0
2570 | oO0oOo0O
2571 | 0oO0oOo0o
2572 | oO0oOo
2573 | oO0oOoO0
2574 | oO0oOoO
2575 | oO0oOooo
2576 | oO0oOoOo
2577 | oO0oOoo0
2578 | oO0oOoo
2579 | oO0oOooO
2580 | oO0oo000
2581 | 0oO0oo00
2582 | oO0oo00O
2583 | oO0oo00o
2584 | oO0oo0
2585 | oO0oo0O0
2586 | oO0oo0O
2587 | oO0oo0OO
2588 | oO0oo0Oo
2589 | oO0oo0o0
2590 | oO0oo0o
2591 | 0oO0oo0oO
2592 | oO0oo0oo
2593 | oO0oo
2594 | oO0ooO00
2595 | oO0ooO0
2596 | oO0ooO0O
2597 | oO0ooO0o
2598 | oO0ooO
2599 | oO0ooOO0
2600 | oO0ooOO
2601 | 00oO0ooOOO
2602 | 0oO0ooOOo
2603 | 0oO0ooOo0
2604 | 0oO0ooOo
2605 | 0oO0ooOoO
2606 | 0oO0ooOoo
2607 | 0oO0ooo00
2608 | 0oO0ooo0
2609 | 0oO0ooo0O
2610 | 0oO0ooo0o
2611 | 0oO0ooo
2612 | oOo00o0O
2613 | oO0oooO0
2614 | oO0oooO
2615 | oO0oooOO
2616 | oOo00oo0
2617 | oO0oooOo
2618 | oOo000OO
2619 | oO0oooo0
2620 | oO0oooo
2621 | 0oO0ooooO
2622 | oOo00o00
2623 | oO0ooooo
2624 | oO
2625 | oOO00000
2626 | oOO0000
2627 | oOO0000O
2628 | oOO0000o
2629 | oOO000
2630 | oOO000O0
2631 | 0oOO000O
2632 | oOO000OO
2633 | oOO000Oo
2634 | oOO000o0
2635 | oOO000o
2636 | oOO000oO
2637 | oOO000oo
2638 | oOO00
2639 | oOO00O00
2640 | oOO00O0
2641 | 0ooooOO00
2642 | oOO00O0O
2643 | oOO00O0o
2644 | oOO00OO0
2645 | oOO00OO
2646 | oOO00OOO
2647 | oOO00OOo
2648 | oOO00Oo0
2649 | oOO00Oo
2650 | ooooO000
2651 | 0oOO00OoO
2652 | ooooOoOo
2653 | oOO00Ooo
2654 | oOO00o00
2655 | oOO00o0
2656 | oOO00ooo
2657 | oOO00o0O
2658 | oOO00o0o
2659 | oOO00o
2660 | oOO00oO0
2661 | 0oOO00oO
2662 | ooooOOo0
2663 | ooooO0oo
2664 | oOO00oOO
2665 | oOO00oOo
2666 | oOO00oo
2667 | oOO00ooO
2668 | oOO0
2669 | ooooOoOO
2670 | oOO0O000
2671 | 0oOO0O00
2672 | oOO0O00O
2673 | oOO0O00o
2674 | oOO0O0
2675 | oOO0O0O0
2676 | oOO0O0O
2677 | oOO0O0OO
2678 | oOO0O0Oo
2679 | oOO0O0o0
2680 | oOO0O0o
2681 | 0oOO0O0oO
2682 | oOO0O0oo
2683 | oOO0O
2684 | oOO0OO0
2685 | oOO0OO0O
2686 | oOO0OO0o
2687 | oOO0OO
2688 | oOO0OOO
2689 | oOO0OOOO
2690 | oOO0OOOo
2691 | 0oOO0OOo0
2692 | oOO0OOo
2693 | oOO0OOoO
2694 | oOO0OOoo
2695 | oOO0Oo00
2696 | oOO0Oo0
2697 | oOO0Oo0O
2698 | oOO0Oo0o
2699 | oOO0Oo
2700 | oOO0OoO0
2701 | 00oOO0OoO
2702 | 0oOO0OoOO
2703 | 0oOO0OoOo
2704 | 0oOO0Ooo0
2705 | 0oOO0Ooo
2706 | 0oOO0OooO
2707 | 0oOO0Oooo
2708 | 0oOO0o00
2709 | 0ooooOOoo
2710 | 0oOO0o00o
2711 | 0oOO0o0
2712 | oOO0o0O0
2713 | oOO0o0O
2714 | oOO0o0OO
2715 | oOO0o0Oo
2716 | ooooO0O0
2717 | oOO0o0o0
2718 | oOO0o0o
2719 | oOO0o0oO
2720 | oOO0o0oo
2721 | 0oOO0o
2722 | oOO0oO00
2723 | oOO0oO0
2724 | oOO0oO0O
2725 | oOO0oO0o
2726 | oOO0oO
2727 | oOO0oOO0
2728 | oOO0oOO
2729 | oOO0oOOO
2730 | oOO0oOOo
2731 | 0oOO0oOo0
2732 | oOO0oOo
2733 | oOO0oOoO
2734 | oOO0oOoo
2735 | oOO0oo00
2736 | oOO0oo0
2737 | oOO0oo0O
2738 | oOO0oo0o
2739 | oOO0oo
2740 | oOO0ooO0
2741 | 0oOO0ooO
2742 | oOO0ooOO
2743 | oOO0ooOo
2744 | oOO0ooo0
2745 | oOO0ooo
2746 | oOO0oooO
2747 | oOO0oooo
2748 | oOO
2749 | oOOO000
2750 | oOOO000o
2751 | 0oOOO0O
2752 | oOOOoO
2753 | oOOO00
2754 | oOOO00O
2755 | oOOO00Oo
2756 | oOOO00o0
2757 | oOOO00o
2758 | oOOO00oO
2759 | oOOO00oo
2760 | oOOO0
2761 | 0oOOO0oOO
2762 | oOOO0O0
2763 | oOOO0O0o
2764 | oOOO0OO0
2765 | oOOO0OO
2766 | oOOO0OOO
2767 | oOOO0OOo
2768 | oOOO0Oo
2769 | oOOO0OoO
2770 | oOOO0Ooo
2771 | 0oOOO0o00
2772 | oOOO0o0
2773 | oOOO0o0O
2774 | oOOO0o0o
2775 | oOOOOO
2776 | oOOO0o
2777 | oOOO0oO0
2778 | oOOO0oO
2779 | oOOO0ooo
2780 | oOOO0ooO
2781 | 0oOOO0oOo
2782 | oOOO0oo0
2783 | oOOO0oo
2784 | oOOO
2785 | oOOOO0OO
2786 | oOOOO000
2787 | oOOOO00
2788 | oOOOoo00
2789 | oOOOO00O
2790 | oOOOO00o
2791 | 0oOOOO0
2792 | oOOOO0O0
2793 | oOOOO0O
2794 | oOOOO0Oo
2795 | oOOOO0o0
2796 | oOOOO0o
2797 | oOOOO0oO
2798 | oOOOO0oo
2799 | oOo0o
2800 | oOOOO
2801 | 00oOOOOO00
2802 | 0oOOOOO0
2803 | 0oOOOOO0O
2804 | 0oOOOOO0o
2805 | 0oOOOOOO0
2806 | 0oOOOOOO
2807 | 0oOOOOOOO
2808 | 0oOOOOOOo
2809 | 0oOOOOOo0
2810 | 0oOOOOOo
2811 | 0oOOOOOoO
2812 | oOOOOOoo
2813 | oOOOOo00
2814 | oOOOOo0
2815 | oOOOOo0O
2816 | oOOOOo0o
2817 | oOOOOo
2818 | oOOOOoO0
2819 | oOOOOoO
2820 | oOOOOoOO
2821 | 0oOOOOoOo
2822 | oOOOOoo0
2823 | oOOOOoo
2824 | oOOOOooO
2825 | oOOOOooo
2826 | oOOOo000
2827 | oOOOo00
2828 | oOOOo00O
2829 | oOOOo00o
2830 | oOOOo0
2831 | 0oOOOo0O0
2832 | oOOOo0O
2833 | oOOOo0OO
2834 | oOOOo0Oo
2835 | oOOOo0o0
2836 | oOOOo0o
2837 | oOOOo0oO
2838 | oOOOo0oo
2839 | oOOOo
2840 | oOOOoO00
2841 | 0oOOOoO0
2842 | oOOOoO0O
2843 | oOOOoO0o
2844 | oOOOoOO0
2845 | oOOOoOO
2846 | oOOOoOOO
2847 | oOOOoOOo
2848 | oOOOoOo0
2849 | oOOOoOo
2850 | oOOOoOoO
2851 | 0oOOOoOoo
2852 | oOOOoo0
2853 | oOOOoo0O
2854 | oOOOoo0o
2855 | oOOOoo
2856 | oOOOooO0
2857 | oOOOooO
2858 | oOOOooOO
2859 | oOOOooOo
2860 | oOOOooo0
2861 | 0oOOOooo
2862 | oOOOoooO
2863 | oOOOoooo
2864 | oOOo0000
2865 | oOOo000
2866 | oOOo000O
2867 | oOOo000o
2868 | oOOo00
2869 | oOOo00O0
2870 | oOOo00O
2871 | 0oOOo00OO
2872 | oOOo00Oo
2873 | oOOo00o0
2874 | oOOo00o
2875 | oOOo00oO
2876 | oOOo00oo
2877 | oOOo0
2878 | oOOo0O00
2879 | oOOo0O0
2880 | oOOo0O0O
2881 | 0oOOo0O0o
2882 | oOOo0O
2883 | oOOo0OO0
2884 | oOOo0OO
2885 | oOOo0OOO
2886 | oOOo0OOo
2887 | oOOo0Oo0
2888 | oOOo0Oo
2889 | oOOo0OoO
2890 | oOOo0Ooo
2891 | 0oOOo0o00
2892 | oOOo0o0
2893 | oOOo0o0O
2894 | oOOo0o0o
2895 | oOOo0o
2896 | oOOo0oO0
2897 | oOOo0oO
2898 | oOOo0oOO
2899 | oOOo0oOo
2900 | oOOo0oo0
2901 | 00oOOo0oo
2902 | 0oOOo0ooO
2903 | 0oOOo0ooo
2904 | 0oOOo
2905 | 0oOOoO000
2906 | 0oOOoO00
2907 | 0oOOoO00O
2908 | 0oOOoO00o
2909 | 0oOOoO0
2910 | 0oooO0oOO
2911 | 0oOOoO0O0
2912 | oOOoO0O
2913 | oOOoO0OO
2914 | oOOoO0Oo
2915 | oOOoO0o
2916 | oOOoO0oO
2917 | oOOoO0oo
2918 | oOOoO
2919 | oOOoOO0o
2920 | oOOoOO00
2921 | 0oOOoOO0
2922 | oOOoOO0O
2923 | oOOoOOO
2924 | oOOoOOOO
2925 | oOOoOOOo
2926 | oOOoOOo0
2927 | oOOoOOo
2928 | oOOoOOoO
2929 | oOOoOOoo
2930 | oOOoOo00
2931 | 0oOOoOo0
2932 | oOOoOo0O
2933 | oOOoOo0o
2934 | oOOoOo
2935 | oOOoOoO0
2936 | oOOoOoO
2937 | oOOoOoOo
2938 | oOOoOoo0
2939 | oOOoOoo
2940 | oOOoOooO
2941 | 0oOOoOooo
2942 | oOOoo000
2943 | oOOoo00
2944 | oOOoo00O
2945 | oOOoo00o
2946 | oOOoo0
2947 | oOOoo0O0
2948 | oOOoo0O
2949 | oOOoo0OO
2950 | oOOoo0Oo
2951 | 0oOOoo0o0
2952 | oOOoo0o
2953 | oOOoo0oO
2954 | oOOoo0oo
2955 | oOOoo
2956 | oOOooO00
2957 | oOOooO0
2958 | oOOooO0O
2959 | oOOooO0o
2960 | oOOooO
2961 | 0oOOooOO0
2962 | oOOooOO
2963 | oOOooOOO
2964 | oOOooOOo
2965 | oOOooOo0
2966 | oOOooOo
2967 | oOOooOoO
2968 | oOOooOoo
2969 | oOOooo00
2970 | oOOooo0
2971 | 0oOOooo0O
2972 | oOOooo0o
2973 | oOOooo
2974 | oOOoooO0
2975 | oOOoooO
2976 | oOOoooOO
2977 | oOOoooOo
2978 | oOOoooo0
2979 | oOOoooo
2980 | oOOooooO
2981 | 0oOOooooo
2982 | oOo0000
2983 | oOo000
2984 | oOo000O
2985 | oOo000o
2986 | oOo00O0
2987 | oOo00O
2988 | oOo00OO
2989 | oOo0o00
2990 | oOo00Oo
2991 | 0oOo00o0
2992 | oOo00o
2993 | oOo00oO
2994 | oOo00oo
2995 | oOo0
2996 | oOo0O000
2997 | oOo0O00
2998 | oOo0O00O
2999 | oOo0oO0o
3000 | oOo0O00o
3001 | 000oOo0oo
3002 | 00oOo0O0
3003 | 00oOo0O0O0
3004 | 00oOo0O0O
3005 | 00oOo0O0OO
3006 | 00oOo0O0Oo
3007 | 00oOo0O0o0
3008 | 00oOo0O0o
3009 | 00oOo0O0oO
3010 | 00oOo0O0oo
3011 | 00oOo0O
3012 | 0oOo0OO00
3013 | 0oOoo00o
3014 | 0oOo0OO0
3015 | 0oOo0OO0O
3016 | 0oOo0OO0o
3017 | 0oOo0OO
3018 | 0oOo0OOO0
3019 | 0oOo0OOO
3020 | 0oOo0OOOO
3021 | 00oOo0OOOo
3022 | 0oOo0OOo0
3023 | 0oOo0OOo
3024 | 0oOo0OOoO
3025 | 0oOo0OOoo
3026 | 0oOo0Oo00
3027 | 0oOo0Oo0
3028 | 0oOo0Oo0O
3029 | 0oOo0Oo0o
3030 | 0oOo0Oo
3031 | 00oOo0OoO0
3032 | 0oOo0OoO
3033 | 0oOo0OoOO
3034 | 0oOo0OoOo
3035 | 0oOo0Ooo0
3036 | 0oOo0Ooo
3037 | 0oOo0OooO
3038 | 0oOo0Oooo
3039 | 0oOo0o000
3040 | 0oOo0o00O
3041 | 00oOo0o00o
3042 | 0oOo0o0
3043 | 0oOo0o0O
3044 | 0oOo0o0OO
3045 | 0oOo0o0Oo
3046 | 0oOo0o0o0
3047 | 0oOo0o0o
3048 | 0oOo0oO00
3049 | 0oOo0oO0
3050 | 0oOo0oO0O
3051 | 00oOo0oO
3052 | 0oOo0oOO0
3053 | 0oOo0oOO
3054 | 0oOo0oOOO
3055 | 0oOo0oOOo
3056 | 0oOo0oOo0
3057 | 0oOo0oOo
3058 | 0oOo0oOoO
3059 | 0oOo0oOoo
3060 | 0oOo0oo00
3061 | 00oOo0oo0
3062 | 0oOo0oo0O
3063 | 0oOo0ooO0
3064 | 0oOo0ooO
3065 | 0oOo0ooOO
3066 | 0oOo0ooOo
3067 | 0oOo0ooo0
3068 | 0oOo0ooo
3069 | 0oOo
3070 | 0oOooOOoO
3071 | 00oOoO0000
3072 | 0oOoO000
3073 | 0oOoO000O
3074 | 0oOoO000o
3075 | 0oOoO00
3076 | 0oOoO00O0
3077 | 0oOoO00O
3078 | 0oOoO00OO
3079 | 0oOoO00Oo
3080 | 0oOoO00o0
3081 | 00oOoO00o
3082 | 0oOoO00oO
3083 | 0oOoO00oo
3084 | 0oOoO0
3085 | 0oOooOo0O
3086 | 0oOoO0O00
3087 | 0oOoO0O0
3088 | 0oOoO0O0O
3089 | 0oOoO0O0o
3090 | 0oOoO0o
3091 | 00oOoO0O
3092 | 0oOoO0OO0
3093 | 0oOoO0OO
3094 | 0oOoO0OOO
3095 | 0oOoO0OOo
3096 | 0oOoO0Oo0
3097 | 0oOoO0Oo
3098 | 0oOoO0OoO
3099 | 0oOoO0Ooo
3100 | 0oOooOo00
3101 | 00oOoO0o00
3102 | 0oOoO0o0
3103 | 0oOoO0o0O
3104 | 0oOoOoOOO
3105 | 0oOoO0o0o
3106 | 0oOoO0oO0
3107 | 0oOoO0oO
3108 | 0oOoO0oOO
3109 | 0oOoO0oOo
3110 | 0oOooOo0o
3111 | 0oOoO0oo0
3112 | oOoO0oo
3113 | oOoO0ooO
3114 | oOoO0ooo
3115 | oOoO
3116 | oOoOO000
3117 | oOoOO00
3118 | oOoOO00O
3119 | oOoOO00o
3120 | oOoOO0
3121 | 0oOoOO0O0
3122 | oOoOO0O
3123 | oOoOOo0O
3124 | oOoOO0OO
3125 | oOoOO0Oo
3126 | oOoOO0o0
3127 | oOoOO0o
3128 | oOoOO0oO
3129 | oOooOOOO
3130 | oOoOO0oo
3131 | 0oOoOO
3132 | oOoOOO00
3133 | oOoOOO0
3134 | oOoOOO0O
3135 | oOoOOO0o
3136 | oOoOOO
3137 | oOoOOOO0
3138 | oOoOOOO
3139 | oOoOOOOO
3140 | oOoOOOOo
3141 | 0oOoOOOo0
3142 | oOoOOOo
3143 | oOoOOOoO
3144 | oOooOooO
3145 | oOoOOOoo
3146 | oOoOOo00
3147 | oOoOOo0
3148 | oOoOOo0o
3149 | oOoOOo
3150 | oOoOOoO0
3151 | 0oOoOOoO
3152 | oOoOOoOO
3153 | oOoOOoOo
3154 | oOoOOoo0
3155 | oOoOOoo
3156 | oOoOOooO
3157 | oOoOOooo
3158 | oOoOo000
3159 | oOoOo00
3160 | oOoOo00O
3161 | 0oOoOo00o
3162 | oOoOo0
3163 | oOoOoo0O
3164 | oOoOo0O0
3165 | oOoOo0O
3166 | ooOOO0oo
3167 | oOooo0Oo
3168 | oOooo0oo
3169 | oOoOo0OO
3170 | ooOOO0o0
3171 | 0oOoOo0Oo
3172 | oOoOo0o0
3173 | oOoOo0o
3174 | oOoOo0oO
3175 | oOoOo0oo
3176 | oOoOo
3177 | ooOOOooo
3178 | oOoOoO00
3179 | oOoOoO0
3180 | oOoOoO0O
3181 | 0ooOOOooO
3182 | oOooooOO
3183 | oOoOoO0o
3184 | oOoOoO
3185 | oOoOoOO0
3186 | oOoOoOO
3187 | oOoOoOOo
3188 | oOoOoOo0
3189 | oOoOoOo
3190 | oOooOOoo
3191 | 0oOoOoOoO
3192 | oOoOoOoo
3193 | ooOOO0oO
3194 | oOooo0oO
3195 | oOoOoo00
3196 | oOoOoo0
3197 | ooOOO0O0
3198 | oOooo0O0
3199 | oOoOoo0o
3200 | oOoOoo
3201 | 00ooOOOo0o
3202 | 0oOoooooo
3203 | 0oOoOooO0
3204 | 0oOoOooO
3205 | 0oOoOooOO
3206 | 0ooOOOo0O
3207 | 0oOoooooO
3208 | 0oOoOooOo
3209 | 0oOoOooo0
3210 | 0oOoOooo
3211 | 0ooOOOo00
3212 | oOooooo0
3213 | oOoOoooO
3214 | oOoOoooo
3215 | oOoo0000
3216 | oOoo000
3217 | oOoo000O
3218 | oOoo000o
3219 | oOoo00
3220 | oOoo00O0
3221 | 0oOoo00O
3222 | oOoo00OO
3223 | oOoo00Oo
3224 | oOoo00o0
3225 | oOoo00oO
3226 | oOoo00oo
3227 | oOoo0Oo0
3228 | oOoo0O00
3229 | oOoo0O0
3230 | oOoo0O0O
3231 | 0oOoo0O0o
3232 | oOoo0O
3233 | oOoo0OO0
3234 | oOoo0oO
3235 | oOooo00
3236 | oOoo0OO
3237 | oOoo0OOO
3238 | oOoo0OOo
3239 | oOoo0Oo
3240 | oOoo0OoO
3241 | 0oOoo0Ooo
3242 | oOoo0o00
3243 | oOoo0o0
3244 | oOoo0o0O
3245 | oOoo0o0o
3246 | oOoo0o
3247 | oOoo0oO0
3248 | oOoo0oOO
3249 | oOoo0oOo
3250 | oOoo0oo0
3251 | 0oOoo0oo
3252 | oOoo0ooO
3253 | oOoo0ooo
3254 | oOoo
3255 | oOooO000
3256 | oOooO00
3257 | oOooO00O
3258 | oOooO00o
3259 | oOooO0
3260 | oOooO0O0
3261 | 0oOooO0O
3262 | oOooO0OO
3263 | oOooO0Oo
3264 | oOooO0o0
3265 | oOooO0o
3266 | oOooO0oO
3267 | oOooO0oo
3268 | oOooO
3269 | oOooOO00
3270 | oOooOO0
3271 | 0oOooOOo0
3272 | oOooOO0O
3273 | oOooOO0o
3274 | oOooOO
3275 | oOooOOO0
3276 | oOooOOO
3277 | oOooOOOo
3278 | oOooOOo
3279 | oOooOo0
3280 | oOooOo
3281 | 0oOooOoO0
3282 | oOooOoO
3283 | oOooOoOO
3284 | oOooOoOo
3285 | oOooOoo0
3286 | oOooOoo
3287 | oOooOooo
3288 | oOooo000
3289 | oOooo00O
3290 | oOooo00o
3291 | 0oOoooO
3292 | oOooo0
3293 | oOooo0O
3294 | oOooo0OO
3295 | oOooo0o0
3296 | oOoooO00
3297 | oOoooO0
3298 | oOoooO0O
3299 | oOoooO0o
3300 | oOoooOO0
3301 | 00oOoooOO
3302 | 0oOoooOOO
3303 | 0oOoooOOo
3304 | 0oOoooOo0
3305 | 0oOoooOo
3306 | 0oOoooOoO
3307 | 0oOoooOoo
3308 | 0oOoooo00
3309 | 0oOoooo0
3310 | 0oOoooo0O
3311 | 0oOoooo0o
3312 | oOoooo
3313 | oOooooO0
3314 | oOooooO
3315 | oOooooOo
3316 | oOooooo
3317 | oo000000
3318 | oo00000
3319 | oo00000O
3320 | oo00000o
3321 | 0oo0000
3322 | oo0000O0
3323 | oo0000O
3324 | oo0000OO
3325 | oo0000Oo
3326 | oo0000o0
3327 | oo0000o
3328 | oo0000oO
3329 | oo0000oo
3330 | oo000
3331 | 0oo000O00
3332 | oo000O0
3333 | oo000O0O
3334 | oo000O0o
3335 | oo000O
3336 | oo000OO0
3337 | oo0OOOO
3338 | oo000OO
3339 | oo000OOO
3340 | oo000OOo
3341 | 0oo000Oo0
3342 | oo000Oo
3343 | oo000OoO
3344 | oo000Ooo
3345 | oo000o00
3346 | oo000o0
3347 | oo000o0O
3348 | oo000o0o
3349 | oo000oO0
3350 | oo000oO
3351 | 0oo000oOO
3352 | oo000oOo
3353 | oo000oo0
3354 | oo000oo
3355 | oo000ooO
3356 | oo00
3357 | oo00O00o
3358 | oo00O000
3359 | oo00O00
3360 | oo00O00O
3361 | 0oo00O0
3362 | oo00O0O0
3363 | oo00O0O
3364 | oo00Oo0O
3365 | oo00O0OO
3366 | oo00O0Oo
3367 | oo00O0o0
3368 | oo00O0o
3369 | oo00O0oO
3370 | oo00O0oo
3371 | 0oo00O
3372 | oo00OO00
3373 | oo00OO0
3374 | oo00OO0O
3375 | oo00OO0o
3376 | oo00OO
3377 | oo00OOO0
3378 | oo00OOO
3379 | oo00OOOO
3380 | oo00OOOo
3381 | 0oo00OOo0
3382 | oo00OOo
3383 | oo00OOoO
3384 | oo00OOoo
3385 | oo00Oo00
3386 | oo00Oo0
3387 | oo00Oo0o
3388 | oo00Oo
3389 | oo00OoO0
3390 | oo00OoO
3391 | 0oo00OoOO
3392 | oo00OoOo
3393 | oo00Ooo0
3394 | oo00Ooo
3395 | oo00OooO
3396 | oo00Oooo
3397 | oo00o000
3398 | oo00o00
3399 | oo00o0o0
3400 | oo00o00O
3401 | 00oo00o00o
3402 | 0oo00o0
3403 | 0oo00o0oo
3404 | 0oo00ooOO
3405 | 0oo00o0O0
3406 | 0oo00o0O
3407 | 0oo00o0OO
3408 | 0oo00o0Oo
3409 | 0oo00o0o
3410 | 0oo00o0oO
3411 | 0oo00oO00
3412 | oo00oO0
3413 | oo00oO0O
3414 | oo00oO0o
3415 | oo00oOoO
3416 | oo00oOO0
3417 | oo00oOo
3418 | oo00oOO
3419 | oo00oOOO
3420 | oo00oOOo
3421 | 0oo00oOo0
3422 | oo00oOoo
3423 | oo00oo00
3424 | oo00oo0
3425 | oo00oo0O
3426 | oo00oo0o
3427 | oo00oo
3428 | oo00ooO0
3429 | oo00ooO
3430 | oo00ooOo
3431 | 0oo00ooo0
3432 | oo00ooo
3433 | oo00oooO
3434 | oo00oooo
3435 | oo0
3436 | oo0O0000
3437 | oo0O000
3438 | oo0O000O
3439 | oo0O000o
3440 | oo0O00
3441 | 0oo0oOOOO
3442 | oo0O00O0
3443 | oo0O00O
3444 | oo0O00OO
3445 | oo0O00Oo
3446 | oo0O00o0
3447 | oo0O00o
3448 | oo0O00oO
3449 | oo0O00oo
3450 | oo0O0
3451 | 0oo0O0O00
3452 | oo0O0O0
3453 | oo0O0O0O
3454 | oo0O0O0o
3455 | oo0O0O
3456 | oo0O0OO0
3457 | oo0O0OO
3458 | oo0O0OOO
3459 | oo0O0OOo
3460 | oo0O0Oo0
3461 | 0oo0O0Oo
3462 | oo0O0OoO
3463 | oo0O0Ooo
3464 | oo0O0o00
3465 | oo0O0o0
3466 | oo0O0o0O
3467 | oo0O0o0o
3468 | oo0O0o
3469 | oo0O0oO0
3470 | ooo0OoO
3471 | 0oo0O0oO
3472 | oo0oOOoO
3473 | oo0O0oOO
3474 | oo0O0oOo
3475 | oo0O0oo0
3476 | oo0O0oo
3477 | oo0O0ooO
3478 | oo0O0ooo
3479 | oo0OoOO0
3480 | oo0OO00o
3481 | 0oo0OO00O
3482 | oo0OO000
3483 | oo0OO00
3484 | oo0Oo0
3485 | oo0Ooo
3486 | oo0OoO
3487 | oo0OO0
3488 | oo0OOoOO
3489 | oo0OO0Oo
3490 | oo0OOo0O
3491 | 0oo0OOooO
3492 | oo0OO0O0
3493 | oo0OO0O
3494 | oo0OO0OO
3495 | oo0OO0o0
3496 | oo0OO0o
3497 | oo0OO0oO
3498 | oo0OO0oo
3499 | oo0OO
3500 | oo0OOO00
3501 | 00oo0oOoo
3502 | 0oo0OOO0
3503 | 0oo0OOO0O
3504 | 0ooo000O0
3505 | 0oo0OOO0o
3506 | 0oo0OOO
3507 | 0ooo000o0
3508 | 0oo0OOOO0
3509 | 0oo0OOOOO
3510 | 0oo0OOOOo
3511 | 0oo0OOOo0
3512 | oo0OOOo
3513 | oo0OOOoO
3514 | ooo0000O
3515 | ooo00000
3516 | oo0OOOoo
3517 | oo0OOo00
3518 | oo0OOo0
3519 | oo0OOo0o
3520 | oo0OOo
3521 | 0oo0OOoO0
3522 | oo0OOoO
3523 | oo0OOoOo
3524 | oo0OOoo0
3525 | oo0OOooo
3526 | oo0Oo000
3527 | oo0Oo00
3528 | oo0Oo00O
3529 | oo0Oo00o
3530 | oo0Oo0O0
3531 | 0oo0Oo0O
3532 | oo0Oo0OO
3533 | oo0Oo0Oo
3534 | oo0Oo0o0
3535 | oo0Oo0o
3536 | oo0Oo0oO
3537 | oo0Oo0oo
3538 | oo0Oo
3539 | oo0OoO00
3540 | oo0OoO0
3541 | 0oo0OoO0O
3542 | oo0OoO0o
3543 | oo0OoOO
3544 | oo0OoOOO
3545 | oo0OoOOo
3546 | oo0OoOo0
3547 | oo0OoOo
3548 | oo0OoOoO
3549 | oo0OoOoo
3550 | oo0Ooo00
3551 | 0oo0Ooo0
3552 | oo0Ooo0O
3553 | oo0Ooo0o
3554 | oo0OooO
3555 | oo0OooOO
3556 | oo0OooOo
3557 | oo0Oooo0
3558 | oo0Oooo
3559 | oo0OoooO
3560 | 0oo0Ooooo
3561 | oo0o0000
3562 | oo0o000
3563 | oo0o000O
3564 | oo0o000o
3565 | oo0o00
3566 | oo0o00O0
3567 | oo0o00o
3568 | oo0o00O
3569 | oo0o00Oo
3570 | 0oo0o00oO
3571 | oo0o00OO
3572 | oo0o00o0
3573 | oo0o00oo
3574 | oo0o0
3575 | oo0o0O00
3576 | oo0o0O0o
3577 | oo0o0o
3578 | oo0o0O
3579 | oo0o0OO0
3580 | 0oo0o0OO
3581 | oo0o0OOO
3582 | oo0o0OOo
3583 | oo0o0Oo0
3584 | oo0o0OoO
3585 | oo0o0Ooo
3586 | oo0o0o00
3587 | oo0o0o0
3588 | oo0o0o0O
3589 | oo0o0o0o
3590 | 0oo0o0oO0
3591 | oo0o0oO
3592 | oo0o0oOO
3593 | oo0o0oOo
3594 | oo0o0oo0
3595 | oo0o0oo
3596 | oo0o0ooO
3597 | oo0o0ooo
3598 | oo0o
3599 | oo0oO000
3600 | 00oo0oO00
3601 | 0oo0oO0oO
3602 | 0oo0oO00O
3603 | 0oo0oO00o
3604 | 0oo0oO0O0
3605 | 0oo0oO0O
3606 | 0oo0oO0OO
3607 | 0oo0oO0Oo
3608 | 0oo0oO0o0
3609 | 0oo0oO0o
3610 | 0oo0oO0oo
3611 | oo0oO
3612 | oo0oOO00
3613 | oo0oOO0O
3614 | oo0oOO0o
3615 | oo0oOO
3616 | oo0oOOO0
3617 | oo0oOOO
3618 | oo0oOOOo
3619 | oo0oOOo0
3620 | 0oo0oOOoo
3621 | oo0oOo00
3622 | oo0oOo0
3623 | oo0oOo0O
3624 | oo0oOo0o
3625 | oo0oOo
3626 | oo0oOoO0
3627 | oo0oOoOO
3628 | oo0oOoOo
3629 | oo0oOoo0
3630 | 0oo0oOooO
3631 | oo0oOooo
3632 | oo0oo000
3633 | ooo0oOO
3634 | oooOooO
3635 | oo0oo00
3636 | oo0oo00O
3637 | oo0oo00o
3638 | oo0oo0
3639 | oo0oo0O0
3640 | 0oo0oo0O
3641 | oo0oo0OO
3642 | oo0oo0Oo
3643 | oo0oo0o0
3644 | oo0oo0o
3645 | oo0oo0oO
3646 | oo0oo0oo
3647 | oo0oo
3648 | oo0ooO00
3649 | oo0ooO0
3650 | 0oo0ooO0O
3651 | oo0ooO0o
3652 | oo0ooOO0
3653 | oo0ooOO
3654 | ooo0O0oo
3655 | ooo0oooO
3656 | oo0ooOOO
3657 | oo0ooOOo
3658 | oo0ooOo0
3659 | oo0ooOo
3660 | 0oo0ooOoO
3661 | oo0ooOoo
3662 | oo0ooo00
3663 | oo0ooo0
3664 | oo0ooo0o
3665 | oo0ooo0O
3666 | oo0ooo
3667 | oo0oooOO
3668 | oo0oooO0
3669 | oo0oooO
3670 | 0oo0oooOo
3671 | oo0oooo0
3672 | oo0oooo
3673 | oo0ooooO
3674 | oo0ooooo
3675 | oo
3676 | ooO00000
3677 | oooooOo
3678 | ooO0000
3679 | ooO0000O
3680 | 0ooOooOOO
3681 | ooO0000o
3682 | ooO0oo
3683 | ooO000
3684 | ooO000O0
3685 | ooO000O
3686 | ooO000OO
3687 | ooO000Oo
3688 | ooO000o0
3689 | ooO000o
3690 | 0ooO000oO
3691 | ooO000oo
3692 | ooO00
3693 | ooO0OOoo
3694 | ooOo000o
3695 | ooOo00O0
3696 | ooO00O00
3697 | ooO00O0O
3698 | ooO0OOoO
3699 | ooO00O0o
3700 | 00ooO00O
3701 | 0ooOo00o0
3702 | 0ooO00OO0
3703 | 0ooO00OO
3704 | 0ooO0OOOO
3705 | 0ooO00OOO
3706 | 0ooO00OOo
3707 | 0ooO00Oo0
3708 | 0ooO00Oo
3709 | 0ooO00OoO
3710 | 0ooOo00OO
3711 | ooO00Ooo
3712 | ooO00o00
3713 | ooO00o0
3714 | ooO00o0O
3715 | ooO00o0o
3716 | ooO00o
3717 | ooO00oO0
3718 | ooO00oO
3719 | ooO00oOO
3720 | 0ooO00oOo
3721 | ooO00oo0
3722 | ooO00oo
3723 | ooO00ooO
3724 | ooO00ooo
3725 | ooO0
3726 | ooO0O000
3727 | oooo000
3728 | ooO0O00
3729 | ooO0O00O
3730 | 0ooO0O00o
3731 | ooO0O0
3732 | ooO0O0O0
3733 | ooO0O0O
3734 | ooO0O0OO
3735 | ooO0O0Oo
3736 | ooO0O0o0
3737 | ooO0OOO
3738 | ooO0O0o
3739 | ooO0O0oO
3740 | 0ooO0O0oo
3741 | ooO0O
3742 | ooOo000O
3743 | ooO0OO00
3744 | ooO0OO0
3745 | ooO0OO0O
3746 | ooO0OO0o
3747 | ooO0OO
3748 | ooO0OOO0
3749 | ooO0OOOo
3750 | 0ooO0OOo0
3751 | ooO0OOo
3752 | ooO0Oo00
3753 | ooo0oOo
3754 | ooO0Oo0
3755 | ooO0Oo0O
3756 | ooO0Oo0o
3757 | ooO0Oo
3758 | ooO0OoO0
3759 | ooO0OoO
3760 | 0ooO0OoOO
3761 | ooO0OoOo
3762 | ooO0Ooo0
3763 | ooO0OooO
3764 | ooO0Oooo
3765 | ooO0o000
3766 | ooO0o00
3767 | ooO0o00O
3768 | ooO0o00o
3769 | ooO0o0
3770 | 0ooO0o0O0
3771 | ooO0o0O
3772 | ooO0o0OO
3773 | ooO0o0Oo
3774 | ooO0o0o0
3775 | ooO0o0o
3776 | ooO0o0oO
3777 | ooO0o0oo
3778 | ooO0o
3779 | ooO0oO00
3780 | 0ooO0oO0
3781 | ooO0oO0O
3782 | ooOo00Oo
3783 | ooO0oO0o
3784 | ooO0oO
3785 | ooO0oOO0
3786 | ooO0oOO
3787 | ooO0oOOO
3788 | ooO0oOOo
3789 | ooO0oOo0
3790 | 0ooo0OOo
3791 | ooO0oOo
3792 | ooO0oOoO
3793 | ooO0oOoo
3794 | ooO0oo00
3795 | ooO0oo0
3796 | ooO0oo0O
3797 | ooO0oo0o
3798 | ooO0ooO0
3799 | ooO0ooO
3800 | 00ooO0ooOO
3801 | 0ooO0ooOo
3802 | 0ooO0ooo0
3803 | 0ooO0ooo
3804 | 0ooO0oooO
3805 | 0ooO0oooo
3806 | 0ooo
3807 | 0ooO
3808 | 0ooOO0000
3809 | 0ooOO000
3810 | 0ooOO000O
3811 | ooOO000o
3812 | ooOO00
3813 | ooOO00O0
3814 | ooOO00O
3815 | ooOO00OO
3816 | ooOO00Oo
3817 | ooOO00o0
3818 | ooOO00o
3819 | ooOO00oO
3820 | 0ooOO00oo
3821 | ooOO0
3822 | ooOO0O00
3823 | ooOO0O0
3824 | ooOO0O0O
3825 | ooOO0O0o
3826 | ooOO0OO0
3827 | ooOO0OO
3828 | ooOO0OOO
3829 | ooOOo0OO
3830 | 0ooOO0OOo
3831 | ooOO0Oo0
3832 | ooOO0Oo
3833 | ooOO0OoO
3834 | ooOO0Ooo
3835 | ooOO0o00
3836 | ooOO0o0
3837 | ooOO0o0O
3838 | ooOO0o0o
3839 | ooOO0o
3840 | 0ooOO0oO0
3841 | ooOO0oO
3842 | ooOO0oOO
3843 | ooOO0oOo
3844 | ooOO0oo0
3845 | ooOO0oo
3846 | ooOO0ooO
3847 | ooOO0ooo
3848 | ooOOO00
3849 | ooOOoO
3850 | 0ooOOO0
3851 | ooOOO0O
3852 | ooOOO0o
3853 | ooOOO
3854 | ooOOOO00
3855 | ooOOOO0
3856 | ooOOOO0O
3857 | ooOOOO0o
3858 | ooOOOO
3859 | ooOOOOO0
3860 | 0ooOOOOO
3861 | ooOOOOOO
3862 | ooOOOOo
3863 | ooOOOo0
3864 | ooOOOo
3865 | ooOOOoO
3866 | ooOOOoo
3867 | ooOOo000
3868 | ooOOo00O
3869 | ooOOo00o
3870 | 0ooOOo0O0
3871 | ooOOo0O
3872 | ooOOo0Oo
3873 | ooOOo0o0
3874 | ooOOo0o
3875 | ooOOo0oO
3876 | ooOOo0oo
3877 | ooOOo
3878 | ooOOoO0
3879 | ooOOoO0O
3880 | 0ooOOoO0o
3881 | ooOOoOo
3882 | ooOOoo00
3883 | ooOOoo0
3884 | ooOOoo0O
3885 | ooOOoo0o
3886 | ooOOoo
3887 | ooOOooO0
3888 | ooOOooO
3889 | ooOOooOO
3890 | 0ooOOooo0
3891 | ooOOooo
3892 | ooOOoooo
3893 | ooOo0000
3894 | ooOo000
3895 | ooOo00
3896 | ooOo00oO
3897 | ooOo00oo
3898 | ooOo0
3899 | ooOo0O00
3900 | 00ooOo0o0
3901 | 0ooOo0O0
3902 | 0ooOo0oOo
3903 | 0ooOo0O0O
3904 | 0ooOo0O0o
3905 | 0ooOo0O
3906 | 0ooOo0OO0
3907 | 0ooOo0OO
3908 | 0ooOoOo0o
3909 | 0ooOooOOo
3910 | 0ooOo0OOO
3911 | ooOo0OOo
3912 | ooOo0Oo0
3913 | ooOo0Oo
3914 | ooOo0OoO
3915 | ooOo0Ooo
3916 | ooOo0o00
3917 | ooOo0o0O
3918 | ooOo0o0o
3919 | ooOo0o
3920 | 0ooOo0oO0
3921 | ooOo0oO
3922 | ooOo0oOO
3923 | ooOo0oo0
3924 | ooOo0oo
3925 | ooOo0ooO
3926 | ooOo0ooo
3927 | ooOoO000
3928 | ooOoO00
3929 | ooOoO00O
3930 | 0ooOoO00o
3931 | ooOoO0
3932 | ooOoO0O0
3933 | ooOoO0O
3934 | ooOoO0OO
3935 | ooOoO0Oo
3936 | ooOoO0o0
3937 | ooOoO0o
3938 | ooOoO0oO
3939 | ooOoO0oo
3940 | 0ooOoO
3941 | ooOoOoOO
3942 | ooOoOO00
3943 | ooOoOO0
3944 | ooOoOOOo
3945 | ooOoOO0O
3946 | ooOoOO0o
3947 | ooOoOO
3948 | ooOoOOO0
3949 | ooOoOOO
3950 | 0ooOoOOOO
3951 | ooOoOOo0
3952 | ooOoOOo
3953 | ooOoOOoO
3954 | ooOoOOoo
3955 | ooOoOo00
3956 | ooOoOo0
3957 | ooOoOo0O
3958 | ooOoOo
3959 | ooOoOoO0
3960 | 0ooOoOoO
3961 | ooOoOoOo
3962 | ooOoOoo0
3963 | ooOoOoo
3964 | ooOoOooO
3965 | ooOoOooo
3966 | ooOoo000
3967 | ooOoo00
3968 | ooOooo0o
3969 | ooOoo00O
3970 | 0ooOoo00o
3971 | ooOoo0
3972 | ooOoo0O0
3973 | ooOoo0O
3974 | ooOoo0OO
3975 | ooOoo0Oo
3976 | ooOoo0o0
3977 | ooOoo0o
3978 | ooOoo0oo
3979 | ooOoo0oO
3980 | 0ooooO
3981 | ooOoo
3982 | ooOooO00
3983 | ooOooO0
3984 | ooOooO0O
3985 | ooOooO0o
3986 | ooOooo
3987 | ooOooO
3988 | ooOooOO0
3989 | ooOooOO
3990 | 0ooOooOo0
3991 | ooOooOo
3992 | ooOooOoO
3993 | ooOooOoo
3994 | ooOooo00
3995 | ooOooo0
3996 | ooOooo0O
3997 | ooOoooO0
3998 | ooOoooO
3999 | ooOoooOO
4000 | 000ooOoooOo
4001 | 00ooOoooo0
4002 | 00ooOoooo
4003 | 00ooOooooO
4004 | 00ooOooooo
4005 | 00ooo0000
4006 | 00ooo000oo
4007 | 00ooo0000o
4008 | 00ooo000
4009 | 00ooo000O
4010 | 00ooo000OO
4011 | 0ooo000Oo
4012 | 0ooo000o
4013 | 0ooo000oO
4014 | 0ooo00
4015 | 0ooo00O00
4016 | 0ooo00oO0
4017 | 0ooo00O0O
4018 | 0ooo00O0o
4019 | 0ooo00O
4020 | 00ooo00Oo0
4021 | 0ooo00OO0
4022 | 0ooo00OO
4023 | 0ooo00OOO
4024 | 0ooo00OOo
4025 | 0ooo00Oo
4026 | 0ooo00OoO
4027 | 0ooo00Ooo
4028 | 0ooo00o00
4029 | 0ooo00o0
4030 | 00ooo00o0O
4031 | 0ooo00o0o
4032 | 0ooo00o
4033 | 0ooo00oO
4034 | 0ooo00oOO
4035 | 0ooo00oOo
4036 | 0ooo00oo0
4037 | 0ooo00oo
4038 | 0ooo00ooO
4039 | 0ooo00ooo
4040 | 00ooo0
4041 | 0ooo0O000
4042 | 0ooo0O00
4043 | 0ooo0O00O
4044 | 0ooo0O00o
4045 | 0ooo0oo
4046 | 0ooo0o0
4047 | 0ooo0oO
4048 | 0ooo0O0
4049 | 0ooo0O0O0
4050 | 00ooo0O0O
4051 | 0ooo0O0OO
4052 | 0ooo0O0Oo
4053 | 0ooo0O0o0
4054 | 0ooo0O0o
4055 | 0ooo0O0oO
4056 | 0ooo0O
4057 | 0ooo0OO00
4058 | 0ooo0OO0
4059 | 0ooo0OO0O
4060 | 00ooo0OO0o
4061 | 0ooo0Oo
4062 | 0ooo0OO
4063 | 0ooo0OOO0
4064 | 0ooo0OOO
4065 | 0oooo00oo
4066 | 0ooo0OOoO
4067 | 0ooo0OOOO
4068 | 0ooo0OOOo
4069 | 0ooo0OOo0
4070 | 00ooo0OOoo
4071 | 0ooo0Oo00
4072 | 0ooo0Oo0O
4073 | 0ooo0Oo0o
4074 | 0ooo0OoO0
4075 | 0ooo0OoOO
4076 | 0ooo0OoOo
4077 | 0ooo0Ooo0
4078 | 0ooo0OooO
4079 | 0ooo0Oooo
4080 | 00ooo0o000
4081 | 0ooo0o00
4082 | 0ooo0o00O
4083 | 0ooo0o00o
4084 | 0ooo0o0OO
4085 | 0ooo0o0O0
4086 | 0ooo0o0O
4087 | 0ooo0o0Oo
4088 | 0ooo0o0o0
4089 | 0ooo0o0o
4090 | 00ooo0o0oO
4091 | 0ooo0o0oo
4092 | 0ooo0oO00
4093 | 0ooo0oO0
4094 | 0ooo0oO0O
4095 | 0ooo0oO0o
4096 | 0ooo0oOO0
4097 | 0ooo0oOOO
4098 | 0ooo0oOOo
4099 | 0ooo0oOo0
4100 | 00ooo0oOoO
4101 | 0ooo0oOoo
4102 | 0ooo0oo00
4103 | 0ooo0oo0
4104 | 0ooo0oo0O
4105 | 0ooo0oo0o
4106 | 0ooo0ooO0
4107 | 0ooo0ooO
4108 | 0ooo0ooOO
4109 | 0ooo0ooOo
4110 | 0ooo0ooo0
4111 | ooo0oooo
4112 | oooO0oo0
4113 | oooO0000
4114 | oooO000
4115 | oooO00o0
4116 | oooO000O
4117 | oooO0ooo
4118 | oooO000o
4119 | ooooo0
4120 | 0oooooo
4121 | ooooOo
4122 | oooO00
4123 | oooO00O0
4124 | oooO00O
4125 | oooO00Oo
4126 | oooO00OO
4127 | oooO00o
4128 | ooooOOOo
4129 | ooooOOOO
4130 | 0ooooOo00
4131 | oooO0oO0
4132 | oooO00oO
4133 | oooO00oo
4134 | oooO0
4135 | oooO0O00
4136 | oooO0O0
4137 | oooO0O0O
4138 | oooO0O0o
4139 | oooO0O
4140 | 0oooOOo0O
4141 | oooO0OO0
4142 | oooO0OO
4143 | oooO0OOO
4144 | oooO0OOo
4145 | oooO0Oo0
4146 | oooO0Oo
4147 | oooO0OoO
4148 | oooO0Ooo
4149 | oooO0o00
4150 | 0oooO0o0
4151 | oooO0o0O
4152 | oooO0o0o
4153 | oooooO
4154 | oooO0o
4155 | oooO0oO
4156 | oooO0oo
4157 | oooO0ooO
4158 | oooO
4159 | oooOooOO
4160 | 0oooOO000
4161 | oooOO00
4162 | oooOO0o0
4163 | oooOO00O
4164 | oooOO00o
4165 | oooOO0O0
4166 | oooOO0O
4167 | oooOO0OO
4168 | oooOO0Oo
4169 | oooOO0o
4170 | 0oooOO0oO
4171 | oooOO0oo
4172 | oooOO
4173 | oooOOO00
4174 | oooOOO0
4175 | oooOOO0O
4176 | oooOOO0o
4177 | oooOOO
4178 | oooOOOO0
4179 | oooOOOO
4180 | 0oooOOOOO
4181 | oooOOOOo
4182 | oooOOOo0
4183 | oooOOOo
4184 | oooOOOoO
4185 | oooOOOoo
4186 | oooOOo00
4187 | oooOOo0
4188 | oooOOo0o
4189 | oooOOo
4190 | 0oooOOoO0
4191 | oooOOoO
4192 | oooOOoOO
4193 | oooOOoOo
4194 | oooOOoo0
4195 | oooOOoo
4196 | oooOOooO
4197 | oooOOooo
4198 | oooOo000
4199 | oooOo00
4200 | 00oooOo00O
4201 | 0oooOo00o
4202 | 0oooOo0
4203 | 0oooOo0oo
4204 | 0oooOo0O0
4205 | 0oooOo0O
4206 | 0oooOo0OO
4207 | 0oooOo0Oo
4208 | 0oooOo0o0
4209 | 0oooOo0o
4210 | 0oooOo0oO
4211 | oooOo
4212 | oooOoO00
4213 | oooOoO0
4214 | oooOoO0O
4215 | oooOoO0o
4216 | oooOoOOO
4217 | oooOoOO0
4218 | oooOoOO
4219 | oooOoOOo
4220 | 0oooOoOo0
4221 | oooOoOo
4222 | oooOoOoO
4223 | oooOoOoo
4224 | oooOoo00
4225 | oooOoo0
4226 | oooOoo0O
4227 | oooOoo0o
4228 | oooOooO0
4229 | oooOooOo
4230 | 0oooOooo0
4231 | oooOooo
4232 | oooOoooO
4233 | oooOoooo
4234 | oooo0000
4235 | oooo000O
4236 | oooo000o
4237 | oooo00
4238 | oooo00o0
4239 | oooo00O0
4240 | 0oooo00O
4241 | oooo00OO
4242 | oooo00Oo
4243 | oooo00oO
4244 | oooo0
4245 | oooo0O00
4246 | oooo0O0
4247 | oooo0O0O
4248 | oooo0O0o
4249 | oooo0O
4250 | 0oooo0OO0
4251 | oooo0OO
4252 | oooo0OOO
4253 | oooo0OOo
4254 | oooo0Oo0
4255 | oooo0Oo
4256 | oooo0OoO
4257 | oooo0Ooo
4258 | oooo0o00
4259 | oooo0o0
4260 | 0oooo0o0O
4261 | oooo0o0o
4262 | oooo0o
4263 | oooo0oO0
4264 | oooo0oO
4265 | oooo0oOO
4266 | oooo0oOo
4267 | oooo0oo0
4268 | oooo0oo
4269 | oooo0ooO
4270 | 0oooo0ooo
4271 | oooo
4272 | ooooO00
4273 | ooooOOoO
4274 | ooooO00O
4275 | ooooO00o
4276 | ooooO0
4277 | ooooO0O
4278 | ooooO0OO
4279 | ooooO0Oo
4280 | 0ooooO0o0
4281 | ooooO0o
4282 | ooooO0oO
4283 | ooooOO0
4284 | ooooOO0o
4285 | ooooOO
4286 | ooooOoo0
4287 | ooooOOO0
4288 | ooooOOO
4289 | ooooOOo
4290 | 0ooooOo0
4291 | ooooOo0O
4292 | ooooOo0o
4293 | ooooOoO0
4294 | ooooOoO
4295 | ooooOoo
4296 | ooooOooO
4297 | ooooOooo
4298 | ooooo000
4299 | ooooo00
4300 | 00ooooo00O
4301 | 0ooooo00o
4302 | 0ooooo0O0
4303 | 0ooooo0O
4304 | 0ooooo0OO
4305 | 0ooooo0Oo
4306 | 0ooooo0o0
4307 | 0ooooo0o
4308 | 0ooooo0oO
4309 | 0ooooo0oo
4310 | 0ooooo
4311 | oooooO00
4312 | oooooO0
4313 | oooooOo0
4314 | oooooO0O
4315 | oooooO0o
4316 | oooooOO0
4317 | oooooOO
4318 | oooooOOO
4319 | oooooOOo
4320 | 0oooooOoO
4321 | oooooOoo
4322 | oooooo00
4323 | oooooo0
4324 | oooooo0O
4325 | oooooo0o
4326 | ooooooO0
4327 | ooooooOO
4328 | ooooooOo
4329 | ooooooo0
4330 | 0oooooooO
4331 | oooooooo
4332 | O
4333 | O0
4334 | O00
4335 | O000
4336 | O0000
4337 | O00000
4338 | O000000
4339 | O0000000
4340 | O000000O
4341 | O00000O
4342 | O00000O0
4343 | O00000OO
4344 | O0000O
4345 | O0000O0
4346 | O0000O00
4347 | O0000O0O
4348 | O0000OO
4349 | O0000OO0
4350 | O0000OOO
4351 | O000O
4352 | O000O0
4353 | O000O00
4354 | O000O000
4355 | O000O00O
4356 | O000O0O
4357 | O000O0O0
4358 | O000o0oO
4359 | O000Oo
4360 | O000OO0
4361 | O000oo00
4362 | O000OO0O
4363 | O000OOO
4364 | O000OOO0
4365 | O000OOOO
4366 | O00O
4367 | O00O0
4368 | O00O00
4369 | O00O000
4370 | O00O0000
4371 | O00O000O
4372 | O00O00O
4373 | O00O00O0
4374 | O00O00OO
4375 | O00O0O
4376 | O00O0O0
4377 | O00O0O00
4378 | O00O0O0O
4379 | O00O0oO
4380 | O00O0OO0
4381 | O00O0OOO
4382 | O00OO
4383 | O00OO0
4384 | O00OO00
4385 | O00Oo000
4386 | O00Oo00O
4387 | O00Oo0O
4388 | O00Oo0O0
4389 | O00oo0oO
4390 | O00OOO
4391 | O00OOO0
4392 | O00OoO00
4393 | O00ooo0O
4394 | O00OOOO
4395 | O00oOoO0
4396 | O00ooooO
4397 | O0O
4398 | O0O0
4399 | O0O00
4400 | O0O000
4401 | O0O0000
4402 | o0o00000
4403 | o0o0000O
4404 | O0O000O
4405 | o0O000O0
4406 | o0O000OO
4407 | O0O00O
4408 | O0O00O0
4409 | o0O00O00
4410 | o0O00O0O
4411 | O0O00oo
4412 | o0O00OO0
4413 | o0O00OOo
4414 | O0o0o
4415 | O0O0O0
4416 | O0O0O00
4417 | o0O0O000
4418 | o0O0O00o
4419 | O0O0O0O
4420 | o0O0O0O0
4421 | o0O0O0OO
4422 | O0O0Oo
4423 | O0o0oo0
4424 | o0O0OO00
4425 | o0O0OO0o
4426 | O0o0ooo
4427 | o0O0OOo0
4428 | o0O0OOOO
4429 | O0OO
4430 | O0OO0
4431 | O0OO00
4432 | O0OO000
4433 | o0OO0000
4434 | o0OO000O
4435 | o0Oo00O
4436 | o0OO00O0
4437 | o0OO00oO
4438 | O0OO0o
4439 | O0OO0O0
4440 | o0OO0O00
4441 | o0oO0O0O
4442 | O0OO0OO
4443 | o0oO0Oo0
4444 | o0oO0oOo
4445 | O0OOO
4446 | O0OOo0
4447 | o0OoO00
4448 | o0OOO000
4449 | o0OoO00o
4450 | O0OoO0o
4451 | o0ooo0O0
4452 | o0ooo0Oo
4453 | O0oOOO
4454 | O0OOOO0
4455 | o0ooOO00
4456 | o0OOOO0O
4457 | O0oOOOO
4458 | o0ooOOo0
4459 | o0ooooOO
4460 | OO
4461 | OO0
4462 | OO00
4463 | OO000
4464 | Oo0000
4465 | OO00000
4466 | oO000000
4467 | oO00000O
4468 | OO0000O
4469 | oO0000O0
4470 | oO0000OO
4471 | OO000O
4472 | OO000O0
4473 | oO000O00
4474 | oO000o0O
4475 | oO000OO
4476 | oO000OO0
4477 | oo000ooo
4478 | OO00o
4479 | OO00o0
4480 | OO00O00
4481 | oO00O000
4482 | oO00O00O
4483 | OO00O0O
4484 | oO00O0O0
4485 | oO00O0OO
4486 | Oo00oO
4487 | OO00OO0
4488 | oO00OO00
4489 | oO00OO0o
4490 | Oo00oOo
4491 | oO00OOO0
4492 | oO00OOOO
4493 | OO0O
4494 | OO0O0
4495 | OO0O00
4496 | OO0O000
4497 | oO0O0000
4498 | oO0O000O
4499 | OO0O00O
4500 | oO0O00O0
4501 | oO0O00OO
4502 | OO0o0O
4503 | OO0O0O0
4504 | oO0O0o00
4505 | oo0o0O0O
4506 | Oo0o0OO
4507 | oO0O0OO0
4508 | oO0O0Ooo
4509 | OO0Oo
4510 | OO0OO0
4511 | OO0OO00
4512 | oO0Oo000
4513 | oO0Oo00o
4514 | OO0OO0O
4515 | oO0OO0O0
4516 | oO0Oo0oO
4517 | Oo0OOO
4518 | OO0OOO0
4519 | oO0OOo00
4520 | oO0OoO0o
4521 | Oo0OoOO
4522 | oO0Oooo0
4523 | oO0OoOOo
4524 | OOo
4525 | OOO0
4526 | OoO00
4527 | OOO000
4528 | OOO0000
4529 | oOo00000
4530 | oOo0000o
4531 | OOO000O
4532 | oOo000O0
4533 | oOo000oO
4534 | OOO00O
4535 | ooo00O0
4536 | oOo00O00
4537 | oOo00O0o
4538 | OOO00OO
4539 | oOO00oo0
4540 | oOo00Ooo
4541 | OOo0O
4542 | OOO0O0
4543 | OOO0O00
4544 | oOO0o000
4545 | oOO0o00O
4546 | Ooo0o0O
4547 | oOo0o0O0
4548 | oOo0o0oo
4549 | OOO0OO
4550 | Ooo0Oo0
4551 | oOO0OO00
4552 | oOo0oo0o
4553 | ooo0ooo
4554 | oOO0OOO0
4555 | oOo0oooo
4556 | OOOO
4557 | OooO0
4558 | OOOO00
4559 | OOOO000
4560 | oOOO0000
4561 | oOOO000O
4562 | ooOo00o
4563 | oOOO00O0
4564 | oOOO00OO
4565 | OOOO0o
4566 | OOOO0O0
4567 | oOOO0O00
4568 | oOOO0O0O
4569 | Oooo0Oo
4570 | oOOO0Oo0
4571 | oooO0oOo
4572 | Ooooo
4573 | OOoOO0
4574 | OoOOO00
4575 | ooOOO000
4576 | ooOOO00o
4577 | OOOOO0O
4578 | oOOoO0o0
4579 | ooOOO0OO
4580 | oooOoo
4581 | OOOOOO0
4582 | ooOOoO00
4583 | ooooOO0O
4584 | ooOOoOO
4585 | ooOOOOo0
4586 | ooOOOoOO
4587 |
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | -optimizationpasses 5
2 | # 混淆时不使用大小写混合,混淆后的类名为小写
3 | -dontusemixedcaseclassnames
4 | # 指定不去忽略非公共库的类
5 | -dontskipnonpubliclibraryclasses
6 | # 指定不去忽略非公共库的成员
7 | -dontskipnonpubliclibraryclassmembers
8 | # 混淆时不做预校验
9 | -dontpreverify
10 | # 混淆时不记录日志
11 | -verbose
12 | # 代码优化
13 | -dontshrink
14 | # 不优化输入的类文件
15 | -dontoptimize
16 | # 保留注解不混淆
17 | -keepattributes *Annotation*,InnerClasses
18 | # 避免混淆泛型
19 | -keepattributes Signature
20 | # 保留代码行号,方便异常信息的追踪
21 | -keepattributes SourceFile,LineNumberTable
22 | # 混淆采用的算法
23 | -optimizations !code/simplification/cast,!field/*,!class/merging/*
24 |
25 | -obfuscationdictionary dic.txt
26 | -classobfuscationdictionary dic.txt
27 | -packageobfuscationdictionary dic.txt
--------------------------------------------------------------------------------
/app/src/androidTest/java/io/iftech/android/androidkeepalive/ExampleInstrumentedTest.kt:
--------------------------------------------------------------------------------
1 | package io.iftech.android.androidkeepalive
2 |
3 | import androidx.test.platform.app.InstrumentationRegistry
4 | import androidx.test.ext.junit.runners.AndroidJUnit4
5 |
6 | import org.junit.Test
7 | import org.junit.runner.RunWith
8 |
9 | import org.junit.Assert.*
10 |
11 | /**
12 | * Instrumented test, which will execute on an Android device.
13 | *
14 | * See [testing documentation](http://d.android.com/tools/testing).
15 | */
16 | @RunWith(AndroidJUnit4::class)
17 | class ExampleInstrumentedTest {
18 | @Test
19 | fun useAppContext() {
20 | // Context of the app under test.
21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext
22 | assertEquals("io.iftech.android.androidkeepalive", appContext.packageName)
23 | }
24 | }
--------------------------------------------------------------------------------
/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
16 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
30 |
31 |
35 |
36 |
43 |
44 |
45 |
46 |
47 |
50 |
51 |
52 |
61 |
62 |
63 |
64 |
65 |
--------------------------------------------------------------------------------
/app/src/main/java/io/iftech/android/androidkeepalive/CancelNoticeService.kt:
--------------------------------------------------------------------------------
1 | package io.iftech.android.androidkeepalive
2 |
3 | import android.app.Service
4 | import android.content.Intent
5 | import android.os.IBinder
6 | import android.os.SystemClock
7 | import android.util.Log
8 |
9 |
10 | // 同时启动两个service,共享同一个NotificationID,并且将他们同时置为前台状态,
11 | // 此时会出现两个前台服务,但通知管理器里只有一个关联的通知。
12 | // 这时我们在其中一个服务中调用 stopForeground(true),
13 | // 这个服务前台状态会被取消,同时状态栏通知也被移除。另外一个服务并没有受到影响,还是前台服务状态,但是此时,状态栏通知已经没了!
14 | // 其oom_adj值还是没变的
15 | class CancelNoticeService : Service() {
16 | override fun onBind(intent: Intent?): IBinder? = null
17 |
18 | override fun onCreate() {
19 | super.onCreate()
20 | }
21 |
22 | override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
23 | if (null == intent) {
24 | //服务被系统kill掉之后重启进来的
25 | return START_NOT_STICKY
26 | }
27 | ForegroundNotification.startForeground(this)
28 | Thread {
29 | SystemClock.sleep(1000)
30 | // stopForeground(true)
31 | Log.d("ForegroundService", "CancelNoticeService onStartCommand: CancelNoticeService" )
32 | ForegroundNotification.stopForeground(this)
33 | // stopSelf()
34 | }.start()
35 | return super.onStartCommand(intent, flags, startId)
36 | }
37 |
38 | override fun onDestroy() {
39 | super.onDestroy()
40 | Log.d("ForegroundService", "onDestroy: CancelNoticeService")
41 |
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/app/src/main/java/io/iftech/android/androidkeepalive/Extensions.kt:
--------------------------------------------------------------------------------
1 | package io.iftech.android.androidkeepalive
2 |
3 | import android.app.Activity
4 | import android.app.ActivityManager
5 | import android.content.ComponentName
6 | import android.content.Context
7 | import android.content.Intent
8 | import android.net.Uri
9 | import android.os.Build
10 | import android.provider.Settings
11 | import io.iftech.android.androidkeepalive.utils.IfRom
12 |
13 | fun Context.startForegroundService() {
14 | Intent(this, ForegroundService::class.java).also { intent ->
15 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
16 | this.startForegroundService(intent)
17 | } else {
18 | this.startService(intent)
19 | }
20 | }
21 | }
22 |
23 |
24 | fun Context.hideBackground(hide: Boolean) {
25 | var appTasks: List? = null
26 | val activityManager = getSystemService(
27 | Context.ACTIVITY_SERVICE
28 | ) as? ActivityManager
29 | if (activityManager != null && activityManager.appTasks.also {
30 | appTasks = it
31 | } != null && appTasks?.isNotEmpty() == true) {
32 | appTasks?.get(0)?.setExcludeFromRecents(hide)
33 | }
34 | }
35 |
36 |
37 | fun Activity.ignoreBattery() {
38 | val intent = Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS)
39 | intent.data = Uri.parse("package:$packageName")
40 | startActivityForResult(intent, 1)
41 | }
42 |
43 | fun Activity.startAccessibilitySetting() {
44 | runCatching {
45 | val intent = Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS)
46 | intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
47 | startActivity(intent)
48 | }
49 | }
50 |
51 |
52 | fun Context.startAutostartSetting() {
53 | kotlin.runCatching {
54 | startActivity(getAutostartSettingIntent())
55 | }.getOrElse {
56 | it.printStackTrace()
57 | }
58 | }
59 |
60 | /**
61 | * 获取自启动管理页面的Intent
62 | * @return 返回自启动管理页面的Intent
63 | */
64 | fun Context.getAutostartSettingIntent(): Intent {
65 | var componentName: ComponentName? = null
66 | val brand = Build.MANUFACTURER
67 | val intent = Intent()
68 | intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
69 |
70 | when {
71 | brand.toLowerCase() == "samsung" -> componentName = ComponentName(
72 | "com.samsung.android.sm",
73 | "com.samsung.android.sm.app.dashboard.SmartManagerDashBoardActivity"
74 | )
75 |
76 | brand.toLowerCase() == "yulong" || brand.toLowerCase() == "360" -> componentName =
77 | ComponentName(
78 | "com.yulong.android.coolsafe",
79 | "com.yulong.android.coolsafe.ui.activity.autorun.AutoRunListActivity"
80 | )
81 | brand.toLowerCase() == "oneplus" -> componentName = ComponentName(
82 | "com.oneplus.security",
83 | "com.oneplus.security.chainlaunch.view.ChainLaunchAppListActivity"
84 | )
85 | brand.toLowerCase() == "letv" -> {
86 | intent.action = "com.letv.android.permissionautoboot"
87 | intent.action = "android.settings.APPLICATION_DETAILS_SETTINGS"
88 | intent.data = Uri.fromParts("package", packageName, null)
89 | }
90 | IfRom.isHuawei -> //荣耀V8,EMUI 8.0.0,Android 8.0上,以下两者效果一样
91 | componentName = ComponentName(
92 | "com.huawei.systemmanager",
93 | "com.huawei.systemmanager.appcontrol.activity.StartupAppControlActivity"
94 | )
95 | IfRom.isXiaomi -> componentName = ComponentName(
96 | "com.miui.securitycenter",
97 | "com.miui.permcenter.autostart.AutoStartManagementActivity"
98 | )
99 | IfRom.isVivo -> // componentName = new ComponentName("com.iqoo.secure", "com.iqoo.secure.safaguard.PurviewTabActivity");
100 | componentName = ComponentName(
101 | "com.iqoo.secure",
102 | "com.iqoo.secure.ui.phoneoptimize.AddWhiteListActivity"
103 | )
104 | IfRom.isOppo -> // componentName = new ComponentName("com.oppo.safe", "com.oppo.safe.permission.startup.StartupAppListActivity");
105 | componentName = ComponentName(
106 | "com.coloros.oppoguardelf",
107 | "com.coloros.powermanager.fuelgaue.PowerUsageModelActivity"
108 | )
109 | IfRom.isMeizu -> componentName =
110 | ComponentName("com.meizu.safe", "com.meizu.safe.permission.SmartBGActivity")
111 | else -> {
112 | intent.action = "android.settings.APPLICATION_DETAILS_SETTINGS"
113 | intent.data = Uri.fromParts("package", packageName, null)
114 | }
115 | }
116 | intent.component = componentName
117 | return intent
118 | }
--------------------------------------------------------------------------------
/app/src/main/java/io/iftech/android/androidkeepalive/ForegroundNotification.kt:
--------------------------------------------------------------------------------
1 | package io.iftech.android.androidkeepalive
2 |
3 |
4 | import android.annotation.SuppressLint
5 | import android.app.*
6 | import android.content.Context
7 | import android.content.Intent
8 | import android.os.Build
9 | import androidx.core.app.NotificationCompat
10 | import androidx.core.content.getSystemService
11 |
12 | @SuppressLint("StaticFieldLeak")
13 | object ForegroundNotification {
14 | private const val CHANNEL_FOREGROUND = "foreground-notification"
15 | const val NOTICE_ID = 233
16 | private var service: Service? = null
17 |
18 | private fun createChannelIfNeeded(context: Context) {
19 | if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) return
20 |
21 | val foregroundChannel =
22 | NotificationChannel(CHANNEL_FOREGROUND, "前台服务", NotificationManager.IMPORTANCE_MIN)
23 | .apply {
24 | setShowBadge(false)
25 | enableLights(false)
26 | enableVibration(false)
27 | lockscreenVisibility = Notification.VISIBILITY_SECRET
28 | }
29 | context.getSystemService()
30 | ?.createNotificationChannel(foregroundChannel)
31 | }
32 |
33 | fun startForeground(service: Service) {
34 | this.service = service
35 | createChannelIfNeeded(service)
36 | val pendingIntent = PendingIntent.getActivity(
37 | service,
38 | 0,
39 | Intent(service, MainActivity::class.java),
40 | PendingIntent.FLAG_UPDATE_CURRENT
41 | )
42 | val notification = NotificationCompat.Builder(service, CHANNEL_FOREGROUND)
43 | .setSmallIcon(R.mipmap.ic_launcher)
44 | .setContentText("提示内容")
45 | .setContentIntent(pendingIntent)
46 | .setLocalOnly(true)
47 | .setPriority(NotificationCompat.PRIORITY_MIN)
48 | .setCategory(NotificationCompat.CATEGORY_SERVICE)
49 | .setVisibility(NotificationCompat.VISIBILITY_SECRET)
50 | .setOngoing(true)
51 | .setShowWhen(false)
52 | .build()
53 | service.startForeground(NOTICE_ID, notification)
54 | }
55 |
56 | fun stopForeground(service: Service) {
57 | val manager = service.getSystemService(Service.NOTIFICATION_SERVICE) as? NotificationManager
58 | manager?.cancel(NOTICE_ID)
59 | service.stopForeground(true)
60 | }
61 |
62 | fun cancelNotice(service: Service) {
63 | val manager = service.getSystemService(Service.NOTIFICATION_SERVICE) as? NotificationManager
64 | manager?.cancel(NOTICE_ID)
65 | }
66 |
67 | fun stopForeground() {
68 | val manager = service?.getSystemService(Service.NOTIFICATION_SERVICE) as? NotificationManager
69 | manager?.cancel(NOTICE_ID)
70 | service?.stopForeground(true)
71 | }
72 |
73 | fun startForegroundIfNeed(service: Service) {
74 | val manager = service.getSystemService(Service.NOTIFICATION_SERVICE) as? NotificationManager
75 | var needStart = true
76 | manager?.activeNotifications?.forEach {
77 | needStart = (it.id == NOTICE_ID).not()
78 | }
79 | if (needStart) {
80 | startForeground(service)
81 | }
82 | }
83 |
84 |
85 | }
86 |
--------------------------------------------------------------------------------
/app/src/main/java/io/iftech/android/androidkeepalive/ForegroundService.kt:
--------------------------------------------------------------------------------
1 | package io.iftech.android.androidkeepalive
2 |
3 | import android.app.Service
4 | import android.content.Intent
5 | import android.os.IBinder
6 | import android.util.Log
7 | import java.util.*
8 |
9 | //前台服务
10 | class ForegroundService : Service() {
11 | private var logInt = 0
12 | private var timer: Timer? = null
13 | override fun onBind(intent: Intent?): IBinder? = null
14 |
15 | override fun onCreate() {
16 | super.onCreate()
17 | ForegroundNotification.startForeground(this)
18 | timer = Timer()
19 |
20 | timer?.schedule(object : TimerTask() {
21 | override fun run() {
22 | Log.d("ForegroundService", "Timer task ${logInt++}")
23 | }
24 | }, 0L, 300L)
25 |
26 | }
27 |
28 | override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
29 | if (null == intent) {
30 | //服务被系统kill掉之后重启进来的
31 | return START_NOT_STICKY
32 | }
33 | ForegroundNotification.startForegroundIfNeed(this)
34 | if (ServiceHelper.cancelNotice) {
35 | Log.d("ForegroundService", "onStartCommand: CancelNoticeService")
36 | val intent = Intent(this, CancelNoticeService::class.java)
37 | startService(intent)
38 | }
39 | return super.onStartCommand(intent, flags, startId)
40 | }
41 |
42 | override fun onDestroy() {
43 | super.onDestroy()
44 | Log.d("ForegroundService", "onDestroy: $timer")
45 |
46 | timer?.cancel()
47 | ForegroundNotification.stopForeground(this)
48 | // 重启自己
49 | // startForegroundService()
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/app/src/main/java/io/iftech/android/androidkeepalive/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package io.iftech.android.androidkeepalive
2 |
3 | import android.content.IntentFilter
4 | import android.os.Bundle
5 | import androidx.appcompat.app.AppCompatActivity
6 | import kotlinx.android.synthetic.main.activity_main.*
7 |
8 |
9 | class MainActivity : AppCompatActivity() {
10 | private var mOnepxReceiver: OnepxReceiver? = null
11 |
12 | override fun onCreate(savedInstanceState: Bundle?) {
13 | super.onCreate(savedInstanceState)
14 | setContentView(R.layout.activity_main)
15 | btnStartForeground.setOnClickListener {
16 | startForegroundService()
17 | }
18 | btnCancelNotice.setOnClickListener {
19 | ServiceHelper.cancelNotice = true
20 | startForegroundService()
21 | }
22 |
23 | btnLockAndHide.setOnClickListener {
24 | hideBackground(true)
25 | }
26 |
27 | btnIgnoreBattery.setOnClickListener {
28 | ignoreBattery()
29 | }
30 |
31 | btnAutoStart.setOnClickListener {
32 | startAutostartSetting()
33 | }
34 | btnAccessibility.setOnClickListener {
35 | startAccessibilitySetting()
36 | }
37 | btnOnepx.setOnClickListener {
38 | mOnepxReceiver = OnepxReceiver()
39 | val intentFilter = IntentFilter()
40 | intentFilter.addAction("android.intent.action.SCREEN_OFF")
41 | intentFilter.addAction("android.intent.action.SCREEN_ON")
42 | intentFilter.addAction("android.intent.action.USER_PRESENT")
43 | registerReceiver(mOnepxReceiver, intentFilter)
44 | }
45 | }
46 |
47 | override fun onDestroy() {
48 | super.onDestroy()
49 | unregisterReceiver(mOnepxReceiver)
50 | }
51 | }
--------------------------------------------------------------------------------
/app/src/main/java/io/iftech/android/androidkeepalive/MyAccessibility.kt:
--------------------------------------------------------------------------------
1 | package io.iftech.android.androidkeepalive
2 |
3 | import android.accessibilityservice.AccessibilityService
4 | import android.util.Log
5 | import android.view.accessibility.AccessibilityEvent
6 | import java.util.*
7 |
8 |
9 | class MyAccessibility : AccessibilityService() {
10 | private var logInt = 0
11 | private var timer: Timer? = null
12 |
13 | override fun onCreate() {
14 | super.onCreate()
15 | // 也可启动前台通知,效果更佳
16 | ForegroundNotification.startForeground(this)
17 |
18 | timer = Timer()
19 | timer?.schedule(object : TimerTask() {
20 | override fun run() {
21 | Log.d("MyAccessibility", "Timer task ${logInt++}")
22 | }
23 | }, 0L, 300L)
24 | }
25 |
26 | override fun onServiceConnected() {
27 | Log.d("MyAccessibility", "onServiceConnected")
28 | }
29 |
30 | override fun onAccessibilityEvent(enent: AccessibilityEvent) {
31 | //辅助功能事件监听 及 运行
32 | }
33 |
34 | override fun onInterrupt() {
35 | //辅助功能中断时
36 | }
37 |
38 | override fun onDestroy() {
39 | super.onDestroy()
40 | ForegroundNotification.stopForeground(this)
41 |
42 | timer?.cancel()
43 |
44 | }
45 | }
--------------------------------------------------------------------------------
/app/src/main/java/io/iftech/android/androidkeepalive/OnepxActivity.kt:
--------------------------------------------------------------------------------
1 | package io.iftech.android.androidkeepalive
2 |
3 | import android.app.Activity
4 | import android.content.BroadcastReceiver
5 | import android.content.Context
6 | import android.os.Bundle
7 | import android.view.Gravity
8 | import android.view.WindowManager
9 | import android.content.Intent
10 | import android.content.IntentFilter
11 | import android.os.PowerManager
12 | import android.util.Log
13 | import java.lang.IllegalArgumentException
14 |
15 | class OnepxActivity : Activity() {
16 | private var br: BroadcastReceiver? = null
17 | override fun onCreate(savedInstanceState: Bundle?) {
18 | super.onCreate(savedInstanceState)
19 | val window = window
20 | window.setGravity(Gravity.LEFT or Gravity.TOP)
21 | val params = window.attributes
22 | params.x = 0
23 | params.y = 0
24 | params.height = 1
25 | params.width = 1
26 | window.attributes = params
27 | //结束该页面的广播
28 | br = object : BroadcastReceiver() {
29 | override fun onReceive(context: Context, intent: Intent) {
30 | Log.d("OnepxActivity", "OnepxActivity finish == ==============")
31 | finish()
32 | }
33 | }
34 | registerReceiver(br, IntentFilter("finish activity"))
35 |
36 | checkScreenOn("onCreate")
37 | }
38 |
39 | /**
40 | * 检查屏幕状态 isScreenOn为true 屏幕“亮”结束该Activity
41 | */
42 | private fun checkScreenOn(methodName: String) {
43 | Log.d("OnepxActivity", "from call method: $methodName")
44 | val pm = this@OnepxActivity.getSystemService(POWER_SERVICE) as PowerManager
45 | val isScreenOn = pm.isScreenOn
46 | Log.d("OnepxActivity", "isScreenOn: $isScreenOn")
47 | if (isScreenOn) {
48 | finish()
49 | }
50 | }
51 |
52 | override fun onDestroy() {
53 | Log.d("OnepxActivity", "===onDestroy===")
54 | try {
55 | unregisterReceiver(br)
56 | } catch (e: IllegalArgumentException) {
57 | Log.d("OnepxActivity", "receiver is not resisted: $e")
58 | }
59 | super.onDestroy()
60 | }
61 |
62 | override fun onResume() {
63 | super.onResume()
64 | checkScreenOn("onResume")
65 | }
66 | }
--------------------------------------------------------------------------------
/app/src/main/java/io/iftech/android/androidkeepalive/OnepxReceiver.kt:
--------------------------------------------------------------------------------
1 | package io.iftech.android.androidkeepalive
2 |
3 | import android.content.BroadcastReceiver
4 | import android.content.Context
5 | import android.content.Intent
6 | import io.iftech.android.androidkeepalive.OnepxActivity
7 | import io.iftech.android.androidkeepalive.OnepxReceiver
8 | import android.content.IntentFilter
9 | import android.util.Log
10 |
11 | class OnepxReceiver : BroadcastReceiver() {
12 | override fun onReceive(context: Context, intent: Intent) {
13 | if (intent.action == Intent.ACTION_SCREEN_OFF) { //屏幕关闭的时候接受到广播
14 | val it = Intent(context, OnepxActivity::class.java)
15 | it.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
16 | context.startActivity(it)
17 | Log.d("OnepxReceiver", "-------screen off")
18 | } else if (intent.action == Intent.ACTION_SCREEN_ON) { //屏幕打开的时候发送广播 结束一像素
19 | context.sendBroadcast(Intent("finish activity"))
20 | Log.d("OnepxReceiver", "------screen on")
21 | val home = Intent(Intent.ACTION_MAIN)
22 | home.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP
23 | home.addCategory(Intent.CATEGORY_HOME)
24 | context.startActivity(home)
25 | }
26 | }
27 | }
--------------------------------------------------------------------------------
/app/src/main/java/io/iftech/android/androidkeepalive/ServiceHelper.kt:
--------------------------------------------------------------------------------
1 | package io.iftech.android.androidkeepalive
2 |
3 | object ServiceHelper {
4 |
5 | var cancelNotice = false
6 | }
--------------------------------------------------------------------------------
/app/src/main/java/io/iftech/android/androidkeepalive/utils/IfRom.kt:
--------------------------------------------------------------------------------
1 | package io.iftech.android.androidkeepalive.utils
2 |
3 | import android.os.Build
4 | import java.util.*
5 |
6 | @Suppress("unused")
7 | object IfRom {
8 |
9 | @Suppress("MemberVisibilityCanBePrivate")
10 | @JvmStatic
11 | val romInfo by lazy {
12 | Build.BRAND.toLowerCase(Locale.US)
13 | }
14 |
15 | @JvmStatic
16 | val isHuawei by lazy {
17 | romInfo in listOf("huawei", "honor")
18 | }
19 |
20 | @JvmStatic
21 | val isXiaomi by lazy {
22 | romInfo in listOf("xiaomi", "redmi")
23 | }
24 |
25 | @JvmStatic
26 | val isOppo by lazy {
27 | romInfo in listOf("oppo", "realme")
28 | }
29 |
30 | @JvmStatic
31 | val isOnePlus by lazy {
32 | romInfo == "oneplus"
33 | }
34 |
35 | @JvmStatic
36 | val isVivo by lazy {
37 | romInfo == "vivo"
38 | }
39 |
40 | @JvmStatic
41 | val isMeizu by lazy {
42 | romInfo == "meizu"
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v24/ic_launcher_foreground.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
15 |
18 |
21 |
22 |
23 |
24 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sinyu1012/AndroidKeepAlive/ce9f477d5fe424823f63e64f47db804cff830a65/app/src/main/res/drawable/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
10 |
15 |
20 |
25 |
30 |
35 |
40 |
45 |
50 |
55 |
60 |
65 |
70 |
75 |
80 |
85 |
90 |
95 |
100 |
105 |
110 |
115 |
120 |
125 |
130 |
135 |
140 |
145 |
150 |
155 |
160 |
165 |
170 |
171 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
20 |
21 |
30 |
31 |
40 |
41 |
50 |
51 |
60 |
61 |
70 |
71 |
80 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sinyu1012/AndroidKeepAlive/ce9f477d5fe424823f63e64f47db804cff830a65/app/src/main/res/mipmap-hdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sinyu1012/AndroidKeepAlive/ce9f477d5fe424823f63e64f47db804cff830a65/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sinyu1012/AndroidKeepAlive/ce9f477d5fe424823f63e64f47db804cff830a65/app/src/main/res/mipmap-mdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sinyu1012/AndroidKeepAlive/ce9f477d5fe424823f63e64f47db804cff830a65/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sinyu1012/AndroidKeepAlive/ce9f477d5fe424823f63e64f47db804cff830a65/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sinyu1012/AndroidKeepAlive/ce9f477d5fe424823f63e64f47db804cff830a65/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sinyu1012/AndroidKeepAlive/ce9f477d5fe424823f63e64f47db804cff830a65/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sinyu1012/AndroidKeepAlive/ce9f477d5fe424823f63e64f47db804cff830a65/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sinyu1012/AndroidKeepAlive/ce9f477d5fe424823f63e64f47db804cff830a65/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sinyu1012/AndroidKeepAlive/ce9f477d5fe424823f63e64f47db804cff830a65/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/values-night/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFBB86FC
4 | #FF6200EE
5 | #FF3700B3
6 | #FF03DAC5
7 | #FF018786
8 | #FF000000
9 | #FFFFFFFF
10 |
--------------------------------------------------------------------------------
/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | 杀不死的App
3 | 描述~
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values/style.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/values/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/accessibility_config.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/src/test/java/io/iftech/android/androidkeepalive/ExampleUnitTest.kt:
--------------------------------------------------------------------------------
1 | package io.iftech.android.androidkeepalive
2 |
3 | import org.junit.Test
4 |
5 | import org.junit.Assert.*
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * See [testing documentation](http://d.android.com/tools/testing).
11 | */
12 | class ExampleUnitTest {
13 | @Test
14 | fun addition_isCorrect() {
15 | assertEquals(4, 2 + 2)
16 | }
17 | }
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 | buildscript {
3 | repositories {
4 | google()
5 | mavenCentral()
6 | }
7 | dependencies {
8 | classpath "com.android.tools.build:gradle:7.0.0"
9 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21"
10 |
11 | // NOTE: Do not place your application dependencies here; they belong
12 | // in the individual module build.gradle files
13 | }
14 | }
15 |
16 | task clean(type: Delete) {
17 | delete rootProject.buildDir
18 | }
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
10 | # When configured, Gradle will run in incubating parallel mode.
11 | # This option should only be used with decoupled projects. More details, visit
12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13 | # org.gradle.parallel=true
14 | # AndroidX package structure to make it clearer which packages are bundled with the
15 | # Android operating system, and which are packaged with your app"s APK
16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn
17 | android.useAndroidX=true
18 | # Automatically convert third-party libraries to use AndroidX
19 | android.enableJetifier=true
20 | # Kotlin code style for this project: "official" or "obsolete":
21 | kotlin.code.style=official
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sinyu1012/AndroidKeepAlive/ce9f477d5fe424823f63e64f47db804cff830a65/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Thu Jan 06 10:20:50 CST 2022
2 | distributionBase=GRADLE_USER_HOME
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
4 | distributionPath=wrapper/dists
5 | zipStorePath=wrapper/dists
6 | zipStoreBase=GRADLE_USER_HOME
7 |
--------------------------------------------------------------------------------
/gradlew:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | #
4 | # Copyright 2015 the original author or authors.
5 | #
6 | # Licensed under the Apache License, Version 2.0 (the "License");
7 | # you may not use this file except in compliance with the License.
8 | # You may obtain a copy of the License at
9 | #
10 | # https://www.apache.org/licenses/LICENSE-2.0
11 | #
12 | # Unless required by applicable law or agreed to in writing, software
13 | # distributed under the License is distributed on an "AS IS" BASIS,
14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | # See the License for the specific language governing permissions and
16 | # limitations under the License.
17 | #
18 |
19 | ##############################################################################
20 | ##
21 | ## Gradle start up script for UN*X
22 | ##
23 | ##############################################################################
24 |
25 | # Attempt to set APP_HOME
26 | # Resolve links: $0 may be a link
27 | PRG="$0"
28 | # Need this for relative symlinks.
29 | while [ -h "$PRG" ] ; do
30 | ls=`ls -ld "$PRG"`
31 | link=`expr "$ls" : '.*-> \(.*\)$'`
32 | if expr "$link" : '/.*' > /dev/null; then
33 | PRG="$link"
34 | else
35 | PRG=`dirname "$PRG"`"/$link"
36 | fi
37 | done
38 | SAVED="`pwd`"
39 | cd "`dirname \"$PRG\"`/" >/dev/null
40 | APP_HOME="`pwd -P`"
41 | cd "$SAVED" >/dev/null
42 |
43 | APP_NAME="Gradle"
44 | APP_BASE_NAME=`basename "$0"`
45 |
46 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
47 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
48 |
49 | # Use the maximum available, or set MAX_FD != -1 to use that value.
50 | MAX_FD="maximum"
51 |
52 | warn () {
53 | echo "$*"
54 | }
55 |
56 | die () {
57 | echo
58 | echo "$*"
59 | echo
60 | exit 1
61 | }
62 |
63 | # OS specific support (must be 'true' or 'false').
64 | cygwin=false
65 | msys=false
66 | darwin=false
67 | nonstop=false
68 | case "`uname`" in
69 | CYGWIN* )
70 | cygwin=true
71 | ;;
72 | Darwin* )
73 | darwin=true
74 | ;;
75 | MINGW* )
76 | msys=true
77 | ;;
78 | NONSTOP* )
79 | nonstop=true
80 | ;;
81 | esac
82 |
83 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
84 |
85 |
86 | # Determine the Java command to use to start the JVM.
87 | if [ -n "$JAVA_HOME" ] ; then
88 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
89 | # IBM's JDK on AIX uses strange locations for the executables
90 | JAVACMD="$JAVA_HOME/jre/sh/java"
91 | else
92 | JAVACMD="$JAVA_HOME/bin/java"
93 | fi
94 | if [ ! -x "$JAVACMD" ] ; then
95 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
96 |
97 | Please set the JAVA_HOME variable in your environment to match the
98 | location of your Java installation."
99 | fi
100 | else
101 | JAVACMD="java"
102 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
103 |
104 | Please set the JAVA_HOME variable in your environment to match the
105 | location of your Java installation."
106 | fi
107 |
108 | # Increase the maximum file descriptors if we can.
109 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
110 | MAX_FD_LIMIT=`ulimit -H -n`
111 | if [ $? -eq 0 ] ; then
112 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
113 | MAX_FD="$MAX_FD_LIMIT"
114 | fi
115 | ulimit -n $MAX_FD
116 | if [ $? -ne 0 ] ; then
117 | warn "Could not set maximum file descriptor limit: $MAX_FD"
118 | fi
119 | else
120 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
121 | fi
122 | fi
123 |
124 | # For Darwin, add options to specify how the application appears in the dock
125 | if $darwin; then
126 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
127 | fi
128 |
129 | # For Cygwin or MSYS, switch paths to Windows format before running java
130 | if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
131 | APP_HOME=`cygpath --path --mixed "$APP_HOME"`
132 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
133 |
134 | JAVACMD=`cygpath --unix "$JAVACMD"`
135 |
136 | # We build the pattern for arguments to be converted via cygpath
137 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
138 | SEP=""
139 | for dir in $ROOTDIRSRAW ; do
140 | ROOTDIRS="$ROOTDIRS$SEP$dir"
141 | SEP="|"
142 | done
143 | OURCYGPATTERN="(^($ROOTDIRS))"
144 | # Add a user-defined pattern to the cygpath arguments
145 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then
146 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
147 | fi
148 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
149 | i=0
150 | for arg in "$@" ; do
151 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
152 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
153 |
154 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
155 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
156 | else
157 | eval `echo args$i`="\"$arg\""
158 | fi
159 | i=`expr $i + 1`
160 | done
161 | case $i in
162 | 0) set -- ;;
163 | 1) set -- "$args0" ;;
164 | 2) set -- "$args0" "$args1" ;;
165 | 3) set -- "$args0" "$args1" "$args2" ;;
166 | 4) set -- "$args0" "$args1" "$args2" "$args3" ;;
167 | 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
168 | 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
169 | 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
170 | 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
171 | 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
172 | esac
173 | fi
174 |
175 | # Escape application args
176 | save () {
177 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
178 | echo " "
179 | }
180 | APP_ARGS=`save "$@"`
181 |
182 | # Collect all arguments for the java command, following the shell quoting and substitution rules
183 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
184 |
185 | exec "$JAVACMD" "$@"
186 |
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @rem
2 | @rem Copyright 2015 the original author or authors.
3 | @rem
4 | @rem Licensed under the Apache License, Version 2.0 (the "License");
5 | @rem you may not use this file except in compliance with the License.
6 | @rem You may obtain a copy of the License at
7 | @rem
8 | @rem https://www.apache.org/licenses/LICENSE-2.0
9 | @rem
10 | @rem Unless required by applicable law or agreed to in writing, software
11 | @rem distributed under the License is distributed on an "AS IS" BASIS,
12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | @rem See the License for the specific language governing permissions and
14 | @rem limitations under the License.
15 | @rem
16 |
17 | @if "%DEBUG%" == "" @echo off
18 | @rem ##########################################################################
19 | @rem
20 | @rem Gradle startup script for Windows
21 | @rem
22 | @rem ##########################################################################
23 |
24 | @rem Set local scope for the variables with windows NT shell
25 | if "%OS%"=="Windows_NT" setlocal
26 |
27 | set DIRNAME=%~dp0
28 | if "%DIRNAME%" == "" set DIRNAME=.
29 | set APP_BASE_NAME=%~n0
30 | set APP_HOME=%DIRNAME%
31 |
32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter.
33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
34 |
35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
37 |
38 | @rem Find java.exe
39 | if defined JAVA_HOME goto findJavaFromJavaHome
40 |
41 | set JAVA_EXE=java.exe
42 | %JAVA_EXE% -version >NUL 2>&1
43 | if "%ERRORLEVEL%" == "0" goto execute
44 |
45 | echo.
46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
47 | echo.
48 | echo Please set the JAVA_HOME variable in your environment to match the
49 | echo location of your Java installation.
50 |
51 | goto fail
52 |
53 | :findJavaFromJavaHome
54 | set JAVA_HOME=%JAVA_HOME:"=%
55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
56 |
57 | if exist "%JAVA_EXE%" goto execute
58 |
59 | echo.
60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
61 | echo.
62 | echo Please set the JAVA_HOME variable in your environment to match the
63 | echo location of your Java installation.
64 |
65 | goto fail
66 |
67 | :execute
68 | @rem Setup the command line
69 |
70 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
71 |
72 |
73 | @rem Execute Gradle
74 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
75 |
76 | :end
77 | @rem End local scope for the variables with windows NT shell
78 | if "%ERRORLEVEL%"=="0" goto mainEnd
79 |
80 | :fail
81 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
82 | rem the _cmd.exe /c_ return code!
83 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
84 | exit /b 1
85 |
86 | :mainEnd
87 | if "%OS%"=="Windows_NT" endlocal
88 |
89 | :omega
90 |
--------------------------------------------------------------------------------
/pic/screen.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sinyu1012/AndroidKeepAlive/ce9f477d5fe424823f63e64f47db804cff830a65/pic/screen.jpg
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | dependencyResolutionManagement {
2 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
3 | repositories {
4 | google()
5 | mavenCentral()
6 | jcenter() // Warning: this repository is going to shut down soon
7 | }
8 | }
9 | rootProject.name = "AndroidKeepAlive"
10 | include ':app'
11 |
--------------------------------------------------------------------------------