<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>105340</bug_id>
          
          <creation_ts>2012-12-18 13:20:38 -0800</creation_ts>
          <short_desc>Add a JSScriptRef API to JSC so that we can allow API users to avoid the full cost of reparsing everytime the execute a script.</short_desc>
          <delta_ts>2012-12-18 18:20:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>oliver</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>793988</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2012-12-18 13:20:38 -0800</bug_when>
    <thetext>Add a JSScriptRef API to JSC so that we can allow API users to avoid the full cost of reparsing everytime the execute a script.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794008</commentid>
    <comment_count>1</comment_count>
      <attachid>180016</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2012-12-18 13:49:22 -0800</bug_when>
    <thetext>Created attachment 180016
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794012</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-18 13:53:55 -0800</bug_when>
    <thetext>Attachment 180016 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/API/JSScriptRef.cpp&apos;...&quot; exit_code: 1
Source/JavaScriptCore/API/JSScriptRefPrivate.h:53:  The parameter name &quot;globalContext&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/API/JSScriptRefPrivate.h:65:  The parameter name &quot;globalContext&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/API/JSScriptRefPrivate.h:73:  The parameter name &quot;script&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/API/JSScriptRefPrivate.h:81:  The parameter name &quot;script&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/API/JSScriptRefPrivate.h:92:  The parameter name &quot;script&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 5 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794208</commentid>
    <comment_count>3</comment_count>
      <attachid>180066</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2012-12-18 17:23:37 -0800</bug_when>
    <thetext>Created attachment 180066
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794209</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-18 17:28:32 -0800</bug_when>
    <thetext>Attachment 180066 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/API/JSScriptRef.cpp&apos;...&quot; exit_code: 1
Source/JavaScriptCore/API/JSScriptRefPrivate.h:73:  The parameter name &quot;script&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/API/JSScriptRefPrivate.h:81:  The parameter name &quot;script&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/API/JSScriptRefPrivate.h:92:  The parameter name &quot;script&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 3 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794247</commentid>
    <comment_count>5</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2012-12-18 18:20:36 -0800</bug_when>
    <thetext>Committed r138098: &lt;http://trac.webkit.org/changeset/138098&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180016</attachid>
            <date>2012-12-18 13:49:22 -0800</date>
            <delta_ts>2012-12-18 17:23:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105340-20121218134639.patch</filename>
            <type>text/plain</type>
            <size>23199</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NzczCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NzQ5NzA0NDZlOWU2YmM3OTI0OGNiZDU2NzIyNGExNjNlNTUzNmQyLi4wZWRhZWQ4MjI0MzA5N2I2
