Problem:


Score : 600 points

Problem Statement

There is a grid of squares with H+1 horizontal rows and W vertical columns.

You will start at one of the squares in the top row and repeat moving one square right or down. However, for each integer i from 1 through H, you cannot move down from the A_i-th, (A_i + 1)-th, \ldots, B_i-th squares from the left in the i-th row from the top.

For each integer k from 1 through H, find the minimum number of moves needed to reach one of the squares in the (k+1)-th row from the top. (The starting square can be chosen individually for each case.) If, starting from any square in the top row, none of the squares in the (k+1)-th row can be reached, print -1 instead.

Constraints

1 \leq H,W \leq 2\times 10^5

1 \leq A_i \leq B_i \leq W

Input

Input is given from Standard Input in the following format:

H W
A_1 B_1
A_2 B_2
:
A_H B_H

Output

Print H lines. The i-th line should contain the answer for the case k=i.

Sample Input 1

4 4
2 4
1 1
2 3
2 4

Sample Output 1

1
3
6
-1

Let (i,j) denote the square at the i-th row from the top and j-th column from the left.

For k=1, we need one move such as (1,1) → (2,1).

For k=2, we need three moves such as (1,1) → (2,1) → (2,2) → (3,2).

For k=3, we need six moves such as (1,1) → (2,1) → (2,2) → (3,2) → (3,3) → (3,4) → (4,4).

For k=4, it is impossible to reach any square in the fifth row from the top.



Sample input:
4 4
2 4
1 1
2 3
2 4


Sample output:
1
3
6
-1

Submission status: Time Limit Exceeded

Solution code:
# compiled by pythran
"""
#pythran export main2()
import numpy as np
i4 = np.int32
i8 = np.int64

def check(a, b, W):
    set0 = set(range(W))
    ind = 0
    for i in range(a.shape[0]):
        set0 -= set(range(a[i], b[i]))
        if len(set0) == 0:
            return ind
        ind = set0.pop()
        set0.add(ind)
    return ind


def solve(a, b, H, W):
    ret = np.empty(H, i8)
    for i in range(H):
        ret[i] = -1
    dp0 = np.arange(W)
    dp = np.arange(W)
    arg = check(a, b, W)
    for i in range(H):
        r1 = np.searchsorted(dp, a[i])
        r2 = np.searchsorted(dp, b[i])
        if b[i] == W:
            if r1 == 0:
                return ret
            else:
                dp0 = dp0[: r1]
                dp = dp[: r1]
        else:
            dp[r1:r2] = b[i]
        if r1 <= arg < r2:
            arg = np.argmin(dp - dp0)
        ret[i] = dp[arg] - dp0[arg] + i + 1
    return ret


def main(in_file):
    stdin = open(in_file)
    H, W = [int(x) for x in stdin.readline().split()]
    a = np.empty(H, i8)
    b = np.empty(H, i8)
    for i in range(H):
        a[i], b[i] = [int(x) for x in stdin.readline().split()]
    a -= 1
    ans = solve(a, b, H, W)
    p = '\n'.join([str(x) for x in ans])
    print(p)


def main2():
    main('/dev/stdin')
"""
import os, sys
p = os.path.dirname(__file__)
pymain = os.path.join(p, "a.out")
if len(sys.argv) == 1:
    import subprocess
    if p == "":
        pymain = "./" + pymain
    subprocess.call(pymain)
