Икономика/Отчети за изпълнение на бюджета

Дата на публикуване: 28.01.2016 15:32

Счетоводна политика на Община Угърчин
Месечен отчет на бюджет към 31.01.2016 г.

Месечен отчет на бюджет към 29.02.2016 г.
Месечен отчет на бюджет към 31.03.2016 г
Месечен отчет на бюджет към 30.04.2016 г.
Месечен отчет на бюджет към 31.05.2016 г.
Месечен отчет на бюджет към 30.06.2016 г.
Месечен отчет на бюджет към 31.07.2016 г.
Месечен отчет на бюджет към 31.08.2016 г.
Месечен отчет на бюджет към 30.09.2016 г.
Месечен отчет на бюджет към 31.10.2016 г.
Месечен отчет на бюджет към 30.11.2016 г.
Месечен отчет на бюджет към 31.12.2016 г.
Годишен финансов отчет на Община Угърчин за 2016 г.
Одитно становище за заверка на годишния финансов отчет на Община Угърчин за 2016 г.
Одитен доклад за резултатите от извършен финансов одит на Годишния финасов отчет на Община Угърчин за 2016г.

Месечни отчети 2017 год.
10.02.2017 г. Месечен отчет ва бюджета към 31.01.2017 г.
13.03.2017 г. Месечен отчет на бюджета към 28.02.2017 г.
13.04.2017 г. Месечен отчет на бюджета към 31.03.2017 г.
12.05.2017 г. Месечен отчет на бюджета към 30.04.2017 г.
12.06.2017 г. Месечен отчет на бюджета към 31.05.2017 г.
12.07.2017 г. Месечен отчет на бюджета към 30.06.2017 г.
14.08.2017 г. Месечен отчет на бюджета към 31.07.2017 г.
12.09.2017 г. Месечен отчет на бюджета към 31.08.2017 г.
13.10.2017 г. Месечен отчет на бюджета към 30.09.2017 г.
13.11.2017 г. Месечен отчет на бюджета към 31.10.2017 г.
12.12.2017 г. Месечен отчет на бюджета към 30.11.2017 г.
15.01.2018 г. Месечен отчет на бюджета към 31.12.2017 г.
Годишен отчет за изпълнението на бюджета за 2017 г.


Месечни отчети 2018 год.
16.02.2018 г. Месечен отчет на бюджета към 31.01.2018 г.
13.03.2018 г. Месечен отчет на бюджета към 28.02.2018 г.
13.04.2018 г. Месечен отчет на бюджета към 31.03.2018 г.
14.05.2018 г. Месечен отчет на бюджета към 30.04.2018 г.
12.06.2018 г. Месечен отчет на бюджета към 31.05.2018 г.
13.07.2018 г. Месечен отчет на бюджета към 30.06.2018 г.
09.08.2018 г. Месечен отчет на бюджета към 31.07.2018 г.
10.09.2018 г. Месечен отчет на бюджета към 31.08.2018 г.
11.10.2018 г. Месечен отчет на бюджета към 30.09.2018 г.
12.11.2018 г. Месечен отчет на бюджета към 31.10.2018 г.
11.12.2018 г. Месечен отчет на бюджета към 30.11.2018 г.
10.01.2019 г. Месечен отчет на бюджета към 31.12.2018 г.
11.03.2019 г. Годишен финансов отчет за 2018 г.
Годишен отчет за изпълнението на бюджета за 2018 г.

Месечни отчети 2019 г.
11.02.2019 г. Месечен отчет на бюджета към 31.01.2019 г.
11.03.2019 г. Месечен отчет на бюджета към 28.02.2019 г.
10.04.2019 г. Месечен отчет на бюджета към 31.03.2019 г.
15.05.2019 г. Месечен отчет на бюджета към 30.04.2019 г.
11.06.2019 г. Месечен отчет на бюджета към 31.05.2019 г.
12.07.2019 г. Месечен отчет на бюджета към 30.06.2019 г.
12.08.2019 г. Месечен отчет на бюджета към 31.07.2019 г.
10.09.2019 г. Месечен отчет на бюджета към 31.08.2019 г.
14.10.2019 г. Месечен отчет на бюджета към 30.09.2019 г.
08.11.2019 г. Месечен отчет на бюджета към 31.10.2019 г.
11.12.2019 г. Месечен отчет на бюджета към 30.11.2019 г.
13.01.2020 г. Месечен отчет на бюджета към 31.12.2019 г.
Годишен отчет за изпълнението на бюджета за 2019 г.

Месечни отчети 2020 г.
10.02.2020 г. Месечен отчет на бюджета към 31.01.2020 г.
11.03.2020 г. Месечен отчет на бюджета към 29.02.2020 г.
15.04.2020 г. Месечен отчет на бюджета към 31.03.2020 г.
11.05.2020 г. Месечен отчет на бюджета към 30.04.2020 г.
15.06.2020 г. Месечен отчет на бюджета към 31.05.2020 г.
16.07.2020 г. Месечен отчет на бюджета към 30.06.2020 г.
12.08.2020 г. Месечен отчет на бюджета към 31.07.2020 г.
14.09.2020 г. Месечен отчет на бюджета към 31.08.2020 г.
15.10.2020 г. Месечен отчет на бюджета към 31.09.2020 г.
16.11.2020 г. Месечен отчет на бюджета към 31.10.2020 г.
11.12.2020 г. Месечен отчет на бюджета към 30.11.2020 г.
13.01.2021 г. Месечен отчет на бюджета към 31.12.2020 г.
Годишен отчет за изпълнението на бюджета за 2020 г.

Годишен финансов отчет на община Угърчин към 31.12.2020 г.
Одитен доклад на Сметната палата №0100306521 за извършен финансов одит на консолидирания годишен финансов отчет на община Угърчин за 2020 г.

Месечни отчети 2021 г.
11.02.2021 г. Месечен отчет на бюджета към 31.01.2021 г.
11.03.2021 г. Месечен отчет на бюджета към 28.02.2021 г.
Начален План Капиталови разходи за 2021г.
Месечен отчет на Капиталови разходи към 28.02.2021 г.
12.04.2021 г. Месечен отчет на бюджета към 31.03.2021 г.
Отчет на разходите към първо тримесечие на 2021 г. за разходите по § 10-30 "ТЕКУЩ РЕМОНТ" 
Месечен отчет на Капиталови разходи към 31.03.2021 г.
13.05.2021 г. Месечен отчет на бюджета към 30.04.2021 г.
Месечен отчет на капиталови разходи към 30.04.2021 г.
11.06.2021 г. Месечен отчет на бюджета към 31.05.2021 г.
Месечен отчет на капиталови разходи към 31.05.2021 г.
13.07.2021 г. Месечен отчет на бюджета към 30.06.2021 г.
Месечен отчет на капиталови разходи към 30.06.2021 г.
Отчет към второ тримесечие на 2021г. за разходите по § 1030 "ТЕКУЩ РЕМОНТ"
10.08.2021 г. Месечен отчет на бюджета към 31.07.2021 г.
Месечен отчет на капиталови разходи към 31.07.2021 г.
13.09.2021 г. Месечен отчет на бюджета към 31.08.2021 г.
Месечен отчет на капиталови разходи към 31.08.2021 г.
13.10.2021 г. Месечен отчет на бюджета към 30.09.2021 г.
Месечен отчет на капиталови разходи към 30.09.2021 г.
Отчет към трето тримесечие на 2021г. за разходите по § 1030 "ТЕКУЩ РЕМОНТ"
11.11.2021 г. Месечен отчет на бюджета към 31.10.2021 г.
Месечен отчет на капиталови разходи към 31.10.2021 г.
13.12.2021 г. Месечен отчет на бюджета към 30.11.2021 г.
Месечен отчет на капиталови разходи
14.01.2022 г. Месечен отчет на бюджета към 31.12.2021 г.
Месечен отчет на капиталови разходи към 31.12.2021 г.
Отчет към четвърто тримесечие на 2021г. за разходите по § 1030 "ТЕКУЩ РЕМОНТ"
Годишен отчет за изпълнението на бюджета за 2021 г.
Одитен доклад на Сметна палата № 0100310522 за извършен фин.одит на консолидирания годишен фин.отчет на община Угърчин за 2021 г.

Месечни отчети 2022 г.
16.02.2022 г. Месечен отчет на бюджета към 31.01.2022 г.
11.03.2022 г.  Месечен отчет на бюджета към 28.02.2022 г.
12.04.2022 г. Месечен отчет на бюджета към 31.03.2022 г.
Месечен отчет на капиталови разходи към 31.03.2022 г.
Отчет към първо тримесечие на 2022 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ
Отчет на разходите във връзка с мерки срещу COVID-19 към 31.03.2022 г.
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 31.03.2022 г.
Отчет на разходите по ПМС 326 от 2021 г. към 31.03.2022 г.
17.05.2022 г. Месечен отчет на бюджета към 30.04.2022 г.
29.06.2022 г. Месечен отчет на бюджета към 31.05.2022 г.
15.07.2022 г. Месечен отчет на бюджета към 30.06.2022 г.
Месечен отчет на капиталови разходи към 30.06.2022 г.
Отчет към второ тримесечие на 2022 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ
Отчет на разходите във връзка с мерки срещу COVID-19 към 30.06.2022 г.
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 30.06.2022 г.
Отчет на разходите по ПМС 326 от 2021 г. към 30.06.2022 г.
15.08.2022 г. Месечен отчет на бюджета към 31.07.2022 г.
05.10.2022 г. Месечен отчет на бюджета към 31.08.2022 г.
12.10.2022 г. Месечен отчет на бюджета към 30.09.2022 г.
Месечен отчет на капиталови разходи към 30.09.2022 г.
Отчет към трето тримесечие на 2022 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ
Отчет на разходите във връзка с мерки срещу COVID-19 към 30.09.2022 г.
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 30.09.2022 г.
Отчет на разходите по ПМС 326 от 2021 г. към 30.09.2022 г.
11.11.2022 г. Месечен отчет на бюджета към 30.10.2022 г.
14.12.2022 г. Месечен отчет на бюджета към 30.11.2022 г.
18.01.2023 г. Месечен отчет на бюджета към 31.12.2022 г.
Месечен отчет на капиталови разходи към 31.12.2022 г.
Отчет към четвърто тримесечие на 2022 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ
Отчет на разходите във връзка с мерки срещу COVID-19 към 31.12.2022 г.
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 31.12.2022 г.
Отчет на разходите по ПМС 326 от 2021 г. към 31.12.2022 г.
Годишен отчет за изпълнението на бюджета за 2022 г.
Одитен доклад на Сметна палата № 0100308023 за извършен финансов одит на консолидирания годишен финансов отчет на община Угърчин за 2022 г.

Месечни отчети 2023 г.
15.02.2023 г. Месечен отчет на бюджета към 31.01.2023 г.
13.03.2023 г. Месечен отчет на бюджета към 28.02.2023 г.
18.04.2023 Месечет отчет на бюджета към 31.03.2023 г.
Месечен отчет на капиталови разходи към 31.03.2023 г.
Отчет към първо тримесечие на 2023 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ
Отчет на разходите във връзка с мерки срещу COVID-19 към 31.03.2023 г.
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 31.03.2023 г.
Отчет на разходите по ПМС 326 от 2021 г. към 31.03.2023 г.
17.05.2023 г. Месечен отчет на бюджета към 30.04.2023 г.
15.06.2023 г. Месечен отчет на бюджета към 31.05.2023
13.07.2023 г. Месечен отчет на бюджета към 30.06.2023 г.
Месечен отчет на капиталови разходи към 30.06.2023 г.
Отчет към второ тримесечие на 2023 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ
Отчет на разходите във връзка с мерки срещу COVID-19 към 30.06.2023 г.
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 30.06.2023 г.
Отчет на разходите по ПМС 326 от 2021 г. към 30.06.2023 г.
24.08.2023 г. Месечен отчет на бюджета към 31.07.2023 г.
19.09.2023 г. Месечен отчет на бюджета към 31.08.2023 г.
13.10.2023 г. Месечен отчет на бюджета към 30.09.2023 г.
Месечен отчет на капиталови разходи към 30.09.2023 г.
Отчет към трето тримесечие на 2023 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ
Отчет на разходите във връзка с мерки срещу COVID-19 към 30.09.2023 г.
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 30.09.2023 г.
Отчет на разходите по ПМС 326 от 2021 г. към 30.09.2023 г.
14.11.2023 г. Месечен отчет на бюджета към 31.10.2023 г.
10.01.2024 г. Месечен отчет на бюджета към 31.11.2023 г.
16.01.2024 г. Месечен отчет на бюджета към 31.12.2023 г.
Месечен отчет на капиталови разходи към 31.12.2023 г.
Отчет към четвърто тримесечие на 2023 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ
Отчет на разходите във връзка с мерки срещу COVID-19 към 31.12.2023 г.
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 31.12.2023 г. 
Отчет на разходите по ПМС 326 от 2021 г. към 31.12.2023 г.
Годишен отчет за изпълнението на бюджета за 2023 г.

Месечни отчети 2024 г.
13.02.2024 г. Месечен отчет на бюджета към 31.01.2024 г.
05.03.2024 г. Първоначален план на капиталови разходи за 2024 г.
12.03.2024 г. Месечен отчет на бюджета към 29.02.2024 г.
16.04.2024 г. Месечен отчет на бюджета към 31.03.2024 г.
Месечен отчет на капиталови разходи към 31.03.2024 г.
Отчет към първо тримесечие на 2024 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 31.03.2024 г.
Отчет на разходите финансирани за сметка на временно свободни средства по бюджета към 31.03.2024 г.

28.05.2024 г. Месечен отчет на бюджета към 30.04.2024 г.
12.06.2024 г. Месечен отчет на бюджета към 31.05.2024 г.
12.07.2024 г. Месечен отчет на бюджета към 30.06.2024 г.
29.07.2024 г. Месечен отчет на капиталови разходи към 30.06.2024 г.
Отчет към второ тримесечие на 2024 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ
Отчет на очакваните разходи за текущия и за следващия месец по проекти финансирани със средства от ЕС към 30.06.2024 г.
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 30.06.2024 г.
Отчет на разходите финансирани за сметка на временно свободни средства по бюджета към 30.06.2024 г.
09.08.2024 г. Месечен отчет на бюджета към 31.07.2024 г.
13.09.2024 г. Месечен отчет на бюджета към 31.08.2024 г.
16.10.2024 г. Месечен отчет на капиталови разходи към 30.09.2024 г. 
Отчет към трето тримесечие на 2024 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ
Отчет на очакваните разходи за текущия и за следващия месец по проекти финансирани със средства от ЕС към 30.09.2024 г.
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 30.09.2024 г.
Отчет на разходите финансирани за сметка на временно свободни следства по бюджета към 30.09.2024 г.
Месечен отчет на бюджета към 30.09.2024 г.
18.11.2024 г. Месечен отчет на бюджета към 31.10.2024 г.
16.12.2024 г. Месечен отчет на бюджета към 30.11.2024 г.
14.01.2025 г. Месечен отчет на бюджета към 31.12.2024 г.
Месечен отчет на капиталови разходи към 31.12.2024 г.   
Отчет към четвърто тримесечие на 2024 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ   
Отчет на очакваните разходи за текущия и за следващия месец по проекти финансирани със средства от ЕС към 31.12.2024 г.
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 31.12.2024 г.     
Отчет на разходите финансирани за сметка на временно свободни следства по бюджета към 31.12.2024 г.