YzllNDE1OTU2NWI1ODllYjRkM2QyMWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxMi0xMi0xOCAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBhIEpTU2NyaXB0UmVmIEFQSSB0byBKU0Mgc28gdGhhdCB3ZSBjYW4gYWxs
b3cgQVBJIHVzZXJzIHRvIGF2b2lkIHRoZSBmdWxsIGNvc3Qgb2YgcmVwYXJzaW5nIGV2ZXJ5dGlt
ZSB0aGUgZXhlY3V0ZSBhIHNjcmlwdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwNTM0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIChjdXJyZW50bHkgcHJpdmF0ZSkgQVBJ
IHRvIGFsbG93IHVzZXJzIG9mIHRoZSBKU0MgQVBJIHRvIGNyZWF0ZSBhIEpTU2NyaXB0IG9iamVj
dAorICAgICAgICB0aGF0IHJlZmVyZW5jZXMgYSByZXVzYWJsZSB2ZXJzaW9uIG9mIHRoZSBzY3Jp
cHQgdGhhdCB0aGV5IHdpc2ggdG8gZXZhbHVhdGUuICBUaGlzIGNhbiBoZWxwIHVzIGF2b2lkCisg
ICAgICAgIG51bWVvcnVzIGNvcGllcyB0aGF0IGFyZSBvdGhlcndpc2UgaW5kdWNlZCBieSBvdXIg
ZXhpc3RpbmcgQVBJIGFuZCBnaXZlcyB1cyBhbiBvcGFxdWUgb2JqZWN0IHRoYXQgd2UKKyAgICAg
ICAgY2FuIGhhbmcgdmFyaW91cyBjYWNoZXMgb2ZmLiAgQ3VycmVudGx5IHRoaXMgaXMgc2ltcGx5
IGEgc2ltcGxlIFNvdXJjZVByb3ZpZGVyLCBidXQgaW4gZnV0dXJlIHdlIG1heQorICAgICAgICBi
ZSBhYmxlIHRvIGFkZCBtb3JlIGNhY2hpbmcgd2l0aG91dCByZXF1aXJpbmcgbmV3L3JlcGxhY2Vt
ZW50IEFQSXMuIAorCisgICAgICAgICogQVBJL0pTU2NyaXB0UmVmLmNwcDogQWRkZWQuCisgICAg
ICAgICogQVBJL0pTU2NyaXB0UmVmUHJpdmF0ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBBUEkvdGVz
dHMvdGVzdGFwaS5jOgorICAgICAgICAgIEFkZCB0ZXN0cyBmb3IgbmV3IEFQSXMuCisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0xMi0x
MyAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEF0dGVtcHQgdG8g
cmF0aW9uYWxpemUgYW5kIHNpbXBsaWZ5IFdURjo6YmluYXJ5U2VhcmNoCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTU2NyaXB0UmVmLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvSlNTY3JpcHRSZWYuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjODVjN2JkZTdjODliYzEw
M2U1YmFlN2I5MWJiYTkyMjgxYzRjMTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTU2NyaXB0UmVmLmNwcApAQCAtMCwwICsxLDE0NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIkFQSUNhc3QuaCIKKyNpbmNsdWRl
ICJBUElTaGltcy5oIgorI2luY2x1ZGUgIkNvbXBsZXRpb24uaCIKKyNpbmNsdWRlICJKU0Jhc2VQ
cml2YXRlLmgiCisjaW5jbHVkZSAiSlNHbG9iYWxEYXRhLmgiCisjaW5jbHVkZSAiSlNTY3JpcHRS
ZWZQcml2YXRlLmgiCisjaW5jbHVkZSAiT3BhcXVlSlNTdHJpbmcuaCIKKyNpbmNsdWRlICJTb3Vy
Y2VDb2RlLmgiCisjaW5jbHVkZSAiU291cmNlUHJvdmlkZXIuaCIKKwordXNpbmcgbmFtZXNwYWNl
IEpTQzsKKworc3RydWN0IE9wYXF1ZUpTU2NyaXB0IDogcHVibGljIFNvdXJjZVByb3ZpZGVyIHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgV1RGOjpQYXNzUmVmUHRyPE9wYXF1ZUpTU2NyaXB0PiBjcmVh
dGUoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBjb25zdCBTdHJpbmcmIHVybCwgaW50IHN0YXJ0
aW5nTGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2UpCisgICAgeworICAgICAgICByZXR1
cm4gV1RGOjphZG9wdFJlZihuZXcgT3BhcXVlSlNTY3JpcHQoZ2xvYmFsRGF0YSwgdXJsLCBzdGFy
dGluZ0xpbmVOdW1iZXIsIHNvdXJjZSkpOworICAgIH0KKworICAgIGNvbnN0IFN0cmluZyYgc291
cmNlKCkgY29uc3QgT1ZFUlJJREUKKyAgICB7CisgICAgICAgIHJldHVybiBtX3NvdXJjZTsKKyAg
ICB9CisKKyAgICBjb25zdCBKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEoKSBjb25zdCB7IHJldHVy
biBtX2dsb2JhbERhdGE7IH0KKworcHJpdmF0ZToKKyAgICBPcGFxdWVKU1NjcmlwdChKU0dsb2Jh
bERhdGEqIGdsb2JhbERhdGEsIGNvbnN0IFN0cmluZyYgdXJsLCBpbnQgc3RhcnRpbmdMaW5lTnVt
YmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZSkKKyAgICAgICAgOiBTb3VyY2VQcm92aWRlcih1cmws
IFRleHRQb3NpdGlvbihPcmRpbmFsTnVtYmVyOjpmcm9tT25lQmFzZWRJbnQoc3RhcnRpbmdMaW5l
TnVtYmVyKSwgT3JkaW5hbE51bWJlcjo6Zmlyc3QoKSkpCisgICAgICAgICwgbV9nbG9iYWxEYXRh
KGdsb2JhbERhdGEpCisgICAgICAgICwgbV9zb3VyY2Uoc291cmNlKQorICAgIHsKKyAgICB9CisK
KyAgICB+T3BhcXVlSlNTY3JpcHQoKSB7IH0KKworICAgIEpTR2xvYmFsRGF0YSogbV9nbG9iYWxE
YXRhOworICAgIFN0cmluZyBtX3NvdXJjZTsKK307CisKK2V4dGVybiAiQyIgeworCitKU1Njcmlw
dFJlZiBKU1NjcmlwdENyZWF0ZVJlZmVyZW5jaW5nSW1tb3J0YWxBU0NJSVRleHQoSlNHbG9iYWxD
b250ZXh0UmVmIGdsb2JhbENvbnRleHQsIEpTU3RyaW5nUmVmIHVybCwgaW50IHN0YXJ0aW5nTGlu
ZU51bWJlciwgY29uc3QgY2hhciogc291cmNlLCBzaXplX3QgbGVuZ3RoLCBKU1ZhbHVlUmVmKiBl
eGNlcHRpb24pCit7CisgICAgRXhlY1N0YXRlKiBleGVjID0gdG9KUyhnbG9iYWxDb250ZXh0KTsK
KyAgICBBUElFbnRyeVNoaW0gZW50cnlTaGltKGV4ZWMpOworICAgIEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YSA9ICZleGVjLT5nbG9iYWxEYXRhKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBsZW5ndGg7IGkrKykgeworICAgICAgICBpZiAoIWlzQVNDSUkoc291cmNlW2ldKSkKKyAgICAg
ICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIFJlZlB0cjxPcGFxdWVKU1NjcmlwdD4gcmVz
dWx0ID0gT3BhcXVlSlNTY3JpcHQ6OmNyZWF0ZShnbG9iYWxEYXRhLCB1cmwtPnN0cmluZygpLCBz
dGFydGluZ0xpbmVOdW1iZXIsIFN0cmluZyhTdHJpbmdJbXBsOjpjcmVhdGVGcm9tTGl0ZXJhbChz
b3VyY2UsIGxlbmd0aCkpKTsKKyAgICBKU1ZhbHVlIGV4Y2VwdGlvblZhbHVlOworICAgIGlmICgh
Y2hlY2tTeW50YXgoZXhlYywgU291cmNlQ29kZShyZXN1bHQpLCAmZXhjZXB0aW9uVmFsdWUpKSB7
CisgICAgICAgIGlmIChleGNlcHRpb24pCisgICAgICAgICAgICAqZXhjZXB0aW9uID0gdG9SZWYo
ZXhlYywgZXhjZXB0aW9uVmFsdWUpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBy
ZXR1cm4gcmVzdWx0LnJlbGVhc2UoKS5sZWFrUmVmKCk7Cit9CisKK0pTU2NyaXB0UmVmIEpTU2Ny
aXB0Q3JlYXRlRnJvbVN0cmluZyhKU0dsb2JhbENvbnRleHRSZWYgZ2xvYmFsQ29udGV4dCwgSlNT
dHJpbmdSZWYgdXJsLCBpbnQgc3RhcnRpbmdMaW5lTnVtYmVyLCBKU1N0cmluZ1JlZiBzb3VyY2Us
IEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBFeGVjU3RhdGUqIGV4ZWMgPSB0b0pTKGds
b2JhbENvbnRleHQpOworICAgIEFQSUVudHJ5U2hpbSBlbnRyeVNoaW0oZXhlYyk7CisgICAgSlNH
bG9iYWxEYXRhKiBnbG9iYWxEYXRhID0gJmV4ZWMtPmdsb2JhbERhdGEoKTsKKworICAgIFJlZlB0
cjxPcGFxdWVKU1NjcmlwdD4gcmVzdWx0ID0gT3BhcXVlSlNTY3JpcHQ6OmNyZWF0ZShnbG9iYWxE
YXRhLCB1cmwtPnN0cmluZygpLCBzdGFydGluZ0xpbmVOdW1iZXIsIHNvdXJjZS0+c3RyaW5nKCkp
OworICAgIEpTVmFsdWUgZXhjZXB0aW9uVmFsdWU7CisgICAgaWYgKCFjaGVja1N5bnRheChleGVj
LCBTb3VyY2VDb2RlKHJlc3VsdCksICZleGNlcHRpb25WYWx1ZSkpIHsKKyAgICAgICAgaWYgKGV4
Y2VwdGlvbikKKyAgICAgICAgICAgICpleGNlcHRpb24gPSB0b1JlZihleGVjLCBleGNlcHRpb25W
YWx1ZSk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0LnJlbGVh
c2UoKS5sZWFrUmVmKCk7Cit9CisKK3ZvaWQgSlNTY3JpcHRSZXRhaW4oSlNDb250ZXh0UmVmIGNv
bnRleHQsIEpTU2NyaXB0UmVmIHNjcmlwdCkKK3sKKyAgICBFeGVjU3RhdGUqIGV4ZWMgPSB0b0pT
KGNvbnRleHQpOworICAgIEFQSUVudHJ5U2hpbSBlbnRyeVNoaW0oZXhlYyk7CisgICAgaWYgKHNj
cmlwdC0+Z2xvYmFsRGF0YSgpICE9ICZleGVjLT5nbG9iYWxEYXRhKCkpCisgICAgICAgIENSQVNI
KCk7CisgICAgc2NyaXB0LT5yZWYoKTsKK30KKwordm9pZCBKU1NjcmlwdFJlbGVhc2UoSlNDb250
ZXh0UmVmIGNvbnRleHQsIEpTU2NyaXB0UmVmIHNjcmlwdCkKK3sKKyAgICBFeGVjU3RhdGUqIGV4
ZWMgPSB0b0pTKGNvbnRleHQpOworICAgIEFQSUVudHJ5U2hpbSBlbnRyeVNoaW0oZXhlYyk7Cisg
ICAgaWYgKHNjcmlwdC0+Z2xvYmFsRGF0YSgpICE9ICZleGVjLT5nbG9iYWxEYXRhKCkpCisgICAg
ICAgIENSQVNIKCk7CisgICAgc2NyaXB0LT5kZXJlZigpOworfQorCitKU1ZhbHVlUmVmIEpTU2Ny
aXB0RXZhbHVhdGUoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTU2NyaXB0UmVmIHNjcmlwdCwgSlNW
YWx1ZVJlZiB0aGlzVmFsdWVSZWYsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBFeGVj
U3RhdGUqIGV4ZWMgPSB0b0pTKGNvbnRleHQpOworICAgIEFQSUVudHJ5U2hpbSBlbnRyeVNoaW0o
ZXhlYyk7CisgICAgaWYgKHNjcmlwdC0+Z2xvYmFsRGF0YSgpICE9ICZleGVjLT5nbG9iYWxEYXRh
KCkpIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiAwOwor
ICAgIH0KKyAgICBKU1ZhbHVlIGludGVybmFsRXhjZXB0aW9uOworICAgIEpTVmFsdWUgdGhpc1Zh
bHVlID0gdGhpc1ZhbHVlUmVmID8gdG9KUyhleGVjLCB0aGlzVmFsdWVSZWYpIDoganNVbmRlZmlu
ZWQoKTsKKyAgICBKU1ZhbHVlIHJlc3VsdCA9IGV2YWx1YXRlKGV4ZWMsIFNvdXJjZUNvZGUoc2Ny
aXB0KSwgdGhpc1ZhbHVlLCAmaW50ZXJuYWxFeGNlcHRpb24pOworICAgIGlmIChpbnRlcm5hbEV4
Y2VwdGlvbikgeworICAgICAgICBpZiAoZXhjZXB0aW9uKQorICAgICAgICAgICAgKmV4Y2VwdGlv
biA9IHRvUmVmKGV4ZWMsIGludGVybmFsRXhjZXB0aW9uKTsKKyAgICAgICAgcmV0dXJuIDA7Cisg
ICAgfQorICAgIEFTU0VSVChyZXN1bHQpOworICAgIHJldHVybiB0b1JlZihleGVjLCByZXN1bHQp
OworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTU2NyaXB0
UmVmUHJpdmF0ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1NjcmlwdFJlZlByaXZh
dGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xYzE5NmQ3M2I1NTU4MWZjYmI3YmNiYzJkZWI3YTlkNTg3ZTdiYTIy
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1NjcmlwdFJl
ZlByaXZhdGUuaApAQCAtMCwwICsxLDk5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBKU1Njcmlw
dFJlZlByaXZhdGVfaAorI2RlZmluZSBKU1NjcmlwdFJlZlByaXZhdGVfaAorCisjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvSlNDb250ZXh0UmVmLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
SlNTdHJpbmdSZWYuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1ZhbHVlUmVmLmg+CisK
KyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyohIEB0eXBlZGVm
IEpTU2NyaXB0UmVmIEEgSmF2YVNjcmlwdCBzY3JpcHQgcmVmZXJlbmNlLiAqLwordHlwZWRlZiBz
dHJ1Y3QgT3BhcXVlSlNTY3JpcHQqIEpTU2NyaXB0UmVmOworCisvKiEKKyBAZnVuY3Rpb24KKyBA
YWJzdHJhY3QgQ3JlYXRlcyBhIHNjcmlwdCByZWZlcmVuY2UgZnJvbSBhbiBhc2NpaSBzdHJpbmcs
IHdpdGhvdXQgY29weWluZyBvciB0YWtpbmcgb3duZXJzaGlwIG9mIHRoZSBzdHJpbmcKKyBAcGFy
YW0gZ2xvYmFsQ29udGV4dCBUaGUgZ2xvYmFsIGNvbnRleHQgdG8gdXNlLgorIEBwYXJhbSB1cmwg
VGhlIHNvdXJjZSB1cmwgdG8gYmUgcmVwb3J0ZWQgaW4gZXJyb3JzIGFuZCBleGNlcHRpb25zLgor
IEBwYXJhbSBzdGFydGluZ0xpbmVOdW1iZXIgQW4gaW50ZWdlciB2YWx1ZSBzcGVjaWZ5aW5nIHRo
ZSBzY3JpcHQncyBzdGFydGluZyBsaW5lIG51bWJlciBpbiB0aGUgZmlsZSBsb2NhdGVkIGF0IHNv
dXJjZVVSTC4gVGhpcyBpcyBvbmx5IHVzZWQgd2hlbiByZXBvcnRpbmcgZXhjZXB0aW9ucy4KKyBA
cGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugc3RyaW5nLiAgVGhpcyBpcyByZXF1aXJlZCB0byBiZSBw
dXJlIEFTQ0lJIGFuZCB0byBuZXZlciBiZSBkZWFsbG9jYXRlZC4KKyBAcGFyYW0gbGVuZ3RoIFRo
ZSBsZW5ndGggb2YgdGhlIHNvdXJjZSBzdHJpbmcuCisgQHBhcmFtIGV4Y2VwdGlvbiBBIHBvaW50
ZXIgdG8gYSBKU1ZhbHVlUmVmIGluIHdoaWNoIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbiBpZiB0aGUg
c291cmNlIGlzIG5vdCB2YWxpZC4gUGFzcyBOVUxMIGlmIHlvdSBkbyBub3QgY2FyZSB0byBzdG9y
ZSBhbiBleGNlcHRpb24uCisgQHJlc3VsdCBBIEpTU2NyaXB0UmVmIGZvciB0aGUgcHJvdmlkZWQg
c291cmNlLCBvciBOVUxMIGlmIGFueSBub24tQVNDSUkgY2hhcmFjdGVyIGlzIGZvdW5kIGluIHNv
dXJjZSBvciBpZiB0aGUgc291cmNlIGlzIG5vdCBhIHZhbGlkIEphdmFTY3JpcHQgcHJvZ3JhbS4g
T3duZXJzaGlwIGZvbGxvd3MgdGhlIENyZWF0ZSBSdWxlLgorIEBkaXNjdXNzaW9uIFVzZSB0aGlz
IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIHJldXNhYmxlIHNjcmlwdCByZWZlcmVuY2Ugd2l0aCBhIGNv
bnN0YW50CisgYnVmZmVyIGFzIHRoZSBiYWNraW5nIHN0cmluZy4gIFRoZSBzb3VyY2Ugc3RyaW5n
IG11c3Qgb3V0bGl2ZSB0aGUgZ2xvYmFsIGNvbnRleHQuCisgKi8KK0pTX0VYUE9SVCBKU1Njcmlw
dFJlZiBKU1NjcmlwdENyZWF0ZVJlZmVyZW5jaW5nSW1tb3J0YWxBU0NJSVRleHQoSlNHbG9iYWxD
b250ZXh0UmVmIGdsb2JhbENvbnRleHQsIEpTU3RyaW5nUmVmIHVybCwgaW50IHN0YXJ0aW5nTGlu
ZU51bWJlciwgY29uc3QgY2hhciogc291cmNlLCBzaXplX3QgbGVuZ3RoLCBKU1ZhbHVlUmVmKiBl
eGNlcHRpb24pOworCisvKiEKKyBAZnVuY3Rpb24KKyBAYWJzdHJhY3QgQ3JlYXRlcyBhIHNjcmlw
dCByZWZlcmVuY2UgZnJvbSBhIHN0cmluZworIEBwYXJhbSBnbG9iYWxDb250ZXh0IFRoZSBnbG9i
YWwgY29udGV4dCB0byB1c2UuCisgQHBhcmFtIHVybCBUaGUgc291cmNlIHVybCB0byBiZSByZXBv
cnRlZCBpbiBlcnJvcnMgYW5kIGV4Y2VwdGlvbnMuCisgQHBhcmFtIHN0YXJ0aW5nTGluZU51bWJl
ciBBbiBpbnRlZ2VyIHZhbHVlIHNwZWNpZnlpbmcgdGhlIHNjcmlwdCdzIHN0YXJ0aW5nIGxpbmUg
bnVtYmVyIGluIHRoZSBmaWxlIGxvY2F0ZWQgYXQgc291cmNlVVJMLiBUaGlzIGlzIG9ubHkgdXNl
ZCB3aGVuIHJlcG9ydGluZyBleGNlcHRpb25zLgorIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBz
dHJpbmcuCisgQHBhcmFtIGV4Y2VwdGlvbiBBIHBvaW50ZXIgdG8gYSBKU1ZhbHVlUmVmIGluIHdo
aWNoIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbiBpZiB0aGUgc291cmNlIGlzIG5vdCB2YWxpZC4gUGFz
cyBOVUxMIGlmIHlvdSBkbyBub3QgY2FyZSB0byBzdG9yZSBhbiBleGNlcHRpb24uCisgQHJlc3Vs
dCBBIEpTU2NyaXB0UmVmIGZvciB0aGUgcHJvdmlkZWQgc291cmNlLCBvciBOVUxMIGlzIHRoZSBz
b3VyY2UgaXMgbm90IGEgdmFsaWQgSmF2YVNjcmlwdCBwcm9ncmFtLiAgT3duZXJzaGlwIGZvbGxv
d3MgdGhlIENyZWF0ZSBSdWxlLgorICovCitKU19FWFBPUlQgSlNTY3JpcHRSZWYgSlNTY3JpcHRD
cmVhdGVGcm9tU3RyaW5nKEpTR2xvYmFsQ29udGV4dFJlZiBnbG9iYWxDb250ZXh0LCBKU1N0cmlu
Z1JlZiB1cmwsIGludCBzdGFydGluZ0xpbmVOdW1iZXIsIEpTU3RyaW5nUmVmIHNvdXJjZSwgSlNW
YWx1ZVJlZiogZXhjZXB0aW9uKTsKKworLyohCisgQGZ1bmN0aW9uCisgQGFic3RyYWN0IFJldGFp
bnMgYSBKYXZhU2NyaXB0IHNjcmlwdC4KKyBAcGFyYW0gY3R4IFRoZSBjb250ZXh0IHRoYXQgdGhl
IHNjcmlwdCBpcyBkZWZpbmVkIGluLgorIEBwYXJhbSBzY3JpcHQgVGhlIHNjcmlwdCB0byByZXRh
aW4uCisgKi8KK0pTX0VYUE9SVCB2b2lkIEpTU2NyaXB0UmV0YWluKEpTQ29udGV4dFJlZiBjdHgs
IEpTU2NyaXB0UmVmIHNjcmlwdCk7CisKKy8qIQorIEBmdW5jdGlvbgorIEBhYnN0cmFjdCBSZWxl
YXNlcyBhIEphdmFTY3JpcHQgc2NyaXB0LgorIEBwYXJhbSBjdHggVGhlIGNvbnRleHQgdGhhdCB0
aGUgc2NyaXB0IGlzIGRlZmluZWQgaW4uCisgQHBhcmFtIHNjcmlwdCBUaGUgc2NyaXB0IHRvIHJl
bGVhc2UuCisgKi8KK0pTX0VYUE9SVCB2b2lkIEpTU2NyaXB0UmVsZWFzZShKU0NvbnRleHRSZWYg
Y3R4LCBKU1NjcmlwdFJlZiBzY3JpcHQpOworCisvKiEKKyBAZnVuY3Rpb24KKyBAYWJzdHJhY3Qg
RXZhbHVhdGVzIGEgSmF2YVNjcmlwdCBzY3JpcHQuCisgQHBhcmFtIGN0eCBUaGUgZXhlY3V0aW9u
IGNvbnRleHQgdG8gdXNlLgorIEBwYXJhbSBzY3JpcHQgVGhlIEpTU2NyaXB0IHRvIGV2YWx1YXRl
LgorIEBwYXJhbSB0aGlzVmFsdWUgVGhlIHZhbHVlIHRvIHVzZSBhcyAidGhpcyIgd2hlbiBldmFs
dWF0aW5nIHRoZSBzY3JpcHQuCisgQHBhcmFtIGV4Y2VwdGlvbiBBIHBvaW50ZXIgdG8gYSBKU1Zh
bHVlUmVmIGluIHdoaWNoIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbiwgaWYgYW55LiBQYXNzIE5VTEwg
aWYgeW91IGRvIG5vdCBjYXJlIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbi4KKyBAcmVzdWx0IFRoZSBK
U1ZhbHVlIHRoYXQgcmVzdWx0cyBmcm9tIGV2YWx1YXRpbmcgc2NyaXB0LCBvciBOVUxMIGlmIGFu
IGV4Y2VwdGlvbiBpcyB0aHJvd24uCisgKi8KK0pTX0VYUE9SVCBKU1ZhbHVlUmVmIEpTU2NyaXB0
RXZhbHVhdGUoSlNDb250ZXh0UmVmIGN0eCwgSlNTY3JpcHRSZWYgc2NyaXB0LCBKU1ZhbHVlUmVm
IHRoaXNWYWx1ZSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsKKworCisjaWZkZWYgX19jcGx1c3Bs
dXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogSlNTY3JpcHRSZWZQcml2YXRlX2ggKi8KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvdGVzdGFwaS5jIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLmMKaW5kZXggYzI0MDBmN2VjOGVjYTYy
NDY3MzQ2ZDlhNTRjYzA5ZTcwMzA0ZThjYy4uMTFjNTA0NWU4OTgwNWEwYjdkYjhlNGE4MzM2YTli
MzU1MjA4ODAxMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90
ZXN0YXBpLmMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLmMK
QEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJKU0Jhc2VQcml2YXRlLmgiCiAjaW5jbHVkZSAi
SlNDb250ZXh0UmVmUHJpdmF0ZS5oIgogI2luY2x1ZGUgIkpTT2JqZWN0UmVmUHJpdmF0ZS5oIgor
I2luY2x1ZGUgIkpTU2NyaXB0UmVmUHJpdmF0ZS5oIgogI2luY2x1ZGUgPG1hdGguaD4KICNkZWZp
bmUgQVNTRVJUX0RJU0FCTEVEIDAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgpAQCAtMTM5
OSw5ICsxNDAwLDEyIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAgSlNW
YWx1ZVVucHJvdGVjdChjb250ZXh0LCBqc051bWJlclZhbHVlKTsKIAogICAgIEpTU3RyaW5nUmVm
IGdvb2RTeW50YXggPSBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygieCA9IDE7Iik7Ci0g
ICAgSlNTdHJpbmdSZWYgYmFkU3ludGF4ID0gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmco
InggOj0gMTsiKTsKKyAgICBjb25zdCBjaGFyKiBiYWRTeW50YXhDb25zdGFudCA9ICJ4IDo9IDE7
IjsKKyAgICBKU1N0cmluZ1JlZiBiYWRTeW50YXggPSBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0
cmluZyhiYWRTeW50YXhDb25zdGFudCk7CiAgICAgQVNTRVJUKEpTQ2hlY2tTY3JpcHRTeW50YXgo
Y29udGV4dCwgZ29vZFN5bnRheCwgTlVMTCwgMCwgTlVMTCkpOwogICAgIEFTU0VSVCghSlNDaGVj
a1NjcmlwdFN5bnRheChjb250ZXh0LCBiYWRTeW50YXgsIE5VTEwsIDAsIE5VTEwpKTsKKyAgICBB
U1NFUlQoIUpTU2NyaXB0Q3JlYXRlRnJvbVN0cmluZyhjb250ZXh0LCAwLCAwLCBiYWRTeW50YXgs
IDApKTsKKyAgICBBU1NFUlQoIUpTU2NyaXB0Q3JlYXRlUmVmZXJlbmNpbmdJbW1vcnRhbEFTQ0lJ
VGV4dChjb250ZXh0LCAwLCAwLCBiYWRTeW50YXhDb25zdGFudCwgc3RybGVuKGJhZFN5bnRheENv
bnN0YW50KSwgMCkpOwogCiAgICAgSlNWYWx1ZVJlZiByZXN1bHQ7CiAgICAgSlNWYWx1ZVJlZiB2
OwpAQCAtMTU5MCwxMyArMTU5NCwyMSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltd
KQogICAgIHYgPSBKU09iamVjdENhbGxBc0Z1bmN0aW9uKGNvbnRleHQsIGZ1bmN0aW9uLCBvLCAw
LCBOVUxMLCBOVUxMKTsKICAgICBBU1NFUlQoSlNWYWx1ZUlzRXF1YWwoY29udGV4dCwgdiwgbywg
TlVMTCkpOwogCi0gICAgSlNTdHJpbmdSZWYgc2NyaXB0ID0gSlNTdHJpbmdDcmVhdGVXaXRoVVRG
OENTdHJpbmcoInRoaXM7Iik7CisgICAgY29uc3QgY2hhciogdGhpc1NjcmlwdCA9ICJ0aGlzOyI7
CisgICAgSlNTdHJpbmdSZWYgc2NyaXB0ID0gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmco
dGhpc1NjcmlwdCk7CiAgICAgdiA9IEpTRXZhbHVhdGVTY3JpcHQoY29udGV4dCwgc2NyaXB0LCBO
VUxMLCBOVUxMLCAxLCBOVUxMKTsKICAgICBBU1NFUlQoSlNWYWx1ZUlzRXF1YWwoY29udGV4dCwg
diwgZ2xvYmFsT2JqZWN0LCBOVUxMKSk7CiAgICAgdiA9IEpTRXZhbHVhdGVTY3JpcHQoY29udGV4
dCwgc2NyaXB0LCBvLCBOVUxMLCAxLCBOVUxMKTsKICAgICBBU1NFUlQoSlNWYWx1ZUlzRXF1YWwo
Y29udGV4dCwgdiwgbywgTlVMTCkpOwogICAgIEpTU3RyaW5nUmVsZWFzZShzY3JpcHQpOwogCisg
ICAgSlNTY3JpcHRSZWYgc2NyaXB0T2JqZWN0ID0gSlNTY3JpcHRDcmVhdGVSZWZlcmVuY2luZ0lt
bW9ydGFsQVNDSUlUZXh0KGNvbnRleHQsIDAsIDAsIHRoaXNTY3JpcHQsIHN0cmxlbih0aGlzU2Ny
aXB0KSwgMCk7CisgICAgdiA9IEpTU2NyaXB0RXZhbHVhdGUoY29udGV4dCwgc2NyaXB0T2JqZWN0
LCBOVUxMLCBOVUxMKTsKKyAgICBBU1NFUlQoSlNWYWx1ZUlzRXF1YWwoY29udGV4dCwgdiwgZ2xv
YmFsT2JqZWN0LCBOVUxMKSk7CisgICAgdiA9IEpTU2NyaXB0RXZhbHVhdGUoY29udGV4dCwgc2Ny
aXB0T2JqZWN0LCBvLCBOVUxMKTsKKyAgICBBU1NFUlQoSlNWYWx1ZUlzRXF1YWwoY29udGV4dCwg
diwgbywgTlVMTCkpOworICAgIEpTU2NyaXB0UmVsZWFzZShjb250ZXh0LCBzY3JpcHRPYmplY3Qp
OworCiAgICAgc2NyaXB0ID0gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImV2YWwodGhp
cyk7Iik7CiAgICAgdiA9IEpTRXZhbHVhdGVTY3JpcHQoY29udGV4dCwgc2NyaXB0LCBOVUxMLCBO
VUxMLCAxLCBOVUxMKTsKICAgICBBU1NFUlQoSlNWYWx1ZUlzRXF1YWwoY29udGV4dCwgdiwgZ2xv
YmFsT2JqZWN0LCBOVUxMKSk7CkBAIC0xNjE2LDggKzE2MjgsMTcgQEAgaW50IG1haW4oaW50IGFy
Z2MsIGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgcHJpbnRmKCJGQUlMOiBUZXN0IHNjcmlwdCBjb3Vs
ZCBub3QgYmUgbG9hZGVkLlxuIik7CiAgICAgICAgIGZhaWxlZCA9IDE7CiAgICAgfSBlbHNlIHsK
LSAgICAgICAgc2NyaXB0ID0gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoc2NyaXB0VVRG
OCk7Ci0gICAgICAgIHJlc3VsdCA9IEpTRXZhbHVhdGVTY3JpcHQoY29udGV4dCwgc2NyaXB0LCBO
VUxMLCBOVUxMLCAxLCAmZXhjZXB0aW9uKTsKKyAgICAgICAgSlNTdHJpbmdSZWYgdXJsID0gSlNT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoc2NyaXB0UGF0aCk7CisgICAgICAgIEpTU3RyaW5n
UmVmIHNjcmlwdCA9IEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHNjcmlwdFVURjgpOwor
ICAgICAgICBKU1NjcmlwdFJlZiBzY3JpcHRPYmplY3QgPSBKU1NjcmlwdENyZWF0ZUZyb21TdHJp
bmcoY29udGV4dCwgdXJsLCAxLCBzY3JpcHQsICZleGNlcHRpb24pOworICAgICAgICBBU1NFUlQo
KCFzY3JpcHRPYmplY3QpICE9ICghZXhjZXB0aW9uKSk7CisgICAgICAgIGlmIChleGNlcHRpb24p
IHsKKyAgICAgICAgICAgIHByaW50ZigiRkFJTDogVGVzdCBzY3JpcHQgZGlkIG5vdCBwYXJzZVxu
Iik7CisgICAgICAgICAgICBmYWlsZWQgPSAxOworICAgICAgICB9CisKKyAgICAgICAgSlNTdHJp
bmdSZWxlYXNlKHNjcmlwdCk7CisgICAgICAgIHJlc3VsdCA9IHNjcmlwdE9iamVjdCA/IEpTU2Ny
aXB0RXZhbHVhdGUoY29udGV4dCwgc2NyaXB0T2JqZWN0LCAwLCAmZXhjZXB0aW9uKSA6IDA7CiAg
ICAgICAgIGlmIChyZXN1bHQgJiYgSlNWYWx1ZUlzVW5kZWZpbmVkKGNvbnRleHQsIHJlc3VsdCkp
CiAgICAgICAgICAgICBwcmludGYoIlBBU1M6IFRlc3Qgc2NyaXB0IGV4ZWN1dGVkIHN1Y2Nlc3Nm
dWxseS5cbiIpOwogICAgICAgICBlbHNlIHsKQEAgLTE2MjksNyArMTY1MCw3IEBAIGludCBtYWlu
KGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAgICAgICAgICBKU1N0cmluZ1JlbGVhc2UoZXhj
ZXB0aW9uSVN0cmluZyk7CiAgICAgICAgICAgICBmYWlsZWQgPSAxOwogICAgICAgICB9Ci0gICAg
ICAgIEpTU3RyaW5nUmVsZWFzZShzY3JpcHQpOworICAgICAgICBKU1NjcmlwdFJlbGVhc2UoY29u
dGV4dCwgc2NyaXB0T2JqZWN0KTsKICAgICAgICAgZnJlZShzY3JpcHRVVEY4KTsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBkMGIyZjE5ZjkwMjgzN2VmNWQy
MTgxNjVlYzA0YmE1NDY5NGZkZTlmLi40MDRlMjM2YzBhYmU5NzhiOWVkZTNjOTdjZWI2YWYwZTM3
ZjA0NDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zMiw2ICszMiw3
IEBAIHNldChKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgQVBJL0pTQ29udGV4dFJlZi5jcHAK
ICAgICBBUEkvSlNPYmplY3RSZWYuY3BwCiAgICAgQVBJL0pTUHJvZmlsZXJQcml2YXRlLmNwcAor
ICAgIEFQSS9KU1NjcmlwdFJlZi5jcHAKICAgICBBUEkvSlNTdHJpbmdSZWYuY3BwCiAgICAgQVBJ
L0pTVmFsdWVSZWYuY3BwCiAgICAgQVBJL0pTV2Vha09iamVjdE1hcFJlZlByaXZhdGUuY3BwCkBA
IC00NTEsNiArNDUyLDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX0ZPUldBUkRJTkdfSEVBREVSU19G
SUxFUwogICAgIEFQSS9KU0NvbnRleHRSZWZQcml2YXRlLmgKICAgICBBUEkvSlNPYmplY3RSZWYu
aAogICAgIEFQSS9KU09iamVjdFJlZlByaXZhdGUuaAorICAgIEFQSS9KU1NjcmlwdFJlZlByaXZh
dGUuaAogICAgIEFQSS9KU1N0cmluZ1JlZi5oCiAgICAgQVBJL0pTU3RyaW5nUmVmQ0YuaAogICAg
IEFQSS9KU1N0cmluZ1JlZkJTVFIuaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQppbmRleCA0ZGVjNjZhZjRmOTI1Y2QzZDU2NzdjYWQ2ZjA0OGNmMGQ0ZjEwZGE3Li5l
Yjk1ZTk4YWQyNjg0MGQ3NmYwNGFlYzRkOTZjNWIzZTU2YWI3ZDcxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTIsNiArNTIsOCBAQCBqYXZhc2NyaXB0
Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVm
LmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZlByaXZhdGUuaCBc
CiAJU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1JldGFpblB0ci5oIFwKKwlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTU2NyaXB0UmVmLmNwcCBcCisJU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU1NjcmlwdFJlZlByaXZhdGUuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U1N0cmluZ1JlZi5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5j
cHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXZWFrT2JqZWN0TWFwUmVmSW50ZXJu
YWwuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
dmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvaiBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUudmNwcm9qCmluZGV4IDNiNDY2ZjBmOGI4OTk1ZWY1NTFmZTU2OTI2YWVjZjIwYTRiMDAw
OTYuLmUyZDZmYjNiNjdkZWNhZjY3ODhjYTY4M2Y4MTYyOGVlMGZmMzcxNmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qCkBA
IC0xNDYyLDYgKzE0NjIsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5cLi5cQVBJXEpTU2NyaXB0UmVmLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cQVBJXEpTU2NyaXB0UmVmUHJpdmF0
ZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwu
LlxBUElcSlNTdHJpbmdSZWYuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggZmM5Yzg1NTM0NmJhNGM1MjM4Y2NlNTAwZjgyMmQ0MGQ2NjFiNzc2
OC4uZTQ3OTkyNGEzNDkyNTUzYTQ2MWFiYzg4ZWY2NTVkNWIxZGI1YzU1NSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTYzNyw2ICs2MzcsOCBAQAogCQlBN0I0OEY0OTBFRTg5MzZG
MDBEQ0JEQjYgLyogRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0I0OERCNjBFRTc0Q0ZDMDBEQ0JEQjYgLyogRXhl
Y3V0YWJsZUFsbG9jYXRvci5jcHAgKi87IH07CiAJCUE3QjRBQ0FGMTQ4NEM5Q0UwMEIzOEEzNiAv
KiBKU0V4cG9ydE1hY3Jvcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTdCNEFDQUUxNDg0QzlDRTAwQjM4QTM2IC8qIEpTRXhwb3J0TWFjcm9zLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTdCNjAxODIx
NjM5RkQyQTAwMzcyQkEzIC8qIFVubGlua2VkQ29kZUJsb2NrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzlFNzgxRjE1RUVDQkE4MDA0N0M4NTUgLyog
VW5saW5rZWRDb2RlQmxvY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlBN0MwQzRBQzE2ODEwMzAyMDAxNzAxMUQgLyogSlNTY3JpcHRSZWZQcml2
YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Mw
QzRBQjE2N0MwOENEMDAxNzAxMUQgLyogSlNTY3JpcHRSZWZQcml2YXRlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTdDMEM0QUQxNjgxMDY3RTAw
MTcwMTFEIC8qIEpTU2NyaXB0UmVmLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE3QzBDNEFBMTY3QzA4Q0QwMDE3MDExRCAvKiBKU1NjcmlwdFJlZi5j
cHAgKi87IH07CiAJCUE3QzFFOEU0MTEyRTcyRUYwMEEzN0Y5OCAvKiBKSVRQcm9wZXJ0eUFjY2Vz
czMyXzY0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE3QzFFOEM4MTEyRTcwMUMwMEEzN0Y5OCAvKiBKSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcCAq
LzsgfTsKIAkJQTdEQ0I5NzMxMkU1MTkzRjAwOTExOTQwIC8qIFdyaXRlQmFycmllci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEQ0I3NzkxMkUzRDkw
NTAwOTExOTQwIC8qIFdyaXRlQmFycmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUE3RTJFQTZCMEZCNDYwQ0YwMDYwMUYwNiAvKiBMaXRlcmFs
UGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
N0UyRUE2OTBGQjQ2MENGMDA2MDFGMDYgLyogTGl0ZXJhbFBhcnNlci5oICovOyB9OwpAQCAtMTQ4
OSw2ICsxNDkxLDggQEAKIAkJQTdCNDhEQjUwRUU3NENGQzAwRENCREI2IC8qIEV4ZWN1dGFibGVB
bGxvY2F0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXhlY3V0YWJsZUFs
bG9jYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBN0I0OERCNjBFRTc0Q0ZD
MDBEQ0JEQjYgLyogRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBFeGVjdXRhYmxlQWxsb2NhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTdCNEFDQUUxNDg0QzlDRTAwQjM4QTM2IC8qIEpTRXhwb3J0TWFjcm9z
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXhwb3J0TWFjcm9zLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3QzBDNEFBMTY3QzA4Q0QwMDE3MDExRCAvKiBK
U1NjcmlwdFJlZi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1Nj
cmlwdFJlZi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3QzBDNEFCMTY3QzA4
Q0QwMDE3MDExRCAvKiBKU1NjcmlwdFJlZlByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNTY3JpcHRSZWZQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE3QzFFOEM4MTEyRTcwMUMwMEEzN0Y5OCAvKiBKSVRQcm9wZXJ0eUFjY2VzczMyXzY0
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJVFByb3BlcnR5QWNj
ZXNzMzJfNjQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBN0MyMjVDQzEzOTk4
MUYxMDBGRjE2NjIgLyogS2V5d29yZExvb2t1cEdlbmVyYXRvci5weSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQu
c2NyaXB0LnB5dGhvbjsgcGF0aCA9IEtleXdvcmRMb29rdXBHZW5lcmF0b3IucHk7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3QzIyNUNEMTM5OTg0OUMwMEZGMTY2MiAvKiBLZXl3b3Jk
TG9va3VwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEtleXdvcmRMb29rdXAu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwNTMsNiArMjA1Nyw4IEBACiAJCQkJ
OTU5ODhCQTkwRTQ3N0JFQzAwRDI4RDREIC8qIEpTUHJvZmlsZXJQcml2YXRlLmNwcCAqLywKIAkJ
CQk5NTJDNjNBQzBFNDc3N0Q2MDBDMTM5MzYgLyogSlNQcm9maWxlclByaXZhdGUuaCAqLywKIAkJ
CQk5NUMxOEQzRTBDOTBFN0VGMDBFNzJGNzMgLyogSlNSZXRhaW5QdHIuaCAqLywKKwkJCQlBN0Mw
QzRBQTE2N0MwOENEMDAxNzAxMUQgLyogSlNTY3JpcHRSZWYuY3BwICovLAorCQkJCUE3QzBDNEFC
MTY3QzA4Q0QwMDE3MDExRCAvKiBKU1NjcmlwdFJlZlByaXZhdGUuaCAqLywKIAkJCQkxNDgyQjc0
QzBBNDMwMzI4MDA1MTdDRkMgLyogSlNTdHJpbmdSZWYuY3BwICovLAogCQkJCTE0ODJCNzRCMEE0
MzAzMjgwMDUxN0NGQyAvKiBKU1N0cmluZ1JlZi5oICovLAogCQkJCTE0NkFBQjM3MEI2NkE5NDQw
MEU1NUYxNiAvKiBKU1N0cmluZ1JlZkNGLmNwcCAqLywKQEAgLTMxNzksNiArMzE4NSw3IEBACiAJ
CQkJMEZGNjBBQzIxNjc0MEY4MzAwMDI5Nzc5IC8qIFJlZHVjZVdoaXRlc3BhY2UuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGMTM5MTJBMTY3NzFDMzYwMDlDQ0IwNyAvKiBQcm9maWxlckJ5dGVjb2Rl
U2VxdWVuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMTM5MTJDMTY3NzFDM0QwMDlDQ0IwNyAv
KiBQcm9maWxlclByb2ZpbGVkQnl0ZWNvZGVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBN0MwQzRB
QzE2ODEwMzAyMDAxNzAxMUQgLyogSlNTY3JpcHRSZWZQcml2YXRlLmggaW4gSGVhZGVycyAqLywK
IAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
QEAgLTM3ODEsNiArMzc4OCw3IEBACiAJCQkJMEZGNjBBQzMxNjc0MEY4ODAwMDI5Nzc5IC8qIFJl
ZHVjZVdoaXRlc3BhY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYxMzkxMjkxNjc3MUMzMzAw
OUNDQjA3IC8qIFByb2ZpbGVyQnl0ZWNvZGVTZXF1ZW5jZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRjEzOTEyQjE2NzcxQzNBMDA5Q0NCMDcgLyogUHJvZmlsZXJQcm9maWxlZEJ5dGVjb2Rlcy5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlBN0MwQzRBRDE2ODEwNjdFMDAxNzAxMUQgLyogSlNTY3Jp
cHRSZWYuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9UYXJnZXQucHJpCmluZGV4IGUw
YzY3MWZiZGM3MWVlNmFlNWQyZDI5ZDU4OTIxZWM5NTQxMWM0OWIuLmMyYmU1OGE2MjhjMzM3OGVl
NTYzZTBjODM0ZTU3NWVhN2IyNGI0MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9UYXJnZXQucHJpCkBAIC00
MCw2ICs0MCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIEFQSS9KU0NsYXNzUmVmLmNwcCBcCiAgICAg
QVBJL0pTQ29udGV4dFJlZi5jcHAgXAogICAgIEFQSS9KU09iamVjdFJlZi5jcHAgXAorICAgIEFQ
SS9KU1NjcmlwdFJlZi5jcHAgXAogICAgIEFQSS9KU1N0cmluZ1JlZi5jcHAgXAogICAgIEFQSS9K
U1ZhbHVlUmVmLmNwcCBcCiAgICAgQVBJL0pTV2Vha09iamVjdE1hcFJlZlByaXZhdGUuY3BwIFwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180066</attachid>
            <date>2012-12-18 17:23:37 -0800</date>
            <delta_ts>2012-12-18 17:58:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105340-20121218172054.patch</filename>
            <type>text/plain</type>
            <size>23097</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NzczCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NzQ5NzA0NDZlOWU2YmM3OTI0OGNiZDU2NzIyNGExNjNlNTUzNmQyLi4wZWRhZWQ4MjI0MzA5N2I2
