Compare commits

..

No commits in common. "eb1832018008bcfb121518e7ca95a36d81fa134f" and "8b2473ee3dc01f952c7027e1f80ba40680af4100" have entirely different histories.

8 changed files with 97 additions and 2496 deletions

1
.gitignore vendored
View file

@ -1 +0,0 @@
test.sh

File diff suppressed because it is too large Load diff

View file

@ -2,7 +2,6 @@
shc Version 4.0.3, Generic Shell Script Compiler shc Version 4.0.3, Generic Shell Script Compiler
GNU GPL Version 3 Md Jahidul Hamid <jahidulhamid@yahoo.com> GNU GPL Version 3 Md Jahidul Hamid <jahidulhamid@yahoo.com>
<<<<<<< HEAD
shc -f helium_launcher_update.sh -o launcher-update-helium_stable shc -f helium_launcher_update.sh -o launcher-update-helium_stable
#endif #endif
@ -760,657 +759,6 @@ static char data [] =
#define inlo_z 3 #define inlo_z 3
#define inlo ((&data[11412])) #define inlo ((&data[11412]))
"\277\066\023"/* End of data[] */; "\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 hide_z 4096
#define SETUID 0 /* Define as 1 to call setuid(0) at start of script */ #define SETUID 0 /* Define as 1 to call setuid(0) at start of script */
#define DEBUGEXEC 0 /* Define as 1 to debug execvp calls */ #define DEBUGEXEC 0 /* Define as 1 to debug execvp calls */

View file

