<?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>95531</bug_id>
          
          <creation_ts>2012-08-31 00:13:51 -0700</creation_ts>
          <short_desc>JSC: Refactor LLInt and supporting code in preparation for the C Loop backend</short_desc>
          <delta_ts>2012-08-31 16:25:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</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="Mark Lam">mark.lam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>709342</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-08-31 00:13:51 -0700</bug_when>
    <thetext>Refactor LLInt and supporting code in preparation for the C Loop backend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709362</commentid>
    <comment_count>1</comment_count>
      <attachid>161634</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-08-31 01:11:38 -0700</bug_when>
    <thetext>Created attachment 161634
Fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709364</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-31 01:13:37 -0700</bug_when>
    <thetext>Attachment 161634 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1
Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:40:  Extra space before )  [whitespace/parens] [2]
Total errors found: 1 in 14 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>709370</commentid>
    <comment_count>3</comment_count>
      <attachid>161634</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-08-31 01:22:03 -0700</bug_when>
    <thetext>Comment on attachment 161634
Fix.

Attachment 161634 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13722060</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709373</commentid>
    <comment_count>4</comment_count>
      <attachid>161636</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-08-31 01:28:15 -0700</bug_when>
    <thetext>Created attachment 161636
Fixed typo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709376</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-31 01:29:59 -0700</bug_when>
    <thetext>Attachment 161636 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1
Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:40:  Extra space before )  [whitespace/parens] [2]
Total errors found: 1 in 14 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>710055</commentid>
    <comment_count>6</comment_count>
      <attachid>161636</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-31 16:25:05 -0700</bug_when>
    <thetext>Comment on attachment 161636
Fixed typo.

Clearing flags on attachment: 161636

Committed r127333: &lt;http://trac.webkit.org/changeset/127333&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710056</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-31 16:25:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161634</attachid>
            <date>2012-08-31 01:11:38 -0700</date>
            <delta_ts>2012-08-31 01:24:31 -0700</delta_ts>
            <desc>Fix.</desc>
            <filename>bug-95531.patch</filename>
            <type>text/plain</type>
            <size>19878</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI3MjM3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBA
CisyMDEyLTA4LTMxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZWZhY3RvciBMTEludCBhbmQgc3VwcG9ydGluZyBjb2RlIGluIHByZXBhcmF0aW9uIGZvciB0aGUg
QyBMb29wIGJhY2tlbmQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05NTUzMS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGJ5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwOgorICAgICAgICAoSlNDOjpHZXRC
eUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KToKKyAgICAgICAgKiBieXRlY29kZS9QdXRCeUlk
U3RhdHVzLmNwcDoKKyAgICAgICAgKEpTQzo6UHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb21MTElu
dCk6CisgICAgICAgICogaml0L0pJVEV4Y2VwdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpnZW5l
cmljVGhyb3cpOiBVc2UgRXhlY3V0YWJsZUJhc2U6OmNhdGNoUm91dGluZUZvcigpIHRvIGZldGNo
CisgICAgICAgICAgICBmZXRjaCB0aGUgY2F0Y2ggcm91dGluZSBmb3IgYSB0aHJvd24gZXhjZXB0
aW9uLiAgVGhpcyB3aWxsIGFsbG93CisgICAgICAgICAgICB1cyB0byByZWRlZmluZSB0aGF0IGZv
ciB0aGUgQyBsb29wIGxhdGVyLCBhbmQgc3RpbGwga2VlcCB0aGlzCisgICAgICAgICAgICBjb2Rl
IHJlYWRhYmxlLgorICAgICAgICAqIGxsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZpZy5oOiBNb3Zl
ZCBBU00gbWFjcm9zIHRvCisgICAgICAgICAgICBMb3dMZXZlbEludGVycHJldGVyLmNwcCB3aGlj
aCBpcyB0aGUgb25seSBwbGFjZSB0aGV5IGFyZSB1c2VkLiBUaGlzCisgICAgICAgICAgICB3aWxs
IG1ha2UgaXQgbW9yZSBjb252ZW5pZW50IHRvIHJlZGVmaW5lIHRoZW0gZm9yIHRoZSBDIGxvb3Ag
bGF0ZXIuCisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAgICAoSlND
OjpMTEludDo6c2V0VXBDYWxsKTogVXNlIEV4ZWN1dGFibGVCYXNlJ3MgaG9zdENvZGVFbnRyeSgp
CisgICAgICAgICAgICBqc0NvZGVFbnRyeUZvcigpLCBhbmQganNDb2RlV2l0aEFyaXR5Q2hlY2tF
bnRyeUZvcigpIGZvciBjb21wdXRpbmcKKyAgICAgICAgICAgIHRoZSBlbnRyeSBwb2ludHMgdG8g
ZnVuY3Rpb25zIGJlaW5nIGNhbGxlZC4KKyAgICAgICAgKiBsbGludC9MTEludFNsb3dQYXRocy5o
OgorICAgICAgICAoU2xvd1BhdGhSZXR1cm5UeXBlKToKKyAgICAgICAgKEpTQzo6TExJbnQ6OmVu
Y29kZVJlc3VsdCk6CisgICAgICAgIChMTEludCk6CisgICAgICAgIChKU0M6OkxMSW50OjpkZWNv
ZGVSZXN1bHQpOiBBZGRlZC4gIE5lZWRlZCBieSBMTEludCBDIExvb3AgbGF0ZXIuCisgICAgICAg
ICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206CisgICAgICAgICogbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5jcHA6CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMy
XzY0LmFzbToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOgorICAg
ICAgICAqIG9mZmxpbmVhc20vYXNtLnJiOiBEaXNhbWJpZ3VhdGUgYmV0d2VlbiBvcGNvZGVzIGFu
ZCBvdGhlciBsYWJlbHMuCisgICAgICAgICogb2ZmbGluZWFzbS9jb25maWcucmI6CisgICAgICAg
ICogcnVudGltZS9FeGVjdXRhYmxlLmg6CisgICAgICAgIChKU0M6OkV4ZWN1dGFibGVCYXNlOjpo
b3N0Q29kZUVudHJ5Rm9yKTogQWRkZWQuCisgICAgICAgIChFeGVjdXRhYmxlQmFzZSk6CisgICAg
ICAgIChKU0M6OkV4ZWN1dGFibGVCYXNlOjpqc0NvZGVFbnRyeUZvcik6IEFkZGVkLgorICAgICAg
ICAoSlNDOjpFeGVjdXRhYmxlQmFzZTo6anNDb2RlV2l0aEFyaXR5Q2hlY2tFbnRyeUZvcik6IEFk
ZGVkLgorICAgICAgICAoSlNDOjpFeGVjdXRhYmxlQmFzZTo6Y2F0Y2hSb3V0aW5lRm9yKTogQWRk
ZWQuCisgICAgICAgICogcnVudGltZS9KU1ZhbHVlSW5saW5lTWV0aG9kcy5oOgorICAgICAgICAo
SlNDKToKKwogMjAxMi0wOC0zMCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAg
ICAgICAgIEFTU0VSVElPTiBGQUlMVVJFIGluIEpTQzo6SlNHbG9iYWxEYXRhOjpmbG9hdDMyQXJy
YXlEZXNjcmlwdG9yIHdoZW4gcnVubmluZyBmYXN0L2pzL2RmZy1mbG9hdDY0YXJyYXkuaHRtbApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVz
LmNwcAkocmV2aXNpb24gMTI3MjIzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0dldEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNp
bmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJKU1Njb3BlLmgiCisjaW5jbHVkZSAiTExJ
bnRkYXRhLmgiCiAjaW5jbHVkZSAiTG93TGV2ZWxJbnRlcnByZXRlci5oIgogCiBuYW1lc3BhY2Ug
SlNDIHsKQEAgLTQwLDcgKzQxLDcgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21w
dXRlRnJvbQogI2lmIEVOQUJMRShMTElOVCkKICAgICBJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24g
PSBwcm9maWxlZEJsb2NrLT5pbnN0cnVjdGlvbnMoKS5iZWdpbigpICsgYnl0ZWNvZGVJbmRleDsK
ICAgICAKLSAgICBpZiAoaW5zdHJ1Y3Rpb25bMF0udS5vcGNvZGUgPT0gbGxpbnRfb3BfbWV0aG9k
X2NoZWNrKQorICAgIGlmIChpbnN0cnVjdGlvblswXS51Lm9wY29kZSA9PSBMTEludDo6Z2V0T3Bj
b2RlKGxsaW50X29wX21ldGhvZF9jaGVjaykpCiAgICAgICAgIGluc3RydWN0aW9uKys7CiAKICAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGluc3RydWN0aW9uWzRdLnUuc3RydWN0dXJlLmdldCgp
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3Rh
dHVzLmNwcAkocmV2aXNpb24gMTI3MjIzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1B1dEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAj
aW5jbHVkZSAiUHV0QnlJZFN0YXR1cy5oIgogCiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCisjaW5j
bHVkZSAiTExJbnREYXRhLmgiCiAjaW5jbHVkZSAiTG93TGV2ZWxJbnRlcnByZXRlci5oIgogI2lu
Y2x1ZGUgIlN0cnVjdHVyZS5oIgogI2luY2x1ZGUgIlN0cnVjdHVyZUNoYWluLmgiCkBAIC00NSw4
ICs0Niw4IEBAIFB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb20KICAgICBp
ZiAoIXN0cnVjdHVyZSkKICAgICAgICAgcmV0dXJuIFB1dEJ5SWRTdGF0dXMoTm9JbmZvcm1hdGlv
biwgMCwgMCwgMCwgaW52YWxpZE9mZnNldCk7CiAgICAgCi0gICAgaWYgKGluc3RydWN0aW9uWzBd
LnUub3Bjb2RlID09IGxsaW50X29wX3B1dF9ieV9pZAotICAgICAgICB8fCBpbnN0cnVjdGlvblsw
XS51Lm9wY29kZSA9PSBsbGludF9vcF9wdXRfYnlfaWRfb3V0X29mX2xpbmUpIHsKKyAgICBpZiAo
aW5zdHJ1Y3Rpb25bMF0udS5vcGNvZGUgPT0gTExJbnQ6OmdldE9wY29kZShsbGludF9vcF9wdXRf
YnlfaWQpCisgICAgICAgIHx8IGluc3RydWN0aW9uWzBdLnUub3Bjb2RlID09IExMSW50OjpnZXRP
cGNvZGUobGxpbnRfb3BfcHV0X2J5X2lkX291dF9vZl9saW5lKSkgewogICAgICAgICBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPmdldCgqcHJvZmlsZWRCbG9jay0+Z2xvYmFsRGF0
YSgpLCBpZGVudCk7CiAgICAgICAgIGlmICghaXNWYWxpZE9mZnNldChvZmZzZXQpKQogICAgICAg
ICAgICAgcmV0dXJuIFB1dEJ5SWRTdGF0dXMoTm9JbmZvcm1hdGlvbiwgMCwgMCwgMCwgaW52YWxp
ZE9mZnNldCk7CkBAIC01NiwxMCArNTcsMTAgQEAgUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVz
Ojpjb21wdXRlRnJvbQogICAgIAogICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnRyYW5zaXRpb25XYXRj
aHBvaW50U2V0SGFzQmVlbkludmFsaWRhdGVkKCkpOwogICAgIAotICAgIEFTU0VSVChpbnN0cnVj
dGlvblswXS51Lm9wY29kZSA9PSBsbGludF9vcF9wdXRfYnlfaWRfdHJhbnNpdGlvbl9kaXJlY3QK
LSAgICAgICAgICAgfHwgaW5zdHJ1Y3Rpb25bMF0udS5vcGNvZGUgPT0gbGxpbnRfb3BfcHV0X2J5
X2lkX3RyYW5zaXRpb25fbm9ybWFsCi0gICAgICAgICAgIHx8IGluc3RydWN0aW9uWzBdLnUub3Bj
b2RlID09IGxsaW50X29wX3B1dF9ieV9pZF90cmFuc2l0aW9uX2RpcmVjdF9vdXRfb2ZfbGluZQot
ICAgICAgICAgICB8fCBpbnN0cnVjdGlvblswXS51Lm9wY29kZSA9PSBsbGludF9vcF9wdXRfYnlf
aWRfdHJhbnNpdGlvbl9ub3JtYWxfb3V0X29mX2xpbmUpOworICAgIEFTU0VSVChpbnN0cnVjdGlv
blswXS51Lm9wY29kZSA9PSBMTEludDo6Z2V0T3Bjb2RlKGxsaW50X29wX3B1dF9ieV9pZF90cmFu
c2l0aW9uX2RpcmVjdCkKKyAgICAgICAgICAgfHwgaW5zdHJ1Y3Rpb25bMF0udS5vcGNvZGUgPT0g
TExJbnQ6OmdldE9wY29kZShsbGludF9vcF9wdXRfYnlfaWRfdHJhbnNpdGlvbl9ub3JtYWwpCisg
ICAgICAgICAgIHx8IGluc3RydWN0aW9uWzBdLnUub3Bjb2RlID09IExMSW50OjpnZXRPcGNvZGUo
bGxpbnRfb3BfcHV0X2J5X2lkX3RyYW5zaXRpb25fZGlyZWN0X291dF9vZl9saW5lKQorICAgICAg
ICAgICB8fCBpbnN0cnVjdGlvblswXS51Lm9wY29kZSA9PSBMTEludDo6Z2V0T3Bjb2RlKGxsaW50
X29wX3B1dF9ieV9pZF90cmFuc2l0aW9uX25vcm1hbF9vdXRfb2ZfbGluZSkpOwogICAgIAogICAg
IFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gaW5zdHJ1Y3Rpb25bNl0udS5zdHJ1Y3R1cmUuZ2V0
KCk7CiAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gaW5zdHJ1Y3Rpb25bN10udS5zdHJ1Y3R1
cmVDaGFpbi5nZXQoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklURXhjZXB0
aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRFeGNl
cHRpb25zLmNwcAkocmV2aXNpb24gMTI3MjIzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRFeGNlcHRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcsOCArNDcsOCBAQCBFeGNl
cHRpb25IYW5kbGVyIGdlbmVyaWNUaHJvdyhKU0dsb2JhbERhCiAgICAgdm9pZCogY2F0Y2hSb3V0
aW5lOwogICAgIEluc3RydWN0aW9uKiBjYXRjaFBDRm9ySW50ZXJwcmV0ZXIgPSAwOwogICAgIGlm
IChoYW5kbGVyKSB7Ci0gICAgICAgIGNhdGNoUm91dGluZSA9IGhhbmRsZXItPm5hdGl2ZUNvZGUu
ZXhlY3V0YWJsZUFkZHJlc3MoKTsKICAgICAgICAgY2F0Y2hQQ0ZvckludGVycHJldGVyID0gJmNh
bGxGcmFtZS0+Y29kZUJsb2NrKCktPmluc3RydWN0aW9ucygpW2hhbmRsZXItPnRhcmdldF07Cisg
ICAgICAgIGNhdGNoUm91dGluZSA9IEV4ZWN1dGFibGVCYXNlOjpjYXRjaFJvdXRpbmVGb3IoaGFu
ZGxlciwgY2F0Y2hQQ0ZvckludGVycHJldGVyKTsKICAgICB9IGVsc2UKICAgICAgICAgY2F0Y2hS
b3V0aW5lID0gRnVuY3Rpb25QdHIoTExJbnQ6OmdldENvZGVQdHIoY3RpT3BUaHJvd05vdENhdWdo
dCkpLnZhbHVlKCk7CiAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJ
bnRPZmZsaW5lQXNtQ29uZmlnLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZpZy5oCShyZXZpc2lvbiAxMjcyMjMpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTkxLDI0ICs5MSw0IEBACiAjZGVmaW5lIE9GRkxJTkVfQVNNX1ZBTFVFX1BST0ZJ
TEVSIDAKICNlbmRpZgogCi0vLyBUaGVzZSBhcmUgZm9yIGJ1aWxkaW5nIGFuIGludGVycHJldGVy
IGZyb20gZ2VuZXJhdGVkIGFzc2VtYmx5IGNvZGU6Ci0jZGVmaW5lIE9GRkxJTkVfQVNNX0JFR0lO
ICAgYXNtICgKLSNkZWZpbmUgT0ZGTElORV9BU01fRU5EICAgICApOwotCi0jaWYgQ1BVKEFSTV9U
SFVNQjIpCi0jZGVmaW5lIE9GRkxJTkVfQVNNX0dMT0JBTF9MQUJFTChsYWJlbCkgICAgICAgICAg
XAotICAgICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGxhYmVsKSAiXG4iICAgICAgICAgIFwKLSAg
ICBISURFX1NZTUJPTChsYWJlbCkgIlxuIiAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIi50
aHVtYlxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICIudGh1bWJf
ZnVuYyAiIFRIVU1CX0ZVTkNfUEFSQU0obGFiZWwpICJcbiIgIFwKLSAgICBTWU1CT0xfU1RSSU5H
KGxhYmVsKSAiOlxuIgotI2Vsc2UKLSNkZWZpbmUgT0ZGTElORV9BU01fR0xPQkFMX0xBQkVMKGxh
YmVsKSAgICAgICAgIFwKLSAgICAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhsYWJlbCkgIlxuIiAg
ICAgICAgIFwKLSAgICBISURFX1NZTUJPTChsYWJlbCkgIlxuIiAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBTWU1CT0xfU1RSSU5HKGxhYmVsKSAiOlxuIgotI2VuZGlmCi0KLSNkZWZpbmUgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwobGFiZWwpICAgTE9DQUxfTEFCRUxfU1RSSU5HKGxhYmVsKSAi
OlxuIgotCiAjZW5kaWYgLy8gTExJbnRPZmZsaW5lQXNtQ29uZmlnX2gKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAkocmV2aXNpb24gMTI3
MjIzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTM1MSw3ICsxMzUxLDcgQEAgaW5saW5lIFNsb3dQYXRoUmV0dXJu
VHlwZSBzZXRVcENhbGwoRXhlYwogICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0ciBjb2RlUHRyOwog
ICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gMDsKICAgICBpZiAoZXhlY3V0YWJsZS0+aXNIb3N0
RnVuY3Rpb24oKSkKLSAgICAgICAgY29kZVB0ciA9IGV4ZWN1dGFibGUtPmdlbmVyYXRlZEpJVENv
ZGVGb3Ioa2luZCkuYWRkcmVzc0ZvckNhbGwoKTsKKyAgICAgICAgY29kZVB0ciA9IGV4ZWN1dGFi
bGUtPmhvc3RDb2RlRW50cnlGb3Ioa2luZCk7CiAgICAgZWxzZSB7CiAgICAgICAgIEZ1bmN0aW9u
RXhlY3V0YWJsZSogZnVuY3Rpb25FeGVjdXRhYmxlID0gc3RhdGljX2Nhc3Q8RnVuY3Rpb25FeGVj
dXRhYmxlKj4oZXhlY3V0YWJsZSk7CiAgICAgICAgIEpTT2JqZWN0KiBlcnJvciA9IGZ1bmN0aW9u
RXhlY3V0YWJsZS0+Y29tcGlsZUZvcihleGVjQ2FsbGVlLCBjYWxsZWUtPnNjb3BlKCksIGtpbmQp
OwpAQCAtMTM2MCw5ICsxMzYwLDkgQEAgaW5saW5lIFNsb3dQYXRoUmV0dXJuVHlwZSBzZXRVcENh
bGwoRXhlYwogICAgICAgICBjb2RlQmxvY2sgPSAmZnVuY3Rpb25FeGVjdXRhYmxlLT5nZW5lcmF0
ZWRCeXRlY29kZUZvcihraW5kKTsKICAgICAgICAgQVNTRVJUKGNvZGVCbG9jayk7CiAgICAgICAg
IGlmIChleGVjQ2FsbGVlLT5hcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcygpIDwgc3RhdGljX2Nh
c3Q8c2l6ZV90Pihjb2RlQmxvY2stPm51bVBhcmFtZXRlcnMoKSkpCi0gICAgICAgICAgICBjb2Rl
UHRyID0gZnVuY3Rpb25FeGVjdXRhYmxlLT5nZW5lcmF0ZWRKSVRDb2RlV2l0aEFyaXR5Q2hlY2tG
b3Ioa2luZCk7CisgICAgICAgICAgICBjb2RlUHRyID0gZnVuY3Rpb25FeGVjdXRhYmxlLT5qc0Nv
ZGVXaXRoQXJpdHlDaGVja0VudHJ5Rm9yKGtpbmQpOwogICAgICAgICBlbHNlCi0gICAgICAgICAg
ICBjb2RlUHRyID0gZnVuY3Rpb25FeGVjdXRhYmxlLT5nZW5lcmF0ZWRKSVRDb2RlRm9yKGtpbmQp
LmFkZHJlc3NGb3JDYWxsKCk7CisgICAgICAgICAgICBjb2RlUHRyID0gZnVuY3Rpb25FeGVjdXRh
YmxlLT5qc0NvZGVFbnRyeUZvcihraW5kKTsKICAgICB9CiAgICAgCiAgICAgaWYgKGNhbGxMaW5r
SW5mbykgewpAQCAtMTM3NSw3ICsxMzc1LDcgQEAgaW5saW5lIFNsb3dQYXRoUmV0dXJuVHlwZSBz
ZXRVcENhbGwoRXhlYwogICAgICAgICBpZiAoY29kZUJsb2NrKQogICAgICAgICAgICAgY29kZUJs
b2NrLT5saW5rSW5jb21pbmdDYWxsKGNhbGxMaW5rSW5mbyk7CiAgICAgfQotICAgIAorCiAgICAg
TExJTlRfQ0FMTF9SRVRVUk4oZXhlY0NhbGxlZSwgcGMsIGNvZGVQdHIuZXhlY3V0YWJsZUFkZHJl
c3MoKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQ
YXRocy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNs
b3dQYXRocy5oCShyZXZpc2lvbiAxMjcyMjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuaAkod29ya2luZyBjb3B5KQpAQCAtNDQsMzMgKzQ0LDUwIEBAIG5h
bWVzcGFjZSBMTEludCB7CiAvLyB3YXJuaW5ncywgb3Igd29yc2UsIGEgY2hhbmdlIGluIHRoZSBB
QkkgdXNlZCB0byByZXR1cm4gdGhlc2UgdHlwZXMuCiBzdHJ1Y3QgU2xvd1BhdGhSZXR1cm5UeXBl
IHsKICAgICB2b2lkKiBhOwotICAgIHZvaWQqIGI7CisgICAgRXhlY1N0YXRlKiBiOwogfTsKIAot
aW5saW5lIFNsb3dQYXRoUmV0dXJuVHlwZSBlbmNvZGVSZXN1bHQodm9pZCogYSwgdm9pZCogYikK
K2lubGluZSBTbG93UGF0aFJldHVyblR5cGUgZW5jb2RlUmVzdWx0KHZvaWQqIGEsIEV4ZWNTdGF0
ZSogYikKIHsKICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0OwogICAgIHJlc3VsdC5hID0g
YTsKICAgICByZXN1bHQuYiA9IGI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLSNlbHNlCisKK2lu
bGluZSB2b2lkIGRlY29kZVJlc3VsdChTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0LCB2b2lkKiYg
YSwgRXhlY1N0YXRlKiYgYikKK3sKKyAgICBhID0gcmVzdWx0LmE7CisgICAgYiA9IHJlc3VsdC5i
OworfQorCisjZWxzZSAvLyBVU0UoSlNWQUxVRTMyXzY0KQogdHlwZWRlZiBpbnQ2NF90IFNsb3dQ
YXRoUmV0dXJuVHlwZTsKIAotaW5saW5lIFNsb3dQYXRoUmV0dXJuVHlwZSBlbmNvZGVSZXN1bHQo
dm9pZCogYSwgdm9pZCogYikKK3R5cGVkZWYgdW5pb24geworICAgIHN0cnVjdCB7CisgICAgICAg
IHZvaWQqIGE7CisgICAgICAgIEV4ZWNTdGF0ZSogYjsKKyAgICB9IHBhaXI7CisgICAgaW50NjRf
dCBpOworfSBTbG93UGF0aFJldHVyblR5cGVFbmNvZGluZzsKKworaW5saW5lIFNsb3dQYXRoUmV0
dXJuVHlwZSBlbmNvZGVSZXN1bHQodm9pZCogYSwgRXhlY1N0YXRlKiBiKQogewotICAgIHVuaW9u
IHsKLSAgICAgICAgc3RydWN0IHsKLSAgICAgICAgICAgIHZvaWQqIGE7Ci0gICAgICAgICAgICB2
b2lkKiBiOwotICAgICAgICB9IHBhaXI7Ci0gICAgICAgIGludDY0X3QgaTsKLSAgICB9IHU7Cisg
ICAgU2xvd1BhdGhSZXR1cm5UeXBlRW5jb2RpbmcgdTsKICAgICB1LnBhaXIuYSA9IGE7CiAgICAg
dS5wYWlyLmIgPSBiOwogICAgIHJldHVybiB1Lmk7CiB9Ci0jZW5kaWYKKworaW5saW5lIHZvaWQg
ZGVjb2RlUmVzdWx0KFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQsIHZvaWQqJiBhLCBFeGVjU3Rh
dGUqJiBiKQoreworICAgIFNsb3dQYXRoUmV0dXJuVHlwZUVuY29kaW5nIHU7CisgICAgdS5pID0g
cmVzdWx0OworICAgIGEgPSB1LnBhaXIuYTsKKyAgICBiID0gdS5wYWlyLmI7Cit9CisjZW5kaWYg
Ly8gVVNFKEpTVkFMVUUzMl82NCkKIAogZXh0ZXJuICJDIiBTbG93UGF0aFJldHVyblR5cGUgbGxp
bnRfdHJhY2Vfb3BlcmFuZChFeGVjU3RhdGUqLCBJbnN0cnVjdGlvbiosIGludCBmcm9tV2hlcmUs
IGludCBvcGVyYW5kKTsKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3RyYWNl
X3ZhbHVlKEV4ZWNTdGF0ZSosIEluc3RydWN0aW9uKiwgaW50IGZyb21XaGVyZSwgaW50IG9wZXJh
bmQpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIzMl82NC5hc20KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20JKHJldmlzaW9uIDEyNzIyMykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDgsMTMgKzEwOCwxNCBAQCBtYWNybyBjQ2FsbDIoZnVuY3Rpb24sIGFyZzEs
IGFyZzIpCiAgICAgaWYgQVJNdjcKICAgICAgICAgbW92ZSBhcmcxLCB0MAogICAgICAgICBtb3Zl
IGFyZzIsIHQxCisgICAgICAgIGNhbGwgZnVuY3Rpb24KICAgICBlbHNpZiBYODYKICAgICAgICAg
cG9rZSBhcmcxLCAwCiAgICAgICAgIHBva2UgYXJnMiwgMQorICAgICAgICBjYWxsIGZ1bmN0aW9u
CiAgICAgZWxzZQogICAgICAgICBlcnJvcgogICAgIGVuZAotICAgIGNhbGwgZnVuY3Rpb24KIGVu
ZAogCiAjIFRoaXMgYmFyZWx5IHdvcmtzLiBhcmczIGFuZCBhcmc0IHNob3VsZCBwcm9iYWJseSBi
ZSBpbW1lZGlhdGVzLgpAQCAtMTI0LDE1ICsxMjUsMTYgQEAgbWFjcm8gY0NhbGw0KGZ1bmN0aW9u
LCBhcmcxLCBhcmcyLCBhcmczLAogICAgICAgICBtb3ZlIGFyZzIsIHQxCiAgICAgICAgIG1vdmUg
YXJnMywgdDIKICAgICAgICAgbW92ZSBhcmc0LCB0MworICAgICAgICBjYWxsIGZ1bmN0aW9uCiAg
ICAgZWxzaWYgWDg2CiAgICAgICAgIHBva2UgYXJnMSwgMAogICAgICAgICBwb2tlIGFyZzIsIDEK
ICAgICAgICAgcG9rZSBhcmczLCAyCiAgICAgICAgIHBva2UgYXJnNCwgMworICAgICAgICBjYWxs
IGZ1bmN0aW9uCiAgICAgZWxzZQogICAgICAgICBlcnJvcgogICAgIGVuZAotICAgIGNhbGwgZnVu
Y3Rpb24KIGVuZAogCiBtYWNybyBjYWxsU2xvd1BhdGgoc2xvd1BhdGgpCkBAIC0xNjIyLDggKzE2
MjQsNyBAQCBtYWNybyBkb0NhbGwoc2xvd1BhdGgpCiAgICAgc3RvcmVpIENlbGxUYWcsIENhbGxl
ZSArIFRhZ09mZnNldFt0M10KICAgICBzdG9yZWkgQ2VsbFRhZywgU2NvcGVDaGFpbiArIFRhZ09m
ZnNldFt0M10KICAgICBtb3ZlIHQzLCBjZnIKLSAgICBjYWxsIExMSW50Q2FsbExpbmtJbmZvOjpt
YWNoaW5lQ29kZVRhcmdldFt0MV0KLSAgICBkaXNwYXRjaEFmdGVyQ2FsbCgpCisgICAgY2FsbFRh
cmdldEZ1bmN0aW9uKHQxKQogCiAub3BDYWxsU2xvdzoKICAgICBzbG93UGF0aEZvckNhbGwoNiwg
c2xvd1BhdGgpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQkocmV2aXNpb24gMTI3MjIzKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20JKHdvcmtpbmcgY29w
eSkKQEAgLTUxLDE4ICs1MSwyNiBAQCBtYWNybyBkaXNwYXRjaEFmdGVyQ2FsbCgpCiBlbmQKIAog
bWFjcm8gY0NhbGwyKGZ1bmN0aW9uLCBhcmcxLCBhcmcyKQotICAgIG1vdmUgYXJnMSwgdDUKLSAg
ICBtb3ZlIGFyZzIsIHQ0Ci0gICAgY2FsbCBmdW5jdGlvbgorICAgIGlmIFg4Nl82NAorICAgICAg
ICBtb3ZlIGFyZzEsIHQ1CisgICAgICAgIG1vdmUgYXJnMiwgdDQKKyAgICAgICAgY2FsbCBmdW5j
dGlvbgorICAgIGVsc2UKKyAgICAgICAgZXJyb3IKKyAgICBlbmQKIGVuZAogCiAjIFRoaXMgYmFy
ZWx5IHdvcmtzLiBhcmczIGFuZCBhcmc0IHNob3VsZCBwcm9iYWJseSBiZSBpbW1lZGlhdGVzLgog
bWFjcm8gY0NhbGw0KGZ1bmN0aW9uLCBhcmcxLCBhcmcyLCBhcmczLCBhcmc0KQotICAgIG1vdmUg
YXJnMSwgdDUKLSAgICBtb3ZlIGFyZzIsIHQ0Ci0gICAgbW92ZSBhcmczLCB0MQotICAgIG1vdmUg
YXJnNCwgdDIKLSAgICBjYWxsIGZ1bmN0aW9uCisgICAgaWYgWDg2XzY0CisgICAgICAgIG1vdmUg
YXJnMSwgdDUKKyAgICAgICAgbW92ZSBhcmcyLCB0NAorICAgICAgICBtb3ZlIGFyZzMsIHQxCisg
ICAgICAgIG1vdmUgYXJnNCwgdDIKKyAgICAgICAgY2FsbCBmdW5jdGlvbgorICAgIGVsc2UKKyAg
ICAgICAgZXJyb3IKKyAgICBlbmQKIGVuZAogCiBtYWNybyBwcmVwYXJlU3RhdGVGb3JDQ2FsbCgp
CkBAIC0xNDYwLDggKzE0NjgsNyBAQCBtYWNybyBkb0NhbGwoc2xvd1BhdGgpCiAgICAgc3RvcmVw
IGNmciwgQ2FsbGVyRnJhbWVbdDNdCiAgICAgc3RvcmVpIHQyLCBBcmd1bWVudENvdW50ICsgUGF5
bG9hZE9mZnNldFt0M10KICAgICBtb3ZlIHQzLCBjZnIKLSAgICBjYWxsIExMSW50Q2FsbExpbmtJ
bmZvOjptYWNoaW5lQ29kZVRhcmdldFt0MV0KLSAgICBkaXNwYXRjaEFmdGVyQ2FsbCgpCisgICAg
Y2FsbFRhcmdldEZ1bmN0aW9uKHQxKQogCiAub3BDYWxsU2xvdzoKICAgICBzbG93UGF0aEZvckNh
bGwoNiwgc2xvd1BhdGgpCkBAIC0xNjMyLDIxICsxNjM5LDI2IEBAIF9sbGludF90aHJvd19kdXJp
bmdfY2FsbF90cmFtcG9saW5lOgogCiBtYWNybyBuYXRpdmVDYWxsVHJhbXBvbGluZShleGVjdXRh
YmxlT2Zmc2V0VG9GdW5jdGlvbikKICAgICBzdG9yZXAgMCwgQ29kZUJsb2NrW2Nmcl0KLSAgICBs
b2FkcCBKSVRTdGFja0ZyYW1lOjpnbG9iYWxEYXRhICsgOFtzcF0sIHQwCi0gICAgc3RvcmVwIGNm
ciwgSlNHbG9iYWxEYXRhOjp0b3BDYWxsRnJhbWVbdDBdCi0gICAgbG9hZHAgQ2FsbGVyRnJhbWVb
Y2ZyXSwgdDAKLSAgICBsb2FkcCBTY29wZUNoYWluW3QwXSwgdDEKLSAgICBzdG9yZXAgdDEsIFNj
b3BlQ2hhaW5bY2ZyXQotICAgIHBlZWsgMCwgdDEKLSAgICBzdG9yZXAgdDEsIFJldHVyblBDW2Nm
cl0KLSAgICBtb3ZlIGNmciwgdDUgICMgdDUgPSByZGkKLSAgICBzdWJwIDE2IC0gOCwgc3AKLSAg
ICBsb2FkcCBDYWxsZWVbY2ZyXSwgdDQgIyB0NCA9IHJzaQotICAgIGxvYWRwIEpTRnVuY3Rpb246
Om1fZXhlY3V0YWJsZVt0NF0sIHQxCi0gICAgbW92ZSB0MCwgY2ZyICMgUmVzdG9yZSBjZnIgdG8g
YXZvaWQgbG9hZGluZyBmcm9tIHN0YWNrCi0gICAgY2FsbCBleGVjdXRhYmxlT2Zmc2V0VG9GdW5j
dGlvblt0MV0KLSAgICBhZGRwIDE2IC0gOCwgc3AKLSAgICBsb2FkcCBKSVRTdGFja0ZyYW1lOjpn
bG9iYWxEYXRhICsgOFtzcF0sIHQzCisgICAgaWYgWDg2XzY0CisgICAgICAgIGxvYWRwIEpJVFN0
YWNrRnJhbWU6Omdsb2JhbERhdGEgKyA4W3NwXSwgdDAKKyAgICAgICAgc3RvcmVwIGNmciwgSlNH
bG9iYWxEYXRhOjp0b3BDYWxsRnJhbWVbdDBdCisgICAgICAgIGxvYWRwIENhbGxlckZyYW1lW2Nm
cl0sIHQwCisgICAgICAgIGxvYWRwIFNjb3BlQ2hhaW5bdDBdLCB0MQorICAgICAgICBzdG9yZXAg
dDEsIFNjb3BlQ2hhaW5bY2ZyXQorICAgICAgICBwZWVrIDAsIHQxCisgICAgICAgIHN0b3JlcCB0
MSwgUmV0dXJuUENbY2ZyXQorICAgICAgICBtb3ZlIGNmciwgdDUgICMgdDUgPSByZGkKKyAgICAg
ICAgc3VicCAxNiAtIDgsIHNwCisgICAgICAgIGxvYWRwIENhbGxlZVtjZnJdLCB0NCAjIHQ0ID0g
cnNpCisgICAgICAgIGxvYWRwIEpTRnVuY3Rpb246Om1fZXhlY3V0YWJsZVt0NF0sIHQxCisgICAg
ICAgIG1vdmUgdDAsIGNmciAjIFJlc3RvcmUgY2ZyIHRvIGF2b2lkIGxvYWRpbmcgZnJvbSBzdGFj
aworICAgICAgICBjYWxsIGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uW3QxXQorICAgICAgICBh
ZGRwIDE2IC0gOCwgc3AKKyAgICAgICAgbG9hZHAgSklUU3RhY2tGcmFtZTo6Z2xvYmFsRGF0YSAr
IDhbc3BdLCB0MworICAgIGVsc2UKKyAgICAgICAgZXJyb3IKKyAgICBlbmQKKwogICAgIGJ0cG56
IEpTR2xvYmFsRGF0YTo6ZXhjZXB0aW9uW3QzXSwgLmV4Y2VwdGlvbgogICAgIHJldAogLmV4Y2Vw
dGlvbjoKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc20JKHJldmlzaW9uIDEyNzIyMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQkod29ya2luZyBjb3B5KQpAQCAtMTQ5
LDYgKzE0OSwxMSBAQCBtYWNybyB0cmFjZUV4ZWN1dGlvbigpCiAgICAgZW5kCiBlbmQKIAorbWFj
cm8gY2FsbFRhcmdldEZ1bmN0aW9uKGNhbGxMaW5rSW5mbykKKyAgICBjYWxsIExMSW50Q2FsbExp
bmtJbmZvOjptYWNoaW5lQ29kZVRhcmdldFtjYWxsTGlua0luZm9dCisgICAgZGlzcGF0Y2hBZnRl
ckNhbGwoKQorZW5kCisKIG1hY3JvIHNsb3dQYXRoRm9yQ2FsbChhZHZhbmNlLCBzbG93UGF0aCkK
ICAgICBjYWxsQ2FsbFNsb3dQYXRoKAogICAgICAgICBhZHZhbmNlLApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmNwcAkocmV2
aXNpb24gMTI3MjIzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSwzMyBAQAogI2luY2x1ZGUg
IkxMSW50T2ZmbGluZUFzbUNvbmZpZy5oIgogI2luY2x1ZGUgPHd0Zi9JbmxpbmVBU00uaD4KIAor
Ly89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09CisvLyBEZWZpbmUgdGhlIG9wY29kZSBkaXNwYXRjaCBtZWNo
YW5pc20gd2hlbiB1c2luZyBhbiBBU00gbG9vcDoKKy8vCisKKy8vIFRoZXNlIGFyZSBmb3IgYnVp
bGRpbmcgYW4gaW50ZXJwcmV0ZXIgZnJvbSBnZW5lcmF0ZWQgYXNzZW1ibHkgY29kZToKKyNkZWZp
bmUgT0ZGTElORV9BU01fQkVHSU4gICBhc20gKAorI2RlZmluZSBPRkZMSU5FX0FTTV9FTkQgICAg
ICk7CisKKyNkZWZpbmUgT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKF9fb3Bjb2RlKSBPRkZMSU5F
X0FTTV9HTE9CQUxfTEFCRUwobGxpbnRfIyNfX29wY29kZSkKKyNkZWZpbmUgT0ZGTElORV9BU01f
R0xVRV9MQUJFTChfX29wY29kZSkgICBPRkZMSU5FX0FTTV9HTE9CQUxfTEFCRUwoX19vcGNvZGUp
CisKKyNpZiBDUFUoQVJNX1RIVU1CMikKKyNkZWZpbmUgT0ZGTElORV9BU01fR0xPQkFMX0xBQkVM
KGxhYmVsKSAgICAgICAgICBcCisgICAgIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcobGFiZWwpICJc
biIgICAgICAgICAgXAorICAgIEhJREVfU1lNQk9MKGxhYmVsKSAiXG4iICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICAiLnRodW1iXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgIi50aHVtYl9mdW5jICIgVEhVTUJfRlVOQ19QQVJBTShsYWJlbCkgIlxuIiAgXAor
ICAgIFNZTUJPTF9TVFJJTkcobGFiZWwpICI6XG4iCisjZWxzZQorI2RlZmluZSBPRkZMSU5FX0FT
TV9HTE9CQUxfTEFCRUwobGFiZWwpICAgICAgICAgXAorICAgICIuZ2xvYmwgIiBTWU1CT0xfU1RS
SU5HKGxhYmVsKSAiXG4iICAgICAgICAgXAorICAgIEhJREVfU1lNQk9MKGxhYmVsKSAiXG4iICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIFNZTUJPTF9TVFJJTkcobGFiZWwpICI6XG4iCisjZW5k
aWYKKworI2RlZmluZSBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChsYWJlbCkgICBMT0NBTF9MQUJF
TF9TVFJJTkcobGFiZWwpICI6XG4iCisKIC8vIFRoaXMgaXMgYSBmaWxlIGdlbmVyYXRlZCBieSBv
ZmZsaW5lYXNtLCB3aGljaCBjb250YWlucyBhbGwgb2YgdGhlIGFzc2VtYmx5IGNvZGUKIC8vIGZv
ciB0aGUgaW50ZXJwcmV0ZXIsIGFzIGNvbXBpbGVkIGZyb20gTG93TGV2ZWxJbnRlcnByZXRlci5h
c20uCiAjaW5jbHVkZSAiTExJbnRBc3NlbWJseS5oIgpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL29mZmxpbmVhc20vYXNtLnJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9vZmZsaW5lYXNtL2FzbS5yYgkocmV2aXNpb24gMTI3MjIzKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL29mZmxpbmVhc20vYXNtLnJiCSh3b3JraW5nIGNvcHkpCkBAIC0xNTEsNyArMTUxLDEx
IEBAIGNsYXNzIEFzc2VtYmxlcgogICAgICAgICBAbnVtR2xvYmFsTGFiZWxzICs9IDEKICAgICAg
ICAgcHV0c05ld2xpbmVTcGFjZXJJZkFwcHJvcHJpYXRlKDpnbG9iYWwpCiAgICAgICAgIEBpbnRl
cm5hbENvbW1lbnQgPSAkZW5hYmxlTGFiZWxDb3VudENvbW1lbnRzID8gIkdsb2JhbCBMYWJlbCAj
e0BudW1HbG9iYWxMYWJlbHN9IiA6IG5pbAotICAgICAgICBAb3V0cC5wdXRzKGZvcm1hdER1bXAo
Ik9GRkxJTkVfQVNNX0dMT0JBTF9MQUJFTCgje2xhYmVsTmFtZX0pIiwgbGFzdENvbW1lbnQpKQor
ICAgICAgICBpZiAvXEFsbGludF9vcF8vLm1hdGNoKGxhYmVsTmFtZSkKKyAgICAgICAgICAgIEBv
dXRwLnB1dHMoZm9ybWF0RHVtcCgiT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wXyN7JH4ucG9z
dF9tYXRjaH0pIiwgbGFzdENvbW1lbnQpKQorICAgICAgICBlbHNlCisgICAgICAgICAgICBAb3V0
cC5wdXRzKGZvcm1hdER1bXAoIk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwoI3tsYWJlbE5hbWV9KSIs
IGxhc3RDb21tZW50KSkKKyAgICAgICAgZW5kCiAgICAgICAgIEBuZXdsaW5lU3BhY2VyU3RhdGUg
PSA6bm9uZSAjIEFmdGVyIGEgZ2xvYmFsIGxhYmVsLCB3ZSBjYW4gdXNlIGFub3RoZXIgc3BhY2Vy
LgogICAgIGVuZAogICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20v
Y29uZmlnLnJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNt
L2NvbmZpZy5yYgkocmV2aXNpb24gMTI3MjIzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL29m
ZmxpbmVhc20vY29uZmlnLnJiCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw3IEBACiAjIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKICMgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCi0kcHJlZmVy
cmVkQ29tbWVudFN0YXJ0Q29sdW1uID0gNzAKKyRwcmVmZXJyZWRDb21tZW50U3RhcnRDb2x1bW4g
PSA2MAogCiAKICMgVHVybnMgb24gZHVtcGluZyBvZiB0aGUgY291bnQgb2YgbGFiZWxzLgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuaAkocmV2aXNpb24g
MTI3MjIzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJDYWxsRGF0YS5oIgog
I2luY2x1ZGUgIkNvZGVTcGVjaWFsaXphdGlvbktpbmQuaCIKKyNpbmNsdWRlICJIYW5kbGVySW5m
by5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgog
I2luY2x1ZGUgIk5vZGVzLmgiCkBAIC0yMDIsNiArMjAzLDI3IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICB9CiAjZW5kaWYKIAorICAgICAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgaG9zdENv
ZGVFbnRyeUZvcihDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIHJldHVybiBnZW5lcmF0ZWRKSVRDb2RlRm9yKGtpbmQpLmFkZHJlc3NGb3JDYWxsKCk7
CisgICAgICAgIH0KKworICAgICAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIganNDb2RlRW50cnlG
b3IoQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQorICAgICAgICB7CisgICAgICAgICAgICBy
ZXR1cm4gZ2VuZXJhdGVkSklUQ29kZUZvcihraW5kKS5hZGRyZXNzRm9yQ2FsbCgpOworICAgICAg
ICB9CisKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyIGpzQ29kZVdpdGhBcml0eUNoZWNr
RW50cnlGb3IoQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQorICAgICAgICB7CisgICAgICAg
ICAgICByZXR1cm4gZ2VuZXJhdGVkSklUQ29kZVdpdGhBcml0eUNoZWNrRm9yKGtpbmQpOworICAg
ICAgICB9CisKKyAgICAgICAgc3RhdGljIHZvaWQqIGNhdGNoUm91dGluZUZvcihIYW5kbGVySW5m
byogaGFuZGxlciwgSW5zdHJ1Y3Rpb24qIGNhdGNoUENGb3JJbnRlcnByZXRlcikKKyAgICAgICAg
eworICAgICAgICAgICAgVU5VU0VEX1BBUkFNKGNhdGNoUENGb3JJbnRlcnByZXRlcik7CisgICAg
ICAgICAgICByZXR1cm4gaGFuZGxlci0+bmF0aXZlQ29kZS5leGVjdXRhYmxlQWRkcmVzcygpOwor
ICAgICAgICB9CisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIEV4ZWN1dGFibGVCYXNlKiBtX3By
ZXY7CiAgICAgICAgIEV4ZWN1dGFibGVCYXNlKiBtX25leHQ7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1ZhbHVlSW5saW5lTWV0aG9kcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWVJbmxpbmVNZXRob2RzLmgJKHJldmlz
aW9uIDEyNzIyMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWVJbmxp
bmVNZXRob2RzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMyMyw3ICszMjMsNyBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgcmV0dXJuIHBheWxvYWQoKTsKICAgICB9CiAKLSNlbHNlIC8vIFVTRShK
U1ZBTFVFMzJfNjQpCisjZWxzZSAvLyAhVVNFKEpTVkFMVUUzMl82NCkgaS5lLiBVU0UoSlNWQUxV
RTY0KQogCiAgICAgLy8gSlNWYWx1ZSBtZW1iZXIgZnVuY3Rpb25zLgogICAgIGlubGluZSBFbmNv
ZGVkSlNWYWx1ZSBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1ZSB2YWx1ZSkK
</data>
<flag name="commit-queue"
          id="172507"
          type_id="3"
          status="-"
          setter="gyuyoung.kim"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161636</attachid>
            <date>2012-08-31 01:28:15 -0700</date>
            <delta_ts>2012-08-31 16:25:05 -0700</delta_ts>
            <desc>Fixed typo.</desc>
            <filename>bug-95531.patch</filename>
            <type>text/plain</type>
            <size>19878</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI3MjM3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBA
