TRƯỜNG
ĐẠI HỌC TÀI CHÍNH - MARKETING
KHOA
KINH TẾ - LUẬT
——oOo——
ㅤ

ㅤ
BÀI
TIỂU LUẬN MÔN NGÔN NGỮ
LẬP
TRÌNH TRONG PHÂN TÍCH DỮ LIỆU
“Nghiên cứu biến động lãi suất ở Việt
Nam
vào
năm 2022, sau đại dịch COVID-19.”
ㅤ
ㅤ
ㅤㅤㅤGiảng viên hướng
dẫnㅤㅤㅤ:ㅤㅤㅤThầy Trần Mạnh Tường
Người thực hiệnㅤㅤㅤㅤ ㅤ:ㅤㅤㅤHoàng
Tấn Phát
Mã số sinh
viênㅤㅤㅤㅤㅤㅤ:ㅤㅤㅤ2221000317. ㅤ
ㅤ
Thành phố Hồ Chí Minh, tháng 03
năm 2024
LỜI MỞ ĐẦU
Thưa thầy Trần Mạnh Tường,
Em xin gửi lời biết ơn sâu sắc đến thầy về sự hỗ trợ và dẫn dắt trong
suốt thời gian thầy dạy và hướng dẫn chúng em trong môn học Ngôn ngữ lập
trình trong phân tích dữ liệu.
Thầy đã không ngừng chia sẻ kiến thức và kinh nghiệm của mình, giúp
chúng em hiểu rõ hơn về các khái niệm và nguyên lý cơ bản trong lập
trình. Thêm vào đó, sự tận tâm của thầy đã giúp chúng em phát triển khả
năng sáng tạo và kỹ năng phân tích, từ đó hoàn thiện bài tiểu luận một
cách chất lượng và tự tin hơn.
Chúng em rất biết ơn về sự cam kết và tận tâm của thầy trong quá
trình hướng dẫn, và chúng em hứa sẽ tiếp tục nỗ lực học tập và phát
triển dưới sự ảnh hưởng tích cực của thầy.
Một lần nữa, em xin chân thành cảm ơn thầy về mọi điều đã làm để hỗ
trợ và khích lệ chúng em trong môn học này.
Trân trọng,
Hoàng Tấn Phát.
PHẦN 1. GIỚI THIỆU
1.1 Giới thiệu về đề tài
“Nghiên cứu biến động lãi suất Việt Nam 2022 – Sau đại dịch
COVID-19”
Sau đại dịch COVID-19, nền kinh tế thế giới tiếp tục đối mặt với
nhiều thách thức nghiêm trọng, đặc biệt là do ảnh hưởng của cuộc xung
đột Nga-Ukraine, khiến thế giới tiến gần hơn đến nguy cơ khủng hoảng
toàn cầu. Trong bối cảnh này, năm 2022 chứng kiến sự cố gắng không ngừng
của các quốc gia để đối phó với suy thoái kinh tế, các vấn đề chính trị,
xã hội, cũng như các tác động từ thiên tai và dịch bệnh, đặc biệt là áp
lực từ lạm phát đang gia tăng.
Trên toàn cầu, nhiều ngân hàng trung ương đã thực hiện chính sách
tăng lãi suất liên tục nhằm kiềm chế lạm phát. Trong khi đó, Ngân hàng
Nhà nước của Việt Nam cũng phải tập trung vào việc kiểm soát lạm phát.
Với tình hình kinh tế mở và nhiều cửa khẩu thương mại, Việt Nam đặt ra
mục tiêu quan trọng là dự đoán và phản ứng linh hoạt với biến động lãi
suất.
Với những yếu tố trên, việc nghiên cứu và phân tích
tình hình lãi suất tại Việt Nam trong năm 2022 trở nên cực kỳ quan trọng
và hấp dẫn. Đó là lý do em quyết định sẽ thông qua việc nghiên cứu, tìm
hiểu kết hợp vận dụng các kiến thức đã học để thực hiện đề tài “Nghiên
cứu biến động lãi suất Việt Nam 2022 – Sau đại dịch COVID-19”.
1.2 Giới thiệu về bộ dữ liệu
1.2.1 Bộ dữ liệu “LaiSuatTienGuiCacNganHang.xlsx”
Bộ dữ liệu “LaiSuatTienGuiCacNganHang.xlsx” là tập
hợp các thông tin về lãi suất gửi tiết kiệm tại quầy của các ngân hàng ở
Việt Nam vào năm 2022. Bộ dữ liệu giúp chúng ta khám phá và hiểu rõ hơn
về tình hình tài chính của đất nước thông qua góc nhìn về lãi suất tiền
gửi tiết kiệm qua quầy của các ngân hàng.
Cụ thể là một số ngân hàng sau:
Vietcombank |
VPBank |
VietinBank |
ACB |
BIDV |
VIB |
Agribank |
MSB |
MBBank |
SHB |
Techcombank |
TPBank |
SCB |
Kienlongbank |
Việc theo dõi thay đổi lãi suất qua các thời kỳ khác nhau trong năm
cho chúng ta cái nhìn sâu sắc hơn về xu hướng và biến động của thị
trường tài chính. Có thể quan sát được cách mà các ngân hàng phản ứng
với các yếu tố kinh tế, chính trị và xã hội trong quá trình điều chỉnh
lãi suất.
Ngoài ra, việc so sánh lãi suất giữa các ngân hàng
cho phép chúng ta đánh giá và lựa chọn các cơ hội tài chính tốt nhất cho
nhu cầu của mình. Người dùng có thể tận dụng dữ liệu này để đưa ra quyết
định thông minh về việc đầu tư tiết kiệm và tài chính cá nhân.
1.2.2 Tổng quát về Bộ dữ liệu
LaiSuat <- read.xlsx(file = 'E:/LaiSuatTienGuiCacNganHangVN.xlsx', sheetIndex = 1, header = T)
str(LaiSuat)
## 'data.frame': 672 obs. of 4 variables:
## $ NganHang: chr "Vietcombank" "VietinBank" "BIDV" "Agribank" ...
## $ CapNhat : chr "01/2022" "01/2022" "01/2022" "01/2022" ...
## $ ThoiHan : chr "3 tháng" "3 tháng" "3 tháng" "3 tháng" ...
## $ LaiSuat : chr "3.3" "3.4" "3.4" "3.4" ...
Kết quả này, mô tả bộ dữ liệu được lưu trữ dưới dạng
dataframe trong ngôn ngữ lập trình R. Dữ liệu này có 672 quan sát và 4
biến (cột).
Biến “Ngân.hàng”: Đây là biến chứa tên của các ngân hàng tại Việt
Nam, được lưu dưới dạng chuỗi (character). Mỗi hàng trong biến này đại
diện cho một ngân hàng cụ thể.
Biến “Cập.nhật”: Đây là biến chứa thông tin về thời điểm cập nhật
lãi suất của từng ngân hàng. Dữ liệu được lưu dưới dạng chuỗi
(character), trong đó ngày và tháng được định dạng dưới dạng “mm/yyyy”.
Mỗi hàng trong biến này tương ứng với một thời điểm cập nhật lãi
suất.
Biến “Thời.hạn”: Biến này chứa thông tin về thời hạn của khoản
tiền gửi tiết kiệm, được lưu dưới dạng chuỗi (character). Các giá trị
trong biến này có thể là “3 tháng”, “6 tháng”, “12 tháng” hoặc “24
tháng”.
Biến “Lãi.suất”: Đây là biến chứa thông tin về lãi suất tiền gửi
tiết kiệm tương ứng với từng ngân hàng và thời hạn tiền gửi. Dữ liệu
được lưu dưới dạng chuỗi (character), có thể biểu diễn dưới dạng phần
trăm hoặc dạng số thập phân.
1.2.3 Chi tiết về Bộ dữ liệu
Đề thuận tiện hơn trong việc theo dõi và phân tích, ta tiến hành
chuyển đổi dữ liệu sang dạng rộng, tức là biến các giá trị trong cột
“Thời.hạn” thành 4 cột riêng biệt (về thời hạn gửi tiết kiệm: 3 tháng, 6
tháng, 12 tháng, 24 tháng), mỗi cột chứa thông tin về lãi suất tương
ứng.
BẢNG TỔNG QUAN VỀ LÃI SUẤT TIỀN GỬI TẠI
QUẦY CỦA CÁC NGÂN HÀNG VÀO NĂM 2022
LaiSuatNH <- LaiSuat %>%
pivot_wider(names_from = "ThoiHan", values_from = "LaiSuat")
datatable(LaiSuatNH)
Bộ dữ liệu về lãi suất tiền gửi tiết kiệm tại quầy của các ngân hàng
vào năm 2022:
Thông tin về lãi suất gửi tiết kiệm qua quầy của các ngân hàng ở Việt
Nam thường được công bố và cập nhật định kỳ bởi Ngân hàng Nhà nước Việt
Nam (NHNN) và các ngân hàng thương mại.
Trong năm 2022, lãi suất tiền gửi tại các ngân hàng có thể được ảnh
hưởng bởi nhiều yếu tố khác nhau bao gồm chính sách tiền tệ của quốc
gia, tình hình kinh tế, tỷ lệ lạm phát, và các yếu tố quốc tế như lãi
suất cơ bản của các quốc gia phát triển. Mỗi ngân hàng có thể có các
chính sách lãi suất riêng, phản ánh sự cạnh tranh trong thị trường ngân
hàng.
Bộ dữ liệu về lãi suất tiền gửi thường bao gồm thông tin về lãi suất
áp dụng cho các khoản tiền gửi qua quầy với các kỳ hạn khác nhau như
tiền gửi kỳ hạn 3 tháng, tiền gửi kỳ hạn 6 tháng, tiền gửi kỳ hạn 12
tháng, tiền gửi kỳ hạn 24 tháng.
Trước khi nghiên cứu chi tiết hơn về bộ dữ liệu cụ thể hoặc để phân
tích các xu hướng lãi suất tiền gửi tiết kiệm qua quầy trong năm 2022,
hãy cùng tìm hiểu lãi suất là gì và nó gây ra những tác động nào đến nền
kinh tế.
1.2.4 Ý nghĩa các con số “Lãi suất” từ Bộ dữ liệu
1.2.4.1 Lãi suất
Lãi suất được hiểu đơn giản là giá cả của quyền sử
dụng một đơn vị vốn vay trong một thời gian nhất định. Có thể xem lãi
suất như một loại giá cả đặc biệt bởi nó được hình thành trên cơ sở giá
trị của việc sử dụng. Lãi suất được thể hiện ở dạng tỷ lệ phần trăm nhất
định được sinh ra từ thỏa thuận trong các giao dịch cho vay giữa các
bên. Khoản tiền phải trả này được gọi là tiền lãi. Người vay tiền khi
trả tiền gốc cần phải trả thêm một khoản tiền lãi như đã thỏa thuận cho
người cho vay.
Đây chính là một công cụ đóng vai trò quan trọng trong việc định
hướng, sử dụng các công cụ tài khóa cũng như điều hành các chính sách
tiền tệ hiện hành của Ngân hàng Nhà nước. Bởi diễn biến của lãi suất ảnh
hưởng trực tiếp lên kinh tế, các quyết định chi tiêu, mua trái phiếu hay
gửi tiền tiết kiệm của từng cá nhân. Qua đó, các Ngân hàng Trung ương
cũng dựa vào chỉ số này để điều tiết chỉ tiêu kinh tế vĩ mô như thất
nghiệp, đầu tư, lạm phát…
Căn cứ vào giá trị thực của tiền lãi, lãi suất được chia thành
hai loại: lãi suất danh nghĩa và lãi suất thực. Trong đó, lãi suất danh
nghĩa là lãi suất được công bố trên thị trường, chưa bị điều chỉnh bởi
ảnh hưởng của lạm phát. Còn lãi suất thực là chỉ số đã được tính toán
lại sau khi lấy lãi suất danh nghĩa trừ đi tỷ lệ lạm phát.
Căn cứ vào giá trị thực của tiền lãi, lãi suất được chia thành
hai loại: lãi suất danh nghĩa và lãi suất thực. Trong đó, lãi suất danh
nghĩa là lãi suất được công bố trên thị trường, chưa bị điều chỉnh bởi
ảnh hưởng của lạm phát. Còn lãi suất thực là chỉ số đã được tính toán
lại sau khi lấy lãi suất danh nghĩa trừ đi tỷ lệ lạm phát.
1.2.4.2 Mối quan hệ giữa lãi suất với lạm phát
Theo quy luật kinh tế thị trường, lãi suất và lạm phát tác động lẫn
nhau. Nếu Ngân hàng Trung ương cắt giảm lãi suất, tức lãi suất cho vay
cũng giảm theo. Điều này cho phép người dân vay mượn nhiều hơn để đầu
tư, dẫn đến cung tiền cao và lượng tiền trong lưu thông sẽ tăng lên. Khi
lượng tiền tăng quá nhiều, đồng tiền trên thị trường sẽ mất dần giá trị
so với các đồng tiền khác trên thế giới, từ đó lạm phát bắt đầu
tăng.
Trái lại, khi Ngân hàng Trung ương điều chỉnh gia tăng lãi suất, kéo
theo đó lãi suất cho vay cũng tăng theo. Lúc này người dân sẽ hạn chế
vay tiền, thay vào đó sẽ tích cực chuyển sang gửi tiền tiết kiệm để được
hưởng lãi suất cao đó. Đồng tiền trong lưu thông lúc bấy giờ sẽ dần khan
hiếm và trở nên có giá hơn, giảm áp lực lạm phát. Tóm lại, ta có thể
hiểu quy luật thị trường đơn giản rằng, lãi suất và lạm phát vừa là
nguyên nhân vừa là hệ quả của nhau.
Từ đó, theo lý thuyết Fisher, ta có được phương trình sau: i
= r + p
- Trong phương trình trên, i là lãi suất danh nghĩa, r là lãi suất
thực còn p là kỳ vọng về lạm phát. Nghĩa là, người đi vay khi trả lãi
suất phải bao hàm khoản tiền bù lại phần trăm giá trị đồng tiền bị hao
hụt.
PHẦN 2. BIẾN ĐỘNG LÃI SUẤT VIỆT NAM TRONG NĂM
2022
2.0 Tổng quan tình hình lãi suất Việt Nam vào cả 4 Quý của
Năm 2022
Tác động giữa lãi suất liên ngân hàng, tỷ giá và lãi suất tiền gửi
tiết kiệm của các ngân hàng thương mại là một phần quan trọng của hệ
thống tài chính và có ảnh hưởng đáng kể đến người tiêu dùng, doanh
nghiệp và nền kinh tế nói chung.
Hãy cùng sơ lược về Tỷ Giá và Lãi Suất Liên Ngân Hàng ở giai đoạn này
tại Việt Nam để có những phân tích chính xác nhất đến Lãi Suất gửi tiết
kiệm tại quầy của các Ngân hàng Thương Mại vào năm 2022.
2.0.1 Tỷ giá
Với bối cảnh hiện nay, tác động của tỷ giá với từng ngân hàng ở Việt
Nam có thể khác nhau và vì thế, các ngân hàng cũng cần có chiến lược
riêng để dự phòng rủi ro tỷ giá.
Hãy cùng nhìn lại tỷ giá vào năm 2022 qua bảng sau:
Bảng chi tiết về Tỷ Giá Năm 2022 của Việt Nam (đơn vị:đồng)
TyGia <- read.xlsx(file = 'E:/VietstockFinance_Du-lieu-vi-mo_20240325-082626.xlsx', sheetIndex = 1, header = T)
datatable(TyGia)
Qua đó, ta có thể thấy:
Diễn biến của tỷ giá từ đầu năm, tỷ giá cuối năm đã có một giai đoạn
tạm ổn định, nhưng mặt bằng tỷ giá đã cao hơn khá nhiều so với đầu
năm.
Cụ thể là, tỷ giá USD trung tâm ngày 4/1/2022 (ngày giao dịch đầu
tiên năm 2022) là 23.134 đồng/USD, tỷ giá USD tham khảo tại Sở giao dịch
NHNN là 22.650 đồng/USD mua vào và 23.150 đồng/USD bán ra. Tỷ giá tại
Vietcombank ngày đầu năm là 22.610 đồng (mua tiền mặt)/22.640 đồng (mua
chuyển khoản) - 22.920 đồng (bán ra).
ggplot(TyGia, aes(x = Ngày, y = TyGiaTrungTam )) +
geom_line() +
labs(title = "Biến động tỷ giá trong năm 2022 (Đơn vị: đồng)",
x = "Ngày",
y = "Tỷ giá trung tâm") +
theme(
plot.margin = unit(c(0.5, 0.5, 0.5, 0.5), "cm") )

Sau hơn 10 tháng trôi qua, đến thời điểm hiện tại, tỷ giá trung tâm
tăng không nhiều so với đầu năm, chỉ khoảng 2,4%. Tuy nhiên, tỷ giá tham
khảo tại Sở giao dịch NHNN và tỷ giá tại ngân hàng thương mại đã tăng
khá mạnh khoảng 7,4%, còn tỷ giá tại Vietcombank đã tăng khoảng 9,2%. Sự
chênh lệch mặt bằng tỷ giá hiện tại so với đầu năm theo đó đã ảnh hưởng
trực tiếp đến các doanh nghiệp có hoạt động kinh doanh liên quan đến
ngoại tệ.
Các chuyên gia dự báo rằng, diễn biến tỷ giá cuối năm 2022 và giai
đoạn 2023 sẽ còn tiếp tục phụ thuộc vào lộ trình tăng lãi suất của Cục
Dự trữ liên bang Hoa Kỳ (Fed). Theo đó, FED có thể sẽ có thêm những đợt
tăng lãi suất tiếp theo nhưng kỳ vọng các đợt tăng sẽ nhẹ và thưa hơn so
với trước, qua đó USD sẽ không còn tăng giá quá mạnh như trong năm
2022
2.0.2 Lãi suất Liên ngân hàng
Thị trường liên ngân hàng là một bộ phận quan trọng của thị trường
tiền tệ, là kênh truyền dẫn chính sách tiền tệ. Thị trường liên ngân
hàng phát triển lành mạnh, minh bạch sẽ giúp các tổ chức tín dụng tận
dụng được những cơ hội đầu tư, dòng vốn được sử dụng hiệu quả và giúp
Ngân hàng Nhà nước tạo lập những chính sách tiền tệ có tác động hiệu quả
đến nền kinh tế.
Giai đoạn 2018-2022, nền kinh tế thế giới đối mặt với nhiều khó khăn,
thách thực đại dịch COVID-19 đến những biến động chính trị, lạm phát,
chạy đua lãi suất… Điều này tác động mạnh đến thị trường liên ngân hàng
các nước và Việt Nam cũng không ngoại lệ. Hãy cùng nhìn lại Lãi suất
Liên Ngân Hàng tại Việt Nam đã biến động như thế nào qua bảng sau:
Bảng chi tiết về Lãi Suất Liên Ngân Hàng Năm 2022 của Việt Nam (đơn
vị: %)
LaiSuatLNH <- read.xlsx(file = 'E:/VietstockFinance_Du-lieu-vi-mo_20240325-082805.xlsx', sheetIndex = 1, header = T)
datatable(LaiSuatLNH)
Qua đó có thể thấy:
Lãi suất liên ngân hàng là một yếu tố gắn liền với tình hình thanh
khoản hệ thống. Những biến động trong lãi suất thị trường phản ảnh mức
độ thừa hay thiếu vốn của thì trường tại từng thời điểm.
Thị trường liên ngân hàng còn có một số hạn chế về tính thanh khoản.
Cụ thể, thị trường rất nhạy cảm với thông tin dẫn tới việc tích trữ
thanh khoản khi mà thị trường đang thiếu vốn.
Tâm lý này có thể làm ảnh hưởng lớn đến cả hệ thống mà xuất phát từ
việc tín nhiệm của các ngân hàng với nhau. Bên cạnh đó, Việt Nam chưa có
một hệ thống xếp hạng được công bố chính thức do một tổ chức uy tín chịu
trách nhiệm.
Hiện tại, các NHTM đang thực hiện đánh giá xếp hạng tín nhiệm lẫn
nhau bằng những quy chuẩn nội bộ do cá nhân mỗi ngân hàng tự xây dựng
bao gồm các chỉ tiêu tài chính và phi tài chính.
Bảng: Tổng hợp tổng doanh số giao dịch liên ngân hàng các kỳ hạn giai
đoạn 2018-2022 (tỷ đồng)
Tháng 1 |
587.663 |
971.769 |
1.111.113 |
1.836.659 |
2.491.353 |
Tháng 2 |
418.555 |
753.358 |
1.205.787 |
2.658.150 |
2.959.510 |
Tháng 3 |
675.085 |
1.110.983 |
1.306.389 |
2.317.176 |
4.662.367 |
Tháng 4 |
609.755 |
1.252.428 |
2.261.717 |
2.296.898 |
4.098.033 |
Tháng 5 |
685.012 |
1.023.709 |
1.050.886 |
3.017.390 |
5.278.048 |
Tháng 6 |
650.196 |
1.182.670 |
1.160.443 |
2.718.636 |
4.864.010 |
Tháng 7 |
543.892 |
1.223.896 |
1.431.876 |
3.703.875 |
4.697.957 |
Tháng 8 |
590.776 |
1.354.249 |
1.430.425 |
2.909.232 |
5.529.075 |
Tháng 9 |
635.777 |
1.214.938 |
1.325.489 |
3.637.895 |
4.974.627 |
Tháng 10 |
630.747 |
1.221.264 |
1.460.048 |
4.132.805 |
4.793.513 |
Tháng 11 |
912.554 |
1.737.487 |
1.519.599 |
2.878.172 |
5.282.236 |
Tháng 12 |
890.792 |
1.695.724 |
2.310.520 |
3.637.921 |
5.369.105 |
Lãi suất bình quân liên ngân hàng 2018-2022 ngoài phản ánh tình hình
thanh khoản hệ thống còn phản ánh phần nào tình hình của nền kinh tế.
Lãi suất giảm mạnh đặc biệt vào 2 năm 2020 và 2021, chính là thời điểm
mà nền kinh tế bị ảnh hưởng nặng nề nhất do dịch bệnh COVID-19, nhiều
doanh nghiệp phải tạm ngừng hoặc giảm quy mô hoạt động khiến việc giải
ngân cũng hạn chế hơn.
Thanh khoản dồi dào nhưng doanh nghiệp ít tiếp cận, NHNN hỗ trợ nền
kinh tế bằng nhiều biện pháp trong đó giảm lãi suất điều hành cũng làm
mặt bằng chung của lãi suất liên ngân hàng giảm sâu kỷ lục. Việc lãi
suất bật tăng lại vào 2022 ngoài ảnh hưởng từ nền kinh tế thế giới và
lạm phát cũng cho thấy khởi sắc hồi phục sau dịch của kinh tế Việt
Nam.
Hãy cùng nhìn qua những biến động về Lãi Suất Liên Ngân Hàng được
qua đồ thị sau:
ggplot(LaiSuatLNH, aes(x = Ngày)) +
geom_line(aes(y = QuaDem, color = "QuaĐêm")) +
geom_line(aes(y = X1tuan, color = "1tuan")) +
geom_line(aes(y = X2tuan, color = "2tuan")) +
geom_line(aes(y = X1thang, color = "1th")) +
geom_line(aes(y = X3thang, color = "3th")) +
geom_line(aes(y = X6thang, color = "6th")) +
geom_line(aes(y = X9thang, color = "9th")) +
labs(title = "Biến động Lãi Suất Liên Ngân Hàng Việt Nam 2022", x = "Ngày", y = "Lãi Suất Liên Ngân Hàng") +
theme(
plot.margin = unit(c(0.5, 0.5, 0.5, 0.5), "cm") )
Biểu đồ biến động lãi suất trong năm 2022 cho thấy rằng có các giai đoạn
mà lãi suất tăng đột ngột hoặc tăng ổn định. Những giai đoạn này thường
phản ánh sự lo ngại về lạm phát, tăng trưởng kinh tế mạnh mẽ hoặc các
biến động trên thị trường tài chính quốc tế.
Biểu đồ biến động lãi suất liên ngân hàng trong năm 2022 là một công
cụ quan trọng để hiểu và phân tích tình hình kinh tế và tài chính của
Việt Nam. Việc đánh giá các yếu tố nội địa và quốc tế ảnh hưởng đến biến
động lãi suất sẽ giúp các nhà đầu tư, doanh nghiệp và chính phủ đưa ra
các quyết định chiến lược phù hợp để ổn định thị trường và thúc đẩy tăng
trưởng kinh tế bền vững.
Hãy cùng tìm hiểu cụ thể giữa những biến động của Lãi suất liên ngân
hàng thì các Ngân hàng thương mại đã có những biến động cụ thể nào đến
Lãi suất gửi tiết kiệm qua quầy vào những quý năm 2022.
2.1 Tình hình lãi suất Việt Nam ở Quý 1, Năm
2022
2.1.1 Lãi suất tiết kiệm ngân hàng Tháng 1/2022
Hiện đã đến mùa cao điểm cuối năm, thanh khoản hệ thống bắt đầu có
dấu hiệu căng thẳng tạm thời. Vì vậy, nhiều ngân hàng thương mại đã chủ
động điều chỉnh tăng lãi suất tiết kiệm để hút tiền gửi từ thị
trường.
Thang1 <- LaiSuat %>% filter(CapNhat == "01/2022")
angle <- 45
ggplot(Thang1, aes(x = NganHang, y = LaiSuat, color = ThoiHan, group = ThoiHan)) +
geom_line() +
geom_point(size = 2.5) +
labs(x = "Ngân Hàng", y = "Lãi Suất", title = "Lãi suất tiết kiệm tại quầy tháng 01/2022 (đơn vị: %/năm)") +
theme_minimal()+
theme(axis.text.x = element_text(angle = angle, hjust = 1),
axis.text.y = element_text(size = 6),
plot.title = element_text(hjust = 0.5)) +
theme(
plot.margin = unit(c(0.5, 0.5, 0.5, 0.5), "cm") )

Tại nhóm 4 ngân hàng thương mại nhà nước (Vietcombank, VietinBank,
Agribank và BIDV) trong tháng này chỉ Vietcombank là có điều chỉnh giảm
lãi suất tại một số kỳ hạn ngắn.
Bên cạnh đó, khách hàng có thể cân nhắc lựa chọn gửi tiền ở một số
ngân hàng khác cũng có lãi suất tiết kiệm tương đối cạnh tranh như
MBBank (6,9%/năm), Ngân hàng Việt Á (6,9%/năm)… Nhưng, các ngân hàng này
đều có những tiêu chuẩn riêng để đạt được mức lãi suất như trên, chứ
không cào bằng cho mọi khoản tiền gửi.
Tuy nhiên, điều này không ảnh hưởng đến mức lãi suất
cao nhất đang được huy động tại ngân hàng này. Trong đó, mức lãi suất
ngân hàng cao nhất là 5,6%/năm tại VietinBank; ba ngân hàng còn lại có
chung mức 5,5%/năm.
VPBank vẫn ở vị trí cuối cùng với mới lãi suất cao nhất chỉ đạt 5,4%
cho kỳ hạn 15-36 tháng, kèm theo điều kiện khách hàng gửi 50 tỷ đồng trở
lên.
2.1.2 Lãi suất tiết kiệm ngân hàng Tháng 2/2022
Bước sang đầu tháng 2/2022, hàng loạt ngân hàng tiếp tục điều chỉnh
tăng biểu lãi suất huy động. Cùng với việc tín dụng bứt tốc ngay trong
tháng đầu tiên của năm mới và áp lực lạm phát ngày càng tăng, nhiều ngân
hàng thương mại tiếp tục điều chỉnh biểu lãi suất tiết kiệm của mình
theo hướng tăng lên để hút tiền gửi từ thị trường.
Thang2 <- LaiSuat %>% filter(CapNhat == "02/2022")
ggplot(Thang2, aes(x = NganHang, y = LaiSuat, color = ThoiHan, group = ThoiHan)) +
geom_line() +
geom_point(size = 2.5) +
labs(x = "Ngân Hàng", y = "Lãi Suất", title = "Lãi suất tiết kiệm tại quầy tháng 02/2022 (đơn vị: %/năm)") +
theme_minimal()+
theme(axis.text.x = element_text(angle = angle, hjust = 1),
axis.text.y = element_text(size = 6),
plot.title = element_text(hjust = 0.5)) +
theme(
plot.margin = unit(c(0.5, 0.5, 0.5, 0.5), "cm") )

Hiện tại, mặc dù chỉ số lạm phát CPI của Việt Nam đạt 1,94%, nhưng
nhóm nghiên cứu tại BVSC cho rằng, áp lực lạm phát sẽ cao hơn khi giá
nhiều loại nguyên vật liệu đã đang có xu hướng tăng mạnh.
Tại bảng xếp hạng lãi suất cao nhất tháng 2/2022, SCB dẫn đầu với
mức lãi suất 7,6%/năm. Khách hàng muốn nhận được mức lãi suất này cần
phải gửi khoản tiền 500 tỷ đồng cho kỳ hạn 13 tháng.
Tiếp đến là Techcombank với mức 7,1%/năm. Khách hàng muốn nhận
được mức lãi suất này cần phải gửi khoản tiền từ 999 tỷ đồng trở lên tại
kỳ hạn 12 tháng.
Liền sau là ngân hàng MSB với mức ấn định 7%/năm và điều kiện số
tiền gửi áp dụng từ 200 tỷ đồng trở lên tại hai kỳ hạn là 12 tháng và 13
tháng.
Đáng chú ý, VPBank đã thoát khỏi vị trí cuối bảng khi mức lãi
suất cao nhất ở đây đã tăng lên mức 6,7%/năm cho khoản tiền lớn hơn 50
tỷ, kỳ hạn 36 tháng.
*Tại nhóm 4 ngân hàng thương mại nhà nước (Vietcombank, VietinBank,
Agribank và BIDV) trong tháng này chỉ Vietcombank là có điều chỉnh giảm
lãi suất tại một số kỳ hạn ngắn. Tuy nhiên điều này không ảnh hưởng đến
mức lãi suất cao nhất đang được huy động tại ngân hàng này. Trong đó,
mức lãi suất ngân hàng cao nhất là 5,6%/năm tại VietinBank; ba ngân hàng
còn lại có chung mức 5,5%/năm.
2.1.3 Lãi suất tiết kiệm ngân hàng Tháng 3/2022
Bước sang những ngày đầu tháng 3/2022, biểu lãi suất tiết kiệm tại
nhiều ngân hàng đều giữ nguyên so với tháng trước đó…
Thang3 <- LaiSuat %>% filter(CapNhat == "03/2022")
ggplot(Thang3, aes(x = NganHang, y = LaiSuat, color = ThoiHan, group = ThoiHan)) +
geom_line() +
geom_point(size = 2.5) +
labs(x = "Ngân Hàng", y = "Lãi Suất", title = "Lãi suất tiết kiệm tại quầy tháng 03/2022 (đơn vị: %/năm)") +
theme_minimal()+
theme(axis.text.x = element_text(angle = angle, hjust = 1),
axis.text.y = element_text(size = 6),
plot.title = element_text(hjust = 0.5)) +
theme(
plot.margin = unit(c(0.5, 0.5, 0.5, 0.5), "cm") )

Áp lực thanh khoản mùa cao điểm đã qua, cùng diễn biến tăng trưởng
tín dụng giảm nhẹ, mặt bằng lãi suất tiết kiệm ngân hàng tương đối ổn
định trong những ngày đầu tháng 3/2022.
Bảng xếp hạng lãi suất tiền gửi cao nhất trong tháng 3/2022 hầu như
không có nhiều biến động so với tháng trước đó. Duy chỉ có ngân hàng VIB
là tăng nhẹ 0,01 điểm điểm phần trăm, từ mức cao nhất là 6,19%/năm lên
6,20%/năm
Nhìn chung, mức lãi suất cao nhất đang dao động trong vùng từ
5,5%/năm đến 7,1%/năm tuỳ từng ngân hàng.
Trong đó, SCB dẫn đầu với mức lãi suất 7,6%/năm. Khách hàng muốn
nhận được mức lãi suất này cần phải gửi khoản tiền 500 tỷ đồng cho kỳ
hạn 13 tháng.
Tiếp đến là Techcombank với mức 7,1%/năm. Khách hàng muốn nhận
được mức lãi suất này cần phải gửi khoản tiền từ 999 tỷ đồng trở lên tại
kỳ hạn 12 tháng.
Liền sau là ngân hàng MSB với mức ấn định 7%/năm và điều kiện số
tiền gửi áp dụng từ 200 tỷ đồng trở lên tại hai kỳ hạn là 12 tháng và 13
tháng.
LienVietPostBank hiện đang xếp ở vị trí thứ tư với lãi suất là
6,99%/năm. Điều kiện để khách hàng nhận được mức lãi suất này là phải có
khoản tiền gửi có kỳ hạn 13 tháng và 60 tháng, trong đó giá trị tiền gửi
ở kỳ hạn 13 tháng phải từ 300 tỷ trở lên.
2.2 Tình hình lãi suất Việt Nam ở Quý 2, Năm
2022
2.2.1 Lãi suất tiết kiệm ngân hàng Tháng 4/2022
Chịu áp lực từ tốc độ tăng trưởng tín dụng và kỳ vọng lạm phát, mặt
bằng lãi suất tiết kiệm ngân hàng tiếp tục được nâng lên. Giới chuyên
môn dự báo lãi suất huy động 2022 sẽ tăng cao hơn nhiều so với bình quân
năm 2021…
Thang4 <- LaiSuat %>% filter(CapNhat == "04/2022")
ggplot(Thang4, aes(x = NganHang, y = LaiSuat, color = ThoiHan, group = ThoiHan)) +
geom_line() +
geom_point(size = 2.5) +
labs(x = "Ngân Hàng", y = "Lãi Suất", title = "Lãi suất tiết kiệm tại quầy tháng 04/2022 (đơn vị: %/năm)") +
theme_minimal()+
theme(axis.text.x = element_text(angle = angle, hjust = 1),
axis.text.y = element_text(size = 6),
plot.title = element_text(hjust = 0.5)) +
theme(
plot.margin = unit(c(0.5, 0.5, 0.5, 0.5), "cm") )

