Alfa Romeo 147: Cleaning the Mass Air Flow Sensor

Sun, Jan 27, 2013

Auto, The Handyman

How the MAF Hot-Wire Sensor Works

The hot-wire type MAF consists of a single wire which is heated (hence hot-wire) by electric current from the car’s power supply. As the temperature of this wire increases, its inherent electrical resistance increases with it, limiting the quantity of current capable of flowing through this hot wire. As air passes through the air intake past the air filter and straight past the hot wire, this wire is cooled, thus decreasing its resistance in direct proportion, hence allowing more current to pass through the wire. With more current passing through now, the wire’s resistance increases again until an equilibrium is reached. In other words, the amount of current required to maintain the wire’s temperature and resistance greatly depends on the mass of air flowing through the MAF sensor housing along the air intake path.

This fluctuation and measurement of current is conveyed in the form of voltage signal to the engine control unit (ECU), which then determines the correct proportion of fuel to inject into the engine based on a known air-fuel mixture ratio.

Most people know what engines and radiators are but few actually know anything about the mass air flow (MAF) sensor, or where it is located.

The MAF is located along the air intake of your car after the air filter and before the throttle body, and it measures, as its name implies, the mass of air flow into the engine.

There are a number of types of MAF such as the Kármán vortex sensor, membrane sensor, cold-wire sensor, but the two main types of MAF are hot-wire (hot-film is another variation) sensor and vane meter sensor.

For the discussion in today’s posting, we will be talking about the MAF hot-wire sensor. Please refer to the box on the right to get a fundamental understanding of how this sensor works.

Hot-Wire Type MAF Sensor

The hot-wire type sensor responds very quickly to changes in air flow, and is sensitive enough to respond in situations of low airflow, unlike the vane meter type which requires a moving vane and corresponding potentiometer.

Without a moving vane, there are no moving mechanical parts that could wear over time that could affect its accuracy. However, any fine dirt that could make its way past the air filter could accumulate over time on the hot wire, thus also affecting its accuracy.

It is this reason that the hot-wire sensor requires cleaning, which forms the topic of our discussion today.

Cleaning Mass Air Flow Sensor Cleaner in a can by CRC

MAF Sensor Cleaner in a can by CRC

“But some of us are just itchy, even more so for the Alfisti amongst us…”

A Word of Caution

Before you decide to clean your MAF, let me first put forward a word of caution. Cleaning your MAF does have its risk, and my regular mechanic had advised me against it, as a replacement in the case of a damaged MAF could cost a couple of hundred dollars. It can cost less to replace if you know where to get one cheap.

It is easy to damage an MAF hot-wire sensor if you do not know what you are doing, and as my mechanic explained, if your car is running fine, there’s no need to meddle with the MAF. But some of us are just itchy, even more so for the Alfisti amongst us. If you think itchy is the way to go, read on…

 

Prior to removing your MAF, there are some things you will first need to acquire. As the MAF sensor and housing are best left where it is (i.e. in the car!) before you start any work, obtain and prepare the following items before you remove the MAF from your car:

5-point torx tamper-proof

  • MAF Sensor Cleaner; see above (or QD Contact Cleaner)
  • 5-point star tamper-proof security torx wrench/bit; see right (optional)
  • Clean old newspaper; although old newspaper is rarely clean (optional)

NOTE: Some of the items in this article may be difficult to source at hardware stores – at least that was my experience.

To make it convenient for those who wish to try out the procedure outlined in this article, I have provided links at the bottom of this page where new MAF replacements, MAF cleaners and tamper-proof torx bits may be purchased. The torx bit is optional and only required if you plan to remove the MAF sensor from its housing. You do not need to remove it from the housing if following the cleaning procedure outlined below.

IMPORTANT: If you’re buying a replacement MAF, be sure to refer to the OEM or Part No. found on your existing MAF housing to select the correct model for your car make.

Removing and Cleaning the MAF Sensor

Once you have obtained some or all of the above, let’s proceed with How to Clean MAF Sensor:

cleaning mass air flow sensor

1. First, we will need to know what a mass air flow device looks like. A Bosch one looks like something in the above, with some slight variations in the market. Locate this somewhere along the air intake of your car, right after the air filter. A set of cables connects to the top.

how to clean maf sensor

2. Now that we know how an MAF device look like, it is easy to spot this along your air intake (pointed at by my Leatherman pliers). As you can see in the photo above, it is held in place by chrome ring clamps, with a cable connection right above it.

how to clean maf sensor

3. Before doing anything, begin by disconnecting your car battery’s negative terminal. Other than helping to save time in resetting your ECU later, it also prevents any damage due to current flow to your MAF when you’re removing it later. Once you have done that, remove the cable connection from the MAF housing as shown. Study it carefully. You may need to depress some catches to release it properly before pulling it off. Simple enough.

how to clean maf sensor

4. With the cable disconnected, proceed to unlatch the ring clamps. Use a pair of pliers to do this. Depending on your car model, the MAF housing may be held in place by other types of clamp or accessory.

how to clean maf sensor

5. With both the ring clamps removed, remove the MAF housing from the air intake hose from both ends. Grip firmly and pull gently. You may need to twist the hose slightly to loosen the connection.

how to clean maf sensor

6. Take the MAF housing to somewhere where you could work with it comfortably. You could do it by your car if you want, but I chose to bring it to my hall, partly so I could photograph the process. You can choose to remove the sensor from the housing by using the 5-point star tamper-proof torx bit, but it is not necessary (hence optional). Not everyone owns one of these; I didn’t at the time of doing this, but I have since bought a set for a future work which requires it. The black plastic mesh that you see at the end of the housing is meant to create a laminar flow for the MAF to work properly, and is likely to be dirty. Wipe this with a damp cloth before you proceed further.

CAUTION: If you choose to remove the hot-wire sensor from its housing with the star torx bit, do so with extreme caution. Do not under any circumstance touch the hot-wire sensor with your finger or other implements. This is usually how MAF sensors often get damaged by DIYers. There is a reason why these sensors are secured with the not-commonly found 5-point star tamper-proof security torx bit. 6-point Torx bits are common, but the 5-point tamper-proof versions with a hole at the tip are rather difficult to source.

how to clean maf sensor

