<?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>159090</bug_id>
          
          <creation_ts>2016-06-24 06:41:02 -0700</creation_ts>
          <short_desc>Use auto* for MathML elements and renderers when possible</short_desc>
          <delta_ts>2016-08-02 09:02:55 -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>MathML</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>155018</dependson>
          <blocked>153991</blocked>
    
    <blocked>159091</blocked>
    
    <blocked>159114</blocked>
    
    <blocked>160453</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dbarton</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1205069</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-06-24 06:41:02 -0700</bug_when>
    <thetext>This is a small follow-up cleanup to take after the remaining patches of phase 1 are merged.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1205070</commentid>
    <comment_count>1</comment_count>
      <attachid>281974</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-06-24 06:43:57 -0700</bug_when>
    <thetext>Created attachment 281974
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1205191</commentid>
    <comment_count>2</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-06-24 13:17:35 -0700</bug_when>
    <thetext>Committed r202441: &lt;http://trac.webkit.org/changeset/202441&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281974</attachid>
            <date>2016-06-24 06:43:57 -0700</date>
            <delta_ts>2016-06-24 09:34:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0003-Bug-159090-Use-auto-for-MathML-elements-and-renderer.patch</filename>
            <type>text/plain</type>
            <size>18759</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">RnJvbSBmZWJlNzE3YzJlNzFiNzg2YTI2NWVjZjY3YTA3NDEyZThlNTU1NWQzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGcmVkZXJpYyBXYW5nIDxmcmVkLndhbmdAZnJlZS5mcj4KRGF0