@ -1,86 +0,0 @@
# 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
```

View file

@ -20,13 +20,12 @@ APP_SOURCE="GitHub"
SCRIPT_NAME="$APP_NAME Helper Script" SCRIPT_NAME="$APP_NAME Helper Script"
SCRIPT_FILE_NAME="helium_helper.sh" SCRIPT_FILE_NAME="helium_helper.sh"
AUTO_SCRIPT_FILE_NAME="helium_launcher_update.sh" AUTO_SCRIPT_FILE_NAME="helium_launcher_update.sh"
SCRIPT_VERSION="0.5.8" SCRIPT_VERSION="0.5.7"
ALIAS="update-helium" ALIAS="update-helium"
## LOCATIONS ## LOCATIONS
TMP=/tmp/$APP_NAME TMP=/tmp/$APP_NAME
INSTALL_PATH=$HOME/.apps/$APP_NAME INSTALL_PATH=$HOME/.apps/$APP_NAME
APP_CONFIG_PATH=$HOME/.config/net.imput.helium
ASSET_PATH=$INSTALL_PATH/assets ASSET_PATH=$INSTALL_PATH/assets
BACKUP_PATH=$ASSET_PATH/backup BACKUP_PATH=$ASSET_PATH/backup
LOG_PATH=$ASSET_PATH/logs LOG_PATH=$ASSET_PATH/logs
@ -44,10 +43,11 @@ APP_SOURCE_URL=https://api.github.com/repos/imputnet/helium-linux/releases/lates
### DEPENDENCIES ### DEPENDENCIES
cmd_query() { 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 echo " - $PACKAGE" >> $TMP/missingDeps
fi fi
} }
@ -64,27 +64,10 @@ dependency_check () {
MISSING=$(cat $TMP/missingDeps) 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}" echo -e "\n ${RED}Following dependencies are missing :\n\n${CRS}$MISSING\n\n ${CYN}Please install and re-run script !${CRS}"
exit_clean exit_clean
fi 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 ### CHECK LOCAL INSTALL
local_check() { local_check() {
if ! [ -d "$INSTALL_PATH" ] ; then if ! [ -d "$INSTALL_PATH" ] ; then
@ -96,6 +79,7 @@ local_check() {
echo -e "\n ${RED}$APP_NAME_LONG directory found but no executable named ${CYN}$APP_NAME.$FILE_EXTENSION${RED}!${CRS}" echo -e "\n ${RED}$APP_NAME_LONG directory found but no executable named ${CYN}$APP_NAME.$FILE_EXTENSION${RED}!${CRS}"
install_helium install_helium
exit exit
fi fi
} }
@ -105,6 +89,7 @@ install_helium() {
echo -e "\n ${YEL}$APP_NAME_LONG AppImage found! Trying to update...${CRS}" echo -e "\n ${YEL}$APP_NAME_LONG AppImage found! Trying to update...${CRS}"
update_helium update_helium
exit exit
fi fi
while true ; do while true ; do
@ -128,6 +113,7 @@ install_helium() {
else else
echo -e " ${YEL}Invalid response!${CRS}\n" echo -e " ${YEL}Invalid response!${CRS}\n"
fi fi
done done
@ -175,6 +161,7 @@ add_launcher() {
else else
echo -e " ${YEL}Invalid response!${CRS}\n" echo -e " ${YEL}Invalid response!${CRS}\n"
fi fi
done done
@ -183,50 +170,38 @@ add_launcher() {
echo -e "\n ${RED}$APP_NAME_LONG AppImage not found! Can't add launcher...${CRS}" echo -e "\n ${RED}$APP_NAME_LONG AppImage not found! Can't add launcher...${CRS}"
install_helium install_helium
exit exit
fi fi
} }
### ALIAS ### ALIAS
add_alias() { add_alias() { ### WORKS BUT NEEDS WORK
if ! [ -f "$SCRIPT_PATH/$SCRIPT_FILE_NAME" ] ; then if ! [ -f "$SCRIPT_PATH/$SCRIPT_FILE_NAME" ] ; then
mkdir -p $SCRIPT_PATH mkdir -p $SCRIPT_PATH
wget -P $TMP $REMOTE_SCRIPT_URL -q wget -P $TMP $REMOTE_SCRIPT_URL -q
chmod +x $TMP/$SCRIPT_FILE_NAME chmod +x $TMP/$SCRIPT_FILE_NAME
mv $TMP/$SCRIPT_FILE_NAME $SCRIPT_PATH mv $TMP/$SCRIPT_FILE_NAME $SCRIPT_PATH
fi fi
if [ "$ACTIVE_SHELL" == "zsh" ] ; then if [ -f "$HOME/.zshrc" ] ; then
if [ "$(cat $HOME/.zshrc | grep "$ALIAS")" ] ; then if [ "$(cat $HOME/.zshrc | grep "$ALIAS")" ] ; then
echo -e "\n ${LCY}$ALIAS ${GRN}already present in${CRS} $HOME/.zshrc\n" echo -e "\n ${LCY}$ALIAS ${GRN}already present in${CRS} $HOME/.zshrc"
exit exit
fi fi
echo "alias $ALIAS=\"$SCRIPT_PATH/$SCRIPT_FILE_NAME\"" >> $HOME/.zshrc echo "alias $ALIAS=\"$SCRIPT_PATH/$SCRIPT_FILE_NAME\"" >> $HOME/.zshrc
echo -e "\n ${LCY}$ALIAS ${GRN}added to${CRS} $HOME/.zshrc\n" echo -e "\n ${LCY}$ALIAS ${GRN}added to${CRS} $HOME/.zshrc"
elif [ "$ACTIVE_SHELL" == "bash" ] ; then elif [ -f "$HOME/.bashrc" ] ; then
if [ "$(cat $HOME/.bashrc | grep "$ALIAS")" ] ; then if [ "$(cat $HOME/.bashrc | grep "$ALIAS")" ] ; then
echo -e "\n ${LCY}$ALIAS ${GRN}already present in${CRS} $HOME/.bashrc\n" echo -e "\n ${LCY}$ALIAS ${GRN}already present in${CRS} $HOME/.bashrc"
exit exit
fi fi
echo "alias $ALIAS=\"$SCRIPT_PATH/$SCRIPT_FILE_NAME\"" >> $HOME/.zshrc echo "alias $ALIAS=\"$SCRIPT_PATH/$SCRIPT_FILE_NAME\"" >> $HOME/.zshrc
echo -e "\n ${LCY}$ALIAS ${GRN}added to${CRS} $HOME/.bashrc\n" echo -e "\n ${LCY}$ALIAS ${GRN}added to${CRS} $HOME/.bashrc"
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 else
echo -e "\n ${LCY}$ACTIVE_SHELL ${RED}not yet supported!${CRS}\n" echo -e "\n ${RED}No .shellrc file found!${CRS}"
echo -e " ${LCY}Working implementation are available for bash, zsh & fish!${CRS}\n"
fi fi
} }
@ -243,6 +218,7 @@ update_helium() {
elif [ -z "$LOCAL_VERSION" ] ; then 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}"
exit exit
fi fi
### COMPARE LOCAL & REMOTE VERSION ### COMPARE LOCAL & REMOTE VERSION
@ -270,27 +246,22 @@ update_helium() {
if [ -f "$BACKUP_PATH/$APP_NAME.old" ] ; then if [ -f "$BACKUP_PATH/$APP_NAME.old" ] ; then
rm $BACKUP_PATH/$APP_NAME.old rm $BACKUP_PATH/$APP_NAME.old
fi 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 $INSTALL_PATH/$APP_NAME.$FILE_EXTENSION $BACKUP_PATH/$APP_NAME.old
mv $TMP/$APP_SOURCE_FILENAME $INSTALL_PATH/$APP_NAME.$FILE_EXTENSION mv $TMP/$APP_SOURCE_FILENAME $INSTALL_PATH/$APP_NAME.$FILE_EXTENSION
cp $LAUNCHER_PATH/$APP_NAME.desktop $BACKUP_PATH/$APP_NAME.desktop.old 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 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" echo -e "\n ${GRN}$APP_NAME_LONG is up-to-date !${CRS}\n"
break break
elif [[ "$CONFIRM" == "n" || "$CONFIRM" == "N" ]] ; then elif [[ "$CONFIRM" == "n" || "$CONFIRM" == "N" ]] ; then
echo -e " ${RED}Cancelled!${CRS}\n" echo -e " ${RED}Cancelled!${CRS}"
exit exit
else else
echo -e " ${YEL}Invalid response!${CRS}\n" echo -e " ${YEL}Invalid response!${CRS}\n"
fi fi
done done
else else
@ -299,6 +270,7 @@ update_helium() {
echo -e " ${CYN}$APP_SOURCE Version :\t${CRS}${APP_SOURCE_VERSION}\n" echo -e " ${CYN}$APP_SOURCE Version :\t${CRS}${APP_SOURCE_VERSION}\n"
echo -e " ${RED}Update failed... Exiting...${CRS}\n" echo -e " ${RED}Update failed... Exiting...${CRS}\n"
exit exit
fi fi
} }
@ -311,6 +283,7 @@ auto_update() {
else else
echo -e "\n ${RED}Not implemented yet...${CRS}" echo -e "\n ${RED}Not implemented yet...${CRS}"
fi fi
} }
@ -322,39 +295,28 @@ remove_helium() {
read -p " Remove $APP_NAME_LONG incl. backups and launcher? (Y/n) : " CONFIRM_REMOVE read -p " Remove $APP_NAME_LONG incl. backups and launcher? (Y/n) : " CONFIRM_REMOVE
if [[ "$CONFIRM_REMOVE" == "" || "$CONFIRM_REMOVE" == "y" || "$CONFIRM_REMOVE" == "Y" ]] ; then if [[ "$CONFIRM_REMOVE" == "" || "$CONFIRM_REMOVE" == "y" || "$CONFIRM_REMOVE" == "Y" ]] ; then
REMOVABLE=("$INSTALL_PATH" "$LAUNCHER_PATH/$APP_NAME.desktop" "$SCRIPT_PATH/$SCRIPT_FILE_NAME" "$SCRIPT_PATH/$AUTO_SCRIPT_FILE_NAME") rm -rf $INSTALL_PATH
echo if [ -f "$LAUNCHER_PATH/$APP_NAME.desktop" ] ; then
rm $LAUNCHER_PATH/$APP_NAME.desktop
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 fi
echo -e "\n ${RED}$APP_NAME_LONG removed!${CRS}\n" 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}"
exit exit
elif [[ "$CONFIRM_REMOVE" == "n" || "$CONFIRM_REMOVE" == "N" ]] ; then elif [[ "$CONFIRM_REMOVE" == "n" || "$CONFIRM_REMOVE" == "N" ]] ; then
@ -363,12 +325,15 @@ remove_helium() {
else else
echo -e " ${YEL}Invalid response!${CRS}\n" echo -e " ${YEL}Invalid response!${CRS}\n"
fi fi
done done
else else
echo -e "\n ${RED}Can't remove $APP_NAME_LONG! ${YEL}$INSTALL_PATH ${RED}directory not found...${CRS}" echo -e "\n ${RED}Can't remove $APP_NAME_LONG! ${YEL}$INSTALL_PATH ${RED}directory not found...${CRS}"
exit exit
fi fi
} }
@ -401,13 +366,16 @@ update_script() {
exit_clean exit_clean
elif [[ "$CONFIRM_SCRIPT_INSTALL" == "n" || "$CONFIRM_SCRIPT_INSTALL" == "N" ]] ; then elif [[ "$CONFIRM_SCRIPT_INSTALL" == "n" || "$CONFIRM_SCRIPT_INSTALL" == "N" ]] ; then
echo -e " ${RED}Cancelled!${CRS}\n" echo -e " ${RED}Cancelled!${CRS}"
exit exit
else else
echo -e " ${YEL}Invalid response!${CRS}\n" echo -e " ${YEL}Invalid response!${CRS}\n"
fi fi
done done
fi fi
REMOTE_SCRIPT_VERSION=$(curl -s $REMOTE_SCRIPT_URL | grep -m 1 "SCRIPT_VERSION" | tr -d 'SCRIPT_VERSION="') REMOTE_SCRIPT_VERSION=$(curl -s $REMOTE_SCRIPT_URL | grep -m 1 "SCRIPT_VERSION" | tr -d 'SCRIPT_VERSION="')
@ -420,6 +388,7 @@ update_script() {
elif [ -z "$REMOTE_SCRIPT_VERSION" ] ; then elif [ -z "$REMOTE_SCRIPT_VERSION" ] ; then
echo -e "\n ${RED}Empty version tag from ${CYN}remote script${RED}! Can't compare, exiting...${CRS}" echo -e "\n ${RED}Empty version tag from ${CYN}remote script${RED}! Can't compare, exiting...${CRS}"
exit exit
fi fi
### COMPARE LOCAL & REMOTE VERSION ### COMPARE LOCAL & REMOTE VERSION
@ -456,7 +425,9 @@ update_script() {
else else
echo -e " ${YEL}Invalid response!${CRS}\n" echo -e " ${YEL}Invalid response!${CRS}\n"
fi fi
done done
else else
@ -464,6 +435,7 @@ update_script() {
echo -e " ${CYN}Local Version :\t${CRS}${SCRIPT_VERSION}" echo -e " ${CYN}Local Version :\t${CRS}${SCRIPT_VERSION}"
echo -e " ${CYN}Remote Version :\t${CRS}${REMOTE_SCRIPT_VERSION}\n" echo -e " ${CYN}Remote Version :\t${CRS}${REMOTE_SCRIPT_VERSION}\n"
echo -e " ${RED}Updating script failed...${CRS}\n" echo -e " ${RED}Updating script failed...${CRS}\n"
fi fi
} }
@ -474,12 +446,13 @@ compare_version() {
### CHECK FOR EMPTY VERSION TAGS ### CHECK FOR EMPTY VERSION TAGS
if [ -z "$APP_SOURCE_VERSION" ] ; then if [ -z "$APP_SOURCE_VERSION" ] ; then
echo -e "\n ${RED}Empty version tag from ${CYN}$APP_SOURCE${RED}! Can't compare, exiting...${CRS}\n" echo -e "\n ${RED}Empty version tag from ${CYN}$APP_SOURCE${RED}! Can't compare, exiting...${CRS}"
exit exit
elif [ -z "$LOCAL_VERSION" ] ; then elif [ -z "$LOCAL_VERSION" ] ; then
echo -e "\n ${RED}Empty version tag from ${CYN}local AppImage${RED}! Can't compare, exiting...${CRS}\n" echo -e "\n ${RED}Empty version tag from ${CYN}local AppImage${RED}! Can't compare, exiting...${CRS}"
exit exit
fi fi
### COMPARE LOCAL & REMOTE VERSION ### COMPARE LOCAL & REMOTE VERSION
@ -504,6 +477,7 @@ compare_version() {
echo -e " ${CYN}$APP_SOURCE Version :\t${CRS}${APP_SOURCE_VERSION}\n" echo -e " ${CYN}$APP_SOURCE Version :\t${CRS}${APP_SOURCE_VERSION}\n"
echo -e " ${RED}Update failed ... Exiting ...${CRS}\n" echo -e " ${RED}Update failed ... Exiting ...${CRS}\n"
exit exit
fi fi
} }
@ -515,7 +489,7 @@ help() {
echo -e "Options:\n" echo -e "Options:\n"
echo -e "\t-i\tDownload & install $APP_NAME_LONG from $APP_SOURCE" echo -e "\t-i\tDownload & install $APP_NAME_LONG from $APP_SOURCE"
echo -e "\t-l\tCreate desktop launcher" echo -e "\t-l\tCreate desktop launcher"
echo -e "\t-a\tCreate alias for $SCRIPT_FILE_NAME" echo -e "\t-a\tCreate alias for $SCRIPT_FILE_NAME ${YEL}--> Working with zsh & bash${CRS}"
echo -e "\t-u\tDownload & update $APP_NAME_LONG from $APP_SOURCE" 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-U\tEnable automatic updates on login ${RED}--> Not yet working${CRS}"
echo -e "\t-r\tRemove $APP_NAME_LONG" echo -e "\t-r\tRemove $APP_NAME_LONG"
@ -533,6 +507,7 @@ help() {
exit_clean() { exit_clean() {
if [ -d "$TMP" ] ; then if [ -d "$TMP" ] ; then
rm -rf $TMP rm -rf $TMP
fi fi
exit exit
@ -558,7 +533,6 @@ while getopts ":i,:l,:a,:u,:U,:r,:c,:s,:S,:h" OPTION ; do
a) a)
echo -e "\n ${CYN}Adding alias...${CRS}" echo -e "\n ${CYN}Adding alias...${CRS}"
shell_check
add_alias add_alias
exit ;; exit ;;
@ -606,7 +580,9 @@ 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}" echo -e "\n${YEL}Option ${RED}$1${YEL} not recognized... Refer to help below!${CRS}"
help help
exit ;; exit ;;
esac esac
done done
## DEPENDENCY CHECK ## DEPENDENCY CHECK

View file

@ -11,13 +11,12 @@ FILE_EXTENSION="AppImage"
APP_SOURCE="GitHub" APP_SOURCE="GitHub"
SCRIPT_NAME="$APP_NAME Launcher Updater" SCRIPT_NAME="$APP_NAME Launcher Updater"
SCRIPT_FILE_NAME="helium_launcher_update.sh" SCRIPT_FILE_NAME="helium_launcher_update.sh"
SCRIPT_VERSION="0.5.8" SCRIPT_VERSION="0.5.7"
DATE=$(date) DATE=$(date)
## LOCATIONS ## LOCATIONS
TMP=/tmp/$APP_NAME TMP=/tmp/$APP_NAME
INSTALL_PATH=$HOME/.apps/$APP_NAME INSTALL_PATH=$HOME/.apps/$APP_NAME
APP_CONFIG_PATH=$HOME/.config/net.imput.helium
ASSET_PATH=$INSTALL_PATH/assets ASSET_PATH=$INSTALL_PATH/assets
BACKUP_PATH=$ASSET_PATH/backup BACKUP_PATH=$ASSET_PATH/backup
LOG_PATH=$ASSET_PATH/logs LOG_PATH=$ASSET_PATH/logs
@ -57,27 +56,27 @@ dependency_check () {
mkdir -p $LOG_PATH mkdir -p $LOG_PATH
echo "########## $APP_NAME_LONG update log ##########" >> $LOG echo "########## $APP_NAME_LONG update log ##########" >> $LOG
echo >> $LOG echo >> $LOG
echo "$DATE | Log created" >> $LOG echo "${DATE} | Log created" >> $LOG
fi fi
if [ -f "$TMP/missingDeps" ] ; then if [ -f "$TMP/missingDeps" ] ; then
MISSING=$(cat $TMP/missingDeps) MISSING=$(cat $TMP/missingDeps)
echo "$DATE | Failed to update - missing dependencies : $MISSING" >> $LOG echo "${DATE} | Failed to update - missing dependencies : $MISSING" >> $LOG
notify-send --icon="$ICON" --app-name="Helium Helper" "Update failed! See log for details" notify-send -i "$ICON" "Helium Helper" "Update failed! See log for details"
exit_clean exit_clean
fi fi
if ! [ -d "$INSTALL_PATH" ] ; then if ! [ -d "$INSTALL_PATH" ] ; then
mkdir -p $INSTALL_PATH mkdir -p $INSTALL_PATH
echo "$DATE | Failed to update - $APP_NAME installation path not present - But created for logging" >> $LOG 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" notify-send -i "$ICON" "Helium Helper" "Update failed! See log for details"
exit exit
elif ! [ -f "$INSTALL_PATH/$APP_NAME.$FILE_EXTENSION" ] ; then elif ! [ -f "$INSTALL_PATH/$APP_NAME.$FILE_EXTENSION" ] ; then
echo "$DATE | Failed to update - Local $APP_NAME AppImage not found" >> $LOG 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" notify-send -i "$ICON" "Helium Helper" "Update failed! See log for details"
exit exit
fi fi
@ -88,8 +87,8 @@ dependency_check () {
update_script() { update_script() {
### CHECK FOR LOCAL SCRIPT ### CHECK FOR LOCAL SCRIPT
if ! [ -f "$SCRIPT_PATH/$SCRIPT_FILE_NAME" ] ; then if ! [ -f "$SCRIPT_PATH/$SCRIPT_FILE_NAME" ] ; then
echo "$DATE | Failed to update script - local file not found" >> $LOG 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" notify-send -i "$ICON" "Helium Helper" "Script update failed! See log for details"
exit exit
fi fi
@ -98,13 +97,13 @@ update_script() {
### CHECK FOR EMPTY VERSION TAGS ### CHECK FOR EMPTY VERSION TAGS
if [ -z "$SCRIPT_VERSION" ] ; then if [ -z "$SCRIPT_VERSION" ] ; then
echo "$DATE | Failed to update script - Empty version tag --> local" >> $LOG 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" notify-send -i "$ICON" "Helium Helper" "Script update failed! See log for details"
exit exit
elif [ -z "$REMOTE_SCRIPT_VERSION" ] ; then elif [ -z "$REMOTE_SCRIPT_VERSION" ] ; then
echo "$DATE | Failed to update script - Empty version tag --> $APP_SOURCE" >> $LOG 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" notify-send -i "$ICON" "Helium Helper" "Script update failed! See log for details"
exit exit
fi fi
@ -114,7 +113,7 @@ update_script() {
REMOTE_SCRIPT_VERSION_NUM=$(echo $REMOTE_SCRIPT_VERSION | tr -d .) REMOTE_SCRIPT_VERSION_NUM=$(echo $REMOTE_SCRIPT_VERSION | tr -d .)
if [ "$REMOTE_SCRIPT_VERSION" == "$SCRIPT_VERSION" ] ; then if [ "$REMOTE_SCRIPT_VERSION" == "$SCRIPT_VERSION" ] ; then
notify-send --icon="$ICON" --app-name="Helium Helper" "Script is up-to-date" notify-send -i "$ICON" "Helium Helper" "Script is up-to-date"
elif [ "$REMOTE_SCRIPT_VERSION_NUM" -gt "$SCRIPT_VERSION_NUM" ] ; then elif [ "$REMOTE_SCRIPT_VERSION_NUM" -gt "$SCRIPT_VERSION_NUM" ] ; then
mv $SCRIPT_PATH/$SCRIPT_FILE_NAME $BACKUP_PATH/$SCRIPT_FILE_NAME.old mv $SCRIPT_PATH/$SCRIPT_FILE_NAME $BACKUP_PATH/$SCRIPT_FILE_NAME.old
@ -122,14 +121,13 @@ update_script() {
wget -P $TMP $REMOTE_SCRIPT_URL -q wget -P $TMP $REMOTE_SCRIPT_URL -q
chmod +x $TMP/$SCRIPT_FILE_NAME chmod +x $TMP/$SCRIPT_FILE_NAME
mv $TMP/$SCRIPT_FILE_NAME $SCRIPT_PATH mv $TMP/$SCRIPT_FILE_NAME $SCRIPT_PATH
echo "$DATE | Script updated to version $REMOTE_SCRIPT_VERSION" >> $LOG echo "${DATE} | Script updated to $REMOTE_SCRIPT_VERSION" >> $LOG
notify-send --icon="$ICON" --app-name="Helium Helper" "Script updated to version $REMOTE_SCRIPT_VERSION" notify-send -i "$ICON" "Helium Helper" "Script updated to $REMOTE_SCRIPT_VERSION"
else else
echo "$DATE | Failed to update - Malformed version tags" >> $LOG echo "${DATE} | Failed to update - Malformed version tags" >> $LOG
echo "$DATE | Remote Version: $REMOTE_SCRIPT_VERSION" >> $LOG notify-send -i "$ICON" "Helium Helper" "Script update failed! See log for details\n$REMOTE_SCRIPT_VERSION $SCRIPT_VERSION"
echo "$DATE | Local Version: $SCRIPT_VERSION" >> $LOG
notify-send --icon="$ICON" --app-name="Helium Helper" "Script update failed! See log for details"
fi fi
} }
@ -142,13 +140,13 @@ update_helium() {
### CHECK FOR EMPTY VERSION TAGS ### CHECK FOR EMPTY VERSION TAGS
if [[ -z "$APP_SOURCE_VERSION" ]] ; then if [[ -z "$APP_SOURCE_VERSION" ]] ; then
echo "$DATE | Failed to update - Empty version tag --> $APP_SOURCE" >> $LOG 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" notify-send -i "$ICON" "Helium Helper" "Browser update failed! See log for details"
exit exit
elif [[ -z "$LOCAL_VERSION" ]] ; then elif [[ -z "$LOCAL_VERSION" ]] ; then
echo "$DATE | Failed to update - Empty version tag --> LOCAL" >> $LOG 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" notify-send -i "$ICON" "Helium Helper" "Browser update failed! See log for details"
exit exit
fi fi
@ -158,32 +156,25 @@ update_helium() {
APP_SOURCE_VERSION_NUM=$(echo $APP_SOURCE_VERSION | tr -d .) APP_SOURCE_VERSION_NUM=$(echo $APP_SOURCE_VERSION | tr -d .)
if [ "$APP_SOURCE_VERSION" == "$LOCAL_VERSION" ] ; then if [ "$APP_SOURCE_VERSION" == "$LOCAL_VERSION" ] ; then
notify-send --icon="$ICON" --app-name="Helium Helper" "Browser is up-to-date" notify-send -i "$ICON" "Helium Helper" "Browser is up-to-date"
elif [ "$APP_SOURCE_VERSION_NUM" -gt "$LOCAL_VERSION_NUM" ] ; then elif [ "$APP_SOURCE_VERSION_NUM" -gt "$LOCAL_VERSION_NUM" ] ; then
mkdir -p $TMP $BACKUP_PATH mkdir -p $TMP $BACKUP_PATH
wget -P $TMP $DOWNLOAD_URL -q --show-progress wget -P $TMP $DOWNLOAD_URL -q --show-progress
chmod +x $TMP/$APP_SOURCE_FILENAME chmod +x $TMP/$APP_SOURCE_FILENAME
if [ -f "$BACKUP_PATH/$APP_NAME.old" ] ; then if [ -f "$BACKUP_PATH/$APP_NAME.$FILE_EXTENSION.old" ] ; then
rm $BACKUP_PATH/$APP_NAME.old rm $BACKUP_PATH/$APP_NAME.$FILE_EXTENSION.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 fi
mv $INSTALL_PATH/$APP_NAME.$FILE_EXTENSION $BACKUP_PATH/$APP_NAME.$FILE_EXTENSION.old 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 mv $TMP/$APP_SOURCE_FILENAME $INSTALL_PATH/$APP_NAME.$FILE_EXTENSION
cp $LAUNCHER_PATH/$APP_NAME.desktop $BACKUP_PATH/$APP_NAME.desktop.old 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 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 version ${APP_SOURCE_VERSION}" >> $LOG echo "${DATE} | $APP_NAME updated to ${APP_SOURCE_VERSION}" >> $LOG
notify-send --icon="$ICON" --app-name="Helium Helper" "Browser updated to version $APP_SOURCE_VERSION" notify-send -i "$ICON" "Helium Helper" "Browser updated to $APP_SOURCE_VERSION"
else else
echo "$DATE | Failed to update - Version tags malformed" >> $LOG echo "${DATE} | Failed to update - Version tags malformed" >> $LOG
notify-send --icon="$ICON" --app-name="Helium Helper" "Browser update failed! See log for details" notify-send -i "$ICON" "Helium Helper" "Browser update failed! See log for details"
exit exit
fi fi
@ -202,7 +193,7 @@ show_log() {
xdg-open $LOG xdg-open $LOG
else else
notify-send --icon="$ICON" --app-name="Helium Helper" "No log created yet" notify-send -i "$ICON" "Helium Helper" "No log created yet"
fi fi
} }

Binary file not shown.

Binary file not shown.