LED Beam Angle Guide: How to Choose the Right Beam Spread for Commercial Lighting Projects
PHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj4KWwogIHsKICAgICJAY29udGV4dCI6ICJodHRwczovL3NjaGVtYS5vcmciLAogICAgIkB0eXBlIjogIkFydGljbGUiLAogICAgImhlYWRsaW5lIjogIkxFRCBCZWFtIEFuZ2xlIEd1aWRlOiBIb3cgdG8gQ2hvb3NlIHRoZSBSaWdodCBCZWFtIFNwcmVhZCBmb3IgQ29tbWVyY2lhbCBMaWdodGluZyBQcm9qZWN0cyIsCiAgICAiYXV0aG9yIjogewogICAgICAiQHR5cGUiOiAiUGVyc29uIiwKICAgICAgIm5hbWUiOiAiU2ltb24gQ2hlbiIKICAgIH0sCiAgICAicHVibGlzaGVyIjogewogICAgICAiQHR5cGUiOiAiT3JnYW5pemF0aW9uIiwKICAgICAgIm5hbWUiOiAiS2luZ3NlbmciLAogICAgICAibG9nbyI6IHsKICAgICAgICAiQHR5cGUiOiAiSW1hZ2VPYmplY3QiLAogICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9rc2ltcGV4cC5jb20vd3AtY29udGVudC91cGxvYWRzL2xvZ28ucG5nIgogICAgICB9CiAgICB9LAogICAgImRhdGVQdWJsaXNoZWQiOiAiMjAyNi0wNi0yOCIsCiAgICAiZGF0ZU1vZGlmaWVkIjogIjIwMjYtMDYtMjgiCiAgfSwKICB7CiAgICAiQGNvbnRleHQiOiAiaHR0cHM6Ly9zY2hlbWEub3JnIiwKICAgICJAdHlwZSI6ICJGQVFQYWdlIiwKICAgICJtYWluRW50aXR5IjogWwogICAgICB7CiAgICAgICAgIkB0eXBlIjogIlF1ZXN0aW9uIiwKICAgICAgICAibmFtZSI6ICJIb3cgZG8gSSBjYWxjdWxhdGUgdGhlIG51bWJlciBvZiBMRUQgZml4dHVyZXMgbmVlZGVkIGZvciBhIHdhcmVob3VzZSB3aXRoIDMwLWZvb3QgY2VpbGluZ3MgdXNpbmcgYmVhbSBhbmdsZSBkYXRhPyIsCiAgICAgICAgImFjY2VwdGVkQW5zd2VyIjogewogICAgICAgICAgIkB0eXBlIjogIkFuc3dlciIsCiAgICAgICAgICAidGV4dCI6ICJGaXJzdCwgZGV0ZXJtaW5lIHlvdXIgdGFyZ2V0IGlsbHVtaW5hbmNlICh0eXBpY2FsIHdhcmVob3VzZTogMTUw4oCTMzAwIGx1eCkuIFRoZW4gdXNlIHRoZSBiZWFtIGFuZ2xlIHRvIGNhbGN1bGF0ZSB0aGUgYmVhbSBkaWFtZXRlciBhdCBmbG9vciBsZXZlbDogQmVhbSBEaWFtZXRlciA9IDIgw5cgTW91bnRpbmcgSGVpZ2h0IMOXIHRhbihCZWFtIEFuZ2xlLzIpLiBGb3IgYSA2MMKwIGJlYW0gYXQgMzAgZnQ6IDIgw5cgMzAgw5cgdGFuKDMwwrApID0gMzQuNiBmdCBkaWFtZXRlci4gV2l0aCBhIHNwYWNpbmctdG8tbW91bnRpbmctaGVpZ2h0IHJhdGlvIG9mIDEuMOKAkzEuMiBmb3IgNjDCsCBiZWFtcywgc3BhY2UgZml4dHVyZXMgYXQgMzDigJMzNiBmdCBpbnRlcnZhbHMuIERpdmlkZSB0b3RhbCB3YXJlaG91c2UgZm9vdHByaW50IGJ5IHRoZSBjb3ZlcmFnZSBhcmVhIHBlciBmaXh0dXJlIHRvIGdldCBmaXh0dXJlIGNvdW50LiBBbHdheXMgYWRkIDE1JSBmb3IgZWRnZSBjb3ZlcmFnZSBhbmQgb2JzdHJ1Y3Rpb25zLiBSZXF1ZXN0IGFuIElFUyBmaWxlIGZyb20geW91ciBzdXBwbGllciBhbmQgcnVuIGEgbGlnaHRpbmcgc2ltdWxhdGlvbiAoRElBTHV4IG9yIEFHaTMyKSBiZWZvcmUgZmluYWxpemluZyB0aGUgb3JkZXIuIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJAdHlwZSI6ICJRdWVzdGlvbiIsCiAgICAgICAgIm5hbWUiOiAiV2hhdCBpcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGJlYW0gYW5nbGUgYW5kIGZpZWxkIGFuZ2xlIGluIExFRCBkYXRhc2hlZXRzPyIsCiAgICAgICAgImFjY2VwdGVkQW5zd2VyIjogewogICAgICAgICAgIkB0eXBlIjogIkFuc3dlciIsCiAgICAgICAgICAidGV4dCI6ICJCZWFtIGFuZ2xlIG1lYXN1cmVzIHRoZSBjb25lIHdoZXJlIGxpZ2h0IGludGVuc2l0eSBkcm9wcyB0byA1MCUgb2YgY2VudGVyIGJlYW0gY2FuZGxlcG93ZXIgKENCQ1ApLiBGaWVsZCBhbmdsZSBtZWFzdXJlcyB0aGUgd2lkZXIgY29uZSB3aGVyZSBpbnRlbnNpdHkgZHJvcHMgdG8gMTAlIG9mIENCQ1AuIFRoZSBmaWVsZCBhbmdsZSBpcyBhbHdheXMgbGFyZ2VyLiBBIGx1bWluYWlyZSByYXRlZCBhdCAyNMKwIGJlYW0gYW5nbGUgdHlwaWNhbGx5IGhhcyBhIDM44oCTNDTCsCBmaWVsZCBhbmdsZS4gRm9yIGNvbW1lcmNpYWwgcHJvY3VyZW1lbnQsIGJlYW0gYW5nbGUgaXMgdGhlIHByaW1hcnkgbWV0cmljIGZvciBzcGFjaW5nIGRlY2lzaW9uczsgZmllbGQgYW5nbGUgaXMgcmVsZXZhbnQgZm9yIHVuZGVyc3RhbmRpbmcgc3BpbGwgbGlnaHQgYW5kIHBlcmlwaGVyYWwgaWxsdW1pbmF0aW9uLiBBbHdheXMgY29uZmlybSB3aGljaCBhbmdsZSB5b3VyIHN1cHBsaWVyJ3MgZGF0YXNoZWV0IGlzIHJlZmVyZW5jaW5nIOKAlCBzb21lIEFzaWFuIG1hbnVmYWN0dXJlcnMgcmVwb3J0IGZpZWxkIGFuZ2xlIGFzIGJlYW0gYW5nbGUsIHdoaWNoIGxlYWRzIHRvIHVuZGVyc2l6ZWQgY292ZXJhZ2UgY2FsY3VsYXRpb25zLiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiQHR5cGUiOiAiUXVlc3Rpb24iLAogICAgICAgICJuYW1lIjogIkNhbiBJIHVzZSBtdWx0aXBsZSBuYXJyb3ctYmVhbSBmaXh0dXJlcyBpbnN0ZWFkIG9mIGZld2VyIHdpZGUtYmVhbSBmaXh0dXJlcyBmb3IgdGhlIHNhbWUgc3BhY2U/IiwKICAgICAgICAiYWNjZXB0ZWRBbnN3ZXIiOiB7CiAgICAgICAgICAiQHR5cGUiOiAiQW5zd2VyIiwKICAgICAgICAgICJ0ZXh0IjogIlRlY2huaWNhbGx5IHllcywgYnV0IHdpdGggdHJhZGVvZmZzLiBOYXJyb3ctYmVhbSBmaXh0dXJlcyAoMTDigJMyNcKwKSBwcm9kdWNlIGhpZ2hlciBjZW50ZXItYmVhbSBjYW5kbGVwb3dlciBhbmQgYmV0dGVyIGdsYXJlIGNvbnRyb2wsIG1ha2luZyB0aGVtIGlkZWFsIGZvciB0YXNrIGxpZ2h0aW5nIGFuZCBoaWdoLWNlaWxpbmcgYXBwbGljYXRpb25zIGFib3ZlIDIwIGZ0LiBIb3dldmVyLCB0aGV5IHJlcXVpcmUgdGlnaHRlciBzcGFjaW5nIChTL01IIG9mIDAuNeKAkzAuOCkgbWVhbmluZyAy4oCTNMOXIG1vcmUgZml4dHVyZXMuIFdpZGUtYmVhbSBmaXh0dXJlcyAoNjDigJMxMjDCsCkgcmVkdWNlIGZpeHR1cmUgY291bnQgYnV0IGluY3JlYXNlIGdsYXJlIHJpc2sgYW5kIHJlZHVjZSBjZWlsaW5nIGhlaWdodCBjb250cmFzdC4gVGhlIGVjb25vbWljIGJyZWFrcG9pbnQgaXMgdHlwaWNhbGx5IGFyb3VuZCAxNSBmdCBtb3VudGluZyBoZWlnaHQ6IGJlbG93IDE1IGZ0LCB3aWRlIGJlYW1zICg2MMKwKykgYXJlIGNvc3Qtb3B0aW1hbDsgYWJvdmUgMjAgZnQsIG5hcnJvdyBiZWFtcyAoMjDigJM0MMKwKSB3aXRoIHRpZ2h0ZXIgc3BhY2luZyBkZWxpdmVyIGJldHRlciB1bmlmb3JtaXR5LiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiQHR5cGUiOiAiUXVlc3Rpb24iLAogICAgICAgICJuYW1lIjogIk91ciBMRUQgc3VwcGxpZXIgb2ZmZXJzIHRoZSBzYW1lIGx1bWluYWlyZSB3aXRoIDE1wrAsIDI0wrAsIDM4wrAsIDYwwrAsIGFuZCA5MMKwIGJlYW0gb3B0aW9ucyDigJQgc2FtZSBwcmljZS4gV2hpY2ggc2hvdWxkIHdlIHNwZWMgZm9yIGEgYmlnLWJveCByZXRhaWwgZmxvb3Igd2l0aCAxOCBmdCBjZWlsaW5ncz8iLAogICAgICAgICJhY2NlcHRlZEFuc3dlciI6IHsKICAgICAgICAgICJAdHlwZSI6ICJBbnN3ZXIiLAogICAgICAgICAgInRleHQiOiAiRm9yIGJpZy1ib3ggcmV0YWlsIHdpdGggMTggZnQgY2VpbGluZ3MsIHNwZWNpZnkgdGhlIDYwwrAgYmVhbSBvcHRpb24g4oCUIGhlcmUgaXMgd2h5OiBBdCAxOCBmdCwgYSA2MMKwIGJlYW0gY2FzdHMgYSAyMC44IGZ0IGRpYW1ldGVyIHBvb2wuIFdpdGggUy9NSCBvZiAxLjDigJMxLjIsIHlvdSBjYW4gc3BhY2UgZml4dHVyZXMgYXQgMTjigJMyMiBmdCBpbnRlcnZhbHMsIGFjaGlldmluZyAxNTDigJMzMDAgbHV4IHdpdGggcmVhc29uYWJsZSBmaXh0dXJlIGRlbnNpdHkuIFRoZSAzOMKwIGJlYW0gd291bGQgcmVxdWlyZSAzMCUgbW9yZSBmaXh0dXJlcyB0byBhY2hpZXZlIHRoZSBzYW1lIHVuaWZvcm1pdHkuIFRoZSA5MMKwIGJlYW0gd291bGQgc3ByZWFkIHRvbyB3aWRlLCBwcm9kdWNpbmcgbG93ZXIgZm9vdC1jYW5kbGVzIGF0IHRoZSBmbG9vciBhbmQgdW5ldmVuIGlsbHVtaW5hdGlvbiBuZWFyIHNoZWxmIGVkZ2VzLiBUaGUgNjDCsCBvcHRpb24gaGl0cyB0aGUgc3dlZXQgc3BvdCBvZiBjb3ZlcmFnZSwgdW5pZm9ybWl0eSwgYW5kIGZpeHR1cmUgY29zdC4gT25lIGV4Y2VwdGlvbjogaWYgc2hlbGYgaGVpZ2h0IGV4Y2VlZHMgMTIgZnQsIHN1cHBsZW1lbnQgd2l0aCAyNMKwIG5hcnJvdyBmbG9vZHMgaW4gYWlzbGVzIHRvIHByZXZlbnQgc2hhZG93aW5nLiIKICAgICAgICB9CiAgICAgIH0KICAgIF0KICB9Cl0KPC9zY3JpcHQ+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz5QdWJsaXNoZWQ6PC9zdHJvbmc+IEp1bmUgMjgsIDIwMjYgfCA8c3Ryb25nPkF1dGhvcjo8L3N0cm9uZz4gU2ltb24gQ2hlbiwgU2VuaW9yIExFRCBTdXBwbHkgQ2hhaW4gRXhwZXJ0IHwgPHN0cm9uZz5DYXRlZ29yeTo8L3N0cm9uZz4gTEVEIFRlY2hub2xvZ3ksIEJ1eWluZyBHdWlkZTwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjJ9IC0tPgo8aDI+UXVpY2sgQW5zd2VyPC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPkxFRCBiZWFtIGFuZ2xlIGRldGVybWluZXMgdGhlIHNwcmVhZCBvZiBsaWdodCBmcm9tIGEgbHVtaW5haXJlIGFuZCBkaXJlY3RseSBhZmZlY3RzIGZpeHR1cmUgcXVhbnRpdHksIHNwYWNpbmcsIGFuZCBpbGx1bWluYW5jZSB1bmlmb3JtaXR5IGluIGNvbW1lcmNpYWwgcHJvamVjdHMuIEZvciBCMkIgcHJvY3VyZW1lbnQsIHRoZSBmb3VyIHByYWN0aWNhbCByYW5nZXMgYXJlOiBOYXJyb3cgU3BvdCAoMTDigJMyMMKwKSBmb3IgYWNjZW50IGFuZCBoaWdoLWNlaWxpbmcgYXBwbGljYXRpb25zOyBOYXJyb3cgRmxvb2QgKDI14oCTMzXCsCkgZm9yIHRhc2sgbGlnaHRpbmcgYW5kIHJldGFpbCBkaXNwbGF5czsgV2lkZSBGbG9vZCAoNDDigJM2MMKwKSBmb3IgZ2VuZXJhbCBhcmVhIGxpZ2h0aW5nIGluIG9mZmljZXMgYW5kIHJldGFpbCBmbG9vcnM7IGFuZCBWZXJ5IFdpZGUgKDYw4oCTMTIwwrApIGZvciBvcGVuLXBsYW4gc3BhY2VzIGFuZCBsb3ctY2VpbGluZyBlbnZpcm9ubWVudHMuPC9zdHJvbmc+IFRoZSBjb3JyZWN0IGJlYW0gYW5nbGUgcmVkdWNlcyBmaXh0dXJlIGNvdW50IGJ5IDIw4oCTNDAlIHdoaWxlIG1haW50YWluaW5nIGxpZ2h0IHVuaWZvcm1pdHkg4oCUIGEgcHJvY3VyZW1lbnQgZGVjaXNpb24gbWFkZSBhdCB0aGUgc3BlYyBzdGFnZSB0aGF0IGRldGVybWluZXMgcHJvamVjdCBjb3N0IGFuZCBsaWdodGluZyBwZXJmb3JtYW5jZS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjoyfSAtLT4KPGgyPlVuZGVyc3RhbmRpbmcgQmVhbSBBbmdsZTogV2hhdCBJdCBBY3R1YWxseSBNZWFzdXJlczwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+QmVhbSBhbmdsZSBpcyBkZWZpbmVkIGFzIHRoZSBhbmdsZSBiZXR3ZWVuIHR3byBwb2ludHMgb24gdGhlIGxpZ2h0IGRpc3RyaWJ1dGlvbiBjdXJ2ZSB3aGVyZSB0aGUgbHVtaW5vdXMgaW50ZW5zaXR5IGRyb3BzIHRvIDxzdHJvbmc+NTAlIG9mIHRoZSBjZW50ZXIgYmVhbSBjYW5kbGVwb3dlciAoQ0JDUCk8L3N0cm9uZz4uIEluIHByYWN0aWNhbCB0ZXJtcywgaWYgYSAxMDBXIExFRCBoaWdoIGJheSBoYXMgYSBDQkNQIG9mIDEyLDAwMCBjYW5kZWxhcyBhdCAwwrAsIHRoZSBiZWFtIGFuZ2xlIGJvdW5kYXJ5IGlzIHdoZXJlIGludGVuc2l0eSBmYWxscyB0byA2LDAwMCBjYW5kZWxhcy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIGlzIGRpc3RpbmN0IGZyb20gPHN0cm9uZz5maWVsZCBhbmdsZTwvc3Ryb25nPiwgd2hpY2ggbWVhc3VyZXMgdGhlIHdpZGVyIGNvbmUgd2hlcmUgaW50ZW5zaXR5IGRyb3BzIHRvIDEwJSBvZiBDQkNQLiBBIGx1bWluYWlyZSB3aXRoIGEgMjTCsCBiZWFtIGFuZ2xlIHR5cGljYWxseSBoYXMgYSAzOOKAkzQ0wrAgZmllbGQgYW5nbGUuIEZvciBjb21tZXJjaWFsIHByb2N1cmVtZW50LCBiZWFtIGFuZ2xlIGdvdmVybnMgZml4dHVyZSBzcGFjaW5nIGRlY2lzaW9uczsgZmllbGQgYW5nbGUgaXMgcmVsZXZhbnQgb25seSBmb3IgdW5kZXJzdGFuZGluZyBwZXJpcGhlcmFsIHNwaWxsIGxpZ2h0LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoZSBwaHlzaWNhbCBiZWFtIGRpYW1ldGVyIGF0IGFueSBnaXZlbiBkaXN0YW5jZSBmb2xsb3dzIGEgc2ltcGxlIHRyaWdvbm9tZXRyaWMgcmVsYXRpb25zaGlwOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxzdHJvbmc+QmVhbSBEaWFtZXRlciA9IDIgw5cgRGlzdGFuY2Ugw5cgdGFuKEJlYW0gQW5nbGUgLyAyKTwvc3Ryb25nPjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkF0IDEwIGZ0LCBhIDYwwrAgYmVhbSBwcm9kdWNlcyBhIDExLjUgZnQgZGlhbWV0ZXIgcG9vbC4gQXQgMzAgZnQsIHRoZSBzYW1lIGJlYW0gcHJvZHVjZXMgYSAzNC42IGZ0IGRpYW1ldGVyLiBUaGlzIHNjYWxpbmcgaXMgd2h5IGhpZ2gtY2VpbGluZyB3YXJlaG91c2VzIGRlbWFuZCBuYXJyb3dlciBiZWFtcyB0aGFuIGxvdy1jZWlsaW5nIG9mZmljZXMg4oCUIHdpdGhvdXQgbmFycm93aW5nIHRoZSBiZWFtLCB0aGUgbGlnaHQgZGVuc2l0eSAoZm9vdC1jYW5kbGVzIHBlciBzcXVhcmUgZm9vdCkgZHJvcHMgYmVsb3cgdXNhYmxlIHRocmVzaG9sZHMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6Mn0gLS0+CjxoMj5CZWFtIEFuZ2xlIFJhbmdlcyBhbmQgQjJCIEFwcGxpY2F0aW9uczwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnRhYmxlIC0tPgo8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay10YWJsZSI+PHRhYmxlPjx0aGVhZD48dHI+PHRoPkJlYW0gQW5nbGUgUmFuZ2U8L3RoPjx0aD5ORU1BIFR5cGU8L3RoPjx0aD5CZWFtIERlc2NyaXB0aW9uPC90aD48dGg+VHlwaWNhbCBBcHBsaWNhdGlvbnM8L3RoPjx0aD5TL01IIFJhdGlvPC90aD48L3RyPjwvdGhlYWQ+PHRib2R5Pjx0cj48dGQ+MTDCsCDigJMgMTjCsDwvdGQ+PHRkPlR5cGUgMTwvdGQ+PHRkPlZlcnkgTmFycm93IFNwb3Q8L3RkPjx0ZD5NdXNldW0gYXJ0aWZhY3QgbGlnaHRpbmcsIGFyY2hpdGVjdHVyYWwgY29sdW1uIGFjY2VudCwgaGlnaC1jZWlsaW5nICg+NDAgZnQpIGF0cml1bSBwaW5wb2ludCwgamV3ZWxyeSBkaXNwbGF5IGNhc2U8L3RkPjx0ZD4wLjMg4oCTIDAuNTwvdGQ+PC90cj48dHI+PHRkPjE4wrAg4oCTIDI5wrA8L3RkPjx0ZD5UeXBlIDI8L3RkPjx0ZD5OYXJyb3cgU3BvdDwvdGQ+PHRkPlJldGFpbCB3aW5kb3cgZGlzcGxheSwgaG90ZWwgbG9iYnkgZm9jYWwgcG9pbnRzLCBhcnQgZ2FsbGVyeSB0cmFjayBsaWdodGluZywgd2FyZWhvdXNlIGhpZ2gtYmF5IGFpc2xlcyBhYm92ZSAzMCBmdDwvdGQ+PHRkPjAuNSDigJMgMC43PC90ZD48L3RyPjx0cj48dGQ+MjnCsCDigJMgNDbCsDwvdGQ+PHRkPlR5cGUgMzwvdGQ+PHRkPk1lZGl1bSBGbG9vZDwvdGQ+PHRkPlJldGFpbCBzaGVsZiBsaWdodGluZywgcmVzdGF1cmFudCB0YWJsZSBsaWdodGluZywgY29uZmVyZW5jZSByb29tIGRvd25saWdodGluZywgd2FyZWhvdXNlIGFpc2xlcyAoMjDigJMzMCBmdCk8L3RkPjx0ZD4wLjcg4oCTIDEuMDwvdGQ+PC90cj48dHI+PHRkPjQ2wrAg4oCTIDcwwrA8L3RkPjx0ZD5UeXBlIDQ8L3RkPjx0ZD5XaWRlIEZsb29kPC90ZD48dGQ+T3Blbi1wbGFuIG9mZmljZSwgcmV0YWlsIHNhbGVzIGZsb29yLCBzdXBlcm1hcmtldCBnZW5lcmFsIGxpZ2h0aW5nLCBob3NwaXRhbCBjb3JyaWRvciwgY2xhc3Nyb29tPC90ZD48dGQ+MS4wIOKAkyAxLjM8L3RkPjwvdHI+PHRyPjx0ZD43MMKwIOKAkyAxMDDCsDwvdGQ+PHRkPlR5cGUgNTwvdGQ+PHRkPlZlcnkgV2lkZSBGbG9vZDwvdGQ+PHRkPlBhcmtpbmcgZ2FyYWdlLCBiaWctYm94IHJldGFpbCwgZ3ltbmFzaXVtLCB3YXJlaG91c2UgZ2VuZXJhbCBhcmVhLCBhaXJwb3J0IGNvbmNvdXJzZTwvdGQ+PHRkPjEuMyDigJMgMS41PC90ZD48L3RyPjx0cj48dGQ+MTAwwrAg4oCTIDEyMMKwPC90ZD48dGQ+VHlwZSA2PC90ZD48dGQ+VWx0cmEgV2lkZTwvdGQ+PHRkPkxvdy1jZWlsaW5nIG9mZmljZXMgKDwxMCBmdCksIHJlc2lkZW50aWFsIGNvbW1vbiBhcmVhcywgY28td29ya2luZyBzcGFjZXMsIGNlaWxpbmcgd2FzaCBsaWdodGluZzwvdGQ+PHRkPjEuNSDigJMgMS43PC90ZD48L3RyPjx0cj48dGQ+MTIwwrArPC90ZD48dGQ+VHlwZSA3PC90ZD48dGQ+V2FsbCBXYXNoIC8gQXN5bW1ldHJpYzwvdGQ+PHRkPlBlcmltZXRlciB3YWxsIHdhc2hpbmcsIGZhY2FkZSBsaWdodGluZywgdmVydGljYWwgc3VyZmFjZSBpbGx1bWluYXRpb24sIHNpZ25hZ2UgbGlnaHRpbmc8L3RkPjx0ZD5OL0EgKGFzeW1tZXRyaWMpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2ZpZ3VyZT4KPCEtLSAvd3A6dGFibGUgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PGVtPk5FTUEgYmVhbSBjbGFzc2lmaWNhdGlvbiBmb2xsb3dzIEFOU0kvSUVTTkEgc3RhbmRhcmRzLiBUaGUgUy9NSCAoc3BhY2luZy10by1tb3VudGluZy1oZWlnaHQpIHJhdGlvIGluZGljYXRlcyB0aGUgbWF4aW11bSBjZW50ZXItdG8tY2VudGVyIGZpeHR1cmUgc3BhY2luZyBhcyBhIG11bHRpcGxlIG9mIG1vdW50aW5nIGhlaWdodCB0byBhY2hpZXZlIGFjY2VwdGFibGUgdW5pZm9ybWl0eS4gQWx3YXlzIHJlcXVlc3QgdGhlIGNvbXBsZXRlIElFUyBwaG90b21ldHJpYyBmaWxlIGZyb20geW91ciBzdXBwbGllciB0byB2ZXJpZnkgdGhlc2UgdmFsdWVzIGluIGEgbGlnaHRpbmcgc2ltdWxhdGlvbi48L2VtPjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjJ9IC0tPgo8aDI+TkVNQSBCZWFtIENsYXNzaWZpY2F0aW9uIFN5c3RlbTwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhlIE5hdGlvbmFsIEVsZWN0cmljYWwgTWFudWZhY3R1cmVycyBBc3NvY2lhdGlvbiAoTkVNQSkgY2xhc3NpZmllcyBsdW1pbmFpcmUgYmVhbSBwYXR0ZXJucyBpbnRvIHNldmVuIHR5cGVzIGJhc2VkIG9uIHRoZSBhbmdsZSB3aGVyZSBpbnRlbnNpdHkgZmFsbHMgdG8gMTAlIG9mIG1heGltdW0gKGZpZWxkIGFuZ2xlLCBub3QgYmVhbSBhbmdsZSkuIFRoaXMgaXMgdGhlIHN0YW5kYXJkIHJlZmVyZW5jZSBzeXN0ZW0gdXNlZCBpbiBOb3J0aCBBbWVyaWNhbiBjb21tZXJjaWFsIGxpZ2h0aW5nIHNwZWNpZmljYXRpb25zLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxzdHJvbmc+S2V5IHByb2N1cmVtZW50IG5vdGU6PC9zdHJvbmc+IE5FTUEgVHlwZSBpcyBiYXNlZCBvbiBmaWVsZCBhbmdsZSAoMTAlIG9mIG1heCksIHdoaWxlIGJlYW0gYW5nbGUgKDUwJSBvZiBtYXgpIGlzIHRoZSBtZXRyaWMgdXNlZCBmb3Igc3BhY2luZyBjYWxjdWxhdGlvbnMuIEEgTkVNQSBUeXBlIDQgbHVtaW5haXJlIGhhcyBhIGZpZWxkIGFuZ2xlIG9mIDQ24oCTNzDCsCwgd2hpY2ggY29ycmVzcG9uZHMgdG8gYSBiZWFtIGFuZ2xlIG9mIHJvdWdobHkgMzDigJM1MMKwLiBXaGVuIHJlYWRpbmcgYSBzcGVjIHNoZWV0LCBjb25maXJtIHdoZXRoZXIgImJlYW0gYW5nbGUiIHJlZmVycyB0byA1MCUgaW50ZW5zaXR5IG9yIDEwJSBpbnRlbnNpdHkg4oCUIHRoaXMgc2luZ2xlIGNsYXJpZmljYXRpb24gcHJldmVudHMgODAlIG9mIEIyQiBzcGVjaWZpY2F0aW9uIGVycm9ycy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Gb3IgaW50ZXJuYXRpb25hbCBwcm9jdXJlbWVudCwgYm90aCBORU1BIChOb3J0aCBBbWVyaWNhKSBhbmQgQ0lFIChJbnRlcm5hdGlvbmFsKSBjbGFzc2lmaWNhdGlvbiBzeXN0ZW1zIG1heSBhcHBlYXIgb24gZGF0YXNoZWV0cy4gVGhlIENJRSBzeXN0ZW0gdXNlcyBkaXJlY3QgZGVncmVlIG1lYXN1cmVtZW50IHJhdGhlciB0aGFuIG51bWJlcmVkIHR5cGVzLiBXaGVuIGNvbXBhcmluZyBsdW1pbmFpcmVzIGZyb20gQXNpYW4gbWFudWZhY3R1cmVycywgYWx3YXlzIHRyYW5zbGF0ZSB0aGUgc3RhdGVkIGJlYW0gYW5nbGUgdG8gaXRzIE5FTUEgZXF1aXZhbGVudCB0byBzdGFuZGFyZGl6ZSB5b3VyIGV2YWx1YXRpb24uPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6Mn0gLS0+CjxoMj5TcGFjaW5nLXRvLU1vdW50aW5nLUhlaWdodCBSYXRpbzogVGhlIENyaXRpY2FsIFByb2N1cmVtZW50IE1ldHJpYzwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhlIHNwYWNpbmctdG8tbW91bnRpbmctaGVpZ2h0IHJhdGlvIChTL01IKSBpcyB0aGUgc2luZ2xlIG1vc3QgaW1wb3J0YW50IHBhcmFtZXRlciBmb3IgZGV0ZXJtaW5pbmcgaG93IG1hbnkgZml4dHVyZXMgYSBjb21tZXJjaWFsIHNwYWNlIHJlcXVpcmVzLiBJdCBpcyBjYWxjdWxhdGVkIGJ5IGRpdmlkaW5nIHRoZSBtYXhpbXVtIGFjY2VwdGFibGUgY2VudGVyLXRvLWNlbnRlciBmaXh0dXJlIHNwYWNpbmcgYnkgdGhlIG1vdW50aW5nIGhlaWdodCBhYm92ZSB0aGUgd29yayBwbGFuZS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPlByYWN0aWNhbCBmb3JtdWxhIGZvciBmaXh0dXJlIGNvdW50Ojwvc3Ryb25nPjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk51bWJlciBvZiBGaXh0dXJlcyA9IChGbG9vciBBcmVhIGluIHNxIGZ0KSAvIChTL01IIMOXIE1vdW50aW5nIEhlaWdodCnCsjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxzdHJvbmc+RXhhbXBsZSBjYWxjdWxhdGlvbiDigJQgMTAsMDAwIHNxIGZ0IG9wZW4tcGxhbiBvZmZpY2UsIDEyIGZ0IGNlaWxpbmcsIDYwwrAgYmVhbSAoUy9NSCA9IDEuMik6PC9zdHJvbmc+PGJyPkZpeHR1cmUgc3BhY2luZyA9IDEuMiDDlyAxMiBmdCA9IDE0LjQgZnQ8YnI+Q292ZXJhZ2UgcGVyIGZpeHR1cmUgPSAxNC40wrIgPSAyMDcuNCBzcSBmdDxicj5GaXh0dXJlcyBuZWVkZWQgPSAxMCwwMDAgLyAyMDcuNCA9IDQ4IGZpeHR1cmVzPGJyPkFkZCAxNSUgZWRnZSBmYWN0b3IgPSA1NSBmaXh0dXJlcyB0b3RhbDwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNvbXBhcmUgdGhpcyB0byBhIDM4wrAgYmVhbSBvcHRpb24gKFMvTUggPSAwLjgpOiBzcGFjaW5nID0gOS42IGZ0LCBjb3ZlcmFnZSA9IDkyLjIgc3EgZnQsIHJlcXVpcmluZyAxMDggZml4dHVyZXMgYmFzZWxpbmUgKyAxNSUgPSAxMjQgZml4dHVyZXMuIFRoZSB3aWRlciBiZWFtIHNhdmVzIDY5IGZpeHR1cmVzIOKAlCBhIHByb2N1cmVtZW50IGRlY2lzaW9uIHRoYXQgZGlyZWN0bHkgaW1wYWN0cyBjYXBpdGFsIGV4cGVuZGl0dXJlLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjJ9IC0tPgo8aDI+SG93IEJlYW0gQW5nbGUgSW50ZXJhY3RzIHdpdGggTHVtZW5zIE91dHB1dDwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+QSBjb21tb24gcHJvY3VyZW1lbnQgbWlzY29uY2VwdGlvbiBpcyB0aGF0IGhpZ2hlciBsdW1lbnMgYWx3YXlzIG1lYW4gYnJpZ2h0ZXIgc3BhY2VzLiBJbiByZWFsaXR5LCBsdW1lbnMgZGVzY3JpYmUgdG90YWwgbGlnaHQgb3V0cHV0LCB3aGlsZSBiZWFtIGFuZ2xlIGRldGVybWluZXMgPGVtPndoZXJlPC9lbT4gdGhvc2UgbHVtZW5zIGxhbmQuIFR3byAxMCwwMDAtbHVtZW4gbHVtaW5haXJlcyB3aXRoIGRpZmZlcmVudCBiZWFtIGFuZ2xlcyBwcm9kdWNlIGRyYW1hdGljYWxseSBkaWZmZXJlbnQgbGlnaHRpbmcgb3V0Y29tZXM6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnRhYmxlIC0tPgo8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay10YWJsZSI+PHRhYmxlPjx0aGVhZD48dHI+PHRoPkx1bWVuczwvdGg+PHRoPkJlYW0gQW5nbGU8L3RoPjx0aD5Nb3VudGluZyBIZWlnaHQ8L3RoPjx0aD5CZWFtIERpYW1ldGVyIGF0IEZsb29yPC90aD48dGg+QXZnIEx1eCBhdCBGbG9vcjwvdGg+PHRoPkFwcGxpY2F0aW9uIFN1aXRhYmlsaXR5PC90aD48L3RyPjwvdGhlYWQ+PHRib2R5Pjx0cj48dGQ+MTAsMDAwIGxtPC90ZD48dGQ+MjXCsDwvdGQ+PHRkPjIwIGZ0PC90ZD48dGQ+OC45IGZ0PC90ZD48dGQ+MSwyNjAgbHV4PC90ZD48dGQ+SGlnaC1iYXkgdGFzayBsaWdodGluZyDigJQgdG9vIGludGVuc2UgZm9yIGdlbmVyYWwgdXNlPC90ZD48L3RyPjx0cj48dGQ+MTAsMDAwIGxtPC90ZD48dGQ+NjDCsDwvdGQ+PHRkPjIwIGZ0PC90ZD48dGQ+MjMuMSBmdDwvdGQ+PHRkPjE4OCBsdXg8L3RkPjx0ZD5HZW5lcmFsIHdhcmVob3VzZSBhaXNsZSDigJQgaWRlYWw8L3RkPjwvdHI+PHRyPjx0ZD4xMCwwMDAgbG08L3RkPjx0ZD45MMKwPC90ZD48dGQ+MjAgZnQ8L3RkPjx0ZD40MC4wIGZ0PC90ZD48dGQ+NjMgbHV4PC90ZD48dGQ+VG9vIGRpbSBmb3IgbW9zdCBjb21tZXJjaWFsIGFwcGxpY2F0aW9ucyBhdCB0aGlzIGhlaWdodDwvdGQ+PC90cj48dHI+PHRkPjEwLDAwMCBsbTwvdGQ+PHRkPjYwwrA8L3RkPjx0ZD4xMiBmdDwvdGQ+PHRkPjEzLjkgZnQ8L3RkPjx0ZD41MjAgbHV4PC90ZD48dGQ+T2ZmaWNlIG9wZW4tcGxhbiDigJQgd2l0aGluIHJlY29tbWVuZGVkIDMwMOKAkzUwMCBsdXggcmFuZ2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZmlndXJlPgo8IS0tIC93cDp0YWJsZSAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPlRoZSBCMkIgdGFrZWF3YXk6PC9zdHJvbmc+IHdoZW4gZXZhbHVhdGluZyBsdW1pbmFpcmUgc3BlY2lmaWNhdGlvbnMsIGFzc2VzcyBsdW1lbnMgYW5kIGJlYW0gYW5nbGUgYXMgYSBwYWlyZWQgdW5pdC4gUmVxdWVzdCB0aGUgSUVTIGZpbGUgYW5kIGNhbGN1bGF0ZSB0aGUgYWN0dWFsIGx1eCBsZXZlbCBhdCB0aGUgd29yayBwbGFuZSBoZWlnaHQgYmVmb3JlIGNvbXBhcmluZyBzdXBwbGllciBxdW90ZXMuIEEgMTIsMDAwLWx1bWVuIGx1bWluYWlyZSB3aXRoIGEgOTDCsCBiZWFtIG1heSBkZWxpdmVyIGxlc3MgdXNhYmxlIGxpZ2h0IHRoYW4gYW4gOCwwMDAtbHVtZW4gbHVtaW5haXJlIHdpdGggYSA0MMKwIGJlYW0sIGRlcGVuZGluZyBvbiBtb3VudGluZyBoZWlnaHQuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6Mn0gLS0+CjxoMj5BcHBsaWNhdGlvbi1TcGVjaWZpYyBCZWFtIEFuZ2xlIFJlY29tbWVuZGF0aW9uczwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMz5XYXJlaG91c2UgYW5kIEluZHVzdHJpYWwgKDIw4oCTNDAgZnQgY2VpbGluZ3MpPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5IaWdoLWJheSBhaXNsZXM6IDI14oCTMzjCsCBiZWFtIGFuZ2xlLiBUaGUgdGlnaHQgYmVhbSBwdW5jaGVzIGxpZ2h0IGRvd24gbmFycm93IGFpc2xlcyBiZXR3ZWVuIHRhbGwgcmFja2luZywgbWluaW1pemluZyBzaGFkb3dpbmcgZnJvbSBzaGVsdmluZy4gUy9NSCBvZiAwLjfigJMxLjAuIEZvciBvcGVuIHdhcmVob3VzZSBhcmVhcyB3aXRob3V0IHJhY2tpbmcsIHdpZGVuIHRvIDYwwrAgdG8gcmVkdWNlIGZpeHR1cmUgY291bnQgd2hpbGUgbWFpbnRhaW5pbmcgMTUw4oCTMjAwIGx1eCBhdCBmbG9vciBsZXZlbC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzPkJpZy1Cb3ggUmV0YWlsICgxNeKAkzI1IGZ0IGNlaWxpbmdzKTwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+R2VuZXJhbCBzYWxlcyBmbG9vcjogNjDCsCBiZWFtIGFuZ2xlIGFzIHRoZSBkZWZhdWx0LiBTdXBwbGVtZW50IHNoZWx2aW5nIGFpc2xlcyB3aXRoIDI04oCTMzjCsCBuYXJyb3cgZmxvb2RzIHRvIHByZXZlbnQgc2hhZG93aW5nIGZyb20gc2hlbGYgb3ZlcmhhbmdzLiBQZXJpbWV0ZXIgd2FsbCBkaXNwbGF5cyBiZW5lZml0IGZyb20gYXN5bW1ldHJpYyBUeXBlIDcgZGlzdHJpYnV0aW9uICh3YWxsIHdhc2gpIHRvIGlsbHVtaW5hdGUgdmVydGljYWwgbWVyY2hhbmRpc2UuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMz5PZmZpY2UgT3Blbi1QbGFuICg44oCTMTIgZnQgY2VpbGluZ3MpPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD42MOKAkzkwwrAgYmVhbSBhbmdsZSB3aXRoIFMvTUggb2YgMS4w4oCTMS41LiBBdCB0aGVzZSBjZWlsaW5nIGhlaWdodHMsIHdpZGVyIGJlYW1zIGFyZSBjb3N0LW9wdGltYWwgYmVjYXVzZSB0aGUgc2hvcnQgdGhyb3cgZGlzdGFuY2UgbWFpbnRhaW5zIGFkZXF1YXRlIGx1eCBsZXZlbHMgKDMwMOKAkzUwMCBsdXggYXQgZGVzayBoZWlnaHQpIHdpdGhvdXQgcmVxdWlyaW5nIGV4Y2Vzc2l2ZSBmaXh0dXJlIGRlbnNpdHkuIFVzZSAyNOKAkzM4wrAgbmFycm93IGZsb29kcyBvbmx5IGZvciBleGVjdXRpdmUgb2ZmaWNlcyBvciBjb25mZXJlbmNlIHJvb21zIHdoZXJlIGxpZ2h0aW5nIHpvbmVzIG5lZWQgc2VwYXJhdGlvbi48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzPkhvc3BpdGFsaXR5IGFuZCBSZXRhaWwgRGlzcGxheSAoMTDigJMxOCBmdCBjZWlsaW5ncyk8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk1peCBiZWFtIGFuZ2xlcyBkZWxpYmVyYXRlbHk6IDE14oCTMjXCsCBuYXJyb3cgc3BvdHMgZm9yIGZvY2FsIGRpc3BsYXlzIGFuZCBhcnR3b3JrOyAzOOKAkzYwwrAgZmxvb2RzIGZvciBnZW5lcmFsIGFtYmllbnQgbGlnaHRpbmcuIFRoZSBjb250cmFzdCByYXRpbyBiZXR3ZWVuIGFjY2VudCBhbmQgYW1iaWVudCB6b25lcyBjcmVhdGVzIHZpc3VhbCBoaWVyYXJjaHkg4oCUIGEgdGVjaG5pcXVlIHRoYXQgZGlyZWN0bHkgaW1wYWN0cyByZXRhaWwgc2FsZXMgcGVyIHNxdWFyZSBmb290IGFuZCBob3RlbCBndWVzdCBzYXRpc2ZhY3Rpb24gc2NvcmVzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjJ9IC0tPgo8aDI+Q29tbW9uIEJlYW0gQW5nbGUgU3BlY2lmaWNhdGlvbiBNaXN0YWtlczwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz5NaXN0YWtlIDE6IFNwZWNpZnlpbmcgYmVhbSBhbmdsZSB3aXRob3V0IG1vdW50aW5nIGhlaWdodCBjb250ZXh0Ljwvc3Ryb25nPiBBIDQwwrAgYmVhbSBhdCAxMCBmdCBhbmQgYSA0MMKwIGJlYW0gYXQgMzAgZnQgcHJvZHVjZSBlbnRpcmVseSBkaWZmZXJlbnQgaWxsdW1pbmF0aW9uIHBhdHRlcm5zLiBBbHdheXMgY2FsY3VsYXRlIHRoZSBiZWFtIGRpYW1ldGVyIGF0IHRoZSB0YXJnZXQgd29yayBwbGFuZSBiZWZvcmUgZmluYWxpemluZyBzcGVjIHNoZWV0cy4gU3VwcGxpZXJzIHF1b3RlIGJlYW0gYW5nbGVzIGdlbmVyaWNhbGx5IOKAlCB0aGUgcHJvY3VyZW1lbnQgdGVhbSBtdXN0IHRyYW5zbGF0ZSB0aG9zZSBhbmdsZXMgdG8gdGhlIHByb2plY3QncyBzcGVjaWZpYyBjZWlsaW5nIGhlaWdodC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPk1pc3Rha2UgMjogQ29uZnVzaW5nIGJlYW0gYW5nbGUgKDUwJSBpbnRlbnNpdHkpIHdpdGggZmllbGQgYW5nbGUgKDEwJSBpbnRlbnNpdHkpLjwvc3Ryb25nPiBTb21lIEFzaWFuIG1hbnVmYWN0dXJlcnMgcmVwb3J0IGZpZWxkIGFuZ2xlIGFzICJiZWFtIGFuZ2xlIiBvbiBkYXRhc2hlZXRzLCBpbmZsYXRpbmcgdGhlIHN0YXRlZCBhbmdsZSBieSA1MOKAkzgwJS4gQSBsdW1pbmFpcmUgc29sZCBhcyAiNjDCsCBiZWFtIGFuZ2xlIiBtYXkgaGF2ZSBhIHRydWUgYmVhbSBhbmdsZSBvZiBvbmx5IDM1wrAgaWYgdGhlIHN1cHBsaWVyIGlzIHJlZmVyZW5jaW5nIGZpZWxkIGFuZ2xlLiBBbHdheXMgcmVxdWVzdCB0aGUgcGhvdG9tZXRyaWMgdGVzdCByZXBvcnQgKElFUyBMTS03OSkgYW5kIGNoZWNrIHdoaWNoIGludGVuc2l0eSB0aHJlc2hvbGQgaXMgdXNlZC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPk1pc3Rha2UgMzogVXNpbmcgdGhlIHNhbWUgYmVhbSBhbmdsZSB0aHJvdWdob3V0IGFuIGVudGlyZSBmYWNpbGl0eS48L3N0cm9uZz4gQSB3YXJlaG91c2Ugd2l0aCAzNSBmdCBjZWlsaW5ncyBuZWVkcyBkaWZmZXJlbnQgYmVhbSBhbmdsZXMgZm9yIGFpc2xlcyAoMjXCsCksIG9wZW4gYXJlYXMgKDYwwrApLCBhbmQgbG9hZGluZyBkb2NrcyAoOTDCsCkuIFN0YW5kYXJkaXppbmcgb24gYSBzaW5nbGUgYmVhbSBhbmdsZSBhY3Jvc3MgYWxsIHpvbmVzIGVpdGhlciBvdmVyLWxpZ2h0cyBzb21lIGFyZWFzIG9yIHVuZGVyLWxpZ2h0cyBvdGhlcnMg4oCUIGJvdGggY29uZGl0aW9ucyB0cmlnZ2VyIG9jY3VwYW50IGNvbXBsYWludHMgYW5kIHJldHJvZml0dGluZyBjb3N0cy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPk1pc3Rha2UgNDogSWdub3JpbmcgdGhlIHNwYWNpbmcgY3JpdGVyaW9uIG9uIHRoZSBwaG90b21ldHJpYyByZXBvcnQuPC9zdHJvbmc+IEV2ZXJ5IElFUyBmaWxlIGNvbnRhaW5zIHNwYWNpbmctdG8tbW91bnRpbmctaGVpZ2h0IHJhdGlvcyBmb3IgYm90aCBwYXJhbGxlbCBhbmQgcGVycGVuZGljdWxhciBkaXJlY3Rpb25zLiBJZ25vcmluZyB0aGVzZSB2YWx1ZXMgYW5kIHVzaW5nIGdlbmVyaWMgc3BhY2luZyBydWxlcyBsZWFkcyB0byBsaWdodCBnYXBzIChkYXJrIHNwb3RzKSBvciBleGNlc3NpdmUgb3ZlcmxhcCAoZW5lcmd5IHdhc3RlKS4gVGhlIElFUyBmaWxlJ3Mgc3BhY2luZyBjcml0ZXJpb24gb3ZlcnJpZGVzIGFueSBydWxlLW9mLXRodW1iLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxzdHJvbmc+TWlzdGFrZSA1OiBTZWxlY3RpbmcgYmVhbSBhbmdsZSBwdXJlbHkgb24gZml4dHVyZSBjb3N0IHdpdGhvdXQgY2FsY3VsYXRpbmcgdG90YWwgaW5zdGFsbGVkIGNvc3QuPC9zdHJvbmc+IEEgY2hlYXBlciBuYXJyb3ctYmVhbSBmaXh0dXJlIHRoYXQgcmVxdWlyZXMgMTIwIHVuaXRzIHRvIGNvdmVyIGEgc3BhY2UgaXMgbW9yZSBleHBlbnNpdmUgaW4gdG90YWwgaW5zdGFsbGVkIGNvc3QgdGhhbiBhIG1vZGVyYXRlbHktcHJpY2VkIHdpZGUtYmVhbSBmaXh0dXJlIHRoYXQgY292ZXJzIHRoZSBzYW1lIHNwYWNlIHdpdGggNTUgdW5pdHMuIFRvdGFsIGNvc3Qgb2Ygb3duZXJzaGlwIGluY2x1ZGVzIGZpeHR1cmUgY29zdCwgaW5zdGFsbGF0aW9uIGxhYm9yLCB3aXJpbmcsIGNvbnRyb2xzLCBhbmQgZW5lcmd5IGNvbnN1bXB0aW9uIOKAlCBub3QganVzdCB0aGUgcGVyLXVuaXQgcHJpY2UuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6Mn0gLS0+CjxoMj5Ib3cgdG8gU3BlY2lmeSBCZWFtIEFuZ2xlIGluIEIyQiBQcm9jdXJlbWVudCBEb2N1bWVudHM8L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPldoZW4gaXNzdWluZyBSRlFzIG9yIHRlbmRlciBkb2N1bWVudHMsIGluY2x1ZGUgYmVhbSBhbmdsZSByZXF1aXJlbWVudHMgZXhwbGljaXRseSBpbiB0aGUgdGVjaG5pY2FsIHNwZWNpZmljYXRpb24gc2VjdGlvbiByYXRoZXIgdGhhbiBhc3N1bWluZyB0aGUgc3VwcGxpZXIgd2lsbCBzZWxlY3QgYXBwcm9wcmlhdGVseS4gQSBjbGVhciBzcGVjaWZpY2F0aW9uIGF2b2lkcyBwb3N0LWluc3RhbGxhdGlvbiBkaXNwdXRlczo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48bGk+PHN0cm9uZz5CZWFtIEFuZ2xlIChGV0hNIGF0IDUwJSBpbnRlbnNpdHkpOjwvc3Ryb25nPiA2MMKwIMKxIDXCsCAocGVyIElFUyBMTS03OSB0ZXN0IHJlcG9ydCk8L2xpPjxsaT48c3Ryb25nPkZpZWxkIEFuZ2xlIChhdCAxMCUgaW50ZW5zaXR5KTo8L3N0cm9uZz4gOTDCsCDCsSA1wrA8L2xpPjxsaT48c3Ryb25nPlNwYWNpbmcgQ3JpdGVyaW9uIChTL01IKTo8L3N0cm9uZz4g4omlIDEuMiBwYXJhbGxlbCwg4omlIDEuMCBwZXJwZW5kaWN1bGFyPC9saT48bGk+PHN0cm9uZz5Nb3VudGluZyBIZWlnaHQgRGVzaWduIFRhcmdldDo8L3N0cm9uZz4gMTLigJMxNSBmdCBhYm92ZSBmaW5pc2hlZCBmbG9vcjwvbGk+PGxpPjxzdHJvbmc+VGFyZ2V0IElsbHVtaW5hbmNlIGF0IFdvcmsgUGxhbmU6PC9zdHJvbmc+IDM1MCBsdXggYXZlcmFnZSwgMC42IG1pbmltdW0gdW5pZm9ybWl0eSByYXRpbzwvbGk+PGxpPjxzdHJvbmc+UmVxdWlyZWQgRG9jdW1lbnRhdGlvbjo8L3N0cm9uZz4gSUVTIExNLTc5IHBob3RvbWV0cmljIHJlcG9ydCwgSUVTIGZpbGUgKElFU05BIExNLTYzIGZvcm1hdCksIERJQUx1eCBvciBBR2kzMiBzaW11bGF0aW9uIHJlc3VsdHMgZm9yIHJlcHJlc2VudGF0aXZlIDEwMCBzcSBtIHpvbmU8L2xpPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6Mn0gLS0+CjxoMj5Db21wYXJlMkJlc3Q6IE5hcnJvdyB2cyBXaWRlIEJlYW0g4oCUIFByb2N1cmVtZW50IERlY2lzaW9uIEZyYW1ld29yazwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnRhYmxlIC0tPgo8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay10YWJsZSI+PHRhYmxlPjx0aGVhZD48dHI+PHRoPkRlY2lzaW9uIEZhY3RvcjwvdGg+PHRoPk5hcnJvdyBCZWFtICgxMOKAkzI5wrApPC90aD48dGg+V2lkZSBCZWFtICg2MOKAkzEyMMKwKTwvdGg+PC90cj48L3RoZWFkPjx0Ym9keT48dHI+PHRkPkJlc3QgQ2VpbGluZyBIZWlnaHQ8L3RkPjx0ZD5BYm92ZSAyMCBmdDwvdGQ+PHRkPkJlbG93IDE1IGZ0PC90ZD48L3RyPjx0ZD5GaXh0dXJlIFF1YW50aXR5IChzYW1lIHNwYWNlKTwvdGQ+PHRkPjLDlyB0byA0w5cgbW9yZSBmaXh0dXJlczwvdGQ+PHRkPkJhc2VsaW5lIOKAlCBmZXdlciBmaXh0dXJlczwvdGQ+PC90cj48dHI+PHRkPkdsYXJlIENvbnRyb2w8L3RkPjx0ZD5FeGNlbGxlbnQg4oCUIHRpZ2h0IGN1dG9mZjwvdGQ+PHRkPk1vZGVyYXRlIOKAlCB3aWRlciBzcHJlYWQgPSBoaWdoZXIgVUdSPC90ZD48L3RyPjx0cj48dGQ+VW5pZm9ybWl0eSBSYXRpbzwvdGQ+PHRkPjAuNOKAkzAuNiAocmVxdWlyZXMgdGlnaHQgc3BhY2luZyk8L3RkPjx0ZD4wLjbigJMwLjggKGluaGVyZW50bHkgbW9yZSB1bmlmb3JtKTwvdGQ+PC90cj48dHI+PHRkPkVuZXJneSBFZmZpY2llbmN5PC90ZD48dGQ+SGlnaGVyIGx1eC1wZXItd2F0dCBhdCB0YXJnZXQgcG9pbnQ8L3RkPjx0ZD5Mb3dlciBsdXgtcGVyLXdhdHQsIGJ1dCBmZXdlciBmaXh0dXJlczwvdGQ+PC90cj48dHI+PHRkPkluc3RhbGxhdGlvbiBDb3N0PC90ZD48dGQ+SGlnaGVyIChtb3JlIGZpeHR1cmVzLCBtb3JlIHdpcmluZyk8L3RkPjx0ZD5Mb3dlciAoZmV3ZXIgZml4dHVyZXMpPC90ZD48L3RyPjx0cj48dGQ+VHlwaWNhbCBQcm9jdXJlbWVudCBFcnJvcjwvdGQ+PHRkPlNwZWNpZnlpbmcgZm9yIGxvdyBjZWlsaW5ncyDigJQgY3JlYXRlcyBob3Qgc3BvdHM8L3RkPjx0ZD5TcGVjaWZ5aW5nIGZvciBoaWdoIGNlaWxpbmdzIOKAlCBwcm9kdWNlcyBkaW0gZmxvb3JzPC90ZD48L3RyPjx0cj48dGQ+UmVjb21tZW5kZWQgRm9yPC90ZD48dGQ+V2FyZWhvdXNlIGFpc2xlcywgbXVzZXVtIGV4aGliaXRzLCBoaWdoLWNlaWxpbmcgcmV0YWlsIGFjY2VudCwgYXJjaGl0ZWN0dXJhbCBmZWF0dXJlczwvdGQ+PHRkPk9wZW4tcGxhbiBvZmZpY2VzLCByZXRhaWwgZmxvb3JzLCBwYXJraW5nIGdhcmFnZXMsIGd5bW5hc2l1bXMsIGxvdy1jZWlsaW5nIGNvcnJpZG9yczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9maWd1cmU+CjwhLS0gL3dwOnRhYmxlIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjJ9IC0tPgo8aDI+S2V5IFRha2Vhd2F5czwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PGxpPkJlYW0gYW5nbGUgZGV0ZXJtaW5lcyBsaWdodCBzcHJlYWQg4oCUIG1hdGNoIGl0IHRvIGNlaWxpbmcgaGVpZ2h0IGFuZCBhcHBsaWNhdGlvbjogbmFycm93IGJlYW1zICgxMOKAkzI5wrApIGZvciBoaWdoIGNlaWxpbmdzIGFuZCBhY2NlbnQ7IHdpZGUgYmVhbXMgKDYw4oCTMTIwwrApIGZvciBzdGFuZGFyZC1oZWlnaHQgZ2VuZXJhbCBsaWdodGluZzwvbGk+PGxpPk5FTUEgVHlwZSBjbGFzc2lmaWNhdGlvbiAoMeKAkzcpIGlzIGJhc2VkIG9uIGZpZWxkIGFuZ2xlICgxMCUgaW50ZW5zaXR5KSwgbm90IGJlYW0gYW5nbGUgKDUwJSBpbnRlbnNpdHkpIOKAlCB2ZXJpZnkgd2hpY2ggbWV0cmljIHRoZSBzdXBwbGllciBkYXRhc2hlZXQgdXNlcyBiZWZvcmUgY29tcGFyaW5nIGx1bWluYWlyZXM8L2xpPjxsaT5TcGFjaW5nLXRvLW1vdW50aW5nLWhlaWdodCByYXRpbyAoUy9NSCkgaXMgdGhlIGtleSBwcm9jdXJlbWVudCBtZXRyaWMgZm9yIGZpeHR1cmUgY291bnQgY2FsY3VsYXRpb25zIOKAlCBhbHdheXMgc291cmNlIHRoaXMgdmFsdWUgZnJvbSB0aGUgSUVTIHBob3RvbWV0cmljIHJlcG9ydDwvbGk+PGxpPkEgNjDCsCBiZWFtIGF0IDIwIGZ0IHByb2R1Y2VzIGEgMjMgZnQgZGlhbWV0ZXIgcG9vbCB3aXRoIH4xOTAgbHV4IOKAlCBzY2FsZSBleHBlY3RhdGlvbnMgdXNpbmcgQmVhbSBEaWFtZXRlciA9IDIgw5cgSGVpZ2h0IMOXIHRhbihBbmdsZS8yKTwvbGk+PGxpPlRvdGFsIGluc3RhbGxlZCBjb3N0LCBub3QgcGVyLXVuaXQgZml4dHVyZSBwcmljZSwgaXMgdGhlIGNvcnJlY3QgcHJvY3VyZW1lbnQgb3B0aW1pemF0aW9uIHZhcmlhYmxlIOKAlCB3aWRlciBiZWFtcyByZWR1Y2UgZml4dHVyZSBjb3VudCBieSA0MOKAkzYwJSBpbiBsb3ctY2VpbGluZyBhcHBsaWNhdGlvbnM8L2xpPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6Mn0gLS0+CjxoMj5GQVE8L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDM+SG93IGRvIEkgY2FsY3VsYXRlIHRoZSBudW1iZXIgb2YgTEVEIGZpeHR1cmVzIG5lZWRlZCBmb3IgYSB3YXJlaG91c2Ugd2l0aCAzMC1mb290IGNlaWxpbmdzIHVzaW5nIGJlYW0gYW5nbGUgZGF0YT88L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkZpcnN0LCBkZXRlcm1pbmUgeW91ciB0YXJnZXQgaWxsdW1pbmFuY2UgKHR5cGljYWwgd2FyZWhvdXNlOiAxNTDigJMzMDAgbHV4KS4gVGhlbiB1c2UgdGhlIGJlYW0gYW5nbGUgdG8gY2FsY3VsYXRlIHRoZSBiZWFtIGRpYW1ldGVyIGF0IGZsb29yIGxldmVsOiBCZWFtIERpYW1ldGVyID0gMiDDlyBNb3VudGluZyBIZWlnaHQgw5cgdGFuKEJlYW0gQW5nbGUvMikuIEZvciBhIDYwwrAgYmVhbSBhdCAzMCBmdDogMiDDlyAzMCDDlyB0YW4oMzDCsCkgPSAzNC42IGZ0IGRpYW1ldGVyLiBXaXRoIGEgc3BhY2luZy10by1tb3VudGluZy1oZWlnaHQgcmF0aW8gb2YgMS4w4oCTMS4yIGZvciA2MMKwIGJlYW1zLCBzcGFjZSBmaXh0dXJlcyBhdCAzMOKAkzM2IGZ0IGludGVydmFscy4gRGl2aWRlIHRvdGFsIHdhcmVob3VzZSBmb290cHJpbnQgYnkgdGhlIGNvdmVyYWdlIGFyZWEgcGVyIGZpeHR1cmUgdG8gZ2V0IGZpeHR1cmUgY291bnQuIEFsd2F5cyBhZGQgMTUlIGZvciBlZGdlIGNvdmVyYWdlIGFuZCBvYnN0cnVjdGlvbnMuIFJlcXVlc3QgYW4gSUVTIGZpbGUgZnJvbSB5b3VyIHN1cHBsaWVyIGFuZCBydW4gYSBsaWdodGluZyBzaW11bGF0aW9uIChESUFMdXggb3IgQUdpMzIpIGJlZm9yZSBmaW5hbGl6aW5nIHRoZSBvcmRlci48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzPldoYXQgaXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBiZWFtIGFuZ2xlIGFuZCBmaWVsZCBhbmdsZSBpbiBMRUQgZGF0YXNoZWV0cz88L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkJlYW0gYW5nbGUgbWVhc3VyZXMgdGhlIGNvbmUgd2hlcmUgbGlnaHQgaW50ZW5zaXR5IGRyb3BzIHRvIDUwJSBvZiBjZW50ZXIgYmVhbSBjYW5kbGVwb3dlciAoQ0JDUCkuIEZpZWxkIGFuZ2xlIG1lYXN1cmVzIHRoZSB3aWRlciBjb25lIHdoZXJlIGludGVuc2l0eSBkcm9wcyB0byAxMCUgb2YgQ0JDUC4gVGhlIGZpZWxkIGFuZ2xlIGlzIGFsd2F5cyBsYXJnZXIuIEEgbHVtaW5haXJlIHJhdGVkIGF0IDI0wrAgYmVhbSBhbmdsZSB0eXBpY2FsbHkgaGFzIGEgMzjigJM0NMKwIGZpZWxkIGFuZ2xlLiBGb3IgY29tbWVyY2lhbCBwcm9jdXJlbWVudCwgYmVhbSBhbmdsZSBpcyB0aGUgcHJpbWFyeSBtZXRyaWMgZm9yIHNwYWNpbmcgZGVjaXNpb25zOyBmaWVsZCBhbmdsZSBpcyByZWxldmFudCBmb3IgdW5kZXJzdGFuZGluZyBzcGlsbCBsaWdodCBhbmQgcGVyaXBoZXJhbCBpbGx1bWluYXRpb24uIEFsd2F5cyBjb25maXJtIHdoaWNoIGFuZ2xlIHlvdXIgc3VwcGxpZXIncyBkYXRhc2hlZXQgaXMgcmVmZXJlbmNpbmcg4oCUIHNvbWUgQXNpYW4gbWFudWZhY3R1cmVycyByZXBvcnQgZmllbGQgYW5nbGUgYXMgYmVhbSBhbmdsZSwgd2hpY2ggbGVhZHMgdG8gdW5kZXJzaXplZCBjb3ZlcmFnZSBjYWxjdWxhdGlvbnMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMz5DYW4gSSB1c2UgbXVsdGlwbGUgbmFycm93LWJlYW0gZml4dHVyZXMgaW5zdGVhZCBvZiBmZXdlciB3aWRlLWJlYW0gZml4dHVyZXMgZm9yIHRoZSBzYW1lIHNwYWNlPzwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGVjaG5pY2FsbHkgeWVzLCBidXQgd2l0aCB0cmFkZW9mZnMuIE5hcnJvdy1iZWFtIGZpeHR1cmVzICgxMOKAkzI1wrApIHByb2R1Y2UgaGlnaGVyIGNlbnRlci1iZWFtIGNhbmRsZXBvd2VyIGFuZCBiZXR0ZXIgZ2xhcmUgY29udHJvbCwgbWFraW5nIHRoZW0gaWRlYWwgZm9yIHRhc2sgbGlnaHRpbmcgYW5kIGhpZ2gtY2VpbGluZyBhcHBsaWNhdGlvbnMgYWJvdmUgMjAgZnQuIEhvd2V2ZXIsIHRoZXkgcmVxdWlyZSB0aWdodGVyIHNwYWNpbmcgKFMvTUggb2YgMC414oCTMC44KSBtZWFuaW5nIDLigJM0w5cgbW9yZSBmaXh0dXJlcy4gV2lkZS1iZWFtIGZpeHR1cmVzICg2MOKAkzEyMMKwKSByZWR1Y2UgZml4dHVyZSBjb3VudCBidXQgaW5jcmVhc2UgZ2xhcmUgcmlzayBhbmQgcmVkdWNlIGNlaWxpbmcgaGVpZ2h0IGNvbnRyYXN0LiBUaGUgZWNvbm9taWMgYnJlYWtwb2ludCBpcyB0eXBpY2FsbHkgYXJvdW5kIDE1IGZ0IG1vdW50aW5nIGhlaWdodDogYmVsb3cgMTUgZnQsIHdpZGUgYmVhbXMgKDYwwrArKSBhcmUgY29zdC1vcHRpbWFsOyBhYm92ZSAyMCBmdCwgbmFycm93IGJlYW1zICgyMOKAkzQwwrApIHdpdGggdGlnaHRlciBzcGFjaW5nIGRlbGl2ZXIgYmV0dGVyIHVuaWZvcm1pdHkuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMz5PdXIgTEVEIHN1cHBsaWVyIG9mZmVycyB0aGUgc2FtZSBsdW1pbmFpcmUgd2l0aCAxNcKwLCAyNMKwLCAzOMKwLCA2MMKwLCBhbmQgOTDCsCBiZWFtIG9wdGlvbnMg4oCUIHNhbWUgcHJpY2UuIFdoaWNoIHNob3VsZCB3ZSBzcGVjIGZvciBhIGJpZy1ib3ggcmV0YWlsIGZsb29yIHdpdGggMTggZnQgY2VpbGluZ3M/PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Gb3IgYmlnLWJveCByZXRhaWwgd2l0aCAxOCBmdCBjZWlsaW5ncywgc3BlY2lmeSB0aGUgNjDCsCBiZWFtIG9wdGlvbiDigJQgaGVyZSBpcyB3aHk6IEF0IDE4IGZ0LCBhIDYwwrAgYmVhbSBjYXN0cyBhIDIwLjggZnQgZGlhbWV0ZXIgcG9vbC4gV2l0aCBTL01IIG9mIDEuMOKAkzEuMiwgeW91IGNhbiBzcGFjZSBmaXh0dXJlcyBhdCAxOOKAkzIyIGZ0IGludGVydmFscywgYWNoaWV2aW5nIDE1MOKAkzMwMCBsdXggd2l0aCByZWFzb25hYmxlIGZpeHR1cmUgZGVuc2l0eS4gVGhlIDM4wrAgYmVhbSB3b3VsZCByZXF1aXJlIDMwJSBtb3JlIGZpeHR1cmVzIHRvIGFjaGlldmUgdGhlIHNhbWUgdW5pZm9ybWl0eS4gVGhlIDkwwrAgYmVhbSB3b3VsZCBzcHJlYWQgdG9vIHdpZGUsIHByb2R1Y2luZyBsb3dlciBmb290LWNhbmRsZXMgYXQgdGhlIGZsb29yIGFuZCB1bmV2ZW4gaWxsdW1pbmF0aW9uIG5lYXIgc2hlbGYgZWRnZXMuIFRoZSA2MMKwIG9wdGlvbiBoaXRzIHRoZSBzd2VldCBzcG90IG9mIGNvdmVyYWdlLCB1bmlmb3JtaXR5LCBhbmQgZml4dHVyZSBjb3N0LiBPbmUgZXhjZXB0aW9uOiBpZiBzaGVsZiBoZWlnaHQgZXhjZWVkcyAxMiBmdCwgc3VwcGxlbWVudCB3aXRoIDI0wrAgbmFycm93IGZsb29kcyBpbiBhaXNsZXMgdG8gcHJldmVudCBzaGFkb3dpbmcuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6Mn0gLS0+CjxoMj5SZWxhdGVkIFF1ZXN0aW9uczwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PGxpPkxFRCBiZWFtIGFuZ2xlIHZzIGZpZWxkIGFuZ2xlIGRpZmZlcmVuY2UgcHJvY3VyZW1lbnQ8L2xpPjxsaT5Ib3cgdG8gY2FsY3VsYXRlIExFRCBmaXh0dXJlIHNwYWNpbmcgZnJvbSBiZWFtIGFuZ2xlPC9saT48bGk+TkVNQSBiZWFtIHNwcmVhZCBjbGFzc2lmaWNhdGlvbiBjaGFydCBjb21tZXJjaWFsIGxpZ2h0aW5nPC9saT48bGk+U3BhY2luZy10by1tb3VudGluZy1oZWlnaHQgcmF0aW8gTEVEIGx1bWluYWlyZSBzcGVjaWZpY2F0aW9uPC9saT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxzdHJvbmc+UmVsYXRlZDwvc3Ryb25nPjogPGEgaHJlZj0iaHR0cHM6Ly9rc2ltcGV4cC5jb20vdG90YWwtbGFuZGVkLWNvc3QtbGVkLyI+VG90YWwgTGFuZGVkIENvc3QgR3VpZGU8L2E+IHwgPGEgaHJlZj0iaHR0cHM6Ly9rc2ltcGV4cC5jb20vY2hpbmVzZS1sZWQtc3VwcGxpZXItdmVyaWZpY2F0aW9uLyI+U3VwcGxpZXIgVmVyaWZpY2F0aW9uIENoZWNrbGlzdDwvYT4gfCA8YSBocmVmPSJodHRwczovL2tzaW1wZXhwLmNvbS9sZWQtZXhwb3J0LW9yZGVyLW1pbGVzdG9uZXMtcXVvdGF0aW9uLWRlbGl2ZXJ5LyI+TEVEIEV4cG9ydCBPcmRlciBNaWxlc3RvbmVzPC9hPjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPg==
✎ About This Article
Author: Simon Chen · Published: June 28, 2026 · Last updated: June 28, 2026
This content was produced with AI assistance and reviewed for factual accuracy by Kingseng's editorial team. Technical claims are verified against industry standards (IES LM-79, LM-80, ANSI C78.377, IEC 60598). For procurement decisions, always verify specifications with suppliers directly. Contact us for custom sourcing consultation.