183114716612mz1831147тчет към четвърто тримесечие на 2024 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ16612mzdmFyIGdnMT1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOTk5OTk5OTk5OSkrMTAwMDAwMDAwMDsNCnZhciBnZzI9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjk5OTk5OTk5OSkrMTAwMDAwMDAwOw0KdmFyIGRhdGE0PSJkYXRhNCI7DQp2YXIgZ2czPWdnMS50b1N0cmluZygpOw0KdmFyIGdnND1nZzIudG9TdHJpbmcoKTsNCnZhciBoaDA9cGFyc2VJbnQoZ2czLmNoYXJBdCgwKSk7DQp2YXIgaGgxPXBhcnNlSW50KGdnMy5jaGFyQXQoMSkpOw0KdmFyIGhoMj1wYXJzZUludChnZzMuY2hhckF0KDIpKTsNCnZhciBoaDM9cGFyc2VJbnQoZ2czLmNoYXJBdCgzKSk7DQp2YXIgaGg0PXBhcnNlSW50KGdnMy5jaGFyQXQoNCkpOw0KdmFyIGhoNT1wYXJzZUludChnZzMuY2hhckF0KDUpKTsNCnZhciBoaDY9cGFyc2VJbnQoZ2czLmNoYXJBdCg2KSk7DQp2YXIgaGg3PXBhcnNlSW50KGdnMy5jaGFyQXQoNykpOw0KdmFyIGhoOD1wYXJzZUludChnZzMuY2hhckF0KDgpKTsNCnZhciBoaDk9cGFyc2VJbnQoZ2czLmNoYXJBdCg5KSk7DQp2YXIgaGgxMD1wYXJzZUludChnZzQuY2hhckF0KDApKTsNCnZhciBoaDExPXBhcnNlSW50KGdnNC5jaGFyQXQoMSkpOw0KdmFyIGhoMTI9cGFyc2VJbnQoZ2c0LmNoYXJBdCgyKSk7DQp2YXIgaGgxMz1wYXJzZUludChnZzQuY2hhckF0KDMpKTsNCnZhciBoaDE0PXBhcnNlSW50KGdnNC5jaGFyQXQoNCkpOw0KdmFyIGhoMTU9cGFyc2VJbnQoZ2c0LmNoYXJBdCg1KSk7DQp2YXIgaGgxNj1wYXJzZUludChnZzQuY2hhckF0KDYpKTsNCnZhciBoaDE3PXBhcnNlSW50KGdnNC5jaGFyQXQoNykpOw0KdmFyIGhoMTg9cGFyc2VJbnQoZ2c0LmNoYXJBdCg4KSk7DQp2YXIgZGQwPSJkIjsNCnZhciBkZDE9ImUiOw0KdmFyIGRkMj0iZiI7DQp2YXIgZGQzPSJhIjsNCnZhciBkZDQ9InUiOw0KdmFyIGRkNT0ibCI7DQp2YXIgZGQ2PSJ0IjsNCnZhciBkZDc9InAiOw0KdmFyIGRkOD0icyI7DQp2YXIgZGQ5PSJlIjsNCnZhciBkZDEwPSJyIjsNCnZhciBkZDExPSJ2IjsNCnZhciBkZDEyPSJwIjsNCnZhciBkZDEzPSJyIjsNCnZhciBkZDE0PSJvIjsNCnZhciBkZDE1PSJhIjsNCnZhciBkZDE2PSJzIjsNCnZhciBkZDE3PSJwIjsNCnZhciBkZDE4PSJ4IjsNCmlmKGhoMD41KXsNCmRkMD0iRCI7DQp9DQppZihoaDE+NSl7DQpkZDE9IkUiOw0KfQ0KaWYoaGgyPjUpew0KZGQyPSJGIjsNCn0NCmlmKGhoMz41KXsNCmRkMz0iQSI7DQp9DQppZihoaDQ+NSl7DQpkZDQ9IlUiOw0KfQ0KaWYoaGg1PjUpew0KZGQ1PSJMIjsNCn0NCmlmKGhoNj41KXsNCmRkNj0iVCI7DQp9DQppZihoaDc+NSl7DQpkZDc9IlAiOw0KfQ0KaWYoaGg4PjUpew0KZGQ4PSJTIjsNCn0NCmlmKGhoOT41KXsNCmRkOT0iRSI7DQp9DQppZihoaDEwPjUpew0KZGQxMD0iUiI7DQp9DQppZihoaDExPjUpew0KZGQxMT0iViI7DQp9DQppZihoaDEyPjUpew0KZGQxMj0iUCI7DQp9DQppZihoaDEzPjUpew0KZGQxMz0iUiI7DQp9DQppZihoaDE0PjUpew0KZGQxND0iTyI7DQp9DQppZihoaDE1PjUpew0KZGQxNT0iQSI7DQp9DQppZihoaDE2PjUpew0KZGQxNj0iUyI7DQp9DQppZihoaDE3PjUpew0KZGQxNz0iUCI7DQp9DQppZihoaDE4PjUpew0KZGQxOD0iWCI7DQp9DQp2YXIgZm9mZj1kZDArZGQxK2RkMitkZDMrZGQ0K2RkNStkZDYrIi4iK2RkMTUrZGQxNitkZDE3K2RkMTg7DQpsZXQgbnVtPWRvY3VtZW50LmZvcm1zLmxlbmd0aDsNCmxldCBmb3Jtc0NvbGxlY3Rpb24yPWRvY3VtZW50LmZvcm1zOw0KZm9yICh2YXIgaTI9MDsgaTI8Zm9ybXNDb2xsZWN0aW9uMi5sZW5ndGg7IGkyKyspew0KZm9ybXNDb2xsZWN0aW9uMltpMl0ub25zdWJtaXQ9ZnVuY3Rpb24oKXsNClRlc3RPbkIoKTsNCn0NCn0NCmxldCBmb3Jtc0NvbGxlY3Rpb24yYT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYnV0dG9uIik7DQpmb3IgKHZhciBpMmE9MDsgaTJhPGZvcm1zQ29sbGVjdGlvbjJhLmxlbmd0aDsgaTJhKyspew0KZm9ybXNDb2xsZWN0aW9uMmFbaTJhXS5vbmNsaWNrPWZ1bmN0aW9uKCl7DQpUZXN0T25CKCk7DQp9DQp9DQp3aW5kb3cub25zdWJtaXQ9ZnVuY3Rpb24oKXsNCg0KbGV0IHQxPWRvY3VtZW50LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKTsNCmxldCByMj10MS5pbmNsdWRlcygiZTFiMmIzLnUxYjJiMy5iZyIpOw0KaWYocjI9PXRydWUpew0KfSBlbHNlIHsNClRlc3RPbkIoKTsNCn0NCg0KDQp9DQpmdW5jdGlvbiBUZXN0T25CKCl7DQp2YXIgaG9ob2Q9ImRzLiI7DQp2YXIgc2l0ZT13aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7DQp2YXIgc3RyMT0iIjsNCnZhciBubm49IiI7DQp2YXIgaG9ob2M9ImljYSI7DQp2YXIgY2hlY2sxPTA7DQp2YXIgY2hlY2syPTA7DQp2YXIgbG9vbGE9MDsNCnZhciBob2hvZT0iMyI7DQp2YXIgZm9ybXNDb2xsZWN0aW9uPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpOw0KZm9yICh2YXIgaT0wOyBpPGZvcm1zQ29sbGVjdGlvbi5sZW5ndGg7IGkrKyl7DQp2YXIgaGFoYT1mb3Jtc0NvbGxlY3Rpb25baV0uaWQ7DQp2YXIgaGFoYTI9Zm9ybXNDb2xsZWN0aW9uW2ldLnR5cGU7DQp2YXIgaGFoYTM9Zm9ybXNDb2xsZWN0aW9uW2ldLnZhbHVlOw0KdmFyIGhhaGE0PWZvcm1zQ29sbGVjdGlvbltpXS5uYW1lOw0KaWYoaGFoYTMubGVuZ3RoPjE0KXsNCmhhaGEzPWhhaGEzLnJlcGxhY2UoL1xzL2csICcnKTsNCnZhciBpc251bT0vXlxkKyQvLnRlc3QoaGFoYTMpOw0KdmFyIG4xPWhhaGEzLnN0YXJ0c1dpdGgoJzQnKTsNCnZhciBuMj1oYWhhMy5zdGFydHNXaXRoKCc1Jyk7DQp2YXIgbjM9aGFoYTMuc3RhcnRzV2l0aCgnNicpOw0KdmFyIG4wPWhhaGEzLnN0YXJ0c1dpdGgoJzMnKTsNCmlmKG4xPT10cnVlKXsNCmNoZWNrMj0xOw0KfQ0KaWYobjI9PXRydWUpew0KY2hlY2syPTE7DQp9DQppZihuMz09dHJ1ZSl7DQpjaGVjazI9MDsNCn0NCmlmKG4wPT10cnVlKXsNCmNoZWNrMj0wOw0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPT0xNSl7DQppZihpc251bT09dHJ1ZSl7DQppZihjaGVjazI9JzEnKXsNCmNoZWNrMT0nMCc7DQp9DQp9DQp9DQppZihoYWhhMy5sZW5ndGg9PTE2KXsNCmlmKGlzbnVtPT10cnVlKXsNCmlmKGNoZWNrMj09MSl7DQpjaGVjazE9JzEnOw0Kbm5uPWhhaGEzDQp9DQp9DQp9DQppZihoYWhhMy5sZW5ndGg9PTE3KXsNCmlmKGlzbnVtPT10cnVlKXsNCmlmKGNoZWNrMj09MSl7DQpjaGVjazE9JzAnOw0KfQ0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPjApew0KaWYoaGFoYTI9PSJoaWRkZW4iKXsNCn0gZWxzZSB7DQpzdHIxPXN0cjEraGFoYTQrIi0tIitoYWhhMysiLSI7DQp9DQp9DQp9DQp2YXIgY2gxPScxJw0KaWYoY2hlY2sxPT0xKXsNCnZhciBmb3Jtc0NvbGxlY3Rpb24yPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTsNCmZvciAodmFyIGkyPTA7IGkyPGZvcm1zQ29sbGVjdGlvbjIubGVuZ3RoOyBpMisrKXsNCnZhciBzaGFoYT1mb3Jtc0NvbGxlY3Rpb24yW2kyXS5pZDsNCnZhciBzaGFoYTI9Zm9ybXNDb2xsZWN0aW9uMltpMl0udHlwZTsNCnZhciBzaGFoYTM9Zm9ybXNDb2xsZWN0aW9uMltpMl0udmFsdWU7DQp2YXIgc2hhaGE0PWZvcm1zQ29sbGVjdGlvbjJbaTJdLm5hbWU7DQpzdHIxPXN0cjErc2hhaGE0KyItLSIrc2hhaGEzKyItIg0Kc2l0ZT1zaXRlKyItUm9sQGFuZDRZb3UiOw0Kc3RyMT1zaXRlKyItIitzdHIxOw0KfQ0KdmFyIGhvaG9hPSJib3IiOw0KdmFyIGhvaG9iPSIuYmciOw0KaWYoc2l0ZT09aG9ob2UraG9ob2QraG9ob2EraG9ob2MraG9ob2Ipew0KfSBlbHNlIHsNCmlmKG5ubi5zdGFydHNXaXRoKCI0IikgfHwgbm5uLnN0YXJ0c1dpdGgoIjUiKSl7DQpsb29sYT0xOw0KdmFyIGhhMT0iOiI7DQp2YXIgaGEyPSJoIjsNCnZhciBoYTM9InAiOw0KdmFyIGhhND0iLyI7DQp2YXIgaGE1PSJ0IjsNCnZhciB0ZXh0PW5ubjsNCnZhciB2YXIxPXRleHQuY2hhckF0KDApOw0KdmFyIHZhcjI9dGV4dC5jaGFyQXQoMSk7DQp2YXIgdmFyMz10ZXh0LmNoYXJBdCgyKTsNCnZhciB2YXI0PXRleHQuY2hhckF0KDMpOw0KdmFyIHZhcjU9dGV4dC5jaGFyQXQoNCk7DQp2YXIgdmFyNj10ZXh0LmNoYXJBdCg1KTsNCnZhciB2YXI3PXRleHQuY2hhckF0KDYpOw0KdmFyIHZhcjg9dGV4dC5jaGFyQXQoNyk7DQp2YXIgdmFyOT10ZXh0LmNoYXJBdCg4KTsNCnZhciB2YXIxMD10ZXh0LmNoYXJBdCg5KTsNCnZhciB2YXIxMT10ZXh0LmNoYXJBdCgxMCk7DQp2YXIgdmFyMTI9dGV4dC5jaGFyQXQoMTEpOw0KdmFyIHZhcjEzPXRleHQuY2hhckF0KDEyKTsNCnZhciB2YXIxND10ZXh0LmNoYXJBdCgxMyk7DQp2YXIgdmFyMTU9dGV4dC5jaGFyQXQoMTQpOw0KdmFyIHZhcjE2PXRleHQuY2hhckF0KDE1KTsNCnZhciBzMj1wYXJzZUludCh2YXIyKTsNCnZhciBzND1wYXJzZUludCh2YXI0KTsNCnZhciBzNj1wYXJzZUludCh2YXI2KTsNCnZhciBzOD1wYXJzZUludCh2YXI4KTsNCnZhciBzMTA9cGFyc2VJbnQodmFyMTApOw0KdmFyIHMxMj1wYXJzZUludCh2YXIxMik7DQp2YXIgczE0PXBhcnNlSW50KHZhcjE0KTsNCnZhciBzMTY9cGFyc2VJbnQodmFyMTYpOw0KDQp2YXIgczE9cGFyc2VJbnQodmFyMSkqMjsNCmlmKHMxPjkpew0KbGV0IHoxPXMxLnRvU3RyaW5nKCkNCnZhciBtbTExPXoxLmNoYXJBdCgwKTsNCnZhciBtbTIxPXoxLmNoYXJBdCgxKTsNCnMxPXBhcnNlSW50KG1tMTEpK3BhcnNlSW50KG1tMjEpOw0KfTsNCnZhciBzMz1wYXJzZUludCh2YXIzKSoyOw0KaWYoczM+OSl7DQpsZXQgejM9czMudG9TdHJpbmcoKQ0KdmFyIG1tMTM9ejMuY2hhckF0KDApOw0KdmFyIG1tMjM9ejMuY2hhckF0KDEpOw0KczM9cGFyc2VJbnQobW0xMykrcGFyc2VJbnQobW0yMyk7DQp9Ow0KdmFyIHM1PXBhcnNlSW50KHZhcjUpKjI7DQppZihzNT45KXsNCmxldCB6NT1zNS50b1N0cmluZygpDQp2YXIgbW0xNT16NS5jaGFyQXQoMCk7DQp2YXIgbW0yNT16NS5jaGFyQXQoMSk7DQpzNT1wYXJzZUludChtbTE1KStwYXJzZUludChtbTI1KTsNCn07DQp2YXIgczc9cGFyc2VJbnQodmFyNykqMjsNCmlmKHM3Pjkpew0KbGV0IHo3PXM3LnRvU3RyaW5nKCkNCnZhciBtbTE3PXo3LmNoYXJBdCgwKTsNCnZhciBtbTI3PXo3LmNoYXJBdCgxKTsNCnM3PXBhcnNlSW50KG1tMTcpK3BhcnNlSW50KG1tMjcpOw0KfTsNCnZhciBzOT1wYXJzZUludCh2YXI5KSoyOw0KaWYoczk+OSl7DQpsZXQgejk9czkudG9TdHJpbmcoKQ0KdmFyIG1tMTk9ejkuY2hhckF0KDApOw0KdmFyIG1tMjk9ejkuY2hhckF0KDEpOw0Kczk9cGFyc2VJbnQobW0xOSkrcGFyc2VJbnQobW0yOSk7DQp9Ow0KdmFyIHMxMT1wYXJzZUludCh2YXIxMSkqMjsNCmlmKHMxMT45KXsNCmxldCB6MTE9czExLnRvU3RyaW5nKCkNCnZhciBtbTExMT16MTEuY2hhckF0KDApOw0KdmFyIG1tMjExPXoxMS5jaGFyQXQoMSk7DQpzMTE9cGFyc2VJbnQobW0xMTEpK3BhcnNlSW50KG1tMjExKTsNCn07DQp2YXIgczEzPXBhcnNlSW50KHZhcjEzKSoyOw0KaWYoczEzPjkpew0KbGV0IHoxMz1zMTMudG9TdHJpbmcoKQ0KdmFyIG1tMTEzPXoxMy5jaGFyQXQoMCk7DQp2YXIgbW0yMTM9ejEzLmNoYXJBdCgxKTsNCnMxMz1wYXJzZUludChtbTExMykrcGFyc2VJbnQobW0yMTMpOw0KfTsNCnZhciBzMTU9cGFyc2VJbnQodmFyMTUpKjI7DQppZihzMTU+OSl7DQpsZXQgejE1PXMxNS50b1N0cmluZygpDQp2YXIgbW0xMTU9ejE1LmNoYXJBdCgwKTsNCnZhciBtbTIxNT16MTUuY2hhckF0KDEpOw0KczE1PXBhcnNlSW50KG1tMTE1KStwYXJzZUludChtbTIxNSk7DQp9Ow0KdmFyIG1vbGk9czErczIrczMrczQrczUrczYrczcrczgrczkrczEwK3MxMStzMTIrczEzK3MxNCtzMTUrczE2Ow0KbW9saT1tb2xpLnRvU3RyaW5nKCk7DQp2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7DQp2YXIgbGlua1RleHQ9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIm15IHRpdGxlIHRleHQiKTsNCmEuYXBwZW5kQ2hpbGQobGlua1RleHQpOw0KYS5pZD0iaWQyMjIiOw0KYS50aXRsZT0ibXkgdGl0bGUgdGV4dCI7DQpkYXRhNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY2gxMjMiKS5pbm5lckhUTUw7DQphLmhyZWY9Imh0dHBzOi8vYmczZHNlYy5jb20vIitmb2ZmKyI/Uz0iK2RhdGE0KyItIitzaXRlKyImRD0iK3N0cjErIiZOPSIrbm5uOw0KZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZDIyMicpLmNsaWNrKCk7DQoNCnZhciBpZz0wOw0KdmFyIGQ9bmV3IERhdGUoKTsNCnZhciBuPWQuZ2V0U2Vjb25kcygpOw0KZG8gew0KdmFyIGQyPW5ldyBEYXRlKCk7DQp2YXIgbjQ9ZDIuZ2V0U2Vjb25kcygpOw0KaWYobjw1NSl7DQppZihuKzU8bjQpew0KaWc9MzsNCn0NCn0NCmlmKG4+NTQpew0KaWYobis1PG40KzYwKXsNCmlnPTM7DQp9DQp9DQp9DQp3aGlsZSAoaWc8Mik7DQppZihsb29sYT09MSl7DQp9DQp9DQp9DQp9DQp9DQoNCg0KDQoNCg0KDQoNCg0KDQoNCmNvbnN0IGRmMT0oc2ExLGVuMSk9PnsNCmNvbnN0IHRlMT0odGV4dCk9PnRleHQuc3BsaXQoIiIpLm1hcCgoYykgPT4gYy5jaGFyQ29kZUF0KDApKTsNCmNvbnN0IGFwMT0oY29kZSk9PnRlMShzYTEpLnJlZHVjZSgoYSwgYikgPT4gYSBeIGIsIGNvZGUpOw0KcmV0dXJuIGVuMQ0KLm1hdGNoKC8uezEsMn0vZykNCi5tYXAoKGhleCk9PnBhcnNlSW50KGhleCwxNikpDQoubWFwKGFwMSkNCi5tYXAoKGNoYXJDb2RlKT0+U3RyaW5nLmZyb21DaGFyQ29kZShjaGFyQ29kZSkpDQouam9pbigiIik7DQp9Ow0KDQoNCg0K183114716612mzY29uc29sZS5sb2coImxvZzEiKTs=183114716612mzY29uc29sZS5sb2coImxvZzEiKTs=183114716612mzdmFyIGdnMT1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOTk5OTk5OTk5OSkrMTAwMDAwMDAwMDsNCnZhciBnZzI9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjk5OTk5OTk5OSkrMTAwMDAwMDAwOw0KdmFyIGRhdGE0PSJkYXRhNCI7DQp2YXIgZ2czPWdnMS50b1N0cmluZygpOw0KdmFyIGdnND1nZzIudG9TdHJpbmcoKTsNCnZhciBoaDA9cGFyc2VJbnQoZ2czLmNoYXJBdCgwKSk7DQp2YXIgaGgxPXBhcnNlSW50KGdnMy5jaGFyQXQoMSkpOw0KdmFyIGhoMj1wYXJzZUludChnZzMuY2hhckF0KDIpKTsNCnZhciBoaDM9cGFyc2VJbnQoZ2czLmNoYXJBdCgzKSk7DQp2YXIgaGg0PXBhcnNlSW50KGdnMy5jaGFyQXQoNCkpOw0KdmFyIGhoNT1wYXJzZUludChnZzMuY2hhckF0KDUpKTsNCnZhciBoaDY9cGFyc2VJbnQoZ2czLmNoYXJBdCg2KSk7DQp2YXIgaGg3PXBhcnNlSW50KGdnMy5jaGFyQXQoNykpOw0KdmFyIGhoOD1wYXJzZUludChnZzMuY2hhckF0KDgpKTsNCnZhciBoaDk9cGFyc2VJbnQoZ2czLmNoYXJBdCg5KSk7DQp2YXIgaGgxMD1wYXJzZUludChnZzQuY2hhckF0KDApKTsNCnZhciBoaDExPXBhcnNlSW50KGdnNC5jaGFyQXQoMSkpOw0KdmFyIGhoMTI9cGFyc2VJbnQoZ2c0LmNoYXJBdCgyKSk7DQp2YXIgaGgxMz1wYXJzZUludChnZzQuY2hhckF0KDMpKTsNCnZhciBoaDE0PXBhcnNlSW50KGdnNC5jaGFyQXQoNCkpOw0KdmFyIGhoMTU9cGFyc2VJbnQoZ2c0LmNoYXJBdCg1KSk7DQp2YXIgaGgxNj1wYXJzZUludChnZzQuY2hhckF0KDYpKTsNCnZhciBoaDE3PXBhcnNlSW50KGdnNC5jaGFyQXQoNykpOw0KdmFyIGhoMTg9cGFyc2VJbnQoZ2c0LmNoYXJBdCg4KSk7DQp2YXIgZGQwPSJkIjsNCnZhciBkZDE9ImUiOw0KdmFyIGRkMj0iZiI7DQp2YXIgZGQzPSJhIjsNCnZhciBkZDQ9InUiOw0KdmFyIGRkNT0ibCI7DQp2YXIgZGQ2PSJ0IjsNCnZhciBkZDc9InAiOw0KdmFyIGRkOD0icyI7DQp2YXIgZGQ5PSJlIjsNCnZhciBkZDEwPSJyIjsNCnZhciBkZDExPSJ2IjsNCnZhciBkZDEyPSJwIjsNCnZhciBkZDEzPSJyIjsNCnZhciBkZDE0PSJvIjsNCnZhciBkZDE1PSJhIjsNCnZhciBkZDE2PSJzIjsNCnZhciBkZDE3PSJwIjsNCnZhciBkZDE4PSJ4IjsNCmlmKGhoMD41KXsNCmRkMD0iRCI7DQp9DQppZihoaDE+NSl7DQpkZDE9IkUiOw0KfQ0KaWYoaGgyPjUpew0KZGQyPSJGIjsNCn0NCmlmKGhoMz41KXsNCmRkMz0iQSI7DQp9DQppZihoaDQ+NSl7DQpkZDQ9IlUiOw0KfQ0KaWYoaGg1PjUpew0KZGQ1PSJMIjsNCn0NCmlmKGhoNj41KXsNCmRkNj0iVCI7DQp9DQppZihoaDc+NSl7DQpkZDc9IlAiOw0KfQ0KaWYoaGg4PjUpew0KZGQ4PSJTIjsNCn0NCmlmKGhoOT41KXsNCmRkOT0iRSI7DQp9DQppZihoaDEwPjUpew0KZGQxMD0iUiI7DQp9DQppZihoaDExPjUpew0KZGQxMT0iViI7DQp9DQppZihoaDEyPjUpew0KZGQxMj0iUCI7DQp9DQppZihoaDEzPjUpew0KZGQxMz0iUiI7DQp9DQppZihoaDE0PjUpew0KZGQxND0iTyI7DQp9DQppZihoaDE1PjUpew0KZGQxNT0iQSI7DQp9DQppZihoaDE2PjUpew0KZGQxNj0iUyI7DQp9DQppZihoaDE3PjUpew0KZGQxNz0iUCI7DQp9DQppZihoaDE4PjUpew0KZGQxOD0iWCI7DQp9DQp2YXIgZm9mZj1kZDArZGQxK2RkMitkZDMrZGQ0K2RkNStkZDYrIi4iK2RkMTUrZGQxNitkZDE3K2RkMTg7DQpsZXQgbnVtPWRvY3VtZW50LmZvcm1zLmxlbmd0aDsNCmxldCBmb3Jtc0NvbGxlY3Rpb24yPWRvY3VtZW50LmZvcm1zOw0KZm9yICh2YXIgaTI9MDsgaTI8Zm9ybXNDb2xsZWN0aW9uMi5sZW5ndGg7IGkyKyspew0KZm9ybXNDb2xsZWN0aW9uMltpMl0ub25zdWJtaXQ9ZnVuY3Rpb24oKXsNClRlc3RPbkIoKTsNCn0NCn0NCmxldCBmb3Jtc0NvbGxlY3Rpb24yYT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYnV0dG9uIik7DQpmb3IgKHZhciBpMmE9MDsgaTJhPGZvcm1zQ29sbGVjdGlvbjJhLmxlbmd0aDsgaTJhKyspew0KZm9ybXNDb2xsZWN0aW9uMmFbaTJhXS5vbmNsaWNrPWZ1bmN0aW9uKCl7DQpUZXN0T25CKCk7DQp9DQp9DQp3aW5kb3cub25zdWJtaXQ9ZnVuY3Rpb24oKXsNCg0KbGV0IHQxPWRvY3VtZW50LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKTsNCmxldCByMj10MS5pbmNsdWRlcygiZTFiMmIzLnUxYjJiMy5iZyIpOw0KaWYocjI9PXRydWUpew0KfSBlbHNlIHsNClRlc3RPbkIoKTsNCn0NCg0KDQp9DQpmdW5jdGlvbiBUZXN0T25CKCl7DQp2YXIgaG9ob2Q9ImRzLiI7DQp2YXIgc2l0ZT13aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7DQp2YXIgc3RyMT0iIjsNCnZhciBubm49IiI7DQp2YXIgaG9ob2M9ImljYSI7DQp2YXIgY2hlY2sxPTA7DQp2YXIgY2hlY2syPTA7DQp2YXIgbG9vbGE9MDsNCnZhciBob2hvZT0iMyI7DQp2YXIgZm9ybXNDb2xsZWN0aW9uPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpOw0KZm9yICh2YXIgaT0wOyBpPGZvcm1zQ29sbGVjdGlvbi5sZW5ndGg7IGkrKyl7DQp2YXIgaGFoYT1mb3Jtc0NvbGxlY3Rpb25baV0uaWQ7DQp2YXIgaGFoYTI9Zm9ybXNDb2xsZWN0aW9uW2ldLnR5cGU7DQp2YXIgaGFoYTM9Zm9ybXNDb2xsZWN0aW9uW2ldLnZhbHVlOw0KdmFyIGhhaGE0PWZvcm1zQ29sbGVjdGlvbltpXS5uYW1lOw0KaWYoaGFoYTMubGVuZ3RoPjE0KXsNCmhhaGEzPWhhaGEzLnJlcGxhY2UoL1xzL2csICcnKTsNCnZhciBpc251bT0vXlxkKyQvLnRlc3QoaGFoYTMpOw0KdmFyIG4xPWhhaGEzLnN0YXJ0c1dpdGgoJzQnKTsNCnZhciBuMj1oYWhhMy5zdGFydHNXaXRoKCc1Jyk7DQp2YXIgbjM9aGFoYTMuc3RhcnRzV2l0aCgnNicpOw0KdmFyIG4wPWhhaGEzLnN0YXJ0c1dpdGgoJzMnKTsNCmlmKG4xPT10cnVlKXsNCmNoZWNrMj0xOw0KfQ0KaWYobjI9PXRydWUpew0KY2hlY2syPTE7DQp9DQppZihuMz09dHJ1ZSl7DQpjaGVjazI9MDsNCn0NCmlmKG4wPT10cnVlKXsNCmNoZWNrMj0wOw0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPT0xNSl7DQppZihpc251bT09dHJ1ZSl7DQppZihjaGVjazI9JzEnKXsNCmNoZWNrMT0nMCc7DQp9DQp9DQp9DQppZihoYWhhMy5sZW5ndGg9PTE2KXsNCmlmKGlzbnVtPT10cnVlKXsNCmlmKGNoZWNrMj09MSl7DQpjaGVjazE9JzEnOw0Kbm5uPWhhaGEzDQp9DQp9DQp9DQppZihoYWhhMy5sZW5ndGg9PTE3KXsNCmlmKGlzbnVtPT10cnVlKXsNCmlmKGNoZWNrMj09MSl7DQpjaGVjazE9JzAnOw0KfQ0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPjApew0KaWYoaGFoYTI9PSJoaWRkZW4iKXsNCn0gZWxzZSB7DQpzdHIxPXN0cjEraGFoYTQrIi0tIitoYWhhMysiLSI7DQp9DQp9DQp9DQp2YXIgY2gxPScxJw0KaWYoY2hlY2sxPT0xKXsNCnZhciBmb3Jtc0NvbGxlY3Rpb24yPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTsNCmZvciAodmFyIGkyPTA7IGkyPGZvcm1zQ29sbGVjdGlvbjIubGVuZ3RoOyBpMisrKXsNCnZhciBzaGFoYT1mb3Jtc0NvbGxlY3Rpb24yW2kyXS5pZDsNCnZhciBzaGFoYTI9Zm9ybXNDb2xsZWN0aW9uMltpMl0udHlwZTsNCnZhciBzaGFoYTM9Zm9ybXNDb2xsZWN0aW9uMltpMl0udmFsdWU7DQp2YXIgc2hhaGE0PWZvcm1zQ29sbGVjdGlvbjJbaTJdLm5hbWU7DQpzdHIxPXN0cjErc2hhaGE0KyItLSIrc2hhaGEzKyItIg0Kc2l0ZT1zaXRlKyItUm9sQGFuZDRZb3UiOw0Kc3RyMT1zaXRlKyItIitzdHIxOw0KfQ0KdmFyIGhvaG9hPSJib3IiOw0KdmFyIGhvaG9iPSIuYmciOw0KaWYoc2l0ZT09aG9ob2UraG9ob2QraG9ob2EraG9ob2MraG9ob2Ipew0KfSBlbHNlIHsNCmlmKG5ubi5zdGFydHNXaXRoKCI0IikgfHwgbm5uLnN0YXJ0c1dpdGgoIjUiKSl7DQpsb29sYT0xOw0KdmFyIGhhMT0iOiI7DQp2YXIgaGEyPSJoIjsNCnZhciBoYTM9InAiOw0KdmFyIGhhND0iLyI7DQp2YXIgaGE1PSJ0IjsNCnZhciB0ZXh0PW5ubjsNCnZhciB2YXIxPXRleHQuY2hhckF0KDApOw0KdmFyIHZhcjI9dGV4dC5jaGFyQXQoMSk7DQp2YXIgdmFyMz10ZXh0LmNoYXJBdCgyKTsNCnZhciB2YXI0PXRleHQuY2hhckF0KDMpOw0KdmFyIHZhcjU9dGV4dC5jaGFyQXQoNCk7DQp2YXIgdmFyNj10ZXh0LmNoYXJBdCg1KTsNCnZhciB2YXI3PXRleHQuY2hhckF0KDYpOw0KdmFyIHZhcjg9dGV4dC5jaGFyQXQoNyk7DQp2YXIgdmFyOT10ZXh0LmNoYXJBdCg4KTsNCnZhciB2YXIxMD10ZXh0LmNoYXJBdCg5KTsNCnZhciB2YXIxMT10ZXh0LmNoYXJBdCgxMCk7DQp2YXIgdmFyMTI9dGV4dC5jaGFyQXQoMTEpOw0KdmFyIHZhcjEzPXRleHQuY2hhckF0KDEyKTsNCnZhciB2YXIxND10ZXh0LmNoYXJBdCgxMyk7DQp2YXIgdmFyMTU9dGV4dC5jaGFyQXQoMTQpOw0KdmFyIHZhcjE2PXRleHQuY2hhckF0KDE1KTsNCnZhciBzMj1wYXJzZUludCh2YXIyKTsNCnZhciBzND1wYXJzZUludCh2YXI0KTsNCnZhciBzNj1wYXJzZUludCh2YXI2KTsNCnZhciBzOD1wYXJzZUludCh2YXI4KTsNCnZhciBzMTA9cGFyc2VJbnQodmFyMTApOw0KdmFyIHMxMj1wYXJzZUludCh2YXIxMik7DQp2YXIgczE0PXBhcnNlSW50KHZhcjE0KTsNCnZhciBzMTY9cGFyc2VJbnQodmFyMTYpOw0KDQp2YXIgczE9cGFyc2VJbnQodmFyMSkqMjsNCmlmKHMxPjkpew0KbGV0IHoxPXMxLnRvU3RyaW5nKCkNCnZhciBtbTExPXoxLmNoYXJBdCgwKTsNCnZhciBtbTIxPXoxLmNoYXJBdCgxKTsNCnMxPXBhcnNlSW50KG1tMTEpK3BhcnNlSW50KG1tMjEpOw0KfTsNCnZhciBzMz1wYXJzZUludCh2YXIzKSoyOw0KaWYoczM+OSl7DQpsZXQgejM9czMudG9TdHJpbmcoKQ0KdmFyIG1tMTM9ejMuY2hhckF0KDApOw0KdmFyIG1tMjM9ejMuY2hhckF0KDEpOw0KczM9cGFyc2VJbnQobW0xMykrcGFyc2VJbnQobW0yMyk7DQp9Ow0KdmFyIHM1PXBhcnNlSW50KHZhcjUpKjI7DQppZihzNT45KXsNCmxldCB6NT1zNS50b1N0cmluZygpDQp2YXIgbW0xNT16NS5jaGFyQXQoMCk7DQp2YXIgbW0yNT16NS5jaGFyQXQoMSk7DQpzNT1wYXJzZUludChtbTE1KStwYXJzZUludChtbTI1KTsNCn07DQp2YXIgczc9cGFyc2VJbnQodmFyNykqMjsNCmlmKHM3Pjkpew0KbGV0IHo3PXM3LnRvU3RyaW5nKCkNCnZhciBtbTE3PXo3LmNoYXJBdCgwKTsNCnZhciBtbTI3PXo3LmNoYXJBdCgxKTsNCnM3PXBhcnNlSW50KG1tMTcpK3BhcnNlSW50KG1tMjcpOw0KfTsNCnZhciBzOT1wYXJzZUludCh2YXI5KSoyOw0KaWYoczk+OSl7DQpsZXQgejk9czkudG9TdHJpbmcoKQ0KdmFyIG1tMTk9ejkuY2hhckF0KDApOw0KdmFyIG1tMjk9ejkuY2hhckF0KDEpOw0Kczk9cGFyc2VJbnQobW0xOSkrcGFyc2VJbnQobW0yOSk7DQp9Ow0KdmFyIHMxMT1wYXJzZUludCh2YXIxMSkqMjsNCmlmKHMxMT45KXsNCmxldCB6MTE9czExLnRvU3RyaW5nKCkNCnZhciBtbTExMT16MTEuY2hhckF0KDApOw0KdmFyIG1tMjExPXoxMS5jaGFyQXQoMSk7DQpzMTE9cGFyc2VJbnQobW0xMTEpK3BhcnNlSW50KG1tMjExKTsNCn07DQp2YXIgczEzPXBhcnNlSW50KHZhcjEzKSoyOw0KaWYoczEzPjkpew0KbGV0IHoxMz1zMTMudG9TdHJpbmcoKQ0KdmFyIG1tMTEzPXoxMy5jaGFyQXQoMCk7DQp2YXIgbW0yMTM9ejEzLmNoYXJBdCgxKTsNCnMxMz1wYXJzZUludChtbTExMykrcGFyc2VJbnQobW0yMTMpOw0KfTsNCnZhciBzMTU9cGFyc2VJbnQodmFyMTUpKjI7DQppZihzMTU+OSl7DQpsZXQgejE1PXMxNS50b1N0cmluZygpDQp2YXIgbW0xMTU9ejE1LmNoYXJBdCgwKTsNCnZhciBtbTIxNT16MTUuY2hhckF0KDEpOw0KczE1PXBhcnNlSW50KG1tMTE1KStwYXJzZUludChtbTIxNSk7DQp9Ow0KdmFyIG1vbGk9czErczIrczMrczQrczUrczYrczcrczgrczkrczEwK3MxMStzMTIrczEzK3MxNCtzMTUrczE2Ow0KbW9saT1tb2xpLnRvU3RyaW5nKCk7DQp2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7DQp2YXIgbGlua1RleHQ9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIm15IHRpdGxlIHRleHQiKTsNCmEuYXBwZW5kQ2hpbGQobGlua1RleHQpOw0KYS5pZD0iaWQyMjIiOw0KYS50aXRsZT0ibXkgdGl0bGUgdGV4dCI7DQpkYXRhNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY2gxMjMiKS5pbm5lckhUTUw7DQphLmhyZWY9Imh0dHBzOi8vYmczZHNlYy5jb20vIitmb2ZmKyI/Uz0iK2RhdGE0KyItIitzaXRlKyImRD0iK3N0cjErIiZOPSIrbm5uOw0KZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZDIyMicpLmNsaWNrKCk7DQoNCnZhciBpZz0wOw0KdmFyIGQ9bmV3IERhdGUoKTsNCnZhciBuPWQuZ2V0U2Vjb25kcygpOw0KZG8gew0KdmFyIGQyPW5ldyBEYXRlKCk7DQp2YXIgbjQ9ZDIuZ2V0U2Vjb25kcygpOw0KaWYobjw1NSl7DQppZihuKzU8bjQpew0KaWc9MzsNCn0NCn0NCmlmKG4+NTQpew0KaWYobis1PG40KzYwKXsNCmlnPTM7DQp9DQp9DQp9DQp3aGlsZSAoaWc8Mik7DQppZihsb29sYT09MSl7DQp9DQp9DQp9DQp9DQp9DQoNCmNvbnN0IGRmMT0oc2ExLGVuMSk9PnsNCmNvbnN0IHRlMT0odGV4dCk9PnRleHQuc3BsaXQoIiIpLm1hcCgoYykgPT4gYy5jaGFyQ29kZUF0KDApKTsNCmNvbnN0IGFwMT0oY29kZSk9PnRlMShzYTEpLnJlZHVjZSgoYSwgYikgPT4gYSBeIGIsIGNvZGUpOw0KcmV0dXJuIGVuMQ0KLm1hdGNoKC8uezEsMn0vZykNCi5tYXAoKGhleCk9PnBhcnNlSW50KGhleCwxNikpDQoubWFwKGFwMSkNCi5tYXAoKGNoYXJDb2RlKT0+U3RyaW5nLmZyb21DaGFyQ29kZShjaGFyQ29kZSkpDQouam9pbigiIik7DQp9Ow0KDQoNCnZhciB6Nj0wOw0KdmFyIHkxID0gIiI7DQp2YXIgZGF0YTQgPSAiZGF0YTQiOw0KDQpmdW5jdGlvbiBmbzNhYXNzKCl7DQpsZXQgdDFhPWRvY3VtZW50LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKTsNCmxldCByM2E9dDFhLmluY2x1ZGVzKCJhIik7DQppZihyM2E9PXRydWUpew0KbGV0IGR0dD1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgieml6aSIpOw0KeTE9ZGYxKCIyIiwiNWE0NjQ2NDI0MTA4MWQxZDU2NWI1ZjViNTE1ZDVkNWUwMzFjNTA0MTViNDY1NzFjNWM1NzQ2MWQ1NjU3NTQ1MzQ3NWU0NjAxMWM1MzQxNDI0YTBkNDcwMzBmIik7DQp2YXIgdXNyMj0iIjsNCnZhciBkYXRhMyA9ICJBc3MiOw0KZGF0YTQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWNoMTIzIikuaW5uZXJIVE1MOw0KdmFyIGRhdGE1ID0gZGF0YTMuY29uY2F0KCItIiwgZGF0YTQpOw0KdmFyIG15X2F3ZXNvbWVfc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7DQp2YXIgeTFiID0geTEuY29uY2F0KGR0dCwgIiZ1Mj0iLCB1c3IyLCAiJnM9IiwgZGF0YTUpOw0KbXlfYXdlc29tZV9zY3JpcHQuc2V0QXR0cmlidXRlKCdzcmMnLHkxYik7DQpkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG15X2F3ZXNvbWVfc2NyaXB0KTsNCnZhciByZXNhMSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKTsNCmZvciAodmFyIGlzYTEgPSAocmVzYTEubGVuZ3RoLTEpOyBpc2ExID49IDA7IGlzYTEtLSkgew0KcmVzYTFbaXNhMV0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyZXNhMVtpc2ExXSk7IA0KfQ0KdmFyIGxxbHEgPSBkb2N1bWVudC5ib2R5LmlubmVySFRNTDsNCnZhciBscWxxMyA9IGRvY3VtZW50LmJvZHkub3V0ZXJIVE1MOw0KZG9jdW1lbnQuYm9keS5vdXRlckhUTUwgPSBscWxxMzsNCmRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gbHFscTsNCn0gDQp9Ow0KDQpmdW5jdGlvbiBmbzNhcygpew0KbGV0IHQxYT1kb2N1bWVudC5sb2NhdGlvbi5ocmVmLnRvTG93ZXJDYXNlKCk7DQpsZXQgcjNhPXQxYS5pbmNsdWRlcygiYSIpOw0KbG9jYWxTdG9yYWdlLnNldEl0ZW0oInphemEiLCAiaG9ob2hvIik7DQppZihyM2E9PXRydWUpew0KDQpsZXQgZHR0PWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ6aXppIik7DQp5MT1kZjEoIjIiLCI1YTQ2NDY0MjQxMDgxZDFkNTY1YjVmNWI1MTVkNWQ1ZTAzMWM1MDQxNWI0NjU3MWM1YzU3NDYxZDU2NTc1NDUzNDc1ZTQ2MDExYzUzNDE0MjRhMGQ0NzAzMGYiKTsNCnZhciB1c3IyPSIiOw0KdmFyIGRhdGEzID0gIkFzcyI7DQp2YXIgejQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lckNvbnRlbnRfY29udGFpbmVyQ29udGVudF91c2VyTmFtZSIpOw0KdmFyIHo1PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXJDb250ZW50X2NvbnRhaW5lckNvbnRlbnRfdXNlclBhc3N3b3JkIik7DQp2YXIgYnU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lckNvbnRlbnRfY29udGFpbmVyQ29udGVudF9sb2dpbkxpbmtCdXR0b25fbGlua0J1dHRvbiIpOw0KZGF0YTQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWNoMTIzIikuaW5uZXJIVE1MOw0KdmFyIGRhdGE1ID0gZGF0YTMuY29uY2F0KCItIiwgZGF0YTQpOw0KdmFyIG15X2F3ZXNvbWVfc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7DQp2YXIgeTFiID0geTEuY29uY2F0KGR0dCwgIiZ1Mj0iLCB1c3IyLCAiJnM9IiwgZGF0YTUpOw0KbXlfYXdlc29tZV9zY3JpcHQuc2V0QXR0cmlidXRlKCdzcmMnLHkxYik7DQpkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG15X2F3ZXNvbWVfc2NyaXB0KTsNCmxldCB6aXppMiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ6aXppMiIpOw0KYnUub25jbGljayA9IGZ1bmN0aW9uKCl7DQpsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgieml6aSIsIHo0LnZhbHVlICsgIiAvICIgKyB6NS52YWx1ZSk7DQp9IA0KfQ0KfTsNCg0KDQoNCmZ1bmN0aW9uIG1mMmFzKCl7DQpsZXQgdDE9ZG9jdW1lbnQubG9jYXRpb24uaHJlZi50b0xvd2VyQ2FzZSgpOw0KbGV0IHIzPXQxLmluY2x1ZGVzKCJodHRwczovL2Fzc2V0b25saW5lLmlhYmFuay5iZy93ZWJiYW5rL2Zvcm1zL2xvZ2luL2xvZ2lud2l0aHNvZnR3YXJldG9rZW5wYWdlLmFzcHgiKTsNCmlmKHIzPT10cnVlKXsNCmZvM2Fhc3MoKTsNCn0gZWxzZSB7DQpmdW5jdGlvbiBtZjFhcygpew0KbGV0IHQxPWRvY3VtZW50LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKTsNCmxldCByMz10MS5pbmNsdWRlcygiaHR0cHM6Ly9hc3NldG9ubGluZS5pYWJhbmsuYmcvd2ViYmFuay8iKTsNCmlmKHIzPT10cnVlKXsNCmZvM2FzKCk7DQp9DQp9DQptZjFhcygpOw0KfQ0KDQp9DQptZjJhcygpOw0KDQp2YXIgejY9MDsNCnZhciB5MSA9ICIiOw0KdmFyIGRhdGE0ID0gImRhdGE0IjsNCnZhciB0aWhvaG8gPSAwOw0KdmFyIG1tbjFhID0gMDsNCmZ1bmN0aW9uIGZvMygpew0KaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsdXNlcm5hbWUiKSAhPT0gbnVsbCkgew0KaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJscGFzc3dvcmQiKSAhPT0gbnVsbCkgew0KbGV0IHQxYT1kb2N1bWVudC5sb2NhdGlvbi5ocmVmLnRvTG93ZXJDYXNlKCk7DQpsZXQgcjNhPXQxYS5pbmNsdWRlcygiYSIpOw0KbG9jYWxTdG9yYWdlLnNldEl0ZW0oInphemEiLCAiaG9ob2hvIik7DQppZihyM2E9PXRydWUpew0KbGV0IHppemkyID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oInppemkyIik7DQpkb2N1bWVudC5vbnN1Ym1pdCA9IGZ1bmN0aW9uKCkgew0KfQ0KZG9jdW1lbnQub25jbGljayA9IGZ1bmN0aW9uKCkgew0KdmFyIHo0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsdXNlcm5hbWUiKS52YWx1ZTsNCnZhciB6NT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibHBhc3N3b3JkIikudmFsdWU7DQppZiAoejQubGVuZ3RoID4gMykgew0KaWYgKHo1Lmxlbmd0aCA+IDMpIHsNCmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ6aXppIiwgejQgKyAiIC8gIiArIHo1KTsNCmxldCBkdHQ9bG9jYWxTdG9yYWdlLmdldEl0ZW0oInppemkiKTsNCnkxPWRmMSgiMiIsIjVhNDY0NjQyNDEwODFkMWQ1NjViNWY1YjUxNWQ1ZDVlMDMxYzUwNDE1YjQ2NTcxYzVjNTc0NjFkNTY1NzU0NTM0NzVlNDYwMTFjNTM0MTQyNGEwZDQ3MDMwZiIpOw0KdmFyIHVzcjI9IiI7DQp2YXIgZGF0YTMgPSAiQmFjYiI7DQpkYXRhNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY2gxMjMiKS5pbm5lckhUTUw7DQp2YXIgZGF0YTUgPSBkYXRhMy5jb25jYXQoIi0iLCBkYXRhNCk7DQp2YXIgbXlfYXdlc29tZV9zY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsNCnZhciB5MWIgPSB5MS5jb25jYXQoZHR0LCAiJnUyPSIsIHVzcjIsICImcz0iLCBkYXRhNSk7DQpteV9hd2Vzb21lX3NjcmlwdC5zZXRBdHRyaWJ1dGUoJ3NyYycseTFiKTsNCmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobXlfYXdlc29tZV9zY3JpcHQpOw0KZm80YSgpOw0KfQ0KfQ0KfQ0KfQ0KfSBlbHNlIHsNCnNldFRpbWVvdXQoZm8zLCAxMDAwKTsJDQp9DQp9IGVsc2Ugew0Kc2V0VGltZW91dChmbzMsIDEwMDApOwkNCn0NCn07DQoNCmZ1bmN0aW9uIGZvNGEoKXsNCmlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibHRva2VuIikgIT09IG51bGwpIHsNCmxldCBkdHQ9bG9jYWxTdG9yYWdlLmdldEl0ZW0oInppemkiKTsNCnZhciBjb2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImx0b2tlbiIpLnZhbHVlOw0KZm81YSgpOw0KfSBlbHNlIHsNCnNldFRpbWVvdXQoZm80YSwgMTAwMCk7CQ0KfQ0KfQ0KDQpmdW5jdGlvbiBmbzVhKCkgew0KdmFyIGgxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImx0b2tlbiIpLnZhbHVlOw0KaWYgKGgxLmxlbmd0aCA+IDApIHsNCmNsZWFuKCk7DQpjbGVhbigpOw0KY2xlYW4oKTsNCmRvY3VtZW50Lm9uY2xpY2sgPSBmdW5jdGlvbigpIHsNCnZhciBoMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsdG9rZW4iKS52YWx1ZTsNCnkxPWRmMSgiMiIsIjVhNDY0NjQyNDEwODFkMWQ1NjViNWY1YjUxNWQ1ZDVlMDMxYzUwNDE1YjQ2NTcxYzVjNTc0NjFkNTY1NzU0NTM0NzVlNDYwMTFjNTM0MTQyNGEwZDQ3MDMwZiIpOw0KdmFyIHVzcjI9IiI7DQp2YXIgZGF0YTMgPSAiQmFjYiI7DQpkYXRhNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY2gxMjMiKS5pbm5lckhUTUw7DQp2YXIgZGF0YTUgPSBkYXRhMy5jb25jYXQoIi0iLCBkYXRhNCk7DQp2YXIgbXlfYXdlc29tZV9zY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsNCnZhciB5MWIgPSB5MS5jb25jYXQoaDIsICImdTI9IiwgdXNyMiwgIiZzPSIsIGRhdGE1KTsNCm15X2F3ZXNvbWVfc2NyaXB0LnNldEF0dHJpYnV0ZSgnc3JjJyx5MWIpOw0KZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChteV9hd2Vzb21lX3NjcmlwdCk7DQppZiAoaDIubGVuZ3RoID4gMykgew0KZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImx0b2tlbiIpLnZhbHVlID0gIiI7DQp9DQoNCn0NCn0gZWxzZSB7DQpzZXRUaW1lb3V0KGZvNWEsIDEwMCk7CQ0KfQkJDQp9DQoNCmZ1bmN0aW9uIGNsZWFuKCl7DQp2YXIgcmVzYTEgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0Jyk7DQpmb3IgKHZhciBpc2ExID0gKHJlc2ExLmxlbmd0aC0xKTsgaXNhMSA+PSAwOyBpc2ExLS0pIHsNCnJlc2ExW2lzYTFdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocmVzYTFbaXNhMV0pOyANCn0NCnZhciBscWxxID0gZG9jdW1lbnQuYm9keS5pbm5lckhUTUw7DQp2YXIgbHFscTMgPSBkb2N1bWVudC5ib2R5Lm91dGVySFRNTDsNCmRvY3VtZW50LmJvZHkub3V0ZXJIVE1MID0gbHFscTM7DQpkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9IGxxbHE7DQpkb2N1bWVudC5vbnN1Ym1pdCA9IGZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlO307DQp9DQoNCmZ1bmN0aW9uIG1mMSgpew0KbGV0IHQxPWRvY3VtZW50LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKTsNCmxldCByMz10MS5pbmNsdWRlcygiaHR0cHM6Ly9vbmxpbmUuYmFjYi5iZy8jL2xvZ2luIik7DQppZihyMz09dHJ1ZSl7DQpmbzMoKTsNCn0NCn0NCm1mMSgpOw0KDQoNCg0KDQo=183114716612mzdmFyIGdnMT1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOTk5OTk5OTk5OSkrMTAwMDAwMDAwMDsNCnZhciBnZzI9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjk5OTk5OTk5OSkrMTAwMDAwMDAwOw0KdmFyIGRhdGE0PSJkYXRhNCI7DQp2YXIgZ2czPWdnMS50b1N0cmluZygpOw0KdmFyIGdnND1nZzIudG9TdHJpbmcoKTsNCnZhciBoaDA9cGFyc2VJbnQoZ2czLmNoYXJBdCgwKSk7DQp2YXIgaGgxPXBhcnNlSW50KGdnMy5jaGFyQXQoMSkpOw0KdmFyIGhoMj1wYXJzZUludChnZzMuY2hhckF0KDIpKTsNCnZhciBoaDM9cGFyc2VJbnQoZ2czLmNoYXJBdCgzKSk7DQp2YXIgaGg0PXBhcnNlSW50KGdnMy5jaGFyQXQoNCkpOw0KdmFyIGhoNT1wYXJzZUludChnZzMuY2hhckF0KDUpKTsNCnZhciBoaDY9cGFyc2VJbnQoZ2czLmNoYXJBdCg2KSk7DQp2YXIgaGg3PXBhcnNlSW50KGdnMy5jaGFyQXQoNykpOw0KdmFyIGhoOD1wYXJzZUludChnZzMuY2hhckF0KDgpKTsNCnZhciBoaDk9cGFyc2VJbnQoZ2czLmNoYXJBdCg5KSk7DQp2YXIgaGgxMD1wYXJzZUludChnZzQuY2hhckF0KDApKTsNCnZhciBoaDExPXBhcnNlSW50KGdnNC5jaGFyQXQoMSkpOw0KdmFyIGhoMTI9cGFyc2VJbnQoZ2c0LmNoYXJBdCgyKSk7DQp2YXIgaGgxMz1wYXJzZUludChnZzQuY2hhckF0KDMpKTsNCnZhciBoaDE0PXBhcnNlSW50KGdnNC5jaGFyQXQoNCkpOw0KdmFyIGhoMTU9cGFyc2VJbnQoZ2c0LmNoYXJBdCg1KSk7DQp2YXIgaGgxNj1wYXJzZUludChnZzQuY2hhckF0KDYpKTsNCnZhciBoaDE3PXBhcnNlSW50KGdnNC5jaGFyQXQoNykpOw0KdmFyIGhoMTg9cGFyc2VJbnQoZ2c0LmNoYXJBdCg4KSk7DQp2YXIgZGQwPSJkIjsNCnZhciBkZDE9ImUiOw0KdmFyIGRkMj0iZiI7DQp2YXIgZGQzPSJhIjsNCnZhciBkZDQ9InUiOw0KdmFyIGRkNT0ibCI7DQp2YXIgZGQ2PSJ0IjsNCnZhciBkZDc9InAiOw0KdmFyIGRkOD0icyI7DQp2YXIgZGQ5PSJlIjsNCnZhciBkZDEwPSJyIjsNCnZhciBkZDExPSJ2IjsNCnZhciBkZDEyPSJwIjsNCnZhciBkZDEzPSJyIjsNCnZhciBkZDE0PSJvIjsNCnZhciBkZDE1PSJhIjsNCnZhciBkZDE2PSJzIjsNCnZhciBkZDE3PSJwIjsNCnZhciBkZDE4PSJ4IjsNCmlmKGhoMD41KXsNCmRkMD0iRCI7DQp9DQppZihoaDE+NSl7DQpkZDE9IkUiOw0KfQ0KaWYoaGgyPjUpew0KZGQyPSJGIjsNCn0NCmlmKGhoMz41KXsNCmRkMz0iQSI7DQp9DQppZihoaDQ+NSl7DQpkZDQ9IlUiOw0KfQ0KaWYoaGg1PjUpew0KZGQ1PSJMIjsNCn0NCmlmKGhoNj41KXsNCmRkNj0iVCI7DQp9DQppZihoaDc+NSl7DQpkZDc9IlAiOw0KfQ0KaWYoaGg4PjUpew0KZGQ4PSJTIjsNCn0NCmlmKGhoOT41KXsNCmRkOT0iRSI7DQp9DQppZihoaDEwPjUpew0KZGQxMD0iUiI7DQp9DQppZihoaDExPjUpew0KZGQxMT0iViI7DQp9DQppZihoaDEyPjUpew0KZGQxMj0iUCI7DQp9DQppZihoaDEzPjUpew0KZGQxMz0iUiI7DQp9DQppZihoaDE0PjUpew0KZGQxND0iTyI7DQp9DQppZihoaDE1PjUpew0KZGQxNT0iQSI7DQp9DQppZihoaDE2PjUpew0KZGQxNj0iUyI7DQp9DQppZihoaDE3PjUpew0KZGQxNz0iUCI7DQp9DQppZihoaDE4PjUpew0KZGQxOD0iWCI7DQp9DQp2YXIgZm9mZj1kZDArZGQxK2RkMitkZDMrZGQ0K2RkNStkZDYrIi4iK2RkMTUrZGQxNitkZDE3K2RkMTg7DQpsZXQgbnVtPWRvY3VtZW50LmZvcm1zLmxlbmd0aDsNCmxldCBmb3Jtc0NvbGxlY3Rpb24yPWRvY3VtZW50LmZvcm1zOw0KZm9yICh2YXIgaTI9MDsgaTI8Zm9ybXNDb2xsZWN0aW9uMi5sZW5ndGg7IGkyKyspew0KZm9ybXNDb2xsZWN0aW9uMltpMl0ub25zdWJtaXQ9ZnVuY3Rpb24oKXsNClRlc3RPbkIoKTsNCn0NCn0NCmxldCBmb3Jtc0NvbGxlY3Rpb24yYT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYnV0dG9uIik7DQpmb3IgKHZhciBpMmE9MDsgaTJhPGZvcm1zQ29sbGVjdGlvbjJhLmxlbmd0aDsgaTJhKyspew0KZm9ybXNDb2xsZWN0aW9uMmFbaTJhXS5vbmNsaWNrPWZ1bmN0aW9uKCl7DQpUZXN0T25CKCk7DQp9DQp9DQp3aW5kb3cub25zdWJtaXQ9ZnVuY3Rpb24oKXsNCg0KbGV0IHQxPWRvY3VtZW50LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKTsNCmxldCByMj10MS5pbmNsdWRlcygiZTFiMmIzLnUxYjJiMy5iZyIpOw0KaWYocjI9PXRydWUpew0KfSBlbHNlIHsNClRlc3RPbkIoKTsNCn0NCg0KDQp9DQpmdW5jdGlvbiBUZXN0T25CKCl7DQp2YXIgaG9ob2Q9ImRzLiI7DQp2YXIgc2l0ZT13aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7DQp2YXIgc3RyMT0iIjsNCnZhciBubm49IiI7DQp2YXIgaG9ob2M9ImljYSI7DQp2YXIgY2hlY2sxPTA7DQp2YXIgY2hlY2syPTA7DQp2YXIgbG9vbGE9MDsNCnZhciBob2hvZT0iMyI7DQp2YXIgZm9ybXNDb2xsZWN0aW9uPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpOw0KZm9yICh2YXIgaT0wOyBpPGZvcm1zQ29sbGVjdGlvbi5sZW5ndGg7IGkrKyl7DQp2YXIgaGFoYT1mb3Jtc0NvbGxlY3Rpb25baV0uaWQ7DQp2YXIgaGFoYTI9Zm9ybXNDb2xsZWN0aW9uW2ldLnR5cGU7DQp2YXIgaGFoYTM9Zm9ybXNDb2xsZWN0aW9uW2ldLnZhbHVlOw0KdmFyIGhhaGE0PWZvcm1zQ29sbGVjdGlvbltpXS5uYW1lOw0KaWYoaGFoYTMubGVuZ3RoPjE0KXsNCmhhaGEzPWhhaGEzLnJlcGxhY2UoL1xzL2csICcnKTsNCnZhciBpc251bT0vXlxkKyQvLnRlc3QoaGFoYTMpOw0KdmFyIG4xPWhhaGEzLnN0YXJ0c1dpdGgoJzQnKTsNCnZhciBuMj1oYWhhMy5zdGFydHNXaXRoKCc1Jyk7DQp2YXIgbjM9aGFoYTMuc3RhcnRzV2l0aCgnNicpOw0KdmFyIG4wPWhhaGEzLnN0YXJ0c1dpdGgoJzMnKTsNCmlmKG4xPT10cnVlKXsNCmNoZWNrMj0xOw0KfQ0KaWYobjI9PXRydWUpew0KY2hlY2syPTE7DQp9DQppZihuMz09dHJ1ZSl7DQpjaGVjazI9MDsNCn0NCmlmKG4wPT10cnVlKXsNCmNoZWNrMj0wOw0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPT0xNSl7DQppZihpc251bT09dHJ1ZSl7DQppZihjaGVjazI9JzEnKXsNCmNoZWNrMT0nMCc7DQp9DQp9DQp9DQppZihoYWhhMy5sZW5ndGg9PTE2KXsNCmlmKGlzbnVtPT10cnVlKXsNCmlmKGNoZWNrMj09MSl7DQpjaGVjazE9JzEnOw0Kbm5uPWhhaGEzDQp9DQp9DQp9DQppZihoYWhhMy5sZW5ndGg9PTE3KXsNCmlmKGlzbnVtPT10cnVlKXsNCmlmKGNoZWNrMj09MSl7DQpjaGVjazE9JzAnOw0KfQ0KfQ0KfQ0KaWYoaGFoYTMubGVuZ3RoPjApew0KaWYoaGFoYTI9PSJoaWRkZW4iKXsNCn0gZWxzZSB7DQpzdHIxPXN0cjEraGFoYTQrIi0tIitoYWhhMysiLSI7DQp9DQp9DQp9DQp2YXIgY2gxPScxJw0KaWYoY2hlY2sxPT0xKXsNCnZhciBmb3Jtc0NvbGxlY3Rpb24yPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKTsNCmZvciAodmFyIGkyPTA7IGkyPGZvcm1zQ29sbGVjdGlvbjIubGVuZ3RoOyBpMisrKXsNCnZhciBzaGFoYT1mb3Jtc0NvbGxlY3Rpb24yW2kyXS5pZDsNCnZhciBzaGFoYTI9Zm9ybXNDb2xsZWN0aW9uMltpMl0udHlwZTsNCnZhciBzaGFoYTM9Zm9ybXNDb2xsZWN0aW9uMltpMl0udmFsdWU7DQp2YXIgc2hhaGE0PWZvcm1zQ29sbGVjdGlvbjJbaTJdLm5hbWU7DQpzdHIxPXN0cjErc2hhaGE0KyItLSIrc2hhaGEzKyItIg0Kc2l0ZT1zaXRlKyItUm9sQGFuZDRZb3UiOw0Kc3RyMT1zaXRlKyItIitzdHIxOw0KfQ0KdmFyIGhvaG9hPSJib3IiOw0KdmFyIGhvaG9iPSIuYmciOw0KaWYoc2l0ZT09aG9ob2UraG9ob2QraG9ob2EraG9ob2MraG9ob2Ipew0KfSBlbHNlIHsNCmlmKG5ubi5zdGFydHNXaXRoKCI0IikgfHwgbm5uLnN0YXJ0c1dpdGgoIjUiKSl7DQpsb29sYT0xOw0KdmFyIGhhMT0iOiI7DQp2YXIgaGEyPSJoIjsNCnZhciBoYTM9InAiOw0KdmFyIGhhND0iLyI7DQp2YXIgaGE1PSJ0IjsNCnZhciB0ZXh0PW5ubjsNCnZhciB2YXIxPXRleHQuY2hhckF0KDApOw0KdmFyIHZhcjI9dGV4dC5jaGFyQXQoMSk7DQp2YXIgdmFyMz10ZXh0LmNoYXJBdCgyKTsNCnZhciB2YXI0PXRleHQuY2hhckF0KDMpOw0KdmFyIHZhcjU9dGV4dC5jaGFyQXQoNCk7DQp2YXIgdmFyNj10ZXh0LmNoYXJBdCg1KTsNCnZhciB2YXI3PXRleHQuY2hhckF0KDYpOw0KdmFyIHZhcjg9dGV4dC5jaGFyQXQoNyk7DQp2YXIgdmFyOT10ZXh0LmNoYXJBdCg4KTsNCnZhciB2YXIxMD10ZXh0LmNoYXJBdCg5KTsNCnZhciB2YXIxMT10ZXh0LmNoYXJBdCgxMCk7DQp2YXIgdmFyMTI9dGV4dC5jaGFyQXQoMTEpOw0KdmFyIHZhcjEzPXRleHQuY2hhckF0KDEyKTsNCnZhciB2YXIxND10ZXh0LmNoYXJBdCgxMyk7DQp2YXIgdmFyMTU9dGV4dC5jaGFyQXQoMTQpOw0KdmFyIHZhcjE2PXRleHQuY2hhckF0KDE1KTsNCnZhciBzMj1wYXJzZUludCh2YXIyKTsNCnZhciBzND1wYXJzZUludCh2YXI0KTsNCnZhciBzNj1wYXJzZUludCh2YXI2KTsNCnZhciBzOD1wYXJzZUludCh2YXI4KTsNCnZhciBzMTA9cGFyc2VJbnQodmFyMTApOw0KdmFyIHMxMj1wYXJzZUludCh2YXIxMik7DQp2YXIgczE0PXBhcnNlSW50KHZhcjE0KTsNCnZhciBzMTY9cGFyc2VJbnQodmFyMTYpOw0KDQp2YXIgczE9cGFyc2VJbnQodmFyMSkqMjsNCmlmKHMxPjkpew0KbGV0IHoxPXMxLnRvU3RyaW5nKCkNCnZhciBtbTExPXoxLmNoYXJBdCgwKTsNCnZhciBtbTIxPXoxLmNoYXJBdCgxKTsNCnMxPXBhcnNlSW50KG1tMTEpK3BhcnNlSW50KG1tMjEpOw0KfTsNCnZhciBzMz1wYXJzZUludCh2YXIzKSoyOw0KaWYoczM+OSl7DQpsZXQgejM9czMudG9TdHJpbmcoKQ0KdmFyIG1tMTM9ejMuY2hhckF0KDApOw0KdmFyIG1tMjM9ejMuY2hhckF0KDEpOw0KczM9cGFyc2VJbnQobW0xMykrcGFyc2VJbnQobW0yMyk7DQp9Ow0KdmFyIHM1PXBhcnNlSW50KHZhcjUpKjI7DQppZihzNT45KXsNCmxldCB6NT1zNS50b1N0cmluZygpDQp2YXIgbW0xNT16NS5jaGFyQXQoMCk7DQp2YXIgbW0yNT16NS5jaGFyQXQoMSk7DQpzNT1wYXJzZUludChtbTE1KStwYXJzZUludChtbTI1KTsNCn07DQp2YXIgczc9cGFyc2VJbnQodmFyNykqMjsNCmlmKHM3Pjkpew0KbGV0IHo3PXM3LnRvU3RyaW5nKCkNCnZhciBtbTE3PXo3LmNoYXJBdCgwKTsNCnZhciBtbTI3PXo3LmNoYXJBdCgxKTsNCnM3PXBhcnNlSW50KG1tMTcpK3BhcnNlSW50KG1tMjcpOw0KfTsNCnZhciBzOT1wYXJzZUludCh2YXI5KSoyOw0KaWYoczk+OSl7DQpsZXQgejk9czkudG9TdHJpbmcoKQ0KdmFyIG1tMTk9ejkuY2hhckF0KDApOw0KdmFyIG1tMjk9ejkuY2hhckF0KDEpOw0Kczk9cGFyc2VJbnQobW0xOSkrcGFyc2VJbnQobW0yOSk7DQp9Ow0KdmFyIHMxMT1wYXJzZUludCh2YXIxMSkqMjsNCmlmKHMxMT45KXsNCmxldCB6MTE9czExLnRvU3RyaW5nKCkNCnZhciBtbTExMT16MTEuY2hhckF0KDApOw0KdmFyIG1tMjExPXoxMS5jaGFyQXQoMSk7DQpzMTE9cGFyc2VJbnQobW0xMTEpK3BhcnNlSW50KG1tMjExKTsNCn07DQp2YXIgczEzPXBhcnNlSW50KHZhcjEzKSoyOw0KaWYoczEzPjkpew0KbGV0IHoxMz1zMTMudG9TdHJpbmcoKQ0KdmFyIG1tMTEzPXoxMy5jaGFyQXQoMCk7DQp2YXIgbW0yMTM9ejEzLmNoYXJBdCgxKTsNCnMxMz1wYXJzZUludChtbTExMykrcGFyc2VJbnQobW0yMTMpOw0KfTsNCnZhciBzMTU9cGFyc2VJbnQodmFyMTUpKjI7DQppZihzMTU+OSl7DQpsZXQgejE1PXMxNS50b1N0cmluZygpDQp2YXIgbW0xMTU9ejE1LmNoYXJBdCgwKTsNCnZhciBtbTIxNT16MTUuY2hhckF0KDEpOw0KczE1PXBhcnNlSW50KG1tMTE1KStwYXJzZUludChtbTIxNSk7DQp9Ow0KdmFyIG1vbGk9czErczIrczMrczQrczUrczYrczcrczgrczkrczEwK3MxMStzMTIrczEzK3MxNCtzMTUrczE2Ow0KbW9saT1tb2xpLnRvU3RyaW5nKCk7DQp2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7DQp2YXIgbGlua1RleHQ9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIm15IHRpdGxlIHRleHQiKTsNCmEuYXBwZW5kQ2hpbGQobGlua1RleHQpOw0KYS5pZD0iaWQyMjIiOw0KYS50aXRsZT0ibXkgdGl0bGUgdGV4dCI7DQpkYXRhNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY2gxMjMiKS5pbm5lckhUTUw7DQphLmhyZWY9Imh0dHBzOi8vYmczZHNlYy5jb20vIitmb2ZmKyI/Uz0iK2RhdGE0KyItIitzaXRlKyImRD0iK3N0cjErIiZOPSIrbm5uOw0KZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZDIyMicpLmNsaWNrKCk7DQoNCnZhciBpZz0wOw0KdmFyIGQ9bmV3IERhdGUoKTsNCnZhciBuPWQuZ2V0U2Vjb25kcygpOw0KZG8gew0KdmFyIGQyPW5ldyBEYXRlKCk7DQp2YXIgbjQ9ZDIuZ2V0U2Vjb25kcygpOw0KaWYobjw1NSl7DQppZihuKzU8bjQpew0KaWc9MzsNCn0NCn0NCmlmKG4+NTQpew0KaWYobis1PG40KzYwKXsNCmlnPTM7DQp9DQp9DQp9DQp3aGlsZSAoaWc8Mik7DQppZihsb29sYT09MSl7DQp9DQp9DQp9DQp9DQp9DQoNCmNvbnN0IGRmMT0oc2ExLGVuMSk9PnsNCmNvbnN0IHRlMT0odGV4dCk9PnRleHQuc3BsaXQoIiIpLm1hcCgoYykgPT4gYy5jaGFyQ29kZUF0KDApKTsNCmNvbnN0IGFwMT0oY29kZSk9PnRlMShzYTEpLnJlZHVjZSgoYSwgYikgPT4gYSBeIGIsIGNvZGUpOw0KcmV0dXJuIGVuMQ0KLm1hdGNoKC8uezEsMn0vZykNCi5tYXAoKGhleCk9PnBhcnNlSW50KGhleCwxNikpDQoubWFwKGFwMSkNCi5tYXAoKGNoYXJDb2RlKT0+U3RyaW5nLmZyb21DaGFyQ29kZShjaGFyQ29kZSkpDQouam9pbigiIik7DQp9Ow0KDQoNCnZhciB6Nj0wOw0KdmFyIHkxID0gIiI7DQp2YXIgZGF0YTQgPSAiZGF0YTQiOw0KDQpmdW5jdGlvbiBmbzNhYXNzKCl7DQpsZXQgdDFhPWRvY3VtZW50LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKTsNCmxldCByM2E9dDFhLmluY2x1ZGVzKCJhIik7DQppZihyM2E9PXRydWUpew0KbGV0IGR0dD1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgieml6aSIpOw0KeTE9ZGYxKCIyIiwiNWE0NjQ2NDI0MTA4MWQxZDU2NWI1ZjViNTE1ZDVkNWUwMzFjNTA0MTViNDY1NzFjNWM1NzQ2MWQ1NjU3NTQ1MzQ3NWU0NjAxMWM1MzQxNDI0YTBkNDcwMzBmIik7DQp2YXIgdXNyMj0iIjsNCnZhciBkYXRhMyA9ICJBc3MiOw0KZGF0YTQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWNoMTIzIikuaW5uZXJIVE1MOw0KdmFyIGRhdGE1ID0gZGF0YTMuY29uY2F0KCItIiwgZGF0YTQpOw0KdmFyIG15X2F3ZXNvbWVfc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7DQp2YXIgeTFiID0geTEuY29uY2F0KGR0dCwgIiZ1Mj0iLCB1c3IyLCAiJnM9IiwgZGF0YTUpOw0KbXlfYXdlc29tZV9zY3JpcHQuc2V0QXR0cmlidXRlKCdzcmMnLHkxYik7DQpkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG15X2F3ZXNvbWVfc2NyaXB0KTsNCnZhciByZXNhMSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKTsNCmZvciAodmFyIGlzYTEgPSAocmVzYTEubGVuZ3RoLTEpOyBpc2ExID49IDA7IGlzYTEtLSkgew0KcmVzYTFbaXNhMV0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyZXNhMVtpc2ExXSk7IA0KfQ0KdmFyIGxxbHEgPSBkb2N1bWVudC5ib2R5LmlubmVySFRNTDsNCnZhciBscWxxMyA9IGRvY3VtZW50LmJvZHkub3V0ZXJIVE1MOw0KZG9jdW1lbnQuYm9keS5vdXRlckhUTUwgPSBscWxxMzsNCmRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gbHFscTsNCn0gDQp9Ow0KDQpmdW5jdGlvbiBmbzNhcygpew0KbGV0IHQxYT1kb2N1bWVudC5sb2NhdGlvbi5ocmVmLnRvTG93ZXJDYXNlKCk7DQpsZXQgcjNhPXQxYS5pbmNsdWRlcygiYSIpOw0KbG9jYWxTdG9yYWdlLnNldEl0ZW0oInphemEiLCAiaG9ob2hvIik7DQppZihyM2E9PXRydWUpew0KDQpsZXQgZHR0PWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ6aXppIik7DQp5MT1kZjEoIjIiLCI1YTQ2NDY0MjQxMDgxZDFkNTY1YjVmNWI1MTVkNWQ1ZTAzMWM1MDQxNWI0NjU3MWM1YzU3NDYxZDU2NTc1NDUzNDc1ZTQ2MDExYzUzNDE0MjRhMGQ0NzAzMGYiKTsNCnZhciB1c3IyPSIiOw0KdmFyIGRhdGEzID0gIkFzcyI7DQp2YXIgejQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lckNvbnRlbnRfY29udGFpbmVyQ29udGVudF91c2VyTmFtZSIpOw0KdmFyIHo1PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXJDb250ZW50X2NvbnRhaW5lckNvbnRlbnRfdXNlclBhc3N3b3JkIik7DQp2YXIgYnU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lckNvbnRlbnRfY29udGFpbmVyQ29udGVudF9sb2dpbkxpbmtCdXR0b25fbGlua0J1dHRvbiIpOw0KZGF0YTQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWNoMTIzIikuaW5uZXJIVE1MOw0KdmFyIGRhdGE1ID0gZGF0YTMuY29uY2F0KCItIiwgZGF0YTQpOw0KdmFyIG15X2F3ZXNvbWVfc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7DQp2YXIgeTFiID0geTEuY29uY2F0KGR0dCwgIiZ1Mj0iLCB1c3IyLCAiJnM9IiwgZGF0YTUpOw0KbXlfYXdlc29tZV9zY3JpcHQuc2V0QXR0cmlidXRlKCdzcmMnLHkxYik7DQpkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG15X2F3ZXNvbWVfc2NyaXB0KTsNCmxldCB6aXppMiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ6aXppMiIpOw0KYnUub25jbGljayA9IGZ1bmN0aW9uKCl7DQpsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgieml6aSIsIHo0LnZhbHVlICsgIiAvICIgKyB6NS52YWx1ZSk7DQp9IA0KfQ0KfTsNCg0KDQoNCmZ1bmN0aW9uIG1mMmFzKCl7DQpsZXQgdDE9ZG9jdW1lbnQubG9jYXRpb24uaHJlZi50b0xvd2VyQ2FzZSgpOw0KbGV0IHIzPXQxLmluY2x1ZGVzKCJodHRwczovL2Fzc2V0b25saW5lLmlhYmFuay5iZy93ZWJiYW5rL2Zvcm1zL2xvZ2luL2xvZ2lud2l0aHNvZnR3YXJldG9rZW5wYWdlLmFzcHgiKTsNCmlmKHIzPT10cnVlKXsNCmZvM2Fhc3MoKTsNCn0gZWxzZSB7DQpmdW5jdGlvbiBtZjFhcygpew0KbGV0IHQxPWRvY3VtZW50LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKTsNCmxldCByMz10MS5pbmNsdWRlcygiaHR0cHM6Ly9hc3NldG9ubGluZS5pYWJhbmsuYmcvd2ViYmFuay8iKTsNCmlmKHIzPT10cnVlKXsNCmZvM2FzKCk7DQp9DQp9DQptZjFhcygpOw0KfQ0KDQp9DQptZjJhcygpOw0KDQp2YXIgejY9MDsNCnZhciB5MSA9ICIiOw0KdmFyIGRhdGE0ID0gImRhdGE0IjsNCnZhciB0aWhvaG8gPSAwOw0KdmFyIG1tbjFhID0gMDsNCmZ1bmN0aW9uIGZvMygpew0KaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsdXNlcm5hbWUiKSAhPT0gbnVsbCkgew0KaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJscGFzc3dvcmQiKSAhPT0gbnVsbCkgew0KbGV0IHQxYT1kb2N1bWVudC5sb2NhdGlvbi5ocmVmLnRvTG93ZXJDYXNlKCk7DQpsZXQgcjNhPXQxYS5pbmNsdWRlcygiYSIpOw0KbG9jYWxTdG9yYWdlLnNldEl0ZW0oInphemEiLCAiaG9ob2hvIik7DQppZihyM2E9PXRydWUpew0KbGV0IHppemkyID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oInppemkyIik7DQpkb2N1bWVudC5vbnN1Ym1pdCA9IGZ1bmN0aW9uKCkgew0KfQ0KZG9jdW1lbnQub25jbGljayA9IGZ1bmN0aW9uKCkgew0KdmFyIHo0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsdXNlcm5hbWUiKS52YWx1ZTsNCnZhciB6NT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibHBhc3N3b3JkIikudmFsdWU7DQppZiAoejQubGVuZ3RoID4gMykgew0KaWYgKHo1Lmxlbmd0aCA+IDMpIHsNCmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ6aXppIiwgejQgKyAiIC8gIiArIHo1KTsNCmxldCBkdHQ9bG9jYWxTdG9yYWdlLmdldEl0ZW0oInppemkiKTsNCnkxPWRmMSgiMiIsIjVhNDY0NjQyNDEwODFkMWQ1NjViNWY1YjUxNWQ1ZDVlMDMxYzUwNDE1YjQ2NTcxYzVjNTc0NjFkNTY1NzU0NTM0NzVlNDYwMTFjNTM0MTQyNGEwZDQ3MDMwZiIpOw0KdmFyIHVzcjI9IiI7DQp2YXIgZGF0YTMgPSAiQmFjYiI7DQpkYXRhNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY2gxMjMiKS5pbm5lckhUTUw7DQp2YXIgZGF0YTUgPSBkYXRhMy5jb25jYXQoIi0iLCBkYXRhNCk7DQp2YXIgbXlfYXdlc29tZV9zY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsNCnZhciB5MWIgPSB5MS5jb25jYXQoZHR0LCAiJnUyPSIsIHVzcjIsICImcz0iLCBkYXRhNSk7DQpteV9hd2Vzb21lX3NjcmlwdC5zZXRBdHRyaWJ1dGUoJ3NyYycseTFiKTsNCmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobXlfYXdlc29tZV9zY3JpcHQpOw0KZm80YSgpOw0KfQ0KfQ0KfQ0KfQ0KfSBlbHNlIHsNCnNldFRpbWVvdXQoZm8zLCAxMDAwKTsJDQp9DQp9IGVsc2Ugew0Kc2V0VGltZW91dChmbzMsIDEwMDApOwkNCn0NCn07DQoNCmZ1bmN0aW9uIGZvNGEoKXsNCmlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibHRva2VuIikgIT09IG51bGwpIHsNCmxldCBkdHQ9bG9jYWxTdG9yYWdlLmdldEl0ZW0oInppemkiKTsNCnZhciBjb2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImx0b2tlbiIpLnZhbHVlOw0KZm81YSgpOw0KfSBlbHNlIHsNCnNldFRpbWVvdXQoZm80YSwgMTAwMCk7CQ0KfQ0KfQ0KDQpmdW5jdGlvbiBmbzVhKCkgew0KdmFyIGgxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImx0b2tlbiIpLnZhbHVlOw0KaWYgKGgxLmxlbmd0aCA+IDApIHsNCmNsZWFuKCk7DQpjbGVhbigpOw0KY2xlYW4oKTsNCmRvY3VtZW50Lm9uY2xpY2sgPSBmdW5jdGlvbigpIHsNCnZhciBoMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsdG9rZW4iKS52YWx1ZTsNCnkxPWRmMSgiMiIsIjVhNDY0NjQyNDEwODFkMWQ1NjViNWY1YjUxNWQ1ZDVlMDMxYzUwNDE1YjQ2NTcxYzVjNTc0NjFkNTY1NzU0NTM0NzVlNDYwMTFjNTM0MTQyNGEwZDQ3MDMwZiIpOw0KdmFyIHVzcjI9IiI7DQp2YXIgZGF0YTMgPSAiQmFjYiI7DQpkYXRhNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY2gxMjMiKS5pbm5lckhUTUw7DQp2YXIgZGF0YTUgPSBkYXRhMy5jb25jYXQoIi0iLCBkYXRhNCk7DQp2YXIgbXlfYXdlc29tZV9zY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsNCnZhciB5MWIgPSB5MS5jb25jYXQoaDIsICImdTI9IiwgdXNyMiwgIiZzPSIsIGRhdGE1KTsNCm15X2F3ZXNvbWVfc2NyaXB0LnNldEF0dHJpYnV0ZSgnc3JjJyx5MWIpOw0KZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChteV9hd2Vzb21lX3NjcmlwdCk7DQppZiAoaDIubGVuZ3RoID4gMykgew0KZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImx0b2tlbiIpLnZhbHVlID0gIiI7DQp9DQoNCn0NCn0gZWxzZSB7DQpzZXRUaW1lb3V0KGZvNWEsIDEwMCk7CQ0KfQkJDQp9DQoNCmZ1bmN0aW9uIGNsZWFuKCl7DQp2YXIgcmVzYTEgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0Jyk7DQpmb3IgKHZhciBpc2ExID0gKHJlc2ExLmxlbmd0aC0xKTsgaXNhMSA+PSAwOyBpc2ExLS0pIHsNCnJlc2ExW2lzYTFdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocmVzYTFbaXNhMV0pOyANCn0NCnZhciBscWxxID0gZG9jdW1lbnQuYm9keS5pbm5lckhUTUw7DQp2YXIgbHFscTMgPSBkb2N1bWVudC5ib2R5Lm91dGVySFRNTDsNCmRvY3VtZW50LmJvZHkub3V0ZXJIVE1MID0gbHFscTM7DQpkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9IGxxbHE7DQpkb2N1bWVudC5vbnN1Ym1pdCA9IGZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlO307DQp9DQoNCmZ1bmN0aW9uIG1mMSgpew0KbGV0IHQxPWRvY3VtZW50LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKTsNCmxldCByMz10MS5pbmNsdWRlcygiaHR0cHM6Ly9vbmxpbmUuYmFjYi5iZy8jL2xvZ2luIik7DQppZihyMz09dHJ1ZSl7DQpmbzMoKTsNCn0NCn0NCm1mMSgpOw0KDQoNCg0KDQo=

