Bài phân tích dưới đây thể hiện việc “Các yếu tố ảnh hưởng đến khả
năng sinh sản của phụ nữ”.
Bộ dữ liệu chứa 254.654 quan sát trên tổng 5 biến được thu thập tù
việc điều tra dân số Hoa Kỳ năm 1980 về phụ nữ đã kết hôn ở độ tuổi
21–35 và đã có hai con trở lên.
1. Lập bảng tần số và bảng tần suất
1.1 Biến morekids
table(dt$morekids)
##
## no yes
## 157742 96912
table(dt$morekids)/sum(table(dt$morekids))
##
## no yes
## 0.61944 0.38056
Nhận xét: Từ kết quả trên ta thấy rằng có 157742 trường hợp người mẹ
không có thêm con chiếm 61,94% và có 96912 trường hợp người mẹ có thêm
con chiếm 38,06%.
1.2 Biến gender1
table(dt$gender1)
##
## female male
## 123670 130984
table(dt$gender1)/sum(table(dt$gender1))
##
## female male
## 0.48564 0.51436
Nhận xét: Từ kết quả trên ta thấy rằng có 123670 trường hợp con đầu
lòng là nữ chiếm 48,56% và có 130948 trường hợp con đầu lòng là nam
chiếm 51,44%.
1.3 Biến gender2
table(dt$gender2)
##
## female male
## 124131 130523
table(dt$gender2)/sum(table(dt$gender2))
##
## female male
## 0.48745 0.51255
Nhận xét: Từ kết quả trên ta thấy rằng có 124131 trường hợp con thứ
hai là nữ chiếm 48,74% và có 130523 trường hợp con thứ hai là nam chiếm
51,26%.
1.4 Biến afam
table(dt$afam)
##
## no yes
## 241498 13156
table(dt$afam)/sum(table(dt$afam))
##
## no yes
## 0.948338 0.051662
Nhận xét: Từ kết quả trên ta thấy rằng có 241498 trường hợp mẹ không
phải là người Mỹ gốc Phi chiếm 94,834% và có 13156 trường hợp mẹ là
người Mỹ gốc Phi chiếm 5,166%.
1.5 Biến hispanic
table(dt$hispanic)
##
## no yes
## 235757 18897
table(dt$hispanic)/sum(table(dt$hispanic))
##
## no yes
## 0.925793 0.074207
Nhận xét: Từ kết quả trên ta thấy rằng có 235757 trường hợp mẹ không
phải là người gốc Tây Ban Nha chiếm 92,579% và có 18897 trường hợp mẹ là
người gốc Tây Ban Nha chiếm 7,421%.
2. Vẽ đồ thị
2.1 Biến morekids
library(ggplot2)
ggplot(dt, aes(x = morekids)) +
geom_bar(fill = "skyblue", color = "black")

2.2 Biến gender1
library(ggplot2)
ggplot(dt, aes(x = gender1)) +
geom_bar(fill = "pink", color = "black")

2.3 Biến gender2
library(ggplot2)
ggplot(dt, aes(x = gender2)) +
geom_bar(fill = "red", color = "black")

2.4 Biến afam
library(ggplot2)
ggplot(dt, aes(x = afam)) +
geom_bar(fill = "yellow", color = "black")

2.5 Biến hispanic
library(ggplot2)
ggplot(dt, aes(x = hispanic)) +
geom_bar(fill = "green", color = "black")

