Indkomst
Personindkomst
INXPI302_raw <-
statgl_url("INXPI302", lang = language) %>%
statgl_fetch(
unit = 0,
"place of birth" = px_all(),
"income interval" = px_all(),
time = px_top(),
.col_code = TRUE
) %>%
as_tibble()
INXPI302 <-
INXPI302_raw %>%
mutate(
`place of birth` = `place of birth` %>% fct_inorder,
`income interval` = `income interval` %>% fct_inorder
) %>%
spread(`place of birth`, value) %>%
unite(combi, unit, time, sep = ", ") %>%
mutate_if(is.integer, ~replace(., is.na(.), 0))
INXPI302 %>%
select(-combi) %>%
rename(" " = 1) %>%
statgl_table(replace_0s = TRUE) %>%
pack_rows(index = INXPI302[["combi"]] %>% table()) %>%
row_spec(1, bold = TRUE)
|
I alt
|
Født i Grønland
|
Født uden for Grønland
|
Personer i gruppen (antal), 2022
|
Alle
|
42.703
|
38.138
|
4.565
|
50.000 kr. eller mindre
|
5.161
|
4.504
|
657
|
50.001 - 100.000 kr.
|
4.043
|
3.910
|
133
|
100.001 - 200.000 kr.
|
10.931
|
10.515
|
416
|
200.001 - 300.000 kr.
|
7.249
|
6.771
|
478
|
300.001 - 400.000 kr.
|
5.723
|
5.112
|
611
|
400.001 - 500.000 kr.
|
4.004
|
3.416
|
588
|
500.001 - 600.000 kr.
|
2.216
|
1.728
|
488
|
600.001 - 700.000 kr.
|
1.200
|
850
|
350
|
700.001 - 800.000 kr.
|
679
|
453
|
226
|
800.001 - 900.000 kr.
|
382
|
236
|
146
|
900.001 - 1.000.000 kr.
|
269
|
170
|
99
|
Mere end 1.000.000 kr.
|
846
|
473
|
373
|
Se Statistikbankens tabel: INXPI302
INXPI501_raw <-
statgl_url("INXPI501", lang = language) %>%
statgl_fetch(
unit = px_all(),
time = px_top(),
"type of income" = px_all(),
.col_code = TRUE
) %>%
as_tibble()
INXPI501 <-
INXPI501_raw %>%
mutate(
unit = unit %>% fct_inorder,
`type of income` = `type of income` %>% fct_inorder
) %>%
spread(unit, value)
INXPI501 %>%
select(-time) %>%
rename(" " = 1) %>%
statgl_table() %>%
pack_rows(index = INXPI501[["time"]] %>% table())
|
Nominel indkomst
|
Realindkomst
|
2022
|
Indkomst i alt før skat
|
279.543
|
234.250
|
Skattepligtig indkomst
|
269.246
|
225.621
|
Disponibel indkomst
|
180.011
|
150.844
|
Se Statistikbankens tabel: INXPI501
Indkomstulighed
INXIU101_raw <-
statgl_url("INXIU101", lang = language) %>%
statgl_fetch(
indicator = px_all(),
time = px_top(5),
.col_code = TRUE
) %>%
as_tibble()
INXIU101 <-
INXIU101_raw %>%
mutate(
indicator = indicator %>% fct_inorder,
time = time %>% fct_inorder %>% fct_rev()
) %>%
spread(time, value)
INXIU101 %>%
rename(" " = 1) %>%
statgl_table()
|
2022
|
2021
|
2020
|
2019
|
2018
|
Gini-koefficient
|
34,5
|
34,0
|
34,9
|
34,6
|
34,9
|
S80/20
|
5,5
|
5,3
|
5,5
|
5,3
|
5,4
|
Relativ fattigdom. 40 pct.-grænse
|
7,6
|
6,9
|
7,1
|
6,4
|
6,5
|
Relativ fattigdom. 50 pct.-grænse
|
12,0
|
11,6
|
11,4
|
10,5
|
10,5
|
Relativ fattigdom. 60 pct.-grænse
|
18,4
|
17,8
|
17,9
|
16,8
|
16,4
|
Se Statistikbankens tabel: INXIU101
Skattestatistik
INXSS101_raw <-
statgl_url("INXSS101", lang = language) %>%
statgl_fetch(
"tax municipality" = px_all(),
unit = px_all(),
time = px_top(),
.col_code = TRUE
) %>%
as_tibble()
INXSS101 <-
INXSS101_raw %>%
filter(value != "NA") %>%
mutate(
unit = unit %>% fct_inorder,
`tax municipality` = `tax municipality` %>% fct_inorder
) %>%
spread(unit, value)
INXSS101 %>%
select(-time) %>%
rename(" " = 1) %>%
statgl_table() %>%
pack_rows(index = INXSS101[["time"]] %>% table()) %>%
row_spec(1, bold = TRUE)
|
Skattepligtige personer (antal)
|
Samlet skattepligtig indkomst (mio. kr.)
|
Samlet indkomstskat (mio. kr.)
|
2022
|
Hele landet
|
49.382
|
13.392
|
4.825
|
Kommune Kujalleq
|
5.328
|
1.180
|
419
|
Kommuneqarfik Sermersooq
|
21.472
|
6.804
|
2.493
|
Qeqqata Kommunia
|
7.837
|
1.983
|
697
|
Kommune Qeqertalik
|
5.126
|
1.082
|
379
|
Avannaata Kommunia
|
9.126
|
2.049
|
737
|
Udenfor kommunal inddeling
|
502
|
294
|
100
|
Se Statistikbankens tabel: INXSS101
Sidst opdateret: 17. april
2024
LS0tDQpwYXJhbXM6DQogIGxhbmc6ICJkYSINCm91dHB1dDoNCiAgc3RhdGdsOjpzdGF0Z2xfcmVwb3J0Og0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUNCmVkaXRvcl9vcHRpb25zOiANCiAgY2h1bmtfb3V0cHV0X3R5cGU6IGNvbnNvbGUNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCg0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KA0KCWVjaG8gICAgPSBUUlVFLA0KCW1lc3NhZ2UgPSBGQUxTRSwNCgl3YXJuaW5nID0gRkFMU0UsDQoJY2xhc3Mub3V0cHV0ID0gInNjcm9sbC0xMDAiDQopDQoNCmxpYnJhcnkoInRpZHl2ZXJzZSIpDQpsaWJyYXJ5KCJzdGF0Z2wiKQ0KbGlicmFyeSgia2FibGVFeHRyYSIpDQpsaWJyYXJ5KCJsdWJyaWRhdGUiKQ0KbGlicmFyeSgieWFtbCIpDQoNCmxhbmd1YWdlICA8LSBwYXJhbXMkbGFuZw0Kb3B0aW9uICAgIDwtIHBhc3RlMCgiP2xhbmc9IiwgbGFuZ3VhZ2UsICImc2VsZWN0IikNCmxvZ28gICAgICA8LSBwYXN0ZTAoZ2V0d2QoKSwiL2FkZC9sb2dvLmdpZiIpDQp0eHQgICAgICAgPC0gcmVhZF95YW1sKHBhc3RlMChnZXR3ZCgpLCAiL2FkZC90eHQueW1sIiksIGZpbGVFbmNvZGluZyA9ICJJU08tODg1OS0xIikNCnNvdXJjZSAgICA8LSB0eHQkc291cmNlW2xhbmd1YWdlXSAlPiUgdW5saXN0KCkNCg0KeGFyaW5nYW5FeHRyYTo6dXNlX2NsaXBib2FyZCgpDQoNCmBgYA0KDQpgYGB7Y3NzLCBlY2hvID0gRkFMU0V9DQoNCi5hY2NvcmRpb24gew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTE5OTAwOw0KICBjb2xvcjogd2hpdGU7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgcGFkZGluZzogMThweDsNCiAgd2lkdGg6IDEwMCU7DQogIGJvcmRlcjogbm9uZTsNCiAgYm9yZGVyLXJhZGl1czogNXB4Ow0KICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICBvdXRsaW5lOiBub25lOw0KICBmb250LXNpemU6IDE1cHg7DQogIHRyYW5zaXRpb246IDAuNHM7DQp9DQoNCi5hY3RpdmUsIC5hY2NvcmRpb246aG92ZXIgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjk3MjQyOw0KfQ0KDQouYWNjb3JkaW9uOmFmdGVyIHsNCiAgY29udGVudDogJ1wwMDJCJzsNCiAgY29sb3I6ICM3Nzc7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KICBmbG9hdDogcmlnaHQ7DQogIG1hcmdpbi1sZWZ0OiA1cHg7DQp9DQoNCi5hY3RpdmU6YWZ0ZXIgew0KICBjb250ZW50OiAiXDIyMTIiOw0KfQ0KDQoucGFuZWwgew0KICBwYWRkaW5nOiAwcHggNXB4IDBweCA1cHg7DQogIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOw0KICBtYXgtaGVpZ2h0OiAwOw0KICBvdmVyZmxvdzogaGlkZGVuOw0KICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMnMgZWFzZS1vdXQ7DQp9DQoNCmRldGFpbHMgew0KICB3aWR0aDogMTAwJTsNCn0NCg0KZGV0YWlscyA+IHN1bW1hcnkgew0KICBwYWRkaW5nOiA0cHggMTJweDsNCiAgd2lkdGg6IDEwMCU7DQogIGJhY2tncm91bmQtY29sb3I6ICMwMDdmOTk7DQogIGJvcmRlcjogc29saWQ7DQogIGJvcmRlci1jb2xvcjogd2hpdGU7DQogIGJvcmRlci1yYWRpdXM6IDVweDsNCiAgY3Vyc29yOiBwb2ludGVyOw0KICBmb250LXNpemU6IDE1cHg7DQogIGNvbG9yOiB3aGl0ZTsNCn0NCg0KZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnkgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFhNDFhOw0KfQ0KDQoNCi50aXRsZSB7DQogIGNvbG9yOiAjMWI1NDYzOw0KICBmb250LXNpemU6IDM2cHg7DQp9DQoNCg0KLnBlcnNvbmVyIHsNCiAgYm94LXNoYWRvdzogM3B4IDNweCA0cHggYmxhY2s7DQogIGJhY2tncm91bmQ6ICMwMDQ0NTk7DQogIHBhZGRpbmctcmlnaHQ6IDE1cHg7DQogIHBhZGRpbmctbGVmdDogMTZweDsNCiAgcGFkZGluZy10b3A6IDAuMXB4Ow0KICBwYWRkaW5nLWJvdHRvbTogMXB4Ow0KICBmb250LXNpemU6IDExcHg7DQogIGNvbG9yOiB3aGl0ZTsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCn0NCg0KLsO4a29ub21pIHsNCiAgYm94LXNoYWRvdzogM3B4IDNweCA0cHggYmxhY2s7DQogIGJhY2tncm91bmQ6ICMwMDdGOTk7DQogIHBhZGRpbmctcmlnaHQ6IDE1cHg7DQogIHBhZGRpbmctbGVmdDogMTZweDsNCiAgcGFkZGluZy10b3A6IDFweDsNCiAgcGFkZGluZy1ib3R0b206IDAuMXB4Ow0KICBmb250LXNpemU6IDExcHg7DQogIGNvbG9yOiB3aGl0ZTsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCn0NCg0KLnR2w6ZyZ8OlZW5kZSB7DQogIGJveC1zaGFkb3c6IDNweCAzcHggNHB4IGJsYWNrOw0KICBiYWNrZ3JvdW5kOiAjZmFhNDFhOw0KICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICBwYWRkaW5nLWxlZnQ6IDE2cHg7DQogIHBhZGRpbmctdG9wOiAwLjFweDsNCiAgcGFkZGluZy1ib3R0b206IDFweDsNCiAgZm9udC1zaXplOiAxMXB4Ow0KICBjb2xvcjogd2hpdGU7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQp9DQoNCi5jb250YWluZXIgew0KICB3aWR0aDogaW5oZXJpdDsNCn0NCg0KLnNjcm9sbC0xMDAgew0KICBtYXgtaGVpZ2h0OiAxMDA7DQogIG92ZXJmbG93LXk6IGF1dG87DQogIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7DQp9DQoNCg0KcHJlIHsNCiAgbWF4LWhlaWdodDogMzAwcHg7DQogIG92ZXJmbG93LXk6IGF1dG87DQp9DQoNCnByZVtjbGFzc10gew0KICBtYXgtaGVpZ2h0OiAzMDBweDsNCn0NCg0KYGBgDQoNCjxicj4NCjxicj4NCg0KPGNlbnRlcj4NCg0KLS0tDQogDQojIFtgciB0eHQkSU4kdGl0bGVbbGFuZ3VhZ2VdYF17LnRpdGxlfQ0KIA0KLS0tDQo8L2NlbnRlcj4NCg0KPGRldGFpbHM+IDxzdW1tYXJ5PiBgciB0eHQkSU4kc3ViMVtsYW5ndWFnZV1gIDwvc3VtbWFyeT4gDQo8YnI+DQogDQoNCjxidXR0b24gY2xhc3M9ImFjY29yZGlvbiI+IGByIHBhc3RlMCgiKipUYWJlbCAxOiAqKiIsIHN0YXRnbF9tZXRhKHN0YXRnbF91cmwoIklOWFBJMzAyIiwgbGFuZyA9IGxhbmd1YWdlKSlbMV0kdGl0bGUpIGAgPC9idXR0b24+IDxkaXYgY2xhc3M9InBhbmVsIj4NCg0KYGBge3IgSU5YUEkzMDJ9DQoNCklOWFBJMzAyX3JhdyA8LSANCiAgc3RhdGdsX3VybCgiSU5YUEkzMDIiLCBsYW5nID0gbGFuZ3VhZ2UpICU+JSANCiAgc3RhdGdsX2ZldGNoKA0KICAgIHVuaXQgICAgICAgICAgICAgID0gMCwNCiAgICAicGxhY2Ugb2YgYmlydGgiICA9IHB4X2FsbCgpLA0KICAgICJpbmNvbWUgaW50ZXJ2YWwiID0gcHhfYWxsKCksDQogICAgdGltZSAgICAgICAgICAgICAgPSBweF90b3AoKSwNCiAgICAuY29sX2NvZGUgICAgICAgICA9IFRSVUUNCiAgKSAlPiUgDQogIGFzX3RpYmJsZSgpDQoNCklOWFBJMzAyIDwtIA0KICBJTlhQSTMwMl9yYXcgJT4lIA0KICBtdXRhdGUoDQogICAgYHBsYWNlIG9mIGJpcnRoYCAgPSBgcGxhY2Ugb2YgYmlydGhgICU+JSBmY3RfaW5vcmRlciwNCiAgICBgaW5jb21lIGludGVydmFsYCA9IGBpbmNvbWUgaW50ZXJ2YWxgICU+JSBmY3RfaW5vcmRlcg0KICApICU+JSANCiAgc3ByZWFkKGBwbGFjZSBvZiBiaXJ0aGAsIHZhbHVlKSAlPiUgDQogIHVuaXRlKGNvbWJpLCB1bml0LCB0aW1lLCBzZXAgPSAiLCAiKSAlPiUNCiAgbXV0YXRlX2lmKGlzLmludGVnZXIsIH5yZXBsYWNlKC4sIGlzLm5hKC4pLCAwKSkNCiAgDQoNCklOWFBJMzAyICU+JSANCiAgc2VsZWN0KC1jb21iaSkgJT4lIA0KICByZW5hbWUoIiAiID0gMSkgJT4lIA0KICBzdGF0Z2xfdGFibGUocmVwbGFjZV8wcyA9IFRSVUUpICU+JSANCiAgcGFja19yb3dzKGluZGV4ID0gSU5YUEkzMDJbWyJjb21iaSJdXSAlPiUgdGFibGUoKSkgJT4lIA0KICByb3dfc3BlYygxLCBib2xkID0gVFJVRSkNCg0KYGBgDQo8YnI+DQpbIVtdKGByIGxvZ29gKXt3aWR0aD00MH1gciBwYXN0ZShzb3VyY2UsICJJTlhQSTMwMiIpYF0oYHIgcGFzdGUwKCJodHRwczovL2Jhbmsuc3RhdC5nbDo0NDMvc3EvN2QyMzUxNTUtZDdhZS00ODRjLTljNWUtZDIwNDg1NDUwN2ZiIiwgb3B0aW9uKWApe3RhcmdldD0iX2JsYW5rIn0NCjwvZGl2PiANCg0KDQoNCg0KDQo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPiBgciBwYXN0ZTAoIioqVGFiZWwgMjogKioiLCBzdGF0Z2xfbWV0YShzdGF0Z2xfdXJsKCJJTlhQSTUwMSIsIGxhbmcgPSBsYW5ndWFnZSkpWzFdJHRpdGxlKSBgIDwvYnV0dG9uPiA8ZGl2IGNsYXNzPSJwYW5lbCI+DQoNCmBgYHtyIElOWFBJNTAxfQ0KDQpJTlhQSTUwMV9yYXcgPC0gDQogIHN0YXRnbF91cmwoIklOWFBJNTAxIiwgbGFuZyA9IGxhbmd1YWdlKSAlPiUgDQogIHN0YXRnbF9mZXRjaCgNCiAgICB1bml0ICAgICAgICAgICAgID0gcHhfYWxsKCksDQogICAgdGltZSAgICAgICAgICAgICA9IHB4X3RvcCgpLA0KICAgICJ0eXBlIG9mIGluY29tZSIgPSBweF9hbGwoKSwNCiAgICAuY29sX2NvZGUgICAgICAgID0gVFJVRQ0KICApICU+JSANCiAgYXNfdGliYmxlKCkNCg0KSU5YUEk1MDEgPC0gDQogIElOWFBJNTAxX3JhdyAlPiUgDQogIG11dGF0ZSgNCiAgICB1bml0ICAgICAgICAgICAgID0gdW5pdCAlPiUgZmN0X2lub3JkZXIsDQogICAgYHR5cGUgb2YgaW5jb21lYCA9IGB0eXBlIG9mIGluY29tZWAgJT4lIGZjdF9pbm9yZGVyDQogICkgJT4lIA0KICBzcHJlYWQodW5pdCwgdmFsdWUpDQoNCklOWFBJNTAxICU+JSANCiAgc2VsZWN0KC10aW1lKSAlPiUgDQogIHJlbmFtZSgiICIgPSAxKSAlPiUgDQogIHN0YXRnbF90YWJsZSgpICU+JSANCiAgcGFja19yb3dzKGluZGV4ID0gSU5YUEk1MDFbWyJ0aW1lIl1dICU+JSB0YWJsZSgpKQ0KDQpgYGANCjxicj4NClshW10oYHIgbG9nb2Ape3dpZHRoPTQwfWByIHBhc3RlKHNvdXJjZSwgIklOWFBJNTAxIilgXShgciBwYXN0ZTAoImh0dHBzOi8vYmFuay5zdGF0LmdsOjQ0My9zcS9lNDEzYWRkOC0xYzE3LTQ5ZGMtOWQxOS1hMTBjODRlYTQ1YTIiLCBvcHRpb24pYCl7dGFyZ2V0PSJfYmxhbmsifQ0KPC9kaXY+IA0KDQoNCjwvZGV0YWlscz4NCg0KDQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JElOJHN1YjNbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+IA0KPGJyPg0KPGJ1dHRvbiBjbGFzcz0iYWNjb3JkaW9uIj4gYHIgcGFzdGUwKCIqKlRhYmVsIDM6ICoqIiwgc3RhdGdsX21ldGEoc3RhdGdsX3VybCgiSU5YSVUxMDEiLCBsYW5nID0gbGFuZ3VhZ2UpKVsxXSR0aXRsZSkgYCA8L2J1dHRvbj4gPGRpdiBjbGFzcz0icGFuZWwiPg0KDQpgYGB7ciBJTlhJVTEwMX0NCg0KSU5YSVUxMDFfcmF3IDwtIA0KICBzdGF0Z2xfdXJsKCJJTlhJVTEwMSIsIGxhbmcgPSBsYW5ndWFnZSkgJT4lDQogIHN0YXRnbF9mZXRjaCgNCiAgICBpbmRpY2F0b3IgPSBweF9hbGwoKSwNCiAgICB0aW1lICAgICAgPSBweF90b3AoNSksDQogICAgLmNvbF9jb2RlID0gVFJVRQ0KICApICU+JSANCiAgYXNfdGliYmxlKCkNCg0KSU5YSVUxMDEgPC0gDQogIElOWElVMTAxX3JhdyAlPiUgDQogIG11dGF0ZSgNCiAgICBpbmRpY2F0b3IgPSBpbmRpY2F0b3IgJT4lIGZjdF9pbm9yZGVyLA0KICAgIHRpbWUgPSB0aW1lICU+JSBmY3RfaW5vcmRlciAlPiUgZmN0X3JldigpDQogICkgJT4lIA0KICBzcHJlYWQodGltZSwgdmFsdWUpDQoNCklOWElVMTAxICU+JSANCiAgcmVuYW1lKCIgIiA9IDEpICU+JSANCiAgc3RhdGdsX3RhYmxlKCkNCg0KYGBgDQo8YnI+DQpbIVtdKGByIGxvZ29gKXt3aWR0aD00MH1gciBwYXN0ZShzb3VyY2UsICJJTlhJVTEwMSIpYF0oYHIgcGFzdGUwKCJodHRwczovL2Jhbmsuc3RhdC5nbDo0NDMvc3EvZWNjMmY2ZTEtMzA2MC00NTk3LWI1NzEtZTU3NDEyOGYxMGU3Iiwgb3B0aW9uKWApe3RhcmdldD0iX2JsYW5rIn0NCjwvZGl2PiANCjwvZGV0YWlscz4gDQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JElOJHN1YjRbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+DQo8YnI+DQo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPiBgciAnKlRhYmVsIDQ6KiB7c3RhdGdsX21ldGEoZ2x1ZTo6Z2x1ZSgiaHR0cHM6Ly9iYW5rLnN0YXQuZ2wvYXBpL3YxL3tsYW5ndWFnZX0vR3JlZW5sYW5kL0lOL0lONTAvSU5YU1MxMDEucHgiKSkgfD4gcGx1Y2soInRpdGxlIil9JyB8PiBnbHVlOjpnbHVlKCkgYCA8L2J1dHRvbj4gPGRpdiBjbGFzcz0icGFuZWwiPg0KDQpgYGB7ciBBUlhMRUQ0fQ0KDQpJTlhTUzEwMV9yYXcgPC0gDQogIHN0YXRnbF91cmwoIklOWFNTMTAxIiwgbGFuZyA9IGxhbmd1YWdlKSAlPiUNCiAgc3RhdGdsX2ZldGNoKA0KICAgICJ0YXggbXVuaWNpcGFsaXR5IiA9IHB4X2FsbCgpLA0KICAgIHVuaXQgICAgICAgICAgICAgICA9IHB4X2FsbCgpLA0KICAgIHRpbWUgICAgICAgICAgICAgICA9IHB4X3RvcCgpLA0KICAgIC5jb2xfY29kZSAgICAgICAgICA9IFRSVUUNCiAgKSAlPiUgDQogIGFzX3RpYmJsZSgpDQoNCklOWFNTMTAxIDwtIA0KICBJTlhTUzEwMV9yYXcgJT4lIA0KICBmaWx0ZXIodmFsdWUgIT0gIk5BIikgJT4lIA0KICBtdXRhdGUoDQogICAgdW5pdCAgICAgICAgICAgICAgID0gdW5pdCAlPiUgZmN0X2lub3JkZXIsDQogICAgYHRheCBtdW5pY2lwYWxpdHlgID0gYHRheCBtdW5pY2lwYWxpdHlgICU+JSBmY3RfaW5vcmRlcg0KICApICU+JSANCiAgc3ByZWFkKHVuaXQsIHZhbHVlKQ0KDQpJTlhTUzEwMSAlPiUgDQogIHNlbGVjdCgtdGltZSkgJT4lIA0KICByZW5hbWUoIiAiID0gMSkgJT4lIA0KICBzdGF0Z2xfdGFibGUoKSAlPiUgDQogIHBhY2tfcm93cyhpbmRleCA9IElOWFNTMTAxW1sidGltZSJdXSAlPiUgdGFibGUoKSkgJT4lIA0KICByb3dfc3BlYygxLCBib2xkID0gVFJVRSkNCg0KYGBgDQo8YnI+DQpbIVtdKGByIGxvZ29gKXt3aWR0aD00MH1gciBwYXN0ZShzb3VyY2UsICJJTlhTUzEwMSIpYF0oYHIgcGFzdGUwKCJodHRwczovL2Jhbmsuc3RhdC5nbDo0NDMvc3EvM2JiM2U1MmMtODExZS00OGIzLTg3YzItZTc1NjA0MTNmYWM0Iiwgb3B0aW9uKWApe3RhcmdldD0iX2JsYW5rIn0NCjwvZGl2PiANCg0KPC9kZXRhaWxzPiANCg0KDQo8aHIgc3R5bGU9ImJvcmRlcjoxcHggcmlkZ2UgbGlnaHRncmF5Ij4gPC9ocj4NCjxjZW50ZXI+IDxzcGFuIHN0eWxlPSdjb2xvcjojRDNEM0QzOyBmb250LXNpemU6OTAlOyc+IGByIHBhc3RlKHR4dCR1cGRhdGVbbGFuZ3VhZ2VdLCBmb3JtYXQoU3lzLkRhdGUoKSwgIiVkLiAlQiAlWSIpKWAgPC9zcGFuPiA8L2NlbnRlcj4NCg0KDQoNCg0KPHNjcmlwdD4NCnZhciBhY2MgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJhY2NvcmRpb24iKTsNCnZhciBpOw0KDQpmb3IgKGkgPSAwOyBpIDwgYWNjLmxlbmd0aDsgaSsrKSB7DQogIGFjY1tpXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uKCkgew0KICAgIHRoaXMuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIik7DQogICAgdmFyIHBhbmVsID0gdGhpcy5uZXh0RWxlbWVudFNpYmxpbmc7DQogICAgaWYgKHBhbmVsLnN0eWxlLm1heEhlaWdodCkgew0KICAgICAgcGFuZWwuc3R5bGUubWF4SGVpZ2h0ID0gbnVsbDsNCiAgICB9IGVsc2Ugew0KICAgICAgcGFuZWwuc3R5bGUubWF4SGVpZ2h0ID0gcGFuZWwuc2Nyb2xsSGVpZ2h0ICsgInB4IjsNCiAgICB9IA0KICB9KTsNCn0NCjwvc2NyaXB0Pg0K