ZTogRnJpLCAyNCBKdW4gMjAxNiAxNTo0Mjo0OSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMy8zXSBC
dWcgMTU5MDkwIC0gVXNlIGF1dG8qIGZvciBNYXRoTUwgZWxlbWVudHMgYW5kIHJlbmRlcmVycwog
d2hlbiBwb3NzaWJsZQoKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8IDM5ICsrKysrKysrKysrKysrKysrKysrKysKIFNvdXJjZS9XZWJDb3Jl
L21hdGhtbC9NYXRoTUxFbGVtZW50LmNwcCAgICAgICAgICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJD
b3JlL21hdGhtbC9NYXRoTUxTZWxlY3RFbGVtZW50LmNwcCAgICAgIHwgIDggKystLS0KIC4uLi9y
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmNwcCAgICAgIHwgIDIgKy0KIC4u
Li9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE1lbmNsb3NlLmNwcCAgICAgIHwgIDIgKy0K
IC4uLi9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm9vdC5jcHAgIHwgIDIg
Ky0KIC4uLi9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm93LmNwcCAgIHwg
MTIgKysrLS0tLQogLi4uL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5jcHAg
ICAgICAgfCAyMiArKysrKystLS0tLS0KIC4uLi9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhN
TFVuZGVyT3Zlci5jcHAgICAgIHwgIDYgKystLQogOSBmaWxlcyBjaGFuZ2VkLCA2NyBpbnNlcnRp
b25zKCspLCAyOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTY5ZWY1MS4uMzA5YzM3ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE2LTA2LTI0ICBGcmVkZXJpYyBXYW5nICA8
ZndhbmdAaWdhbGlhLmNvbT4KKworICAgICAgICBVc2UgYXV0byogZm9yIE1hdGhNTCBlbGVtZW50
cyBhbmQgcmVuZGVyZXJzIHdoZW4gcG9zc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTA5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYmVoYXZpb3IgaXMgdW5jaGFuZ2Vk
LgorCisgICAgICAgICogbWF0aG1sL01hdGhNTEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWF0aE1MRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgICogbWF0aG1sL01h
dGhNTFNlbGVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MU2VsZWN0RWxl
bWVudDo6Z2V0U2VsZWN0ZWRBY3Rpb25DaGlsZEFuZEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1hdGhNTFNlbGVjdEVsZW1lbnQ6OmdldFNlbGVjdGVkQWN0aW9uQ2hpbGQpOgorICAgICAgICAo
V2ViQ29yZTo6TWF0aE1MU2VsZWN0RWxlbWVudDo6Z2V0U2VsZWN0ZWRTZW1hbnRpY3NDaGlsZCk6
CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxTZWxlY3RFbGVtZW50Ojp1cGRhdGVTZWxlY3RlZENo
aWxkKToKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTEZyYWN0aW9uOjppc1ZhbGlkKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE1lbmNsb3NlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTE1lbmNsb3NlOjpsYXlvdXRCbG9jayk6CisgICAgICAg
ICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb290LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlck1hdGhNTFJvb3Q6OmlzVmFsaWQpOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRo
bWwvUmVuZGVyTWF0aE1MUm93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFJv
dzo6Zmlyc3RMaW5lQmFzZWxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MUm93
Ojpjb21wdXRlTGluZVZlcnRpY2FsU3RyZXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJN
YXRoTUxSb3c6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlck1hdGhNTFJvdzo6bGF5b3V0Um93SXRlbXMpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJNYXRoTUxTY3JpcHRzOjp1bmVtYmVsbGlzaGVkT3BlcmF0b3IpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTWF0aE1MU2NyaXB0czo6Z2V0QmFzZUFuZFNjcmlwdHMpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTWF0aE1MU2NyaXB0czo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MU2NyaXB0czo6Z2V0U2NyaXB0TWV0cmlj
c0FuZExheW91dElmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFNjcmlw
dHM6OmxheW91dEJsb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFNjcmlwdHM6
OmZpcnN0TGluZUJhc2VsaW5lKToKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1h
dGhNTFVuZGVyT3Zlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxVbmRlck92
ZXI6OmZpcnN0TGluZUJhc2VsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFVu
ZGVyT3Zlcjo6aXNWYWxpZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxVbmRlck92
ZXI6Om92ZXIpOgorCiAyMDE2LTAzLTE1ICBGcmVkZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNv
bT4KIAogICAgICAgICBSZWZhY3RvciBsYXlvdXQgZnVuY3Rpb25zIHRvIGF2b2lkIHVzaW5nIGZs
ZXhib3ggaW4gTWF0aE1MCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1M
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5jcHAKaW5k
ZXggOTU1MWQzNy4uMDViMzA4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01h
dGhNTEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxFbGVtZW50
LmNwcApAQCAtMjk4LDcgKzI5OCw3IEBAIGJvb2wgTWF0aE1MRWxlbWVudDo6Y2hpbGRTaG91bGRD
cmVhdGVSZW5kZXJlcihjb25zdCBOb2RlJiBjaGlsZCkgY29uc3QKIHZvaWQgTWF0aE1MRWxlbWVu
dDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9t
aWNTdHJpbmcmIG9sZFZhbHVlLCBjb25zdCBBdG9taWNTdHJpbmcmIG5ld1ZhbHVlLCBBdHRyaWJ1
dGVNb2RpZmljYXRpb25SZWFzb24gcmVhc29uKQogewogICAgIGlmIChpc1NlbWFudGljQW5ub3Rh
dGlvbigpICYmIChuYW1lID09IE1hdGhNTE5hbWVzOjpzcmNBdHRyIHx8IG5hbWUgPT0gTWF0aE1M
TmFtZXM6OmVuY29kaW5nQXR0cikpIHsKLSAgICAgICAgRWxlbWVudCogcGFyZW50ID0gcGFyZW50
RWxlbWVudCgpOworICAgICAgICBhdXRvKiBwYXJlbnQgPSBwYXJlbnRFbGVtZW50KCk7CiAgICAg
ICAgIGlmIChpczxNYXRoTUxFbGVtZW50PihwYXJlbnQpICYmIHBhcmVudC0+aGFzVGFnTmFtZShz
ZW1hbnRpY3NUYWcpKQogICAgICAgICAgICAgZG93bmNhc3Q8TWF0aE1MRWxlbWVudD4oKnBhcmVu
dCkudXBkYXRlU2VsZWN0ZWRDaGlsZCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL21hdGhtbC9NYXRoTUxTZWxlY3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL21hdGht
bC9NYXRoTUxTZWxlY3RFbGVtZW50LmNwcAppbmRleCA1MWMxNWU3Li44MTI5YmU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MU2VsZWN0RWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFNlbGVjdEVsZW1lbnQuY3BwCkBAIC0xMTgsNyAr
MTE4LDcgQEAgaW50IE1hdGhNTFNlbGVjdEVsZW1lbnQ6OmdldFNlbGVjdGVkQWN0aW9uQ2hpbGRB
bmRJbmRleChFbGVtZW50KiYgc2VsZWN0ZWRDaGlsZCkKICAgICBpbnQgc2VsZWN0aW9uID0gZmFz
dEdldEF0dHJpYnV0ZShNYXRoTUxOYW1lczo6c2VsZWN0aW9uQXR0cikudG9JbnQoKTsKICAgICBp
bnQgaTsKICAgICBmb3IgKGkgPSAxOyBpIDwgc2VsZWN0aW9uOyBpKyspIHsKLSAgICAgICAgRWxl
bWVudCogbmV4dENoaWxkID0gc2VsZWN0ZWRDaGlsZC0+bmV4dEVsZW1lbnRTaWJsaW5nKCk7Cisg
ICAgICAgIGF1dG8qIG5leHRDaGlsZCA9IHNlbGVjdGVkQ2hpbGQtPm5leHRFbGVtZW50U2libGlu
ZygpOwogICAgICAgICBpZiAoIW5leHRDaGlsZCkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICBzZWxlY3RlZENoaWxkID0gbmV4dENoaWxkOwpAQCAtMTMxLDcgKzEzMSw3IEBAIEVsZW1lbnQq
IE1hdGhNTFNlbGVjdEVsZW1lbnQ6OmdldFNlbGVjdGVkQWN0aW9uQ2hpbGQoKQogewogICAgIEFT
U0VSVChoYXNUYWdOYW1lKG1hY3Rpb25UYWcpKTsKIAotICAgIEVsZW1lbnQqIGNoaWxkID0gZmly
c3RFbGVtZW50Q2hpbGQoKTsKKyAgICBhdXRvKiBjaGlsZCA9IGZpcnN0RWxlbWVudENoaWxkKCk7
CiAgICAgaWYgKCFjaGlsZCkKICAgICAgICAgcmV0dXJuIGNoaWxkOwogCkBAIC0xNTUsNyArMTU1
LDcgQEAgRWxlbWVudCogTWF0aE1MU2VsZWN0RWxlbWVudDo6Z2V0U2VsZWN0ZWRTZW1hbnRpY3ND
aGlsZCgpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoc2VtYW50aWNzVGFnKSk7CiAKLSAgICBF
bGVtZW50KiBjaGlsZCA9IGZpcnN0RWxlbWVudENoaWxkKCk7CisgICAgYXV0byogY2hpbGQgPSBm
aXJzdEVsZW1lbnRDaGlsZCgpOwogICAgIGlmICghY2hpbGQpCiAgICAgICAgIHJldHVybiBudWxs
cHRyOwogCkBAIC0xOTcsNyArMTk3LDcgQEAgRWxlbWVudCogTWF0aE1MU2VsZWN0RWxlbWVudDo6
Z2V0U2VsZWN0ZWRTZW1hbnRpY3NDaGlsZCgpCiAKIHZvaWQgTWF0aE1MU2VsZWN0RWxlbWVudDo6
dXBkYXRlU2VsZWN0ZWRDaGlsZCgpCiB7Ci0gICAgRWxlbWVudCogbmV3U2VsZWN0ZWRDaGlsZCA9
IGhhc1RhZ05hbWUobWFjdGlvblRhZykgPyBnZXRTZWxlY3RlZEFjdGlvbkNoaWxkKCkgOiBnZXRT
ZWxlY3RlZFNlbWFudGljc0NoaWxkKCk7CisgICAgYXV0byogbmV3U2VsZWN0ZWRDaGlsZCA9IGhh
c1RhZ05hbWUobWFjdGlvblRhZykgPyBnZXRTZWxlY3RlZEFjdGlvbkNoaWxkKCkgOiBnZXRTZWxl
Y3RlZFNlbWFudGljc0NoaWxkKCk7CiAKICAgICBpZiAobV9zZWxlY3RlZENoaWxkID09IG5ld1Nl
bGVjdGVkQ2hpbGQpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5jcHAKaW5kZXggNGY4MTEx
YS4uZTRkMWUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9S
ZW5kZXJNYXRoTUxGcmFjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5jcHAKQEAgLTcxLDcgKzcxLDcgQEAgYm9vbCBSZW5k
ZXJNYXRoTUxGcmFjdGlvbjo6aXNWYWxpZCgpIGNvbnN0CiB7CiAgICAgLy8gVmVyaWZ5IHdoZXRo
ZXIgdGhlIGxpc3Qgb2YgY2hpbGRyZW4gaXMgdmFsaWQ6CiAgICAgLy8gPG1mcmFjPiBudW1lcmF0
b3IgZGVub21pbmF0b3IgPC9tZnJhYz4KLSAgICBSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGls
ZEJveCgpOworICAgIGF1dG8qIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOwogICAgIGlmICghY2hp
bGQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGlu
Z0JveCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5k
ZXJNYXRoTUxNZW5jbG9zZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTE1lbmNsb3NlLmNwcAppbmRleCA4YjYyYzc1Li41ODc5MzI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE1lbmNsb3NlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE1lbmNs
b3NlLmNwcApAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgUmVuZGVyTWF0aE1MTWVuY2xvc2U6Omxh
eW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCkKICAgICBtX2FzY2Vu
dCA9IHRvcFNwYWNlICsgY29udGVudEFzY2VudDsKICAgICBMYXlvdXRVbml0IGRlc2NlbnQgPSBj
b250ZW50RGVzY2VudCArIGJvdHRvbVNwYWNlOwogICAgIExheW91dFBvaW50IGNvbnRlbnRMb2Nh
dGlvbihsZWZ0U3BhY2UsIG1fYXNjZW50IC0gY29udGVudEFzY2VudCk7Ci0gICAgZm9yIChSZW5k
ZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4
dFNpYmxpbmdCb3goKSkKKyAgICBmb3IgKGF1dG8qIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBj
aGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkKICAgICAgICAgY2hpbGQtPnNl
dExvY2F0aW9uKGNoaWxkLT5sb2NhdGlvbigpICsgY29udGVudExvY2F0aW9uKTsKIAogICAgIHNl
dExvZ2ljYWxIZWlnaHQobV9hc2NlbnQgKyBkZXNjZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm9vdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvb3QuY3BwCmluZGV4IDFkMTMwNDYw
Li41MmViMjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTFJvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MUm9vdC5jcHAKQEAgLTY0LDcgKzY0LDcgQEAgYm9vbCBSZW5kZXJNYXRoTUxS
b290Ojppc1ZhbGlkKCkgY29uc3QKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBBU1NFUlQo
bV9raW5kID09IFJvb3RXaXRoSW5kZXgpOwotICAgIFJlbmRlckJveCogY2hpbGQgPSBmaXJzdENo
aWxkQm94KCk7CisgICAgYXV0byogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7CiAgICAgaWYgKCFj
aGlsZCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGNoaWxkID0gY2hpbGQtPm5leHRTaWJs
aW5nQm94KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTFJvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRl
ck1hdGhNTFJvdy5jcHAKaW5kZXggNThhN2MzZS4uZTNlNWQwYzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm93LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvdy5jcHAKQEAgLTYzLDcg
KzYzLDcgQEAgdm9pZCBSZW5kZXJNYXRoTUxSb3c6OnVwZGF0ZU9wZXJhdG9yUHJvcGVydGllcygp
CiAKIE9wdGlvbmFsPGludD4gUmVuZGVyTWF0aE1MUm93OjpmaXJzdExpbmVCYXNlbGluZSgpIGNv
bnN0CiB7Ci0gICAgUmVuZGVyQm94KiBiYXNlbGluZUNoaWxkID0gZmlyc3RDaGlsZEJveCgpOwor
ICAgIGF1dG8qIGJhc2VsaW5lQ2hpbGQgPSBmaXJzdENoaWxkQm94KCk7CiAgICAgaWYgKCFiYXNl
bGluZUNoaWxkKQogICAgICAgICByZXR1cm4gT3B0aW9uYWw8aW50PigpOwogCkBAIC03Miw3ICs3
Miw3IEBAIE9wdGlvbmFsPGludD4gUmVuZGVyTWF0aE1MUm93OjpmaXJzdExpbmVCYXNlbGluZSgp
IGNvbnN0CiAKIHZvaWQgUmVuZGVyTWF0aE1MUm93Ojpjb21wdXRlTGluZVZlcnRpY2FsU3RyZXRj
aChMYXlvdXRVbml0JiBhc2NlbnQsIExheW91dFVuaXQmIGRlc2NlbnQpCiB7Ci0gICAgZm9yIChS
ZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+
bmV4dFNpYmxpbmdCb3goKSkgeworICAgIGZvciAoYXV0byogY2hpbGQgPSBmaXJzdENoaWxkQm94
KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7CiAgICAgICAgIGlm
IChpczxSZW5kZXJNYXRoTUxCbG9jaz4oY2hpbGQpKSB7CiAgICAgICAgICAgICBhdXRvKiByZW5k
ZXJPcGVyYXRvciA9IGRvd25jYXN0PFJlbmRlck1hdGhNTEJsb2NrPihjaGlsZCktPnVuZW1iZWxs
aXNoZWRPcGVyYXRvcigpOwogICAgICAgICAgICAgaWYgKHJlbmRlck9wZXJhdG9yICYmIHJlbmRl
ck9wZXJhdG9yLT5oYXNPcGVyYXRvckZsYWcoTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpTdHJl
dGNoeSkpCkBAIC0xMDIsNyArMTAyLDcgQEAgdm9pZCBSZW5kZXJNYXRoTUxSb3c6OmNvbXB1dGVQ
cmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkKICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9
IG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoID0gMDsKIAogICAgIExheW91dFVuaXQgcHJlZmVy
cmVkV2lkdGggPSAwOwotICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3go
KTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpCisgICAgZm9yIChhdXRv
KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJs
aW5nQm94KCkpCiAgICAgICAgIHByZWZlcnJlZFdpZHRoICs9IGNoaWxkLT5tYXhQcmVmZXJyZWRM
b2dpY2FsV2lkdGgoKSArIGNoaWxkLT5tYXJnaW5Mb2dpY2FsV2lkdGgoKTsKIAogICAgIG1fbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoID0gbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBwcmVm
ZXJyZWRXaWR0aCArIGJvcmRlckFuZFBhZGRpbmdMb2dpY2FsV2lkdGgoKTsKQEAgLTExNSw3ICsx
MTUsNyBAQCB2b2lkIFJlbmRlck1hdGhNTFJvdzo6bGF5b3V0Um93SXRlbXMoTGF5b3V0VW5pdCYg
YXNjZW50LCBMYXlvdXRVbml0JiBkZXNjZW50KQogICAgIC8vIFdlIGZpcnN0IHN0cmV0Y2ggdGhl
IHZlcnRpY2FsIG9wZXJhdG9ycy4KICAgICAvLyBGb3IgaW5saW5lIGZvcm11bGFzLCB3ZSBjYW4g
dGhlbiBjYWxjdWxhdGUgdGhlIGxvZ2ljYWwgd2lkdGguCiAgICAgTGF5b3V0VW5pdCB3aWR0aCA9
IGJvcmRlckFuZFBhZGRpbmdTdGFydCgpOwotICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGZp
cnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsK
KyAgICBmb3IgKGF1dG8qIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBj
aGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgewogICAgICAgICBpZiAoY2hpbGQtPmlzT3V0T2ZGbG93
UG9zaXRpb25lZCgpKQogICAgICAgICAgICAgY29udGludWU7CiAKQEAgLTEzOCw3ICsxMzgsNyBA
QCB2b2lkIFJlbmRlck1hdGhNTFJvdzo6bGF5b3V0Um93SXRlbXMoTGF5b3V0VW5pdCYgYXNjZW50
LCBMYXlvdXRVbml0JiBkZXNjZW50KQogICAgIExheW91dFVuaXQgbWF4QXNjZW50ID0gMCwgbWF4
RGVzY2VudCA9IDA7IC8vIFVzZWQgYmFzZWxpbmUgYWxpZ25tZW50LgogICAgIExheW91dFVuaXQg
aG9yaXpvbnRhbE9mZnNldCA9IGJvcmRlckFuZFBhZGRpbmdTdGFydCgpOwogICAgIGJvb2wgc2hv
dWxkRmxpcEhvcml6b250YWwgPSAhc3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCk7Ci0g
ICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQg
PSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgeworICAgIGZvciAoYXV0byogY2hpbGQgPSBmaXJz
dENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7CiAg
ICAgICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpIHsKICAgICAgICAgICAg
IGNoaWxkLT5jb250YWluaW5nQmxvY2soKS0+aW5zZXJ0UG9zaXRpb25lZE9iamVjdCgqY2hpbGQp
OwogICAgICAgICAgICAgY29udGludWU7CkBAIC0xNjcsNyArMTY3LDcgQEAgdm9pZCBSZW5kZXJN
YXRoTUxSb3c6OmxheW91dFJvd0l0ZW1zKExheW91dFVuaXQmIGFzY2VudCwgTGF5b3V0VW5pdCYg
ZGVzY2VudCkKICAgICBpZiAoc2hvdWxkRmxpcEhvcml6b250YWwgJiYgY2VudGVyQmxvY2tPZmZz
ZXQgPiAwKQogICAgICAgICBjZW50ZXJCbG9ja09mZnNldCA9IC1jZW50ZXJCbG9ja09mZnNldDsK
IAotICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNo
aWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKKyAgICBmb3IgKGF1dG8qIGNoaWxkID0g
Zmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkg
ewogICAgICAgICBMYXlvdXRVbml0IGFzY2VudCA9IGFzY2VudEZvckNoaWxkKCpjaGlsZCk7CiAg
ICAgICAgIExheW91dFVuaXQgc3RhcnRPZmZzZXQgPSBtYXhBc2NlbnQgLSBhc2NlbnQ7CiAgICAg
ICAgIGNoaWxkLT5zZXRMb2NhdGlvbihjaGlsZC0+bG9jYXRpb24oKSArIExheW91dFBvaW50KGNl
bnRlckJsb2NrT2Zmc2V0LCBzdGFydE9mZnNldCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTY3JpcHRzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5jcHAKaW5kZXggODc1Njdj
ZS4uOTRmYjYwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9S
ZW5kZXJNYXRoTUxTY3JpcHRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0
aG1sL1JlbmRlck1hdGhNTFNjcmlwdHMuY3BwCkBAIC02MSw3ICs2MSw3IEBAIFJlbmRlck1hdGhN
TFNjcmlwdHM6OlJlbmRlck1hdGhNTFNjcmlwdHMoRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5
bGUmJiBzdHlsZSkKIAogUmVuZGVyTWF0aE1MT3BlcmF0b3IqIFJlbmRlck1hdGhNTFNjcmlwdHM6
OnVuZW1iZWxsaXNoZWRPcGVyYXRvcigpCiB7Ci0gICAgUmVuZGVyQm94KiBiYXNlID0gZmlyc3RD
aGlsZEJveCgpOworICAgIGF1dG8gYmFzZSA9IGZpcnN0Q2hpbGRCb3goKTsKICAgICBpZiAoIWlz
PFJlbmRlck1hdGhNTEJsb2NrPihiYXNlKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAg
cmV0dXJuIGRvd25jYXN0PFJlbmRlck1hdGhNTEJsb2NrPihiYXNlKS0+dW5lbWJlbGxpc2hlZE9w
ZXJhdG9yKCk7CkBAIC05Myw3ICs5Myw3IEBAIGJvb2wgUmVuZGVyTWF0aE1MU2NyaXB0czo6Z2V0
QmFzZUFuZFNjcmlwdHMoUmVuZGVyQm94KiYgYmFzZSwgUmVuZGVyQm94KiYgZmlyc3RQCiAgICAg
ICAgIGZpcnN0UG9zdFNjcmlwdCA9IGJhc2UtPm5leHRTaWJsaW5nQm94KCk7CiAgICAgICAgIGlm
ICghZmlyc3RQb3N0U2NyaXB0IHx8IGlzUHJlc2NyaXB0RGVsaW1pdGVyKCpmaXJzdFBvc3RTY3Jp
cHQpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBSZW5kZXJCb3gqIHN1cGVy
U2NyaXB0ID0gZmlyc3RQb3N0U2NyaXB0LT5uZXh0U2libGluZ0JveCgpOworICAgICAgICBhdXRv
IHN1cGVyU2NyaXB0ID0gZmlyc3RQb3N0U2NyaXB0LT5uZXh0U2libGluZ0JveCgpOwogICAgICAg
ICByZXR1cm4gc3VwZXJTY3JpcHQgJiYgIWlzUHJlc2NyaXB0RGVsaW1pdGVyKCpzdXBlclNjcmlw
dCkgJiYgIXN1cGVyU2NyaXB0LT5uZXh0U2libGluZ0JveCgpOwogICAgIH0KICAgICBjYXNlIE11
bHRpc2NyaXB0czogewpAQCAtMTE4LDcgKzExOCw3IEBAIGJvb2wgUmVuZGVyTWF0aE1MU2NyaXB0
czo6Z2V0QmFzZUFuZFNjcmlwdHMoUmVuZGVyQm94KiYgYmFzZSwgUmVuZGVyQm94KiYgZmlyc3RQ
CiAgICAgICAgIC8vICAgYikgVGhhdCB0aGUgbGlzdCBvZiBwcmVzY3JpcHRzIGNhbiBiZSBncm91
cGVkIGludG8gcGFpcnMgb2Ygc3Vic2NyaXB0L3N1cGVyc2NyaXB0LgogICAgICAgICAvLyAgIGMp
IFRoYXQgdGhlcmUgaXMgYXQgbW9zdCBvbmUgPG1wcmVzY3JpcHRzLz4uCiAgICAgICAgIGJvb2wg
bnVtYmVyT2ZTY3JpcHRJc0V2ZW4gPSB0cnVlOwotICAgICAgICBmb3IgKFJlbmRlckJveCogc2Ny
aXB0ID0gYmFzZS0+bmV4dFNpYmxpbmdCb3goKTsgc2NyaXB0OyBzY3JpcHQgPSBzY3JpcHQtPm5l
eHRTaWJsaW5nQm94KCkpIHsKKyAgICAgICAgZm9yIChhdXRvIHNjcmlwdCA9IGJhc2UtPm5leHRT
aWJsaW5nQm94KCk7IHNjcmlwdDsgc2NyaXB0ID0gc2NyaXB0LT5uZXh0U2libGluZ0JveCgpKSB7
CiAgICAgICAgICAgICBpZiAoaXNQcmVzY3JpcHREZWxpbWl0ZXIoKnNjcmlwdCkpIHsKICAgICAg
ICAgICAgICAgICAvLyBUaGlzIGlzIGEgPG1wcmVzY3JpcHRzLz4uIExldCdzIGNoZWNrIDJhKSBh
bmQgMmMpLgogICAgICAgICAgICAgICAgIGlmICghbnVtYmVyT2ZTY3JpcHRJc0V2ZW4gfHwgZmly
c3RQcmVTY3JpcHQpCkBAIC0xNzksMTQgKzE3OSwxNCBAQCB2b2lkIFJlbmRlck1hdGhNTFNjcmlw
dHM6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkKICAgICBjYXNlIFN1YlN1cDoKICAg
ICBjYXNlIE11bHRpc2NyaXB0czogewogICAgICAgICBSZW5kZXJCb3gqIHN1cFNjcmlwdDsKLSAg
ICAgICAgZm9yIChSZW5kZXJCb3gqIHN1YlNjcmlwdCA9IGZpcnN0UHJlU2NyaXB0OyBzdWJTY3Jp
cHQ7IHN1YlNjcmlwdCA9IHN1cFNjcmlwdC0+bmV4dFNpYmxpbmdCb3goKSkgeworICAgICAgICBm
b3IgKGF1dG8qIHN1YlNjcmlwdCA9IGZpcnN0UHJlU2NyaXB0OyBzdWJTY3JpcHQ7IHN1YlNjcmlw
dCA9IHN1cFNjcmlwdC0+bmV4dFNpYmxpbmdCb3goKSkgewogICAgICAgICAgICAgc3VwU2NyaXB0
ID0gc3ViU2NyaXB0LT5uZXh0U2libGluZ0JveCgpOwogICAgICAgICAgICAgQVNTRVJUKHN1cFNj
cmlwdCk7CiAgICAgICAgICAgICBMYXlvdXRVbml0IHN1YlN1cFBhaXJXaWR0aCA9IHN0ZDo6bWF4
KHN1YlNjcmlwdC0+bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCksIHN1cFNjcmlwdC0+bWF4UHJl
ZmVycmVkTG9naWNhbFdpZHRoKCkpOwogICAgICAgICAgICAgbV9tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGggKz0gc3ViU3VwUGFpcldpZHRoICsgc3BhY2U7CiAgICAgICAgIH0KICAgICAgICAgbV9t
YXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggKz0gYmFzZS0+bWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
KCk7Ci0gICAgICAgIGZvciAoUmVuZGVyQm94KiBzdWJTY3JpcHQgPSBmaXJzdFBvc3RTY3JpcHQ7
IHN1YlNjcmlwdCAmJiAhaXNQcmVzY3JpcHREZWxpbWl0ZXIoKnN1YlNjcmlwdCk7IHN1YlNjcmlw
dCA9IHN1cFNjcmlwdC0+bmV4dFNpYmxpbmdCb3goKSkgeworICAgICAgICBmb3IgKGF1dG8qIHN1
YlNjcmlwdCA9IGZpcnN0UG9zdFNjcmlwdDsgc3ViU2NyaXB0ICYmICFpc1ByZXNjcmlwdERlbGlt
aXRlcigqc3ViU2NyaXB0KTsgc3ViU2NyaXB0ID0gc3VwU2NyaXB0LT5uZXh0U2libGluZ0JveCgp
KSB7CiAgICAgICAgICAgICBzdXBTY3JpcHQgPSBzdWJTY3JpcHQtPm5leHRTaWJsaW5nQm94KCk7
CiAgICAgICAgICAgICBBU1NFUlQoc3VwU2NyaXB0KTsKICAgICAgICAgICAgIExheW91dFVuaXQg
c3ViU3VwUGFpcldpZHRoID0gc3RkOjptYXgoc3RkOjptYXgoTGF5b3V0VW5pdCgwKSwgc3ViU2Ny
aXB0LT5tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSAtIGJhc2VJdGFsaWNDb3JyZWN0aW9uKSwg
c3VwU2NyaXB0LT5tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSk7CkBAIC0yNjYsNyArMjY2LDcg
QEAgdm9pZCBSZW5kZXJNYXRoTUxTY3JpcHRzOjpnZXRTY3JpcHRNZXRyaWNzQW5kTGF5b3V0SWZO
ZWVkZWQoUmVuZGVyQm94KiBiYXNlLCBSZW4KICAgICBjYXNlIFN1YlN1cDoKICAgICBjYXNlIE11
bHRpc2NyaXB0czogewogICAgICAgICBSZW5kZXJCb3gqIHN1cFNjcmlwdDsKLSAgICAgICAgZm9y
IChSZW5kZXJCb3gqIHN1YlNjcmlwdCA9IHNjcmlwdDsgc3ViU2NyaXB0ICYmICFpc1ByZXNjcmlw
dERlbGltaXRlcigqc3ViU2NyaXB0KTsgc3ViU2NyaXB0ID0gc3VwU2NyaXB0LT5uZXh0U2libGlu
Z0JveCgpKSB7CisgICAgICAgIGZvciAoYXV0byogc3ViU2NyaXB0ID0gc2NyaXB0OyBzdWJTY3Jp
cHQgJiYgIWlzUHJlc2NyaXB0RGVsaW1pdGVyKCpzdWJTY3JpcHQpOyBzdWJTY3JpcHQgPSBzdXBT
Y3JpcHQtPm5leHRTaWJsaW5nQm94KCkpIHsKICAgICAgICAgICAgIHN1cFNjcmlwdCA9IHN1YlNj
cmlwdC0+bmV4dFNpYmxpbmdCb3goKTsKICAgICAgICAgICAgIEFTU0VSVChzdXBTY3JpcHQpOwog
ICAgICAgICAgICAgc3ViU2NyaXB0LT5sYXlvdXRJZk5lZWRlZCgpOwpAQCAtMzY4LDE0ICszNjgs
MTQgQEAgdm9pZCBSZW5kZXJNYXRoTUxTY3JpcHRzOjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0
Q2hpbGRyZW4sIExheW91dFVuaXQpCiAKICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBsb2dpY2Fs
IHdpZHRoLgogICAgICAgICBMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCA9IDA7Ci0gICAgICAgIGZv
ciAoUmVuZGVyQm94KiBzdWJTY3JpcHQgPSBmaXJzdFByZVNjcmlwdDsgc3ViU2NyaXB0OyBzdWJT
Y3JpcHQgPSBzdXBTY3JpcHQtPm5leHRTaWJsaW5nQm94KCkpIHsKKyAgICAgICAgZm9yIChhdXRv
KiBzdWJTY3JpcHQgPSBmaXJzdFByZVNjcmlwdDsgc3ViU2NyaXB0OyBzdWJTY3JpcHQgPSBzdXBT
Y3JpcHQtPm5leHRTaWJsaW5nQm94KCkpIHsKICAgICAgICAgICAgIHN1cFNjcmlwdCA9IHN1YlNj
cmlwdC0+bmV4dFNpYmxpbmdCb3goKTsKICAgICAgICAgICAgIEFTU0VSVChzdXBTY3JpcHQpOwog
ICAgICAgICAgICAgTGF5b3V0VW5pdCBzdWJTdXBQYWlyV2lkdGggPSBzdGQ6Om1heChzdWJTY3Jp
cHQtPmxvZ2ljYWxXaWR0aCgpLCBzdXBTY3JpcHQtPmxvZ2ljYWxXaWR0aCgpKTsKICAgICAgICAg
ICAgIGxvZ2ljYWxXaWR0aCArPSBzdWJTdXBQYWlyV2lkdGggKyBzcGFjZTsKICAgICAgICAgfQog
ICAgICAgICBsb2dpY2FsV2lkdGggKz0gYmFzZS0+bG9naWNhbFdpZHRoKCk7Ci0gICAgICAgIGZv
ciAoUmVuZGVyQm94KiBzdWJTY3JpcHQgPSBmaXJzdFBvc3RTY3JpcHQ7IHN1YlNjcmlwdCAmJiAh
aXNQcmVzY3JpcHREZWxpbWl0ZXIoKnN1YlNjcmlwdCk7IHN1YlNjcmlwdCA9IHN1cFNjcmlwdC0+
bmV4dFNpYmxpbmdCb3goKSkgeworICAgICAgICBmb3IgKGF1dG8qIHN1YlNjcmlwdCA9IGZpcnN0
UG9zdFNjcmlwdDsgc3ViU2NyaXB0ICYmICFpc1ByZXNjcmlwdERlbGltaXRlcigqc3ViU2NyaXB0
KTsgc3ViU2NyaXB0ID0gc3VwU2NyaXB0LT5uZXh0U2libGluZ0JveCgpKSB7CiAgICAgICAgICAg
ICBzdXBTY3JpcHQgPSBzdWJTY3JpcHQtPm5leHRTaWJsaW5nQm94KCk7CiAgICAgICAgICAgICBB
U1NFUlQoc3VwU2NyaXB0KTsKICAgICAgICAgICAgIExheW91dFVuaXQgc3ViU3VwUGFpcldpZHRo
ID0gc3RkOjptYXgoc3RkOjptYXgoTGF5b3V0VW5pdCgwKSwgc3ViU2NyaXB0LT5sb2dpY2FsV2lk
dGgoKSAtIGJhc2VJdGFsaWNDb3JyZWN0aW9uKSwgc3VwU2NyaXB0LT5sb2dpY2FsV2lkdGgoKSk7
CkBAIC0zODMsNyArMzgzLDcgQEAgdm9pZCBSZW5kZXJNYXRoTUxTY3JpcHRzOjpsYXlvdXRCbG9j
ayhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQpCiAgICAgICAgIH0KICAgICAgICAg
c2V0TG9naWNhbFdpZHRoKGxvZ2ljYWxXaWR0aCk7CiAKLSAgICAgICAgZm9yIChSZW5kZXJCb3gq
IHN1YlNjcmlwdCA9IGZpcnN0UHJlU2NyaXB0OyBzdWJTY3JpcHQ7IHN1YlNjcmlwdCA9IHN1cFNj
cmlwdC0+bmV4dFNpYmxpbmdCb3goKSkgeworICAgICAgICBmb3IgKGF1dG8qIHN1YlNjcmlwdCA9
IGZpcnN0UHJlU2NyaXB0OyBzdWJTY3JpcHQ7IHN1YlNjcmlwdCA9IHN1cFNjcmlwdC0+bmV4dFNp
YmxpbmdCb3goKSkgewogICAgICAgICAgICAgc3VwU2NyaXB0ID0gc3ViU2NyaXB0LT5uZXh0U2li
bGluZ0JveCgpOwogICAgICAgICAgICAgQVNTRVJUKHN1cFNjcmlwdCk7CiAgICAgICAgICAgICBM
YXlvdXRVbml0IHN1YlN1cFBhaXJXaWR0aCA9IHN0ZDo6bWF4KHN1YlNjcmlwdC0+bG9naWNhbFdp
ZHRoKCksIHN1cFNjcmlwdC0+bG9naWNhbFdpZHRoKCkpOwpAQCAtMzk4LDcgKzM5OCw3IEBAIHZv
aWQgUmVuZGVyTWF0aE1MU2NyaXB0czo6bGF5b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVu
LCBMYXlvdXRVbml0KQogICAgICAgICBMYXlvdXRQb2ludCBiYXNlTG9jYXRpb24obWlycm9ySWZO
ZWVkZWQoaG9yaXpvbnRhbE9mZnNldCwgKmJhc2UpLCBhc2NlbnQgLSBiYXNlQXNjZW50KTsKICAg
ICAgICAgYmFzZS0+c2V0TG9jYXRpb24oYmFzZUxvY2F0aW9uKTsKICAgICAgICAgaG9yaXpvbnRh
bE9mZnNldCArPSBiYXNlLT5sb2dpY2FsV2lkdGgoKTsKLSAgICAgICAgZm9yIChSZW5kZXJCb3gq
IHN1YlNjcmlwdCA9IGZpcnN0UG9zdFNjcmlwdDsgc3ViU2NyaXB0ICYmICFpc1ByZXNjcmlwdERl
bGltaXRlcigqc3ViU2NyaXB0KTsgc3ViU2NyaXB0ID0gc3VwU2NyaXB0LT5uZXh0U2libGluZ0Jv
eCgpKSB7CisgICAgICAgIGZvciAoYXV0byogc3ViU2NyaXB0ID0gZmlyc3RQb3N0U2NyaXB0OyBz
dWJTY3JpcHQgJiYgIWlzUHJlc2NyaXB0RGVsaW1pdGVyKCpzdWJTY3JpcHQpOyBzdWJTY3JpcHQg
PSBzdXBTY3JpcHQtPm5leHRTaWJsaW5nQm94KCkpIHsKICAgICAgICAgICAgIHN1cFNjcmlwdCA9
IHN1YlNjcmlwdC0+bmV4dFNpYmxpbmdCb3goKTsKICAgICAgICAgICAgIEFTU0VSVChzdXBTY3Jp
cHQpOwogICAgICAgICAgICAgTGF5b3V0VW5pdCBzdWJBc2NlbnQgPSBhc2NlbnRGb3JDaGlsZCgq
c3ViU2NyaXB0KTsKQEAgLTQyMCw3ICs0MjAsNyBAQCB2b2lkIFJlbmRlck1hdGhNTFNjcmlwdHM6
OmxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCkKIE9wdGlvbmFs
PGludD4gUmVuZGVyTWF0aE1MU2NyaXB0czo6Zmlyc3RMaW5lQmFzZWxpbmUoKSBjb25zdAogewog
ICAgIEFTU0VSVCghbmVlZHNMYXlvdXQoKSk7Ci0gICAgUmVuZGVyQm94KiBiYXNlID0gZmlyc3RD
aGlsZEJveCgpOworICAgIGF1dG8qIGJhc2UgPSBmaXJzdENoaWxkQm94KCk7CiAgICAgaWYgKCFi
YXNlKQogICAgICAgICByZXR1cm4gT3B0aW9uYWw8aW50PigpOwogICAgIHJldHVybiBPcHRpb25h
bDxpbnQ+KHN0YXRpY19jYXN0PGludD4obHJvdW5kZihhc2NlbnRGb3JDaGlsZCgqYmFzZSkgKyBi
YXNlLT5sb2dpY2FsVG9wKCkpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbWF0aG1sL1JlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHAKaW5kZXggMDQwZDM2NS4uNmMz
YTUxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJN
YXRoTUxVbmRlck92ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MVW5kZXJPdmVyLmNwcApAQCAtNjMsNyArNjMsNyBAQCBSZW5kZXJNYXRoTUxP
cGVyYXRvciogUmVuZGVyTWF0aE1MVW5kZXJPdmVyOjp1bmVtYmVsbGlzaGVkT3BlcmF0b3IoKQog
CiBPcHRpb25hbDxpbnQ+IFJlbmRlck1hdGhNTFVuZGVyT3Zlcjo6Zmlyc3RMaW5lQmFzZWxpbmUo
KSBjb25zdAogewotICAgIFJlbmRlckJveCogYmFzZSA9IGZpcnN0Q2hpbGRCb3goKTsKKyAgICBh
dXRvKiBiYXNlID0gZmlyc3RDaGlsZEJveCgpOwogICAgIGlmICghYmFzZSkKICAgICAgICAgcmV0
dXJuIE9wdGlvbmFsPGludD4oKTsKIApAQCAtMTA1LDcgKzEwNSw3IEBAIGJvb2wgUmVuZGVyTWF0
aE1MVW5kZXJPdmVyOjppc1ZhbGlkKCkgY29uc3QKICAgICAvLyA8bXVuZGVyPiBiYXNlIHVuZGVy
IDwvbXVuZGVyPgogICAgIC8vIDxtb3Zlcj4gYmFzZSBvdmVyIDwvbW92ZXI+CiAgICAgLy8gPG11
bmRlcm92ZXI+IGJhc2UgdW5kZXIgb3ZlciA8L211bmRlcm92ZXI+Ci0gICAgUmVuZGVyQm94KiBj
aGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsKKyAgICBhdXRvKiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3go
KTsKICAgICBpZiAoIWNoaWxkKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgY2hpbGQgPSBj
aGlsZC0+bmV4dFNpYmxpbmdCb3goKTsKQEAgLTE0MSw3ICsxNDEsNyBAQCBSZW5kZXJCb3gmIFJl
bmRlck1hdGhNTFVuZGVyT3Zlcjo6b3ZlcigpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGlzVmFsaWQo
KSk7CiAgICAgQVNTRVJUKG1fc2NyaXB0VHlwZSA9PSBPdmVyIHx8IG1fc2NyaXB0VHlwZSA9PSBV
bmRlck92ZXIpOwotICAgIFJlbmRlckJveCogc2Vjb25kQ2hpbGQgPSBmaXJzdENoaWxkQm94KCkt
Pm5leHRTaWJsaW5nQm94KCk7CisgICAgYXV0byogc2Vjb25kQ2hpbGQgPSBmaXJzdENoaWxkQm94
KCktPm5leHRTaWJsaW5nQm94KCk7CiAgICAgcmV0dXJuIG1fc2NyaXB0VHlwZSA9PSBPdmVyID8g
KnNlY29uZENoaWxkIDogKnNlY29uZENoaWxkLT5uZXh0U2libGluZ0JveCgpOwogfQogCi0tIAoy
LjguMQoK
</data>
<flag name="review"
          id="305807"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>