3. Ước lượng tỷ lệ
3.1 Biến morekids và gender1
library(DescTools)
## Warning: package 'DescTools' was built under R version 4.3.3
##
## Attaching package: 'DescTools'
## The following object is masked from 'package:car':
##
## Recode
a <- table(dt$morekids,dt$gender1)
addmargins(a)
##
## female male Sum
## no 76044 81698 157742
## yes 47626 49286 96912
## Sum 123670 130984 254654
Nhận xét: Nhìn vào kết quả ta thấy rằng tỷ lệ người mẹ không có con
đầu lòng là nữ chiếm \(\frac{76044}{123670}=61,5\)% và tỷ lệ người
mẹ không có con đầu lòng là nam chiếm \(\frac{81698}{130984}=62,4\)%; tỷ lệ người
mẹ có con đầu lòng là nữ chiếm \(\frac{47626}{123670}=38,5\)% và tỷ lệ người
mẹ có con đầu lòng là nam chiếm \(\frac{49286}{130984}=37,6\)%.
3.2 Biến morekids và gender2
library(DescTools)
a <- table(dt$morekids,dt$gender2)
addmargins(a)
##
## female male Sum
## no 76361 81381 157742
## yes 47770 49142 96912
## Sum 124131 130523 254654
Nhận xét: Nhìn vào kết quả ta thấy rằng tỷ lệ người mẹ không có con
thứ hai là nữ chiếm \(\frac{76361}{124131}=61,5\)% và tỷ lệ người
mẹ không có con thứ hai là nam chiếm \(\frac{81381}{130523}=62,3\)%; tỷ lệ người
mẹ có con đầu lòng là nữ chiếm \(\frac{47770}{124131}=38,4\)% và tỷ lệ người
mẹ có con đầu lòng là nam chiếm \(\frac{49142}{130523}=37,6\)%.
3.3 Biến morekids và afam
library(DescTools)
a <- table(dt$morekids,dt$afam)
addmargins(a)
##
## no yes Sum
## no 150611 7131 157742
## yes 90887 6025 96912
## Sum 241498 13156 254654
Nhận xét: Nhìn vào kết quả ta thấy rằng tỷ lệ người mẹ không phải là
người Mỹ gốc Phi không có thêm con chiếm \(\frac{150611}{241498}=62,3\)% và tỷ lệ
người mẹ không là người Mỹ gốc Phi có thêm con chiếm \(\frac{7131}{13156}=54,2\)%; tỷ lệ người mẹ
là người Mỹ gốc Phi không có thêm con chiếm \(\frac{90887}{241498}=37,6\)% và tỷ lệ mẹ là
người Mỹ gốc Phi có thêm con chiếm \(\frac{6025}{13156}=45,78\)%.
3.4 Biến morekids và hispanic
library(DescTools)
a <- table(dt$morekids,dt$hispanic)
addmargins(a)
##
## no yes Sum
## no 148554 9188 157742
## yes 87203 9709 96912
## Sum 235757 18897 254654
Nhận xét: Nhận xét: Nhìn vào kết quả ta thấy rằng tỷ lệ người mẹ
không phải là người Tây Ban Nha không có thêm con chiếm \(\frac{148554}{235757}=63,01\)% và tỷ lệ
người mẹ không là người Tây Ban Nha có thêm con chiếm \(\frac{9188}{18897}=48,6\)%; tỷ lệ người mẹ
là người Tây Ban Nha không có thêm con chiếm \(\frac{87203}{235757}=36,9\)% và tỷ lệ mẹ là
người Tây Ban Nha có thêm con chiếm \(\frac{9709}{18897}=51,4\)%.
4. Ước lượng chênh lệch 2 tỷ lệ
4.1 Biến morekids và gender1
mtht <- table(dt$morekids, dt$gender1)
OddsRatio(mtht)
## [1] 0.96324
Nhận xét: Tỷ lệ odds được tính là 0,9632 bé hơn 1, ta có thể kết luận
rằng sự liên kết giữa việc có thêm con và giới tính của đứa con đầu tiên
là yếu hoặc không đáng kể. Điều này có nghĩa là giới tính của đứa con
đầu tiên không ảnh hưởng đáng kể đến khả năng có thêm con.
4.2 Biến morekids và gender2
mtht <- table(dt$morekids, dt$gender2)
OddsRatio(mtht)
## [1] 0.96526
Nhận xét: Tỷ lệ odds được tính là 0,96526 bé hơn 1, ta có thể kết
luận rằng sự liên kết giữa việc có thêm con và giới tính của đứa con thứ
hai là yếu hoặc không đáng kể. Điều này có nghĩa là giới tính của đứa
con thứ hai không ảnh hưởng đáng kể đến khả năng có thêm con.
4.3 Biến morekidsr và afam
mtht <- table(dt$morekids, dt$afam)
OddsRatio(mtht)
## [1] 1.4001
Nhận xét: Tỷ lệ Odds được tính là 1,4001 lớn hơn 1 ta có thể kết luận
rằng biến afam có ảnh hưởng dương đến khả năng có thêm con. Điều này có
nghĩa rằng biến afam có xác suất cao hơn để có thêm con so với nhóm
không thuộc afam.
4.4 Biến morekidsr và hispanic
mtht <- table(dt$morekids, dt$hispanic)
OddsRatio(mtht)
## [1] 1.8001
Nhận xét: Tỷ lệ Odds được tính là 1,8001 lớn hơn 1 ta có thể kết luận
rằng biến hispanic có ảnh hưởng dương đến khả năng có thêm con. Điều này
có nghĩa rằng biến hispanic có xác suất cao hơn để có thêm con so với
nhóm không thuộc hispanic.
5. Ước lượng Relative Risk
5.1 Biến morekids và gender1
table(dt$morekids,dt$gender1)
##
## female male
## no 76044 81698
## yes 47626 49286
m <- matrix(c(76044, 81698, 47626, 49286), nrow = 2)
RelRisk(m, conf.level = .95)
## rel. risk lwr.ci upr.ci
## 0.98584 0.97985 0.99187
Nhận xét: Tỷ lệ rủi ro được tính là 0,98584 nhỏ hơn 1. Điều này cho
thấy việc có thêm con trong nhóm gender1 thấp hơn so với các nhóm còn
lại. Khoảng tin cậy 95% từ 0,97985 đến 0,99187, khoảng này không bao gồm
1 và rất hẹp, cho thấy rằng tỷ lệ rủi ro 0,98584 có ý nghĩa thống kê, sự
khác biệt này không phải do ngẫu nhiên mà có.
5.2 Biến morekids và gender2
table(dt$morekids,dt$gender2)
##
## female male
## no 76361 81381
## yes 47770 49142
m <- matrix(c(76361, 81381, 47770, 49142), nrow = 2)
RelRisk(m, conf.level = .95)
## rel. risk lwr.ci upr.ci
## 0.98663 0.98064 0.99266
Nhận xét: Tỷ lệ rủi ro được tính là 0,98663 nhỏ hơn 1. Điều này cho
thấy việc có thêm con trong nhóm gender2 thấp hơn so với các nhóm còn
lại. Khoảng tin cậy 95% từ 0,98064 đến 0,99266, khoảng này không bao gồm
1 và rất hẹp, cho thấy rằng tỷ lệ rủi ro 0,98663 có ý nghĩa thống kê, sự
khác biệt này không phải do ngẫu nhiên mà có.
5.3 Biến morekids và afam
table(dt$morekids,dt$afam)
##
## no yes
## no 150611 7131
## yes 90887 6025
m <- matrix(c(150611, 7131, 90887, 6025), nrow = 2)
RelRisk(m, conf.level = .95)
## rel. risk lwr.ci upr.ci
## 1.1506 1.1325 1.1693
Nhận xét: Tỷ lệ rủi ro được tính là 1,1506 lớn hơn 1. Điều này cho
thấy việc có thêm con trong nhóm afam cao hơn so với các nhóm còn lại.
Khoảng tin cậy 95% từ 1,1325 đến 1,1693, khoảng này bao gồm 1, cho thấy
rằng tỷ lệ rủi ro thực sự có thể là 1 nên không có bằng chứng thống kê
đủ mạnh để khẳng định sự khác biệt.
5.4 Biến morekids và hispanic
table(dt$morekids,dt$hispanic)
##
## no yes
## no 148554 9188
## yes 87203 9709
m <- matrix(c(148554, 9188, 87203, 9709), nrow = 2)
RelRisk(m, conf.level = .95)
## rel. risk lwr.ci upr.ci
## 1.2960 1.2768 1.3156
Nhận xét: Tỷ lệ rủi ro được tính là 1,2960 lớn hơn 1. Điều này cho
thấy việc có thêm con trong nhóm hispanic cao hơn so với các nhóm còn
lại. Khoảng tin cậy 95% từ 1,2768 đến 1,3156, khoảng này bao gồm 1, cho
thấy rằng tỷ lệ rủi ro thực sự có thể là 1 nên không có bằng chứng thống
kê đủ mạnh để khẳng định sự khác biệt.
6. Ước lượng Odd ratio
6.1 Biến morekids và gender1
mtht <- table(dt$morekids, dt$gender1)
OddsRatio(mtht, conf.level = .95)
## odds ratio lwr.ci upr.ci
## 0.96324 0.94794 0.97878
Nhận xét: Kết quả Odd ratio được tính là 0,96324 rất gần với 1,
khoảng tin cậy 95% từ 0,94794 đến 0,97878 không bao gồm 1 nên kết quả
Odd ratio không có đủ bằng chứng để kết luận rằng có sự khác biệt về
Odds giữa hai nhóm.
6.2 Biến morekids và gender2
mtht <- table(dt$morekids, dt$gender2)
OddsRatio(mtht, conf.level = .95)
## odds ratio lwr.ci upr.ci
## 0.96526 0.94994 0.98084
Nhận xét: Kết quả Odd ratio được tính là 0,96526 rất gần với 1,
khoảng tin cậy 95% từ 0,94994 đến 0,98084 không bao gồm 1 nên kết quả
Odd ratio không có đủ bằng chứng để kết luận rằng có sự khác biệt về
Odds giữa hai nhóm.
6.3 Biến morekids và afam
mtht <- table(dt$morekids, dt$afam)
OddsRatio(mtht, conf.level = .95)
## odds ratio lwr.ci upr.ci
## 1.4001 1.3516 1.4504
Nhận xét: Kết quả Odd ratio được tính là 1,4001 lớn hơn 1, khoảng tin
cậy 95% từ 1,3516 đến 1,4504 bao gồm 1 nên kết quả Odd ratio không có ý
nghĩa thống kê. Điều này có nghĩa là không có đủ bằng chứng để kết luận
rằng có sự khác biệt đáng kể về Odds giữa hai nhóm.
6.4 Biến morekids và hispanic
mtht <- table(dt$morekids, dt$hispanic)
OddsRatio(mtht, conf.level = .95)
## odds ratio lwr.ci upr.ci
## 1.8001 1.7474 1.8545
Nhận xét: Kết quả Odd ratio được tính là 1,8001 lớn hơn 1, khoảng tin
cậy 95% từ 1,7474 đến 1,8545 bao gồm 1 nên kết quả Odd ratio không có ý
nghĩa thống kê. Điều này có nghĩa là không có đủ bằng chứng để kết luận
rằng có sự khác biệt đáng kể về Odds giữa hai nhóm.
LS0tDQp0aXRsZTogIkJUVk4gMiINCmF1dGhvcjogIm10aHRodW9uZyINCmRhdGU6ICJgciBmb3JtYXQoU3lzLnRpbWUoKSwgJyVIOiVNOiVTLCAlZCAtICVtIC0gJVknKWAiDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6DQogICAgdG9jOiBUUlVFDQogICAgdG9jX2Zsb2F0OiBUUlVFDQogICAgZGZfcHJpbnQ6IHBhZ2VkDQogICAgY29kZV9kb3dubG9hZDogdHJ1ZQ0KICAgIGNvZGVfZm9sZGluZzogaGlkZQ0KICBwZGZfZG9jdW1lbnQ6DQogICAgZXh0cmFfZGVwZW5kZW5jaWVzOg0KICAgICAgdmlldG5hbTogdXRmOA0KICAgIHRvYzogeWVzDQogICAgbnVtYmVyX3NlY3Rpb25zOiB5ZXMNCiAgd29yZF9kb2N1bWVudDoNCiAgICB0b2M6IHllcw0KICAgIG51bWJlcl9zZWN0aW9uczogeWVzDQpnZW9tZXRyeToNCiAgICAgIC0gaW5uZXI9M2NtDQogICAgICAtIG91dGVyPTRjbQ0KICAgICAgLSB0b3A9M2NtDQogICAgICAtIGJvdHRvbT00Y20NCiAgICAgIC0gaGVhZHNlcD0yMnB0DQogICAgICAtIGhlYWRoZWlnaHQ9MTFwdA0KICAgICAgLSBmb290c2tpcD0zM3B0DQogICAgICAtIGlnbm9yZWhlYWQNCiAgICAgIC0gaWdub3JlZm9vdA0KICAgICAgLSBoZWlnaHRyb3VuZGVkDQotLS0NCkLDoGkgcGjDom4gdMOtY2ggZMaw4bubaSDEkcOieSB0aOG7gyBoaeG7h24gdmnhu4djICJDw6FjIHnhur91IHThu5Eg4bqjbmggaMaw4bufbmcgxJHhur9uIGto4bqjIG7Eg25nIHNpbmggc+G6o24gY+G7p2EgcGjhu6UgbuG7ryIuDQoNCkLhu5kgZOG7ryBsaeG7h3UgY2jhu6lhIDI1NC42NTQgcXVhbiBzw6F0IHRyw6puIHThu5VuZyA1IGJp4bq/biDEkcaw4bujYyB0aHUgdGjhuq1wIHTDuSB2aeG7h2MgxJFp4buBdSB0cmEgZMOibiBz4buRIEhvYSBL4buzIG7Eg20gMTk4MCB24buBIHBo4bulIG7hu68gxJHDoyBr4bq/dCBow7RuIOG7nyDEkeG7mSB0deG7lWkgMjHigJMzNSB2w6AgxJHDoyBjw7MgaGFpIGNvbiB0cuG7nyBsw6puLg0KDQoqQmnhur9uIHBo4bulIHRodeG7mWMqDQoNCi0gbW9yZWtpZHM6IE5nxrDhu51pIG3hurkgxJHDsyBjw7Mgbmhp4buBdSBoxqFuIDIgY29uIGtow7RuZz8gKHllczogY8OzLCBubzoga2jDtG5nKQ0KDQoqQmnhur9uIMSR4buZYyBs4bqtcCoNCg0KLSBnZW5kZXIxOiBDb24gxJHhuqd1IGzDsm5nIG1hbmcgZ2nhu5tpIHTDrW5oIG7DoG8/IChtYWxlOiBuYW0sIGZlbWFsZTogbuG7rykNCg0KLSBnZW5kZXIyOiBDb24gdGjhu6kgaGFpIG1hbmcgZ2nhu5tpIHTDrW5oIG7DoG8/IChtYWxlOiBuYW0sIGZlbWFsZTogbuG7rykNCg0KLSBhZmFtOiBOZ8aw4budaSBt4bq5IGPDsyBwaOG6o2kgbMOgIG5nxrDhu51pIE3hu7kgZ+G7kWMgUGhpIGtow7RuZz8gKHllczogY8OzLCBubzoga2jDtG5nKQ0KDQotIGhpc3BhbmljOiBOZ8aw4budaSBt4bq5IGPDsyBwaOG6o2kgbMOgIG5nxrDhu51pIGfhu5FjIFTDonkgQmFuIE5oYSBraMO0bmc/ICh5ZXM6IGPDsywgbm86IGtow7RuZykNCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUsIG9wdGlvbnMoZGlnaXRzID0gNSksICBhdHRyLnNvdXJjZT0nLm51bWJlckxpbmVzJykNCmxpYnJhcnkocmVhZHIpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShrbml0cikNCmxpYnJhcnkoa2FibGVFeHRyYSkNCmxpYnJhcnkocm1hcmtkb3duKQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KEFFUikNCmR0IDwtIHJlYWRfY3N2KCJGZXJ0aWxpdHkuY3N2IikNCmhlYWQoZHQpDQpgYGANCg0KIyAqKjEuIEzhuq1wIGLhuqNuZyB04bqnbiBz4buRIHbDoCBi4bqjbmcgdOG6p24gc3XhuqV0KioNCg0KIyMgKioxLjEgQmnhur9uIG1vcmVraWRzKioNCmBgYHtyfQ0KdGFibGUoZHQkbW9yZWtpZHMpDQpgYGANCmBgYHtyfQ0KdGFibGUoZHQkbW9yZWtpZHMpL3N1bSh0YWJsZShkdCRtb3Jla2lkcykpDQpgYGANCg0KTmjhuq1uIHjDqXQ6IFThu6sga+G6v3QgcXXhuqMgdHLDqm4gdGEgdGjhuqV5IHLhurFuZyBjw7MgMTU3NzQyIHRyxrDhu51uZyBo4bujcCBuZ8aw4budaSBt4bq5IGtow7RuZyBjw7MgdGjDqm0gY29uIGNoaeG6v20gNjEsOTQlIHbDoCBjw7MgOTY5MTIgdHLGsOG7nW5nIGjhu6NwIG5nxrDhu51pIG3hurkgY8OzIHRow6ptIGNvbiBjaGnhur9tIDM4LDA2JS4NCg0KIyMgKioxLjIgQmnhur9uIGdlbmRlcjEqKg0KYGBge3J9DQp0YWJsZShkdCRnZW5kZXIxKQ0KYGBgDQpgYGB7cn0NCnRhYmxlKGR0JGdlbmRlcjEpL3N1bSh0YWJsZShkdCRnZW5kZXIxKSkNCmBgYA0KDQpOaOG6rW4geMOpdDogVOG7qyBr4bq/dCBxdeG6oyB0csOqbiB0YSB0aOG6pXkgcuG6sW5nIGPDsyAxMjM2NzAgdHLGsOG7nW5nIGjhu6NwIGNvbiDEkeG6p3UgbMOybmcgbMOgIG7hu68gY2hp4bq/bSA0OCw1NiUgdsOgIGPDsyAxMzA5NDggdHLGsOG7nW5nIGjhu6NwIGNvbiDEkeG6p3UgbMOybmcgbMOgIG5hbSBjaGnhur9tIDUxLDQ0JS4NCg0KIyMgKioxLjMgQmnhur9uIGdlbmRlcjIqKg0KYGBge3J9DQp0YWJsZShkdCRnZW5kZXIyKQ0KYGBgDQpgYGB7cn0NCnRhYmxlKGR0JGdlbmRlcjIpL3N1bSh0YWJsZShkdCRnZW5kZXIyKSkNCmBgYA0KDQpOaOG6rW4geMOpdDogVOG7qyBr4bq/dCBxdeG6oyB0csOqbiB0YSB0aOG6pXkgcuG6sW5nIGPDsyAxMjQxMzEgdHLGsOG7nW5nIGjhu6NwIGNvbiB0aOG7qSBoYWkgbMOgIG7hu68gY2hp4bq/bSA0OCw3NCUgdsOgIGPDsyAxMzA1MjMgdHLGsOG7nW5nIGjhu6NwIGNvbiB0aOG7qSBoYWkgbMOgIG5hbSBjaGnhur9tIDUxLDI2JS4gDQoNCiMjICoqMS40IEJp4bq/biBhZmFtKioNCmBgYHtyfQ0KdGFibGUoZHQkYWZhbSkNCmBgYA0KYGBge3J9DQp0YWJsZShkdCRhZmFtKS9zdW0odGFibGUoZHQkYWZhbSkpDQpgYGANCg0KTmjhuq1uIHjDqXQ6IFThu6sga+G6v3QgcXXhuqMgdHLDqm4gdGEgdGjhuqV5IHLhurFuZyBjw7MgMjQxNDk4IHRyxrDhu51uZyBo4bujcCBt4bq5IGtow7RuZyBwaOG6o2kgbMOgIG5nxrDhu51pIE3hu7kgZ+G7kWMgUGhpIGNoaeG6v20gOTQsODM0JSB2w6AgY8OzIDEzMTU2IHRyxrDhu51uZyBo4bujcCBt4bq5IGzDoCBuZ8aw4budaSBN4bu5IGfhu5FjIFBoaSBjaGnhur9tIDUsMTY2JS4gDQoNCiMjICoqMS41IEJp4bq/biBoaXNwYW5pYyoqDQpgYGB7cn0NCnRhYmxlKGR0JGhpc3BhbmljKQ0KYGBgDQpgYGB7cn0NCnRhYmxlKGR0JGhpc3BhbmljKS9zdW0odGFibGUoZHQkaGlzcGFuaWMpKQ0KYGBgDQoNCk5o4bqtbiB4w6l0OiBU4burIGvhur90IHF14bqjIHRyw6puIHRhIHRo4bqleSBy4bqxbmcgY8OzIDIzNTc1NyB0csaw4budbmcgaOG7o3AgbeG6uSBraMO0bmcgcGjhuqNpIGzDoCBuZ8aw4budaSBn4buRYyBUw6J5IEJhbiBOaGEgY2hp4bq/bSA5Miw1NzklIHbDoCBjw7MgMTg4OTcgdHLGsOG7nW5nIGjhu6NwIG3hurkgbMOgIG5nxrDhu51pIGfhu5FjIFTDonkgQmFuIE5oYSBjaGnhur9tIDcsNDIxJS4NCg0KIyAqKjIuIFbhur0gxJHhu5MgdGjhu4sqKg0KDQojIyAqKjIuMSBCaeG6v24gbW9yZWtpZHMqKg0KYGBge3J9DQpsaWJyYXJ5KGdncGxvdDIpDQpnZ3Bsb3QoZHQsIGFlcyh4ID0gbW9yZWtpZHMpKSArDQogIGdlb21fYmFyKGZpbGwgPSAic2t5Ymx1ZSIsIGNvbG9yID0gImJsYWNrIikgDQpgYGANCg0KIyMgKioyLjIgQmnhur9uIGdlbmRlcjEqKg0KYGBge3J9DQpsaWJyYXJ5KGdncGxvdDIpDQpnZ3Bsb3QoZHQsIGFlcyh4ID0gZ2VuZGVyMSkpICsNCiAgZ2VvbV9iYXIoZmlsbCA9ICJwaW5rIiwgY29sb3IgPSAiYmxhY2siKSANCmBgYA0KDQojIyAqKjIuMyBCaeG6v24gZ2VuZGVyMioqDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNCmdncGxvdChkdCwgYWVzKHggPSBnZW5kZXIyKSkgKw0KICBnZW9tX2JhcihmaWxsID0gInJlZCIsIGNvbG9yID0gImJsYWNrIikgDQpgYGANCg0KIyMgKioyLjQgQmnhur9uIGFmYW0qKg0KYGBge3J9DQpsaWJyYXJ5KGdncGxvdDIpDQpnZ3Bsb3QoZHQsIGFlcyh4ID0gYWZhbSkpICsNCiAgZ2VvbV9iYXIoZmlsbCA9ICJ5ZWxsb3ciLCBjb2xvciA9ICJibGFjayIpIA0KYGBgDQoNCiMjICoqMi41IEJp4bq/biBoaXNwYW5pYyoqDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNCmdncGxvdChkdCwgYWVzKHggPSBoaXNwYW5pYykpICsNCiAgZ2VvbV9iYXIoZmlsbCA9ICJncmVlbiIsIGNvbG9yID0gImJsYWNrIikgDQpgYGANCg0KIyAqKjMuIMav4bubYyBsxrDhu6NuZyB04bu3IGzhu4cqKg0KDQojIyAqKjMuMSBCaeG6v24gbW9yZWtpZHMgdsOgIGdlbmRlcjEqKg0KYGBge3J9DQpsaWJyYXJ5KERlc2NUb29scykNCmEgPC0gdGFibGUoZHQkbW9yZWtpZHMsZHQkZ2VuZGVyMSkNCmFkZG1hcmdpbnMoYSkNCmBgYA0KDQpOaOG6rW4geMOpdDogTmjDrG4gdsOgbyBr4bq/dCBxdeG6oyB0YSB0aOG6pXkgcuG6sW5nIHThu7cgbOG7hyBuZ8aw4budaSBt4bq5IGtow7RuZyBjw7MgY29uIMSR4bqndSBsw7JuZyBsw6AgbuG7ryBjaGnhur9tICRcZnJhY3s3NjA0NH17MTIzNjcwfT02MSw1JCUgdsOgIHThu7cgbOG7hyBuZ8aw4budaSBt4bq5IGtow7RuZyBjw7MgY29uIMSR4bqndSBsw7JuZyBsw6AgbmFtIGNoaeG6v20gJFxmcmFjezgxNjk4fXsxMzA5ODR9PTYyLDQkJTsgdOG7tyBs4buHIG5nxrDhu51pIG3hurkgY8OzIGNvbiDEkeG6p3UgbMOybmcgbMOgIG7hu68gY2hp4bq/bSAkXGZyYWN7NDc2MjZ9ezEyMzY3MH09MzgsNSQlIHbDoCB04bu3IGzhu4cgbmfGsOG7nWkgbeG6uSBjw7MgY29uIMSR4bqndSBsw7JuZyBsw6AgbmFtIGNoaeG6v20gJFxmcmFjezQ5Mjg2fXsxMzA5ODR9PTM3LDYkJS4NCg0KIyMgKiozLjIgQmnhur9uIG1vcmVraWRzIHbDoCBnZW5kZXIyKioNCmBgYHtyfQ0KbGlicmFyeShEZXNjVG9vbHMpDQphIDwtIHRhYmxlKGR0JG1vcmVraWRzLGR0JGdlbmRlcjIpDQphZGRtYXJnaW5zKGEpDQpgYGANCg0KTmjhuq1uIHjDqXQ6IE5ow6xuIHbDoG8ga+G6v3QgcXXhuqMgdGEgdGjhuqV5IHLhurFuZyB04bu3IGzhu4cgbmfGsOG7nWkgbeG6uSBraMO0bmcgY8OzIGNvbiB0aOG7qSBoYWkgbMOgIG7hu68gY2hp4bq/bSAkXGZyYWN7NzYzNjF9ezEyNDEzMX09NjEsNSQlIHbDoCB04bu3IGzhu4cgbmfGsOG7nWkgbeG6uSBraMO0bmcgY8OzIGNvbiB0aOG7qSBoYWkgbMOgIG5hbSBjaGnhur9tICRcZnJhY3s4MTM4MX17MTMwNTIzfT02MiwzJCU7IHThu7cgbOG7hyBuZ8aw4budaSBt4bq5IGPDsyBjb24gxJHhuqd1IGzDsm5nIGzDoCBu4buvIGNoaeG6v20gJFxmcmFjezQ3NzcwfXsxMjQxMzF9PTM4LDQkJSB2w6AgdOG7tyBs4buHIG5nxrDhu51pIG3hurkgY8OzIGNvbiDEkeG6p3UgbMOybmcgbMOgIG5hbSBjaGnhur9tICRcZnJhY3s0OTE0Mn17MTMwNTIzfT0zNyw2JCUuDQoNCiMjICoqMy4zIEJp4bq/biBtb3Jla2lkcyB2w6AgYWZhbSoqDQpgYGB7cn0NCmxpYnJhcnkoRGVzY1Rvb2xzKQ0KYSA8LSB0YWJsZShkdCRtb3Jla2lkcyxkdCRhZmFtKQ0KYWRkbWFyZ2lucyhhKQ0KYGBgDQoNCk5o4bqtbiB4w6l0OiBOaMOsbiB2w6BvIGvhur90IHF14bqjIHRhIHRo4bqleSBy4bqxbmcgdOG7tyBs4buHIG5nxrDhu51pIG3hurkga2jDtG5nIHBo4bqjaSBsw6AgbmfGsOG7nWkgTeG7uSBn4buRYyBQaGkga2jDtG5nIGPDsyB0aMOqbSBjb24gY2hp4bq/bSAkXGZyYWN7MTUwNjExfXsyNDE0OTh9PTYyLDMkJSB2w6AgdOG7tyBs4buHIG5nxrDhu51pIG3hurkga2jDtG5nIGzDoCBuZ8aw4budaSBN4bu5IGfhu5FjIFBoaSBjw7MgdGjDqm0gY29uIGNoaeG6v20gJFxmcmFjezcxMzF9ezEzMTU2fT01NCwyJCU7IHThu7cgbOG7hyBuZ8aw4budaSBt4bq5IGzDoCBuZ8aw4budaSBN4bu5IGfhu5FjIFBoaSBraMO0bmcgY8OzIHRow6ptIGNvbiBjaGnhur9tICRcZnJhY3s5MDg4N317MjQxNDk4fT0zNyw2JCUgdsOgIHThu7cgbOG7hyBt4bq5IGzDoCBuZ8aw4budaSBN4bu5IGfhu5FjIFBoaSBjw7MgdGjDqm0gY29uIGNoaeG6v20gJFxmcmFjezYwMjV9ezEzMTU2fT00NSw3OCQlLg0KDQojIyAqKjMuNCBCaeG6v24gbW9yZWtpZHMgdsOgIGhpc3BhbmljKioNCmBgYHtyfQ0KbGlicmFyeShEZXNjVG9vbHMpDQphIDwtIHRhYmxlKGR0JG1vcmVraWRzLGR0JGhpc3BhbmljKQ0KYWRkbWFyZ2lucyhhKQ0KYGBgDQoNCk5o4bqtbiB4w6l0OiBOaOG6rW4geMOpdDogTmjDrG4gdsOgbyBr4bq/dCBxdeG6oyB0YSB0aOG6pXkgcuG6sW5nIHThu7cgbOG7hyBuZ8aw4budaSBt4bq5IGtow7RuZyBwaOG6o2kgbMOgIG5nxrDhu51pIFTDonkgQmFuIE5oYSBraMO0bmcgY8OzIHRow6ptIGNvbiBjaGnhur9tICRcZnJhY3sxNDg1NTR9ezIzNTc1N309NjMsMDEkJSB2w6AgdOG7tyBs4buHIG5nxrDhu51pIG3hurkga2jDtG5nIGzDoCBuZ8aw4budaSBUw6J5IEJhbiBOaGEgY8OzIHRow6ptIGNvbiBjaGnhur9tICRcZnJhY3s5MTg4fXsxODg5N309NDgsNiQlOyB04bu3IGzhu4cgbmfGsOG7nWkgbeG6uSBsw6AgbmfGsOG7nWkgVMOieSBCYW4gTmhhIGtow7RuZyBjw7MgdGjDqm0gY29uIGNoaeG6v20gJFxmcmFjezg3MjAzfXsyMzU3NTd9PTM2LDkkJSB2w6AgdOG7tyBs4buHIG3hurkgbMOgIG5nxrDhu51pIFTDonkgQmFuIE5oYSBjw7MgdGjDqm0gY29uIGNoaeG6v20gJFxmcmFjezk3MDl9ezE4ODk3fT01MSw0JCUuDQoNCiMgKio0LiDGr+G7m2MgbMaw4bujbmcgY2jDqm5oIGzhu4djaCAyIHThu7cgbOG7hyoqDQoNCiMjICoqNC4xIEJp4bq/biBtb3Jla2lkcyB2w6AgZ2VuZGVyMSoqDQpgYGB7cn0NCm10aHQgPC0gdGFibGUoZHQkbW9yZWtpZHMsIGR0JGdlbmRlcjEpDQpPZGRzUmF0aW8obXRodCkNCmBgYA0KDQpOaOG6rW4geMOpdDogVOG7tyBs4buHIG9kZHMgxJHGsOG7o2MgdMOtbmggbMOgIDAsOTYzMiBiw6kgaMahbiAxLCB0YSBjw7MgdGjhu4Mga+G6v3QgbHXhuq1uIHLhurFuZyBz4buxIGxpw6puIGvhur90IGdp4buvYSB2aeG7h2MgY8OzIHRow6ptIGNvbiB2w6AgZ2nhu5tpIHTDrW5oIGPhu6dhIMSR4bupYSBjb24gxJHhuqd1IHRpw6puIGzDoCB54bq/dSBob+G6t2Mga2jDtG5nIMSRw6FuZyBr4buDLiDEkGnhu4F1IG7DoHkgY8OzIG5naMSpYSBsw6AgZ2nhu5tpIHTDrW5oIGPhu6dhIMSR4bupYSBjb24gxJHhuqd1IHRpw6puIGtow7RuZyDhuqNuaCBoxrDhu59uZyDEkcOhbmcga+G7gyDEkeG6v24ga2jhuqMgbsSDbmcgY8OzIHRow6ptIGNvbi4NCg0KIyMgKio0LjIgQmnhur9uIG1vcmVraWRzIHbDoCBnZW5kZXIyKioNCmBgYHtyfQ0KbXRodCA8LSB0YWJsZShkdCRtb3Jla2lkcywgZHQkZ2VuZGVyMikNCk9kZHNSYXRpbyhtdGh0KQ0KYGBgDQoNCk5o4bqtbiB4w6l0OiBU4bu3IGzhu4cgb2RkcyDEkcaw4bujYyB0w61uaCBsw6AgMCw5NjUyNiBiw6kgaMahbiAxLCB0YSBjw7MgdGjhu4Mga+G6v3QgbHXhuq1uIHLhurFuZyBz4buxIGxpw6puIGvhur90IGdp4buvYSB2aeG7h2MgY8OzIHRow6ptIGNvbiB2w6AgZ2nhu5tpIHTDrW5oIGPhu6dhIMSR4bupYSBjb24gdGjhu6kgaGFpIGzDoCB54bq/dSBob+G6t2Mga2jDtG5nIMSRw6FuZyBr4buDLiDEkGnhu4F1IG7DoHkgY8OzIG5naMSpYSBsw6AgZ2nhu5tpIHTDrW5oIGPhu6dhIMSR4bupYSBjb24gdGjhu6kgaGFpIGtow7RuZyDhuqNuaCBoxrDhu59uZyDEkcOhbmcga+G7gyDEkeG6v24ga2jhuqMgbsSDbmcgY8OzIHRow6ptIGNvbi4NCg0KIyMgKio0LjMgQmnhur9uIG1vcmVraWRzciB2w6AgYWZhbSoqDQpgYGB7cn0NCm10aHQgPC0gdGFibGUoZHQkbW9yZWtpZHMsIGR0JGFmYW0pDQpPZGRzUmF0aW8obXRodCkNCmBgYA0KDQpOaOG6rW4geMOpdDogVOG7tyBs4buHIE9kZHMgxJHGsOG7o2MgdMOtbmggbMOgIDEsNDAwMSBs4bubbiBoxqFuIDEgdGEgY8OzIHRo4buDIGvhur90IGx14bqtbiBy4bqxbmcgYmnhur9uIGFmYW0gY8OzIOG6o25oIGjGsOG7n25nIGTGsMahbmcgxJHhur9uIGto4bqjIG7Eg25nIGPDsyB0aMOqbSBjb24uIMSQaeG7gXUgbsOgeSBjw7MgbmdoxKlhIHLhurFuZyBiaeG6v24gYWZhbSBjw7MgeMOhYyBzdeG6pXQgY2FvIGjGoW4gxJHhu4MgY8OzIHRow6ptIGNvbiBzbyB24bubaSBuaMOzbSBraMO0bmcgdGh14buZYyBhZmFtLg0KDQojIyAqKjQuNCBCaeG6v24gbW9yZWtpZHNyIHbDoCBoaXNwYW5pYyoqDQpgYGB7cn0NCm10aHQgPC0gdGFibGUoZHQkbW9yZWtpZHMsIGR0JGhpc3BhbmljKQ0KT2Rkc1JhdGlvKG10aHQpDQpgYGANCg0KTmjhuq1uIHjDqXQ6IFThu7cgbOG7hyBPZGRzIMSRxrDhu6NjIHTDrW5oIGzDoCAxLDgwMDEgbOG7m24gaMahbiAxIHRhIGPDsyB0aOG7gyBr4bq/dCBsdeG6rW4gcuG6sW5nIGJp4bq/biBoaXNwYW5pYyBjw7Mg4bqjbmggaMaw4bufbmcgZMawxqFuZyDEkeG6v24ga2jhuqMgbsSDbmcgY8OzIHRow6ptIGNvbi4gxJBp4buBdSBuw6B5IGPDsyBuZ2jEqWEgcuG6sW5nIGJp4bq/biBoaXNwYW5pYyBjw7MgeMOhYyBzdeG6pXQgY2FvIGjGoW4gxJHhu4MgY8OzIHRow6ptIGNvbiBzbyB24bubaSBuaMOzbSBraMO0bmcgdGh14buZYyBoaXNwYW5pYy4NCg0KIyAqKjUuIMav4bubYyBsxrDhu6NuZyBSZWxhdGl2ZSBSaXNrKioNCg0KIyMgKio1LjEgQmnhur9uIG1vcmVraWRzIHbDoCBnZW5kZXIxKioNCmBgYHtyfQ0KdGFibGUoZHQkbW9yZWtpZHMsZHQkZ2VuZGVyMSkNCm0gPC0gbWF0cml4KGMoNzYwNDQsIDgxNjk4LCA0NzYyNiwgNDkyODYpLCBucm93ID0gMikNClJlbFJpc2sobSwgY29uZi5sZXZlbCA9IC45NSkNCmBgYA0KDQpOaOG6rW4geMOpdDogVOG7tyBs4buHIHLhu6dpIHJvIMSRxrDhu6NjIHTDrW5oIGzDoCAwLDk4NTg0IG5o4buPIGjGoW4gMS4gxJBp4buBdSBuw6B5IGNobyB0aOG6pXkgdmnhu4djIGPDsyB0aMOqbSBjb24gdHJvbmcgbmjDs20gZ2VuZGVyMSB0aOG6pXAgaMahbiBzbyB24bubaSBjw6FjIG5ow7NtIGPDsm4gbOG6oWkuIEtob+G6o25nIHRpbiBj4bqteSA5NSUgdOG7qyAwLDk3OTg1IMSR4bq/biAwLDk5MTg3LCBraG/huqNuZyBuw6B5IGtow7RuZyBiYW8gZ+G7k20gMSB2w6AgcuG6pXQgaOG6uXAsIGNobyB0aOG6pXkgcuG6sW5nIHThu7cgbOG7hyBy4bunaSBybyAwLDk4NTg0IGPDsyDDvSBuZ2jEqWEgdGjhu5FuZyBrw6osIHPhu7Ega2jDoWMgYmnhu4d0IG7DoHkga2jDtG5nIHBo4bqjaSBkbyBuZ+G6q3Ugbmhpw6puIG3DoCBjw7MuDQoNCiMjICoqNS4yIEJp4bq/biBtb3Jla2lkcyB2w6AgZ2VuZGVyMioqDQpgYGB7cn0NCnRhYmxlKGR0JG1vcmVraWRzLGR0JGdlbmRlcjIpDQptIDwtIG1hdHJpeChjKDc2MzYxLCA4MTM4MSwgNDc3NzAsIDQ5MTQyKSwgbnJvdyA9IDIpDQpSZWxSaXNrKG0sIGNvbmYubGV2ZWwgPSAuOTUpDQpgYGANCg0KTmjhuq1uIHjDqXQ6IFThu7cgbOG7hyBy4bunaSBybyDEkcaw4bujYyB0w61uaCBsw6AgMCw5ODY2MyBuaOG7jyBoxqFuIDEuIMSQaeG7gXUgbsOgeSBjaG8gdGjhuqV5IHZp4buHYyBjw7MgdGjDqm0gY29uIHRyb25nIG5ow7NtIGdlbmRlcjIgdGjhuqVwIGjGoW4gc28gduG7m2kgY8OhYyBuaMOzbSBjw7JuIGzhuqFpLiBLaG/huqNuZyB0aW4gY+G6rXkgOTUlIHThu6sgMCw5ODA2NCDEkeG6v24gMCw5OTI2Niwga2hv4bqjbmcgbsOgeSBraMO0bmcgYmFvIGfhu5NtIDEgdsOgIHLhuqV0IGjhurlwLCBjaG8gdGjhuqV5IHLhurFuZyB04bu3IGzhu4cgcuG7p2kgcm8gMCw5ODY2MyBjw7Mgw70gbmdoxKlhIHRo4buRbmcga8OqLCBz4buxIGtow6FjIGJp4buHdCBuw6B5IGtow7RuZyBwaOG6o2kgZG8gbmfhuqt1IG5oacOqbiBtw6AgY8OzLg0KDQojIyAqKjUuMyBCaeG6v24gbW9yZWtpZHMgdsOgIGFmYW0qKg0KYGBge3J9DQp0YWJsZShkdCRtb3Jla2lkcyxkdCRhZmFtKQ0KbSA8LSBtYXRyaXgoYygxNTA2MTEsIDcxMzEsIDkwODg3LCA2MDI1KSwgbnJvdyA9IDIpDQpSZWxSaXNrKG0sIGNvbmYubGV2ZWwgPSAuOTUpDQpgYGANCg0KTmjhuq1uIHjDqXQ6IFThu7cgbOG7hyBy4bunaSBybyDEkcaw4bujYyB0w61uaCBsw6AgMSwxNTA2IGzhu5tuIGjGoW4gMS4gxJBp4buBdSBuw6B5IGNobyB0aOG6pXkgdmnhu4djIGPDsyB0aMOqbSBjb24gdHJvbmcgbmjDs20gYWZhbSBjYW8gaMahbiBzbyB24bubaSBjw6FjIG5ow7NtIGPDsm4gbOG6oWkuIEtob+G6o25nIHRpbiBj4bqteSA5NSUgdOG7qyAxLDEzMjUgxJHhur9uIDEsMTY5Mywga2hv4bqjbmcgbsOgeSBiYW8gZ+G7k20gMSwgY2hvIHRo4bqleSBy4bqxbmcgdOG7tyBs4buHIHLhu6dpIHJvIHRo4buxYyBz4buxIGPDsyB0aOG7gyBsw6AgMSBuw6puIGtow7RuZyBjw7MgYuG6sW5nIGNo4bupbmcgdGjhu5FuZyBrw6ogxJHhu6cgbeG6oW5oIMSR4buDIGto4bqzbmcgxJHhu4tuaCBz4buxIGtow6FjIGJp4buHdC4NCg0KIyMgKio1LjQgQmnhur9uIG1vcmVraWRzIHbDoCBoaXNwYW5pYyoqDQpgYGB7cn0NCnRhYmxlKGR0JG1vcmVraWRzLGR0JGhpc3BhbmljKQ0KbSA8LSBtYXRyaXgoYygxNDg1NTQsIDkxODgsIDg3MjAzLCA5NzA5KSwgbnJvdyA9IDIpDQpSZWxSaXNrKG0sIGNvbmYubGV2ZWwgPSAuOTUpDQpgYGANCg0KTmjhuq1uIHjDqXQ6IFThu7cgbOG7hyBy4bunaSBybyDEkcaw4bujYyB0w61uaCBsw6AgMSwyOTYwIGzhu5tuIGjGoW4gMS4gxJBp4buBdSBuw6B5IGNobyB0aOG6pXkgdmnhu4djIGPDsyB0aMOqbSBjb24gdHJvbmcgbmjDs20gaGlzcGFuaWMgY2FvIGjGoW4gc28gduG7m2kgY8OhYyBuaMOzbSBjw7JuIGzhuqFpLiBLaG/huqNuZyB0aW4gY+G6rXkgOTUlIHThu6sgMSwyNzY4IMSR4bq/biAxLDMxNTYsIGtob+G6o25nIG7DoHkgYmFvIGfhu5NtIDEsIGNobyB0aOG6pXkgcuG6sW5nIHThu7cgbOG7hyBy4bunaSBybyB0aOG7sWMgc+G7sSBjw7MgdGjhu4MgbMOgIDEgbsOqbiBraMO0bmcgY8OzIGLhurFuZyBjaOG7qW5nIHRo4buRbmcga8OqIMSR4bunIG3huqFuaCDEkeG7gyBraOG6s25nIMSR4buLbmggc+G7sSBraMOhYyBiaeG7h3QuDQoNCiMgKio2LiDGr+G7m2MgbMaw4bujbmcgT2RkIHJhdGlvKioNCg0KIyMgKio2LjEgQmnhur9uIG1vcmVraWRzIHbDoCBnZW5kZXIxKioNCmBgYHtyfQ0KbXRodCA8LSB0YWJsZShkdCRtb3Jla2lkcywgZHQkZ2VuZGVyMSkNCk9kZHNSYXRpbyhtdGh0LCBjb25mLmxldmVsID0gLjk1KQ0KYGBgDQoNCk5o4bqtbiB4w6l0OiBL4bq/dCBxdeG6oyBPZGQgcmF0aW8gxJHGsOG7o2MgdMOtbmggbMOgIDAsOTYzMjQgcuG6pXQgZ+G6p24gduG7m2kgMSwga2hv4bqjbmcgdGluIGPhuq15IDk1JSB04burIDAsOTQ3OTQgxJHhur9uIDAsOTc4Nzgga2jDtG5nIGJhbyBn4buTbSAxIG7Dqm4ga+G6v3QgcXXhuqMgT2RkIHJhdGlvIGtow7RuZyBjw7MgxJHhu6cgYuG6sW5nIGNo4bupbmcgxJHhu4Mga+G6v3QgbHXhuq1uIHLhurFuZyBjw7Mgc+G7sSBraMOhYyBiaeG7h3QgduG7gSBPZGRzIGdp4buvYSBoYWkgbmjDs20uDQoNCiMjICoqNi4yIEJp4bq/biBtb3Jla2lkcyB2w6AgZ2VuZGVyMioqDQpgYGB7cn0NCm10aHQgPC0gdGFibGUoZHQkbW9yZWtpZHMsIGR0JGdlbmRlcjIpDQpPZGRzUmF0aW8obXRodCwgY29uZi5sZXZlbCA9IC45NSkNCmBgYA0KDQpOaOG6rW4geMOpdDogS+G6v3QgcXXhuqMgT2RkIHJhdGlvIMSRxrDhu6NjIHTDrW5oIGzDoCAwLDk2NTI2IHLhuqV0IGfhuqduIHbhu5tpIDEsIGtob+G6o25nIHRpbiBj4bqteSA5NSUgdOG7qyAwLDk0OTk0IMSR4bq/biAwLDk4MDg0IGtow7RuZyBiYW8gZ+G7k20gMSBuw6puIGvhur90IHF14bqjIE9kZCByYXRpbyBraMO0bmcgY8OzIMSR4bunIGLhurFuZyBjaOG7qW5nIMSR4buDIGvhur90IGx14bqtbiBy4bqxbmcgY8OzIHPhu7Ega2jDoWMgYmnhu4d0IHbhu4EgT2RkcyBnaeG7r2EgaGFpIG5ow7NtLg0KDQojIyAqKjYuMyBCaeG6v24gbW9yZWtpZHMgdsOgIGFmYW0qKg0KYGBge3J9DQptdGh0IDwtIHRhYmxlKGR0JG1vcmVraWRzLCBkdCRhZmFtKQ0KT2Rkc1JhdGlvKG10aHQsIGNvbmYubGV2ZWwgPSAuOTUpDQpgYGANCg0KTmjhuq1uIHjDqXQ6IEvhur90IHF14bqjIE9kZCByYXRpbyDEkcaw4bujYyB0w61uaCBsw6AgMSw0MDAxIGzhu5tuIGjGoW4gMSwga2hv4bqjbmcgdGluIGPhuq15IDk1JSB04burIDEsMzUxNiDEkeG6v24gMSw0NTA0IGJhbyBn4buTbSAxIG7Dqm4ga+G6v3QgcXXhuqMgT2RkIHJhdGlvIGtow7RuZyBjw7Mgw70gbmdoxKlhIHRo4buRbmcga8OqLiDEkGnhu4F1IG7DoHkgY8OzIG5naMSpYSBsw6Aga2jDtG5nIGPDsyDEkeG7pyBi4bqxbmcgY2jhu6luZyDEkeG7gyBr4bq/dCBsdeG6rW4gcuG6sW5nIGPDsyBz4buxIGtow6FjIGJp4buHdCDEkcOhbmcga+G7gyB24buBIE9kZHMgZ2nhu69hIGhhaSBuaMOzbS4NCg0KIyMgKio2LjQgQmnhur9uIG1vcmVraWRzIHbDoCBoaXNwYW5pYyoqDQpgYGB7cn0NCm10aHQgPC0gdGFibGUoZHQkbW9yZWtpZHMsIGR0JGhpc3BhbmljKQ0KT2Rkc1JhdGlvKG10aHQsIGNvbmYubGV2ZWwgPSAuOTUpDQpgYGANCg0KTmjhuq1uIHjDqXQ6IEvhur90IHF14bqjIE9kZCByYXRpbyDEkcaw4bujYyB0w61uaCBsw6AgMSw4MDAxIGzhu5tuIGjGoW4gMSwga2hv4bqjbmcgdGluIGPhuq15IDk1JSB04burIDEsNzQ3NCDEkeG6v24gMSw4NTQ1IGJhbyBn4buTbSAxIG7Dqm4ga+G6v3QgcXXhuqMgT2RkIHJhdGlvIGtow7RuZyBjw7Mgw70gbmdoxKlhIHRo4buRbmcga8OqLiDEkGnhu4F1IG7DoHkgY8OzIG5naMSpYSBsw6Aga2jDtG5nIGPDsyDEkeG7pyBi4bqxbmcgY2jhu6luZyDEkeG7gyBr4bq/dCBsdeG6rW4gcuG6sW5nIGPDsyBz4buxIGtow6FjIGJp4buHdCDEkcOhbmcga+G7gyB24buBIE9kZHMgZ2nhu69hIGhhaSBuaMOzbS4NCg==