YzllNDE1OTU2NWI1ODllYjRkM2QyMWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxMi0xMi0xOCAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBhIEpTU2NyaXB0UmVmIEFQSSB0byBKU0Mgc28gdGhhdCB3ZSBjYW4gYWxs
b3cgQVBJIHVzZXJzIHRvIGF2b2lkIHRoZSBmdWxsIGNvc3Qgb2YgcmVwYXJzaW5nIGV2ZXJ5dGlt
ZSB0aGUgZXhlY3V0ZSBhIHNjcmlwdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwNTM0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIChjdXJyZW50bHkgcHJpdmF0ZSkgQVBJ
IHRvIGFsbG93IHVzZXJzIG9mIHRoZSBKU0MgQVBJIHRvIGNyZWF0ZSBhIEpTU2NyaXB0IG9iamVj
dAorICAgICAgICB0aGF0IHJlZmVyZW5jZXMgYSByZXVzYWJsZSB2ZXJzaW9uIG9mIHRoZSBzY3Jp
cHQgdGhhdCB0aGV5IHdpc2ggdG8gZXZhbHVhdGUuICBUaGlzIGNhbiBoZWxwIHVzIGF2b2lkCisg
ICAgICAgIG51bWVvcnVzIGNvcGllcyB0aGF0IGFyZSBvdGhlcndpc2UgaW5kdWNlZCBieSBvdXIg
ZXhpc3RpbmcgQVBJIGFuZCBnaXZlcyB1cyBhbiBvcGFxdWUgb2JqZWN0IHRoYXQgd2UKKyAgICAg
ICAgY2FuIGhhbmcgdmFyaW91cyBjYWNoZXMgb2ZmLiAgQ3VycmVudGx5IHRoaXMgaXMgc2ltcGx5
IGEgc2ltcGxlIFNvdXJjZVByb3ZpZGVyLCBidXQgaW4gZnV0dXJlIHdlIG1heQorICAgICAgICBi
ZSBhYmxlIHRvIGFkZCBtb3JlIGNhY2hpbmcgd2l0aG91dCByZXF1aXJpbmcgbmV3L3JlcGxhY2Vt
ZW50IEFQSXMuIAorCisgICAgICAgICogQVBJL0pTU2NyaXB0UmVmLmNwcDogQWRkZWQuCisgICAg
ICAgICogQVBJL0pTU2NyaXB0UmVmUHJpdmF0ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBBUEkvdGVz
dHMvdGVzdGFwaS5jOgorICAgICAgICAgIEFkZCB0ZXN0cyBmb3IgbmV3IEFQSXMuCisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0xMi0x
MyAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEF0dGVtcHQgdG8g
cmF0aW9uYWxpemUgYW5kIHNpbXBsaWZ5IFdURjo6YmluYXJ5U2VhcmNoCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTU2NyaXB0UmVmLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvSlNTY3JpcHRSZWYuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlNWQ2OTVhMzYyMTRiOTFi
N2M2ZDI1Y2ZhNTZkNjMzZWFiNjU2MWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTU2NyaXB0UmVmLmNwcApAQCAtMCwwICsxLDE0NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIkFQSUNhc3QuaCIKKyNpbmNsdWRl
ICJBUElTaGltcy5oIgorI2luY2x1ZGUgIkNvbXBsZXRpb24uaCIKKyNpbmNsdWRlICJKU0Jhc2VQ
cml2YXRlLmgiCisjaW5jbHVkZSAiSlNHbG9iYWxEYXRhLmgiCisjaW5jbHVkZSAiSlNTY3JpcHRS
ZWZQcml2YXRlLmgiCisjaW5jbHVkZSAiT3BhcXVlSlNTdHJpbmcuaCIKKyNpbmNsdWRlICJTb3Vy
Y2VDb2RlLmgiCisjaW5jbHVkZSAiU291cmNlUHJvdmlkZXIuaCIKKwordXNpbmcgbmFtZXNwYWNl
IEpTQzsKKworc3RydWN0IE9wYXF1ZUpTU2NyaXB0IDogcHVibGljIFNvdXJjZVByb3ZpZGVyIHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgV1RGOjpQYXNzUmVmUHRyPE9wYXF1ZUpTU2NyaXB0PiBjcmVh
dGUoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBjb25zdCBTdHJpbmcmIHVybCwgaW50IHN0YXJ0
aW5nTGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2UpCisgICAgeworICAgICAgICByZXR1
cm4gV1RGOjphZG9wdFJlZihuZXcgT3BhcXVlSlNTY3JpcHQoZ2xvYmFsRGF0YSwgdXJsLCBzdGFy
dGluZ0xpbmVOdW1iZXIsIHNvdXJjZSkpOworICAgIH0KKworICAgIGNvbnN0IFN0cmluZyYgc291
cmNlKCkgY29uc3QgT1ZFUlJJREUKKyAgICB7CisgICAgICAgIHJldHVybiBtX3NvdXJjZTsKKyAg
ICB9CisKKyAgICBjb25zdCBKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEoKSBjb25zdCB7IHJldHVy
biBtX2dsb2JhbERhdGE7IH0KKworcHJpdmF0ZToKKyAgICBPcGFxdWVKU1NjcmlwdChKU0dsb2Jh
bERhdGEqIGdsb2JhbERhdGEsIGNvbnN0IFN0cmluZyYgdXJsLCBpbnQgc3RhcnRpbmdMaW5lTnVt
YmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZSkKKyAgICAgICAgOiBTb3VyY2VQcm92aWRlcih1cmws
IFRleHRQb3NpdGlvbihPcmRpbmFsTnVtYmVyOjpmcm9tT25lQmFzZWRJbnQoc3RhcnRpbmdMaW5l
TnVtYmVyKSwgT3JkaW5hbE51bWJlcjo6Zmlyc3QoKSkpCisgICAgICAgICwgbV9nbG9iYWxEYXRh
KGdsb2JhbERhdGEpCisgICAgICAgICwgbV9zb3VyY2Uoc291cmNlKQorICAgIHsKKyAgICB9CisK
KyAgICB+T3BhcXVlSlNTY3JpcHQoKSB7IH0KKworICAgIEpTR2xvYmFsRGF0YSogbV9nbG9iYWxE
YXRhOworICAgIFN0cmluZyBtX3NvdXJjZTsKK307CisKK2V4dGVybiAiQyIgeworCitKU1Njcmlw
dFJlZiBKU1NjcmlwdENyZWF0ZVJlZmVyZW5jaW5nSW1tb3J0YWxBU0NJSVRleHQoSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTU3RyaW5nUmVmIHVybCwgaW50IHN0YXJ0aW5nTGluZU51bWJlciwgY29u
c3QgY2hhciogc291cmNlLCBzaXplX3QgbGVuZ3RoLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7
CisgICAgRXhlY1N0YXRlKiBleGVjID0gdG9KUyhjb250ZXh0KTsKKyAgICBBUElFbnRyeVNoaW0g
ZW50cnlTaGltKGV4ZWMpOworICAgIEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSA9ICZleGVjLT5n
bG9iYWxEYXRhKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewor
ICAgICAgICBpZiAoIWlzQVNDSUkoc291cmNlW2ldKSkKKyAgICAgICAgICAgIHJldHVybiAwOwor
ICAgIH0KKworICAgIFJlZlB0cjxPcGFxdWVKU1NjcmlwdD4gcmVzdWx0ID0gT3BhcXVlSlNTY3Jp
cHQ6OmNyZWF0ZShnbG9iYWxEYXRhLCB1cmwtPnN0cmluZygpLCBzdGFydGluZ0xpbmVOdW1iZXIs
IFN0cmluZyhTdHJpbmdJbXBsOjpjcmVhdGVGcm9tTGl0ZXJhbChzb3VyY2UsIGxlbmd0aCkpKTsK
KyAgICBKU1ZhbHVlIGV4Y2VwdGlvblZhbHVlOworICAgIGlmICghY2hlY2tTeW50YXgoZXhlYywg
U291cmNlQ29kZShyZXN1bHQpLCAmZXhjZXB0aW9uVmFsdWUpKSB7CisgICAgICAgIGlmIChleGNl
cHRpb24pCisgICAgICAgICAgICAqZXhjZXB0aW9uID0gdG9SZWYoZXhlYywgZXhjZXB0aW9uVmFs
dWUpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0LnJlbGVh
c2UoKS5sZWFrUmVmKCk7Cit9CisKK0pTU2NyaXB0UmVmIEpTU2NyaXB0Q3JlYXRlRnJvbVN0cmlu
ZyhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNTdHJpbmdSZWYgdXJsLCBpbnQgc3RhcnRpbmdMaW5l
TnVtYmVyLCBKU1N0cmluZ1JlZiBzb3VyY2UsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAg
ICBFeGVjU3RhdGUqIGV4ZWMgPSB0b0pTKGNvbnRleHQpOworICAgIEFQSUVudHJ5U2hpbSBlbnRy
eVNoaW0oZXhlYyk7CisgICAgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhID0gJmV4ZWMtPmdsb2Jh
bERhdGEoKTsKKworICAgIFJlZlB0cjxPcGFxdWVKU1NjcmlwdD4gcmVzdWx0ID0gT3BhcXVlSlNT
Y3JpcHQ6OmNyZWF0ZShnbG9iYWxEYXRhLCB1cmwtPnN0cmluZygpLCBzdGFydGluZ0xpbmVOdW1i
ZXIsIHNvdXJjZS0+c3RyaW5nKCkpOworICAgIEpTVmFsdWUgZXhjZXB0aW9uVmFsdWU7CisgICAg
aWYgKCFjaGVja1N5bnRheChleGVjLCBTb3VyY2VDb2RlKHJlc3VsdCksICZleGNlcHRpb25WYWx1
ZSkpIHsKKyAgICAgICAgaWYgKGV4Y2VwdGlvbikKKyAgICAgICAgICAgICpleGNlcHRpb24gPSB0
b1JlZihleGVjLCBleGNlcHRpb25WYWx1ZSk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAg
ICByZXR1cm4gcmVzdWx0LnJlbGVhc2UoKS5sZWFrUmVmKCk7Cit9CisKK3ZvaWQgSlNTY3JpcHRS
ZXRhaW4oSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTU2NyaXB0UmVmIHNjcmlwdCkKK3sKKyAgICBF
eGVjU3RhdGUqIGV4ZWMgPSB0b0pTKGNvbnRleHQpOworICAgIEFQSUVudHJ5U2hpbSBlbnRyeVNo
aW0oZXhlYyk7CisgICAgaWYgKHNjcmlwdC0+Z2xvYmFsRGF0YSgpICE9ICZleGVjLT5nbG9iYWxE
YXRhKCkpCisgICAgICAgIENSQVNIKCk7CisgICAgc2NyaXB0LT5yZWYoKTsKK30KKwordm9pZCBK
U1NjcmlwdFJlbGVhc2UoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTU2NyaXB0UmVmIHNjcmlwdCkK
K3sKKyAgICBFeGVjU3RhdGUqIGV4ZWMgPSB0b0pTKGNvbnRleHQpOworICAgIEFQSUVudHJ5U2hp
bSBlbnRyeVNoaW0oZXhlYyk7CisgICAgaWYgKHNjcmlwdC0+Z2xvYmFsRGF0YSgpICE9ICZleGVj
LT5nbG9iYWxEYXRhKCkpCisgICAgICAgIENSQVNIKCk7CisgICAgc2NyaXB0LT5kZXJlZigpOwor
fQorCitKU1ZhbHVlUmVmIEpTU2NyaXB0RXZhbHVhdGUoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpT
U2NyaXB0UmVmIHNjcmlwdCwgSlNWYWx1ZVJlZiB0aGlzVmFsdWVSZWYsIEpTVmFsdWVSZWYqIGV4
Y2VwdGlvbikKK3sKKyAgICBFeGVjU3RhdGUqIGV4ZWMgPSB0b0pTKGNvbnRleHQpOworICAgIEFQ
SUVudHJ5U2hpbSBlbnRyeVNoaW0oZXhlYyk7CisgICAgaWYgKHNjcmlwdC0+Z2xvYmFsRGF0YSgp
ICE9ICZleGVjLT5nbG9iYWxEYXRhKCkpIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICBKU1ZhbHVlIGludGVybmFsRXhjZXB0aW9u
OworICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gdGhpc1ZhbHVlUmVmID8gdG9KUyhleGVjLCB0aGlz
VmFsdWVSZWYpIDoganNVbmRlZmluZWQoKTsKKyAgICBKU1ZhbHVlIHJlc3VsdCA9IGV2YWx1YXRl
KGV4ZWMsIFNvdXJjZUNvZGUoc2NyaXB0KSwgdGhpc1ZhbHVlLCAmaW50ZXJuYWxFeGNlcHRpb24p
OworICAgIGlmIChpbnRlcm5hbEV4Y2VwdGlvbikgeworICAgICAgICBpZiAoZXhjZXB0aW9uKQor
ICAgICAgICAgICAgKmV4Y2VwdGlvbiA9IHRvUmVmKGV4ZWMsIGludGVybmFsRXhjZXB0aW9uKTsK
KyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIEFTU0VSVChyZXN1bHQpOworICAgIHJldHVy
biB0b1JlZihleGVjLCByZXN1bHQpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTU2NyaXB0UmVmUHJpdmF0ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU1NjcmlwdFJlZlByaXZhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTA2Mzg1NTljOTJlY2IxZTY3
OTVmMmFmMzFjMDRiYTcwNzY4NDgxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU1NjcmlwdFJlZlByaXZhdGUuaApAQCAtMCwwICsxLDk5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBKU1NjcmlwdFJlZlByaXZhdGVfaAorI2RlZmluZSBKU1NjcmlwdFJlZlBy
aXZhdGVfaAorCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNDb250ZXh0UmVmLmg+CisjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvSlNTdHJpbmdSZWYuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9KU1ZhbHVlUmVmLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7Cisj
ZW5kaWYKKworLyohIEB0eXBlZGVmIEpTU2NyaXB0UmVmIEEgSmF2YVNjcmlwdCBzY3JpcHQgcmVm
ZXJlbmNlLiAqLwordHlwZWRlZiBzdHJ1Y3QgT3BhcXVlSlNTY3JpcHQqIEpTU2NyaXB0UmVmOwor
CisvKiEKKyBAZnVuY3Rpb24KKyBAYWJzdHJhY3QgQ3JlYXRlcyBhIHNjcmlwdCByZWZlcmVuY2Ug
ZnJvbSBhbiBhc2NpaSBzdHJpbmcsIHdpdGhvdXQgY29weWluZyBvciB0YWtpbmcgb3duZXJzaGlw
IG9mIHRoZSBzdHJpbmcKKyBAcGFyYW0gY3R4IFRoZSBjb250ZXh0IHRvIHVzZS4KKyBAcGFyYW0g
dXJsIFRoZSBzb3VyY2UgdXJsIHRvIGJlIHJlcG9ydGVkIGluIGVycm9ycyBhbmQgZXhjZXB0aW9u
cy4KKyBAcGFyYW0gc3RhcnRpbmdMaW5lTnVtYmVyIEFuIGludGVnZXIgdmFsdWUgc3BlY2lmeWlu
ZyB0aGUgc2NyaXB0J3Mgc3RhcnRpbmcgbGluZSBudW1iZXIgaW4gdGhlIGZpbGUgbG9jYXRlZCBh
dCBzb3VyY2VVUkwuIFRoaXMgaXMgb25seSB1c2VkIHdoZW4gcmVwb3J0aW5nIGV4Y2VwdGlvbnMu
CisgQHBhcmFtIHNvdXJjZSBUaGUgc291cmNlIHN0cmluZy4gIFRoaXMgaXMgcmVxdWlyZWQgdG8g
YmUgcHVyZSBBU0NJSSBhbmQgdG8gbmV2ZXIgYmUgZGVhbGxvY2F0ZWQuCisgQHBhcmFtIGxlbmd0
aCBUaGUgbGVuZ3RoIG9mIHRoZSBzb3VyY2Ugc3RyaW5nLgorIEBwYXJhbSBleGNlcHRpb24gQSBw
b2ludGVyIHRvIGEgSlNWYWx1ZVJlZiBpbiB3aGljaCB0byBzdG9yZSBhbiBleGNlcHRpb24gaWYg
dGhlIHNvdXJjZSBpcyBub3QgdmFsaWQuIFBhc3MgTlVMTCBpZiB5b3UgZG8gbm90IGNhcmUgdG8g
c3RvcmUgYW4gZXhjZXB0aW9uLgorIEByZXN1bHQgQSBKU1NjcmlwdFJlZiBmb3IgdGhlIHByb3Zp
ZGVkIHNvdXJjZSwgb3IgTlVMTCBpZiBhbnkgbm9uLUFTQ0lJIGNoYXJhY3RlciBpcyBmb3VuZCBp
biBzb3VyY2Ugb3IgaWYgdGhlIHNvdXJjZSBpcyBub3QgYSB2YWxpZCBKYXZhU2NyaXB0IHByb2dy
YW0uIE93bmVyc2hpcCBmb2xsb3dzIHRoZSBDcmVhdGUgUnVsZS4KKyBAZGlzY3Vzc2lvbiBVc2Ug
dGhpcyBmdW5jdGlvbiB0byBjcmVhdGUgYSByZXVzYWJsZSBzY3JpcHQgcmVmZXJlbmNlIHdpdGgg
YSBjb25zdGFudAorIGJ1ZmZlciBhcyB0aGUgYmFja2luZyBzdHJpbmcuICBUaGUgc291cmNlIHN0
cmluZyBtdXN0IG91dGxpdmUgdGhlIGdsb2JhbCBjb250ZXh0LgorICovCitKU19FWFBPUlQgSlNT
Y3JpcHRSZWYgSlNTY3JpcHRDcmVhdGVSZWZlcmVuY2luZ0ltbW9ydGFsQVNDSUlUZXh0KEpTQ29u
dGV4dFJlZiBjdHgsIEpTU3RyaW5nUmVmIHVybCwgaW50IHN0YXJ0aW5nTGluZU51bWJlciwgY29u
c3QgY2hhciogc291cmNlLCBzaXplX3QgbGVuZ3RoLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pOwor
CisvKiEKKyBAZnVuY3Rpb24KKyBAYWJzdHJhY3QgQ3JlYXRlcyBhIHNjcmlwdCByZWZlcmVuY2Ug
ZnJvbSBhIHN0cmluZworIEBwYXJhbSBjdHggVGhlIGNvbnRleHQgdG8gdXNlLgorIEBwYXJhbSB1
cmwgVGhlIHNvdXJjZSB1cmwgdG8gYmUgcmVwb3J0ZWQgaW4gZXJyb3JzIGFuZCBleGNlcHRpb25z
LgorIEBwYXJhbSBzdGFydGluZ0xpbmVOdW1iZXIgQW4gaW50ZWdlciB2YWx1ZSBzcGVjaWZ5aW5n
IHRoZSBzY3JpcHQncyBzdGFydGluZyBsaW5lIG51bWJlciBpbiB0aGUgZmlsZSBsb2NhdGVkIGF0
IHNvdXJjZVVSTC4gVGhpcyBpcyBvbmx5IHVzZWQgd2hlbiByZXBvcnRpbmcgZXhjZXB0aW9ucy4K
KyBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2Ugc3RyaW5nLgorIEBwYXJhbSBleGNlcHRpb24gQSBw
b2ludGVyIHRvIGEgSlNWYWx1ZVJlZiBpbiB3aGljaCB0byBzdG9yZSBhbiBleGNlcHRpb24gaWYg
dGhlIHNvdXJjZSBpcyBub3QgdmFsaWQuIFBhc3MgTlVMTCBpZiB5b3UgZG8gbm90IGNhcmUgdG8g
c3RvcmUgYW4gZXhjZXB0aW9uLgorIEByZXN1bHQgQSBKU1NjcmlwdFJlZiBmb3IgdGhlIHByb3Zp
ZGVkIHNvdXJjZSwgb3IgTlVMTCBpcyB0aGUgc291cmNlIGlzIG5vdCBhIHZhbGlkIEphdmFTY3Jp
cHQgcHJvZ3JhbS4gIE93bmVyc2hpcCBmb2xsb3dzIHRoZSBDcmVhdGUgUnVsZS4KKyAqLworSlNf
RVhQT1JUIEpTU2NyaXB0UmVmIEpTU2NyaXB0Q3JlYXRlRnJvbVN0cmluZyhKU0NvbnRleHRSZWYg
Y3R4LCBKU1N0cmluZ1JlZiB1cmwsIGludCBzdGFydGluZ0xpbmVOdW1iZXIsIEpTU3RyaW5nUmVm
IHNvdXJjZSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsKKworLyohCisgQGZ1bmN0aW9uCisgQGFi
c3RyYWN0IFJldGFpbnMgYSBKYXZhU2NyaXB0IHNjcmlwdC4KKyBAcGFyYW0gY3R4IFRoZSBjb250
ZXh0IHRoYXQgdGhlIHNjcmlwdCBpcyBkZWZpbmVkIGluLgorIEBwYXJhbSBzY3JpcHQgVGhlIHNj
cmlwdCB0byByZXRhaW4uCisgKi8KK0pTX0VYUE9SVCB2b2lkIEpTU2NyaXB0UmV0YWluKEpTQ29u
dGV4dFJlZiBjdHgsIEpTU2NyaXB0UmVmIHNjcmlwdCk7CisKKy8qIQorIEBmdW5jdGlvbgorIEBh
YnN0cmFjdCBSZWxlYXNlcyBhIEphdmFTY3JpcHQgc2NyaXB0LgorIEBwYXJhbSBjdHggVGhlIGNv
bnRleHQgdGhhdCB0aGUgc2NyaXB0IGlzIGRlZmluZWQgaW4uCisgQHBhcmFtIHNjcmlwdCBUaGUg
c2NyaXB0IHRvIHJlbGVhc2UuCisgKi8KK0pTX0VYUE9SVCB2b2lkIEpTU2NyaXB0UmVsZWFzZShK
U0NvbnRleHRSZWYgY3R4LCBKU1NjcmlwdFJlZiBzY3JpcHQpOworCisvKiEKKyBAZnVuY3Rpb24K
KyBAYWJzdHJhY3QgRXZhbHVhdGVzIGEgSmF2YVNjcmlwdCBzY3JpcHQuCisgQHBhcmFtIGN0eCBU
aGUgZXhlY3V0aW9uIGNvbnRleHQgdG8gdXNlLgorIEBwYXJhbSBzY3JpcHQgVGhlIEpTU2NyaXB0
IHRvIGV2YWx1YXRlLgorIEBwYXJhbSB0aGlzVmFsdWUgVGhlIHZhbHVlIHRvIHVzZSBhcyAidGhp
cyIgd2hlbiBldmFsdWF0aW5nIHRoZSBzY3JpcHQuCisgQHBhcmFtIGV4Y2VwdGlvbiBBIHBvaW50
ZXIgdG8gYSBKU1ZhbHVlUmVmIGluIHdoaWNoIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbiwgaWYgYW55
LiBQYXNzIE5VTEwgaWYgeW91IGRvIG5vdCBjYXJlIHRvIHN0b3JlIGFuIGV4Y2VwdGlvbi4KKyBA
cmVzdWx0IFRoZSBKU1ZhbHVlIHRoYXQgcmVzdWx0cyBmcm9tIGV2YWx1YXRpbmcgc2NyaXB0LCBv
ciBOVUxMIGlmIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24uCisgKi8KK0pTX0VYUE9SVCBKU1ZhbHVl
UmVmIEpTU2NyaXB0RXZhbHVhdGUoSlNDb250ZXh0UmVmIGN0eCwgSlNTY3JpcHRSZWYgc2NyaXB0
LCBKU1ZhbHVlUmVmIHRoaXNWYWx1ZSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsKKworCisjaWZk
ZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogSlNTY3JpcHRSZWZQcml2YXRl
X2ggKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvdGVzdGFw
aS5jIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLmMKaW5kZXggYzI0
MDBmN2VjOGVjYTYyNDY3MzQ2ZDlhNTRjYzA5ZTcwMzA0ZThjYy4uMTFjNTA0NWU4OTgwNWEwYjdk
YjhlNGE4MzM2YTliMzU1MjA4ODAxMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS90ZXN0cy90ZXN0YXBpLmMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0
cy90ZXN0YXBpLmMKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJKU0Jhc2VQcml2YXRlLmgi
CiAjaW5jbHVkZSAiSlNDb250ZXh0UmVmUHJpdmF0ZS5oIgogI2luY2x1ZGUgIkpTT2JqZWN0UmVm
UHJpdmF0ZS5oIgorI2luY2x1ZGUgIkpTU2NyaXB0UmVmUHJpdmF0ZS5oIgogI2luY2x1ZGUgPG1h
dGguaD4KICNkZWZpbmUgQVNTRVJUX0RJU0FCTEVEIDAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgpAQCAtMTM5OSw5ICsxNDAwLDEyIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2
W10pCiAgICAgSlNWYWx1ZVVucHJvdGVjdChjb250ZXh0LCBqc051bWJlclZhbHVlKTsKIAogICAg
IEpTU3RyaW5nUmVmIGdvb2RTeW50YXggPSBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygi
eCA9IDE7Iik7Ci0gICAgSlNTdHJpbmdSZWYgYmFkU3ludGF4ID0gSlNTdHJpbmdDcmVhdGVXaXRo
VVRGOENTdHJpbmcoInggOj0gMTsiKTsKKyAgICBjb25zdCBjaGFyKiBiYWRTeW50YXhDb25zdGFu
dCA9ICJ4IDo9IDE7IjsKKyAgICBKU1N0cmluZ1JlZiBiYWRTeW50YXggPSBKU1N0cmluZ0NyZWF0
ZVdpdGhVVEY4Q1N0cmluZyhiYWRTeW50YXhDb25zdGFudCk7CiAgICAgQVNTRVJUKEpTQ2hlY2tT
Y3JpcHRTeW50YXgoY29udGV4dCwgZ29vZFN5bnRheCwgTlVMTCwgMCwgTlVMTCkpOwogICAgIEFT
U0VSVCghSlNDaGVja1NjcmlwdFN5bnRheChjb250ZXh0LCBiYWRTeW50YXgsIE5VTEwsIDAsIE5V
TEwpKTsKKyAgICBBU1NFUlQoIUpTU2NyaXB0Q3JlYXRlRnJvbVN0cmluZyhjb250ZXh0LCAwLCAw
LCBiYWRTeW50YXgsIDApKTsKKyAgICBBU1NFUlQoIUpTU2NyaXB0Q3JlYXRlUmVmZXJlbmNpbmdJ
bW1vcnRhbEFTQ0lJVGV4dChjb250ZXh0LCAwLCAwLCBiYWRTeW50YXhDb25zdGFudCwgc3RybGVu
KGJhZFN5bnRheENvbnN0YW50KSwgMCkpOwogCiAgICAgSlNWYWx1ZVJlZiByZXN1bHQ7CiAgICAg
SlNWYWx1ZVJlZiB2OwpAQCAtMTU5MCwxMyArMTU5NCwyMSBAQCBpbnQgbWFpbihpbnQgYXJnYywg
Y2hhciogYXJndltdKQogICAgIHYgPSBKU09iamVjdENhbGxBc0Z1bmN0aW9uKGNvbnRleHQsIGZ1
bmN0aW9uLCBvLCAwLCBOVUxMLCBOVUxMKTsKICAgICBBU1NFUlQoSlNWYWx1ZUlzRXF1YWwoY29u
dGV4dCwgdiwgbywgTlVMTCkpOwogCi0gICAgSlNTdHJpbmdSZWYgc2NyaXB0ID0gSlNTdHJpbmdD
cmVhdGVXaXRoVVRGOENTdHJpbmcoInRoaXM7Iik7CisgICAgY29uc3QgY2hhciogdGhpc1Njcmlw
dCA9ICJ0aGlzOyI7CisgICAgSlNTdHJpbmdSZWYgc2NyaXB0ID0gSlNTdHJpbmdDcmVhdGVXaXRo
VVRGOENTdHJpbmcodGhpc1NjcmlwdCk7CiAgICAgdiA9IEpTRXZhbHVhdGVTY3JpcHQoY29udGV4
dCwgc2NyaXB0LCBOVUxMLCBOVUxMLCAxLCBOVUxMKTsKICAgICBBU1NFUlQoSlNWYWx1ZUlzRXF1
YWwoY29udGV4dCwgdiwgZ2xvYmFsT2JqZWN0LCBOVUxMKSk7CiAgICAgdiA9IEpTRXZhbHVhdGVT
Y3JpcHQoY29udGV4dCwgc2NyaXB0LCBvLCBOVUxMLCAxLCBOVUxMKTsKICAgICBBU1NFUlQoSlNW
YWx1ZUlzRXF1YWwoY29udGV4dCwgdiwgbywgTlVMTCkpOwogICAgIEpTU3RyaW5nUmVsZWFzZShz
Y3JpcHQpOwogCisgICAgSlNTY3JpcHRSZWYgc2NyaXB0T2JqZWN0ID0gSlNTY3JpcHRDcmVhdGVS
ZWZlcmVuY2luZ0ltbW9ydGFsQVNDSUlUZXh0KGNvbnRleHQsIDAsIDAsIHRoaXNTY3JpcHQsIHN0
cmxlbih0aGlzU2NyaXB0KSwgMCk7CisgICAgdiA9IEpTU2NyaXB0RXZhbHVhdGUoY29udGV4dCwg
c2NyaXB0T2JqZWN0LCBOVUxMLCBOVUxMKTsKKyAgICBBU1NFUlQoSlNWYWx1ZUlzRXF1YWwoY29u
dGV4dCwgdiwgZ2xvYmFsT2JqZWN0LCBOVUxMKSk7CisgICAgdiA9IEpTU2NyaXB0RXZhbHVhdGUo
Y29udGV4dCwgc2NyaXB0T2JqZWN0LCBvLCBOVUxMKTsKKyAgICBBU1NFUlQoSlNWYWx1ZUlzRXF1
YWwoY29udGV4dCwgdiwgbywgTlVMTCkpOworICAgIEpTU2NyaXB0UmVsZWFzZShjb250ZXh0LCBz
Y3JpcHRPYmplY3QpOworCiAgICAgc2NyaXB0ID0gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoImV2YWwodGhpcyk7Iik7CiAgICAgdiA9IEpTRXZhbHVhdGVTY3JpcHQoY29udGV4dCwgc2Ny
aXB0LCBOVUxMLCBOVUxMLCAxLCBOVUxMKTsKICAgICBBU1NFUlQoSlNWYWx1ZUlzRXF1YWwoY29u
dGV4dCwgdiwgZ2xvYmFsT2JqZWN0LCBOVUxMKSk7CkBAIC0xNjE2LDggKzE2MjgsMTcgQEAgaW50
IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgcHJpbnRmKCJGQUlMOiBUZXN0
IHNjcmlwdCBjb3VsZCBub3QgYmUgbG9hZGVkLlxuIik7CiAgICAgICAgIGZhaWxlZCA9IDE7CiAg
ICAgfSBlbHNlIHsKLSAgICAgICAgc2NyaXB0ID0gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoc2NyaXB0VVRGOCk7Ci0gICAgICAgIHJlc3VsdCA9IEpTRXZhbHVhdGVTY3JpcHQoY29udGV4
dCwgc2NyaXB0LCBOVUxMLCBOVUxMLCAxLCAmZXhjZXB0aW9uKTsKKyAgICAgICAgSlNTdHJpbmdS
ZWYgdXJsID0gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoc2NyaXB0UGF0aCk7CisgICAg
ICAgIEpTU3RyaW5nUmVmIHNjcmlwdCA9IEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHNj
cmlwdFVURjgpOworICAgICAgICBKU1NjcmlwdFJlZiBzY3JpcHRPYmplY3QgPSBKU1NjcmlwdENy
ZWF0ZUZyb21TdHJpbmcoY29udGV4dCwgdXJsLCAxLCBzY3JpcHQsICZleGNlcHRpb24pOworICAg
ICAgICBBU1NFUlQoKCFzY3JpcHRPYmplY3QpICE9ICghZXhjZXB0aW9uKSk7CisgICAgICAgIGlm
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgIHByaW50ZigiRkFJTDogVGVzdCBzY3JpcHQgZGlk
IG5vdCBwYXJzZVxuIik7CisgICAgICAgICAgICBmYWlsZWQgPSAxOworICAgICAgICB9CisKKyAg
ICAgICAgSlNTdHJpbmdSZWxlYXNlKHNjcmlwdCk7CisgICAgICAgIHJlc3VsdCA9IHNjcmlwdE9i
amVjdCA/IEpTU2NyaXB0RXZhbHVhdGUoY29udGV4dCwgc2NyaXB0T2JqZWN0LCAwLCAmZXhjZXB0
aW9uKSA6IDA7CiAgICAgICAgIGlmIChyZXN1bHQgJiYgSlNWYWx1ZUlzVW5kZWZpbmVkKGNvbnRl
eHQsIHJlc3VsdCkpCiAgICAgICAgICAgICBwcmludGYoIlBBU1M6IFRlc3Qgc2NyaXB0IGV4ZWN1
dGVkIHN1Y2Nlc3NmdWxseS5cbiIpOwogICAgICAgICBlbHNlIHsKQEAgLTE2MjksNyArMTY1MCw3
IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAgICAgICAgICBKU1N0cmlu
Z1JlbGVhc2UoZXhjZXB0aW9uSVN0cmluZyk7CiAgICAgICAgICAgICBmYWlsZWQgPSAxOwogICAg
ICAgICB9Ci0gICAgICAgIEpTU3RyaW5nUmVsZWFzZShzY3JpcHQpOworICAgICAgICBKU1Njcmlw
dFJlbGVhc2UoY29udGV4dCwgc2NyaXB0T2JqZWN0KTsKICAgICAgICAgZnJlZShzY3JpcHRVVEY4
KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBkMGIyZjE5
ZjkwMjgzN2VmNWQyMTgxNjVlYzA0YmE1NDY5NGZkZTlmLi40MDRlMjM2YzBhYmU5NzhiOWVkZTNj
OTdjZWI2YWYwZTM3ZjA0NDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01h
a2VMaXN0cy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBA
IC0zMiw2ICszMiw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgQVBJL0pTQ29u
dGV4dFJlZi5jcHAKICAgICBBUEkvSlNPYmplY3RSZWYuY3BwCiAgICAgQVBJL0pTUHJvZmlsZXJQ
cml2YXRlLmNwcAorICAgIEFQSS9KU1NjcmlwdFJlZi5jcHAKICAgICBBUEkvSlNTdHJpbmdSZWYu
Y3BwCiAgICAgQVBJL0pTVmFsdWVSZWYuY3BwCiAgICAgQVBJL0pTV2Vha09iamVjdE1hcFJlZlBy
aXZhdGUuY3BwCkBAIC00NTEsNiArNDUyLDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX0ZPUldBUkRJ
TkdfSEVBREVSU19GSUxFUwogICAgIEFQSS9KU0NvbnRleHRSZWZQcml2YXRlLmgKICAgICBBUEkv
SlNPYmplY3RSZWYuaAogICAgIEFQSS9KU09iamVjdFJlZlByaXZhdGUuaAorICAgIEFQSS9KU1Nj
cmlwdFJlZlByaXZhdGUuaAogICAgIEFQSS9KU1N0cmluZ1JlZi5oCiAgICAgQVBJL0pTU3RyaW5n
UmVmQ0YuaAogICAgIEFQSS9KU1N0cmluZ1JlZkJTVFIuaApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
R05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA0ZGVjNjZhZjRmOTI1Y2QzZDU2NzdjYWQ2ZjA0OGNm
MGQ0ZjEwZGE3Li5lYjk1ZTk4YWQyNjg0MGQ3NmYwNGFlYzRkOTZjNWIzZTU2YWI3ZDcxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTIsNiArNTIsOCBA
QCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTT2JqZWN0UmVmLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJl
ZlByaXZhdGUuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1JldGFpblB0ci5oIFwK
KwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTU2NyaXB0UmVmLmNwcCBcCisJU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU1NjcmlwdFJlZlByaXZhdGUuaCBcCiAJU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU1N0cmluZ1JlZi5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNWYWx1ZVJlZi5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXZWFrT2JqZWN0
TWFwUmVmSW50ZXJuYWwuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvaiBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUudmNwcm9qCmluZGV4IDNiNDY2ZjBmOGI4OTk1ZWY1NTFmZTU2OTI2
YWVjZjIwYTRiMDAwOTYuLmUyZDZmYjNiNjdkZWNhZjY3ODhjYTY4M2Y4MTYyOGVlMGZmMzcxNmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ov
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUudmNwcm9qCkBAIC0xNDYyLDYgKzE0NjIsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8
RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cQVBJXEpTU2NyaXB0UmVmLmNwcCIKKwkJCQk+
CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cQVBJXEpTU2Ny
aXB0UmVmUHJpdmF0ZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRp
dmVQYXRoPSIuLlwuLlxBUElcSlNTdHJpbmdSZWYuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZmM5Yzg1NTM0NmJhNGM1MjM4Y2NlNTAwZjgy
MmQ0MGQ2NjFiNzc2OC4uZTQ3OTkyNGEzNDkyNTUzYTQ2MWFiYzg4ZWY2NTVkNWIxZGI1YzU1NSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTYzNyw2ICs2MzcsOCBAQAogCQlBN0I0
OEY0OTBFRTg5MzZGMDBEQ0JEQjYgLyogRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0I0OERCNjBFRTc0Q0ZDMDBE
Q0JEQjYgLyogRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAgKi87IH07CiAJCUE3QjRBQ0FGMTQ4NEM5
Q0UwMEIzOEEzNiAvKiBKU0V4cG9ydE1hY3Jvcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTdCNEFDQUUxNDg0QzlDRTAwQjM4QTM2IC8qIEpTRXhwb3J0
TWFjcm9zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQTdCNjAxODIxNjM5RkQyQTAwMzcyQkEzIC8qIFVubGlua2VkQ29kZUJsb2NrLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNzlFNzgxRjE1RUVDQkE4
MDA0N0M4NTUgLyogVW5saW5rZWRDb2RlQmxvY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBN0MwQzRBQzE2ODEwMzAyMDAxNzAxMUQgLyogSlNT
Y3JpcHRSZWZQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBN0MwQzRBQjE2N0MwOENEMDAxNzAxMUQgLyogSlNTY3JpcHRSZWZQcml2YXRlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTdDMEM0
QUQxNjgxMDY3RTAwMTcwMTFEIC8qIEpTU2NyaXB0UmVmLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QzBDNEFBMTY3QzA4Q0QwMDE3MDExRCAvKiBK
U1NjcmlwdFJlZi5jcHAgKi87IH07CiAJCUE3QzFFOEU0MTEyRTcyRUYwMEEzN0Y5OCAvKiBKSVRQ
cm9wZXJ0eUFjY2VzczMyXzY0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE3QzFFOEM4MTEyRTcwMUMwMEEzN0Y5OCAvKiBKSVRQcm9wZXJ0eUFjY2Vz
czMyXzY0LmNwcCAqLzsgfTsKIAkJQTdEQ0I5NzMxMkU1MTkzRjAwOTExOTQwIC8qIFdyaXRlQmFy
cmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdE
Q0I3NzkxMkUzRDkwNTAwOTExOTQwIC8qIFdyaXRlQmFycmllci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE3RTJFQTZCMEZCNDYwQ0YwMDYwMUYw
NiAvKiBMaXRlcmFsUGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBN0UyRUE2OTBGQjQ2MENGMDA2MDFGMDYgLyogTGl0ZXJhbFBhcnNlci5oICov
OyB9OwpAQCAtMTQ4OSw2ICsxNDkxLDggQEAKIAkJQTdCNDhEQjUwRUU3NENGQzAwRENCREI2IC8q
IEV4ZWN1dGFibGVBbGxvY2F0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RXhlY3V0YWJsZUFsbG9jYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBN0I0
OERCNjBFRTc0Q0ZDMDBEQ0JEQjYgLyogRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFeGVjdXRhYmxlQWxsb2NhdG9yLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTdCNEFDQUUxNDg0QzlDRTAwQjM4QTM2IC8qIEpT
RXhwb3J0TWFjcm9zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXhwb3J0
TWFjcm9zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3QzBDNEFBMTY3QzA4Q0Qw
MDE3MDExRCAvKiBKU1NjcmlwdFJlZi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU1NjcmlwdFJlZi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE3
QzBDNEFCMTY3QzA4Q0QwMDE3MDExRCAvKiBKU1NjcmlwdFJlZlByaXZhdGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTY3JpcHRSZWZQcml2YXRlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE3QzFFOEM4MTEyRTcwMUMwMEEzN0Y5OCAvKiBKSVRQcm9wZXJ0
eUFjY2VzczMyXzY0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJ
VFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
N0MyMjVDQzEzOTk4MUYxMDBGRjE2NjIgLyogS2V5d29yZExvb2t1cEdlbmVyYXRvci5weSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9IEtleXdvcmRMb29rdXBHZW5lcmF0b3Iu
cHk7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3QzIyNUNEMTM5OTg0OUMwMEZGMTY2
MiAvKiBLZXl3b3JkTG9va3VwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEtl
eXdvcmRMb29rdXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwNTMsNiArMjA1
Nyw4IEBACiAJCQkJOTU5ODhCQTkwRTQ3N0JFQzAwRDI4RDREIC8qIEpTUHJvZmlsZXJQcml2YXRl
LmNwcCAqLywKIAkJCQk5NTJDNjNBQzBFNDc3N0Q2MDBDMTM5MzYgLyogSlNQcm9maWxlclByaXZh
dGUuaCAqLywKIAkJCQk5NUMxOEQzRTBDOTBFN0VGMDBFNzJGNzMgLyogSlNSZXRhaW5QdHIuaCAq
LywKKwkJCQlBN0MwQzRBQTE2N0MwOENEMDAxNzAxMUQgLyogSlNTY3JpcHRSZWYuY3BwICovLAor
CQkJCUE3QzBDNEFCMTY3QzA4Q0QwMDE3MDExRCAvKiBKU1NjcmlwdFJlZlByaXZhdGUuaCAqLywK
IAkJCQkxNDgyQjc0QzBBNDMwMzI4MDA1MTdDRkMgLyogSlNTdHJpbmdSZWYuY3BwICovLAogCQkJ
CTE0ODJCNzRCMEE0MzAzMjgwMDUxN0NGQyAvKiBKU1N0cmluZ1JlZi5oICovLAogCQkJCTE0NkFB
QjM3MEI2NkE5NDQwMEU1NUYxNiAvKiBKU1N0cmluZ1JlZkNGLmNwcCAqLywKQEAgLTMxNzksNiAr
MzE4NSw3IEBACiAJCQkJMEZGNjBBQzIxNjc0MEY4MzAwMDI5Nzc5IC8qIFJlZHVjZVdoaXRlc3Bh
Y2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMTM5MTJBMTY3NzFDMzYwMDlDQ0IwNyAvKiBQcm9m
aWxlckJ5dGVjb2RlU2VxdWVuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMTM5MTJDMTY3NzFD
M0QwMDlDQ0IwNyAvKiBQcm9maWxlclByb2ZpbGVkQnl0ZWNvZGVzLmggaW4gSGVhZGVycyAqLywK
KwkJCQlBN0MwQzRBQzE2ODEwMzAyMDAxNzAxMUQgLyogSlNTY3JpcHRSZWZQcml2YXRlLmggaW4g
SGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKIAkJfTsKQEAgLTM3ODEsNiArMzc4OCw3IEBACiAJCQkJMEZGNjBBQzMxNjc0MEY4ODAw
MDI5Nzc5IC8qIFJlZHVjZVdoaXRlc3BhY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYxMzkx
MjkxNjc3MUMzMzAwOUNDQjA3IC8qIFByb2ZpbGVyQnl0ZWNvZGVTZXF1ZW5jZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRjEzOTEyQjE2NzcxQzNBMDA5Q0NCMDcgLyogUHJvZmlsZXJQcm9maWxl
ZEJ5dGVjb2Rlcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBN0MwQzRBRDE2ODEwNjdFMDAxNzAx
MUQgLyogSlNTY3JpcHRSZWYuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9UYXJnZXQu
cHJpCmluZGV4IGUwYzY3MWZiZGM3MWVlNmFlNWQyZDI5ZDU4OTIxZWM5NTQxMWM0OWIuLmMyYmU1
OGE2MjhjMzM3OGVlNTYzZTBjODM0ZTU3NWVhN2IyNGI0MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9UYXJn
ZXQucHJpCkBAIC00MCw2ICs0MCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIEFQSS9KU0NsYXNzUmVm
LmNwcCBcCiAgICAgQVBJL0pTQ29udGV4dFJlZi5jcHAgXAogICAgIEFQSS9KU09iamVjdFJlZi5j
cHAgXAorICAgIEFQSS9KU1NjcmlwdFJlZi5jcHAgXAogICAgIEFQSS9KU1N0cmluZ1JlZi5jcHAg
XAogICAgIEFQSS9KU1ZhbHVlUmVmLmNwcCBcCiAgICAgQVBJL0pTV2Vha09iamVjdE1hcFJlZlBy
aXZhdGUuY3BwIFwK
</data>
<flag name="review"
          id="197199"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>