1 Bộ dữ liệu từ IMF


1.1 Giới thiệu

  • Bộ dữ liệu IFS (International Financial Statistics) là một trong những bộ dữ liệu quan trọng và phổ biến được cung cấp bởi Quỹ Tiền tệ Quốc tế (IMF). Bộ dữ liệu này cung cấp thông tin về các chỉ số kinh tế quan trọng từ các quốc gia trên toàn thế giới, bao gồm nhưng không giới hạn trong việc theo dõi GDP, tỷ lệ lạm phát, cân đối thanh toán, dự trữ ngoại hối, và nhiều chỉ số tài chính khác.Bộ dữ liệu IFS thường được sử dụng để phân tích xu hướng kinh tế toàn cầu, so sánh hiệu suất kinh tế giữa các quốc gia, và dự báo các biến động trong nền kinh tế thế giới. Đối với các nhà nghiên cứu, nhà quản lý tài chính và chính phủ, bộ dữ liệu IFS là một nguồn thông tin quý giá để hiểu rõ hơn về tình hình kinh tế và tài chính toàn cầu cũng như ở cấp độ quốc gia

  • indicator: NGDP_XDC là mã chỉ số trong bộ dữ liệu IMF.Đây là chỉ số đo lường giá trị của tổng sản phẩm quốc nội (GDP) của một quốc gia, được tính bằng đơn vị đô la Mỹ hiện tại. Điều này đồng nghĩa với việc chỉ số này thể hiện giá trị tổng cộng của tất cả các hàng hóa và dịch vụ sản xuất trong quốc gia đó trong năm hiện tại, được tính bằng đơn vị tiền tệ của Hoa Kỳ.NGDP_XDC thường được sử dụng để đo lường và so sánh kích thước và tốc độ tăng trưởng kinh tế của các quốc gia trên thế giới.

  • NGDP_XDC (Tổng sản phẩm quốc nội, giá cố định): Tổng sản phẩm quốc nội, giá cố định, thường được xem là một chỉ số quan trọng cho sức khỏe kinh tế của một quốc gia. Các yếu tố ảnh hưởng đến chỉ số này có thể bao gồm: Khoản đầu tư: Sự tăng trưởng trong các khoản đầu tư, đặc biệt là đầu tư công và đầu tư tư nhân, có thể tăng cường sự phát triển kinh tế. Sự ổn định chính trị: Mức độ ổn định chính trị của một quốc gia có thể ảnh hưởng đến sự tin tưởng của các nhà đầu tư và doanh nghiệp, ảnh hưởng đến việc đầu tư và tiêu dùng trong nền kinh tế. Điều kiện kinh doanh: Mức độ thuận lợi của môi trường kinh doanh và các chính sách hỗ trợ doanh nghiệp có thể ảnh hưởng đến sự tăng trưởng kinh tế.

library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.3
## Warning: package 'ggplot2' was built under R version 4.3.3
## Warning: package 'tidyr' was built under R version 4.3.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.0     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(imf.data)
## Warning: package 'imf.data' was built under R version 4.3.3
library(DT)
## Warning: package 'DT' was built under R version 4.3.3
tmp1<- load_datasets('IFS')
ifs<- tmp1$get_series(freq='A', ref_area='VN', indicator='NGDP_XDC')
ifs<- na.omit(ifs)
names(ifs)<- c('Year','Tongsanpham')

datatable(ifs)

1.2 Phân tích bộ dữ liệu theo thời gian

library(ggplot2)
ggplot(data = ifs, aes(x = Year, y = Tongsanpham)) +
  geom_col(fill='pink') +
  labs(title = "Biểu đồ phân tích tổng sản phẩm quốc nội từ năm 2000 - 2023",
       x = "Năm",
       y = "GDP (current US$)") +
  theme_minimal()

Tổng quát

Sơ lược về biểu đồ ta thấy biểu đồ bắt đầu từ năm 2000 đến năm 2005 có xu hương phát triển rất ổn định

Tuy nhiên vào năm 2006 thì nó lại tuột dốc 1 cách bất ngờ và sau đó lại tăng rất ổn định cho đến năm 2022 và sau đó lại quay lại chu kì suy thoái kinh tế nên năm 2023 lại có xu hướng giảm

1.2.1 Giai đoạn từ năm 2000-2004

library(tidyverse)
library(imf.data)
tmp1 <- load_datasets('IFS')
ifs1<- tmp1$get_series(freq = 'A', ref_area = 'VN', indicator = 'NGDP_XDC', start=2000,end=2004)
names(ifs1)<-c('Year','Tongsanpham')
ggplot(data = ifs1, aes(x = Year, y = Tongsanpham)) +
  geom_col(fill='brown') + geom_text(aes(label= Tongsanpham, vjust=0, color= 'Tổng sản phẩm'))+
  labs(title = "Tổng sản phẩm quốc nội",
       x = "Năm",
       y = "GDP (current US$)") +
  theme_minimal()

Đây là giai đoạn năm 2000-2004

Tình hình chung: GDP Việt Nam trong giai đoạn 2000 - 2004 tăng trưởng liên tục với tốc độ tăng trưởng trung bình 15,5%/năm. Đây là giai đoạn phát triển kinh tế mạnh mẽ của Việt Nam, được đánh giá là “kỳ tích kinh tế”. Tốc độ tăng trưởng:

Tăng trưởng cao nhất trong giai đoạn này là năm 2004 (33,3%). Tăng trưởng thấp nhất là năm 2001 (8,9%).

Lí do vì sao tổng sản phẩm quốc nội của Việt Nam tăng như vậy

1.Cán cân thương mại xuất siêu:

Việt Nam xuất khẩu nhiều hơn nhập khẩu, tạo ra nguồn thu ngoại tệ lớn, góp phần thúc đẩy tăng trưởng kinh tế. Một số mặt hàng xuất khẩu chủ lực của Việt Nam trong giai đoạn này bao gồm: gạo, cà phê, thủy sản, dệt may…

  1. Thu hút đầu tư trực tiếp nước ngoài (FDI):

Việt Nam thu hút được lượng lớn vốn FDI vào các lĩnh vực như công nghiệp, dịch vụ, du lịch… FDI giúp tạo ra việc làm, tăng năng lực sản xuất và xuất khẩu, thúc đẩy tăng trưởng kinh tế.

  1. Cải cách kinh tế:

Chính phủ Việt Nam thực hiện nhiều cải cách kinh tế quan trọng như: Khởi nghiệp và tư nhân hóa Mở cửa thị trường Cải thiện môi trường đầu tư… Các cải cách này giúp giải phóng tiềm năng kinh tế, tạo điều kiện cho các doanh nghiệp phát triển và thúc đẩy tăng trưởng kinh tế.

  1. Chính sách khuyến khích phát triển kinh tế tư nhân:

Chính phủ Việt Nam ban hành nhiều chính sách khuyến khích phát triển kinh tế tư nhân, tạo điều kiện cho các doanh nghiệp tư nhân hoạt động hiệu quả. Kinh tế tư nhân đóng vai trò ngày càng quan trọng trong nền kinh tế Việt Nam, góp phần thúc đẩy tăng trưởng kinh tế.)

Mức GDP:

Mức GDP năm 2004 cao gần gấp đôi so với năm 2000.Năm 2004 so với năm bắt đầu là năm 2000 thì ta thấy nó tăng 76,46% Năm 2004, Việt Nam chính thức bước vào nhóm nước có thu nhập trung bình thấp theo phân loại của Ngân hàng Thế giới.

Biểu đồ GDP Việt Nam giai đoạn 2000 - 2004 cho thấy sự tăng trưởng kinh tế mạnh mẽ của Việt Nam trong giai đoạn này. Đây là giai đoạn có ý nghĩa quan trọng trong quá trình phát triển kinh tế của Việt Nam, tạo nền tảng cho những thành tựu kinh tế trong những năm tiếp theo

1.2.2 Giai đoạn tư năm 2005 đến 2009

tmp1 <- load_datasets('IFS')
ifs2<- tmp1$get_series(freq = 'A', ref_area = 'VN', indicator = 'NGDP_XDC', start=2005,end= 2009)
names(ifs2)<-c('Year','Tongsanpham')
ggplot(data = ifs2, aes(x = Year, y = Tongsanpham)) +
  geom_col(fill='skyblue') +geom_text(aes(label= Tongsanpham, vjust=0, color= 'Tổng sản phẩm'))+
  labs(title = "Tổng sản phẩm quốc nội",
       x = "Năm",
       y = "GDP (current US$)") +
  theme_minimal()

Giá trị GDP:

Trong giai đoạn này, GDP của Việt Nam tăng liên tục qua từng năm. Năm 2009 là năm có GDP cao nhất với 1,8091 tỷ USD. Năm 2005 là năm có GDP thấp nhất với 0,914 tỷ USD. Tốc độ tăng trưởng GDP trung bình trong giai đoạn này là khoảng 14%/năm.

Cấu trúc GDP:

Ngành dịch vụ đóng góp tỷ trọng cao nhất vào GDP trong cả giai đoạn, chiếm hơn 40%. Ngành công nghiệp chiếm tỷ trọng thứ hai, khoảng 30%. Ngành nông nghiệp chiếm tỷ trọng thấp nhất, khoảng 20%.

Nhận xét:

Nền kinh tế Việt Nam trong giai đoạn 2005 - 2009 phát triển nhanh chóng và ổn định, tốc độ tăng trưởng GDP cao. Ngành dịch vụ là động lực chính cho sự tăng trưởng kinh tế. Ngành công nghiệp và nông nghiệp cũng có đóng góp quan trọng cho nền kinh tế.

1.2.3 Giai đoạn từ năm 2010 đến 2014

ifs3<- tmp1$get_series(freq = 'A', ref_area = 'VN', indicator = 'NGDP_XDC', start=2010,end=2014)
names(ifs3)<-c('Year','Tongsanpham')
ggplot(data = ifs3, aes(x = Year, y = Tongsanpham)) +
  geom_col(fill='pink') +geom_text(aes(label= Tongsanpham, vjust=0, color= 'Tổng sản phẩm'))+
  labs(title = "Tổng sản phẩm quốc nội",
       x = "Năm",
       y = "GDP (current US$)") +
  theme_minimal()

Tổng quan: Biểu đồ thể hiện sự tăng trưởng liên tục của GDP Việt Nam trong giai đoạn 2010 - 2014.

Tốc độ tăng trưởng: Tốc độ tăng trưởng bình quân giai đoạn 2010 - 2014 là 5,9%/năm. Tốc độ tăng trưởng có xu hướng tăng dần từ 5,8% năm 2010 lên 6,8% năm 2014. Tuy nhiên, tốc độ tăng trưởng vẫn thấp hơn so với một số nước trong khu vực như Trung Quốc, Ấn Độ.

Biểu hiện cụ thể: Trong giai đoạn 2010 - 2012, GDP tăng trưởng với tốc độ tương đối ổn định, bình quân 6%/năm. Từ năm 2013, tốc độ tăng trưởng GDP có phần tăng cao hơn, bình quân 6,7%/năm. Năm 2014, GDP Việt Nam đạt 493,7 tỷ USD, cao hơn 80% so với năm 2010.

Nguyên nhân:

Sự ổn định chính trị: Việt Nam duy trì môi trường chính trị ổn định, tạo điều kiện thuận lợi cho thu hút đầu tư và phát triển kinh tế. Cải thiện môi trường đầu tư kinh doanh: Việt Nam liên tục cải thiện môi trường đầu tư kinh doanh, thu hút được nhiều nguồn vốn đầu tư trong và ngoài nước. Nền kinh tế mở cửa: Việt Nam tham gia vào nhiều Hiệp định thương mại tự do (FTA), mở ra cơ hội lớn cho xuất khẩu và thu hút đầu tư. Sự năng động của khu vực tư nhân: Khu vực tư nhân ngày càng đóng vai trò quan trọng trong nền kinh tế, góp phần thúc đẩy tăng trưởng kinh tế.

Kết luận:

GDP Việt Nam tăng trưởng liên tục trong giai đoạn 2010 - 2014 với tốc độ khá cao. Tốc độ tăng trưởng GDP có xu hướng tăng dần, cho thấy nền kinh tế Việt Nam đang trên đà phát triển. Có nhiều nguyên nhân thúc đẩy tăng trưởng GDP, bao gồm sự ổn định chính trị, cải thiện môi trường đầu tư kinh doanh, nền kinh tế mở cửa và sự năng động của khu vực tư nhân.

1.2.4 Giai đoạn 2015-2019

ifs4<- tmp1$get_series(freq = 'A', ref_area = 'VN', indicator = 'NGDP_XDC', start=2015,end=2019)
names(ifs4)<-c('Year','Tongsanpham')
ggplot(data = ifs4, aes(x = Year, y = Tongsanpham)) +
  geom_col() +geom_text(aes(label= Tongsanpham, vjust=0, color= 'Tổng sản phẩm'))+
  labs(title = "Tổng sản phẩm quốc nội",
       x = "Năm",
       y = "GDP (current US$)") +
  theme_minimal()

Tổng quan: Biểu đồ thể hiện sự tăng trưởng liên tục của GDP Việt Nam trong giai đoạn 2015 - 2019.

Tốc độ tăng trưởng: Tốc độ tăng trưởng bình quân giai đoạn 2015 - 2019 là 6,7%/năm. Tốc độ tăng trưởng có xu hướng giảm dần từ 8,6% năm 2015 xuống 6,8% năm 2019. Tuy nhiên, tốc độ tăng trưởng vẫn ở mức cao so với các nước trong khu vực và trên thế giới.

Biểu hiện cụ thể:

Trong giai đoạn 2015 - 2017, GDP tăng trưởng với tốc độ nhanh, bình quân 7,4%/năm. Từ năm 2018, tốc độ tăng trưởng GDP có phần chững lại, nhưng vẫn duy trì ở mức cao, 6,8%. Năm 2019, GDP Việt Nam đạt 770,72 tỷ USD, cao hơn 49,1% so với năm 2015.

Nguyên nhân:

Sự ổn định chính trị: Việt Nam duy trì môi trường chính trị ổn định, tạo điều kiện thuận lợi cho thu hút đầu tư và phát triển kinh tế. Cải thiện môi trường đầu tư kinh doanh: Việt Nam liên tục cải thiện môi trường đầu tư kinh doanh, thu hút được nhiều nguồn vốn đầu tư trong và ngoài nước. Nền kinh tế mở cửa: Việt Nam tham gia vào nhiều Hiệp định thương mại tự do (FTA), mở ra cơ hội lớn cho xuất khẩu và thu hút đầu tư. Sự năng động của khu vực tư nhân: Khu vực tư nhân ngày càng đóng vai trò quan trọng trong nền kinh tế, góp phần thúc đẩy tăng trưởng kinh tế.

Kết luận:

GDP Việt Nam tăng trưởng liên tục trong giai đoạn 2015 - 2019 với tốc độ cao. Tốc độ tăng trưởng GDP có xu hướng giảm dần, nhưng vẫn ở mức cao so với khu vực và thế giới. Có nhiều nguyên nhân thúc đẩy tăng trưởng GDP, bao gồm sự ổn định chính trị, cải thiện môi trường đầu tư kinh doanh, nền kinh tế mở cửa và sự năng động của khu vực tư nhân.

1.2.5 Giai đoạn 2020-2023

ifs5<- tmp1$get_series(freq = 'A', ref_area = 'VN', indicator = 'NGDP_XDC', start=2020,end=2022)
names(ifs5)<-c('Year','Tongsanpham')
ggplot(data = ifs5, aes(x = Year, y = Tongsanpham)) +
  geom_col(fill='yellow') +geom_text(aes(label= Tongsanpham, vjust=0, color= 'Tổng sản phẩm'))+
  labs(title = "Tổng sản phẩm quốc nội",
       x = "Năm",
       y = "GDP (current US$)") +
  theme_minimal()

Tổng quan:

Biểu đồ thể hiện sự tăng trưởng GDP Việt Nam trong giai đoạn 2020 - 2022

Tốc độ tăng trưởng: Tốc độ tăng trưởng bình quân giai đoạn 2020 - 2022 là 5,7%/năm. Tốc độ tăng trưởng có xu hướng tăng dần từ 5,1% năm 2020 lên 6,8% năm 2022.

Biểu hiện cụ thể:

Năm 2020, GDP Việt Nam đạt 804,4 tỷ USD, tăng 2,9% so với năm 2019. Năm 2021, GDP Việt Nam đạt 848 tỷ USD, tăng 5,5% so với năm 2020. Năm 2022, GDP Việt Nam đạt 951,3 tỷ USD, tăng 12,2% so với năm 2021.

Nguyên nhân:

Sự ảnh hưởng của đại dịch COVID-19: Đại dịch COVID-19 đã ảnh hưởng nặng nề đến nền kinh tế Việt Nam, đặc biệt là trong năm 2020 và 2021. Các biện pháp giãn cách xã hội, hạn chế đi lại và đóng cửa biên giới đã khiến cho nhiều ngành kinh tế bị đình trệ, hoạt động sản xuất kinh doanh gặp nhiều khó khăn. Sự phục hồi kinh tế: Nền kinh tế Việt Nam đã bắt đầu phục hồi từ năm 2022. Chính phủ Việt Nam đã triển khai nhiều biện pháp hỗ trợ doanh nghiệp và người dân, thúc đẩy sản xuất kinh doanh. Nhờ đó, kinh tế Việt Nam đã tăng trưởng 6,8% năm 2022.

1.3 Các yếu tố ảnh hưởng

  • Cán cân thương mại xuất siêu: Việt Nam xuất khẩu nhiều hơn nhập khẩu, tạo ra nguồn thu ngoại tệ lớn, góp phần thúc đẩy tăng trưởng kinh tế. Một số mặt hàng xuất khẩu chủ lực của Việt Nam trong giai đoạn này bao gồm: gạo, cà phê, thủy sản, dệt may…

  • Thu hút đầu tư trực tiếp nước ngoài (FDI):

Việt Nam thu hút được lượng lớn vốn FDI vào các lĩnh vực như công nghiệp, dịch vụ, du lịch… FDI giúp tạo ra việc làm, tăng năng lực sản xuất và xuất khẩu, thúc đẩy tăng trưởng kinh tế.

  • Cải cách kinh tế:

Chính phủ Việt Nam thực hiện nhiều cải cách kinh tế quan trọng như: Khởi nghiệp và tư nhân hóa Mở cửa thị trường Cải thiện môi trường đầu tư… Các cải cách này giúp giải phóng tiềm năng kinh tế, tạo điều kiện cho các doanh nghiệp phát triển và thúc đẩy tăng trưởng kinh tế.

  • Chính sách khuyến khích phát triển kinh tế tư nhân:

Chính phủ Việt Nam ban hành nhiều chính sách khuyến khích phát triển kinh tế tư nhân, tạo điều kiện cho các doanh nghiệp tư nhân hoạt động hiệu quả. Kinh tế tư nhân đóng vai trò ngày càng quan trọng trong nền kinh tế Việt Nam, góp phần thúc đẩy tăng trưởng kinh tế.)

Biểu đồ thể hiện sự tác động của đầu tư đến tổng sản phẩm quốc nội

data("Grunfeld", package = "plm")

# Lựa chọn các cột cần sử dụng: year, firm, invest, và value
data <- Grunfeld[, c("firm", "year", "inv", "value")]
# Mô hình hồi quy tuyến tính
model <- lm(value ~ inv, data = data)
ggplot(data = data, aes(x = inv, y = value)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE, color = "blue") +
  labs(x = "Investment", y = "NGDP_XDC", title = "Biểu đồ thể hiện mối quan hệ giữa đầu tư (Investment) và tổng sản phẩm quốc nội (NGDP_XDC)")
## `geom_smooth()` using formula = 'y ~ x'

Xu hướng chung: Có mối tương quan dương giữa đầu tư và NGDP_XDC. Đầu tư tăng dẫn đến NGDP_XDC tăng.

Biến động: Mối quan hệ giữa đầu tư và NGDP_XDC không hoàn toàn tuyến tính. Có những điểm mà NGDP_XDC không tăng tương ứng với sự gia tăng đầu tư.

Nhận xét: Đầu tư là một yếu tố quan trọng thúc đẩy sự phát triển kinh tế (NGDP_XDC). Hiệu quả đầu tư có thể ảnh hưởng đến mức độ tăng trưởng của NGDP_XDC. Chính phủ cần tăng cường thu hút đầu tư và nâng cao hiệu quả đầu tư để thúc đẩy tăng trưởng kinh tế.

1.4 Nhận xét chung

ữ liệu về NGDP_XDC ở Việt Nam từ năm 2000 đến 2022 là một tài nguyên quan trọng để hiểu về sự phát triển kinh tế của quốc gia này trong thời kỳ đó. Dưới đây là một số nhận xét chung về bộ dữ liệu này:Tăng trưởng kinh tế, Biến động trong thời gian, Ảnh hưởng của sự kiện lịch sử và chính sách So sánh với các quốc gia khác, Chính sách kinh tế và ảnh hưởng của đầu tư nước ngoài, Dự đoán và chiến lược phát triển.Tóm lại, bộ dữ liệu NGDP_XDC là một tài nguyên quan trọng cho việc hiểu về sự phát triển kinh tế của Việt Nam trong suốt giai đoạn từ năm 2000 đến 2022 và đóng vai trò quan trọng trong việc định hình chiến lược phát triển kinh tế của quốc gia này.

2 Bộ dữ liệu từ WDI


2.1 Giới thiệu

  • indicator:FI.RES.TOTL.CD(Total reserves (includes gold, current US$)” là một chỉ số kinh tế được sử dụng để đo lường tổng giá trị của dự trữ ngoại hối của một quốc gia, bao gồm cả vàng, được tính bằng đơn vị đô la Mỹ hiện tại.)

  • “FI.RES.TOTL.CD” là mã chỉ số trong bộ dữ liệu World Development Indicators (WDI) của World Bank, đại diện cho “Total reserves (includes gold, current US$)”.Đây là một chỉ số kinh tế quan trọng đo lường tổng giá trị của dự trữ ngoại hối của một quốc gia, bao gồm cả vàng, được tính bằng đơn vị đô la Mỹ hiện tại. Điều này đồng nghĩa với việc chỉ số này bao gồm không chỉ các loại tiền tệ và tài sản ngoại hối khác mà còn bao gồm vàng.FI.RES.TOTL.CD thường được sử dụng để đánh giá và so sánh mức độ dự trữ ngoại hối và vàng của các quốc gia trên thế giới, cũng như để phân tích các xu hướng trong việc tích lũy và sử dụng dự trữ ngoại hối và vàng.

  • FI.RES.TOTL.CD (Tổng dự trữ ngoại hối):Tổng dự trữ ngoại hối của một quốc gia thường ảnh hưởng đến sức mạnh tài chính và ổn định kinh tế của quốc gia đó. Những yếu tố ảnh hưởng đến chỉ số này có thể bao gồm:

Thị trường xuất khẩu và nhập khẩu: Sức mạnh của thị trường xuất khẩu có thể tăng cường dự trữ ngoại hối thông qua việc thu hút ngoại tệ từ việc bán hàng hóa và dịch vụ ra nước ngoài. Ngược lại, thị trường nhập khẩu mạnh mẽ có thể tạo áp lực lên dự trữ ngoại hối.

Chính sách tiền tệ: Chính sách tiền tệ của một quốc gia, bao gồm việc kiểm soát lãi suất và tỷ giá hối đoái, có thể ảnh hưởng đến dự trữ ngoại hối. Sự gia tăng lãi suất có thể tăng cường việc đầu tư vào ngoại tệ của quốc gia, tăng dự trữ ngoại hối.

Biến động trong thị trường tài chính quốc tế: Những biến động trong thị trường tài chính quốc tế, như khủng hoảng tài chính, có thể ảnh hưởng đến dự trữ ngoại hối thông qua việc làm mất lòng tin và thách thức khả năng trả nợ của một quốc gia.

library(tidyverse)
library(WDI)
## Warning: package 'WDI' was built under R version 4.3.3
ind <- WDIsearch('Gold')
gold<- WDI(indicator = 'FI.RES.TOTL.CD', country = c('VNM'), start= 2000, end = 2022)
g <- gold %>% select(year,FI.RES.TOTL.CD)
g1 <- na.omit(g)
names(g1) <- c('year','DuTruNgoaiHoi')
ggplot(data = g1, aes(x = year, y = DuTruNgoaiHoi)) +
  geom_col(fill='orange') +
  labs(title = "Tổng dự trữ ngoại hối",
       x = "Năm",
       y = "Dự trữ ngoại hối") +
  theme_minimal()

2.2 Phân tích bộ dữ liệu theo thời gian

2.2.1 Giai đoạn năm 2000-2004

ind <- WDIsearch('Gold')
gold1 <- WDI(indicator = 'FI.RES.TOTL.CD', country = c('VNM'), start=2000,end=2004)
g2 <- gold1 %>% select(year,FI.RES.TOTL.CD)
names(g2) <- c('year','DuTruNgoaiHoi')
ggplot(data = g2, aes(x = year, y = DuTruNgoaiHoi)) +
  geom_col() +geom_text(aes(label= DuTruNgoaiHoi, vjust=0, color= 'dự trữ ngoại hối'))

  labs(title = "Tổng dự trữ ngoại hối",
       x = "Năm",
       y = "Dự trữ ngoại hối") +
  theme_minimal()
## NULL

Đây là biểu đồ giai đoạn từ năm 2000-2004 đây được xem là thời kì có Dự trữ ngoại hối tăng trưởng mạnh mẽ

Dự trữ ngoại hối của Việt Nam tăng trưởng mạnh mẽ trong giai đoạn 2000-2004.

Tốc độ tăng trưởng khá ổn định với mức tăng trung bình khoảng 25%/năm.

Giai đoạn 2000-2002: Dự trữ ngoại hối tăng trưởng từ 3.4 tỷ USD lên 4,1 tỷ USD.

Giai đoạn 2002-2004: Dự trữ ngoại hối tăng trưởng mạnh từ 4,1 tỷ USD lên 8,4 tỷ USD.

Các yếu tố ảnh hưởng:

Cán cân thanh toán quốc tế thặng dư liên tục trong giai đoạn 2000-2004. Lượng kiều hối đổ vào Việt Nam cao. Giá trị đồng USD trên thị trường quốc tế giảm

Nhận xét

Tăng trưởng dự trữ ngoại hối trong giai đoạn 2000-2004 là kết quả tích cực của nền kinh tế Việt Nam. Dự trữ ngoại hối giúp Việt Nam có khả năng thanh toán quốc tế cao hơn, tăng cường khả năng chống chịu trước các cú sốc kinh tế vĩ mô.

So sánh với hiện tại

Dự trữ ngoại hối của Việt Nam tiếp tục tăng trưởng trong giai đoạn 2005-2023. Tính đến tháng 11 năm 2023, dự trữ ngoại hối của Việt Nam đạt 113,8 tỷ USD.

2.2.2 Giai đoạn 2005-2009

gold2 <- WDI(indicator = 'FI.RES.TOTL.CD', country = c('VNM'), start=2005,end=2009)
g3 <- gold2 %>% select(year,FI.RES.TOTL.CD)

names(g3) <- c('year','DuTruNgoaiHoi')

ggplot(data = g3, aes(x = year, y = DuTruNgoaiHoi)) +
  geom_col() +geom_text(aes(label= DuTruNgoaiHoi, vjust=0, color= 'dự trữ ngoại hối'))

  labs(title = "Tổng dữ trữ ngoại hối",
       x = "Năm",
       y = "Dữ trữ ngoại hối") +
  theme_minimal()
## NULL

Đây là biểu đồ giai đoạn năm 2005-2009 đây là thời kì tăng ổn định từ năm 2005 đén năm 2008 nhưng qua đén năm 2009 lại có sự giảm đột ngột.

Dự trữ ngoại hối của Việt Nam tăng trưởng liên tục trong giai đoạn 2005-2008.

Tốc độ tăng trưởng khá cao với mức tăng trung bình khoảng 20%/năm.

Mức tăng trưởng cao nhất là 75,42% (năm 2007).

Năm 2009 có sự giảm đột ngột có lẽ là do sự suy thoái thoái kinh tế toàn cầu năm 2008-2009 nên có sự giảm đột ngột khoảng 45,25% vì:

  1. Khủng hoảng tài chính toàn cầu:

Khủng hoảng tài chính năm 2008 ảnh hưởng nặng nề đến nền kinh tế toàn cầu, bao gồm cả Việt Nam. Nhu cầu nhập khẩu của Việt Nam giảm mạnh do suy thoái kinh tế. Giá trị đồng USD trên thị trường quốc tế tăng mạnh, khiến cho giá trị dự trữ ngoại hối giảm theo.

  1. Cán cân thanh toán quốc tế thâm hụt:

Cán cân thanh toán quốc tế của Việt Nam thâm hụt 1,2 tỷ USD năm 2009. Nguyên nhân thâm hụt: Nhu cầu nhập khẩu cao hơn xuất khẩu. Kiều hối giảm.

  1. Ngân hàng Nhà nước bán ra ngoại tệ:Ngân hàng Nhà nước bán ra ngoại tệ để can thiệp thị trường và ổn định tỷ giá hối đoái.

  2. Các yếu tố khác:

Nhu cầu đầu tư vào vàng và các tài sản khác tăng cao do lo ngại về khủng hoảng kinh tế. Lãi suất tiền gửi tại Việt Nam giảm khiến cho một số người gửi tiền chuyển sang đầu tư vào các kênh khác.)

Nhận xét

Tăng trưởng dự trữ ngoại hối trong giai đoạn 2005-2009 là kết quả tích cực của nền kinh tế Việt Nam.

Dự trữ ngoại hối giúp Việt Nam có khả năng thanh toán quốc tế cao hơn, tăng cường khả năng chống chịu trước các cú sốc kinh tế vĩ mô.

Mức tăng trưởng trong giai đoạn 2005-2009 cao hơn giai đoạn 2000-2004.

Dự trữ ngoại hối của Việt Nam tiếp tục tăng trưởng nhưng thấp hơn trong giai đoạn 2010-2023.

Tính đến tháng 11 năm 2023, dự trữ ngoại hối của Việt Nam đạt 113,8 tỷ USD.

2.2.3 Giai đoạn năm 2010-2014

gold3 <- WDI(indicator = 'FI.RES.TOTL.CD', country = c('VNM'), start=2010,end=2014)
g4 <- gold3 %>% select(year,FI.RES.TOTL.CD)
names(g4) <- c('year','DuTruNgoaiHoi')
ggplot(data = g4, aes(x = year, y = DuTruNgoaiHoi)) +
  geom_col() + geom_text(aes(label= DuTruNgoaiHoi, vjust=0, color= 'dự trữ ngoại hối'))+
  labs(title = "Tổng dự trữ ngoại hối",
       x = "Năm",
       y = "Dự trữ ngoại hối") +
  theme_minimal()

Nhận xét

Giai đoạn 2010- 2014 đây là giai đoạn phục hồi sau sự suy thoái kinh tế

So với kì trước thì năm 2010 và 2011 có xu hướng tăng nhưng lại thấp hơn rất nhìu so với những năm trước

Dự trữ ngoại hối của Việt Nam tăng trưởng liên tục trong giai đoạn 2010-2014.

Tốc độ tăng trưởng khá cao với mức tăng trung bình khoảng 15%/năm.

Mức tăng trưởng cao nhất là 88.8%% (năm 2012) vì:

1.Cán cân thanh toán quốc tế thặng dư:

Cán cân thanh toán quốc tế của Việt Nam thặng dư 4,6 tỷ USD năm 2012. Nguyên nhân thặng dư:Xuất khẩu tăng trưởng cao hơn nhập khẩu,Kiều hối tăng cao.

  1. Ngân hàng Nhà nước mua vào ngoại tệ:

Ngân hàng Nhà nước mua vào lượng lớn ngoại tệ trên thị trường để ổn định tỷ giá hối đoái và tăng dự trữ ngoại hối.

  1. Giá trị đồng USD trên thị trường quốc tế giảm:

Giá trị đồng USD trên thị trường quốc tế giảm khiến cho giá trị dự trữ ngoại hối tăng theo.

  1. Các yếu tố khác:

Nền kinh tế Việt Nam phục hồi sau khủng hoảng tài chính toàn cầu. Niềm tin của nhà đầu tư vào nền kinh tế Việt Nam tăng cao.)

Giai đoạn 2010-2012: Dự trữ ngoại hối tăng trưởng mạnh từ 12,46 tỷ USD lên 25,6 tỷ USD.

Giai đoạn 2012-2014: Dự trữ ngoại hối tiếp tục tăng từ 25,6 tỷ USD lên 34,189 tỷ USD.

Tăng trưởng dự trữ ngoại hối trong giai đoạn 2010-2014 là kết quả tích cực của nền kinh tế Việt Nam.

Dự trữ ngoại hối giúp Việt Nam có khả năng thanh toán quốc tế cao hơn, tăng cường khả năng chống chịu trước các cú sốc kinh tế vĩ mô.

Giai đoạn 2010-2014 Dự trữ nngoại hối của Việt Nam có xu hương tăng nhưng vẫn thấp hơn rất nhiều so với giai đoạn trước.

2.2.4 Giai đoạn 2015-2019

gold4<- WDI(indicator = 'FI.RES.TOTL.CD', country = c('VNM'), start=2015,end=2019)
g5 <- gold4 %>% select(year,FI.RES.TOTL.CD)

names(g5) <- c('year','DuTruNgoaiHoi')
ggplot(data = g5, aes(x = year, y = DuTruNgoaiHoi)) +
  geom_col() + geom_text(aes(label= DuTruNgoaiHoi, vjust=0, color= 'dự trữ ngoại hối'))+
  labs(title = "Tổng dự trữ ngoại hối",
       x = "Năm",
       y = "Dự trữ ngoại hối") +
  theme_minimal()

Giai đoạn năm 2015-2019 đây cũng là giải đoạn phục hồi sau khủng hoảng và phát triển

Dự trữ ngoại hối của Việt Nam tăng trưởng liên tục trong giai đoạn 2015-2019.

Tốc độ tăng trưởng khá cao với mức tăng trung bình khoảng 10%/năm.

Mức tăng trưởng cao nhất là 41.26% (năm 2019).

Các yếu tố ảnh hưởng:

Cán cân thanh toán quốc tế thặng dư liên tục trong giai đoạn 2015-2019.

Lượng kiều hối đổ vào Việt Nam cao.

Giá trị đồng USD trên thị trường quốc tế giảm.

Ngân hàng Nhà nước chủ động mua vào ngoại tệ.

2.2.5 Giai đoạn năm 2020-2022

gold5<- WDI(indicator = 'FI.RES.TOTL.CD', country = c('VNM'), start=2020,end=2022)
g6 <- gold5 %>% select(year,FI.RES.TOTL.CD)

names(g6) <- c('year','DuTruNgoaiHoi')

ggplot(data = g6, aes(x = year, y = DuTruNgoaiHoi)) +
  geom_col() + geom_text(aes(label= DuTruNgoaiHoi, vjust=0, color= 'dự trữ ngoại hối'))

  labs(title = "Tổng dự trữ ngoại hối",
       x = "Năm",
       y = "Dự trữ ngoại hối") +
  theme_minimal()
## NULL

Giai đoạn năm 2020-2022 đây được xem là những năm có dữ trữ ngoại hối cao nhất từ năm 2000-2022

Dự trữ ngoại hối của Việt Nam năm 2020-2021 tăng 15,33%. Mặc dù năm 2021 là 1 năm đại dịch của Việt Nam nhưng vẫn tăng là vì:

  1. Thặng dư cán cân thương mại

Năm 2021: Việt Nam đạt thặng dư cán cân thương mại kỷ lục 11,1 tỷ USD. Lý do: Xuất khẩu hàng hóa tăng trưởng mạnh mẽ, đặc biệt là các mặt hàng như điện thoại, máy tính, dệt may… Nhập khẩu tăng chậm hơn do nhu cầu tiêu dùng trong nước giảm do ảnh hưởng của đại dịch.

  1. Kiều hối tăng cao:

Năm 2021: Kiều hối gửi về Việt Nam đạt 38,68 tỷ USD, tăng 10,2% so với năm 2020. Lý do: Nền kinh tế ở các nước phát triển phục hồi sau đại dịch COVID-19. Người Việt Nam ở nước ngoài có thu nhập tốt hơn. Chính sách khuyến khích kiều hối của Chính phủ Việt Nam.

  1. Nguồn vốn đầu tư trực tiếp nước ngoài (FDI):

Năm 2021: Việt Nam thu hút 31,15 tỷ USD vốn FDI giải ngân, tăng 9,2% so với năm 2020. Lý do: Môi trường đầu tư kinh doanh tại Việt Nam được cải thiện. Việt Nam được đánh giá là điểm đến an toàn và hấp dẫn cho các nhà đầu tư nước ngoài.

  1. Ngân hàng Nhà nước (NHNN) mua vào ngoại tệ:

NHNN chủ động mua vào ngoại tệ trên thị trường nhằm ổn định tỷ giá hối đoái. Việc mua vào ngoại tệ cũng góp phần gia tăng dự trữ ngoại hối.

  1. Các yếu tố khác:

Giá vàng thế giới tăng cao trong năm 2021 cũng góp phần gia tăng giá trị dự trữ ngoại hối của Việt Nam. Việc NHNN quản lý chặt chẽ hoạt động ngoại hối cũng góp phần hạn chế việc thất thoát ngoại tệ. Ngoài ra, còn có một số nguyên nhân khác:

Nền kinh tế Việt Nam phục hồi tốt sau đại dịch COVID-19. Niềm tin của nhà đầu tư vào nền kinh tế Việt Nam được cải thiện. Lãi suất tiền gửi tại Việt Nam cao hơn so với một số quốc gia khác trong khu vực. Kết luận:

Sự gia tăng dữ liệu ngoại hối trong năm 2021 là kết quả của nhiều yếu tố, bao gồm thặng dư cán cân thương mại, kiều hối tăng cao, FDI giải ngân, NHNN mua vào ngoại tệ, và các yếu tố khác. Dữ liệu ngoại hối cao giúp Việt Nam có thể ứng phó tốt hơn với các cú sốc bên ngoài và đảm bảo ổn định kinh tế vĩ mô.

Dữ liệu ngoại hối năm 2021 cao hơn 2,5 lần so với năm 2000 và gần gấp đôi so với năm 2010. Dữ liệu ngoại hối năm 2021 cũng cao hơn so với dự báo của các tổ chức quốc tế như Quỹ Tiền tệ Quốc tế (IMF) và Ngân hàng Thế giới (WB).

Tác động của việc dữ liệu ngoại hối tăng cao:

Giúp Việt Nam có thể ứng phó tốt hơn với các cú sốc bên ngoài như khủng hoảng kinh tế, thiên tai, dịch bệnh. Giúp ổn định tỷ giá hối đoái, tạo niềm tin cho nhà đầu tư. Giúp Chính phủ có thêm nguồn lực để thực hiện các chính sách phát triển kinh tế - xã hội.

Tuy nhiên vào năm 2022 lại giảm 26.38% là vì:

  1. Cán cân vãng lai chuyển sang thâm hụt:

Năm 2022: Cán cân vãng lai thâm hụt 1,4 tỷ USD, trong khi năm 2021 thặng dư 11,1 tỷ USD. Lý do: Nhập khẩu tăng cao: Nhu cầu tiêu dùng trong nước phục hồi sau đại dịch COVID-19. Giá nguyên liệu đầu vào tăng cao. Xuất khẩu tăng trưởng chậm lại: Nhu cầu tiêu dùng toàn cầu giảm do ảnh hưởng của chiến tranh Nga-Ukraine. Giá cả hàng hóa xuất khẩu giảm.

  1. Giá trị đồng USD tăng mạnh so với các đồng tiền khác:

Năm 2022: USD tăng giá mạnh so với các đồng tiền khác do Cục Dự trữ Liên bang Hoa Kỳ (Fed) tăng lãi suất để kiềm chế lạm phát. Tác động: Làm giảm giá trị VND so với USD. Khiến cho dự trữ ngoại hối tính bằng USD giảm theo.

  1. Ngân hàng Nhà nước (NHNN) bán ra ngoại tệ để hỗ trợ tỷ giá hối đoái:

Ổn định tỷ giá hối đoái. Hạn chế tình trạng mất giá VND. Tác động: Làm giảm dự trữ ngoại hối

2.3 Các yếu tố ảnh hưởng

Các yếu tố ảnh hưởng đến indicator FI.RES.TOTL.CD của Việt Nam từ năm 2000 đến 2022 có thể bao gồm những yếu tố kinh tế, tài chính, chính trị và xã hội. Dưới đây là một số yếu tố quan trọng có thể ảnh hưởng đến FI.RES.TOTL.CD của Việt Nam trong thời kỳ này:

  • Tăng trưởng kinh tế: Sự tăng trưởng kinh tế của Việt Nam có thể tạo ra dư địa tài chính cho việc tích lũy dự trữ ngoại hối.

  • Xuất khẩu và nhập khẩu: Hoạt động thương mại của Việt Nam, đặc biệt là mức độ cân đối thương mại, có thể ảnh hưởng đến việc tích lũy dự trữ ngoại hối.

  • Biến động tỷ giá hối đoái: Biến động của tỷ giá hối đoái có thể ảnh hưởng đến giá trị của dự trữ ngoại hối.

  • Chính sách tiền tệ của Ngân hàng Nhà nước: Các quyết định về chính sách tiền tệ, bao gồm việc mua và bán ngoại tệ, có thể ảnh hưởng đến dự trữ ngoại hối.

  • Chính sách tài khóa và thương mại: Chính sách tài khóa và thương mại của chính phủ có thể ảnh hưởng đến dư địa tài chính và nhu cầu dự trữ ngoại hối.

  • Sự ổn định chính trị và xã hội: Sự ổn định chính trị và xã hội có thể ảnh hưởng đến niềm tin của các nhà đầu tư và nhu cầu dự trữ ngoại hối.

  • Thị trường hàng hóa: Mức giá và xu hướng thị trường của hàng hóa xuất khẩu của Việt Nam, như dầu, gạo, và sản phẩm điện tử, có thể ảnh hưởng đến việc tích lũy dự trữ ngoại hối.

  • Ngoại nợ và rủi ro thanh toán: Mức độ và cấu trúc của ngoại nợ của Việt Nam có thể ảnh hưởng đến việc quản lý dự trữ ngoại hối như một cách để đối phó với rủi ro thanh toán ngoại hối.

Phân tích một số yếu tố

ti <- WDI(country = "VN", indicator = "FI.RES.TOTL.CD", start = 2000, end = 2022)

# Tạo biểu đồ đường thời gian cho dữ liệu FI.RES.TOTL.CD của Việt Nam
p <- ggplot(ti, aes(x = year, y = FI.RES.TOTL.CD)) +
  geom_line(color = "blue") +
  labs(title = "Tổng dự trữ ngoại hối của Việt Nam (2000-2022)",
       x = "Năm",
       y = "Dự trữ ngoại hối (USD)") +
  theme_minimal()

# Đánh dấu các sự kiện quan trọng của chính sách tiền tệ
p + geom_vline(xintercept = c(2008, 2021), linetype = "dashed", color = "red") +
  annotate("text", x = 2008, y = max(ti$FI.RES.TOTL.CD), label = "Sự kiện A", vjust = -0.5, hjust = 0) +
  annotate("text", x = 2021, y = max(ti$FI.RES.TOTL.CD), label = "Sự kiện B", vjust = -0.5, hjust = 0)

Qua hình trên ta thấy được sự kiện là năm 2008 là năm khủng hoảng kinh tế toàn cầu khiến cho dự trữ ngoại hối có xu hương giảm do các yếu tố sau:

  • Khủng hoảng tài chính toàn cầu:

Khủng hoảng tài chính năm 2008 ảnh hưởng nặng nề đến nền kinh tế toàn cầu, bao gồm cả Việt Nam. Nhu cầu nhập khẩu của Việt Nam giảm mạnh do suy thoái kinh tế. Giá trị đồng USD trên thị trường quốc tế tăng mạnh, khiến cho giá trị dự trữ ngoại hối giảm theo.

  • Cán cân thanh toán quốc tế thâm hụt:

Cán cân thanh toán quốc tế của Việt Nam thâm hụt 1,2 tỷ USD năm 2009. Nguyên nhân thâm hụt: Nhu cầu nhập khẩu cao hơn xuất khẩu. Kiều hối giảm.

  • Ngân hàng Nhà nước bán ra ngoại tệ:Ngân hàng Nhà nước bán ra ngoại tệ để can thiệp thị trường và ổn định tỷ giá hối đoái.

Sự kiện B là năm dịch Covid tuy nhiên ta lại thấy đó là một năm đỉnh cao từ năm 2000-2022 là do các yếu tô ảnh hưởng sau:

  • Thặng dư cán cân thương mại

