“02:24:41, 15 - 03 - 2024”
***

1 Giới thiệu về hai indicator.

1.1 BG.GSR.NFSV.GD.ZS trích xuất từ World bank.


  • Sử dụng hàm WDIsearch để tìm kiếm các chỉ báo liên quan đến “thương mại” (trade) trong cơ sở dữ liệu World Development Indicators (WDI).

  • Hàm này có thể trả về một data frame chứa thông tin về các chỉ báo liên quan, chẳng hạn như tên, mô tả và mã định danh của chúng.

  • Kết quả tìm kiếm được lưu trữ trong biến x.

  • Sử dụng hàm write.csv để xuất data frame x sang tệp CSV (Comma-Separated Values) có tên x.csv. Tệp CSV này sẽ được lưu trữ ở vị trí hiện tại trong R.

  • Sử dụng hàm WDI để truy xuất dữ liệu cho một chỉ báo cụ thể từ cơ sở dữ liệu WDI.

  • indicator: Mã định danh của chỉ báo bạn muốn tải xuống. Trong trường hợp này, mã là “BG.GSR.NFSV.GD.ZS”.

  • country: Một vectơ chứa tên các quốc gia bạn muốn lấy dữ liệu. Trong trường hợp này, vectơ chỉ chứa một phần tử là “USA”.

  • Hàm WDI sẽ trả về một data frame chứa dữ liệu thực tế cho chỉ báo được chỉ định và quốc gia được chọn.

library(WDI)
## Warning: package 'WDI' was built under R version 4.3.3
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(DT)
x <- WDIsearch('trade')
write.csv(x,'x.csv')
pmc <- WDI(indicator = 'BG.GSR.NFSV.GD.ZS',country = c('USA'))
datatable(pmc)

Chi tiết về indicator:

  • Tên cơ sở dữ liệu: Thương mại dịch vụ (% GDP ).

  • BG.GSR.NFSV.GD.ZS: Quỹ Tiền tệ Quốc tế, Niên giám Thống kê Cán cân Thanh toán và các tệp dữ liệu cũng như ước tính GDP của Ngân hàng Thế giới và OECD .

  • Miêu tả: Thương mại dịch vụ là tổng xuất khẩu và nhập khẩu dịch vụ chia cho giá trị GDP , tất cả đều tính bằng đô la Mỹ hiện tại.

  • Nguồn : Quỹ Tiền tệ Quốc tế, Niên giám Thống kê Cán cân Thanh toán và các tệp dữ liệu, và ước tính GDP của Ngân hàng Thế giới và OECD.

  • Giấy phép : CC BY-4.0

  • Phương pháp tổng hợp dữ liệu : Bình quân gia quyền.

  • Nhận xét chung : Lưu ý: Dữ liệu được dựa trên ấn bản thứ sáu của Cẩm nang Cán cân Thanh toán (BPM6) của IMF và chỉ có sẵn từ năm 2005 trở đi.

  • Định kỳ : Hàng năm.

  • Chủ đề : Chính sách kinh tế & Nợ: Cán cân thanh toán: Tài khoản vãng lai: Hàng hóa, dịch vụ & thu nhập.


  • Bộ dữ liệu có 63 quan sát và 5 biến:

    • Country: khu vực

    • iso2c: mã quốc gia trong bộ dữ liệu.

    • iso3c: tên quốc gia.

    • year: năm của mỗi quan sát.

    • BG.GSR.NFSV.GD.ZS: giá trị thương mại dịch vụ theo % GDP.

  • Giái trị nhỏ nhất của thương mại dịch vụ theo % GDP là 2.38, không còn giá trị nào nhỏ hơn 2.38%.

  • Giá trị lớn nhất: 7.15, tức là không còn giá trị nào lớn hơn 7.15%.

  • Có 25% số giá trị nhỏ hơn 3.34%(p25).

  • 50% số lượng các giá trị nhỏ hơn 4.77%(p50).

  • Có 75% số lượng các giá trị nhỏ hơn 6.09% (p75).


