시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 64 MB 235 124 92 47.668%

문제

남남서는 어젯밤 큰 홍수가 나는 꿈을 꿨다. 꿈 속에서, 물이 남남서의 키보다 높이 차올랐고, 남남서는 자신이 들고 있던 소중한 히스토그램을 놓쳐버렸다. 히스토그램을 간신히 다시 붙잡은 남남서는 자신의 히스토그램을 살펴보았다. 히스토그램이 젖어서 슬펐던 남남서는 슬프게 울다가 꿈에서 깼다.

히스토그램의 용량은 히스토그램에 물을 넘치지 않게 담았을 때 최대한 담을 수 있는 물의 양이다. 히스토그램의 각각의 열의 너비는 1이며, 높이는 h1, h2, …, hN이다. 오른쪽의 이미지는 물이 넘치지 않는 상태의 히스토그램의 예시이다.

조금 더 엄밀하게, 각각의 열의 위에 차올라있는 물의 높이를 v1, v2, …, vN 이라고 하자.

다음 조건들을 만족할 경우 물이 넘치지 않는다고 하자:

  • v1 = 0, vN = 0
  • vi > 0인 모든 2 이상의 i에 대해 hi + vi ≤ hi-1 + vi-1
  • vi > 0인 모든 1 ≤ i ≤ (N-1)인 i에 대해 hi + vi ≤ hi+1 + vi+1

꿈에서 깬 남남서는 아직 몽롱한 채로 꿈에 대해 떠올렸다. 남남서는 히스토그램의 열을 {1, 2, …, N}의 순열(permutation)로 구성해서, 히스토그램의 용량이 남남서가 좋아하는 숫자 X와 정확히 같게 만들 수 있을지 궁금해졌다. 두껍고 푹신한 이불 속에서 더 자려고 하고 있는 남남서가 일어날 수 있도록 이러한 히스토그램을 만들어주자.

입력

첫 줄에 자연수 N과 X가 주어진다. (1 ≤ N ≤ 1 000 000, 1 ≤ X ≤ 1015)

출력

용량이 정확히 X인 히스토그램을 만들 수 없다면 첫째 줄에 -1을 출력해라. 그렇지 않다면 용량이 X가 되는 히스토그램의 열 h1, h2, …, hN를 출력해라. 그러한 방법이 여러 개가 있다면 아무 것이나 출력해도 된다.

예제 입력 1

3 1

예제 출력 1

3 1 2

예제 입력 2

4 1

예제 출력 2

4 3 1 2

예제 입력 3

8 17

예제 출력 3

6 2 3 1 8 4 5 7

힌트

첫 번째 예시에서, v1 = 0, v2 = 1, v3 = 0이다.

두 번째 예시에서, v1 = 0, v2 = 0, v3 = 1, v4 = 0이다.

세 번째 예시는 위의 그림과 같다. 빗금친 부분은 물이 찬 부분이다.