Năm 2021: Việt Nam đạt thặng dư cán cân thương mại kỷ lục 11,1 tỷ USD. Lý do: Xuất khẩu hàng hóa tăng trưởng mạnh mẽ, đặc biệt là các mặt hàng như điện thoại, máy tính, dệt may… Nhập khẩu tăng chậm hơn do nhu cầu tiêu dùng trong nước giảm do ảnh hưởng của đại dịch.

  • Kiều hối tăng cao:

Năm 2021: Kiều hối gửi về Việt Nam đạt 38,68 tỷ USD, tăng 10,2% so với năm 2020. Lý do: Nền kinh tế ở các nước phát triển phục hồi sau đại dịch COVID-19. Người Việt Nam ở nước ngoài có thu nhập tốt hơn. Chính sách khuyến khích kiều hối của Chính phủ Việt Nam.

  • Nguồn vốn đầu tư trực tiếp nước ngoài (FDI):

Năm 2021: Việt Nam thu hút 31,15 tỷ USD vốn FDI giải ngân, tăng 9,2% so với năm 2020. Lý do: Môi trường đầu tư kinh doanh tại Việt Nam được cải thiện. Việt Nam được đánh giá là điểm đến an toàn và hấp dẫn cho các nhà đầu tư nước ngoài.

  • Ngân hàng Nhà nước (NHNN) mua vào ngoại tệ:

NHNN chủ động mua vào ngoại tệ trên thị trường nhằm ổn định tỷ giá hối đoái. Việc mua vào ngoại tệ cũng góp phần gia tăng dự trữ ngoại hối.

  • Các yếu tố khác:

Giá vàng thế giới tăng cao trong năm 2021 cũng góp phần gia tăng giá trị dự trữ ngoại hối của Việt Nam. Việc NHNN quản lý chặt chẽ hoạt động ngoại hối cũng góp phần hạn chế việc thất thoát ngoại tệ.

2.4 Nhận xét chung

Dự trữ ngoại hối (FI.RES.TOTL.CD) của Việt Nam từ năm 2000 đến 2022 có thể cho thấy nhiều điểm đáng chú ý về tình hình tài chính và kinh tế của quốc gia này. Dưới đây là một số nhận xét chung về bộ dữ liệu này:Tăng trưởng liên tục, Biến động đáng chú ý, Ảnh hưởng của sự kiện và chính sách, So sánh với các quốc gia khác, Tương quan với các chỉ số kinh tế khác. Tóm lại, việc phân tích bộ dữ liệu FI.RES.TOTL.CD của Việt Nam từ năm 2000 đến 2022 cung cấp thông tin quan trọng về tình hình tài chính và kinh tế của quốc gia này, và có thể đóng góp vào việc hiểu rõ hơn về quản lý dự trữ ngoại hối và chính sách tiền tệ của Việt Nam.