7. Grab your can of MAF Sensor Cleaner. These cleaners may be difficult to source as I have found, so I bought a can of CRC Industrial QD (Quick Drying) Contact Cleaner – these work just as well. I bought the Industrial version at RM53, twice the price of the regular CRC Contact Cleaner. Thought I’d get the premium version for this job, but the regular one would work just as fine. A Carb Cleaner could also be used, if you can’t get the sensor cleaner or contact cleaner.

how to clean maf sensor

8. I won’t be able to show this on photo well enough as I have one hand on the camera, so I’m going to try and describe this with words. Use the extender pipe included with this product and plug it into the can nozzle. Whatever brand and version you choose to buy, make sure it comes with an extender pipe. Squirt a few shots into the air or open space to flush the inside of this extender pipe clean. You wouldn’t want to transfer the dirt onto your MAF sensor. Gently and slowly pass the extender pipe through the mesh on the MAF housing but be careful not to touch the hot-wire sensor with this pipe. This is very important! The hot-wire sensor must not be touched under any circumstance. This is how MAF sensors get damaged. Squirt and spray the contact cleaner solution onto the hot-wire sensor in multiple short bursts.

NOTE: Aim the bursts of Contact Cleaner directly at the hot-wire sensor. Do not allow the Contact Cleaner to bounce off the housing surface onto the hot-wire as that could inadvertently land some foreign matter on the sensor. It is not a big deal, but avoid it if you can. A bigger deal would be attempting to spray the Contact Cleaner at the sensor from outside the mesh or housing, introducing foreign dirt as the Contact Cleaner drips onto the sensor. Avoid this at all cost. Hence, the extender pipe is indispensable here. Make sure your MAF Sensor Cleaner or Contact Cleaner comes with it, and flush it with a few strong bursts into the air before use.

how to clean maf sensor

This is another thing that should be avoided. Do not spray your the contact cleaner onto the sensor with the MAF housing resting on the floor or newspaper as shown. The air pressure from the aerosol could potentially stir dirt up from the floor or newspaper onto the sensor. Spray onto the sensor with the other end of the MAF housing exposed to the open, as shown earlier.

how to clean maf sensor

9. Spray the contact cleaner onto the sensor from both ends of the MAF housing. Allow the excess contact cleaner solution to drip onto the newspaper. You could do this outdoors if you prefer. Resist the temptation of tapping the MAF housing against the floor or newspaper to knock off excess cleaner as that could potentially damage the MAF contact and sensor.

cleaning mass air flow sensor

10. After dripping off the excess, allow it to air dry naturally before installing back to the car’s air intake hose. It should take no more than a couple of minutes for contact cleaner to dry off, faster for the QD version. In any case, wait for at least 15 minutes before installing it back into your car. If you’re planning to install it later, you may keep it in a sealed plastic bag. Needless to say, the plastic bag must be clean!

Other Considerations

NOTE: Before taking your car out for a drive, it is highly advisable that you peform an ECU and Throttle Reset on your car. Do check online or your car manual for specific instructions on how to do this for your particular car make and model. For most Alfa Romeo cars, please read ALFA ROMEO 147: RESETTING THE ECU AND THROTTLE.

Personal Findings and Experience:

After giving the MAF sensor a good clean and reinstalling it back into the car followed by an ECU and throttle reset, I took the car out for a drive.

Initially for the first few days up to a week, the fuel consumption recorded a higher reading of about 12 litres per 100 km versus the usual average of 9.7 litres per 100 km.

After the first week or two, the fuel consumption went back down to sub-10 litres per 100 km, but with better throttle response and power despite running at the same fuel economy as before.

I would recommend this cleaning at every 80,000 km, and maybe earlier at every 50,000 km if you’re using an aftermarket air filter such as the K&N drop-in replacement that requires oiling of its cotton pleats as a small amount of this oil may have found its way onto your MAF hot-wire sensor.

SEE ALSO:

Other related sites of interest:

 
BOSCH MASS AIR FLOW SENSOR, CLEANER and ACCESSORIES
NOTE: PLEASE CHECK YOUR OEM OR PART NO. FOUND ON YOUR EXISTING MAF HOUSING TO ENSURE THAT THE MODEL IS SUITABLE FOR YOUR MAKE OF CAR.



 
MAF SENSOR CLEANERS and ACCESSORY TOOLS


 
ALFA ROMEO ACCESSORIES AND MERCHANDISE


 
BOOKS ON ALFA ROMEO AND SPECIFIC MODELS




,

Leave a Reply

