<?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>148333</bug_id>
          
          <creation_ts>2015-08-21 14:57:38 -0700</creation_ts>
          <short_desc>Parse control flow statements in WebAssembly</short_desc>
          <delta_ts>2015-08-21 17:49:35 -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>WebKit 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>
          
          <blocked>146064</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sukolsak Sakshuwong">sukolsak</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>basile_clement</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>sukolsak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1119940</commentid>
    <comment_count>0</comment_count>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-08-21 14:57:38 -0700</bug_when>
    <thetext>Parse control flow statements in WebAssembly files generated by pack-asmjs &lt;https://github.com/WebAssembly/polyfill-prototype-1&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119944</commentid>
    <comment_count>1</comment_count>
      <attachid>259667</attachid>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-08-21 15:11:19 -0700</bug_when>
    <thetext>Created attachment 259667
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119958</commentid>
    <comment_count>2</comment_count>
      <attachid>259673</attachid>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-08-21 15:44:45 -0700</bug_when>
    <thetext>Created attachment 259673
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119991</commentid>
    <comment_count>3</comment_count>
      <attachid>259673</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-08-21 16:38:35 -0700</bug_when>
    <thetext>Comment on attachment 259673
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120020</commentid>
    <comment_count>4</comment_count>
      <attachid>259673</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-21 17:49:31 -0700</bug_when>
    <thetext>Comment on attachment 259673
Patch

Clearing flags on attachment: 259673

Committed r188808: &lt;http://trac.webkit.org/changeset/188808&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120021</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-21 17:49:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259667</attachid>
            <date>2015-08-21 15:11:19 -0700</date>
            <delta_ts>2015-08-21 15:44:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>diff.txt</filename>
            <type>text/plain</type>
            <size>14895</size>
            <attacher name="Sukolsak Sakshuwong">sukolsak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGRhMjczNDQuLmE0NGM4MmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE1LTA4LTIxICBTdWtvbHNhayBTYWtz
