├── 01-read-file ├── index.js ├── text.txt └── README.md ├── 02-write-file ├── index.js └── README.md ├── 06-build-page ├── index.js ├── assets │ ├── img │ │ ├── item1.jpg │ │ ├── item2.jpg │ │ ├── item3.jpg │ │ ├── footer.jpg │ │ ├── header.jpg │ │ └── wildlife-logo.jpg │ ├── fonts │ │ └── Karolina-Regular.woff2 │ └── svg │ │ ├── facebook.svg │ │ ├── search.svg │ │ ├── arrow-left.svg │ │ ├── arrow-right.svg │ │ ├── telegram.svg │ │ ├── pinterest.svg │ │ ├── instagram.svg │ │ └── logo.svg ├── test-files │ ├── images │ │ └── squirrel-2.jpg │ ├── styles │ │ └── 04-about.css │ └── components │ │ └── about.html ├── template.html ├── components │ ├── footer.html │ ├── header.html │ └── articles.html ├── styles │ ├── 03-footer.css │ ├── 02-main.css │ └── 01-header.css └── README.md ├── 03-files-in-folder ├── index.js ├── secret-folder │ ├── image.jpg │ │ └── .gitkeep │ ├── script.js │ ├── text.txt │ ├── style.css │ └── data.csv └── README.md ├── 04-copy-directory ├── index.js ├── files │ ├── test-image.jpg │ ├── test-text.txt │ ├── test-js.js │ └── test-css.css └── README.md ├── 05-merge-styles ├── index.js ├── styles │ ├── style.txt │ ├── style-3.css │ ├── style-2.css │ └── style-1.css ├── test-files │ ├── styles │ │ ├── style_one.css │ │ ├── style_two.css │ │ ├── style_three.css │ │ └── style_four.css │ └── index.html ├── project-dist │ └── index.html └── README.md ├── .prettierignore ├── .prettierrc.js ├── .eslintrc.js ├── package.json ├── LICENSE ├── .github └── pull_request_template.md ├── .gitignore └── README.md /01-read-file/index.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /02-write-file/index.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /06-build-page/index.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /03-files-in-folder/index.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /04-copy-directory/index.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /05-merge-styles/index.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /04-copy-directory/files/test-image.jpg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /05-merge-styles/styles/style.txt: -------------------------------------------------------------------------------- 1 | fake styles -------------------------------------------------------------------------------- /04-copy-directory/files/test-text.txt: -------------------------------------------------------------------------------- 1 | test text -------------------------------------------------------------------------------- /03-files-in-folder/secret-folder/image.jpg/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /04-copy-directory/files/test-js.js: -------------------------------------------------------------------------------- 1 | console.log('Hello test'); 2 | -------------------------------------------------------------------------------- /04-copy-directory/files/test-css.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: unset; 3 | } 4 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | 03-files-in-folder/secret-folder/**/*.css 2 | 03-files-in-folder/secret-folder/**/*.js 3 | -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | singleQuote: true, 3 | semi: true, 4 | tabWidth: 2, 5 | }; 6 | -------------------------------------------------------------------------------- /06-build-page/assets/img/item1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rolling-scopes-school/HTML-builder/HEAD/06-build-page/assets/img/item1.jpg -------------------------------------------------------------------------------- /06-build-page/assets/img/item2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rolling-scopes-school/HTML-builder/HEAD/06-build-page/assets/img/item2.jpg -------------------------------------------------------------------------------- /06-build-page/assets/img/item3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rolling-scopes-school/HTML-builder/HEAD/06-build-page/assets/img/item3.jpg -------------------------------------------------------------------------------- /06-build-page/assets/img/footer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rolling-scopes-school/HTML-builder/HEAD/06-build-page/assets/img/footer.jpg -------------------------------------------------------------------------------- /06-build-page/assets/img/header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rolling-scopes-school/HTML-builder/HEAD/06-build-page/assets/img/header.jpg -------------------------------------------------------------------------------- /06-build-page/assets/img/wildlife-logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rolling-scopes-school/HTML-builder/HEAD/06-build-page/assets/img/wildlife-logo.jpg -------------------------------------------------------------------------------- /06-build-page/test-files/images/squirrel-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rolling-scopes-school/HTML-builder/HEAD/06-build-page/test-files/images/squirrel-2.jpg -------------------------------------------------------------------------------- /06-build-page/assets/fonts/Karolina-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rolling-scopes-school/HTML-builder/HEAD/06-build-page/assets/fonts/Karolina-Regular.woff2 -------------------------------------------------------------------------------- /01-read-file/text.txt: -------------------------------------------------------------------------------- 1 | Choosing a name like `c` simply because names `a` and `b` are already taken is not a good practice. It's important to select meaningful and descriptive names that clearly convey the purpose or function of the variable or entity being named. 2 | -------------------------------------------------------------------------------- /06-build-page/test-files/styles/04-about.css: -------------------------------------------------------------------------------- 1 | .about-container { 2 | padding-top: 100px; 3 | padding-bottom: 100px; 4 | 5 | display: flex; 6 | flex-direction: column; 7 | justify-content: space-between; 8 | align-items: center; 9 | 10 | text-align: center; 11 | 12 | background-color: black; 13 | color: whitesmoke; 14 | } 15 | 16 | .about-text { 17 | width: 70%; 18 | } 19 | -------------------------------------------------------------------------------- /06-build-page/assets/svg/facebook.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | social-facebook 4 | 5 | 6 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | commonjs: true, 4 | es2022: true, 5 | node: true, 6 | }, 7 | extends: ['eslint:recommended', 'prettier'], 8 | plugins: ['prettier'], 9 | parserOptions: { 10 | ecmaVersion: 13, 11 | }, 12 | rules: { 13 | indent: ['error', 2], 14 | quotes: ['error', 'single'], 15 | semi: ['error', 'always'], 16 | 'prettier/prettier': 'error', 17 | }, 18 | ignorePatterns: ['03-files-in-folder/secret-folder/**/*.js'], 19 | }; 20 | -------------------------------------------------------------------------------- /06-build-page/assets/svg/search.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | search 4 | 5 | 6 | -------------------------------------------------------------------------------- /06-build-page/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 10 | 11 | wildlife 12 | 13 | 14 | {{header}} 15 |
{{articles}}
16 | {{footer}} 17 | 18 | 19 | -------------------------------------------------------------------------------- /05-merge-styles/test-files/styles/style_one.css: -------------------------------------------------------------------------------- 1 | #Girl { 2 | animation: swing ease-in-out 1s infinite alternate; 3 | transform-origin: center -20px; 4 | transform-box: fill-box; 5 | float: left; 6 | box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5); 7 | } 8 | 9 | @keyframes swing { 10 | 0% { 11 | transform: rotate(9deg); 12 | } 13 | 100% { 14 | transform: rotate(-9deg); 15 | } 16 | } 17 | 18 | #Vector_38 { 19 | animation: swing ease-in-out 1s infinite alternate; 20 | transform-origin: center 0px; 21 | transform-box: fill-box; 22 | float: left; 23 | } 24 | -------------------------------------------------------------------------------- /05-merge-styles/styles/style-3.css: -------------------------------------------------------------------------------- 1 | .pluto { 2 | height: 780px; 3 | width: 780px; 4 | margin-top: -450px; 5 | margin-left: -320px; 6 | animation: orb 7439.70741s linear infinite; 7 | } 8 | 9 | .pluto:before { 10 | height: 3px; 11 | width: 3px; 12 | background: #fff; 13 | margin-top: -1.5px; 14 | margin-left: -1.5px; 15 | } 16 | 17 | .hide { 18 | display: none; 19 | } 20 | 21 | .links { 22 | margin-top: 5px !important; 23 | font-size: 1em !important; 24 | } 25 | 26 | @keyframes orb { 27 | from { 28 | transform: rotate(0deg); 29 | } 30 | 31 | to { 32 | transform: rotate(-360deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /06-build-page/assets/svg/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | angle-left 4 | 5 | 6 | -------------------------------------------------------------------------------- /06-build-page/assets/svg/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | angle-right 4 | 5 | 6 | -------------------------------------------------------------------------------- /06-build-page/assets/svg/telegram.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "html-builder", 3 | "version": "1.0.0", 4 | "description": "html-builder task for RSSchool", 5 | "scripts": { 6 | "lint": "eslint .", 7 | "format": "prettier --write .", 8 | "ci:format": "prettier --check ." 9 | }, 10 | "author": "evgeniimal", 11 | "license": "ISC", 12 | "bugs": { 13 | "url": "https://github.com/EvgeniiMal/html-builder-black/issues" 14 | }, 15 | "homepage": "https://github.com/EvgeniiMal/html-builder-black#readme", 16 | "devDependencies": { 17 | "@types/node": "^18.16.6", 18 | "eslint": "^8.40.0", 19 | "eslint-config-prettier": "^9.1.0", 20 | "eslint-plugin-prettier": "^5.0.1", 21 | "prettier": "^3.1.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /06-build-page/test-files/components/about.html: -------------------------------------------------------------------------------- 1 |
2 |

About us

3 |

4 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellendus rerum 5 | inventore voluptatibus quae architecto at eius eveniet tenetur aliquam. 6 | Minus doloribus provident cumque molestiae aperiam obcaecati numquam, 7 | placeat nobis eius? Lorem ipsum dolor sit amet, consectetur adipisicing 8 | elit. Maxime assumenda similique atque dignissimos cum eos necessitatibus 9 | laboriosam in doloremque nemo blanditiis explicabo unde consequuntur ullam, 10 | eius laudantium totam placeat reprehenderit! 11 |

12 |
13 |
14 | -------------------------------------------------------------------------------- /05-merge-styles/project-dist/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Solar system 9 | 10 | 11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | 25 | 26 | -------------------------------------------------------------------------------- /05-merge-styles/test-files/styles/style_two.css: -------------------------------------------------------------------------------- 1 | #Vector_39 { 2 | animation: swing ease-in-out 1s infinite alternate; 3 | transform-origin: center 0px; 4 | transform-box: fill-box; 5 | float: left; 6 | } 7 | 8 | #Vector_40 { 9 | animation: swing ease-in-out 1s infinite alternate; 10 | transform-origin: center -20px; 11 | transform-box: fill-box; 12 | float: left; 13 | } 14 | 15 | .shap.one { 16 | background-image: -moz-linear-gradient(140deg, #009688 0%, #009688 100%); 17 | background-image: -webkit-linear-gradient(140deg, #009688 0%, #009688 100%); 18 | background-image: -ms-linear-gradient(140deg, #009688 0%, #009688 100%); 19 | width: 650px; 20 | height: 510px; 21 | top: -43%; 22 | left: -58%; 23 | } 24 | 25 | .shap { 26 | position: absolute; 27 | opacity: 0.05; 28 | transform: rotate(45deg); 29 | left: 90px; 30 | z-index: -1; 31 | border-radius: 45px; 32 | } 33 | -------------------------------------------------------------------------------- /06-build-page/components/footer.html: -------------------------------------------------------------------------------- 1 | 22 | -------------------------------------------------------------------------------- /06-build-page/assets/svg/pinterest.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | social-pinterest 4 | 5 | 6 | -------------------------------------------------------------------------------- /06-build-page/components/header.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 16 |
17 |

Survival

18 |

19 | What this means is that we exist to help protect our environment and 20 | do in numbers of ways. You can save the planet by donation. 21 |