Thực tế, sang đầu tháng 4/2022, nhiều ngân hàng đã thay đổi biểu lãi
suất tiết kiệm theo hướng đi lên, đặc biệt là nhóm ngân hàng quy mô vừa
và nhỏ.
Điển hình, ABBank tăng từ 0,1 – 0,4 điểm phần trăm lãi suất tiền
gửi kỳ hạn từ 9 tháng trở xuống. Trong đó, lãi suất kỳ hạn 3 tháng tăng
lên 4%/năm, kỳ hạn 6 tháng tăng lên 5,5% và 9 tháng tăng lên
5,6%/năm.
Tương tự, MB tăng lãi suất từ 0,15 - 0,2 điểm phần trăm, cụ thể
lãi suất kỳ hạn 1 tháng lên 2,9%/năm; 6 tháng lên 4,4%/năm; 24 tháng
5,75%/năm. Mức lãi suất huy động cao nhất là 6,6%/năm ở kỳ hạn 36
tháng.
Một số ngân hàng khác như Ngân hàng Bản Việt, Vietbank, BacABank,
Saigonbank, OCB, PVCombank… cũng tăng lãi suất tiết kiệm 0,1- 0,2 điểm
phần trăm cho các khách hàng gửi tiết kiệm thông thường tại
quầy.
2.2.2 Lãi suất tiết kiệm ngân hàng Tháng 5/2022
Mức lãi suất cao nhất tháng 5/2022 thuộc về ngân hàng SCB với
7,3%/năm cho kỳ hạn 12 tháng và chỉ áp dụng cho món tiền gửi có số dư từ
500 tỷ đồng trở lên…
Thang5 <- LaiSuat %>% filter(CapNhat == "05/2022")
ggplot(Thang5, aes(x = NganHang, y = LaiSuat, color = ThoiHan, group = ThoiHan)) +
geom_line() +
geom_point(size = 2.5) +
labs(x = "Ngân Hàng", y = "Lãi Suất", title = "Lãi suất tiết kiệm tại quầy tháng 05/2022 (đơn vị: %/năm)") +
theme_minimal()+
theme(axis.text.x = element_text(angle = angle, hjust = 1),
axis.text.y = element_text(size = 6),
plot.title = element_text(hjust = 0.5)) +
theme(
plot.margin = unit(c(0.5, 0.5, 0.5, 0.5), "cm") )

Do nhiều ngân hàng thay đổi biểu lãi suất nên bảng xếp hạng lãi suất
tiền gửi cao nhất trong tháng 5/2022 cũng có một vài thay đổi so với
tháng trước đó.
Dẫn đầu danh sách là SCB với mức lãi suất 7,6%/năm. Mức lãi suất
niêm yết này đối với kỳ hạn 13 tháng và chỉ áp dụng cho món tiền gửi có
số dư từ 500 tỷ đồng trở lên.
Xếp liền sau là ngân hàng HDBank với mức lãi suất cao nhất
7,15%/năm. Điều kiện đi kèm để được hưởng lãi suất này là khách hàng cần
có khoản tiết kiệm tối thiểu từ 300 tỷ đồng trở lên, lĩnh lãi cuối kỳ
với kỳ hạn 13 tháng. Nếu không đạt đủ số tiền tối thiểu,ngân hàng áp
dụng lãi là 6%/năm cho kỳ hạn 13 tháng này.
Techcombank và ACB đang cùng triển khai lãi suất tiết kiệm cao
nhất ở mức 7,1%/năm. Khách hàng gửi tiết kiệm với số tiền từ 999 tỷ đồng
trở lên kỳ hạn 12 tháng tại Techcombank sẽ được nhận lãi suất ưu đãi kể
trên. Trong khi đó ngân hàng ACB đang huy động lãi suất 7,1%/năm cho
khoản tiền gửi tối thiểu từ 100 tỷ đồng trở lên với thời hạn gửi là 13
tháng.
2.2.3 Lãi suất tiết kiệm ngân hàng Tháng 6/2022
Mặt bằng lãi suất tiết kiệm tiếp tục được các ngân hàng điều chỉnh
trong nửa đầu tháng 6/2022 theo hướng tăng mạnh…
Thang6 <- LaiSuat %>% filter(CapNhat == "06/2022")
ggplot(Thang6, aes(x = NganHang, y = LaiSuat, color = ThoiHan, group = ThoiHan)) +
geom_line() +
geom_point(size = 2.5) +
labs(x = "Ngân Hàng", y = "Lãi Suất", title = "Lãi suất tiết kiệm tại quầy tháng 06/2022 (đơn vị: %/năm)") +
theme_minimal()+
theme(axis.text.x = element_text(angle = angle, hjust = 1),
axis.text.y = element_text(size = 6),
plot.title = element_text(hjust = 0.5)) +
theme(
plot.margin = unit(c(0.5, 0.5, 0.5, 0.5), "cm") )

Nhằm thu hút lượng tiền nhàn rỗi trên thị trường cũng như chuẩn bị
cho nhu cầu tín dụng từ nay đến cuối năm, nhiều ngân hàng tiếp tục điều
chỉnh tăng biểu lãi suất huy động. Đáng chú ý, đã có thành viên thuộc
nhóm ngân hàng thương mại nhà nước tham gia cuộc đua tăng lãi suất.
Nhìn chung tổng thể toàn hệ thống, năm nay nhu cầu tín dụng đã và
đang tăng mạnh so với cùng kỳ năm trước. Điều này khiến các ngân hàng
phải tăng lãi suất tiết kiệm để củng cố nguồn vốn cho hệ thống ngân hàng
ở các kỳ hạn, qua đó đáp ứng nhu cầu tín dụng tốt hơn từ nay đến cuối
năm.
Do nhiều ngân hàng thay đổi biểu lãi suất nên bảng xếp hạng lãi
suất tiền gửi cao nhất trong tháng 6/2022 cũng có một vài thay đổi so
với tháng trước đó.
Dẫn đầu danh sách vẫn là SCB với mức lãi suất 7,3%/năm. Mức lãi
suất niêm yết này đối với kỳ hạn 13 tháng và chỉ áp dụng cho món tiền
gửi có số dư từ 500 tỷ đồng trở lên.
Tại nhóm 4 ngân hàng có vốn nhà nước, Vietcombank, VietinBank,
BIDV và VietinBank có lãi suất cao nhất là 5,6%/năm. Trong khi đó
Agribank huy động vốn với lãi suất cao nhất là 5,5%/năm.
2.3 Tình hình lãi suất Việt Nam ở Quý 3, Năm
2022
2.3.1 Lãi suất tiết kiệm ngân hàng Tháng 7/2022
Đường đua tăng lãi suất tiết kiệm ngày càng sôi động. Theo đó, nhiều
ngân hàng đã đẩy mức lãi suất cao nhất lên trên 7%/năm…
Thang7 <- LaiSuat %>% filter(CapNhat == "07/2022")
ggplot(Thang7, aes(x = NganHang, y = LaiSuat, color = ThoiHan, group = ThoiHan)) +
geom_line() +
geom_point(size = 2.5) +
labs(x = "Ngân Hàng", y = "Lãi Suất", title = "Lãi suất tiết kiệm tại quầy tháng 07/2022 (đơn vị: %/năm)") +
theme_minimal()+
theme(axis.text.x = element_text(angle = angle, hjust = 1),
axis.text.y = element_text(size = 6),
plot.title = element_text(hjust = 0.5)) +
theme(
plot.margin = unit(c(0.5, 0.5, 0.5, 0.5), "cm") )

Nhằm chuẩn bị cho mùa cao điểm cuối năm cũng như đáp ứng tỷ lệ mới
của vốn ngắn hạn cho vay trung và dài hạn, nhiều ngân hàng tiếp tục điều
chỉnh biểu lãi suất huy động.
Thực tế thị trường cũng cho thấy, trong khoảng đầu tháng 7/2022,
nhiều ngân hàng cũng đã tham gia “cuộc đua” lãi suất huy động.
Do nhiều ngân hàng thay đổi biểu lãi suất nên bảng xếp hạng lãi suất
tiền gửi cao nhất trong tháng 7/2022 cũng có một vài thay đổi so với
tháng trước đó và mức lãi suất trên 7%/năm là không hiếm.
- Dẫn đầu danh sách vẫn là SCB với mức lãi suất 7,3%/năm. Mức lãi suất
niêm yết này đối với kỳ hạn 13 tháng và chỉ áp dụng cho món tiền gửi có
số dư từ 500 tỷ đồng trở lên.
2.3.2 Lãi suất tiết kiệm ngân hàng Tháng 8/2022
Dù chưa được Ngân hàng Nhà nước cấp thêm hạn mức tín dụng nhưng mặt
bằng lãi suất huy động tăng vẫn chưa có xu hướng dừng lại…
Thang8 <- LaiSuat %>% filter(CapNhat == "08/2022")
ggplot(Thang8, aes(x = NganHang, y = LaiSuat, color = ThoiHan, group = ThoiHan)) +
geom_line() +
geom_point(size = 2.5) +
labs(x = "Ngân Hàng", y = "Lãi Suất", title = "Lãi suất tiết kiệm tại quầy tháng 08/2022 (đơn vị: %/năm)") +
theme_minimal()+
theme(axis.text.x = element_text(angle = angle, hjust = 1),
axis.text.y = element_text(size = 6),
plot.title = element_text(hjust = 0.5)) +
theme(
plot.margin = unit(c(0.5, 0.5, 0.5, 0.5), "cm") )

Thời gian qua, khá nhiều nguyên nhân khiến mặt bằng lãi suất tăng.
Theo đó, làn sóng điều chỉnh biểu lãi suất tiết kiệm chưa có dấu hiệu
dừng lại và ngày càng nhiều ngân hàng tham gia vào “cuộc đua” trong
tháng 8/2022.
- LÃI SUẤT HƠN 7%/NĂM CHO KỲ HẠN 6 THÁNG XUẤT HIỆN
“Nhìn chung, đà tăng của lãi suất huy động so với cuối năm 2021 đã có
phần rõ rệt hơn và tới từ tất cả các nhóm ngân hàng”, nhóm nghiên cứu
của BVSC đánh giá.
Một số ngân hàng cũng tăng mạnh biểu lãi suất còn có MB, ABBank,
VPBank, ACB, KienlongBank… Đáng chú ý, mức 7,1%/năm đã xuất hiện ở kỳ
hạn 6 tháng tại ngân hàng CBBank.
Do nhiều ngân hàng thay đổi biểu lãi suất nên bảng xếp hạng lãi suất
tiền gửi cao nhất trong tháng 8/2022 đã có nhiều thay đổi so với tháng
trước. Ngoài ra, mức lãi suất trên 7%/năm ngày càng xuất hiện nhiều.
2.3.3 Lãi suất tiết kiệm ngân hàng Tháng 9/2022
Trước động thái tăng lãi suất thêm 0,75% từ Cục dự trữ liên bang Mỹ
FED cũng như việc hàng loạt ngân hàng Trung ương khác cũng tăng lãi suất
vào ngày 23/9 vừa qua, Ngân hàng Nhà nước Việt Nam chính thức điều chỉnh
gia tăng lãi suất điều hành.
Thang9 <- LaiSuat %>% filter(CapNhat == "09/2022")
ggplot(Thang9, aes(x = NganHang, y = LaiSuat, color = ThoiHan, group = ThoiHan)) +
geom_line() +
geom_point(size = 2.5) +
labs(x = "Ngân Hàng", y = "Lãi Suất", title = "Lãi suất tiết kiệm tại quầy tháng 09/2022 (đơn vị: %/năm)") +
theme_minimal()+
theme(axis.text.x = element_text(angle = angle, hjust = 1),
axis.text.y = element_text(size = 6),
plot.title = element_text(hjust = 0.5)) +
theme(
plot.margin = unit(c(0.5, 0.5, 0.5, 0.5), "cm") )

Hoạt động điều phối thanh khoản của Ngân hàng Nhà nước có thể nhanh
chóng làm lãi suất liên ngân hàng hạ xuống. Tuy nhiên, xu hướng tăng lãi
suất của thị trường 1 ( ngân hàng và cư dân) lại không dễ dàng xoa dịu
như vậy. Mặt bằng lãi suất tiết kiệm lại được nâng lên một mức cao mới
trong tháng 9/2022.
- CUỘC “CHẠY ĐUA” LÃI SUẤT HUY ĐỘNG VẪN TIẾP TỤC
Mặc dù mức điều chỉnh thấp hơn so với các kỳ vọng của thành viên trên
thị trường, thế nhưng các ngân hàng vẫn rầm rộ tăng lãi suất huy
động.
Với việc một số ngân hàng thay đổi biểu lãi suất nên bảng xếp hạng
lãi suất tiền gửi cao nhất trong tháng 9/2022 cũng có sự xáo trộn so với
tháng trước. Thậm chí, mức lãi suất 8,8%/năm đã xuất hiện.
2.4 Tình hình lãi suất Việt Nam ở Quý 4, Năm
2022
2.4.1 Lãi suất tiết kiệm ngân hàng Tháng 10/2022
Đến tối ngày 25/10, Ngân hàng Nhà nước tiếp tục tăng một loạt các mức
lãi suất điều hành gồm lãi suất chiết khấu, lãi suất cho vay, lãi suất
tái chiết khấu… thêm 1%.
Thang10 <- LaiSuat %>% filter(CapNhat == "10/2022")
ggplot(Thang10, aes(x = NganHang, y = LaiSuat, color = ThoiHan, group = ThoiHan)) +
geom_line() +
geom_point(size = 2.5) +
labs(x = "Ngân Hàng", y = "Lãi Suất", title = "Lãi suất tiết kiệm tại quầy tháng 10/2022 (đơn vị: %/năm)") +
theme_minimal()+
theme(axis.text.x = element_text(angle = angle, hjust = 1),
axis.text.y = element_text(size = 6),
plot.title = element_text(hjust = 0.5)) +
theme(
plot.margin = unit(c(0.5, 0.5, 0.5, 0.5), "cm") )

Không chỉ lãi suất tiết kiệm ngắn hạn, các khoản huy động tiền gửi
trung, dài hạn cũng đã liên tục ghi nhận các mốc lãi suất mới….
Cuộc chạy đua tăng lãi suất huy động ngày càng nóng. Chỉ trong chưa
đầy nửa tháng, tức từ cuối tháng 9 đến nay, biểu lãi suất tiết kiệm tại
các ngân hàng thương mại đã ghi nhận xu hướng tăng rất mạnh. Theo đó,
mức lãi suất trên 8%/năm đối với các sản phẩm tiền gửi của khách hàng cá
nhân không còn hiếm trong tháng 10/2022.
“Với một số ngân hàng thương mại đã công bố lãi suất huy động trong
tháng 10, diễn biến tăng của lãi suất huy động sẽ còn mạnh hơn nhiều so
với mức tăng của tháng 9”, nhóm nghiên cứu tại BVSC nhấn mạnh.
2.4.2 Lãi suất tiết kiệm ngân hàng Tháng 11/2022
Được ghi nhận vào ngày 18/11, có thể thấy, lãi suất 9%/1 năm đã không
còn hiếm thấy tại các ngân hàng. Như vậy, sau động thái nâng một loạt
lãi suất tiết kiệm lần thứ hai từ Ngân hàng Trung ương từ cuối tháng 9,
rất nhiều ngân hàng Thương mại trong nước đã tiếp tục gia tăng lãi suất
huy động. Các ngân hàng liên tục tăng lãi suất huy động khiến mặt bằng
lãi suất tăng cao, trong đó mức lãi suất mà khách hàng nhận được có thể
lên tới 9,2%/năm
Thang11 <- LaiSuat %>% filter(CapNhat == "11/2022")
ggplot(Thang11, aes(x = NganHang, y = LaiSuat, color = ThoiHan, group = ThoiHan)) +
geom_line() +
geom_point(size = 2.5) +
labs(x = "Ngân Hàng", y = "Lãi Suất", title = "Lãi suất tiết kiệm tại quầy tháng 11/2022 (đơn vị: %/năm)") +
theme_minimal()+
theme(axis.text.x = element_text(angle = angle, hjust = 1),
axis.text.y = element_text(size = 6),
plot.title = element_text(hjust = 0.5)) +
theme(
plot.margin = unit(c(0.5, 0.5, 0.5, 0.5), "cm") )

Theo số liệu vào ngày 28/11, hàng loạt ngân hàng đã tăng thêm lãi
suất huy động, với mức lãi suất cao nhất được ghi nhận lên đến 10,5%/năm
đối với kỳ hạn 13 tháng tại ngân hàng Sài Gòn Công Thương
(Saigonbank).
Tại ngân hàng TMCP Sài Gòn - SCB, lãi suất huy động tiền gửi trực
tuyến cũng đạt mức 9,95%/năm đối với kỳ hạn từ 12 tháng trở lên.
Sở dĩ đây là ngân hàng có lãi suất cao nhất trong hệ thống các ngân
hàng TMCP trên cả nước bởi ngoài việc tuân theo chính sách điều chỉnh
gia tăng lãi suất của Nhà nước, gần đây ngân hàng này cũng gặp một số
tin tức tiêu cực, bất lợi, gây mất niềm tin cho người tiêu dùng.
Đối với ngân hàng TMCP Kỹ thương Việt Nam (Techcombank) cũng vừa ghi
nhận lãi suất huy động tăng cao nhất lên 9.3%/năm dành cho các kỳ hạn 12
tháng.
Nhìn chung, mức lãi suất tại các ngân hàng khác như Ngân hàng TMCP
Quân đội (MB), Ngân hàng TMCP Quốc Dân (NCB), Ngân hàng TMCP, Bắc Á (Bac
A Bank)… cũng chứng kiến sự gia tăng.
2.4.3 Lãi suất tiết kiệm ngân hàng Tháng 12/2022
Mặc dù phần lớn nhà băng đã điều chỉnh lãi suất tiết kiệm về mức tối
đa 9,5%/năm từ giữa tháng 12/2022, song đến nay vẫn có lác đác một số
ngân hàng niêm yết cao hơn mức này.
Thang12 <- LaiSuat %>% filter(CapNhat == "12/2022")
ggplot(Thang12, aes(x = NganHang, y = LaiSuat, color = ThoiHan, group = ThoiHan)) +
geom_line() +
geom_point(size = 2.5) +
labs(x = "Ngân Hàng", y = "Lãi Suất", title = "Lãi suất tiết kiệm tại quầy tháng 12/2022 (đơn vị: %/năm)") +
theme_minimal()+
theme(axis.text.x = element_text(angle = angle, hjust = 1),
axis.text.y = element_text(size = 6),
plot.title = element_text(hjust = 0.5)) +
theme(
plot.margin = unit(c(0.5, 0.5, 0.5, 0.5), "cm") )
Tương tự kỳ hạn 6 tháng, SCB, NCB vẫn là những ngân hàng có lãi suất cao
nhất thị trường. Trên thị trường hiện nay, phần lớn các ngân hàng còn
lại hầu hết niêm yết không quá 9,5%/năm.
Đối với nhóm Big4, BIDV và VietinBank cùng niêm yết 8,2%/năm cho
hình thức tiết kiệm online và 7,4%/năm cho hình thức gửi tại quầy. Trong
khi Vietcombank áp dụng cùng mức 7,4%/năm cho cả khách hàng gửi trực
tuyến lẫn gửi tại quầy.
Đối với kỳ hạn dưới 6 tháng, phần lớn các ngân hàng đều niêm yết
lãi suất kỳ hạn 3-5 tháng ở mức tối đa cho phép là 6%/năm. Tuy nhiên,
vẫn có một số ngân hàng áp dụng ở mức thấp hơn, trong đó Agribank,
Vietcombank, BIDV và VietinBank cùng mức 5,4%/năm.
Trước đó, để ổn định mặt bằng huy động, theo Hiệp hội Ngân hàng
Việt Nam (VNBA), các tổ chức tín dụng đã thống nhất quan điểm chỉ đạo
của Ngân hàng Nhà nước và ủng hộ đề xuất mức tối đa 9,5%/năm cho lãi
suất huy động các kỳ hạn kể từ giữa tháng 12/2022.
Theo phân tích của giới chuyên gia tài chính, nhiều tổ chức quốc tế
đã có nhận định về bức tranh kém lạc quan của kinh tế năm 2023. Các dấu
hiệu đã bắt đầu với số lượng các đơn hàng của doanh nghiệp giảm từ cuối
năm 2022. Nhưng đây cũng là yếu tố cơ quan quản lý có thể cân nhắc hỗ
trợ thị trường tiền tệ nhằm kích thích phát triển kinh tế.
Tuy nhiên, các dự báo đưa ra kỳ vọng, tình hình sẽ dần dễ thở hơn,
lãi suất sẽ bắt đầu giảm từ quý 3/2023. Lạm phát năm 2023 sẽ theo hướng
cao trong những tháng đầu năm nhưng giảm dần kể từ 2 quý cuối năm sẽ là
điều kiện tác động tích cực lên lãi suất.
PHẦN 3. GIẢI THÍCH SỰ BIẾN ĐỘNG & PHÂN TÍCH TÌNH HÌNH
THỰC TẾ
Theo Phó Thống đốc Ngân hàng Nhà nước Đào Minh Tú, Ngân hàng Nhà nước
quyết định tăng lãi suất nhằm kiểm soát lạm phát, ổn định kinh tế vĩ mô
bao gồm tỉ giá và thị trường ngoại hối, từ đó hỗ trợ phục hồi kinh tế
cũng như đảm bảo an toàn hoạt động ngân hàng. ”Đây cũng là ưu tiên số
một của Ngân hàng Nhà nước trong thời gian tới”. [1]
3.1 Tình hình lạm phát gia tăng trên toàn cầu
Trong hai quý đầu năm 2022, lạm phát có xu hướng tăng và kéo dài, đạt
mức cao tại nhiều quốc gia trên thế giới. Cuộc xung đột Nga - Ukraine đã
gây ra những biến động trong giá năng lượng, làm gián đoạn chuỗi cung
ứng, đồng thời khan hiếm lao động sau đại dịch COVID-19 là những nguyên
nhân chính gây ra tình trạng lạm phát.
Theo Ngân hàng Thế giới (WB), tính đến quý II/2022 lạm phát toàn cầu
là 7,8%, mức cao nhất kể từ năm 2008, vượt quá mục tiêu lạm phát của tất
cả các quốc gia trên thế giới. Kinh tế thế giới tiếp tục phải đối mặt
nguy cơ suy thoái trầm trọng, giá cả leo thang và tình hình tài chính
bất ổn.[2]
Tình hình lạm phát ở một số khu vực trên thế
giới trong những năm vừa qua.
Để kiềm chế lạm phát, đưa lạm phát về mức thấp và ổn định, nhiều quốc
gia trên thế giới đã tăng lãi suất, trong đó có Việt Nam. Khi lãi suất
tăng, tiêu dùng sẽ giảm xuống bởi nếu người tiêu dùng có nhu cầu vay để
mua hàng hóa thì họ sẽ phải trả một chi phí đắt đỏ hơn.
Đối với đầu tư, chi phí vay mượn tăng làm cho khả năng sinh lời của
các khoản đầu tư trở nên thấp hơn. Vì thế mà việc tăng lãi suất cũng sẽ
làm giảm mức độ đầu tư. Khi nhu cầu vay tiêu dùng, nhu cầu vay đầu tư
giảm, trong khi việc tăng lãi suất huy động sẽ khuyến khích người dân
gửi tiền, giúp giảm lượng tiền trong lưu thông, qua đó, làm giảm sức ép
đối với xu hướng tăng giá cả, hay chính là lạm phát.
3.2 Đồng USD ở Mỹ tăng giá, làm Việt Nam bị kéo
theo
3.2.1 Ở Mỹ
Nền kinh tế Mỹ đang có mức độ lạm phát cao với 8,2% trong tháng
9/2022, trong khi lạm phát lõi - thước đo không bao gồm giá thực phẩm và
năng lượng - là 6,6%, là mức “tồi tệ nhất” kể từ năm 1982.[3]
Với mục đích “hạ nhiệt” nền kinh tế, đưa lạm phát trở lại mức mục
tiêu 2% hàng năm, Cục Dự trữ Liên bang (FED) đã liên tục nâng lãi suất
điều hành, khiến ngân hàng thương mại phải nâng lãi suất huy động để thu
hút người dân gửi tiền, đồng thời tăng lãi cho vay để đảm bảo lợi nhuận.
Điều này dẫn đến lãi suất ở Mỹ tăng trong mấy tháng vừa qua.
Chỉ số giá tiêu dùng (CPI) ở Mỹ trong 5 năm từ
2018 tới tháng 10/2022
Một trong những kết quả của việc tăng lãi suất là việc người dân Mỹ
đi gửi tiền ở ngân hàng nhiều hơn. Do đó, đồng USD rút bớt ra khỏi lưu
thông, dẫn đến việc cung tiền giảm. Theo quy luật cung - cầu, lúc này
đồng USD trở nên có giá hơn.
Cùng lúc đó, các nhà đầu tư kỳ vọng vào cam kết của chủ tịch FED
Jerome Powell rằng Mỹ sẽ kiểm soát được tình hình lạm phát, đồng thời
lãi suất trong thời gian tới có thể sẽ tiếp tục tăng mạnh và duy trì
trong một khoảng thời gian.
Những kỳ vọng này đã giúp lợi suất trái phiếu kho bạc kỳ hạn 10 năm
tăng lên đến 3,44%, gấp đôi so với một năm trước, và đã thu hút những
nhà đầu tư khắp trên thế giới. Tuy nhiên nếu mua trái phiếu Mỹ, họ phải
đổi tiền tệ của mình lấy USD. Do đó, giá trị của đồng USD được đẩy
lên.[4]
USD không ngừng tăng giá từ cuối năm 2021 tới
nay
3.2.2 Ở Việt Nam
Ở Việt Nam, bởi vì đồng USD mạnh lên nên những doanh nghiệp có vay
bằng đồng USD sẽ phải trả một khoảng lãi cao hơn. Vì vậy, nhiều doanh
nghiệp vay bằng USD phải tìm USD để trả lại tiền gốc, tiền lãi hoặc là
phải tất toán nợ vay sớm. Cầu USD tăng mạnh làm tăng giá trị đồng USD,
gây áp lực giảm giá tiền đồng.
ggplot(TyGia, aes(x = Ngày, y = TyGiaTrungTam )) +
geom_line() +
labs(title = "Biến động tỷ giá trong năm 2022 (Đơn vị: đồng)",
x = "Ngày",
y = "Tỷ giá trung tâm") +
theme(
plot.margin = unit(c(0.5, 0.5, 0.5, 0.5), "cm") )

USD là đồng tiền thanh toán thông dụng nhất trên thế giới nên khi tỷ
giá USD tăng, Việt Nam đã bắt đầu gặp những khó khăn. Tình hình xuất
nhập khẩu không thuận lợi khiến kinh tế Việt Nam trở nên suy thoái.
Trong giai đoạn này, người dân có xu hướng mua USD, với mục đích dự
trữ hoặc có thể đầu cơ. Giá USD tiếp tục tăng mạnh tại Việt Nam do cầu
vượt xa cung. Lúc này, Ngân hàng Nhà nước Việt Nam phải liên tục điều
chỉnh nâng lãi suất để thu hút hấp dẫn đối với tiền Việt Nam, bán USD để
mua Việt Nam đồng nhằm bảo vệ sức mạnh đồng nội tệ, giúp hạ nhiệt giá
xuất nhập khẩu.
3.3 Các ngân hàng đang thiếu thanh khoản
Trong báo cáo mới nhất về lĩnh vực ngân hàng của Công ty Chứng khoán
VNDirect cho biết, thanh khoản thị trường đang rất căng thẳng, là một
vấn đề đáng quan tâm đối với hệ thống ngân hàng trong thời gian vừa
qua.[5]
Sau nhiều tháng phong tỏa vào cuối năm 2021, việc nền kinh tế mở cửa
đã giúp các hoạt động sản xuất kinh doanh hồi phục mạnh trở lại, theo đó
nó cũng kéo theo nhu cầu về vốn tăng cao, tín dụng phục hồi mạnh mẽ.
Theo phân tích từ các chuyên gia, một trong những nguyên nhân khiến
nhiều ngân hàng gặp tình trạng thiếu hụt thanh khoản là do tín dụng tăng
nhanh trong khi huy động tăng chậm, khiến nhiều ngân hàng phải tìm cách
tăng huy động vốn để bù đắp cho phần đã cho vay “quá tay” trong 9 tháng
đầu năm.