LS0tDQp0aXRsZTogIlBIw4JOIFTDjUNIIELhu5ggROG7riBMSeG7hlUgVOG6okkgVOG7qiBXREkgVsOAIElNRiBUSEVPIFRI4bucSSBHSUFOIFbDgCBDw4FDIFnhur5VIFThu5Ag4bqiTkggSMav4bueTkciDQphdXRob3I6ICJRdeG7s25oIEjGsMahbmciDQpkYXRlOiAiYHIgZm9ybWF0KFN5cy50aW1lKCksICclSDolTTolUywgJWQgLSAlbSAtICVZJylgIg0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50OiANCiAgICB0b2M6IHRydWUNCiAgICBudW1iZXIgc2VjdGlvbjogdHJ1ZQ0KICAgIHRvY19mbG9hdDogdHJ1ZQ0KICAgIGNvZGVfZm9sZGluZzogc2hvdw0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICBudW1iZXJfc2VjdGlvbnM6IHRydWUNCiAgd29yZF9kb2N1bWVudDoNCiAgICB0b2M6IHRydWUNCiAgcGRmX2RvY3VtZW50Og0KICAgIHRvYzogdHJ1ZQ0KICAgIGhpZ2hsaWdodDogdGFuZ28NCiAgICBudW1iZXJfc2VjdGlvbnM6IHRydWUNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkNCmBgYA0KDQoNCiMgKioqQuG7mSBk4buvIGxp4buHdSB04burIElNRioqKg0KDQotLS0tLS0tDQoNCiMjICoqKkdp4bubaSB0aGnhu4d1KioqICANCg0KICAtIELhu5kgZOG7ryBsaeG7h3UgSUZTIChJbnRlcm5hdGlvbmFsIEZpbmFuY2lhbCBTdGF0aXN0aWNzKSBsw6AgbeG7mXQgdHJvbmcgbmjhu69uZyBi4buZIGThu68gbGnhu4d1IHF1YW4gdHLhu41uZyB2w6AgcGjhu5UgYmnhur9uIMSRxrDhu6NjIGN1bmcgY+G6pXAgYuG7n2kgUXXhu7kgVGnhu4FuIHThu4cgUXXhu5FjIHThur8gKElNRikuIELhu5kgZOG7ryBsaeG7h3UgbsOgeSBjdW5nIGPhuqVwIHRow7RuZyB0aW4gduG7gSBjw6FjIGNo4buJIHPhu5Ega2luaCB04bq/IHF1YW4gdHLhu41uZyB04burIGPDoWMgcXXhu5FjIGdpYSB0csOqbiB0b8OgbiB0aOG6vyBnaeG7m2ksIGJhbyBn4buTbSBuaMawbmcga2jDtG5nIGdp4bubaSBo4bqhbiB0cm9uZyB2aeG7h2MgdGhlbyBkw7VpIEdEUCwgdOG7tyBs4buHIGzhuqFtIHBow6F0LCBjw6JuIMSR4buRaSB0aGFuaCB0b8OhbiwgZOG7sSB0cuG7ryBuZ2/huqFpIGjhu5FpLCB2w6Agbmhp4buBdSBjaOG7iSBz4buRIHTDoGkgY2jDrW5oIGtow6FjLkLhu5kgZOG7ryBsaeG7h3UgSUZTIHRoxrDhu51uZyDEkcaw4bujYyBz4butIGThu6VuZyDEkeG7gyBwaMOibiB0w61jaCB4dSBoxrDhu5tuZyBraW5oIHThur8gdG/DoG4gY+G6p3UsIHNvIHPDoW5oIGhp4buHdSBzdeG6pXQga2luaCB04bq/IGdp4buvYSBjw6FjIHF14buRYyBnaWEsIHbDoCBk4buxIGLDoW8gY8OhYyBiaeG6v24gxJHhu5luZyB0cm9uZyBu4buBbiBraW5oIHThur8gdGjhur8gZ2nhu5tpLiDEkOG7kWkgduG7m2kgY8OhYyBuaMOgIG5naGnDqm4gY+G7qXUsIG5ow6AgcXXhuqNuIGzDvSB0w6BpIGNow61uaCB2w6AgY2jDrW5oIHBo4bunLCBi4buZIGThu68gbGnhu4d1IElGUyBsw6AgbeG7mXQgbmd14buTbiB0aMO0bmcgdGluIHF1w70gZ2nDoSDEkeG7gyBoaeG7g3UgcsO1IGjGoW4gduG7gSB0w6xuaCBow6xuaCBraW5oIHThur8gdsOgIHTDoGkgY2jDrW5oIHRvw6BuIGPhuqd1IGPFqW5nIG5oxrAg4bufIGPhuqVwIMSR4buZIHF14buRYyBnaWENCiAgDQogIC0gKippbmRpY2F0b3IqKjogTkdEUF9YREMgbMOgIG3DoyBjaOG7iSBz4buRIHRyb25nIGLhu5kgZOG7ryBsaeG7h3UgSU1GLsSQw6J5IGzDoCBjaOG7iSBz4buRIMSRbyBsxrDhu51uZyBnacOhIHRy4buLIGPhu6dhIHThu5VuZyBz4bqjbiBwaOG6qW0gcXXhu5FjIG7hu5lpIChHRFApIGPhu6dhIG3hu5l0IHF14buRYyBnaWEsIMSRxrDhu6NjIHTDrW5oIGLhurFuZyDEkcahbiB24buLIMSRw7QgbGEgTeG7uSBoaeG7h24gdOG6oWkuIMSQaeG7gXUgbsOgeSDEkeG7k25nIG5naMSpYSB24bubaSB2aeG7h2MgY2jhu4kgc+G7kSBuw6B5IHRo4buDIGhp4buHbiBnacOhIHRy4buLIHThu5VuZyBj4buZbmcgY+G7p2EgdOG6pXQgY+G6oyBjw6FjIGjDoG5nIGjDs2EgdsOgIGThu4tjaCB24bulIHPhuqNuIHh14bqldCB0cm9uZyBxdeG7kWMgZ2lhIMSRw7MgdHJvbmcgbsSDbSBoaeG7h24gdOG6oWksIMSRxrDhu6NjIHTDrW5oIGLhurFuZyDEkcahbiB24buLIHRp4buBbiB04buHIGPhu6dhIEhvYSBL4buzLk5HRFBfWERDIHRoxrDhu51uZyDEkcaw4bujYyBz4butIGThu6VuZyDEkeG7gyDEkW8gbMaw4budbmcgdsOgIHNvIHPDoW5oIGvDrWNoIHRoxrDhu5tjIHbDoCB04buRYyDEkeG7mSB0xINuZyB0csaw4bufbmcga2luaCB04bq/IGPhu6dhIGPDoWMgcXXhu5FjIGdpYSB0csOqbiB0aOG6vyBnaeG7m2kuDQogIA0KICANCiAgLSBOR0RQX1hEQyAoVOG7lW5nIHPhuqNuIHBo4bqpbSBxdeG7kWMgbuG7mWksIGdpw6EgY+G7kSDEkeG7i25oKToNClThu5VuZyBz4bqjbiBwaOG6qW0gcXXhu5FjIG7hu5lpLCBnacOhIGPhu5EgxJHhu4tuaCwgdGjGsOG7nW5nIMSRxrDhu6NjIHhlbSBsw6AgbeG7mXQgY2jhu4kgc+G7kSBxdWFuIHRy4buNbmcgY2hvIHPhu6ljIGto4buPZSBraW5oIHThur8gY+G7p2EgbeG7mXQgcXXhu5FjIGdpYS4gQ8OhYyB54bq/dSB04buRIOG6o25oIGjGsOG7n25nIMSR4bq/biBjaOG7iSBz4buRIG7DoHkgY8OzIHRo4buDIGJhbyBn4buTbToNCktob+G6o24gxJHhuqd1IHTGsDogU+G7sSB0xINuZyB0csaw4bufbmcgdHJvbmcgY8OhYyBraG/huqNuIMSR4bqndSB0xrAsIMSR4bq3YyBiaeG7h3QgbMOgIMSR4bqndSB0xrAgY8O0bmcgdsOgIMSR4bqndSB0xrAgdMawIG5ow6JuLCBjw7MgdGjhu4MgdMSDbmcgY8aw4budbmcgc+G7sSBwaMOhdCB0cmnhu4NuIGtpbmggdOG6vy4NClPhu7Eg4buVbiDEkeG7i25oIGNow61uaCB0cuG7izogTeG7qWMgxJHhu5kg4buVbiDEkeG7i25oIGNow61uaCB0cuG7iyBj4bunYSBt4buZdCBxdeG7kWMgZ2lhIGPDsyB0aOG7gyDhuqNuaCBoxrDhu59uZyDEkeG6v24gc+G7sSB0aW4gdMaw4bufbmcgY+G7p2EgY8OhYyBuaMOgIMSR4bqndSB0xrAgdsOgIGRvYW5oIG5naGnhu4dwLCDhuqNuaCBoxrDhu59uZyDEkeG6v24gdmnhu4djIMSR4bqndSB0xrAgdsOgIHRpw6p1IGTDuW5nIHRyb25nIG7hu4FuIGtpbmggdOG6vy4NCsSQaeG7gXUga2nhu4duIGtpbmggZG9hbmg6IE3hu6ljIMSR4buZIHRodeG6rW4gbOG7o2kgY+G7p2EgbcO0aSB0csaw4budbmcga2luaCBkb2FuaCB2w6AgY8OhYyBjaMOtbmggc8OhY2ggaOG7lyB0cuG7oyBkb2FuaCBuZ2hp4buHcCBjw7MgdGjhu4Mg4bqjbmggaMaw4bufbmcgxJHhur9uIHPhu7EgdMSDbmcgdHLGsOG7n25nIGtpbmggdOG6vy4NCg0KYGBge3J9DQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoaW1mLmRhdGEpDQpsaWJyYXJ5KERUKQ0KdG1wMTwtIGxvYWRfZGF0YXNldHMoJ0lGUycpDQppZnM8LSB0bXAxJGdldF9zZXJpZXMoZnJlcT0nQScsIHJlZl9hcmVhPSdWTicsIGluZGljYXRvcj0nTkdEUF9YREMnKQ0KaWZzPC0gbmEub21pdChpZnMpDQpuYW1lcyhpZnMpPC0gYygnWWVhcicsJ1RvbmdzYW5waGFtJykNCg0KZGF0YXRhYmxlKGlmcykNCmBgYA0KDQoNCiMjICoqKlBow6JuIHTDrWNoIGLhu5kgZOG7ryBsaeG7h3UgdGhlbyB0aOG7nWkgZ2lhbioqKg0KDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNCmdncGxvdChkYXRhID0gaWZzLCBhZXMoeCA9IFllYXIsIHkgPSBUb25nc2FucGhhbSkpICsNCiAgZ2VvbV9jb2woZmlsbD0ncGluaycpICsNCiAgbGFicyh0aXRsZSA9ICJCaeG7g3UgxJHhu5MgcGjDom4gdMOtY2ggdOG7lW5nIHPhuqNuIHBo4bqpbSBxdeG7kWMgbuG7mWkgdOG7qyBuxINtIDIwMDAgLSAyMDIzIiwNCiAgICAgICB4ID0gIk7Eg20iLA0KICAgICAgIHkgPSAiR0RQIChjdXJyZW50IFVTJCkiKSArDQogIHRoZW1lX21pbmltYWwoKQ0KYGBgDQoNCioqKlThu5VuZyBxdcOhdCoqKg0KDQpTxqEgbMaw4bujYyB24buBIGJp4buDdSDEkeG7kyB0YSB0aOG6pXkgYmnhu4N1IMSR4buTIGLhuq90IMSR4bqndSB04burIG7Eg20gMjAwMCDEkeG6v24gbsSDbSAyMDA1IGPDsyB4dSBoxrDGoW5nIHBow6F0IHRyaeG7g24gcuG6pXQg4buVbiDEkeG7i25oIA0KDQpUdXkgbmhpw6puIHbDoG8gbsSDbSAyMDA2IHRow6wgbsOzIGzhuqFpIHR14buZdCBk4buRYyAxIGPDoWNoIGLhuqV0IG5n4budIHbDoCBzYXUgxJHDsyBs4bqhaSB0xINuZyBy4bqldCDhu5VuIMSR4buLbmggY2hvIMSR4bq/biBuxINtIDIwMjIgdsOgIHNhdSDEkcOzIGzhuqFpIHF1YXkgbOG6oWkgY2h1IGvDrCBzdXkgdGhvw6FpIGtpbmggdOG6vyBuw6puIG7Eg20gMjAyMyBs4bqhaSBjw7MgeHUgaMaw4bubbmcgZ2nhuqNtIA0KDQojIyMgKipHaWFpIMSRb+G6oW4gdOG7qyBuxINtIDIwMDAtMjAwNCoqDQoNCg0KYGBge3J9DQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoaW1mLmRhdGEpDQp0bXAxIDwtIGxvYWRfZGF0YXNldHMoJ0lGUycpDQppZnMxPC0gdG1wMSRnZXRfc2VyaWVzKGZyZXEgPSAnQScsIHJlZl9hcmVhID0gJ1ZOJywgaW5kaWNhdG9yID0gJ05HRFBfWERDJywgc3RhcnQ9MjAwMCxlbmQ9MjAwNCkNCm5hbWVzKGlmczEpPC1jKCdZZWFyJywnVG9uZ3NhbnBoYW0nKQ0KZ2dwbG90KGRhdGEgPSBpZnMxLCBhZXMoeCA9IFllYXIsIHkgPSBUb25nc2FucGhhbSkpICsNCiAgZ2VvbV9jb2woZmlsbD0nYnJvd24nKSArIGdlb21fdGV4dChhZXMobGFiZWw9IFRvbmdzYW5waGFtLCB2anVzdD0wLCBjb2xvcj0gJ1Thu5VuZyBz4bqjbiBwaOG6qW0nKSkrDQogIGxhYnModGl0bGUgPSAiVOG7lW5nIHPhuqNuIHBo4bqpbSBxdeG7kWMgbuG7mWkiLA0KICAgICAgIHggPSAiTsSDbSIsDQogICAgICAgeSA9ICJHRFAgKGN1cnJlbnQgVVMkKSIpICsNCiAgdGhlbWVfbWluaW1hbCgpDQpgYGANCg0KxJDDonkgbMOgIGdpYWkgxJFv4bqhbiBuxINtIDIwMDAtMjAwNCAgDQoNClTDrG5oIGjDrG5oIGNodW5nOiBHRFAgVmnhu4d0IE5hbSB0cm9uZyBnaWFpIMSRb+G6oW4gMjAwMCAtIDIwMDQgdMSDbmcgdHLGsOG7n25nIGxpw6puIHThu6VjIHbhu5tpIHThu5FjIMSR4buZIHTEg25nIHRyxrDhu59uZyB0cnVuZyBiw6xuaCAxNSw1JS9uxINtLg0KxJDDonkgbMOgIGdpYWkgxJFv4bqhbiBwaMOhdCB0cmnhu4NuIGtpbmggdOG6vyBt4bqhbmggbeG6vSBj4bunYSBWaeG7h3QgTmFtLCDEkcaw4bujYyDEkcOhbmggZ2nDoSBsw6AgImvhu7MgdMOtY2gga2luaCB04bq/Ii4NClThu5FjIMSR4buZIHTEg25nIHRyxrDhu59uZzoNCg0KVMSDbmcgdHLGsOG7n25nIGNhbyBuaOG6pXQgdHJvbmcgZ2lhaSDEkW/huqFuIG7DoHkgbMOgIG7Eg20gMjAwNCAoMzMsMyUpLg0KVMSDbmcgdHLGsOG7n25nIHRo4bqlcCBuaOG6pXQgbMOgIG7Eg20gMjAwMSAoOCw5JSkuDQoNCioqTMOtIGRvIHbDrCBzYW8gdOG7lW5nIHPhuqNuIHBo4bqpbSBxdeG7kWMgbuG7mWkgY+G7p2EgVmnhu4d0IE5hbSB0xINuZyBuaMawIHbhuq15KioNCg0KICAxLkPDoW4gY8OibiB0aMawxqFuZyBt4bqhaSB4deG6pXQgc2nDqnU6DQogIA0KVmnhu4d0IE5hbSB4deG6pXQga2jhuql1IG5oaeG7gXUgaMahbiBuaOG6rXAga2jhuql1LCB04bqhbyByYSBuZ3Xhu5NuIHRodSBuZ2/huqFpIHThu4cgbOG7m24sIGfDs3AgcGjhuqduIHRow7pjIMSR4bqpeSB0xINuZyB0csaw4bufbmcga2luaCB04bq/Lg0KTeG7mXQgc+G7kSBt4bq3dCBow6BuZyB4deG6pXQga2jhuql1IGNo4bunIGzhu7FjIGPhu6dhIFZp4buHdCBOYW0gdHJvbmcgZ2lhaSDEkW/huqFuIG7DoHkgYmFvIGfhu5NtOiBn4bqhbywgY8OgIHBow6osIHRo4buneSBz4bqjbiwgZOG7h3QgbWF5Li4uDQoNCiAgMi4gVGh1IGjDunQgxJHhuqd1IHTGsCB0cuG7sWMgdGnhur9wIG7GsOG7m2Mgbmdvw6BpIChGREkpOg0KDQpWaeG7h3QgTmFtIHRodSBow7p0IMSRxrDhu6NjIGzGsOG7o25nIGzhu5tuIHbhu5FuIEZESSB2w6BvIGPDoWMgbMSpbmggduG7sWMgbmjGsCBjw7RuZyBuZ2hp4buHcCwgZOG7i2NoIHbhu6UsIGR1IGzhu4tjaC4uLg0KRkRJIGdpw7pwIHThuqFvIHJhIHZp4buHYyBsw6BtLCB0xINuZyBuxINuZyBs4buxYyBz4bqjbiB4deG6pXQgdsOgIHh14bqldCBraOG6qXUsIHRow7pjIMSR4bqpeSB0xINuZyB0csaw4bufbmcga2luaCB04bq/Lg0KDQogIDMuIEPhuqNpIGPDoWNoIGtpbmggdOG6vzoNCg0KQ2jDrW5oIHBo4bunIFZp4buHdCBOYW0gdGjhu7FjIGhp4buHbiBuaGnhu4F1IGPhuqNpIGPDoWNoIGtpbmggdOG6vyBxdWFuIHRy4buNbmcgbmjGsDoNCkto4bufaSBuZ2hp4buHcCB2w6AgdMawIG5ow6JuIGjDs2ENCk3hu58gY+G7rWEgdGjhu4sgdHLGsOG7nW5nDQpD4bqjaSB0aGnhu4duIG3DtGkgdHLGsOG7nW5nIMSR4bqndSB0xrAuLi4NCkPDoWMgY+G6o2kgY8OhY2ggbsOgeSBnacO6cCBnaeG6o2kgcGjDs25nIHRp4buBbSBuxINuZyBraW5oIHThur8sIHThuqFvIMSRaeG7gXUga2nhu4duIGNobyBjw6FjIGRvYW5oIG5naGnhu4dwIHBow6F0IHRyaeG7g24gdsOgIHRow7pjIMSR4bqpeSB0xINuZyB0csaw4bufbmcga2luaCB04bq/Lg0KDQogIDQuIENow61uaCBzw6FjaCBraHV54bq/biBraMOtY2ggcGjDoXQgdHJp4buDbiBraW5oIHThur8gdMawIG5ow6JuOg0KDQpDaMOtbmggcGjhu6cgVmnhu4d0IE5hbSBiYW4gaMOgbmggbmhp4buBdSBjaMOtbmggc8OhY2gga2h1eeG6v24ga2jDrWNoIHBow6F0IHRyaeG7g24ga2luaCB04bq/IHTGsCBuaMOibiwgdOG6oW8gxJFp4buBdSBraeG7h24gY2hvIGPDoWMgZG9hbmggbmdoaeG7h3AgdMawIG5ow6JuIGhv4bqhdCDEkeG7mW5nIGhp4buHdSBxdeG6oy4NCktpbmggdOG6vyB0xrAgbmjDom4gxJHDs25nIHZhaSB0csOyIG5nw6B5IGPDoG5nIHF1YW4gdHLhu41uZyB0cm9uZyBu4buBbiBraW5oIHThur8gVmnhu4d0IE5hbSwgZ8OzcCBwaOG6p24gdGjDumMgxJHhuql5IHTEg25nIHRyxrDhu59uZyBraW5oIHThur8uKQ0KDQpN4bupYyBHRFA6DQoNCk3hu6ljIEdEUCBuxINtIDIwMDQgY2FvIGfhuqduIGfhuqVwIMSRw7RpIHNvIHbhu5tpIG7Eg20gMjAwMC5OxINtIDIwMDQgc28gduG7m2kgbsSDbSBi4bqvdCDEkeG6p3UgbMOgIG7Eg20gMjAwMCB0aMOsIHRhIHRo4bqleSBuw7MgdMSDbmcgNzYsNDYlIA0KTsSDbSAyMDA0LCBWaeG7h3QgTmFtIGNow61uaCB0aOG7qWMgYsaw4bubYyB2w6BvIG5ow7NtIG7GsOG7m2MgY8OzIHRodSBuaOG6rXAgdHJ1bmcgYsOsbmggdGjhuqVwIHRoZW8gcGjDom4gbG/huqFpIGPhu6dhIE5nw6JuIGjDoG5nIFRo4bq/IGdp4bubaS4NCiAgDQpCaeG7g3UgxJHhu5MgR0RQIFZp4buHdCBOYW0gZ2lhaSDEkW/huqFuIDIwMDAgLSAyMDA0IGNobyB0aOG6pXkgc+G7sSB0xINuZyB0csaw4bufbmcga2luaCB04bq/IG3huqFuaCBt4bq9IGPhu6dhIFZp4buHdCBOYW0gdHJvbmcgZ2lhaSDEkW/huqFuIG7DoHkuDQrEkMOieSBsw6AgZ2lhaSDEkW/huqFuIGPDsyDDvSBuZ2jEqWEgcXVhbiB0cuG7jW5nIHRyb25nIHF1w6EgdHLDrG5oIHBow6F0IHRyaeG7g24ga2luaCB04bq/IGPhu6dhIFZp4buHdCBOYW0sIHThuqFvIG7hu4FuIHThuqNuZyBjaG8gbmjhu69uZyB0aMOgbmggdOG7sXUga2luaCB04bq/IHRyb25nIG5o4buvbmcgbsSDbSB0aeG6v3AgdGhlbw0KDQojIyMgKipHaWFpIMSRb+G6oW4gdMawIG7Eg20gMjAwNSDEkeG6v24gMjAwOSoqDQoNCiAgDQpgYGB7cn0NCnRtcDEgPC0gbG9hZF9kYXRhc2V0cygnSUZTJykNCmlmczI8LSB0bXAxJGdldF9zZXJpZXMoZnJlcSA9ICdBJywgcmVmX2FyZWEgPSAnVk4nLCBpbmRpY2F0b3IgPSAnTkdEUF9YREMnLCBzdGFydD0yMDA1LGVuZD0gMjAwOSkNCm5hbWVzKGlmczIpPC1jKCdZZWFyJywnVG9uZ3NhbnBoYW0nKQ0KZ2dwbG90KGRhdGEgPSBpZnMyLCBhZXMoeCA9IFllYXIsIHkgPSBUb25nc2FucGhhbSkpICsNCiAgZ2VvbV9jb2woZmlsbD0nc2t5Ymx1ZScpICtnZW9tX3RleHQoYWVzKGxhYmVsPSBUb25nc2FucGhhbSwgdmp1c3Q9MCwgY29sb3I9ICdU4buVbmcgc+G6o24gcGjhuqltJykpKw0KICBsYWJzKHRpdGxlID0gIlThu5VuZyBz4bqjbiBwaOG6qW0gcXXhu5FjIG7hu5lpIiwNCiAgICAgICB4ID0gIk7Eg20iLA0KICAgICAgIHkgPSAiR0RQIChjdXJyZW50IFVTJCkiKSArDQogIHRoZW1lX21pbmltYWwoKQ0KYGBgDQoNCg0KR2nDoSB0cuG7iyBHRFA6DQoNClRyb25nIGdpYWkgxJFv4bqhbiBuw6B5LCBHRFAgY+G7p2EgVmnhu4d0IE5hbSB0xINuZyBsacOqbiB04bulYyBxdWEgdOG7q25nIG7Eg20uDQpOxINtIDIwMDkgbMOgIG7Eg20gY8OzIEdEUCBjYW8gbmjhuqV0IHbhu5tpIDEsODA5MSB04bu3IFVTRC4NCk7Eg20gMjAwNSBsw6AgbsSDbSBjw7MgR0RQIHRo4bqlcCBuaOG6pXQgduG7m2kgMCw5MTQgdOG7tyBVU0QuDQpU4buRYyDEkeG7mSB0xINuZyB0csaw4bufbmcgR0RQIHRydW5nIGLDrG5oIHRyb25nIGdpYWkgxJFv4bqhbiBuw6B5IGzDoCBraG/huqNuZyAxNCUvbsSDbS4NCg0KQ+G6pXUgdHLDumMgR0RQOg0KDQpOZ8OgbmggZOG7i2NoIHbhu6UgxJHDs25nIGfDs3AgdOG7tyB0cuG7jW5nIGNhbyBuaOG6pXQgdsOgbyBHRFAgdHJvbmcgY+G6oyBnaWFpIMSRb+G6oW4sIGNoaeG6v20gaMahbiA0MCUuDQpOZ8OgbmggY8O0bmcgbmdoaeG7h3AgY2hp4bq/bSB04bu3IHRy4buNbmcgdGjhu6kgaGFpLCBraG/huqNuZyAzMCUuDQpOZ8OgbmggbsO0bmcgbmdoaeG7h3AgY2hp4bq/bSB04bu3IHRy4buNbmcgdGjhuqVwIG5o4bqldCwga2hv4bqjbmcgMjAlLg0KDQoqKk5o4bqtbiB4w6l0OioqDQoNCk7hu4FuIGtpbmggdOG6vyBWaeG7h3QgTmFtIHRyb25nIGdpYWkgxJFv4bqhbiAyMDA1IC0gMjAwOSBwaMOhdCB0cmnhu4NuIG5oYW5oIGNow7NuZyB2w6Ag4buVbiDEkeG7i25oLCB04buRYyDEkeG7mSB0xINuZyB0csaw4bufbmcgR0RQIGNhby4NCk5nw6BuaCBk4buLY2ggduG7pSBsw6AgxJHhu5luZyBs4buxYyBjaMOtbmggY2hvIHPhu7EgdMSDbmcgdHLGsOG7n25nIGtpbmggdOG6vy4NCk5nw6BuaCBjw7RuZyBuZ2hp4buHcCB2w6AgbsO0bmcgbmdoaeG7h3AgY8WpbmcgY8OzIMSRw7NuZyBnw7NwIHF1YW4gdHLhu41uZyBjaG8gbuG7gW4ga2luaCB04bq/Lg0KDQojIyMgKipHaWFpIMSRb+G6oW4gdOG7qyBuxINtIDIwMTAgxJHhur9uIDIwMTQqKg0KDQoNCmBgYHtyfQ0KaWZzMzwtIHRtcDEkZ2V0X3NlcmllcyhmcmVxID0gJ0EnLCByZWZfYXJlYSA9ICdWTicsIGluZGljYXRvciA9ICdOR0RQX1hEQycsIHN0YXJ0PTIwMTAsZW5kPTIwMTQpDQpuYW1lcyhpZnMzKTwtYygnWWVhcicsJ1RvbmdzYW5waGFtJykNCmdncGxvdChkYXRhID0gaWZzMywgYWVzKHggPSBZZWFyLCB5ID0gVG9uZ3NhbnBoYW0pKSArDQogIGdlb21fY29sKGZpbGw9J3BpbmsnKSArZ2VvbV90ZXh0KGFlcyhsYWJlbD0gVG9uZ3NhbnBoYW0sIHZqdXN0PTAsIGNvbG9yPSAnVOG7lW5nIHPhuqNuIHBo4bqpbScpKSsNCiAgbGFicyh0aXRsZSA9ICJU4buVbmcgc+G6o24gcGjhuqltIHF14buRYyBu4buZaSIsDQogICAgICAgeCA9ICJOxINtIiwNCiAgICAgICB5ID0gIkdEUCAoY3VycmVudCBVUyQpIikgKw0KICB0aGVtZV9taW5pbWFsKCkNCmBgYA0KDQoNCioqVOG7lW5nIHF1YW46KiogQmnhu4N1IMSR4buTIHRo4buDIGhp4buHbiBz4buxIHTEg25nIHRyxrDhu59uZyBsacOqbiB04bulYyBj4bunYSBHRFAgVmnhu4d0IE5hbSB0cm9uZyBnaWFpIMSRb+G6oW4gMjAxMCAtIDIwMTQuDQoNClThu5FjIMSR4buZIHTEg25nIHRyxrDhu59uZzoNClThu5FjIMSR4buZIHTEg25nIHRyxrDhu59uZyBiw6xuaCBxdcOibiBnaWFpIMSRb+G6oW4gMjAxMCAtIDIwMTQgbMOgIDUsOSUvbsSDbS4NClThu5FjIMSR4buZIHTEg25nIHRyxrDhu59uZyBjw7MgeHUgaMaw4bubbmcgdMSDbmcgZOG6p24gdOG7qyA1LDglIG7Eg20gMjAxMCBsw6puIDYsOCUgbsSDbSAyMDE0Lg0KVHV5IG5oacOqbiwgdOG7kWMgxJHhu5kgdMSDbmcgdHLGsOG7n25nIHbhuqtuIHRo4bqlcCBoxqFuIHNvIHbhu5tpIG3hu5l0IHPhu5Egbsaw4bubYyB0cm9uZyBraHUgduG7sWMgbmjGsCBUcnVuZyBRdeG7kWMsIOG6pG4gxJDhu5kuDQoNCioqQmnhu4N1IGhp4buHbiBj4bulIHRo4buDOioqDQpUcm9uZyBnaWFpIMSRb+G6oW4gMjAxMCAtIDIwMTIsIEdEUCB0xINuZyB0csaw4bufbmcgduG7m2kgdOG7kWMgxJHhu5kgdMawxqFuZyDEkeG7kWkg4buVbiDEkeG7i25oLCBiw6xuaCBxdcOibiA2JS9uxINtLg0KVOG7qyBuxINtIDIwMTMsIHThu5FjIMSR4buZIHTEg25nIHRyxrDhu59uZyBHRFAgY8OzIHBo4bqnbiB0xINuZyBjYW8gaMahbiwgYsOsbmggcXXDom4gNiw3JS9uxINtLg0KTsSDbSAyMDE0LCBHRFAgVmnhu4d0IE5hbSDEkeG6oXQgNDkzLDcgdOG7tyBVU0QsIGNhbyBoxqFuIDgwJSBzbyB24bubaSBuxINtIDIwMTAuDQoNCioqTmd1ecOqbiBuaMOibjoqKg0KDQpT4buxIOG7lW4gxJHhu4tuaCBjaMOtbmggdHLhu4s6IFZp4buHdCBOYW0gZHV5IHRyw6wgbcO0aSB0csaw4budbmcgY2jDrW5oIHRy4buLIOG7lW4gxJHhu4tuaCwgdOG6oW8gxJFp4buBdSBraeG7h24gdGh14bqtbiBs4bujaSBjaG8gdGh1IGjDunQgxJHhuqd1IHTGsCB2w6AgcGjDoXQgdHJp4buDbiBraW5oIHThur8uDQpD4bqjaSB0aGnhu4duIG3DtGkgdHLGsOG7nW5nIMSR4bqndSB0xrAga2luaCBkb2FuaDogVmnhu4d0IE5hbSBsacOqbiB04bulYyBj4bqjaSB0aGnhu4duIG3DtGkgdHLGsOG7nW5nIMSR4bqndSB0xrAga2luaCBkb2FuaCwgdGh1IGjDunQgxJHGsOG7o2Mgbmhp4buBdSBuZ3Xhu5NuIHbhu5FuIMSR4bqndSB0xrAgdHJvbmcgdsOgIG5nb8OgaSBuxrDhu5tjLg0KTuG7gW4ga2luaCB04bq/IG3hu58gY+G7rWE6IFZp4buHdCBOYW0gdGhhbSBnaWEgdsOgbyBuaGnhu4F1IEhp4buHcCDEkeG7i25oIHRoxrDGoW5nIG3huqFpIHThu7EgZG8gKEZUQSksIG3hu58gcmEgY8ahIGjhu5lpIGzhu5tuIGNobyB4deG6pXQga2jhuql1IHbDoCB0aHUgaMO6dCDEkeG6p3UgdMawLg0KU+G7sSBuxINuZyDEkeG7mW5nIGPhu6dhIGtodSB24buxYyB0xrAgbmjDom46IEtodSB24buxYyB0xrAgbmjDom4gbmfDoHkgY8OgbmcgxJHDs25nIHZhaSB0csOyIHF1YW4gdHLhu41uZyB0cm9uZyBu4buBbiBraW5oIHThur8sIGfDs3AgcGjhuqduIHRow7pjIMSR4bqpeSB0xINuZyB0csaw4bufbmcga2luaCB04bq/Lg0KDQoqKkvhur90IGx14bqtbjoqKg0KDQpHRFAgVmnhu4d0IE5hbSB0xINuZyB0csaw4bufbmcgbGnDqm4gdOG7pWMgdHJvbmcgZ2lhaSDEkW/huqFuIDIwMTAgLSAyMDE0IHbhu5tpIHThu5FjIMSR4buZIGtow6EgY2FvLg0KVOG7kWMgxJHhu5kgdMSDbmcgdHLGsOG7n25nIEdEUCBjw7MgeHUgaMaw4bubbmcgdMSDbmcgZOG6p24sIGNobyB0aOG6pXkgbuG7gW4ga2luaCB04bq/IFZp4buHdCBOYW0gxJFhbmcgdHLDqm4gxJHDoCBwaMOhdCB0cmnhu4NuLg0KQ8OzIG5oaeG7gXUgbmd1ecOqbiBuaMOibiB0aMO6YyDEkeG6qXkgdMSDbmcgdHLGsOG7n25nIEdEUCwgYmFvIGfhu5NtIHPhu7Eg4buVbiDEkeG7i25oIGNow61uaCB0cuG7iywgY+G6o2kgdGhp4buHbiBtw7RpIHRyxrDhu51uZyDEkeG6p3UgdMawIGtpbmggZG9hbmgsIG7hu4FuIGtpbmggdOG6vyBt4bufIGPhu61hIHbDoCBz4buxIG7Eg25nIMSR4buZbmcgY+G7p2Ega2h1IHbhu7FjIHTGsCBuaMOibi4NCg0KIyMjICoqR2lhaSDEkW/huqFuIDIwMTUtMjAxOSoqDQoNCg0KDQpgYGB7cn0NCmlmczQ8LSB0bXAxJGdldF9zZXJpZXMoZnJlcSA9ICdBJywgcmVmX2FyZWEgPSAnVk4nLCBpbmRpY2F0b3IgPSAnTkdEUF9YREMnLCBzdGFydD0yMDE1LGVuZD0yMDE5KQ0KbmFtZXMoaWZzNCk8LWMoJ1llYXInLCdUb25nc2FucGhhbScpDQpnZ3Bsb3QoZGF0YSA9IGlmczQsIGFlcyh4ID0gWWVhciwgeSA9IFRvbmdzYW5waGFtKSkgKw0KICBnZW9tX2NvbCgpICtnZW9tX3RleHQoYWVzKGxhYmVsPSBUb25nc2FucGhhbSwgdmp1c3Q9MCwgY29sb3I9ICdU4buVbmcgc+G6o24gcGjhuqltJykpKw0KICBsYWJzKHRpdGxlID0gIlThu5VuZyBz4bqjbiBwaOG6qW0gcXXhu5FjIG7hu5lpIiwNCiAgICAgICB4ID0gIk7Eg20iLA0KICAgICAgIHkgPSAiR0RQIChjdXJyZW50IFVTJCkiKSArDQogIHRoZW1lX21pbmltYWwoKQ0KYGBgDQoNCioqVOG7lW5nIHF1YW46IEJp4buDdSDEkeG7kyB0aOG7gyBoaeG7h24gc+G7sSB0xINuZyB0csaw4bufbmcgbGnDqm4gdOG7pWMgY+G7p2EgR0RQIFZp4buHdCBOYW0gdHJvbmcgZ2lhaSDEkW/huqFuIDIwMTUgLSAyMDE5LioqDQoNClThu5FjIMSR4buZIHTEg25nIHRyxrDhu59uZzoNClThu5FjIMSR4buZIHTEg25nIHRyxrDhu59uZyBiw6xuaCBxdcOibiBnaWFpIMSRb+G6oW4gMjAxNSAtIDIwMTkgbMOgIDYsNyUvbsSDbS4NClThu5FjIMSR4buZIHTEg25nIHRyxrDhu59uZyBjw7MgeHUgaMaw4bubbmcgZ2nhuqNtIGThuqduIHThu6sgOCw2JSBuxINtIDIwMTUgeHXhu5FuZyA2LDglIG7Eg20gMjAxOS4NClR1eSBuaGnDqm4sIHThu5FjIMSR4buZIHTEg25nIHRyxrDhu59uZyB24bqrbiDhu58gbeG7qWMgY2FvIHNvIHbhu5tpIGPDoWMgbsaw4bubYyB0cm9uZyBraHUgduG7sWMgdsOgIHRyw6puIHRo4bq/IGdp4bubaS4NCg0KKipCaeG7g3UgaGnhu4duIGPhu6UgdGjhu4M6KioNCg0KVHJvbmcgZ2lhaSDEkW/huqFuIDIwMTUgLSAyMDE3LCBHRFAgdMSDbmcgdHLGsOG7n25nIHbhu5tpIHThu5FjIMSR4buZIG5oYW5oLCBiw6xuaCBxdcOibiA3LDQlL27Eg20uDQpU4burIG7Eg20gMjAxOCwgdOG7kWMgxJHhu5kgdMSDbmcgdHLGsOG7n25nIEdEUCBjw7MgcGjhuqduIGNo4buvbmcgbOG6oWksIG5oxrBuZyB24bqrbiBkdXkgdHLDrCDhu58gbeG7qWMgY2FvLCA2LDglLg0KTsSDbSAyMDE5LCBHRFAgVmnhu4d0IE5hbSDEkeG6oXQgNzcwLDcyIHThu7cgVVNELCBjYW8gaMahbiA0OSwxJSBzbyB24bubaSBuxINtIDIwMTUuDQoNCioqTmd1ecOqbiBuaMOibjoqKg0KDQpT4buxIOG7lW4gxJHhu4tuaCBjaMOtbmggdHLhu4s6IFZp4buHdCBOYW0gZHV5IHRyw6wgbcO0aSB0csaw4budbmcgY2jDrW5oIHRy4buLIOG7lW4gxJHhu4tuaCwgdOG6oW8gxJFp4buBdSBraeG7h24gdGh14bqtbiBs4bujaSBjaG8gdGh1IGjDunQgxJHhuqd1IHTGsCB2w6AgcGjDoXQgdHJp4buDbiBraW5oIHThur8uDQpD4bqjaSB0aGnhu4duIG3DtGkgdHLGsOG7nW5nIMSR4bqndSB0xrAga2luaCBkb2FuaDogVmnhu4d0IE5hbSBsacOqbiB04bulYyBj4bqjaSB0aGnhu4duIG3DtGkgdHLGsOG7nW5nIMSR4bqndSB0xrAga2luaCBkb2FuaCwgdGh1IGjDunQgxJHGsOG7o2Mgbmhp4buBdSBuZ3Xhu5NuIHbhu5FuIMSR4bqndSB0xrAgdHJvbmcgdsOgIG5nb8OgaSBuxrDhu5tjLg0KTuG7gW4ga2luaCB04bq/IG3hu58gY+G7rWE6IFZp4buHdCBOYW0gdGhhbSBnaWEgdsOgbyBuaGnhu4F1IEhp4buHcCDEkeG7i25oIHRoxrDGoW5nIG3huqFpIHThu7EgZG8gKEZUQSksIG3hu58gcmEgY8ahIGjhu5lpIGzhu5tuIGNobyB4deG6pXQga2jhuql1IHbDoCB0aHUgaMO6dCDEkeG6p3UgdMawLg0KU+G7sSBuxINuZyDEkeG7mW5nIGPhu6dhIGtodSB24buxYyB0xrAgbmjDom46IEtodSB24buxYyB0xrAgbmjDom4gbmfDoHkgY8OgbmcgxJHDs25nIHZhaSB0csOyIHF1YW4gdHLhu41uZyB0cm9uZyBu4buBbiBraW5oIHThur8sIGfDs3AgcGjhuqduIHRow7pjIMSR4bqpeSB0xINuZyB0csaw4bufbmcga2luaCB04bq/Lg0KDQoqKkvhur90IGx14bqtbjoqKg0KDQpHRFAgVmnhu4d0IE5hbSB0xINuZyB0csaw4bufbmcgbGnDqm4gdOG7pWMgdHJvbmcgZ2lhaSDEkW/huqFuIDIwMTUgLSAyMDE5IHbhu5tpIHThu5FjIMSR4buZIGNhby4NClThu5FjIMSR4buZIHTEg25nIHRyxrDhu59uZyBHRFAgY8OzIHh1IGjGsOG7m25nIGdp4bqjbSBk4bqnbiwgbmjGsG5nIHbhuqtuIOG7nyBt4bupYyBjYW8gc28gduG7m2kga2h1IHbhu7FjIHbDoCB0aOG6vyBnaeG7m2kuDQpDw7Mgbmhp4buBdSBuZ3V5w6puIG5ow6JuIHRow7pjIMSR4bqpeSB0xINuZyB0csaw4bufbmcgR0RQLCBiYW8gZ+G7k20gc+G7sSDhu5VuIMSR4buLbmggY2jDrW5oIHRy4buLLCBj4bqjaSB0aGnhu4duIG3DtGkgdHLGsOG7nW5nIMSR4bqndSB0xrAga2luaCBkb2FuaCwgbuG7gW4ga2luaCB04bq/IG3hu58gY+G7rWEgdsOgIHPhu7EgbsSDbmcgxJHhu5luZyBj4bunYSBraHUgduG7sWMgdMawIG5ow6JuLg0KDQojIyMgKipHaWFpIMSRb+G6oW4gMjAyMC0yMDIzKioNCg0KYGBge3J9DQppZnM1PC0gdG1wMSRnZXRfc2VyaWVzKGZyZXEgPSAnQScsIHJlZl9hcmVhID0gJ1ZOJywgaW5kaWNhdG9yID0gJ05HRFBfWERDJywgc3RhcnQ9MjAyMCxlbmQ9MjAyMikNCm5hbWVzKGlmczUpPC1jKCdZZWFyJywnVG9uZ3NhbnBoYW0nKQ0KZ2dwbG90KGRhdGEgPSBpZnM1LCBhZXMoeCA9IFllYXIsIHkgPSBUb25nc2FucGhhbSkpICsNCiAgZ2VvbV9jb2woZmlsbD0neWVsbG93JykgK2dlb21fdGV4dChhZXMobGFiZWw9IFRvbmdzYW5waGFtLCB2anVzdD0wLCBjb2xvcj0gJ1Thu5VuZyBz4bqjbiBwaOG6qW0nKSkrDQogIGxhYnModGl0bGUgPSAiVOG7lW5nIHPhuqNuIHBo4bqpbSBxdeG7kWMgbuG7mWkiLA0KICAgICAgIHggPSAiTsSDbSIsDQogICAgICAgeSA9ICJHRFAgKGN1cnJlbnQgVVMkKSIpICsNCiAgdGhlbWVfbWluaW1hbCgpDQoNCmBgYA0KDQoNCioqVOG7lW5nIHF1YW46KioNCg0KQmnhu4N1IMSR4buTIHRo4buDIGhp4buHbiBz4buxIHTEg25nIHRyxrDhu59uZyBHRFAgVmnhu4d0IE5hbSB0cm9uZyBnaWFpIMSRb+G6oW4gMjAyMCAtIDIwMjINCg0KVOG7kWMgxJHhu5kgdMSDbmcgdHLGsOG7n25nOg0KVOG7kWMgxJHhu5kgdMSDbmcgdHLGsOG7n25nIGLDrG5oIHF1w6JuIGdpYWkgxJFv4bqhbiAyMDIwIC0gMjAyMiBsw6AgNSw3JS9uxINtLg0KVOG7kWMgxJHhu5kgdMSDbmcgdHLGsOG7n25nIGPDsyB4dSBoxrDhu5tuZyB0xINuZyBk4bqnbiB04burIDUsMSUgbsSDbSAyMDIwIGzDqm4gNiw4JSBuxINtIDIwMjIuDQoNCioqQmnhu4N1IGhp4buHbiBj4bulIHRo4buDOioqDQoNCk7Eg20gMjAyMCwgR0RQIFZp4buHdCBOYW0gxJHhuqF0IDgwNCw0IHThu7cgVVNELCB0xINuZyAyLDklIHNvIHbhu5tpIG7Eg20gMjAxOS4NCk7Eg20gMjAyMSwgR0RQIFZp4buHdCBOYW0gxJHhuqF0IDg0OCB04bu3IFVTRCwgdMSDbmcgNSw1JSBzbyB24bubaSBuxINtIDIwMjAuDQpOxINtIDIwMjIsIEdEUCBWaeG7h3QgTmFtIMSR4bqhdCA5NTEsMyB04bu3IFVTRCwgdMSDbmcgMTIsMiUgc28gduG7m2kgbsSDbSAyMDIxLg0KDQoqKk5ndXnDqm4gbmjDom46KioNCg0KU+G7sSDhuqNuaCBoxrDhu59uZyBj4bunYSDEkeG6oWkgZOG7i2NoIENPVklELTE5Og0KxJDhuqFpIGThu4tjaCBDT1ZJRC0xOSDEkcOjIOG6o25oIGjGsOG7n25nIG7hurduZyBu4buBIMSR4bq/biBu4buBbiBraW5oIHThur8gVmnhu4d0IE5hbSwgxJHhurdjIGJp4buHdCBsw6AgdHJvbmcgbsSDbSAyMDIwIHbDoCAyMDIxLg0KQ8OhYyBiaeG7h24gcGjDoXAgZ2nDo24gY8OhY2ggeMOjIGjhu5lpLCBo4bqhbiBjaOG6vyDEkWkgbOG6oWkgdsOgIMSRw7NuZyBj4butYSBiacOqbiBnaeG7m2kgxJHDoyBraGnhur9uIGNobyBuaGnhu4F1IG5nw6BuaCBraW5oIHThur8gYuG7iyDEkcOsbmggdHLhu4csIGhv4bqhdCDEkeG7mW5nIHPhuqNuIHh14bqldCBraW5oIGRvYW5oIGfhurdwIG5oaeG7gXUga2jDsyBraMSDbi4NClPhu7EgcGjhu6VjIGjhu5NpIGtpbmggdOG6vzoNCk7hu4FuIGtpbmggdOG6vyBWaeG7h3QgTmFtIMSRw6MgYuG6r3QgxJHhuqd1IHBo4bulYyBo4buTaSB04burIG7Eg20gMjAyMi4NCkNow61uaCBwaOG7pyBWaeG7h3QgTmFtIMSRw6MgdHJp4buDbiBraGFpIG5oaeG7gXUgYmnhu4duIHBow6FwIGjhu5cgdHLhu6MgZG9hbmggbmdoaeG7h3AgdsOgIG5nxrDhu51pIGTDom4sIHRow7pjIMSR4bqpeSBz4bqjbiB4deG6pXQga2luaCBkb2FuaC4NCk5o4budIMSRw7MsIGtpbmggdOG6vyBWaeG7h3QgTmFtIMSRw6MgdMSDbmcgdHLGsOG7n25nIDYsOCUgbsSDbSAyMDIyLg0KDQojIyAqKipDw6FjIHnhur91IHThu5Eg4bqjbmggaMaw4bufbmcqKioNCg0KICAtIEPDoW4gY8OibiB0aMawxqFuZyBt4bqhaSB4deG6pXQgc2nDqnU6DQpWaeG7h3QgTmFtIHh14bqldCBraOG6qXUgbmhp4buBdSBoxqFuIG5o4bqtcCBraOG6qXUsIHThuqFvIHJhIG5ndeG7k24gdGh1IG5nb+G6oWkgdOG7hyBs4bubbiwgZ8OzcCBwaOG6p24gdGjDumMgxJHhuql5IHTEg25nIHRyxrDhu59uZyBraW5oIHThur8uDQpN4buZdCBz4buRIG3hurd0IGjDoG5nIHh14bqldCBraOG6qXUgY2jhu6cgbOG7sWMgY+G7p2EgVmnhu4d0IE5hbSB0cm9uZyBnaWFpIMSRb+G6oW4gbsOgeSBiYW8gZ+G7k206IGfhuqFvLCBjw6AgcGjDqiwgdGjhu6d5IHPhuqNuLCBk4buHdCBtYXkuLi4NCg0KICAtIFRodSBow7p0IMSR4bqndSB0xrAgdHLhu7FjIHRp4bq/cCBuxrDhu5tjIG5nb8OgaSAoRkRJKToNCg0KVmnhu4d0IE5hbSB0aHUgaMO6dCDEkcaw4bujYyBsxrDhu6NuZyBs4bubbiB24buRbiBGREkgdsOgbyBjw6FjIGzEqW5oIHbhu7FjIG5oxrAgY8O0bmcgbmdoaeG7h3AsIGThu4tjaCB24bulLCBkdSBs4buLY2guLi4NCkZESSBnacO6cCB04bqhbyByYSB2aeG7h2MgbMOgbSwgdMSDbmcgbsSDbmcgbOG7sWMgc+G6o24geHXhuqV0IHbDoCB4deG6pXQga2jhuql1LCB0aMO6YyDEkeG6qXkgdMSDbmcgdHLGsOG7n25nIGtpbmggdOG6vy4NCg0KICAtIEPhuqNpIGPDoWNoIGtpbmggdOG6vzoNCg0KQ2jDrW5oIHBo4bunIFZp4buHdCBOYW0gdGjhu7FjIGhp4buHbiBuaGnhu4F1IGPhuqNpIGPDoWNoIGtpbmggdOG6vyBxdWFuIHRy4buNbmcgbmjGsDoNCkto4bufaSBuZ2hp4buHcCB2w6AgdMawIG5ow6JuIGjDs2ENCk3hu58gY+G7rWEgdGjhu4sgdHLGsOG7nW5nDQpD4bqjaSB0aGnhu4duIG3DtGkgdHLGsOG7nW5nIMSR4bqndSB0xrAuLi4NCkPDoWMgY+G6o2kgY8OhY2ggbsOgeSBnacO6cCBnaeG6o2kgcGjDs25nIHRp4buBbSBuxINuZyBraW5oIHThur8sIHThuqFvIMSRaeG7gXUga2nhu4duIGNobyBjw6FjIGRvYW5oIG5naGnhu4dwIHBow6F0IHRyaeG7g24gdsOgIHRow7pjIMSR4bqpeSB0xINuZyB0csaw4bufbmcga2luaCB04bq/Lg0KDQogIC0gQ2jDrW5oIHPDoWNoIGtodXnhur9uIGtow61jaCBwaMOhdCB0cmnhu4NuIGtpbmggdOG6vyB0xrAgbmjDom46DQoNCkNow61uaCBwaOG7pyBWaeG7h3QgTmFtIGJhbiBow6BuaCBuaGnhu4F1IGNow61uaCBzw6FjaCBraHV54bq/biBraMOtY2ggcGjDoXQgdHJp4buDbiBraW5oIHThur8gdMawIG5ow6JuLCB04bqhbyDEkWnhu4F1IGtp4buHbiBjaG8gY8OhYyBkb2FuaCBuZ2hp4buHcCB0xrAgbmjDom4gaG/huqF0IMSR4buZbmcgaGnhu4d1IHF14bqjLg0KS2luaCB04bq/IHTGsCBuaMOibiDEkcOzbmcgdmFpIHRyw7IgbmfDoHkgY8OgbmcgcXVhbiB0cuG7jW5nIHRyb25nIG7hu4FuIGtpbmggdOG6vyBWaeG7h3QgTmFtLCBnw7NwIHBo4bqnbiB0aMO6YyDEkeG6qXkgdMSDbmcgdHLGsOG7n25nIGtpbmggdOG6vy4pDQoNCioqQmnhu4N1IMSR4buTIHRo4buDIGhp4buHbiBz4buxIHTDoWMgxJHhu5luZyBj4bunYSDEkeG6p3UgdMawIMSR4bq/biB04buVbmcgc+G6o24gcGjhuqltIHF14buRYyBu4buZaSoqDQoNCg0KYGBge3J9DQoNCmRhdGEoIkdydW5mZWxkIiwgcGFja2FnZSA9ICJwbG0iKQ0KDQojIEzhu7FhIGNo4buNbiBjw6FjIGPhu5l0IGPhuqduIHPhu60gZOG7pW5nOiB5ZWFyLCBmaXJtLCBpbnZlc3QsIHbDoCB2YWx1ZQ0KZGF0YSA8LSBHcnVuZmVsZFssIGMoImZpcm0iLCAieWVhciIsICJpbnYiLCAidmFsdWUiKV0NCiMgTcO0IGjDrG5oIGjhu5NpIHF1eSB0dXnhur9uIHTDrW5oDQptb2RlbCA8LSBsbSh2YWx1ZSB+IGludiwgZGF0YSA9IGRhdGEpDQpnZ3Bsb3QoZGF0YSA9IGRhdGEsIGFlcyh4ID0gaW52LCB5ID0gdmFsdWUpKSArDQogIGdlb21fcG9pbnQoKSArDQogIGdlb21fc21vb3RoKG1ldGhvZCA9ICJsbSIsIHNlID0gRkFMU0UsIGNvbG9yID0gImJsdWUiKSArDQogIGxhYnMoeCA9ICJJbnZlc3RtZW50IiwgeSA9ICJOR0RQX1hEQyIsIHRpdGxlID0gIkJp4buDdSDEkeG7kyB0aOG7gyBoaeG7h24gbeG7kWkgcXVhbiBo4buHIGdp4buvYSDEkeG6p3UgdMawIChJbnZlc3RtZW50KSB2w6AgdOG7lW5nIHPhuqNuIHBo4bqpbSBxdeG7kWMgbuG7mWkgKE5HRFBfWERDKSIpDQpgYGANCg0KICAqKlh1IGjGsOG7m25nIGNodW5nOioqDQpDw7MgbeG7kWkgdMawxqFuZyBxdWFuIGTGsMahbmcgZ2nhu69hIMSR4bqndSB0xrAgdsOgIE5HRFBfWERDLg0KxJDhuqd1IHTGsCB0xINuZyBk4bqrbiDEkeG6v24gTkdEUF9YREMgdMSDbmcuDQoNCiAgKipCaeG6v24gxJHhu5luZzoqKg0KTeG7kWkgcXVhbiBo4buHIGdp4buvYSDEkeG6p3UgdMawIHbDoCBOR0RQX1hEQyBraMO0bmcgaG/DoG4gdG/DoG4gdHV54bq/biB0w61uaC4NCkPDsyBuaOG7r25nIMSRaeG7g20gbcOgIE5HRFBfWERDIGtow7RuZyB0xINuZyB0xrDGoW5nIOG7qW5nIHbhu5tpIHPhu7EgZ2lhIHTEg25nIMSR4bqndSB0xrAuDQoNCiAgKipOaOG6rW4geMOpdDoqKg0KxJDhuqd1IHTGsCBsw6AgbeG7mXQgeeG6v3UgdOG7kSBxdWFuIHRy4buNbmcgdGjDumMgxJHhuql5IHPhu7EgcGjDoXQgdHJp4buDbiBraW5oIHThur8gKE5HRFBfWERDKS4NCkhp4buHdSBxdeG6oyDEkeG6p3UgdMawIGPDsyB0aOG7gyDhuqNuaCBoxrDhu59uZyDEkeG6v24gbeG7qWMgxJHhu5kgdMSDbmcgdHLGsOG7n25nIGPhu6dhIE5HRFBfWERDLg0KQ2jDrW5oIHBo4bunIGPhuqduIHTEg25nIGPGsOG7nW5nIHRodSBow7p0IMSR4bqndSB0xrAgdsOgIG7Dom5nIGNhbyBoaeG7h3UgcXXhuqMgxJHhuqd1IHTGsCDEkeG7gyB0aMO6YyDEkeG6qXkgdMSDbmcgdHLGsOG7n25nIGtpbmggdOG6vy4NCg0KIyMgKioqTmjhuq1uIHjDqXQgY2h1bmcqKioNCg0K4buvIGxp4buHdSB24buBIE5HRFBfWERDICDhu58gVmnhu4d0IE5hbSB04burIG7Eg20gMjAwMCDEkeG6v24gMjAyMiBsw6AgbeG7mXQgdMOgaSBuZ3V5w6puIHF1YW4gdHLhu41uZyDEkeG7gyBoaeG7g3UgduG7gSBz4buxIHBow6F0IHRyaeG7g24ga2luaCB04bq/IGPhu6dhIHF14buRYyBnaWEgbsOgeSB0cm9uZyB0aOG7nWkga+G7syDEkcOzLiBExrDhu5tpIMSRw6J5IGzDoCBt4buZdCBz4buRIG5o4bqtbiB4w6l0IGNodW5nIHbhu4EgYuG7mSBk4buvIGxp4buHdSBuw6B5OlTEg25nIHRyxrDhu59uZyBraW5oIHThur8sIEJp4bq/biDEkeG7mW5nIHRyb25nIHRo4budaSBnaWFuLCDhuqJuaCBoxrDhu59uZyBj4bunYSBz4buxIGtp4buHbiBs4buLY2ggc+G7rSB2w6AgY2jDrW5oIHPDoWNoDQpTbyBzw6FuaCB24bubaSBjw6FjIHF14buRYyBnaWEga2jDoWMsIENow61uaCBzw6FjaCBraW5oIHThur8gdsOgIOG6o25oIGjGsOG7n25nIGPhu6dhIMSR4bqndSB0xrAgbsaw4bubYyBuZ2/DoGksIEThu7EgxJFvw6FuIHbDoCBjaGnhur9uIGzGsOG7o2MgcGjDoXQgdHJp4buDbi5Uw7NtIGzhuqFpLCBi4buZIGThu68gbGnhu4d1IE5HRFBfWERDIGzDoCBt4buZdCB0w6BpIG5ndXnDqm4gcXVhbiB0cuG7jW5nIGNobyB2aeG7h2MgaGnhu4N1IHbhu4Egc+G7sSBwaMOhdCB0cmnhu4NuIGtpbmggdOG6vyBj4bunYSBWaeG7h3QgTmFtIHRyb25nIHN14buRdCBnaWFpIMSRb+G6oW4gdOG7qyBuxINtIDIwMDAgxJHhur9uIDIwMjIgdsOgIMSRw7NuZyB2YWkgdHLDsiBxdWFuIHRy4buNbmcgdHJvbmcgdmnhu4djIMSR4buLbmggaMOsbmggY2hp4bq/biBsxrDhu6NjIHBow6F0IHRyaeG7g24ga2luaCB04bq/IGPhu6dhIHF14buRYyBnaWEgbsOgeS4NCg0KIyAqKipC4buZIGThu68gbGnhu4d1IHThu6sgV0RJKioqDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiMjICoqKkdp4bubaSB0aGnhu4d1KioqDQoNCiAgLSAqKmluZGljYXRvcioqOkZJLlJFUy5UT1RMLkNEKFRvdGFsIHJlc2VydmVzIChpbmNsdWRlcyBnb2xkLCBjdXJyZW50IFVTJCkiIGzDoCBt4buZdCBjaOG7iSBz4buRIGtpbmggdOG6vyDEkcaw4bujYyBz4butIGThu6VuZyDEkeG7gyDEkW8gbMaw4budbmcgdOG7lW5nIGdpw6EgdHLhu4sgY+G7p2EgZOG7sSB0cuG7ryBuZ2/huqFpIGjhu5FpIGPhu6dhIG3hu5l0IHF14buRYyBnaWEsIGJhbyBn4buTbSBj4bqjIHbDoG5nLCDEkcaw4bujYyB0w61uaCBi4bqxbmcgxJHGoW4gduG7iyDEkcO0IGxhIE3hu7kgaGnhu4duIHThuqFpLikNCiAgLSAiRkkuUkVTLlRPVEwuQ0QiIGzDoCBtw6MgY2jhu4kgc+G7kSB0cm9uZyBi4buZIGThu68gbGnhu4d1IFdvcmxkIERldmVsb3BtZW50IEluZGljYXRvcnMgKFdESSkgY+G7p2EgV29ybGQgQmFuaywgxJHhuqFpIGRp4buHbiBjaG8gIlRvdGFsIHJlc2VydmVzIChpbmNsdWRlcyBnb2xkLCBjdXJyZW50IFVTJCkiLsSQw6J5IGzDoCBt4buZdCBjaOG7iSBz4buRIGtpbmggdOG6vyBxdWFuIHRy4buNbmcgxJFvIGzGsOG7nW5nIHThu5VuZyBnacOhIHRy4buLIGPhu6dhIGThu7EgdHLhu68gbmdv4bqhaSBo4buRaSBj4bunYSBt4buZdCBxdeG7kWMgZ2lhLCBiYW8gZ+G7k20gY+G6oyB2w6BuZywgxJHGsOG7o2MgdMOtbmggYuG6sW5nIMSRxqFuIHbhu4sgxJHDtCBsYSBN4bu5IGhp4buHbiB04bqhaS4gxJBp4buBdSBuw6B5IMSR4buTbmcgbmdoxKlhIHbhu5tpIHZp4buHYyBjaOG7iSBz4buRIG7DoHkgYmFvIGfhu5NtIGtow7RuZyBjaOG7iSBjw6FjIGxv4bqhaSB0aeG7gW4gdOG7hyB2w6AgdMOgaSBz4bqjbiBuZ2/huqFpIGjhu5FpIGtow6FjIG3DoCBjw7JuIGJhbyBn4buTbSB2w6BuZy5GSS5SRVMuVE9UTC5DRCB0aMaw4budbmcgxJHGsOG7o2Mgc+G7rSBk4bulbmcgxJHhu4MgxJHDoW5oIGdpw6EgdsOgIHNvIHPDoW5oIG3hu6ljIMSR4buZIGThu7EgdHLhu68gbmdv4bqhaSBo4buRaSB2w6AgdsOgbmcgY+G7p2EgY8OhYyBxdeG7kWMgZ2lhIHRyw6puIHRo4bq/IGdp4bubaSwgY8WpbmcgbmjGsCDEkeG7gyBwaMOibiB0w61jaCBjw6FjIHh1IGjGsOG7m25nIHRyb25nIHZp4buHYyB0w61jaCBsxal5IHbDoCBz4butIGThu6VuZyBk4buxIHRy4buvIG5nb+G6oWkgaOG7kWkgdsOgIHbDoG5nLg0KICANCiAgLSBGSS5SRVMuVE9UTC5DRCAoVOG7lW5nIGThu7EgdHLhu68gbmdv4bqhaSBo4buRaSk6VOG7lW5nIGThu7EgdHLhu68gbmdv4bqhaSBo4buRaSBj4bunYSBt4buZdCBxdeG7kWMgZ2lhIHRoxrDhu51uZyDhuqNuaCBoxrDhu59uZyDEkeG6v24gc+G7qWMgbeG6oW5oIHTDoGkgY2jDrW5oIHbDoCDhu5VuIMSR4buLbmgga2luaCB04bq/IGPhu6dhIHF14buRYyBnaWEgxJHDsy4gTmjhu69uZyB54bq/dSB04buRIOG6o25oIGjGsOG7n25nIMSR4bq/biBjaOG7iSBz4buRIG7DoHkgY8OzIHRo4buDIGJhbyBn4buTbToNCg0KVGjhu4sgdHLGsOG7nW5nIHh14bqldCBraOG6qXUgdsOgIG5o4bqtcCBraOG6qXU6IFPhu6ljIG3huqFuaCBj4bunYSB0aOG7iyB0csaw4budbmcgeHXhuqV0IGto4bqpdSBjw7MgdGjhu4MgdMSDbmcgY8aw4budbmcgZOG7sSB0cuG7ryBuZ2/huqFpIGjhu5FpIHRow7RuZyBxdWEgdmnhu4djIHRodSBow7p0IG5nb+G6oWkgdOG7hyB04burIHZp4buHYyBiw6FuIGjDoG5nIGjDs2EgdsOgIGThu4tjaCB24bulIHJhIG7GsOG7m2Mgbmdvw6BpLiBOZ8aw4bujYyBs4bqhaSwgdGjhu4sgdHLGsOG7nW5nIG5o4bqtcCBraOG6qXUgbeG6oW5oIG3hur0gY8OzIHRo4buDIHThuqFvIMOhcCBs4buxYyBsw6puIGThu7EgdHLhu68gbmdv4bqhaSBo4buRaS4NCg0KQ2jDrW5oIHPDoWNoIHRp4buBbiB04buHOiBDaMOtbmggc8OhY2ggdGnhu4FuIHThu4cgY+G7p2EgbeG7mXQgcXXhu5FjIGdpYSwgYmFvIGfhu5NtIHZp4buHYyBraeG7g20gc2/DoXQgbMOjaSBzdeG6pXQgdsOgIHThu7cgZ2nDoSBo4buRaSDEkW/DoWksIGPDsyB0aOG7gyDhuqNuaCBoxrDhu59uZyDEkeG6v24gZOG7sSB0cuG7ryBuZ2/huqFpIGjhu5FpLiBT4buxIGdpYSB0xINuZyBsw6NpIHN14bqldCBjw7MgdGjhu4MgdMSDbmcgY8aw4budbmcgdmnhu4djIMSR4bqndSB0xrAgdsOgbyBuZ2/huqFpIHThu4cgY+G7p2EgcXXhu5FjIGdpYSwgdMSDbmcgZOG7sSB0cuG7ryBuZ2/huqFpIGjhu5FpLg0KDQpCaeG6v24gxJHhu5luZyB0cm9uZyB0aOG7iyB0csaw4budbmcgdMOgaSBjaMOtbmggcXXhu5FjIHThur86IE5o4buvbmcgYmnhur9uIMSR4buZbmcgdHJvbmcgdGjhu4sgdHLGsOG7nW5nIHTDoGkgY2jDrW5oIHF14buRYyB04bq/LCBuaMawIGto4bunbmcgaG/huqNuZyB0w6BpIGNow61uaCwgY8OzIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/biBk4buxIHRy4buvIG5nb+G6oWkgaOG7kWkgdGjDtG5nIHF1YSB2aeG7h2MgbMOgbSBt4bqldCBsw7JuZyB0aW4gdsOgIHRow6FjaCB0aOG7qWMga2jhuqMgbsSDbmcgdHLhuqMgbuG7oyBj4bunYSBt4buZdCBxdeG7kWMgZ2lhLg0KDQpgYGB7cn0NCmxpYnJhcnkodGlkeXZlcnNlKQ0KbGlicmFyeShXREkpDQppbmQgPC0gV0RJc2VhcmNoKCdHb2xkJykNCmdvbGQ8LSBXREkoaW5kaWNhdG9yID0gJ0ZJLlJFUy5UT1RMLkNEJywgY291bnRyeSA9IGMoJ1ZOTScpLCBzdGFydD0gMjAwMCwgZW5kID0gMjAyMikNCmcgPC0gZ29sZCAlPiUgc2VsZWN0KHllYXIsRkkuUkVTLlRPVEwuQ0QpDQpnMSA8LSBuYS5vbWl0KGcpDQpuYW1lcyhnMSkgPC0gYygneWVhcicsJ0R1VHJ1TmdvYWlIb2knKQ0KZ2dwbG90KGRhdGEgPSBnMSwgYWVzKHggPSB5ZWFyLCB5ID0gRHVUcnVOZ29haUhvaSkpICsNCiAgZ2VvbV9jb2woZmlsbD0nb3JhbmdlJykgKw0KICBsYWJzKHRpdGxlID0gIlThu5VuZyBk4buxIHRy4buvIG5nb+G6oWkgaOG7kWkiLA0KICAgICAgIHggPSAiTsSDbSIsDQogICAgICAgeSA9ICJE4buxIHRy4buvIG5nb+G6oWkgaOG7kWkiKSArDQogIHRoZW1lX21pbmltYWwoKQ0KYGBgDQoNCiMjICoqKlBow6JuIHTDrWNoIGLhu5kgZOG7ryBsaeG7h3UgdGhlbyB0aOG7nWkgZ2lhbioqKg0KDQojIyMgKipHaWFpIMSRb+G6oW4gbsSDbSAyMDAwLTIwMDQqKg0KDQpgYGB7cn0NCmluZCA8LSBXRElzZWFyY2goJ0dvbGQnKQ0KZ29sZDEgPC0gV0RJKGluZGljYXRvciA9ICdGSS5SRVMuVE9UTC5DRCcsIGNvdW50cnkgPSBjKCdWTk0nKSwgc3RhcnQ9MjAwMCxlbmQ9MjAwNCkNCmcyIDwtIGdvbGQxICU+JSBzZWxlY3QoeWVhcixGSS5SRVMuVE9UTC5DRCkNCm5hbWVzKGcyKSA8LSBjKCd5ZWFyJywnRHVUcnVOZ29haUhvaScpDQpnZ3Bsb3QoZGF0YSA9IGcyLCBhZXMoeCA9IHllYXIsIHkgPSBEdVRydU5nb2FpSG9pKSkgKw0KICBnZW9tX2NvbCgpICtnZW9tX3RleHQoYWVzKGxhYmVsPSBEdVRydU5nb2FpSG9pLCB2anVzdD0wLCBjb2xvcj0gJ2Thu7EgdHLhu68gbmdv4bqhaSBo4buRaScpKQ0KICBsYWJzKHRpdGxlID0gIlThu5VuZyBk4buxIHRy4buvIG5nb+G6oWkgaOG7kWkiLA0KICAgICAgIHggPSAiTsSDbSIsDQogICAgICAgeSA9ICJE4buxIHRy4buvIG5nb+G6oWkgaOG7kWkiKSArDQogIHRoZW1lX21pbmltYWwoKQ0KDQpgYGANCg0KDQrEkMOieSBsw6AgYmnhu4N1IMSR4buTIGdpYWkgxJFv4bqhbiB04burIG7Eg20gMjAwMC0yMDA0IMSRw6J5IMSRxrDhu6NjIHhlbSBsw6AgdGjhu51pIGvDrCBjw7MgKipE4buxIHRy4buvIG5nb+G6oWkgaOG7kWkqKiB0xINuZyB0csaw4bufbmcgbeG6oW5oIG3hur0gDQoNCkThu7EgdHLhu68gbmdv4bqhaSBo4buRaSBj4bunYSBWaeG7h3QgTmFtIHTEg25nIHRyxrDhu59uZyBt4bqhbmggbeG6vSB0cm9uZyBnaWFpIMSRb+G6oW4gMjAwMC0yMDA0Lg0KDQpU4buRYyDEkeG7mSB0xINuZyB0csaw4bufbmcga2jDoSDhu5VuIMSR4buLbmggduG7m2kgbeG7qWMgdMSDbmcgdHJ1bmcgYsOsbmgga2hv4bqjbmcgMjUlL27Eg20uDQoNCkdpYWkgxJFv4bqhbiAyMDAwLTIwMDI6IEThu7EgdHLhu68gbmdv4bqhaSBo4buRaSB0xINuZyB0csaw4bufbmcgdOG7qyAzLjQgdOG7tyBVU0QgbMOqbiA0LDEgdOG7tyBVU0QuDQoNCkdpYWkgxJFv4bqhbiAyMDAyLTIwMDQ6IEThu7EgdHLhu68gbmdv4bqhaSBo4buRaSB0xINuZyB0csaw4bufbmcgbeG6oW5oIHThu6sgNCwxIHThu7cgVVNEIGzDqm4gOCw0IHThu7cgVVNELg0KDQoqKkPDoWMgeeG6v3UgdOG7kSDhuqNuaCBoxrDhu59uZzoqKg0KDQpDw6FuIGPDom4gdGhhbmggdG/DoW4gcXXhu5FjIHThur8gdGjhurduZyBkxrAgbGnDqm4gdOG7pWMgdHJvbmcgZ2lhaSDEkW/huqFuIDIwMDAtMjAwNC4NCkzGsOG7o25nIGtp4buBdSBo4buRaSDEkeG7lSB2w6BvIFZp4buHdCBOYW0gY2FvLg0KR2nDoSB0cuG7iyDEkeG7k25nIFVTRCB0csOqbiB0aOG7iyB0csaw4budbmcgcXXhu5FjIHThur8gZ2nhuqNtDQoNCioqTmjhuq1uIHjDqXQqKg0KDQpUxINuZyB0csaw4bufbmcgZOG7sSB0cuG7ryBuZ2/huqFpIGjhu5FpIHRyb25nIGdpYWkgxJFv4bqhbiAyMDAwLTIwMDQgbMOgIGvhur90IHF14bqjIHTDrWNoIGPhu7FjIGPhu6dhIG7hu4FuIGtpbmggdOG6vyBWaeG7h3QgTmFtLg0KROG7sSB0cuG7ryBuZ2/huqFpIGjhu5FpIGdpw7pwIFZp4buHdCBOYW0gY8OzIGto4bqjIG7Eg25nIHRoYW5oIHRvw6FuIHF14buRYyB04bq/IGNhbyBoxqFuLCB0xINuZyBjxrDhu51uZyBraOG6oyBuxINuZyBjaOG7kW5nIGNo4buLdSB0csaw4bubYyBjw6FjIGPDuiBz4buRYyBraW5oIHThur8gdsSpIG3DtC4NCg0KKipTbyBzw6FuaCB24bubaSBoaeG7h24gdOG6oWkqKg0KDQpE4buxIHRy4buvIG5nb+G6oWkgaOG7kWkgY+G7p2EgVmnhu4d0IE5hbSB0aeG6v3AgdOG7pWMgdMSDbmcgdHLGsOG7n25nIHRyb25nIGdpYWkgxJFv4bqhbiAyMDA1LTIwMjMuDQpUw61uaCDEkeG6v24gdGjDoW5nIDExIG7Eg20gMjAyMywgZOG7sSB0cuG7ryBuZ2/huqFpIGjhu5FpIGPhu6dhIFZp4buHdCBOYW0gxJHhuqF0IDExMyw4IHThu7cgVVNELg0KDQojIyMgKipHaWFpIMSRb+G6oW4gMjAwNS0yMDA5KioNCg0KDQpgYGB7cn0NCmdvbGQyIDwtIFdESShpbmRpY2F0b3IgPSAnRkkuUkVTLlRPVEwuQ0QnLCBjb3VudHJ5ID0gYygnVk5NJyksIHN0YXJ0PTIwMDUsZW5kPTIwMDkpDQpnMyA8LSBnb2xkMiAlPiUgc2VsZWN0KHllYXIsRkkuUkVTLlRPVEwuQ0QpDQoNCm5hbWVzKGczKSA8LSBjKCd5ZWFyJywnRHVUcnVOZ29haUhvaScpDQoNCmdncGxvdChkYXRhID0gZzMsIGFlcyh4ID0geWVhciwgeSA9IER1VHJ1TmdvYWlIb2kpKSArDQogIGdlb21fY29sKCkgK2dlb21fdGV4dChhZXMobGFiZWw9IER1VHJ1TmdvYWlIb2ksIHZqdXN0PTAsIGNvbG9yPSAnZOG7sSB0cuG7ryBuZ2/huqFpIGjhu5FpJykpDQogIGxhYnModGl0bGUgPSAiVOG7lW5nIGThu68gdHLhu68gbmdv4bqhaSBo4buRaSIsDQogICAgICAgeCA9ICJOxINtIiwNCiAgICAgICB5ID0gIkThu68gdHLhu68gbmdv4bqhaSBo4buRaSIpICsNCiAgdGhlbWVfbWluaW1hbCgpDQpgYGANCg0KDQoNCsSQw6J5IGzDoCBiaeG7g3UgxJHhu5MgZ2lhaSDEkW/huqFuIG7Eg20gMjAwNS0yMDA5IMSRw6J5IGzDoCB0aOG7nWkga8OsIHTEg25nIOG7lW4gxJHhu4tuaCB04burIG7Eg20gMjAwNSDEkcOpbiBuxINtIDIwMDggbmjGsG5nIHF1YSDEkcOpbiBuxINtIDIwMDkgbOG6oWkgY8OzIHPhu7EgZ2nhuqNtIMSR4buZdCBuZ+G7mXQuIA0KDQpE4buxIHRy4buvIG5nb+G6oWkgaOG7kWkgY+G7p2EgVmnhu4d0IE5hbSB0xINuZyB0csaw4bufbmcgbGnDqm4gdOG7pWMgdHJvbmcgZ2lhaSDEkW/huqFuIDIwMDUtMjAwOC4NCg0KVOG7kWMgxJHhu5kgdMSDbmcgdHLGsOG7n25nIGtow6EgY2FvIHbhu5tpIG3hu6ljIHTEg25nIHRydW5nIGLDrG5oIGtob+G6o25nIDIwJS9uxINtLg0KDQpN4bupYyB0xINuZyB0csaw4bufbmcgY2FvIG5o4bqldCBsw6AgNzUsNDIlIChuxINtIDIwMDcpLg0KDQpOxINtIDIwMDkgY8OzIHPhu7EgZ2nhuqNtIMSR4buZdCBuZ+G7mXQgY8OzIGzhur0gbMOgIGRvIHPhu7Egc3V5IHRob8OhaSB0aG/DoWkga2luaCB04bq/IHRvw6BuIGPhuqd1IG7Eg20gMjAwOC0yMDA5IG7Dqm4gY8OzIHPhu7EgZ2nhuqNtIMSR4buZdCBuZ+G7mXQga2hv4bqjbmcgNDUsMjUlIHbDrDoNCiANCg0KICAxLiBLaOG7p25nIGhv4bqjbmcgdMOgaSBjaMOtbmggdG/DoG4gY+G6p3U6DQoNCkto4bunbmcgaG/huqNuZyB0w6BpIGNow61uaCBuxINtIDIwMDgg4bqjbmggaMaw4bufbmcgbuG6t25nIG7hu4EgxJHhur9uIG7hu4FuIGtpbmggdOG6vyB0b8OgbiBj4bqndSwgYmFvIGfhu5NtIGPhuqMgVmnhu4d0IE5hbS4NCk5odSBj4bqndSBuaOG6rXAga2jhuql1IGPhu6dhIFZp4buHdCBOYW0gZ2nhuqNtIG3huqFuaCBkbyBzdXkgdGhvw6FpIGtpbmggdOG6vy4NCkdpw6EgdHLhu4sgxJHhu5NuZyBVU0QgdHLDqm4gdGjhu4sgdHLGsOG7nW5nIHF14buRYyB04bq/IHTEg25nIG3huqFuaCwga2hp4bq/biBjaG8gZ2nDoSB0cuG7iyBk4buxIHRy4buvIG5nb+G6oWkgaOG7kWkgZ2nhuqNtIHRoZW8uDQoNCiAgMi4gQ8OhbiBjw6JuIHRoYW5oIHRvw6FuIHF14buRYyB04bq/IHRow6JtIGjhu6V0Og0KDQpDw6FuIGPDom4gdGhhbmggdG/DoW4gcXXhu5FjIHThur8gY+G7p2EgVmnhu4d0IE5hbSB0aMOibSBo4buldCAxLDIgdOG7tyBVU0QgbsSDbSAyMDA5Lg0KTmd1ecOqbiBuaMOibiB0aMOibSBo4buldDoNCk5odSBj4bqndSBuaOG6rXAga2jhuql1IGNhbyBoxqFuIHh14bqldCBraOG6qXUuDQpLaeG7gXUgaOG7kWkgZ2nhuqNtLg0KDQogIDMuIE5nw6JuIGjDoG5nIE5ow6Agbsaw4bubYyBiw6FuIHJhIG5nb+G6oWkgdOG7hzpOZ8OibiBow6BuZyBOaMOgIG7GsOG7m2MgYsOhbiByYSBuZ2/huqFpIHThu4cgxJHhu4MgY2FuIHRoaeG7h3AgdGjhu4sgdHLGsOG7nW5nIHbDoCDhu5VuIMSR4buLbmggdOG7tyBnacOhIGjhu5FpIMSRb8OhaS4NCg0KICA0LiBDw6FjIHnhur91IHThu5Ega2jDoWM6DQoNCk5odSBj4bqndSDEkeG6p3UgdMawIHbDoG8gdsOgbmcgdsOgIGPDoWMgdMOgaSBz4bqjbiBraMOhYyB0xINuZyBjYW8gZG8gbG8gbmfhuqFpIHbhu4Ega2jhu6duZyBob+G6o25nIGtpbmggdOG6vy4NCkzDo2kgc3XhuqV0IHRp4buBbiBn4butaSB04bqhaSBWaeG7h3QgTmFtIGdp4bqjbSBraGnhur9uIGNobyBt4buZdCBz4buRIG5nxrDhu51pIGfhu61pIHRp4buBbiBjaHV54buDbiBzYW5nIMSR4bqndSB0xrAgdsOgbyBjw6FjIGvDqm5oIGtow6FjLikNCg0KKipOaOG6rW4geMOpdCoqDQoNClTEg25nIHRyxrDhu59uZyBk4buxIHRy4buvIG5nb+G6oWkgaOG7kWkgdHJvbmcgZ2lhaSDEkW/huqFuIDIwMDUtMjAwOSBsw6Aga+G6v3QgcXXhuqMgdMOtY2ggY+G7sWMgY+G7p2EgbuG7gW4ga2luaCB04bq/IFZp4buHdCBOYW0uDQoNCkThu7EgdHLhu68gbmdv4bqhaSBo4buRaSBnacO6cCBWaeG7h3QgTmFtIGPDsyBraOG6oyBuxINuZyB0aGFuaCB0b8OhbiBxdeG7kWMgdOG6vyBjYW8gaMahbiwgdMSDbmcgY8aw4budbmcga2jhuqMgbsSDbmcgY2jhu5FuZyBjaOG7i3UgdHLGsOG7m2MgY8OhYyBjw7ogc+G7kWMga2luaCB04bq/IHbEqSBtw7QuDQoNCk3hu6ljIHTEg25nIHRyxrDhu59uZyB0cm9uZyBnaWFpIMSRb+G6oW4gMjAwNS0yMDA5IGNhbyBoxqFuIGdpYWkgxJFv4bqhbiAyMDAwLTIwMDQuDQoNCkThu7EgdHLhu68gbmdv4bqhaSBo4buRaSBj4bunYSBWaeG7h3QgTmFtIHRp4bq/cCB04bulYyB0xINuZyB0csaw4bufbmcgbmjGsG5nIHRo4bqlcCBoxqFuIHRyb25nIGdpYWkgxJFv4bqhbiAyMDEwLTIwMjMuDQoNClTDrW5oIMSR4bq/biB0aMOhbmcgMTEgbsSDbSAyMDIzLCBk4buxIHRy4buvIG5nb+G6oWkgaOG7kWkgY+G7p2EgVmnhu4d0IE5hbSDEkeG6oXQgMTEzLDggdOG7tyBVU0QuDQoNCiMjIyAqKkdpYWkgxJFv4bqhbiBuxINtIDIwMTAtMjAxNCoqDQoNCg0KDQpgYGB7cn0NCmdvbGQzIDwtIFdESShpbmRpY2F0b3IgPSAnRkkuUkVTLlRPVEwuQ0QnLCBjb3VudHJ5ID0gYygnVk5NJyksIHN0YXJ0PTIwMTAsZW5kPTIwMTQpDQpnNCA8LSBnb2xkMyAlPiUgc2VsZWN0KHllYXIsRkkuUkVTLlRPVEwuQ0QpDQpuYW1lcyhnNCkgPC0gYygneWVhcicsJ0R1VHJ1TmdvYWlIb2knKQ0KZ2dwbG90KGRhdGEgPSBnNCwgYWVzKHggPSB5ZWFyLCB5ID0gRHVUcnVOZ29haUhvaSkpICsNCiAgZ2VvbV9jb2woKSArIGdlb21fdGV4dChhZXMobGFiZWw9IER1VHJ1TmdvYWlIb2ksIHZqdXN0PTAsIGNvbG9yPSAnZOG7sSB0cuG7ryBuZ2/huqFpIGjhu5FpJykpKw0KICBsYWJzKHRpdGxlID0gIlThu5VuZyBk4buxIHRy4buvIG5nb+G6oWkgaOG7kWkiLA0KICAgICAgIHggPSAiTsSDbSIsDQogICAgICAgeSA9ICJE4buxIHRy4buvIG5nb+G6oWkgaOG7kWkiKSArDQogIHRoZW1lX21pbmltYWwoKQ0KYGBgDQoNCg0KKipOaOG6rW4geMOpdCoqDQoNCkdpYWkgxJFv4bqhbiAyMDEwLSAyMDE0IMSRw6J5IGzDoCBnaWFpIMSRb+G6oW4gcGjhu6VjIGjhu5NpIHNhdSBz4buxIHN1eSB0aG/DoWkga2luaCB04bq/IA0KDQpTbyB24bubaSBrw6wgdHLGsOG7m2MgdGjDrCBuxINtIDIwMTAgdsOgIDIwMTEgY8OzIHh1IGjGsOG7m25nIHTEg25nIG5oxrBuZyBs4bqhaSB0aOG6pXAgaMahbiBy4bqldCBuaMOsdSBzbyB24bubaSBuaOG7r25nIG7Eg20gdHLGsOG7m2MgDQoNCkThu7EgdHLhu68gbmdv4bqhaSBo4buRaSBj4bunYSBWaeG7h3QgTmFtIHTEg25nIHRyxrDhu59uZyBsacOqbiB04bulYyB0cm9uZyBnaWFpIMSRb+G6oW4gMjAxMC0yMDE0Lg0KDQpU4buRYyDEkeG7mSB0xINuZyB0csaw4bufbmcga2jDoSBjYW8gduG7m2kgbeG7qWMgdMSDbmcgdHJ1bmcgYsOsbmgga2hv4bqjbmcgMTUlL27Eg20uDQoNCk3hu6ljIHTEg25nIHRyxrDhu59uZyBjYW8gbmjhuqV0IGzDoCA4OC44JSUgKG7Eg20gMjAxMikgdsOsOg0KDQogICAxLkPDoW4gY8OibiB0aGFuaCB0b8OhbiBxdeG7kWMgdOG6vyB0aOG6t25nIGTGsDoNCg0KQ8OhbiBjw6JuIHRoYW5oIHRvw6FuIHF14buRYyB04bq/IGPhu6dhIFZp4buHdCBOYW0gdGjhurduZyBkxrAgNCw2IHThu7cgVVNEIG7Eg20gMjAxMi4NCk5ndXnDqm4gbmjDom4gdGjhurduZyBkxrA6WHXhuqV0IGto4bqpdSB0xINuZyB0csaw4bufbmcgY2FvIGjGoW4gbmjhuq1wIGto4bqpdSxLaeG7gXUgaOG7kWkgdMSDbmcgY2FvLg0KDQogIDIuIE5nw6JuIGjDoG5nIE5ow6Agbsaw4bubYyBtdWEgdsOgbyBuZ2/huqFpIHThu4c6DQoNCk5nw6JuIGjDoG5nIE5ow6Agbsaw4bubYyBtdWEgdsOgbyBsxrDhu6NuZyBs4bubbiBuZ2/huqFpIHThu4cgdHLDqm4gdGjhu4sgdHLGsOG7nW5nIMSR4buDIOG7lW4gxJHhu4tuaCB04bu3IGdpw6EgaOG7kWkgxJFvw6FpIHbDoCB0xINuZyBk4buxIHRy4buvIG5nb+G6oWkgaOG7kWkuDQoNCiAgMy4gR2nDoSB0cuG7iyDEkeG7k25nIFVTRCB0csOqbiB0aOG7iyB0csaw4budbmcgcXXhu5FjIHThur8gZ2nhuqNtOg0KDQpHacOhIHRy4buLIMSR4buTbmcgVVNEIHRyw6puIHRo4buLIHRyxrDhu51uZyBxdeG7kWMgdOG6vyBnaeG6o20ga2hp4bq/biBjaG8gZ2nDoSB0cuG7iyBk4buxIHRy4buvIG5nb+G6oWkgaOG7kWkgdMSDbmcgdGhlby4NCg0KICA0LiBDw6FjIHnhur91IHThu5Ega2jDoWM6DQoNCk7hu4FuIGtpbmggdOG6vyBWaeG7h3QgTmFtIHBo4bulYyBo4buTaSBzYXUga2jhu6duZyBob+G6o25nIHTDoGkgY2jDrW5oIHRvw6BuIGPhuqd1Lg0KTmnhu4FtIHRpbiBj4bunYSBuaMOgIMSR4bqndSB0xrAgdsOgbyBu4buBbiBraW5oIHThur8gVmnhu4d0IE5hbSB0xINuZyBjYW8uKQ0KDQpHaWFpIMSRb+G6oW4gMjAxMC0yMDEyOiBE4buxIHRy4buvIG5nb+G6oWkgaOG7kWkgdMSDbmcgdHLGsOG7n25nIG3huqFuaCB04burIDEyLDQ2IHThu7cgVVNEIGzDqm4gMjUsNiB04bu3IFVTRC4NCg0KR2lhaSDEkW/huqFuIDIwMTItMjAxNDogROG7sSB0cuG7ryBuZ2/huqFpIGjhu5FpIHRp4bq/cCB04bulYyB0xINuZyB04burIDI1LDYgdOG7tyBVU0QgbMOqbiAzNCwxODkgdOG7tyBVU0QuDQoNClTEg25nIHRyxrDhu59uZyBk4buxIHRy4buvIG5nb+G6oWkgaOG7kWkgdHJvbmcgZ2lhaSDEkW/huqFuIDIwMTAtMjAxNCBsw6Aga+G6v3QgcXXhuqMgdMOtY2ggY+G7sWMgY+G7p2EgbuG7gW4ga2luaCB04bq/IFZp4buHdCBOYW0uDQoNCkThu7EgdHLhu68gbmdv4bqhaSBo4buRaSBnacO6cCBWaeG7h3QgTmFtIGPDsyBraOG6oyBuxINuZyB0aGFuaCB0b8OhbiBxdeG7kWMgdOG6vyBjYW8gaMahbiwgdMSDbmcgY8aw4budbmcga2jhuqMgbsSDbmcgY2jhu5FuZyBjaOG7i3UgdHLGsOG7m2MgY8OhYyBjw7ogc+G7kWMga2luaCB04bq/IHbEqSBtw7QuDQoNCkdpYWkgxJFv4bqhbiAyMDEwLTIwMTQgROG7sSB0cuG7ryBubmdv4bqhaSBo4buRaSBj4bunYSBWaeG7h3QgTmFtIGPDsyB4dSBoxrDGoW5nIHTEg25nIG5oxrBuZyB24bqrbiB0aOG6pXAgaMahbiBy4bqldCBuaGnhu4F1IHNvIHbhu5tpIGdpYWkgxJFv4bqhbiB0csaw4bubYy4NCg0KDQoNCg0KIyMjICoqR2lhaSDEkW/huqFuIDIwMTUtMjAxOSoqDQoNCg0KYGBge3J9DQpnb2xkNDwtIFdESShpbmRpY2F0b3IgPSAnRkkuUkVTLlRPVEwuQ0QnLCBjb3VudHJ5ID0gYygnVk5NJyksIHN0YXJ0PTIwMTUsZW5kPTIwMTkpDQpnNSA8LSBnb2xkNCAlPiUgc2VsZWN0KHllYXIsRkkuUkVTLlRPVEwuQ0QpDQoNCm5hbWVzKGc1KSA8LSBjKCd5ZWFyJywnRHVUcnVOZ29haUhvaScpDQpnZ3Bsb3QoZGF0YSA9IGc1LCBhZXMoeCA9IHllYXIsIHkgPSBEdVRydU5nb2FpSG9pKSkgKw0KICBnZW9tX2NvbCgpICsgZ2VvbV90ZXh0KGFlcyhsYWJlbD0gRHVUcnVOZ29haUhvaSwgdmp1c3Q9MCwgY29sb3I9ICdk4buxIHRy4buvIG5nb+G6oWkgaOG7kWknKSkrDQogIGxhYnModGl0bGUgPSAiVOG7lW5nIGThu7EgdHLhu68gbmdv4bqhaSBo4buRaSIsDQogICAgICAgeCA9ICJOxINtIiwNCiAgICAgICB5ID0gIkThu7EgdHLhu68gbmdv4bqhaSBo4buRaSIpICsNCiAgdGhlbWVfbWluaW1hbCgpDQpgYGANCg0KDQpHaWFpIMSRb+G6oW4gbsSDbSAyMDE1LTIwMTkgxJHDonkgY8WpbmcgbMOgIGdp4bqjaSDEkW/huqFuIHBo4bulYyBo4buTaSBzYXUga2jhu6duZyBob+G6o25nIHbDoCBwaMOhdCB0cmnhu4NuDQoNCkThu7EgdHLhu68gbmdv4bqhaSBo4buRaSBj4bunYSBWaeG7h3QgTmFtIHTEg25nIHRyxrDhu59uZyBsacOqbiB04bulYyB0cm9uZyBnaWFpIMSRb+G6oW4gMjAxNS0yMDE5Lg0KDQpU4buRYyDEkeG7mSB0xINuZyB0csaw4bufbmcga2jDoSBjYW8gduG7m2kgbeG7qWMgdMSDbmcgdHJ1bmcgYsOsbmgga2hv4bqjbmcgMTAlL27Eg20uDQoNCk3hu6ljIHTEg25nIHRyxrDhu59uZyBjYW8gbmjhuqV0IGzDoCA0MS4yNiUgKG7Eg20gMjAxOSkuDQoNCioqQ8OhYyB54bq/dSB04buRIOG6o25oIGjGsOG7n25nOioqDQoNCkPDoW4gY8OibiB0aGFuaCB0b8OhbiBxdeG7kWMgdOG6vyB0aOG6t25nIGTGsCBsacOqbiB04bulYyB0cm9uZyBnaWFpIMSRb+G6oW4gMjAxNS0yMDE5Lg0KDQpMxrDhu6NuZyBraeG7gXUgaOG7kWkgxJHhu5UgdsOgbyBWaeG7h3QgTmFtIGNhby4NCg0KR2nDoSB0cuG7iyDEkeG7k25nIFVTRCB0csOqbiB0aOG7iyB0csaw4budbmcgcXXhu5FjIHThur8gZ2nhuqNtLg0KDQpOZ8OibiBow6BuZyBOaMOgIG7GsOG7m2MgY2jhu6cgxJHhu5luZyBtdWEgdsOgbyBuZ2/huqFpIHThu4cuDQoNCg0KIyMjICoqR2lhaSDEkW/huqFuIG7Eg20gMjAyMC0yMDIyKioNCg0KDQpgYGB7cn0NCmdvbGQ1PC0gV0RJKGluZGljYXRvciA9ICdGSS5SRVMuVE9UTC5DRCcsIGNvdW50cnkgPSBjKCdWTk0nKSwgc3RhcnQ9MjAyMCxlbmQ9MjAyMikNCmc2IDwtIGdvbGQ1ICU+JSBzZWxlY3QoeWVhcixGSS5SRVMuVE9UTC5DRCkNCg0KbmFtZXMoZzYpIDwtIGMoJ3llYXInLCdEdVRydU5nb2FpSG9pJykNCg0KZ2dwbG90KGRhdGEgPSBnNiwgYWVzKHggPSB5ZWFyLCB5ID0gRHVUcnVOZ29haUhvaSkpICsNCiAgZ2VvbV9jb2woKSArIGdlb21fdGV4dChhZXMobGFiZWw9IER1VHJ1TmdvYWlIb2ksIHZqdXN0PTAsIGNvbG9yPSAnZOG7sSB0cuG7ryBuZ2/huqFpIGjhu5FpJykpDQogIGxhYnModGl0bGUgPSAiVOG7lW5nIGThu7EgdHLhu68gbmdv4bqhaSBo4buRaSIsDQogICAgICAgeCA9ICJOxINtIiwNCiAgICAgICB5ID0gIkThu7EgdHLhu68gbmdv4bqhaSBo4buRaSIpICsNCiAgdGhlbWVfbWluaW1hbCgpDQoNCmBgYA0KDQoNCkdpYWkgxJFv4bqhbiBuxINtIDIwMjAtMjAyMiDEkcOieSDEkcaw4bujYyB4ZW0gbMOgIG5o4buvbmcgbsSDbSBjw7MgZOG7ryB0cuG7ryBuZ2/huqFpIGjhu5FpIGNhbyBuaOG6pXQgdOG7qyBuxINtIDIwMDAtMjAyMg0KDQoqKkThu7EgdHLhu68gbmdv4bqhaSBo4buRaSBj4bunYSBWaeG7h3QgTmFtIG7Eg20gMjAyMC0yMDIxIHTEg25nIDE1LDMzJS4gTeG6t2MgZMO5IG7Eg20gMjAyMSBsw6AgMSBuxINtIMSR4bqhaSBk4buLY2ggY+G7p2EgVmnhu4d0IE5hbSBuaMawbmcgduG6q24gdMSDbmcgbMOgIHbDrDoqKg0KDQogIDEuIFRo4bq3bmcgZMawIGPDoW4gY8OibiB0aMawxqFuZyBt4bqhaQ0KDQpOxINtIDIwMjE6IFZp4buHdCBOYW0gxJHhuqF0IHRo4bq3bmcgZMawIGPDoW4gY8OibiB0aMawxqFuZyBt4bqhaSBr4bu3IGzhu6VjIDExLDEgdOG7tyBVU0QuDQpMw70gZG86DQpYdeG6pXQga2jhuql1IGjDoG5nIGjDs2EgdMSDbmcgdHLGsOG7n25nIG3huqFuaCBt4bq9LCDEkeG6t2MgYmnhu4d0IGzDoCBjw6FjIG3hurd0IGjDoG5nIG5oxrAgxJFp4buHbiB0aG/huqFpLCBtw6F5IHTDrW5oLCBk4buHdCBtYXkuLi4NCk5o4bqtcCBraOG6qXUgdMSDbmcgY2jhuq1tIGjGoW4gZG8gbmh1IGPhuqd1IHRpw6p1IGTDuW5nIHRyb25nIG7GsOG7m2MgZ2nhuqNtIGRvIOG6o25oIGjGsOG7n25nIGPhu6dhIMSR4bqhaSBk4buLY2guDQoNCiAgMi4gS2nhu4F1IGjhu5FpIHTEg25nIGNhbzoNCg0KTsSDbSAyMDIxOiBLaeG7gXUgaOG7kWkgZ+G7rWkgduG7gSBWaeG7h3QgTmFtIMSR4bqhdCAzOCw2OCB04bu3IFVTRCwgdMSDbmcgMTAsMiUgc28gduG7m2kgbsSDbSAyMDIwLg0KTMO9IGRvOg0KTuG7gW4ga2luaCB04bq/IOG7nyBjw6FjIG7GsOG7m2MgcGjDoXQgdHJp4buDbiBwaOG7pWMgaOG7k2kgc2F1IMSR4bqhaSBk4buLY2ggQ09WSUQtMTkuDQpOZ8aw4budaSBWaeG7h3QgTmFtIOG7nyBuxrDhu5tjIG5nb8OgaSBjw7MgdGh1IG5o4bqtcCB04buRdCBoxqFuLg0KQ2jDrW5oIHPDoWNoIGtodXnhur9uIGtow61jaCBraeG7gXUgaOG7kWkgY+G7p2EgQ2jDrW5oIHBo4bunIFZp4buHdCBOYW0uDQoNCiAgMy4gTmd14buTbiB24buRbiDEkeG6p3UgdMawIHRy4buxYyB0aeG6v3Agbsaw4bubYyBuZ2/DoGkgKEZESSk6DQoNCk7Eg20gMjAyMTogVmnhu4d0IE5hbSB0aHUgaMO6dCAzMSwxNSB04bu3IFVTRCB24buRbiBGREkgZ2nhuqNpIG5nw6JuLCB0xINuZyA5LDIlIHNvIHbhu5tpIG7Eg20gMjAyMC4NCkzDvSBkbzoNCk3DtGkgdHLGsOG7nW5nIMSR4bqndSB0xrAga2luaCBkb2FuaCB04bqhaSBWaeG7h3QgTmFtIMSRxrDhu6NjIGPhuqNpIHRoaeG7h24uDQpWaeG7h3QgTmFtIMSRxrDhu6NjIMSRw6FuaCBnacOhIGzDoCDEkWnhu4NtIMSR4bq/biBhbiB0b8OgbiB2w6AgaOG6pXAgZOG6q24gY2hvIGPDoWMgbmjDoCDEkeG6p3UgdMawIG7GsOG7m2Mgbmdvw6BpLg0KDQogIDQuIE5nw6JuIGjDoG5nIE5ow6Agbsaw4bubYyAoTkhOTikgbXVhIHbDoG8gbmdv4bqhaSB04buHOg0KDQpOSE5OIGNo4bunIMSR4buZbmcgbXVhIHbDoG8gbmdv4bqhaSB04buHIHRyw6puIHRo4buLIHRyxrDhu51uZyBuaOG6sW0g4buVbiDEkeG7i25oIHThu7cgZ2nDoSBo4buRaSDEkW/DoWkuDQpWaeG7h2MgbXVhIHbDoG8gbmdv4bqhaSB04buHIGPFqW5nIGfDs3AgcGjhuqduIGdpYSB0xINuZyBk4buxIHRy4buvIG5nb+G6oWkgaOG7kWkuDQoNCiAgNS4gQ8OhYyB54bq/dSB04buRIGtow6FjOg0KDQpHacOhIHbDoG5nIHRo4bq/IGdp4bubaSB0xINuZyBjYW8gdHJvbmcgbsSDbSAyMDIxIGPFqW5nIGfDs3AgcGjhuqduIGdpYSB0xINuZyBnacOhIHRy4buLIGThu7EgdHLhu68gbmdv4bqhaSBo4buRaSBj4bunYSBWaeG7h3QgTmFtLg0KVmnhu4djIE5ITk4gcXXhuqNuIGzDvSBjaOG6t3QgY2jhur0gaG/huqF0IMSR4buZbmcgbmdv4bqhaSBo4buRaSBjxaluZyBnw7NwIHBo4bqnbiBo4bqhbiBjaOG6vyB2aeG7h2MgdGjhuqV0IHRob8OhdCBuZ2/huqFpIHThu4cuDQpOZ2/DoGkgcmEsIGPDsm4gY8OzIG3hu5l0IHPhu5Egbmd1ecOqbiBuaMOibiBraMOhYzoNCg0KTuG7gW4ga2luaCB04bq/IFZp4buHdCBOYW0gcGjhu6VjIGjhu5NpIHThu5F0IHNhdSDEkeG6oWkgZOG7i2NoIENPVklELTE5Lg0KTmnhu4FtIHRpbiBj4bunYSBuaMOgIMSR4bqndSB0xrAgdsOgbyBu4buBbiBraW5oIHThur8gVmnhu4d0IE5hbSDEkcaw4bujYyBj4bqjaSB0aGnhu4duLg0KTMOjaSBzdeG6pXQgdGnhu4FuIGfhu61pIHThuqFpIFZp4buHdCBOYW0gY2FvIGjGoW4gc28gduG7m2kgbeG7mXQgc+G7kSBxdeG7kWMgZ2lhIGtow6FjIHRyb25nIGtodSB24buxYy4NCkvhur90IGx14bqtbjoNCg0KU+G7sSBnaWEgdMSDbmcgZOG7ryBsaeG7h3Ugbmdv4bqhaSBo4buRaSB0cm9uZyBuxINtIDIwMjEgbMOgIGvhur90IHF14bqjIGPhu6dhIG5oaeG7gXUgeeG6v3UgdOG7kSwgYmFvIGfhu5NtIHRo4bq3bmcgZMawIGPDoW4gY8OibiB0aMawxqFuZyBt4bqhaSwga2nhu4F1IGjhu5FpIHTEg25nIGNhbywgRkRJIGdp4bqjaSBuZ8OibiwgTkhOTiBtdWEgdsOgbyBuZ2/huqFpIHThu4csIHbDoCBjw6FjIHnhur91IHThu5Ega2jDoWMuIEThu68gbGnhu4d1IG5nb+G6oWkgaOG7kWkgY2FvIGdpw7pwIFZp4buHdCBOYW0gY8OzIHRo4buDIOG7qW5nIHBow7MgdOG7kXQgaMahbiB24bubaSBjw6FjIGPDuiBz4buRYyBiw6puIG5nb8OgaSB2w6AgxJHhuqNtIGLhuqNvIOG7lW4gxJHhu4tuaCBraW5oIHThur8gdsSpIG3DtC4NCg0KROG7ryBsaeG7h3Ugbmdv4bqhaSBo4buRaSBuxINtIDIwMjEgY2FvIGjGoW4gMiw1IGzhuqduIHNvIHbhu5tpIG7Eg20gMjAwMCB2w6AgZ+G6p24gZ+G6pXAgxJHDtGkgc28gduG7m2kgbsSDbSAyMDEwLg0KROG7ryBsaeG7h3Ugbmdv4bqhaSBo4buRaSBuxINtIDIwMjEgY8WpbmcgY2FvIGjGoW4gc28gduG7m2kgZOG7sSBiw6FvIGPhu6dhIGPDoWMgdOG7lSBjaOG7qWMgcXXhu5FjIHThur8gbmjGsCBRdeG7uSBUaeG7gW4gdOG7hyBRdeG7kWMgdOG6vyAoSU1GKSB2w6AgTmfDom4gaMOgbmcgVGjhur8gZ2nhu5tpIChXQikuDQoNClTDoWMgxJHhu5luZyBj4bunYSB2aeG7h2MgZOG7ryBsaeG7h3Ugbmdv4bqhaSBo4buRaSB0xINuZyBjYW86DQoNCkdpw7pwIFZp4buHdCBOYW0gY8OzIHRo4buDIOG7qW5nIHBow7MgdOG7kXQgaMahbiB24bubaSBjw6FjIGPDuiBz4buRYyBiw6puIG5nb8OgaSBuaMawIGto4bunbmcgaG/huqNuZyBraW5oIHThur8sIHRoacOqbiB0YWksIGThu4tjaCBi4buHbmguDQpHacO6cCDhu5VuIMSR4buLbmggdOG7tyBnacOhIGjhu5FpIMSRb8OhaSwgdOG6oW8gbmnhu4FtIHRpbiBjaG8gbmjDoCDEkeG6p3UgdMawLg0KR2nDunAgQ2jDrW5oIHBo4bunIGPDsyB0aMOqbSBuZ3Xhu5NuIGzhu7FjIMSR4buDIHRo4buxYyBoaeG7h24gY8OhYyBjaMOtbmggc8OhY2ggcGjDoXQgdHJp4buDbiBraW5oIHThur8gLSB4w6MgaOG7mWkuDQogDQoqKlR1eSBuaGnDqm4gdsOgbyBuxINtIDIwMjIgbOG6oWkgZ2nhuqNtIDI2LjM4JSBsw6AgdsOsOioqIA0KDQogIDEuIEPDoW4gY8OibiB2w6NuZyBsYWkgY2h1eeG7g24gc2FuZyB0aMOibSBo4buldDoNCg0KTsSDbSAyMDIyOiBDw6FuIGPDom4gdsOjbmcgbGFpIHRow6JtIGjhu6V0IDEsNCB04bu3IFVTRCwgdHJvbmcga2hpIG7Eg20gMjAyMSB0aOG6t25nIGTGsCAxMSwxIHThu7cgVVNELg0KTMO9IGRvOg0KTmjhuq1wIGto4bqpdSB0xINuZyBjYW86DQpOaHUgY+G6p3UgdGnDqnUgZMO5bmcgdHJvbmcgbsaw4bubYyBwaOG7pWMgaOG7k2kgc2F1IMSR4bqhaSBk4buLY2ggQ09WSUQtMTkuDQpHacOhIG5ndXnDqm4gbGnhu4d1IMSR4bqndSB2w6BvIHTEg25nIGNhby4NClh14bqldCBraOG6qXUgdMSDbmcgdHLGsOG7n25nIGNo4bqtbSBs4bqhaToNCk5odSBj4bqndSB0acOqdSBkw7luZyB0b8OgbiBj4bqndSBnaeG6o20gZG8g4bqjbmggaMaw4bufbmcgY+G7p2EgY2hp4bq/biB0cmFuaCBOZ2EtVWtyYWluZS4NCkdpw6EgY+G6oyBow6BuZyBow7NhIHh14bqldCBraOG6qXUgZ2nhuqNtLg0KDQogIDIuIEdpw6EgdHLhu4sgxJHhu5NuZyBVU0QgdMSDbmcgbeG6oW5oIHNvIHbhu5tpIGPDoWMgxJHhu5NuZyB0aeG7gW4ga2jDoWM6DQoNCk7Eg20gMjAyMjogVVNEIHTEg25nIGdpw6EgbeG6oW5oIHNvIHbhu5tpIGPDoWMgxJHhu5NuZyB0aeG7gW4ga2jDoWMgZG8gQ+G7pWMgROG7sSB0cuG7ryBMacOqbiBiYW5nIEhvYSBL4buzIChGZWQpIHTEg25nIGzDo2kgc3XhuqV0IMSR4buDIGtp4buBbSBjaOG6vyBs4bqhbSBwaMOhdC4NClTDoWMgxJHhu5luZzoNCkzDoG0gZ2nhuqNtIGdpw6EgdHLhu4sgVk5EIHNvIHbhu5tpIFVTRC4NCktoaeG6v24gY2hvIGThu7EgdHLhu68gbmdv4bqhaSBo4buRaSB0w61uaCBi4bqxbmcgVVNEIGdp4bqjbSB0aGVvLg0KDQogIDMuIE5nw6JuIGjDoG5nIE5ow6Agbsaw4bubYyAoTkhOTikgYsOhbiByYSBuZ2/huqFpIHThu4cgxJHhu4MgaOG7lyB0cuG7oyB04bu3IGdpw6EgaOG7kWkgxJFvw6FpOg0KDQrhu5RuIMSR4buLbmggdOG7tyBnacOhIGjhu5FpIMSRb8OhaS4NCkjhuqFuIGNo4bq/IHTDrG5oIHRy4bqhbmcgbeG6pXQgZ2nDoSBWTkQuDQpUw6FjIMSR4buZbmc6DQpMw6BtIGdp4bqjbSBk4buxIHRy4buvIG5nb+G6oWkgaOG7kWkNCg0KIyMgKioqQ8OhYyB54bq/dSB04buRIOG6o25oIGjGsOG7n25nKioqDQoNCkPDoWMgeeG6v3UgdOG7kSDhuqNuaCBoxrDhu59uZyDEkeG6v24gaW5kaWNhdG9yIEZJLlJFUy5UT1RMLkNEIGPhu6dhIFZp4buHdCBOYW0gdOG7qyBuxINtIDIwMDAgxJHhur9uIDIwMjIgY8OzIHRo4buDIGJhbyBn4buTbSBuaOG7r25nIHnhur91IHThu5Ega2luaCB04bq/LCB0w6BpIGNow61uaCwgY2jDrW5oIHRy4buLIHbDoCB4w6MgaOG7mWkuIETGsOG7m2kgxJHDonkgbMOgIG3hu5l0IHPhu5EgeeG6v3UgdOG7kSBxdWFuIHRy4buNbmcgY8OzIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/biBGSS5SRVMuVE9UTC5DRCBj4bunYSBWaeG7h3QgTmFtIHRyb25nIHRo4budaSBr4buzIG7DoHk6DQoNCiAgLSBUxINuZyB0csaw4bufbmcga2luaCB04bq/OiBT4buxIHTEg25nIHRyxrDhu59uZyBraW5oIHThur8gY+G7p2EgVmnhu4d0IE5hbSBjw7MgdGjhu4MgdOG6oW8gcmEgZMawIMSR4buLYSB0w6BpIGNow61uaCBjaG8gdmnhu4djIHTDrWNoIGzFqXkgZOG7sSB0cuG7ryBuZ2/huqFpIGjhu5FpLg0KDQogIC0gWHXhuqV0IGto4bqpdSB2w6Agbmjhuq1wIGto4bqpdTogSG/huqF0IMSR4buZbmcgdGjGsMahbmcgbeG6oWkgY+G7p2EgVmnhu4d0IE5hbSwgxJHhurdjIGJp4buHdCBsw6AgbeG7qWMgxJHhu5kgY8OibiDEkeG7kWkgdGjGsMahbmcgbeG6oWksIGPDsyB0aOG7gyDhuqNuaCBoxrDhu59uZyDEkeG6v24gdmnhu4djIHTDrWNoIGzFqXkgZOG7sSB0cuG7ryBuZ2/huqFpIGjhu5FpLg0KDQogIC0gQmnhur9uIMSR4buZbmcgdOG7tyBnacOhIGjhu5FpIMSRb8OhaTogQmnhur9uIMSR4buZbmcgY+G7p2EgdOG7tyBnacOhIGjhu5FpIMSRb8OhaSBjw7MgdGjhu4Mg4bqjbmggaMaw4bufbmcgxJHhur9uIGdpw6EgdHLhu4sgY+G7p2EgZOG7sSB0cuG7ryBuZ2/huqFpIGjhu5FpLg0KDQogIC0gQ2jDrW5oIHPDoWNoIHRp4buBbiB04buHIGPhu6dhIE5nw6JuIGjDoG5nIE5ow6Agbsaw4bubYzogQ8OhYyBxdXnhur90IMSR4buLbmggduG7gSBjaMOtbmggc8OhY2ggdGnhu4FuIHThu4csIGJhbyBn4buTbSB2aeG7h2MgbXVhIHbDoCBiw6FuIG5nb+G6oWkgdOG7hywgY8OzIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/biBk4buxIHRy4buvIG5nb+G6oWkgaOG7kWkuDQoNCiAgLSBDaMOtbmggc8OhY2ggdMOgaSBraMOzYSB2w6AgdGjGsMahbmcgbeG6oWk6IENow61uaCBzw6FjaCB0w6BpIGtow7NhIHbDoCB0aMawxqFuZyBt4bqhaSBj4bunYSBjaMOtbmggcGjhu6cgY8OzIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/biBkxrAgxJHhu4thIHTDoGkgY2jDrW5oIHbDoCBuaHUgY+G6p3UgZOG7sSB0cuG7ryBuZ2/huqFpIGjhu5FpLg0KDQogIC0gU+G7sSDhu5VuIMSR4buLbmggY2jDrW5oIHRy4buLIHbDoCB4w6MgaOG7mWk6IFPhu7Eg4buVbiDEkeG7i25oIGNow61uaCB0cuG7iyB2w6AgeMOjIGjhu5lpIGPDsyB0aOG7gyDhuqNuaCBoxrDhu59uZyDEkeG6v24gbmnhu4FtIHRpbiBj4bunYSBjw6FjIG5ow6AgxJHhuqd1IHTGsCB2w6Agbmh1IGPhuqd1IGThu7EgdHLhu68gbmdv4bqhaSBo4buRaS4NCg0KICAtIFRo4buLIHRyxrDhu51uZyBow6BuZyBow7NhOiBN4bupYyBnacOhIHbDoCB4dSBoxrDhu5tuZyB0aOG7iyB0csaw4budbmcgY+G7p2EgaMOgbmcgaMOzYSB4deG6pXQga2jhuql1IGPhu6dhIFZp4buHdCBOYW0sIG5oxrAgZOG6p3UsIGfhuqFvLCB2w6Agc+G6o24gcGjhuqltIMSRaeG7h24gdOG7rSwgY8OzIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/biB2aeG7h2MgdMOtY2ggbMWpeSBk4buxIHRy4buvIG5nb+G6oWkgaOG7kWkuDQoNCiAgLSBOZ2/huqFpIG7hu6MgdsOgIHLhu6dpIHJvIHRoYW5oIHRvw6FuOiBN4bupYyDEkeG7mSB2w6AgY+G6pXUgdHLDumMgY+G7p2Egbmdv4bqhaSBu4bujIGPhu6dhIFZp4buHdCBOYW0gY8OzIHRo4buDIOG6o25oIGjGsOG7n25nIMSR4bq/biB2aeG7h2MgcXXhuqNuIGzDvSBk4buxIHRy4buvIG5nb+G6oWkgaOG7kWkgbmjGsCBt4buZdCBjw6FjaCDEkeG7gyDEkeG7kWkgcGjDsyB24bubaSBy4bunaSBybyB0aGFuaCB0b8OhbiBuZ2/huqFpIGjhu5FpLg0KDQoqKlBow6JuIHTDrWNoIG3hu5l0IHPhu5EgeeG6v3UgdOG7kSoqDQoNCmBgYHtyfQ0KdGkgPC0gV0RJKGNvdW50cnkgPSAiVk4iLCBpbmRpY2F0b3IgPSAiRkkuUkVTLlRPVEwuQ0QiLCBzdGFydCA9IDIwMDAsIGVuZCA9IDIwMjIpDQoNCiMgVOG6oW8gYmnhu4N1IMSR4buTIMSRxrDhu51uZyB0aOG7nWkgZ2lhbiBjaG8gZOG7ryBsaeG7h3UgRkkuUkVTLlRPVEwuQ0QgY+G7p2EgVmnhu4d0IE5hbQ0KcCA8LSBnZ3Bsb3QodGksIGFlcyh4ID0geWVhciwgeSA9IEZJLlJFUy5UT1RMLkNEKSkgKw0KICBnZW9tX2xpbmUoY29sb3IgPSAiYmx1ZSIpICsNCiAgbGFicyh0aXRsZSA9ICJU4buVbmcgZOG7sSB0cuG7ryBuZ2/huqFpIGjhu5FpIGPhu6dhIFZp4buHdCBOYW0gKDIwMDAtMjAyMikiLA0KICAgICAgIHggPSAiTsSDbSIsDQogICAgICAgeSA9ICJE4buxIHRy4buvIG5nb+G6oWkgaOG7kWkgKFVTRCkiKSArDQogIHRoZW1lX21pbmltYWwoKQ0KDQojIMSQw6FuaCBk4bqldSBjw6FjIHPhu7Ega2nhu4duIHF1YW4gdHLhu41uZyBj4bunYSBjaMOtbmggc8OhY2ggdGnhu4FuIHThu4cNCnAgKyBnZW9tX3ZsaW5lKHhpbnRlcmNlcHQgPSBjKDIwMDgsIDIwMjEpLCBsaW5ldHlwZSA9ICJkYXNoZWQiLCBjb2xvciA9ICJyZWQiKSArDQogIGFubm90YXRlKCJ0ZXh0IiwgeCA9IDIwMDgsIHkgPSBtYXgodGkkRkkuUkVTLlRPVEwuQ0QpLCBsYWJlbCA9ICJT4buxIGtp4buHbiBBIiwgdmp1c3QgPSAtMC41LCBoanVzdCA9IDApICsNCiAgYW5ub3RhdGUoInRleHQiLCB4ID0gMjAyMSwgeSA9IG1heCh0aSRGSS5SRVMuVE9UTC5DRCksIGxhYmVsID0gIlPhu7Ega2nhu4duIEIiLCB2anVzdCA9IC0wLjUsIGhqdXN0ID0gMCkNCmBgYA0KDQoqKlF1YSBow6xuaCB0csOqbiB0YSB0aOG6pXkgxJHGsOG7o2MgIHPhu7Ega2nhu4duIGzDoCBuxINtIDIwMDggbMOgIG7Eg20ga2jhu6duZyBob+G6o25nIGtpbmggdOG6vyB0b8OgbiBj4bqndSAga2hp4bq/biBjaG8gZOG7sSB0cuG7ryBuZ2/huqFpIGjhu5FpIGPDsyB4dSBoxrDGoW5nIGdp4bqjbSBkbyBjw6FjIHnhur91IHThu5Egc2F1OioqDQogIA0KICAtIEto4bunbmcgaG/huqNuZyB0w6BpIGNow61uaCB0b8OgbiBj4bqndToNCg0KS2jhu6duZyBob+G6o25nIHTDoGkgY2jDrW5oIG7Eg20gMjAwOCDhuqNuaCBoxrDhu59uZyBu4bq3bmcgbuG7gSDEkeG6v24gbuG7gW4ga2luaCB04bq/IHRvw6BuIGPhuqd1LCBiYW8gZ+G7k20gY+G6oyBWaeG7h3QgTmFtLg0KTmh1IGPhuqd1IG5o4bqtcCBraOG6qXUgY+G7p2EgVmnhu4d0IE5hbSBnaeG6o20gbeG6oW5oIGRvIHN1eSB0aG/DoWkga2luaCB04bq/Lg0KR2nDoSB0cuG7iyDEkeG7k25nIFVTRCB0csOqbiB0aOG7iyB0csaw4budbmcgcXXhu5FjIHThur8gdMSDbmcgbeG6oW5oLCBraGnhur9uIGNobyBnacOhIHRy4buLIGThu7EgdHLhu68gbmdv4bqhaSBo4buRaSBnaeG6o20gdGhlby4NCg0KICAtICBDw6FuIGPDom4gdGhhbmggdG/DoW4gcXXhu5FjIHThur8gdGjDom0gaOG7pXQ6DQoNCkPDoW4gY8OibiB0aGFuaCB0b8OhbiBxdeG7kWMgdOG6vyBj4bunYSBWaeG7h3QgTmFtIHRow6JtIGjhu6V0IDEsMiB04bu3IFVTRCBuxINtIDIwMDkuDQpOZ3V5w6puIG5ow6JuIHRow6JtIGjhu6V0Og0KTmh1IGPhuqd1IG5o4bqtcCBraOG6qXUgY2FvIGjGoW4geHXhuqV0IGto4bqpdS4NCktp4buBdSBo4buRaSBnaeG6o20uDQoNCiAgLSBOZ8OibiBow6BuZyBOaMOgIG7GsOG7m2MgYsOhbiByYSBuZ2/huqFpIHThu4c6TmfDom4gaMOgbmcgTmjDoCBuxrDhu5tjIGLDoW4gcmEgbmdv4bqhaSB04buHIMSR4buDIGNhbiB0aGnhu4dwIHRo4buLIHRyxrDhu51uZyB2w6Ag4buVbiDEkeG7i25oIHThu7cgZ2nDoSBo4buRaSDEkW/DoWkuDQoNCioqU+G7sSBraeG7h24gQiBsw6AgbsSDbSBk4buLY2ggQ292aWQgdHV5IG5oacOqbiB0YSBs4bqhaSB0aOG6pXkgxJHDsyBsw6AgbeG7mXQgbsSDbSDEkeG7iW5oIGNhbyB04burIG7Eg20gMjAwMC0yMDIyIGzDoCBkbyBjw6FjIHnhur91IHTDtCDhuqNuaCBoxrDhu59uZyBzYXU6KioNCg0KICAtIFRo4bq3bmcgZMawIGPDoW4gY8OibiB0aMawxqFuZyBt4bqhaQ0KDQpOxINtIDIwMjE6IFZp4buHdCBOYW0gxJHhuqF0IHRo4bq3bmcgZMawIGPDoW4gY8OibiB0aMawxqFuZyBt4bqhaSBr4bu3IGzhu6VjIDExLDEgdOG7tyBVU0QuDQpMw70gZG86DQpYdeG6pXQga2jhuql1IGjDoG5nIGjDs2EgdMSDbmcgdHLGsOG7n25nIG3huqFuaCBt4bq9LCDEkeG6t2MgYmnhu4d0IGzDoCBjw6FjIG3hurd0IGjDoG5nIG5oxrAgxJFp4buHbiB0aG/huqFpLCBtw6F5IHTDrW5oLCBk4buHdCBtYXkuLi4NCk5o4bqtcCBraOG6qXUgdMSDbmcgY2jhuq1tIGjGoW4gZG8gbmh1IGPhuqd1IHRpw6p1IGTDuW5nIHRyb25nIG7GsOG7m2MgZ2nhuqNtIGRvIOG6o25oIGjGsOG7n25nIGPhu6dhIMSR4bqhaSBk4buLY2guDQoNCiAgLSBLaeG7gXUgaOG7kWkgdMSDbmcgY2FvOg0KDQpOxINtIDIwMjE6IEtp4buBdSBo4buRaSBn4butaSB24buBIFZp4buHdCBOYW0gxJHhuqF0IDM4LDY4IHThu7cgVVNELCB0xINuZyAxMCwyJSBzbyB24bubaSBuxINtIDIwMjAuDQpMw70gZG86DQpO4buBbiBraW5oIHThur8g4bufIGPDoWMgbsaw4bubYyBwaMOhdCB0cmnhu4NuIHBo4bulYyBo4buTaSBzYXUgxJHhuqFpIGThu4tjaCBDT1ZJRC0xOS4NCk5nxrDhu51pIFZp4buHdCBOYW0g4bufIG7GsOG7m2Mgbmdvw6BpIGPDsyB0aHUgbmjhuq1wIHThu5F0IGjGoW4uDQpDaMOtbmggc8OhY2gga2h1eeG6v24ga2jDrWNoIGtp4buBdSBo4buRaSBj4bunYSBDaMOtbmggcGjhu6cgVmnhu4d0IE5hbS4NCg0KICAtIE5ndeG7k24gduG7kW4gxJHhuqd1IHTGsCB0cuG7sWMgdGnhur9wIG7GsOG7m2Mgbmdvw6BpIChGREkpOg0KICANCk7Eg20gMjAyMTogVmnhu4d0IE5hbSB0aHUgaMO6dCAzMSwxNSB04bu3IFVTRCB24buRbiBGREkgZ2nhuqNpIG5nw6JuLCB0xINuZyA5LDIlIHNvIHbhu5tpIG7Eg20gMjAyMC4NCkzDvSBkbzoNCk3DtGkgdHLGsOG7nW5nIMSR4bqndSB0xrAga2luaCBkb2FuaCB04bqhaSBWaeG7h3QgTmFtIMSRxrDhu6NjIGPhuqNpIHRoaeG7h24uDQpWaeG7h3QgTmFtIMSRxrDhu6NjIMSRw6FuaCBnacOhIGzDoCDEkWnhu4NtIMSR4bq/biBhbiB0b8OgbiB2w6AgaOG6pXAgZOG6q24gY2hvIGPDoWMgbmjDoCDEkeG6p3UgdMawIG7GsOG7m2Mgbmdvw6BpLg0KDQogIC0gTmfDom4gaMOgbmcgTmjDoCBuxrDhu5tjIChOSE5OKSBtdWEgdsOgbyBuZ2/huqFpIHThu4c6DQoNCk5ITk4gY2jhu6cgxJHhu5luZyBtdWEgdsOgbyBuZ2/huqFpIHThu4cgdHLDqm4gdGjhu4sgdHLGsOG7nW5nIG5o4bqxbSDhu5VuIMSR4buLbmggdOG7tyBnacOhIGjhu5FpIMSRb8OhaS4NClZp4buHYyBtdWEgdsOgbyBuZ2/huqFpIHThu4cgY8WpbmcgZ8OzcCBwaOG6p24gZ2lhIHTEg25nIGThu7EgdHLhu68gbmdv4bqhaSBo4buRaS4NCg0KICAtIEPDoWMgeeG6v3UgdOG7kSBraMOhYzoNCg0KR2nDoSB2w6BuZyB0aOG6vyBnaeG7m2kgdMSDbmcgY2FvIHRyb25nIG7Eg20gMjAyMSBjxaluZyBnw7NwIHBo4bqnbiBnaWEgdMSDbmcgZ2nDoSB0cuG7iyBk4buxIHRy4buvIG5nb+G6oWkgaOG7kWkgY+G7p2EgVmnhu4d0IE5hbS4NClZp4buHYyBOSE5OIHF14bqjbiBsw70gY2jhurd0IGNo4bq9IGhv4bqhdCDEkeG7mW5nIG5nb+G6oWkgaOG7kWkgY8WpbmcgZ8OzcCBwaOG6p24gaOG6oW4gY2jhur8gdmnhu4djIHRo4bqldCB0aG/DoXQgbmdv4bqhaSB04buHLg0KDQojIyAqKipOaOG6rW4geMOpdCBjaHVuZyoqKg0KDQpE4buxIHRy4buvIG5nb+G6oWkgaOG7kWkgKEZJLlJFUy5UT1RMLkNEKSBj4bunYSBWaeG7h3QgTmFtIHThu6sgbsSDbSAyMDAwIMSR4bq/biAyMDIyIGPDsyB0aOG7gyBjaG8gdGjhuqV5IG5oaeG7gXUgxJFp4buDbSDEkcOhbmcgY2jDuiDDvSB24buBIHTDrG5oIGjDrG5oIHTDoGkgY2jDrW5oIHbDoCBraW5oIHThur8gY+G7p2EgcXXhu5FjIGdpYSBuw6B5LiBExrDhu5tpIMSRw6J5IGzDoCBt4buZdCBz4buRIG5o4bqtbiB4w6l0IGNodW5nIHbhu4EgYuG7mSBk4buvIGxp4buHdSBuw6B5OlTEg25nIHRyxrDhu59uZyBsacOqbiB04bulYywgQmnhur9uIMSR4buZbmcgxJHDoW5nIGNow7ogw70sIOG6om5oIGjGsOG7n25nIGPhu6dhIHPhu7Ega2nhu4duIHbDoCBjaMOtbmggc8OhY2gsIFNvIHPDoW5oIHbhu5tpIGPDoWMgcXXhu5FjIGdpYSBraMOhYywgVMawxqFuZyBxdWFuIHbhu5tpIGPDoWMgY2jhu4kgc+G7kSBraW5oIHThur8ga2jDoWMuIFTDs20gbOG6oWksIHZp4buHYyBwaMOibiB0w61jaCBi4buZIGThu68gbGnhu4d1IEZJLlJFUy5UT1RMLkNEIGPhu6dhIFZp4buHdCBOYW0gdOG7qyBuxINtIDIwMDAgxJHhur9uIDIwMjIgY3VuZyBj4bqlcCB0aMO0bmcgdGluIHF1YW4gdHLhu41uZyB24buBIHTDrG5oIGjDrG5oIHTDoGkgY2jDrW5oIHbDoCBraW5oIHThur8gY+G7p2EgcXXhu5FjIGdpYSBuw6B5LCB2w6AgY8OzIHRo4buDIMSRw7NuZyBnw7NwIHbDoG8gdmnhu4djIGhp4buDdSByw7UgaMahbiB24buBIHF14bqjbiBsw70gZOG7sSB0cuG7ryBuZ2/huqFpIGjhu5FpIHbDoCBjaMOtbmggc8OhY2ggdGnhu4FuIHThu4cgY+G7p2EgVmnhu4d0IE5hbS4NCg0KDQo=