22 | 23 |
24 |
25 |
26 |
27 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Eugene 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /06-build-page/styles/03-footer.css: -------------------------------------------------------------------------------- 1 | footer { 2 | background-color: #181617; 3 | } 4 | 5 | footer .container { 6 | background-image: url('assets/img/footer.jpg'); 7 | background-size: cover; 8 | box-shadow: 9 | -150px 0 150px -100px #181617 inset, 10 | 150px 0 150px -100px #181617 inset; 11 | } 12 | 13 | .footer-inner-container { 14 | display: flex; 15 | align-items: center; 16 | justify-content: space-between; 17 | min-height: 360px; 18 | } 19 | 20 | .social-list { 21 | width: 240px; 22 | display: flex; 23 | justify-content: space-between; 24 | align-items: center; 25 | } 26 | 27 | .social-item { 28 | width: 40px; 29 | height: 40px; 30 | border-radius: 20px; 31 | } 32 | 33 | .social-item a { 34 | display: block; 35 | width: 40px; 36 | height: 40px; 37 | border-radius: 20px; 38 | background-color: #f7f7f7; 39 | background-size: contain; 40 | background-position: center center; 41 | background-repeat: no-repeat; 42 | } 43 | 44 | .fb a { 45 | background-image: url('assets/svg/facebook.svg'); 46 | } 47 | 48 | .instagramm a { 49 | background-image: url('assets/svg/instagram.svg'); 50 | background-size: 26px; 51 | } 52 | 53 | .pinterest a { 54 | background-image: url('assets/svg/pinterest.svg'); 55 | } 56 | 57 | .telegram a { 58 | background-image: url('assets/svg/telegram.svg'); 59 | background-size: 26px; 60 | } 61 | -------------------------------------------------------------------------------- /06-build-page/components/articles.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Latest articles

4 |

Breaking news from the wild

5 | 27 |
28 |

Get notified about new amazing articles

29 |
30 | 37 | 38 |
39 |
40 |
41 |
42 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | #### Title of Pull Request 2 | 3 | 4 | 5 | #### 🤔 This is a ... 6 | 7 | - [ ] 🌟 New task 8 | - [ ] 🌐 New module 9 | - [ ] ⚙️ Update to an existing task 10 | - [ ] 🔧 Update to an existing module 11 | - [ ] 🔗 Update or addition of external resources or links 12 | - [ ] 🐛 Fix in a task or related content 13 | - [ ] 🛠 Fix in a module or related content 14 | - [ ] ✏️ Fixed a typo or grammatical error 15 | - [ ] 🔗 Fixed a broken link 16 | - [ ] ❓ Other (specify: **\*\*\*\***\_\_\_\_**\*\*\*\***) 17 | 18 | #### Description 19 | 20 | - **Brief Overview:** 21 | 22 | - **Implementation Approach:** 23 | 24 | 25 | #### Additional Information 26 | 27 | - **Screenshots/Links:** 28 | 29 | - [ ] Related Issues: 30 | 31 | 32 | #### Checklist 33 | 34 | - [ ] ✅ I have performed a self-review of my own code. 35 | - [ ] 📝 I have commented my code, particularly in hard-to-understand areas. 36 | - [ ] 🔧 I have made corresponding changes to the documentation (if applicable). 37 | - [ ] 🚫 My changes generate no new warnings or errors. 38 | -------------------------------------------------------------------------------- /05-merge-styles/test-files/styles/style_three.css: -------------------------------------------------------------------------------- 1 | .shap.two { 2 | background-image: -moz-linear-gradient(140deg, #009688 0%, #009688 100%); 3 | background-image: -webkit-linear-gradient(140deg, #009688 0%, #009688 100%); 4 | background-image: -ms-linear-gradient(140deg, #009688 0%, #009688 100%); 5 | width: 666px; 6 | height: 330px; 7 | top: -42%; 8 | left: -15%; 9 | } 10 | 11 | .mauto { 12 | margin: auto; 13 | } 14 | 15 | .bg-svg { 16 | background-image: url(bg.png); 17 | background-repeat: no-repeat; 18 | background-size: cover; 19 | z-index: -1; 20 | position: relative; 21 | margin-bottom: 40px; 22 | } 23 | 24 | body { 25 | background-color: #fafafa; 26 | } 27 | 28 | #Leaf1 { 29 | -webkit-animation: shake-bottom 2s cubic-bezier(0.455, 0.03, 0.515, 0.955) 30 | infinite both; 31 | animation: shake-bottom 2s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite 32 | both; 33 | transform-box: fill-box; 34 | } 35 | 36 | #leaf11 { 37 | -webkit-animation: shake-bottom 2.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) 38 | infinite both; 39 | animation: shake-bottom 2.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite 40 | both; 41 | transform-box: fill-box; 42 | } 43 | 44 | #leaf10 { 45 | -webkit-animation: shake-bottom 3s cubic-bezier(0.455, 0.03, 0.515, 0.955) 46 | infinite both; 47 | animation: shake-bottom 3s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite 48 | both; 49 | transform-box: fill-box; 50 | } 51 | -------------------------------------------------------------------------------- /05-merge-styles/README.md: -------------------------------------------------------------------------------- 1 | ## Building the CSS Bundle 2 | 3 | In the `index.js` file of the `05-merge-styles` directory, develop a script that compiles the contents of the `styles` folder into a single file. The output file should be named `bundle.css` and located inside the `project-dist` folder. 4 | 5 | ### Requirements 6 | 7 | - [ ] After the script execution terminates, a `bundle.css` file containing styles from all files in the `styles` folder should be located in the `project-dist` folder. 8 | - [ ] When styles files are added/removed/modified in the `styles` folder and the script is rerun, the `bundle.css` file is overwritten and contains the up-to-date styles. 9 | - [ ] Any files with extensions other than `css` or directories are ignored. 10 | - [ ] Styles in the `bundle.css` file created during the compilation process should not be corrupted. 11 | 12 | ### Objectives 13 | 14 | - Learn to combine information from multiple files with the same extension. 15 | 16 | ### Folder Contents 17 | 18 | Note that inside `05-merge-styles`, there is a `test-files` folder designed for checking the task, and no interaction with it is expected during the task solution. 19 | 20 | ### Description 21 | 22 | Possible steps to complete the task: 23 | 24 | 1. Import all required modules. 25 | 2. Read the contents of the `styles` folder. 26 | 3. Check if an object in the folder is a file and has the correct file extension. 27 | 4. Read the style file. 28 | 5. Write the read data to an array. 29 | 6. Write the array of styles to the `bundle.css` file. 30 | 31 | ### Tips 32 | 33 | For a visual demonstration of your script's execution, I recommend installing the [Live Server extension](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer) in vscode and launching the `index.html` file located in the `project-dist` directory using it. 34 | -------------------------------------------------------------------------------- /04-copy-directory/README.md: -------------------------------------------------------------------------------- 1 | ## Copying a Directory 2 | 3 | In the `index.js` file of the `04-copy-directory` folder, implement the `copyDir` function, which copies the contents of the files folder to the `files-copy` folder. 4 | 5 | ### General Rules 6 | 7 | - The use of any third-party modules is prohibited. 8 | - Each task must be executed in the root directory using the command `node `. 9 | - The use of synchronous functions from the **fs module**, such as `fs.statSync(path[, options])`, `fs.readFileSync(path[, options])`, and others found in the [synchronous API section](https://nodejs.org/api/fs.html#fs_synchronous_api), is prohibited. 10 | 11 | ### Requirements 12 | 13 | - [ ] After the function execution terminates, a `files-copy` folder is created, the contents of which are an exact copy of the original `files` folder. 14 | - [ ] When files are added/removed/modified in the `files` folder and the `node 04-copy-directory` is rerun, the contents of the `files-copy` folder are updated. 15 | - [ ] The use of `fsPromises.cp()` is prohibited. 16 | 17 | ### Objectives 18 | 19 | - Learn to copy files and directories. 20 | 21 | ### Description 22 | 23 | Steps to complete the task: 24 | 25 | 1. Import all required modules. 26 | 2. Create the `files-copy` folder if it does not exist yet. 27 | 3. Read the contents of the `files` folder. 28 | 4. Copy files from the `files` folder to the `files-copy` folder. 29 | 30 | ### Tips 31 | 32 | Pay attention to the `recursive` option that can be passed to `fsPromises/mkdir`. With its help, you can avoid errors in cases where the directory already exists. 33 | 34 | ##### Useful Links 35 | 36 | - [copyFile](https://nodejs.org/api/fs.html#fs_fspromises_copyfile_src_dest_mode) 37 | - [fs.copyFile() Function](https://www.geeksforgeeks.org/node-js-fs-copyfile-function/) 38 | - [mkdir](https://nodejs.org/api/fs.html#fs_fspromises_mkdir_path_options) 39 | - [fs.mkdir() Method](https://www.geeksforgeeks.org/node-js-fs-mkdir-method/) 40 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # TypeScript v1 declaration files 45 | typings/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | 78 | # Next.js build output 79 | .next 80 | 81 | # Nuxt.js build / generate output 82 | .nuxt 83 | dist 84 | 85 | # Gatsby files 86 | .cache/ 87 | # Comment in the public line in if your project uses Gatsby and *not* Next.js 88 | # https://nextjs.org/blog/next-9-1#public-directory-support 89 | # public 90 | 91 | # vuepress build output 92 | .vuepress/dist 93 | 94 | # Serverless directories 95 | .serverless/ 96 | 97 | # FuseBox cache 98 | .fusebox/ 99 | 100 | # DynamoDB Local files 101 | .dynamodb/ 102 | 103 | # TernJS port file 104 | .tern-port 105 | -------------------------------------------------------------------------------- /06-build-page/assets/svg/instagram.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | instagram 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /06-build-page/assets/svg/logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # HTML builder 2 | 3 | --- 4 | 5 | ### Objectives: 6 | 7 | The main goal of this series of tasks is to understand the basics of working with the **Node.js** platform. 8 | You are offered to complete a series of small tasks with a gradual increase in complexity. The final touch will be the creation of a small application for building a static website. 9 | 10 | Please note that most tasks can be accomplished in multiple ways, and at this stage, there are no incorrect approaches. Only the functionality of your code and adherence to the specified conditions will be evaluated. 11 | 12 | --- 13 | 14 | ## Execution process 15 | 16 | - Click on the green button `Use this template` 17 | - In the dropdown, choose the option `Create a new repository` 18 | - Enter the repository name (preferably name it **HTML-builder**) 19 | - Leave its visibility as **public** 20 | - Click the `Create repository` button 21 | - Send the link to the created repository to `Cross-Check: Submit` in RS App 22 | - Clone the created repository 23 | - Run the command `npm install` to install eslint, prettier and node.js typings that will assist you in completing the tasks 24 | - Complete the tasks. The specifications for each task are in the `README.md` file inside the task folder 25 | - Push the solution to your repository 26 | 27 | ## Crosscheck 28 | 29 | The process for cross-checking is detailed in the repository's wiki. 30 | Once the cross-check begins, access the guidelines by following [this link](https://github.com/rolling-scopes-school/HTML-builder/wiki) and adhere to the instructions provided on the page. 31 | 32 | ### General Rules 33 | 34 | - The use of any third-party modules is strictly prohibited. 35 | - Each task must be executed in the root directory using the command `node `. 36 | - Utilizing synchronous functions from the **fs module**, such as `fs.statSync(path[, options])`, `fs.readFileSync(path[, options])`, and others found in the [Synchronous API section](https://nodejs.org/api/fs.html#fs_synchronous_api), is not allowed. 37 | - The use of the `setTimeout()` function is forbidden. 38 | - Task execution and verification should be carried out on the **LTS** version of Node. 39 | 40 | ## Table of Contents 41 | 42 | [01 Reading a File with Console Output](https://github.com/rolling-scopes-school/HTML-builder/blob/main/01-read-file) 43 | [02 Writing Console Input to File](https://github.com/rolling-scopes-school/HTML-builder/blob/main/02-write-file) 44 | [03 Displaying Information about Files Stored in a Folder](https://github.com/rolling-scopes-school/HTML-builder/blob/main/03-files-in-folder) 45 | [04 Copying a Directory](https://github.com/rolling-scopes-school/HTML-builder/blob/main/04-copy-directory) 46 | [05 Building the CSS Bundle](https://github.com/rolling-scopes-school/HTML-builder/blob/main/05-merge-styles) 47 | [06 Building an HTML Page from Components and Styles](https://github.com/rolling-scopes-school/HTML-builder/blob/main/06-build-page) 48 | -------------------------------------------------------------------------------- /06-build-page/README.md: -------------------------------------------------------------------------------- 1 | ## Building an HTML Page from Components and Styles 2 | 3 | In the `index.js` file within the `06-build-page` directory, develop a script that: 4 | 5 | 1. Creates a folder named `project-dist`. 6 | 2. Replaces template tags in the `template.html` file with filenames from the `components` folder (e.g., `{{section}}`) with the contents of the components of the same name and saves the result in `project-dist/index.html`. 7 | 3. Compiles styles from the `styles` folder into a single file and places it in `project-dist/style.css`. 8 | 4. Copies the `assets` folder into `project-dist/assets`. 9 | 10 | ### General Rules 11 | 12 | - The use of any third-party modules is prohibited. 13 | - Each task must be executed in the root directory using the command `node `. 14 | - The use of synchronous functions from the **fs module**, such as `fs.statSync(path[, options])`, `fs.readFileSync(path[, options])`, and others found in the [synchronous API section](https://nodejs.org/api/fs.html#fs_synchronous_api), is prohibited. 15 | 16 | ### Requirements 17 | 18 | - [ ] After the script execution terminates, the `project-dist` folder should be created. 19 | - [ ] The `project-dist` folder should contain files `index.html` and `style.css`. 20 | - [ ] The `project-dist` folder should contain an `assets` folder that is an exact copy of the `assets` folder in `06-build-page`. 21 | - [ ] The use of `fsPromises.cp()` is prohibited. 22 | - [ ] The `index.html` file should contain markup resulting from the replacement of template tags in the `template.html` file. 23 | - [ ] The `style.css` file should contain styles compiled from files in the `styles` folder. 24 | - [ ] When adding a component to the folder and the corresponding tag to the original `template.html` file, rerunning the script should update the `index.html` file in the `project-dist` folder. The `style.css` file and `assets` folder should also maintain an up-to-date state. 25 | - [ ] When writing two or more template tags consecutively in the `template.html` file, separated only by spaces without line breaks, there should be no code execution errors. For example, `{{about}} {{articles}}` should be interpreted as two separate components. 26 | - [ ] The original `template.html` file should not be modified during script execution. 27 | - [ ] Writing content to the template from any files except those with the `.html` extension is an error. 28 | 29 | ### Objectives 30 | 31 | - Create a small utility to assemble a static HTML page. 32 | - Reinforce acquired knowledge. 33 | 34 | ### Description 35 | 36 | Possible steps to complete the task: 37 | 38 | 1. Import all required modules. 39 | 2. Read and save the template file in a variable. 40 | 3. Find all tag names in the template file. 41 | 4. Replace template tags with the content of component files. 42 | 5. Write the modified template to the `index.html` file in the `project-dist` folder. 43 | 6. Use the script written in task **05-merge-styles** to create the `style.css` file. 44 | 7. Use the script from task **04-copy-directory** to move the `assets` folder into the `project-dist` folder. 45 | 46 | Note that you can optimize and modify this algorithm according to your preferences. 47 | -------------------------------------------------------------------------------- /05-merge-styles/test-files/styles/style_four.css: -------------------------------------------------------------------------------- 1 | #leaf12 { 2 | -webkit-animation: shake-bottom 9s cubic-bezier(0.455, 0.03, 0.515, 0.955) 3 | infinite both; 4 | animation: shake-bottom 9s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite 5 | both; 6 | transform-box: fill-box; 7 | } 8 | 9 | #leaf13 { 10 | -webkit-animation: shake-bottom 8s cubic-bezier(0.455, 0.03, 0.515, 0.955) 11 | infinite both; 12 | animation: shake-bottom 8s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite 13 | both; 14 | transform-box: fill-box; 15 | } 16 | 17 | #lef14 { 18 | -webkit-animation: shake-bottom 7.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) 19 | infinite both; 20 | animation: shake-bottom 7.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite 21 | both; 22 | transform-box: fill-box; 23 | } 24 | 25 | #leaf15 { 26 | -webkit-animation: shake-bottom 7s cubic-bezier(0.455, 0.03, 0.515, 0.955) 27 | infinite both; 28 | animation: shake-bottom 7s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite 29 | both; 30 | transform-box: fill-box; 31 | } 32 | 33 | #leaf16 { 34 | -webkit-animation: shake-bottom 6.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) 35 | infinite both; 36 | animation: shake-bottom 6.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite 37 | both; 38 | transform-box: fill-box; 39 | } 40 | 41 | #leaf17 { 42 | -webkit-animation: shake-bottom 6s cubic-bezier(0.455, 0.03, 0.515, 0.955) 43 | infinite both; 44 | animation: shake-bottom 6s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite 45 | both; 46 | transform-box: fill-box; 47 | } 48 | 49 | @-webkit-keyframes shake-bottom { 50 | 0%, 51 | 100% { 52 | -webkit-transform: rotate(0deg); 53 | transform: rotate(0deg); 54 | -webkit-transform-origin: 50% 100%; 55 | transform-origin: 50% 100%; 56 | } 57 | 10% { 58 | -webkit-transform: rotate(2deg); 59 | transform: rotate(2deg); 60 | } 61 | 20%, 62 | 40%, 63 | 60% { 64 | -webkit-transform: rotate(-4deg); 65 | transform: rotate(-4deg); 66 | } 67 | 30%, 68 | 50%, 69 | 70% { 70 | -webkit-transform: rotate(4deg); 71 | transform: rotate(4deg); 72 | } 73 | 80% { 74 | -webkit-transform: rotate(-2deg); 75 | transform: rotate(-2deg); 76 | } 77 | 90% { 78 | -webkit-transform: rotate(2deg); 79 | transform: rotate(2deg); 80 | } 81 | } 82 | @keyframes shake-bottom { 83 | 0%, 84 | 100% { 85 | -webkit-transform: rotate(0deg); 86 | transform: rotate(0deg); 87 | -webkit-transform-origin: 50% 100%; 88 | transform-origin: 50% 100%; 89 | } 90 | 10% { 91 | -webkit-transform: rotate(2deg); 92 | transform: rotate(2deg); 93 | } 94 | 20%, 95 | 40%, 96 | 60% { 97 | -webkit-transform: rotate(-4deg); 98 | transform: rotate(-4deg); 99 | } 100 | 30%, 101 | 50%, 102 | 70% { 103 | -webkit-transform: rotate(4deg); 104 | transform: rotate(4deg); 105 | } 106 | 80% { 107 | -webkit-transform: rotate(-2deg); 108 | transform: rotate(-2deg); 109 | } 110 | 90% { 111 | -webkit-transform: rotate(2deg); 112 | transform: rotate(2deg); 113 | } 114 | } 115 | -------------------------------------------------------------------------------- /03-files-in-folder/README.md: -------------------------------------------------------------------------------- 1 | ## Displaying Information about Files Stored in a Folder 2 | 3 | In the `index.js` file of the `03-files-in-folder` directory, develop a script that outputs information about files contained in the `secret-folder` to the console. 4 | 5 | ### Requirements 6 | 7 | - [ ] When executing the command `node 03-files-in-folder` in the root directory of the repository, information about files contained directly within `03-files-in-folder/secret-folder` should be displayed in the console. 8 | The data should be presented in the format `--`. 9 | Example: `example - txt - 128.369kb`. 10 | _Note: no rounding for file size is necessary; conversion to kB is optional!_ 11 | 12 | - [ ] Information should only be displayed for files located in `03-files-in-folder/secret-folder`. The presence of information about directories is considered an error. 13 | 14 | ### Objectives 15 | 16 | - Learn to obtain information about files. 17 | 18 | ### Description 19 | 20 | Steps to complete the task: 21 | 22 | 1. Import all required modules. 23 | 2. Read the contents of the secret-folder. 24 | 3. Retrieve data for each object within the secret-folder. 25 | 4. Check if the object is a file. 26 | 5. Display file data in the console. 27 | 28 | ### Tips 29 | 30 | Check [this article](https://www.freecodecamp.org/news/what-is-gitkeep/) to fill in possible gaps in understanding how git works and to eliminate questions about reading files in subfolders. 31 | 32 | To read the contents of a folder, use the [readdir function](https://nodejs.org/dist/latest-v16.x/docs/api/fs.html#fspromisesreaddirpath-options) from the **fs/promises module**. This function allows you to get the names of all files in a specified directory. 33 | 34 | After reading the folder's contents, if you set the option `{withFileTypes: true}`, each object in it will be represented as an instance of the [Dirent class](https://nodejs.org/dist/latest-v16.x/docs/api/fs.html#fs_class_fs_dirent). Its methods will help you determine whether the object is a file. 35 | 36 | To determine the file extension, you can use the [extname method](https://nodejs.org/api/path.html#path_path_extname_path) of the **path module**. 37 | 38 | Use [stat](https://nodejs.org/dist/latest-v16.x/docs/api/fs.html#fsstatpath-options-callback) to obtain information about a file. 39 | You can see the full list of data returned by this function in the documentation. Note that the object returned by this function is an instance of the [Stats class](https://nodejs.org/dist/latest-v16.x/docs/api/fs.html#fs_class_fs_stats), which also has methods to check whether the object is a file. 40 | 41 | ##### Useful Links 42 | 43 | _If you're looking for the information in Russian, please note that translations of documentation into Russian may be outdated and may not contain all the modern features of the modules. 44 | For up-to-date information, always use the official documentation!_ 45 | 46 | - [Node.js file stats](https://nodejs.org/en/learn/manipulating-files/nodejs-file-stats) 47 | - [Node.js fs.readdir() Method](https://www.geeksforgeeks.org/node-js-fs-readdir-method/) 48 | - [Working with folders in Node.js](https://nodejs.org/en/learn/manipulating-files/working-with-folders-in-nodejs) 49 | -------------------------------------------------------------------------------- /06-build-page/styles/02-main.css: -------------------------------------------------------------------------------- 1 | main .container { 2 | padding-top: 120px; 3 | padding-bottom: 120px; 4 | } 5 | 6 | .main-title { 7 | font-size: 48px; 8 | color: #333; 9 | text-align: center; 10 | margin: 0; 11 | padding: 0; 12 | margin-bottom: 20px; 13 | } 14 | 15 | .main-subtitle { 16 | position: relative; 17 | font-size: 24px; 18 | color: #666; 19 | text-align: center; 20 | margin: 0; 21 | margin-bottom: 120px; 22 | padding: 0; 23 | } 24 | 25 | .main-subtitle::after { 26 | content: ''; 27 | position: absolute; 28 | left: 50%; 29 | margin-left: -40px; 30 | bottom: -50px; 31 | width: 80px; 32 | height: 5px; 33 | background-color: #333; 34 | } 35 | 36 | .slider { 37 | display: flex; 38 | align-items: center; 39 | justify-content: space-between; 40 | margin-bottom: 240px; 41 | } 42 | 43 | .item a { 44 | display: flex; 45 | align-items: center; 46 | justify-content: flex-end; 47 | flex-direction: column; 48 | width: 300px; 49 | height: 360px; 50 | background-size: cover; 51 | background-repeat: no-repeat; 52 | text-decoration: none; 53 | box-shadow: 54 | 0 -150px 150px -120px #02160b inset, 55 | 0 -100px 100px -80px #02160b inset, 56 | 0 -50px 50px -40px #02160b inset; 57 | } 58 | 59 | .item1 { 60 | background-image: url('assets/img/item1.jpg'); 61 | } 62 | 63 | .item2 { 64 | background-image: url('assets/img/item2.jpg'); 65 | } 66 | 67 | .item3 { 68 | background-image: url('assets/img/item3.jpg'); 69 | } 70 | 71 | .item-title { 72 | font-size: 24px; 73 | font-weight: 300; 74 | color: #f7f7f7; 75 | text-align: center; 76 | margin: 0; 77 | padding: 0; 78 | margin-bottom: 10px; 79 | } 80 | 81 | .item-subtitle { 82 | position: relative; 83 | font-size: 18px; 84 | font-weight: 100; 85 | color: #f7f7f7; 86 | text-align: center; 87 | margin: 0; 88 | margin-bottom: 40px; 89 | padding: 0; 90 | } 91 | 92 | .item-subtitle::after { 93 | content: ''; 94 | position: absolute; 95 | left: 50%; 96 | margin-left: -22px; 97 | bottom: -20px; 98 | width: 44px; 99 | height: 2px; 100 | background-color: #f7f7f7; 101 | } 102 | 103 | .arrow { 104 | width: 30px; 105 | height: 70px; 106 | background-size: contain; 107 | background-position: center center; 108 | background-repeat: no-repeat; 109 | cursor: pointer; 110 | } 111 | 112 | .arrow-left { 113 | background-image: url('assets/svg/arrow-left.svg'); 114 | } 115 | 116 | .arrow-right { 117 | background-image: url('assets/svg/arrow-right.svg'); 118 | } 119 | 120 | .mail-form { 121 | display: flex; 122 | height: 60px; 123 | justify-content: center; 124 | } 125 | 126 | .mail-title { 127 | padding: 0; 128 | margin: 0; 129 | margin-bottom: 60px; 130 | text-align: center; 131 | color: #333; 132 | } 133 | 134 | .mail-input { 135 | box-sizing: border-box; 136 | width: 540px; 137 | height: 60px; 138 | padding: 10px; 139 | background-color: transparent; 140 | border: 1px solid #666; 141 | border-right: 0; 142 | outline: 0; 143 | } 144 | 145 | .mail-input::placeholder { 146 | font-size: 24px; 147 | line-height: 58px; 148 | color: #666; 149 | } 150 | 151 | .mail-button { 152 | width: 120px; 153 | height: 60px; 154 | color: #f7f7f7; 155 | background-color: #cd6326; 156 | font-size: 24px; 157 | border: 1px solid #cd6326; 158 | border-radius: 0 5px 5px 0; 159 | border-left: 0; 160 | cursor: pointer; 161 | transition: 0.3s; 162 | } 163 | 164 | .mail-button:hover { 165 | background-color: #e4902d; 166 | border-color: #e4902d; 167 | outline: 0; 168 | } 169 | 170 | .mail-button:active { 171 | background-color: #8f5515; 172 | border-color: #8f5515; 173 | outline: 0; 174 | } 175 | -------------------------------------------------------------------------------- /06-build-page/styles/01-header.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Karolina'; 3 | src: url('assets/fonts/Karolina-Regular.woff2') format('woff2'); 4 | font-weight: normal; 5 | font-style: normal; 6 | } 7 | 8 | * { 9 | box-sizing: border-box; 10 | } 11 | 12 | body { 13 | margin: 0; 14 | padding: 0; 15 | font-family: 'Open Sans', sans-serif; 16 | font-size: 18px; 17 | line-height: 1.5; 18 | } 19 | 20 | .inner-container { 21 | max-width: 1200px; 22 | margin: 0 auto; 23 | } 24 | 25 | header { 26 | background-color: #02160b; 27 | } 28 | 29 | header .container { 30 | min-height: 780px; 31 | background-image: url('assets/img/header.jpg'); 32 | background-size: cover; 33 | padding-top: 20px; 34 | box-shadow: 35 | -150px 0 150px -100px #02160b inset, 36 | 150px 0 150px -100px #02160b inset, 37 | -100px 0 100px -90px #02160b inset, 38 | 100px 0 100px -90px #02160b inset, 39 | -50px 0 50px -40px #02160b inset, 40 | 50px 0 50px -40px #02160b inset; 41 | } 42 | 43 | .main-nav { 44 | display: flex; 45 | align-items: center; 46 | justify-content: space-between; 47 | margin-bottom: 120px; 48 | } 49 | 50 | .nav-list { 51 | display: flex; 52 | align-items: center; 53 | justify-content: space-between; 54 | width: 480px; 55 | padding: 0; 56 | margin: 0; 57 | height: 60px; 58 | } 59 | 60 | .list-item { 61 | padding: 0; 62 | margin: 0; 63 | list-style: none; 64 | } 65 | 66 | .list-item a { 67 | font-size: 24px; 68 | line-height: 60px; 69 | color: #f7f7f7; 70 | text-decoration: none; 71 | transition: 0.3s; 72 | } 73 | 74 | .list-item:hover a { 75 | color: #cd6326; 76 | } 77 | 78 | .logo { 79 | display: flex; 80 | align-items: center; 81 | justify-content: space-between; 82 | width: 240px; 83 | height: 60px; 84 | } 85 | 86 | .logo-icon { 87 | width: 70px; 88 | height: 60px; 89 | background-image: url('assets/svg/logo.svg'); 90 | background-size: contain; 91 | background-position: left center; 92 | background-repeat: no-repeat; 93 | } 94 | 95 | .logo h1, 96 | .logo h2 { 97 | padding: 0; 98 | margin: 0; 99 | font-family: 'Karolina'; 100 | font-size: 32px; 101 | color: #f7f7f7; 102 | line-height: 60px; 103 | text-transform: uppercase; 104 | font-weight: 300; 105 | } 106 | 107 | .search { 108 | width: 32px; 109 | height: 32px; 110 | background-image: url('assets/svg/search.svg'); 111 | background-size: contain; 112 | background-position: center center; 113 | background-repeat: no-repeat; 114 | cursor: pointer; 115 | } 116 | 117 | .login { 118 | width: 120px; 119 | height: 50px; 120 | border: 2px solid #cd6326; 121 | border-radius: 5px; 122 | text-align: center; 123 | transition: 0.3s; 124 | } 125 | 126 | .login:hover { 127 | background-color: #cd6326; 128 | border-color: #cd6326; 129 | } 130 | 131 | .login:active { 132 | background-color: #8f5515; 133 | border-color: #8f5515; 134 | } 135 | 136 | .login a, 137 | .login:hover a, 138 | .login:active a { 139 | color: #f7f7f7; 140 | line-height: 46px; 141 | } 142 | 143 | .header-title { 144 | position: relative; 145 | font-size: 48px; 146 | font-weight: 600; 147 | color: #cd6326; 148 | letter-spacing: 2px; 149 | margin-bottom: 50px; 150 | } 151 | 152 | .header-title::after { 153 | content: ''; 154 | position: absolute; 155 | left: 0; 156 | bottom: -15px; 157 | width: 80px; 158 | height: 5px; 159 | background-color: #cd6326; 160 | } 161 | 162 | .header-text { 163 | width: 280px; 164 | color: #f7f7f7; 165 | margin-bottom: 50px; 166 | } 167 | 168 | .header-button { 169 | width: 160px; 170 | height: 60px; 171 | color: #f7f7f7; 172 | background-color: #cd6326; 173 | border-radius: 5px; 174 | font-size: 24px; 175 | border: 0; 176 | outline: 0; 177 | cursor: pointer; 178 | transition: 0.3s; 179 | } 180 | 181 | .header-button:hover { 182 | background-color: #e4902d; 183 | } 184 | 185 | .header-button:active { 186 | background-color: #8f5515; 187 | } 188 | -------------------------------------------------------------------------------- /02-write-file/README.md: -------------------------------------------------------------------------------- 1 | ## Writing Console Input to File 2 | 3 | In the `index.js` file in the `02-write-file` directory, develop a script that outputs a greeting to the console, waits for text input, and writes the entered text to a file. 4 | 5 | ### General Rules 6 | 7 | - The use of any third-party modules is prohibited. 8 | - Each task must be executed in the root directory using the command `node `. 9 | - The use of synchronous functions from the **fs module**, such as `fs.statSync(path[, options])`, `fs.readFileSync(path[, options])`, and others found in the [synchronous API section](https://nodejs.org/api/fs.html#fs_synchronous_api), is prohibited. 10 | 11 | ### Requirements 12 | 13 | - [ ] Inside the `02-write-file` folder, there is 1 file `index.js`. 14 | - [ ] When executing the command `node 02-write-file` in the root directory of the repository, a text file is created in the `02-write-file` folder, and a prompt for text input is displayed in the console (the text of prompt is of your choice). 15 | - [ ] After entering text, the entered text should be written to the previously created file in the `02-write-file` directory. The process does not terminate and awaits new input. 16 | - [ ] After the next input, the initially created text file is appended with new text, and the process continues to wait for input. 17 | - [ ] When pressing the `ctrl + c` key combination or entering `exit` into the console, a farewell phrase is displayed (the text of farewell phrase is of your choice), and the process terminates. 18 | 19 | ### Objectives 20 | 21 | - Strengthen understanding of the basics of working with events and streams in Node.js. 22 | - Work with the global **process** object. 23 | 24 | ### Description 25 | 26 | In this task, you will develop a program that reads your console input until the process is forcibly terminated with `ctrl + c` or the keyword `exit` is entered. 27 | 28 | The steps to complete the task are as follows: 29 | 30 | 1. Import all required modules. 31 | 2. Create a writable stream to a text file. 32 | 3. Display a welcome message in the console. 33 | 4. Wait for user input, with subsequent checking for the presence of the keyword `exit`. 34 | 5. Write the entered text to the file. 35 | 6. Wait for further input. 36 | 7. Implement a farewell message when the process is stopped. 37 | 38 | ### Tips 39 | 40 | To successfully complete this task, you will need to apply your knowledge of events and streams that you have acquired previously. Additionally, an understanding of the global **process** object and its capabilities is essential. Utilizing its events allows you to intercept signals sent to the process, such as the `ctrl + c` interrupt command. 41 | 42 | Reading anything from a stream using the **Readline module** can be helpful. The standard input stream `stdin`, being a **ReadableStream**, is well-suited for this. 43 | 44 | ##### Useful Links 45 | 46 | _Please note, if you are seeking information in Russian, be aware that translations of the documentation may be outdated. They might not include all the latest features of the modules. For the most current and accurate information, always refer to the official documentation!_ 47 | 48 | - Process: 49 | - [Process](https://nodejs.org/api/process.html) 50 | - [Node Process Object Explained](https://www.freecodecamp.org/news/node-process-object-explained/) 51 | - [Signal events](https://nodejs.org/api/process.html#process_signal_events) 52 | - [Node.js Process Signal Events](https://www.geeksforgeeks.org/node-js-process-signal-events/) 53 | - Readline: 54 | - [Readline](https://nodejs.org/api/readline.html) 55 | - [Node.js Readline() Module](https://www.geeksforgeeks.org/node-js-readline-module/) 56 | - Events: 57 | - [Understanding Node.js Event-Driven Architecture](https://www.freecodecamp.org/news/understanding-node-js-event-driven-architecture-223292fcbc2d/) 58 | - [The Node.js Event emitter](https://nodejs.org/en/learn/asynchronous-work/the-nodejs-event-emitter) 59 | - [Events](https://nodejs.org/api/events.html) 60 | - [Events in Node.js](https://medium.com/@diego.coder/events-in-node-js-76fbe1b6cdad) 61 | - Streams: 62 | - [Stream](https://nodejs.org/api/stream.html) 63 | - [fs.createReadStream](https://nodejs.org/api/fs.html#fs_fs_createreadstream_path_options) 64 | - [Understanding Streams in Node.js](https://nodesource.com/blog/understanding-streams-in-nodejs/) 65 | - [Node.js Streams: Everything you need to know](https://www.freecodecamp.org/news/node-js-streams-everything-you-need-to-know-c9141306be93/) 66 | - Path Module: 67 | - [Path](https://nodejs.org/api/path.html) 68 | - [Node.js Path Module](https://www.javascripttutorial.net/nodejs-tutorial/nodejs-path-module/) 69 | -------------------------------------------------------------------------------- /01-read-file/README.md: -------------------------------------------------------------------------------- 1 | ## Reading a File with Console Output 2 | 3 | In the file `index.js` within the directory `01-read-file`, develop a script that outputs the contents of the file `text.txt` to the console. 4 | 5 | ### General Rules 6 | 7 | - The use of any third-party modules is prohibited. 8 | - Each task must be executed in the root directory using the command `node `. 9 | - The use of synchronous functions from the **fs module**, such as `fs.statSync(path[, options])`, `fs.readFileSync(path[, options])`, and others found in the [synchronous API section](https://nodejs.org/api/fs.html#fs_synchronous_api), is prohibited. 10 | 11 | ### Requirements 12 | 13 | - [ ] Inside the folder `01-read-file`, there are 2 files, `index.js` and `text.txt`. 14 | - [ ] When executing the command `node 01-read-file` in the root directory of the repository, the contents of the file `text.txt` should be printed to the console. 15 | - [ ] Synchronous file reading methods should not be used in the code. 16 | - [ ] File reading should occur using **ReadStream**. 17 | 18 | ### Objectives 19 | 20 | - Get acquainted with the basics of working with the file system on the Node.js platform. 21 | - Learn the basics of streams and events. 22 | - Familiarize yourself with the Path module and learn to use it to construct absolute paths to files. 23 | 24 | ### Description 25 | 26 | In this task, you are required to develop a small script that outputs the contents of a pre-prepared text file to the console. You can follow these steps: 27 | 28 | 1. Import the necessary modules for task execution: 29 | 30 | - To interact with the file system in Node.js, use the [fs module](https://nodejs.org/api/fs.html#fs_file_system). 31 | - For correctly specifying the file path, you will need the [Path module](https://nodejs.org/api/path.html#path). 32 | 33 | 2. Create a new **ReadStream** from the file `text.txt`. 34 | 3. Direct the read stream to the standard output stream. 35 | 36 | ### Tips 37 | 38 | For imports in Node.js, use [CommonJS modules](https://nodejs.org/docs/latest/api/modules.html#modules_modules_commonjs_modules). 39 | Despite the fact that Node.js now has almost full support for **ECMAScript modules** (`import/export`), this approach is not yet fully stable, and the vast majority of code you encounter will be written using CommonJS: 40 | 41 | ```js 42 | const fs = require('fs'); 43 | ``` 44 | 45 | For reading the file, you will use [streams](https://nodejs.org/api/stream.html#readable-streams), which are an important and useful part of the platform. Thanks to them, you can process large amounts of data chunk by chunk on the fly, while consuming a minimal amount of resources, instead of loading them into memory entirely. In your future work, you will encounter them repeatedly. 46 | 47 | It's crucial to familiarize yourself with another fundamental concept in Node.js: **Events**. Node.js extensively uses events, and most objects are instances of the `EventEmitter` class. Understanding streams' operation is greatly enhanced by first getting to know events, as every stream is a descendant of `EventEmitter`. 48 | Materials on these topics are also attached in the [Useful Links section](#useful-links). 49 | 50 | When creating a **ReadStream**, pay attention to the fact that the command to run your code should be executed in the root directory of the repository. Therefore, it is important to correctly pass the file path for reading. 51 | Node.js, in the case of passing a relative path to the file like `./text.txt`, will look for it relative to the directory in which the process was started. 52 | The [join function](https://nodejs.org/api/path.html#path_path_join_paths) from the **Path module** allows you to create a full path to the text file based on the variable `__dirname`, which stores the path to the directory where your script file is located. Thus, the directory from which you run the code will not affect the location of the required file, and you will always refer to `text.txt` located next to `index.js`. 53 | The [Path module](https://nodejs.org/api/path.html) also contains other useful functions for manipulating paths, so I strongly recommend studying its capabilities. 54 | 55 | You will have several options for directing your read stream to the [standard output stream](https://en.wikipedia.org/wiki/Standard_streams) (i.e., the console). You can use both the high-level [console.log()](https://nodejs.org/api/console.html#console_console_log_data_args) and work directly with the output stream [process.stdout](https://nodejs.org/api/process.html#process_process_stdout). 56 | 57 | ##### Useful Links 58 | 59 | _If you're looking for the information in Russian, please note that translations of documentation into Russian may be outdated and may not contain all the modern features of the modules. 60 | For up-to-date information, always use the official documentation!_ 61 | 62 | - Events: 63 | - [Understanding Node.js Event-Driven Architecture](https://www.freecodecamp.org/news/understanding-node-js-event-driven-architecture-223292fcbc2d/) 64 | - [The Node.js Event emitter](https://nodejs.org/en/learn/asynchronous-work/the-nodejs-event-emitter) 65 | - [Events](https://nodejs.org/api/events.html) 66 | - [Events in Node.js](https://medium.com/@diego.coder/events-in-node-js-76fbe1b6cdad) 67 | - Streams: 68 | - [Stream](https://nodejs.org/api/stream.html) 69 | - [fs.createReadStream](https://nodejs.org/api/fs.html#fs_fs_createreadstream_path_options) 70 | - [Understanding Streams in Node.js](https://nodesource.com/blog/understanding-streams-in-nodejs/) 71 | - [Node.js Streams: Everything you need to know](https://www.freecodecamp.org/news/node-js-streams-everything-you-need-to-know-c9141306be93/) 72 | - Path: 73 | - [Path](https://nodejs.org/api/path.html) 74 | - [Node.js Path Module](https://www.javascripttutorial.net/nodejs-tutorial/nodejs-path-module/) 75 | - Process: 76 | - [Process](https://nodejs.org/api/process.html) 77 | - [Node Process Object Explained](https://www.freecodecamp.org/news/node-process-object-explained/) 78 | -------------------------------------------------------------------------------- /03-files-in-folder/secret-folder/script.js: -------------------------------------------------------------------------------- 1 | Ut egestas massa purus, suscipit pulvinar ipsum dapibus eget. Nullam aliquam quam eu velit aliquam vulputate. Quisque dui lectus, lacinia at facilisis eu, consequat vitae turpis. Praesent at erat quam. Aenean accumsan eleifend ornare. Suspendisse in tincidunt tellus. Nam sed odio massa. Sed velit turpis, vestibulum ac sapien facilisis, cursus accumsan eros. Curabitur vel eros iaculis, ornare augue eu, tristique metus. Donec sodales purus quis suscipit molestie. Sed tincidunt metus enim, vitae aliquet libero viverra eget. Cras metus mauris, auctor id dui ac, venenatis luctus ligula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur varius velit vel erat faucibus, mollis molestie turpis vestibulum. Etiam vehicula risus eu mauris gravida efficitur. 2 | 3 | Praesent sed est nisi. Aenean ut mi facilisis, dapibus odio quis, pulvinar ante. Interdum et malesuada fames ac ante ipsum primis in faucibus. Proin ut dictum lectus. Morbi eget venenatis mauris, a aliquet diam. Nam blandit quam non iaculis viverra. Integer ac rhoncus odio. Integer bibendum arcu vitae tellus placerat eleifend. Integer sed facilisis nunc, ac tempor lacus. Quisque vel orci tellus. 4 | 5 | Ut gravida, neque vel efficitur consectetur, risus ante tincidunt magna, nec cursus lectus sem nec lectus. Morbi suscipit, velit eget facilisis feugiat, diam nisi dapibus lacus, id luctus nunc leo a felis. Fusce placerat augue vel bibendum dignissim. Sed pellentesque iaculis nulla id maximus. Mauris bibendum porttitor odio eleifend pellentesque. Nam ante purus, scelerisque non tortor sit amet, tristique porta ante. Ut vel luctus lorem. Praesent ultrices urna congue semper convallis. Morbi neque dui, consequat id finibus in, pellentesque ac mauris. 6 | 7 | Mauris facilisis, urna vel hendrerit aliquet, magna quam rutrum nibh, a finibus lorem nisl sed dui. Mauris porttitor at sapien non rhoncus. Phasellus eget condimentum velit. Phasellus dictum orci ac odio semper, vel tempor erat dignissim. Sed nec odio condimentum, laoreet tellus et, pellentesque mauris. Proin vestibulum imperdiet mollis. Duis nec nulla tincidunt, dignissim urna ut, aliquet lectus. Donec quis scelerisque nisi. Duis sed mi augue. Aliquam tristique, ex vitae dignissim convallis, eros felis consectetur arcu, id sagittis diam turpis ultrices arcu. Integer facilisis tempor blandit. Morbi luctus ex sit amet odio pellentesque tristique. 8 | 9 | Sed tristique pharetra ante. Cras vitae dui quis turpis malesuada interdum. Suspendisse potenti. Pellentesque vel erat eu dolor tempus ultrices. Donec id augue sem. Integer finibus tincidunt pharetra. Aenean nunc quam, vestibulum non arcu id, rhoncus varius metus. 10 | 11 | Integer vulputate placerat justo a aliquet. Pellentesque ante erat, ornare nec tincidunt quis, porttitor non nisi. Nam eget dui vehicula, dignissim magna nec, condimentum felis. Aliquam erat volutpat. Duis id pharetra magna, vel accumsan urna. Aenean risus libero, lacinia quis aliquet eget, rhoncus et libero. Donec in dictum nunc, sit amet tempor est. Etiam purus felis, volutpat maximus enim sit amet, imperdiet volutpat velit. Fusce odio turpis, facilisis egestas quam vitae, mollis aliquam nibh. Nullam lacinia orci nec neque venenatis, eget efficitur erat lacinia. Etiam et elit euismod felis sollicitudin tincidunt quis interdum nibh. Morbi suscipit neque id velit pretium, eu imperdiet nisi porttitor. Duis aliquam, erat nec molestie egestas, nibh massa elementum ligula, at luctus arcu nisl at elit. In a feugiat libero. Phasellus dictum tempor diam eget porta. 12 | 13 | Cras interdum mauris vel leo lobortis maximus. Maecenas eu sapien eu dui bibendum congue dignissim et quam. Vestibulum ac nulla nibh. Curabitur non nunc at lorem feugiat euismod. Vestibulum magna felis, cursus vel sapien sed, scelerisque condimentum felis. Donec sollicitudin massa justo, in pulvinar dolor bibendum vitae. Morbi et ante et velit dignissim tristique sed at enim. Donec nec mi nec magna finibus lobortis. Phasellus nunc felis, commodo eu erat in, tincidunt ultricies neque. Proin tristique rutrum enim eget lacinia. Duis pellentesque et nunc eget pulvinar. Sed vel quam blandit risus lobortis luctus id quis magna. Donec bibendum tempus est, vel porttitor nunc malesuada facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. 14 | 15 | Fusce tincidunt ante quam, in vulputate ante dignissim vitae. In ut dignissim justo. Curabitur lobortis ornare turpis vel semper. Aenean placerat rutrum facilisis. Curabitur id massa lobortis, maximus massa vel, blandit massa. Etiam tincidunt dui eu urna pharetra fringilla. Ut libero est, accumsan efficitur ligula non, venenatis fermentum sapien. Proin quis sollicitudin diam, sit amet suscipit eros. Morbi id aliquam tellus, vel lacinia erat. 16 | 17 | Proin bibendum sapien eget risus tristique dictum. Ut dignissim nunc eu ligula egestas fermentum vel sed quam. Morbi enim turpis, condimentum finibus ipsum a, molestie pretium erat. Integer non nulla a libero finibus ullamcorper eu id libero. Nullam tempus sem vel pulvinar malesuada. Donec ornare venenatis molestie. Interdum et malesuada fames ac ante ipsum primis in faucibus. Morbi ut faucibus elit, et lacinia lorem. Cras ornare condimentum sem, nec molestie lorem venenatis quis. Donec placerat mauris nec lacus mattis pulvinar. Quisque et mi ornare, imperdiet urna non, hendrerit massa. Nam placerat elit eget nisl bibendum, vitae imperdiet odio semper. Pellentesque fermentum cursus rutrum. Vestibulum sed interdum odio. Pellentesque vitae magna vitae nunc mollis consequat efficitur a nulla. Vivamus mollis iaculis tristique. 18 | 19 | Ut lorem dui, venenatis sed nunc non, sagittis malesuada urna. Donec venenatis justo neque, porttitor fringilla velit luctus non. Vestibulum vehicula magna et nibh euismod cursus. Sed sed dolor lectus. Proin blandit ipsum libero, ut scelerisque metus malesuada et. Maecenas aliquet lobortis mauris, ut laoreet sapien maximus sit amet. Sed varius ligula lorem, vel hendrerit neque varius quis. Pellentesque malesuada, enim at tempus auctor, nulla velit viverra diam, vel condimentum ex enim eget mauris. Morbi rhoncus leo at feugiat pharetra. Vestibulum ipsum tortor, rutrum in leo cursus, pellentesque consequat purus. Fusce ullamcorper, arcu et tempus tincidunt, magna leo semper massa, ut hendrerit tortor dui ac quam. Nam vitae fringilla erat. -------------------------------------------------------------------------------- /03-files-in-folder/secret-folder/text.txt: -------------------------------------------------------------------------------- 1 | Proin bibendum sapien eget risus tristique dictum. Ut dignissim nunc eu ligula egestas fermentum vel sed quam. Morbi enim turpis, condimentum finibus ipsum a, molestie pretium erat. Integer non nulla a libero finibus ullamcorper eu id libero. Nullam tempus sem vel pulvinar malesuada. Donec ornare venenatis molestie. Interdum et malesuada fames ac ante ipsum primis in faucibus. Morbi ut faucibus elit, et lacinia lorem. Cras ornare condimentum sem, nec molestie lorem venenatis quis. Donec placerat mauris nec lacus mattis pulvinar. Quisque et mi ornare, imperdiet urna non, hendrerit massa. Nam placerat elit eget nisl bibendum, vitae imperdiet odio semper. Pellentesque fermentum cursus rutrum. Vestibulum sed interdum odio. Pellentesque vitae magna vitae nunc mollis consequat efficitur a nulla. Vivamus mollis iaculis tristique. 2 | 3 | Ut lorem dui, venenatis sed nunc non, sagittis malesuada urna. Donec venenatis justo neque, porttitor fringilla velit luctus non. Vestibulum vehicula magna et nibh euismod cursus. Sed sed dolor lectus. Proin blandit ipsum libero, ut scelerisque metus malesuada et. Maecenas aliquet lobortis mauris, ut laoreet sapien maximus sit amet. Sed varius ligula lorem, vel hendrerit neque varius quis. Pellentesque malesuada, enim at tempus auctor, nulla velit viverra diam, vel condimentum ex enim eget mauris. Morbi rhoncus leo at feugiat pharetra. Vestibulum ipsum tortor, rutrum in leo cursus, pellentesque consequat purus. Fusce ullamcorper, arcu et tempus tincidunt, magna leo semper massa, ut hendrerit tortor dui ac quam. Nam vitae fringilla erat. 4 | 5 | Ut nec laoreet massa. Donec venenatis, arcu non porta tristique, neque massa scelerisque tellus, ac malesuada nisl nisl ac neque. Sed volutpat justo dui, sed pulvinar lacus ornare nec. Donec feugiat libero vel congue sodales. In aliquam sapien in venenatis vulputate. Integer ut finibus leo. Ut id suscipit diam. In in tellus quam. Ut vitae risus quis ipsum lobortis vulputate. Ut id libero tristique, suscipit enim non, elementum libero. Cras tristique iaculis ante ac porta. Nulla volutpat lorem nec nibh efficitur mattis. 6 | 7 | Vivamus nec malesuada est. Sed vitae convallis magna. Aliquam vehicula sem purus, sagittis luctus enim sagittis sed. Praesent non malesuada dolor. Quisque non fermentum mauris, sit amet sollicitudin tellus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque bibendum magna quis tincidunt luctus. Suspendisse semper tempor urna nec tincidunt. Etiam blandit, enim at venenatis suscipit, eros justo eleifend tortor, sed fermentum erat mauris sit amet mi. Donec sollicitudin, risus eget rhoncus luctus, justo orci euismod augue, nec efficitur dolor ex in ipsum. Maecenas ante urna, tincidunt eu porta quis, feugiat et augue. Quisque tristique eu diam at congue. 8 | 9 | In accumsan ultrices leo, eget bibendum nulla. Nunc bibendum interdum leo quis fermentum. Suspendisse elementum mauris et nisl vulputate, blandit sollicitudin metus finibus. Integer felis turpis, sollicitudin sit amet arcu a, tempus porttitor tellus. Nunc rutrum diam ac urna convallis, at fringilla magna interdum. Sed orci dolor, feugiat vitae suscipit id, porta ac orci. Sed malesuada faucibus eleifend. Donec nec tincidunt nulla, ac iaculis erat. Donec eu pellentesque quam. Etiam aliquam euismod sagittis. Fusce egestas magna nisi, sagittis vulputate ex hendrerit nec. Proin sagittis libero at lacinia tincidunt. Quisque mattis, augue sed facilisis imperdiet, tellus nisi cursus nunc, ac ullamcorper mi elit non eros. 10 | 11 | Maecenas commodo aliquam ultricies. Curabitur eget congue felis. Mauris interdum metus quis ante malesuada fermentum. Quisque sodales leo id nulla ultrices, nec suscipit nisi fermentum. Nam sagittis risus vitae rutrum ultricies. Donec in fringilla quam, quis aliquet odio. Donec vel nulla id lectus porta elementum id ac velit. Nullam vestibulum ex ut nunc facilisis porta. Pellentesque diam ipsum, consectetur eget sem viverra, scelerisque commodo justo. Suspendisse nec tincidunt sapien, ac hendrerit elit. Nullam eget dui nec ex cursus congue quis aliquet risus. Suspendisse placerat orci ut velit egestas, vel blandit dolor pretium. Pellentesque sit amet feugiat ipsum. 12 | 13 | Vivamus facilisis metus sem, a luctus magna tincidunt non. In ut porttitor ex. Vivamus vehicula mi augue, in tincidunt magna finibus ac. Phasellus ultrices ornare ante. Ut scelerisque, arcu eu imperdiet condimentum, sem urna bibendum nisl, a dictum mi nunc nec leo. Nullam et lacus pulvinar, volutpat orci ut, lacinia lectus. Suspendisse accumsan condimentum vulputate. In bibendum elit tortor, bibendum varius est aliquam in. Aenean in ipsum tellus. Duis tincidunt sed ligula et congue. Nulla vestibulum felis lacus, ac pharetra nibh consectetur ut. Vestibulum sagittis dolor sem, ac pulvinar orci consectetur a. In at neque pretium, auctor magna sed, tincidunt risus. 14 | 15 | Cras luctus posuere libero. Suspendisse potenti. Fusce ante quam, consectetur et maximus pulvinar, consequat eu mi. Nulla at diam nec odio accumsan convallis. Suspendisse vel pretium nunc. Suspendisse ut sem rhoncus, ullamcorper leo eget, euismod tellus. Aenean ac maximus sapien. Pellentesque quis mattis risus. Nulla sem velit, dapibus imperdiet varius ac, finibus eu odio. Cras magna nulla, imperdiet eu euismod et, mollis eget neque. Phasellus a ex sem. Quisque imperdiet massa a odio consequat malesuada. Vivamus pulvinar sem nisl, ut consectetur odio pharetra a. Duis feugiat tellus at orci iaculis sagittis. Nunc nec metus sit amet metus vestibulum posuere. Suspendisse tempus sapien eget malesuada venenatis. 16 | 17 | Sed id quam vitae enim faucibus eleifend. Morbi a ex finibus, ultricies leo id, suscipit nulla. Quisque facilisis euismod nulla, ut porta felis. Vestibulum viverra a ligula sed ultrices. Duis vulputate commodo purus vitae tristique. Nunc tincidunt sem eu turpis eleifend, ac varius velit egestas. Praesent efficitur justo in molestie tempus. Nulla lectus metus, aliquam at felis et, fringilla molestie lectus. Nunc a nisl libero. Suspendisse et mi sed sapien feugiat pretium id dapibus dolor. 18 | 19 | Ut auctor ipsum sit amet diam varius luctus. Donec egestas rutrum nibh, nec consequat erat aliquam vitae. Vivamus elementum mauris et erat semper volutpat. Nunc accumsan mi eu erat iaculis, quis tincidunt risus ullamcorper. Nullam et eros mattis, gravida sapien in, molestie augue. Sed sit amet vestibulum ante, dictum aliquam sapien. Fusce condimentum lorem eget risus posuere porttitor. Quisque -------------------------------------------------------------------------------- /03-files-in-folder/secret-folder/style.css: -------------------------------------------------------------------------------- 1 | orem ipsum dolor sit amet, consectetur adipiscing elit. Mauris convallis, leo et vehicula faucibus, augue velit congue nulla, non euismod nulla justo at orci. Aenean a sagittis augue. Sed scelerisque viverra hendrerit. Proin vitae velit sed mauris pharetra imperdiet at id tortor. Integer sit amet fermentum felis. Phasellus gravida, justo vestibulum lacinia commodo, ligula erat auctor nibh, sit amet faucibus sem dui a justo. Aenean luctus nisi et ligula imperdiet vehicula a sed dui. Nullam tincidunt tortor ut erat elementum dapibus. Morbi in diam a leo tempor gravida in ac enim. 2 | 3 | Praesent eleifend interdum orci in sollicitudin. Proin porta nulla sit amet congue malesuada. Duis efficitur vehicula semper. Donec consequat elit nisi, eu auctor risus tempor eget. Maecenas eget ipsum neque. Nam ut facilisis dui. Etiam et placerat enim. 4 | 5 | Ut egestas massa purus, suscipit pulvinar ipsum dapibus eget. Nullam aliquam quam eu velit aliquam vulputate. Quisque dui lectus, lacinia at facilisis eu, consequat vitae turpis. Praesent at erat quam. Aenean accumsan eleifend ornare. Suspendisse in tincidunt tellus. Nam sed odio massa. Sed velit turpis, vestibulum ac sapien facilisis, cursus accumsan eros. Curabitur vel eros iaculis, ornare augue eu, tristique metus. Donec sodales purus quis suscipit molestie. Sed tincidunt metus enim, vitae aliquet libero viverra eget. Cras metus mauris, auctor id dui ac, venenatis luctus ligula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur varius velit vel erat faucibus, mollis molestie turpis vestibulum. Etiam vehicula risus eu mauris gravida efficitur. 6 | 7 | Praesent sed est nisi. Aenean ut mi facilisis, dapibus odio quis, pulvinar ante. Interdum et malesuada fames ac ante ipsum primis in faucibus. Proin ut dictum lectus. Morbi eget venenatis mauris, a aliquet diam. Nam blandit quam non iaculis viverra. Integer ac rhoncus odio. Integer bibendum arcu vitae tellus placerat eleifend. Integer sed facilisis nunc, ac tempor lacus. Quisque vel orci tellus. 8 | 9 | Ut gravida, neque vel efficitur consectetur, risus ante tincidunt magna, nec cursus lectus sem nec lectus. Morbi suscipit, velit eget facilisis feugiat, diam nisi dapibus lacus, id luctus nunc leo a felis. Fusce placerat augue vel bibendum dignissim. Sed pellentesque iaculis nulla id maximus. Mauris bibendum porttitor odio eleifend pellentesque. Nam ante purus, scelerisque non tortor sit amet, tristique porta ante. Ut vel luctus lorem. Praesent ultrices urna congue semper convallis. Morbi neque dui, consequat id finibus in, pellentesque ac mauris. 10 | 11 | Mauris facilisis, urna vel hendrerit aliquet, magna quam rutrum nibh, a finibus lorem nisl sed dui. Mauris porttitor at sapien non rhoncus. Phasellus eget condimentum velit. Phasellus dictum orci ac odio semper, vel tempor erat dignissim. Sed nec odio condimentum, laoreet tellus et, pellentesque mauris. Proin vestibulum imperdiet mollis. Duis nec nulla tincidunt, dignissim urna ut, aliquet lectus. Donec quis scelerisque nisi. Duis sed mi augue. Aliquam tristique, ex vitae dignissim convallis, eros felis consectetur arcu, id sagittis diam turpis ultrices arcu. Integer facilisis tempor blandit. Morbi luctus ex sit amet odio pellentesque tristique. 12 | 13 | Sed tristique pharetra ante. Cras vitae dui quis turpis malesuada interdum. Suspendisse potenti. Pellentesque vel erat eu dolor tempus ultrices. Donec id augue sem. Integer finibus tincidunt pharetra. Aenean nunc quam, vestibulum non arcu id, rhoncus varius metus. 14 | 15 | Integer vulputate placerat justo a aliquet. Pellentesque ante erat, ornare nec tincidunt quis, porttitor non nisi. Nam eget dui vehicula, dignissim magna nec, condimentum felis. Aliquam erat volutpat. Duis id pharetra magna, vel accumsan urna. Aenean risus libero, lacinia quis aliquet eget, rhoncus et libero. Donec in dictum nunc, sit amet tempor est. Etiam purus felis, volutpat maximus enim sit amet, imperdiet volutpat velit. Fusce odio turpis, facilisis egestas quam vitae, mollis aliquam nibh. Nullam lacinia orci nec neque venenatis, eget efficitur erat lacinia. Etiam et elit euismod felis sollicitudin tincidunt quis interdum nibh. Morbi suscipit neque id velit pretium, eu imperdiet nisi porttitor. Duis aliquam, erat nec molestie egestas, nibh massa elementum ligula, at luctus arcu nisl at elit. In a feugiat libero. Phasellus dictum tempor diam eget porta. 16 | 17 | Cras interdum mauris vel leo lobortis maximus. Maecenas eu sapien eu dui bibendum congue dignissim et quam. Vestibulum ac nulla nibh. Curabitur non nunc at lorem feugiat euismod. Vestibulum magna felis, cursus vel sapien sed, scelerisque condimentum felis. Donec sollicitudin massa justo, in pulvinar dolor bibendum vitae. Morbi et ante et velit dignissim tristique sed at enim. Donec nec mi nec magna finibus lobortis. Phasellus nunc felis, commodo eu erat in, tincidunt ultricies neque. Proin tristique rutrum enim eget lacinia. Duis pellentesque et nunc eget pulvinar. Sed vel quam blandit risus lobortis luctus id quis magna. Donec bibendum tempus est, vel porttitor nunc malesuada facilisis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. 18 | 19 | Fusce tincidunt ante quam, in vulputate ante dignissim vitae. In ut dignissim justo. Curabitur lobortis ornare turpis vel semper. Aenean placerat rutrum facilisis. Curabitur id massa lobortis, maximus massa vel, blandit massa. Etiam tincidunt dui eu urna pharetra fringilla. Ut libero est, accumsan efficitur ligula non, venenatis fermentum sapien. Proin quis sollicitudin diam, sit amet suscipit eros. Morbi id aliquam tellus, vel lacinia erat. 20 | 21 | Proin bibendum sapien eget risus tristique dictum. Ut dignissim nunc eu ligula egestas fermentum vel sed quam. Morbi enim turpis, condimentum finibus ipsum a, molestie pretium erat. Integer non nulla a libero finibus ullamcorper eu id libero. Nullam tempus sem vel pulvinar malesuada. Donec ornare venenatis molestie. Interdum et malesuada fames ac ante ipsum primis in faucibus. Morbi ut faucibus elit, et lacinia lorem. Cras ornare condimentum sem, nec molestie lorem venenatis quis. Donec placerat mauris nec lacus mattis pulvinar. Quisque et mi ornare, imperdiet urna non, hendrerit massa. Nam placerat elit eget nisl bibendum, vitae imperdiet odio semper. Pellentesque fermentum cursus rutrum. Vestibulum sed interdum odio. Pellentesque vitae magna vitae nunc mollis consequat efficitur a nulla. Vivamus mollis iaculis tristique. 22 | 23 | Ut lorem dui, venenatis sed nunc non, sagittis malesuada urna. Donec venenatis justo neque, porttitor fringilla velit luctus non. Vestibulum vehicula magna et nibh euismod cursus. Sed sed dolor lectus. Proin blandit ipsum libero, ut scelerisque metus malesuada et. Maecenas aliquet lobortis mauris, ut laoreet sapien maximus sit amet. Sed varius ligula lorem, vel hendrerit neque varius quis. Pellentesque malesuada, enim at tempus auctor, nulla velit viverra diam, vel condimentum ex enim eget mauris. Morbi rhoncus leo at feugiat pharetra. Vestibulum ipsum tortor, rutrum in leo cursus, pellentesque consequat purus. Fusce ullamcorper, arcu et tempus tincidunt, magna leo semper massa, ut hendrerit tortor dui ac quam. Nam vitae fringilla erat. 24 | 25 | Ut nec laoreet massa. Donec venenatis, arcu non porta tristique, neque massa scelerisque tellus, ac malesuada nisl nisl ac neque. Sed volutpat justo dui, sed pulvinar lacus ornare nec. Donec feugiat libero vel congue sodales. In aliquam sapien in venenatis vulputate. Integer ut finibus leo. Ut id suscipit diam. In in tellus quam. Ut vitae risus quis ipsum lobortis vulputate. Ut id libero tristique, suscipit enim non, elementum libero. Cras tristique iaculis ante ac porta. Nulla volutpat lorem nec nibh efficitur mattis. 26 | 27 | Vivamus nec malesuada est. Sed vitae convallis magna. Aliquam vehicula sem purus, sagittis luctus enim sagittis sed. Praesent non malesuada dolor. Quisque non fermentum mauris, sit amet sollicitudin tellus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque bibendum magna quis tincidunt luctus. Suspendisse semper tempor urna nec tincidunt. Etiam blandit, enim at venenatis suscipit, eros justo eleifend tortor, sed fermentum erat mauris sit amet mi. Donec sollicitudin, risus eget rhoncus luctus, justo orci euismod augue, nec efficitur dolor ex in ipsum. Maecenas ante urna, tincidunt eu porta quis, feugiat et augue. Quisque tristique eu diam at congue. 28 | 29 | In accumsan ultrices leo, eget bibendum nulla. Nunc bibendum interdum leo quis fermentum. Suspendisse elementum mauris et nisl vulputate, blandit sollicitudin metus finibus. Integer felis turpis, sollicitudin sit amet arcu a, tempus porttitor tellus. Nunc rutrum diam ac urna convallis, at fringilla magna interdum. Sed orci dolor, feugiat vitae suscipit id, porta ac orci. Sed malesuada faucibus eleifend. Donec nec tincidunt nulla, ac iaculis erat. Donec eu pellentesque quam. Etiam aliquam euismod sagittis. Fusce egestas magna nisi, sagittis vulputate ex hendrerit nec. Proin sagittis libero at lacinia tincidunt. Quisque mattis, augue sed facilisis imperdiet, tellus nisi cursus nunc, ac ullamcorper mi elit non eros. 30 | 31 | Maecenas commodo aliquam ultricies. Curabitur eget congue felis. Mauris interdum metus quis ante malesuada fermentum. Quisque sodales leo id nulla ultrices, nec suscipit nisi fermentum. Nam sagittis risus vitae rutrum ultricies. Donec in fringilla quam, quis aliquet odio. Donec vel nulla id lectus porta elementum id ac velit. Nullam vestibulum ex ut nunc facilisis porta. Pellentesque diam ipsum, consectetur eget sem viverra, scelerisque commodo justo. Suspendisse nec tincidunt sapien, ac hendrerit elit. Nullam eget dui nec ex cursus congue quis aliquet risus. Suspendisse placerat orci ut velit egestas, vel blandit dolor pretium. Pellentesque sit amet feugiat ipsum. 32 | 33 | Vivamus facilisis metus sem, a luctus magna tincidunt non. In ut porttitor ex. Vivamus vehicula mi augue, in tincidunt magna finibus ac. Phasellus ultrices ornare ante. Ut scelerisque, arcu eu imperdiet condimentum, sem urna bibendum nisl, a dictum mi nunc nec leo. Nullam et lacus pulvinar, volutpat orci ut, lacinia lectus. Suspendisse accumsan condimentum vulputate. In bibendum elit tortor, bibendum varius est aliquam in. Aenean in ipsum tellus. Duis tincidunt sed ligula et congue. Nulla vestibulum felis lacus, ac pharetra nibh consectetur ut. Vestibulum sagittis dolor sem, ac pulvinar orci consectetur a. In at neque pretium, auctor magna sed, tincidunt risus. 34 | 35 | Cras luctus posuere libero. Suspendisse potenti. Fusce ante quam, consectetur et maximus pulvinar, consequat eu mi. Nulla at diam nec odio accumsan convallis. Suspendisse vel pretium nunc. Suspendisse ut sem rhoncus, ullamcorper leo eget, euismod tellus. Aenean ac maximus sapien. Pellentesque quis mattis risus. Nulla sem velit, dapibus imperdiet varius ac, finibus eu odio. Cras magna nulla, imperdiet eu euismod et, mollis eget neque. Phasellus a ex sem. Quisque imperdiet massa a odio consequat malesuada. Vivamus pulvinar sem nisl, ut consectetur odio pharetra a. Duis feugiat tellus at orci iaculis sagittis. Nunc nec metus sit amet metus vestibulum posuere. Suspendisse tempus sapien eget malesuada venenatis. 36 | 37 | Sed id quam vitae enim faucibus eleifend. Morbi a ex finibus, ultricies leo id, suscipit nulla. Quisque facilisis euismod nulla, ut porta felis. Vestibulum viverra a ligula sed ultrices. Duis vulputate commodo purus vitae tristique. Nunc tincidunt sem eu turpis eleifend, ac varius velit egestas. Praesent efficitur justo in molestie tempus. Nulla lectus metus, aliquam at felis et, fringilla molestie lectus. Nunc a nisl libero. Suspendisse et mi sed sapien feugiat pretium id dapibus dolor. 38 | 39 | Ut auctor ipsum sit amet diam varius luctus. Donec egestas rutrum nibh, nec consequat erat aliquam vitae. Vivamus elementum mauris et erat semper volutpat. Nunc accumsan mi eu erat iaculis, quis tincidunt risus ullamcorper. Nullam et eros mattis, gravida sapien in, molestie augue. Sed sit amet vestibulum ante, dictum aliquam sapien. Fusce condimentum lorem eget risus posuere porttitor. Quisque rhoncus, nulla quis suscipit egestas, purus augue laoreet dolor, non tempor enim magna vel nibh. Vestibulum varius varius enim ut consectetur. Nam in purus ultrices, placerat turpis condimentum, dignissim massa. -------------------------------------------------------------------------------- /05-merge-styles/styles/style-2.css: -------------------------------------------------------------------------------- 1 | .solar-syst div { 2 | border-radius: 1000px; 3 | top: 50%; 4 | left: 50%; 5 | position: absolute; 6 | z-index: 999; 7 | } 8 | 9 | .solar-syst div:not(.sun) { 10 | border: 1px solid rgba(102, 166, 229, 0.12); 11 | } 12 | 13 | .solar-syst div:not(.sun):before { 14 | left: 50%; 15 | border-radius: 100px; 16 | content: ''; 17 | position: absolute; 18 | } 19 | 20 | .solar-syst div:not(.asteroids-belt):before { 21 | box-shadow: inset 0 6px 0 -2px rgba(0, 0, 0, 0.25); 22 | } 23 | 24 | .sun { 25 | background: radial-gradient( 26 | ellipse at center, 27 | #ffd000 1%, 28 | #f9b700 39%, 29 | #f9b700 39%, 30 | #e06317 100% 31 | ); 32 | height: 40px; 33 | width: 40px; 34 | margin-top: -20px; 35 | margin-left: -20px; 36 | background-clip: padding-box; 37 | border: 0 !important; 38 | background-position: -28px -103px; 39 | background-size: 175%; 40 | box-shadow: 41 | 0 0 10px 2px rgba(255, 107, 0, 0.4), 42 | 0 0 22px 11px rgba(255, 203, 0, 0.13); 43 | } 44 | 45 | .mercury { 46 | height: 70px; 47 | width: 70px; 48 | margin-top: -35px; 49 | margin-left: -35px; 50 | animation: orb 7.18673s linear infinite; 51 | } 52 | 53 | .mercury:before { 54 | height: 4px; 55 | width: 4px; 56 | background: #9f5e26; 57 | margin-top: -2px; 58 | margin-left: -2px; 59 | } 60 | 61 | .venus { 62 | height: 100px; 63 | width: 100px; 64 | margin-top: -50px; 65 | margin-left: -50px; 66 | animation: orb 18.45553s linear infinite; 67 | } 68 | 69 | .venus:before { 70 | height: 8px; 71 | width: 8px; 72 | background: #beb768; 73 | margin-top: -4px; 74 | margin-left: -4px; 75 | } 76 | 77 | .earth { 78 | height: 145px; 79 | width: 145px; 80 | margin-top: -72.5px; 81 | margin-left: -72.5px; 82 | animation: orb 30s linear infinite; 83 | } 84 | 85 | .earth:before { 86 | height: 6px; 87 | width: 6px; 88 | background: #11abe9; 89 | margin-top: -3px; 90 | margin-left: -3px; 91 | } 92 | 93 | .earth:after { 94 | position: absolute; 95 | content: ''; 96 | height: 18px; 97 | width: 18px; 98 | left: 50%; 99 | top: 0px; 100 | margin-left: -9px; 101 | margin-top: -9px; 102 | border-radius: 100px; 103 | box-shadow: 0 -10px 0 -8px grey; 104 | animation: orb 2.24404s linear infinite; 105 | } 106 | 107 | .mars { 108 | height: 190px; 109 | width: 190px; 110 | margin-top: -95px; 111 | margin-left: -95px; 112 | animation: orb 56.42613s linear infinite; 113 | } 114 | 115 | .mars:before { 116 | height: 6px; 117 | width: 6px; 118 | background: #cf3921; 119 | margin-top: -3px; 120 | margin-left: -3px; 121 | } 122 | 123 | .jupiter { 124 | height: 340px; 125 | width: 340px; 126 | margin-top: -170px; 127 | margin-left: -170px; 128 | animation: orb 355.72282s linear infinite; 129 | } 130 | 131 | .jupiter:before { 132 | height: 18px; 133 | width: 18px; 134 | background: #c76e2a; 135 | margin-top: -9px; 136 | margin-left: -9px; 137 | } 138 | 139 | .saturn { 140 | height: 440px; 141 | width: 440px; 142 | margin-top: -220px; 143 | margin-left: -220px; 144 | animation: orb 882.69525s linear infinite; 145 | } 146 | 147 | .saturn:before { 148 | height: 12px; 149 | width: 12px; 150 | background: #e7c194; 151 | margin-top: -6px; 152 | margin-left: -6px; 153 | } 154 | 155 | .saturn:after { 156 | position: absolute; 157 | content: ''; 158 | height: 2.34%; 159 | width: 4.676%; 160 | left: 50%; 161 | top: 0px; 162 | transform: rotateZ(-52deg); 163 | margin-left: -2.3%; 164 | margin-top: -1.2%; 165 | border-radius: 50% 50% 50% 50%; 166 | box-shadow: 167 | 0 1px 0 1px #987641, 168 | 3px 1px 0 #987641, 169 | -3px 1px 0 #987641; 170 | animation: orb 882.69525s linear infinite; 171 | animation-direction: reverse; 172 | transform-origin: 52% 60%; 173 | } 174 | 175 | .uranus { 176 | height: 520px; 177 | width: 520px; 178 | margin-top: -260px; 179 | margin-left: -260px; 180 | animation: orb 2512.4002s linear infinite; 181 | } 182 | 183 | .uranus:before { 184 | height: 10px; 185 | width: 10px; 186 | background: #b5e3e3; 187 | margin-top: -5px; 188 | margin-left: -5px; 189 | } 190 | 191 | .neptune { 192 | height: 630px; 193 | width: 630px; 194 | margin-top: -315px; 195 | margin-left: -315px; 196 | animation: orb 4911.78386s linear infinite; 197 | } 198 | 199 | .neptune:before { 200 | height: 10px; 201 | width: 10px; 202 | background: #175e9e; 203 | margin-top: -5px; 204 | margin-left: -5px; 205 | } 206 | 207 | .asteroids-belt { 208 | opacity: 0.7; 209 | border-color: transparent !important; 210 | height: 300px; 211 | width: 300px; 212 | margin-top: -150px; 213 | margin-left: -150px; 214 | animation: orb 179.95583s linear infinite; 215 | overflow: hidden; 216 | } 217 | 218 | .asteroids-belt:before { 219 | top: 50%; 220 | height: 210px; 221 | width: 210px; 222 | margin-left: -105px; 223 | margin-top: -105px; 224 | background: transparent; 225 | border-radius: 140px !important; 226 | box-shadow: 227 | 4px -101px 0 -104px rgba(255, 255, 255, 0.184), 228 | -56px -85px 0 -104px rgba(255, 255, 255, 0.201), 229 | -99px 135px 0 -104px rgba(255, 255, 255, 0.636), 230 | 13px -90px 0 -104px rgba(255, 255, 255, 0.821), 231 | -128px -68px 0 -104px rgba(255, 255, 255, 0.09), 232 | 66px -46px 0 -104px rgba(255, 255, 255, 0.602), 233 | 68px -139px 0 -104px rgba(255, 255, 255, 0.461), 234 | 127px 13px 0 -104px rgba(255, 255, 255, 0.084), 235 | 0px -70px 0 -104px rgba(255, 255, 255, 0.635), 236 | 59px -71px 0 -104px rgba(255, 255, 255, 0.508), 237 | 9px -34px 0 -104px rgba(255, 255, 255, 0.802), 238 | 6px -38px 0 -104px rgba(255, 255, 255, 0.6), 239 | -29px 103px 0 -104px rgba(255, 255, 255, 0.914), 240 | -79px -85px 0 -104px rgba(255, 255, 255, 0.474), 241 | 72px -121px 0 -104px rgba(255, 255, 255, 0.37), 242 | 84px -71px 0 -104px rgba(255, 255, 255, 0.862), 243 | -65px 145px 0 -104px rgba(255, 255, 255, 0.715), 244 | 118px 102px 0 -104px rgba(255, 255, 255, 0.619), 245 | -38px 63px 0 -104px rgba(255, 255, 255, 0.132), 246 | 121px -131px 0 -104px rgba(255, 255, 255, 0.933), 247 | 68px -131px 0 -104px rgba(255, 255, 255, 0.955), 248 | 87px 125px 0 -104px rgba(255, 255, 255, 0.72), 249 | 19px -121px 0 -104px rgba(255, 255, 255, 0.038), 250 | 85px -23px 0 -104px rgba(255, 255, 255, 0.79), 251 | 9px 137px 0 -104px rgba(255, 255, 255, 0.369), 252 | 97px 99px 0 -104px rgba(255, 255, 255, 0.066), 253 | -34px -86px 0 -104px rgba(255, 255, 255, 0.836), 254 | -34px 42px 0 -104px rgba(255, 255, 255, 0.204), 255 | -5px -16px 0 -104px rgba(255, 255, 255, 0.185), 256 | 96px -104px 0 -104px rgba(255, 255, 255, 0.708), 257 | 74px -18px 0 -104px rgba(255, 255, 255, 0.629), 258 | -141px -123px 0 -104px rgba(255, 255, 255, 0.393), 259 | -99px -125px 0 -104px rgba(255, 255, 255, 0.347), 260 | 38px 10px 0 -104px rgba(255, 255, 255, 0.33), 261 | 132px -109px 0 -104px rgba(255, 255, 255, 0.483), 262 | 26px -35px 0 -104px rgba(255, 255, 255, 0.194), 263 | 104px -139px 0 -104px rgba(255, 255, 255, 0.971), 264 | 2px 137px 0 -104px rgba(255, 255, 255, 0.096), 265 | -140px 76px 0 -104px rgba(255, 255, 255, 0.724), 266 | 73px 92px 0 -104px rgba(255, 255, 255, 0.746), 267 | -2px 102px 0 -104px rgba(255, 255, 255, 0.093), 268 | -131px 88px 0 -104px rgba(255, 255, 255, 0.652), 269 | 106px 70px 0 -104px rgba(255, 255, 255, 0.324), 270 | -32px -35px 0 -104px rgba(255, 255, 255, 0.078), 271 | 104px -47px 0 -104px rgba(255, 255, 255, 0.354), 272 | -52px 126px 0 -104px rgba(255, 255, 255, 0.525), 273 | 39px 44px 0 -104px rgba(255, 255, 255, 0.415), 274 | -140px 136px 0 -104px rgba(255, 255, 255, 0.829), 275 | 134px -48px 0 -104px rgba(255, 255, 255, 0.081), 276 | -108px -51px 0 -104px rgba(255, 255, 255, 0.81), 277 | 108px -2px 0 -104px rgba(255, 255, 255, 0.701), 278 | 61px 39px 0 -104px rgba(255, 255, 255, 0.966), 279 | -91px 113px 0 -104px rgba(255, 255, 255, 0.365), 280 | 134px -73px 0 -104px rgba(255, 255, 255, 0.32), 281 | 31px -21px 0 -104px rgba(255, 255, 255, 0.567), 282 | 79px 93px 0 -104px rgba(255, 255, 255, 0.721), 283 | -36px 73px 0 -104px rgba(255, 255, 255, 0.003), 284 | -135px -4px 0 -104px rgba(255, 255, 255, 0.252), 285 | -92px 119px 0 -104px rgba(255, 255, 255, 0.89), 286 | 145px 45px 0 -104px rgba(255, 255, 255, 0.76), 287 | 98px -8px 0 -104px rgba(255, 255, 255, 0.603), 288 | -102px 138px 0 -104px rgba(255, 255, 255, 0.561), 289 | 15px -46px 0 -104px rgba(255, 255, 255, 0.14), 290 | 114px 116px 0 -104px rgba(255, 255, 255, 0.506), 291 | 34px 22px 0 -104px rgba(255, 255, 255, 0.867), 292 | 3px -5px 0 -104px rgba(255, 255, 255, 0.62), 293 | 60px 31px 0 -104px rgba(255, 255, 255, 0.118), 294 | 101px -109px 0 -104px rgba(255, 255, 255, 0.565), 295 | 83px -66px 0 -104px rgba(255, 255, 255, 0.95), 296 | 2px 66px 0 -104px rgba(255, 255, 255, 0.725), 297 | -44px -74px 0 -104px rgba(255, 255, 255, 0.888), 298 | -105px -22px 0 -104px rgba(255, 255, 255, 0.543), 299 | -122px 60px 0 -104px rgba(255, 255, 255, 0.252), 300 | -52px 108px 0 -104px rgba(255, 255, 255, 0.493), 301 | -17px -103px 0 -104px rgba(255, 255, 255, 0.726), 302 | 55px 76px 0 -104px rgba(255, 255, 255, 0.256), 303 | -15px -9px 0 -104px rgba(255, 255, 255, 0.369), 304 | 103px 31px 0 -104px rgba(255, 255, 255, 0.996), 305 | 37px 62px 0 -104px rgba(255, 255, 255, 0.746), 306 | 22px 35px 0 -104px rgba(255, 255, 255, 0.72), 307 | 51px -102px 0 -104px rgba(255, 255, 255, 0.32), 308 | 84px 94px 0 -104px rgba(255, 255, 255, 0.804), 309 | 141px -33px 0 -104px rgba(255, 255, 255, 0.798), 310 | -135px -44px 0 -104px rgba(255, 255, 255, 0.805), 311 | -32px 145px 0 -104px rgba(255, 255, 255, 0.32), 312 | -12px -17px 0 -104px rgba(255, 255, 255, 0.477), 313 | 24px -82px 0 -104px rgba(255, 255, 255, 0.428), 314 | 112px -35px 0 -104px rgba(255, 255, 255, 0.413), 315 | -24px -55px 0 -104px rgba(255, 255, 255, 0.968), 316 | 124px 98px 0 -104px rgba(255, 255, 255, 0.937), 317 | 58px -49px 0 -104px rgba(255, 255, 255, 0.408), 318 | 85px 46px 0 -104px rgba(255, 255, 255, 0.406), 319 | 110px 96px 0 -104px rgba(255, 255, 255, 0.229), 320 | 59px 83px 0 -104px rgba(255, 255, 255, 0.569), 321 | -58px -6px 0 -104px rgba(255, 255, 255, 0.588), 322 | -90px 27px 0 -104px rgba(255, 255, 255, 0.874), 323 | 61px 41px 0 -104px rgba(255, 255, 255, 0.167), 324 | 109px -100px 0 -104px rgba(255, 255, 255, 0.969), 325 | 61px 54px 0 -104px rgba(255, 255, 255, 0.251), 326 | -8px 12px 0 -104px rgba(255, 255, 255, 0.705), 327 | -66px 55px 0 -104px rgba(255, 255, 255, 0.459), 328 | -5px 119px 0 -104px rgba(255, 255, 255, 0.708), 329 | 138px -98px 0 -104px rgba(255, 255, 255, 0.131), 330 | 62px -46px 0 -104px rgba(255, 255, 255, 0.033), 331 | -92px 54px 0 -104px rgba(255, 255, 255, 0.818), 332 | 83px -101px 0 -104px rgba(255, 255, 255, 0.217), 333 | 58px 70px 0 -104px rgba(255, 255, 255, 0.372), 334 | -32px -129px 0 -104px rgba(255, 255, 255, 0.2), 335 | 124px 119px 0 -104px rgba(255, 255, 255, 0.08), 336 | -133px 28px 0 -104px rgba(255, 255, 255, 0.94), 337 | 110px -37px 0 -104px rgba(255, 255, 255, 0.53), 338 | -24px -126px 0 -104px rgba(255, 255, 255, 0.537), 339 | 23px 103px 0 -104px rgba(255, 255, 255, 0.877), 340 | 46px 123px 0 -104px rgba(255, 255, 255, 0.546), 341 | 108px 34px 0 -104px rgba(255, 255, 255, 0.167), 342 | 80px 109px 0 -104px rgba(255, 255, 255, 0.585), 343 | 111px 119px 0 -104px rgba(255, 255, 255, 0.086), 344 | 81px 136px 0 -104px rgba(255, 255, 255, 0.628), 345 | -65px -77px 0 -104px rgba(255, 255, 255, 0.344), 346 | 73px 23px 0 -104px rgba(255, 255, 255, 0.076), 347 | 7px 145px 0 -104px rgba(255, 255, 255, 0.683), 348 | -65px 58px 0 -104px rgba(255, 255, 255, 0.501), 349 | -41px 49px 0 -104px rgba(255, 255, 255, 0.446), 350 | 13px 24px 0 -104px rgba(255, 255, 255, 0.391), 351 | -39px 67px 0 -104px rgba(255, 255, 255, 0.614), 352 | 8px -76px 0 -104px rgba(255, 255, 255, 0.453), 353 | 47px 82px 0 -104px rgba(255, 255, 255, 0.111), 354 | -128px -84px 0 -104px rgba(255, 255, 255, 0.873), 355 | 134px 25px 0 -104px rgba(255, 255, 255, 0.535), 356 | -99px 53px 0 -104px rgba(255, 255, 255, 0.142), 357 | 23px 11px 0 -104px rgba(255, 255, 255, 0.824), 358 | -75px -75px 0 -104px rgba(255, 255, 255, 0.778), 359 | -44px 27px 0 -104px rgba(255, 255, 255, 0.822), 360 | -52px 86px 0 -104px rgba(255, 255, 255, 0.273), 361 | -97px 78px 0 -104px rgba(255, 255, 255, 0.93), 362 | 132px 27px 0 -104px rgba(255, 255, 255, 0.863), 363 | 122px -143px 0 -104px rgba(255, 255, 255, 0.436), 364 | 86px 57px 0 -104px rgba(255, 255, 255, 0.843), 365 | 96px 23px 0 -104px rgba(255, 255, 255, 0.633), 366 | -87px 35px 0 -104px rgba(255, 255, 255, 0.319), 367 | 126px 11px 0 -104px rgba(255, 255, 255, 0.35), 368 | 5px -134px 0 -104px rgba(255, 255, 255, 0.737), 369 | -48px 25px 0 -104px rgba(255, 255, 255, 0.5), 370 | 130px -12px 0 -104px rgba(255, 255, 255, 0.537), 371 | -113px 43px 0 -104px rgba(255, 255, 255, 0.55), 372 | 109px -80px 0 -104px rgba(255, 255, 255, 0.654), 373 | 115px -79px 0 -104px rgba(255, 255, 255, 0.169), 374 | 51px -82px 0 -104px rgba(255, 255, 255, 0.837), 375 | 52px -77px 0 -104px rgba(255, 255, 255, 0.868), 376 | -114px 57px 0 -104px rgba(255, 255, 255, 0.613), 377 | 8px -129px 0 -104px rgba(255, 255, 255, 0.663), 378 | 140px 33px 0 -104px rgba(255, 255, 255, 0.704), 379 | -84px -52px 0 -104px rgba(255, 255, 255, 0.307), 380 | -40px -122px 0 -104px rgba(255, 255, 255, 0.934), 381 | -39px -76px 0 -104px rgba(255, 255, 255, 0.982), 382 | 120px -100px 0 -104px rgba(255, 255, 255, 0.043), 383 | -19px 44px 0 -104px rgba(255, 255, 255, 0.858), 384 | -20px 24px 0 -104px rgba(255, 255, 255, 0.414), 385 | 120px 123px 0 -104px rgba(255, 255, 255, 0.629), 386 | -7px -117px 0 -104px rgba(255, 255, 255, 0.837), 387 | -138px 21px 0 -104px rgba(255, 255, 255, 0.565), 388 | 140px -127px 0 -104px rgba(255, 255, 255, 0.658), 389 | -73px -118px 0 -104px rgba(255, 255, 255, 0.843), 390 | -11px 101px 0 -104px rgba(255, 255, 255, 0.918), 391 | 113px -124px 0 -104px rgba(255, 255, 255, 0.587), 392 | 105px 71px 0 -104px rgba(255, 255, 255, 0.614), 393 | -54px -99px 0 -104px rgba(255, 255, 255, 0.029), 394 | 11px 81px 0 -104px rgba(255, 255, 255, 0.395), 395 | -118px -69px 0 -104px rgba(255, 255, 255, 0.851), 396 | -23px -30px 0 -104px rgba(255, 255, 255, 0.519), 397 | 2px -92px 0 -104px rgba(255, 255, 255, 0.362), 398 | -94px 21px 0 -104px rgba(255, 255, 255, 0.49), 399 | -80px 116px 0 -104px rgba(255, 255, 255, 0.239), 400 | -88px 119px 0 -104px rgba(255, 255, 255, 0.151), 401 | 82px -44px 0 -104px rgba(255, 255, 255, 0.717), 402 | 11px -135px 0 -104px rgba(255, 255, 255, 0.602), 403 | -102px -94px 0 -104px rgba(255, 255, 255, 0.491), 404 | 83px 11px 0 -104px rgba(255, 255, 255, 0.246), 405 | 109px -114px 0 -104px rgba(255, 255, 255, 0.629), 406 | 5px -22px 0 -104px rgba(255, 255, 255, 0.1), 407 | 79px -27px 0 -104px rgba(255, 255, 255, 0.496), 408 | -94px -114px 0 -104px rgba(255, 255, 255, 0.937), 409 | -44px 20px 0 -104px rgba(255, 255, 255, 0.198), 410 | 35px 123px 0 -104px rgba(255, 255, 255, 0.242), 411 | 98px -13px 0 -104px rgba(255, 255, 255, 0.264), 412 | 70px 135px 0 -104px rgba(255, 255, 255, 0.297), 413 | 59px -71px 0 -104px rgba(255, 255, 255, 0.144), 414 | 62px -141px 0 -104px rgba(255, 255, 255, 0.362), 415 | 118px -103px 0 -104px rgba(255, 255, 255, 0.201), 416 | -106px -26px 0 -104px rgba(255, 255, 255, 0.64), 417 | -28px 51px 0 -104px rgba(255, 255, 255, 0.145), 418 | -19px -124px 0 -104px rgba(255, 255, 255, 0.08), 419 | 42px -83px 0 -104px rgba(255, 255, 255, 0.088), 420 | -126px -90px 0 -104px rgba(255, 255, 255, 0.301), 421 | 4px 82px 0 -104px rgba(255, 255, 255, 0.237), 422 | 114px 145px 0 -104px rgba(255, 255, 255, 0.166), 423 | 91px 28px 0 -104px rgba(255, 255, 255, 0.612), 424 | 47px -112px 0 -104px rgba(255, 255, 255, 0.35), 425 | 60px -56px 0 -104px rgba(255, 255, 255, 0.82), 426 | -49px -77px 0 -104px rgba(255, 255, 255, 0.011), 427 | -33px -71px 0 -104px rgba(255, 255, 255, 0.156), 428 | -7px -63px 0 -104px rgba(255, 255, 255, 0.373), 429 | 74px -70px 0 -104px rgba(255, 255, 255, 0.457), 430 | -53px -8px 0 -104px rgba(255, 255, 255, 0.194), 431 | 90px -92px 0 -104px rgba(255, 255, 255, 0.046), 432 | 45px -61px 0 -104px rgba(255, 255, 255, 0.777), 433 | 70px 107px 0 -104px rgba(255, 255, 255, 0.428), 434 | -92px 142px 0 -104px rgba(255, 255, 255, 0.355), 435 | 83px 18px 0 -104px rgba(255, 255, 255, 0.949), 436 | 100px -105px 0 -104px rgba(255, 255, 255, 0.459), 437 | 115px -35px 0 -104px rgba(255, 255, 255, 0.773), 438 | -108px -82px 0 -104px rgba(255, 255, 255, 0.182), 439 | 100px -40px 0 -104px rgba(255, 255, 255, 0.04), 440 | 84px -8px 0 -104px rgba(255, 255, 255, 0.148), 441 | -56px -138px 0 -104px rgba(255, 255, 255, 0.12), 442 | 142px 6px 0 -104px rgba(255, 255, 255, 0.844), 443 | -50px 70px 0 -104px rgba(255, 255, 255, 0.686), 444 | 71px -139px 0 -104px rgba(255, 255, 255, 0.564), 445 | -138px 137px 0 -104px rgba(255, 255, 255, 0.92), 446 | -123px 76px 0 -104px rgba(255, 255, 255, 0.496), 447 | 85px -58px 0 -104px rgba(255, 255, 255, 0.407), 448 | -125px 58px 0 -104px rgba(255, 255, 255, 0.831), 449 | 65px -109px 0 -104px rgba(255, 255, 255, 0.311), 450 | 142px -56px 0 -104px rgba(255, 255, 255, 0.183), 451 | 29px 35px 0 -104px rgba(255, 255, 255, 0.722), 452 | -20px 10px 0 -104px rgba(255, 255, 255, 0.278), 453 | 24px -102px 0 -104px rgba(255, 255, 255, 0.602), 454 | 41px 108px 0 -104px rgba(255, 255, 255, 0.299), 455 | -26px 105px 0 -104px rgba(255, 255, 255, 0.229), 456 | 118px -36px 0 -104px rgba(255, 255, 255, 0.982), 457 | -142px -96px 0 -104px rgba(255, 255, 255, 0.8), 458 | 81px -107px 0 -104px rgba(255, 255, 255, 0.833), 459 | -59px -68px 0 -104px rgba(255, 255, 255, 0.913), 460 | -135px -93px 0 -104px rgba(255, 255, 255, 0.787), 461 | -21px -132px 0 -104px rgba(255, 255, 255, 0.865), 462 | -50px -67px 0 -104px rgba(255, 255, 255, 0.655), 463 | -4px -134px 0 -104px rgba(255, 255, 255, 0.892), 464 | -24px 101px 0 -104px rgba(255, 255, 255, 0.981), 465 | -72px -130px 0 -104px rgba(255, 255, 255, 0.465), 466 | -89px -43px 0 -104px rgba(255, 255, 255, 0.664), 467 | -143px -120px 0 -104px rgba(255, 255, 255, 0.801), 468 | -28px 131px 0 -104px rgba(255, 255, 255, 0.995), 469 | -37px -94px 0 -104px rgba(255, 255, 255, 0.994), 470 | 131px -5px 0 -104px rgba(255, 255, 255, 0.274), 471 | -18px 140px 0 -104px rgba(255, 255, 255, 0.164), 472 | 55px 1px 0 -104px rgba(255, 255, 255, 0.043), 473 | 96px -89px 0 -104px rgba(255, 255, 255, 0.505), 474 | -81px 72px 0 -104px rgba(255, 255, 255, 0.301), 475 | -74px 116px 0 -104px rgba(255, 255, 255, 0.198), 476 | 36px 94px 0 -104px rgba(255, 255, 255, 0.059), 477 | -139px 74px 0 -104px rgba(255, 255, 255, 0.346), 478 | 88px 81px 0 -104px rgba(255, 255, 255, 0.197), 479 | 29px -57px 0 -104px rgba(255, 255, 255, 0.783), 480 | -86px 115px 0 -104px rgba(255, 255, 255, 0.398), 481 | -105px -68px 0 -104px rgba(255, 255, 255, 0.989), 482 | -140px 73px 0 -104px rgba(255, 255, 255, 0.356), 483 | -85px 110px 0 -104px rgba(255, 255, 255, 0.201), 484 | 32px -44px 0 -104px rgba(255, 255, 255, 0.091), 485 | 51px 51px 0 -104px rgba(255, 255, 255, 0.119), 486 | -56px 101px 0 -104px rgba(255, 255, 255, 0.758), 487 | 26px -71px 0 -104px rgba(255, 255, 255, 0.507), 488 | 37px -66px 0 -104px rgba(255, 255, 255, 0.554), 489 | -24px 66px 0 -104px rgba(255, 255, 255, 0.091), 490 | 133px -109px 0 -104px rgba(255, 255, 255, 0.384), 491 | 95px 74px 0 -104px rgba(255, 255, 255, 0.56), 492 | -12px 50px 0 -104px rgba(255, 255, 255, 0.818), 493 | -124px 39px 0 -104px rgba(255, 255, 255, 0.638), 494 | -136px -68px 0 -104px rgba(255, 255, 255, 0.585), 495 | -57px 66px 0 -104px rgba(255, 255, 255, 0.79), 496 | -117px 91px 0 -104px rgba(255, 255, 255, 0.436), 497 | -91px 105px 0 -104px rgba(255, 255, 255, 0.368), 498 | 72px -89px 0 -104px rgba(255, 255, 255, 0.546), 499 | -28px 110px 0 -104px rgba(255, 255, 255, 0.382), 500 | 53px -68px 0 -104px rgba(255, 255, 255, 0.662), 501 | -96px -98px 0 -104px rgba(255, 255, 255, 0.903), 502 | 59px -28px 0 -104px rgba(255, 255, 255, 0.2), 503 | -39px 4px 0 -104px rgba(255, 255, 255, 0.416), 504 | 42px 121px 0 -104px rgba(255, 255, 255, 0.513), 505 | -132px 38px 0 -104px rgba(255, 255, 255, 0.783), 506 | 0px -99px 0 -104px rgba(255, 255, 255, 0.146), 507 | -107px 7px 0 -104px rgba(255, 255, 255, 0.572), 508 | 58px -101px 0 -104px rgba(255, 255, 255, 0.631), 509 | 56px -88px 0 -104px rgba(255, 255, 255, 0.281), 510 | -110px -36px 0 -104px rgba(255, 255, 255, 0.174), 511 | 106px 13px 0 -104px rgba(255, 255, 255, 0.997), 512 | -129px 70px 0 -104px rgba(255, 255, 255, 0.425), 513 | -122px 65px 0 -104px rgba(255, 255, 255, 0.724), 514 | -140px -64px 0 -104px rgba(255, 255, 255, 0.01), 515 | 62px -124px 0 -104px rgba(255, 255, 255, 0.051), 516 | -30px -7px 0 -104px rgba(255, 255, 255, 0.851), 517 | 128px -105px 0 -104px rgba(255, 255, 255, 0.248), 518 | -77px -17px 0 -104px rgba(255, 255, 255, 0.002), 519 | -34px -111px 0 -104px rgba(255, 255, 255, 0.154), 520 | 72px -44px 0 -104px rgba(255, 255, 255, 0.005), 521 | 55px 55px 0 -104px rgba(255, 255, 255, 0.531), 522 | 65px 117px 0 -104px rgba(255, 255, 255, 0.659), 523 | -116px 83px 0 -104px rgba(255, 255, 255, 0.262), 524 | 66px -144px 0 -104px rgba(255, 255, 255, 0.382), 525 | 40px -100px 0 -104px rgba(255, 255, 255, 0.599), 526 | 129px -144px 0 -104px rgba(255, 255, 255, 0.357), 527 | -96px -82px 0 -104px rgba(255, 255, 255, 0.044), 528 | 54px -6px 0 -104px rgba(255, 255, 255, 0.612), 529 | 120px -120px 0 -104px rgba(255, 255, 255, 0.643), 530 | -105px -114px 0 -104px rgba(255, 255, 255, 0.762), 531 | 37px -82px 0 -104px rgba(255, 255, 255, 0.529), 532 | -5px 145px 0 -104px rgba(255, 255, 255, 0.238), 533 | -18px 61px 0 -104px rgba(255, 255, 255, 0.517), 534 | -106px -3px 0 -104px rgba(255, 255, 255, 0.003), 535 | 135px 117px 0 -104px rgba(255, 255, 255, 0.461), 536 | -137px -24px 0 -104px rgba(255, 255, 255, 0.101), 537 | -43px -57px 0 -104px rgba(255, 255, 255, 0.637), 538 | -63px 36px 0 -104px rgba(255, 255, 255, 0.253), 539 | -94px 67px 0 -104px rgba(255, 255, 255, 0.96), 540 | -60px 132px 0 -104px rgba(255, 255, 255, 0.907), 541 | 121px -130px 0 -104px rgba(255, 255, 255, 0.295), 542 | -29px 122px 0 -104px rgba(255, 255, 255, 0.036), 543 | 0px 71px 0 -104px rgba(255, 255, 255, 0.167), 544 | 61px -44px 0 -104px rgba(255, 255, 255, 0.167), 545 | -134px -1px 0 -104px rgba(255, 255, 255, 0.258), 546 | 29px -10px 0 -104px rgba(255, 255, 255, 0.051), 547 | -127px 110px 0 -104px rgba(255, 255, 255, 0.041), 548 | -141px -54px 0 -104px rgba(255, 255, 255, 0.955), 549 | 104px -50px 0 -104px rgba(255, 255, 255, 0.915), 550 | 44px 95px 0 -104px rgba(255, 255, 255, 0.812), 551 | -120px 78px 0 -104px rgba(255, 255, 255, 0.004), 552 | 28px 23px 0 -104px rgba(255, 255, 255, 0.788), 553 | 109px 46px 0 -104px rgba(255, 255, 255, 0.32), 554 | -90px 56px 0 -104px rgba(255, 255, 255, 0.381), 555 | -104px 99px 0 -104px rgba(255, 255, 255, 0.985), 556 | -72px 93px 0 -104px rgba(255, 255, 255, 0.896), 557 | 70px -132px 0 -104px rgba(255, 255, 255, 0.301), 558 | -20px 41px 0 -104px rgba(255, 255, 255, 0.852), 559 | -116px 35px 0 -104px rgba(255, 255, 255, 0.938), 560 | -35px 30px 0 -104px rgba(255, 255, 255, 0.68), 561 | 33px 65px 0 -104px rgba(255, 255, 255, 0.965), 562 | 22px -11px 0 -104px rgba(255, 255, 255, 0.811), 563 | -137px 131px 0 -104px rgba(255, 255, 255, 0.689), 564 | 22px -75px 0 -104px rgba(255, 255, 255, 0.02), 565 | -86px 127px 0 -104px rgba(255, 255, 255, 0.159), 566 | 98px 139px 0 -104px rgba(255, 255, 255, 0.044), 567 | 86px 72px 0 -104px rgba(255, 255, 255, 0.427), 568 | -64px 77px 0 -104px rgba(255, 255, 255, 0.916), 569 | -4px -30px 0 -104px rgba(255, 255, 255, 0.148), 570 | -2px 25px 0 -104px rgba(255, 255, 255, 0.148), 571 | 6px -43px 0 -104px rgba(255, 255, 255, 0.258), 572 | -42px -52px 0 -104px rgba(255, 255, 255, 0.356), 573 | -34px 59px 0 -104px rgba(255, 255, 255, 0.951), 574 | -137px -61px 0 -104px rgba(255, 255, 255, 0.212), 575 | -86px 87px 0 -104px rgba(255, 255, 255, 0.679), 576 | 35px 118px 0 -104px rgba(255, 255, 255, 0.972), 577 | 142px -60px 0 -104px rgba(255, 255, 255, 0.601), 578 | 35px -113px 0 -104px rgba(255, 255, 255, 0.749), 579 | 115px -38px 0 -104px rgba(255, 255, 255, 0.09), 580 | -15px -81px 0 -104px rgba(255, 255, 255, 0.948), 581 | -6px -127px 0 -104px rgba(255, 255, 255, 0.872), 582 | -127px 138px 0 -104px rgba(255, 255, 255, 0.921), 583 | -80px 140px 0 -104px rgba(255, 255, 255, 0.77), 584 | -138px -76px 0 -104px rgba(255, 255, 255, 0.396), 585 | -45px 129px 0 -104px rgba(255, 255, 255, 0.522), 586 | -15px 1px 0 -104px rgba(255, 255, 255, 0.665), 587 | -134px -59px 0 -104px rgba(255, 255, 255, 0.454), 588 | 39px 16px 0 -104px rgba(255, 255, 255, 0.707), 589 | 53px -137px 0 -104px rgba(255, 255, 255, 0.986), 590 | -10px -29px 0 -104px rgba(255, 255, 255, 0.27), 591 | 59px 110px 0 -104px rgba(255, 255, 255, 0.586), 592 | -75px 7px 0 -104px rgba(255, 255, 255, 0.884), 593 | -108px 119px 0 -104px rgba(255, 255, 255, 0.181), 594 | 75px 97px 0 -104px rgba(255, 255, 255, 0.59), 595 | -115px 85px 0 -104px rgba(255, 255, 255, 0.133), 596 | -65px -11px 0 -104px rgba(255, 255, 255, 0.883), 597 | 90px -25px 0 -104px rgba(255, 255, 255, 0.048), 598 | 86px 37px 0 -104px rgba(255, 255, 255, 0.358), 599 | -84px 60px 0 -104px rgba(255, 255, 255, 0.69), 600 | 30px -19px 0 -104px rgba(255, 255, 255, 0.06), 601 | -45px -123px 0 -104px rgba(255, 255, 255, 0.074), 602 | 14px 140px 0 -104px rgba(255, 255, 255, 0.139), 603 | 14px -3px 0 -104px rgba(255, 255, 255, 0.364), 604 | 75px -127px 0 -104px rgba(255, 255, 255, 0.778), 605 | -3px -9px 0 -104px rgba(255, 255, 255, 0.647), 606 | 144px 41px 0 -104px rgba(255, 255, 255, 0.212), 607 | -12px -26px 0 -104px rgba(255, 255, 255, 0.645), 608 | -105px 93px 0 -104px rgba(255, 255, 255, 0.946), 609 | 127px 66px 0 -104px rgba(255, 255, 255, 0.882), 610 | -111px -64px 0 -104px rgba(255, 255, 255, 0.608), 611 | -114px 96px 0 -104px rgba(255, 255, 255, 0.643), 612 | -117px 96px 0 -104px rgba(255, 255, 255, 0.033), 613 | 71px 22px 0 -104px rgba(255, 255, 255, 0.939), 614 | -122px -4px 0 -104px rgba(255, 255, 255, 0.074), 615 | -131px -32px 0 -104px rgba(255, 255, 255, 0.38), 616 | 36px 38px 0 -104px rgba(255, 255, 255, 0.406); 617 | } 618 | -------------------------------------------------------------------------------- /05-merge-styles/styles/style-1.css: -------------------------------------------------------------------------------- 1 | *, 2 | *:before, 3 | *:after { 4 | padding: 0; 5 | margin: 0; 6 | box-sizing: border-box; 7 | } 8 | 9 | html, 10 | body { 11 | height: 100%; 12 | width: 100%; 13 | } 14 | 15 | body { 16 | font: 17 | normal 1em/1.45em 'Helvetica Neue', 18 | Helvetica, 19 | Arial, 20 | sans-serif; 21 | -webkit-font-smoothing: antialiased; 22 | color: #fff; 23 | background: radial-gradient(ellipse at bottom, #1c2837 0%, #050608 100%); 24 | background-attachment: fixed; 25 | } 26 | 27 | .solar-syst { 28 | margin: 0 auto; 29 | width: 100%; 30 | height: 100%; 31 | position: relative; 32 | } 33 | 34 | .solar-syst:after { 35 | content: ''; 36 | position: absolute; 37 | height: 2px; 38 | width: 2px; 39 | top: -2px; 40 | background: white; 41 | box-shadow: 42 | 1617px 304px 0 0px rgba(255, 255, 255, 0.047), 43 | 1067px 357px 0 0px rgba(255, 255, 255, 0.469), 44 | 120px 1700px 0 0px rgba(255, 255, 255, 0.28), 45 | 616px 1672px 0 0px rgba(255, 255, 255, 0.581), 46 | 1534px 1337px 0 0px rgba(255, 255, 255, 0.518), 47 | 716px 712px 0 0px rgba(255, 255, 255, 0.788), 48 | 823px 1495px 0 0px rgba(255, 255, 255, 0.087), 49 | 1585px 1302px 0 0px rgba(255, 255, 255, 0.015), 50 | 1215px 42px 0 0px rgba(255, 255, 255, 0.884), 51 | 77px 740px 0 0px rgba(255, 255, 255, 0.749), 52 | 1591px 489px 0 0px rgba(255, 255, 255, 0.941), 53 | 218px 31px 0 0px rgba(255, 255, 255, 0.658), 54 | 1028px 1047px 0 0px rgba(255, 255, 255, 0.033), 55 | 292px 1072px 0 0px rgba(255, 255, 255, 0.573), 56 | 296px 1674px 0 0px rgba(255, 255, 255, 0.53), 57 | 306px 707px 0 0px rgba(255, 255, 255, 0.689), 58 | 1445px 1022px 0 0px rgba(255, 255, 255, 0.012), 59 | 22px 431px 0 0px rgba(255, 255, 255, 0.96), 60 | 669px 781px 0 0px rgba(255, 255, 255, 0.497), 61 | 949px 80px 0 0px rgba(255, 255, 255, 0.77), 62 | 82px 684px 0 0px rgba(255, 255, 255, 0.858), 63 | 1060px 1197px 0 0px rgba(255, 255, 255, 0.786), 64 | 1621px 716px 0 0px rgba(255, 255, 255, 0.302), 65 | 1573px 518px 0 0px rgba(255, 255, 255, 0.183), 66 | 1195px 24px 0 0px rgba(255, 255, 255, 0.783), 67 | 266px 467px 0 0px rgba(255, 255, 255, 0.153), 68 | 406px 1469px 0 0px rgba(255, 255, 255, 0.074), 69 | 1317px 1217px 0 0px rgba(255, 255, 255, 0.145), 70 | 1726px 1635px 0 0px rgba(255, 255, 255, 0.409), 71 | 697px 1093px 0 0px rgba(255, 255, 255, 0.232), 72 | 1692px 1306px 0 0px rgba(255, 255, 255, 0.989), 73 | 803px 392px 0 0px rgba(255, 255, 255, 0.102), 74 | 1348px 1408px 0 0px rgba(255, 255, 255, 0.781), 75 | 1453px 1491px 0 0px rgba(255, 255, 255, 0.655), 76 | 79px 1080px 0 0px rgba(255, 255, 255, 0.465), 77 | 1012px 1456px 0 0px rgba(255, 255, 255, 0.855), 78 | 766px 67px 0 0px rgba(255, 255, 255, 0.085), 79 | 1058px 1651px 0 0px rgba(255, 255, 255, 0.855), 80 | 1270px 210px 0 0px rgba(255, 255, 255, 0.725), 81 | 245px 1169px 0 0px rgba(255, 255, 255, 0.308), 82 | 353px 1479px 0 0px rgba(255, 255, 255, 0.966), 83 | 521px 613px 0 0px rgba(255, 255, 255, 0.44), 84 | 828px 1563px 0 0px rgba(255, 255, 255, 0.662), 85 | 163px 1075px 0 0px rgba(255, 255, 255, 0.023), 86 | 1727px 1600px 0 0px rgba(255, 255, 255, 0.884), 87 | 420px 923px 0 0px rgba(255, 255, 255, 0.623), 88 | 755px 155px 0 0px rgba(255, 255, 255, 0.656), 89 | 576px 1156px 0 0px rgba(255, 255, 255, 0.668), 90 | 170px 1245px 0 0px rgba(255, 255, 255, 0.898), 91 | 1006px 259px 0 0px rgba(255, 255, 255, 0.146), 92 | 408px 1308px 0 0px rgba(255, 255, 255, 0.527), 93 | 1532px 1279px 0 0px rgba(255, 255, 255, 0.747), 94 | 353px 473px 0 0px rgba(255, 255, 255, 0.221), 95 | 1271px 615px 0 0px rgba(255, 255, 255, 0.867), 96 | 606px 575px 0 0px rgba(255, 255, 255, 0.265), 97 | 1069px 519px 0 0px rgba(255, 255, 255, 0.718), 98 | 1732px 794px 0 0px rgba(255, 255, 255, 0.15), 99 | 1345px 1073px 0 0px rgba(255, 255, 255, 0.828), 100 | 1743px 1356px 0 0px rgba(255, 255, 255, 0.79), 101 | 1658px 227px 0 0px rgba(255, 255, 255, 0.773), 102 | 550px 1303px 0 0px rgba(255, 255, 255, 0.713), 103 | 256px 1132px 0 0px rgba(255, 255, 255, 0.389), 104 | 1457px 1188px 0 0px rgba(255, 255, 255, 0.42), 105 | 1117px 1542px 0 0px rgba(255, 255, 255, 0.141), 106 | 1061px 382px 0 0px rgba(255, 255, 255, 0.188), 107 | 1019px 806px 0 0px rgba(255, 255, 255, 0.606), 108 | 893px 1085px 0 0px rgba(255, 255, 255, 0.76), 109 | 1620px 463px 0 0px rgba(255, 255, 255, 0.896), 110 | 1262px 202px 0 0px rgba(255, 255, 255, 0.083), 111 | 418px 1299px 0 0px rgba(255, 255, 255, 0.52), 112 | 602px 359px 0 0px rgba(255, 255, 255, 0.173), 113 | 168px 1068px 0 0px rgba(255, 255, 255, 0.342), 114 | 448px 1065px 0 0px rgba(255, 255, 255, 0.809), 115 | 953px 1686px 0 0px rgba(255, 255, 255, 0.232), 116 | 730px 850px 0 0px rgba(255, 255, 255, 0.287), 117 | 1569px 1715px 0 0px rgba(255, 255, 255, 0.052), 118 | 468px 162px 0 0px rgba(255, 255, 255, 0.18), 119 | 988px 89px 0 0px rgba(255, 255, 255, 0.387), 120 | 1247px 16px 0 0px rgba(255, 255, 255, 0.592), 121 | 1536px 1291px 0 0px rgba(255, 255, 255, 0.986), 122 | 1068px 58px 0 0px rgba(255, 255, 255, 0.299), 123 | 815px 1681px 0 0px rgba(255, 255, 255, 0.887), 124 | 1471px 1586px 0 0px rgba(255, 255, 255, 0.333), 125 | 1374px 1081px 0 0px rgba(255, 255, 255, 0.936), 126 | 1254px 1545px 0 0px rgba(255, 255, 255, 0.042), 127 | 990px 923px 0 0px rgba(255, 255, 255, 0.103), 128 | 301px 277px 0 0px rgba(255, 255, 255, 0.221), 129 | 1295px 627px 0 0px rgba(255, 255, 255, 0.058), 130 | 1307px 353px 0 0px rgba(255, 255, 255, 0.024), 131 | 801px 373px 0 0px rgba(255, 255, 255, 0.823), 132 | 188px 434px 0 0px rgba(255, 255, 255, 0.903), 133 | 498px 745px 0 0px rgba(255, 255, 255, 0.517), 134 | 1600px 225px 0 0px rgba(255, 255, 255, 0.252), 135 | 351px 344px 0 0px rgba(255, 255, 255, 0.78), 136 | 223px 897px 0 0px rgba(255, 255, 255, 0.57), 137 | 214px 605px 0 0px rgba(255, 255, 255, 0.881), 138 | 1485px 51px 0 0px rgba(255, 255, 255, 0.108), 139 | 1037px 469px 0 0px rgba(255, 255, 255, 0.582), 140 | 1375px 848px 0 0px rgba(255, 255, 255, 0.385), 141 | 590px 613px 0 0px rgba(255, 255, 255, 0.324), 142 | 758px 1688px 0 0px rgba(255, 255, 255, 0.691), 143 | 680px 178px 0 0px rgba(255, 255, 255, 0.503), 144 | 943px 564px 0 0px rgba(255, 255, 255, 0.359), 145 | 1431px 930px 0 0px rgba(255, 255, 255, 0.22), 146 | 392px 694px 0 0px rgba(255, 255, 255, 0.166), 147 | 79px 244px 0 0px rgba(255, 255, 255, 0.097), 148 | 1073px 290px 0 0px rgba(255, 255, 255, 0.166), 149 | 1692px 231px 0 0px rgba(255, 255, 255, 0.342), 150 | 1414px 773px 0 0px rgba(255, 255, 255, 0.292), 151 | 1274px 1411px 0 0px rgba(255, 255, 255, 0.654), 152 | 995px 130px 0 0px rgba(255, 255, 255, 0.683), 153 | 587px 1657px 0 0px rgba(255, 255, 255, 0.717), 154 | 127px 927px 0 0px rgba(255, 255, 255, 0.545), 155 | 224px 392px 0 0px rgba(255, 255, 255, 0.589), 156 | 324px 1677px 0 0px rgba(255, 255, 255, 0.327), 157 | 454px 245px 0 0px rgba(255, 255, 255, 0.933), 158 | 479px 1379px 0 0px rgba(255, 255, 255, 0.241), 159 | 655px 1650px 0 0px rgba(255, 255, 255, 0.646), 160 | 217px 767px 0 0px rgba(255, 255, 255, 0.378), 161 | 679px 1554px 0 0px rgba(255, 255, 255, 0.609), 162 | 693px 32px 0 0px rgba(255, 255, 255, 0.423), 163 | 1567px 1051px 0 0px rgba(255, 255, 255, 0.867), 164 | 846px 951px 0 0px rgba(255, 255, 255, 0.711), 165 | 268px 1175px 0 0px rgba(255, 255, 255, 0.09), 166 | 816px 1052px 0 0px rgba(255, 255, 255, 0.103), 167 | 478px 665px 0 0px rgba(255, 255, 255, 0.975), 168 | 1517px 1006px 0 0px rgba(255, 255, 255, 0.33), 169 | 1783px 1039px 0 0px rgba(255, 255, 255, 0.466), 170 | 1608px 1461px 0 0px rgba(255, 255, 255, 0.595), 171 | 382px 308px 0 0px rgba(255, 255, 255, 0.502), 172 | 664px 1111px 0 0px rgba(255, 255, 255, 0.342), 173 | 1447px 769px 0 0px rgba(255, 255, 255, 0.626), 174 | 280px 1603px 0 0px rgba(255, 255, 255, 0.21), 175 | 594px 1645px 0 0px rgba(255, 255, 255, 0.68), 176 | 398px 760px 0 0px rgba(255, 255, 255, 0.418), 177 | 128px 1475px 0 0px rgba(255, 255, 255, 0.252), 178 | 245px 1653px 0 0px rgba(255, 255, 255, 0.989), 179 | 724px 531px 0 0px rgba(255, 255, 255, 0.559), 180 | 278px 945px 0 0px rgba(255, 255, 255, 0.625), 181 | 1724px 1048px 0 0px rgba(255, 255, 255, 0.267), 182 | 924px 1286px 0 0px rgba(255, 255, 255, 0.945), 183 | 1331px 1028px 0 0px rgba(255, 255, 255, 0.624), 184 | 1657px 1442px 0 0px rgba(255, 255, 255, 0.259), 185 | 1527px 922px 0 0px rgba(255, 255, 255, 0.872), 186 | 1266px 340px 0 0px rgba(255, 255, 255, 0.282), 187 | 767px 1774px 0 0px rgba(255, 255, 255, 0.503), 188 | 1484px 933px 0 0px rgba(255, 255, 255, 0.68), 189 | 1185px 281px 0 0px rgba(255, 255, 255, 0.578), 190 | 963px 51px 0 0px rgba(255, 255, 255, 0.376), 191 | 1509px 1470px 0 0px rgba(255, 255, 255, 0.613), 192 | 271px 1651px 0 0px rgba(255, 255, 255, 0.991), 193 | 430px 83px 0 0px rgba(255, 255, 255, 0.782), 194 | 821px 1358px 0 0px rgba(255, 255, 255, 0.627), 195 | 255px 159px 0 0px rgba(255, 255, 255, 0.713), 196 | 1073px 311px 0 0px rgba(255, 255, 255, 0.56), 197 | 1295px 1651px 0 0px rgba(255, 255, 255, 0.473), 198 | 895px 1002px 0 0px rgba(255, 255, 255, 0.8), 199 | 1056px 1304px 0 0px rgba(255, 255, 255, 0.7), 200 | 1518px 216px 0 0px rgba(255, 255, 255, 0.121), 201 | 848px 819px 0 0px rgba(255, 255, 255, 0.894), 202 | 1148px 208px 0 0px rgba(255, 255, 255, 0.173), 203 | 1191px 58px 0 0px rgba(255, 255, 255, 0.904), 204 | 1482px 617px 0 0px rgba(255, 255, 255, 0.079), 205 | 1192px 169px 0 0px rgba(255, 255, 255, 0.621), 206 | 433px 1423px 0 0px rgba(255, 255, 255, 0.559), 207 | 1699px 448px 0 0px rgba(255, 255, 255, 0.643), 208 | 423px 981px 0 0px rgba(255, 255, 255, 0.573), 209 | 19px 1370px 0 0px rgba(255, 255, 255, 0.528), 210 | 1441px 922px 0 0px rgba(255, 255, 255, 0.207), 211 | 350px 942px 0 0px rgba(255, 255, 255, 0.075), 212 | 1717px 1343px 0 0px rgba(255, 255, 255, 0.983), 213 | 589px 1223px 0 0px rgba(255, 255, 255, 0.383), 214 | 113px 764px 0 0px rgba(255, 255, 255, 0.118), 215 | 911px 1151px 0 0px rgba(255, 255, 255, 0.484), 216 | 1084px 1110px 0 0px rgba(255, 255, 255, 0.295), 217 | 1050px 828px 0 0px rgba(255, 255, 255, 0.996), 218 | 1278px 697px 0 0px rgba(255, 255, 255, 0.635), 219 | 587px 63px 0 0px rgba(255, 255, 255, 0.063), 220 | 766px 1192px 0 0px rgba(255, 255, 255, 0.569), 221 | 1409px 1329px 0 0px rgba(255, 255, 255, 0.546), 222 | 53px 57px 0 0px rgba(255, 255, 255, 0.439), 223 | 998px 1029px 0 0px rgba(255, 255, 255, 0.492), 224 | 1794px 50px 0 0px rgba(255, 255, 255, 0.826), 225 | 1371px 296px 0 0px rgba(255, 255, 255, 0.848), 226 | 1316px 974px 0 0px rgba(255, 255, 255, 0.127), 227 | 1423px 988px 0 0px rgba(255, 255, 255, 0.558), 228 | 545px 389px 0 0px rgba(255, 255, 255, 0.6), 229 | 925px 268px 0 0px rgba(255, 255, 255, 0.579), 230 | 1266px 453px 0 0px rgba(255, 255, 255, 0.931), 231 | 382px 819px 0 0px rgba(255, 255, 255, 0.232), 232 | 1023px 1191px 0 0px rgba(255, 255, 255, 0.749), 233 | 1669px 670px 0 0px rgba(255, 255, 255, 0.192), 234 | 1555px 894px 0 0px rgba(255, 255, 255, 0.02), 235 | 1471px 1800px 0 0px rgba(255, 255, 255, 0.887), 236 | 1793px 1725px 0 0px rgba(255, 255, 255, 0.155), 237 | 1404px 1675px 0 0px rgba(255, 255, 255, 0.226), 238 | 834px 1565px 0 0px rgba(255, 255, 255, 0.457), 239 | 1203px 1311px 0 0px rgba(255, 255, 255, 0.532), 240 | 8px 1645px 0 0px rgba(255, 255, 255, 0.656), 241 | 1375px 653px 0 0px rgba(255, 255, 255, 0.456), 242 | 1421px 1016px 0 0px rgba(255, 255, 255, 0.988), 243 | 608px 855px 0 0px rgba(255, 255, 255, 0.376), 244 | 893px 171px 0 0px rgba(255, 255, 255, 0.712), 245 | 94px 587px 0 0px rgba(255, 255, 255, 0.955), 246 | 1538px 676px 0 0px rgba(255, 255, 255, 0.364), 247 | 837px 421px 0 0px rgba(255, 255, 255, 0.166), 248 | 505px 448px 0 0px rgba(255, 255, 255, 0.625), 249 | 939px 731px 0 0px rgba(255, 255, 255, 0.502), 250 | 1788px 1121px 0 0px rgba(255, 255, 255, 0.177), 251 | 135px 1324px 0 0px rgba(255, 255, 255, 0.836), 252 | 1103px 1371px 0 0px rgba(255, 255, 255, 0.181), 253 | 521px 665px 0 0px rgba(255, 255, 255, 0.911), 254 | 1797px 1217px 0 0px rgba(255, 255, 255, 0.67), 255 | 107px 571px 0 0px rgba(255, 255, 255, 0.055), 256 | 644px 1445px 0 0px rgba(255, 255, 255, 0.084), 257 | 1417px 1233px 0 0px rgba(255, 255, 255, 0.409), 258 | 852px 1792px 0 0px rgba(255, 255, 255, 0.327), 259 | 1423px 109px 0 0px rgba(255, 255, 255, 0.693), 260 | 823px 262px 0 0px rgba(255, 255, 255, 0.404), 261 | 1373px 836px 0 0px rgba(255, 255, 255, 0.09), 262 | 593px 358px 0 0px rgba(255, 255, 255, 0.361), 263 | 282px 834px 0 0px rgba(255, 255, 255, 0.555), 264 | 1073px 248px 0 0px rgba(255, 255, 255, 0.082), 265 | 1348px 186px 0 0px rgba(255, 255, 255, 0.721), 266 | 210px 360px 0 0px rgba(255, 255, 255, 0.643), 267 | 1063px 210px 0 0px rgba(255, 255, 255, 0.771), 268 | 1699px 1624px 0 0px rgba(255, 255, 255, 0.959), 269 | 315px 1120px 0 0px rgba(255, 255, 255, 0.933), 270 | 190px 1644px 0 0px rgba(255, 255, 255, 0.401), 271 | 1385px 711px 0 0px rgba(255, 255, 255, 0.867), 272 | 1399px 234px 0 0px rgba(255, 255, 255, 0.534), 273 | 1773px 1333px 0 0px rgba(255, 255, 255, 0.558), 274 | 718px 1186px 0 0px rgba(255, 255, 255, 0.278), 275 | 485px 998px 0 0px rgba(255, 255, 255, 0.691), 276 | 1225px 1797px 0 0px rgba(255, 255, 255, 0.173), 277 | 427px 1097px 0 0px rgba(255, 255, 255, 0.758), 278 | 780px 1788px 0 0px rgba(255, 255, 255, 0.248), 279 | 1403px 962px 0 0px rgba(255, 255, 255, 0.909), 280 | 911px 1209px 0 0px rgba(255, 255, 255, 0.732), 281 | 701px 994px 0 0px rgba(255, 255, 255, 0.426), 282 | 176px 915px 0 0px rgba(255, 255, 255, 0.788), 283 | 969px 408px 0 0px rgba(255, 255, 255, 0.043), 284 | 1261px 1244px 0 0px rgba(255, 255, 255, 0.395), 285 | 1228px 396px 0 0px rgba(255, 255, 255, 0.152), 286 | 1079px 1079px 0 0px rgba(255, 255, 255, 0.194), 287 | 1584px 144px 0 0px rgba(255, 255, 255, 0.623), 288 | 1184px 288px 0 0px rgba(255, 255, 255, 0.851), 289 | 1635px 278px 0 0px rgba(255, 255, 255, 0.396), 290 | 1144px 1388px 0 0px rgba(255, 255, 255, 0.281), 291 | 740px 1488px 0 0px rgba(255, 255, 255, 0.525), 292 | 1484px 1505px 0 0px rgba(255, 255, 255, 0.608), 293 | 828px 986px 0 0px rgba(255, 255, 255, 0.342), 294 | 1482px 1242px 0 0px rgba(255, 255, 255, 0.045), 295 | 1263px 45px 0 0px rgba(255, 255, 255, 0.179), 296 | 104px 802px 0 0px rgba(255, 255, 255, 0.474), 297 | 1686px 538px 0 0px rgba(255, 255, 255, 0.026), 298 | 1601px 786px 0 0px rgba(255, 255, 255, 0.58), 299 | 299px 1177px 0 0px rgba(255, 255, 255, 0.924), 300 | 953px 1465px 0 0px rgba(255, 255, 255, 0.489), 301 | 1458px 1395px 0 0px rgba(255, 255, 255, 0.06), 302 | 1364px 1100px 0 0px rgba(255, 255, 255, 0.391), 303 | 1727px 92px 0 0px rgba(255, 255, 255, 0.049), 304 | 1603px 617px 0 0px rgba(255, 255, 255, 0.408), 305 | 413px 125px 0 0px rgba(255, 255, 255, 0.109), 306 | 1588px 1708px 0 0px rgba(255, 255, 255, 0.044), 307 | 600px 591px 0 0px rgba(255, 255, 255, 0.07), 308 | 417px 664px 0 0px rgba(255, 255, 255, 0.725), 309 | 513px 931px 0 0px rgba(255, 255, 255, 0.406), 310 | 367px 1394px 0 0px rgba(255, 255, 255, 0.814), 311 | 1541px 1511px 0 0px rgba(255, 255, 255, 0.827), 312 | 522px 561px 0 0px rgba(255, 255, 255, 0.898), 313 | 1423px 636px 0 0px rgba(255, 255, 255, 0.569), 314 | 354px 824px 0 0px rgba(255, 255, 255, 0.539), 315 | 1402px 591px 0 0px rgba(255, 255, 255, 0.998), 316 | 1644px 314px 0 0px rgba(255, 255, 255, 0.92), 317 | 819px 884px 0 0px rgba(255, 255, 255, 0.802), 318 | 1457px 737px 0 0px rgba(255, 255, 255, 0.908), 319 | 1232px 299px 0 0px rgba(255, 255, 255, 0.901), 320 | 1272px 688px 0 0px rgba(255, 255, 255, 0.193), 321 | 29px 1771px 0 0px rgba(255, 255, 255, 0.826), 322 | 771px 175px 0 0px rgba(255, 255, 255, 0.087), 323 | 1245px 1715px 0 0px rgba(255, 255, 255, 0.313), 324 | 1044px 1429px 0 0px rgba(255, 255, 255, 0.285), 325 | 1002px 1615px 0 0px rgba(255, 255, 255, 0.791), 326 | 1245px 501px 0 0px rgba(255, 255, 255, 0.983), 327 | 848px 1503px 0 0px rgba(255, 255, 255, 0.174), 328 | 384px 1278px 0 0px rgba(255, 255, 255, 0.503), 329 | 1002px 950px 0 0px rgba(255, 255, 255, 0.641), 330 | 826px 96px 0 0px rgba(255, 255, 255, 0.024), 331 | 1188px 171px 0 0px rgba(255, 255, 255, 0.269), 332 | 735px 1422px 0 0px rgba(255, 255, 255, 0.591), 333 | 1613px 258px 0 0px rgba(255, 255, 255, 0.584), 334 | 692px 224px 0 0px rgba(255, 255, 255, 0.093), 335 | 77px 1523px 0 0px rgba(255, 255, 255, 0.178), 336 | 1220px 1029px 0 0px rgba(255, 255, 255, 0.495), 337 | 1543px 535px 0 0px rgba(255, 255, 255, 0.907), 338 | 1745px 251px 0 0px rgba(255, 255, 255, 0.208), 339 | 476px 1562px 0 0px rgba(255, 255, 255, 0.428), 340 | 710px 1449px 0 0px rgba(255, 255, 255, 0.708), 341 | 1536px 1122px 0 0px rgba(255, 255, 255, 0.547), 342 | 1245px 1489px 0 0px rgba(255, 255, 255, 0.82), 343 | 128px 903px 0 0px rgba(255, 255, 255, 0.045), 344 | 1462px 1775px 0 0px rgba(255, 255, 255, 0.086), 345 | 1262px 208px 0 0px rgba(255, 255, 255, 0.414), 346 | 364px 301px 0 0px rgba(255, 255, 255, 0.337), 347 | 617px 1724px 0 0px rgba(255, 255, 255, 0.7), 348 | 193px 1550px 0 0px rgba(255, 255, 255, 0.749), 349 | 1419px 396px 0 0px rgba(255, 255, 255, 0.61), 350 | 349px 1006px 0 0px rgba(255, 255, 255, 0.042), 351 | 73px 819px 0 0px rgba(255, 255, 255, 0.329), 352 | 1291px 1616px 0 0px rgba(255, 255, 255, 0.559), 353 | 1688px 1685px 0 0px rgba(255, 255, 255, 0.687), 354 | 645px 1670px 0 0px rgba(255, 255, 255, 0.644), 355 | 929px 400px 0 0px rgba(255, 255, 255, 0.628), 356 | 1047px 794px 0 0px rgba(255, 255, 255, 0.484), 357 | 1204px 821px 0 0px rgba(255, 255, 255, 0.393), 358 | 1629px 374px 0 0px rgba(255, 255, 255, 0.091), 359 | 957px 991px 0 0px rgba(255, 255, 255, 0.214), 360 | 1196px 179px 0 0px rgba(255, 255, 255, 0.166), 361 | 1717px 795px 0 0px rgba(255, 255, 255, 0.726), 362 | 1236px 1511px 0 0px rgba(255, 255, 255, 0.27), 363 | 650px 531px 0 0px rgba(255, 255, 255, 0.309), 364 | 1656px 972px 0 0px rgba(255, 255, 255, 0.798), 365 | 1147px 1676px 0 0px rgba(255, 255, 255, 0.908), 366 | 1339px 248px 0 0px rgba(255, 255, 255, 0.251), 367 | 619px 71px 0 0px rgba(255, 255, 255, 0.234), 368 | 1611px 655px 0 0px rgba(255, 255, 255, 0.68), 369 | 77px 663px 0 0px rgba(255, 255, 255, 0.992), 370 | 924px 697px 0 0px rgba(255, 255, 255, 0.236), 371 | 1195px 1422px 0 0px rgba(255, 255, 255, 0.346), 372 | 1644px 708px 0 0px rgba(255, 255, 255, 0.335), 373 | 1447px 637px 0 0px rgba(255, 255, 255, 0.639), 374 | 408px 361px 0 0px rgba(255, 255, 255, 0.636), 375 | 959px 1239px 0 0px rgba(255, 255, 255, 0.006), 376 | 56px 1714px 0 0px rgba(255, 255, 255, 0.868), 377 | 1079px 319px 0 0px rgba(255, 255, 255, 0.325), 378 | 1597px 1px 0 0px rgba(255, 255, 255, 0.497), 379 | 722px 258px 0 0px rgba(255, 255, 255, 0.386), 380 | 1278px 1737px 0 0px rgba(255, 255, 255, 0.015), 381 | 938px 219px 0 0px rgba(255, 255, 255, 0.169), 382 | 1669px 1758px 0 0px rgba(255, 255, 255, 0.109), 383 | 157px 643px 0 0px rgba(255, 255, 255, 0.425), 384 | 472px 804px 0 0px rgba(255, 255, 255, 0.107), 385 | 618px 123px 0 0px rgba(255, 255, 255, 0.101), 386 | 547px 170px 0 0px rgba(255, 255, 255, 0.496), 387 | 697px 843px 0 0px rgba(255, 255, 255, 0.539), 388 | 966px 1545px 0 0px rgba(255, 255, 255, 0.096), 389 | 486px 857px 0 0px rgba(255, 255, 255, 0.087), 390 | 276px 1149px 0 0px rgba(255, 255, 255, 0.198), 391 | 1260px 416px 0 0px rgba(255, 255, 255, 0.368), 392 | 201px 1706px 0 0px rgba(255, 255, 255, 0.543), 393 | 26px 583px 0 0px rgba(255, 255, 255, 0.571), 394 | 1074px 1632px 0 0px rgba(255, 255, 255, 0.172), 395 | 1773px 1280px 0 0px rgba(255, 255, 255, 0.247), 396 | 1355px 1329px 0 0px rgba(255, 255, 255, 0.509), 397 | 1773px 323px 0 0px rgba(255, 255, 255, 0.466), 398 | 1328px 1367px 0 0px rgba(255, 255, 255, 0.433), 399 | 369px 912px 0 0px rgba(255, 255, 255, 0.136), 400 | 261px 1288px 0 0px rgba(255, 255, 255, 0.629), 401 | 1152px 170px 0 0px rgba(255, 255, 255, 0.108), 402 | 72px 1122px 0 0px rgba(255, 255, 255, 0.73), 403 | 560px 1170px 0 0px rgba(255, 255, 255, 0.938), 404 | 407px 1319px 0 0px rgba(255, 255, 255, 0.438), 405 | 918px 834px 0 0px rgba(255, 255, 255, 0.474), 406 | 285px 1652px 0 0px rgba(255, 255, 255, 0.207), 407 | 1344px 391px 0 0px rgba(255, 255, 255, 0.143), 408 | 1745px 145px 0 0px rgba(255, 255, 255, 0.191), 409 | 1776px 749px 0 0px rgba(255, 255, 255, 0.4), 410 | 534px 1795px 0 0px rgba(255, 255, 255, 0.627), 411 | 858px 780px 0 0px rgba(255, 255, 255, 0.155), 412 | 726px 1604px 0 0px rgba(255, 255, 255, 0.053), 413 | 1390px 242px 0 0px rgba(255, 255, 255, 0.914), 414 | 1151px 82px 0 0px rgba(255, 255, 255, 0.371), 415 | 676px 1151px 0 0px rgba(255, 255, 255, 0.337), 416 | 1150px 593px 0 0px rgba(255, 255, 255, 0.335), 417 | 1374px 1175px 0 0px rgba(255, 255, 255, 0.306), 418 | 1294px 600px 0 0px rgba(255, 255, 255, 0.019), 419 | 901px 1757px 0 0px rgba(255, 255, 255, 0.361), 420 | 816px 518px 0 0px rgba(255, 255, 255, 0.801), 421 | 1065px 150px 0 0px rgba(255, 255, 255, 0.192), 422 | 371px 1688px 0 0px rgba(255, 255, 255, 0.611), 423 | 715px 236px 0 0px rgba(255, 255, 255, 0.467), 424 | 1040px 1117px 0 0px rgba(255, 255, 255, 0.423), 425 | 1043px 697px 0 0px rgba(255, 255, 255, 0.591), 426 | 1531px 929px 0 0px rgba(255, 255, 255, 0.707), 427 | 881px 1583px 0 0px rgba(255, 255, 255, 0.07), 428 | 341px 1702px 0 0px rgba(255, 255, 255, 0.764), 429 | 1670px 1011px 0 0px rgba(255, 255, 255, 0.605), 430 | 1552px 914px 0 0px rgba(255, 255, 255, 0.7), 431 | 1431px 113px 0 0px rgba(255, 255, 255, 0.039), 432 | 268px 1547px 0 0px rgba(255, 255, 255, 0.792), 433 | 1412px 951px 0 0px rgba(255, 255, 255, 0.726), 434 | 1123px 1057px 0 0px rgba(255, 255, 255, 0.098), 435 | 1090px 888px 0 0px rgba(255, 255, 255, 0.927), 436 | 442px 480px 0 0px rgba(255, 255, 255, 0.547), 437 | 669px 1021px 0 0px rgba(255, 255, 255, 0.799), 438 | 1205px 1318px 0 0px rgba(255, 255, 255, 0.166), 439 | 1449px 580px 0 0px rgba(255, 255, 255, 0.995), 440 | 1055px 1614px 0 0px rgba(255, 255, 255, 0.888), 441 | 539px 1237px 0 0px rgba(255, 255, 255, 0.666), 442 | 24px 1705px 0 0px rgba(255, 255, 255, 0.481), 443 | 619px 897px 0 0px rgba(255, 255, 255, 0.064), 444 | 1161px 1628px 0 0px rgba(255, 255, 255, 0.264), 445 | 691px 1487px 0 0px rgba(255, 255, 255, 0.354), 446 | 1464px 667px 0 0px rgba(255, 255, 255, 0.766), 447 | 940px 97px 0 0px rgba(255, 255, 255, 0.628), 448 | 1200px 1454px 0 0px rgba(255, 255, 255, 0.484), 449 | 1797px 1755px 0 0px rgba(255, 255, 255, 0.553), 450 | 1716px 1133px 0 0px rgba(255, 255, 255, 0.408), 451 | 1499px 1743px 0 0px rgba(255, 255, 255, 0.322), 452 | 1703px 42px 0 0px rgba(255, 255, 255, 0.83), 453 | 1236px 1194px 0 0px rgba(255, 255, 255, 0.824), 454 | 360px 817px 0 0px rgba(255, 255, 255, 0.769), 455 | 1132px 1174px 0 0px rgba(255, 255, 255, 0.17), 456 | 320px 1515px 0 0px rgba(255, 255, 255, 0.641), 457 | 1436px 69px 0 0px rgba(255, 255, 255, 0.63), 458 | 1629px 556px 0 0px rgba(255, 255, 255, 0.919), 459 | 473px 254px 0 0px rgba(255, 255, 255, 0.564), 460 | 279px 1491px 0 0px rgba(255, 255, 255, 0.41), 461 | 886px 10px 0 0px rgba(255, 255, 255, 0.565), 462 | 147px 1026px 0 0px rgba(255, 255, 255, 0.386), 463 | 1502px 408px 0 0px rgba(255, 255, 255, 0.246), 464 | 500px 403px 0 0px rgba(255, 255, 255, 0.759), 465 | 1749px 1252px 0 0px rgba(255, 255, 255, 0.989), 466 | 970px 176px 0 0px rgba(255, 255, 255, 0.392), 467 | 100px 434px 0 0px rgba(255, 255, 255, 0.102), 468 | 1656px 1563px 0 0px rgba(255, 255, 255, 0.095), 469 | 1682px 1773px 0 0px rgba(255, 255, 255, 0.895), 470 | 466px 1750px 0 0px rgba(255, 255, 255, 0.362), 471 | 532px 1355px 0 0px rgba(255, 255, 255, 0.045), 472 | 959px 972px 0 0px rgba(255, 255, 255, 0.13), 473 | 1263px 505px 0 0px rgba(255, 255, 255, 0.087), 474 | 1546px 375px 0 0px rgba(255, 255, 255, 0.253), 475 | 345px 1786px 0 0px rgba(255, 255, 255, 0.537), 476 | 1147px 553px 0 0px rgba(255, 255, 255, 0.399), 477 | 303px 1423px 0 0px rgba(255, 255, 255, 0.051), 478 | 649px 450px 0 0px rgba(255, 255, 255, 0.73), 479 | 115px 444px 0 0px rgba(255, 255, 255, 0.299), 480 | 1218px 831px 0 0px rgba(255, 255, 255, 0.545), 481 | 225px 679px 0 0px rgba(255, 255, 255, 0.357), 482 | 1763px 31px 0 0px rgba(255, 255, 255, 0.887), 483 | 1370px 1311px 0 0px rgba(255, 255, 255, 0.031), 484 | 1018px 653px 0 0px rgba(255, 255, 255, 0.383), 485 | 1800px 280px 0 0px rgba(255, 255, 255, 0.651), 486 | 1142px 1264px 0 0px rgba(255, 255, 255, 0.263), 487 | 1532px 498px 0 0px rgba(255, 255, 255, 0.144), 488 | 349px 708px 0 0px rgba(255, 255, 255, 0.973), 489 | 804px 837px 0 0px rgba(255, 255, 255, 0.966), 490 | 399px 1692px 0 0px rgba(255, 255, 255, 0.779), 491 | 1553px 259px 0 0px rgba(255, 255, 255, 0.491), 492 | 733px 1660px 0 0px rgba(255, 255, 255, 0.185), 493 | 1613px 61px 0 0px rgba(255, 255, 255, 0.309), 494 | 1147px 793px 0 0px rgba(255, 255, 255, 0.793), 495 | 1682px 1127px 0 0px rgba(255, 255, 255, 0.851), 496 | 765px 948px 0 0px rgba(255, 255, 255, 0.57), 497 | 237px 1287px 0 0px rgba(255, 255, 255, 0.54), 498 | 659px 1608px 0 0px rgba(255, 255, 255, 0.106), 499 | 513px 323px 0 0px rgba(255, 255, 255, 0.278), 500 | 628px 355px 0 0px rgba(255, 255, 255, 0.295), 501 | 747px 648px 0 0px rgba(255, 255, 255, 0.964), 502 | 119px 629px 0 0px rgba(255, 255, 255, 0.391), 503 | 151px 547px 0 0px rgba(255, 255, 255, 0.936), 504 | 807px 1587px 0 0px rgba(255, 255, 255, 0.754), 505 | 667px 626px 0 0px rgba(255, 255, 255, 0.456), 506 | 1732px 322px 0 0px rgba(255, 255, 255, 0.309), 507 | 1421px 935px 0 0px rgba(255, 255, 255, 0.06), 508 | 148px 785px 0 0px rgba(255, 255, 255, 0.213), 509 | 1025px 1468px 0 0px rgba(255, 255, 255, 0.98), 510 | 1590px 1612px 0 0px rgba(255, 255, 255, 0.362), 511 | 1367px 176px 0 0px rgba(255, 255, 255, 0.915), 512 | 817px 108px 0 0px rgba(255, 255, 255, 0.077), 513 | 1183px 1434px 0 0px rgba(255, 255, 255, 0.697), 514 | 1102px 482px 0 0px rgba(255, 255, 255, 0.454), 515 | 882px 57px 0 0px rgba(255, 255, 255, 0.693), 516 | 624px 232px 0 0px rgba(255, 255, 255, 0.39), 517 | 225px 1280px 0 0px rgba(255, 255, 255, 0.105), 518 | 1062px 414px 0 0px rgba(255, 255, 255, 0.135), 519 | 1304px 1263px 0 0px rgba(255, 255, 255, 0.245), 520 | 2px 1219px 0 0px rgba(255, 255, 255, 0.367), 521 | 65px 143px 0 0px rgba(255, 255, 255, 0.181), 522 | 58px 119px 0 0px rgba(255, 255, 255, 0.605), 523 | 597px 18px 0 0px rgba(255, 255, 255, 0.621), 524 | 1713px 1592px 0 0px rgba(255, 255, 255, 0.541), 525 | 12px 1518px 0 0px rgba(255, 255, 255, 0.876), 526 | 1514px 1745px 0 0px rgba(255, 255, 255, 0.101), 527 | 1068px 710px 0 0px rgba(255, 255, 255, 0.145), 528 | 318px 1211px 0 0px rgba(255, 255, 255, 0.963), 529 | 520px 661px 0 0px rgba(255, 255, 255, 0.812), 530 | 312px 1760px 0 0px rgba(255, 255, 255, 0.619), 531 | 1446px 1156px 0 0px rgba(255, 255, 255, 0.644), 532 | 1045px 782px 0 0px rgba(255, 255, 255, 0.239), 533 | 27px 552px 0 0px rgba(255, 255, 255, 0.415), 534 | 1277px 342px 0 0px rgba(255, 255, 255, 0.896), 535 | 1632px 1498px 0 0px rgba(255, 255, 255, 0.401), 536 | 425px 324px 0 0px rgba(255, 255, 255, 0.576), 537 | 1426px 454px 0 0px rgba(255, 255, 255, 0.651), 538 | 1018px 546px 0 0px rgba(255, 255, 255, 0.99), 539 | 131px 1327px 0 0px rgba(255, 255, 255, 0.086), 540 | 1515px 355px 0 0px rgba(255, 255, 255, 0.464), 541 | 1190px 1394px 0 0px rgba(255, 255, 255, 0.357); 542 | border-radius: 100px; 543 | } 544 | -------------------------------------------------------------------------------- /05-merge-styles/test-files/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Document 9 | 10 | 11 | 353 | 354 | 355 | -------------------------------------------------------------------------------- /03-files-in-folder/secret-folder/data.csv: -------------------------------------------------------------------------------- 1 | id,first_name,last_name,email,gender,ip_address 2 | 1,Goran,Birtonshaw,gbirtonshaw0@people.com.cn,Agender,84.129.79.154 3 | 2,Rubin,Paeckmeyer,rpaeckmeyer1@godaddy.com,Female,179.85.117.136 4 | 3,Cicily,Galletly,cgalletly2@reverbnation.com,Genderqueer,82.68.160.187 5 | 4,Maudie,Tremathick,mtremathick3@etsy.com,Polygender,175.140.108.73 6 | 5,Eddie,Guittet,eguittet4@cisco.com,Non-binary,18.163.34.124 7 | 6,Abbot,Hendrichs,ahendrichs5@about.me,Male,35.191.193.6 8 | 7,Jeannie,Crimmins,jcrimmins6@twitter.com,Genderqueer,130.239.213.125 9 | 8,Hershel,Fusco,hfusco7@census.gov,Non-binary,63.164.120.33 10 | 9,Mickey,Layfield,mlayfield8@indiegogo.com,Genderqueer,30.142.120.96 11 | 10,Carmelle,Treen,ctreen9@blogger.com,Agender,126.252.216.40 12 | 11,Donavon,Crumb,dcrumba@spiegel.de,Non-binary,38.19.210.42 13 | 12,Hedy,Heisman,hheismanb@huffingtonpost.com,Genderqueer,129.210.16.146 14 | 13,Janka,Gammell,jgammellc@pbs.org,Polygender,165.213.133.114 15 | 14,Frederigo,Von Salzberg,fvonsalzbergd@dyndns.org,Genderqueer,199.53.216.69 16 | 15,Eleanora,Toulson,etoulsone@aol.com,Polygender,229.118.71.232 17 | 16,Jere,Waggitt,jwaggittf@printfriendly.com,Male,39.194.212.243 18 | 17,Gabriel,Godby,ggodbyg@indiatimes.com,Male,208.126.186.158 19 | 18,Rriocard,McKague,rmckagueh@mediafire.com,Genderfluid,42.172.112.92 20 | 19,Sibelle,Anmore,sanmorei@discovery.com,Polygender,129.236.23.90 21 | 20,Kattie,Govinlock,kgovinlockj@ucla.edu,Polygender,25.3.187.77 22 | 21,Derrick,Penreth,dpenrethk@alexa.com,Polygender,66.50.104.157 23 | 22,Dorolice,Timoney,dtimoneyl@cornell.edu,Male,186.81.82.226 24 | 23,Dana,Hynard,dhynardm@opera.com,Agender,112.130.124.86 25 | 24,Aarika,Van Baaren,avanbaarenn@hc360.com,Non-binary,30.171.8.133 26 | 25,Cristobal,Wittey,cwitteyo@japanpost.jp,Genderqueer,19.95.206.153 27 | 26,Kiley,Cutill,kcutillp@geocities.com,Bigender,90.116.108.212 28 | 27,Dominga,Dealtry,ddealtryq@cmu.edu,Female,238.193.145.155 29 | 28,Laurella,McGawn,lmcgawnr@cnbc.com,Polygender,9.20.76.180 30 | 29,Genny,Peltzer,gpeltzers@imageshack.us,Agender,191.123.246.112 31 | 30,Gusti,Alliott,galliottt@adobe.com,Polygender,86.160.187.206 32 | 31,Mario,Siaspinski,msiaspinskiu@dedecms.com,Polygender,220.243.205.253 33 | 32,Carmencita,Glendining,cglendiningv@craigslist.org,Agender,13.12.28.192 34 | 33,Candice,St Quenin,cstqueninw@pagesperso-orange.fr,Genderqueer,116.80.154.3 35 | 34,Bridget,Stower,bstowerx@oaic.gov.au,Female,103.209.172.159 36 | 35,Fabian,Sandle,fsandley@gov.uk,Genderfluid,74.14.83.32 37 | 36,Sonny,Lydiate,slydiatez@nytimes.com,Agender,94.119.94.162 38 | 37,Hy,Preuvost,hpreuvost10@sakura.ne.jp,Genderfluid,23.90.56.179 39 | 38,Dom,Lightwood,dlightwood11@adobe.com,Genderfluid,111.3.214.219 40 | 39,Merridie,Chesson,mchesson12@squarespace.com,Bigender,198.180.227.5 41 | 40,Karia,Scyone,kscyone13@businessweek.com,Bigender,106.172.41.163 42 | 41,Prudi,Slym,pslym14@engadget.com,Male,5.76.3.143 43 | 42,Henry,Boland,hboland15@cargocollective.com,Female,59.21.209.30 44 | 43,Doretta,Prettejohns,dprettejohns16@geocities.com,Female,246.40.102.181 45 | 44,Geralda,Mayhead,gmayhead17@comsenz.com,Polygender,202.22.158.255 46 | 45,Friedrich,Gimeno,fgimeno18@techcrunch.com,Male,130.6.39.245 47 | 46,Eba,Millan,emillan19@weebly.com,Bigender,245.60.207.146 48 | 47,Jodi,Fenty,jfenty1a@ning.com,Agender,214.215.230.9 49 | 48,Jilli,Itzkovwich,jitzkovwich1b@harvard.edu,Bigender,217.155.251.81 50 | 49,Jena,Merali,jmerali1c@mac.com,Non-binary,163.34.213.155 51 | 50,Cozmo,Graffham,cgraffham1d@cbc.ca,Polygender,131.61.13.206 52 | 51,Brendis,Turnock,bturnock1e@theatlantic.com,Bigender,63.40.85.82 53 | 52,Jayson,Bowden,jbowden1f@creativecommons.org,Genderqueer,101.160.137.209 54 | 53,Sinclair,Rosario,srosario1g@washington.edu,Genderfluid,105.226.79.192 55 | 54,Eddy,Tommasetti,etommasetti1h@gizmodo.com,Non-binary,22.168.53.233 56 | 55,Margarita,Snyder,msnyder1i@phpbb.com,Female,193.158.184.218 57 | 56,Corabella,Burgett,cburgett1j@gravatar.com,Bigender,16.126.234.1 58 | 57,Allin,Fanshawe,afanshawe1k@salon.com,Genderfluid,197.148.76.175 59 | 58,Marcelle,Sammes,msammes1l@pagesperso-orange.fr,Agender,163.46.114.15 60 | 59,Donal,Fagan,dfagan1m@alexa.com,Male,17.229.163.97 61 | 60,Colline,Brehault,cbrehault1n@toplist.cz,Agender,108.121.153.254 62 | 61,Mavis,Garrity,mgarrity1o@ca.gov,Male,177.124.137.183 63 | 62,Harriott,Keford,hkeford1p@businessweek.com,Genderfluid,57.79.149.212 64 | 63,Rozelle,Adnam,radnam1q@tumblr.com,Non-binary,218.30.248.159 65 | 64,Berta,Daal,bdaal1r@linkedin.com,Female,80.126.241.201 66 | 65,Lavena,Jorger,ljorger1s@paginegialle.it,Genderqueer,242.71.170.110 67 | 66,Neddy,Blythin,nblythin1t@berkeley.edu,Non-binary,250.117.167.171 68 | 67,Benny,Woodall,bwoodall1u@whitehouse.gov,Female,14.133.54.34 69 | 68,Sydney,Priestner,spriestner1v@mozilla.org,Genderfluid,237.197.120.253 70 | 69,Zolly,Blaksley,zblaksley1w@sohu.com,Polygender,207.4.147.245 71 | 70,Darrell,Allpress,dallpress1x@seattletimes.com,Bigender,24.19.232.114 72 | 71,Jeni,Esland,jesland1y@aol.com,Genderfluid,0.193.187.129 73 | 72,Herman,Vasenkov,hvasenkov1z@people.com.cn,Female,77.4.119.69 74 | 73,Leontine,Moens,lmoens20@aboutads.info,Non-binary,208.2.15.6 75 | 74,Aleece,Peasby,apeasby21@drupal.org,Non-binary,204.179.178.137 76 | 75,Towney,Laroux,tlaroux22@skyrock.com,Female,49.174.119.139 77 | 76,Ferrell,Furse,ffurse23@marketwatch.com,Genderqueer,230.190.208.18 78 | 77,Tracey,Shingles,tshingles24@jigsy.com,Non-binary,219.52.75.161 79 | 78,Haskel,Werlock,hwerlock25@topsy.com,Genderqueer,98.83.67.142 80 | 79,Hoebart,Duplain,hduplain26@scientificamerican.com,Bigender,147.175.50.166 81 | 80,Maxwell,Gallemore,mgallemore27@amazon.de,Non-binary,99.164.159.114 82 | 81,Archibold,Beckford,abeckford28@t.co,Agender,170.38.134.185 83 | 82,Cristal,Kleinsinger,ckleinsinger29@google.co.uk,Non-binary,184.87.21.150 84 | 83,Nana,Cabel,ncabel2a@toplist.cz,Genderfluid,249.85.252.209 85 | 84,Ilse,Brotheridge,ibrotheridge2b@engadget.com,Genderfluid,221.138.134.96 86 | 85,Ciel,Welden,cwelden2c@patch.com,Non-binary,240.116.56.60 87 | 86,Henriette,Lamberto,hlamberto2d@prlog.org,Genderqueer,6.38.153.26 88 | 87,Dewey,Linden,dlinden2e@geocities.com,Agender,183.194.250.4 89 | 88,Denney,Ames,dames2f@plala.or.jp,Male,188.25.47.122 90 | 89,Dulce,Cowlas,dcowlas2g@vimeo.com,Agender,114.32.130.95 91 | 90,Kristopher,Duprey,kduprey2h@goo.gl,Non-binary,51.222.159.186 92 | 91,Louie,Togwell,ltogwell2i@tuttocitta.it,Genderqueer,135.183.124.110 93 | 92,Brooks,Darkin,bdarkin2j@oracle.com,Non-binary,214.197.147.220 94 | 93,Aubine,Eaken,aeaken2k@goodreads.com,Genderqueer,142.165.62.142 95 | 94,Freeland,Rozea,frozea2l@oakley.com,Polygender,149.186.126.156 96 | 95,Sophey,Simmers,ssimmers2m@jigsy.com,Female,187.15.69.129 97 | 96,Auria,Reynard,areynard2n@a8.net,Male,249.93.181.13 98 | 97,Jarrad,Alexis,jalexis2o@skype.com,Female,102.1.153.253 99 | 98,Jobi,Fireman,jfireman2p@netvibes.com,Genderfluid,178.28.94.10 100 | 99,Evangelina,Suett,esuett2q@4shared.com,Polygender,237.159.64.49 101 | 100,Bartie,Wink,bwink2r@independent.co.uk,Polygender,197.24.196.140 102 | 101,Gideon,Witcombe,gwitcombe2s@omniture.com,Genderfluid,205.35.76.24 103 | 102,Porter,Lett,plett2t@hao123.com,Non-binary,96.16.41.177 104 | 103,Lucina,Nordass,lnordass2u@lycos.com,Polygender,182.104.199.195 105 | 104,Konstance,MacAne,kmacane2v@yellowbook.com,Genderqueer,219.97.30.95 106 | 105,Fayette,Blinerman,fblinerman2w@samsung.com,Genderqueer,173.160.129.195 107 | 106,Irwinn,Santoro,isantoro2x@jigsy.com,Female,102.184.135.194 108 | 107,Torey,Torrans,ttorrans2y@microsoft.com,Non-binary,146.65.31.4 109 | 108,Dmitri,Sherebrook,dsherebrook2z@furl.net,Bigender,13.89.217.161 110 | 109,Melany,Cossom,mcossom30@linkedin.com,Agender,200.94.244.107 111 | 110,Trumaine,Le Fevre,tlefevre31@shutterfly.com,Female,92.149.22.198 112 | 111,Krystal,Wilde,kwilde32@blogs.com,Male,193.176.28.223 113 | 112,Melinda,Brunotti,mbrunotti33@japanpost.jp,Non-binary,73.64.150.100 114 | 113,Sorcha,Bothbie,sbothbie34@sphinn.com,Non-binary,138.22.150.255 115 | 114,Ardine,Mastrantone,amastrantone35@tuttocitta.it,Agender,251.235.59.231 116 | 115,Domingo,Heads,dheads36@ucoz.com,Male,178.17.138.64 117 | 116,Chen,Wick,cwick37@myspace.com,Agender,30.6.16.102 118 | 117,Lalo,Pote,lpote38@hp.com,Agender,8.0.93.141 119 | 118,Kati,Lummasana,klummasana39@google.ca,Genderfluid,119.248.112.247 120 | 119,Lotty,Epinoy,lepinoy3a@deliciousdays.com,Male,97.219.184.44 121 | 120,Mackenzie,Calow,mcalow3b@ucoz.com,Female,127.63.35.25 122 | 121,Reese,Blasoni,rblasoni3c@fotki.com,Genderfluid,234.3.223.104 123 | 122,Gannie,Dot,gdot3d@acquirethisname.com,Agender,167.176.185.40 124 | 123,Agatha,Gillatt,agillatt3e@arizona.edu,Polygender,44.70.40.15 125 | 124,Nowell,Beynon,nbeynon3f@fema.gov,Polygender,161.187.69.55 126 | 125,Janaye,Casone,jcasone3g@github.io,Genderqueer,131.107.101.188 127 | 126,Raimondo,Thursby,rthursby3h@chronoengine.com,Agender,158.220.92.225 128 | 127,Marjory,Ollie,mollie3i@networksolutions.com,Female,1.211.32.127 129 | 128,Lyndsey,Shortall,lshortall3j@mac.com,Female,227.50.109.155 130 | 129,Tomas,Suart,tsuart3k@taobao.com,Agender,9.56.237.187 131 | 130,Cristen,Hars,chars3l@wikia.com,Male,116.37.11.46 132 | 131,Carling,Morritt,cmorritt3m@cnn.com,Female,206.92.247.199 133 | 132,Ring,Sarney,rsarney3n@privacy.gov.au,Female,177.108.198.105 134 | 133,Marthe,Bellam,mbellam3o@feedburner.com,Genderfluid,252.167.153.14 135 | 134,Bartholemy,Livoir,blivoir3p@auda.org.au,Genderfluid,5.203.79.128 136 | 135,Rici,Coltart,rcoltart3q@cnet.com,Bigender,101.206.58.160 137 | 136,Seymour,Tessyman,stessyman3r@hexun.com,Female,182.186.202.193 138 | 137,Marshal,Pallaske,mpallaske3s@epa.gov,Agender,98.126.52.131 139 | 138,Gaspard,Gooms,ggooms3t@myspace.com,Non-binary,200.82.168.138 140 | 139,Juana,Hightown,jhightown3u@msn.com,Bigender,79.34.174.24 141 | 140,Matty,Ambrogi,mambrogi3v@google.nl,Genderqueer,205.121.125.4 142 | 141,Rowen,Musso,rmusso3w@slashdot.org,Agender,15.153.230.146 143 | 142,Laney,Kehir,lkehir3x@pinterest.com,Female,192.240.154.103 144 | 143,Mirabella,Weare,mweare3y@sourceforge.net,Genderqueer,243.211.54.166 145 | 144,Angela,Braunes,abraunes3z@bbb.org,Genderqueer,128.86.125.66 146 | 145,Diarmid,Zeale,dzeale40@wufoo.com,Agender,119.194.24.197 147 | 146,Dottie,Iscowitz,discowitz41@dot.gov,Non-binary,130.76.100.13 148 | 147,Keenan,Ind,kind42@e-recht24.de,Genderfluid,53.106.80.15 149 | 148,Basile,Seedman,bseedman43@sphinn.com,Genderqueer,243.19.201.249 150 | 149,Roxana,McRinn,rmcrinn44@sogou.com,Genderfluid,98.31.168.58 151 | 150,Loise,Santoro,lsantoro45@oracle.com,Genderfluid,22.77.134.69 152 | 151,Wenonah,Readings,wreadings46@irs.gov,Female,215.197.215.41 153 | 152,Emmalyn,Briggdale,ebriggdale47@w3.org,Male,94.114.56.111 154 | 153,Adelaida,Morphet,amorphet48@smh.com.au,Polygender,17.108.9.211 155 | 154,Tomasine,Clears,tclears49@t.co,Female,244.95.25.142 156 | 155,Sara-ann,Gatecliffe,sgatecliffe4a@loc.gov,Genderqueer,244.80.116.4 157 | 156,Barby,Renehan,brenehan4b@nationalgeographic.com,Genderfluid,176.79.139.86 158 | 157,Antonia,Hankard,ahankard4c@msn.com,Bigender,20.49.236.203 159 | 158,See,Donnelly,sdonnelly4d@hugedomains.com,Agender,195.126.23.78 160 | 159,Moshe,Drover,mdrover4e@microsoft.com,Agender,238.178.24.230 161 | 160,Raquel,Drynan,rdrynan4f@spiegel.de,Female,21.141.138.3 162 | 161,Anselma,Gouny,agouny4g@geocities.com,Agender,182.57.144.22 163 | 162,Anastasie,Everard,aeverard4h@etsy.com,Female,61.96.109.228 164 | 163,August,Jockle,ajockle4i@nbcnews.com,Genderqueer,11.166.91.49 165 | 164,Carolus,Pollastro,cpollastro4j@epa.gov,Female,132.58.120.210 166 | 165,Katee,Maas,kmaas4k@wikia.com,Genderfluid,99.176.205.156 167 | 166,Brade,Simenel,bsimenel4l@oakley.com,Non-binary,79.218.147.144 168 | 167,Gerda,Rawles,grawles4m@youtube.com,Female,168.205.61.137 169 | 168,Peadar,MacWilliam,pmacwilliam4n@hibu.com,Male,252.235.223.252 170 | 169,Linnet,Guerrazzi,lguerrazzi4o@qq.com,Polygender,135.169.49.37 171 | 170,Darcey,Antonnikov,dantonnikov4p@topsy.com,Non-binary,230.50.76.67 172 | 171,Sawyere,Orknay,sorknay4q@thetimes.co.uk,Bigender,174.157.238.81 173 | 172,Errol,Rudolph,erudolph4r@microsoft.com,Agender,225.50.220.111 174 | 173,Marjie,Chrippes,mchrippes4s@cloudflare.com,Bigender,27.109.225.63 175 | 174,Sarajane,Filer,sfiler4t@google.fr,Bigender,104.127.161.215 176 | 175,Coretta,Jorck,cjorck4u@booking.com,Agender,180.41.151.26 177 | 176,Cassandre,Lindenman,clindenman4v@google.pl,Genderqueer,189.95.32.228 178 | 177,Nehemiah,Bascomb,nbascomb4w@oakley.com,Female,144.183.220.14 179 | 178,Noreen,Halbard,nhalbard4x@1und1.de,Non-binary,190.15.81.149 180 | 179,Ninon,Penny,npenny4y@reverbnation.com,Male,34.161.19.159 181 | 180,Ryun,Northcliffe,rnorthcliffe4z@g.co,Male,224.74.60.123 182 | 181,Shayla,Nisot,snisot50@ask.com,Genderqueer,238.244.51.116 183 | 182,Dierdre,Lugden,dlugden51@wordpress.com,Bigender,253.249.98.169 184 | 183,Barnie,Yoslowitz,byoslowitz52@dmoz.org,Female,247.205.72.57 185 | 184,Bibi,Guiraud,bguiraud53@sakura.ne.jp,Genderqueer,13.194.180.102 186 | 185,Anatole,Laydon,alaydon54@nbcnews.com,Agender,173.185.181.79 187 | 186,Laurel,Locket,llocket55@foxnews.com,Polygender,232.113.28.202 188 | 187,Padraig,Causby,pcausby56@theglobeandmail.com,Female,187.49.143.116 189 | 188,Wendy,Adamkiewicz,wadamkiewicz57@dagondesign.com,Polygender,51.51.247.40 190 | 189,Jaquenette,Mowday,jmowday58@hao123.com,Male,71.24.126.26 191 | 190,Boone,Godsmark,bgodsmark59@scribd.com,Male,141.218.192.142 192 | 191,Carlotta,Castanone,ccastanone5a@netscape.com,Bigender,41.55.147.154 193 | 192,Lynn,Lindwall,llindwall5b@aboutads.info,Non-binary,63.57.38.206 194 | 193,Alica,Moquin,amoquin5c@forbes.com,Genderqueer,135.111.134.10 195 | 194,Trenton,Jansik,tjansik5d@gravatar.com,Bigender,122.68.93.111 196 | 195,Giana,Benardette,gbenardette5e@census.gov,Non-binary,78.132.156.90 197 | 196,Ede,Scarlett,escarlett5f@domainmarket.com,Genderqueer,144.159.79.182 198 | 197,Nara,Gurwood,ngurwood5g@google.com.br,Genderqueer,168.15.153.138 199 | 198,Michelina,Goodband,mgoodband5h@rambler.ru,Non-binary,93.244.62.228 200 | 199,Gaspar,Yakhin,gyakhin5i@amazon.de,Male,251.252.45.146 201 | 200,Dasi,Stammers,dstammers5j@bluehost.com,Genderqueer,182.104.2.28 202 | 201,Donnell,Maidlow,dmaidlow5k@goodreads.com,Genderqueer,187.242.50.129 203 | 202,Agathe,Hains,ahains5l@sciencedaily.com,Polygender,96.16.192.229 204 | 203,Maisie,Gercken,mgercken5m@sciencedaily.com,Female,151.16.49.168 205 | 204,Zola,Rowles,zrowles5n@icq.com,Female,93.74.192.244 206 | 205,Brant,Olcot,bolcot5o@dailymail.co.uk,Bigender,26.11.100.139 207 | 206,Anetta,Samarth,asamarth5p@scribd.com,Genderfluid,130.220.205.145 208 | 207,Kimberly,Benger,kbenger5q@angelfire.com,Genderfluid,154.183.74.229 209 | 208,Candide,Goodbairn,cgoodbairn5r@slideshare.net,Agender,90.129.140.122 210 | 209,Marybeth,Horsted,mhorsted5s@mozilla.com,Agender,33.87.135.214 211 | 210,Kristo,Zamboniari,kzamboniari5t@mac.com,Polygender,141.235.240.42 212 | 211,Theresita,Duchart,tduchart5u@linkedin.com,Male,234.213.196.11 213 | 212,Hartley,Minguet,hminguet5v@deviantart.com,Genderqueer,180.163.162.214 214 | 213,Sheba,Gahagan,sgahagan5w@umn.edu,Genderfluid,152.86.186.74 215 | 214,Maren,Maron,mmaron5x@addthis.com,Polygender,98.131.27.205 216 | 215,Mellisa,Yanele,myanele5y@quantcast.com,Polygender,201.73.212.209 217 | 216,Guntar,Moroney,gmoroney5z@1und1.de,Genderfluid,231.110.219.102 218 | 217,Kit,Redmile,kredmile60@geocities.jp,Polygender,204.16.62.49 219 | 218,Doy,McCaughey,dmccaughey61@hp.com,Male,250.90.166.102 220 | 219,Elaine,Broseman,ebroseman62@issuu.com,Female,142.205.161.15 221 | 220,Katrinka,Larose,klarose63@google.com.hk,Male,167.194.144.67 222 | 221,Sheppard,Rosenbaum,srosenbaum64@gov.uk,Polygender,27.87.35.126 223 | 222,Lorraine,Bright,lbright65@wikipedia.org,Genderfluid,71.176.249.15 224 | 223,Tedra,Slidders,tslidders66@simplemachines.org,Genderqueer,233.100.130.243 225 | 224,Erl,Balmann,ebalmann67@yelp.com,Bigender,228.192.234.248 226 | 225,Silvano,Lambarth,slambarth68@nps.gov,Agender,162.103.26.74 227 | 226,Grantley,Blenkharn,gblenkharn69@networkadvertising.org,Female,27.229.6.202 228 | 227,Harris,Benterman,hbenterman6a@washington.edu,Male,124.47.70.105 229 | 228,Ania,Gunby,agunby6b@reference.com,Non-binary,15.3.210.169 230 | 229,Leodora,Buchan,lbuchan6c@indiegogo.com,Genderqueer,109.130.178.10 231 | 230,Stephani,Huortic,shuortic6d@flavors.me,Polygender,246.238.229.49 232 | 231,Lester,Callicott,lcallicott6e@dmoz.org,Bigender,151.224.59.181 233 | 232,Clemmy,Pelcheur,cpelcheur6f@bizjournals.com,Female,93.119.61.218 234 | 233,Rawley,O'Connel,roconnel6g@cornell.edu,Polygender,93.225.237.205 235 | 234,Trefor,Vasilkov,tvasilkov6h@simplemachines.org,Male,10.238.127.66 236 | 235,Minor,Pleming,mpleming6i@desdev.cn,Genderfluid,75.148.238.186 237 | 236,Mabelle,Jansa,mjansa6j@tmall.com,Genderfluid,220.85.135.82 238 | 237,Alford,Narramore,anarramore6k@slideshare.net,Male,93.54.52.131 239 | 238,Garrek,Gilbert,ggilbert6l@usatoday.com,Genderqueer,99.222.205.8 240 | 239,Tamra,Marrows,tmarrows6m@prlog.org,Bigender,36.165.80.250 241 | 240,Frasquito,Lapenna,flapenna6n@wiley.com,Male,202.88.58.25 242 | 241,Matelda,Held,mheld6o@telegraph.co.uk,Polygender,106.254.54.211 243 | 242,Waverley,Levinge,wlevinge6p@wordpress.com,Agender,249.126.127.252 244 | 243,Kathe,Upward,kupward6q@pagesperso-orange.fr,Genderfluid,218.201.155.104 245 | 244,Glynnis,Fitchett,gfitchett6r@prnewswire.com,Non-binary,72.233.16.54 246 | 245,Enoch,Priddy,epriddy6s@hhs.gov,Genderfluid,44.74.100.85 247 | 246,Tammy,Kenvin,tkenvin6t@guardian.co.uk,Bigender,5.237.61.75 248 | 247,Joete,Wick,jwick6u@canalblog.com,Agender,239.217.140.63 249 | 248,Arty,Kopmann,akopmann6v@tuttocitta.it,Genderfluid,158.49.92.252 250 | 249,Annis,Phythian,aphythian6w@archive.org,Agender,74.234.109.110 251 | 250,Jenifer,MacGruer,jmacgruer6x@twitpic.com,Male,129.105.27.212 252 | 251,Ferguson,MacIan,fmacian6y@geocities.jp,Agender,69.197.95.177 253 | 252,Lynn,Buchan,lbuchan6z@blog.com,Agender,100.126.30.201 254 | 253,Lowrance,Torbett,ltorbett70@addthis.com,Female,213.51.128.30 255 | 254,Durward,Marquiss,dmarquiss71@vimeo.com,Bigender,64.240.167.58 256 | 255,Marni,Chaise,mchaise72@issuu.com,Genderfluid,52.111.129.74 257 | 256,Ardelis,Freeman,afreeman73@globo.com,Male,52.102.157.57 258 | 257,Arnold,Tunder,atunder74@chicagotribune.com,Non-binary,160.186.59.249 259 | 258,Ketti,Wickardt,kwickardt75@wsj.com,Male,65.195.93.126 260 | 259,Anica,Lilly,alilly76@about.com,Male,205.17.158.0 261 | 260,Timothea,Rittmeyer,trittmeyer77@springer.com,Genderfluid,47.78.39.229 262 | 261,Kiley,Hiscocks,khiscocks78@eventbrite.com,Genderfluid,183.83.163.239 263 | 262,Lulita,Doles,ldoles79@macromedia.com,Genderfluid,245.247.235.28 264 | 263,Ryley,Scola,rscola7a@home.pl,Agender,127.47.62.74 265 | 264,Gabe,Bambra,gbambra7b@edublogs.org,Agender,107.100.225.16 266 | 265,Dukie,Polack,dpolack7c@friendfeed.com,Genderfluid,196.213.76.37 267 | 266,Cross,Daens,cdaens7d@cpanel.net,Polygender,5.202.255.86 268 | 267,Lauren,Pancoast,lpancoast7e@wp.com,Genderfluid,252.12.155.37 269 | 268,Madge,Linsey,mlinsey7f@pen.io,Bigender,142.57.169.93 270 | 269,Sofie,Ruffy,sruffy7g@desdev.cn,Male,192.31.187.24 271 | 270,Kliment,Connick,kconnick7h@bizjournals.com,Non-binary,126.87.18.164 272 | 271,Rhody,Capnerhurst,rcapnerhurst7i@china.com.cn,Genderqueer,21.88.188.188 273 | 272,Clem,Carden,ccarden7j@amazon.com,Genderqueer,87.65.101.130 274 | 273,Antonia,Kennerley,akennerley7k@sfgate.com,Female,53.233.83.92 275 | 274,Linette,Luscott,lluscott7l@fema.gov,Bigender,61.166.203.122 276 | 275,Barb,Morfield,bmorfield7m@goodreads.com,Agender,40.105.252.132 277 | 276,Orbadiah,Meineken,omeineken7n@mtv.com,Agender,132.201.69.48 278 | 277,Chelsea,Pock,cpock7o@tripod.com,Non-binary,211.149.139.110 279 | 278,Gabriela,Pietrzak,gpietrzak7p@sbwire.com,Genderqueer,223.182.108.133 280 | 279,Sheridan,Cogdon,scogdon7q@vkontakte.ru,Agender,102.107.127.24 281 | 280,Ulrike,Jaffray,ujaffray7r@blogs.com,Genderqueer,146.255.253.254 282 | 281,Kary,Sawney,ksawney7s@thetimes.co.uk,Polygender,39.235.255.24 283 | 282,Newton,Soan,nsoan7t@elegantthemes.com,Genderqueer,69.222.11.150 284 | 283,Dulce,O'Garmen,dogarmen7u@jugem.jp,Genderfluid,70.213.111.152 285 | 284,Tommie,Lorentz,tlorentz7v@biglobe.ne.jp,Male,70.179.92.207 286 | 285,Barnabas,Simmonds,bsimmonds7w@mapy.cz,Genderqueer,250.153.243.54 287 | 286,Waite,Casse,wcasse7x@usda.gov,Non-binary,130.177.214.88 288 | 287,Bud,Lanfere,blanfere7y@reference.com,Genderfluid,12.18.158.161 289 | 288,Darcy,Jenyns,djenyns7z@skyrock.com,Non-binary,91.154.206.163 290 | 289,Salvador,Gibbons,sgibbons80@upenn.edu,Genderqueer,37.63.250.214 291 | 290,Olag,Tunnadine,otunnadine81@nasa.gov,Male,149.139.237.244 292 | 291,Tammie,Yakebovitch,tyakebovitch82@liveinternet.ru,Bigender,212.204.243.89 293 | 292,Bellanca,Egerton,begerton83@4shared.com,Polygender,46.39.252.101 294 | 293,Elane,Glasner,eglasner84@loc.gov,Agender,172.73.185.118 295 | 294,Ferdy,Bamlett,fbamlett85@umn.edu,Bigender,204.166.81.134 296 | 295,Joycelin,Fitzsymon,jfitzsymon86@home.pl,Male,48.252.203.205 297 | 296,Lee,Itzkovitch,litzkovitch87@yahoo.co.jp,Male,242.220.209.135 298 | 297,Marlena,Libbis,mlibbis88@storify.com,Female,86.154.120.45 299 | 298,Vonny,Sommerlie,vsommerlie89@trellian.com,Bigender,152.186.60.107 300 | 299,Abbe,Brewse,abrewse8a@omniture.com,Non-binary,25.79.118.226 301 | 300,Krispin,Dowbekin,kdowbekin8b@pen.io,Bigender,55.55.72.253 302 | 301,Jenn,Knowles,jknowles8c@moonfruit.com,Female,104.231.117.224 303 | 302,Paulina,Minto,pminto8d@google.co.uk,Non-binary,40.90.238.130 304 | 303,Constantia,Plevin,cplevin8e@howstuffworks.com,Bigender,85.64.130.191 305 | 304,Erastus,Westcarr,ewestcarr8f@utexas.edu,Male,223.85.208.68 306 | 305,Jocelyne,Brislen,jbrislen8g@issuu.com,Genderfluid,251.239.141.241 307 | 306,Alfy,Martschik,amartschik8h@scribd.com,Genderqueer,183.65.254.163 308 | 307,Jamison,Shepherdson,jshepherdson8i@hp.com,Male,198.14.92.8 309 | 308,Winnah,Ceney,wceney8j@discuz.net,Agender,80.176.199.95 310 | 309,Finlay,Lilbourne,flilbourne8k@livejournal.com,Genderfluid,88.133.134.170 311 | 310,Leola,Morriarty,lmorriarty8l@mapy.cz,Female,54.32.190.106 312 | 311,Marquita,Truder,mtruder8m@etsy.com,Male,187.228.155.42 313 | 312,Cheryl,Gillebert,cgillebert8n@tripod.com,Non-binary,37.136.210.155 314 | 313,Efrem,Waggatt,ewaggatt8o@360.cn,Genderqueer,208.84.82.53 315 | 314,Yetta,Grinston,ygrinston8p@zimbio.com,Bigender,219.166.201.87 316 | 315,Jess,Skerritt,jskerritt8q@webmd.com,Male,118.214.148.129 317 | 316,Alayne,Courtese,acourtese8r@mapquest.com,Agender,248.240.203.46 318 | 317,Joy,Satford,jsatford8s@wikispaces.com,Polygender,211.137.12.168 319 | 318,Belva,Harsant,bharsant8t@theglobeandmail.com,Non-binary,110.149.175.226 320 | 319,Harland,Chetwin,hchetwin8u@columbia.edu,Genderqueer,129.202.237.29 321 | 320,Corabelle,Melpuss,cmelpuss8v@odnoklassniki.ru,Agender,165.158.236.207 322 | 321,Sheila-kathryn,Cragoe,scragoe8w@rambler.ru,Agender,104.115.71.209 323 | 322,Dot,Butterfield,dbutterfield8x@google.nl,Non-binary,100.31.122.26 324 | 323,Darnall,Ackerman,dackerman8y@forbes.com,Genderqueer,98.109.140.35 325 | 324,Petronia,Gyngyll,pgyngyll8z@shop-pro.jp,Male,55.191.248.152 326 | 325,Bobbe,MacAllester,bmacallester90@bravesites.com,Genderfluid,250.103.178.168 327 | 326,Francine,McCurtin,fmccurtin91@seattletimes.com,Non-binary,231.110.97.196 328 | 327,Norrie,Blenkiron,nblenkiron92@ow.ly,Male,203.63.155.153 329 | 328,Gertrude,Goligly,ggoligly93@apache.org,Agender,123.208.246.129 330 | 329,Witty,Warsop,wwarsop94@odnoklassniki.ru,Non-binary,160.211.164.106 331 | 330,Bessie,Flaune,bflaune95@topsy.com,Female,136.108.126.227 332 | 331,Joana,Feechan,jfeechan96@bigcartel.com,Bigender,45.170.167.231 333 | 332,Lettie,Woan,lwoan97@cbsnews.com,Female,251.94.186.251 334 | 333,Karalynn,Crispin,kcrispin98@uiuc.edu,Genderqueer,96.158.238.19 335 | 334,Shawnee,McQuillan,smcquillan99@statcounter.com,Polygender,207.7.78.110 336 | 335,Bil,Relph,brelph9a@yellowpages.com,Female,254.120.241.102 337 | 336,Marylin,Yackiminie,myackiminie9b@amazon.co.jp,Genderqueer,47.6.192.81 338 | 337,Iain,Francecione,ifrancecione9c@topsy.com,Bigender,103.9.193.10 339 | 338,Margaretta,Petrowsky,mpetrowsky9d@state.tx.us,Bigender,12.200.95.240 340 | 339,Hillary,Killingback,hkillingback9e@seesaa.net,Genderfluid,26.56.219.193 341 | 340,Win,Malicki,wmalicki9f@yandex.ru,Female,232.128.132.63 342 | 341,Raeann,Blasiak,rblasiak9g@tmall.com,Female,126.255.114.141 343 | 342,Orrin,Shelmerdine,oshelmerdine9h@wunderground.com,Polygender,51.160.90.44 344 | 343,Darrick,Hillhouse,dhillhouse9i@taobao.com,Genderfluid,38.89.46.120 345 | 344,Bettina,Fipp,bfipp9j@etsy.com,Bigender,67.171.137.114 346 | 345,Florian,Speck,fspeck9k@github.com,Male,1.22.187.243 347 | 346,Corella,Arcase,carcase9l@fc2.com,Agender,171.161.192.117 348 | 347,Teddy,Sellstrom,tsellstrom9m@usgs.gov,Non-binary,105.81.43.191 349 | 348,Britney,Musslewhite,bmusslewhite9n@hatena.ne.jp,Agender,88.112.189.143 350 | 349,Concettina,Edelston,cedelston9o@example.com,Agender,236.175.235.174 351 | 350,Katey,Pomroy,kpomroy9p@arstechnica.com,Non-binary,211.27.148.18 352 | 351,Cara,Rubury,crubury9q@ameblo.jp,Polygender,201.35.92.143 353 | 352,Saloma,Paviour,spaviour9r@psu.edu,Polygender,152.47.85.249 354 | 353,Eimile,Betser,ebetser9s@xrea.com,Male,62.160.229.29 355 | 354,Elfrieda,Moors,emoors9t@github.io,Female,120.116.191.189 356 | 355,Vivia,Streak,vstreak9u@mashable.com,Non-binary,64.61.252.231 357 | 356,Fonz,Smethurst,fsmethurst9v@privacy.gov.au,Agender,29.25.139.171 358 | 357,Garvy,Carillo,gcarillo9w@usnews.com,Polygender,198.55.195.84 359 | 358,Grantley,MacKim,gmackim9x@xinhuanet.com,Agender,182.160.156.104 360 | 359,Catina,Weightman,cweightman9y@usa.gov,Genderfluid,227.202.0.252 361 | 360,Myrle,Lodin,mlodin9z@sogou.com,Genderfluid,215.189.91.157 362 | 361,Dion,Chalke,dchalkea0@linkedin.com,Non-binary,168.166.21.203 363 | 362,Valentine,Cherry Holme,vcherryholmea1@hao123.com,Non-binary,215.63.208.161 364 | 363,Joseph,Hebbes,jhebbesa2@psu.edu,Genderfluid,255.98.119.175 365 | 364,Diane-marie,Sendall,dsendalla3@github.io,Non-binary,213.110.178.47 366 | 365,Lind,Caesar,lcaesara4@trellian.com,Male,107.111.132.126 367 | 366,Powell,Bloy,pbloya5@cdc.gov,Polygender,133.219.203.64 368 | 367,Esma,Rennebeck,erennebecka6@stanford.edu,Female,215.23.23.3 369 | 368,Elvina,Gummoe,egummoea7@netvibes.com,Genderqueer,130.98.83.97 370 | 369,Cale,Worge,cworgea8@opera.com,Polygender,182.234.58.210 371 | 370,Cyril,Scading,cscadinga9@google.es,Polygender,155.147.166.40 372 | 371,Dannie,Ferrers,dferrersaa@sun.com,Female,61.14.20.25 373 | 372,Helene,McCorrie,hmccorrieab@scientificamerican.com,Genderqueer,250.45.124.181 374 | 373,Maritsa,Duggen,mduggenac@ask.com,Female,232.243.245.114 375 | 374,Herminia,Pawel,hpawelad@pagesperso-orange.fr,Male,97.114.0.9 376 | 375,Beltran,Corck,bcorckae@google.com.br,Female,165.24.250.50 377 | 376,Zebadiah,Seeks,zseeksaf@youtube.com,Genderqueer,56.132.160.132 378 | 377,Zora,Dunsford,zdunsfordag@ox.ac.uk,Agender,74.10.123.197 379 | 378,Tobe,Henryson,thenrysonah@whitehouse.gov,Bigender,56.202.37.8 380 | 379,Tildie,Yakunchikov,tyakunchikovai@si.edu,Non-binary,90.228.179.25 381 | 380,Lorene,Denisard,ldenisardaj@newsvine.com,Polygender,107.69.66.73 382 | 381,Francesco,Treadgear,ftreadgearak@last.fm,Genderfluid,118.163.171.25 383 | 382,Rosette,Fronks,rfronksal@weibo.com,Agender,51.35.110.208 384 | 383,Kali,McConigal,kmcconigalam@cocolog-nifty.com,Genderqueer,253.161.212.199 385 | 384,Elizabet,Wyne,ewynean@networkadvertising.org,Agender,137.50.23.232 386 | 385,Dannel,Paddington,dpaddingtonao@ed.gov,Male,104.202.239.235 387 | 386,Charmine,Harsent,charsentap@acquirethisname.com,Bigender,149.22.172.196 388 | 387,Geri,Brunelleschi,gbrunelleschiaq@drupal.org,Female,159.86.246.35 389 | 388,Clair,Endacott,cendacottar@howstuffworks.com,Agender,159.200.24.65 390 | 389,Tristam,Stewart,tstewartas@jimdo.com,Non-binary,189.175.124.210 391 | 390,Mireille,Pelman,mpelmanat@dropbox.com,Non-binary,229.167.83.83 392 | 391,Whitney,Chittem,wchittemau@jalbum.net,Non-binary,120.238.30.92 393 | 392,Bent,O'Donnelly,bodonnellyav@domainmarket.com,Female,54.46.30.185 394 | 393,Elfrida,Zoellner,ezoellneraw@springer.com,Genderfluid,103.50.230.167 395 | 394,Alexei,Le Batteur,alebatteurax@senate.gov,Male,78.31.53.62 396 | 395,Freeland,Nijs,fnijsay@skyrock.com,Bigender,48.133.75.201 397 | 396,Guthrie,De Pietri,gdepietriaz@freewebs.com,Genderqueer,195.100.161.205 398 | 397,Saundra,McFarland,smcfarlandb0@acquirethisname.com,Genderfluid,237.159.207.102 399 | 398,Neda,Colbertson,ncolbertsonb1@ocn.ne.jp,Non-binary,232.157.245.231 400 | 399,Bob,Lode,blodeb2@theatlantic.com,Non-binary,168.240.184.217 401 | 400,Gibb,Dochon,gdochonb3@twitter.com,Male,204.240.97.172 402 | 401,Edward,Kembry,ekembryb4@moonfruit.com,Polygender,126.60.30.21 403 | 402,Walsh,Vondracek,wvondracekb5@mashable.com,Agender,210.1.214.98 404 | 403,Karlik,McKerton,kmckertonb6@house.gov,Genderfluid,18.118.115.46 405 | 404,Derrik,Follows,dfollowsb7@ihg.com,Non-binary,66.140.237.127 406 | 405,Marla,Kerins,mkerinsb8@uol.com.br,Genderqueer,148.155.121.117 407 | 406,Cristen,Greenhall,cgreenhallb9@smugmug.com,Non-binary,253.181.90.21 408 | 407,Mufinella,McComb,mmccombba@squarespace.com,Polygender,248.130.79.25 409 | 408,Roldan,Dearness,rdearnessbb@eepurl.com,Female,58.235.189.224 410 | 409,Iosep,Luisetti,iluisettibc@php.net,Male,117.60.198.116 411 | 410,Sancho,Challis,schallisbd@netvibes.com,Agender,76.165.21.87 412 | 411,Sigfried,Masdon,smasdonbe@wp.com,Bigender,230.84.212.158 413 | 412,Conway,Frostick,cfrostickbf@eepurl.com,Non-binary,149.172.115.71 414 | 413,Frans,McCahill,fmccahillbg@accuweather.com,Genderqueer,239.25.184.103 415 | 414,Carole,Falks,cfalksbh@guardian.co.uk,Polygender,63.204.228.254 416 | 415,Fernandina,Ryton,frytonbi@typepad.com,Female,189.29.47.252 417 | 416,Gabriell,Brumbye,gbrumbyebj@sakura.ne.jp,Bigender,227.114.130.80 418 | 417,Nelli,Ealam,nealambk@free.fr,Bigender,56.170.199.122 419 | 418,Olivie,Burgyn,oburgynbl@zdnet.com,Genderfluid,58.12.15.71 420 | 419,Claudine,Westhofer,cwesthoferbm@ebay.com,Agender,42.206.171.55 421 | 420,Leandra,Benzie,lbenziebn@theguardian.com,Genderqueer,239.157.178.241 422 | 421,Caressa,Leatham,cleathambo@moonfruit.com,Non-binary,201.44.17.221 423 | 422,Marcile,Bardwell,mbardwellbp@narod.ru,Agender,53.199.193.234 424 | 423,Tiffy,Lantaph,tlantaphbq@paypal.com,Bigender,31.147.128.210 425 | 424,Kelci,Tomaskunas,ktomaskunasbr@hubpages.com,Agender,239.104.87.21 426 | 425,Clair,Symson,csymsonbs@friendfeed.com,Non-binary,141.24.158.17 427 | 426,Ilsa,Benterman,ibentermanbt@gov.uk,Agender,66.202.136.185 428 | 427,Sean,O' Hanvey,sohanveybu@g.co,Male,140.108.133.144 429 | 428,Carlie,Eberst,ceberstbv@admin.ch,Bigender,77.224.185.134 430 | 429,Reena,Rattrie,rrattriebw@163.com,Bigender,174.214.174.167 431 | 430,Ferdy,Bryer,fbryerbx@cocolog-nifty.com,Male,119.46.114.100 432 | 431,Leigh,Burgan,lburganby@cbc.ca,Non-binary,67.196.224.34 433 | 432,Florette,Aizikovitz,faizikovitzbz@msu.edu,Male,49.206.57.178 434 | 433,Mercedes,McNicol,mmcnicolc0@nps.gov,Genderfluid,234.171.193.49 435 | 434,Britta,Karlsen,bkarlsenc1@amazon.co.uk,Non-binary,38.113.191.220 436 | 435,Merv,Clevely,mclevelyc2@eventbrite.com,Genderfluid,155.223.81.186 437 | 436,Ragnar,Thorne,rthornec3@answers.com,Polygender,136.202.31.241 438 | 437,Melisse,Dodman,mdodmanc4@biglobe.ne.jp,Agender,87.175.244.170 439 | 438,Coleman,Danne,cdannec5@storify.com,Genderfluid,140.88.197.221 440 | 439,April,Nast,anastc6@yellowpages.com,Bigender,229.46.177.188 441 | 440,Rafaelita,Guidotti,rguidottic7@ustream.tv,Agender,252.16.186.194 442 | 441,Kandy,Reany,kreanyc8@xing.com,Genderqueer,178.118.129.103 443 | 442,Philipa,Ketchen,pketchenc9@elegantthemes.com,Non-binary,243.210.128.6 444 | 443,Christiane,Zanuciolii,czanucioliica@tinyurl.com,Agender,18.200.136.192 445 | 444,Faustina,Standish-Brooks,fstandishbrookscb@photobucket.com,Agender,94.97.92.201 446 | 445,Karalynn,Sherringham,ksherringhamcc@ox.ac.uk,Polygender,19.102.62.8 447 | 446,Anjela,Nel,anelcd@accuweather.com,Bigender,62.141.44.25 448 | 447,Marji,Collingworth,mcollingworthce@senate.gov,Genderfluid,60.171.174.96 449 | 448,Frasier,Boote,fbootecf@issuu.com,Male,124.86.22.211 450 | 449,Kailey,Esslement,kesslementcg@prweb.com,Genderfluid,87.156.133.38 451 | 450,Demott,Adame,dadamech@google.ca,Genderqueer,224.195.71.89 452 | 451,Clarabelle,Kestell,ckestellci@ed.gov,Non-binary,165.210.15.197 453 | 452,Kenna,Best,kbestcj@people.com.cn,Non-binary,189.157.106.34 454 | 453,Leeanne,Vanshin,lvanshinck@mit.edu,Non-binary,219.171.113.82 455 | 454,Jody,Cutcliffe,jcutcliffecl@uiuc.edu,Non-binary,0.45.139.69 456 | 455,Estrella,Simson,esimsoncm@bbb.org,Non-binary,217.32.111.176 457 | 456,Felecia,Koenraad,fkoenraadcn@omniture.com,Male,243.76.9.167 458 | 457,Leonie,Bielfelt,lbielfeltco@booking.com,Polygender,33.67.5.101 459 | 458,Emmery,Burborough,eburboroughcp@theguardian.com,Non-binary,21.210.10.110 460 | 459,Yovonnda,Hattam,yhattamcq@berkeley.edu,Genderfluid,153.184.67.59 461 | 460,Farr,Capitano,fcapitanocr@ihg.com,Female,223.205.237.99 462 | 461,Lilyan,De Beneditti,ldebenedittics@google.co.uk,Bigender,26.105.136.71 463 | 462,Alecia,MacCole,amaccolect@latimes.com,Polygender,157.224.202.12 464 | 463,Conant,Dumblton,cdumbltoncu@wiley.com,Genderfluid,81.221.168.165 465 | 464,Vida,Butter,vbuttercv@bbc.co.uk,Non-binary,146.235.216.129 466 | 465,Reagan,Bottoner,rbottonercw@mlb.com,Non-binary,158.217.63.17 467 | 466,Delilah,Broady,dbroadycx@cbslocal.com,Polygender,175.151.224.143 468 | 467,Myrta,Bulstrode,mbulstrodecy@imdb.com,Genderqueer,66.2.147.65 469 | 468,Marlow,De Benedictis,mdebenedictiscz@yellowbook.com,Bigender,202.93.70.94 470 | 469,Lynne,MacDonell,lmacdonelld0@mapy.cz,Female,140.104.95.57 471 | 470,Coralie,MacCall,cmaccalld1@harvard.edu,Non-binary,226.202.64.81 472 | 471,Gay,De Fries,gdefriesd2@cyberchimps.com,Agender,56.164.31.31 473 | 472,Tiler,Worham,tworhamd3@friendfeed.com,Polygender,9.142.115.172 474 | 473,Magdalena,Addey,maddeyd4@geocities.jp,Non-binary,237.140.71.52 475 | 474,Meade,Lipprose,mlipprosed5@pagesperso-orange.fr,Polygender,192.76.55.166 476 | 475,Berta,Renshall,brenshalld6@merriam-webster.com,Bigender,127.211.89.63 477 | 476,Crystal,Halburton,chalburtond7@mac.com,Agender,57.152.189.36 478 | 477,Justin,Beushaw,jbeushawd8@intel.com,Polygender,210.241.126.66 479 | 478,Hilary,Collomosse,hcollomossed9@hugedomains.com,Genderfluid,119.96.60.54 480 | 479,Ivette,Finlaison,ifinlaisonda@github.com,Polygender,192.0.17.222 481 | 480,Windy,Van der Son,wvandersondb@npr.org,Polygender,241.48.124.180 482 | 481,Cecilio,Stubbeley,cstubbeleydc@google.co.jp,Polygender,96.30.102.201 483 | 482,Daphene,Jeffreys,djeffreysdd@a8.net,Male,216.134.237.82 484 | 483,Nanette,Tolchard,ntolchardde@moonfruit.com,Male,30.114.128.56 485 | 484,Philomena,Alliband,pallibanddf@walmart.com,Male,77.185.60.102 486 | 485,Natala,Elfitt,nelfittdg@disqus.com,Male,108.81.162.90 487 | 486,Zelda,Bore,zboredh@imageshack.us,Non-binary,45.92.220.187 488 | 487,Zarah,Welbelove,zwelbelovedi@cnn.com,Polygender,97.215.148.185 489 | 488,Kiley,Ethersey,ketherseydj@amazonaws.com,Non-binary,6.128.81.241 490 | 489,Karry,Broadbury,kbroadburydk@list-manage.com,Bigender,22.131.147.65 491 | 490,Randi,Renner,rrennerdl@google.co.jp,Male,62.230.77.137 492 | 491,Edgar,Adamoli,eadamolidm@cargocollective.com,Bigender,25.18.6.244 493 | 492,Jarid,Cattel,jcatteldn@independent.co.uk,Female,61.135.85.163 494 | 493,Janela,Sam,jsamdo@ning.com,Female,120.185.229.218 495 | 494,Drucie,Hellmore,dhellmoredp@unesco.org,Female,102.143.11.86 496 | 495,Sapphire,Strickett,sstrickettdq@chicagotribune.com,Female,193.173.165.115 497 | 496,Bobette,Chiplin,bchiplindr@php.net,Genderqueer,101.229.69.168 498 | 497,Jaymee,Dounbare,jdounbareds@jalbum.net,Genderqueer,155.91.161.255 499 | 498,Krystyna,Ackenson,kackensondt@usgs.gov,Male,203.50.164.92 500 | 499,Pierette,Zorzutti,pzorzuttidu@addtoany.com,Genderfluid,30.155.14.12 501 | 500,Trista,Tofts,ttoftsdv@wisc.edu,Female,67.44.199.246 --------------------------------------------------------------------------------