Income


Personal income


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)
Total Born in Greenland Born outside Greenland
Persons in the group (number), 2024
All 42.807 37.819 4.988
50,000 DKK or less 4.520 3.803 717
50,001 - 100,000 DKK 3.465 3.329 136
100,001 - 200,000 DKK 10.679 10.245 434
200,001 - 300,000 DKK 7.511 6.908 603
300,001 - 400,000 DKK 5.772 5.123 649
400,001 - 500,000 DKK 4.203 3.611 592
500,001 - 600,000 DKK 2.624 2.127 497
600,001 - 700,000 DKK 1.524 1.115 409
700,001 - 800,000 DKK 790 556 234
800,001 - 900,000 DKK 482 306 176
900,001 - 1,000,000 DKK 322 194 128
More than 1,000,001 DKK 915 502 413


See the table in our Statbank: 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())
Nominal income Real income
2024
Pre-tax income 300.227 238.290
Taxable income 287.888 228.496
Disposable income 191.379 151.897


See the table in our Statbank: INXPI501

Income Inequality
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()
2024 2023 2022 2021 2020
Gini coefficient 33,6 33,9 34,3 34,3 34,9
S80/20 5,2 5,4 5,5 5,8 5,5
At-risk-of-poverty rate. 40 per cent threshold 7,3 7,6 7,8 8,3 7,1
At-risk-of-poverty rate. 50 per cent threshold 11,5 12,0 12,1 13,0 11,4
At-risk-of-poverty rate. 60 per cent threshold 17,9 17,9 18,4 18,9 17,9


See the table in our Statbank: INXIU101

Tax statistics
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)
Number of tax payers Total taxable income (mio. DKK) Total income tax (mio. kr.)
2024
All Greenland 48.881 14.374 5.214
Kommune Kujalleq 5.198 1.291 458
Kommuneqarfik Sermersooq 21.508 7.377 2.729
Qeqqata Kommunia 7.737 2.152 767
Kommune Qeqertalik 5.011 1.106 375
Avannaata Kommunia 9.088 2.148 782
Outside municipalities 347 300 103


See the table in our Statbank: INXSS101


Last updated: 10. november 2025
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