library(skimr)
skim(pmc)
Data summary
Name pmc
Number of rows 63
Number of columns 5
_______________________
Column type frequency:
character 3
numeric 2
________________________
Group variables None

Variable type: character

skim_variable n_missing complete_rate min max empty n_unique whitespace
country 0 1 13 13 0 1 0
iso2c 0 1 2 2 0 1 0
iso3c 0 1 3 3 0 1 0

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
year 0 1.00 1991.00 18.33 1960.00 1975.50 1991.00 2006.50 2022.00 ▇▇▇▇▇
BG.GSR.NFSV.GD.ZS 10 0.84 4.74 1.55 2.38 3.34 4.77 6.09 7.15 ▇▃▇▂▇

1.2 PCPIF_IX trích từ IMF


  • Sử dụng hàm list_datasets để liệt kê tất cả các tập dữ liệu có sẵn trong API dữ liệu IMF. Biến imf sẽ lưu trữ kết quả, có thể là một data frame chứa thông tin về các tập dữ liệu như tên, mô tả và mã định danh.

  • Sử dụng hàm load_datasets (giả sử được cung cấp bởi thư viện) để tải xuống tập dữ liệu cụ thể liên quan đến Chỉ số giá tiêu dùng (CPI). Biến l sẽ lưu trữ dữ liệu đã tải xuống.

  • Sử dụng get_series để trích xuất một chuỗi với các đặc điểm sau:

    • freq=‘A’: Chọn dữ liệu có tần suất hàng năm.

    • ref_area=‘US’: Chọn dữ liệu cho khu vực tham khảo “US” (có thể là Hoa Kỳ).

    • indicator=‘PCPIF_IX’: Mã chỉ báo cụ thể trong tập dữ liệu CPI mà bạn muốn truy xuất. Khó xác định chính xác ý nghĩa của mã này mà không có tài liệu API dữ liệu IMF, nhưng nó có thể liên quan đến một chỉ số giá cụ thể trong dữ liệu CPI.

    • Biến z sẽ lưu trữ data frame hoặc cấu trúc dữ liệu khác chứa chuỗi cụ thể bạn đã yêu cầu.

library(imf.data)
## Warning: package 'imf.data' was built under R version 4.3.3
imf <- list_datasets()
l <- load_datasets('CPI')
z <-l$get_series(freq='A', ref_area='US', indicator='PCPIF_IX')
names(z) <- c('gd','gt','tc')
datatable(z)

Chi tiết về bộ dữ liệu:

  • nhà cung cấp: Quỹ Tiền tệ Quốc tế

  • Tập dữ liệu: Chỉ số giá tiêu dùng (CPI)

  • Mã sê-r: [ IMF/CPI/A.US.PCPIF_IX ]

  • Đã cập nhật trên DBnomics vào: Ngày 14 tháng 3 năm 2024 (3:17 chiều)

  • Tần số [ FREQ ]: Hàng năm [ A ]

  • Khu vực tham chiếu [ REF_AREA ]: Hoa Kỳ [ US ]

  • Chỉ báo [ CHỈ SỐ ]: Thực phẩm và đồ uống không cồn [ PCPIF_IX ]

  • Bộ dữ liệu gồm 69 quan sát và 3 biến:

    • TIME_PERIOD: năm -> gd

    • A.US.PCPIF_IX: giá trị thực phẩm và đồ uống không cồn -> gt

    • Thời kỳ tham chiếu: năm gốc lấy giá trị tham chiếu -> tc


skim(z)
Data summary
Name z
Number of rows 69
Number of columns 3
_______________________
Column type frequency:
character 3
________________________
Group variables None

Variable type: character

skim_variable n_missing complete_rate min max empty n_unique whitespace
gd 0 1 4 4 0 69 0
gt 0 1 3 16 0 69 0
tc 0 1 5 5 0 1 0
  • min: 13.672; max:140,32; mean:60.011 ; σ:37.094