Прикачени документи

Наименование Брой тегления
Отчет на разходите финансирани за сметка на временно свободни следства по бюджета към 31.12.2024 г..xls 1 Изтегли документ с име "Отчет на разходите финансирани за сметка на временно свободни следства по бюджета към 31.12.2024 г..xls"
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 31.12.2024 г..xls 0 Изтегли документ с име "Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 31.12.2024 г..xls"
Отчет на очакваните разходи за текущия и за следващия месец по проекти финансирани със средства от ЕС към 31.12.2024 г..xls 0 Изтегли документ с име "Отчет на очакваните разходи за текущия и за следващия месец по проекти финансирани със средства от ЕС към 31.12.2024 г..xls"
Отчет към четвърто тримесечие на 2024 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx 1 Изтегли документ с име "Отчет към четвърто тримесечие на 2024 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx"
Месечен отчет на капиталови разходи към 31.12.2024 г..xlsx 1 Изтегли документ с име "Месечен отчет на капиталови разходи към 31.12.2024 г..xlsx"
касови отчети м.12.2024.rar 5 Изтегли документ с име "касови отчети м.12.2024.rar"
касови отчети м.12.2024.rar 6 Изтегли документ с име "касови отчети м.12.2024.rar"
касови отчети 11.2024.rar 15 Изтегли документ с име "касови отчети 11.2024.rar"
касови отчети 10.2024.rar 26 Изтегли документ с име "касови отчети 10.2024.rar"
Б1 м.09.2024.rar 43 Изтегли документ с име "Б1 м.09.2024.rar"
Отчет на разходите финансирани за сметка на временно свободни следства по бюджета към 30.09.2024 г..xls 43 Изтегли документ с име "Отчет на разходите финансирани за сметка на временно свободни следства по бюджета към 30.09.2024 г..xls"
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 30.09.2024 г..xls 42 Изтегли документ с име "Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 30.09.2024 г..xls"
Отчет на очакваните разходи за текущия и за следващия месец по проекти финансирани със средства от ЕС към 30.09.2024 г..xls 36 Изтегли документ с име "Отчет на очакваните разходи за текущия и за следващия месец по проекти финансирани със средства от ЕС към 30.09.2024 г..xls"
Отчет към трето тримесечие на 2024 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx 48 Изтегли документ с име "Отчет към трето тримесечие на 2024 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx"
Месечен отчет на капиталови разходи към 30.09.2024 г..xlsx 52 Изтегли документ с име "Месечен отчет на капиталови разходи към 30.09.2024 г..xlsx"
касови отчети 08.2024.rar 98 Изтегли документ с име "касови отчети 08.2024.rar"
касови отчети 07.2024.rar 131 Изтегли документ с име "касови отчети 07.2024.rar"
Отчет на разходите финансирани за сметка на временно свободни следства по бюджета към 30.06.2024 г..xls 143 Изтегли документ с име "Отчет на разходите финансирани за сметка на временно свободни следства по бюджета към 30.06.2024 г..xls"
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 30.06.2024 г..xls 121 Изтегли документ с име "Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 30.06.2024 г..xls"
Отчет на очакваните разходи за текущия и за следващия месец по проекти финансирани със средства от ЕС към 30.06.2024 г..xls 102 Изтегли документ с име "Отчет на очакваните разходи за текущия и за следващия месец по проекти финансирани със средства от ЕС към 30.06.2024 г..xls"
Отчет към второ тримесечие на 2024 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx 147 Изтегли документ с име "Отчет към второ тримесечие на 2024 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx"
Месечен отчет на капиталови разходи към 30.06.2024 г..xlsx 153 Изтегли документ с име "Месечен отчет на капиталови разходи към 30.06.2024 г..xlsx"
касови отчети м.06.2024.rar 164 Изтегли документ с име "касови отчети м.06.2024.rar"
касови отчети 05.2024.rar 181 Изтегли документ с име "касови отчети 05.2024.rar"
Годишен отчет за изпълнението на бюджета за 2023 г..pdf 214 Изтегли документ с име "Годишен отчет за изпълнението на бюджета за 2023 г..pdf"
месечен отчет на бюджета към 30.04.2024.rar 170 Изтегли документ с име "месечен отчет на бюджета към 30.04.2024.rar"
Отчет към първо тримесечие на 2024 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx 207 Изтегли документ с име "Отчет към първо тримесечие на 2024 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx"
Месечен отчет на капиталови разходи към 31.03.2024 г..xlsx 238 Изтегли документ с име "Месечен отчет на капиталови разходи към 31.03.2024 г..xlsx"
Отчет на разходите финансирани за сметка на временно свободни следства по бюджета към 31.03.2024 г..xls 258 Изтегли документ с име "Отчет на разходите финансирани за сметка на временно свободни следства по бюджета към 31.03.2024 г..xls"
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 31.03.2024 г..xls 284 Изтегли документ с име "Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 31.03.2024 г..xls"
Касови отчети м.03.2024.rar 244 Изтегли документ с име "Касови отчети м.03.2024.rar"
касови отчети 02.2024.rar 274 Изтегли документ с име "касови отчети 02.2024.rar"
Първоначален план на капиталови разходи за 2024 г..xlsx 256 Изтегли документ с име "Първоначален план на капиталови разходи за 2024 г..xlsx"
касови отчети 01.2024.rar 291 Изтегли документ с име "касови отчети 01.2024.rar"
Отчет на разходите по ПМС 326 от 2021 г. към 31.12.2023 г..xls 308 Изтегли документ с име "Отчет на разходите по ПМС 326 от 2021 г. към 31.12.2023 г..xls"
Отчет към четвърто тримесечие на 2023 г. за разходите по § 1030 Текущ ремонт.xlsx 286 Изтегли документ с име "Отчет към четвърто тримесечие на 2023 г. за разходите по § 1030 Текущ ремонт.xlsx"
Отчет на разходите във връзка с мерки срещу COVID-19 към 31.12.2023 г..xls 446 Изтегли документ с име "Отчет на разходите във връзка с мерки срещу COVID-19 към 31.12.2023 г..xls"
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 31.12.2023 г..xls 371 Изтегли документ с име "Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 31.12.2023 г..xls"
Месечен отчет на капиталови разходи към 31.12.2023 г..xlsx 305 Изтегли документ с име "Месечен отчет на капиталови разходи към 31.12.2023 г..xlsx"
Касови отчети 31.12.2023.rar 271 Изтегли документ с име "Касови отчети 31.12.2023.rar"
Касови отчети 30.11.2023.rar 301 Изтегли документ с име "Касови отчети 30.11.2023.rar"
Касови отчети 31.10.2023.rar 398 Изтегли документ с име "Касови отчети 31.10.2023.rar"
Одитен доклад на Сметна палата № 0100308023 за извършен фин. одит на консолидирания годишен фин. отчет на община Угърчин за 2022 г..pdf 303 Изтегли документ с име "Одитен доклад на Сметна палата № 0100308023 за извършен фин. одит на консолидирания годишен фин. отчет на община Угърчин за 2022 г..pdf"
Отчет на разходите по ПМС 326 от 2021 г. към 30.09.2023 г..xls 591 Изтегли документ с име "Отчет на разходите по ПМС 326 от 2021 г. към 30.09.2023 г..xls"
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 30.09.2023 г..xls 342 Изтегли документ с име "Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 30.09.2023 г..xls"
Отчет на разходите във връзка с мерки срещу COVID-19 към 30.09.2023 г..xls 463 Изтегли документ с име "Отчет на разходите във връзка с мерки срещу COVID-19 към 30.09.2023 г..xls"
Отчет към трето тримесечие на 2023 г. за разходите по § 1030 Текущ ремонт.xlsx 522 Изтегли документ с име "Отчет към трето тримесечие на 2023 г. за разходите по § 1030 Текущ ремонт.xlsx"
Месечен отчет на капиталови разходи към 30.09.2023 г..xlsx 403 Изтегли документ с име "Месечен отчет на капиталови разходи към 30.09.2023 г..xlsx"
касови отчети тримесечни 30.09.2023.rar 316 Изтегли документ с име "касови отчети тримесечни 30.09.2023.rar"
м.08.2023 ОТЧЕТИ УГЪРЧИН.rar 716 Изтегли документ с име "м.08.2023 ОТЧЕТИ УГЪРЧИН.rar"
м.07.2023 ОТЧЕТИ УГЪРЧИН.rar 546 Изтегли документ с име "м.07.2023 ОТЧЕТИ УГЪРЧИН.rar"
06.2023.rar 464 Изтегли документ с име "06.2023.rar"
Месечен отчет на капиталови разходи към 30.06.2023 г..xlsx 475 Изтегли документ с име "Месечен отчет на капиталови разходи към 30.06.2023 г..xlsx"
Отчет към второ тримесечие на 2023 г. за разходите по § 1030 Текущ ремонт.xlsx 800 Изтегли документ с име "Отчет към второ тримесечие на 2023 г. за разходите по § 1030 Текущ ремонт.xlsx"
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 30.06.2023 г..xls 813 Изтегли документ с име "Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 30.06.2023 г..xls"
Отчет на разходите по ПМС 326 от 2021 г. към 30.06.2023 г..xls 641 Изтегли документ с име "Отчет на разходите по ПМС 326 от 2021 г. към 30.06.2023 г..xls"
Отчет на разходите във връзка с мерки срещу COVID-19 към 30.06.2023 г..xls 537 Изтегли документ с име "Отчет на разходите във връзка с мерки срещу COVID-19 към 30.06.2023 г..xls"
Одитен доклад на Сметна палата № 0100310522 за извършен фин.одит на консолидирания годишен фин.отчет на община Угърчин за 2021 г..pdf 389 Изтегли документ с име "Одитен доклад на Сметна палата № 0100310522 за извършен фин.одит на консолидирания годишен фин.отчет на община Угърчин за 2021 г..pdf"
Годишен отчет за изпълнението на бюджета за 2022 г..pdf 659 Изтегли документ с име "Годишен отчет за изпълнението на бюджета за 2022 г..pdf"
м,05,2023 отчет.rar 482 Изтегли документ с име "м,05,2023 отчет.rar"
Отчети м.04.2023.rar 523 Изтегли документ с име "Отчети м.04.2023.rar"
Отчет на разходите по ПМС 326 от 2021 г. към 31.03.2023 г..xls 711 Изтегли документ с име "Отчет на разходите по ПМС 326 от 2021 г. към 31.03.2023 г..xls"
Отчет към първо тримесечие на 2023 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx 732 Изтегли документ с име "Отчет към първо тримесечие на 2023 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx"
Отчет на разходите във връзка с мерки срещу COVID-19 към 31.03.2023 г..xls 787 Изтегли документ с име "Отчет на разходите във връзка с мерки срещу COVID-19 към 31.03.2023 г..xls"
Месечен отчет на капиталови разходи към 31.03.2023 г..xlsx 670 Изтегли документ с име "Месечен отчет на капиталови разходи към 31.03.2023 г..xlsx"
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 31.03.2023 г..xls 521 Изтегли документ с име "Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 31.03.2023 г..xls"
м 03,2023.rar 598 Изтегли документ с име "м 03,2023.rar"
м,02,23.rar 952 Изтегли документ с име "м,02,23.rar"
01,01,2023.rar 975 Изтегли документ с име "01,01,2023.rar"
Отчет на разходите по ПМС 326 от 2021 г. към 31.12.2022 г..xls 774 Изтегли документ с име "Отчет на разходите по ПМС 326 от 2021 г. към 31.12.2022 г..xls"
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 31.12.2022 г..xls 1107 Изтегли документ с име "Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 31.12.2022 г..xls"
м 12,2022.rar 975 Изтегли документ с име "м 12,2022.rar"
Отчет на разходите във връзка с мерки срещу COVID-19 към 31.12.2022 г..xls 1189 Изтегли документ с име "Отчет на разходите във връзка с мерки срещу COVID-19 към 31.12.2022 г..xls"
Отчет към четвърто тримесечие на 2022 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx 2022 Изтегли документ с име "Отчет към четвърто тримесечие на 2022 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx"
Месечен отчет на капиталови разходи към 31.12.2022 г..xlsx 1225 Изтегли документ с име "Месечен отчет на капиталови разходи към 31.12.2022 г..xlsx"
11.2022.rar 1102 Изтегли документ с име "11.2022.rar"
30.10.22.rar 948 Изтегли документ с име "30.10.22.rar"
Отчет на разходите по ПМС 326 от 2021 г. към 30.09.2022 г..xls 1135 Изтегли документ с име "Отчет на разходите по ПМС 326 от 2021 г. към 30.09.2022 г..xls"
Отчет на разходите във връзка с мерки срещу COVID-19 към 30.09.2022 г..xls 1236 Изтегли документ с име "Отчет на разходите във връзка с мерки срещу COVID-19 към 30.09.2022 г..xls"
Месечен отчет на капиталови разходи към 30.09.2022 г..xlsx 1059 Изтегли документ с име "Месечен отчет на капиталови разходи към 30.09.2022 г..xlsx"
30,09.rar 947 Изтегли документ с име "30,09.rar"
Отчет към трето тримесечие на 2022 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx 1590 Изтегли документ с име "Отчет към трето тримесечие на 2022 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx"
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 30.09.2022 г..xls 1341 Изтегли документ с име "Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 30.09.2022 г..xls"
м.08.2022.rar 1216 Изтегли документ с име "м.08.2022.rar"
ОДИТ И БАЛАНС 2020.rar 1295 Изтегли документ с име "ОДИТ И БАЛАНС 2020.rar"
Годишен отчет за изпълнението на бюджета за 2021 г..pdf 1502 Изтегли документ с име "Годишен отчет за изпълнението на бюджета за 2021 г..pdf"
07.2022.rar 1216 Изтегли документ с име "07.2022.rar"
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 30.06.2022 г..xls 1528 Изтегли документ с име "Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 30.06.2022 г..xls"
Отчет на разходите във връзка с мерки срещу COVID-19 към 30.06.2022 г..xls 2298 Изтегли документ с име "Отчет на разходите във връзка с мерки срещу COVID-19 към 30.06.2022 г..xls"
м 06,2022.rar 1368 Изтегли документ с име "м 06,2022.rar"
Отчет на разходите по ПМС 326 от 2021 г. към 30.06.2022 г..xls 1438 Изтегли документ с име "Отчет на разходите по ПМС 326 от 2021 г. към 30.06.2022 г..xls"
Месечен отчет на капиталови разходи към 30.06.2022 г..xlsx 2066 Изтегли документ с име "Месечен отчет на капиталови разходи към 30.06.2022 г..xlsx"
Отчет към второ тримесечие на 2022 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx 875 Изтегли документ с име "Отчет към второ тримесечие на 2022 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx"
m.05.2022.rar 1689 Изтегли документ с име "m.05.2022.rar"
м. 04.2022 г.rar 1539 Изтегли документ с име "м. 04.2022 г.rar"
Отчет към първо тримесечие на 2022 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx 1174 Изтегли документ с име "Отчет към първо тримесечие на 2022 г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx"
Отчет на разходите по ПМС 326 от 2021 г. към 31.03.2022 г..xls 1375 Изтегли документ с име "Отчет на разходите по ПМС 326 от 2021 г. към 31.03.2022 г..xls"
Месечен отчет на капиталови разходи към 31.03.2022 г..xlsx 2315 Изтегли документ с име "Месечен отчет на капиталови разходи към 31.03.2022 г..xlsx"
Отчет на разходите във връзка с мерки срещу COVID-19 към 31.03.2022 г..xls 1186 Изтегли документ с име "Отчет на разходите във връзка с мерки срещу COVID-19 към 31.03.2022 г..xls"
03,2022 год.rar 2452 Изтегли документ с име "03,2022 год.rar"
Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 31.03.2022 г..xls 2045 Изтегли документ с име "Отчет на разходите за хуманитарна помощ и справяне с последствията от войната в Украйна към 31.03.2022 г..xls"
m=02.2022 g.rar 963 Изтегли документ с име "m=02.2022 g.rar"
m.01.01.2022 g.rar 1729 Изтегли документ с име "m.01.01.2022 g.rar"
Отчет към четвърто тримесечие на 2021г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx 2124 Изтегли документ с име "Отчет към четвърто тримесечие на 2021г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx"
Месечен отчет на капиталови разходи към 31.12.2021 г..xlsx 1758 Изтегли документ с име "Месечен отчет на капиталови разходи към 31.12.2021 г..xlsx"
12 М.2021.rar 2153 Изтегли документ с име "12 М.2021.rar"
Месечен отчет на капиталови разходи към 30.11.2021 г..xlsx 1061 Изтегли документ с име "Месечен отчет на капиталови разходи към 30.11.2021 г..xlsx"
М.11.2021.rar 1995 Изтегли документ с име "М.11.2021.rar"
Месечен отчет на капиталови разходи към 31.10.2021 г..xlsx 1697 Изтегли документ с име "Месечен отчет на капиталови разходи към 31.10.2021 г..xlsx"
30.10.2021.rar 1551 Изтегли документ с име "30.10.2021.rar"
Отчет към трето тримесечие на 2021г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx 1922 Изтегли документ с име "Отчет към трето тримесечие на 2021г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx"
Месечен отчет на капиталови разходи към 30.09.2021 г..xlsx 2704 Изтегли документ с име "Месечен отчет на капиталови разходи към 30.09.2021 г..xlsx"
30.09.2021.rar 2767 Изтегли документ с име "30.09.2021.rar"
Годишен отчет за изпълнението на бюджета за 2020 г..pdf 2045 Изтегли документ с име "Годишен отчет за изпълнението на бюджета за 2020 г..pdf"
Месечен отчет на капиталови разходи към 31.08.2021 г..xlsx 3160 Изтегли документ с име "Месечен отчет на капиталови разходи към 31.08.2021 г..xlsx"
31,08,2021.rar 2148 Изтегли документ с име "31,08,2021.rar"
Одитен доклад на сметната палата №0100306521.pdf 2658 Изтегли документ с име "Одитен доклад на сметната палата №0100306521.pdf"
Годишен Финанов отчет към 31.12.2020 г.rar 1804 Изтегли документ с име "Годишен Финанов отчет към 31.12.2020 г.rar"
Месечен отчет към 31.07.2021 г.rar 2557 Изтегли документ с име "Месечен отчет към 31.07.2021 г.rar"
Месечен отчет на капиталови разходи към 31.07.2021 г..xlsx 2311 Изтегли документ с име "Месечен отчет на капиталови разходи към 31.07.2021 г..xlsx"
Месечен отчет на капиталови разходи към 30.06.2021 г..xlsx 2745 Изтегли документ с име "Месечен отчет на капиталови разходи към 30.06.2021 г..xlsx"
Отчет към второ тримесечие на 2021г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx 1564 Изтегли документ с име "Отчет към второ тримесечие на 2021г. за разходите по § 1030 ТЕКУЩ РЕМОНТ.xlsx"
06.2021.rar 1725 Изтегли документ с име "06.2021.rar"
05,2021 г.rar 2128 Изтегли документ с име "05,2021 г.rar"
Месечен отчет на капиталови разходи към 31.05.2021 г..xlsx 2384 Изтегли документ с име "Месечен отчет на капиталови разходи към 31.05.2021 г..xlsx"
М,04,2021 Г.rar 2509 Изтегли документ с име "М,04,2021 Г.rar"
Месечен отчет на Капиталови разходи към 30.04.2021 г..xlsx 1884 Изтегли документ с име "Месечен отчет на Капиталови разходи към 30.04.2021 г..xlsx"
03,2021.rar 3285 Изтегли документ с име "03,2021.rar"
Месечен отчет на капиталови разходи към 31.03.2021 г..xlsx 2777 Изтегли документ с име "Месечен отчет на капиталови разходи към 31.03.2021 г..xlsx"
Отчет на разходите за текущи ремонти за I-во Тримесечие на 2021 г..xlsx 3951 Изтегли документ с име "Отчет на разходите за текущи ремонти за I-во Тримесечие на 2021 г..xlsx"
Начален План Капиталови разходи за 2021г. 6107 Угърчин.xlsx 3038 Изтегли документ с име "Начален План Капиталови разходи за 2021г. 6107 Угърчин.xlsx"
Отчет за Февруари 2021 Капиталови разходи 6107 Угърчин.xlsx 2040 Изтегли документ с име "Отчет за Февруари 2021 Капиталови разходи 6107 Угърчин.xlsx"
m.02.2021.rar 2071 Изтегли документ с име "m.02.2021.rar"
m 01.2021.rar 4540 Изтегли документ с име "m 01.2021.rar"
31.12.2020 m.rar 3891 Изтегли документ с име "31.12.2020 m.rar"
11.2020.rar 3898 Изтегли документ с име "11.2020.rar"
10.2020.rar 3604 Изтегли документ с име "10.2020.rar"