█▀▀▀▀
▓ ████████ ░
░ ████████ ▓
█▀▀▀ ████████ ▀▀▀▀ ▀▀▓
▓ ███████████▓████████████ ▒
████████ ▄ ░ ██████████▓▒▓███████████ ░
████████ █▓▄ ▄▓█▄▄ ████████▓▀ ░ ▀▀▀▓███████
████████▌▄ ████████ ▀▀▀▀ ▄▓███████ ░ ▄▄▄▄ ▄█▄ ▄██▄ ▓▄▄ ▄ ████████
▀▀▀█████▌█ ██████████████▄ ▄▓███████▀▄▄ ▓▐████████ ░ ████████
███████▌█ █████████████▌█▓▄ ▄▓█████████████▓▄▄ ░ ▀█████▀ ▐▄▄█████▌████████
███████▌ ▄████████▓████▌█▀▀▀ ▀▀████████████████▄█▄▀█▀ ▄▌░███████▌████████
███████▓▀▄████████▓▀▄████ █ ████████▄▄█▀████████████████ ▄██▌▓████████████████
▓█████▄█████████▀ ▓██████ ▀ █████▄ ▐██████▌▀▓████████▓██████▌▀██████████▀▀▀▀▀▀
▀▀▓████████▓▀ ████████▄ ███████▐██████▌ ▀██████▀███████ ▄▀██▓████▄ ▀██▀
▐▄▄ ▀▀▓███████▄▄█▀▀▓██████▄▄▐▀▓██▐███████ ▄████▓▀ ███████ ▓ ▀░██████▄▀
▐███░▄▄ ▐████████ ░░ ▀▀▓█████████ ███████▄██▓██▀ ▀▀█████ ░ ▀▀▓████░▄
▄▄▄▄▄█▓██ ▐████████▄▄▄▄▄▄▄ ▀▀██████ ▀▀█▀███▀▀███▄ ▄▐████████▌▄▄▄░████████▓██
▐████████ ▓███████▓██████▓ ██▄▓███████████▌██████▄▀ ████████▌███▒████▀▀▀
████████ ▓█████▄▄ ▄▄████▌ █████▐█████████▌████████▄████████▓███▓████ ███████
███▀▀▀▀▀▐███ ███ ██████████████ █████████▌ ▀██▓█████▀▀▀ ▐███████▌ ███████
▄▄████ ▐█ █▄▄▄▄▄▄ ▀▀▀▀▀▓██ ███▌▀▀▀ ▄▄█▄ ▀░███████▄ ▄██████████▓███████▀▀
▀▓▀▀▀ ▐███░ ███████▌▐▀█████▄▄▄▄▀▄▄▄██▀ ▀▓███▄ ▀███████████▌▐█▄▄▀▀▀▀▀▀▀█████
▓███ ███████▌██▄▀▀▀▀▓████▄▀▓██ ▓ ▀▓███▄ ▀▀████████▌▓█████████▄▄▄▄▄
▀▀▀▀▀▀▀▀▀▐ ██ ███ ▀▀ ▓█▓ ▀▀▀ ▄██████████ ▀▀▀▀▓███▀
▀▓█▀▀▀▀▀▀▀▀▀▀███ ░░ ▀▀█▓█████▀▀▄▄▓▄▄ ▀▀███████ ▓▄▄
▀ ████████ ▀▀▀ ▄▄▄▓▓▌ ▄██▀██▄ ▀▀▓██▄ ▀▀███ ████▓▄
▄▄▄████████▄▄▄▄▓▓█████▀▀ ▐▓▀ █▄▀▓█ ▀ ▄██▄▄ ▀ ▀█▀███▌
░▄▄▄▄██████▀██████▓██████████████ ▀ ▄████▄██▄▄▄▓██ ██████▀ ▄█████ ███▄▄▄▄▄
██▓█████▓███████████░▓█████████████ ▐████████████████░█████▌ ▄▓██▀███▌████████
▓███████░██████████████████ █▓▓▀▀▀ ▐██████▓███▌█████▓█████ ▄███▀▐████▌███████▌
░▓█████▀ ███▀▀▀█████▌▀▓█████▄ ▄▓█ ▐██████▒███████▀▀▀▐██████▓▀ ▐████▌█████▄
▀██████▄ ▄▓▐██████▄ ▀▓██████ █▀▀ ███████░▀███████▄ ░█████▀▄ ▄████▓███████▌
▀▓██████ ▀▀▐█████▓▓ ▄▄██████ ▄ ███████▄▐▄▀██████▓▓▄███▄█████████░███████▌
▄▄██████ ▄█████████████▌ ███▄▄███████ ▀▓███ ▄▄▄▄▄▄▄▄ ▀▀██▓▀ ███████
░███████▌ █████▐███████████ ▐████████████████ ▐█ █████████▓▄▄ ▐███████
▌▄▄█████ ▐█████▐█████▐██████▄█████▄███████▀███▌ ██ ▀▀░▓█████████▓▄▐███████
▐███████▄█████▌▐█████ ▀█████████ █▀███████▓████▄██████▓████████████████████
▀▓█████████▓▀▄██████ █▄▄▀▀██▓▀▀ ▓▄▀█████▀▓████████▐███████▀▓█████▀▀▀████▌
▀▀▓░░▀▀▄▄███████ ▀ ▄▄▄▄█████ ▄▀█▄▀███▐▄ ▀▀░░▓▀▀▐███████ ▄▄▀▀ ░▄ ▀█▌
▄▀ ▄ ▀▄ ████████████████▓███ ██ ▓█▄▄█ ▀██▄▄▄██▀▄▄▄▄▄▄▄▄ ██▀ ▄▀ ▄ ▀▄ ▌
▐▌ ■░■ ▐▌ ████████████████████ ███ ▀▓██ ▀▀▓▀▀▄██████▓▀ ▀ ▐▌ ■░■ ▐▌
▀▄ ■ ▄▀ ███████▓▓▀▀▀▀▀▓▓▄▄▄▄ ▀▓ ▀▀▀▀▀▀▀▀ ▀▄ ■ ▄▀
▄ ▀ ▐ ▓ ▌ ▀ ▄ ▄▄▄▄▄███████████▀ ▄■▀▀▀▀▀■▄ ▄ ▀ ▐ ▓ ▌ ▀ ▄
■ ▐ ▒ ▌ ■ ▀████▓▓▓░░░▀▀▀ ▄▀ KYRIE ▀▄ ■ ▄ ▐ ▒ ▌ ■
▌ ▄▀▐ ░ ▌▀▄ ▐ ▀▀ ▄▄▄▄▄▄▄▌ ELEISON ▐▄▄▄▄▄▄▄░ ▌ ▀▄▀▐ ░ ▌▀▄ ▐
▀▄ ▄▄▓▐ ░ ▌▓▄▄ ▄▀▀▀▄ ▄▄▓▀▀▀ ▄ ▄ ▄▀▄ ▄▄▀▀▀▄▄ ▄▀▄ ▄ ▄ ▀▀▀▓▄▄ ▄▀▀▀▄ ▀▄▓▐ ░ ▌▓▄▄ ▄▀
▐▀▀▀▀▄▀▄▀▀▀▀▐ ▓▀ ▐▌ ▄ ▀ ▄▄▄▄▄▄█▀░ ░▀█▄▄▄▄▄▄ ▀ ▄ ▐▌ ▀▓ ▌ ▀▀▀▄▀▄▀▀▀▀▌
▄ ▀▀▀▓ ▀ ▀▀▀ ▀▄▄▄▀ ▓██ █▓▀▀ ▀▌▄ ▄▐▀ ▀▀▓█ ██▓ ▀▄▄▄▀ ▐▀▀ ▀ ▓▀▀▀ ▄
█▄ ▀▐ ▄██▄ ▄ ▄▄█▀ ▀▀▀▀▀ ▀█▄▄ ▄ ▄▄██▄ ▌▀ ▄█
▓█▓▄ █▄▀▀█▌ ▄ ▄█▓▀ ▀▓█▄ ▄ ▀█▀▀▄█ ▄▓█▓
▀▓█▓▄▄▓████▄▄▄██▀▀ RELEASE INFORMATION ▀▀██▄ ▄████▓▄▄▓█▓▀
▀▓████▀▓█▀ ▀▓▀ ▀▓ ▀█▓▀████▓▀
█ ▀█▓▓██▄▄██ TITLE: C sharp Performance Tricks: How To ██▄▄██▓▓█▀ █
█▀ ▐█▒▓██░██ Radically Optimize Your Code. ██░██▓▒█▌ ▀█
█▀ █▓███▒█▌ ▐█▒███▓█ ▀█
█▀ ▐█▓███▓█░ ░█▓███▓█▌ ▀█
█▀ ▐██████▌ PUBLISHER..........: UDEMY ▐██████▌ ▀█
█▀ ▀▀████▓ LINK...............: http://is.gd/uWkYqZ ▓████▀▀ ▀█
▌ ▓██▌▄ ▀▀ AUTHOR.............: Mark Farragher ▀▀ ▄▐██▓ ▐
▌▐███░▒███▌ LEVEL..............: Appropriate For All ▐███▒░███▌▐
▌ ████▓████ RUNTIME............: 2.5 hours ████▓████ ▐
█ ▐▓█▀█████░ LANGUAGE...........: ENGLISH ░█████▀█▓▌ █
█▀ ▀▄█▄▄▀▀█▓ RELEASE TYPE.......: RETAIL ▓█▀▀▄▄█▄▀ ▀█
█▀▄ ▄▀███▓▄ RELEASE FORMAT.....: ISO ▄▓███▀▄ ▄▀█
█▀█ ▐▓▄▀████ STORE DATE:........: 2015.03.03 ████▀▄▓▌ █▀█
█▀█ ▐█▌▓██▓ RELEASE DATE.......: 2015.03.16 ▓██▓▐█▌ █▀█
▓▀█ ▓▌░██▓ ISO SIZE...........: 839,567,360 ▓██░▐▓ █▀▓
▒▀█ █ ▓█▓ ISO CHECKSUM.......: 48F3A4D3 ▓█▓ █ █▀▒
░ █ ▌░██ DISKCOUNT..........: 17 * 50MB ██░▐ █ ░
▓█▌▓█▌ SAVED MONEY........: YOU DID! ▐█▓▐█▓
░ ▒█▐██ DISKNAME...........: keiso_ucsptroyc ██▌█▒ ░
░▀ ▀ ▀ ▀░
░ ░
░▄░ ░ ██ ▄▄▄▄▄▓█▀█▀ ▀ ░ ▀ ▀█▀█▓▄▄▄▄▄ ██ ░ ░▄░
▒▄▒ ▓░ ████████ ▄▄▓█▌▀▀█▄▄▀▀ ▀▀▄▄█▀▀▐█▓▄▄ ████████ ░▓ ▒▄▒
▌▓▄▓▀ ▀▀▄ ██ ▄▄▐██▀ ▄██▀ ▀██▄ ▀██▌▄▄ ██ ▄▀▀ ▀▓▄▓▐
█▀ ▓░ ▄ █▄▌██ ▄ ▀ ▀█▌▐▓▀ TUTORIAL ▀▓▌▐█▀ ▀ ▄ ██▐▄█ ▄ ░▓ ▀█
▄▀ ▄ ▀▄ ▀▌▓█ ▀▄▄ ▀ ▀▄ ▄▀ ▀ ▄▄▀ █▓▐▀ ▄▀ ▄ ▀▄
▐▌ ■░■ ▐▌ ▄▌░▓ ▄██ ▀ ▓ ▓ ▀ ██▄ ▓░▐▄ ▐▌ ■░■ ▐▌
▀▄ ■ ▄▀ ▀▀▀▀ ▄▄█▀▀▀ ▀ ▀ ▀ ▀ ▀▀▀█▄▄ ▀▀▀▀ ▀▄ ■ ▄▀
█▀█ ▄▓ ▄ █▀▀ ▀▀█ ▄ ▓▄ █▀█
█▀█ ▄▓ ▄ ▐▌ ▐▌ ▄ ▓▄ █▀█
█▀█ █▓ ▄▓▄▀ Last Update: 14 March 2015 ▀▄▓▄ ▓█ █▀█
█▀█ ▓▒ ▒ ▒ ▒▓ █▀█
█▀█ ▒░ ░ Indispensable for the beginning pro ░ ░▒ █▀█
▓▀█ ▒░ "How to Write Fast C# Code" is basically the next ░▒ █▀▓
▒▀█ ░▓ step for any intermediate C# developer. This is the ▓░ █▀▒
░ █ ▒ stuff my teachers never had time for in school, ▒ █ ░
▓ ░ but after applying a couple of these simple tweaks, ░ ▓
░ ▒ ░ I got my sluggish methods to run 20 times faster - Niels ░ ▒ ░
░ ░
░ Clear, concise and valuable ░
░ Mark takes you through several easy to apply performance tricks in ░
░ a well-structured course. The videos are clear and easy to ░
░ follow and provide valuable knowledge for the beginner and ░
░ intermediate C# programmer - Marco ░
░ ░
░ BEST COURSE CHOICE for beginners and intermediate ░
░ C# developers who want to take their programming ░
░ skills to the next level. ░
░ ░
░ This is the BEST COURSE CHOICE for beginners and ░
░ intermediate C# developers who want to learn how to ░
░ write clean, elegant and high-performance C# code. ░
░ ░
░ You might have enrolled in an "How to program in C#" course, or ░
░ learned the language at school or university. But here's a ░
░ sobering fact: most courses only teach you how to write code, ░
░ and not how to write great code. ░
░ ░
░ Niels said it best when he wrote in his review: ░
░ ░
░ This is the stuff my teachers never had time for in school ░
░ ░
░ Niels' teachers did the best they could, but the .NET ░
░ Framework is huge. For any given problem there are ░
░ 5-10 solutions, and it is not always clear which ░
░ solution to pick. ░
░ ░
░ For example, let's say you're adding 4 strings ░
░ together. Should you use string or StringBuilder? If ░
░ you always use a StringBuilder you get Append() methods all ░
░ over the place and your code looks very convoluted and hard to ░
░ read. What to do? ░
░ ░
░ How about storing a collection of values? There's a bewildering ░
░ array of choices - single or multidimensional arrays, "jagged" ░
░ arrays, the ArrayList class, generic lists, custom ░
░ collections, dictionaries... Which one should you pick? ░
░ ░
░ I will help you make those choices ░
░ ░
░ This course will help you out. In a series of ░
░ bite-sized lectures I will cover all of these ░
░ issues one by one, and measure the performance of ░
░ each possible solution. You'll see that some ░
░ choices have terrible performance, and other ░
░ seemingly obvious performance optimizations actually don't do ░
░ much at all. ░
░ ░
░ But wait, there's more! I will not only show you great performance ░
░ tricks, but also dive into Common Intermediate Code (CIL), the ░
░ language that the C# compiler compiles to. If this sounds ░
░ daunting, don't worry! The CIL language is actually very easy ░
░ to read and understand. I'll take you through the basics in a ░
░ concise 15-minute lecture. ░
░ ░
░ After completing this course you will be able to ░
░ read performance optimizations straight out of CIL ░
░ code, like a pro. ░
░ ░
░ Note: The price will go up as new lectures are ░
░ added. If you get the course now, you'll get all the ░
░ new lectures for free! ░
░ ░
░ Meet your instructor ░
░ ░
░ Hi, my name is Mark Farragher and I'm pleased to meet you. ░
░ ░
░ I have worked in IT for almost 20 years in many different ░
░ roles, including CTO, Online Marketing Specialist, Consultant, ░
░ Corporate Trainer, Project Manager and Software ░
░ Developer. I am a serial entrepreneur and have ░
░ launched two start-ups in The Netherlands. ░
░ ░
░ I worked as a Microsoft Certified Trainer for many ░
░ years, on the subjects of Visual Basic .NET, C#, ░
░ ASP.NET, SQL Server, Microsoft CRM and Microsoft ░
░ BizTalk. I also gave many personalized trainings for ░
░ Philips, DHL, KPN, Océ and other large companies. ░
░ ░
░ My most noteworthy training was for the International Criminal ░
░ Court in The Hague. I trained war-crime investigators in the use ░
░ of SQL Server to verify witness statements and validate ░
░ evidence used against war criminals. ░
░ ░
░ Why should you take this course? ░
░ ░
░ There are many possible reasons for you to take this ░
░ course: ░
░ ░
░ Maybe you have just completed a beginner-level C# ░
░ course, and now you want to take your skills to the ░
░ next level? ░
░ ░
░ Or you might be working on a critical section of code in a C# ░
░ project, and need to optimize your code as much as possible. ░
░ ░
░ Or maybe you're preparing for a C# related job interview? You need ░
░ to prepare yourself for any performance-related questions you ░
░ might get asked. ░
░ ░
░ You are about to lean all the secrets of professional code ░
░ optimization ░
░ ░
░ In the first section we will cover some fundamental ░
░ aspects of the .NET Framework, that will help you ░
░ understand the performance improvements in later ░
░ sections. ░
░ ░
░ You'll learn the difference between the stack and the ░
░ heap, and how this can affect the performance of your code. ░
░ You will also learn what value types and reference types are, how ░
░ the String class works, and what boxing and unboxing is. ░
░ ░
░ We will end the section with a comprehensive look at Common ░
░ Intermediate Language (CIL): the ?machine language" that C# ░
░ compiles to. At the end of this lesson you will be able to ░
░ read and understand simple CIL programs. ░
░ ░
░ Basic optimizations - the low hanging fruit ░
░ ░
░ In this section we'll focus on some easy-to-implement ░
░ optimizations that can speed up your code by a ░
░ factor of 100-1000x. We will look at arrays, strings ░
░ and collection classes, and demonstrate a few ░
░ simple changes to your code that have a dramatic ░
░ impact on performance. ░
░ ░
░ We will look at each optimization in turn, both in the C# ░
░ source code and in the CIL compiled code. I will show you what ░
░ goes on behind the scenes, and how each optimization changes ░
░ the CIL code to improve the code performance. ░
░ ░
░ Advanced optimizations ░
░ ░
░ This section will take you into advanced topics such ░
░ as method inlining, arrays allocated on the stack, ░
░ and pointer operations. We'll go into the details ░
░ and show you how these optimizations work, in ░
░ which scenario's you should use them, and if they ░
░ are actually worth the effort. ░
░ ░
░ Some programmers swear by the use of 'stackalloc', claiming ░
░ that this keyword gives your arrays a performance boost. But is ░
░ this true? This section will show you the answer! ░
░ ░
░ But wait, there's more! ░
░ ░
░ This course already contains over 2 hours of video content, but ░
░ it's not finished yet. Over the next couple of months I am going ░
░ to expand the content in this course to at least ░
░ 4+ hours. ░
░ ░
░ If you enroll in this course now, you will get free ░
░ access to any future material I add to the course, ░
░ for life. ░
░ ░
░ You will also be able to send me a message, and ask ░
░ me for help with any performance-related C# problem you might ░
░ have. I will answer on weekdays and am available for live calls ░
░ on Fridays. ░
░ ░
░ With your permission, I will collect the most interesting ░
░ questions into ?Blackboard Friday" sessions, where I will credit ░
░ you by name on video, discuss your problem and offer ░
░ solutions. You will get free lifelong access to these sessions. ░
░ ░
░ Finally, I intend to create a range of courses around ░
░ the topic of becoming a C# professional. Upcoming ░
░ courses will be on the subject of writing elegant ░
░ code, interfacing with unmanaged code, and using ░
░ best patterns and practices. ░
░ ░
░ If you enroll in this course, you will get a minimum ░
░ 50% discount on all my upcoming courses. ░
░ ░
░ ░
░▄░ ░ ██ ▄▄▄▄▄▓█▀█▀ ▀ ░ ▀ ▀█▀█▓▄▄▄▄▄ ██ ░ ░▄░
▒▄▒ ▓░ ████████ ▄▄▓█▌▀▀█▄▄▀▀ ▀▀▄▄█▀▀▐█▓▄▄ ████████ ░▓ ▒▄▒
▌▓▄▓▀ ▀▀▄ ██ ▄▄▐██▀ ▄██▀ ▀██▄ ▀██▌▄▄ ██ ▄▀▀ ▀▓▄▓▐
█▀ ▓░ ▄ █▄▌██ ▄ ▀ ▀█▌▐▓▀ NOTES / NEWS ▀▓▌▐█▀ ▀ ▄ ██▐▄█ ▄ ░▓ ▀█
▄▀ ▄ ▀▄ ▀▌▓█ ▀▄▄ ▀ ▀▄ ▄▀ ▀ ▄▄▀ █▓▐▀ ▄▀ ▄ ▀▄
▐▌ ■░■ ▐▌ ▄▌░▓ ▄██ ▀ ▓ ▓ ▀ ██▄ ▓░▐▄ ▐▌ ■░■ ▐▌
▀▄ ■ ▄▀ ▀▀▀▀ ▄▄█▀▀▀ ▀ ▀ ▀ ▀ ▀▀▀█▄▄ ▀▀▀▀ ▀▄ ■ ▄▀
█▀█ ▄▓ ▄ █▀▀ ▀▀█ ▄ ▓▄ █▀█
█▀█ ▄▓ ▄ ▐▌ ▐▌ ▄ ▓▄ █▀█
█▀█ █▓ ▄▓▄▀ ▀▄▓▄ ▓█ █▀█
█▀█ ▓▒ ▒ Huh? No news are good news! ▒ ▒▓ █▀█
█▀█ ▒░ ░ ░ ░▒ █▀█
▓▀█ ▒░ ░▒ █▀▓
▒▀█ ░▓ ▓░ █▀▒
░ █ ▒ ▒ █ ░
▓ ░ ░ ▓
░ ▒ ░ ░ ▒ ░
░ ░
░ ░
░▄░ ░ ██ ▄▄▄▄▄▓█▀█▀ ▀ ░ ▀ ▀█▀█▓▄▄▄▄▄ ██ ░ ░▄░
▒▄▒ ▓░ ████████ ▄▄▓█▌▀▀█▄▄▀▀ ▀▀▄▄█▀▀▐█▓▄▄ ████████ ░▓ ▒▄▒
▌▓▄▓▀ ▀▀▄ ██ ▐██▀ ▄██▀ ▀██▄ ▀██▌▄▄ ██ ▄▀▀ ▀▓▄▓▐
█▀ ▓░ ▄ █▄▌██ ▄░ ▀█▌▐▓▀ RESPECTS ▀▓▌▐█▀ ▀ ▄ ██▐▄█ ▄ ░▓ ▀█
▄▀ ▄ ▀▄ ▀▌▓█ ▀▄▄ ▀ ▀▄ ▄▀ ▀ ▄▄▀ █▓▐▀ ▄▀ ▄ ▀▄
▐▌ ■░■ ▐▌ ▄▌░▓ ▄██ ▀ ▓ ▓ ▀ ██▄ ▓░▐▄ ▐▌ ■░■ ▐▌
▀▄ ■ ▄▀ ▀▀▀▀ ▄▄▓▀▀▀ ▀ ▀ ▀ ▀ ▀▀▀█▄▄ ▀▀▀▀ ▀▄ ■ ▄▀
█▀█ ▄▓▄ ▄▄█▀▀▀ ▀▀█ ▄ ▄▓▄ █▀█
▌ ▐▄▄▓ ▄ ▐▌ ▐▌ ▄ ▓▄▄▌ ▐
▌ ▀█▓ ▄▓▄▀ BBL - DDU - EEn - iNTENSiTY - JGT - RBS ▀▄▓▄ ▓█▀ ▐
▌░ ▓ █ █ ▓ ░▐
▌▒ ▒▄█▀ ▀█▄▒ ▒▐
▌▓▌ ░ ░ ▐▓▐
▌██ ░ SHOUTOUTS ░ ██▐
▌▐▓█ █▓▌▐
▌ ░▓█ █▓░ ▐
█ ░██ ██░ █
█▀▄ ▓██▄ DVT - FONT - iRONiSO - LAXiTY - PARADOX - SO ▄██▓ ▄▀█
█▀ ▄ ▓███▄ ▄███▓ ▄ ▀█
█▀ █▄▀▓█▀██▄ ▓ ▄██▀█▓▀▄█ ▀█
█▀ ▀ ▀█▄▀▓█▄▀▀▓▄▄ ▄▀ ▄ ▀▄ ▄▄▓▀▀▄█▓▀▄█▀ ▀ ▀█
█▀▄ ▀▄▀██▄▀▀█▄ ▀▀▓▄▄ ░ ▄▌▐▌ ■░■ ▐▌▐▄ ░ ▄▄▓▀▀ ▄█▀▀▄██▀▄▀ ▄▀█
█▀█ ▄ ▀▄▀███▄▀▀█▄▄ ▀▀▓▄ ▄▄▄▓▓█▀ ▀▄ ■ ▄▀ ▀█▓▓▄▄▄ ▄▓▀▀ ▄▄█▀▀▄███▀▄▀ ▄ █▀█
█▀█ █ ▀█▄▀█▄▀█▄▀▀█▄ █▓ ▀█ ▄ ▄ ▀ ▐ ▓ ▌ ▀ ▄ ▄ █▀ ▓█ ▄█▀▀▄█▀▄█▀▄█▀ █ █▀█
█▀█ █ █ ▀█▄▀█ ▀██▄▀█▄ ▐█▓░ ▀ ■ ▐ ▒ ▌ ■ ▀ ░▓█▌ ▄█▀▄██▀ █▀▄█▀ █ █ █▀█
█▀█ █ █ ▐▌▐██▐█▄ ▓██▐█▌██░ ░▌ ▄▀▐ ░ ▌▀▄ ▐░ ░██▐█▌██▓ ▄█▌██▌▐▌ █ █ █▀█
▀█ ▀████ ██▀████▐████▓▀ ▄▀▀▀▄ ▄▄▓▐ ░ ▌▓▄▄ ▄▀▀▀▄ ▀▓████▌████▀██ ████▀ █▀
▀█▄ ▀▀▀████▓▀▄█▓▀▀ ▐▌ ▀▓ ▌▀▀▀▀▄▀▄▀▀▀▀▐ ▓▀ ▐▌ ▀▀▓█▄▀▓████▀▀▀ ▄█▀
▀ ▄▄ ▀▀▀▀▀▀▀ ▄▌ ▀▄▄▄▀ ▀▀▀▄ ▀ ▄▀▀▀ ▀▄▄▄▀ ▐▄ ▀████▀▀ ▄▄ ▄▄ ▀
▀▀█▄▄▄▄▄▄▄▄▄████▄ ▄ ██▌▐ █ ▌▐██ ▄ ▄████▄▀ ▀▄▄
▀▀▀▀▀▀▀▀██▓▓░░ ▄ ▀ ▐ ▓ ▌ ▀ ▄ ░░▓▓██▀▀▄ H7/BREAK ▄▀
▄▀ ▄ ▀▄ ▓ ▄▐ ▒ ▌▄ ▓ ▄▀ ▄ ▀▄ ▀▐▄ ▄▌▀
▐▌ ▌ ▐ ▐▌ ░ ▐ ░ ▌ ░ ▐▌ ▌ ▐ ▐▌
▀▄ ▀ ▄▀▄▄ █ ░ █ ▄▄▀▄ ▀ ▄▀
▀▀▀ █ █ █ ░ █ █ █ ▀▀▀
▀▀ ▐▐ ░ ▌▌ ▀▀
█▐ ░ ▌█
▀▄▐ ░ ▌▄▀
▐ ▒ ▌
▐ ▓ ▌
▄▀ ■ ▀▄
▐▌ ■░■ ▐▌
▀▄ ▀ ▄▀
▀░▀