else:
    import gzip, base64, stat
    gz = b'H4sIAC9AT18C/+29C3xTRfYAfNO0NLx6A6JURAlaoEUoDRRoADWFBm4kxUoB0RVDaFMaSR8mN1BcFbStEkORXdHFx674RkUFdRGVhZZXefjgIYoigqiYEJEKCqhIvnNm5ib33iYI7P7//+/3fRslkzl3HmfOOXPOmTMzt3MsttFJGg0nfZK4aznMLb/CTPJmBm/ZFy0CsDyuLXz34K7g2kA+WVbOzJkV6SnWtJTqWDktq5eXRPN5SWZF2p2Vk1KNLE3h5B+zIp37PKdIOc4QrYe46pYxPJZNVaSnWKP6VGW9JFYv+CqFBl+dqki5JE6RSuNLZv8mMPgENi4pLWDlCmTl8VP0rVhKfj/BAE+YFelPDPyTqt6NUK8Nd+4fPUvHs/4S0kXLKVKJDwPcrmlDcge4S/u7XZW+mv41eUP6D8nN9lZlDyQ46VnZMeMmRvmdJMO5C4Ph8+e/vO/UHdb87jc6H/Be/MqWNQcuSVuPz0ysDrKkLk0/tUNW2yRO14Wb24Fz4LNr4F8+/Hv5LyPWPVnyr43t7l1of/OLQbv7/Wi/7ePiJbXz6ksumfHIW/3/0b16VZfFHUadKe60uMY6Y+XpjcefyLLstp2NPkZgZOc48G1cfPgUTXz4gATleySAD05J0L42Pvy1BP3elAD/LxOUb0wA/0tqfPiMBO3/2CY+/NsE7QxN0M6nCcp3SNB+doLyngTtT0qKD78tQfkXE9BndoLydybg40MJys9K0P7JBHAuAXxvgn6PJxjv1QnweSEBvCmBHM5NUN6SCJ4An2EJ2n8xQfkjCcp/nxwfbkuAz70J2rkxQflnE8jh3AT0fyBBOwMS4NkzAX8/StB+5wTtj0owLy5L0O+iBO3ooxZR+fksAd3mQPs9uYu5pcyOSHU/5Sh8M4NPZvBqLYWbmV2V7FMKa6eIwdMZfCTQvxPADawdyS5lMb5M7W5W4PMxG2/RFUr4DW1o++Ws/bkM7md4Zi5Twh9IxX67cdwbDE/WcYD1m3O5sv2VTM8fUMHXsnEZVOO6g5WvVuHJgb31iqUlV1+NNnYIZ7dPr6iqtHtFh0e02zn7LcWiSXR6KlyVDtE5k+QHmuzjp9lFj9Npd1V6nVDOUVlq9zinOdyOyhLntKJi0ZgXLVJZVeq0T3N4ncU59vHF2OK4YjHPVeUlwFxrpUssMFqw5QmToOJggLpKoH+P01ExzVdmLQGgsaTc4YHmHC7Ray2xWBDLmhp7tdPjrap0uF3ibPvMHNJy1aBqn2gpIa2NM+bY7SU1NY5prpnGgfDb67KXuB1er12cXY24l1VZsNLYYnFwCYKgaeMge6F9lqvUWQnPXSLBC/A1UawA67j4DC5xOx0eCzwZaLfCyOCfCOSidY0Dq3yivarM7nFUTneOMlqKxpYQOsqIVOos8TgrnJViAtpB+VJ3ESAD43HYpzmnuyrtJQ6xpJwyBMYmlnuqZtndzsrpYrnd6fFUeUg3pLzD7a6C0k67s6bEWS26qipp/0Ps9ipKaMbIuIMbD7BBdPystHWCfUKO3VI8xF40tniQ3U3HOQQ7cTsZMwEwlFDfaDSaYrVdldNZG3G6KnZgf0Ah7JEQ8oZqZ2UFEIGxKdriwKiUQIOJmzIOKnOBaJa5PF7kAFK+okKF3Lk2NRAEo6SqEsr5SkRLBWXhwFyJ8nIe28sqROjqTpWsFwykYm4FeZJz4gKwGepxAr9mOi0VUU5SNKY5SkEwvCJ2VDmrYjwQzVRZRZ+J8ebeKGMUKeMgj69SdFU4qfwwyY9iytC/ID4MlfEB0JHzYsKECxcVi4S5YooxJGOY584qd4itpPJccc8Bxnuc1W5HCZC7AtG+sIZM0I6jGgS61MIaAQZdKEGHEIKCMlPTk0x4wm+1jnFVSjpmbEIlAw9MUV1SNR0wiakSosuUIsLmOuDPZIzqXdl4BsvHk0Cdx3jZSlvGlImqZxDb8WMvgAkWOm1jo4+aLXtZlQfaBjok0MHEeBHyliH835zBKA3AD9DKlvEVdBbnlsDQ/w3Z8npd0yuBLMW51MpWDS5z+7zlhIJoPVTKAAx/BbX58Gt6CXSCOSNnn1g5C4VrvNPrq3DiwxJarKwKhJcrE51u0PjYHZr+MofLzQF6YpWbK3NWlXFl052iFyFgiyT7IzprXCJX4azwOklSUj2bKytxV4HMVRDjhMCKqplOblpJRTXUwk6ZD1LhcEGnQHFuzKhR9kHZOdwYm3XkqMmT4Xdu9kBl1mhUZE0c/MofabUbswcpqynK0d/2gdnG2M+B2YNJlEDLJcM/+p0C+RTyO4nA6HcK14ZBpH+pnI6VohD8bktaQBj9R7+xdjuSJpG4RTJpX/ovmaUUJi3PNFyyLuY3F/We3Z6DNl7RSc/bEJ8Vn1fjv1N/g6bbcm+yOg6S13HrWN4/JysJIyE7WH7X6zNSMBK2n+XvIOWTucMsL2b9VYeY/hLtL4nrqYv51Yv+8mgbjGyltKUwXzdXW6Sjvi2Lc71O/VKMKQ2RuaEtMvhQGVzyw1NYXEb6ZMrg+TL4UhncJINvlsGHydt/NQa3yKN/MvhwGbxIBh8hg5fL4AoP+40YfKQMnL6cwlNlawyCjwyeJB+vDK6VwXNk8GQZPE8Gl8c1zTK4PK4nyOCp8vHK4DoZfLIM3lYGnyqDt5PTRwZvL4NXy+AdZPAaGbyjfB0sg6fJ4PNkcF4GXyiD62XwxTJ4Jxl8iQwuX38ulcEvksGXy+BdZPBVMvjF8niYDH6JXD5l8K4y+HYZPF0G3yODXyqDH5DBr5XBgzJ4N/m8k8Evk8FPyeDd5fK8Iga/XAbWyeBXyNf3MngPufzL4PL1v0EG7ymXfxn8Srn8y+BXyeVfBs+Qy78M3ksu/zL4KLn8y+C95fIvg/eRy78MnimXfxk8Sy7/MnhfufzL4FfL5V8G7yeXfxm8v1z+ZfBsufzL4APk8i+DF8jlXwbPkcu/DG6Uy78MPlAu/zL4ILn8y+C5cvmXwQfL5V8Gv04u/zJ4nlz+ZfDRcr7Xfq8TAinXPGLghPpGMSmyXajdoFvPRQaPBFCkVwF88z3M8Avz5VgldCACn17DMI+qO7Sd5AdiHlV2qJHk+2IeVXVoOclfiXlU0aElJN8N86iaQwtJvjPmUSWH5pJ8O8wjuqFqkk/CPKrg0FSS/3UR5FH1hopI/hjmUeWGzCR/GPOoakM5JH8Q86hiQwaS/xzzqFpDepLfiXlUqSGO5LdiHlVpqOUM5tdhXk/GT/LvYr4TGT/Jv4H5zmT8JP8y5i8i4yf5ZzDfhYyf5B/H/MVk/CT/V8xfQsZP8g9ivisZP8nfh/l0Mn6SvxPzl5Lxk7wH893I+En+dsxfRsZP8tMw352Mn+RvwfzlZPwkPx7zV5Dxk/z1mO9Bxv875kdi3kDGT/LDMN+TjJ/kB2L+SjJ+ku+L+avI+En+SsxnkPGTfDfM9yLjJ/nOmO9Nxk/y7TDfh4yf5JMwn0nGT/K/Pgz5LDJ+kj+G+b5k/CR/GPNXk/GT/EHM9yPjJ/nPMd+fjJ/kd2I+m4yf5LdifgAZ/2nCf8znkPGT/LuYN5Lxk/wbmB9Ixk/yL2N+EBk/yT+D+VwyfpJ/HPODyfhJ/q+YH0LGT/IPYn4oGT/J34f5PDJ+kr8T8yYyfpL3YH4YGT/ki9Z2enMqF9wNrFyLMc81mH33FGiB4L0wvMnry7L5HnVEBfA9QNEZj1j9O24T/AeF2m9aiiZYmxvn1ps5oblJT5LmJagDLk77i4H7iZQ/rmjAzK1CR0+4Br/Fi1YRzQLqpO1aBEQOlC1cT2rF6qwh5e/9gSRNZ7SCv0VoCl4naDYJO86InaItpLIW1PXnXvMSjJfzdZ0o+L8N3gME2JTyN4BoptCS6vLhBUp88ycVFwn+r9eY74fh+fcHvwfKYYolhED3DKF+r5gp1I4yRHw9hcBwoWGUXjA1iynBYiAuFhyLaXMysa3GRlSaf8q/bb3Vv+mstS9mtTvKatv8J4NHgCdyBLmJ+TflT8qfmD+hWLj3ewHUnNV/RmhYnbEUaffnBjMXHIYYN9dlBJkm31SX0UIi4Cija3DdEPwUWkUiZgr+JqG2SS/4dUKzmbixm8x6qG02oAKHlJjqcBIM5J0I/cwR/HUZp/Cpf34GuujYl4656rbAcwQTm/+5jHSAFdZ/I7ax1hZkGDTWQBusiQ1j1ylCLXQiw2kUw+k6wb9RqG0EnCzcGoKF/+i7qL6D9/6GtLEw1CwENcG/LCOTduRLDz10MQqsDMbX3QUgK1C+4MHha9OjnX1ymnTG1z1B2tgoNHg1+XMjEwXechypaYbqwR/zsGobUm7wxcj+J8kDYCJfl0EAeUJgUPCXX5F3Fo7ytZeCr9f8Svk6GFMglJkRCvDXsXEQ7xvbRgDirqN9+C4ND4fBtH4gZkBPuojvcuypPgK9fPcL7eUjTANSwSN83d87oiW/GySn7pWORBRw/0QjBFYT9kBtvu4WsD1rxoK4v4NG2rgz+BLiWnsKHi1Ris2S36Jis56ySCs0j6JiMwrFZhTjzShJbPYKgbu54J6TkQhOgAYqlCgGQZlgIsZUoJ6kaf0RsadQawFidsP6QoOFUfPoKRzn0eB3kNr8bxHxI9IV8fWxBkZkWBsKMljRDaTId8HVpyjhl0p+TcNdGeVCw1sEg+Br1yCE8ltoEDPKg98PRYTqGKOB83nZSEJzOhAtXfAXZGQKgXLd2swoUQK/MlFK64CTcUMZf7TxOD8HJw/lbLM5nU0m4s8LWfus/qPWpojW5j8Fqu0am780Q8/Xz+nAeFZCuH00eOUpQjUcF+Xyj0DGQn9uRqFfzNCNbUg+Y/XjcKHOggFICDJ4AKVbQelgqzqh6YhWqN2oCQ8pk1SI4J8Cw9moE/ybbQHo2OYPC35QSevB23NnmOER8P53Db/gC1IYQFb/PpStN62YXy8EbNBuIEsIQEfC8Ezfa/hLLwQ47HqqkLXR6v/Bioq7/ojN3/IOGTpf0DSuISMnqkN6WE3v2/gxX9k0LTZ+5FeoJTpf3zDiW+KQ9iXS0hzWWowRGOVJbDdvrL/7SWwxIGZMFdNsfuDtCcF/OHg3shcQz8MxFdafgOGIOlScG07ggwIcYJ7gLwd69fsOuEPQDrWL0Fowbkt6RLyEJvlC4FaQDZh5vtBjRC6ngELz6Wym43x9YwqdezqkxfQTUn3g0y2YwQZ8axU1tsprDCY17srIDF59QqUJWKdiFtUfVyr0x+8/05n9M6bNBRnE0bYGkjOspoIMHV83ty0q3Zy1hqg8/naSyeN9nQnDrm/o9zNl/NHgHOwbZt9CktdugrkLk1XPJi1ZRstaWiG1lNcZJbsZVdB21tJg1tIBRMefmr9pjI6zNo8hTUGaTu3XWxnzONTDJ3BqbyaguzJy+AU7wd0H3dDgzigP91LaX5BEjTD8SVKRFODrnksmfUYn7S8mqiv2cLLJ6/8haMxV6ei7++LUHYVT92pbwCuftbtPsLFN1mHlWzMMCectiJ9OmrzWrB9s/uNC029aYZUky4JpPf9AXx0ZJ9gbnIn+oyiCjp+QRhtR5HRoKsgk7odAMof8WYLfpRMakslJP0ETFPz5emxjQZ4GKRWhFRsEmNQ2mGu1jToyxaxNP2ittZs04UykV6F/gLW2mUxnEHSQMJjCzTp4HrHWnoFp/D0ZAoCDxyyI2UbsfKotYCIzwTY8z/cvhiAZaZ41q9nm/w1HWFgP2O+JTmBbA+CgnsCCZk/rCew6TsYN6v+IYnSgO21+9z6gU8SGU1ZME5BQQNFfg/8kZLk1g2iiQjAAMImPBiPHIowKoKL8k3XjWBdWzVE6kXURpXsE8gMtG8h0pOoNKJIjdqMT3BKd4LNDf4+Wl03ZrhrZlL3vGJ3kBpR33zFpkr+nqNFLXqPoGJ3khuDoY+czydOP0UmuPyab5FGxCZh1QtYpvu4R1CcBXggsovM3wGaAv8PnQtMp0POnNPz91aTQGKg4n8xNwZ/8GQ5CR5Dn6/8Ojk9w6Y/UjC6BNBQ4LSfhQoTPw+fNWhoGWK+zmr4Uy2EKoV0+Su1yUG6X3w/eBBXCG4lnjfWF1vWFs9bvKqsPwzagqYUJXO+DVUqo5owcQcXzB/D5g8rn0P/mFnX/fN3zpC7BIUxx+EaOw+bgw1Ap3ETH36q+OOfs48e6G5HmRG3Vb+HrRqJg1P6i8XVCb4IwrJaLhK7W0OcLrqTPk73DwbdmLA1F2AAzpQE+BA5d6K+/0FkQhb6C0NeIz7dZqD1wGnTEacH/odD0Q5IAisF/rPaghiAxXov+xifGLWX8zEZ0+rAX5Xw5zld1+Ai+Jnykh+9bPzLAd+lHOWX8x5vh33bQiPh4DjyG7B74dwBypNgcKAaLB5CsTWd8q4T6nWJfaSDQRvJW+LJthVozd0KtdfAPIHMQPAfAUVqZmqRKYmeq/5PXwUxr1MAT3zFU74tRafcOwMpman+0fR0yrFQlzM9ARSlkbY6J/x1JCgt2tIVp+ZntiS20Bd4iFgy1s/co1c4qMwimYLJkC4Xa1QRJ7h5QwUfXREjNY8EtR7DmsowcDXUViboOVOuMe0F7W3nrlzIMKiQMfmpHFxpoaoSG7lQr4vryB/R2NuL6YZNFR9YDFI8gOl95kCeoFKJnuKUdNaaoYvgFW9By1UaSvanGxtBrmFkVXaLVNv4u9DwlNFSDXBwTmg6DXKzT+HfUfgV0OtPBy5fxVSmdb0JvP0S1xIcgJgj8fRICywrgZxI8xx8d27IfF+vxB1/VK52m/Q00HZxJ02tyaNox7yaULSpjkN9elo+SlM/PKdjNYTJht14C74Afe/DH5/SBAZNbd+eQ5/zHH5PH/Mf76FMzfVrEnn7Cnu6nT6fSp9UwVhRWWNluSubr/4y+Hk6GRanoLnTZjdbdpjksnPwMce0+ieB4ccYkOh9Yk5+BmI5sga9uKLzQokGINPkOhm6ARoxbQNj5eh4WrKFc+Fp7Pwjnmqfh6x1uvpl79zQuHj8Ow4NxsKpaMx6XVql+eICR1uB7+OAVyAYdyiL2B6DIzVhkMT5ANIPZYeILCw1PZhRpqNdjZktuQRNd3hcRr4utVPFgnADSCKPvEl3KXoIiGxOPq2l1mDOdZ3VZ234eIPPxYQmtrfBLqrjmbcDsXQxWBksALPXRpzv2kSMEinTRLkZhA7G1oniECL6vB6odirNk2Ez7weZlwMiMR8JVstU+6gRS0vSZrx1oDy26Y2F4VEimGSUAqNwAw95v0Z2NIK1DBeBNvqkhyzzwroIjB6Ormpr5uBl80TUcJO8aKs3oeAWnf08XrAkXomWHqQW9DdK6vb6uYRMJ8LCRkgEiPbCt30JgG7qF7KCKQy8T53AToRBWfyqEmv1JEq1A7+Ba6h0MVXgHv4aod3AsRH2KTDbOsF7e1ATWlIE11S9eNOJ11tSLrClD1D15ksUDElScySpWsorpsopSVCKTRiV6RqMSN7JKJlZJJ6tE1/kJetOxihyreIqt3UlAx9RHWvPz9f3xt3Ld/36Qrvs3BJXrflT5Sw4TtoYqehM2SE4ZXz8XMAvtotDQtt4YmtWwItgwrP6hsw3MOOujvvzUIPX39MFJQclEk7J1S6OGnNbtpIkZdlugBnzH33C5SVyKTCphPZUSlhykEnb6O5Uvst/XLHMGqOP56XfS6vKD7+I7nmCAesGw/qbCa3Ik5lqcG17u7yhepeeC13VRvAZ/pyTQ0TPU36e4Te7F0egZX1+IP+XC8NshKgzHD8mc41DvXpRZz2TQdGKMXzrSBfH+ifvO17/K0VgdYdorhyhOuuDTh5hPz9c9SoZBPOQ2Gmnlfzchx2hGjv6UHL2V5JhyiJJj4qEoOWjPjCbrZP4qXYsQwvQ+JK0Uuh9SMiwUiKFyO+FOFBVfKhlPeMxZMdr2LcVo/bcJMcI1DTQbZdNiVmXht1GC/Ar8IfjGmDT0qiiT+l2lYtKkbymTxn0rZ1IKFJMZuG33Szbw7W9wIhZs5Kij1+w7JnOZhn3HXKYmDXOZ9gc3fUtDrAoXiblGqNd16I8tZbHF5YTdd+HCbXXGKo7F8eaT1taj/xQ1hPyCJzUyJ+o+kjkH1+nTQuI67VG4TusKo65TcyFznT5kPy7eXUhdp3007f8tTQcfoek1P9O04++FSgdd5j+B87wLPfFd8ZwnhKNPfuuu1q4TPjOTZ60dJ3w2lTxTuE2+eeAyiXeDu7QLwcxXarFRX+mUTeHfncVfCg+T8d89P8r/g+ArzGyAB3fD1zv74evdLehE/OMg8jl5vSQXx23A3KmSj0FiEcYT6INPHEN9dXPUR+cXdNViVMliPBEujpGQxHyCnxxEq1BtyOdXAls3Cf7Pbf5fgtVfgRjWWjI1GIGex7RlOolAmcKx8AFf93ES9fTpujt3D/4mfnOgyx7BdEzgbZ/QOAkGl4PvjKa4gUZdRvAmzvvzXdFWVaRbG6bo1pqj0m77hsbUx6CbV9uoI2Eo8GNTMZpGYh3+Menwz4AiZh/LEQd6TCY8zaPO1D5fl/Do2HgtxgjAxNxCDO0buyqlCdfXDT4DuiU/jaFr5e4H6TLItMf3DQ65nBjZU5cgsu4MwPbWDB20JY7BVq8oWyjVT7bS+l98FatvrR2To8HoEfPKgLY5EbEPVPcND5vLaP+mfXz9Y5eQ+J+8mO8za8Cnx6DP7QJa66PBJGgZe07FZiPiEDT6UG6cNSBiVPe7YD4p+F3wswMypRPOVq5vrYFZesS3CykcCS47gDzHlsSVZL2Jqq0tDte/T6j9cyYnlwUdX/cRES3bJVg7bA3cDUydZShsAIXsPxP8aD8Ovjl40wEqSOAggxoGbt4si7evFwKCgfi4DcXpVtOHIC3bhUASOscHBf8egNydZjVNSQd9DpruVmjKZqo2vEMq87YmgS/8DENW3UK3wVpjIZAXC/t2GRsJ6lYA5r+lAfPA1+npFhpfnwo/bMO9IO5Pbgj9ehpVOZ1BODk6FvqPYvxtargb/MIon3zE5IlE83ZgZuZkh8ztuSgd3x9N6Vi6X+Vo4DZE1/Y0Iks18R6rf69xJzWAZFtitaR3ZfGmQv9+nCuZdKJLc6whd7vg/13w7wquzmNRSzbjonHf7nswJuz/Mvh4Hlq4i3D1QFbiw28kWxkGXwGZd7W4aIZ5CZNchMntP1lo+p2vS2HTch7GE22mH0DgBH7cmdARVYCEKwR6N9igtv8HwbRZ5IG+NfcIpo2oRfhxP5M2HiBtHLHyNxwpRJtqrR2l1yBKWT8wNlo/FGrvyjBzfF12FxIAIrFOvu4MhrYDE0CNNXQ5TMJFIFedQ98hGCPBXybTKBFf+ywqtxOhfyUT6oAbdeaM0NyE1AQ0fkQ0/LMhY9McYV0KoUJ0bfGMTMgLX9c3jMgGSyer9QuRfz9hz49C0y/XCT1/RGTyBP8iFkTfifu0I/UaBE9FMF14vcUWY/MzppJ0dUY52UDrshXL1LAFGXrVRCtmfSTh9AuWrdbItuHI2rEZt+GAZ+Xo1kCPFuzxVkAEqHkl+Bz6iO8ytqxoP/fPOs6XEly0j3ocX3xBHctqEhtHDVaDjaRiIxFxWLSZ6bSZqapmClkzj3yhFOfwUOJVkZJ3k5JX7aNO0owvFEFa2rzv6Vh8cj71OfybQdAIm8WrgT01HWymkM0fBLo3hbtd35CcBatvYMY6xox1fI+5VF9sFZp+BVZsja5tAfsUxF6D9ELn5sFxepxlyIt5N+h5fRu+UyoSnjKjjjGjw27SnnY+Y9r8OIzZLjGmCeu1Zkz2CLpeKJe27AEJsh/ipysrwI3Mb7EPJa9BRd4f9lLyDtlLuYTRReAV+AmSmwYqBweYSuqL1jL+kwKYDWQngGzhEG8Ym56pavph1vTez9UrHugmLJTxc0hDijp2VufFz1WBdrSuUFzZu+9+mP82ohT9e0k0DjdV0wtNP/MLHka7FdVnRGmGMPhobRAzwH/8sMzKV64r46sbC4SGe8Dl+E1oCiehZ5Hv35NfewCGG+nubWf1h4x7Q0uZv2qGrNDQ76hw78YWsmJtFrL2G/eq47Vz6vbhwTTywyD9yJF+mKUfRdKPqdKPavqjYN9c8r2QfC8h38vJdyP53k6+D5DvFvKNKzwDbiv57i0EOcixaj4j+IJK+QjAemvTgRTjEWrfscIArJY8QKjdaLCagr7vBdOPdCJ0LgP71eUYBqkB5juO+hW53A8ph1zG+ZvuuxocCivlHJ9PWKcLPvcZbn7/ZgPuhfaQn4I/iPyRWPJQBSxZrKZNKq7wDZ8zHufJZJgsE6NZW+BJOmcDNrBSpm02/5er2LZXi8C//iOq4roFaajkvyT7Tnw92U4wbeLrnyQbnpvILAbTu2BZEnLugHEL6rP0cB9Bc1IwfcrPb8CTGFnHBNM6MOrrbLztR6G2CajwAV83O0kyAoEuW8G7+YAT1kZDdfUnalYDjTVCW2znntWhgo5yC7VQCLxFcLf5W3Dv0P8GNBZ6OgmFZS71B7cA1vn8oiYL2GLTJvi1jq//hFisL/n6MrLVuIeMXGi7ma/bh4Ld9LXW2vSVtjBrm60h+QPihTYdhOx2NlJjoxHc6W9BNhcKeELBlkIoDANIzhPejeG+pcaAqyeh7VYY9z2G0LwOrf1RDT7j51d0oKF8E2hIWxDocxxnC+jJS6ym30DQeN8jVlOLb2FoLHFj9hJJic1HLe4EzQBPh2FIxArDW2SUXWWDwpGwQjb/D+At/0vC17g3nL1Qwmdf+3j42DQf2TSfWNHZWk8EJi3BuFfJxr0qtLA9FcF0shL9gGDzlRZou1GirURYEtw3E9qG+xP7zPApPCs+LeJQ4MJg6CRViUejDI/GkK59VFhj9opq4Ni0SWRxr/yEKs/bd9PQzdms84ndtOy1u9H3ZBpUIamzOwj+FpumhZ/3PO6MmFr4hifb0SmI5Gyy+X/EUmmQCloQTn7e3fh4OP5s8LRDh9T2AXpSNZdbGyZkSGO8PJTRTjE/rm/o0pMQsEM7SsDAIrZtusNm/EowNfHzryFbMyK4QZrtNtMBUEftOBqZAFtONnn8yTsIHYcvYucSqIvL11/7cyQSzpDmfytS8vUrUC4/PBN7iCdYJpMTK2I2pV0fFe3e/ZjSLulj1cklcGuuIm6Nr7vaObn/Y+qcfLgLFyKj9RrZUYfDu1k8pbItLtcTn3IwR48ogT7cTpaeX1ibTsuOOlhNG/gHtrVnxyv+mUS3sGbvImFVGzFhgQGFgSodeMO+aYiwDrHK24UKe2ihfxYeWzoEq1k9ocRqQl1+gRsbagprrWuml9FP2BNbP+0PntpJDv6xc+kbdVYT+PWrtTROh1J4mEaRv5bFpJqD66BWuBHrr9qppCQemLD5v7bWntbg+jbCLziMUzLQ1XgC9NkOwb/devIH+CYHT5t+TRI064SG5M7wb65wcg+/sk5zY4OZm1eXS9wzNGYNs9uCRe88qwlIhjJ56Sb6EJ6eSbq7T2gOiZSgvmMP+mO15f3lxe6a8iDb/2ig7vc82yWReewkGuhBkMgzQsP8jHyyxdDkzcYMbjMr1iv8Sj2/8ubIvPR5N+I2agQ3WBusGs93sr2ZPbtozKGERNfWgyLRC/706E7OS9vZliT6fbWn9J4e5PSNmFFu3Bl0Y12oQ/ZrsIDfosfzGsOstb9rfD0fpPjO04azytj5YVj5RxFEe7Ff8i5t/sPBI9upY1hOdnMChdymZA0X75Bn1EnC2pgJjuxFJZX5oXxdL5xmNEDZjcw4SRj4uhOwIA6ugL5C3/9Oj0guZmvWuj+FaaQTRDfVGrhBRwJ6m/g6H9nVderIIWQ8TsO//hOuAPuoz5vocTewrgs0I2g9OnJMx9Tk+87WsIyskmz+ZYyFlLxAw1WASGFgaOHwWTq+zoUr0cC1JF7zERc7wQQrcIMG5xJSN80aGAqUQ4oFdqDhuguMnyZsrd2kY7iP0ZHAzdco3uCXkB8UPx9Hah4M3rgDd/CycVq6bJqvbYEKoLjFQDSd32LAfi6KFj8cvHIHUoo8x9irQb0HNu0jqnNu+Qh1ziYdDkesAqxk5PXNlcX/DPOkDc63P0RMBkh6BvlQv+s34M4nv9G9Rzx4uqYf7vm7O1KSLJHi2KFSDR1i/eOcZFVrzYaIRG+0RXkk3EKwXP0hjbSnB9/4ULFBuWs7U4vPsygNO9DKNiFxtYbd8XXLyPP2sS3IUfrQkuh8RgpM/hAX3l9LRODryiISpfm630gk3aki9TcyUh8Mvv2RitQr5KR+MnjyA1Blj8R2UusIOUho33SUoAkj3QmFwGsQYImlISo+uk86ShcVwrj7pMpju7juXCLNqWvIxhbZbuiGQ214H4hIzub7QUOuC/4LMYNVX0pGiQF6NAeFBnLiP7DcAN+1H2qC7cnYUpKl54GlLVgdSRNI4bi5d+dxYsqDllHhrtj+3R8QSiBZ1+Ch70hRDr+mhfQYfHobjbb532fzXGwLkyQ94rsh3E+xG7H5fWpBG9+nen9JVO9j6Z7WQI/CwCw8v+WriO6BLHqfbtfOf5/aarDR0Bzhxyiyj5QD6pJl+br72ERdzOhUj+dFQ0+w80fC+63PH73wR+ePLnofzx+pfIHX2EhO4NBlCPH190SohpMVvpcV3rKNbgUz5MjaGoiVR3wHfIAnMcUpdMUtYjAUN5twIRO6lxwk6EGGdAhdl5BCkeL+3zbaSek2StvF0ftissZ9z0oOSht0UMRpSJWB2wjbwH2ZzxBvg4iLdmzu4m00LAv8uSR24jmylW7mntxK1QI5/jkMI2j3bsC7D3/KvzV/Sv5t+fYp64O126g62raVdcPX9wQahR8OuhjKK7ZG+3gj/Pjabo+CYnoBvt7R/Q0UE96wCl6xVXEko/ohacciBR9YodyaGfD1zm6scQaN5fdb4MHhRfBg1iPw4DP4ehcvbwV3bVE09W30AMi7W6TTHUVbiC1dk7MQ43DNwe2bI5E1ePH6XXyrEaL85TZpo2TsX6GRFfD1bgN264s20n4LPSLSzNU8bo5amTXk2VNbZEc59gKS7+I9tqCOkPPWjBqMvJZjIKSaKISCjBrQsTQOBAt9Xxe0tQuloFCwCdALj0C1QgJNoCjLiSpunHmRFRxrLGM8AebND82HuwgykNXfGPRuVajfCdvo+ZCLUDmX0yMT+i3kTMhkxZkQGz6VHwjpSA+EFCD6eBqExP7wKEirsbTyIwIpvW42kBAZUYaBjtk3M63kn58s1481wARyXo4MHjQI8bmI/G+mco+l8vDsBZB3Ljn/wmiNJweCo5thsDEXfPpWOthk0M824LjaC1+LdyiCRmza34RGiJz1hSnnz5IiogYN6nE8mSbpbLo5ZNclPqXS2EynxKpmXBenBkE+1jTKz7nM2SId+tkNK5hg0WZ67EU6wDG3GeWRHDDZHzy+CceAjjed7ehmrSBElXdZyLq0NOPBRY5uzj/Osc15xul2wd7wGPx9hKX89SYFS5646XxZ8tmmBCxZ3ixjyZsbWZc48JWbqba/DavW3pUBamiQdHaALsliZ7aJiOnm1hAde3mzdHqghFXN43wdjI3k7HTob0lSqAmb4esfiOZlTeWxpnZuok3lBdPhV+hPSYRI4fZIFaD3+o0R2RHm0IdksdUc7NePFrPh1xik7pX06ENoFyvRjpaIe/5nI4t/blQaRhrEoEdCBI2UxyMhU8FMfs3XdddErVf8YyETN1K+F25Umb4vfM2hTziKWfXVNMXbl/KzS4s3AGtuI0vI6Hg/o6OStlBDW6QDHlGHP/7Zofc30CFu2KBaPUeH6HOphvcHJ17u3ECH5tnQemhSS1E3onADZao5OGoDPegPjkQ+s9v5el821pgsF4fJTBzWb5AcD2imzQaZvSeNYOU+CSvfz7qdHHx/vUJsrEC2MKck7ct0OpItPl8XaWPveF+6sReQGgj3Rl6tzopXeBMrfNt61TERcjcth9xN8+pxJE/2pWv43PWykDsuNfrQbV+DtO3r7Uu3fduvb32CiWwRJAiXIL7Ywa51aoafPURVzOo9sU6ie9xi/VgxcZ3SqYorfDeso4XHrFM5R8wvAipCF/2tgeuwiw75c+eQPjavo9pIv465LmIn6qeI/cJmitZRFVqPsJ72NcXzm3CLD/2mtU0yvympPT0F9/h66kYf7ENn4+cs3dkH1+ex66W13+ut/pNW/xmZ1f7Heho5uA2MmNW/0Vq7EXiXSdauAY6KxIxGNCIb6DZR7Sl+5hUYOsDJAa5B9noWWtCyax2j9LgW6omhGF/H/AdT8+dZuHBnjMTa8G7IGVwdbWmM3gIBCxhoT0MEykWL1X+FULtBH3UI16/tj6vHSoLMpqgRy25EwpwMPgrko+u3ifIBC4L/uNV/WvB/t6YXVj9K1m7DyfhGJyP/gGF83b/IWrRfBtlfHoNwWMpZA4WwzIrAINuuk+5PvsjRc1JYv0cyU2jXSaXZ5l/wpSbiBsrIPHQdW5s+TK+nFmrO2DS/ST6RLYvEftHhAQXxG3DpqOcyJLKe9r8FZcKfinoDnt2gZ9ufv2l8xfkPps3ThW8hsQU2At/g0ELlNc93miiTL6VHUqANPIxCrnnmbxqj58J9LUY87gDif3N4MIgOuYv3ebDnWnblzuofo7MGeOQTVDSwO2GUT6TalVbQsNaohk1fi1w5GtSvjV1+lnlPWU2MGq8TC7eRv6mR75TwfiXuCeRZ/Tg2oPrCJNwtOELunYWv4nsQKVi6huoiHT0ch3cca09DYQMUXpOJ57iTqTBjGOSJtUSeCRwdWn3ws9NUY+jJCnkMsfHgPYzVkRoHg21RXkk8Nc5dn35r6MTNYDjQMz4k7rTZlhXk7+tGBhku9B8qzPpBaLDh7jwwsjBwnc3UYuNHY/BcbEsG9y0JL+Vm4D05KBW01p7Rey4nSAr+QyAJa9dSTMBWdMjAZgxYuW+h5iheDvNdlM+v5EEeLlXc/2km0+5YcPy/cJjJGeTsBhEmZKhMTv6ylsrJCNkt8sAEPIh7mNoEDBHsEwsFvx6rA4aCPmxR7//g+dkoMwQMZ5Cq+0RbkAMMlBXMHNnt1tD9Kr+gw7g9qZ7OvH5Dq9vrVBPhVN3FsYuEoI+C2k4x20IDhCx2GP5dGTvcirFD32pw0fD9FTh1Ir5LQYVbG8Ywnk5eTfV30WpsZIMgW5ai6MnksR5fWRH3SORz7ykexGJlAXxAlNnT+OtNeLDmpgD674eNjcEjqxOsMidA4dBcLuZoIYID3ovQicvXP0XETj4L//oenYUPvqd8BcHtyAV6vt1NCCkOoH5SptJPGv8e9ZOuf082u5iTj17ufW2pF5ZDwnXoZeFvcGZY7I000vE9Oj1S3qOKGseX+P0H6TBP596TCSo5S4sjPYkb7YF7cojC/T1Jda99x3uSXsaTgjJB3ryaCnJfK114WkHJWpstTONZ9JhhWowuJPFu8hHUvzDlr7Y1oLPUNXp+42gQt+Dq9vL1Q9GlD4wxEOU1kegJPLi2Bl9IFnz4PabVPlRq3+GrGbw91XbE+doE9XLQond8h4XfkzNs/hbU/p5LyTkonO7b32MvIiCzvZAo/suJ4m/Lr4T5C1M9jczvQ6iuPe9I8ztx5J1YOHIsFoOVgYnkVubNq8gxYeDhJSgBNtNJYNyEdyj3be9g6JON2UFq5gUfAILgubTe0mFIB9lvsVAzGDvxotnKr7xVLw8T9KdUEvNkMQF+zS7pxRDBindavxMi3FGmz4xHyN0xMOnBnifZCnYFUfu5GeTC7nPERk/UWYdP0oFQ1u8UB1oDQ8h7CxpXEbQXrbfWjobRdgxfWbbQuJdkxK5sCdwFXITwkDc1tMjhhdbAtdaG0Uyar1tFpXjoqtiUYvW+IFomOn/4uvWoZtKgYOgdfHTvBhRumSaJqxwq305whWji2wn0zIi3pcDRzpVMlJqDD7ThaGQg3I0+Wxl7NjwNX8oiRQ1wblqB5mF6IXx/sPvbVPcVvEPCUNE13YaVuAl/xDchPEcOfhXAYTNxLFCAhsQE6KK3qQC1hzR8BZYATXMJLcbLKOXbHd5DvYjeSv2F40Hx3LpScheb2c2PSPCFVZK/h+93wVemBOxmWWx0kDVwG1ksTKA2u1Bhs2tWUqVUvRLjKKPJwdtwX0WRiaxIIS1ipladtOlbBj9yZJ0NgLwB80X0xow1GnDpwVpJpa0Y4nT0/T9pkW/+SYrksI6wPd9y+KGXdaST3j6jaOFl1sIztAXqRLGCZQuLUYU2p5JYYm2zLvi+lr3/hrBn/59CM/6puC9M1DFRxovJXsNxJC6rD46IgQYiL8E+A1qiFPoSRUiWzN2w5WFv4SKFHNf/ErcUboey4cvZvQncUBiRDJgYAmKyGfcT3ltJg5egCrpnRO3MJvSkbFCnCE8oGdi63JYhYHjSgOFJ/3ckOIn0C/dEF6AadcKRNyHbWYg+x0jlln8qIpUvr6QqKANXNcQ6gM5EDWv6TLzK6ocf1OeFr/ClAq7B6P0vGJbF+E04l9dr0V1FibTSs3NqvK3NBRnMvhRkSJHKPxcY2OHMQMcHCqSYmC3ZgHUzaTTsLhhEQ13GXE4KhX34JrW9mTQOdlfG1OArb9E14ELyvpM3FHHJj/5JhzYJ5rrSq6YRyafeVEckbf6esnf6xA9J3oZbkaAts0FX0gzQib6l5TLVba0r3qQL1UveRFlsU4RSc+8GlCTUfGQdF0+JzXqDxrylefPpG7JA5fVvoOb5hr69RroptohrdVPsmTdo349DGp5FmqO8axd84A0aKwRQyvGRMT5ERp4jH0a/0YoPV70p40PvFawDtA5Zb1EVqoG01fyzsTMQyW+x+RdeoZh/6vLdWfmP32Tl31vRer6i+wQLUTxd/2e6KSbCtCX7Ynh2I+zrGR7D/BmkUM0KVeRrn9jLFrgKGXuUMfY7BXG3Bi04wPV0K4lGxgatoKO8egVhNTYWW63HEFTqk7jKZMtypjDWHEZDiCMODl7xb2mFT1YotMKnr7fWCm+uUGiFRW9ckFbov/zf0wpOc0wa7zCfozSuer2VND6yXCaNi19TaIV3VpxdK/hf/x/WCrrX6czkXieiEmytFeST//PXZJO/8LVzm/zPv0a7+PtrrSb/g6/FJv+Ja2PkTrruHMltfa0VuXu/LiN31quyyd9vOZ0WycvxTJ6ZazX/T7N5rCUFWj3vx14c983rrNy2VxXznayXcDotJb54KrmdQhygdBT3TKhD367mRaxNeEo3DYi9lBCbOJ44rWBBvp9OPhs0v+Y9XGZmMU3z7qvSxXDfpXG19ZZlaPzR4ONtcLLoi5r1HDDrRWjWv0Gqp2N7fZfR6Z3D/IFboH2YELo+FIiL93dRtIL5r0qubOoy4q7aGvBYjP8udP1YZGUTRgZQA0yNbmjOZRe1dMGWV9B3R5SKSJBdvpWpI3phzauyrUydpAqWAtT8T40U1wzueRX3LdfgK7Dfxb+DQ+I7r7G9NKhnM0XEK4IDAclwVzkM7B/AzHVHxI5YZccrsU2xu0dQwQNadfSPiAleDo4sT9oLo0Nhd2aI7H3wCpW9PEn2qoMvL4udqQm++jJdkTzyKkqTOv6ZbvX/JPh/t+HpiOGz9GJ3ctoO3zblb2Nl6xc85RJqi6ecAxV4ltOWFcSVAr4Sqb6RHZu2gNB0ScejdE2ha2IvDYIHOwTNHoEfuQPWWYJ/QoZe7AyCQC4qBAe+EnvvF+0zeb81Gof40ZYVEh1CbdMp/+amoBYP0tQeSBUdxp3GE/LzZdbAXbtB24z4FLTmbnYyYdMpcnrTtN33lc3/q5B1zNYw7RTexchqoZdHa3/J8/YLYYS+sGE6Hrji69vhplNHEmD71UZfxkHK8fc9Tdpcd8rq/xjjiQHQ37boYkMICCSvl96nCAC9lby/SYpXBoR0BBgwcMkABgRkxo5fCpkIyIlGsAJCDgLyAJDDAHkIwBObeZQpG8ygjM02Uwtf78LTR7UbQCsfAdOD5x9fUp+f/EG8Sjo7+QNd8XwnWyNsC94PNcIbSMAn+jImz0soOrBc8zuBEhvJ/pO+sCEX1JgPFxDpssXqednzX5ZK9twNK/V38dW1QedL/5Y9b/Oywp6nLm1tz79+SWHPN7x8QfZ8ytJ/z54/khczME/nnaOBCb7YysBsXCozMJtfUNjz0Etnt+fvvPg/bM/zXqTGNudFYs8zz27P270os+d3v3Bu9nz3C7SLD15oZc/ffSFmz3sPjZF74NBzJPfsF1qRe9KLMnLf/LzMnt+6lNrz3KXUniv0K0zaE7i/BG1krhm30MwFG76hG6h0D+0hjGIGUh9Mlwnm1Usp9/oniIDNeCFOBIy8eg2szJpi7CTzGxb4GqCVx7x7amnkSxherOPrG8nG5k6+bpiGbWjczQXXPI8RsHx+0UYWHF/KqW7+3/o89T8mPC+L+rIY1/2tjodkP0+DPL0htdQd8blhtOYHM2XDHfEiC3+uUxzLNPNrdrMh7w/WkL6UG4ChReSyyxGKZx15sQXBou7OCOlLXEReG4W3mvXYLt5X3YpDfTdqnnrutgYuweM5ivPK4ISEhB0hwf+RcPJTQXNUMHXZJvCFv4B62qaDH1/iTdX6yJzdoT9Dc/ngFxCFem/o4zN4IJPygbyZdwnetUbKv6ih9x3ptsRjJFcMfJgIfNgs8aEqGnYdHhzyXIwPhLTLW5F217Ps/NuzCkYQrjWoufbCs5Rr/3iW8kGkftTaZ9iLWt24u+JW+1FW8AvAmiZR72kd4CS8F71sAq6jnq8/hFqFvFCo9hnUjEcYE4oi0v5KnZfxY76aH/dcG4cXceg/HOlvk+hvi9JfyCJuCN2huVKxQ7PyGTorX3uGTWUaqt8DZitPZrYI8wh9Ed/QE2cS7MmcfJpaLN2ar9ETJt7oqKfRDR5qDdyko/QZ+LTCwJQ8R8+AdSHun2A6ivG+Z6j1+JPC6KA3YQr52vJ6mOmduHCaZH7S6QtfJUOki8ei1kamdSFU3PFd9SvIINCtrd2URYexF2UikJthDUzIYCObvASGcjXdfe4zqx3l98NLJJpMBJ3zLnntwoAlChJMfZaSoDslAeCUwzb9MP77NDm+fIv8KLaaEh3IOWzcjiSHcsn7bkfFI0PrM82whmEuew6qaUs4urQEz112KO5k8PZn6BkF8I3YDq5JMXduX0LnzrQlVJbIGMIXk0vqUc5alpAlQgKD2GcJtVY9lhD339c15OfYNfdoC9ol1FN/7ymwLhXwTLKJ4RyG3WSK3Y3K809PEezCQ2I1jgaHYhtZpFqis4KLnqLqY/5T0h6ncgaJT9EZ5H5KNoPQLRz7dLx4cBGxdGDayuTvprU/zZT7jVr2blr2ytBDpPe4L6S1+nvgeYJC/3Q9qTpEy14E9SPZXbsnr3B4WQ7e9f+GX/BlEt6lGG0GD6/2dDJ/Xy65V3pKw9dj0Pn6hg7fCabNfC2e+IfMAcH0C3//YrI5SFY0pI3HSZ3T2pndhIYbNKT8s/Lyj5LyuLY5ucOm+Qo302oPacV0af8v0ANcv+1kwVG7CQ/u1P6i5e8rSIrud/OCv8N2kti261iqZ2k61Eu2mj727Ql1JhdJDwq1B8FfuP601b/N2hROstau11j8n+fXHgRn7ZcOfG0deSVK6DdOVvqW04L/M1h6JeEVU/+HtYc0xOq8T96W+ONx/p5UcjPZuBfWL3hTdw9e2t2jJ98G8p1DXghd23TGt1+oPyF2idaRFQc0+fqf8JD4dNzWy9pV6G+yNn2VWujfZG06lGI8Ifh/KVvI6zW83qrnOyW38J1sLfrrG7obR/L6ZPyyGQFe0GLABzn5ALwCvmxXYJlB+MCMD4qO5/NV0hPsuWUqgqsF3BTVbAGCnPY9Xli/U8wXGjq04DkEK/96i9CQe5KUwKXp1ynWk58z/hznq0a38Po0aCkfMGoLFQyC5ktrZJ3vGxxRHT2susN6ckchcvcrofYrLTpfn9Bmu58c19BlIxe7/wGekj+X8Num2QWtRXzfW4Hlnom2huu1hfzrmwv966xNB1NsDbckQXYPSA60tFlo8GhIi4HuHxGBCXQ/CVpqu+76QHd8I8Z2/fXkya1UJmyaT1EsdtCNGuo0g29Rf4Kvx7/6Eao6Q474Eqc+3ht3LE8o3rhzz0LpjTv9npBP37KFyniAQJa2/t10X0f22ppH/k690mHUculgXZEPPM6wRo+0+Jm9MvCZKS8mg2MEHM3IxOd50hb6NzY8vVHo7y1k7cMXXj4mnLyL3MvmF+yTXvf2NVWMhRhrsRKND73eJH/f68bY+1Umpgumbcr3qwQBcjdvNYFHI/ZFBffb4xjnmqx4wUoIrypdFLbZ/D+Tkr5P8O0qR8Th+W9rbKafxY7YGPhnU/CNKs30lUK12I5/Mr5SKEJeKXTY5v8xePlj9DxeJqj+35PuutSK71PX3hrDna+/PkIu8ygXzHEvHSx8jIS12ItvekZffCNoaFz+wGPswJUUfACrtPoJerovmZ2XKQpuXRyJBB9Z3CreU0RO950mr4smx3bQ6VxJllapcvruEgLXG8hboBq8QN/NQLNjAvhm9Tt9B/GlOabNd/ewgveXztcRhx/f27I/uIjgfhQPCQZSjVusJovBxttC7G024nQwjvkrYWmJq7TfxIvgN+4Wt4fCwvBRSOZNlMzdHyPWGC/n+S1I7DM2PFb0Oa7Ng6//TaI2hg5/o1jUE4cfPM/6vb7H8PxN0H9YmjatwhMLaXgUdFxvtncZ8Kaj2f0G74cH/kzOsNYsRtv3G77H6MCfVPsVMnoK/hYrvrV7lt7WMEsHsoTN5pEXax+HXFhP7+MVpyNNQWFdLgTGGgRT011hAOqRjtDbPvrQ97XgD4fHQYl0LGqOvU/INNIARPxcaLgzXWgYrwdufCoEOmOVb8KXwnpleD48B0I33AgMs6bD761CoK1Qv8X3TWFgeqbV9IOvr9VkT/dloDn/negN+qapQv+sdPhnkM7qGRvDo2x+sHphcXiZ/D5u8G/sFOd+m/9EcOujVOLG/42c/MjEM8tgsTPxfUmmI74PrVkbsBUlB7CCA99nhOSz+j9FCtoaeh3qbeAmCg39f4C0ON//O3gRtqxvyd+iavpdG5z+CFnIigY0XXVsd/9XQKLAfzQ/0uUL+uqufT7K7ynR7aWFMX4dX8/+thX5a1b07zTG+0h/ezBJlSar0jaqVKdK26nSDqo0TZXqVWmrv19f6pw5wCuWuio5z9X450G5AeVVFc4Bla7bXQMqXJWukqrKUsegAc7Kmd4BDrGkqtTpGeB2TRtQPVssr6oclJ03wOsSnf2rHSUzHNOdXgL3OCrZc1fJAJ/ocnsHeMsdHif+9fKy7PLqam5Ulc9dWtlHNODfOjWUudxOAzfB0DfTUVlVObuiyuc1VDoqnF5o1Zk1bJjU1rBhpLFhw2KtjQDchw1jf8Z12DD5n3EdgX/B9VrDtcOGQSceh1jl6X9tZpaB/HFpw58mGK4x/FHdKYBT7wvA6Q+r4F9Bhyp2HLgMv75K9M6rmSmcHP9hw+ifQL7AAZwPUfueL017eYcZ7PbqKq8hc1a5q6Tc4PIaet3pyzJcaxDLXd7+13pddzqhUeVTzjrgBgPt01VVaYD/yR+2LSXC8+/IzkxnCYxihLuqcno/ij37O+4MCIP9Qxk6hzamcLTQsGHsb4pzrsqZDrer1OCG+eNxuA1lVR4DFob2Z7nEcgP+MWSDMWdYn//A6M5VlIBTrQZwHnXPg1b/exhN4Qzt4P+ObVUzRP6H5g2VPrfbUFklGghPVCW9vmnwkxuNagrLUKUF7PI4HaA5p3M5hhHXGCoNvXvD1whDqUN0SFL8H1enZGhQxSsSRYpZpIEBISMmXIviVeb0OCtLnOesP0hVIqYx1v1pSiZCsijj8OeUCxTDc8XC45hld3g8jtnSjEksRxfY5BTuztk1s2b6RK/njuqqygr3jNtd5dPLnKUl0xymvKFDBucOGmjMMQ4clDt4yNA8k2NaSamzbHq56/YZ7orKquo7PF7RN3NWzew7uWm+MiDy/xBvoRHEmbB3ZhUoiHMdLqvI1NC51qoGXlU7Y0SHgYgumAR3Ou1lnqoKu7Om2pNJiW8x9JYJRD9DdfF5MEPeTz9o6txrVvoqqmcTPP5YmCSRsQ8bVuarpAoXTM05kIP0MmxYqVN0EBF2AGumO+2uylJnTUyJ/xuq2OsU5RbC7fR6JWpcoNk57xYBf89sUFgGscpQXVUNTToqDc6KanG2AdrK5tzOMpFzc33Q6MITyULBt89JFN4M5+xZVZ5SQx+vq9TZ57/iGRPP6UQ+KSL/mxQx9D73moCd6Jrug3L2yipPBaFiqd3rdpU4QTT+h7RZjDpKg0UkFH5Oc8MkKxvR01DhmG2vmun0uB3VjJoW4DeRvX4GOZHzPUCt4uzsbBj8tXRw/z9jFjgvJVXVsxVyD1QBof2/GRNOtBH/iYHRmUfdDUkv3eFDb4bLhM80w7XXGHKyDNcBruhyERkCljo94K25XRUu0Tui1Fnixp4yp2UBnSocNaDl+humZRmGGTLPobyrkpbH5h1Z8EGv7kqUyzJ31SxDSbmzZMaV//G5EjVbAxylpWSeIA0M52PuoGIm5SNx3Bi9RlwIua4+T3Jd/X9HLnDNL4xcUFFBLuLCuxB7FxCNjHw6mNecazPtRNz/8568q7LE7St1xvH6gMi4eHdWigZ8eO3/solttQagSqX3f8S2TqFxp3HGgfYxthtG5tvs9nF2Y55UZzCpMtR6g8XjqfJY/qCccYilcqbLA7480OrcagwqFh1IptJzKm6y1JQ4qzHi8McNj4T1uqw4/exZNpWkMx4jd3g486tTFfB8Bl/CUgnemeVXqeAHFtP8dhV8FYMHGTz6eZzmcTea9FNG06IrlOWk9qRyhtvjl1uiKlekKvcHRMqZhOackV6O/8LHleOSPo0q/M2Vyv40l2mH/wQp/oH5xjmRCL6CbG5tJFKt5bjlkOLe7wFIR0C6pC4SWQpwc30ksgfSJWsjkX7J0HdjJCJCat4UiWzGK6BbIxF8t/WSbZHIMki3Q9o9BXD4CJ5DvgjSb7AfSDGQa9geiUzF57ugH8ibIZ0MaTWkzwF84W5oH/Itn0I9yLd8HolktgG8vopEGgG+5FvoD/Jzv4tETkN+YTASKQD8tkO6GeD6w5FIeio8h3RqKqVLFymufOd4TlOj11zWIVW3UJOqxzgv3mBYfF8kcjV3trI0Joxln4SyUjwaj8fiCYTyewA3vKKRph+dln49336Wbi53XbfhfQdlXMmxMpPxx5ZI5AoMbo9M0+enpeenGWq1C5KSjuBP/cg0HQCc0m/cf58P//AdV72I8Kfpa5PsaRjbxmd4GKzog/jP8K8llcZ5hpt/+CL/GniGW+mIx8i09JFphpFpmflpObVt5qc0JC/QPpSUVJeWScDppIiOtotvovkC+Hd5tN2bon3i6/8PbG/dpwD/JsCzLsDfSUn0WbTPkWk5+Wl5BWlFtanz2zSkLEh+SHt/kvaapLQ8wGakDIX8KP746qH0/ZHIW1o5/vkU/5T5BHvtn7SYj6EPzwqg+BdQ965vIhH8AwRx8MhPM8vxSDoaDw3cncmAcRSAHA6J0RB5Sfp2x0hGZKkIyurmRiI9GV2QKt2jMlZkI1KWqj1wuZnTSrLWj8lWC9TDt1Ak1zxjVsnMDTKZ4YqQxvBv6r2RyG3DoPw8KN96fGPS5l6kIPTpnHgjzIdiMD4mY+73IpHDiMNPz5rV8lIABIuJzArsRCE1QFCCG75RvcvqSORZmM/JHZ4zx5WBuRoFbqOTE+CGOgXaK4C0uikSGQY6KFl4Lv54t+sUbe5Lit/mdmAWakg8FbsM9NoNWqThc2aFfI1Ja9RGBez6JLWA4fw3MxlbtZXqpuSlZ2tDH7eNEai/oe4GmKOXYRub5WMjbWyHNuiIKmUt0JFoEYepWG8nw6Hl/HHAe2/PQd3GjyORb0GnJuufj8+zagV5F2njk7ca2/sJdT/MWzwIk1yUoD2lHrhNE7+9ImwPdT53MBK5Dttzx21PNZ+1PRO0Z0ZZP4W2Btpzsjn9UBKUWKC1pBkakqHG/BQhLef+NkJaXm1qYZrZQ1pSiTuxEWagV/rXMRuBn0hE0wGVQRfdTVz3WZDXBpM0+5O4I4D7EU3n+RncwaSOTVdxjW06f9mb29mm8+be3KFU3eqruCO62WH43fYvIOUnO+oDfbkH0tIf7su9yOsO9ebe0nufgN+dmkF+f7i0c2Nvbm63jTCOjT3avX0V91GP2zjuVcOAxVdxXxjaQWOHDEPhd9OVmaErudCV9/Mcd9TY/VE3t3xgu88ruMWD+O8ruA25up+qubrBuuZq7svBusYKzQNDdKsqNG8N0f3DrTmdpzs9QxMytX+zmgsMa//Pau6hG3UL3NzPE/jNFVzdxBqOOz2x8+kK7p2beL+b23wTHug6eHPnOjf30814wLp2Sp3mBTf3wG3vA5q7SjoenMEdKOm8bwZ3rKQ/xz1V2nnt7dyK0q7vu7ifS4VVLm739HYHyrm15Z2Xu7gd5e2gq73lKdDAgfKfwbbvrtZ9X6257w7dJ6Jm2R26TaJm9x26D0XNvjvu1Uq7yED7LsX8Tg03rYzjNmvawa+dmnQCH8yhg7JZw3/VlvtUswNQXZrMf9WO25nCv9CO+yrlIXRDUjsubcc93/aKL9py69seiLY57OGkjk+mckuS7JBN0m1M5WqT9W+mcm8kd/wulVub/Feou6ONzp/KfdYGOH+kje6BVO7nNhs1rH73y/jVbbjRA/amcEs1AzancJ9q2/2SzH2l/SGJPL8snQ+lcH26zEvhKgf8nMz9XdvuhWTuRe3uJFq/Jyr8CQHNCi23XzOU4x5NGgmzfW9Sz4Va7nTSU1E8/6gdEzeR4ybqf+nAzeYDHbnmpE7NHbh7k/mPO3ALkzdAMx+nvJz0SgfuvbajQ+25Be0zV7bnVrZ/nUp3RHupptOzSe2gzyVa3QatZqk2I0p3bSdNm/c0ureTNBruv5//fv77+e/nv5//fv5f8FnYg8ZD5rK4yNQe5v8S5f9DH02C9NdUZT5Zp8z31CnPBy7tRuWiI8vX1dP8pdI5QxaPu0x1brAbS9PZ8+6qc4k/n4lUYbo4ibaXIvXX1qw4z8hpzYrzi93b0rS91D5LL1aNXyv9WD5VcX5yXooyxsXIwXVlqeFiswKe3sWsPFfJCNVW1f+ZCB3P5IvMzO+keQmPFpbf0Pn/dp4FWTxZ/fmE8fkQS0+wtM1lNL2Epb1ZOoSlo1k6iaVlLJ3J0vtZ+ihLX2DpSpZuYuknLD3E0hMsbdOd9c/S3iwdwtLRLJ3E0jKWzmTp/Sx9lKUvsHQlSzex9BOWHmLpCZa2uZz1z9LeLB3C0tEsncTSMpbOZOn9LH2UpS+wdCVLN7H0E5YeYukJlrZh+vkSlvZm6RCWjmbpJJaWsXTmFfHlbMyoUcMMmROn+SpFnyEvOzc7p7/RR3LGe4x52Tm5WRTKlbgdldMNM50eLx6fNOZkw3/9cxVFswcaziprWtAqeUnmOPAkbkJcuJYT48KTo3pCCU+J6gclvE1UjyjhqXHnnxZmtzRvlfC20fmvhLeL6gklvH1UXyrhHbjGuPCOUfurhKdF9awSznML48JB6z4RD96JOxUX3pnDcGpr+EVRfa6Ed4nqcSX8Ys4QF35JXD2jBS0bfD0ePD2qp5XwS7mWFfHgYF3eiAe/rBXsB3JW/sdIfPvYmg4XMfg8FbwXg2M4U/7JY/DNKvhYBm9RwW9jcAwnyj93MDiGmOWfWgYvUpV/lMHdKvhLDN5B1e97DC6o4B9I41XB9xObGZPPngz+E4MbZlD4aWZYB2koXNpv68XKlzK4tO8nwRczuLRPdzmDv8/g29m+4w3MgOJ1RFJe1c5oBl9yC4UflujJ4HOdFH4Fs9tPMHiLR4n/J1I7Zcr2tVoKP3AXhb/F8Glg8LkMn0dZ+a9I1K0b1/nNqQq/qn0yo4+Blsc9Cvy4GLzFR+HfMsfn0hQKX/gnCn+W+S3LGNzsoPBh7CKItQ3Df645SkcyLgavZnS+jI23Zyprv5rZDwZ3pVL8O6nwryFwPrq/Kvk9Sxlc2ueV4HsZfLsKjptCCA+q4AUMzqnar2bwVary/2BwaR+4H4N/yODS/vkAab63pfDOKngug0v75AMZ/HYGl/bJM6V5x+DSPnxfBt/A4HseV5b/icHLVfA+7SjcrILfwuDpKvj97eLrsb+0Y/KjsiMPM7hBta57gcHV673V7Sjf9Sq+byPw1vr/GGtnoaqdM6R8azuSCP/L22P5TpwYxx7FK391e7bKUNm1a0k7re3OmPZUq6vxn8zgajxnkHZa26N726OWbP1ZlAD+agL4pwngvTvgqC5tZdf6A7yTzM5KfBnTIX47pQngzwPQEMeevpOg/Gek35i/Id03CyYo36ZjfHg3Age9xOTkYQbvkaB8QQJ4VQL4xgTwzwDeKelS7pRqvIcSlM9Jiw8fn4a272Iuk9F/LoPPT1D+xQTwdQng3yeA53dFeGs/sCOPthDsEZvv0rq2Fx+/nbwE8McSwN9MAH+pM+XjctavdFakOUH5vQngPzD41O7KcXXRJ5gXCeAlesqXpYwv0kpkfhcs39oPf1NP5UE9v9YmaL97p/jwwgTwQAL4wQTwnxPAUzvHh/frjPMx5vfqmSIY1ZnSYTOjw2TJXidoZz4ArwT5qb7PrIijPNuZ6h+1fihuj/BuXPqbSvhybAf1fy1bj8oc6Hj9dkkAH8jgOZcr+XXTRbRfNb9KErTzaAL4sQTwrl3iw6sTwO/rQuVfz+ajk8H/mqD8wQTwnxPAiy+OD38jAbyZwQ+o6BZMUF64JD78LwngL11C5crA7Knkd21LUP7rBPChXSnd5tYr9dWYrlR+5jI5TGHy/M+u8dv5JAH8564UT+mcpBR/vCg9phPknyvTab/bmdxex/qdkk7bV59fvC+dtl+kosPzDF7+qtIu/JgeH8/Ol1J4tXq9P2bUKLuTnAK1i3i3IacVxNgaMrA1aHBr0NDWoLxWoNZNDWyNwsBBrUCtIbmtIHlc9Gyn1zfNbrWXZZdUV3P2W8791Oeogdbr8wea7CUWi6WgevzYCfbzql6QY5n5xxWUR3EvqM7Ac6qjOEuMQxtXbLQP8ooey3kMT9nKOWGLXYwaaCkaW/KHRXPxfvQ5DUc6dE1ZNOR8WCRVPSfkh7JT6lY3UmsIPRxuvd6NNIO+x48tHmwnhBw49CxXRbD0+LFYzGiUXeqxTrBfX1A9IccOj8+GCbmjZ8yJ3dGzFotD6NVk67jiHHuMzpZihxUwQmKcnYp503wut+iq9OaOq6p0kt7HGo12Ozv4by/LrXDgmX/rH/MWOkMkchEAI7IYjR6n1+eGaQgAyw3FQ+209QTtEHoMZfcfjQO9ToenpNxb5RGdpdD99eNjA5TzYrCKF5bxmBRMKHF7Paq2LcpGvdVYBhAvtQwtq/LMAllGrMuqCdWqbygedVZ8o4TDoUtoD/ZWu10ioqtiR2ucFPUttOIfopR3biiR6SPhlIf3vd2uSqeKiqTQ2RCjBaLV/xA507khJ+E1yOtklDLaB5Nrq2dDxhS9tWHBin+IzJDzQybXVSnaAZvxrfjmvoGqEtlM++OZgLNvEKBiqvZ5y+3THCUzQP4HYTvFoi3PbndV4Y1QyE6wns/dg3Mor77QcS5VVJdLzqFKnBssf1wrdj/mj8ualEMoPk8qFZ8/lYrPn0rFF0Sl4vOgUvF5UWnSeVJp0vlTadL5U2nSuY63xCN6RV8ZuGdcqdPjnO7yik6PXayAeQmmycvZ7aVV9unuqmkOt70UJqLX7vDVcCVVFdVuJ+jz7KEm09D4hexlMN3oSxXswAvPbK7M46hw2kt9FRWzoYosZ8eJqShqt48en19osVvGFdhhBtvHjJtotwgMKBSM5+wFN4/LL7SOgmeKyqVKgFd0eMSoL3rD6NHFlgn2CfkjbRY7VyY63W6zeYzNOnKUfWD2wOzBROVUDar2iZYS9mDyZPug7Fyqi4wDq3yivarMThTnKCN6VYpi2QONRNuA1zp+ml30OPGlAF6nB7CpRNcB6OOoLHFOK4K28qJFKqtKnXZ8hQtowfHFdlXHTnxHCGl1aGUVuAdVs9SYFYsm4FmFq9IhOmfGQXsoe8eOcaD8XSXWEkDCiC/aASwcYAatJahBwZUz2Qvt9J1AOMCKOCOERvNcVV6CNLo6qk6tN9jJe6LsPq8T+VFS47BPA9GqtJc4xJJysxlK5o+02o3ZgzhAxu2sVHIBnR9Wjb2XwMkWFzAjFLUJsXPsdkIXOzQ0XSy3O1Gy1az5N0jh9bqmV4IHWZxrb0WLCmcFGEaVENlLvVX2cmC520kxjPE6KgN2MKCAKRAwgTC0loRbSt1FMwEN0cQEwS6qS0yYBI0Njo7N6aiY5iuLNzyLqiaOEuW0zOGKNyUGl7nBprZiNIzNaIpSv2o69JqA+ISZZTjABIwsdQNtGK9h0orQVLXLifQtqZ4dw8ioZqSJDraKcpKOOTE/Yc7Co0F2KwjvDSDhFUDt1vJNJU901rjUnCUsUA6tjLxcSl2uclZFPAUyyOODZQqoPUKmAqOaotNKKqrVTSnEo9RZ4nGiaUsgNa0EYsKFE8sShzITCkdJOhkRG2InjUEzTNHFlbXxOPJY19gpKGFYeIHDWDQWXDS3sicT8SKLxcElZFVTYgGOFdpnuUqdlUS3q6iWbTSqyQSLJ0amsedGpwvQDWBgZa+FslS0NgVl+PYnJTtxCsRh8BBpEk1zlIKS9IpxZlpuCVif1hN+nDGHIO6Y5pppRF3odYHthulMVoBAibIqi2KqVRCdqlZZ5NAPdO1226PGBDUZGB/JiBK1L5HS6naDIrJb8eq5S4RVIUysXHytDP5ywJclD8hDFJyliMw5OQ/gOWp+sSqOshGHoBpwO1vPjjhGOE4h+zQYu4QyKN9cibbyevayCpCNkjtVPMthknfesjAInJ1S8Hg8XuyD2M0/Mpy5VhDlUfEHed795wCxPc5qt6PEaamoiGu2y5xVZWquu13TSuwlXp+drYwuoOuh7CV1ljg9Toc1YxwGq9Qg0ADDM+fdsyUegS+EeUMI82DOiCCcZ+EfGKOKqpnq+WufXlNjr3Z6vFWVDjdMBfvMHJWPckFIDZVJ1FmxIiRlmh1kK64GHlzidjo8aPsGEtsH/8DGOuMZaeZiKgYwwaqed6qaEytnIbbjnV5fBT4bNQrgORfuc4H2BvQs4+MNNya0uMA4b7UEurZQ8sp9la47fE7r+LEAh3LVDpcHRzo0ZkdE+n4LqDjNEo1JmJzy4K+aiAQ9on/s6Miq5R9paZI5QcrK0yuqKlll+3kPbTBVtzAcJnSxfnJnlTvE1qqGMFY5G+NYGBkPB8t5mMC3TDw7wSs6u//aSj+21u9ctnd2heiYBikYEJKWS79clcCvai4b2ndmg/j2Fx3TWW56pS8b40+l/V2lHMmVO7zlXHbp7Epoj6aihz5hR18VGTs8AwfVgQXZr2q3iF2C4swGXxG+iTxme6rIii3bWc6WuOWlnlgOGi0pUWyV0DboepW2If3GdrAraJIg6KhwlUD9KpF80f5pX2DyuGxYlKPL8586L34ZO3Mi7dtJ53nzGKB7gnsH0ucqdpZeqi+d+53AAIZWZ36UH6OqvnQ+WGSAjD+oj/eaT0QiVVJ96RzxYgYoZfAU1f0E6TOO7ZEnqe4jSAf7l7Lzem3Y2HWqewGTWNEk1f2GpW2V9xkS0e82dpdAqi+dX97ANhkXqPBXvy96BrubIOWlc86T6UFXrpGL4a+NM/47GU2TVPch0rso70Oo6SeNv47VH6m6X2G4WHkfI4XVUddfwGjSRnUfZWk35b2NRPz3q+pL57AbWf1GrbK8+v3Xi1T1pfOwc69gdJ4ev770eVxVXzrPU1evvEeSCP8lqvknncdayOpXX3z2/peq6kfPzT0RO897tv5XqupL58lPsfpz2yjLq+WnUVVfOm9d8wwrrz17/zs5+m5yreq+kW5Z/PGq33/+JfzjZfWlc4Dpy+Ljq65/mOEv1ZfO4RlY/c2qCavWZydlc0t+/yb4qnKiqt/frpcpBHn/0vn54OvnNv4UVf3oucbl7F6S5uz101T1pfNBLSvO3n/03I+GwqL9S+d53mD8+AP6Xcr6z2l1MIYmRQnsjzyN94b9Ilbf3ImLnj+3x9E/beW4yz4L17PzLZeeXX93SlC/+Qt2HkVz9vr/D/HZpB+w5QAA'
    bin = gzip.decompress(base64.b64decode(gz))
    with open(pymain, "wb") as f:
        f.write(bin)
    os.chmod(pymain, 0o775)