LS0tDQp0aXRsZTogIm5oaeG7h20gduG7pSA2Ig0KYXV0aG9yOiAicG5taW5oY2hhdSINCmRhdGU6ICIyMDI0LTAzLTE0Ig0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50Og0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICB0b2M6IHRydWUNCiAgICBudW1iZXIgc2VjdGlvbjogdHJ1ZQ0KICAgIHRvY19mbG9hdDogdHJ1ZQ0KICAgIGhpZ2hsaWdodDogdGFuZ28NCiAgICBudW1iZXJfc2VjdGlvbnM6IHRydWUNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCmtuaXRyOjpvcHRzX2NodW5rJHNldChjbGFzcy5zb3VyY2U9Im51bWJlckxpbmVzIGxpbmVBbmNob3JzIikNCmBgYA0KDQoiYHIgZm9ybWF0KFN5cy50aW1lKCksJyVIOiVNOiVTLCAlZCAtICVtIC0gJVknKWAiICANCioqKg0KDQojICoqR2nhu5tpIHRoaeG7h3UgduG7gSBoYWkgaW5kaWNhdG9yLioqDQoNCiMjICoqQkcuR1NSLk5GU1YuR0QuWlMgdHLDrWNoIHh14bqldCB04burIFdvcmxkIGJhbmsuKiogIA0KDQoqKioNCiogU+G7rSBk4bulbmcgaMOgbSBXRElzZWFyY2ggxJHhu4MgdMOsbSBraeG6v20gY8OhYyBjaOG7iSBiw6FvIGxpw6puIHF1YW4gxJHhur9uICoqInRoxrDGoW5nIG3huqFpIiAodHJhZGUpKiogdHJvbmcgY8ahIHPhu58gZOG7ryBsaeG7h3UgV29ybGQgRGV2ZWxvcG1lbnQgSW5kaWNhdG9ycyAoV0RJKS4gIA0KDQoqIEjDoG0gbsOgeSBjw7MgdGjhu4MgdHLhuqMgduG7gSBt4buZdCBkYXRhIGZyYW1lIGNo4bupYSB0aMO0bmcgdGluIHbhu4EgY8OhYyBjaOG7iSBiw6FvIGxpw6puIHF1YW4sIGNo4bqzbmcgaOG6oW4gbmjGsCB0w6puLCBtw7QgdOG6oyB2w6AgbcOjIMSR4buLbmggZGFuaCBj4bunYSBjaMO6bmcuICANCg0KKiBL4bq/dCBxdeG6oyB0w6xtIGtp4bq/bSDEkcaw4bujYyBsxrB1IHRy4buvIHRyb25nIGJp4bq/biAqKngqKi4gICANCg0KKiBT4butIGThu6VuZyBow6BtIHdyaXRlLmNzdiDEkeG7gyB4deG6pXQgZGF0YSBmcmFtZSAqKngqKiBzYW5nIHThu4dwIENTViAoQ29tbWEtU2VwYXJhdGVkIFZhbHVlcykgY8OzIHTDqm4geC5jc3YuDQpU4buHcCBDU1YgbsOgeSBz4bq9IMSRxrDhu6NjIGzGsHUgdHLhu68g4bufIHbhu4sgdHLDrSBoaeG7h24gdOG6oWkgdHJvbmcgUi4gIA0KDQoqIFPhu60gZOG7pW5nIGjDoG0gV0RJIMSR4buDIHRydXkgeHXhuqV0IGThu68gbGnhu4d1IGNobyBt4buZdCBjaOG7iSBiw6FvIGPhu6UgdGjhu4MgdOG7qyBjxqEgc+G7nyBk4buvIGxp4buHdSBXREkuICAgIA0KDQoqIGluZGljYXRvcjogTcOjIMSR4buLbmggZGFuaCBj4bunYSBjaOG7iSBiw6FvIGLhuqFuIG114buRbiB04bqjaSB4deG7kW5nLiBUcm9uZyB0csaw4budbmcgaOG7o3AgbsOgeSwgbcOjIGzDoCAiQkcuR1NSLk5GU1YuR0QuWlMiLiAgDQoNCiogY291bnRyeTogTeG7mXQgdmVjdMahIGNo4bupYSB0w6puIGPDoWMgcXXhu5FjIGdpYSBi4bqhbiBtdeG7kW4gbOG6pXkgZOG7ryBsaeG7h3UuIFRyb25nIHRyxrDhu51uZyBo4bujcCBuw6B5LCB2ZWN0xqEgY2jhu4kgY2jhu6lhIG3hu5l0IHBo4bqnbiB04butIGzDoCAiVVNBIi4gIA0KDQoqIEjDoG0gV0RJIHPhur0gdHLhuqMgduG7gSBt4buZdCBkYXRhIGZyYW1lIGNo4bupYSBk4buvIGxp4buHdSB0aOG7sWMgdOG6vyBjaG8gY2jhu4kgYsOhbyDEkcaw4bujYyBjaOG7iSDEkeG7i25oIHbDoCBxdeG7kWMgZ2lhIMSRxrDhu6NjIGNo4buNbi4gIA0KDQoNCg0KYGBge3IscmNobz1UUlVFfQ0KbGlicmFyeShXREkpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShEVCkNCnggPC0gV0RJc2VhcmNoKCd0cmFkZScpDQp3cml0ZS5jc3YoeCwneC5jc3YnKQ0KcG1jIDwtIFdESShpbmRpY2F0b3IgPSAnQkcuR1NSLk5GU1YuR0QuWlMnLGNvdW50cnkgPSBjKCdVU0EnKSkNCmRhdGF0YWJsZShwbWMpDQpgYGANCg0KQ2hpIHRp4bq/dCB24buBIGluZGljYXRvcjogIA0KDQoqIFTDqm4gY8ahIHPhu58gZOG7ryBsaeG7h3U6CVRoxrDGoW5nIG3huqFpIGThu4tjaCB24bulICglIEdEUCApLiAgDQoNCiogQkcuR1NSLk5GU1YuR0QuWlM6CVF14bu5IFRp4buBbiB04buHIFF14buRYyB04bq/LCBOacOqbiBnacOhbSBUaOG7kW5nIGvDqiBDw6FuIGPDom4gVGhhbmggdG/DoW4gdsOgIGPDoWMgdOG7h3AgZOG7ryBsaeG7h3UgY8WpbmcgbmjGsCDGsOG7m2MgdMOtbmggR0RQIGPhu6dhIE5nw6JuIGjDoG5nIFRo4bq/IGdp4bubaSB2w6AgT0VDRCAuICANCg0KKiBNacOqdSB04bqjOglUaMawxqFuZyBt4bqhaSBk4buLY2ggduG7pSBsw6AgdOG7lW5nIHh14bqldCBraOG6qXUgdsOgIG5o4bqtcCBraOG6qXUgZOG7i2NoIHbhu6UgY2hpYSBjaG8gZ2nDoSB0cuG7iyBHRFAgLCB04bqldCBj4bqjIMSR4buBdSB0w61uaCBi4bqxbmcgxJHDtCBsYSBN4bu5IGhp4buHbiB04bqhaS4NCg0KKiBOZ3Xhu5NuIDogIFF14bu5IFRp4buBbiB04buHIFF14buRYyB04bq/LCBOacOqbiBnacOhbSBUaOG7kW5nIGvDqiBDw6FuIGPDom4gVGhhbmggdG/DoW4gdsOgIGPDoWMgdOG7h3AgZOG7ryBsaeG7h3UsIHbDoCDGsOG7m2MgdMOtbmggR0RQIGPhu6dhIE5nw6JuIGjDoG5nIFRo4bq/IGdp4bubaSB2w6AgT0VDRC4gIA0KDQoqIEdp4bqleSBwaMOpcCA6ICBDQyBCWS00LjAgICANCg0KKiBQaMawxqFuZyBwaMOhcCB04buVbmcgaOG7o3AgZOG7ryBsaeG7h3UgOiBCw6xuaCBxdcOibiBnaWEgcXV54buBbi4gIA0KDQoqIE5o4bqtbiB4w6l0IGNodW5nIDogTMawdSDDvTogROG7ryBsaeG7h3UgxJHGsOG7o2MgZOG7sWEgdHLDqm4g4bqlbiBi4bqjbiB0aOG7qSBzw6F1IGPhu6dhIEPhuqltIG5hbmcgQ8OhbiBjw6JuIFRoYW5oIHRvw6FuIChCUE02KSBj4bunYSBJTUYgdsOgIGNo4buJIGPDsyBz4bq1biB04burIG7Eg20gMjAwNSB0cuG7nyDEkWkuICANCg0KKiDEkOG7i25oIGvhu7MgOiBIw6BuZyBuxINtLiAgDQoNCiogQ2jhu6cgxJHhu4EgOiBDaMOtbmggc8OhY2gga2luaCB04bq/ICYgTuG7ozogQ8OhbiBjw6JuIHRoYW5oIHRvw6FuOiBUw6BpIGtob+G6o24gdsOjbmcgbGFpOiBIw6BuZyBow7NhLCBk4buLY2ggduG7pSAmIHRodSBuaOG6rXAuIA0KDQoqKioNCiogQuG7mSBk4buvIGxp4buHdSBjw7MgNjMgcXVhbiBzw6F0IHbDoCA1IGJp4bq/bjogIA0KICANCiAgKyBDb3VudHJ5OiBraHUgduG7sWMgDQogIA0KICArIGlzbzJjOiBtw6MgcXXhu5FjIGdpYSB0cm9uZyBi4buZIGThu68gbGnhu4d1LiAgDQogIA0KICArIGlzbzNjOiB0w6puIHF14buRYyBnaWEuICANCiAgDQogICsgeWVhcjogbsSDbSBj4bunYSBt4buXaSBxdWFuIHPDoXQuICANCiAgDQogICsgQkcuR1NSLk5GU1YuR0QuWlM6IGdpw6EgdHLhu4sgdGjGsMahbmcgbeG6oWkgZOG7i2NoIHbhu6UgdGhlbyAlIEdEUC4gIA0KDQoqIEdpw6FpIHRy4buLIG5o4buPIG5o4bqldCBj4bunYSB0aMawxqFuZyBt4bqhaSBk4buLY2ggduG7pSB0aGVvICUgR0RQIGzDoCAyLjM4LCBraMO0bmcgY8OybiBnacOhIHRy4buLIG7DoG8gbmjhu48gaMahbiAyLjM4JS4gICAgDQoNCiogR2nDoSB0cuG7iyBs4bubbiBuaOG6pXQ6IDcuMTUsIHThu6ljIGzDoCBraMO0bmcgY8OybiBnacOhIHRy4buLIG7DoG8gbOG7m24gaMahbiA3LjE1JS4gIA0KDQoqIEPDsyAyNSUgc+G7kSBnacOhIHRy4buLIG5o4buPIGjGoW4gMy4zNCUocDI1KS4gDQoNCiogNTAlIHPhu5EgbMaw4bujbmcgY8OhYyBnacOhIHRy4buLIG5o4buPIGjGoW4gNC43NyUocDUwKS4gIA0KDQoqIEPDsyA3NSUgc+G7kSBsxrDhu6NuZyBjw6FjIGdpw6EgdHLhu4sgbmjhu48gaMahbiA2LjA5JSAocDc1KS4gIA0KDQoNCioqKg0KYGBge3IsZWNobz1UUlVFfQ0KbGlicmFyeShza2ltcikNCnNraW0ocG1jKQ0KYGBgDQoNCiMjICoqUENQSUZfSVggdHLDrWNoIHThu6sgSU1GKioNCg0KKioqDQoqIFPhu60gZOG7pW5nIGjDoG0gbGlzdF9kYXRhc2V0cyDEkeG7gyBsaeG7h3Qga8OqIHThuqV0IGPhuqMgY8OhYyB04bqtcCBk4buvIGxp4buHdSBjw7Mgc+G6tW4gdHJvbmcgQVBJIGThu68gbGnhu4d1IElNRi4gQmnhur9uIGltZiBz4bq9IGzGsHUgdHLhu68ga+G6v3QgcXXhuqMsIGPDsyB0aOG7gyBsw6AgbeG7mXQgZGF0YSBmcmFtZSBjaOG7qWEgdGjDtG5nIHRpbiB24buBIGPDoWMgdOG6rXAgZOG7ryBsaeG7h3UgbmjGsCB0w6puLCBtw7QgdOG6oyB2w6AgbcOjIMSR4buLbmggZGFuaC4gIA0KDQoqIFPhu60gZOG7pW5nIGjDoG0gbG9hZF9kYXRhc2V0cyAoZ2nhuqMgc+G7rSDEkcaw4bujYyBjdW5nIGPhuqVwIGLhu59pIHRoxrAgdmnhu4duKSDEkeG7gyB04bqjaSB4deG7kW5nIHThuq1wIGThu68gbGnhu4d1IGPhu6UgdGjhu4MgbGnDqm4gcXVhbiDEkeG6v24gQ2jhu4kgc+G7kSBnacOhIHRpw6p1IGTDuW5nIChDUEkpLiBCaeG6v24gbCBz4bq9IGzGsHUgdHLhu68gZOG7ryBsaeG7h3UgxJHDoyB04bqjaSB4deG7kW5nLiAgDQoNCiogU+G7rSBk4bulbmcgZ2V0X3NlcmllcyDEkeG7gyB0csOtY2ggeHXhuqV0IG3hu5l0IGNodeG7l2kgduG7m2kgY8OhYyDEkeG6t2MgxJFp4buDbSBzYXU6ICANCg0KICArICoqZnJlcT0nQScqKjogQ2jhu41uIGThu68gbGnhu4d1IGPDsyB04bqnbiBzdeG6pXQgaMOgbmcgbsSDbS4gIA0KICANCiAgKyAqKnJlZl9hcmVhPSdVUycqKjogQ2jhu41uIGThu68gbGnhu4d1IGNobyBraHUgduG7sWMgdGhhbSBraOG6o28gIlVTIiAoY8OzIHRo4buDIGzDoCBIb2EgS+G7sykuICANCiAgDQogICsgKippbmRpY2F0b3I9J1BDUElGX0lYJyoqOiBNw6MgY2jhu4kgYsOhbyBj4bulIHRo4buDIHRyb25nIHThuq1wIGThu68gbGnhu4d1IENQSSBtw6AgYuG6oW4gbXXhu5FuIHRydXkgeHXhuqV0LiBLaMOzIHjDoWMgxJHhu4tuaCBjaMOtbmggeMOhYyDDvSBuZ2jEqWEgY+G7p2EgbcOjIG7DoHkgbcOgIGtow7RuZyBjw7MgdMOgaSBsaeG7h3UgQVBJIGThu68gbGnhu4d1IElNRiwgbmjGsG5nIG7DsyBjw7MgdGjhu4MgbGnDqm4gcXVhbiDEkeG6v24gbeG7mXQgY2jhu4kgc+G7kSBnacOhIGPhu6UgdGjhu4MgdHJvbmcgZOG7ryBsaeG7h3UgQ1BJLiAgDQogIA0KICArIEJp4bq/biAqKnoqKiBz4bq9IGzGsHUgdHLhu68gZGF0YSBmcmFtZSBob+G6t2MgY+G6pXUgdHLDumMgZOG7ryBsaeG7h3Uga2jDoWMgY2jhu6lhIGNodeG7l2kgY+G7pSB0aOG7gyBi4bqhbiDEkcOjIHnDqnUgY+G6p3UuICANCg0KYGBge3IsZWNobz1UUlVFfQ0KbGlicmFyeShpbWYuZGF0YSkNCmltZiA8LSBsaXN0X2RhdGFzZXRzKCkNCmwgPC0gbG9hZF9kYXRhc2V0cygnQ1BJJykNCnogPC1sJGdldF9zZXJpZXMoZnJlcT0nQScsIHJlZl9hcmVhPSdVUycsIGluZGljYXRvcj0nUENQSUZfSVgnKQ0KbmFtZXMoeikgPC0gYygnZ2QnLCdndCcsJ3RjJykNCmRhdGF0YWJsZSh6KQ0KYGBgDQoNCioqQ2hpIHRp4bq/dCB24buBIGLhu5kgZOG7ryBsaeG7h3U6KiogICANCg0KKiBuaMOgIGN1bmcgY+G6pXA6ICoqUXXhu7kgVGnhu4FuIHThu4cgUXXhu5FjIHThur8qKiAgDQoNCiogVOG6rXAgZOG7ryBsaeG7h3U6ICoqQ2jhu4kgc+G7kSBnacOhIHRpw6p1IGTDuW5nIChDUEkpKiogIA0KDQoqIE3DoyBzw6otcjogWyBJTUYvQ1BJL0EuVVMuUENQSUZfSVggXSAgDQoNCiogxJDDoyBj4bqtcCBuaOG6rXQgdHLDqm4gREJub21pY3MgdsOgbzogTmfDoHkgMTQgdGjDoW5nIDMgbsSDbSAyMDI0ICgzOjE3IGNoaeG7gXUpICANCg0KKiBU4bqnbiBz4buRIFsgRlJFUSBdOiAqKkjDoG5nIG7Eg20gWyBBIF0qKiAgDQoNCiogS2h1IHbhu7FjIHRoYW0gY2hp4bq/dSBbIFJFRl9BUkVBIF06ICoqSG9hIEvhu7MgWyBVUyBdKiogIA0KDQoqIENo4buJIGLDoW8gWyBDSOG7iCBT4buQIF06ICoqVGjhu7FjIHBo4bqpbSB2w6AgxJHhu5MgdeG7kW5nIGtow7RuZyBj4buTbiBbIFBDUElGX0lYIF0qKiAgDQoNCiogQuG7mSBk4buvIGxp4buHdSBn4buTbSAqKjY5KiogcXVhbiBzw6F0IHbDoCAqKjMqKiBiaeG6v246ICANCg0KICArIFRJTUVfUEVSSU9EOiBuxINtIC0+ICoqZ2QqKiAgDQogIA0KICArIEEuVVMuUENQSUZfSVg6IGdpw6EgdHLhu4sgdGjhu7FjIHBo4bqpbSB2w6AgxJHhu5MgdeG7kW5nIGtow7RuZyBj4buTbiAtPiAqKmd0KiogIA0KICANCiAgKyBUaOG7nWkga+G7syB0aGFtIGNoaeG6v3U6IG7Eg20gZ+G7kWMgbOG6pXkgZ2nDoSB0cuG7iyB0aGFtIGNoaeG6v3UgLT4gKip0YyoqICANCiAgDQoNCioqKg0KDQpgYGB7cixlY2hvPVRSVUV9DQpza2ltKHopDQpgYGANCg0KKiAqKm1pbjogMTMuNjcyOyBtYXg6MTQwLDMyOyBtZWFuOjYwLjAxMSA7IM+DOjM3LjA5NCoqICANCg0KDQo=