From 49f93da5449b1a6c903a485b0606242541afe303 Mon Sep 17 00:00:00 2001 From: sanderroosendaal Date: Mon, 31 Oct 2016 15:18:11 +0100 Subject: [PATCH] Cumulative Flex Plot v1 --- cvkbrno/__init__.pyc | Bin 311 -> 0 bytes cvkbrno/admin.pyc | Bin 1316 -> 0 bytes cvkbrno/celery.pyc | Bin 1253 -> 0 bytes cvkbrno/forms.pyc | Bin 8291 -> 0 bytes cvkbrno/migrations/0001_initial.pyc | Bin 2737 -> 0 bytes .../migrations/0002_auto_20160515_0910.pyc | Bin 812 -> 0 bytes cvkbrno/migrations/0003_member_club.pyc | Bin 854 -> 0 bytes .../migrations/0004_auto_20160518_2001.pyc | Bin 1650 -> 0 bytes .../migrations/0005_auto_20160519_0750.pyc | Bin 2318 -> 0 bytes .../migrations/0006_auto_20160519_0805.pyc | Bin 1097 -> 0 bytes .../migrations/0007_auto_20160519_1103.pyc | Bin 1701 -> 0 bytes .../migrations/0008_auto_20160519_1204.pyc | Bin 3535 -> 0 bytes .../migrations/0009_auto_20160519_1207.pyc | Bin 956 -> 0 bytes .../migrations/0010_auto_20160608_0811.pyc | Bin 3221 -> 0 bytes .../migrations/0011_auto_20160613_1640.pyc | Bin 3746 -> 0 bytes .../migrations/0012_auto_20160719_2240.pyc | Bin 1263 -> 0 bytes .../migrations/0013_auto_20160719_2245.pyc | Bin 1274 -> 0 bytes .../migrations/0014_auto_20160719_2313.pyc | Bin 1168 -> 0 bytes .../migrations/0015_auto_20160720_1741.pyc | Bin 1274 -> 0 bytes cvkbrno/migrations/0016_outing_race.pyc | Bin 833 -> 0 bytes .../migrations/0017_auto_20160721_1621.pyc | Bin 842 -> 0 bytes .../migrations/0018_auto_20160722_1043.pyc | Bin 874 -> 0 bytes cvkbrno/migrations/0019_boatcategory_club.pyc | Bin 904 -> 0 bytes .../migrations/0020_remove_member_club.pyc | Bin 721 -> 0 bytes cvkbrno/migrations/0021_member_club.pyc | Bin 886 -> 0 bytes .../migrations/0022_auto_20160723_1502.pyc | Bin 851 -> 0 bytes .../migrations/0023_memberwork_comment.pyc | Bin 878 -> 0 bytes cvkbrno/migrations/__init__.pyc | Bin 141 -> 0 bytes cvkbrno/models.pyc | Bin 7695 -> 0 bytes cvkbrno/tasks.pyc | Bin 1472 -> 0 bytes cvkbrno/templatetags/__init__.pyc | Bin 143 -> 0 bytes cvkbrno/templatetags/filter.pyc | Bin 426 -> 0 bytes cvkbrno/tests.pyc | Bin 187 -> 0 bytes cvkbrno/urls.pyc | Bin 5236 -> 0 bytes cvkbrno/views.pyc | Bin 43490 -> 0 bytes move_db.py~ | 76 ------ requirements.txt~ | 189 -------------- rowers/__init__.pyc | Bin 261 -> 0 bytes rowers/admin.pyc | Bin 1332 -> 0 bytes rowers/apps.pyc | Bin 464 -> 0 bytes rowers/c2stuff.pyc | Bin 14152 -> 0 bytes rowers/celery.pyc | Bin 1249 -> 0 bytes rowers/email.pyc | Bin 4634 -> 0 bytes rowers/forms.pyc | Bin 11983 -> 0 bytes rowers/interactiveplots.py | 181 ++++++++++++- rowers/interactiveplots.pyc | Bin 48408 -> 0 bytes rowers/interactiveplots.py~ | 237 +++++++++--------- rowers/mailprocessing.pyc | Bin 5937 -> 0 bytes rowers/management/__init__.pyc | Bin 140 -> 0 bytes rowers/management/commands/__init__.pyc | Bin 149 -> 0 bytes rowers/management/commands/processemail.pyc | Bin 3552 -> 0 bytes rowers/migrations/0001_initial.pyc | Bin 1557 -> 0 bytes rowers/migrations/0002_auto_20160426_1043.pyc | Bin 739 -> 0 bytes rowers/migrations/0003_auto_20160426_1048.pyc | Bin 1289 -> 0 bytes rowers/migrations/0004_auto_20160426_1441.pyc | Bin 1178 -> 0 bytes rowers/migrations/0005_auto_20160426_1446.pyc | Bin 1032 -> 0 bytes rowers/migrations/0006_auto_20160427_1350.pyc | Bin 874 -> 0 bytes rowers/migrations/0007_auto_20160428_1153.pyc | Bin 1530 -> 0 bytes rowers/migrations/0008_auto_20160428_1154.pyc | Bin 970 -> 0 bytes rowers/migrations/0009_auto_20160428_1955.pyc | Bin 1507 -> 0 bytes rowers/migrations/0010_workout_distance.pyc | Bin 833 -> 0 bytes rowers/migrations/0011_auto_20160428_2009.pyc | Bin 1206 -> 0 bytes rowers/migrations/0012_auto_20160428_2010.pyc | Bin 839 -> 0 bytes rowers/migrations/0013_auto_20160428_2021.pyc | Bin 771 -> 0 bytes rowers/migrations/0014_auto_20160428_2251.pyc | Bin 836 -> 0 bytes rowers/migrations/0015_auto_20160429_2038.pyc | Bin 880 -> 0 bytes rowers/migrations/0016_auto_20160501_1119.pyc | Bin 971 -> 0 bytes rowers/migrations/0017_auto_20160501_1126.pyc | Bin 837 -> 0 bytes rowers/migrations/0018_auto_20160501_1944.pyc | Bin 818 -> 0 bytes rowers/migrations/0019_auto_20160522_1659.pyc | Bin 1061 -> 0 bytes rowers/migrations/0020_auto_20160522_1726.pyc | Bin 785 -> 0 bytes rowers/migrations/0021_rower_rowerplan.pyc | Bin 911 -> 0 bytes rowers/migrations/0022_auto_20160529_2115.pyc | Bin 1444 -> 0 bytes rowers/migrations/0023_auto_20160530_0914.pyc | Bin 810 -> 0 bytes .../0024_workout_uploadedtostrava.pyc | Bin 832 -> 0 bytes rowers/migrations/0025_workout_summary.pyc | Bin 816 -> 0 bytes rowers/migrations/0026_auto_20160608_2137.pyc | Bin 942 -> 0 bytes .../0027_workout_uploadedtosporttracks.pyc | Bin 847 -> 0 bytes .../0028_rower_sporttrackstoken.pyc | Bin 911 -> 0 bytes rowers/migrations/0029_auto_20160610_0825.pyc | Bin 860 -> 0 bytes rowers/migrations/0030_auto_20160610_0826.pyc | Bin 867 -> 0 bytes rowers/migrations/0031_auto_20160610_0843.pyc | Bin 985 -> 0 bytes rowers/migrations/0032_auto_20160615_1332.pyc | Bin 991 -> 0 bytes rowers/migrations/0033_auto_20160617_0927.pyc | Bin 798 -> 0 bytes rowers/migrations/0034_auto_20160617_0929.pyc | Bin 797 -> 0 bytes rowers/migrations/0035_auto_20160623_0815.pyc | Bin 1525 -> 0 bytes rowers/migrations/0036_rower_team.pyc | Bin 958 -> 0 bytes rowers/migrations/0037_auto_20160629_1014.pyc | Bin 1086 -> 0 bytes rowers/migrations/0038_auto_20160629_1023.pyc | Bin 1176 -> 0 bytes rowers/migrations/0039_auto_20160719_2240.pyc | Bin 1197 -> 0 bytes .../migrations/0040_workout_startdatetime.pyc | Bin 841 -> 0 bytes rowers/migrations/0041_rower_friends.pyc | Bin 859 -> 0 bytes rowers/migrations/__init__.pyc | Bin 140 -> 0 bytes rowers/models.pyc | Bin 11503 -> 0 bytes rowers/plots.pyc | Bin 4069 -> 0 bytes rowers/sporttracksstuff.pyc | Bin 8321 -> 0 bytes rowers/stravastuff.pyc | Bin 8443 -> 0 bytes rowers/tasks.pyc | Bin 6243 -> 0 bytes rowers/templates/cum_flex.html | 19 +- rowers/templates/cum_flex.html~ | 14 +- rowers/templates/flexchart3.html~ | 60 ++--- rowers/templatetags/__init__.pyc | Bin 142 -> 0 bytes rowers/templatetags/rowerfilters.pyc | Bin 1332 -> 0 bytes rowers/tests.pyc | Bin 29436 -> 0 bytes rowers/urls.pyc | Bin 9720 -> 0 bytes rowers/views.py | 7 +- rowers/views.pyc | Bin 96531 -> 0 bytes rowers/views.py~ | 34 +-- rowers/weather.pyc | Bin 2101 -> 0 bytes rowsandall_app/__init__.pyc | Bin 137 -> 0 bytes rowsandall_app/forms.pyc | Bin 1577 -> 0 bytes rowsandall_app/models.pyc | Bin 580 -> 0 bytes rowsandall_app/rctasks.pyc | Bin 319 -> 0 bytes rowsandall_app/rows.pyc | Bin 2793 -> 0 bytes rowsandall_app/settings.pyc | Bin 5416 -> 0 bytes rowsandall_app/settings_dev.pyc | Bin 1052 -> 0 bytes rowsandall_app/settings_orig.pyc | Bin 2714 -> 0 bytes rowsandall_app/urls.pyc | Bin 2969 -> 0 bytes rowsandall_app/views.pyc | Bin 9113 -> 0 bytes rowsandall_app/wsgi.pyc | Bin 608 -> 0 bytes workersettings.py~ | 10 - 121 files changed, 362 insertions(+), 465 deletions(-) delete mode 100644 cvkbrno/__init__.pyc delete mode 100644 cvkbrno/admin.pyc delete mode 100644 cvkbrno/celery.pyc delete mode 100644 cvkbrno/forms.pyc delete mode 100644 cvkbrno/migrations/0001_initial.pyc delete mode 100644 cvkbrno/migrations/0002_auto_20160515_0910.pyc delete mode 100644 cvkbrno/migrations/0003_member_club.pyc delete mode 100644 cvkbrno/migrations/0004_auto_20160518_2001.pyc delete mode 100644 cvkbrno/migrations/0005_auto_20160519_0750.pyc delete mode 100644 cvkbrno/migrations/0006_auto_20160519_0805.pyc delete mode 100644 cvkbrno/migrations/0007_auto_20160519_1103.pyc delete mode 100644 cvkbrno/migrations/0008_auto_20160519_1204.pyc delete mode 100644 cvkbrno/migrations/0009_auto_20160519_1207.pyc delete mode 100644 cvkbrno/migrations/0010_auto_20160608_0811.pyc delete mode 100644 cvkbrno/migrations/0011_auto_20160613_1640.pyc delete mode 100644 cvkbrno/migrations/0012_auto_20160719_2240.pyc delete mode 100644 cvkbrno/migrations/0013_auto_20160719_2245.pyc delete mode 100644 cvkbrno/migrations/0014_auto_20160719_2313.pyc delete mode 100644 cvkbrno/migrations/0015_auto_20160720_1741.pyc delete mode 100644 cvkbrno/migrations/0016_outing_race.pyc delete mode 100644 cvkbrno/migrations/0017_auto_20160721_1621.pyc delete mode 100644 cvkbrno/migrations/0018_auto_20160722_1043.pyc delete mode 100644 cvkbrno/migrations/0019_boatcategory_club.pyc delete mode 100644 cvkbrno/migrations/0020_remove_member_club.pyc delete mode 100644 cvkbrno/migrations/0021_member_club.pyc delete mode 100644 cvkbrno/migrations/0022_auto_20160723_1502.pyc delete mode 100644 cvkbrno/migrations/0023_memberwork_comment.pyc delete mode 100644 cvkbrno/migrations/__init__.pyc delete mode 100644 cvkbrno/models.pyc delete mode 100644 cvkbrno/tasks.pyc delete mode 100644 cvkbrno/templatetags/__init__.pyc delete mode 100644 cvkbrno/templatetags/filter.pyc delete mode 100644 cvkbrno/tests.pyc delete mode 100644 cvkbrno/urls.pyc delete mode 100644 cvkbrno/views.pyc delete mode 100644 move_db.py~ delete mode 100644 requirements.txt~ delete mode 100644 rowers/__init__.pyc delete mode 100644 rowers/admin.pyc delete mode 100644 rowers/apps.pyc delete mode 100644 rowers/c2stuff.pyc delete mode 100644 rowers/celery.pyc delete mode 100644 rowers/email.pyc delete mode 100644 rowers/forms.pyc delete mode 100644 rowers/interactiveplots.pyc delete mode 100644 rowers/mailprocessing.pyc delete mode 100644 rowers/management/__init__.pyc delete mode 100644 rowers/management/commands/__init__.pyc delete mode 100644 rowers/management/commands/processemail.pyc delete mode 100644 rowers/migrations/0001_initial.pyc delete mode 100644 rowers/migrations/0002_auto_20160426_1043.pyc delete mode 100644 rowers/migrations/0003_auto_20160426_1048.pyc delete mode 100644 rowers/migrations/0004_auto_20160426_1441.pyc delete mode 100644 rowers/migrations/0005_auto_20160426_1446.pyc delete mode 100644 rowers/migrations/0006_auto_20160427_1350.pyc delete mode 100644 rowers/migrations/0007_auto_20160428_1153.pyc delete mode 100644 rowers/migrations/0008_auto_20160428_1154.pyc delete mode 100644 rowers/migrations/0009_auto_20160428_1955.pyc delete mode 100644 rowers/migrations/0010_workout_distance.pyc delete mode 100644 rowers/migrations/0011_auto_20160428_2009.pyc delete mode 100644 rowers/migrations/0012_auto_20160428_2010.pyc delete mode 100644 rowers/migrations/0013_auto_20160428_2021.pyc delete mode 100644 rowers/migrations/0014_auto_20160428_2251.pyc delete mode 100644 rowers/migrations/0015_auto_20160429_2038.pyc delete mode 100644 rowers/migrations/0016_auto_20160501_1119.pyc delete mode 100644 rowers/migrations/0017_auto_20160501_1126.pyc delete mode 100644 rowers/migrations/0018_auto_20160501_1944.pyc delete mode 100644 rowers/migrations/0019_auto_20160522_1659.pyc delete mode 100644 rowers/migrations/0020_auto_20160522_1726.pyc delete mode 100644 rowers/migrations/0021_rower_rowerplan.pyc delete mode 100644 rowers/migrations/0022_auto_20160529_2115.pyc delete mode 100644 rowers/migrations/0023_auto_20160530_0914.pyc delete mode 100644 rowers/migrations/0024_workout_uploadedtostrava.pyc delete mode 100644 rowers/migrations/0025_workout_summary.pyc delete mode 100644 rowers/migrations/0026_auto_20160608_2137.pyc delete mode 100644 rowers/migrations/0027_workout_uploadedtosporttracks.pyc delete mode 100644 rowers/migrations/0028_rower_sporttrackstoken.pyc delete mode 100644 rowers/migrations/0029_auto_20160610_0825.pyc delete mode 100644 rowers/migrations/0030_auto_20160610_0826.pyc delete mode 100644 rowers/migrations/0031_auto_20160610_0843.pyc delete mode 100644 rowers/migrations/0032_auto_20160615_1332.pyc delete mode 100644 rowers/migrations/0033_auto_20160617_0927.pyc delete mode 100644 rowers/migrations/0034_auto_20160617_0929.pyc delete mode 100644 rowers/migrations/0035_auto_20160623_0815.pyc delete mode 100644 rowers/migrations/0036_rower_team.pyc delete mode 100644 rowers/migrations/0037_auto_20160629_1014.pyc delete mode 100644 rowers/migrations/0038_auto_20160629_1023.pyc delete mode 100644 rowers/migrations/0039_auto_20160719_2240.pyc delete mode 100644 rowers/migrations/0040_workout_startdatetime.pyc delete mode 100644 rowers/migrations/0041_rower_friends.pyc delete mode 100644 rowers/migrations/__init__.pyc delete mode 100644 rowers/models.pyc delete mode 100644 rowers/plots.pyc delete mode 100644 rowers/sporttracksstuff.pyc delete mode 100644 rowers/stravastuff.pyc delete mode 100644 rowers/tasks.pyc delete mode 100644 rowers/templatetags/__init__.pyc delete mode 100644 rowers/templatetags/rowerfilters.pyc delete mode 100644 rowers/tests.pyc delete mode 100644 rowers/urls.pyc delete mode 100644 rowers/views.pyc delete mode 100644 rowers/weather.pyc delete mode 100644 rowsandall_app/__init__.pyc delete mode 100644 rowsandall_app/forms.pyc delete mode 100644 rowsandall_app/models.pyc delete mode 100644 rowsandall_app/rctasks.pyc delete mode 100644 rowsandall_app/rows.pyc delete mode 100644 rowsandall_app/settings.pyc delete mode 100644 rowsandall_app/settings_dev.pyc delete mode 100644 rowsandall_app/settings_orig.pyc delete mode 100644 rowsandall_app/urls.pyc delete mode 100644 rowsandall_app/views.pyc delete mode 100644 rowsandall_app/wsgi.pyc delete mode 100644 workersettings.py~ diff --git a/cvkbrno/__init__.pyc b/cvkbrno/__init__.pyc deleted file mode 100644 index 4cc88b3b51ae6f2d3c5bcb6b489656011ca3cf42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 311 zcmYL@?@Gfk6vc1)XUJeEe((*1qTs%dA%i(&FeYRZq!cb`6EQ4pN|GvjQXj+@@MaDS z$w|(=znmofnT)@0Z{8X>kA(Kc0>IzVLDFPk09pnm111wF6Obv$3``1b24zmw9CpQs za7_yeMiMSbMD48^fNx;bB+E%R!5Oz5xqAlX9R86HLE;Ma zD#4QpCl))dbnW%3s-tg{;n$~+-!JL#MEw7fKlh!9=3hW1kqsyfD9|D4h{}*`L}^4e zrZgtop|nG`OKF#EkJ295KBaxOj>!bH9?-{tbcenW?T9|4L(<(NMXyziNcWEvgH|yX z>4es2WFp#eA&9%@J12a6!gIti?ZRUh&OSU5^~j7wq=$5sj2L?HgP$belkYIewJoXw zY|@2n%;ciZ{blaWs&2L(($~f=OylE&PGoOyd{M0=hRT=5`C)7Lu5PY9a_wziAw@d} zB)#CzoiQkErIAwj=xgFUx$hnJ;gz7fn^qrQ5U3R`u8zp9`6E1IZKgnGc_4vn1t4APVXU!aYLq$CVQVfB<; zDY+Ohlpe_F6`G}xPcD@!cxHX(8nfaJGtIvYLIOSCuk8y|<{mMb#epP&Sy8!wJ8XW%)Bmk)cfddYm zT}WIATpKGvQi8M$K^Yw3!n^|WD)2J!3f#FxdKHolNNW((Fa;wUz-z$kz#FvRIc|XV zCh%S0Tksv=4&W+ifT+V9y-m!(dwAFazHQ^Ha})Ruh;7Vwcxx31b_m|E{RpAQxS;Le zW_EC66D^b6h%io;IZx;9wstk$+gtRY)}G= z79!&|xhJz}Jo_UBfq&b@(%WbVAO%nWY`s6U@6}E8d%2QJad@fNEEnw(dJMq{!;GaO z3{ArxQpxj#j?{~u*Z2IZaCCO=1s4OajV@Sk`W2;g#>-oCEwk~OIPxAxH;akNtySP;y{TLs7&a#<2h>%X_zAyi<>UHq~-82Am2Nff#gEp1$Ed^qHHW-eM z`+e^uJifdft^r!>VJK}&-XtuYaCSsWYg}N;xJ}}WNA!AH1i)f@f(B0h9N?=(h*Nm_ z4x2x;7zb7nUwq1iHl62RUcXS^Y{05Gl`3V0xT;7gri9+6MKWD8c_0arl8Z?`3u(Td zQ8@w(Zc&j`Sjj!jO|DRGpTdTcaNKAd3*CI;YNt bd^G9Wa<|-8Y0quBb*Jjo-MvcFX_bBh#vc*n diff --git a/cvkbrno/forms.pyc b/cvkbrno/forms.pyc deleted file mode 100644 index 8094a3c4af12a23201a48194a259471b4158a55b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8291 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 diff --git a/cvkbrno/migrations/0002_auto_20160515_0910.pyc b/cvkbrno/migrations/0002_auto_20160515_0910.pyc deleted file mode 100644 index ef5d4ad5d68b4c8349e5738657c6e2331c4dc326..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 812 zcmb`F!EV$r5QZmllHDy->Zxyllv9hYlI2}{7jGRWO6;PZmv`hr zcmSB0UDz8Zl4$aKVtc;%9r5$@&?c}*Afa&zE`?UW zLO`3rBEzfzBVe1uIsu)*cYqzhmqiXbhugBiee5s1$^=z7!w|h)b=pX0gBg??%ap#H zU})`TP{DS7479GrS#At7lpp_m`Ahl)v+s!X2896v)HB#1Y05kqu_7BHA&4%(brCB8U?VtB3pL;Jf$~byZb!X}t|rxjiF6Nv~QHiLr~p`c24C za*oy;uY+w($WgDYahlcADSyA87@gy$|5>f1zQYuQFFuKgku=r#g#e?m{oQH*SV^IwG?Af1GUitG&gqiFu@>JxkBUZ;lDK3jhEB diff --git a/cvkbrno/migrations/0003_member_club.pyc b/cvkbrno/migrations/0003_member_club.pyc deleted file mode 100644 index 1fa508a94bc2b2fd48aa7dfca0692d235de71ddd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 854 zcmb`FO>fgc5QfK}`6x&|6;9lce5#zHB7sl^RO$f<4(|+IoC!*ii5W;v(!q7JW3(y3x3?Sh55Nrrd z1j`7T7?v@uMt~9Q5?BXdV)zd54dBx<0h7ROmQtPi7d=@(%AHd1ZC!N+m8~5P+KySs zJ97$6y&1HtyLNP(*U%|Dx*5s$e|G+op3v%BCVfW&fdS14Y=|@zo|svQjgSb$q<{(R zQZN%~YYJvYoS~TmPDsR@IECUidqCy(oWQc%EM_E>-?w zk?*0IQnk84FVNVmaBwkY$r_8w`jtyatZTH!adm@h?XBBa&|j6scH_476WS7!`T<8A z?ob^Lib?;gcZdu$E1RgGgI)8ULa#@sMvAyeT(*IPZv zlC*F`6GJK2^)x=2Rz|1b7{)8kdRg}OZriox(0v(oYqYhx@5_U&<#E;}x%*5t;+tZt z&ing7X1cHeZr{# diff --git a/cvkbrno/migrations/0004_auto_20160518_2001.pyc b/cvkbrno/migrations/0004_auto_20160518_2001.pyc deleted file mode 100644 index 96b8485f0b2f8dc4fae29406bb9314b24a86c58a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1650 zcmb_cTW=dx5T4z&oj8{|jnZ&0P$)G;jhu23LI@F3BK094xseK%rPZ-#Y@cLr+C3+& zc@6)OSAGC*`~aAlUDxo$3tsE&nRC7~^UXJNHu`gS>$m%dKTVE8B1l^>YC+nDQJWDhpcY(qU={$j;a7kgfS*SlIrpsJVW0Ld z{`CW%xji0yW~Vt)oLEPtNva?Ep=@pOklJ}^oXxY!$-$IiN#(jcJzwp-qP@?n-wEwg z_Dmpbu@7^m9Rfvg*%AU60rO*8)E0`^0onlE&~X!J6R-=o#f)1s25&2@D+!3Xqo(Yt zxvSUzTSk8BX5XL zd{bC49|7+w_$>v$y#jOe1E3yU_5j}jybJg);Cq1Y1KtDt0B$zK&kaQDa389N`zsH7 zfFA)qXkc?L=4}{0>wm(6`VAhY*H@D=%e@q9Fc^Fqr<6{pjHij8xE3#FCM7TRI@gWo zd3mMvnpsM)@={KVZiipSyF8wjWE`Q}=7plPsVSH76)m-{6_wT`_7_t4HI1E0NErvFQI;zW{*XTbB zxJIqi5CNKbz4=dh{-sr4=sMYsRiHRl#p0MRs!xbbsX0=}O*NZaEH7rq9FG-pX}Ty4tf(}gK(ODLTnu8}7Re_LvE zm-ocY1uMTsOGim9T#vWUO}4zqWn6p63;sCir>M^eSP#|rY@U8KE|zYQXX7$|QJD-) zl9-|xHx(JLKV)ORL7&BX4;~MWzZiUe{AK)jFgQLcmcxiWX=gm-Nhj*Ixe-{_-It0r%Fn#>B`ZJVB^b&DP~Gs-Wb^z8Ct3g%T%)bi(Aoc&i+07= Sbsu~qc~x?G_QIXuF!~$i0CboD diff --git a/cvkbrno/migrations/0005_auto_20160519_0750.pyc b/cvkbrno/migrations/0005_auto_20160519_0750.pyc deleted file mode 100644 index 2f133f775072e3af3c32da31bbc861920fa6904e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2318 zcmb_dUvnEZ5MTRjw@H&Uw2&5Bf+@7P{7IdZKwClw>ZVg32s2J+3LekgoKLc?M0e-8 zlU(u~9{4nT9bWkk{QzZmWyNt)&+vflkyqN^{_eNhJt=s-y!iL+wO?bHd;-~5r;$#^2n$xEer)F2-AgGK=WtsIgx!6 zSD%pVzc5?^sTB`lfU?UV130LV01*J{Ls_B*vPvq&1rQfOEPz-Qd^z}le!P$5s2?V z?11|J{Shj@J0%hSwWL%Z2*ejP^EWZ_nG z^PA@O<^wdEo9@M+Hz7=;MA`~Mds$=*8N70FvO;f_sp6!sq!unN`aRS#9hjk__scBd zFqU~QE2Lwick2nV)ms>BJrmKYb#&Pi{~kS?B&T^HBU9K*Xz%6qtY6>fIZ>0YI5KjO z2xdoR$%`-$PXVITzw*^jI?>K~jaQm(GjKrXdK z!wnk#+*tw6VV{Ce5mF9FXl!99BpzlemaaOvEMz|B^VAY7ij5jO32~N;v^2Q8)J1uO z*$@KBk%-UZ|Jt4oOf@_GxHEGHI;CN1Iv2IsRMX7N0ZwFkqp^Y^h8i~HP7XtE_%Osv z!)l3B>Kh?PSQMGYN)~Otfv9{;2NY*C1F%E05W$zZ{!X+H} ze_Z(qNc;epS*Jwe!~xqH&(3SVZ+6!E+3$Y4H+(mT&Ew(!Ik-^2MTO(%fCR`Lm^k3j z+6C#t#I-&TqzAbV6Cd&xOj;P>gYaP)z`_CEf-eATfcKMt^2T9+HM3v%gbr$YfWj2n zTyc@eOpA)i`c3GPtBWGf(u(O!6}6_s9K&R-JE&gXc>ciNN9#Gk{)&nKLd$PMim+V} z9xQzVz&${G2#W_GT7;7C0B-~D0PiADcMaY)_?8Xs-2`J~A4D6L7{3dA5BLE1zEuu@ zAHo^~u+Gt@PKr(HKs*kI2*~W9m|uUKRfRHlP>-T$lrW=J@*p}ri$CS>8Ytp;6N2UJj>_n)NDVc*)~wPx%Y`NeTr8N8I{S``j5f{=Nwi6XBz}C}1w&=W zlz03Rx4wUc+4fBTwFx0H)KoOFIFrP-B}s4qj1;&eCR~)F;G&o#>ex;brM-|iMX#wH zv26!oxn#xaN|Ce<-A5ZCBVdh%_Tp%7v;dAD|L=9lzrQ_}+D!e@G4A5MLN=DkL7G t31Yf6_7?CZD^hjBXO_PuY^!eJTJ8T~wukbxIfiG1zor2lxIJg+{RVV#_+kJ6 diff --git a/cvkbrno/migrations/0007_auto_20160519_1103.pyc b/cvkbrno/migrations/0007_auto_20160519_1103.pyc deleted file mode 100644 index bff387a2695a2605e72fb3af04adb85ad420cefa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1701 zcmb_c$!;4*5UrUZsl}45U0G~LIVfRbM;XO1odiJ;uQ$g4m4i(X7&NDvWK*+Yrdy8A z$_L~}@)h}rT>TIEfTXI1lx)f{d@w=uRCm3qdbM;1|E@0ov%m8^hUqV$?=Rp(^^63h zzXu6G>Os!~kM}+#KJPR#`So36@lLiNvQf%{lFDI(@*j zkI1tIW{YhY5p5rI0Fwq2zyOG!sf8wVkZ3JH=M4M{$l?sL#QZzBd>L|O1|fkVE0-aw zGsx8%LZA6S*JcnB*vs1MkS5?dAZdu}2H+;>7EBfZw?Hq#gg9;k?f~uregyb2;3t5e z!WjXs1KyyL`)3evPOtm9IrBrAeFpdy;Mah+0B^&Hs@lWNN;42@1uGDSU9 zF0tknrEOScI5ES43|}y_!ONe!t6(n`gY!6Izk81;*>8U%?~(__vaS;M@i;dzrN{nC zUFq^fu8F`@Y|V*wi=is-p;iKZ=A7opmLZsY^%D<++p>7AGnj~-6>lf_AMgZ$82|tP diff --git a/cvkbrno/migrations/0008_auto_20160519_1204.pyc b/cvkbrno/migrations/0008_auto_20160519_1204.pyc deleted file mode 100644 index 7ae14603caf5e6f9c984e8f01a8d1fb6beab3982..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3535 zcmb_eTXPgu5bnJskU-=rpeSyYQU=tp0Sy-|gaiPM!8}xECha7W|q$~?lOCrHusucUG^sPB z-a%fA+f-uWyTR}71)ml0dn3T_=iq|^I|o={AD>J9R9`4NEOh^s?KIM}ru=9pX`0oylkH-@5fJ_l&m zN%_~-@)$YFgzd5^F8s8 z%zQJ#^Zi{W7f8QF8;I@!sc%U=B=v~YBB{rumS`Jn;pfRvHr&wz*-)f3sdZ9~T(K*? zoUoH;a8gF3jnlMxgqByPo9HFk0bKm{W<7~bb{gYqwR*MYW!BU#S7+y{U(8;w&CXV@ zShO38y+~&~s2k5(wlpp2TN!uL(5UP%?rojaO{#0J(b&-0iGiJ3E6mUb#e&`Wp4APL zbh0A=Zn{aJE3oap%A_sosIC(^-Vb%`h+|;dI+HFc`_E0XDO>dl|r zv!SsW$L(V;M zB7$?+$`0WYcXzgQn*$4kMx3PDv#IPoF}}8ysQW6l!Zx*@%~Hv<-!y@*(~KECM|xZ) z+D3VTYmic36(`;!l5I2d(4mr159vpS#9HrO2EVPnm zsUSz%D^8$OD{n26o#a&~o0)l(Zy_%q%fk<|x;S{q0}i@rvLxl&fC?*NNwsjgX?t<^ zWu=K!#2umJ8_#bFahrhW%Oslu+EY;w2dTwd(zqDYR?^*RBSt<>;cT(KgKR}IlJg|A z`_4J5>aolGJe1MhfizgatmRo0#0MV3Jf?00e@oz6`CR`%?cZsHtZ{}eF}|4r#flN*M@jb^cK%S zl6BzuHo)V=!u2*W%+L2t)Cx5xgVmr+kKFH)ewL9WT~s7~a6EJ?UpOvh|J`65cv#(T zoyqMZ@%{-Tbl&$mDE9u&kmmYFMtggX+jz4g9fm8sue97YCwM=7xm}ja$T~U5h+?@- zR?Mi1IRqF2Cpak9zy(25|ZON^gCd1>39mdS8mefB|lRB3O8UE%*em0eCx!_}n;-sHgf#PwbIrhh&;U z%?-*-D=RCZ>zA?5r5>4FEh}M_DQe3HbNWozwoC4d-<3bGxz!VfoslDf(c&do5^Nu2 z0IQGzU;u=VU||HZ#VD~2vJI;?U9k37XgRF!QVi@-8ztt{6Hk|ReUUPbIUg}4T>~e2OcCr&{fxr1`_uB=zBk3RG9PPEpwL>B<#Z>+ zbbn>0q{r#sdfYuK&r`nRZs$BO3c6v}i|7~gK6m66jcqC-mr@GS11|6hT!~_7j&SBU eI#RCN9;WmDA6B=Z2isLYWZX4hprPOQ4ufBF?AA#D diff --git a/cvkbrno/migrations/0010_auto_20160608_0811.pyc b/cvkbrno/migrations/0010_auto_20160608_0811.pyc deleted file mode 100644 index f3783923ee44e677d5c2779336c728fde98e664c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3221 zcmb_eOLH4V5N6k-KoPCn>12}QzKkx&fyGI*2QUn)VuGMVM*WF(~re_O(EzJLM>d5^T z4F3xFdj;~4-o=H){~QDWVGbHO$kBTqf;=?xyjOsr0AUdtMF?l0F@uOAs3NSDU^NGF z2EGT_1bEOWk>0&Z32pj+<6k9*E3+RTHu76qDlhPjN<@%;R>{-WJU&9doe1OWC^e)Q zA}mPF94_x*1SlWdA z2r`#J<{f1BBxFwpS#S{i8Mm@GgY0vV{W~G(`~Y)7A_qYp0#$-Fq;eSKYaow+Jc>!n zZ$g1s?F1joz_ScHjb2eNgZQHN^kB^ zM@pyI*XapL4qVB=_=?QmnxN!hW0bxEc^~8hXk$T;4`SHSI3G+j@;Q^az>1)YcP3mo zST%z=CbcQBvl+}K+(mb8B06VtjCKR$*U&~v$obtVoU!rzw-(ClK1LRHqzXkGR zke|RNW(Mutp5l5eCo3So0r@RRFYB&PhnXQGC(uX{<82>;#$Kr3t9*y&)b7GZtJiHN zk+w&1U9DCxc)}X(ovqfEs_)e4OFkfx4#Ca^Hj+dtVoDD0`E zsZ-@Kd2_R!?4vEpRHZE+)EB41385)1lP5V#*!`V>1a?@3Go&Cjuh@vd)V9<}4 z+!lLNk5tPV+@x~EiS8+h=}QJA?l7Cu~Jx1R`oFpQ_AR z>21hCAM3BNdX!WZN#lpgwZ07kTSnpM&z~q6>n?JVn69nz_G6KjZC6KF`v{wYIu|V` zhIIWu(U8wqE%lvG$;UenA3yv)@2a!?qe$6(qEeOg_>yHKiQ1rd%qr=NmhpRvnTswi zGglaJ94N{L*_JvZvcwKMU0 zoj#iR4E~IZQemz*mn-EC=U@FS<&N=ADR*%A`}Xj6Tz+~Cm*F$q;&A`un11$tZYZx% z7Y^&UYK={>esvT<{Wxt9bGe3>fj%RfTt==CM>R?pul~QBac^C6-E^7qmr@t+&+o|{ GDf|OTFzH(W diff --git a/cvkbrno/migrations/0011_auto_20160613_1640.pyc b/cvkbrno/migrations/0011_auto_20160613_1640.pyc deleted file mode 100644 index 06e73d5a89ed013cb0e692c4906ae2d338b8164d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3746 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 diff --git a/cvkbrno/migrations/0014_auto_20160719_2313.pyc b/cvkbrno/migrations/0014_auto_20160719_2313.pyc deleted file mode 100644 index cebd63e56ca16a1e7045d739b924f08b351d39b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1168 zcmb_b$&S-N5G^mUlT0#%83+=mxghy8$}+4%h;6vBDB%EBB&(C|gbwXRcK4t;ho9iU zcX8zpIPd{b)k%mzLK-A&t6W`Oe*Iom+56sZe!0bRp|!0&$m0jXdhtoG12~pjsRlIyRbmo zE(i~nJ`vy^AU~wV0}wT0$wLq!EJNUR;0@qS;CsMZz}vw0VTJKaz&ohHU4gg5xomL` zE{1cs#kukqoU8wcv*ok!Ag;q`99=`rCPXtkdp|9++)$v`>kkuVbe;@){ad};{kzFv zaB_29St@0cu~ZnUY;Ls77TQPG#;C-VW~J6L6}pD2xfF_PI)aNiGfK;^xR4Z(hh*qP z*(P&D=GCVVbPK&RQBLzptk0sRjtTeZH3Ay~F4;^}W)D4)an7`$BjugXA(%P_Pcy#G zC1^`&n`6i1qM{>GqzN#wOp?TwAxUtij1sscu3QvILS!>3s*xQ~BK%00%MKOh|y4PnP^IbH834~qIh diff --git a/cvkbrno/migrations/0015_auto_20160720_1741.pyc b/cvkbrno/migrations/0015_auto_20160720_1741.pyc deleted file mode 100644 index 1a073758e56d82cb7e457fb76ae287575665ff8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1274 zcmb_b&2AGh5T4!5PxIH7A__-9LfTW5w1o@F@& zr4!9XB2z1JCQTgDP92vlo#o7?S{X}m8G1?c&el-wt+#%{-bU*yg8dZ*0fd(C!3<%C z9#DyZBL>8Wuy_ST8RiHVfuXtuyoNx-YlsT;8|V7k8GRZcYA~rfOzOD0*9iZ1!B_xxNy)v1Qb!sgT?@QObp6R&XC~eUr2!)>p~f zJ&}z??x;P+vfSD<6PD0%F=b9#f5@fC$J&Sj12uU-uJ_N-*HOBhO@wg-L@3TNAD!a1 zP(M|?aBHFB6RfxW#QZA{F+sL;VB$d}iDxEBaJ-xps8X$5EHJ-NlT?_#A61Gt;ruPp z(f8Hwpryyu@=Vj}H~dj25(l|Z3F;dxg32o_L_41|HPfD5Y=AT#4b}NcD`DyWDShRS z(hIy2{szQoh0S74QGNYvv{>46twz`{!xU#yvc+PwYRG7Fe?~YIkAEGCgHF;tKI*m? z%Rc4vJ$r~kC90KbK?UD?VexxvUThzu|az-@5qDj z05CJVuvZQ^(d6$L+xg9mlbUIey<^h;Rc1mHv$9DMzD+^qInD^hBkp^ z0&NP*6uk-P1hyHhBTy-P2Y3Ydyv#slaF>tpoaPsfJVND9(FEJnPHABpuX|~RJf_GD zP1|gG=^JMUPy1S2Wd=V*dHW~wm-GpG-x2A16dDLn&0vG1G4rIvifo94AZi3UgY5{^ z81xv_1k@Bc<3~tn%LK~1oK6g5H1*eqRc~E*j=CrouY?TViSuG{QCyxEVsZI$vBxDo zVP&fW;kw`(yYVSX_L1mit$l`K-Dsm&t&Fq}o^y8L1Ve}4%}ZRnFUG%8e$!{3wj~;r4m$~dABR+))CV{mtd4k z(`huq=Of>qLrUx5LyswyxCHo4sI9acH&-i8iu2%;j%=*{10a|9&AzBt1Upb~Pvf)X EH)$ok)Bpeg diff --git a/cvkbrno/migrations/0017_auto_20160721_1621.pyc b/cvkbrno/migrations/0017_auto_20160721_1621.pyc deleted file mode 100644 index 85547a44223c2de5ec6d69441e89d9b99e0e2f7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 842 zcmb`F&2HN;41nq1H0cWT)blO{yi1Yf&;r9SZ2h}+2luiC1_Z@YGNrO)SW<_cyLaq^ z>;X1X$(rLXvkjW0MCv1{?AOuc<@Drh3%e)7|0hVnU7;fIOF#p32`myw$WB40&}Fd5 zpvz&Aqc;PY!KQ#!0wRZ>0M7v576pg`?yC~>sNeWh32OcrMKG$hLNcwq9JqE>N-Gl- zomvmvD{GvmxDIz|=f|kt{atw_Jw)#%kzS)BfdIuJtdTU0JUOu<8zLcyC_xsmDM5@t z9Do>um>_5R3>k%tpuVr(V4^TW(LO#b2V(=lPN%bTW`kE|%?94eEhm97!#f#>bGz(w zRHN?z6``Ex2KN_etd!KkQ)(esJZP`zEKlN54omCgHrWw6u6KcNtB3AgY|THJDmu`U zU@;G4k&-cNV9*jxI!VZ08X--qq^sjFsO6tE4&j#g>en&cYRi4}#XPphF~zA=7yx_W zZqU4X-}F!ZyEV;Ve>iRg*P8czvuk3rpJ{`=ykIBW4;X6N(SS^reiy`usg zF_qakA15WgU*i4QRkI2{3|LK#TOi&FvEgQI&%`p;6AOr$_J~pYf1I(&AGU4%NX(9g Jew?0Ue*ldj!8-r| diff --git a/cvkbrno/migrations/0018_auto_20160722_1043.pyc b/cvkbrno/migrations/0018_auto_20160722_1043.pyc deleted file mode 100644 index f5fa6cc1f69ffc636347b0e1d7dfd7163f940050..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 874 zcmb`F&5qMB5XUE<{a{zx)A9sJIjxd{b`e5op@IVv9I_msiex#p+otQ-QS2=28Qzfx z;Q?UADOB7zkVezV#Qx_u|8ex=bpHL(`NuUJt_c6HAq2a`MBp8O0%!wR1rX442r7g& zf>i`<467Kc5y%Mk32XuoF?<8~3h-%_fJopbOHrr!iB}e2=FTt-x>*|`nQENuxw2VE zZ{`@*dl4@d17KkHbg=Yk%CNM zpMscxoPd~un1Pssc!0DK-n4NF)TO)e_=}Mt=l!|Ft`&8ce1aI zm7^?)EJqRV)xY9p9D{vLo1RtOz1taG_2#qXT5zR!*Hs65tK-ZobouFD zE-zS-KY4u7-IsJOsS!(TX*7#xL5jck{(K#}+6->!v8xi7fIl^2&-K<^h}!q%8}Uj< XM4$aXPH*<}(cTxtZ0RJNh3C;PB!9(* diff --git a/cvkbrno/migrations/0019_boatcategory_club.pyc b/cvkbrno/migrations/0019_boatcategory_club.pyc deleted file mode 100644 index 1b68d38103cb7abfd0dcd0a069543e1653ed4379..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 904 zcmb`F$&S-N5QfW3oP`OR({P&`l24-~AT}Wc1kDYEG8c#i|>?-vGV>d|viI_24E=NT>WsR~k^}&M9b+atrD=($Mq7%t~y8L?9{w?7=nx z)%Rr$Kn+2SK;0wSNSy)pDT#Ue02VjteG={Z6!P7dtgTJ=fbz*?`b@~q88MqopG=<4 zW@0*d{OEwrtfH0`c4xFSGt%YKVPV?6i)p~maFXjTb3IDdC2HmP9}3s9)9#=n?}Wy> zaGUayrW}jyu+5CcgF0)>S%a-?TC~{iP#h(^mH*0}vaxPJL3n8)Jb@78d#8~;`R587 ztQFRIiFV<8$UELBb-#ZqXZ)EF-d~w&*SM+kGp(gvDrnCx9!M@{NFILUoZA`st z&8?NSl3L5ASsiU(oleAx+T q)q)m*KU8Wf>%v^A%-7{h@meQFpZzyb@Ab=ryRR79ax>4vi|7}6BGTRf diff --git a/cvkbrno/migrations/0020_remove_member_club.pyc b/cvkbrno/migrations/0020_remove_member_club.pyc deleted file mode 100644 index 414fef5f4c99641308fe9ed8bec4c3dfcfd4c160..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 721 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 Kx8a_9ho#?UD=(M; diff --git a/cvkbrno/templatetags/__init__.pyc b/cvkbrno/templatetags/__init__.pyc deleted file mode 100644 index dab59a3b7f542044cf82018f253ce6b11a391829..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmZSn%*%CMRV*Tz0SXv_v;zu6l_eSZc`-%# z<;974DTz5bi3J5Q$z|C|MS1x#C8@auIf*5yC5h?9G4b)4d6^~g@p?cl96-%Bx%nxj NIjMFaD~f@b0RV)~Af^BS diff --git a/cvkbrno/templatetags/filter.pyc b/cvkbrno/templatetags/filter.pyc deleted file mode 100644 index 0dd10c1fbb65e716c9232055cebfd9d2799652fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 426 zcmbtQJ5B>J5PkM0Btk@@f)gNZm4bo-A%v6`rAQhSxpCHJ@#6i+c0iHn!W}sX2Y{Jf z5C>r7dEU?I%jt2xSo?^&~s{roXL1au((#; zK0URK3hisujnUrgu2aR!^ENcC`kj|_8P%in$%Z)zW+WXlM@+M;$J~&oLN4o~ zx+&Wg(`iC*@3ujQegBeROBYGp9~^qExWV5A``v$TIi+?tb!&Fs-tyxkf9R<^k>6>t BUef>o diff --git a/cvkbrno/tests.pyc b/cvkbrno/tests.pyc deleted file mode 100644 index 6bd68300fad7a10d0ac2811b61c5cc80208ca1aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmZSn%*%D>rD=FF0~9a;X$K%K76B3|K*Y$9!@!Ws$PmTIz?j0s5Ujxrl*s%K1R9J$ zRtX1?2uUq2aZW5w_0s@pFX09fDOrhm>G^skK$##Qmq7!SCy2!{*o!*6gxJ_DD7<@+U={xCW2bc=32#qcK#H%CEdZ ze&x;bAbEg9-5PnM@nA1b0K&-K5e@oE~!CBlUuNk^3a~kV-#s2FUpUNibpGOIQzi zKS+L062LyhA%*>j!wLsX97G&Z+94B%O&mcSRmP);V+zL*#}$s7VqsXO(uv#8ng55a*Qfx``VmZko7- zIIqT1#07=hh>Hq$Ox#6WQrZ;avcfdtio!h;_f5QKjy*6jV`3I@Re8RTxTf$U#C3&- zCO$yiP}+|XHx+(j;-@BlW{!Pm;^!tFA#N$pUm#M2$B5esADNg#+)>&S#9f7tO?+bF zsX6wkiO)=Yj+j!OUm&Ixeu=oJ@TG~b5cie#HR3&mZ$d1+BuK7OjWrE)b( z`9J_}-4`?hmLIR^T3FSE{a4wj~Z(Q#xTg;|TzCCsr=T?d3@;CdLy>ynN zkk^YvAvblDr=u=fT5m?J<0hnhB5G#YHsxzkDXg_@=koS`Ix8$3MtRc&x{b#i_nLv( zXw((u-$X_FNG9UlL2!=R`fM4k)po-vf6&e(cGZ-xw;E@&iYS{l!7RE?O`4s6ucF5+ zpNYy7)f_u#>oVHLYk;T|pQ;z9x7*YNRW-E&AU2?rL>m);O zBOd;TG#z&0lJb={!zkZ~Sj1;76|riWI=pzp00wCY1@TE-h)iK-ayz2EJ)PstmXzyP zQ*0TuF2*-V0)nM;SM)l_Rjt&Uu-odIH1%LCW{ z0cVZ1XOmg=Hy!*nPpx;D%G@Z{i^AAddk zEiHP$``|=rZ#T^!XoKFSGGdeu$AbM{%;IL?JkS&#=7(^%-0N{*+K_DYKTWTg_G{SS!0M$wQkY~dc)W7rvw}PRPXS7s8?HWqe zPDwSqr{3jADa2aqV5AVPRL5*7qyl=}#{Dcs@Oq(06qOW1tUOC}_d$^Kg+k%O-7PI) zU9tl8c*45yy3mCXGhG-42Ksni6HFKEop4DpHc%)&ys@rpya!Af9;*6cAlyxwa78pu z9k(pF%$xk^;es=}$)K@7y}Yz~)N56W!==G(qzXmq;?@Pz##&*(^dgl$8Y|N4Fi5Qa zIuPpOrP%VUpw0}LA2RxOTn5a&U0)KgF-{#CQ@v!()m6_}zWy@yXjq{0pZYkv{+c diff --git a/cvkbrno/views.pyc b/cvkbrno/views.pyc deleted file mode 100644 index be4e03a7ca2c08778838782d7b04100d675b5fa4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43490 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 '1.7': - from django.core.serializers import sort_dependencies -else: - from django.core.management.commands.dumpdata import sort_dependencies - - -LOG_FORMAT = '%(asctime)s|%(levelname)s|%(message)s' -logging.basicConfig(stream=sys.stdout, level=logging.INFO, format=LOG_FORMAT) -logger = logging.getLogger(__name__) - - -def copy(model): - table_name = model._meta.db_table - logger.info('Start import %s into new_db' % table_name) - - table_objects = model.objects.all() - for t in table_objects: - t.save(using='new_db') - - logger.info('Successfuly imported %s into new_db' % table_name) - -''' -Please note that the id for many to many objects might be diffrent from source table. -This is because id is not specified in the add method. -''' -def copy_m2m(model, m2m_field): - table_name = m2m_field.rel.through._meta.db_table - field_name = m2m_field.name - to_model = m2m_field.rel.to - pk_name = model._meta.pk.name - child_pk_name = to_model._meta.pk.name - - logger.info('Start import %s into new_db' % table_name) - - for o in model.objects.all(): - pk_value = getattr(o, pk_name) - new_o = model.objects.using('new_db').get(**{pk_name: pk_value}) - for child in getattr(o, field_name).all(): - child_pk_value = getattr(child, child_pk_name) - new_child = to_model.objects.using('new_db').get(**{child_pk_name: child_pk_value}) - getattr(new_o, field_name).add(new_child) - - logger.info('Successfuly imported %s into new_db' % table_name) - - -def run(): - logger.info('Start move data into new_db') - - app_configs = apps.get_app_configs() - app_list = [(a, None) for a in app_configs] - models = sort_dependencies(app_list) - models_with_m2m = [] - - for m in models: - copy(m) - if m._meta.many_to_many: - models_with_m2m.append(m) - - # Migration model needs to copy separately as it is not in the INSTALLED_APPS - copy(MigrationRecorder.Migration) - - # re-create object in ManyToManyField - for m in models_with_m2m: - for field in m._meta.many_to_many: - # data for field that has specific through model should have been copied in earlier steps - if field.rel.through._meta.auto_created: - copy_m2m(m, field) - - logger.info('Successfully moved data into new_db') diff --git a/requirements.txt~ b/requirements.txt~ deleted file mode 100644 index 1ee0d957..00000000 --- a/requirements.txt~ +++ /dev/null @@ -1,189 +0,0 @@ -alabaster==0.7.7 -amqp==1.4.9 -anaconda-client==1.4.0 -anaconda-navigator==1.1.0 -anyjson==0.3.3 -argcomplete==1.0.0 -astropy==1.1.2 -Babel==2.2.0 -backports-abc==0.4 -backports.ssl-match-hostname==3.4.0.2 -beautifulsoup4==4.4.1 -billiard==3.3.0.23 -bitarray==0.8.1 -blaze==0.9.1 -bokeh==0.11.1 -boto==2.39.0 -Bottleneck==1.0.0 -cairocffi==0.7.2 -cdecimal==2.3 -celery==3.1.23 -certifi==2016.2.28 -cffi==1.5.2 -chest==0.2.3 -click==6.6 -cloudpickle==0.1.1 -clyent==1.2.1 -colorama==0.3.7 -comtypes==1.1.2 -conda==4.0.5 -conda-build==1.20.0 -conda-env==2.4.5 -conda-manager==0.3.1 -configobj==5.0.6 -cryptography==1.3 -cycler==0.10.0 -Cython==0.23.4 -cytoolz==0.7.5 -dask==0.8.1 -datashape==0.5.1 -decorator==4.0.9 -dill==0.2.4 -Django==1.9.5 -django-braces==1.8.1 -django-celery==3.1.17 -django-cors-headers==1.1.0 -django-durationfield==0.5.2 -django-modelcluster==1.1 -django-oauth-toolkit==0.10.0 -django-rq==0.9.0 -django-taggit==0.18.1 -django-translation-manager==0.3.4 -django-treebeard==4.0 -djangorestframework==3.3.3 -docopt==0.6.2 -docutils==0.12 -enum34==1.1.2 -et-xmlfile==1.0.1 -fastcache==1.0.2 -filemagic==1.6 -Flask==0.10.1 -Flask-Cors==2.1.2 -Flask-Login==0.3.2 -Flask-OpenID==1.2.5 -Flask-Uploads==0.2.0 -flower==0.9.1 -funcsigs==0.4 -future==0.15.2 -futures==3.0.3 -gevent==1.1.0 -greenlet==0.4.9 -grin==1.2.1 -gunicorn==19.4.5 -h5py==2.5.0 -HeapDict==1.0.0 -html5lib==0.9999999 -httplib2==0.9.2 -idna==2.0 -ipaddress==1.0.14 -ipykernel==4.3.1 -ipython==4.1.2 -ipython-genutils==0.1.0 -ipywidgets==4.1.1 -itsdangerous==0.24 -jdcal==1.2 -jedi==0.9.0 -Jinja2==2.8 -jsonschema==2.4.0 -jupyter==1.0.0 -jupyter-client==4.2.2 -jupyter-console==4.1.1 -jupyter-core==4.1.0 -kombu==3.0.35 -libmagic==1.0 -llvmlite==0.9.0 -locket==0.2.0 -lxml==3.6.0 -MarkupSafe==0.23 -matplotlib==1.5.1 -mechanize==0.2.5 -menuinst==1.3.2 -mistune==0.7.2 -mpld3==0.2 -mpmath==0.19 -multipledispatch==0.4.8 -nbconvert==4.1.0 -nbformat==4.0.1 -networkx==1.11 -nltk==3.2 -nose==1.3.7 -notebook==4.1.0 -numba==0.24.0 -numexpr==2.5 -numpy==1.11.0 -oauth2==1.9.0.post1 -oauthlib==1.0.3 -odo==0.4.2 -openpyxl==2.3.2 -pandas==0.18.0 -partd==0.3.2 -path.py==0.0.0 -patsy==0.4.0 -pep8==1.7.0 -pickleshare==0.5 -Pillow==3.1.1 -ply==3.8 -polib==1.0.7 -psutil==4.1.0 -py==1.4.31 -pyasn1==0.1.9 -pycosat==0.6.1 -pycparser==2.14 -pycrypto==2.6.1 -pyflakes==1.1.0 -Pygments==2.1.1 -pymarc==3.1.1 -pyOpenSSL==0.15.1 -pyparsing==2.0.3 -pypi-data==0.1.4 -pypilist==0.1.0 -pyreadline==2.1 -pytest==2.8.5 -python-dateutil==2.5.1 -python-magic==0.4.11 -python-openid==2.2.5 -pytz==2016.4 -pywin32==220 -PyYAML==3.11 -pyzmq==15.2.0 -QtAwesome==0.3.2 -qtconsole==4.2.0 -QtPy==1.0 -redis==2.10.5 -requests==2.9.1 -requests-oauthlib==0.6.1 -rope==0.9.4 -rowingdata==0.80.4 -rowingphysics==0.2.4 -rq==0.6.0 -scikit-image==0.12.3 -scikit-learn==0.17.1 -scipy==0.17.0 -simplegeneric==0.8.1 -singledispatch==3.4.0.3 -six==1.10.0 -snowballstemmer==1.2.1 -sockjs-tornado==1.0.1 -South==1.0.2 -sphinx==1.3.5 -sphinx-pypi-upload==0.2.1 -sphinx-rtd-theme==0.1.9 -spyder==2.3.8 -SQLAlchemy==1.0.12 -statsmodels==0.6.1 -sympy==1.0 -tables==3.2.2 -toolz==0.7.4 -tornado==4.2 -tqdm==4.4.0 -traitlets==4.2.1 -unicodecsv==0.14.1 -Unidecode==0.4.19 -virtualenv==15.0.1 -wagtail==1.4.3 -Werkzeug==0.11.4 -Willow==0.3 -xlrd==0.9.4 -XlsxWriter==0.8.4 -xlwings==0.7.0 -xlwt==1.0.0 diff --git a/rowers/__init__.pyc b/rowers/__init__.pyc deleted file mode 100644 index 442ccdd85a9f553255684f8f663b2d219ec53df8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 261 zcmYL^K?=e!5Je|#1rbD7oh#!_9p zH61C`b!#2z5PZ`(q-}c~rf9+r@zzo26k^T}DAZBqA3h)I0&-PGxgL2g4ai^on(bj* qwmsc#Q#$+fRU<277!6K2Un1&86XJ%UG2^@1%Fd{LX!qf_^XLPCzcr%( diff --git a/rowers/admin.pyc b/rowers/admin.pyc deleted file mode 100644 index a32b49f6b28d0482fa19f2c21859ead8f7b0886a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcmbtT+iuf95FOizb7|8C6;&$Y72&6R078h11nL7kxI%zc$=YU@*6sQt?}jSR;WyzY z_y9OFPLo2PP~&(#XLdY3b7nUBH5vbSa`<^p>tBTDOWf`!7L9*EmZ%IU3n*Y5k`1Yh zD2qBAk?m30r>qa$Bi$z(Q#qh)K;@9KA(bP_M%atV1avv3uL0=+eJ5HGeaUu656ML0 z9c{c3>9K_G%Er!SVr|#xDtA z`92n<%cAPw2=Jpb?W?V;w{{gApRiQ&Qd(b|)(-$b)$LWi@O}*YU8|al<5Ha)zXK>i z$CWKAvk{xqyvFSwVKKxSn~;??J=PO)XECKGTY4>jDd8{qA(lL^RB7^DzL)1^trr$B z-7tg4SmF3qS!X0}uBsef-HdGI}m$nLW?K8cS&`MJgil5j^o~er0rb zHo9i>`FYQ?D?Le>w5aO}=*^ppsx{}31gi6#+<<#1BYB>KC63Swo)Y&E%QV0hKJFd$ M52K@K8XVyI12G*GAM0=a--9zjRwByveyqLyd`RE#g+6L`&I zs2Mit8I8BUbW%acCsan$Zmp_I-THc{w3|8?)OqUrwKYw<^H;<&`%w>WdN}&xEi3kQ zL!buRAvbx1Y!mj3EI5S8lr#8qDrIS^t}aVI52Ukd)J$Wd+)3%iskl3$>t)gJ{hKuf zZF7}TmDW|?Gb2|8LAU7lSwz3Gqzgbir!yi4oo4joKsp&c!Cz8Q@0Hov1rKMOB#fVg V1Nw)02zNildEkAH6D3h1{{TYaV@?17 diff --git a/rowers/c2stuff.pyc b/rowers/c2stuff.pyc deleted file mode 100644 index 156297f3bc2d4649383a3a89d894132aa4775ce2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14152 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 diff --git a/rowers/celery.pyc b/rowers/celery.pyc deleted file mode 100644 index b805df7a294fc47b62227122a4fa1ee35e956c32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1249 zcmbVL&2G~`5FR@}P12@KDHL&o15!?H&k?FpQmYiDY2^foT9vGgcaz$+yt92O$aJUj@<%WK{^N;0PCz8YFe#Rp2$acgyfPq-&5hAZTC+de(q9fH#4+Xuo&d0OfVy z+rT&AJHS1_WzYiAgaoZ^jKFiKYyjW1{-xdqz6D|v;~m~vI)W`KZ`^%?rN_9S>)>X# zaAQ*~)53@_&K6RcQRyMD1Ca`KXLeCMet$GNIS8HZ=*#~+5CevU3BKWmnA zmZl+FEcUc8CeG)&Ow+)C2aBnpVwk?shO$qUyb(%oQwqUj-P_+!WyI2Jsf}5q02bYd zoZH}m%xCfZ4;57W+dih=L_q*CfCOOc{jt4Qx6$quN-o6yg<|tUbSr2vR8AP?EE8d9 zT2{#JUJQ;z2orc z;$pn2&q|Lf(l+Ex%CaeEhs3kS1*VGIG|qWMx6`8gZE4R?z`0KVzS;tD22b8$>&Ldl zk>$e|p9-N(@8y?+SL&N}SPo}WWvrxDl_BMf&}~|zvlWoXVIUs4m=^PphU*1oqk6$D z6A}kYu4jcQ6msp8+fWeB8qH$Knom&e=!yI`Rx-E8kS8u?tVoSnNB>_GmW&WBH~^M! zL;n}C8_&a;l36IHiHM9fv%*Lm^GMzbWh>RT&s4J&CaMrV{SB)={4b&9Odk>)O{{j@ V4YyO-aXW6)sXI+~r`C2lmEQrM5Sjo0 diff --git a/rowers/email.pyc b/rowers/email.pyc deleted file mode 100644 index 7439c47f0aab98c559340984c4edfdf5b4c2c258..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4634 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 diff --git a/rowers/forms.pyc b/rowers/forms.pyc deleted file mode 100644 index fd2c0560f19449d2eadb1c654d289966190e1183..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11983 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 AfdBvi diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index accc3d4b..2683ebfd 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -787,6 +787,12 @@ def interactive_cum_flex_chart(theworkouts,promember=0, thedata['driveenergy'] = thedata[' DriveLength (meters)']*thedata[' AverageDriveForce (lbs)']*4.44822 + # throw out zeros from dataframe + thedata = thedata[thedata[csvcolumns[yparam1]] > 0] + thedata = thedata[thedata[csvcolumns[xparam]] > 0] + if yparam2 != 'None': + thedata = thedata[thedata[csvcolumns[yparam2]] > 0] + spm = thedata.ix[:,csvcolumns['spm']] f = thedata['TimeStamp (sec)'].diff().mean() @@ -806,8 +812,6 @@ def interactive_cum_flex_chart(theworkouts,promember=0, thedata['drivespeed'] = drivelength/thedata[' DriveTime (ms)']*1.0e3 - # get user - # u = User.objects.get(id=row.user.id) x1 = thedata.ix[:,csvcolumns[xparam]] @@ -819,9 +823,31 @@ def interactive_cum_flex_chart(theworkouts,promember=0, if xparam=='time': + xaxmax = x1.max() + xaxmin = x1.min() xaxmax = get_datetimes([x1.max()])[0] xaxmin = get_datetimes([x1.min()])[0] x1 = get_datetimes(x1,tzinfo=1) + elif xparam=='distance': + xaxmax = x1.max() + xaxmin = x1.min() + else: + xaxmax = yaxmaxima[xparam] + xaxmin = yaxminima[xparam] + + # average values + if xparam != 'time': + x1mean = x1.mean() + else: + x1mean = 0 + + y1mean = y1.mean() + y2mean = y2.mean() + + if xparam != 'time': + xvals = xaxmin+np.arange(100)*(xaxmax-xaxmin)/100. + else: + xvals = np.arange(100) x_axis_type = 'linear' y_axis_type = 'linear' @@ -836,7 +862,6 @@ def interactive_cum_flex_chart(theworkouts,promember=0, time = thedata.ix[:,csvcolumns['time']] - time = time-time[0] hr = thedata.ix[:,csvcolumns['hr']] if windowsize > 3: @@ -849,6 +874,7 @@ def interactive_cum_flex_chart(theworkouts,promember=0, power = thedata.ix[:,csvcolumns['power']] + # Add hover to this comma-separated string and see what changes if (promember==1): TOOLS = 'save,pan,box_zoom,wheel_zoom,reset,tap,hover,resize,crosshair' @@ -856,11 +882,21 @@ def interactive_cum_flex_chart(theworkouts,promember=0, TOOLS = 'pan,box_zoom,wheel_zoom,reset,tap,hover,crosshair' plot = Figure(x_axis_type=x_axis_type,y_axis_type=y_axis_type, - plot_width=900, tools=TOOLS, toolbar_location="above", toolbar_sticky=False) + x1means = Span(location=x1mean,dimension='height',line_color='green', + line_dash=[6,6], line_width=2) + + y1means = Span(location=y1mean,dimension='width',line_color='blue', + line_dash=[6,6],line_width=2) + y2means = y1means + + if (xparam != 'time') and (xparam != 'distance'): + plot.add_layout(x1means) + + plot.add_layout(y1means) source = ColumnDataSource( data = dict( @@ -877,9 +913,24 @@ def interactive_cum_flex_chart(theworkouts,promember=0, ) ) + source2 = ColumnDataSource( + data = dict( + x1=x1, + y1=y1, + y2=y2, + time=niceformat(get_datetimes(time,tzinfo=1)), + pace=nicepaceformat(get_datetimes(pace)), + hr = hr, + spm = spm, + spmc=np.rint(10*spm)/10., + distance=distance, + power=power, + ) + ) + # plot.circle('x1','y1',source=source,legend=yparam1,size=3) - plot.circle('x1','y1',source=source,fill_alpha=0.3,line_color=None, + plot.circle('x1','y1',source=source2,fill_alpha=0.3,line_color=None, legend=yparamname1, ) @@ -921,11 +972,17 @@ def interactive_cum_flex_chart(theworkouts,promember=0, plot.circle('x1','y2',color="red",y_range_name="yax2", legend=yparamname2, - source=source,fill_alpha=0.3,line_color=None) + source=source2,fill_alpha=0.3,line_color=None) plot.add_layout(LinearAxis(y_range_name="yax2", axis_label=axlabels[yparam2]),'right') + y2means = Span(location=y2mean,dimension='width',line_color='red', + line_dash=[6,6],line_width=2,y_range_name="yax2") + + + plot.add_layout(y2means) + hover = plot.select(dict(type=HoverTool)) @@ -939,11 +996,119 @@ def interactive_cum_flex_chart(theworkouts,promember=0, hover.mode = 'mouse' + callback = CustomJS(args = dict(source=source,source2=source2, + x1means=x1means, + y1means=y1means, + y2means=y2means), code=""" + var data = source.data + var data2 = source2.data + var x1 = data['x1'] + var y1 = data['y1'] + var y2 = data['y2'] + var spm1 = data['spm'] + var time1 = data['time'] + var pace1 = data['pace'] + var hr1 = data['hr'] + var spmc1 = data['spmc'] + var distance1 = data['distance'] + var power1 = data['power'] + + var minspm = minspm.value + var maxspm = maxspm.value + var mindist = mindist.value + var maxdist = maxdist.value + var xm = 0 + var ym1 = 0 + var ym2 = 0 + + data2['x1'] = [] + data2['y1'] = [] + data2['y2'] = [] + data2['spm'] = [] + data2['time'] = [] + data2['pace'] = [] + data2['hr'] = [] + data2['spmc'] = [] + data2['distance'] = [] + data2['power'] = [] + data2['x1mean'] = [] + data2['y1mean'] = [] + data2['y2mean'] = [] + data2['xvals'] = [] + data2['y1vals'] = [] + data2['y2vals'] = [] + + for (i=0; i=minspm && spm1[i]<=maxspm) { + if (distance1[i]>=mindist && distance1[i]<=maxdist) { + data2['x1'].push(x1[i]) + data2['y1'].push(y1[i]) + data2['y2'].push(y2[i]) + data2['spm'].push(spm1[i]) + data2['time'].push(time1[i]) + data2['pace'].push(pace1[i]) + data2['hr'].push(hr1[i]) + data2['spmc'].push(spmc1[i]) + data2['distance'].push(distance1[i]) + data2['power'].push(power1[i]) + + xm += x1[i] + ym1 += y1[i] + ym2 += y2[i] + + } + } + } + + xm /= data2['x1'].length + ym1 /= data2['x1'].length + ym2 /= data2['x1'].length + + data2['x1mean'] = [xm,xm] + data2['y1mean'] = [ym1,ym1] + data2['y2mean'] = [ym2,ym2] + x1means.location = xm + y1means.location = ym1 + y2means.location = ym2 + + source2.trigger('change'); + """) + + slider_spm_min = Slider(start=15.0, end=55,value=15.0, step=.1, + title="Min SPM",callback=callback) + callback.args["minspm"] = slider_spm_min + + + slider_spm_max = Slider(start=15.0, end=55,value=55.0, step=.1, + title="Max SPM",callback=callback) + callback.args["maxspm"] = slider_spm_max + + distmax = 100+100*int(distance.max()/100.) + + slider_dist_min = Slider(start=0,end=distmax,value=0,step=1, + title="Min Distance",callback=callback) + callback.args["mindist"] = slider_dist_min + + slider_dist_max = Slider(start=0,end=distmax,value=distmax, + step=1, + title="Max Distance",callback=callback) + callback.args["maxdist"] = slider_dist_max + + layout = layoutrow([layoutcolumn([slider_spm_min, + slider_spm_max, + slider_dist_min, + slider_dist_max, + ], + ), + plot]) + + script, div = components(layout) + js_resources = INLINE.render_js() + css_resources = INLINE.render_css() - script, div = components(plot) - return [script,div] + return [script,div,js_resources,css_resources] diff --git a/rowers/interactiveplots.pyc b/rowers/interactiveplots.pyc deleted file mode 100644 index 1e1fc1d3be8826981c03a4301bf04ea0b7288a86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48408 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 diff --git a/rowers/interactiveplots.py~ b/rowers/interactiveplots.py~ index 1a7861d7..accc3d4b 100644 --- a/rowers/interactiveplots.py~ +++ b/rowers/interactiveplots.py~ @@ -21,6 +21,7 @@ from bokeh.models import ( GMapPlot, GMapOptions, ColumnDataSource, Circle, DataRange1d, PanTool, WheelZoomTool, BoxSelectTool, SaveTool, ResizeTool, ResetTool, TapTool,CrosshairTool,BoxZoomTool, + Span, ) #from bokeh.models.widgets import Slider, Select, TextInput from bokeh.core.properties import value @@ -1394,29 +1395,26 @@ def interactive_flex_chart2(id=0,promember=0, xaxmax = get_datetimes([xaxmax],tzinfo=1)[0] xaxmin = get_datetimes([xaxmin],tzinfo=1)[0] x1 = get_datetimes(x1,tzinfo=1) - - if xparam=='distance': + elif xparam=='distance': xaxmax = x1.max() xaxmin = x1.min() + else: + xaxmax = yaxmaxima[xparam] + xaxmin = yaxminima[xparam] # average values - y1mean = y1.mean()+0.0*np.arange(100) - y2mean = y2.mean()+0.0*np.arange(100) if xparam != 'time': - x1mean = x1.mean()+0.0*np.arange(100) + x1mean = x1.mean() else: - x1mean = 0+0.0*np.arange(100) + x1mean = 0 + + y1mean = y1.mean() + y2mean = y2.mean() - - - if xparam != 'time' and xparam != 'distance' and yparam1 != 'pace': - xvals = yaxminima[xparam]+np.arange(100)*(yaxmaxima[xparam]-yaxminima[xparam])/100. - y1vals = yaxminima[yparam1]+np.arange(100)*(yaxmaxima[yparam1]-yaxminima[yparam1])/100. + if xparam != 'time': + xvals = xaxmin+np.arange(100)*(xaxmax-xaxmin)/100. else: xvals = np.arange(100) - y1vals = np.arange(100) - - # constant power plot if yparam1 == 'driveenergy': @@ -1466,11 +1464,10 @@ def interactive_flex_chart2(id=0,promember=0, spmc=np.rint(10*spm)/10., distance=distance, power=power, - xvals=xvals, - y1mean=y1mean, - y2mean=y2mean, - x1mean=x1mean, - y1vals=y1vals, +# xvals=xvals, + y1mean=[y1mean,y1mean], + y2mean=[y2mean,y2mean], + x1mean=[x1mean,x1mean], ) ) @@ -1487,11 +1484,10 @@ def interactive_flex_chart2(id=0,promember=0, spmc=np.rint(10*spm)/10., distance=distance, power=power, - xvals=xvals, - y1mean=y1mean, - y2mean=y2mean, - x1mean=x1mean, - y1vals=y1vals, +# xvals=xvals, + y1mean=[y1mean,y1mean], + y2mean=[y2mean,y2mean], + x1mean=[x1mean,x1mean], ) ) @@ -1510,9 +1506,109 @@ def interactive_flex_chart2(id=0,promember=0, toolbar_sticky=False, # plot_width=900, ) + x1means = Span(location=x1mean,dimension='height',line_color='green', + line_dash=[6,6], line_width=2) + + y1means = Span(location=y1mean,dimension='width',line_color='blue', + line_dash=[6,6],line_width=2) + y2means = y1means + + if (xparam != 'time') and (xparam != 'distance'): + plot.add_layout(x1means) + + plot.add_layout(y1means) - callback = CustomJS(args = dict(source=source,source2=source2), code=""" + + # average values + if yparam1 == 'driveenergy': + if xparam == 'spm': + plot.line(xvals,yconstantpower,color="green",legend="Constant Power") + + if plottype=='line': + plot.line('x1','y1',source=source2,legend=axlabels[yparam1]) + elif plottype=='scatter': +# plot.circle('x1','y1',source=source2,legend=yparam1,size=3) + plot.scatter('x1','y1',source=source2,legend=axlabels[yparam1],fill_alpha=0.4, + line_color=None) + + plot.title.text = row.name + plot.title.text_font_size=value("1.0em") + plot.xaxis.axis_label = axlabels[xparam] + plot.yaxis.axis_label = axlabels[yparam1] + + + + yrange1 = Range1d(start=yaxminima[yparam1],end=yaxmaxima[yparam1]) + plot.y_range = yrange1 + + if (xparam != 'time') and (xparam != 'distance'): + xrange1 = Range1d(start=yaxminima[xparam],end=yaxmaxima[xparam]) + plot.x_range = xrange1 + + if xparam == 'time': + xrange1 = Range1d(start=xaxmin,end=xaxmax) + plot.x_range = xrange1 + plot.xaxis[0].formatter = DatetimeTickFormatter( + hours = ["%H"], + minutes = ["%M"], + seconds = ["%S"], + days = ["0"], + months = [""], + years = [""] + ) + + + if yparam1 == 'pace': + plot.y_range = Range1d(ymin,ymax) + plot.yaxis[0].formatter = DatetimeTickFormatter( + seconds = ["%S"], + minutes = ["%M"] + ) + + if yparam2 != 'None': + yrange2 = Range1d(start=yaxminima[yparam2],end=yaxmaxima[yparam2]) + plot.extra_y_ranges = {"yax2": yrange2} + + if plottype=='line': + plot.line('x1','y2',color="red",y_range_name="yax2", + legend=axlabels[yparam2], + source=source2) + + elif plottype=='scatter': +# plot.circle(x1,y2,color="red",y_range_name="yax2",legend=yparam2, +# source=source,size=3) + plot.scatter('x1','y2',source=source2,legend=axlabels[yparam2] + ,fill_alpha=0.4, + line_color=None,color="red",y_range_name="yax2") + + plot.add_layout(LinearAxis(y_range_name="yax2", + axis_label=axlabels[yparam2]),'right') + + y2means = Span(location=y2mean,dimension='width',line_color='red', + line_dash=[6,6],line_width=2,y_range_name="yax2") + + + plot.add_layout(y2means) + + hover = plot.select(dict(type=HoverTool)) + + + hover.tooltips = OrderedDict([ + ('Time','@time'), + ('Distance','@distance'), + ('Pace','@pace'), + ('HR','@hr'), + ('SPM','@spmc{1.1}'), + ('Power','@power{int}'), + ]) + + hover.mode = 'mouse' + + callback = CustomJS(args = dict(source=source,source2=source2, + x1means=x1means, + y1means=y1means, + y2means=y2means), code=""" var data = source.data var data2 = source2.data var x1 = data['x1'] @@ -1568,6 +1664,7 @@ def interactive_flex_chart2(id=0,promember=0, xm += x1[i] ym1 += y1[i] ym2 += y2[i] + } } } @@ -1579,10 +1676,9 @@ def interactive_flex_chart2(id=0,promember=0, data2['x1mean'] = [xm,xm] data2['y1mean'] = [ym1,ym1] data2['y2mean'] = [ym2,ym2] - - data2['xvals'] = [0,3e4] - data2['y1vals'] = [0,3e4] - data2['y2vals'] = [0,3e4] + x1means.location = xm + y1means.location = ym1 + y2means.location = ym2 source2.trigger('change'); """) @@ -1606,89 +1702,6 @@ def interactive_flex_chart2(id=0,promember=0, step=1, title="Max Distance",callback=callback) callback.args["maxdist"] = slider_dist_max - - # average values - plot.line('xvals','y1mean',color="black",source=source2) - plot.line('x1mean','y1vals',color="black",source=source2) - if yparam1 == 'driveenergy': - if xparam == 'spm': - plot.line(xvals,yconstantpower,color="green",legend="Constant Power") - - if plottype=='line': - plot.line('x1','y1',source=source2,legend=axlabels[yparam1]) - elif plottype=='scatter': -# plot.circle('x1','y1',source=source2,legend=yparam1,size=3) - plot.scatter('x1','y1',source=source2,legend=axlabels[yparam1],fill_alpha=0.4, - line_color=None) - - plot.title.text = row.name - plot.title.text_font_size=value("1.0em") - plot.xaxis.axis_label = axlabels[xparam] - plot.yaxis.axis_label = axlabels[yparam1] - - - yrange1 = Range1d(start=yaxminima[yparam1],end=yaxmaxima[yparam1]) - plot.y_range = yrange1 - - if (xparam != 'time') and (xparam != 'distance'): - xrange1 = Range1d(start=yaxminima[xparam],end=yaxmaxima[xparam]) - plot.x_range = xrange1 - - if xparam == 'time': - xrange1 = Range1d(start=xaxmin,end=xaxmax) - plot.x_range = xrange1 - plot.xaxis[0].formatter = DatetimeTickFormatter( - hours = ["%H"], - minutes = ["%M"], - seconds = ["%S"], - days = ["0"], - months = [""], - years = [""] - ) - - - if yparam1 == 'pace': - plot.y_range = Range1d(ymin,ymax) - plot.yaxis[0].formatter = DatetimeTickFormatter( - seconds = ["%S"], - minutes = ["%M"] - ) - - if yparam2 != 'None': - yrange2 = Range1d(start=yaxminima[yparam2],end=yaxmaxima[yparam2]) - plot.extra_y_ranges = {"yax2": yrange2} - plot.line('xvals','y2mean',color="black",y_range_name="yax2", - source=source2) - - if plottype=='line': - plot.line('x1','y2',color="red",y_range_name="yax2", - legend=axlabels[yparam2], - source=source2) - - elif plottype=='scatter': -# plot.circle(x1,y2,color="red",y_range_name="yax2",legend=yparam2, -# source=source,size=3) - plot.scatter('x1','y2',source=source2,legend=axlabels[yparam2] - ,fill_alpha=0.4, - line_color=None,color="red",y_range_name="yax2") - - plot.add_layout(LinearAxis(y_range_name="yax2", - axis_label=axlabels[yparam2]),'right') - - - hover = plot.select(dict(type=HoverTool)) - - - hover.tooltips = OrderedDict([ - ('Time','@time'), - ('Distance','@distance'), - ('Pace','@pace'), - ('HR','@hr'), - ('SPM','@spmc{1.1}'), - ('Power','@power{int}'), - ]) - - hover.mode = 'mouse' layout = layoutrow([layoutcolumn([slider_spm_min, slider_spm_max, diff --git a/rowers/mailprocessing.pyc b/rowers/mailprocessing.pyc deleted file mode 100644 index 628c8af6fc7b4ca76b8482f874ce6911f3a074f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5937 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 diff --git a/rowers/management/__init__.pyc b/rowers/management/__init__.pyc deleted file mode 100644 index 51120049b5803159438a0106e5308ba92c424288..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmZSn%*%CGRV*Tz0SXv_v;zu6l_eSZc`-%# z<;974DTz5bi3J59UTRTsOm1RcVtQ(BYFK99FB?ZX3o{2j2Qv>n z53>Nh0J8|a2(tve1hWji46_2g;@3U2r{{#OLDyjJLf?hC2Yt`W z=0)~3^w%)oKz{>sANszREr_fRUH9~&&<~&=z&wP0=($Tse*^Of`jMxXk^UCuG4x|f z-x@wsI#%#AW%qZ8uOX@6P$9mKpTVLZ_3s%7joKH4jMjhXZ_i$%>1HQ#$Dzx^BF|lz zABLSGZzoN+X>0#W`e1XQ7iN)3Htn(~`=y>$w~2GD?8v$$l5KzgbnnHhu(9*{_3qw_ zM)>m8_M5-#)Ciz(6Er-FY_gRb6J@ch5I|*rag7Gzs!gG~)vg#Lx4>xUqAIP~$|sD5B2suHkLwiF_J=jIw4DUs>c`U`tzh z=4j{Vtu(px^x4zKPPn}rcn)t}@YbH>BayS2r+7aSQmEs|MKu=6iC%BL{UIv&IGv&;e|k#M_BIad~H8XNDxU zlO%C7r-%-iQ+~UKYc)@M?iR3F}me`rX+kT14kgen@Q1I^tSHz?f#B{dkAHzN=arq1HI7*Y`Ak2M!9Jte){}!y&mHI40Rh5NX+&un zbvjHXg*~9^B1AIG51PK#>;aW=lZrsxtJ7kE8lT`6*|Ur-sIpp8lWM#qhZF5%IhJ>}rI@9!VYG2W3|4E!9;H=D%Yg3=0CPXB48-=rBoZeCW zA#DG&rp_wD8UcCCdZbZ8zk>EKEl_8p=#Qc;I@iv|gc!luIQqkg%lMW|(Y?Xz#y}0N zKPHPNaQYAQC&>Qaa8^aH2{(Rjd>H*I+7qHTiQaAW>4;VICuLI_skK$u{O7VdQnW*v zGJTWtON!JDNxnSb(*e##B;orX{!Un+J*ET>q^uON-qN?KJ6&fjw*vVwI2a==!Fpn9fgQlt7yjWS*mFyLT z{224=-yH0?Z^w0-*(WqWRn#0 zX_};qYPRJ23}+^k=R_Dv#>3F$ahGoLF!-Kimrls+SGog(yJVWfZ5i(sRr{8H1bCKO zA@g!8f##=^b*qMMIiGkGr3eWgy8eHdr0~xIH!0)}_CJ$>otn=_C4H6^UY;}5d+d9gk zG}vG+n>}}(Vl=pS=$Rx{A24Dh)Bhh3NdbQ6(fUWuvpf~5s#=;+Go{JW5{*@Y{)}2x Tk7-W-gxV0!Dve8`IX(Vg)qM=5 diff --git a/rowers/migrations/0001_initial.pyc b/rowers/migrations/0001_initial.pyc deleted file mode 100644 index 46e5d13b9aee5dbc13b8181e1c93bfce3856b4d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1557 zcmbtUTW=Ff4EF9O+oTs7F74qa1P_S35S2#|LX@->6{l3%76DPE)i&d7Cv0Y-omonF zg}=$K;0JJQZ$gpa;YdW$#P)b>fBx)5-`AGE-QRpSg!w0;-{%m5OG!}l4WIy+1TY97 zU_FE)gh>R0sMaGW8Zc?Xpb3*0261g|K(Pda7N{m*6UJ>A1)yU13h)Ks{h$r10Y}{> z%AtSIryG#uJ9Jb=53Rzq&>qXIaP>`#ZX9~AP42oO`!3Tl(RrD9ZH@CWtMsmLuYH^3 zgT>WPVC!Uk!NB$?7XstKkWpX*##Cht<0beKKu%CwVx%GkKS5UHwhZGHE}LF4Dmr7p zRZvTyT7;@GB1>D`))*wK%c5QawF0;f;|`1|$YmH`0kyiw2qAgq5j_dHk~--c_xb-O zy(C$#f?5aFp*R7jzAVOTi%PC6e8}wvsGE?J&)lC2n3uZo=Tg;mE|2SMvOsSKn~)rJ zZ&6QugAS8TuxgT!*mEp}jgiJexr)is%CFK-R(YEaOUyhfze0v-sV7-EOF!UDNOM@~ ztk9oP+&^M@Y8|E$o5SqyR6L!N>{G=#D{_}-)}%x{dh{|Gw&JmRYs(L|^5V%6>Ve5V zr3ISYpXoasfx{>&M+85cqUWc>GpmQ_B-!Ed+lq(p&^$aR$8v7mtr*b0QP!4s1+y4R zM(=uJkTLyZj9+hl57hmKB74r63iLFU($kd2yDE@WuKKvF>SDFgo|={j^lNnE&a>$> zJ0(wrQ#1jaq03lvA4&Z zdgghLRd@e^rK7g+Vybawax3hpQ-LOY(c((K``btT?VVl8(m%`Q zp?HgTsO5DSUiUp)qR!1Lnif{=l>Q)O`@5vU#o->4+JAB~o%u6sPKXqj8I=_UHHI~! z=;Y$B<78`V>rpyyV{bZ3xV;?T-KHZB<7lJN4&v}ZupVqhwX{Lxp{C6uTB3 Lov;&Z2CLD3t*%&D diff --git a/rowers/migrations/0002_auto_20160426_1043.pyc b/rowers/migrations/0002_auto_20160426_1043.pyc deleted file mode 100644 index 10dd9065b2cc69f12612b1564a9e438211c91491..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 739 zcmb`FL2uJA6vtoUv|GoJdg2=(19pV$O#+)EP?UJ&F|7es?je8%AaG!HIVO1o8kQ!EsJ*LG*O-t7w^4(S zrwE&-nQ?7((87dF0XW00=u}MWZQStaVhG2Gosqjj1rfHr%2}&6yX=dF-w3mnS3C3GrJvZRbDEY@_6xlT BszCq% diff --git a/rowers/migrations/0003_auto_20160426_1048.pyc b/rowers/migrations/0003_auto_20160426_1048.pyc deleted file mode 100644 index c0abc97e7472c51a671b005a260a2c33d8647360..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1289 zcmb_cOK%e~5T4ylQd%DB0i`_4UXXI3N*}5aLWt6W#DRyB3ymVJOvX*zI`(R9E96}M zCclCo05je~Dq2(y?5>>8Gvo2+&ojxs-(30jxczAaXHQ1IFChiDPXOslKm$w@7$lJJ zJO!P?G=o6~(*_J0WX(WkaNLBW1h4^L0Zsu92Ti~x^gAueqkhoSNeKB>8iG+Hi?Yzl z%Sve1N!hbP!&Hqc;gvPc^SUWTY3G*-zWe3*&6G2}Vy1@#Brrj|17l*EMm`PZO5BJN z5y2M7CLFf_mjLeq-UGZ3_yF)B;5y(V7?ZsXxJKmDQ^+{a67>3=oU#WdQ`woUTv#L6 z?RK{c5xgz7x|_S*ovqzsv%9lhAAva+MoeW`qR^SGPHgbLK{y((pEJ%&>6^e=&eC(tGvg=B1LziWHpZa_D@v)`V8Zoc2=Ws zo7NoEIKQ}7E2NFvf8@=r$@{g7MJNTLmf;q`j}hj3C`#tZ2Xw~H;_gJ4aV?1WQfO($ zexlYXCSLYG3R=fruEoN4xgd*uE~--dSnsQ(IhW-seHNjA6{!xnOsNiEv*)3RwNn&P zyP}{L2wKvVFC1kl4N5ao()D6HantN+(*F&YP%kzTx6A%S)TWrmmegmltvcj`#o!J& z_SvwU`-wF}Qql>7LTgc$JfngiE_!lEb-#VF?w@Xy^B(_iFn!02TG?`AIcd@RKKB3F wS&o7a6`iF=ArQM7kA)fA4g4HW6Y0lH3x*N>H=0r5=e4FUn6l%`SWVm6PZ1O|BLDyZ diff --git a/rowers/migrations/0004_auto_20160426_1441.pyc b/rowers/migrations/0004_auto_20160426_1441.pyc deleted file mode 100644 index 8de2554edc0e37da885c90ac71e3ffdee1e33bd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1178 zcmb_bU2fAr5FY>JmzIVC;RHy2s+vH+3*vJjFGR|60MtXi<}fQRr2;0oYf(gNOs^QevI$X|Fx9(rbg#^!Qf zaFHr$M8%Yje9H9EWO7+CBa2)c+Ls|pY12dZ^(J$}bPrdb6H_`^01@O5VTnwA$0sDN z$PFnW5#9#Tf>j%M2Y445dRGt-?c1B96p8e-Qh^|mTLib~r@=*DsUBxTkV={O!8#*^`3I*KPp*At-; zq&drkZEbd$5Iwg5_1-awC?aa;xr~Q-#v4!=gkXJKaWzhT7;C7@i%^%1iU1$YE8eV diff --git a/rowers/migrations/0005_auto_20160426_1446.pyc b/rowers/migrations/0005_auto_20160426_1446.pyc deleted file mode 100644 index 8394ecf73c5767246aceb042450c40349a8ba38d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1032 zcmb_a&2G~`5FY;|Z9>zg917yV4auh}i9!wtp+YNea7Z~o6v^6VH;&WwkL+EgIhW_) z&3FnP0KVBI1Ox{T*w*aq{Q3K4CivEAe|>iLaYoxGzkMBNd zpR#}^0c9agLRbS*0WBLe_eh5HndqMA)1*PNLDx|eb<*#6A`hDBLfAZ=6;j1IHL4Q2 zj(qmCA+j{7gh`9MHk_9sO4p_Z_1(_%6KMz5H;nWP6h#bBo>Bs&zQYqTR$v1p0Fg~n z4O%uy9*{gF*&^8nPXC?)2LEgDgIzEpk4Pc7!}9OJ$GhN7$<_K$obo~t>8h#jFgb`0Yf!?jxBdIXgYhQgn*U8V*;g2WhpO-j13H@IoMtem<(HFr0WrTTzi03g(j55JI zL78HnQZ#{1uvsvO~Hy zx+iB;VP&a(=YE$e7XE9s5%BoAiDZ^CH1cAH|% zu~5w$6YTm&wv4@VeHui76C%(GLDqVsX?j9ArE6`Kw#!1dv(P4P#%n|EdB>!)&>${# zwUPT!p!w8z9qLszH8S)qqeVCl?OWdTd{N)IO=TBkW-G0d#>l$n8CknHHhn=3PycfG znHW92%rEM@8DC63N6Tp4WRMP`F1;VZ1v?yS<(+TnP%~PBaBb99+I4lIZo;v`IYOl) XVNm}KGg$p%Z|+M*Zn9p~#&+Dx3th-%O z^OgQhen3C>2f#CP4i*wfeBf;D&CbluKJ(1X#s9Cby!~bSWuInGjQ1m|QTZnXjekUr zXdF>5qKNl3ay1&q)Qf3cr(V6%#^e^L*C1Ud6Vqss1`+86`j_Yp(cisA(lH%18;EJ& z;b}&Y{1%pw*?z7~;;c7?a%Ho|mK7{xn- zV2IJ`A1MXwngFUZa9{vFz%mOo0@el@09%xGiOdq|Wzs7^Tpz%BRotLi6Nh!u8>BZ$ zZ;`&hnwi^0apP0Or@oQxD(P>@tkGzlM!0K(MmYE#>20{x;Fi`|V5Si566x;+-euB1 zoL_o{^iQO3Qi_ecjibxaHnhIJU6M4DOb zb!eoczpzM^@8>R>TR(YQ^CE8Z%z7d@CW*{Zl3;X#GuSe6Z6+quChJ>Mc4Z8?x*e(X zA@kD}4tdP>&_oB^8B&fHMX1VnfH5_~duOPM%7Ihg2YoM4o=U@fALIq-$ey8PxJmU$ zWoa%o(kB8`s)ou6&z-%a&fflG0lnw&IhY5^C-^wXx1fnQG+)YnY&#E*CsRMnvtv}W zROl1u)MUat48`&MLvoDSxc|{?{FdzO+`ZG9OuI}vCtYr1X~fI*<)~4+72S$9quViL z{F=<|jMG8zp#Y~{s7T1DvTNxRVYOoMGK?Set?CojI#0TL4OY2#o{vahEh*vn_p1C4 OIl+?4uvOcR*5da+5@Z4Z diff --git a/rowers/migrations/0008_auto_20160428_1154.pyc b/rowers/migrations/0008_auto_20160428_1154.pyc deleted file mode 100644 index 1dd084992156d72414fb421e35cada793f78c494..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 970 zcmb`FOOMkq5P&DoZdco-a9D2KkaA&_F3Yk)2my<@fl&7XRVB;BZsN*$D7Gm*!{6jr z@B?7R>CyuraUhB8vFDL*9?|#7;kWxI?+e&H5$?|+1apOgz%Kv|PzSIGAfR&yI)plc zMFe#Wix_VskP)mCSOp+r_zLg^;KL#Tk-&A9VjT4YpDaMhPH}OKDq10#R#x_0n=B;F zAuhEldu~%< zv)QAE1396xhS$<1H(oYI$zL6#u#u{)Y{9K8+kR`wYNezWc7#$u%ciuIx`#o0ZT~Tm!S-(md+nb%vIG2?rG@z_ zFy?6(!yY;<@kl8N*~v!8rclz%{X9_DUuc|z*HnwSp9JdnRmF!ZAExbaQ2bnEsDu4t zUXksSWw*6e+bpqJhBtz1&AX0H*t+F@sFv8l%ilYAe%fv4ls4fTB1)riJPuNP-}(XG w<+5_t^_a^XO~8+(So5ZAPsK-{jmP(q_Jm&gZqS+byxAxfovHc%2liwdLyxE7d$H(_`@F3el zN8&#R1|Z5oD+f7>Jun_bKD2y@^3cj-s}IVDg93DOAoK7M;1u9(s{pb9d(|S2qkrO4 z&7o&!(YRReCsKt*Ta^lvRXysNL=)*=Dy&Z8%+hxeQYN!yba&2serGz5t(%nT2OL-d zB`6<24>R>RpFHJ?xnW9}h%ACCz(En@1gHs+C9u0CY4Wajd@)aRtqeIIe6fOtKOPs~jbt zs?6#d0aTs=MRD&>h)X@yUkIUDn!zQrI9u1Bh?qn3x>>&zX=pt}8lwoGsK3;sI)%g7 z5}J^ACk$DkFvQd6jKYxiPpZC(rHc2p$^t&g^u>mhFG-hxmqnsAQ7>*{ftsmPJlclA zqdsV-(O$(?_0AjU;3s{&3HabwF@mAVUSPQOq}@NU?~=HULT9L&Fh=zI6k)Nohqp!> zYi|8w&8@GlF85CYl8WLM6A?6LEk|2X^gYUBmR+~WLE-z zLJ5LW!lV?L7OkQ1DXpRDjYH#Bjq$ZKfOmXA{KzP^7|(g1Tre9m$gC9bb%;g|?0V{v zw4|gw*bn}U!t*!F{x$)=+M%{q_dQ4C;Bw#3WmU~9wX;Y)x^mRt)_mg_%JT&n zWz&3`jOh18ZqBZzbqsN!nrcb`xevJ2Zqps%l~g5#$Vq!XQU3{2e17}j>^lbb+~kAw GF#7}2s=oyQ diff --git a/rowers/migrations/0011_auto_20160428_2009.pyc b/rowers/migrations/0011_auto_20160428_2009.pyc deleted file mode 100644 index 15a51bae4afd349993c667cbdf1163e259eebc04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1206 zcmb_bO>Yx15S{%<+B7XK1uFgkQVys}qY42+2wGH$0~}Hg5Jg(K>&eEgvtF(3hMvpc z{bu&f%-iJK*2dRIdmnRXpM>^T5Q9A?L()G24X}t{5<$d% z3_6BI0+R$5DNIs2O#l-(@4zeqnZg%_{h((Mk>z%1@ukX*#7rxP zwa|7D^UVe=3suy@DN|aw09qTiyI(x=p7?%=9}M2ux7khk}^Kflta@i5pQO zBC-qEf%7iNHNZ8H>mYl?Grop|$=?QVtiXh6z>I>stCY5!f z%(3Y&H#9570{t2RTZ~J|4u^d*a(g*b8rgRp@@ERQ4Az+zWnbV(O+M$p?iG$b*~3z9IMc`Lw!nb5l-f zoK}=lXf3LWJsR%x=JS}+j1My5oykVSgD1no(Ni*p&-SaUF?Wjj+sCwYlU~}3y7YS( zw|mrGS?#{t?(f6L+BRtBov*1uV@d+y6O`woEX=+<3oQy=3Gce8Az1&dkTA9v&7fX# MQI>VO6YnKI0WDq!@&Et; diff --git a/rowers/migrations/0012_auto_20160428_2010.pyc b/rowers/migrations/0012_auto_20160428_2010.pyc deleted file mode 100644 index ad6f21c37e8e9dd463d4d2635801b0f68392aef2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 839 zcmb`F&2H2%5XUE<`vFKjwNHSQQqs~PAFwgs#cP&xbtxB>XNC_oi(UX_@qy~C?YP=zBLqHR}BX<^!+2Wfnj z(w8X?UAq}%Xr1+e_H`I#e3+p8`taqE^a-whB+^ePG!USg!UjoG=E;c_*$@dqR0+C( zZ3$`wdIV|=YJ!~U4P>-s49$5(86*97a94Wp@dRaE&t^i#;KaP1y{uo%U!ka9?`R26 zSlQ_~!q6)>T)G%Sj+z(8C{)}P6bhWITWu7p3nT4ipj}F@Wi+8Bci4!3B&f)hK)(=- zAOtfBfu=>Har%_A_u49LSFQF9H-K#ZV9@x_1k5dOWc$S z=Iq`(kf|;?0cG_hs#4pmuThuFDqyDX@A|&siRUn(UsXGpCl#T z-}vsrSU2dt~X5a2VRw$g6gsk-3GxD?KGAY}F5Fxl<5JAdC1vZq!brN`Mln%}$< diff --git a/rowers/migrations/0013_auto_20160428_2021.pyc b/rowers/migrations/0013_auto_20160428_2021.pyc deleted file mode 100644 index 88f611c766da47a3ce3cdc44d8b44b6a2069c93c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 771 zcmb`F&2H2%6oqf%%(PQ}G%I+5N?BEzfDl4ZA&S`1MY@5}NR}D9X^LYbO6JFiBe-Of3I(|7GC zd}odGGsw?>hzap{d6zuVybF>0&j&Uh3J)wMT%t%Y;R zG-|UmpB_x%Rcps>nPci78B%(wAy4f%PgI=uRtBvgAETL6gECT?b*EgDQjSQCirAkz zrDb}_4hTDCTf(Ko;66fLyjcxfe`C!G$v9!8&{_;bRLE&{*q9aKdhsBxdT};voA_lh z8W*FRvRN_9rZ_Ll3G|-)I`}YxyulQuU6!}PwDwGXOYEu10WMYljW9*|b{F1x{K;K` IVV=*~A2Ua?8UO$Q diff --git a/rowers/migrations/0014_auto_20160428_2251.pyc b/rowers/migrations/0014_auto_20160428_2251.pyc deleted file mode 100644 index b9cd5787373311c9961190df5244e4d9844eba92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 836 zcmb`F&2H2%5XUERlKlXrp2`y-iDCCgoV7jGRWifvUrm)GPe zcmSB0Ev&?e14-ok{Wbp0e=L4HnSOtE{CN!zkHG&s$RV7e(D-HG0NM()1T+HS#XQzu-C>HZQE#XP8 zT9Zb&^tKyrx)fu9ng_=yblN8rOYCf{ahlb&Q~oB>E^Rg{xoF89HsT)%YH}sg5t0$4 zWF{%mwB!tSA9M8Hcy0XJn$U0o$maJBjsHY24O>s4u54>~i21LEWH?^eV~MyTH7gD diff --git a/rowers/migrations/0015_auto_20160429_2038.pyc b/rowers/migrations/0015_auto_20160429_2038.pyc deleted file mode 100644 index 2971c08d047b1ea5df1e525977df19b74d1c023d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 880 zcmb`F&2AGh5XWaf^Fa$el_x;jQ+))g_W zjB%<>)k|;M#(6qd<1Xv`2+cRYSN@RR!{|#QeTRky0#wIPA!*D!DX}6OA|Z&%L1(bZ zK@C6;Kn+2SK#f7&0d+)?Eu>pW==c!I>*6jZ4aCs5pLOrTeKaSN>A8@>w_-M#KAN1* zF2!tiG2M|9s%T`b0~La0bZb+~O8XRDjt|jT8LP?h89Ul4wr;F!KKTL0lwQeTeL!^z?thh(a*45GZi48r>sYQ@YcQ(#_InS8}tck{1@6 z^x7b4$!(%kS8KToG0povXwKJm*iP$X{-q)s+US}VJbJQR3w zX#E0pzW7V$$0+#2%d_sbr0Yp_I6}*lQ96opeBSak+ZVM8KJ-{riCcg#kJ`wlYR}XS dm&J8(rUM~c{|%F+e!3I)86i9B+DUwx`~n0q#cBWm diff --git a/rowers/migrations/0016_auto_20160501_1119.pyc b/rowers/migrations/0016_auto_20160501_1119.pyc deleted file mode 100644 index e6c556e3171c0761743504e33147ba46993bdf4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 971 zcmb`F&2AGh5XWafl5|5`Dh}lZK-yE44YZ;NRg@xba7Z~o6v=X9C)w2NU9D}Ep2LMV z<0W_s9sp)0X~VGxcB9$9$M)nmAIa~%{;%hUU#75m68ye}7~BO4g}(?4Ko!9_f{4~J zm>8-A#tBp@j8pU`pc7bjU>1Q&;XA+z;On>pssopK7vq$F@W~@o{s2v|<+N5>n9}Q3 z8kfhk(??U4^H%z@w$9VN3Qrm5Gn60icJ4_j(mNvkfkFcTs(qLvY0Nw+u_7BHA&BaN z?!dAOst39UY6nyXst@WBs9o}`AYDO1iQv}##l44KoX0TEV04*3Mw&qIZGEF#7oMUV z42okRgRjMKP@D{24o^|Mc(qQMauilpI&|)C`4knq_EAiSt)8{oEqr~gt*2A7QX9qU z%1C?dd+1YoCWG+-<))bOn=snW{i6IyJ`Ng;33Pfo{axMQgz!M* zxPq;5?Vpv6THcE7JO(i(-9s8o=dfqc3vN;E6$bE;Gn5@iRhq K)YgOeF!>9L7S(M4 diff --git a/rowers/migrations/0017_auto_20160501_1126.pyc b/rowers/migrations/0017_auto_20160501_1126.pyc deleted file mode 100644 index e69b67fb846e78a038bc357d783921de3aa2ad1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 837 zcmb`F&2G~`5XZ-#O$t?eDo=pqQx#XDh^ndzt+>I#?E#`lt8I1?oUYfFy(`E$ye3b< z1HjCrB?m4Xu&wcbXTN^)-%WlV?EiRq{Amu4PeT7Ih+()UVd#s%0yGg!BZ#;igN>m{ zV46Ua!Zf990+_%mgGB@;h3^0xfX~wmOa`|_PV3aa=qVyn{)j?w^}IExZ0)hvb|_-* z*{9Id%U=7sb%W=54UMvcACvs>)boe*8D-xw=?w`41~g+>5@{?vDYFtAArXkl0W(GLHR2o x=drLw@S&%|DjEWEBg{&>WqV@or8KEUR@xDY`fr$G_r=!WOGX~}sE^{~++g? z3LXH?bq7Xb#eyVqj<0Wgzk8hQ$K%8MljBb-+Fcpmmz0vbf>3x8GDKZMi-Z!Mr({y< zGFoKR<+R8V%}8goEohyP%IQ1N9nt4SL8_qZa)N!@pSa2d${%3}eY>(s3)6Z%O5@6u zR}L|B?Pip|wY~HFU56~={0#EL@0CBK9DT#27Z92lP|auq(lqkq%nCLj0Yptm7qp#_ znvyyIVRAJqYFV60SHdApkX0)cg_jq;qY^jZevTS$t{|6}d)03UcBL@X{uq!9u} z1*0+L!b%UiSGr%d+BMO1Ztt~$+3y&kiFR}5``+u#E*f{T0}dqmUt*c|gL{kV)yw5@ z>%ZE537eekl{7{U1J7XEa({SBc=!Bo?_QjpoesAR|6tsKW2i|s%V)_1_s967?Aloe tA4as(Acf-btF7!e_Edd|4aE-PPJ6(38>=#loxC#IO diff --git a/rowers/migrations/0019_auto_20160522_1659.pyc b/rowers/migrations/0019_auto_20160522_1659.pyc deleted file mode 100644 index 90afe19a36f49ff7446130819cf651a2f81137a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1061 zcmb_b&2AGx4EFvcY0?HNB#Oitq&-zh)K(2b2uQ^Z4rvb%MH)>rPO|Cjk9KCDIfrNB z8F&evf(HP5l92X>5W6d{?OEI3XM3Zc?beUyM;|A!xgvVMh7inv6h%(}8XyZ`6hOds z2s(r;f>8un45OI55nu$18cYLFF?{&s)f{2OS4Q&5w;Dc=-6H$+|z>5RuCaU2Pj>W753q5h=!2^0TaP zTA`WS;s$feUrtlh%4^qJ<~O!MK7~{1v~{Fzx-V~q#(ZYy>38<|#7=9sPu4oI&*&cC zxAC@2tEG|_{UqJr5lVRAc8`ScjD+wMg`lZBjbt9snZgoth4~~!GxQt85pR@w$Bc%4 zb9g@nb6I(pM}1W}v~6-<5U8s(!}SqYEK1rrzhVhluoLEj%)yIsxwP{lAJasP%$3wy zmL*#>pYd)#$26w?-7)ogqI-7QKQ5O;{)ZT)c}k)lHREPbr~6rW|NX)L8ynJ7XI(|4 qhZF*S^8-*BYzb3Twar> z-~r0myX{JxIABGS`OnDXU;a-1`_aL#=TAQ`VYhO6zXb;FH6@as3=}}0!90U3Y6gly zpTj&Sodf1@S->g-S-?+#Yk)8F0^|tJtCA*kH?*pZGC!dZbhk7Tx#~Pxq1?7}K%Kr@ zTj4vSogb6@cq{L~;fbquX7+pe&W1P~yB5SHj}T zqPy_s8|rX)S56v#44vIb;jv=W`N!jvk3RD9bUx<^i1XgappfK4>PZ|>OVrB_U7P%V zK-Cs|bA=x|R5EQc1KFNjuBZ$9;NFuwd$|}k{=(=5nc{?&LMbr}QISQ9{S__hx~czm z>P0g<8a8eGvIy%QQz-LsG0w`YWHElKqIEm^Rq(+QeM==scP=l5UYjHNHSwoGd%%?a VH_Bw^tF3`=;xF&wRZiF>{{t3Hv~2(Y diff --git a/rowers/migrations/0021_rower_rowerplan.pyc b/rowers/migrations/0021_rower_rowerplan.pyc deleted file mode 100644 index 1d656773b38500bb8e5b6ec5d140970dcf5fe1eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 911 zcmb`FOK;Oa5P-*zBu!|br*h+l9y{O6Z1j6R`}O+#TMqjtqW=d7!QGI6^aWr6ssL621iTNyhEPSY zilB;N6_Yjs6Txl-n*cC|M}P-_@2e5u2yT-xom2jyCkaUMXSDQnnKx*ZExqZqbxFvU z87);=blR6q?L5a-Lqu5$wi* z6Ts(yFQ6dn4DbZ-8Q>`~NAz*{1hU&iIGLeqewfbnFG)<(WvX=V8?{Uqm+713QZ3#t zF9&i)Rkf~6KRQJDm?Tkg1#(bpb?w<^6O|m&v@~-WaY8mYF7BFr->utwzisL@wae)mwY9o! zc}G)NAMeMShOtnh9#-z`MSGudDa_&cK8>SkJPpS5evyl~FJsgDzN0cSasjzsxYKpf gT;QD)BJ6U~5l^K5!zi77KlJj7c^zMrv+z9n3wr&|`2YX_ diff --git a/rowers/migrations/0022_auto_20160529_2115.pyc b/rowers/migrations/0022_auto_20160529_2115.pyc deleted file mode 100644 index 9625c4989cfe6ff7eb4b86119f15b1097f0d3796..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1444 zcmb_c+invv5S`sk(xw+wAygs6Ww}(!3sn-SNFanLEl50YQNja6kydW(Y}`2ZYV9TD zxqJgZ!cXuMd<7o>Gv1UG+NwOTyYil~$Kx}{9!EdcSH5p;z8}E+iSYjvLa=)XIDP>r zfJp$o00Oc@P$5hr=tVH8K(B(m5r_y5t1t|JSKu?i5x|FD6?hf8jT*+0Kk;bBBl!hg3i8v&2`j&mNnws- z&obd?t-;91fw10n%5ckyW$b;U@0SKe@QjN!L@zZrCXYLml26W#rN~oHx;vKf^Eu`- zq$vkJ>HQMNr{^lkapBFs;>JeD-ExTJ%NXZM6qgXb^)TM$EF+$zj@4%BS4YBxWg9#F ziTfArOGirabmoh(v(sNJa$19OjMTkIh!asRQe)wIt|X<)S-Lc+${g)%;*VL9`16t^ zScHWVXwvp_kqOO(9!Oz3zM!dWcNMDrf=*kpV4=DA$&ZOVafXnZ=e$_ z8oN)E9`&=C8yVe4NiEZyDaEpkEUb|J;(F*~p|lfLIFq!Stq0AW_QRyzYVB-ivkqNh zl!v{BO)aWd>Ol?PtKpyj*ZyjnCpj!!kzgczziEKSB!b0u6~@0ve!8V46Te^AvOn z9fK)@E`w=?UIvQ6I)_C9GJ^+zdw`p14l;-9vcP@XCw$5TEx(ULFzwt*#dYh|Ahat} zitOUhwaY>H)*9z&U58oP`7xSbULt=<$@`f|&(TmofN~5=BuyhvMy$w&NC+YeP&up% zkRy;gNSNFMqvR1Z*Cm}D=)}R^s=a87q*x-GJc67cNK1a`@Ra$PAiJx36v-GR>5d*RAR~}pL-~vwrkLPk8cjO#33R>ZG z4`WjG%1CAAt#VD&n=1RHQRge7Xrj`j+{H?4TyY!QVKL$PMtrp-{Z<9{_fu6T7eIXUX@8oF47?}(^i<7}K1_<<><_1pwPOGP diff --git a/rowers/migrations/0024_workout_uploadedtostrava.pyc b/rowers/migrations/0024_workout_uploadedtostrava.pyc deleted file mode 100644 index 141945943cfdfe99d10f26331a6972b0265e075c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 832 zcmb`F&1&2*5XZ-s?ahW3a!Q{d;8SouT4*VuX&}%*dvGr4vLMtQ?bcgaGM3bkbNZTn ziatOyqinm-QxCC?Jkrcazxj{Eujjiz5B6^suz3Xi-$4%kf()cD0|U@!Fv}q0c@8Fr zUcgL1U%;%ORRLPSx`bs0Silc}dw|cg60n5px}tr$-}KZOSz(WcXuE|&Eln5nsEn_3 z_UzKocdJo_&RHKgucs*E!<5XAe>{IldG$S$o{^z}0dWc|BFz&|!K}naNCbiv=n~cy z-~@1o2(x<-96W*cy5_SZpE$Z(J^J{9%%(X$ktzl!kDH@c&C8QUHm{FPA2}IJTGi_~ zq0n15eseK|g6y=IsvL|{s4+MnM)h5VlDx}K8w{L-da0rb9hr~>_|Nm}9ZCp1$OIr| zB9fBCibm7)8Tn8T+M>3LPWv_q&l%^4mkiJ*!8z`O4SJ==w3_yD1GOY|pe8qL2Y*G= zi#PM(E_`)%PC|KQQ5mC#foCM!eA~V`sdp+jy2$vC6oz116(V+a)Zv!5NI6v%f(t?wr4lzdq&>iDCCgoVmuww7@(1mn%WL*2 z`T#I9U3Sk%B#|>7kH^3HkHyo=qsP}L-x8m`&~^Yp**X$!Q{F%H@FORtTzeKJAW*p{?% zgu~FUgG#-3G10yOqijqwG{5{^*^`p@6Oo>yVSoVj6xK*uGEYUU$c9J=q8l(ZY#PuL zFcTy!9zam=6uPUHa%DO(_&XC~eud`Q*_*fW&WBr{lgy*_N*kSgOhNrr&$NUmof=G@ z;D%jns?gp$V;%+-wy8$vsy9}%bz_yg<+A_jROU=mOeOhPDVak`6e?ST(-*j=&1jr9 zZrPjIvFNnpLhH|Te#c@{!Pn+Kv5SeXLpGevkJuFML5o3f7~%y^FW)c5ZTjKe0;P(| zX=SY%N1CBg}RqMj3Pq@Es^C*lvMGQ&0i diff --git a/rowers/migrations/0026_auto_20160608_2137.pyc b/rowers/migrations/0026_auto_20160608_2137.pyc deleted file mode 100644 index 64d1fe6cb11965aaf0a78cae107fd09e62f86be9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 942 zcmb`F$!-%t5Qb|Oj~5at2W0UANOOuDBMd?a0YQ;Cz+u7xEK9A9yF4DJXHhQ+K5&B9 z-(!Z`Efk@{&4(p3Hv9Z|4WF$o|91YMW6xd2<8z)JdQ!f zP$w`?piW_)(rf~lz@`VQ2viE+0KNizn)g8U;4;tXoa!e%c|^*cQ1DH)Y!wP!IW$t+ zJm!@Vg}N$@bXD6}$9XmF($)=0zPnrbO?pJLubK1<2?PdIM^F-J9C%V@B{o7L5S0P; zV3UFB1NK1;Kn;mARwKXxiIgq;nR4&%DP;`vArzPSF%ftMHtj7M>+h4COs0>;ZELPu z?}YVrEzNf4kxhw4*691RZ@~il1@#=m(QQXQL%(y%fJ3lvXn6i?(QVzjZ5C8lD;p)X zmR-jqs`BD+Sr%06nULPKVmdjSO=gp)VtV%I$!WJO_(C(F9aG4XVLFU5dLKkte5c-r yOS<>E^3EIbTF`a~S5IwZQ?{q-D!2^>!>I?_p#B?j=)m(`&0jFS<-2hbkCR^|3Dfcb diff --git a/rowers/migrations/0027_workout_uploadedtosporttracks.pyc b/rowers/migrations/0027_workout_uploadedtosporttracks.pyc deleted file mode 100644 index 50b24abbb72a9ec4a6f323bdf65277213bb3d658..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 847 zcmcJN&u-K(5XL8QlI>O?^+NjuNI6yMB5e^u6{Qjq2S7?Muv*D7JKiN*Cyx9_RnO%$ zd5S&&%(x4C;lPC?az1;;_Rrr~JUl)8@%;Gn3U-g6{~O4`Uy(riGB5yr28#?b?&n}~ z=mjhU^aU&m8Wo@gY)e>YfCYR9xCi*MC;>~jt}9xn`$zenDyrZ+X+WB}wvT0^>sba8l)|}0odGk`v&R(29ax$14RIlTN zQg5xhu`z^#bQ*j{B96u?)EKNEtqZ}a)r}7&Mb@1*7%B^=diZg>QCPl3QL4sEkqL$UX9Ixv$}pEIgMxbL3zBI34d=zH$uaxeAq-7SpVv z_hY&`yK}8$h>p(HQVOICfm=0f>?wXtCrgJ(EA3&E`X9u}_}7nCUogGr!XM?w;um8F B%AWuL diff --git a/rowers/migrations/0028_rower_sporttrackstoken.pyc b/rowers/migrations/0028_rower_sporttrackstoken.pyc deleted file mode 100644 index 1b85e5badf8b10ef937412f85e2ca164bc7820b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 911 zcmb`F&1w`u5XWmi_R~aj$^!_(oI>!Th=>{xFN#b&=(5mswt9DGx2JoU?k48EKAbP% zQ}_T{RoS@WO>k!DsjluSe)X>^ejHD~KRW%ifc;a@|0U!QF33RoGOz$`2D1z@-sfO* zXbYGX(3UVO$y3}15N;^fcF58*t3Ij2L*?Zp}wr{Q_{o?y}venNDs+8KY#p0UHg9PQ&g$5 zUZcV2L+AS#d%f6(+aj1+Io+BxxJwXAvc$y#{2Af5#znrjY>Y**uB>+3I3gdKrA{^` zGWP=MFUlIXitFYZ`y_3$RwVp)-ioD-V_K8|D_VF_uzeET;>WqNW)@MPO>4r?_~n_Wi3-oJ(X3{6_B~Yjdm-4hF4OU b)FPPfjN5QZn8`vFM3&`U9#RglTFG+P-X*(^9mQi+J(s`9 zuiyv3jJsvIB9TPSYkM+z<{f80pG|)p9e!ED?#k$W4k`Ex5{jM#3_zE_Jb{GgDVP+x z4CWbhIm~lf%|K_cDPWa=%Hcb}J;2v_0jhxOs-!&aFS@FP6duqJY`b(y3)7+=r14eC zJ5w6Ec0EXJo%P7ybrfYhPDoxp?))KrLaXnY^aBYE45+5CCek$Wf938P= zF%2Rz2@xTMASZ*-G<`~YO843-ZI`X~P3#JL|ISc1J~B`f`@xZ)Eb8@cHP-Zb2s);8 zJ+&@&s-ig953wB=uNVCtesgv~)_G}_G)DG4&&b%tzRe5r_mz+VotV`pr}gPcE$Xw` z%j5p8;iJf^H6r%Lf1e diff --git a/rowers/migrations/0030_auto_20160610_0826.pyc b/rowers/migrations/0030_auto_20160610_0826.pyc deleted file mode 100644 index 2e4a5470fe6e06ef587de658e5625a2b65b9677f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 867 zcmb`F&2AGh5XWafviX2Yy-=P2X;0NQhzJm>fFdN2;IQQYQ6$UFIAIg7y;|F~ChA{WzN3KRNljg#DAz_cf&8E=VAa1T;XKz&wG3*D2@} z+6?9yv^mUkvSy$%*bHEm0OoK9a0~ElJ^&oRWm!<1<|jR6LdqZ06ilZNvN z$~zO9+GgEL-&o^3pKHlWJ3l7*>G#eb(j&6IWzvr%6fht@fHje(ktb(XVk0C1!2;9( zHU;1i)DUn4I0l@szJ-hi9~?n_Sw5t2f&bpyYt_5(m}FH=UkDkz71Qc$R?W^TQ9YkN z+c7hwFtSx)NUqnm-`e1PPC6PNkqDi(5*2#uI@^2S%jMSj0qv|Br7@~2EzQ<*2vjQ> zv~NhlE>6%o7U>_kO0Jk6(Ig_65Rp^}DrnG(mYgK2P8n2Y*(g`X=5Pz%XllxPrmACG z*z<$&YQ48cpf7z;F{JINgRx;H`N3gw?`V1Pa?#!R@764+mQEU!TFb8E6;*a|==P$j zo>qSscy`*|)O;g36~}Z%HqOUMLGR~yv-Wwdf)73ARg(+E`+^&3*7g*yVrDUw80kP5 W)qlf`)qb_B?>Qqoz5vJRN%jjBMa0fgc5FLNzix%}lLEMpis+<-@2q6R%A#s3%%K@TDt8I4UI9YqG{h;(5eguDx zU%?N6nN1)?TtLFM#&37WCghWIS zWCp7qh(5?Zhyle7#2ZM6{LSRyza)=tB;NvYfHfnmS)oA#C@=EcNY0ZMqpzf~{w~6z zI4caT%@_wNxUY zOU2vuHq|TT>9FCSmd4*f|`rsJFlfJ!w68LpDS$rD`H-T=2PbD*2!wO8&teAUWSsoL&0Gz za?FE$urG0W{&?11yQOYt=&|Lk;7akXqZK+n+t1VtjUWGE{KK=8?z*J8Cn@$mhF&sE zhfxpjd-3n@w_%=lIv3t~gE~w61j3Yx6>lqjA})i{AT3nhGY;s#(GKoE+4}vIBv=}h Iqxd-a0Uux2p8x;= diff --git a/rowers/migrations/0032_auto_20160615_1332.pyc b/rowers/migrations/0032_auto_20160615_1332.pyc deleted file mode 100644 index 28f0c67847a314781a92c6c43f3b162b94b774da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 991 zcmb_b%We}<4D~#cG@*ftMOm-~X;xJpP$7g6kcu5F(k>v1bak8SB$M8G=srZVU===& zpWrL_0I+WoQg$quj6All?Kx+Tll<&G=trh(DMz%U`OOAx+Bm4MFf)wB93Fw zF%$_*5-3ubq?Ann6IeB19)U{X8^8wO^P~Z)0hd{m=H$QV$|CaI2^nAJvr3`RxkDqh z&0;?3kSX$okuI-F>$tC=Ds5ex+zn391Fy0(Atc4XOj`9;jo^Y#`l0!bI*icK3}`zir$V$5gzCVbX^2WyVlE12)wc zG}b>Nx7Qo?h4iixgI@o_15-ItWNLSwmb%ltd%!gQ~-e@xMx>0vD1*11_b zC7ldf{3Dl)C38n)L?9zXU?&9W<~34yOlJyfEESfs9PK#l0C&7q>OJ!q2klwm(Nda_ z3Rtg-n87q~s*H&!)mO<0nQA~+a(LE-4-v|hVqRZd9^D@!G{mUYb$Ni#ic z*pw6+{H4%y(H{;6XZ3o_{{lv7AChS%?X(>=>GvewK0k)7-jSVq=M9k^Qz?X9RV!I8 isxx&R=mv&i;sI&!{u|sN!K>{@f6dS>t9=rmCcgpj?%~n^ diff --git a/rowers/migrations/0033_auto_20160617_0927.pyc b/rowers/migrations/0033_auto_20160617_0927.pyc deleted file mode 100644 index 90e839b84062af3aebd48f176c2bd1f1d5784c54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 798 zcmb`FK~LK-7>2*ZX`yVBdSVC8NI9W2)j*rJX&MtZIE2fnDp{sBUBI!U*b(%+{muOf ze!zI`mQ}lPm=ihQ``P~T__f*No4wzM``;I|X$;>ll#=^|K;lhE6Ez9V5=w$jNvG5> znlWfbiqUOGHwnp%ei8j7x|(Gq2XvVaQK9~WmM4h(7+r7bg_Vly+N(}zw;tKUNK-F6 z;cIK0A3>f!%fDbd$bJoAB?3i(NAA)RVCe<|XaE8S{w{|kcR<6!gaK8Td8pb4q|V-} z&h>8*7R9vWqW6}U#pJj+p1k9e>9q6_2%MT5(Wrj#yvpw)vRbaw2N15co%fws+&ORW zlu-|D-L1S7Uc|{p-M?hA%2O13Azm~#R_C!c=Mk9m#>!qR$k!+)RjZ6tW>G6w#RGVS zY^B1E&T6G)Tx46EL$p1|C~Z6U4f6EEyj}Sp*34m=6GjTHMcW1i3+LN2o5RWJKTe+T z;(d8?)UK+qv*4Qxt`6BK8zn|& diff --git a/rowers/migrations/0034_auto_20160617_0929.pyc b/rowers/migrations/0034_auto_20160617_0929.pyc deleted file mode 100644 index f3ccd9e735aee203228a27dde959008f78dadc24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 797 zcmb`F!EV$r5QZmlcH1o=?TJcoM#`y5x2RPSAOwgT9MTJ{R z-~r&bcgr3S5(k{fnSVT_X1L6;fng1!;m5`CH%q(^j7j?tm{iBV>V!W7eBo2An%O%u3R#&1>*u+lcG zUWLY4A109R@8oZ=J!D@;uo(iT$fNgZ1+aVz0W<)C18>)3(tDs0v0y~?MH#ye5vg}K z-234WVO5=+NHqi}XVvj(b$WaztMl1eNI>8;(yEq+(cP}FkH{IlNk4}0o$EvB)$-a0 zcg>c+c1^zyS_MwUmTxx2kN#R5Ys(zV|45g7P0eL$EoI`BvUPee40#{TG+MT6@ zTX+VZiI?ChcmVj$**NBs3)a@mne#W_`R2?df9>!5`Q+$_oUXqF^OqD;{XGPYe?*RG z8PPbRh}SW>n3f5R6I!M;PFrn4ZiB`h(kYpQ7MnDUNN><@M86XKINl_k(0R9moc3>g z-3U@Rz|a&n_u6F622&|lcVo8fU|8B&rGoWE9XM_YFIRsTwjsY-nQmYoLi-iNPLbIV zqty>-2H3FxN*OpX03TqP4O#$ehYWyi%D6>li}W_>9UxApaNZR+X!c0&Lm9F1)=GI> zqF_3JDTZm5u)xLdkUk`RM|OOR^xLbDyQDuN{fP8qcGmYuA4&3e5t!i5vAYucp2Xf? z#bTFsyZ2?&2W0kXaf=qH;x;V~NPj^3LnKL&1ewQ&G&=7-0V53)SNS)ls+)Hp_WRF1 z&Que8cG5q7(SLFLN!EXP@-n2b6>4c37G4{*6vn64I9)eD zm#VtTF3pu3Ol>Nwoc+a!`%k8t_}XNWn$vu9Dm(DHJ!189=1egQbNf5Y%?5_T2U7=@ zCQcQX_76y{GdDn+i>*>t!`&cK31^8C)L|3)eC};-YRNiLwapuD?y~Zt$-TR=)#>X$Ezpff1+@9fr8X;jgS5@o4S9RcUdD|s}7-+q=o%zbxS@A78gu78MR59~H zot_9}ArseJ&SE$?9}Z5x7Wlrziy#j`7lE`M>QgL-pIww!VeX3ya9^uJE9X>M@(S&K zv3@-+(Dl#%-SsEWvi_&X&wJ(7h>7KT>-!iw$#%LOb>gSd-RNNg3BRXtJ9oLRYf`6Z zjS8fWpdw+TEvly{LTgLoJs5BFz4rC$t!f={ugUJ~szmzVN)u{7Z_ob=F0*F#58|U} GFZlf0` diff --git a/rowers/migrations/0036_rower_team.pyc b/rowers/migrations/0036_rower_team.pyc deleted file mode 100644 index 0ea77bd393f3ee4352ba3d0f7739f6fa9947a20b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 958 zcmbu7&2G~`5XZ+K`A$W-6!8E^K1FG(RtQyyQ0N5#lG6i3kycK26KvLN%eyO-b9qgk zf(L+^ag$t;aH92iW_R}YpPA_Q$?(^UvoC9Sd?I|mfe`FxG$j55&;VrsivR-p4nc=d zMzDyWjA0SC-UxID7G01rs0fN4YyyxS_zCa;@O9Ax8Nod1V$S>zK1qOX`6%;8RAmr+a_~)WvrufCGOJplN+G@aUVKhKSA$X!d{}GfN13ywul`vP)y*+ zfP9E0yP!HyAZ`y7vh{f#fa*grfC589C`KTMAV(-5et?KljUk;UCwPG;pr-nv8tb2- zIh|f!iOjo7Tujfer`H#kV*2v@s+B?9!epiLo&6~nqs1;VoXSc^u}!YDWNW1}^S#~W zwPwwg5tv9h<+wtXAMLZ*$vtM^!u=x{i*S8RAec-DMil~!?6tzrF~+2-m66J730bk-^K#4qppXEZfEn`*}M0Ab5&#W zxz`Cs;JDZu+WBf(@7%Y_EV1S`GcwaUt84ng4lIv@vcyJQ3w8^t>ZIPKG|)6NmS(CO z4dOx2#a}{N9#wC=^9`y_(FI)W7JVXDth<%^9D@h{q#eh}UQzlKqkPwqovr^Cz=gYM R8}pjPSQ@_5@GKZde*qNZ*^mGL diff --git a/rowers/migrations/0037_auto_20160629_1014.pyc b/rowers/migrations/0037_auto_20160629_1014.pyc deleted file mode 100644 index 892a89c2a73978ae4f21e3bebbb32a99c4cd33f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1086 zcmb`G&2AGh5P)ZYk~D?VP@odGT#&X%R7r}0KnN9zdV@pS14NN5C!TCJ_1ddlnnq5&64lj3B*Xe0qirbCle*-Q&$GBa3m zStX%6*`+DZ(vq7@tI9aPoUCMJ+9ZCuJ^4erPudTTlx_nA2Ph68CDPFI#EzBN2#G*M z6R-ixCWsbb3&akHM<5kv#hh$6<#%&l~ zBu|LLI_y%fu&k^D?DbBD%}h9>nsr~bX}$h5ZkH{JH^F2uw&g>eO8 zzF>@bP{yb;tVG)0r!#>CDuHU2VKwqy<~-gDaqbE?^4;Zn=xo7Duky9NEG_zI=aPzD z>)my_pr-Uan9vTkQ}xlscrz(BW}(%DUbW&%a4C6FxE;OuWZS?Kdiqz4Tcg>a*B|zV zgV(Iz>%TlMHlv6FImGIKre@TR+d-3l&%=8C>_3{DOy}0vk}@5UDfmx8EV)Ycv6%W? ceR@9PmefoC4cFKIZC&wq4!v@%+6fP%-_q>#JOBUy diff --git a/rowers/migrations/0038_auto_20160629_1023.pyc b/rowers/migrations/0038_auto_20160629_1023.pyc deleted file mode 100644 index 99cc565ce448f9ce6803456f0b540448a81ac13c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1176 zcmb_bOK;Oa5FXn}+7wD3KngcsklX`RlA`huLVcj#;E+}VqDa;zJ8|4@yq3M&BeoTm;Vf!Uo%B0Bkw=!OR&J3DiG$4y~WrdgtJ z*SWiM`Bp99)I14|xs4%)rcHQ~^W4EfdX0aaJKMnWw}YGl|(K#j@wr%V|f7RC~(p?>XIa15PHQa=8;b zFD$xxr-~ZmLfum5#NVkqq8wNbfgc5FN)(LJEi;O3OF7Ai1hqC2mw&gb=id8yr#&5Jj>!nT_M(c#U_LrswiE z`4#*Cm|2IWYB_KqiPp0-FYEW-&iFrXul#tn{%H)0k5A9nPy>BL0n*Qd3}EKLzypu> zHOOi(^I_n_EPz2kSs$biCv}*3fB}35I0yJVr~}sFIBd{4=`Z?(9z|xA7MrJIg)+`k zBTJF#u*Q`YT4rfd3X`f_8~)#nP?!Trj;u*+XVJqCf%@#QTsC)0*QGFjwM6 zl!yp6K-S@;0oVk50QeB_5#VFMCxA~Oq5K+P3-B)BI^YK2JyH>zgU<&xp?@5<={1&F zmFiTM+HO$T>Fn;u!WtDvo$g*|FFJ_3ooKhx!sO#z%%p7+^i-8!lr<)x*d=dJFjB&p zvqG9WZ6>MA&@gs9Rq0r2%f58y_NIHZL!IVHCO2I=s?yQC9ipFo-JNhQ0R)5DA+;`2+E*(upm2$_Zf@ZS~ zF8VEFUkr;gGgbMJx=)K7MV5)8;2rhia5*Zv>dQchL6RG=b+fL3sVL)rtZRx1bR$%1L+0?Eg3_7RT4p@a|d^41|OfHTU9U4rHaAHX?6OtdUbj(r_-})OG|jN zQ>}?3Ouci%t&1UK=yUK89Us&Xvv?}4zPoOYih0#(Wv%La8liskeK+S-bymrpK=Ln5PWtOdhT z*(53O{lb@LSJ^U#IACQprT||Fy;j}Io#-2`jmzPk_K@uTPg0ir%~s^MMD3~BN9nQn E1wvZHMF0Q* diff --git a/rowers/migrations/0041_rower_friends.pyc b/rowers/migrations/0041_rower_friends.pyc deleted file mode 100644 index fd14121ef8440252da6028c46cc782e86fb891cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 859 zcmb`FOK%e~5P)Z&X;Kh9_0W5zm5`z!aYBekTX8FgEeD7qStjFz4PJY-_NvOc{hR$2 z{Q)pDNr|{|z`Gic?Rk8jarXFp@^F6obqV{C(fk2Y2$!TF{RvorHi3Bp39nPIDYO~P zGiY;|=d_!F$zW5!Dgn&l9^ek(+q?iQ;HD}mPV%sNDQu7dNj&5(e&DeD&><2 ziMCnyIyT;g$bKzZ*$~I1UO%1uAw8zu3nslH#Q+21F|3I+6`q_~iH(p51WPalY)Zfp z;1S>$a6+8v9c1h>g8HU@JplvoM``pP-^>jSIu`!8@T%?>1p;G Dq1n#` diff --git a/rowers/migrations/__init__.pyc b/rowers/migrations/__init__.pyc deleted file mode 100644 index 749ae9a7f46f804e1dc14c8fb6bc5bf963655a16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmZSn%*%CGRV*Tz0SXv_v;zu6l_eSZc`-%# z<;974DTz5bi3J59UTRTsOm1d+QDRAEeqM1*e0*kJW=VX!9#B08P^V39eoARhsvXGu IVjyM!02>7#hyVZp diff --git a/rowers/models.pyc b/rowers/models.pyc deleted file mode 100644 index b65aa8dc2c3531fb96d37ba2e2b7dab002856463..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11503 zcmc&)OK%+4mA=(4vPIGqsV61bYT07aibBO?6pzO+0x5DF36A8XNJn;$W_pTU)$Agx zt2*@%MT`stQMOqm17tM;f@G2WfB>@{WR=ZqW|d7=vmXRVR@uya-?{Z_vL&S@V=Ss~ z-+Ruvk2?3ftE+!rIQGZY(;xR#`mcuX8>*tBpBPHn_-`mrsiC1dhB7#=D6gW1Rn@8L zaaDOWHLR;nU5{(ZYpCIj>dfeIU3s%=*i@aS9ygSCObzE$XHJi2lsB)23#zlA$Fs_N zMGY5KXHk!v$~&$)$CZ6dIaRg0r22-k=hTmsdZN@Pon>Xumk2zh6nM}x%3dzbJdw{ldt~NWnRzmsxuWb-%9&BS=j4>9^O@(A zeMUJ=fu7Bw=as#ZLC@vT3(7v9K`-RcSC!pVo9$O|J?{VFUmMq>;^Sx%-|Ypq)Aiig z2`w+umkl z&=lVBp>GYW@O{_uY&k56^{K2Rnf@!);kYI2k{{AAB4evWcjw`dDdve zkrPG_H0Q644on_{%!zpThOunOx+ckTzVIZ%m$gd97rUkGOR8T{9WVl755CkPYYL3u za7NiRWrINtWzPtMW=rr{fj0%-EWwWnd`{q6oAf&K0$&igRt*h*Mc|79*Gi`0P)6*# zB=CjO`p`wdPY7J=-lCinR^uc!!#>U1eWI#RXFi3-LfwEpE4r|x>~qTD$~9;&kvZ*_Txx<`U19Pl4j+3^^wZfyM(1 z)qhQH`BfRdrkso8k8e~u5R8ko3Y|+-iB*VBQbjY^kCSDxi%h|VOG*}K-G)@{cM?zQSACVWt>ag z5}J>;Hd@=zhn7bXZ{0TCpBAX~L#SU6MH_Z=>k#JG8D`5og!yfTxp{9KV^WRW*U-r0 z^#+04bD{)eC1$~-<R_bkpP9G;2=!ulnXcUBT99q4-NCVGJ0G5_HGmaix zkBq~uS`RI~6!|)W8;fF!vbYisV;=9WRU`5L%VM@{UyQ}$Ps{id?lRUh$WMcEt5{;IOC zEBkB8eoNVZr}_=Xp-xTh)|Jx`(>aq3;RRuHn`t!l1f~-{50rDthMj#CX4mMzs{umK zr#kRh8Vj?Fy+Csj@CxG40*+8c;5Mueqz}vP*Yw9 zWj{z#%D1m3bWv|#ZM7u?xFTN9JO!BckBpa1GQwpLZi+jncFP9e2&}lZbue;VK$J`G zmN^)g%kB`2p#Da37GF0JFjzZI>sILOx9-b!t@hr|74f#>I>{5VKwRelXMwgZs@yk{h@67~R zduq;(VnoptP4f$!&7}n-kp{sR2&QP+E)agt(SszkVmI*3%S2NH-}mqcdR;k!Xx&50 zL%zy!FM8N_kr^|QB?pob=xxW20|Y-jh^2LQ5K0<~APYSyBIJZ=KthXA%q~SeCdu_9 zI*-z$P*S60IJClpmyb8TipAdLg16By-YEW>wNk&jXq-nrJumSF;*U~9@*4WfGG3PN zH@?fZrc5sHexF9fEJUu3|ArC`xDu%u))h6%gb5*OiaEf}2TG06He~ z78;30gGj8?$chKDu^aJLq#HWJ;GrWH%>01#ymS{KpIkamxwmhHJ7S!4+%}b+iW!bt zNgQ-h&2eI<%Z#YWVb8qo_KQPo_d z#kf$GCGbsc#mj5QCRY3xe8dkm5N*#Rx;`q>?|~#0=^K+odR>5HB7K8iSkF20t=pM+ zQ%UY6%wl>$;@SQe<5u5AdLIuQbUdfk7SR`Gd>d5eT{idFe2AtHbd$1VewQ$OUf_D- z^O#l^ZI?1z$TsAw@Xn`<6BRL1wA*+5Q7Px3;D~TDEYQLYMMio7(IieHIbNeaJI$)j zZYiEFm+I1o6i*?&skGGm7)$*aACa_%A+|fsjaY)s6|o8$T^U5@s3Pi$Db*2*SY-$e z<@*Ghh)3bIh{a)@*NPfLu%H?OVs#X#M4Vk_T^Dkghs<7A6}?dPu)8m<7_n(cVJ&ABUo05&qIc<&2itGk1{^@Y$*7 z(}UC}$}^O_u4D;PqBZ}43-hWx%1E|Ibyo9+wckjt!z8c8plrdfSyX49 zmVR91N2{@vyi3OU1@8UobT%m-ZvT>JU^Bb%bF`iP!LS^1qFqW&j&F_f! zBzMF><0*G^H4S+tU(1~gJNYIk1Q1+(5mzzbD~+ix;hB>rTmW}8;boQZ+U%oOV(vu_ z@zKq6%%zpl%*7M^I|kx(G;f!|-{s2xH(%Gwd|jW8ug}$rsd?MV*eVQuao(=~?(^j> zl>(Z{fG7D98oW=NN@AZiXKJQi!U0}XU}rH`3#=9YC;FeGyppGJSnw2YBB$o*)88hZs9-`B*ak?7lYKQ1FY@DtRy80nH4I8IxfUa?fPQ%9O zWtPFud}_`CF!-;VdSi zZ{CyDVfQAYp}9I)VgxBak#POkMDkb;C#f+-tZp)87@&g$uQfV5UhcQh{=di99nKdrX>?~W{jquu`H!yh{ z@yP-qG*0@1A$>dDo@C zR#!hg*!^Kkrk^t2$9Rfgp$PFal8B^6&Wxm!~$18XDKaxzGgdCN)5!=ObxwE6*_ z;$0M0WUPkoJTWryru8v4fNZ6&cr#wCH=Ra@Cumar_71sUV#$+#>Rp6s4B7NGGY zeiLOI4?ZWyF_$gaaS$FI6wU@35@*)(UD({R`@@SkNgCWB))N_OXTMkIJH==n9JTBc zCq=C$CoXe%l=hRrMh(cKMe$`w4~`!7N4C?;9_76ciXaPvBnkR`)}p+4)K7Z0IK+q= z#$G6H&3@2|nl^4-au>xa3NbaaZFbC}QTVt|J__HDAvpMeNKsdqgfQiI=t&ci3OyO>H@kokns(m-dlo|(_O&jqhESZV;q_g@g#wfPc?D_yi8 z)?(^r#jBZhZw0Wfl>QaiV+{H{ehC!2h8Pl2Uz;Kt+7QfnYO?N96HTr{*62^4P`O zHx9pc;dV$pS7!{L6uC@&p3nDR8%k0q;Th&*zF0)i`;E zbIOb=a?ZkYI7bgUu7M@pY488eo%ZvH$DOO9!7x^~xrPfnI=w-zL7+T?C?n7OpP=Gl zD^#yxp*g?Qm0vW_+rRlWKOcWnO^H7F|Ca4jxkJ}l!=P-Pt^Dy$aI>ake$F;% zc>H_43Y5sUZ=xZ)J)HpEvpE>b8oS3>8pLO0?@}cH)2zb9;N<8>r-#n6hq2ud1Gj(s&8j~ec>vES4bKZmr>Y^v!4b@9J;e5h-olv5K!gDQ5e`jDGx_J z(zEXeVHjs^y<>RaLS3XIM!b!993!YuDjnrP){ZQ-Igul-)vyw}Uf^;fD~y`KFfN+9 z#2cs=U!tyZ-PB8rv&C}7RLrWkj&jA@#Csj=TIEw#Ze^@8NYrVL5&Q6!F1!J!;VFUQ zeiHc^D8=v^-y^L&)8V-e^#D@td`8K2Ea*L_lQ>l`wmn2^9hVwaGJF>Wm?3`(mn3`{ z?r0vtbC%TomZhtgAAN6Co*?1E5qB|ejZUolB{2KICVNFZO~1~~5}U3WwEvVKdtwQ?R?K{W%8d*DiUeQq-T0gFGd_%lL2{+QAki_efxYo2+o%5tadohZodzRy7C zVy#|+MIp=6nV7LjcZli)l`=GBo_{R3(z7$k>z=aAWJp__MWJKx6a7Poihnjp`y-zzsXEU|FN>Vt zP=!xW{B0IIbM;mKJxEuusPtd`Pg}}53I`%wS0X?MGHFk@q?Ws<$9;SJ z0BIA*CW}-hRjEp z7msU|C7Fl4FwA#IGInO^QF+Uw=ycDJ_pmG9~G>_|uZkh(9Cg ztoXB%&WS&FFmqn~`TooW@fWl_CdqM0Pl$iQjT@Kbq@;`DFG{*3{*t7Ri2sP|n~>yD zNl%G?%GE29JSOSm;y*6wY4J}>S{J|W`l^yVA?X?M&$#+ANuHGSDe<3j^_nD4OZv3< zPrEu!{fzj}>YgSgX-Ilj{IiliC;oG8#FQk@OZtNNFGzY${Bx2ni@z-Ciufy%z9{~S zlAag;yrdVzzaZ&F@h?jHlK3xS{Om2-FBI&yxAMZxn?o&++F_J8i>#SPwv)AO)Zp}D0p#7H=$Kxs ziNZLKT18R2uR|MtXtQ>I>_mSRkY{X9lQbT2pUuy^a1-z24(T_hOqw#PGb~x3zd^a*N+JeC-Dyu_tj!3XwgLFJVwT zS>3~Az5B2%BeGYPCK}7Ki*kwWY$=m&G$^Qb#ZD^=Bb62&L7ZqY z%JVF@@vk8(9qHg#2wp*48oxlb@}w zEwZ$U7e<{T&f3i#OiiNv4EiiFAf`i*JqcyMM&6Qe2A^}IJDx?2_0$9B3$*wXE z{Q0sZ`(XVDIZke)iQLB4!QoX1gOUL6V>G~SkI8B{F5!fGRM3U?s_c*Gx}&m(>Bj^- z-W~7BB&<;&UwWl|^p48zn0zU+KPG!)5>Cp}KE|Omh0=uFo6?GhN<}_upOg{s^JZ1@ zzl!I1*bJK6o_xHANfWYHk!^~aIMMYP zvFA4NQhOGCJ1|N1wUw2i6E6=5cR9^0!i%Y_xUV*-tKK@qhR1=x#K8xUZ5YlqGi z-R;1r*k;^zhJq%SmL{@=Rn&7?J@UJoo7dk8Y}~qn7V{{^nMXi$PzQ$A5I^QgHgS>n zqI*}V91Wga-`!)X+aXn>$1;5bS;$qI+_rgLZ)oJT}j>>jjV_fo_)B^KcM1D|`iUV$PEc zFhC?3%FMh(@-oQ*TFog|S4j@wstDDCm{-~H8i}s_I!lC~xkT~?$>2q(J)AM-PGRYt zHqv)l?nw?%=5Pj-l@(>4Ls<`BG#1p5HGJ(Y5Qn2gB!yq|#4Aeb+sLJas) zY~eAm!oW<}v%0twUUM-CU1hf$hcBt< z9WQyb)_8q1#Tb4$F_pNIf6NUeDnbwg07jZyNThUNrTNrRhF zvwsGsSlHG!dh7y-lxMtYH8g5+0D^gES{U8&tSb6Hpm1PXfPp;-Ts!~((ngSjkcM#% zumAy~aI{?EHrP_C>U;@Aap<|Jg@UBNL4K!fsCM*q*fkK6lU;#_wl~qg@ zkEIEqgsgP|6#ZX}8e=q&5{U8~UNmcmR`FzLY_v7Iv5Sz~svCfom^ayR5@g8r4Z9SB zF6T7b*&UTJF9~6k08+GLL(`lKqPy3U`oMd7tsq-%a64*{$L2>I!M*0@S=J9*nu4+U z&|F?g(DHCL;WQS|_^mm#UuPluUg>iTu?*yBDW=u)RK2Cral~r)05BS_k?jW{`3ovX zOAe*EQg|GVJmU zZPNFN;=bwE=z+e|njxNBxqV?}D=yjy&aSkI_;y^xkyR%&&JA0_1A?4uQO+n0Fw*rtnr| z65cR}Kx+Go-pzwJ$7tLgfb(05^YY;dFf_!uE~z*lQJe$P-^4k9T@y@zRzM@vx;n(` z4Mx4HNBhjX$N=%i$GIGgzd!8%XT+PI;4KdUa)wk71oD;dM!ETv`#Owp^BLRfB#PsK zt!A__gersrM7H@UNt5Ittb2GA(-nOSivNhNAplRpE*}Q)3;|4iW9EZ#kGk^Tmo;m# zi|Z-e_d$*V7We?exY5$1yPytGJk)`(%yp<|2jmgB!ItCy7wY`C;Qw)*hE;cXW%rUS zEiAelHLUm&jqiwD8uTAbACunn-j$n!F`t7GJ4|pZH1mi9aA!ZL_EiJgurz2z2&rMl z5+4VzL+~;*1}*|#r6Tv9>g^UzgS+2HNa_^0;_AnG7yOD|@Yiv__o&70g3mQ-a&MtO zr|RZR9-8y>{+ya71-8NeDIuL!I-_(}>73mC7yVRmtQQ62%x{18ciEqpy=mD+iUJIn zmnAfNy#_={{f625N4N$ssXt=o{t>PL4C{}mNd94IZ|eSWt^vHkxIJtRk8PER*9NF+ zl7H>(&D}rAHNe^S7QgkihyRa|56O>};~Kp)EEbbDyGW5wx)RNWp;R#&VLRM*v5H0kZ51P1AWKwm|;$M6)ZzWcy)h4+IJ+z+y9>% z_?9=5S-&lVS$jz6FUlqIZvhsWZgpL~d;MLr*3IjU8=ds5WfZxI&~Kv%(oVgBSoUnp zWW^xR)pSU!n>IuEHcO4KuOTDTZbcYQ?`&7nxP8|0I#^HObBk^mX{b?8vi7#C(jU~X zGqG21+zE=pp4A%-(!Frb8VYD`iVi6WrczB5RZ*d59YtjcOX)9cr0COOm=BcUy#{b*re8 z>F8A+8eaJImIN_qqK`-2$+busU{x(M$wJssINHE>=n`7vW@1gHJiI?-z=mun@9%@e zb1$sp%l?FZ`zsKEJFIz2-ctEI5@x6IoyO+`o+pq{D|<8Ef~L{NkWlNF#t`%2Q(E$7 zhdyH{Gd`U47RwyXgvku%yEu`zW_~8iNB2}QXVST0stvzu_}ceCTpUT;=G>Y(V>&3k zL#x+?VBm;o_{y?4sEo+s6A0n}PuM&34*!CH)RVyzr=CP>VR+%CofpvqKf|u!Nm>bCAvxrH0L-zxd6{qrR50#B|FY$75hvE&SyUm&g*JW=xu+*;cbruLmN?L8 zrhpt!TgC!(amP?Ij50=<$bD&wMirxVL4WkntAFTTYLUS#THV4Ls)!nyUJoNzO$6!h zHiq_lxEtw-Ekm26x1-)1G~#A-!<~;uGZd} z#m`EHX$xojc(x9I;jzk~PUv{7KlJohrR6ldzG;>OHmLWLP!m5iEcbtoGz%O><7JqF zGK^vklL>}D(P>71kTi2~H-&Dlki1Xw3CYh$Zjk(jI(n> diff --git a/rowers/stravastuff.pyc b/rowers/stravastuff.pyc deleted file mode 100644 index cc3e8ed5da808332a6262b4e5d43cdfc2e283718..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8443 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 M=JML|#`5Mr08qSn9RL6T diff --git a/rowers/templates/cum_flex.html b/rowers/templates/cum_flex.html index 8fde5825..065e8bfe 100644 --- a/rowers/templates/cum_flex.html +++ b/rowers/templates/cum_flex.html @@ -6,28 +6,17 @@ {% block content %} + {{ js_res | safe }} + {{ css_res| safe }} + + {{ interactiveplot |safe }} -