Các sai phạm về phát hành trái phiếu doanh nghiệp đang bị điều tra
như vụ việc có liên quan tới SCB và Vạn Thịnh Phát cũng gây áp lực tới
thanh khoản hệ thống và khiến cho nhiều nhà đầu tư mất niềm tin trong
việc mua trái phiếu.
Theo chuyên gia kinh tế, Tiến sỹ Nguyễn Minh Phong, thiếu thanh khoản
là một trong các nguyên nhân chính khiến các ngân hàng thương mại tham
gia vào cuộc đua tăng lãi suất huy động.
Bởi nếu lãi suất thấp, ngân hàng sẽ không huy động đủ nguồn vốn để bù
đắp cho phần đã cho vay, vì vậy họ buộc phải tăng lãi suất để thu hút
người dân gửi tiền.
Mặt khác, khi một ngân hàng tăng, các ngân hàng khác cũng phải tăng
theo, nếu không thì dòng vốn sẽ dịch chuyển từ ngân hàng này sang ngân
hàng khác.[6]
3.5 Lãi suất ở Việt Nam tăng
Việc Ngân hàng Nhà nước Việt Nam tăng lãi suất cũng kéo theo việc các
ngân hàng thương mại tiếp tục tăng lãi suất huy động.
Có ngân hàng tăng lãi suất huy động đến 2 lần/tuần để thu hút vốn, từ
đó lãi suất cho vay cũng được đẩy lên rất cao. Lãi vay tăng từ 6 -
7%/năm đã lên đến mức 10 - 11%/năm với doanh nghiệp, còn đối với cá nhân
vay để mua nhà, mua xe thì mặt bằng lãi suất cho vay đã lên mức 15%/năm,
khiến người vay “ngộp thở”, doanh nghiệp không dám vay nhiều vì lãi suất
tăng cao.
Tới thời điểm hiện tại, sau khi liên tục tăng lãi suất tiết kiệm, các
ngân hàng thương mại đã thu về dòng vốn khổng lồ, thanh khoản lại trở về
trạng thái dồi dào. Mới đây, Vietcombank và HDBank vừa công bố giảm lãi
suất cho vay - một động thái được thị trường kỳ vọng sẽ tạo nên làn sóng
giảm lãi suất, giúp hỗ trợ doanh nghiệp vượt qua khó khăn hiện nay và
góp phần phục hồi và phát triển nền kinh tế.[7]
Ngân hàng Nhà nước ta phải điều chỉnh mức lãi suất tăng lên để giữ
giá trị đồng tiền VND khỏi mất giá nặng nề so với các đồng ngoại tệ
khác. Nếu không, nền kinh tế Việt Nam sẽ rơi vào thời kỳ lạm phát trầm
trọng dễ dẫn đến khủng hoảng. Nói cách khác, lãi suất tăng sẽ phần nào
làm giảm áp lực tỷ giá vì khi đó lãi suất đồng tệ trong nước tăng lên
cũng làm tăng sức hấp dẫn của đồng VND.
Ngoài ra, bằng việc tăng lãi suất, Nhà nước cũng có
thể lường trước các đợt tăng lãi suất tiếp theo của FED. Theo tờ báo
Kinh tế & Đô thị, lãi suất điều hành tăng, kéo lãi suất huy động
tăng. Việc này có lợi cho người gửi tiền, qua đó giúp hệ thống ngân hàng
tiếp tục huy động được nguồn vốn, cải thiện thanh khoản, góp phần nâng
cao an toàn hệ thống, hệ thống ngân hàng có đủ nguồn vốn để hỗ trợ quá
trình phục hồi kinh tế. [8]
Cuối cùng, giá trái phiếu tỉ lệ nghịch với lãi suất, nên khi lãi suất
tăng làm cho giá trái phiếu giảm đi, nhu cầu cho vay tiền (mua trái
phiếu) tăng lên.
Tóm lại, việc tăng lãi suất trong thời gian vừa qua
là điều tất yếu nhằm kiềm chế lạm phát, giữ giá trị đồng VND và trong
dài hạn là nhằm mục đích phát triển kinh tế.
PHẦN 4. LỜI KẾT
Việc tăng lãi suất của Ngân hàng Trung ương trên toàn cầu, bao gồm
Việt Nam, là một biện pháp cần thiết để ứng phó với nguy cơ khủng hoảng
kinh tế và lạm phát cao. Tăng lãi suất sẽ giúp ổn định tình hình tài
chính và đối phó với sức ép từ các yếu tố bên ngoài như tăng lãi suất
của Cục Dự trữ Liên bang Mỹ.
Tuy nhiên, điều này cũng đặt ra thách thức về việc duy trì ổn định
lãi suất trong bối cảnh lạm phát và biến động tỷ giá hiện tại. Ngân hàng
Trung ương cần phải tìm ra giải pháp phù hợp để hỗ trợ vốn cho các doanh
nghiệp, đồng thời cân nhắc các yếu tố ảnh hưởng đến nền kinh tế.
Đây là một thách thức đòi hỏi sự hiểu biết sâu rộng về tài chính và
tiền tệ, và cũng là cơ hội để áp dụng những kiến thức lý thuyết vào thực
tiễn.
Dù thời gian nghiên cứu bị hạn chế, nhưng em đã áp
dụng những kiến thức được học từ môn “Ngôn ngữ lập trình trong phân tích
dữ liệu” để tiến hành phân tích và xử lý dữ liệu. Em muốn một lần nữa
bày tỏ lòng biết ơn sâu sắc đến thầy Trần Mạnh Tường, người đã chia sẻ
kiến thức và kinh nghiệm trong lĩnh vực này.
Tuy nhiên, do em còn thiếu kinh nghiệm và kiến thức, bài tập của tôi
có thể không tránh khỏi những điểm chưa hoàn thiện. Em rất mong nhận
được sự góp ý từ thầy để có thể cải thiện và hoàn thiện kỹ năng của mình
trong lĩnh vực này.
Trân trọng,
Hoàng Tấn Phát.
TÀI LIỆU THAM KHẢO
[1] Báo Tiền phong (2022), Tăng lãi suất sẽ đạt những mục tiêu gì?,
https://bom.so/KtjiSJ
[2] Lạm phát toàn cầu 6 tháng đầu năm 2022. (2022, September 12).
Consosukien https://consosukien.vn/lamphat-toan-cau-6-thang-dau-nam-2022.htm
[3] Những điều khó nói về lạm phát ở Mỹ. (2022, October 28).
VnEconomy. from https://vneconomy.vn/nhung-dieu-kho-noive-lam-phat-o-my.htm
[4] Lý giải cú tăng giá ngoạn mục của đồng USD: Kẻ khóc, người cười.
(2022, September 30). Báo Lao động. https://laodong.vn/tu-lieu/ly-giai-cu-tang-gia-ngoan-muc-cua-dong-usd-kekhoc-nguoi-cuoi-1099394.ldo
[5] Ngành ngân hàng - So sánh tương quan khả năng đáp ứng rủi ro
thanh khoản giữa các ngân hàng niêm yết. (2022, October 14). VNDIRECT.
https://www.vndirect.com.vn/nganh-nganhang-so-sanh-tuong-quan-kha-nang-dap-ung-rui-ro-thanh-khoan-giua-cacngan-hang-niem-yetv2/
[6] Các ngân hàng liên tục đua lãi suất huy động, vượt 11%/năm | Tài
chính | Vietnam+. (2022, November 24). VietnamPlus. https://www.vietnamplus.vn/cac-ngan-hang-lien-tuc-dua-lai-suat-huydong-vuot-11nam/832070.vnp
[7] Dòng vốn sẽ tăng mạnh, lãi vay hạ nhiệt. (2022, November 29).
VnBusiness. https://bvsc.com.vn/News/20221129/1042444/dong-von-se-tang-manh-lai-vayha-nhiet.aspx
[8] Báo Kinh tế & Đô thị (2022), Tăng lãi suất - vì sao và ứng
phó thế nào?, https://bom.so/cw4zez
[9] Báo Tuổi trẻ (2022), Lãi suất huy động vượt 10%/năm, https://bom.so/JJwzbf
LS0tDQp0aXRsZTogIioqVEnhu4JVIExV4bqsTiBNw5ROIE5Hw5ROIE5H4buuIEzhuqxQIFRSw4xOSCoqIiANCmF1dGhvcjogIkhvw6BuZyBU4bqlbiBQaMOhdCwgMjIyMTAwMDMxNyAtIEdWIEjGsOG7m25nIGThuqtuOiBUaOG6p3kgVHLhuqduIE3huqFuaCBUxrDhu51uZyINCmRhdGU6ICJUcsaw4budbmcgxJDhuqFpIGjhu41jIFTDoGkgY2jDrW5oIC0gTWFya2V0aW5nLCB0aMOhbmcgMDMgbsSDbSAyMDI0Ig0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50Og0KICAgIHRvYzogdHJ1ZQ0KICAgIHRvY19mbG9hdDogdHJ1ZQ0KICAgIGNzczogInN0eWxlcy5jc3MiDQogICAgaGlnaHRsaWdodDoga2F0ZQ0KICAgIGNvZGVfZm9sZGluZzogaGlkZQ0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkNCmBgYA0KDQoqKioNCg0KIyMjIyA8c3BhbiBzdHlsZT0iY29sb3I6YmxhY2s7Ij4qKlRSxq/hu5xORyDEkOG6oEkgSOG7jEMgVMOASSBDSMONTkggLSBNQVJLRVRJTkcqKjwvc3Bhbj4ge3N0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsifQ0KDQojIyMjIDxzcGFuIHN0eWxlPSJjb2xvcjpibGFjazsiPioqS0hPQSBLSU5IIFThur4gLSBMVeG6rFQqKjwvc3Bhbj4ge3N0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsifQ0KDQojIyMjIDxzcGFuIHN0eWxlPSJjb2xvcjpibGFjazsiPi0tLS0tLW9Pby0tLS0tLTwvc3Bhbj4ge3N0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsifQ0KDQrjhaQNCg0KIVtdKGZpbGU6Ly8vQzovVXNlcnMvSFAvRGVza3RvcC96NTI4MDA0NTgyNDg3OV82ZWQ4NDNjYzA2NDBlYzcyZDMxMTBjNzY4MzQzYWJhYi5qcGcpeyB3aWR0aD0xNTBweCB9DQoNCuOFpA0KDQojIyA8c3BhbiBzdHlsZT0iY29sb3I6YmxhY2s7Ij4qKkLDgEkgVEnhu4JVIExV4bqsTiBNw5ROIE5Hw5ROIE5H4buuKio8L3NwYW4+IHtzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7In0NCg0KIyMgPHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrOyI+KipM4bqsUCBUUsOMTkggVFJPTkcgUEjDgk4gVMONQ0ggROG7riBMSeG7hlUqKjwvc3Bhbj4ge3N0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsifQ0KDQojIyMgPHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrOyI+KioiTmdoacOqbiBj4bupdSBiaeG6v24gxJHhu5luZyBsw6NpIHN14bqldCDhu58gVmnhu4d0IE5hbSoqPC9zcGFuPiB7c3R5bGU9InRleHQtYWxpZ246Y2VudGVyOyJ9DQoNCiMjIyA8c3BhbiBzdHlsZT0iY29sb3I6YmxhY2s7Ij4qKnbDoG8gbsSDbSAyMDIyLCBzYXUgxJHhuqFpIGThu4tjaCBDT1ZJRC0xOS4iKio8L3NwYW4+IHtzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7In0NCg0K44WkDQoNCuOFpA0KDQojIyMjIDxzcGFuIHN0eWxlPSJjb2xvcjpibGFjazsiPuOFpOOFpOOFpEdp4bqjbmcgdmnDqm4gaMaw4bubbmcgZOG6q27jhaTjhaTjhaQ644Wk44Wk44WkVGjhuqd5IFRy4bqnbiBN4bqhbmggVMaw4budbmc8L3NwYW4+IA0KDQojIyMjIDxzcGFuIHN0eWxlPSJjb2xvcjpibGFjazsiPk5nxrDhu51pIHRo4buxYyBoaeG7h27jhaTjhaTjhaTjhaQg44WkOuOFpOOFpOOFpEhvw6BuZyBU4bqlbiBQaMOhdDwvc3Bhbj4gDQoNCiMjIyMgPHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrOyI+TcOjIHPhu5Egc2luaCB2acOqbuOFpOOFpOOFpOOFpOOFpOOFpDrjhaTjhaTjhaQyMjIxMDAwMzE3LiDjhaQgPC9zcGFuPiAgDQoNCuOFpA0KDQojIyMjIDxzcGFuIHN0eWxlPSJjb2xvcjpibGFjazsiPioqVGjDoG5oIHBo4buRIEjhu5MgQ2jDrSBNaW5oLCB0aMOhbmcgMDMgbsSDbSAyMDI0Kio8L3NwYW4+DQoNCioqKg0KDQojICoqTOG7nEkgTeG7niDEkOG6plUqKg0KDQoqKioNCg0KVGjGsGEgdGjhuqd5ICoqVHLhuqduIE3huqFuaCBUxrDhu51uZyoqLA0KDQpFbSB4aW4gZ+G7rWkgbOG7nWkgYmnhur90IMahbiBzw6J1IHPhuq9jIMSR4bq/biB0aOG6p3kgduG7gSBz4buxIGjhu5cgdHLhu6MgdsOgIGThuqtuIGThuq90IHRyb25nIHN14buRdCB0aOG7nWkgZ2lhbiB0aOG6p3kgZOG6oXkgdsOgIGjGsOG7m25nIGThuqtuIGNow7puZyBlbSB0cm9uZyBtw7RuIGjhu41jIE5nw7RuIG5n4buvIGzhuq1wIHRyw6xuaCB0cm9uZyBwaMOibiB0w61jaCBk4buvIGxp4buHdS4NCg0KVGjhuqd5IMSRw6Mga2jDtG5nIG5n4burbmcgY2hpYSBz4bq7IGtp4bq/biB0aOG7qWMgdsOgIGtpbmggbmdoaeG7h20gY+G7p2EgbcOsbmgsIGdpw7pwIGNow7puZyBlbSBoaeG7g3UgcsO1IGjGoW4gduG7gSBjw6FjIGtow6FpIG5p4buHbSB2w6Agbmd1ecOqbiBsw70gY8ahIGLhuqNuIHRyb25nIGzhuq1wIHRyw6xuaC4gDQpUaMOqbSB2w6BvIMSRw7MsIHPhu7EgdOG6rW4gdMOibSBj4bunYSB0aOG6p3kgxJHDoyBnacO6cCBjaMO6bmcgZW0gcGjDoXQgdHJp4buDbiBraOG6oyBuxINuZyBzw6FuZyB04bqhbyB2w6Aga+G7uSBuxINuZyBwaMOibiB0w61jaCwgdOG7qyDEkcOzIGhvw6BuIHRoaeG7h24gYsOgaSB0aeG7g3UgbHXhuq1uIG3hu5l0IGPDoWNoIGNo4bqldCBsxrDhu6NuZyB2w6AgdOG7sSB0aW4gaMahbi4NCg0KQ2jDum5nIGVtIHLhuqV0IGJp4bq/dCDGoW4gduG7gSBz4buxIGNhbSBr4bq/dCB2w6AgdOG6rW4gdMOibSBj4bunYSB0aOG6p3kgdHJvbmcgcXXDoSB0csOsbmggaMaw4bubbmcgZOG6q24sIHbDoCBjaMO6bmcgZW0gaOG7qWEgc+G6vSB0aeG6v3AgdOG7pWMgbuG7lyBs4buxYyBo4buNYyB04bqtcCB2w6AgcGjDoXQgdHJp4buDbiBkxrDhu5tpIHPhu7Eg4bqjbmggaMaw4bufbmcgdMOtY2ggY+G7sWMgY+G7p2EgdGjhuqd5Lg0KDQpN4buZdCBs4bqnbiBu4buvYSwgZW0geGluIGNow6JuIHRow6BuaCBj4bqjbSDGoW4gdGjhuqd5IHbhu4EgbeG7jWkgxJFp4buBdSDEkcOjIGzDoG0gxJHhu4MgaOG7lyB0cuG7oyB2w6Aga2jDrWNoIGzhu4cgY2jDum5nIGVtIHRyb25nIG3DtG4gaOG7jWMgbsOgeS4NCg0KVHLDom4gdHLhu41uZywNCg0KSG/DoG5nIFThuqVuIFBow6F0Lg0KDQoqKioNCg0KIyAqKlBI4bqmTiAxLiBHSeG7mkkgVEhJ4buGVSoqDQoNCioqKg0KDQojIyAqKjEuMSBHaeG7m2kgdGhp4buHdSB24buBIMSR4buBIHTDoGkqKg0KDQojIyMgIk5naGnDqm4gY+G7qXUgYmnhur9uIMSR4buZbmcgbMOjaSBzdeG6pXQgVmnhu4d0IE5hbSAyMDIyIOKAkyBTYXUgxJHhuqFpIGThu4tjaCBDT1ZJRC0xOSINCg0KU2F1IMSR4bqhaSBk4buLY2ggQ09WSUQtMTksIG7hu4FuIGtpbmggdOG6vyB0aOG6vyBnaeG7m2kgdGnhur9wIHThu6VjIMSR4buRaSBt4bq3dCB24bubaSBuaGnhu4F1IHRow6FjaCB0aOG7qWMgbmdoacOqbSB0cuG7jW5nLCDEkeG6t2MgYmnhu4d0IGzDoCBkbyDhuqNuaCBoxrDhu59uZyBj4bunYSBjdeG7mWMgeHVuZyDEkeG7mXQgTmdhLVVrcmFpbmUsIGtoaeG6v24gdGjhur8gZ2nhu5tpIHRp4bq/biBn4bqnbiBoxqFuIMSR4bq/biBuZ3V5IGPGoSBraOG7p25nIGhv4bqjbmcgdG/DoG4gY+G6p3UuIA0KVHJvbmcgYuG7kWkgY+G6o25oIG7DoHksIG7Eg20gMjAyMiBjaOG7qW5nIGtp4bq/biBz4buxIGPhu5EgZ+G6r25nIGtow7RuZyBuZ+G7q25nIGPhu6dhIGPDoWMgcXXhu5FjIGdpYSDEkeG7gyDEkeG7kWkgcGjDsyB24bubaSBzdXkgdGhvw6FpIGtpbmggdOG6vywgY8OhYyB24bqlbiDEkeG7gSBjaMOtbmggdHLhu4ssIHjDoyBo4buZaSwgY8WpbmcgbmjGsCBjw6FjIHTDoWMgxJHhu5luZyB04burIHRoacOqbiB0YWkgdsOgIGThu4tjaCBi4buHbmgsIMSR4bq3YyBiaeG7h3QgbMOgIMOhcCBs4buxYyB04burIGzhuqFtIHBow6F0IMSRYW5nIGdpYSB0xINuZy4NCg0KVHLDqm4gdG/DoG4gY+G6p3UsIG5oaeG7gXUgbmfDom4gaMOgbmcgdHJ1bmcgxrDGoW5nIMSRw6MgdGjhu7FjIGhp4buHbiBjaMOtbmggc8OhY2ggdMSDbmcgbMOjaSBzdeG6pXQgbGnDqm4gdOG7pWMgbmjhurFtIGtp4buBbSBjaOG6vyBs4bqhbSBwaMOhdC4gDQpUcm9uZyBraGkgxJHDsywgTmfDom4gaMOgbmcgTmjDoCBuxrDhu5tjIGPhu6dhIFZp4buHdCBOYW0gY8WpbmcgcGjhuqNpIHThuq1wIHRydW5nIHbDoG8gdmnhu4djIGtp4buDbSBzb8OhdCBs4bqhbSBwaMOhdC4gVuG7m2kgdMOsbmggaMOsbmgga2luaCB04bq/IG3hu58gdsOgIG5oaeG7gXUgY+G7rWEga2jhuql1IHRoxrDGoW5nIG3huqFpLCBWaeG7h3QgTmFtIMSR4bq3dCByYSBt4bulYyB0acOqdSBxdWFuIHRy4buNbmcgbMOgIGThu7EgxJFvw6FuIHbDoCBwaOG6o24g4bupbmcgbGluaCBob+G6oXQgduG7m2kgYmnhur9uIMSR4buZbmcgbMOjaSBzdeG6pXQuDQoNCioqVuG7m2kgbmjhu69uZyB54bq/dSB04buRIHRyw6puKiosIHZp4buHYyBuZ2hpw6puIGPhu6l1IHbDoCBwaMOibiB0w61jaCB0w6xuaCBow6xuaCBsw6NpIHN14bqldCB04bqhaSBWaeG7h3QgTmFtIHRyb25nIG7Eg20gMjAyMiB0cuG7nyBuw6puIGPhu7FjIGvhu7MgcXVhbiB0cuG7jW5nIHbDoCBo4bqlcCBk4bqrbi4gDQrEkMOzIGzDoCBsw70gZG8gZW0gcXV54bq/dCDEkeG7i25oIHPhur0gdGjDtG5nIHF1YSB2aeG7h2MgbmdoacOqbiBj4bupdSwgdMOsbSBoaeG7g3Uga+G6v3QgaOG7o3AgduG6rW4gZOG7pW5nIGPDoWMga2nhur9uIHRo4bupYyDEkcOjIGjhu41jIMSR4buDIHRo4buxYyBoaeG7h24gxJHhu4EgdMOgaSDigJxOZ2hpw6puIGPhu6l1IGJp4bq/biDEkeG7mW5nIGzDo2kgc3XhuqV0IFZp4buHdCBOYW0gMjAyMiDigJMgU2F1IMSR4bqhaSBk4buLY2ggQ09WSUQtMTnigJ0uDQoNCiMjICoqMS4yIEdp4bubaSB0aGnhu4d1IHbhu4EgYuG7mSBk4buvIGxp4buHdSoqDQoNCiMjIyAxLjIuMSBC4buZIGThu68gbGnhu4d1ICJMYWlTdWF0VGllbkd1aUNhY05nYW5IYW5nLnhsc3giDQoNCkLhu5kgZOG7ryBsaeG7h3UgIioqTGFpU3VhdFRpZW5HdWlDYWNOZ2FuSGFuZy54bHN4KioiIGzDoCB04bqtcCBo4bujcCBjw6FjIHRow7RuZyB0aW4gduG7gSBsw6NpIHN14bqldCBn4butaSB0aeG6v3Qga2nhu4dtIHThuqFpIHF14bqneSBj4bunYSBjw6FjIG5nw6JuIGjDoG5nIOG7nyBWaeG7h3QgTmFtIHbDoG8gbsSDbSAyMDIyLiBC4buZIGThu68gbGnhu4d1IGdpw7pwIGNow7puZyB0YSBraMOhbSBwaMOhIHbDoCBoaeG7g3UgcsO1IGjGoW4gduG7gSB0w6xuaCBow6xuaCB0w6BpIGNow61uaCBj4bunYSDEkeG6pXQgbsaw4bubYyB0aMO0bmcgcXVhIGfDs2MgbmjDrG4gduG7gSBsw6NpIHN14bqldCB0aeG7gW4gZ+G7rWkgdGnhur90IGtp4buHbSBxdWEgcXXhuqd5IGPhu6dhIGPDoWMgbmfDom4gaMOgbmcuDQoNCipD4bulIHRo4buDIGzDoCBt4buZdCBz4buRIG5nw6JuIGjDoG5nIHNhdToqDQoNCnwgIAl8ICB8DQp8IC0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLSB8DQp8IFZpZXRjb21iYW5rICAgfFZQQmFua3wNCnwgVmlldGluQmFuayAgICB8QUNCfA0KfCBCSURWICAgICAgICAgICAgfFZJQnwNCnwgQWdyaWJhbmsgICAgfE1TQnwNCnwgTUJCYW5rICAgIHxTSEJ8DQp8IFRlY2hjb21iYW5rICAgfFRQQmFua3wNCnwgU0NCICAgICAgICAgIHxLaWVubG9uZ2Jhbmt8DQoNClZp4buHYyB0aGVvIGTDtWkgdGhheSDEkeG7lWkgbMOjaSBzdeG6pXQgcXVhIGPDoWMgdGjhu51pIGvhu7Mga2jDoWMgbmhhdSB0cm9uZyBuxINtIGNobyBjaMO6bmcgdGEgY8OhaSBuaMOsbiBzw6J1IHPhuq9jIGjGoW4gduG7gSB4dSBoxrDhu5tuZyB2w6AgYmnhur9uIMSR4buZbmcgY+G7p2EgdGjhu4sgdHLGsOG7nW5nIHTDoGkgY2jDrW5oLiANCkPDsyB0aOG7gyBxdWFuIHPDoXQgxJHGsOG7o2MgY8OhY2ggbcOgIGPDoWMgbmfDom4gaMOgbmcgcGjhuqNuIOG7qW5nIHbhu5tpIGPDoWMgeeG6v3UgdOG7kSBraW5oIHThur8sIGNow61uaCB0cuG7iyB2w6AgeMOjIGjhu5lpIHRyb25nIHF1w6EgdHLDrG5oIMSRaeG7gXUgY2jhu4luaCBsw6NpIHN14bqldC4NCg0KKipOZ2/DoGkgcmEqKiwgdmnhu4djIHNvIHPDoW5oIGzDo2kgc3XhuqV0IGdp4buvYSBjw6FjIG5nw6JuIGjDoG5nIGNobyBwaMOpcCBjaMO6bmcgdGEgxJHDoW5oIGdpw6EgdsOgIGzhu7FhIGNo4buNbiBjw6FjIGPGoSBo4buZaSB0w6BpIGNow61uaCB04buRdCBuaOG6pXQgY2hvIG5odSBj4bqndSBj4bunYSBtw6xuaC4gDQpOZ8aw4budaSBkw7luZyBjw7MgdGjhu4MgdOG6rW4gZOG7pW5nIGThu68gbGnhu4d1IG7DoHkgxJHhu4MgxJHGsGEgcmEgcXV54bq/dCDEkeG7i25oIHRow7RuZyBtaW5oIHbhu4Egdmnhu4djIMSR4bqndSB0xrAgdGnhur90IGtp4buHbSB2w6AgdMOgaSBjaMOtbmggY8OhIG5ow6JuLg0KDQojIyMgMS4yLjIgVOG7lW5nIHF1w6F0IHbhu4EgQuG7mSBk4buvIGxp4buHdQ0KDQpgYGB7ciB3YXJuaW5nPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQ0KbGlicmFyeSh4bHN4KQ0KbGlicmFyeShEVCkNCmxpYnJhcnkodGlkeXZlcnNlKQ0KbGlicmFyeShEVCkNCmxpYnJhcnkoZ2dwbG90MikNCmBgYA0KDQpgYGB7cn0NCkxhaVN1YXQgPC0gcmVhZC54bHN4KGZpbGUgPSAnRTovTGFpU3VhdFRpZW5HdWlDYWNOZ2FuSGFuZ1ZOLnhsc3gnLCBzaGVldEluZGV4ID0gMSwgaGVhZGVyID0gVCkNCnN0cihMYWlTdWF0KQ0KYGBgDQoNCioqS+G6v3QgcXXhuqMgbsOgeSoqLCBtw7QgdOG6oyBi4buZIGThu68gbGnhu4d1IMSRxrDhu6NjIGzGsHUgdHLhu68gZMaw4bubaSBk4bqhbmcgZGF0YWZyYW1lIHRyb25nIG5nw7RuIG5n4buvIGzhuq1wIHRyw6xuaCBSLiANCkThu68gbGnhu4d1IG7DoHkgY8OzIDY3MiBxdWFuIHPDoXQgdsOgIDQgYmnhur9uIChj4buZdCkuDQoNCiogQmnhur9uICJOZ8Oibi5ow6BuZyI6IMSQw6J5IGzDoCBiaeG6v24gY2jhu6lhIHTDqm4gY+G7p2EgY8OhYyBuZ8OibiBow6BuZyB04bqhaSBWaeG7h3QgTmFtLCDEkcaw4bujYyBsxrB1IGTGsOG7m2kgZOG6oW5nIGNodeG7l2kgKGNoYXJhY3RlcikuIE3hu5dpIGjDoG5nIHRyb25nIGJp4bq/biBuw6B5IMSR4bqhaSBkaeG7h24gY2hvIG3hu5l0IG5nw6JuIGjDoG5nIGPhu6UgdGjhu4MuDQoNCiogQmnhur9uICJD4bqtcC5uaOG6rXQiOiDEkMOieSBsw6AgYmnhur9uIGNo4bupYSB0aMO0bmcgdGluIHbhu4EgdGjhu51pIMSRaeG7g20gY+G6rXAgbmjhuq10IGzDo2kgc3XhuqV0IGPhu6dhIHThu6tuZyBuZ8OibiBow6BuZy4gROG7ryBsaeG7h3UgxJHGsOG7o2MgbMawdSBkxrDhu5tpIGThuqFuZyBjaHXhu5dpIChjaGFyYWN0ZXIpLCB0cm9uZyDEkcOzIG5nw6B5IHbDoCB0aMOhbmcgxJHGsOG7o2MgxJHhu4tuaCBk4bqhbmcgZMaw4bubaSBk4bqhbmcgIm1tL3l5eXkiLiBN4buXaSBow6BuZyB0cm9uZyBiaeG6v24gbsOgeSB0xrDGoW5nIOG7qW5nIHbhu5tpIG3hu5l0IHRo4budaSDEkWnhu4NtIGPhuq1wIG5o4bqtdCBsw6NpIHN14bqldC4NCg0KKiBCaeG6v24gIlRo4budaS5o4bqhbiI6IEJp4bq/biBuw6B5IGNo4bupYSB0aMO0bmcgdGluIHbhu4EgdGjhu51pIGjhuqFuIGPhu6dhIGtob+G6o24gdGnhu4FuIGfhu61pIHRp4bq/dCBraeG7h20sIMSRxrDhu6NjIGzGsHUgZMaw4bubaSBk4bqhbmcgY2h14buXaSAoY2hhcmFjdGVyKS4gQ8OhYyBnacOhIHRy4buLIHRyb25nIGJp4bq/biBuw6B5IGPDsyB0aOG7gyBsw6AgIjMgdGjDoW5nIiwgIjYgdGjDoW5nIiwgIjEyIHRow6FuZyIgaG/hurdjICIyNCB0aMOhbmciLg0KDQoqIEJp4bq/biAiTMOjaS5zdeG6pXQiOiDEkMOieSBsw6AgYmnhur9uIGNo4bupYSB0aMO0bmcgdGluIHbhu4EgbMOjaSBzdeG6pXQgdGnhu4FuIGfhu61pIHRp4bq/dCBraeG7h20gdMawxqFuZyDhu6luZyB24bubaSB04burbmcgbmfDom4gaMOgbmcgdsOgIHRo4budaSBo4bqhbiB0aeG7gW4gZ+G7rWkuIEThu68gbGnhu4d1IMSRxrDhu6NjIGzGsHUgZMaw4bubaSBk4bqhbmcgY2h14buXaSAoY2hhcmFjdGVyKSwgY8OzIHRo4buDIGJp4buDdSBkaeG7hW4gZMaw4bubaSBk4bqhbmcgcGjhuqduIHRyxINtIGhv4bq3YyBk4bqhbmcgc+G7kSB0aOG6rXAgcGjDom4uDQoNCiMjIyAxLjIuMyBDaGkgdGnhur90IHbhu4EgQuG7mSBk4buvIGxp4buHdQ0KDQrEkOG7gSB0aHXhuq1uIHRp4buHbiBoxqFuIHRyb25nIHZp4buHYyB0aGVvIGTDtWkgdsOgIHBow6JuIHTDrWNoLCB0YSB0aeG6v24gaMOgbmggY2h1eeG7g24gxJHhu5VpIGThu68gbGnhu4d1IHNhbmcgZOG6oW5nIHLhu5luZywgdOG7qWMgbMOgIGJp4bq/biBjw6FjIGdpw6EgdHLhu4sgdHJvbmcgY+G7mXQgIlRo4budaS5o4bqhbiIgdGjDoG5oIDQgY+G7mXQgcmnDqm5nIGJp4buHdCAoduG7gSB0aOG7nWkgaOG6oW4gZ+G7rWkgdGnhur90IGtp4buHbTogMyB0aMOhbmcsIDYgdGjDoW5nLCAxMiB0aMOhbmcsIDI0IHRow6FuZyksIG3hu5dpIGPhu5l0IGNo4bupYSB0aMO0bmcgdGluIHbhu4EgbMOjaSBzdeG6pXQgdMawxqFuZyDhu6luZy4NCg0KIyMjIyBC4bqiTkcgVOG7lE5HIFFVQU4gVuG7gCBMw4NJIFNV4bqkVCBUSeG7gE4gR+G7rEkgVOG6oEkgUVXhuqZZIEPhu6ZBIEPDgUMgTkfDgk4gSMOATkcgVsOATyBOxIJNIDIwMjIge3N0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsifQ0KDQoNCmBgYHtyfQ0KTGFpU3VhdE5IIDwtIExhaVN1YXQgJT4lDQogIHBpdm90X3dpZGVyKG5hbWVzX2Zyb20gPSAiVGhvaUhhbiIsIHZhbHVlc19mcm9tID0gIkxhaVN1YXQiKQ0KZGF0YXRhYmxlKExhaVN1YXROSCkNCmBgYA0KDQojIyMjIELhu5kgZOG7ryBsaeG7h3UgduG7gSBsw6NpIHN14bqldCB0aeG7gW4gZ+G7rWkgdGnhur90IGtp4buHbSB04bqhaSBxdeG6p3kgY+G7p2EgY8OhYyBuZ8OibiBow6BuZyB2w6BvIG7Eg20gMjAyMjoNCg0KVGjDtG5nIHRpbiB24buBIGzDo2kgc3XhuqV0IGfhu61pIHRp4bq/dCBraeG7h20gcXVhIHF14bqneSBj4bunYSBjw6FjIG5nw6JuIGjDoG5nIOG7nyBWaeG7h3QgTmFtIHRoxrDhu51uZyDEkcaw4bujYyBjw7RuZyBi4buRIHbDoCBj4bqtcCBuaOG6rXQgxJHhu4tuaCBr4buzIGLhu59pIE5nw6JuIGjDoG5nIE5ow6Agbsaw4bubYyBWaeG7h3QgTmFtIChOSE5OKSB2w6AgY8OhYyBuZ8OibiBow6BuZyB0aMawxqFuZyBt4bqhaS4NCg0KVHJvbmcgbsSDbSAyMDIyLCBsw6NpIHN14bqldCB0aeG7gW4gZ+G7rWkgdOG6oWkgY8OhYyBuZ8OibiBow6BuZyBjw7MgdGjhu4MgxJHGsOG7o2Mg4bqjbmggaMaw4bufbmcgYuG7n2kgbmhp4buBdSB54bq/dSB04buRIGtow6FjIG5oYXUgYmFvIGfhu5NtIGNow61uaCBzw6FjaCB0aeG7gW4gdOG7hyBj4bunYSBxdeG7kWMgZ2lhLCB0w6xuaCBow6xuaCBraW5oIHThur8sIHThu7cgbOG7hyBs4bqhbSBwaMOhdCwgdsOgIGPDoWMgeeG6v3UgdOG7kSBxdeG7kWMgdOG6vyBuaMawIGzDo2kgc3XhuqV0IGPGoSBi4bqjbiBj4bunYSBjw6FjIHF14buRYyBnaWEgcGjDoXQgdHJp4buDbi4gTeG7l2kgbmfDom4gaMOgbmcgY8OzIHRo4buDIGPDsyBjw6FjIGNow61uaCBzw6FjaCBsw6NpIHN14bqldCByacOqbmcsIHBo4bqjbiDDoW5oIHPhu7EgY+G6oW5oIHRyYW5oIHRyb25nIHRo4buLIHRyxrDhu51uZyBuZ8OibiBow6BuZy4NCg0KQuG7mSBk4buvIGxp4buHdSB24buBIGzDo2kgc3XhuqV0IHRp4buBbiBn4butaSB0aMaw4budbmcgYmFvIGfhu5NtIHRow7RuZyB0aW4gduG7gSBsw6NpIHN14bqldCDDoXAgZOG7pW5nIGNobyBjw6FjIGtob+G6o24gdGnhu4FuIGfhu61pIHF1YSBxdeG6p3kgduG7m2kgY8OhYyBr4buzIGjhuqFuIGtow6FjIG5oYXUgbmjGsCB0aeG7gW4gZ+G7rWkga+G7syBo4bqhbiAzIHRow6FuZywgdGnhu4FuIGfhu61pIGvhu7MgaOG6oW4gNiB0aMOhbmcsIHRp4buBbiBn4butaSBr4buzIGjhuqFuIDEyIHRow6FuZywgdGnhu4FuIGfhu61pIGvhu7MgaOG6oW4gMjQgdGjDoW5nLiANCg0KVHLGsOG7m2Mga2hpIG5naGnDqm4gY+G7qXUgY2hpIHRp4bq/dCBoxqFuIHbhu4EgYuG7mSBk4buvIGxp4buHdSBj4bulIHRo4buDIGhv4bq3YyDEkeG7gyBwaMOibiB0w61jaCBjw6FjIHh1IGjGsOG7m25nIGzDo2kgc3XhuqV0IHRp4buBbiBn4butaSB0aeG6v3Qga2nhu4dtIHF1YSBxdeG6p3kgdHJvbmcgbsSDbSAyMDIyLCBow6N5IGPDuW5nIHTDrG0gaGnhu4N1IGzDo2kgc3XhuqV0IGzDoCBnw6wgdsOgIG7DsyBnw6J5IHJhIG5o4buvbmcgdMOhYyDEkeG7mW5nIG7DoG8gxJHhur9uIG7hu4FuIGtpbmggdOG6vy4NCg0KIyMjIDEuMi40IMOdIG5naMSpYSBjw6FjIGNvbiBz4buRICJMw6NpIHN14bqldCIgdOG7qyBC4buZIGThu68gbGnhu4d1DQoNCiMjIyMgMS4yLjQuMSBMw6NpIHN14bqldA0KDQoqKkzDo2kgc3XhuqV0KiogxJHGsOG7o2MgaGnhu4N1IMSRxqFuIGdp4bqjbiBsw6AgZ2nDoSBj4bqjIGPhu6dhIHF1eeG7gW4gc+G7rSBk4bulbmcgbeG7mXQgxJHGoW4gduG7iyB24buRbiB2YXkgdHJvbmcgbeG7mXQgdGjhu51pIGdpYW4gbmjhuqV0IMSR4buLbmguIA0KQ8OzIHRo4buDIHhlbSBsw6NpIHN14bqldCBuaMawIG3hu5l0IGxv4bqhaSBnacOhIGPhuqMgxJHhurdjIGJp4buHdCBi4bufaSBuw7MgxJHGsOG7o2MgaMOsbmggdGjDoG5oIHRyw6puIGPGoSBz4bufIGdpw6EgdHLhu4sgY+G7p2Egdmnhu4djIHPhu60gZOG7pW5nLiANCkzDo2kgc3XhuqV0IMSRxrDhu6NjIHRo4buDIGhp4buHbiDhu58gZOG6oW5nIHThu7cgbOG7hyBwaOG6p24gdHLEg20gbmjhuqV0IMSR4buLbmggxJHGsOG7o2Mgc2luaCByYSB04burIHRo4buPYSB0aHXhuq1uIHRyb25nIGPDoWMgZ2lhbyBk4buLY2ggY2hvIHZheSBnaeG7r2EgY8OhYyBiw6puLiBLaG/huqNuIHRp4buBbiBwaOG6o2kgdHLhuqMgbsOgeSDEkcaw4bujYyBn4buNaSBsw6AgdGnhu4FuIGzDo2kuIE5nxrDhu51pIHZheSB0aeG7gW4ga2hpIHRy4bqjIHRp4buBbiBn4buRYyBj4bqnbiBwaOG6o2kgdHLhuqMgdGjDqm0gbeG7mXQga2hv4bqjbiB0aeG7gW4gbMOjaSBuaMawIMSRw6MgdGjhu49hIHRodeG6rW4gY2hvIG5nxrDhu51pIGNobyB2YXkuDQoNCsSQw6J5IGNow61uaCBsw6AgbeG7mXQgY8O0bmcgY+G7pSDEkcOzbmcgdmFpIHRyw7IgcXVhbiB0cuG7jW5nIHRyb25nIHZp4buHYyDEkeG7i25oIGjGsOG7m25nLCBz4butIGThu6VuZyBjw6FjIGPDtG5nIGPhu6UgdMOgaSBraMOzYSBjxaluZyBuaMawIMSRaeG7gXUgaMOgbmggY8OhYyBjaMOtbmggc8OhY2ggdGnhu4FuIHThu4cgaGnhu4duIGjDoG5oIGPhu6dhIE5nw6JuIGjDoG5nIE5ow6Agbsaw4bubYy4gDQpC4bufaSBkaeG7hW4gYmnhur9uIGPhu6dhIGzDo2kgc3XhuqV0IOG6o25oIGjGsOG7n25nIHRy4buxYyB0aeG6v3AgbMOqbiBraW5oIHThur8sIGPDoWMgcXV54bq/dCDEkeG7i25oIGNoaSB0acOqdSwgbXVhIHRyw6FpIHBoaeG6v3UgaGF5IGfhu61pIHRp4buBbiB0aeG6v3Qga2nhu4dtIGPhu6dhIHThu6tuZyBjw6EgbmjDom4uIA0KUXVhIMSRw7MsIGPDoWMgTmfDom4gaMOgbmcgVHJ1bmcgxrDGoW5nIGPFqW5nIGThu7FhIHbDoG8gY2jhu4kgc+G7kSBuw6B5IMSR4buDIMSRaeG7gXUgdGnhur90IGNo4buJIHRpw6p1IGtpbmggdOG6vyB2xKkgbcO0IG5oxrAgdGjhuqV0IG5naGnhu4dwLCDEkeG6p3UgdMawLCBs4bqhbSBwaMOhdOKApg0KDQoqIEPEg24gY+G7qSB2w6BvIGdpw6EgdHLhu4sgdGjhu7FjIGPhu6dhIHRp4buBbiBsw6NpLCBsw6NpIHN14bqldCDEkcaw4bujYyBjaGlhIHRow6BuaCBoYWkgbG/huqFpOiBsw6NpIHN14bqldCBkYW5oDQpuZ2jEqWEgdsOgIGzDo2kgc3XhuqV0IHRo4buxYy4gVHJvbmcgxJHDsywgbMOjaSBzdeG6pXQgZGFuaCBuZ2jEqWEgbMOgIGzDo2kgc3XhuqV0IMSRxrDhu6NjIGPDtG5nIGLhu5EgdHLDqm4gdGjhu4sNCnRyxrDhu51uZywgY2jGsGEgYuG7iyDEkWnhu4F1IGNo4buJbmggYuG7n2kg4bqjbmggaMaw4bufbmcgY+G7p2EgbOG6oW0gcGjDoXQuIEPDsm4gbMOjaSBzdeG6pXQgdGjhu7FjIGzDoCBjaOG7iSBz4buRIMSRw6MNCsSRxrDhu6NjIHTDrW5oIHRvw6FuIGzhuqFpIHNhdSBraGkgbOG6pXkgbMOjaSBzdeG6pXQgZGFuaCBuZ2jEqWEgdHLhu6sgxJFpIHThu7cgbOG7hyBs4bqhbSBwaMOhdC4gDQoNCiogQ8SDbiBj4bupIHbDoG8gZ2nDoSB0cuG7iyB0aOG7sWMgY+G7p2EgdGnhu4FuIGzDo2ksIGzDo2kgc3XhuqV0IMSRxrDhu6NjIGNoaWEgdGjDoG5oIGhhaSBsb+G6oWk6IGzDo2kgc3XhuqV0IGRhbmgNCm5naMSpYSB2w6AgbMOjaSBzdeG6pXQgdGjhu7FjLiBUcm9uZyDEkcOzLCBsw6NpIHN14bqldCBkYW5oIG5naMSpYSBsw6AgbMOjaSBzdeG6pXQgxJHGsOG7o2MgY8O0bmcgYuG7kSB0csOqbiB0aOG7iw0KdHLGsOG7nW5nLCBjaMawYSBi4buLIMSRaeG7gXUgY2jhu4luaCBi4bufaSDhuqNuaCBoxrDhu59uZyBj4bunYSBs4bqhbSBwaMOhdC4gQ8OybiBsw6NpIHN14bqldCB0aOG7sWMgbMOgIGNo4buJIHPhu5EgxJHDow0KxJHGsOG7o2MgdMOtbmggdG/DoW4gbOG6oWkgc2F1IGtoaSBs4bqleSBsw6NpIHN14bqldCBkYW5oIG5naMSpYSB0cuG7qyDEkWkgdOG7tyBs4buHIGzhuqFtIHBow6F0LiANCg0KIyMjIyAxLjIuNC4yICBN4buRaSBxdWFuIGjhu4cgZ2nhu69hIGzDo2kgc3XhuqV0IHbhu5tpIGzhuqFtIHBow6F0DQoNClRoZW8gcXV5IGx14bqtdCBraW5oIHThur8gdGjhu4sgdHLGsOG7nW5nLCBsw6NpIHN14bqldCB2w6AgbOG6oW0gcGjDoXQgdMOhYyDEkeG7mW5nIGzhuqtuIG5oYXUuIE7hur91IE5nw6JuIGjDoG5nIFRydW5nIMawxqFuZyBj4bqvdCBnaeG6o20gbMOjaSBzdeG6pXQsIHThu6ljIGzDo2kgc3XhuqV0IGNobyB2YXkgY8WpbmcgZ2nhuqNtIHRoZW8uIMSQaeG7gXUgbsOgeSBjaG8gcGjDqXAgbmfGsOG7nWkgZMOibiB2YXkgbcaw4bujbiBuaGnhu4F1IGjGoW4gxJHhu4MgxJHhuqd1IHTGsCwgZOG6q24gxJHhur9uIGN1bmcgdGnhu4FuIGNhbyB2w6AgbMaw4bujbmcgdGnhu4FuIHRyb25nIGzGsHUgdGjDtG5nIHPhur0gdMSDbmcgbMOqbi4gS2hpIGzGsOG7o25nIHRp4buBbiB0xINuZyBxdcOhIG5oaeG7gXUsIMSR4buTbmcgdGnhu4FuIHRyw6puIHRo4buLIHRyxrDhu51uZyBz4bq9IG3huqV0IGThuqduIGdpw6EgdHLhu4sgc28gduG7m2kgY8OhYyDEkeG7k25nIHRp4buBbiBraMOhYyB0csOqbiB0aOG6vyBnaeG7m2ksIHThu6sgxJHDsyBs4bqhbSBwaMOhdCBi4bqvdCDEkeG6p3UgdMSDbmcuIA0KDQpUcsOhaSBs4bqhaSwga2hpIE5nw6JuIGjDoG5nIFRydW5nIMawxqFuZyDEkWnhu4F1IGNo4buJbmggZ2lhIHTEg25nIGzDo2kgc3XhuqV0LCBrw6lvIHRoZW8gxJHDsyBsw6NpIHN14bqldCBjaG8gdmF5IGPFqW5nIHTEg25nIHRoZW8uIEzDumMgbsOgeSBuZ8aw4budaSBkw6JuIHPhur0gaOG6oW4gY2jhur8gdmF5IHRp4buBbiwgdGhheSB2w6BvIMSRw7Mgc+G6vSB0w61jaCBj4buxYyBjaHV54buDbiBzYW5nIGfhu61pIHRp4buBbiB0aeG6v3Qga2nhu4dtIMSR4buDIMSRxrDhu6NjIGjGsOG7n25nIGzDo2kgc3XhuqV0IGNhbyDEkcOzLiDEkOG7k25nIHRp4buBbiB0cm9uZyBsxrB1IHRow7RuZyBsw7pjIGLhuqV5IGdp4budIHPhur0gZOG6p24ga2hhbiBoaeG6v20gdsOgIHRy4bufIG7Dqm4gY8OzIGdpw6EgaMahbiwgZ2nhuqNtIMOhcCBs4buxYyBs4bqhbSBwaMOhdC4gVMOzbSBs4bqhaSwgdGEgY8OzIHRo4buDIGhp4buDdSBxdXkgbHXhuq10IHRo4buLIHRyxrDhu51uZyDEkcahbiBnaeG6o24gcuG6sW5nLCBsw6NpIHN14bqldCB2w6AgbOG6oW0gcGjDoXQgduG7q2EgbMOgIG5ndXnDqm4gbmjDom4gduG7q2EgbMOgIGjhu4cgcXXhuqMgY+G7p2EgbmhhdS4NCg0KVOG7qyDEkcOzLCB0aGVvIGzDvSB0aHV54bq/dCBGaXNoZXIsIHRhIGPDsyDEkcaw4bujYyBwaMawxqFuZyB0csOsbmggc2F1OiAqKmkgPSByICsgcCoqDQoNCiogVHJvbmcgcGjGsMahbmcgdHLDrG5oIHRyw6puLCBpIGzDoCBsw6NpIHN14bqldCBkYW5oIG5naMSpYSwgciBsw6AgbMOjaSBzdeG6pXQgdGjhu7FjIGPDsm4gcCBsw6Aga+G7syB24buNbmcgduG7gSBs4bqhbSBwaMOhdC4gTmdoxKlhIGzDoCwgbmfGsOG7nWkgxJFpIHZheSBraGkgdHLhuqMgbMOjaSBzdeG6pXQgcGjhuqNpIGJhbyBow6BtIGtob+G6o24gdGnhu4FuIGLDuSBs4bqhaSBwaOG6p24gdHLEg20gZ2nDoSB0cuG7iyDEkeG7k25nIHRp4buBbiBi4buLIGhhbyBo4buldC4NCg0KKioqDQoNCiMgKipQSOG6pk4gMi4gQknhur5OIMSQ4buYTkcgTMODSSBTVeG6pFQgVknhu4ZUIE5BTSBUUk9ORyBOxIJNIDIwMjIqKg0KDQoqKioNCg0KIyMgKioyLjAgVOG7lW5nIHF1YW4gdMOsbmggaMOsbmggbMOjaSBzdeG6pXQgVmnhu4d0IE5hbSB2w6BvIGPhuqMgNCBRdcO9IGPhu6dhIE7Eg20gMjAyMioqDQoNClTDoWMgxJHhu5luZyBnaeG7r2EgbMOjaSBzdeG6pXQgbGnDqm4gbmfDom4gaMOgbmcsIHThu7cgZ2nDoSB2w6AgbMOjaSBzdeG6pXQgdGnhu4FuIGfhu61pIHRp4bq/dCBraeG7h20gY+G7p2EgY8OhYyBuZ8OibiBow6BuZyB0aMawxqFuZyBt4bqhaSBsw6AgbeG7mXQgcGjhuqduIHF1YW4gdHLhu41uZyBj4bunYSBo4buHIHRo4buRbmcgdMOgaSBjaMOtbmggdsOgIGPDsyDhuqNuaCBoxrDhu59uZyDEkcOhbmcga+G7gyDEkeG6v24gbmfGsOG7nWkgdGnDqnUgZMO5bmcsIGRvYW5oIG5naGnhu4dwIHbDoCBu4buBbiBraW5oIHThur8gbsOzaSBjaHVuZy4gIA0KDQpIw6N5IGPDuW5nIHPGoSBsxrDhu6NjIHbhu4EgVOG7tyBHacOhIHbDoCBMw6NpIFN14bqldCBMacOqbiBOZ8OibiBIw6BuZyDhu58gZ2lhaSDEkW/huqFuIG7DoHkgdOG6oWkgVmnhu4d0IE5hbSDEkeG7gyBjw7Mgbmjhu69uZyBwaMOibiB0w61jaCBjaMOtbmggeMOhYyBuaOG6pXQgxJHhur9uIEzDo2kgU3XhuqV0IGfhu61pIHRp4bq/dCBraeG7h20gdOG6oWkgcXXhuqd5IGPhu6dhIGPDoWMgTmfDom4gaMOgbmcgVGjGsMahbmcgTeG6oWkgdsOgbyBuxINtIDIwMjIuDQoNCiMjIyAyLjAuMSBU4bu3IGdpw6EgDQoNClbhu5tpIGLhu5FpIGPhuqNuaCBoaeG7h24gbmF5LCB0w6FjIMSR4buZbmcgY+G7p2EgdOG7tyBnacOhIHbhu5tpIHThu6tuZyBuZ8OibiBow6BuZyDhu58gVmnhu4d0IE5hbSBjw7MgdGjhu4Mga2jDoWMgbmhhdSB2w6AgdsOsIHRo4bq/LCBjw6FjIG5nw6JuIGjDoG5nIGPFqW5nIGPhuqduIGPDsyBjaGnhur9uIGzGsOG7o2MgcmnDqm5nIMSR4buDIGThu7EgcGjDsm5nIHLhu6dpIHJvIHThu7cgZ2nDoS4NCg0KSMOjeSBjw7luZyBuaMOsbiBs4bqhaSB04bu3IGdpw6EgdsOgbyBuxINtIDIwMjIgcXVhIGLhuqNuZyBzYXU6DQoNCiMjIyBC4bqjbmcgY2hpIHRp4bq/dCB24buBIFThu7cgR2nDoSBOxINtIDIwMjIgY+G7p2EgVmnhu4d0IE5hbSAoxJHGoW4gduG7izrEkeG7k25nKSANCg0KYGBge3J9DQpUeUdpYSA8LSByZWFkLnhsc3goZmlsZSA9ICdFOi9WaWV0c3RvY2tGaW5hbmNlX0R1LWxpZXUtdmktbW9fMjAyNDAzMjUtMDgyNjI2Lnhsc3gnLCBzaGVldEluZGV4ID0gMSwgaGVhZGVyID0gVCkNCmRhdGF0YWJsZShUeUdpYSkNCmBgYA0KDQojIyMjIFF1YSDEkcOzLCB0YSBjw7MgdGjhu4MgdGjhuqV5OiANCg0KRGnhu4VuIGJp4bq/biBj4bunYSB04bu3IGdpw6EgdOG7qyDEkeG6p3UgbsSDbSwgdOG7tyBnacOhIGN14buRaSBuxINtIMSRw6MgY8OzIG3hu5l0IGdpYWkgxJFv4bqhbiB04bqhbSDhu5VuIMSR4buLbmgsIG5oxrBuZyBt4bq3dCBi4bqxbmcgdOG7tyBnacOhIMSRw6MgY2FvIGjGoW4ga2jDoSBuaGnhu4F1IHNvIHbhu5tpIMSR4bqndSBuxINtLiANCg0KQ+G7pSB0aOG7gyBsw6AsIHThu7cgZ2nDoSBVU0QgdHJ1bmcgdMOibSBuZ8OgeSA0LzEvMjAyMiAobmfDoHkgZ2lhbyBk4buLY2ggxJHhuqd1IHRpw6puIG7Eg20gMjAyMikgbMOgIDIzLjEzNCDEkeG7k25nL1VTRCwgdOG7tyBnacOhIFVTRCB0aGFtIGto4bqjbyB04bqhaSBT4bufIGdpYW8gZOG7i2NoIE5ITk4gbMOgIDIyLjY1MCDEkeG7k25nL1VTRCBtdWEgdsOgbyB2w6AgMjMuMTUwIMSR4buTbmcvVVNEIGLDoW4gcmEuIFThu7cgZ2nDoSB04bqhaSBWaWV0Y29tYmFuayBuZ8OgeSDEkeG6p3UgbsSDbSBsw6AgMjIuNjEwIMSR4buTbmcgKG11YSB0aeG7gW4gbeG6t3QpLzIyLjY0MCDEkeG7k25nIChtdWEgY2h1eeG7g24ga2hv4bqjbikgLSAyMi45MjAgxJHhu5NuZyAoYsOhbiByYSkuDQoNCmBgYHtyfQ0KZ2dwbG90KFR5R2lhLCBhZXMoeCA9IE5nw6B5LCB5ID0gVHlHaWFUcnVuZ1RhbSAgICAgICAgKSkgKw0KICBnZW9tX2xpbmUoKSArDQogIGxhYnModGl0bGUgPSAiQmnhur9uIMSR4buZbmcgdOG7tyBnacOhIHRyb25nIG7Eg20gMjAyMiAoxJDGoW4gduG7izogxJHhu5NuZykiLA0KICAgICAgIHggPSAiTmfDoHkiLA0KICAgICAgIHkgPSAiVOG7tyBnacOhIHRydW5nIHTDom0iKSArDQp0aGVtZSgNCiAgICBwbG90Lm1hcmdpbiA9IHVuaXQoYygwLjUsIDAuNSwgMC41LCAwLjUpLCAiY20iKSAgKQ0KYGBgDQoNClNhdSBoxqFuIDEwIHRow6FuZyB0csO0aSBxdWEsIMSR4bq/biB0aOG7nWkgxJFp4buDbSBoaeG7h24gdOG6oWksIHThu7cgZ2nDoSB0cnVuZyB0w6JtIHTEg25nIGtow7RuZyBuaGnhu4F1IHNvIHbhu5tpIMSR4bqndSBuxINtLCBjaOG7iSBraG/huqNuZyAyLDQlLiBUdXkgbmhpw6puLCB04bu3IGdpw6EgIHRoYW0ga2jhuqNvIHThuqFpIFPhu58gZ2lhbyBk4buLY2ggTkhOTiB2w6AgdOG7tyBnacOhIHThuqFpIG5nw6JuIGjDoG5nIHRoxrDGoW5nIG3huqFpIMSRw6MgdMSDbmcga2jDoSBt4bqhbmgga2hv4bqjbmcgNyw0JSwgY8OybiB04bu3IGdpw6EgdOG6oWkgVmlldGNvbWJhbmsgxJHDoyB0xINuZyBraG/huqNuZyA5LDIlLiBT4buxIGNow6puaCBs4buHY2ggbeG6t3QgYuG6sW5nIHThu7cgZ2nDoSBoaeG7h24gdOG6oWkgc28gduG7m2kgxJHhuqd1IG7Eg20gdGhlbyDEkcOzIMSRw6Mg4bqjbmggaMaw4bufbmcgdHLhu7FjIHRp4bq/cCDEkeG6v24gY8OhYyBkb2FuaCBuZ2hp4buHcCBjw7MgaG/huqF0IMSR4buZbmcga2luaCBkb2FuaCBsacOqbiBxdWFuIMSR4bq/biBuZ2/huqFpIHThu4cuDQoNCkPDoWMgY2h1ecOqbiBnaWEgZOG7sSBiw6FvIHLhurFuZywgZGnhu4VuIGJp4bq/biB04bu3IGdpw6EgY3Xhu5FpIG7Eg20gMjAyMiB2w6AgZ2lhaSDEkW/huqFuIDIwMjMgc+G6vSBjw7JuIHRp4bq/cCB04bulYyBwaOG7pSB0aHXhu5ljIHbDoG8gbOG7mSB0csOsbmggdMSDbmcgbMOjaSBzdeG6pXQgY+G7p2EgQ+G7pWMgROG7sSB0cuG7ryBsacOqbiBiYW5nIEhvYSBL4buzIChGZWQpLiBUaGVvIMSRw7MsIEZFRCBjw7MgdGjhu4Mgc+G6vSBjw7MgdGjDqm0gbmjhu69uZyDEkeG7o3QgdMSDbmcgbMOjaSBzdeG6pXQgdGnhur9wIHRoZW8gbmjGsG5nIGvhu7MgduG7jW5nIGPDoWMgxJHhu6N0IHTEg25nIHPhur0gbmjhurkgdsOgIHRoxrBhIGjGoW4gc28gduG7m2kgdHLGsOG7m2MsIHF1YSDEkcOzIFVTRCBz4bq9IGtow7RuZyBjw7JuIHTEg25nIGdpw6EgcXXDoSBt4bqhbmggbmjGsCB0cm9uZyBuxINtIDIwMjINCg0KIyMjIDIuMC4yIEzDo2kgc3XhuqV0IExpw6puIG5nw6JuIGjDoG5nDQoNClRo4buLIHRyxrDhu51uZyBsacOqbiBuZ8OibiBow6BuZyBsw6AgbeG7mXQgYuG7mSBwaOG6rW4gcXVhbiB0cuG7jW5nIGPhu6dhIHRo4buLIHRyxrDhu51uZyB0aeG7gW4gdOG7hywgbMOgIGvDqm5oIHRydXnhu4FuIGThuqtuIGNow61uaCBzw6FjaCB0aeG7gW4gdOG7hy4gVGjhu4sgdHLGsOG7nW5nIGxpw6puIG5nw6JuIGjDoG5nIHBow6F0IHRyaeG7g24gbMOgbmggbeG6oW5oLCBtaW5oIGLhuqFjaCBz4bq9IGdpw7pwIGPDoWMgdOG7lSBjaOG7qWMgdMOtbiBk4bulbmcgdOG6rW4gZOG7pW5nIMSRxrDhu6NjIG5o4buvbmcgY8ahIGjhu5lpIMSR4bqndSB0xrAsIGTDsm5nIHbhu5FuIMSRxrDhu6NjIHPhu60gZOG7pW5nIGhp4buHdSBxdeG6oyB2w6AgZ2nDunAgTmfDom4gaMOgbmcgTmjDoCBuxrDhu5tjIHThuqFvIGzhuq1wIG5o4buvbmcgY2jDrW5oIHPDoWNoIHRp4buBbiB04buHIGPDsyB0w6FjIMSR4buZbmcgaGnhu4d1IHF14bqjIMSR4bq/biBu4buBbiBraW5oIHThur8uDQoNCkdpYWkgxJFv4bqhbiAyMDE4LTIwMjIsIG7hu4FuIGtpbmggdOG6vyB0aOG6vyBnaeG7m2kgxJHhu5FpIG3hurd0IHbhu5tpIG5oaeG7gXUga2jDsyBraMSDbiwgdGjDoWNoIHRo4buxYyDEkeG6oWkgZOG7i2NoIENPVklELTE5IMSR4bq/biBuaOG7r25nIGJp4bq/biDEkeG7mW5nIGNow61uaCB0cuG7iywgbOG6oW0gcGjDoXQsIGNo4bqheSDEkXVhIGzDo2kgc3XhuqV0Li4uIMSQaeG7gXUgbsOgeSB0w6FjIMSR4buZbmcgbeG6oW5oIMSR4bq/biB0aOG7iyB0csaw4budbmcgbGnDqm4gbmfDom4gaMOgbmcgY8OhYyBuxrDhu5tjIHbDoCBWaeG7h3QgTmFtIGPFqW5nIGtow7RuZyBuZ2/huqFpIGzhu4cuIEjDo3kgY8O5bmcgbmjDrG4gbOG6oWkgTMOjaSBzdeG6pXQgTGnDqm4gTmfDom4gSMOgbmcgdOG6oWkgVmnhu4d0IE5hbSDEkcOjIGJp4bq/biDEkeG7mW5nIG5oxrAgdGjhur8gbsOgbyBxdWEgYuG6o25nIHNhdToNCg0KIyMjIELhuqNuZyBjaGkgdGnhur90IHbhu4EgTMOjaSBTdeG6pXQgTGnDqm4gTmfDom4gSMOgbmcgTsSDbSAyMDIyIGPhu6dhIFZp4buHdCBOYW0gKMSRxqFuIHbhu4s6ICUpIA0KDQpgYGB7cn0NCkxhaVN1YXRMTkggPC0gcmVhZC54bHN4KGZpbGUgPSAnRTovVmlldHN0b2NrRmluYW5jZV9EdS1saWV1LXZpLW1vXzIwMjQwMzI1LTA4MjgwNS54bHN4Jywgc2hlZXRJbmRleCA9IDEsIGhlYWRlciA9IFQpDQpkYXRhdGFibGUoTGFpU3VhdExOSCkNCmBgYA0KDQojIyMjIFF1YSDEkcOzIGPDsyB0aOG7gyB0aOG6pXk6DQoNCkzDo2kgc3XhuqV0IGxpw6puIG5nw6JuIGjDoG5nIGzDoCBt4buZdCB54bq/dSB04buRIGfhuq9uIGxp4buBbiB24bubaSB0w6xuaCBow6xuaCB0aGFuaCBraG/huqNuIGjhu4cgdGjhu5FuZy4gTmjhu69uZyBiaeG6v24gxJHhu5luZyB0cm9uZyBsw6NpIHN14bqldCB0aOG7iyB0csaw4budbmcgcGjhuqNuIOG6o25oIG3hu6ljIMSR4buZIHRo4burYSBoYXkgdGhp4bq/dSB24buRbiBj4bunYSB0aMOsIHRyxrDhu51uZyB04bqhaSB04burbmcgdGjhu51pIMSRaeG7g20uDQoNClRo4buLIHRyxrDhu51uZyBsacOqbiBuZ8OibiBow6BuZyBjw7JuIGPDsyBt4buZdCBz4buRIGjhuqFuIGNo4bq/IHbhu4EgdMOtbmggdGhhbmgga2hv4bqjbi4gQ+G7pSB0aOG7gywgdGjhu4sgdHLGsOG7nW5nIHLhuqV0IG5o4bqheSBj4bqjbSB24bubaSB0aMO0bmcgdGluIGThuqtuIHThu5tpIHZp4buHYyB0w61jaCB0cuG7ryB0aGFuaCBraG/huqNuIGtoaSBtw6AgdGjhu4sgdHLGsOG7nW5nIMSRYW5nIHRoaeG6v3UgduG7kW4uIA0KDQpUw6JtIGzDvSBuw6B5IGPDsyB0aOG7gyBsw6BtIOG6o25oIGjGsOG7n25nIGzhu5tuIMSR4bq/biBj4bqjIGjhu4cgdGjhu5FuZyBtw6AgeHXhuqV0IHBow6F0IHThu6sgdmnhu4djIHTDrW4gbmhp4buHbSBj4bunYSBjw6FjIG5nw6JuIGjDoG5nIHbhu5tpIG5oYXUuIELDqm4gY+G6oW5oIMSRw7MsIFZp4buHdCBOYW0gY2jGsGEgY8OzIG3hu5l0IGjhu4cgdGjhu5FuZyB44bq/cCBo4bqhbmcgxJHGsOG7o2MgY8O0bmcgYuG7kSBjaMOtbmggdGjhu6ljIGRvIG3hu5l0IHThu5UgY2jhu6ljIHV5IHTDrW4gY2jhu4t1IHRyw6FjaCBuaGnhu4dtLiANCg0KSGnhu4duIHThuqFpLCBjw6FjIE5IVE0gxJFhbmcgdGjhu7FjIGhp4buHbiDEkcOhbmggZ2nDoSB44bq/cCBo4bqhbmcgdMOtbiBuaGnhu4dtIGzhuqtuIG5oYXUgYuG6sW5nIG5o4buvbmcgcXV5IGNodeG6qW4gbuG7mWkgYuG7mSBkbyBjw6EgbmjDom4gbeG7l2kgbmfDom4gaMOgbmcgdOG7sSB4w6J5IGThu7FuZyBiYW8gZ+G7k20gY8OhYyBjaOG7iSB0acOqdSB0w6BpIGNow61uaCB2w6AgcGhpIHTDoGkgY2jDrW5oLg0KDQpC4bqjbmc6IFThu5VuZyBo4bujcCB04buVbmcgZG9hbmggc+G7kSBnaWFvIGThu4tjaCBsacOqbiBuZ8OibiBow6BuZyBjw6FjIGvhu7MgaOG6oW4gZ2lhaSDEkW/huqFuIDIwMTgtMjAyMiAodOG7tyDEkeG7k25nKQ0KDQp8ICAgICAgIHwgMjAxOCAgICAgICB8IDIwMTkgICAgICAgfCAyMDIwICAgICAgIHwgMjAyMSAgICAgICB8IDIwMjIgICAgICAgfA0KfC0tLS0tLS18LS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLXwNCnwgVGjDoW5nIDEgfCA1ODcuNjYzICAgIHwgOTcxLjc2OSAgICB8IDEuMTExLjExMyAgfCAxLjgzNi42NTkgIHwgMi40OTEuMzUzICB8DQp8IFRow6FuZyAyIHwgNDE4LjU1NSAgICB8IDc1My4zNTggICAgfCAxLjIwNS43ODcgIHwgMi42NTguMTUwICB8IDIuOTU5LjUxMCAgfA0KfCBUaMOhbmcgMyB8IDY3NS4wODUgICAgfCAxLjExMC45ODMgIHwgMS4zMDYuMzg5ICB8IDIuMzE3LjE3NiAgfCA0LjY2Mi4zNjcgIHwNCnwgVGjDoW5nIDQgfCA2MDkuNzU1ICAgIHwgMS4yNTIuNDI4ICB8IDIuMjYxLjcxNyAgfCAyLjI5Ni44OTggIHwgNC4wOTguMDMzICB8DQp8IFRow6FuZyA1IHwgNjg1LjAxMiAgICB8IDEuMDIzLjcwOSAgfCAxLjA1MC44ODYgIHwgMy4wMTcuMzkwICB8IDUuMjc4LjA0OCAgfA0KfCBUaMOhbmcgNiB8IDY1MC4xOTYgICAgfCAxLjE4Mi42NzAgIHwgMS4xNjAuNDQzICB8IDIuNzE4LjYzNiAgfCA0Ljg2NC4wMTAgIHwNCnwgVGjDoW5nIDcgfCA1NDMuODkyICAgIHwgMS4yMjMuODk2ICB8IDEuNDMxLjg3NiAgfCAzLjcwMy44NzUgIHwgNC42OTcuOTU3ICB8DQp8IFRow6FuZyA4IHwgNTkwLjc3NiAgICB8IDEuMzU0LjI0OSAgfCAxLjQzMC40MjUgIHwgMi45MDkuMjMyICB8IDUuNTI5LjA3NSAgfA0KfCBUaMOhbmcgOSB8IDYzNS43NzcgICAgfCAxLjIxNC45MzggIHwgMS4zMjUuNDg5ICB8IDMuNjM3Ljg5NSAgfCA0Ljk3NC42MjcgIHwNCnwgVGjDoW5nIDEwfCA2MzAuNzQ3ICAgIHwgMS4yMjEuMjY0ICB8IDEuNDYwLjA0OCAgfCA0LjEzMi44MDUgIHwgNC43OTMuNTEzICB8DQp8IFRow6FuZyAxMXwgOTEyLjU1NCAgICB8IDEuNzM3LjQ4NyAgfCAxLjUxOS41OTkgIHwgMi44NzguMTcyICB8IDUuMjgyLjIzNiAgfA0KfCBUaMOhbmcgMTJ8IDg5MC43OTIgICAgfCAxLjY5NS43MjQgIHwgMi4zMTAuNTIwICB8IDMuNjM3LjkyMSAgfCA1LjM2OS4xMDUgIHwNCg0KTMOjaSBzdeG6pXQgYsOsbmggcXXDom4gbGnDqm4gbmfDom4gaMOgbmcgMjAxOC0yMDIyIG5nb8OgaSBwaOG6o24gw6FuaCB0w6xuaCBow6xuaCB0aGFuaCBraG/huqNuIGjhu4cgdGjhu5FuZyBjw7JuIHBo4bqjbiDDoW5oIHBo4bqnbiBuw6BvIHTDrG5oIGjDrG5oIGPhu6dhIG7hu4FuIGtpbmggdOG6vy4gTMOjaSBzdeG6pXQgZ2nhuqNtIG3huqFuaCDEkeG6t2MgYmnhu4d0IHbDoG8gMiBuxINtIDIwMjAgdsOgIDIwMjEsIGNow61uaCBsw6AgdGjhu51pIMSRaeG7g20gbcOgIG7hu4FuIGtpbmggdOG6vyBi4buLIOG6o25oIGjGsOG7n25nIG7hurduZyBu4buBIG5o4bqldCBkbyBk4buLY2ggYuG7h25oIENPVklELTE5LCBuaGnhu4F1IGRvYW5oIG5naGnhu4dwIHBo4bqjaSB04bqhbSBuZ+G7q25nIGhv4bq3YyBnaeG6o20gcXV5IG3DtCBob+G6oXQgxJHhu5luZyBraGnhur9uIHZp4buHYyBnaeG6o2kgbmfDom4gY8WpbmcgaOG6oW4gY2jhur8gaMahbi4gDQoNClRoYW5oIGtob+G6o24gZOG7k2kgZMOgbyBuaMawbmcgZG9hbmggbmdoaeG7h3Agw610IHRp4bq/cCBj4bqtbiwgTkhOTiBo4buXIHRy4bujIG7hu4FuIGtpbmggdOG6vyBi4bqxbmcgbmhp4buBdSBiaeG7h24gcGjDoXAgdHJvbmcgxJHDsyBnaeG6o20gbMOjaSBzdeG6pXQgxJFp4buBdSBow6BuaCBjxaluZyBsw6BtIG3hurd0IGLhurFuZyBjaHVuZyBj4bunYSBsw6NpIHN14bqldCBsacOqbiBuZ8OibiBow6BuZyBnaeG6o20gc8OidSBr4bu3IGzhu6VjLiBWaeG7h2MgbMOjaSBzdeG6pXQgYuG6rXQgdMSDbmcgbOG6oWkgdsOgbyAyMDIyIG5nb8OgaSDhuqNuaCBoxrDhu59uZyB04burIG7hu4FuIGtpbmggdOG6vyB0aOG6vyBnaeG7m2kgdsOgIGzhuqFtIHBow6F0IGPFqW5nIGNobyB0aOG6pXkga2jhu59pIHPhuq9jIGjhu5NpIHBo4bulYyBzYXUgZOG7i2NoIGPhu6dhIGtpbmggdOG6vyBWaeG7h3QgTmFtLg0KDQojIyMjIyBIw6N5IGPDuW5nIG5ow6xuIHF1YSBuaOG7r25nIGJp4bq/biDEkeG7mW5nIHbhu4EgTMOjaSBTdeG6pXQgTGnDqm4gTmfDom4gSMOgbmcgxJHGsOG7o2MgcXVhIMSR4buTIHRo4buLIHNhdToNCg0KYGBge3J9DQpnZ3Bsb3QoTGFpU3VhdExOSCwgYWVzKHggPSBOZ8OgeSkpICsNCiAgZ2VvbV9saW5lKGFlcyh5ID0gUXVhRGVtLCBjb2xvciA9ICJRdWHEkMOqbSIpKSArDQogIGdlb21fbGluZShhZXMoeSA9IFgxdHVhbiwgY29sb3IgPSAiMXR1YW4iKSkgKw0KICBnZW9tX2xpbmUoYWVzKHkgPSBYMnR1YW4sIGNvbG9yID0gIjJ0dWFuIikpICsNCiAgZ2VvbV9saW5lKGFlcyh5ID0gWDF0aGFuZywgY29sb3IgPSAiMXRoIikpICsNCiAgZ2VvbV9saW5lKGFlcyh5ID0gWDN0aGFuZywgY29sb3IgPSAiM3RoIikpICsNCiAgZ2VvbV9saW5lKGFlcyh5ID0gWDZ0aGFuZywgY29sb3IgPSAiNnRoIikpICsNCiAgZ2VvbV9saW5lKGFlcyh5ID0gWDl0aGFuZywgY29sb3IgPSAiOXRoIikpICsNCiAgbGFicyh0aXRsZSA9ICJCaeG6v24gxJHhu5luZyBMw6NpIFN14bqldCBMacOqbiBOZ8OibiBIw6BuZyBWaeG7h3QgTmFtIDIwMjIiLCB4ID0gIk5nw6B5IiwgeSA9ICJMw6NpIFN14bqldCBMacOqbiBOZ8OibiBIw6BuZyIpICsNCnRoZW1lKA0KICAgIHBsb3QubWFyZ2luID0gdW5pdChjKDAuNSwgMC41LCAwLjUsIDAuNSksICJjbSIpICApDQpgYGANCkJp4buDdSDEkeG7kyBiaeG6v24gxJHhu5luZyBsw6NpIHN14bqldCB0cm9uZyBuxINtIDIwMjIgY2hvIHRo4bqleSBy4bqxbmcgY8OzIGPDoWMgZ2lhaSDEkW/huqFuIG3DoCBsw6NpIHN14bqldCB0xINuZyDEkeG7mXQgbmfhu5l0IGhv4bq3YyB0xINuZyDhu5VuIMSR4buLbmguIE5o4buvbmcgZ2lhaSDEkW/huqFuIG7DoHkgdGjGsOG7nW5nIHBo4bqjbiDDoW5oIHPhu7EgbG8gbmfhuqFpIHbhu4EgbOG6oW0gcGjDoXQsIHTEg25nIHRyxrDhu59uZyBraW5oIHThur8gbeG6oW5oIG3hur0gaG/hurdjIGPDoWMgYmnhur9uIMSR4buZbmcgdHLDqm4gdGjhu4sgdHLGsOG7nW5nIHTDoGkgY2jDrW5oIHF14buRYyB04bq/Lg0KDQpCaeG7g3UgxJHhu5MgYmnhur9uIMSR4buZbmcgbMOjaSBzdeG6pXQgbGnDqm4gbmfDom4gaMOgbmcgdHJvbmcgbsSDbSAyMDIyIGzDoCBt4buZdCBjw7RuZyBj4bulIHF1YW4gdHLhu41uZyDEkeG7gyBoaeG7g3UgdsOgIHBow6JuIHTDrWNoIHTDrG5oIGjDrG5oIGtpbmggdOG6vyB2w6AgdMOgaSBjaMOtbmggY+G7p2EgVmnhu4d0IE5hbS4gVmnhu4djIMSRw6FuaCBnacOhIGPDoWMgeeG6v3UgdOG7kSBu4buZaSDEkeG7i2EgdsOgIHF14buRYyB04bq/IOG6o25oIGjGsOG7n25nIMSR4bq/biBiaeG6v24gxJHhu5luZyBsw6NpIHN14bqldCBz4bq9IGdpw7pwIGPDoWMgbmjDoCDEkeG6p3UgdMawLCBkb2FuaCBuZ2hp4buHcCB2w6AgY2jDrW5oIHBo4bunIMSRxrBhIHJhIGPDoWMgcXV54bq/dCDEkeG7i25oIGNoaeG6v24gbMaw4bujYyBwaMO5IGjhu6NwIMSR4buDIOG7lW4gxJHhu4tuaCB0aOG7iyB0csaw4budbmcgdsOgIHRow7pjIMSR4bqpeSB0xINuZyB0csaw4bufbmcga2luaCB04bq/IGLhu4FuIHbhu69uZy4NCg0KSMOjeSBjw7luZyB0w6xtIGhp4buDdSBj4bulIHRo4buDIGdp4buvYSBuaOG7r25nIGJp4bq/biDEkeG7mW5nIGPhu6dhIEzDo2kgc3XhuqV0IGxpw6puIG5nw6JuIGjDoG5nIHRow6wgY8OhYyBOZ8OibiBow6BuZyB0aMawxqFuZyBt4bqhaSDEkcOjIGPDsyBuaOG7r25nIGJp4bq/biDEkeG7mW5nIGPhu6UgdGjhu4MgbsOgbyDEkeG6v24gTMOjaSBzdeG6pXQgZ+G7rWkgdGnhur90IGtp4buHbSBxdWEgcXXhuqd5IHbDoG8gbmjhu69uZyBxdcO9IG7Eg20gMjAyMi4NCg0KIyMgKioyLjEgVMOsbmggaMOsbmggbMOjaSBzdeG6pXQgVmnhu4d0IE5hbSDhu58gUXXDvSAxLCBOxINtIDIwMjIqKg0KDQojIyMgMi4xLjEgTMOjaSBzdeG6pXQgdGnhur90IGtp4buHbSBuZ8OibiBow6BuZyBUaMOhbmcgMS8yMDIyDQoNCkhp4buHbiDEkcOjIMSR4bq/biBtw7lhIGNhbyDEkWnhu4NtIGN14buRaSBuxINtLCB0aGFuaCBraG/huqNuIGjhu4cgdGjhu5FuZyBi4bqvdCDEkeG6p3UgY8OzIGThuqV1IGhp4buHdSBjxINuZyB0aOG6s25nIHThuqFtIHRo4budaS4gVsOsIHbhuq15LCBuaGnhu4F1IG5nw6JuIGjDoG5nIHRoxrDGoW5nIG3huqFpIMSRw6MgY2jhu6cgxJHhu5luZyDEkWnhu4F1IGNo4buJbmggdMSDbmcgbMOjaSBzdeG6pXQgdGnhur90IGtp4buHbSDEkeG7gyBow7p0IHRp4buBbiBn4butaSB04burIHRo4buLIHRyxrDhu51uZy4NCg0KYGBge3J9DQpUaGFuZzEgPC0gTGFpU3VhdCAlPiUgZmlsdGVyKENhcE5oYXQgPT0gIjAxLzIwMjIiKQ0KYW5nbGUgPC0gNDUNCmdncGxvdChUaGFuZzEsIGFlcyh4ID0gTmdhbkhhbmcsIHkgPSBMYWlTdWF0LCBjb2xvciA9IFRob2lIYW4sIGdyb3VwID0gVGhvaUhhbikpICsNCiAgZ2VvbV9saW5lKCkgKw0KICBnZW9tX3BvaW50KHNpemUgPSAyLjUpICsNCiAgbGFicyh4ID0gIk5nw6JuIEjDoG5nIiwgeSA9ICJMw6NpIFN14bqldCIsIHRpdGxlID0gIkzDo2kgc3XhuqV0IHRp4bq/dCBraeG7h20gdOG6oWkgcXXhuqd5IHRow6FuZyAwMS8yMDIyICjEkcahbiB24buLOiAlL27Eg20pIikgKw0KICB0aGVtZV9taW5pbWFsKCkrDQogIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gYW5nbGUsIGhqdXN0ID0gMSksICANCiAgICAgICAgYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDYpLCAgDQogICAgICAgIHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoaGp1c3QgPSAwLjUpKSArICANCiAgdGhlbWUoDQogICAgcGxvdC5tYXJnaW4gPSB1bml0KGMoMC41LCAwLjUsIDAuNSwgMC41KSwgImNtIikgICkNCmBgYA0KDQpU4bqhaSBuaMOzbSA0IG5nw6JuIGjDoG5nIHRoxrDGoW5nIG3huqFpIG5ow6Agbsaw4bubYyAoVmlldGNvbWJhbmssIFZpZXRpbkJhbmssIEFncmliYW5rIHbDoCBCSURWKSB0cm9uZyB0aMOhbmcgbsOgeSBjaOG7iSBWaWV0Y29tYmFuayBsw6AgY8OzIMSRaeG7gXUgY2jhu4luaCBnaeG6o20gbMOjaSBzdeG6pXQgdOG6oWkgbeG7mXQgc+G7kSBr4buzIGjhuqFuIG5n4bqvbi4gDQoNCkLDqm4gY+G6oW5oIMSRw7MsIGtow6FjaCBow6BuZyBjw7MgdGjhu4MgY8OibiBuaOG6r2MgbOG7sWEgY2jhu41uIGfhu61pIHRp4buBbiDhu58gbeG7mXQgc+G7kSBuZ8OibiBow6BuZyBraMOhYyBjxaluZyBjw7MgbMOjaSBzdeG6pXQgdGnhur90IGtp4buHbSB0xrDGoW5nIMSR4buRaSBj4bqhbmggdHJhbmggbmjGsCBNQkJhbmsgKDYsOSUvbsSDbSksIE5nw6JuIGjDoG5nIFZp4buHdCDDgSAoNiw5JS9uxINtKS4uLiBOaMawbmcsIGPDoWMgbmfDom4gaMOgbmcgbsOgeSDEkeG7gXUgY8OzIG5o4buvbmcgdGnDqnUgY2h14bqpbiByacOqbmcgxJHhu4MgxJHhuqF0IMSRxrDhu6NjIG3hu6ljIGzDo2kgc3XhuqV0IG5oxrAgdHLDqm4sIGNo4bupIGtow7RuZyBjw6BvIGLhurFuZyBjaG8gbeG7jWkga2hv4bqjbiB0aeG7gW4gZ+G7rWkuDQoNCioqVHV5IG5oacOqbioqLCDEkWnhu4F1IG7DoHkga2jDtG5nIOG6o25oIGjGsOG7n25nIMSR4bq/biBt4bupYyBsw6NpIHN14bqldCBjYW8gbmjhuqV0IMSRYW5nIMSRxrDhu6NjIGh1eSDEkeG7mW5nIHThuqFpIG5nw6JuIGjDoG5nIG7DoHkuIA0KVHJvbmcgxJHDsywgbeG7qWMgbMOjaSBzdeG6pXQgbmfDom4gaMOgbmcgY2FvIG5o4bqldCBsw6AgNSw2JS9uxINtIHThuqFpIFZpZXRpbkJhbms7IGJhIG5nw6JuIGjDoG5nIGPDsm4gbOG6oWkgY8OzIGNodW5nIG3hu6ljIDUsNSUvbsSDbS4NCg0KVlBCYW5rIHbhuqtuIOG7nyB24buLIHRyw60gY3Xhu5FpIGPDuW5nIHbhu5tpIG3hu5tpIGzDo2kgc3XhuqV0IGNhbyBuaOG6pXQgY2jhu4kgxJHhuqF0IDUsNCUgY2hvIGvhu7MgaOG6oW4gMTUtMzYgdGjDoW5nLCBrw6htIHRoZW8gxJFp4buBdSBraeG7h24ga2jDoWNoIGjDoG5nIGfhu61pIDUwIHThu7cgxJHhu5NuZyB0cuG7nyBsw6puLg0KDQojIyMgMi4xLjIgTMOjaSBzdeG6pXQgdGnhur90IGtp4buHbSBuZ8OibiBow6BuZyBUaMOhbmcgMi8yMDIyDQoNCkLGsOG7m2Mgc2FuZyDEkeG6p3UgdGjDoW5nIDIvMjAyMiwgaMOgbmcgbG/huqF0IG5nw6JuIGjDoG5nIHRp4bq/cCB04bulYyDEkWnhu4F1IGNo4buJbmggdMSDbmcgYmnhu4N1IGzDo2kgc3XhuqV0IGh1eSDEkeG7mW5nLiBDw7luZyB24bubaSB2aeG7h2MgdMOtbiBk4bulbmcgYuG7qXQgdOG7kWMgbmdheSB0cm9uZyB0aMOhbmcgxJHhuqd1IHRpw6puIGPhu6dhIG7Eg20gbeG7m2kgdsOgIMOhcCBs4buxYyBs4bqhbSBwaMOhdCBuZ8OgeSBjw6BuZyB0xINuZywgbmhp4buBdSBuZ8OibiBow6BuZyB0aMawxqFuZyBt4bqhaSB0aeG6v3AgdOG7pWMgxJFp4buBdSBjaOG7iW5oIGJp4buDdSBsw6NpIHN14bqldCB0aeG6v3Qga2nhu4dtIGPhu6dhIG3DrG5oIHRoZW8gaMaw4bubbmcgdMSDbmcgbMOqbiDEkeG7gyBow7p0IHRp4buBbiBn4butaSB04burIHRo4buLIHRyxrDhu51uZy4NCg0KYGBge3J9DQpUaGFuZzIgPC0gTGFpU3VhdCAlPiUgZmlsdGVyKENhcE5oYXQgPT0gIjAyLzIwMjIiKQ0KZ2dwbG90KFRoYW5nMiwgYWVzKHggPSBOZ2FuSGFuZywgeSA9IExhaVN1YXQsIGNvbG9yID0gVGhvaUhhbiwgZ3JvdXAgPSBUaG9pSGFuKSkgKw0KICBnZW9tX2xpbmUoKSArDQogIGdlb21fcG9pbnQoc2l6ZSA9IDIuNSkgKw0KICBsYWJzKHggPSAiTmfDom4gSMOgbmciLCB5ID0gIkzDo2kgU3XhuqV0IiwgdGl0bGUgPSAiTMOjaSBzdeG6pXQgdGnhur90IGtp4buHbSB04bqhaSBxdeG6p3kgdGjDoW5nIDAyLzIwMjIgKMSRxqFuIHbhu4s6ICUvbsSDbSkiKSArDQogIHRoZW1lX21pbmltYWwoKSsNCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSBhbmdsZSwgaGp1c3QgPSAxKSwgIA0KICAgICAgICBheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChzaXplID0gNiksICANCiAgICAgICAgcGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChoanVzdCA9IDAuNSkpICsgIA0KICB0aGVtZSgNCiAgICBwbG90Lm1hcmdpbiA9IHVuaXQoYygwLjUsIDAuNSwgMC41LCAwLjUpLCAiY20iKSAgKQ0KYGBgDQoNCkhp4buHbiB04bqhaSwgbeG6t2MgZMO5IGNo4buJIHPhu5EgbOG6oW0gcGjDoXQgQ1BJIGPhu6dhIFZp4buHdCBOYW0gxJHhuqF0IDEsOTQlLCBuaMawbmcgbmjDs20gbmdoacOqbiBj4bupdSB04bqhaSBCVlNDIGNobyBy4bqxbmcsIMOhcCBs4buxYyBs4bqhbSBwaMOhdCBz4bq9IGNhbyBoxqFuIGtoaSBnacOhIG5oaeG7gXUgbG/huqFpIG5ndXnDqm4gduG6rXQgbGnhu4d1IMSRw6MgxJFhbmcgY8OzIHh1IGjGsOG7m25nIHTEg25nIG3huqFuaC4NCg0KKiBU4bqhaSBi4bqjbmcgeOG6v3AgaOG6oW5nIGzDo2kgc3XhuqV0IGNhbyBuaOG6pXQgdGjDoW5nIDIvMjAyMiwgU0NCIGThuqtuIMSR4bqndSB24bubaSBt4bupYyBsw6NpIHN14bqldCA3LDYlL27Eg20uIEtow6FjaCBow6BuZyBtdeG7kW4gbmjhuq1uIMSRxrDhu6NjIG3hu6ljIGzDo2kgc3XhuqV0IG7DoHkgY+G6p24gcGjhuqNpIGfhu61pIGtob+G6o24gdGnhu4FuIDUwMCB04bu3IMSR4buTbmcgY2hvIGvhu7MgaOG6oW4gMTMgdGjDoW5nLg0KDQoqIFRp4bq/cCDEkeG6v24gbMOgIFRlY2hjb21iYW5rIHbhu5tpIG3hu6ljIDcsMSUvbsSDbS4gS2jDoWNoIGjDoG5nIG114buRbiBuaOG6rW4gxJHGsOG7o2MgbeG7qWMgbMOjaSBzdeG6pXQgbsOgeSBj4bqnbiBwaOG6o2kgZ+G7rWkga2hv4bqjbiB0aeG7gW4gdOG7qyA5OTkgdOG7tyDEkeG7k25nIHRy4bufIGzDqm4gdOG6oWkga+G7syBo4bqhbiAxMiB0aMOhbmcuDQoNCiogTGnhu4FuIHNhdSBsw6AgbmfDom4gaMOgbmcgTVNCIHbhu5tpIG3hu6ljIOG6pW4gxJHhu4tuaCA3JS9uxINtIHbDoCDEkWnhu4F1IGtp4buHbiBz4buRIHRp4buBbiBn4butaSDDoXAgZOG7pW5nIHThu6sgMjAwIHThu7cgxJHhu5NuZyB0cuG7nyBsw6puIHThuqFpIGhhaSBr4buzIGjhuqFuIGzDoCAxMiB0aMOhbmcgdsOgIDEzIHRow6FuZy4NCg0KKiDEkMOhbmcgY2jDuiDDvSwgVlBCYW5rIMSRw6MgdGhvw6F0IGto4buPaSB24buLIHRyw60gY3Xhu5FpIGLhuqNuZyBraGkgbeG7qWMgbMOjaSBzdeG6pXQgY2FvIG5o4bqldCDhu58gxJHDonkgxJHDoyB0xINuZyBsw6puIG3hu6ljIDYsNyUvbsSDbSBjaG8ga2hv4bqjbiB0aeG7gW4gbOG7m24gaMahbiA1MCB04bu3LCBr4buzIGjhuqFuIDM2IHRow6FuZy4NCg0KKlThuqFpIG5ow7NtIDQgbmfDom4gaMOgbmcgdGjGsMahbmcgbeG6oWkgbmjDoCBuxrDhu5tjIChWaWV0Y29tYmFuaywgVmlldGluQmFuaywgQWdyaWJhbmsgdsOgIEJJRFYpIHRyb25nIHRow6FuZyBuw6B5IGNo4buJIFZpZXRjb21iYW5rIGzDoCBjw7MgxJFp4buBdSBjaOG7iW5oIGdp4bqjbSBsw6NpIHN14bqldCB04bqhaSBt4buZdCBz4buRIGvhu7MgaOG6oW4gbmfhuq9uLiBUdXkgbmhpw6puIMSRaeG7gXUgbsOgeSBraMO0bmcg4bqjbmggaMaw4bufbmcgxJHhur9uIG3hu6ljIGzDo2kgc3XhuqV0IGNhbyBuaOG6pXQgxJFhbmcgxJHGsOG7o2MgaHV5IMSR4buZbmcgdOG6oWkgbmfDom4gaMOgbmcgbsOgeS4gVHJvbmcgxJHDsywgbeG7qWMgbMOjaSBzdeG6pXQgbmfDom4gaMOgbmcgY2FvIG5o4bqldCBsw6AgNSw2JS9uxINtIHThuqFpIFZpZXRpbkJhbms7IGJhIG5nw6JuIGjDoG5nIGPDsm4gbOG6oWkgY8OzIGNodW5nIG3hu6ljIDUsNSUvbsSDbS4NCg0KIyMjIDIuMS4zIEzDo2kgc3XhuqV0IHRp4bq/dCBraeG7h20gbmfDom4gaMOgbmcgVGjDoW5nIDMvMjAyMg0KDQpCxrDhu5tjIHNhbmcgbmjhu69uZyBuZ8OgeSDEkeG6p3UgdGjDoW5nIDMvMjAyMiwgYmnhu4N1IGzDo2kgc3XhuqV0IHRp4bq/dCBraeG7h20gdOG6oWkgbmhp4buBdSBuZ8OibiBow6BuZyDEkeG7gXUgZ2nhu68gbmd1ecOqbiBzbyB24bubaSB0aMOhbmcgdHLGsOG7m2MgxJHDsy4uLg0KDQpgYGB7cn0NClRoYW5nMyA8LSBMYWlTdWF0ICU+JSBmaWx0ZXIoQ2FwTmhhdCA9PSAiMDMvMjAyMiIpDQpnZ3Bsb3QoVGhhbmczLCBhZXMoeCA9IE5nYW5IYW5nLCB5ID0gTGFpU3VhdCwgY29sb3IgPSBUaG9pSGFuLCBncm91cCA9IFRob2lIYW4pKSArDQogIGdlb21fbGluZSgpICsNCiAgZ2VvbV9wb2ludChzaXplID0gMi41KSArDQogIGxhYnMoeCA9ICJOZ8OibiBIw6BuZyIsIHkgPSAiTMOjaSBTdeG6pXQiLCB0aXRsZSA9ICJMw6NpIHN14bqldCB0aeG6v3Qga2nhu4dtIHThuqFpIHF14bqneSB0aMOhbmcgMDMvMjAyMiAoxJHGoW4gduG7izogJS9uxINtKSIpICsNCiAgdGhlbWVfbWluaW1hbCgpKw0KICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IGFuZ2xlLCBoanVzdCA9IDEpLCAgDQogICAgICAgIGF4aXMudGV4dC55ID0gZWxlbWVudF90ZXh0KHNpemUgPSA2KSwgIA0KICAgICAgICBwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KGhqdXN0ID0gMC41KSkgKyAgDQogIHRoZW1lKA0KICAgIHBsb3QubWFyZ2luID0gdW5pdChjKDAuNSwgMC41LCAwLjUsIDAuNSksICJjbSIpICApDQpgYGANCg0Kw4FwIGzhu7FjIHRoYW5oIGtob+G6o24gbcO5YSBjYW8gxJFp4buDbSDEkcOjIHF1YSwgY8O5bmcgZGnhu4VuIGJp4bq/biB0xINuZyB0csaw4bufbmcgdMOtbiBk4bulbmcgZ2nhuqNtIG5o4bq5LCBt4bq3dCBi4bqxbmcgbMOjaSBzdeG6pXQgdGnhur90IGtp4buHbSBuZ8OibiBow6BuZyB0xrDGoW5nIMSR4buRaSDhu5VuIMSR4buLbmggdHJvbmcgbmjhu69uZyBuZ8OgeSDEkeG6p3UgdGjDoW5nIDMvMjAyMi4NCg0KQuG6o25nIHjhur9wIGjhuqFuZyBsw6NpIHN14bqldCB0aeG7gW4gZ+G7rWkgY2FvIG5o4bqldCB0cm9uZyB0aMOhbmcgMy8yMDIyIGjhuqd1IG5oxrAga2jDtG5nIGPDsyBuaGnhu4F1IGJp4bq/biDEkeG7mW5nIHNvIHbhu5tpIHRow6FuZyB0csaw4bubYyDEkcOzLiBEdXkgY2jhu4kgY8OzIG5nw6JuIGjDoG5nIFZJQiBsw6AgdMSDbmcgbmjhurkgMCwwMSDEkWnhu4NtIMSRaeG7g20gcGjhuqduIHRyxINtLCB04burIG3hu6ljIGNhbyBuaOG6pXQgbMOgIDYsMTklL27Eg20gbMOqbiA2LDIwJS9uxINtDQoNCk5ow6xuIGNodW5nLCBt4bupYyBsw6NpIHN14bqldCBjYW8gbmjhuqV0IMSRYW5nIGRhbyDEkeG7mW5nIHRyb25nIHbDuW5nIHThu6sgNSw1JS9uxINtIMSR4bq/biA3LDElL27Eg20gdHXhu7MgdOG7q25nIG5nw6JuIGjDoG5nLg0KDQoqIFRyb25nIMSRw7MsIFNDQiBk4bqrbiDEkeG6p3UgduG7m2kgbeG7qWMgbMOjaSBzdeG6pXQgNyw2JS9uxINtLiBLaMOhY2ggaMOgbmcgbXXhu5FuIG5o4bqtbiDEkcaw4bujYyBt4bupYyBsw6NpIHN14bqldCBuw6B5IGPhuqduIHBo4bqjaSBn4butaSBraG/huqNuIHRp4buBbiA1MDAgdOG7tyDEkeG7k25nIGNobyBr4buzIGjhuqFuIDEzIHRow6FuZy4NCg0KKiBUaeG6v3AgxJHhur9uIGzDoCBUZWNoY29tYmFuayB24bubaSBt4bupYyA3LDElL27Eg20uIEtow6FjaCBow6BuZyBtdeG7kW4gbmjhuq1uIMSRxrDhu6NjIG3hu6ljIGzDo2kgc3XhuqV0IG7DoHkgY+G6p24gcGjhuqNpIGfhu61pIGtob+G6o24gdGnhu4FuIHThu6sgOTk5IHThu7cgxJHhu5NuZyB0cuG7nyBsw6puIHThuqFpIGvhu7MgaOG6oW4gMTIgdGjDoW5nLg0KDQoqIExp4buBbiBzYXUgbMOgIG5nw6JuIGjDoG5nIE1TQiB24bubaSBt4bupYyDhuqVuIMSR4buLbmggNyUvbsSDbSB2w6AgxJFp4buBdSBraeG7h24gc+G7kSB0aeG7gW4gZ+G7rWkgw6FwIGThu6VuZyB04burIDIwMCB04bu3IMSR4buTbmcgdHLhu58gbMOqbiB04bqhaSBoYWkga+G7syBo4bqhbiBsw6AgMTIgdGjDoW5nIHbDoCAxMyB0aMOhbmcuDQoNCiogTGllblZpZXRQb3N0QmFuayBoaeG7h24gxJFhbmcgeOG6v3Ag4bufIHbhu4sgdHLDrSB0aOG7qSB0xrAgduG7m2kgbMOjaSBzdeG6pXQgbMOgIDYsOTklL27Eg20uIMSQaeG7gXUga2nhu4duIMSR4buDIGtow6FjaCBow6BuZyBuaOG6rW4gxJHGsOG7o2MgbeG7qWMgbMOjaSBzdeG6pXQgbsOgeSBsw6AgcGjhuqNpIGPDsyBraG/huqNuIHRp4buBbiBn4butaSBjw7Mga+G7syBo4bqhbiAxMyB0aMOhbmcgdsOgIDYwIHRow6FuZywgdHJvbmcgxJHDsyBnacOhIHRy4buLIHRp4buBbiBn4butaSDhu58ga+G7syBo4bqhbiAxMyB0aMOhbmcgcGjhuqNpIHThu6sgMzAwIHThu7cgdHLhu58gbMOqbi4NCg0KIyMgKioyLjIgVMOsbmggaMOsbmggbMOjaSBzdeG6pXQgVmnhu4d0IE5hbSDhu58gUXXDvSAyLCBOxINtIDIwMjIqKg0KDQojIyMgMi4yLjEgTMOjaSBzdeG6pXQgdGnhur90IGtp4buHbSBuZ8OibiBow6BuZyBUaMOhbmcgNC8yMDIyDQoNCkNo4buLdSDDoXAgbOG7sWMgdOG7qyB04buRYyDEkeG7mSB0xINuZyB0csaw4bufbmcgdMOtbiBk4bulbmcgdsOgIGvhu7MgduG7jW5nIGzhuqFtIHBow6F0LCBt4bq3dCBi4bqxbmcgbMOjaSBzdeG6pXQgdGnhur90IGtp4buHbSBuZ8OibiBow6BuZyB0aeG6v3AgdOG7pWMgxJHGsOG7o2MgbsOibmcgbMOqbi4gR2nhu5tpIGNodXnDqm4gbcO0biBk4buxIGLDoW8gbMOjaSBzdeG6pXQgaHV5IMSR4buZbmcgMjAyMiBz4bq9IHTEg25nIGNhbyBoxqFuIG5oaeG7gXUgc28gduG7m2kgYsOsbmggcXXDom4gbsSDbSAyMDIxLi4uDQoNCmBgYHtyfQ0KVGhhbmc0IDwtIExhaVN1YXQgJT4lIGZpbHRlcihDYXBOaGF0ID09ICIwNC8yMDIyIikNCmdncGxvdChUaGFuZzQsIGFlcyh4ID0gTmdhbkhhbmcsIHkgPSBMYWlTdWF0LCBjb2xvciA9IFRob2lIYW4sIGdyb3VwID0gVGhvaUhhbikpICsNCiAgZ2VvbV9saW5lKCkgKw0KICBnZW9tX3BvaW50KHNpemUgPSAyLjUpICsNCiAgbGFicyh4ID0gIk5nw6JuIEjDoG5nIiwgeSA9ICJMw6NpIFN14bqldCIsIHRpdGxlID0gIkzDo2kgc3XhuqV0IHRp4bq/dCBraeG7h20gdOG6oWkgcXXhuqd5IHRow6FuZyAwNC8yMDIyICjEkcahbiB24buLOiAlL27Eg20pIikgKw0KICB0aGVtZV9taW5pbWFsKCkrDQogIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gYW5nbGUsIGhqdXN0ID0gMSksICANCiAgICAgICAgYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDYpLCAgDQogICAgICAgIHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoaGp1c3QgPSAwLjUpKSArICANCiAgdGhlbWUoDQogICAgcGxvdC5tYXJnaW4gPSB1bml0KGMoMC41LCAwLjUsIDAuNSwgMC41KSwgImNtIikgICkNCmBgYA0KDQpUaOG7sWMgdOG6vywgc2FuZyDEkeG6p3UgdGjDoW5nIDQvMjAyMiwgbmhp4buBdSBuZ8OibiBow6BuZyDEkcOjIHRoYXkgxJHhu5VpIGJp4buDdSBsw6NpIHN14bqldCB0aeG6v3Qga2nhu4dtIHRoZW8gaMaw4bubbmcgxJFpIGzDqm4sIMSR4bq3YyBiaeG7h3QgbMOgIG5ow7NtIG5nw6JuIGjDoG5nIHF1eSBtw7QgduG7q2EgdsOgIG5o4buPLiANCg0KKiDEkGnhu4NuIGjDrG5oLCBBQkJhbmsgdMSDbmcgdOG7qyAwLDEg4oCTIDAsNCDEkWnhu4NtIHBo4bqnbiB0csSDbSBsw6NpIHN14bqldCB0aeG7gW4gZ+G7rWkga+G7syBo4bqhbiB04burIDkgdGjDoW5nIHRy4bufIHh14buRbmcuIFRyb25nIMSRw7MsIGzDo2kgc3XhuqV0IGvhu7MgaOG6oW4gMyB0aMOhbmcgdMSDbmcgbMOqbiA0JS9uxINtLCBr4buzIGjhuqFuIDYgdGjDoW5nIHTEg25nIGzDqm4gNSw1JSB2w6AgOSB0aMOhbmcgdMSDbmcgbMOqbiA1LDYlL27Eg20uDQoNCiogVMawxqFuZyB04buxLCBNQiB0xINuZyBsw6NpIHN14bqldCB04burIDAsMTUgLSAwLDIgxJFp4buDbSBwaOG6p24gdHLEg20sIGPhu6UgdGjhu4MgbMOjaSBzdeG6pXQga+G7syBo4bqhbiAxIHRow6FuZyBsw6puIDIsOSUvbsSDbTsgNiB0aMOhbmcgbMOqbiA0LDQlL27Eg207IDI0IHRow6FuZyA1LDc1JS9uxINtLiBN4bupYyBsw6NpIHN14bqldCBodXkgxJHhu5luZyBjYW8gbmjhuqV0IGzDoCA2LDYlL27Eg20g4bufIGvhu7MgaOG6oW4gMzYgdGjDoW5nLg0KDQoqIE3hu5l0IHPhu5EgbmfDom4gaMOgbmcga2jDoWMgbmjGsCBOZ8OibiBow6BuZyBC4bqjbiBWaeG7h3QsIFZpZXRiYW5rLCBCYWNBQmFuaywgU2FpZ29uYmFuaywgT0NCLCBQVkNvbWJhbmsuLi4gY8WpbmcgdMSDbmcgbMOjaSBzdeG6pXQgdGnhur90IGtp4buHbSAwLDEtIDAsMiDEkWnhu4NtIHBo4bqnbiB0csSDbSBjaG8gY8OhYyBraMOhY2ggaMOgbmcgZ+G7rWkgdGnhur90IGtp4buHbSB0aMO0bmcgdGjGsOG7nW5nIHThuqFpIHF14bqneS4NCg0KIyMjIDIuMi4yIEzDo2kgc3XhuqV0IHRp4bq/dCBraeG7h20gbmfDom4gaMOgbmcgVGjDoW5nIDUvMjAyMg0KDQpN4bupYyBsw6NpIHN14bqldCBjYW8gbmjhuqV0IHRow6FuZyA1LzIwMjIgdGh14buZYyB24buBIG5nw6JuIGjDoG5nIFNDQiB24bubaSA3LDMlL27Eg20gY2hvIGvhu7MgaOG6oW4gMTIgdGjDoW5nIHbDoCBjaOG7iSDDoXAgZOG7pW5nIGNobyBtw7NuIHRp4buBbiBn4butaSBjw7Mgc+G7kSBkxrAgdOG7qyA1MDAgdOG7tyDEkeG7k25nIHRy4bufIGzDqm4uLi4NCg0KYGBge3J9DQpUaGFuZzUgPC0gTGFpU3VhdCAlPiUgZmlsdGVyKENhcE5oYXQgPT0gIjA1LzIwMjIiKQ0KZ2dwbG90KFRoYW5nNSwgYWVzKHggPSBOZ2FuSGFuZywgeSA9IExhaVN1YXQsIGNvbG9yID0gVGhvaUhhbiwgZ3JvdXAgPSBUaG9pSGFuKSkgKw0KICBnZW9tX2xpbmUoKSArDQogIGdlb21fcG9pbnQoc2l6ZSA9IDIuNSkgKw0KICBsYWJzKHggPSAiTmfDom4gSMOgbmciLCB5ID0gIkzDo2kgU3XhuqV0IiwgdGl0bGUgPSAiTMOjaSBzdeG6pXQgdGnhur90IGtp4buHbSB04bqhaSBxdeG6p3kgdGjDoW5nIDA1LzIwMjIgKMSRxqFuIHbhu4s6ICUvbsSDbSkiKSArDQogIHRoZW1lX21pbmltYWwoKSsNCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSBhbmdsZSwgaGp1c3QgPSAxKSwgIA0KICAgICAgICBheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChzaXplID0gNiksICANCiAgICAgICAgcGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChoanVzdCA9IDAuNSkpICsgIA0KICB0aGVtZSgNCiAgICBwbG90Lm1hcmdpbiA9IHVuaXQoYygwLjUsIDAuNSwgMC41LCAwLjUpLCAiY20iKSAgKQ0KYGBgDQoNCkRvIG5oaeG7gXUgbmfDom4gaMOgbmcgdGhheSDEkeG7lWkgYmnhu4N1IGzDo2kgc3XhuqV0IG7Dqm4gYuG6o25nIHjhur9wIGjhuqFuZyBsw6NpIHN14bqldCB0aeG7gW4gZ+G7rWkgY2FvIG5o4bqldCB0cm9uZyB0aMOhbmcgNS8yMDIyIGPFqW5nIGPDsyBt4buZdCB2w6BpIHRoYXkgxJHhu5VpIHNvIHbhu5tpIHRow6FuZyB0csaw4bubYyDEkcOzLg0KDQoqIEThuqtuIMSR4bqndSBkYW5oIHPDoWNoIGzDoCBTQ0IgduG7m2kgbeG7qWMgbMOjaSBzdeG6pXQgNyw2JS9uxINtLiBN4bupYyBsw6NpIHN14bqldCBuacOqbSB54bq/dCBuw6B5IMSR4buRaSB24bubaSBr4buzIGjhuqFuIDEzIHRow6FuZyB2w6AgY2jhu4kgw6FwIGThu6VuZyBjaG8gbcOzbiB0aeG7gW4gZ+G7rWkgY8OzIHPhu5EgZMawIHThu6sgNTAwIHThu7cgxJHhu5NuZyB0cuG7nyBsw6puLg0KDQoqIFjhur9wIGxp4buBbiBzYXUgbMOgIG5nw6JuIGjDoG5nIEhEQmFuayB24bubaSBt4bupYyBsw6NpIHN14bqldCBjYW8gbmjhuqV0IDcsMTUlL27Eg20uIMSQaeG7gXUga2nhu4duIMSRaSBrw6htIMSR4buDIMSRxrDhu6NjIGjGsOG7n25nIGzDo2kgc3XhuqV0IG7DoHkgbMOgIGtow6FjaCBow6BuZyBj4bqnbiBjw7Mga2hv4bqjbiB0aeG6v3Qga2nhu4dtIHThu5FpIHRoaeG7g3UgdOG7qyAzMDAgdOG7tyDEkeG7k25nIHRy4bufIGzDqm4sIGzEqW5oIGzDo2kgY3Xhu5FpIGvhu7MgduG7m2kga+G7syBo4bqhbiAxMyB0aMOhbmcuIE7hur91IGtow7RuZyDEkeG6oXQgxJHhu6cgc+G7kSB0aeG7gW4gdOG7kWkgdGhp4buDdSxuZ8OibiBow6BuZyDDoXAgZOG7pW5nIGzDo2kgbMOgIDYlL27Eg20gY2hvIGvhu7MgaOG6oW4gMTMgdGjDoW5nIG7DoHkuDQoNCiogVGVjaGNvbWJhbmsgdsOgIEFDQiDEkWFuZyBjw7luZyB0cmnhu4NuIGtoYWkgbMOjaSBzdeG6pXQgdGnhur90IGtp4buHbSBjYW8gbmjhuqV0IOG7nyBt4bupYyA3LDElL27Eg20uIEtow6FjaCBow6BuZyBn4butaSB0aeG6v3Qga2nhu4dtIHbhu5tpIHPhu5EgdGnhu4FuIHThu6sgOTk5IHThu7cgxJHhu5NuZyB0cuG7nyBsw6puIGvhu7MgaOG6oW4gMTIgdGjDoW5nIHThuqFpIFRlY2hjb21iYW5rIHPhur0gxJHGsOG7o2Mgbmjhuq1uIGzDo2kgc3XhuqV0IMawdSDEkcOjaSBr4buDIHRyw6puLiBUcm9uZyBraGkgxJHDsyBuZ8OibiBow6BuZyBBQ0IgxJFhbmcgaHV5IMSR4buZbmcgbMOjaSBzdeG6pXQgNywxJS9uxINtIGNobyBraG/huqNuIHRp4buBbiBn4butaSB04buRaSB0aGnhu4N1IHThu6sgMTAwIHThu7cgxJHhu5NuZyB0cuG7nyBsw6puIHbhu5tpIHRo4budaSBo4bqhbiBn4butaSBsw6AgMTMgdGjDoW5nLg0KDQoNCiMjIyAyLjIuMyBMw6NpIHN14bqldCB0aeG6v3Qga2nhu4dtIG5nw6JuIGjDoG5nIFRow6FuZyA2LzIwMjINCg0KTeG6t3QgYuG6sW5nIGzDo2kgc3XhuqV0IHRp4bq/dCBraeG7h20gdGnhur9wIHThu6VjIMSRxrDhu6NjIGPDoWMgbmfDom4gaMOgbmcgxJFp4buBdSBjaOG7iW5oIHRyb25nIG7hu61hIMSR4bqndSB0aMOhbmcgNi8yMDIyIHRoZW8gaMaw4bubbmcgdMSDbmcgbeG6oW5oLi4uDQoNCmBgYHtyfQ0KVGhhbmc2IDwtIExhaVN1YXQgJT4lIGZpbHRlcihDYXBOaGF0ID09ICIwNi8yMDIyIikNCmdncGxvdChUaGFuZzYsIGFlcyh4ID0gTmdhbkhhbmcsIHkgPSBMYWlTdWF0LCBjb2xvciA9IFRob2lIYW4sIGdyb3VwID0gVGhvaUhhbikpICsNCiAgZ2VvbV9saW5lKCkgKw0KICBnZW9tX3BvaW50KHNpemUgPSAyLjUpICsNCiAgbGFicyh4ID0gIk5nw6JuIEjDoG5nIiwgeSA9ICJMw6NpIFN14bqldCIsIHRpdGxlID0gIkzDo2kgc3XhuqV0IHRp4bq/dCBraeG7h20gdOG6oWkgcXXhuqd5IHRow6FuZyAwNi8yMDIyICjEkcahbiB24buLOiAlL27Eg20pIikgKw0KICB0aGVtZV9taW5pbWFsKCkrDQogIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gYW5nbGUsIGhqdXN0ID0gMSksICANCiAgICAgICAgYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDYpLCAgDQogICAgICAgIHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoaGp1c3QgPSAwLjUpKSArICANCiAgdGhlbWUoDQogICAgcGxvdC5tYXJnaW4gPSB1bml0KGMoMC41LCAwLjUsIDAuNSwgMC41KSwgImNtIikgICkNCmBgYA0KDQpOaOG6sW0gdGh1IGjDunQgbMaw4bujbmcgdGnhu4FuIG5ow6BuIHLhu5dpIHRyw6puIHRo4buLIHRyxrDhu51uZyBjxaluZyBuaMawIGNodeG6qW4gYuG7iyBjaG8gbmh1IGPhuqd1IHTDrW4gZOG7pW5nIHThu6sgbmF5IMSR4bq/biBjdeG7kWkgbsSDbSwgbmhp4buBdSBuZ8OibiBow6BuZyB0aeG6v3AgdOG7pWMgxJFp4buBdSBjaOG7iW5oIHTEg25nIGJp4buDdSBsw6NpIHN14bqldCBodXkgxJHhu5luZy4gxJDDoW5nIGNow7ogw70sIMSRw6MgY8OzIHRow6BuaCB2acOqbiB0aHXhu5ljIG5ow7NtIG5nw6JuIGjDoG5nIHRoxrDGoW5nIG3huqFpIG5ow6Agbsaw4bubYyB0aGFtIGdpYSBjdeG7mWMgxJF1YSB0xINuZyBsw6NpIHN14bqldC4NCg0KTmjDrG4gY2h1bmcgdOG7lW5nIHRo4buDIHRvw6BuIGjhu4cgdGjhu5FuZywgbsSDbSBuYXkgbmh1IGPhuqd1IHTDrW4gZOG7pW5nIMSRw6MgdsOgIMSRYW5nIHTEg25nIG3huqFuaCBzbyB24bubaSBjw7luZyBr4buzIG7Eg20gdHLGsOG7m2MuIMSQaeG7gXUgbsOgeSBraGnhur9uIGPDoWMgbmfDom4gaMOgbmcgcGjhuqNpIHTEg25nIGzDo2kgc3XhuqV0IHRp4bq/dCBraeG7h20gxJHhu4MgY+G7p25nIGPhu5Egbmd14buTbiB24buRbiBjaG8gaOG7hyB0aOG7kW5nIG5nw6JuIGjDoG5nIOG7nyBjw6FjIGvhu7MgaOG6oW4sIHF1YSDEkcOzIMSRw6FwIOG7qW5nIG5odSBj4bqndSB0w61uIGThu6VuZyB04buRdCBoxqFuIHThu6sgbmF5IMSR4bq/biBjdeG7kWkgbsSDbS4NCg0KKiBEbyBuaGnhu4F1IG5nw6JuIGjDoG5nIHRoYXkgxJHhu5VpIGJp4buDdSBsw6NpIHN14bqldCBuw6puIGLhuqNuZyB44bq/cCBo4bqhbmcgbMOjaSBzdeG6pXQgdGnhu4FuIGfhu61pIGNhbyBuaOG6pXQgdHJvbmcgdGjDoW5nIDYvMjAyMiBjxaluZyBjw7MgbeG7mXQgdsOgaSB0aGF5IMSR4buVaSBzbyB24bubaSB0aMOhbmcgdHLGsOG7m2MgxJHDsy4NCg0KKiBE4bqrbiDEkeG6p3UgZGFuaCBzw6FjaCB24bqrbiBsw6AgU0NCIHbhu5tpIG3hu6ljIGzDo2kgc3XhuqV0IDcsMyUvbsSDbS4gTeG7qWMgbMOjaSBzdeG6pXQgbmnDqm0geeG6v3QgbsOgeSDEkeG7kWkgduG7m2kga+G7syBo4bqhbiAxMyB0aMOhbmcgdsOgIGNo4buJIMOhcCBk4bulbmcgY2hvIG3Ds24gdGnhu4FuIGfhu61pIGPDsyBz4buRIGTGsCB04burIDUwMCB04bu3IMSR4buTbmcgdHLhu58gbMOqbi4NCg0KKiBU4bqhaSBuaMOzbSA0IG5nw6JuIGjDoG5nIGPDsyB24buRbiBuaMOgIG7GsOG7m2MsIFZpZXRjb21iYW5rLCBWaWV0aW5CYW5rLCBCSURWIHbDoCBWaWV0aW5CYW5rIGPDsyBsw6NpIHN14bqldCBjYW8gbmjhuqV0IGzDoCA1LDYlL27Eg20uIFRyb25nIGtoaSDEkcOzIEFncmliYW5rIGh1eSDEkeG7mW5nIHbhu5FuIHbhu5tpIGzDo2kgc3XhuqV0IGNhbyBuaOG6pXQgbMOgIDUsNSUvbsSDbS4NCg0KIyMgKioyLjMgVMOsbmggaMOsbmggbMOjaSBzdeG6pXQgVmnhu4d0IE5hbSDhu58gUXXDvSAzLCBOxINtIDIwMjIqKg0KDQojIyMgMi4zLjEgTMOjaSBzdeG6pXQgdGnhur90IGtp4buHbSBuZ8OibiBow6BuZyBUaMOhbmcgNy8yMDIyDQoNCsSQxrDhu51uZyDEkXVhIHTEg25nIGzDo2kgc3XhuqV0IHRp4bq/dCBraeG7h20gbmfDoHkgY8Ogbmcgc8O0aSDEkeG7mW5nLiBUaGVvIMSRw7MsIG5oaeG7gXUgbmfDom4gaMOgbmcgxJHDoyDEkeG6qXkgbeG7qWMgbMOjaSBzdeG6pXQgY2FvIG5o4bqldCBsw6puIHRyw6puIDclL27Eg20uLi4NCg0KYGBge3J9DQpUaGFuZzcgPC0gTGFpU3VhdCAlPiUgZmlsdGVyKENhcE5oYXQgPT0gIjA3LzIwMjIiKQ0KZ2dwbG90KFRoYW5nNywgYWVzKHggPSBOZ2FuSGFuZywgeSA9IExhaVN1YXQsIGNvbG9yID0gVGhvaUhhbiwgZ3JvdXAgPSBUaG9pSGFuKSkgKw0KICBnZW9tX2xpbmUoKSArDQogIGdlb21fcG9pbnQoc2l6ZSA9IDIuNSkgKw0KICBsYWJzKHggPSAiTmfDom4gSMOgbmciLCB5ID0gIkzDo2kgU3XhuqV0IiwgdGl0bGUgPSAiTMOjaSBzdeG6pXQgdGnhur90IGtp4buHbSB04bqhaSBxdeG6p3kgdGjDoW5nIDA3LzIwMjIgKMSRxqFuIHbhu4s6ICUvbsSDbSkiKSArDQogIHRoZW1lX21pbmltYWwoKSsNCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSBhbmdsZSwgaGp1c3QgPSAxKSwgIA0KICAgICAgICBheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChzaXplID0gNiksICANCiAgICAgICAgcGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChoanVzdCA9IDAuNSkpICsgIA0KICB0aGVtZSgNCiAgICBwbG90Lm1hcmdpbiA9IHVuaXQoYygwLjUsIDAuNSwgMC41LCAwLjUpLCAiY20iKSAgKQ0KYGBgDQoNCk5o4bqxbSBjaHXhuqluIGLhu4sgY2hvIG3DuWEgY2FvIMSRaeG7g20gY3Xhu5FpIG7Eg20gY8WpbmcgbmjGsCDEkcOhcCDhu6luZyB04bu3IGzhu4cgbeG7m2kgY+G7p2EgduG7kW4gbmfhuq9uIGjhuqFuIGNobyB2YXkgdHJ1bmcgdsOgIGTDoGkgaOG6oW4sIG5oaeG7gXUgbmfDom4gaMOgbmcgdGnhur9wIHThu6VjIMSRaeG7gXUgY2jhu4luaCBiaeG7g3UgbMOjaSBzdeG6pXQgaHV5IMSR4buZbmcuDQoNClRo4buxYyB04bq/IHRo4buLIHRyxrDhu51uZyBjxaluZyBjaG8gdGjhuqV5LCB0cm9uZyBraG/huqNuZyDEkeG6p3UgdGjDoW5nIDcvMjAyMiwgbmhp4buBdSBuZ8OibiBow6BuZyBjxaluZyDEkcOjIHRoYW0gZ2lhIOKAnGN14buZYyDEkXVh4oCdIGzDo2kgc3XhuqV0IGh1eSDEkeG7mW5nLg0KDQpEbyBuaGnhu4F1IG5nw6JuIGjDoG5nIHRoYXkgxJHhu5VpIGJp4buDdSBsw6NpIHN14bqldCBuw6puIGLhuqNuZyB44bq/cCBo4bqhbmcgbMOjaSBzdeG6pXQgdGnhu4FuIGfhu61pIGNhbyBuaOG6pXQgdHJvbmcgdGjDoW5nIDcvMjAyMiBjxaluZyBjw7MgbeG7mXQgdsOgaSB0aGF5IMSR4buVaSBzbyB24bubaSB0aMOhbmcgdHLGsOG7m2MgxJHDsyB2w6AgbeG7qWMgbMOjaSBzdeG6pXQgdHLDqm4gNyUvbsSDbSBsw6Aga2jDtG5nIGhp4bq/bS4NCg0KKiBE4bqrbiDEkeG6p3UgZGFuaCBzw6FjaCB24bqrbiBsw6AgU0NCIHbhu5tpIG3hu6ljIGzDo2kgc3XhuqV0IDcsMyUvbsSDbS4gTeG7qWMgbMOjaSBzdeG6pXQgbmnDqm0geeG6v3QgbsOgeSDEkeG7kWkgduG7m2kga+G7syBo4bqhbiAxMyB0aMOhbmcgdsOgIGNo4buJIMOhcCBk4bulbmcgY2hvIG3Ds24gdGnhu4FuIGfhu61pIGPDsyBz4buRIGTGsCB04burIDUwMCB04bu3IMSR4buTbmcgdHLhu58gbMOqbi4NCg0KIyMjIDIuMy4yIEzDo2kgc3XhuqV0IHRp4bq/dCBraeG7h20gbmfDom4gaMOgbmcgVGjDoW5nIDgvMjAyMg0KDQpEw7kgY2jGsGEgxJHGsOG7o2MgTmfDom4gaMOgbmcgTmjDoCBuxrDhu5tjIGPhuqVwIHRow6ptIGjhuqFuIG3hu6ljIHTDrW4gZOG7pW5nIG5oxrBuZyBt4bq3dCBi4bqxbmcgbMOjaSBzdeG6pXQgaHV5IMSR4buZbmcgdMSDbmcgduG6q24gY2jGsGEgY8OzIHh1IGjGsOG7m25nIGThu6tuZyBs4bqhaS4uLg0KDQpgYGB7cn0NClRoYW5nOCA8LSBMYWlTdWF0ICU+JSBmaWx0ZXIoQ2FwTmhhdCA9PSAiMDgvMjAyMiIpDQpnZ3Bsb3QoVGhhbmc4LCBhZXMoeCA9IE5nYW5IYW5nLCB5ID0gTGFpU3VhdCwgY29sb3IgPSBUaG9pSGFuLCBncm91cCA9IFRob2lIYW4pKSArDQogIGdlb21fbGluZSgpICsNCiAgZ2VvbV9wb2ludChzaXplID0gMi41KSArDQogIGxhYnMoeCA9ICJOZ8OibiBIw6BuZyIsIHkgPSAiTMOjaSBTdeG6pXQiLCB0aXRsZSA9ICJMw6NpIHN14bqldCB0aeG6v3Qga2nhu4dtIHThuqFpIHF14bqneSB0aMOhbmcgMDgvMjAyMiAoxJHGoW4gduG7izogJS9uxINtKSIpICsNCiAgdGhlbWVfbWluaW1hbCgpKw0KICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IGFuZ2xlLCBoanVzdCA9IDEpLCAgDQogICAgICAgIGF4aXMudGV4dC55ID0gZWxlbWVudF90ZXh0KHNpemUgPSA2KSwgIA0KICAgICAgICBwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KGhqdXN0ID0gMC41KSkgKyAgDQogIHRoZW1lKA0KICAgIHBsb3QubWFyZ2luID0gdW5pdChjKDAuNSwgMC41LCAwLjUsIDAuNSksICJjbSIpICApDQpgYGANCg0KVGjhu51pIGdpYW4gcXVhLCBraMOhIG5oaeG7gXUgbmd1ecOqbiBuaMOibiBraGnhur9uIG3hurd0IGLhurFuZyBsw6NpIHN14bqldCB0xINuZy4gVGhlbyDEkcOzLCBsw6BuIHPDs25nIMSRaeG7gXUgY2jhu4luaCBiaeG7g3UgbMOjaSBzdeG6pXQgdGnhur90IGtp4buHbSBjaMawYSBjw7MgZOG6pXUgaGnhu4d1IGThu6tuZyBs4bqhaSB2w6AgbmfDoHkgY8Ogbmcgbmhp4buBdSBuZ8OibiBow6BuZyB0aGFtIGdpYSB2w6BvIOKAnGN14buZYyDEkXVh4oCdIHRyb25nIHRow6FuZyA4LzIwMjIuDQoNCiogIEzDg0kgU1XhuqRUIEjGoE4gNyUvTsSCTSBDSE8gS+G7siBI4bqgTiA2IFRIw4FORyBYVeG6pFQgSEnhu4ZODQoNCuKAnE5ow6xuIGNodW5nLCDEkcOgIHTEg25nIGPhu6dhIGzDo2kgc3XhuqV0IGh1eSDEkeG7mW5nIHNvIHbhu5tpIGN14buRaSBuxINtIDIwMjEgxJHDoyBjw7MgcGjhuqduIHLDtSBy4buHdCBoxqFuIHbDoCB04bubaSB04burIHThuqV0IGPhuqMgY8OhYyBuaMOzbSBuZ8OibiBow6BuZ+KAnSwgbmjDs20gbmdoacOqbiBj4bupdSBj4bunYSBCVlNDIMSRw6FuaCBnacOhLg0KDQpN4buZdCBz4buRIG5nw6JuIGjDoG5nIGPFqW5nIHTEg25nIG3huqFuaCBiaeG7g3UgbMOjaSBzdeG6pXQgY8OybiBjw7MgTUIsIEFCQmFuaywgVlBCYW5rLCBBQ0IsIEtpZW5sb25nQmFua+KApiDEkMOhbmcgY2jDuiDDvSwgbeG7qWMgNywxJS9uxINtIMSRw6MgeHXhuqV0IGhp4buHbiDhu58ga+G7syBo4bqhbiA2IHRow6FuZyB04bqhaSBuZ8OibiBow6BuZyBDQkJhbmsuDQoNCkRvIG5oaeG7gXUgbmfDom4gaMOgbmcgdGhheSDEkeG7lWkgYmnhu4N1IGzDo2kgc3XhuqV0IG7Dqm4gYuG6o25nIHjhur9wIGjhuqFuZyBsw6NpIHN14bqldCB0aeG7gW4gZ+G7rWkgY2FvIG5o4bqldCB0cm9uZyB0aMOhbmcgOC8yMDIyIMSRw6MgY8OzIG5oaeG7gXUgdGhheSDEkeG7lWkgc28gduG7m2kgdGjDoW5nIHRyxrDhu5tjLiBOZ2/DoGkgcmEsIG3hu6ljIGzDo2kgc3XhuqV0IHRyw6puIDclL27Eg20gbmfDoHkgY8OgbmcgeHXhuqV0IGhp4buHbiBuaGnhu4F1Lg0KDQojIyMgMi4zLjMgTMOjaSBzdeG6pXQgdGnhur90IGtp4buHbSBuZ8OibiBow6BuZyBUaMOhbmcgOS8yMDIyDQoNClRyxrDhu5tjIMSR4buZbmcgdGjDoWkgdMSDbmcgbMOjaSBzdeG6pXQgdGjDqm0gMCw3NSUgdOG7qyBD4bulYyBk4buxIHRy4buvIGxpw6puIGJhbmcgTeG7uSBGRUQgY8WpbmcNCm5oxrAgdmnhu4djIGjDoG5nIGxv4bqhdCBuZ8OibiBow6BuZyBUcnVuZyDGsMahbmcga2jDoWMgY8WpbmcgdMSDbmcgbMOjaSBzdeG6pXQgdsOgbyBuZ8OgeSAyMy85IHbhu6thIHF1YSwgTmfDom4gaMOgbmcgTmjDoCBuxrDhu5tjIFZp4buHdCBOYW0gY2jDrW5oIHRo4bupYyDEkWnhu4F1IGNo4buJbmggZ2lhIHTEg25nIGzDo2kgc3XhuqV0IMSRaeG7gXUgaMOgbmguIA0KDQpgYGB7cn0NClRoYW5nOSA8LSBMYWlTdWF0ICU+JSBmaWx0ZXIoQ2FwTmhhdCA9PSAiMDkvMjAyMiIpDQpnZ3Bsb3QoVGhhbmc5LCBhZXMoeCA9IE5nYW5IYW5nLCB5ID0gTGFpU3VhdCwgY29sb3IgPSBUaG9pSGFuLCBncm91cCA9IFRob2lIYW4pKSArDQogIGdlb21fbGluZSgpICsNCiAgZ2VvbV9wb2ludChzaXplID0gMi41KSArDQogIGxhYnMoeCA9ICJOZ8OibiBIw6BuZyIsIHkgPSAiTMOjaSBTdeG6pXQiLCB0aXRsZSA9ICJMw6NpIHN14bqldCB0aeG6v3Qga2nhu4dtIHThuqFpIHF14bqneSB0aMOhbmcgMDkvMjAyMiAoxJHGoW4gduG7izogJS9uxINtKSIpICsNCiAgdGhlbWVfbWluaW1hbCgpKw0KICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IGFuZ2xlLCBoanVzdCA9IDEpLCAgDQogICAgICAgIGF4aXMudGV4dC55ID0gZWxlbWVudF90ZXh0KHNpemUgPSA2KSwgIA0KICAgICAgICBwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KGhqdXN0ID0gMC41KSkgKyAgDQogIHRoZW1lKA0KICAgIHBsb3QubWFyZ2luID0gdW5pdChjKDAuNSwgMC41LCAwLjUsIDAuNSksICJjbSIpICApDQpgYGANCg0KSG/huqF0IMSR4buZbmcgxJFp4buBdSBwaOG7kWkgdGhhbmgga2hv4bqjbiBj4bunYSBOZ8OibiBow6BuZyBOaMOgIG7GsOG7m2MgY8OzIHRo4buDIG5oYW5oIGNow7NuZyBsw6BtIGzDo2kgc3XhuqV0IGxpw6puIG5nw6JuIGjDoG5nIGjhuqEgeHXhu5FuZy4gDQpUdXkgbmhpw6puLCB4dSBoxrDhu5tuZyB0xINuZyBsw6NpIHN14bqldCBj4bunYSB0aOG7iyB0csaw4budbmcgMSAoIG5nw6JuIGjDoG5nIHbDoCBjxrAgZMOibikgbOG6oWkga2jDtG5nIGThu4UgZMOgbmcgeG9hIGThu4t1IG5oxrAgduG6rXkuIE3hurd0IGLhurFuZyBsw6NpIHN14bqldCB0aeG6v3Qga2nhu4dtIGzhuqFpIMSRxrDhu6NjIG7Dom5nIGzDqm4gbeG7mXQgbeG7qWMgY2FvIG3hu5tpIHRyb25nIHRow6FuZyA5LzIwMjIuDQoNCiogQ1Xhu5hDIOKAnENI4bqgWSDEkFVB4oCdIEzDg0kgU1XhuqRUIEhVWSDEkOG7mE5HIFbhuqpOIFRJ4bq+UCBU4bukQw0KDQpN4bq3YyBkw7kgbeG7qWMgxJFp4buBdSBjaOG7iW5oIHRo4bqlcCBoxqFuIHNvIHbhu5tpIGPDoWMga+G7syB24buNbmcgY+G7p2EgdGjDoG5oIHZpw6puIHRyw6puIHRo4buLIHRyxrDhu51uZywgdGjhur8gbmjGsG5nIGPDoWMgbmfDom4gaMOgbmcgduG6q24gcuG6p20gcuG7mSB0xINuZyBsw6NpIHN14bqldCBodXkgxJHhu5luZy4NCg0KVuG7m2kgdmnhu4djIG3hu5l0IHPhu5EgbmfDom4gaMOgbmcgdGhheSDEkeG7lWkgYmnhu4N1IGzDo2kgc3XhuqV0IG7Dqm4gYuG6o25nIHjhur9wIGjhuqFuZyBsw6NpIHN14bqldCB0aeG7gW4gZ+G7rWkgY2FvIG5o4bqldCB0cm9uZyB0aMOhbmcgOS8yMDIyIGPFqW5nIGPDsyBz4buxIHjDoW8gdHLhu5luIHNvIHbhu5tpIHRow6FuZyB0csaw4bubYy4gVGjhuq1tIGNow60sIG3hu6ljIGzDo2kgc3XhuqV0IDgsOCUvbsSDbSDEkcOjIHh14bqldCBoaeG7h24uDQoNCiMjICoqMi40IFTDrG5oIGjDrG5oIGzDo2kgc3XhuqV0IFZp4buHdCBOYW0g4bufIFF1w70gNCwgTsSDbSAyMDIyKioNCg0KIyMjIDIuNC4xIEzDo2kgc3XhuqV0IHRp4bq/dCBraeG7h20gbmfDom4gaMOgbmcgVGjDoW5nIDEwLzIwMjINCg0KxJDhur9uIHThu5FpIG5nw6B5IDI1LzEwLCBOZ8OibiBow6BuZyBOaMOgIG7GsOG7m2MgdGnhur9wIHThu6VjIHTEg25nIG3hu5l0IGxv4bqhdCBjw6FjIG3hu6ljIGzDo2kgc3XhuqV0IMSRaeG7gXUgaMOgbmggZ+G7k20gbMOjaSBzdeG6pXQgY2hp4bq/dCBraOG6pXUsIGzDo2kgc3XhuqV0IGNobyB2YXksIGzDo2kgc3XhuqV0IHTDoWkgY2hp4bq/dCBraOG6pXXigKYgdGjDqm0gMSUuDQoNCmBgYHtyfQ0KVGhhbmcxMCA8LSBMYWlTdWF0ICU+JSBmaWx0ZXIoQ2FwTmhhdCA9PSAiMTAvMjAyMiIpDQpnZ3Bsb3QoVGhhbmcxMCwgYWVzKHggPSBOZ2FuSGFuZywgeSA9IExhaVN1YXQsIGNvbG9yID0gVGhvaUhhbiwgZ3JvdXAgPSBUaG9pSGFuKSkgKw0KICBnZW9tX2xpbmUoKSArDQogIGdlb21fcG9pbnQoc2l6ZSA9IDIuNSkgKw0KICBsYWJzKHggPSAiTmfDom4gSMOgbmciLCB5ID0gIkzDo2kgU3XhuqV0IiwgdGl0bGUgPSAiTMOjaSBzdeG6pXQgdGnhur90IGtp4buHbSB04bqhaSBxdeG6p3kgdGjDoW5nIDEwLzIwMjIgKMSRxqFuIHbhu4s6ICUvbsSDbSkiKSArDQogIHRoZW1lX21pbmltYWwoKSsNCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSBhbmdsZSwgaGp1c3QgPSAxKSwgIA0KICAgICAgICBheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChzaXplID0gNiksICANCiAgICAgICAgcGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChoanVzdCA9IDAuNSkpICsgIA0KICB0aGVtZSgNCiAgICBwbG90Lm1hcmdpbiA9IHVuaXQoYygwLjUsIDAuNSwgMC41LCAwLjUpLCAiY20iKSAgKQ0KYGBgDQoNCktow7RuZyBjaOG7iSBsw6NpIHN14bqldCB0aeG6v3Qga2nhu4dtIG5n4bqvbiBo4bqhbiwgY8OhYyBraG/huqNuIGh1eSDEkeG7mW5nIHRp4buBbiBn4butaSB0cnVuZywgZMOgaSBo4bqhbiBjxaluZyDEkcOjIGxpw6puIHThu6VjIGdoaSBuaOG6rW4gY8OhYyBt4buRYyBsw6NpIHN14bqldCBt4bubaS4uLi4NCg0KQ3Xhu5ljIGNo4bqheSDEkXVhIHTEg25nIGzDo2kgc3XhuqV0IGh1eSDEkeG7mW5nIG5nw6B5IGPDoG5nIG7Ds25nLiBDaOG7iSB0cm9uZyBjaMawYSDEkeG6p3kgbuG7rWEgdGjDoW5nLCB04bupYyB04burIGN14buRaSB0aMOhbmcgOSDEkeG6v24gbmF5LCBiaeG7g3UgbMOjaSBzdeG6pXQgdGnhur90IGtp4buHbSB04bqhaSBjw6FjIG5nw6JuIGjDoG5nIHRoxrDGoW5nIG3huqFpIMSRw6MgZ2hpIG5o4bqtbiB4dSBoxrDhu5tuZyB0xINuZyBy4bqldCBt4bqhbmguIFRoZW8gxJHDsywgbeG7qWMgbMOjaSBzdeG6pXQgdHLDqm4gOCUvbsSDbSDEkeG7kWkgduG7m2kgY8OhYyBz4bqjbiBwaOG6qW0gdGnhu4FuIGfhu61pIGPhu6dhIGtow6FjaCBow6BuZyBjw6EgbmjDom4ga2jDtG5nIGPDsm4gaGnhur9tIHRyb25nIHRow6FuZyAxMC8yMDIyLg0KDQrigJxW4bubaSBt4buZdCBz4buRIG5nw6JuIGjDoG5nIHRoxrDGoW5nIG3huqFpIMSRw6MgY8O0bmcgYuG7kSBsw6NpIHN14bqldCBodXkgxJHhu5luZyB0cm9uZyB0aMOhbmcgMTAsIGRp4buFbiBiaeG6v24gdMSDbmcgY+G7p2EgbMOjaSBzdeG6pXQgaHV5IMSR4buZbmcgc+G6vSBjw7JuIG3huqFuaCBoxqFuIG5oaeG7gXUgc28gduG7m2kgbeG7qWMgdMSDbmcgY+G7p2EgdGjDoW5nIDnigJ0sIG5ow7NtIG5naGnDqm4gY+G7qXUgdOG6oWkgQlZTQyBuaOG6pW4gbeG6oW5oLg0KDQojIyMgMi40LjIgTMOjaSBzdeG6pXQgdGnhur90IGtp4buHbSBuZ8OibiBow6BuZyBUaMOhbmcgMTEvMjAyMg0KDQrEkMaw4bujYyBnaGkgbmjhuq1uIHbDoG8gbmfDoHkgMTgvMTEsIGPDsyB0aOG7gyB0aOG6pXksIGzDo2kgc3XhuqV0IDklLzEgbsSDbSDEkcOjIGtow7RuZyBjw7JuIGhp4bq/bSB0aOG6pXkgdOG6oWkgY8OhYyBuZ8OibiBow6BuZy4gDQpOaMawIHbhuq15LCBzYXUgxJHhu5luZyB0aMOhaSBuw6JuZyBt4buZdCBsb+G6oXQgbMOjaSBzdeG6pXQgdGnhur90IGtp4buHbSBs4bqnbiB0aOG7qSBoYWkgdOG7qyBOZ8OibiBow6BuZyBUcnVuZyDGsMahbmcgdOG7qyBjdeG7kWkgdGjDoW5nIDksIHLhuqV0IG5oaeG7gXUgbmfDom4gaMOgbmcgVGjGsMahbmcgbeG6oWkgdHJvbmcNCm7GsOG7m2MgxJHDoyB0aeG6v3AgdOG7pWMgZ2lhIHTEg25nIGzDo2kgc3XhuqV0IGh1eSDEkeG7mW5nLiANCkPDoWMgbmfDom4gaMOgbmcgbGnDqm4gdOG7pWMgdMSDbmcgbMOjaSBzdeG6pXQgaHV5IMSR4buZbmcga2hp4bq/biBt4bq3dCBi4bqxbmcgbMOjaSBzdeG6pXQgdMSDbmcgY2FvLCB0cm9uZyDEkcOzIG3hu6ljIGzDo2kgc3XhuqV0IG3DoCBraMOhY2ggaMOgbmcgbmjhuq1uIMSRxrDhu6NjIGPDsyB0aOG7gyBsw6puIHThu5tpIDksMiUvbsSDbQ0KDQpgYGB7cn0NClRoYW5nMTEgPC0gTGFpU3VhdCAlPiUgZmlsdGVyKENhcE5oYXQgPT0gIjExLzIwMjIiKQ0KZ2dwbG90KFRoYW5nMTEsIGFlcyh4ID0gTmdhbkhhbmcsIHkgPSBMYWlTdWF0LCBjb2xvciA9IFRob2lIYW4sIGdyb3VwID0gVGhvaUhhbikpICsNCiAgZ2VvbV9saW5lKCkgKw0KICBnZW9tX3BvaW50KHNpemUgPSAyLjUpICsNCiAgbGFicyh4ID0gIk5nw6JuIEjDoG5nIiwgeSA9ICJMw6NpIFN14bqldCIsIHRpdGxlID0gIkzDo2kgc3XhuqV0IHRp4bq/dCBraeG7h20gdOG6oWkgcXXhuqd5IHRow6FuZyAxMS8yMDIyICjEkcahbiB24buLOiAlL27Eg20pIikgKw0KICB0aGVtZV9taW5pbWFsKCkrDQogIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gYW5nbGUsIGhqdXN0ID0gMSksICANCiAgICAgICAgYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDYpLCAgDQogICAgICAgIHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoaGp1c3QgPSAwLjUpKSArICANCiAgdGhlbWUoDQogICAgcGxvdC5tYXJnaW4gPSB1bml0KGMoMC41LCAwLjUsIDAuNSwgMC41KSwgImNtIikgICkNCmBgYA0KDQpUaGVvIHPhu5EgbGnhu4d1IHbDoG8gbmfDoHkgMjgvMTEsIGjDoG5nIGxv4bqhdCBuZ8OibiBow6BuZyDEkcOjIHTEg25nIHRow6ptIGzDo2kgc3XhuqV0DQpodXkgxJHhu5luZywgduG7m2kgbeG7qWMgbMOjaSBzdeG6pXQgY2FvIG5o4bqldCDEkcaw4bujYyBnaGkgbmjhuq1uIGzDqm4gxJHhur9uIDEwLDUlL27Eg20gxJHhu5FpIHbhu5tpIGvhu7MgaOG6oW4gMTMgdGjDoW5nIHThuqFpIG5nw6JuIGjDoG5nIFPDoGkgR8OybiBDw7RuZyBUaMawxqFuZyAoU2FpZ29uYmFuaykuIA0KDQpU4bqhaSBuZ8OibiBow6BuZyBUTUNQIFPDoGkgR8OybiAtIFNDQiwgbMOjaSBzdeG6pXQgaHV5IMSR4buZbmcgdGnhu4FuIGfhu61pIHRy4buxYyB0dXnhur9uIGPFqW5nIMSR4bqhdCBt4bupYyA5LDk1JS9uxINtIMSR4buRaSB24bubaSBr4buzIGjhuqFuIHThu6sgMTIgdGjDoW5nIHRy4bufIGzDqm4uIA0KDQpT4bufIGTEqSDEkcOieSBsw6AgbmfDom4gaMOgbmcgY8OzIGzDo2kgc3XhuqV0IGNhbyBuaOG6pXQgdHJvbmcgaOG7hyB0aOG7kW5nIGPDoWMgbmfDom4gaMOgbmcgVE1DUCB0csOqbiBj4bqjIG7GsOG7m2MgYuG7n2kgbmdvw6BpIHZp4buHYyB0dcOibiB0aGVvIGNow61uaCBzw6FjaCDEkWnhu4F1IGNo4buJbmggZ2lhIHTEg25nDQpsw6NpIHN14bqldCBj4bunYSBOaMOgIG7GsOG7m2MsIGfhuqduIMSRw6J5IG5nw6JuIGjDoG5nIG7DoHkgY8WpbmcgZ+G6t3AgbeG7mXQgc+G7kSB0aW4gdOG7qWMgdGnDqnUgY+G7sWMsIGLhuqV0IGzhu6NpLCBnw6J5IG3huqV0IG5p4buBbSB0aW4gY2hvIG5nxrDhu51pIHRpw6p1IGTDuW5nLiANCg0KxJDhu5FpIHbhu5tpIG5nw6JuIGjDoG5nIFRNQ1AgS+G7uSB0aMawxqFuZyBWaeG7h3QgTmFtIChUZWNoY29tYmFuaykgY8WpbmcgduG7q2EgZ2hpIG5o4bqtbiBsw6NpIHN14bqldCBodXkgxJHhu5luZyB0xINuZyBjYW8gbmjhuqV0IGzDqm4gOS4zJS9uxINtIGTDoG5oIGNobyBjw6FjIGvhu7MgaOG6oW4gMTIgdGjDoW5nLg0KDQpOaMOsbiBjaHVuZywgbeG7qWMgbMOjaSBzdeG6pXQgdOG6oWkgY8OhYyBuZ8OibiBow6BuZyBraMOhYyBuaMawIE5nw6JuIGjDoG5nIFRNQ1AgUXXDom4gxJHhu5lpIChNQiksIE5nw6JuIGjDoG5nIFRNQ1AgUXXhu5FjIETDom4gKE5DQiksIE5nw6JuIGjDoG5nIFRNQ1AsIELhuq9jIMOBIChCYWMgQSBCYW5rKS4uLiBjxaluZyBjaOG7qW5nIGtp4bq/biBz4buxIGdpYSB0xINuZy4NCg0KIyMjIDIuNC4zIEzDo2kgc3XhuqV0IHRp4bq/dCBraeG7h20gbmfDom4gaMOgbmcgVGjDoW5nIDEyLzIwMjINCg0KTeG6t2MgZMO5IHBo4bqnbiBs4bubbiBuaMOgIGLEg25nIMSRw6MgxJFp4buBdSBjaOG7iW5oIGzDo2kgc3XhuqV0IHRp4bq/dCBraeG7h20gduG7gSBt4bupYyB04buRaSDEkWEgOSw1JS9uxINtIHThu6sgZ2nhu69hIHRow6FuZyAxMi8yMDIyLCBzb25nIMSR4bq/biBuYXkgduG6q24gY8OzIGzDoWMgxJHDoWMgbeG7mXQgc+G7kSBuZ8OibiBow6BuZyBuacOqbSB54bq/dCBjYW8gaMahbiBt4bupYyBuw6B5Lg0KDQpgYGB7cn0NClRoYW5nMTIgPC0gTGFpU3VhdCAlPiUgZmlsdGVyKENhcE5oYXQgPT0gIjEyLzIwMjIiKQ0KZ2dwbG90KFRoYW5nMTIsIGFlcyh4ID0gTmdhbkhhbmcsIHkgPSBMYWlTdWF0LCBjb2xvciA9IFRob2lIYW4sIGdyb3VwID0gVGhvaUhhbikpICsNCiAgZ2VvbV9saW5lKCkgKw0KICBnZW9tX3BvaW50KHNpemUgPSAyLjUpICsNCiAgbGFicyh4ID0gIk5nw6JuIEjDoG5nIiwgeSA9ICJMw6NpIFN14bqldCIsIHRpdGxlID0gIkzDo2kgc3XhuqV0IHRp4bq/dCBraeG7h20gdOG6oWkgcXXhuqd5IHRow6FuZyAxMi8yMDIyICjEkcahbiB24buLOiAlL27Eg20pIikgKw0KICB0aGVtZV9taW5pbWFsKCkrDQogIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gYW5nbGUsIGhqdXN0ID0gMSksICANCiAgICAgICAgYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDYpLCAgDQogICAgICAgIHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoaGp1c3QgPSAwLjUpKSArICANCiAgdGhlbWUoDQogICAgcGxvdC5tYXJnaW4gPSB1bml0KGMoMC41LCAwLjUsIDAuNSwgMC41KSwgImNtIikgICkNCmBgYA0KVMawxqFuZyB04buxIGvhu7MgaOG6oW4gNiB0aMOhbmcsIFNDQiwgTkNCIHbhuqtuIGzDoCBuaOG7r25nIG5nw6JuIGjDoG5nIGPDsyBsw6NpIHN14bqldCBjYW8gbmjhuqV0IHRo4buLIHRyxrDhu51uZy4gVHLDqm4gdGjhu4sgdHLGsOG7nW5nIGhp4buHbiBuYXksIHBo4bqnbiBs4bubbiBjw6FjIG5nw6JuIGjDoG5nIGPDsm4gbOG6oWkgaOG6p3UgaOG6v3QgbmnDqm0geeG6v3Qga2jDtG5nIHF1w6EgOSw1JS9uxINtLg0KDQoqIMSQ4buRaSB24bubaSBuaMOzbSBCaWc0LCBCSURWIHbDoCBWaWV0aW5CYW5rIGPDuW5nIG5pw6ptIHnhur90IDgsMiUvbsSDbSBjaG8gaMOsbmggdGjhu6ljIHRp4bq/dCBraeG7h20gb25saW5lIHbDoCA3LDQlL27Eg20gY2hvIGjDrG5oIHRo4bupYyBn4butaSB04bqhaSBxdeG6p3kuIFRyb25nIGtoaSBWaWV0Y29tYmFuayDDoXAgZOG7pW5nIGPDuW5nIG3hu6ljIDcsNCUvbsSDbSBjaG8gY+G6oyBraMOhY2ggaMOgbmcgZ+G7rWkgdHLhu7FjIHR1eeG6v24gbOG6q24gZ+G7rWkgdOG6oWkgcXXhuqd5Lg0KDQoqIMSQ4buRaSB24bubaSBr4buzIGjhuqFuIGTGsOG7m2kgNiB0aMOhbmcsIHBo4bqnbiBs4bubbiBjw6FjIG5nw6JuIGjDoG5nIMSR4buBdSBuacOqbSB54bq/dCBsw6NpIHN14bqldCBr4buzIGjhuqFuIDMtNSB0aMOhbmcg4bufIG3hu6ljIHThu5FpIMSRYSBjaG8gcGjDqXAgbMOgIDYlL27Eg20uIFR1eSBuaGnDqm4sIHbhuqtuIGPDsyBt4buZdCBz4buRIG5nw6JuIGjDoG5nIMOhcCBk4bulbmcg4bufIG3hu6ljIHRo4bqlcCBoxqFuLCB0cm9uZyDEkcOzIEFncmliYW5rLCBWaWV0Y29tYmFuaywgQklEViB2w6AgVmlldGluQmFuayBjw7luZyBt4bupYyA1LDQlL27Eg20uDQoNCiogVHLGsOG7m2MgxJHDsywgxJHhu4Mg4buVbiDEkeG7i25oIG3hurd0IGLhurFuZyBodXkgxJHhu5luZywgdGhlbyBIaeG7h3AgaOG7mWkgTmfDom4gaMOgbmcgVmnhu4d0IE5hbSAoVk5CQSksIGPDoWMgdOG7lSBjaOG7qWMgdMOtbiBk4bulbmcgxJHDoyB0aOG7kW5nIG5o4bqldCBxdWFuIMSRaeG7g20gY2jhu4kgxJHhuqFvIGPhu6dhIE5nw6JuIGjDoG5nIE5ow6Agbsaw4bubYyB2w6Ag4bunbmcgaOG7mSDEkeG7gSB4deG6pXQgbeG7qWMgdOG7kWkgxJFhIDksNSUvbsSDbSBjaG8gbMOjaSBzdeG6pXQgaHV5IMSR4buZbmcgY8OhYyBr4buzIGjhuqFuIGvhu4MgdOG7qyBnaeG7r2EgdGjDoW5nIDEyLzIwMjIuDQoNClRoZW8gcGjDom4gdMOtY2ggY+G7p2EgZ2nhu5tpIGNodXnDqm4gZ2lhIHTDoGkgY2jDrW5oLCBuaGnhu4F1IHThu5UgY2jhu6ljIHF14buRYyB04bq/IMSRw6MgY8OzIG5o4bqtbiDEkeG7i25oIHbhu4EgYuG7qWMgdHJhbmgga8OpbSBs4bqhYyBxdWFuIGPhu6dhIGtpbmggdOG6vyBuxINtIDIwMjMuIEPDoWMgZOG6pXUgaGnhu4d1IMSRw6MgYuG6r3QgxJHhuqd1IHbhu5tpIHPhu5EgbMaw4bujbmcgY8OhYyDEkcahbiBow6BuZyBj4bunYSBkb2FuaCBuZ2hp4buHcCBnaeG6o20gdOG7qyBjdeG7kWkgbsSDbSAyMDIyLiBOaMawbmcgxJHDonkgY8WpbmcgbMOgIHnhur91IHThu5EgY8ahIHF1YW4gcXXhuqNuIGzDvSBjw7MgdGjhu4MgY8OibiBuaOG6r2MgaOG7lyB0cuG7oyB0aOG7iyB0csaw4budbmcgdGnhu4FuIHThu4cgbmjhurFtIGvDrWNoIHRow61jaCBwaMOhdCB0cmnhu4NuIGtpbmggdOG6vy4NCg0KVHV5IG5oacOqbiwgY8OhYyBk4buxIGLDoW8gxJHGsGEgcmEga+G7syB24buNbmcsIHTDrG5oIGjDrG5oIHPhur0gZOG6p24gZOG7hSB0aOG7nyBoxqFuLCBsw6NpIHN14bqldCBz4bq9IGLhuq90IMSR4bqndSBnaeG6o20gdOG7qyBxdcO9IDMvMjAyMy4gTOG6oW0gcGjDoXQgbsSDbSAyMDIzIHPhur0gdGhlbyBoxrDhu5tuZyBjYW8gdHJvbmcgbmjhu69uZyB0aMOhbmcgxJHhuqd1IG7Eg20gbmjGsG5nIGdp4bqjbSBk4bqnbiBr4buDIHThu6sgMiBxdcO9IGN14buRaSBuxINtIHPhur0gbMOgIMSRaeG7gXUga2nhu4duIHTDoWMgxJHhu5luZyB0w61jaCBj4buxYyBsw6puIGzDo2kgc3XhuqV0Lg0KDQoqKioNCg0KIyAqKlBI4bqmTiAzLiBHSeG6okkgVEjDjUNIIFPhu7AgQknhur5OIMSQ4buYTkcgJiBQSMOCTiBUw41DSCBUw4xOSCBIw4xOSCBUSOG7sEMgVOG6vioqDQoNCioqKg0KDQpUaGVvIFBow7MgVGjhu5FuZyDEkeG7kWMgTmfDom4gaMOgbmcgTmjDoCBuxrDhu5tjIMSQw6BvIE1pbmggVMO6LCBOZ8OibiBow6BuZyBOaMOgIG7GsOG7m2MNCnF1eeG6v3QgxJHhu4tuaCB0xINuZyBsw6NpIHN14bqldCBuaOG6sW0ga2nhu4NtIHNvw6F0IGzhuqFtIHBow6F0LCDhu5VuIMSR4buLbmgga2luaCB04bq/IHbEqSBtw7QgYmFvIGfhu5NtIHThu4kgZ2nDoSB2w6AgdGjhu4sgdHLGsOG7nW5nIG5nb+G6oWkgaOG7kWksIHThu6sgxJHDsyBo4buXIHRy4bujIHBo4bulYyBo4buTaSBraW5oIHThur8gY8WpbmcgbmjGsCDEkeG6o20gYuG6o28gYW4gdG/DoG4gaG/huqF0IMSR4buZbmcgbmfDom4gaMOgbmcuIOKAncSQw6J5IGPFqW5nIGzDoCDGsHUgdGnDqm4gc+G7kSBt4buZdCBj4bunYSBOZ8OibiBow6BuZyBOaMOgIG7GsOG7m2MgdHJvbmcgdGjhu51pIGdpYW4gdOG7m2nigJ0uIFsxXQ0KDQojIyAqKjMuMSBUw6xuaCBow6xuaCBs4bqhbSBwaMOhdCBnaWEgdMSDbmcgdHLDqm4gdG/DoG4gY+G6p3UqKg0KDQpUcm9uZyBoYWkgcXXDvSDEkeG6p3UgbsSDbSAyMDIyLCBs4bqhbSBwaMOhdCBjw7MgeHUgaMaw4bubbmcgdMSDbmcgdsOgIGvDqW8gZMOgaSwgxJHhuqF0IG3hu6ljIGNhbyB04bqhaSBuaGnhu4F1IHF14buRYyBnaWEgdHLDqm4gdGjhur8gZ2nhu5tpLiBDdeG7mWMgeHVuZyDEkeG7mXQgTmdhIC0gVWtyYWluZSDEkcOjIGfDonkgcmEgbmjhu69uZyBiaeG6v24gxJHhu5luZyB0cm9uZyBnacOhIG7Eg25nIGzGsOG7o25nLCBsw6BtIGdpw6FuIMSRb+G6oW4gY2h14buXaSBjdW5nIOG7qW5nLCDEkeG7k25nIHRo4budaSBraGFuIGhp4bq/bSBsYW8gxJHhu5luZyBzYXUgxJHhuqFpIGThu4tjaCBDT1ZJRC0xOSBsw6Agbmjhu69uZyBuZ3V5w6puIG5ow6JuIGNow61uaCBnw6J5IHJhIHTDrG5oIHRy4bqhbmcgbOG6oW0gcGjDoXQuIA0KDQpUaGVvIE5nw6JuIGjDoG5nIFRo4bq/IGdp4bubaSAoV0IpLCB0w61uaCDEkeG6v24gcXXDvSBJSS8yMDIyIGzhuqFtIHBow6F0IHRvw6BuIGPhuqd1IGzDoCA3LDglLCBt4bupYyBjYW8gbmjhuqV0IGvhu4MgdOG7qyBuxINtIDIwMDgsIHbGsOG7o3QgcXXDoSBt4bulYyB0acOqdSBs4bqhbSBwaMOhdCBj4bunYSB04bqldCBj4bqjIGPDoWMgcXXhu5FjIGdpYSB0csOqbiB0aOG6vyBnaeG7m2kuIA0KS2luaCB04bq/IHRo4bq/IGdp4bubaSB0aeG6v3AgdOG7pWMgcGjhuqNpIMSR4buRaSBt4bq3dCBuZ3V5IGPGoSBzdXkgdGhvw6FpIHRy4bqnbSB0cuG7jW5nLCBnacOhIGPhuqMgbGVvIHRoYW5nIHbDoCB0w6xuaCBow6xuaCB0w6BpIGNow61uaCBi4bqldCDhu5VuLlsyXQ0KDQohW1TDrG5oIGjDrG5oIGzhuqFtIHBow6F0IOG7nyBt4buZdCBz4buRIGtodSB24buxYyB0csOqbiB0aOG6vyBnaeG7m2kgdHJvbmcgbmjhu69uZyBuxINtIHbhu6thIHF1YS5dKGZpbGU6Ly8vQzovVXNlcnMvSFAvRGVza3RvcC96NTI4MTIzMDU5Nzg2NF9hNTYxY2RhZDkzYjhlMDQwNzE0YTdkY2Q2ZjBjYTM3NS5qcGcpDQogDQogDQogxJDhu4Mga2nhu4FtIGNo4bq/IGzhuqFtIHBow6F0LCDEkcawYSBs4bqhbSBwaMOhdCB24buBIG3hu6ljIHRo4bqlcCB2w6Ag4buVbiDEkeG7i25oLCBuaGnhu4F1IHF14buRYyBnaWEgdHLDqm4gdGjhur8gZ2nhu5tpIMSRw6MgdMSDbmcgbMOjaSBzdeG6pXQsIHRyb25nIMSRw7MgY8OzIFZp4buHdCBOYW0uIA0KS2hpIGzDo2kgc3XhuqV0IHTEg25nLCB0acOqdSBkw7luZyBz4bq9IGdp4bqjbSB4deG7kW5nIGLhu59pIG7hur91IG5nxrDhu51pIHRpw6p1IGTDuW5nIGPDsyBuaHUgY+G6p3UgdmF5IMSR4buDIG11YSBow6BuZyBow7NhIHRow6wgaOG7jSBz4bq9IHBo4bqjaSB0cuG6oyBt4buZdCBjaGkgcGjDrSDEkeG6r3QgxJHhu48gaMahbi4gDQoNCsSQ4buRaSB24bubaSDEkeG6p3UgdMawLCBjaGkgcGjDrSB2YXkgbcaw4bujbiB0xINuZyBsw6BtIGNobyBraOG6oyBuxINuZyBzaW5oIGzhu51pIGPhu6dhIGPDoWMNCmtob+G6o24gxJHhuqd1IHTGsCB0cuG7nyBuw6puIHRo4bqlcCBoxqFuLiBWw6wgdGjhur8gbcOgIHZp4buHYyB0xINuZyBsw6NpIHN14bqldCBjxaluZyBz4bq9IGzDoG0gZ2nhuqNtIG3hu6ljIMSR4buZIMSR4bqndSB0xrAuIA0KS2hpIG5odSBj4bqndSB2YXkgdGnDqnUgZMO5bmcsIG5odSBj4bqndSB2YXkgxJHhuqd1IHTGsCBnaeG6o20sIHRyb25nIGtoaSB2aeG7h2MgdMSDbmcgbMOjaSBzdeG6pXQgaHV5IMSR4buZbmcgc+G6vSBraHV54bq/biBraMOtY2ggbmfGsOG7nWkgZMOibiBn4butaSB0aeG7gW4sIGdpw7pwIGdp4bqjbSBsxrDhu6NuZyB0aeG7gW4gdHJvbmcgbMawdSB0aMO0bmcsIHF1YSDEkcOzLCBsw6BtIGdp4bqjbSBz4bupYyDDqXAgxJHhu5FpIHbhu5tpIHh1IGjGsOG7m25nIHTEg25nIGdpw6EgY+G6oywgaGF5IGNow61uaCBsw6AgbOG6oW0gcGjDoXQuDQoNCiMjICoqMy4yIMSQ4buTbmcgVVNEIOG7nyBN4bu5IHTEg25nIGdpw6EsIGzDoG0gVmnhu4d0IE5hbSBi4buLIGvDqW8gdGhlbyoqDQoNCiMjIyAzLjIuMSDhu54gTeG7uQ0KDQpO4buBbiBraW5oIHThur8gTeG7uSDEkWFuZyBjw7MgbeG7qWMgxJHhu5kgbOG6oW0gcGjDoXQgY2FvIHbhu5tpIDgsMiUgdHJvbmcgdGjDoW5nIDkvMjAyMiwgdHJvbmcga2hpIGzhuqFtIHBow6F0IGzDtWkgLSB0aMaw4bubYyDEkW8ga2jDtG5nIGJhbyBn4buTbSBnacOhIHRo4buxYyBwaOG6qW0gdsOgIG7Eg25nIGzGsOG7o25nIC0gbMOgIDYsNiUsIGzDoCBt4bupYyDigJx04buTaSB04buHIG5o4bqldOKAnSBr4buDIHThu6sgbsSDbSAxOTgyLlszXSANCg0KVuG7m2kgbeG7pWMgxJHDrWNoIOKAnGjhuqEgbmhp4buHdOKAnSBu4buBbiBraW5oIHThur8sIMSRxrBhIGzhuqFtIHBow6F0IHRy4bufDQps4bqhaSBt4bupYyBt4bulYyB0acOqdSAyJSBow6BuZyBuxINtLCBD4bulYyBE4buxIHRy4buvIExpw6puIGJhbmcgKEZFRCkgxJHDoyBsacOqbiB04bulYyBuw6JuZyBsw6NpIHN14bqldCDEkWnhu4F1IGjDoG5oLCBraGnhur9uIG5nw6JuIGjDoG5nIHRoxrDGoW5nIG3huqFpIHBo4bqjaSBuw6JuZyBsw6NpIHN14bqldCBodXkgxJHhu5luZyDEkeG7gyB0aHUgaMO6dCBuZ8aw4budaSBkw6JuIGfhu61pIHRp4buBbiwgxJHhu5NuZyB0aOG7nWkgdMSDbmcgbMOjaSBjaG8gdmF5IMSR4buDIMSR4bqjbSBi4bqjbyBs4bujaSBuaHXhuq1uLiDEkGnhu4F1IG7DoHkgZOG6q24gxJHhur9uIGzDo2kgc3XhuqV0IOG7nyBN4bu5IHTEg25nIHRyb25nIG3huqV5IHRow6FuZyB24burYSBxdWEuDQoNCiFbQ2jhu4kgc+G7kSBnacOhIHRpw6p1IGTDuW5nIChDUEkpIOG7nyBN4bu5IHRyb25nIDUgbsSDbSB04burIDIwMTggdOG7m2kgdGjDoW5nIDEwLzIwMjJdKGZpbGU6Ly8vQzovVXNlcnMvSFAvRGVza3RvcC96NTI4MTIzMzQxMDYyOF8xOTk0MWI2MDM2M2Y3MWZmMzUzM2RlM2Q0M2ZkYTUwZS5qcGcpDQoNCk3hu5l0IHRyb25nIG5o4buvbmcga+G6v3QgcXXhuqMgY+G7p2Egdmnhu4djIHTEg25nIGzDo2kgc3XhuqV0IGzDoCB2aeG7h2MgbmfGsOG7nWkgZMOibiBN4bu5IMSRaSBn4butaSB0aeG7gW4g4bufIG5nw6JuIGjDoG5nIG5oaeG7gXUgaMahbi4gDQpEbyDEkcOzLCDEkeG7k25nIFVTRCByw7p0IGLhu5t0IHJhIGto4buPaSBsxrB1IHRow7RuZywgZOG6q24gxJHhur9uIHZp4buHYyBjdW5nIHRp4buBbiBnaeG6o20uIA0KVGhlbyBxdXkgbHXhuq10IGN1bmcgLSBj4bqndSwgbMO6YyBuw6B5IMSR4buTbmcgVVNEIHRy4bufIG7Dqm4gY8OzIGdpw6EgaMahbi4NCg0KQ8O5bmcgbMO6YyDEkcOzLCBjw6FjIG5ow6AgxJHhuqd1IHTGsCBr4buzIHbhu41uZyB2w6BvIGNhbSBr4bq/dCBj4bunYSBjaOG7pyB04buLY2ggRkVEIEplcm9tZSBQb3dlbGwgcuG6sW5nIE3hu7kgc+G6vSBraeG7g20gc2/DoXQgxJHGsOG7o2MgdMOsbmggaMOsbmggbOG6oW0gcGjDoXQsIMSR4buTbmcgdGjhu51pIGzDo2kgc3XhuqV0IHRyb25nIHRo4budaSBnaWFuIHThu5tpIGPDsyB0aOG7gyBz4bq9IHRp4bq/cCB04bulYyB0xINuZyBt4bqhbmggdsOgIGR1eSB0csOsIHRyb25nIG3hu5l0IGtob+G6o25nIHRo4budaSBnaWFuLiANCg0KTmjhu69uZyBr4buzIHbhu41uZyBuw6B5IMSRw6MgZ2nDunAgbOG7o2kgc3XhuqV0IHRyw6FpIHBoaeG6v3Uga2hvIGLhuqFjIGvhu7MgaOG6oW4gMTAgbsSDbSB0xINuZyBsw6puIMSR4bq/biAzLDQ0JSwgZ+G6pXAgxJHDtGkgc28gduG7m2kgbeG7mXQgbsSDbSB0csaw4bubYywgdsOgIMSRw6MgdGh1IGjDunQgbmjhu69uZyBuaMOgIMSR4bqndSB0xrAga2jhuq9wIHRyw6puIHRo4bq/IGdp4bubaS4gDQpUdXkgbmhpw6puIG7hur91IG11YSB0csOhaSBwaGnhur91IE3hu7ksIGjhu40gcGjhuqNpIMSR4buVaSB0aeG7gW4gdOG7hyBj4bunYSBtw6xuaCBs4bqleSBVU0QuIERvIMSRw7MsIGdpw6EgdHLhu4sgY+G7p2EgxJHhu5NuZyBVU0QgxJHGsOG7o2MgxJHhuql5IGzDqm4uWzRdDQoNCiFbVVNEIGtow7RuZyBuZ+G7q25nIHTEg25nIGdpw6EgdOG7qyBjdeG7kWkgbsSDbSAyMDIxIHThu5tpIG5heV0oZmlsZTovLy9DOi9Vc2Vycy9IUC9EZXNrdG9wL3o1MjgxMjMzMTE2NDYzXzAxY2I3Nzk4ODJmYmJkZDY5ZDY4NmQxOTg2NDdlYmI2LmpwZykNCg0KIyMjIDMuMi4yIOG7niBWaeG7h3QgTmFtDQoNCuG7niBWaeG7h3QgTmFtLCBi4bufaSB2w6wgxJHhu5NuZyBVU0QgbeG6oW5oIGzDqm4gbsOqbiBuaOG7r25nIGRvYW5oIG5naGnhu4dwIGPDsyB2YXkgYuG6sW5nIMSR4buTbmcNClVTRCBz4bq9IHBo4bqjaSB0cuG6oyBt4buZdCBraG/huqNuZyBsw6NpIGNhbyBoxqFuLiBWw6wgduG6rXksIG5oaeG7gXUgZG9hbmggbmdoaeG7h3AgdmF5IGLhurFuZyBVU0QgcGjhuqNpIHTDrG0gVVNEIMSR4buDIHRy4bqjIGzhuqFpIHRp4buBbiBn4buRYywgdGnhu4FuIGzDo2kgaG/hurdjIGzDoCBwaOG6o2kgdOG6pXQgdG/DoW4gbuG7oyB2YXkgc+G7m20uIA0KQ+G6p3UgVVNEIHTEg25nIG3huqFuaCBsw6BtIHTEg25nIGdpw6EgdHLhu4sgxJHhu5NuZyBVU0QsIGfDonkgw6FwIGzhu7FjIGdp4bqjbSBnacOhIHRp4buBbiDEkeG7k25nLg0KDQpgYGB7cn0NCmdncGxvdChUeUdpYSwgYWVzKHggPSBOZ8OgeSwgeSA9IFR5R2lhVHJ1bmdUYW0gICAgICAgICkpICsNCiAgZ2VvbV9saW5lKCkgKw0KICBsYWJzKHRpdGxlID0gIkJp4bq/biDEkeG7mW5nIHThu7cgZ2nDoSB0cm9uZyBuxINtIDIwMjIgKMSQxqFuIHbhu4s6IMSR4buTbmcpIiwNCiAgICAgICB4ID0gIk5nw6B5IiwNCiAgICAgICB5ID0gIlThu7cgZ2nDoSB0cnVuZyB0w6JtIikgKw0KdGhlbWUoDQogICAgcGxvdC5tYXJnaW4gPSB1bml0KGMoMC41LCAwLjUsIDAuNSwgMC41KSwgImNtIikgICkNCmBgYA0KDQpVU0QgbMOgIMSR4buTbmcgdGnhu4FuIHRoYW5oIHRvw6FuIHRow7RuZyBk4bulbmcgbmjhuqV0IHRyw6puIHRo4bq/IGdp4bubaSBuw6puIGtoaSB04bu3IGdpw6EgVVNEIHTEg25nLCBWaeG7h3QgTmFtIMSRw6MgYuG6r3QgxJHhuqd1IGfhurdwIG5o4buvbmcga2jDsyBraMSDbi4gVMOsbmggaMOsbmggeHXhuqV0IG5o4bqtcCBraOG6qXUga2jDtG5nIHRodeG6rW4gbOG7o2kga2hp4bq/biBraW5oIHThur8gVmnhu4d0IE5hbSB0cuG7nyBuw6puIHN1eSB0aG/DoWkuIA0KDQpUcm9uZyBnaWFpIMSRb+G6oW4gbsOgeSwgbmfGsOG7nWkgZMOibiBjw7MgeHUgaMaw4bubbmcgbXVhIFVTRCwgduG7m2kgbeG7pWMgxJHDrWNoIGThu7EgdHLhu68gaG/hurdjIGPDsyB0aOG7gyDEkeG6p3UgY8ahLiANCkdpw6EgVVNEIHRp4bq/cCB04bulYyB0xINuZyBt4bqhbmggdOG6oWkgVmnhu4d0IE5hbSBkbyBj4bqndSB2xrDhu6N0IHhhIGN1bmcuIA0KTMO6YyBuw6B5LCBOZ8OibiBow6BuZyBOaMOgIG7GsOG7m2MgVmnhu4d0IE5hbSBwaOG6o2kgbGnDqm4gdOG7pWMgxJFp4buBdSBjaOG7iW5oIG7Dom5nIGzDo2kgc3XhuqV0IMSR4buDIHRodSBow7p0IGjhuqVwIGThuqtuIMSR4buRaSB24bubaSB0aeG7gW4gVmnhu4d0IE5hbSwgYsOhbiBVU0QgxJHhu4MgbXVhIFZp4buHdCBOYW0gxJHhu5NuZyBuaOG6sW0gYuG6o28gduG7hyBz4bupYyBt4bqhbmggxJHhu5NuZyBu4buZaSB04buHLCBnacO6cCBo4bqhIG5oaeG7h3QgZ2nDoSB4deG6pXQgbmjhuq1wIGto4bqpdS4gDQoNCg0KIyMgKiozLjMgQ8OhYyBuZ8OibiBow6BuZyDEkWFuZyB0aGnhur91IHRoYW5oIGtob+G6o24qKg0KDQpUcm9uZyBiw6FvIGPDoW8gbeG7m2kgbmjhuqV0IHbhu4EgbMSpbmggduG7sWMgbmfDom4gaMOgbmcgY+G7p2EgQ8O0bmcgdHkgQ2jhu6luZyBraG/DoW4gVk5EaXJlY3QgY2hvIGJp4bq/dCwgdGhhbmgga2hv4bqjbiB0aOG7iyB0csaw4budbmcgxJFhbmcgcuG6pXQgY8SDbmcgdGjhurNuZywgbMOgIG3hu5l0IHbhuqVuIMSR4buBIMSRw6FuZyBxdWFuIHTDom0gxJHhu5FpIHbhu5tpIGjhu4cgdGjhu5FuZyBuZ8OibiBow6BuZyB0cm9uZyB0aOG7nWkgZ2lhbiB24burYSBxdWEuWzVdDQoNCg0KU2F1IG5oaeG7gXUgdGjDoW5nIHBob25nIHThu49hIHbDoG8gY3Xhu5FpIG7Eg20gMjAyMSwgdmnhu4djIG7hu4FuIGtpbmggdOG6vyBt4bufIGPhu61hIMSRw6MgZ2nDunAgY8OhYyBob+G6oXQgxJHhu5luZyBz4bqjbiB4deG6pXQga2luaCBkb2FuaCBo4buTaSBwaOG7pWMgbeG6oW5oIHRy4bufIGzhuqFpLCB0aGVvIMSRw7MgbsOzIGPFqW5nIGvDqW8gdGhlbyBuaHUgY+G6p3UgduG7gSB24buRbiB0xINuZyBjYW8sIHTDrW4gZOG7pW5nIHBo4bulYyBo4buTaSBt4bqhbmggbeG6vS4NClRoZW8gcGjDom4gdMOtY2ggdOG7qyBjw6FjIGNodXnDqm4gZ2lhLCBt4buZdCB0cm9uZyBuaOG7r25nIG5ndXnDqm4gbmjDom4ga2hp4bq/biBuaGnhu4F1IG5nw6JuIGjDoG5nIGfhurdwIHTDrG5oIHRy4bqhbmcgdGhp4bq/dSBo4buldCB0aGFuaCBraG/huqNuIGzDoCBkbyB0w61uIGThu6VuZyB0xINuZyBuaGFuaCB0cm9uZyBraGkgaHV5IMSR4buZbmcgdMSDbmcgY2jhuq1tLCBraGnhur9uIG5oaeG7gXUgbmfDom4gaMOgbmcgcGjhuqNpIHTDrG0gY8OhY2ggdMSDbmcgaHV5IMSR4buZbmcgduG7kW4gxJHhu4MgYsO5IMSR4bqvcCBjaG8gcGjhuqduIMSRw6MgY2hvIHZheSDigJxxdcOhIHRheeKAnSB0cm9uZyA5IHRow6FuZyDEkeG6p3UgbsSDbS4gDQoNCiFbXShmaWxlOi8vL0M6L1VzZXJzL0hQL0Rlc2t0b3AvejUyODEyMzQxMjg5ODhfZjc2ZDdlZTdkZTA3Y2NkZWY3ZjQwZTg4Njg4ZGY5ZTMuanBnKQ0KDQpDw6FjIHNhaSBwaOG6oW0gduG7gSBwaMOhdCBow6BuaCB0csOhaSBwaGnhur91IGRvYW5oIG5naGnhu4dwIMSRYW5nIGLhu4sgxJFp4buBdSB0cmEgbmjGsCB24bulIHZp4buHYyBjw7MgbGnDqm4gcXVhbiB04bubaSBTQ0IgdsOgIFbhuqFuIFRo4buLbmggUGjDoXQgY8WpbmcgZ8OieSDDoXAgbOG7sWMgdOG7m2kgdGhhbmgga2hv4bqjbiBo4buHIHRo4buRbmcgdsOgIGtoaeG6v24gY2hvIG5oaeG7gXUgbmjDoCDEkeG6p3UgdMawIG3huqV0IG5p4buBbSB0aW4gdHJvbmcgdmnhu4djIG11YSB0csOhaSBwaGnhur91LiANCg0KVGhlbyBjaHV5w6puIGdpYSBraW5oIHThur8sIFRp4bq/biBz4bu5IE5ndXnhu4VuIE1pbmggUGhvbmcsIHRoaeG6v3UgdGhhbmgga2hv4bqjbiBsw6AgbeG7mXQgdHJvbmcgY8OhYyBuZ3V5w6puIG5ow6JuIGNow61uaCBraGnhur9uIGPDoWMgbmfDom4gaMOgbmcgdGjGsMahbmcgbeG6oWkgdGhhbSBnaWEgdsOgbyBjdeG7mWMgxJF1YSB0xINuZyBsw6NpIHN14bqldCBodXkgxJHhu5luZy4gDQoNCkLhu59pIG7hur91IGzDo2kgc3XhuqV0IHRo4bqlcCwgbmfDom4gaMOgbmcgc+G6vSBraMO0bmcgaHV5IMSR4buZbmcgxJHhu6cgbmd14buTbiB24buRbiDEkeG7gyBiw7kNCsSR4bqvcCBjaG8gcGjhuqduIMSRw6MgY2hvIHZheSwgdsOsIHbhuq15IGjhu40gYnXhu5ljIHBo4bqjaSB0xINuZyBsw6NpIHN14bqldCDEkeG7gyB0aHUgaMO6dCBuZ8aw4budaSBkw6JuIGfhu61pIHRp4buBbi4NCg0KTeG6t3Qga2jDoWMsIGtoaSBt4buZdCBuZ8OibiBow6BuZyB0xINuZywgY8OhYyBuZ8OibiBow6BuZyBraMOhYyBjxaluZyBwaOG6o2kgdMSDbmcgdGhlbywgbuG6v3Uga2jDtG5nIHRow6wgZMOybmcgduG7kW4gc+G6vSBk4buLY2ggY2h1eeG7g24gdOG7qyBuZ8OibiBow6BuZyBuw6B5IHNhbmcgbmfDom4gaMOgbmcga2jDoWMuWzZdDQoNCiMjICoqMy41IEzDo2kgc3XhuqV0IOG7nyBWaeG7h3QgTmFtIHTEg25nKioNClZp4buHYyBOZ8OibiBow6BuZyBOaMOgIG7GsOG7m2MgVmnhu4d0IE5hbSB0xINuZyBsw6NpIHN14bqldCBjxaluZyBrw6lvIHRoZW8gdmnhu4djIGPDoWMgbmfDom4gaMOgbmcgdGjGsMahbmcgbeG6oWkgdGnhur9wIHThu6VjIHTEg25nIGzDo2kgc3XhuqV0IGh1eSDEkeG7mW5nLg0KDQpDw7MgbmfDom4gaMOgbmcgdMSDbmcgbMOjaSBzdeG6pXQgaHV5IMSR4buZbmcgxJHhur9uIDIgbOG6p24vdHXhuqduIMSR4buDIHRodSBow7p0IHbhu5FuLCB04burIMSRw7MgbMOjaSBzdeG6pXQgY2hvIHZheSBjxaluZyDEkcaw4bujYyDEkeG6qXkgbMOqbiBy4bqldCBjYW8uIEzDo2kgdmF5IHTEg25nIHThu6sgNiAtIDclL27Eg20gxJHDoyBsw6puIMSR4bq/biBt4bupYyAxMCAtIDExJS9uxINtIHbhu5tpIGRvYW5oIG5naGnhu4dwLCBjw7JuIMSR4buRaSB24bubaSBjw6EgbmjDom4gdmF5IMSR4buDIG11YSBuaMOgLCBtdWEgeGUgdGjDrCBt4bq3dCBi4bqxbmcgbMOjaSBzdeG6pXQgY2hvIHZheSDEkcOjIGzDqm4gbeG7qWMgMTUlL27Eg20sIGtoaeG6v24gbmfGsOG7nWkgdmF5ICJuZ+G7mXAgdGjhu58iLCBkb2FuaCBuZ2hp4buHcCBraMO0bmcgZMOhbSB2YXkgbmhp4buBdSB2w6wgbMOjaSBzdeG6pXQgdMSDbmcgY2FvLiANCg0KVOG7m2kgdGjhu51pIMSRaeG7g20gaGnhu4duIHThuqFpLCBzYXUga2hpIGxpw6puIHThu6VjIHTEg25nIGzDo2kgc3XhuqV0IHRp4bq/dCBraeG7h20sIGPDoWMgbmfDom4gaMOgbmcgdGjGsMahbmcgbeG6oWkgxJHDoyB0aHUgduG7gSBkw7JuZyB24buRbiBraOG7lW5nIGzhu5MsIHRoYW5oIGtob+G6o24gbOG6oWkgdHLhu58gduG7gSB0cuG6oW5nIHRow6FpIGThu5NpIGTDoG8uIE3hu5tpIMSRw6J5LCBWaWV0Y29tYmFuayB2w6AgSERCYW5rIHbhu6thIGPDtG5nIGLhu5EgZ2nhuqNtIGzDo2kgc3XhuqV0IGNobyB2YXkgLSBt4buZdCDEkeG7mW5nIHRow6FpIMSRxrDhu6NjIHRo4buLIHRyxrDhu51uZyBr4buzIHbhu41uZyBz4bq9IHThuqFvIG7Dqm4gbMOgbiBzw7NuZyBnaeG6o20gbMOjaSBzdeG6pXQsIGdpw7pwIGjhu5cgdHLhu6MgZG9hbmggbmdoaeG7h3Agdsaw4bujdCBxdWEga2jDsyBraMSDbiBoaeG7h24gbmF5IHbDoCBnw7NwIHBo4bqnbiBwaOG7pWMgaOG7k2kgdsOgIHBow6F0IHRyaeG7g24gbuG7gW4ga2luaCB04bq/Lls3XSANCg0KTmfDom4gaMOgbmcgTmjDoCBuxrDhu5tjIHRhIHBo4bqjaSDEkWnhu4F1IGNo4buJbmggbeG7qWMgbMOjaSBzdeG6pXQgdMSDbmcgbMOqbiDEkeG7gyBnaeG7ryBnacOhIHRy4buLIMSR4buTbmcgdGnhu4FuIFZORCBraOG7j2kgbeG6pXQgZ2nDoSBu4bq3bmcgbuG7gSBzbyB24bubaSBjw6FjIMSR4buTbmcgbmdv4bqhaSB04buHIGtow6FjLiANCk7hur91IGtow7RuZywgbuG7gW4ga2luaCB04bq/IFZp4buHdCBOYW0gc+G6vSByxqFpIHbDoG8gdGjhu51pIGvhu7MgbOG6oW0gcGjDoXQgdHLhuqdtIHRy4buNbmcNCmThu4UgZOG6q24gxJHhur9uIGto4bunbmcgaG/huqNuZy4gTsOzaSBjw6FjaCBraMOhYywgbMOjaSBzdeG6pXQgdMSDbmcgc+G6vSBwaOG6p24gbsOgbyBsw6BtIGdp4bqjbSDDoXAgbOG7sWMgdOG7tyBnacOhIHbDrCBraGkgxJHDsyBsw6NpIHN14bqldCDEkeG7k25nIHThu4cgdHJvbmcgbsaw4bubYyB0xINuZyBsw6puIGPFqW5nIGzDoG0gdMSDbmcgc+G7qWMgaOG6pXAgZOG6q24gY+G7p2EgxJHhu5NuZyBWTkQuIA0KDQoqKk5nb8OgaSByYSoqLCBi4bqxbmcgdmnhu4djIHTEg25nIGzDo2kgc3XhuqV0LCBOaMOgIG7GsOG7m2MgY8WpbmcgY8OzIHRo4buDIGzGsOG7nW5nIHRyxrDhu5tjIGPDoWMgxJHhu6N0IHTEg25nIGzDo2kgc3XhuqV0IHRp4bq/cCB0aGVvIGPhu6dhIEZFRC4gVGhlbyB04budIGLDoW8gS2luaCB04bq/ICYgxJDDtCB0aOG7iywgbMOjaSBzdeG6pXQgxJFp4buBdSBow6BuaCB0xINuZywga8OpbyBsw6NpIHN14bqldCBodXkgxJHhu5luZyB0xINuZy4gVmnhu4djIG7DoHkgY8OzIGzhu6NpIGNobyBuZ8aw4budaSBn4butaSB0aeG7gW4sIHF1YSDEkcOzIGdpw7pwIGjhu4cgdGjhu5FuZyBuZ8OibiBow6BuZyB0aeG6v3AgdOG7pWMgaHV5IMSR4buZbmcgxJHGsOG7o2Mgbmd14buTbiB24buRbiwgY+G6o2kgdGhp4buHbiB0aGFuaCBraG/huqNuLCBnw7NwIHBo4bqnbiBuw6JuZyBjYW8gYW4gdG/DoG4gaOG7hyB0aOG7kW5nLCBo4buHIHRo4buRbmcgbmfDom4gaMOgbmcgY8OzIMSR4bunIG5ndeG7k24gduG7kW4gxJHhu4MgaOG7lyB0cuG7oyBxdcOhIHRyw6xuaCBwaOG7pWMgaOG7k2kga2luaCB04bq/LiBbOF0gDQoNCkN14buRaSBjw7luZywgZ2nDoSB0csOhaSBwaGnhur91IHThu4kgbOG7hyBuZ2jhu4tjaCB24bubaSBsw6NpIHN14bqldCwgbsOqbiBraGkgbMOjaSBzdeG6pXQgdMSDbmcgbMOgbSBjaG8gZ2nDoSB0csOhaSBwaGnhur91IGdp4bqjbSDEkWksIG5odSBj4bqndSBjaG8gdmF5IHRp4buBbiAobXVhIHRyw6FpIHBoaeG6v3UpIHTEg25nIGzDqm4uIA0KDQoqKlTDs20gbOG6oWkqKiwgdmnhu4djIHTEg25nIGzDo2kgc3XhuqV0IHRyb25nIHRo4budaSBnaWFuIHbhu6thIHF1YSBsw6AgxJFp4buBdSB04bqldCB54bq/dSBuaOG6sW0ga2nhu4FtIGNo4bq/IGzhuqFtIHBow6F0LCBnaeG7ryBnacOhIHRy4buLIMSR4buTbmcgVk5EIHbDoCB0cm9uZyBkw6BpIGjhuqFuIGzDoCBuaOG6sW0gbeG7pWMgxJHDrWNoIHBow6F0IHRyaeG7g24ga2luaCB04bq/LiANCg0KKioqDQoNCiMgKipQSOG6pk4gNC4gTOG7nEkgS+G6vlQqKg0KDQoqKioNCg0KVmnhu4djIHTEg25nIGzDo2kgc3XhuqV0IGPhu6dhIE5nw6JuIGjDoG5nIFRydW5nIMawxqFuZyB0csOqbiB0b8OgbiBj4bqndSwgYmFvIGfhu5NtIFZp4buHdCBOYW0sIGzDoCBt4buZdCBiaeG7h24gcGjDoXAgY+G6p24gdGhp4bq/dCDEkeG7gyDhu6luZyBwaMOzIHbhu5tpIG5ndXkgY8ahIGto4bunbmcgaG/huqNuZyBraW5oIHThur8gdsOgIGzhuqFtIHBow6F0IGNhby4gVMSDbmcgbMOjaSBzdeG6pXQgc+G6vSBnacO6cCDhu5VuIMSR4buLbmggdMOsbmggaMOsbmggdMOgaSBjaMOtbmggdsOgIMSR4buRaSBwaMOzIHbhu5tpIHPhu6ljIMOpcCB04burIGPDoWMgeeG6v3UgdOG7kSBiw6puIG5nb8OgaSBuaMawIHTEg25nIGzDo2kgc3XhuqV0IGPhu6dhIEPhu6VjIEThu7EgdHLhu68gTGnDqm4gYmFuZyBN4bu5LiANCg0KVHV5IG5oacOqbiwgxJFp4buBdSBuw6B5IGPFqW5nIMSR4bq3dCByYSB0aMOhY2ggdGjhu6ljIHbhu4Egdmnhu4djIGR1eSB0csOsIOG7lW4gxJHhu4tuaCBsw6NpIHN14bqldCB0cm9uZyBi4buRaSBj4bqjbmggbOG6oW0gcGjDoXQgdsOgIGJp4bq/biDEkeG7mW5nIHThu7cgZ2nDoSBoaeG7h24gdOG6oWkuIE5nw6JuIGjDoG5nIFRydW5nIMawxqFuZyBj4bqnbiBwaOG6o2kgdMOsbSByYSBnaeG6o2kgcGjDoXAgcGjDuSBo4bujcCDEkeG7gyBo4buXIHRy4bujIHbhu5FuIGNobyBjw6FjIGRvYW5oIG5naGnhu4dwLCDEkeG7k25nIHRo4budaSBjw6JuIG5o4bqvYyBjw6FjIHnhur91IHThu5Eg4bqjbmggaMaw4bufbmcgxJHhur9uIG7hu4FuIGtpbmggdOG6vy4gDQoNCsSQw6J5IGzDoCBt4buZdCB0aMOhY2ggdGjhu6ljIMSRw7JpIGjhu49pIHPhu7EgaGnhu4N1IGJp4bq/dCBzw6J1IHLhu5luZyB24buBIHTDoGkgY2jDrW5oIHbDoCB0aeG7gW4gdOG7hywgdsOgIGPFqW5nIGzDoCBjxqEgaOG7mWkgxJHhu4Mgw6FwIGThu6VuZyBuaOG7r25nIGtp4bq/biB0aOG7qWMgbMO9IHRodXnhur90IHbDoG8gdGjhu7FjIHRp4buFbi4NCg0KKipEw7kgdGjhu51pIGdpYW4gbmdoacOqbiBj4bupdSBi4buLIGjhuqFuIGNo4bq/KiosIG5oxrBuZyBlbSDEkcOjIMOhcCBk4bulbmcgbmjhu69uZyBraeG6v24gdGjhu6ljIMSRxrDhu6NjIGjhu41jIHThu6sgbcO0biAiTmfDtG4gbmfhu68gbOG6rXAgdHLDrG5oIHRyb25nIHBow6JuIHTDrWNoIGThu68gbGnhu4d1IiDEkeG7gyB0aeG6v24gaMOgbmggcGjDom4gdMOtY2ggdsOgIHjhu60gbMO9IGThu68gbGnhu4d1LiBFbSBtdeG7kW4gbeG7mXQgbOG6p24gbuG7r2EgYsOgeSB04buPIGzDsm5nIGJp4bq/dCDGoW4gc8OidSBz4bqvYyDEkeG6v24gdGjhuqd5IFRy4bqnbiBN4bqhbmggVMaw4budbmcsIG5nxrDhu51pIMSRw6MgY2hpYSBz4bq7IGtp4bq/biB0aOG7qWMgdsOgIGtpbmggbmdoaeG7h20gdHJvbmcgbMSpbmggduG7sWMgbsOgeS4NCg0KVHV5IG5oacOqbiwgZG8gZW0gY8OybiB0aGnhur91IGtpbmggbmdoaeG7h20gdsOgIGtp4bq/biB0aOG7qWMsIGLDoGkgdOG6rXAgY+G7p2EgdMO0aSBjw7MgdGjhu4Mga2jDtG5nIHRyw6FuaCBraOG7j2kgbmjhu69uZyDEkWnhu4NtIGNoxrBhIGhvw6BuIHRoaeG7h24uIEVtIHLhuqV0IG1vbmcgbmjhuq1uIMSRxrDhu6NjIHPhu7EgZ8OzcCDDvSB04burIHRo4bqneSDEkeG7gyBjw7MgdGjhu4MgY+G6o2kgdGhp4buHbiB2w6AgaG/DoG4gdGhp4buHbiBr4bu5IG7Eg25nIGPhu6dhIG3DrG5oIHRyb25nIGzEqW5oIHbhu7FjIG7DoHkuDQoNClRyw6JuIHRy4buNbmcsDQoNCkhvw6BuZyBU4bqlbiBQaMOhdC4NCg0KKioqDQoNCiMgKipUw4BJIExJ4buGVSBUSEFNIEtI4bqiTyoqDQoNCioqKg0KDQpbMV0gQsOhbyBUaeG7gW4gcGhvbmcgKDIwMjIpLCBUxINuZyBsw6NpIHN14bqldCBz4bq9IMSR4bqhdCBuaOG7r25nIG3hu6VjIHRpw6p1IGfDrD8sIGh0dHBzOi8vYm9tLnNvL0t0amlTSg0KDQpbMl0gTOG6oW0gcGjDoXQgdG/DoG4gY+G6p3UgNiB0aMOhbmcgxJHhuqd1IG7Eg20gMjAyMi4gKDIwMjIsIFNlcHRlbWJlciAxMikuIENvbnNvc3VraWVuIGh0dHBzOi8vY29uc29zdWtpZW4udm4vbGFtcGhhdC10b2FuLWNhdS02LXRoYW5nLWRhdS1uYW0tMjAyMi5odG0gDQoNClszXSBOaOG7r25nIMSRaeG7gXUga2jDsyBuw7NpIHbhu4EgbOG6oW0gcGjDoXQg4bufIE3hu7kuICgyMDIyLCBPY3RvYmVyIDI4KS4gVm5FY29ub215Lg0KZnJvbSBodHRwczovL3ZuZWNvbm9teS52bi9uaHVuZy1kaWV1LWtoby1ub2l2ZS1sYW0tcGhhdC1vLW15Lmh0bSANCg0KWzRdIEzDvSBnaeG6o2kgY8O6IHTEg25nIGdpw6Egbmdv4bqhbiBt4bulYyBj4bunYSDEkeG7k25nIFVTRDogS+G6uyBraMOzYywgbmfGsOG7nWkgY8aw4budaS4gKDIwMjIsIFNlcHRlbWJlciAzMCkuIELDoW8gTGFvIMSR4buZbmcuIGh0dHBzOi8vbGFvZG9uZy52bi90dS1saWV1L2x5LWdpYWktY3UtdGFuZy1naWEtbmdvYW4tbXVjLWN1YS1kb25nLXVzZC1rZWtob2Mtbmd1b2ktY3VvaS0xMDk5Mzk0LmxkbyANCg0KWzVdIE5nw6BuaCBuZ8OibiBow6BuZyAtIFNvIHPDoW5oIHTGsMahbmcgcXVhbiBraOG6oyBuxINuZyDEkcOhcCDhu6luZyBy4bunaSBybyB0aGFuaCBraG/huqNuIGdp4buvYSBjw6FjIG5nw6JuIGjDoG5nIG5pw6ptIHnhur90LiAoMjAyMiwgT2N0b2JlciAxNCkuIFZORElSRUNULiBodHRwczovL3d3dy52bmRpcmVjdC5jb20udm4vbmdhbmgtbmdhbmhhbmctc28tc2FuaC10dW9uZy1xdWFuLWtoYS1uYW5nLWRhcC11bmctcnVpLXJvLXRoYW5oLWtob2FuLWdpdWEtY2Fjbmdhbi1oYW5nLW5pZW0teWV0djIvIA0KDQpbNl0gQ8OhYyBuZ8OibiBow6BuZyBsacOqbiB04bulYyDEkXVhIGzDo2kgc3XhuqV0IGh1eSDEkeG7mW5nLCB2xrDhu6N0IDExJS9uxINtIHwgVMOgaSBjaMOtbmggfCBWaWV0bmFtKy4gKDIwMjIsIE5vdmVtYmVyIDI0KS4gVmlldG5hbVBsdXMuIGh0dHBzOi8vd3d3LnZpZXRuYW1wbHVzLnZuL2NhYy1uZ2FuLWhhbmctbGllbi10dWMtZHVhLWxhaS1zdWF0LWh1eWRvbmctdnVvdC0xMW5hbS84MzIwNzAudm5wIA0KDQpbN10gRMOybmcgduG7kW4gc+G6vSB0xINuZyBt4bqhbmgsIGzDo2kgdmF5IGjhuqEgbmhp4buHdC4gKDIwMjIsIE5vdmVtYmVyIDI5KS4gVm5CdXNpbmVzcy4gaHR0cHM6Ly9idnNjLmNvbS52bi9OZXdzLzIwMjIxMTI5LzEwNDI0NDQvZG9uZy12b24tc2UtdGFuZy1tYW5oLWxhaS12YXloYS1uaGlldC5hc3B4IA0KDQpbOF0gQsOhbyBLaW5oIHThur8gJiDEkMO0IHRo4buLICgyMDIyKSwgVMSDbmcgbMOjaSBzdeG6pXQgLSB2w6wgc2FvIHbDoCDhu6luZyBwaMOzIHRo4bq/IG7DoG8/LCBodHRwczovL2JvbS5zby9jdzR6ZXoNCg0KWzldIELDoW8gVHXhu5VpIHRy4bq7ICgyMDIyKSwgTMOjaSBzdeG6pXQgaHV5IMSR4buZbmcgdsaw4bujdCAxMCUvbsSDbSwgaHR0cHM6Ly9ib20uc28vSkp3emJm