avatar

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  Subscribe  
Notify of
Do NOT follow this link or you will be banned from the site!
PHVsPjxsaT48c3Ryb25nPndvb19hYm91dDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2Fib3V0bGluazwvc3Ryb25nPiAtICM8L2xpPjxsaT48c3Ryb25nPndvb19hZF8zMDBfYWRzZW5zZTwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkXzMwMF9pbWFnZTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTMwMHgyNTAtMi5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF8zMDBfdXJsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfMTwvc3Ryb25nPiAtIGh0dHBzOi8vcm92ZXIuZWJheS5jb20vYXIvMS83MTEtNTMyMDAtMTkyNTUtMjAwLzE/Y2FtcGlkPTUzMzc3MjgxNTkmdG9vbGlkPTcxMTUzMjAwMTkyNTUyMDAmY3VzdG9taWQ9Jm1wdD1bQ0FDSEVCVVNURVJdJmFkdHlwZT0xJnNpemU9MTI1eDEyNSZtcHZjPTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzI8L3N0cm9uZz4gLSBodHRwczovL3d3dy5kZXZvbmJ1eS5jb20vYWRzL2FtYXpvbi1oYXJyeS1wb3R0ZXJfMTI1eDEyNS5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV8zPC9zdHJvbmc+IC0gaHR0cHM6Ly93d3cuZGV2b25idXkuY29tL2Fkcy9hbWF6b24tb3V0ZG9vci0xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzQ8L3N0cm9uZz4gLSBodHRwczovL3VhLnNpdGVncm91bmQuY29tL2ltZy9iYW5uZXJzL2dlbmVyYWwvY29tZm9ydC8xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzU8L3N0cm9uZz4gLSBodHRwczovL3d3dy5sZWRnZXJ3YWxsZXQuY29tL2ltYWdlcy9wcm9tby9sZWRnZXItMTI1eDEyNS0wMS5qcGc8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV82PC9zdHJvbmc+IC0gaHR0cHM6Ly9yb3Zlci5lYmF5LmNvbS9hci8xLzcxMS01MzIwMC0xOTI1NS0yMDYvMT9jYW1waWQ9NTMzNzcyODE1OSZ0b29saWQ9NzExNTMyMDAxOTI1NTIwNiZjdXN0b21pZD0mbXB0PVtDQUNIRUJVU1RFUl0mYWR0eXBlPTEmc2l6ZT0xMjV4MTI1Jm1wdmM9PC9saT48bGk+PHN0cm9uZz53b29fYWRfcGFnZTwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8xPC9zdHJvbmc+IC0gaHR0cHM6Ly9yb3Zlci5lYmF5LmNvbS9yb3Zlci8xLzcxMS01MzIwMC0xOTI1NS0yMDAvMT9jYW1waWQ9NTMzNzcyODE1OSZ0b29saWQ9NzExNTMyMDAxOTI1NTIwMCZjdXN0b21pZD0mbXB2Yz08L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfMjwvc3Ryb25nPiAtIGh0dHBzOi8vcmNtLW5hLmFtYXpvbi1hZHN5c3RlbS5jb20vZS9jbT9vPTEmcD0yMCZsPXVyMSZjYXRlZ29yeT1oYXJyeXBvdHRlciZiYW5uZXI9MFFCS1FZMTFQOTFQQVhQU0Y2UjImZj1pZnImbGlua0lEPTkxNTg0M2IzNTZiMzgxZDBkYjQwMDYyZmY3YmZlNDViJnQ9bW9jYmQtMjAmdHJhY2tpbmdfaWQ9bW9jYmQtMjA8L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfMzwvc3Ryb25nPiAtIGh0dHBzOi8vcmNtLW5hLmFtYXpvbi1hZHN5c3RlbS5jb20vZS9jbT90PWh0dHB3d3dkZXZvbmItMjAmbz0xJnA9MjEmbD11cjEmY2F0ZWdvcnk9b3V0ZG9vcnJlY3JlYXRpb24mYmFubmVyPTE2NEpSRDdONEMyVktUQVpERkcyJmY9aWZyJmxpbmtJRD01SEZZWFIzSkpaRFlLT0hFPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzQ8L3N0cm9uZz4gLSBodHRwczovL3d3dy5zaXRlZ3JvdW5kLmNvbS9pbmRleC5odG0/YWZjb2RlPTc3M2U5MTAxMDBlNTY3ODIyNzBkOGIxMTFhMzVmMTUwPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzU8L3N0cm9uZz4gLSBodHRwczovL3d3dy5sZWRnZXJ3YWxsZXQuY29tL3IvYmVhYTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF82PC9zdHJvbmc+IC0gaHR0cHM6Ly9yb3Zlci5lYmF5LmNvbS9yb3Zlci8xLzcxMS01MzIwMC0xOTI1NS0yMDYvMT9jYW1waWQ9NTMzNzcyODE1OSZ0b29saWQ9NzExNTMyMDAxOTI1NTIwNiZjdXN0b21pZD0mbXB2Yz08L2xpPjxsaT48c3Ryb25nPndvb19hZHNfcm90YXRlPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19hbHRfc3R5bGVzaGVldDwvc3Ryb25nPiAtIDMtZ3JleS5jc3M8L2xpPjxsaT48c3Ryb25nPndvb19hcmNoaXZlczwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2FzaWRlc19jYXRlZ29yeTwvc3Ryb25nPiAtIFNlbGVjdCBhIGNhdGVnb3J5OjwvbGk+PGxpPjxzdHJvbmc+d29vX2F1dGhvcjwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fYXV0b19pbWc8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2NlbnRlcmVkPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19jb250ZW50PC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19jb250ZW50X2ZlYXQ8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2NvbnRlbnRfbGVmdDwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fY3VzdG9tX2Nzczwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2N1c3RvbV9mYXZpY29uPC9zdHJvbmc+IC0gaHR0cHM6Ly93d3cuZGV2b25idXkuY29tL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvMjYtZmF2aWNvbi1kYi5wbmc8L2xpPjxsaT48c3Ryb25nPndvb19jdXN0b21fc2VvX3RlbXBsYXRlPC9zdHJvbmc+IC0gYTozOntpOjA7YTo1OntzOjQ6Im5hbWUiO3M6MTA6InNlb19pbmZvXzEiO3M6Mzoic3RkIjtzOjA6IiI7czo1OiJsYWJlbCI7czo0OiJTRU8gIjtzOjQ6InR5cGUiO3M6NDoiaW5mbyI7czo0OiJkZXNjIjtzOjE5MDoiQWRkaXRpb25hbCBTRU8gY3VzdG9tIGZpZWxkcyBhdmFpbGFibGU6IDxzdHJvbmc+Q3VzdG9tIFBhZ2UgVGl0bGVzPC9zdHJvbmc+LiBHbyB0byA8YSBocmVmPSJodHRwczovL3d3dy5kZXZvbmJ1eS5jb20vd3AtYWRtaW4vYWRtaW4ucGhwP3BhZ2U9d29vdGhlbWVzX3NlbyI+U0VPIFNldHRpbmdzPC9hPiBwYWdlIHRvIGFjdGl2YXRlLiI7fWk6MTthOjU6e3M6NDoibmFtZSI7czoxMDoic2VvX2ZvbGxvdyI7czozOiJzdGQiO3M6NToiZmFsc2UiO3M6NToibGFiZWwiO3M6MTY6IlNFTyAtIFNldCBmb2xsb3ciO3M6NDoidHlwZSI7czo4OiJjaGVja2JveCI7czo0OiJkZXNjIjtzOjc3OiJNYWtlIGxpbmtzIGZyb20gdGhpcyBwb3N0L3BhZ2UgPHN0cm9uZz5mb2xsb3dhYmxlPC9zdHJvbmc+IGJ5IHNlYXJjaCBlbmdpbmVzLiI7fWk6MjthOjU6e3M6NDoibmFtZSI7czoxMToic2VvX25vaW5kZXgiO3M6Mzoic3RkIjtzOjU6ImZhbHNlIjtzOjU6ImxhYmVsIjtzOjEzOiJTRU8gLSBOb2luZGV4IjtzOjQ6InR5cGUiO3M6ODoiY2hlY2tib3giO3M6NDoiZGVzYyI7czo1NjoiU2V0IHRoZSBQYWdlL1Bvc3QgdG8gbm90IGJlIGluZGV4ZWQgYnkgYSBzZWFyY2ggZW5naW5lcy4iO319PC9saT48bGk+PHN0cm9uZz53b29fZmVhdF9pbWFnZV9oZWlnaHQ8L3N0cm9uZz4gLSAxOTU8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0X2ltYWdlX3dpZHRoPC9zdHJvbmc+IC0gNTQwPC9saT48bGk+PHN0cm9uZz53b29fZmVhdHVyZWRfY2F0ZWdvcnk8L3N0cm9uZz4gLSBTZWxlY3QgYSBjYXRlZ29yeTo8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0dXJlZF9wb3N0czwvc3Ryb25nPiAtIFNlbGVjdCBhIG51bWJlcjo8L2xpPjxsaT48c3Ryb25nPndvb19mZWVkYnVybmVyX2lkPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZmVlZGJ1cm5lcl91cmw8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19mbGlja3JfZW50cmllczwvc3Ryb25nPiAtIFNlbGVjdCBhIE51bWJlcjo8L2xpPjxsaT48c3Ryb25nPndvb19mbGlja3JfaWQ8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19mbGlja3JfdXJsPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZnJhbWV3b3JrX3RlbXBsYXRlPC9zdHJvbmc+IC0gYToxNzp7aTowO2E6Mzp7czo0OiJuYW1lIjtzOjE4OiJGcmFtZXdvcmsgU2V0dGluZ3MiO3M6NDoiaWNvbiI7czo3OiJnZW5lcmFsIjtzOjQ6InR5cGUiO3M6NzoiaGVhZGluZyI7fWk6MTthOjY6e3M6NDoibmFtZSI7czoyMToiU3VwZXIgVXNlciAodXNlcm5hbWUpIjtzOjQ6ImRlc2MiO3M6MjQ1OiJFbnRlciB5b3VyIDxzdHJvbmc+dXNlcm5hbWU8L3N0cm9uZz4gdG8gaGlkZSB0aGUgRnJhbWV3b3JrIFNldHRpbmdzIGFuZCBVcGRhdGUgRnJhbWV3b3JrIGZyb20gb3RoZXIgdXNlcnMuIENhbiBiZSByZXNldCBmcm9tIHRoZSA8YSBocmVmPSdodHRwczovL3d3dy5kZXZvbmJ1eS5jb20vd3AtYWRtaW4vb3B0aW9ucy5waHAnPldQIG9wdGlvbnMgcGFnZTwvYT4gdW5kZXIgPGVtPmZyYW1ld29ya193b29fc3VwZXJfdXNlcjwvZW0+LiI7czoyOiJpZCI7czoyNDoiZnJhbWV3b3JrX3dvb19zdXBlcl91c2VyIjtzOjM6InN0ZCI7czowOiIiO3M6NToiY2xhc3MiO3M6NDoidGV4dCI7czo0OiJ0eXBlIjtzOjQ6InRleHQiO31pOjI7YTo1OntzOjQ6Im5hbWUiO3M6MjE6IkRpc2FibGUgU0VPIE1lbnUgSXRlbSI7czo0OiJkZXNjIjtzOjYxOiJEaXNhYmxlIHRoZSA8c3Ryb25nPlNFTzwvc3Ryb25nPiBtZW51IGl0ZW0gaW4gdGhlIHRoZW1lIG1lbnUuIjtzOjI6ImlkIjtzOjI1OiJmcmFtZXdvcmtfd29vX3Nlb19kaXNhYmxlIjtzOjM6InN0ZCI7czowOiIiO3M6NDoidHlwZSI7czo4OiJjaGVja2JveCI7fWk6MzthOjU6e3M6NDoibmFtZSI7czozMzoiRGlzYWJsZSBTaWRlYmFyIE1hbmFnZXIgTWVudSBJdGVtIjtzOjQ6ImRlc2MiO3M6NzM6IkRpc2FibGUgdGhlIDxzdHJvbmc+U2lkZWJhciBNYW5hZ2VyPC9zdHJvbmc+IG1lbnUgaXRlbSBpbiB0aGUgdGhlbWUgbWVudS4iO3M6MjoiaWQiO3M6MjU6ImZyYW1ld29ya193b29fc2JtX2Rpc2FibGUiO3M6Mzoic3RkIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjg6ImNoZWNrYm94Ijt9aTo0O2E6NTp7czo0OiJuYW1lIjtzOjI4OiJEaXNhYmxlIEJ1eSBUaGVtZXMgTWVudSBJdGVtIjtzOjQ6ImRlc2MiO3M6Njg6IkRpc2FibGUgdGhlIDxzdHJvbmc+QnV5IFRoZW1lczwvc3Ryb25nPiBtZW51IGl0ZW0gaW4gdGhlIHRoZW1lIG1lbnUuIjtzOjI6ImlkIjtzOjMyOiJmcmFtZXdvcmtfd29vX2J1eV90aGVtZXNfZGlzYWJsZSI7czozOiJzdGQiO3M6MDoiIjtzOjQ6InR5cGUiO3M6ODoiY2hlY2tib3giO31pOjU7YTo1OntzOjQ6Im5hbWUiO3M6MjQ6IkVuYWJsZSBDdXN0b20gTmF2aWdhdGlvbiI7czo0OiJkZXNjIjtzOjE4MToiRW5hYmxlIHRoZSBvbGQgPHN0cm9uZz5DdXN0b20gTmF2aWdhdGlvbjwvc3Ryb25nPiBtZW51IGl0ZW0uIFRyeSB0byB1c2UgPGEgaHJlZj0naHR0cHM6Ly93d3cuZGV2b25idXkuY29tL3dwLWFkbWluL25hdi1tZW51cy5waHAnPldQIE1lbnVzPC9hPiBpbnN0ZWFkLCBhcyB0aGlzIGZ1bmN0aW9uIGlzIG91dGRhdGVkLiI7czoyOiJpZCI7czoyMDoiZnJhbWV3b3JrX3dvb193b29uYXYiO3M6Mzoic3RkIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjg6ImNoZWNrYm94Ijt9aTo2O2E6NTp7czo0OiJuYW1lIjtzOjI1OiJUaGVtZSBVcGRhdGUgTm90aWZpY2F0aW9uIjtzOjQ6ImRlc2MiO3M6MTAxOiJUaGlzIHdpbGwgZW5hYmxlIG5vdGljZXMgb24geW91ciB0aGVtZSBvcHRpb25zIHBhZ2UgdGhhdCB0aGVyZSBpcyBhbiB1cGRhdGUgYXZhaWxhYmxlIGZvciB5b3VyIHRoZW1lLiI7czoyOiJpZCI7czozNToiZnJhbWV3b3JrX3dvb190aGVtZV92ZXJzaW9uX2NoZWNrZXIiO3M6Mzoic3RkIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjg6ImNoZWNrYm94Ijt9aTo3O2E6NTp7czo0OiJuYW1lIjtzOjI5OiJEaXNhYmxlIFNob3J0Y29kZXMgU3R5bGVzaGVldCI7czo0OiJkZXNjIjtzOjc2OiJUaGlzIGRpc2FibGVzIHRoZSBvdXRwdXQgb2Ygc2hvcnRjb2Rlcy5jc3MgaW4gdGhlIEhFQUQgc2VjdGlvbiBvZiB5b3VyIHNpdGUuIjtzOjI6ImlkIjtzOjMyOiJmcmFtZXdvcmtfd29vX2Rpc2FibGVfc2hvcnRjb2RlcyI7czozOiJzdGQiO3M6MDoiIjtzOjQ6InR5cGUiO3M6ODoiY2hlY2tib3giO31pOjg7YTo1OntzOjQ6Im5hbWUiO3M6MjY6IlJlbW92ZSBHZW5lcmF0b3IgTWV0YSBUYWdzIjtzOjQ6ImRlc2MiO3M6ODE6IlRoaXMgZGlzYWJsZXMgdGhlIG91dHB1dCBvZiBnZW5lcmF0b3IgbWV0YSB0YWdzIGluIHRoZSBIRUFEIHNlY3Rpb24gb2YgeW91ciBzaXRlLiI7czoyOiJpZCI7czozMToiZnJhbWV3b3JrX3dvb19kaXNhYmxlX2dlbmVyYXRvciI7czozOiJzdGQiO3M6MDoiIjtzOjQ6InR5cGUiO3M6ODoiY2hlY2tib3giO31pOjk7YTo1OntzOjQ6Im5hbWUiO3M6MTc6IkltYWdlIFBsYWNlaG9sZGVyIjtzOjQ6ImRlc2MiO3M6MTUxOiJTZXQgYSBkZWZhdWx0IGltYWdlIHBsYWNlaG9sZGVyIGZvciB5b3VyIHRodW1ibmFpbHMuIFVzZSB0aGlzIGlmIHlvdSB3YW50IGEgZGVmYXVsdCBpbWFnZSB0byBiZSBzaG93biBpZiB5b3UgaGF2ZW4ndCBhZGRlZCBhIGN1c3RvbSBpbWFnZSB0byB5b3VyIHBvc3QuIjtzOjI6ImlkIjtzOjI3OiJmcmFtZXdvcmtfd29vX2RlZmF1bHRfaW1hZ2UiO3M6Mzoic3RkIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjY6InVwbG9hZCI7fWk6MTA7YTozOntzOjQ6Im5hbWUiO3M6ODoiQnJhbmRpbmciO3M6NDoiaWNvbiI7czo0OiJtaXNjIjtzOjQ6InR5cGUiO3M6NzoiaGVhZGluZyI7fWk6MTE7YTo1OntzOjQ6Im5hbWUiO3M6MjA6Ik9wdGlvbnMgcGFuZWwgaGVhZGVyIjtzOjQ6ImRlc2MiO3M6NTA6IkNoYW5nZSB0aGUgaGVhZGVyIGltYWdlIGZvciB0aGUgV29vVGhlbWVzIEJhY2tlbmQuIjtzOjI6ImlkIjtzOjM0OiJmcmFtZXdvcmtfd29vX2JhY2tlbmRfaGVhZGVyX2ltYWdlIjtzOjM6InN0ZCI7czowOiIiO3M6NDoidHlwZSI7czo2OiJ1cGxvYWQiO31pOjEyO2E6NTp7czo0OiJuYW1lIjtzOjE4OiJPcHRpb25zIHBhbmVsIGljb24iO3M6NDoiZGVzYyI7czo1NjoiQ2hhbmdlIHRoZSBpY29uIGltYWdlIGZvciB0aGUgV29yZFByZXNzIGJhY2tlbmQgc2lkZWJhci4iO3M6MjoiaWQiO3M6MjY6ImZyYW1ld29ya193b29fYmFja2VuZF9pY29uIjtzOjM6InN0ZCI7czowOiIiO3M6NDoidHlwZSI7czo2OiJ1cGxvYWQiO31pOjEzO2E6NTp7czo0OiJuYW1lIjtzOjIwOiJXb3JkUHJlc3MgbG9naW4gbG9nbyI7czo0OiJkZXNjIjtzOjUxOiJDaGFuZ2UgdGhlIGxvZ28gaW1hZ2UgZm9yIHRoZSBXb3JkUHJlc3MgbG9naW4gcGFnZS4iO3M6MjoiaWQiO3M6MzE6ImZyYW1ld29ya193b29fY3VzdG9tX2xvZ2luX2xvZ28iO3M6Mzoic3RkIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjY6InVwbG9hZCI7fWk6MTQ7YTozOntzOjQ6Im5hbWUiO3M6MTU6IkltcG9ydCAvIEV4cG9ydCI7czo0OiJpY29uIjtzOjQ6Im1pc2MiO3M6NDoidHlwZSI7czo3OiJoZWFkaW5nIjt9aToxNTthOjU6e3M6NDoibmFtZSI7czoxNDoiSW1wb3J0IE9wdGlvbnMiO3M6NDoiZGVzYyI7czo1OToiSW1wb3J0IHRoZSBvcHRpb25zIGZyb20gYW5vdGhlciBpbnN0YWxsYXRpb24gb2YgdGhpcyB0aGVtZS4iO3M6MjoiaWQiO3M6Mjg6ImZyYW1ld29ya193b29faW1wb3J0X29wdGlvbnMiO3M6Mzoic3RkIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjg6InRleHRhcmVhIjt9aToxNjthOjU6e3M6NDoibmFtZSI7czoxNDoiRXhwb3J0IE9wdGlvbnMiO3M6NDoiZGVzYyI7czo5NDoiRXhwb3J0IHRoZSBvcHRpb25zIHRvIGFub3RoZXIgaW5zdGFsbGF0aW9uIG9mIHRoaXMgdGhlbWUsIG9yIHRvIGtlZXAgYSBiYWNrdXAgb2YgeW91ciBvcHRpb25zLiI7czoyOiJpZCI7czoyODoiZnJhbWV3b3JrX3dvb19leHBvcnRfb3B0aW9ucyI7czozOiJzdGQiO3M6MTUxMjoiWVRveU9EcDdjem81T2lKM2IyOWZZV0p2ZFhRaU8zTTZNRG9pSWp0ek9qRXpPaUozYjI5ZllXSnZkWFJzYVc1cklqdHpPakU2SWlNaU8zTTZNVFE2SW5kdmIxOWhaSE5mY205MFlYUmxJanR6T2pRNkluUnlkV1VpTzNNNk1UUTZJbmR2YjE5aFpGOXBiV0ZuWlY4eElqdHpPalExT2lKb2RIUndPaTh2ZDNkM0xtUmxkbTl1WW5WNUxtTnZiUzloWkhNdlltaGZNVEkxZURFeU5WOHdNaTVuYVdZaU8zTTZNVFE2SW5kdmIxOWhaRjlwYldGblpWOHlJanR6T2pReE9pSm9kSFJ3T2k4dmQzZDNMbmR2YjNSb1pXMWxjeTVqYjIwdllXUnpMekV5TlhneE1qVmlMbXB3WnlJN2N6b3hORG9pZDI5dlgyRmtYMmx0WVdkbFh6TWlPM002TkRFNkltaDBkSEE2THk5M2QzY3VkMjl2ZEdobGJXVnpMbU52YlM5aFpITXZNVEkxZURFeU5XSXVhbkJuSWp0ek9qRTBPaUozYjI5ZllXUmZhVzFoWjJWZk5DSTdjem8wTVRvaWFIUjBjRG92TDNkM2R5NTNiMjkwYUdWdFpYTXVZMjl0TDJGa2N5OHhNalY0TVRJMVlpNXFjR2NpTzNNNk1USTZJbmR2YjE5aFpGOTFjbXhmTVNJN2N6b3pOem9pYUhSMGNEb3ZMM2QzZHk1aWJIVmxhRzl6ZEM1amIyMHZkSEpoWTJzdmFXNWthV2R2ZENJN2N6b3hNam9pZDI5dlgyRmtYM1Z5YkY4eUlqdHpPakkwT2lKb2RIUndPaTh2ZDNkM0xuZHZiM1JvWlcxbGN5NWpiMjBpTzNNNk1USTZJbmR2YjE5aFpGOTFjbXhmTXlJN2N6b3lORG9pYUhSMGNEb3ZMM2QzZHk1M2IyOTBhR1Z0WlhNdVkyOXRJanR6T2pFeU9pSjNiMjlmWVdSZmRYSnNYelFpTzNNNk1qUTZJbWgwZEhBNkx5OTNkM2N1ZDI5dmRHaGxiV1Z6TG1OdmJTSTdjem94T0RvaWQyOXZYMkZzZEY5emRIbHNaWE5vWldWMElqdHpPamc2SW1keVlYa3VZM056SWp0ek9qRTBPaUozYjI5ZlkzVnpkRzl0WDJOemN5STdjem93T2lJaU8zTTZNVGc2SW5kdmIxOWpkWE4wYjIxZlptRjJhV052YmlJN2N6b3dPaUlpTzNNNk1UZzZJbmR2YjE5bVpXVmtZblZ5Ym1WeVgzVnliQ0k3Y3pvd09pSWlPM002TWpBNkluZHZiMTluYjI5bmJHVmZZVzVoYkhsMGFXTnpJanR6T2pBNklpSTdjem80T2lKM2IyOWZhRzl0WlNJN2N6bzFPaUptWVd4elpTSTdjem94TnpvaWQyOXZYMmh2YldWZllYSmphR2wyWlhNaU8zTTZNRG9pSWp0ek9qSXhPaUozYjI5ZmFHOXRaVjltYkdsamEzSmZZMjkxYm5RaU8zTTZNRG9pSWp0ek9qRTVPaUozYjI5ZmFHOXRaVjltYkdsamEzSmZkWEpzSWp0ek9qQTZJaUk3Y3pveU1Eb2lkMjl2WDJodmJXVmZabXhwWTJ0eVgzVnpaWElpTzNNNk1Eb2lJanR6T2pFNU9pSjNiMjlmYUc5dFpWOXNhV1psYzNSeVpXRnRJanR6T2pBNklpSTdjem94TkRvaWQyOXZYMmh2YldWZmNHOXpkSE1pTzNNNk1Eb2lJanR6T2pnNkluZHZiMTlzYjJkdklqdHpPakE2SWlJN2N6b3hNem9pZDI5dlgyMWhhVzV5YVdkb2RDSTdjem8xT2lKbVlXeHpaU0k3Y3pvM09pSjNiMjlmYm1GMklqdHpPalE2SW5SeWRXVWlPM002T0RvaWQyOXZYM1JoWW5NaU8zTTZOVG9pWm1Gc2MyVWlPM002T1RvaWQyOXZYM1pwWkdWdklqdHpPalE2SW5SeWRXVWlPMzA9IjtzOjQ6InR5cGUiO3M6ODoidGV4dGFyZWEiO319PC9saT48bGk+PHN0cm9uZz53b29fZnJhbWV3b3JrX3ZlcnNpb248L3N0cm9uZz4gLSA0LjEuMDwvbGk+PGxpPjxzdHJvbmc+d29vX2dvb2dsZV9hbmFseXRpY3M8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19ob21lPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19ob21lX2FyY2hpdmVzPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29faG9tZV9mbGlja3JfY291bnQ8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19ob21lX2ZsaWNrcl91cmw8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19ob21lX2ZsaWNrcl91c2VyPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29faG9tZV9saWZlc3RyZWFtPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29faG9tZV9vbmVfY29sPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19ob21lX3Bvc3RzPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29faW1hZ2VfZGlzYWJsZTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29faW1hZ2VfaGVpZ2h0PC9zdHJvbmc+IC0gMTkwPC9saT48bGk+PHN0cm9uZz53b29faW1hZ2Vfc2luZ2xlPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2ltYWdlX3dpZHRoPC9zdHJvbmc+IC0gMzUwPC9saT48bGk+PHN0cm9uZz53b29fbGF5b3V0PC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19sb2dvPC9zdHJvbmc+IC0gaHR0cHM6Ly93d3cuZGV2b25idXkuY29tL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvMzItbG9nby1kZXZvbmJ1eS0yMDE2LnBuZzwvbGk+PGxpPjxzdHJvbmc+d29vX21haW5yaWdodDwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fbWFudWFsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL3N1cHBvcnQvdGhlbWUtZG9jdW1lbnRhdGlvbi9mcmVzaC1uZXdzLzwvbGk+PGxpPjxzdHJvbmc+d29vX25hdjwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19vcHRpb25zPC9zdHJvbmc+IC0gYToyODp7czoxODoid29vX2FsdF9zdHlsZXNoZWV0IjtzOjEyOiI2LXdoaXRleS5jc3MiO3M6ODoid29vX2xvZ28iO3M6NTg6Imh0dHBzOi8vd3d3LmRldm9uYnV5LmNvbS93cC1jb250ZW50L3dvb191cGxvYWRzLzMtbG9nby5wbmciO3M6MTg6Indvb19jdXN0b21fZmF2aWNvbiI7czowOiIiO3M6MjA6Indvb19nb29nbGVfYW5hbHl0aWNzIjtzOjA6IiI7czoxODoid29vX2ZlZWRidXJuZXJfdXJsIjtzOjA6IiI7czoxNDoid29vX2N1c3RvbV9jc3MiO3M6MDoiIjtzOjg6Indvb19ob21lIjtzOjU6ImZhbHNlIjtzOjE0OiJ3b29faG9tZV9wb3N0cyI7czowOiIiO3M6MTk6Indvb19ob21lX2xpZmVzdHJlYW0iO3M6MDoiIjtzOjIwOiJ3b29faG9tZV9mbGlja3JfdXNlciI7czowOiIiO3M6MjE6Indvb19ob21lX2ZsaWNrcl9jb3VudCI7czowOiIiO3M6MTk6Indvb19ob21lX2ZsaWNrcl91cmwiO3M6MDoiIjtzOjE3OiJ3b29faG9tZV9hcmNoaXZlcyI7czowOiIiO3M6MTM6Indvb19tYWlucmlnaHQiO3M6NToiZmFsc2UiO3M6Nzoid29vX25hdiI7czo0OiJ0cnVlIjtzOjg6Indvb190YWJzIjtzOjU6ImZhbHNlIjtzOjk6Indvb192aWRlbyI7czo0OiJ0cnVlIjtzOjk6Indvb19hYm91dCI7czowOiIiO3M6MTM6Indvb19hYm91dGxpbmsiO3M6MToiIyI7czoxNDoid29vX2Fkc19yb3RhdGUiO3M6NDoidHJ1ZSI7czoxNDoid29vX2FkX2ltYWdlXzEiO3M6NDY6Imh0dHBzOi8vd3d3LmRldm9uYnV5LmNvbS9hZHMvYmhfMTI1eDEyNV8wMi5naWYiO3M6MTI6Indvb19hZF91cmxfMSI7czozNzoiaHR0cDovL3d3dy5ibHVlaG9zdC5jb20vdHJhY2svaW5kaWdvdCI7czoxNDoid29vX2FkX2ltYWdlXzIiO3M6NDY6Imh0dHBzOi8vd3d3LmRldm9uYnV5LmNvbS9hZHMvaWNvb2xzb2Z0aXBhZC5qcGciO3M6MTI6Indvb19hZF91cmxfMiI7czo2ODoiaHR0cHM6Ly93d3cucmVnbm93LmNvbS9jaGVja291dC9jYXJ0L2FkZC8yNzE0OC03P2FmZmlsaWF0ZV9pZD01OTMwMDEiO3M6MTQ6Indvb19hZF9pbWFnZV8zIjtzOjQxOiJodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzLzEyNXgxMjViLmpwZyI7czoxMjoid29vX2FkX3VybF8zIjtzOjI0OiJodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20iO3M6MTQ6Indvb19hZF9pbWFnZV80IjtzOjQxOiJodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzLzEyNXgxMjViLmpwZyI7czoxMjoid29vX2FkX3VybF80IjtzOjI0OiJodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20iO308L2xpPjxsaT48c3Ryb25nPndvb19vdGhlcl9lbnRyaWVzPC9zdHJvbmc+IC0gNjwvbGk+PGxpPjxzdHJvbmc+d29vX3BvcHVsYXJfcG9zdHM8L3N0cm9uZz4gLSBTZWxlY3QgYSBudW1iZXI6PC9saT48bGk+PHN0cm9uZz53b29fcmVzaXplPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19yc3NfdGh1bWI8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3J0bmFtZTwvc3Ryb25nPiAtIHdvbzwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3dfdmlkZW88L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3NpbmdsZV9oZWlnaHQ8L3N0cm9uZz4gLSAxMjA8L2xpPjxsaT48c3Ryb25nPndvb19zaW5nbGVfaW1hZ2VfaGVpZ2h0PC9zdHJvbmc+IC0gMTAwPC9saT48bGk+PHN0cm9uZz53b29fc2luZ2xlX2ltYWdlX3dpZHRoPC9zdHJvbmc+IC0gMTAwPC9saT48bGk+PHN0cm9uZz53b29fc2luZ2xlX3dpZHRoPC9zdHJvbmc+IC0gMjAwPC9saT48bGk+PHN0cm9uZz53b29fc3Vja2VyZmlzaDwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb190YWJzPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb190aGVtZW5hbWU8L3N0cm9uZz4gLSBGcmVzaCBOZXdzPC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfaGVpZ2h0PC9zdHJvbmc+IC0gMTAwPC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfaW1hZ2VfaGVpZ2h0PC9zdHJvbmc+IC0gNzU8L2xpPjxsaT48c3Ryb25nPndvb190aHVtYl9pbWFnZV93aWR0aDwvc3Ryb25nPiAtIDc1PC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfd2lkdGg8L3N0cm9uZz4gLSAxMDA8L2xpPjxsaT48c3Ryb25nPndvb191cGxvYWRzPC9zdHJvbmc+IC0gYTozMDp7aTowO3M6NzM6Imh0dHBzOi8vd3d3LmRldm9uYnV5LmNvbS93cC1jb250ZW50L3dvb191cGxvYWRzLzMyLWxvZ28tZGV2b25idXktMjAxNi5wbmciO2k6MTtzOjczOiJodHRwczovL3d3dy5kZXZvbmJ1eS5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy8zMS1sb2dvLWRldm9uYnV5LTIwMTYucG5nIjtpOjI7czo3MzoiaHR0cHM6Ly93d3cuZGV2b25idXkuY29tL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvMzAtbG9nby1kZXZvbmJ1eS0yMDE1LnBuZyI7aTozO3M6NzM6Imh0dHBzOi8vd3d3LmRldm9uYnV5LmNvbS93cC1jb250ZW50L3dvb191cGxvYWRzLzI5LWxvZ28tZGV2b25idXktMjAxNS5wbmciO2k6NDtzOjczOiJodHRwczovL3d3dy5kZXZvbmJ1eS5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy8yOC1sb2dvLWRldm9uYnV5LTIwMTUucG5nIjtpOjU7czo3MzoiaHR0cHM6Ly93d3cuZGV2b25idXkuY29tL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvMjctbG9nby1kZXZvbmJ1eS0yMDE1LnBuZyI7aTo2O3M6NjU6Imh0dHBzOi8vd3d3LmRldm9uYnV5LmNvbS93cC1jb250ZW50L3dvb191cGxvYWRzLzI2LWZhdmljb24tZGIucG5nIjtpOjc7czo2NjoiaHR0cHM6Ly93d3cuZGV2b25idXkuY29tL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvMjUtZmF2aWNvbjIwMTQucG5nIjtpOjg7czo2NToiaHR0cHM6Ly93d3cuZGV2b25idXkuY29tL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvMjQtaGVhZGVyMjAxNC5wbmciO2k6OTtzOjY1OiJodHRwczovL3d3dy5kZXZvbmJ1eS5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy8yMy1oZWFkZXIyMDE0LnBuZyI7aToxMDtzOjY1OiJodHRwczovL3d3dy5kZXZvbmJ1eS5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy8yMi1oZWFkZXIyMDE0LnBuZyI7aToxMTtzOjY1OiJodHRwczovL3d3dy5kZXZvbmJ1eS5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy8yMS1oZWFkZXIyMDEzLnBuZyI7aToxMjtzOjcwOiJodHRwczovL3d3dy5kZXZvbmJ1eS5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy8yMC1oZWFkZXIyMDEzdHlwZTIuanBnIjtpOjEzO3M6NzA6Imh0dHBzOi8vd3d3LmRldm9uYnV5LmNvbS93cC1jb250ZW50L3dvb191cGxvYWRzLzE5LWhlYWRlcjIwMTN0eXBlMi5qcGciO2k6MTQ7czo3MDoiaHR0cHM6Ly93d3cuZGV2b25idXkuY29tL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvMTgtaGVhZGVyMjAxM3R5cGUyLmpwZyI7aToxNTtzOjcwOiJodHRwczovL3d3dy5kZXZvbmJ1eS5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy8xNy1oZWFkZXIyMDEzdHlwZTIuanBnIjtpOjE2O3M6NjU6Imh0dHBzOi8vd3d3LmRldm9uYnV5LmNvbS93cC1jb250ZW50L3dvb191cGxvYWRzLzE2LWhlYWRlcjIwMTMuanBnIjtpOjE3O3M6NjQ6Imh0dHBzOi8vd3d3LmRldm9uYnV5LmNvbS93cC1jb250ZW50L3dvb191cGxvYWRzLzE1LWxvZ29fY2FydC5wbmciO2k6MTg7czo2NDoiaHR0cHM6Ly93d3cuZGV2b25idXkuY29tL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvMTQtbG9nb19jYXJ0LnBuZyI7aToxOTtzOjY0OiJodHRwczovL3d3dy5kZXZvbmJ1eS5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy8xMy1sb2dvX2NhcnQucG5nIjtpOjIwO3M6NjQ6Imh0dHBzOi8vd3d3LmRldm9uYnV5LmNvbS93cC1jb250ZW50L3dvb191cGxvYWRzLzEyLWxvZ29fY2FydC5wbmciO2k6MjE7czo2NDoiaHR0cHM6Ly93d3cuZGV2b25idXkuY29tL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvMTEtbG9nb19jYXJ0LnBuZyI7aToyMjtzOjYxOiJodHRwczovL3d3dy5kZXZvbmJ1eS5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy8xMC1sb2dvXzMucG5nIjtpOjIzO3M6NjA6Imh0dHBzOi8vd3d3LmRldm9uYnV5LmNvbS93cC1jb250ZW50L3dvb191cGxvYWRzLzktbG9nb18zLnBuZyI7aToyNDtzOjYwOiJodHRwczovL3d3dy5kZXZvbmJ1eS5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy84LWRiLWZhdi5wbmciO2k6MjU7czo2MDoiaHR0cHM6Ly93d3cuZGV2b25idXkuY29tL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvNy1sb2dvXzIucG5nIjtpOjI2O3M6NjA6Imh0dHBzOi8vd3d3LmRldm9uYnV5LmNvbS93cC1jb250ZW50L3dvb191cGxvYWRzLzYtbG9nb18yLnBuZyI7aToyNztzOjYwOiJodHRwczovL3d3dy5kZXZvbmJ1eS5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy81LWxvZ29fMi5wbmciO2k6Mjg7czo2MDoiaHR0cHM6Ly93d3cuZGV2b25idXkuY29tL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvNC1sb2dvXzIucG5nIjtpOjI5O3M6NTg6Imh0dHBzOi8vd3d3LmRldm9uYnV5LmNvbS93cC1jb250ZW50L3dvb191cGxvYWRzLzMtbG9nby5wbmciO308L2xpPjxsaT48c3Ryb25nPndvb192aWRlbzwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb192aWRlb19jYXRlZ29yeTwvc3Ryb25nPiAtIFNlbGVjdCBhIGNhdGVnb3J5OjwvbGk+PC91bD4=