aHV3b25nICA8c3Vrb2xzYWtAZ21haWwuY29tPgorCisgICAgICAgIFBhcnNlIGNvbnRyb2wgZmxv
dyBzdGF0ZW1lbnRzIGluIFdlYkFzc2VtYmx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDgzMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBQYXJzZSBjb250cm9sIGZsb3cgc3RhdGVtZW50cyBpbiBXZWJB
c3NlbWJseSBmaWxlcyBnZW5lcmF0ZWQgYnkgcGFjay1hc21qcworICAgICAgICA8aHR0cHM6Ly9n
aXRodWIuY29tL1dlYkFzc2VtYmx5L3BvbHlmaWxsLXByb3RvdHlwZS0xPi4KKworICAgICAgICAq
IHdhc20vV0FTTUNvbnN0YW50cy5oOgorICAgICAgICAqIHdhc20vV0FTTUZ1bmN0aW9uUGFyc2Vy
LmNwcDoKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZVN0YXRlbWVudCk6
CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VJZlN0YXRlbWVudCk6Cisg
ICAgICAgIChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VJZkVsc2VTdGF0ZW1lbnQpOgor
ICAgICAgICAoSlNDOjpXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlV2hpbGVTdGF0ZW1lbnQpOgor
ICAgICAgICAoSlNDOjpXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlRG9TdGF0ZW1lbnQpOgorICAg
ICAgICAoSlNDOjpXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlTGFiZWxTdGF0ZW1lbnQpOgorICAg
ICAgICAoSlNDOjpXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlQnJlYWtTdGF0ZW1lbnQpOgorICAg
ICAgICAoSlNDOjpXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlQnJlYWtMYWJlbFN0YXRlbWVudCk6
CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VDb250aW51ZVN0YXRlbWVu
dCk6CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VDb250aW51ZUxhYmVs
U3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZVN3aXRj
aFN0YXRlbWVudCk6CisgICAgICAgICogd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaDoKKyAgICAg
ICAgKEpTQzo6V0FTTUZ1bmN0aW9uUGFyc2VyOjpXQVNNRnVuY3Rpb25QYXJzZXIpOgorICAgICAg
ICAqIHdhc20vV0FTTVJlYWRlci5jcHA6CisgICAgICAgIChKU0M6OldBU01SZWFkZXI6OnJlYWRD
b21wYWN0SW50MzIpOgorICAgICAgICAoSlNDOjpXQVNNUmVhZGVyOjpyZWFkU3dpdGNoQ2FzZSk6
CisgICAgICAgICogd2FzbS9XQVNNUmVhZGVyLmg6CisKMjAxNS0wOC0yMSAgU3Vrb2xzYWsgU2Fr
c2h1d29uZyAgPHN1a29sc2FrQGdtYWlsLmNvbT4KCiAgICAgICAgIEltcGxlbWVudCBXZWJBc3Nl
bWJseSBmdW5jdGlvbiBwYXJzZXIgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9XQVNNQ29uc3RhbnRzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNQ29u
c3RhbnRzLmgKaW5kZXggMGU4YjZkMi4uMzg4YjhlMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vV0FTTUNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL1dBU01Db25zdGFudHMuaApAQCAtMTgyLDYgKzE4MiwxNiBAQCBlbnVtIGNsYXNzIFdB
U01WYXJpYWJsZVR5cGVzV2l0aEltbWVkaWF0ZSA6IHVpbnQ4X3QgewogICAgIE51bWJlck9mVmFy
aWFibGVUeXBlc1dpdGhJbW1lZGlhdGVzCiB9OwogCitlbnVtIGNsYXNzIFdBU01Td2l0Y2hDYXNl
IDogdWludDhfdCB7CisgICAgQ2FzZVdpdGhOb1N0YXRlbWVudHMsCisgICAgQ2FzZVdpdGhTdGF0
ZW1lbnQsCisgICAgQ2FzZVdpdGhCbG9ja1N0YXRlbWVudCwKKyAgICBEZWZhdWx0V2l0aE5vU3Rh
dGVtZW50cywKKyAgICBEZWZhdWx0V2l0aFN0YXRlbWVudCwKKyAgICBEZWZhdWx0V2l0aEJsb2Nr
U3RhdGVtZW50LAorICAgIE51bWJlck9mU3dpdGNoQ2FzZXMKK307CisKIGVudW0gY2xhc3MgV0FT
TUV4cG9ydEZvcm1hdCA6IHVpbnQ4X3QgewogICAgIERlZmF1bHQsCiAgICAgUmVjb3JkLApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHAKaW5k
ZXggNmNjMDlmMi4uZDY4OWY1NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9XQVNNRnVuY3Rpb25QYXJzZXIuY3BwCkBAIC0zMywxMCArMzMsMTIgQEAKIAogI2RlZmluZSBQ
Uk9QQUdBVEVfRVJST1IoKSBkbyB7IGlmICghbV9lcnJvck1lc3NhZ2UuaXNOdWxsKCkpIHJldHVy
biAwOyB9IHdoaWxlICgwKQogI2RlZmluZSBGQUlMX1dJVEhfTUVTU0FHRShlcnJvck1lc3NhZ2Up
IGRvIHsgIG1fZXJyb3JNZXNzYWdlID0gZXJyb3JNZXNzYWdlOyByZXR1cm4gMDsgfSB3aGlsZSAo
MCkKKyNkZWZpbmUgUkVBRF9DT01QQUNUX0lOVDMyX09SX0ZBSUwocmVzdWx0LCBlcnJvck1lc3Nh
Z2UpIGRvIHsgaWYgKCFtX3JlYWRlci5yZWFkQ29tcGFjdEludDMyKHJlc3VsdCkpIEZBSUxfV0lU
SF9NRVNTQUdFKGVycm9yTWVzc2FnZSk7IH0gd2hpbGUgKDApCiAjZGVmaW5lIFJFQURfQ09NUEFD
VF9VSU5UMzJfT1JfRkFJTChyZXN1bHQsIGVycm9yTWVzc2FnZSkgZG8geyBpZiAoIW1fcmVhZGVy
LnJlYWRDb21wYWN0VUludDMyKHJlc3VsdCkpIEZBSUxfV0lUSF9NRVNTQUdFKGVycm9yTWVzc2Fn
ZSk7IH0gd2hpbGUgKDApCiAjZGVmaW5lIFJFQURfT1BfU1RBVEVNRU5UX09SX0ZBSUwoaGFzSW1t
ZWRpYXRlLCBvcCwgb3BXaXRoSW1tZWRpYXRlLCBpbW1lZGlhdGUsIGVycm9yTWVzc2FnZSkgZG8g
eyBpZiAoIW1fcmVhZGVyLnJlYWRPcFN0YXRlbWVudChoYXNJbW1lZGlhdGUsIG9wLCBvcFdpdGhJ
bW1lZGlhdGUsIGltbWVkaWF0ZSkpIEZBSUxfV0lUSF9NRVNTQUdFKGVycm9yTWVzc2FnZSk7IH0g
d2hpbGUgKDApCiAjZGVmaW5lIFJFQURfT1BfRVhQUkVTU0lPTl9JMzJfT1JfRkFJTChoYXNJbW1l
ZGlhdGUsIG9wLCBvcFdpdGhJbW1lZGlhdGUsIGltbWVkaWF0ZSwgZXJyb3JNZXNzYWdlKSBkbyB7
IGlmICghbV9yZWFkZXIucmVhZE9wRXhwcmVzc2lvbkkzMihoYXNJbW1lZGlhdGUsIG9wLCBvcFdp
dGhJbW1lZGlhdGUsIGltbWVkaWF0ZSkpIEZBSUxfV0lUSF9NRVNTQUdFKGVycm9yTWVzc2FnZSk7
IH0gd2hpbGUgKDApCiAjZGVmaW5lIFJFQURfVkFSSUFCTEVfVFlQRVNfT1JfRkFJTChoYXNJbW1l
ZGlhdGUsIHZhcmlhYmxlVHlwZXMsIHZhcmlhYmxlVHlwZXNXaXRoSW1tZWRpYXRlLCBpbW1lZGlh
dGUsIGVycm9yTWVzc2FnZSkgZG8geyBpZiAoIW1fcmVhZGVyLnJlYWRWYXJpYWJsZVR5cGVzKGhh
c0ltbWVkaWF0ZSwgdmFyaWFibGVUeXBlcywgdmFyaWFibGVUeXBlc1dpdGhJbW1lZGlhdGUsIGlt
bWVkaWF0ZSkpIEZBSUxfV0lUSF9NRVNTQUdFKGVycm9yTWVzc2FnZSk7IH0gd2hpbGUgKDApCisj
ZGVmaW5lIFJFQURfU1dJVENIX0NBU0VfT1JfRkFJTChyZXN1bHQsIGVycm9yTWVzc2FnZSkgZG8g
eyBpZiAoIW1fcmVhZGVyLnJlYWRTd2l0Y2hDYXNlKHJlc3VsdCkpIEZBSUxfV0lUSF9NRVNTQUdF
KGVycm9yTWVzc2FnZSk7IH0gd2hpbGUgKDApCiAjZGVmaW5lIEZBSUxfSUZfRkFMU0UoY29uZGl0
aW9uLCBlcnJvck1lc3NhZ2UpIGRvIHsgaWYgKCEoY29uZGl0aW9uKSkgRkFJTF9XSVRIX01FU1NB
R0UoZXJyb3JNZXNzYWdlKTsgfSB3aGlsZSAoMCkKIAogI2RlZmluZSBVTlVTRUQgMApAQCAtMTIz
LDE3ICsxMjUsMzcgQEAgQ29udGV4dFN0YXRlbWVudCBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNl
U3RhdGVtZW50KENvbnRleHQmIGNvbnRleHQpCiAgICAgICAgIGNhc2UgV0FTTU9wU3RhdGVtZW50
OjpCbG9jazoKICAgICAgICAgICAgIHBhcnNlQmxvY2tTdGF0ZW1lbnQoY29udGV4dCk7CiAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBXQVNNT3BTdGF0ZW1lbnQ6OlNldEdsb2JhbDoK
ICAgICAgICAgY2FzZSBXQVNNT3BTdGF0ZW1lbnQ6OklmOgorICAgICAgICAgICAgcGFyc2VJZlN0
YXRlbWVudChjb250ZXh0KTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFdBU01P
cFN0YXRlbWVudDo6SWZFbHNlOgorICAgICAgICAgICAgcGFyc2VJZkVsc2VTdGF0ZW1lbnQoY29u
dGV4dCk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBXQVNNT3BTdGF0ZW1lbnQ6
OldoaWxlOgorICAgICAgICAgICAgcGFyc2VXaGlsZVN0YXRlbWVudChjb250ZXh0KTsKKyAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFdBU01PcFN0YXRlbWVudDo6RG86CisgICAgICAg
ICAgICBwYXJzZURvU3RhdGVtZW50KGNvbnRleHQpOworICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgV0FTTU9wU3RhdGVtZW50OjpMYWJlbDoKKyAgICAgICAgICAgIHBhcnNlTGFiZWxT
dGF0ZW1lbnQoY29udGV4dCk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBXQVNN
T3BTdGF0ZW1lbnQ6OkJyZWFrOgorICAgICAgICAgICAgcGFyc2VCcmVha1N0YXRlbWVudChjb250
ZXh0KTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFdBU01PcFN0YXRlbWVudDo6
QnJlYWtMYWJlbDoKKyAgICAgICAgICAgIHBhcnNlQnJlYWtMYWJlbFN0YXRlbWVudChjb250ZXh0
KTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFdBU01PcFN0YXRlbWVudDo6Q29u
dGludWU6CisgICAgICAgICAgICBwYXJzZUNvbnRpbnVlU3RhdGVtZW50KGNvbnRleHQpOworICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgV0FTTU9wU3RhdGVtZW50OjpDb250aW51ZUxh
YmVsOgorICAgICAgICAgICAgcGFyc2VDb250aW51ZUxhYmVsU3RhdGVtZW50KGNvbnRleHQpOwor
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgV0FTTU9wU3RhdGVtZW50OjpTd2l0Y2g6
CisgICAgICAgICAgICBwYXJzZVN3aXRjaFN0YXRlbWVudChjb250ZXh0KTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIFdBU01PcFN0YXRlbWVudDo6U2V0R2xvYmFsOgogICAgICAg
ICBjYXNlIFdBU01PcFN0YXRlbWVudDo6STMyU3RvcmU4OgogICAgICAgICBjYXNlIFdBU01PcFN0
YXRlbWVudDo6STMyU3RvcmVXaXRoT2Zmc2V0ODoKICAgICAgICAgY2FzZSBXQVNNT3BTdGF0ZW1l
bnQ6OkkzMlN0b3JlMTY6CkBAIC0yMDcsNiArMjI5LDE1NSBAQCBDb250ZXh0U3RhdGVtZW50IFdB
U01GdW5jdGlvblBhcnNlcjo6cGFyc2VCbG9ja1N0YXRlbWVudChDb250ZXh0JiBjb250ZXh0KQog
fQogCiB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KK0NvbnRleHRTdGF0ZW1lbnQgV0FTTUZ1bmN0
aW9uUGFyc2VyOjpwYXJzZUlmU3RhdGVtZW50KENvbnRleHQmIGNvbnRleHQpCit7CisgICAgcGFy
c2VFeHByZXNzaW9uSTMyKGNvbnRleHQpOworICAgIFBST1BBR0FURV9FUlJPUigpOworICAgIHBh
cnNlU3RhdGVtZW50KGNvbnRleHQpOworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcyBpbnN0
cnVjdGlvbi4KKyAgICByZXR1cm4gVU5VU0VEOworfQorCit0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4
dD4KK0NvbnRleHRTdGF0ZW1lbnQgV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUlmRWxzZVN0YXRl
bWVudChDb250ZXh0JiBjb250ZXh0KQoreworICAgIHBhcnNlRXhwcmVzc2lvbkkzMihjb250ZXh0
KTsKKyAgICBQUk9QQUdBVEVfRVJST1IoKTsKKyAgICBwYXJzZVN0YXRlbWVudChjb250ZXh0KTsK
KyAgICBQUk9QQUdBVEVfRVJST1IoKTsKKyAgICBwYXJzZVN0YXRlbWVudChjb250ZXh0KTsKKyAg
ICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMgaW5zdHJ1Y3Rpb24uCisgICAgcmV0dXJuIFVOVVNF
RDsKK30KKwordGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+CitDb250ZXh0U3RhdGVtZW50IFdBU01G
dW5jdGlvblBhcnNlcjo6cGFyc2VXaGlsZVN0YXRlbWVudChDb250ZXh0JiBjb250ZXh0KQorewor
ICAgIHBhcnNlRXhwcmVzc2lvbkkzMihjb250ZXh0KTsKKyAgICBQUk9QQUdBVEVfRVJST1IoKTsK
KworICAgIG1fYnJlYWtTY29wZURlcHRoKys7CisgICAgbV9jb250aW51ZVNjb3BlRGVwdGgrKzsK
KyAgICBwYXJzZVN0YXRlbWVudChjb250ZXh0KTsKKyAgICBQUk9QQUdBVEVfRVJST1IoKTsKKyAg
ICBtX2NvbnRpbnVlU2NvcGVEZXB0aC0tOworICAgIG1fYnJlYWtTY29wZURlcHRoLS07CisgICAg
Ly8gRklYTUU6IEltcGxlbWVudCB0aGlzIGluc3RydWN0aW9uLgorICAgIHJldHVybiBVTlVTRUQ7
Cit9CisKK3RlbXBsYXRlIDxjbGFzcyBDb250ZXh0PgorQ29udGV4dFN0YXRlbWVudCBXQVNNRnVu
Y3Rpb25QYXJzZXI6OnBhcnNlRG9TdGF0ZW1lbnQoQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBt
X2JyZWFrU2NvcGVEZXB0aCsrOworICAgIG1fY29udGludWVTY29wZURlcHRoKys7CisgICAgcGFy
c2VTdGF0ZW1lbnQoY29udGV4dCk7CisgICAgUFJPUEFHQVRFX0VSUk9SKCk7CisgICAgbV9jb250
aW51ZVNjb3BlRGVwdGgtLTsKKyAgICBtX2JyZWFrU2NvcGVEZXB0aC0tOworCisgICAgcGFyc2VF
eHByZXNzaW9uSTMyKGNvbnRleHQpOworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcyBpbnN0
cnVjdGlvbi4KKyAgICByZXR1cm4gVU5VU0VEOworfQorCit0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4
dD4KK0NvbnRleHRTdGF0ZW1lbnQgV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUxhYmVsU3RhdGVt
ZW50KENvbnRleHQmIGNvbnRleHQpCit7CisgICAgbV9sYWJlbERlcHRoKys7CisgICAgcGFyc2VT
dGF0ZW1lbnQoY29udGV4dCk7CisgICAgUFJPUEFHQVRFX0VSUk9SKCk7CisgICAgbV9sYWJlbERl
cHRoLS07CisgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzIGluc3RydWN0aW9uLgorICAgIHJl
dHVybiBVTlVTRUQ7Cit9CisKK3RlbXBsYXRlIDxjbGFzcyBDb250ZXh0PgorQ29udGV4dFN0YXRl
bWVudCBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlQnJlYWtTdGF0ZW1lbnQoQ29udGV4dCYpCit7
CisgICAgRkFJTF9JRl9GQUxTRShtX2JyZWFrU2NvcGVEZXB0aCwgIidicmVhaycgaXMgb25seSB2
YWxpZCBpbnNpZGUgYSBzd2l0Y2ggb3IgbG9vcCBzdGF0ZW1lbnQuIik7CisgICAgLy8gRklYTUU6
IEltcGxlbWVudCB0aGlzIGluc3RydWN0aW9uLgorICAgIHJldHVybiBVTlVTRUQ7Cit9CisKK3Rl
bXBsYXRlIDxjbGFzcyBDb250ZXh0PgorQ29udGV4dFN0YXRlbWVudCBXQVNNRnVuY3Rpb25QYXJz
ZXI6OnBhcnNlQnJlYWtMYWJlbFN0YXRlbWVudChDb250ZXh0JikKK3sKKyAgICB1aW50MzJfdCBs
YWJlbEluZGV4OworICAgIFJFQURfQ09NUEFDVF9VSU5UMzJfT1JfRkFJTChsYWJlbEluZGV4LCAi
Q2Fubm90IHJlYWQgdGhlIGxhYmVsIGluZGV4LiIpOworICAgIEZBSUxfSUZfRkFMU0UobGFiZWxJ
bmRleCA8IG1fbGFiZWxEZXB0aCwgIlRoZSBsYWJlbCBpbmRleCBpcyBpbmNvcnJlY3QuIik7Cisg
ICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzIGluc3RydWN0aW9uLgorICAgIHJldHVybiBVTlVT
RUQ7Cit9CisKK3RlbXBsYXRlIDxjbGFzcyBDb250ZXh0PgorQ29udGV4dFN0YXRlbWVudCBXQVNN
RnVuY3Rpb25QYXJzZXI6OnBhcnNlQ29udGludWVTdGF0ZW1lbnQoQ29udGV4dCYpCit7CisgICAg
RkFJTF9JRl9GQUxTRShtX2NvbnRpbnVlU2NvcGVEZXB0aCwgIidjb250aW51ZScgaXMgb25seSB2
YWxpZCBpbnNpZGUgYSBsb29wIHN0YXRlbWVudC4iKTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50
IHRoaXMgaW5zdHJ1Y3Rpb24uCisgICAgcmV0dXJuIFVOVVNFRDsKK30KKwordGVtcGxhdGUgPGNs
YXNzIENvbnRleHQ+CitDb250ZXh0U3RhdGVtZW50IFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VD
b250aW51ZUxhYmVsU3RhdGVtZW50KENvbnRleHQmKQoreworICAgIHVpbnQzMl90IGxhYmVsSW5k
ZXg7CisgICAgUkVBRF9DT01QQUNUX1VJTlQzMl9PUl9GQUlMKGxhYmVsSW5kZXgsICJDYW5ub3Qg
cmVhZCB0aGUgbGFiZWwgaW5kZXguIik7CisgICAgRkFJTF9JRl9GQUxTRShsYWJlbEluZGV4IDwg
bV9sYWJlbERlcHRoLCAiVGhlIGxhYmVsIGluZGV4IGlzIGluY29ycmVjdC4iKTsKKyAgICAvLyBG
SVhNRTogSW1wbGVtZW50IHRoaXMgaW5zdHJ1Y3Rpb24uCisgICAgcmV0dXJuIFVOVVNFRDsKK30K
KwordGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+CitDb250ZXh0U3RhdGVtZW50IFdBU01GdW5jdGlv
blBhcnNlcjo6cGFyc2VTd2l0Y2hTdGF0ZW1lbnQoQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICB1
aW50MzJfdCBudW1iZXJPZkNhc2VzOworICAgIFJFQURfQ09NUEFDVF9VSU5UMzJfT1JfRkFJTChu
dW1iZXJPZkNhc2VzLCAiQ2Fubm90IHJlYWQgdGhlIG51bWJlciBvZiBjYXNlcy4iKTsKKyAgICBw
YXJzZUV4cHJlc3Npb25JMzIoY29udGV4dCk7CisgICAgUFJPUEFHQVRFX0VSUk9SKCk7CisKKyAg
ICBtX2JyZWFrU2NvcGVEZXB0aCsrOworICAgIGZvciAodWludDMyX3QgaSA9IDA7IGkgPCBudW1i
ZXJPZkNhc2VzOyArK2kpIHsKKyAgICAgICAgV0FTTVN3aXRjaENhc2Ugc3dpdGNoQ2FzZTsKKyAg
ICAgICAgUkVBRF9TV0lUQ0hfQ0FTRV9PUl9GQUlMKHN3aXRjaENhc2UsICJDYW5ub3QgcmVhZCB0
aGUgc3dpdGNoIGNhc2UuIik7CisgICAgICAgIHN3aXRjaCAoc3dpdGNoQ2FzZSkgeworICAgICAg
ICBjYXNlIFdBU01Td2l0Y2hDYXNlOjpDYXNlV2l0aE5vU3RhdGVtZW50czoKKyAgICAgICAgY2Fz
ZSBXQVNNU3dpdGNoQ2FzZTo6Q2FzZVdpdGhTdGF0ZW1lbnQ6CisgICAgICAgIGNhc2UgV0FTTVN3
aXRjaENhc2U6OkNhc2VXaXRoQmxvY2tTdGF0ZW1lbnQ6IHsKKyAgICAgICAgICAgIHVpbnQzMl90
IHZhbHVlOworICAgICAgICAgICAgUkVBRF9DT01QQUNUX0lOVDMyX09SX0ZBSUwodmFsdWUsICJD
YW5ub3QgcmVhZCB0aGUgdmFsdWUgb2YgdGhlIHN3aXRjaCBjYXNlLiIpOworICAgICAgICAgICAg
aWYgKHN3aXRjaENhc2UgPT0gV0FTTVN3aXRjaENhc2U6OkNhc2VXaXRoU3RhdGVtZW50KSB7Cisg
ICAgICAgICAgICAgICAgcGFyc2VTdGF0ZW1lbnQoY29udGV4dCk7CisgICAgICAgICAgICAgICAg
UFJPUEFHQVRFX0VSUk9SKCk7CisgICAgICAgICAgICB9IGVsc2UgaWYgKHN3aXRjaENhc2UgPT0g
V0FTTVN3aXRjaENhc2U6OkNhc2VXaXRoQmxvY2tTdGF0ZW1lbnQpIHsKKyAgICAgICAgICAgICAg
ICBwYXJzZUJsb2NrU3RhdGVtZW50KGNvbnRleHQpOworICAgICAgICAgICAgICAgIFBST1BBR0FU
RV9FUlJPUigpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KyAgICAgICAgY2FzZSBXQVNNU3dpdGNoQ2FzZTo6RGVmYXVsdFdpdGhOb1N0YXRlbWVudHM6Cisg
ICAgICAgIGNhc2UgV0FTTVN3aXRjaENhc2U6OkRlZmF1bHRXaXRoU3RhdGVtZW50OgorICAgICAg
ICBjYXNlIFdBU01Td2l0Y2hDYXNlOjpEZWZhdWx0V2l0aEJsb2NrU3RhdGVtZW50OiB7CisgICAg
ICAgICAgICBGQUlMX0lGX0ZBTFNFKGkgPT0gbnVtYmVyT2ZDYXNlcyAtIDEsICJUaGUgZGVmYXVs
dCBjYXNlIG11c3QgYmUgdGhlIGxhc3QgY2FzZS4iKTsKKyAgICAgICAgICAgIGlmIChzd2l0Y2hD
YXNlID09IFdBU01Td2l0Y2hDYXNlOjpEZWZhdWx0V2l0aFN0YXRlbWVudCkgeworICAgICAgICAg
ICAgICAgIHBhcnNlU3RhdGVtZW50KGNvbnRleHQpOworICAgICAgICAgICAgICAgIFBST1BBR0FU
RV9FUlJPUigpOworICAgICAgICAgICAgfSBlbHNlIGlmIChzd2l0Y2hDYXNlID09IFdBU01Td2l0
Y2hDYXNlOjpEZWZhdWx0V2l0aEJsb2NrU3RhdGVtZW50KSB7CisgICAgICAgICAgICAgICAgcGFy
c2VCbG9ja1N0YXRlbWVudChjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBQUk9QQUdBVEVfRVJS
T1IoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAg
ICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAg
fQorICAgIH0KKyAgICBtX2JyZWFrU2NvcGVEZXB0aC0tOworICAgIC8vIEZJWE1FOiBJbXBsZW1l
bnQgdGhpcyBpbnN0cnVjdGlvbi4KKyAgICByZXR1cm4gVU5VU0VEOworfQorCit0ZW1wbGF0ZSA8
Y2xhc3MgQ29udGV4dD4KIENvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFy
c2VFeHByZXNzaW9uKENvbnRleHQmIGNvbnRleHQsIFdBU01FeHByZXNzaW9uVHlwZSBleHByZXNz
aW9uVHlwZSkKIHsKICAgICBzd2l0Y2ggKGV4cHJlc3Npb25UeXBlKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5oCmluZGV4IDM2NDk1MjAuLjRk
NjMxM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlv
blBhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBh
cnNlci5oCkBAIC00Nyw2ICs0Nyw5IEBAIHByaXZhdGU6CiAgICAgICAgIDogbV9tb2R1bGUobW9k
dWxlKQogICAgICAgICAsIG1fcmVhZGVyKHN0YXRpY19jYXN0PFdlYkFzc2VtYmx5U291cmNlUHJv
dmlkZXIqPihzb3VyY2UucHJvdmlkZXIoKSktPmRhdGEoKSkKICAgICAgICAgLCBtX2Z1bmN0aW9u
SW5kZXgoZnVuY3Rpb25JbmRleCkKKyAgICAgICAgLCBtX2JyZWFrU2NvcGVEZXB0aCgwKQorICAg
ICAgICAsIG1fY29udGludWVTY29wZURlcHRoKDApCisgICAgICAgICwgbV9sYWJlbERlcHRoKDAp
CiAgICAgewogICAgIH0KIApAQCAtNTgsNiArNjEsMTYgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dFN0YXRlbWVudCBwYXJzZVNldExvY2FsU3RhdGVtZW50
KENvbnRleHQmKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dFN0YXRlbWVu
dCBwYXJzZVJldHVyblN0YXRlbWVudChDb250ZXh0Jik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIENv
bnRleHQ+IENvbnRleHRTdGF0ZW1lbnQgcGFyc2VCbG9ja1N0YXRlbWVudChDb250ZXh0Jik7Cisg
ICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRTdGF0ZW1lbnQgcGFyc2VJZlN0YXRl
bWVudChDb250ZXh0Jik7CisgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRTdGF0
ZW1lbnQgcGFyc2VJZkVsc2VTdGF0ZW1lbnQoQ29udGV4dCYpOworICAgIHRlbXBsYXRlIDxjbGFz
cyBDb250ZXh0PiBDb250ZXh0U3RhdGVtZW50IHBhcnNlV2hpbGVTdGF0ZW1lbnQoQ29udGV4dCYp
OworICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0U3RhdGVtZW50IHBhcnNlRG9T
dGF0ZW1lbnQoQ29udGV4dCYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0
U3RhdGVtZW50IHBhcnNlTGFiZWxTdGF0ZW1lbnQoQ29udGV4dCYpOworICAgIHRlbXBsYXRlIDxj
bGFzcyBDb250ZXh0PiBDb250ZXh0U3RhdGVtZW50IHBhcnNlQnJlYWtTdGF0ZW1lbnQoQ29udGV4
dCYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0U3RhdGVtZW50IHBhcnNl
QnJlYWtMYWJlbFN0YXRlbWVudChDb250ZXh0Jik7CisgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRl
eHQ+IENvbnRleHRTdGF0ZW1lbnQgcGFyc2VDb250aW51ZVN0YXRlbWVudChDb250ZXh0Jik7Cisg
ICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRTdGF0ZW1lbnQgcGFyc2VDb250aW51
ZUxhYmVsU3RhdGVtZW50KENvbnRleHQmKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4g
Q29udGV4dFN0YXRlbWVudCBwYXJzZVN3aXRjaFN0YXRlbWVudChDb250ZXh0Jik7CiAKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VFeHByZXNzaW9u
KENvbnRleHQmLCBXQVNNRXhwcmVzc2lvblR5cGUpOwogCkBAIC03NSw2ICs4OCwxMCBAQCBwcml2
YXRlOgogICAgIHVpbnQzMl90IG1fbnVtYmVyT2ZJMzJMb2NhbFZhcmlhYmxlczsKICAgICB1aW50
MzJfdCBtX251bWJlck9mRjMyTG9jYWxWYXJpYWJsZXM7CiAgICAgdWludDMyX3QgbV9udW1iZXJP
ZkY2NExvY2FsVmFyaWFibGVzOworCisgICAgdW5zaWduZWQgbV9icmVha1Njb3BlRGVwdGg7Cisg
ICAgdW5zaWduZWQgbV9jb250aW51ZVNjb3BlRGVwdGg7CisgICAgdW5zaWduZWQgbV9sYWJlbERl
cHRoOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XQVNNUmVhZGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dBU01SZWFkZXIuY3BwCmluZGV4IGY0NDcyMTEuLmQ1NWQwMmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01SZWFkZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL1dBU01SZWFkZXIuY3BwCkBAIC05NSw2ICs5NSwyOCBAQCBib29sIFdBU01S
ZWFkZXI6OnJlYWREb3VibGUoZG91YmxlJiByZXN1bHQpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
K2Jvb2wgV0FTTVJlYWRlcjo6cmVhZENvbXBhY3RJbnQzMih1aW50MzJfdCYgcmVzdWx0KQorewor
ICAgIHVpbnQzMl90IHN1bSA9IDA7CisgICAgdW5zaWduZWQgc2hpZnQgPSAwOworICAgIGRvIHsK
KyAgICAgICAgQ0hFQ0tfUkVBRCgxKTsKKyAgICAgICAgdWludDhfdCBieXRlID0gKm1fY3Vyc29y
Kys7CisgICAgICAgIGlmIChieXRlIDwgMHg4MCkgeworICAgICAgICAgICAgc3VtIHw9IGJ5dGUg
PDwgc2hpZnQ7CisgICAgICAgICAgICBpbnQgc2lnbkV4dGVuZCA9ICgzMiAtIDcpIC0gc2hpZnQ7
CisgICAgICAgICAgICBpZiAoc2lnbkV4dGVuZCA+IDApCisgICAgICAgICAgICAgICAgcmVzdWx0
ID0gaW50MzJfdChzdW0pIDw8IHNpZ25FeHRlbmQgPj4gc2lnbkV4dGVuZDsKKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBpbnQzMl90KHN1bSk7CisgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICBzdW0gfD0gKGJ5dGUgJiBmaXJzdFNl
dmVuQml0c01hc2spIDw8IHNoaWZ0OworICAgICAgICBzaGlmdCArPSA3OworICAgIH0gd2hpbGUg
KHNoaWZ0IDwgMzUpOworICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBXQVNNUmVhZGVyOjpy
ZWFkQ29tcGFjdFVJbnQzMih1aW50MzJfdCYgcmVzdWx0KQogewogICAgIHVpbnQzMl90IHN1bSA9
IDA7CkBAIC0xOTcsNiArMjE5LDExIEBAIGJvb2wgV0FTTVJlYWRlcjo6cmVhZE9wKGJvb2wmIGhh
c0ltbWVkaWF0ZSwgVCYgb3AsIFRXaXRoSW1tZWRpYXRlJiBvcFdpdGhJbW1lZGlhCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKK2Jvb2wgV0FTTVJlYWRlcjo6cmVhZFN3aXRjaENhc2UoV0FTTVN3aXRj
aENhc2UmIHJlc3VsdCkKK3sKKyAgICByZXR1cm4gcmVhZEJ5dGU8V0FTTVN3aXRjaENhc2U+KHJl
c3VsdCwgc3RhdGljX2Nhc3Q8dWludDhfdD4oV0FTTVN3aXRjaENhc2U6Ok51bWJlck9mU3dpdGNo
Q2FzZXMpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VC
QVNTRU1CTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNUmVh
ZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNUmVhZGVyLmgKaW5kZXggOTk1
YWRjZC4uNDA1ODI1MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FT
TVJlYWRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01SZWFkZXIuaApA
QCAtNDgsNiArNDgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCByZWFkVUludDMyKHVpbnQzMl90JiBy
ZXN1bHQpOwogICAgIGJvb2wgcmVhZEZsb2F0KGZsb2F0JiByZXN1bHQpOwogICAgIGJvb2wgcmVh
ZERvdWJsZShkb3VibGUmIHJlc3VsdCk7CisgICAgYm9vbCByZWFkQ29tcGFjdEludDMyKHVpbnQz
Ml90JiByZXN1bHQpOwogICAgIGJvb2wgcmVhZENvbXBhY3RVSW50MzIodWludDMyX3QmIHJlc3Vs
dCk7CiAgICAgYm9vbCByZWFkU3RyaW5nKFN0cmluZyYgcmVzdWx0KTsKICAgICBib29sIHJlYWRU
eXBlKFdBU01UeXBlJiByZXN1bHQpOwpAQCAtNTYsNiArNTcsNyBAQCBwdWJsaWM6CiAgICAgYm9v
bCByZWFkT3BTdGF0ZW1lbnQoYm9vbCYgaGFzSW1tZWRpYXRlLCBXQVNNT3BTdGF0ZW1lbnQmLCBX
QVNNT3BTdGF0ZW1lbnRXaXRoSW1tZWRpYXRlJiwgdWludDhfdCYgaW1tZWRpYXRlKTsKICAgICBi
b29sIHJlYWRPcEV4cHJlc3Npb25JMzIoYm9vbCYgaGFzSW1tZWRpYXRlLCBXQVNNT3BFeHByZXNz
aW9uSTMyJiwgV0FTTU9wRXhwcmVzc2lvbkkzMldpdGhJbW1lZGlhdGUmLCB1aW50OF90JiBpbW1l
ZGlhdGUpOwogICAgIGJvb2wgcmVhZFZhcmlhYmxlVHlwZXMoYm9vbCYgaGFzSW1tZWRpYXRlLCBX
QVNNVmFyaWFibGVUeXBlcyYsIFdBU01WYXJpYWJsZVR5cGVzV2l0aEltbWVkaWF0ZSYsIHVpbnQ4
X3QmIGltbWVkaWF0ZSk7CisgICAgYm9vbCByZWFkU3dpdGNoQ2FzZShXQVNNU3dpdGNoQ2FzZSYg
cmVzdWx0KTsKIAogcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgdWludDMyX3QgZmlyc3RTZXZl
bkJpdHNNYXNrID0gMHg3ZjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259673</attachid>
            <date>2015-08-21 15:44:45 -0700</date>
            <delta_ts>2015-08-21 17:49:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>14896</size>
            <attacher name="Sukolsak Sakshuwong">sukolsak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGRhMjczNDQuLmE0NGM4MmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE1LTA4LTIxICBTdWtvbHNhayBTYWtz
