From edfead8f38ff96c9c55efb0752128ebbc5f1083c Mon Sep 17 00:00:00 2001 From: rym-oualha <56199788+rym-oualha@users.noreply.github.com> Date: Fri, 29 Oct 2021 16:55:30 +0100 Subject: [PATCH 01/29] Added french translation for README.fr.md in Web-Dev-For-Beginners/6-space-game/6-end-condition/ (#465) --- .../6-end-condition/translations/README.fr.md | 223 ++++++++++++++++++ 1 file changed, 223 insertions(+) create mode 100644 6-space-game/6-end-condition/translations/README.fr.md diff --git a/6-space-game/6-end-condition/translations/README.fr.md b/6-space-game/6-end-condition/translations/README.fr.md new file mode 100644 index 00000000..cd729f37 --- /dev/null +++ b/6-space-game/6-end-condition/translations/README.fr.md @@ -0,0 +1,223 @@ +# Construire un jeu de l'espace Partie 6 : Fin et redémarrage + +## Quiz de prélecture + +[Quiz de prélecture](https://happy-mud-02d95f10f.azurestaticapps.net/quiz/39?loc=fr) + +Il existe différentes façons d'exprimer une "condition de fin" dans un jeu. C'est à vous, en tant que créateur du jeu, de dire pourquoi le jeu est terminé. Voici quelques raisons, si nous supposons que nous parlons du jeu spatial que vous avez construit jusqu'à présent : + +- **`N`Les navires ennemis ont été détruits** : Si vous divisez un jeu en plusieurs niveaux, il est assez fréquent que vous deviez détruire `N` vaisseaux ennemis pour terminer un niveau. +- **Votre navire a été détruit** : Il y a certainement des jeux où vous perdez la partie si votre vaisseau est détruit. Une autre approche commune est que vous avez le concept de vies. Chaque fois que votre vaisseau est détruit, une vie est déduite. Une fois que toutes les vies ont été perdues, vous perdez la partie. +- **Vous avez collecté `N` points** : Une autre condition de fin commune est que vous accumuliez des points. La façon dont vous obtenez des points dépend de vous, mais il est assez courant d'attribuer des points à diverses activités comme la destruction d'un navire ennemi ou la collecte d'objets que les objets *laissent tomber* lorsqu'ils sont détruits. +- Compléter un niveau** : Cela peut impliquer plusieurs conditions telles que `X` navires ennemis détruits, `Y` points collectés ou peut-être qu'un objet spécifique a été collecté. + + +## Redémarrage + +Si les gens apprécient votre jeu, ils auront probablement envie d'y rejouer. Lorsque le jeu se termine, quelle qu'en soit la raison, vous devez proposer une alternative pour recommencer. + +✅ Réfléchissez un peu aux conditions dans lesquelles vous constatez qu'une partie se termine, puis à la manière dont vous êtes invité à la reprendre. + +## Ce qu'il faut construire + +Vous allez ajouter ces règles à votre jeu : + +1. **Gagner la partie**. Une fois que tous les navires ennemis ont été détruits, vous gagnez la partie. Affichez en outre une sorte de message de victoire. +1. **Démarrer**. Une fois que toutes les vies sont perdues ou que la partie est gagnée, vous devez proposer un moyen de redémarrer la partie. N'oubliez pas ! Vous devrez réinitialiser le jeu et l'état précédent du jeu devra être effacé. + +## Mesures recommandées + +Localisez les fichiers qui ont été créés pour vous dans le sous-répertoire `your-work`. Il devrait contenir les éléments suivants : + +```bash +-| assets + -| enemyShip.png + -| player.png + -| laserRed.png + -| life.png +-| index.html +-| app.js +-| package.json +``` + +Vous démarrez votre projet dans le dossier `your_work` en tapant : + +```bash +cd your-work +npm start +``` + +Ce qui précède va démarrer un serveur HTTP sur l'adresse `http://localhost:5000`. Ouvrez un navigateur et entrez cette adresse. Votre jeu devrait être dans un état jouable. + +> astuce : pour éviter les avertissements dans Visual Studio Code, modifiez la fonction `window.onload` pour appeler `gameLoopId` tel quel (sans `let`), et déclarez le gameLoopId en haut du fichier, indépendamment : `let gameLoopId;` + +### Ajouter du code + +1. **Condition de fin de parcours**. Ajoutez du code qui garde la trace du nombre d'ennemis, ou si le vaisseau du héros a été détruit en ajoutant ces deux fonctions : + + ```javascript + function isHeroDead() { + return hero.life <= 0; + } + + function isEnemiesDead() { + const enemies = gameObjects.filter((go) => go.type === "Enemy" && !go.dead); + return enemies.length === 0; + } + ``` + +1. **Ajouter de la logique aux gestionnaires de messages**. Modifiez le `eventEmitter` pour gérer ces conditions : + + ```javascript + eventEmitter.on(Messages.COLLISION_ENEMY_LASER, (_, { first, second }) => { + first.dead = true; + second.dead = true; + hero.incrementPoints(); + + if (isEnemiesDead()) { + eventEmitter.emit(Messages.GAME_END_WIN); + } + }); + + eventEmitter.on(Messages.COLLISION_ENEMY_HERO, (_, { enemy }) => { + enemy.dead = true; + hero.decrementLife(); + if (isHeroDead()) { + eventEmitter.emit(Messages.GAME_END_LOSS); + return; // loss before victory + } + if (isEnemiesDead()) { + eventEmitter.emit(Messages.GAME_END_WIN); + } + }); + + eventEmitter.on(Messages.GAME_END_WIN, () => { + endGame(true); + }); + + eventEmitter.on(Messages.GAME_END_LOSS, () => { + endGame(false); + }); + ``` + +1. **Ajouter de nouveaux types de messages**. Ajoutez ces messages à l'objet constantes : + + ```javascript + GAME_END_LOSS: "GAME_END_LOSS", + GAME_END_WIN: "GAME_END_WIN", + ``` + +1. **Ajouter le code de redémarrage** code qui redémarre le jeu à la pression d'un bouton sélectionné. + + 1. **Écouter la touche pressée `Enter`**. Modifiez l'eventListener de votre fenêtre pour écouter cette pression : + + ```javascript + else if(evt.key === "Enter") { + eventEmitter.emit(Messages.KEY_EVENT_ENTER); + } + ``` + + 1. **Ajouter un message de redémarrage**. Ajoutez ce message à votre constante de messages : + + ```javascript + KEY_EVENT_ENTER: "KEY_EVENT_ENTER", + ``` + +1. **Mettre en œuvre les règles du jeu**. Mettez en œuvre les règles du jeu suivantes : + + 1. **Condition de victoire du joueur**. Lorsque tous les navires ennemis sont détruits, affichez un message de victoire. + + 1. Tout d'abord, créez une fonction `displayMessage()` : + + ```javascript + function displayMessage(message, color = "red") { + ctx.font = "30px Arial"; + ctx.fillStyle = color; + ctx.textAlign = "center"; + ctx.fillText(message, canvas.width / 2, canvas.height / 2); + } + ``` + + 1. Créez une fonction `endGame()` : + + ```javascript + function endGame(win) { + clearInterval(gameLoopId); + + // set a delay so we are sure any paints have finished + setTimeout(() => { + ctx.clearRect(0, 0, canvas.width, canvas.height); + ctx.fillStyle = "black"; + ctx.fillRect(0, 0, canvas.width, canvas.height); + if (win) { + displayMessage( + "Victory!!! Pew Pew... - Press [Enter] to start a new game Captain Pew Pew", + "green" + ); + } else { + displayMessage( + "You died !!! Press [Enter] to start a new game Captain Pew Pew" + ); + } + }, 200) + } + ``` + + 1. **Logique de redémarrage**. Lorsque toutes les vies sont perdues ou que le joueur a gagné la partie, affichez que le jeu peut être redémarré. En outre, redémarrez le jeu lorsque la touche *redémarrage* est enfoncée (vous pouvez décider quelle touche doit être affectée au redémarrage). + + 1. Créez la fonction `resetGame()` : + + ```javascript + function resetGame() { + if (gameLoopId) { + clearInterval(gameLoopId); + eventEmitter.clear(); + initGame(); + gameLoopId = setInterval(() => { + ctx.clearRect(0, 0, canvas.width, canvas.height); + ctx.fillStyle = "black"; + ctx.fillRect(0, 0, canvas.width, canvas.height); + drawPoints(); + drawLife(); + updateGameObjects(); + drawGameObjects(ctx); + }, 100); + } + } + ``` + + 1. Ajoutez un appel au `eventEmitter` pour réinitialiser le jeu dans `initGame()`: + + ```javascript + eventEmitter.on(Messages.KEY_EVENT_ENTER, () => { + resetGame(); + }); + ``` + + 1. Ajoutez une fonction `clear()` à l'EventEmitter: + + ```javascript + clear() { + this.listeners = {}; + } + ``` + +👽 💥 🚀 Félicitations, capitaine ! Ton jeu est terminé ! Bien joué ! 🚀 💥 👽 + +--- + +## 🚀 Défi + +Ajoutez un son ! Pouvez-vous ajouter un son pour améliorer votre jeu, par exemple lorsqu'un laser est touché, ou lorsque le héros meurt ou gagne ? Jetez un coup d'œil à ce [bac à sable](https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_audio_play) pour apprendre à jouer un son en utilisant JavaScript. + +## Quiz post-lecture + +[Quiz post-lecture](https://happy-mud-02d95f10f.azurestaticapps.net/quiz/40?loc=fr) + +## Révision et autoformation + +Votre mission consiste à créer un nouveau jeu type. Explorez donc certains des jeux intéressants qui existent pour voir quel type de jeu vous pourriez créer. + +## Travail à faire + +[Créer un jeu type](assignment.fr.md) From 45a1b1bd0d477fe876ee39fdc157dba4fefc7702 Mon Sep 17 00:00:00 2001 From: petemadis <44151476+petemadis@users.noreply.github.com> Date: Fri, 29 Oct 2021 23:59:58 +0800 Subject: [PATCH 02/29] [Translation] - Filipino (#457) * [Translation] - Filipino * Update README.fil.md * Fix the said changes Fix the the said changes and add translations on the Lessons section * Fixed links Co-authored-by: genepride --- translations/README.fil.md | 100 +++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 translations/README.fil.md diff --git a/translations/README.fil.md b/translations/README.fil.md new file mode 100644 index 00000000..f2cbbd47 --- /dev/null +++ b/translations/README.fil.md @@ -0,0 +1,100 @@ +[![GitHub license](https://img.shields.io/github/license/microsoft/Web-Dev-For-Beginners.svg)](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE) +[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/) +[![GitHub issues](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/) +[![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/) +[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) + +[![GitHub watchers](https://img.shields.io/github/watchers/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Watch&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/) +[![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/) +[![GitHub stars](https://img.shields.io/github/stars/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/) + + +# Web Development para sa mga Nagsisimula - Kurikulum + +Ang Azure Cloud Advocates sa Microsoft ay nalulugod na mag-alok ng 12-linggo, 24-aralin na curriculum tungkol sa JavaScript, CSS, at HTML basics. Kasama sa bawat aralin ang mga pagsusulit bago at pagkatapos ng aralin, nakasulat na mga tagubilin upang makumpleto ang aralin, isang solusyon, isang takdang-aralin at higit pa. Ang aming project-based na pedagogy ay nagbibigay-daan sa iyo na matuto habang nagtatayo, isang napatunayang paraan para sa mga bagong kasanayan. + +**Taos pusong pasasalamat sa aming mga may-akda Jen Looper, Chris Noring, Christopher Harrison, Jasmine Greenaway, Yohan Lasorsa, Floor Drees, at sketchnote artist Tomomi Imura!** + +# Simula + +> **Mga Guro**, mayroon kaming [included some suggestions](../for-teachers.md) kung paano gamitin ang curriculum na ito. Gusto namin ang iyong feedback [sa aming discussion forum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! + +> **Mga mag-aaral**, para magamit ang curriculum na ito nang mag-isa, i-fork ang buong repo at kumpletuhin ang mga pagsasanay nang mag-isa, simula sa pagsusulit bago ang lecture, pagkatapos ay basahin ang lecture at kumpletuhin ang iba pang aktibidad. Subukang lumikha ng mga proyekto sa pamamagitan ng pag-unawa sa mga aralin sa halip na pagkopya ng code ng solusyon; gayunpaman, ang code na iyon ay magagamit sa mga folder ng /solutions sa bawat aralin na nakatuon sa proyekto. Ang isa pang ideya ay ang bumuo ng isang grupo ng pag-aaral kasama ang mga kaibigan at sabay-sabay na suriin ang nilalaman. Para sa karagdagang pag-aaral, inirerekomenda namin ang [Microsoft Learn](https://docs.microsoft.com/users/jenlooper-2911/collections/jg2gax8pzd6o81?WT.mc_id=academic-13441-cxa) and by watching the videos mentioned below. + +[![Promo video](../screenshot.png)](https://youtube.com/watch?v=R1wrdtmBSII "Promo video") + +> 🎥 I-click ang larawan sa itaas para sa isang video tungkol sa proyekto at sa mga taong lumikha nito! + +## Pedagogy + +Pumili kami ng dalawang pedagogical tenets habang binubuo ang curriculum na ito: pagtiyak na ito ay batay sa proyekto at kasama nito ang madalas na mga pagsusulit. Sa pagtatapos ng seryeng ito, makakagawa ang mga mag-aaral ng laro sa pag-type, virtual terrarium, extension ng browser na 'berde', uri ng larong 'space invaders', at banking app na uri ng negosyo, at matututunan nila ang mga pangunahing kaalaman sa JavaScript. , HTML, at CSS kasama ang modernong toolchain ng web developer ngayon. + +> 🎓 Maaari mong kunin ang mga unang aralin sa kurikulum na ito bilang a [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101?WT.mc_id=academic-13441-cxa) on Microsoft Learn! + +Sa pamamagitan ng pagtiyak na ang nilalaman ay naaayon sa mga proyekto, ang proseso ay ginagawang mas nakakaengganyo para sa mga mag-aaral at ang pagpapanatili ng mga konsepto ay madaragdagan. Sumulat din kami ng ilang panimulang aralin sa mga pangunahing kaalaman sa JavaScript upang ipakilala ang mga konsepto, na ipinares sa video mula sa "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript?WT.mc_id=academic-13441-cxa)" collection of video tutorials, some of whose authors contributed to this curriculum. + +Bilang karagdagan, ang isang mababang-stakes na pagsusulit bago ang isang klase ay nagtatakda ng intensyon ng mag-aaral sa pag-aaral ng isang paksa, habang ang pangalawang pagsusulit pagkatapos ng klase ay nagsisiguro ng karagdagang pagpapanatili. Ang kurikulum na ito ay idinisenyo upang maging flexible at masaya at maaaring kunin nang buo o bahagi. Ang mga proyekto ay nagsisimula sa maliit at nagiging mas kumplikado sa pagtatapos ng 12 linggong ikot. + +Bagama't sinadya naming iwasan ang pagpapakilala ng mga balangkas ng JavaScript upang makapag-concentrate sa mga pangunahing kasanayang kailangan bilang isang web developer bago magpatibay ng isang balangkas, isang magandang susunod na hakbang sa pagkumpleto ng kurikulum na ito ay ang pag-aaral tungkol sa Node.js sa pamamagitan ng isa pang koleksyon ng mga video: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs?WT.mc_id=academic-13441-cxa)". + +> Hanapin ang aming [Code of Conduct](../CODE_OF_CONDUCT.md), [Contributing](../CONTRIBUTING.md), at [Translation](../TRANSLATIONS.md) mga alituntunin. Tinatanggap namin ang iyong nakabubuo na feedback! +> +## Kasama sa bawat aralin ang: + +- optional sketchnote +- optional supplemental video +- pre-lesson warmup quiz +- written lesson +- for project-based lessons, step-by-step guides on how to build the project +- knowledge checks +- a challenge +- supplemental reading +- assignment +- post-lesson quiz + +> **Isang tala tungkol sa mga pagsusulit**: Ang lahat ng mga pagsusulit ay nakapaloob [in this app](https://happy-mud-02d95f10f.azurestaticapps.net/), para sa 48 kabuuang pagsusulit ng tatlong tanong bawat isa. Ang mga ito ay naka-link mula sa loob ng mga aralin ngunit ang pagsusulit app ay maaaring patakbuhin nang lokal; sundin ang panuto sa `quiz-app` folder. Unti-unti silang na-localize. + +## Mga aralin + +| | Pangalan ng proyekto | Mga Konseptong Itinuro | Mga Layunin sa pag-aaral | Nakaugnay na Aralin | May-akda | +| :---: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | +| 01 | Nagsisimula | Panimula sa Programming at Tools of the Trade | Matutunan ang mga pangunahing batayan sa likod ng karamihan sa mga programming language at tungkol sa software na tumutulong sa mga propesyonal na developer na gawin ang kanilang mga trabaho | [Panimula sa Programming Languages at Tools of the Trade](/1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | Nagsisimula | Ang mga pangunahing kaalaman ng GitHub, kasama ang pakikipagtulungan sa isang team | Paano gamitin ang GitHub sa iyong proyekto, kung paano makipagtulungan sa iba sa isang code base | [Panimula sa GitHub](/1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | Nagsisimula | Accessibility | Alamin ang mga pangunahing kaalaman sa web accessibility | [Mga Pangunahing Kakayahan](/1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | JS Basics | Mga Uri ng Data ng JavaScript | Ang mga pangunahing kaalaman ng mga uri ng data ng JavaScript | [Uri ng data](/2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | JS Basics | Mga Kakayahan at Paraan | Matuto tungkol sa mga function at pamamaraan para pamahalaan ang logic flow ng isang application | [Functions and Methods](/2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher | +| 06 | JS Basics | Paggawa ng mga Desisyon sa JS | Matutunan kung paano gumawa ng mga kundisyon sa iyong code gamit ang mga paraan ng paggawa ng desisyon | [Paggawa ng mga Desisyon](/2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | JS Basics | Mga Array at Loop | Makipagtulungan sa data gamit ang mga arrays at loops in JavaScript | [Mga Array at Loop](/2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [Terrarium](/3-terrarium/solution/README.md) | HTML sa Practice | Buuin ang HTML upang lumikha ng isang online na terrarium, na nakatuon sa pagbuo ng isang layout | [Panimula sa HTML](/3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrarium](/3-terrarium/solution/README.md) | CSS sa Practice | Buuin ang CSS upang mai-istilo ang online na terrarium, na tumutuon sa mga pangunahing kaalaman ng CSS kabilang ang paggawa ng page na tumutugon | [Panimula sa CSS](/3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrarium](/3-terrarium/solution) | Mga Pagsasara ng JavaScript, pagmamanipula ng DOM | Buuin ang JavaScript upang gawing function ang terrarium bilang isang drag/drop interface, na tumutuon sa mga pagsasara at pagmamanipula ng DOM | [Mga Pagsasara ng JavaScript, pagmamanipula ng DOM](/3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Typing Game](/4-typing-game/solution) | Build a Typing Game | Matutunan kung paano gumamit ng mga kaganapan sa keyboard upang himukin ang lohika ng iyong JavaScript app | [Programming na Batay sa Kaganapan](/4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Green Browser Extension](/5-browser-extension/solution) | Nagtatrabaho sa Mga Browser | Matutunan kung paano gumagana ang mga browser, ang kanilang kasaysayan, at kung paano scaffold ang mga unang elemento ng isang extension ng browser | [Tungkol sa Mga Browser](/5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Green Browser Extension](/5-browser-extension/solution) | Pagbuo ng form, pagtawag ng API at pag-iimbak ng mga variable sa lokal na storage | Buuin ang mga elemento ng JavaScript ng iyong extension ng browser upang tumawag sa isang API gamit ang mga variable na nakaimbak sa lokal na storage | [APIs, Forms, at Local Storage](/5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Green Browser Extension](/5-browser-extension/solution) | Mga proseso sa background sa browser, pagganap ng web | Gamitin ang mga proseso sa background ng browser upang pamahalaan ang icon ng extension; alamin ang tungkol sa pagganap ng web at ilang mga pag-optimize na gagawin | [Mga Gawain sa Background at Pagganap](/5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Space Game](/6-space-game/solution) | Higit pang Advanced na Pagbuo ng Laro gamit ang JavaScript | Alamin ang tungkol sa Inheritance gamit ang parehong Mga Klase at Komposisyon at ang pattern ng Pub/Sub, bilang paghahanda sa pagbuo ng isang laro | [Panimula sa Advanced na Pagbuo ng Laro](/6-space-game/1-introduction/README.md) | Chris | +| 16 | [Space Game](/6-space-game/solution) | Pagguhit sa canvas | Matuto tungkol sa Canvas API, na ginagamit upang gumuhit ng mga elemento sa isang screen | [Pagguhit sa Canvas](/6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Space Game](/6-space-game/solution) | Paglipat ng mga elemento sa paligid ng screen | Tuklasin kung paano makakakuha ng paggalaw ang mga elemento gamit ang mga cartesian coordinates at ang Canvas API | [Paglipat ng mga Elemento](/6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Space Game](/6-space-game/solution) | Pagtuklas ng banggaan | Gawing magbanggaan at mag-react ang mga elemento sa isa't isa gamit ang mga keypress at magbigay ng cooldown function para matiyak ang performance ng laro | [Collision Detection](/6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Space Game](/6-space-game/solution) | Pagpapanatiling Kalidad | Magsagawa ng mga kalkulasyon sa matematika batay sa katayuan at pagganap ng laro | [Pagpapanatiling Kalidad](/6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Space Game](/6-space-game/solution) | Pagtapos at i-restart ang laro | Matuto tungkol sa pagtatapos at pag-restart ng laro, kabilang ang paglilinis ng mga asset at pag-reset ng mga variable na value | [Ang Katapusang Kondisyon](/6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Banking App](/7-bank-project/solution) | Mga Template at Ruta ng HTML sa isang Web App | Matutunan kung paano gumawa ng scaffold ng arkitektura ng isang multipage na website gamit ang pagruruta at mga HTML na template | [Mga Template at Ruta ng HTML](/7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Banking App](/7-bank-project/solution) | Bumuo ng isang Login at Registration Form | Matuto tungkol sa pagbuo ng mga form at pagbibigay ng mga gawain sa pagpapatunay | [Forms](/7-bank-project/2-forms/README.md) | Yohan | +| 23 | [Banking App](/7-bank-project/solution) | Paraan ng Pagkuha at Paggamit ng Data | Paano dumadaloy ang data sa loob at labas ng iyong app, kung paano ito kunin, iimbak, at itapon ito | [Data](/7-bank-project/3-data/README.md) | Yohan | +| 24 | [Banking App](/7-bank-project/solution) | Mga Konsepto ng Pamamahala ng Estado | Alamin kung paano napapanatili ng iyong app ang estado at kung paano ito pamahalaan sa pamamagitan ng program | [Estadong Pamamahala](/7-bank-project/4-state-management/README.md) | Yohan | + +## Offline access + +Maaari mong patakbuhin ang dokumentasyong ito offline sa pamamagitan ng paggamit [Docsify](https://docsify.js.org/#/). i-Fork itong repo, [i-install ang Docsify](https://docsify.js.org/#/quickstart) sa iyong lokal na makina, at pagkatapos ay sa root folder ng repo na ito, i-type ang `docsify serve`. Ihahatid ang website sa port 3000 sa iyong localhost: `localhost:3000`. + +## PDF + +Ang isang PDF ng lahat ng mga aralin ay matatagpuan [dito](pdf/readme.pdf) + +## Iba pang Kurikulum + +Ang aming team ay gumagawa ng iba pang kurikulum! Tignan: + +- [Machine Learning for Beginners](https://aka.ms/ml-beginners) +- [IoT for Beginners](https://aka.ms/iot-beginners) +- [Data Science for Beginners](https://aka.ms/datascience-beginners) From c2327b643ebe807534ee460c761fa385f4576e2c Mon Sep 17 00:00:00 2001 From: iluminnatti <55792132+iluminnatti@users.noreply.github.com> Date: Fri, 29 Oct 2021 13:00:51 -0300 Subject: [PATCH 03/29] Portuguese translation of root README (#436) * I've created the README.pt.md with the translation of README.md to portuguese * I've created the README.pt.md with the portugese translation of README.md * changed one link for it to direct the visitor to the portuguese version of for-teachers.md * just corrected a mistake * added the links to the portuguese pages in README.pt.md Co-authored-by: iluminnatti --- translations/README.pt-BR.md | 109 +++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 translations/README.pt-BR.md diff --git a/translations/README.pt-BR.md b/translations/README.pt-BR.md new file mode 100644 index 00000000..d4c0c18e --- /dev/null +++ b/translations/README.pt-BR.md @@ -0,0 +1,109 @@ +[![Licensa Github](https://img.shields.io/github/license/microsoft/Web-Dev-For-Beginners.svg)](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE) +[![Contribuidores](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/) +[![Issues](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/) +[![PRs](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/) +[![Contribuições são bem vindas !](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) + +[![Watchers](https://img.shields.io/github/watchers/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Watch&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/) +[![Forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/) +[![Stars](https://img.shields.io/github/stars/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/) + + +# Desenvolvimento Web para Iniciantes - Programa de Estudos + +Azure Cloud Advocates da Microsoft têm o prazer de oferecer um curso de 12 semanas e 24 lições sobre o básico de JavaScript, CSS e HTML. +Cada lição possiu qizzes pré- e pós-lição , instruções escritas para completar a lição, uma solução, uma tarefa e mais. +Nossa pedagogia baseada em prática permite que você aprenda enquanto construi, uma forma de aprendizado eficaz e comprovada. + +**Grandes agradecimentos aos nossos autores Jen Looper, Chris Noring, Christopher Harrison, Jasmine Greenaway, Yohan Lasorsa, Floor Drees, e Tomomi Imura!** + +# Começando + +> **Professores**, nós incluímos algumas [sugestões](for-teachers.pt.md) sobre como tilizar este curso. Adoraríamos o seu Feedback em nosso [fórum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)! + +> **Estudantes**, para usar esse crrículo por conta própria, faça um fork do repositório inteiro, começando por um qizz pré-aula, veja a aula e então faça o resto das atividades. +Procure fazer os projetos baseado no que aprendeu ao invés de simplesmente copiar a solução que se encontra na pasta de soluções das atividades. +Uma boa opção seria criar um grupo de estudos e completar todos os conteúdos juntos. +Para estudos mais profundos, recomendamos que assista aos vídeos mencionados abaixo e procure pelo [Microsoft Learn](https://docs.microsoft.com/users/jenlooper-2911/collections/jg2gax8pzd6o81?WT.mc_id=academic-13441-cxa). + +[![Promo video](../screenshot.png)](https://youtube.com/watch?v=R1wrdtmBSII "Promo video") + +> 🎥 Clique na imagem acima para acessar um vídeo sobre o projeto e aqueles que o criaram ! + +## Pedagogia + +Nós escolhemos dois princípos pedagógicos enquanto criávamos este curso: Garantir de que era baseado em práticas e que +tivesse quizzes frequentes. +Até o fim deste curso, estudantes terão construído um jogo de digitação, um terrário virtual, ums extensão de navegador 'verde' , um jogo do tipo 'space invaders', e um aplicativo bancário, e terão aprendido o básico de JavaScript, HTML, e CSS com um moderno conjunto de ferramentas do desenvolvimento web dos dias atuais 🎓 !!! + +> 🎓 Você pode tomar as primeiras lições nesse curso como um [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101?WT.mc_id=academic-13441-cxa) no Microsoft Learn! + +Ao garantir que o conteúdo esteja alinhado com os projetos, o processo se torna mais envolvente para os alunos e a retenção dos conceitos será aumentada. Também escrevemos várias lições iniciais em noções básicas de JavaScript para introduzir conceitos, emparelhadas com o vídeo da coleção [accessible ici](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript?WT.mc_id=academic-13441-cxa) de vídeo-aulas, alguns de autores os quais contribuíram para este curso. + +Além disso, um teste simples antes da aula define a intenção do aluno de aprender um tópico, enquanto um segundo teste após a aula garante maior retenção. Este currículo foi projetado para ser flexível e divertido e pode ser realizado no todo ou em partes. Os projetos começam pequenos e tornam-se cada vez mais complexos no final do ciclo de 12 semanas. + +Embora tenhamos evitado propositadamente a introdução de frameworks JavaScript para nos concentrarmos nas habilidades básicas necessárias como desenvolvedor web antes de adotar um framework, uma próxima etapa para concluir este currículo seria aprender sobre Node.js por meio de outra coleção de vídeos: +[Coletânea inicial sobre Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs?WT.mc_id=academic-13441-cxa) + +> Encontre nosso [código de condta](CODE_OF_CONDUCT.md), [guia para contribidores](CONTRIBUTING.md), e [o guia para traduções do curso](TRANSLATIONS.md). +Seu Feedback contrutivo é bem vindo. + +> +## Cada lição inclui : + +- Uma folha de rascunho opcional +- Um vídeo complementar opcional +- Quiz pré-aula para aquecimento +- Aula em versão escrita +- Um desafio +- Uma explicação **bem detalhada (passo a passo)** sobre como contruir o projeto +- Leitura complementar +- Exercícios +- Quiz pós-aula + +> **Nota sobre os qizzes**: todos os qizzes se encontram [aqui](https://happy-mud-02d95f10f.azurestaticapps.net/), um total de 48 quizzes, com 3 questões em cada. +Também podem ser acessados localmente pela pasta `quiz-app`. + +## Lições + +| | Nome do projeto | Conceitos ensinados | Objetivos de aprendizado | Lição | Autor | +| :---: | :------------------------------------------------------: | :--------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------: | :---------------------: | +| 01 | Começando | Introdução à programação | Aprenda os fundamentos básicos por trás da maioria das linguagens de programação e sobre o software que ajuda os desenvolvedores profissionais a fazerem seus trabalhos | [Introdução à programação](/1-getting-started-lessons/1-intro-to-programming-languages/translations/README.pt.md) | Jasmine | +| 02 | Começando | Introdução às bases do Github, incluindo trabalho em equipe | Como usar o GitHub em seu projeto, como colaborar com outras pessoas em uma base de código | [Introdução às bases do Github](/1-getting-started-lessons/2-github-basics/translations/README.pt.md) | Floor | +| 03 | Começando | Acessibilidade | Apprendra as bases da acessibilidade na Web | [Fundamentos da Acessibilidade](/1-getting-started-lessons/3-accessibility/translations/README.pt.md) | Christopher | +| 04 | Básico de JS | Tipos de dados em JavaScript | O básico de dados em JavaScript | [Tipos de dados](/2-js-basics/1-data-types/translations/README.pt.md) | Jasmine | +| 05 | Básico de JS | Funções e métodos | Aprenda sobre Funções e métodos para gerenciar o fluxo de lógica de uma aplicação | [Funções e métodos](/2-js-basics/2-functions-methods/translations/README.pt.md) | Jasmine e Christopher | +| 06 | Básico de JS | Tomando decisões com JS | Aprenda como criar condições em seu código usando métodos de tomada de decisão methods | [Tomando decisões](/2-js-basics/3-making-decisions/translations/README.pt.md) | Jasmine | +| 07 | Básico de JS | Arrays e Loops | Trabalhe com dados usando arrays e loops em JavaScript | [Arrays e Loops](/2-js-basics/4-arrays-loops/translations/README.pt.md) | Jasmine | +| 08 | [Terrarium](/3-terrarium/solution/README.md) | HTML na Prática | Construa o HTML para criar um terrário online, focando em construir um layout | [Introdução a HTML](/3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrarium](/3-terrarium/solution/README.md) | CSS na Prática | Construa o CSS para estilizar o terrário online, focando no básico de inclusão CSS fazendo a página responsiva | [Introdução a CSS](/3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrarium](/3-terrarium/solution) | JavaScript closures, DOM manipulation | Construa o JavaScript para fazer o terrário funcionar como uma interface de arrastar / soltar, focando em fechamentos e manipulação de DOM | [JavaScript Closures, DOM manipulation](/3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Typing Game](/4-typing-game/solution) | Construa um jogo de digitação | Aprenda a usar eventos de teclado para conduzir a lógica de seu aplicativo JavaScript | [Programação Orientada a Eventos](/4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Extensão de navegador verde](/5-browser-extension/solution) | Trabalhando com navegadores | Aprenda como os navegadores funcionam, seu histórico e como organizar os primeiros elementos de uma extensão do navegador | [Sobre navegadores](/5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Extensão de navegador verde](/5-browser-extension/solution) | Construindo um formulário, chamando uma API e armazenando variáveis ​​no armazenamento local | Construa os elementos JavaScript da extensão do seu navegador para chamar uma API usando variáveis ​​armazenadas no armazenamento local | [APIs, Formulários e Armazenamento Local](/5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Extensão de navegador verde](/5-browser-extension/solution) | Processos em segundo plano no navegador, desempenho da web | Use os processos de segundo plano do navegador para gerenciar o ícone da extensão; aprender sobre o desempenho da web e algumas otimizações para fazer | [Tarefas e desempenho em segundo plano](/5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Jogo Espacial](/6-space-game/solution) | Desenvolvimento de jogos mais avançado com JavaScript | Saiba mais sobre herança usando classes e composição e o padrão Pub / Sub, na preparação para a construção de um jogo | [Introdução ao desenvolvimento avançado de um jogo em Javascript](/6-space-game/1-introduction/README.md) | Chris | +| 16 | [Jogo Espacial](/6-space-game/solution) | Desenhar na tela | Saiba mais sobre a API Canvas, usada para desenhar elementos em uma tela | [Desenhando na Tela](/6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Jogo Espacial](/6-space-game/solution) | Movendo elementos pela tela | Descubra como os elementos podem ganhar movimento usando as coordenadas cartesianas e a API Canvas | [Movendo elementos pela Tela](/6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Jogo Espacial](/6-space-game/solution) | Detecção de Colisão | Faça os elementos colidirem e reagirem uns com os outros usando o pressionamento de teclas e fornecer uma função de resfriamento para garantir o desempenho do jogo | [Detecção de Colisão](/6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Jogo Espacial](/6-space-game/solution) | Mantendo a pontuação | Faça cálculos matemáticos com base no status e no desempenho do jogo | [Mantendo a pontuação](/6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Jogo Espacial](/6-space-game/solution) | Terminando e reiniciando o jogo | Saiba mais sobre como encerrar e reiniciar o jogo, incluindo limpeza de ativos e redefinição de valores de variáveis | [A condição de encerramento](/6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Banking App](/7-bank-project/solution) | Templates HTML e rotas em um aplicativo da web | Aprenda a criar o andaime da arquitetura de um site de várias páginas usando modelos de roteamento e HTML | [HTML Templates e Rotas](/7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Banking App](/7-bank-project/solution) | Criar um formulário de Login e Cadastro | Aprenda sobre a construção de formulários e rotinas de validação | [Formulários](/7-bank-project/2-forms/README.md) | Yohan | +| 23 | [Banking App](/7-bank-project/solution) | Métodos de busca e uso de dados | Como os dados fluem para dentro e para fora do seu aplicativo, como buscá-los, armazená-los e descartá-los | [Dados](/7-bank-project/3-data/README.md) | Yohan | +| 24 | [Banking App](/7-bank-project/solution) | Conceitos de Gestão do Estado | Saiba como seu aplicativo mantém o estado e como gerenciá-lo de maneira programática | [Gestão de estados](/7-bank-project/4-state-management/README.md) | Yohan | + +## Acesso offline + +Você pode utilizar essa documentação quando estiver offline através de [Docsify](https://docsify.js.org/#/). Faça um Fork desse repositório, [instale Docsify](https://docsify.js.org/#/quickstart) na sua máquina e digite `docsify serve` na pasta raiz desse repositório. O site estará disponível na porta 3000 em seu host local: `localhost:3000`. + +## PDF + +Um PDF de todas as lições pode ser encontrado [bem aqui](../pdf/readme.pdf) + +## Outros Cursos + +Nossa equipe produziu outros cursos! Veja só : + +- [Machine Learning para iniciantes](https://aka.ms/ml-beginners) +- [IoT para iniciantes](https://aka.ms/iot-beginners) From 80578902aec22169d26a538869dcbdd9abc888ec Mon Sep 17 00:00:00 2001 From: Jen Looper Date: Fri, 29 Oct 2021 12:02:17 -0400 Subject: [PATCH 04/29] Update README.pt-BR.md --- translations/README.pt-BR.md | 1 + 1 file changed, 1 insertion(+) diff --git a/translations/README.pt-BR.md b/translations/README.pt-BR.md index d4c0c18e..f919f670 100644 --- a/translations/README.pt-BR.md +++ b/translations/README.pt-BR.md @@ -107,3 +107,4 @@ Nossa equipe produziu outros cursos! Veja só : - [Machine Learning para iniciantes](https://aka.ms/ml-beginners) - [IoT para iniciantes](https://aka.ms/iot-beginners) +- [Data Science para iniciantes](https://aka.ms/datascience-beginners) From 3280804e0086cfca62c7008ed80b183047f70ad0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9doune=20Siby=20Georges=20Bald=C3=A9?= <40875400+MedouneSGB@users.noreply.github.com> Date: Fri, 29 Oct 2021 16:09:14 +0000 Subject: [PATCH 05/29] Add a french translation for 7-bank-project README #326 (#458) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Create a README.fr.md Creating a french translated README * Update README.fr.md * Update README.fr.md * Update README.fr.md * Fix typo & references . Fix typo ("utilisée") . Udpate links to French references. * Update README.fr.md --- 7-bank-project/translations/README.fr.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 7-bank-project/translations/README.fr.md diff --git a/7-bank-project/translations/README.fr.md b/7-bank-project/translations/README.fr.md new file mode 100644 index 00000000..f06b295f --- /dev/null +++ b/7-bank-project/translations/README.fr.md @@ -0,0 +1,21 @@ +# :dollar: Créer une banque + +Dans ce projet, vous apprendrez à créer une banque fictive. Ces leçons comprennent des instructions sur la façon de mettre en page une application Web et de fournir des itinéraires, de construire des formulaires, de gérer l'état et de récupérer les données d'une API à partir de laquelle vous pouvez récupérer les données de la banque. + +| ![Screen1](../images/screen1.png) | ![Screen2](../images/screen2.png) | +|--------------------------------|--------------------------------| + +## Leçons + +1. [Modèles HTML et itinéraires dans une application Web](../1-template-route/translations/README.fr.md) +2. [Créer un formulaire de connexion et d'inscription](../2-forms/translations/README.fr.md) +3. [Méthodes d'extraction et d'utilisation des données](../3-data/translations/README.fr.md) +4. [Concepts de gestion de l'État](../4-state-management/translations/README.fr.md) + +### Crédits + +Ces leçons ont été rédigées avec :hearts: par [Yohan Lasorsa](https://twitter.com/sinedied). + +Si vous souhaitez apprendre comment créer l'[API serveur](../api/translations/README.fr.md) utilisée dans ces leçons, vous pouvez suivre [cette série de videos](https://aka.ms/NodeBeginner) (en particulier les vidéos 17 à 21). + +Vous pouvez également jeter un coup d'œil à [ce tutoriel d'apprentissage interactif](https://aka.ms/learn/express-api). From 7b3f7baa6ee2a49ca76be0ec6011a98ae34653e7 Mon Sep 17 00:00:00 2001 From: peachybutt <44535517+cjjp-sushi@users.noreply.github.com> Date: Sat, 30 Oct 2021 02:23:57 +0800 Subject: [PATCH 06/29] Translate README.md to Filipino Language (#470) Co-authored-by: genepride --- .../translations/README.fil.md | 318 ++++++++++++++++++ 1 file changed, 318 insertions(+) create mode 100644 1-getting-started-lessons/2-github-basics/translations/README.fil.md diff --git a/1-getting-started-lessons/2-github-basics/translations/README.fil.md b/1-getting-started-lessons/2-github-basics/translations/README.fil.md new file mode 100644 index 00000000..02c67338 --- /dev/null +++ b/1-getting-started-lessons/2-github-basics/translations/README.fil.md @@ -0,0 +1,318 @@ +# Panimula sa GitHub + +Sinasaklaw ng araling ito ang mga pangunahing kaalaman ng GitHub, isang platform para mag-host at mamahala ng mga pagbabago sa iyong code. + +![Intro to GitHub](../sketchnotes/webdev101-github.png) +> Sketchnote ni [Tomomi Imura](https://twitter.com/girlie_mac) + +## Pagsusulit bago ang lektura +[Pagsusulit bago ang lektura](https://happy-mud-02d95f10f.azurestaticapps.net/quiz/3) + +## Panimula + +Sa araling ito, tatalakayin natin ang: + +- pagsubaybay sa gawaing ginagawa mo sa iyong makina +- nagtatrabaho sa mga proyekto kasama ang iba +- paano mag-ambag sa open source software + +### Mga kinakailangan + +Bago ka magsimula, kakailanganin mong suriin kung naka-install ang Git. Sa uri ng terminal: +`git --version` + +Kung hindi naka-install ang Git, [download Git](https://git-scm.com/downloads). Pagkatapos, i-setup ang iyong lokal na profile sa Git sa terminal: +* `git config --global user.name "your-name"` +* `git config --global user.email "your-email"` + +Upang tingnan kung naka-configure na ang Git maaari kang mag-type: +`git config --list` + +Kakailanganin mo rin ang isang GitHub account, isang code editor (tulad ng Visual Studio Code), at kakailanganin mong buksan ang iyong terminal (or: command prompt). + +Mag-navigate sa [github.com](https://github.com/) at gumawa ng account kung hindi mo pa nagagawa, o mag-log in at punan ang iyong profile. + +✅ Ang GitHub ay hindi lamang ang code repository sa mundo; may iba pa, ngunit ang GitHub ang pinakakilala + +### Paghahanda + +Kakailanganin mo ang parehong folder na may proyekto ng code sa iyong lokal na makina (laptop o PC), at isang pampublikong imbakan sa GitHub, na magsisilbing halimbawa kung paano mag-ambag sa mga proyekto ng iba. + +--- + +## Pamamahala ng code + +Sabihin nating mayroon kang lokal na folder na may ilang proyekto ng code at gusto mong simulan ang pagsubaybay sa iyong pag-unlad gamit ang git - ang version control system. Inihambing ng ilang tao ang paggamit ng git sa pagsulat ng love letter sa iyong sarili sa hinaharap. Ang pagbabasa ng iyong mga commit na mensahe mga araw o linggo o buwan mamaya, maaalala mo kung bakit ka gumawa ng desisyon, o "rollback" ng isang pagbabago - iyon ay, kapag sumulat ka ng magagandang "commit messages". + +### Gawain: Gumawa ng repository at mag-commit ng code + +1. **Create repository on GitHub**. Sa GitHub.com, sa tab na mga repositoryo, o mula sa kanang bahagi ng navigation bar, hanapin ang **new repo** pindutan. + + 1. Bigyan ng pangalan ang iyong repositoryo (folder). + 1. Piliin **create repository**. + +1. **Navigate to your working folder**. Sa iyong terminal, lumipat sa folder (kilala rin bilang direktoryo) na gusto mong simulan ang pagsubaybay. Uri: + + ```bash + cd [name of your folder] + ``` + +1. **Initialize a git repository**. Sa uri ng iyong proyekto: + + ```bash + git init + ``` + +1. **Check status**. Upang suriin ang katayuan ng iyong uri ng imbakan: + + ```bash + git status + ``` + + ang output ay maaaring magmukhang ganito: + + ```output + Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git checkout -- ..." to discard changes in working directory) + + modified: file.txt + modified: file2.txt + ``` + + Karaniwang ang `git status` Ang command ay nagsasabi sa iyo ng mga bagay tulad ng kung anong mga file ang handa na _save_ sa repo o may mga pagbabago dito na maaaring gusto mong magpatuloy. + +1. **Idagdag ang lahat ng mga file para sa pagsubaybay** + Tinatawag din itong staging file/pagdaragdag ng mga file sa staging area. + + ```bash + git add . + ``` + + The `git add` plus `.` argument indicates that all your files & changes for tracking. + +1. **Magdagdag ng mga napiling file para sa pagsubaybay** + + ```bash + git add [file or folder name] + ``` + + Nakakatulong ito sa amin na magdagdag lamang ng mga napiling file sa staging area kapag ayaw naming i-commit ang lahat ng file nang sabay-sabay. + +1. **Alisin ang lahat ng mga file** + + ```bash + git reset + ``` + + Ang command na ito ay tumutulong sa amin na i-unstage ang lahat ng mga file nang sabay-sabay. + +1. **Alisin ang isang partikular na file** + + ```bash + git reset [file or folder name] + ``` + + Tinutulungan kami ng command na ito na i-unstage lang ang isang partikular na file nang sabay-sabay na hindi namin gustong isama para sa susunod na commit. + +1. **Ipagpatuloy ang iyong trabaho**. Sa puntong ito naidagdag mo ang mga file sa isang tinatawag na _staging area_. Isang lugar kung saan sinusubaybayan ng Git ang iyong mga file. Upang gawing permanente ang pagbabago kailangan mong gawin _commit_ ang mga papeles. Upang gawin ito, lumikha ka ng isang _commit_ kasama ang `git commit` atas. A _commit_ kumakatawan sa isang punto ng pag-save sa kasaysayan ng iyong repo. I-type ang sumusunod upang lumikha ng a _commit_: + + ```bash + git commit -m "first commit" + ``` + + Iko-commit nito ang lahat ng iyong file, idinaragdag ang mensaheng "first commit". Para sa mga commit na mensahe sa hinaharap, gugustuhin mong maging mas mapaglarawan sa iyong paglalarawan upang maihatid kung anong uri ng pagbabago ang iyong ginawa. + +1. **Ikonekta ang iyong lokal na Git repo sa GitHub**. Ang isang Git repo ay mabuti sa iyong makina ngunit sa isang punto gusto mong magkaroon ng backup ng iyong mga file sa isang lugar at mag-imbita rin ng ibang mga tao na magtrabaho kasama mo sa iyong repo. Ang isang magandang lugar para gawin ito ay ang GitHub. Tandaan na nakagawa na kami ng repo sa GitHub kaya ang kailangan lang naming gawin ay ikonekta ang aming lokal na Git repo sa GitHub. Ang utos `git remote add` gagawin lang yan. I-type ang sumusunod na command: + + > Tandaan, bago mo i-type ang command pumunta sa iyong GitHub repo page para mahanap ang repository URL. Gagamitin mo ito sa utos sa ibaba. Palitan `repository_name` gamit ang iyong GitHub URL. + + ```bash + git remote add origin https://github.com/username/repository_name.git + ``` + + Lumilikha ito ng isang _remote_, o koneksyon, pinangalanan "origin" na tumuturo sa GitHub repository na ginawa mo kanina. + +1. **Magpadala ng mga lokal na file sa GitHub**. Sa ngayon ay nakagawa ka ng isang _connection_ sa pagitan ng lokal na repo at ng GitHub repo. Ipadala natin ang mga file na ito sa GitHub gamit ang sumusunod na command `git push`, tulad nito: + + ```bash + git push -u origin main + ``` + + Ipinapadala nito ang iyong mga commit sa iyong "pangunahing" branch sa GitHub. + +1. **Upang magdagdag ng higit pang mga pagbabago**. Kung gusto mong magpatuloy sa paggawa ng mga pagbabago at itulak ang mga ito sa GitHub kakailanganin mo lang gamitin ang sumusunod na tatlong utos: + + ```bash + git add . + git commit -m "type your commit message here" + git push + ``` + + > Tip, Baka gusto mo ring magpatibay ng isang `.gitignore` file upang maiwasan ang mga file na hindi mo gustong subaybayan mula sa paglabas sa GitHub - tulad ng mga talang iyon na iniimbak mo sa parehong folder ngunit walang lugar sa isang pampublikong imbakan. Makakahanap ka ng mga template para sa `.gitignore` files at [.gitignore templates](https://github.com/github/gitignore). + +#### Mag-commit ng mga mensahe + +Ang isang mahusay na linya ng paksa ng Git commit ay kumukumpleto sa sumusunod na pangungusap: +Kung inilapat, gagawin ng commit na ito + +Para sa paksa gamitin ang pautos, kasalukuyang panahunan: "pagbabago" hindi "binago" o "pagbabago". +Tulad ng sa paksa, sa katawan (opsyonal) ay ginagamit din ang imperative, present tense. Dapat isama ng katawan ang motibasyon para sa pagbabago at ihambing ito sa nakaraang pag-uugali. Ipinapaliwanag mo ang `why`, hindi ang `how`. + +✅ Maglaan ng ilang minuto upang mag-surf sa GitHub. Makakahanap ka ba ng talagang mahusay na commit message? Makakahanap ka ba ng talagang minimal? Anong impormasyon sa tingin mo ang pinakamahalaga at kapaki-pakinabang na ihatid sa isang commit message? + +### Gawain: Magtulungan + +Ang pangunahing dahilan ng paglalagay ng mga bagay sa GitHub ay upang gawing posible ang pakikipagtulungan sa ibang mga developer. + +## Paggawa sa mga proyekto kasama ang iba + +Sa iyong imbakan, mag-navigate sa `Insights > Community` upang makita kung paano inihahambing ang iyong proyekto sa mga inirerekomendang pamantayan ng komunidad. + + Narito ang ilang bagay na maaaring mapabuti ang iyong GitHub repo: + - **Description**. Nagdagdag ka ba ng paglalarawan para sa iyong proyekto? + - **README**. Nagdagdag ka ba ng README? Nagbibigay ang GitHub ng gabay para sa pagsulat ng a [README](https://docs.github.com/articles/about-readmes/). + - **Contributing guideline**. Mayroon ba ang iyong proyekto [contributing guidelines](https://docs.github.com/articles/setting-guidelines-for-repository-contributors/), + - **Code of Conduct**. a [Code of Conduct](https://docs.github.com/articles/adding-a-code-of-conduct-to-your-project/), + - **License**. Marahil ang pinakamahalaga, ang [license](https://docs.github.com/articles/adding-a-license-to-a-repository/)? + + +Makikinabang ang lahat ng mapagkukunang ito sa pag-onboard ng mga bagong miyembro ng team. At iyon ang karaniwang mga uri ng mga bagay na tinitingnan ng mga bagong kontribyutor bago man lang tingnan ang iyong code, upang malaman kung ang iyong proyekto ay ang tamang lugar para sa kanila na gugulin ang kanilang oras. + +✅ Ang mga file ng README, bagama't nangangailangan sila ng oras upang maghanda, ay kadalasang napapabayaan ng mga abalang tagapangasiwa. Makakahanap ka ba ng isang halimbawa ng isang partikular na naglalarawan? Tandaan: may ilan [tools to help create good READMEs](https://www.makeareadme.com/) na baka gusto mong subukan. + +### Gawain: Pagsamahin ang ilang code + +Ang mga nag-aambag na doc ay tumutulong sa mga tao na mag-ambag sa proyekto. Ipinapaliwanag nito kung anong mga uri ng mga kontribusyon ang iyong hinahanap at kung paano gumagana ang proseso. Ang mga kontribyutor ay kailangang dumaan sa isang serye ng mga hakbang upang makapag-ambag sa iyong repo sa GitHub: + + +1. **Forking your repo** Malamang na gusto mo ang mga tao _fork_ your project. Ang ibig sabihin ng forking ay paggawa ng replica ng iyong repository sa kanilang profile sa GitHub. +1. **Clone**. Mula doon ay i-clone nila ang proyekto sa kanilang lokal na makina. +1. **Create a branch**. Gusto mong hilingin sa kanila na lumikha ng isang _branch_ para sa kanilang trabaho. +1. **Focus their change on one area**. Hilingin sa mga kontribyutor na ituon ang kanilang mga kontribusyon sa isang bagay sa isang pagkakataon - sa paraang iyon ang mga pagkakataong magagawa mo _merge_ sa kanilang trabaho ay mas mataas. Isipin na magsulat sila ng pag-aayos ng bug, magdagdag ng bagong feature, at mag-update ng ilang pagsubok - paano kung gusto mo, o maaari lang ipatupad ang 2 sa 3, o 1 sa 3 pagbabago? + +✅ Isipin ang isang sitwasyon kung saan ang mga sangay ay partikular na kritikal sa pagsulat at pagpapadala ng magandang code. Anong mga use case ang maiisip mo? + +> Tandaan, maging ang pagbabagong gusto mong makita sa mundo, at lumikha din ng mga sangay para sa iyong sariling gawain. Ang anumang commit na gagawin mo ay gagawin sa branch na kasalukuyan mong kinaroroonan “checked out” sa. Gamitin `git status` para makita kung saang branch yan. + +Dumaan tayo sa isang daloy ng trabaho ng contributor. Ipagpalagay na ang nag-ambag ay mayroon na _forked_ at _cloned_ ang repo para magkaroon sila ng Git repo na handang gawin, sa kanilang lokal na makina: + +1. **Create a branch**. Gamitin ang command `git branch` upang lumikha ng isang sangay na maglalaman ng mga pagbabagong ibig nilang i-ambag: + + ```bash + git branch [branch-name] + ``` + +1. **Switch to working branch**. Lumipat sa tinukoy na sangay at i-update ang gumaganang direktoryo gamit ang `git checkout`: + + ```bash + git checkout [branch-name] + ``` + +1. **Do work**. Sa puntong ito gusto mong idagdag ang iyong mga pagbabago. Huwag kalimutang sabihin kay Git ang tungkol dito gamit ang mga sumusunod na utos: + + ```bash + git add . + git commit -m "my changes" + ``` + + Siguraduhing bibigyan mo ng magandang pangalan ang iyong commit, para sa iyong kapakanan pati na rin ang maintainer ng repo na tinutulungan mo. + +1. **Combine your work with the `main` branch**. Sa ilang mga punto ay tapos ka nang magtrabaho at gusto mong pagsamahin ang iyong trabaho sa iyong trabaho `main` sangay. Ang `main` maaaring nagbago ang branch samantala kaya siguraduhing i-update mo muna ito sa pinakabago gamit ang mga sumusunod na command: + + ```bash + git checkout main + git pull + ``` + + Sa puntong ito gusto mong tiyakin na anuman _conflicts_, mga sitwasyon kung saan hindi madali ang Git _combine_ ang mga pagbabago ay nangyayari sa iyong nagtatrabaho na sangay. Samakatuwid, patakbuhin ang sumusunod na mga atas: + + ```bash + git checkout [branch_name] + git merge main + ``` + + Dadalhin nito ang lahat ng pagbabago mula sa `main` into your branch and sana matuloy mo na lang. Kung hindi, sasabihin sa iyo ng VS Code kung nasaan ang Git _confused_ at babaguhin mo lang ang mga apektadong file para masabi kung aling content ang pinakatumpak. + +1. **Send your work to GitHub**. Ang pagpapadala ng iyong trabaho sa GitHub ay nangangahulugan ng dalawang bagay. Itulak ang iyong sangay sa iyong repo at pagkatapos ay magbukas ng isang PR, Hiling na Hilahin. + + ```bash + git push --set-upstream origin [branch-name] + ``` + + Ang utos sa itaas ay lumilikha ng sangay sa iyong forked repo. + +1. **Open a PR**. Susunod, gusto mong magbukas ng PR. Ginagawa mo iyon sa pamamagitan ng pag-navigate sa forked repo sa GitHub. Makakakita ka ng indikasyon sa GitHub kung saan itatanong nito kung gusto mong lumikha ng bagong PR, i-click mo iyon at dadalhin ka sa isang interface kung saan maaari mong baguhin ang pamagat ng commit message, bigyan ito ng mas angkop na paglalarawan. Ngayon ay makikita ng tagapangasiwa ng repo na iyong tinira ang PR na ito at _fingers crossed_ sila ay pahalagahan at _merge_ your PR. Isa ka na ngayong contributor, yay :) + +1. **Clean up**. Ito ay itinuturing na mabuting kasanayan sa _clean up_ pagkatapos mong matagumpay na pagsamahin ang isang PR. Gusto mong linisin ang iyong lokal na sangay at ang sangay na itinulak mo sa GitHub. Una, tanggalin natin ito nang lokal gamit ang sumusunod na utos: + + ```bash + git branch -d [branch-name] + ``` + + Tiyaking pupunta ka sa pahina ng GitHub para sa susunod na forked repo at alisin ang malayong sangay na itinulak mo lang dito. + +`Pull request` parang silly term kasi gusto mo talagang i-push yung mga pagbabago mo sa project. Ngunit kailangang isaalang-alang ng maintainer (may-ari ng proyekto) o pangunahing koponan ang iyong mga pagbabago bago ito isama sa "pangunahing" sangay ng proyekto, kaya talagang humihiling ka ng desisyon sa pagbabago mula sa isang maintainer. + +Ang pull request ay ang lugar upang paghambingin at pag-usapan ang mga pagkakaibang ipinakilala sa isang sangay na may mga review, komento, pinagsamang pagsubok, at higit pa. Ang isang mahusay na kahilingan sa paghila ay sumusunod sa halos kaparehong mga panuntunan gaya ng isang commit na mensahe. Maaari kang magdagdag ng reference sa isang isyu sa issue tracker, kapag ang iyong trabaho halimbawa ay nag-ayos ng isyu. Ginagawa ito gamit ang a `#` na sinusundan ng bilang ng iyong isyu. Halimbawa `#97`. + +🤞Pinilit na ang lahat ng mga tseke ay pumasa at ang (mga) may-ari ng proyekto ay pinagsama ang iyong mga pagbabago sa proyekto🤞 + +I-update ang iyong kasalukuyang lokal na nagtatrabaho na sangay sa lahat ng mga bagong commit mula sa kaukulang remote na sangay sa GitHub: + +`git pull` + +## Paano mag-ambag sa open source + +Una, maghanap tayo ng isang imbakan (o **repo**) sa GitHub ng interes sa iyo at kung saan mo gustong mag-ambag ng pagbabago. Gusto mong kopyahin ang mga nilalaman nito sa iyong makina. + +✅ Ang isang mahusay na paraan upang makahanap ng 'beginner-friendly' repos ay ang [search by the tag 'good-first-issue'](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/). + +![Copy a repo locally](images/clone_repo.png) + +Mayroong ilang mga paraan ng pagkopya ng code. Ang isang paraan ay ang "i-clone" ang mga nilalaman ng repository, gamit ang HTTPS, SSH, o gamit ang GitHub CLI (Command Line Interface). + +Buksan ang iyong terminal at i-clone ang repositoryo tulad nito: +`git clone https://github.com/ProjectURL` + +Upang magtrabaho sa proyekto, lumipat sa kanang folder: +`cd ProjectURL` + +Maaari mo ring buksan ang buong proyekto gamit ang [Codespaces](https://github.com/features/codespaces), Ang naka-embed na code editor / cloud development environment ng GitHub, o [GitHub Desktop](https://desktop.github.com/). + +Panghuli, maaari mong i-download ang code sa isang naka-zip na folder. + +### Ilang mas kawili-wiling bagay tungkol sa GitHub + +Maaari mong lagyan ng star, panoorin at/o "i-fork" ang anumang pampublikong repository sa GitHub. Mahahanap mo ang iyong mga naka-star na repository sa kanang tuktok na drop-down na menu. Ito ay tulad ng pag-bookmark, ngunit para sa code. + +Ang mga proyekto ay may tagasubaybay ng isyu, karamihan ay nasa GitHub sa tab na "Issues" maliban kung iba ang ipinahiwatig, kung saan tinatalakay ng mga tao ang mga isyung nauugnay sa proyekto. At ang tab na Pull Requests ay kung saan tinatalakay at sinusuri ng mga tao ang mga pagbabagong kasalukuyang isinasagawa. + +Maaaring magkaroon din ng talakayan ang mga proyekto sa mga forum, mailing list, o mga channel ng chat tulad ng Slack, Discord o IRC. + +✅ Tingnan ang iyong bagong GitHub repo at subukan ang ilang bagay, tulad ng pag-edit ng mga setting, pagdaragdag ng impormasyon sa iyong repo, at paggawa ng proyekto (tulad ng Kanban board). Marami kang magagawa! + +--- + +## 🚀 Hamon + +Ipares sa isang kaibigan para magtrabaho sa code ng isa't isa. Gumawa ng proyekto nang magkakasama, mag-fork ng code, gumawa ng mga sangay, at magsama ng mga pagbabago. + +## Pagsusulit pagkatapos ng Lektura +[Post-lecture quiz](https://happy-mud-02d95f10f.azurestaticapps.net/quiz/4) + +## Pagsusuri at Sariling pag-aaral + +Magbasa pa tungkol sa [contributing to open source software](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution). + +[Git cheatsheet](https://training.github.com/downloads/github-git-cheat-sheet/). + +Magsanay, magsanay, magsanay. Ang GitHub ay may mahusay na mga landas sa pag-aaral na magagamit sa pamamagitan ng [lab.github.com](https://lab.github.com/): + +- [First Week on GitHub](https://lab.github.com/githubtraining/first-week-on-github) + +Makakahanap ka rin ng mas advanced na mga lab. + +## Takdang-aralin + +Kumpletuhin [the First Week on GitHub training lab](https://lab.github.com/githubtraining/first-week-on-github) From 68b7ba9b35c06ef934a0653acf1a072f9e0c9b9b Mon Sep 17 00:00:00 2001 From: genepride <44505677+genepride@users.noreply.github.com> Date: Sat, 30 Oct 2021 02:25:09 +0800 Subject: [PATCH 07/29] Add Translation to Filipion (#460) --- .../translations/README.fil.md | 198 ++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 1-getting-started-lessons/1-intro-to-programming-languages/translations/README.fil.md diff --git a/1-getting-started-lessons/1-intro-to-programming-languages/translations/README.fil.md b/1-getting-started-lessons/1-intro-to-programming-languages/translations/README.fil.md new file mode 100644 index 00000000..5fe8129a --- /dev/null +++ b/1-getting-started-lessons/1-intro-to-programming-languages/translations/README.fil.md @@ -0,0 +1,198 @@ +# Panimula sa Programming Language at Tools of the Trade + +Sinasaklaw ng araling ito ang mga pangunahing kaalaman sa mga programming language. Ang mga paksang sakop dito ay nalalapat sa karamihan ng mga modernong programming language ngayon. Sa seksyong 'Tools of the Trade', matututunan mo ang tungkol sa kapaki-pakinabang na software na tumutulong sa iyo bilang isang developer. + +![Intro Programming](/sketchnotes/webdev101-programming.png) +> Sketchnote by [Tomomi Imura](https://twitter.com/girlie_mac) + +## Pagsusulit bago ang lektura +[Pre-lecture quiz](https://happy-mud-02d95f10f.azurestaticapps.net/quiz/1) + +## Panimula + +Sa araling ito, tatalakayin natin: + +- Ano ang programming? +- Mga uri ng programming language +- Mga pangunahing elemento ng isang programa +- Kapaki-pakinabang na software at tooling para sa propesyonal na developer + +> Maaari mong kunin ang araling ito [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/introduction-programming?WT.mc_id=academic-13441-cxa)! + +## Ano ang Programming? + +Ang programming (kilala rin bilang coding) ay ang proseso ng pagsulat ng mga tagubilin sa isang device, gaya ng computer o mobile device. Isinulat namin ang mga tagubiling ito gamit ang isang programming language, na pagkatapos ay binibigyang-kahulugan ng device. Ang mga hanay ng mga tagubiling ito ay maaaring tukuyin ng iba't ibang pangalan, ngunit ang *program*, *computer program*, *application (app)*, at *executable* ay ilang sikat na pangalan. + +Ang *program* ay maaaring maging anumang nakasulat gamit ang code; Ang mga website, laro, at app ng telepono ay mga programa. Bagama't posibleng gumawa ng program nang walang pagsusulat ng code, ang pinagbabatayan na lohika ay binibigyang-kahulugan sa device at ang logic na iyon ay malamang na nakasulat gamit ang code. Ang isang program na *tumatakbo* o *nagpapatupad ng code* ay nagsasagawa ng mga tagubilin. Ang device na kasalukuyang binabasa mo ang araling ito ay nagpapatakbo ng isang programa upang i-print ito sa iyong screen. + +✅ Gumawa ng kaunting pananaliksik: sino ang itinuturing na unang computer programmer sa mundo? + +## Mga Wika sa Programming + +Ang mga programming language ay may pangunahing layunin: para sa mga developer na bumuo ng mga tagubilin para ipadala sa isang device. Ang mga device lang ang makakaintindi ng binary (1s at 0s), at para sa *karamihan* na mga developer, hindi iyon isang napakahusay na paraan para makipag-usap. Ang mga programming language ay isang sasakyan para sa komunikasyon sa pagitan ng mga tao at mga computer. + +Ang mga programming language ay may iba't ibang format at maaaring magsilbi ng iba't ibang layunin. Halimbawa, ang JavaScript ay pangunahing ginagamit para sa mga web application, habang ang Bash ay pangunahing ginagamit para sa mga operating system. + +*Mababang antas ng mga wika* ay karaniwang nangangailangan ng mas kaunting mga hakbang kaysa sa *mataas na antas ng mga wika* para sa isang device upang bigyang-kahulugan ang mga tagubilin. Gayunpaman, ang nagpapasikat sa mga mataas na antas ng wika ay ang kanilang pagiging madaling mabasa at suporta. Ang JavaScript ay itinuturing na isang mataas na antas ng wika. + +Ang sumusunod na code ay naglalarawan ng pagkakaiba sa pagitan ng mataas na antas ng wika na may JavaScript at mababang antas ng wika na may ARM assembly code. + +```javascript +let number = 10 +let n1 = 0, n2 = 1, nextTerm; + +for (let i = 1; i <= number; i++) { + console.log(n1); + nextTerm = n1 + n2; + n1 = n2; + n2 = nextTerm; +} +``` + +```c + area ascen,code,readonly + entry + code32 + adr r0,thumb+1 + bx r0 + code16 +thumb + mov r0,#00 + sub r0,r0,#01 + mov r1,#01 + mov r4,#10 + ldr r2,=0x40000000 +back add r0,r1 + str r0,[r2] + add r2,#04 + mov r3,r0 + mov r0,r1 + mov r1,r3 + sub r4,#01 + cmp r4,#00 + bne back + end +``` + +Maniwala ka man o hindi, *pareho silang gumagawa ng parehong bagay*: pag-print ng Fibonacci sequence hanggang 10. + +✅ Ang Fibonacci sequence ay [tinukoy](https://en.wikipedia.org/wiki/Fibonacci_number) bilang isang hanay ng mga numero na ang bawat numero ay ang kabuuan ng dalawang nauna, simula sa 0 at 1. + +## Mga elemento ng isang programa + +Ang nag-iisang pagtuturo sa isang programa ay tinatawag na *pahayag* at kadalasang magkakaroon ng character o line spacing na nagmamarka kung saan nagtatapos ang pagtuturo, o *nagtatapos*. Nag-iiba-iba ang paraan ng pagwawakas ng isang programa sa bawat wika. + +Karamihan sa mga program ay umaasa sa paggamit ng data mula sa isang user o sa ibang lugar, kung saan ang mga pahayag ay maaaring umasa sa data upang magsagawa ng mga tagubilin. Maaaring baguhin ng data kung paano kumikilos ang isang program, kaya ang mga programming language ay may paraan upang pansamantalang mag-imbak ng data na magagamit sa ibang pagkakataon. Ang data na ito ay tinatawag na *mga variable*. Ang mga variable ay mga pahayag na nagtuturo sa isang device na mag-save ng data sa memorya nito. Ang mga variable sa mga programa ay katulad ng mga nasa algebra, kung saan mayroon silang natatanging pangalan at ang kanilang halaga ay maaaring magbago sa paglipas ng panahon. + +May posibilidad na ang ilang pahayag ay hindi isasagawa ng isang device. Ito ay karaniwang sa pamamagitan ng disenyo kapag isinulat ng developer o hindi sinasadya kapag may nangyaring hindi inaasahang error. Ang ganitong uri ng kontrol ng isang application ay ginagawa itong mas matatag at mapanatili. Karaniwang nangyayari ang mga pagbabagong ito sa kontrol kapag natugunan ang ilang partikular na desisyon. Ang isang karaniwang pahayag sa mga modernong programming language upang kontrolin kung paano pinapatakbo ang isang programa ay ang `if..else` na pahayag. + +✅ Matututo ka pa tungkol sa ganitong uri ng pahayag sa mga susunod na aralin + +## Mga Tool ng Kalakalan + +[![Tools of the Trade](https://img.youtube.com/vi/69WJeXGBdxg/0.jpg)](https://youtube.com/watch?v=69WJeXGBdxg "Tools of the Trade") + +> 🎥 I-click ang larawan sa itaas para sa isang video tungkol sa tooling + +Sa seksyong ito, matututunan mo ang tungkol sa ilang software na maaari mong makitang lubhang kapaki-pakinabang habang sinisimulan mo ang iyong paglalakbay sa propesyonal na pag-unlad. + +Ang **development environment** ay isang natatanging hanay ng mga tool at feature na madalas gamitin ng developer kapag nagsusulat ng software. Ang ilan sa mga tool na ito ay na-customize para sa isang partikular na pangangailangan ng developer, at maaaring magbago sa paglipas ng panahon kung babaguhin ng developer ang mga priyoridad sa trabaho o personal na mga proyekto, o kapag gumagamit sila ng ibang programming language. Ang mga development environment ay kasing kakaiba ng mga developer na gumagamit ng mga ito. + +### Editors + +Ang isa sa mga pinakamahalagang tool para sa pagbuo ng software ay ang editor. Ang mga editor ay kung saan mo isusulat ang iyong code at kung minsan kung saan mo tatakbo ang iyong code. + +Umaasa ang mga developer sa mga editor para sa ilang karagdagang dahilan: + +- *Debugging* Pagtuklas ng mga bug at error sa pamamagitan ng hakbang sa code, linya sa linya. Ang ilang mga editor ay may mga kakayahan sa pag-debug, o maaaring i-customize at idagdag para sa mga partikular na programming language. +- *Syntax highlighting* Nagdaragdag ng mga kulay at pag-format ng teksto sa code, ginagawang mas madaling basahin. Pinapayagan ng karamihan sa mga editor ang naka-customize na pag-highlight ng syntax. +- *Extensions and Integrations* Mga karagdagan na dalubhasa para sa mga developer, ng mga developer, para sa access sa mga karagdagang tool na hindi naka-built sa base editor. Halimbawa, kailangan din ng maraming developer ng paraan para idokumento ang kanilang code at ipaliwanag kung paano ito gumagana at mag-i-install ng extension ng spell check upang suriin kung may mga typo. Karamihan sa mga karagdagan na ito ay inilaan para sa paggamit sa loob ng isang partikular na editor, at karamihan sa mga editor ay may kasamang paraan upang maghanap ng mga available na extension. +- *Customization* Karamihan sa mga editor ay lubos na napapasadya, at ang bawat developer ay magkakaroon ng kanilang sariling natatanging kapaligiran sa pag-unlad na nababagay sa kanilang mga pangangailangan. Marami rin ang nagpapahintulot sa mga developer na gumawa ng sarili nilang mga extension. + +#### Mga Sikat na Editor at Web Development Extension + +- [Visual Studio Code](https://code.visualstudio.com/) + - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) + - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-pack) + - [Prettier - Code formatter](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) +- [Atom](https://atom.io/) + - [spell-check](https://atom.io/packages/spell-check) + - [teletype](https://atom.io/packages/teletype) + - [atom-beautify](https://atom.io/packages/atom-beautify) + +### Browsers + +Ang isa pang mahalagang tool ay ang browser. Ang mga web developer ay umaasa sa browser upang obserbahan kung paano tumatakbo ang kanilang code sa web, ginagamit din ito upang tingnan ang mga visual na elemento ng isang web page na nakasulat sa editor, tulad ng HTML. + +Maraming browser ang kasama ng *developer tools* (DevTools) na naglalaman ng isang hanay ng mga kapaki-pakinabang na feature at impormasyon para tulungan ang mga developer na mangolekta at makakuha ng mahahalagang insight tungkol sa kanilang application. Halimbawa: Kung ang isang web page ay may mga error, minsan nakakatulong na malaman kung kailan nangyari ang mga ito. Maaaring i-configure ang DevTools sa isang browser upang makuha ang impormasyong ito. + +#### Mga sikat na Browser at DevTools + +- [Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium?WT.mc_id=academic-13441-cxa) +- [Chrome](https://developers.google.com/web/tools/chrome-devtools/) +- [Firefox](https://developer.mozilla.org/docs/Tools) + +### Mga Tool sa Command Line + +Mas gusto ng ilang developer ang isang mas kaunting graphical na view para sa kanilang mga pang-araw-araw na gawain at umaasa sa command line para makamit ito. Ang pagbuo ng code ay nangangailangan ng malaking halaga ng pagta-type, at mas gusto ng ilang developer na huwag guluhin ang kanilang daloy sa keyboard at gagamit sila ng mga keyboard shortcut upang magpalit sa pagitan ng mga desktop windows, magtrabaho sa iba't ibang file, at gumamit ng mga tool. Karamihan sa mga gawain ay maaaring kumpletuhin gamit ang isang mouse, ngunit ang isang benepisyo ng paggamit ng command line ay ang maraming maaaring gawin gamit ang command line tool nang hindi nangangailangan ng pagpapalit sa pagitan ng mouse at keyboard. Ang isa pang benepisyo ng command line ay ang mga ito ay maaaring i-configure at maaari mong i-save ang iyong custom na configuration, baguhin ito sa ibang pagkakataon, at i-import din ito sa mga bagong development machine. Dahil natatangi ang mga development environment sa bawat developer, iiwasan ng ilan ang paggamit ng command line, ang ilan ay aasa dito nang buo, at ang ilan ay mas gusto ang paghahalo ng dalawa. + +### Mga Sikat na Opsyon sa Command Line + +Mag-iiba ang mga opsyon para sa command line batay sa operating system na iyong ginagamit. + +*💻 = ay paunang naka-install sa operating system.* + +#### Windows + +- [Powershell](https://docs.microsoft.com/powershell/scripting/overview?view=powershell-7?WT.mc_id=academic-13441-cxa) 💻 +- [Command Line](https://docs.microsoft.com/windows-server/administration/windows-commands/windows-commands?WT.mc_id=academic-13441-cxa) (also known as CMD) 💻 +- [Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-13441-cxa) +- [mintty](https://mintty.github.io/) + +#### MacOS + +- [Terminal](https://support.apple.com/guide/terminal/open-or-quit-terminal-apd5265185d-f365-44cb-8b09-71a064a42125/mac) 💻 +- [iTerm](https://iterm2.com/) +- [Powershell](https://docs.microsoft.com/powershell/scripting/install/installing-powershell-core-on-macos?view=powershell-7?WT.mc_id=academic-13441-cxa) + +#### Linux + +- [Bash](https://www.gnu.org/software/bash/manual/html_node/index.html) 💻 +- [KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html) +- [Powershell](https://docs.microsoft.com/powershell/scripting/install/installing-powershell-core-on-linux?view=powershell-7?WT.mc_id=academic-13441-cxa) + +#### Mga sikat na Command Line Tool + +- [Git](https://git-scm.com/) (💻 on most operating systems) +- [NPM](https://www.npmjs.com/) +- [Yarn](https://classic.yarnpkg.com/en/docs/cli/) + +### Documentation + +Kapag ang isang developer ay gustong matuto ng bago, malamang na bumaling sila sa dokumentasyon upang matutunan kung paano ito gamitin. Ang mga developer ay madalas na umaasa sa dokumentasyon upang gabayan sila sa kung paano gamitin nang maayos ang mga tool at wika, at upang makakuha din ng mas malalim na kaalaman sa kung paano ito gumagana. + +#### Popular Documentation sa Web Development + +- [Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web), from Mozilla, ang mga publisher ng [Firefox](https://www.mozilla.org/firefox/) browser +- [Frontend Masters](https://frontendmasters.com/learn/) +- [Web.dev](https://web.dev), mula sa Google, mga publisher ng [Chrome](https://www.google.com/chrome/) +- [Microsoft's own developer docs](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers), para sa [Microsoft Edge](https://www.microsoft.com/edge) + +✅ Magsaliksik: Ngayong alam mo na ang mga pangunahing kaalaman sa kapaligiran ng isang web developer, ihambing at ihambing ito sa kapaligiran ng isang web designer. + +--- + +## 🚀 Hamon + +Ihambing ang ilang mga programming language. Ano ang ilan sa mga natatanging katangian ng JavaScript vs. Java? Kumusta naman ang COBOL vs. Go? + +## Pagsusulit pagkatapos ng Lektura +[Post-lecture quiz](https://happy-mud-02d95f10f.azurestaticapps.net/quiz/2) + +## Pagsusuri + +Mag-aral nang kaunti sa iba't ibang wika na magagamit ng programmer. Subukang magsulat ng isang linya sa isang wika, at pagkatapos ay gawing muli ito sa dalawang iba pa. Ano ang nalaman mo? + +## Assignment + +[Reading the Docs](assignment.md) From 2b94c5b3fb4b662c1e6f3c31a44b83b28c1d64c5 Mon Sep 17 00:00:00 2001 From: rym-oualha <56199788+rym-oualha@users.noreply.github.com> Date: Fri, 29 Oct 2021 22:38:27 +0100 Subject: [PATCH 08/29] added french readme for Web-Dev-For-Beginners/6-space-game/5-keeping-score/ (#471) * Added french translation for README.fr.md in Web-Dev-For-Beginners/6-space-game/6-end-condition/ * added french README for 6- 5-keeping score --- .../5-keeping-score/translations/README.fr.md | 189 ++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 6-space-game/5-keeping-score/translations/README.fr.md diff --git a/6-space-game/5-keeping-score/translations/README.fr.md b/6-space-game/5-keeping-score/translations/README.fr.md new file mode 100644 index 00000000..448db363 --- /dev/null +++ b/6-space-game/5-keeping-score/translations/README.fr.md @@ -0,0 +1,189 @@ +# Construire un jeu de l'espace - Partie 5 : scores et vies + +## Quiz de pré-lecture + +[Quiz de pré-lecture](https://happy-mud-02d95f10f.azurestaticapps.net/quiz/37?loc=fr) + +Dans cette leçon, vous apprendrez à ajouter des points à un jeu et à calculer des vies. + +## Dessiner du texte à l'écran + +Pour pouvoir afficher un score de jeu à l'écran, vous devez savoir comment placer du texte à l'écran. La réponse est d'utiliser la méthode `fillText()` sur l'objet canvas. Vous pouvez également contrôler d'autres aspects comme la police à utiliser, la couleur du texte et même son alignement (gauche, droite, centre). Vous trouverez ci-dessous du code permettant d'afficher du texte à l'écran. + +```javascript +ctx.font = "30px Arial"; +ctx.fillStyle = "red"; +ctx.textAlign = "right"; +ctx.fillText("show this on the screen", 0, 0); +``` + +✅ En savoir plus sur [comment ajouter du texte à un canvas ](https://developer.mozilla.org/docs/Web/API/Canvas_API/Tutorial/Drawing_text), et n'hésitez pas à rendre le vôtre plus sophistiqué ! + +## La vie, comme concept de jeu + +Le concept d'avoir une vie dans un jeu n'est qu'un nombre. Dans le contexte d'un jeu spatial, il est courant d'attribuer un ensemble de vies qui sont réduites une par une lorsque votre vaisseau subit des dégâts. C'est bien si vous pouvez montrer une représentation graphique de ceci comme des mini vaisseaux ou des cœurs au lieu d'un nombre. + +## Ce qu'il faut construire + +Ajoutons les éléments suivants à votre jeu : + +- **Score de jeu** : Pour chaque navire ennemi détruit, le héros devrait recevoir quelques points, nous suggérons 100 points par navire. Le score du jeu devrait être affiché en bas à gauche. +- **Vie** : Votre navire a trois vies. Vous perdez une vie chaque fois qu'un navire ennemi entre en collision avec vous. Un score de vie devrait être affiché en bas à droite et être composé du graphique suivant [image de vie](solution/assets/life.png). + +## Étapes recommandées + +Localisez les fichiers qui ont été créés pour vous dans le sous-répertoire `your-work`. Il devrait contenir les éléments suivants : + +```bash +-| assets + -| enemyShip.png + -| player.png + -| laserRed.png +-| index.html +-| app.js +-| package.json +``` + +Vous démarrez votre projet dans le dossier `your_work` en tapant : + +```bash +cd your-work +npm start +``` + +Ce qui précède va démarrer un serveur HTTP sur l'adresse `http://localhost:5000`. Ouvrez un navigateur et entrez cette adresse, pour l'instant il devrait afficher le héros et tous les ennemis, et lorsque vous appuyez sur vos flèches gauche et droite, le héros se déplace et peut abattre les ennemis. + +### Ajouter du code + +1. **Copiez les éléments nécessaires** du dossier `solution/assets/` dans le dossier `your-work` ; vous allez ajouter un élément `life.png`. Ajoutez l'image lifeImg à la fonction window.onload : + + ```javascript + lifeImg = await loadTexture("assets/life.png"); + ``` + +1. Ajoutez le `lifeImg` à la liste des éléments : + + ```javascript + let heroImg, + ... + lifeImg, + ... + eventEmitter = new EventEmitter(); + ``` + +2. **Ajoutez des variables**. Ajoutez le code qui représente votre score total (0) et les vies restantes (3), affichez ces scores sur un écran. + +3. **Étendre la fonction `updateGameObjects()`**. Étendre la fonction `updateGameObjects()` pour gérer les collisions avec les ennemis : + + ```javascript + enemies.forEach(enemy => { + const heroRect = hero.rectFromGameObject(); + if (intersectRect(heroRect, enemy.rectFromGameObject())) { + eventEmitter.emit(Messages.COLLISION_ENEMY_HERO, { enemy }); + } + }) + ``` + +4. **Ajouter `life` et `points`**. + 1. **Initialiser les variables**. Sous `this.cooldown = 0` dans la classe `Hero` , définissez la vie et les points : + + ```javascript + this.life = 3; + this.points = 0; + ``` + + 1. **Dessinez les variables à l'écran**. Dessinez ces valeurs à l'écran : + + ```javascript + function drawLife() { + // TODO, 35, 27 + const START_POS = canvas.width - 180; + for(let i=0; i < hero.life; i++ ) { + ctx.drawImage( + lifeImg, + START_POS + (45 * (i+1) ), + canvas.height - 37); + } + } + + function drawPoints() { + ctx.font = "30px Arial"; + ctx.fillStyle = "red"; + ctx.textAlign = "left"; + drawText("Points: " + hero.points, 10, canvas.height-20); + } + + function drawText(message, x, y) { + ctx.fillText(message, x, y); + } + + ``` + + 1. **Ajouter des méthodes à la boucle de jeu**. Assurez-vous d'ajouter ces fonctions à votre fonction window.onload sous `updateGameObjects()`: + + ```javascript + drawPoints(); + drawLife(); + ``` + +1. **Mettre en œuvre les règles du jeu**. Mettez en œuvre les règles du jeu suivantes : + + 1. **Pour chaque collision entre héros et ennemis**, retirez une vie. + + Étendez la classe `Hero` pour faire cette suppression: + + ```javascript + decrementLife() { + this.life--; + if (this.life === 0) { + this.dead = true; + } + } + ``` + + 2. **Pour chaque laser qui touche un ennemi**, augmentez le score du jeu de 100 points. + + Étendez la classe Hero pour faire cet ajout : + + ```javascript + incrementPoints() { + this.points += 100; + } + ``` + + Ajoutez ces fonctions à vos émetteurs d'événements de collision : + + ```javascript + eventEmitter.on(Messages.COLLISION_ENEMY_LASER, (_, { first, second }) => { + first.dead = true; + second.dead = true; + hero.incrementPoints(); + }) + + eventEmitter.on(Messages.COLLISION_ENEMY_HERO, (_, { enemy }) => { + enemy.dead = true; + hero.decrementLife(); + }); + ``` + +✅ Faites une petite recherche pour découvrir d'autres jeux créés à l'aide de JavaScript/Canvas. Quels sont leurs points communs ? + +À la fin de ce travail, vous devriez voir les petits vaisseaux de "vie" en bas à droite, les points en bas à gauche, et vous devriez voir votre compte de vie diminuer lorsque vous entrez en collision avec des ennemis et vos points augmenter lorsque vous tirez sur des ennemis. Bien joué ! Votre jeu est presque terminé. + +--- + +## 🚀 Challenge + +Votre code est presque complet. Pouvez-vous envisager vos prochaines étapes ? + +## Quiz post-lecture + +[Quiz post-lecture](https://happy-mud-02d95f10f.azurestaticapps.net/quiz/38?loc=fr) + +## Révision et autoformation + +Recherchez des moyens d'incrémenter et de décrémenter les scores et les vies. Il existe des moteurs de jeu intéressants comme [PlayFab](https://playfab.com). Comment l'utilisation de l'un d'eux pourrait-elle améliorer votre jeu ? + +## Travail à faire + +[Construire un jeu de score](assignment.fr.md) From 7639d2e196bb6cc4eaa8a096b5c54760c7551ec1 Mon Sep 17 00:00:00 2001 From: Mohit Jaisal Date: Sat, 30 Oct 2021 04:11:54 +0530 Subject: [PATCH 09/29] Added web.gif (#473) --- README.md | 63 +++++++++++++++++++++++++++--------------------------- web.gif | Bin 0 -> 354556 bytes 2 files changed, 32 insertions(+), 31 deletions(-) create mode 100644 web.gif diff --git a/README.md b/README.md index 86e64ebc..1c264bfc 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,6 @@ [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/) [![GitHub stars](https://img.shields.io/github/stars/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/) - # Web Development for Beginners - A Curriculum Azure Cloud Advocates at Microsoft are pleased to offer a 12-week, 24-lesson curriculum all about JavaScript, CSS, and HTML basics. Each lesson includes pre- and post-lesson quizzes, written instructions to complete the lesson, a solution, an assignment and more. Our project-based pedagogy allows you to learn while building, a proven way for new skills to 'stick'. @@ -21,13 +20,15 @@ Azure Cloud Advocates at Microsoft are pleased to offer a 12-week, 24-lesson cur > **Students**, to use this curriculum on your own, fork the entire repo and complete the exercises on your own, starting with a pre-lecture quiz, then reading the lecture and completing the rest of the activities. Try to create the projects by comprehending the lessons rather than copying the solution code; however that code is available in the /solutions folders in each project-oriented lesson. Another idea would be to form a study group with friends and go through the content together. For further study, we recommend [Microsoft Learn](https://docs.microsoft.com/users/jenlooper-2911/collections/jg2gax8pzd6o81?WT.mc_id=academic-13441-cxa) and by watching the videos mentioned below. -[![Promo video](screenshot.png)](https://youtube.com/watch?v=R1wrdtmBSII "Promo video") +[![Promo video](web.gif)](https://youtube.com/watch?v=R1wrdtmBSII "Promo video") + +Gif by [Mohit Jaisal](https://linkedin.com/in/mohitjaisal) > 🎥 Click the image above for a video about the project and the folks who created it! ## Pedagogy -We have chosen two pedagogical tenets while building this curriculum: ensuring that it is project-based and that it includes frequent quizzes. By the end of this series, students will have built a typing game, a virtual terrarium, a 'green' browser extension, a 'space invaders' type game, and a business-type banking app, and will have learned the basics of JavaScript, HTML, and CSS along with the modern toolchain of today's web developer. +We have chosen two pedagogical tenets while building this curriculum: ensuring that it is project-based and that it includes frequent quizzes. By the end of this series, students will have built a typing game, a virtual terrarium, a 'green' browser extension, a 'space invaders' type game, and a business-type banking app, and will have learned the basics of JavaScript, HTML, and CSS along with the modern toolchain of today's web developer. > 🎓 You can take the first few lessons in this curriculum as a [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101?WT.mc_id=academic-13441-cxa) on Microsoft Learn! @@ -38,7 +39,7 @@ In addition, a low-stakes quiz before a class sets the intention of the student While we have purposefully avoided introducing JavaScript frameworks so as to concentrate on the basic skills needed as a web developer before adopting a framework, a good next step to completing this curriculum would be learning about Node.js via another collection of videos: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs?WT.mc_id=academic-13441-cxa)". > Find our [Code of Conduct](CODE_OF_CONDUCT.md), [Contributing](CONTRIBUTING.md), and [Translation](TRANSLATIONS.md) guidelines. We welcome your constructive feedback! -> + ## Each lesson includes: - optional sketchnote @@ -56,32 +57,32 @@ While we have purposefully avoided introducing JavaScript frameworks so as to co ## Lessons -| | Project Name | Concepts Taught | Learning Objectives | Linked Lesson | Author | -| :---: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | -| 01 | Getting Started | Introduction to Programming and Tools of the Trade | Learn the basic underpinnings behind most programming languages and about software that helps professional developers do their jobs | [Intro to Programming Languages and Tools of the Trade](/1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | -| 02 | Getting Started | Basics of GitHub, includes working with a team | How to use GitHub in your project, how to collaborate with others on a code base | [Intro to GitHub](/1-getting-started-lessons/2-github-basics/README.md) | Floor | -| 03 | Getting Started | Accessibility | Learn the basics of web accessibility | [Accessibility Fundamentals](/1-getting-started-lessons/3-accessibility/README.md) | Christopher | -| 04 | JS Basics | JavaScript Data Types | The basics of JavaScript data types | [Data Types](/2-js-basics/1-data-types/README.md) | Jasmine | -| 05 | JS Basics | Functions and Methods | Learn about functions and methods to manage an application's logic flow | [Functions and Methods](/2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher | -| 06 | JS Basics | Making Decisions with JS | Learn how to create conditions in your code using decision-making methods | [Making Decisions](/2-js-basics/3-making-decisions/README.md) | Jasmine | -| 07 | JS Basics | Arrays and Loops | Work with data using arrays and loops in JavaScript | [Arrays and Loops](/2-js-basics/4-arrays-loops/README.md) | Jasmine | -| 08 | [Terrarium](/3-terrarium/solution/README.md) | HTML in Practice | Build the HTML to create an online terrarium, focusing on building a layout | [Introduction to HTML](/3-terrarium/1-intro-to-html/README.md) | Jen | -| 09 | [Terrarium](/3-terrarium/solution/README.md) | CSS in Practice | Build the CSS to style the online terrarium, focusing on the basics of CSS including making the page responsive | [Introduction to CSS](/3-terrarium/2-intro-to-css/README.md) | Jen | -| 10 | [Terrarium](/3-terrarium/solution) | JavaScript Closures, DOM manipulation | Build the JavaScript to make the terrarium function as a drag/drop interface, focusing on closures and DOM manipulation | [JavaScript Closures, DOM manipulation](/3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | -| 11 | [Typing Game](/4-typing-game/solution) | Build a Typing Game | Learn how to use keyboard events to drive the logic of your JavaScript app | [Event-Driven Programming](/4-typing-game/typing-game/README.md) | Christopher | -| 12 | [Green Browser Extension](/5-browser-extension/solution) | Working with Browsers | Learn how browsers work, their history, and how to scaffold the first elements of a browser extension | [About Browsers](/5-browser-extension/1-about-browsers/README.md) | Jen | -| 13 | [Green Browser Extension](/5-browser-extension/solution) | Building a form, calling an API and storing variables in local storage | Build the JavaScript elements of your browser extension to call an API using variables stored in local storage | [APIs, Forms, and Local Storage](/5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | -| 14 | [Green Browser Extension](/5-browser-extension/solution) | Background processes in the browser, web performance | Use the browser's background processes to manage the extension's icon; learn about web performance and some optimizations to make | [Background Tasks and Performance](/5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | -| 15 | [Space Game](/6-space-game/solution) | More Advanced Game Development with JavaScript | Learn about Inheritance using both Classes and Composition and the Pub/Sub pattern, in preparation for building a game | [Introduction to Advanced Game Development](/6-space-game/1-introduction/README.md) | Chris | -| 16 | [Space Game](/6-space-game/solution) | Drawing to canvas | Learn about the Canvas API, used to draw elements to a screen | [Drawing to Canvas](/6-space-game/2-drawing-to-canvas/README.md) | Chris | -| 17 | [Space Game](/6-space-game/solution) | Moving elements around the screen | Discover how elements can gain motion using the cartesian coordinates and the Canvas API | [Moving Elements Around](/6-space-game/3-moving-elements-around/README.md) | Chris | -| 18 | [Space Game](/6-space-game/solution) | Collision detection | Make elements collide and react to each other using keypresses and provide a cooldown function to ensure performance of the game | [Collision Detection](/6-space-game/4-collision-detection/README.md) | Chris | -| 19 | [Space Game](/6-space-game/solution) | Keeping score | Perform math calculations based on the game's status and performance | [Keeping Score](/6-space-game/5-keeping-score/README.md) | Chris | -| 20 | [Space Game](/6-space-game/solution) | Ending and restarting the game | Learn about ending and restarting the game, including cleaning up assets and resetting variable values | [The Ending Condition](/6-space-game/6-end-condition/README.md) | Chris | -| 21 | [Banking App](/7-bank-project/solution) | HTML Templates and Routes in a Web App | Learn how to create the scaffold of a multipage website's architecture using routing and HTML templates | [HTML Templates and Routes](/7-bank-project/1-template-route/README.md) | Yohan | -| 22 | [Banking App](/7-bank-project/solution) | Build a Login and Registration Form | Learn about building forms and handing validation routines | [Forms](/7-bank-project/2-forms/README.md) | Yohan | -| 23 | [Banking App](/7-bank-project/solution) | Methods of Fetching and Using Data | How data flows in and out of your app, how to fetch it, store it, and dispose of it | [Data](/7-bank-project/3-data/README.md) | Yohan | -| 24 | [Banking App](/7-bank-project/solution) | Concepts of State Management | Learn how your app retains state and how to manage it programmatically | [State Management](/7-bank-project/4-state-management/README.md) | Yohan | +| | Project Name | Concepts Taught | Learning Objectives | Linked Lesson | Author | +| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | +| 01 | Getting Started | Introduction to Programming and Tools of the Trade | Learn the basic underpinnings behind most programming languages and about software that helps professional developers do their jobs | [Intro to Programming Languages and Tools of the Trade](/1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | +| 02 | Getting Started | Basics of GitHub, includes working with a team | How to use GitHub in your project, how to collaborate with others on a code base | [Intro to GitHub](/1-getting-started-lessons/2-github-basics/README.md) | Floor | +| 03 | Getting Started | Accessibility | Learn the basics of web accessibility | [Accessibility Fundamentals](/1-getting-started-lessons/3-accessibility/README.md) | Christopher | +| 04 | JS Basics | JavaScript Data Types | The basics of JavaScript data types | [Data Types](/2-js-basics/1-data-types/README.md) | Jasmine | +| 05 | JS Basics | Functions and Methods | Learn about functions and methods to manage an application's logic flow | [Functions and Methods](/2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher | +| 06 | JS Basics | Making Decisions with JS | Learn how to create conditions in your code using decision-making methods | [Making Decisions](/2-js-basics/3-making-decisions/README.md) | Jasmine | +| 07 | JS Basics | Arrays and Loops | Work with data using arrays and loops in JavaScript | [Arrays and Loops](/2-js-basics/4-arrays-loops/README.md) | Jasmine | +| 08 | [Terrarium](/3-terrarium/solution/README.md) | HTML in Practice | Build the HTML to create an online terrarium, focusing on building a layout | [Introduction to HTML](/3-terrarium/1-intro-to-html/README.md) | Jen | +| 09 | [Terrarium](/3-terrarium/solution/README.md) | CSS in Practice | Build the CSS to style the online terrarium, focusing on the basics of CSS including making the page responsive | [Introduction to CSS](/3-terrarium/2-intro-to-css/README.md) | Jen | +| 10 | [Terrarium](/3-terrarium/solution) | JavaScript Closures, DOM manipulation | Build the JavaScript to make the terrarium function as a drag/drop interface, focusing on closures and DOM manipulation | [JavaScript Closures, DOM manipulation](/3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen | +| 11 | [Typing Game](/4-typing-game/solution) | Build a Typing Game | Learn how to use keyboard events to drive the logic of your JavaScript app | [Event-Driven Programming](/4-typing-game/typing-game/README.md) | Christopher | +| 12 | [Green Browser Extension](/5-browser-extension/solution) | Working with Browsers | Learn how browsers work, their history, and how to scaffold the first elements of a browser extension | [About Browsers](/5-browser-extension/1-about-browsers/README.md) | Jen | +| 13 | [Green Browser Extension](/5-browser-extension/solution) | Building a form, calling an API and storing variables in local storage | Build the JavaScript elements of your browser extension to call an API using variables stored in local storage | [APIs, Forms, and Local Storage](/5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen | +| 14 | [Green Browser Extension](/5-browser-extension/solution) | Background processes in the browser, web performance | Use the browser's background processes to manage the extension's icon; learn about web performance and some optimizations to make | [Background Tasks and Performance](/5-browser-extension/3-background-tasks-and-performance/README.md) | Jen | +| 15 | [Space Game](/6-space-game/solution) | More Advanced Game Development with JavaScript | Learn about Inheritance using both Classes and Composition and the Pub/Sub pattern, in preparation for building a game | [Introduction to Advanced Game Development](/6-space-game/1-introduction/README.md) | Chris | +| 16 | [Space Game](/6-space-game/solution) | Drawing to canvas | Learn about the Canvas API, used to draw elements to a screen | [Drawing to Canvas](/6-space-game/2-drawing-to-canvas/README.md) | Chris | +| 17 | [Space Game](/6-space-game/solution) | Moving elements around the screen | Discover how elements can gain motion using the cartesian coordinates and the Canvas API | [Moving Elements Around](/6-space-game/3-moving-elements-around/README.md) | Chris | +| 18 | [Space Game](/6-space-game/solution) | Collision detection | Make elements collide and react to each other using keypresses and provide a cooldown function to ensure performance of the game | [Collision Detection](/6-space-game/4-collision-detection/README.md) | Chris | +| 19 | [Space Game](/6-space-game/solution) | Keeping score | Perform math calculations based on the game's status and performance | [Keeping Score](/6-space-game/5-keeping-score/README.md) | Chris | +| 20 | [Space Game](/6-space-game/solution) | Ending and restarting the game | Learn about ending and restarting the game, including cleaning up assets and resetting variable values | [The Ending Condition](/6-space-game/6-end-condition/README.md) | Chris | +| 21 | [Banking App](/7-bank-project/solution) | HTML Templates and Routes in a Web App | Learn how to create the scaffold of a multipage website's architecture using routing and HTML templates | [HTML Templates and Routes](/7-bank-project/1-template-route/README.md) | Yohan | +| 22 | [Banking App](/7-bank-project/solution) | Build a Login and Registration Form | Learn about building forms and handing validation routines | [Forms](/7-bank-project/2-forms/README.md) | Yohan | +| 23 | [Banking App](/7-bank-project/solution) | Methods of Fetching and Using Data | How data flows in and out of your app, how to fetch it, store it, and dispose of it | [Data](/7-bank-project/3-data/README.md) | Yohan | +| 24 | [Banking App](/7-bank-project/solution) | Concepts of State Management | Learn how your app retains state and how to manage it programmatically | [State Management](/7-bank-project/4-state-management/README.md) | Yohan | ## Offline access @@ -97,4 +98,4 @@ Our team produces other curricula! Check out: - [Machine Learning for Beginners](https://aka.ms/ml-beginners) - [IoT for Beginners](https://aka.ms/iot-beginners) -- [Data Science for Beginners](https://aka.ms/datascience-beginners) \ No newline at end of file +- [Data Science for Beginners](https://aka.ms/datascience-beginners) diff --git a/web.gif b/web.gif new file mode 100644 index 0000000000000000000000000000000000000000..25965314f9b4da5663e6daa00827a450e4df9acb GIT binary patch literal 354556 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 z z2_=9kKl25&m(JV*v|D}`8T=h7uy?hu0?{ATESed%p*ikBhGU?xivq(6)=pwE{nA0* z)BT>)0Ut6zy_~_&HB!_ZO8wMPohcJ<)mgn{U41JnPu3fFvnKxzZynd)qk_Rflboe_ z;^~9L|7)}hQR({n*puCaPgvI+@!8Xn5`}5nt6ke~;1*yN_G4g74Z%fj-~dK3bO3xw z${qPMpuio0Y+>5nDF6Uqxphgu&mEjJ|74zc8s9(v84W&y*0PK@oK7m7;4K{dx9{Xb zVG(qx!Y*Dq9sajGC%Dod+Lo!ALXk~_k4ToS6?5SYK>iIh7a-!qxihe!z=H<~D!jw6 zp~Hs|BT8hLC(oTe!TOZixY3j;W~P=cJ4KRYv|%WR5mHI0WlLhjTFIP=tra$G(`r(i zfP)7Q90;Zer7(f$grh`lj2mZTLI4XELeK~?1qY6*K7URL5h5xD3PO8+n7~XKF-9_B z|Eh)QvZczD!=lNJcCD^mRd}zdIwi8N$B(9xE!$RaUg5)r6C+-%xN$vslq6A_REhGW z%ab!(uFQF}=gy!%iw;eC^yW&HC{dzThYOb~R;u^MXE4Oo7+0C1G6)eAl10OED zIPv4glOtcQygBpd&Z9%0F1(;YR@6DY%6)IV}IC0|3*ST}$&8b&^&RqNU>*LFx zPrttX`}p&pM~7}dkWr(sBjA7p7HHss2qviDf($muPCF2`17I~XlwctV7G|j7h8%Y2 z;fElGC}M~+REQyl9ys6t1QE38;)^iGDC3L~fMes0IOb@hH^B4=%rVFG5#%w+|NP|< zGkuY?my)OCrAl0Lodg$4D-8lb0Y^<>!it-sb&l} zG;+fZjTmyvEruu}r#5ij5N9JXXj1{7Xa>qA2(rjhLjsIy;HaYu1mK7x6%6nd1qBp< zz@}eK001MWFjG=Vdo4NYseCQN%&H)PWTYvj2npn@K$en>t+r~kkw$$8sS&Ij-OACh zyT)p4vAp)$>oLJtbPyY{WW%SL+QGLBAO_+vLpZ%R9u~FL86O> z5WpL8xRJ*j^de;Mz4uO}@4gaMlu_(n(R;b(dbI_Qk5J zrcjdDJVZNYG-HfKHd$wwO`=(8P@5L@)KY(jT56Qkv5RZC$<_sJT;L|QZn|}61$Jm_ zr*_(GukCi*aK9}#b!MCWT^CgN;Y1YXq326{@41)X;Di@$IDPx|cMgC5Iq3M~kVnp7 zgc1Tc$_OQ3IO67mKtwqyp}eA`9~;!;DL!yPin!ydv5U-**9K=?((hXkWYNVFBfMAD?)$t7VmBg9%7CX<_3kr=9o zid4cPln_uL2Vf-10LIucp_nl&B*V&2dIH8AWF-e5_y7O`u%$(uVi+@F#LQlzFq9Aj zXLGp*UGBm=lHg7x{!0cjqTvpA6z!2jL)y{iArHu?<}y{I|C%N<$w|^kLK3K%ge066 ziAW?u4tTQy73#*yR&r-JVAqeF`2N22=OmvjzJjg`m z;g-qFWhOJ3mJ85;+9A1WTJxF(f>3})L7@tL?wjBY=jS|-0S<6L0_aqoI%U+lcD}Ah zwCdHsmUu{mDT#M=p-YqymJ&h?Vt83fUN(;Rr7$tCOwS9{2ic@1LUpeZiioHpSRtq9 z32J(WY7_KOIKJ|oF9F)RLHov76#2#PN&pDe{`$w#ma^)99wC;j3U~};C=q}h2_OR( z2*C%IVn_qbVH>1DRB7Pi7i^FQD;)7bZB%P~H6)?7|H4Jp@xic$F$}?@v>H_x1|R^W zAVmgu_=_I?A{X!?2oMu8M285Zh()Z30cSTmf`NpId65zn7sfCu*2Id~_~*H(a>fvR zKn95Y2?YiafB{&bDkno@Rwl~>#LA$umxZGnNj3pdoC0QP*&{KeNLrS_C1?8NS*Z+p zNRTKJ8O7KJB#S0VNmf#6lj)>xH_6+oeKM4wq(mejA%|Uj=R0C^rEN4)3x4}h|X&Gx$2LE7XdH@zv&`r7xt z7Ggj-&nba*`qxG6Y^RTY^iv_#m39TI=c)3N|4%{sj-UUepT@E=P#ZA9c*X64U`YYOY5uAOY(WX$5RBfRe_~00x-f{8Zu69=8-Quez14 zej2+1=HZBRHPTLb>Qe^}X{N!rLoSL+R8Y(U7i{352OIj-tB&i1FSM#G)HPVGo{t8P z8euPZF$XvVq84x9;V+Jw!C%hEitI{ z7AWORFFb1^YY`b!Q|MwGm7MJ)kp>yb|6sDW$lk58ITK1z3O5qMutgTMpi0@0ZMn*w zuC}SW?QV1X+uG?3Y>s<3KNO;vQr?BK-RM z-<=~tIn()H{|1z_m$-4 zLf*LhU38>daqNZ9 zQzWYbaSwy^erIBQCD>?<1#%LB`)St zbBv-bF`x*CpmR1>066vm|CvGn20#qR@H0jC5kzNnMv_EB22=zzKu$+wL4qs75uLQWMzWoLG17ei`?W@pBBZRd8fpbNY31#CD5 zM0JIIS5|gLXLFcmW7QCXmxl;(cnfi4r4S5Cv@3`<5)3vMQB--623R;T4VqU%9u{9L-n- zzrh7v@Jq*Je&rxI|LDbj;P`IB6ixG2j`c=O(S(2b$A9doe*(t=rvregBY-#J4fZ%- zKoT$q7!s_qfJs7#k*6~dcoM2W3<5wr7iNJVX9J>;2pK2{*&`?6qfp%QfgzYe9aUyD zL_!@Vb2JAPE2s@O;DRv7b23PS1wa5FfDJk5Kdn-9KlYM7_=-YSgtEdcipMMgc4u%{XLOcl2BC*)*=K5{5P2XZ1>_NQHBTY23=U?93WJD#rHIoo4OsMuAfOB6 zKowI#0ho1J|2&Wbp{5lnGZhvPm=o0qJ76tQp+%Mmif1>jwy-s>K^w=F1=nSL%xE^zSe(;% zoW`kr)d(D}v0Z#~9_hv&?(t0FSe@j>IF@6M+Sy*{7)|Tgj^HUyCQ<_W1p)CWk26A# z_4p0=SSwG5fc@x?ineGvbC*#v2nA^X0B{ruNnsb5JPx@B&4W-SmvSEzg56S8EhLp8 zkO1m4Eo*`(Daa`511BU&V=-s|aTGst)RHiDBs(aRK=waKS71XqE6ETHJrWGaFl0A5 zE5`yb|3h{x1x72)l0jLAlsc-EZSV)8po!IjLL*3KQ;BwJrvX=)r026P;-EEb_yt@r z24FA?b9Pj7c$RmTcUjs)@!|$+Ie7P?c(GDw0AwTu($TetX{uz75=d8*8}8Nz4_T(cWhKyI!ooWt22$XTn&X{)%( zHna*H*7&Mcpaokn9_isX-q<&RW1YyVAMi1b(zKn<>NwOyIq{{A^c9}gx;fuj0x4pi z|L930>S-h2@C^#rBQI(|AevzEIdS!wTK9Ph#Gs%2nLMIUVaC&t891OMmryD9foy`H zD8x}##d$IWQg0$C5^4c17h@N?b2ql30HBfpfSLeQSFa+X7W<({CnQdI461+(J#u6k zD^o=1bP?o}GkPl(k)u1hvPr3s*cy%yP#98`L!bF*{uNft>J16#!zHIqAPz9 zi*>1Bxq~~n7LXMuNIdqg`#AxOFb>(U2=uxoqOc07uspF)CKYui97rwx`hg(OCT#)& z32=6fS)m4dun0>+3VR5mfT8lEp&yWA1rSH75R1V=u^)P_BN}AFB0;lK4C|l_%Frw) z%0LbzraC1+PL~H7w6Z&DWn0Gvys!u$XjLg#w?!&LV_36T=_u(^L!xj9|2hknK8p)i zh6{OTrDHjkKx?ITsI)<3FCcrOw(}|gnOAVJrc~6Xibx1NHV7MI1LDvNy`T+^szsWK zc9*#oiDE5(dM9hk3f8a#T^K?o)Tkl^iBsXHJ0Qm7kPX71w|iSNz+-W_R~Mx@68^)3 zcAB`2)JQ}Fs<@~cjqA9O`?#6}o46UKDgbw70yRe+Q4^lbQnmN9E%bVi?55NH}a!$nC zBHs!Q$D6!xd4&2Xm$$Qky{9UR7J1a0dvw8Lj6eX{`z79MJar_#{~}i=`RXU=>pd6c zEo$P;-rPOq94KhKb`6SR+`@7WdMz<#2#4SZ{3}0klw&IS0fVrUNJy6lyn{zKu{C*< zKLro!pbE-Bgi*&U1k@|Taw|}{!5plkQ~JSkunIvcq#0?#CoDrMY=$$mRdoB94Y>!j zAj3b4!*H0xIt;XU=XYMJR`fE{aR4t#Thlmw(*vP+K^QRSx(twam;J<7Fp4x&H} zFR>PU>lUKvJG$43e38eiBA9&K$A5gdL{n^^6q}}M$c1bg|A-u1xmjGmp#@ps8^B4) zrhCbdoyn3N*`#}Y%}E}#Yks~^4#qmWsr=ciT*~Q{ov~cn2NEIPIRl!5%dG7oqr(6X zz#;@kyum!oLzs`c;?HJ^uFDM6tT?@Q!3@(}%@no>*!(5hETHA9C*<7R2f8hAQYX@V zz6td_2e1HZhp^hBCK5`a_$!h(AkX`I6ebl%C>ckL0Ej1R!2fJ?4p*WK%%bn$56(~w z8PU)H!(_{XqCZuXM?29}NW(}83RXr`Y(NU45C9_RLM7bMMVi7Y9MV?Vr;D%$Yw!hN z8Q?{W!@r;gIlRMJ`qF8M(+FYHH9gbyvWJ9Lgp7xP{}3m&k+)A&($VF3X^16L6O;~);YFj1_K z2#GKZuoi24+fTQLTC9jaMyCv_unq1IY=;4=pz7Cut&2-D*n<6wpEOFJlnAt-1zli` z*2b%jP05r!*@j-|kd1A!@g1H#9<-Y{>vpW4J?ZkntfqbG*@W5v0=%u==@&9Oy3EVJ z49v#+4amzZvvO#%!9Cm)wg|?3+~F&rdmsqQ-ObL;EzxZVzz*zk(g=_6 z1CKz?+*1K52+uHEF7LeEBPq}HOy2#wq4_)w|1BD$?>U!A_RmlkE9Dvt%rM{T;0z7d z&>HKa5A>oH-3xjEeQg+) zVp*jt-Qg^~!yKM>JTz!Bec~vNRw%xQL)dUlYdaEGDym>{d-Z5WedCjc4b70_+PetK zpw?sNr<%C$m!{4}4pFSIFd+_fLeHLIBck7kQ13#l*%JWB>(016eI(pS2rLMyZ` zjsGlNR*44?z=8$46DQ6aga+T_Qi$-4!8mz>9ivz(*~Md}Of6e>%Ht_js;)&NNpjdQ zLMaImV@a&lOPJVX&YXsA+D)9(1}RIGi2s@>a^$p;lVw5HQ41kL9F+xv+zws60#Nwy zVG0Ecq7+3HH#8`Sq*HM4Ad3UXln^!+>C(lDm9Rvrm?c_NcMvg^tybE%9*2I-~N64`StJT-`~G~bbuITz){#S@IV9;RB%BC z8+7nN2pw!^LJCJ|r1v1Dy+{mSkS( zrkJweTcv0acU*GEo#I?{r~fFI+z_;}Wfxo4kfvH`W&xwwU-Hct7k%~R_ZNO~5x8G~ z0~Qz;H{6Khjy!O6jL{9Qc95qJ1Hf+T5<`dmu8~LrkrkK zWRN^kS%np9v=QfKqQF%u1gC;}suvKZAS;KnumYhMw^-@LD{{c1KrD1a7-t+CiuyKy zahM?lQ?-~;1*Mi&V(G8H1RJcR!VHVDNh3Eh#TsoUqs+3)IJ3KM*78v*eEIKm)Kga- zb@&7vFhba4mwomKDgU&6lxi@X;Y8kh_x<-0Nhm=>5*Tm*0tjeSe)$M=bpA$fb_@p? zR)GQbR9BHKk{RxkWUM3bmoeqZ!=#*&nF*}KQcEts1alQqLK!obGv92pO*jS7Lk~Io zH{=FUP%QuhAmBK#c8FAjq7J**g&=OAjYDy(TTL-k3>p!qLx|#1nc7qVI`shq6rd^s zU(ep2&#beLW)>J7VqH4JNB`Ub(rE<85tIkI2Np6JS+~&$^|Z>MJ;J1 z@rbiv0}&LV4R3iXDIpM-x~xb8E2c|}@r)Q<+R!*0P-lLl~^k zMOSVnjtW@qi?RrcHf%PO5SWDmQX7XTx?(e3Y-KB5;g$u?^+l|Wg92vZLDXi6mZoGw z9H$sYBFE;JzMRBtgBeNrRMDg*HO3UBV1_%?A&+^~qcWGlo89cjH*ES%o7of%XeuEI zN+e3CJx*{!d(LqV`P}Cm<{0Qe zS9ef^BJ`jC4AARn_fUvNv_ZDJ9qx9wA>jc}qZ{RDh=fN16&;UxBaPAXOzI6DC4+j_ z%gB(jXaA(`b+0iW10OTUcTA9lgnQ|`QkJ&VCHJWXe)8Lcnb4G``>jb4f>_`#Xd#C> zG@%LqbA%%n5kMQ1QWT;%#2=a}2M0nBQHx@VqaYQ7{8eg$9rR#TLg?00m=KUDOranH z*+Nv+%2qPu2S09jLqe2dBF8Y{4>Lm8WG$;%^>P*%9E(J2DKUv-WCI)Ypo>;ofKi&H zA{Mpy+0SwjEfyFDE7%~fYBhEi`AV1?)bK`vz42hPrEMHzt1yN|Opg;Y2*U__y%m1% zV^121Nq{LfMJ^H>t!O069yyJdDMJ|4*h(+N(Tlb~(I`g|iYH@mGpm(S7^z5wTdb=M zr2oYNO;KqY6=6A*56GaFX!&9YUTFcRObsN+4Vy}W37E5yL~S4;q++zky<)gy9`cYT zB^+!`2xEqu+obS>Qv*0i&|;kAG$%R_r_SHhQ^fNm@rX@aViZ3PpZMg0K0g<_f0oWZ z1tn-gZG7YZ6m)a~l4y^8{7{NkXh0Y$K}I`zWF-6UqZ~3G@<_@&lREDk-|&VvjA4u* zo$wghYfMbNT%^Q+&m%VdNceWDJ}+ehs6h=AAb2qc`JL&gNxgw0CM5?3(xMLX`$H;X z5sRLzA`x_P1T_v33OUFD4`CJSwkBxSNHs!#tI!~(*h+w^e4wo#7{)-5Q7TZM(En6) zU6oyDb*d~otQhLJVPE~>4|NnH7|JLWGH6Y!Alfluik$^0918}>N>ML@tuK&7DRwa?%WJEMgF0y4jl)VO?=lQWoyzWDGv(l}jf4&q})) zcHL6lN)iPr_8p75HrcHyHYF(8pvEBXqDYhZ_ar7CgfInc7?6cIrn(r%Hf&yu2t(My z73TTg9-JB1OrjXYNQ5o4V1;ug?!-$^anqUpbf-sMa^S&&aQ4X_U&N<9rvIaH*K3Sp zu;X~43nfs2*kPd`r(Nw5s*vuAoMgDi{X`zf00)vM0T?~Gq*2b%l)+(TEC=a_FWsJ( zWtt>1mzkzZ>K*_JaHTY_*?o&h1R(Yh3e4BfesqSD9_l~~TZAGNhoHtHN}mk@dMN5(V~iuP*|D?~1tVLb&USinfS_KiC63xCQlklS&$jqOh;g zY6=PJ8I2P;au|n2K!uZgi9}L~VPLtI3nr34435AlnG+vt5C?bIhSZSvx~KM0TjC6p=edY(x-YfDAw$ywkhAHuIauXJLak2!v!C0A}+n_zNx1q5x`Jgjzs9BciR?f~{ZpzuJ-` z0qnMYaif4?tusoPhq(hu3ZlW%7pAiaj5QS_& zg+*wIR`8{=VL6v047EXwQRJS+P=#$MhM?0z&hWx6JpW6eb1=Y31X{>~E~o;e%Yt=^ zLpZEUy1Yxf%*)~^Cw)>6_E;$R_$PvDk3IalKRnEXVyHnhJ49^EA8Ut1JUffh5J#-c zxC1E_sXI!P5lh4ozXLp5i514+GOzT+1JfSi;vU6V&C>Kl$2&ze3o0+6JV5vZUSLI6 z+`JpmNm<+qR)`Zh`Gc6GhD3l$E)j)9ID|Ekf&&PE=1hQMe3Y>&D-cLVw7P{lz`aVF z0N#5%X*7V~0|0Bh##(`)Y%CTO0yS^Um}9WDaomSjo4y-T2WKdSJjw-Li${7CHhF}W zYvBbz5QPEI8FT4Jf208l7yu$91tMqzHXybFEdRIvOUM8uzT&T zaYzMQ`H^`09*zW=;tGtB;jataH<@S#e=A9BAOuxl1PXYXDX;)taLF+d&V%zLap)wR z%t^MeI2ruO?7W4S{4@0;N^MxBu4u}p&<0kp1}ohPq1dWLPzI_@LM2>6VHyMh6A36W zAH_ht*Z?Q8+zhj9Q?yJ=z>$P^>4Gje!!!&ryv$R*+*3X6(-SMF&S|kb6rI2nOg*GA z#7tDxVW@_3D93zMiGs{_z?}i1Ov}8~Bg0Hc+{{YsOdR0`ZU6@B(HL2=2v77LR8=O9 z=(3nnrczJ^0JsurLq*xtl2x$0%bNrKdH==T}M(*^W#}gs93O)j0h6c385zVsl%tjYFK4nk_U^#|Z5Qlfr z75MarzUr%f=m%%G1@AK=$#SeDBESADKYjI2Hi!su7>5D4Q3DMv1OP}IPz85<1Mf2< zf>|SSBbbMLNQ4x(h?FCU6u^B!qg!x>61qlHDN$xv)s75_6g4iD2uYMt85jjPe`|%h z7>6nHq6%OIB^?vY3k8_`14@d;BK1|a;K@Jx1E2iKmlRG`5C=zT$trcYrumAexHxOb z!676IayTYE6^~$!9w|V=-)_m1ih0Rn~u!%bUXss)=c}os`%E25!Zq5&z=Eg+gvbS6hy`k}0R)vl z1O1|LfFB~rzj^63VjCFyP5+pE`M(MEHVW0)inUk`tfju(ToDGCSL}{W&dkTQa6FxP^@}6pyjytH~w2Veq%Ql55Dvq&>>WGINZctTt3#1g(4_)7?4RVM9D2=wyUVg%v?q09gxDP z5`e_yp~TP4k#O*a(ftusDOuA@UDZ8Z13OjJM210l-C2#zpi;Bh%~d>@D&2&|+--z3 zF@$2B+#1WxN4H@H{xnJ#2M61Bg`-`XEfpfe#o2h6&g4 z{H^T$t?~pG^VBO+u?ACj$8&PDd81GuBsGCY+zv+ZG|r3ETxbIaj3=p!C~gjPNqeZ9$qi5 zh&Uk@%ARi8Od^LJwLw;B1g3Q29e9(gWtu7$I288UvOx*JFq^_CQ?or&?okG2sD#fL zOobt#5@Ca1(=qJ%R+;S*~u`|p*?rXs; zs75sqM>S-^Hjp5jkjf>VMPBUS38_eavPs5~N;U9)mFy?q3Q*dXO8Ca zEN%y^=8VMVYo>^S;4A3^=X?<7^UViYhz0ibPjtSQb-n{v=?Iwfn!`w&w26j6*vflu zl53EX^cF?0K?SKqwjvA!Qhnt)`eQE>6+f3G67me=wXAau2YgY zpei$x~sOI9WEFZ>OjC36ho%?Dh zpD=2|3=Df0v*t^*R=T#%^0(e{EqAB5o@*}10xsYu7&`|UGl#qm#J*m0#NBJhHM_ws zY(qZmNlk1cV{AP4kdG=Jk%H{Vwh>4o%sMvbl__?_iMloWC9Uv$dvQKmj6^C z)1BS9^E^NM4WYXhiGWE|o<9fla1ivu0us>_O+-)hBY71F)V@}D^vDZsSo4F>Q5ESQPr7iW-#eSimLxPwpA7>fv`A^~@8|HziD z@CtX)f^UVX(WGSqfgNCl+J&m@423cQh*+^$2^`odrc9MG6{*;ysFNy9txEN()vQ>zYVFGPYgS5>qDqofiBd60w02pcQiY0@DsipQ ztz!4?T`X1f^4;sVFW|p|0}~!>xG>_wiW4(l?6@)H$C4vco@}`?=F5ud($&j_iytSx z%%MY9uG~3u=gyT*ZSFPf*s^ESu5J4^?%c0er)E9s_b7Jk+65PG{5bOD%9k^5?){uTF9%D)}OC@t)flDc<;DHM=SW1CPB@+xI001xnBR1HOO*R^OxM4Plq_W2zyznvy zEp>zfQbG(h)Q~tYKBPz^ir7dajg8!(O$8vxk^qni$TB36Ab@ZHIWg>TgCKI$A%`5c z%(2QMi%ei)0R|9YApr(_@PPqd<^Vt*cjOUF9%-hDW-x8K`6irkz8T9n`|OiXKX~fd zkDdMW!w)}p+8Ik7pnx(9qO-UWj48_urOGwe1Qk@IlUf=nrjlA3O{S7Y`Y5QXoFb}G zr7m+Ss>=YAha11(lISeB$oh*KYS3EiFRr>e>#elr`YW)q3jaGSF1x-;tgyetnrpFj zSi_G$>J)QkFaVYUA%YDqb?PanLR#sjJ>67OO|7(o4Z7Ggvu-nlfM5Zhw@Cc2BG!~t(n%>TB#t)Y1Tc;$ z$}lqwxi;w}E>0)=1e8!j9fg!q3R+{0RAAZc70x&7+|?vyktNA0v}Dl*U2e&B^jvr; zof*@bHT|^HQA0ho)Kyb`wbheRK?N6NI8lgds;%bBIb?^e8`^2Bz4mSB00CTa(8)bF z-E}+H&T!NHW}SI``~5fIfRo^X102A2cm(z-P9J{W?Ekl)e*sFK%(VzQm~FO8#cW{Z z1|lv#k2G4u#RkiiQni;+pj zaDyUG)}j2ARbB}|mRkbQ<(FE1kb?lhn5icBYo7VNoZ+LHhcFYovrnGs>)Gd@f!djm zEU`!f#xHIR2r9UnTG~@I!*Gh}{`~j9O??V~kUAiyzIBaf7-bo!Xw))H!74W-D_6F% zAg+L=L0nvLgT*oyuZ*QDW(^C3Zg7J$WZ{o@NNY_1>I3EyRG?E`!zlTiR8MwNGGdr3 zUFu?2D+pnM5QIP$@&W-#w4sYXJV_4xsz@pZcK?VeJ_L5NlaV4~;V(f4x z#ZX%gB2eWHR0_~dKy)A~-G)vVh}4ycb+qW$8(jn=jKtu0yz5;%W01xQ{O(50QCpc98OA8ION{|Yx=(f4y99>>ghE^m8xw; z&=kP9g9d+MCk%&VKc8Z6fMn)8ZFff9#ApVk= z#3n+_^%B6>bDWV@3L`5$uKX4HdKX+g&5l zk&TRmT6U2Ixa^jqZ+igRKEWa!6 zaWe;(!>P`7(5vosk4L>EAOU-a319mhGnwExrZMb`Uu?>-K+~k=<+O>QYcV5q1nyAj zs5od1xjuu*D#l1>)JVkRrH}|IP^0pd&xnl%#<0x`B#i$W z80@T}5RB-;in42wI6TG-We_5ddqi1IVxPl5woItq+8lwBacf-jy7#))3a-nNh&oVV z*u>64v3+|q;6l6k(RM!cpD%q*)}^_m^xCz3QJT}N#@pWizG_OdU2>DZ{CNv+F8QXN z?6AB2?tk~Y3I7KHVZL|X^r`oJ@BNK@-!~Z0{4a#$-kkYc?p+fA{?{=S+=Yk^halXB zXox6O3B!?7D6D}P(1H^Q!a&#vj8xo(Vc73z+>mq};So;-w9`iD!HDq{U;P0>ty}@5 zn9H>o%uU10-5d^Hl$kJt&g~q}`5Zq;%gmfr0Qrv*9$gXUU6eT;Pb8hxJ>k^7%+*Cu zQ61F<$*Ko*pTsqp9n)Lz+E2zLw{)ww}=W6GF_hO8K3o8pSjgA zoPrHZz>w5{n?Vd^*+?w-)j%{Jy;BRT>`P(!5=#NmNnrePYuEQB@8 zPK?aR>Hl4XD2RhHuwE;un$wL|p7jw>pw_GrhyY5$R8WHN#bRtpMN~KvB<;f1Y>jRq z-)9`#@+DjJ1>^J$qc9dDF>;3WaSazZfoN!-X`sd`fuA(K(rUy~+?XFW+7kLvhc1-> z`?()Dt{eQpTQD7t{lV8U9g}|?13O}ioMqF%Ra1g60{~u2fDFO{PQd6i;5am3Hi$w5 zGMv9S+*+gvMF5N<^ui5PoW*6B#% zEhb}v-i_Euiy&I;l-|I&NaZEPFpMH8x|-~vBFn@Ysi@XcT+12d8ZF-1@5$m;NP<{6 z5-e6iF%&~0&;k~~g%%(U@*y8GBBL?(CNch|Zw6g8{tTRdbGzm7E?NYgHf>~eE(WY zJwhes$elI;*tHx(g>;iXf`~tg0*3(P!llAMl1M1X!7ijo9X!zn!jpwz7zl(QLWbwjBs@#f=Bmk7;2XsjeC}|fkkw(`w&WLttO^D3$_I5JnN`ph21}x_!6E=% zSPIHIup`|0M}Mj1S}ITxjuyGlVGq^iB4h&+5y=khWgXl?Lue5c1y&(eUX>i?VO9Vm zibLfc0;0XqV?O2;#Xv9k&(VolPUd(7yA^)8wYN}>x zR)uSdg;~HRBp|3RR^Kk_=5BU|aJDLNzN)LnYG$yiULYScsz!6719K{;u0CgUN+)#& z>uy-*Ic!&P5QldrYu!kPc23_5%gyiP{W=pr$BYv{u zmGCDW`D1_vXh1d`IiUzGNXdd8B<#G?LdMfPVO+*VB)vqa$gzSTK#XKLrJ;M`TU$ZxWodT0%*P=(kw?nRK3?n+aYom6F|7jofLzKWDcg3kR|wEs*CoHf%ih}D9m zicyehP_EjZ(czypgP^H`OZW&m)JR0!f{i>(zYL;aS)Rh>>7L>%pY|y=D8!(i-a36? zFR)P;0gUM-M58`xXq94=`J|-=(kZCceX>F?nC5AEYAlKcE!I{d$idL$qFeals!kHD zMy{+*uH;tkVQ7ICbd3{0mox6_X?QMl3ajYCMl~AiH7YCW-jZ;P*LX&&>juu?6pngS ztF>n9(XwM7zz}}!Zi4`rxQ^>FlxsJg>zX#;nhNNEl1PDuLLDe58R>x_B&s6NtAl!A zJrzlW#y}%rBxH5O@;J%9^i{zw!peyxh>9qQN)$0zEc>?a!~dpS$BN}v1z|CWgD}(( zPgPk@j#kR78vh6-t99mEvaHJbq{|YJ%%+x7h^bSaN`U~wlV;_Vjvd%xp|I@11dJ4r z0g6BDLkszz8mghvY7R53rO1AYO`(h&#$_G;5TFghBDe%O^uqQ=#KZhSMhYS;gss>r zoSvF3#x-J$P#U4a$c2@}+dfRh{1s#}DmB=V-PVMp0_h*6qRS-3=4g{j2yV@MD&aN~ zRoq%6NCJX(K^HLYZX(U&S}q$?t{b=UFk%7beg-pMTWk30=i+hbj;`odquXR>>IQPT zi5I$+*Xtg#-@IGA(eC10tK+~Og!DlvNOHFVSkgAdfB)U*BwKPa978e)uZHwv@p8!V z3g{{X!e9P@!`T80b_Dbaf+4)o4bToP`%cDX7&#yhMhe2e0_+%(Q791X3xdw{oUg*3 z6CFDk#HPf0b48bO;_9zP zCm;7QZ&>4YGOHkG^>VPTAtSO^hsSlqE(b8O;yAK57!{ZvNbc%x<=A88NOFO=wIt_m zDGUgI>Z41b>w*2FfF=SeGa7-aGV`)vymkaH$8v;Sk?b^t#g&Ai>cTGbvSfR2ye_Cm z7VID}0_ddJ`G$!}x|lLIvuLxVHKbiM+X+0Z!^|XEsQ|Q1sTI?ObL+WU$_VfP%QkKg zsZuJC%Us2h*rOz)vh30|>{XH7SJ&gJueAvz|$< z4`Bl%!0;ka0~7snVe7#|2WAhGZDEQ6M*nBDM!!f#c(h_Y3`dOg2GXrKR0%T-0uOB_ z-U{VUz}gk#o;J<&?%lK(ONArh8nD^I7bIix8K2{>F;Z8!QD3-)M~zbRVzoInutv31 zPj#?br&V9IR-ZU>6!KTE_;-XgIg+(~m^J_X$0P>`eh%Cw+ar!k@;XX4Gu*Z5j52@% zWMBVvDjfMh?p1la@+};;rw!_38jPh$HkD_jMutKT`xTX_0wX++0CcvOj3|qZ2{OdN zXpiX`Qp(iHEIKQQge1eN zjL?)SIrJsARce4+F{WnmwFE;cu;y9t z9)iObYSNY@ByMkU2J)S%Z#`~YU^usDc(;H1VkoszYe5%iZuYgtbe%&~i};8W>mL`# zZ=iVU;tjp)%_xXxSF^ajub&6Nczwt?Gvz^i(zWlpb$-G%ex~8J2E&hINQSsX1o~qs zADCYQ_K_3l9?XHpcSI<-GDQzx-rXS{3Y>B@U|*1Nsm zd+YAIzQ3El+sA%f>z4upT(jct0vILNV~+>JAav8*pX*)&=pqm~_7AAVU;L`?3%?jB zlS@qWavJBIf9HJ>FaMwX^7KoAj_=&F9Ef&Fm^;*$fQc%^f&TBm{sY9FI06X{GRc1>_}AT(4IwAFnt-K&tP-V4(<@D?e%*R@?Ax_>=YCz%Bue8YO@DrfRu%PFs#u}o zUcGuN?de;wfB$|J_WSks=l|co00A6Ozyb+8(7*%{Tu{LV8GO*e2qBzM!U`$8(83Hc z#DYWpx&XroAJ93+mvYcSr<@c`M8}*KU3?M77-gK1#u{zB@x^m=)DfLgd>n-xc6*;Kz5Ei)FvT1*OK{9Q6U{W$Of#Ht zyz$1Ax#aBQn7NKQhPmaKE2WP-_he4aV1gNhkwO`=j) z0000WzyJe2_<#Tcj?LkNLE?B8+GwSnHrhM#u*R8v-od9BafDf>D2y!9h@+9rjmf3m zP`atNcHO-xC3tmm7u}ZtizX<1hcYVMq)u7tset2j<0`GH+N!Inu$tu#a%6#sEVIr^ z3u3q6%0o`O?s7^maFYs3D8S4$NnOJdORN=P8heb>*($p%GtM;oj5N_~MlFEVbk@1G zUUXsQkJ(%fg%o9&QHA7{ly28t;f5P7n&ON@t|{jF4CXoMsGH8auD|md>`5dcue?f% zf&WB~U8bev6 zKK~4drE6W4-N!NWMh&k&(PhUGdV% zyxzqwd7Y#cD2X5gm-Z5n7|Nu$cPJ|mZO}2OyZ~qVCtKRjl z$13l=6P~f)-m1b!t6JS^52;As`hX=YWf==u%KAVKazMZP9aLI-$c96lVU6PuC4k@> z;9oRoK${#ffeEZ*1>LoqBz|;)40Or4GFVZ4RfI45>Y!c%7_jBMLJcP@7*6j2fMiG%6@PR4$C^nRsm?nk-ibD&6d($r?rwoDq#&bObdH5sN*H4~j%11u61yib3S0jy8eGNP=^(ph#^QeYBdO z0y#)R9ul#L%#L&xX&y48!&VJUjq5lPKDO34{FC1=h zBT`%}Q)Elmz7}#k>d}vUSzFuo5}2VIMKz4sTi^CJnaOlro7%KYJJ=x)bpl2(kkLCj z9Yc55{9Q0qL8##o51hvnjq( zmCs$Ff}aE^z_305&}12lpa4MVfS=_;S%{-4;93e0j{-7{VDMac%_uQKsuFgsOQa73 z>4rnvK$eI^gC!-75XE&AQ-~0VPl*aLf^mm7XoV}YVBsxt8bgS{kRNE#@mX}Lj$#C( z4}tzD%o zg0rIaG@nTXD`evsTR3J8yx0RA@}LTm&`U5R-H2Z~*umuZkxy}9g*L2nSj8SXvE#9h zBNJf@Ev$!UmONbU}z!48R`&+H4@x00Xi6JP)%3K2>(Oj3D;z4N~7=uIsDOe`R1Y= zwV+A$m{N@R%i&CMicobpm91PQ6*sMMj&B^piRl=}K88!Oi(D6_Cb=(vrKm-Z_~fZp z6){(>)nw*Cy{Bch-apk@J*{W8@(Z z*1oPciwEW{GHQ9?CU>UBjjLRtTUDvrUiaF&UjKK`)4cPYx32DMDE0;GpYS8rvJ9XM zIJ^P;;V1a`pH=XK-@+O;5XOl;_OE|=>=_OY4ABPzK`2*v;}OLF#q$rrql5J0WFq5y zL&QJ~D2U>N5D+Ok2!sHpDUhlZf}suAfDK$IAM)YGbSj4Wfdl)YhSWlaa;_NQPA-TH z7>ta_HirEKXrlBbB<}3V{4dIu=&D+Vdaz9Fpl-{shzGZ95o(5u!mNyPhKz{t>WHw6 zk}x&0VXY3~>*|0OqL3EkU=BzD6<}~DNa{DzZiB?d&qTW3Pq#Tv*#7=(ct-j4zI;uPYqqDF%L;6?xPuQ2Y<ueVAVu)@czBH?#QqV5zQ#OrqC)O5+s2Zb|IA}D+>T`4lQf&><~Zvun)5mE4NZB z@emN%qqHE;5D!ri%W{?&@kAam64!Ek=GX2bx?D_MDARo(p%B zD;V;Ct`-5?e2?3bM~gJ&dGyH^&nMkt!4M)dy>`+0o{x>W$Oidl#u7rsv#TeCHx#SQL26#^@Ows9F|(_hBrBSK6tFzo*NFQhmuqd2bP zOopo5@f|H}0Oy4ycC(`Xg8ze}bBI>TV`x*wPGJ}XGA({er_{nb50W3gQ!QY~A7sHA z1O+|iBn6L*{c^JfC-Tk`Xv3sz7&LNvsHnVjFcA)+Qqax3Foh&PBPDU>G>(w0QiF?N zvdzHG7I>k~_DT!yNJ5>a3roy6tkV?!=uT2W7>e=??=J7ELu-m564=l^tRM^Qqbs?R zMOV~CTNFkGL`AWH3&tQsPQ(|Y01?fhae7om%o0dlgb^E2mvD_OkMwhbY1gR45;1Wu zpETI)()94s7{m}yq6`}T*Qe;N>XfeDhCBDv0RU(rW41tZ{ zsrf9^7iDF>rl&Jk;r}zYNi_FMSWJ@{kL3fV0S;=xH4k+f?|@_SBBJ~SDgHtnUoZyE z5ddXy!z@m!&Jj5|>@f82IM0#)<}oKl3^10=RGVt4_-KTR;f2bAJ8e!pVfBW%^B~Q0 z=eX2%qD=)GHC#dlK4DND-SK4VQ+k>XKb!6{Fyj#T(|OJ-R?KTzseu|iLp8!kXI9c$ zS0h2q=dB_G&h`K|&ILFmbPJtE?WR*|07!(QBG5LpLp}5;6)Qw3p*$!d63}KB-h-0t zBS!o6MgP@b12)t6wF*+{a1v)MTf|3wG)RMVNY9~2kyK(i2be@>2AmX1GnPxF)bxt$ z8=8W-pbJl+tN%|#_AldtOY^`>^8iwY2h3v8X1J_U!<}dUyDF6u2{*puC^+OMhYb0T8&?71Vk&@_xJuFFJhZkUrmw1oYL9oCI z$RG`zApZ!=LA4ZiVP&adtG7jPNi8Q^cZ*3i7JRpaV};FQmjM`%0U7kt^-lI= zQ`SrGpk>AMs}NIWR>AmcR!_;zytW5UpRf5UGoIj0d{}0RsBaZe!D#i3GyyfB0II*d zuNETMP^0l_?;seEj8P%-tJr#s8Rii#kuP(@>*tTs2C@EHM z<&cV1-ysBL)jM(cZp+geOg2~l7B3jgQJt!QDAMRa3T1|&jT)DVA|sz7mvTw+2WjRb zK@y9WH4!*BbWg*~(#$h%0E}-yTBVg{Mi(YkWe<44ba^2atSwSm*IXa0RP&KK|12nJ z_y1j~<95$bL@5ChnzC?wH$^E8c?;Qi5803f);_p^l@Mn~q<4B-%X+IRG?2n&yxY(ZFr zJ8p@jOjs|{oA+-wW`a~pH6u>dC;eqzWjGnEt$+3*A2#rA?KyAv_7;4YglrFRn<6g+ z*I$P2f`GN+^lt{KYH^E|>9C43As36MSTw{`Q9Oe)Xl9EC6m+HF2HeXK*y&VQ0so7r z)ik*15KiTMs7TJ-7$nR!j-lqSEc7U3_w8_}cJ(-3?M^(z#$F>~6&%ezvVaOwi3{k% zvJx4QlNza)8V}Xu3IOp7Xu;HCDMlD}k{kBbVlB5Y8Ivhd*LckmJ2_)N`SilUbflYnMomjS$Q+MO^cX^-0}%iFk=-G0W-5lp8PkLdGXy)1ytOKGM-LPgE@iQ z2LK#6ppf|k06-byAcAwjvftpcrO|?4?=B*0sl+9li%0-1lB!Bugg+IvG19bGyPK(s z!o>DcFAklZlh0iEB8FmcRc_^&Au5;wTQE?EJy3@7RxQeNpK)i%{&rV|c>jotXdE@p z{t()PBG(5$!+0D;+tdo9N!seXn4>+Koj&DM0+b0I;iR+Ye0V{= z!8MN_OgPBpY51(2+YSux818Nwr}y}47Ky;^b?-`XU^+nVY+rY{ynH61TKT7|mJRIE7QAGHm3Y)Bm=wp(tXyUv!&2 zO+gj<2cJ0*Z}0XyW#PDMr!J)S$auBHGD4e;7^5;3r0P?RO_x*ZAQbZ22Y*mB9HEM% zm>NoQyb08c9YG4D)qAi9P7gtg4`Hj4ufB2x862I-^7|*$P9o7&Y8;hn*i|TlArSI7 zrxC5t=rs{&L6Aj_3x=8wCtSjxT|uru+NYh`rQO-D9Y8AF!nptp3b90X6q0|`!+~^1 zRLc=D=hjGkV%@S5s{~_F9N1KxbyTm#!{No*H^$#Ou8-%&>o=D18bDKFKhw?K{&&cU z{N0XRXp&r?D22&=g#diz$ptl8{0&*&A{Rgb6e!TLn>iXS*#8ukt>IF2%n2IOD>74; z2%I~$&BGbC$GOcD8qUvF011$`MeJ0S?6&dz{ebc*LIhm5xaCW!Qr zh@Z;L&pe5$yV9cwGUVWirMM)!D-|#kr7^{;s6h&(pp1twHOAXB)F_HC_YgkA)&1J7 zjBgKSJ!svYvL zpz(=U+qazyoWR?`oku%-+|5$9Dp_;VUEPnA-G7AF-W}e5P2TG=9JoPHYUc!DTrS*t znOT;i=epm!%VvkKc^DImlJCcNHpmU0$cvnpk^E&EUjMNPWdcM~;vw4r_D#y0F*UH;`+9wXVD{ok>|-UY;1nB;`+Kv)qAvs#G zRB>&EN)_2vYTLg3I=AcHx_k5f?K?Q|;lhg(KW;oZ^5x2#Gk@+p`tU2%t5cVb9lG}H z+_!trUFFJcEabU}aT29mxpU{#yLWFczWn+0>)XGNKfnI{^4a@G2gE1>j=~N*?X**1 zf(kCkV1o`m2w{X0K6v1P0#-9ah9!_tLWdrH2x5pLj!0sOCY}gRiYl(iVv8=mxMDcr z^g&rL8C4X_F*)i;*&T7b0Y@H7Wy4gFMjDyODoUoZM=DFMl8RHQ)D;UWRocE7+WBYO1HM%4(~w zmRc&Qrn)-otE}cUDyTH=%BxGmMDr_4D-A2yHO3z6SF)-s_LxT@En`YY#SFAhKKUfX z4@3<;#E?W4Srq9-eS8GcvzL}sSYf9O8yKfA_4?_kI_X46Pe093$56aDnUqpXB?*XB zQnA5?R9Iz|3Rg~XC52dQou!r|;y7G^4P}*8fg@eTrAH`u{jo>Lr0l_$Vd);GtjT{Z zs~BU;H0Bs&l1*0GDw*9J8fZG_TnTBIO(OqE&&5C@$1bkfCR@_D;r3nA-97De)KE_? zb=ARHXPwnrQ_c0(%!xN17F>McgcH83XU==?@yB-CZof_6Ip+9x4m#)zNT7iTPRMuP ze*X<&h3#C3;S3y}hf5TS`tH9!udeX=$|ZeX%CBODH zV}9>zRs0G{zn$FVe)xll`1H3DWc`mMEDPXA7~_#;C_@?3;>SA-;*V@?%OMfG#mtTY zDUNW2T$36JMNg74VsVP0pu*Lt2w_5?2t|dd2*eSa0>h}(A}h5ZSQ~JN3RGmph)1Nx zTG}FoL>R&lcZo&94j~pM2H=;6_(K#wMnzJr0*hHBt4X*BvoC%m8Ic)dFjis4Gpcc} zJe!1F;YhSyEYgm7%p?CI|7ys<0(P*@Ay0S)c?H5MRl|RiJ4o1W-odHO=oTicOL`U?mot*RiI*_bNqCFE%DxgAm9=Fq99}jXh03x7p8p)7E4^h zP=4BUCOHj?3Pbxg*<1W zuYP6hV*l*tKm*bWgf29p1&wGxTg|ao&_WidunSr^!3UMKY-TTw=}U4Jlj_;zfc8e( zP>Z@jrmfJ0GBg9$s(RHWc&)2lBsp++gSNJ<5pH#qOWuO+x4?a2l7vg#Ksf1`t4m5M zV%N;tJvW-SvyxrFYNl&qvrXIOX7T2PCq9jrdCn_9Fy4?0P>A6RV~9hIkkQt8)_27z z0pYv!S(E?%hU&lne3gL(EMS4+d*1_o)j<{P?*zwc#xwC0uOJ*@|4H;%T-4yR%G{Vz zOzXoS-WEgpAqx^ukb)PvptH=yZj^iwSnxhLujYM|VdNBrD@2NLowCEM0OH4_7;-J% zphF%mRmlw#OT@my!>C9lD1QJ;l>>0)EJu-wA^Y-6!))O(GvgEx2jfS?_$?i=xy^5O zvl}Hrnn*x`7Dl`Cqw~z?r71emY+t+Eg`+eo$cE5wuY22*^BOH&A?4IeR=gNNew$sv;UPq=fMH??YJzcfC3(h%Bpq$F<)1CaJZDzC~7t;6w z7v2yIWavnHxuvg5DT*!-5+WM#Iv@Jx1@KkzJKy&n|Gp7QDg>)4RShmUybzx7VkOI1 z8*G_|)oO}TC}R-s2&n@{dT|*y8Q@|;E0to`hb}9lKQKleM+_==LONv>FZUHc zv_l!Fa|m+?TftOK)pKh>M2El%!WLvfMlf@*FNr{9WRVSSp>%2DJ6D7lV`hUSF?Chv z7-z;-*)v9K7FRgab#rAJl5hyLfOb`o1&;P;T#$BZcXxI-9ELS$cZ3Co_8N!g9pwMP zg}b4Jf<|am&;_lrNQ;zbUnqr9sD`^i9(lF}TR(f;|snpH$d=N zj0cFMRceBBY94YplZS{VVtJN_dElUV#(+zgV{5tuZgAixqxUbrW_qj86g%`3$>c+> zCp*eEd$Q*x&y*#%_iR(Nd%trOO7eT&H7C)h&S8wa1Z~WGb=7(jvO`z(fgt}FF=}xG zco7Js@CI$*kZ^DnK9LGel?@e;bakL*9m5NI5DSfgeHC?sXa#X!bY>nQMkhrPTX#lY z_hzFZ36fw7yO4x>mIYiu8&Bw1Yp9b)6IgUt1%_rvP1A*j<&!xHScC=!&tN=D*$j68 zhdT+Cb%$qJ@P=2&1zdn0bf_M8$dzrAhjO!rnuK_PNS2`_IHq|J8)1F*^g;UtVjRC@ zhz-+#o4CmcqCyCRpbBNC3fp88jDVX9W{vG96WI6?_!MDb)-v=|lF@<;%+LxCkq_v& z5c}W{>QD@}MSyJOaR#Ic?pP@s6pu3HE+N!_B^M2=U|m762drm-z|@ZmQ;^gUf)P_h zsgMl9}AxUNuT6GxIgOE}RxkVAN za2c90gquMcb_I5rQ4Eog2y)N`h1OST=%UeaXL2W_GHR1lkOhW@qd6KIS}>zMDtAtZ z8`t55h4yGZ`lB++G=J2FSpW(E&;w7}12P~3J&*&*&;?P6rBeUd8oTiYX)tMZvxk9~ zNpvGOU1_HE@gJomAZ5v>rFB|`lWJ?(mTd`_bvkRcHJ5ZriMh}QddX{<$P|AXkgxcc zN}?2j86~d6T(EbThpCv0Njr+5in+r(b-_ALvP0U%6vLC5#7SP^MF7TA0L&u*({Kl4 zU_IDlnj4{^C`OFyf=@9KV=@7L)YvNJSDVooD>E?&%+LpSa0j)(rw+M%x$p*!!WYC~ zoC61b-Z!hu>0X)!+sHhj9hmbIeii%m%sD)d&rpTC*>X@u}O_$0#8K|jC!KvRwoV3Vop}Ld; zAOHZ62Vk%xk#U;j+CAv17_mC55Ez>Qm8+-12(AB13cP#Ump65FZ*8s0(QgriLufcVJKZKtLsTNY8uNcTAbS84@G2(nJ=!B}9UR4@jr z;5>VxCj<}-V&JkXYz1R*3MOpA(=ZDhd|0}nvsv&4(*VQf1q?_d8;7){Mhm4@RsBwdQ@Y|!>Qt0QcMoT)`JJa#ex zm3t@L=1s<E=$oFvq6+K#6a4rV?;A|^2}Jl>zfu5H<6Jt4Kn;uF2>t87 z0IZRLV8Himz+kk%5i7A35ewn~q7(nDGZp-Gd9_G)M8kTN#0xzej|K*Wzym~lv^+oz zV^C;Rz`}*51-T#qM|-q6&<9&^lZTbFM4APvkOLn5q#uw6v>|syn`c5i#8hgf3~kea zRvUchcTNCFYJ;_OQ^i(XH)F{TTFk{qy&!}*wqQ)BV!VjnAY0%dOKk`%0PY|UkudW@K-*ld)#2f~yj8u+-8y9mHXxt{8o zk8C^yFag343=k^4mOM`^mB}R$J|Sdq@iIcS8er}-V9me?#4rfTu#i)6yROX2eHUq* zO?Iwq3jxdvc`yjKiGI4AD+~W+aNgJ0%L!4)axxbd5(*2U&fpC1kPrr;z1=yN;KINw zRc7M*GMF-d#-cy^B|Z+N+}}JUx+7&j1<&+LzwlfnNo39pL*3OKG4c%0^4!0RkP1IR zyH|~rp{PkC!Eg)KAcO+l89oyUC`t=Q6B}3QghHF7HyyGe%mu-a15y@T1z*c=6Fbr)MxposK(TY=+sXg)nyC}c~I341RJh;=fxOfo?snEYp(I!15Y`vGad5xKi%-5Uw z$lesHf6$6VjV$WW_Hc) zxEP8}VI#+!%>7W#4Kf>ucRmTkF@54QU8PJ5;O`zt zwc+B6ga%V4 z*Yi+8yVFQgp(w2*N-Lep|>{L796QCyLy_;OoekQd9qEzIUU|=6VqgmdV?Et#HK6U!S>6{bZXdB8llfAFvm2tg3NoeUF%5o}fV!!5qwxH8DCjr!xl4L^2z;-rR0L*uH~ihV9&*p{e=a;V$lK zWLKZ@lB_@rT(F`WT$Af=vrw4vFS?~*&bm%q$0WxY7JCY?$oU(7ixzFzFhacv5&P}?H!)(Zj339=3fpq# z&6_cAMF?4(T%c%O$DSSgF7DmCe*qs}{1-8{*tB_birDgL&D|%5uiQ9s`oMt;_dP6k z{@wa>|G(`vRR$z*z}jkKCc#q@e60^vuDzv~N)-eXjp$A)U?IDLjwy=T;e|9O5@4fBywIV2d{Dh~SV$dMROr7iRb+njRKul$&PQsVIvt#u)$Or#9xe zL6z*;4bJnrB*54m*Fg|52jBKj`9 zSlNq}zjztri#(Je#W2GbBP9@0AbXjs$%wIR0?an!tN;TH2w{SE-myU$4ue4r#ANzV z%{ACqRHeigW6W(g;q3E`zT=F8?>*+8!-kPTR)J#;B0hB4sK22$iQtd379~(k$qqRFTQY*U=h6rwvd@E9D5gaj$!rwUdTgOcb|F(CiJC=ymdgd=3)7RAcNv1(CX zu!6(q z77p5S!wzzEH#r^Dq49M-w3ovLFpIRFj8eJhYfbea%Fj_n&$0?U~X1Ti^u82tqI; z52(BjceG;*0yFM$;SA?Ezd+zQz@e6eXaytI86W>?7U!M8;oInX)1T)>12-@tP(E3w zJb!{nM9xsh?fOyBd}JdPy<6xp6F9sCCNp`)tEe*dIUoUDbjPYtOdxEri#doi5hO+5 zkzP6^DX5f5EOn_%+b88H)3i#C;L?s-Ij5g?8K^@I;8DfQrWuQQPOCAELM0(p3R*Bw z69m*G5VeRoQ0j?U0BfEJ8(GNqIfW~Xmlmi1214*aip=N&74SU7D}?Y@Ud;tt?P{wJ z+#y!L5*DY3$b~o@3t2MA!7Ij9u05mh&QVO(6syQ*R{Po2t?pF3b|D8bmeJM->1?ib zoe^{#jI_T7woC9>6Fs)p*sXhOvPz!Rs}zslyqxbA~m7;lEO_ z7pebr&53wS-}?3jn#7T&G~e?a;P{sm+|177vP0kkI}X9(9A`PrLy9{nqeT#2XFKQ9 z3JcQ*!!PI0hB^E^0r9xzt0NJ@Lu3tSsJI{g$j3NRp_&c>BY^5MF) zQ#$GH%ff&LCZiy9naWpHqlr2yN z*|V!20)xF0AzNfLD%b*IK)t(~1~6c~6Ka-E>8emUHQ&1xRRfh+v7u!|#Z$z_$eP7f z?xV-1_&#r-EpYILL`sHZ zD8E=bKWf9au81XN$b(=o$oNBr`OAY?K$`o*zq!yqL->PLXuClm1XZ{=I7lU1XeHl* zj03cpTWU95k_B1V2MElaV!)FyOEUv9h2)947GXFJ#4w19xcq8`X<#{3uo^btCK&tz z?_fcWYn&K_L8Pof8iYZPTLYkE15!{1Rrn3TQ8{-SLYKo2(jkQYm^sv0!qmaJ19_b& zR0d{Phw}P4e~<-hFpVuVx`sNS<6#h`LlC8dx)#w(1JSVp*~vag#mK$IUrBt(R4AVgF|xbaLo0W+e4L^GokO02|7#Hvhm zvqX`zNPvV?vb{~=mM*Y8Qnbcw#7)P#ytJYMBPzyQskB5BynyI1W?zi#{o?W@C%2Ki3-|EBvU8_1EjZlnisFRbU2NVuW!R2YA4c zeu%(*7zh7hV5l_d$M%X7ne5A&w6FTeN#$6N}bJnO3I|1!KEB0 zF<`+QoXTNPr>p#%tPGuak|z%H59yh&9^*^0e2}`d23at#+ffIWTn*7|n;HYd*{~bh zAfCT0Lq63@6#-0;yq-WX%pmEy$ppJQ9G@o813b_JL%4y;e5ojL63e_y_DO_TpqYU~ z#60PPy89{56xGnwyP|?bq5?cLONB)!ltB5Ds){p2Nd#MPlslsrOR>${RL@=AB0zf= z8v24X_OSi zk|O^q0@v)+RYzM-URBp=Jgj-47lFVR`J~TzO(Tvl$8+4zd}Ww+B(|IA3DpYF>?6>D z)kk~`2YpP?a7d(m%A|VZtq6rf_S*{gLrD6&(1UEqRCun4lt@DWQQ5IXjI;q}c#z#8 zg#whMkjyTwU$%SGAx@NR%O~ zRj-;9Zp_uNTG!h>q22UOD)@ps(8aqV1~AA1XAwqI_}w1(fM&Io8~_Gi85U2Wf@3(| z9smF~NXG6wl~5VS@+B zE~~McSemz0U`3g=9cw24uJckTeT9T!bW(R4ie##C6P1HiRZg zA1P1-5H$p$sZ>j~l0|@v7Vg|vhULzsJM{wH&$MMywG+BSvpj)>9iSjr#UKpIDh{Fr zEdZAJy%c$&McifPSF<5WfjwM+Mq9xvF5nh!ft0?Y0x@6&<>dhYSXTdA@w_nzy~DcZ zEEt1AbH(7zR!&j0$D;x+Xai+n1OoVg9Kh!s_y7PPhCTp;%YO5L z7HBR2gB!oeLgQuw_cry%PFpKg-zeQ+3^7028z0rM$(^5!cqdTh7 z6p`Xdo_)fo4Ky8x!!K#d3{}VjB3OfN>W(xnN-z#%F&@e@wo?DXW-wle10KwrIR09A z((4SXr>^`;niDa8G9Dg{$st~`+hGPncA%od(?z~hM^>H{VeR9IC>8%(qS_a+IxMk6W8(lVJ zUiRfUOT1uCO|4=)uS&*bR_10lZ$JAW8tQ^s=w?^^05?!*kS3xmh_v6-6$1E8yej8& z_N!)~&JSo_Y8;hvc3)yhUgiBg08j;724`sgeWmdS!olSb*~Q|WnS>2q-Dc7SP_rt$xjpy|}Y=?K>8reL;$l`W)D zP-75k>FKcC7=&m@QXM`&7WJ(=7`PBY$VE8FJb7UbRfHSi*uU5Vc5^pIXg88=SvUX_ zW!N3#$^*Et25VS{cUWuNu^rsO(NxHj9WAO3iAkNUjR09Dyly5UEz%^txTfun!yYg% zj?(Lh!KhWrr6g=GUIQYi8dcERuEol%yvaI_r#$Yko0H@j>q23efYA1bY*>ZPg&U)4 zjnhVLe^Q<&T#$%bx+Z3A*j^A4alhKW}qUA*(mIq#4)>l6P;poBtEJVQy8Ly!YX@f8Qp6lHF- z5qI}10%>2-f-TUYWch$RXmI(y0vgJL;{|{_m`;0tgZ;kdcy5CaKs_Xq0czpSQ2FS1 zo`pe3-bqXFU?^5aJ7Cnh;pY7hFsqZ zESKTG_=Cx)B`RZwh#-s9o)%>LFD!@Gp5rp1-d>E5RPK6 z>_C<)Qf&fkCM8P7!P3Bw!7u(|>`?3~mD>NpwuPr;gE&BjXjqSkn`1B)Q+tZyD5koz z#oO3;#DKEV+YvhK?n2XE^}2MET6a3S1jEg*+f#rIWdHRlLmsDYR~pX6jiz_I&XJfNf7sNcU47UJW8=e zStRfBPWkb7EC|2m(+jLY5Z-If=6wf)Q}E_yn1x)lZ)Vtn;Wg)Yrhf%ax3v0LYLrF-NH{!9Ii(Nim|z9u~n+$wGxn zl`2?l;=HLdC(oTedjkC_G$_%bMvMOdm8MRcX56*QNfckc%3;l_b!$0uUcZ73 zD|Rf|vS!bsJ$DWrx>2Lp!Hp|-F5S9z@8Zp?cQ3nke%rYnRc*$M5{3^WPONw_a6Xr@o2PHlP^Yu2V!F=K`bRUklt0tL$xtWT-l z#{wzS-KWoOR)<(AI&?@8^XASKv5NI)k&SVrlnolhOc^O@u}KLFzv`B?NX6E@+oyhC zzV+_=^>gOz*s);8fF&!HKUx0aeM~KLihu)NQ($SQu|~)+gfK`5F%J^ciiE8|$cQSW zEY>Odh1%rd%S2Btnf8i#U>~Ba0x)sH2NWL5-n? zN+E@!iB^!QBbjolX{P~H073wxR*=o2iI9?qs;jcvs%~e(8f&cd^+De;wfdK9uDzX^ z%x}s}Qi-sXP$J1B#R?lqB#F>+6H`=h5p5M$P+RR4NnyK`w%KyKt+(Cgw9!*+fJBiD z&48j&7EMu0#Vm}p1X2GE$Bc0jMLbLclR+72A=4OyJj7BDJPZOx76#>{5EsXMu#&?P zh4g_cV{nm?L09yf#YgeV%S10A%`WU0j#IzR;G7GFy<-L%tn{q>hygAwMK)mLM!*kxOD-F0T0b@o|k zqoFoTlxII#c5AI=HwbK~*cQkgcj(qzGQj{>cPW9SVjOhJJr{U%sbph=4ccjE%Zza- zqf8)-ijs|d>ZrpHKki|^9(>M}Y2SUo*v;QDb^}PKl?JAkV1q{%IpH9|z`;g~9D*2P zhcwbi3y&$XsG6$Mq58(Cq{bM>*+tvZOS4)O{ar8vealp(BPQDPF4kc1?X z1&KQBq9#q@0<^ebEo;3jhcVls4trPybv;E4gUG?i1mFfBTA^KTAOOT%5(g@@p8D$oG~81=bB zAcRAlz8xny%L!a_Siy=v#9|!dFr48A!G`PT!b7(RlRx~Ck8XlfJ^6r7Kh)Dr_3)z~ z<5&d;@uMI9)XGbI!qVwbhoA*DiFFgg#*nzfhBb(Y7GgLajdn325bcO}C`wU>q@p7g z@n}aJs!{QbcRbr^hzP+@#q%gMq3D5>7}XOgF0a?NK@0<>DUF8rxK}0c?THy#62>?z zr;h((+{!+?;SF!}!=>?!Pfl%mpPT9jC;TB*PQf7NDhTzzL_|ta1e~g)BqhL0X=+mq z+$yI;;RsZaVuBSM>#H&dtNNU2gBs)@TY+&VR#+ogDnwzhh?NLiK+6hQ=vTC$g$0h> zFpz*8tYH0!#HN^}VH1%7No10dr*MH8IhY8(2m%UtQDk0U)JROY@CKAn!~nUl*iEcZ zlP%;y03iz*L>LQzX}}f$pfwi&a^Y8lWNc&iq9aRWz=IqBmxy=dK{MKrGSd<^xrJ5k z$_DuqEoh+%T0lb@s#1<~V8tBg(5@pT>D}-CY%SV7n$r5xj!vRCy?Xhi)T%+X!jS)< zl=8(|D(lO&Rf5O9$gJ6W=RM9wb=)xJYpd3Hm0ZtS9Lp}W%XF2zA&T;Z%5vj;Stv<(}1pDesT*6X- zU}?|QL@A#TD$9|cu%^&&j7a*f* zDNlpGANfkL)Ic=#sg}cfsrN zkADRnYB2{}%Ig>PqCDlEWG`T*Mws}{H|CGAFDgC58O?ZxmBt7V_XryMfk73Oav~38!!UC-3tInL&aFZU%j9F*&zJokiV3& z0y89nFbqoI+<+q7zzt;D|Aa^5yvZ_{0%!n8m{?9fjLA2NT_CR5ikV$8sGVB{Lonr@ zj>S*h`54`;1{fxZl6(|19GQmnT|i}`m(2*_Rhg8{&O(Jk<3Up_#DX(Lhbc;jLX{N6VH`4F0)5)^Wz`}`(5jpo^;OXIVV_wk z-I*v0_@$7sOhPe0f*kBZ1kPYWwBP#GAP(MOLB5O*c7bHAgaNq0{&ChFphUdXRABW(~tEKvxFJ#4J$Ty%daI3ELap(Mxbv4b21_ zv}6ee0~b&nLKx&v668|opmTjeB4M1y0pSoTC3vlcTO45$LM3{AQYgJ#6k6pJp3==_ z1{Q|HGQ3iq?N{pf7n_Y#^^l>_>7vmM!hfO0eii=+mYBjd(24FfhfP|%K97xekqCU04>(oM$P1Gymj)-hxL`j(}M%gI-0V)cP zGnpdfEuJgBqTd1D@n}dbC__h~S@al5F1A@2qMmE8l!3UEmDEX5nSwRQf{Ss^A?}8L zw4F5)XHXTIQ4#0v^#(E^!=s_X|4`MUFv?RM0wP%Fbt1weXs33TqXMC0I+|L8&CPg{ zXFH;r^{pB_VxOu&8VjkAu_TKm90Dz5K?**gY2hbR0OfuLWw%J&xZ zOh{I|oC_%Q6&U~wYe9rZW`qW2K`yA4f;RsHLDN7EG160*noVio6BxQC zg)oEO*#h64W@-Lih(y#vwTOmrX5Z*SFZ6;qh-#_!f-Y28X#T+-@B)i88D*BpCUzbh z+`%9~k87G4Y^LRG!Wk{GR5Z90FxLO6Zd!vl?87_!rrObm-3%v=S)=$Im9rA(Gvb(+ z^hPN(CsRQu0ZCP+DF-4LLb!%&5sYgQ6v1{r!VRSB4OGf^X4O}vN_omFdAj4OsG6&& zr>v|>AP9qdu22hALL^9nhjc*-%0zxXMUVpN!v2KBfn*yrLlX@QG4Lq3*&qH948_Pq zLPn%SkwgOD3OcgAIg+geA7N{1iUw%d)7yt}Ke83%?3_^Uw!vFw5 zs0+AN%uH}WfHsi~06-gjQA{2T!!m8d4e88iK^I5`RWwppFzM9_P0>KmO{HK| z1C~aimS*KQfQC$s#w%?PB;Nm%kewx3j?{xlh}^cOo6%;JJc-%VW`W!pX^2K_>h=Vx9fHuTH>$K*A2Z=lD^A zvIv7Mz-&{@#DwDKQ#AkW1qY?X!R!Q9TTApTv_X-IO2h}mL0>^jEnKKX@BkyAZ2EzL zDvVo1ki^OGQT>VAy|Azf>aYruY-TaT7Fdx%#OO$r!e;$!$o7jCTvi3TL@>z2UrngO zN-=*v?NbyiwBSq+@(k8;ad;ICd0kT1it&1V?R$x>e35O}aE8`-hA z7oLWr3Rs!mohsac?3@URWU7gT?xvRR9;Ct{h=V9(3OQ(lD{Dh6vo5LXLhOR(sjCV{XEaBJU|Y^a=Hj4m^cUwR$g? zAZIgLYxoMM__ELVD#INB!YUje`lfGnf@}L0K@+?){0hRVx^Mi3D;!$N^GPQugeL&| zGlSJ@KfK!P(YFtJ1eB+S7V0Hi|fUj-*D21~TlI@h{z!40>TN_;>r(2%e7@Dy=$ zXHfwt+#kmP04~sk3p2t)2&e(HLCC61{jGFnl>!Y-@DXQ0w8TLNLIe+}g2Cu4062^Q zv_VH7G0J3w7>L`*%9=A7i;xcsKpm2%@~9AT|`Y^P-S79 zF)5|-W$6DL++~S?ym2HJ9r036lVk^Mq|bQf!EETYUbhM=s6vn+3HBhb_Ym?ke9s{V zZu}5KdZ-6uo0A{HhkD3@HRy&lU$amt>YZ3}mHb%UadI&;!y9z!?Q&k1m3Eb#NF9t~ zDxhvQG!Qw!axBv_s-`OK9-fTwGVzdzEv!Kt3<5D5^XS!WNC7hH(NgjPt1}NPp;?17 zsK+?O0^{C_n(zksOtS7lEBr8G9$RlXdw2U_D>9VxIj6HaFT(#Q$G3{>BbaOay7&8< zs~{MHBIGluErKxgvp?&1g9)@dGB711%d*e{6*z@M=9P0zbb>S2f9CWXkf6L2anORn zhob)x3$sy1Z~+V}D1q+L75#!x#|v?R!c0)8y9jk?+13uL_#3F!Vle_i1og$zH<-ob2^%Tu?Hc!lSAlOHqk_k%lU~ z64nhXW*38FGj@uBU5h!xEu4upXY(}jSf28+@^&`fT90G4f-+=?EH+u_T6&m4R2|Gg zDExsita1eefGmJOse=Hgz_u*Mz^T&qE$>0?w#XOYc5eIfK-oertY&Zv_nE_{GWY*t zYP1yV4M>*U&zCg!a|?rXU-PvxWB59|mZ-_wF}rY1JG1uzbB=c)I8`EW>!}P%dS9m@ zY-c>bH$2C;e6#C0G7vT3cYg0T00Xpn_BVqCgFVKlhom1=>>mwDTvYq}kN)RONW(P9 zc)`TPNH+t=FknaXa13`07wiikC{|14fGXH@iQ|F*bR<#9l$)r+2UK7)R8dfupem4o zx_sNZPzwUifR?mS;_U zamLawJ=m?F#vU=>UA}_%D@8otbhX@-4f`jO~ zG0$;vugyu-l47#nONEb{e2FqJf=v~}^^Hz%^c1st$$wzucT;<{7k{-g|FxU*HlFXJ zpf|W%XSkv(duxC8KLR48yZ$oJrKrN6ynFfMwY<9u`riS0;94b=Un0!G7DODv4kgXo z|6rMx1gZiP4+KDP5g6x#j2;IMez=n*ixn$WAhsdE1K~j)#JFV9@`e9dj*1EMP^nVI zA(bpt+8Fp~Q3j8eJYdFr3De-p9s=A@!LkzzC;$d)9?X%a3qvegj_z!D<%$(8R6sGJ z_>o7eEn2Ez$+}f*SFT^Zh6OuTY+15r&89`WR&86hYY~ zuVKdq_le#9iQk5*& zojZY0p;|QFMtSq+(c2IuYCN;>sDcH{b8K0(<;js>yJpJlqrjJrE%{0?wG(~VzO+hW?(osV#Rn$I|xdV_u z4ml)|M8=CX)>mI`^$Dcgf?+i$(imKAFzk))DJih*Q~U9b>|q<5_#$)S1ab<5tj?#&n9ef8~k z-*~Cu;*Jk&G9ZqCyI^LjgJh7Q8BiE{2qG%Lkm@5D1bBlAE5wj0sDp6Q35$|Wa)V%- zR{9v_k3#0Dr=NgA=mR$x%3>#^l(K>;D^7}PVT5EL1`K|Q_Sfj5kv>}Kv(9uP3SWH5 zOKQCetJ>#xBMTQkl)tEL*zMq^FwwO5nP?bmFx%^PsM@n*M1e>+7$ z;fgbEMdS#9(YiYKlrcK(x&tJ<@zzVv@yD}aFV^?AWu`y>{PIhYKUD$@u+amRAw(T@ z^6>{k2`5yim}4-^kW&yj4AHj{nfc8>{V-pSMHdC1lMrU$&@o3HgDn2W;eE`JNF#aq zLzfCbaMFV5p`6lsE47JX2Q9bk5==42)bUI<$rr=T<9T65&N|t*GdjWHC#FwA{G=by zKnG2(Z{ieXv{6nKF46_9jAUY67=%YY z@_}HSgbiA(hzwc*2Ae%)VpMp8M^v^lJ+7o>Jn>1)81{i*h%6~MTS`-UW-+Q*r77{6 z;v=gVNk~pID*;1;9Oe?WsZA|wo%G}<`*Ii{0HJGQGvz5!SsAjG?QCpwhn%!{tlg;D+>P5ixXe+dn z2U4sGR>-nJ0MMIW^`h6A?R6%4A2*)xl;RYa%jWH}%eml?$UuD{5Hpf7jL|s=LJk^7 zEb`Dg4yALQ*3G5fYzNO3$un^9la6$daZi12SV;N&QIY=n2SsRupanH32oRc3E5$&2 z+*5@2!n6lo%z=0oy=a?ualAX&prh>5Q~cy7Kl%-Mr1oQxpbCW|&JE``{$r_utRV{u znKKv+mLN|Lh^d@5P^dpWMjyT$W-yOA7|1Xx1~aHsTG{FlRHbUGZV=}iAR^9GJ=UFB zSOGk*XFSiEAy@$|EkJvOVOQK2JX zd>9q-z*vM3U=}(-Y#G}ifH$fZ0HFASGE$p^h0M{iREPr}Q^v4{X%=WeYghpe_E{|k zMYMzD2~rHHv!*;HDtTP3795gkXTv9(c_(zxX|w<OjC8rj-A|G2E`|=@7@V6!{_60kcQ{s9Svy? z{|smaOq_ElrI<=9-kz5KUhE|>NtDL4uyLBi&?YgQ2}h(@M33o2Paq5Ve$Md|pz?R9 z{RODW1wzm=l3@*UyyG2`BI+@Y!BSI&YNwovpqIxSX0*?J?s1P#ssgbJq^4QTiD;^u z0iQw?su0hGFTCUe;jC#5n(>V{^y8gnjYLx-5|FUPF6af3h&7SY^_uqQt9|J!+L{1) z6hIruFbKc$fDxre>}*XkhF1KnVFaj!G!zN6(?g`Pmc65Dsqz8g51;tOH@@%xdM=XCC%c#a&dgvEX?=)Pp=W=uycD(S2c$9AL^ zm?1`bY~_F~aQb9-itOr4O34rf!kmny`al@6;dI_X7)W7T5Tt^#tPVrP6yEMs#EkCv z5beN>b;?Xt^ltBLMX3rg@Bq&d2+!~s@y_I{Sp==|B$4rG2=d4(4}d6$5`h+~pphJc zAs`~!Icv%fs6c;~&$ll}aFO?r&}K z4>qRDZj9kT>dpUl>2mDjPxu6wxDY#9VOj0~nM8rTn2943ZUG{20u_J)D{v%7vH{%d zaaiyeuHimB5CpSHI7;N}n1KY7K@v_-1=m3t60CJbj^ywrIL;7vR3rdz5C^%C5b}Tr zU(QVbek2IX1m@}>6ha{u5drCm zPF0X96#{`W3vta_B@qzO&Kj{Z_iPaYp;;zzG%3-BYRD4JDia~04t9aHmWXFg!Xz4E z6g_Vp)$um(KpN_3JGrwvA>s3@f)uo9CM){e3Kc@ktc9-K5f%zb^<;B z*OLm;B$MXR9{uxb@bMhRtse;#l>l=7nrk3QqafAhAmQd4ydfMUbT?q|x@?DYjDw_x ztis-s3#9`U009sdp*#ZM0^JKFD^Mg&az$B`Bo8hCYybmA0X~*NcUUApCT`;P14H#j zFN1@n0BjIOM|BD_KGf+2V^BmcR5)tTC?_%p2_X(_p$D51M{16uil;~biWS4!g$ zWOT@GABur6GbGH`PE^pYL*VYFMkVf8XHxqR?c&3NQXx|{HB&Ql&HPR?H#3F*JabeX zVG&kg@kldOQ}r~(3R(osI}j}rieVAt;66t}u589-c%t*@vsderE0`iHt|$+75oo5N z(^!UPiZk=tU>a0L1}1Xh#nmXplN_0$3q&S7 zUymtHLJSmUTY~{9m?BtzwO)PoEzl7Qb^((#3Ac3XKLOTi*pHMRBe)9mV7;at*kP6G z&;AyaK~uv)apN1pAwqS-7+^4O1f)3j!#;>?L%YjP>!~{efjrtPBtbG|Q8YzMvPE5% zMN#tL%3}~%us&MyMsu{{maOZl>AwI>LCmR0lVQQuDM@AU8u+FtQ|>7LIg|^BK}xAK z$AH9m$b=VoLFQ(z4)kCTl!QsX6iiW!=T?lxu;ii4^h;zc6m+C4;j}E-#7)>B4}$5V z=$7B$a!;%dWSO=u?eb4+$H~-5LEeEM-~k>k1f9T4577=&cIpo^#mjsOs4TTof}v6? z1yeUwQn?0BoWF7-3rB2n@Uxu`-Vfdh?A40035R8fHNw+=XYVa~7Nxj835o zG9p*gllsOre1**>E@BL};`I=VU7>;zP$pwWVqUL+cXxMw)uR0W?80BsFJSd|FxU?r zN{QSMHh|GBAnWg8Ar>_xb~e7jH7N8a>n%~tvZZqc|peNpm^j!YemcvqUUSDHcF(V=d!14gAPr_L`~ZiqulmQ z#XwF62gok$qwW-M!%!lRk_`LwP<9kiRLXx~#~Pf$LG}S3oZ%MEDH%wmQWy1cB^MAW zw{k1jQW5zMGIvums1P~Va}#k98L@Olml{M@988rI;D8kWPGg`h02|0rIX@x?m;rf@6MYkl3y|SDa{!qK0oums z+MI%7h{4&Kq0}_*cD3M|ukjkMbzGYdi~yhwx&YedWnI@Z3+_NT8HQmP0eO`z+HU!s z>31gtVqfPXxAym*`8V9g&0rN)fc<$g5L6%!IASICHWYGb5!#1!X*i0qe)uG0?W7fe zGY;~=WSfa3LD*$CKmka&qdnS$FCe5vI;2C`B$;Uf7-1Ng;TV|VPweY1mto2BvP4cH zJj8(&h^lgVIGv1^MEnm!aYuqB@}YZYPLNoMc|>aev3BO>;EAs`d1!%1s}+E}#-@-K+Lnyj6i%fERiXfQYW`N9(hyQtg$IM5l2-Vs9~}vTe4SS58xmUP&bq% zv6M;qvpqYsK^v93Y7c~gm1P%+w1ODvC0u7Ycby2HWn0>O_gzk63{=4-etBAZU}k7> zn9(<2-hcpnledRrW4eMTsJ9DBfw!5n6vhBsz4s`vSqtJ9e7RXXQ3ja1Z}YZ-UBTdt z$d?($U}Sd23T8XKdv%_7!D;LnpW*v2&cPi2_IbFF>!0yk{?d(=23j>7)HWovzxtp; z_l9G)>!J6pqg25=#AAa)k|aggqe*zADZIihoWffa0T95X8NmQcA>wjWfA-@c_veoF z@<4!rk#`y>eWP|9k~o4|If$5oD|k*+Ar~^r<<5kkd}J#3;1ARmM}V+M{vZ*A#Y?|7 z1hTj*yEseC_IuKl3XzVC*R*Y=K^cB*tuL&NgDg+sn8@%4$#fK@Ox!?lszXv?92~?R z+(91XLGKbQfUHBT6|AQ#>9 zVm{yvXb}s}JJhw^mWe&v>RD>yJKRG_pWQFN&D}B7jsDoJzuztY0K6O2aKP8;H2qdF~9m&;49e0bPRxy)&hN&?P%GL3y(k9n$%}?;~Bb zO?lAnpz_!XD_}VbHvJPj9d|oVy&XT2YFjs{U>4j+kG4;kf&29!!d-b=Wq4p3#^52Y zO}RnQXUG=-a$;hzm9?_~U9F%C+JF$IVb(g`CssxVcwM@~wF&)wYjoBryL-P>Kd7Wg&l=5vbnfzL1^_4GN~M=3AJ!81C- z9bTjve*M|M{nOaoMR;sxn^N7_H;5j~@w%Bt)#F$&#&7GHWBIr5IW;VcMD*v!<<3dt&{WGt-vM zI(qg{s{lflg`-H1hFH23sVrF_qE;ZMt!j)Iy>#hP#EO;9J$pj&r1iz6*_LI~ieaP7 zWUG^KQ4&k}7B0z=gofn}sTbt1L4XH!ycSK>wT!2h4J2r)l&Ocvl&y0oPo6t>>LQgY z)u+#~&747R?o%qE>4c$4cRn5LSZme?V+V_qsJDk@MoWVT;%bA3?K3+0}loq1B!bku2`abV8k)V z2RwXm2YXm(VIL>}z~~_l02~8`d+l-21sKfi$m5F!+~FR66Ydw`nh&8GH!!%jQ@q_#6kHPy^e!m1>!>gubo#`-EawAO0tH{aL_jyDoL29YVtOtef!8To}5 zF?bO|*Rsjnkq0V^*kHo|12oWp0@y0B!3Gy}>+QE9Tp+@@|@ z763pq!vLeoM;%2o3`ZMngxEy@o5C0{uO$T0!4XMRkwq3^WEe*tfs`ysa4ox1OSHW7 zl1wz!M9WM#rLt2`HPulEPU2J$fKf>y#S~LcK?TB8RcUioR=RZM)gOEC!pm4_f#>++-(h!MEQ;8& z%NFUa*Cm(o&1YYI`sqjK=yj5Adg-V)IAMSIk=TVYIaukT3kv_XLE z9y-Z|6;#+*pL|q+LQL#EdYD5qs@#FgEY#1^MjXsE!(@j}vM1$~RRS-=^QYX=MjLsY z(hT!3@<50fC03ZG6{pvq`u+CjkH3F+=E=n_yNE)c0QILv8SsDzOkktVVU9;hY7~?L zl>{e9!3s{WRHT9+s#qnf4tlTzy3!S{!VwN!nF1KV0G8HLC@^4I7=$SXkr$6ptzT7B1;8$% zn8%zZ569>O!V)GdifmCM{nD3TLNXGQPz)t0Q3e}ef-y1df@41Mm@Ve8hd-oZ4|AwP z$6!*2IsD-eDq~s8Tn4kFJVj;|z=|$WY5In6SSN~Eo!L+Gwy<{QX=gw zbXnR+`m)B41ST-i7(^DesF;EDDj6s|MlqbB4}E;i9nP@EW)6ZvWFX^gssYW~mT4Ne zx#pR3L&hEKrnhRQqBp-0j&Y*(+Ro9#bFQssW6Wg zikF_&$!CB1%O^hfsn5|_C<|>c0Ps454KQ>8clxP9?yQi7FA-u)vI9UHR8*qS{j)@F z002Z~z|jtIv`Gda0096%00Vp=2ORQHnV>`;EwG15R!V7yc#wk}eBh)qwUPjSQKBr+ zXF?O=r%?Mj)S~utPXhFXQp?f6rZVuUPHn0Jr%F`>KI&1CsuToCWx=j`^{bzPpay3^ z))KVpgJ=!mt-e7*T;XydzIup6m|?~=c4T5FsbNZ@;Vfv0f``)?%=3j3rAeWk zBdUmvO5zdIsdZG41|xF%q8zB=LI_Q$dhnx#*RijCgc!r^EXvR#bwNiE_2@ufB!lkx zG)h=_Y4||Yq#zIZLmvpn7B1vd^Z?bwCC)OIw_F7PI-yT~@?#~f7#R`twiM$}ay zg$_z>Ra9V&vz)yu)>EZw24_X<2i00DT;a+X#z0{T-`cB%Edyd|JXRZPhz&yY;SH$R zVE}sgLm*;nh=o0DVmE!n#v-7JkChiOlA%VBTy~aPRBpc25FZ+1in|B-0}w0hveJ(jpYGNJPqr5|yV2*8)%>2UfTuh*0Q34?wy0AGW=1 zo&13p&jni1Tmnj$h;m}2Oq#lpg>F}VH@s4tkx)8 zIwNR?q^2{b@n6W`c0+`rKY1R@Y2U~4kCz~B6)IFi%O+I<4m*=oReJUypK0aiZva}*1wo-)>8k2{<$ARxq1dvpfelr};aQ8w z24JgYX~J@=h~f%8r$?Wzb?E@qk2OF6ptp>s;d(Hr2H4f^3&zlfR;~(jVPY_1Ys0h> z-H{@Uy#a)&hSoP=mL4uUKAN#x)so%lE$d{cm}ULl~tXUkhP2XY(1VabI#X zH*mvn3z!FQa0jcf3WtCQtbiMVP)&Yx8`!iQ%+Z0n;c+@sfe&U*==28ZbaE(2VJgQR z)L{!>;BuhTIaQW+GaX1BQ?Sv(l7yF$31b7bTJk>CQ>3} z&<6k@Q%C3{K5``hkPGr5B}z6s&La>{_hei50n7jfFa{+zc!o8Yh6ZvWUIu1l_J&e5 zcXD`Ubq7IucZYb0DO@F1s8Uve*Fl2^4kHx*4uYn5T2pAlf)S1v4ZB7|bTJK#kOz0* zSDRNYgY|jfLVB85F6xplr-yov1ptfy4A(FW$ntuZm0ABn5vFioDD-Nu7Hbu85olyr zmZe&Ywq0|P2eBnv090GWc3Zl|e6(OPdZ1japbIvm4bx|RG7}Zk77K!~ecgv`dN2pq zCVt{~jXYrsXkmVygnnzG4DT0w+=Vpd7#LCWO0fict5{0~(FeX#8rDD#@}Lj>#&5mk z4#g0G3W0E86p#R^a04 z3^fKT7Ez$U9wq{mp@WpfLj_&n28^(SQMXY&KvRt123;T@QL=?C#tfjK3tJrRtyP)H9cNV#b;z=>PkmW;g+1I<`{Q2_$v z&e()7j6$3NHY=tH06hWYT*)WQI71_e&v`K@h5+SQ5dPFYFGn{oKcUx z#Bchj50{Y*tI!&KU^c7a8J@vv%VdxUQIMbEU%Jr*axkEB5DK?JkrSCW+?Gjs6M_|( z3d==c;lv8j0g@ppl5bE8CW(?9Dq-3Y2hwmmMKV7!sFrDYqFlBjgm6+d)uJ_J0Krg} zJeCDQD0EhkBVXyFJU~-2LI(3hJWE%jOIaddkO$hs14rml<3j+0;09pOP+6E{SvL(X z+M)!I2j%w$PYISDl>-8x3Ly$(N~azsTBax}RBTBFZAd6^2zPS%rdDMRb=h}#S*Lhc zXLr_@uo8%W7HDs^5W%AVLc+p(sFj$lrB`ne45UDblNMN)NSTIZdY?F{l!}>{X+)h^ zdX)-_@d5yY5DeEK5~lWggyAouc@g+`40!-Xf_8hjXK1rXi~aI2j)#k_#ag6Ln=k=D z$LABpR!G~(eb}f6+K3a%wOoo&oZ3(n$f=y#uoXMQZQ)m})LNb07+vO9Zqn7A;Ymtw z^sS{-j!y$iQ$rY;g`SK-8V}JK!XOI!R}cMm8TQ}~&=3h+lS^c?HV8h8sE~q2csLL?9lFBRShKk{VhIwU7%P+o2tr9TQbN zD3Ycy$x`&e9{xf9ru)OP074%J5+yL4lSA4C zcVKVng&M2+q-;537DcrG#06mR2CBda&0tbBbyFW;001xz<-?LuLUu=nAzY9P2+?YJ zuq7)326r$F0B}=T`vCyZ3db-D2Q^Phca}G6vwS-`SO8S*fmC$YKm`PcaC*241SxZB zr;O`W7&KO8m1lv+r-tXJE0lY{;xN2dYM%*th}sG`gn7~unUZ;FkSZ>jxv8qVsint> zsk^$VR{(Tt3Z{rJrj{?gmkh13s$m2SopCUaQAP_xYo=-#izq|4dJ=;`3L6s>y!tW0 z##=eDT->(*pw+uvU7-lNV4TeQNKt`(T~WQ_E3MlGe!Req59t%xnXTg{G}1thcd>rn z>PGb2t>Zd>?wD#`%CQ)RkSATH}5 zHyj~SvO51^AAS470fJ&o`5r{_g_TKGBwX-t}Oc)Yg-as_{T z1$q+yKv6Kbe`2_ZTgZySK#Lm>jl0MfL@Lz)xsp4%gGWLNp?HRGYh^mmPyc>|m5D~v3Fm%P5 zv`8$Qi7*OISi-iuwkJ5D0PrK#Cv=5E@_gjMK(Dq>YBip+8;90MGHf-g&V~?Y%~@gu9~oj*F2DZDSgx zzzhH#(DOjh`rvQQ;0&di5Ts#mXWP&aeUNVhad!X+hkyripa>P<2nQ>X9{te?JJK5N z8zp@Rf3O5g00@Xc9NZ+zqJRp4V3He((()fA)k8|hKIzrCBh~>T<;H{7WgXQ*Eu}0)qe`4RO8(_o zos>ctI!9jSbS)rl_$Y(C*L~gQe|=STM%afv=X!{zcNWQerdHkn4u{wOst^IFv(}og zX{dQMd4u4XqVQLs9onZWE~fqHtc(MaUa3w50K{-Yd$C%sw20$%3amyqZ_^Nj39G|g zYyMKJm>qd`aSCj}%*}j9&rG1wtOts4GdPpZ;K$A0*3Fi51Iv2d;yg3D5DT{;-q8(y zeZ(`#u3SIE&S|l}EXjhz7mncoFVY@NU>v?2yU~y!-UJgT z91~sv5FZ?fum?m?VIPZvZ7^XO&!IG81wmEAXAL0wk z@-PqcE#LAhzY8c|e(gaY?m?DD{y9>j1!q3jR_*0KT_H>k*Gc~62}0!rQr1U?<;F9^ zTu!4z59U_?)fO&}ySd|7ujb5peUigL&>8D-zlnyVVSTF637k>fU?RX8#psMk; zOq+2GxUJi+Y0P|~7vEVDtnTW&`Z0AN>vbRq%9s_F#0uPIZG4oC4y!YYa04;Wy}@1q zilBW9O17u0z7phuf(!`=w zt4pvi!;TeOmh4%xY0<7#+m`LyvMA+NLCMmtU7LCJ?#)ZrZ{53rS(3fWHp^kehh;8i zyf|^<#xvov(Q@IkYnPM%D8781GsoJsIoPpf&!%15_HEp` zb>{{GWYnm5@z@O~UflR`hkn0;cc^0(rTjZvvUP+24!8v+<$fCU;*Pyq!txZuGHM2JuX z9V*lT2MjaR5JL+)^zcIvH{`HG1WH5z07i&0Wf}Siagn}328l+-7zep#nPY;{F_>d| z?6ExaOc7E@W|&##$n{Q9MU`usbTU5qqLlAN{D`rVkYv^ngBC7r@sdkgY^g&IIqEPo zmR@4eMG;mE5#$d&^q8ZLIa1+ejy+O|B^Fly6!BA$Ms5H>7D8nKp@Iq&x#bo5UCc8GU|9Fj7dcXEZSdE2GyHJG z6W{He-hOMR9p@sKd~(VuABCOis+nPP?X>gGJMhLM@4WMpbniVV>$B2I{#tJZ8~^$U zP!t;qJW#;}8-!2<-YK+DMBp_9arg>@&(K30Ohl2GVqbMJR~l=)hM8mX2*!FIeIz}Z zA%$GV$RvSvvPt-&k#b7=s$89rQrOtCOD}Ed(oFh8VMUx?*mUz2Js_1dlsk1w9EsqQ zB6@Ly7~J3nvba1R``g{n+NDioGV z3~*q^`Q}p}S-r4DFSJ#ZYE;8p)reQu02Z*?a|&V=D;eNQRwI?abEKm@5fJWL7$T@~h(B_N80cOlZeeOXOW2(4wJGhaA6Ff zP{JODa+DLCzy&U70Stx~G@sebWT{=f=qL@E>?gp??#;V1)=1A;Noh65W&4sEcB6}=Eg1^dw=JS&Mx)Q3L*nnkU`7B*Wt@{x{8(Fe%(ArE%|1jN?mMTvy5T?r#X6AqCINvZK% z_+5QHA}xG;ukHjHI#*hCP8S#<$o4?ocuBSjLDFK_{6R1nNtutEkh zEUh;yU@p&?+uRnsz?3W~TG3RgN}sWS1uxL9c45%n>Ei6UC_sV_mPUpyNX;!558712}CGt{mk6 zXN4{N&2umg2<#9JIz9Yh5Mz!y?X(UF+zC%`c*7WW5Z$rPGo&M#lu4*VpNsbCI)Aoe z5O)wz?FefBP=xM|LcS|rL`C$_4jK7)6D?5zCcub6^oSWh+-nb25e@2D4|~ZH>5z&Q zV>xrm}%)Re}!qxv6F-=CHO|wzYz|scSCfe}pqZ)-*f0A3 zfiYmJ>>H?!8#s#2h^hcNvN4Wvh$0cJXk#i4LHso8VNwOu(+EKw>QRA-OKYe_9!lZr zxw2aOxPo=8%jcwE1&hjkO-8qLT?}XRdLGW|H4+P3k0jP3Tl(5oASMO~Ll{D~?~d3* zCWf$tS(rQ`0!|q`(mE}CIS2*(w$%cJB~Su#b1imbw|1dGcjLd?ssM?Q0^Q=6E}()e z=mM2636@ZasnNG9pbD4qgCOt?oPhxtG^H4vK^Q2d=#n@XjJQ;4IG|~Ph`X*IbOE1{ zF77Hq>Oz_*fEhGE1FE2k!=M5#kQ%A63DVd(E3Bsb$_wI}3!b||FYH1v{6aDRtfpO9 zgVazB)gT--d<||wIyW?&3_AyOK!*)u2XY#Y4s$v^WIA=4j?HN&6Uz>(yE?4n24K*U z@pv&Jsi!bQoibyo)p4EIF*~$F1=Zz&+5m15`kgw4;(tgn>zgdKouzQv#Pv7zo^>bmPBw z(?HB}1TK1mk^n&zB*B!pf)iAUE+7LXAc7xw1QRd;8eGa4v_TkzxEN%CpJ}*NN;s)h zB^V^7gfqe-ESjTugd$jiG(ayW%p@wPr7WOAE(k-moSXY%nUnB~!5BljY)iYWOT6T{ zt#BFCK*QBoL%?K>Hyq5xiNiU(oIA|JJzPu=>%$S7fk4a-tQ$mmN<{AIy6+JZ84Ek} zft5%sJ7Tz=wadh|%bmAds81wC)l@PjD-jA9fK=2iKO4My`LjR&iv#PaMO%Elk@_+u z0ke}*DYs&&Dj9@4m;+F=1rD+lF_E)4`GeGhy#%VgXgn0&gT2^$pry)A2SPMm&^@Xm z2SuC4a2!WLqlTl>Jx56d& zWQm0IQ^u%E*fxJc?O}m!t!iY#JqygQ6rrZ8NQI zJ5hi+h(J(DNr}LOp#vC&(WZgXa%%!U!pLarKmJ<;QrJll%%q)^8e!r~A3yQxXlxc}4#IL*m3{$tziyws>zQ{{76;m}$ zQ#KV1C`1D#5V|yE!@wLI!o1U@qeF3GOg;s%$5E%pBr)umOslKR^dKGYSq4T-sYe_; z)+swR%Y(H$kkT~G4M?bkVyM;J)KD}<1b9sw5C!|2P1>|gKf8m*3#nV|9%A`T(+RWq z@I_Z~)YaKB`vB`DqRo}K4L_LdW5z8tgCRf$BpVw8krGvjfP(Fp@1a6V|gqpGEn$a$oP|o zhGb9&)dzZz2Wg=Q*)oK4fryI~qjTBNC6Lh=g;6s9k%KjugP#aVKsdnC>b65LtxO{; zIdIVjOjwSM$%X(VXxqPcBZA;Mi612mldvRVl7l@kiW4|e7g&L*gi`EcN~zpIntf6g zm{OvtQk-!C6nKOoXoE4(w=S)M!?1#r$cr^?+LzFam1#n$m0GQ+3#Yx>HqBbB71IYp zgTDMrIt^Pq9b4OQ4GsH^K26(m`cptmL7T3yy%G}&7{Xk6Xi69;bpq$+4UG^oN(>7>2V(}rs8GxrQNZtape zKm{G*DE#D4apgxDAv5P~5-V%hffUg4Ll$q5*ZA|bUW1l;C@gA`7J8VLW+{dpXoN7* zzkwat$2C}ljnRdD--Q6l!JFR$oL}AQNDkH58Rgg*jY)>U(Fzq=bxDLdAdM)b3%E=S zllX$l==j4y4Tq`=2dx_qAVJi+jj(==o?<;G~WK45&lG1<>g1`edW9Y$XWxU>BY6` zHOR)oUhQ2-dlfdrQX+a-2PSfdbl8FZL*Mj0U;k@}h2UR0cwcCaNsF0gYM$n1_D~P? zUp;b3XYSts1X&Ed$aOh{IoJi1HQ5AyLMTiFqZ|Pr^sb(z;Gel*3oa!Zyjc$J;2eCo zR{AcXxzeC5f;LElNcvGrx}_ig4nw;z2{2%U9FPGXfM|%$0bCdikV|MF#%PVsXwDce zY(fp#Fk&@KVv=qRIXqh@hGLao4k^wY&bbb60EenG)Gb!T?-`a;7_-y?#xd^OU|TngacK-?Oo6XEi7qCq6XaoNJ!?3 zY_~CDW{yn*I*1C`j_s)b;9re>Q5uEGmxMrU?q&~ttqTq3{4+QGlL7@g1UWDXlBojX zB0($oIX@7BqcJ7xasgLLf$pNxD$VW*_TU^G;e6Ivd%o_a3?-bAN*z>z6957_K!cKC z3HAEPklW~-V;N9j1Rm%C{Lb$jXoItiZ;qDl{|<00c)74ZiKZQXi5tc6oV;CYk92*8@Pz4(hYJ(!`(~P?$ z>r|y?Y7wF1*MvK>9`psRWJkA^jLmq1v;n58Gst;=9G7*G5iGfLm zYb%#)ET271)?M-c?DE~c#@@?ozU~F!)z-l#Uc*jhyLx5#XkO=aY{`!7UYTrm6&70V zD_cGmUF#8Ra0UeB<$JwX(RQK+O$TQPU}U~Xim5<_;9uE(bUHX#XO6%aZOLr@P~Prs z-xk<^oxmGaAX?Z3u!ATa?&1*ILTl9$*+9MzkJKL{O-2=6nKFlZ~_#L%fSG5Ex>jKvx#SC1R3ao)z@$S zHt+=h*LK-AeYVsuve^QbfMF{T!Tth61Q!bk^M%%!Q@}iT2p@iPpu_1vTRdd1>(jps6sCn+x$WYg^@k!YF=8$frDe+&DQ3}BFdEhK02=GB`^m#)0J`t<4l z(!rg-|oFT`0wIjh-cyA#fTBL(sapP1xpp(TCl*c|Ng%H{P_3l@6Z3ge*pqGV1HO- zVFeXnFd{<_4EFF~4sBFnMSb+qM<9j*YM3F18+zCwh#!g=B8elK2%>H&s+b~tR8Ua` z6)Un>B8~9rrr$2RI1$A;=J?`Ek3pK#qd7$yc_flaD!C++O*;8xkwO-U4mzX%SUCzi z?8K8LmtA`KC75A~IVPE9j@eE-SB_H63~he%O*q{EGv}PiB!d>7XPF|_SIe9-RY3M5zCni?vqpq7dQ ztF5-G0|K!k6y5hDRsSCc@Ov-!y6(NWbY0iJ_TF3KUVCS6y7tH>QL1}g}FmkE>v(0-e~8{?VRSXE~R2-h}$j%BAwhHTpbIgFuC?ke|8z3z_dM z2O06o6?0SD`v=r`mj_Mvfr*VbSz1_?Y&m$`V`b|*9vwSY)|#D3~2A4 z@l}v`vCj2&jWtly0H*%P@f78Y!Q+fo46gh7XNj9=Nrwen5LmEFOU2?VZOnI;@S<4n z3{QfUu1u0G7hN$~aHToa&z@IQWReeEMb{3uA6!v(eQ0%UJX{8Qm)UZz za=yazQ=G(Xu-yw&e8pSp%;!g|+z;-*`?GztFjAwzJ&cJtgHaAuFI-TXCb4Ixc0q0H zJ|IFu+gn3&C z&L1oJiCM^gjCC5VP?L+drY1pLQxrR+7z~1J*yO>^#+vH@D7CfbgZ`R{&T&iJ^9+e} zj5CX`EEV}p{X4f*XjN`;M*o>O=#nRz|yLY z<-v^`Dnb8>RmB*;t6KE{eHgUTJQZ8iv()&x`lt}$svU6C-%$9(u$My zCIOzgmu|iIZ;&UkWK!f4$D<`n&?mKVcdxI?kCy%HK1nWJf2s=*IlcBlXWB$4^>K30 z1Dl_Y4$1|Q`Xj2SnbRIp~1O1aZC2!Xp{5{rs*j+C;EZE z!r_v!7mfY4@yfbT(B`sdfq0QRoaL$UJ%+&j_~NR+FWKx=LdB5xp;|%Z7kZY9)6aMj zY{@F)SX(HpmFzle{3~odTeT8+%gy54!2C0B*0{r(kU5U51GbdqS#H;ViacK-U0(FZ>$w&_QA-aI+|7TEXl z&T8DFDf&n9kCUCpbE&W0Tlzq>2gw4;#M+cf+wi~+Sa@473%P1>%4?W}1M|^YBQ3mR z=SD^W&>qa#D5j5|VSP|&O=9d5C4v`;ETcrbycOfQ~^g0j(gBFvyd zN$-f*ijQLJX)6;=@}_y`BTlD6~-xpv; zhuI=J#Kc_B-GyE9>+VV9DRLOHK)+?2qlgrC?O* z^sV`ctZ$R_;^yQIh_W~wqbgyH1YrG0RJX)VxDp{jMDPSiYghl`W}*DjbWhN*$sA^U zD;d%^0zCv8jjY)4E%VF_@@)cDY#ib8uIC1^mH{uF{(7+RASZ}<6NX9JJ(g~xGag?> z*+4=V{!(PPff8;=jt?U64KWv5>OTQ=m;&-yt(~=^@EH30C zBvDg+C5JnFq4*m})`$@b`T%qeKw_>UF0Hb}#xlhndB%<0;g3TL{PPzWV@Wt`_EsE+ z8V<7Ujji{aya7U0lwK%+pKgj}`8kQ7CMjlR@KGXCo~A3l@Y_z?mNS)AqBOi*+<7^^ zUKN0LnMmy1-f_)J>C6d{&)R!w;%{9M+7b|YC>}A8=KoJT@?F5KKjLANl*sk8NL}%b zpa4pLO-!G7?DrZlDN^glS^?fkmZ#>+|eMBHFPevVJyB*aJek_eq)(Z4!>BTDWdwC$P)X$ zs^p>?Wa%e!p?dpS&g;EKgCGb+)Xb@rW*mBKb!RoBL#@?!9*^ z88ZEOsY^0hT9KholMbvySzNI>R~Ly)35+@*xR{*$mlc zmEUL;%N&_NuL6bZykU}Mu`YHMMT>mjs~bQyjgWvVh#K!Kx%T zGPSXLe>@_!ILchSx8lQTv-D0|mTBxjV@#Y(I<1Tt)Y$D)%NbOARo(O;rM9ajAOSWZ zPb0P?pLkqr)ik=Xut1s_ov0b&ni#bbUcmePP8WAK%9e^loO&Ua`QT`O~W0u|E?*Q(Ra<2{>0DfcVSb@hZ5$8=Q_ckYbq~~T72ul<2Aq5D6i0@93fH-@IIX7 zNd$(^jc+neaMDXNL#-$dUQ$4bFm}_eWn*HpI2)a#Ay0e@P!L-2A;Mqb&(P)YnTS7& z;u443VK$dTjcdcw8#9tW+@L;)a0`g4@Jhti`bCRxCr}m_6#nW)w%hsa+Dd${nE*V? zU-iJpWvy?-OT@2xu0s51Eq@9|+2qpf_YW_N8e2I844__4?HPvlG-D%enAkJlmu>PP z@mT7plxXpnM!5ZC&yAU^3GAY+P1FejSoF0h6~;XmwCx64rgu)c-Q3n z9~$e2V#b~o%2zbBsHjM*JZVvNUaNwE%8c}t$StCqEtni{uBEh3P9$_F{+vz{95a5Z z^+o6%c06vu`^$jJ7x_>H_&|unW_)D)&BtOO5yhd3+yj7)WOBvbch&S2A6gQ`Tv-^B0%13`l=;Ke^`8tyV~0Ol@{7J8J0IrFR%`& z(T0SR4YiT&dhhgwP)S0aF8Fl0F%livnrxY?J`(m_a6@i-6hvJlS^V4(d^~qIIGXx- z?qXtweK~e@fTT<{${g}L(@oFXe5_u#8^7H&3L~FCTfuUAZh`z2FWcrnAJxtjt4S)4 za~?W-zjl9-1XW}1m*f2|bof&>oV=>}h(8uEPBjA>VnlgNgC~F8)^$mVMZ%q<3LLy2 zz}GJH?sN6=kP2x$M!=fm0#`tN1)a~siunoU7M+6rvz*aS(fni_cFe?C_0;!D&)(5~ zY#4se56|p7iz(4ezdA_19snZO$jHeUm}DgvivO0+!nu=L`%Jk)fv1?SJ$D;>qQ7$| zY@4Kq0wbW8Z{Pju(;QFxd3Lu9TvW9G&q_0LTl0bLA}L;T?avAMef)`hen#QRZ8DH* z5lLaR4j1FX9QEA0N@^80m0L~=>#WX*>`A*w*^33HSH|ZSv_?4Aq@`&oWd=NH(adL( zC9S4r_`MqB=~5e%$QJFgQ}{N_I*GWe?{KlJ=Bk=$~efavCB1l`GlnaMcNU-(jUSV|7QHj5~{;g=rvgj=DuucOW?qtARZY_TAIJmJAV&7Umri z6w15(Slwlxq~{cDeX#Tvl==9?kS%JCFMiL64`F^h#Q!Hw`G9YHqCHAMXIQ1hO8YSS zkpX+Vqvwh8e?Ib8KDEy*46Db>U$q~KyL|Pk$Reu?gP|;Ne}FyVL4QJ^zeBkHxt>SW zJ}QY%u3mli5c_e+^p^C-=2foT4!9`K`!4UxH`31YYR+?=tf(@<>xfD3t<(_!p-nt5 z5tvCB)L?2&eg=AV^};JM$wKezts@8~{_!g^KK%23_-1NG=Ai86pj4;6%Gt#6!e2!` zGB1&o)p$9j@WIug90T7E4~;v0d*@|)2HRgfUe_>?Q6%&J0iC|?&}>0Bf`9ZZKLbf( zdc$&0WJgHSibLxfWT~D(SweuXYe3rN!L3`5byc3CSBI34LH1yQxrE$q8od_5F@+IA+ACT{CFQkYA>lYbR zHis~wnm@&lbR{USc0eKru?I?I)ux+^r=7PXwK+R|P)$db3QbiPwW~WM}TUP zm3XALehQphJ@y1CZ0I|d#XlW`aQ#nrQnOfjG}Lv%zt+0m?n?9KWROf+m+03VOq)|P zg~d+He4)aqp^&B3TLec0vY?P*a|HZ6n4wVKQyUv}>QJxGrMeWkmIUQ@?~UgC%z5D4 z#H%i;X5oN;-3eXl_J;#-9f30tqm4<~;%V<>x7W=lKU}1;$mg&5LG1i|Mnz0&`s0q> zHuLU%`F=-z*8$bC@LT>JK6 z`L4+)_5rD^>fM5UgC}gOSH5k}#_Y5_NjP~^qj%#gI}-m7Wl0@O*o?9%3+t};%Q2Iz zXBU{Rpe3h-sw_GzGocs^V{y&dgL%HYR1;YEHPI! zTf1(qB3-y`LKrUHQwM^p=Ht9m&>k*AQ)p{Vk~x|%mt%o(2wIy~91JC;C_mJ(x4^g& zNmi+D`Y-Qeis`atS-a`6`r4U%o9ygebh+kbJ2YVHzn8`HN4V}r-yTWInJCZnW z-WFv5mqz*L*vq!g4cVIv#-|ePtmLjB6>|(ZCNFl(`DC7_C}EknLqC=?x%;mU0*sF_ zWVk%)EebB4T?IlI$5Vw~1;hkZrppxmS+MtYogGS-rT37Lzz~1*tH`j~H3pxXR~Br& z(>$G@%O3-9MEkWVGF&=`(TE!ma>~N>Dhh~$WXd0Sa!m^JR#)5!ko-%t17fnpU8LV( zM~MET{GA>ejB%>)i(Plf*=*lGUVX&}fI<+l{2z1uWz}apGn9^@T1+>8Zw+qZSD-!V zPIqK;Y^A%gHEZUz2?l1;W6+u+zI^aiXMOJ5mG49~nungtm6b0nMEw3(uvP&M8e{Qs z*L}3q`P|F>WB2m`{S4>q6(iP5Q@y_rW1cFdeH!@tkN1cU7A!d$0*>=W_0KNfk9hn| z-GpW#}Bi2{ttA1=YH0Fs(0DcJ9d_=C_i^xHNg$@tGqewjO{ zX~Hu^u!})J;>d-xL7~L6(CHm$Y9ibEvs=H01+O(#;(oczad3Ci0Fw;qZzzT-X9aF7 zo^9zo=_6>7L0$tY6>8y<#E}~*%vnuh4MtXChB0F{2SVu7)-l#}c4h%HeG}BWZHnlb z_lT=teMI4%yOw{NLU1gHTi}w*Y8Yc)?cmW|v+{ze{4K6lHwz5$#i-W*)5-%g6Ba%gg@ZHCev$GYfk$e!m z8iMX96ze)4>+KnQ-YzHSTc^M72beRprZ)YGoE#B|vHG&5IsAr3Gt-mDs4b%CxC9IrUnaCDauu=;73C6gL=-L?z1efv{NbF!b=z>*m-z z8SW-!R_TrHWmI)a#OoN^Ch8TF+vg1V6U(r4eKcU~CyBuLf#rv&#DcCO#T9yxPcd{- zIl0nUcADPFq%~n+{np8$oBw5iOM*4VRz zr34nbJ>llmq3tJ32N(+^kuozwM-sQWOU-s0I2Jw|U1>TuDvh4&Uoiqp>T69AvfFd( z5j1H-Aq!g=ZyuxQsI=diWJ|4O*iyPHdxymfKzz8oJK1tAj09J=Y~yl72rD<3zP0#O z0Xufw)ZMmt&%$;t2h$P}TSI=YRx#*4HFsCJ&LvrvV~+cMVhy{Jq7{Ha6Zf=Aguh*j z01USG1PjnfwC9I$3KOv1AY?yZvQ^BrayYy7xb}#a(AECoGlC=uHAzTK3^RSh_qyP; z``f6{%`5Q+0#oB@-v`-tk_I!wj>h!>Zb;I$H%(l(@HR3hP4J4t8vhmOFlxv)RV#E& z@CIf?=)0|eR+9dfu}Jn_(XRzx^w)Z8yY+i8 z2P%kbGZ=gpX%c_4X(n;&c=F=E`7G~M5LZ7DEJh`cLaWnrJ-y+Pl}V}qfZBf`0(z() zowHgqZI_&TN$Vu#v8HjLB38ACvpMKu0*41{*YOc4e~iSEd5Ymy5ebti zVM!`;IML@jthaRgJ@0pQHA!eTU%jNIm?b%~xF~S{L106N=_|Kji)^9P^8j3V&QqYs z60OBh>P~eIB!uAxs*6Bb-4Jqd$lz|$JTZ3nN)ZD_mSTowTcE<5<9WwC&8D73i6k#P$k!!34WI` z*_szbKiVVA_J3g}PvXSLb<=)mQaTLvP^~SB7JbGz?9^1Mwc}S$Lz^1uo#Qx-l{;XW z{zeM#3ZOsX*>9Fu_EMKWq~vR@PnjQm;YS~XSg*!kyg9p3_VvO$#owOKSl4{tPkd42 zK52W#ron~qSF98$zj&0CRcI()Hh@P~w5G_+2%UQ}Fd`w|mg;)xH_N3c1MP}d(XXbr zO>z3Hk0jBHn)#yAe)g=y9*(S?uf97!;;qk8?ElffCZR%^a}-^a@2N2Re=_;`I|yVi z);yEMRY+rm+61wN6j{l6;DgB+Nu%pWB;UG(*-vbaT)A5o+yI=T)0RsB3A5T%8|(if zdK6Fy90SSS&#Ero{Z#Q9d%wHhEyoX$RqivwQWsAQO`Q!{I<1B&&-w)1MlRw070=cd zi`5aCi`%yxv;1DVHCLOHFsSs!uLxiak(+UwWl9!kl+ILBj^0nH(;oG2!gAG=GloHc zcUXvX{4m!eu?4$_B8@@ep?E zYULyefZ{cjsy8x}E^f2d2^rkYlIJn^j>-9~06jIhp%2=ZWPMnd#UZk>zbWw{_Y4T5 zLDE0;VrZ&>x?XDo;@3bDN8QJ#*?g<=+WV~9hfn$6+I~`nCjUA7RA+Fc4?G`Q&bm$0 zjvo|U!?JB=49tyRD1Mr_&2WP?2P<;-^E~-j{OObR4eSldmmDP|S_uDdcn~6b8#^Py z={FSmY>068yQ%W9YSpk|&bP0-=}iXI+I(7`%5hFmEoYaoKc2EV^#D+?(<8)}JqB~{v)zU*gvAvWR+I#LK9>p~TSZ~z z6#udT_Y^$h0f0l=Q$?#6q1&>Kg8;dGW_M}sZhECo^=t$2<%AvFKcuFF>WWxpsUk6d zQua8bO8FZ67s1}Gchsc5D1jkn?W0d;T1%iLKoYXfZ?}&r=0}C%Ct{_q(N{LeEKSKT6$^EU(Su70T2KHrd)LQR3fo^hbL#PD@*8$buRY>{nW_m?sa>fy{Y}W&#?~P$`BGa zt2g^`An#>B-~1rZj@(;pp;pnzhsU8`TcdM2`@9UuV;{)x*v&USYyAn={zprOT+|#G ze*B%l7B6%L7V5CJD{eQ6Fjnf~#w}IYV*TJxzJCyUCLt_hr@P=F0%G76l*c%Ev!e|~ z@`41+9}NCMeS=&PhP1pntZMn*L zQk7j{2!6Nuvn;}zat!vMGd5XDWpF@Rn=EM2(t&x>-!Gt`wj1FN)FP z->R=5XmgHh`z}Uy!rr5IqJGVC$*yq>sMuKnU=uHNp4$h>jiVMqnv?L&hvdC=vJPJ* z$DYa+KYdORO|r0ddrElcpNbR>)Mgr$F!25CU_61c)2?fcw^B-Qc^b+Yn;`iiUY>S# zrQ8{L${wmf#MlTaw71-}S?@abRW!#7uldHheC^)+BFd^^{Lu#!?7*E1Wb9D_@d5g7 zb{-@-sLh9yp4!H^GsFi~f^?wf?`=Pokq`Hun>TJ~f6q?o$-QDG#HOpjt;=MzldG#+ z8)q>Xck!#G{esn-*luiuFav`7{9VooA(6M77H%6 z-2EN&^44X?djozquZP~!!ZC&WL-9gBx!WlDj(>-%*S)EZyOzOFA)jDoM8zz%hsd3O z%Cb~bjyhard58Ple{^Yd&Q@p2U2bfyOw27c;shBi8$|_Q9rcda@A?YXR7gkK1(>yB z@1s%}&)MWhLIBV;MJPV)@|~h31^-13vp+8j?CNjd$8%bHBV&7HADHD&RCAhwc>A|5 zn~K*ttfje&yTKKK3JsjctE^|uf5$jZ%R*Y=8r;xnw&r6kMQlL!7^Te$KLSwF_9gI!4<+{~nXX*~fw{3Vk>Bq5;S{Iw>y5 z{-;p7Q?r0|bL_)C$wQ+Z6~hc`ack1GmUZc%mMu-0cwC!wPQVEPFhBw*}6QPI z`S2F-9*-&l#RUX zam_l+8p{~Hyn++e(#-5^1G~8I*!PlJ_>y^+1F(*LRq@TUY47skOSK4T&ww>Wt9vhs zfvC)M_&Wp)xXQ9`gqQMD+|gAMI)yB=5*{v+G^5$l|x)1x& zy;xK#wow|UiU9#RT?YSS!}6D9M3ZCrTsHvfLH|8mAqmv6hhxc`>@z|XjT#5`p+ARZ zom{(7+Adrc4?D|$5K)KpFDvFEx#+7(#m_!_&<_oQZF4IVeq0q)h}U4#`?b2(G#JlW zb&YQoT z`F%GY8Q$D;W{@O;WN9EvI%8q`tw(H)WY5M+j$rC(lSCkaVf8kXICgdyfx>v-F+iVY zMl6u=sz1g2ZZk7PL}vKoU?STK&$pI4!aP#F6}n32Tu$b^mP}Fp4g>x#JXAVwn^h}= z5tcwDwpN1oIm!bZW$WcBBLL%&;+uINUL};x1uLY*cReUoR>*&DUE1l~x)_ahR0W$I zyj8y71bmBCZ>Beww{oXby&n<_=eC$c;xt9#lLml(5EuP8YQh|5<37Qw+#@`dAQT*s`ul|1_H&o zqg!}&Mm{b}*?&=@;l{GKpCoPHSmRXI_oWRl71e6dx5_uyR}UA+F}tL4(P zZ0=($@(_zg38@b}FOzXLwKq`j>F2v|pn(|t9wGSSi78Ur6nX9a_i_g9g%$oc9?8gS zYz-Ud>12zolBXa0E53LH|L%WwTJq~f>>Tsk$}QC@FamR^%7)>ub}hz_JgNRYeAfa#uhZvALEb z2Io|siayZkdqKP}?@-6c@;cXoOJ9e2xTyq1$6Yw06gjTBEeGG*?M&nwu54}VENL?Z8kr@Ls>aXwFsM zSl=3KTpW1NPG&lnKZA$~07dn*Hdj=eyR8VOU-GYdIb|C*lU6;o=@o498c!&wcWLLQAw3So}bg;n#;@<_IMHuCg^#6co%T+*Kq4IOWxSzNdo^4XKuDeN zk!uhGY^nZ?8SPZ2NH;6{FjT_MPF6uM!ZjICp&gCP`rr3u0OLbt73lqD;}|PJXZh=v zg4L0G)l#0tr^*4Hmr|v+rF_ES+eLvD%OH8!SPa9*UK-2*((=*B{ttZ@AIgG&eF#Bof>)G|cBe#^n0fB?A%Xz{(^ChKn*y>{{a3)Tr* z_qWaUG5I_P+2SMaIEDu0_o7;UiX$^Nz?_Vzvz_d@g z1^CJ>Lk-kGI~Z~8Z=e{?N}OlzLzogOP|~Jjy3%K)c6-PD&t~F^>*YhT;(&tD+@bSt z47}nyabUR_khW7c5V#Vl)87-Qp&XR@w-t%$3L1pDyBMD|4PnmExK!sL^KYyp7nmwdRV+2TQqm3!f_*s;*IEskDkrzgJQiC1JG}eDTIF zdoVJU1%9$aKy;!=xP;02xV70Yp4VwdsK!5;KH8S@s zjt=lqYjpEAckXL+7Xac}yP5@nDT6bC19S8#F8r3!c2+TLY3I7K7KF8tzX zc!qbVFaPf)!GDU%IeD@u$v5N)3LS2@vKBB{x2Kd;F6+l=P^8bE5hmlNWOU-M;$(uS9Gw0c{ZFKlafF>zN4&UzID8v*k^X-u*iJ9;vIMB{c_PCqWx7x<^z*5$qi;*|{I z!b3%}3`l3te^0XO8U5opPFy_gB?F{2@6&?HWuSak z;M&jd2Zqjllfy|tEf`z?;Ru$qyc!Nzg**T#!IRrAq6cdEKPOOOlfNzDZ}f?8k7y{B zOiNB5cSFF8kDS%>mMi^C2A}hWNFRdPn5Ks=$rvih;SPrQrz&6LL(3yQz6uL5HevtO zM~w!BDrHECazjbbtmu*r{)o(t^V?B()xM{QeOI5rGDUNwbS7svD8Y=?m2)h^m2=Uq zW)^PD_ijw&6sR-Tgy!wJm!r1sTbdyPmh9}WzrOb$KrKLD4d7Bga<4i3+YEkU8Im_N z2)6FpW(guZ<5^u$G8(Pb4TD|enj2KKX20WaxM9&e_wrQjT$f~c^o#r207uPcGi!BH z2KRob)7)$BW~Jx%?k(l)C>OSEMI=POd~cVcd<^*DP_>R+=phL++NS9TZFqe(4;uJW zeTQFC-{)b^-~fm~0{HpzoogM`G!%kG*^oK;&SP4>9ogcO7krzr_3}QzLu#)oDyELy zYoVT&SD%SWpaomKXZciotQw%!`0(*{^g_9=#Xa*koB6p7O{ID3HG`VQ%IR%)8l+bm z+~2&`UTk~WYVOe#Vt?69Av`MMp&B*(f+7D%V?LAisEh}e%w|kXLQ|^1d0!eoNOLVs zn~BCSua)dT31>oYcpC%8gxMHN&BkoD-K~v@Ad)p&InvMrYth}zTS^0v4mux zLCDXI|3CtYB!b@t25bALHOF{{cqBlHd=#oR>A5oPz+hN zI$?#lP}DGkBg#d`<47JY^yETq;U{&6S1i%~G}tf6?Azz)qv*=QA2l@o%we&%)JKJ2 zC1j;$n;DX8?8Jx5LhqMC>Wusmz~sVq{O^^k?Ajs8Sv;rNVc{%|STT8KNgOcSG^zdG zd$wC*A{-p~J)7+fep@ov>+dxi+ZUMp^goT_2ncoxxSA@_k{d9xAVFRa=vLN#wt4oL z0Bxd7X?x(cMX8Bg%cO2#cQSwrhiJe-!;cXSbBKZ*tBiR-&Z5=qf=pGk1e6Y)p^CpE zkWV@hrQ(q^W4SNMsx{qm-#6u&YA$~N8qy|yxxQ8LN-O+kBm*l};qmt6Umyj*hGIOC zX%qs&5<@4|ftPkeH?XN2RLMR%tjCEd+J@;N(ynPWRkRwq8mA~PrhJ6}?B5R2IhvLtO)GILT0uffiHltt z?*ff-(I|*HZvuegfZR5qY_V7-eC&gJu`l9dy9`_`YeAw|VDx8T5BAD59$Z~u@K?!u zqEg4&79K2t2CZI42n!?!a_Z0#zJ$1jK`=p)WnD z4`NYlReF_yIFGr6s5Z>ZDxr4kniKGXWqG_4QSVKc=UN@tr$Ok4mtJ{XxEplTT6V&> zHU8e!c%x0j_S%FbyywAZz5SSLWV%rfDGug`e}KF$qQU)k7#xlR0GS1czoB+I3_qJf z5g;D!T=2fP=IKe@T^-xR=l;A7HW!SNu~OZ73mP|krSdWQ7!@@5^{X3~d-LBri$wb| zp+6wP+9dh=+fAbZ4=q6*6gusGU9j@yV$Da%#W_|yEzV41{d>Curut{y2KOwhESbgv&nbgH;I0U%i@#Xz_( z+he79lyn0GgcAT{9JzrgyODEIdqU+8I;0jNe#CgOeA^5kbn&NQa#MhOYd+IeDia9_ zt#4(D!NH>m(1U0jyLg39^9lf8=)<%206L5s0OVBy9&xAon9989X4y=Nk^%8D!mfYH4juTz&;CjIgp z_woettK6_DR4@-_%Shk9SXZlFkLnE$vk~}Xi;lZi8)x1`!#2?(nIK56qvwWUH2p`; zJX$maPeP)@a@~RV1tW)sF)pLYhl#H?66Z|vH{9}lweICa-54OUhEBFEW>zSER(_U_hO? z{PP4@HPN2YIU;@6x;9R3n!9ruB>$qE zeMv!sTE_N8X#vYRBmSTIYUnzZWt|FZL&Dh3+3~!9N4J_=FLhOJX;prnaBd3WB}A*)4&~Bf+QWbKWzq{LQJ6ttlVw zPPiFXcxSG~(bDAF*L-0g<{wiPmDklzemS)em`%rSo`#Is*s**DFiIeq=M>qF35CUAsTKwgbZ36jPs}!xjK%f8ns-S`Ya;6!;mGCARFgx*tN) zX?th+xNiF-_)~RG%2AwsvU~aMH$7b1s&{wGZ`jy3;aKxsDm*%FvpBPzYlQ~bKtc#i zWkCf7=suuaU(#2R@I2_1RsIIv=zp4du8MFR0hD8e%rSb@^~M!}uPPjlHf^Y)-HQPc z0Oenvg9t#*qZkJst$XAQ`{MqIjQ%2WhFc#<91GM^^!8{?a7EUR_`+~)0u&*4KQ4Xp zb8rN`rWbs5W~yoaIoH^lpe4TUG%~Pm)tlc@(a=&A_t>BC&jLJ8hrU;XfAx0*%ep7i z(GGj{d}f{}pXt!vbLUF%_35ZN5fu5Xb~@H=AHy{&GE^JVXjcyF<>8VJ<#ner$^Q|M z7%@BoUiy};bMSfa{Ab`4^7^aia~kQFJ}Hg-e9=5Lp6CqBw>TKFvV47x15!D+1VBRHYn5Ql4n=n*i5I+(QJB(CwHBsk<{$b#?*ot0u1t2Or)5 z_9Vz$_bGz60%r*@^GAqN{RzY&AEm52qV7O!s&{HSc=eJG%wJi4VOh>^Uan-Zvo%%T z<~-BYAb32DN#kf5nrAblGovvFg$*kPn1-!mVZkzC^JCrDTA2_rb`hA_-}y+Ilhy9hFtn*KgWYzPgBfsf5W&oi6t>Mxgu8Y0(k7vsXO<=-W50nKv(_monU- zT?l8QMw&cX!(&c^UM=|Gp^i*VWMRKhCcY02*b|Mn)i>DynY>%VpgAK6uAx5)SOLXUBm<@^ zrJVq5Z%yF@uQLoQCIMz+8d)}JERStw*Nwwt@@AQ&Pr6$nk&#TgPrrExZj#P#ZhKI0 z)e$N$%IP-K_9_)$LMwi?s`;n@D+my80wf?3;@|}-GcEYiuvM?8agD+6h5_@fd(h}e zJxIP@t~Xfo0OzvGC<3U$J6DTl$C`x1+!mWJXP6(;+X3OUYhpl*qzp)ucJ7Ov7yre| zJbum$1Zu4E3ofGyym&y!3)bG?sjGR9@q1+NB?>=1{qa(^7mQ%z9l=FC=ifN(jJAAyV*A7nZX@(g!-J6sY1LCQu;uMj46=i?{XOgaZH=aI=7$@ z-+`6-0D`$!n@@^`K%UI?M9K>#3(GQ>PE$UHRpBwdnLe9xjt-dFe;$2x?S-E!GVvBx zcEDlTG^-ZRUSUH?`kiOlF2KmYNLg{avaswV+pa5O28xb3WBtWOh_-UB1jY?z8?51w z1q+vPqDz#|SO&jFYUs<&JW}%2wa;5{{=Vp~nHvy(x359-)dp9MOJ9G{irMif_`*5L zC2HPv`C^0W?Rn96k8hkF-f;gRYC$#T7kp`*a6WFfR4+}y^H=QtT%L#^*equt?DWm{ z-ituklG5>bPN`mm`304L>HJddYM5@K$+$R8{zqi+<;l8GL%m*|j)>tGLel&WS^!4i>7}4G`?2b2wL9LoUw)lnHMX z>gPtj-oGUgl-G70Ip0%$^y?XhT119w9@3SkWlY4n7G%hHHAhEhtJ80Vf_L{A7Ig!v zyPVuC*p;0{6fV{|BH%3LOb2A?L6&{9)FSE0=j=?&Q_xN>Ysu$0Zfb5* z0`q$ViX*zUc2XUkwALBISCim!!ulck!SSt9X?A_B>$U1n+iznOHP^W+prj@2~$)uQOavUR^e%h%mEwDf;D6Voir3;A;Uy3ZJpaN^E zK_D_Ii>#2I%WK&&5^LzPz<}HGU_xT6t+lX45j{hhmR z{!t{^hCZ4Fp6~!8ROUI)tenIoDd~tl^@)#u@*}}v5P}&28jyf8)BpqpAOQ(rkcU>Z zq6<~XLKqU!hzf)v8i^=F5-Onyb%4SLx#&eUdXNYZgumVzh_(LcJ=|xNJ;tPiq!=^aJi#>eGRF8xtt0XB& zBErg&wz{OPX0@wY1w$Fzc$PbwHA+$<%aqTu!6M91hA^06TGq0b8eS2JNL0d>-|7~+ z&b3Qj_EKE7?2Wo8kq9|-foWFg2r^@$6OZT%4NGvDz@*7Ag;jH5IGdRYTEMUur~qRc z1KGz!)-jN2YycH7!3a>c&J_UaNeMN3cu^YYa zCJ-usf-g28CPx#r#9<^7Vd+D(&^e(bZ5d3v zOX)_Uh0}Rdbpp9cRvHS^i+0tk0Qd!2mWn&HsD*BIyBA!3N*ChcJLY%4 z{dLx}&GFxHAYln+5fD7$Ibbq?k&IrcCmHH-&;O22Atm|52R{>>pan6w!wp<$haCiA z2pu%S98O4vGYpXmJ;XvC4rqiiJgyE#XhQ@jz(xv~(1BXSo+-_?yHrFK5ruTbAsJ~s zOl*=9eF#PLF3Cw(L=`e#rHo(%f)sn;MWyPX2oQ|%Ol3SHn+|XQHQqoQ2RLw^20X_< z0cuc+fN&o9s0cp>5>kWI)TI!q$T`e`7rbyJBt?9xP)*XrtqMl0R9ve}YO+?PaFsGb zDN0g~(v-?_7PR(YEi<^XTCh}u8nSguVCIsSNA_isf4MDNwo6{dTqZN6?2#*=p$XBP zX27hu<#|r5VHW%5#=<$~acZo(9Poe(*#DUVh#`!gZ>}et;|T+kwLzZ+p@K9306T^7 z000ib3L*H+5WfJ9w~#9F1D32lz|LnlmZNe<0u%+1~#s#jcp?>sZDq= zjJajbZYyQ!EEwU?9`tQ!D;~`IZ zbZwqq<-ON=>-8tQ@I&^{!J5MM+cbxTjW1ZUSo0D2vFggrWEFn!+L!bsQ%;6m8 zI0c|F162P55@3J}T%ZCMxc^N1a*lKO!9V8~6k!(++2`>pqBR+O0Nh#lMN_xd1JE6% za4KEO8$RIB9DqCh{|CSTM2e8gv`yn0`fG!b8XBYk1#HN*j9>(ZSgMplHM?koX)r0# z@d;R4iNP5Iq(~;jA&jhAHJDK)%fx3yZg;(4pR=!=9{p1Pv9E37vxoSvN00zdGB z#PYW=91Va|EP|sAB7-b6RKqo7L*G!B_&E-Uv$#2=j^j81Ab^BRmUAZm~H8loVvx@{|x*OI!eTOuX-Ix1?CCV?+3IR;bc18+l>JV=H7(t|>{ z0k$Kf05cN@kUKfKfi{X0INCeD`x6Lb1w7IP3X6qM(1XG=yil-(#8W&)ay$GELxYH?;lEM{ z8jdK!sXQu)(6qDZw6(c{1)PXsc)%VIfH!Cwo~V}!tO71@0|Vd+9$*GT<3O8Y1Tp}@ z%t^L^;DV=FOG4NJE0COC6Uv*2gI9CGVdI>M$Q^~KKV$=m(%Bql!@-1rwyU6mT-d+8 zApnFbh^W-e&E$yA)J(t87tSH8BrG@I`5mVTMVNyS z0YLyjP{sCI60xhtB*j94-I_`CEu)0EHXuKt{Nq;tpTacAs#L`hH6U-(Lt%QL^Up;w$I6fj@Zh#TnGS=hNY~vkuZ$2Jchq4 z3KTR674)^0z=;-o!KE@x89XMXU<#_b!PLn?tU?Mlz*NLEip=axHT^w~A{&Leox@Cs zwD=v7e&vMGeJ!rJs#+srF17@NNGD?d1m)!3O zG|q`tLxY4JCX;b z#gc2H^*~wol28im1NJB{4CMtqm;*o1gB@TyxMMpsN~1M$+c}{V6@}XfyT(TeBpN-u zO2HH~$k83Og)Zt8A^=h$CEQ2Cq9eV$Bt@}c3#SIk_5ApM9GkW zzUm`X8NdMv@Blk~r{i_hveKrgkN_vy#^)OwG26UVJ5nwS>390N5Y?SG#)MpD-qTJJ^IZ ztiy7R@__*P04SIrj&;uC&^Yi2S&`KTV=#sv0fvx^#qLZm zlUv2vLPVCmk2t=MM4*5S`YoBOxesCx4$;|9EIJfYAwH(ho@=2?{Qr=mjnAVs5K=VH z3owOJfKc>e5+K>UBzi5Ay;@q#TG!IruS1VxxPwqmF(Q#rKp+J;C`Uo40Aysl5_J;< zi-A~%qgkfqSvC~F>!TR8+rr}o8$BdM($PdBM>b%CPXU! z+$lAdby$Z15QS>_vCP#{Ej@#8?oxIUjxY_=id7dVZWmiBhDabL&KU`L1qtsJtEKRR zA9#TmK$(xcUE~!%7Px0W?cLt>7~uVy9Do1@aG85fXc#~lYf|2az8QmInI=Gkip+v8 zh*rcrg_Mx1iy+^RKqjV;2nk+^q8LJ1?Sk_ajHxOJ!9drJ+W(tam58JusiQ#){~OGe znrSY$0|Rg<9%zLz7>Qt=h`=e;G2jA-P>g!9);Cbg`6D#Zp^TyWOPuJ-frwta2nuX9 z%>!Px53Z?&fHszTVXY{tpqWc4+b5#t2;bX4t8~|!P{O)7oVB3Wud!Ep;k7Q%*FIy0 zFIZ{s1>(UD;>BQ!!}u%NSgh?qV$yJp&sgl(m<=eFJ&GmghK%A{Dvsn}PKx7V>4=BW z%8p2g++z`0GIo_S4mqmjxqQpnIb;7|u(jH@gqkYWEdT1TUI+uo1HeYs!kAZLkc$w8&0*+* zkLXL1ww%C(39ODbm_WjkJ~o|-vXO91@g3`t;%Nggb8MJ}EC0Q;H3Emeqy`=ITWTZKiyIi+oY zn!8!v?(N@(&z_af0nvbhH~1Bjp$y46;PyG>Vs4pJfQXk7Q3!@ej^td76?yEHB0|t1 zaiZlt2}okl~~AzXTdRQ1`kHa zhB7z@1Cx__EpYqCwfgf;!zEa)3(u%HWzdh?3_e<#x zCW$qrh-%}3W_Sa%mWbH@zahlvL2!dO#~he0=>(*8mg0h3*t5@J1Un-_E)ausn+s1( zYQ>>-iZJwHjf1h7>HouXFSi_UyZ=|eEUK#(h^)R=r^;5I@aj>I8^Nelqxs4l7zSy$ zax7PBtdu9ysbe=)Dp;^%eY*D%d^kK}>*h^KKYx8a`tyOOCqowO4*mM{^W+JZht!%n zatwh`gMb4PSYQpZASjD~3CaQj2o+SIjf4`$5JNAzV8}`=vHa2D9=wDSVjZ-6QDTW= zplFLNYp}rv9HiJ6ql`1gh@Xu&;+Ug;IpU`ucRvD&BP-*$<4#_8A(>=7^2j9$DQBEf zMi^2`8HSZtVp)ckRcfh*8jwVilvP!cIi{IVMK#G$lTcz5By#N1MHdcjWJMKrF659F zSnSy+7G2CT!U!<1kpDsoEFhXFqA)PpsH2ZE$^xO2N?IwQioWo|0U8KEfB>I@8mg!Q z7(gni0#Q^E4>)9C0t_#(@WKi!K-#FKw^EubuDj~mE3cK#%IFV9bdkkET4X_m8w5;5 zQ4SwW6sbD={@o%5}QZdFL_Y&NL3;^V@g+>X3 zaSE!^4#Wc^)G~C%LwS5a@CR{dp>h>7+qth5RDb~h!8x2#tQ8I|w9&Qy3fyc#gUmcL zM*o)5^3II3LH}+R$ohG$6`nQ5G!m-BRCw`yDvoAlG|;dIkiU*btO7&E&o))-`rMfR9wn5j~H z@xf$60cfFZ&_HPkB!Joi8mQJ9a`6}{pLdi zTgX8UdjE)lfjTRdx=333pGCN!Z6VMq}g>d+td5TX#x!4@Pk(HBsJqBTgvMRA}J z4|`Z29sx0kLd*|$auf+?6bVUnNfMH_;f@K2!VFcK5*4S2r7LZzN@g&FmDFH|NJK&s zl-Qi+%GealF-1+1h(s|CQ3oyLNpE+$)6ag!r#tp(7fVRN3k=nQ7AQ(lwHldMGQcQH?Uz0|N7S#K*5GQFyaFP%K;y{Pz9=O1ZVb& zmjA|jkb^cnlUxj`0vB)rfV#2r1A};jG(cfaX|#bE09a+JWRQblfPqg}h#9gfb}?{L zLHR0R9YmCzx;gnW;>sw!F zU~>TkG~f=(Uae$Ez>no!n;y1rL!cj5Qkwm*N z5lKZ_L@KmoB`Q(zidW2{mA2T$FGYe9k}xBM$+%Xeh_M)usKYKank+6Di;igXlb@2% z1U~vv1%XTyAvO8QKq8V;ie%)d9C@mYQ3MAXn868LfPz=m%9BEVF_CW-%KsOr00m1R z!_BPl;b1teAkB)F0CItmT3*XfOM62_Gd4*9Ok)^>7&9>dAb=bg&0X-~6WHo?FKW6I zn;lh%ow(TrDC1ZLTN6Mt`YZrto>XH1_{HAjHBX9J?4zsO4oA;Y@6);+fBY=H$I~lnX^`XGpI=vxIE*7@C&k2LM0}F^`!M006Yz z_`nf)MU$dCEgPNDhNra+^linK8yAu>&>l>()&PKH4)TyEtYX`$+P><{K)nmEMj@=? z=E+!vQVvUGrE+W~(^@O+?zbYvDJI}bUA=QUgqof}=>mZA?zPkPdoevCX=_qw#u zu7bE*AOwNnyAKNQcw<1JUX+(ZE!+co^`PDuviC${P!SH>@CN(BeMb46``ncwk9qi8 z9!m_c4HjXBGhB&_2)3ev54MA?U;xM!ORB|>8ZxFdrGXjKxW=S{B#!fm0}GU31phApvZE}e0zeiy_^hW? ztWvK66$qlkH_M1LroqmNR1?~S7=uRi_UnV*tP6dZbwTp^%9AqFnOK-wPN&)ZYifjC zNxP*ORKfk)*FIcv*aAKAn5;yDQ=iX=f2w%Uj9L5)9bp~EKL035rPJq?pn8P^~VNRTb5t;)!pubYBpgL0 zq?=k@*t=O_8cCrP##<$PPCM9JTj1Nhje;+@f;`+E6aN9+U>!+4(9Z4j+|ME0Vo=9# zO~%AMR>VCPGpK?xNWlOsNAnCoXMI*@Y}{*foX4dP%au<9NDs*&q9UfxYr$4*ot(?f z76KdsG9bh56qo(v9MbtucXWr(*$&Ya&;i*Tb0tF^8r^g?*Zq*kcJvR_vB4UsNFBt& z0a)GDIY@xWLIO0%)}2s=RLF&}!U~Pu3x&ej#gGh%0WGZE8sHEcyj|R3;}6|I9&BSb z(jDDxV;-o&-TB*+1lV0H!X89PgH=(26<(HX2^Tq77^ai24HXYaKnA$L?m;A>B&6_( zBCVH?haH~)BpDf|U6^xVNAP-G<6?)c8`I9487mhY%S zDKG;gG=pYgTp>1xXq8;Y-NtbQ2lYtLAzC7Bl+S2Iq9V>l%V8pNz|SDe9L>$5(Mgv8 z71z%F&j5wT?X(AaAV&VU;?3nwbfHIa8JsNIC(|jNe$;|AtOzdz!U0rWFCNG*)&TS* z0C<&nC5Cy0vIKN9L&rCs-RKb5tdEOJberp0KxIKfT2_h>OExd z71<%Vo~L*zMZ%t_5Wtuc0PSgI!T(5rC7nQ~99giyfR&D9obrmHWXho&-v~GX6`UXy zKxrI!OU4+)EN}r|{@T|>AVjJ2KGPtJn*;fpo3fkwm(0?v#xfdMlp z6aT#uN)d#?xPj;0RG(1gM{yuA1Vfhvnxh)bFTCKLNYu8l48Bkkr}3$#f*L4vnNaqO zLMW-toFEr4!}CSUAXLk;X2gfB&8LPcpjPUpy^9F;<<6L(Pg#o!5@t@eAVMg_NA#4k zRMe{uL=8S>x<)2sij=kdpdSduIn>1BJWjphgc2qpD5wQ(f(2XXn_1zVVE@G^VYQ)e8bff-B5_U!?;NLO(BX12=N&>8DyYIB27t+u zhQ?v%^~eUuZBNU!+-ErABeKSDppOX1EG4ebdAh9nq~~o7z#RkwCoWxh7;S+bohkm$ za2Y6k`ey?{P=G=$d{V8^9j($~tupLKEwl)OI;eo8LppR&){(7)OsFtgD1{i~4QMEO zF{6iqC@-8{i{ygaq3GSx2si5Ojd)`?t|)#SQC*Z{8qR|gZNnnOf{hj)j$)CHUJ;al z$>cGfz)HoCB87xS!kg>@wx!O%D;6kwxPDEXSo>IXbK+BYA%*$*67Fb}??92WAYDF;boam`XB-FMD zOj{-dtTn3^{L2_9YETl)_l=qXFvBcV-?fb3PQi;$Vc7}_)wf^+xCWrypbId_ApGS( zW3H>Z0x{sUtF?R^O$-IS+UsWOL=s946-wBUG9JL9Nsy){h8+bZK!YX3Lp#I+T`erb zf*}}=f+V<(#Q!Q0#S)gqUaW9tEOIf{Vm(I4hOEby0)8xl$x>))Y+T8eXUqC5%Bj|B zWe*Mzav|fuYcz*vc!v3qmTmp)Yfu0x2rbcKZ6#asdqx+1{*UcgZ5(QccxZ?HyvKM{ zE!AG~f%buX%ttNM!XB)`*VaJThOICDqJt<1+7e^e9iuKNBQw4b+&W_@@WL;;r0u<9&G}5Rrm1IMIs^R>aChT=bn3DemI7BjZkq6?MrgfKlhH8x^z3SviFm z9jTlˣ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�C` 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 z literal 0 HcmV?d00001 From e20be6989919450c360a18987ac782c4ffe45a02 Mon Sep 17 00:00:00 2001 From: Olga Kitel <79774026+OKitel@users.noreply.github.com> Date: Sat, 30 Oct 2021 16:31:50 +0200 Subject: [PATCH 10/29] [RU] Translation to Russian (#467) * Add translation to russian for the getting started lessons * Add translation to russian for assignment (1-getting-started) * fix: return link without language path * fix: change link path --- .../translations/assignment.ru.md | 11 +++++++++++ .../translations/README.ru.md | 17 +++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 1-getting-started-lessons/1-intro-to-programming-languages/translations/assignment.ru.md create mode 100644 1-getting-started-lessons/translations/README.ru.md diff --git a/1-getting-started-lessons/1-intro-to-programming-languages/translations/assignment.ru.md b/1-getting-started-lessons/1-intro-to-programming-languages/translations/assignment.ru.md new file mode 100644 index 00000000..fd3058d6 --- /dev/null +++ b/1-getting-started-lessons/1-intro-to-programming-languages/translations/assignment.ru.md @@ -0,0 +1,11 @@ +# Чтение документации + +## Инструкция + +Существует много инструментов, которые могут понадобиться веб-разработчику в процессе работы. Их можно найти на [MDN documentation for client-side tooling](https://developer.mozilla.org/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Overview). Выберите 3 инструмента из тех, которые не были рассмотрены в этом уроке и объясните, с какой целью веб-разработчик мог бы их использовать. Найдите тот, который входит в данную категорию, и поделитесь его документацией. Не используйте тот же пример инструмента, как и в документации MDN. + +## Категории + +| Образцовая | Адекватная | Нуждается в улучшении | +| ---------------------------------------------------------------- | -------------------------------------------------------------------------- | ---------------------------------------------------- | +| Объяснение почему веб-разработчик мог бы использовать инструмент | Объяснение как, а не почему веб-разработчик мог бы использовать инструмент | Нет упоминаний зачем или как использовать инструмент | diff --git a/1-getting-started-lessons/translations/README.ru.md b/1-getting-started-lessons/translations/README.ru.md new file mode 100644 index 00000000..ef1fe68d --- /dev/null +++ b/1-getting-started-lessons/translations/README.ru.md @@ -0,0 +1,17 @@ +# Начало работы в веб-разработке + +В этом разделе учебной программы вы познакомитесь с непроектными концепциями, важными для того, чтобы стать профессиональным разработчиком. + +### Темы + +1. [Введение в языки программирования и профессиональные инструменты](../1-intro-to-programming-languages/README.md) +2. [Введение в GitHub](../2-github-basics/README.md) +3. [Основы доступности (Accessibility)](../3-accessibility/README.md) + +### Авторы + +Введение в языки программирования и профессиональные инструменты написано с ♥️ [Jasmine Greenaway](https://twitter.com/paladique) + +Введение в GitHub написано с ♥️ [Floor Drees](https://twitter.com/floordrees) + +Основы доступности (Accessibility) написано с ♥️ [Christopher Harrison](https://twitter.com/geektrainer) From 4852082167c18bf738bd8c4091b7e9af4341d798 Mon Sep 17 00:00:00 2001 From: esales Date: Sat, 30 Oct 2021 11:33:54 -0300 Subject: [PATCH 11/29] translate pt: intro html assignment (#477) --- .../1-intro-to-html/translations/assignment.pt.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 3-terrarium/1-intro-to-html/translations/assignment.pt.md diff --git a/3-terrarium/1-intro-to-html/translations/assignment.pt.md b/3-terrarium/1-intro-to-html/translations/assignment.pt.md new file mode 100644 index 00000000..371cfec2 --- /dev/null +++ b/3-terrarium/1-intro-to-html/translations/assignment.pt.md @@ -0,0 +1,11 @@ +# Pratique seu HTML: Construa um mockup de blog + +## Instruções + +Imagine que você está projetando ou redesenhando seu web site pessoal. Crie um mockup gráfico do seu site e então escreva as marcações HTML que você usaria para construir os vários elementos do site. Você pode fazer isso no papel e digitalizar ou usar o software de sua preferência, apenas tenha certeza de elaborar manualmente a marcação HTML. + +## Rubrica + +| Critério | Exemplar | Adequado | Precisa de melhoria | +| -------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| | Um layout de blog é representado visualmente com pelo menos 10 elementos de marcação HTML exibidos | Um layout de blog é representado visualmente com cerca de 5 elementos de marcação HTML exibidos | Um layout de blog é representado com no máxiom 3 elementos de marcação HTML exibidos | \ No newline at end of file From d5d99688001ab2402b5b0c79b68d2eafb40ff5f9 Mon Sep 17 00:00:00 2001 From: Ludovico Besana <35035423+ludovicobesana@users.noreply.github.com> Date: Sun, 31 Oct 2021 15:19:27 +0100 Subject: [PATCH 12/29] feat: Add favicon and title (#488) --- images/favicon.png | Bin 0 -> 6188 bytes index.html | 5 +++-- 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 images/favicon.png diff --git a/images/favicon.png b/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..9e5b4f6ac5ab75ef5467dcdb59f9db3cc7a0f405 GIT binary patch literal 6188 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 202a4877..c7868a1a 100644 --- a/index.html +++ b/index.html @@ -2,11 +2,12 @@ - Document + Web Dev for Beginners - + +
+``` + +> Nota: use `defer` ao importar um arquivo JavaScript externo para o arquivo html, de modo a permitir que o JavaScript seja executado somente depois que o arquivo HTML tiver sido totalmente carregado. Você também pode usar o atributo async, que permite que o script seja executado enquanto o arquivo HTML está sendo analisado, mas, em nosso caso, é importante ter os elementos HTML totalmente disponíveis para arrastar antes de permitir que o script de arrastar seja executado. + +--- + +## Os elementos DOM + +A primeira coisa que você precisa fazer é criar referências aos elementos que deseja manipular no DOM. No nosso caso, são as 14 plantas que aguardam atualmente nas barras laterais. + + +### Tarefa + +```html +dragElement(document.getElementById('plant1')); +dragElement(document.getElementById('plant2')); +dragElement(document.getElementById('plant3')); +dragElement(document.getElementById('plant4')); +dragElement(document.getElementById('plant5')); +dragElement(document.getElementById('plant6')); +dragElement(document.getElementById('plant7')); +dragElement(document.getElementById('plant8')); +dragElement(document.getElementById('plant9')); +dragElement(document.getElementById('plant10')); +dragElement(document.getElementById('plant11')); +dragElement(document.getElementById('plant12')); +dragElement(document.getElementById('plant13')); +dragElement(document.getElementById('plant14')); +``` + +O que está acontecendo aqui? Você está referenciando o documento e olhando através de seu DOM para encontrar um elemento com um Id específico. Lembra na primeira lição sobre HTML que você deu Ids individuais para cada imagem de planta (id = "plant1")? Agora você fará uso disso. Depois de identificar cada elemento, você passa esse item para uma função chamada dragElement que construirá em um minuto. Portanto, o elemento no HTML agora está ativado para arrastar, ou será em breve. + +✅ Por que referenciamos elementos por Id? Por que não por sua classe CSS? Você pode consultar a lição anterior sobre CSS para responder a esta pergunta. + +--- + +## O Closure(fechamento) + +Agora você está pronto para criar o closure(fechamento) dragElement, que é uma função externa que inclui uma função ou funções internas (em nosso caso, teremos três). + +Os closures(fechamentos) são úteis quando uma ou mais funções precisam acessar o escopo de uma função externa. Aqui está um exemplo: + +```javascript +function mostrarDoce(){ + let doce = ['jujubas']; + function adicionarDoce(tipoDeDoce) { + doce.push(tipoDeDoce) + } + adicionarDoce('gomas'); +} +mostrarDoce(); +console.log(doce) +``` + +Neste exemplo, a função mostrarDoce envolve uma função que coloca um novo tipo de doce em uma matriz que já existe na função. Se você executasse este código, o array doce seria indefinido, pois é uma variável local (local para o fechamento). + +✅ Como você pode tornar o conjunto de doces acessível? Tente movê-lo para fora do fechamento. Dessa forma, o array torna-se global, ao invés de ficar disponível apenas para o escopo local do fechamento. + +### Tarefa + +Nas declarações de elemento em `script.js`, crie uma função: + + +```javascript +function dragElement(terrariumElement) { + //definir 4 posições para posicionamento na tela + let pos1 = 0, + pos2 = 0, + pos3 = 0, + pos4 = 0; + terrariumElement.onpointerdown = pointerDrag; +} +``` + +`dragElement` obtém seu objeto `terrariumElement` das declarações na parte superior do script. Em seguida, você define algumas posições locais em 0 para o objeto passado para a função. Essas são as variáveis ​​locais que serão manipuladas para cada elemento à medida que você adiciona a funcionalidade de arrastar e soltar no fechamento de cada elemento. O terrário será preenchido por esses elementos arrastados, então o aplicativo precisa manter o controle de onde eles são colocados. + +Além disso, o terrariumElement que é passado para essa função é atribuído a um evento pointerdown, que faz parte das [APIs da web](https://developer.mozilla.org/docs/Web/API) projetadas para ajudar no gerenciamento de DOM. `Onpointerdown` dispara quando um botão é pressionado ou, em nosso caso, um elemento arrastável é tocado. Este manipulador de eventos funciona em [navegadores web e mobile](https://caniuse.com/?search=onpointerdown), com algumas exceções. + +✅ O [manipulador de eventos onclick](https://developer.mozilla.org/docs/Web/API/GlobalEventHandlers/onclick) tem muito mais suporte para vários navegadores; por que você não usaria aqui? Pense no tipo exato de interação de tela que você está tentando criar aqui. + +--- + +## A função Pointerdrag + +O terrariumElement está pronto para ser arrastado; quando o evento `onpointerdown` é disparado, a função `pointerDrag` é chamada. Adicione essa função logo abaixo desta linha: `terrariumElement.onpointerdown = pointerDrag;`: + +### Tarefa + +```javascript +function pointerDrag(e) { + e.preventDefault(); + console.log(e); + pos3 = e.clientX; + pos4 = e.clientY; +} +``` + + +Várias coisas acontecem. Primeiro, você evita que os eventos padrão que normalmente acontecem em pointerdown ocorram usando `e.preventDefault ();`. Dessa forma, você tem mais controle sobre o comportamento da interface. + +> Volte a esta linha quando tiver criado o arquivo de script completamente e tente sem `e.preventDefault()` - o que acontece? + +Em segundo lugar, abra `index.html` em uma janela do navegador e inspecione a interface. Ao clicar em uma planta, você pode ver como o evento 'e' é capturado. Explore o evento para ver quanta informação é coletada por um evento de ponteiro para baixo! + +A seguir, observe como as variáveis ​​locais `pos3` e `pos4` são definidas como e.clientX. Você pode encontrar os valores `e` no painel de inspeção. Esses valores capturam as coordenadas xey da planta no momento em que você clica ou toca nela. Você precisará de um controle refinado sobre o comportamento das plantas ao clicar e arrastá-las, para manter o controle de suas coordenadas. + + +✅ Está ficando mais claro por que todo esse aplicativo é construído com um grande fechamento? Se não fosse, como você manteria o escopo para cada uma das 14 plantas arrastáveis? + +Conclua a função inicial adicionando mais duas manipulações de eventos de ponteiro em `pos4 = e.clientY`: + +```html +document.onpointermove = elementDrag; +document.onpointerup = stopElementDrag; +``` + +Agora você está indicando que deseja que a planta seja arrastada junto com o ponteiro conforme você a move e que o gesto de arrastar pare quando você desmarcar a planta. `onpointermove` e `onpointerup` são partes da mesma API que `onpointerdown`. A interface lançará erros agora, pois você ainda não definiu as funções `elementDrag` e `stopElementDrag`, então crie-as a seguir. + + +## As funções elementDrag e stopElementDrag + + +Você completará seu fechamento adicionando mais duas funções internas que irão lidar com o que acontece quando você arrasta uma planta e para de arrastá-la. O comportamento que você deseja é que você possa arrastar qualquer planta a qualquer momento e colocá-la em qualquer lugar da tela. Esta interface é bastante neutra (não há zona de queda, por exemplo) para permitir que você projete seu terrário exatamente como você gosta, adicionando, removendo e reposicionando plantas. + +### Tarefa + +Adicione a função `elementDrag` logo após a chave de fechamento de `pointerDrag`: + +```javascript +function elementDrag(e) { + pos1 = pos3 - e.clientX; + pos2 = pos4 - e.clientY; + pos3 = e.clientX; + pos4 = e.clientY; + console.log(pos1, pos2, pos3, pos4); + terrariumElement.style.top = terrariumElement.offsetTop - pos2 + 'px'; + terrariumElement.style.left = terrariumElement.offsetLeft - pos1 + 'px'; +} +``` +Nesta função, você edita várias vezes as posições iniciais 1-4 que definiu como variáveis ​​locais na função externa. O que está acontecendo aqui? + + +Conforme você arrasta, você reatribui `pos1` tornando-o igual a `pos3` (que você definiu anteriormente como `e.clientX`) menos o valor atual de `e.clientX`. Você faz uma operação semelhante à `pos2`. Em seguida, você redefine `pos3` e `pos4` para as novas coordenadas X e Y do elemento. Você pode observar essas mudanças no console enquanto arrasta. Em seguida, você manipula o estilo CSS da planta para definir sua nova posição com base nas novas posições de `pos1` e `pos2`, calculando as coordenadas X e Y superior e esquerda da planta com base na comparação de seu deslocamento com essas novas posições. + +> `OffsetTop` e `offsetLeft` são propriedades CSS que definem a posição de um elemento com base na posição de seu pai; seu pai pode ser qualquer elemento que não esteja posicionado como `static`. + +Todo este recálculo de posicionamento permite afinar o comportamento do terrário e das suas plantas. + +### Tarefa + + +A tarefa final para completar a interface é adicionar a função `stopElementDrag` após a chave de fechamento de `elementDrag`: + +```javascript +function stopElementDrag() { + document.onpointerup = null; + document.onpointermove = null; +} +``` + +Esta pequena função redefine os eventos `onpointerup` e `onpointermove` para que você possa reiniciar o progresso de sua planta, começando a arrastá-la novamente, ou começar a arrastar uma nova planta. + +✅ O que acontece se você não definir esses eventos como nulos? + +Agora você concluiu seu projeto! + +🥇 Parabéns! Você terminou seu lindo terrário. + +![terrario terminado](../images/terrarium-final.png) + +--- + + +## 🚀Desafio + +Adicione um novo manipulador de eventos ao seu fechamento para fazer algo mais para as plantas; por exemplo, clique duas vezes em uma planta para trazê-la para a frente. Seja criativo! + +## Quiz pós-leitura + +[Quiz pós-leitura](https://happy-mud-02d95f10f.azurestaticapps.net/quiz/20) + +## Revisão & auto-estudo + +Embora arrastar elementos pela tela pareça trivial, existem muitas maneiras de fazer isso e muitas armadilhas, dependendo do efeito que você busca. Na verdade, existe toda uma [API de arrastrar e soltar](https://developer.mozilla.org/docs/Web/API/HTML_Drag_and_Drop_API) que você pode experimentar. Não a usamos neste módulo porque o efeito que queríamos era um pouco diferente, mas experimente esta API em seu próprio projeto e veja o que você pode conseguir. + +Encontre mais informações sobre eventos de ponteiro nos documentos [W3C](https://www.w3.org/TR/pointerevents1/) e [MDN web docs](https://developer.mozilla.org/pt-BR/docs/Web/API/Pointer_events). + +Sempre verifique os recursos do navegador usando [CanIUse](https://caniuse.com/) + +## Tarefa +--- + +[Trabalhar um pouco mais com o DOM](assignment.pt.md) + From 09ed237e0690464fa9b00ccdcebd0553075f35b1 Mon Sep 17 00:00:00 2001 From: Art-auto <30954131+Art-auto@users.noreply.github.com> Date: Sun, 31 Oct 2021 18:23:31 +0200 Subject: [PATCH 21/29] Update iso language abbreviation for Ukrainian (#491) * Add translation for "for-teachers.md" file * Use "uk" for ukrainian as of ISO 639-1 standart --- translations/for-teachers.uk.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 translations/for-teachers.uk.md diff --git a/translations/for-teachers.uk.md b/translations/for-teachers.uk.md new file mode 100644 index 00000000..7d181255 --- /dev/null +++ b/translations/for-teachers.uk.md @@ -0,0 +1,33 @@ +## Для вчителів + +Що робити, якщо ви хотіли б ви використовувати цю навчальну програму у своєму класі? Будь ласка, не соромтеся! + +Насправді, ви можете використовувати його в самому GitHub, використовуючи GitHub Classroom. + +Для цього створіть форк цього репозиторію. Вам потрібно буде створити репозиторій для кожного уроку, тому вам потрібно буде розпакувати кожну папку в окреме репо. Таким чином, [GitHub Classroom](https://classroom.github.com/classrooms) може підхопити кожен урок окремо. + +Ці [вичерпні інструкції](https://github.blog/2020-03-18-set-up-your-digital-classroom-with-github-classroom/) нададуть вам уявлення про те, як налаштувати вашу класну кімнату. + +## Використання в Moodle, Canvas або Blackboard + +Ця навчальна програма добре працює в цих системах управління навчанням! Використовуйте [Moodle файл](/teaching-files/webdev-moodle.mbz) для повного контенту, або спробуйте [Common Cartridge file](/teaching-files/webdev-common-cartridge.imscc) який містить деякий контент. Moodle Cloud не підтримує повні Common Cartridge експорти, тому бажано використовувати Moodle download файл, який може бути завантажений в Canvas. Будь-ласка повідомте як ми можемо це покращити. + +![Moodle](/teaching-files/moodle.png) +> Розклад в Moodle classroom + +![Canvas](/teaching-files/canvas.png) +> Розклад в Canvas + +## Використання репозиторію самостійно + +Якщо ви хочете використовувати цей репозиторій у його теперішньому вигляді, не використовуючи GitHub Classroom, це також можна зробити. Ви маєте поговорити зі своїми учнями, який урок опрацювати разом. + +В онлайн-форматі (Zoom, Teams або інший) ви можете створити кімнати для тестів і наставляти учнів, щоб допомогти їм підготуватися до навчання. Потім запросіть студентів взяти участь у вікторинах і подайте свої відповіді як «проблеми» в певний час. Ви можете зробити те ж саме із завданнями, якщо ви хочете, щоб учні працювали спільно на відкритому повітрі. + +Якщо ви віддаєте перевагу більш приватний формат, попросіть своїх учнів форкнути навчальну програму, урок за уроком, до власних репозиторій GitHub як приватних репозиторій і надати вам доступ. Потім вони можуть приватно виконувати вікторини та завдання та надсилати їх вам за допомогою issues у вашій аудиторії. + +Існує багато способів зробити це в форматі онлайн-класу. Будь ласка, повідомте нам, що найкраще підходить для вас! + +## Будь ласка, висловіть нам свої думки! + +Ми хочемо, щоб ця навчальна програма працювала для вас і ваших учнів. Будь ласка, залиште нам [відгук](https://forms.microsoft.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR2humCsRZhxNuI79cm6n0hRUQzRVVU9VVlU5UlFLWTRLWlkyQUxORTg5WS4u). From 0e06a19eb9f33b9b25b1a6d50354dada2d825825 Mon Sep 17 00:00:00 2001 From: Karine Moreira Date: Sun, 31 Oct 2021 14:49:13 -0300 Subject: [PATCH 22/29] Translate pt terrarium base solution readme (#495) * translate intro to DOM and closures README * fix image paths * translate intro-to-DOM-and-closures-ASSIGNMENT * translate terrarium base solution README Co-authored-by: Karine Moreira --- 3-terrarium/translations/README.pt.md | 32 +++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 3-terrarium/translations/README.pt.md diff --git a/3-terrarium/translations/README.pt.md b/3-terrarium/translations/README.pt.md new file mode 100644 index 00000000..232cd210 --- /dev/null +++ b/3-terrarium/translations/README.pt.md @@ -0,0 +1,32 @@ +# Meu terrário: um projeto para aprender sobre a manipulação do HTML, CSS e DOM usando JavaScript 🌵🌱 + +Uma pequena reflexão de arrastar e soltar sobre o código. Com um pouco de HTML, JS e CSS, você pode construir uma interface da web, estilizá-la e adicionar uma interação. + +![meu terrário](../images/screenshot_gray.png) + +# Lições + +1. [Introdução ao CSS](./intro-to-css/README.md) +2. [Introdução ao HTML](./intro-to-html/README.md) +3. [Introdução ao DOM e JS Closures(fechamentos)](intro-to-DOM-and-js-closures/README.md) + +## Créditos + +Escrito com ♥ ️ por [Jen Looper](https://www.twitter.com/jenlooper) + + +O terrário criado via CSS foi inspirado no codepen de jarra de vidro de Jakub Mandra [codepen](https://codepen.io/Rotarepmi/pen/rjpNZY). + +A arte foi desenhada à mão por [Jen Looper](http://jenlooper.com) usando Procreate. + +## Deploy do seu Terrário + +Você pode fazer o deploy, ou publicar seu terrário na web usando o Azure Static Web Apps. + +1. Fork(bifurque) esse repositório + +2. Pressione esse botão + +[![Deploy no Azure button](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/?feature.customportal=false&WT.mc_id=academic-13441-cxa#create/Microsoft.StaticApp) + +3. Percorra o assistente para criar seu aplicativo. Certifique-se de definir a raiz do aplicativo para ser `/solution` ou a raiz(root) de sua base de código. Não há API neste aplicativo, então não se preocupe em adicioná-la. Uma pasta .github será criada em seu repositório bifurcado que ajudará os aplicativos da Web estáticos do Azure a construir e publicar seu aplicativo em uma nova URL. \ No newline at end of file From 25cd2c67e5dcb1f06288be8545382b573032b498 Mon Sep 17 00:00:00 2001 From: Art-auto <30954131+Art-auto@users.noreply.github.com> Date: Sun, 31 Oct 2021 19:50:05 +0200 Subject: [PATCH 23/29] Add Ukrainian translation for 2-js-basics/README.md (#492) * Add Ukrainian translation for 2-js-basics/README.md * Update paths --- 2-js-basics/translations/README.uk.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 2-js-basics/translations/README.uk.md diff --git a/2-js-basics/translations/README.uk.md b/2-js-basics/translations/README.uk.md new file mode 100644 index 00000000..9580f0a7 --- /dev/null +++ b/2-js-basics/translations/README.uk.md @@ -0,0 +1,14 @@ +# Вступ до JavaScript + +JavaScript — це мова Інтернету. На цих чотирьох уроках ви дізнаєтеся його основи. + +### Теми + +1. [Змінні та типи данних](../1-data-types/README.md) +2. [Функції та Методи](../2-functions-methods/README.md) +3. [Прийняття рішень в JavaScript](../3-making-decisions/README.md) +4. [Масиви та Цикли](../4-arrays-loops/README.md) + +### Титри + +Ці уроки були написані з ♥️ від [Jasmine Greenaway](https://twitter.com/paladique), [Christopher Harrison](https://twitter.com/geektrainer) та [Chris Noring](https://twitter.com/chris_noring) \ No newline at end of file From c71fc1d2da2f3c464add41d82c33b1983f49d345 Mon Sep 17 00:00:00 2001 From: Art-auto <30954131+Art-auto@users.noreply.github.com> Date: Sun, 31 Oct 2021 19:50:26 +0200 Subject: [PATCH 24/29] Add translation for 1-getting-started-lessons Ukranian language (#493) * Add translation for 1-getting-started-lessons Ukranian language * Update paths * Fix typo --- .../translations/README.uk.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 1-getting-started-lessons/translations/README.uk.md diff --git a/1-getting-started-lessons/translations/README.uk.md b/1-getting-started-lessons/translations/README.uk.md new file mode 100644 index 00000000..f12ccddf --- /dev/null +++ b/1-getting-started-lessons/translations/README.uk.md @@ -0,0 +1,21 @@ +# Початок роботи з веб-розробкою + +У цьому розділі навчальної програми ви познайомитеся з концепціями важливими для того, щоб стати професійним розробником, які не опираються на проектах. + +### Теми + +1. [Введення до мов програмування та інструменти](../1-intro-to-programming-languages/README.md) +2. [Ввід до GitHub](../2-github-basics/README.md) +3. [Основи доступності](../3-accessibility/README.md) + +### Титри + +Введення до мов програмування та інструменти були написані з ♥️ від [Jasmine Greenaway](https://twitter.com/paladique) + +Ввід до GitHub були написані з ♥️ від [Floor Drees](https://twitter.com/floordrees) + +Основи доступності були написані з ♥️ від [Christopher Harrison](https://twitter.com/geektrainer) + + + + From 1180ebd81d971cf2faa7b7e2feafaaf06be8e134 Mon Sep 17 00:00:00 2001 From: Art-auto <30954131+Art-auto@users.noreply.github.com> Date: Sun, 31 Oct 2021 19:50:49 +0200 Subject: [PATCH 25/29] Add translation for 1 assignment file (#496) --- .../translations/assignment.uk.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 1-getting-started-lessons/1-intro-to-programming-languages/translations/assignment.uk.md diff --git a/1-getting-started-lessons/1-intro-to-programming-languages/translations/assignment.uk.md b/1-getting-started-lessons/1-intro-to-programming-languages/translations/assignment.uk.md new file mode 100644 index 00000000..b07f04f8 --- /dev/null +++ b/1-getting-started-lessons/1-intro-to-programming-languages/translations/assignment.uk.md @@ -0,0 +1,11 @@ +# Читання документів + +## Інструкції + +Існує багато інструментів, які можуть знадобитися веб-розробнику [MDN документація для client-side інструментів](https://developer.mozilla.org/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Overview). Виберіть 3 інструменти, які не розглянуті в уроці, поясніть, чому веб-розробник використав би їх, знайдіть інструмент, який підпадає під цю категорію, і поділіться його документацією. Не використовуйте той самий приклад інструмента для документів MDN. + +## Рубрика + +Зразковий | Достатній | Потребує покращення +--- | --- | -- | +| Пояснено, чому веб-розробник використовує інструмент| Пояснив як, але не пояснив чому розробник використовує інструмент| Не згадав як і чому розробник буде використовувати інструмент | \ No newline at end of file From 492d235e5e08c9cfb0ccb5beb9b94dd8749e09ae Mon Sep 17 00:00:00 2001 From: Karine Moreira Date: Sun, 31 Oct 2021 17:54:46 -0300 Subject: [PATCH 26/29] translate to pt README about browsers (#497) Co-authored-by: Karine Moreira --- .../translations/README.pt.md | 167 ++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 5-browser-extension/1-about-browsers/translations/README.pt.md diff --git a/5-browser-extension/1-about-browsers/translations/README.pt.md b/5-browser-extension/1-about-browsers/translations/README.pt.md new file mode 100644 index 00000000..bd7baff5 --- /dev/null +++ b/5-browser-extension/1-about-browsers/translations/README.pt.md @@ -0,0 +1,167 @@ +# Projeto de extensão do navegador, parte 1: tudo sobre navegadores + +![Browser sketchnote](/sketchnotes/browser.jpg) +> Esboço de [Wassim Chegham](https://dev.to/wassimchegham/ever-wondered-what-happens-when-you-type-in-a-url-in-an-address-bar-in-a-browser-3dob) + +## Leitura pré-quiz +[Leitura pré-quiz](https://happy-mud-02d95f10f.azurestaticapps.net/quiz/23) + +### Introdução: + +As extensões do navegador adicionam funcionalidade adicional a um navegador. Mas antes de criar um, você deve aprender um pouco sobre como os navegadores funcionam. + +### Sobre o navegador: + +Nesta série de lições, você aprenderá como construir uma extensão de navegador que funcionará nos navegadores Chrome, Firefox e Edge. Nesta parte, você descobrirá como os navegadores funcionam e estruturará os elementos da extensão do navegador. + +Mas o que é exatamente um navegador? É um aplicativo de software que permite ao usuário final acessar o conteúdo de um servidor e exibi-lo em páginas da web. + +✅ Um pouco de história: o primeiro navegador chamava-se 'WorldWideWeb' e foi criado por Sir Timothy Berners-Lee em 1990. + +![primeiros navegadores](../images/earlybrowsers.jpg) +> Alguns navegadores antigos, por [Karen McGrane](https://www.slideshare.net/KMcGrane/week-4-ixd-history-personal-computing) + +Quando um usuário se conecta à Internet usando um endereço URL (Uniform Resource Locator), geralmente usando o protocolo de transferência de hipertexto por meio de um endereço `http` ou `https`, o navegador se comunica com um servidor da web e busca uma página da web. + +Nesse ponto, o mecanismo de renderização do navegador o exibe no dispositivo do usuário, que pode ser um telefone celular, desktop ou laptop. + +Os navegadores também têm a capacidade de armazenar o conteúdo em cache para que ele não precise ser recuperado do servidor todas as vezes. Eles podem registrar o histórico da atividade de navegação de um usuário, armazenar 'cookies', que são pequenos bits de dados que contêm informações usadas para armazenar a atividade de um usuário e muito mais. + +Uma coisa realmente importante a lembrar sobre os navegadores é que eles não são todos iguais! Cada navegador tem seus pontos fortes e fracos, e um desenvolvedor profissional da web precisa entender como fazer com que as páginas tenham um bom desempenho em navegadores diferentes. Isso inclui lidar com pequenas janelas de visualização, como as de um telefone celular, bem como quando um usuário está offline. + +Um site realmente útil que você provavelmente deve adicionar aos favoritos em qualquer navegador de sua preferência é [caniuse.com](https://www.caniuse.com). Quando você está construindo páginas da web, é muito útil usar as listas de tecnologias suportadas do caniuse para que você possa dar o melhor suporte aos seus usuários. + +✅ Como você pode saber quais navegadores são mais populares com a base de usuários do seu site? Verifique sua análise - você pode instalar vários pacotes de análise como parte de seu processo de desenvolvimento da web, e eles dirão quais navegadores são mais usados ​​pelos vários navegadores populares. + +## Extensões de navegador + +Por que você deseja construir uma extensão de navegador? É uma coisa útil para anexar ao seu navegador quando você precisa de acesso rápido às tarefas que tende a repetir. Por exemplo, se você precisar verificar as cores nas várias páginas da web com as quais interage, poderá instalar uma extensão de navegador com seletor de cores. Se você tiver problemas para lembrar as senhas, pode usar uma extensão do navegador para gerenciamento de senhas. + +As extensões do navegador também são divertidas de desenvolver. Eles tendem a gerenciar um número finito de tarefas que executam bem. + +✅ Quais são as suas extensões de navegador favoritas? Quais tarefas elas realizam? + +### Instalando extensões + +Antes de começar a construir, dê uma olhada no processo de construção e implantação de uma extensão de navegador. Embora cada navegador varie um pouco na forma como gerenciam essa tarefa, o processo é semelhante no Chrome e no Firefox a este exemplo no Edge: + +![instalar uma extensão de navegador](../images/install-on-edge.png) + +Basicamente, o processo será: + +- construir sua extensão usando `npm build` +- no navegador ir até o painel de extensões usando o ícone `...` na parte superior da direita +- se for uma nova instalação, selecione `load unpacked` para carregar uma nova extensão a partir de sua pasta (no nosso caso, é `/dist`) +- ou clique em `recarregar` se está recarregando a extensão já instalada + +✅ Estas instruções referem-se a extensões que você mesmo constrói; para instalar extensões que foram lançadas para seu navegador, você deve navegar até essas [lojas](https://microsoftedge.microsoft.com/addons/Microsoft-Edge-Extensions-Home) e instalar a extensão de sua escolha. + + +### Iniciar + +Você vai construir uma extensão de navegador que exibe a pegada de carbono da sua região, mostrando o uso de energia da sua região e a fonte da energia. A extensão terá um formulário que coleta uma chave API para que você possa acessar a API do CO2 Signal. + +**Você precisa:** + +- [uma chave API](https://www.co2signal.com/); coloque seu email no formulário da página e uma chave será enviada para você. +- o [código de sua região](http://api.electricitymap.org/v3/zones) correspondente ao [Mapa de eletricidade](https://www.electricitymap.org/map) (em Boston, por exemplo, EU uso 'US-NEISO'). +- o [código de inicio](../../start). Faça o download da pasta `start`; você irá completar o código desta pasta. +- [NPM](https://www.npmjs.com) - NPM é uma ferramenta de gerenciamento de pacotes; instale-o localmente e os pacotes listados em seu arquivo package.json serão instalados para uso por seu app da web. + +✅ Saiba mais sobre gerenciamento de pacotes neste [excelente módulo de aprendizagem](https://docs.microsoft.com/learn/modules/create-nodejs-project-dependencies/?WT.mc_id=academic-13441-cxa) + +Reserve um minuto para examinar o código base: + +dist + - | manifest.json (padrões definidos aqui) + - | index.html (marcador HTML do front-end aqui) + - | background.js (JS de fundo aqui) + - | main.js (JS construído) +src + - | index.js (seu código JS vai aqui) + +✅ Assim que tiver a chave API e o código da região em mãos, armazene-os em uma nota para uso futuro. + +### Construir o HTML para a extensão + +Esta extensão possui duas visualizações. Uma para reunir a chave API e o código de região: + +![formulário da extensão](../images/1.png) + +E a segunda para mostrar o uso de carbono da região: + +![uso do carbono](../images/2.png) + +Vamos começar construindo o HTML para o formulário e estilizando-o com CSS. + +Na pasta `/dist`, você construirá um formulário e uma área de resultados. No arquivo `index.html`, preencha a área delineada do formulário: + +```HTML +
+
+

Novo? Adicione suas informações.

+
+
+ + +
+
+ + +
+ +
+``` + +Este é o formulário onde suas informações salvas serão inseridas e guardadas no armazenamento local. + +Em seguida, crie a área de resultados; após a tag final do formulário, adicione algumas divs: + + +```HTML +
+
carregando...
+
+
+
+

Região:

+

Uso de carbono:

+

Porcentagem de combustível fóssil:

+
+ +
+``` +Neste ponto, você pode tentar um build (construção). Certifique-se de instalar o pacote de dependências desta extensão: + +``` +npm install +``` + +Este comando usará npm, o Node Package Manager, para instalar o webpack para o processo de build (construção) de sua extensão. Webpack é um bundler (empacotador) que lida com a compilação de código. Você pode ver a saída desse processo olhando em `/dist/main.js` - você vê que o código foi empacotado. + +Por enquanto, a extensão deve ser construída (build) e, se você implantá-la (deploy) no Edge como uma extensão, verá um formulário perfeitamente exibido. + +Parabéns, você deu os primeiros passos para criar uma extensão de navegador. Nas lições subsequentes, você o tornará mais funcional e útil. + +--- + +## 🚀Desafio + +Dê uma olhada em uma loja de extensões de navegador e instale uma em seu navegador. Você pode examinar seus arquivos de maneiras interessantes. O que você descobriu? + +## Quiz pós-leitura +[Quiz pós-leitura](https://happy-mud-02d95f10f.azurestaticapps.net/quiz/24) + +## Revisão e auto-estudo + +Nesta lição você aprendeu um pouco sobre a história do navegador da web; aproveite esta oportunidade para aprender como os inventores da World Wide Web imaginaram seu uso, lendo mais sobre sua história. Alguns sites úteis incluem: + +[A história dos navegadores web](https://www.mozilla.org/firefox/browsers/browser-history/) + +[História da Web](https://webfoundation.org/about/vision/history-of-the-web/) + +[Uma entrevista com Tim Berners-Lee](https://www.theguardian.com/technology/2019/mar/12/tim-berners-lee-on-30-years-of-the-web-if-we-sueñe-un-poco-podemos-conseguir-la-web-que-queremos) + +## Tarefa +[Refatore o estilo de sua extensão](assignment.pt.md) + From ff0bf476bed2157294286c03f22a7a43d96f62df Mon Sep 17 00:00:00 2001 From: Quenrelia <93443342+Quenrelia@users.noreply.github.com> Date: Sun, 31 Oct 2021 20:55:21 +0000 Subject: [PATCH 27/29] French translation for 7-3-assignment (#487) * French translation for 7-3-assignment * Improve translation following feedback --- .../3-data/translations/assignment.fr.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 7-bank-project/3-data/translations/assignment.fr.md diff --git a/7-bank-project/3-data/translations/assignment.fr.md b/7-bank-project/3-data/translations/assignment.fr.md new file mode 100644 index 00000000..8f13a9b2 --- /dev/null +++ b/7-bank-project/3-data/translations/assignment.fr.md @@ -0,0 +1,15 @@ +# Refactorisez et commentez votre code + +## Instructions + +Au fur et à mesure que votre base de code se développe, il est important de refactorisez votre code fréquemment pour qu'il reste lisible et maintenable dans le temps. Ajoutez des commentaires et refactorisez votre `app.js` pour améliorer la qualité du code : + +- Extrayez des constantes, telles que l'URL de base de l'API du serveur. +- Factorisez tout code similaire : par exemple, vous pouvez créer une fonction `sendRequest()` pour regrouper le code utilisé dans les fonctions `createAccount()` et `getAccount()`. +- Réorganisez le code pour le rendre plus facile à lire, et ajoutez des commentaires. + +## Rubrique + +| Critères | Exemplaire | Adéquat | Besoin d'amélioration | +| -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| | Le code est commenté, bien organisé en différentes sections et facile à lire. Les constantes sont extraites et une fonction `sendRequest()` a été créée. | Le code est propre mais peut encore être amélioré avec plus de commentaires, d'extraction de constantes ou de factorisation.| Le code est désordonné, non commenté, les constantes ne sont pas extraites et le code n'est pas factorisé.| From 2053e3ebe007ebbed3146e76f130bb3f5139b2a9 Mon Sep 17 00:00:00 2001 From: Karine Moreira Date: Sun, 31 Oct 2021 17:56:11 -0300 Subject: [PATCH 28/29] translate to pt ASSIGNMENT about browsers (#498) Co-authored-by: Karine Moreira --- .../1-about-browsers/translations/assignment.pt.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 5-browser-extension/1-about-browsers/translations/assignment.pt.md diff --git a/5-browser-extension/1-about-browsers/translations/assignment.pt.md b/5-browser-extension/1-about-browsers/translations/assignment.pt.md new file mode 100644 index 00000000..a11ab25e --- /dev/null +++ b/5-browser-extension/1-about-browsers/translations/assignment.pt.md @@ -0,0 +1,11 @@ +# Refatore o estilo de sua extensão + +## Instruções + +O código base para esta extensão vem completo com estilos, mas você não precisa usá-los; faça sua própria estilização editando seu arquivo css. + +## Rubrica + +| Critérios | Exemplar | Adequado | Necessita de melhoria | +| -------- | -------------------------------------------- | --------------------- | ----------------- | +| | O código é enviado com novos estilos funcionais | O estilo está incompleto | Os estilos contém erros | \ No newline at end of file From 3f5b6a9f6511e08b16c07a9d099c153926437e9c Mon Sep 17 00:00:00 2001 From: Olga Kitel <79774026+OKitel@users.noreply.github.com> Date: Sun, 31 Oct 2021 21:59:56 +0100 Subject: [PATCH 29/29] [RU] Add translation to Russian for README in 1-intro-to-programming-languages, 2-github-basics (#499) * Add translation to russian for the getting started lessons * Add translation to russian for assignment (1-getting-started) * fix: return link without language path * fix: change link path * add russian translation of README in 1-intro-to-programming-languages * Add translation to Russian for 2-github-basics --- .../translations/README.ru.md | 203 +++++++++++ .../2-github-basics/translations/README.ru.md | 321 ++++++++++++++++++ 2 files changed, 524 insertions(+) create mode 100644 1-getting-started-lessons/1-intro-to-programming-languages/translations/README.ru.md create mode 100644 1-getting-started-lessons/2-github-basics/translations/README.ru.md diff --git a/1-getting-started-lessons/1-intro-to-programming-languages/translations/README.ru.md b/1-getting-started-lessons/1-intro-to-programming-languages/translations/README.ru.md new file mode 100644 index 00000000..8774c935 --- /dev/null +++ b/1-getting-started-lessons/1-intro-to-programming-languages/translations/README.ru.md @@ -0,0 +1,203 @@ +# Введение в языки программирования и инструменты разработки + +Этот урок охватывает основы языков программирования. Рассматриваемые здесь темы применимы к большинству современных языков программирования. В разделе «Инструменты разработки» вы узнаете о полезном программном обеспечении, которое поможет вам как разработчику. + +![Введение в программирование](/sketchnotes/webdev101-programming.png) + +> Скетчноут [Tomomi Imura](https://twitter.com/girlie_mac) + +## Предлекционный квиз + +[Предлекционный квиз](https://happy-mud-02d95f10f.azurestaticapps.net/quiz/1) + +## Введение + +В этом уроке мы рассмотрим: + +- Что такое программирование? +- Типы языков программирования +- Основные элементы программы +- Полезный софт и инструментарий для профессионального разработчика + +> Этот урок можно пройти на [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/introduction-programming?WT.mc_id=academic-13441-cxa)! + +## Что такое программирование? + +Программирование (также известное как кодирование) - это процесс записи инструкций на устройство, такое как компьютер или мобильное устройство. Мы пишем эти инструкции на языке программирования, который затем интерпретируется устройством. Эти наборы инструкций могут называться различными именами, но _программа_, _компьютерная программа_, _приложение_ и _исполняемый файл_ - это несколько популярных имен. + +_Программой_ может быть что угодно, написанное с помощью кода: веб-сайты, игры и приложения для телефона - это программы. Хотя можно создать программу без написания кода, основная логика интерпретируется на устройстве, и эта логика, скорее всего, была кем-то написана с помощью кода. Программа, которая _запущена_ или _исполняет код_, выполняет инструкции. Устройство, на котором вы сейчас читаете этот урок, запускает программу для его вывода на ваш экран. + +✅ Проведите небольшое исследование: кто считается первым в мире программистом? + +## Языки программирования + +Языки программирования служат основной цели: с их помощью разработчики могут создавать инструкции для отправки на устройство. Устройства могут понимать только двоичный код (единицы и нули), и для _большинства_ разработчиков это не очень эффективный способ общения. Языки программирования - это средство общения между людьми и компьютерами. + +Языки программирования бывают разных форматов и могут служить разным целям. Например, JavaScript в основном используется для веб-приложений, а Bash - в основном для операционных систем. + +_Языки низкого уровня_ обычно требуют меньше этапов, чем языки _высокого уровня_, чтобы устройство могло интерпретировать инструкции. Однако то, что делает языки высокого уровня популярными, - это их удобочитаемость и поддержка. JavaScript считается языком высокого уровня. + +Следующий код иллюстрирует разницу между языком высокого уровня (JavaScript) и языком низкого уровня (ARM ассемблер). + +```javascript +let number = 10; +let n1 = 0, + n2 = 1, + nextTerm; + +for (let i = 1; i <= number; i++) { + console.log(n1); + nextTerm = n1 + n2; + n1 = n2; + n2 = nextTerm; +} +``` + +```c + area ascen,code,readonly + entry + code32 + adr r0,thumb+1 + bx r0 + code16 +thumb + mov r0,#00 + sub r0,r0,#01 + mov r1,#01 + mov r4,#10 + ldr r2,=0x40000000 +back add r0,r1 + str r0,[r2] + add r2,#04 + mov r3,r0 + mov r0,r1 + mov r1,r3 + sub r4,#01 + cmp r4,#00 + bne back + end +``` + +Вы не поверите, но _они оба делают одно и то же_: выводят последовательность Фибоначчи до 10. + +✅ Последовательность Фибоначчи [определена](https://ru.wikipedia.org/wiki/Числа_Фибоначчи) как набор чисел, каждое из которых является суммой двух предыдущих, начиная с 0 и 1. + +## Элементы программы + +Одиночная инструкция в программе называется _выражением_ и обычно имеет символ или межстрочный интервал, который отмечает, где инструкция разделяется, или _заканчивается_. Способ завершения программы зависит от языка. + +В тех местах, где выражения могут полагаться на данные для выполнения инструкций, большинство программ полагаются на использование данных от пользователя или из других источников. Данные могут изменить поведение программы, поэтому в языках программирования есть способ временного хранения данных, которые можно использовать позже. Эти данные называются _переменными_. Переменные - это выражения, которые инструктируют устройство сохранять данные в памяти устройства. Переменные в программах аналогичны переменным в алгебре, где они имеют уникальное имя, и их значение может меняться со временем. + +Есть вероятность, что некоторые выражения не будут выполнены устройством. Обычно это сделано намеренно, когда написано разработчиком, или случайно, когда возникает непредвиденная ошибка. Этот тип управления приложением делает его более надежным и удобным в обслуживании. Обычно эти изменения в управлении происходят, когда выполняются определенные условия. В современных языках программирования распространенным выражением для управления исполнением программы является `if..else` (если..то). + +✅ Вы узнаете больше об этом типе инструкций в следующих уроках. + +## Инструметы разработки + +[![Инструметы разработки](https://img.youtube.com/vi/69WJeXGBdxg/0.jpg)](https://youtube.com/watch?v=69WJeXGBdxg "Tools of the Trade") + +> 🎥 Нажмите на изображение выше, чтобы просмотреть видео об инструментах + +В этом разделе вы узнаете о программном обеспечении, которое может оказаться очень полезным в начале вашего пути профессионального развития. + +**Среда разработки** - это уникальный набор инструментов и функций, которые разработчик может часто использовать при написании программного обеспечения. Некоторые из этих инструментов были настроены для конкретных нужд разработчика и могут измениться со временем, если разработчик меняет приоритеты в работе или личных проектах, или когда он использует другой язык программирования. Среды разработки столь же уникальны, как и разработчики, которые их используют. + +### Редакторы + +Один из важнейших инструментов разработки программного обеспечения - редактор. Редакторы - это место, где вы пишете свой код, а иногда и где вы запускаете свой код. + +Разработчики полагаются на редакторы кода и по нескольким дополнительным причинам.: + +- _Отладка_ Выявление багов и ошибок путем пошагового выполнения кода, строка за строкой. Некоторые редакторы имеют возможности отладки или могут быть настроены для определенных языков программирования. +- _Подсветка синтаксиса_ Добавляет в код цвета и форматирование текста, упрощает чтение. Большинство редакторов позволяют настраивать подсветку синтаксиса. +- _Расширения и интеграции_ Дополнения, созданные разработчиками и специально предназначенные для разработчиков, предоставляют доступ к дополнительным инструментам, которые не встроены в базовый редактор. Например, многим разработчикам также нужен способ документировать свой код и объяснять, как он работает, и они установят расширение проверки орфографии для проверки опечаток. Большинство этих дополнений предназначены для использования в конкретном редакторе, и большинство редакторов имеют возможность поиска доступных расширений. +- _Настройка_ Большинство редакторов легко настраиваются, и у каждого разработчика будет своя собственная уникальная среда разработки, которая соответствует его потребностям. Многие редакторы также позволяют разработчикам создавать свои собственные расширения. + +#### Популярные редакторы и расширения для веб-разработки + +- [Visual Studio Code](https://code.visualstudio.com/) + - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) + - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-pack) + - [Prettier - Code formatter](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) +- [Atom](https://atom.io/) + - [spell-check](https://atom.io/packages/spell-check) + - [teletype](https://atom.io/packages/teletype) + - [atom-beautify](https://atom.io/packages/atom-beautify) + +### Браузеры + +Еще один важный инструмент - браузер. Веб-разработчики полагаются на браузер, чтобы наблюдать за тем, как их код работает в сети, он также используется для просмотра визуальных элементов веб-страницы, написанных в редакторе, например HTML. + +Многие браузеры оснащены _инструментами разработчика_ (DevTools), содержащими набор полезных функций, которые помогают разработчикам собирать и фиксировать важную информацию о своем приложении. Например: если на веб-странице есть ошибки, иногда полезно знать, когда они произошли. DevTools в браузере можно настроить для сбора этой информации. + +#### Популярные браузеры и инструменты разработки + +- [Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium?WT.mc_id=academic-13441-cxa) +- [Chrome](https://developers.google.com/web/tools/chrome-devtools/) +- [Firefox](https://developer.mozilla.org/docs/Tools) + +### Инструменты командной строки + +Некоторые разработчики предпочитают менее графическое представление для своих повседневных задач и полагаются на командную строку для достижения этой цели. Разработка кода требует значительного набора текста, и некоторые разработчики предпочитают не мешать работе с клавиатурой и будут использовать сочетания клавиш для переключения между окнами рабочего стола, работы с разными файлами и использования инструментов. Большинство задач можно выполнить с помощью мыши, но одним из преимуществ использования командной строки является то, что многое можно сделать с помощью инструментов командной строки без необходимости переключаться между мышью и клавиатурой. Еще одним преимуществом командной строки является то, что они настраиваются, и вы можете сохранить свою настраиваемую конфигурацию, изменить ее позже, а также импортировать ее на новые устройства для разработки. Поскольку среды разработки настолько уникальны для каждого разработчика, некоторые избегают использования командной строки, некоторые будут полностью полагаться на нее, а некоторые предпочитают сочетание двух. + +### Популярные параметры командной строки + +Параметры командной строки зависят от используемой вами операционной системы. + +_💻 = предустановлен в операционной системе._ + +#### Windows + +- [Powershell](https://docs.microsoft.com/powershell/scripting/overview?view=powershell-7?WT.mc_id=academic-13441-cxa) 💻 +- [Command Line](https://docs.microsoft.com/windows-server/administration/windows-commands/windows-commands?WT.mc_id=academic-13441-cxa) (also known as CMD) 💻 +- [Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-13441-cxa) +- [mintty](https://mintty.github.io/) + +#### MacOS + +- [Terminal](https://support.apple.com/guide/terminal/open-or-quit-terminal-apd5265185d-f365-44cb-8b09-71a064a42125/mac) 💻 +- [iTerm](https://iterm2.com/) +- [Powershell](https://docs.microsoft.com/powershell/scripting/install/installing-powershell-core-on-macos?view=powershell-7?WT.mc_id=academic-13441-cxa) + +#### Linux + +- [Bash](https://www.gnu.org/software/bash/manual/html_node/index.html) 💻 +- [KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html) +- [Powershell](https://docs.microsoft.com/powershell/scripting/install/installing-powershell-core-on-linux?view=powershell-7?WT.mc_id=academic-13441-cxa) + +#### Популярные инструменты командной строки + +- [Git](https://git-scm.com/) (💻 on most operating systems) +- [NPM](https://www.npmjs.com/) +- [Yarn](https://classic.yarnpkg.com/en/docs/cli/) + +### Документация + +Когда разработчик хочет узнать что-то новое, он, скорее всего, обратится к документации, чтобы узнать, как это использовать. Разработчики часто полагаются на документацию, которая поможет им понять, как правильно использовать инструменты и языки, а также получить более глубокие знания о том, как они работают. + +#### Популярная документация по веб-разработке + +- [Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web), от Mozilla, создателей браузера [Firefox](https://www.mozilla.org/firefox/) +- [Frontend Masters](https://frontendmasters.com/learn/) +- [Web.dev](https://web.dev), от Google, создателей браузера [Chrome](https://www.google.com/chrome/) +- [Microsoft's own developer docs](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers), для [Microsoft Edge](https://www.microsoft.com/edge) + +✅ Проведите небольшое исследование: теперь, когда вы знаете основы среды веб-разработчика, сравните и сопоставьте ее со средой веб-дизайнера. + +--- + +## 🚀 Челлендж + +Сравните несколько языков программирования. В чем заключаются уникальные черты JavaScript и Java? Как насчет COBOL vs. Go? + +## Постлекционный квиз + +[Постлекционный квиз](https://happy-mud-02d95f10f.azurestaticapps.net/quiz/2) + +## Обзор и самообучение + +Изучите немного разные языки программирования, доступные программисту. Попробуйте написать строку на одном языке, а затем повторите ее на двух других. Какие языки вы изучаете? + +## Задание + +[Чтение документации](assignment.md) diff --git a/1-getting-started-lessons/2-github-basics/translations/README.ru.md b/1-getting-started-lessons/2-github-basics/translations/README.ru.md new file mode 100644 index 00000000..6f332740 --- /dev/null +++ b/1-getting-started-lessons/2-github-basics/translations/README.ru.md @@ -0,0 +1,321 @@ +# Введение в GitHub + +В этом уроке рассматриваются основы GitHub, платформы для размещения и управления изменениями вашего кода. + +![Введение в GitHub](/sketchnotes/webdev101-github.png) + +> Скетчноут [Tomomi Imura](https://twitter.com/girlie_mac) + +## Предлекционный квиз + +[Предлекционный квиз](https://happy-mud-02d95f10f.azurestaticapps.net/quiz/3) + +## Введение + +В этом уроке мы рассмотрим: + +- отслеживание работы, которую вы делаете на своем устройстве +- работа над проектами с другими людьми +- как внести свой вклад в программное обеспечение с открытым исходным кодом + +### Требования + +Прежде чем начать, вам нужно проверить, установлен ли Git. В терминале напечатайте: +`git --version` + +Если Git не установлен, [установите Git](https://git-scm.com/downloads). Затем настройте свой локальный профиль Git в терминале: + +- `git config --global user.name "ваше-имя"` +- `git config --global user.email "ваш-email"` + +Чтобы проверить, настроен ли уже Git, вы можете ввести: +`git config --list` + +Вам также понадобится аккаунт на GitHub, редактор кода (например, Visual Studio Code), и вам нужно будет открыть свой терминал (или: командную строку). + +Перейдите на [github.com](https://github.com/) и создайте аккаунт, если вы еще этого не сделали, или войдите в систему и заполните свой профиль. + +✅ GitHub - не единственный репозиторий кода в мире; есть и другие, но GitHub - самый известный. + +### Подготовка + +Вам понадобится как папка с проектом кода на вашем локальном компьютере (ноутбуке или ПК), так и общедоступный репозиторий на GitHub, который послужит примером того, как внести свой вклад в проекты других. + +--- + +## Управление кодом + +Допустим, у вас есть локальная папка с каким-то проектом и вы хотите начать отслеживать свой прогресс с помощью git - системы контроля версий. Некоторые люди сравнивают использование git с написанием любовного письма себе в будущем. Читая сообщения коммитов через несколько дней, недель или месяцев, вы сможете вспомнить, почему вы сделали так, а не иначе, или сможете «откатить» изменения. + +### Задание: Сделать репозиторий и сделайте коммит + +1. **Создать репозиторий на GitHub**. На GitHub.com на вкладке репозиториев или в правом верхнем углу панели навигации найдите кнопку **новый репозиторий**. + + 1. Дайте вашему репозиторию (папке) имя + 1. Выберите **создать репозиторий**. + +1. **Перейдите в свою рабочую папку**. В вашем терминале перейдите в папку (также известную как каталог), которую вы хотите начать отслеживать. Введите: + + ```bash + cd [имя вашей папки] + ``` + +1. **Инициализируйте git репозиторий**. В вашем проекте напечатайте: + + ```bash + git init + ``` + +1. **Проверьте статус**. Чтобы проверить статус вашего репозитория введите: + + ```bash + git status + ``` + + вывод может выглядеть примерно так: + + ```output + Changes not staged for commit: + (use "git add ..." to update what will be committed) + (use "git checkout -- ..." to discard changes in working directory) + + modified: file.txt + modified: file2.txt + ``` + + Обычно команда `git status` сообщает вам, например, какие файлы готовы к _сохранению_ в репозиторий, или в них есть изменения, которые вы, возможно, захотите сохранить. + +1. **Добавьте все файлы для отслеживания** + Это также называется подготовленными файлами (staging files) / добавлением файлов в область подготовленных файлов (staging area). + + ```bash + git add . + ``` + + Команда `git add` с аргументом `.` указывает, что все ваши файлы и изменения будут добавлены для отслеживания. + +1. **Добавьте выбранные файлы для отслеживания** + + ```bash + git add [название файла или папки] + ``` + + Это помогает нам добавлять только выбранные файлы в область подготовки, когда мы не хотим фиксировать все файлы сразу. + +1. **Удаление всех файлов из области подготовки** + + ```bash + git reset + ``` + + Эта команда помогает нам убрать все файлы сразу из staging area. + +1. **Удаление определенного файла из области подготовки** + + ```bash + git reset [название файла или папки] + ``` + +Эта команда помогает нам убрать определенный файл, который мы не хотим включать в следующий коммит. + +1. **Сохраняйте свою работу**. На этом этапе вы добавили файлы в так называемую _staging area (область подготовки)_. Место, где Git отслеживает ваши файлы. Чтобы сделать изменение постоянным, вам необходимо _закомитать (зафиксироваить)_ файлы. Для этого вы создаете _коммит_ с помощью команды `git commit`. _Коммит_ представляет собой точку сохранения в истории вашего репо. Введите следующее, чтобы создать _коммит_: + + ```bash + git commit -m "first commit" + ``` + + Эта команда сохраняет все ваши файлы, добавляя сообщение «первый коммит». Для будущих сообщений коммитов вам нужно будет быть более информативным в своем описании, чтобы передать, какой тип изменения вы внесли. + +1. **Подключите локальный репозиторий Git к GitHub**. Репозиторий Git хорош на вашем компьютере, но в какой-то момент вы захотите сделать резервную копию ваших файлов, а также пригласить других людей поработать с вами над вашим репо. Одно из таких прекрасных мест для этого - GitHub. Помните, что мы уже создали репозиторий на GitHub, поэтому единственное, что нам нужно сделать, это подключить наш локальный репозиторий Git к GitHub.Команда `git remote add` сделает именно это. Введите следующую команду: + + > Обратите внимание: прежде чем вводить команду, перейдите на страницу репозитория GitHub, чтобы найти URL-адрес репозитория. Вы будете использовать его в приведенной ниже команде. Замените `repository_name` своим URL-адресом репозитория на GitHub. + + ```bash + git remote add origin https://github.com/username/repository_name.git + ``` + + This creates a _remote_, or connection, named "origin" pointing at the GitHub repository you created earlier. + Эта команда создает _удаленное соединение_ с именем «origin», указывающее на репозиторий GitHub, который вы создали ранее. + +1. **Отправьте локальные файлы в GitHub**.Итак, вы создали _соединение_ между локальным репозиторием и репозиторием на GitHub. Давайте отправим эти файлы на GitHub с помощью следующей команды `git push`, вот так: + + ```bash + git push -u origin main + ``` + + Эта команда отправляет ваши коммиты из вашей "main" ветки на GitHub. + +1. **Добавление последующих изменений**. Если вы хотите продолжить вносить изменения и отправлять их на GitHub, вам просто нужно использовать следующие три команды: + + ```bash + git add . + git commit -m "напишите здесь свое сообщения для коммита" + git push + ``` + + > Совет: вы также можете использовать файл `.gitignore`, чтобы файлы, которые вы не хотите отслеживать, не отображались на GitHub. Например, файл заметок, который вы храните в той же папке, но не хотите, чтобы он отображался в общедоступном репозитории. Вы можете найти шаблоны для файлов `.gitignore` по следующей ссылке [.gitignore templates](https://github.com/github/gitignore). + +#### Сообщения коммитов + +Хорошее сообщение к коммиту должно завершать следующее предложение: +Если применить этот коммит, то он <ваше сообщение к коммиту> + +Для темы сообщения к коммиту используйте повелительное наклонение в настоящем времени: «изменить», а не «изменено» или «изменяет». Как и в теме, в теле (необязательно) также используйте повелительное наклонение в настоящем времени. Тело должно включать мотивацию к изменению и противопоставлять это предыдущему поведению. Вы объясняете `почему`, а не `как`. + +✅ Потратьте несколько минут, чтобы полазать по GitHub. Сможете ли вы найти действительно отличное сообщение к коммиту? Можете ли вы найти минимальное сообщение к коммиту? Какую информацию вы считаете наиболее важной и полезной для передачи в сообщении к коммиту? + +### Задние: сотрудничество + +Основная причина размещения проектов на GitHub заключаетсяь в том, чтобы дать возможность сотрудничать с другими разработчиками. + +## Работа над проектами с другими разработчиками + +В своем репозитории перейдите в `Insights> Community`, чтобы увидеть, как ваш проект сравнивается с рекомендованными стандартами сообщества. + +Вот несколько вещей, которые могут улучшить ваше репозиторий на GitHub: + +- **Описание**. Вы добавили описание для своего проекта? +- **README**. Вы добавили README? GitHub предлагает руководство по написанию [README](https://docs.github.com/articles/about-readmes/). +- **Рекомендации по внесению вклада**. У вашего проекта есть [рекомендации по внесению вклада (contributing guideline)](https://docs.github.com/articles/setting-guidelines-for-repository-contributors/)? +- **Нормы поведения**. [Code of Conduct](https://docs.github.com/articles/adding-a-code-of-conduct-to-your-project/), +- **Лицензия**. Возможно самое важное - это [лицензия](https://docs.github.com/articles/adding-a-license-to-a-repository/)? + +Все эти ресурсы принесут пользу новым членам команды. И это, как правило, те вещи, на которые новые участники смотрят, прежде чем даже взглянуть на ваш код, чтобы узнать, является ли ваш проект подходящим местом для них, чтобы тратить свое время. + +✅ Файлы README, хотя для их подготовки требуется время, часто игнорируются занятыми разработчиками. Можете ли вы найти пример особо наглядного README? Примечание: есть несколько [инструментов для создания хороших README](https://www.makeareadme.com/), которые вы, возможно, захотите попробовать. + +### Задание: слияние кода + +Рекомендации по внесению вклада помогают людям вносить свой вклад в проект. В нем объясняется, какие типы вкладов вас интересуют и как работает этот процесс. Чтобы внести свой вклад в ваш репозиторий на GitHub, участникам потребуется выполнить ряд шагов: + +1. **Сделать ответвление вашего репозитория (Forking)** Вы, вероятно, захотите, чтобы люди сделали _ответвление (fork)_ вашего проекта. Ответвление означает создание копии вашего репозитория в их профиле GitHub. +1. **Клонировать**. Оттуда они будут клонировать проект на свой локальный компьютер. +1. **Создать ветку**. Вы можете попросить их создать _ветку_ для своей работы.. +1. **Сосредоточить свои изменения на одной области**. Попросите участников концентрировать свой вклад на чем-то одном - так шансы, что вы сможете провести _слияние кода_ с их работой, будут выше. Представьте, что они написали исправление ошибки, добавили новую функцию и обновили несколько тестов - что, если вы хотите или можете реализовать только 2 из 3 или 1 из 3 изменений? + +✅ Представьте себе ситуацию, когда ветки особенно важны для написания и предоставления хорошего кода. Какие варианты использования вы можете придумать? + +> Примечание: будьте тем изменением, которое вы хотите увидеть в мире, и также создавайте ответвления для своей собственной работы. Любые совершаемые вами коммиты будут выполняться в той ветке, в которой вы в настоящее время находитесь. Используйте `git status`, чтобы узнать, какая это ветка. + +Давайте рассмотрим рабочий процесс соавтора. Предположим, что соавтор уже _сделал ответвление_ и _склонировал_ ваш репозиторий, поэтому у него есть репозиторий Git, готовый к работе, на его локальном компьютере: + +1. **Создание ветки**. Используйте команду `git branch` для создания ветки, которая будет содержать изменения, которые вы хотите внести: + + ```bash + git branch [название-ветки] + ``` + +1. **Переход в рабочую ветку**. Переключитесь на указанную ветку и обновите рабочую папку с помощью команды `git checkout`: + + ```bash + git checkout [branch-name] + ``` + +1. **Написание кода**. На этом этапе вы хотите добавить свои изменения. Не забудьте сообщить об этом Git с помощью следующих команд: + + ```bash + git add . + git commit -m "мои изменения" + ``` + + Убедитесь, что вы написали хороше сообщение для своего коммита, как для себя, так и для владельца репозитория, которому вы помогаете. + +1. **Совместите свою работу с веткой `main`**. В какой-то момент вы закончили работу и хотите совместить свою работу с работой над веткой `main`.Ветвь `main` за это время могла измениться, поэтому убедитесь, что вы сначала обновили ее до последней версии с помощью следующих команд: + + ```bash + git checkout main + git pull + ``` + + На этом этапе вы хотите убедиться, что любые _конфликты_, ситуации, когда Git не может легко _комбинировать_ изменения, происходят в вашей рабочей ветке. Поэтому выполните следующие команды: + + ```bash + git checkout [название-ветки] + git merge main + ``` + + Это внесет все изменения из main в вашу ветку, и, надеюсь, вы сможете продолжить. Если нет, VS Code сообщит вам, где Git _не может самостоятельно решить конфликт_, и вы просто измените затронутые файлы, чтобы указать, какой контент является наиболее точным. + +1. **Отправьте свою работу на GitHub**. Отправка вашей работы на GitHub означает две вещи. Отправьте свою ветку (push) в репозиторий, а затем откройте PR, пул реквест. + + ```bash + git push --set-upstream origin [название-ветки] + ``` + + Приведенная выше команда создает ветку в вашем, ответвленном от основного, репозитории. + +1. **Открытие PR**. Далее вы хотите открыть PR. Вы делаете это, перейдя к ответвленному репозиторию на GitHub. Вы увидите подсказку на GitHub, где вам предложат, хотите ли вы создать новый PR. Вы нажимаете на это указание, и попадаете в интерфейс, где вы можете изменить заголовок сообщения к коммиту, можете дать ему более подходящее описание. Теперь владелец репозитория, от которого вы сделали ответвление, увидит этот PR, и _скрестив пальцы_, он оценит и объединят ваш PR. Теперь вы соавтор, ура :) + +1. **Чистка (Clean up)**. Хорошей практикой считается _чистка_ после успешного объединения PR. Вы хотите очистить как локальную ветку, так и ветку, которую вы отправили на GitHub. Сначала удалим ее локально с помощью следующей команды: + + ```bash + git branch -d [название-ветки] + ``` + + Убедитесь, что вы перешли на страницу GitHub для ответвленного репозитория и удалили удаленную ветку, которую вы только что отправили на GitHub. + +`Pull request` (дословно: запрос на стягивание) кажется глупым термином, потому что на самом деле вы хотите отправить (push) свои изменения в проект. Но владелец проекта или основная команда должны рассмотреть ваши изменения перед слиянием их с основной ветвью проекта ("main"), поэтому вы действительно запрашиваете разрешение у владедьца о стягивании ваших изменений . + +Pull request - это место, где можно сравнить и обсудить изменения, представленные в ветке, с обзорами, комментариями, интегрированными тестами и т.д. Хороший pull request следует примерно тем же правилам, что и сообщение к коммиту. Вы можете добавить ссылку на вопрос (issue) в систему отслеживания проблем, например, когда вы работаете над устранением проблему/бага. Это делается с помощью символа `#`, за которым следует номер вашего issue. Например, `# 97`. + +🤞Скрестив пальцы, все проверки проходят, и владелец(владельцы) проекта проводят слияние ваших изменений в проект🤞 + +Обновите текущую локальную рабочую ветку всеми новыми коммитами из соответствующей удаленной ветки на GitHub с помощью следующей команды: + +`git pull` + +## Как внести свой вклад в открытый исходный код + +Во-первых, давайте найдем репозиторий на GitHub, который вас интересует и в который вы хотели бы внести изменения. Вам неоходимо скопировать его содержимое на свой компьютер. + +✅ Хороший способ найти репозитории, удобные для новичков, - это [поиск по тегу 'good-first-issue'](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/). + +![Копировать репо локально](images/clone_repo.png) + +Есть несколько способов копирования кода. Один из способов - «клонировать» содержимое репозитория, используя HTTPS, SSH или используя GitHub CLI (интерфейс командной строки). + +Откройте свой терминал и клонируйте репозиторий вот так: +`git clone https://github.com/ProjectURL` + +Для работы над проектом перейдите в правильную папку: +`cd ProjectURL` + +Вы также можете открыть весь проект, используя [Codespaces](https://github.com/features/codespaces), встроенный редактор кода / облачная среда разработки GitHub или [GitHub Desktop](https://desktop.github.com/). + +Наконец, вы можете загрузить код в заархивированной папке. + +### Еще несколько интересных вещей о GitHub + +Вы можете отметить, посмотреть и / или «разветвить» любой публичный репозиторий на GitHub. Вы можете найти свои отмеченные репозитории в раскрывающемся меню в правом верхнем углу. Это как закладка, но для кода. + +В проектах есть средство отслеживания проблем, в основном на GitHub на вкладке «Проблемы»(Issues), если не указано иное, где люди обсуждают проблемы, связанные с проектом. А на вкладке «Pull Requests» люди обсуждают и просматривают изменения, которые происходят. + +Проекты также могут обсуждаться на форумах, в списках рассылки или в чатах, таких как Slack, Discord или IRC. + +✅ Осмотрите свой новый репозиторий GitHub и попробуйте несколько вещей, например, отредактируйте настройки, добавьте информацию в репозиторий и создайте проект (например, доску Канбан). Вы можете многое сделать! + +--- + +## 🚀 Челлендж + +Объединитесь с другом, чтобы работать над кодом друг друга. Совместно создавайте проект, разветвляйте код, создавайте ветви и объединяйте изменения. + +## Постлекционный квиз + +[Постлекционный квиз](https://happy-mud-02d95f10f.azurestaticapps.net/quiz/4) + +## Обзор и самообучение + +Подробнее об [участие в разработке программного обеспечения с открытым исходным кодом](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution). + +[Шпаргалка по Git](https://training.github.com/downloads/github-git-cheat-sheet/). + +Практика, практика, практика. GitHub предлагает отличные способы обучения, доступные через [lab.github.com](https://lab.github.com/): + +- [Первая неделя на GitHub](https://lab.github.com/githubtraining/first-week-on-github) + +Вы также можете найти более продвинутые лаборатории для практики. + +## Задание + +Завершите [первую неделю в учебной лаборатории GitHub](https://lab.github.com/githubtraining/first-week-on-github)