W3sicHJvYmxlbV9pZCI6IjExODc3IiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVkNjRkXHVjMjE4IiwiZGVzY3JpcHRpb24iOiI8cD5cdWIwYThcdWIwYThcdWMxMWNcdWIyOTQgXHVjNWI0XHVjODJmXHViYzI0IFx1ZDA3MCBcdWQ2NGRcdWMyMThcdWFjMDAgXHViMDk4XHViMjk0IFx1YWZjOFx1Yzc0NCBcdWFmZThcdWIyZTQuIFx1YWZjOCBcdWMxOGRcdWM1ZDBcdWMxMWMsIFx1YmIzY1x1Yzc3NCBcdWIwYThcdWIwYThcdWMxMWNcdWM3NTggXHVkMGE0XHViY2Y0XHViMmU0IFx1YjE5Mlx1Yzc3NCBcdWNjMjhcdWM2MmNcdWI3OTBcdWFjZTAsIFx1YjBhOFx1YjBhOFx1YzExY1x1YjI5NCBcdWM3OTBcdWMyZTBcdWM3NzQgXHViNGU0XHVhY2UwIFx1Yzc4OFx1YjM1OCBcdWMxOGNcdWM5MTFcdWQ1NWMgXHVkNzg4XHVjMmE0XHVkMWEwXHVhZGY4XHViN2E4XHVjNzQ0IFx1YjE5M1x1Y2NkMFx1YmM4NFx1YjgzOFx1YjJlNC4gXHVkNzg4XHVjMmE0XHVkMWEwXHVhZGY4XHViN2E4XHVjNzQ0IFx1YWMwNFx1YzJlMFx1ZDc4OCBcdWIyZTRcdWMyZGMgXHViZDk5XHVjN2ExXHVjNzQwIFx1YjBhOFx1YjBhOFx1YzExY1x1YjI5NCBcdWM3OTBcdWMyZTBcdWM3NTggXHVkNzg4XHVjMmE0XHVkMWEwXHVhZGY4XHViN2E4XHVjNzQ0IFx1YzBiNFx1ZDNiNFx1YmNmNFx1YzU1OFx1YjJlNC4gXHVkNzg4XHVjMmE0XHVkMWEwXHVhZGY4XHViN2E4XHVjNzc0IFx1YzgxNlx1YzViNFx1YzExYyBcdWMyYWNcdWQzOTBcdWIzNTggXHViMGE4XHViMGE4XHVjMTFjXHViMjk0IFx1YzJhY1x1ZDUwNFx1YWM4YyBcdWM2YjhcdWIyZTRcdWFjMDAgXHVhZmM4XHVjNWQwXHVjMTFjIFx1YWU3Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVkNzg4XHVjMmE0XHVkMWEwXHVhZGY4XHViN2E4XHVjNzU4IFx1YzZhOVx1YjdjOVx1Yzc0MCBcdWQ3ODhcdWMyYTRcdWQxYTBcdWFkZjhcdWI3YThcdWM1ZDAgXHViYjNjXHVjNzQ0IFx1YjExOFx1Y2U1OFx1YzljMCBcdWM1NGFcdWFjOGMgXHViMmY0XHVjNTU4XHVjNzQ0IFx1YjU0YyBcdWNkNWNcdWIzMDBcdWQ1NWMgXHViMmY0XHVjNzQ0IFx1YzIxOCBcdWM3ODhcdWIyOTQgXHViYjNjXHVjNzU4IFx1YzU5MVx1Yzc3NFx1YjJlNC4gXHVkNzg4XHVjMmE0XHVkMWEwXHVhZGY4XHViN2E4XHVjNzU4IFx1YWMwMVx1YWMwMVx1Yzc1OCBcdWM1ZjRcdWM3NTggXHViMTA4XHViZTQ0XHViMjk0IDFcdWM3NzRcdWJhNzAsIFx1YjE5Mlx1Yzc3NFx1YjI5NCBoPHN1Yj4xPFwvc3ViPiwgaDxzdWI+MjxcL3N1Yj4sICZoZWxsaXA7LCBoPHN1Yj5OPFwvc3ViPlx1Yzc3NFx1YjJlNC4gXHVjNjI0XHViOTc4XHVjYWJkXHVjNzU4IFx1Yzc3NFx1YmJmOFx1YzljMFx1YjI5NCBcdWJiM2NcdWM3NzQgXHViMTE4XHVjZTU4XHVjOWMwIFx1YzU0YVx1YjI5NCBcdWMwYzFcdWQwZGNcdWM3NTggXHVkNzg4XHVjMmE0XHVkMWEwXHVhZGY4XHViN2E4XHVjNzU4IFx1YzYwOFx1YzJkY1x1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+PGltZyBzcmM9XCJodHRwczpcL1wvb25saW5lanVkZ2VpbWFnZXMuczMtYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbVwvdXNlcnVwbG9hZFwvbmFtbmFtc2VvXC8yMDE2MDIxMVwvYzE3NTlkYWQ1MmMwYjdkMWNkMWRiYjEwYmJiZjlkZDEucG5nXCIgc3R5bGU9XCJmbG9hdDpyaWdodDsgaGVpZ2h0OjMxOHB4OyB3aWR0aDoxODZweFwiIFwvPjxcL3A+XHJcblxyXG48cD5cdWM4NzBcdWFlMDggXHViMzU0IFx1YzVjNFx1YmMwMFx1ZDU1OFx1YWM4YywgXHVhYzAxXHVhYzAxXHVjNzU4IFx1YzVmNFx1Yzc1OCBcdWM3MDRcdWM1ZDAgXHVjYzI4XHVjNjJjXHViNzdjXHVjNzg4XHViMjk0IFx1YmIzY1x1Yzc1OCBcdWIxOTJcdWM3NzRcdWI5N2MgdjxzdWI+MTxcL3N1Yj4sIHY8c3ViPjI8XC9zdWI+LCAmaGVsbGlwOywgdjxzdWI+TjxcL3N1Yj4gXHVjNzc0XHViNzdjXHVhY2UwIFx1ZDU1OFx1Yzc5MC48XC9wPlxyXG5cclxuPHA+XHViMmU0XHVjNzRjIFx1Yzg3MFx1YWM3NFx1YjRlNFx1Yzc0NCBcdWI5Y2NcdWM4NzFcdWQ1NjAgXHVhY2JkXHVjNmIwIFx1YmIzY1x1Yzc3NCBcdWIxMThcdWNlNThcdWM5YzAgXHVjNTRhXHViMjk0XHViMmU0XHVhY2UwIFx1ZDU1OFx1Yzc5MDo8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT52PHN1Yj4xPFwvc3ViPiA9IDAsIHY8c3ViPk48XC9zdWI+ID0gMDxcL2xpPlxyXG5cdDxsaT52PHN1Yj5pPFwvc3ViPiAmZ3Q7IDBcdWM3NzggXHViYWE4XHViNGUwIDIgXHVjNzc0XHVjMGMxXHVjNzU4IGlcdWM1ZDAgXHViMzAwXHVkNTc0IGg8c3ViPmk8XC9zdWI+ICsgdjxzdWI+aTxcL3N1Yj4gJmxlOyBoPHN1Yj5pLTE8XC9zdWI+ICsgdjxzdWI+aS0xPFwvc3ViPjxcL2xpPlxyXG5cdDxsaT52PHN1Yj5pPFwvc3ViPiAmZ3Q7IDBcdWM3NzggXHViYWE4XHViNGUwIDEgJmxlOyBpICZsZTsgKE4tMSlcdWM3NzggaVx1YzVkMCBcdWIzMDBcdWQ1NzQgaDxzdWI+aTxcL3N1Yj4gKyB2PHN1Yj5pPFwvc3ViPiAmbGU7IGg8c3ViPmkrMTxcL3N1Yj4gKyB2PHN1Yj5pKzE8XC9zdWI+PFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+XHVhZmM4XHVjNWQwXHVjMTFjIFx1YWU2YyBcdWIwYThcdWIwYThcdWMxMWNcdWIyOTQgXHVjNTQ0XHVjOWMxIFx1YmFiZFx1Yjg3MVx1ZDU1YyBcdWNjNDRcdWI4NWMgXHVhZmM4XHVjNWQwIFx1YjMwMFx1ZDU3NCBcdWI1YTBcdWM2MmNcdWI4MzhcdWIyZTQuIFx1YjBhOFx1YjBhOFx1YzExY1x1YjI5NCBcdWQ3ODhcdWMyYTRcdWQxYTBcdWFkZjhcdWI3YThcdWM3NTggXHVjNWY0XHVjNzQ0IHsxLCAyLCAmaGVsbGlwOywgTn1cdWM3NTggXHVjMjFjXHVjNWY0KHBlcm11dGF0aW9uKVx1Yjg1YyBcdWFkNmNcdWMxMzFcdWQ1NzRcdWMxMWMsIFx1ZDc4OFx1YzJhNFx1ZDFhMFx1YWRmOFx1YjdhOFx1Yzc1OCBcdWM2YTlcdWI3YzlcdWM3NzQgXHViMGE4XHViMGE4XHVjMTFjXHVhYzAwIFx1Yzg4Ylx1YzU0NFx1ZDU1OFx1YjI5NCBcdWMyMmJcdWM3OTAgWFx1YzY0MCBcdWM4MTVcdWQ2NTVcdWQ3ODggXHVhYzE5XHVhYzhjIFx1YjljY1x1YjRlNCBcdWMyMTggXHVjNzg4XHVjNzQ0XHVjOWMwIFx1YWQ4MVx1YWUwOFx1ZDU3NFx1Yzg0Y1x1YjJlNC4gXHViNDUwXHVhZWNkXHVhY2UwIFx1ZDQ3OVx1YzJlMFx1ZDU1YyBcdWM3NzRcdWJkODggXHVjMThkXHVjNWQwXHVjMTFjIFx1YjM1NCBcdWM3OTBcdWI4MjRcdWFjZTAgXHVkNTU4XHVhY2UwIFx1Yzc4OFx1YjI5NCBcdWIwYThcdWIwYThcdWMxMWNcdWFjMDAgXHVjNzdjXHVjNWI0XHViMGEwIFx1YzIxOCBcdWM3ODhcdWIzYzRcdWI4NWQgXHVjNzc0XHViN2VjXHVkNTVjIFx1ZDc4OFx1YzJhNFx1ZDFhMFx1YWRmOFx1YjdhOFx1Yzc0NCBcdWI5Y2NcdWI0ZTRcdWM1YjRcdWM4ZmNcdWM3OTAuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWNjYWIgXHVjOTA0XHVjNWQwIFx1Yzc5MFx1YzVmMFx1YzIxOCBOXHVhY2ZjIFhcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiAoMSAmbGU7IE4gJmxlOyAxIDAwMCAwMDAsIDEgJmxlOyBYICZsZTsgMTA8c3VwPjE1PFwvc3VwPik8XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWM2YTlcdWI3YzlcdWM3NzQgXHVjODE1XHVkNjU1XHVkNzg4IFhcdWM3NzggXHVkNzg4XHVjMmE0XHVkMWEwXHVhZGY4XHViN2E4XHVjNzQ0IFx1YjljY1x1YjRlNCBcdWMyMTggXHVjNWM2XHViMmU0XHViYTc0IFx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDAgLTFcdWM3NDQgXHVjZDljXHViODI1XHVkNTc0XHViNzdjLiBcdWFkZjhcdWI4MDdcdWM5YzAgXHVjNTRhXHViMmU0XHViYTc0IFx1YzZhOVx1YjdjOVx1Yzc3NCBYXHVhYzAwIFx1YjQxOFx1YjI5NCBcdWQ3ODhcdWMyYTRcdWQxYTBcdWFkZjhcdWI3YThcdWM3NTggXHVjNWY0Jm5ic3A7aDxzdWI+MTxcL3N1Yj4sIGg8c3ViPjI8XC9zdWI+LCAmaGVsbGlwOywgaDxzdWI+TjxcL3N1Yj5cdWI5N2MgXHVjZDljXHViODI1XHVkNTc0XHViNzdjLiBcdWFkZjhcdWI3ZWNcdWQ1NWMgXHViYzI5XHViYzk1XHVjNzc0IFx1YzVlY1x1YjdlYyBcdWFjMWNcdWFjMDAgXHVjNzg4XHViMmU0XHViYTc0IFx1YzU0NFx1YmIzNCBcdWFjODNcdWM3NzRcdWIwOTggXHVjZDljXHViODI1XHVkNTc0XHViM2M0IFx1YjQxY1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiPHA+XHVjY2FiIFx1YmM4OFx1YzlmOCBcdWM2MDhcdWMyZGNcdWM1ZDBcdWMxMWMsIHY8c3ViPjE8XC9zdWI+ID0gMCwgdjxzdWI+MjxcL3N1Yj4gPSAxLCB2PHN1Yj4zPFwvc3ViPiA9IDBcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjQ1MCBcdWJjODhcdWM5ZjggXHVjNjA4XHVjMmRjXHVjNWQwXHVjMTFjLCB2PHN1Yj4xPFwvc3ViPiA9IDAsIHY8c3ViPjI8XC9zdWI+ID0gMCwgdjxzdWI+MzxcL3N1Yj4gPSAxLCB2PHN1Yj40PFwvc3ViPiA9IDBcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzEzOCBcdWJjODhcdWM5ZjggXHVjNjA4XHVjMmRjXHViMjk0IFx1YzcwNFx1Yzc1OCBcdWFkZjhcdWI5YmNcdWFjZmMgXHVhYzE5XHViMmU0LiBcdWJlNTdcdWFlMDhcdWNlNWMgXHViZDgwXHViZDg0XHVjNzQwIFx1YmIzY1x1Yzc3NCBcdWNjMmMgXHViZDgwXHViZDg0XHVjNzc0XHViMmU0LjxcL3A+XHJcbiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWQ1NWNcdWFkNmRcdWM1YjQifSx7InByb2JsZW1faWQiOiIxMTg3NyIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6IlBPUExBVkEiLCJkZXNjcmlwdGlvbiI6IjxwPk1pcmtvIGRyZWFtdCBvZiBhIGhpc3RvZ3JhbSBsYXN0IG5pZ2h0IHRoYXQgY29uc2lzdHMgb2YgTiBjb2x1bW5zLiBFYWNoIGNvbHVtbiBpcyBvbmUgbWV0ZXIgd2lkZSBhbmQgdGhlIGhlaWdodHMgb2YgdGhlIGNvbHVtbnMgaW4gbWV0ZXJzIGFyZSBoPHN1Yj4xPFwvc3ViPiwgaDxzdWI+MjxcL3N1Yj4sIC4uLiwgaDxzdWI+TjxcL3N1Yj4uPFwvcD5cclxuXHJcbjxwPjxpbWcgYWx0PVwiXCIgc3JjPVwiaHR0cHM6XC9cL29ubGluZWp1ZGdlaW1hZ2VzLnMzLWFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb21cL3Byb2JsZW1cLzExODc3XC8xLnBuZ1wiIHN0eWxlPVwiZmxvYXQ6cmlnaHQ7IGhlaWdodDozMDJweDsgd2lkdGg6MTczcHhcIiBcLz5UaGUgY2FwYWNpdHkgb2YgYSBoaXN0b2dyYW0gaXMgdGhlIG1heGltYWwgYW1vdW50IG9mIHdhdGVyIHRoYXQgYSBoaXN0b2dyYW0gY2FuIGhvbGQgc28gdGhhdCB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgd2F0ZXIgaXMgJnF1b3Q7c3RhYmxlJnF1b3Q7LCBvciwgaW4gb3RoZXIgd29yZHMsIHRoYXQgaXQgZG9lc24mcnNxdW87dCBtb3ZlIHVuZGVyIHRoZSBpbmZsdWVuY2Ugb2YgZ3Jhdml0eS4gVGhlIGltYWdlIG9uIHRoZSByaWdodCBkZXBpY3RzIGFuIGV4YW1wbGUgb2YgYSBzdGFibGUgY29uZmlndXJhdGlvbi48XC9wPlxyXG5cclxuPHA+Rm9ybWFsbHksIGxldCB1cyBkZW5vdGUgdGhlIGhlaWdodHMgb2Ygd2F0ZXIgYWJvdmUgdGhlIGNvbHVtbnMgd2l0aCB2PHN1Yj4xPFwvc3ViPiwgdjxzdWI+MjxcL3N1Yj4sIC4uLiwgdjxzdWI+TjxcL3N1Yj4uPFwvcD5cclxuXHJcbjxwPlRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSB3YXRlciBpcyBzdGFibGUgaWYgdGhlIGZvbGxvd2luZyBob2xkczo8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5oPHN1Yj5pPFwvc3ViPiArIHY8c3ViPmk8XC9zdWI+ICZsZTsgaDxzdWI+aSZtaW51czsxPFwvc3ViPiArIHY8c3ViPmkmbWludXM7MTxcL3N1Yj4sIGZvciBlYWNoIGkgJmdlOyAyIHN1Y2ggdGhhdCB2PHN1Yj5pPFwvc3ViPiAmZ3Q7IDA8XC9saT5cclxuXHQ8bGk+aDxzdWI+aTxcL3N1Yj4gKyB2PHN1Yj5pPFwvc3ViPiAmbGU7IGg8c3ViPmkrMTxcL3N1Yj4gKyB2PHN1Yj5pKzE8XC9zdWI+LCBmb3IgZWFjaCBpICZsZTsgTiAmbWludXM7IDEgc3VjaCB0aGF0IHY8c3ViPmk8XC9zdWI+ICZndDsgMDxcL2xpPlxyXG5cdDxsaT52PHN1Yj4xPFwvc3ViPiA9IDAgYW5kIHY8c3ViPk48XC9zdWI+ID0gMDxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPldoZW4gTWlya28gd29rZSB1cCwgaGUgd2FudGVkIHRvIGtub3cgd2hldGhlciBoZSBjb3VsZCBzb21laG93IGNob29zZSB0aGUgaGVpZ2h0cyBvZiBjb2x1bW5zIHRoYXQgYXJlIGEgcGVybXV0YXRpb24gb2YgdGhlIHNldCB7MSwgMiwgLi4uLCBOfSBzdWNoIHRoYXQgdGhlIGNhcGFjaXR5IG9mIHN1Y2ggaGlzdG9ncmFtIGlzIGVxdWFsIHRvIGl0cyBsdWNreSBudW1iZXIgWD8gSGVscCBNaXJrbyBhbmQgZmluZCBvbmUgaGlzdG9ncmFtIHRoYXQgbWVldHMgaGlzIHJlcXVpcmVtZW50cy48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBmaXJzdCBsaW5lIG9mIGlucHV0IGNvbnRhaW5zIGludGVnZXJzIE4gYW5kIFggKDEgJmxlOyBOICZsZTsgMSAwMDAgMDAwLCAxICZsZTsgWCAmbGU7IDEwPHN1cD4xNTxcL3N1cD4pLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPklmIGEgaGlzdG9ncmFtIG9mIGNhcGFjaXR5IGV4YWN0bHkgWCBkb2VzIG5vdCBleGlzdCwgb3V0cHV0ICZtaW51czsxLiBPdGhlcndpc2UsIG91dHB1dCBudW1iZXJzIGg8c3ViPjE8XC9zdWI+LCBoPHN1Yj4yPFwvc3ViPiwgLi4uLCBoPHN1Yj5OPFwvc3ViPiB0aGF0IG1lZXQgdGhlIGdpdmVuIHJlcXVpcmVtZW50cyBpbiB0aGUgZmlyc3QgbGluZSBzZXBhcmF0ZWQgYnkgc3BhY2UuIElmIHRoZXJlIGFyZSBtdWx0aXBsZSBzdWNoIHNvbHV0aW9ucywgb3V0cHV0IGFueS48XC9wPlxyXG4iLCJoaW50IjoiPHA+Q2xhcmlmaWNhdGlvbiBvZiB0aGUgZmlyc3QgZXhhbXBsZTogSW4gdGhpcyBjb25maWd1cmF0aW9uLCBpdCBob2xkcyB2PHN1Yj4xPFwvc3ViPiA9IDAsIHY8c3ViPjI8XC9zdWI+ID0gMSwgdjxzdWI+MzxcL3N1Yj4gPSAwLjxcL3A+XHJcblxyXG48cD5DbGFyaWZpY2F0aW9uIG9mIHRoZSBzZWNvbmQgZXhhbXBsZTogSW4gdGhpcyBjb25maWd1cmF0aW9uLCBpdCBob2xkcyB2PHN1Yj4xPFwvc3ViPiA9IDAsIHY8c3ViPjI8XC9zdWI+ID0gMCwgdjxzdWI+MzxcL3N1Yj4gPSAxLCB2PHN1Yj40PFwvc3ViPiA9IDAuPFwvcD5cclxuXHJcbjxwPkNsYXJpZmljYXRpb24gb2YgdGhlIHRoaXJkIGV4YW1wbGU6IFRoZSBzYW1wbGUgY29ycmVzcG9uZHMgdG8gdGhlIGltYWdlIGZyb20gdGhlIHRhc2suPFwvcD5cclxuIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1YzYwMVx1YzViNCJ9XQ==