aHV3b25nICA8c3Vrb2xzYWtAZ21haWwuY29tPgorCisgICAgICAgIFBhcnNlIGNvbnRyb2wgZmxv
dyBzdGF0ZW1lbnRzIGluIFdlYkFzc2VtYmx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDgzMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBQYXJzZSBjb250cm9sIGZsb3cgc3RhdGVtZW50cyBpbiBXZWJB
c3NlbWJseSBmaWxlcyBnZW5lcmF0ZWQgYnkgcGFjay1hc21qcworICAgICAgICA8aHR0cHM6Ly9n
aXRodWIuY29tL1dlYkFzc2VtYmx5L3BvbHlmaWxsLXByb3RvdHlwZS0xPi4KKworICAgICAgICAq
IHdhc20vV0FTTUNvbnN0YW50cy5oOgorICAgICAgICAqIHdhc20vV0FTTUZ1bmN0aW9uUGFyc2Vy
LmNwcDoKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZVN0YXRlbWVudCk6
CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VJZlN0YXRlbWVudCk6Cisg
ICAgICAgIChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VJZkVsc2VTdGF0ZW1lbnQpOgor
ICAgICAgICAoSlNDOjpXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlV2hpbGVTdGF0ZW1lbnQpOgor
ICAgICAgICAoSlNDOjpXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlRG9TdGF0ZW1lbnQpOgorICAg
ICAgICAoSlNDOjpXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlTGFiZWxTdGF0ZW1lbnQpOgorICAg
ICAgICAoSlNDOjpXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlQnJlYWtTdGF0ZW1lbnQpOgorICAg
ICAgICAoSlNDOjpXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlQnJlYWtMYWJlbFN0YXRlbWVudCk6
CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VDb250aW51ZVN0YXRlbWVu
dCk6CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VDb250aW51ZUxhYmVs
U3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZVN3aXRj
aFN0YXRlbWVudCk6CisgICAgICAgICogd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaDoKKyAgICAg
ICAgKEpTQzo6V0FTTUZ1bmN0aW9uUGFyc2VyOjpXQVNNRnVuY3Rpb25QYXJzZXIpOgorICAgICAg
ICAqIHdhc20vV0FTTVJlYWRlci5jcHA6CisgICAgICAgIChKU0M6OldBU01SZWFkZXI6OnJlYWRD
b21wYWN0SW50MzIpOgorICAgICAgICAoSlNDOjpXQVNNUmVhZGVyOjpyZWFkU3dpdGNoQ2FzZSk6
CisgICAgICAgICogd2FzbS9XQVNNUmVhZGVyLmg6CisKIDIwMTUtMDgtMjEgIFN1a29sc2FrIFNh
a3NodXdvbmcgIDxzdWtvbHNha0BnbWFpbC5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IFdlYkFz
c2VtYmx5IGZ1bmN0aW9uIHBhcnNlcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV0FTTUNvbnN0YW50cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUNv
bnN0YW50cy5oCmluZGV4IDBlOGI2ZDIuLjM4OGI4ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL1dBU01Db25zdGFudHMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9XQVNNQ29uc3RhbnRzLmgKQEAgLTE4Miw2ICsxODIsMTYgQEAgZW51bSBjbGFzcyBX
QVNNVmFyaWFibGVUeXBlc1dpdGhJbW1lZGlhdGUgOiB1aW50OF90IHsKICAgICBOdW1iZXJPZlZh
cmlhYmxlVHlwZXNXaXRoSW1tZWRpYXRlcwogfTsKIAorZW51bSBjbGFzcyBXQVNNU3dpdGNoQ2Fz
ZSA6IHVpbnQ4X3QgeworICAgIENhc2VXaXRoTm9TdGF0ZW1lbnRzLAorICAgIENhc2VXaXRoU3Rh
dGVtZW50LAorICAgIENhc2VXaXRoQmxvY2tTdGF0ZW1lbnQsCisgICAgRGVmYXVsdFdpdGhOb1N0
YXRlbWVudHMsCisgICAgRGVmYXVsdFdpdGhTdGF0ZW1lbnQsCisgICAgRGVmYXVsdFdpdGhCbG9j
a1N0YXRlbWVudCwKKyAgICBOdW1iZXJPZlN3aXRjaENhc2VzCit9OworCiBlbnVtIGNsYXNzIFdB
U01FeHBvcnRGb3JtYXQgOiB1aW50OF90IHsKICAgICBEZWZhdWx0LAogICAgIFJlY29yZCwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuY3BwCmlu
ZGV4IDZjYzA5ZjIuLmQ2ODlmNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcApAQCAtMzMsMTAgKzMzLDEyIEBACiAKICNkZWZpbmUg
UFJPUEFHQVRFX0VSUk9SKCkgZG8geyBpZiAoIW1fZXJyb3JNZXNzYWdlLmlzTnVsbCgpKSByZXR1
cm4gMDsgfSB3aGlsZSAoMCkKICNkZWZpbmUgRkFJTF9XSVRIX01FU1NBR0UoZXJyb3JNZXNzYWdl
KSBkbyB7ICBtX2Vycm9yTWVzc2FnZSA9IGVycm9yTWVzc2FnZTsgcmV0dXJuIDA7IH0gd2hpbGUg
KDApCisjZGVmaW5lIFJFQURfQ09NUEFDVF9JTlQzMl9PUl9GQUlMKHJlc3VsdCwgZXJyb3JNZXNz
YWdlKSBkbyB7IGlmICghbV9yZWFkZXIucmVhZENvbXBhY3RJbnQzMihyZXN1bHQpKSBGQUlMX1dJ
VEhfTUVTU0FHRShlcnJvck1lc3NhZ2UpOyB9IHdoaWxlICgwKQogI2RlZmluZSBSRUFEX0NPTVBB
Q1RfVUlOVDMyX09SX0ZBSUwocmVzdWx0LCBlcnJvck1lc3NhZ2UpIGRvIHsgaWYgKCFtX3JlYWRl
ci5yZWFkQ29tcGFjdFVJbnQzMihyZXN1bHQpKSBGQUlMX1dJVEhfTUVTU0FHRShlcnJvck1lc3Nh
Z2UpOyB9IHdoaWxlICgwKQogI2RlZmluZSBSRUFEX09QX1NUQVRFTUVOVF9PUl9GQUlMKGhhc0lt
bWVkaWF0ZSwgb3AsIG9wV2l0aEltbWVkaWF0ZSwgaW1tZWRpYXRlLCBlcnJvck1lc3NhZ2UpIGRv
IHsgaWYgKCFtX3JlYWRlci5yZWFkT3BTdGF0ZW1lbnQoaGFzSW1tZWRpYXRlLCBvcCwgb3BXaXRo
SW1tZWRpYXRlLCBpbW1lZGlhdGUpKSBGQUlMX1dJVEhfTUVTU0FHRShlcnJvck1lc3NhZ2UpOyB9
IHdoaWxlICgwKQogI2RlZmluZSBSRUFEX09QX0VYUFJFU1NJT05fSTMyX09SX0ZBSUwoaGFzSW1t
ZWRpYXRlLCBvcCwgb3BXaXRoSW1tZWRpYXRlLCBpbW1lZGlhdGUsIGVycm9yTWVzc2FnZSkgZG8g
eyBpZiAoIW1fcmVhZGVyLnJlYWRPcEV4cHJlc3Npb25JMzIoaGFzSW1tZWRpYXRlLCBvcCwgb3BX
aXRoSW1tZWRpYXRlLCBpbW1lZGlhdGUpKSBGQUlMX1dJVEhfTUVTU0FHRShlcnJvck1lc3NhZ2Up
OyB9IHdoaWxlICgwKQogI2RlZmluZSBSRUFEX1ZBUklBQkxFX1RZUEVTX09SX0ZBSUwoaGFzSW1t
ZWRpYXRlLCB2YXJpYWJsZVR5cGVzLCB2YXJpYWJsZVR5cGVzV2l0aEltbWVkaWF0ZSwgaW1tZWRp
YXRlLCBlcnJvck1lc3NhZ2UpIGRvIHsgaWYgKCFtX3JlYWRlci5yZWFkVmFyaWFibGVUeXBlcyho
YXNJbW1lZGlhdGUsIHZhcmlhYmxlVHlwZXMsIHZhcmlhYmxlVHlwZXNXaXRoSW1tZWRpYXRlLCBp
bW1lZGlhdGUpKSBGQUlMX1dJVEhfTUVTU0FHRShlcnJvck1lc3NhZ2UpOyB9IHdoaWxlICgwKQor
I2RlZmluZSBSRUFEX1NXSVRDSF9DQVNFX09SX0ZBSUwocmVzdWx0LCBlcnJvck1lc3NhZ2UpIGRv
IHsgaWYgKCFtX3JlYWRlci5yZWFkU3dpdGNoQ2FzZShyZXN1bHQpKSBGQUlMX1dJVEhfTUVTU0FH
RShlcnJvck1lc3NhZ2UpOyB9IHdoaWxlICgwKQogI2RlZmluZSBGQUlMX0lGX0ZBTFNFKGNvbmRp
dGlvbiwgZXJyb3JNZXNzYWdlKSBkbyB7IGlmICghKGNvbmRpdGlvbikpIEZBSUxfV0lUSF9NRVNT
QUdFKGVycm9yTWVzc2FnZSk7IH0gd2hpbGUgKDApCiAKICNkZWZpbmUgVU5VU0VEIDAKQEAgLTEy
MywxNyArMTI1LDM3IEBAIENvbnRleHRTdGF0ZW1lbnQgV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJz
ZVN0YXRlbWVudChDb250ZXh0JiBjb250ZXh0KQogICAgICAgICBjYXNlIFdBU01PcFN0YXRlbWVu
dDo6QmxvY2s6CiAgICAgICAgICAgICBwYXJzZUJsb2NrU3RhdGVtZW50KGNvbnRleHQpOwogICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgV0FTTU9wU3RhdGVtZW50OjpTZXRHbG9iYWw6
CiAgICAgICAgIGNhc2UgV0FTTU9wU3RhdGVtZW50OjpJZjoKKyAgICAgICAgICAgIHBhcnNlSWZT
dGF0ZW1lbnQoY29udGV4dCk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBXQVNN
T3BTdGF0ZW1lbnQ6OklmRWxzZToKKyAgICAgICAgICAgIHBhcnNlSWZFbHNlU3RhdGVtZW50KGNv
bnRleHQpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgV0FTTU9wU3RhdGVtZW50
OjpXaGlsZToKKyAgICAgICAgICAgIHBhcnNlV2hpbGVTdGF0ZW1lbnQoY29udGV4dCk7CisgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBXQVNNT3BTdGF0ZW1lbnQ6OkRvOgorICAgICAg
ICAgICAgcGFyc2VEb1N0YXRlbWVudChjb250ZXh0KTsKKyAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBjYXNlIFdBU01PcFN0YXRlbWVudDo6TGFiZWw6CisgICAgICAgICAgICBwYXJzZUxhYmVs
U3RhdGVtZW50KGNvbnRleHQpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgV0FT
TU9wU3RhdGVtZW50OjpCcmVhazoKKyAgICAgICAgICAgIHBhcnNlQnJlYWtTdGF0ZW1lbnQoY29u
dGV4dCk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBXQVNNT3BTdGF0ZW1lbnQ6
OkJyZWFrTGFiZWw6CisgICAgICAgICAgICBwYXJzZUJyZWFrTGFiZWxTdGF0ZW1lbnQoY29udGV4
dCk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBXQVNNT3BTdGF0ZW1lbnQ6OkNv
bnRpbnVlOgorICAgICAgICAgICAgcGFyc2VDb250aW51ZVN0YXRlbWVudChjb250ZXh0KTsKKyAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFdBU01PcFN0YXRlbWVudDo6Q29udGludWVM
YWJlbDoKKyAgICAgICAgICAgIHBhcnNlQ29udGludWVMYWJlbFN0YXRlbWVudChjb250ZXh0KTsK
KyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFdBU01PcFN0YXRlbWVudDo6U3dpdGNo
OgorICAgICAgICAgICAgcGFyc2VTd2l0Y2hTdGF0ZW1lbnQoY29udGV4dCk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgY2FzZSBXQVNNT3BTdGF0ZW1lbnQ6OlNldEdsb2JhbDoKICAgICAg
ICAgY2FzZSBXQVNNT3BTdGF0ZW1lbnQ6OkkzMlN0b3JlODoKICAgICAgICAgY2FzZSBXQVNNT3BT
dGF0ZW1lbnQ6OkkzMlN0b3JlV2l0aE9mZnNldDg6CiAgICAgICAgIGNhc2UgV0FTTU9wU3RhdGVt
ZW50OjpJMzJTdG9yZTE2OgpAQCAtMjA3LDYgKzIyOSwxNTUgQEAgQ29udGV4dFN0YXRlbWVudCBX
QVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlQmxvY2tTdGF0ZW1lbnQoQ29udGV4dCYgY29udGV4dCkK
IH0KIAogdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+CitDb250ZXh0U3RhdGVtZW50IFdBU01GdW5j
dGlvblBhcnNlcjo6cGFyc2VJZlN0YXRlbWVudChDb250ZXh0JiBjb250ZXh0KQoreworICAgIHBh
cnNlRXhwcmVzc2lvbkkzMihjb250ZXh0KTsKKyAgICBQUk9QQUdBVEVfRVJST1IoKTsKKyAgICBw
YXJzZVN0YXRlbWVudChjb250ZXh0KTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMgaW5z
dHJ1Y3Rpb24uCisgICAgcmV0dXJuIFVOVVNFRDsKK30KKwordGVtcGxhdGUgPGNsYXNzIENvbnRl
eHQ+CitDb250ZXh0U3RhdGVtZW50IFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VJZkVsc2VTdGF0
ZW1lbnQoQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBwYXJzZUV4cHJlc3Npb25JMzIoY29udGV4
dCk7CisgICAgUFJPUEFHQVRFX0VSUk9SKCk7CisgICAgcGFyc2VTdGF0ZW1lbnQoY29udGV4dCk7
CisgICAgUFJPUEFHQVRFX0VSUk9SKCk7CisgICAgcGFyc2VTdGF0ZW1lbnQoY29udGV4dCk7Cisg
ICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzIGluc3RydWN0aW9uLgorICAgIHJldHVybiBVTlVT
RUQ7Cit9CisKK3RlbXBsYXRlIDxjbGFzcyBDb250ZXh0PgorQ29udGV4dFN0YXRlbWVudCBXQVNN
RnVuY3Rpb25QYXJzZXI6OnBhcnNlV2hpbGVTdGF0ZW1lbnQoQ29udGV4dCYgY29udGV4dCkKK3sK
KyAgICBwYXJzZUV4cHJlc3Npb25JMzIoY29udGV4dCk7CisgICAgUFJPUEFHQVRFX0VSUk9SKCk7
CisKKyAgICBtX2JyZWFrU2NvcGVEZXB0aCsrOworICAgIG1fY29udGludWVTY29wZURlcHRoKys7
CisgICAgcGFyc2VTdGF0ZW1lbnQoY29udGV4dCk7CisgICAgUFJPUEFHQVRFX0VSUk9SKCk7Cisg
ICAgbV9jb250aW51ZVNjb3BlRGVwdGgtLTsKKyAgICBtX2JyZWFrU2NvcGVEZXB0aC0tOworICAg
IC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcyBpbnN0cnVjdGlvbi4KKyAgICByZXR1cm4gVU5VU0VE
OworfQorCit0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KK0NvbnRleHRTdGF0ZW1lbnQgV0FTTUZ1
bmN0aW9uUGFyc2VyOjpwYXJzZURvU3RhdGVtZW50KENvbnRleHQmIGNvbnRleHQpCit7CisgICAg
bV9icmVha1Njb3BlRGVwdGgrKzsKKyAgICBtX2NvbnRpbnVlU2NvcGVEZXB0aCsrOworICAgIHBh
cnNlU3RhdGVtZW50KGNvbnRleHQpOworICAgIFBST1BBR0FURV9FUlJPUigpOworICAgIG1fY29u
dGludWVTY29wZURlcHRoLS07CisgICAgbV9icmVha1Njb3BlRGVwdGgtLTsKKworICAgIHBhcnNl
RXhwcmVzc2lvbkkzMihjb250ZXh0KTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMgaW5z
dHJ1Y3Rpb24uCisgICAgcmV0dXJuIFVOVVNFRDsKK30KKwordGVtcGxhdGUgPGNsYXNzIENvbnRl
eHQ+CitDb250ZXh0U3RhdGVtZW50IFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VMYWJlbFN0YXRl
bWVudChDb250ZXh0JiBjb250ZXh0KQoreworICAgIG1fbGFiZWxEZXB0aCsrOworICAgIHBhcnNl
U3RhdGVtZW50KGNvbnRleHQpOworICAgIFBST1BBR0FURV9FUlJPUigpOworICAgIG1fbGFiZWxE
ZXB0aC0tOworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcyBpbnN0cnVjdGlvbi4KKyAgICBy
ZXR1cm4gVU5VU0VEOworfQorCit0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KK0NvbnRleHRTdGF0
ZW1lbnQgV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUJyZWFrU3RhdGVtZW50KENvbnRleHQmKQor
eworICAgIEZBSUxfSUZfRkFMU0UobV9icmVha1Njb3BlRGVwdGgsICInYnJlYWsnIGlzIG9ubHkg
dmFsaWQgaW5zaWRlIGEgc3dpdGNoIG9yIGxvb3Agc3RhdGVtZW50LiIpOworICAgIC8vIEZJWE1F
OiBJbXBsZW1lbnQgdGhpcyBpbnN0cnVjdGlvbi4KKyAgICByZXR1cm4gVU5VU0VEOworfQorCit0
ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KK0NvbnRleHRTdGF0ZW1lbnQgV0FTTUZ1bmN0aW9uUGFy
c2VyOjpwYXJzZUJyZWFrTGFiZWxTdGF0ZW1lbnQoQ29udGV4dCYpCit7CisgICAgdWludDMyX3Qg
bGFiZWxJbmRleDsKKyAgICBSRUFEX0NPTVBBQ1RfVUlOVDMyX09SX0ZBSUwobGFiZWxJbmRleCwg
IkNhbm5vdCByZWFkIHRoZSBsYWJlbCBpbmRleC4iKTsKKyAgICBGQUlMX0lGX0ZBTFNFKGxhYmVs
SW5kZXggPCBtX2xhYmVsRGVwdGgsICJUaGUgbGFiZWwgaW5kZXggaXMgaW5jb3JyZWN0LiIpOwor
ICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcyBpbnN0cnVjdGlvbi4KKyAgICByZXR1cm4gVU5V
U0VEOworfQorCit0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KK0NvbnRleHRTdGF0ZW1lbnQgV0FT
TUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUNvbnRpbnVlU3RhdGVtZW50KENvbnRleHQmKQoreworICAg
IEZBSUxfSUZfRkFMU0UobV9jb250aW51ZVNjb3BlRGVwdGgsICInY29udGludWUnIGlzIG9ubHkg
dmFsaWQgaW5zaWRlIGEgbG9vcCBzdGF0ZW1lbnQuIik7CisgICAgLy8gRklYTUU6IEltcGxlbWVu
dCB0aGlzIGluc3RydWN0aW9uLgorICAgIHJldHVybiBVTlVTRUQ7Cit9CisKK3RlbXBsYXRlIDxj
bGFzcyBDb250ZXh0PgorQ29udGV4dFN0YXRlbWVudCBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNl
Q29udGludWVMYWJlbFN0YXRlbWVudChDb250ZXh0JikKK3sKKyAgICB1aW50MzJfdCBsYWJlbElu
ZGV4OworICAgIFJFQURfQ09NUEFDVF9VSU5UMzJfT1JfRkFJTChsYWJlbEluZGV4LCAiQ2Fubm90
IHJlYWQgdGhlIGxhYmVsIGluZGV4LiIpOworICAgIEZBSUxfSUZfRkFMU0UobGFiZWxJbmRleCA8
IG1fbGFiZWxEZXB0aCwgIlRoZSBsYWJlbCBpbmRleCBpcyBpbmNvcnJlY3QuIik7CisgICAgLy8g
RklYTUU6IEltcGxlbWVudCB0aGlzIGluc3RydWN0aW9uLgorICAgIHJldHVybiBVTlVTRUQ7Cit9
CisKK3RlbXBsYXRlIDxjbGFzcyBDb250ZXh0PgorQ29udGV4dFN0YXRlbWVudCBXQVNNRnVuY3Rp
b25QYXJzZXI6OnBhcnNlU3dpdGNoU3RhdGVtZW50KENvbnRleHQmIGNvbnRleHQpCit7CisgICAg
dWludDMyX3QgbnVtYmVyT2ZDYXNlczsKKyAgICBSRUFEX0NPTVBBQ1RfVUlOVDMyX09SX0ZBSUwo
bnVtYmVyT2ZDYXNlcywgIkNhbm5vdCByZWFkIHRoZSBudW1iZXIgb2YgY2FzZXMuIik7CisgICAg
cGFyc2VFeHByZXNzaW9uSTMyKGNvbnRleHQpOworICAgIFBST1BBR0FURV9FUlJPUigpOworCisg
ICAgbV9icmVha1Njb3BlRGVwdGgrKzsKKyAgICBmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgbnVt
YmVyT2ZDYXNlczsgKytpKSB7CisgICAgICAgIFdBU01Td2l0Y2hDYXNlIHN3aXRjaENhc2U7Cisg
ICAgICAgIFJFQURfU1dJVENIX0NBU0VfT1JfRkFJTChzd2l0Y2hDYXNlLCAiQ2Fubm90IHJlYWQg
dGhlIHN3aXRjaCBjYXNlLiIpOworICAgICAgICBzd2l0Y2ggKHN3aXRjaENhc2UpIHsKKyAgICAg
ICAgY2FzZSBXQVNNU3dpdGNoQ2FzZTo6Q2FzZVdpdGhOb1N0YXRlbWVudHM6CisgICAgICAgIGNh
c2UgV0FTTVN3aXRjaENhc2U6OkNhc2VXaXRoU3RhdGVtZW50OgorICAgICAgICBjYXNlIFdBU01T
d2l0Y2hDYXNlOjpDYXNlV2l0aEJsb2NrU3RhdGVtZW50OiB7CisgICAgICAgICAgICB1aW50MzJf
dCB2YWx1ZTsKKyAgICAgICAgICAgIFJFQURfQ09NUEFDVF9JTlQzMl9PUl9GQUlMKHZhbHVlLCAi
Q2Fubm90IHJlYWQgdGhlIHZhbHVlIG9mIHRoZSBzd2l0Y2ggY2FzZS4iKTsKKyAgICAgICAgICAg
IGlmIChzd2l0Y2hDYXNlID09IFdBU01Td2l0Y2hDYXNlOjpDYXNlV2l0aFN0YXRlbWVudCkgewor
ICAgICAgICAgICAgICAgIHBhcnNlU3RhdGVtZW50KGNvbnRleHQpOworICAgICAgICAgICAgICAg
IFBST1BBR0FURV9FUlJPUigpOworICAgICAgICAgICAgfSBlbHNlIGlmIChzd2l0Y2hDYXNlID09
IFdBU01Td2l0Y2hDYXNlOjpDYXNlV2l0aEJsb2NrU3RhdGVtZW50KSB7CisgICAgICAgICAgICAg
ICAgcGFyc2VCbG9ja1N0YXRlbWVudChjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBQUk9QQUdB
VEVfRVJST1IoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9
CisgICAgICAgIGNhc2UgV0FTTVN3aXRjaENhc2U6OkRlZmF1bHRXaXRoTm9TdGF0ZW1lbnRzOgor
ICAgICAgICBjYXNlIFdBU01Td2l0Y2hDYXNlOjpEZWZhdWx0V2l0aFN0YXRlbWVudDoKKyAgICAg
ICAgY2FzZSBXQVNNU3dpdGNoQ2FzZTo6RGVmYXVsdFdpdGhCbG9ja1N0YXRlbWVudDogeworICAg
ICAgICAgICAgRkFJTF9JRl9GQUxTRShpID09IG51bWJlck9mQ2FzZXMgLSAxLCAiVGhlIGRlZmF1
bHQgY2FzZSBtdXN0IGJlIHRoZSBsYXN0IGNhc2UuIik7CisgICAgICAgICAgICBpZiAoc3dpdGNo
Q2FzZSA9PSBXQVNNU3dpdGNoQ2FzZTo6RGVmYXVsdFdpdGhTdGF0ZW1lbnQpIHsKKyAgICAgICAg
ICAgICAgICBwYXJzZVN0YXRlbWVudChjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBQUk9QQUdB
VEVfRVJST1IoKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoc3dpdGNoQ2FzZSA9PSBXQVNNU3dp
dGNoQ2FzZTo6RGVmYXVsdFdpdGhCbG9ja1N0YXRlbWVudCkgeworICAgICAgICAgICAgICAgIHBh
cnNlQmxvY2tTdGF0ZW1lbnQoY29udGV4dCk7CisgICAgICAgICAgICAgICAgUFJPUEFHQVRFX0VS
Uk9SKCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAg
ICAgICBkZWZhdWx0OgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAg
IH0KKyAgICB9CisgICAgbV9icmVha1Njb3BlRGVwdGgtLTsKKyAgICAvLyBGSVhNRTogSW1wbGVt
ZW50IHRoaXMgaW5zdHJ1Y3Rpb24uCisgICAgcmV0dXJuIFVOVVNFRDsKK30KKwordGVtcGxhdGUg
PGNsYXNzIENvbnRleHQ+CiBDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBh
cnNlRXhwcmVzc2lvbihDb250ZXh0JiBjb250ZXh0LCBXQVNNRXhwcmVzc2lvblR5cGUgZXhwcmVz
c2lvblR5cGUpCiB7CiAgICAgc3dpdGNoIChleHByZXNzaW9uVHlwZSkgewpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaAppbmRleCAzNjQ5NTIwLi40
ZDYzMTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rp
b25QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25Q
YXJzZXIuaApAQCAtNDcsNiArNDcsOSBAQCBwcml2YXRlOgogICAgICAgICA6IG1fbW9kdWxlKG1v
ZHVsZSkKICAgICAgICAgLCBtX3JlYWRlcihzdGF0aWNfY2FzdDxXZWJBc3NlbWJseVNvdXJjZVBy
b3ZpZGVyKj4oc291cmNlLnByb3ZpZGVyKCkpLT5kYXRhKCkpCiAgICAgICAgICwgbV9mdW5jdGlv
bkluZGV4KGZ1bmN0aW9uSW5kZXgpCisgICAgICAgICwgbV9icmVha1Njb3BlRGVwdGgoMCkKKyAg
ICAgICAgLCBtX2NvbnRpbnVlU2NvcGVEZXB0aCgwKQorICAgICAgICAsIG1fbGFiZWxEZXB0aCgw
KQogICAgIHsKICAgICB9CiAKQEAgLTU4LDYgKzYxLDE2IEBAIHByaXZhdGU6CiAgICAgdGVtcGxh
dGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRTdGF0ZW1lbnQgcGFyc2VTZXRMb2NhbFN0YXRlbWVu
dChDb250ZXh0Jik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRTdGF0ZW1l
bnQgcGFyc2VSZXR1cm5TdGF0ZW1lbnQoQ29udGV4dCYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBD
b250ZXh0PiBDb250ZXh0U3RhdGVtZW50IHBhcnNlQmxvY2tTdGF0ZW1lbnQoQ29udGV4dCYpOwor
ICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0U3RhdGVtZW50IHBhcnNlSWZTdGF0
ZW1lbnQoQ29udGV4dCYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0U3Rh
dGVtZW50IHBhcnNlSWZFbHNlU3RhdGVtZW50KENvbnRleHQmKTsKKyAgICB0ZW1wbGF0ZSA8Y2xh
c3MgQ29udGV4dD4gQ29udGV4dFN0YXRlbWVudCBwYXJzZVdoaWxlU3RhdGVtZW50KENvbnRleHQm
KTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dFN0YXRlbWVudCBwYXJzZURv
U3RhdGVtZW50KENvbnRleHQmKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4
dFN0YXRlbWVudCBwYXJzZUxhYmVsU3RhdGVtZW50KENvbnRleHQmKTsKKyAgICB0ZW1wbGF0ZSA8
Y2xhc3MgQ29udGV4dD4gQ29udGV4dFN0YXRlbWVudCBwYXJzZUJyZWFrU3RhdGVtZW50KENvbnRl
eHQmKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dFN0YXRlbWVudCBwYXJz
ZUJyZWFrTGFiZWxTdGF0ZW1lbnQoQ29udGV4dCYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBDb250
ZXh0PiBDb250ZXh0U3RhdGVtZW50IHBhcnNlQ29udGludWVTdGF0ZW1lbnQoQ29udGV4dCYpOwor
ICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0U3RhdGVtZW50IHBhcnNlQ29udGlu
dWVMYWJlbFN0YXRlbWVudChDb250ZXh0Jik7CisgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+
IENvbnRleHRTdGF0ZW1lbnQgcGFyc2VTd2l0Y2hTdGF0ZW1lbnQoQ29udGV4dCYpOwogCiAgICAg
dGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlRXhwcmVzc2lv
bihDb250ZXh0JiwgV0FTTUV4cHJlc3Npb25UeXBlKTsKIApAQCAtNzUsNiArODgsMTAgQEAgcHJp
dmF0ZToKICAgICB1aW50MzJfdCBtX251bWJlck9mSTMyTG9jYWxWYXJpYWJsZXM7CiAgICAgdWlu
dDMyX3QgbV9udW1iZXJPZkYzMkxvY2FsVmFyaWFibGVzOwogICAgIHVpbnQzMl90IG1fbnVtYmVy
T2ZGNjRMb2NhbFZhcmlhYmxlczsKKworICAgIHVuc2lnbmVkIG1fYnJlYWtTY29wZURlcHRoOwor
ICAgIHVuc2lnbmVkIG1fY29udGludWVTY29wZURlcHRoOworICAgIHVuc2lnbmVkIG1fbGFiZWxE
ZXB0aDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vV0FTTVJlYWRlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9XQVNNUmVhZGVyLmNwcAppbmRleCBmNDQ3MjExLi5kNTVkMDJlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNUmVhZGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XQVNNUmVhZGVyLmNwcApAQCAtOTUsNiArOTUsMjggQEAgYm9vbCBXQVNN
UmVhZGVyOjpyZWFkRG91YmxlKGRvdWJsZSYgcmVzdWx0KQogICAgIHJldHVybiB0cnVlOwogfQog
Citib29sIFdBU01SZWFkZXI6OnJlYWRDb21wYWN0SW50MzIodWludDMyX3QmIHJlc3VsdCkKK3sK
KyAgICB1aW50MzJfdCBzdW0gPSAwOworICAgIHVuc2lnbmVkIHNoaWZ0ID0gMDsKKyAgICBkbyB7
CisgICAgICAgIENIRUNLX1JFQUQoMSk7CisgICAgICAgIHVpbnQ4X3QgYnl0ZSA9ICptX2N1cnNv
cisrOworICAgICAgICBpZiAoYnl0ZSA8IDB4ODApIHsKKyAgICAgICAgICAgIHN1bSB8PSBieXRl
IDw8IHNoaWZ0OworICAgICAgICAgICAgaW50IHNpZ25FeHRlbmQgPSAoMzIgLSA3KSAtIHNoaWZ0
OworICAgICAgICAgICAgaWYgKHNpZ25FeHRlbmQgPiAwKQorICAgICAgICAgICAgICAgIHJlc3Vs
dCA9IGludDMyX3Qoc3VtKSA8PCBzaWduRXh0ZW5kID4+IHNpZ25FeHRlbmQ7CisgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgICAgcmVzdWx0ID0gaW50MzJfdChzdW0pOworICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAgICAgICAgc3VtIHw9IChieXRlICYgZmlyc3RT
ZXZlbkJpdHNNYXNrKSA8PCBzaGlmdDsKKyAgICAgICAgc2hpZnQgKz0gNzsKKyAgICB9IHdoaWxl
IChzaGlmdCA8IDM1KTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgV0FTTVJlYWRlcjo6
cmVhZENvbXBhY3RVSW50MzIodWludDMyX3QmIHJlc3VsdCkKIHsKICAgICB1aW50MzJfdCBzdW0g
PSAwOwpAQCAtMTk3LDYgKzIxOSwxMSBAQCBib29sIFdBU01SZWFkZXI6OnJlYWRPcChib29sJiBo
YXNJbW1lZGlhdGUsIFQmIG9wLCBUV2l0aEltbWVkaWF0ZSYgb3BXaXRoSW1tZWRpYQogICAgIHJl
dHVybiB0cnVlOwogfQogCitib29sIFdBU01SZWFkZXI6OnJlYWRTd2l0Y2hDYXNlKFdBU01Td2l0
Y2hDYXNlJiByZXN1bHQpCit7CisgICAgcmV0dXJuIHJlYWRCeXRlPFdBU01Td2l0Y2hDYXNlPihy
ZXN1bHQsIHN0YXRpY19jYXN0PHVpbnQ4X3Q+KFdBU01Td2l0Y2hDYXNlOjpOdW1iZXJPZlN3aXRj
aENhc2VzKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwogCiAjZW5kaWYgLy8gRU5BQkxFKFdF
QkFTU0VNQkxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTVJl
YWRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTVJlYWRlci5oCmluZGV4IDk5
NWFkY2QuLjQwNTgyNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dB
U01SZWFkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNUmVhZGVyLmgK
QEAgLTQ4LDYgKzQ4LDcgQEAgcHVibGljOgogICAgIGJvb2wgcmVhZFVJbnQzMih1aW50MzJfdCYg
cmVzdWx0KTsKICAgICBib29sIHJlYWRGbG9hdChmbG9hdCYgcmVzdWx0KTsKICAgICBib29sIHJl
YWREb3VibGUoZG91YmxlJiByZXN1bHQpOworICAgIGJvb2wgcmVhZENvbXBhY3RJbnQzMih1aW50
MzJfdCYgcmVzdWx0KTsKICAgICBib29sIHJlYWRDb21wYWN0VUludDMyKHVpbnQzMl90JiByZXN1
bHQpOwogICAgIGJvb2wgcmVhZFN0cmluZyhTdHJpbmcmIHJlc3VsdCk7CiAgICAgYm9vbCByZWFk
VHlwZShXQVNNVHlwZSYgcmVzdWx0KTsKQEAgLTU2LDYgKzU3LDcgQEAgcHVibGljOgogICAgIGJv
b2wgcmVhZE9wU3RhdGVtZW50KGJvb2wmIGhhc0ltbWVkaWF0ZSwgV0FTTU9wU3RhdGVtZW50Jiwg
V0FTTU9wU3RhdGVtZW50V2l0aEltbWVkaWF0ZSYsIHVpbnQ4X3QmIGltbWVkaWF0ZSk7CiAgICAg
Ym9vbCByZWFkT3BFeHByZXNzaW9uSTMyKGJvb2wmIGhhc0ltbWVkaWF0ZSwgV0FTTU9wRXhwcmVz
c2lvbkkzMiYsIFdBU01PcEV4cHJlc3Npb25JMzJXaXRoSW1tZWRpYXRlJiwgdWludDhfdCYgaW1t
ZWRpYXRlKTsKICAgICBib29sIHJlYWRWYXJpYWJsZVR5cGVzKGJvb2wmIGhhc0ltbWVkaWF0ZSwg
V0FTTVZhcmlhYmxlVHlwZXMmLCBXQVNNVmFyaWFibGVUeXBlc1dpdGhJbW1lZGlhdGUmLCB1aW50
OF90JiBpbW1lZGlhdGUpOworICAgIGJvb2wgcmVhZFN3aXRjaENhc2UoV0FTTVN3aXRjaENhc2Um
IHJlc3VsdCk7CiAKIHByaXZhdGU6CiAgICAgc3RhdGljIGNvbnN0IHVpbnQzMl90IGZpcnN0U2V2
ZW5CaXRzTWFzayA9IDB4N2Y7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>