CisyMDEyLTA4LTMxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZWZhY3RvciBMTEludCBhbmQgc3VwcG9ydGluZyBjb2RlIGluIHByZXBhcmF0aW9uIGZvciB0aGUg
QyBMb29wIGJhY2tlbmQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05NTUzMS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGJ5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwOgorICAgICAgICAoSlNDOjpHZXRC
eUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KToKKyAgICAgICAgKiBieXRlY29kZS9QdXRCeUlk
U3RhdHVzLmNwcDoKKyAgICAgICAgKEpTQzo6UHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb21MTElu
dCk6CisgICAgICAgICogaml0L0pJVEV4Y2VwdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpnZW5l
cmljVGhyb3cpOiBVc2UgRXhlY3V0YWJsZUJhc2U6OmNhdGNoUm91dGluZUZvcigpIHRvIGZldGNo
CisgICAgICAgICAgICBmZXRjaCB0aGUgY2F0Y2ggcm91dGluZSBmb3IgYSB0aHJvd24gZXhjZXB0
aW9uLiAgVGhpcyB3aWxsIGFsbG93CisgICAgICAgICAgICB1cyB0byByZWRlZmluZSB0aGF0IGZv
ciB0aGUgQyBsb29wIGxhdGVyLCBhbmQgc3RpbGwga2VlcCB0aGlzCisgICAgICAgICAgICBjb2Rl
IHJlYWRhYmxlLgorICAgICAgICAqIGxsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZpZy5oOiBNb3Zl
ZCBBU00gbWFjcm9zIHRvCisgICAgICAgICAgICBMb3dMZXZlbEludGVycHJldGVyLmNwcCB3aGlj
aCBpcyB0aGUgb25seSBwbGFjZSB0aGV5IGFyZSB1c2VkLiBUaGlzCisgICAgICAgICAgICB3aWxs
IG1ha2UgaXQgbW9yZSBjb252ZW5pZW50IHRvIHJlZGVmaW5lIHRoZW0gZm9yIHRoZSBDIGxvb3Ag
bGF0ZXIuCisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAgICAoSlND
OjpMTEludDo6c2V0VXBDYWxsKTogVXNlIEV4ZWN1dGFibGVCYXNlJ3MgaG9zdENvZGVFbnRyeSgp
CisgICAgICAgICAgICBqc0NvZGVFbnRyeUZvcigpLCBhbmQganNDb2RlV2l0aEFyaXR5Q2hlY2tF
bnRyeUZvcigpIGZvciBjb21wdXRpbmcKKyAgICAgICAgICAgIHRoZSBlbnRyeSBwb2ludHMgdG8g
ZnVuY3Rpb25zIGJlaW5nIGNhbGxlZC4KKyAgICAgICAgKiBsbGludC9MTEludFNsb3dQYXRocy5o
OgorICAgICAgICAoU2xvd1BhdGhSZXR1cm5UeXBlKToKKyAgICAgICAgKEpTQzo6TExJbnQ6OmVu
Y29kZVJlc3VsdCk6CisgICAgICAgIChMTEludCk6CisgICAgICAgIChKU0M6OkxMSW50OjpkZWNv
ZGVSZXN1bHQpOiBBZGRlZC4gIE5lZWRlZCBieSBMTEludCBDIExvb3AgbGF0ZXIuCisgICAgICAg
ICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206CisgICAgICAgICogbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5jcHA6CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMy
XzY0LmFzbToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOgorICAg
ICAgICAqIG9mZmxpbmVhc20vYXNtLnJiOiBEaXNhbWJpZ3VhdGUgYmV0d2VlbiBvcGNvZGVzIGFu
ZCBvdGhlciBsYWJlbHMuCisgICAgICAgICogb2ZmbGluZWFzbS9jb25maWcucmI6CisgICAgICAg
ICogcnVudGltZS9FeGVjdXRhYmxlLmg6CisgICAgICAgIChKU0M6OkV4ZWN1dGFibGVCYXNlOjpo
b3N0Q29kZUVudHJ5Rm9yKTogQWRkZWQuCisgICAgICAgIChFeGVjdXRhYmxlQmFzZSk6CisgICAg
ICAgIChKU0M6OkV4ZWN1dGFibGVCYXNlOjpqc0NvZGVFbnRyeUZvcik6IEFkZGVkLgorICAgICAg
ICAoSlNDOjpFeGVjdXRhYmxlQmFzZTo6anNDb2RlV2l0aEFyaXR5Q2hlY2tFbnRyeUZvcik6IEFk
ZGVkLgorICAgICAgICAoSlNDOjpFeGVjdXRhYmxlQmFzZTo6Y2F0Y2hSb3V0aW5lRm9yKTogQWRk
ZWQuCisgICAgICAgICogcnVudGltZS9KU1ZhbHVlSW5saW5lTWV0aG9kcy5oOgorICAgICAgICAo
SlNDKToKKwogMjAxMi0wOC0zMCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAg
ICAgICAgIEFTU0VSVElPTiBGQUlMVVJFIGluIEpTQzo6SlNHbG9iYWxEYXRhOjpmbG9hdDMyQXJy
YXlEZXNjcmlwdG9yIHdoZW4gcnVubmluZyBmYXN0L2pzL2RmZy1mbG9hdDY0YXJyYXkuaHRtbApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVz
LmNwcAkocmV2aXNpb24gMTI3MjIzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0dldEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNp
bmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJKU1Njb3BlLmgiCisjaW5jbHVkZSAiTExJ
bnREYXRhLmgiCiAjaW5jbHVkZSAiTG93TGV2ZWxJbnRlcnByZXRlci5oIgogCiBuYW1lc3BhY2Ug
SlNDIHsKQEAgLTQwLDcgKzQxLDcgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21w
dXRlRnJvbQogI2lmIEVOQUJMRShMTElOVCkKICAgICBJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24g
PSBwcm9maWxlZEJsb2NrLT5pbnN0cnVjdGlvbnMoKS5iZWdpbigpICsgYnl0ZWNvZGVJbmRleDsK
ICAgICAKLSAgICBpZiAoaW5zdHJ1Y3Rpb25bMF0udS5vcGNvZGUgPT0gbGxpbnRfb3BfbWV0aG9k
X2NoZWNrKQorICAgIGlmIChpbnN0cnVjdGlvblswXS51Lm9wY29kZSA9PSBMTEludDo6Z2V0T3Bj
b2RlKGxsaW50X29wX21ldGhvZF9jaGVjaykpCiAgICAgICAgIGluc3RydWN0aW9uKys7CiAKICAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGluc3RydWN0aW9uWzRdLnUuc3RydWN0dXJlLmdldCgp
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3Rh
dHVzLmNwcAkocmV2aXNpb24gMTI3MjIzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1B1dEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAj
aW5jbHVkZSAiUHV0QnlJZFN0YXR1cy5oIgogCiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCisjaW5j
bHVkZSAiTExJbnREYXRhLmgiCiAjaW5jbHVkZSAiTG93TGV2ZWxJbnRlcnByZXRlci5oIgogI2lu
Y2x1ZGUgIlN0cnVjdHVyZS5oIgogI2luY2x1ZGUgIlN0cnVjdHVyZUNoYWluLmgiCkBAIC00NSw4
ICs0Niw4IEBAIFB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb20KICAgICBp
ZiAoIXN0cnVjdHVyZSkKICAgICAgICAgcmV0dXJuIFB1dEJ5SWRTdGF0dXMoTm9JbmZvcm1hdGlv
biwgMCwgMCwgMCwgaW52YWxpZE9mZnNldCk7CiAgICAgCi0gICAgaWYgKGluc3RydWN0aW9uWzBd
LnUub3Bjb2RlID09IGxsaW50X29wX3B1dF9ieV9pZAotICAgICAgICB8fCBpbnN0cnVjdGlvblsw
XS51Lm9wY29kZSA9PSBsbGludF9vcF9wdXRfYnlfaWRfb3V0X29mX2xpbmUpIHsKKyAgICBpZiAo
aW5zdHJ1Y3Rpb25bMF0udS5vcGNvZGUgPT0gTExJbnQ6OmdldE9wY29kZShsbGludF9vcF9wdXRf
YnlfaWQpCisgICAgICAgIHx8IGluc3RydWN0aW9uWzBdLnUub3Bjb2RlID09IExMSW50OjpnZXRP
cGNvZGUobGxpbnRfb3BfcHV0X2J5X2lkX291dF9vZl9saW5lKSkgewogICAgICAgICBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPmdldCgqcHJvZmlsZWRCbG9jay0+Z2xvYmFsRGF0
YSgpLCBpZGVudCk7CiAgICAgICAgIGlmICghaXNWYWxpZE9mZnNldChvZmZzZXQpKQogICAgICAg
ICAgICAgcmV0dXJuIFB1dEJ5SWRTdGF0dXMoTm9JbmZvcm1hdGlvbiwgMCwgMCwgMCwgaW52YWxp
ZE9mZnNldCk7CkBAIC01NiwxMCArNTcsMTAgQEAgUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVz
Ojpjb21wdXRlRnJvbQogICAgIAogICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnRyYW5zaXRpb25XYXRj
aHBvaW50U2V0SGFzQmVlbkludmFsaWRhdGVkKCkpOwogICAgIAotICAgIEFTU0VSVChpbnN0cnVj
dGlvblswXS51Lm9wY29kZSA9PSBsbGludF9vcF9wdXRfYnlfaWRfdHJhbnNpdGlvbl9kaXJlY3QK
LSAgICAgICAgICAgfHwgaW5zdHJ1Y3Rpb25bMF0udS5vcGNvZGUgPT0gbGxpbnRfb3BfcHV0X2J5
X2lkX3RyYW5zaXRpb25fbm9ybWFsCi0gICAgICAgICAgIHx8IGluc3RydWN0aW9uWzBdLnUub3Bj
b2RlID09IGxsaW50X29wX3B1dF9ieV9pZF90cmFuc2l0aW9uX2RpcmVjdF9vdXRfb2ZfbGluZQot
ICAgICAgICAgICB8fCBpbnN0cnVjdGlvblswXS51Lm9wY29kZSA9PSBsbGludF9vcF9wdXRfYnlf
aWRfdHJhbnNpdGlvbl9ub3JtYWxfb3V0X29mX2xpbmUpOworICAgIEFTU0VSVChpbnN0cnVjdGlv
blswXS51Lm9wY29kZSA9PSBMTEludDo6Z2V0T3Bjb2RlKGxsaW50X29wX3B1dF9ieV9pZF90cmFu
c2l0aW9uX2RpcmVjdCkKKyAgICAgICAgICAgfHwgaW5zdHJ1Y3Rpb25bMF0udS5vcGNvZGUgPT0g
TExJbnQ6OmdldE9wY29kZShsbGludF9vcF9wdXRfYnlfaWRfdHJhbnNpdGlvbl9ub3JtYWwpCisg
ICAgICAgICAgIHx8IGluc3RydWN0aW9uWzBdLnUub3Bjb2RlID09IExMSW50OjpnZXRPcGNvZGUo
bGxpbnRfb3BfcHV0X2J5X2lkX3RyYW5zaXRpb25fZGlyZWN0X291dF9vZl9saW5lKQorICAgICAg
ICAgICB8fCBpbnN0cnVjdGlvblswXS51Lm9wY29kZSA9PSBMTEludDo6Z2V0T3Bjb2RlKGxsaW50
X29wX3B1dF9ieV9pZF90cmFuc2l0aW9uX25vcm1hbF9vdXRfb2ZfbGluZSkpOwogICAgIAogICAg
IFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gaW5zdHJ1Y3Rpb25bNl0udS5zdHJ1Y3R1cmUuZ2V0
KCk7CiAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gaW5zdHJ1Y3Rpb25bN10udS5zdHJ1Y3R1
cmVDaGFpbi5nZXQoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklURXhjZXB0
aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRFeGNl
cHRpb25zLmNwcAkocmV2aXNpb24gMTI3MjIzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRFeGNlcHRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcsOCArNDcsOCBAQCBFeGNl
cHRpb25IYW5kbGVyIGdlbmVyaWNUaHJvdyhKU0dsb2JhbERhCiAgICAgdm9pZCogY2F0Y2hSb3V0
aW5lOwogICAgIEluc3RydWN0aW9uKiBjYXRjaFBDRm9ySW50ZXJwcmV0ZXIgPSAwOwogICAgIGlm
IChoYW5kbGVyKSB7Ci0gICAgICAgIGNhdGNoUm91dGluZSA9IGhhbmRsZXItPm5hdGl2ZUNvZGUu
ZXhlY3V0YWJsZUFkZHJlc3MoKTsKICAgICAgICAgY2F0Y2hQQ0ZvckludGVycHJldGVyID0gJmNh
bGxGcmFtZS0+Y29kZUJsb2NrKCktPmluc3RydWN0aW9ucygpW2hhbmRsZXItPnRhcmdldF07Cisg
ICAgICAgIGNhdGNoUm91dGluZSA9IEV4ZWN1dGFibGVCYXNlOjpjYXRjaFJvdXRpbmVGb3IoaGFu
ZGxlciwgY2F0Y2hQQ0ZvckludGVycHJldGVyKTsKICAgICB9IGVsc2UKICAgICAgICAgY2F0Y2hS
b3V0aW5lID0gRnVuY3Rpb25QdHIoTExJbnQ6OmdldENvZGVQdHIoY3RpT3BUaHJvd05vdENhdWdo
dCkpLnZhbHVlKCk7CiAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJ
bnRPZmZsaW5lQXNtQ29uZmlnLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZpZy5oCShyZXZpc2lvbiAxMjcyMjMpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTkxLDI0ICs5MSw0IEBACiAjZGVmaW5lIE9GRkxJTkVfQVNNX1ZBTFVFX1BST0ZJ
TEVSIDAKICNlbmRpZgogCi0vLyBUaGVzZSBhcmUgZm9yIGJ1aWxkaW5nIGFuIGludGVycHJldGVy
IGZyb20gZ2VuZXJhdGVkIGFzc2VtYmx5IGNvZGU6Ci0jZGVmaW5lIE9GRkxJTkVfQVNNX0JFR0lO
ICAgYXNtICgKLSNkZWZpbmUgT0ZGTElORV9BU01fRU5EICAgICApOwotCi0jaWYgQ1BVKEFSTV9U
SFVNQjIpCi0jZGVmaW5lIE9GRkxJTkVfQVNNX0dMT0JBTF9MQUJFTChsYWJlbCkgICAgICAgICAg
XAotICAgICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGxhYmVsKSAiXG4iICAgICAgICAgIFwKLSAg
ICBISURFX1NZTUJPTChsYWJlbCkgIlxuIiAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgIi50
aHVtYlxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICIudGh1bWJf
ZnVuYyAiIFRIVU1CX0ZVTkNfUEFSQU0obGFiZWwpICJcbiIgIFwKLSAgICBTWU1CT0xfU1RSSU5H
KGxhYmVsKSAiOlxuIgotI2Vsc2UKLSNkZWZpbmUgT0ZGTElORV9BU01fR0xPQkFMX0xBQkVMKGxh
YmVsKSAgICAgICAgIFwKLSAgICAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhsYWJlbCkgIlxuIiAg
ICAgICAgIFwKLSAgICBISURFX1NZTUJPTChsYWJlbCkgIlxuIiAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBTWU1CT0xfU1RSSU5HKGxhYmVsKSAiOlxuIgotI2VuZGlmCi0KLSNkZWZpbmUgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwobGFiZWwpICAgTE9DQUxfTEFCRUxfU1RSSU5HKGxhYmVsKSAi
OlxuIgotCiAjZW5kaWYgLy8gTExJbnRPZmZsaW5lQXNtQ29uZmlnX2gKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAkocmV2aXNpb24gMTI3
MjIzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTM1MSw3ICsxMzUxLDcgQEAgaW5saW5lIFNsb3dQYXRoUmV0dXJu
VHlwZSBzZXRVcENhbGwoRXhlYwogICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0ciBjb2RlUHRyOwog
ICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gMDsKICAgICBpZiAoZXhlY3V0YWJsZS0+aXNIb3N0
RnVuY3Rpb24oKSkKLSAgICAgICAgY29kZVB0ciA9IGV4ZWN1dGFibGUtPmdlbmVyYXRlZEpJVENv
ZGVGb3Ioa2luZCkuYWRkcmVzc0ZvckNhbGwoKTsKKyAgICAgICAgY29kZVB0ciA9IGV4ZWN1dGFi
bGUtPmhvc3RDb2RlRW50cnlGb3Ioa2luZCk7CiAgICAgZWxzZSB7CiAgICAgICAgIEZ1bmN0aW9u
RXhlY3V0YWJsZSogZnVuY3Rpb25FeGVjdXRhYmxlID0gc3RhdGljX2Nhc3Q8RnVuY3Rpb25FeGVj
dXRhYmxlKj4oZXhlY3V0YWJsZSk7CiAgICAgICAgIEpTT2JqZWN0KiBlcnJvciA9IGZ1bmN0aW9u
RXhlY3V0YWJsZS0+Y29tcGlsZUZvcihleGVjQ2FsbGVlLCBjYWxsZWUtPnNjb3BlKCksIGtpbmQp
OwpAQCAtMTM2MCw5ICsxMzYwLDkgQEAgaW5saW5lIFNsb3dQYXRoUmV0dXJuVHlwZSBzZXRVcENh
bGwoRXhlYwogICAgICAgICBjb2RlQmxvY2sgPSAmZnVuY3Rpb25FeGVjdXRhYmxlLT5nZW5lcmF0
ZWRCeXRlY29kZUZvcihraW5kKTsKICAgICAgICAgQVNTRVJUKGNvZGVCbG9jayk7CiAgICAgICAg
IGlmIChleGVjQ2FsbGVlLT5hcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcygpIDwgc3RhdGljX2Nh
c3Q8c2l6ZV90Pihjb2RlQmxvY2stPm51bVBhcmFtZXRlcnMoKSkpCi0gICAgICAgICAgICBjb2Rl
UHRyID0gZnVuY3Rpb25FeGVjdXRhYmxlLT5nZW5lcmF0ZWRKSVRDb2RlV2l0aEFyaXR5Q2hlY2tG
b3Ioa2luZCk7CisgICAgICAgICAgICBjb2RlUHRyID0gZnVuY3Rpb25FeGVjdXRhYmxlLT5qc0Nv
ZGVXaXRoQXJpdHlDaGVja0VudHJ5Rm9yKGtpbmQpOwogICAgICAgICBlbHNlCi0gICAgICAgICAg
ICBjb2RlUHRyID0gZnVuY3Rpb25FeGVjdXRhYmxlLT5nZW5lcmF0ZWRKSVRDb2RlRm9yKGtpbmQp
LmFkZHJlc3NGb3JDYWxsKCk7CisgICAgICAgICAgICBjb2RlUHRyID0gZnVuY3Rpb25FeGVjdXRh
YmxlLT5qc0NvZGVFbnRyeUZvcihraW5kKTsKICAgICB9CiAgICAgCiAgICAgaWYgKGNhbGxMaW5r
SW5mbykgewpAQCAtMTM3NSw3ICsxMzc1LDcgQEAgaW5saW5lIFNsb3dQYXRoUmV0dXJuVHlwZSBz
ZXRVcENhbGwoRXhlYwogICAgICAgICBpZiAoY29kZUJsb2NrKQogICAgICAgICAgICAgY29kZUJs
b2NrLT5saW5rSW5jb21pbmdDYWxsKGNhbGxMaW5rSW5mbyk7CiAgICAgfQotICAgIAorCiAgICAg
TExJTlRfQ0FMTF9SRVRVUk4oZXhlY0NhbGxlZSwgcGMsIGNvZGVQdHIuZXhlY3V0YWJsZUFkZHJl
c3MoKSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQ
YXRocy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNs
b3dQYXRocy5oCShyZXZpc2lvbiAxMjcyMjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuaAkod29ya2luZyBjb3B5KQpAQCAtNDQsMzMgKzQ0LDUwIEBAIG5h
bWVzcGFjZSBMTEludCB7CiAvLyB3YXJuaW5ncywgb3Igd29yc2UsIGEgY2hhbmdlIGluIHRoZSBB
QkkgdXNlZCB0byByZXR1cm4gdGhlc2UgdHlwZXMuCiBzdHJ1Y3QgU2xvd1BhdGhSZXR1cm5UeXBl
IHsKICAgICB2b2lkKiBhOwotICAgIHZvaWQqIGI7CisgICAgRXhlY1N0YXRlKiBiOwogfTsKIAot
aW5saW5lIFNsb3dQYXRoUmV0dXJuVHlwZSBlbmNvZGVSZXN1bHQodm9pZCogYSwgdm9pZCogYikK
K2lubGluZSBTbG93UGF0aFJldHVyblR5cGUgZW5jb2RlUmVzdWx0KHZvaWQqIGEsIEV4ZWNTdGF0
ZSogYikKIHsKICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0OwogICAgIHJlc3VsdC5hID0g
YTsKICAgICByZXN1bHQuYiA9IGI7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLSNlbHNlCisKK2lu
bGluZSB2b2lkIGRlY29kZVJlc3VsdChTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0LCB2b2lkKiYg
YSwgRXhlY1N0YXRlKiYgYikKK3sKKyAgICBhID0gcmVzdWx0LmE7CisgICAgYiA9IHJlc3VsdC5i
OworfQorCisjZWxzZSAvLyBVU0UoSlNWQUxVRTMyXzY0KQogdHlwZWRlZiBpbnQ2NF90IFNsb3dQ
YXRoUmV0dXJuVHlwZTsKIAotaW5saW5lIFNsb3dQYXRoUmV0dXJuVHlwZSBlbmNvZGVSZXN1bHQo
dm9pZCogYSwgdm9pZCogYikKK3R5cGVkZWYgdW5pb24geworICAgIHN0cnVjdCB7CisgICAgICAg
IHZvaWQqIGE7CisgICAgICAgIEV4ZWNTdGF0ZSogYjsKKyAgICB9IHBhaXI7CisgICAgaW50NjRf
dCBpOworfSBTbG93UGF0aFJldHVyblR5cGVFbmNvZGluZzsKKworaW5saW5lIFNsb3dQYXRoUmV0
dXJuVHlwZSBlbmNvZGVSZXN1bHQodm9pZCogYSwgRXhlY1N0YXRlKiBiKQogewotICAgIHVuaW9u
IHsKLSAgICAgICAgc3RydWN0IHsKLSAgICAgICAgICAgIHZvaWQqIGE7Ci0gICAgICAgICAgICB2
b2lkKiBiOwotICAgICAgICB9IHBhaXI7Ci0gICAgICAgIGludDY0X3QgaTsKLSAgICB9IHU7Cisg
ICAgU2xvd1BhdGhSZXR1cm5UeXBlRW5jb2RpbmcgdTsKICAgICB1LnBhaXIuYSA9IGE7CiAgICAg
dS5wYWlyLmIgPSBiOwogICAgIHJldHVybiB1Lmk7CiB9Ci0jZW5kaWYKKworaW5saW5lIHZvaWQg
ZGVjb2RlUmVzdWx0KFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQsIHZvaWQqJiBhLCBFeGVjU3Rh
dGUqJiBiKQoreworICAgIFNsb3dQYXRoUmV0dXJuVHlwZUVuY29kaW5nIHU7CisgICAgdS5pID0g
cmVzdWx0OworICAgIGEgPSB1LnBhaXIuYTsKKyAgICBiID0gdS5wYWlyLmI7Cit9CisjZW5kaWYg
Ly8gVVNFKEpTVkFMVUUzMl82NCkKIAogZXh0ZXJuICJDIiBTbG93UGF0aFJldHVyblR5cGUgbGxp
bnRfdHJhY2Vfb3BlcmFuZChFeGVjU3RhdGUqLCBJbnN0cnVjdGlvbiosIGludCBmcm9tV2hlcmUs
IGludCBvcGVyYW5kKTsKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3RyYWNl
X3ZhbHVlKEV4ZWNTdGF0ZSosIEluc3RydWN0aW9uKiwgaW50IGZyb21XaGVyZSwgaW50IG9wZXJh
bmQpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIzMl82NC5hc20KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20JKHJldmlzaW9uIDEyNzIyMykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDgsMTMgKzEwOCwxNCBAQCBtYWNybyBjQ2FsbDIoZnVuY3Rpb24sIGFyZzEs
IGFyZzIpCiAgICAgaWYgQVJNdjcKICAgICAgICAgbW92ZSBhcmcxLCB0MAogICAgICAgICBtb3Zl
IGFyZzIsIHQxCisgICAgICAgIGNhbGwgZnVuY3Rpb24KICAgICBlbHNpZiBYODYKICAgICAgICAg
cG9rZSBhcmcxLCAwCiAgICAgICAgIHBva2UgYXJnMiwgMQorICAgICAgICBjYWxsIGZ1bmN0aW9u
CiAgICAgZWxzZQogICAgICAgICBlcnJvcgogICAgIGVuZAotICAgIGNhbGwgZnVuY3Rpb24KIGVu
ZAogCiAjIFRoaXMgYmFyZWx5IHdvcmtzLiBhcmczIGFuZCBhcmc0IHNob3VsZCBwcm9iYWJseSBi
ZSBpbW1lZGlhdGVzLgpAQCAtMTI0LDE1ICsxMjUsMTYgQEAgbWFjcm8gY0NhbGw0KGZ1bmN0aW9u
LCBhcmcxLCBhcmcyLCBhcmczLAogICAgICAgICBtb3ZlIGFyZzIsIHQxCiAgICAgICAgIG1vdmUg
YXJnMywgdDIKICAgICAgICAgbW92ZSBhcmc0LCB0MworICAgICAgICBjYWxsIGZ1bmN0aW9uCiAg
ICAgZWxzaWYgWDg2CiAgICAgICAgIHBva2UgYXJnMSwgMAogICAgICAgICBwb2tlIGFyZzIsIDEK
ICAgICAgICAgcG9rZSBhcmczLCAyCiAgICAgICAgIHBva2UgYXJnNCwgMworICAgICAgICBjYWxs
IGZ1bmN0aW9uCiAgICAgZWxzZQogICAgICAgICBlcnJvcgogICAgIGVuZAotICAgIGNhbGwgZnVu
Y3Rpb24KIGVuZAogCiBtYWNybyBjYWxsU2xvd1BhdGgoc2xvd1BhdGgpCkBAIC0xNjIyLDggKzE2
MjQsNyBAQCBtYWNybyBkb0NhbGwoc2xvd1BhdGgpCiAgICAgc3RvcmVpIENlbGxUYWcsIENhbGxl
ZSArIFRhZ09mZnNldFt0M10KICAgICBzdG9yZWkgQ2VsbFRhZywgU2NvcGVDaGFpbiArIFRhZ09m
ZnNldFt0M10KICAgICBtb3ZlIHQzLCBjZnIKLSAgICBjYWxsIExMSW50Q2FsbExpbmtJbmZvOjpt
YWNoaW5lQ29kZVRhcmdldFt0MV0KLSAgICBkaXNwYXRjaEFmdGVyQ2FsbCgpCisgICAgY2FsbFRh
cmdldEZ1bmN0aW9uKHQxKQogCiAub3BDYWxsU2xvdzoKICAgICBzbG93UGF0aEZvckNhbGwoNiwg
c2xvd1BhdGgpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQkocmV2aXNpb24gMTI3MjIzKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20JKHdvcmtpbmcgY29w
eSkKQEAgLTUxLDE4ICs1MSwyNiBAQCBtYWNybyBkaXNwYXRjaEFmdGVyQ2FsbCgpCiBlbmQKIAog
bWFjcm8gY0NhbGwyKGZ1bmN0aW9uLCBhcmcxLCBhcmcyKQotICAgIG1vdmUgYXJnMSwgdDUKLSAg
ICBtb3ZlIGFyZzIsIHQ0Ci0gICAgY2FsbCBmdW5jdGlvbgorICAgIGlmIFg4Nl82NAorICAgICAg
ICBtb3ZlIGFyZzEsIHQ1CisgICAgICAgIG1vdmUgYXJnMiwgdDQKKyAgICAgICAgY2FsbCBmdW5j
dGlvbgorICAgIGVsc2UKKyAgICAgICAgZXJyb3IKKyAgICBlbmQKIGVuZAogCiAjIFRoaXMgYmFy
ZWx5IHdvcmtzLiBhcmczIGFuZCBhcmc0IHNob3VsZCBwcm9iYWJseSBiZSBpbW1lZGlhdGVzLgog
bWFjcm8gY0NhbGw0KGZ1bmN0aW9uLCBhcmcxLCBhcmcyLCBhcmczLCBhcmc0KQotICAgIG1vdmUg
YXJnMSwgdDUKLSAgICBtb3ZlIGFyZzIsIHQ0Ci0gICAgbW92ZSBhcmczLCB0MQotICAgIG1vdmUg
YXJnNCwgdDIKLSAgICBjYWxsIGZ1bmN0aW9uCisgICAgaWYgWDg2XzY0CisgICAgICAgIG1vdmUg
YXJnMSwgdDUKKyAgICAgICAgbW92ZSBhcmcyLCB0NAorICAgICAgICBtb3ZlIGFyZzMsIHQxCisg
ICAgICAgIG1vdmUgYXJnNCwgdDIKKyAgICAgICAgY2FsbCBmdW5jdGlvbgorICAgIGVsc2UKKyAg
ICAgICAgZXJyb3IKKyAgICBlbmQKIGVuZAogCiBtYWNybyBwcmVwYXJlU3RhdGVGb3JDQ2FsbCgp
CkBAIC0xNDYwLDggKzE0NjgsNyBAQCBtYWNybyBkb0NhbGwoc2xvd1BhdGgpCiAgICAgc3RvcmVw
IGNmciwgQ2FsbGVyRnJhbWVbdDNdCiAgICAgc3RvcmVpIHQyLCBBcmd1bWVudENvdW50ICsgUGF5
bG9hZE9mZnNldFt0M10KICAgICBtb3ZlIHQzLCBjZnIKLSAgICBjYWxsIExMSW50Q2FsbExpbmtJ
bmZvOjptYWNoaW5lQ29kZVRhcmdldFt0MV0KLSAgICBkaXNwYXRjaEFmdGVyQ2FsbCgpCisgICAg
Y2FsbFRhcmdldEZ1bmN0aW9uKHQxKQogCiAub3BDYWxsU2xvdzoKICAgICBzbG93UGF0aEZvckNh
bGwoNiwgc2xvd1BhdGgpCkBAIC0xNjMyLDIxICsxNjM5LDI2IEBAIF9sbGludF90aHJvd19kdXJp
bmdfY2FsbF90cmFtcG9saW5lOgogCiBtYWNybyBuYXRpdmVDYWxsVHJhbXBvbGluZShleGVjdXRh
YmxlT2Zmc2V0VG9GdW5jdGlvbikKICAgICBzdG9yZXAgMCwgQ29kZUJsb2NrW2Nmcl0KLSAgICBs
b2FkcCBKSVRTdGFja0ZyYW1lOjpnbG9iYWxEYXRhICsgOFtzcF0sIHQwCi0gICAgc3RvcmVwIGNm
ciwgSlNHbG9iYWxEYXRhOjp0b3BDYWxsRnJhbWVbdDBdCi0gICAgbG9hZHAgQ2FsbGVyRnJhbWVb
Y2ZyXSwgdDAKLSAgICBsb2FkcCBTY29wZUNoYWluW3QwXSwgdDEKLSAgICBzdG9yZXAgdDEsIFNj
b3BlQ2hhaW5bY2ZyXQotICAgIHBlZWsgMCwgdDEKLSAgICBzdG9yZXAgdDEsIFJldHVyblBDW2Nm
cl0KLSAgICBtb3ZlIGNmciwgdDUgICMgdDUgPSByZGkKLSAgICBzdWJwIDE2IC0gOCwgc3AKLSAg
ICBsb2FkcCBDYWxsZWVbY2ZyXSwgdDQgIyB0NCA9IHJzaQotICAgIGxvYWRwIEpTRnVuY3Rpb246
Om1fZXhlY3V0YWJsZVt0NF0sIHQxCi0gICAgbW92ZSB0MCwgY2ZyICMgUmVzdG9yZSBjZnIgdG8g
YXZvaWQgbG9hZGluZyBmcm9tIHN0YWNrCi0gICAgY2FsbCBleGVjdXRhYmxlT2Zmc2V0VG9GdW5j
dGlvblt0MV0KLSAgICBhZGRwIDE2IC0gOCwgc3AKLSAgICBsb2FkcCBKSVRTdGFja0ZyYW1lOjpn
bG9iYWxEYXRhICsgOFtzcF0sIHQzCisgICAgaWYgWDg2XzY0CisgICAgICAgIGxvYWRwIEpJVFN0
YWNrRnJhbWU6Omdsb2JhbERhdGEgKyA4W3NwXSwgdDAKKyAgICAgICAgc3RvcmVwIGNmciwgSlNH
bG9iYWxEYXRhOjp0b3BDYWxsRnJhbWVbdDBdCisgICAgICAgIGxvYWRwIENhbGxlckZyYW1lW2Nm
cl0sIHQwCisgICAgICAgIGxvYWRwIFNjb3BlQ2hhaW5bdDBdLCB0MQorICAgICAgICBzdG9yZXAg
dDEsIFNjb3BlQ2hhaW5bY2ZyXQorICAgICAgICBwZWVrIDAsIHQxCisgICAgICAgIHN0b3JlcCB0
MSwgUmV0dXJuUENbY2ZyXQorICAgICAgICBtb3ZlIGNmciwgdDUgICMgdDUgPSByZGkKKyAgICAg
ICAgc3VicCAxNiAtIDgsIHNwCisgICAgICAgIGxvYWRwIENhbGxlZVtjZnJdLCB0NCAjIHQ0ID0g
cnNpCisgICAgICAgIGxvYWRwIEpTRnVuY3Rpb246Om1fZXhlY3V0YWJsZVt0NF0sIHQxCisgICAg
ICAgIG1vdmUgdDAsIGNmciAjIFJlc3RvcmUgY2ZyIHRvIGF2b2lkIGxvYWRpbmcgZnJvbSBzdGFj
aworICAgICAgICBjYWxsIGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uW3QxXQorICAgICAgICBh
ZGRwIDE2IC0gOCwgc3AKKyAgICAgICAgbG9hZHAgSklUU3RhY2tGcmFtZTo6Z2xvYmFsRGF0YSAr
IDhbc3BdLCB0MworICAgIGVsc2UKKyAgICAgICAgZXJyb3IKKyAgICBlbmQKKwogICAgIGJ0cG56
IEpTR2xvYmFsRGF0YTo6ZXhjZXB0aW9uW3QzXSwgLmV4Y2VwdGlvbgogICAgIHJldAogLmV4Y2Vw
dGlvbjoKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc20JKHJldmlzaW9uIDEyNzIyMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQkod29ya2luZyBjb3B5KQpAQCAtMTQ5
LDYgKzE0OSwxMSBAQCBtYWNybyB0cmFjZUV4ZWN1dGlvbigpCiAgICAgZW5kCiBlbmQKIAorbWFj
cm8gY2FsbFRhcmdldEZ1bmN0aW9uKGNhbGxMaW5rSW5mbykKKyAgICBjYWxsIExMSW50Q2FsbExp
bmtJbmZvOjptYWNoaW5lQ29kZVRhcmdldFtjYWxsTGlua0luZm9dCisgICAgZGlzcGF0Y2hBZnRl
ckNhbGwoKQorZW5kCisKIG1hY3JvIHNsb3dQYXRoRm9yQ2FsbChhZHZhbmNlLCBzbG93UGF0aCkK
ICAgICBjYWxsQ2FsbFNsb3dQYXRoKAogICAgICAgICBhZHZhbmNlLApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmNwcAkocmV2
aXNpb24gMTI3MjIzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSwzMyBAQAogI2luY2x1ZGUg
IkxMSW50T2ZmbGluZUFzbUNvbmZpZy5oIgogI2luY2x1ZGUgPHd0Zi9JbmxpbmVBU00uaD4KIAor
Ly89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09CisvLyBEZWZpbmUgdGhlIG9wY29kZSBkaXNwYXRjaCBtZWNo
YW5pc20gd2hlbiB1c2luZyBhbiBBU00gbG9vcDoKKy8vCisKKy8vIFRoZXNlIGFyZSBmb3IgYnVp
bGRpbmcgYW4gaW50ZXJwcmV0ZXIgZnJvbSBnZW5lcmF0ZWQgYXNzZW1ibHkgY29kZToKKyNkZWZp
bmUgT0ZGTElORV9BU01fQkVHSU4gICBhc20gKAorI2RlZmluZSBPRkZMSU5FX0FTTV9FTkQgICAg
ICk7CisKKyNkZWZpbmUgT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKF9fb3Bjb2RlKSBPRkZMSU5F
X0FTTV9HTE9CQUxfTEFCRUwobGxpbnRfIyNfX29wY29kZSkKKyNkZWZpbmUgT0ZGTElORV9BU01f
R0xVRV9MQUJFTChfX29wY29kZSkgICBPRkZMSU5FX0FTTV9HTE9CQUxfTEFCRUwoX19vcGNvZGUp
CisKKyNpZiBDUFUoQVJNX1RIVU1CMikKKyNkZWZpbmUgT0ZGTElORV9BU01fR0xPQkFMX0xBQkVM
KGxhYmVsKSAgICAgICAgICBcCisgICAgIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcobGFiZWwpICJc
biIgICAgICAgICAgXAorICAgIEhJREVfU1lNQk9MKGxhYmVsKSAiXG4iICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICAiLnRodW1iXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgIi50aHVtYl9mdW5jICIgVEhVTUJfRlVOQ19QQVJBTShsYWJlbCkgIlxuIiAgXAor
ICAgIFNZTUJPTF9TVFJJTkcobGFiZWwpICI6XG4iCisjZWxzZQorI2RlZmluZSBPRkZMSU5FX0FT
TV9HTE9CQUxfTEFCRUwobGFiZWwpICAgICAgICAgXAorICAgICIuZ2xvYmwgIiBTWU1CT0xfU1RS
SU5HKGxhYmVsKSAiXG4iICAgICAgICAgXAorICAgIEhJREVfU1lNQk9MKGxhYmVsKSAiXG4iICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIFNZTUJPTF9TVFJJTkcobGFiZWwpICI6XG4iCisjZW5k
aWYKKworI2RlZmluZSBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChsYWJlbCkgICBMT0NBTF9MQUJF
TF9TVFJJTkcobGFiZWwpICI6XG4iCisKIC8vIFRoaXMgaXMgYSBmaWxlIGdlbmVyYXRlZCBieSBv
ZmZsaW5lYXNtLCB3aGljaCBjb250YWlucyBhbGwgb2YgdGhlIGFzc2VtYmx5IGNvZGUKIC8vIGZv
ciB0aGUgaW50ZXJwcmV0ZXIsIGFzIGNvbXBpbGVkIGZyb20gTG93TGV2ZWxJbnRlcnByZXRlci5h
c20uCiAjaW5jbHVkZSAiTExJbnRBc3NlbWJseS5oIgpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL29mZmxpbmVhc20vYXNtLnJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9vZmZsaW5lYXNtL2FzbS5yYgkocmV2aXNpb24gMTI3MjIzKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL29mZmxpbmVhc20vYXNtLnJiCSh3b3JraW5nIGNvcHkpCkBAIC0xNTEsNyArMTUxLDEx
IEBAIGNsYXNzIEFzc2VtYmxlcgogICAgICAgICBAbnVtR2xvYmFsTGFiZWxzICs9IDEKICAgICAg
ICAgcHV0c05ld2xpbmVTcGFjZXJJZkFwcHJvcHJpYXRlKDpnbG9iYWwpCiAgICAgICAgIEBpbnRl
cm5hbENvbW1lbnQgPSAkZW5hYmxlTGFiZWxDb3VudENvbW1lbnRzID8gIkdsb2JhbCBMYWJlbCAj
e0BudW1HbG9iYWxMYWJlbHN9IiA6IG5pbAotICAgICAgICBAb3V0cC5wdXRzKGZvcm1hdER1bXAo
Ik9GRkxJTkVfQVNNX0dMT0JBTF9MQUJFTCgje2xhYmVsTmFtZX0pIiwgbGFzdENvbW1lbnQpKQor
ICAgICAgICBpZiAvXEFsbGludF9vcF8vLm1hdGNoKGxhYmVsTmFtZSkKKyAgICAgICAgICAgIEBv
dXRwLnB1dHMoZm9ybWF0RHVtcCgiT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wXyN7JH4ucG9z
dF9tYXRjaH0pIiwgbGFzdENvbW1lbnQpKQorICAgICAgICBlbHNlCisgICAgICAgICAgICBAb3V0
cC5wdXRzKGZvcm1hdER1bXAoIk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwoI3tsYWJlbE5hbWV9KSIs
IGxhc3RDb21tZW50KSkKKyAgICAgICAgZW5kCiAgICAgICAgIEBuZXdsaW5lU3BhY2VyU3RhdGUg
PSA6bm9uZSAjIEFmdGVyIGEgZ2xvYmFsIGxhYmVsLCB3ZSBjYW4gdXNlIGFub3RoZXIgc3BhY2Vy
LgogICAgIGVuZAogICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20v
Y29uZmlnLnJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNt
L2NvbmZpZy5yYgkocmV2aXNpb24gMTI3MjIzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL29m
ZmxpbmVhc20vY29uZmlnLnJiCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw3IEBACiAjIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKICMgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCi0kcHJlZmVy
cmVkQ29tbWVudFN0YXJ0Q29sdW1uID0gNzAKKyRwcmVmZXJyZWRDb21tZW50U3RhcnRDb2x1bW4g
PSA2MAogCiAKICMgVHVybnMgb24gZHVtcGluZyBvZiB0aGUgY291bnQgb2YgbGFiZWxzLgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuaAkocmV2aXNpb24g
MTI3MjIzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJDYWxsRGF0YS5oIgog
I2luY2x1ZGUgIkNvZGVTcGVjaWFsaXphdGlvbktpbmQuaCIKKyNpbmNsdWRlICJIYW5kbGVySW5m
by5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgog
I2luY2x1ZGUgIk5vZGVzLmgiCkBAIC0yMDIsNiArMjAzLDI3IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICB9CiAjZW5kaWYKIAorICAgICAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgaG9zdENv
ZGVFbnRyeUZvcihDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIHJldHVybiBnZW5lcmF0ZWRKSVRDb2RlRm9yKGtpbmQpLmFkZHJlc3NGb3JDYWxsKCk7
CisgICAgICAgIH0KKworICAgICAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIganNDb2RlRW50cnlG
b3IoQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQorICAgICAgICB7CisgICAgICAgICAgICBy
ZXR1cm4gZ2VuZXJhdGVkSklUQ29kZUZvcihraW5kKS5hZGRyZXNzRm9yQ2FsbCgpOworICAgICAg
ICB9CisKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyIGpzQ29kZVdpdGhBcml0eUNoZWNr
RW50cnlGb3IoQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQorICAgICAgICB7CisgICAgICAg
ICAgICByZXR1cm4gZ2VuZXJhdGVkSklUQ29kZVdpdGhBcml0eUNoZWNrRm9yKGtpbmQpOworICAg
ICAgICB9CisKKyAgICAgICAgc3RhdGljIHZvaWQqIGNhdGNoUm91dGluZUZvcihIYW5kbGVySW5m
byogaGFuZGxlciwgSW5zdHJ1Y3Rpb24qIGNhdGNoUENGb3JJbnRlcnByZXRlcikKKyAgICAgICAg
eworICAgICAgICAgICAgVU5VU0VEX1BBUkFNKGNhdGNoUENGb3JJbnRlcnByZXRlcik7CisgICAg
ICAgICAgICByZXR1cm4gaGFuZGxlci0+bmF0aXZlQ29kZS5leGVjdXRhYmxlQWRkcmVzcygpOwor
ICAgICAgICB9CisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIEV4ZWN1dGFibGVCYXNlKiBtX3By
ZXY7CiAgICAgICAgIEV4ZWN1dGFibGVCYXNlKiBtX25leHQ7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1ZhbHVlSW5saW5lTWV0aG9kcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWVJbmxpbmVNZXRob2RzLmgJKHJldmlz
aW9uIDEyNzIyMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWVJbmxp
bmVNZXRob2RzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMyMyw3ICszMjMsNyBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgcmV0dXJuIHBheWxvYWQoKTsKICAgICB9CiAKLSNlbHNlIC8vIFVTRShK
U1ZBTFVFMzJfNjQpCisjZWxzZSAvLyAhVVNFKEpTVkFMVUUzMl82NCkgaS5lLiBVU0UoSlNWQUxV
RTY0KQogCiAgICAgLy8gSlNWYWx1ZSBtZW1iZXIgZnVuY3Rpb25zLgogICAgIGlubGluZSBFbmNv
ZGVkSlNWYWx1ZSBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1ZSB2YWx1ZSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>