{this.props.title}
9 |{this.props.subTitle}
10 |├── 0x01-challenge ├── blog │ ├── log │ │ └── .keep │ ├── tmp │ │ ├── .keep │ │ ├── restart.txt │ │ ├── pids │ │ │ └── server.pid │ │ └── cache │ │ │ └── assets │ │ │ └── sprockets │ │ │ └── v3.0 │ │ │ ├── 70 │ │ │ └── 70XNiXJ_-AJ5FbNhvh8cLx-NN9yOBcodFmxzI8Qh8yI.cache │ │ │ ├── Zv │ │ │ └── ZvCEW2ZyS-k4cHH7Gd8P2nKFE9Uh1VOrfR-1PYY2yz8.cache │ │ │ ├── -4 │ │ │ └── -4Iz1QtpXcIMwbce3FFNTGnGTtlhsZPD5Q-jh7VGBgs.cache │ │ │ ├── 0t │ │ │ └── 0tBN7CpG0GdAzd2V3WdXj-RaJx-U7oIBmjHOEWJ3Oq0.cache │ │ │ ├── 1v │ │ │ └── 1v8DUfyZLe3TNcn_TarN6cL21TbtpxiQ5xULHrE3GHg.cache │ │ │ ├── 4P │ │ │ └── 4PVEjscMV8XunfQoAS4lcFO3j1SK2Mf93gMmBz62mlU.cache │ │ │ ├── 6E │ │ │ └── 6E606oj0Q5p_ctSCsiGJG-VnjBkaDlnalRYFK-VbMIo.cache │ │ │ ├── 7G │ │ │ └── 7GegKhso8_ooMfAnLhSFfpOskbJT8sfrtvjHMmdPr4Y.cache │ │ │ ├── B_ │ │ │ └── B_kgxPjYP7xyQXjytJwn1vG_CYPHaWEk0kFFs9_FUa8.cache │ │ │ ├── C2 │ │ │ └── C2q5vKYPx2iMTfU5DNG_80e6wl_sOzhSBJcIvQ_s6O8.cache │ │ │ ├── CA │ │ │ └── CAD22mhymbzftK3sJaAeoYMKP70DFWtFTDDrsLyG594.cache │ │ │ ├── Db │ │ │ └── DbdYHIB09GQq3hXSmAHPXPJkgoLBnN058veLcVRW6jU.cache │ │ │ ├── EL │ │ │ └── ELNziigNfXMIjYxNDpthI0ZePslrfhss0hhJZGZb1w0.cache │ │ │ ├── EP │ │ │ ├── EPny8CSEldWNZLPRJwm3RkMm8fAyo2MaxKz_apw9OjQ.cache │ │ │ └── epdNXBi41k_Qg39LZG3YPvBFYXm6Ya-NtZOABiqp8qg.cache │ │ │ ├── Eb │ │ │ └── Ebq_J6okRILPbKdEpXgs4B5ybpG3ZHzEBxIgar9V-B8.cache │ │ │ ├── GE │ │ │ └── GEGtQMoDQISANJgaIT2lytWX2gfLT86GaodzO8SUoXs.cache │ │ │ ├── GI │ │ │ └── GId3Guf_fZf3nrXvBwJH3cCJnYVUXPHebhX5f8ABadc.cache │ │ │ ├── Gs │ │ │ └── GsV70s6Ji3ZYWMq__0GYn64SBJp1YWpFr_V7Ciys-CI.cache │ │ │ ├── Hu │ │ │ └── HugYFQG_rqjtk5mw1GjGLpL1NR0WnpGXDjYjCC6_pPQ.cache │ │ │ ├── Ib │ │ │ └── IbDMJ623wj0hwPTmE6DMVm0EderdWDfeDS9xLMB6zm4.cache │ │ │ ├── Im │ │ │ └── ImwNcwKD7kAQQgkK6uy718QhXpRXMIhe6intXTJCAL8.cache │ │ │ ├── Jw │ │ │ └── JwVdxwYe2M0H_JVkcGXMwtDtKth7yp7Rs9aLq-3Vq_c.cache │ │ │ ├── MF │ │ │ └── MFmBxiEPTzVo2U45YebCL-Zo1Z7MIHoCB-sZDuVfLOY.cache │ │ │ ├── N5 │ │ │ └── N57OAsaECS2DeFCn_mAgzyUtmXyaViKoIPWdW2ROI04.cache │ │ │ ├── O0 │ │ │ └── O0QJKLCAALXn8Bkher3r2CRf86EzkfCzaOpgejh0Tgk.cache │ │ │ ├── O_ │ │ │ └── O__EWXFcu46QvfZACME107ZpHnkulOzH6mTBO-NdQDc.cache │ │ │ ├── Oz │ │ │ └── OzUlv0XAmWdUFgo31_NFci4GOczrxCEPkw6ciAssIeo.cache │ │ │ ├── P- │ │ │ └── P-NwRhI7ccn1UkzMe1lml3CK9pF84V_50Im56v8RYKk.cache │ │ │ ├── PH │ │ │ └── PHgJxBodAK3KMwcih_V55I5ub5dRT5OZcprHC1qxNGY.cache │ │ │ ├── Pz │ │ │ └── Pz1P9rx8zj6hGH3NikdOdopmVwQLYb81a3hOPjYoSS8.cache │ │ │ ├── RS │ │ │ └── RSXp9Uun1sD0hpS2Ym1uPP0TNSGAYOVN_oVEg8ViXpM.cache │ │ │ ├── TO │ │ │ └── TOOZrA-IkofC8tmiL8HLxvbhkXf387mEudJxyTrgq2s.cache │ │ │ ├── TT │ │ │ └── TTq38qv8Dc7EVht2znO_CUAYaIU2x8fwuSBm0tAcYl8.cache │ │ │ ├── UA │ │ │ └── UAXxNUgEBPHSy9KRhkkjiemKfciE2GYzz_QSlEZpWtY.cache │ │ │ ├── UL │ │ │ └── ULjavcopv0jZMqlDH9fhCI6VDN68ol_08XfwTTg35IQ.cache │ │ │ ├── UR │ │ │ └── URHJQQRgVFUptBfULTQSKfPdOFFB3SPa8gVCdcIN-k4.cache │ │ │ ├── Um │ │ │ └── Umnr-u817BGaDC6YjbUn2JwG83rHNWJSY7MsftbSVfo.cache │ │ │ ├── W5 │ │ │ └── W51_i7Ki0t5iUsiveg5kYO3CiWQiUEfsxuz7RuRT3sw.cache │ │ │ ├── WL │ │ │ └── WLd7sWvt1KcS6hMrtQG-yvybazijeLr7B4nlFw2aq94.cache │ │ │ ├── Y5 │ │ │ └── Y5Ig3w3Cvl8xiCpb6xeuoZ_v6gvXM4_DVtpd2trtKAY.cache │ │ │ ├── _8 │ │ │ └── _8Cf3lV6bnx6jPzgm9PZJj0A91ZMKdbV4qGwU0u-8pk.cache │ │ │ ├── af │ │ │ └── afby1fOt8ba7SHH3tEQZPxFylCkVvVO1P-ejOdCPVtI.cache │ │ │ ├── b0 │ │ │ └── b0p9_WsdM3bOJ69n2P3RMbH-AGxuS7Yw67CtB-ICilg.cache │ │ │ ├── b8 │ │ │ └── b8qCl0FYYJJVMyxCEWXKSLe9ZJKUDuFM-VGuSaUU6oE.cache │ │ │ ├── cM │ │ │ └── cMROkbqwqb0Dm-lCpcR80yK-lJr7QwnDdRxG9TCFneQ.cache │ │ │ ├── cb │ │ │ └── cb86St0XOekhtEfksTYLd3BJi8fQ7ZQioVOFoWqeo80.cache │ │ │ ├── dE │ │ │ └── dEhpgX1dwkhIVMWYMuBJRcHc5Tp0mPFzMUyHm7Bv-c8.cache │ │ │ ├── dG │ │ │ └── dGEolBTI3pemI_Jr1dDtUvl83eQD1pjoUaZbGkEESuo.cache │ │ │ ├── e5 │ │ │ └── e53XnhcI3oA8EkmkoOKMVOXg37p2tKUB8ekJWuoWxGA.cache │ │ │ ├── em │ │ │ └── emerpo8-4QIHmc1liJVkzcmULFp0Y96r3u9iZV_GZoo.cache │ │ │ ├── gD │ │ │ └── gDCG1m8m3LBqegymlHMGF1zwtq-CaK6ToTsFFzvVS1g.cache │ │ │ ├── gY │ │ │ └── gY4-cJOFUEYH-6ZCWhnZclNi4PICd-uZco2fC2G-43I.cache │ │ │ ├── gq │ │ │ └── gq6kAOe-_GezJXNDTfV6l4hn1g1T_E0mA2-jSM7osl4.cache │ │ │ ├── hD │ │ │ └── hDpV3g2E-f4Ys_KRfS7hMCgwaferoZoh_cYs_BI8atk.cache │ │ │ ├── hS │ │ │ └── hS3A7zWIX9bzQglhC98mIQQ8rYgYF2AbcdqCTi7xMIM.cache │ │ │ ├── ij │ │ │ ├── ij037g79RnbyHtqFaRGq6DQD5h6SogbAwxBC5KsFIoM.cache │ │ │ └── ijJg1SMUtwhAo9w5b4rlZHKHnZE16TTex1oO1_NJf6s.cache │ │ │ ├── jN │ │ │ └── jN86f-BzMJXkTGcVIz2T9f_3I9W0WJmVGHu7gDgR7jo.cache │ │ │ ├── kB │ │ │ └── kBdCQlyHWpsfYOAv7lSH-_UgovGXLcefHW_ssGOgDkw.cache │ │ │ ├── lG │ │ │ └── lGcWFJpXw_3FtOZGGQuUN_gh9a08_W4F6YRqzSXWL7k.cache │ │ │ ├── lY │ │ │ └── lYiaBWp_L7Gj0emM2VvsUmYtAgWqk0Vrs7at6orIAOA.cache │ │ │ ├── m3 │ │ │ └── m3Ffdk2qCWC8LKXzoX08sdTMUrr2k-R-kjtE9vI9HxA.cache │ │ │ ├── mK │ │ │ └── mKyFOz4xXMA5XK8RMw6t0vs9DFkJcs-iRPF1cHrANy0.cache │ │ │ ├── nI │ │ │ └── nIwkmY1CPq94l0g-fJAxdZUFFN21whkto-swdSgEAJE.cache │ │ │ ├── ol │ │ │ └── olmLkA7OINaH1DPAgktf908cfJ4yipneXXlXu7BIe6I.cache │ │ │ ├── pe │ │ │ └── peJVA4AetIqR1uaETWJKAVv8fyt8vEwPSbinssS8ddQ.cache │ │ │ ├── q8 │ │ │ └── q8wGFsnE_Tyc6-ABSkEqTpFian3i322eSqMher-WlXY.cache │ │ │ ├── qO │ │ │ └── qOuOR8oJId156PAzgOZBNpzmd8T3RbaPZxryogTPGh8.cache │ │ │ ├── rN │ │ │ └── rNwiv5MF9Ztcn7w2bN2Ko8D-D4JHjXg-mzZPTgfI6xg.cache │ │ │ ├── ss │ │ │ └── sszN_mRnRNd86ee4eVvZu__j_6xEh21ldBoMAkZb8Ek.cache │ │ │ ├── tX │ │ │ └── tX2Qrtzo6LLOw2Ll0v0eYF-lVtOzPUSCggKGQbtvHzE.cache │ │ │ ├── uG │ │ │ └── uGvt08r1rHtiGuaNPC-s294UZeg20rNm8dVTEFKwYjE.cache │ │ │ ├── wQ │ │ │ └── wQJGNFqXztfj44KTvzJZ0QHImqwDbTAfUWJItHZu85Q.cache │ │ │ ├── wX │ │ │ └── wX0BfFK05lscuV2JrRFqUA13K-CEXJYSP4EfRLqFKog.cache │ │ │ ├── wp │ │ │ └── wptHSSlSS198N_3GcHpnXy3rJauhf9tqUWDE__rndls.cache │ │ │ ├── ww │ │ │ └── wwxM-oakA2Hia-kqjPIxORvHFYJWfxCiQ1DO7xsxV4Q.cache │ │ │ ├── x_ │ │ │ └── x_wytkUu6skWrUcumKe06JGOBTMEP2Y3m-Ix4qWDUts.cache │ │ │ ├── xu │ │ │ └── xu2Q-1gSMSou8BorJ2TalhkDPkQzZTcGjYJaX_OFq0A.cache │ │ │ ├── gk │ │ │ └── gkyNqK2RL0HR6JqoSLdEXGsFscAnr0n8h23iYZPZ7sk.cache │ │ │ ├── MZ │ │ │ └── MZRK4vnb04vrPlS8aoWeJbEN6k-T3ZoGCedM6to_qzI.cache │ │ │ ├── cl │ │ │ └── clYeoKlLfh8ThYSBiqi9_dI5uMgPNN_tpxMju9vg68w.cache │ │ │ ├── r_ │ │ │ └── r_93aEN_RF7IYC67OZqgY9BK3LeHk_RcSOgQUd0PS5s.cache │ │ │ ├── k7 │ │ │ └── k7eiKO72_ZYgpQ3EKDjl4auGBz6lOm5-CGueS0XZB0Y.cache │ │ │ ├── 7e │ │ │ └── 7eRhadV2fDVHPoU7W4l2Ty0530FkOwUHYAQOnj7DMzk.cache │ │ │ ├── 8X │ │ │ └── 8Xc0hQMUwIbDLwrfPtUOr1w5Uc4CUOhYxq6mX2ioTuw.cache │ │ │ ├── nG │ │ │ └── nGC9JLYJ4n9NvefBHBO9Y6mVnvcj61Rod1rGbntRR3E.cache │ │ │ ├── 3L │ │ │ └── 3L4r4UQWc-XG5qAf06ToDLIsPrOjaPxuP1wGq6_ehgs.cache │ │ │ ├── Rt │ │ │ └── Rt3AoS_YDeBSdzp4W0YhhdoL6rhvAqL6QgWg_7MPZRw.cache │ │ │ ├── qI │ │ │ └── qIxLqsln1b6g59oh_lHCixwllXN_5xLb9vlR0LDdylQ.cache │ │ │ ├── G9 │ │ │ └── G9dObMHsMQQcmQuYL6MhtYI7JT4OXrCwKYiLYG4BpxM.cache │ │ │ ├── 3c │ │ │ └── 3cJUhBesAUu2ZfyWQv5l-Ji-VCkrTXg0Qn_GyqSC-zE.cache │ │ │ └── c1 │ │ │ └── c1bf2wHoA-g0JMHKHmqCZcYXmQnDC2k97HSVJmHEfs0.cache │ ├── lib │ │ ├── assets │ │ │ └── .keep │ │ └── tasks │ │ │ └── .keep │ ├── public │ │ ├── favicon.ico │ │ ├── apple-touch-icon.png │ │ ├── apple-touch-icon-precomposed.png │ │ └── robots.txt │ ├── test │ │ ├── helpers │ │ │ └── .keep │ │ ├── mailers │ │ │ └── .keep │ │ ├── models │ │ │ ├── .keep │ │ │ ├── post_test.rb │ │ │ ├── user_test.rb │ │ │ ├── comment_test.rb │ │ │ └── install_test.rb │ │ ├── controllers │ │ │ ├── .keep │ │ │ ├── posts_controller_test.rb │ │ │ └── comments_controller_test.rb │ │ ├── fixtures │ │ │ ├── .keep │ │ │ ├── files │ │ │ │ └── .keep │ │ │ ├── posts.yml │ │ │ ├── comments.yml │ │ │ ├── users.yml │ │ │ └── installs.yml │ │ ├── integration │ │ │ └── .keep │ │ └── test_helper.rb │ ├── app │ │ ├── assets │ │ │ ├── images │ │ │ │ └── .keep │ │ │ ├── javascripts │ │ │ │ ├── channels │ │ │ │ │ └── .keep │ │ │ │ ├── posts.coffee │ │ │ │ ├── comments.coffee │ │ │ │ ├── cable.js │ │ │ │ └── application.js │ │ │ ├── config │ │ │ │ └── manifest.js │ │ │ └── stylesheets │ │ │ │ ├── posts.scss │ │ │ │ └── comments.scss │ │ ├── models │ │ │ ├── concerns │ │ │ │ └── .keep │ │ │ ├── comment.rb │ │ │ ├── application_record.rb │ │ │ ├── post.rb │ │ │ ├── user.rb │ │ │ └── install.rb │ │ ├── controllers │ │ │ ├── concerns │ │ │ │ └── .keep │ │ │ ├── pages_controller.rb │ │ │ ├── application_controller.rb │ │ │ └── comments_controller.rb │ │ ├── views │ │ │ ├── layouts │ │ │ │ ├── mailer.text.erb │ │ │ │ └── mailer.html.erb │ │ │ ├── pages │ │ │ │ └── about.html.erb │ │ │ ├── posts │ │ │ │ ├── new.html.erb │ │ │ │ ├── edit.html.erb │ │ │ │ ├── index.html.erb │ │ │ │ ├── _form.html.erb │ │ │ │ └── show.html.erb │ │ │ ├── devise │ │ │ │ ├── mailer │ │ │ │ │ ├── password_change.html.erb │ │ │ │ │ ├── confirmation_instructions.html.erb │ │ │ │ │ ├── unlock_instructions.html.erb │ │ │ │ │ └── reset_password_instructions.html.erb │ │ │ │ ├── unlocks │ │ │ │ │ └── new.html.erb │ │ │ │ ├── passwords │ │ │ │ │ ├── new.html.erb │ │ │ │ │ └── edit.html.erb │ │ │ │ ├── confirmations │ │ │ │ │ └── new.html.erb │ │ │ │ ├── sessions │ │ │ │ │ └── new.html.erb │ │ │ │ └── registrations │ │ │ │ │ └── new.html.erb │ │ │ └── comments │ │ │ │ ├── _form.html.erb │ │ │ │ └── _comment.html.erb │ │ ├── helpers │ │ │ ├── posts_helper.rb │ │ │ ├── comments_helper.rb │ │ │ └── application_helper.rb │ │ ├── jobs │ │ │ └── application_job.rb │ │ ├── channels │ │ │ └── application_cable │ │ │ │ ├── channel.rb │ │ │ │ └── connection.rb │ │ └── mailers │ │ │ └── application_mailer.rb │ ├── vendor │ │ └── assets │ │ │ ├── javascripts │ │ │ └── .keep │ │ │ └── stylesheets │ │ │ └── .keep │ ├── db │ │ ├── development.sqlite3 │ │ ├── migrate │ │ │ ├── 20170124001207_create_posts.rb │ │ │ └── 20170124151721_create_comments.rb │ │ └── seeds.rb │ ├── bin │ │ ├── bundle │ │ ├── rake │ │ ├── rails │ │ ├── spring │ │ └── update │ ├── config │ │ ├── spring.rb │ │ ├── boot.rb │ │ ├── environment.rb │ │ ├── cable.yml │ │ ├── initializers │ │ │ ├── session_store.rb │ │ │ ├── mime_types.rb │ │ │ ├── application_controller_renderer.rb │ │ │ ├── filter_parameter_logging.rb │ │ │ ├── cookies_serializer.rb │ │ │ ├── backtrace_silencers.rb │ │ │ ├── assets.rb │ │ │ ├── wrap_parameters.rb │ │ │ └── inflections.rb │ │ ├── routes.rb │ │ ├── application.rb │ │ ├── database.yml │ │ ├── locales │ │ │ └── en.yml │ │ └── secrets.yml │ ├── config.ru │ ├── Rakefile │ └── README.md ├── README.md ├── status_server │ └── api │ │ ├── __init__.py │ │ └── v1 │ │ ├── __init__.py │ │ ├── views │ │ ├── __init__.py │ │ └── index.py │ │ └── app.py ├── react-blog │ ├── .bowerrc │ ├── .gitignore │ ├── public │ │ ├── css │ │ │ └── includes.min.css │ │ ├── static │ │ │ └── css │ │ │ │ └── static-html-example.css │ │ ├── lib │ │ │ └── nprogress │ │ │ │ ├── support │ │ │ │ └── extras.css │ │ │ │ ├── component.json │ │ │ │ ├── bower.json │ │ │ │ ├── Notes.md │ │ │ │ └── .bower.json │ │ ├── images │ │ │ └── jonathan.jpg │ │ └── fonts │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ ├── bin │ │ └── www.js │ ├── react-bootstrap-0.26.4 │ │ ├── src │ │ │ ├── FormControls │ │ │ │ ├── index.js │ │ │ │ └── Static.js │ │ │ ├── utils │ │ │ │ ├── overlayPositionUtils.js │ │ │ │ ├── index.js │ │ │ │ ├── createSelectedEvent.js │ │ │ │ ├── childrenToArray.js │ │ │ │ ├── childrenValueInputValidation.js │ │ │ │ ├── createChainedFunction.js │ │ │ │ └── deprecationWarning.js │ │ │ ├── .eslintrc │ │ │ ├── Accordion.js │ │ │ ├── PageHeader.js │ │ │ ├── SplitToggle.js │ │ │ ├── Well.js │ │ │ ├── Input.js │ │ │ ├── Label.js │ │ │ ├── ModalBody.js │ │ │ ├── ModalTitle.js │ │ │ ├── ModalFooter.js │ │ │ ├── ButtonToolbar.js │ │ │ ├── Affix.js │ │ │ ├── Row.js │ │ │ ├── Jumbotron.js │ │ │ ├── NavBrand.js │ │ │ ├── NavDropdown.js │ │ │ ├── Pager.js │ │ │ └── SafeAnchor.js │ │ ├── .babelrc │ │ ├── .eslintignore │ │ ├── .projections.json │ │ ├── docs │ │ │ ├── examples │ │ │ │ ├── Badge.js │ │ │ │ ├── Well.js │ │ │ │ ├── ProgressBarBasic.js │ │ │ │ ├── ProgressBarAnimated.js │ │ │ │ ├── ProgressBarWithLabel.js │ │ │ │ ├── PanelWithFooter.js │ │ │ │ ├── ImageResponsive.js │ │ │ │ ├── ProgressBarScreenreaderLabel.js │ │ │ │ ├── PageHeader.js │ │ │ │ ├── PagerDefault.js │ │ │ │ ├── AlertBasic.js │ │ │ │ ├── ButtonTagTypes.js │ │ │ │ ├── WellSizes.js │ │ │ │ ├── ButtonGroupBasic.js │ │ │ │ ├── ButtonGroupBlock.js │ │ │ │ ├── PagerAligned.js │ │ │ │ ├── PagerDisabled.js │ │ │ │ ├── PanelBasic.js │ │ │ │ ├── ButtonActive.js │ │ │ │ ├── ButtonDisabled.js │ │ │ │ ├── ListGroupDefault.js │ │ │ │ ├── PanelGroupUncontrolled.js │ │ │ │ ├── ResponsiveEmbed.js │ │ │ │ ├── ListGroupActive.js │ │ │ │ ├── ProgressBarContextual.js │ │ │ │ ├── TabsUncontrolled.js │ │ │ │ ├── InputSizes.js │ │ │ │ ├── ProgressBarStacked.js │ │ │ │ ├── PopoverBasic.js │ │ │ │ ├── TabsNoAnimation.js │ │ │ │ ├── LeftTabs.js │ │ │ │ ├── PanelWithHeading.js │ │ │ │ ├── Label.js │ │ │ │ ├── ProgressBarStriped.js │ │ │ │ ├── InputValidation.js │ │ │ │ ├── Jumbotron.js │ │ │ │ ├── ButtonBlock.js │ │ │ │ ├── ListGroupHeader.js │ │ │ │ ├── ListGroupStyle.js │ │ │ │ ├── Breadcrumb.js │ │ │ │ ├── ButtonGroupNested.js │ │ │ │ ├── PanelListGroupFill.js │ │ │ │ ├── ButtonGroupJustified.js │ │ │ │ ├── LabelVariations.js │ │ │ │ ├── ListGroupLinked.js │ │ │ │ ├── SplitButtonRight.js │ │ │ │ ├── NavBasic.js │ │ │ │ ├── NavStacked.js │ │ │ │ ├── ImageShape.js │ │ │ │ ├── StaticText.js │ │ │ │ ├── InputWrapper.js │ │ │ │ ├── ThumbnailAnchor.js │ │ │ │ ├── InputHorizontal.js │ │ │ │ ├── TooltipBasic.js │ │ │ │ ├── DropdownButtonNoCaret.js │ │ │ │ ├── ButtonToolbarBasic.js │ │ │ │ ├── ModalStatic.js │ │ │ │ ├── ListGroupCustom.js │ │ │ │ ├── PanelGroupControlled.js │ │ │ │ ├── TabsControlled.js │ │ │ │ ├── PaginationAdvanced.js │ │ │ │ ├── NavbarBasic.js │ │ │ │ ├── NavbarBrand.js │ │ │ │ ├── PanelContextual.js │ │ │ │ ├── SplitButtonBasic.js │ │ │ │ ├── PanelCollapsible.js │ │ │ │ ├── DropdownButtonBasic.js │ │ │ │ ├── TableBasic.js │ │ │ │ ├── NavbarCollapsible.js │ │ │ │ ├── Fade.js │ │ │ │ ├── Collapse.js │ │ │ │ ├── MenuItem.js │ │ │ │ ├── ButtonSizes.js │ │ │ │ ├── ButtonLoading.js │ │ │ │ ├── AlertAutoDismissable.js │ │ │ │ ├── Glyphicon.js │ │ │ │ ├── TooltipPositioned.js │ │ │ │ ├── ButtonGroupVertical.js │ │ │ │ ├── PopoverContained.js │ │ │ │ ├── NavJustified.js │ │ │ │ ├── InputAddons.js │ │ │ │ ├── ButtonTypes.js │ │ │ │ ├── GridBasic.js │ │ │ │ ├── NavDropdown.js │ │ │ │ ├── SplitButtonDropup.js │ │ │ │ └── ButtonGroupSizes.js │ │ │ ├── assets │ │ │ │ ├── logo.png │ │ │ │ ├── favicon.ico │ │ │ │ ├── carousel.png │ │ │ │ ├── thumbnail.png │ │ │ │ ├── thumbnaildiv.png │ │ │ │ └── CodeMirror.css │ │ │ ├── .eslintrc │ │ │ ├── src │ │ │ │ ├── PageHeader.js │ │ │ │ ├── Anchor.js │ │ │ │ ├── NotFoundPage.js │ │ │ │ ├── CodeExample.js │ │ │ │ └── Routes.js │ │ │ ├── README.docs.md │ │ │ └── client.js │ │ ├── tools │ │ │ ├── .eslintrc │ │ │ ├── promisify.js │ │ │ ├── dist │ │ │ │ └── build.js │ │ │ ├── constants.js │ │ │ ├── lib │ │ │ │ └── build.js │ │ │ ├── amd │ │ │ │ ├── bower.json │ │ │ │ └── README.md │ │ │ ├── build.js │ │ │ └── fs-utils.js │ │ ├── webpack.docs.js │ │ ├── webpack.config.js │ │ ├── webpack │ │ │ ├── test.config.js │ │ │ ├── webpack.config.js │ │ │ ├── test-coverage.config.js │ │ │ └── base.config.js │ │ ├── .gitignore │ │ ├── nodemon.json │ │ ├── .ackrc │ │ ├── .editorconfig │ │ ├── appveyor.yml │ │ ├── .travis.yml │ │ ├── test │ │ │ ├── server │ │ │ │ └── ModalSpec.js │ │ │ ├── .eslintrc │ │ │ ├── utils │ │ │ │ └── deprecationWarningSpec.js │ │ │ ├── PopoverSpec.js │ │ │ ├── PageHeaderSpec.js │ │ │ ├── ButtonToolbarSpec.js │ │ │ ├── index.js │ │ │ └── WellSpec.js │ │ └── .eslintrc │ ├── src │ │ ├── alt.js │ │ ├── components │ │ │ ├── JsxIncludes.js │ │ │ ├── Footer.jsx │ │ │ ├── Header.jsx │ │ │ └── App.jsx │ │ ├── client.js │ │ ├── analytics.js │ │ ├── routes.jsx │ │ ├── mixins │ │ │ └── AuthorMixin.jsx │ │ └── IncludeHandler.js │ ├── .DS_Store │ ├── sass │ │ ├── pagination.scss │ │ ├── footer.scss │ │ ├── font.scss │ │ ├── post-list.scss │ │ └── full-post.scss │ ├── README.md │ ├── views │ │ ├── error │ │ │ ├── 500.html │ │ │ └── 404.html │ │ └── index.jade │ ├── config.js │ └── routes │ │ └── post.routes.js └── user.py └── 0x00-challenge ├── 4-delete_dnodeint ├── free_dlistint.c ├── print_dlistint.c ├── lists.h └── add_dnodeint_end.c ├── README.md ├── 1-print_square.js └── 2-sort.rb /0x01-challenge/blog/log/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/tmp/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/lib/assets/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/lib/tasks/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/public/favicon.ico: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/test/helpers/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/test/mailers/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/test/models/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/tmp/restart.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/app/assets/images/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/test/controllers/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/test/fixtures/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/test/integration/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/tmp/pids/server.pid: -------------------------------------------------------------------------------- 1 | 4397 -------------------------------------------------------------------------------- /0x01-challenge/README.md: -------------------------------------------------------------------------------- 1 | # Fix-my-code-1 2 | -------------------------------------------------------------------------------- /0x01-challenge/blog/app/models/concerns/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/public/apple-touch-icon.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/test/fixtures/files/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/status_server/api/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/status_server/api/v1/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/app/controllers/concerns/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/vendor/assets/javascripts/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/vendor/assets/stylesheets/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/app/assets/javascripts/channels/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/public/apple-touch-icon-precomposed.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /0x01-challenge/blog/app/views/layouts/mailer.text.erb: -------------------------------------------------------------------------------- 1 | <%= yield %> 2 | -------------------------------------------------------------------------------- /0x01-challenge/react-blog/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "public/lib" 3 | } -------------------------------------------------------------------------------- /0x01-challenge/react-blog/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .idea 3 | dump.rdb -------------------------------------------------------------------------------- /0x01-challenge/blog/app/helpers/posts_helper.rb: -------------------------------------------------------------------------------- 1 | module PostsHelper 2 | end 3 | -------------------------------------------------------------------------------- /0x01-challenge/blog/app/helpers/comments_helper.rb: -------------------------------------------------------------------------------- 1 | module CommentsHelper 2 | end 3 | -------------------------------------------------------------------------------- /0x01-challenge/blog/app/helpers/application_helper.rb: -------------------------------------------------------------------------------- 1 | module ApplicationHelper 2 | end 3 | -------------------------------------------------------------------------------- /0x01-challenge/blog/app/jobs/application_job.rb: -------------------------------------------------------------------------------- 1 | class ApplicationJob < ActiveJob::Base 2 | end 3 | -------------------------------------------------------------------------------- /0x01-challenge/blog/app/views/pages/about.html.erb: -------------------------------------------------------------------------------- 1 |
Badges
Hello <%= @resource.email %>!
2 | 3 |We're contacting you to notify you that your password has been changed.
4 | -------------------------------------------------------------------------------- /0x01-challenge/blog/config/cable.yml: -------------------------------------------------------------------------------- 1 | development: 2 | adapter: async 3 | 4 | test: 5 | adapter: async 6 | 7 | production: 8 | adapter: redis 9 | url: redis://localhost:6379/1 10 | -------------------------------------------------------------------------------- /0x01-challenge/blog/test/models/comment_test.rb: -------------------------------------------------------------------------------- 1 | require 'test_helper' 2 | 3 | class CommentTest < ActiveSupport::TestCase 4 | # test "the truth" do 5 | # assert true 6 | # end 7 | end 8 | -------------------------------------------------------------------------------- /0x01-challenge/blog/test/models/install_test.rb: -------------------------------------------------------------------------------- 1 | require 'test_helper' 2 | 3 | class InstallTest < ActiveSupport::TestCase 4 | # test "the truth" do 5 | # assert true 6 | # end 7 | end 8 | -------------------------------------------------------------------------------- /0x01-challenge/react-blog/react-bootstrap-0.26.4/docs/examples/ProgressBarBasic.js: -------------------------------------------------------------------------------- 1 | const progressInstance = ( 2 |<%= post.created_at.strftime("%B, %d, %Y") %>
5 |Welcome <%= @email %>!
2 | 3 |You can confirm your account email through the link below:
4 | 5 |<%= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @token) %>
6 | -------------------------------------------------------------------------------- /0x01-challenge/react-blog/react-bootstrap-0.26.4/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | .DS_Store 3 | npm-debug.log* 4 | node_modules 5 | amd/ 6 | !tools/amd/ 7 | lib/ 8 | !tools/lib/ 9 | dist/ 10 | !tools/dist/ 11 | docs-built/ 12 | tmp-bower-repo/ 13 | tmp-docs-repo/ 14 | .babel-cache/ 15 | .coverage/ 16 | -------------------------------------------------------------------------------- /0x01-challenge/react-blog/react-bootstrap-0.26.4/docs/examples/AlertBasic.js: -------------------------------------------------------------------------------- 1 | const alertInstance = ( 2 |
3 | <%= f.label :name %>
4 | <%= f.text_field :name %>
5 |
7 | <%= f.label :body %>
8 | <%= f.text_area :body %>
9 |
12 | <%= f.submit %> 13 |
14 | <% end %> 15 | -------------------------------------------------------------------------------- /0x01-challenge/blog/app/views/layouts/mailer.html.erb: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11 | <%= yield %> 12 | 13 | 14 | -------------------------------------------------------------------------------- /0x01-challenge/react-blog/react-bootstrap-0.26.4/docs/examples/ButtonActive.js: -------------------------------------------------------------------------------- 1 | const buttonsInstance = ( 2 |Hello <%= @resource.email %>!
2 | 3 |Your account has been locked due to an excessive number of unsuccessful sign in attempts.
4 | 5 |Click the link below to unlock your account:
6 | 7 |<%= link_to 'Unlock my account', unlock_url(@resource, unlock_token: @token) %>
8 | -------------------------------------------------------------------------------- /0x01-challenge/blog/config/routes.rb: -------------------------------------------------------------------------------- 1 | Rails.application.routes.draw do 2 | devise_for :users 3 | devise_for :installs 4 | # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html 5 | resources :posts do 6 | resources :comments 7 | end 8 | root "posts#index" 9 | 10 | get '/about', to: 'pages#about' 11 | end 12 | -------------------------------------------------------------------------------- /0x01-challenge/blog/tmp/cache/assets/sprockets/v3.0/cl/clYeoKlLfh8ThYSBiqi9_dI5uMgPNN_tpxMju9vg68w.cache: -------------------------------------------------------------------------------- 1 | [o:Set: 2 | @hash} 3 | I"environment-version:ETTI"environment-paths;TTI"rails-env;TTI"Lprocessors:type=text/css&file_type=text/css&engines=.scss&pipeline=self;TTI"bfile-digest:///vagrant/Fix%20my%20code%20%231-fixed/blog/app/assets/stylesheets/comments.scss;TTF -------------------------------------------------------------------------------- /0x01-challenge/blog/tmp/cache/assets/sprockets/v3.0/r_/r_93aEN_RF7IYC67OZqgY9BK3LeHk_RcSOgQUd0PS5s.cache: -------------------------------------------------------------------------------- 1 | [o:Set: 2 | @hash} 3 | I"environment-version:ETTI"environment-paths;TTI"rails-env;TTI"Lprocessors:type=text/css&file_type=text/css&engines=.scss&pipeline=self;TTI"_file-digest:///vagrant/Fix%20my%20code%20%231-fixed/blog/app/assets/stylesheets/posts.scss;TTF -------------------------------------------------------------------------------- /0x01-challenge/react-blog/views/error/500.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |Label
9 |This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.
5 | 6 |{this.props.subTitle}
10 |Hello <%= @resource.email %>!
2 | 3 |Someone has requested a link to change your password. You can do this through the link below.
4 | 5 |<%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %>
6 | 7 |If you didn't request this, please ignore this email.
8 |Your password won't change until you access the link above and create a new one.
9 | -------------------------------------------------------------------------------- /0x01-challenge/react-blog/react-bootstrap-0.26.4/src/utils/childrenValueInputValidation.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import singlePropFrom from 'react-prop-types/lib/singlePropFrom'; 3 | 4 | export default function valueValidation(props, propName, componentName) { 5 | let error = singlePropFrom('children', 'value')(props, propName, componentName); 6 | 7 | if (!error) { 8 | error = React.PropTypes.node(props, propName, componentName); 9 | } 10 | 11 | return error; 12 | } 13 | -------------------------------------------------------------------------------- /0x00-challenge/4-delete_dnodeint/print_dlistint.c: -------------------------------------------------------------------------------- 1 | #include<%= comment.name %>
4 |<%= comment.body %>
5 |<%= time_ago_in_words(comment.created_at) %> Ago
6 |<%= link_to 'Delete', [comment.post, comment], method: :delete, class: "button", data: { confirm: 'Are you sure?' } %>
10 | <% end %> 11 |
7 |
8 | {this.props.codeText}
9 |
10 |
11 | );
12 | }
13 |
14 | componentDidMount() {
15 | if (CodeMirror === undefined) {
16 | return;
17 | }
18 |
19 | CodeMirror.runMode(
20 | this.props.codeText,
21 | this.props.mode,
22 | React.findDOMNode(this).children[0]
23 | );
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/0x01-challenge/react-blog/react-bootstrap-0.26.4/src/Well.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import classNames from 'classnames';
3 | import BootstrapMixin from './BootstrapMixin';
4 |
5 | const Well = React.createClass({
6 | mixins: [BootstrapMixin],
7 |
8 | getDefaultProps() {
9 | return {
10 | bsClass: 'well'
11 | };
12 | },
13 |
14 | render() {
15 | let classes = this.getBsClassSet();
16 |
17 | return (
18 | 13 | <%= f.label :title %> 14 | <%= f.text_field :title %> 15 |
16 |17 | <%= f.label :body %> 18 | <%= f.text_area :body %> 19 |
20 | 21 |22 | <%= f.submit %> 23 |
24 | <% end %> 25 | -------------------------------------------------------------------------------- /0x01-challenge/react-blog/react-bootstrap-0.26.4/docs/examples/ListGroupCustom.js: -------------------------------------------------------------------------------- 1 | const CustomComponent = React.createClass({ 2 | render() { 3 | return ( 4 |7 | Submitted <%= time_ago_in_words(@post.created_at) %> Ago 8 | <% if user_signed_in? %> 9 | | <%= link_to 'Edit', edit_post_path(@post) %> 10 | | <%= link_to 'Delete', post_path(@post), method: :delete, data: { confirm: 'Are you sure?' } %> 11 | <% end %> 12 |
13 | 14 |15 | <%= @post.body %> 16 |
17 | 18 |15 | {this.getValue()} 16 |
17 | ); 18 | } 19 | } 20 | 21 | Static.propTypes = { 22 | value: childrenValueValidation, 23 | children: childrenValueValidation 24 | }; 25 | 26 | export default Static; 27 | -------------------------------------------------------------------------------- /0x01-challenge/blog/tmp/cache/assets/sprockets/v3.0/c1/c1bf2wHoA-g0JMHKHmqCZcYXmQnDC2k97HSVJmHEfs0.cache: -------------------------------------------------------------------------------- 1 | [o:Set: 2 | @hash}I"environment-version:ETTI"environment-paths;TTI"rails-env;TTI"Mprocessors:type=text/css&file_type=text/css&engines=.scss&pipeline=debug;TTI"efile-digest:///vagrant/Fix%20my%20code%20%231-fixed/blog/app/assets/stylesheets/application.scss;TTI"Lprocessors:type=text/css&file_type=text/css&engines=.scss&pipeline=self;TTI"dfile-digest:///vagrant/Fix%20my%20code%20%231-fixed/blog/app/assets/stylesheets/_normalize.scss;TTI"bfile-digest:///vagrant/Fix%20my%20code%20%231-fixed/blog/app/assets/stylesheets/comments.scss;TTI"_file-digest:///vagrant/Fix%20my%20code%20%231-fixed/blog/app/assets/stylesheets/posts.scss;TTI"Tfile-digest:///vagrant/Fix%20my%20code%20%231-fixed/blog/app/assets/stylesheets;TTF -------------------------------------------------------------------------------- /0x01-challenge/react-blog/react-bootstrap-0.26.4/tools/build.js: -------------------------------------------------------------------------------- 1 | import 'colors'; 2 | import bower from './amd/build'; 3 | import lib from './lib/build'; 4 | import dist from './dist/build'; 5 | import { copy } from './fs-utils'; 6 | import { distRoot, bowerRoot } from './constants'; 7 | import { exec } from './exec'; 8 | 9 | function forkAndBuildDocs({verbose}) { 10 | console.log('Building: '.cyan + 'docs'.green); 11 | 12 | const verboseOption = verbose ? '--verbose' : ''; 13 | 14 | return exec(`npm run docs-build -- ${verboseOption}`) 15 | .then(() => console.log('Built: '.cyan + 'docs'.green)); 16 | } 17 | 18 | export default function Build(options) { 19 | return Promise.all([ 20 | lib(), 21 | bower(), 22 | dist(), 23 | forkAndBuildDocs(options) 24 | ]) 25 | .then(() => copy(distRoot, bowerRoot)); 26 | } 27 | -------------------------------------------------------------------------------- /0x01-challenge/react-blog/react-bootstrap-0.26.4/docs/examples/TableBasic.js: -------------------------------------------------------------------------------- 1 | const tableInstance = ( 2 || # | 6 |First Name | 7 |Last Name | 8 |Username | 9 |
|---|---|---|---|
| 1 | 14 |Mark | 15 |Otto | 16 |@mdo | 17 |
| 2 | 20 |Jacob | 21 |Thornton | 22 |@fat | 23 |
| 3 | 26 |Larry the Bird | 27 |||
But this will hide after 2 seconds.
14 |<{'Col xs={12} md={8}'} />
5 | <{'Col xs={6} md={4}'} />
6 | <{'Col xs={6} md={4}'} />
10 | <{'Col xs={6} md={4}'} />
11 | <{'Col xs={6} md={4}'} />
12 | <{'Col xs={6} xsOffset={6}'} />
16 | <{'Col md={6} mdPush={6}'} />
20 | <{'Col md={6} mdPull={6}'} />
21 |
<%= @post.comments.count %> Comments
20 | <%= render @post.comments %> 21 | 22 |Add a comment :
23 | <%= render "comments/form" %> 24 |