From cacd9575d03ccfa13246df90af70a318296a2465 Mon Sep 17 00:00:00 2001 From: Wojciech Todryk Date: Sat, 10 Mar 2012 18:08:39 +0100 Subject: [PATCH] rails 3.2.2 added tweeter bootstrap --- AUTHORS | 5 + CHANGES.markdown | 19 + Gemfile | 7 + Gemfile.lock | 12 + TODO.markdown | 20 + UNLICENSE.markdown | 24 + .../images/glyphicons-halflings-white.png | Bin 0 -> 4352 bytes app/assets/images/glyphicons-halflings.png | Bin 0 -> 4352 bytes app/assets/images/logo.png | Bin 0 -> 17995 bytes app/assets/javascripts/bootstrap.min.js | 1 + .../stylesheets/bootstrap-responsive.min.css | 4 + app/assets/stylesheets/bootstrap.min.css | 632 ++++++++++++++++++ app/assets/stylesheets/mailr.css.sass | 7 + app/controllers/application_controller.rb | 98 ++- app/controllers/contacts_controller.rb | 135 ++++ app/controllers/folders_controller.rb | 172 +++++ app/controllers/internal_controller.rb | 53 ++ app/controllers/links_controller.rb | 133 ++++ app/controllers/messages_controller.rb | 210 ++++++ app/controllers/messages_ops_controller.rb | 354 ++++++++++ app/controllers/prefs_controller.rb | 55 ++ app/controllers/user_controller.rb | 75 +++ app/helpers/application_helper.rb | 332 +++++++++ app/models/contact.rb | 54 ++ app/models/folder.rb | 146 ++++ app/models/link.rb | 19 + app/models/message.rb | 73 ++ app/models/prefs.rb | 19 + app/models/server.rb | 41 ++ app/models/user.rb | 64 ++ app/views/layouts/application.html.erb | 44 +- app/views/layouts/html_body.erb | 1 + app/views/layouts/simple.html.haml | 32 + app/views/user/login.html.haml | 18 + app/views/user/setup.html.erb | 20 + app/views/user/unknown.html.erb | 16 + arts/favicon.png | Bin 0 -> 16596 bytes arts/favicon.xcf | Bin 0 -> 44489 bytes arts/logo.png | Bin 0 -> 61554 bytes arts/logo.xcf | Bin 0 -> 254283 bytes arts/logo2.xcf | Bin 0 -> 255261 bytes arts/logo3.xcf | Bin 0 -> 334574 bytes config/application.rb | 13 + config/database.yml | 42 -- config/database.yml.example | 46 +- config/locales/en.yml | 66 +- config/locales/es-ES.yml | 91 +++ config/locales/pl.yml | 227 +++++++ config/routes.rb | 113 ++-- config/settings.yml.example | 53 ++ .../20120303202800_create_all_tables.rb | 111 +++ db/schema.rb | 111 +++ lib/imap_folder.rb | 23 + lib/imap_mailbox.rb | 207 ++++++ lib/imap_message.rb | 91 +++ lib/imap_session.rb | 25 + lib/mail_plugin_extension.rb | 114 ++++ public/index.html | 241 ------- 58 files changed, 4112 insertions(+), 357 deletions(-) create mode 100755 AUTHORS create mode 100755 CHANGES.markdown create mode 100755 TODO.markdown create mode 100755 UNLICENSE.markdown create mode 100644 app/assets/images/glyphicons-halflings-white.png create mode 100644 app/assets/images/glyphicons-halflings.png create mode 100755 app/assets/images/logo.png create mode 100644 app/assets/javascripts/bootstrap.min.js create mode 100644 app/assets/stylesheets/bootstrap-responsive.min.css create mode 100644 app/assets/stylesheets/bootstrap.min.css create mode 100644 app/assets/stylesheets/mailr.css.sass mode change 100644 => 100755 app/controllers/application_controller.rb create mode 100755 app/controllers/contacts_controller.rb create mode 100755 app/controllers/folders_controller.rb create mode 100755 app/controllers/internal_controller.rb create mode 100755 app/controllers/links_controller.rb create mode 100755 app/controllers/messages_controller.rb create mode 100755 app/controllers/messages_ops_controller.rb create mode 100755 app/controllers/prefs_controller.rb create mode 100755 app/controllers/user_controller.rb mode change 100644 => 100755 app/helpers/application_helper.rb create mode 100755 app/models/contact.rb create mode 100755 app/models/folder.rb create mode 100644 app/models/link.rb create mode 100755 app/models/message.rb create mode 100755 app/models/prefs.rb create mode 100755 app/models/server.rb create mode 100755 app/models/user.rb mode change 100644 => 100755 app/views/layouts/application.html.erb create mode 100755 app/views/layouts/html_body.erb create mode 100755 app/views/layouts/simple.html.haml create mode 100644 app/views/user/login.html.haml create mode 100755 app/views/user/setup.html.erb create mode 100755 app/views/user/unknown.html.erb create mode 100755 arts/favicon.png create mode 100755 arts/favicon.xcf create mode 100755 arts/logo.png create mode 100755 arts/logo.xcf create mode 100755 arts/logo2.xcf create mode 100755 arts/logo3.xcf delete mode 100644 config/database.yml mode change 100644 => 100755 config/locales/en.yml create mode 100755 config/locales/es-ES.yml create mode 100755 config/locales/pl.yml mode change 100644 => 100755 config/routes.rb create mode 100644 config/settings.yml.example create mode 100644 db/migrate/20120303202800_create_all_tables.rb create mode 100644 db/schema.rb create mode 100755 lib/imap_folder.rb create mode 100755 lib/imap_mailbox.rb create mode 100755 lib/imap_message.rb create mode 100755 lib/imap_session.rb create mode 100755 lib/mail_plugin_extension.rb delete mode 100644 public/index.html diff --git a/AUTHORS b/AUTHORS new file mode 100755 index 0000000..79766f5 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,5 @@ +* Luben Manolov +* Nick Penkov +* Eugene Korbut +* Emilio Blanco +* Wojciech Todryk diff --git a/CHANGES.markdown b/CHANGES.markdown new file mode 100755 index 0000000..f15945b --- /dev/null +++ b/CHANGES.markdown @@ -0,0 +1,19 @@ +## Changes + +#### 0.8.6 + + * new calendar view + +#### 0.8.5 + + * servers view + * identity modification + +#### 0.8.4 + + * calendar view as separate gem + * adding bluecloth for rendering markdown text + +#### 0.8.3 + + * export, imports of contact diff --git a/Gemfile b/Gemfile index 021ea69..2039c7d 100644 --- a/Gemfile +++ b/Gemfile @@ -37,3 +37,10 @@ gem 'jquery-rails' # To use debugger # gem 'ruby-debug' + +gem 'will_paginate' +gem "ezcrypto" +gem "calendar_view" +gem 'bluecloth' +gem 'sass' +gem 'haml' diff --git a/Gemfile.lock b/Gemfile.lock index 793cc35..c3b2bc4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -29,7 +29,10 @@ GEM i18n (~> 0.6) multi_json (~> 1.0) arel (3.0.2) + bluecloth (2.2.0) builder (3.0.0) + calendar_view (0.0.6) + rails (>= 3.0.0) coffee-rails (3.2.2) coffee-script (>= 2.2.0) railties (~> 3.2.0) @@ -40,6 +43,8 @@ GEM erubis (2.7.0) execjs (1.3.0) multi_json (~> 1.0) + ezcrypto (0.7.2) + haml (3.1.4) hike (1.2.1) i18n (0.6.0) journey (1.0.3) @@ -98,15 +103,22 @@ GEM uglifier (1.2.3) execjs (>= 0.3.0) multi_json (>= 1.0.2) + will_paginate (3.0.3) PLATFORMS ruby DEPENDENCIES + bluecloth + calendar_view coffee-rails (~> 3.2.1) + ezcrypto + haml jquery-rails json mysql2 rails (= 3.2.2) + sass sass-rails (~> 3.2.3) uglifier (>= 1.0.3) + will_paginate diff --git a/TODO.markdown b/TODO.markdown new file mode 100755 index 0000000..2979b2d --- /dev/null +++ b/TODO.markdown @@ -0,0 +1,20 @@ +## Todo + +app/controllers/folders_controller.rb: + + * [ 30] [TODO] recreate local copy of folders + * [ 99] [TODO] save system folders + +app/controllers/messages_controller.rb: + + * [101] [FIXME] missing fields and support arrays + +app/controllers/messages_ops_controller.rb: + + * [249] [FIXME] edit does not support attachments + * [304] [TODO] check if email address is valid if not get address from contacts + +app/models/prefs.rb: + + * [ 19] [TODO] move refresh to prefs and make refresh page with messages + diff --git a/UNLICENSE.markdown b/UNLICENSE.markdown new file mode 100755 index 0000000..68a49da --- /dev/null +++ b/UNLICENSE.markdown @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/app/assets/images/glyphicons-halflings-white.png b/app/assets/images/glyphicons-halflings-white.png new file mode 100644 index 0000000000000000000000000000000000000000..a20760bfde58d1c92cee95116059fba03c68d689 GIT binary patch literal 4352 zcmd6r_dnEu|G?izMxtxU%uI5!l8nr)ZF&&*%FGe4jtO*5mbhJzhV&et11z&&^B?xH$MZ007{+ZK!Jj01(PQ zJBFS4pH$0DefCd1HM@h*JNkcsi%oOXzj>qsEle$eQ7ApHL(XYdn5Y$Lk_3-J9p9d) zFeVfl3J47_g1XaoDXWsnBp9ZzZ74CI9RN-Nw{>+8A&#rBpZgc9WX2H3Ssv6doZP?t zS!g}lGvW1<9%?dj_G_x}3WUMN(8(x{a6_pd0yiUsf^67GGS50uSB*ORe5x6}qAf1z z@Q;2y4G{Lb?f21p)uTpChN&4q%^blZ2IsusUOhk)pe0yxPD6oHKXWSjv8&2pMdnegiQUtoXt1U0MmWAWu2&>3j$eb^qKNV z_(`JQZP&mXLT@U%-2rPy!7r|*Y1oAdlarltaUyq+yq^|d{B9_>t@Rd#@_KW9w_6P$ z^Dv8(Hi8pDJK{r0Iqq*va$cL=isZh0=1)wIoQ^vYPs$(rBz$+DY z`y}1}`M%-da686`}zw_w>8 z!BcqxVTim*F)-}$segV$ON*!Zl~dhX@Rz^K2Xurh<1-vjImult%O z!-WXvkA_agVuhluW};J;#r>)?^uHS;G?a?j;(z?Y^FTwOA?tzLFvQDf&X8}9s7Wh< znEfd_vPyF_V`?>kR`w_h@+%59oKa;NPVGUo52QjisO-|$cYE(VNmm#+`#T5a;gh|Z z8A0^l3UwQMn0J3xXWL7tY~OxAu=_hGvp@_%SZKA)ec-h-dfwIhS3jGBLL6e6Os;1LR zRDG&3TF`HV*n{&*H!oTSsLq!U5xV5!Yr6I_!*VhmwC3a2BOYfWH13AtVY|n5jv49e zcb0xCCZnt0i$>-S$k9J@-c!8wG#siu(Lgy_r1nfy+}!W9g-ucwp=&Hs1=Vs4i_q;dQL$8~Uq2BVA4o4uY!6}S`xH(Qec+{mJD~qgg@6W8 zipi@Z!ZR+Kr_)u&G);pG$tg$8#KPrsl&N3(m($NAU&9ogH9rVfW<4Mw>^7$&96g<9 zHQzekG9T5SS7DVm7EFY%CjChhfRyap4+d;+^0ng^B)~xKFG^7d2oOo|R8uY&S|X0@ znAGMb^rFQwGPTzsFQ8ZK4S@WO(8`6T+$Yt9{jGMd?jrTeb|_!Un`n9xDZu-fW+_aJ z4Uyy_$)`Ot!~doWUHW`(?F!iYvc5+g-(W9X<-tX*h%6(f;+A(OQ@w{WYSiq&pjKnN z)tSH~5g)03sKk)U+&GyP*?86fusX1ttpH1ng8ruC6UOddM~t>0wvZh}1cW%&7{tT$ zze(TwkA~V|_~nL{6YE#^RUC__Mx26zo*w(EfK2Q@R6xo`VkJKs^Eax`&*O*bw~*ap zyaqA_p(~(POY{H5+NIgewtB{|(%ML_wR8o);^XGTQ|{*J>74v>{_iyU;U*NTN}A%` z`8ltg(&furYlb!j%1ra!KPSiGmJ>f4c!bkAtjb_qmQ+aVB(QohO zRo@%)1krVtMPgkT6&3T*u`XO8pE&-!!u((3qVnraj|gN5aDxvqtrPs*MCZcO3i^Qt zI7$&BFr)50exhv11)82?u`ab0FgUSw;dpbnAtmz4k^&Nx`xMQ$5(JW}ry%)ry+DV> zS)TWjtXz7V6iK5$ghFuPiT>;;fAp)oy%%7grs4UwqU5+Ms96%`wU=YU5W-UGw(6iq z2GhB=Zw49;Yu<#7=soc@tZvYFIVNfkRPsCT&;76cYOONMwv!v*e#(X?l7eB- z&pWvVcaO;IKDg7C8bZ-+Hm`g>n_WC6%BL=CZlc``M{0T;%eYQ4t}V%m20okR=HET) z@)@WU_}tJOqiH7w2K%lpe0P z^FhhCX$ufUPCq4?C1A8ZSrVz=$~!VZ>;=kb8eaI;S1TKb|E9j*muthJe2||9pYYI$ zR@lkEo?K76^_v{llrL+?Swi1koJYJqG_-g!v?$ITb=q4#Rk--)fABD zh4Ibu7+f~5HEzy@7xoP^f$=} z+D3gYZ3W>%>m=U)p#UNOPPd&2cD&; zxb{vXTzpCjcJAOEA_~=RX^_BM+_BYW*T{zzM(3TosvFOmf6Kp0IerP4`MuBgFdrkZ zf9X~m0O$toCckMn8klZDxWKr2%FHNk1VLQE)$!{Hz9{*a@TaZjC7kKsC1dIUx*6AQ zJFZc8p~!CewW(VvE@yaTPFt-6n+dZ@TM582m7=-#9JoDOH#zYPe{)-Lza89t+w#Zd zvQ3k$)Q)mPF)g)_+v$Gqgq~*RwGeBn{vhp!IPgkixW8WY)H`S{&~om!keO$Sum=oY zTatGW#*O^aVU<^!#et91z~$IYa;_C@J7+V)`<1b_lh`8FHOAgc=Az}lf)k%5xTMrv zr6uV%eKaU~wvi7pU)MeB7HK z2D;27Dik%)-q@hK-!I|N(cl`lAF^EIv0C-t$d1qtFnKIkcMW<4b%Lzf3Y+~~qB7`< zj);HTQS0Oex%zA170>?kRVA_m_*O?rZRpS3v{+O+cifN7Eb&>$Z==vGKh1V)C`qGu z_u8y<#N3Wp&$V^@T??GnE&RN^IyXM)r0h(gS3;b2pt0O!eNIt4{;3H~V5Ln7vs>8{ ziqqZL4Nwlvj4CtEv0>;Fw~D>LB_+-ecI)tiR%a!^GI3BawvNQGz4#b|_df&`e||2k;K}WnvU!Dx=0#ue(=U# zK&pYNNf5RQZOveUm+;dQ*FIA0&#`?@z*bBhUgr(n9_FpoHPB2pI8iMpW|sF*D{+75 z-k;nba~m^}=b7P$FAF1)S!oDKtNG-`%h{XQi6=SMH5GZ%8j?ugqt~!K zwvA_m(*=EIssFVW0EZ;o=u#R5gBB$CUL+->U32;2PM2O(drij20XBy|hH+=bu!0*KIKBj%c+ z^{)B`3$NB2yp-IHf02C#Fw!(;S&rR%2Pq(!<`Q=u&+_V4eCe z?!d0m@ndhMu%QZ`ERBCD+uU~%h>+E^Qd;Cz=IlGV(IwUrOz(+1Gkd7O z$HME|^+mAGBc4k(2jEj5$g30r-BUoK@Nn!*Td)5USoe+IZ-x9)#yd)sD}2Z?2{4@) zb|)xsK&pqOpB;+H#gbf^Pto29M<2Y>dU5pAF4p{+j=oBZ$2EXA*xI~AM@g20H7o_x z{2-Kc;SRpcxLXzU)a53ZoX%ndB^i8=>Sf&{i6CYkGSkvLj0<@C-!VKm#iX8dws__S zKp`T~rIAfaogJ!tV(~rs5)ctD#A};YXgPNI`<5=nWQjnIf<=1Pzn2y$C8yUkFKhwM z@%Ah?L`DM^@d<2evu->Oo=SVaiR<1GjYwe^G2)XY`l$Q%4H`|PpFA($N_8=6uOr0s zj+)C5xin zwn`&QQOr<`27|~lU*GNfe)r$+;%v`3=Q$VW;ymZMrG+ssw-7e~0K7L%46Ffwh5XNs z<6`?KHS^P-{ZmgZZ@~?jOs2~JH%~nY@PG5j1zTI#0Amn(L8qe2oETm=+B^jogFL!D zS!ISRHW3ybWQ6o&?2=byQi)JhfBSH9PzL~<0B#!S!^50cUq25lRnLyYPq06zWw>~J z`$KJG?wJet%MCZ1y81U)c?UzG;{mBi?no2aAHvt8L__Xy66K$DAupSD_4^VSeG;vA zGhrY7dmCA}Zg<=d*dvUYvYMo40k!iu>o|-n)q^ld6Q(6yBtUWr1GY<4vK2?uoeS|r zT(a}}&NC3;#Lv8{0Y$f=#j|95fZYUrx?foCUQ)KvUf$-LSb+6D%%)z#|1KO+ZTgw~ zNbE_n|4p~xYoc$edOQF-XOS;%evzdNi3 zk@(r9h#R5FpacG)j3VDRRz>g49u-o5A=@X`M=nQQ@W&MqFu3+}8)vIJyezf?(vDF#3iq72Yg1rU0$uCw``L1fzH6tU=MT zJ)FP#7~BMLoosB<>)Y`BnyxN?%PW`qwa_nrmk;P<^+|3lA$cC z!KnRdI-*8rENgl-h*t3^hviocbR?_BCX&(%?-)#H*`RRAUES@w^(0ey@bvFIq^EE0 zYIYPpa4Xz>{9(cUIq~=IuByDHtJskc@OXkoyhOvqjT$BRxhihe#hq<$(TaV?g(bYx zzk*$b_y4xdrKd-u!#@W)7x%!%FE62JOZu)fTpnAUKW94KXQKo9lR9BoI`nN#BVNL^WLc-2PBnDb`!FkQ6Yw zt8#VMCqN`vOx>8A-pqa3!sg7$vF4w|C29%3h5O_{d+D-|gED!U;S&A}5QU_Uz%?vp zmMBIPvj7qQQG74PJJYIU8KAgcJcJvNO0O6=%8w|@chXvpUX6O34cERMj)m?X)jwit zWYksusgx8zcrOv1Kd4Cm%yUoW#?wfM-ee=?*pXt7dUvyZrhI*Zx3!VQzm2&Dk2i(z zv;J?=_W|Z`2Nb*9*m`XJ^1ixr>GY^eNXXM8UzHKbJ%`E&g=nC-&t%U{b2>k}4 zM^eC8z9@VJ)NO6~zgW94x7psn_*GsP&AXPV>|c7+3V*`GDl?NuNHOr8_5jSBY+FrJ zxxFy&omakmacj-wPLUexLeI~s2^i^7jdiy$lDh;U-ze^bf8Wq&_j48xx9sRj~I0?AI|l`&NRKa0xj_M7{QQP8x>W$llZ# z^2}mA)Bep^+iA@Qw-LK1wT3nbnW#j??18HOX9M~EwO_4MW54*U(nB|yBja(g7FnMC zblZNR)Y{`EcNWNZ9&#=!$@W#;-?`_@7{fb;%BTGaNt!jg%h zP{`+<{G!`T5|=OLq>Z*{Z2O&8zMn16ACVB$Qm``DYk?tjJdb2uC7aci<-`J?E%OU+ zGrN5UtA#%|w#4Z;NP?k$>n!<|SrjF%qnK36 z-X#tb9{hRfZswTsPVZBN8H~75sHKLYIz~6u+pKzy#crwlQTpM#$E~+Abk)TD#sz#v zXX8Go`ZaF>B8Zu%M9U<;>RXE zbfFb@39Y9#&~E%DMKl*GIPjFwcNZ7nuMbVEpA0WbvBjM9QA!sp{YiDoe131&NawG0 z)w7{^`zTTBX*b%&r|n~U@dMgnxo!))g;D+Qg=`Xw5@VHk^{hiH?Dbc#u;gsXHzn0i z2)8o6*&Kl>6tpGG-xYvB-r`9coW<<#c<0|E=wQpY(XerrkkfVOt!t*N?wvbI|9F@&~JQ7q2jXe2H zCW^MvkWX8I-=%fo@BdI{A^py@pAB`shd&A{*amKE*X!a7A2Yu?Z%f;af$36@t#hgGI$UAqZQr>(vfUM3&C0L=d07kpTV z65hXXqa6SYLUvQ%beIm#w8HN~d3!4?$?iB2Owr|ut8l>>rMSqaZB}JGncrpN>H)eX z?`{XC$$(nou>9J>y&RJ_GCHrPS%%Jr+GeZ-p;^lV`1YLmyxKN-u#7+}dnx}N%zgXH z$CV1rQyi4eN)t(4&9Ix9{_jMeW*4;LYis@>9EQ2Es^gfy-VKyn0lc8i{7q3yuQV}F zD6Fom;2?qz@ukzYpge~g8?BAWbC}{;E82F=WrGc0;?er)DQ&9VG84bSn{>9B(k zwM%!e%*jQ~?@0DuS;yYC#^~O_E+}d7VN;GP%ockmCFlj4DNZ%yl_X-Hn$v_=+Er1z z)xF^ugN@xFweaki3bVXB3?uwjsn55RD1&YMi6B+jBAEU6|0Y1ne zLxbyOnkM9BHX2f}bHa<7WG>P_pz=aP(B)D(uo1i&yvId9DaA3GTsK?WdG%g5Q5z-% zUfT;wH`Xu@LDvM>F<4<`LiFUdk7UO)oS&1>Rnv!81;V#S1gZ^;byAIw5fmjY3m)nw z?+@SmlmBCWV>bFM8|-jGB{WLeI3o9DaWo<)11@8`kh*v=cN0DNB+st4sz6R#2I0qi z4c&8ZcAexDoiEyzoZJ((D9)8bG%^Z+MCs@_Q)++#Uvn&7#CI<7^ioFM{2qLTEAfMX z#1kD>oACS6EsTK8F}{R&pahvhyt|}$lX5-EzVP=!*jL*U(=7^7%UUF#`g>m(9)4uh zN+-O*&B&PgYQ520)x+!;$#)PXM`Kgq-o1CQLPsDGuSVi?k7|gIEtmv^WewHMkLAio zl1Us*ZM8T5*j_cED4OCIiNDZ{(dj&{3{g&T+~4Y*L((GimlI~v8Q&*2;zNurHxdEX zDgWY5T-u#~Rw6AH53<&eUOA_3sJa+<`S@61`0Z+&gPPC(dA9xY-3vCHs+QQ8y<*H| zq`~2~B6ACGIIhlq0$V=$vE_&HDcwxCpLD6$_1>ZT*h{SQByL1NMw0+fOj?Wz& zFvJdbQkbJBeJ=wX#hUle7%rUXR$4yPWhM|#t(`DrC+d#^K8*!sRn%{Eee5S%bqSan z?Gaxb6y6;Dw^4Ura3@7~UnV3ahsAZxfc!%uwqZbo@PGj7@>ji1sVn}8fiB(aiz~Jo zTDXK*@oVh~gVo^Iu~o8PQNMj6)RalL?o3^H@pnjZNLWoX&@@;gDJHvX&C-&SZCkAF z?Pux@B3eZQ037cWb&FZMuP+XLz1yG`s8)?SoCs!ygWlxG$PB`Eka2i37Fv)TK{|58 zJti;S=?xo)8?eTei(HD#f`Jq8j>vX~5NRzRU9sf_ z>oxtdr~$>ax+OJ;^X)vsSztp0JYJsoQlX{)JP`NN^%4mv6u3oW-hBTdM2W@5-Fze> z9n9nd!;qg7R6d&M#&&}CPAvA|mF^4XPltG`XZl9!t)5o^flxcEGJRDAZjOjF zQ0Iea%DG$E3bP&!(93|2RCY3l5t3s3J*JOik0=hGeaJ@3@H8tD7CVRqHg&`+R3j0a8@kqB}PI}{$m!yRab zvul5lL(>3*TF>n~)*#hsmwUTtKRAA2Fnk0PENdI!9GrZLu@zyKzs+&m-IKFviqv>& kg1Lm#gqI~e;$iYPkmG5c&N-g{UI@TVLkokN>#mRg2V?7pi2wiq literal 0 HcmV?d00001 diff --git a/app/assets/images/logo.png b/app/assets/images/logo.png new file mode 100755 index 0000000000000000000000000000000000000000..28b9079872cc7fbcdc8faf3815d3b2f0c8f29d27 GIT binary patch literal 17995 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.length-1||b<0)return;return this.sliding?this.$element.one("slid",function(){f.to(b)}):e==b?this.pause().cycle():this.slide(b>e?"next":"prev",a(d[b]))},pause:function(){return clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(b,c){var d=this.$element.find(".active"),e=c||d[b](),f=this.interval,g=b=="next"?"left":"right",h=b=="next"?"first":"last",i=this;if(!e.length)return;return this.sliding=!0,f&&this.pause(),e=e.length?e:this.$element.find(".item")[h](),!a.support.transition&&this.$element.hasClass("slide")?(this.$element.trigger("slide"),d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")):(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),this.$element.trigger("slide"),this.$element.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)})),f&&this.cycle(),this}},a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("carousel"),f=typeof c=="object"&&c;e||d.data("carousel",e=new b(this,f)),typeof c=="number"?e.to(c):typeof c=="string"||(c=f.slide)?e[c]():e.cycle()})},a.fn.carousel.defaults={interval:5e3},a.fn.carousel.Constructor=b,a(function(){a("body").on("click.carousel.data-api","[data-slide]",function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=!e.data("modal")&&a.extend({},e.data(),c.data());e.carousel(f),b.preventDefault()})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.collapse.defaults,c),this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.prototype={constructor:b,dimension:function(){var a=this.$element.hasClass("width");return a?"width":"height"},show:function(){var b=this.dimension(),c=a.camelCase(["scroll",b].join("-")),d=this.$parent&&this.$parent.find(".in"),e;d&&d.length&&(e=d.data("collapse"),d.collapse("hide"),e||d.data("collapse",null)),this.$element[b](0),this.transition("addClass","show","shown"),this.$element[b](this.$element[0][c])},hide:function(){var a=this.dimension();this.reset(this.$element[a]()),this.transition("removeClass","hide","hidden"),this.$element[a](0)},reset:function(a){var b=this.dimension();this.$element.removeClass("collapse")[b](a||"auto")[0].offsetWidth,this.$element.addClass("collapse")},transition:function(b,c,d){var e=this,f=function(){c=="show"&&e.reset(),e.$element.trigger(d)};this.$element.trigger(c)[b]("in"),a.support.transition&&this.$element.hasClass("collapse")?this.$element.one(a.support.transition.end,f):f()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}},a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("collapse"),f=typeof c=="object"&&c;e||d.data("collapse",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.collapse.defaults={toggle:!0},a.fn.collapse.Constructor=b,a(function(){a("body").on("click.collapse.data-api","[data-toggle=collapse]",function(b){var c=a(this),d,e=c.attr("data-target")||b.preventDefault()||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=a(e).data("collapse")?"toggle":c.data();a(e).collapse(f)})})}(window.jQuery),!function(a){function d(){a(b).parent().removeClass("open")}"use strict";var b='[data-toggle="dropdown"]',c=function(b){var c=a(b).on("click.dropdown.data-api",this.toggle);a("html").on("click.dropdown.data-api",function(){c.parent().removeClass("open")})};c.prototype={constructor:c,toggle:function(b){var c=a(this),e=c.attr("data-target"),f,g;return e||(e=c.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,"")),f=a(e),f.length||(f=c.parent()),g=f.hasClass("open"),d(),!g&&f.toggleClass("open"),!1}},a.fn.dropdown=function(b){return this.each(function(){var d=a(this),e=d.data("dropdown");e||d.data("dropdown",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.dropdown.Constructor=c,a(function(){a("html").on("click.dropdown.data-api",d),a("body").on("click.dropdown.data-api",b,c.prototype.toggle)})}(window.jQuery),!function(a){function c(){var b=this,c=setTimeout(function(){b.$element.off(a.support.transition.end),d.call(b)},500);this.$element.one(a.support.transition.end,function(){clearTimeout(c),d.call(b)})}function d(a){this.$element.hide().trigger("hidden"),e.call(this)}function e(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;this.$backdrop=a('