diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..61a58b0 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +test.sh \ No newline at end of file diff --git a/assets/binaries/helium_helper.sh.x.c b/assets/binaries/helium_helper.sh.x.c index 3009598..6d18a38 100644 --- a/assets/binaries/helium_helper.sh.x.c +++ b/assets/binaries/helium_helper.sh.x.c @@ -2,6 +2,7 @@ shc Version 4.0.3, Generic Shell Script Compiler GNU GPL Version 3 Md Jahidul Hamid +<<<<<<< HEAD shc -f helium_helper.sh -o update-helium_stable #endif @@ -1590,6 +1591,1632 @@ static char data [] = #define xecc ((&data[24688])) "\016\023\302\230\117\212\027\012\076\372\152\233\146\205\305\032" "\205\114\343\221"/* End of data[] */; +======= + shc -f helium_helper.sh -o update-helium +#endif + +static char data [] = +#define chk2_z 19 +#define chk2 ((&data[3])) + "\325\217\031\263\156\135\062\310\367\035\156\022\260\125\114\134" + "\010\105\320\260\014\176" +#define msg1_z 65 +#define msg1 ((&data[35])) + "\255\155\253\026\061\252\257\364\210\101\011\146\141\012\221\225" + "\232\001\207\354\300\342\070\272\345\120\101\141\220\173\172\323" + "\163\103\242\330\221\316\346\276\211\226\323\117\101\120\145\043" + "\243\135\215\121\361\350\361\260\366\031\126\126\375\101\057\257" + "\115\260\253\256\215\035\007\260\210\016\216\325\160\017\003\162" + "\134\336\060\155\024\340\310\016\217\345\344" +#define date_z 1 +#define date ((&data[113])) + "\215" +#define tst2_z 19 +#define tst2 ((&data[117])) + "\126\163\300\141\376\045\252\367\020\137\021\236\273\110\140\035" + "\351\323\107\364\007\305\207\035\160" +#define tst1_z 22 +#define tst1 ((&data[142])) + "\206\014\022\346\007\136\124\313\164\277\344\264\271\123\215\263" + "\076\357\227\065\026\147\034\172\160\211\177\157\150" +#define rlax_z 1 +#define rlax ((&data[168])) + "\264" +#define chk1_z 22 +#define chk1 ((&data[172])) + "\036\212\160\151\327\174\156\246\222\025\066\113\267\265\055\062" + "\043\037\233\056\364\012\360\171\264\075\211\154" +#define shll_z 10 +#define shll ((&data[197])) + "\136\027\006\325\015\000\226\050\226\064" +#define msg2_z 19 +#define msg2 ((&data[210])) + "\003\343\107\233\316\050\325\341\230\123\261\335\105\252\377\234" + "\073\177\137\156\033\176\177\211\371\006" +#define opts_z 1 +#define opts ((&data[233])) + "\240" +#define inlo_z 3 +#define inlo ((&data[234])) + "\035\073\253" +#define text_z 20565 +#define text ((&data[1999])) + "\124\374\002\162\207\163\260\020\337\326\142\366\122\050\316\126" + "\013\025\326\225\017\334\053\033\154\101\226\145\005\355\333\132" + "\352\335\314\161\120\175\202\060\123\344\047\245\015\365\373\031" + "\013\322\256\032\256\332\065\032\033\313\200\041\271\133\173\243" + "\071\110\025\212\305\227\272\030\174\342\276\212\330\272\243\343" + "\214\121\375\072\054\063\125\107\376\325\151\270\061\344\134\152" + "\055\161\364\362\011\257\013\206\221\311\020\151\203\263\115\020" + "\005\112\113\061\176\240\171\175\166\342\065\247\306\221\021\364" + "\003\006\346\015\265\361\224\106\273\244\260\077\130\375\117\135" + "\110\232\217\306\073\010\103\262\353\171\131\262\013\153\246\017" + "\161\214\034\047\176\260\156\072\125\036\171\255\034\311\013\144" + "\144\233\053\237\244\157\122\217\350\254\101\364\027\347\003\211" + "\163\040\260\362\321\036\054\046\075\246\324\131\157\340\276\323" + "\173\351\163\037\131\305\256\101\161\357\066\211\327\071\022\113" + "\131\303\075\052\342\151\121\040\017\045\171\177\006\070\122\201" + "\042\306\241\173\214\117\275\375\077\363\207\026\055\232\142\207" + "\136\237\262\100\011\003\140\031\051\332\230\057\022\353\261\064" + "\262\122\260\076\242\155\074\341\141\303\370\216\135\132\025\273" + "\372\307\374\003\313\135\035\364\067\265\044\112\241\325\177\123" + "\047\060\222\311\235\316\253\376\222\244\215\360\377\242\254\371" + "\152\250\375\065\005\032\051\075\320\115\210\162\043\010\306\112" + "\070\130\024\326\047\277\325\271\144\142\251\143\005\125\135\157" + "\376\133\245\004\166\316\102\107\034\313\271\100\323\200\212\014" + "\331\236\343\000\136\270\272\302\033\144\045\040\272\203\220\270" + "\336\065\274\124\004\377\233\041\312\124\141\236\325\354\253\256" + "\212\216\256\351\107\151\253\143\315\321\204\207\124\024\077\062" + "\112\374\206\117\374\042\160\306\167\322\145\114\276\020\372\111" + "\237\251\062\347\022\336\112\337\257\316\147\003\343\247\065\055" + "\244\274\174\240\336\355\147\125\277\314\242\176\335\234\307\175" + "\105\372\144\130\330\257\070\207\175\237\213\141\107\301\217\353" + "\176\014\214\134\371\363\262\271\300\124\070\236\361\000\033\067" + "\372\200\217\323\057\307\133\255\147\346\016\256\247\235\231\045" + "\252\046\202\243\031\065\135\332\212\225\170\173\225\224\262\220" + "\024\102\143\103\011\276\361\161\245\377\037\114\235\271\162\110" + "\337\364\353\371\052\111\323\264\337\114\057\165\340\342\006\364" + "\044\151\070\056\050\051\237\316\051\277\032\307\171\215\017\131" + "\202\373\122\254\105\046\140\044\162\220\232\122\163\240\107\230" + "\012\177\306\062\251\146\001\323\046\033\233\237\251\252\371\053" + "\246\113\330\353\162\070\020\344\311\252\066\075\113\175\325\125" + "\375\233\210\247\002\211\172\050\245\025\310\116\300\301\172\146" + "\015\122\122\177\213\143\143\125\016\232\222\131\030\147\256\025" + "\003\067\274\005\300\067\056\145\115\367\264\015\270\056\164\306" + "\201\307\105\014\052\251\141\071\103\363\222\134\133\101\162\136" + "\170\057\144\071\146\223\236\263\212\123\301\103\201\065\011\002" + "\374\117\017\047\370\160\140\074\144\363\230\300\064\012\036\255" + "\072\203\346\240\026\205\124\240\331\025\343\132\112\355\135\107" + "\074\155\157\065\336\320\162\102\303\013\003\370\026\041\246\120" + "\245\215\360\273\022\104\134\353\132\100\106\245\055\244\355\152" + "\021\134\240\360\054\022\063\357\035\066\350\063\130\216\203\375" + "\033\164\270\056\271\024\032\023\124\141\271\202\005\246\354\027" + "\002\215\007\056\237\072\036\275\160\006\360\311\225\164\306\260" + "\351\176\336\243\223\370\266\350\131\157\152\137\026\127\167\030" + "\344\177\107\204\271\146\101\052\155\062\363\002\246\272\262\220" + "\070\221\063\314\212\352\264\344\132\037\104\160\166\273\211\133" + "\072\320\337\364\066\040\037\243\122\023\246\371\315\131\212\006" + "\352\275\322\165\250\207\132\002\246\236\163\035\132\374\170\224" + "\315\127\211\003\170\250\247\313\273\115\304\211\247\117\217\222" + "\014\141\007\265\350\141\270\217\000\053\254\132\050\044\357\365" + "\174\170\371\365\041\241\300\335\357\205\146\226\324\365\050\341" + "\127\057\226\100\221\117\317\221\172\173\354\243\240\333\230\035" + "\124\222\022\165\063\323\123\042\130\272\270\055\257\340\016\007" + "\020\245\110\242\364\027\063\157\223\040\022\063\373\253\121\117" + "\075\143\305\160\066\030\223\217\322\113\274\202\054\313\212\075" + "\160\322\337\145\352\023\324\175\063\347\261\056\222\002\176\317" + "\146\104\100\235\135\323\055\060\037\351\262\113\265\075\210\045" + "\020\147\213\372\172\137\167\255\107\051\334\331\054\133\251\222" + "\237\351\060\374\275\135\054\334\106\337\047\373\034\260\041\054" + "\030\255\046\222\014\236\100\124\310\034\055\364\167\326\206\027" + "\300\266\023\176\023\077\132\132\036\202\126\073\062\170\150\112" + "\045\217\335\062\056\035\206\366\072\263\352\262\212\161\311\113" + "\047\335\311\073\035\044\226\074\246\354\167\331\144\340\044\212" + "\157\001\274\235\037\102\223\132\366\176\015\201\357\327\315\027" + "\264\227\122\321\273\350\015\142\325\205\073\072\145\137\304\325" + "\141\200\163\200\303\007\333\272\205\350\074\165\277\011\214\163" + "\240\336\105\134\307\123\276\234\331\372\327\077\131\233\024\272" + "\034\207\073\337\216\026\232\024\376\326\211\276\337\025\062\200" + "\364\167\334\274\313\233\131\244\225\060\343\356\313\367\251\347" + "\177\345\307\016\374\141\042\373\067\253\271\027\301\353\227\265" + "\143\164\161\056\017\312\322\244\372\266\223\306\255\075\255\055" + "\043\165\073\037\326\135\033\015\011\324\044\312\300\274\177\043" + "\060\361\122\077\273\045\344\266\333\170\174\211\265\052\266\330" + "\237\362\370\166\117\023\203\131\350\250\043\250\144\243\314\224" + "\224\037\324\120\104\271\006\040\061\203\251\347\256\140\277\116" + "\122\270\304\242\314\107\373\264\360\037\135\124\302\052\351\126" + "\111\276\247\215\167\255\255\251\061\127\220\337\267\120\055\012" + "\010\361\255\324\071\250\211\052\310\347\176\212\021\150\341\132" + "\047\210\350\237\066\226\110\147\356\330\107\246\050\165\260\061" + "\147\135\006\241\006\217\313\316\167\111\131\210\262\072\343\332" + "\302\314\171\371\142\301\140\120\231\250\367\302\035\247\363\204" + "\005\372\045\013\212\361\332\001\072\063\211\355\155\155\307\060" + "\071\100\051\233\002\212\354\234\063\343\136\120\213\122\325\220" + "\115\373\234\327\354\166\330\047\252\142\025\030\317\335\111\011" + "\035\162\245\040\375\221\274\060\165\033\201\001\156\127\222\273" + "\123\056\222\100\245\153\150\120\316\175\150\236\132\261\247\170" + "\044\114\231\042\336\125\123\124\160\324\125\337\054\347\232\177" + "\026\055\277\274\231\050\014\147\245\164\006\000\045\255\171\112" + "\372\022\154\331\147\277\055\330\224\203\267\300\153\122\100\201" + "\177\000\075\031\050\111\200\315\276\207\316\344\065\107\056\060" + "\131\233\011\301\132\067\232\357\273\122\260\046\244\360\250\044" + "\360\346\075\031\060\276\347\357\106\265\323\173\375\002\253\126" + "\235\264\030\370\354\262\347\247\004\227\316\251\210\167\315\170" + "\135\013\221\216\312\170\175\020\056\121\214\053\123\067\202\360" + "\354\232\351\331\115\321\200\121\150\117\373\360\306\311\151\044" + "\325\373\263\237\164\061\260\242\202\074\316\325\164\120\306\140" + "\352\257\071\067\200\272\211\351\011\204\332\320\116\104\365\043" + "\077\250\302\264\331\163\127\133\257\045\061\043\165\367\204\140" + "\247\276\230\050\170\042\021\202\246\353\123\365\057\110\030\157" + "\360\332\044\312\115\173\046\375\240\127\041\026\117\245\166\366" + "\143\017\036\334\061\060\137\330\033\262\315\113\372\345\273\353" + "\277\337\265\015\133\334\013\373\063\055\021\203\322\210\171\066" + "\227\230\222\066\313\240\262\360\375\331\202\371\047\003\224\252" + "\140\060\377\051\120\171\202\072\351\045\337\374\222\146\022\063" + "\140\010\000\364\361\252\014\167\110\256\167\161\141\277\011\210" + "\362\177\011\031\102\326\134\023\265\316\220\262\006\331\042\155" + "\137\071\263\313\016\311\166\005\153\053\177\267\372\303\372\004" + "\151\007\232\132\143\216\071\102\377\035\247\333\232\143\334\330" + "\151\176\107\374\377\056\162\043\113\035\373\043\000\127\210\306" + "\357\176\154\311\234\222\131\167\341\156\140\151\121\226\300\230" + "\075\161\051\275\126\307\160\333\214\240\325\147\214\165\266\244" + "\062\143\326\272\222\053\173\052\146\007\356\017\351\363\104\321" + "\254\335\171\051\370\314\360\243\345\012\266\245\212\227\270\000" + "\221\001\372\347\137\044\275\235\001\211\063\337\302\254\076\261" + "\214\317\032\243\203\273\360\303\223\212\012\303\030\311\332\064" + "\241\002\077\236\227\306\035\354\204\227\202\123\130\374\315\173" + "\352\342\075\363\145\251\271\357\325\030\070\012\103\164\251\213" + "\072\167\215\115\114\020\046\040\007\126\016\242\021\003\057\077" + "\160\153\060\320\323\142\063\375\047\300\300\256\130\364\351\246" + "\135\156\326\024\347\354\144\250\061\110\025\044\214\320\275\165" + "\031\011\306\205\001\146\002\160\233\275\204\245\253\102\105\036" + "\131\004\051\334\054\353\136\244\006\013\133\363\167\161\165\340" + "\041\042\277\061\006\307\156\146\227\337\354\006\265\315\376\032" + "\316\137\064\341\370\104\301\137\106\111\005\270\121\005\360\342" + "\036\070\332\170\257\264\022\207\074\306\327\350\367\135\134\232" + "\225\270\156\171\161\152\162\237\070\247\005\112\323\014\265\034" + "\115\215\324\131\211\130\377\160\314\267\242\343\334\207\165\047" + "\137\105\177\251\257\176\104\346\144\366\251\330\271\305\211\033" + "\145\172\246\343\003\123\020\312\364\037\036\317\170\045\164\374" + "\047\314\001\377\326\102\134\311\256\156\036\247\361\262\354\067" + "\010\140\026\001\367\016\032\362\317\145\037\016\235\324\230\107" + "\305\156\203\275\047\366\212\051\234\330\375\156\101\275\314\155" + "\111\275\165\137\316\213\371\351\107\215\004\346\155\266\075\122" + "\131\145\011\132\046\147\046\223\115\252\077\301\175\072\122\143" + "\160\023\075\125\142\302\313\357\051\302\042\130\052\277\162\304" + "\013\340\343\154\156\045\253\074\362\001\036\314\271\215\347\102" + "\247\375\123\337\004\247\154\100\057\341\301\033\245\261\366\162" + "\270\010\163\022\103\120\362\155\224\132\264\214\002\145\257\025" + "\255\220\300\035\332\050\126\301\163\356\033\153\005\060\247\031" + "\255\146\122\323\202\223\144\352\363\301\116\360\150\172\057\172" + "\116\056\242\237\124\164\021\350\000\056\273\127\073\135\147\334" + "\022\071\306\146\102\324\024\206\177\110\375\112\046\233\133\176" + "\132\301\063\361\202\345\374\237\003\010\274\223\074\270\324\237" + "\271\101\133\365\012\337\064\173\234\251\035\332\202\103\274\263" + "\162\170\232\202\241\056\205\073\010\011\151\063\162\074\061\016" + "\151\277\340\124\342\060\235\337\352\223\375\065\065\337\255\172" + "\114\120\150\343\124\311\377\312\103\364\157\202\036\347\233\175" + "\335\144\254\133\137\140\024\304\343\311\101\206\212\074\075\360" + "\104\337\351\123\302\151\151\376\337\332\255\326\053\114\201\025" + "\346\140\236\335\243\074\101\170\314\243\021\356\232\276\035\224" + "\216\100\031\053\262\212\016\006\206\134\177\317\332\145\236\325" + "\334\050\342\244\130\344\146\055\155\172\234\302\214\353\135\267" + "\261\025\224\003\211\072\227\161\012\171\324\016\241\363\003\315" + "\036\225\212\312\141\272\146\127\133\214\224\154\255\157\335\374" + "\215\010\107\267\037\054\173\210\200\005\231\133\300\233\045\043" + "\322\221\174\024\325\244\235\136\021\245\177\034\101\335\321\064" + "\126\227\020\031\170\055\354\134\337\246\141\034\367\333\226\326" + "\364\166\071\130\217\366\355\127\111\314\055\114\236\251\005\072" + "\350\354\040\362\236\253\164\042\277\040\236\166\021\363\066\262" + "\156\056\353\126\313\220\346\166\051\240\327\236\211\242\261\272" + "\121\312\046\316\265\046\036\326\357\302\363\375\072\060\323\113" + "\067\354\025\134\204\360\267\042\131\234\313\115\104\013\036\262" + "\136\101\246\104\114\000\004\177\046\072\315\356\030\017\132\073" + "\014\065\376\072\243\146\023\070\336\202\362\154\064\351\131\121" + "\104\147\273\200\266\001\331\076\336\176\330\032\164\155\177\373" + "\014\175\006\165\367\372\356\004\250\315\004\303\135\214\061\135" + "\212\065\310\041\271\264\364\341\335\015\116\363\255\363\237\341" + "\352\153\354\353\267\160\373\261\205\006\015\057\355\152\130\247" + "\313\307\010\216\373\204\171\177\071\251\361\146\326\336\371\034" + "\330\065\317\353\135\227\325\365\026\222\117\202\164\173\017\346" + "\345\150\313\270\331\120\355\332\206\106\031\123\022\223\017\107" + "\334\070\265\210\101\232\122\257\141\232\116\157\177\370\336\177" + "\314\177\345\165\333\377\261\321\236\060\174\062\071\125\006\176" + "\275\301\066\326\342\133\222\076\275\236\326\166\267\144\020\355" + "\263\172\327\070\341\113\160\223\234\221\232\202\370\063\035\155" + "\220\075\303\177\363\255\057\023\316\054\162\060\222\044\165\206" + "\156\171\003\323\142\242\340\113\130\073\200\315\223\232\256\111" + "\344\241\270\342\335\223\301\373\011\266\162\102\211\372\312\063" + "\023\263\046\011\305\356\317\043\176\317\072\214\353\171\222\302" + "\356\311\333\127\004\317\266\303\221\064\103\043\357\141\040\266" + "\013\265\360\133\034\372\101\017\236\151\213\374\120\012\344\126" + "\362\062\007\252\034\374\141\241\073\152\103\352\144\135\055\214" + "\244\210\220\255\214\231\314\176\115\276\103\272\077\276\043\036" + "\351\113\173\335\174\000\164\224\031\362\015\205\100\277\253\177" + "\317\152\072\127\205\364\161\364\053\030\250\134\076\152\357\074" + "\254\157\242\132\333\265\347\225\221\225\144\354\017\052\050\260" + "\323\236\304\245\243\356\313\201\305\267\041\204\100\326\165\031" + "\362\035\005\370\231\122\077\263\116\361\100\326\172\015\061\252" + "\043\355\330\155\105\213\305\336\176\303\161\301\064\002\271\017" + "\341\356\250\006\037\252\114\114\142\030\264\075\345\024\113\177" + "\101\042\306\106\075\274\102\131\071\006\113\233\244\261\356\017" + "\066\350\151\177\222\262\025\220\304\001\247\206\062\301\107\144" + "\303\131\100\232\067\103\113\356\175\154\147\022\370\206\136\042" + "\012\121\054\042\266\207\332\177\320\356\123\332\203\131\131\170" + "\365\347\132\234\033\016\111\154\022\001\307\245\125\335\155\041" + "\123\325\274\037\104\100\031\057\022\126\164\150\173\247\243\173" + "\045\164\042\302\027\051\047\210\266\101\241\071\153\215\127\166" + "\354\227\000\134\300\120\313\350\210\046\261\013\154\325\314\355" + "\241\017\232\332\242\076\117\176\337\160\217\176\122\013\106\345" + "\043\142\076\250\100\045\234\125\254\045\160\044\100\225\166\156" + "\046\333\025\000\216\172\061\342\037\200\053\015\176\303\171\272" + "\311\225\014\256\105\033\007\021\356\205\232\041\014\045\227\054" + "\344\252\234\272\236\233\046\233\377\362\314\122\160\324\161\013" + "\320\144\244\276\203\124\201\242\233\000\121\017\334\115\266\025" + "\251\157\374\236\233\337\177\111\137\200\326\005\043\222\062\250" + "\171\227\204\152\356\264\100\276\150\146\361\034\332\044\072\160" + "\117\141\076\314\006\067\266\036\201\054\047\332\141\101\263\027" + "\152\256\050\200\133\204\202\317\330\235\032\321\223\061\040\371" + "\174\142\171\144\323\024\163\020\005\036\155\016\126\332\172\251" + "\346\340\126\024\047\157\216\107\006\356\133\135\344\222\132\110" + "\024\061\373\314\314\223\072\033\154\362\371\017\341\123\205\256" + "\106\243\270\206\277\204\320\100\075\050\207\350\101\107\004\106" + "\107\075\123\053\044\357\030\362\024\071\115\325\016\000\375\365" + "\013\366\356\112\346\350\357\323\104\272\314\100\371\157\334\171" + "\274\276\324\005\120\170\173\232\247\342\231\334\107\214\224\030" + "\235\015\151\131\213\020\355\030\357\005\027\117\260\125\025\315" + "\354\351\011\303\121\343\025\004\076\350\274\236\130\041\357\032" + "\131\104\165\323\253\376\041\037\070\015\011\354\021\275\022\031" + "\331\236\226\246\055\301\046\227\170\370\032\113\051\006\223\035" + "\022\327\172\004\276\033\310\241\220\324\373\205\267\156\263\016" + "\210\256\231\007\015\314\200\222\350\336\030\025\156\253\227\227" + "\313\036\111\062\013\212\032\257\335\230\374\316\230\037\231\375" + "\037\340\131\123\057\161\133\161\273\016\140\071\146\074\224\160" + "\000\044\112\243\131\361\371\211\073\304\261\357\122\221\250\356" + "\025\104\302\101\163\224\247\146\132\134\111\005\346\301\353\144" + "\014\367\114\014\105\124\263\265\315\116\163\072\125\316\173\117" + "\340\257\164\100\261\044\254\165\327\372\144\301\207\077\201\170" + "\142\314\151\300\241\121\137\322\011\136\375\307\326\016\170\164" + "\251\031\344\010\215\377\026\250\327\245\015\074\023\241\235\245" + "\101\127\055\002\065\163\166\210\076\164\327\263\225\220\035\351" + "\273\260\130\303\305\341\067\010\313\133\357\016\264\140\342\051" + "\264\362\353\112\255\033\011\324\127\176\163\127\331\143\350\032" + "\144\073\217\136\257\200\045\151\207\162\372\211\212\317\036\265" + "\101\322\177\114\234\164\023\071\100\233\175\375\316\102\072\235" + "\120\370\375\044\373\270\303\262\336\132\167\342\034\126\202\102" + "\102\310\174\005\320\017\000\270\237\062\353\000\223\345\071\050" + "\253\302\045\037\243\360\075\342\106\216\235\362\335\046\272\102" + "\132\235\205\343\304\357\032\035\315\215\263\230\150\040\333\110" + "\350\040\104\202\160\054\130\170\325\055\277\065\354\131\020\304" + "\114\324\327\067\203\232\347\342\372\053\152\000\047\161\172\237" + "\315\214\116\055\321\002\021\270\172\332\342\221\260\256\255\024" + "\044\314\165\147\371\214\240\047\061\120\365\170\015\045\162\222" + "\167\047\140\012\224\004\240\324\175\067\064\202\232\331\241\060" + "\252\254\272\304\044\010\326\154\150\100\145\142\225\213\036\351" + "\376\006\220\105\342\330\020\064\105\342\273\022\342\250\163\072" + "\236\123\250\005\276\166\212\016\142\103\314\076\131\313\007\164" + "\343\275\232\366\330\257\374\173\373\201\133\351\252\201\101\267" + "\102\266\235\176\311\111\363\365\155\336\220\330\336\204\155\134" + "\316\361\000\140\233\146\355\045\021\353\157\144\377\073\151\164" + "\031\111\362\177\232\223\021\321\311\261\150\123\023\237\254\313" + "\005\074\167\035\251\236\376\316\331\222\121\070\022\050\022\211" + "\253\047\345\211\216\030\275\255\046\055\053\076\336\371\336\016" + "\031\164\215\367\203\034\346\375\343\106\225\165\346\014\276\311" + "\214\077\245\242\152\244\077\203\200\233\274\265\042\247\204\067" + "\263\107\055\240\313\160\145\023\300\164\041\161\073\130\324\266" + "\256\276\100\273\274\250\115\347\147\072\041\076\223\041\362\052" + "\335\206\276\060\005\353\157\173\356\340\014\126\222\027\155\336" + "\076\001\240\074\330\132\265\022\220\202\273\001\142\122\012\147" + "\054\230\304\261\310\032\216\267\035\136\136\173\053\245\114\347" + "\144\372\061\342\045\230\266\350\167\076\262\113\373\346\123\100" + "\266\061\224\340\222\211\036\140\160\033\353\372\355\172\374\255" + "\340\213\307\030\314\075\014\266\020\161\015\266\014\307\131\160" + "\036\154\161\120\372\257\216\050\021\212\347\042\315\330\147\101" + "\266\360\040\264\242\307\115\140\055\151\267\226\074\207\105\157" + "\357\026\051\047\257\371\011\243\051\036\041\375\216\102\330\154" + "\204\113\071\206\350\321\105\157\110\270\213\302\261\323\014\233" + "\041\145\121\031\160\124\044\173\303\270\215\121\126\330\101\225" + "\256\244\201\322\262\313\327\147\352\374\120\057\361\213\335\313" + "\104\324\017\311\211\057\320\001\231\210\234\176\343\364\303\334" + "\235\226\055\052\032\157\267\122\127\013\321\034\031\304\010\053" + "\277\204\321\272\037\310\277\105\170\064\003\362\077\243\224\362" + "\324\076\207\307\041\011\172\356\343\310\070\057\313\114\071\056" + "\203\232\121\153\102\164\072\004\305\035\365\254\376\253\344\236" + "\004\121\154\066\022\140\172\120\332\316\347\266\005\350\102\001" + "\122\260\340\012\237\000\121\121\112\313\023\265\050\234\124\354" + "\133\056\170\170\350\025\052\123\205\125\300\221\160\362\127\316" + "\102\101\231\334\226\063\167\166\244\371\135\270\346\014\270\243" + "\060\216\200\115\212\216\027\054\266\271\264\001\372\036\054\375" + "\375\145\331\012\363\250\336\022\352\256\267\174\057\065\020\076" + "\031\306\036\135\011\221\035\177\307\016\314\106\333\075\262\247" + "\362\260\017\231\076\047\165\217\076\171\273\342\331\142\211\013" + "\167\001\335\227\126\271\117\367\260\262\226\242\211\205\111\333" + "\325\255\245\025\264\200\043\020\073\272\175\262\105\067\262\363" + "\115\223\216\364\124\052\055\134\207\262\051\273\020\237\071\150" + "\026\233\350\321\200\206\347\333\107\255\350\276\351\000\173\317" + "\025\012\306\275\057\357\153\077\221\270\100\112\026\123\124\311" + "\134\105\155\165\122\364\102\113\155\022\105\120\336\346\217\120" + "\003\135\231\036\375\122\321\366\325\300\152\205\105\276\324\145" + "\116\174\102\362\172\371\213\330\227\337\322\155\114\301\066\153" + "\274\205\165\305\065\070\127\266\175\047\077\106\023\354\323\074" + "\337\070\323\051\306\013\143\220\241\066\230\211\243\034\061\057" + "\330\263\124\064\167\322\062\013\151\026\316\322\072\314\051\100" + "\121\004\111\151\134\364\311\136\052\306\053\146\065\322\072\376" + "\250\066\373\062\034\141\171\214\154\275\320\153\310\053\223\031" + "\033\226\003\062\164\323\112\373\104\235\146\074\157\174\215\057" + "\257\023\376\265\022\311\006\171\375\321\124\165\233\015\301\040" + "\212\377\170\207\357\035\033\324\024\361\041\155\163\157\270\154" + "\275\304\312\237\253\151\365\172\205\152\260\016\345\224\252\334" + "\221\342\261\040\060\323\172\355\143\144\315\157\112\057\073\202" + "\042\244\054\057\270\365\260\133\264\101\061\340\330\153\151\034" + "\350\256\341\262\327\051\034\202\125\333\361\226\144\237\131\021" + "\265\254\042\131\052\051\101\101\105\274\054\277\154\340\274\334" + "\003\056\000\213\311\173\075\174\343\033\111\020\035\152\343\143" + "\275\100\376\317\150\364\115\024\253\323\133\355\010\110\153\056" + "\133\143\241\056\257\355\356\353\130\207\237\111\343\313\304\226" + "\070\110\111\023\173\254\053\254\042\330\357\160\137\047\160\241" + "\254\230\063\332\161\241\167\231\251\072\262\170\144\033\255\304" + "\030\026\312\341\274\241\240\265\104\036\240\252\325\373\073\047" + "\227\064\354\004\120\100\172\074\226\170\014\246\234\034\056\063" + "\312\141\164\323\324\064\256\312\242\252\074\033\275\210\153\063" + "\150\305\170\363\331\363\246\244\071\251\141\330\237\066\027\041" + "\060\112\044\020\271\071\303\360\110\277\121\141\321\277\265\216" + "\240\122\201\255\164\302\323\163\015\236\266\224\247\266\206\071" + "\111\056\240\147\236\070\202\223\072\043\004\077\170\362\310\022" + "\266\345\275\316\043\362\130\112\072\200\046\375\303\214\160\242" + "\255\141\174\110\126\042\044\273\104\252\353\031\231\274\376\017" + "\373\331\367\347\207\222\106\245\253\346\250\062\044\056\057\212" + "\007\017\025\027\352\243\165\362\126\200\056\224\261\266\335\371" + "\156\206\074\156\003\232\313\040\015\053\306\315\034\125\271\074" + "\330\054\353\360\064\056\305\144\230\244\077\374\371\074\161\340" + "\001\044\300\332\075\320\265\352\303\017\134\346\013\137\156\123" + "\215\134\147\140\352\365\072\107\102\055\320\307\335\267\345\065" + "\115\077\230\127\004\137\176\301\252\066\310\176\025\172\251\360" + "\104\112\102\011\152\104\336\171\117\120\173\136\323\340\324\210" + "\343\201\043\237\311\371\011\101\275\146\314\342\120\243\111\317" + "\120\065\326\135\232\131\015\162\237\006\216\236\046\147\371\366" + "\014\072\264\254\316\262\253\372\014\314\043\324\202\112\247\301" + "\037\366\275\161\363\254\055\145\032\337\231\062\312\043\244\321" + "\223\302\070\053\054\221\013\320\171\153\116\256\121\043\321\060" + "\106\217\072\056\030\232\276\311\016\072\273\335\372\364\176\307" + "\046\213\216\107\172\256\166\135\333\171\302\147\231\035\143\102" + "\370\305\201\301\331\230\352\125\104\121\024\231\353\261\207\377" + "\333\147\332\224\106\105\133\275\232\115\241\351\071\376\107\014" + "\050\375\176\057\060\044\210\253\210\000\373\051\146\015\112\045" + "\157\275\316\065\105\272\340\266\212\125\235\057\306\013\106\003" + "\166\046\026\377\010\302\100\303\357\146\207\374\265\221\310\353" + "\341\032\250\134\252\266\145\341\362\302\057\210\032\052\272\071" + "\221\300\134\212\370\062\350\040\040\335\367\377\250\021\203\231" + "\015\104\032\243\000\130\237\351\245\207\042\301\273\044\324\210" + "\172\330\166\210\104\270\366\203\157\303\361\267\007\364\120\010" + "\001\123\013\225\161\224\064\120\373\332\017\307\223\157\330\065" + "\270\305\341\044\204\212\022\354\071\323\031\025\234\361\334\104" + "\000\302\046\124\271\054\027\001\015\216\307\364\202\136\120\302" + "\073\343\261\152\235\272\106\237\163\342\153\372\142\262\345\222" + "\200\333\051\344\200\162\222\236\222\204\015\252\040\012\227\010" + "\057\204\322\136\235\017\351\120\253\131\235\175\227\362\130\072" + "\370\341\144\165\037\376\247\261\356\100\021\322\115\025\163\161" + "\300\057\251\367\316\371\340\032\046\157\263\063\055\142\356\314" + "\147\143\161\277\221\243\210\203\141\324\135\063\130\334\056\265" + "\224\042\044\102\326\256\357\050\021\040\160\020\063\014\321\066" + "\102\104\375\065\103\022\002\304\012\304\302\276\065\006\146\335" + "\337\030\173\010\214\303\177\016\051\006\070\075\166\225\240\204" + "\001\371\306\263\275\017\153\147\265\251\140\067\026\055\337\147" + "\111\114\241\142\255\235\172\200\373\306\256\377\354\106\004\332" + "\033\151\105\120\005\050\242\105\357\114\301\123\132\266\207\334" + "\051\143\212\215\154\130\337\217\037\114\311\227\015\006\127\221" + "\332\042\347\035\364\221\112\074\350\025\016\357\370\233\067\072" + "\202\026\266\131\261\051\016\144\166\072\374\073\077\306\036\110" + "\046\023\172\111\216\017\102\105\330\364\222\272\265\336\206\100" + "\220\152\225\042\340\274\154\314\350\036\001\160\341\335\053\200" + "\143\077\336\077\310\215\237\017\212\116\053\313\370\255\234\222" + "\233\105\301\154\266\014\034\312\040\075\342\211\373\355\202\177" + "\111\232\076\367\236\276\177\333\274\176\255\225\204\342\176\117" + "\234\002\374\040\324\152\236\315\063\144\024\321\257\031\344\036" + "\333\143\167\140\016\243\137\144\170\264\122\115\207\027\150\230" + "\203\053\323\306\253\176\321\070\125\362\200\000\155\335\333\306" + "\375\014\003\301\327\342\361\115\266\321\041\053\016\064\375\133" + "\057\370\133\133\133\134\045\261\211\376\155\032\332\342\272\116" + "\220\357\176\312\342\317\065\354\221\350\322\062\234\301\361\046" + "\071\045\250\160\044\256\306\015\214\200\347\151\037\226\250\032" + "\306\301\116\145\145\025\010\263\273\277\050\345\202\272\364\243" + "\076\310\200\325\155\313\327\141\146\323\043\336\123\325\021\272" + "\124\316\242\301\330\100\077\343\066\261\223\170\220\141\233\374" + "\063\141\362\074\071\257\304\166\030\330\203\027\055\047\054\027" + "\254\230\151\150\267\232\073\055\145\133\174\277\277\253\375\025" + "\102\255\233\311\076\305\147\154\004\245\127\335\003\325\274\354" + "\321\326\124\104\266\214\074\110\030\157\215\365\115\320\040\353" + "\046\352\026\073\176\232\152\360\370\374\253\165\043\375\261\300" + "\157\207\211\105\265\242\257\170\274\101\052\330\051\235\255\273" + "\135\274\123\224\026\070\317\231\077\066\244\111\255\327\370\322" + "\252\074\106\277\156\251\032\007\365\115\143\014\315\166\344\136" + "\217\053\230\271\140\252\150\265\121\315\337\004\305\134\233\137" + "\235\363\303\252\026\344\210\357\263\111\215\306\075\003\177\374" + "\000\050\272\055\133\345\313\211\300\206\170\074\265\300\110\206" + "\265\002\100\350\327\002\031\162\234\136\025\123\205\177\006\264" + "\062\370\367\130\143\124\215\215\225\135\370\037\105\347\116\047" + "\364\341\037\006\231\050\074\117\354\143\267\324\377\330\100\236" + "\245\372\101\240\257\250\003\043\302\355\237\334\317\056\002\060" + "\211\356\303\326\264\076\213\202\277\221\302\206\336\042\345\332" + "\226\177\327\115\347\162\277\236\210\316\162\162\333\077\114\221" + "\017\266\274\327\200\145\057\264\051\240\137\163\032\202\367\100" + "\071\374\030\004\345\314\236\024\153\363\307\077\271\010\243\066" + "\132\310\104\262\362\225\024\225\340\136\376\212\361\063\201\234" + "\346\057\272\346\147\333\022\072\165\163\113\062\076\022\210\226" + "\342\316\306\042\001\037\300\315\017\144\052\171\202\057\246\340" + "\106\064\132\176\365\043\021\352\112\350\225\320\027\115\152\361" + "\315\254\263\055\326\321\353\005\300\251\314\147\314\342\376\163" + "\124\105\147\113\153\222\134\306\305\122\001\101\031\013\312\055" + "\146\130\272\030\063\243\357\235\266\176\232\022\010\223\271\037" + "\266\057\372\104\055\310\300\224\012\353\137\377\040\131\252\167" + "\361\362\152\017\257\356\274\334\164\347\117\262\353\012\157\000" + "\340\205\371\170\122\200\055\333\021\172\350\222\057\315\127\340" + "\006\376\100\335\057\271\130\305\310\352\064\310\031\104\051\206" + "\054\332\005\224\210\271\015\246\250\310\105\352\074\326\201\003" + "\106\033\021\214\075\251\351\065\012\176\274\352\346\007\177\211" + "\130\026\171\236\106\360\004\125\206\376\105\361\166\304\365\153" + "\153\027\164\277\323\312\015\246\015\033\122\115\101\342\376\321" + "\303\153\241\333\275\070\006\152\322\263\060\276\306\343\271\334" + "\166\155\343\314\354\300\106\151\001\307\155\244\125\300\244\275" + "\176\034\036\353\170\317\237\204\010\126\020\231\066\074\316\323" + "\113\333\102\335\332\326\265\202\025\317\013\346\037\176\342\177" + "\075\140\234\165\016\005\307\362\112\271\274\101\302\032\033\250" + "\011\031\273\042\305\321\302\164\206\333\034\112\263\056\072\314" + "\057\232\253\353\367\275\106\342\016\300\324\041\376\356\133\012" + "\304\166\257\175\025\060\355\203\274\023\130\053\046\244\171\172" + "\113\041\173\003\135\071\156\034\157\317\262\350\315\034\331\017" + "\332\010\043\335\104\306\055\122\032\101\130\320\367\233\212\247" + "\114\001\341\047\107\157\357\176\357\102\150\155\105\151\144\364" + "\262\174\263\202\350\357\373\345\071\077\356\044\043\366\026\333" + "\113\102\260\073\063\321\140\033\305\345\014\001\326\063\256\134" + "\011\044\066\271\213\240\044\336\345\103\366\136\161\207\250\314" + "\114\024\247\317\341\173\007\357\245\054\155\301\350\277\203\204" + "\076\200\131\005\115\055\320\356\062\163\054\312\225\113\144\266" + "\074\153\207\050\155\362\002\136\170\035\244\021\075\211\165\041" + "\026\153\100\110\210\057\344\335\112\065\160\333\306\011\157\332" + "\117\340\040\164\235\334\367\071\172\323\141\310\003\247\307\172" + "\324\056\241\013\131\337\167\120\111\344\312\351\070\376\023\251" + "\252\143\035\011\222\015\140\247\274\277\024\104\216\270\203\216" + "\230\104\147\144\236\317\323\031\044\244\011\225\032\130\060\067" + "\005\223\222\133\327\103\327\050\067\001\023\372\130\230\061\216" + "\022\217\303\242\306\242\060\106\340\351\046\103\362\045\145\241" + "\362\201\324\071\005\252\250\062\252\254\212\147\243\363\030\251" + "\362\073\325\240\120\117\032\157\002\214\325\146\253\177\056\116" + "\353\004\364\305\237\105\136\367\025\023\255\134\006\317\113\003" + "\013\164\031\214\115\140\305\021\340\364\041\000\031\302\251\262" + "\030\165\164\011\317\246\031\247\243\223\010\151\265\260\000\111" + "\266\327\135\356\311\317\016\301\150\115\034\212\235\103\067\365" + "\327\367\274\017\126\340\105\037\275\217\030\371\056\031\224\170" + "\245\311\104\063\002\111\300\211\236\125\064\324\375\175\237\206" + "\064\152\052\150\202\022\036\354\273\114\301\325\046\144\112\154" + "\341\102\370\140\030\274\010\044\350\314\164\255\223\261\124\120" + "\122\361\164\064\011\304\261\112\014\115\153\143\017\154\377\165" + "\225\057\225\360\164\127\210\077\054\062\246\265\144\034\065\145" + "\211\117\147\324\044\301\003\327\034\205\322\221\230\172\072\126" + "\362\253\116\062\322\102\066\255\235\100\136\037\310\062\034\275" + "\340\302\214\137\345\351\114\161\267\240\306\370\255\207\132\331" + "\233\010\161\004\341\351\135\256\106\357\047\225\172\110\333\035" + "\033\170\002\116\043\217\324\072\057\205\331\314\314\165\071\164" + "\037\234\273\165\163\351\370\256\207\333\300\174\252\336\262\041" + "\024\313\356\067\227\345\221\264\062\141\053\110\053\077\233\204" + "\006\305\166\242\237\237\265\257\033\053\312\161\170\051\331\352" + "\350\076\131\167\240\356\330\327\217\030\264\342\310\022\120\236" + "\337\237\346\324\012\167\065\120\054\277\040\001\254\204\121\275" + "\042\046\273\217\307\137\340\156\223\323\240\020\122\351\002\144" + "\326\075\161\260\222\151\072\131\232\076\004\137\012\075\216\017" + "\344\231\153\127\235\203\362\164\226\327\374\152\046\273\173\112" + "\102\106\161\044\262\124\303\000\247\153\071\212\075\010\232\315" + "\215\114\042\056\161\156\043\061\132\024\253\175\030\164\372\233" + "\147\321\223\063\022\050\366\130\360\072\107\077\307\022\044\343" + "\310\266\216\233\315\142\261\100\371\041\167\113\117\201\071\236" + "\323\231\101\377\375\005\362\030\006\062\114\172\234\301\130\163" + "\205\253\234\350\131\232\023\010\162\200\051\172\024\326\346\057" + "\062\140\211\121\237\067\340\006\125\336\311\222\170\270\323\215" + "\334\052\335\131\304\357\370\370\220\277\002\352\007\003\270\323" + "\056\142\003\343\330\222\262\031\203\326\110\346\246\057\201\314" + "\013\323\026\133\246\127\044\342\113\335\070\022\066\201\375\122" + "\275\100\074\010\326\321\201\254\271\173\033\071\340\367\150\153" + "\365\327\317\356\254\155\146\250\144\321\066\163\223\261\345\332" + "\062\377\162\330\347\063\114\226\046\022\276\105\270\050\206\111" + "\065\122\226\255\040\040\120\012\156\024\333\301\217\074\227\034" + "\070\014\205\050\303\264\230\271\273\267\006\322\111\067\276\272" + "\122\333\233\256\105\240\020\372\100\371\341\237\021\224\074\300" + "\051\120\115\013\355\014\254\326\215\125\241\374\234\215\147\013" + "\072\135\001\130\233\147\266\010\116\127\132\257\316\033\245\134" + "\024\075\310\205\051\066\045\140\352\202\160\014\044\363\025\035" + "\126\124\052\270\321\313\205\147\155\045\167\337\154\255\071\047" + "\056\332\372\126\205\206\004\341\271\217\216\163\261\265\124\206" + "\232\013\155\371\305\200\217\316\156\223\235\163\052\010\375\012" + "\355\333\362\371\051\111\075\350\352\046\324\162\331\061\247\010" + "\374\207\204\107\135\310\147\144\327\011\210\373\102\136\340\341" + "\035\234\312\101\025\341\205\173\111\111\103\237\371\266\243\255" + "\350\275\046\255\250\242\124\126\207\036\104\215\233\222\324\036" + "\103\156\326\364\175\066\052\045\216\354\115\161\026\230\367\356" + "\070\367\231\015\150\215\111\305\270\332\134\251\033\105\244\134" + "\243\113\001\144\016\303\373\234\106\257\326\137\051\207\106\204" + "\160\076\064\266\100\117\041\222\342\123\050\302\134\377\125\364" + "\061\370\221\255\175\205\264\046\164\323\135\030\024\362\013\022" + "\041\356\063\131\140\203\022\056\124\235\024\052\064\035\106\055" + "\041\233\001\376\156\067\374\117\252\353\373\252\321\370\263\254" + "\027\020\213\062\223\203\254\303\104\030\015\033\337\307\306\362" + "\337\211\305\066\316\350\054\371\131\351\234\076\107\165\322\264" + "\356\015\013\076\043\326\371\260\064\156\255\357\050\240\125\303" + "\350\226\226\131\002\172\075\340\152\241\033\223\231\020\047\054" + "\331\160\301\205\173\242\127\170\001\237\212\332\271\153\327\147" + "\300\032\146\071\245\025\032\023\366\215\057\351\351\235\327\057" + "\065\064\327\243\321\270\237\226\201\103\064\100\135\226\160\077" + "\117\374\220\231\253\124\247\215\255\217\147\367\356\133\155\166" + "\040\226\346\155\374\320\235\117\340\206\252\146\162\275\344\171" + "\301\342\324\072\107\233\214\212\037\013\165\166\041\145\071\320" + "\241\275\126\333\306\273\111\006\305\052\300\235\265\306\314\325" + "\014\361\261\241\231\242\061\144\151\063\037\362\220\165\315\231" + "\140\174\155\166\364\177\370\113\203\354\051\103\024\171\013\036" + "\244\301\120\000\324\364\220\035\136\373\204\121\064\007\006\272" + "\152\366\232\250\174\332\221\062\062\212\064\177\325\203\243\263" + "\013\121\062\130\133\021\103\037\243\050\237\266\334\106\223\340" + "\203\026\326\117\155\017\037\141\175\252\240\174\207\122\035\270" + "\350\174\325\306\233\041\146\301\126\001\327\163\241\006\117\366" + "\316\333\026\107\302\261\325\234\050\232\356\170\054\173\077\375" + "\206\106\140\177\247\074\272\057\107\374\133\141\177\371\263\023" + "\057\375\104\320\207\357\143\253\016\146\253\234\021\176\306\037" + "\242\013\052\046\333\331\061\106\137\013\015\255\124\267\143\007" + "\365\140\145\146\170\245\135\025\102\252\043\140\006\026\214\314" + "\031\314\264\077\135\167\015\116\246\310\313\366\231\204\347\214" + "\202\315\336\312\152\255\017\313\045\300\310\032\036\327\123\366" + "\047\252\261\241\022\161\322\171\125\003\276\262\361\051\353\123" + "\102\370\232\106\073\015\123\331\115\373\361\135\247\113\346\252" + "\330\103\140\066\175\321\116\234\262\330\076\057\321\247\056\215" + "\201\077\000\272\053\123\152\116\312\330\070\073\121\002\203\317" + "\177\161\034\161\005\217\162\154\313\010\325\362\353\345\126\256" + "\231\377\346\256\176\205\330\025\054\066\055\113\305\153\246\014" + "\241\375\052\153\267\202\360\353\154\170\035\047\144\322\376\035" + "\165\253\241\302\213\110\275\147\277\203\273\055\260\146\323\023" + "\346\271\350\040\312\345\142\011\165\101\367\203\342\136\076\167" + "\226\110\240\050\016\354\155\345\130\037\321\272\035\013\305\210" + "\106\050\316\274\327\110\111\235\211\235\105\247\171\150\164\052" + "\317\226\152\344\027\235\002\247\330\022\077\257\316\347\044\013" + "\362\032\240\002\056\336\352\156\211\062\071\171\006\053\372\072" + "\352\300\354\227\250\066\231\321\241\376\175\014\330\231\106\254" + "\154\146\355\347\042\110\215\211\156\374\056\203\217\175\245\062" + "\214\270\301\251\227\111\154\145\101\106\140\276\126\310\325\074" + "\125\310\365\153\332\017\341\240\336\252\051\013\145\021\271\007" + "\061\374\312\246\236\262\242\266\364\022\077\135\070\074\206\135" + "\201\262\066\270\350\346\326\351\351\224\027\273\125\374\305\262" + "\304\140\033\126\100\130\305\002\237\223\353\330\273\212\275\265" + "\127\010\254\304\165\173\174\155\207\256\337\226\151\200\063\240" + "\043\155\170\074\254\260\044\145\001\152\120\331\146\176\100\203" + "\344\271\126\133\225\142\367\163\030\077\263\025\142\201\225\113" + "\267\134\213\143\026\017\316\367\272\116\305\050\321\274\047\077" + "\337\143\144\143\242\213\276\171\334\105\146\102\336\202\305\021" + "\376\214\351\176\266\312\241\141\372\054\002\140\272\332\225\315" + "\000\114\315\244\053\264\303\072\054\170\063\073\055\117\175\242" + "\376\225\271\146\224\305\167\317\014\032\072\300\242\224\354\154" + "\331\077\074\145\355\274\150\242\264\007\051\314\342\343\225\262" + "\005\205\102\043\147\372\212\303\021\367\333\313\244\253\312\063" + "\364\320\364\260\352\261\123\230\250\203\132\371\056\275\116\331" + "\366\170\134\260\302\044\151\255\303\164\013\113\356\162\015\340" + "\244\277\355\326\037\053\100\071\312\307\214\370\332\175\322\013" + "\207\224\027\315\337\350\235\001\031\017\331\247\325\264\010\026" + "\132\212\122\055\220\336\142\355\220\041\101\247\303\202\267\006" + "\270\306\166\220\326\032\173\323\105\307\216\371\016\254\237\064" + "\270\240\267\132\126\061\372\263\005\161\077\213\362\121\334\107" + "\231\375\303\103\126\055\356\207\033\172\223\156\311\054\264\154" + "\372\146\352\152\122\336\363\023\362\365\237\063\173\301\146\372" + "\303\306\234\104\040\271\155\273\352\013\363\261\173\225\065\201" + "\152\364\072\057\241\064\015\056\354\266\126\220\274\373\260\306" + "\115\252\033\135\132\234\007\314\151\065\313\103\157\341\312\030" + "\306\122\073\253\201\013\113\156\170\030\256\374\221\107\136\062" + "\000\137\240\377\255\312\163\154\153\223\217\132\360\015\240\277" + "\077\120\070\364\152\335\014\040\124\342\241\246\254\055\115\277" + "\054\244\140\271\103\056\277\300\271\247\002\211\371\202\352\331" + "\256\054\317\366\044\245\316\140\347\124\105\237\212\030\213\324" + "\155\341\045\104\306\315\365\105\154\053\142\371\130\333\170\251" + "\342\055\350\357\216\200\154\216\213\366\135\260\044\111\316\334" + "\106\064\215\070\033\032\312\374\301\156\026\152\037\324\071\325" + "\123\340\104\016\113\241\027\120\045\347\036\111\133\214\047\044" + "\274\151\076\206\222\012\111\371\132\001\370\150\002\117\134\335" + "\046\037\067\050\032\252\124\034\046\065\144\174\103\302\047\254" + "\030\013\266\230\244\260\037\325\166\301\176\002\217\110\007\027" + "\162\101\217\031\300\373\247\256\215\262\365\330\067\142\202\331" + "\023\223\210\137\226\202\173\223\313\237\176\154\044\110\007\114" + "\156\176\160\204\043\070\031\021\123\255\036\346\047\267\246\241" + "\002\362\222\262\142\251\326\042\164\362\220\224\010\224\347\046" + "\042\152\235\124\267\354\065\252\366\223\333\100\002\341\250\165" + "\102\261\123\325\211\152\072\251\037\125\352\210\215\014\332\011" + "\356\173\260\363\113\130\365\363\233\230\072\375\010\365\376\177" + "\312\054\010\271\264\114\113\345\366\202\330\235\322\156\146\177" + "\235\210\326\225\254\361\105\262\103\240\150\342\201\100\106\213" + "\163\237\010\021\247\331\135\235\263\040\230\314\050\122\110\256" + "\144\101\346\130\053\343\112\167\120\057\117\016\217\017\351\232" + "\201\311\037\312\221\166\355\057\367\323\271\127\237\126\355\155" + "\176\242\105\031\130\136\043\305\270\123\060\315\037\030\005\060" + "\343\147\312\210\240\071\116\355\373\341\245\045\227\215\003\036" + "\245\320\303\253\064\117\067\301\275\246\106\053\263\307\123\141" + "\146\233\042\150\333\025\075\165\073\241\351\331\074\260\313\367" + "\074\316\205\044\046\316\051\153\017\245\337\307\005\155\222\104" + "\107\316\300\053\263\213\036\205\330\026\277\336\201\010\042\170" + "\333\150\341\013\111\157\044\263\276\357\254\176\356\220\117\167" + "\315\133\255\245\364\340\304\105\177\200\023\171\322\151\056\244" + "\342\163\034\361\174\174\342\245\101\077\207\317\114\012\336\342" + "\236\275\167\275\106\070\246\301\065\304\206\010\205\167\272\311" + "\044\307\223\276\205\075\044\210\035\162\237\241\044\210\014\337" + "\151\326\023\346\024\122\334\071\274\011\120\011\102\254\324\055" + "\331\000\034\246\006\277\071\337\217\257\227\121\363\274\070\237" + "\057\225\215\251\005\013\135\007\274\312\031\060\340\177\050\276" + "\012\206\346\174\015\357\320\343\345\117\265\165\256\326\277\255" + "\142\006\045\074\050\347\065\344\063\075\374\046\115\237\032\231" + "\371\377\112\060\124\022\321\107\157\154\125\307\373\363\055\056" + "\123\150\215\230\320\126\321\031\107\206\367\325\216\221\326\300" + "\324\072\301\122\043\073\265\106\212\127\106\031\140\260\314\041" + "\153\212\311\315\225\110\326\073\314\376\125\207\335\251\163\162" + "\232\241\152\363\100\240\375\336\325\215\325\141\275\375\135\312" + "\224\221\065\317\222\221\274\043\016\347\137\002\230\140\254\230" + "\212\325\121\064\025\250\076\023\356\101\377\214\205\351\072\112" + "\302\004\342\230\060\255\221\262\114\015\326\362\353\101\033\170" + "\312\122\166\003\304\237\261\216\035\125\300\150\166\330\076\103" + "\345\371\267\332\333\042\205\075\327\245\175\171\231\330\177\261" + "\237\102\155\061\072\014\016\120\002\114\056\206\246\130\150\316" + "\116\101\130\253\237\156\320\344\364\225\253\003\104\077\374\271" + "\253\040\344\347\147\006\175\025\057\305\111\047\045\017\003\302" + "\005\077\336\210\260\003\144\220\124\135\270\050\306\270\353\120" + "\157\117\142\251\001\157\134\305\217\250\153\337\216\107\033\165" + "\131\040\116\344\314\277\314\165\016\167\331\363\237\232\302\255" + "\066\312\375\345\031\361\312\322\165\367\121\314\175\331\135\041" + "\274\260\327\375\206\373\364\267\362\266\273\106\121\130\161\262" + "\213\221\156\033\067\214\152\252\177\156\043\150\207\244\046\103" + "\022\170\253\263\015\135\263\173\200\052\036\052\021\145\155\370" + "\326\112\154\264\252\227\202\117\064\157\222\236\346\267\246\172" + "\375\167\234\351\061\262\353\042\361\156\164\055\222\257\006\306" + "\266\007\030\147\153\036\160\301\057\220\353\341\331\162\131\102" + "\305\071\151\307\103\010\250\211\102\137\315\036\153\157\144\224" + "\077\252\247\215\006\366\202\030\246\230\055\060\175\176\333\177" + "\362\153\223\146\371\342\374\100\076\315\262\251\227\121\042\063" + "\253\200\117\044\261\236\273\363\265\160\103\266\072\333\371\353" + "\147\361\300\177\305\366\133\306\000\055\374\015\143\341\233\013" + "\036\136\244\115\127\067\264\165\011\010\233\357\360\142\305\030" + "\130\104\246\063\233\362\171\173\003\173\316\006\375\172\216\103" + "\214\132\162\054\115\113\274\333\352\012\321\241\017\210\367\201" + "\064\371\136\144\013\147\337\037\230\264\047\273\012\143\363\047" + "\146\141\147\141\302\253\376\331\335\252\301\046\067\303\025\367" + "\302\232\140\220\065\311\007\116\121\156\144\135\335\273\204\266" + "\211\361\147\065\005\334\236\015\065\235\152\344\027\026\131\162" + "\200\242\161\054\101\305\200\036\253\221\120\304\062\203\254\061" + "\342\104\000\172\332\111\213\166\173\241\116\327\237\042\222\255" + "\043\271\010\333\115\205\271\014\133\365\014\204\340\232\041\051" + "\174\307\330\376\116\126\031\310\370\152\220\360\146\237\134\301" + "\133\307\255\065\005\370\040\325\022\151\000\137\174\250\123\213" + "\261\140\374\154\242\071\251\024\232\332\177\307\327\157\343\125" + "\023\252\157\324\331\154\340\073\201\101\317\036\356\214\331\252" + "\141\204\133\254\172\237\166\115\342\212\305\302\123\053\342\275" + "\255\134\061\311\345\342\006\055\001\047\143\343\131\135\024\150" + "\171\363\174\272\243\266\154\376\164\260\303\045\020\216\302\060" + "\352\152\143\256\333\130\272\246\170\151\035\357\202\017\306\267" + "\355\202\326\132\305\247\300\037\341\347\257\046\260\042\260\077" + "\315\117\205\253\134\263\322\250\063\330\031\301\316\002\345\002" + "\157\045\144\123\322\115\147\331\120\273\232\105\037\040\324\223" + "\114\021\306\230\237\330\056\116\141\333\174\006\255\066\154\336" + "\257\174\256\063\131\100\321\144\144\361\023\016\135\311\330\367" + "\263\166\351\307\165\005\046\333\143\212\225\224\326\265\011\151" + "\323\024\253\322\161\066\320\203\117\146\127\005\274\142\153\337" + "\007\022\103\131\263\271\363\052\335\007\366\141\177\207\056\342" + "\075\004\041\242\330\015\234\316\326\140\335\367\025\220\310\005" + "\317\000\250\343\150\175\367\344\070\367\314\164\263\340\313\307" + "\074\157\025\366\222\214\327\036\314\331\262\073\357\234\045\261" + "\231\335\375\362\350\145\175\103\255\033\152\145\350\364\371\040" + "\145\065\374\134\071\044\330\232\343\257\276\305\275\326\206\011" + "\324\266\144\036\274\330\161\307\273\032\241\316\160\203\040\342" + "\044\014\116\023\044\013\363\053\265\164\056\202\336\355\023\046" + "\242\041\056\131\117\053\300\155\301\065\201\004\261\054\255\120" + "\337\214\065\172\372\263\246\242\262\102\274\204\202\121\321\215" + "\331\117\347\040\036\017\000\326\161\213\304\234\055\201\354\277" + "\014\014\203\317\357\323\013\172\217\040\335\070\310\320\055\266" + "\141\267\151\323\306\205\071\024\243\000\110\335\361\051\311\373" + "\125\017\104\171\232\371\161\166\104\266\341\344\317\264\172\270" + "\060\012\130\210\244\325\151\272\147\361\306\265\165\201\233\272" + "\261\203\203\355\057\007\370\054\250\310\023\217\011\070\170\301" + "\255\326\360\142\261\205\126\023\214\177\373\272\261\351\350\070" + "\105\035\321\130\117\055\027\352\113\321\365\000\011\120\235\371" + "\255\307\160\263\103\311\144\250\055\313\161\121\377\165\363\123" + "\153\030\164\067\103\202\253\175\224\255\237\057\327\023\023\231" + "\321\136\043\354\121\304\363\203\343\240\047\144\110\261\364\345" + "\105\072\306\355\274\243\134\271\206\346\161\055\160\143\240\053" + "\172\005\224\117\215\377\313\124\247\123\374\175\025\150\223\010" + "\274\067\273\173\032\341\107\175\064\021\154\205\115\235\275\035" + "\336\332\354\210\013\152\046\144\050\122\203\043\034\155\234\307" + "\153\267\330\155\076\174\300\021\024\156\376\251\336\001\340\055" + "\250\271\237\247\372\065\216\366\132\254\156\031\073\310\014\276" + "\216\254\376\373\113\176\371\223\007\341\240\237\340\174\162\133" + "\327\242\112\377\234\371\063\167\204\340\160\156\104\263\354\353" + "\217\376\255\024\321\002\344\260\113\046\230\121\224\262\101\063" + "\255\124\254\366\072\044\030\312\234\134\375\101\364\232\123\121" + "\137\123\113\050\050\074\051\034\257\263\252\157\373\227\212\273" + "\120\115\277\213\340\052\057\265\121\225\163\360\320\317\052\323" + "\001\227\165\232\366\204\326\276\061\372\246\101\134\145\225\007" + "\130\257\266\022\141\135\000\113\143\017\242\370\102\174\252\154" + "\160\063\175\221\054\210\031\103\231\243\300\240\276\270\105\001" + "\234\241\116\373\146\033\277\061\342\064\052\133\250\270\127\064" + "\242\343\177\003\130\014\163\154\055\250\144\140\232\146\261\257" + "\246\316\257\150\215\147\033\100\233\177\025\123\275\030\316\027" + "\115\110\125\077\163\364\307\233\102\251\313\350\046\274\213\232" + "\004\153\247\040\315\346\111\267\174\155\245\124\341\043\314\276" + "\202\250\065\121\003\366\363\130\260\063\110\301\130\236\142\011" + "\251\362\064\265\107\163\121\254\147\311\214\040\206\051\037\034" + "\203\370\201\152\336\072\305\317\044\062\023\171\225\273\227\005" + "\341\374\116\125\153\277\236\166\354\044\244\001\224\235\267\024" + "\204\317\272\076\135\072\146\043\055\034\246\361\214\040\037\067" + "\220\173\222\246\235\207\153\227\111\077\017\360\217\173\135\156" + "\230\115\340\115\246\344\112\213\210\326\025\101\120\176\326\327" + "\373\353\275\262\343\354\322\165\127\116\146\271\046\030\036\163" + "\157\351\030\207\034\047\064\067\162\202\355\377\071\215\006\320" + "\166\131\331\040\151\304\171\132\122\047\013\174\270\364\017\000" + "\337\062\164\043\037\072\051\214\222\001\110\345\356\344\301\066" + "\223\146\246\271\176\015\347\355\366\033\116\164\244\123\144\202" + "\320\207\143\271\311\344\233\171\133\134\353\321\227\072\323\362" + "\022\373\213\132\054\227\237\334\013\123\074\324\317\354\260\033" + "\213\217\244\303\262\267\167\045\111\002\170\136\137\135\252\127" + "\311\263\235\312\000\302\370\263\004\067\335\044\023\350\257\337" + "\137\314\271\251\137\143\310\365\252\205\312\270\367\021\214\240" + "\204\245\174\075\066\014\242\062\360\031\164\140\105\336\270\272" + "\047\101\040\050\115\313\231\146\370\326\250\100\253\020\075\250" + "\254\370\230\002\007\312\043\151\340\273\247\001\226\166\006\347" + "\165\160\063\076\340\210\337\100\155\006\363\237\010\054\055\040" + "\320\217\130\151\023\154\012\236\341\107\154\161\052\057\107\231" + "\154\047\311\221\163\052\305\142\261\337\175\234\103\111\131\306" + "\007\363\373\031\104\164\131\050\354\057\152\346\247\321\346\062" + "\240\322\133\013\072\245\123\020\315\320\172\137\026\026\161\162" + "\110\062\221\026\231\150\133\202\231\043\205\050\213\046\164\267" + "\361\304\026\145\165\025\112\127\230\151\116\354\221\154\166\366" + "\320\222\210\017\317\302\053\026\011\043\262\050\043\063\235\152" + "\344\333\127\056\350\242\226\306\113\163\260\052\232\110\216\245" + "\361\145\355\164\230\143\372\347\057\203\353\107\343\265\066\262" + "\257\076\252\123\243\262\311\305\356\120\117\322\376\367\375\255" + "\107\326\052\025\253\274\354\116\317\242\174\235\273\147\210\176" + "\311\364\300\264\212\140\026\244\050\072\040\156\301\327\052\244" + "\067\004\356\162\313\257\163\330\311\041\052\010\075\354\175\317" + "\171\247\345\034\156\055\030\001\147\302\023\256\175\270\316\014" + "\372\314\220\064\355\211\103\303\000\274\324\014\270\145\001\237" + "\117\344\205\350\105\222\065\312\113\234\351\365\220\000\210\061" + "\206\331\277\010\152\005\163\045\337\042\170\037\264\304\043\342" + "\052\341\137\062\126\124\162\267\026\377\150\350\166\315\053\176" + "\257\255\155\040\320\021\072\301\352\142\324\041\063\323\346\125" + "\327\121\171\176\314\143\167\132\075\371\055\246\010\205\234\121" + "\372\053\055\216\331\133\272\073\062\043\124\356\323\155\012\323" + "\017\331\102\372\056\033\040\104\042\235\215\112\005\377\251\071" + "\112\305\200\020\030\233\311\076\031\101\140\141\024\027\227\364" + "\233\136\145\206\222\202\357\060\006\377\313\022\165\200\146\320" + "\175\223\207\071\324\005\117\355\064\340\312\332\005\311\227\060" + "\114\024\034\355\063\011\206\107\161\107\054\311\251\175\263\250" + "\054\101\315\072\224\034\232\251\243\220\155\210\122\153\153\023" + "\245\074\271\036\157\324\365\311\350\027\035\333\121\200\070\350" + "\315\116\131\373\253\317\152\151\372\236\131\315\237\324\150\265" + "\276\216\130\240\305\264\057\174\063\263\364\076\062\141\361\337" + "\100\346\314\156\023\344\054\155\160\141\023\061\301\240\361\245" + "\335\216\172\057\225\354\321\342\317\366\150\011\066\202\270\130" + "\350\027\355\302\073\243\150\054\072\126\233\330\367\107\214\261" + "\330\354\030\145\365\217\011\002\013\151\101\036\332\203\330\173" + "\334\373\307\032\122\041\366\323\001\237\310\374\175\347\332\170" + "\110\314\354\030\174\271\076\036\133\344\357\013\266\322\061\146" + "\311\217\256\307\235\305\310\163\047\276\051\376\213\302\107\105" + "\343\352\267\247\321\205\362\321\326\017\152\334\105\210\021\103" + "\223\150\026\302\340\070\041\230\125\323\237\373\156\161\165\147" + "\127\046\157\011\204\101\042\162\275\337\247\205\071\037\213\236" + "\202\260\114\224\151\307\260\032\271\053\160\233\365\265\055\300" + "\374\102\322\040\204\242\241\361\250\361\073\345\167\174\246\362" + "\013\263\240\060\172\070\312\213\146\102\311\054\143\053\136\013" + "\043\066\132\320\152\272\135\241\060\253\063\337\210\160\003\061" + "\161\032\314\322\200\052\331\341\102\247\120\221\214\063\250\132" + "\354\005\117\367\212\207\310\261\032\233\174\052\232\304\133\373" + "\133\144\052\134\231\276\066\040\343\066\117\155\375\342\332\253" + "\002\245\123\072\366\236\240\242\140\167\002\152\260\361\350\027" + "\317\242\144\307\104\324\077\337\113\373\372\165\055\136\306\245" + "\215\041\164\046\167\266\331\356\215\057\211\213\374\150\067\222" + "\022\067\256\226\034\161\321\345\044\057\075\170\357\333\235\113" + "\371\304\057\307\210\342\250\202\354\245\357\156\051\110\110\071" + "\246\301\121\337\277\140\050\347\132\166\260\245\334\224\121\241" + "\114\162\270\220\046\033\311\306\236\001\366\022\340\026\135\260" + "\102\267\005\235\374\127\205\044\304\050\330\117\312\336\276\276" + "\034\303\360\166\105\106\177\133\025\054\165\104\033\074\263\367" + "\321\012\142\226\213\074\000\131\135\313\102\115\107\135\245\163" + "\034\106\213\156\202\327\121\221\000\255\223\151\372\014\064\166" + "\124\356\213\133\137\025\162\361\106\361\052\214\004\011\133\104" + "\176\107\274\205\117\350\050\070\345\372\030\302\137\204\211\070" + "\024\264\212\176\057\345\203\000\046\262\360\030\051\261\357\056" + "\341\353\104\134\025\075\360\273\350\012\055\043\166\077\174\146" + "\063\366\075\311\032\175\007\353\325\165\027\371\354\163\074\340" + "\276\226\302\050\175\173\021\217\312\102\052\225\377\220\211\307" + "\365\241\372\205\353\010\044\245\115\156\024\010\160\210\355\214" + "\257\311\231\371\165\362\230\262\213\160\063\312\377\103\310\072" + "\361\303\040\261\361\257\111\323\063\230\035\033\027\146\123\222" + "\037\324\103\102\006\320\326\351\201\054\340\245\071\311\237\064" + "\262\214\233\262\023\030\352\003\316\043\142\161\130\047\272\174" + "\132\106\044\357\320\114\231\160\323\337\177\121\065\060\060\103" + "\061\176\270\311\060\113\076\252\351\111\067\313\374\216\302\353" + "\377\162\115\350\346\117\204\064\357\112\145\140\233\152\261\220" + "\316\263\210\024\226\303\364\367\001\133\111\341\175\020\211\311" + "\105\302\135\014\146\372\012\323\301\060\102\207\101\317\255\207" + "\064\374\361\316\134\220\353\066\140\211\012\303\301\142\030\140" + "\233\353\243\237\206\323\352\211\325\270\071\224\151\066\157\073" + "\257\150\244\332\034\007\367\125\171\042\316\217\036\101\020\232" + "\103\372\304\031\327\206\212\164\372\163\310\006\244\162\354\064" + "\210\322\007\232\161\163\070\315\117\110\157\266\105\077\306\105" + "\332\235\204\240\105\335\127\212\042\062\156\362\135\017\061\325" + "\354\271\340\303\122\267\201\040\314\216\037\230\222\124\040\305" + "\000\136\344\200\047\100\333\054\062\356\066\302\140\040\112\322" + "\127\160\276\332\147\014\060\112\027\046\125\215\077\267\257\145" + "\240\363\162\321\332\225\267\014\052\235\347\126\102\103\254\112" + "\054\235\024\353\100\263\230\105\120\230\201\301\357\177\030\212" + "\276\146\171\125\171\116\062\303\260\255\073\150\275\103\172\147" + "\236\033\262\247\010\004\135\263\311\127\110\007\270\065\070\013" + "\170\375\223\231\254\312\136\202\143\125\144\341\330\333\040\233" + "\252\117\121\314\071\022\317\113\132\215\033\224\266\270\175\117" + "\115\174\300\126\311\276\234\001\176\341\207\244\276\244\334\204" + "\054\227\127\251\316\021\106\156\005\255\124\331\052\312\341\105" + "\242\135\207\046\375\045\051\012\037\220\201\342\232\267\066\141" + "\077\110\217\374\067\075\135\167\132\221\153\340\243\233\260\127" + "\143\230\014\016\273\354\342\371\373\351\143\302\060\040\020\074" + "\373\241\174\106\034\250\152\306\314\340\376\312\044\107\017\153" + "\243\264\112\077\072\217\155\025\255\026\072\107\276\067\307\003" + "\036\205\222\325\067\135\165\055\141\233\153\350\023\076\356\240" + "\162\264\223\221\304\006\215\221\012\143\107\244\105\204\346\266" + "\031\366\220\104\236\003\353\335\175\073\131\307\333\160\213\263" + "\064\036\261\273\305\073\173\364\003\030\353\137\220\346\146\002" + "\374\122\251\072\026\143\341\220\344\225\305\275\134\376\106\333" + "\103\262\053\223\375\070\233\014\013\077\042\113\200\052\350\360" + "\145\123\223\227\044\145\233\227\374\043\315\232\026\333\013\315" + "\030\020\152\015\215\063\352\013\114\276\230\005\162\161\033\204" + "\330\166\151\112\267\023\053\233\167\362\164\251\113\322\303\160" + "\167\037\176\135\155\234\211\251\044\022\366\340\326\363\364\342" + "\135\171\211\373\302\005\311\357\121\051\302\150\060\030\354\037" + "\106\040\253\242\127\377\236\236\167\264\267\077\020\122\252\215" + "\206\361\215\246\020\177\355\241\244\023\075\251\365\325\244\311" + "\205\110\370\112\213\304\132\017\272\012\147\261\245\107\170\044" + "\277\117\324\073\201\243\221\154\335\046\353\206\241\351\326\103" + "\031\223\351\300\377\267\214\200\030\205\127\114\264\355\321\376" + "\175\362\020\227\326\071\051\317\337\372\023\101\067\126\363\023" + "\102\312\133\250\032\003\124\141\220\213\343\120\020\253\165\221" + "\045\113\260\011\131\172\226\067\152\277\170\054\176\237\024\301" + "\122\050\075\012\354\326\336\236\335\003\324\143\236\037\064\234" + "\146\033\062\160\201\041\057\344\273\063\044\153\015\121\062\136" + "\254\200\014\130\311\107\207\301\167\014\322\002\173\240\023\143" + "\220\376\161\011\250\206\104\201\176\016\202\260\335\166\166\274" + "\252\152\014\101\075\373\266\077\045\265\010\123\005\132\133\335" + "\223\150\362\054\023\136\226\317\254\344\304\034\220\076\143\320" + "\046\135\304\175\203\313\035\243\215\316\026\164\042\067\124\145" + "\172\222\055\175\034\040\377\300\024\326\262\052\352\350\062\171" + "\045\225\037\057\342\165\070\376\362\243\267\261\001\102\151\026" + "\254\157\177\362\017\071\132\262\164\160\234\247\000\110\171\057" + "\276\377\371\244\333\075\347\365\013\324\215\260\007\104\341\275" + "\215\011\162\310\334\325\375\336\317\043\034\165\007\210\024\070" + "\246\355\133\246\166\272\004\032\065\365\236\036\320\225\267\054" + "\006\242\262\063\317\202\211\270\337\333\170\142\261\160\250\215" + "\373\303\350\010\167\001\225\236\155\123\377\355\306\326\316\075" + "\242\051\200\346\254\242\154\243\327\201\025\046\252\104\345\125" + "\210\336\152\241\302\001\011\310\256\047\025\165\366\314\221\075" + "\270\222\206\047\017\206\017\211\116\201\247\213\061\013\201\152" + "\071\151\251\366\341\053\307\022\303\363\002\070\325\326\213\101" + "\242\367\131\346\011\175\212\172\021\055\264\054\367\353\122\175" + "\230\023\353\111\032\157\364\302\027\243\073\041\014\132\306\042" + "\052\007\162\203\164\023\334\124\324\161\054\033\073\215\313\326" + "\264\022\024\342\077\377\030\062\224\307\033\300\233\152\250\172" + "\241\103\106\073\050\156\041\377\376\023\364\074\010\335\157\226" + "\052\126\361\320\246\111\154\233\252\017\331\222\303\347\220\271" + "\256\076\131\262\303\102\257\177\174\065\262\143\105\215\315\164" + "\143\304\173\276\203\007\017\024\030\260\167\124\316\355\034\042" + "\072\325\143\256\154\367\155\120\044\216\272\272\226\114\244\154" + "\032\252\360\120\307\156\315\217\200\220\050\270\216\305\211\202" + "\242\364\002\052\200\252\235\261\014\012\171\243\115\360\005\062" + "\260\211\146\055\006\121\115\116\047\142\007\241\305\102\276\045" + "\037\275\315\266\052\267\230\025\072\337\357\157\334\207\254\334" + "\211\031\203\042\331\253\132\214\022\377\151\137\006\350\311\064" + "\207\130\324\342\277\215\326\131\123\077\144\034\212\352\014\230" + "\342\137\237\345\335\363\017\361\170\120\151\254\156\213\164\055" + "\265\052\113\013\270\004\121\330\040\064\014\247\350\223\073\024" + "\007\254\215\025\112\260\133\332\372\130\155\034\237\253\243\331" + "\145\336\204\376\005\101\036\257\267\210\060\031\323\104\200\261" + "\201\275\176\363\321\215\253\345\316\335\072\357\362\153\142\000" + "\074\335\215\015\107\302\372\150\026\237\070\055\020\004\172\111" + "\102\110\346\211\121\051\053\277\000\262\011\106\010\270\111\125" + "\305\051\333\021\143\307\010\230\155\010\254\202\276\277\357\153" + "\160\071\021\311\331\211\167\103\140\105\232\030\065\200\126\175" + "\170\126\225\325\136\212\147\314\301\031\345\340\221\271\216\277" + "\043\243\031\317\077\070\273\046\361\334\352\230\011\151\301\142" + "\311\002\216\346\146\232\275\056\154\324\043\151\303\031\263\151" + "\063\243\247\066\355\216\245\132\147\014\056\247\022\046\022\075" + "\330\130\226\040\360\247\210\254\255\175\203\134\106\221\102\044" + "\300\274\373\056\020\245\047\061\077\133\345\025\377\201\341\126" + "\074\260\030\140\314\370\232\371\034\215\137\052\145\073\171\233" + "\011\301\224\015\343\257\337\360\267\244\203\231\302\122\254\254" + "\371\216\363\333\244\332\323\017\362\143\334\277\020\062\065\316" + "\360\272\206\146\033\163\052\330\372\016\060\124\335\220\133\345" + "\317\174\224\061\147\320\325\125\320\107\057\314\123\117\077\342" + "\246\251\127\264\241\145\211\067\005\145\112\334\205\074\355\046" + "\346\070\015\116\334\103\347\275\070\234\307\354\014\326\073\002" + "\306\262\346\312\315\013\111\241\236\343\335\171\222\110\323\203" + "\330\057\274\215\300\315\243\307\121\353\064\061\152\033\324\336" + "\127\042\302\335\354\217\245\203\150\337\013\041\141\130\306\243" + "\344\152\255\153\353\161\015\352\364\306\043\271\027\236\170\160" + "\310\152\031\150\337\266\046\136\305\173\103\326\032\361\116\313" + "\030\223\156\070\117\357\174\241\076\165\007\222\303\215\164\011" + "\365\073\061\251\330\254\140\176\271\227\234\164\045\166\242\152" + "\222\302\352\206\374\231\220\075\373\206\034\110\114\341\076\035" + "\361\362\313\015\037\305\244\065\015\254\272\156\073\277\016\004" + "\110\011\344\371\357\352\154\327\016\025\270\341\145\050\332\210" + "\316\373\060\055\030\230\012\222\055\213\010\170\173\244\132\131" + "\236\302\372\251\344\232\236\137\244\214\104\205\202\070\360\065" + "\230\335\315\020\322\340\210\126\346\351\044\157\366\207\126\034" + "\147\345\146\244\320\021\330\105\121\336\032\002\056\333\373\313" + "\027\172\060\034\315\145\262\243\375\030\214\047\000\267\163\340" + "\074\027\177\313\117\035\042\254\347\117\137\166\122\335\116\103" + "\326\301\261\376\146\074\376\265\346\246\233\263\165\261\240\113" + "\336\177\152\020\206\034\325\264\162\230\036\334\053\121\017\143" + "\313\236\032\216\043\013\112\075\144\074\043\064\123\011\022\167" + "\056\247\115\242\267\061\370\113\223\304\263\332\015\374\206\040" + "\377\240\165\042\264\132\070\237\074\041\225\316\167\227\177\247" + "\053\232\162\364\027\352\117\374\372\377\324\126\232\216\053\337" + "\106\240\003\002\102\074\347\323\050\056\252\031\116\133\265\053" + "\250\354\167\016\234\020\127\064\306\267\354\055\357\270\040\244" + "\226\063\372\115\045\067\064\363\070\122\337\010\266\141\001\342" + "\140\351\033\370\226\142\224\307\216\264\305\214\142\156\050\346" + "\056\013\124\260\210\022\105\052\070\114\336\357\362\347\302\233" + "\267\136\127\347\214\213\341\133\015\052\227\375\221\240\012\100" + "\150\165\113\016\264\004\363\337\044\260\321\065\327\106\004\163" + "\150\001\316\275\333\116\055\360\013\032\030\021\023\216\033\353" + "\215\060\047\145\353\322\334\143\306\374\254\217\251\374\123\047" + "\374\355\132\063\005\376\153\035\055\151\331\367\066\347\202\071" + "\252\206\045\167\054\220\162\215\075\242\346\236\313\356\261\332" + "\346\342\205\031\071\272\103\141\053\166\354\203\121\014\101\303" + "\315\006\200\016\345\347\117\271\330\245\141\077\151\160\354\203" + "\073\166\001\132\020\147\064\362\373\001\351\032\271\053\073\211" + "\061\052\053\214\260\163\020\371\250\263\315\055\060\161\267\334" + "\376\120\332\151\256\113\166\360\062\003\167\176\360\021\164\124" + "\076\043\372\061\334\146\327\367\122\144\250\205\110\071\050\010" + "\342\174\217\347\307\270\110\226\154\313\142\014\041\103\276\304" + "\037\265\124\355\173\160\047\134\317\047\265\224\315\222\206\103" + "\015\357\220\021\241\053\027\272\264\271\155\006\263\123\337\161" + "\230\227\235\114\311\063\162\167\063\011\223\030\132\222\050\270" + "\010\312\267\022\021\025\120\325\213\271\070\314\353\067\152\025" + "\201\045\227\126\300\243\101\042\227\010\015\310\120\056\317\047" + "\115\225\337\366\317\160\124\160\036\037\306\344\361\177\240\336" + "\261\076\137\137\172\376\122\242\103\240\121\353\172\263\015\202" + "\262\120\070\317\247\055\042\140\131\307\354\367\015\265\353\212" + "\203\112\071\122\270\021\100\075\147\346\231\067\053\015\137\263" + "\254\247\137\242\010\023\357\005\372\237\240\036\112\323\216\056" + "\111\123\115\076\167\005\152\074\007\140\362\350\112\130\004\002" + "\005\027\172\011\070\131\252\270\316\275\260\014\321\034\240\201" + "\305\227\106\123\270\235\267\330\301\054\006\206\244\045\040\146" + "\043\175\003\241\017\044\261\250\011\076\207\166\011\344\315\161" + "\263\360\327\262\054\022\054\230\270\046\000\330\311\356\017\133" + "\244\132\161\374\356\353\324\333\346\347\250\073\005\260\062\111" + "\350\260\060\327\262\104\136\331\322\067\053\026\114\337\047\120" + "\136\201\206\373\337\353\230\144\107\353\070\026\210\012\177\065" + "\146\257\321\315\042\371\272\200\300\362\320\224\313\372\023\063" + "\364\161\022\120\126\051\365\323\256\337\264\151\261\211\007\220" + "\064\104\041\313\067\145\221\057\263\362\213\111\370\056\236\002" + "\025\247\237\006\116\155\212\377\103\237\357\101\333\304\031\200" + "\002\271\277\243\030\320\103\355\001\104\310\350\207\103\071\122" + "\150\233\053\115\337\306\272\137\160\253\067\332\141\041\112\312" + "\210\212\007\111\160\116\250\042\011\024\031\363\112\330\361\346" + "\176\224\204\103\245\074\043\376\235\027\133\351\012\107\226\161" + "\315\331\135\237\213\330\345\363\231\270\303\237\011\202\022\204" + "\074\336\150\241\117\010\355\023\107\051\245\271\133\351\375\142" + "\010\257\135\136\364\267\333\051\252\134\110\243\356\027\174\264" + "\342\276\362\116\042\303\101\211\370\021\227\144\174\122\074\305" + "\226\346\346\271\006\030\130\133\215\206\044\026\350\127\221\370" + "\066\341\144\006\124\002\104\030\322\007\222\027\160\301\167\136" + "\176\106\000\210\215\003\324\101\124\134\050\347\367\347\126\360" + "\026\177\147\101\154\051\071\100\053\066\172\176\032\105\025\063" + "\104\073\236\142\316\375\134\362\137\052\365\245\312\055\367\310" + "\072\146\103\300\377\022\047\032\350\361\236\016\261\145\023\367" + "\062\222\145\157\214\253\314\066\275\153\250\320\373\251\224\243" + "\006\335\172\005\136\111\040\203\303\225\070\375\265\273\144\305" + "\141\240\142\371\264\353\171\172\315\067\161\100\262\140\022\165" + "\062\113\043\256\103\273\076\326\270\115\323\157\143\007\111\343" + "\175\356\036\053\030\306\106\212\364\004\336\324\332\021\364\122" + "\242\005\105\023\304\006\320\112\326\215\347\250\114\005\303\042" + "\357\243\340\157\157\031\261\352\276\224\244\264\041\177\133\357" + "\323\203\371\230\044\272\166\222\340\215\350\203\150\156\100\306" + "\175\346\224\171\350\072\251\066\073\205\140\260\230\050\221\206" + "\127\034\277\223\177\125\265\064\101\230\050\102\005\030\011\352" + "\317\061\024\310\037\377\044\155\174\176\332\237\212\221\203\141" + "\113\260\065\271\010\236\302\173\163\364\312\267\244\242\344\337" + "\375\244\125\142\040\340\361\336\156\045\000\217\077\133\326\066" + "\351\134\227\341\306\030\376\110\071\273\065\341\342\105\254\147" + "\003\034\202\375\321\231\252\037\044\314\045\214\206\106\022\351" + "\001\362\024\226\047\001\213\200\170\352\015\206\277\063\351\325" + "\120\154\040\004\165\324\050\232\202\326\022\134\125\361\122\077" + "\144\242\123\333\052\331\005\155\017\050\033\200\225\122\243\256" + "\360\155\033\311\304\151\147\212\040\351\326\210\341\373\245\237" + "\021\325\231\347\070\075\266\125\324\161\062\052\275\036\155\304" + "\253\042\172\100\217\034\045\065\046\274\350\251\265\142\054\202" + "\241\164\316\066\263\200\063\007\230\037\234\164\024\127\335\367" + "\304\340\172\350\215\036\343\330\276\124\135\052\274\210\033\047" + "\275\231\176\351\204\213\351\310\013\155\211\374\220\055\171\147" + "\106\016\341\165\150\041\166\151\276\127\310\120\075\310\326\107" + "\114\275\315\014\263\272\376\141\053\112\021\050\203\003\373\200" + "\367\361\225\103\200\242\360\144\224\234\276\131\140\150\255\011" + "\131\114\337\243\272\255\111\106\301\274\236\356\323\054\327\253" + "\240\103\034\002\051\024\020\121\316\100\303\232\127\176\256\165" + "\332\352\262\153\230\356\006\373\372\260\067\137\043\202\147\054" + "\310\120\005\064\230\014\333\140\070\015\015\274\062\355\155\226" + "\347\310\227\016\245\120\371\126\233\166\014\364\151\051\216\025" + "\137\116\350\162\313\125\250\176\274\247\317\104\146\032\173\061" + "\326\114\364\043\314\127\130\145\106\364\112\145\265\165\042\055" + "\207\012\245\050\307\313\045\144\173\160\216\246\177\363\263\331" + "\374\235\037\264\105\274\135\376\306\206\254\337\374\373\331\116" + "\262\022\134\323\256\233\263\174\175\314\363\057\041\136\221\366" + "\354\367\331\103\007\302\167\311\162\341\036\024\173\127\315\116" + "\342\117\252\123\243\220\177\007\133\052\366\251\050\324\151\075" + "\202\120\017\160\264\212\120\050\206\123\035\322\104\347\221\261" + "\115\163\274\330\251\161\060\056\157\305\047\351\341\147\143\032" + "\171\077\026\264\120\074\142\360\154\227\244\163\010\171\351\136" + "\106\140\107\132\065\333\217\152\347\003\175\303\120\155\332\121" + "\350\342\014\206\102\110\070\345\211\226\206\162\370\272\200\162" + "\015\212\110\100\024\062\132\016\076\120\062\350\052\235\003\257" + "\232\141\345\341\113\151\276\340\207\006\111\376\357\020\217\064" + "\303\133\341\214\327\344\005\370\270\327\022\123\350\054\167\235" + "\367\146\347\055\052\001\115\171\131\240\200\154\360\007\150\352" + "\176\171\307\062\204\040\222\336\244\067\334\154\116\105\323\172" + "\061\206\117\135\241\010\343\164\360\013\366\146\053\367\033\017" + "\166\231\321\057\236\331\357\366\270\244\263\302\341\312\376\204" + "\117\150\204\005\325\067\375\215\027\145\132\034\004\156\053\077" + "\275\127\203\245\320\200\162\003\017\220\344\302\315\342\153\343" + "\104\367\135\036\343\317\017\065\076\101\230\066\123\265\152\213" + "\251\127\225\134\043\302\275\231\237\116\140\116\166\356\162\033" + "\230\126\123\077\154\065\015\346\363\237\232\160\034\223\110\267" + "\257\006\312\315\247\322\371\275\372\153\265\326\352\152\336\027" + "\105\257\067\167\100\154\252\027\012\115\150\234\304\137\267\311" + "\152\246\367\224\046\242\153\115\152\346\024\055\260\373\263\106" + "\217\317\267\147\024\350\306\342\310\363\243\214\356\127\137\041" + "\057\136\245\061\254\130\036\370\313\112\032\367\342\050\323\331" + "\226\314\003\062\301\073\357\062\105\204\103\074\014\177\126\050" + "\303\046\257\243\350\310\160\267\305\303\307\213\133\132\323\175" + "\273\257\247\010\371\147\352\157\215\054\144\170\203\301\237\113" + "\160\370\130\273\063\034\324\341\112\340\247\246\102\242\250\103" + "\034\037\312\364\117\231\232\300\366\314\370\271\127\335\007\310" + "\274\127\171\371\066\217\011\012\303\305\201\327\326\243\074\234" + "\051\246\346\022\213\210\051\144\262\305\053\147\370\164\314\373" + "\072\123\006\372\212\027\212\321\065\360\234\176\277\105\363\334" + "\124\057\333\024\215\014\073\203\346\247\113\043\354\355\032\066" + "\022\143\272\117\314\013\341\364\156\107\201\306\030\245\112\121" + "\363\147\137\311\230\164\105\327\045\077\352\364\340\314\223\226" + "\126\061\074\277\037\022\126\102\116\131\142\262\360\017\064\243" + "\256\162\200\227\217\344\335\160\141\000\133\055\143\071\140\061" + "\150\071\103\211\324\170\215\311\037\141\327\131\227\144\316\214" + "\261\324\261\335\363\145\271\134\136\060\244\257\050\301\202\047" + "\206\333\011\117\266\236\244\205\141\260\362\132\070\370\167\165" + "\213\012\177\170\274\303\051\175\077\315\160\002\134\157\256\361" + "\152\362\312\305\351\346\101\155\203\321\051\046\073\310\355\356" + "\365\127\051\162\374\232\101\060\200\157\043\176\166\130\252\161" + "\372\202\215\211\246\164\140\302\064\312\300\152\223\230\113\011" + "\277\234\245\364\025\166\022\156\130\321\212\123\135\364\064\340" + "\221\314\353\151\357\073\056\267\044\024\053\336\224\234\032\133" + "\255\120\162\314\167\242\063\117\246\227\256\016\305\017\002\332" + "\230\366\033\114\263\010\352\017\355\064\363\030\006\365\222\022" + "\300\325\130\020\070\150\261\045\123\317\370\177\167\375\371\016" + "\151\254\330\174\004\263\170\075\211\136\361\007\073\100\307\204" + "\014\372\276\143\230\057\021\335\040\323\243\155\050\376\155\007" + "\021\252\372\124\200\332\005\242\071\064\245\360\336\131\021\157" + "\240\330\066\137\134\304\071\227\202\206\312\277\104\245\001\344" + "\075\234\005\343\314\210\063\157\253\133\353\316\064\256\020\372" + "\301\335\053\311\231\210\325\261\110\066\314\130\277\221\253\210" + "\363\163\331\155\231\175\124\356\336\334\215\362\267\331\246\301" + "\271\020\142\227\210\226\113\311\267\064\366\370\233\160\113\203" + "\164\110\041\011\017\027\056\065\134\175\315\224\124\316\172\357" + "\013\272\314\266\053\244\066\031\276\170\053\207\057\070\346\160" + "\065\335\027\050\310\104\236\211\131\302\165\345\261\231\150\014" + "\363\157\141\041\136\354\351\370\073\312\102\212\302\354\213\106" + "\361\161\324\065\223\264\130\137\130\172\134\001\152\245\256\377" + "\037\003\041\162\324\021\043\023\156\025\122\364\016\015\353\370" + "\006\005\352\076\340\035\213\072\056\227\325\115\264\264\341\022" + "\120\210\125\116\276\361\115\144\150\345\236\036\370\002\341\131" + "\117\033\356\271\277\305\314\225\222\151\376\166\046\245\107\041" + "\053\135\305\114\141\226\350\005\052\340\204\067\136\213\051\203" + "\255\010\223\116\353\374\037\337\127\141\206\045\007\174\265\124" + "\342\237\342\245\156\255\221\023\145\333\303\035\241\134\172\360" + "\137\306\054\215\123\257\201\155\304\244\026\115\122\035\203\041" + "\164\072\147\100\075\124\016\010\065\025\033\046\166\256\011\325" + "\331\063\277\126\250\256\352\214\060\374\166\234\175\232\052\344" + "\177\376\110\314\265\343\356\164\076\260\121\214\050\063\236\364" + "\337\125\074\222\175\347\374\351\347\142\306\132\127\203\221\250" + "\046\073\103\243\031\156\145\032\020\361\212\125\027\013\205\034" + "\063\324\021\125\027\324\272\065\016\246\215\222\366\055\104\204" + "\000\225\174\125\216\120\355\321\377\334\327\040\300\152\233\230" + "\063\204\010\354\064\377\052\121\342\157\173\055\213\235\134\013" + "\310\351\216\147\263\330\216\301\207\347\115\130\045\261\337\165" + "\173\177\172\376\343\337\205\221\242\063\045\163\013\355\315\134" + "\251\376\062\036\176\112\027\235\210\041\040\306\312\216\175\016" + "\252\041\124\203\037\237\223\225\150\064\317\252\256\220\226\035" + "\340\130\076\306\023\332\035\345\012\216\257\171\247\157\144\042" + "\000\327\307\324\243\304\363\372\166\370\007\011\367\046\215\146" + "\177\051\005\362\215\006\272\142\033\163\270\357\211\171\276\001" + "\225\375\151\066\301\226\306\355\242\170\270\117\124\347\140\011" + "\336\361\107\143\063\213\061\051\350\200\305\033\366\360\215\154" + "\032\027\241\153\304\144\015\305\062\323\134\170\372\324\365\367" + "\365\213\132\245\072\334\176\160\044\274\267\321\257\333\145\302" + "\367\356\162\210\012\360\235\044\262\373\343\110\247\047\277\156" + "\255\305\202\044\060\220\143\366\321\265\057\257\206\203\041\133" + "\124\007\344\260\236\365\325\233\203\133\002\224\111\067\302\204" + "\024\353\014\226\241\367\170\362\363\064\011\344\150\225\027\206" + "\074\345\234\346\267\357\310\227\372\202\065\136\132\267\351\311" + "\352\133\061\171\245\351\346\025\073\355\344\153\115\031\005\127" + "\256\051\267\211\303\356\330\231\142\120\137\020\331\147\256\361" + "\022\266\075\357\310\047\071\273\304\212\104\302\370\375\267\224" + "\232\314\143\131\222\272\313\151\317\115\017\164\207\260\200\135" + "\161\045\335\212\221\110\337\154\044\045\067\364\321\127\222\206" + "\273\044\153\131\160\172\365\241\052\172\157\320\134\016\237\213" + "\346\366\270\264\257\102\317\207\023\033\373\312\143\341\114\307" + "\275\137\275\340\231\230\213\070\222\012\170\236\152\257\170\124" + "\053\305\154\067\367\006\046\140\122\131\370\010\363\056\130\260" + "\174\355\117\271\044\361\273\155\167\221\224\121\063\325\202\341" + "\135\047\372\106\133\260\373\045\017\077\006\333\120\347\001\263" + "\045\325\145\200\144\156\127\263\251\314\370\236\172\152\350\262" + "\333\005\332\073\153\075\135\103\112\367\344\261\171\145\020\123" + "\103\221\302\144\027\006\323\206\166\303\275\136\165\136\204\261" + "\035\121\356\322\046\164\024\276\111\130\306\076\006\033\230\166" + "\066\063\000\151\163\177\251\055\062\035\070\167\376\222\256\204" + "\125\051\012\241\333\237\130\251\324\177\326\203\140\007\167\017" + "\144\074\032\315\234\116\344\371\350\357\024\371\221\177\223\331" + "\141\007\056\324\327\205\271\067\076\144\244\112\052\344\123\327" + "\174\370\341\017\107\051\141\034\206\166\132\056\144\172\324\207" + "\067\265\213\001\104\343\377\335\020\076\022\362\033\006\117\336" + "\123\033\215\071\021\231\274\061\025\337\370\204\007\167\356\355" + "\131\064\304\012\062\240\276\133\033\204\357\347\053\171\041\373" + "\216\302\076\225\272\342\332\053\353\260\015\246\205\123\163\023" + "\330\131\322\104\046\331\132\113\256\001\327\375\054\020\175\366" + "\305\364\002\203\266\230\225\020\210\173\330\260\310\022\250\344" + "\334\234\041\031\112\253\334\077\171\054\152\335\212\032\007\006" + "\013\101\244\117\224\205\267\372\166\163\164\206\004\026\065\203" + "\000\214\132\344\374\232\360\366\043\204\000\110\331\040\370\051" + "\052\274\130\355\020\141\163\106\232\345\167\316\340\060\125\262" + "\360\341\134\335\057\173\261\240\071\376\336\152\150\272\210\133" + "\373\241\212\362\244\241\201\306\161\266\115\344\344\374\006\104" + "\312\375\164\204\242\266\325\217\314\043\327\046\231\266\315\314" + "\041\370\206\002\104\376\377\252\173\113\370\261\077\205\146\201" + "\113\301\327\256\003\221\077\332\377\267\322\304\273\104\312\141" + "\160\164\367\321\046\031\327\125\327\253\205\133\051\357\367\040" + "\100\232\050\303\144\305\330\030\220\324\000\256\056\140\144\246" + "\152\016\274\064\032\345\375\155\064\342\232\002\076\007\312\300" + "\100\304\042\220\167\042\213\306\157\012\172\153\062\337\342\126" + "\116\140\047\242\105\333\161\254\137\130\075\064\026\076\172\105" + "\201\246\051\054\305\305\005\144\017\231\062\231\346\214\272\002" + "\073\320\220\361\164\056\343\150\200\165\101\376\002\351\174\141" + "\320\151\325\073\162\210\025\063\022\106\242\017\317\055\141\123" + "\236\165\077\243\231\214\340\072\277\214\323\117\201\023\006\271" + "\112\304\076\147\036\070\371\134\073\317\134\331\007\052\311\214" + "\202\273\073\315\122\227\023\012\152\034\246\365\221\370\100\222" + "\243\061\172\374\033\270\314\051\154\151\045\346\243\360\017\242" + "\353\050\244\371\376\022\256\252\210\203\061\314\332\044\053\115" + "\314\353\056\244\265\374\023\351\303\271\056\060\170\005\061\306" + "\015\300\260\157\214\142\130\374\121\034\140\176\364\072\250\042" + "\106\255\276\371\333\261\173\170\022\005\336\153\154\373\006\012" + "\067\061\215\257\312\251\125\362\142\145\231\277\015\354\265\372" + "\146\126\143\326\144\257\275\217\210\117\220\206\240\373\100\142" + "\354\247\013\207\350\173\374\231\027\335\103\271\057\027\105\241" + "\006\224\264\305\004\342\050\173\136\311\132\043\220\136\015\062" + "\311\063\140\050\037\024\201\267\306\320\355\301\340\230\353\247" + "\103\327\157\133\253\015\247\310\034\350\260\272\002\131\170\351" + "\117\227\254\357\232\247\000\267\073\041\141\222\336\276\111\002" + "\360\010\177\107\235\317\013\276\154\345\200\323\245\051\355\327" + "\351\052\375\154\262\364\166\125\263\374\057\055\361\131\265\135" + "\033\357\124\134\106\123\320\144\213\127\357\022\061\312\112\127" + "\103\204\117\061\233\010\347\310\367\133\026\113\034\015\275\155" + "\256\360\245\020\335\156\112\300\077\164\162\276\260\311\233\377" + "\206\013\344\322\037\116\272\106\063\061\346\055\376\035\243\226" + "\172\153\176\233\354\117\231\333\221\312\002\000\330\142\374\011" + "\366\104\067\054\243\320\105\276\150\230\353\037\043\031\115\321" + "\102\103\252\071\350\222\055\161\220\234\050\011\067\023\175\363" + "\354\315\131\141\137\314\245\235\132\253\163\022\132\351\015\011" + "\254\320\127\345\343\376\330\331\260\021\113\272\275\002\035\245" + "\220\262\131\235\071\270\066\065\337\101\371\317\354\344\022\342" + "\115\363\360\054\140\302\020\227\146\170\025\006\037\012\320\330" + "\211\240\223\220\002\220\115\151\357\217\252\302\175\372\236\333" + "\307\031\046\323\336\173\266\345\331\013\250\162\171\127\072\025" + "\010\121\065\262\103\241\364\367\202\014\316\027\020\356\144\373" + "\030\247\104\235\231\346\103\065\054\176\025\353\260\053\274\042" + "\230\274\004\250\376\271\146\146\062\077\201\245\072\342\360\360" + "\326\243\122\206\024\150\036\115\046\342\072\004\302\261\217\161" + "\162\041\124\334\223\150\221\246\366\342\275\323\070\134\250\112" + "\132\163\041\005\274\277\273\022\151\013\062\043\357\370\355\174" + "\075\272\103\056\263\126\211\025\377\232\075\334\002\356\070\217" + "\054\372\335\144\262\031\056\034\161\227\060\252\340\220\346\327" + "\042\265\015\105\340\141\105\100\032\203\035\355\241\053\213\272" + "\066\251\344\166\270\166\356\014\373\007\206\120\277\027\143\051" + "\135\310\073\075\104\026\072\330\144\142\144\012\034\312\332\023" + "\023\034\207\152\264\154\276\127\061\122\143\110\244\233\123\073" + "\275\033\264\052\000\360\324\223\175\317\360\077\312\127\036\154" + "\113\353\267\153\350\206\316\343\303\132\160\032\007\213\206\037" + "\357\371\076\025\060\251\266\041\172\014\365\314\045\227\363\110" + "\204\210\343\064\314\025\035\312\056\232\352\220\320\036\001\216" + "\376\000\261\323\170\030\165\352\064\135\023\153\055\150\205\042" + "\206\127\222\261\025\152\223\026\273\326\367\153\263\360\277\061" + "\367\207\362\036\366\153\273\222\254\273\344\170\000\071\060\214" + "\327\262\216\234\137\316\117\004\057\001\053\340\160\161\161\150" + "\255\350\070\370\045\140\210\270\232\027\334\152\215\110\325\012" + "\013\170\337\141\147\063\115\162\035\173\066\113\044\245\105\230" + "\326\204\206\163\277\166\102\252\347\075\274\054\235\156\317\124" + "\114\207\154\222\166\004\300\076\150\076\330\105\045\300\066\212" + "\346\262\151\022\170\141\044\373\376\374\142\363\213\121\322\154" + "\301\243\313\334\364\275\377\015\200\371\116\304\226\171\200\077" + "\106\233\263\206\062\345\347\254\237\170\312\015\250\221\317\320" + "\137\104\201\357\022\165\152\210\317\360\031\104\135\063\060\277" + "\154\351\005\116\035\230\056\312\217\112\176\343\367\163\033\026" + "\034\242\226\034\364\113\000\347\011\153\211\265\250\160\361\343" + "\313\373\256\017\025\104\366\303\247\204\271\352\200\150\162\011" + "\334\317\207\223\062\106\005\112\173\260\135\077\206\211\324\162" + "\155\257\375\272\343\174\017\115\055\250\202\376\106\215\016\044" + "\204\072\265\255\232\064\112\231\373\101\256\311\066\311\273\015" + "\352\076\125\277\170\350\266\137\376\322\230\340\317\270\252\136" + "\120\141\146\071\307\260\307\341\226\124\206\055\115\123\262\133" + "\307\204\356\364\366\146\102\012\050\131\315\220\012\230\265\273" + "\204\006\271\237\343\341\336\161\243\132\006\364\371\216\104\072" + "\331\050\227\151\324\246\145\124\002\321\166\064\226\037\063\215" + "\335\205\150\335\035\047\205\346\042\037\357\227\056\114\050\366" + "\162\246\010\340\271\170\174\215\365\336\173\041\020\154\122\234" + "\033\112\261\107\346\027\262\352\047\013\216\365\312\163\015\200" + "\016\260\132\101\360\110\136\067\023\351\000\036\313\126\154\305" + "\321\207\101\075\254\034\166\240\204\105\042\223\064\022\012\242" + "\032\353\043\337\162\252\222\151\156\120\075\072\345\176\112\004" + "\225\233\315\161\036\321\002\021\266\027\077\364\174\266\056\065" + "\327\234\200\350\043\300\301\372\130\011\166\337\112\041\260\260" + "\056\317\072\036\337\173\350\221\172\265\342\164\003\323\250\322" + "\050\315\240\171\131\141\023\042\330\315\121\033\303\133\121\360" + "\001\130\156\254\166\241\025\303\366\021\334\260\032\313\114\172" + "\302\073\027\235\301\120\156\146\246\335\033\216\130\253\232\012" + "\253\027\034\170\247\171\144\231\023\142\302\257\172\261\367\072" + "\067\035\215\060\317\172\246\224\115\217\247\160\205\145\274\100" + "\337\240\115\016\254\301\063\023\015\223\067\302\166\346\300\072" + "\031\244\144\317\164\223\366\110\232\152\173\316\235\016\143\072" + "\057\255\033\302\341\223\225\313\360\115\054\060\371\136\366\132" + "\314\141\372\005\160\146\220\342\024\263\014\006\325\130\245\071" + "\007\204\174\103\222\344\151\210\205\360\276\324\213\332\124\135" + "\204\113\232\367\023\273\010\332\370\127\223\117\324\311\156\056" + "\336\136\130\270\120\252\157\200\215\167\074\120\360\076\161\101" + "\155\324\023\161\350\005\260\347\265\260\262\251\112\362\031\360" + "\257\003\141\075\222\135\225\044\167\150\007\143\156\173\072\000" + "\120\254\364\137\327\263\346\175\145\233\241\225\267\132\316\244" + "\374\116\201\206\307\074\324\304\210\246\201\060\275\112\077\261" + "\101\233\155\167\377\135\362\307\035\310\101\125\065\342\306\227" + "\371\337\316\356\075\220\070\145\347\336\207\254\232\144\252\266" + "\322\044\140\347\253\157\011\273\102\104\257\344\122\037\305\214" + "\357\207\307\053\254\243\230\015\322\031\070\075\330\262\065\301" + "\225\333\165\266\374\077\131\066\073\006\301\326\147\314\343\161" + "\071\341\036\325\104\267\001\035\153\040\114\376\174\350\127\175" + "\012\150\301\305\355\346\335\034\373\007\176\320\045\262\001\233" + "\160\063\044\140\050\331\113\365\032\250\365\216\023\372\065\236" + "\244\162\053\002\224\315\255\026\304\277\335\032\375\237\162\101" + "\135\205\101\314\000\071\333\056\223\131\075\237\211\335\357\026" + "\345\363\250\177\330\243\162\012\276\224\121\053\070\364\321\110" + "\333\370\025\230\346\001\044\055\074\256\036\244\234\167\077\106" + "\247\021\142\140\223\144\172\271\052\206\075\322\131\101\137\172" + "\321\161\267\147\072\345\335\056\051\007\014\160\076\133\177\060" + "\003\024\202\232\112\273\100\226\015\101\205\307\130\335\250\075" + "\325\337\100\171\216\111\111\366\325\043\105\012\313\025\045\037" + "\275\364\366\354\137\070\043\375\202\157\333\353\031\113\206\037" + "\114\103\151\226\154\330\166\143\016\201\246\214\144\114\145\001" + "\367\044\304\017\153\052\261\031\110\101\234\154\256\063\051\323" + "\312\337\230\202\355\360\350\157\202\120\365\026\002\325\053\010" + "\216\234\224\310\175\337\126\242\261\237\262\006\277\222\367\236" + "\373\243\347\313\057\035\002\275\006\302\023\304\273\357\034\252" + "\356\046\250\213\115\201\221\220\162\042\320\302\300\126\070\025" + "\040\033\002\013\246\171\107\275\173\175\206\016\105\104\300\004" + "\235\377\322\326\340\351\221\203\003\243\200\020\007\062\061\036" + "\200\001\226\344\207\305\307\260\237\163\003\145\207\241\135\123" + "\112\075\332\220\275\301\152\000\161\374\273\365\252\373\027\012" + "\170\124\357\273\226\112\105\214\323\000\262\115\272\157\026\046" + "\246\216\044\135\162\222\340\164\177\261\235\034\366\273\253\035" + "\153\222\255\210\170\234\360\200\074\032\053\235\306\070\215\157" + "\236\064\353\326\043\316\001\126\276\030\263\101\371\111\027\275" + "\377\262\162\316\301\314\103\322\003\124\052\112\012\135\247\061" + "\222\060\000\345\033\212\105\077\340\204\070\146\214\273\362\105" + "\135\341\002\305\363\300\305\306\273\026\054\127\055\017\225\033" + "\006\274\200\230\110\263\012\350\364\073\167\357\205\102\032\142" + "\146\116\122\306\101\305\236\267\173\037\061\322\245\152\170\147" + "\155\045\320\164\237\156\112\245\065\053\163\165\353\226\234\320" + "\102\171\254\144\374\323\136\377\232\273\023\105\062\046\246\211" + "\116\300\016\025\213\213\253\246\351\134\316\366\320\356\376\362" + "\073\300\364\007\040\311\331\021\327\247\023\242\364\070\125\114" + "\103\272\342\130\167\266\316\016\155\060\357\371\240\003\173\102" + "\321\374\044\006\176\367\156\232\301\207\355\020\261\226\137\320" + "\013\120\110\161\134\364\005\255\026\044\010\345\273\324\371\304" + "\166\025\311\133\014\362\162\060\112\035\311\242\170\021\002\004" + "\262\327\316\327\362\066\354\117\366\376\221\333\135\013\110\114" + "\040\313\025\261\057\071\122\067\364\347\342\044\201\004\072\075" + "\256\366\126\306\217\211\372\226\334\040\172\245\001\346\156\241" + "\360\317\301\334\252\106\225\176\254\037\067\230\175\110\325\077" + "\334\351\163\346\302\106\347\301\160\172\331\120\225\310\031\214" + "\254\214\130\373\225\074\103\355\321\121\364\224\044\075\213\321" + "\123\175\242\044\251\111\341\030\264\332\201\265\064\161\322\257" + "\202\022\260\157\316\314\063\332\231\210\262\216\022\325\252\222" + "\314\215\347\252\043\174\233\040\120\066\106\161\045\036\164\354" + "\123\237\142\143\226\170\360\021\322\074\140\000\270\034\154\212" + "\073\375\327\045\071\110\353\333\175\154\262\233\334\211\003\305" + "\131\365\302\163\374\333\122\020\031\323\167\072\167\032\075\135" + "\256\344\122\043\046\375\053\273\326\076\134\150\021\052\240\153" + "\162\015\211\034\001\050\356\157\212\374\354\121\070\241\256\210" + "\036\306\040\132\015\160\305\047\070\077\373\263\376\203\354\356" + "\352\114\203\114\162\145\252\224\215\342\164\373\205\007\065\240" + "\005\303\314\054\204\274\164\265\167\040\101\064\217\065\075\272" + "\014\375\320\321\176\150\227\140\026\151\061\167\223\145\076\266" + "\266\165\154\216\357\076\343\256\131\252\122\111\376\077\011\212" + "\363\121\053\250\321\030\047\111\216\227\143\377\370\277\322\301" + "\021\006\332\260\240\145\070\222\307\106\336\130\256\336\334\312" + "\311\025\167\025\203\211\366\021\233\045\011\267\057\316\102\001" + "\250\041\232\110\175\045\106\377\336\315\301\126\107\313\234\226" + "\013\252\307\122\010\007\172\365\231\055\123\353\234\030\314\012" + "\007\353\120\210\256\210\331\224\112\234\333\013\337\237\011\241" + "\217\053\351\006\024\204\061\027\300\327\016\200\132\176\225\035" + "\323\216\340\265\140\267\045\136\000\035\065\023\320\244\233\212" + "\304\007\011\144\325\143\344\012\334\051\200\335\106\141\355\356" + "\050\330\033\062\011\206\331\256\000\016\260\000\206\261\350\361" + "\005\326\356\326\125\325\113\124\143\241\347\006\237\341\061\335" + "\152\260\275\246\274\376\215\050\322\134\016\010\075\031\305\316" + "\003\143\013\133\372\045\341\236\211\301\037\304\135\345\155\113" + "\116\103\324\157\344\210\355\365\173\010\360\124\024\340\002\257" + "\240\064\137\271\077\227\306\301\356\144\230\325\231\356\207\137" + "\144\120\321\011\335\167\301\142\333\111\247\345\274\164\142\172" + "\372\127\211\221\244\325\010\077\155\131\253\256\011\170\323\023" + "\263\247\027\326\317\307\332\237\256\177\136\132\022\060\073\023" + "\246\133\225\136\365\142\207\163\366\361\102\344\277\176\145\237" + "\047\266\211\151\001\174\133\237\374\307\104\050\335\173\261\012" + "\220\106\020\075\064\350\105\130\261\014\327\011\176\365\152\222" + "\334\207\233\153\357\203\216\144\052\324\014\365\071\207\222\112" + "\272\126\062\104\265\266\015\312\104\040\300\346\077\010\107\165" + "\147\141\025\052\311\201\306\127\135\103\147\315\313\300\311\127" + "\276\375\066\112\373\333\223\261\225\237\244\076\045\342\341\166" + "\120\076\375\122\123\167\347\173\007\030\053\254\354\116\361\276" + "\331\217\363\003\301\307\045\021\262\303\040\113\034\216\234\164" + "\373\262\000\237\011\116\276\031\307\370\075\145\215\166\173\363" + "\131\221\227\077\022\023\166\357\322\272\332\246\041\075\133\375" + "\011\030\014\366\311\206\356\052\013\325\263\107\112\304\161\274" + "\152\170\123\363\305\270\012\371\040\221\222\370\052\057\252\273" + "\216\116\162\343\356\067\265\013\267\001\100\076\310\236\360\010" + "\053\155\375\137\040\057\200\200\330\006\257\312\276\134\245\237" + "\331\074\375\005\213\374\123\032\333\260\252\023\253\235\303\114" + "\151\203\202\243\070\010\202\204\345\235\104\055\243\077\205\233" + "\041\353\106\320\023\257\017\343\237\251\013\103\347\310\173\254" + "\305\001\241\110\075\107\050\202\053\162\140\360\010\356\210\222" + "\370\005\007\306\221\175\103\232\323\075\330\061\027\344\360\062" + "\121\252\060\364\313\374\263\016\265\157\203\231\270\337\061\266" + "\103\215\062\077\134\155\031\011\011\300\237\152\210\122\014\076" + "\116\037\304\254\152\313\065\357\374\122\003\144\257\070\012\326" + "\005\243\215\116\227\343\022\365\256\107\164\007\066\040\216\240" + "\241\172\044\332\225\271\027\052\221\005\327\341\032\061\052\130" + "\325\375\002\346\056\205\137\131\241\043\250\344\342\256\325\134" + "\135\223\167\343\374\231\007\227\327\026\367\370\235\365\240\352" + "\135\014\131\063\114\147\072\005\000\163\036\241\336\341\312\327" + "\366\122\000\150\366\273\251\140\137\016\126\204\325\223\364\043" + "\133\350\256\214\070\136\046\223\052\220\143\023\271\041\111\123" + "\352\003\245\176\170\153\176\073\174\134\013\344\222\221\331\215" + "\147\041\116\043\112\340\000\374\146\357\116\324\174\155\077\017" + "\341\346\221\012\201\334\213\173\234\117\315\203\032\243\104\314" + "\344\043\012\243\210\224\024\135\057\376\375\006\253\143\256\040" + "\213\265\346\262\251\057\264\115\275\145\366\112\211\234\353\020" + "\135\276\231\224\350\025\063\365\251\152\137\125\366\100\274\150" + "\021\257\074\153\111\322\315\140\305\047\330\123\213\120\324\011" + "\314\163\300\106\005\026\243\154\014\014\307\206\171\337\233\317" + "\044\144\304\030\221\242\012\124\023\140\155\065\160\371\306\126" + "\311\355\002\112\335\132\237\261\312\130\235\170\217\133\365\010" + "\271\202\044\166\240\222\151\061\003\237\256\110\316\270\301\165" + "\143\324\011\064\252\250\323\133\276\337\352\254\167\246\023\321" + "\230\233\330\240\141\051\262\321\073\144\247\242\120\020\273\252" + "\026\123\335\203\252\377\276\271\162\125\056\226\072\152\026\060" + "\077\054\175\137\302\357\223\215\342\161\231\017\304\367\164\177" + "\110\233\134\332\110\135\375\067\174\175\140\245\216\205\104\137" + "\102\247\033\277\127\131\256\135\133\103\204\146\322\342\225\271" + "\250\243\060\212\176\317\176\235\273\110\323\020\073\127\115\356" + "\053\274\347\033\104\377\306\154\315\217\252\326\124\172\201\070" + "\334\017\043\067\121\015\102\274\162\212\325\130\053\111\265\046" + "\037\345\033\102\372\373\154\363\325\142\073\370\254\210\240\152" + "\215\207\332\160\255\024\175\073\076\171\152\057\137\307\306\031" + "\336\313\052\227\352\202\271\313\131\005\073\044\063\377\243\310" + "\040\027\310\234\316\230\252\017\054\225\372\123\127\372\202\127" + "\012\364\341\327\147\233\036\326\306\222\077\125\056\272\301\237" + "\063\130\164\327\134\170\017\005\063\305\210\264\142\020\167\105" + "\132\120\274\362\042\120\350\046\243\175\173\204\171\057\107\341" + "\167\313\142\177\377\024\061\213\312\070\164\046\211\356\300\210" + "\302\253\067\071\115\326\154\257\206\071\337\376\157\343\006\105" + "\333\233\322\070\161\121\062\020\074\253\125\017\326\217\207\340" + "\277\375\076\031\236\364\365\360\260\107\126\270\047\225\070\272" + "\155\303\207\326\331\144\044\240\012\266\301\377\106\336\017\321" + "\166\175\361\002\106\021\262\047\030\062\127\265\260\202\104\161" + "\146\145\332\271\340\172\100\016\336\355\313\375\327\117\142\303" + "\026\240\336\361\112\247\257\163\053\167\367\233\127\225\331\207" + "\350\334\352\154\103\351\224\156\312\316\020\310\144\273\042\367" + "\152\116\124\070\004\275\232\204\343\146\261\032\161\102\314\312" + "\154\002\242\133\162\203\151\257\364\374\365\365\336\325\146\034" + "\361\323\063\160\204\243\220\177\330\115\063\035\323\115\365\072" + "\332\007\034\162\066\161\174\332\171\263\307\015\174\201\043\233" + "\254\330\147\374\142\067\243\042\346\327\347\052\351\051\347\265" + "\355\330\242\140\335\113\225\036\211\324\027\352\322\321\034\357" + "\112\352\033\000\077\221\317\121\203\115\050\327\250\033\242\107" + "\170\134\252\114\113\334\171\313\030\117\367\061\171\302\230\056" + "\360\050\257\324\376\321\014\316\367\270\345\030\235\104\227\136" + "\132\116\215\247\303\362\121\337\241\235\021\220\232\070\267\114" + "\260\311\310\100\116\176\022\007\365\317\024\127\366\307\076\203" + "\337\204\053\166\123\070\316\343\174\252\372\235\241\265\034\273" + "\355\343\346\247\036\234\006\017\332\216\015\253\100\160\145\021" + "\112\111\337\203\303\042\303\162\346\105\204\000\051\020\003\343" + "\067\302\021\153\013\105\114\023\310\310\162\240\344\044\155\060" + "\037\122\354\012\022\313\300\040\047\234\054\042\320\131\064\123" + "\054\274\315\143\124\146\166\034\056\351\275\023\016\052\103\055" + "\175\057\070\220\373\370\260\042\225\334\105\146\066\171\272\142" + "\066\207\305\212\355\074\247\034\046\144\057\064\217\163\141\014" + "\243\232\234\236\223\115\301\050\052\007\217\140\200\111\303\267" + "\321\211\101\277\305\351\333\353\115\013\040\335\176\202\352\041" + "\034\207\300\257\324\201\327\377\211\147\137\011\260\043\300\201" + "\254\002\101\162\354\034\135\072\050\176\027\246\000\001\310\034" + "\210\210\313\135\012\243\134\223\012\274\235\273\337\136\075\213" + "\141\176\375\115\233\133\207\303\331\236\152\331\240\062\366\050" + "\273\301\205\305\145\341\131\160\235\366\053\175\125\150\010\266" + "\347\006\003\202\141\213\106\073\052\260\024\312\342\012\362\235" + "\314\170\143\061\131\275\241\367\264\315\164\011\066\175\277\035" + "\203\303\237\344\117\345\037\171\226\064\103\170\077\065\026\013" + "\256\172\075\007\067\337\377\353\254\163\364\342\360\264\000\164" + "\170\237\130\307\205\170\100\033\255\204\224\354\272\253\370\150" + "\045\066\160\135\025\157\110\302\343\075\245\324\362\245\110\153" + "\105\240\063\313\031\164\347\306\370\173\263\262\047\253\033\114" + "\341\213\251\367\372\362\272\336\060\140\262\043\006\372\216\114" + "\233\301\027\264\065\376\173\056\172\056\340\241\332\374\356\273" + "\207\230\263\202\213\156\140\274\316\023\337\325\015\156\041\251" + "\060\070\136\145\067\331\224\262\010\165\124\342\161\103\235\370" + "\333\121\173\147\300\334\043\216\357\002\143\374\161\204\246\241" + "\275\004\007\365\335\233\247\346\020\374\310\201\077\146\172\032" + "\267\365\201\167\321\245\006\300\250\152\275\031\357\143\272\255" + "\150\301\242\106\134\112\054\155\106\364\356\205\132\151\237\022" + "\137\041\212\060\306\220\361\157\373\257\210\353\023\102\230\173" + "\004\072\302\141\205\356\316\313\342\275\120\074\046\360\117\205" + "\022\331\266\331\152\250\110\145\130\320\120\154\023\350\350\027" + "\043\252\171\250\230\107\164\172\005\304\267\054\265\007\261\307" + "\340\150\241\112\021\351\260\152\272\000\326\315\351\276\345\015" + "\150\137\266\001\247\052\174\254\357\064\330\244\073\212\154\033" + "\363\015\146\004\366\026\156\261\027\105\176\000\003\144\016\154" + "\304\304\155\153\356\351\027\335\035\357\202\130\171\356\164\154" + "\373\332\161\362\360\340\243\010\045\042\010\050\206\027\225\112" + "\333\002\265\312\353\315\247\010\274\051\141\066\027\325\243\023" + "\257\025\005\240\365\250\250\032\312\261\103\121\310\330\234\244" + "\333\122\156\306\037\026\317\334\077\060\023\127\006\266\153\266" + "\313\160\126\300\031\377\333\343\260\037\065\171\370\321\035\323" + "\043\213\232\103\241\152\037\341\233\062\071\241\351\244\127\265" + "\025\256\166\056\255\121\021\136\161\107\327\151\030\365\075\074" + "\200\330\200\042\102\240\004\335\323\075\177\274\342\326\161\367" + "\204\347\045\062\071\067\220\253\177\147\024\227\134\122\324\335" + "\052\125\000\154\365\004\112\310\102\311\205\045\240\367\034\045" + "\337\102\127\031\172\347\304\371\117\331\221\253\053\146\211\126" + "\273\211\302\260\216\015\171\321\327\377\366\167\366\023\234\325" + "\126\363\357\321\333\263\313\052\214\134\326\270\303\137\016\176" + "\351\321\057\170\336\251\111\265\250\077\055\236\123\312\164\251" + "\276\143\173\231\027\106\303\243\243\231\133\146\371\152\345\342" + "\073\025\133\031\276\244\317\147\344\375\006\067\307\173\341\205" + "\337\134\037\366\242\343\232\106\174\366\254\166\140\222\131\233" + "\250\264\265\147\130\205\316\075\202\324\165\112\120\126\320\057" + "\263\357\045\126\322\300\234\117\266\111\305\026\334\037\262\204" + "\323\147\353\053\354\271\151\157\216\336\272\336\065\212\015\350" + "\172\063\077\114\363\333\234\252\045\142\300\001\201\162\205\124" + "\332\160\200\307\052\351\066\270\310\360\227\375\173\245\345\365" + "\330\044\102\314\000\336\166\045\101\067\046\302\252\253\027\204" + "\034\227\113\106\201\202\376\111\163\226\107\356\073\054\343\024" + "\121\045\340\122\004\127\167\105\217\236\010\071\112\037\276\146" + "\267\012\255\071\214\254\203\377\102\312\356\175\366\321\221\110" + "\367\162\232\374\312\022\102\131\261\112\222\373\152\120\142\042" + "\132\020\133\347\274\336\347\376\250\325\174\237\247\016\350\237" + "\201\202\233\113\225\336\244\106\050\067\101\223\210\244\265\342" + "\264\021\312\161\357\261\157\230\206\354\067\055\373\037\315\174" + "\242\150\310\067\106\155\175\157\244\277\003\054\144\270\017\031" + "\311\332\212\271\213\372\121\022\346\211\100\342\251\015\137\113" + "\165\047\203\274\225\001\054\071\300\057\146\045\347\166\076\261" + "\120\310\153\334\302\274\356\251\106\056\214\357\073\353\072\261" + "\023\275\155\250\276\231\342\177\310\111\245\260\277\343\142\020" + "\254\315\354\157\212\332\031\320\010\245\277\104\221\372\365\244" + "\270\142\114\167\374\056\366\305\170\234\166\067\200\330\110\054" + "\245\065\234\060\020\266\000\031\133\300\135\354\272\122\221\163" + "\265\335\352\261\014\341\167\204\175\355\274\375\305\005\052\153" + "\072\307\233\112\175\234\144\331\135\301\306\030\023\127\213\311" + "\065\165\173\101\126\362\306\324\337\203\321\244\210\374\020\303" + "\303\254\016\100\110\162\031\245\064\337\276\110\067\111\021\154" + "\277\214\256\026\176\165\352\135\370\274\002\201\271\022\105\174" + "\276\123\275\007\306\327\255\372\267\153\102\356\264\123\132\164" + "\340\011\212\136\176\165\273\166\061\276\370\353\320\075\147\217" + "\221\045\226\130\374\103\122\264\257\225\242\144\351\375\330\311" + "\007\143\047\205\330\343\374\012\242\364\365\162\062\135\001\304" + "\202\230\034\177\334\157\063\213\004\326\357\356\324\307\267\333" + "\052\337\141\002\303\135\015\145\122\002\330\204\137\332\110\342" + "\162\145\142\116\324\226\331\331\155\311\307\102\220\177\035\272" + "\137\176\275\042\334\312\210\056\315\141\263\055\073\373\020\256" + "\141\162\375\065\011\327\017\166\240\326\270\061\125\326\354\264" + "\125\251\327\061\164\140\140\102\301\023\157\375\017\200\253\160" + "\362\251\246\373\201\265\162\042\213\052\123\341\000\077\226\126" + "\351\156\207\136\316\347\240\220\373\020\215\012\220\071\172\203" + "\342\040\176\144\325\361\206\141\033\331\103\034\031\332\163\002" + "\110\372\140\027\342\001\247\336\021\065\350\241\156\142\044\121" + "\203\243\265\131\224\073\273\260\025\376\315\056\331\100\061\042" + "\073\221\071\036\222\341\374\244\026\344\105\205\107\152\326\313" + "\016\214\045\242\310\340\123\335\337\040\014\270\141\075\332\234" + "\317\024\272\141\366\267\006\015\234\114\222\344\266\151\257\304" + "\365\324\147\275\265\272\233\224\332\247\115\074\344\047\330\264" + "\074\223\026\063\112\034\100\347\150\323\313\036\075\172\343\063" + "\117\112\361\004\004\214\231\337\064\346\033\031\015\364\315\112" + "\207\343\176\322\377\276\271\147\222\204\206\317\377\151\003\116" + "\264\364\123\270\201\354\230\265\322\264\316\340\250\234\053\060" + "\177\251\002\177\150\274\347\372\101\155\312\100\327\316\217\213" + "\302\343\104\103\317\335\371\242\221\310\203\072\144\256\152\344" + "\130\155\143\300\052\113\273\153\270\206\253\220\124\073\033\027" + "\036\140\132\355\075\124\220\316\034\023\011\200\302\164\145\032" + "\341\310\333\013\024\226\167\315\035\042\135\162\135\171\211\173" + "\331\344\151\027\070\371\346\124\015\357\325\317\143\072\352\105" + "\003\305\121\027\134\310\344\172\352\102\354\110\274\165\304\225" + "\132\055\255\222\047\223\347\064\202\275\004\346\367\356\053\373" + "\264\174\023\021\104\370\213\057\072\167\167\366\355\074\214\107" + "\152\071\332\221\315\301\306\117\176\313\066\166\272\141\161\157" + "\336\204\200\042\175\013\122\267\203\312\256\160\006\073\267\160" + "\164\221\002\102\123\311\222\322\224\310\110\116\052\272\275\010" + "\077\076\053\274\111\175\164\314\107\042\075\115\135\364\276\322" + "\206\300\024\332\211\246\254\036\157\365\155\231\257\053\241\356" + "\151\314\253\262\111\037\177\221\102\274\337\237\261\235\162\070" + "\136\207\022\350\056\277\007\235\264\164\066\143\237\327\122\010" + "\244\375\273\356\034\073\177\137\370\136\377\251\374\161\342\133" + "\371\364\103\047\263\112\304\147\277\373\313\136\323\035\147\167" + "\033\043\145\067\136\344\227\127\103\226\000\100\007\342\233\000" + "\327\337\050\213\051\355\362\351\350\275\107\273\333\257\062\366" + "\322\230\056\061\174\305\210\300\133\211\000\143\154\233\144\103" + "\173\214\316\244\171\301\215\141\177\325\035\132\204\117\121\127" + "\347\177\211\144\105\021\045\240\233\045\004\007\301\150\113\074" + "\364\032\341\156\334\157\320\133\105\355\266\312\074\010\042\044" + "\210\253\210\315\274\256\156\130\323\162\140\225\333\254\322\317" + "\306\264\076\243\044\016\377\151\373\265\064\070\276\126\135\106" + "\001\346\023\276\224\202\026\150\364\166\376\317\042\320\237\351" + "\205\336\214\251\354\214\023\350\101\107\041\000\235\176\106\236" + "\144\132\135\371\334\163\141\321\352\137\241\015\060\101\367\265" + "\037\204\136\014\020\162\365\122\271\027\122\126\226\230\365\373" + "\363\122\364\317\306\125\241\261\265\102\276\345\204\266\232\243" + "\072\371\260\112\153\245\235\045\275\357\173\123\210\161\116\173" + "\304\102\113\212\230\355\073\115\057\372\063\264\260\316\127\353" + "\307\010\066\063\256\323\130\153\302\324\276\113\105\015\307\011" + "\120\022\224\350\377\320\066\057\312\151\343\173\067\073\146\377" + "\103\234\063\362\157\214\135\062\140\034\175\246\051\105\260\171" + "\127\104\142\127\024\230\207\337\002\153\133\072\247\302\072\353" + "\137\155\335\317\372\072\001\132\127\177\001\200\304\261\372\034" + "\366\135\164\012\365\373\352\370\147\106\062\016\010\155\371\147" + "\333\326\066\325\021\070\060\150\267\061\351\174\342\344\230\330" + "\101\015\343\067\010\316\057\160\024\142\176\034\317\170\204\252" + "\116\272\200\140\362\260\311\252\341\263\047\303\230\300\234\331" + "\315\177\021\326\116\100\106\142\243\305\177\163\075\003\036\214" + "\276\236\354\261\116\266\134\057\151\203\363\001\103\220\333\020" + "\020\354\346\136\055\054\300\320\361\100\103\057\103\142\273\002" + "\000\247\263\117\136\017\176\307\223\162\311\326\002\244\346\022" + "\221\315\161\276\372\062\217\354\162\323\033\266\065\326\270\065" + "\176\154\204\334\174\003\244\017\166\156\345\171" +#define xecc_z 15 +#define xecc ((&data[24940])) + "\244\231\375\017\040\231\027\047\330\203\326\015\324\154\241\301" + "\310\001\142\223" +#define lsto_z 1 +#define lsto ((&data[24957])) + "\017" +#define pswd_z 256 +#define pswd ((&data[25008])) + "\130\372\161\021\060\360\175\265\314\372\271\161\011\057\337\356" + "\251\362\273\065\226\124\063\371\350\142\353\150\004\260\003\135" + "\253\165\156\334\145\354\221\062\346\113\243\357\172\203\336\044" + "\165\232\030\172\101\072\272\031\274\007\206\373\322\156\264\312" + "\056\223\220\355\137\343\103\024\000\233\175\374\161\054\001\264" + "\043\032\056\144\124\351\175\021\361\004\014\303\162\300\216\241" + "\124\036\216\264\001\321\310\001\155\106\376\336\163\000\223\226" + "\032\302\372\157\254\170\201\235\174\215\141\357\116\360\220\243" + "\016\037\127\020\361\040\022\136\146\020\075\332\020\320\160\053" + "\223\152\233\077\342\034\335\137\251\076\116\370\056\337\233\075" + "\377\362\116\360\023\141\117\172\162\214\124\203\135\304\256\361" + "\056\111\060\021\146\015\161\017\114\300\010\172\237\243\270\237" + "\226\007\220\251\150\337\043\332\154\170\135\311\074\014\272\153" + "\126\353\175\274\371\356\314\105\256\324\300\116\170\171\355\016" + "\200\176\270\350\135\334\303\311\124\040\223\221\055\116\374\203" + "\072\172\100\063\150\014\171\027\341\071\146\131\262\124\150\063" + "\322\041\034\057\376\337\371\122\000\215\344\055\333\341\261\025" + "\133\362\111\303\377\302\333\340\374\101\072\257\226\243\342\150" + "\304\376\230\302\335\222\025\336\037\371\014\373\332\275\021\066" + "\257\132\131\014\356\214\005\327\357\360\100\364\241\104\121\115" + "\271\300\051\037\254\273\122\223\006\366\202\201\171\141\245\357" + "\373\376\373\352\213\000\302\172\361"/* End of data[] */; +>>>>>>> main #define hide_z 4096 #define SETUID 0 /* Define as 1 to call setuid(0) at start of script */ #define DEBUGEXEC 0 /* Define as 1 to debug execvp calls */ diff --git a/assets/binaries/helium_launcher_update.sh.x.c b/assets/binaries/helium_launcher_update.sh.x.c index 2718bbb..b6d1aaa 100644 --- a/assets/binaries/helium_launcher_update.sh.x.c +++ b/assets/binaries/helium_launcher_update.sh.x.c @@ -2,6 +2,7 @@ shc Version 4.0.3, Generic Shell Script Compiler GNU GPL Version 3 Md Jahidul Hamid +<<<<<<< HEAD shc -f helium_launcher_update.sh -o launcher-update-helium_stable #endif @@ -759,6 +760,657 @@ static char data [] = #define inlo_z 3 #define inlo ((&data[11412])) "\277\066\023"/* End of data[] */; +======= + shc -f helium_launcher_update.sh -o launcher-update-helium +#endif + +static char data [] = +#define msg1_z 65 +#define msg1 ((&data[14])) + "\064\274\304\307\336\131\120\171\232\041\334\374\271\243\205\357" + "\044\024\001\223\040\150\032\227\025\362\072\044\103\070\147\047" + "\310\271\116\064\064\073\342\042\111\070\044\066\036\175\102\060" + "\333\030\033\210\344\152\026\346\132\351\112\131\206\125\263\226" + "\371\345\042\050\017\200\372\326\167\242\306\145\353\101\077\143" + "\121\361\224\116\023\247\030\232\267\004\053\014\236\105" +#define tst2_z 19 +#define tst2 ((&data[96])) + "\244\110\341\151\351\355\157\174\110\025\155\366\036\105\250\222" + "\315\336\156\226\145\101\202" +#define msg2_z 19 +#define msg2 ((&data[119])) + "\074\263\225\363\120\334\216\007\241\370\113\347\311\064\216\156" + "\051\031\107\326\256\330\071\155\173" +#define rlax_z 1 +#define rlax ((&data[142])) + "\270" +#define date_z 1 +#define date ((&data[143])) + "\262" +#define text_z 8598 +#define text ((&data[461])) + "\220\051\106\235\310\214\205\114\005\051\224\107\253\066\331\247" + "\162\214\177\254\372\373\111\271\150\172\306\351\124\354\005\344" + "\026\114\202\336\330\007\053\335\060\277\045\334\366\376\204\151" + "\213\004\025\205\377\136\076\150\331\004\122\055\361\130\022\007" + "\244\224\346\174\234\021\132\315\320\200\251\306\176\055\060\011" + "\062\105\216\062\243\314\232\174\321\355\252\302\106\274\311\352" + "\121\257\147\355\300\302\272\221\102\143\130\300\221\210\312\304" + "\315\130\366\161\045\221\355\366\176\227\271\305\124\202\260\245" + "\062\027\222\363\332\114\204\035\260\335\336\102\146\250\006\063" + "\001\374\244\046\216\222\035\015\052\326\322\176\131\202\044\214" + "\232\266\177\164\003\004\222\264\342\160\366\110\031\375\173\032" + "\372\040\101\210\263\136\225\335\065\147\134\217\352\200\033\204" + "\067\232\370\072\237\213\357\201\373\345\311\024\343\105\056\336" + "\145\160\146\031\316\374\366\004\143\123\223\116\324\256\322\013" + "\111\313\106\351\126\065\153\121\033\064\146\377\172\225\335\340" + "\005\103\371\324\100\360\330\244\103\153\362\030\032\304\043\144" + "\217\152\116\345\240\271\067\273\355\235\272\150\062\230\110\067" + "\333\101\013\034\061\344\300\165\120\262\215\153\166\261\320\005" + "\033\036\353\273\327\042\167\305\300\062\055\363\312\165\052\246" + "\267\066\302\351\033\202\136\153\064\354\327\253\235\317\317\303" + "\366\155\246\312\343\155\347\100\375\320\066\176\233\112\201\066" + "\135\144\347\163\000\216\324\213\012\105\366\215\266\062\175\322" + "\163\175\010\341\034\006\333\324\125\164\221\222\073\123\036\034" + "\117\171\240\025\142\052\231\303\030\251\171\226\367\043\103\270" + "\060\220\366\104\256\044\261\106\176\216\271\113\050\265\370\124" + "\242\250\060\255\302\124\075\131\306\053\077\302\120\176\115\343" + "\264\225\176\076\224\250\241\074\044\237\004\052\033\271\237\275" + "\305\107\216\110\163\302\021\045\004\036\013\055\317\171\346\366" + "\360\206\060\372\045\145\052\346\241\324\107\247\137\153\147\312" + "\136\227\003\071\120\003\252\035\120\132\207\365\237\343\311\052" + "\234\170\340\060\365\265\015\302\226\254\001\362\274\121\240\177" + "\127\354\277\350\222\273\262\131\151\344\242\003\142\021\060\256" + "\151\075\232\361\020\302\004\242\044\024\076\374\311\132\041\357" + "\207\217\132\171\300\272\006\364\301\072\320\275\072\117\235\050" + "\305\022\255\070\353\350\373\165\331\353\112\106\047\220\104\376" + "\206\175\160\036\321\362\261\325\272\367\037\235\041\153\127\321" + "\052\075\234\025\265\332\021\321\210\030\021\063\266\252\270\362" + "\270\042\060\250\154\011\237\337\033\303\241\211\347\136\112\266" + "\044\346\063\170\304\233\164\163\132\321\014\104\073\020\247\354" + "\353\277\275\146\216\271\021\254\373\355\157\366\235\015\250\333" + "\372\230\352\117\325\250\250\077\065\333\224\177\274\271\154\243" + "\101\122\223\011\374\115\375\064\034\130\320\331\145\105\247\313" + "\152\161\005\242\110\122\346\041\351\076\165\066\256\123\122\207" + "\202\034\321\074\057\165\222\172\013\201\123\112\221\061\221\022" + "\067\125\227\341\314\112\304\230\164\055\321\077\311\246\152\037" + "\105\043\272\073\126\031\246\063\033\032\364\027\362\063\316\334" + "\312\010\231\054\353\004\240\222\322\357\017\357\167\222\153\123" + "\177\160\345\200\214\250\370\104\155\060\174\336\327\156\030\105" + "\234\377\263\056\225\223\045\015\260\156\170\362\360\374\012\303" + "\155\173\237\266\123\305\062\142\220\322\013\005\311\354\170\065" + "\251\236\321\264\230\113\201\300\300\175\206\104\066\020\177\143" + "\164\267\355\332\275\076\077\315\116\160\031\351\054\041\254\111" + "\245\007\127\042\127\045\105\216\136\310\307\106\164\304\334\172" + "\307\161\043\147\015\274\246\175\325\122\200\312\037\053\362\026" + "\154\234\106\246\173\150\246\173\020\154\362\342\151\057\331\277" + "\307\122\332\033\165\060\332\216\102\371\266\143\270\076\123\227" + "\231\165\263\201\040\075\134\215\072\355\156\143\203\133\041\006" + "\364\206\176\141\136\150\130\344\372\227\056\045\311\277\107\222" + "\127\045\215\057\205\156\170\345\243\066\260\373\133\314\257\326" + "\313\216\234\100\044\244\276\257\341\137\224\315\342\065\255\202" + "\220\317\162\143\306\210\122\040\264\234\145\017\311\001\142\174" + "\237\323\371\020\324\235\045\265\321\322\021\343\136\067\376\347" + "\262\020\046\176\121\364\316\217\256\231\262\171\116\037\024\074" + "\041\327\045\000\361\010\376\160\301\143\340\061\336\005\060\377" + "\351\061\041\146\334\066\216\157\175\147\213\230\116\335\343\332" + "\304\327\352\005\127\001\011\003\370\074\175\066\114\376\320\055" + "\165\357\352\363\170\234\036\367\274\300\056\105\064\265\252\306" + "\122\321\033\253\373\240\312\117\155\345\266\273\302\256\176\125" + "\175\032\057\263\105\117\254\353\314\277\002\260\132\020\166\003" + "\252\024\352\006\121\006\263\163\325\270\354\256\202\312\177\014" + "\100\173\042\360\144\134\062\230\025\333\211\277\014\071\147\075" + "\267\041\310\012\260\337\175\207\374\314\102\365\100\233\113\222" + "\330\302\064\022\024\303\023\376\361\343\000\366\173\131\157\036" + "\257\350\275\115\276\373\003\331\027\267\016\220\317\340\302\006" + "\126\253\361\313\233\153\116\255\327\245\156\234\067\267\260\130" + "\263\014\371\221\045\052\124\320\334\061\343\103\323\032\271\213" + "\221\222\250\243\070\014\203\206\151\350\321\000\207\055\267\331" + "\166\271\252\013\003\252\132\030\305\113\136\340\062\060\376\122" + "\325\364\334\237\366\276\115\345\257\304\330\046\311\030\337\143" + "\067\376\313\241\043\044\355\123\277\045\046\235\066\100\253\261" + "\172\105\134\271\100\260\015\266\345\356\004\164\373\032\126\202" + "\346\120\262\332\145\013\373\321\172\024\273\147\270\273\216\123" + "\066\013\115\361\173\122\340\373\135\337\042\021\342\161\365\246" + "\010\210\333\241\254\375\122\330\351\203\003\226\043\101\140\374" + "\023\076\060\255\145\023\373\227\170\373\056\206\111\077\312\131" + "\344\273\324\026\315\241\045\046\006\314\017\330\110\376\142\336" + "\031\133\177\015\004\251\122\061\133\116\047\162\371\276\207\260" + "\262\216\067\047\044\126\374\061\250\065\254\357\366\036\007\257" + "\222\123\073\212\144\041\063\352\032\152\131\073\355\042\367\132" + "\200\047\114\146\311\043\072\215\137\370\251\064\016\347\026\007" + "\053\123\101\106\067\314\324\004\052\033\354\065\031\351\227\236" + "\257\004\201\341\003\057\005\111\357\252\241\306\204\021\060\216" + "\365\325\355\341\116\155\206\047\206\076\275\124\364\255\114\132" + "\105\152\052\236\344\054\342\072\106\324\344\302\074\075\036\012" + "\220\322\343\264\073\122\101\112\035\061\051\146\061\120\251\212" + "\107\253\064\355\305\006\004\316\067\057\335\050\141\077\130\222" + "\046\277\261\250\041\212\175\112\323\304\100\233\116\326\173\036" + "\203\343\365\365\371\022\306\367\126\321\361\116\115\032\325\004" + "\154\325\132\026\017\140\234\130\333\314\025\156\112\320\214\367" + "\061\231\317\341\001\125\026\147\202\072\136\073\004\000\074\317" + "\253\242\371\032\166\072\157\346\115\007\315\154\236\075\346\271" + "\374\010\217\222\135\233\231\116\145\352\116\356\350\041\221\003" + "\041\177\212\277\377\221\146\053\143\221\002\260\042\363\041\327" + "\310\242\126\107\371\232\043\162\324\342\072\136\261\356\234\356" + "\120\063\312\365\145\252\133\173\264\052\373\243\164\314\201\024" + "\310\073\357\321\011\133\156\322\137\077\150\306\205\256\065\373" + "\061\100\106\211\104\355\350\302\354\250\145\146\053\241\136\240" + "\346\027\315\123\277\332\353\302\125\262\335\132\001\313\240\165" + "\042\034\041\112\264\307\132\024\240\316\107\145\275\011\234\031" + "\370\134\151\015\322\171\364\220\174\347\047\041\131\100\132\042" + "\335\331\060\201\106\161\025\333\317\015\264\227\057\125\127\356" + "\101\345\321\145\056\316\063\377\373\302\064\031\006\231\123\221" + "\154\101\326\202\114\160\017\053\351\077\006\101\204\323\166\302" + "\356\164\130\216\303\311\156\345\010\150\255\230\056\045\202\277" + "\052\046\016\301\214\373\301\243\145\101\152\367\230\000\320\264" + "\251\146\231\001\071\141\360\004\211\324\126\304\372\266\007\142" + "\161\322\035\156\355\251\013\061\132\254\175\127\304\000\235\032" + "\303\112\205\127\060\057\027\142\335\065\004\167\356\027\326\230" + "\212\126\032\251\146\155\130\360\316\336\073\332\135\317\304\211" + "\247\071\245\366\171\247\150\110\242\246\160\223\070\264\155\160" + "\332\235\122\205\127\333\005\312\132\331\215\375\133\233\367\354" + "\202\331\160\160\216\366\101\000\040\047\115\020\306\067\153\351" + "\371\324\041\051\122\337\001\305\060\321\267\235\027\234\160\334" + "\162\004\357\040\016\137\330\031\004\140\351\126\135\231\350\001" + "\310\231\102\071\144\223\340\364\202\211\115\141\077\256\363\056" + "\312\157\372\174\257\021\023\172\010\050\364\044\273\241\224\320" + "\074\104\210\275\002\320\041\100\065\006\164\243\037\127\345\131" + "\332\061\123\251\102\316\257\066\176\320\332\110\114\251\062\005" + "\115\265\114\216\346\251\001\032\147\162\342\274\233\234\061\221" + "\313\004\137\073\347\262\214\035\306\017\122\365\352\246\027\100" + "\177\203\265\261\266\006\300\360\112\076\377\316\023\140\167\007" + "\165\300\315\342\010\263\013\154\135\204\140\311\025\277\023\221" + "\300\260\274\305\173\336\244\356\001\226\343\050\077\331\102\337" + "\320\216\122\311\021\327\212\041\065\157\235\235\047\271\174\257" + "\303\027\103\347\100\276\242\374\366\030\213\165\033\021\373\143" + "\073\071\242\023\256\041\011\031\111\011\237\103\156\066\076\074" + "\062\320\256\116\136\366\315\136\147\201\152\260\266\355\335\202" + "\104\145\165\213\006\037\073\201\251\144\036\277\006\121\237\303" + "\344\236\031\377\271\135\034\200\250\242\366\042\150\005\117\333" + "\047\246\151\357\344\325\023\334\130\135\160\341\222\360\040\200" + "\355\056\267\144\307\017\354\262\376\104\357\146\043\030\146\224" + "\227\030\140\307\146\136\317\105\374\242\227\061\004\340\074\211" + "\152\043\262\126\055\053\342\100\337\267\020\275\155\111\017\010" + "\332\065\146\130\041\376\212\043\062\015\043\314\254\341\352\244" + "\107\022\324\057\131\155\353\325\006\041\321\011\076\245\344\370" + "\056\143\240\260\341\050\157\332\036\210\202\055\037\303\051\325" + "\262\224\015\131\146\154\076\314\317\322\203\025\275\271\046\346" + "\323\023\231\300\272\001\115\217\040\106\073\375\200\036\340\325" + "\166\347\107\177\220\302\023\361\261\302\375\236\207\045\034\255" + "\304\010\141\130\167\104\020\120\153\172\053\270\117\163\016\263" + "\202\075\326\225\022\155\050\372\120\054\172\135\142\333\264\027" + "\177\230\376\322\233\352\302\277\176\236\175\314\137\316\026\053" + "\251\026\073\340\227\376\033\263\021\166\027\130\141\316\175\362" + "\323\344\103\247\241\051\126\301\070\123\125\115\137\040\323\042" + "\317\160\160\220\062\166\045\066\064\260\270\002\277\047\040\330" + "\132\064\065\016\370\240\040\067\225\311\322\275\075\200\006\270" + "\204\353\005\354\236\136\012\003\203\112\226\325\100\264\340\224" + "\323\023\254\050\125\302\235\323\345\376\207\367\265\222\320\127" + "\137\074\165\276\377\240\170\033\057\311\362\241\011\171\015\374" + "\217\254\025\373\005\042\356\260\147\007\241\243\153\001\012\044" + "\142\332\154\212\366\017\227\221\057\205\163\232\345\033\220\175" + "\061\104\256\241\120\223\273\054\013\144\046\324\042\107\252\371" + "\165\334\012\366\052\164\314\102\207\030\145\360\052\311\275\133" + "\020\364\310\137\101\107\133\003\015\065\243\343\353\244\321\070" + "\231\203\166\176\076\022\073\343\166\350\331\057\253\070\127\144" + "\121\157\224\376\061\216\352\213\171\142\206\302\155\214\236\357" + "\175\115\371\056\354\002\245\376\367\275\016\220\007\233\011\046" + "\217\367\134\305\264\354\325\073\025\105\332\126\243\112\276\317" + "\262\035\244\313\316\174\103\113\120\270\262\372\302\003\244\256" + "\314\227\156\261\103\105\165\272\052\000\167\331\372\115\260\220" + "\372\105\117\212\357\177\342\033\064\301\037\161\075\111\106\331" + "\166\373\074\026\241\176\020\070\361\263\034\167\266\367\126\047" + "\127\273\245\242\366\051\151\062\271\312\343\214\307\274\054\264" + "\170\060\045\301\066\311\335\315\173\110\370\065\024\170\210\154" + "\324\206\115\021\177\274\164\013\376\356\071\272\130\062\103\032" + "\057\051\004\266\376\052\323\213\270\137\137\043\257\232\046\117" + "\265\176\034\127\041\135\277\327\317\043\106\215\313\220\303\244" + "\006\322\110\106\233\073\357\347\361\272\240\215\327\231\015\135" + "\034\311\157\100\053\046\076\154\240\031\243\045\123\232\031\212" + "\231\140\135\275\243\161\275\002\055\016\011\316\331\247\363\111" + "\377\033\252\321\131\064\350\072\372\342\067\200\234\354\137\010" + "\120\172\045\207\134\063\157\263\240\305\243\245\156\135\303\344" + "\150\172\077\371\107\133\074\110\314\053\336\234\016\104\377\352" + "\313\250\062\241\150\211\102\265\201\210\110\063\003\252\161\176" + "\161\201\135\035\136\176\071\335\060\103\165\230\152\064\230\155" + "\363\153\017\370\150\162\110\111\051\074\111\247\375\173\030\375" + "\251\300\375\133\040\306\013\263\046\263\107\221\017\125\074\373" + "\156\134\353\220\307\175\204\270\256\103\155\071\174\173\070\122" + "\172\300\325\331\121\171\077\360\072\001\002\176\227\300\257\276" + "\101\046\334\177\201\102\016\126\024\066\237\302\256\357\256\316" + "\221\325\251\323\134\151\004\020\230\225\227\242\253\006\354\371" + "\340\361\357\145\040\166\326\215\244\367\075\163\306\300\040\306" + "\341\131\057\367\267\257\264\217\025\160\333\132\312\210\164\365" + "\215\245\364\367\211\351\152\076\243\257\121\035\123\011\363\147" + "\203\352\013\240\130\067\360\245\234\050\134\346\334\357\204\271" + "\011\273\354\214\223\027\327\170\123\216\200\171\250\355\375\305" + "\350\257\045\125\003\166\246\360\207\142\077\143\050\327\053\251" + "\022\353\124\155\107\363\342\117\056\051\051\131\351\043\215\321" + "\101\277\056\042\070\063\347\112\061\271\031\352\120\075\131\371" + "\251\171\341\200\135\200\306\052\107\337\272\007\264\171\343\317" + "\245\006\303\166\120\066\264\135\112\174\024\212\017\265\060\131" + "\241\067\365\376\104\344\207\131\130\244\225\012\373\042\215\245" + "\377\346\371\372\352\315\254\240\352\170\161\113\270\304\032\070" + "\157\347\026\147\232\235\254\221\116\357\030\256\141\054\314\075" + "\017\270\271\310\136\255\032\124\043\121\167\244\154\327\122\147" + "\013\045\301\206\345\025\237\163\322\200\132\277\202\016\032\226" + "\107\120\007\177\202\375\150\010\134\054\250\376\111\106\012\016" + "\255\011\050\232\233\012\156\122\240\304\153\355\161\033\156\372" + "\064\320\263\202\014\126\325\137\044\345\233\107\276\274\043\160" + "\227\060\022\054\113\010\250\314\033\261\247\372\117\361\075\170" + "\015\230\142\145\035\250\072\133\172\151\263\201\104\245\027\357" + "\031\025\013\326\241\334\357\375\062\372\226\134\372\115\237\303" + "\201\160\261\105\025\173\077\023\157\367\266\221\342\034\177\146" + "\332\241\131\113\372\014\065\320\202\171\067\035\117\053\352\135" + "\217\152\172\173\256\150\212\146\024\257\200\103\275\200\332\043" + "\222\257\070\117\312\276\315\061\337\011\230\155\032\133\230\244" + "\177\267\320\351\044\250\344\324\333\246\154\323\111\330\357\137" + "\376\071\066\334\377\365\132\070\174\237\057\367\005\071\272\061" + "\001\213\322\163\074\165\162\151\046\262\007\311\224\331\115\152" + "\144\127\123\171\232\176\373\375\021\052\157\112\215\126\113\252" + "\344\100\052\322\220\247\077\157\053\140\126\347\150\141\355\342" + "\216\124\013\065\262\322\212\335\171\066\376\061\142\332\307\071" + "\274\127\023\306\027\375\145\002\330\015\314\262\023\331\110\245" + "\135\324\257\376\331\023\220\305\166\260\271\167\007\162\032\163" + "\053\161\170\007\027\155\266\303\210\130\172\045\350\065\207\220" + "\271\063\177\103\114\374\143\170\053\225\334\274\165\006\142\347" + "\316\207\356\312\151\323\025\026\151\354\133\065\072\224\143\110" + "\056\276\170\247\250\276\205\026\166\161\337\102\006\324\015\030" + "\051\034\326\035\061\275\027\355\002\141\277\163\117\166\366\033" + "\272\303\134\101\221\000\362\165\101\204\150\026\022\326\102\063" + "\332\047\261\117\064\322\036\353\012\336\204\154\173\175\056\246" + "\334\161\116\126\040\055\051\044\277\063\047\117\266\336\301\324" + "\330\302\102\327\330\011\313\327\307\232\021\136\272\043\241\346" + "\200\340\172\320\263\023\317\043\044\030\103\243\345\113\106\216" + "\344\315\224\024\166\270\157\037\052\327\315\273\330\123\026\221" + "\146\204\205\315\350\377\126\100\313\017\101\250\243\351\210\303" + "\133\243\324\045\137\032\332\274\005\241\025\350\115\054\216\237" + "\116\365\166\125\017\265\340\126\336\365\121\331\261\166\073\330" + "\173\301\101\313\124\203\066\215\234\341\163\052\161\074\066\274" + "\356\137\260\361\012\021\254\162\003\174\055\172\234\125\047\154" + "\003\173\236\263\063\353\020\317\240\250\310\214\162\163\047\240" + "\337\145\115\236\217\040\220\141\225\275\106\041\103\041\363\267" + "\141\342\376\102\150\326\041\002\303\371\014\052\037\370\175\323" + "\116\017\362\000\311\052\032\173\136\353\336\207\365\373\350\160" + "\222\212\172\253\352\325\212\176\124\224\310\072\205\264\210\264" + "\014\011\274\342\011\230\267\244\035\164\025\004\152\317\177\233" + "\241\151\140\067\045\307\317\005\205\147\160\110\325\277\043\275" + "\226\076\174\035\240\335\036\257\170\353\064\147\054\006\110\163" + "\240\027\150\302\262\344\210\004\324\156\056\126\052\121\020\275" + "\317\213\116\326\160\217\374\056\352\245\134\213\147\302\144\350" + "\173\022\061\270\175\152\070\312\204\345\140\127\115\322\045\240" + "\070\251\046\121\067\002\031\140\317\064\153\203\353\201\245\277" + "\240\146\203\326\025\031\073\254\300\135\350\106\063\312\274\203" + "\043\010\313\070\036\022\373\203\012\060\264\072\216\051\343\124" + "\204\126\135\243\173\122\263\250\127\326\222\355\242\161\022\272" + "\177\256\231\361\325\322\245\063\123\341\312\115\000\052\013\161" + "\246\200\036\260\155\106\267\104\313\252\336\331\316\145\244\216" + "\025\140\257\274\341\367\025\335\072\355\065\233\250\027\130\242" + "\054\115\320\164\015\045\367\006\331\314\353\321\015\145\335\136" + "\257\370\124\143\223\142\014\020\163\223\023\321\352\256\207\017" + "\023\144\031\116\136\201\206\175\035\332\035\374\126\001\134\353" + "\230\212\316\141\204\171\260\077\137\057\216\304\064\075\103\261" + "\365\203\022\277\016\135\074\030\266\320\335\036\024\130\301\157" + "\051\342\037\377\277\164\263\233\004\247\343\023\336\130\011\124" + "\306\232\151\016\140\124\030\316\277\164\077\170\232\001\311\170" + "\137\372\075\161\216\255\027\043\211\116\235\072\037\157\233\145" + "\325\007\053\067\362\173\122\112\253\007\002\174\317\007\376\123" + "\265\247\001\227\253\361\066\245\175\263\077\270\117\354\254\344" + "\023\350\014\261\037\366\122\162\011\346\363\345\351\042\156\177" + "\236\050\011\040\030\263\332\106\251\223\225\271\346\200\152\152" + "\352\375\237\302\124\223\301\042\317\365\212\035\024\177\042\002" + "\352\116\152\316\126\025\203\342\120\305\001\023\033\343\275\275" + "\141\247\050\311\163\252\167\144\271\050\305\312\151\304\376\236" + "\357\176\055\216\303\074\312\224\142\273\151\126\206\147\207\022" + "\307\361\237\044\305\147\057\334\343\006\210\045\044\315\134\314" + "\072\074\140\014\207\115\100\103\146\014\212\045\053\223\236\345" + "\114\123\345\316\002\274\011\367\272\133\334\073\343\003\176\344" + "\344\020\374\102\370\343\006\116\051\056\163\170\044\030\141\336" + "\204\330\266\253\173\147\301\125\206\223\245\051\160\107\373\132" + "\240\275\217\216\132\115\045\052\304\356\162\134\342\043\022\155" + "\010\065\344\131\220\234\146\240\253\315\136\030\233\216\041\061" + "\301\274\227\210\377\264\202\233\120\371\113\364\257\155\105\051" + "\042\243\246\263\010\336\072\203\322\257\322\121\364\070\112\152" + "\120\253\207\040\157\330\211\073\303\116\166\364\237\332\276\120" + "\125\245\253\366\226\210\162\144\011\275\256\140\127\104\226\066" + "\156\312\350\060\377\067\277\063\272\022\311\002\127\025\175\165" + "\123\020\265\305\307\056\051\015\113\366\047\224\113\014\243\356" + "\142\040\161\021\247\056\012\272\300\175\360\073\033\263\052\006" + "\324\173\155\332\073\210\134\230\317\053\307\240\221\112\045\215" + "\362\164\040\306\114\061\067\032\310\334\176\060\127\340\314\307" + "\076\351\124\027\233\266\100\071\021\054\020\352\171\170\336\021" + "\202\304\307\224\307\234\223\313\352\242\025\350\173\061\125\353" + "\050\075\136\212\006\031\110\043\057\245\000\047\132\243\025\251" + "\276\122\172\264\370\036\027\242\030\142\201\136\372\307\157\361" + "\155\370\002\060\242\303\346\177\122\317\270\336\156\076\141\242" + "\332\376\204\103\061\333\163\066\026\030\227\340\277\201\232\371" + "\204\230\173\343\106\105\107\306\006\330\121\352\013\335\005\153" + "\337\033\010\051\232\225\327\344\241\123\143\311\266\250\153\322" + "\015\166\027\216\065\242\274\311\024\244\306\116\270\337\132\165" + "\331\016\331\355\273\042\326\054\173\144\337\040\136\351\031\364" + "\244\012\166\366\240\340\274\114\213\344\370\047\365\067\336\051" + "\341\016\267\342\155\300\200\240\275\342\212\104\322\120\277\312" + "\174\173\222\160\021\131\231\041\373\223\035\176\142\217\264\163" + "\264\361\167\160\326\011\060\051\117\254\165\351\216\007\324\065" + "\212\104\230\371\320\353\042\365\315\252\206\136\010\336\036\100" + "\140\033\156\340\046\150\063\133\265\113\176\014\101\355\037\270" + "\226\113\030\142\122\335\366\035\372\230\345\115\126\072\360\065" + "\271\351\036\120\167\137\252\045\006\067\172\321\175\300\236\030" + "\013\202\275\017\166\001\113\316\153\224\100\013\115\261\247\124" + "\142\302\164\251\157\225\174\012\241\025\345\257\312\000\077\221" + "\174\370\033\303\236\120\363\162\317\222\323\217\051\220\273\335" + "\203\204\234\267\151\123\264\007\154\257\055\367\340\031\045\353" + "\100\140\337\006\135\100\146\030\313\216\243\303\213\034\261\145" + "\365\306\064\166\205\365\314\007\263\341\027\036\123\261\143\373" + "\144\071\130\312\375\242\012\113\320\307\270\007\363\077\301\337" + "\331\177\254\212\172\006\200\264\354\112\173\302\312\054\302\054" + "\376\054\133\124\307\252\171\222\070\013\243\117\336\172\367\127" + "\012\121\336\344\056\213\144\004\130\034\047\337\252\204\145\225" + "\343\341\311\340\166\202\212\206\060\007\107\346\017\124\035\270" + "\116\372\213\052\262\053\236\342\140\316\036\066\324\311\113\337" + "\105\241\246\157\121\372\135\111\133\152\051\106\034\052\040\151" + "\067\217\022\263\320\136\121\331\257\305\061\153\366\136\001\151" + "\156\213\010\211\126\060\331\276\145\024\267\310\117\227\120\244" + "\137\231\025\012\343\021\325\216\131\132\060\274\062\167\171\354" + "\233\152\046\027\255\011\350\063\304\130\007\177\331\072\176\336" + "\377\026\057\024\215\234\276\340\374\167\345\060\234\236\206\324" + "\042\160\043\337\017\376\042\137\252\353\057\104\101\237\102\352" + "\347\100\214\132\027\065\326\242\120\372\070\005\037\314\331\042" + "\372\270\312\004\110\211\353\071\374\242\317\327\027\167\265\320" + "\276\117\042\211\273\025\332\101\221\027\307\151\232\037\252\233" + "\126\126\212\270\245\225\236\312\311\114\004\101\303\015\374\322" + "\277\055\104\147\362\274\303\151\373\252\156\115\127\134\331\000" + "\115\064\136\021\153\324\221\031\251\250\275\011\175\005\125\166" + "\144\320\221\260\303\247\176\041\215\335\245\161\222\210\117\301" + "\142\004\077\124\210\347\041\154\006\014\055\120\131\335\260\157" + "\105\240\260\236\367\021\201\012\336\273\061\107\162\220\105\011" + "\375\330\224\252\044\166\007\331\300\350\072\103\036\335\324\343" + "\105\013\254\107\253\220\374\227\067\036\057\152\344\011\316\041" + "\222\366\264\230\146\152\375\043\014\020\330\235\160\372\100\371" + "\302\221\266\300\055\300\012\264\110\140\173\230\027\153\013\234" + "\375\174\350\175\244\176\042\223\271\073\152\216\354\024\216\133" + "\337\165\346\213\207\175\263\170\214\067\323\055\117\123\262\223" + "\056\153\333\122\036\004\126\372\207\361\043\047\136\304\151\057" + "\352\234\345\216\140\007\206\374\074\341\216\006\133\101\042\074" + "\043\364\122\007\277\115\174\052\354\232\146\302\335\116\074\231" + "\272\210\332\344\367\131\172\146\374\233\342\036\264\241\355\276" + "\106\102\130\177\140\321\273\137\057\157\302\274\360\041\032\020" + "\061\323\026\241\146\107\013\004\340\042\272\071\151\325\242\255" + "\216\152\205\356\014\346\145\232\005\373\157\146\074\236\160\264" + "\261\014\223\341\343\374\047\212\170\167\256\016\005\012\010\273" + "\061\243\143\253\370\232\055\333\304\315\014\016\035\004\153\317" + "\372\022\127\207\131\353\224\136\055\344\323\023\067\101\333\361" + "\077\076\341\112\066\373\032\304\051\071\212\363\004\136\201\002" + "\026\006\165\142\147\114\101\301\005\122\062\105\004\164\111\135" + "\075\317\001\217\231\207\062\231\054\233\057\254\324\207\162\056" + "\137\166\052\301\343\314\253\125\347\147\061\220\067\126\127\113" + "\017\212\220\356\040\155\067\050\266\345\272\032\241\005\203\215" + "\244\217\276\343\063\326\110\147\026\173\051\260\163\235\205\176" + "\226\032\244\157\054\213\010\214\042\146\167\236\300\011\307\033" + "\172\101\006\144\114\044\041\226\162\322\266\125\061\312\274\067" + "\106\374\320\232\220\142\277\001\154\154\061\253\012\132\204\040" + "\321\255\352\211\002\242\071\044\351\165\357\003\135\163\302\312" + "\254\215\130\106\215\143\336\146\175\252\056\206\210\054\364\035" + "\201\301\124\364\301\070\153\023\302\371\001\204\323\124\033\147" + "\101\345\037\311\265\377\026\346\231\257\211\321\067\066\022\060" + "\061\143\024\303\263\157\145\337\374\054\043\057\153\236\342\217" + "\046\036\246\105\203\004\342\127\317\056\267\165\147\072\130\335" + "\057\247\247\174\107\027\341\173\047\031\051\150\227\351\341\014" + "\303\377\171\116\220\177\217\146\254\136\000\055\162\375\014\072" + "\060\035\231\074\026\320\375\346\070\152\347\223\024\016\376\111" + "\120\025\145\345\164\142\165\215\177\046\312\024\172\142\217\062" + "\256\043\354\133\215\324\112\105\150\273\251\323\007\276\006\170" + "\233\354\206\056\352\223\334\215\210\146\112\272\374\112\053\030" + "\263\172\221\317\007\071\031\316\136\056\107\113\206\375\206\374" + "\007\171\053\152\372\032\017\206\253\166\310\203\375\046\217\370" + "\204\123\101\160\245\240\054\033\274\244\373\344\125\230\172\000" + "\120\357\322\350\045\334\004\074\345\145\302\025\223\303\060\226" + "\326\145\066\000\277\343\371\015\173\107\201\170\372\034\201\204" + "\020\377\272\216\304\142\251\304\346\306\112\042\241\122\107\334" + "\207\164\352\022\137\254\235\311\147\101\266\223\376\335\123\131" + "\376\213\351\140\357\047\257\325\212\170\164\145\220\073\111\055" + "\307\051\344\304\322\142\140\013\043\316\045\233\003\361\332\063" + "\334\106\302\004\353\310\272\264\141\164\076\252\047\056\347\030" + "\004\265\000\073\064\216\317\001\321\211\171\300\055\271\063\327" + "\076\134\136\224\251\111\166\063\010\042\136\325\211\173\040\314" + "\271\047\315\240\011\136\162\375\276\142\062\343\012\337\345\004" + "\153\262\070\121\252\011\122\040\165\077\271\021\133\245\054\307" + "\351\144\374\324\051\261\221\363\301\044\143\004\037\314\324\144" + "\044\325\350\205\104\206\070\356\254\376\036\354\110\052\177\211" + "\156\305\240\033\237\047\010\357\267\160\031\220\266\234\326\125" + "\066\337\105\251\207\044\017\275\365\144\027\256\120\010\214\046" + "\050\336\001\166\261\271\161\051\372\032\313\247\167\002\250\107" + "\221\146\162\314\052\177\220\315\375\316\106\277\372\170\342\360" + "\106\170\360\145\045\124\113\053\334\305\220\217\114\233\155\121" + "\064\062\201\007\105\021\201\245\005\264\114\061\126\140\221\137" + "\007\333\350\125\051\203\121\114\200\360\077\066\053\226\161\143" + "\034\162\344\203\341\375\204\315\145\110\261\037\117\045\041\010" + "\105\160\216\241\262\314\345\030\120\356\052\007\233\257\347\331" + "\200\074\306\151\017\367\374\173\207\130\261\020\004\344\011\016" + "\200\032\110\206\071\114\204\101\367\207\346\352\331\171\362\222" + "\250\330\070\031\301\350\115\337\046\114\056\273\107\072\257\170" + "\377\010\043\176\065\331\013\165\047\363\212\037\205\275\057\244" + "\100\317\255\246\053\032\157\141\251\375\277\156\222\103\166\243" + "\011\223\236\013\341\024\167\312\354\231\151\302\160\314\005\136" + "\132\034\256\066\060\145\001\130\166\042\177\264\013\103\346\361" + "\260\135\212\140\002\233\136\102\005\166\265\252\367\237\355\343" + "\064\073\036\072\076\211\314\062\000\322\212\065\001\174\314\361" + "\067\271\026\127\333\316\146\230\351\177\012\315\321\126\263\003" + "\247\150\262\340\363\123\026\320\151\161\151\224\234\236\355\177" + "\347\371\141\164\074\056\072\034\264\322\141\326\325\244\270\235" + "\377\233\262\271\137\340\123\161\133\001\150\307\275\043\200\204" + "\366\033\331\022\006\025\214\055\336\272\106\015\350\262\104\303" + "\132\315\215\317\311\164\261\246\346\232\140\232\344\076\332\203" + "\266\344\067\323\123\050\307\157\366\007\357\237\041\037\137\026" + "\127\345\316\233\220\375\137\161\164\272\263\243\100\022\275\026" + "\261\351\224\302\126\363\021\271\336\311\143\051\140\045\015\247" + "\013\114\137\347\246\142\101\340\227\225\016\165\152\364\313\160" + "\307\064\042\044\015\133\127\327\215\314\213\053\155\302\132\263" + "\063\352\234\306\361\243\162\161\120\015\267\131\262\005\231\344" + "\374\104\234\021\065\316\367\036\073\272\000\220\022\374\352\204" + "\327\311\134\271\014\343\352\001\077\276\250\071\272\214\026\003" + "\322\123\147\247\053\221\205\230\205\257\036\154\271\135\312\033" + "\360\203\356\315\065\220\145\344\130\075\356\310\351\101\260\024" + "\223\212\123\005\275\220\137\073\337\143\070\025\002\341\143\064" + "\033\225\151\335\207\142\124\254\115\334\203\001\167\164\171\124" + "\150\320\076\203\242\046\203\230\137\335\006\214\303\052\372\055" + "\042\076\243\241\024\326\373\217\157\262\010\353\300\164\271\233" + "\025\154\112\234\010\323\174\277\272\374\111\365\257\313\202\026" + "\065\130\126\041\215\310\134\276\337\161\364\236\115\166\027\244" + "\205\321\011\076\133\373\224\173\326\344\100\253\141\273\372\043" + "\140\272\076\321\235\307\046\322\212\233\012\233\070\054\377\017" + "\370\137\233\244\317\234\323\050\143\203\127\351\131\011\262\067" + "\313\031\063\135\071\140\213\031\136\064\115\075\321\175\253\151" + "\343\325\125\233\256\231\104\202\154\320\143\236\343\070\060\276" + "\261\063\304\164\103\207\302\217\071\147\163\015\206\132\130\201" + "\275\136\156\025\251\214\366\120\273\363\206\031\340\013\360\333" + "\336\010\065\076\050\362\164\277\315\211\022\360\102\026\154\307" + "\132\125\075\173\001\224\213\375\302\237\300\156\204\337\215\265" + "\252\043\256\216\073\374\164\310\371\074\072\337\346\017\366\235" + "\306\015\101\057\165\356\160\061\143\202\246\315\137\347\106\377" + "\071\033\362\105\102\010\032\031\002\107\031\320\046\020\213\377" + "\245\324\340\160\123\264\301\375\177\104\323\001\315\223\330\013" + "\304\301\207\321\176\017\005\355\306\271\170\317\026\343\157\117" + "\051\073\123\161\264\017\150\372\017\366\214\232\065\055\225\214" + "\121\210\024\356\206\355\243\020\170\273\077\330\010\370\221\345" + "\325\317\372\053\213\243\105\370\106\257\022\167\233\002\061\316" + "\015\177\105\113\100\331\110\120\262\245\372\102\271\056\363\037" + "\126\322\007\202\216\054\141\272\036\020\221\117\153\231\142\117" + "\377\006\010\250\302\227\076\214\317\124\120\372\150\331\233\025" + "\350\100\212\204\312\140\246\370\046\040\143\343\102\015\175\343" + "\270\135\140\253\142\024\166\215\025\353\312\114\100\206\376\334" + "\070\055\162\104\376\362\204\070\204\243\147\303\305\140\327\261" + "\323\137\232\350\007\275\054\221\250\012\033\145\367\220\171\173" + "\155\015\316\202\310\352\173\035\277\304\243\275\063\017\363\161" + "\055\337\231\024\056\171\267\173\266\013\205\234\260\356\203\321" + "\324\203\376\356\137\311\071\100\311\101\257\142\262\324\103\343" + "\115\107\223\053\145\111\141\364\377\072\227\077\147\362\007\265" + "\141\020\371\347\242\361\144\332\150\055\347\124\242\175\035\337" + "\324\145\361\262\114\101\112\271\167\356\245\361\373\242\077\123" + "\101\243\137\271\137\070\347\205\167\365\214\367\020\236\045\313" + "\305\265\306\032\157\272\273\210\134\315\144\225\372\313\071\310" + "\032\024\365\042\314\172\103\045\330\005\134\333\242\305\047\371" + "\226\120\001\035\360\130\054\145\374\341\053\050\226\214\146\204" + "\040\104\300\231\245\153\042\215\054\154\330\070\057\124\377\266" + "\052\005\255\056\331\003\156\114\121\177\266\220\034\031\155\342" + "\147\254\321\264\112\004\250\043\234\073\256\300\147\264\023\055" + "\020\053\240\200\361\000\261\362\300\260\110\203\116\105\307\237" + "\063\366\221\117\322\246\015\066\324\212\360\365\263\103\034\355" + "\031\047\211\123\045\123\015\275\050\236\301\135\030\106\152\307" + "\057\315\007\121\004\205\107\076\263\101\173\023\200\026\102\142" + "\041\232\352\332\333\075\371\024\120\362\336\236\172\364\004\067" + "\042\014\143\032\171\007\050\246\342\352\206\073\144\023\254\307" + "\057\216\221\164\226\317\245\372\141\107\002\334\344\330\250\300" + "\310\166\111\241\113\317\351\375\227\144\145\215\046\344\373\312" + "\141\101\177\030\240\147\312\057\060\372\300\035\175\351\377\344" + "\127\251\242\170\244\327\051\335\255\264\362\312\374\315\143\231" + "\264\257\041\312\365\054\370\365\275\016\015\345\170\306\141\277" + "\135\373\343\371\226\032\252\002\062\340\367\165\007\153\261\314" + "\307\230\152\203\202\206\020\257\230\136\014\364\357\254\332\175" + "\266\205\062\221\220\040\103\320\011\341\101\365\032\133\224\260" + "\233\350\062\211\017\321\304\051\364\106\342\371\207\157\174\262" + "\053\062\271\175\323\135\175\340\134\017\367\212\073\356\100\257" + "\307\057\341\203\021\314\123\107\322\301\353\040\222\143\265\120" + "\367\337\377\345\115\345\364\117\301\034\042\034\020\053\151\360" + "\260\217\305\222\240\266\256\046\214\165\114\064\363\350\034\242" + "\167\154\233\352\211\141\035\112\276\336\001\217\126\115\212\057" + "\273\165\142\135\262\232\237\054\330\261\225\231\154\275\075\002" + "\044\323\243\017\353\015\176\357\100\244\334\055\261\171\223\017" + "\277\100\241\010\051\002\365\005\251\334\235\372\136\222\140\317" + "\211\125\240\215\165\205\024\253\367\312\222\364\210\330\371\171" + "\055\103\325\173\227\235\016\273\053\103\013\124\302\253\077\056" + "\241\134\356\222\356\046\036\300\201\346\367\001\047\316\170\354" + "\012\312\053\112\364\017\245\066\315\250\337\120\050\301\325\175" + "\005\214\215\050\232\026\007\271\270\016\364\357\072\334\341\145" + "\200\026\040\245\225\116\156\365\362\320\046\020\040\001\101\166" + "\132\222\312\371\356\321\026\173\051\024\312\265\312\250\216\356" + "\266\075\150\237\372\114\306\166\372\072\206\004\241\030\033\236" + "\011\034\317\316\127\317\006\245\213\073\262\042\211\130\255\144" + "\076\146\333\271\220\121\174\241\101\223\255\251\311\036\331\370" + "\023\333\256\376\374\134\145\015\023\055\203\366\353\134\034\336" + "\062\223\332\354\034\314\337\041\311\141\320\305\002\030\024\171" + "\365\241\375\056\047\175\033\204\374\135\367\364\120\034\017\322" + "\040\004\073\376\340\217\116\154\052\214\054\020\101\024\347\114" + "\220\241\164\123\107\140\050\120\270\025\024\060\240\135\050\102" + "\211\077\307\102\061\357\176\366\033\300\023\356\106\047\135\373" + "\122\316\230\234\315\203\300\030\121\127\375\367\344\212\272\275" + "\362\245\364\147\174\044\002\054\321\002\273\262\202\145\023\271" + "\101\077\233\117\235\120\327\232\270\023\007\217\354\015\026\240" + "\053\136\166\106\340\241\133\343\040\224\315\025\204\034\332\112" + "\263\210\152\146\241\161\157\004\001\267\154\236\236\354\314\036" + "\236\070\243\226\004\322\344\344\143\111\027\167\100\011\174\157" + "\063\150\173\332\002\254\212\015\267\221\236\114\340\301\335\211" + "\160\337\301\336\026\256\214\105\144\213\120\220\076\207\377\153" + "\140\033\271\011\355\226\042\071\257\072\170\361\065\244\155\041" + "\277\035\016\255\123\012\241\155\215\165\346\066\347\075\350\104" + "\047\217\002\150\056\007\271\043\313\065\166\074\327\015\027\017" + "\333\317\114\060\347\127\110\223\023\336\115\327\166\057\324\040" + "\362\052\306\300\071\164\037\150\341\227\021\204\215\261\377\024" + "\074\256\104\227\337\011\261\014\241\110\115\147\227\014\242\013" + "\152\037\234\242\337\131\366\223\065\243\155\032\262\071\113\023" + "\100\310\251\254\000\055\306\240\073\022\372\002\130\151\101\054" + "\310\155\356\173\356\040\176\221\145\033\020\311\116\022\323\376" + "\306\153\126\022\153\013\075\072\055\371\033\114\177\312\055\061" + "\221\344\307\051\236\376\370\311\245\327\345\274\203\315\120\113" + "\376\161\273\251\016\207\324\150\361\055\210\235\343\177\321\021" + "\321\103\170\044\253\140\053\352\076\002\031\272\271\336\024\060" + "\357\376\010\121\077\130\120\107\356\136\357\121\060\065\276\167" + "\342\237\262\227\312\054\077\231\070\376\142\245\265\120\211\072" + "\204\273\310\346\354\104\137\062\371\024\125\223\135\014\173\314" + "\105\357\331\213\047\247\276\254\136\065\071\232\201\357\174\062" + "\054\114\330\045\251\341\265\130\262\103\227\270\062\122\301\365" + "\353\317\125\101\041\372\307\242\321\142\341\207\157\357\347\347" + "\043\300\372\250\266\056\156\232\221\133\242\220\315\370\157\247" + "\040\310\231\264\136\157\255\327\027\342\161\160\302\012\031\226" + "\003\276\363\201\033\240\027\117\160\062\160\077\232\340\065\334" + "\111\373\240\275\017\010\155\245\305\022\007\013\074\347\377\245" + "\355\224\356\331\123\070\060\362\105\141\267\200\045\035\071\362" + "\354\153\012\164\162\332\166\143\310\042\041\106\203\136\110\114" + "\025\220\013\255\066\064\221\371\146\341\333\030\146\370\202\063" + "\361\270\111\133\151\220\265\135\014\206\370\133\342\225\001\014" + "\241\365\277\043\212\206\004\356\055\241\157\150\144\231\360\223" + "\237\207\255\354\331\371\110\336\244\264\016\172\256\370\234\036" + "\260\325\210\110\101\125\351\053\353\153\362\377\133\103\246\031" + "\273\324\225\230\357\314\150\203\147\121\203\346\245\215\226\257" + "\040\221\027\074\240\325\077\252\170\326\045\333\234\254\162\265" + "\123\036\165\046\350\176\274\165\011\270\311\311\255\136\052\212" + "\147\271\057\016\271\144\236\152\166\252\266\050\221\026\272\013" + "\044\156\335\145\156\133\225\122\110\027\117\237\002\016\343\100" + "\055\106\137\131\114\346\357\070\337\312\131\223\223\137\326\027" + "\356\353\142\063\213\211\273\313\334\220\005\361\364\031\107\006" + "\177\220\110\122\224\323\270\322\377\041\041\161\244\055\205\200" + "\210\175\216\116\030\011\271\033\074\066\327\232\144\116\067\051" + "\322\310\231\145\103\010\047\021\060\352\375\310\315\220\164\003" + "\241\120\265\132\121\022\115\306\206\333\103\100\203\000\226\061" + "\357\375\153\267\176\105\252\133\163\221\221\206\154\154\306\076" + "\361\335\031\005\270\336\324\153\255\216\174\035\056\112\173\103" + "\205\060\261\205\111\365\345\024\140\012\210\112\227\273\262\165" + "\377\356\150\247\260\271\305\234\164\234\277\354\142\177\036\217" + "\162\350\005\235\217\274\324\121\245\360\324\004\133\010\360\062" + "\264\215\332\145\106\237\001\273\074\300\247\236\100\306\056\263" + "\257\063\121\076\360\045\220\226\025\144\232\161\155\213\244\041" + "\031\176\206\140\036\210\033\132\111\303\371\211\211\047\075\071" + "\133\216\167\114\264\007\342\312\154\175\074\331\010\340\373\041" + "\137\201\201\175\011\235\327\123\141\320\335\353\370\032\044\123" + "\251\233\237\135\243\202\050\017\377\144\351\007\104\344\051\244" + "\145\252\041\157\110\371\302\251\312\240\224\302\272\270\026\143" + "\124\266\301\367\070\351\007\067\115\360\077\222\324\150\066\072" + "\023\130\252\134\121\155\005\034\015\231\336\310\122\365\053\246" + "\253\355\236\343\327\245\033\044\226\132\267\152\303\356\245\327" + "\106\120\063\230\275\070\264\313\322\223\223\044\210\277\313\064" + "\254\151\027\203\016\063\250\244\216\140\017\121\116\265\051\224" + "\005\134\055\303\225\341\216\150\164\041" +#define chk1_z 22 +#define chk1 ((&data[9295])) + "\127\061\215\301\111\001\157\255\112\074\364\200\241\304\006\054" + "\307\017\037\251\120\001\166\253\121\326\200\021\320\174\272\165" +#define pswd_z 256 +#define pswd ((&data[9328])) + "\134\150\072\205\375\100\371\103\307\271\173\232\075\112\304\265" + "\134\066\363\160\224\311\107\006\023\245\271\317\115\357\312\242" + "\265\144\036\202\327\027\306\237\321\102\071\016\214\375\304\351" + "\064\267\131\310\201\240\316\224\106\210\143\224\167\056\066\055" + "\222\124\257\151\154\166\010\075\271\102\114\105\100\020\056\164" + "\310\207\074\111\050\013\335\156\224\101\003\013\157\071\070\002" + "\216\350\153\373\137\164\070\030\267\205\135\367\225\214\153\136" + "\024\250\247\074\264\205\253\110\306\256\123\066\350\214\070\167" + "\164\244\162\323\031\253\354\320\060\112\307\306\326\063\044\353" + "\333\313\047\220\120\323\330\027\202\054\115\153\270\206\342\055" + "\052\124\001\103\377\355\024\060\067\333\366\016\017\032\371\352" + "\346\041\172\067\364\123\116\167\177\234\342\070\042\304\145\115" + "\031\147\220\031\125\244\111\215\200\100\233\217\132\224\172\101" + "\266\364\170\252\110\307\042\307\144\004\377\206\311\145\324\342" + "\314\144\374\041\011\105\256\212\205\112\031\340\337\223\042\225" + "\210\233\100\320\142\142\230\307\147\227\116\060\375\042\023\311" + "\206\017\353\220\125\232\342\052\003\167\013\221\337\200\263\154" + "\176\224\304\260\041\205\371\063\125\166\355\313\201\007\120\335" + "\160\212\143\155\312\105\227" +#define chk2_z 19 +#define chk2 ((&data[9620])) + "\137\235\044\301\033\363\022\231\324\126\144\371\247\160\117\301" + "\276\105\027\336\210\344\022\011\242" +#define opts_z 1 +#define opts ((&data[9642])) + "\354" +#define shll_z 10 +#define shll ((&data[9643])) + "\026\377\006\331\065\033\265\065\054\040" +#define inlo_z 3 +#define inlo ((&data[9653])) + "\142\260\112" +#define xecc_z 15 +#define xecc ((&data[9657])) + "\360\177\155\100\273\333\214\005\140\237\121\161\006\267\337\167" + "\305" +#define lsto_z 1 +#define lsto ((&data[9673])) + "\353" +#define tst1_z 22 +#define tst1 ((&data[9678])) + "\314\146\350\211\070\236\047\267\006\211\242\131\356\055\216\352" + "\312\231\103\264\307\366\222\057\220\076"/* End of data[] */; +>>>>>>> main #define hide_z 4096 #define SETUID 0 /* Define as 1 to call setuid(0) at start of script */ #define DEBUGEXEC 0 /* Define as 1 to debug execvp calls */ diff --git a/devdoc.md b/devdoc.md new file mode 100644 index 0000000..3a33c1e --- /dev/null +++ b/devdoc.md @@ -0,0 +1,86 @@ +# To Do List Helium installer + +## Last Jobs +- Readme updated +- Desktop Entry updater --> Complete +- Launcher has an update option now +- Launcher installer refined +- Clean Up +--- +- Script updater + - Remote script check simplified +- Remover function extended + - Alias remover added + - Script remover added +- helium_auto_update.sh renamed to helium_launcher_update.sh +- Desktop notifications added +- Launcher functions extended + - Update script option added + - Show log option added +- Variables universalized +- Wiki created +--- +- sed command fixed in remover +- ARCH variable added +- APP_SOURCE variable changed +- BRANCH variable added +- FILE_EXTENSION variable added +- Readme updated +- Documentation/Wiki updated +--- + + +## Add/To Do +- Architecture detection +- Set alias --> Partially + - active shell recognition missing +- Roll back from backup +- Config check +- Simplification (more for loops) & Clean Up +- Update Readme +- Make functional launcher optional +- Backup configuration + +## Repo +- Merge workflow + - Convert URLs from __main__ to __stable__ + - Remove to do list + - Remove comment from script + +## Fix + +## Notes + +- Auto Update +```sh +while true ; do + read -p " Enable automatic update check on login? (y/N) : " AUTO_UPDATE + + if [[ "$AUTO_UPDATE" == "" || "$AUTO_UPDATE" == "n" || "$AUTO_UPDATE" == "N" ]] ; then + break + + elif [[ "$AUTO_UPDATE" == "y" || "$AUTO_UPDATE" == "Y" ]] ; then + if ! [ -f "$PROFILE" ] ; then + echo -e "\n ${RED}Following file is missing :\n\n${YEL}$PROFILE\n\n ${CYN}Please investigate and re-run script !${CRS}" + exit 1 + + else + wget -P $TMP https://lab.c95.org/fr4nz/shell-scripts/src/branch/main/helium-browser/helium_auto_update.sh -q --show-progress + chmod +x $TMP/helium_auto_update.sh + mv $TMP/helium_auto_update.sh $INSTALL_PATH/helium_auto_update.sh + echo >> $PROFILE + echo "### HELIUM AUTO UPDATE ###" >> $PROFILE + echo "${INSTALL_PATH}/helium_auto_update.sh" >> $PROFILE + echo >> $PROFILE + echo -e "\n ${GRN}Automatic updates enabled ! ${CRS}\n" + break + + fi + + else + echo -e " ${YEL}Invalid response !${CRS}\n" + + fi + +done +``` diff --git a/helium_helper.sh b/helium_helper.sh index 0c745a4..999aa8d 100755 --- a/helium_helper.sh +++ b/helium_helper.sh @@ -20,12 +20,13 @@ APP_SOURCE="GitHub" SCRIPT_NAME="$APP_NAME Helper Script" SCRIPT_FILE_NAME="helium_helper.sh" AUTO_SCRIPT_FILE_NAME="helium_launcher_update.sh" -SCRIPT_VERSION="0.5.7" +SCRIPT_VERSION="0.5.8" ALIAS="update-helium" ## LOCATIONS TMP=/tmp/$APP_NAME INSTALL_PATH=$HOME/.apps/$APP_NAME +APP_CONFIG_PATH=$HOME/.config/net.imput.helium ASSET_PATH=$INSTALL_PATH/assets BACKUP_PATH=$ASSET_PATH/backup LOG_PATH=$ASSET_PATH/logs @@ -43,11 +44,10 @@ APP_SOURCE_URL=https://api.github.com/repos/imputnet/helium-linux/releases/lates ### DEPENDENCIES cmd_query() { - local PACKAGE="$1" + #local PACKAGE=$1 - if ! command -v "$PACKAGE" >/dev/null 2>&1 ; then + if ! command -v $PACKAGE > /dev/null 2>&1 ; then echo " - $PACKAGE" >> $TMP/missingDeps - fi } @@ -64,10 +64,27 @@ dependency_check () { MISSING=$(cat $TMP/missingDeps) echo -e "\n ${RED}Following dependencies are missing :\n\n${CRS}$MISSING\n\n ${CYN}Please install and re-run script !${CRS}" exit_clean - fi } +### SHELL CHECK +shell_query() { + #local SHELL_OPTION=$1 + + if [ "$(echo $SHELL | grep "$SHELL_OPTION")" ] ; then + ACTIVE_SHELL=$SHELL_OPTION + fi + +} + +shell_check() { + SHELLS=("bash" "fish" "ksh" "zsh") + + for SHELL_OPTION in "${SHELLS[@]}" ; do + shell_query "$SHELL_OPTION" + done +} + ### CHECK LOCAL INSTALL local_check() { if ! [ -d "$INSTALL_PATH" ] ; then @@ -79,7 +96,6 @@ local_check() { echo -e "\n ${RED}$APP_NAME_LONG directory found but no executable named ${CYN}$APP_NAME.$FILE_EXTENSION${RED}!${CRS}" install_helium exit - fi } @@ -89,7 +105,6 @@ install_helium() { echo -e "\n ${YEL}$APP_NAME_LONG AppImage found! Trying to update...${CRS}" update_helium exit - fi while true ; do @@ -113,7 +128,6 @@ install_helium() { else echo -e " ${YEL}Invalid response!${CRS}\n" - fi done @@ -161,7 +175,6 @@ add_launcher() { else echo -e " ${YEL}Invalid response!${CRS}\n" - fi done @@ -170,38 +183,50 @@ add_launcher() { echo -e "\n ${RED}$APP_NAME_LONG AppImage not found! Can't add launcher...${CRS}" install_helium exit - fi } ### ALIAS -add_alias() { ### WORKS BUT NEEDS WORK +add_alias() { if ! [ -f "$SCRIPT_PATH/$SCRIPT_FILE_NAME" ] ; then mkdir -p $SCRIPT_PATH wget -P $TMP $REMOTE_SCRIPT_URL -q chmod +x $TMP/$SCRIPT_FILE_NAME mv $TMP/$SCRIPT_FILE_NAME $SCRIPT_PATH fi - - if [ -f "$HOME/.zshrc" ] ; then + + if [ "$ACTIVE_SHELL" == "zsh" ] ; then if [ "$(cat $HOME/.zshrc | grep "$ALIAS")" ] ; then - echo -e "\n ${LCY}$ALIAS ${GRN}already present in${CRS} $HOME/.zshrc" + echo -e "\n ${LCY}$ALIAS ${GRN}already present in${CRS} $HOME/.zshrc\n" exit fi echo "alias $ALIAS=\"$SCRIPT_PATH/$SCRIPT_FILE_NAME\"" >> $HOME/.zshrc - echo -e "\n ${LCY}$ALIAS ${GRN}added to${CRS} $HOME/.zshrc" + echo -e "\n ${LCY}$ALIAS ${GRN}added to${CRS} $HOME/.zshrc\n" - elif [ -f "$HOME/.bashrc" ] ; then + elif [ "$ACTIVE_SHELL" == "bash" ] ; then if [ "$(cat $HOME/.bashrc | grep "$ALIAS")" ] ; then - echo -e "\n ${LCY}$ALIAS ${GRN}already present in${CRS} $HOME/.bashrc" + echo -e "\n ${LCY}$ALIAS ${GRN}already present in${CRS} $HOME/.bashrc\n" exit fi echo "alias $ALIAS=\"$SCRIPT_PATH/$SCRIPT_FILE_NAME\"" >> $HOME/.zshrc - echo -e "\n ${LCY}$ALIAS ${GRN}added to${CRS} $HOME/.bashrc" + echo -e "\n ${LCY}$ALIAS ${GRN}added to${CRS} $HOME/.bashrc\n" + + elif [ "$ACTIVE_SHELL" == "fish" ] ; then + if [ "$(cat $HOME/.config/fish/config.fish | grep "source $HOME/.config/fish/$ALIAS.fish")" ] ; then + echo -e "\n ${LCY}$ALIAS ${GRN}already present in${CRS} $HOME/.config/fish/config.fish\n" + exit + fi + echo "### Helium Helper Alias FISH ###" > $HOME/.config/fish/$ALIAS.fish + echo >> $HOME/.config/fish/$ALIAS.fish + echo "function $ALIAS" >> $HOME/.config/fish/$ALIAS.fish + echo " $SCRIPT_PATH/$SCRIPT_FILE_NAME \$argv" >> $HOME/.config/fish/$ALIAS.fish + echo "end" >> $HOME/.config/fish/$ALIAS.fish + echo "source $HOME/.config/fish/$ALIAS.fish" >> $HOME/.config/fish/config.fish + echo -e "\n ${LCY}$ALIAS ${GRN}added to${CRS} $HOME/.config/fish/config.fish\n" else - echo -e "\n ${RED}No .shellrc file found!${CRS}" - + echo -e "\n ${LCY}$ACTIVE_SHELL ${RED}not yet supported!${CRS}\n" + echo -e " ${LCY}Working implementation are available for bash, zsh & fish!${CRS}\n" fi } @@ -218,7 +243,6 @@ update_helium() { elif [ -z "$LOCAL_VERSION" ] ; then echo -e "\n ${RED}Empty version tag from ${CYN}local AppImage${RED}! Can't compare, exiting...${CRS}" exit - fi ### COMPARE LOCAL & REMOTE VERSION @@ -246,22 +270,27 @@ update_helium() { if [ -f "$BACKUP_PATH/$APP_NAME.old" ] ; then rm $BACKUP_PATH/$APP_NAME.old fi + if [ -d "$APP_CONFIG_PATH" ] ; then + if [ -f "$BACKUP_PATH/$APP_NAME.config.tar" ] ; then + rm $BACKUP_PATH/$APP_NAME.config.tar + fi + tar -cf $BACKUP_PATH/$APP_NAME.config.tar $APP_CONFIG_PATH > /dev/null 2>&1 + fi mv $INSTALL_PATH/$APP_NAME.$FILE_EXTENSION $BACKUP_PATH/$APP_NAME.old mv $TMP/$APP_SOURCE_FILENAME $INSTALL_PATH/$APP_NAME.$FILE_EXTENSION cp $LAUNCHER_PATH/$APP_NAME.desktop $BACKUP_PATH/$APP_NAME.desktop.old + chmod -x $BACKUP_PATH/*.sh.old $BACKUP_PATH/$APP_NAME.old sed -i "s|X-AppImage-Version=.*|X-AppImage-Version=$($INSTALL_PATH/$APP_NAME.$FILE_EXTENSION --version | awk '{print $2}')|" $LAUNCHER_PATH/$APP_NAME.desktop echo -e "\n ${GRN}$APP_NAME_LONG is up-to-date !${CRS}\n" break elif [[ "$CONFIRM" == "n" || "$CONFIRM" == "N" ]] ; then - echo -e " ${RED}Cancelled!${CRS}" + echo -e " ${RED}Cancelled!${CRS}\n" exit else echo -e " ${YEL}Invalid response!${CRS}\n" - fi - done else @@ -270,7 +299,6 @@ update_helium() { echo -e " ${CYN}$APP_SOURCE Version :\t${CRS}${APP_SOURCE_VERSION}\n" echo -e " ${RED}Update failed... Exiting...${CRS}\n" exit - fi } @@ -283,7 +311,6 @@ auto_update() { else echo -e "\n ${RED}Not implemented yet...${CRS}" - fi } @@ -295,28 +322,39 @@ remove_helium() { read -p " Remove $APP_NAME_LONG incl. backups and launcher? (Y/n) : " CONFIRM_REMOVE if [[ "$CONFIRM_REMOVE" == "" || "$CONFIRM_REMOVE" == "y" || "$CONFIRM_REMOVE" == "Y" ]] ; then - rm -rf $INSTALL_PATH - if [ -f "$LAUNCHER_PATH/$APP_NAME.desktop" ] ; then - rm $LAUNCHER_PATH/$APP_NAME.desktop + REMOVABLE=("$INSTALL_PATH" "$LAUNCHER_PATH/$APP_NAME.desktop" "$SCRIPT_PATH/$SCRIPT_FILE_NAME" "$SCRIPT_PATH/$AUTO_SCRIPT_FILE_NAME") + echo + + for RM_PATH in "${REMOVABLE[@]}" ; do + if [[ -f "$RM_PATH" || -d "$RM_PATH" ]] ; then + echo -e " ${YEL}Removing ${CYN}$RM_PATH ${YEL}...${CRS}" + rm -rf "$RM_PATH" + fi + done + + shell_check + + if [ "$ACTIVE_SHELL" == "zsh" ] ; then + if [ "$(cat $HOME/.zshrc | grep "$ALIAS")" ] ; then + sed -i "/$ALIAS/d" $HOME/.zshrc + echo -e "\n ${CYN}$ACTIVE_SHELL ${YEL}alias removed ... ${CRS}" + fi + + elif [ "$ACTIVE_SHELL" == "bash" ] ; then + if [ "$(cat $HOME/.bashrc | grep "$ALIAS")" ] ; then + sed -i "/$ALIAS/d" $HOME/.bashrc + echo -e "\n ${CYN}$ACTIVE_SHELL ${YEL}alias removed ... ${CRS}" + fi + + elif [ "$ACTIVE_SHELL" == "fish" ] ; then + if [ "$(cat $HOME/.config/fish/config.fish | grep "source $HOME/.config/fish/$ALIAS.fish")" ] ; then + sed -i "/$ALIAS/d" $HOME/.config/fish/config.fish + rm $HOME/.config/fish/$ALIAS.fish + echo -e "\n ${CYN}$ACTIVE_SHELL ${YEL}alias removed ... ${CRS}" + fi fi - if [ -f "$SCRIPT_PATH/$SCRIPT_FILE_NAME" ] ; then - rm $SCRIPT_PATH/$SCRIPT_FILE_NAME - fi - - if [ -f "$SCRIPT_PATH/$AUTO_SCRIPT_FILE_NAME" ] ; then - rm $SCRIPT_PATH/$AUTO_SCRIPT_FILE_NAME - fi - - if [ -f "$HOME/.zshrc" ] ; then - sed -i "/$ALIAS/d" $HOME/.zshrc - - elif [ -f "$HOME/.bashrc" ] ; then - sed -i "/$ALIAS/d" $HOME/.bashrc - - fi - - echo -e "\n ${RED}$APP_NAME_LONG removed!${CRS}" + echo -e "\n ${RED}$APP_NAME_LONG removed!${CRS}\n" exit elif [[ "$CONFIRM_REMOVE" == "n" || "$CONFIRM_REMOVE" == "N" ]] ; then @@ -325,15 +363,12 @@ remove_helium() { else echo -e " ${YEL}Invalid response!${CRS}\n" - fi - done else echo -e "\n ${RED}Can't remove $APP_NAME_LONG! ${YEL}$INSTALL_PATH ${RED}directory not found...${CRS}" exit - fi } @@ -366,16 +401,13 @@ update_script() { exit_clean elif [[ "$CONFIRM_SCRIPT_INSTALL" == "n" || "$CONFIRM_SCRIPT_INSTALL" == "N" ]] ; then - echo -e " ${RED}Cancelled!${CRS}" + echo -e " ${RED}Cancelled!${CRS}\n" exit else echo -e " ${YEL}Invalid response!${CRS}\n" - fi - done - fi REMOTE_SCRIPT_VERSION=$(curl -s $REMOTE_SCRIPT_URL | grep -m 1 "SCRIPT_VERSION" | tr -d 'SCRIPT_VERSION="') @@ -388,7 +420,6 @@ update_script() { elif [ -z "$REMOTE_SCRIPT_VERSION" ] ; then echo -e "\n ${RED}Empty version tag from ${CYN}remote script${RED}! Can't compare, exiting...${CRS}" exit - fi ### COMPARE LOCAL & REMOTE VERSION @@ -425,9 +456,7 @@ update_script() { else echo -e " ${YEL}Invalid response!${CRS}\n" - fi - done else @@ -435,7 +464,6 @@ update_script() { echo -e " ${CYN}Local Version :\t${CRS}${SCRIPT_VERSION}" echo -e " ${CYN}Remote Version :\t${CRS}${REMOTE_SCRIPT_VERSION}\n" echo -e " ${RED}Updating script failed...${CRS}\n" - fi } @@ -446,13 +474,12 @@ compare_version() { ### CHECK FOR EMPTY VERSION TAGS if [ -z "$APP_SOURCE_VERSION" ] ; then - echo -e "\n ${RED}Empty version tag from ${CYN}$APP_SOURCE${RED}! Can't compare, exiting...${CRS}" + echo -e "\n ${RED}Empty version tag from ${CYN}$APP_SOURCE${RED}! Can't compare, exiting...${CRS}\n" exit elif [ -z "$LOCAL_VERSION" ] ; then - echo -e "\n ${RED}Empty version tag from ${CYN}local AppImage${RED}! Can't compare, exiting...${CRS}" + echo -e "\n ${RED}Empty version tag from ${CYN}local AppImage${RED}! Can't compare, exiting...${CRS}\n" exit - fi ### COMPARE LOCAL & REMOTE VERSION @@ -477,7 +504,6 @@ compare_version() { echo -e " ${CYN}$APP_SOURCE Version :\t${CRS}${APP_SOURCE_VERSION}\n" echo -e " ${RED}Update failed ... Exiting ...${CRS}\n" exit - fi } @@ -489,7 +515,7 @@ help() { echo -e "Options:\n" echo -e "\t-i\tDownload & install $APP_NAME_LONG from $APP_SOURCE" echo -e "\t-l\tCreate desktop launcher" - echo -e "\t-a\tCreate alias for $SCRIPT_FILE_NAME ${YEL}--> Working with zsh & bash${CRS}" + echo -e "\t-a\tCreate alias for $SCRIPT_FILE_NAME" echo -e "\t-u\tDownload & update $APP_NAME_LONG from $APP_SOURCE" #echo -e "\t-U\tEnable automatic updates on login ${RED}--> Not yet working${CRS}" echo -e "\t-r\tRemove $APP_NAME_LONG" @@ -507,7 +533,6 @@ help() { exit_clean() { if [ -d "$TMP" ] ; then rm -rf $TMP - fi exit @@ -533,6 +558,7 @@ while getopts ":i,:l,:a,:u,:U,:r,:c,:s,:S,:h" OPTION ; do a) echo -e "\n ${CYN}Adding alias...${CRS}" + shell_check add_alias exit ;; @@ -580,9 +606,7 @@ while getopts ":i,:l,:a,:u,:U,:r,:c,:s,:S,:h" OPTION ; do echo -e "\n${YEL}Option ${RED}$1${YEL} not recognized... Refer to help below!${CRS}" help exit ;; - esac - done ## DEPENDENCY CHECK diff --git a/helium_launcher_update.sh b/helium_launcher_update.sh index 29d641c..c99d069 100755 --- a/helium_launcher_update.sh +++ b/helium_launcher_update.sh @@ -11,12 +11,13 @@ FILE_EXTENSION="AppImage" APP_SOURCE="GitHub" SCRIPT_NAME="$APP_NAME Launcher Updater" SCRIPT_FILE_NAME="helium_launcher_update.sh" -SCRIPT_VERSION="0.5.7" +SCRIPT_VERSION="0.5.8" DATE=$(date) ## LOCATIONS TMP=/tmp/$APP_NAME INSTALL_PATH=$HOME/.apps/$APP_NAME +APP_CONFIG_PATH=$HOME/.config/net.imput.helium ASSET_PATH=$INSTALL_PATH/assets BACKUP_PATH=$ASSET_PATH/backup LOG_PATH=$ASSET_PATH/logs @@ -56,27 +57,27 @@ dependency_check () { mkdir -p $LOG_PATH echo "########## $APP_NAME_LONG update log ##########" >> $LOG echo >> $LOG - echo "${DATE} | Log created" >> $LOG + echo "$DATE | Log created" >> $LOG fi if [ -f "$TMP/missingDeps" ] ; then MISSING=$(cat $TMP/missingDeps) - echo "${DATE} | Failed to update - missing dependencies : $MISSING" >> $LOG - notify-send -i "$ICON" "Helium Helper" "Update failed! See log for details" + echo "$DATE | Failed to update - missing dependencies : $MISSING" >> $LOG + notify-send --icon="$ICON" --app-name="Helium Helper" "Update failed! See log for details" exit_clean fi if ! [ -d "$INSTALL_PATH" ] ; then mkdir -p $INSTALL_PATH - echo "${DATE} | Failed to update - $APP_NAME installation path not present - But created for logging" >> $LOG - notify-send -i "$ICON" "Helium Helper" "Update failed! See log for details" + echo "$DATE | Failed to update - $APP_NAME installation path not present - But created for logging" >> $LOG + notify-send --icon="$ICON" --app-name="Helium Helper" "Update failed! See log for details" exit elif ! [ -f "$INSTALL_PATH/$APP_NAME.$FILE_EXTENSION" ] ; then - echo "${DATE} | Failed to update - Local $APP_NAME AppImage not found" >> $LOG - notify-send -i "$ICON" "Helium Helper" "Update failed! See log for details" + echo "$DATE | Failed to update - Local $APP_NAME AppImage not found" >> $LOG + notify-send --icon="$ICON" --app-name="Helium Helper" "Update failed! See log for details" exit fi @@ -87,8 +88,8 @@ dependency_check () { update_script() { ### CHECK FOR LOCAL SCRIPT if ! [ -f "$SCRIPT_PATH/$SCRIPT_FILE_NAME" ] ; then - echo "${DATE} | Failed to update script - local file not found" >> $LOG - notify-send -i "$ICON" "Helium Helper" "Script update failed! See log for details" + echo "$DATE | Failed to update script - local file not found" >> $LOG + notify-send --icon="$ICON" --app-name="Helium Helper" "Script update failed! See log for details" exit fi @@ -97,13 +98,13 @@ update_script() { ### CHECK FOR EMPTY VERSION TAGS if [ -z "$SCRIPT_VERSION" ] ; then - echo "${DATE} | Failed to update script - Empty version tag --> local" >> $LOG - notify-send -i "$ICON" "Helium Helper" "Script update failed! See log for details" + echo "$DATE | Failed to update script - Empty version tag --> local" >> $LOG + notify-send --icon="$ICON" --app-name="Helium Helper" "Script update failed! See log for details" exit elif [ -z "$REMOTE_SCRIPT_VERSION" ] ; then - echo "${DATE} | Failed to update script - Empty version tag --> $APP_SOURCE" >> $LOG - notify-send -i "$ICON" "Helium Helper" "Script update failed! See log for details" + echo "$DATE | Failed to update script - Empty version tag --> $APP_SOURCE" >> $LOG + notify-send --icon="$ICON" --app-name="Helium Helper" "Script update failed! See log for details" exit fi @@ -113,7 +114,7 @@ update_script() { REMOTE_SCRIPT_VERSION_NUM=$(echo $REMOTE_SCRIPT_VERSION | tr -d .) if [ "$REMOTE_SCRIPT_VERSION" == "$SCRIPT_VERSION" ] ; then - notify-send -i "$ICON" "Helium Helper" "Script is up-to-date" + notify-send --icon="$ICON" --app-name="Helium Helper" "Script is up-to-date" elif [ "$REMOTE_SCRIPT_VERSION_NUM" -gt "$SCRIPT_VERSION_NUM" ] ; then mv $SCRIPT_PATH/$SCRIPT_FILE_NAME $BACKUP_PATH/$SCRIPT_FILE_NAME.old @@ -121,13 +122,14 @@ update_script() { wget -P $TMP $REMOTE_SCRIPT_URL -q chmod +x $TMP/$SCRIPT_FILE_NAME mv $TMP/$SCRIPT_FILE_NAME $SCRIPT_PATH - echo "${DATE} | Script updated to $REMOTE_SCRIPT_VERSION" >> $LOG - notify-send -i "$ICON" "Helium Helper" "Script updated to $REMOTE_SCRIPT_VERSION" + echo "$DATE | Script updated to version $REMOTE_SCRIPT_VERSION" >> $LOG + notify-send --icon="$ICON" --app-name="Helium Helper" "Script updated to version $REMOTE_SCRIPT_VERSION" else - echo "${DATE} | Failed to update - Malformed version tags" >> $LOG - notify-send -i "$ICON" "Helium Helper" "Script update failed! See log for details\n$REMOTE_SCRIPT_VERSION $SCRIPT_VERSION" - + echo "$DATE | Failed to update - Malformed version tags" >> $LOG + echo "$DATE | Remote Version: $REMOTE_SCRIPT_VERSION" >> $LOG + echo "$DATE | Local Version: $SCRIPT_VERSION" >> $LOG + notify-send --icon="$ICON" --app-name="Helium Helper" "Script update failed! See log for details" fi } @@ -140,13 +142,13 @@ update_helium() { ### CHECK FOR EMPTY VERSION TAGS if [[ -z "$APP_SOURCE_VERSION" ]] ; then - echo "${DATE} | Failed to update - Empty version tag --> $APP_SOURCE" >> $LOG - notify-send -i "$ICON" "Helium Helper" "Browser update failed! See log for details" + echo "$DATE | Failed to update - Empty version tag --> $APP_SOURCE" >> $LOG + notify-send --icon="$ICON" --app-name="Helium Helper" "Browser update failed! See log for details" exit elif [[ -z "$LOCAL_VERSION" ]] ; then - echo "${DATE} | Failed to update - Empty version tag --> LOCAL" >> $LOG - notify-send -i "$ICON" "Helium Helper" "Browser update failed! See log for details" + echo "$DATE | Failed to update - Empty version tag --> LOCAL" >> $LOG + notify-send --icon="$ICON" --app-name="Helium Helper" "Browser update failed! See log for details" exit fi @@ -156,25 +158,32 @@ update_helium() { APP_SOURCE_VERSION_NUM=$(echo $APP_SOURCE_VERSION | tr -d .) if [ "$APP_SOURCE_VERSION" == "$LOCAL_VERSION" ] ; then - notify-send -i "$ICON" "Helium Helper" "Browser is up-to-date" + notify-send --icon="$ICON" --app-name="Helium Helper" "Browser is up-to-date" elif [ "$APP_SOURCE_VERSION_NUM" -gt "$LOCAL_VERSION_NUM" ] ; then mkdir -p $TMP $BACKUP_PATH wget -P $TMP $DOWNLOAD_URL -q --show-progress chmod +x $TMP/$APP_SOURCE_FILENAME - if [ -f "$BACKUP_PATH/$APP_NAME.$FILE_EXTENSION.old" ] ; then - rm $BACKUP_PATH/$APP_NAME.$FILE_EXTENSION.old + if [ -f "$BACKUP_PATH/$APP_NAME.old" ] ; then + rm $BACKUP_PATH/$APP_NAME.old + fi + if [ -d "$APP_CONFIG_PATH" ] ; then + if [ -f "$BACKUP_PATH/$APP_NAME.config_*.tar" ] ; then + rm $BACKUP_PATH/$APP_NAME.config_*.tar + fi + tar -cf $BACKUP_PATH/$APP_NAME.config_$(date).tar $APP_CONFIG_PATH > /dev/null 2>&1 fi mv $INSTALL_PATH/$APP_NAME.$FILE_EXTENSION $BACKUP_PATH/$APP_NAME.$FILE_EXTENSION.old mv $TMP/$APP_SOURCE_FILENAME $INSTALL_PATH/$APP_NAME.$FILE_EXTENSION cp $LAUNCHER_PATH/$APP_NAME.desktop $BACKUP_PATH/$APP_NAME.desktop.old + chmod -x $BACKUP_PATH/*.sh.old $BACKUP_PATH/$APP_NAME.old sed -i "s|X-AppImage-Version=.*|X-AppImage-Version=$($INSTALL_PATH/$APP_NAME.$FILE_EXTENSION --version | awk '{print $2}')|" $LAUNCHER_PATH/$APP_NAME.desktop - echo "${DATE} | $APP_NAME updated to ${APP_SOURCE_VERSION}" >> $LOG - notify-send -i "$ICON" "Helium Helper" "Browser updated to $APP_SOURCE_VERSION" + echo "$DATE | $APP_NAME updated to version ${APP_SOURCE_VERSION}" >> $LOG + notify-send --icon="$ICON" --app-name="Helium Helper" "Browser updated to version $APP_SOURCE_VERSION" else - echo "${DATE} | Failed to update - Version tags malformed" >> $LOG - notify-send -i "$ICON" "Helium Helper" "Browser update failed! See log for details" + echo "$DATE | Failed to update - Version tags malformed" >> $LOG + notify-send --icon="$ICON" --app-name="Helium Helper" "Browser update failed! See log for details" exit fi @@ -193,7 +202,7 @@ show_log() { xdg-open $LOG else - notify-send -i "$ICON" "Helium Helper" "No log created yet" + notify-send --icon="$ICON" --app-name="Helium Helper" "No log created yet" fi } diff --git a/launcher-update-helium b/launcher-update-helium new file mode 100755 index 0000000..8d8845e Binary files /dev/null and b/launcher-update-helium differ diff --git a/update-helium b/update-helium new file mode 100755 index 0000000..b19991d Binary files /dev/null and b/update-helium differ