<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>machine learning Archives - CFTE</title>
	<atom:link href="https://blog.cfte.education/tag/machine-learning/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.cfte.education/tag/machine-learning/</link>
	<description>Blog</description>
	<lastBuildDate>Mon, 31 Jan 2022 09:53:48 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.3.10</generator>

<image>
	<url>https://blog.cfte.education/wp-content/uploads/2020/11/cropped-cfte-logo-box-1-32x32.png</url>
	<title>machine learning Archives - CFTE</title>
	<link>https://blog.cfte.education/tag/machine-learning/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>What is Financial Technology (Fintech)?</title>
		<link>https://blog.cfte.education/financial-technology-fintech/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=financial-technology-fintech</link>
					<comments>https://blog.cfte.education/financial-technology-fintech/#respond</comments>
		
		<dc:creator><![CDATA[Elnur Bayaliyev]]></dc:creator>
		<pubDate>Mon, 27 Dec 2021 12:27:09 +0000</pubDate>
				<category><![CDATA[Fintech]]></category>
		<category><![CDATA[blockchain]]></category>
		<category><![CDATA[CFTE Blog]]></category>
		<category><![CDATA[fintech definition]]></category>
		<category><![CDATA[Fintech startups]]></category>
		<category><![CDATA[fintech unicorns]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[Open Banking]]></category>
		<category><![CDATA[payments]]></category>
		<guid isPermaLink="false">https://blog.cfte.education/?p=22445</guid>

					<description><![CDATA[<p>What is Fintech? Considering some definitions provided by Oxford English Dictionary (n.d.) and Shueffel (2016), Fintech is represented by a &#8230; <a href="https://blog.cfte.education/financial-technology-fintech/" class="btn btn-readmore">Read More <span class="screen-reader-text"> "What is Financial Technology (Fintech)?"</span></a></p>
<p>The post <a href="https://blog.cfte.education/financial-technology-fintech/">What is Financial Technology (Fintech)?</a> appeared first on <a href="https://blog.cfte.education">CFTE</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">What is Fintech?</h2>



<p>Considering some definitions provided by <a href="https://www.lexico.com/definition/fintech">Oxford English Dictionary (n.d.)</a> and <a href="https://www.researchgate.net/publication/314437464_Taming_the_Beast_A_Scientific_Definition_of_Fintech">Shueffel (2016)</a>, Fintech is represented by a set of computer technologies that are to assist in and enable financial services to improve such aspects as customer service or data processing. Despite that some definitions presume its centrality to financial services, some highlight its external nature, as a variety of processes being added to existing infrastructure (for example, the addition of new technology like automated processes or machine learning). The term among the folk has started its rise in 2011, with some rare mentions to skyrocket starting from 2015, as many aspiring post-crisis startups and technologies began to receive prominence.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img fetchpriority="high" decoding="async" src="https://blog.cfte.education/wp-content/uploads/2021/12/Number-of-Fintech-Startups-1024x1024.png" alt="" class="wp-image-22466" width="504" height="504" srcset="https://blog.cfte.education/wp-content/uploads/2021/12/Number-of-Fintech-Startups-1024x1024.png 1024w, https://blog.cfte.education/wp-content/uploads/2021/12/Number-of-Fintech-Startups-300x300.png 300w, https://blog.cfte.education/wp-content/uploads/2021/12/Number-of-Fintech-Startups-150x150.png 150w, https://blog.cfte.education/wp-content/uploads/2021/12/Number-of-Fintech-Startups-768x768.png 768w, https://blog.cfte.education/wp-content/uploads/2021/12/Number-of-Fintech-Startups-331x331.png 331w, https://blog.cfte.education/wp-content/uploads/2021/12/Number-of-Fintech-Startups.png 1080w" sizes="(max-width: 504px) 100vw, 504px" /></figure></div>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Common Features of Fintechs</h2>



<p>Fintech organisations tend to have a variety of similar traits that are worth highlighting.&nbsp;</p>



<ol style="font-size:14px"><li>Fintech businesses are &#8220;need-focused,&#8221; which means they unbundle financial services and rely on customisation to create personalised solutions.</li><li>They tend to expand the services of incumbents to previously ill-covered customer groups or create totally new forms of service.</li><li>Customers, as a result of their strategically central role in developing the businesses&#8217; value propositions, are facing the blurring line between who makes products and services and who utilises them, since the creation of a platform frequently entails just bridging the network rather than fully separating each participant.</li><li>Quite often one of the premises is to take out third parties or additional steps of the process.</li><li>The need for expansion and fresh views on user experience/user interface are pushing forward the simplicity and “playfulness” of brand interactions.</li></ol>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img decoding="async" src="https://blog.cfte.education/wp-content/uploads/2021/12/Copy-of-Number-of-Fintech-Startups-1-1024x1024.png" alt="" class="wp-image-22539" width="522" height="522" srcset="https://blog.cfte.education/wp-content/uploads/2021/12/Copy-of-Number-of-Fintech-Startups-1-1024x1024.png 1024w, https://blog.cfte.education/wp-content/uploads/2021/12/Copy-of-Number-of-Fintech-Startups-1-300x300.png 300w, https://blog.cfte.education/wp-content/uploads/2021/12/Copy-of-Number-of-Fintech-Startups-1-150x150.png 150w, https://blog.cfte.education/wp-content/uploads/2021/12/Copy-of-Number-of-Fintech-Startups-1-768x768.png 768w, https://blog.cfte.education/wp-content/uploads/2021/12/Copy-of-Number-of-Fintech-Startups-1-331x331.png 331w, https://blog.cfte.education/wp-content/uploads/2021/12/Copy-of-Number-of-Fintech-Startups-1.png 1080w" sizes="(max-width: 522px) 100vw, 522px" /></figure></div>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-large"><a href="https://courses.cfte.education/online-fintech-masterclass-learn-fintech-for-free/?utm_campaign=What-is-fintech-blog-SEO-Articles-1-26-22&amp;utm_medium=Organic&amp;utm_source=Blog" target="_blank" rel="noopener"><img decoding="async" width="1024" height="284" src="https://blog.cfte.education/wp-content/uploads/2021/11/The-Fintech-Job-Report-3-1-1024x284.png" alt="CFTE Free Frintech Masterclass Online" class="wp-image-21513" srcset="https://blog.cfte.education/wp-content/uploads/2021/11/The-Fintech-Job-Report-3-1-1024x284.png 1024w, https://blog.cfte.education/wp-content/uploads/2021/11/The-Fintech-Job-Report-3-1-300x83.png 300w, https://blog.cfte.education/wp-content/uploads/2021/11/The-Fintech-Job-Report-3-1-768x213.png 768w, https://blog.cfte.education/wp-content/uploads/2021/11/The-Fintech-Job-Report-3-1.png 1300w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Fintech Landscape</h2>



<p>In its quest to capture the landscape of Fintech in Australia, <a href="https://home.kpmg/au/en/home/insights/2017/08/australian-fintech-landscape.html">KPMG (2020)</a> divided Fintech among the following domains (plus a couple of other we considered essential):</p>



<div class="wp-block-columns is-layout-flex wp-container-3 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<ul style="font-size:14px"><li>Data Analytics</li><li>Personal Finances</li><li>Blockchain</li><li>Wealthtech</li><li>Capital Markets</li><li>Regtech</li></ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<ul style="font-size:14px"><li>Insurtech</li><li>Credit Markets</li><li>Crowdfunding</li><li>Corporate Support Functions</li><li>Digital Banking</li><li>Payments</li></ul>
</div>
</div>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Fintech Origins</h2>



<p>In a study report published in 2015, <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2676553">Arner et al., (2015)</a> attempted to evaluate the evolution of Fintech. &#8220;The term&#8217;s roots may be traced to the early 1990s and related to the &#8216;Financial Services Technology Consortium,&#8217; an initiative started by Citigroup to assist technical collaboration efforts,&#8221; write Ibid. Indeed, the authors&#8217; source, an article published by the media site American Banker, references a Citigroup initiative called &#8220;Fintech&#8221; that began in the early 1990s <a href="https://www.americanbanker.com/opinion/fintech-the-word-that-is-evolves">(Hochstein, 2015)</a>. The American Banker also released another story titled &#8220;Friday Flashback: Did Citi Coin the Term &#8216;Fintech&#8217;?&#8221; on the term Fintech. &#8220;[t]he story below published in American Banker in August 1993, and features the first use we could discover of the now-trendy phrase &#8216;Fintech’”, according to an editor&#8217;s note (Ibid). It references Fintech as a project label used by Citibank. This is the first paper cited by Hochstein (2015) and subsequently Arner et al. (2015) when claiming that the term Fintech originated in the early 1990s.</p>



<p>Despite this, the word Fintech was coined in 1972. Mr Abraham Bettinger, from Hanover Trust, provided the following definition in a scholarly article detailing models on how he had analysed and solved daily banking problems encountered at the bank (Oshodin et al., 2019): &#8220;Fintech is an acronym that stands for financial technology, combining bank expertise with modern management science techniques and the computer (Bettinger, 1972). Bettinger&#8217;s work was not wholly overlooked during his lifetime, as evidenced by an early reference of his work by Warschauer several years after <a href="https://www.researchgate.net/publication/334459334_How_do_FinTechs_Develop_Capabilities_Towards_a_Model_of_FinTech_Capability_Development">(Oshodin et al., 2019)</a>. Even so, it&#8217;s possible that the Citibank Fintech project&#8217;s imitators in the early 1990s were unaware of Bettinger&#8217;s study and chose the same title for their initiative by chance. It is important noting at this time that neither academia nor practice can be definitively recognised as the birthplace of the word Fintech, given the phrase was coined by a practitioner in a scientific journal article.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">History of Fintech</h2>



<p>Yet, the development itself did not seem to start that late and could be associated with early 1950s, as the first stage of the transit from physical means of information exchange to digital among financial service providers. It could be linked to first attempts to create a credit card by <a href="https://www.dinersclub.co.uk/">Diners Club International</a> (n.d.), or progress on Federal Reserve Wire System. According to <a href="https://qz.com/1316814/the-worlds-first-atm-was-installed-this-week-in-1967-are-its-days-numbered/">Nelson (2018)</a>, in late June 1967, Barclays installed the first ATM. Though quite coarse when it comes to functionalities, such as a limit of £10 or frequent bugs, it has marked a huge leap forward as it lifted long queues and expanded the service opening time.</p>



<p>Later, the 1970s showcased some other major shifts such as the FINRA-led creation of Nasdaq, which could partly be regarded as the first digital exchange. Though, it needed years to shift from the over-the-counter nature and meaningfully automate reporting and trading <a href="https://www.tribpub.com/gdpr/mcall.com/">(Widder, 1992).</a> One would also mention the creation of SWIFT, i.e. the framework for international bank communication. Its exchange software and messaging standards created a fertile ground for automated and unimpeded interaction between thousands of institutions <a href="https://www.swift.com/">(SWIFT, n.d.).</a></p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="https://blog.cfte.education/wp-content/uploads/2022/01/FedWire-1024x1024.png" alt="" class="wp-image-22662" width="430" height="430" srcset="https://blog.cfte.education/wp-content/uploads/2022/01/FedWire-1024x1024.png 1024w, https://blog.cfte.education/wp-content/uploads/2022/01/FedWire-300x300.png 300w, https://blog.cfte.education/wp-content/uploads/2022/01/FedWire-150x150.png 150w, https://blog.cfte.education/wp-content/uploads/2022/01/FedWire-768x768.png 768w, https://blog.cfte.education/wp-content/uploads/2022/01/FedWire-331x331.png 331w, https://blog.cfte.education/wp-content/uploads/2022/01/FedWire.png 1080w" sizes="(max-width: 430px) 100vw, 430px" /></figure></div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Then, the process gained momentum: the 1980s opened the stage for online banking (yet only partial); the 1990s popularised e-commerce and introduced more participants to this movement. Though the biggest impact was brought by the global shake-up, as old institutional arrangements have not only led the world economy to turmoil but also gave birth to a massive distrust in the system by people. As a result, ideas for alternatives were welcomed, ranging from less conventional ways to improve the legacy systems (i.e. make them more transparent or reduce transaction costs) to totally new ways of thinking (like that proposed by blockchain). As some of these endeavours have proved utterly successful, more attention has been paid to corresponding ventures in the following years. Though, it is not yet known whether this phenomenon will peak and fade any time soon, or whether any single set of arrangements will displace the other.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Fintech-related Terms</h2>



<p>Thanks to some research provided by <a href="https://www2.deloitte.com/uk/en/pages/financial-services/articles/fintech-glossary.html">Deloitte (n.d.)</a> and CFTE’s older publications, here one could find a list of some of the most common terms associated with Fintech, and thus be able to expand their knowledge.</p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-6 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<ul style="font-size:14px"><li><strong>Angels:</strong> wealthy individuals who contribute funds to a startup company in exchange for a stake in the company — typically in the form of stock or convertible debt. </li><li><strong>Alternative Lending:</strong> a term used to describe a variety of lending choices other than a standard bank loan, more flexible in terms of repayment and approval, but characterised by higher interest rates. </li><li><strong>API (Application Programming Interface)</strong>: a collection of processes, protocols, and tools for developing software applications that enables various systems or applications to interact with one another. This enables for application customization based on the user&#8217;s needs and can help to streamline day-to-day activities.</li><li><strong>Blockchain:</strong> an increasing set of cryptographically linked&nbsp;records.&nbsp;A cryptographic hash of the preceding block, a timestamp, and transaction data are all included in each block. To get into the hash, the timestamp validates that the transaction data existed when the block was published.</li><li><strong>Cloud Computing:</strong> the supply of computer services via the Internet (the cloud), including servers, storage, databases, networking, software, analytics, and intelligence, in order to provide speedier innovation, more flexible resources, and economies of scale.</li><li><strong>Datafication:</strong> the process of quantifying parts of life which were not&nbsp;measured before and converting them into data that can be assigned a value. It&nbsp;is used in financial services to improve decision-making quicker and even more precise.</li></ul>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<ul style="font-size:14px"><li><strong>DMP (Data Management Platform):</strong> a software system for gathering, organising, and activating first-, second-, and third-party audience data from a variety of online, offline, and portable channels. It then takes that information and utilises it to create extensive consumer profiles that are used to drive targeted advertising and customization efforts.</li><li><strong>ICOs (Initial Coin Offerings)</strong>: a procedure or event in which a corporation (particularly a start-up) tries to generate funds by selling a new cryptocurrency, which investors can buy in the hopes that the cryptocurrency&#8217;s value will rise, or to subsequently swap for services provided by the firm.</li><li><strong>Neobanks:</strong> a form of direct banks&nbsp;that operate&nbsp;entirely online and do&nbsp;not have any physical branches to provide services.</li><li><strong>Open Banking: </strong>refers to a bank&#8217;s affordance to share account information with other allowed third parties. For customers, the goal is to allow these third parties to provide a more personalised service based on their buying patterns.</li><li><strong>Platformisation: </strong>characterises digital platforms&#8217; penetration of infrastructures, economic processes, and political frameworks in many economic sectors and spheres of life, as well as the reorganisation of cultural practises and imaginations around these platforms.</li><li><strong>Smart Contracts: </strong>a self-executing portion of script that lets a transaction to be processed and verified. A smart contract is often implemented on a decentralised ledger, such as a blockchain, that monitors and enforces the contract.</li></ul>
</div>
</div>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Fintech Examples</h2>



<h4 class="has-medium-font-size wp-block-heading">1. Lufax</h4>



<div class="wp-block-columns is-layout-flex wp-container-9 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p></p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Once focused on P2P lending,&nbsp;Lufax is a technology-driven online Internet financial marketplace that provides retail credit and wealth management services.&nbsp;</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="https://blog.cfte.education/wp-content/uploads/2021/12/th.jpg" alt="" class="wp-image-22510" width="228" height="99" srcset="https://blog.cfte.education/wp-content/uploads/2021/12/th.jpg 383w, https://blog.cfte.education/wp-content/uploads/2021/12/th-300x130.jpg 300w" sizes="(max-width: 228px) 100vw, 228px" /></figure></div>



<p></p>
</div>
</div>



<h4 class="has-medium-font-size wp-block-heading">2. Tinkoff</h4>



<div class="wp-block-columns is-layout-flex wp-container-12 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Made as an experiment for the Russian market, Tinkoff is the region’s digital banking champion, highlighting openness and big data solutions.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="https://blog.cfte.education/wp-content/uploads/2021/12/th-2-1.jpg" alt="" class="wp-image-22514" width="283" height="87"/></figure></div>
</div>
</div>



<h4 class="has-medium-font-size wp-block-heading">3. Brex</h4>



<div class="wp-block-columns is-layout-flex wp-container-15 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Brex, a shining example of a Silicon Valley unicorn, fills a developing vacuum in banking ambitious tech startups, assisting them with cash management and credit needs.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="https://blog.cfte.education/wp-content/uploads/2021/12/th-3.jpg" alt="" class="wp-image-22515" width="223" height="117" srcset="https://blog.cfte.education/wp-content/uploads/2021/12/th-3.jpg 311w, https://blog.cfte.education/wp-content/uploads/2021/12/th-3-300x157.jpg 300w" sizes="(max-width: 223px) 100vw, 223px" /></figure></div>
</div>
</div>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Fintech Regulation</h2>



<p>The centricity of technology has provided massive regulatory advantages, as many entities to challenge the traditional incumbents were not subject to regulatory scrutiny. However, as they were increasingly becoming full-fledged players in the industry, be them independent organisations or vassals of larger traditional banking institutions, they are now getting exposed to existing regulation or supplied with the new one. </p>



<p>The major driver of this attention, however, is the state’s sensitivity to potential contagion effects, as consumer bases of the former are growing remarkably. Special attention is currently paid to blockchain-related phenomena, as state representatives and major institutions behind are utterly uncomfortable with potential economic shocks, Ponzi schemes, loss of central power and transaction transparency/irreversibility.</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="https://blog.cfte.education/wp-content/uploads/2021/12/Copy-of-Job-Report-Horizontal-1024x576.png" alt="" class="wp-image-22474" width="698" height="392" srcset="https://blog.cfte.education/wp-content/uploads/2021/12/Copy-of-Job-Report-Horizontal-1024x576.png 1024w, https://blog.cfte.education/wp-content/uploads/2021/12/Copy-of-Job-Report-Horizontal-300x169.png 300w, https://blog.cfte.education/wp-content/uploads/2021/12/Copy-of-Job-Report-Horizontal-768x432.png 768w, https://blog.cfte.education/wp-content/uploads/2021/12/Copy-of-Job-Report-Horizontal-1536x864.png 1536w, https://blog.cfte.education/wp-content/uploads/2021/12/Copy-of-Job-Report-Horizontal.png 1920w" sizes="(max-width: 698px) 100vw, 698px" /></figure></div>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Fintech Largest Centres</h2>



<div class="wp-block-columns is-layout-flex wp-container-18 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading" style="font-size:22px">Silicon Valley</h4>



<p><strong>Notable Fintech Unicorns:</strong> Pontoro, FlyFin AI, Tipalti, Oportun, Brex</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading" style="font-size:22px">London</h4>



<p><strong>Notable Fintech Unicorns:</strong> Starling Bank, TrueLayer, Funding Circle, Monese, Monzo</p>
</div>
</div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-21 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading" style="font-size:22px">New York</h4>



<p><strong>Notable Fintech Unicorns:</strong> Lemonade, Policygenius, Betterment, Stash, Forter</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading" style="font-size:22px">Beijing</h4>



<p><strong>Notable Fintech Unicorns:</strong> Bitmain, Rong360, Tiger Brokers, TalkingData, WeBank</p>
</div>
</div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-24 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading" style="font-size:22px">Shanghai</h4>



<p><strong>Notable Fintech Unicorns:</strong> Lufax, Onchain, Riskstorm, Juxinli, Dianrong</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading" style="font-size:22px">Berlin</h4>



<p><strong>Notable Fintech Unicorns: </strong>N26, Friday, Wefox Group, Finleap, Raisin</p>
</div>
</div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-27 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading" style="font-size:22px">Stockholm</h4>



<p><strong>Notable  Fintech Unicorns:</strong> Froda, Bitrefill, AidHedge, Ponture, Mitigram</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading" style="font-size:22px">Sydney</h4>



<p><strong>Notable Fintech Unicorns:</strong> BrickX, MoneyMe, Persollo, Basic, Brighte</p>
</div>
</div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-30 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading" style="font-size:22px">Singapore</h4>



<p><strong>Notable Fintech Unicorns:</strong> CoinGecko, Kucoin, Huobi, First Data, Seedly.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading" style="font-size:22px">New Delhi</h4>



<p><strong>Notable Fintech Unicorns:</strong> Airtel Payments Bank, IndiaLends, Spice Money, InstantPay, EKO India Financial Services</p>
</div>
</div>



<div style="height:10px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-buttons is-content-justification-center is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link has-background" href="https://courses.cfte.education/ranking-of-largest-fintech-companies/" style="background-color:#b71524" target="_blank" rel="noreferrer noopener">List of Top Fintech Companies</a></div>
</div>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-large is-style-default"><a href="https://courses.cfte.education/online-fintech-masterclass-learn-fintech-for-free/?utm_campaign=What-is-fintech-blog-SEO-Articles-1-26-22&amp;utm_medium=Organic&amp;utm_source=Blog" target="_blank" rel="noopener"><img decoding="async" width="1024" height="284" src="https://blog.cfte.education/wp-content/uploads/2021/11/The-Fintech-Job-Report-3-1-1024x284.png" alt="CFTE Free Frintech Masterclass Online" class="wp-image-21513" srcset="https://blog.cfte.education/wp-content/uploads/2021/11/The-Fintech-Job-Report-3-1-1024x284.png 1024w, https://blog.cfte.education/wp-content/uploads/2021/11/The-Fintech-Job-Report-3-1-300x83.png 300w, https://blog.cfte.education/wp-content/uploads/2021/11/The-Fintech-Job-Report-3-1-768x213.png 768w, https://blog.cfte.education/wp-content/uploads/2021/11/The-Fintech-Job-Report-3-1.png 1300w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="has-white-color has-text-color" style="font-size:1px">fintech startupsrobo advisorsbuy or selltraditional bankingstock trading app</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>
<p>The post <a href="https://blog.cfte.education/financial-technology-fintech/">What is Financial Technology (Fintech)?</a> appeared first on <a href="https://blog.cfte.education">CFTE</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.cfte.education/financial-technology-fintech/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Conversational AI Examples: How Siri, Alexa &#038; Google Assistant have Human-like Conversations</title>
		<link>https://blog.cfte.education/conversational-ai-examples-how-siri-alexa-google-assistant-have-human-like-conversations/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=conversational-ai-examples-how-siri-alexa-google-assistant-have-human-like-conversations</link>
		
		<dc:creator><![CDATA[Urvi Bathia]]></dc:creator>
		<pubDate>Thu, 11 Feb 2021 06:26:29 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[artificial intelligence]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[CFTE Blog]]></category>
		<category><![CDATA[conversational AI]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[natural language processing]]></category>
		<guid isPermaLink="false">https://blog.cfte.education/?p=16590</guid>

					<description><![CDATA[<p>In today’s day and age, it’s next to impossible to have not completed even a single task without the help &#8230; <a href="https://blog.cfte.education/conversational-ai-examples-how-siri-alexa-google-assistant-have-human-like-conversations/" class="btn btn-readmore">Read More <span class="screen-reader-text"> "Conversational AI Examples: How Siri, Alexa &#38; Google Assistant have Human-like Conversations"</span></a></p>
<p>The post <a href="https://blog.cfte.education/conversational-ai-examples-how-siri-alexa-google-assistant-have-human-like-conversations/">Conversational AI Examples: How Siri, Alexa &amp; Google Assistant have Human-like Conversations</a> appeared first on <a href="https://blog.cfte.education">CFTE</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>In today’s day and age, it’s next to impossible to have not completed even a single task without the help of a virtual assistant who adheres to your ‘voice command’. A growing preference for voice interaction with virtual assistants and bots is booming, and it could be because ‘voice’ has always been the most natural way to engage with people and customers too &#8211; as the tech giant, Amazon, claims. A voice interface also provides convenience to millions as they save on time and the cognitive burden that goes into typing a query they want answered or a task they want done.</p>



<p>This raises an important question today &#8211; what makes this convenience laden technology a reality?&nbsp;</p>



<p>And is it this the same technology that gave birth to Siri, Alexa and Google Assistant?</p>



<p>Like most revolutionary technologies, this too is driven by AI technology &#8211; particularly conversational artificial intelligence. It would be enriching to understand what this technology is and how it has empowered products like Siri, Alexa and Google Assistant to have more human-like capabilities.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><strong>What is Conversational Artificial Intelligence?</strong></h2>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Conversational artificial intelligence can be defined as an intelligent mechanism of imitating real-life human conversations. This game-changing technology is made possible as it is built on the sturdy foundation of machine learning (ML), and natural language processing (NLP). By feeding in extensive volumes of data, machines can be wired to learn the essence of human interactions, giving them the power to recognise speech and text inputs while also translating its meaning into an array of desired languages.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><strong>Are Siri, Alexa and Google Assistant examples of conversational AI?</strong></h2>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Yes! Technologies like Siri, Alexa and Google Assistant that are ubiquitous in every household today are excellent examples of conversational AI.&nbsp; These <a href="https://blog.cfte.education/chatbots-traditional-vs-conversational-ai-powered/" target="_blank" rel="noreferrer noopener">conversational AI bots are more advanced than regular chatbots</a> that are programmed with answers to certain questions. These virtual assistants are configured to be more human-like, generating responses that are more natural and aligned to real human conversations as compared to chatbot conversations.&nbsp;</p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="683" src="https://blog.cfte.education/wp-content/uploads/2021/02/talking-to-smarthome-assistant-device-1024x683.jpg" alt="Talking to a virtual assistant is possible through conversational AI" class="wp-image-16607" srcset="https://blog.cfte.education/wp-content/uploads/2021/02/talking-to-smarthome-assistant-device-1024x683.jpg 1024w, https://blog.cfte.education/wp-content/uploads/2021/02/talking-to-smarthome-assistant-device-300x200.jpg 300w, https://blog.cfte.education/wp-content/uploads/2021/02/talking-to-smarthome-assistant-device-768x512.jpg 768w, https://blog.cfte.education/wp-content/uploads/2021/02/talking-to-smarthome-assistant-device-1536x1024.jpg 1536w, https://blog.cfte.education/wp-content/uploads/2021/02/talking-to-smarthome-assistant-device-2048x1365.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p>If you have ever asked your virtual assistant, “What’s the weather like today?” Or asked it to, “Play my saturday night music playlist!”, this intelligent machine is able to give you the right answer in a matter of seconds and can perform the task quicker than if you had to lift a finger. All this is made possible with conversational software created with artificial intelligence, which has led to an explosive growth of a number of voice assistants across the world.&nbsp;</p>



<p>But how are these advanced virtual assistants able to understand human commands and perform a variety of tasks?</p>



<p>Let&#8217;s investigate!</p>



<div style="height:48px" aria-hidden="true" class="wp-block-spacer"></div>





<div style="height:48px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><strong>How does Siri, Alexa and Google Assistant’s Conversational AI Technology Work?</strong></h2>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Machine learning is an integral part of giving Siri, Alexa and Google Assistant the human superpowers they possess today. <a href="https://blog.cfte.education/what-is-the-difference-between-artificial-intelligence-ai-and-machine-learning-ml/" target="_blank" rel="noreferrer noopener">Machine learning&nbsp; is an application of Artificial Intelligence</a> that focuses on training systems to improve their ability to learn so they can better perform tasks &#8211; in this case, interact better with humans. This is done by feeding data to computer systems so that they can automatically analyse patterns to guide decision-making in the future. What’s exciting is that machines learn on their own without the need of having to be programmed by a human, allowing them to develop greater capabilities. Other fields of machine learning like natural language processing and deep learning are also integral in helping conversational AI become a reality.</p>



<p>So each time Alexa, Siri or Google assistant make an error while responding to your query, it uses this information to learn and rectify its mistake in the future. Thus by taking in data of when it makes a mistake or when its response was accurate it uses this as a rulebook to guide its behaviour in the future.&nbsp;&nbsp;</p>



<p>Though this process could be deceptively simple from the outside, it involves the synthesises of a number of complex processes behind the scenes to get the desired result. To help break down these processes into understandable bites of information, we compiled the following steps to explain how conversational AI works:</p>



<h3 class="wp-block-heading" style="font-size:20px"><strong>Step 1 : Automatic Speech Recognition (ASR)</strong></h3>



<p>Once a query is shot out, the voice assistant’s artificial intelligence must understand what has been asked through automatic speech recognition (ASR), which converts speech to text.&nbsp;</p>



<h3 class="wp-block-heading" style="font-size:20px"><strong>Step 2&nbsp; : Natural Language Understanding (NLU)</strong></h3>



<p>Once this is done, natural language processing through natural language understanding (NLU), helps the system interpret the input to understand the sentiment and intent behind the query. It deciphers this despite the grammatical errors or shortcuts.&nbsp;</p>



<h3 class="wp-block-heading" style="font-size:20px"><strong>Step 3 : Machine Learning to Configure a Response</strong></h3>



<p>Next, to fabricate an appropriate response, the machine determines the correct answer based on the context of the user’s intent, with the help of machine learning. Over time, by learning different variations of a query guided by the same intent, the machine learns the most appropriate response.</p>



<h3 class="wp-block-heading" style="font-size:20px"><strong>Step 4 : Natural Language Generation (NLG)</strong></h3>



<p>After having synthesized all this information, the machine now works to produce a comprehendible response with the help of natural language processing through natural language generation (NLG). Whether it may be completing a task or answering a question, it completes the process in a way that is more akin to human interaction.</p>



<h3 class="wp-block-heading" style="font-size:20px"><strong>Step 5&nbsp;: Text-to-speech Software</strong></h3>



<p>With a response in place, the virtual assistant now translates the text into a voice response with text-to-speech software.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading" style="font-size:18px"><strong>To summarize how conversational AI works:</strong></h4>



<ol class="is-style-default"><li>Automatic speech recognition (ASR) converts speech to text.</li><li>Natural language understanding (NLU) interprets the query intent.</li><li>Machine learning helps configure a response.</li><li>Natural language generation (NLG) helps generate a human-like response.</li><li>Text-to-speech software converts the generated response into speech.</li></ol>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="723" height="1024" src="https://blog.cfte.education/wp-content/uploads/2021/02/How-Does-Conv-AI-Work-Infographic-7-723x1024.png" alt="How Does Conversational AI Work Infographic" class="wp-image-20192" srcset="https://blog.cfte.education/wp-content/uploads/2021/02/How-Does-Conv-AI-Work-Infographic-7-723x1024.png 723w, https://blog.cfte.education/wp-content/uploads/2021/02/How-Does-Conv-AI-Work-Infographic-7-212x300.png 212w, https://blog.cfte.education/wp-content/uploads/2021/02/How-Does-Conv-AI-Work-Infographic-7-768x1088.png 768w, https://blog.cfte.education/wp-content/uploads/2021/02/How-Does-Conv-AI-Work-Infographic-7-1084x1536.png 1084w, https://blog.cfte.education/wp-content/uploads/2021/02/How-Does-Conv-AI-Work-Infographic-7.png 1200w" sizes="(max-width: 723px) 100vw, 723px" /></figure>



<p class="has-text-align-center"><strong><em>Share our infographic to help your network understand how your virtual assistant&#8217;s conversational AI works!</em></strong></p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Now that we understand the nuts and bolts of what facilitates a conversation with a robot, it would also be worth considering why this technology is useful at all!&nbsp;</p>



<p>Consumers are always on the hunt for the next best experience or product to make their life easier and this radically changes their behaviour over time as they adapt to new technologies.</p>



<p>Businesses today are designed with customers taking center stage at every step &#8211; from conception to execution. With this as a guiding principle for businesses, when any revolutionary technology props up in the market to bolster that mission, it is impossible to go forward without paying heed to those technological advancements. To paint a clear picture of why conversational AI can help business owners take their offerings up a notch, let’s explore the benefits of conversational AI for businesses.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><strong>Why is Conversation AI Important for your Business?</strong></h2>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" style="font-size:20px">1. <strong>Enhancing Customer Experience</strong></h3>



<p>With the evolution of myriad businesses missioned to simplify our lives with tailored apps on smart devices, one can often have a disjointed experience toggling from one app to another. This predicament has led to the rise of the voice assistant as a single interface for interaction. Though popularly used as virtual assistants at home to dim the lights or play some music, the possible applications of voice assistants can go well beyond the regular uses we see.</p>



<p>For instance, we now have conversational AI for banking whereby customers can bid adieu to complex navigation menus and could check their account balances by simply asking their smart device.&nbsp;</p>



<h3 class="wp-block-heading" style="font-size:20px">2. <strong>Optimising Repetitive Tasks</strong></h3>



<p>From e-commerce sites to call centres, business employees are often burdened with a continuous flow of repetitive tasks. Though<a href="https://www.investopedia.com/terms/r/robotic-process-automation-rpa.asp"> robotic process automation (RPA)</a> is designed to perform recurring tasks, they aren’t always performed with a customer-centric approach in mind. In these cases using conversational AI to generate more intuitive and real, human interactions can help fill in the widened chasm today. This will also help to automate a high volume of tasks and interactions in the avenue of customer servicing while giving support staff the bandwidth to deal with more pressing issues.</p>



<h2 class="wp-block-heading" style="font-size:20px">3. <strong>Gaining Insights from a Wealth of Data</strong></h2>



<p>Conversational AI, being an unstructured mechanism of communication gathers information during every interaction for algorithmic improvement. This generates rich data that can be utilised to create better customer insights and drive the business forward by closely aligning to user objectives.&nbsp;</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><strong>Conclusion</strong></h2>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Though today, businesses have not successfully been able to navigate the range of possibilities created by conversational AI, this sector is on track to radically change the way consumers interact with businesses. The conversational AI market size is set to grow from $4.8 Billion in 2020 to a staggering $13.9 Billion by 2025, at a Compounded Annual Growth Rate of 21.9%. The main drivers of this unprecedented growth are increasing demand for conversational AI for customer service, the possibility of omnichannel deployment and a reduction in development costs of these advanced technologies. As organisations realise the true value of conversational AI and grapple for successful execution, they will need to combat the lack of accuracy seen in this technology today and innovate to produce better solutions. As innovation advances, it&#8217;s safe to say that the applicability of conversational AI could be endless.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<p>The post <a href="https://blog.cfte.education/conversational-ai-examples-how-siri-alexa-google-assistant-have-human-like-conversations/">Conversational AI Examples: How Siri, Alexa &amp; Google Assistant have Human-like Conversations</a> appeared first on <a href="https://blog.cfte.education">CFTE</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What is the Difference between Artificial Intelligence (AI) and Machine Learning (ML)?</title>
		<link>https://blog.cfte.education/what-is-the-difference-between-artificial-intelligence-ai-and-machine-learning-ml/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=what-is-the-difference-between-artificial-intelligence-ai-and-machine-learning-ml</link>
		
		<dc:creator><![CDATA[Urvi Bathia]]></dc:creator>
		<pubDate>Tue, 02 Feb 2021 10:32:37 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[artificial intelligence]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[CFTE Blog]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[reinforcement learning]]></category>
		<category><![CDATA[supervised learning]]></category>
		<category><![CDATA[unsupervised learning]]></category>
		<guid isPermaLink="false">https://blog.cfte.education/?p=16492</guid>

					<description><![CDATA[<p>In today&#8217;s digitally enhanced world, automation is lurking in every corner of our lives &#8211; from your Alexa speaker at &#8230; <a href="https://blog.cfte.education/what-is-the-difference-between-artificial-intelligence-ai-and-machine-learning-ml/" class="btn btn-readmore">Read More <span class="screen-reader-text"> "What is the Difference between Artificial Intelligence (AI) and Machine Learning (ML)?"</span></a></p>
<p>The post <a href="https://blog.cfte.education/what-is-the-difference-between-artificial-intelligence-ai-and-machine-learning-ml/">What is the Difference between Artificial Intelligence (AI) and Machine Learning (ML)?</a> appeared first on <a href="https://blog.cfte.education">CFTE</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div style="height:21px" aria-hidden="true" class="wp-block-spacer"></div>



<p>In today&#8217;s digitally enhanced world, automation is lurking in every corner of our lives &#8211; from your Alexa speaker at home to driving decisions in the boardroom. As this technology infiltrates every-day life, it is hard not to hear the buzzwords &#8211; Artificial intelligence (AI) and Machine Learning (ML), ringing in our ears.&nbsp;</p>



<p>People often use the terms interchangeably &#8211; but are they really one and the same thing? Not exactly.</p>



<div style="height:21px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">What is Artificial Intelligence?</h2>



<p>Artificial Intelligence can be defined as the science of training machines to perform human tasks. AI is the method of developing computer systems to emulate human intelligence and is also the engineering behind giving machines human-like properties.</p>



<p>To successfully implement knowledge engineering, machines or computer software need to have access to a large amount of information to be programmed to act and think like a human. This helps build up the machine brain power needed to problem-solve, to allow analytical reasoning and to wire in common sense into a machine. Artificial intelligence has two main subsets: Machine learning and deep learning.</p>



<div style="height:21px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://blog.cfte.education/wp-content/uploads/2021/02/1-2-1024x576.png" alt="The Hierarchy of Artificial Intelligence, Machine learning and Deep learning" class="wp-image-16502" srcset="https://blog.cfte.education/wp-content/uploads/2021/02/1-2-1024x576.png 1024w, https://blog.cfte.education/wp-content/uploads/2021/02/1-2-300x169.png 300w, https://blog.cfte.education/wp-content/uploads/2021/02/1-2-768x432.png 768w, https://blog.cfte.education/wp-content/uploads/2021/02/1-2-1536x864.png 1536w, https://blog.cfte.education/wp-content/uploads/2021/02/1-2.png 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Artificial intelligence is ubiquitous in the field of tech today, and to better understand the concept, it would be worthwhile to get a grip on what artificial intelligence can do by identifying some of the AI applications that exist today.&nbsp;</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" style="font-size:20px"><strong>AI Applications:</strong></h3>



<ul class="is-style-checkbox"><li><strong>Image Recognition:</strong> Have you ever wondered how facebook automatically recognises faces to tag in a photo? This is an ideal example of AI being used for image recognition.</li></ul>



<ul class="is-style-checkbox"><li><strong>Recommendations:</strong> AI if equipped with the right information can make recommendations for movies, music, products or services, be it through Spotify’s recommended playlists or targeted online advertisements.</li></ul>



<ul class="is-style-checkbox"><li><strong>Natural Language Processing:</strong> AI has the capability of understanding human communication to respond in a way that is natural. A chatbot is a perfect example for this. They are programmed to interpret a wide array of queries to give you the best answer to your question.</li></ul>



<div style="height:21px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">What is Machine Learning?</h2>



<p>To give you a comprehensive introduction to Machine learning (ML), it is necessary to first understand that ML is an element embedded into the wider realm of Artificial Intelligence. This means that machine learning is AI, but not all types of AI are machine learning. ML focuses on training systems to improve their ability to learn so they can better perform tasks. This learning is done by feeding data to computer systems so that they can automatically analyse patterns to guide decision making in the future. This process does not require humans to explicitly hard code tasks to be performed, but allows machines to learn on its own.&nbsp;</p>



<p>For machine’s to be exceptionally advanced at ‘doing by learning’, they require large amounts of granular data that covers a sizably diverse area. Much like humans who learn to do certain things from experience, machines are able to do the same but in a matter of seconds.</p>



<p>Machine learning can be segmented into 3 types:</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" style="font-size:20px">1. <strong>Supervised learning</strong></h3>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://blog.cfte.education/wp-content/uploads/2021/02/2-2-1024x576.png" alt="Supervised Learning Diagram" class="wp-image-16504" srcset="https://blog.cfte.education/wp-content/uploads/2021/02/2-2-1024x576.png 1024w, https://blog.cfte.education/wp-content/uploads/2021/02/2-2-300x169.png 300w, https://blog.cfte.education/wp-content/uploads/2021/02/2-2-768x432.png 768w, https://blog.cfte.education/wp-content/uploads/2021/02/2-2-1536x864.png 1536w, https://blog.cfte.education/wp-content/uploads/2021/02/2-2.png 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:21px" aria-hidden="true" class="wp-block-spacer"></div>



<p>To enable supervised machine learning, systems need to have data with observations as well as the labels and classifications of that data. To give a simple example, a set of data can consist of images of both cats and dogs that are labeled for the machine to interpret. In the future, this knowledge is then used to predict whether an image presented is a cat or dog.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" style="font-size:20px">2. <strong>Unsupervised learning</strong></h3>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://blog.cfte.education/wp-content/uploads/2021/02/3-1-1024x576.png" alt="Unsupervised Learning Diagram" class="wp-image-16505" srcset="https://blog.cfte.education/wp-content/uploads/2021/02/3-1-1024x576.png 1024w, https://blog.cfte.education/wp-content/uploads/2021/02/3-1-300x169.png 300w, https://blog.cfte.education/wp-content/uploads/2021/02/3-1-768x432.png 768w, https://blog.cfte.education/wp-content/uploads/2021/02/3-1-1536x864.png 1536w, https://blog.cfte.education/wp-content/uploads/2021/02/3-1.png 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>In this case machines require a dataset with observations but without the compulsion of the data being classified or labeled. So if a machine was to learn how to cross a road, you wouldn’t teach it to do so with precise rules, but rather show it a set of 10,000 videos of someone crossing safely and another 10,000 showing the opposite. The machine is then left to learn on its own.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" style="font-size:20px">3. <strong>Reinforcement learning</strong></h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://blog.cfte.education/wp-content/uploads/2021/02/4-1-1024x576.png" alt="Reinforcement Learning Diagram" class="wp-image-16506" srcset="https://blog.cfte.education/wp-content/uploads/2021/02/4-1-1024x576.png 1024w, https://blog.cfte.education/wp-content/uploads/2021/02/4-1-300x169.png 300w, https://blog.cfte.education/wp-content/uploads/2021/02/4-1-768x432.png 768w, https://blog.cfte.education/wp-content/uploads/2021/02/4-1-1536x864.png 1536w, https://blog.cfte.education/wp-content/uploads/2021/02/4-1.png 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div style="height:21px" aria-hidden="true" class="wp-block-spacer"></div>



<p>This kind of learning is evident from the name itself, the machine is penalised or rewarded based on its performance in an attempt to help it learn the right way of doing a task. If the error is low the reward is high, if the error is high then the penalty is high.</p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p>To draw a clearer picture of what is machine learning, and to help see how machine learning is more specific as compared to the broader concept of AI, let&#8217;s dive into some of the ways machine learning is used today.</p>



<p></p>



<h3 class="wp-block-heading" style="font-size:20px"><strong>Machine Learning Applications:</strong></h3>



<ul class="is-style-checkbox"><li><strong>Segmenting Data</strong>: Machine learning can help carry out targeted online campaigns, as mentioned under the applications of AI, by segmenting the large database of customers to give you segments based on some criteria, who can then be individually targeted.&nbsp;</li></ul>



<ul class="is-style-checkbox"><li><strong>Predicting Outcomes:</strong> Machine learning is known to assimilate data continually and learn from it to improve predictions. An example of this would be estimating the ETAs for rides with a cab like Uber. The machine learns from experience the time it would take to reach a certain location at a certain time and makes predictions accordingly.</li></ul>



<div style="height:21px" aria-hidden="true" class="wp-block-spacer"></div>



<p>To help clearly Identify the differences between Artificial Intelligence and Machine Learning, here is a concise comparison table of Artificial Intelligence versus Machine Learning:</p>



<div style="height:21px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="has-text-align-center wp-block-heading">Artificial Intelligence versus Machine Learning</h2>



<figure class="wp-block-table is-style-stripes"><table class="has-fixed-layout"><tbody><tr><td class="has-text-align-left" data-align="left"><strong><span style="color:#b71524" class="has-inline-color">Artificial Intelligence&nbsp;                                                      </span></strong>    </td><td class="has-text-align-left" data-align="left"><strong><span style="color:#b71524" class="has-inline-color">Machine Learning</span></strong></td></tr><tr><td class="has-text-align-left" data-align="left"><br>AI is defined as the science of training machines to perform human tasks. <br>                                                                                                                      </td><td class="has-text-align-left" data-align="left"><br>ML is defined as training systems to improve their ability to learn so they can better perform tasks.&nbsp;<br></td></tr><tr><td class="has-text-align-left" data-align="left"><br>The aim is to simulate human intelligence with the help of neural networks.&nbsp;<br></td><td class="has-text-align-left" data-align="left"><br>The aim is to significantly improve the performance of a machine based on the data provided for a particular given task.<br></td></tr><tr><td class="has-text-align-left" data-align="left"><br>AI has two main subsets: machine learning and deep learning.<br></td><td class="has-text-align-left" data-align="left"><br>Machine learning has a main subset which is deep learning.<br></td></tr><tr><td class="has-text-align-left" data-align="left"><br>Artificial Intelligence focuses on improving the chances of success.<br></td><td class="has-text-align-left" data-align="left"><br>Machine learning focuses on improving accuracy.<br></td></tr><tr><td class="has-text-align-left" data-align="left"><br>AI can be segmented into 3 types based on its capabilities: <strong>strong AI</strong>, <strong>general AI</strong> and <strong>weak AI</strong>.<br></td><td class="has-text-align-left" data-align="left"><br>Machine learning can be segmented into 3 types: <strong>supervised learning</strong>, <strong>unsupervised learning</strong> and <strong>reinforcement learning</strong>.<br></td></tr><tr><td class="has-text-align-left" data-align="left"><br>AI deals with 3 types of data: structured, semi-structured and unstructured.<br>                                                                               </td><td class="has-text-align-left" data-align="left"><br>ML deals with 2 types of data: structured and semi-structured.&nbsp;<br></td></tr></tbody></table></figure>



<div style="height:21px" aria-hidden="true" class="wp-block-spacer"></div>



<p></p>
<p>The post <a href="https://blog.cfte.education/what-is-the-difference-between-artificial-intelligence-ai-and-machine-learning-ml/">What is the Difference between Artificial Intelligence (AI) and Machine Learning (ML)?</a> appeared first on <a href="https://blog.cfte.education">CFTE</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>4 Fintech Trends That Will Transform 2019</title>
		<link>https://blog.cfte.education/4-fintech-trends-2019/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=4-fintech-trends-2019</link>
		
		<dc:creator><![CDATA[cfteadmin]]></dc:creator>
		<pubDate>Tue, 18 Dec 2018 18:34:18 +0000</pubDate>
				<category><![CDATA[Fintech]]></category>
		<category><![CDATA[2019]]></category>
		<category><![CDATA[artificial intelligence]]></category>
		<category><![CDATA[blockchain]]></category>
		<category><![CDATA[CFTE Blog]]></category>
		<category><![CDATA[CFTE Research]]></category>
		<category><![CDATA[digital banks]]></category>
		<category><![CDATA[Finance]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[predictions]]></category>
		<guid isPermaLink="false">https://www.cfte.education/?p=7502</guid>

					<description><![CDATA[<p>[fusion_builder_container admin_label=&#8221;Desktop&#8221; hundred_percent=&#8221;yes&#8221; hundred_percent_height=&#8221;no&#8221; hundred_percent_height_scroll=&#8221;no&#8221; hundred_percent_height_center_content=&#8221;yes&#8221; equal_height_columns=&#8221;no&#8221; menu_anchor=&#8221;&#8221; hide_on_mobile=&#8221;medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;center center&#8221; background_repeat=&#8221;no-repeat&#8221; fade=&#8221;no&#8221; background_parallax=&#8221;none&#8221; enable_mobile=&#8221;no&#8221; parallax_speed=&#8221;0.3&#8243; &#8230; <a href="https://blog.cfte.education/4-fintech-trends-2019/" class="btn btn-readmore">Read More <span class="screen-reader-text"> "4 Fintech Trends That Will Transform 2019"</span></a></p>
<p>The post <a href="https://blog.cfte.education/4-fintech-trends-2019/">4 Fintech Trends That Will Transform 2019</a> appeared first on <a href="https://blog.cfte.education">CFTE</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>[fusion_builder_container admin_label=&#8221;Desktop&#8221; hundred_percent=&#8221;yes&#8221; hundred_percent_height=&#8221;no&#8221; hundred_percent_height_scroll=&#8221;no&#8221; hundred_percent_height_center_content=&#8221;yes&#8221; equal_height_columns=&#8221;no&#8221; menu_anchor=&#8221;&#8221; hide_on_mobile=&#8221;medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;center center&#8221; background_repeat=&#8221;no-repeat&#8221; fade=&#8221;no&#8221; background_parallax=&#8221;none&#8221; enable_mobile=&#8221;no&#8221; parallax_speed=&#8221;0.3&#8243; video_mp4=&#8221;&#8221; video_webm=&#8221;&#8221; video_ogv=&#8221;&#8221; video_url=&#8221;&#8221; video_aspect_ratio=&#8221;16:9&#8243; video_loop=&#8221;yes&#8221; video_mute=&#8221;yes&#8221; video_preview_image=&#8221;&#8221; border_size=&#8221;&#8221; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; padding_top=&#8221;2%&#8221; padding_right=&#8221;10%&#8221; padding_bottom=&#8221;2%&#8221; padding_left=&#8221;10%&#8221; admin_toggled=&#8221;no&#8221;][fusion_builder_row][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;yes&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;&#8221; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;2%&#8221; padding_right=&#8221;10%&#8221; padding_bottom=&#8221;2%&#8221; padding_left=&#8221;10%&#8221; margin_top=&#8221;0px&#8221; margin_bottom=&#8221;0px&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_text columns=&#8221;&#8221; column_min_width=&#8221;&#8221; column_spacing=&#8221;&#8221; rule_style=&#8221;default&#8221; rule_size=&#8221;&#8221; rule_color=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221;]</p>
<h1 style="text-align: center;"><span style="font-family: Arial; color: #993300; font-size: 36px;">4 Fintech Trends That Will Transform 2019</span></h1>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7505" src="https://www.cfte.education/wp-content/uploads/2018/12/iseu3-2.jpg" alt="fintech trends 2019 predictions" width="750" height="500" /><br />
<span style="font-family: Arial;"><span style="font-weight: 400;">The past twelve months proved to be a banner year for Fintech, read more about that in our </span><a href="https://www.cfte.education/2018/12/18/fintech-summary-2018/"><span style="font-weight: 400;">summary of the industry in 2018</span></a><span style="font-weight: 400;">, as emerging technologies like artificial intelligence and machine learning created many new applications in financial services. Can the same be expected for the next calendar year? </span><b><i>Absolutely</i></b><span style="font-weight: 400;">. </span></span><br />
<span style="font-weight: 400; font-family: Arial;">Below, we outline <strong>four key Fintech trends</strong> that will likely <strong>transform financial services in some way in 2019. </strong></span></p>
<h2 style="text-align: left;"><strong><span style="font-family: Arial; color: #993300;">1. Artificial Intelligence Sees Increased Adoption</span></strong></h2>
<p><span style="font-weight: 400; font-family: Arial;">After observing the impact of Artificial Intelligence across many other industries, we are truly witnessing the positive consequences of its effective implementation in Finance. 2019 will see greater adoption of Artificial Intelligence in financial services applications, backed by machine learning. </span><br />
<span style="font-weight: 400; font-family: Arial;"><strong>David Sosna</strong>, co-founder &amp; CEO of Personetics, claims</span></p>
<blockquote><p><span style="font-family: Arial;">“Self-Driving Finance is a practical implementation of AI that is already used in one form or another by millions of bank customers around the globe and will only get better in the coming years. Based on projects that are currently underway with banks at different parts of the world<i>, I see a big uptake in the number of customers that will rely on AI to ‘drive’ their finances and take automated actions to help them reach their financial goals</i>.”</span></p></blockquote>
<p><span style="font-weight: 400; font-family: Arial;">Furthermore, consumers can expect more prominent voice-operated assistants in banking, with the likes of OCBC Bank partnering with Google to recently launch the first AI-powered voice banking service in Singapore. The service can converse with customers about bank services like future savings, nearby ATMs and calculate loan interests.</span></p>
<h2><span style="font-family: Arial; color: #993300;">2. Blockchain and Financial Inclusion</span></h2>
<p><span style="font-family: Arial;"><span style="font-weight: 400;">In 2019, Blockchain will enable financial inclusion for more individuals than ever before, by offering the unbanked easy access to a verifiable online identity. Most of this will occur in regions with poor entry-level banking accessibility, such as South Asia, Africa and Latin America. An IBM study expects </span><a href="https://www-03.ibm.com/press/us/en/pressrelease/50617.wss"><span style="font-weight: 400;">65 percent of banks</span></a><span style="font-weight: 400;"> to have adopted blockchain technology by 2019’s end.</span></span><br />
<span style="font-weight: 400; font-family: Arial;">This increase will mean a massive amount of people newly contributing to the global economy, and will generate more opportunities for individuals and businesses to improve their financial standing and grow by building credit.</span></p>
<h2><span style="color: #993300; font-family: Arial;">3. Growth of Mobile Payments</span></h2>
<p><span style="font-family: Arial;"><span style="font-weight: 400;">Already an enormous industry, </span><a href="https://www.gsma.com/mobilefordevelopment/wp-content/uploads/2018/05/GSMA_2017_State_of_the_Industry_Report_on_Mobile_Money_Full_Report.pdf"><span style="font-weight: 400;">processing over a billion dollars daily in 2017</span></a><span style="font-weight: 400;">, the mobile banking and payments sector will see meteoric growth through the new year, with widespread adoption coming through areas of significant financial exclusion, such as Latin America, South Asia and sub-Saharan Africa. In the latter, 21 percent held a mobile money account in 2017, </span><a href="https://www.fintechnews.org/can-blockchain-help-bank-the-unbanked-in-sub-saharan-africa/"><span style="font-weight: 400;">which is double the figure of 2014</span></a><span style="font-weight: 400;">, illustrating the growing trajectory of adoption in underdeveloped banking regions. </span></span><br />
<span style="font-weight: 400; font-family: Arial;">Tied into blockchain technology, it will provide individuals an accessible method of becoming part of the financial ecosystem without approaching the high barriers to entry offered by traditional banking. This is driven by unanimous adoption of smartphones, which when coupled with access to the internet provides users the opportunity of financial management without the necessity of opening a traditional bank account at a retail location, a problem for plenty in rural areas.</span></p>
<h2><span style="color: #993300;"><strong><span style="font-family: Arial;">4. Rise of Digital Banks</span></strong></span></h2>
<p><span style="font-family: Arial;"><span style="font-weight: 400;">Traditional banking has had a </span>successful and<span style="font-weight: 400;"> prosperous long run. While it would be premature to ring the death knell for the incumbents in finance, they are definitely very concerned about the rise of digital-only banks. Banks without a physical presence, so no waiting in lines to open an account or to seek financial guidance. Banks with financial services you can receive from the comfort of your homes and offices, at the tap of an app or secured website.</span></span><br />
<span style="font-family: Arial;"><span style="font-weight: 400;"> These digital-only banks are gaining rapid momentum with millenials, with bank visits expected to </span><a href="https://thefinancialbrand.com/66228/bank-credit-union-branch-traffic/"><span style="font-weight: 400;">drop 36 percent by 2022</span></a><span style="font-weight: 400;">. Investors are also taking sharply to the concept of a banking institution without a physical presence, with Monzo recently raising £20m &#8211; the l</span><a href="https://www.cfte.education/2018/12/05/the-largest-ever-crowdfunding-round-for-a-fintech-startup-completed-in-2-hours/"><span style="font-weight: 400;">argest ever crowdfunding round for a Fintech startup</span></a> <span style="font-weight: 400;">&#8211; in just 2 hours earlier this month. Another instance can be found in Revolut, a finance app that facilitates worldwide currency and cryptocurrency exchange. As of late 2018, Revolut has more than 2 million users, with around 8,000 new users signing up for the service on a daily basis.</span></span></p>
<h2><strong><span style="font-family: Arial; color: #993300;">How can I get prepared for Fintech in 2019?</span></strong></h2>
<p><span style="font-family: Arial;"><span style="font-weight: 400;">Understanding the intricacies of financial technology has never been more important to succeed in finance. Luckily, CFTE has bridged this knowledge gap with our </span><a href="http://bit.ly/2PHabHH"><span style="font-weight: 400;">Fintech Foundation Course</span></a><span style="font-weight: 400;"> &#8212; designed for learners to get a solid foundation in Fintech concepts, applicable for beginners &amp; professionals.</span> <span style="font-weight: 400;">Feel free to join our courses above, or sign up to our weekly newsletter after the jump below!</span></span><br />
[/fusion_text][/fusion_builder_column][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;2%&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;1%&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_separator style_type=&#8221;default&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; sep_color=&#8221;&#8221; top_margin=&#8221;&#8221; bottom_margin=&#8221;&#8221; border_size=&#8221;2&#8243; icon=&#8221;&#8221; icon_circle=&#8221;&#8221; icon_circle_color=&#8221;&#8221; width=&#8221;&#8221; alignment=&#8221;center&#8221; /][/fusion_builder_column][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;relatedPosts&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;&#8221; padding_right=&#8221;10%&#8221; padding_bottom=&#8221;0%&#8221; padding_left=&#8221;10%&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_text columns=&#8221;&#8221; column_min_width=&#8221;&#8221; column_spacing=&#8221;&#8221; rule_style=&#8221;default&#8221; rule_size=&#8221;&#8221; rule_color=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221;]</p>
<h3>Related Posts</h3>
<p>[/fusion_text][fusion_separator style_type=&#8221;default&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; sep_color=&#8221;&#8221; top_margin=&#8221;2%&#8221; bottom_margin=&#8221;&#8221; border_size=&#8221;0&#8243; icon=&#8221;&#8221; icon_circle=&#8221;&#8221; icon_circle_color=&#8221;&#8221; width=&#8221;&#8221; alignment=&#8221;center&#8221; /][fusion_builder_row_inner][fusion_builder_column_inner type=&#8221;1_3&#8243; layout=&#8221;1_3&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; hover_type=&#8221;none&#8221; link=&#8221;&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogPost&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; padding_top=&#8221;&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221; border_position=&#8221;all&#8221;][fusion_recent_posts layout=&#8221;default&#8221; hover_type=&#8221;none&#8221; columns=&#8221;1&#8243; number_posts=&#8221;1&#8243; offset=&#8221;0&#8243; pull_by=&#8221;category&#8221; cat_slug=&#8221;artificial-intelligence,insights,news,recent&#8221; exclude_cats=&#8221;&#8221; tag_slug=&#8221;&#8221; exclude_tags=&#8221;&#8221; thumbnail=&#8221;yes&#8221; title=&#8221;yes&#8221; meta=&#8221;yes&#8221; meta_author=&#8221;no&#8221; meta_categories=&#8221;no&#8221; meta_date=&#8221;yes&#8221; meta_comments=&#8221;no&#8221; meta_tags=&#8221;no&#8221; content_alignment=&#8221;&#8221; excerpt=&#8221;no&#8221; excerpt_length=&#8221;0&#8243; strip_html=&#8221;yes&#8221; scrolling=&#8221;no&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogImage&#8221; id=&#8221;BlogImage&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; /][/fusion_builder_column_inner][fusion_builder_column_inner type=&#8221;1_3&#8243; layout=&#8221;1_3&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; hover_type=&#8221;none&#8221; link=&#8221;&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogPost&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; padding_top=&#8221;&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221; border_position=&#8221;all&#8221;][fusion_recent_posts layout=&#8221;default&#8221; hover_type=&#8221;none&#8221; columns=&#8221;1&#8243; number_posts=&#8221;1&#8243; offset=&#8221;4&#8243; pull_by=&#8221;category&#8221; cat_slug=&#8221;artificial-intelligence,insights,news,recent&#8221; exclude_cats=&#8221;&#8221; tag_slug=&#8221;&#8221; exclude_tags=&#8221;&#8221; thumbnail=&#8221;yes&#8221; title=&#8221;yes&#8221; meta=&#8221;yes&#8221; meta_author=&#8221;no&#8221; meta_categories=&#8221;no&#8221; meta_date=&#8221;yes&#8221; meta_comments=&#8221;no&#8221; meta_tags=&#8221;no&#8221; content_alignment=&#8221;&#8221; excerpt=&#8221;no&#8221; excerpt_length=&#8221;0&#8243; strip_html=&#8221;yes&#8221; scrolling=&#8221;no&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogImage&#8221; id=&#8221;BlogImage&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; /][/fusion_builder_column_inner][fusion_builder_column_inner type=&#8221;1_3&#8243; layout=&#8221;1_3&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; hover_type=&#8221;none&#8221; link=&#8221;&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogPost&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; padding_top=&#8221;&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221; border_position=&#8221;all&#8221;][fusion_recent_posts layout=&#8221;default&#8221; hover_type=&#8221;none&#8221; columns=&#8221;1&#8243; number_posts=&#8221;1&#8243; offset=&#8221;7&#8243; pull_by=&#8221;category&#8221; cat_slug=&#8221;artificial-intelligence,insights,news,recent&#8221; exclude_cats=&#8221;&#8221; tag_slug=&#8221;&#8221; exclude_tags=&#8221;&#8221; thumbnail=&#8221;yes&#8221; title=&#8221;yes&#8221; meta=&#8221;yes&#8221; meta_author=&#8221;no&#8221; meta_categories=&#8221;no&#8221; meta_date=&#8221;yes&#8221; meta_comments=&#8221;no&#8221; meta_tags=&#8221;no&#8221; content_alignment=&#8221;&#8221; excerpt=&#8221;no&#8221; excerpt_length=&#8221;0&#8243; strip_html=&#8221;yes&#8221; scrolling=&#8221;no&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogImage&#8221; id=&#8221;BlogImage&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; /][/fusion_builder_column_inner][/fusion_builder_row_inner][/fusion_builder_column][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;0%&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;1%&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_separator style_type=&#8221;default&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; sep_color=&#8221;&#8221; top_margin=&#8221;&#8221; bottom_margin=&#8221;&#8221; border_size=&#8221;2&#8243; icon=&#8221;&#8221; icon_circle=&#8221;&#8221; icon_circle_color=&#8221;&#8221; width=&#8221;&#8221; alignment=&#8221;center&#8221; /][/fusion_builder_column][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_code]PHN0eWxlPgogI19mb3JtXzlfIHsgZm9udC1zaXplOjE0cHg7IGxpbmUtaGVpZ2h0OjEuNjsgZm9udC1mYW1pbHk6YXJpYWwsIGhlbHZldGljYSwgc2Fucy1zZXJpZjsgbWFyZ2luOjA7IH0KICNfZm9ybV85XyAqIHsgb3V0bGluZTowOyB9CiAuX2Zvcm1faGlkZSB7IGRpc3BsYXk6bm9uZTsgdmlzaWJpbGl0eTpoaWRkZW47IH0KIC5fZm9ybV9zaG93IHsgZGlzcGxheTpibG9jazsgdmlzaWJpbGl0eTp2aXNpYmxlOyB9CiAjX2Zvcm1fOV8uX2Zvcm0tdG9wIHsgdG9wOjA7IH0KICNfZm9ybV85Xy5fZm9ybS1ib3R0b20geyBib3R0b206MDsgfQogI19mb3JtXzlfLl9mb3JtLWxlZnQgeyBsZWZ0OjA7IH0KICNfZm9ybV85Xy5fZm9ybS1yaWdodCB7IHJpZ2h0OjA7IH0KICNfZm9ybV85XyBpbnB1dFt0eXBlPSJ0ZXh0Il0sI19mb3JtXzlfIGlucHV0W3R5cGU9ImRhdGUiXSwjX2Zvcm1fOV8gdGV4dGFyZWEgeyBwYWRkaW5nOjZweDsgaGVpZ2h0OmF1dG87IGJvcmRlcjojOTc5Nzk3IDFweCBzb2xpZDsgYm9yZGVyLXJhZGl1czo0cHg7IGNvbG9yOiMwMDAgIWltcG9ydGFudDsgZm9udC1zaXplOjEzcHg7IC13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94OyAtbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDsgYm94LXNpemluZzpib3JkZXItYm94OyB9CiAjX2Zvcm1fOV8gdGV4dGFyZWEgeyByZXNpemU6bm9uZTsgfQogI19mb3JtXzlfIC5fc3VibWl0IHsgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7IGN1cnNvcjpwb2ludGVyOyBmb250LWZhbWlseTphcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHg7IHRleHQtYWxpZ246Y2VudGVyOyBiYWNrZ3JvdW5kOiM4ZjA3MDcgIWltcG9ydGFudDsgYm9yZGVyOjAgIWltcG9ydGFudDsgLW1vei1ib3JkZXItcmFkaXVzOjRweCAhaW1wb3J0YW50OyAtd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4ICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6NHB4ICFpbXBvcnRhbnQ7IGNvbG9yOiNmZmYgIWltcG9ydGFudDsgcGFkZGluZzoxMHB4ICFpbXBvcnRhbnQ7IH0KICNfZm9ybV85XyAuX2Nsb3NlLWljb24geyBjdXJzb3I6cG9pbnRlcjsgYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vZDIyNmFqNGFvMXQ2MXEuY2xvdWRmcm9udC5uZXQvZXNma3lqaDF1X2Zvcm1zLWNsb3NlLWRhcmsucG5nJyk7IGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsgYmFja2dyb3VuZC1zaXplOjE0LjJweCAxNC4ycHg7IHBvc2l0aW9uOmFic29sdXRlOyBkaXNwbGF5OmJsb2NrOyB0b3A6MTFweDsgcmlnaHQ6OXB4OyBvdmVyZmxvdzpoaWRkZW47IHdpZHRoOjE2LjJweDsgaGVpZ2h0OjE2LjJweDsgfQogI19mb3JtXzlfIC5fY2xvc2UtaWNvbjpiZWZvcmUgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgfQogI19mb3JtXzlfIC5fZm9ybS1ib2R5IHsgbWFyZ2luLWJvdHRvbTozMHB4OyB9CiAjX2Zvcm1fOV8gLl9mb3JtLWltYWdlLWxlZnQgeyB3aWR0aDoxNTBweDsgZmxvYXQ6bGVmdDsgfQogI19mb3JtXzlfIC5fZm9ybS1jb250ZW50LXJpZ2h0IHsgbWFyZ2luLWxlZnQ6MTY0cHg7IH0KICNfZm9ybV85XyAuX2Zvcm0tYnJhbmRpbmcgeyBjb2xvcjojZmZmOyBmb250LXNpemU6MTBweDsgY2xlYXI6Ym90aDsgdGV4dC1hbGlnbjpsZWZ0OyBtYXJnaW4tdG9wOjMwcHg7IGZvbnQtd2VpZ2h0OjEwMDsgfQogI19mb3JtXzlfIC5fZm9ybS1icmFuZGluZyAuX2xvZ28geyBkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMzBweDsgaGVpZ2h0OjE0cHg7IG1hcmdpbi10b3A6NnB4OyBiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly9kMjI2YWo0YW8xdDYxcS5jbG91ZGZyb250Lm5ldC9oaDl1anFndjVfYWNsb2dvX2xpLnBuZycpOyBiYWNrZ3JvdW5kLXNpemU6MTMwcHggYXV0bzsgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OyB9CiAjX2Zvcm1fOV8gLl9mb3JtLWxhYmVsLCNfZm9ybV85XyAuX2Zvcm1fZWxlbWVudCAuX2Zvcm<br />
0tbGFiZWwgeyBmb250LXdlaWdodDpib2xkOyBtYXJnaW4tYm90dG9tOjVweDsgZGlzcGxheTpibG9jazsgfQogI19mb3JtXzlfLl9kYXJrIC5fZm9ybS1icmFuZGluZyB7IGNvbG9yOiMzMzM7IH0KICNfZm9ybV85Xy5fZGFyayAuX2Zvcm0tYnJhbmRpbmcgLl9sb2dvIHsgYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vZDIyNmFqNGFvMXQ2MXEuY2xvdWRmcm9udC5uZXQvamZ0cTJjOHNfYWNsb2dvX2RrLnBuZycpOyB9CiAjX2Zvcm1fOV8gLl9mb3JtX2VsZW1lbnQgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgbWFyZ2luLWJvdHRvbToxMHB4OyBmb250LXNpemU6MDsgbWF4LXdpZHRoOjEwMCU7IH0KICNfZm9ybV85XyAuX2Zvcm1fZWxlbWVudCAqIHsgZm9udC1zaXplOjE0cHg7IH0KICNfZm9ybV85XyAuX2Zvcm1fZWxlbWVudC5fY2xlYXIgeyBjbGVhcjpib3RoOyB3aWR0aDoxMDAlOyBmbG9hdDpub25lOyB9CiAjX2Zvcm1fOV8gLl9mb3JtX2VsZW1lbnQuX2NsZWFyOmFmdGVyIHsgY2xlYXI6bGVmdDsgfQogI19mb3JtXzlfIC5fZm9ybV9lbGVtZW50IGlucHV0W3R5cGU9InRleHQiXSwjX2Zvcm1fOV8gLl9mb3JtX2VsZW1lbnQgaW5wdXRbdHlwZT0iZGF0ZSJdLCNfZm9ybV85XyAuX2Zvcm1fZWxlbWVudCBzZWxlY3QsI19mb3JtXzlfIC5fZm9ybV9lbGVtZW50IHRleHRhcmVhOm5vdCguZy1yZWNhcHRjaGEtcmVzcG9uc2UpIHsgZGlzcGxheTpibG9jazsgd2lkdGg6MTAwJTsgLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7IC1tb3otYm94LXNpemluZzpib3JkZXItYm94OyBib3gtc2l6aW5nOmJvcmRlci1ib3g7IH0KICNfZm9ybV85XyAuX2ZpZWxkLXdyYXBwZXIgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgfQogI19mb3JtXzlfIC5faW5saW5lLXN0eWxlIHsgZmxvYXQ6bGVmdDsgfQogI19mb3JtXzlfIC5faW5saW5lLXN0eWxlIGlucHV0W3R5cGU9InRleHQiXSB7IHdpZHRoOjE1MHB4OyB9CiAjX2Zvcm1fOV8gLl9pbmxpbmUtc3R5bGU6bm90KC5fY2xlYXIpICsgLl9pbmxpbmUtc3R5bGU6bm90KC5fY2xlYXIpIHsgbWFyZ2luLWxlZnQ6MjBweDsgfQogI19mb3JtXzlfIC5fZm9ybV9lbGVtZW50IGltZy5fZm9ybS1pbWFnZSB7IG1heC13aWR0aDoxMDAlOyB9CiAjX2Zvcm1fOV8gLl9jbGVhci1lbGVtZW50IHsgY2xlYXI6bGVmdDsgfQogI19mb3JtXzlfIC5fZnVsbF93aWR0aCB7IHdpZHRoOjEwMCU7IH0KICNfZm9ybV85XyAuX2Zvcm1fZnVsbF9maWVsZCB7IGRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IG1hcmdpbi1ib3R0b206MTBweDsgfQogI19mb3JtXzlfIGlucHV0W3R5cGU9InRleHQiXS5faGFzX2Vycm9yLCNfZm9ybV85XyB0ZXh0YXJlYS5faGFzX2Vycm9yIHsgYm9yZGVyOiNmMzdjN2IgMXB4IHNvbGlkOyB9CiAjX2Zvcm1fOV8gaW5wdXRbdHlwZT0iY2hlY2tib3giXS5faGFzX2Vycm9yIHsgb3V0bGluZTojZjM3YzdiIDFweCBzb2xpZDsgfQogI19mb3JtXzlfIC5fZXJyb3IgeyBkaXNwbGF5OmJsb2NrOyBwb3NpdGlvbjphYnNvbHV0ZTsgZm9udC1zaXplOjEzcHg7IHotaW5kZXg6MTAwMDAwMDE7IH0KICNfZm9ybV85XyAuX2Vycm9yLl9hYm92ZSB7IHBhZGRpbmctYm90dG9tOjRweDsgdG9wOi00MXB4OyByaWdodDowOyB9CiAjX2Zvcm1fOV8gLl9lcnJvci5fYmVsb3cgeyBwYWRkaW5nLXRvcDo0cHg7IHRvcDoxMDAlOyByaWdodDowOyB9CiAjX2Zvcm1fOV8gLl9lcnJvci5fYWJvdmUgLl9lcnJvci1hcnJvdyB7IGJvdHRvbTowOyByaWdodDoxNXB4OyBib3JkZXItbGVmdDo1cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1yaWdodDo1cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci10b3A6NXB4IHNvbGlkICNmMzdjN2I7IH0KICNfZm9ybV85XyAuX2Vycm9yLl9iZWxvdyAuX2Vycm9yLWFycm93IHsgdG9wOjA7IHJpZ2h0OjE1cHg7IGJvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLXJpZ2h0OjVweCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLWJvdHRvbTo1cHggc29saWQgI2YzN2M3YjsgfQogI19mb3JtXzlfIC5fZXJyb3ItaW5uZXIgeyBwYWRkaW5nOjhweCAxMnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNmMzdjN2I7IGZvbnQtc2l6ZToxM3B4OyBmb250LWZhbWlseTphcmlhbCwgc2Fucy1zZXJpZjsgY29sb3I6I2ZmZjsgdGV4dC1hbGlnbjpjZW50ZXI7IHRleHQtZGVjb3JhdGlvbjpub25lOyAtd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4OyAtbW96LWJvcmRlci1yYWRpdXM6NHB4OyBib3JkZXItcmFkaXVzOjRweDsgfQogI19mb3JtXzlfIC5fZXJyb3ItaW5uZXIuX2Zvcm1fZXJyb3IgeyBtYXJnaW4tYm90dG9tOjVweDsgdGV4dC1hbGlnbjpsZWZ0OyB9CiAjX2Zvcm1fOV8gLl9idXR0b24td3JhcHBlciAuX2Vycm9yLWlubmVyLl9mb3JtX2Vycm9yIHsgcG9zaXRpb246c3RhdGljOyB9CiAjX2Zvcm1fOV8gLl9lcnJvci1pbm5lci5fbm9fYXJyb3cgeyBtYXJnaW4tYm90dG9tOjEwcHg7IH0KICNfZm9ybV85XyAuX2Vycm9yLWFycm93IHsgcG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOjA7IGhlaWdodDowOyB9CiAjX2Zvcm1fOV8gLl9lcnJvci1odG1sIHsgbWFyZ2luLWJvdHRvbToxMHB4OyB9CiAucGlrYS1zaW5nbGUgeyB6LWluZGV4OjEwMDAwMDAxICFpbXBvcnRhbnQ7IH0KIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6MzIwcHgpIGFuZCAobWF4LXdpZHRoOjY2N3B4KSB7IDo6LXdlYmtpdC1zY3JvbGxiYXIgeyBkaXNwbGF5Om5vbmU7IH0KICNfZm9ybV85XyB7IG1hcmdpbjowOyB3aWR0aDoxMDAlOyBtaW4td2lkdGg6MTAwJTsgbWF4LXdpZHRoOjEwMCU7IGJveC1zaXppbmc6Ym9yZGVyLWJveDsgfQogI19mb3JtXzlfICogeyAtd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDsgLW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7IGJveC1zaXppbmc6Ym9yZGVyLWJveDsgZm9udC1zaXplOjFlbTsgfQogI19mb3JtXzlfIC5fZm9ybS1jb250ZW50IHsgbWFyZ2luOjA7IHdpZHRoOjEwMCU7IH0KICNfZm9ybV85XyAuX2Zvcm0taW5uZXIgeyBkaXNwbGF5OmJsb2NrOyBtaW4td2lkdGg6MTAwJTsgfQogI19mb3JtXzlfIC5fZm9ybS10aXRsZSwjX2Zvcm1fOV8gLl9pbmxpbmUtc3R5bGUgeyBtYXJnaW4tdG9wOjA7IG1hcmdpbi1yaWdodDowOyBtYXJnaW4tbGVmdDowOyB9CiAjX2Zvcm1fOV8gLl9mb3JtLXRpdGxlIHsgZm9udC1zaXplOjEuMmVtOyB9CiAjX2Zvcm1fOV8gLl9mb3JtX2VsZW1lbnQgeyBtYXJnaW46MCAwIDIwcHg7IHBhZGRpbmc6MDsgd2lkdGg6MTAwJTsgfQogI19mb3JtXzlfIC5fZm9ybS1lbGVtZW50LCNfZm9ybV85XyAuX2lubGluZS1zdHlsZSwjX2Zvcm1fOV8gaW5wdXRbdHlwZT0idGV4dCJdLCNfZm9ybV85XyBsYWJlbCwjX2Zvcm1fOV8gcCwjX2Zvcm1fOV8gdGV4dGFyZWE6bm90KC5nLXJlY2FwdGNoYS1yZXNwb25zZSkgeyBmbG9hdDpub25lOyBkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyB9CiAjX2Zvcm1fOV8gLl9yb3cuX2NoZWNrYm94LXJhZGlvIGxhYmVsIHsgZGlzcGxheTppbmxpbmU7IH0KICNfZm9ybV85XyAuX3JvdywjX2Zvcm1fOV8gcCwjX2Zvcm1fOV8gbGFiZWwgeyBtYXJnaW4tYm90dG9tOjAuN2VtOyB3aWR0aDoxMDAlOyB9CiAjX2Zvcm1fOV8gLl9yb3cgaW5wdXRbdHlwZT0iY2hlY2tib3giXSwjX2Zvcm1fOV8gLl9yb3cgaW5wdXRbdHlwZT0icmFkaW8iXSB7IG1hcmdpbjowICFpbXBvcnRhbnQ7IHZlcnRpY2FsLWFsaWduOm1pZGRsZSAhaW1wb3J0YW50OyB9CiAjX2Zvcm1fOV8gLl9yb3cgaW5wdXRbdHlwZT0iY2hlY2tib3giXSArIHNwYW4gbGFiZWwgeyBkaXNwbGF5OmlubGluZTsgfQogI19mb3JtXzlfIC5fcm93IHNwYW4gbGFiZWwgeyBtYXJnaW46MCAhaW1wb3J0YW50OyB3aWR0aDppbml0aWFsICFpbXBvcnRhbnQ7IHZlcnRpY2FsLWFsaWduOm1pZGRsZSAhaW1wb3J0YW50OyB9CiAjX2Zvcm1fOV8gLl9mb3JtLWltYWdlIHsgbWF4LXdpZHRoOjEwMCU7IGhlaWdodDphdXRvICFpbXBvcnRhbnQ7IH0KICNfZm9ybV85XyBpbnB1dFt0eXBlPSJ0ZXh0Il0geyBwYWRkaW5nLWxlZnQ6MTBweDsgcGFkZGluZy1yaWdodDoxMHB4OyBmb250LXNpemU6MTZweDsgbGluZS1oZWlnaHQ6MS4zZW07IC13ZWJraXQtYXBwZWFyYW5jZTpub25lOyB9CiAjX2Zvcm1fOV8gaW5wdXRbdHlwZT0icmFkaW8iXSwjX2Zvcm1fOV8gaW5wdXRbdHlwZT0iY2hlY2tib3giXSB7IGRpc3BsYXk6aW5saW5lLWJsb2NrOyB3aWR0aDoxLjNlbTsgaGVpZ2h0OjEuM2VtOyBmb250LXNpemU6MWVtOyBtYXJnaW46MCAwLjNlbSAwIDA7IHZlcnRpY2FsLWFsaWduOmJhc2VsaW5lOyB9CiAjX2Zvcm1fOV8gYnV0dG9uW3R5cGU9InN1Ym1pdCJdIHsgcGFkZGluZzoyMHB4OyBmb250LXNpemU6MS41ZW07IH0KICNfZm9ybV85XyAuX2lubGluZS1zdHlsZSB7IG1hcmdpbjoyMHB4IDAgMCAhaW1wb3J0YW50OyB9CiB9CiAjX2Zvcm1fOV8geyBwb3NpdGlvbjpyZWxhdGl2ZTsgdGV4dC1hbGlnbjpsZWZ0OyBtYXJnaW46MjVweCBhdXRvIDA7IHBhZGRpbmc6MjBweDsgLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7IC1tb3otYm94LXNpemluZzpib3JkZXItYm94OyBib3gtc2l6aW5nOmJvcmRlci1ib3g7ICp6b29tOjE7IGJhY2tncm91bmQ6I2ZmZiAhaW1wb3J0YW50OyBib3JkZXI6MHB4IHNvbGlkICNiMGIwYjAgIWltcG9ydGFudDsgd2lkdGg6NTAwcHg7IC1tb3otYm9yZGVyLXJhZGl1czowcHggIWltcG9ydGFudDsgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjBweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOjBweCAhaW1wb3J0YW50OyBjb2xvcjojMDAwICFpbXBvcnRhbnQ7IH0KICNfZm9ybV85XyAuX2Zvcm0tdGl0bGUgeyBmb250LXNpemU6MjJweDsgbGluZS1oZWlnaHQ6MjJweDsgZm9udC13ZWlnaHQ6NjAwOyBtYXJnaW4tYm90dG9tOjA7IH0KICNfZm9ybV85XzpiZWZvcmUsI19mb3JtXzlfOmFmdGVyIHsgY29udGVudDoiICI7IGRpc3BsYXk6dGFibGU7IH0KICNfZm9ybV85XzphZnRlciB7IGNsZWFyOmJvdGg7IH0KICNfZm9ybV85Xy5faW5saW5lLXN0eWxlIHsgd2lkdGg6YXV0bzsgZGlzcGxheTppbmxpbmUtYmxvY2s7IH0KICNfZm9ybV85Xy5faW5saW5lLXN0eWxlIGlucHV0W3R5cGU9InRleHQiXSwjX2Zvcm1fOV8uX2lubGluZS1zdHlsZSBpbnB1dFt0eXBlPSJkYXRlIl0geyBwYWRkaW5nOjEwcHggMTJweDsgfQogI19mb3JtXzlfLl9pbmxpbmUtc3R5bGUgYnV0dG9uLl9pbmxpbmUtc3R5bGUgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgdG9wOjI3cHg7IH0KICNfZm9ybV85Xy5faW5saW5lLXN0eWxlIHAgeyBtYXJnaW46MDsgfQogI19mb3JtXzlfLl9pbmxpbmUtc3R5bGUgLl9idXR0b24td3JhcHBlciB7IHBvc2l0aW9uOnJlbGF0aXZlOyBtYXJnaW46MjdweCAxMi41cHggMCAyMHB4OyB9CiAjX2Zvcm1fOV8gLl9mb3JtLXRoYW5rLXlvdSB7IHBvc2l0aW9uOnJlbGF0aXZlOyBsZWZ0OjA7IHJpZ2h0OjA7IHRleHQtYWxpZ246Y2VudGVyOyBmb250LXNpemU6MThweDsgfQogQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDozMjBweCkgYW5kIChtYXgtd2lkdGg6NjY3cHgpIHsgI19mb3JtXzlfLl9pbmxpbmUtZm9ybS5faW5saW5lLXN0eWxlIC5faW5saW5lLXN0eWxlLl9idXR0b24td3JhcHBlciB7IG1hcmdpbi10b3A6MjBweCAhaW1wb3J0YW50OyBtYXJnaW4tbGVmdDowICFpbXBvcnRhbnQ7IH0KIH0KPC9zdHlsZT4KPGZvcm0gbWV0aG9kPSJQT1NUIiBhY3Rpb249Imh0dHBzOi8vY2Z0ZS5hY3RpdmVob3N0ZWQuY29tL3Byb2MucGhwIiBpZD0iX2Zvcm1fOV8iIGNsYXNzPSJfZm9ybSBfZm9ybV85IF9pbmxpbmUtZm9ybSAgX2RhcmsiIG5vdmFsaWRhdGU+CiAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idSIgdmFsdWU9IjkiIC8+CiAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZiIgdmFsdWU9IjkiIC8+CiAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icyIgLz4KICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjIiB2YWx1ZT0iMCIgLz4KICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJtIiB2YWx1ZT0iMCIgLz4KICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhY3QiIHZhbHVlPSJzdWIiIC8+CiAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idiIgdmFsdWU9IjIiIC8+CiAgPGRpdiBjbGFzc<br />
z0iX2Zvcm0tY29udGVudCI+CiAgICA8ZGl2IGNsYXNzPSJfZm9ybV9lbGVtZW50IF94NTQyNDM5ODIgX2Z1bGxfd2lkdGggX2NsZWFyIiA+CiAgICAgIDxkaXYgY2xhc3M9Il9mb3JtLXRpdGxlIj4KICAgICAgICBTdWJzY3JpYmUgdG8gb3VyIFdlZWtseSBOZXdzbGV0dGVyCiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJfZm9ybV9lbGVtZW50IF94NjA5MzM0NzIgX2Z1bGxfd2lkdGggIiA+CiAgICAgIDxsYWJlbCBjbGFzcz0iX2Zvcm0tbGFiZWwiPgogICAgICAgIEZpcnN0IE5hbWUqCiAgICAgIDwvbGFiZWw+CiAgICAgIDxkaXYgY2xhc3M9Il9maWVsZC13cmFwcGVyIj4KICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZmlyc3RuYW1lIiBwbGFjZWhvbGRlcj0iVHlwZSB5b3VyIGZpcnN0IG5hbWUiIHJlcXVpcmVkLz4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Il9mb3JtX2VsZW1lbnQgX3g0MjY0ODYwMCBfZnVsbF93aWR0aCAiID4KICAgICAgPGxhYmVsIGNsYXNzPSJfZm9ybS1sYWJlbCI+CiAgICAgICAgTGFzdCBOYW1lKgogICAgICA8L2xhYmVsPgogICAgICA8ZGl2IGNsYXNzPSJfZmllbGQtd3JhcHBlciI+CiAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9Imxhc3RuYW1lIiBwbGFjZWhvbGRlcj0iVHlwZSB5b3VyIGxhc3QgbmFtZSIgcmVxdWlyZWQvPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2Zvcm1fZWxlbWVudCBfeDA0OTc0OTE5IF9mdWxsX3dpZHRoICIgPgogICAgICA8bGFiZWwgY2xhc3M9Il9mb3JtLWxhYmVsIj4KICAgICAgICBFbWFpbCoKICAgICAgPC9sYWJlbD4KICAgICAgPGRpdiBjbGFzcz0iX2ZpZWxkLXdyYXBwZXIiPgogICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJlbWFpbCIgcGxhY2Vob2xkZXI9IlR5cGUgeW91ciBlbWFpbCIgcmVxdWlyZWQvPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2Zvcm1fZWxlbWVudCBfZmllbGQxIF9mdWxsX3dpZHRoICIgPgogICAgICA8bGFiZWwgY2xhc3M9Il9mb3JtLWxhYmVsIj4KICAgICAgICBDb3VudHJ5KgogICAgICA8L2xhYmVsPgogICAgICA8ZGl2IGNsYXNzPSJfZmllbGQtd3JhcHBlciI+CiAgICAgICAgPHNlbGVjdCBuYW1lPSJmaWVsZFsxXSIgcmVxdWlyZWQ+CiAgICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBZmdoYW5pc3RhbiIgPgogICAgICAgICAgICBBZmdoYW5pc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBbGJhbmlhIiA+CiAgICAgICAgICAgIEFsYmFuaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQWxnZXJpYSIgPgogICAgICAgICAgICBBbGdlcmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkFtZXJpY2FuIFNhbW9hIiA+CiAgICAgICAgICAgIEFtZXJpY2FuIFNhbW9hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkFuZG9ycmEiID4KICAgICAgICAgICAgQW5kb3JyYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBbmdvbGEiID4KICAgICAgICAgICAgQW5nb2xhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkFuZ3VpbGxhIiA+CiAgICAgICAgICAgIEFuZ3VpbGxhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkFudGFyY3RpY2EiID4KICAgICAgICAgICAgQW50YXJjdGljYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBbnRpZ3VhIGFuZCBCYXJidWRhIiA+CiAgICAgICAgICAgIEFudGlndWEgYW5kIEJhcmJ1ZGEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQXJnZW50aW5hIiA+CiAgICAgICAgICAgIEFyZ2VudGluYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBcm1lbmlhIiA+CiAgICAgICAgICAgIEFybWVuaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQXJ1YmEiID4KICAgICAgICAgICAgQXJ1YmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQXVzdHJhbGlhIiA+CiAgICAgICAgICAgIEF1c3RyYWxpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBdXN0cmlhIiA+CiAgICAgICAgICAgIEF1c3RyaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQXplcmJhaWphbiIgPgogICAgICAgICAgICBBemVyYmFpamFuCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJhaGFtYXMiID4KICAgICAgICAgICAgQmFoYW1hcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCYWhyYWluIiA+CiAgICAgICAgICAgIEJhaHJhaW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQmFuZ2xhZGVzaCIgPgogICAgICAgICAgICBCYW5nbGFkZXNoCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJhcmJhZG9zIiA+CiAgICAgICAgICAgIEJhcmJhZG9zCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJlbGFydXMiID4KICAgICAgICAgICAgQmVsYXJ1cwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCZWxnaXVtIiA+CiAgICAgICAgICAgIEJlbGdpdW0KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQmVsaXplIiA+CiAgICAgICAgICAgIEJlbGl6ZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCZW5pbiIgPgogICAgICAgICAgICBCZW5pbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCZXJtdWRhIiA+CiAgICAgICAgICAgIEJlcm11ZGEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQmh1dGFuIiA+CiAgICAgICAgICAgIEJodXRhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCb2xpdmlhIiA+CiAgICAgICAgICAgIEJvbGl2aWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYSIgPgogICAgICAgICAgICBCb3NuaWEgYW5kIEhlcnplZ292aW5hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJvdHN3YW5hIiA+CiAgICAgICAgICAgIEJvdHN3YW5hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJvdXZldCBJc2xhbmQiID4KICAgICAgICAgICAgQm91dmV0IElzbGFuZAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCcmF6aWwiID4KICAgICAgICAgICAgQnJhemlsCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJyaXRpc2ggSW5kaWFuIE9jZWFuIFRlcnJpdG9yeSIgPgogICAgICAgICAgICBCcml0aXNoIEluZGlhbiBPY2VhbiBUZXJyaXRvcnkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQnJ1bmVpIERhcnVzc2FsYW0iID4KICAgICAgICAgICAgQnJ1bmVpIERhcnVzc2FsYW0KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQnVsZ2FyaWEiID4KICAgICAgICAgICAgQnVsZ2FyaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQnVya2luYSBGYXNvIiA+CiAgICAgICAgICAgIEJ1cmtpbmEgRmFzbwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCdXJ1bmRpIiA+CiAgICAgICAgICAgIEJ1cnVuZGkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2FtYm9kaWEiID4KICAgICAgICAgICAgQ2FtYm9kaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2FtZXJvb24iID4KICAgICAgICAgICAgQ2FtZXJvb24KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2FuYWRhIiA+CiAgICAgICAgICAgIENhbmFkYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDYXBlIFZlcmRlIiA+CiAgICAgICAgICAgIENhcGUgVmVyZGUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2F5bWFuIElzbGFuZHMiID4KICAgICAgICAgICAgQ2F5bWFuIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljIiA+CiAgICAgICAgICAgIENlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDaGFkIiA+CiAgICAgICAgICAgIENoYWQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2hpbGUiID4KICAgICAgICAgICAgQ2hpbGUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2hpbmEiID4KICAgICAgICAgICAgQ2hpbmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2hyaXN0bWFzIElzbGFuZCIgPgogICAgICAgICAgICBDaHJpc3RtYXMgSXNsYW5kCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkNvY29zIChLZWVsaW5nKSBJc2xhbmRzIiA+CiAgICAgICAgICAgIENvY29zIChLZWVsaW5nKSBJc2xhbmRzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkNvbG9tYmlhIiA+CiAgICAgICAgICAgIENvbG9tYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkNvbW9yb3MiID4KICAgICAgICAgICAgQ29tb3JvcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDb25nbyIgPgogICAgICAgICAgICBDb25nbwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDb25nbywgdGhlIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlIiA+CiAgICAgICAgICAgIENvbmdvLCB0aGUgRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ29vayBJc2xhbmRzIiA+CiAgICAgICAgICAgIENvb2sgSXNsYW5kcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDb3N0YSBSaWNhIiA+CiAgICAgICAgICAgIENvc3RhIFJpY2EKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ290ZSBEJiMwMzk7SXZvaXJlIiA+CiAgICAgICAgICAgIENvdGUgRCYjMDM5O0l2b2lyZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDcm9hdGlhIiA+CiAgICAgICAgICAgIENyb2F0aWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ3ViYSIgPgogICAgICAgICAgICBDdWJhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkN5cHJ1cyIgPgogICAgICAgICAgICBDeXBydXMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ3plY2ggUmVwdWJsaWMiID4KICAgICAgICAgICAgQ3plY2ggUmVwdWJsaWMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRGVubWFyayIgPgogICAgICAgICAgICBEZW5tYXJrCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkRqaWJvdXRpIiA+CiAgICAgICAgICAgIERqaWJvdXRpCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkRvbWluaWNhIiA+CiAgICAgICAgICAg<br />
IERvbWluaWNhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkRvbWluaWNhbiBSZXB1YmxpYyIgPgogICAgICAgICAgICBEb21pbmljYW4gUmVwdWJsaWMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRWN1YWRvciIgPgogICAgICAgICAgICBFY3VhZG9yCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkVneXB0IiA+CiAgICAgICAgICAgIEVneXB0CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkVsIFNhbHZhZG9yIiA+CiAgICAgICAgICAgIEVsIFNhbHZhZG9yCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkVxdWF0b3JpYWwgR3VpbmVhIiA+CiAgICAgICAgICAgIEVxdWF0b3JpYWwgR3VpbmVhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkVyaXRyZWEiID4KICAgICAgICAgICAgRXJpdHJlYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJFc3RvbmlhIiA+CiAgICAgICAgICAgIEVzdG9uaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRXRoaW9waWEiID4KICAgICAgICAgICAgRXRoaW9waWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRmFsa2xhbmQgSXNsYW5kcyAoTWFsdmluYXMpIiA+CiAgICAgICAgICAgIEZhbGtsYW5kIElzbGFuZHMgKE1hbHZpbmFzKQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJGYXJvZSBJc2xhbmRzIiA+CiAgICAgICAgICAgIEZhcm9lIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRmlqaSIgPgogICAgICAgICAgICBGaWppCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkZpbmxhbmQiID4KICAgICAgICAgICAgRmlubGFuZAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJGcmFuY2UiID4KICAgICAgICAgICAgRnJhbmNlCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkZyZW5jaCBHdWlhbmEiID4KICAgICAgICAgICAgRnJlbmNoIEd1aWFuYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJGcmVuY2ggUG9seW5lc2lhIiA+CiAgICAgICAgICAgIEZyZW5jaCBQb2x5bmVzaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRnJlbmNoIFNvdXRoZXJuIFRlcnJpdG9yaWVzIiA+CiAgICAgICAgICAgIEZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHYWJvbiIgPgogICAgICAgICAgICBHYWJvbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHYW1iaWEiID4KICAgICAgICAgICAgR2FtYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikdlb3JnaWEiID4KICAgICAgICAgICAgR2VvcmdpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHZXJtYW55IiA+CiAgICAgICAgICAgIEdlcm1hbnkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iR2hhbmEiID4KICAgICAgICAgICAgR2hhbmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iR2licmFsdGFyIiA+CiAgICAgICAgICAgIEdpYnJhbHRhcgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHcmVlY2UiID4KICAgICAgICAgICAgR3JlZWNlCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkdyZWVubGFuZCIgPgogICAgICAgICAgICBHcmVlbmxhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iR3JlbmFkYSIgPgogICAgICAgICAgICBHcmVuYWRhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikd1YWRlbG91cGUiID4KICAgICAgICAgICAgR3VhZGVsb3VwZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHdWFtIiA+CiAgICAgICAgICAgIEd1YW0KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iR3VhdGVtYWxhIiA+CiAgICAgICAgICAgIEd1YXRlbWFsYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHdWVybnNleSIgPgogICAgICAgICAgICBHdWVybnNleQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHdWluZWEiID4KICAgICAgICAgICAgR3VpbmVhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikd1aW5lYS1CaXNzYXUiID4KICAgICAgICAgICAgR3VpbmVhLUJpc3NhdQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHdXlhbmEiID4KICAgICAgICAgICAgR3V5YW5hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkhhaXRpIiA+CiAgICAgICAgICAgIEhhaXRpCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkhlYXJkIElzbGFuZCBhbmQgTWNkb25hbGQgSXNsYW5kcyIgPgogICAgICAgICAgICBIZWFyZCBJc2xhbmQgYW5kIE1jZG9uYWxkIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSG9seSBTZWUgKFZhdGljYW4gQ2l0eSBTdGF0ZSkiID4KICAgICAgICAgICAgSG9seSBTZWUgKFZhdGljYW4gQ2l0eSBTdGF0ZSkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSG9uZHVyYXMiID4KICAgICAgICAgICAgSG9uZHVyYXMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSG9uZyBLb25nIiA+CiAgICAgICAgICAgIEhvbmcgS29uZwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJIdW5nYXJ5IiA+CiAgICAgICAgICAgIEh1bmdhcnkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSWNlbGFuZCIgPgogICAgICAgICAgICBJY2VsYW5kCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkluZGlhIiA+CiAgICAgICAgICAgIEluZGlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkluZG9uZXNpYSIgPgogICAgICAgICAgICBJbmRvbmVzaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSXJhbiwgSXNsYW1pYyBSZXB1YmxpYyBvZiIgPgogICAgICAgICAgICBJcmFuLCBJc2xhbWljIFJlcHVibGljIG9mCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IklyYXEiID4KICAgICAgICAgICAgSXJhcQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJJcmVsYW5kIiA+CiAgICAgICAgICAgIElyZWxhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSXNyYWVsIiA+CiAgICAgICAgICAgIElzcmFlbAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJJdGFseSIgPgogICAgICAgICAgICBJdGFseQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJKYW1haWNhIiA+CiAgICAgICAgICAgIEphbWFpY2EKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSmFwYW4iID4KICAgICAgICAgICAgSmFwYW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSm9yZGFuIiA+CiAgICAgICAgICAgIEpvcmRhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJLYXpha2hzdGFuIiA+CiAgICAgICAgICAgIEthemFraHN0YW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iS2VueWEiID4KICAgICAgICAgICAgS2VueWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iS2lyaWJhdGkiID4KICAgICAgICAgICAgS2lyaWJhdGkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iS29yZWEsIERlbW9jcmF0aWMgUGVvcGxlJiMwMzk7cyBSZXB1YmxpYyBvZiIgPgogICAgICAgICAgICBLb3JlYSwgRGVtb2NyYXRpYyBQZW9wbGUmIzAzOTtzIFJlcHVibGljIG9mCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IktvcmVhLCBSZXB1YmxpYyBvZiIgPgogICAgICAgICAgICBLb3JlYSwgUmVwdWJsaWMgb2YKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iS3V3YWl0IiA+CiAgICAgICAgICAgIEt1d2FpdAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJLeXJneXpzdGFuIiA+CiAgICAgICAgICAgIEt5cmd5enN0YW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTGFvIFBlb3BsZSYjMDM5O3MgRGVtb2NyYXRpYyBSZXB1YmxpYyIgPgogICAgICAgICAgICBMYW8gUGVvcGxlJiMwMzk7cyBEZW1vY3JhdGljIFJlcHVibGljCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkxhdHZpYSIgPgogICAgICAgICAgICBMYXR2aWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTGViYW5vbiIgPgogICAgICAgICAgICBMZWJhbm9uCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikxlc290aG8iID4KICAgICAgICAgICAgTGVzb3RobwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJMaWJlcmlhIiA+CiAgICAgICAgICAgIExpYmVyaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTGlieWFuIEFyYWIgSmFtYWhpcml5YSIgPgogICAgICAgICAgICBMaWJ5YW4gQXJhYiBKYW1haGlyaXlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkxpZWNodGVuc3RlaW4iID4KICAgICAgICAgICAgTGllY2h0ZW5zdGVpbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJMaXRodWFuaWEiID4KICAgICAgICAgICAgTGl0aHVhbmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikx1eGVtYm91cmciID4KICAgICAgICAgICAgTHV4ZW1ib3VyZwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYWNhbyIgPgogICAgICAgICAgICBNYWNhbwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYWNlZG9uaWEsIHRoZSBGb3JtZXIgWXVnb3NsYXYgUmVwdWJsaWMgb2YiID4KICAgICAgICAgICAgTWFjZWRvbmlhLCB0aGUgRm9ybWVyIFl1Z29zbGF2IFJlcHVibGljIG9mCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hZGFnYXNjYXIiID4KICAgICAgICAgICAgTWFkYWdhc2NhcgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYWxhd2kiID4KICAgICAgICAgICAgTWFsYXdpCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hbGF5c2lhIiA+CiAgICAgICAgICAgIE1hbGF5c2lhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hbGRpdmVzIiA+CiAgICAgICAgICAgIE1hbGRpdmVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hbGkiID4KICAgICAgICAgICAgTWFsaQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYWx0YSIgPgogICAgICAgICAgICBNYWx0YQogICAgICAgICAgPC9vcHRpb24+CiA<br />
gICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYXJzaGFsbCBJc2xhbmRzIiA+CiAgICAgICAgICAgIE1hcnNoYWxsIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTWFydGluaXF1ZSIgPgogICAgICAgICAgICBNYXJ0aW5pcXVlCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hdXJpdGFuaWEiID4KICAgICAgICAgICAgTWF1cml0YW5pYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYXVyaXRpdXMiID4KICAgICAgICAgICAgTWF1cml0aXVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1heW90dGUiID4KICAgICAgICAgICAgTWF5b3R0ZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNZXhpY28iID4KICAgICAgICAgICAgTWV4aWNvCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1pY3JvbmVzaWEsIEZlZGVyYXRlZCBTdGF0ZXMgb2YiID4KICAgICAgICAgICAgTWljcm9uZXNpYSwgRmVkZXJhdGVkIFN0YXRlcyBvZgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNb2xkb3ZhLCBSZXB1YmxpYyBvZiIgPgogICAgICAgICAgICBNb2xkb3ZhLCBSZXB1YmxpYyBvZgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNb25hY28iID4KICAgICAgICAgICAgTW9uYWNvCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1vbmdvbGlhIiA+CiAgICAgICAgICAgIE1vbmdvbGlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1vbnRlbmVncm8iID4KICAgICAgICAgICAgTW9udGVuZWdybwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNb250c2VycmF0IiA+CiAgICAgICAgICAgIE1vbnRzZXJyYXQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTW9yb2NjbyIgPgogICAgICAgICAgICBNb3JvY2NvCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1vemFtYmlxdWUiID4KICAgICAgICAgICAgTW96YW1iaXF1ZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNeWFubWFyIiA+CiAgICAgICAgICAgIE15YW5tYXIKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTmFtaWJpYSIgPgogICAgICAgICAgICBOYW1pYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5hdXJ1IiA+CiAgICAgICAgICAgIE5hdXJ1CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5lcGFsIiA+CiAgICAgICAgICAgIE5lcGFsCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5ldGhlcmxhbmRzIiA+CiAgICAgICAgICAgIE5ldGhlcmxhbmRzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5ldGhlcmxhbmRzIEFudGlsbGVzIiA+CiAgICAgICAgICAgIE5ldGhlcmxhbmRzIEFudGlsbGVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5ldyBDYWxlZG9uaWEiID4KICAgICAgICAgICAgTmV3IENhbGVkb25pYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJOZXcgWmVhbGFuZCIgPgogICAgICAgICAgICBOZXcgWmVhbGFuZAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJOaWNhcmFndWEiID4KICAgICAgICAgICAgTmljYXJhZ3VhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5pZ2VyIiA+CiAgICAgICAgICAgIE5pZ2VyCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5pZ2VyaWEiID4KICAgICAgICAgICAgTmlnZXJpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJOaXVlIiA+CiAgICAgICAgICAgIE5pdWUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTm9yZm9sayBJc2xhbmQiID4KICAgICAgICAgICAgTm9yZm9sayBJc2xhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzIiA+CiAgICAgICAgICAgIE5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJOb3J3YXkiID4KICAgICAgICAgICAgTm9yd2F5CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik9tYW4iID4KICAgICAgICAgICAgT21hbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJQYWtpc3RhbiIgPgogICAgICAgICAgICBQYWtpc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJQYWxhdSIgPgogICAgICAgICAgICBQYWxhdQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJQYWxlc3RpbmlhbiBUZXJyaXRvcnksIE9jY3VwaWVkIiA+CiAgICAgICAgICAgIFBhbGVzdGluaWFuIFRlcnJpdG9yeSwgT2NjdXBpZWQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUGFuYW1hIiA+CiAgICAgICAgICAgIFBhbmFtYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJQYXB1YSBOZXcgR3VpbmVhIiA+CiAgICAgICAgICAgIFBhcHVhIE5ldyBHdWluZWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUGFyYWd1YXkiID4KICAgICAgICAgICAgUGFyYWd1YXkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUGVydSIgPgogICAgICAgICAgICBQZXJ1CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlBoaWxpcHBpbmVzIiA+CiAgICAgICAgICAgIFBoaWxpcHBpbmVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlBpdGNhaXJuIiA+CiAgICAgICAgICAgIFBpdGNhaXJuCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlBvbGFuZCIgPgogICAgICAgICAgICBQb2xhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUG9ydHVnYWwiID4KICAgICAgICAgICAgUG9ydHVnYWwKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUHVlcnRvIFJpY28iID4KICAgICAgICAgICAgUHVlcnRvIFJpY28KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUWF0YXIiID4KICAgICAgICAgICAgUWF0YXIKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUmV1bmlvbiIgPgogICAgICAgICAgICBSZXVuaW9uCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlJvbWFuaWEiID4KICAgICAgICAgICAgUm9tYW5pYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJSdXNzaWFuIEZlZGVyYXRpb24iID4KICAgICAgICAgICAgUnVzc2lhbiBGZWRlcmF0aW9uCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlJ3YW5kYSIgPgogICAgICAgICAgICBSd2FuZGEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2FpbnQgSGVsZW5hIiA+CiAgICAgICAgICAgIFNhaW50IEhlbGVuYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYWludCBLaXR0cyBhbmQgTmV2aXMiID4KICAgICAgICAgICAgU2FpbnQgS2l0dHMgYW5kIE5ldmlzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNhaW50IEx1Y2lhIiA+CiAgICAgICAgICAgIFNhaW50IEx1Y2lhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNhaW50IFBpZXJyZSBhbmQgTWlxdWVsb24iID4KICAgICAgICAgICAgU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYWludCBWaW5jZW50IGFuZCB0aGUgR3JlbmFkaW5lcyIgPgogICAgICAgICAgICBTYWludCBWaW5jZW50IGFuZCB0aGUgR3JlbmFkaW5lcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYW1vYSIgPgogICAgICAgICAgICBTYW1vYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYW4gTWFyaW5vIiA+CiAgICAgICAgICAgIFNhbiBNYXJpbm8KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2FvIFRvbWUgYW5kIFByaW5jaXBlIiA+CiAgICAgICAgICAgIFNhbyBUb21lIGFuZCBQcmluY2lwZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYXVkaSBBcmFiaWEiID4KICAgICAgICAgICAgU2F1ZGkgQXJhYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNlbmVnYWwiID4KICAgICAgICAgICAgU2VuZWdhbAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTZXJiaWEiID4KICAgICAgICAgICAgU2VyYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNleWNoZWxsZXMiID4KICAgICAgICAgICAgU2V5Y2hlbGxlcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTaWVycmEgTGVvbmUiID4KICAgICAgICAgICAgU2llcnJhIExlb25lCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNpbmdhcG9yZSIgPgogICAgICAgICAgICBTaW5nYXBvcmUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2xvdmFraWEiID4KICAgICAgICAgICAgU2xvdmFraWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2xvdmVuaWEiID4KICAgICAgICAgICAgU2xvdmVuaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU29sb21vbiBJc2xhbmRzIiA+CiAgICAgICAgICAgIFNvbG9tb24gSXNsYW5kcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTb21hbGlhIiA+CiAgICAgICAgICAgIFNvbWFsaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU291dGggQWZyaWNhIiA+CiAgICAgICAgICAgIFNvdXRoIEFmcmljYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTb3V0aCBHZW9yZ2lhIGFuZCB0aGUgU291dGggU2FuZHdpY2ggSXNsYW5kcyIgPgogICAgICAgICAgICBTb3V0aCBHZW9yZ2lhIGFuZCB0aGUgU291dGggU2FuZHdpY2ggSXNsYW5kcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTcGFpbiIgPgogICAgICAgICAgICBTcGFpbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTcmkgTGFua2EiID4KICAgICAgICAgICAgU3JpIExhbmthCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlN1ZGFuIiA+CiAgICAgICAgICAgIFN1ZGFuCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlN1cmluYW1lIiA+CiAgICAgICAgICAgIFN1cmluYW1lCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlN2YWxiYXJkIGFuZCBKYW4gTWF5ZW4iID4KICAgICAgICAgICAgU3ZhbGJhcmQgYW5kIEphbiBNYXllbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTd2F6aWxhbmQiID4KICAgICAgICAgICAgU3dhem<br />
lsYW5kCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlN3ZWRlbiIgPgogICAgICAgICAgICBTd2VkZW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU3dpdHplcmxhbmQiID4KICAgICAgICAgICAgU3dpdHplcmxhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU3lyaWFuIEFyYWIgUmVwdWJsaWMiID4KICAgICAgICAgICAgU3lyaWFuIEFyYWIgUmVwdWJsaWMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVGFpd2FuLCBQcm92aW5jZSBvZiBDaGluYSIgPgogICAgICAgICAgICBUYWl3YW4sIFByb3ZpbmNlIG9mIENoaW5hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlRhamlraXN0YW4iID4KICAgICAgICAgICAgVGFqaWtpc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJUYW56YW5pYSwgVW5pdGVkIFJlcHVibGljIG9mIiA+CiAgICAgICAgICAgIFRhbnphbmlhLCBVbml0ZWQgUmVwdWJsaWMgb2YKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVGhhaWxhbmQiID4KICAgICAgICAgICAgVGhhaWxhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVGltb3ItTGVzdGUiID4KICAgICAgICAgICAgVGltb3ItTGVzdGUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVG9nbyIgPgogICAgICAgICAgICBUb2dvCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlRva2VsYXUiID4KICAgICAgICAgICAgVG9rZWxhdQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJUb25nYSIgPgogICAgICAgICAgICBUb25nYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJUcmluaWRhZCBhbmQgVG9iYWdvIiA+CiAgICAgICAgICAgIFRyaW5pZGFkIGFuZCBUb2JhZ28KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVHVuaXNpYSIgPgogICAgICAgICAgICBUdW5pc2lhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlR1cmtleSIgPgogICAgICAgICAgICBUdXJrZXkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVHVya21lbmlzdGFuIiA+CiAgICAgICAgICAgIFR1cmttZW5pc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJUdXJrcyBhbmQgQ2FpY29zIElzbGFuZHMiID4KICAgICAgICAgICAgVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlR1dmFsdSIgPgogICAgICAgICAgICBUdXZhbHUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVWdhbmRhIiA+CiAgICAgICAgICAgIFVnYW5kYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJVa3JhaW5lIiA+CiAgICAgICAgICAgIFVrcmFpbmUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVW5pdGVkIEFyYWIgRW1pcmF0ZXMiID4KICAgICAgICAgICAgVW5pdGVkIEFyYWIgRW1pcmF0ZXMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVW5pdGVkIEtpbmdkb20iID4KICAgICAgICAgICAgVW5pdGVkIEtpbmdkb20KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVW5pdGVkIFN0YXRlcyIgPgogICAgICAgICAgICBVbml0ZWQgU3RhdGVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlVuaXRlZCBTdGF0ZXMgTWlub3IgT3V0bHlpbmcgSXNsYW5kcyIgPgogICAgICAgICAgICBVbml0ZWQgU3RhdGVzIE1pbm9yIE91dGx5aW5nIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVXJ1Z3VheSIgPgogICAgICAgICAgICBVcnVndWF5CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlV6YmVraXN0YW4iID4KICAgICAgICAgICAgVXpiZWtpc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJWYW51YXR1IiA+CiAgICAgICAgICAgIFZhbnVhdHUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVmVuZXp1ZWxhIiA+CiAgICAgICAgICAgIFZlbmV6dWVsYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJWaWV0bmFtIiA+CiAgICAgICAgICAgIFZpZXRuYW0KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVmlyZ2luIElzbGFuZHMsIEJyaXRpc2giID4KICAgICAgICAgICAgVmlyZ2luIElzbGFuZHMsIEJyaXRpc2gKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVmlyZ2luIElzbGFuZHMsIFUucy4iID4KICAgICAgICAgICAgVmlyZ2luIElzbGFuZHMsIFUucy4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iV2FsbGlzIGFuZCBGdXR1bmEiID4KICAgICAgICAgICAgV2FsbGlzIGFuZCBGdXR1bmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iV2VzdGVybiBTYWhhcmEiID4KICAgICAgICAgICAgV2VzdGVybiBTYWhhcmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iWWVtZW4iID4KICAgICAgICAgICAgWWVtZW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iWmFtYmlhIiA+CiAgICAgICAgICAgIFphbWJpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJaaW1iYWJ3ZSIgPgogICAgICAgICAgICBaaW1iYWJ3ZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTRyIgPgogICAgICAgICAgICBTRwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDQU5BREEiID4KICAgICAgICAgICAgQ0FOQURBCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IktvcmVhIiA+CiAgICAgICAgICAgIEtvcmVhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IiIgPgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJMdXhlbWJvdXJnaCIgPgogICAgICAgICAgICBMdXhlbWJvdXJnaAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNWSIgPgogICAgICAgICAgICBNWQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJFU1dBUlRJTkkiID4KICAgICAgICAgICAgRVNXQVJUSU5JCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVTd2F0aW5pICIgPgogICAgICAgICAgICBlU3dhdGluaQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTWiIgPgogICAgICAgICAgICBTWgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDQSIgPgogICAgICAgICAgICBDQQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHcmVhdCBCcml0YWluIiA+CiAgICAgICAgICAgIEdyZWF0IEJyaXRhaW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUnVzc2lhIiA+CiAgICAgICAgICAgIFJ1c3NpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJIb25nIEtvbmcgU0FSIENoaW5hIiA+CiAgICAgICAgICAgIEhvbmcgS29uZyBTQVIgQ2hpbmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTG9uZG9uIiA+CiAgICAgICAgICAgIExvbmRvbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgPC9zZWxlY3Q+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJfZm9ybV9lbGVtZW50IF9maWVsZDIgX2Z1bGxfd2lkdGggIiA+CiAgICAgIDxkaXYgY2xhc3M9Il9yb3ciPgogICAgICAgIDxsYWJlbCBjbGFzcz0iX2Zvcm0tbGFiZWwiPgogICAgICAgICAgUHJpdmFjeSBQb2xpY3kqCiAgICAgICAgPC9sYWJlbD4KICAgICAgPC9kaXY+CiAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImZpZWxkWzJdW10iIHZhbHVlPSJ+fCI+CiAgICAgIDxkaXYgY2xhc3M9Il9yb3cgX2NoZWNrYm94LXJhZGlvIj4KICAgICAgICA8aW5wdXQgaWQ9ImZpZWxkXzJJIHJlYWQgYW5kIHVuZGVyc3Rvb2QgQ0ZURSBQcml2YWN5IFBvbGljeSAod3d3LmNmdGUuZWR1Y2F0aW9uL3ByaXZhY3ktcG9saWN5KSIgdHlwZT0iY2hlY2tib3giIG5hbWU9ImZpZWxkWzJdW10iIHZhbHVlPSJJIHJlYWQgYW5kIHVuZGVyc3Rvb2QgQ0ZURSBQcml2YWN5IFBvbGljeSAod3d3LmNmdGUuZWR1Y2F0aW9uL3ByaXZhY3ktcG9saWN5KSIgY2xhc3M9ImFueSIgIHJlcXVpcmVkPgogICAgICAgIDxzcGFuPgogICAgICAgICAgPGxhYmVsIGZvcj0iZmllbGRfMkkgcmVhZCBhbmQgdW5kZXJzdG9vZCBDRlRFIFByaXZhY3kgUG9saWN5ICh3d3cuY2Z0ZS5lZHVjYXRpb24vcHJpdmFjeS1wb2xpY3kpIj4KICAgICAgICAgICAgSSByZWFkIGFuZCB1bmRlcnN0b29kIENGVEUgUHJpdmFjeSBQb2xpY3kgKHd3dy5jZnRlLmVkdWNhdGlvbi9wcml2YWN5LXBvbGljeSkKICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgPC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2Zvcm1fZWxlbWVudCBfZmllbGQzIF9mdWxsX3dpZHRoICIgPgogICAgICA8ZGl2IGNsYXNzPSJfcm93Ij4KICAgICAgICA8bGFiZWwgY2xhc3M9Il9mb3JtLWxhYmVsIj4KICAgICAgICAgIENvbW11bmljYXRpb24gb3B0aW9ucwogICAgICAgIDwvbGFiZWw+CiAgICAgIDwvZGl2PgogICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmaWVsZFszXVtdIiB2YWx1ZT0ifnwiPgogICAgICA8ZGl2IGNsYXNzPSJfcm93IF9jaGVja2JveC1yYWRpbyI+CiAgICAgICAgPGlucHV0IGlkPSJmaWVsZF8zSSYjMDM5O20gaGFwcHkgdG8gcmVjZWl2ZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IENGVEUmIzAzOTtzIGNvdXJzZXMgYnkgZW1haWwiIHR5cGU9ImNoZWNrYm94IiBuYW1lPSJmaWVsZFszXVtdIiB2YWx1ZT0iSSYjMDM5O20gaGFwcHkgdG8gcmVjZWl2ZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IENGVEUmIzAzOTtzIGNvdXJzZXMgYnkgZW1haWwiICAgPgogICAgICAgIDxzcGFuPgogICAgICAgICAgPGxhYmVsIGZvcj0iZmllbGRfM0kmIzAzOTttIGhhcHB5IHRvIHJlY2VpdmUgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBDRlRFJiMwMzk7cyBjb3Vyc2VzIGJ5IGVtYWlsIj4KICAgICAgICAgICAgSSYjMDM5O20gaGFwcHkgdG8gcmVjZWl2ZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IENGVEUmIzAzOTtzIGNvdXJzZXMgYnkgZW1haWwKICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iX3JvdyBfY2hlY2tib3gtcmFkaW8iPgogICAgICAgIDxpbnB1dCBpZD0iZmllbGRfM0kgd2FudCB0byByZWNlaXZlIENGVEUmIzAzOTtzIGdlbmVyYWwgbmV3c2xldHRlciIgdHlwZT0iY2hlY2tib3giIG5hbWU9ImZpZWxkWzNdW10iIHZhbHVlPSJJIHdhbnQgdG8gcmVjZWl2ZSBDRlRFJiMwMzk7cyBnZW5lcmFsIG5ld3NsZXR0ZXIiICAgPgogICAgICAgIDxzcGFuPgogICAgICAgICAgPGxhYmVsIGZvcj0iZmllbGRfM0kgd2FudCB0byByZWNlaXZlIENGVEUmIzAzOTtzIGdlbmVyYWwgbmV3c2xldHRlciI+CiAgICAgICAgICAgIEkgd2FudCB0byByZWNlaXZlIENGVEUmIzAzOTtzIGdlbmVyYWwgbmV3c2xldHRlcgogICAgICAgICAgPC9sYWJlbD4KICAgICAgICA8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJfc<br />
m93IF9jaGVja2JveC1yYWRpbyI+CiAgICAgICAgPGlucHV0IGlkPSJmaWVsZF8zSSB3YW50IHRvIHJlY2VpdmUgQ0ZURSYjMDM5O3MgZXZlbnRzIG5ld3NsZXR0ZXIgIiB0eXBlPSJjaGVja2JveCIgbmFtZT0iZmllbGRbM11bXSIgdmFsdWU9Ikkgd2FudCB0byByZWNlaXZlIENGVEUmIzAzOTtzIGV2ZW50cyBuZXdzbGV0dGVyICIgICA+CiAgICAgICAgPHNwYW4+CiAgICAgICAgICA8bGFiZWwgZm9yPSJmaWVsZF8zSSB3YW50IHRvIHJlY2VpdmUgQ0ZURSYjMDM5O3MgZXZlbnRzIG5ld3NsZXR0ZXIgIj4KICAgICAgICAgICAgSSB3YW50IHRvIHJlY2VpdmUgQ0ZURSYjMDM5O3MgZXZlbnRzIG5ld3NsZXR0ZXIKICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgPC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2J1dHRvbi13cmFwcGVyIF9mdWxsX3dpZHRoIj4KICAgICAgPGJ1dHRvbiBpZD0iX2Zvcm1fOV9zdWJtaXQiIGNsYXNzPSJfc3VibWl0IiB0eXBlPSJzdWJtaXQiPgogICAgICAgIFN1Ym1pdAogICAgICA8L2J1dHRvbj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2NsZWFyLWVsZW1lbnQiPgogICAgPC9kaXY+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0iX2Zvcm0tdGhhbmsteW91IiBzdHlsZT0iZGlzcGxheTpub25lOyI+CiAgPC9kaXY+CjwvZm9ybT48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CndpbmRvdy5jZmllbGRzID0geyIxIjoiY291bnRyeSIsIjIiOiJwcml2YWN5X3BvbGljeSIsIjMiOiJjb21tdW5pY2F0aW9uX29wdGlvbnMifTsKd2luZG93Ll9zaG93X3RoYW5rX3lvdSA9IGZ1bmN0aW9uKGlkLCBtZXNzYWdlLCB0cmFja2NtcF91cmwpIHsKICB2YXIgZm9ybSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdfZm9ybV8nICsgaWQgKyAnXycpLCB0aGFua195b3UgPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoJy5fZm9ybS10aGFuay15b3UnKTsKICBmb3JtLnF1ZXJ5U2VsZWN0b3IoJy5fZm9ybS1jb250ZW50Jykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICB0aGFua195b3UuaW5uZXJIVE1MID0gbWVzc2FnZTsKICB0aGFua195b3Uuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgaWYgKHR5cGVvZih0cmFja2NtcF91cmwpICE9ICd1bmRlZmluZWQnICYmIHRyYWNrY21wX3VybCkgewogICAgLy8gU2l0ZSB0cmFja2luZyBVUkwgdG8gdXNlIGFmdGVyIGlubGluZSBmb3JtIHN1Ym1pc3Npb24uCiAgICBfbG9hZF9zY3JpcHQodHJhY2tjbXBfdXJsKTsKICB9CiAgaWYgKHR5cGVvZiB3aW5kb3cuX2Zvcm1fY2FsbGJhY2sgIT09ICd1bmRlZmluZWQnKSB3aW5kb3cuX2Zvcm1fY2FsbGJhY2soaWQpOwp9Owp3aW5kb3cuX3Nob3dfZXJyb3IgPSBmdW5jdGlvbihpZCwgbWVzc2FnZSwgaHRtbCkgewogIHZhciBmb3JtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ19mb3JtXycgKyBpZCArICdfJyksIGVyciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLCBidXR0b24gPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbicpLCBvbGRfZXJyb3IgPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoJy5fZm9ybV9lcnJvcicpOwogIGlmIChvbGRfZXJyb3IpIG9sZF9lcnJvci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG9sZF9lcnJvcik7CiAgZXJyLmlubmVySFRNTCA9IG1lc3NhZ2U7CiAgZXJyLmNsYXNzTmFtZSA9ICdfZXJyb3ItaW5uZXIgX2Zvcm1fZXJyb3IgX25vX2Fycm93JzsKICB2YXIgd3JhcHBlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogIHdyYXBwZXIuY2xhc3NOYW1lID0gJ19mb3JtLWlubmVyJzsKICB3cmFwcGVyLmFwcGVuZENoaWxkKGVycik7CiAgYnV0dG9uLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHdyYXBwZXIsIGJ1dHRvbik7CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2lkXj0iX2Zvcm0iXVtpZCQ9Il9zdWJtaXQiXScpLmRpc2FibGVkID0gZmFsc2U7CiAgaWYgKGh0bWwpIHsKICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIGRpdi5jbGFzc05hbWUgPSAnX2Vycm9yLWh0bWwnOwogICAgZGl2LmlubmVySFRNTCA9IGh0bWw7CiAgICBlcnIuYXBwZW5kQ2hpbGQoZGl2KTsKICB9Cn07CndpbmRvdy5fbG9hZF9zY3JpcHQgPSBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKSB7CiAgICB2YXIgaGVhZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2hlYWQnKSwgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JyksIHIgPSBmYWxzZTsKICAgIHNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7CiAgICBzY3JpcHQuY2hhcnNldCA9ICd1dGYtOCc7CiAgICBzY3JpcHQuc3JjID0gdXJsOwogICAgaWYgKGNhbGxiYWNrKSB7CiAgICAgIHNjcmlwdC5vbmxvYWQgPSBzY3JpcHQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7CiAgICAgIGlmICghciAmJiAoIXRoaXMucmVhZHlTdGF0ZSB8fCB0aGlzLnJlYWR5U3RhdGUgPT0gJ2NvbXBsZXRlJykpIHsKICAgICAgICByID0gdHJ1ZTsKICAgICAgICBjYWxsYmFjaygpOwogICAgICAgIH0KICAgICAgfTsKICAgIH0KICAgIGhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKfTsKKGZ1bmN0aW9uKCkgewogIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNoLnNlYXJjaCgiZXhjbHVkZWZvcm0iKSAhPT0gLTEpIHJldHVybiBmYWxzZTsKICB2YXIgZ2V0Q29va2llID0gZnVuY3Rpb24obmFtZSkgewogICAgdmFyIG1hdGNoID0gZG9jdW1lbnQuY29va2llLm1hdGNoKG5ldyBSZWdFeHAoJyhefDsgKScgKyBuYW1lICsgJz0oW147XSspJykpOwogICAgcmV0dXJuIG1hdGNoID8gbWF0Y2hbMl0gOiBudWxsOwogIH0KICB2YXIgc2V0Q29va2llID0gZnVuY3Rpb24obmFtZSwgdmFsdWUpIHsKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpOwogICAgdmFyIHRpbWUgPSBub3cuZ2V0VGltZSgpOwogICAgdmFyIGV4cGlyZVRpbWUgPSB0aW1lICsgMTAwMCAqIDYwICogNjAgKiAyNCAqIDM2NTsKICAgIG5vdy5zZXRUaW1lKGV4cGlyZVRpbWUpOwogICAgZG9jdW1lbnQuY29va2llID0gbmFtZSArICc9JyArIHZhbHVlICsgJzsgZXhwaXJlcz0nICsgbm93ICsgJztwYXRoPS8nOwogIH0KICAgICAgdmFyIGFkZEV2ZW50ID0gZnVuY3Rpb24oZWxlbWVudCwgZXZlbnQsIGZ1bmMpIHsKICAgIGlmIChlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIpIHsKICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBmdW5jKTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBvbGRGdW5jID0gZWxlbWVudFsnb24nICsgZXZlbnRdOwogICAgICBlbGVtZW50WydvbicgKyBldmVudF0gPSBmdW5jdGlvbigpIHsKICAgICAgICBvbGRGdW5jLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgZnVuYy5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgICB9OwogICAgfQogIH0KICB2YXIgX3JlbW92ZWQgPSBmYWxzZTsKICB2YXIgZm9ybV90b19zdWJtaXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX2Zvcm1fOV8nKTsKICB2YXIgYWxsSW5wdXRzID0gZm9ybV90b19zdWJtaXQucXVlcnlTZWxlY3RvckFsbCgnaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEnKSwgdG9vbHRpcHMgPSBbXSwgc3VibWl0dGVkID0gZmFsc2U7CgogIHZhciBnZXRVcmxQYXJhbSA9IGZ1bmN0aW9uKG5hbWUpIHsKICAgIHZhciByZWdleFN0ciA9ICdbXD8mXScgKyBuYW1lICsgJz0oW14mI10qKSc7CiAgICB2YXIgcmVzdWx0cyA9IG5ldyBSZWdFeHAocmVnZXhTdHIsICdpJykuZXhlYyh3aW5kb3cubG9jYXRpb24uaHJlZik7CiAgICByZXR1cm4gcmVzdWx0cyAhPSB1bmRlZmluZWQgPyBkZWNvZGVVUklDb21wb25lbnQocmVzdWx0c1sxXSkgOiBmYWxzZTsKICB9OwoKICBmb3IgKHZhciBpID0gMDsgaSA8IGFsbElucHV0cy5sZW5ndGg7IGkrKykgewogICAgdmFyIHJlZ2V4U3RyID0gImZpZWxkXFxbKFxcZCspXFxdIjsKICAgIHZhciByZXN1bHRzID0gbmV3IFJlZ0V4cChyZWdleFN0cikuZXhlYyhhbGxJbnB1dHNbaV0ubmFtZSk7CiAgICBpZiAocmVzdWx0cyAhPSB1bmRlZmluZWQpIHsKICAgICAgYWxsSW5wdXRzW2ldLmRhdGFzZXQubmFtZSA9IHdpbmRvdy5jZmllbGRzW3Jlc3VsdHNbMV1dOwogICAgfSBlbHNlIHsKICAgICAgYWxsSW5wdXRzW2ldLmRhdGFzZXQubmFtZSA9IGFsbElucHV0c1tpXS5uYW1lOwogICAgfQogICAgdmFyIGZpZWxkVmFsID0gZ2V0VXJsUGFyYW0oYWxsSW5wdXRzW2ldLmRhdGFzZXQubmFtZSk7CgogICAgaWYgKGZpZWxkVmFsKSB7CiAgICAgIGlmIChhbGxJbnB1dHNbaV0udHlwZSA9PSAicmFkaW8iIHx8IGFsbElucHV0c1tpXS50eXBlID09ICJjaGVja2JveCIpIHsKICAgICAgICBpZiAoYWxsSW5wdXRzW2ldLnZhbHVlID09IGZpZWxkVmFsKSB7CiAgICAgICAgICBhbGxJbnB1dHNbaV0uY2hlY2tlZCA9IHRydWU7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIGFsbElucHV0c1tpXS52YWx1ZSA9IGZpZWxkVmFsOwogICAgICB9CiAgICB9CiAgfQoKICB2YXIgcmVtb3ZlX3Rvb2x0aXBzID0gZnVuY3Rpb24oKSB7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRvb2x0aXBzLmxlbmd0aDsgaSsrKSB7CiAgICAgIHRvb2x0aXBzW2ldLnRpcC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRvb2x0aXBzW2ldLnRpcCk7CiAgICB9CiAgICAgIHRvb2x0aXBzID0gW107CiAgfTsKICB2YXIgcmVtb3ZlX3Rvb2x0aXAgPSBmdW5jdGlvbihlbGVtKSB7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRvb2x0aXBzLmxlbmd0aDsgaSsrKSB7CiAgICAgIGlmICh0b29sdGlwc1tpXS5lbGVtID09PSBlbGVtKSB7CiAgICAgICAgdG9vbHRpcHNbaV0udGlwLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodG9vbHRpcHNbaV0udGlwKTsKICAgICAgICB0b29sdGlwcy5zcGxpY2UoaSwgMSk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICB9CiAgfTsKICB2YXIgY3JlYXRlX3Rvb2x0aXAgPSBmdW5jdGlvbihlbGVtLCB0ZXh0KSB7CiAgICB2YXIgdG9vbHRpcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLCBhcnJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLCBpbm5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLCBuZXdfdG9vbHRpcCA9IHt9OwogICAgaWYgKGVsZW0udHlwZSAhPSAncmFkaW8nICYmIGVsZW0udHlwZSAhPSAnY2hlY2tib3gnKSB7CiAgICAgIHRvb2x0aXAuY2xhc3NOYW1lID0gJ19lcnJvcic7CiAgICAgIGFycm93LmNsYXNzTmFtZSA9ICdfZXJyb3ItYXJyb3cnOwogICAgICBpbm5lci5jbGFzc05hbWUgPSAnX2Vycm9yLWlubmVyJzsKICAgICAgaW5uZXIuaW5uZXJIVE1MID0gdGV4dDsKICAgICAgdG9vbHRpcC5hcHBlbmRDaGlsZChhcnJvdyk7CiAgICAgIHRvb2x0aXAuYXBwZW5kQ2hpbGQoaW5uZXIpOwogICAgICBlbGVtLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQodG9vbHRpcCk7CiAgICB9IGVsc2UgewogICAgICB0b29sdGlwLmNsYXNzTmFtZSA9ICdfZXJyb3ItaW5uZXIgX25vX2Fycm93JzsKICAgICAgdG9vbHRpcC5pbm5lckhUTUwgPSB0ZXh0OwogICAgICBlbGVtLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRvb2x0aXAsIGVsZW0pOwogICAgICBuZXdfdG9vbHRpcC5ub19hcnJvdyA9IHRydWU7CiAgICB9CiAgICBuZXdfdG9vbHRpcC50aXAgPSB0b29sdGlwOwogICAgbmV3X3Rvb2x0aXAuZWxlbSA9IGVsZW07CiAgICB0b29sdGlwcy5wdXNoKG5ld190b29sdGlwKTsKICAgIHJldHVybiBuZXdfdG9vbHRpcDsKICB9OwogIHZhciByZXNpemVfdG9vbHRpcCA9IGZ1bmN0aW9uKHRvb2x0aXApIHsKICAgIHZhciByZWN0ID0gdG9vbHRpcC5lbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgdmFyIGRvYyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgc2Nyb2xsUG9zaXRpb24gPSByZWN0LnRvcCAtICgod2luZG93LnBhZ2VZT2Zmc2V0IHx8IGRvYy5zY3JvbGxUb3ApICAtIChkb2MuY2xpZW50VG9wIHx8IDApKTsKICAgIGlmIChzY3JvbGxQb3NpdGlvbiA8IDQwKSB7CiAgICAgIHRvb2x0aXAudGlwLmNsYXNzTmFtZSA9IHRvb2x0aXAudGlwLmNsYXNzTmFtZS5yZXBsYWNlKC8gPyhfYWJvdmV8X2JlbG93KSA/L2csICcnKSArICcgX2JlbG93JzsKICAgIH0gZWxzZSB7<br />
CiAgICAgIHRvb2x0aXAudGlwLmNsYXNzTmFtZSA9IHRvb2x0aXAudGlwLmNsYXNzTmFtZS5yZXBsYWNlKC8gPyhfYWJvdmV8X2JlbG93KSA/L2csICcnKSArICcgX2Fib3ZlJzsKICAgIH0KICB9OwogIHZhciByZXNpemVfdG9vbHRpcHMgPSBmdW5jdGlvbigpIHsKICAgIGlmIChfcmVtb3ZlZCkgcmV0dXJuOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0b29sdGlwcy5sZW5ndGg7IGkrKykgewogICAgICBpZiAoIXRvb2x0aXBzW2ldLm5vX2Fycm93KSByZXNpemVfdG9vbHRpcCh0b29sdGlwc1tpXSk7CiAgICB9CiAgfTsKICB2YXIgdmFsaWRhdGVfZmllbGQgPSBmdW5jdGlvbihlbGVtLCByZW1vdmUpIHsKICAgIHZhciB0b29sdGlwID0gbnVsbCwgdmFsdWUgPSBlbGVtLnZhbHVlLCBub19lcnJvciA9IHRydWU7CiAgICByZW1vdmUgPyByZW1vdmVfdG9vbHRpcChlbGVtKSA6IGZhbHNlOwogICAgaWYgKGVsZW0udHlwZSAhPSAnY2hlY2tib3gnKSBlbGVtLmNsYXNzTmFtZSA9IGVsZW0uY2xhc3NOYW1lLnJlcGxhY2UoLyA/X2hhc19lcnJvciA/L2csICcnKTsKICAgIGlmIChlbGVtLmdldEF0dHJpYnV0ZSgncmVxdWlyZWQnKSAhPT0gbnVsbCkgewogICAgICBpZiAoZWxlbS50eXBlID09ICdyYWRpbycgfHwgKGVsZW0udHlwZSA9PSAnY2hlY2tib3gnICYmIC9hbnkvLnRlc3QoZWxlbS5jbGFzc05hbWUpKSkgewogICAgICAgIHZhciBlbGVtcyA9IGZvcm1fdG9fc3VibWl0LmVsZW1lbnRzW2VsZW0ubmFtZV07CiAgICAgICAgaWYgKCEoZWxlbXMgaW5zdGFuY2VvZiBOb2RlTGlzdCB8fCBlbGVtcyBpbnN0YW5jZW9mIEhUTUxDb2xsZWN0aW9uKSB8fCBlbGVtcy5sZW5ndGggPD0gMSkgewogICAgICAgICAgbm9fZXJyb3IgPSBlbGVtLmNoZWNrZWQ7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgbm9fZXJyb3IgPSBmYWxzZTsKICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGVsZW1zW2ldLmNoZWNrZWQpIG5vX2Vycm9yID0gdHJ1ZTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCFub19lcnJvcikgewogICAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sICJQbGVhc2Ugc2VsZWN0IGFuIG9wdGlvbi4iKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAoZWxlbS50eXBlID09J2NoZWNrYm94JykgewogICAgICAgIHZhciBlbGVtcyA9IGZvcm1fdG9fc3VibWl0LmVsZW1lbnRzW2VsZW0ubmFtZV0sIGZvdW5kID0gZmFsc2UsIGVyciA9IFtdOwogICAgICAgIG5vX2Vycm9yID0gdHJ1ZTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVsZW1zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBpZiAoZWxlbXNbaV0uZ2V0QXR0cmlidXRlKCdyZXF1aXJlZCcpID09PSBudWxsKSBjb250aW51ZTsKICAgICAgICAgIGlmICghZm91bmQgJiYgZWxlbXNbaV0gIT09IGVsZW0pIHJldHVybiB0cnVlOwogICAgICAgICAgZm91bmQgPSB0cnVlOwogICAgICAgICAgZWxlbXNbaV0uY2xhc3NOYW1lID0gZWxlbXNbaV0uY2xhc3NOYW1lLnJlcGxhY2UoLyA/X2hhc19lcnJvciA/L2csICcnKTsKICAgICAgICAgIGlmICghZWxlbXNbaV0uY2hlY2tlZCkgewogICAgICAgICAgICBub19lcnJvciA9IGZhbHNlOwogICAgICAgICAgICBlbGVtc1tpXS5jbGFzc05hbWUgPSBlbGVtc1tpXS5jbGFzc05hbWUgKyAnIF9oYXNfZXJyb3InOwogICAgICAgICAgICBlcnIucHVzaCgiQ2hlY2tpbmcgJXMgaXMgcmVxdWlyZWQiLnJlcGxhY2UoIiVzIiwgZWxlbXNbaV0udmFsdWUpKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCFub19lcnJvcikgewogICAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sIGVyci5qb2luKCc8YnIvPicpKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAoZWxlbS50YWdOYW1lID09ICdTRUxFQ1QnKSB7CiAgICAgICAgdmFyIHNlbGVjdGVkID0gdHJ1ZTsKICAgICAgICBpZiAoZWxlbS5tdWx0aXBsZSkgewogICAgICAgICAgc2VsZWN0ZWQgPSBmYWxzZTsKICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbS5vcHRpb25zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChlbGVtLm9wdGlvbnNbaV0uc2VsZWN0ZWQpIHsKICAgICAgICAgICAgICBzZWxlY3RlZCA9IHRydWU7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtLm9wdGlvbnMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGVsZW0ub3B0aW9uc1tpXS5zZWxlY3RlZCAmJiAhZWxlbS5vcHRpb25zW2ldLnZhbHVlKSB7CiAgICAgICAgICAgICAgc2VsZWN0ZWQgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoIXNlbGVjdGVkKSB7CiAgICAgICAgICBlbGVtLmNsYXNzTmFtZSA9IGVsZW0uY2xhc3NOYW1lICsgJyBfaGFzX2Vycm9yJzsKICAgICAgICAgIG5vX2Vycm9yID0gZmFsc2U7CiAgICAgICAgICB0b29sdGlwID0gY3JlYXRlX3Rvb2x0aXAoZWxlbSwgIlBsZWFzZSBzZWxlY3QgYW4gb3B0aW9uLiIpOwogICAgICAgIH0KICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAnJykgewogICAgICAgIGVsZW0uY2xhc3NOYW1lID0gZWxlbS5jbGFzc05hbWUgKyAnIF9oYXNfZXJyb3InOwogICAgICAgIG5vX2Vycm9yID0gZmFsc2U7CiAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sICJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpOwogICAgICB9CiAgICB9CiAgICBpZiAobm9fZXJyb3IgJiYgZWxlbS5uYW1lID09ICdlbWFpbCcpIHsKICAgICAgaWYgKCF2YWx1ZS5tYXRjaCgvXltcK19hLXowLTktJyY9XSsoXC5bXCtfYS16MC05LSddKykqQFthLXowLTktXSsoXC5bYS16MC05LV0rKSooXC5bYS16XXsyLH0pJC9pKSkgewogICAgICAgIGVsZW0uY2xhc3NOYW1lID0gZWxlbS5jbGFzc05hbWUgKyAnIF9oYXNfZXJyb3InOwogICAgICAgIG5vX2Vycm9yID0gZmFsc2U7CiAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sICJFbnRlciBhIHZhbGlkIGVtYWlsIGFkZHJlc3MuIik7CiAgICAgIH0KICAgIH0KICAgIGlmIChub19lcnJvciAmJiAvZGF0ZV9maWVsZC8udGVzdChlbGVtLmNsYXNzTmFtZSkpIHsKICAgICAgaWYgKCF2YWx1ZS5tYXRjaCgvXlxkXGRcZFxkLVxkXGQtXGRcZCQvKSkgewogICAgICAgIGVsZW0uY2xhc3NOYW1lID0gZWxlbS5jbGFzc05hbWUgKyAnIF9oYXNfZXJyb3InOwogICAgICAgIG5vX2Vycm9yID0gZmFsc2U7CiAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sICJFbnRlciBhIHZhbGlkIGRhdGUuIik7CiAgICAgIH0KICAgIH0KICAgIHRvb2x0aXAgPyByZXNpemVfdG9vbHRpcCh0b29sdGlwKSA6IGZhbHNlOwogICAgcmV0dXJuIG5vX2Vycm9yOwogIH07CiAgdmFyIG5lZWRzX3ZhbGlkYXRlID0gZnVuY3Rpb24oZWwpIHsKICAgIHJldHVybiBlbC5uYW1lID09ICdlbWFpbCcgfHwgZWwuZ2V0QXR0cmlidXRlKCdyZXF1aXJlZCcpICE9PSBudWxsOwogIH07CiAgdmFyIHZhbGlkYXRlX2Zvcm0gPSBmdW5jdGlvbihlKSB7CiAgICB2YXIgZXJyID0gZm9ybV90b19zdWJtaXQucXVlcnlTZWxlY3RvcignLl9mb3JtX2Vycm9yJyksIG5vX2Vycm9yID0gdHJ1ZTsKICAgIGlmICghc3VibWl0dGVkKSB7CiAgICAgIHN1Ym1pdHRlZCA9IHRydWU7CiAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBhbGxJbnB1dHMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICB2YXIgaW5wdXQgPSBhbGxJbnB1dHNbaV07CiAgICAgICAgaWYgKG5lZWRzX3ZhbGlkYXRlKGlucHV0KSkgewogICAgICAgICAgaWYgKGlucHV0LnR5cGUgPT0gJ3RleHQnKSB7CiAgICAgICAgICAgIGFkZEV2ZW50KGlucHV0LCAnYmx1cicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLnRyaW0oKTsKICAgICAgICAgICAgICB2YWxpZGF0ZV9maWVsZCh0aGlzLCB0cnVlKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGFkZEV2ZW50KGlucHV0LCAnaW5wdXQnLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB2YWxpZGF0ZV9maWVsZCh0aGlzLCB0cnVlKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9IGVsc2UgaWYgKGlucHV0LnR5cGUgPT0gJ3JhZGlvJyB8fCBpbnB1dC50eXBlID09ICdjaGVja2JveCcpIHsKICAgICAgICAgICAgKGZ1bmN0aW9uKGVsKSB7CiAgICAgICAgICAgICAgdmFyIHJhZGlvcyA9IGZvcm1fdG9fc3VibWl0LmVsZW1lbnRzW2VsLm5hbWVdOwogICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmFkaW9zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICBhZGRFdmVudChyYWRpb3NbaV0sICdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICB2YWxpZGF0ZV9maWVsZChlbCwgdHJ1ZSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKGlucHV0KTsKICAgICAgICAgIH0gZWxzZSBpZiAoaW5wdXQudGFnTmFtZSA9PSAnU0VMRUNUJykgewogICAgICAgICAgICBhZGRFdmVudChpbnB1dCwgJ2NoYW5nZScsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHZhbGlkYXRlX2ZpZWxkKHRoaXMsIHRydWUpOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIHJlbW92ZV90b29sdGlwcygpOwogICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGFsbElucHV0cy5sZW5ndGg7IGkgPCBsZW47IGkrKykgewogICAgICB2YXIgZWxlbSA9IGFsbElucHV0c1tpXTsKICAgICAgaWYgKG5lZWRzX3ZhbGlkYXRlKGVsZW0pKSB7CiAgICAgICAgaWYgKGVsZW0udGFnTmFtZS50b0xvd2VyQ2FzZSgpICE9PSAic2VsZWN0IikgewogICAgICAgICAgZWxlbS52YWx1ZSA9IGVsZW0udmFsdWUudHJpbSgpOwogICAgICAgIH0KICAgICAgICB2YWxpZGF0ZV9maWVsZChlbGVtKSA/IHRydWUgOiBub19lcnJvciA9IGZhbHNlOwogICAgICB9CiAgICB9CiAgICBpZiAoIW5vX2Vycm9yICYmIGUpIHsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgfQogICAgcmVzaXplX3Rvb2x0aXBzKCk7CiAgICByZXR1cm4gbm9fZXJyb3I7CiAgfTsKICBhZGRFdmVudCh3aW5kb3csICdyZXNpemUnLCByZXNpemVfdG9vbHRpcHMpOwogIGFkZEV2ZW50KHdpbmRvdywgJ3Njcm9sbCcsIHJlc2l6ZV90b29sdGlwcyk7CiAgd2luZG93Ll9vbGRfc2VyaWFsaXplID0gbnVsbDsKICBpZiAodHlwZW9mIHNlcmlhbGl6ZSAhPT0gJ3VuZGVmaW5lZCcpIHdpbmRvdy5fb2xkX3NlcmlhbGl6ZSA9IHdpbmRvdy5zZXJpYWxpemU7CiAgX2xvYWRfc2NyaXB0KCIvL2QzcnhhaWo1NnZqZWdlLmNsb3VkZnJvbnQubmV0L2Zvcm0tc2VyaWFsaXplLzAuMy9zZXJpYWxpemUubWluLmpzIiwgZnVuY3Rpb24oKSB7CiAgICB3aW5kb3cuX2Zvcm1fc2VyaWFsaXplID0gd2luZG93LnNlcmlhbGl6ZTsKICAgIGlmICh3aW5kb3cuX29sZF9zZXJpYWxpemUpIHdpbmRvdy5zZXJpYWxpemUgPSB3aW5kb3cuX29sZF9zZXJpYWxpemU7CiAgfSk7CiAgdmFyIGZvcm1fc3VibWl0ID0gZnVuY3Rpb24oZSkgewogICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgaWYgKHZhbGlkYXRlX2Zvcm0oKSkgewogICAgICAvLyB1c2UgdGhpcyB0cmljayB0byBnZXQgdGhlIHN1Ym1pdCBidXR0b24gJiBkaXNhYmxlIGl0IHVzaW5nIHBsYWluIGphdmFzY3JpcHQKICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI19mb3JtXzlfc3VibWl0JykuZGlzYWJsZWQgPSB0cnVlOwogICAgICAgICAgICB2YXIgc2VyaWFsaXplZCA9IF9mb3JtX3NlcmlhbGl6ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX2Zvcm1fOV8nKSk7CiAgICAgIHZhciBlcnIgPSBmb3JtX3RvX3N1Ym1pdC5xdWVyeVNlbGVjdG9yKCcuX2Zvcm1fZXJyb3InKTsKICAgICAgZXJyID8gZXJyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZXJyKSA6IGZhbHNlOwogICAgICBfbG9hZF9zY3JpcHQoJ2h0dHBzOi8vY2Z<br />
0ZS5hY3RpdmVob3N0ZWQuY29tL3Byb2MucGhwPycgKyBzZXJpYWxpemVkICsgJyZqc29ucD10cnVlJyk7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfTsKICBhZGRFdmVudChmb3JtX3RvX3N1Ym1pdCwgJ3N1Ym1pdCcsIGZvcm1fc3VibWl0KTsKfSkoKTsKCjwvc2NyaXB0Pg==[/fusion_code][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container][fusion_builder_container admin_label=&#8221;Mobile&#8221; hundred_percent=&#8221;yes&#8221; hundred_percent_height=&#8221;no&#8221; hundred_percent_height_scroll=&#8221;no&#8221; hundred_percent_height_center_content=&#8221;yes&#8221; equal_height_columns=&#8221;no&#8221; menu_anchor=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;center center&#8221; background_repeat=&#8221;no-repeat&#8221; fade=&#8221;no&#8221; background_parallax=&#8221;none&#8221; enable_mobile=&#8221;no&#8221; parallax_speed=&#8221;0.3&#8243; video_mp4=&#8221;&#8221; video_webm=&#8221;&#8221; video_ogv=&#8221;&#8221; video_url=&#8221;&#8221; video_aspect_ratio=&#8221;16:9&#8243; video_loop=&#8221;yes&#8221; video_mute=&#8221;yes&#8221; video_preview_image=&#8221;&#8221; border_size=&#8221;&#8221; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; padding_top=&#8221;2%&#8221; padding_right=&#8221;2%&#8221; padding_bottom=&#8221;2%&#8221; padding_left=&#8221;2%&#8221; admin_toggled=&#8221;no&#8221;][fusion_builder_row][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;yes&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;&#8221; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;2%&#8221; padding_right=&#8221;2%&#8221; padding_bottom=&#8221;2%&#8221; padding_left=&#8221;2%&#8221; margin_top=&#8221;0px&#8221; margin_bottom=&#8221;0px&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_text columns=&#8221;&#8221; column_min_width=&#8221;&#8221; column_spacing=&#8221;&#8221; rule_style=&#8221;default&#8221; rule_size=&#8221;&#8221; rule_color=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221;]</p>
<h1 style="text-align: center;"><span style="font-family: Arial; color: #993300; font-size: 36px;">4 Fintech Trends That Will Transform 2019</span></h1>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7505" src="https://www.cfte.education/wp-content/uploads/2018/12/iseu3-2.jpg" alt="fintech trends 2019 predictions" width="750" height="500" /><br />
<span style="font-family: Arial;"><span style="font-weight: 400;">The past twelve months proved to be a banner year for Fintech, read more about that in our </span><a href="https://www.cfte.education/2018/12/18/fintech-summary-2018/"><span style="font-weight: 400;">summary of the industry in 2018</span></a><span style="font-weight: 400;">, as emerging technologies like artificial intelligence and machine learning created many new applications in financial services. Can the same be expected for the next calendar year? </span><b><i>Absolutely</i></b><span style="font-weight: 400;">. </span></span><br />
<span style="font-weight: 400; font-family: Arial;">Below, we outline <strong>four key Fintech trends</strong> that will likely <strong>transform financial services in some way in 2019. </strong></span></p>
<h2 style="text-align: left;"><strong><span style="font-family: Arial; color: #993300;">1. Artificial Intelligence Sees Increased Adoption</span></strong></h2>
<p><span style="font-weight: 400; font-family: Arial;">After observing the impact of Artificial Intelligence across many other industries, we are truly witnessing the positive consequences of its effective implementation in Finance. 2019 will see greater adoption of Artificial Intelligence in financial services applications, backed by machine learning. </span><br />
<span style="font-weight: 400; font-family: Arial;"><strong>David Sosna</strong>, co-founder &amp; CEO of Personetics, claims</span></p>
<blockquote><p><span style="font-family: Arial;">“Self-Driving Finance is a practical implementation of AI that is already used in one form or another by millions of bank customers around the globe and will only get better in the coming years. Based on projects that are currently underway with banks at different parts of the world<i>, I see a big uptake in the number of customers that will rely on AI to ‘drive’ their finances and take automated actions to help them reach their financial goals</i>.”</span></p></blockquote>
<p><span style="font-weight: 400; font-family: Arial;">Furthermore, consumers can expect more prominent voice-operated assistants in banking, with the likes of OCBC Bank partnering with Google to recently launch the first AI-powered voice banking service in Singapore. The service can converse with customers about bank services like future savings, nearby ATMs and calculate loan interests.</span></p>
<h2><span style="font-family: Arial; color: #993300;">2. Blockchain and Financial Inclusion</span></h2>
<p><span style="font-family: Arial;"><span style="font-weight: 400;">In 2019, Blockchain will enable financial inclusion for more individuals than ever before, by offering the unbanked easy access to a verifiable online identity. Most of this will occur in regions with poor entry-level banking accessibility, such as South Asia, Africa and Latin America. An IBM study expects </span><a href="https://www-03.ibm.com/press/us/en/pressrelease/50617.wss"><span style="font-weight: 400;">65 percent of banks</span></a><span style="font-weight: 400;"> to have adopted blockchain technology by 2019’s end.</span></span><br />
<span style="font-weight: 400; font-family: Arial;">This increase will mean a massive amount of people newly contributing to the global economy, and will generate more opportunities for individuals and businesses to improve their financial standing and grow by building credit.</span></p>
<h2><span style="color: #993300; font-family: Arial;">3. Growth of Mobile Payments</span></h2>
<p><span style="font-family: Arial;"><span style="font-weight: 400;">Already an enormous industry, </span><a href="https://www.gsma.com/mobilefordevelopment/wp-content/uploads/2018/05/GSMA_2017_State_of_the_Industry_Report_on_Mobile_Money_Full_Report.pdf"><span style="font-weight: 400;">processing over a billion dollars daily in 2017</span></a><span style="font-weight: 400;">, the mobile banking and payments sector will see meteoric growth through the new year, with widespread adoption coming through areas of significant financial exclusion, such as Latin America, South Asia and sub-Saharan Africa. In the latter, 21 percent held a mobile money account in 2017, </span><a href="https://www.fintechnews.org/can-blockchain-help-bank-the-unbanked-in-sub-saharan-africa/"><span style="font-weight: 400;">which is double the figure of 2014</span></a><span style="font-weight: 400;">, illustrating the growing trajectory of adoption in underdeveloped banking regions. </span></span><br />
<span style="font-weight: 400; font-family: Arial;">Tied into blockchain technology, it will provide individuals an accessible method of becoming part of the financial ecosystem without approaching the high barriers to entry offered by traditional banking. This is driven by unanimous adoption of smartphones, which when coupled with access to the internet provides users the opportunity of financial management without the necessity of opening a traditional bank account at a retail location, a problem for plenty in rural areas.</span></p>
<h2><span style="color: #993300;"><strong><span style="font-family: Arial;">4. Rise of Digital Banks</span></strong></span></h2>
<p><span style="font-family: Arial;"><span style="font-weight: 400;">Traditional banking has had a </span>successful and<span style="font-weight: 400;"> prosperous long run. While it would be premature to ring the death knell for the incumbents in finance, they are definitely very concerned about the rise of digital-only banks. Banks without a physical presence, so no waiting in lines to open an account or to seek financial guidance. Banks with financial services you can receive from the comfort of your homes and offices, at the tap of an app or secured website.</span></span><br />
<span style="font-family: Arial;"><span style="font-weight: 400;"> These digital-only banks are gaining rapid momentum with millenials, with bank visits expected to </span><a href="https://thefinancialbrand.com/66228/bank-credit-union-branch-traffic/"><span style="font-weight: 400;">drop 36 percent by 2022</span></a><span style="font-weight: 400;">. Investors are also taking sharply to the concept of a banking institution without a physical presence, with Monzo recently raising £20m &#8211; the l</span><a href="https://www.cfte.education/2018/12/05/the-largest-ever-crowdfunding-round-for-a-fintech-startup-completed-in-2-hours/"><span style="font-weight: 400;">argest ever crowdfunding round for a Fintech startup</span></a> <span style="font-weight: 400;">&#8211; in just 2 hours earlier this month. Another instance can be found in Revolut, a finance app that facilitates worldwide currency and cryptocurrency exchange. As of late 2018, Revolut has more than 2 million users, with around 8,000 new users signing up for the service on a daily basis.</span></span></p>
<h2><strong><span style="font-family: Arial; color: #993300;">How can I get prepared for Fintech in 2019?</span></strong></h2>
<p><span style="font-family: Arial;"><span style="font-weight: 400;">Understanding the intricacies of financial technology has never been more important to succeed in finance. Luckily, CFTE has bridged this knowledge gap with our </span><a href="http://bit.ly/2PHabHH"><span style="font-weight: 400;">Fintech Foundation Course</span></a><span style="font-weight: 400;"> &#8212; designed for learners to get a solid foundation in Fintech concepts, applicable for beginners &amp; professionals.</span> <span style="font-weight: 400;">Feel free to join our courses above, or sign up to our weekly newsletter after the jump below!</span></span><br />
[/fusion_text][/fusion_builder_column][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;2%&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;1%&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_separator style_type=&#8221;default&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; sep_color=&#8221;&#8221; top_margin=&#8221;&#8221; bottom_margin=&#8221;2%&#8221; border_size=&#8221;2&#8243; icon=&#8221;&#8221; icon_circle=&#8221;&#8221; icon_circle_color=&#8221;&#8221; width=&#8221;&#8221; alignment=&#8221;center&#8221; /][/fusion_builder_column][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;relatedPostsMobile&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;0%&#8221; padding_right=&#8221;2%&#8221; padding_bottom=&#8221;0%&#8221; padding_left=&#8221;2%&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_text columns=&#8221;&#8221; column_min_width=&#8221;&#8221; column_spacing=&#8221;&#8221; rule_style=&#8221;default&#8221; rule_size=&#8221;&#8221; rule_color=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221;]</p>
<h3>Related Posts</h3>
<p>[/fusion_text][fusion_separator style_type=&#8221;default&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; sep_color=&#8221;&#8221; top_margin=&#8221;10%&#8221; bottom_margin=&#8221;&#8221; border_size=&#8221;0&#8243; icon=&#8221;&#8221; icon_circle=&#8221;&#8221; icon_circle_color=&#8221;&#8221; width=&#8221;&#8221; alignment=&#8221;center&#8221; /][fusion_builder_row_inner][fusion_builder_column_inner type=&#8221;1_1&#8243; layout=&#8221;1_3&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; hover_type=&#8221;none&#8221; link=&#8221;&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogPost&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; padding_top=&#8221;&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221; border_position=&#8221;all&#8221;][fusion_recent_posts layout=&#8221;default&#8221; hover_type=&#8221;none&#8221; columns=&#8221;1&#8243; number_posts=&#8221;1&#8243; offset=&#8221;0&#8243; pull_by=&#8221;category&#8221; cat_slug=&#8221;artificial-intelligence,insights,news,recent&#8221; exclude_cats=&#8221;&#8221; tag_slug=&#8221;&#8221; exclude_tags=&#8221;&#8221; thumbnail=&#8221;yes&#8221; title=&#8221;yes&#8221; meta=&#8221;yes&#8221; meta_author=&#8221;no&#8221; meta_categories=&#8221;no&#8221; meta_date=&#8221;yes&#8221; meta_comments=&#8221;no&#8221; meta_tags=&#8221;no&#8221; content_alignment=&#8221;&#8221; excerpt=&#8221;no&#8221; excerpt_length=&#8221;0&#8243; strip_html=&#8221;yes&#8221; scrolling=&#8221;no&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogImage&#8221; id=&#8221;BlogImage&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; /][/fusion_builder_column_inner][fusion_builder_column_inner type=&#8221;1_1&#8243; layout=&#8221;1_3&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; hover_type=&#8221;none&#8221; link=&#8221;&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogPost&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; padding_top=&#8221;&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221; border_position=&#8221;all&#8221;][fusion_recent_posts layout=&#8221;default&#8221; hover_type=&#8221;none&#8221; columns=&#8221;1&#8243; number_posts=&#8221;1&#8243; offset=&#8221;4&#8243; pull_by=&#8221;category&#8221; cat_slug=&#8221;artificial-intelligence,insights,news&#8221; exclude_cats=&#8221;&#8221; tag_slug=&#8221;&#8221; exclude_tags=&#8221;&#8221; thumbnail=&#8221;yes&#8221; title=&#8221;yes&#8221; meta=&#8221;yes&#8221; meta_author=&#8221;no&#8221; meta_categories=&#8221;no&#8221; meta_date=&#8221;yes&#8221; meta_comments=&#8221;no&#8221; meta_tags=&#8221;no&#8221; content_alignment=&#8221;&#8221; excerpt=&#8221;no&#8221; excerpt_length=&#8221;0&#8243; strip_html=&#8221;yes&#8221; scrolling=&#8221;no&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogImage&#8221; id=&#8221;BlogImage&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; /][/fusion_builder_column_inner][fusion_builder_column_inner type=&#8221;1_1&#8243; layout=&#8221;1_3&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; hover_type=&#8221;none&#8221; link=&#8221;&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogPost&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; padding_top=&#8221;&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221; border_position=&#8221;all&#8221;][fusion_recent_posts layout=&#8221;default&#8221; hover_type=&#8221;none&#8221; columns=&#8221;1&#8243; number_posts=&#8221;1&#8243; offset=&#8221;7&#8243; pull_by=&#8221;category&#8221; cat_slug=&#8221;artificial-intelligence,insights,news&#8221; exclude_cats=&#8221;&#8221; tag_slug=&#8221;&#8221; exclude_tags=&#8221;&#8221; thumbnail=&#8221;yes&#8221; title=&#8221;yes&#8221; meta=&#8221;yes&#8221; meta_author=&#8221;no&#8221; meta_categories=&#8221;no&#8221; meta_date=&#8221;yes&#8221; meta_comments=&#8221;no&#8221; meta_tags=&#8221;no&#8221; content_alignment=&#8221;&#8221; excerpt=&#8221;no&#8221; excerpt_length=&#8221;0&#8243; strip_html=&#8221;yes&#8221; scrolling=&#8221;no&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogImage&#8221; id=&#8221;BlogImage&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; /][/fusion_builder_column_inner][/fusion_builder_row_inner][/fusion_builder_column][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;2%&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;1%&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_separator style_type=&#8221;default&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; sep_color=&#8221;&#8221; top_margin=&#8221;&#8221; bottom_margin=&#8221;&#8221; border_size=&#8221;2&#8243; icon=&#8221;&#8221; icon_circle=&#8221;&#8221; icon_circle_color=&#8221;&#8221; width=&#8221;&#8221; alignment=&#8221;center&#8221; /][/fusion_builder_column][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_code]PHN0eWxlPgogI19mb3JtXzlfIHsgZm9udC1zaXplOjE0cHg7IGxpbmUtaGVpZ2h0OjEuNjsgZm9udC1mYW1pbHk6YXJpYWwsIGhlbHZldGljYSwgc2Fucy1zZXJpZjsgbWFyZ2luOjA7IH0KICNfZm9ybV85XyAqIHsgb3V0bGluZTowOyB9CiAuX2Zvcm1faGlkZSB7IGRpc3BsYXk6bm9uZTsgdmlzaWJpbGl0eTpoaWRkZW47IH0KIC5fZm9ybV9zaG93IHsgZGlzcGxheTpibG9jazsgdmlzaWJpbGl0eTp2aXNpYmxlOyB9CiAjX2Zvcm1fOV8uX2Zvcm0tdG9wIHsgdG9wOjA7IH0KICNfZm9ybV85Xy5fZm9ybS1ib3R0b20geyBib3R0b206MDsgfQogI19mb3JtXzlfLl9mb3JtLWxlZnQgeyBsZWZ0OjA7IH0KICNfZm9ybV85Xy5fZm9ybS1yaWdodCB7IHJpZ2h0OjA7IH0KICNfZm9ybV85XyBpbnB1dFt0eXBlPSJ0ZXh0Il0sI19mb3JtXzlfIGlucHV0W3R5cGU9ImRhdGUiXSwjX2Zvcm1fOV8gdGV4dGFyZWEgeyBwYWRkaW5nOjZweDsgaGVpZ2h0OmF1dG87IGJvcmRlcjojOTc5Nzk3IDFweCBzb2xpZDsgYm9yZGVyLXJhZGl1czo0cHg7IGNvbG9yOiMwMDAgIWltcG9ydGFudDsgZm9udC1zaXplOjEzcHg7IC13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94OyAtbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDsgYm94LXNpemluZzpib3JkZXItYm94OyB9CiAjX2Zvcm1fOV8gdGV4dGFyZWEgeyByZXNpemU6bm9uZTsgfQogI19mb3JtXzlfIC5fc3VibWl0IHsgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7IGN1cnNvcjpwb2ludGVyOyBmb250LWZhbWlseTphcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHg7IHRleHQtYWxpZ246Y2VudGVyOyBiYWNrZ3JvdW5kOiM4ZjA3MDcgIWltcG9ydGFudDsgYm9yZGVyOjAgIWltcG9ydGFudDsgLW1vei1ib3JkZXItcmFkaXVzOjRweCAhaW1wb3J0YW50OyAtd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4ICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6NHB4ICFpbXBvcnRhbnQ7IGNvbG9yOiNmZmYgIWltcG9ydGFudDsgcGFkZGluZzoxMHB4ICFpbXBvcnRhbnQ7IH0KICNfZm9ybV85XyAuX2Nsb3NlLWljb24geyBjdXJzb3I6cG9pbnRlcjsgYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vZDIyNmFqNGFvMXQ2MXEuY2xvdWRmcm9udC5uZXQvZXNma3lqaDF1X2Zvcm1zLWNsb3NlLWRhcmsucG5nJyk7IGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsgYmFja2dyb3VuZC1zaXplOjE0LjJweCAxNC4ycHg7IHBvc2l0aW9uOmFic29sdXRlOyBkaXNwbGF5OmJsb2NrOyB0b3A6MTFweDsgcmlnaHQ6OXB4OyBvdmVyZmxvdzpoaWRkZW47IHdpZHRoOjE2LjJweDsgaGVpZ2h0OjE2LjJweDsgfQogI19mb3JtXzlfIC5fY2xvc2UtaWNvbjpiZWZvcmUgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgfQogI19mb3JtXzlfIC5fZm9ybS1ib2R5IHsgbWFyZ2luLWJvdHRvbTozMHB4OyB9CiAjX2Zvcm1fOV8gLl9mb3JtLWltYWdlLWxlZnQgeyB3aWR0aDoxNTBweDsgZmxvYXQ6bGVmdDsgfQogI19mb3JtXzlfIC5fZm9ybS1jb250ZW50LXJpZ2h0IHsgbWFyZ2luLWxlZnQ6MTY0cHg7IH0KICNfZm9ybV85XyAuX2Zvcm0tYnJhbmRpbmcgeyBjb2xvcjojZmZmOyBmb250LXNpemU6MTBweDsgY2xlYXI6Ym90aDsgdGV4dC1hbGlnbjpsZWZ0OyBtYXJnaW4tdG9wOjMwcHg7IGZvbnQtd2VpZ2h0OjEwMDsgfQogI19mb3JtXzlfIC5fZm9ybS1icmFuZGluZyAuX2xvZ28geyBkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMzBweDsgaGVpZ2h0OjE0cHg7IG1hcmdpbi10b3A6NnB4OyBiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly9kMjI2YWo0YW8xdDYxcS5jbG91ZGZyb250Lm5ldC9oaDl1anFndjVfYWNsb2dvX2xpLnBuZycpOyBiYWNrZ3JvdW5kLXNpemU6MTMwcHggYXV0bzsgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OyB9CiAjX2Zvcm1fOV8gLl9mb3JtLWxhYmVsLCNfZm9ybV85XyAuX2Zvcm1fZWxlbWVudCAuX2Zvcm0tbGFiZWwgeyBmb250LXdlaWdo<br />
dDpib2xkOyBtYXJnaW4tYm90dG9tOjVweDsgZGlzcGxheTpibG9jazsgfQogI19mb3JtXzlfLl9kYXJrIC5fZm9ybS1icmFuZGluZyB7IGNvbG9yOiMzMzM7IH0KICNfZm9ybV85Xy5fZGFyayAuX2Zvcm0tYnJhbmRpbmcgLl9sb2dvIHsgYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vZDIyNmFqNGFvMXQ2MXEuY2xvdWRmcm9udC5uZXQvamZ0cTJjOHNfYWNsb2dvX2RrLnBuZycpOyB9CiAjX2Zvcm1fOV8gLl9mb3JtX2VsZW1lbnQgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgbWFyZ2luLWJvdHRvbToxMHB4OyBmb250LXNpemU6MDsgbWF4LXdpZHRoOjEwMCU7IH0KICNfZm9ybV85XyAuX2Zvcm1fZWxlbWVudCAqIHsgZm9udC1zaXplOjE0cHg7IH0KICNfZm9ybV85XyAuX2Zvcm1fZWxlbWVudC5fY2xlYXIgeyBjbGVhcjpib3RoOyB3aWR0aDoxMDAlOyBmbG9hdDpub25lOyB9CiAjX2Zvcm1fOV8gLl9mb3JtX2VsZW1lbnQuX2NsZWFyOmFmdGVyIHsgY2xlYXI6bGVmdDsgfQogI19mb3JtXzlfIC5fZm9ybV9lbGVtZW50IGlucHV0W3R5cGU9InRleHQiXSwjX2Zvcm1fOV8gLl9mb3JtX2VsZW1lbnQgaW5wdXRbdHlwZT0iZGF0ZSJdLCNfZm9ybV85XyAuX2Zvcm1fZWxlbWVudCBzZWxlY3QsI19mb3JtXzlfIC5fZm9ybV9lbGVtZW50IHRleHRhcmVhOm5vdCguZy1yZWNhcHRjaGEtcmVzcG9uc2UpIHsgZGlzcGxheTpibG9jazsgd2lkdGg6MTAwJTsgLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7IC1tb3otYm94LXNpemluZzpib3JkZXItYm94OyBib3gtc2l6aW5nOmJvcmRlci1ib3g7IH0KICNfZm9ybV85XyAuX2ZpZWxkLXdyYXBwZXIgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgfQogI19mb3JtXzlfIC5faW5saW5lLXN0eWxlIHsgZmxvYXQ6bGVmdDsgfQogI19mb3JtXzlfIC5faW5saW5lLXN0eWxlIGlucHV0W3R5cGU9InRleHQiXSB7IHdpZHRoOjE1MHB4OyB9CiAjX2Zvcm1fOV8gLl9pbmxpbmUtc3R5bGU6bm90KC5fY2xlYXIpICsgLl9pbmxpbmUtc3R5bGU6bm90KC5fY2xlYXIpIHsgbWFyZ2luLWxlZnQ6MjBweDsgfQogI19mb3JtXzlfIC5fZm9ybV9lbGVtZW50IGltZy5fZm9ybS1pbWFnZSB7IG1heC13aWR0aDoxMDAlOyB9CiAjX2Zvcm1fOV8gLl9jbGVhci1lbGVtZW50IHsgY2xlYXI6bGVmdDsgfQogI19mb3JtXzlfIC5fZnVsbF93aWR0aCB7IHdpZHRoOjEwMCU7IH0KICNfZm9ybV85XyAuX2Zvcm1fZnVsbF9maWVsZCB7IGRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IG1hcmdpbi1ib3R0b206MTBweDsgfQogI19mb3JtXzlfIGlucHV0W3R5cGU9InRleHQiXS5faGFzX2Vycm9yLCNfZm9ybV85XyB0ZXh0YXJlYS5faGFzX2Vycm9yIHsgYm9yZGVyOiNmMzdjN2IgMXB4IHNvbGlkOyB9CiAjX2Zvcm1fOV8gaW5wdXRbdHlwZT0iY2hlY2tib3giXS5faGFzX2Vycm9yIHsgb3V0bGluZTojZjM3YzdiIDFweCBzb2xpZDsgfQogI19mb3JtXzlfIC5fZXJyb3IgeyBkaXNwbGF5OmJsb2NrOyBwb3NpdGlvbjphYnNvbHV0ZTsgZm9udC1zaXplOjEzcHg7IHotaW5kZXg6MTAwMDAwMDE7IH0KICNfZm9ybV85XyAuX2Vycm9yLl9hYm92ZSB7IHBhZGRpbmctYm90dG9tOjRweDsgdG9wOi00MXB4OyByaWdodDowOyB9CiAjX2Zvcm1fOV8gLl9lcnJvci5fYmVsb3cgeyBwYWRkaW5nLXRvcDo0cHg7IHRvcDoxMDAlOyByaWdodDowOyB9CiAjX2Zvcm1fOV8gLl9lcnJvci5fYWJvdmUgLl9lcnJvci1hcnJvdyB7IGJvdHRvbTowOyByaWdodDoxNXB4OyBib3JkZXItbGVmdDo1cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1yaWdodDo1cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci10b3A6NXB4IHNvbGlkICNmMzdjN2I7IH0KICNfZm9ybV85XyAuX2Vycm9yLl9iZWxvdyAuX2Vycm9yLWFycm93IHsgdG9wOjA7IHJpZ2h0OjE1cHg7IGJvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLXJpZ2h0OjVweCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLWJvdHRvbTo1cHggc29saWQgI2YzN2M3YjsgfQogI19mb3JtXzlfIC5fZXJyb3ItaW5uZXIgeyBwYWRkaW5nOjhweCAxMnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNmMzdjN2I7IGZvbnQtc2l6ZToxM3B4OyBmb250LWZhbWlseTphcmlhbCwgc2Fucy1zZXJpZjsgY29sb3I6I2ZmZjsgdGV4dC1hbGlnbjpjZW50ZXI7IHRleHQtZGVjb3JhdGlvbjpub25lOyAtd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4OyAtbW96LWJvcmRlci1yYWRpdXM6NHB4OyBib3JkZXItcmFkaXVzOjRweDsgfQogI19mb3JtXzlfIC5fZXJyb3ItaW5uZXIuX2Zvcm1fZXJyb3IgeyBtYXJnaW4tYm90dG9tOjVweDsgdGV4dC1hbGlnbjpsZWZ0OyB9CiAjX2Zvcm1fOV8gLl9idXR0b24td3JhcHBlciAuX2Vycm9yLWlubmVyLl9mb3JtX2Vycm9yIHsgcG9zaXRpb246c3RhdGljOyB9CiAjX2Zvcm1fOV8gLl9lcnJvci1pbm5lci5fbm9fYXJyb3cgeyBtYXJnaW4tYm90dG9tOjEwcHg7IH0KICNfZm9ybV85XyAuX2Vycm9yLWFycm93IHsgcG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOjA7IGhlaWdodDowOyB9CiAjX2Zvcm1fOV8gLl9lcnJvci1odG1sIHsgbWFyZ2luLWJvdHRvbToxMHB4OyB9CiAucGlrYS1zaW5nbGUgeyB6LWluZGV4OjEwMDAwMDAxICFpbXBvcnRhbnQ7IH0KIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6MzIwcHgpIGFuZCAobWF4LXdpZHRoOjY2N3B4KSB7IDo6LXdlYmtpdC1zY3JvbGxiYXIgeyBkaXNwbGF5Om5vbmU7IH0KICNfZm9ybV85XyB7IG1hcmdpbjowOyB3aWR0aDoxMDAlOyBtaW4td2lkdGg6MTAwJTsgbWF4LXdpZHRoOjEwMCU7IGJveC1zaXppbmc6Ym9yZGVyLWJveDsgfQogI19mb3JtXzlfICogeyAtd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDsgLW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7IGJveC1zaXppbmc6Ym9yZGVyLWJveDsgZm9udC1zaXplOjFlbTsgfQogI19mb3JtXzlfIC5fZm9ybS1jb250ZW50IHsgbWFyZ2luOjA7IHdpZHRoOjEwMCU7IH0KICNfZm9ybV85XyAuX2Zvcm0taW5uZXIgeyBkaXNwbGF5OmJsb2NrOyBtaW4td2lkdGg6MTAwJTsgfQogI19mb3JtXzlfIC5fZm9ybS10aXRsZSwjX2Zvcm1fOV8gLl9pbmxpbmUtc3R5bGUgeyBtYXJnaW4tdG9wOjA7IG1hcmdpbi1yaWdodDowOyBtYXJnaW4tbGVmdDowOyB9CiAjX2Zvcm1fOV8gLl9mb3JtLXRpdGxlIHsgZm9udC1zaXplOjEuMmVtOyB9CiAjX2Zvcm1fOV8gLl9mb3JtX2VsZW1lbnQgeyBtYXJnaW46MCAwIDIwcHg7IHBhZGRpbmc6MDsgd2lkdGg6MTAwJTsgfQogI19mb3JtXzlfIC5fZm9ybS1lbGVtZW50LCNfZm9ybV85XyAuX2lubGluZS1zdHlsZSwjX2Zvcm1fOV8gaW5wdXRbdHlwZT0idGV4dCJdLCNfZm9ybV85XyBsYWJlbCwjX2Zvcm1fOV8gcCwjX2Zvcm1fOV8gdGV4dGFyZWE6bm90KC5nLXJlY2FwdGNoYS1yZXNwb25zZSkgeyBmbG9hdDpub25lOyBkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyB9CiAjX2Zvcm1fOV8gLl9yb3cuX2NoZWNrYm94LXJhZGlvIGxhYmVsIHsgZGlzcGxheTppbmxpbmU7IH0KICNfZm9ybV85XyAuX3JvdywjX2Zvcm1fOV8gcCwjX2Zvcm1fOV8gbGFiZWwgeyBtYXJnaW4tYm90dG9tOjAuN2VtOyB3aWR0aDoxMDAlOyB9CiAjX2Zvcm1fOV8gLl9yb3cgaW5wdXRbdHlwZT0iY2hlY2tib3giXSwjX2Zvcm1fOV8gLl9yb3cgaW5wdXRbdHlwZT0icmFkaW8iXSB7IG1hcmdpbjowICFpbXBvcnRhbnQ7IHZlcnRpY2FsLWFsaWduOm1pZGRsZSAhaW1wb3J0YW50OyB9CiAjX2Zvcm1fOV8gLl9yb3cgaW5wdXRbdHlwZT0iY2hlY2tib3giXSArIHNwYW4gbGFiZWwgeyBkaXNwbGF5OmlubGluZTsgfQogI19mb3JtXzlfIC5fcm93IHNwYW4gbGFiZWwgeyBtYXJnaW46MCAhaW1wb3J0YW50OyB3aWR0aDppbml0aWFsICFpbXBvcnRhbnQ7IHZlcnRpY2FsLWFsaWduOm1pZGRsZSAhaW1wb3J0YW50OyB9CiAjX2Zvcm1fOV8gLl9mb3JtLWltYWdlIHsgbWF4LXdpZHRoOjEwMCU7IGhlaWdodDphdXRvICFpbXBvcnRhbnQ7IH0KICNfZm9ybV85XyBpbnB1dFt0eXBlPSJ0ZXh0Il0geyBwYWRkaW5nLWxlZnQ6MTBweDsgcGFkZGluZy1yaWdodDoxMHB4OyBmb250LXNpemU6MTZweDsgbGluZS1oZWlnaHQ6MS4zZW07IC13ZWJraXQtYXBwZWFyYW5jZTpub25lOyB9CiAjX2Zvcm1fOV8gaW5wdXRbdHlwZT0icmFkaW8iXSwjX2Zvcm1fOV8gaW5wdXRbdHlwZT0iY2hlY2tib3giXSB7IGRpc3BsYXk6aW5saW5lLWJsb2NrOyB3aWR0aDoxLjNlbTsgaGVpZ2h0OjEuM2VtOyBmb250LXNpemU6MWVtOyBtYXJnaW46MCAwLjNlbSAwIDA7IHZlcnRpY2FsLWFsaWduOmJhc2VsaW5lOyB9CiAjX2Zvcm1fOV8gYnV0dG9uW3R5cGU9InN1Ym1pdCJdIHsgcGFkZGluZzoyMHB4OyBmb250LXNpemU6MS41ZW07IH0KICNfZm9ybV85XyAuX2lubGluZS1zdHlsZSB7IG1hcmdpbjoyMHB4IDAgMCAhaW1wb3J0YW50OyB9CiB9CiAjX2Zvcm1fOV8geyBwb3NpdGlvbjpyZWxhdGl2ZTsgdGV4dC1hbGlnbjpsZWZ0OyBtYXJnaW46MjVweCBhdXRvIDA7IHBhZGRpbmc6MjBweDsgLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7IC1tb3otYm94LXNpemluZzpib3JkZXItYm94OyBib3gtc2l6aW5nOmJvcmRlci1ib3g7ICp6b29tOjE7IGJhY2tncm91bmQ6I2ZmZiAhaW1wb3J0YW50OyBib3JkZXI6MHB4IHNvbGlkICNiMGIwYjAgIWltcG9ydGFudDsgd2lkdGg6NTAwcHg7IC1tb3otYm9yZGVyLXJhZGl1czowcHggIWltcG9ydGFudDsgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjBweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOjBweCAhaW1wb3J0YW50OyBjb2xvcjojMDAwICFpbXBvcnRhbnQ7IH0KICNfZm9ybV85XyAuX2Zvcm0tdGl0bGUgeyBmb250LXNpemU6MjJweDsgbGluZS1oZWlnaHQ6MjJweDsgZm9udC13ZWlnaHQ6NjAwOyBtYXJnaW4tYm90dG9tOjA7IH0KICNfZm9ybV85XzpiZWZvcmUsI19mb3JtXzlfOmFmdGVyIHsgY29udGVudDoiICI7IGRpc3BsYXk6dGFibGU7IH0KICNfZm9ybV85XzphZnRlciB7IGNsZWFyOmJvdGg7IH0KICNfZm9ybV85Xy5faW5saW5lLXN0eWxlIHsgd2lkdGg6YXV0bzsgZGlzcGxheTppbmxpbmUtYmxvY2s7IH0KICNfZm9ybV85Xy5faW5saW5lLXN0eWxlIGlucHV0W3R5cGU9InRleHQiXSwjX2Zvcm1fOV8uX2lubGluZS1zdHlsZSBpbnB1dFt0eXBlPSJkYXRlIl0geyBwYWRkaW5nOjEwcHggMTJweDsgfQogI19mb3JtXzlfLl9pbmxpbmUtc3R5bGUgYnV0dG9uLl9pbmxpbmUtc3R5bGUgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgdG9wOjI3cHg7IH0KICNfZm9ybV85Xy5faW5saW5lLXN0eWxlIHAgeyBtYXJnaW46MDsgfQogI19mb3JtXzlfLl9pbmxpbmUtc3R5bGUgLl9idXR0b24td3JhcHBlciB7IHBvc2l0aW9uOnJlbGF0aXZlOyBtYXJnaW46MjdweCAxMi41cHggMCAyMHB4OyB9CiAjX2Zvcm1fOV8gLl9mb3JtLXRoYW5rLXlvdSB7IHBvc2l0aW9uOnJlbGF0aXZlOyBsZWZ0OjA7IHJpZ2h0OjA7IHRleHQtYWxpZ246Y2VudGVyOyBmb250LXNpemU6MThweDsgfQogQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDozMjBweCkgYW5kIChtYXgtd2lkdGg6NjY3cHgpIHsgI19mb3JtXzlfLl9pbmxpbmUtZm9ybS5faW5saW5lLXN0eWxlIC5faW5saW5lLXN0eWxlLl9idXR0b24td3JhcHBlciB7IG1hcmdpbi10b3A6MjBweCAhaW1wb3J0YW50OyBtYXJnaW4tbGVmdDowICFpbXBvcnRhbnQ7IH0KIH0KPC9zdHlsZT4KPGZvcm0gbWV0aG9kPSJQT1NUIiBhY3Rpb249Imh0dHBzOi8vY2Z0ZS5hY3RpdmVob3N0ZWQuY29tL3Byb2MucGhwIiBpZD0iX2Zvcm1fOV8iIGNsYXNzPSJfZm9ybSBfZm9ybV85IF9pbmxpbmUtZm9ybSAgX2RhcmsiIG5vdmFsaWRhdGU+CiAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idSIgdmFsdWU9IjkiIC8+CiAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZiIgdmFsdWU9IjkiIC8+CiAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icyIgLz4KICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjIiB2YWx1ZT0iMCIgLz4KICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJtIiB2YWx1ZT0iMCIgLz4KICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhY3QiIHZhbHVlPSJzdWIiIC8+CiAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idiIgdmFsdWU9IjIiIC8+CiAgPGRpdiBjbGFzcz0iX2Zvcm0tY29udGVudCI+CiA<br />
gICA8ZGl2IGNsYXNzPSJfZm9ybV9lbGVtZW50IF94NTQyNDM5ODIgX2Z1bGxfd2lkdGggX2NsZWFyIiA+CiAgICAgIDxkaXYgY2xhc3M9Il9mb3JtLXRpdGxlIj4KICAgICAgICBTdWJzY3JpYmUgdG8gb3VyIFdlZWtseSBOZXdzbGV0dGVyCiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJfZm9ybV9lbGVtZW50IF94NjA5MzM0NzIgX2Z1bGxfd2lkdGggIiA+CiAgICAgIDxsYWJlbCBjbGFzcz0iX2Zvcm0tbGFiZWwiPgogICAgICAgIEZpcnN0IE5hbWUqCiAgICAgIDwvbGFiZWw+CiAgICAgIDxkaXYgY2xhc3M9Il9maWVsZC13cmFwcGVyIj4KICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZmlyc3RuYW1lIiBwbGFjZWhvbGRlcj0iVHlwZSB5b3VyIGZpcnN0IG5hbWUiIHJlcXVpcmVkLz4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Il9mb3JtX2VsZW1lbnQgX3g0MjY0ODYwMCBfZnVsbF93aWR0aCAiID4KICAgICAgPGxhYmVsIGNsYXNzPSJfZm9ybS1sYWJlbCI+CiAgICAgICAgTGFzdCBOYW1lKgogICAgICA8L2xhYmVsPgogICAgICA8ZGl2IGNsYXNzPSJfZmllbGQtd3JhcHBlciI+CiAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9Imxhc3RuYW1lIiBwbGFjZWhvbGRlcj0iVHlwZSB5b3VyIGxhc3QgbmFtZSIgcmVxdWlyZWQvPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2Zvcm1fZWxlbWVudCBfeDA0OTc0OTE5IF9mdWxsX3dpZHRoICIgPgogICAgICA8bGFiZWwgY2xhc3M9Il9mb3JtLWxhYmVsIj4KICAgICAgICBFbWFpbCoKICAgICAgPC9sYWJlbD4KICAgICAgPGRpdiBjbGFzcz0iX2ZpZWxkLXdyYXBwZXIiPgogICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJlbWFpbCIgcGxhY2Vob2xkZXI9IlR5cGUgeW91ciBlbWFpbCIgcmVxdWlyZWQvPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2Zvcm1fZWxlbWVudCBfZmllbGQxIF9mdWxsX3dpZHRoICIgPgogICAgICA8bGFiZWwgY2xhc3M9Il9mb3JtLWxhYmVsIj4KICAgICAgICBDb3VudHJ5KgogICAgICA8L2xhYmVsPgogICAgICA8ZGl2IGNsYXNzPSJfZmllbGQtd3JhcHBlciI+CiAgICAgICAgPHNlbGVjdCBuYW1lPSJmaWVsZFsxXSIgcmVxdWlyZWQ+CiAgICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBZmdoYW5pc3RhbiIgPgogICAgICAgICAgICBBZmdoYW5pc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBbGJhbmlhIiA+CiAgICAgICAgICAgIEFsYmFuaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQWxnZXJpYSIgPgogICAgICAgICAgICBBbGdlcmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkFtZXJpY2FuIFNhbW9hIiA+CiAgICAgICAgICAgIEFtZXJpY2FuIFNhbW9hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkFuZG9ycmEiID4KICAgICAgICAgICAgQW5kb3JyYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBbmdvbGEiID4KICAgICAgICAgICAgQW5nb2xhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkFuZ3VpbGxhIiA+CiAgICAgICAgICAgIEFuZ3VpbGxhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkFudGFyY3RpY2EiID4KICAgICAgICAgICAgQW50YXJjdGljYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBbnRpZ3VhIGFuZCBCYXJidWRhIiA+CiAgICAgICAgICAgIEFudGlndWEgYW5kIEJhcmJ1ZGEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQXJnZW50aW5hIiA+CiAgICAgICAgICAgIEFyZ2VudGluYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBcm1lbmlhIiA+CiAgICAgICAgICAgIEFybWVuaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQXJ1YmEiID4KICAgICAgICAgICAgQXJ1YmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQXVzdHJhbGlhIiA+CiAgICAgICAgICAgIEF1c3RyYWxpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBdXN0cmlhIiA+CiAgICAgICAgICAgIEF1c3RyaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQXplcmJhaWphbiIgPgogICAgICAgICAgICBBemVyYmFpamFuCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJhaGFtYXMiID4KICAgICAgICAgICAgQmFoYW1hcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCYWhyYWluIiA+CiAgICAgICAgICAgIEJhaHJhaW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQmFuZ2xhZGVzaCIgPgogICAgICAgICAgICBCYW5nbGFkZXNoCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJhcmJhZG9zIiA+CiAgICAgICAgICAgIEJhcmJhZG9zCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJlbGFydXMiID4KICAgICAgICAgICAgQmVsYXJ1cwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCZWxnaXVtIiA+CiAgICAgICAgICAgIEJlbGdpdW0KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQmVsaXplIiA+CiAgICAgICAgICAgIEJlbGl6ZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCZW5pbiIgPgogICAgICAgICAgICBCZW5pbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCZXJtdWRhIiA+CiAgICAgICAgICAgIEJlcm11ZGEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQmh1dGFuIiA+CiAgICAgICAgICAgIEJodXRhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCb2xpdmlhIiA+CiAgICAgICAgICAgIEJvbGl2aWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYSIgPgogICAgICAgICAgICBCb3NuaWEgYW5kIEhlcnplZ292aW5hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJvdHN3YW5hIiA+CiAgICAgICAgICAgIEJvdHN3YW5hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJvdXZldCBJc2xhbmQiID4KICAgICAgICAgICAgQm91dmV0IElzbGFuZAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCcmF6aWwiID4KICAgICAgICAgICAgQnJhemlsCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJyaXRpc2ggSW5kaWFuIE9jZWFuIFRlcnJpdG9yeSIgPgogICAgICAgICAgICBCcml0aXNoIEluZGlhbiBPY2VhbiBUZXJyaXRvcnkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQnJ1bmVpIERhcnVzc2FsYW0iID4KICAgICAgICAgICAgQnJ1bmVpIERhcnVzc2FsYW0KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQnVsZ2FyaWEiID4KICAgICAgICAgICAgQnVsZ2FyaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQnVya2luYSBGYXNvIiA+CiAgICAgICAgICAgIEJ1cmtpbmEgRmFzbwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCdXJ1bmRpIiA+CiAgICAgICAgICAgIEJ1cnVuZGkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2FtYm9kaWEiID4KICAgICAgICAgICAgQ2FtYm9kaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2FtZXJvb24iID4KICAgICAgICAgICAgQ2FtZXJvb24KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2FuYWRhIiA+CiAgICAgICAgICAgIENhbmFkYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDYXBlIFZlcmRlIiA+CiAgICAgICAgICAgIENhcGUgVmVyZGUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2F5bWFuIElzbGFuZHMiID4KICAgICAgICAgICAgQ2F5bWFuIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljIiA+CiAgICAgICAgICAgIENlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDaGFkIiA+CiAgICAgICAgICAgIENoYWQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2hpbGUiID4KICAgICAgICAgICAgQ2hpbGUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2hpbmEiID4KICAgICAgICAgICAgQ2hpbmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2hyaXN0bWFzIElzbGFuZCIgPgogICAgICAgICAgICBDaHJpc3RtYXMgSXNsYW5kCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkNvY29zIChLZWVsaW5nKSBJc2xhbmRzIiA+CiAgICAgICAgICAgIENvY29zIChLZWVsaW5nKSBJc2xhbmRzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkNvbG9tYmlhIiA+CiAgICAgICAgICAgIENvbG9tYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkNvbW9yb3MiID4KICAgICAgICAgICAgQ29tb3JvcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDb25nbyIgPgogICAgICAgICAgICBDb25nbwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDb25nbywgdGhlIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlIiA+CiAgICAgICAgICAgIENvbmdvLCB0aGUgRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ29vayBJc2xhbmRzIiA+CiAgICAgICAgICAgIENvb2sgSXNsYW5kcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDb3N0YSBSaWNhIiA+CiAgICAgICAgICAgIENvc3RhIFJpY2EKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ290ZSBEJiMwMzk7SXZvaXJlIiA+CiAgICAgICAgICAgIENvdGUgRCYjMDM5O0l2b2lyZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDcm9hdGlhIiA+CiAgICAgICAgICAgIENyb2F0aWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ3ViYSIgPgogICAgICAgICAgICBDdWJhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkN5cHJ1cyIgPgogICAgICAgICAgICBDeXBydXMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ3plY2ggUmVwdWJsaWMiID4KICAgICAgICAgICAgQ3plY2ggUmVwdWJsaWMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRGVubWFyayIgPgogICAgICAgICAgICBEZW5tYXJrCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkRqaWJvdXRpIiA+CiAgICAgICAgICAgIERqaWJvdXRpCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkRvbWluaWNhIiA+CiAgICAgICAgICAgIERvbWluaWNhCiAgICAgICAgIC<br />
A8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkRvbWluaWNhbiBSZXB1YmxpYyIgPgogICAgICAgICAgICBEb21pbmljYW4gUmVwdWJsaWMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRWN1YWRvciIgPgogICAgICAgICAgICBFY3VhZG9yCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkVneXB0IiA+CiAgICAgICAgICAgIEVneXB0CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkVsIFNhbHZhZG9yIiA+CiAgICAgICAgICAgIEVsIFNhbHZhZG9yCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkVxdWF0b3JpYWwgR3VpbmVhIiA+CiAgICAgICAgICAgIEVxdWF0b3JpYWwgR3VpbmVhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkVyaXRyZWEiID4KICAgICAgICAgICAgRXJpdHJlYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJFc3RvbmlhIiA+CiAgICAgICAgICAgIEVzdG9uaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRXRoaW9waWEiID4KICAgICAgICAgICAgRXRoaW9waWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRmFsa2xhbmQgSXNsYW5kcyAoTWFsdmluYXMpIiA+CiAgICAgICAgICAgIEZhbGtsYW5kIElzbGFuZHMgKE1hbHZpbmFzKQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJGYXJvZSBJc2xhbmRzIiA+CiAgICAgICAgICAgIEZhcm9lIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRmlqaSIgPgogICAgICAgICAgICBGaWppCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkZpbmxhbmQiID4KICAgICAgICAgICAgRmlubGFuZAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJGcmFuY2UiID4KICAgICAgICAgICAgRnJhbmNlCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkZyZW5jaCBHdWlhbmEiID4KICAgICAgICAgICAgRnJlbmNoIEd1aWFuYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJGcmVuY2ggUG9seW5lc2lhIiA+CiAgICAgICAgICAgIEZyZW5jaCBQb2x5bmVzaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRnJlbmNoIFNvdXRoZXJuIFRlcnJpdG9yaWVzIiA+CiAgICAgICAgICAgIEZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHYWJvbiIgPgogICAgICAgICAgICBHYWJvbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHYW1iaWEiID4KICAgICAgICAgICAgR2FtYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikdlb3JnaWEiID4KICAgICAgICAgICAgR2VvcmdpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHZXJtYW55IiA+CiAgICAgICAgICAgIEdlcm1hbnkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iR2hhbmEiID4KICAgICAgICAgICAgR2hhbmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iR2licmFsdGFyIiA+CiAgICAgICAgICAgIEdpYnJhbHRhcgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHcmVlY2UiID4KICAgICAgICAgICAgR3JlZWNlCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkdyZWVubGFuZCIgPgogICAgICAgICAgICBHcmVlbmxhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iR3JlbmFkYSIgPgogICAgICAgICAgICBHcmVuYWRhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikd1YWRlbG91cGUiID4KICAgICAgICAgICAgR3VhZGVsb3VwZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHdWFtIiA+CiAgICAgICAgICAgIEd1YW0KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iR3VhdGVtYWxhIiA+CiAgICAgICAgICAgIEd1YXRlbWFsYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHdWVybnNleSIgPgogICAgICAgICAgICBHdWVybnNleQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHdWluZWEiID4KICAgICAgICAgICAgR3VpbmVhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikd1aW5lYS1CaXNzYXUiID4KICAgICAgICAgICAgR3VpbmVhLUJpc3NhdQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHdXlhbmEiID4KICAgICAgICAgICAgR3V5YW5hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkhhaXRpIiA+CiAgICAgICAgICAgIEhhaXRpCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkhlYXJkIElzbGFuZCBhbmQgTWNkb25hbGQgSXNsYW5kcyIgPgogICAgICAgICAgICBIZWFyZCBJc2xhbmQgYW5kIE1jZG9uYWxkIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSG9seSBTZWUgKFZhdGljYW4gQ2l0eSBTdGF0ZSkiID4KICAgICAgICAgICAgSG9seSBTZWUgKFZhdGljYW4gQ2l0eSBTdGF0ZSkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSG9uZHVyYXMiID4KICAgICAgICAgICAgSG9uZHVyYXMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSG9uZyBLb25nIiA+CiAgICAgICAgICAgIEhvbmcgS29uZwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJIdW5nYXJ5IiA+CiAgICAgICAgICAgIEh1bmdhcnkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSWNlbGFuZCIgPgogICAgICAgICAgICBJY2VsYW5kCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkluZGlhIiA+CiAgICAgICAgICAgIEluZGlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkluZG9uZXNpYSIgPgogICAgICAgICAgICBJbmRvbmVzaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSXJhbiwgSXNsYW1pYyBSZXB1YmxpYyBvZiIgPgogICAgICAgICAgICBJcmFuLCBJc2xhbWljIFJlcHVibGljIG9mCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IklyYXEiID4KICAgICAgICAgICAgSXJhcQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJJcmVsYW5kIiA+CiAgICAgICAgICAgIElyZWxhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSXNyYWVsIiA+CiAgICAgICAgICAgIElzcmFlbAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJJdGFseSIgPgogICAgICAgICAgICBJdGFseQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJKYW1haWNhIiA+CiAgICAgICAgICAgIEphbWFpY2EKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSmFwYW4iID4KICAgICAgICAgICAgSmFwYW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSm9yZGFuIiA+CiAgICAgICAgICAgIEpvcmRhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJLYXpha2hzdGFuIiA+CiAgICAgICAgICAgIEthemFraHN0YW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iS2VueWEiID4KICAgICAgICAgICAgS2VueWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iS2lyaWJhdGkiID4KICAgICAgICAgICAgS2lyaWJhdGkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iS29yZWEsIERlbW9jcmF0aWMgUGVvcGxlJiMwMzk7cyBSZXB1YmxpYyBvZiIgPgogICAgICAgICAgICBLb3JlYSwgRGVtb2NyYXRpYyBQZW9wbGUmIzAzOTtzIFJlcHVibGljIG9mCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IktvcmVhLCBSZXB1YmxpYyBvZiIgPgogICAgICAgICAgICBLb3JlYSwgUmVwdWJsaWMgb2YKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iS3V3YWl0IiA+CiAgICAgICAgICAgIEt1d2FpdAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJLeXJneXpzdGFuIiA+CiAgICAgICAgICAgIEt5cmd5enN0YW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTGFvIFBlb3BsZSYjMDM5O3MgRGVtb2NyYXRpYyBSZXB1YmxpYyIgPgogICAgICAgICAgICBMYW8gUGVvcGxlJiMwMzk7cyBEZW1vY3JhdGljIFJlcHVibGljCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkxhdHZpYSIgPgogICAgICAgICAgICBMYXR2aWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTGViYW5vbiIgPgogICAgICAgICAgICBMZWJhbm9uCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikxlc290aG8iID4KICAgICAgICAgICAgTGVzb3RobwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJMaWJlcmlhIiA+CiAgICAgICAgICAgIExpYmVyaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTGlieWFuIEFyYWIgSmFtYWhpcml5YSIgPgogICAgICAgICAgICBMaWJ5YW4gQXJhYiBKYW1haGlyaXlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkxpZWNodGVuc3RlaW4iID4KICAgICAgICAgICAgTGllY2h0ZW5zdGVpbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJMaXRodWFuaWEiID4KICAgICAgICAgICAgTGl0aHVhbmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikx1eGVtYm91cmciID4KICAgICAgICAgICAgTHV4ZW1ib3VyZwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYWNhbyIgPgogICAgICAgICAgICBNYWNhbwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYWNlZG9uaWEsIHRoZSBGb3JtZXIgWXVnb3NsYXYgUmVwdWJsaWMgb2YiID4KICAgICAgICAgICAgTWFjZWRvbmlhLCB0aGUgRm9ybWVyIFl1Z29zbGF2IFJlcHVibGljIG9mCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hZGFnYXNjYXIiID4KICAgICAgICAgICAgTWFkYWdhc2NhcgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYWxhd2kiID4KICAgICAgICAgICAgTWFsYXdpCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hbGF5c2lhIiA+CiAgICAgICAgICAgIE1hbGF5c2lhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hbGRpdmVzIiA+CiAgICAgICAgICAgIE1hbGRpdmVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hbGkiID4KICAgICAgICAgICAgTWFsaQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYWx0YSIgPgogICAgICAgICAgICBNYWx0YQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhb<br />
HVlPSJNYXJzaGFsbCBJc2xhbmRzIiA+CiAgICAgICAgICAgIE1hcnNoYWxsIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTWFydGluaXF1ZSIgPgogICAgICAgICAgICBNYXJ0aW5pcXVlCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hdXJpdGFuaWEiID4KICAgICAgICAgICAgTWF1cml0YW5pYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYXVyaXRpdXMiID4KICAgICAgICAgICAgTWF1cml0aXVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1heW90dGUiID4KICAgICAgICAgICAgTWF5b3R0ZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNZXhpY28iID4KICAgICAgICAgICAgTWV4aWNvCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1pY3JvbmVzaWEsIEZlZGVyYXRlZCBTdGF0ZXMgb2YiID4KICAgICAgICAgICAgTWljcm9uZXNpYSwgRmVkZXJhdGVkIFN0YXRlcyBvZgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNb2xkb3ZhLCBSZXB1YmxpYyBvZiIgPgogICAgICAgICAgICBNb2xkb3ZhLCBSZXB1YmxpYyBvZgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNb25hY28iID4KICAgICAgICAgICAgTW9uYWNvCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1vbmdvbGlhIiA+CiAgICAgICAgICAgIE1vbmdvbGlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1vbnRlbmVncm8iID4KICAgICAgICAgICAgTW9udGVuZWdybwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNb250c2VycmF0IiA+CiAgICAgICAgICAgIE1vbnRzZXJyYXQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTW9yb2NjbyIgPgogICAgICAgICAgICBNb3JvY2NvCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1vemFtYmlxdWUiID4KICAgICAgICAgICAgTW96YW1iaXF1ZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNeWFubWFyIiA+CiAgICAgICAgICAgIE15YW5tYXIKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTmFtaWJpYSIgPgogICAgICAgICAgICBOYW1pYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5hdXJ1IiA+CiAgICAgICAgICAgIE5hdXJ1CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5lcGFsIiA+CiAgICAgICAgICAgIE5lcGFsCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5ldGhlcmxhbmRzIiA+CiAgICAgICAgICAgIE5ldGhlcmxhbmRzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5ldGhlcmxhbmRzIEFudGlsbGVzIiA+CiAgICAgICAgICAgIE5ldGhlcmxhbmRzIEFudGlsbGVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5ldyBDYWxlZG9uaWEiID4KICAgICAgICAgICAgTmV3IENhbGVkb25pYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJOZXcgWmVhbGFuZCIgPgogICAgICAgICAgICBOZXcgWmVhbGFuZAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJOaWNhcmFndWEiID4KICAgICAgICAgICAgTmljYXJhZ3VhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5pZ2VyIiA+CiAgICAgICAgICAgIE5pZ2VyCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5pZ2VyaWEiID4KICAgICAgICAgICAgTmlnZXJpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJOaXVlIiA+CiAgICAgICAgICAgIE5pdWUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTm9yZm9sayBJc2xhbmQiID4KICAgICAgICAgICAgTm9yZm9sayBJc2xhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzIiA+CiAgICAgICAgICAgIE5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJOb3J3YXkiID4KICAgICAgICAgICAgTm9yd2F5CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik9tYW4iID4KICAgICAgICAgICAgT21hbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJQYWtpc3RhbiIgPgogICAgICAgICAgICBQYWtpc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJQYWxhdSIgPgogICAgICAgICAgICBQYWxhdQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJQYWxlc3RpbmlhbiBUZXJyaXRvcnksIE9jY3VwaWVkIiA+CiAgICAgICAgICAgIFBhbGVzdGluaWFuIFRlcnJpdG9yeSwgT2NjdXBpZWQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUGFuYW1hIiA+CiAgICAgICAgICAgIFBhbmFtYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJQYXB1YSBOZXcgR3VpbmVhIiA+CiAgICAgICAgICAgIFBhcHVhIE5ldyBHdWluZWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUGFyYWd1YXkiID4KICAgICAgICAgICAgUGFyYWd1YXkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUGVydSIgPgogICAgICAgICAgICBQZXJ1CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlBoaWxpcHBpbmVzIiA+CiAgICAgICAgICAgIFBoaWxpcHBpbmVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlBpdGNhaXJuIiA+CiAgICAgICAgICAgIFBpdGNhaXJuCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlBvbGFuZCIgPgogICAgICAgICAgICBQb2xhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUG9ydHVnYWwiID4KICAgICAgICAgICAgUG9ydHVnYWwKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUHVlcnRvIFJpY28iID4KICAgICAgICAgICAgUHVlcnRvIFJpY28KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUWF0YXIiID4KICAgICAgICAgICAgUWF0YXIKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUmV1bmlvbiIgPgogICAgICAgICAgICBSZXVuaW9uCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlJvbWFuaWEiID4KICAgICAgICAgICAgUm9tYW5pYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJSdXNzaWFuIEZlZGVyYXRpb24iID4KICAgICAgICAgICAgUnVzc2lhbiBGZWRlcmF0aW9uCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlJ3YW5kYSIgPgogICAgICAgICAgICBSd2FuZGEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2FpbnQgSGVsZW5hIiA+CiAgICAgICAgICAgIFNhaW50IEhlbGVuYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYWludCBLaXR0cyBhbmQgTmV2aXMiID4KICAgICAgICAgICAgU2FpbnQgS2l0dHMgYW5kIE5ldmlzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNhaW50IEx1Y2lhIiA+CiAgICAgICAgICAgIFNhaW50IEx1Y2lhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNhaW50IFBpZXJyZSBhbmQgTWlxdWVsb24iID4KICAgICAgICAgICAgU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYWludCBWaW5jZW50IGFuZCB0aGUgR3JlbmFkaW5lcyIgPgogICAgICAgICAgICBTYWludCBWaW5jZW50IGFuZCB0aGUgR3JlbmFkaW5lcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYW1vYSIgPgogICAgICAgICAgICBTYW1vYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYW4gTWFyaW5vIiA+CiAgICAgICAgICAgIFNhbiBNYXJpbm8KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2FvIFRvbWUgYW5kIFByaW5jaXBlIiA+CiAgICAgICAgICAgIFNhbyBUb21lIGFuZCBQcmluY2lwZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYXVkaSBBcmFiaWEiID4KICAgICAgICAgICAgU2F1ZGkgQXJhYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNlbmVnYWwiID4KICAgICAgICAgICAgU2VuZWdhbAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTZXJiaWEiID4KICAgICAgICAgICAgU2VyYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNleWNoZWxsZXMiID4KICAgICAgICAgICAgU2V5Y2hlbGxlcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTaWVycmEgTGVvbmUiID4KICAgICAgICAgICAgU2llcnJhIExlb25lCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNpbmdhcG9yZSIgPgogICAgICAgICAgICBTaW5nYXBvcmUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2xvdmFraWEiID4KICAgICAgICAgICAgU2xvdmFraWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2xvdmVuaWEiID4KICAgICAgICAgICAgU2xvdmVuaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU29sb21vbiBJc2xhbmRzIiA+CiAgICAgICAgICAgIFNvbG9tb24gSXNsYW5kcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTb21hbGlhIiA+CiAgICAgICAgICAgIFNvbWFsaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU291dGggQWZyaWNhIiA+CiAgICAgICAgICAgIFNvdXRoIEFmcmljYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTb3V0aCBHZW9yZ2lhIGFuZCB0aGUgU291dGggU2FuZHdpY2ggSXNsYW5kcyIgPgogICAgICAgICAgICBTb3V0aCBHZW9yZ2lhIGFuZCB0aGUgU291dGggU2FuZHdpY2ggSXNsYW5kcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTcGFpbiIgPgogICAgICAgICAgICBTcGFpbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTcmkgTGFua2EiID4KICAgICAgICAgICAgU3JpIExhbmthCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlN1ZGFuIiA+CiAgICAgICAgICAgIFN1ZGFuCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlN1cmluYW1lIiA+CiAgICAgICAgICAgIFN1cmluYW1lCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlN2YWxiYXJkIGFuZCBKYW4gTWF5ZW4iID4KICAgICAgICAgICAgU3ZhbGJhcmQgYW5kIEphbiBNYXllbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTd2F6aWxhbmQiID4KICAgICAgICAgICAgU3dhemlsYW5kCiAgICAgICAgICA8L29w<br />
dGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlN3ZWRlbiIgPgogICAgICAgICAgICBTd2VkZW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU3dpdHplcmxhbmQiID4KICAgICAgICAgICAgU3dpdHplcmxhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU3lyaWFuIEFyYWIgUmVwdWJsaWMiID4KICAgICAgICAgICAgU3lyaWFuIEFyYWIgUmVwdWJsaWMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVGFpd2FuLCBQcm92aW5jZSBvZiBDaGluYSIgPgogICAgICAgICAgICBUYWl3YW4sIFByb3ZpbmNlIG9mIENoaW5hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlRhamlraXN0YW4iID4KICAgICAgICAgICAgVGFqaWtpc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJUYW56YW5pYSwgVW5pdGVkIFJlcHVibGljIG9mIiA+CiAgICAgICAgICAgIFRhbnphbmlhLCBVbml0ZWQgUmVwdWJsaWMgb2YKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVGhhaWxhbmQiID4KICAgICAgICAgICAgVGhhaWxhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVGltb3ItTGVzdGUiID4KICAgICAgICAgICAgVGltb3ItTGVzdGUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVG9nbyIgPgogICAgICAgICAgICBUb2dvCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlRva2VsYXUiID4KICAgICAgICAgICAgVG9rZWxhdQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJUb25nYSIgPgogICAgICAgICAgICBUb25nYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJUcmluaWRhZCBhbmQgVG9iYWdvIiA+CiAgICAgICAgICAgIFRyaW5pZGFkIGFuZCBUb2JhZ28KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVHVuaXNpYSIgPgogICAgICAgICAgICBUdW5pc2lhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlR1cmtleSIgPgogICAgICAgICAgICBUdXJrZXkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVHVya21lbmlzdGFuIiA+CiAgICAgICAgICAgIFR1cmttZW5pc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJUdXJrcyBhbmQgQ2FpY29zIElzbGFuZHMiID4KICAgICAgICAgICAgVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlR1dmFsdSIgPgogICAgICAgICAgICBUdXZhbHUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVWdhbmRhIiA+CiAgICAgICAgICAgIFVnYW5kYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJVa3JhaW5lIiA+CiAgICAgICAgICAgIFVrcmFpbmUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVW5pdGVkIEFyYWIgRW1pcmF0ZXMiID4KICAgICAgICAgICAgVW5pdGVkIEFyYWIgRW1pcmF0ZXMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVW5pdGVkIEtpbmdkb20iID4KICAgICAgICAgICAgVW5pdGVkIEtpbmdkb20KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVW5pdGVkIFN0YXRlcyIgPgogICAgICAgICAgICBVbml0ZWQgU3RhdGVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlVuaXRlZCBTdGF0ZXMgTWlub3IgT3V0bHlpbmcgSXNsYW5kcyIgPgogICAgICAgICAgICBVbml0ZWQgU3RhdGVzIE1pbm9yIE91dGx5aW5nIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVXJ1Z3VheSIgPgogICAgICAgICAgICBVcnVndWF5CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlV6YmVraXN0YW4iID4KICAgICAgICAgICAgVXpiZWtpc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJWYW51YXR1IiA+CiAgICAgICAgICAgIFZhbnVhdHUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVmVuZXp1ZWxhIiA+CiAgICAgICAgICAgIFZlbmV6dWVsYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJWaWV0bmFtIiA+CiAgICAgICAgICAgIFZpZXRuYW0KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVmlyZ2luIElzbGFuZHMsIEJyaXRpc2giID4KICAgICAgICAgICAgVmlyZ2luIElzbGFuZHMsIEJyaXRpc2gKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVmlyZ2luIElzbGFuZHMsIFUucy4iID4KICAgICAgICAgICAgVmlyZ2luIElzbGFuZHMsIFUucy4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iV2FsbGlzIGFuZCBGdXR1bmEiID4KICAgICAgICAgICAgV2FsbGlzIGFuZCBGdXR1bmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iV2VzdGVybiBTYWhhcmEiID4KICAgICAgICAgICAgV2VzdGVybiBTYWhhcmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iWWVtZW4iID4KICAgICAgICAgICAgWWVtZW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iWmFtYmlhIiA+CiAgICAgICAgICAgIFphbWJpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJaaW1iYWJ3ZSIgPgogICAgICAgICAgICBaaW1iYWJ3ZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTRyIgPgogICAgICAgICAgICBTRwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDQU5BREEiID4KICAgICAgICAgICAgQ0FOQURBCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IktvcmVhIiA+CiAgICAgICAgICAgIEtvcmVhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IiIgPgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJMdXhlbWJvdXJnaCIgPgogICAgICAgICAgICBMdXhlbWJvdXJnaAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNWSIgPgogICAgICAgICAgICBNWQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJFU1dBUlRJTkkiID4KICAgICAgICAgICAgRVNXQVJUSU5JCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVTd2F0aW5pICIgPgogICAgICAgICAgICBlU3dhdGluaQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTWiIgPgogICAgICAgICAgICBTWgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDQSIgPgogICAgICAgICAgICBDQQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHcmVhdCBCcml0YWluIiA+CiAgICAgICAgICAgIEdyZWF0IEJyaXRhaW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUnVzc2lhIiA+CiAgICAgICAgICAgIFJ1c3NpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJIb25nIEtvbmcgU0FSIENoaW5hIiA+CiAgICAgICAgICAgIEhvbmcgS29uZyBTQVIgQ2hpbmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTG9uZG9uIiA+CiAgICAgICAgICAgIExvbmRvbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgPC9zZWxlY3Q+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJfZm9ybV9lbGVtZW50IF9maWVsZDIgX2Z1bGxfd2lkdGggIiA+CiAgICAgIDxkaXYgY2xhc3M9Il9yb3ciPgogICAgICAgIDxsYWJlbCBjbGFzcz0iX2Zvcm0tbGFiZWwiPgogICAgICAgICAgUHJpdmFjeSBQb2xpY3kqCiAgICAgICAgPC9sYWJlbD4KICAgICAgPC9kaXY+CiAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImZpZWxkWzJdW10iIHZhbHVlPSJ+fCI+CiAgICAgIDxkaXYgY2xhc3M9Il9yb3cgX2NoZWNrYm94LXJhZGlvIj4KICAgICAgICA8aW5wdXQgaWQ9ImZpZWxkXzJJIHJlYWQgYW5kIHVuZGVyc3Rvb2QgQ0ZURSBQcml2YWN5IFBvbGljeSAod3d3LmNmdGUuZWR1Y2F0aW9uL3ByaXZhY3ktcG9saWN5KSIgdHlwZT0iY2hlY2tib3giIG5hbWU9ImZpZWxkWzJdW10iIHZhbHVlPSJJIHJlYWQgYW5kIHVuZGVyc3Rvb2QgQ0ZURSBQcml2YWN5IFBvbGljeSAod3d3LmNmdGUuZWR1Y2F0aW9uL3ByaXZhY3ktcG9saWN5KSIgY2xhc3M9ImFueSIgIHJlcXVpcmVkPgogICAgICAgIDxzcGFuPgogICAgICAgICAgPGxhYmVsIGZvcj0iZmllbGRfMkkgcmVhZCBhbmQgdW5kZXJzdG9vZCBDRlRFIFByaXZhY3kgUG9saWN5ICh3d3cuY2Z0ZS5lZHVjYXRpb24vcHJpdmFjeS1wb2xpY3kpIj4KICAgICAgICAgICAgSSByZWFkIGFuZCB1bmRlcnN0b29kIENGVEUgUHJpdmFjeSBQb2xpY3kgKHd3dy5jZnRlLmVkdWNhdGlvbi9wcml2YWN5LXBvbGljeSkKICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgPC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2Zvcm1fZWxlbWVudCBfZmllbGQzIF9mdWxsX3dpZHRoICIgPgogICAgICA8ZGl2IGNsYXNzPSJfcm93Ij4KICAgICAgICA8bGFiZWwgY2xhc3M9Il9mb3JtLWxhYmVsIj4KICAgICAgICAgIENvbW11bmljYXRpb24gb3B0aW9ucwogICAgICAgIDwvbGFiZWw+CiAgICAgIDwvZGl2PgogICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmaWVsZFszXVtdIiB2YWx1ZT0ifnwiPgogICAgICA8ZGl2IGNsYXNzPSJfcm93IF9jaGVja2JveC1yYWRpbyI+CiAgICAgICAgPGlucHV0IGlkPSJmaWVsZF8zSSYjMDM5O20gaGFwcHkgdG8gcmVjZWl2ZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IENGVEUmIzAzOTtzIGNvdXJzZXMgYnkgZW1haWwiIHR5cGU9ImNoZWNrYm94IiBuYW1lPSJmaWVsZFszXVtdIiB2YWx1ZT0iSSYjMDM5O20gaGFwcHkgdG8gcmVjZWl2ZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IENGVEUmIzAzOTtzIGNvdXJzZXMgYnkgZW1haWwiICAgPgogICAgICAgIDxzcGFuPgogICAgICAgICAgPGxhYmVsIGZvcj0iZmllbGRfM0kmIzAzOTttIGhhcHB5IHRvIHJlY2VpdmUgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBDRlRFJiMwMzk7cyBjb3Vyc2VzIGJ5IGVtYWlsIj4KICAgICAgICAgICAgSSYjMDM5O20gaGFwcHkgdG8gcmVjZWl2ZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IENGVEUmIzAzOTtzIGNvdXJzZXMgYnkgZW1haWwKICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iX3JvdyBfY2hlY2tib3gtcmFkaW8iPgogICAgICAgIDxpbnB1dCBpZD0iZmllbGRfM0kgd2FudCB0byByZWNlaXZlIENGVEUmIzAzOTtzIGdlbmVyYWwgbmV3c2xldHRlciIgdHlwZT0iY2hlY2tib3giIG5hbWU9ImZpZWxkWzNdW10iIHZhbHVlPSJJIHdhbnQgdG8gcmVjZWl2ZSBDRlRFJiMwMzk7cyBnZW5lcmFsIG5ld3NsZXR0ZXIiICAgPgogICAgICAgIDxzcGFuPgogICAgICAgICAgPGxhYmVsIGZvcj0iZmllbGRfM0kgd2FudCB0byByZWNlaXZlIENGVEUmIzAzOTtzIGdlbmVyYWwgbmV3c2xldHRlciI+CiAgICAgICAgICAgIEkgd2FudCB0byByZWNlaXZlIENGVEUmIzAzOTtzIGdlbmVyYWwgbmV3c2xldHRlcgogICAgICAgICAgPC9sYWJlbD4KICAgICAgICA8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJfcm93IF9jaGVja2JveC1yYWRpbyI<br />
+CiAgICAgICAgPGlucHV0IGlkPSJmaWVsZF8zSSB3YW50IHRvIHJlY2VpdmUgQ0ZURSYjMDM5O3MgZXZlbnRzIG5ld3NsZXR0ZXIgIiB0eXBlPSJjaGVja2JveCIgbmFtZT0iZmllbGRbM11bXSIgdmFsdWU9Ikkgd2FudCB0byByZWNlaXZlIENGVEUmIzAzOTtzIGV2ZW50cyBuZXdzbGV0dGVyICIgICA+CiAgICAgICAgPHNwYW4+CiAgICAgICAgICA8bGFiZWwgZm9yPSJmaWVsZF8zSSB3YW50IHRvIHJlY2VpdmUgQ0ZURSYjMDM5O3MgZXZlbnRzIG5ld3NsZXR0ZXIgIj4KICAgICAgICAgICAgSSB3YW50IHRvIHJlY2VpdmUgQ0ZURSYjMDM5O3MgZXZlbnRzIG5ld3NsZXR0ZXIKICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgPC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2J1dHRvbi13cmFwcGVyIF9mdWxsX3dpZHRoIj4KICAgICAgPGJ1dHRvbiBpZD0iX2Zvcm1fOV9zdWJtaXQiIGNsYXNzPSJfc3VibWl0IiB0eXBlPSJzdWJtaXQiPgogICAgICAgIFN1Ym1pdAogICAgICA8L2J1dHRvbj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2NsZWFyLWVsZW1lbnQiPgogICAgPC9kaXY+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0iX2Zvcm0tdGhhbmsteW91IiBzdHlsZT0iZGlzcGxheTpub25lOyI+CiAgPC9kaXY+CjwvZm9ybT48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CndpbmRvdy5jZmllbGRzID0geyIxIjoiY291bnRyeSIsIjIiOiJwcml2YWN5X3BvbGljeSIsIjMiOiJjb21tdW5pY2F0aW9uX29wdGlvbnMifTsKd2luZG93Ll9zaG93X3RoYW5rX3lvdSA9IGZ1bmN0aW9uKGlkLCBtZXNzYWdlLCB0cmFja2NtcF91cmwpIHsKICB2YXIgZm9ybSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdfZm9ybV8nICsgaWQgKyAnXycpLCB0aGFua195b3UgPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoJy5fZm9ybS10aGFuay15b3UnKTsKICBmb3JtLnF1ZXJ5U2VsZWN0b3IoJy5fZm9ybS1jb250ZW50Jykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICB0aGFua195b3UuaW5uZXJIVE1MID0gbWVzc2FnZTsKICB0aGFua195b3Uuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgaWYgKHR5cGVvZih0cmFja2NtcF91cmwpICE9ICd1bmRlZmluZWQnICYmIHRyYWNrY21wX3VybCkgewogICAgLy8gU2l0ZSB0cmFja2luZyBVUkwgdG8gdXNlIGFmdGVyIGlubGluZSBmb3JtIHN1Ym1pc3Npb24uCiAgICBfbG9hZF9zY3JpcHQodHJhY2tjbXBfdXJsKTsKICB9CiAgaWYgKHR5cGVvZiB3aW5kb3cuX2Zvcm1fY2FsbGJhY2sgIT09ICd1bmRlZmluZWQnKSB3aW5kb3cuX2Zvcm1fY2FsbGJhY2soaWQpOwp9Owp3aW5kb3cuX3Nob3dfZXJyb3IgPSBmdW5jdGlvbihpZCwgbWVzc2FnZSwgaHRtbCkgewogIHZhciBmb3JtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ19mb3JtXycgKyBpZCArICdfJyksIGVyciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLCBidXR0b24gPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbicpLCBvbGRfZXJyb3IgPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoJy5fZm9ybV9lcnJvcicpOwogIGlmIChvbGRfZXJyb3IpIG9sZF9lcnJvci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG9sZF9lcnJvcik7CiAgZXJyLmlubmVySFRNTCA9IG1lc3NhZ2U7CiAgZXJyLmNsYXNzTmFtZSA9ICdfZXJyb3ItaW5uZXIgX2Zvcm1fZXJyb3IgX25vX2Fycm93JzsKICB2YXIgd3JhcHBlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogIHdyYXBwZXIuY2xhc3NOYW1lID0gJ19mb3JtLWlubmVyJzsKICB3cmFwcGVyLmFwcGVuZENoaWxkKGVycik7CiAgYnV0dG9uLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHdyYXBwZXIsIGJ1dHRvbik7CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2lkXj0iX2Zvcm0iXVtpZCQ9Il9zdWJtaXQiXScpLmRpc2FibGVkID0gZmFsc2U7CiAgaWYgKGh0bWwpIHsKICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIGRpdi5jbGFzc05hbWUgPSAnX2Vycm9yLWh0bWwnOwogICAgZGl2LmlubmVySFRNTCA9IGh0bWw7CiAgICBlcnIuYXBwZW5kQ2hpbGQoZGl2KTsKICB9Cn07CndpbmRvdy5fbG9hZF9zY3JpcHQgPSBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKSB7CiAgICB2YXIgaGVhZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2hlYWQnKSwgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JyksIHIgPSBmYWxzZTsKICAgIHNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7CiAgICBzY3JpcHQuY2hhcnNldCA9ICd1dGYtOCc7CiAgICBzY3JpcHQuc3JjID0gdXJsOwogICAgaWYgKGNhbGxiYWNrKSB7CiAgICAgIHNjcmlwdC5vbmxvYWQgPSBzY3JpcHQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7CiAgICAgIGlmICghciAmJiAoIXRoaXMucmVhZHlTdGF0ZSB8fCB0aGlzLnJlYWR5U3RhdGUgPT0gJ2NvbXBsZXRlJykpIHsKICAgICAgICByID0gdHJ1ZTsKICAgICAgICBjYWxsYmFjaygpOwogICAgICAgIH0KICAgICAgfTsKICAgIH0KICAgIGhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKfTsKKGZ1bmN0aW9uKCkgewogIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNoLnNlYXJjaCgiZXhjbHVkZWZvcm0iKSAhPT0gLTEpIHJldHVybiBmYWxzZTsKICB2YXIgZ2V0Q29va2llID0gZnVuY3Rpb24obmFtZSkgewogICAgdmFyIG1hdGNoID0gZG9jdW1lbnQuY29va2llLm1hdGNoKG5ldyBSZWdFeHAoJyhefDsgKScgKyBuYW1lICsgJz0oW147XSspJykpOwogICAgcmV0dXJuIG1hdGNoID8gbWF0Y2hbMl0gOiBudWxsOwogIH0KICB2YXIgc2V0Q29va2llID0gZnVuY3Rpb24obmFtZSwgdmFsdWUpIHsKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpOwogICAgdmFyIHRpbWUgPSBub3cuZ2V0VGltZSgpOwogICAgdmFyIGV4cGlyZVRpbWUgPSB0aW1lICsgMTAwMCAqIDYwICogNjAgKiAyNCAqIDM2NTsKICAgIG5vdy5zZXRUaW1lKGV4cGlyZVRpbWUpOwogICAgZG9jdW1lbnQuY29va2llID0gbmFtZSArICc9JyArIHZhbHVlICsgJzsgZXhwaXJlcz0nICsgbm93ICsgJztwYXRoPS8nOwogIH0KICAgICAgdmFyIGFkZEV2ZW50ID0gZnVuY3Rpb24oZWxlbWVudCwgZXZlbnQsIGZ1bmMpIHsKICAgIGlmIChlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIpIHsKICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBmdW5jKTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBvbGRGdW5jID0gZWxlbWVudFsnb24nICsgZXZlbnRdOwogICAgICBlbGVtZW50WydvbicgKyBldmVudF0gPSBmdW5jdGlvbigpIHsKICAgICAgICBvbGRGdW5jLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgZnVuYy5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgICB9OwogICAgfQogIH0KICB2YXIgX3JlbW92ZWQgPSBmYWxzZTsKICB2YXIgZm9ybV90b19zdWJtaXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX2Zvcm1fOV8nKTsKICB2YXIgYWxsSW5wdXRzID0gZm9ybV90b19zdWJtaXQucXVlcnlTZWxlY3RvckFsbCgnaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEnKSwgdG9vbHRpcHMgPSBbXSwgc3VibWl0dGVkID0gZmFsc2U7CgogIHZhciBnZXRVcmxQYXJhbSA9IGZ1bmN0aW9uKG5hbWUpIHsKICAgIHZhciByZWdleFN0ciA9ICdbXD8mXScgKyBuYW1lICsgJz0oW14mI10qKSc7CiAgICB2YXIgcmVzdWx0cyA9IG5ldyBSZWdFeHAocmVnZXhTdHIsICdpJykuZXhlYyh3aW5kb3cubG9jYXRpb24uaHJlZik7CiAgICByZXR1cm4gcmVzdWx0cyAhPSB1bmRlZmluZWQgPyBkZWNvZGVVUklDb21wb25lbnQocmVzdWx0c1sxXSkgOiBmYWxzZTsKICB9OwoKICBmb3IgKHZhciBpID0gMDsgaSA8IGFsbElucHV0cy5sZW5ndGg7IGkrKykgewogICAgdmFyIHJlZ2V4U3RyID0gImZpZWxkXFxbKFxcZCspXFxdIjsKICAgIHZhciByZXN1bHRzID0gbmV3IFJlZ0V4cChyZWdleFN0cikuZXhlYyhhbGxJbnB1dHNbaV0ubmFtZSk7CiAgICBpZiAocmVzdWx0cyAhPSB1bmRlZmluZWQpIHsKICAgICAgYWxsSW5wdXRzW2ldLmRhdGFzZXQubmFtZSA9IHdpbmRvdy5jZmllbGRzW3Jlc3VsdHNbMV1dOwogICAgfSBlbHNlIHsKICAgICAgYWxsSW5wdXRzW2ldLmRhdGFzZXQubmFtZSA9IGFsbElucHV0c1tpXS5uYW1lOwogICAgfQogICAgdmFyIGZpZWxkVmFsID0gZ2V0VXJsUGFyYW0oYWxsSW5wdXRzW2ldLmRhdGFzZXQubmFtZSk7CgogICAgaWYgKGZpZWxkVmFsKSB7CiAgICAgIGlmIChhbGxJbnB1dHNbaV0udHlwZSA9PSAicmFkaW8iIHx8IGFsbElucHV0c1tpXS50eXBlID09ICJjaGVja2JveCIpIHsKICAgICAgICBpZiAoYWxsSW5wdXRzW2ldLnZhbHVlID09IGZpZWxkVmFsKSB7CiAgICAgICAgICBhbGxJbnB1dHNbaV0uY2hlY2tlZCA9IHRydWU7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIGFsbElucHV0c1tpXS52YWx1ZSA9IGZpZWxkVmFsOwogICAgICB9CiAgICB9CiAgfQoKICB2YXIgcmVtb3ZlX3Rvb2x0aXBzID0gZnVuY3Rpb24oKSB7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRvb2x0aXBzLmxlbmd0aDsgaSsrKSB7CiAgICAgIHRvb2x0aXBzW2ldLnRpcC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRvb2x0aXBzW2ldLnRpcCk7CiAgICB9CiAgICAgIHRvb2x0aXBzID0gW107CiAgfTsKICB2YXIgcmVtb3ZlX3Rvb2x0aXAgPSBmdW5jdGlvbihlbGVtKSB7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRvb2x0aXBzLmxlbmd0aDsgaSsrKSB7CiAgICAgIGlmICh0b29sdGlwc1tpXS5lbGVtID09PSBlbGVtKSB7CiAgICAgICAgdG9vbHRpcHNbaV0udGlwLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodG9vbHRpcHNbaV0udGlwKTsKICAgICAgICB0b29sdGlwcy5zcGxpY2UoaSwgMSk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICB9CiAgfTsKICB2YXIgY3JlYXRlX3Rvb2x0aXAgPSBmdW5jdGlvbihlbGVtLCB0ZXh0KSB7CiAgICB2YXIgdG9vbHRpcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLCBhcnJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLCBpbm5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLCBuZXdfdG9vbHRpcCA9IHt9OwogICAgaWYgKGVsZW0udHlwZSAhPSAncmFkaW8nICYmIGVsZW0udHlwZSAhPSAnY2hlY2tib3gnKSB7CiAgICAgIHRvb2x0aXAuY2xhc3NOYW1lID0gJ19lcnJvcic7CiAgICAgIGFycm93LmNsYXNzTmFtZSA9ICdfZXJyb3ItYXJyb3cnOwogICAgICBpbm5lci5jbGFzc05hbWUgPSAnX2Vycm9yLWlubmVyJzsKICAgICAgaW5uZXIuaW5uZXJIVE1MID0gdGV4dDsKICAgICAgdG9vbHRpcC5hcHBlbmRDaGlsZChhcnJvdyk7CiAgICAgIHRvb2x0aXAuYXBwZW5kQ2hpbGQoaW5uZXIpOwogICAgICBlbGVtLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQodG9vbHRpcCk7CiAgICB9IGVsc2UgewogICAgICB0b29sdGlwLmNsYXNzTmFtZSA9ICdfZXJyb3ItaW5uZXIgX25vX2Fycm93JzsKICAgICAgdG9vbHRpcC5pbm5lckhUTUwgPSB0ZXh0OwogICAgICBlbGVtLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRvb2x0aXAsIGVsZW0pOwogICAgICBuZXdfdG9vbHRpcC5ub19hcnJvdyA9IHRydWU7CiAgICB9CiAgICBuZXdfdG9vbHRpcC50aXAgPSB0b29sdGlwOwogICAgbmV3X3Rvb2x0aXAuZWxlbSA9IGVsZW07CiAgICB0b29sdGlwcy5wdXNoKG5ld190b29sdGlwKTsKICAgIHJldHVybiBuZXdfdG9vbHRpcDsKICB9OwogIHZhciByZXNpemVfdG9vbHRpcCA9IGZ1bmN0aW9uKHRvb2x0aXApIHsKICAgIHZhciByZWN0ID0gdG9vbHRpcC5lbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgdmFyIGRvYyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgc2Nyb2xsUG9zaXRpb24gPSByZWN0LnRvcCAtICgod2luZG93LnBhZ2VZT2Zmc2V0IHx8IGRvYy5zY3JvbGxUb3ApICAtIChkb2MuY2xpZW50VG9wIHx8IDApKTsKICAgIGlmIChzY3JvbGxQb3NpdGlvbiA8IDQwKSB7CiAgICAgIHRvb2x0aXAudGlwLmNsYXNzTmFtZSA9IHRvb2x0aXAudGlwLmNsYXNzTmFtZS5yZXBsYWNlKC8gPyhfYWJvdmV8X2JlbG93KSA/L2csICcnKSArICcgX2JlbG93JzsKICAgIH0gZWxzZSB7CiAgICAgIHRvb2x0aXAudGlwLm<br />
NsYXNzTmFtZSA9IHRvb2x0aXAudGlwLmNsYXNzTmFtZS5yZXBsYWNlKC8gPyhfYWJvdmV8X2JlbG93KSA/L2csICcnKSArICcgX2Fib3ZlJzsKICAgIH0KICB9OwogIHZhciByZXNpemVfdG9vbHRpcHMgPSBmdW5jdGlvbigpIHsKICAgIGlmIChfcmVtb3ZlZCkgcmV0dXJuOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0b29sdGlwcy5sZW5ndGg7IGkrKykgewogICAgICBpZiAoIXRvb2x0aXBzW2ldLm5vX2Fycm93KSByZXNpemVfdG9vbHRpcCh0b29sdGlwc1tpXSk7CiAgICB9CiAgfTsKICB2YXIgdmFsaWRhdGVfZmllbGQgPSBmdW5jdGlvbihlbGVtLCByZW1vdmUpIHsKICAgIHZhciB0b29sdGlwID0gbnVsbCwgdmFsdWUgPSBlbGVtLnZhbHVlLCBub19lcnJvciA9IHRydWU7CiAgICByZW1vdmUgPyByZW1vdmVfdG9vbHRpcChlbGVtKSA6IGZhbHNlOwogICAgaWYgKGVsZW0udHlwZSAhPSAnY2hlY2tib3gnKSBlbGVtLmNsYXNzTmFtZSA9IGVsZW0uY2xhc3NOYW1lLnJlcGxhY2UoLyA/X2hhc19lcnJvciA/L2csICcnKTsKICAgIGlmIChlbGVtLmdldEF0dHJpYnV0ZSgncmVxdWlyZWQnKSAhPT0gbnVsbCkgewogICAgICBpZiAoZWxlbS50eXBlID09ICdyYWRpbycgfHwgKGVsZW0udHlwZSA9PSAnY2hlY2tib3gnICYmIC9hbnkvLnRlc3QoZWxlbS5jbGFzc05hbWUpKSkgewogICAgICAgIHZhciBlbGVtcyA9IGZvcm1fdG9fc3VibWl0LmVsZW1lbnRzW2VsZW0ubmFtZV07CiAgICAgICAgaWYgKCEoZWxlbXMgaW5zdGFuY2VvZiBOb2RlTGlzdCB8fCBlbGVtcyBpbnN0YW5jZW9mIEhUTUxDb2xsZWN0aW9uKSB8fCBlbGVtcy5sZW5ndGggPD0gMSkgewogICAgICAgICAgbm9fZXJyb3IgPSBlbGVtLmNoZWNrZWQ7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgbm9fZXJyb3IgPSBmYWxzZTsKICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGVsZW1zW2ldLmNoZWNrZWQpIG5vX2Vycm9yID0gdHJ1ZTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCFub19lcnJvcikgewogICAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sICJQbGVhc2Ugc2VsZWN0IGFuIG9wdGlvbi4iKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAoZWxlbS50eXBlID09J2NoZWNrYm94JykgewogICAgICAgIHZhciBlbGVtcyA9IGZvcm1fdG9fc3VibWl0LmVsZW1lbnRzW2VsZW0ubmFtZV0sIGZvdW5kID0gZmFsc2UsIGVyciA9IFtdOwogICAgICAgIG5vX2Vycm9yID0gdHJ1ZTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVsZW1zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBpZiAoZWxlbXNbaV0uZ2V0QXR0cmlidXRlKCdyZXF1aXJlZCcpID09PSBudWxsKSBjb250aW51ZTsKICAgICAgICAgIGlmICghZm91bmQgJiYgZWxlbXNbaV0gIT09IGVsZW0pIHJldHVybiB0cnVlOwogICAgICAgICAgZm91bmQgPSB0cnVlOwogICAgICAgICAgZWxlbXNbaV0uY2xhc3NOYW1lID0gZWxlbXNbaV0uY2xhc3NOYW1lLnJlcGxhY2UoLyA/X2hhc19lcnJvciA/L2csICcnKTsKICAgICAgICAgIGlmICghZWxlbXNbaV0uY2hlY2tlZCkgewogICAgICAgICAgICBub19lcnJvciA9IGZhbHNlOwogICAgICAgICAgICBlbGVtc1tpXS5jbGFzc05hbWUgPSBlbGVtc1tpXS5jbGFzc05hbWUgKyAnIF9oYXNfZXJyb3InOwogICAgICAgICAgICBlcnIucHVzaCgiQ2hlY2tpbmcgJXMgaXMgcmVxdWlyZWQiLnJlcGxhY2UoIiVzIiwgZWxlbXNbaV0udmFsdWUpKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCFub19lcnJvcikgewogICAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sIGVyci5qb2luKCc8YnIvPicpKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAoZWxlbS50YWdOYW1lID09ICdTRUxFQ1QnKSB7CiAgICAgICAgdmFyIHNlbGVjdGVkID0gdHJ1ZTsKICAgICAgICBpZiAoZWxlbS5tdWx0aXBsZSkgewogICAgICAgICAgc2VsZWN0ZWQgPSBmYWxzZTsKICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbS5vcHRpb25zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChlbGVtLm9wdGlvbnNbaV0uc2VsZWN0ZWQpIHsKICAgICAgICAgICAgICBzZWxlY3RlZCA9IHRydWU7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtLm9wdGlvbnMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGVsZW0ub3B0aW9uc1tpXS5zZWxlY3RlZCAmJiAhZWxlbS5vcHRpb25zW2ldLnZhbHVlKSB7CiAgICAgICAgICAgICAgc2VsZWN0ZWQgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoIXNlbGVjdGVkKSB7CiAgICAgICAgICBlbGVtLmNsYXNzTmFtZSA9IGVsZW0uY2xhc3NOYW1lICsgJyBfaGFzX2Vycm9yJzsKICAgICAgICAgIG5vX2Vycm9yID0gZmFsc2U7CiAgICAgICAgICB0b29sdGlwID0gY3JlYXRlX3Rvb2x0aXAoZWxlbSwgIlBsZWFzZSBzZWxlY3QgYW4gb3B0aW9uLiIpOwogICAgICAgIH0KICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAnJykgewogICAgICAgIGVsZW0uY2xhc3NOYW1lID0gZWxlbS5jbGFzc05hbWUgKyAnIF9oYXNfZXJyb3InOwogICAgICAgIG5vX2Vycm9yID0gZmFsc2U7CiAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sICJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpOwogICAgICB9CiAgICB9CiAgICBpZiAobm9fZXJyb3IgJiYgZWxlbS5uYW1lID09ICdlbWFpbCcpIHsKICAgICAgaWYgKCF2YWx1ZS5tYXRjaCgvXltcK19hLXowLTktJyY9XSsoXC5bXCtfYS16MC05LSddKykqQFthLXowLTktXSsoXC5bYS16MC05LV0rKSooXC5bYS16XXsyLH0pJC9pKSkgewogICAgICAgIGVsZW0uY2xhc3NOYW1lID0gZWxlbS5jbGFzc05hbWUgKyAnIF9oYXNfZXJyb3InOwogICAgICAgIG5vX2Vycm9yID0gZmFsc2U7CiAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sICJFbnRlciBhIHZhbGlkIGVtYWlsIGFkZHJlc3MuIik7CiAgICAgIH0KICAgIH0KICAgIGlmIChub19lcnJvciAmJiAvZGF0ZV9maWVsZC8udGVzdChlbGVtLmNsYXNzTmFtZSkpIHsKICAgICAgaWYgKCF2YWx1ZS5tYXRjaCgvXlxkXGRcZFxkLVxkXGQtXGRcZCQvKSkgewogICAgICAgIGVsZW0uY2xhc3NOYW1lID0gZWxlbS5jbGFzc05hbWUgKyAnIF9oYXNfZXJyb3InOwogICAgICAgIG5vX2Vycm9yID0gZmFsc2U7CiAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sICJFbnRlciBhIHZhbGlkIGRhdGUuIik7CiAgICAgIH0KICAgIH0KICAgIHRvb2x0aXAgPyByZXNpemVfdG9vbHRpcCh0b29sdGlwKSA6IGZhbHNlOwogICAgcmV0dXJuIG5vX2Vycm9yOwogIH07CiAgdmFyIG5lZWRzX3ZhbGlkYXRlID0gZnVuY3Rpb24oZWwpIHsKICAgIHJldHVybiBlbC5uYW1lID09ICdlbWFpbCcgfHwgZWwuZ2V0QXR0cmlidXRlKCdyZXF1aXJlZCcpICE9PSBudWxsOwogIH07CiAgdmFyIHZhbGlkYXRlX2Zvcm0gPSBmdW5jdGlvbihlKSB7CiAgICB2YXIgZXJyID0gZm9ybV90b19zdWJtaXQucXVlcnlTZWxlY3RvcignLl9mb3JtX2Vycm9yJyksIG5vX2Vycm9yID0gdHJ1ZTsKICAgIGlmICghc3VibWl0dGVkKSB7CiAgICAgIHN1Ym1pdHRlZCA9IHRydWU7CiAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBhbGxJbnB1dHMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICB2YXIgaW5wdXQgPSBhbGxJbnB1dHNbaV07CiAgICAgICAgaWYgKG5lZWRzX3ZhbGlkYXRlKGlucHV0KSkgewogICAgICAgICAgaWYgKGlucHV0LnR5cGUgPT0gJ3RleHQnKSB7CiAgICAgICAgICAgIGFkZEV2ZW50KGlucHV0LCAnYmx1cicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLnRyaW0oKTsKICAgICAgICAgICAgICB2YWxpZGF0ZV9maWVsZCh0aGlzLCB0cnVlKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGFkZEV2ZW50KGlucHV0LCAnaW5wdXQnLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB2YWxpZGF0ZV9maWVsZCh0aGlzLCB0cnVlKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9IGVsc2UgaWYgKGlucHV0LnR5cGUgPT0gJ3JhZGlvJyB8fCBpbnB1dC50eXBlID09ICdjaGVja2JveCcpIHsKICAgICAgICAgICAgKGZ1bmN0aW9uKGVsKSB7CiAgICAgICAgICAgICAgdmFyIHJhZGlvcyA9IGZvcm1fdG9fc3VibWl0LmVsZW1lbnRzW2VsLm5hbWVdOwogICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmFkaW9zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICBhZGRFdmVudChyYWRpb3NbaV0sICdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICB2YWxpZGF0ZV9maWVsZChlbCwgdHJ1ZSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKGlucHV0KTsKICAgICAgICAgIH0gZWxzZSBpZiAoaW5wdXQudGFnTmFtZSA9PSAnU0VMRUNUJykgewogICAgICAgICAgICBhZGRFdmVudChpbnB1dCwgJ2NoYW5nZScsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHZhbGlkYXRlX2ZpZWxkKHRoaXMsIHRydWUpOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIHJlbW92ZV90b29sdGlwcygpOwogICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGFsbElucHV0cy5sZW5ndGg7IGkgPCBsZW47IGkrKykgewogICAgICB2YXIgZWxlbSA9IGFsbElucHV0c1tpXTsKICAgICAgaWYgKG5lZWRzX3ZhbGlkYXRlKGVsZW0pKSB7CiAgICAgICAgaWYgKGVsZW0udGFnTmFtZS50b0xvd2VyQ2FzZSgpICE9PSAic2VsZWN0IikgewogICAgICAgICAgZWxlbS52YWx1ZSA9IGVsZW0udmFsdWUudHJpbSgpOwogICAgICAgIH0KICAgICAgICB2YWxpZGF0ZV9maWVsZChlbGVtKSA/IHRydWUgOiBub19lcnJvciA9IGZhbHNlOwogICAgICB9CiAgICB9CiAgICBpZiAoIW5vX2Vycm9yICYmIGUpIHsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgfQogICAgcmVzaXplX3Rvb2x0aXBzKCk7CiAgICByZXR1cm4gbm9fZXJyb3I7CiAgfTsKICBhZGRFdmVudCh3aW5kb3csICdyZXNpemUnLCByZXNpemVfdG9vbHRpcHMpOwogIGFkZEV2ZW50KHdpbmRvdywgJ3Njcm9sbCcsIHJlc2l6ZV90b29sdGlwcyk7CiAgd2luZG93Ll9vbGRfc2VyaWFsaXplID0gbnVsbDsKICBpZiAodHlwZW9mIHNlcmlhbGl6ZSAhPT0gJ3VuZGVmaW5lZCcpIHdpbmRvdy5fb2xkX3NlcmlhbGl6ZSA9IHdpbmRvdy5zZXJpYWxpemU7CiAgX2xvYWRfc2NyaXB0KCIvL2QzcnhhaWo1NnZqZWdlLmNsb3VkZnJvbnQubmV0L2Zvcm0tc2VyaWFsaXplLzAuMy9zZXJpYWxpemUubWluLmpzIiwgZnVuY3Rpb24oKSB7CiAgICB3aW5kb3cuX2Zvcm1fc2VyaWFsaXplID0gd2luZG93LnNlcmlhbGl6ZTsKICAgIGlmICh3aW5kb3cuX29sZF9zZXJpYWxpemUpIHdpbmRvdy5zZXJpYWxpemUgPSB3aW5kb3cuX29sZF9zZXJpYWxpemU7CiAgfSk7CiAgdmFyIGZvcm1fc3VibWl0ID0gZnVuY3Rpb24oZSkgewogICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgaWYgKHZhbGlkYXRlX2Zvcm0oKSkgewogICAgICAvLyB1c2UgdGhpcyB0cmljayB0byBnZXQgdGhlIHN1Ym1pdCBidXR0b24gJiBkaXNhYmxlIGl0IHVzaW5nIHBsYWluIGphdmFzY3JpcHQKICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI19mb3JtXzlfc3VibWl0JykuZGlzYWJsZWQgPSB0cnVlOwogICAgICAgICAgICB2YXIgc2VyaWFsaXplZCA9IF9mb3JtX3NlcmlhbGl6ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX2Zvcm1fOV8nKSk7CiAgICAgIHZhciBlcnIgPSBmb3JtX3RvX3N1Ym1pdC5xdWVyeVNlbGVjdG9yKCcuX2Zvcm1fZXJyb3InKTsKICAgICAgZXJyID8gZXJyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZXJyKSA6IGZhbHNlOwogICAgICBfbG9hZF9zY3JpcHQoJ2h0dHBzOi8vY2Z0ZS5hY3RpdmVob3N0ZWQuY29tL<br />
3Byb2MucGhwPycgKyBzZXJpYWxpemVkICsgJyZqc29ucD10cnVlJyk7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfTsKICBhZGRFdmVudChmb3JtX3RvX3N1Ym1pdCwgJ3N1Ym1pdCcsIGZvcm1fc3VibWl0KTsKfSkoKTsKCjwvc2NyaXB0Pg==[/fusion_code][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]</p>
<p>The post <a href="https://blog.cfte.education/4-fintech-trends-2019/">4 Fintech Trends That Will Transform 2019</a> appeared first on <a href="https://blog.cfte.education">CFTE</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Record Investment meets the Rise of AI in Finance: A Handy Summary of 2018 Fintech</title>
		<link>https://blog.cfte.education/fintech-summary-2018/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fintech-summary-2018</link>
		
		<dc:creator><![CDATA[cfteadmin]]></dc:creator>
		<pubDate>Tue, 18 Dec 2018 16:21:00 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Fintech]]></category>
		<category><![CDATA[2018]]></category>
		<category><![CDATA[AI in Finance]]></category>
		<category><![CDATA[artificial intelligence]]></category>
		<category><![CDATA[CFTE Blog]]></category>
		<category><![CDATA[CFTE Research]]></category>
		<category><![CDATA[Finance]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[summary]]></category>
		<guid isPermaLink="false">https://www.cfte.education/?p=7493</guid>

					<description><![CDATA[<p>[fusion_builder_container admin_label=&#8221;Desktop&#8221; hundred_percent=&#8221;yes&#8221; hundred_percent_height=&#8221;no&#8221; hundred_percent_height_scroll=&#8221;no&#8221; hundred_percent_height_center_content=&#8221;yes&#8221; equal_height_columns=&#8221;no&#8221; menu_anchor=&#8221;&#8221; hide_on_mobile=&#8221;medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;center center&#8221; background_repeat=&#8221;no-repeat&#8221; fade=&#8221;no&#8221; background_parallax=&#8221;none&#8221; enable_mobile=&#8221;no&#8221; parallax_speed=&#8221;0.3&#8243; &#8230; <a href="https://blog.cfte.education/fintech-summary-2018/" class="btn btn-readmore">Read More <span class="screen-reader-text"> "Record Investment meets the Rise of AI in Finance: A Handy Summary of 2018 Fintech"</span></a></p>
<p>The post <a href="https://blog.cfte.education/fintech-summary-2018/">Record Investment meets the Rise of AI in Finance: A Handy Summary of 2018 Fintech</a> appeared first on <a href="https://blog.cfte.education">CFTE</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>[fusion_builder_container admin_label=&#8221;Desktop&#8221; hundred_percent=&#8221;yes&#8221; hundred_percent_height=&#8221;no&#8221; hundred_percent_height_scroll=&#8221;no&#8221; hundred_percent_height_center_content=&#8221;yes&#8221; equal_height_columns=&#8221;no&#8221; menu_anchor=&#8221;&#8221; hide_on_mobile=&#8221;medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;center center&#8221; background_repeat=&#8221;no-repeat&#8221; fade=&#8221;no&#8221; background_parallax=&#8221;none&#8221; enable_mobile=&#8221;no&#8221; parallax_speed=&#8221;0.3&#8243; video_mp4=&#8221;&#8221; video_webm=&#8221;&#8221; video_ogv=&#8221;&#8221; video_url=&#8221;&#8221; video_aspect_ratio=&#8221;16:9&#8243; video_loop=&#8221;yes&#8221; video_mute=&#8221;yes&#8221; video_preview_image=&#8221;&#8221; border_size=&#8221;&#8221; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; padding_top=&#8221;2%&#8221; padding_right=&#8221;10%&#8221; padding_bottom=&#8221;2%&#8221; padding_left=&#8221;10%&#8221; admin_toggled=&#8221;no&#8221;][fusion_builder_row][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;yes&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;&#8221; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;2%&#8221; padding_right=&#8221;10%&#8221; padding_bottom=&#8221;2%&#8221; padding_left=&#8221;10%&#8221; margin_top=&#8221;0px&#8221; margin_bottom=&#8221;0px&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_text columns=&#8221;&#8221; column_min_width=&#8221;&#8221; column_spacing=&#8221;&#8221; rule_style=&#8221;default&#8221; rule_size=&#8221;&#8221; rule_color=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221;]</p>
<h1 id="23c4" class="graf graf--h3 graf--leading graf--title" style="text-align: center;"><span style="font-family: Arial; font-size: 28px; color: #993300;"><strong class="markup--strong markup--h3-strong">Record Investment meets the Rise of AI in Finance: A Handy Summary of 2018 Fintech</strong></span></h1>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7499" src="https://www.cfte.education/wp-content/uploads/2018/12/1_J6jseQUBg6431JnJJr6eIQ.jpeg" alt="" width="750" height="500" /></p>
<div class="uiScale uiScale-ui--regular uiScale-caption--regular u-flexCenter u-marginVertical24 u-fontSize15 js-postMetaLockup">
<div class="u-flex0">
<span style="font-family: Arial;">Wow, what a whirlwind of a year in Fintech. <a class="markup--anchor markup--p-anchor" href="https://www.cfte.education/blog/cftes-fintech-trends-predictions-for-2018/" target="_blank" rel="noopener nofollow noreferrer" data-href="https://www.cfte.education/blog/cftes-fintech-trends-predictions-for-2018/">Just as we predicted</a>, 2018 proved itself to be a massive year of growth for Fintech firms and emerging technologies, like <a class="markup--anchor markup--p-anchor" href="http://bit.ly/2UCIhQC" target="_blank" rel="nofollow noopener noreferrer" data-href="http://bit.ly/2UCIhQC">Artificial Intelligence</a>, alike. Once rather placid with few rippling trends, fintech has transformed finance into a dynamic market with innovative firms competing to raise the bar above one another. As consumers continue to have greater expectations for personalised services across other industries like electronics and retail, the realm of financial services has realised the lucrativeness of meeting these needs.</span></p>
<p id="37d2" class="graf graf--p graf-after--p"><span style="font-family: Arial;">Let’s sift through 2018 in Fintech, together:</span></p>
<h2 id="0370" class="graf graf--h3 graf-after--p"><span style="font-family: Arial;"><strong class="markup--strong markup--h3-strong">More money than ever in Fintech</strong></span></h2>
<p id="6c61" class="graf graf--p graf-after--h3"><span style="font-family: Arial;">We’ll begin with the rather large elephant in the room. This last month saw <a class="markup--anchor markup--p-anchor" href="https://www.cfte.education/2018/12/05/the-largest-ever-crowdfunding-round-for-a-fintech-startup-completed-in-2-hours/" target="_blank" rel="noopener nofollow noreferrer" data-href="https://www.cfte.education/2018/12/05/the-largest-ever-crowdfunding-round-for-a-fintech-startup-completed-in-2-hours/">the largest-ever crowdfunding round for a Fintech startup</a>, with <strong class="markup--strong markup--p-strong">Monzo </strong>reaching their goal of <strong class="markup--strong markup--p-strong">£20m</strong> in <em class="markup--em markup--p-em">just</em> 2 hours and 45 minutes when it opened its round to the public on the morning of December 5th. Over 36,000 investors forked out their wallets to ensure Monzo is now valued <strong class="markup--strong markup--p-strong">40 times more</strong> than their initial value during their first raise in early 2016. What’s more, this follows October’s £85 million Series E round, led by <strong class="markup--strong markup--p-strong">General Catalyst</strong> and <strong class="markup--strong markup--p-strong">Accel</strong>, which made the digital mobile-only bank the latest UK start-up to achieve bonafide <strong class="markup--strong markup--p-strong"><em class="markup--em markup--p-em">unicorn</em></strong> status.</span></p>
<p id="7655" class="graf graf--p graf-after--p"><span style="font-family: Arial;">Speaking of Fintech unicorns, there are now about 29 of them merrily strolling the fields of finance, <a class="markup--anchor markup--p-anchor" href="https://www.cbinsights.com/research/report/fintech-trends-q2-2018/" target="_blank" rel="noopener nofollow noreferrer" data-href="https://www.cbinsights.com/research/report/fintech-trends-q2-2018/">at an aggregated USD $84.4 billion</a>. Q2 gave birth to five new unicorns, with <strong class="markup--strong markup--p-strong">Ribbit Capital</strong> and <strong class="markup--strong markup--p-strong">QED Investors</strong> the most active fintech unicorn investor.</span></p>
<p><figure id="attachment_7496" aria-describedby="caption-attachment-7496" style="width: 788px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-7496 size-full" src="https://www.cfte.education/wp-content/uploads/2018/12/1_BrpibD9ZwLPJrzFQWQHmSw.png" alt="fintech investment 2018 " width="788" height="537" /><figcaption id="caption-attachment-7496" class="wp-caption-text"><span style="font-family: Arial;"><strong>Source: Pulse of Fintech 2018, Global analysis of investment in fintech, KPMG International (data provided by PitchBook) 9 July, 2018.</strong></span></figcaption></figure></p>
<p id="7773" class="graf graf--p graf-after--figure"><span style="font-family: Arial;">Overall investment across venture capital, private equity and mergers &amp; acquisitions are markedly above 2017’s totals. In H1, <a class="markup--anchor markup--p-anchor" href="https://assets.kpmg.com/content/dam/kpmg/xx/pdf/2018/07/h1-2018-pulse-of-fintech.pdf" target="_blank" rel="noopener nofollow noreferrer" data-href="https://assets.kpmg.com/content/dam/kpmg/xx/pdf/2018/07/h1-2018-pulse-of-fintech.pdf">global investment in fintech firms surpassed $57.9 billion</a>, with $16.8 and $26 billion of this going to the Asian and European continents respectively. Moreover, global median venture deal size for late stage investment <strong class="markup--strong markup--p-strong">rose</strong> from 2017’s now paltry $14 million to a more reasonable <strong class="markup--strong markup--p-strong">$25 million</strong> this year.</span></p>
<p id="4b27" class="graf graf--p graf-after--p"><span style="font-family: Arial;">This, in part, was driven by two monumental deals: the record-shattering $14 billion raise by <strong class="markup--strong markup--p-strong">Ant Financial</strong> in Q2 and <strong class="markup--strong markup--p-strong">Worldpay</strong> being acquired by <strong class="markup--strong markup--p-strong">Vantiv</strong>in Q1 for $12.9 billion. Outside of these two major outliers, the worldwide fintech market built some great momentum, as the <strong class="markup--strong markup--p-strong">geographic diversity of fintech investment expanded beyond expectations</strong>. The usual faces of the UK, USA, India and China aside, other nations like Japan, South Korea, Switzerland and France all saw outstanding fintech deals. Most notably, Brazil held the honour of introducing its native <strong class="markup--strong markup--p-strong">Nubank</strong> into the fintech unicorn club.</span></p>
<p id="1f7e" class="graf graf--p graf-after--p"><span style="font-family: Arial;">A broad array of companies spent big on emerging areas of innovation in finance, with artificial intelligence, machine learning and data analytics receiving particular attention from major fintech investors.</span></p>
<h2 id="a627" class="graf graf--h3 graf-after--p" style="text-align: left;"><span style="font-family: Arial;"><strong class="markup--strong markup--h3-strong">The rise of Artificial Intelligence in Financial Services</strong></span></h2>
<p id="36a8" class="graf graf--p graf-after--h3"><span style="font-family: Arial;"><strong class="markup--strong markup--p-strong">The growth and adoption of artificial intelligence in financial services throughout the year cannot be overstressed</strong>. AI has been quietly transforming the inner, core workings of banks, leading early major movers to service their AI applications to their competitors. This leads users to accelerate the program’s learning, and eventually flipping previous cost centres into future profitable divisions.</span></p>
<p id="f127" class="graf graf--p graf-after--p"><span style="font-family: Arial;">The fintech scene in UK is one of the fastest growing sectors in business, with multiple challenger banks emerging from the shadows of monolithic financial institutions. One example, <strong class="markup--strong markup--p-strong">OakNorth</strong>, has created its own AI application, entitled Acorn Machines, which employs data to empower lenders to offer finance to SMEs. Other startups, like <strong class="markup--strong markup--p-strong">ComplyAdvantage</strong>, demonstrate the utility of artificial intelligence in financial services, by providing banks with practical solutions for money laundering and trading applications.</span></p>
<p id="9f55" class="graf graf--p graf-after--p"><span style="font-family: Arial;">Across the globe, artificial intelligence continues to make waves. The <strong class="markup--strong markup--p-strong">Monetary Authority of Singapore (MAS)</strong> f<a class="markup--anchor markup--p-anchor" href="https://techwireasia.com/2018/11/singapore-issues-guidelines-for-use-of-ai-and-analytics-in-finance/" target="_blank" rel="noopener nofollow noreferrer" data-href="https://techwireasia.com/2018/11/singapore-issues-guidelines-for-use-of-ai-and-analytics-in-finance/">ormed a set of principles</a> to guide the nation’s usage of artificial intelligence in finance. The principles promote <strong class="markup--strong markup--p-strong">fairness, ethics, accountability,</strong> and <strong class="markup--strong markup--p-strong">transparency</strong> (<strong class="markup--strong markup--p-strong">F.E.A.T</strong>) in the use of <strong class="markup--strong markup--p-strong">AI &amp; Data Analytics (AIDA)</strong> across the finance sector. The FEAT Principles informs financial firms on the ethics when using AIDA.</span></p>
<p id="a6fc" class="graf graf--p graf-after--p"><span style="font-family: Arial;">Elsewhere, Beijing’s <strong class="markup--strong markup--p-strong">Tsinghua University </strong>partnered with the <strong class="markup--strong markup--p-strong">University of Hong Kong (HKU)</strong> to <a class="markup--anchor markup--p-anchor" href="https://www.biometricupdate.com/201811/hong-kong-and-tsinghua-universities-partner-to-support-ai-innovation" target="_blank" rel="noopener nofollow noreferrer" data-href="https://www.biometricupdate.com/201811/hong-kong-and-tsinghua-universities-partner-to-support-ai-innovation">accelerate projects employing Artificial Intelligence</a>, including those related to FinTech and environmental protection. The new initiative features collaboration between the Ministry of Science and Technology and Sensetime as they develop new AI applications. This follows China’s continued support for rapid innovation in technology across Hong Kong.</span></p>
<p id="261b" class="graf graf--p graf-after--p graf--trailing"><span style="font-family: Arial;">For some North American representation, Montreal impressively finds itself <a class="markup--anchor markup--p-anchor" href="https://www.cfte.education/2018/12/07/montreal-a-rising-hub-for-artificial-intelligence/" target="_blank" rel="noopener nofollow noreferrer" data-href="https://www.cfte.education/2018/12/07/montreal-a-rising-hub-for-artificial-intelligence/">playing host to three new AI firms</a>: <strong class="markup--strong markup--p-strong">QuantumBlack</strong>, <strong class="markup--strong markup--p-strong">WinningMinds</strong>, and <strong class="markup--strong markup--p-strong">BIOS</strong>, with 130 new jobs expected in the city. The trio find themselves in good company, with Montreal receiving almost <strong class="markup--strong markup--p-strong">CA$1.1 billion in AI investment</strong>since 2016 — according to Montreal International.</span></p>
</div>
<p id="0be4" class="graf graf--p graf--leading"><span style="font-family: Arial;"><em class="markup--em markup--p-em">All this shows plenty has happened in 2018, and having a firm understanding of the concepts behind these moves is paramount to industry success.This is especially important with the close of 2018, as the turn of the New Year presents a wondrous opportunity to finally jump aboard the Artificial Intelligence movement.</em></span></p>
<p id="7701" class="graf graf--p graf-after--p graf--trailing"><span style="font-family: Arial;"><em class="markup--em markup--p-em">Fortunately, </em><strong class="markup--strong markup--p-strong">CFTE</strong><em class="markup--em markup--p-em"> has formed </em><a class="markup--anchor markup--p-anchor" href="http://bit.ly/2PMkZnJ" target="_blank" rel="nofollow noopener noreferrer" data-href="http://bit.ly/2UCIhQC"><strong class="markup--strong markup--p-strong">AI in Finance</strong></a><em class="markup--em markup--p-em"> — a leading programme which allows participants to learn from senior industry leaders who hail from the large financial institutions, fast growing startups and regulatory agencies. Featuring 18 guest speakers and 5 senior lecturers, learners will understand how AI transforms finance. Designed for those novices or professionals who want to be part of this flourishing industry, and with no prerequisites, — </em><a class="markup--anchor markup--p-anchor" href="http://bit.ly/2PMkZnJ" target="_blank" rel="nofollow noopener noreferrer" data-href="http://bit.ly/2UCIhQC"><strong class="markup--strong markup--p-strong">join the AI revolution in Finance today!</strong></a></span></p>
</div>
<p>[/fusion_text][/fusion_builder_column][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;2%&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;1%&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_separator style_type=&#8221;default&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; sep_color=&#8221;&#8221; top_margin=&#8221;&#8221; bottom_margin=&#8221;&#8221; border_size=&#8221;2&#8243; icon=&#8221;&#8221; icon_circle=&#8221;&#8221; icon_circle_color=&#8221;&#8221; width=&#8221;&#8221; alignment=&#8221;center&#8221; /][/fusion_builder_column][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;relatedPosts&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;&#8221; padding_right=&#8221;10%&#8221; padding_bottom=&#8221;0%&#8221; padding_left=&#8221;10%&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_text columns=&#8221;&#8221; column_min_width=&#8221;&#8221; column_spacing=&#8221;&#8221; rule_style=&#8221;default&#8221; rule_size=&#8221;&#8221; rule_color=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221;]</p>
<h3>Related Posts</h3>
<p>[/fusion_text][fusion_separator style_type=&#8221;default&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; sep_color=&#8221;&#8221; top_margin=&#8221;2%&#8221; bottom_margin=&#8221;&#8221; border_size=&#8221;0&#8243; icon=&#8221;&#8221; icon_circle=&#8221;&#8221; icon_circle_color=&#8221;&#8221; width=&#8221;&#8221; alignment=&#8221;center&#8221; /][fusion_builder_row_inner][fusion_builder_column_inner type=&#8221;1_3&#8243; layout=&#8221;1_3&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; hover_type=&#8221;none&#8221; link=&#8221;&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogPost&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; padding_top=&#8221;&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221; border_position=&#8221;all&#8221;][fusion_recent_posts layout=&#8221;default&#8221; hover_type=&#8221;none&#8221; columns=&#8221;1&#8243; number_posts=&#8221;1&#8243; offset=&#8221;0&#8243; pull_by=&#8221;category&#8221; cat_slug=&#8221;news&#8221; exclude_cats=&#8221;&#8221; tag_slug=&#8221;&#8221; exclude_tags=&#8221;&#8221; thumbnail=&#8221;yes&#8221; title=&#8221;yes&#8221; meta=&#8221;yes&#8221; meta_author=&#8221;no&#8221; meta_categories=&#8221;no&#8221; meta_date=&#8221;yes&#8221; meta_comments=&#8221;no&#8221; meta_tags=&#8221;no&#8221; content_alignment=&#8221;&#8221; excerpt=&#8221;no&#8221; excerpt_length=&#8221;0&#8243; strip_html=&#8221;yes&#8221; scrolling=&#8221;no&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogImage&#8221; id=&#8221;BlogImage&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; /][/fusion_builder_column_inner][fusion_builder_column_inner type=&#8221;1_3&#8243; layout=&#8221;1_3&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; hover_type=&#8221;none&#8221; link=&#8221;&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogPost&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; padding_top=&#8221;&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221; border_position=&#8221;all&#8221;][fusion_recent_posts layout=&#8221;default&#8221; hover_type=&#8221;none&#8221; columns=&#8221;1&#8243; number_posts=&#8221;1&#8243; offset=&#8221;4&#8243; pull_by=&#8221;category&#8221; cat_slug=&#8221;news&#8221; exclude_cats=&#8221;&#8221; tag_slug=&#8221;&#8221; exclude_tags=&#8221;&#8221; thumbnail=&#8221;yes&#8221; title=&#8221;yes&#8221; meta=&#8221;yes&#8221; meta_author=&#8221;no&#8221; meta_categories=&#8221;no&#8221; meta_date=&#8221;yes&#8221; meta_comments=&#8221;no&#8221; meta_tags=&#8221;no&#8221; content_alignment=&#8221;&#8221; excerpt=&#8221;no&#8221; excerpt_length=&#8221;0&#8243; strip_html=&#8221;yes&#8221; scrolling=&#8221;no&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogImage&#8221; id=&#8221;BlogImage&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; /][/fusion_builder_column_inner][fusion_builder_column_inner type=&#8221;1_3&#8243; layout=&#8221;1_3&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; hover_type=&#8221;none&#8221; link=&#8221;&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogPost&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; padding_top=&#8221;&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221; border_position=&#8221;all&#8221;][fusion_recent_posts layout=&#8221;default&#8221; hover_type=&#8221;none&#8221; columns=&#8221;1&#8243; number_posts=&#8221;1&#8243; offset=&#8221;7&#8243; pull_by=&#8221;category&#8221; cat_slug=&#8221;news&#8221; exclude_cats=&#8221;&#8221; tag_slug=&#8221;&#8221; exclude_tags=&#8221;&#8221; thumbnail=&#8221;yes&#8221; title=&#8221;yes&#8221; meta=&#8221;yes&#8221; meta_author=&#8221;no&#8221; meta_categories=&#8221;no&#8221; meta_date=&#8221;yes&#8221; meta_comments=&#8221;no&#8221; meta_tags=&#8221;no&#8221; content_alignment=&#8221;&#8221; excerpt=&#8221;no&#8221; excerpt_length=&#8221;0&#8243; strip_html=&#8221;yes&#8221; scrolling=&#8221;no&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogImage&#8221; id=&#8221;BlogImage&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; /][/fusion_builder_column_inner][/fusion_builder_row_inner][/fusion_builder_column][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;0%&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;1%&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_separator style_type=&#8221;default&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; sep_color=&#8221;&#8221; top_margin=&#8221;&#8221; bottom_margin=&#8221;&#8221; border_size=&#8221;2&#8243; icon=&#8221;&#8221; icon_circle=&#8221;&#8221; icon_circle_color=&#8221;&#8221; width=&#8221;&#8221; alignment=&#8221;center&#8221; /][/fusion_builder_column][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_code]PHN0eWxlPgogI19mb3JtXzlfIHsgZm9udC1zaXplOjE0cHg7IGxpbmUtaGVpZ2h0OjEuNjsgZm9udC1mYW1pbHk6YXJpYWwsIGhlbHZldGljYSwgc2Fucy1zZXJpZjsgbWFyZ2luOjA7IH0KICNfZm9ybV85XyAqIHsgb3V0bGluZTowOyB9CiAuX2Zvcm1faGlkZSB7IGRpc3BsYXk6bm9uZTsgdmlzaWJpbGl0eTpoaWRkZW47IH0KIC5fZm9ybV9zaG93IHsgZGlzcGxheTpibG9jazsgdmlzaWJpbGl0eTp2aXNpYmxlOyB9CiAjX2Zvcm1fOV8uX2Zvcm0tdG9wIHsgdG9wOjA7IH0KICNfZm9ybV85Xy5fZm9ybS1ib3R0b20geyBib3R0b206MDsgfQogI19mb3JtXzlfLl9mb3JtLWxlZnQgeyBsZWZ0OjA7IH0KICNfZm9ybV85Xy5fZm9ybS1yaWdodCB7IHJpZ2h0OjA7IH0KICNfZm9ybV85XyBpbnB1dFt0eXBlPSJ0ZXh0Il0sI19mb3JtXzlfIGlucHV0W3R5cGU9ImRhdGUiXSwjX2Zvcm1fOV8gdGV4dGFyZWEgeyBwYWRkaW5nOjZweDsgaGVpZ2h0OmF1dG87IGJvcmRlcjojOTc5Nzk3IDFweCBzb2xpZDsgYm9yZGVyLXJhZGl1czo0cHg7IGNvbG9yOiMwMDAgIWltcG9ydGFudDsgZm9udC1zaXplOjEzcHg7IC13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94OyAtbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDsgYm94LXNpemluZzpib3JkZXItYm94OyB9CiAjX2Zvcm1fOV8gdGV4dGFyZWEgeyByZXNpemU6bm9uZTsgfQogI19mb3JtXzlfIC5fc3VibWl0IHsgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7IGN1cnNvcjpwb2ludGVyOyBmb250LWZhbWlseTphcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHg7IHRleHQtYWxpZ246Y2VudGVyOyBiYWNrZ3JvdW5kOiM4ZjA3MDcgIWltcG9ydGFudDsgYm9yZGVyOjAgIWltcG9ydGFudDsgLW1vei1ib3JkZXItcmFkaXVzOjRweCAhaW1wb3J0YW50OyAtd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4ICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6NHB4ICFpbXBvcnRhbnQ7IGNvbG9yOiNmZmYgIWltcG9ydGFudDsgcGFkZGluZzoxMHB4ICFpbXBvcnRhbnQ7IH0KICNfZm9ybV85XyAuX2Nsb3NlLWljb24geyBjdXJzb3I6cG9pbnRlcjsgYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vZDIyNmFqNGFvMXQ2MXEuY2xvdWRmcm9udC5uZXQvZXNma3lqaDF1X2Zvcm1zLWNsb3NlLWRhcmsucG5nJyk7IGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsgYmFja2dyb3VuZC1zaXplOjE0LjJweCAxNC4ycHg7IHBvc2l0aW9uOmFic29sdXRlOyBkaXNwbGF5OmJsb2NrOyB0b3A6MTFweDsgcmlnaHQ6OXB4OyBvdmVyZmxvdzpoaWRkZW47IHdpZHRoOjE2LjJweDsgaGVpZ2h0OjE2LjJweDsgfQogI19mb3JtXzlfIC5fY2xvc2UtaWNvbjpiZWZvcmUgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgfQogI19mb3JtXzlfIC5fZm9ybS1ib2R5IHsgbWFyZ2luLWJvdHRvbTozMHB4OyB9CiAjX2Zvcm1fOV8gLl9mb3JtLWltYWdlLWxlZnQgeyB3aWR0aDoxNTBweDsgZmxvYXQ6bGVmdDsgfQogI19mb3JtXzlfIC5fZm9ybS1jb250ZW50LXJpZ2h0IHsgbWFyZ2luLWxlZnQ6MTY0cHg7IH0KICNfZm9ybV85XyAuX2Zvcm0tYnJhbmRpbmcgeyBjb2xvcjojZmZmOyBmb250LXNpemU6MTBweDsgY2xlYXI6Ym90aDsgdGV4dC1hbGlnbjpsZWZ0OyBtYXJnaW4tdG9wOjMwcHg7IGZvbnQtd2VpZ2h0OjEwMDsgfQogI19mb3JtXzlfIC5fZm9ybS1icmFuZGluZyAuX2xvZ28geyBkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMzBweDsgaGVpZ2h0OjE0cHg7IG1hcmdpbi10b3A6NnB4OyBiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly9kMjI2YWo0YW8xdDYxcS5jbG91ZGZyb250Lm5ldC9oaDl1anFndjVfYWNsb2dvX2xpLnBuZycpOyBiYWNrZ3JvdW5kLXNpemU6MTMwcHggYXV0bzsgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OyB9CiAjX2Zvcm1fOV8gLl9mb3JtLWxhYmVsLCNfZm9ybV85XyAuX2Zvcm1fZWxlbWVudCAuX2Zvcm0tbGFiZWwgeyBmb250LXdlaWdodDpib2xkOyBtYXJnaW4tYm90dG9tOjVweDsgZGlzcGxheTpibG9jazsgfQogI19mb3JtXzlfLl9kYXJrIC5fZm9ybS1icm<br />
FuZGluZyB7IGNvbG9yOiMzMzM7IH0KICNfZm9ybV85Xy5fZGFyayAuX2Zvcm0tYnJhbmRpbmcgLl9sb2dvIHsgYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vZDIyNmFqNGFvMXQ2MXEuY2xvdWRmcm9udC5uZXQvamZ0cTJjOHNfYWNsb2dvX2RrLnBuZycpOyB9CiAjX2Zvcm1fOV8gLl9mb3JtX2VsZW1lbnQgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgbWFyZ2luLWJvdHRvbToxMHB4OyBmb250LXNpemU6MDsgbWF4LXdpZHRoOjEwMCU7IH0KICNfZm9ybV85XyAuX2Zvcm1fZWxlbWVudCAqIHsgZm9udC1zaXplOjE0cHg7IH0KICNfZm9ybV85XyAuX2Zvcm1fZWxlbWVudC5fY2xlYXIgeyBjbGVhcjpib3RoOyB3aWR0aDoxMDAlOyBmbG9hdDpub25lOyB9CiAjX2Zvcm1fOV8gLl9mb3JtX2VsZW1lbnQuX2NsZWFyOmFmdGVyIHsgY2xlYXI6bGVmdDsgfQogI19mb3JtXzlfIC5fZm9ybV9lbGVtZW50IGlucHV0W3R5cGU9InRleHQiXSwjX2Zvcm1fOV8gLl9mb3JtX2VsZW1lbnQgaW5wdXRbdHlwZT0iZGF0ZSJdLCNfZm9ybV85XyAuX2Zvcm1fZWxlbWVudCBzZWxlY3QsI19mb3JtXzlfIC5fZm9ybV9lbGVtZW50IHRleHRhcmVhOm5vdCguZy1yZWNhcHRjaGEtcmVzcG9uc2UpIHsgZGlzcGxheTpibG9jazsgd2lkdGg6MTAwJTsgLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7IC1tb3otYm94LXNpemluZzpib3JkZXItYm94OyBib3gtc2l6aW5nOmJvcmRlci1ib3g7IH0KICNfZm9ybV85XyAuX2ZpZWxkLXdyYXBwZXIgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgfQogI19mb3JtXzlfIC5faW5saW5lLXN0eWxlIHsgZmxvYXQ6bGVmdDsgfQogI19mb3JtXzlfIC5faW5saW5lLXN0eWxlIGlucHV0W3R5cGU9InRleHQiXSB7IHdpZHRoOjE1MHB4OyB9CiAjX2Zvcm1fOV8gLl9pbmxpbmUtc3R5bGU6bm90KC5fY2xlYXIpICsgLl9pbmxpbmUtc3R5bGU6bm90KC5fY2xlYXIpIHsgbWFyZ2luLWxlZnQ6MjBweDsgfQogI19mb3JtXzlfIC5fZm9ybV9lbGVtZW50IGltZy5fZm9ybS1pbWFnZSB7IG1heC13aWR0aDoxMDAlOyB9CiAjX2Zvcm1fOV8gLl9jbGVhci1lbGVtZW50IHsgY2xlYXI6bGVmdDsgfQogI19mb3JtXzlfIC5fZnVsbF93aWR0aCB7IHdpZHRoOjEwMCU7IH0KICNfZm9ybV85XyAuX2Zvcm1fZnVsbF9maWVsZCB7IGRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IG1hcmdpbi1ib3R0b206MTBweDsgfQogI19mb3JtXzlfIGlucHV0W3R5cGU9InRleHQiXS5faGFzX2Vycm9yLCNfZm9ybV85XyB0ZXh0YXJlYS5faGFzX2Vycm9yIHsgYm9yZGVyOiNmMzdjN2IgMXB4IHNvbGlkOyB9CiAjX2Zvcm1fOV8gaW5wdXRbdHlwZT0iY2hlY2tib3giXS5faGFzX2Vycm9yIHsgb3V0bGluZTojZjM3YzdiIDFweCBzb2xpZDsgfQogI19mb3JtXzlfIC5fZXJyb3IgeyBkaXNwbGF5OmJsb2NrOyBwb3NpdGlvbjphYnNvbHV0ZTsgZm9udC1zaXplOjEzcHg7IHotaW5kZXg6MTAwMDAwMDE7IH0KICNfZm9ybV85XyAuX2Vycm9yLl9hYm92ZSB7IHBhZGRpbmctYm90dG9tOjRweDsgdG9wOi00MXB4OyByaWdodDowOyB9CiAjX2Zvcm1fOV8gLl9lcnJvci5fYmVsb3cgeyBwYWRkaW5nLXRvcDo0cHg7IHRvcDoxMDAlOyByaWdodDowOyB9CiAjX2Zvcm1fOV8gLl9lcnJvci5fYWJvdmUgLl9lcnJvci1hcnJvdyB7IGJvdHRvbTowOyByaWdodDoxNXB4OyBib3JkZXItbGVmdDo1cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1yaWdodDo1cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci10b3A6NXB4IHNvbGlkICNmMzdjN2I7IH0KICNfZm9ybV85XyAuX2Vycm9yLl9iZWxvdyAuX2Vycm9yLWFycm93IHsgdG9wOjA7IHJpZ2h0OjE1cHg7IGJvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLXJpZ2h0OjVweCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLWJvdHRvbTo1cHggc29saWQgI2YzN2M3YjsgfQogI19mb3JtXzlfIC5fZXJyb3ItaW5uZXIgeyBwYWRkaW5nOjhweCAxMnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNmMzdjN2I7IGZvbnQtc2l6ZToxM3B4OyBmb250LWZhbWlseTphcmlhbCwgc2Fucy1zZXJpZjsgY29sb3I6I2ZmZjsgdGV4dC1hbGlnbjpjZW50ZXI7IHRleHQtZGVjb3JhdGlvbjpub25lOyAtd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4OyAtbW96LWJvcmRlci1yYWRpdXM6NHB4OyBib3JkZXItcmFkaXVzOjRweDsgfQogI19mb3JtXzlfIC5fZXJyb3ItaW5uZXIuX2Zvcm1fZXJyb3IgeyBtYXJnaW4tYm90dG9tOjVweDsgdGV4dC1hbGlnbjpsZWZ0OyB9CiAjX2Zvcm1fOV8gLl9idXR0b24td3JhcHBlciAuX2Vycm9yLWlubmVyLl9mb3JtX2Vycm9yIHsgcG9zaXRpb246c3RhdGljOyB9CiAjX2Zvcm1fOV8gLl9lcnJvci1pbm5lci5fbm9fYXJyb3cgeyBtYXJnaW4tYm90dG9tOjEwcHg7IH0KICNfZm9ybV85XyAuX2Vycm9yLWFycm93IHsgcG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOjA7IGhlaWdodDowOyB9CiAjX2Zvcm1fOV8gLl9lcnJvci1odG1sIHsgbWFyZ2luLWJvdHRvbToxMHB4OyB9CiAucGlrYS1zaW5nbGUgeyB6LWluZGV4OjEwMDAwMDAxICFpbXBvcnRhbnQ7IH0KIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6MzIwcHgpIGFuZCAobWF4LXdpZHRoOjY2N3B4KSB7IDo6LXdlYmtpdC1zY3JvbGxiYXIgeyBkaXNwbGF5Om5vbmU7IH0KICNfZm9ybV85XyB7IG1hcmdpbjowOyB3aWR0aDoxMDAlOyBtaW4td2lkdGg6MTAwJTsgbWF4LXdpZHRoOjEwMCU7IGJveC1zaXppbmc6Ym9yZGVyLWJveDsgfQogI19mb3JtXzlfICogeyAtd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDsgLW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7IGJveC1zaXppbmc6Ym9yZGVyLWJveDsgZm9udC1zaXplOjFlbTsgfQogI19mb3JtXzlfIC5fZm9ybS1jb250ZW50IHsgbWFyZ2luOjA7IHdpZHRoOjEwMCU7IH0KICNfZm9ybV85XyAuX2Zvcm0taW5uZXIgeyBkaXNwbGF5OmJsb2NrOyBtaW4td2lkdGg6MTAwJTsgfQogI19mb3JtXzlfIC5fZm9ybS10aXRsZSwjX2Zvcm1fOV8gLl9pbmxpbmUtc3R5bGUgeyBtYXJnaW4tdG9wOjA7IG1hcmdpbi1yaWdodDowOyBtYXJnaW4tbGVmdDowOyB9CiAjX2Zvcm1fOV8gLl9mb3JtLXRpdGxlIHsgZm9udC1zaXplOjEuMmVtOyB9CiAjX2Zvcm1fOV8gLl9mb3JtX2VsZW1lbnQgeyBtYXJnaW46MCAwIDIwcHg7IHBhZGRpbmc6MDsgd2lkdGg6MTAwJTsgfQogI19mb3JtXzlfIC5fZm9ybS1lbGVtZW50LCNfZm9ybV85XyAuX2lubGluZS1zdHlsZSwjX2Zvcm1fOV8gaW5wdXRbdHlwZT0idGV4dCJdLCNfZm9ybV85XyBsYWJlbCwjX2Zvcm1fOV8gcCwjX2Zvcm1fOV8gdGV4dGFyZWE6bm90KC5nLXJlY2FwdGNoYS1yZXNwb25zZSkgeyBmbG9hdDpub25lOyBkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyB9CiAjX2Zvcm1fOV8gLl9yb3cuX2NoZWNrYm94LXJhZGlvIGxhYmVsIHsgZGlzcGxheTppbmxpbmU7IH0KICNfZm9ybV85XyAuX3JvdywjX2Zvcm1fOV8gcCwjX2Zvcm1fOV8gbGFiZWwgeyBtYXJnaW4tYm90dG9tOjAuN2VtOyB3aWR0aDoxMDAlOyB9CiAjX2Zvcm1fOV8gLl9yb3cgaW5wdXRbdHlwZT0iY2hlY2tib3giXSwjX2Zvcm1fOV8gLl9yb3cgaW5wdXRbdHlwZT0icmFkaW8iXSB7IG1hcmdpbjowICFpbXBvcnRhbnQ7IHZlcnRpY2FsLWFsaWduOm1pZGRsZSAhaW1wb3J0YW50OyB9CiAjX2Zvcm1fOV8gLl9yb3cgaW5wdXRbdHlwZT0iY2hlY2tib3giXSArIHNwYW4gbGFiZWwgeyBkaXNwbGF5OmlubGluZTsgfQogI19mb3JtXzlfIC5fcm93IHNwYW4gbGFiZWwgeyBtYXJnaW46MCAhaW1wb3J0YW50OyB3aWR0aDppbml0aWFsICFpbXBvcnRhbnQ7IHZlcnRpY2FsLWFsaWduOm1pZGRsZSAhaW1wb3J0YW50OyB9CiAjX2Zvcm1fOV8gLl9mb3JtLWltYWdlIHsgbWF4LXdpZHRoOjEwMCU7IGhlaWdodDphdXRvICFpbXBvcnRhbnQ7IH0KICNfZm9ybV85XyBpbnB1dFt0eXBlPSJ0ZXh0Il0geyBwYWRkaW5nLWxlZnQ6MTBweDsgcGFkZGluZy1yaWdodDoxMHB4OyBmb250LXNpemU6MTZweDsgbGluZS1oZWlnaHQ6MS4zZW07IC13ZWJraXQtYXBwZWFyYW5jZTpub25lOyB9CiAjX2Zvcm1fOV8gaW5wdXRbdHlwZT0icmFkaW8iXSwjX2Zvcm1fOV8gaW5wdXRbdHlwZT0iY2hlY2tib3giXSB7IGRpc3BsYXk6aW5saW5lLWJsb2NrOyB3aWR0aDoxLjNlbTsgaGVpZ2h0OjEuM2VtOyBmb250LXNpemU6MWVtOyBtYXJnaW46MCAwLjNlbSAwIDA7IHZlcnRpY2FsLWFsaWduOmJhc2VsaW5lOyB9CiAjX2Zvcm1fOV8gYnV0dG9uW3R5cGU9InN1Ym1pdCJdIHsgcGFkZGluZzoyMHB4OyBmb250LXNpemU6MS41ZW07IH0KICNfZm9ybV85XyAuX2lubGluZS1zdHlsZSB7IG1hcmdpbjoyMHB4IDAgMCAhaW1wb3J0YW50OyB9CiB9CiAjX2Zvcm1fOV8geyBwb3NpdGlvbjpyZWxhdGl2ZTsgdGV4dC1hbGlnbjpsZWZ0OyBtYXJnaW46MjVweCBhdXRvIDA7IHBhZGRpbmc6MjBweDsgLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7IC1tb3otYm94LXNpemluZzpib3JkZXItYm94OyBib3gtc2l6aW5nOmJvcmRlci1ib3g7ICp6b29tOjE7IGJhY2tncm91bmQ6I2ZmZiAhaW1wb3J0YW50OyBib3JkZXI6MHB4IHNvbGlkICNiMGIwYjAgIWltcG9ydGFudDsgd2lkdGg6NTAwcHg7IC1tb3otYm9yZGVyLXJhZGl1czowcHggIWltcG9ydGFudDsgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjBweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOjBweCAhaW1wb3J0YW50OyBjb2xvcjojMDAwICFpbXBvcnRhbnQ7IH0KICNfZm9ybV85XyAuX2Zvcm0tdGl0bGUgeyBmb250LXNpemU6MjJweDsgbGluZS1oZWlnaHQ6MjJweDsgZm9udC13ZWlnaHQ6NjAwOyBtYXJnaW4tYm90dG9tOjA7IH0KICNfZm9ybV85XzpiZWZvcmUsI19mb3JtXzlfOmFmdGVyIHsgY29udGVudDoiICI7IGRpc3BsYXk6dGFibGU7IH0KICNfZm9ybV85XzphZnRlciB7IGNsZWFyOmJvdGg7IH0KICNfZm9ybV85Xy5faW5saW5lLXN0eWxlIHsgd2lkdGg6YXV0bzsgZGlzcGxheTppbmxpbmUtYmxvY2s7IH0KICNfZm9ybV85Xy5faW5saW5lLXN0eWxlIGlucHV0W3R5cGU9InRleHQiXSwjX2Zvcm1fOV8uX2lubGluZS1zdHlsZSBpbnB1dFt0eXBlPSJkYXRlIl0geyBwYWRkaW5nOjEwcHggMTJweDsgfQogI19mb3JtXzlfLl9pbmxpbmUtc3R5bGUgYnV0dG9uLl9pbmxpbmUtc3R5bGUgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgdG9wOjI3cHg7IH0KICNfZm9ybV85Xy5faW5saW5lLXN0eWxlIHAgeyBtYXJnaW46MDsgfQogI19mb3JtXzlfLl9pbmxpbmUtc3R5bGUgLl9idXR0b24td3JhcHBlciB7IHBvc2l0aW9uOnJlbGF0aXZlOyBtYXJnaW46MjdweCAxMi41cHggMCAyMHB4OyB9CiAjX2Zvcm1fOV8gLl9mb3JtLXRoYW5rLXlvdSB7IHBvc2l0aW9uOnJlbGF0aXZlOyBsZWZ0OjA7IHJpZ2h0OjA7IHRleHQtYWxpZ246Y2VudGVyOyBmb250LXNpemU6MThweDsgfQogQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDozMjBweCkgYW5kIChtYXgtd2lkdGg6NjY3cHgpIHsgI19mb3JtXzlfLl9pbmxpbmUtZm9ybS5faW5saW5lLXN0eWxlIC5faW5saW5lLXN0eWxlLl9idXR0b24td3JhcHBlciB7IG1hcmdpbi10b3A6MjBweCAhaW1wb3J0YW50OyBtYXJnaW4tbGVmdDowICFpbXBvcnRhbnQ7IH0KIH0KPC9zdHlsZT4KPGZvcm0gbWV0aG9kPSJQT1NUIiBhY3Rpb249Imh0dHBzOi8vY2Z0ZS5hY3RpdmVob3N0ZWQuY29tL3Byb2MucGhwIiBpZD0iX2Zvcm1fOV8iIGNsYXNzPSJfZm9ybSBfZm9ybV85IF9pbmxpbmUtZm9ybSAgX2RhcmsiIG5vdmFsaWRhdGU+CiAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idSIgdmFsdWU9IjkiIC8+CiAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZiIgdmFsdWU9IjkiIC8+CiAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icyIgLz4KICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjIiB2YWx1ZT0iMCIgLz4KICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJtIiB2YWx1ZT0iMCIgLz4KICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhY3QiIHZhbHVlPSJzdWIiIC8+CiAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idiIgdmFsdWU9IjIiIC8+CiAgPGRpdiBjbGFzcz0iX2Zvcm0tY29udGVudCI+CiAgICA8ZGl2IGNsYXNzPSJfZm9ybV9lbGVtZW50IF94NTQyNDM5ODIgX2Z1bGxfd2lkdGggX2NsZWFyIiA+CiAgICAgIDxka<br />
XYgY2xhc3M9Il9mb3JtLXRpdGxlIj4KICAgICAgICBTdWJzY3JpYmUgdG8gb3VyIFdlZWtseSBOZXdzbGV0dGVyCiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJfZm9ybV9lbGVtZW50IF94NjA5MzM0NzIgX2Z1bGxfd2lkdGggIiA+CiAgICAgIDxsYWJlbCBjbGFzcz0iX2Zvcm0tbGFiZWwiPgogICAgICAgIEZpcnN0IE5hbWUqCiAgICAgIDwvbGFiZWw+CiAgICAgIDxkaXYgY2xhc3M9Il9maWVsZC13cmFwcGVyIj4KICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZmlyc3RuYW1lIiBwbGFjZWhvbGRlcj0iVHlwZSB5b3VyIGZpcnN0IG5hbWUiIHJlcXVpcmVkLz4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Il9mb3JtX2VsZW1lbnQgX3g0MjY0ODYwMCBfZnVsbF93aWR0aCAiID4KICAgICAgPGxhYmVsIGNsYXNzPSJfZm9ybS1sYWJlbCI+CiAgICAgICAgTGFzdCBOYW1lKgogICAgICA8L2xhYmVsPgogICAgICA8ZGl2IGNsYXNzPSJfZmllbGQtd3JhcHBlciI+CiAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9Imxhc3RuYW1lIiBwbGFjZWhvbGRlcj0iVHlwZSB5b3VyIGxhc3QgbmFtZSIgcmVxdWlyZWQvPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2Zvcm1fZWxlbWVudCBfeDA0OTc0OTE5IF9mdWxsX3dpZHRoICIgPgogICAgICA8bGFiZWwgY2xhc3M9Il9mb3JtLWxhYmVsIj4KICAgICAgICBFbWFpbCoKICAgICAgPC9sYWJlbD4KICAgICAgPGRpdiBjbGFzcz0iX2ZpZWxkLXdyYXBwZXIiPgogICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJlbWFpbCIgcGxhY2Vob2xkZXI9IlR5cGUgeW91ciBlbWFpbCIgcmVxdWlyZWQvPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2Zvcm1fZWxlbWVudCBfZmllbGQxIF9mdWxsX3dpZHRoICIgPgogICAgICA8bGFiZWwgY2xhc3M9Il9mb3JtLWxhYmVsIj4KICAgICAgICBDb3VudHJ5KgogICAgICA8L2xhYmVsPgogICAgICA8ZGl2IGNsYXNzPSJfZmllbGQtd3JhcHBlciI+CiAgICAgICAgPHNlbGVjdCBuYW1lPSJmaWVsZFsxXSIgcmVxdWlyZWQ+CiAgICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBZmdoYW5pc3RhbiIgPgogICAgICAgICAgICBBZmdoYW5pc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBbGJhbmlhIiA+CiAgICAgICAgICAgIEFsYmFuaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQWxnZXJpYSIgPgogICAgICAgICAgICBBbGdlcmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkFtZXJpY2FuIFNhbW9hIiA+CiAgICAgICAgICAgIEFtZXJpY2FuIFNhbW9hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkFuZG9ycmEiID4KICAgICAgICAgICAgQW5kb3JyYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBbmdvbGEiID4KICAgICAgICAgICAgQW5nb2xhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkFuZ3VpbGxhIiA+CiAgICAgICAgICAgIEFuZ3VpbGxhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkFudGFyY3RpY2EiID4KICAgICAgICAgICAgQW50YXJjdGljYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBbnRpZ3VhIGFuZCBCYXJidWRhIiA+CiAgICAgICAgICAgIEFudGlndWEgYW5kIEJhcmJ1ZGEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQXJnZW50aW5hIiA+CiAgICAgICAgICAgIEFyZ2VudGluYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBcm1lbmlhIiA+CiAgICAgICAgICAgIEFybWVuaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQXJ1YmEiID4KICAgICAgICAgICAgQXJ1YmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQXVzdHJhbGlhIiA+CiAgICAgICAgICAgIEF1c3RyYWxpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBdXN0cmlhIiA+CiAgICAgICAgICAgIEF1c3RyaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQXplcmJhaWphbiIgPgogICAgICAgICAgICBBemVyYmFpamFuCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJhaGFtYXMiID4KICAgICAgICAgICAgQmFoYW1hcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCYWhyYWluIiA+CiAgICAgICAgICAgIEJhaHJhaW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQmFuZ2xhZGVzaCIgPgogICAgICAgICAgICBCYW5nbGFkZXNoCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJhcmJhZG9zIiA+CiAgICAgICAgICAgIEJhcmJhZG9zCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJlbGFydXMiID4KICAgICAgICAgICAgQmVsYXJ1cwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCZWxnaXVtIiA+CiAgICAgICAgICAgIEJlbGdpdW0KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQmVsaXplIiA+CiAgICAgICAgICAgIEJlbGl6ZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCZW5pbiIgPgogICAgICAgICAgICBCZW5pbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCZXJtdWRhIiA+CiAgICAgICAgICAgIEJlcm11ZGEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQmh1dGFuIiA+CiAgICAgICAgICAgIEJodXRhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCb2xpdmlhIiA+CiAgICAgICAgICAgIEJvbGl2aWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYSIgPgogICAgICAgICAgICBCb3NuaWEgYW5kIEhlcnplZ292aW5hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJvdHN3YW5hIiA+CiAgICAgICAgICAgIEJvdHN3YW5hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJvdXZldCBJc2xhbmQiID4KICAgICAgICAgICAgQm91dmV0IElzbGFuZAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCcmF6aWwiID4KICAgICAgICAgICAgQnJhemlsCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJyaXRpc2ggSW5kaWFuIE9jZWFuIFRlcnJpdG9yeSIgPgogICAgICAgICAgICBCcml0aXNoIEluZGlhbiBPY2VhbiBUZXJyaXRvcnkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQnJ1bmVpIERhcnVzc2FsYW0iID4KICAgICAgICAgICAgQnJ1bmVpIERhcnVzc2FsYW0KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQnVsZ2FyaWEiID4KICAgICAgICAgICAgQnVsZ2FyaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQnVya2luYSBGYXNvIiA+CiAgICAgICAgICAgIEJ1cmtpbmEgRmFzbwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCdXJ1bmRpIiA+CiAgICAgICAgICAgIEJ1cnVuZGkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2FtYm9kaWEiID4KICAgICAgICAgICAgQ2FtYm9kaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2FtZXJvb24iID4KICAgICAgICAgICAgQ2FtZXJvb24KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2FuYWRhIiA+CiAgICAgICAgICAgIENhbmFkYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDYXBlIFZlcmRlIiA+CiAgICAgICAgICAgIENhcGUgVmVyZGUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2F5bWFuIElzbGFuZHMiID4KICAgICAgICAgICAgQ2F5bWFuIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljIiA+CiAgICAgICAgICAgIENlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDaGFkIiA+CiAgICAgICAgICAgIENoYWQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2hpbGUiID4KICAgICAgICAgICAgQ2hpbGUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2hpbmEiID4KICAgICAgICAgICAgQ2hpbmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2hyaXN0bWFzIElzbGFuZCIgPgogICAgICAgICAgICBDaHJpc3RtYXMgSXNsYW5kCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkNvY29zIChLZWVsaW5nKSBJc2xhbmRzIiA+CiAgICAgICAgICAgIENvY29zIChLZWVsaW5nKSBJc2xhbmRzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkNvbG9tYmlhIiA+CiAgICAgICAgICAgIENvbG9tYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkNvbW9yb3MiID4KICAgICAgICAgICAgQ29tb3JvcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDb25nbyIgPgogICAgICAgICAgICBDb25nbwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDb25nbywgdGhlIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlIiA+CiAgICAgICAgICAgIENvbmdvLCB0aGUgRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ29vayBJc2xhbmRzIiA+CiAgICAgICAgICAgIENvb2sgSXNsYW5kcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDb3N0YSBSaWNhIiA+CiAgICAgICAgICAgIENvc3RhIFJpY2EKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ290ZSBEJiMwMzk7SXZvaXJlIiA+CiAgICAgICAgICAgIENvdGUgRCYjMDM5O0l2b2lyZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDcm9hdGlhIiA+CiAgICAgICAgICAgIENyb2F0aWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ3ViYSIgPgogICAgICAgICAgICBDdWJhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkN5cHJ1cyIgPgogICAgICAgICAgICBDeXBydXMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ3plY2ggUmVwdWJsaWMiID4KICAgICAgICAgICAgQ3plY2ggUmVwdWJsaWMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRGVubWFyayIgPgogICAgICAgICAgICBEZW5tYXJrCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkRqaWJvdXRpIiA+CiAgICAgICAgICAgIERqaWJvdXRpCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkRvbWluaWNhIiA+CiAgICAgICAgICAgIERvbWluaWNhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkRvbWluaWNhbiBSZXB1YmxpYyIgPgogICAgICAgICAgICBE<br />
b21pbmljYW4gUmVwdWJsaWMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRWN1YWRvciIgPgogICAgICAgICAgICBFY3VhZG9yCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkVneXB0IiA+CiAgICAgICAgICAgIEVneXB0CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkVsIFNhbHZhZG9yIiA+CiAgICAgICAgICAgIEVsIFNhbHZhZG9yCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkVxdWF0b3JpYWwgR3VpbmVhIiA+CiAgICAgICAgICAgIEVxdWF0b3JpYWwgR3VpbmVhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkVyaXRyZWEiID4KICAgICAgICAgICAgRXJpdHJlYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJFc3RvbmlhIiA+CiAgICAgICAgICAgIEVzdG9uaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRXRoaW9waWEiID4KICAgICAgICAgICAgRXRoaW9waWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRmFsa2xhbmQgSXNsYW5kcyAoTWFsdmluYXMpIiA+CiAgICAgICAgICAgIEZhbGtsYW5kIElzbGFuZHMgKE1hbHZpbmFzKQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJGYXJvZSBJc2xhbmRzIiA+CiAgICAgICAgICAgIEZhcm9lIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRmlqaSIgPgogICAgICAgICAgICBGaWppCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkZpbmxhbmQiID4KICAgICAgICAgICAgRmlubGFuZAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJGcmFuY2UiID4KICAgICAgICAgICAgRnJhbmNlCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkZyZW5jaCBHdWlhbmEiID4KICAgICAgICAgICAgRnJlbmNoIEd1aWFuYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJGcmVuY2ggUG9seW5lc2lhIiA+CiAgICAgICAgICAgIEZyZW5jaCBQb2x5bmVzaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRnJlbmNoIFNvdXRoZXJuIFRlcnJpdG9yaWVzIiA+CiAgICAgICAgICAgIEZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHYWJvbiIgPgogICAgICAgICAgICBHYWJvbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHYW1iaWEiID4KICAgICAgICAgICAgR2FtYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikdlb3JnaWEiID4KICAgICAgICAgICAgR2VvcmdpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHZXJtYW55IiA+CiAgICAgICAgICAgIEdlcm1hbnkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iR2hhbmEiID4KICAgICAgICAgICAgR2hhbmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iR2licmFsdGFyIiA+CiAgICAgICAgICAgIEdpYnJhbHRhcgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHcmVlY2UiID4KICAgICAgICAgICAgR3JlZWNlCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkdyZWVubGFuZCIgPgogICAgICAgICAgICBHcmVlbmxhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iR3JlbmFkYSIgPgogICAgICAgICAgICBHcmVuYWRhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikd1YWRlbG91cGUiID4KICAgICAgICAgICAgR3VhZGVsb3VwZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHdWFtIiA+CiAgICAgICAgICAgIEd1YW0KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iR3VhdGVtYWxhIiA+CiAgICAgICAgICAgIEd1YXRlbWFsYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHdWVybnNleSIgPgogICAgICAgICAgICBHdWVybnNleQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHdWluZWEiID4KICAgICAgICAgICAgR3VpbmVhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikd1aW5lYS1CaXNzYXUiID4KICAgICAgICAgICAgR3VpbmVhLUJpc3NhdQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHdXlhbmEiID4KICAgICAgICAgICAgR3V5YW5hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkhhaXRpIiA+CiAgICAgICAgICAgIEhhaXRpCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkhlYXJkIElzbGFuZCBhbmQgTWNkb25hbGQgSXNsYW5kcyIgPgogICAgICAgICAgICBIZWFyZCBJc2xhbmQgYW5kIE1jZG9uYWxkIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSG9seSBTZWUgKFZhdGljYW4gQ2l0eSBTdGF0ZSkiID4KICAgICAgICAgICAgSG9seSBTZWUgKFZhdGljYW4gQ2l0eSBTdGF0ZSkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSG9uZHVyYXMiID4KICAgICAgICAgICAgSG9uZHVyYXMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSG9uZyBLb25nIiA+CiAgICAgICAgICAgIEhvbmcgS29uZwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJIdW5nYXJ5IiA+CiAgICAgICAgICAgIEh1bmdhcnkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSWNlbGFuZCIgPgogICAgICAgICAgICBJY2VsYW5kCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkluZGlhIiA+CiAgICAgICAgICAgIEluZGlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkluZG9uZXNpYSIgPgogICAgICAgICAgICBJbmRvbmVzaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSXJhbiwgSXNsYW1pYyBSZXB1YmxpYyBvZiIgPgogICAgICAgICAgICBJcmFuLCBJc2xhbWljIFJlcHVibGljIG9mCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IklyYXEiID4KICAgICAgICAgICAgSXJhcQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJJcmVsYW5kIiA+CiAgICAgICAgICAgIElyZWxhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSXNyYWVsIiA+CiAgICAgICAgICAgIElzcmFlbAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJJdGFseSIgPgogICAgICAgICAgICBJdGFseQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJKYW1haWNhIiA+CiAgICAgICAgICAgIEphbWFpY2EKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSmFwYW4iID4KICAgICAgICAgICAgSmFwYW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSm9yZGFuIiA+CiAgICAgICAgICAgIEpvcmRhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJLYXpha2hzdGFuIiA+CiAgICAgICAgICAgIEthemFraHN0YW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iS2VueWEiID4KICAgICAgICAgICAgS2VueWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iS2lyaWJhdGkiID4KICAgICAgICAgICAgS2lyaWJhdGkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iS29yZWEsIERlbW9jcmF0aWMgUGVvcGxlJiMwMzk7cyBSZXB1YmxpYyBvZiIgPgogICAgICAgICAgICBLb3JlYSwgRGVtb2NyYXRpYyBQZW9wbGUmIzAzOTtzIFJlcHVibGljIG9mCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IktvcmVhLCBSZXB1YmxpYyBvZiIgPgogICAgICAgICAgICBLb3JlYSwgUmVwdWJsaWMgb2YKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iS3V3YWl0IiA+CiAgICAgICAgICAgIEt1d2FpdAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJLeXJneXpzdGFuIiA+CiAgICAgICAgICAgIEt5cmd5enN0YW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTGFvIFBlb3BsZSYjMDM5O3MgRGVtb2NyYXRpYyBSZXB1YmxpYyIgPgogICAgICAgICAgICBMYW8gUGVvcGxlJiMwMzk7cyBEZW1vY3JhdGljIFJlcHVibGljCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkxhdHZpYSIgPgogICAgICAgICAgICBMYXR2aWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTGViYW5vbiIgPgogICAgICAgICAgICBMZWJhbm9uCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikxlc290aG8iID4KICAgICAgICAgICAgTGVzb3RobwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJMaWJlcmlhIiA+CiAgICAgICAgICAgIExpYmVyaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTGlieWFuIEFyYWIgSmFtYWhpcml5YSIgPgogICAgICAgICAgICBMaWJ5YW4gQXJhYiBKYW1haGlyaXlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkxpZWNodGVuc3RlaW4iID4KICAgICAgICAgICAgTGllY2h0ZW5zdGVpbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJMaXRodWFuaWEiID4KICAgICAgICAgICAgTGl0aHVhbmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikx1eGVtYm91cmciID4KICAgICAgICAgICAgTHV4ZW1ib3VyZwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYWNhbyIgPgogICAgICAgICAgICBNYWNhbwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYWNlZG9uaWEsIHRoZSBGb3JtZXIgWXVnb3NsYXYgUmVwdWJsaWMgb2YiID4KICAgICAgICAgICAgTWFjZWRvbmlhLCB0aGUgRm9ybWVyIFl1Z29zbGF2IFJlcHVibGljIG9mCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hZGFnYXNjYXIiID4KICAgICAgICAgICAgTWFkYWdhc2NhcgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYWxhd2kiID4KICAgICAgICAgICAgTWFsYXdpCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hbGF5c2lhIiA+CiAgICAgICAgICAgIE1hbGF5c2lhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hbGRpdmVzIiA+CiAgICAgICAgICAgIE1hbGRpdmVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hbGkiID4KICAgICAgICAgICAgTWFsaQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYWx0YSIgPgogICAgICAgICAgICBNYWx0YQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYXJzaGFsbCBJc2xhbmRzIiA+CiAgICAgICAgICAgIE1hcnNoYWxsIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9<br />
uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTWFydGluaXF1ZSIgPgogICAgICAgICAgICBNYXJ0aW5pcXVlCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hdXJpdGFuaWEiID4KICAgICAgICAgICAgTWF1cml0YW5pYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYXVyaXRpdXMiID4KICAgICAgICAgICAgTWF1cml0aXVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1heW90dGUiID4KICAgICAgICAgICAgTWF5b3R0ZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNZXhpY28iID4KICAgICAgICAgICAgTWV4aWNvCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1pY3JvbmVzaWEsIEZlZGVyYXRlZCBTdGF0ZXMgb2YiID4KICAgICAgICAgICAgTWljcm9uZXNpYSwgRmVkZXJhdGVkIFN0YXRlcyBvZgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNb2xkb3ZhLCBSZXB1YmxpYyBvZiIgPgogICAgICAgICAgICBNb2xkb3ZhLCBSZXB1YmxpYyBvZgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNb25hY28iID4KICAgICAgICAgICAgTW9uYWNvCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1vbmdvbGlhIiA+CiAgICAgICAgICAgIE1vbmdvbGlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1vbnRlbmVncm8iID4KICAgICAgICAgICAgTW9udGVuZWdybwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNb250c2VycmF0IiA+CiAgICAgICAgICAgIE1vbnRzZXJyYXQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTW9yb2NjbyIgPgogICAgICAgICAgICBNb3JvY2NvCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1vemFtYmlxdWUiID4KICAgICAgICAgICAgTW96YW1iaXF1ZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNeWFubWFyIiA+CiAgICAgICAgICAgIE15YW5tYXIKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTmFtaWJpYSIgPgogICAgICAgICAgICBOYW1pYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5hdXJ1IiA+CiAgICAgICAgICAgIE5hdXJ1CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5lcGFsIiA+CiAgICAgICAgICAgIE5lcGFsCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5ldGhlcmxhbmRzIiA+CiAgICAgICAgICAgIE5ldGhlcmxhbmRzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5ldGhlcmxhbmRzIEFudGlsbGVzIiA+CiAgICAgICAgICAgIE5ldGhlcmxhbmRzIEFudGlsbGVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5ldyBDYWxlZG9uaWEiID4KICAgICAgICAgICAgTmV3IENhbGVkb25pYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJOZXcgWmVhbGFuZCIgPgogICAgICAgICAgICBOZXcgWmVhbGFuZAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJOaWNhcmFndWEiID4KICAgICAgICAgICAgTmljYXJhZ3VhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5pZ2VyIiA+CiAgICAgICAgICAgIE5pZ2VyCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5pZ2VyaWEiID4KICAgICAgICAgICAgTmlnZXJpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJOaXVlIiA+CiAgICAgICAgICAgIE5pdWUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTm9yZm9sayBJc2xhbmQiID4KICAgICAgICAgICAgTm9yZm9sayBJc2xhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzIiA+CiAgICAgICAgICAgIE5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJOb3J3YXkiID4KICAgICAgICAgICAgTm9yd2F5CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik9tYW4iID4KICAgICAgICAgICAgT21hbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJQYWtpc3RhbiIgPgogICAgICAgICAgICBQYWtpc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJQYWxhdSIgPgogICAgICAgICAgICBQYWxhdQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJQYWxlc3RpbmlhbiBUZXJyaXRvcnksIE9jY3VwaWVkIiA+CiAgICAgICAgICAgIFBhbGVzdGluaWFuIFRlcnJpdG9yeSwgT2NjdXBpZWQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUGFuYW1hIiA+CiAgICAgICAgICAgIFBhbmFtYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJQYXB1YSBOZXcgR3VpbmVhIiA+CiAgICAgICAgICAgIFBhcHVhIE5ldyBHdWluZWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUGFyYWd1YXkiID4KICAgICAgICAgICAgUGFyYWd1YXkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUGVydSIgPgogICAgICAgICAgICBQZXJ1CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlBoaWxpcHBpbmVzIiA+CiAgICAgICAgICAgIFBoaWxpcHBpbmVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlBpdGNhaXJuIiA+CiAgICAgICAgICAgIFBpdGNhaXJuCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlBvbGFuZCIgPgogICAgICAgICAgICBQb2xhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUG9ydHVnYWwiID4KICAgICAgICAgICAgUG9ydHVnYWwKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUHVlcnRvIFJpY28iID4KICAgICAgICAgICAgUHVlcnRvIFJpY28KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUWF0YXIiID4KICAgICAgICAgICAgUWF0YXIKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUmV1bmlvbiIgPgogICAgICAgICAgICBSZXVuaW9uCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlJvbWFuaWEiID4KICAgICAgICAgICAgUm9tYW5pYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJSdXNzaWFuIEZlZGVyYXRpb24iID4KICAgICAgICAgICAgUnVzc2lhbiBGZWRlcmF0aW9uCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlJ3YW5kYSIgPgogICAgICAgICAgICBSd2FuZGEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2FpbnQgSGVsZW5hIiA+CiAgICAgICAgICAgIFNhaW50IEhlbGVuYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYWludCBLaXR0cyBhbmQgTmV2aXMiID4KICAgICAgICAgICAgU2FpbnQgS2l0dHMgYW5kIE5ldmlzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNhaW50IEx1Y2lhIiA+CiAgICAgICAgICAgIFNhaW50IEx1Y2lhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNhaW50IFBpZXJyZSBhbmQgTWlxdWVsb24iID4KICAgICAgICAgICAgU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYWludCBWaW5jZW50IGFuZCB0aGUgR3JlbmFkaW5lcyIgPgogICAgICAgICAgICBTYWludCBWaW5jZW50IGFuZCB0aGUgR3JlbmFkaW5lcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYW1vYSIgPgogICAgICAgICAgICBTYW1vYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYW4gTWFyaW5vIiA+CiAgICAgICAgICAgIFNhbiBNYXJpbm8KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2FvIFRvbWUgYW5kIFByaW5jaXBlIiA+CiAgICAgICAgICAgIFNhbyBUb21lIGFuZCBQcmluY2lwZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYXVkaSBBcmFiaWEiID4KICAgICAgICAgICAgU2F1ZGkgQXJhYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNlbmVnYWwiID4KICAgICAgICAgICAgU2VuZWdhbAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTZXJiaWEiID4KICAgICAgICAgICAgU2VyYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNleWNoZWxsZXMiID4KICAgICAgICAgICAgU2V5Y2hlbGxlcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTaWVycmEgTGVvbmUiID4KICAgICAgICAgICAgU2llcnJhIExlb25lCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNpbmdhcG9yZSIgPgogICAgICAgICAgICBTaW5nYXBvcmUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2xvdmFraWEiID4KICAgICAgICAgICAgU2xvdmFraWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2xvdmVuaWEiID4KICAgICAgICAgICAgU2xvdmVuaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU29sb21vbiBJc2xhbmRzIiA+CiAgICAgICAgICAgIFNvbG9tb24gSXNsYW5kcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTb21hbGlhIiA+CiAgICAgICAgICAgIFNvbWFsaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU291dGggQWZyaWNhIiA+CiAgICAgICAgICAgIFNvdXRoIEFmcmljYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTb3V0aCBHZW9yZ2lhIGFuZCB0aGUgU291dGggU2FuZHdpY2ggSXNsYW5kcyIgPgogICAgICAgICAgICBTb3V0aCBHZW9yZ2lhIGFuZCB0aGUgU291dGggU2FuZHdpY2ggSXNsYW5kcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTcGFpbiIgPgogICAgICAgICAgICBTcGFpbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTcmkgTGFua2EiID4KICAgICAgICAgICAgU3JpIExhbmthCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlN1ZGFuIiA+CiAgICAgICAgICAgIFN1ZGFuCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlN1cmluYW1lIiA+CiAgICAgICAgICAgIFN1cmluYW1lCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlN2YWxiYXJkIGFuZCBKYW4gTWF5ZW4iID4KICAgICAgICAgICAgU3ZhbGJhcmQgYW5kIEphbiBNYXllbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTd2F6aWxhbmQiID4KICAgICAgICAgICAgU3dhemlsYW5kCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlN3ZWRlbiIgPgogICAgICAgICAgICBTd2VkZW4KICAgICAgICAgID<br />
wvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU3dpdHplcmxhbmQiID4KICAgICAgICAgICAgU3dpdHplcmxhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU3lyaWFuIEFyYWIgUmVwdWJsaWMiID4KICAgICAgICAgICAgU3lyaWFuIEFyYWIgUmVwdWJsaWMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVGFpd2FuLCBQcm92aW5jZSBvZiBDaGluYSIgPgogICAgICAgICAgICBUYWl3YW4sIFByb3ZpbmNlIG9mIENoaW5hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlRhamlraXN0YW4iID4KICAgICAgICAgICAgVGFqaWtpc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJUYW56YW5pYSwgVW5pdGVkIFJlcHVibGljIG9mIiA+CiAgICAgICAgICAgIFRhbnphbmlhLCBVbml0ZWQgUmVwdWJsaWMgb2YKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVGhhaWxhbmQiID4KICAgICAgICAgICAgVGhhaWxhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVGltb3ItTGVzdGUiID4KICAgICAgICAgICAgVGltb3ItTGVzdGUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVG9nbyIgPgogICAgICAgICAgICBUb2dvCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlRva2VsYXUiID4KICAgICAgICAgICAgVG9rZWxhdQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJUb25nYSIgPgogICAgICAgICAgICBUb25nYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJUcmluaWRhZCBhbmQgVG9iYWdvIiA+CiAgICAgICAgICAgIFRyaW5pZGFkIGFuZCBUb2JhZ28KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVHVuaXNpYSIgPgogICAgICAgICAgICBUdW5pc2lhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlR1cmtleSIgPgogICAgICAgICAgICBUdXJrZXkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVHVya21lbmlzdGFuIiA+CiAgICAgICAgICAgIFR1cmttZW5pc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJUdXJrcyBhbmQgQ2FpY29zIElzbGFuZHMiID4KICAgICAgICAgICAgVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlR1dmFsdSIgPgogICAgICAgICAgICBUdXZhbHUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVWdhbmRhIiA+CiAgICAgICAgICAgIFVnYW5kYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJVa3JhaW5lIiA+CiAgICAgICAgICAgIFVrcmFpbmUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVW5pdGVkIEFyYWIgRW1pcmF0ZXMiID4KICAgICAgICAgICAgVW5pdGVkIEFyYWIgRW1pcmF0ZXMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVW5pdGVkIEtpbmdkb20iID4KICAgICAgICAgICAgVW5pdGVkIEtpbmdkb20KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVW5pdGVkIFN0YXRlcyIgPgogICAgICAgICAgICBVbml0ZWQgU3RhdGVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlVuaXRlZCBTdGF0ZXMgTWlub3IgT3V0bHlpbmcgSXNsYW5kcyIgPgogICAgICAgICAgICBVbml0ZWQgU3RhdGVzIE1pbm9yIE91dGx5aW5nIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVXJ1Z3VheSIgPgogICAgICAgICAgICBVcnVndWF5CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlV6YmVraXN0YW4iID4KICAgICAgICAgICAgVXpiZWtpc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJWYW51YXR1IiA+CiAgICAgICAgICAgIFZhbnVhdHUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVmVuZXp1ZWxhIiA+CiAgICAgICAgICAgIFZlbmV6dWVsYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJWaWV0bmFtIiA+CiAgICAgICAgICAgIFZpZXRuYW0KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVmlyZ2luIElzbGFuZHMsIEJyaXRpc2giID4KICAgICAgICAgICAgVmlyZ2luIElzbGFuZHMsIEJyaXRpc2gKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVmlyZ2luIElzbGFuZHMsIFUucy4iID4KICAgICAgICAgICAgVmlyZ2luIElzbGFuZHMsIFUucy4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iV2FsbGlzIGFuZCBGdXR1bmEiID4KICAgICAgICAgICAgV2FsbGlzIGFuZCBGdXR1bmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iV2VzdGVybiBTYWhhcmEiID4KICAgICAgICAgICAgV2VzdGVybiBTYWhhcmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iWWVtZW4iID4KICAgICAgICAgICAgWWVtZW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iWmFtYmlhIiA+CiAgICAgICAgICAgIFphbWJpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJaaW1iYWJ3ZSIgPgogICAgICAgICAgICBaaW1iYWJ3ZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTRyIgPgogICAgICAgICAgICBTRwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDQU5BREEiID4KICAgICAgICAgICAgQ0FOQURBCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IktvcmVhIiA+CiAgICAgICAgICAgIEtvcmVhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IiIgPgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJMdXhlbWJvdXJnaCIgPgogICAgICAgICAgICBMdXhlbWJvdXJnaAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNWSIgPgogICAgICAgICAgICBNWQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJFU1dBUlRJTkkiID4KICAgICAgICAgICAgRVNXQVJUSU5JCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVTd2F0aW5pICIgPgogICAgICAgICAgICBlU3dhdGluaQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTWiIgPgogICAgICAgICAgICBTWgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDQSIgPgogICAgICAgICAgICBDQQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHcmVhdCBCcml0YWluIiA+CiAgICAgICAgICAgIEdyZWF0IEJyaXRhaW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUnVzc2lhIiA+CiAgICAgICAgICAgIFJ1c3NpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJIb25nIEtvbmcgU0FSIENoaW5hIiA+CiAgICAgICAgICAgIEhvbmcgS29uZyBTQVIgQ2hpbmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTG9uZG9uIiA+CiAgICAgICAgICAgIExvbmRvbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgPC9zZWxlY3Q+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJfZm9ybV9lbGVtZW50IF9maWVsZDIgX2Z1bGxfd2lkdGggIiA+CiAgICAgIDxkaXYgY2xhc3M9Il9yb3ciPgogICAgICAgIDxsYWJlbCBjbGFzcz0iX2Zvcm0tbGFiZWwiPgogICAgICAgICAgUHJpdmFjeSBQb2xpY3kqCiAgICAgICAgPC9sYWJlbD4KICAgICAgPC9kaXY+CiAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImZpZWxkWzJdW10iIHZhbHVlPSJ+fCI+CiAgICAgIDxkaXYgY2xhc3M9Il9yb3cgX2NoZWNrYm94LXJhZGlvIj4KICAgICAgICA8aW5wdXQgaWQ9ImZpZWxkXzJJIHJlYWQgYW5kIHVuZGVyc3Rvb2QgQ0ZURSBQcml2YWN5IFBvbGljeSAod3d3LmNmdGUuZWR1Y2F0aW9uL3ByaXZhY3ktcG9saWN5KSIgdHlwZT0iY2hlY2tib3giIG5hbWU9ImZpZWxkWzJdW10iIHZhbHVlPSJJIHJlYWQgYW5kIHVuZGVyc3Rvb2QgQ0ZURSBQcml2YWN5IFBvbGljeSAod3d3LmNmdGUuZWR1Y2F0aW9uL3ByaXZhY3ktcG9saWN5KSIgY2xhc3M9ImFueSIgIHJlcXVpcmVkPgogICAgICAgIDxzcGFuPgogICAgICAgICAgPGxhYmVsIGZvcj0iZmllbGRfMkkgcmVhZCBhbmQgdW5kZXJzdG9vZCBDRlRFIFByaXZhY3kgUG9saWN5ICh3d3cuY2Z0ZS5lZHVjYXRpb24vcHJpdmFjeS1wb2xpY3kpIj4KICAgICAgICAgICAgSSByZWFkIGFuZCB1bmRlcnN0b29kIENGVEUgUHJpdmFjeSBQb2xpY3kgKHd3dy5jZnRlLmVkdWNhdGlvbi9wcml2YWN5LXBvbGljeSkKICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgPC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2Zvcm1fZWxlbWVudCBfZmllbGQzIF9mdWxsX3dpZHRoICIgPgogICAgICA8ZGl2IGNsYXNzPSJfcm93Ij4KICAgICAgICA8bGFiZWwgY2xhc3M9Il9mb3JtLWxhYmVsIj4KICAgICAgICAgIENvbW11bmljYXRpb24gb3B0aW9ucwogICAgICAgIDwvbGFiZWw+CiAgICAgIDwvZGl2PgogICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmaWVsZFszXVtdIiB2YWx1ZT0ifnwiPgogICAgICA8ZGl2IGNsYXNzPSJfcm93IF9jaGVja2JveC1yYWRpbyI+CiAgICAgICAgPGlucHV0IGlkPSJmaWVsZF8zSSYjMDM5O20gaGFwcHkgdG8gcmVjZWl2ZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IENGVEUmIzAzOTtzIGNvdXJzZXMgYnkgZW1haWwiIHR5cGU9ImNoZWNrYm94IiBuYW1lPSJmaWVsZFszXVtdIiB2YWx1ZT0iSSYjMDM5O20gaGFwcHkgdG8gcmVjZWl2ZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IENGVEUmIzAzOTtzIGNvdXJzZXMgYnkgZW1haWwiICAgPgogICAgICAgIDxzcGFuPgogICAgICAgICAgPGxhYmVsIGZvcj0iZmllbGRfM0kmIzAzOTttIGhhcHB5IHRvIHJlY2VpdmUgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBDRlRFJiMwMzk7cyBjb3Vyc2VzIGJ5IGVtYWlsIj4KICAgICAgICAgICAgSSYjMDM5O20gaGFwcHkgdG8gcmVjZWl2ZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IENGVEUmIzAzOTtzIGNvdXJzZXMgYnkgZW1haWwKICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iX3JvdyBfY2hlY2tib3gtcmFkaW8iPgogICAgICAgIDxpbnB1dCBpZD0iZmllbGRfM0kgd2FudCB0byByZWNlaXZlIENGVEUmIzAzOTtzIGdlbmVyYWwgbmV3c2xldHRlciIgdHlwZT0iY2hlY2tib3giIG5hbWU9ImZpZWxkWzNdW10iIHZhbHVlPSJJIHdhbnQgdG8gcmVjZWl2ZSBDRlRFJiMwMzk7cyBnZW5lcmFsIG5ld3NsZXR0ZXIiICAgPgogICAgICAgIDxzcGFuPgogICAgICAgICAgPGxhYmVsIGZvcj0iZmllbGRfM0kgd2FudCB0byByZWNlaXZlIENGVEUmIzAzOTtzIGdlbmVyYWwgbmV3c2xldHRlciI+CiAgICAgICAgICAgIEkgd2FudCB0byByZWNlaXZlIENGVEUmIzAzOTtzIGdlbmVyYWwgbmV3c2xldHRlcgogICAgICAgICAgPC9sYWJlbD4KICAgICAgICA8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJfcm93IF9jaGVja2JveC1yYWRpbyI+CiAgICAgICAgPGlucHV0IGlkPSJmaWVsZF8zSSB3YW50IHRvIHJlY2VpdmUgQ0ZURSYjMDM5O3MgZXZlbnRzIG5ld3NsZ<br />
XR0ZXIgIiB0eXBlPSJjaGVja2JveCIgbmFtZT0iZmllbGRbM11bXSIgdmFsdWU9Ikkgd2FudCB0byByZWNlaXZlIENGVEUmIzAzOTtzIGV2ZW50cyBuZXdzbGV0dGVyICIgICA+CiAgICAgICAgPHNwYW4+CiAgICAgICAgICA8bGFiZWwgZm9yPSJmaWVsZF8zSSB3YW50IHRvIHJlY2VpdmUgQ0ZURSYjMDM5O3MgZXZlbnRzIG5ld3NsZXR0ZXIgIj4KICAgICAgICAgICAgSSB3YW50IHRvIHJlY2VpdmUgQ0ZURSYjMDM5O3MgZXZlbnRzIG5ld3NsZXR0ZXIKICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgPC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2J1dHRvbi13cmFwcGVyIF9mdWxsX3dpZHRoIj4KICAgICAgPGJ1dHRvbiBpZD0iX2Zvcm1fOV9zdWJtaXQiIGNsYXNzPSJfc3VibWl0IiB0eXBlPSJzdWJtaXQiPgogICAgICAgIFN1Ym1pdAogICAgICA8L2J1dHRvbj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2NsZWFyLWVsZW1lbnQiPgogICAgPC9kaXY+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0iX2Zvcm0tdGhhbmsteW91IiBzdHlsZT0iZGlzcGxheTpub25lOyI+CiAgPC9kaXY+CjwvZm9ybT48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CndpbmRvdy5jZmllbGRzID0geyIxIjoiY291bnRyeSIsIjIiOiJwcml2YWN5X3BvbGljeSIsIjMiOiJjb21tdW5pY2F0aW9uX29wdGlvbnMifTsKd2luZG93Ll9zaG93X3RoYW5rX3lvdSA9IGZ1bmN0aW9uKGlkLCBtZXNzYWdlLCB0cmFja2NtcF91cmwpIHsKICB2YXIgZm9ybSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdfZm9ybV8nICsgaWQgKyAnXycpLCB0aGFua195b3UgPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoJy5fZm9ybS10aGFuay15b3UnKTsKICBmb3JtLnF1ZXJ5U2VsZWN0b3IoJy5fZm9ybS1jb250ZW50Jykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICB0aGFua195b3UuaW5uZXJIVE1MID0gbWVzc2FnZTsKICB0aGFua195b3Uuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgaWYgKHR5cGVvZih0cmFja2NtcF91cmwpICE9ICd1bmRlZmluZWQnICYmIHRyYWNrY21wX3VybCkgewogICAgLy8gU2l0ZSB0cmFja2luZyBVUkwgdG8gdXNlIGFmdGVyIGlubGluZSBmb3JtIHN1Ym1pc3Npb24uCiAgICBfbG9hZF9zY3JpcHQodHJhY2tjbXBfdXJsKTsKICB9CiAgaWYgKHR5cGVvZiB3aW5kb3cuX2Zvcm1fY2FsbGJhY2sgIT09ICd1bmRlZmluZWQnKSB3aW5kb3cuX2Zvcm1fY2FsbGJhY2soaWQpOwp9Owp3aW5kb3cuX3Nob3dfZXJyb3IgPSBmdW5jdGlvbihpZCwgbWVzc2FnZSwgaHRtbCkgewogIHZhciBmb3JtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ19mb3JtXycgKyBpZCArICdfJyksIGVyciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLCBidXR0b24gPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbicpLCBvbGRfZXJyb3IgPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoJy5fZm9ybV9lcnJvcicpOwogIGlmIChvbGRfZXJyb3IpIG9sZF9lcnJvci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG9sZF9lcnJvcik7CiAgZXJyLmlubmVySFRNTCA9IG1lc3NhZ2U7CiAgZXJyLmNsYXNzTmFtZSA9ICdfZXJyb3ItaW5uZXIgX2Zvcm1fZXJyb3IgX25vX2Fycm93JzsKICB2YXIgd3JhcHBlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogIHdyYXBwZXIuY2xhc3NOYW1lID0gJ19mb3JtLWlubmVyJzsKICB3cmFwcGVyLmFwcGVuZENoaWxkKGVycik7CiAgYnV0dG9uLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHdyYXBwZXIsIGJ1dHRvbik7CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2lkXj0iX2Zvcm0iXVtpZCQ9Il9zdWJtaXQiXScpLmRpc2FibGVkID0gZmFsc2U7CiAgaWYgKGh0bWwpIHsKICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIGRpdi5jbGFzc05hbWUgPSAnX2Vycm9yLWh0bWwnOwogICAgZGl2LmlubmVySFRNTCA9IGh0bWw7CiAgICBlcnIuYXBwZW5kQ2hpbGQoZGl2KTsKICB9Cn07CndpbmRvdy5fbG9hZF9zY3JpcHQgPSBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKSB7CiAgICB2YXIgaGVhZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2hlYWQnKSwgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JyksIHIgPSBmYWxzZTsKICAgIHNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7CiAgICBzY3JpcHQuY2hhcnNldCA9ICd1dGYtOCc7CiAgICBzY3JpcHQuc3JjID0gdXJsOwogICAgaWYgKGNhbGxiYWNrKSB7CiAgICAgIHNjcmlwdC5vbmxvYWQgPSBzY3JpcHQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7CiAgICAgIGlmICghciAmJiAoIXRoaXMucmVhZHlTdGF0ZSB8fCB0aGlzLnJlYWR5U3RhdGUgPT0gJ2NvbXBsZXRlJykpIHsKICAgICAgICByID0gdHJ1ZTsKICAgICAgICBjYWxsYmFjaygpOwogICAgICAgIH0KICAgICAgfTsKICAgIH0KICAgIGhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKfTsKKGZ1bmN0aW9uKCkgewogIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNoLnNlYXJjaCgiZXhjbHVkZWZvcm0iKSAhPT0gLTEpIHJldHVybiBmYWxzZTsKICB2YXIgZ2V0Q29va2llID0gZnVuY3Rpb24obmFtZSkgewogICAgdmFyIG1hdGNoID0gZG9jdW1lbnQuY29va2llLm1hdGNoKG5ldyBSZWdFeHAoJyhefDsgKScgKyBuYW1lICsgJz0oW147XSspJykpOwogICAgcmV0dXJuIG1hdGNoID8gbWF0Y2hbMl0gOiBudWxsOwogIH0KICB2YXIgc2V0Q29va2llID0gZnVuY3Rpb24obmFtZSwgdmFsdWUpIHsKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpOwogICAgdmFyIHRpbWUgPSBub3cuZ2V0VGltZSgpOwogICAgdmFyIGV4cGlyZVRpbWUgPSB0aW1lICsgMTAwMCAqIDYwICogNjAgKiAyNCAqIDM2NTsKICAgIG5vdy5zZXRUaW1lKGV4cGlyZVRpbWUpOwogICAgZG9jdW1lbnQuY29va2llID0gbmFtZSArICc9JyArIHZhbHVlICsgJzsgZXhwaXJlcz0nICsgbm93ICsgJztwYXRoPS8nOwogIH0KICAgICAgdmFyIGFkZEV2ZW50ID0gZnVuY3Rpb24oZWxlbWVudCwgZXZlbnQsIGZ1bmMpIHsKICAgIGlmIChlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIpIHsKICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBmdW5jKTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBvbGRGdW5jID0gZWxlbWVudFsnb24nICsgZXZlbnRdOwogICAgICBlbGVtZW50WydvbicgKyBldmVudF0gPSBmdW5jdGlvbigpIHsKICAgICAgICBvbGRGdW5jLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgZnVuYy5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgICB9OwogICAgfQogIH0KICB2YXIgX3JlbW92ZWQgPSBmYWxzZTsKICB2YXIgZm9ybV90b19zdWJtaXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX2Zvcm1fOV8nKTsKICB2YXIgYWxsSW5wdXRzID0gZm9ybV90b19zdWJtaXQucXVlcnlTZWxlY3RvckFsbCgnaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEnKSwgdG9vbHRpcHMgPSBbXSwgc3VibWl0dGVkID0gZmFsc2U7CgogIHZhciBnZXRVcmxQYXJhbSA9IGZ1bmN0aW9uKG5hbWUpIHsKICAgIHZhciByZWdleFN0ciA9ICdbXD8mXScgKyBuYW1lICsgJz0oW14mI10qKSc7CiAgICB2YXIgcmVzdWx0cyA9IG5ldyBSZWdFeHAocmVnZXhTdHIsICdpJykuZXhlYyh3aW5kb3cubG9jYXRpb24uaHJlZik7CiAgICByZXR1cm4gcmVzdWx0cyAhPSB1bmRlZmluZWQgPyBkZWNvZGVVUklDb21wb25lbnQocmVzdWx0c1sxXSkgOiBmYWxzZTsKICB9OwoKICBmb3IgKHZhciBpID0gMDsgaSA8IGFsbElucHV0cy5sZW5ndGg7IGkrKykgewogICAgdmFyIHJlZ2V4U3RyID0gImZpZWxkXFxbKFxcZCspXFxdIjsKICAgIHZhciByZXN1bHRzID0gbmV3IFJlZ0V4cChyZWdleFN0cikuZXhlYyhhbGxJbnB1dHNbaV0ubmFtZSk7CiAgICBpZiAocmVzdWx0cyAhPSB1bmRlZmluZWQpIHsKICAgICAgYWxsSW5wdXRzW2ldLmRhdGFzZXQubmFtZSA9IHdpbmRvdy5jZmllbGRzW3Jlc3VsdHNbMV1dOwogICAgfSBlbHNlIHsKICAgICAgYWxsSW5wdXRzW2ldLmRhdGFzZXQubmFtZSA9IGFsbElucHV0c1tpXS5uYW1lOwogICAgfQogICAgdmFyIGZpZWxkVmFsID0gZ2V0VXJsUGFyYW0oYWxsSW5wdXRzW2ldLmRhdGFzZXQubmFtZSk7CgogICAgaWYgKGZpZWxkVmFsKSB7CiAgICAgIGlmIChhbGxJbnB1dHNbaV0udHlwZSA9PSAicmFkaW8iIHx8IGFsbElucHV0c1tpXS50eXBlID09ICJjaGVja2JveCIpIHsKICAgICAgICBpZiAoYWxsSW5wdXRzW2ldLnZhbHVlID09IGZpZWxkVmFsKSB7CiAgICAgICAgICBhbGxJbnB1dHNbaV0uY2hlY2tlZCA9IHRydWU7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIGFsbElucHV0c1tpXS52YWx1ZSA9IGZpZWxkVmFsOwogICAgICB9CiAgICB9CiAgfQoKICB2YXIgcmVtb3ZlX3Rvb2x0aXBzID0gZnVuY3Rpb24oKSB7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRvb2x0aXBzLmxlbmd0aDsgaSsrKSB7CiAgICAgIHRvb2x0aXBzW2ldLnRpcC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRvb2x0aXBzW2ldLnRpcCk7CiAgICB9CiAgICAgIHRvb2x0aXBzID0gW107CiAgfTsKICB2YXIgcmVtb3ZlX3Rvb2x0aXAgPSBmdW5jdGlvbihlbGVtKSB7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRvb2x0aXBzLmxlbmd0aDsgaSsrKSB7CiAgICAgIGlmICh0b29sdGlwc1tpXS5lbGVtID09PSBlbGVtKSB7CiAgICAgICAgdG9vbHRpcHNbaV0udGlwLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodG9vbHRpcHNbaV0udGlwKTsKICAgICAgICB0b29sdGlwcy5zcGxpY2UoaSwgMSk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICB9CiAgfTsKICB2YXIgY3JlYXRlX3Rvb2x0aXAgPSBmdW5jdGlvbihlbGVtLCB0ZXh0KSB7CiAgICB2YXIgdG9vbHRpcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLCBhcnJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLCBpbm5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLCBuZXdfdG9vbHRpcCA9IHt9OwogICAgaWYgKGVsZW0udHlwZSAhPSAncmFkaW8nICYmIGVsZW0udHlwZSAhPSAnY2hlY2tib3gnKSB7CiAgICAgIHRvb2x0aXAuY2xhc3NOYW1lID0gJ19lcnJvcic7CiAgICAgIGFycm93LmNsYXNzTmFtZSA9ICdfZXJyb3ItYXJyb3cnOwogICAgICBpbm5lci5jbGFzc05hbWUgPSAnX2Vycm9yLWlubmVyJzsKICAgICAgaW5uZXIuaW5uZXJIVE1MID0gdGV4dDsKICAgICAgdG9vbHRpcC5hcHBlbmRDaGlsZChhcnJvdyk7CiAgICAgIHRvb2x0aXAuYXBwZW5kQ2hpbGQoaW5uZXIpOwogICAgICBlbGVtLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQodG9vbHRpcCk7CiAgICB9IGVsc2UgewogICAgICB0b29sdGlwLmNsYXNzTmFtZSA9ICdfZXJyb3ItaW5uZXIgX25vX2Fycm93JzsKICAgICAgdG9vbHRpcC5pbm5lckhUTUwgPSB0ZXh0OwogICAgICBlbGVtLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRvb2x0aXAsIGVsZW0pOwogICAgICBuZXdfdG9vbHRpcC5ub19hcnJvdyA9IHRydWU7CiAgICB9CiAgICBuZXdfdG9vbHRpcC50aXAgPSB0b29sdGlwOwogICAgbmV3X3Rvb2x0aXAuZWxlbSA9IGVsZW07CiAgICB0b29sdGlwcy5wdXNoKG5ld190b29sdGlwKTsKICAgIHJldHVybiBuZXdfdG9vbHRpcDsKICB9OwogIHZhciByZXNpemVfdG9vbHRpcCA9IGZ1bmN0aW9uKHRvb2x0aXApIHsKICAgIHZhciByZWN0ID0gdG9vbHRpcC5lbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgdmFyIGRvYyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgc2Nyb2xsUG9zaXRpb24gPSByZWN0LnRvcCAtICgod2luZG93LnBhZ2VZT2Zmc2V0IHx8IGRvYy5zY3JvbGxUb3ApICAtIChkb2MuY2xpZW50VG9wIHx8IDApKTsKICAgIGlmIChzY3JvbGxQb3NpdGlvbiA8IDQwKSB7CiAgICAgIHRvb2x0aXAudGlwLmNsYXNzTmFtZSA9IHRvb2x0aXAudGlwLmNsYXNzTmFtZS5yZXBsYWNlKC8gPyhfYWJvdmV8X2JlbG93KSA/L2csICcnKSArICcgX2JlbG93JzsKICAgIH0gZWxzZSB7CiAgICAgIHRvb2x0aXAudGlwLmNsYXNzTmFtZSA9IHRvb2x0aXAudGlwLmNsYXNzTmFtZS5yZXBsYWNlKC8gPyhfYWJvdmV8X2JlbG93KSA/L2csICcnKSAr<br />
ICcgX2Fib3ZlJzsKICAgIH0KICB9OwogIHZhciByZXNpemVfdG9vbHRpcHMgPSBmdW5jdGlvbigpIHsKICAgIGlmIChfcmVtb3ZlZCkgcmV0dXJuOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0b29sdGlwcy5sZW5ndGg7IGkrKykgewogICAgICBpZiAoIXRvb2x0aXBzW2ldLm5vX2Fycm93KSByZXNpemVfdG9vbHRpcCh0b29sdGlwc1tpXSk7CiAgICB9CiAgfTsKICB2YXIgdmFsaWRhdGVfZmllbGQgPSBmdW5jdGlvbihlbGVtLCByZW1vdmUpIHsKICAgIHZhciB0b29sdGlwID0gbnVsbCwgdmFsdWUgPSBlbGVtLnZhbHVlLCBub19lcnJvciA9IHRydWU7CiAgICByZW1vdmUgPyByZW1vdmVfdG9vbHRpcChlbGVtKSA6IGZhbHNlOwogICAgaWYgKGVsZW0udHlwZSAhPSAnY2hlY2tib3gnKSBlbGVtLmNsYXNzTmFtZSA9IGVsZW0uY2xhc3NOYW1lLnJlcGxhY2UoLyA/X2hhc19lcnJvciA/L2csICcnKTsKICAgIGlmIChlbGVtLmdldEF0dHJpYnV0ZSgncmVxdWlyZWQnKSAhPT0gbnVsbCkgewogICAgICBpZiAoZWxlbS50eXBlID09ICdyYWRpbycgfHwgKGVsZW0udHlwZSA9PSAnY2hlY2tib3gnICYmIC9hbnkvLnRlc3QoZWxlbS5jbGFzc05hbWUpKSkgewogICAgICAgIHZhciBlbGVtcyA9IGZvcm1fdG9fc3VibWl0LmVsZW1lbnRzW2VsZW0ubmFtZV07CiAgICAgICAgaWYgKCEoZWxlbXMgaW5zdGFuY2VvZiBOb2RlTGlzdCB8fCBlbGVtcyBpbnN0YW5jZW9mIEhUTUxDb2xsZWN0aW9uKSB8fCBlbGVtcy5sZW5ndGggPD0gMSkgewogICAgICAgICAgbm9fZXJyb3IgPSBlbGVtLmNoZWNrZWQ7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgbm9fZXJyb3IgPSBmYWxzZTsKICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGVsZW1zW2ldLmNoZWNrZWQpIG5vX2Vycm9yID0gdHJ1ZTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCFub19lcnJvcikgewogICAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sICJQbGVhc2Ugc2VsZWN0IGFuIG9wdGlvbi4iKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAoZWxlbS50eXBlID09J2NoZWNrYm94JykgewogICAgICAgIHZhciBlbGVtcyA9IGZvcm1fdG9fc3VibWl0LmVsZW1lbnRzW2VsZW0ubmFtZV0sIGZvdW5kID0gZmFsc2UsIGVyciA9IFtdOwogICAgICAgIG5vX2Vycm9yID0gdHJ1ZTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVsZW1zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBpZiAoZWxlbXNbaV0uZ2V0QXR0cmlidXRlKCdyZXF1aXJlZCcpID09PSBudWxsKSBjb250aW51ZTsKICAgICAgICAgIGlmICghZm91bmQgJiYgZWxlbXNbaV0gIT09IGVsZW0pIHJldHVybiB0cnVlOwogICAgICAgICAgZm91bmQgPSB0cnVlOwogICAgICAgICAgZWxlbXNbaV0uY2xhc3NOYW1lID0gZWxlbXNbaV0uY2xhc3NOYW1lLnJlcGxhY2UoLyA/X2hhc19lcnJvciA/L2csICcnKTsKICAgICAgICAgIGlmICghZWxlbXNbaV0uY2hlY2tlZCkgewogICAgICAgICAgICBub19lcnJvciA9IGZhbHNlOwogICAgICAgICAgICBlbGVtc1tpXS5jbGFzc05hbWUgPSBlbGVtc1tpXS5jbGFzc05hbWUgKyAnIF9oYXNfZXJyb3InOwogICAgICAgICAgICBlcnIucHVzaCgiQ2hlY2tpbmcgJXMgaXMgcmVxdWlyZWQiLnJlcGxhY2UoIiVzIiwgZWxlbXNbaV0udmFsdWUpKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCFub19lcnJvcikgewogICAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sIGVyci5qb2luKCc8YnIvPicpKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAoZWxlbS50YWdOYW1lID09ICdTRUxFQ1QnKSB7CiAgICAgICAgdmFyIHNlbGVjdGVkID0gdHJ1ZTsKICAgICAgICBpZiAoZWxlbS5tdWx0aXBsZSkgewogICAgICAgICAgc2VsZWN0ZWQgPSBmYWxzZTsKICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbS5vcHRpb25zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChlbGVtLm9wdGlvbnNbaV0uc2VsZWN0ZWQpIHsKICAgICAgICAgICAgICBzZWxlY3RlZCA9IHRydWU7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtLm9wdGlvbnMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGVsZW0ub3B0aW9uc1tpXS5zZWxlY3RlZCAmJiAhZWxlbS5vcHRpb25zW2ldLnZhbHVlKSB7CiAgICAgICAgICAgICAgc2VsZWN0ZWQgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoIXNlbGVjdGVkKSB7CiAgICAgICAgICBlbGVtLmNsYXNzTmFtZSA9IGVsZW0uY2xhc3NOYW1lICsgJyBfaGFzX2Vycm9yJzsKICAgICAgICAgIG5vX2Vycm9yID0gZmFsc2U7CiAgICAgICAgICB0b29sdGlwID0gY3JlYXRlX3Rvb2x0aXAoZWxlbSwgIlBsZWFzZSBzZWxlY3QgYW4gb3B0aW9uLiIpOwogICAgICAgIH0KICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAnJykgewogICAgICAgIGVsZW0uY2xhc3NOYW1lID0gZWxlbS5jbGFzc05hbWUgKyAnIF9oYXNfZXJyb3InOwogICAgICAgIG5vX2Vycm9yID0gZmFsc2U7CiAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sICJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpOwogICAgICB9CiAgICB9CiAgICBpZiAobm9fZXJyb3IgJiYgZWxlbS5uYW1lID09ICdlbWFpbCcpIHsKICAgICAgaWYgKCF2YWx1ZS5tYXRjaCgvXltcK19hLXowLTktJyY9XSsoXC5bXCtfYS16MC05LSddKykqQFthLXowLTktXSsoXC5bYS16MC05LV0rKSooXC5bYS16XXsyLH0pJC9pKSkgewogICAgICAgIGVsZW0uY2xhc3NOYW1lID0gZWxlbS5jbGFzc05hbWUgKyAnIF9oYXNfZXJyb3InOwogICAgICAgIG5vX2Vycm9yID0gZmFsc2U7CiAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sICJFbnRlciBhIHZhbGlkIGVtYWlsIGFkZHJlc3MuIik7CiAgICAgIH0KICAgIH0KICAgIGlmIChub19lcnJvciAmJiAvZGF0ZV9maWVsZC8udGVzdChlbGVtLmNsYXNzTmFtZSkpIHsKICAgICAgaWYgKCF2YWx1ZS5tYXRjaCgvXlxkXGRcZFxkLVxkXGQtXGRcZCQvKSkgewogICAgICAgIGVsZW0uY2xhc3NOYW1lID0gZWxlbS5jbGFzc05hbWUgKyAnIF9oYXNfZXJyb3InOwogICAgICAgIG5vX2Vycm9yID0gZmFsc2U7CiAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sICJFbnRlciBhIHZhbGlkIGRhdGUuIik7CiAgICAgIH0KICAgIH0KICAgIHRvb2x0aXAgPyByZXNpemVfdG9vbHRpcCh0b29sdGlwKSA6IGZhbHNlOwogICAgcmV0dXJuIG5vX2Vycm9yOwogIH07CiAgdmFyIG5lZWRzX3ZhbGlkYXRlID0gZnVuY3Rpb24oZWwpIHsKICAgIHJldHVybiBlbC5uYW1lID09ICdlbWFpbCcgfHwgZWwuZ2V0QXR0cmlidXRlKCdyZXF1aXJlZCcpICE9PSBudWxsOwogIH07CiAgdmFyIHZhbGlkYXRlX2Zvcm0gPSBmdW5jdGlvbihlKSB7CiAgICB2YXIgZXJyID0gZm9ybV90b19zdWJtaXQucXVlcnlTZWxlY3RvcignLl9mb3JtX2Vycm9yJyksIG5vX2Vycm9yID0gdHJ1ZTsKICAgIGlmICghc3VibWl0dGVkKSB7CiAgICAgIHN1Ym1pdHRlZCA9IHRydWU7CiAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBhbGxJbnB1dHMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICB2YXIgaW5wdXQgPSBhbGxJbnB1dHNbaV07CiAgICAgICAgaWYgKG5lZWRzX3ZhbGlkYXRlKGlucHV0KSkgewogICAgICAgICAgaWYgKGlucHV0LnR5cGUgPT0gJ3RleHQnKSB7CiAgICAgICAgICAgIGFkZEV2ZW50KGlucHV0LCAnYmx1cicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLnRyaW0oKTsKICAgICAgICAgICAgICB2YWxpZGF0ZV9maWVsZCh0aGlzLCB0cnVlKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGFkZEV2ZW50KGlucHV0LCAnaW5wdXQnLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB2YWxpZGF0ZV9maWVsZCh0aGlzLCB0cnVlKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9IGVsc2UgaWYgKGlucHV0LnR5cGUgPT0gJ3JhZGlvJyB8fCBpbnB1dC50eXBlID09ICdjaGVja2JveCcpIHsKICAgICAgICAgICAgKGZ1bmN0aW9uKGVsKSB7CiAgICAgICAgICAgICAgdmFyIHJhZGlvcyA9IGZvcm1fdG9fc3VibWl0LmVsZW1lbnRzW2VsLm5hbWVdOwogICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmFkaW9zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICBhZGRFdmVudChyYWRpb3NbaV0sICdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICB2YWxpZGF0ZV9maWVsZChlbCwgdHJ1ZSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKGlucHV0KTsKICAgICAgICAgIH0gZWxzZSBpZiAoaW5wdXQudGFnTmFtZSA9PSAnU0VMRUNUJykgewogICAgICAgICAgICBhZGRFdmVudChpbnB1dCwgJ2NoYW5nZScsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHZhbGlkYXRlX2ZpZWxkKHRoaXMsIHRydWUpOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIHJlbW92ZV90b29sdGlwcygpOwogICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGFsbElucHV0cy5sZW5ndGg7IGkgPCBsZW47IGkrKykgewogICAgICB2YXIgZWxlbSA9IGFsbElucHV0c1tpXTsKICAgICAgaWYgKG5lZWRzX3ZhbGlkYXRlKGVsZW0pKSB7CiAgICAgICAgaWYgKGVsZW0udGFnTmFtZS50b0xvd2VyQ2FzZSgpICE9PSAic2VsZWN0IikgewogICAgICAgICAgZWxlbS52YWx1ZSA9IGVsZW0udmFsdWUudHJpbSgpOwogICAgICAgIH0KICAgICAgICB2YWxpZGF0ZV9maWVsZChlbGVtKSA/IHRydWUgOiBub19lcnJvciA9IGZhbHNlOwogICAgICB9CiAgICB9CiAgICBpZiAoIW5vX2Vycm9yICYmIGUpIHsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgfQogICAgcmVzaXplX3Rvb2x0aXBzKCk7CiAgICByZXR1cm4gbm9fZXJyb3I7CiAgfTsKICBhZGRFdmVudCh3aW5kb3csICdyZXNpemUnLCByZXNpemVfdG9vbHRpcHMpOwogIGFkZEV2ZW50KHdpbmRvdywgJ3Njcm9sbCcsIHJlc2l6ZV90b29sdGlwcyk7CiAgd2luZG93Ll9vbGRfc2VyaWFsaXplID0gbnVsbDsKICBpZiAodHlwZW9mIHNlcmlhbGl6ZSAhPT0gJ3VuZGVmaW5lZCcpIHdpbmRvdy5fb2xkX3NlcmlhbGl6ZSA9IHdpbmRvdy5zZXJpYWxpemU7CiAgX2xvYWRfc2NyaXB0KCIvL2QzcnhhaWo1NnZqZWdlLmNsb3VkZnJvbnQubmV0L2Zvcm0tc2VyaWFsaXplLzAuMy9zZXJpYWxpemUubWluLmpzIiwgZnVuY3Rpb24oKSB7CiAgICB3aW5kb3cuX2Zvcm1fc2VyaWFsaXplID0gd2luZG93LnNlcmlhbGl6ZTsKICAgIGlmICh3aW5kb3cuX29sZF9zZXJpYWxpemUpIHdpbmRvdy5zZXJpYWxpemUgPSB3aW5kb3cuX29sZF9zZXJpYWxpemU7CiAgfSk7CiAgdmFyIGZvcm1fc3VibWl0ID0gZnVuY3Rpb24oZSkgewogICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgaWYgKHZhbGlkYXRlX2Zvcm0oKSkgewogICAgICAvLyB1c2UgdGhpcyB0cmljayB0byBnZXQgdGhlIHN1Ym1pdCBidXR0b24gJiBkaXNhYmxlIGl0IHVzaW5nIHBsYWluIGphdmFzY3JpcHQKICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI19mb3JtXzlfc3VibWl0JykuZGlzYWJsZWQgPSB0cnVlOwogICAgICAgICAgICB2YXIgc2VyaWFsaXplZCA9IF9mb3JtX3NlcmlhbGl6ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX2Zvcm1fOV8nKSk7CiAgICAgIHZhciBlcnIgPSBmb3JtX3RvX3N1Ym1pdC5xdWVyeVNlbGVjdG9yKCcuX2Zvcm1fZXJyb3InKTsKICAgICAgZXJyID8gZXJyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZXJyKSA6IGZhbHNlOwogICAgICBfbG9hZF9zY3JpcHQoJ2h0dHBzOi8vY2Z0ZS5hY3RpdmVob3N0ZWQuY29tL3Byb2MucGhwPycgKyBzZXJpYWxpemVkICsgJyZqc29ucD10cnVlJyk7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfTs<br />
KICBhZGRFdmVudChmb3JtX3RvX3N1Ym1pdCwgJ3N1Ym1pdCcsIGZvcm1fc3VibWl0KTsKfSkoKTsKCjwvc2NyaXB0Pg==[/fusion_code][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container][fusion_builder_container admin_label=&#8221;Mobile&#8221; hundred_percent=&#8221;yes&#8221; hundred_percent_height=&#8221;no&#8221; hundred_percent_height_scroll=&#8221;no&#8221; hundred_percent_height_center_content=&#8221;yes&#8221; equal_height_columns=&#8221;no&#8221; menu_anchor=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;center center&#8221; background_repeat=&#8221;no-repeat&#8221; fade=&#8221;no&#8221; background_parallax=&#8221;none&#8221; enable_mobile=&#8221;no&#8221; parallax_speed=&#8221;0.3&#8243; video_mp4=&#8221;&#8221; video_webm=&#8221;&#8221; video_ogv=&#8221;&#8221; video_url=&#8221;&#8221; video_aspect_ratio=&#8221;16:9&#8243; video_loop=&#8221;yes&#8221; video_mute=&#8221;yes&#8221; video_preview_image=&#8221;&#8221; border_size=&#8221;&#8221; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; padding_top=&#8221;2%&#8221; padding_right=&#8221;2%&#8221; padding_bottom=&#8221;2%&#8221; padding_left=&#8221;2%&#8221; admin_toggled=&#8221;no&#8221;][fusion_builder_row][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;yes&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;&#8221; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;2%&#8221; padding_right=&#8221;2%&#8221; padding_bottom=&#8221;2%&#8221; padding_left=&#8221;2%&#8221; margin_top=&#8221;0px&#8221; margin_bottom=&#8221;0px&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_text columns=&#8221;&#8221; column_min_width=&#8221;&#8221; column_spacing=&#8221;&#8221; rule_style=&#8221;default&#8221; rule_size=&#8221;&#8221; rule_color=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221;]</p>
<h1 id="23c4" class="graf graf--h3 graf--leading graf--title" style="text-align: center;"><span style="font-family: Arial; font-size: 28px; color: #993300;"><strong class="markup--strong markup--h3-strong">Record Investment meets the Rise of AI in Finance: A Handy Summary of 2018 Fintech</strong></span></h1>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7499" src="https://www.cfte.education/wp-content/uploads/2018/12/1_J6jseQUBg6431JnJJr6eIQ.jpeg" alt="" width="750" height="500" /></p>
<div class="uiScale uiScale-ui--regular uiScale-caption--regular u-flexCenter u-marginVertical24 u-fontSize15 js-postMetaLockup">
<div class="u-flex0">
<span style="font-family: Arial;">Wow, what a whirlwind of a year in Fintech. <a class="markup--anchor markup--p-anchor" href="https://www.cfte.education/blog/cftes-fintech-trends-predictions-for-2018/" target="_blank" rel="noopener nofollow noreferrer" data-href="https://www.cfte.education/blog/cftes-fintech-trends-predictions-for-2018/">Just as we predicted</a>, 2018 proved itself to be a massive year of growth for Fintech firms and emerging technologies, like <a class="markup--anchor markup--p-anchor" href="http://bit.ly/2UCIhQC" target="_blank" rel="nofollow noopener noreferrer" data-href="http://bit.ly/2UCIhQC">Artificial Intelligence</a>, alike. Once rather placid with few rippling trends, fintech has transformed finance into a dynamic market with innovative firms competing to raise the bar above one another. As consumers continue to have greater expectations for personalised services across other industries like electronics and retail, the realm of financial services has realised the lucrativeness of meeting these needs.</span></p>
<p id="37d2" class="graf graf--p graf-after--p"><span style="font-family: Arial;">Let’s sift through 2018 in Fintech, together:</span></p>
<h2 id="0370" class="graf graf--h3 graf-after--p"><span style="font-family: Arial;"><strong class="markup--strong markup--h3-strong">More money than ever in Fintech</strong></span></h2>
<p id="6c61" class="graf graf--p graf-after--h3"><span style="font-family: Arial;">We’ll begin with the rather large elephant in the room. This last month saw <a class="markup--anchor markup--p-anchor" href="https://www.cfte.education/2018/12/05/the-largest-ever-crowdfunding-round-for-a-fintech-startup-completed-in-2-hours/" target="_blank" rel="noopener nofollow noreferrer" data-href="https://www.cfte.education/2018/12/05/the-largest-ever-crowdfunding-round-for-a-fintech-startup-completed-in-2-hours/">the largest-ever crowdfunding round for a Fintech startup</a>, with <strong class="markup--strong markup--p-strong">Monzo </strong>reaching their goal of <strong class="markup--strong markup--p-strong">£20m</strong> in <em class="markup--em markup--p-em">just</em> 2 hours and 45 minutes when it opened its round to the public on the morning of December 5th. Over 36,000 investors forked out their wallets to ensure Monzo is now valued <strong class="markup--strong markup--p-strong">40 times more</strong> than their initial value during their first raise in early 2016. What’s more, this follows October’s £85 million Series E round, led by <strong class="markup--strong markup--p-strong">General Catalyst</strong> and <strong class="markup--strong markup--p-strong">Accel</strong>, which made the digital mobile-only bank the latest UK start-up to achieve bonafide <strong class="markup--strong markup--p-strong"><em class="markup--em markup--p-em">unicorn</em></strong> status.</span></p>
<p id="7655" class="graf graf--p graf-after--p"><span style="font-family: Arial;">Speaking of Fintech unicorns, there are now about 29 of them merrily strolling the fields of finance, <a class="markup--anchor markup--p-anchor" href="https://www.cbinsights.com/research/report/fintech-trends-q2-2018/" target="_blank" rel="noopener nofollow noreferrer" data-href="https://www.cbinsights.com/research/report/fintech-trends-q2-2018/">at an aggregated USD $84.4 billion</a>. Q2 gave birth to five new unicorns, with <strong class="markup--strong markup--p-strong">Ribbit Capital</strong> and <strong class="markup--strong markup--p-strong">QED Investors</strong> the most active fintech unicorn investor.</span></p>
<p><figure id="attachment_7496" aria-describedby="caption-attachment-7496" style="width: 788px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-7496 size-full" src="https://www.cfte.education/wp-content/uploads/2018/12/1_BrpibD9ZwLPJrzFQWQHmSw.png" alt="fintech investment 2018 " width="788" height="537" /><figcaption id="caption-attachment-7496" class="wp-caption-text"><span style="font-family: Arial;"><strong>Source: Pulse of Fintech 2018, Global analysis of investment in fintech, KPMG International (data provided by PitchBook) 9 July, 2018.</strong></span></figcaption></figure></p>
<p id="7773" class="graf graf--p graf-after--figure"><span style="font-family: Arial;">Overall investment across venture capital, private equity and mergers &amp; acquisitions are markedly above 2017’s totals. In H1, <a class="markup--anchor markup--p-anchor" href="https://assets.kpmg.com/content/dam/kpmg/xx/pdf/2018/07/h1-2018-pulse-of-fintech.pdf" target="_blank" rel="noopener nofollow noreferrer" data-href="https://assets.kpmg.com/content/dam/kpmg/xx/pdf/2018/07/h1-2018-pulse-of-fintech.pdf">global investment in fintech firms surpassed $57.9 billion</a>, with $16.8 and $26 billion of this going to the Asian and European continents respectively. Moreover, global median venture deal size for late stage investment <strong class="markup--strong markup--p-strong">rose</strong> from 2017’s now paltry $14 million to a more reasonable <strong class="markup--strong markup--p-strong">$25 million</strong> this year.</span></p>
<p id="4b27" class="graf graf--p graf-after--p"><span style="font-family: Arial;">This, in part, was driven by two monumental deals: the record-shattering $14 billion raise by <strong class="markup--strong markup--p-strong">Ant Financial</strong> in Q2 and <strong class="markup--strong markup--p-strong">Worldpay</strong> being acquired by <strong class="markup--strong markup--p-strong">Vantiv</strong>in Q1 for $12.9 billion. Outside of these two major outliers, the worldwide fintech market built some great momentum, as the <strong class="markup--strong markup--p-strong">geographic diversity of fintech investment expanded beyond expectations</strong>. The usual faces of the UK, USA, India and China aside, other nations like Japan, South Korea, Switzerland and France all saw outstanding fintech deals. Most notably, Brazil held the honour of introducing its native <strong class="markup--strong markup--p-strong">Nubank</strong> into the fintech unicorn club.</span></p>
<p id="1f7e" class="graf graf--p graf-after--p"><span style="font-family: Arial;">A broad array of companies spent big on emerging areas of innovation in finance, with artificial intelligence, machine learning and data analytics receiving particular attention from major fintech investors.</span></p>
<h2 id="a627" class="graf graf--h3 graf-after--p" style="text-align: left;"><span style="font-family: Arial;"><strong class="markup--strong markup--h3-strong">The rise of Artificial Intelligence in Financial Services</strong></span></h2>
<p id="36a8" class="graf graf--p graf-after--h3"><span style="font-family: Arial;"><strong class="markup--strong markup--p-strong">The growth and adoption of artificial intelligence in financial services throughout the year cannot be overstressed</strong>. AI has been quietly transforming the inner, core workings of banks, leading early major movers to service their AI applications to their competitors. This leads users to accelerate the program’s learning, and eventually flipping previous cost centres into future profitable divisions.</span></p>
<p id="f127" class="graf graf--p graf-after--p"><span style="font-family: Arial;">The fintech scene in UK is one of the fastest growing sectors in business, with multiple challenger banks emerging from the shadows of monolithic financial institutions. One example, <strong class="markup--strong markup--p-strong">OakNorth</strong>, has created its own AI application, entitled Acorn Machines, which employs data to empower lenders to offer finance to SMEs. Other startups, like <strong class="markup--strong markup--p-strong">ComplyAdvantage</strong>, demonstrate the utility of artificial intelligence in financial services, by providing banks with practical solutions for money laundering and trading applications.</span></p>
<p id="9f55" class="graf graf--p graf-after--p"><span style="font-family: Arial;">Across the globe, artificial intelligence continues to make waves. The <strong class="markup--strong markup--p-strong">Monetary Authority of Singapore (MAS)</strong> f<a class="markup--anchor markup--p-anchor" href="https://techwireasia.com/2018/11/singapore-issues-guidelines-for-use-of-ai-and-analytics-in-finance/" target="_blank" rel="noopener nofollow noreferrer" data-href="https://techwireasia.com/2018/11/singapore-issues-guidelines-for-use-of-ai-and-analytics-in-finance/">ormed a set of principles</a> to guide the nation’s usage of artificial intelligence in finance. The principles promote <strong class="markup--strong markup--p-strong">fairness, ethics, accountability,</strong> and <strong class="markup--strong markup--p-strong">transparency</strong> (<strong class="markup--strong markup--p-strong">F.E.A.T</strong>) in the use of <strong class="markup--strong markup--p-strong">AI &amp; Data Analytics (AIDA)</strong> across the finance sector. The FEAT Principles informs financial firms on the ethics when using AIDA.</span></p>
<p id="a6fc" class="graf graf--p graf-after--p"><span style="font-family: Arial;">Elsewhere, Beijing’s <strong class="markup--strong markup--p-strong">Tsinghua University </strong>partnered with the <strong class="markup--strong markup--p-strong">University of Hong Kong (HKU)</strong> to <a class="markup--anchor markup--p-anchor" href="https://www.biometricupdate.com/201811/hong-kong-and-tsinghua-universities-partner-to-support-ai-innovation" target="_blank" rel="noopener nofollow noreferrer" data-href="https://www.biometricupdate.com/201811/hong-kong-and-tsinghua-universities-partner-to-support-ai-innovation">accelerate projects employing Artificial Intelligence</a>, including those related to FinTech and environmental protection. The new initiative features collaboration between the Ministry of Science and Technology and Sensetime as they develop new AI applications. This follows China’s continued support for rapid innovation in technology across Hong Kong.</span></p>
<p id="261b" class="graf graf--p graf-after--p graf--trailing"><span style="font-family: Arial;">For some North American representation, Montreal impressively finds itself <a class="markup--anchor markup--p-anchor" href="https://www.cfte.education/2018/12/07/montreal-a-rising-hub-for-artificial-intelligence/" target="_blank" rel="noopener nofollow noreferrer" data-href="https://www.cfte.education/2018/12/07/montreal-a-rising-hub-for-artificial-intelligence/">playing host to three new AI firms</a>: <strong class="markup--strong markup--p-strong">QuantumBlack</strong>, <strong class="markup--strong markup--p-strong">WinningMinds</strong>, and <strong class="markup--strong markup--p-strong">BIOS</strong>, with 130 new jobs expected in the city. The trio find themselves in good company, with Montreal receiving almost <strong class="markup--strong markup--p-strong">CA$1.1 billion in AI investment</strong>since 2016 — according to Montreal International.</span></p>
</div>
<p id="0be4" class="graf graf--p graf--leading"><span style="font-family: Arial;"><em class="markup--em markup--p-em">All this shows plenty has happened in 2018, and having a firm understanding of the concepts behind these moves is paramount to industry success.This is especially important with the close of 2018, as the turn of the New Year presents a wondrous opportunity to finally jump aboard the Artificial Intelligence movement.</em></span></p>
<p id="7701" class="graf graf--p graf-after--p graf--trailing"><span style="font-family: Arial;"><em class="markup--em markup--p-em">Fortunately, </em><strong class="markup--strong markup--p-strong">CFTE</strong><em class="markup--em markup--p-em"> has formed </em><a class="markup--anchor markup--p-anchor" href="http://bit.ly/2PMkZnJ" target="_blank" rel="nofollow noopener noreferrer" data-href="http://bit.ly/2UCIhQC"><strong class="markup--strong markup--p-strong">AI in Finance</strong></a><em class="markup--em markup--p-em"> — a leading programme which allows participants to learn from senior industry leaders who hail from the large financial institutions, fast growing startups and regulatory agencies. Featuring 18 guest speakers and 5 senior lecturers, learners will understand how AI transforms finance. Designed for those novices or professionals who want to be part of this flourishing industry, and with no prerequisites, — </em><a class="markup--anchor markup--p-anchor" href="http://bit.ly/2PMkZnJ" target="_blank" rel="nofollow noopener noreferrer" data-href="http://bit.ly/2UCIhQC"><strong class="markup--strong markup--p-strong">join the AI revolution in Finance today!</strong></a></span></p>
</div>
<p>[/fusion_text][/fusion_builder_column][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;2%&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;1%&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_separator style_type=&#8221;default&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; sep_color=&#8221;&#8221; top_margin=&#8221;&#8221; bottom_margin=&#8221;2%&#8221; border_size=&#8221;2&#8243; icon=&#8221;&#8221; icon_circle=&#8221;&#8221; icon_circle_color=&#8221;&#8221; width=&#8221;&#8221; alignment=&#8221;center&#8221; /][/fusion_builder_column][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;relatedPostsMobile&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;0%&#8221; padding_right=&#8221;2%&#8221; padding_bottom=&#8221;0%&#8221; padding_left=&#8221;2%&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_text columns=&#8221;&#8221; column_min_width=&#8221;&#8221; column_spacing=&#8221;&#8221; rule_style=&#8221;default&#8221; rule_size=&#8221;&#8221; rule_color=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221;]</p>
<h3>Related Posts</h3>
<p>[/fusion_text][fusion_separator style_type=&#8221;default&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; sep_color=&#8221;&#8221; top_margin=&#8221;10%&#8221; bottom_margin=&#8221;&#8221; border_size=&#8221;0&#8243; icon=&#8221;&#8221; icon_circle=&#8221;&#8221; icon_circle_color=&#8221;&#8221; width=&#8221;&#8221; alignment=&#8221;center&#8221; /][fusion_builder_row_inner][fusion_builder_column_inner type=&#8221;1_1&#8243; layout=&#8221;1_3&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; hover_type=&#8221;none&#8221; link=&#8221;&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogPost&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; padding_top=&#8221;&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221; border_position=&#8221;all&#8221;][fusion_recent_posts layout=&#8221;default&#8221; hover_type=&#8221;none&#8221; columns=&#8221;1&#8243; number_posts=&#8221;1&#8243; offset=&#8221;0&#8243; pull_by=&#8221;category&#8221; cat_slug=&#8221;news&#8221; exclude_cats=&#8221;&#8221; tag_slug=&#8221;&#8221; exclude_tags=&#8221;&#8221; thumbnail=&#8221;yes&#8221; title=&#8221;yes&#8221; meta=&#8221;yes&#8221; meta_author=&#8221;no&#8221; meta_categories=&#8221;no&#8221; meta_date=&#8221;yes&#8221; meta_comments=&#8221;no&#8221; meta_tags=&#8221;no&#8221; content_alignment=&#8221;&#8221; excerpt=&#8221;no&#8221; excerpt_length=&#8221;0&#8243; strip_html=&#8221;yes&#8221; scrolling=&#8221;no&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogImage&#8221; id=&#8221;BlogImage&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; /][/fusion_builder_column_inner][fusion_builder_column_inner type=&#8221;1_1&#8243; layout=&#8221;1_3&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; hover_type=&#8221;none&#8221; link=&#8221;&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogPost&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; padding_top=&#8221;&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221; border_position=&#8221;all&#8221;][fusion_recent_posts layout=&#8221;default&#8221; hover_type=&#8221;none&#8221; columns=&#8221;1&#8243; number_posts=&#8221;1&#8243; offset=&#8221;4&#8243; pull_by=&#8221;category&#8221; cat_slug=&#8221;news&#8221; exclude_cats=&#8221;&#8221; tag_slug=&#8221;&#8221; exclude_tags=&#8221;&#8221; thumbnail=&#8221;yes&#8221; title=&#8221;yes&#8221; meta=&#8221;yes&#8221; meta_author=&#8221;no&#8221; meta_categories=&#8221;no&#8221; meta_date=&#8221;yes&#8221; meta_comments=&#8221;no&#8221; meta_tags=&#8221;no&#8221; content_alignment=&#8221;&#8221; excerpt=&#8221;no&#8221; excerpt_length=&#8221;0&#8243; strip_html=&#8221;yes&#8221; scrolling=&#8221;no&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogImage&#8221; id=&#8221;BlogImage&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; /][/fusion_builder_column_inner][fusion_builder_column_inner type=&#8221;1_1&#8243; layout=&#8221;1_3&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; hover_type=&#8221;none&#8221; link=&#8221;&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogPost&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; padding_top=&#8221;&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221; border_position=&#8221;all&#8221;][fusion_recent_posts layout=&#8221;default&#8221; hover_type=&#8221;none&#8221; columns=&#8221;1&#8243; number_posts=&#8221;1&#8243; offset=&#8221;7&#8243; pull_by=&#8221;category&#8221; cat_slug=&#8221;news&#8221; exclude_cats=&#8221;&#8221; tag_slug=&#8221;&#8221; exclude_tags=&#8221;&#8221; thumbnail=&#8221;yes&#8221; title=&#8221;yes&#8221; meta=&#8221;yes&#8221; meta_author=&#8221;no&#8221; meta_categories=&#8221;no&#8221; meta_date=&#8221;yes&#8221; meta_comments=&#8221;no&#8221; meta_tags=&#8221;no&#8221; content_alignment=&#8221;&#8221; excerpt=&#8221;no&#8221; excerpt_length=&#8221;0&#8243; strip_html=&#8221;yes&#8221; scrolling=&#8221;no&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;BlogImage&#8221; id=&#8221;BlogImage&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; /][/fusion_builder_column_inner][/fusion_builder_row_inner][/fusion_builder_column][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; undefined=&#8221;&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;2%&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;1%&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_separator style_type=&#8221;default&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; sep_color=&#8221;&#8221; top_margin=&#8221;&#8221; bottom_margin=&#8221;&#8221; border_size=&#8221;2&#8243; icon=&#8221;&#8221; icon_circle=&#8221;&#8221; icon_circle_color=&#8221;&#8221; width=&#8221;&#8221; alignment=&#8221;center&#8221; /][/fusion_builder_column][fusion_builder_column type=&#8221;1_1&#8243; layout=&#8221;1_1&#8243; spacing=&#8221;&#8221; center_content=&#8221;no&#8221; link=&#8221;&#8221; target=&#8221;_self&#8221; min_height=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;&#8221; id=&#8221;&#8221; background_color=&#8221;&#8221; background_image=&#8221;&#8221; background_position=&#8221;left top&#8221; background_repeat=&#8221;no-repeat&#8221; hover_type=&#8221;none&#8221; border_size=&#8221;0&#8243; border_color=&#8221;&#8221; border_style=&#8221;solid&#8221; border_position=&#8221;all&#8221; padding_top=&#8221;&#8221; padding_right=&#8221;&#8221; padding_bottom=&#8221;&#8221; padding_left=&#8221;&#8221; margin_top=&#8221;&#8221; margin_bottom=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221; last=&#8221;no&#8221;][fusion_code]PHN0eWxlPgogI19mb3JtXzlfIHsgZm9udC1zaXplOjE0cHg7IGxpbmUtaGVpZ2h0OjEuNjsgZm9udC1mYW1pbHk6YXJpYWwsIGhlbHZldGljYSwgc2Fucy1zZXJpZjsgbWFyZ2luOjA7IH0KICNfZm9ybV85XyAqIHsgb3V0bGluZTowOyB9CiAuX2Zvcm1faGlkZSB7IGRpc3BsYXk6bm9uZTsgdmlzaWJpbGl0eTpoaWRkZW47IH0KIC5fZm9ybV9zaG93IHsgZGlzcGxheTpibG9jazsgdmlzaWJpbGl0eTp2aXNpYmxlOyB9CiAjX2Zvcm1fOV8uX2Zvcm0tdG9wIHsgdG9wOjA7IH0KICNfZm9ybV85Xy5fZm9ybS1ib3R0b20geyBib3R0b206MDsgfQogI19mb3JtXzlfLl9mb3JtLWxlZnQgeyBsZWZ0OjA7IH0KICNfZm9ybV85Xy5fZm9ybS1yaWdodCB7IHJpZ2h0OjA7IH0KICNfZm9ybV85XyBpbnB1dFt0eXBlPSJ0ZXh0Il0sI19mb3JtXzlfIGlucHV0W3R5cGU9ImRhdGUiXSwjX2Zvcm1fOV8gdGV4dGFyZWEgeyBwYWRkaW5nOjZweDsgaGVpZ2h0OmF1dG87IGJvcmRlcjojOTc5Nzk3IDFweCBzb2xpZDsgYm9yZGVyLXJhZGl1czo0cHg7IGNvbG9yOiMwMDAgIWltcG9ydGFudDsgZm9udC1zaXplOjEzcHg7IC13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94OyAtbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDsgYm94LXNpemluZzpib3JkZXItYm94OyB9CiAjX2Zvcm1fOV8gdGV4dGFyZWEgeyByZXNpemU6bm9uZTsgfQogI19mb3JtXzlfIC5fc3VibWl0IHsgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7IGN1cnNvcjpwb2ludGVyOyBmb250LWZhbWlseTphcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHg7IHRleHQtYWxpZ246Y2VudGVyOyBiYWNrZ3JvdW5kOiM4ZjA3MDcgIWltcG9ydGFudDsgYm9yZGVyOjAgIWltcG9ydGFudDsgLW1vei1ib3JkZXItcmFkaXVzOjRweCAhaW1wb3J0YW50OyAtd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4ICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6NHB4ICFpbXBvcnRhbnQ7IGNvbG9yOiNmZmYgIWltcG9ydGFudDsgcGFkZGluZzoxMHB4ICFpbXBvcnRhbnQ7IH0KICNfZm9ybV85XyAuX2Nsb3NlLWljb24geyBjdXJzb3I6cG9pbnRlcjsgYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vZDIyNmFqNGFvMXQ2MXEuY2xvdWRmcm9udC5uZXQvZXNma3lqaDF1X2Zvcm1zLWNsb3NlLWRhcmsucG5nJyk7IGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsgYmFja2dyb3VuZC1zaXplOjE0LjJweCAxNC4ycHg7IHBvc2l0aW9uOmFic29sdXRlOyBkaXNwbGF5OmJsb2NrOyB0b3A6MTFweDsgcmlnaHQ6OXB4OyBvdmVyZmxvdzpoaWRkZW47IHdpZHRoOjE2LjJweDsgaGVpZ2h0OjE2LjJweDsgfQogI19mb3JtXzlfIC5fY2xvc2UtaWNvbjpiZWZvcmUgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgfQogI19mb3JtXzlfIC5fZm9ybS1ib2R5IHsgbWFyZ2luLWJvdHRvbTozMHB4OyB9CiAjX2Zvcm1fOV8gLl9mb3JtLWltYWdlLWxlZnQgeyB3aWR0aDoxNTBweDsgZmxvYXQ6bGVmdDsgfQogI19mb3JtXzlfIC5fZm9ybS1jb250ZW50LXJpZ2h0IHsgbWFyZ2luLWxlZnQ6MTY0cHg7IH0KICNfZm9ybV85XyAuX2Zvcm0tYnJhbmRpbmcgeyBjb2xvcjojZmZmOyBmb250LXNpemU6MTBweDsgY2xlYXI6Ym90aDsgdGV4dC1hbGlnbjpsZWZ0OyBtYXJnaW4tdG9wOjMwcHg7IGZvbnQtd2VpZ2h0OjEwMDsgfQogI19mb3JtXzlfIC5fZm9ybS1icmFuZGluZyAuX2xvZ28geyBkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMzBweDsgaGVpZ2h0OjE0cHg7IG1hcmdpbi10b3A6NnB4OyBiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly9kMjI2YWo0YW8xdDYxcS5jbG91ZGZyb250Lm5ldC9oaDl1anFndjVfYWNsb2dvX2xpLnBuZycpOyBiYWNrZ3JvdW5kLXNpemU6MTMwcHggYXV0bzsgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OyB9CiAjX2Zvcm1fOV8gLl9mb3JtLWxhYmVsLCNfZm9ybV85XyAuX2Zvcm1fZWxlbWVudCAuX2Zvcm0tbGFiZWwgeyBmb250LXdlaWdodDpib2xkOyBtYXJnaW4tYm90dG9tOjVweDsgZGlzcGxheTpibG9jazsgfQogI19mb3JtXzlfLl9kYXJrIC5fZm9ybS1icmFuZGluZyB7IG<br />
NvbG9yOiMzMzM7IH0KICNfZm9ybV85Xy5fZGFyayAuX2Zvcm0tYnJhbmRpbmcgLl9sb2dvIHsgYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vZDIyNmFqNGFvMXQ2MXEuY2xvdWRmcm9udC5uZXQvamZ0cTJjOHNfYWNsb2dvX2RrLnBuZycpOyB9CiAjX2Zvcm1fOV8gLl9mb3JtX2VsZW1lbnQgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgbWFyZ2luLWJvdHRvbToxMHB4OyBmb250LXNpemU6MDsgbWF4LXdpZHRoOjEwMCU7IH0KICNfZm9ybV85XyAuX2Zvcm1fZWxlbWVudCAqIHsgZm9udC1zaXplOjE0cHg7IH0KICNfZm9ybV85XyAuX2Zvcm1fZWxlbWVudC5fY2xlYXIgeyBjbGVhcjpib3RoOyB3aWR0aDoxMDAlOyBmbG9hdDpub25lOyB9CiAjX2Zvcm1fOV8gLl9mb3JtX2VsZW1lbnQuX2NsZWFyOmFmdGVyIHsgY2xlYXI6bGVmdDsgfQogI19mb3JtXzlfIC5fZm9ybV9lbGVtZW50IGlucHV0W3R5cGU9InRleHQiXSwjX2Zvcm1fOV8gLl9mb3JtX2VsZW1lbnQgaW5wdXRbdHlwZT0iZGF0ZSJdLCNfZm9ybV85XyAuX2Zvcm1fZWxlbWVudCBzZWxlY3QsI19mb3JtXzlfIC5fZm9ybV9lbGVtZW50IHRleHRhcmVhOm5vdCguZy1yZWNhcHRjaGEtcmVzcG9uc2UpIHsgZGlzcGxheTpibG9jazsgd2lkdGg6MTAwJTsgLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7IC1tb3otYm94LXNpemluZzpib3JkZXItYm94OyBib3gtc2l6aW5nOmJvcmRlci1ib3g7IH0KICNfZm9ybV85XyAuX2ZpZWxkLXdyYXBwZXIgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgfQogI19mb3JtXzlfIC5faW5saW5lLXN0eWxlIHsgZmxvYXQ6bGVmdDsgfQogI19mb3JtXzlfIC5faW5saW5lLXN0eWxlIGlucHV0W3R5cGU9InRleHQiXSB7IHdpZHRoOjE1MHB4OyB9CiAjX2Zvcm1fOV8gLl9pbmxpbmUtc3R5bGU6bm90KC5fY2xlYXIpICsgLl9pbmxpbmUtc3R5bGU6bm90KC5fY2xlYXIpIHsgbWFyZ2luLWxlZnQ6MjBweDsgfQogI19mb3JtXzlfIC5fZm9ybV9lbGVtZW50IGltZy5fZm9ybS1pbWFnZSB7IG1heC13aWR0aDoxMDAlOyB9CiAjX2Zvcm1fOV8gLl9jbGVhci1lbGVtZW50IHsgY2xlYXI6bGVmdDsgfQogI19mb3JtXzlfIC5fZnVsbF93aWR0aCB7IHdpZHRoOjEwMCU7IH0KICNfZm9ybV85XyAuX2Zvcm1fZnVsbF9maWVsZCB7IGRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IG1hcmdpbi1ib3R0b206MTBweDsgfQogI19mb3JtXzlfIGlucHV0W3R5cGU9InRleHQiXS5faGFzX2Vycm9yLCNfZm9ybV85XyB0ZXh0YXJlYS5faGFzX2Vycm9yIHsgYm9yZGVyOiNmMzdjN2IgMXB4IHNvbGlkOyB9CiAjX2Zvcm1fOV8gaW5wdXRbdHlwZT0iY2hlY2tib3giXS5faGFzX2Vycm9yIHsgb3V0bGluZTojZjM3YzdiIDFweCBzb2xpZDsgfQogI19mb3JtXzlfIC5fZXJyb3IgeyBkaXNwbGF5OmJsb2NrOyBwb3NpdGlvbjphYnNvbHV0ZTsgZm9udC1zaXplOjEzcHg7IHotaW5kZXg6MTAwMDAwMDE7IH0KICNfZm9ybV85XyAuX2Vycm9yLl9hYm92ZSB7IHBhZGRpbmctYm90dG9tOjRweDsgdG9wOi00MXB4OyByaWdodDowOyB9CiAjX2Zvcm1fOV8gLl9lcnJvci5fYmVsb3cgeyBwYWRkaW5nLXRvcDo0cHg7IHRvcDoxMDAlOyByaWdodDowOyB9CiAjX2Zvcm1fOV8gLl9lcnJvci5fYWJvdmUgLl9lcnJvci1hcnJvdyB7IGJvdHRvbTowOyByaWdodDoxNXB4OyBib3JkZXItbGVmdDo1cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1yaWdodDo1cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci10b3A6NXB4IHNvbGlkICNmMzdjN2I7IH0KICNfZm9ybV85XyAuX2Vycm9yLl9iZWxvdyAuX2Vycm9yLWFycm93IHsgdG9wOjA7IHJpZ2h0OjE1cHg7IGJvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLXJpZ2h0OjVweCBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLWJvdHRvbTo1cHggc29saWQgI2YzN2M3YjsgfQogI19mb3JtXzlfIC5fZXJyb3ItaW5uZXIgeyBwYWRkaW5nOjhweCAxMnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNmMzdjN2I7IGZvbnQtc2l6ZToxM3B4OyBmb250LWZhbWlseTphcmlhbCwgc2Fucy1zZXJpZjsgY29sb3I6I2ZmZjsgdGV4dC1hbGlnbjpjZW50ZXI7IHRleHQtZGVjb3JhdGlvbjpub25lOyAtd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4OyAtbW96LWJvcmRlci1yYWRpdXM6NHB4OyBib3JkZXItcmFkaXVzOjRweDsgfQogI19mb3JtXzlfIC5fZXJyb3ItaW5uZXIuX2Zvcm1fZXJyb3IgeyBtYXJnaW4tYm90dG9tOjVweDsgdGV4dC1hbGlnbjpsZWZ0OyB9CiAjX2Zvcm1fOV8gLl9idXR0b24td3JhcHBlciAuX2Vycm9yLWlubmVyLl9mb3JtX2Vycm9yIHsgcG9zaXRpb246c3RhdGljOyB9CiAjX2Zvcm1fOV8gLl9lcnJvci1pbm5lci5fbm9fYXJyb3cgeyBtYXJnaW4tYm90dG9tOjEwcHg7IH0KICNfZm9ybV85XyAuX2Vycm9yLWFycm93IHsgcG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOjA7IGhlaWdodDowOyB9CiAjX2Zvcm1fOV8gLl9lcnJvci1odG1sIHsgbWFyZ2luLWJvdHRvbToxMHB4OyB9CiAucGlrYS1zaW5nbGUgeyB6LWluZGV4OjEwMDAwMDAxICFpbXBvcnRhbnQ7IH0KIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6MzIwcHgpIGFuZCAobWF4LXdpZHRoOjY2N3B4KSB7IDo6LXdlYmtpdC1zY3JvbGxiYXIgeyBkaXNwbGF5Om5vbmU7IH0KICNfZm9ybV85XyB7IG1hcmdpbjowOyB3aWR0aDoxMDAlOyBtaW4td2lkdGg6MTAwJTsgbWF4LXdpZHRoOjEwMCU7IGJveC1zaXppbmc6Ym9yZGVyLWJveDsgfQogI19mb3JtXzlfICogeyAtd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDsgLW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7IGJveC1zaXppbmc6Ym9yZGVyLWJveDsgZm9udC1zaXplOjFlbTsgfQogI19mb3JtXzlfIC5fZm9ybS1jb250ZW50IHsgbWFyZ2luOjA7IHdpZHRoOjEwMCU7IH0KICNfZm9ybV85XyAuX2Zvcm0taW5uZXIgeyBkaXNwbGF5OmJsb2NrOyBtaW4td2lkdGg6MTAwJTsgfQogI19mb3JtXzlfIC5fZm9ybS10aXRsZSwjX2Zvcm1fOV8gLl9pbmxpbmUtc3R5bGUgeyBtYXJnaW4tdG9wOjA7IG1hcmdpbi1yaWdodDowOyBtYXJnaW4tbGVmdDowOyB9CiAjX2Zvcm1fOV8gLl9mb3JtLXRpdGxlIHsgZm9udC1zaXplOjEuMmVtOyB9CiAjX2Zvcm1fOV8gLl9mb3JtX2VsZW1lbnQgeyBtYXJnaW46MCAwIDIwcHg7IHBhZGRpbmc6MDsgd2lkdGg6MTAwJTsgfQogI19mb3JtXzlfIC5fZm9ybS1lbGVtZW50LCNfZm9ybV85XyAuX2lubGluZS1zdHlsZSwjX2Zvcm1fOV8gaW5wdXRbdHlwZT0idGV4dCJdLCNfZm9ybV85XyBsYWJlbCwjX2Zvcm1fOV8gcCwjX2Zvcm1fOV8gdGV4dGFyZWE6bm90KC5nLXJlY2FwdGNoYS1yZXNwb25zZSkgeyBmbG9hdDpub25lOyBkaXNwbGF5OmJsb2NrOyB3aWR0aDoxMDAlOyB9CiAjX2Zvcm1fOV8gLl9yb3cuX2NoZWNrYm94LXJhZGlvIGxhYmVsIHsgZGlzcGxheTppbmxpbmU7IH0KICNfZm9ybV85XyAuX3JvdywjX2Zvcm1fOV8gcCwjX2Zvcm1fOV8gbGFiZWwgeyBtYXJnaW4tYm90dG9tOjAuN2VtOyB3aWR0aDoxMDAlOyB9CiAjX2Zvcm1fOV8gLl9yb3cgaW5wdXRbdHlwZT0iY2hlY2tib3giXSwjX2Zvcm1fOV8gLl9yb3cgaW5wdXRbdHlwZT0icmFkaW8iXSB7IG1hcmdpbjowICFpbXBvcnRhbnQ7IHZlcnRpY2FsLWFsaWduOm1pZGRsZSAhaW1wb3J0YW50OyB9CiAjX2Zvcm1fOV8gLl9yb3cgaW5wdXRbdHlwZT0iY2hlY2tib3giXSArIHNwYW4gbGFiZWwgeyBkaXNwbGF5OmlubGluZTsgfQogI19mb3JtXzlfIC5fcm93IHNwYW4gbGFiZWwgeyBtYXJnaW46MCAhaW1wb3J0YW50OyB3aWR0aDppbml0aWFsICFpbXBvcnRhbnQ7IHZlcnRpY2FsLWFsaWduOm1pZGRsZSAhaW1wb3J0YW50OyB9CiAjX2Zvcm1fOV8gLl9mb3JtLWltYWdlIHsgbWF4LXdpZHRoOjEwMCU7IGhlaWdodDphdXRvICFpbXBvcnRhbnQ7IH0KICNfZm9ybV85XyBpbnB1dFt0eXBlPSJ0ZXh0Il0geyBwYWRkaW5nLWxlZnQ6MTBweDsgcGFkZGluZy1yaWdodDoxMHB4OyBmb250LXNpemU6MTZweDsgbGluZS1oZWlnaHQ6MS4zZW07IC13ZWJraXQtYXBwZWFyYW5jZTpub25lOyB9CiAjX2Zvcm1fOV8gaW5wdXRbdHlwZT0icmFkaW8iXSwjX2Zvcm1fOV8gaW5wdXRbdHlwZT0iY2hlY2tib3giXSB7IGRpc3BsYXk6aW5saW5lLWJsb2NrOyB3aWR0aDoxLjNlbTsgaGVpZ2h0OjEuM2VtOyBmb250LXNpemU6MWVtOyBtYXJnaW46MCAwLjNlbSAwIDA7IHZlcnRpY2FsLWFsaWduOmJhc2VsaW5lOyB9CiAjX2Zvcm1fOV8gYnV0dG9uW3R5cGU9InN1Ym1pdCJdIHsgcGFkZGluZzoyMHB4OyBmb250LXNpemU6MS41ZW07IH0KICNfZm9ybV85XyAuX2lubGluZS1zdHlsZSB7IG1hcmdpbjoyMHB4IDAgMCAhaW1wb3J0YW50OyB9CiB9CiAjX2Zvcm1fOV8geyBwb3NpdGlvbjpyZWxhdGl2ZTsgdGV4dC1hbGlnbjpsZWZ0OyBtYXJnaW46MjVweCBhdXRvIDA7IHBhZGRpbmc6MjBweDsgLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7IC1tb3otYm94LXNpemluZzpib3JkZXItYm94OyBib3gtc2l6aW5nOmJvcmRlci1ib3g7ICp6b29tOjE7IGJhY2tncm91bmQ6I2ZmZiAhaW1wb3J0YW50OyBib3JkZXI6MHB4IHNvbGlkICNiMGIwYjAgIWltcG9ydGFudDsgd2lkdGg6NTAwcHg7IC1tb3otYm9yZGVyLXJhZGl1czowcHggIWltcG9ydGFudDsgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjBweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOjBweCAhaW1wb3J0YW50OyBjb2xvcjojMDAwICFpbXBvcnRhbnQ7IH0KICNfZm9ybV85XyAuX2Zvcm0tdGl0bGUgeyBmb250LXNpemU6MjJweDsgbGluZS1oZWlnaHQ6MjJweDsgZm9udC13ZWlnaHQ6NjAwOyBtYXJnaW4tYm90dG9tOjA7IH0KICNfZm9ybV85XzpiZWZvcmUsI19mb3JtXzlfOmFmdGVyIHsgY29udGVudDoiICI7IGRpc3BsYXk6dGFibGU7IH0KICNfZm9ybV85XzphZnRlciB7IGNsZWFyOmJvdGg7IH0KICNfZm9ybV85Xy5faW5saW5lLXN0eWxlIHsgd2lkdGg6YXV0bzsgZGlzcGxheTppbmxpbmUtYmxvY2s7IH0KICNfZm9ybV85Xy5faW5saW5lLXN0eWxlIGlucHV0W3R5cGU9InRleHQiXSwjX2Zvcm1fOV8uX2lubGluZS1zdHlsZSBpbnB1dFt0eXBlPSJkYXRlIl0geyBwYWRkaW5nOjEwcHggMTJweDsgfQogI19mb3JtXzlfLl9pbmxpbmUtc3R5bGUgYnV0dG9uLl9pbmxpbmUtc3R5bGUgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgdG9wOjI3cHg7IH0KICNfZm9ybV85Xy5faW5saW5lLXN0eWxlIHAgeyBtYXJnaW46MDsgfQogI19mb3JtXzlfLl9pbmxpbmUtc3R5bGUgLl9idXR0b24td3JhcHBlciB7IHBvc2l0aW9uOnJlbGF0aXZlOyBtYXJnaW46MjdweCAxMi41cHggMCAyMHB4OyB9CiAjX2Zvcm1fOV8gLl9mb3JtLXRoYW5rLXlvdSB7IHBvc2l0aW9uOnJlbGF0aXZlOyBsZWZ0OjA7IHJpZ2h0OjA7IHRleHQtYWxpZ246Y2VudGVyOyBmb250LXNpemU6MThweDsgfQogQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDozMjBweCkgYW5kIChtYXgtd2lkdGg6NjY3cHgpIHsgI19mb3JtXzlfLl9pbmxpbmUtZm9ybS5faW5saW5lLXN0eWxlIC5faW5saW5lLXN0eWxlLl9idXR0b24td3JhcHBlciB7IG1hcmdpbi10b3A6MjBweCAhaW1wb3J0YW50OyBtYXJnaW4tbGVmdDowICFpbXBvcnRhbnQ7IH0KIH0KPC9zdHlsZT4KPGZvcm0gbWV0aG9kPSJQT1NUIiBhY3Rpb249Imh0dHBzOi8vY2Z0ZS5hY3RpdmVob3N0ZWQuY29tL3Byb2MucGhwIiBpZD0iX2Zvcm1fOV8iIGNsYXNzPSJfZm9ybSBfZm9ybV85IF9pbmxpbmUtZm9ybSAgX2RhcmsiIG5vdmFsaWRhdGU+CiAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idSIgdmFsdWU9IjkiIC8+CiAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZiIgdmFsdWU9IjkiIC8+CiAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icyIgLz4KICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjIiB2YWx1ZT0iMCIgLz4KICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJtIiB2YWx1ZT0iMCIgLz4KICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhY3QiIHZhbHVlPSJzdWIiIC8+CiAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idiIgdmFsdWU9IjIiIC8+CiAgPGRpdiBjbGFzcz0iX2Zvcm0tY29udGVudCI+CiAgICA8ZGl2IGNsYXNzPSJfZm9ybV9lbGVtZW50IF94NTQyNDM5ODIgX2Z1bGxfd2lkdGggX2NsZWFyIiA+CiAgICAgIDxkaXYgY2xhc3M9I<br />
l9mb3JtLXRpdGxlIj4KICAgICAgICBTdWJzY3JpYmUgdG8gb3VyIFdlZWtseSBOZXdzbGV0dGVyCiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJfZm9ybV9lbGVtZW50IF94NjA5MzM0NzIgX2Z1bGxfd2lkdGggIiA+CiAgICAgIDxsYWJlbCBjbGFzcz0iX2Zvcm0tbGFiZWwiPgogICAgICAgIEZpcnN0IE5hbWUqCiAgICAgIDwvbGFiZWw+CiAgICAgIDxkaXYgY2xhc3M9Il9maWVsZC13cmFwcGVyIj4KICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZmlyc3RuYW1lIiBwbGFjZWhvbGRlcj0iVHlwZSB5b3VyIGZpcnN0IG5hbWUiIHJlcXVpcmVkLz4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Il9mb3JtX2VsZW1lbnQgX3g0MjY0ODYwMCBfZnVsbF93aWR0aCAiID4KICAgICAgPGxhYmVsIGNsYXNzPSJfZm9ybS1sYWJlbCI+CiAgICAgICAgTGFzdCBOYW1lKgogICAgICA8L2xhYmVsPgogICAgICA8ZGl2IGNsYXNzPSJfZmllbGQtd3JhcHBlciI+CiAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9Imxhc3RuYW1lIiBwbGFjZWhvbGRlcj0iVHlwZSB5b3VyIGxhc3QgbmFtZSIgcmVxdWlyZWQvPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2Zvcm1fZWxlbWVudCBfeDA0OTc0OTE5IF9mdWxsX3dpZHRoICIgPgogICAgICA8bGFiZWwgY2xhc3M9Il9mb3JtLWxhYmVsIj4KICAgICAgICBFbWFpbCoKICAgICAgPC9sYWJlbD4KICAgICAgPGRpdiBjbGFzcz0iX2ZpZWxkLXdyYXBwZXIiPgogICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJlbWFpbCIgcGxhY2Vob2xkZXI9IlR5cGUgeW91ciBlbWFpbCIgcmVxdWlyZWQvPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2Zvcm1fZWxlbWVudCBfZmllbGQxIF9mdWxsX3dpZHRoICIgPgogICAgICA8bGFiZWwgY2xhc3M9Il9mb3JtLWxhYmVsIj4KICAgICAgICBDb3VudHJ5KgogICAgICA8L2xhYmVsPgogICAgICA8ZGl2IGNsYXNzPSJfZmllbGQtd3JhcHBlciI+CiAgICAgICAgPHNlbGVjdCBuYW1lPSJmaWVsZFsxXSIgcmVxdWlyZWQ+CiAgICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBZmdoYW5pc3RhbiIgPgogICAgICAgICAgICBBZmdoYW5pc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBbGJhbmlhIiA+CiAgICAgICAgICAgIEFsYmFuaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQWxnZXJpYSIgPgogICAgICAgICAgICBBbGdlcmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkFtZXJpY2FuIFNhbW9hIiA+CiAgICAgICAgICAgIEFtZXJpY2FuIFNhbW9hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkFuZG9ycmEiID4KICAgICAgICAgICAgQW5kb3JyYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBbmdvbGEiID4KICAgICAgICAgICAgQW5nb2xhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkFuZ3VpbGxhIiA+CiAgICAgICAgICAgIEFuZ3VpbGxhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkFudGFyY3RpY2EiID4KICAgICAgICAgICAgQW50YXJjdGljYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBbnRpZ3VhIGFuZCBCYXJidWRhIiA+CiAgICAgICAgICAgIEFudGlndWEgYW5kIEJhcmJ1ZGEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQXJnZW50aW5hIiA+CiAgICAgICAgICAgIEFyZ2VudGluYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBcm1lbmlhIiA+CiAgICAgICAgICAgIEFybWVuaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQXJ1YmEiID4KICAgICAgICAgICAgQXJ1YmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQXVzdHJhbGlhIiA+CiAgICAgICAgICAgIEF1c3RyYWxpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJBdXN0cmlhIiA+CiAgICAgICAgICAgIEF1c3RyaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQXplcmJhaWphbiIgPgogICAgICAgICAgICBBemVyYmFpamFuCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJhaGFtYXMiID4KICAgICAgICAgICAgQmFoYW1hcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCYWhyYWluIiA+CiAgICAgICAgICAgIEJhaHJhaW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQmFuZ2xhZGVzaCIgPgogICAgICAgICAgICBCYW5nbGFkZXNoCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJhcmJhZG9zIiA+CiAgICAgICAgICAgIEJhcmJhZG9zCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJlbGFydXMiID4KICAgICAgICAgICAgQmVsYXJ1cwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCZWxnaXVtIiA+CiAgICAgICAgICAgIEJlbGdpdW0KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQmVsaXplIiA+CiAgICAgICAgICAgIEJlbGl6ZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCZW5pbiIgPgogICAgICAgICAgICBCZW5pbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCZXJtdWRhIiA+CiAgICAgICAgICAgIEJlcm11ZGEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQmh1dGFuIiA+CiAgICAgICAgICAgIEJodXRhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCb2xpdmlhIiA+CiAgICAgICAgICAgIEJvbGl2aWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYSIgPgogICAgICAgICAgICBCb3NuaWEgYW5kIEhlcnplZ292aW5hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJvdHN3YW5hIiA+CiAgICAgICAgICAgIEJvdHN3YW5hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJvdXZldCBJc2xhbmQiID4KICAgICAgICAgICAgQm91dmV0IElzbGFuZAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCcmF6aWwiID4KICAgICAgICAgICAgQnJhemlsCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJyaXRpc2ggSW5kaWFuIE9jZWFuIFRlcnJpdG9yeSIgPgogICAgICAgICAgICBCcml0aXNoIEluZGlhbiBPY2VhbiBUZXJyaXRvcnkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQnJ1bmVpIERhcnVzc2FsYW0iID4KICAgICAgICAgICAgQnJ1bmVpIERhcnVzc2FsYW0KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQnVsZ2FyaWEiID4KICAgICAgICAgICAgQnVsZ2FyaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQnVya2luYSBGYXNvIiA+CiAgICAgICAgICAgIEJ1cmtpbmEgRmFzbwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJCdXJ1bmRpIiA+CiAgICAgICAgICAgIEJ1cnVuZGkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2FtYm9kaWEiID4KICAgICAgICAgICAgQ2FtYm9kaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2FtZXJvb24iID4KICAgICAgICAgICAgQ2FtZXJvb24KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2FuYWRhIiA+CiAgICAgICAgICAgIENhbmFkYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDYXBlIFZlcmRlIiA+CiAgICAgICAgICAgIENhcGUgVmVyZGUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2F5bWFuIElzbGFuZHMiID4KICAgICAgICAgICAgQ2F5bWFuIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljIiA+CiAgICAgICAgICAgIENlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDaGFkIiA+CiAgICAgICAgICAgIENoYWQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2hpbGUiID4KICAgICAgICAgICAgQ2hpbGUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2hpbmEiID4KICAgICAgICAgICAgQ2hpbmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ2hyaXN0bWFzIElzbGFuZCIgPgogICAgICAgICAgICBDaHJpc3RtYXMgSXNsYW5kCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkNvY29zIChLZWVsaW5nKSBJc2xhbmRzIiA+CiAgICAgICAgICAgIENvY29zIChLZWVsaW5nKSBJc2xhbmRzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkNvbG9tYmlhIiA+CiAgICAgICAgICAgIENvbG9tYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkNvbW9yb3MiID4KICAgICAgICAgICAgQ29tb3JvcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDb25nbyIgPgogICAgICAgICAgICBDb25nbwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDb25nbywgdGhlIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlIiA+CiAgICAgICAgICAgIENvbmdvLCB0aGUgRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ29vayBJc2xhbmRzIiA+CiAgICAgICAgICAgIENvb2sgSXNsYW5kcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDb3N0YSBSaWNhIiA+CiAgICAgICAgICAgIENvc3RhIFJpY2EKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ290ZSBEJiMwMzk7SXZvaXJlIiA+CiAgICAgICAgICAgIENvdGUgRCYjMDM5O0l2b2lyZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDcm9hdGlhIiA+CiAgICAgICAgICAgIENyb2F0aWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ3ViYSIgPgogICAgICAgICAgICBDdWJhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkN5cHJ1cyIgPgogICAgICAgICAgICBDeXBydXMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ3plY2ggUmVwdWJsaWMiID4KICAgICAgICAgICAgQ3plY2ggUmVwdWJsaWMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRGVubWFyayIgPgogICAgICAgICAgICBEZW5tYXJrCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkRqaWJvdXRpIiA+CiAgICAgICAgICAgIERqaWJvdXRpCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkRvbWluaWNhIiA+CiAgICAgICAgICAgIERvbWluaWNhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkRvbWluaWNhbiBSZXB1YmxpYyIgPgogICAgICAgICAgICBEb21pbmljYW4g<br />
UmVwdWJsaWMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRWN1YWRvciIgPgogICAgICAgICAgICBFY3VhZG9yCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkVneXB0IiA+CiAgICAgICAgICAgIEVneXB0CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkVsIFNhbHZhZG9yIiA+CiAgICAgICAgICAgIEVsIFNhbHZhZG9yCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkVxdWF0b3JpYWwgR3VpbmVhIiA+CiAgICAgICAgICAgIEVxdWF0b3JpYWwgR3VpbmVhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkVyaXRyZWEiID4KICAgICAgICAgICAgRXJpdHJlYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJFc3RvbmlhIiA+CiAgICAgICAgICAgIEVzdG9uaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRXRoaW9waWEiID4KICAgICAgICAgICAgRXRoaW9waWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRmFsa2xhbmQgSXNsYW5kcyAoTWFsdmluYXMpIiA+CiAgICAgICAgICAgIEZhbGtsYW5kIElzbGFuZHMgKE1hbHZpbmFzKQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJGYXJvZSBJc2xhbmRzIiA+CiAgICAgICAgICAgIEZhcm9lIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRmlqaSIgPgogICAgICAgICAgICBGaWppCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkZpbmxhbmQiID4KICAgICAgICAgICAgRmlubGFuZAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJGcmFuY2UiID4KICAgICAgICAgICAgRnJhbmNlCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkZyZW5jaCBHdWlhbmEiID4KICAgICAgICAgICAgRnJlbmNoIEd1aWFuYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJGcmVuY2ggUG9seW5lc2lhIiA+CiAgICAgICAgICAgIEZyZW5jaCBQb2x5bmVzaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iRnJlbmNoIFNvdXRoZXJuIFRlcnJpdG9yaWVzIiA+CiAgICAgICAgICAgIEZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHYWJvbiIgPgogICAgICAgICAgICBHYWJvbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHYW1iaWEiID4KICAgICAgICAgICAgR2FtYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikdlb3JnaWEiID4KICAgICAgICAgICAgR2VvcmdpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHZXJtYW55IiA+CiAgICAgICAgICAgIEdlcm1hbnkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iR2hhbmEiID4KICAgICAgICAgICAgR2hhbmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iR2licmFsdGFyIiA+CiAgICAgICAgICAgIEdpYnJhbHRhcgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHcmVlY2UiID4KICAgICAgICAgICAgR3JlZWNlCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkdyZWVubGFuZCIgPgogICAgICAgICAgICBHcmVlbmxhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iR3JlbmFkYSIgPgogICAgICAgICAgICBHcmVuYWRhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikd1YWRlbG91cGUiID4KICAgICAgICAgICAgR3VhZGVsb3VwZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHdWFtIiA+CiAgICAgICAgICAgIEd1YW0KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iR3VhdGVtYWxhIiA+CiAgICAgICAgICAgIEd1YXRlbWFsYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHdWVybnNleSIgPgogICAgICAgICAgICBHdWVybnNleQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHdWluZWEiID4KICAgICAgICAgICAgR3VpbmVhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikd1aW5lYS1CaXNzYXUiID4KICAgICAgICAgICAgR3VpbmVhLUJpc3NhdQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHdXlhbmEiID4KICAgICAgICAgICAgR3V5YW5hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkhhaXRpIiA+CiAgICAgICAgICAgIEhhaXRpCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkhlYXJkIElzbGFuZCBhbmQgTWNkb25hbGQgSXNsYW5kcyIgPgogICAgICAgICAgICBIZWFyZCBJc2xhbmQgYW5kIE1jZG9uYWxkIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSG9seSBTZWUgKFZhdGljYW4gQ2l0eSBTdGF0ZSkiID4KICAgICAgICAgICAgSG9seSBTZWUgKFZhdGljYW4gQ2l0eSBTdGF0ZSkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSG9uZHVyYXMiID4KICAgICAgICAgICAgSG9uZHVyYXMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSG9uZyBLb25nIiA+CiAgICAgICAgICAgIEhvbmcgS29uZwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJIdW5nYXJ5IiA+CiAgICAgICAgICAgIEh1bmdhcnkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSWNlbGFuZCIgPgogICAgICAgICAgICBJY2VsYW5kCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkluZGlhIiA+CiAgICAgICAgICAgIEluZGlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkluZG9uZXNpYSIgPgogICAgICAgICAgICBJbmRvbmVzaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSXJhbiwgSXNsYW1pYyBSZXB1YmxpYyBvZiIgPgogICAgICAgICAgICBJcmFuLCBJc2xhbWljIFJlcHVibGljIG9mCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IklyYXEiID4KICAgICAgICAgICAgSXJhcQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJJcmVsYW5kIiA+CiAgICAgICAgICAgIElyZWxhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSXNyYWVsIiA+CiAgICAgICAgICAgIElzcmFlbAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJJdGFseSIgPgogICAgICAgICAgICBJdGFseQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJKYW1haWNhIiA+CiAgICAgICAgICAgIEphbWFpY2EKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSmFwYW4iID4KICAgICAgICAgICAgSmFwYW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iSm9yZGFuIiA+CiAgICAgICAgICAgIEpvcmRhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJLYXpha2hzdGFuIiA+CiAgICAgICAgICAgIEthemFraHN0YW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iS2VueWEiID4KICAgICAgICAgICAgS2VueWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iS2lyaWJhdGkiID4KICAgICAgICAgICAgS2lyaWJhdGkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iS29yZWEsIERlbW9jcmF0aWMgUGVvcGxlJiMwMzk7cyBSZXB1YmxpYyBvZiIgPgogICAgICAgICAgICBLb3JlYSwgRGVtb2NyYXRpYyBQZW9wbGUmIzAzOTtzIFJlcHVibGljIG9mCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IktvcmVhLCBSZXB1YmxpYyBvZiIgPgogICAgICAgICAgICBLb3JlYSwgUmVwdWJsaWMgb2YKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iS3V3YWl0IiA+CiAgICAgICAgICAgIEt1d2FpdAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJLeXJneXpzdGFuIiA+CiAgICAgICAgICAgIEt5cmd5enN0YW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTGFvIFBlb3BsZSYjMDM5O3MgRGVtb2NyYXRpYyBSZXB1YmxpYyIgPgogICAgICAgICAgICBMYW8gUGVvcGxlJiMwMzk7cyBEZW1vY3JhdGljIFJlcHVibGljCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkxhdHZpYSIgPgogICAgICAgICAgICBMYXR2aWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTGViYW5vbiIgPgogICAgICAgICAgICBMZWJhbm9uCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikxlc290aG8iID4KICAgICAgICAgICAgTGVzb3RobwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJMaWJlcmlhIiA+CiAgICAgICAgICAgIExpYmVyaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTGlieWFuIEFyYWIgSmFtYWhpcml5YSIgPgogICAgICAgICAgICBMaWJ5YW4gQXJhYiBKYW1haGlyaXlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkxpZWNodGVuc3RlaW4iID4KICAgICAgICAgICAgTGllY2h0ZW5zdGVpbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJMaXRodWFuaWEiID4KICAgICAgICAgICAgTGl0aHVhbmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ikx1eGVtYm91cmciID4KICAgICAgICAgICAgTHV4ZW1ib3VyZwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYWNhbyIgPgogICAgICAgICAgICBNYWNhbwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYWNlZG9uaWEsIHRoZSBGb3JtZXIgWXVnb3NsYXYgUmVwdWJsaWMgb2YiID4KICAgICAgICAgICAgTWFjZWRvbmlhLCB0aGUgRm9ybWVyIFl1Z29zbGF2IFJlcHVibGljIG9mCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hZGFnYXNjYXIiID4KICAgICAgICAgICAgTWFkYWdhc2NhcgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYWxhd2kiID4KICAgICAgICAgICAgTWFsYXdpCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hbGF5c2lhIiA+CiAgICAgICAgICAgIE1hbGF5c2lhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hbGRpdmVzIiA+CiAgICAgICAgICAgIE1hbGRpdmVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hbGkiID4KICAgICAgICAgICAgTWFsaQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYWx0YSIgPgogICAgICAgICAgICBNYWx0YQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYXJzaGFsbCBJc2xhbmRzIiA+CiAgICAgICAgICAgIE1hcnNoYWxsIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICA<br />
gICAgPG9wdGlvbiB2YWx1ZT0iTWFydGluaXF1ZSIgPgogICAgICAgICAgICBNYXJ0aW5pcXVlCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1hdXJpdGFuaWEiID4KICAgICAgICAgICAgTWF1cml0YW5pYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNYXVyaXRpdXMiID4KICAgICAgICAgICAgTWF1cml0aXVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1heW90dGUiID4KICAgICAgICAgICAgTWF5b3R0ZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNZXhpY28iID4KICAgICAgICAgICAgTWV4aWNvCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1pY3JvbmVzaWEsIEZlZGVyYXRlZCBTdGF0ZXMgb2YiID4KICAgICAgICAgICAgTWljcm9uZXNpYSwgRmVkZXJhdGVkIFN0YXRlcyBvZgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNb2xkb3ZhLCBSZXB1YmxpYyBvZiIgPgogICAgICAgICAgICBNb2xkb3ZhLCBSZXB1YmxpYyBvZgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNb25hY28iID4KICAgICAgICAgICAgTW9uYWNvCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1vbmdvbGlhIiA+CiAgICAgICAgICAgIE1vbmdvbGlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1vbnRlbmVncm8iID4KICAgICAgICAgICAgTW9udGVuZWdybwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNb250c2VycmF0IiA+CiAgICAgICAgICAgIE1vbnRzZXJyYXQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTW9yb2NjbyIgPgogICAgICAgICAgICBNb3JvY2NvCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik1vemFtYmlxdWUiID4KICAgICAgICAgICAgTW96YW1iaXF1ZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNeWFubWFyIiA+CiAgICAgICAgICAgIE15YW5tYXIKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTmFtaWJpYSIgPgogICAgICAgICAgICBOYW1pYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5hdXJ1IiA+CiAgICAgICAgICAgIE5hdXJ1CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5lcGFsIiA+CiAgICAgICAgICAgIE5lcGFsCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5ldGhlcmxhbmRzIiA+CiAgICAgICAgICAgIE5ldGhlcmxhbmRzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5ldGhlcmxhbmRzIEFudGlsbGVzIiA+CiAgICAgICAgICAgIE5ldGhlcmxhbmRzIEFudGlsbGVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5ldyBDYWxlZG9uaWEiID4KICAgICAgICAgICAgTmV3IENhbGVkb25pYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJOZXcgWmVhbGFuZCIgPgogICAgICAgICAgICBOZXcgWmVhbGFuZAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJOaWNhcmFndWEiID4KICAgICAgICAgICAgTmljYXJhZ3VhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5pZ2VyIiA+CiAgICAgICAgICAgIE5pZ2VyCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik5pZ2VyaWEiID4KICAgICAgICAgICAgTmlnZXJpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJOaXVlIiA+CiAgICAgICAgICAgIE5pdWUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTm9yZm9sayBJc2xhbmQiID4KICAgICAgICAgICAgTm9yZm9sayBJc2xhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzIiA+CiAgICAgICAgICAgIE5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJOb3J3YXkiID4KICAgICAgICAgICAgTm9yd2F5CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ik9tYW4iID4KICAgICAgICAgICAgT21hbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJQYWtpc3RhbiIgPgogICAgICAgICAgICBQYWtpc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJQYWxhdSIgPgogICAgICAgICAgICBQYWxhdQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJQYWxlc3RpbmlhbiBUZXJyaXRvcnksIE9jY3VwaWVkIiA+CiAgICAgICAgICAgIFBhbGVzdGluaWFuIFRlcnJpdG9yeSwgT2NjdXBpZWQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUGFuYW1hIiA+CiAgICAgICAgICAgIFBhbmFtYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJQYXB1YSBOZXcgR3VpbmVhIiA+CiAgICAgICAgICAgIFBhcHVhIE5ldyBHdWluZWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUGFyYWd1YXkiID4KICAgICAgICAgICAgUGFyYWd1YXkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUGVydSIgPgogICAgICAgICAgICBQZXJ1CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlBoaWxpcHBpbmVzIiA+CiAgICAgICAgICAgIFBoaWxpcHBpbmVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlBpdGNhaXJuIiA+CiAgICAgICAgICAgIFBpdGNhaXJuCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlBvbGFuZCIgPgogICAgICAgICAgICBQb2xhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUG9ydHVnYWwiID4KICAgICAgICAgICAgUG9ydHVnYWwKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUHVlcnRvIFJpY28iID4KICAgICAgICAgICAgUHVlcnRvIFJpY28KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUWF0YXIiID4KICAgICAgICAgICAgUWF0YXIKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUmV1bmlvbiIgPgogICAgICAgICAgICBSZXVuaW9uCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlJvbWFuaWEiID4KICAgICAgICAgICAgUm9tYW5pYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJSdXNzaWFuIEZlZGVyYXRpb24iID4KICAgICAgICAgICAgUnVzc2lhbiBGZWRlcmF0aW9uCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlJ3YW5kYSIgPgogICAgICAgICAgICBSd2FuZGEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2FpbnQgSGVsZW5hIiA+CiAgICAgICAgICAgIFNhaW50IEhlbGVuYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYWludCBLaXR0cyBhbmQgTmV2aXMiID4KICAgICAgICAgICAgU2FpbnQgS2l0dHMgYW5kIE5ldmlzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNhaW50IEx1Y2lhIiA+CiAgICAgICAgICAgIFNhaW50IEx1Y2lhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNhaW50IFBpZXJyZSBhbmQgTWlxdWVsb24iID4KICAgICAgICAgICAgU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYWludCBWaW5jZW50IGFuZCB0aGUgR3JlbmFkaW5lcyIgPgogICAgICAgICAgICBTYWludCBWaW5jZW50IGFuZCB0aGUgR3JlbmFkaW5lcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYW1vYSIgPgogICAgICAgICAgICBTYW1vYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYW4gTWFyaW5vIiA+CiAgICAgICAgICAgIFNhbiBNYXJpbm8KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2FvIFRvbWUgYW5kIFByaW5jaXBlIiA+CiAgICAgICAgICAgIFNhbyBUb21lIGFuZCBQcmluY2lwZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTYXVkaSBBcmFiaWEiID4KICAgICAgICAgICAgU2F1ZGkgQXJhYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNlbmVnYWwiID4KICAgICAgICAgICAgU2VuZWdhbAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTZXJiaWEiID4KICAgICAgICAgICAgU2VyYmlhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNleWNoZWxsZXMiID4KICAgICAgICAgICAgU2V5Y2hlbGxlcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTaWVycmEgTGVvbmUiID4KICAgICAgICAgICAgU2llcnJhIExlb25lCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlNpbmdhcG9yZSIgPgogICAgICAgICAgICBTaW5nYXBvcmUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2xvdmFraWEiID4KICAgICAgICAgICAgU2xvdmFraWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU2xvdmVuaWEiID4KICAgICAgICAgICAgU2xvdmVuaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU29sb21vbiBJc2xhbmRzIiA+CiAgICAgICAgICAgIFNvbG9tb24gSXNsYW5kcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTb21hbGlhIiA+CiAgICAgICAgICAgIFNvbWFsaWEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU291dGggQWZyaWNhIiA+CiAgICAgICAgICAgIFNvdXRoIEFmcmljYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTb3V0aCBHZW9yZ2lhIGFuZCB0aGUgU291dGggU2FuZHdpY2ggSXNsYW5kcyIgPgogICAgICAgICAgICBTb3V0aCBHZW9yZ2lhIGFuZCB0aGUgU291dGggU2FuZHdpY2ggSXNsYW5kcwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTcGFpbiIgPgogICAgICAgICAgICBTcGFpbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTcmkgTGFua2EiID4KICAgICAgICAgICAgU3JpIExhbmthCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlN1ZGFuIiA+CiAgICAgICAgICAgIFN1ZGFuCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlN1cmluYW1lIiA+CiAgICAgICAgICAgIFN1cmluYW1lCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlN2YWxiYXJkIGFuZCBKYW4gTWF5ZW4iID4KICAgICAgICAgICAgU3ZhbGJhcmQgYW5kIEphbiBNYXllbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTd2F6aWxhbmQiID4KICAgICAgICAgICAgU3dhemlsYW5kCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlN3ZWRlbiIgPgogICAgICAgICAgICBTd2VkZW4KICAgICAgICAgIDwvb3B0aW9uPg<br />
ogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU3dpdHplcmxhbmQiID4KICAgICAgICAgICAgU3dpdHplcmxhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iU3lyaWFuIEFyYWIgUmVwdWJsaWMiID4KICAgICAgICAgICAgU3lyaWFuIEFyYWIgUmVwdWJsaWMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVGFpd2FuLCBQcm92aW5jZSBvZiBDaGluYSIgPgogICAgICAgICAgICBUYWl3YW4sIFByb3ZpbmNlIG9mIENoaW5hCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlRhamlraXN0YW4iID4KICAgICAgICAgICAgVGFqaWtpc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJUYW56YW5pYSwgVW5pdGVkIFJlcHVibGljIG9mIiA+CiAgICAgICAgICAgIFRhbnphbmlhLCBVbml0ZWQgUmVwdWJsaWMgb2YKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVGhhaWxhbmQiID4KICAgICAgICAgICAgVGhhaWxhbmQKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVGltb3ItTGVzdGUiID4KICAgICAgICAgICAgVGltb3ItTGVzdGUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVG9nbyIgPgogICAgICAgICAgICBUb2dvCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlRva2VsYXUiID4KICAgICAgICAgICAgVG9rZWxhdQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJUb25nYSIgPgogICAgICAgICAgICBUb25nYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJUcmluaWRhZCBhbmQgVG9iYWdvIiA+CiAgICAgICAgICAgIFRyaW5pZGFkIGFuZCBUb2JhZ28KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVHVuaXNpYSIgPgogICAgICAgICAgICBUdW5pc2lhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlR1cmtleSIgPgogICAgICAgICAgICBUdXJrZXkKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVHVya21lbmlzdGFuIiA+CiAgICAgICAgICAgIFR1cmttZW5pc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJUdXJrcyBhbmQgQ2FpY29zIElzbGFuZHMiID4KICAgICAgICAgICAgVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlR1dmFsdSIgPgogICAgICAgICAgICBUdXZhbHUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVWdhbmRhIiA+CiAgICAgICAgICAgIFVnYW5kYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJVa3JhaW5lIiA+CiAgICAgICAgICAgIFVrcmFpbmUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVW5pdGVkIEFyYWIgRW1pcmF0ZXMiID4KICAgICAgICAgICAgVW5pdGVkIEFyYWIgRW1pcmF0ZXMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVW5pdGVkIEtpbmdkb20iID4KICAgICAgICAgICAgVW5pdGVkIEtpbmdkb20KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVW5pdGVkIFN0YXRlcyIgPgogICAgICAgICAgICBVbml0ZWQgU3RhdGVzCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlVuaXRlZCBTdGF0ZXMgTWlub3IgT3V0bHlpbmcgSXNsYW5kcyIgPgogICAgICAgICAgICBVbml0ZWQgU3RhdGVzIE1pbm9yIE91dGx5aW5nIElzbGFuZHMKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVXJ1Z3VheSIgPgogICAgICAgICAgICBVcnVndWF5CiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IlV6YmVraXN0YW4iID4KICAgICAgICAgICAgVXpiZWtpc3RhbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJWYW51YXR1IiA+CiAgICAgICAgICAgIFZhbnVhdHUKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVmVuZXp1ZWxhIiA+CiAgICAgICAgICAgIFZlbmV6dWVsYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJWaWV0bmFtIiA+CiAgICAgICAgICAgIFZpZXRuYW0KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVmlyZ2luIElzbGFuZHMsIEJyaXRpc2giID4KICAgICAgICAgICAgVmlyZ2luIElzbGFuZHMsIEJyaXRpc2gKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVmlyZ2luIElzbGFuZHMsIFUucy4iID4KICAgICAgICAgICAgVmlyZ2luIElzbGFuZHMsIFUucy4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iV2FsbGlzIGFuZCBGdXR1bmEiID4KICAgICAgICAgICAgV2FsbGlzIGFuZCBGdXR1bmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iV2VzdGVybiBTYWhhcmEiID4KICAgICAgICAgICAgV2VzdGVybiBTYWhhcmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iWWVtZW4iID4KICAgICAgICAgICAgWWVtZW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iWmFtYmlhIiA+CiAgICAgICAgICAgIFphbWJpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJaaW1iYWJ3ZSIgPgogICAgICAgICAgICBaaW1iYWJ3ZQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTRyIgPgogICAgICAgICAgICBTRwogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDQU5BREEiID4KICAgICAgICAgICAgQ0FOQURBCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IktvcmVhIiA+CiAgICAgICAgICAgIEtvcmVhCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IiIgPgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJMdXhlbWJvdXJnaCIgPgogICAgICAgICAgICBMdXhlbWJvdXJnaAogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJNWSIgPgogICAgICAgICAgICBNWQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJFU1dBUlRJTkkiID4KICAgICAgICAgICAgRVNXQVJUSU5JCiAgICAgICAgICA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVTd2F0aW5pICIgPgogICAgICAgICAgICBlU3dhdGluaQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJTWiIgPgogICAgICAgICAgICBTWgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJDQSIgPgogICAgICAgICAgICBDQQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJHcmVhdCBCcml0YWluIiA+CiAgICAgICAgICAgIEdyZWF0IEJyaXRhaW4KICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iUnVzc2lhIiA+CiAgICAgICAgICAgIFJ1c3NpYQogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJIb25nIEtvbmcgU0FSIENoaW5hIiA+CiAgICAgICAgICAgIEhvbmcgS29uZyBTQVIgQ2hpbmEKICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iTG9uZG9uIiA+CiAgICAgICAgICAgIExvbmRvbgogICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgPC9zZWxlY3Q+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJfZm9ybV9lbGVtZW50IF9maWVsZDIgX2Z1bGxfd2lkdGggIiA+CiAgICAgIDxkaXYgY2xhc3M9Il9yb3ciPgogICAgICAgIDxsYWJlbCBjbGFzcz0iX2Zvcm0tbGFiZWwiPgogICAgICAgICAgUHJpdmFjeSBQb2xpY3kqCiAgICAgICAgPC9sYWJlbD4KICAgICAgPC9kaXY+CiAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImZpZWxkWzJdW10iIHZhbHVlPSJ+fCI+CiAgICAgIDxkaXYgY2xhc3M9Il9yb3cgX2NoZWNrYm94LXJhZGlvIj4KICAgICAgICA8aW5wdXQgaWQ9ImZpZWxkXzJJIHJlYWQgYW5kIHVuZGVyc3Rvb2QgQ0ZURSBQcml2YWN5IFBvbGljeSAod3d3LmNmdGUuZWR1Y2F0aW9uL3ByaXZhY3ktcG9saWN5KSIgdHlwZT0iY2hlY2tib3giIG5hbWU9ImZpZWxkWzJdW10iIHZhbHVlPSJJIHJlYWQgYW5kIHVuZGVyc3Rvb2QgQ0ZURSBQcml2YWN5IFBvbGljeSAod3d3LmNmdGUuZWR1Y2F0aW9uL3ByaXZhY3ktcG9saWN5KSIgY2xhc3M9ImFueSIgIHJlcXVpcmVkPgogICAgICAgIDxzcGFuPgogICAgICAgICAgPGxhYmVsIGZvcj0iZmllbGRfMkkgcmVhZCBhbmQgdW5kZXJzdG9vZCBDRlRFIFByaXZhY3kgUG9saWN5ICh3d3cuY2Z0ZS5lZHVjYXRpb24vcHJpdmFjeS1wb2xpY3kpIj4KICAgICAgICAgICAgSSByZWFkIGFuZCB1bmRlcnN0b29kIENGVEUgUHJpdmFjeSBQb2xpY3kgKHd3dy5jZnRlLmVkdWNhdGlvbi9wcml2YWN5LXBvbGljeSkKICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgPC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2Zvcm1fZWxlbWVudCBfZmllbGQzIF9mdWxsX3dpZHRoICIgPgogICAgICA8ZGl2IGNsYXNzPSJfcm93Ij4KICAgICAgICA8bGFiZWwgY2xhc3M9Il9mb3JtLWxhYmVsIj4KICAgICAgICAgIENvbW11bmljYXRpb24gb3B0aW9ucwogICAgICAgIDwvbGFiZWw+CiAgICAgIDwvZGl2PgogICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmaWVsZFszXVtdIiB2YWx1ZT0ifnwiPgogICAgICA8ZGl2IGNsYXNzPSJfcm93IF9jaGVja2JveC1yYWRpbyI+CiAgICAgICAgPGlucHV0IGlkPSJmaWVsZF8zSSYjMDM5O20gaGFwcHkgdG8gcmVjZWl2ZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IENGVEUmIzAzOTtzIGNvdXJzZXMgYnkgZW1haWwiIHR5cGU9ImNoZWNrYm94IiBuYW1lPSJmaWVsZFszXVtdIiB2YWx1ZT0iSSYjMDM5O20gaGFwcHkgdG8gcmVjZWl2ZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IENGVEUmIzAzOTtzIGNvdXJzZXMgYnkgZW1haWwiICAgPgogICAgICAgIDxzcGFuPgogICAgICAgICAgPGxhYmVsIGZvcj0iZmllbGRfM0kmIzAzOTttIGhhcHB5IHRvIHJlY2VpdmUgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBDRlRFJiMwMzk7cyBjb3Vyc2VzIGJ5IGVtYWlsIj4KICAgICAgICAgICAgSSYjMDM5O20gaGFwcHkgdG8gcmVjZWl2ZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IENGVEUmIzAzOTtzIGNvdXJzZXMgYnkgZW1haWwKICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iX3JvdyBfY2hlY2tib3gtcmFkaW8iPgogICAgICAgIDxpbnB1dCBpZD0iZmllbGRfM0kgd2FudCB0byByZWNlaXZlIENGVEUmIzAzOTtzIGdlbmVyYWwgbmV3c2xldHRlciIgdHlwZT0iY2hlY2tib3giIG5hbWU9ImZpZWxkWzNdW10iIHZhbHVlPSJJIHdhbnQgdG8gcmVjZWl2ZSBDRlRFJiMwMzk7cyBnZW5lcmFsIG5ld3NsZXR0ZXIiICAgPgogICAgICAgIDxzcGFuPgogICAgICAgICAgPGxhYmVsIGZvcj0iZmllbGRfM0kgd2FudCB0byByZWNlaXZlIENGVEUmIzAzOTtzIGdlbmVyYWwgbmV3c2xldHRlciI+CiAgICAgICAgICAgIEkgd2FudCB0byByZWNlaXZlIENGVEUmIzAzOTtzIGdlbmVyYWwgbmV3c2xldHRlcgogICAgICAgICAgPC9sYWJlbD4KICAgICAgICA8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJfcm93IF9jaGVja2JveC1yYWRpbyI+CiAgICAgICAgPGlucHV0IGlkPSJmaWVsZF8zSSB3YW50IHRvIHJlY2VpdmUgQ0ZURSYjMDM5O3MgZXZlbnRzIG5ld3NsZXR0ZXIgIiB0e<br />
XBlPSJjaGVja2JveCIgbmFtZT0iZmllbGRbM11bXSIgdmFsdWU9Ikkgd2FudCB0byByZWNlaXZlIENGVEUmIzAzOTtzIGV2ZW50cyBuZXdzbGV0dGVyICIgICA+CiAgICAgICAgPHNwYW4+CiAgICAgICAgICA8bGFiZWwgZm9yPSJmaWVsZF8zSSB3YW50IHRvIHJlY2VpdmUgQ0ZURSYjMDM5O3MgZXZlbnRzIG5ld3NsZXR0ZXIgIj4KICAgICAgICAgICAgSSB3YW50IHRvIHJlY2VpdmUgQ0ZURSYjMDM5O3MgZXZlbnRzIG5ld3NsZXR0ZXIKICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgPC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2J1dHRvbi13cmFwcGVyIF9mdWxsX3dpZHRoIj4KICAgICAgPGJ1dHRvbiBpZD0iX2Zvcm1fOV9zdWJtaXQiIGNsYXNzPSJfc3VibWl0IiB0eXBlPSJzdWJtaXQiPgogICAgICAgIFN1Ym1pdAogICAgICA8L2J1dHRvbj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iX2NsZWFyLWVsZW1lbnQiPgogICAgPC9kaXY+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0iX2Zvcm0tdGhhbmsteW91IiBzdHlsZT0iZGlzcGxheTpub25lOyI+CiAgPC9kaXY+CjwvZm9ybT48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CndpbmRvdy5jZmllbGRzID0geyIxIjoiY291bnRyeSIsIjIiOiJwcml2YWN5X3BvbGljeSIsIjMiOiJjb21tdW5pY2F0aW9uX29wdGlvbnMifTsKd2luZG93Ll9zaG93X3RoYW5rX3lvdSA9IGZ1bmN0aW9uKGlkLCBtZXNzYWdlLCB0cmFja2NtcF91cmwpIHsKICB2YXIgZm9ybSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdfZm9ybV8nICsgaWQgKyAnXycpLCB0aGFua195b3UgPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoJy5fZm9ybS10aGFuay15b3UnKTsKICBmb3JtLnF1ZXJ5U2VsZWN0b3IoJy5fZm9ybS1jb250ZW50Jykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICB0aGFua195b3UuaW5uZXJIVE1MID0gbWVzc2FnZTsKICB0aGFua195b3Uuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgaWYgKHR5cGVvZih0cmFja2NtcF91cmwpICE9ICd1bmRlZmluZWQnICYmIHRyYWNrY21wX3VybCkgewogICAgLy8gU2l0ZSB0cmFja2luZyBVUkwgdG8gdXNlIGFmdGVyIGlubGluZSBmb3JtIHN1Ym1pc3Npb24uCiAgICBfbG9hZF9zY3JpcHQodHJhY2tjbXBfdXJsKTsKICB9CiAgaWYgKHR5cGVvZiB3aW5kb3cuX2Zvcm1fY2FsbGJhY2sgIT09ICd1bmRlZmluZWQnKSB3aW5kb3cuX2Zvcm1fY2FsbGJhY2soaWQpOwp9Owp3aW5kb3cuX3Nob3dfZXJyb3IgPSBmdW5jdGlvbihpZCwgbWVzc2FnZSwgaHRtbCkgewogIHZhciBmb3JtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ19mb3JtXycgKyBpZCArICdfJyksIGVyciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLCBidXR0b24gPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbicpLCBvbGRfZXJyb3IgPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoJy5fZm9ybV9lcnJvcicpOwogIGlmIChvbGRfZXJyb3IpIG9sZF9lcnJvci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG9sZF9lcnJvcik7CiAgZXJyLmlubmVySFRNTCA9IG1lc3NhZ2U7CiAgZXJyLmNsYXNzTmFtZSA9ICdfZXJyb3ItaW5uZXIgX2Zvcm1fZXJyb3IgX25vX2Fycm93JzsKICB2YXIgd3JhcHBlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogIHdyYXBwZXIuY2xhc3NOYW1lID0gJ19mb3JtLWlubmVyJzsKICB3cmFwcGVyLmFwcGVuZENoaWxkKGVycik7CiAgYnV0dG9uLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHdyYXBwZXIsIGJ1dHRvbik7CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2lkXj0iX2Zvcm0iXVtpZCQ9Il9zdWJtaXQiXScpLmRpc2FibGVkID0gZmFsc2U7CiAgaWYgKGh0bWwpIHsKICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIGRpdi5jbGFzc05hbWUgPSAnX2Vycm9yLWh0bWwnOwogICAgZGl2LmlubmVySFRNTCA9IGh0bWw7CiAgICBlcnIuYXBwZW5kQ2hpbGQoZGl2KTsKICB9Cn07CndpbmRvdy5fbG9hZF9zY3JpcHQgPSBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKSB7CiAgICB2YXIgaGVhZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2hlYWQnKSwgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JyksIHIgPSBmYWxzZTsKICAgIHNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7CiAgICBzY3JpcHQuY2hhcnNldCA9ICd1dGYtOCc7CiAgICBzY3JpcHQuc3JjID0gdXJsOwogICAgaWYgKGNhbGxiYWNrKSB7CiAgICAgIHNjcmlwdC5vbmxvYWQgPSBzY3JpcHQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7CiAgICAgIGlmICghciAmJiAoIXRoaXMucmVhZHlTdGF0ZSB8fCB0aGlzLnJlYWR5U3RhdGUgPT0gJ2NvbXBsZXRlJykpIHsKICAgICAgICByID0gdHJ1ZTsKICAgICAgICBjYWxsYmFjaygpOwogICAgICAgIH0KICAgICAgfTsKICAgIH0KICAgIGhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKfTsKKGZ1bmN0aW9uKCkgewogIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNoLnNlYXJjaCgiZXhjbHVkZWZvcm0iKSAhPT0gLTEpIHJldHVybiBmYWxzZTsKICB2YXIgZ2V0Q29va2llID0gZnVuY3Rpb24obmFtZSkgewogICAgdmFyIG1hdGNoID0gZG9jdW1lbnQuY29va2llLm1hdGNoKG5ldyBSZWdFeHAoJyhefDsgKScgKyBuYW1lICsgJz0oW147XSspJykpOwogICAgcmV0dXJuIG1hdGNoID8gbWF0Y2hbMl0gOiBudWxsOwogIH0KICB2YXIgc2V0Q29va2llID0gZnVuY3Rpb24obmFtZSwgdmFsdWUpIHsKICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpOwogICAgdmFyIHRpbWUgPSBub3cuZ2V0VGltZSgpOwogICAgdmFyIGV4cGlyZVRpbWUgPSB0aW1lICsgMTAwMCAqIDYwICogNjAgKiAyNCAqIDM2NTsKICAgIG5vdy5zZXRUaW1lKGV4cGlyZVRpbWUpOwogICAgZG9jdW1lbnQuY29va2llID0gbmFtZSArICc9JyArIHZhbHVlICsgJzsgZXhwaXJlcz0nICsgbm93ICsgJztwYXRoPS8nOwogIH0KICAgICAgdmFyIGFkZEV2ZW50ID0gZnVuY3Rpb24oZWxlbWVudCwgZXZlbnQsIGZ1bmMpIHsKICAgIGlmIChlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIpIHsKICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBmdW5jKTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBvbGRGdW5jID0gZWxlbWVudFsnb24nICsgZXZlbnRdOwogICAgICBlbGVtZW50WydvbicgKyBldmVudF0gPSBmdW5jdGlvbigpIHsKICAgICAgICBvbGRGdW5jLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgZnVuYy5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgICB9OwogICAgfQogIH0KICB2YXIgX3JlbW92ZWQgPSBmYWxzZTsKICB2YXIgZm9ybV90b19zdWJtaXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX2Zvcm1fOV8nKTsKICB2YXIgYWxsSW5wdXRzID0gZm9ybV90b19zdWJtaXQucXVlcnlTZWxlY3RvckFsbCgnaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEnKSwgdG9vbHRpcHMgPSBbXSwgc3VibWl0dGVkID0gZmFsc2U7CgogIHZhciBnZXRVcmxQYXJhbSA9IGZ1bmN0aW9uKG5hbWUpIHsKICAgIHZhciByZWdleFN0ciA9ICdbXD8mXScgKyBuYW1lICsgJz0oW14mI10qKSc7CiAgICB2YXIgcmVzdWx0cyA9IG5ldyBSZWdFeHAocmVnZXhTdHIsICdpJykuZXhlYyh3aW5kb3cubG9jYXRpb24uaHJlZik7CiAgICByZXR1cm4gcmVzdWx0cyAhPSB1bmRlZmluZWQgPyBkZWNvZGVVUklDb21wb25lbnQocmVzdWx0c1sxXSkgOiBmYWxzZTsKICB9OwoKICBmb3IgKHZhciBpID0gMDsgaSA8IGFsbElucHV0cy5sZW5ndGg7IGkrKykgewogICAgdmFyIHJlZ2V4U3RyID0gImZpZWxkXFxbKFxcZCspXFxdIjsKICAgIHZhciByZXN1bHRzID0gbmV3IFJlZ0V4cChyZWdleFN0cikuZXhlYyhhbGxJbnB1dHNbaV0ubmFtZSk7CiAgICBpZiAocmVzdWx0cyAhPSB1bmRlZmluZWQpIHsKICAgICAgYWxsSW5wdXRzW2ldLmRhdGFzZXQubmFtZSA9IHdpbmRvdy5jZmllbGRzW3Jlc3VsdHNbMV1dOwogICAgfSBlbHNlIHsKICAgICAgYWxsSW5wdXRzW2ldLmRhdGFzZXQubmFtZSA9IGFsbElucHV0c1tpXS5uYW1lOwogICAgfQogICAgdmFyIGZpZWxkVmFsID0gZ2V0VXJsUGFyYW0oYWxsSW5wdXRzW2ldLmRhdGFzZXQubmFtZSk7CgogICAgaWYgKGZpZWxkVmFsKSB7CiAgICAgIGlmIChhbGxJbnB1dHNbaV0udHlwZSA9PSAicmFkaW8iIHx8IGFsbElucHV0c1tpXS50eXBlID09ICJjaGVja2JveCIpIHsKICAgICAgICBpZiAoYWxsSW5wdXRzW2ldLnZhbHVlID09IGZpZWxkVmFsKSB7CiAgICAgICAgICBhbGxJbnB1dHNbaV0uY2hlY2tlZCA9IHRydWU7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIGFsbElucHV0c1tpXS52YWx1ZSA9IGZpZWxkVmFsOwogICAgICB9CiAgICB9CiAgfQoKICB2YXIgcmVtb3ZlX3Rvb2x0aXBzID0gZnVuY3Rpb24oKSB7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRvb2x0aXBzLmxlbmd0aDsgaSsrKSB7CiAgICAgIHRvb2x0aXBzW2ldLnRpcC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRvb2x0aXBzW2ldLnRpcCk7CiAgICB9CiAgICAgIHRvb2x0aXBzID0gW107CiAgfTsKICB2YXIgcmVtb3ZlX3Rvb2x0aXAgPSBmdW5jdGlvbihlbGVtKSB7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRvb2x0aXBzLmxlbmd0aDsgaSsrKSB7CiAgICAgIGlmICh0b29sdGlwc1tpXS5lbGVtID09PSBlbGVtKSB7CiAgICAgICAgdG9vbHRpcHNbaV0udGlwLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodG9vbHRpcHNbaV0udGlwKTsKICAgICAgICB0b29sdGlwcy5zcGxpY2UoaSwgMSk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICB9CiAgfTsKICB2YXIgY3JlYXRlX3Rvb2x0aXAgPSBmdW5jdGlvbihlbGVtLCB0ZXh0KSB7CiAgICB2YXIgdG9vbHRpcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLCBhcnJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLCBpbm5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLCBuZXdfdG9vbHRpcCA9IHt9OwogICAgaWYgKGVsZW0udHlwZSAhPSAncmFkaW8nICYmIGVsZW0udHlwZSAhPSAnY2hlY2tib3gnKSB7CiAgICAgIHRvb2x0aXAuY2xhc3NOYW1lID0gJ19lcnJvcic7CiAgICAgIGFycm93LmNsYXNzTmFtZSA9ICdfZXJyb3ItYXJyb3cnOwogICAgICBpbm5lci5jbGFzc05hbWUgPSAnX2Vycm9yLWlubmVyJzsKICAgICAgaW5uZXIuaW5uZXJIVE1MID0gdGV4dDsKICAgICAgdG9vbHRpcC5hcHBlbmRDaGlsZChhcnJvdyk7CiAgICAgIHRvb2x0aXAuYXBwZW5kQ2hpbGQoaW5uZXIpOwogICAgICBlbGVtLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQodG9vbHRpcCk7CiAgICB9IGVsc2UgewogICAgICB0b29sdGlwLmNsYXNzTmFtZSA9ICdfZXJyb3ItaW5uZXIgX25vX2Fycm93JzsKICAgICAgdG9vbHRpcC5pbm5lckhUTUwgPSB0ZXh0OwogICAgICBlbGVtLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRvb2x0aXAsIGVsZW0pOwogICAgICBuZXdfdG9vbHRpcC5ub19hcnJvdyA9IHRydWU7CiAgICB9CiAgICBuZXdfdG9vbHRpcC50aXAgPSB0b29sdGlwOwogICAgbmV3X3Rvb2x0aXAuZWxlbSA9IGVsZW07CiAgICB0b29sdGlwcy5wdXNoKG5ld190b29sdGlwKTsKICAgIHJldHVybiBuZXdfdG9vbHRpcDsKICB9OwogIHZhciByZXNpemVfdG9vbHRpcCA9IGZ1bmN0aW9uKHRvb2x0aXApIHsKICAgIHZhciByZWN0ID0gdG9vbHRpcC5lbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgdmFyIGRvYyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgc2Nyb2xsUG9zaXRpb24gPSByZWN0LnRvcCAtICgod2luZG93LnBhZ2VZT2Zmc2V0IHx8IGRvYy5zY3JvbGxUb3ApICAtIChkb2MuY2xpZW50VG9wIHx8IDApKTsKICAgIGlmIChzY3JvbGxQb3NpdGlvbiA8IDQwKSB7CiAgICAgIHRvb2x0aXAudGlwLmNsYXNzTmFtZSA9IHRvb2x0aXAudGlwLmNsYXNzTmFtZS5yZXBsYWNlKC8gPyhfYWJvdmV8X2JlbG93KSA/L2csICcnKSArICcgX2JlbG93JzsKICAgIH0gZWxzZSB7CiAgICAgIHRvb2x0aXAudGlwLmNsYXNzTmFtZSA9IHRvb2x0aXAudGlwLmNsYXNzTmFtZS5yZXBsYWNlKC8gPyhfYWJvdmV8X2JlbG93KSA/L2csICcnKSArICcgX2Fib3Zl<br />
JzsKICAgIH0KICB9OwogIHZhciByZXNpemVfdG9vbHRpcHMgPSBmdW5jdGlvbigpIHsKICAgIGlmIChfcmVtb3ZlZCkgcmV0dXJuOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0b29sdGlwcy5sZW5ndGg7IGkrKykgewogICAgICBpZiAoIXRvb2x0aXBzW2ldLm5vX2Fycm93KSByZXNpemVfdG9vbHRpcCh0b29sdGlwc1tpXSk7CiAgICB9CiAgfTsKICB2YXIgdmFsaWRhdGVfZmllbGQgPSBmdW5jdGlvbihlbGVtLCByZW1vdmUpIHsKICAgIHZhciB0b29sdGlwID0gbnVsbCwgdmFsdWUgPSBlbGVtLnZhbHVlLCBub19lcnJvciA9IHRydWU7CiAgICByZW1vdmUgPyByZW1vdmVfdG9vbHRpcChlbGVtKSA6IGZhbHNlOwogICAgaWYgKGVsZW0udHlwZSAhPSAnY2hlY2tib3gnKSBlbGVtLmNsYXNzTmFtZSA9IGVsZW0uY2xhc3NOYW1lLnJlcGxhY2UoLyA/X2hhc19lcnJvciA/L2csICcnKTsKICAgIGlmIChlbGVtLmdldEF0dHJpYnV0ZSgncmVxdWlyZWQnKSAhPT0gbnVsbCkgewogICAgICBpZiAoZWxlbS50eXBlID09ICdyYWRpbycgfHwgKGVsZW0udHlwZSA9PSAnY2hlY2tib3gnICYmIC9hbnkvLnRlc3QoZWxlbS5jbGFzc05hbWUpKSkgewogICAgICAgIHZhciBlbGVtcyA9IGZvcm1fdG9fc3VibWl0LmVsZW1lbnRzW2VsZW0ubmFtZV07CiAgICAgICAgaWYgKCEoZWxlbXMgaW5zdGFuY2VvZiBOb2RlTGlzdCB8fCBlbGVtcyBpbnN0YW5jZW9mIEhUTUxDb2xsZWN0aW9uKSB8fCBlbGVtcy5sZW5ndGggPD0gMSkgewogICAgICAgICAgbm9fZXJyb3IgPSBlbGVtLmNoZWNrZWQ7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgbm9fZXJyb3IgPSBmYWxzZTsKICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGVsZW1zW2ldLmNoZWNrZWQpIG5vX2Vycm9yID0gdHJ1ZTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCFub19lcnJvcikgewogICAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sICJQbGVhc2Ugc2VsZWN0IGFuIG9wdGlvbi4iKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAoZWxlbS50eXBlID09J2NoZWNrYm94JykgewogICAgICAgIHZhciBlbGVtcyA9IGZvcm1fdG9fc3VibWl0LmVsZW1lbnRzW2VsZW0ubmFtZV0sIGZvdW5kID0gZmFsc2UsIGVyciA9IFtdOwogICAgICAgIG5vX2Vycm9yID0gdHJ1ZTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVsZW1zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBpZiAoZWxlbXNbaV0uZ2V0QXR0cmlidXRlKCdyZXF1aXJlZCcpID09PSBudWxsKSBjb250aW51ZTsKICAgICAgICAgIGlmICghZm91bmQgJiYgZWxlbXNbaV0gIT09IGVsZW0pIHJldHVybiB0cnVlOwogICAgICAgICAgZm91bmQgPSB0cnVlOwogICAgICAgICAgZWxlbXNbaV0uY2xhc3NOYW1lID0gZWxlbXNbaV0uY2xhc3NOYW1lLnJlcGxhY2UoLyA/X2hhc19lcnJvciA/L2csICcnKTsKICAgICAgICAgIGlmICghZWxlbXNbaV0uY2hlY2tlZCkgewogICAgICAgICAgICBub19lcnJvciA9IGZhbHNlOwogICAgICAgICAgICBlbGVtc1tpXS5jbGFzc05hbWUgPSBlbGVtc1tpXS5jbGFzc05hbWUgKyAnIF9oYXNfZXJyb3InOwogICAgICAgICAgICBlcnIucHVzaCgiQ2hlY2tpbmcgJXMgaXMgcmVxdWlyZWQiLnJlcGxhY2UoIiVzIiwgZWxlbXNbaV0udmFsdWUpKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCFub19lcnJvcikgewogICAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sIGVyci5qb2luKCc8YnIvPicpKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAoZWxlbS50YWdOYW1lID09ICdTRUxFQ1QnKSB7CiAgICAgICAgdmFyIHNlbGVjdGVkID0gdHJ1ZTsKICAgICAgICBpZiAoZWxlbS5tdWx0aXBsZSkgewogICAgICAgICAgc2VsZWN0ZWQgPSBmYWxzZTsKICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbS5vcHRpb25zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChlbGVtLm9wdGlvbnNbaV0uc2VsZWN0ZWQpIHsKICAgICAgICAgICAgICBzZWxlY3RlZCA9IHRydWU7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtLm9wdGlvbnMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGVsZW0ub3B0aW9uc1tpXS5zZWxlY3RlZCAmJiAhZWxlbS5vcHRpb25zW2ldLnZhbHVlKSB7CiAgICAgICAgICAgICAgc2VsZWN0ZWQgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoIXNlbGVjdGVkKSB7CiAgICAgICAgICBlbGVtLmNsYXNzTmFtZSA9IGVsZW0uY2xhc3NOYW1lICsgJyBfaGFzX2Vycm9yJzsKICAgICAgICAgIG5vX2Vycm9yID0gZmFsc2U7CiAgICAgICAgICB0b29sdGlwID0gY3JlYXRlX3Rvb2x0aXAoZWxlbSwgIlBsZWFzZSBzZWxlY3QgYW4gb3B0aW9uLiIpOwogICAgICAgIH0KICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAnJykgewogICAgICAgIGVsZW0uY2xhc3NOYW1lID0gZWxlbS5jbGFzc05hbWUgKyAnIF9oYXNfZXJyb3InOwogICAgICAgIG5vX2Vycm9yID0gZmFsc2U7CiAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sICJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpOwogICAgICB9CiAgICB9CiAgICBpZiAobm9fZXJyb3IgJiYgZWxlbS5uYW1lID09ICdlbWFpbCcpIHsKICAgICAgaWYgKCF2YWx1ZS5tYXRjaCgvXltcK19hLXowLTktJyY9XSsoXC5bXCtfYS16MC05LSddKykqQFthLXowLTktXSsoXC5bYS16MC05LV0rKSooXC5bYS16XXsyLH0pJC9pKSkgewogICAgICAgIGVsZW0uY2xhc3NOYW1lID0gZWxlbS5jbGFzc05hbWUgKyAnIF9oYXNfZXJyb3InOwogICAgICAgIG5vX2Vycm9yID0gZmFsc2U7CiAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sICJFbnRlciBhIHZhbGlkIGVtYWlsIGFkZHJlc3MuIik7CiAgICAgIH0KICAgIH0KICAgIGlmIChub19lcnJvciAmJiAvZGF0ZV9maWVsZC8udGVzdChlbGVtLmNsYXNzTmFtZSkpIHsKICAgICAgaWYgKCF2YWx1ZS5tYXRjaCgvXlxkXGRcZFxkLVxkXGQtXGRcZCQvKSkgewogICAgICAgIGVsZW0uY2xhc3NOYW1lID0gZWxlbS5jbGFzc05hbWUgKyAnIF9oYXNfZXJyb3InOwogICAgICAgIG5vX2Vycm9yID0gZmFsc2U7CiAgICAgICAgdG9vbHRpcCA9IGNyZWF0ZV90b29sdGlwKGVsZW0sICJFbnRlciBhIHZhbGlkIGRhdGUuIik7CiAgICAgIH0KICAgIH0KICAgIHRvb2x0aXAgPyByZXNpemVfdG9vbHRpcCh0b29sdGlwKSA6IGZhbHNlOwogICAgcmV0dXJuIG5vX2Vycm9yOwogIH07CiAgdmFyIG5lZWRzX3ZhbGlkYXRlID0gZnVuY3Rpb24oZWwpIHsKICAgIHJldHVybiBlbC5uYW1lID09ICdlbWFpbCcgfHwgZWwuZ2V0QXR0cmlidXRlKCdyZXF1aXJlZCcpICE9PSBudWxsOwogIH07CiAgdmFyIHZhbGlkYXRlX2Zvcm0gPSBmdW5jdGlvbihlKSB7CiAgICB2YXIgZXJyID0gZm9ybV90b19zdWJtaXQucXVlcnlTZWxlY3RvcignLl9mb3JtX2Vycm9yJyksIG5vX2Vycm9yID0gdHJ1ZTsKICAgIGlmICghc3VibWl0dGVkKSB7CiAgICAgIHN1Ym1pdHRlZCA9IHRydWU7CiAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBhbGxJbnB1dHMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICB2YXIgaW5wdXQgPSBhbGxJbnB1dHNbaV07CiAgICAgICAgaWYgKG5lZWRzX3ZhbGlkYXRlKGlucHV0KSkgewogICAgICAgICAgaWYgKGlucHV0LnR5cGUgPT0gJ3RleHQnKSB7CiAgICAgICAgICAgIGFkZEV2ZW50KGlucHV0LCAnYmx1cicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLnRyaW0oKTsKICAgICAgICAgICAgICB2YWxpZGF0ZV9maWVsZCh0aGlzLCB0cnVlKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGFkZEV2ZW50KGlucHV0LCAnaW5wdXQnLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB2YWxpZGF0ZV9maWVsZCh0aGlzLCB0cnVlKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9IGVsc2UgaWYgKGlucHV0LnR5cGUgPT0gJ3JhZGlvJyB8fCBpbnB1dC50eXBlID09ICdjaGVja2JveCcpIHsKICAgICAgICAgICAgKGZ1bmN0aW9uKGVsKSB7CiAgICAgICAgICAgICAgdmFyIHJhZGlvcyA9IGZvcm1fdG9fc3VibWl0LmVsZW1lbnRzW2VsLm5hbWVdOwogICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmFkaW9zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICBhZGRFdmVudChyYWRpb3NbaV0sICdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICB2YWxpZGF0ZV9maWVsZChlbCwgdHJ1ZSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKGlucHV0KTsKICAgICAgICAgIH0gZWxzZSBpZiAoaW5wdXQudGFnTmFtZSA9PSAnU0VMRUNUJykgewogICAgICAgICAgICBhZGRFdmVudChpbnB1dCwgJ2NoYW5nZScsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHZhbGlkYXRlX2ZpZWxkKHRoaXMsIHRydWUpOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIHJlbW92ZV90b29sdGlwcygpOwogICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGFsbElucHV0cy5sZW5ndGg7IGkgPCBsZW47IGkrKykgewogICAgICB2YXIgZWxlbSA9IGFsbElucHV0c1tpXTsKICAgICAgaWYgKG5lZWRzX3ZhbGlkYXRlKGVsZW0pKSB7CiAgICAgICAgaWYgKGVsZW0udGFnTmFtZS50b0xvd2VyQ2FzZSgpICE9PSAic2VsZWN0IikgewogICAgICAgICAgZWxlbS52YWx1ZSA9IGVsZW0udmFsdWUudHJpbSgpOwogICAgICAgIH0KICAgICAgICB2YWxpZGF0ZV9maWVsZChlbGVtKSA/IHRydWUgOiBub19lcnJvciA9IGZhbHNlOwogICAgICB9CiAgICB9CiAgICBpZiAoIW5vX2Vycm9yICYmIGUpIHsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgfQogICAgcmVzaXplX3Rvb2x0aXBzKCk7CiAgICByZXR1cm4gbm9fZXJyb3I7CiAgfTsKICBhZGRFdmVudCh3aW5kb3csICdyZXNpemUnLCByZXNpemVfdG9vbHRpcHMpOwogIGFkZEV2ZW50KHdpbmRvdywgJ3Njcm9sbCcsIHJlc2l6ZV90b29sdGlwcyk7CiAgd2luZG93Ll9vbGRfc2VyaWFsaXplID0gbnVsbDsKICBpZiAodHlwZW9mIHNlcmlhbGl6ZSAhPT0gJ3VuZGVmaW5lZCcpIHdpbmRvdy5fb2xkX3NlcmlhbGl6ZSA9IHdpbmRvdy5zZXJpYWxpemU7CiAgX2xvYWRfc2NyaXB0KCIvL2QzcnhhaWo1NnZqZWdlLmNsb3VkZnJvbnQubmV0L2Zvcm0tc2VyaWFsaXplLzAuMy9zZXJpYWxpemUubWluLmpzIiwgZnVuY3Rpb24oKSB7CiAgICB3aW5kb3cuX2Zvcm1fc2VyaWFsaXplID0gd2luZG93LnNlcmlhbGl6ZTsKICAgIGlmICh3aW5kb3cuX29sZF9zZXJpYWxpemUpIHdpbmRvdy5zZXJpYWxpemUgPSB3aW5kb3cuX29sZF9zZXJpYWxpemU7CiAgfSk7CiAgdmFyIGZvcm1fc3VibWl0ID0gZnVuY3Rpb24oZSkgewogICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgaWYgKHZhbGlkYXRlX2Zvcm0oKSkgewogICAgICAvLyB1c2UgdGhpcyB0cmljayB0byBnZXQgdGhlIHN1Ym1pdCBidXR0b24gJiBkaXNhYmxlIGl0IHVzaW5nIHBsYWluIGphdmFzY3JpcHQKICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI19mb3JtXzlfc3VibWl0JykuZGlzYWJsZWQgPSB0cnVlOwogICAgICAgICAgICB2YXIgc2VyaWFsaXplZCA9IF9mb3JtX3NlcmlhbGl6ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX2Zvcm1fOV8nKSk7CiAgICAgIHZhciBlcnIgPSBmb3JtX3RvX3N1Ym1pdC5xdWVyeVNlbGVjdG9yKCcuX2Zvcm1fZXJyb3InKTsKICAgICAgZXJyID8gZXJyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZXJyKSA6IGZhbHNlOwogICAgICBfbG9hZF9zY3JpcHQoJ2h0dHBzOi8vY2Z0ZS5hY3RpdmVob3N0ZWQuY29tL3Byb2MucGhwPycgKyBzZXJpYWxpemVkICsgJyZqc29ucD10cnVlJyk7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfTsKICBhZGRFdmV<br />
udChmb3JtX3RvX3N1Ym1pdCwgJ3N1Ym1pdCcsIGZvcm1fc3VibWl0KTsKfSkoKTsKCjwvc2NyaXB0Pg==[/fusion_code][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]</p>
<p>The post <a href="https://blog.cfte.education/fintech-summary-2018/">Record Investment meets the Rise of AI in Finance: A Handy Summary of 2018 Fintech</a> appeared first on <a href="https://blog.cfte.education">CFTE</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>6 Applications of Artificial Intelligence &#038; Machine Learning in Financial Services</title>
		<link>https://blog.cfte.education/cfte-blog-applications-of-ai-in-finance-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cfte-blog-applications-of-ai-in-finance-2</link>
		
		<dc:creator><![CDATA[cfteadmin]]></dc:creator>
		<pubDate>Wed, 23 May 2018 13:37:11 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[AI in Finance]]></category>
		<category><![CDATA[artificial intelligence]]></category>
		<category><![CDATA[Banking]]></category>
		<category><![CDATA[CFTE Blog]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[Fintech]]></category>
		<category><![CDATA[machine learning]]></category>
		<guid isPermaLink="false">https://www.cfte.education/?p=4799</guid>

					<description><![CDATA[<p>The rise of Artificial Intelligence and machine learning in finance is causing disruption on a massive scale. Major banks are &#8230; <a href="https://blog.cfte.education/cfte-blog-applications-of-ai-in-finance-2/" class="btn btn-readmore">Read More <span class="screen-reader-text"> "6 Applications of Artificial Intelligence &#038; Machine Learning in Financial Services"</span></a></p>
<p>The post <a href="https://blog.cfte.education/cfte-blog-applications-of-ai-in-finance-2/">6 Applications of Artificial Intelligence &#038; Machine Learning in Financial Services</a> appeared first on <a href="https://blog.cfte.education">CFTE</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="p2"><span class="s1" style="font-family: Arial;">The rise of Artificial Intelligence and machine learning in finance is causing disruption on a massive scale. Major banks are increasingly turning to AI in financial services to improve existing processes and develop new innovations. A <a href="//press.pwc.com/News-releases/ai-to-drive-gdp-gains-of--15.7-trillion-with-productivity--personalisation-improvements/s/3cc702e4-9cac-4a17-85b9-71769fba82a6"><span class="s2">recent PWC study</span></a> found AI has the potential to<strong> comprise USD $15.7 trillion of the world economy by 2030</strong>, signalling a huge potential sector for multiple industries including financial services. This article highlights<strong> 6 applications of AI in Finance today</strong> to give professionals an idea of what is possible. It also suggests the next steps to build a deeper understanding of artificial intelligence in financial services &amp; machine learning applications in finance. Specifically, it will provide an overview of <strong>how AI applies to wealth and asset management, insurance, customer service, robotic process automation, credit scoring &amp; compliance and fraud detection</strong>.</span></p>
<h2>Let&#8217;s look 6 applications/use cases of Artificial Intelligence in Finance:</h2>
<h3 class="p1"><span class="s1" style="font-family: Arial; font-size: 24px;">Wealth and Asset Management </span></h3>
<p class="p1"><span class="s1" style="font-family: Arial; font-size: 20px;"><i>Did you know the worlds biggest investment group, BlackRock with $6.3 trillion assets under management <a href="//www.ft.com/content/4f5720ce-1552-11e8-9376-4a6390addb44">now has a dedicated AI Lab</a>?</i></span></p>
<p class="p1"><span class="s1" style="font-family: Arial;">A key differentiator in the world of wealth management is the ability to determine which assets and securities will yield the best results. In this sense, Artificial Intelligence has a huge role to play in giving wealth managers a competitive edge. In 2014, UBS pursued an ambitious plan to <a href="//www.verdict.co.uk/private-banker-international/news/ubs-selects-sqreem-technologies-for-artificial-intelligence-technology-081214-4461732/"><span class="s2">acquire AI firm Sqreem technologies</span></a> to give their wealth advisors the ability to provide tailored advice to their wealthy clientele. Others have followed suit, and in an effort to better predict market trends and make better performance calculations, organisations such as <a href="//www.prnewswire.com/news-releases/machine-learning-the-new-master-of-financial-markets-682907861.html"><span class="s2">Blackstone, S&amp;P Global and Euronext are adopting machine learning</span></a> in finance to improve forecasting and, ultimately, increase value for their clients.</span></p>
<h3 class="p1"><span class="s1" style="font-family: Arial;"><span style="font-size: 24px;">Insurance</span> </span></h3>
<p class="p1"><span class="s1" style="font-family: Arial; font-size: 20px;"><i><a href="//www.ibm.com/blogs/insights-on-business/insurance/artificial-intelligence-machine-learning-insurance-industry/">&#8220;98% of insurance executives</a> believe artificial intelligence will play a disruptive role in the industry&#8221;</i></span></p>
<p class="p1"><span class="s1" style="font-family: Arial;">When you take a step back to look at the inner workings of insurance industry it becomes clear that AI has a wide range of applications. For one, the industry is driven by data. An insurer&#8217;s key role is to understand as much about you as possible before making an assessment &#8211; about your lifestyle, your education, your health and so on. Given AI algorithms enable better modelling and the fact that developments in IOT have led to the explosion of available data points (just think about wearables) it means insurers have access to a new formula to understand you and serve you better. </span></p>
<p class="p1"><span class="s1" style="font-family: Arial;">For example, US startup Lemonade employed a bot called &#8216;Jim&#8217; who took less than 3 seconds to settle an insurance claim by executing multiple back-end processes concurrently. On the front-end, it’s also an example of a big step forward in customer service and product development. </span></p>
<p class="p1"><span class="s1" style="font-family: Arial;">Another US startup called <a href="//www.metromile.com/">MetroMile</a> is using AI to develop an entirely new business model in which the insurance premium is calculated based on usage by installing an IOT device on cars to pull data on the user. </span></p>
<h3 class="p1"><span class="s1" style="font-family: Arial;"><span style="font-size: 24px;">Customer Service</span> </span></h3>
<p class="p1"><span class="s1" style="font-family: Arial; font-size: 20px;"><i>The Millennial Disruption Index reports that <a href="//www.bbva.com/wp-content/uploads/2015/08/millenials.pdf">71% of Millennials would rather go the dentist</a> than listen to what a bank has to tell them!</i></span></p>
<p class="p2"><span class="s1" style="font-family: Arial;">The fact is that a lot of the new Fintech upstarts that are disrupting the industry have built a solid reputation of excellent customer service by utilising emergent AI technologies such as NLP to provide instant service. If you’ve ever used <a href="//www.revolut.com/">Revolut’s</a> banking app then their support service utilises smart chat to direct your enquiry to the relevant support staff. So no need to go through multiple hoops to speak to the right person. Taking it a step further, machines can now fully address customer queries where relevant. Take for example Royal Bank of Scotland, who as early as 2016, installed an <a href="//www.rbs.com/rbs/news/2016/03/rbs-installs-advanced-human-ai-to-help-staff-answer-customer-que.html">AI assistant Called Luvo</a> to help users deal with user queries and when it’s not able to the system hands over to an actual human. The rise of these robo-advisors will seemingly re-define customer experiences and give incumbents a tool to bring up their A game.</span></p>
<h3 class="p2"><span class="s1" style="font-family: Arial; font-size: 20px;"><b><span style="font-size: 24px;">Robotic Process Automation</span> </b></span></h3>
<p class="p2"><span class="s1" style="font-family: Arial; font-size: 20px;"><i>Did you know that the global <a href="//www.abnewswire.com/pressreleases/robotic-process-automation-market-is-projected-to-expand-at-a-605-cagr-from-2014-to-2024-grand-view-research-inc_197384.html">RPA market is expected to reach USD 8.75 billion</a> by 2024?</i></span></p>
<p class="p1"><span class="s1" style="font-family: Arial;">RPA is software that can automate repetitive tasks normally done by humans. Understanding this, one can look at the middle and front office processes in financial services (think deposit processing, underwriting support, billing and so on) and see the benefits for firms to employ this technology. From increased productivity to better time-management and huge cost savings, the advantages are clear. </span></p>
<p class="p1"><span class="s1" style="font-family: Arial;">A leader in the field of RPA is Romanian Unicorn <a href="//www.uipath.com/">UiPath</a>, which offers banking automation to a wide range of clients in the banking sector and their rapid global expansion serves as a barometer of that banks are increasingly turning to RPA to bump up the bottom line. </span></p>
<h3 class="p2"><span class="s1" style="font-family: Arial;"><span style="font-size: 24px;">Credit Scoring</span> </span></h3>
<p class="p2"><span class="s1" style="font-family: Arial; font-size: 20px;"><i>AI and machine learning are helping 80% of the Indian population with no credit score gain access to credit. How, you might ask?</i></span></p>
<p class="p2"><span class="s1" style="font-family: Arial;">New Fintech companies such as <a href="//www.upstart.com/?utm_source=datafloq&amp;utm_medium=ref&amp;utm_campaign=datafloq"><span class="s2">Upstarts</span></a> is using AI to gather alternate data to prove creditworthiness. This alternate data may take multiple forms that ultimately analyse a user&#8217;s digital footprint to gather data to help make lending decisions. In the case of Upstart, the company analyses your employment history, educational background and other sources of data such as social media to make credit decisions. Upstart is not alone with a host of companies employing machine learning in finance, especially those targeting emerging markets, such as <a href="//www.cashe.co.in/"><span class="s2">Cashe</span></a> in Mumbai, where billions remained unbanked to make credit decisions.</span></p>
<p class="p2"><span class="s1" style="font-family: Arial;">It’s a brave new word and AI-powered algorithms are already disrupting the lending industry to enable millions of undeserved customers to access financing options previously out of reach.</span></p>
<h3 class="p1"><span class="s1" style="font-family: Arial; font-size: 24px;"><b>Compliance and Fraud Detection </b></span></h3>
<p class="p1"><span class="s1" style="font-family: Arial; font-size: 20px;"><i>Did you know that the regulatory compliance technology market is expected to be over worth <a href="//gomedici.com/a-report-on-global-regtech-a-100-billion-opportunity-market-overview-analysis-of-incumbents-and-startups/">over $118 billion by 2020</a>?</i></span></p>
<p class="p1"><span class="s1" style="font-family: Arial;">Following the financial crisis of 2009, firms operating in the financial services are under immense pressure to be compliant with complex regulatory frameworks designed to protect the system against undue risk and fraudulent behaviour. The process of compliance is in itself long and arduous with mountains of paperwork and legal documents often involved. A prime example AI in action to help streamline the processes is <a href="//futurism.com/an-ai-completed-360000-hours-of-finance-work-in-just-seconds/"><span class="s2">JP Morgans implementation of COIN</span></a>, a machine learning system that completed 360,000 hours of compliance work in seconds!</span></p>
<p class="p1"><span class="s1" style="font-family: Arial;">More than just helping to analyse documents, AI is also helping to redefine KYC and AML processes to help reduce the risk of fraud. Using advanced predictive analytics, banks have the ability to analyse massive data sets that pick up on suspicious activities. In early 2018, <a href="//www.ft.com/content/b9d7daa6-3983-11e8-8b98-2f31af407cc8">HSBC integrated software from UK startup Quantexa</a>, to pick up on fraudulent activities and at a significant cost reduction.</span></p>
<h3 class="p1"><span class="s1" style="font-family: Arial; font-size: 24px; color: #993300;">How you can be part of the AI revolution in Finance</span></h3>
<p id="3e1b" class="graf graf--p graf-after--p"><span style="font-family: Arial;">There is increasing industry importance on the introduction and implementation of Artificial Intelligence. As a result, having a robust understanding of AI, its use cases and its best implementations is vitally important for industry success.</span></p>
<p id="e2a6" class="graf graf--p graf-after--p"><span style="font-family: Arial;">Fortunately, CFTE has formed <a class="markup--anchor markup--p-anchor" href="//www.cfte.education/aifinance/" target="_blank" rel="nofollow noopener noreferrer" data-href="//bit.ly/2B2RwR5"><strong class="markup--strong markup--p-strong">AI in Finance</strong> </a>— a leading programme which allows participants to learn from senior industry leaders who hail from the large financial institutions, fast growing startups and regulatory agencies. Featuring 18 guest speakers and 5 senior lecturers, learners will understand how AI transforms finance.</span></p>
<strong><span style="font-family: Arial;">Watch the video below to get an understanding of the course.</span></strong>
<iframe title="AI Finance Course Overview" width="640" height="360" src="https://www.youtube.com/embed/RLBAvu9Ng3s?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<p class="graf graf--p graf-after--p"><span style="font-family: Arial;"> <strong class="markup--strong markup--p-strong">Designed for those novices or professionals who want to be part of this flourishing industry (and with no prerequisites)</strong></span></p>
<p class="graf graf--p graf-after--p"><span style="font-family: Arial;"><a class="markup--anchor markup--p-anchor" href="//www.cfte.education/aifinance/" target="_blank" rel="nofollow noopener noreferrer" data-href="//bit.ly/2B2RwR5"><strong class="markup--strong markup--p-strong"> Join the AI revolution in Finance today!</strong></a></span></p>
<p class="p1"><span class="s1" style="font-family: Arial;">If you’d like to learn more about the course speakers, content and structure, please click the button below where you can learn more about artificial intelligence &amp; machine learning applications in finance, the course itself and download the full prospectus.</span></p>

<div class="wp-block-button aligncenter"><a class="wp-block-button__link has-background" href="//cfte.education/fintechcourse/?utm_source=cfte&amp;utm_medium=blog&amp;utm_campaign=fintech-courses">Learn more</a></div>

<p class="p1"><em><span class="s1" style="font-family: Arial;">Follow us on <a href="//linkedin.com/school/cfte_edu/">LinkedIn</a>, <a href="//twitter.com/cfte_edu">Twitter</a> and <a href="//www.facebook.com/CFTE.Education/">Facebook</a> to receive the newest updates about fintech from all around the world!</span></em></p>
<p class="p1"><strong><span style="font-family: Arial;"><em><span class="s1">This is an updated version of a blog originally published May 23rd 2018. Updated on October 25th 2019.</span></em></span></strong></p><p>The post <a href="https://blog.cfte.education/cfte-blog-applications-of-ai-in-finance-2/">6 Applications of Artificial Intelligence &#038; Machine Learning in Financial Services</a> appeared first on <a href="https://blog.cfte.education">CFTE</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Major online course about  &#034;Artificial Intelligence in Finance&#034; announced</title>
		<link>https://blog.cfte.education/aifinance/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=aifinance</link>
					<comments>https://blog.cfte.education/aifinance/#respond</comments>
		
		<dc:creator><![CDATA[cfteadmin]]></dc:creator>
		<pubDate>Mon, 30 Apr 2018 08:35:37 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[CFTE News]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[AI in Finance]]></category>
		<category><![CDATA[artificial intelligence]]></category>
		<category><![CDATA[CFTE Blog]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[Ngee Ann]]></category>
		<guid isPermaLink="false">https://www.cfte.education/?p=4273</guid>

					<description><![CDATA[<p>The first global course about Artificial Intelligence in Finance This has been months in the making, and we are delighted &#8230; <a href="https://blog.cfte.education/aifinance/" class="btn btn-readmore">Read More <span class="screen-reader-text"> "Major online course about  &#34;Artificial Intelligence in Finance&#34; announced"</span></a></p>
<p>The post <a href="https://blog.cfte.education/aifinance/">Major online course about  &quot;Artificial Intelligence in Finance&quot; announced</a> appeared first on <a href="https://blog.cfte.education">CFTE</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><span style="font-family: arial, helvetica, sans-serif;">The first global course about Artificial Intelligence in Finance</span></h2>
<p><span style="font-family: arial, helvetica, sans-serif; font-size: 14pt;">This has been months in the making, and we are delighted to announce &#8220;Artificial Intelligence in Finance&#8221;, the first major online course about the impact of AI and Machine Learning on the finance industry.</span><br />
<span style="font-family: arial, helvetica, sans-serif; font-size: 14pt;">This is the first collaboration between CFTE and Ngee Ann Polytechnic, a leading institution of higher learning that has been driving entrepreneurship and Fintech in Singapore, and this joint initiative has led to a truly global course, that benefits from the insights of more than 20 experts from the US, Europe and Asia. </span><br />
<span style="font-family: arial, helvetica, sans-serif; font-size: 14pt;">AI is the &#8220;single most important technology&#8221; impacting finance today, and financial institutions are now heavily investing in the space. AI in Finance launches with the sponsorship of two forward-looking Singaporean banks, <a href="//www.ocbc.com">OCBC</a> and <a href="//www.uob.com.sg">UOB</a>, that will make the course accessible to a significant number of employees for them to adapt to an AI-world.</span><br />
<span style="font-family: arial, helvetica, sans-serif; font-size: 14pt;">For more information about the course:<br />
&#8211; <a href="//www.cfte.education/wp-content/uploads/2018/04/20180424_Launch-of-AI-in-Finance-1.pdf" target="_blank" rel="noopener noreferrer">Press release</a><br />
</span><span style="font-family: arial, helvetica, sans-serif; font-size: 14pt;">&#8211; <a href="//www.cfte.education/aifinance" target="_blank" rel="noopener noreferrer">AI in Finance</a> (International site)<br />
&#8211; <a href="//www.aifinance.sg" target="_blank" rel="noopener noreferrer">AI in Finance</a> (Singapore site)</span><br />
<span style="font-family: arial, helvetica, sans-serif; font-size: 14pt;"> </span><br />
<figure id="attachment_4278" aria-describedby="caption-attachment-4278" style="width: 1600px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-4278 size-full" src="//www.cfte.education/wp-content/uploads/2018/04/Signing-Ceremony-4.jpeg" alt="" width="1600" height="900" /><figcaption id="caption-attachment-4278" class="wp-caption-text">Ngee Ann&#8217;s Head of Fintech Ching Ching Tan &#8211; CFTE&#8217;s co-founder Huy Nguyen Trieu &#8211; Ngee Ann&#8217;s Principal Clarence Ti &#8211; CFTE&#8217;s co-founder Tram Anh Nguyen &#8211; Ngee Ann&#8217;s Head of Entrepreneurship Patrice Choong</figcaption></figure></p>
<div class="page" title="Page 2"></div>
<div title="Page 2"></div>
<div class="page" title="Page 2"></div>
<div class="page" title="Page 2">
<h3><span style="font-family: arial, helvetica, sans-serif;">About CFTE</span></h3>
<p><span style="font-family: arial, helvetica, sans-serif;">CFTE is an education platform supported by senior leaders from the largest institutions, startups, and universities. It addresses the needs of professionals in finance and technologists to up-skill in a rapidly changing industry being transformed by emerging technologies. Available courses include <a href="//www.cfte.education/fintechcourse/" target="_blank" rel="noopener noreferrer">Around Fintech in 8 hours</a>, <a href="//www.cfte.education/gdpr/" target="_blank" rel="noopener noreferrer">the GDPR short course</a>, <a href="//www.cfte.education/cfte-hku/" target="_blank" rel="noopener noreferrer">The Hong Kong University Fintech MOOC</a> and <a href="//www.cfte.education/aifinance" target="_blank" rel="noopener noreferrer">Artificial Intelligence in Finance</a>. For more information, see <a href="//www.cfte.education/" rel="nofollow" data-slimstat="5">www.cfte.education</a></span>
</div>
<p>The post <a href="https://blog.cfte.education/aifinance/">Major online course about  &quot;Artificial Intelligence in Finance&quot; announced</a> appeared first on <a href="https://blog.cfte.education">CFTE</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.cfte.education/aifinance/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>8 Best Artificial Intelligence and Machine Learning Courses to boost your Career [2021]</title>
		<link>https://blog.cfte.education/best-ai-courses-to-learn-about-artificial-intelligence/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=best-ai-courses-to-learn-about-artificial-intelligence</link>
		
		<dc:creator><![CDATA[cfteadmin]]></dc:creator>
		<pubDate>Thu, 19 Apr 2018 10:15:05 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[ai courses]]></category>
		<category><![CDATA[artificial intelligence]]></category>
		<category><![CDATA[Big Data]]></category>
		<category><![CDATA[CFTE Blog]]></category>
		<category><![CDATA[courses]]></category>
		<category><![CDATA[Data Science]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[Fintech]]></category>
		<category><![CDATA[fintech courses]]></category>
		<category><![CDATA[machine learning]]></category>
		<guid isPermaLink="false">http://www.cfte.education/blog/?p=1264</guid>

					<description><![CDATA[<p>This year jolted us into a digital sprint, accelerating the adoption of technologies like artificial intelligence and its key arm &#8230; <a href="https://blog.cfte.education/best-ai-courses-to-learn-about-artificial-intelligence/" class="btn btn-readmore">Read More <span class="screen-reader-text"> "8 Best Artificial Intelligence and Machine Learning Courses to boost your Career [2021]"</span></a></p>
<p>The post <a href="https://blog.cfte.education/best-ai-courses-to-learn-about-artificial-intelligence/">8 Best Artificial Intelligence and Machine Learning Courses to boost your Career [2021]</a> appeared first on <a href="https://blog.cfte.education">CFTE</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p></p>


<p class="p1"><span style="font-family: Arial;"><span style="font-weight: 400;">This year jolted us into a digital sprint, accelerating the adoption of technologies like artificial intelligence and its key arm &#8211; machine learning. Developments in the field of AI are bound to significantly transform how we live, work and play as we march into the future. </span></span></p>
<p class="p1"><span style="font-family: Arial;"><span style="font-weight: 400;">If you’re wondering how you can enter the world of artificial intelligence and machine learning then you’re not alone, as many professionals are wondering how to enhance their respective industry prospects, including those looking to boost their Fintech careers. In this article, we’ve highlighted the best artificial intelligence and machine learning courses that can help you develop a deeper understanding of the subject and develop your future career.</span></span></p>
<p class="p1"><span style="font-family: Arial;">The fact is, artificial intelligence is transforming every industry from healthcare to entertainment and of course financial services. Innovation in AI is promising a new era of economic growth and in response, the pace of development is accelerating:</span></p>
<p> </p>
<ul>
<li><span style="font-family: Arial;"><span style="font-weight: 400;">Governments across the globe are investing heavily in AI, the US government has announced a  </span><a href="https://www.theverge.com/2020/8/26/21402274/white-house-ai-quantum-computing-research-hubs-investment-1-billion"><span style="font-weight: 400;">$1 billion investment to fund AI and quantum computing research</span></a><span style="font-weight: 400;"> as of August 2020, with other countries following suit.</span></span></li>
</ul>
<ul>
<li><span style="font-family: Arial;"><span style="font-weight: 400;">Companies across the globe are investing heavily in AI too with </span><a href="https://www.forbes.com/sites/ciocentral/2020/02/02/executives-report-ai-investment-up-but-implementations-lag-expectations/?sh=121231ce5197"><span style="font-weight: 400;">64.8% of firms investing more than $50 million in AI in 2020</span></a><span style="font-weight: 400;">, a percentage significantly greater than 39.7% in 2018.</span></span></li>
</ul>
<ul>
<li><span style="font-family: Arial;">The market for AI technologies to reach $190+ by 2025 according to a <a href="//www.prnewswire.com/news-releases/global-artificial-intelligence-market-report-2018-with-forecasts-to-2025---market-to-reach-1906-billion-growth-in-big-data-is-a-major-driver-300609110.html">leading market research firm</a>.</span></li>
</ul>
<p> </p>
<p><span style="font-family: Arial;">In the midst of such upheaval in policy and macroeconomic trends, The artificial intelligence and machine learning courses outlined below will help you understand the potential of artificial intelligence. The courses explore key areas in machine learning such as artificial neural networks, data analysis, deep learning, python and much more. And the beautiful thing about the courses that we’ve highlighted is that they’re suited for all levels. Whether you just looking for a basic introduction or want to gain an expert level understanding, there’s something for everyone.</span></p>
<p> </p>
<p><img loading="lazy" decoding="async" class="alignnone  wp-image-16218" src="https://blog.cfte.education/wp-content/uploads/2020/12/NEW-BLOG-COVER-SIZE-18-300x126.png" alt="" width="598" height="251" srcset="https://blog.cfte.education/wp-content/uploads/2020/12/NEW-BLOG-COVER-SIZE-18-300x126.png 300w, https://blog.cfte.education/wp-content/uploads/2020/12/NEW-BLOG-COVER-SIZE-18-1024x431.png 1024w, https://blog.cfte.education/wp-content/uploads/2020/12/NEW-BLOG-COVER-SIZE-18-768x323.png 768w, https://blog.cfte.education/wp-content/uploads/2020/12/NEW-BLOG-COVER-SIZE-18-1536x646.png 1536w, https://blog.cfte.education/wp-content/uploads/2020/12/NEW-BLOG-COVER-SIZE-18.png 1665w" sizes="(max-width: 598px) 100vw, 598px" /></p>
<h2> </h2>
<h2 class="p1" style="text-align: center;"><strong><span class="s1" style="font-family: Arial; color: #b71524;">CFTE Presents: 8 Best Artificial Intelligence(A.I) and Machine Learning Courses in Finance [2021]</span></strong></h2>
<hr />
<h3> </h3>
<h2><strong><span class="s1" style="font-family: Arial; color: #993300;"><span style="color: #b71524;">1.</span> <a href="https://my.cfte.education/courses/AI-in-Finance-Specialisation">CFTE&#8217;s online AI in Finance course</a></span></strong></h2>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Summary</b>: AI in Finance is the first industry led online course on the artifical intelligence revolution, developed by CFTE and Ngee Ann Polytechnic for professionals to understand the applications of Artificial Intelligence and Machine Learning in financial services. The course follows a similar format to CFTE’s <a href="https://my.cfte.education/bundles/fintech-specialisation">Fintech Specialisation Course</a>.<br /></span></p>
<p class="p1"><span class="s1" style="font-family: Arial;">Over the course of 18 modules and 4 chapters, over 20+ finance and technology thought leaders and industry insiders will discuss key artificial intelligence topics such as Natural Language Processing (NLP), data science, recommendation engines, artificial neural networks (ANN) and more. It’s a knowledge-based course so it’s the perfect platform for those beginning their journey to understanding AI in financial services<br /></span></p>
<p class="p1"><span style="font-family: Arial;"><span class="s1"><b>Advantages:  </b></span></span></p>
<ul>
<li><span style="font-family: Arial;"><span class="s1">Learners can join an online community to connect with professionals to continue their learning journey and build the connections that can help to further their career </span></span></li>
<li>Self-Paced Online Course &#8211; Suitable for busy professionals</li>
<li>Industry Led Knowledge &#8211; Experts from UBS, Citi, ADDO AI, IO Tahoe, PingAn Technology and many more.</li>
<li>6 months access to course content from day of enrolment</li>
<li>Suitable for those on a budget as course can be bought outright or payments can be split across three months</li>
<li>Boost your CV and Job Prospects with a SSG, IBF, ACT and CPD Accredited Certificate.</li>
</ul>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Key lecturers: </b></span></p>
<ul>
<li class="p1"><span class="s1" style="font-family: Arial;">Ayesha Khanna (CEO and Co-Founder &#8211; ADDO.AI | Co-Founder &#8211; Hybrid Reality Institute | Faculty Advisor &#8211; Singularity University) </span></li>
<li style="font-weight: 400;" aria-level="2"><span style="font-weight: 400;">Stephan Murer (Ex Global CTO &#8211; UBS)</span></li>
<li style="font-weight: 400;" aria-level="2"><span style="font-weight: 400;">Philip Watson (Head of Investments Lab and Chief Innovation Officer, Citi)</span></li>
<li style="font-weight: 400;" aria-level="2"><span style="font-weight: 400;">Dr. Winne Cheng (Chief Data Scientist, IO Tahoe)</span></li>
<li style="font-weight: 400;" aria-level="2"><span style="font-weight: 400;">Jon-Tzen Ng (Chief Strategy and Innovation Officer)</span></li>
</ul>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Level: </b>Beginner</span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Cost: <span style="font-weight: 400;">£600</span></b> <strong>OR <span style="font-weight: 400;">£200</span></strong> for 3 months. </span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Certification: </b>SG Accredited Certification </span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Study Method: </b></span></p>
<ul>
<li class="p1"><span class="s1" style="font-family: Arial;">Online Based Course &#8211; Learn at your own schedule and pace.</span></li>
<li><span class="s1" style="font-family: Arial;">18 structured modules to understand the applications of Artificial Intelligence in Finance.</span></li>
<li><span class="s1" style="font-family: Arial;">18 Quizzes/Assessments at the end of each module to test your knowledge.</span></li>
<li><span class="s1" style="font-family: Arial;">Video lectures &#8211; Course consists of video lectures and video interviews with industry experts.</span></li>
<li><span class="s1" style="font-family: Arial;">Comprehensive readings to compliment content within video lectures.</span></li>
</ul>
<p><strong>Want to know more?  <a href="https://my.cfte.education/courses/AI-in-Finance-Specialisation">Click here for more information.</a></strong></p>
<p> </p>
<h2 class="p1"><strong><span class="s1" style="font-family: Arial; color: #b71524;">2. Stanford University, Coursera &#8211;<span class="Apple-converted-space">  </span>Machine Learning Courses</span></strong></h2>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Summary</b>: This 11-week program from Andrew Ng, the co-founder of Coursera, co-founder of Google Brain and former Chief Scientist at Baidu, is one of the most popular online courses for understanding artificial intelligence and machine learning. </span><span class="s1" style="font-family: Arial;">This AI course covers a variety of core concepts such as supervised and unsupervised learning, and data mining. The material is learned through a mixture of text-based reading and videos lectures that help to break up study patterns.</span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Advantage:</b> Flexible coursework which means if a learner misses the deadline they can switch to another session.</span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Key lecturer: </b></span></p>
<ul>
<li class="p1"><span class="s1" style="font-family: Arial;"><span style="font-weight: 400;">Andrew Ng (CEO and Founder &#8211; Landing AI | Co-founder, Coursera | Adjunct Professor &#8211; Stanford University | Former Chief Scientist &#8211; Baidu | Former Founding Lead &#8211; Google Brain</span></span></li>
</ul>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Level:</b> Introductory </span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Cost:</b> Free </span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Certification:</b> US$79 for grading/certification</span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Study Method:</b> Online</span></p>
<p><a href="//www.coursera.org/learn/machine-learning" target="_blank" rel="noopener noreferrer"><span style="font-weight: 400;">Click here for more information.</span></a></p>
<p> </p>
<h2 class="p1"><strong><span class="s1" style="font-family: Arial; color: #b71524;">3. Udacity Machine Learning Nanodegree</span></strong></h2>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Summary</b>: <span style="font-weight: 400;">Two three-month programmes that aim to help you “master the skills necessary to become a successful Machine Learning Engineer”. It’s definitely one of the more career-focused programs that we’ve listed and like the Stanford course, covers the core machine learning principles and also dives deeper into the realm of predictive modelling. It’s beginner-focused but expect a vigorous test</span>. </span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Advantage: <span style="font-weight: 400;">The last two out of the nine projects will contribute heavily to your CV and level of job readiness. One-to-one technical mentor available. Also suitable for those on a budget, as access is charged on a monthly basis, making it potentially cheaper if you can complete the course faster</span></b>. </span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Key lecturers: </b></span></p>
<ul>
<li class="p1"><span class="s1" style="font-family: Arial;">Cezanna Camacho (Machine Learning Educator)</span></li>
<li class="p1"><span class="s1" style="font-family: Arial;">Luis Serrano (Former Machine Learning Engineer &#8211; Google)</span></li>
<li class="p1"><span class="s1" style="font-family: Arial;">Dan Romuald Mbanga (Principal Machine Learning Business Development Manager &#8211; Amazon Web Services)</span></li>
<li class="p1"><span class="s1" style="font-family: Arial;"><span style="font-weight: 400;">Mat Leonard (Former physicist, research neuroscientist and data scientist)</span></span></li>
</ul>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Level: </b>Beginner to Intermediate </span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Cost: <span style="font-weight: 400;">US$399 per month (est. 3 months needed to complete each course)</span></b></span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Certification: </b>N/A</span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Study Method: </b>Online</span></p>
<p><a href="//eu.udacity.com/course/machine-learning-engineer-nanodegree--nd009?gclid=EAIaIQobChMIyubAmMff2wIVwvhRCh13aw6QEAAYASAAEgLl3fD_BwE" target="_blank" rel="noopener noreferrer"><span style="font-weight: 400;">Click here for more information.</span></a></p>
<p> </p>
<h2 class="p1"><strong><span style="font-family: Arial; color: #b71524;">4. International Faculty of Finance, IFF &#8211; Artificial Intelligence in Banking Training Course</span></strong></h2>
<p><strong><span style="font-family: Arial;">Summary: <span style="font-weight: 400;">A two-day training programme which covers Artificial Intelligence in banking by examining current leading practices across the global industry. It offers an in-depth look into the best available practices and how they can be applied in any organisation</span></span></strong><span style="font-family: Arial;">.</span></p>
<p><span style="font-family: Arial;"><strong>Advantage:</strong> <span style="font-weight: 400;">Course offers detailed insight into how AI can best suit your burgeoning business through 10 rigorous levels. Also suitable for those short of time</span>.</span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Key lecturer: </b></span></p>
<ul>
<li class="p1"><span class="s1" style="font-family: Arial;"><span style="font-weight: 400;">Christian Spindler (Senior Manager at PwC)</span></span></li>
</ul>
<p><span style="font-family: Arial;"><strong>Level:</strong> Beginner to Intermediate</span></p>
<p><span style="font-family: Arial;"><strong>Cost:</strong><span style="font-weight: 400;"> London &#8211; £2638.80 (including VAT), Online &#8211; £2158.80 (including VAT)</span></span></p>
<p><span style="font-family: Arial;"><strong>Certification:</strong> CPD (Continuing Professional Development) Certification.</span></p>
<p><span style="font-family: Arial;"><strong>Study Method:</strong> <span style="font-weight: 400;">In-person or virtual classrooms to conduct practical sessions and discussions.</span></span></p>
<p><a href="//www.iff-training.com/event/ai-in-banking" target="_blank" rel="noopener noreferrer">Click here for more information.</a></p>
<p> </p>
<h2 class="p1"><strong><span class="s1" style="font-family: Arial; color: #b71524;">5. Columbia University, edX – Machine Learning for Data Science and Analytics</span></strong></h2>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Summary</b>: <span style="font-weight: 400;">Another Ivy League School, Columbia University, brings their 5-week course to Edx, a global online learning platform. This artificial intelligence course gives learners a solid understanding of the principles in machine learning, covering its relation to statistics and data analysis, computer algorithms to detect patterns, how to utilise data patterns in decision making and more</span>.</span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Advantage: <span style="font-weight: 400;">Self-paced course suitable for busy individuals</span></b>.</span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Key lecturers: </b></span></p>
<ul>
<li class="p1"><span class="s1" style="font-family: Arial;">Cliff Stein (Professor of IEOR and of Computer Science &#8211; Columbia University)</span></li>
<li class="p1"><span class="s1" style="font-family: Arial;">David Blei (Professor of Computer Science and Statistics &#8211; Columbia University)</span></li>
<li class="p1"><span class="s1" style="font-family: Arial;">Mihalis Yannakakis (Professor of Computer Science &#8211; Columbia University)</span></li>
</ul>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Level: </b>Intermediate to advanced </span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Cost:</b> Free or US$99 for certification</span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Certification: </b>Can be transferred into credits for the Master of Computer Science program at Columbia University</span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Study Method: </b>Online</span></p>
<p><a href="//www.edx.org/course/machine-learning-data-science-analytics-columbiax-ds102x-1?source=aw&amp;awc=6798_1523545708_948534e04621170d0da70f62e80a2142" target="_blank" rel="noopener noreferrer"><span style="font-weight: 400;">Click here for more information.</span></a></p>
<p> </p>
<h2 class="p1"><strong><span class="s1" style="font-family: Arial; color: #b71524;">6. MIT &#8211; Artificial Intelligence: Implications for Business Strategy </span></strong></h2>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Summary</b>: MIT once again partners with e-learning platform GetSmarter to address the growing demand among business professionals to get an understanding of what exactly artificial intelligence is and how it will impact business. This online AI course is practically focused and follows a similar pattern to the MIT Fintech Certificate in which learners were first given an introduction to the subject and then given a capstone project to apply their understanding.<br /></span></p>
<p class="p1"><span class="s1" style="font-family: Arial;">One of CFTE’s alumni who completed this AI course called it “comprehensive with plenty of videos, readings, discussion forums and assignments”.</span><span style="font-family: Arial;"> </span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Advantage: <span style="font-weight: 400;">Strategic in focus versus theoretical. Multiple semester intakes and self-paced course to suit your schedule.</span></b></span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Key lecturer: </b></span></p>
<ul>
<li class="p1"><span class="s1" style="font-family: Arial;">Thomas W. Malone (Professor of Information Technology | Director, MIT Center for Collective Intelligence)</span></li>
<li class="p1"><span class="s1" style="font-family: Arial;">Andrew Lo (Professor of Finance | Director, Laboratory for Financial Engineering &#8211; MIT Sloan School of Management)</span></li>
<li class="p1"><span class="s1" style="font-family: Arial;"><span style="font-weight: 400;">Alex Pentland (Toshiba Professor of Media Arts &amp; Sciences Director | Human Dynamics Lab and MIT Media Lab Entrepreneurship Program)</span></span></li>
<li class="p1"><span class="s1" style="font-family: Arial;">Daniela Rus (Director &#8211; Computer Science and Artificial Intelligence Laboratory (CSAIL), MIT)<br /></span></li>
</ul>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Level: </b>Intermediate </span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Cost: </b>US$3,200</span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Certification: </b>MIT Certification of Completion </span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Study Method: </b>Online</span></p>
<p><a href="//executive.mit.edu/openenrollment/program/artificial-intelligence-implications-for-business-strategy-self-paced-online/#.XDXbySqTJhE" target="_blank" rel="noopener noreferrer"><span style="font-weight: 400;">Click here for more information.</span></a></p>
<p> </p>
<h2 class="p1"><strong><span class="s1" style="font-family: Arial; color: #b71524;">7. Open Badge Programme, IBM Skills Gateway</span></strong></h2>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Summary</b>: Learners on the Open Badge Programme have access to a variety of artificial intelligence and machine learning short courses (or badges) that have been designed to help you understand the basics of AI and machine learning. As it’s IBM, the courses pivot towards familiarising learners with their ecosystem of AI products such as IBM Watson and IBM Cloud.<br /></span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><em>Note: Courses are aimed at enterprise developers with an academic background in computer science.</em><br /></span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Advantage: <span style="font-weight: 400;">IBM badges are more focused on the business application of AI on an enterprise level. Courses available for all skill / experience levels.</span></b></span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Key lecturer: </b></span></p>
<ul>
<li class="p1"><span class="s1" style="font-family: Arial;">N/A</span></li>
</ul>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Level: <span style="font-weight: 400;">4 levels – Explorer, Instructor, Author and Mastery</span></b></span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Cost: </b>Varies</span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Certification: </b>IBM Badge</span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Study Method: </b>Online</span></p>
<p><a href="//www-03.ibm.com/services/learning/ites.wss/zz-en?pageType=page&amp;c=M425350C34234U21" target="_blank" rel="noopener noreferrer"><span style="font-weight: 400;">Click here for more information.</span></a></p>
<h2 class="p1"><span class="s1" style="font-family: Arial; color: #993300;"><br /><strong><span style="color: #b71524;">8. Data Science, Deep Learning, &amp; Machine Learning with Python, Udemy</span></strong></span></h2>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Summary</b>: <span style="font-weight: 400;">Of all the courses mentioned on the list, this is probably one of the best for beginners. It’s a self-paced course that focuses on using a lot of video content to deliver the teaching material – more than 80 lectures spanning 12 hours of video. It covers all the AI and Machine Learning concepts and provides a great platform to dive deeper</span>. </span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Advantage: <span style="font-weight: 400;">Easy to understand, free of complex jargon and built for complete beginners.</span></b></span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Key lecturer: </b></span></p>
<ul>
<li class="p1"><span class="s1" style="font-family: Arial;"><span style="font-weight: 400;">Frank Kane (Founder &#8211; Sundog Education | Former Senior Manager &#8211; IMDb.com, Amazon)</span></span></li>
</ul>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Level: </b>Beginner</span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Cost: </b>US$11.99</span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Certification: </b>Course Completion Certification </span></p>
<p class="p1"><span class="s1" style="font-family: Arial;"><b>Study Method: </b>Online</span></p>
<p><a href="//www.udemy.com/data-science-and-machine-learning-with-python-hands-on/" target="_blank" rel="noopener noreferrer"><span style="font-weight: 400;">Click here for more information.</span></a></p>
<p> </p>
<hr />
<h3 class="p1" style="text-align: center;"><span class="s1" style="font-family: Arial; color: #993300;"><strong><span style="color: #b71524;">About CFTE</span></strong></span></h3>
<p class="p1" style="text-align: center;"><span class="s1" style="font-family: Arial;">CFTE is an education platform supported by senior leaders from the largest institutions, startups and universities. It addresses the needs of professionals in finance and technologists to up-skill in a rapidly changing industry being transformed by emerging technologies.</span></p>
<hr />
<h4 class="has-text-align-center">Start learning about Artificial Intelligence in Finance Today</h4>
<p class="has-text-align-center">What are you waiting for? With CFTE&#8217;s Artificial Intelligence in Finance online specialisation, you can start learning about AI today directly from global leaders in the industry.</p>
<p> </p>


<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://blog.cfte.education/wp-content/uploads/2021/02/14-1024x576.png" alt="an image showing the AI in Finance course of CFTE" class="wp-image-16497" srcset="https://blog.cfte.education/wp-content/uploads/2021/02/14-1024x576.png 1024w, https://blog.cfte.education/wp-content/uploads/2021/02/14-300x169.png 300w, https://blog.cfte.education/wp-content/uploads/2021/02/14-768x432.png 768w, https://blog.cfte.education/wp-content/uploads/2021/02/14-1536x864.png 1536w, https://blog.cfte.education/wp-content/uploads/2021/02/14.png 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div class="wp-block-buttons aligncenter is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link has-text-color" href="https://my.cfte.education/courses/AI-in-Finance-Specialisation?utm_source=blog&amp;utm_medium=website&amp;utm_campaign=intent%20blog%20best%20ai%20courses%20to%20aiif" style="border-radius:2px;color:#b71524" target="_blank" rel="noreferrer noopener">Learn More</a></div>
</div>



<hr class="wp-block-separator is-style-dots"/>



<p class="has-text-align-center"><strong><em>For more updates follow us on social media!</em></strong></p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator is-style-wide"/>



<p></p>



<h2 class="wp-block-heading">Latest Posts:</h2>


<div class="wp-block-coblocks-post-carousel external"><div class="coblocks-swiper swiper-container pb-8" data-swiper="{&quot;slidesToScroll&quot;:1,&quot;arrow&quot;:true,&quot;slidesToShow&quot;:2,&quot;infinite&quot;:true,&quot;adaptiveHeight&quot;:false,&quot;draggable&quot;:true,&quot;rtl&quot;:false,&quot;responsive&quot;:[{&quot;breakpoint&quot;:1024,&quot;settings&quot;:{&quot;slidesToShow&quot;:3}},{&quot;breakpoint&quot;:600,&quot;settings&quot;:{&quot;slidesToShow&quot;:2}},{&quot;breakpoint&quot;:480,&quot;settings&quot;:{&quot;slidesToShow&quot;:1}}]}"><div class="swiper-wrapper" ><div class="wp-block-coblocks-post-carousel__item swiper-slide"><div class="wp-block-coblocks-post-carousel__content"><time datetime="2026-09-09T14:09:43+00:00" class="wp-block-coblocks-post-carousel__date">September 9, 2026</time><a href="https://blog.cfte.education/from-ai-experimentation-to-ai-as-usual-what-it-takes-to-scale-ai-in-banking/" alt="From AI Experimentation to AI as Usual: What It Takes to Scale AI in Banking">From AI Experimentation to AI as Usual: What It Takes to Scale AI in Banking</a><div class="wp-block-coblocks-post-carousel__excerpt">It has become much easier to experiment with AI. Teams can test &hellip; </div></div></div><div class="wp-block-coblocks-post-carousel__item swiper-slide"><div class="wp-block-coblocks-post-carousel__content"><time datetime="2026-08-13T14:03:13+00:00" class="wp-block-coblocks-post-carousel__date">August 13, 2026</time><a href="https://blog.cfte.education/from-ai-pilots-to-responsible-adoption-what-financial-services-needs-next/" alt="From AI Pilots to Responsible Adoption: What Financial Services Needs Next">From AI Pilots to Responsible Adoption: What Financial Services Needs Next</a><div class="wp-block-coblocks-post-carousel__excerpt">Artificial intelligence has no shortage of attention in financial services. Across banks, &hellip; </div></div></div><div class="wp-block-coblocks-post-carousel__item swiper-slide"><div class="wp-block-coblocks-post-carousel__content"><time datetime="2026-08-13T10:04:47+00:00" class="wp-block-coblocks-post-carousel__date">August 13, 2026</time><a href="https://blog.cfte.education/what-do-payments-professionals-need-to-know-about-agentic-payments/" alt="What Do Payments Professionals Need to Know About Agentic Payments?">What Do Payments Professionals Need to Know About Agentic Payments?</a><div class="wp-block-coblocks-post-carousel__excerpt">There is already plenty of discussion about what AI agents may eventually &hellip; </div></div></div><div class="wp-block-coblocks-post-carousel__item swiper-slide"><div class="wp-block-coblocks-post-carousel__content"><time datetime="2026-08-12T09:58:17+00:00" class="wp-block-coblocks-post-carousel__date">August 12, 2026</time><a href="https://blog.cfte.education/what-singapore-gets-right-about-building-an-ai-ready-workforce/" alt="What Singapore Gets Right About Building an AI-Ready Workforce">What Singapore Gets Right About Building an AI-Ready Workforce</a><div class="wp-block-coblocks-post-carousel__excerpt">Singapore’s approach to AI is compelling because it treats AI not simply &hellip; </div></div></div></div></div><button class="wp-coblocks-post-carousel-nav-button__prev" id="wp-coblocks-post-carousel-swiper-prev" style="visibility:hidden" aria-label="Previous post" /><button class="wp-coblocks-post-carousel-nav-button__next" id="wp-coblocks-post-carousel-swiper-next" style="visibility:hidden" aria-label="Next post" /></div><p>The post <a href="https://blog.cfte.education/best-ai-courses-to-learn-about-artificial-intelligence/">8 Best Artificial Intelligence and Machine Learning Courses to boost your Career [2021]</a> appeared first on <a href="https://blog.cfte.education">CFTE</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 

Served from: blog.cfte.education @ 2026-09-11 14:27:04 by W3 Total Cache
-->