<?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>69802</bug_id>
          
          <creation_ts>2011-10-10 16:48:51 -0700</creation_ts>
          <short_desc>Switch most calls in DFGJITCodeGenerator to use callOperation.</short_desc>
          <delta_ts>2011-10-10 16:56:06 -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="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>481293</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-10-10 16:48:51 -0700</bug_when>
    <thetext>Compares, add, mod are the easy cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481294</commentid>
    <comment_count>1</comment_count>
      <attachid>110437</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-10-10 16:49:53 -0700</bug_when>
    <thetext>Created attachment 110437
The patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481297</commentid>
    <comment_count>2</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-10-10 16:56:06 -0700</bug_when>
    <thetext>Fixed in r97105</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110437</attachid>
            <date>2011-10-10 16:49:53 -0700</date>
            <delta_ts>2011-10-10 16:50:55 -0700</delta_ts>
            <desc>The patch</desc>
            <filename>69802.patch</filename>
            <type>text/plain</type>
            <size>22745</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTcxMDQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzIgQEAK
KzIwMTEtMTAtMTAgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFyYWNsb3VnaEBhcHBsZS5jb20+CisK
KyAgICAgICAgU3dpdGNoIG1vc3QgY2FsbHMgaW4gREZHSklUQ29kZUdlbmVyYXRvciB0byB1c2Ug
Y2FsbE9wZXJhdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY5ODAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ29tcGFyZXMsIGFkZCwgbW9kIGFyZSB0aGUgZWFzeSBjYXNlcy4KKworICAgICAgICAq
IGRmZy9ERkdKSVRDb2RlR2VuZXJhdG9yLmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2FsbE9wZXJh
dGlvbik6CisgICAgICAgICogZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IzMl82NC5jcHA6CisgICAg
ICAgIChKU0M6OkRGRzo6SklUQ29kZUdlbmVyYXRvcjo6bm9uU3BlY3VsYXRpdmVLbm93bkNvbnN0
YW50QXJpdGhPcCk6CisgICAgICAgIChKU0M6OkRGRzo6SklUQ29kZUdlbmVyYXRvcjo6bm9uU3Bl
Y3VsYXRpdmVCYXNpY0FyaXRoT3ApOgorICAgICAgICAoSlNDOjpERkc6OkpJVENvZGVHZW5lcmF0
b3I6Om5vblNwZWN1bGF0aXZlQXJpdGhNb2QpOgorICAgICAgICAoSlNDOjpERkc6OkpJVENvZGVH
ZW5lcmF0b3I6Om5vblNwZWN1bGF0aXZlUGVlcGhvbGVCcmFuY2gpOgorICAgICAgICAoSlNDOjpE
Rkc6OkpJVENvZGVHZW5lcmF0b3I6Om5vblNwZWN1bGF0aXZlTm9uUGVlcGhvbGVDb21wYXJlKToK
KyAgICAgICAgKEpTQzo6REZHOjpKSVRDb2RlR2VuZXJhdG9yOjpub25TcGVjdWxhdGl2ZVBlZXBo
b2xlU3RyaWN0RXEpOgorICAgICAgICAoSlNDOjpERkc6OkpJVENvZGVHZW5lcmF0b3I6Om5vblNw
ZWN1bGF0aXZlTm9uUGVlcGhvbGVTdHJpY3RFcSk6CisgICAgICAgICogZGZnL0RGR0pJVENvZGVH
ZW5lcmF0b3I2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6SklUQ29kZUdlbmVyYXRvcjo6bm9u
U3BlY3VsYXRpdmVLbm93bkNvbnN0YW50QXJpdGhPcCk6CisgICAgICAgIChKU0M6OkRGRzo6SklU
Q29kZUdlbmVyYXRvcjo6bm9uU3BlY3VsYXRpdmVCYXNpY0FyaXRoT3ApOgorICAgICAgICAoSlND
OjpERkc6OkpJVENvZGVHZW5lcmF0b3I6Om5vblNwZWN1bGF0aXZlUGVlcGhvbGVCcmFuY2gpOgor
ICAgICAgICAoSlNDOjpERkc6OkpJVENvZGVHZW5lcmF0b3I6Om5vblNwZWN1bGF0aXZlTm9uUGVl
cGhvbGVDb21wYXJlKToKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb2RlR2VuZXJhdG9yOjpub25T
cGVjdWxhdGl2ZVBlZXBob2xlU3RyaWN0RXEpOgorICAgICAgICAoSlNDOjpERkc6OkpJVENvZGVH
ZW5lcmF0b3I6Om5vblNwZWN1bGF0aXZlTm9uUGVlcGhvbGVTdHJpY3RFcSk6CisgICAgICAgICog
ZGZnL0RGR09wZXJhdGlvbnMuY3BwOgorICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25zLmg6CisK
IDIwMTEtMTAtMTAgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFyYWNsb3VnaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgREZHOiBTd2l0Y2ggR2V0QnlJZCAvIFB1dEJ5SWQgdG8gdXNlIGNhbGxPcGVyYXRp
b24KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvcjMy
XzY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENv
ZGVHZW5lcmF0b3IzMl82NC5jcHAJKHJldmlzaW9uIDk3MTAxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdKSVRDb2RlR2VuZXJhdG9yMzJfNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01NjksMTggKzU2OSwxMCBAQCB2b2lkIEpJVENvZGVHZW5lcmF0b3I6Om5vblNwZWN1bGF0aXZl
S25vCiAgICAgICAgIG5vdEludC5saW5rKCZtX2ppdCk7CiAgICAgICAgICAgICAKICAgICAgICAg
c2lsZW50U3BpbGxBbGxSZWdpc3RlcnMocmVzdWx0VGFnR1BSLCByZXN1bHRQYXlsb2FkR1BSKTsK
LSAgICAgICAgaWYgKGNvbW11dGUpIHsKLSAgICAgICAgICAgIG1faml0LnB1c2gocmVnQXJnVGFn
R1BSKTsKLSAgICAgICAgICAgIG1faml0LnB1c2gocmVnQXJnUGF5bG9hZEdQUik7Ci0gICAgICAg
ICAgICBtX2ppdC5wdXNoKE1hY3JvQXNzZW1ibGVyOjpJbW0zMihpbW0pKTsKLSAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgIG1faml0LnB1c2goTWFjcm9Bc3NlbWJsZXI6OkltbTMyKGltbSkp
OwotICAgICAgICAgICAgbV9qaXQucHVzaChyZWdBcmdUYWdHUFIpOwotICAgICAgICAgICAgbV9q
aXQucHVzaChyZWdBcmdQYXlsb2FkR1BSKTsKLSAgICAgICAgfQotICAgICAgICBtX2ppdC5wdXNo
KEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKTsKLSAgICAgICAgYXBwZW5kQ2FsbFdpdGhFeGNl
cHRpb25DaGVjayhvcGVyYXRpb25WYWx1ZUFkZE5vdE51bWJlcik7Ci0gICAgICAgIHNldHVwUmVz
dWx0cyhyZXN1bHRUYWdHUFIsIHJlc3VsdFBheWxvYWRHUFIpOworICAgICAgICBpZiAoY29tbXV0
ZSkKKyAgICAgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uVmFsdWVBZGROb3ROdW1iZXIs
IHJlc3VsdFRhZ0dQUiwgcmVzdWx0UGF5bG9hZEdQUiwgTWFjcm9Bc3NlbWJsZXI6OkltbTMyKGlt
bSksIHJlZ0FyZ1RhZ0dQUiwgcmVnQXJnUGF5bG9hZEdQUik7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uVmFsdWVBZGROb3ROdW1iZXIsIHJlc3VsdFRh
Z0dQUiwgcmVzdWx0UGF5bG9hZEdQUiwgcmVnQXJnVGFnR1BSLCByZWdBcmdQYXlsb2FkR1BSLCBN
YWNyb0Fzc2VtYmxlcjo6SW1tMzIoaW1tKSk7CiAgICAgICAgIHNpbGVudEZpbGxBbGxSZWdpc3Rl
cnMocmVzdWx0VGFnR1BSLCByZXN1bHRQYXlsb2FkR1BSKTsKICAgICAgICAgICAgIAogICAgICAg
ICBkb25lQ2FzZVdhc051bWJlci5saW5rKCZtX2ppdCk7CkBAIC04MTMsMTMgKzgwNSw3IEBAIHZv
aWQgSklUQ29kZUdlbmVyYXRvcjo6bm9uU3BlY3VsYXRpdmVCYXMKICAgICAgICAgbm90TnVtYmVy
cy5saW5rKCZtX2ppdCk7CiAgICAgICAgICAgICAKICAgICAgICAgc2lsZW50U3BpbGxBbGxSZWdp
c3RlcnMocmVzdWx0VGFnR1BSLCByZXN1bHRQYXlsb2FkR1BSKTsKLSAgICAgICAgbV9qaXQucHVz
aChhcmcyVGFnR1BSKTsKLSAgICAgICAgbV9qaXQucHVzaChhcmcyUGF5bG9hZEdQUik7Ci0gICAg
ICAgIG1faml0LnB1c2goYXJnMVRhZ0dQUik7Ci0gICAgICAgIG1faml0LnB1c2goYXJnMVBheWxv
YWRHUFIpOwotICAgICAgICBtX2ppdC5wdXNoKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKTsK
LSAgICAgICAgYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb25WYWx1ZUFkZE5v
dE51bWJlcik7Ci0gICAgICAgIHNldHVwUmVzdWx0cyhyZXN1bHRUYWdHUFIsIHJlc3VsdFBheWxv
YWRHUFIpOworICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblZhbHVlQWRkTm90TnVtYmVy
LCByZXN1bHRUYWdHUFIsIHJlc3VsdFBheWxvYWRHUFIsIGFyZzFUYWdHUFIsIGFyZzFQYXlsb2Fk
R1BSLCBhcmcyVGFnR1BSLCBhcmcyUGF5bG9hZEdQUik7CiAgICAgICAgIHNpbGVudEZpbGxBbGxS
ZWdpc3RlcnMocmVzdWx0VGFnR1BSLCByZXN1bHRQYXlsb2FkR1BSKTsKIAogICAgICAgICBkb25l
Q2FzZVdhc051bWJlci5saW5rKCZtX2ppdCk7CkBAIC04ODMsMTMgKzg2OSw3IEBAIHZvaWQgSklU
Q29kZUdlbmVyYXRvcjo6bm9uU3BlY3VsYXRpdmVBcmkKICAgICBpZiAoIWlzS25vd25JbnRlZ2Vy
KG5vZGUuY2hpbGQxKCkpIHx8ICFpc0tub3duSW50ZWdlcihub2RlLmNoaWxkMigpKSkgewogICAg
ICAgICBzbG93LmxpbmsoJm1faml0KTsKICAgICAgICAgc2lsZW50U3BpbGxBbGxSZWdpc3RlcnMo
WDg2UmVnaXN0ZXJzOjplYXgsIFg4NlJlZ2lzdGVyczo6ZWR4KTsKLSAgICAgICAgbV9qaXQucHVz
aChvcDJUYWdHUFIpOwotICAgICAgICBtX2ppdC5wdXNoKG9wMlBheWxvYWRHUFIpOwotICAgICAg
ICBtX2ppdC5wdXNoKG9wMVRhZ0dQUik7Ci0gICAgICAgIG1faml0LnB1c2gob3AxUGF5bG9hZEdQ
Uik7Ci0gICAgICAgIG1faml0LnB1c2goR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwotICAg
ICAgICBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbkFyaXRoTW9kKTsKLSAg
ICAgICAgc2V0dXBSZXN1bHRzKFg4NlJlZ2lzdGVyczo6ZWF4LCBYODZSZWdpc3RlcnM6OmVkeCk7
CisgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uQXJpdGhNb2QsIFg4NlJlZ2lzdGVyczo6
ZWF4LCBYODZSZWdpc3RlcnM6OmVkeCwgb3AxVGFnR1BSLCBvcDFQYXlsb2FkR1BSLCBvcDJUYWdH
UFIsIG9wMlBheWxvYWRHUFIpOwogICAgICAgICBzaWxlbnRGaWxsQWxsUmVnaXN0ZXJzKFg4NlJl
Z2lzdGVyczo6ZWF4LCBYODZSZWdpc3RlcnM6OmVkeCk7CiAgICAgfQogICAgICAgICAKQEAgLTEy
NjQsOCArMTI0NCw4IEBAIHZvaWQgSklUQ29kZUdlbmVyYXRvcjo6bm9uU3BlY3VsYXRpdmVQZWUK
ICAgICAgICAgYXJnMi51c2UoKTsKIAogICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwotCiAgICAg
ICAgIGNhbGxPcGVyYXRpb24oaGVscGVyRnVuY3Rpb24sIHJlc3VsdEdQUiwgYXJnMVRhZ0dQUiwg
YXJnMVBheWxvYWRHUFIsIGFyZzJUYWdHUFIsIGFyZzJQYXlsb2FkR1BSKTsKKwogICAgICAgICBh
ZGRCcmFuY2gobV9qaXQuYnJhbmNoVGVzdDgoY2FsbFJlc3VsdENvbmRpdGlvbiwgcmVzdWx0R1BS
KSwgdGFrZW4pOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEdQUlRlbXBvcmFyeSByZXN1bHQodGhp
cyk7CkBAIC0xMjg3LDEzICsxMjY3LDcgQEAgdm9pZCBKSVRDb2RlR2VuZXJhdG9yOjpub25TcGVj
dWxhdGl2ZVBlZQogICAgICAgICAgICAgc2xvd1BhdGgubGluaygmbV9qaXQpOwogICAgIAogICAg
ICAgICAgICAgc2lsZW50U3BpbGxBbGxSZWdpc3RlcnMocmVzdWx0R1BSKTsKLSAgICAgICAgICAg
IG1faml0LnB1c2goYXJnMlRhZ0dQUik7Ci0gICAgICAgICAgICBtX2ppdC5wdXNoKGFyZzJQYXls
b2FkR1BSKTsKLSAgICAgICAgICAgIG1faml0LnB1c2goYXJnMVRhZ0dQUik7Ci0gICAgICAgICAg
ICBtX2ppdC5wdXNoKGFyZzFQYXlsb2FkR1BSKTsKLSAgICAgICAgICAgIG1faml0LnB1c2goR1BS
SW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwotICAgICAgICAgICAgYXBwZW5kQ2FsbFdpdGhFeGNl
cHRpb25DaGVjayhoZWxwZXJGdW5jdGlvbik7Ci0gICAgICAgICAgICBtX2ppdC5tb3ZlKEdQUklu
Zm86OnJldHVyblZhbHVlR1BSLCByZXN1bHRHUFIpOworICAgICAgICAgICAgY2FsbE9wZXJhdGlv
bihoZWxwZXJGdW5jdGlvbiwgcmVzdWx0R1BSLCBhcmcxVGFnR1BSLCBhcmcxUGF5bG9hZEdQUiwg
YXJnMlRhZ0dQUiwgYXJnMlBheWxvYWRHUFIpOwogICAgICAgICAgICAgc2lsZW50RmlsbEFsbFJl
Z2lzdGVycyhyZXN1bHRHUFIpOwogICAgICAgICAKICAgICAgICAgICAgIGFkZEJyYW5jaChtX2pp
dC5icmFuY2hUZXN0OChjYWxsUmVzdWx0Q29uZGl0aW9uLCByZXN1bHRHUFIpLCB0YWtlbik7CkBA
IC0xMzI1LDcgKzEyOTksNiBAQCB2b2lkIEpJVENvZGVHZW5lcmF0b3I6Om5vblNwZWN1bGF0aXZl
Tm9uCiAgICAgICAgIGFyZzIudXNlKCk7CiAKICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKLSAg
ICAgICAgCiAgICAgICAgIGNhbGxPcGVyYXRpb24oaGVscGVyRnVuY3Rpb24sIHJlc3VsdFBheWxv
YWRHUFIsIGFyZzFUYWdHUFIsIGFyZzFQYXlsb2FkR1BSLCBhcmcyVGFnR1BSLCBhcmcyUGF5bG9h
ZEdQUik7CiAgICAgICAgIAogICAgICAgICBtX2ppdC5tb3ZlKFRydXN0ZWRJbW0zMihKU1ZhbHVl
OjpCb29sZWFuVGFnKSwgcmVzdWx0VGFnR1BSKTsKQEAgLTEzNTIsMTMgKzEzMjUsNyBAQCB2b2lk
IEpJVENvZGVHZW5lcmF0b3I6Om5vblNwZWN1bGF0aXZlTm9uCiAgICAgICAgICAgICBzbG93UGF0
aC5saW5rKCZtX2ppdCk7CiAgICAgICAgIAogICAgICAgICAgICAgc2lsZW50U3BpbGxBbGxSZWdp
c3RlcnMocmVzdWx0VGFnR1BSLCByZXN1bHRQYXlsb2FkR1BSKTsKLSAgICAgICAgICAgIG1faml0
LnB1c2goYXJnMlRhZ0dQUik7Ci0gICAgICAgICAgICBtX2ppdC5wdXNoKGFyZzJQYXlsb2FkR1BS
KTsKLSAgICAgICAgICAgIG1faml0LnB1c2goYXJnMVRhZ0dQUik7Ci0gICAgICAgICAgICBtX2pp
dC5wdXNoKGFyZzFQYXlsb2FkR1BSKTsKLSAgICAgICAgICAgIG1faml0LnB1c2goR1BSSW5mbzo6
Y2FsbEZyYW1lUmVnaXN0ZXIpOwotICAgICAgICAgICAgYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25D
aGVjayhoZWxwZXJGdW5jdGlvbik7Ci0gICAgICAgICAgICBtX2ppdC5tb3ZlKEdQUkluZm86OnJl
dHVyblZhbHVlR1BSLCByZXN1bHRQYXlsb2FkR1BSKTsKKyAgICAgICAgICAgIGNhbGxPcGVyYXRp
b24oaGVscGVyRnVuY3Rpb24sIHJlc3VsdFBheWxvYWRHUFIsIGFyZzFUYWdHUFIsIGFyZzFQYXls
b2FkR1BSLCBhcmcyVGFnR1BSLCBhcmcyUGF5bG9hZEdQUik7CiAgICAgICAgICAgICBzaWxlbnRG
aWxsQWxsUmVnaXN0ZXJzKHJlc3VsdFRhZ0dQUiwgcmVzdWx0UGF5bG9hZEdQUik7CiAgICAgICAg
IAogICAgICAgICAgICAgbV9qaXQuYW5kUHRyKFRydXN0ZWRJbW0zMigxKSwgcmVzdWx0UGF5bG9h
ZEdQUik7CkBAIC0xNDA1LDEzICsxMzcyLDcgQEAgdm9pZCBKSVRDb2RlR2VuZXJhdG9yOjpub25T
cGVjdWxhdGl2ZVBlZQogICAgICAgICBhZGRCcmFuY2gobV9qaXQuYnJhbmNoUHRyKEpJVENvbXBp
bGVyOjpFcXVhbCwgYXJnMVBheWxvYWRHUFIsIGFyZzJQYXlsb2FkR1BSKSwgaW52ZXJ0ID8gbm90
VGFrZW4gOiB0YWtlbik7CiAgICAgICAgIAogICAgICAgICBzaWxlbnRTcGlsbEFsbFJlZ2lzdGVy
cyhyZXN1bHRQYXlsb2FkR1BSKTsKLSAgICAgICAgbV9qaXQucHVzaChhcmcyVGFnR1BSKTsKLSAg
ICAgICAgbV9qaXQucHVzaChhcmcyUGF5bG9hZEdQUik7Ci0gICAgICAgIG1faml0LnB1c2goYXJn
MVRhZ0dQUik7Ci0gICAgICAgIG1faml0LnB1c2goYXJnMVBheWxvYWRHUFIpOwotICAgICAgICBt
X2ppdC5wdXNoKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKTsKLSAgICAgICAgYXBwZW5kQ2Fs
bFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb25Db21wYXJlU3RyaWN0RXFDZWxsKTsKLSAgICAg
ICAgbV9qaXQubW92ZShHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUiwgcmVzdWx0UGF5bG9hZEdQUik7
CisgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uQ29tcGFyZVN0cmljdEVxQ2VsbCwgcmVz
dWx0UGF5bG9hZEdQUiwgYXJnMVRhZ0dQUiwgYXJnMVBheWxvYWRHUFIsIGFyZzJUYWdHUFIsIGFy
ZzJQYXlsb2FkR1BSKTsKICAgICAgICAgc2lsZW50RmlsbEFsbFJlZ2lzdGVycyhyZXN1bHRQYXls
b2FkR1BSKTsKICAgICAgICAgCiAgICAgICAgIGFkZEJyYW5jaChtX2ppdC5icmFuY2hUZXN0OChp
bnZlcnQgPyBKSVRDb21waWxlcjo6Tm9uWmVybyA6IEpJVENvbXBpbGVyOjpaZXJvLCByZXN1bHRQ
YXlsb2FkR1BSKSwgdGFrZW4pOwpAQCAtMTQxOSwxMyArMTM4MCw3IEBAIHZvaWQgSklUQ29kZUdl
bmVyYXRvcjo6bm9uU3BlY3VsYXRpdmVQZWUKICAgICAgICAgLy8gRklYTUU6IEFkZCBmYXN0IHBh
dGhzIGZvciB0d29DZWxscywgbnVtYmVyIGV0Yy4KIAogICAgICAgICBzaWxlbnRTcGlsbEFsbFJl
Z2lzdGVycyhyZXN1bHRQYXlsb2FkR1BSKTsKLSAgICAgICAgbV9qaXQucHVzaChhcmcyVGFnR1BS
KTsKLSAgICAgICAgbV9qaXQucHVzaChhcmcyUGF5bG9hZEdQUik7Ci0gICAgICAgIG1faml0LnB1
c2goYXJnMVRhZ0dQUik7Ci0gICAgICAgIG1faml0LnB1c2goYXJnMVBheWxvYWRHUFIpOwotICAg
ICAgICBtX2ppdC5wdXNoKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKTsKLSAgICAgICAgYXBw
ZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb25Db21wYXJlU3RyaWN0RXEpOwotICAg
ICAgICBtX2ppdC5tb3ZlKEdQUkluZm86OnJldHVyblZhbHVlR1BSLCByZXN1bHRQYXlsb2FkR1BS
KTsKKyAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25Db21wYXJlU3RyaWN0RXEsIHJlc3Vs
dFBheWxvYWRHUFIsIGFyZzFUYWdHUFIsIGFyZzFQYXlsb2FkR1BSLCBhcmcyVGFnR1BSLCBhcmcy
UGF5bG9hZEdQUik7CiAgICAgICAgIHNpbGVudEZpbGxBbGxSZWdpc3RlcnMocmVzdWx0UGF5bG9h
ZEdQUik7CiAgICAgICAgIAogICAgICAgICBhZGRCcmFuY2gobV9qaXQuYnJhbmNoVGVzdDgoaW52
ZXJ0ID8gSklUQ29tcGlsZXI6Olplcm8gOiBKSVRDb21waWxlcjo6Tm9uWmVybywgcmVzdWx0UGF5
bG9hZEdQUiksIHRha2VuKTsKQEAgLTE0NjMsMTMgKzE0MTgsNyBAQCB2b2lkIEpJVENvZGVHZW5l
cmF0b3I6Om5vblNwZWN1bGF0aXZlTm9uCiAgICAgICAgIG5vdEVxdWFsQ2FzZS5saW5rKCZtX2pp
dCk7CiAgICAgICAgIAogICAgICAgICBzaWxlbnRTcGlsbEFsbFJlZ2lzdGVycyhyZXN1bHRUYWdH
UFIsIHJlc3VsdFBheWxvYWRHUFIpOwotICAgICAgICBtX2ppdC5wdXNoKGFyZzJUYWdHUFIpOwot
ICAgICAgICBtX2ppdC5wdXNoKGFyZzJQYXlsb2FkR1BSKTsKLSAgICAgICAgbV9qaXQucHVzaChh
cmcxVGFnR1BSKTsKLSAgICAgICAgbV9qaXQucHVzaChhcmcxUGF5bG9hZEdQUik7Ci0gICAgICAg
IG1faml0LnB1c2goR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwotICAgICAgICBhcHBlbmRD
YWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbkNvbXBhcmVTdHJpY3RFcUNlbGwpOwotICAg
ICAgICBtX2ppdC5tb3ZlKEdQUkluZm86OnJldHVyblZhbHVlR1BSLCByZXN1bHRQYXlsb2FkR1BS
KTsKKyAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25Db21wYXJlU3RyaWN0RXFDZWxsLCBy
ZXN1bHRQYXlsb2FkR1BSLCBhcmcxVGFnR1BSLCBhcmcxUGF5bG9hZEdQUiwgYXJnMlRhZ0dQUiwg
YXJnMlBheWxvYWRHUFIpOwogICAgICAgICBzaWxlbnRGaWxsQWxsUmVnaXN0ZXJzKHJlc3VsdFRh
Z0dQUiwgcmVzdWx0UGF5bG9hZEdQUik7CiAgICAgICAgIAogICAgICAgICBtX2ppdC5hbmRQdHIo
SklUQ29tcGlsZXI6OlRydXN0ZWRJbW0zMigxKSwgcmVzdWx0UGF5bG9hZEdQUik7CkBAIC0xNDc5
LDEzICsxNDI4LDcgQEAgdm9pZCBKSVRDb2RlR2VuZXJhdG9yOjpub25TcGVjdWxhdGl2ZU5vbgog
ICAgICAgICAvLyBGSVhNRTogQWRkIGZhc3QgcGF0aHMuCiAKICAgICAgICAgc2lsZW50U3BpbGxB
bGxSZWdpc3RlcnMocmVzdWx0VGFnR1BSLCByZXN1bHRQYXlsb2FkR1BSKTsKLSAgICAgICAgbV9q
aXQucHVzaChhcmcyVGFnR1BSKTsKLSAgICAgICAgbV9qaXQucHVzaChhcmcyUGF5bG9hZEdQUik7
Ci0gICAgICAgIG1faml0LnB1c2goYXJnMVRhZ0dQUik7Ci0gICAgICAgIG1faml0LnB1c2goYXJn
MVBheWxvYWRHUFIpOwotICAgICAgICBtX2ppdC5wdXNoKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lz
dGVyKTsKLSAgICAgICAgYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb25Db21w
YXJlU3RyaWN0RXEpOwotICAgICAgICBtX2ppdC5tb3ZlKEdQUkluZm86OnJldHVyblZhbHVlR1BS
LCByZXN1bHRQYXlsb2FkR1BSKTsKKyAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25Db21w
YXJlU3RyaWN0RXEsIHJlc3VsdFBheWxvYWRHUFIsIGFyZzFUYWdHUFIsIGFyZzFQYXlsb2FkR1BS
LCBhcmcyVGFnR1BSLCBhcmcyUGF5bG9hZEdQUik7CiAgICAgICAgIHNpbGVudEZpbGxBbGxSZWdp
c3RlcnMocmVzdWx0VGFnR1BSLCByZXN1bHRQYXlsb2FkR1BSKTsKICAgICAgICAgCiAgICAgICAg
IG1faml0LmFuZFB0cihKSVRDb21waWxlcjo6VHJ1c3RlZEltbTMyKDEpLCByZXN1bHRQYXlsb2Fk
R1BSKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRv
cjY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENv
ZGVHZW5lcmF0b3I2NC5jcHAJKHJldmlzaW9uIDk3MTAxKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdKSVRDb2RlR2VuZXJhdG9yNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NTQs
MTYgKzU1NCwxMCBAQCB2b2lkIEpJVENvZGVHZW5lcmF0b3I6Om5vblNwZWN1bGF0aXZlS25vCiAg
ICAgICAgIG5vdE51bWJlci5saW5rKCZtX2ppdCk7CiAgICAgICAgICAgICAKICAgICAgICAgc2ls
ZW50U3BpbGxBbGxSZWdpc3RlcnMocmVzdWx0R1BSKTsKLSAgICAgICAgaWYgKGNvbW11dGUpIHsK
LSAgICAgICAgICAgIG1faml0Lm1vdmUocmVnQXJnR1BSLCBHUFJJbmZvOjphcmd1bWVudEdQUjIp
OwotICAgICAgICAgICAgbV9qaXQubW92ZShNYWNyb0Fzc2VtYmxlcjo6SW1tUHRyKHN0YXRpY19j
YXN0PGNvbnN0IHZvaWQqPihKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoaW1tKSkpKSwgR1BSSW5m
bzo6YXJndW1lbnRHUFIxKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIG1faml0Lm1v
dmUocmVnQXJnR1BSLCBHUFJJbmZvOjphcmd1bWVudEdQUjEpOwotICAgICAgICAgICAgbV9qaXQu
bW92ZShNYWNyb0Fzc2VtYmxlcjo6SW1tUHRyKHN0YXRpY19jYXN0PGNvbnN0IHZvaWQqPihKU1Zh
bHVlOjplbmNvZGUoanNOdW1iZXIoaW1tKSkpKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIyKTsKLSAg
ICAgICAgfQotICAgICAgICBtX2ppdC5tb3ZlKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBH
UFJJbmZvOjphcmd1bWVudEdQUjApOwotICAgICAgICBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNo
ZWNrKG9wZXJhdGlvblZhbHVlQWRkTm90TnVtYmVyKTsKLSAgICAgICAgbV9qaXQubW92ZShHUFJJ
bmZvOjpyZXR1cm5WYWx1ZUdQUiwgcmVzdWx0R1BSKTsKKyAgICAgICAgaWYgKGNvbW11dGUpCisg
ICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblZhbHVlQWRkTm90TnVtYmVyLCByZXN1
bHRHUFIsIE1hY3JvQXNzZW1ibGVyOjpJbW0zMihpbW0pLCByZWdBcmdHUFIpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblZhbHVlQWRkTm90TnVtYmVy
LCByZXN1bHRHUFIsIHJlZ0FyZ0dQUiwgTWFjcm9Bc3NlbWJsZXI6OkltbTMyKGltbSkpOwogICAg
ICAgICBzaWxlbnRGaWxsQWxsUmVnaXN0ZXJzKHJlc3VsdEdQUik7CiAgICAgICAgICAgICAKICAg
ICAgICAgZG9uZUNhc2VXYXNOdW1iZXIubGluaygmbV9qaXQpOwpAQCAtNzM4LDEwICs3MzIsNyBA
QCB2b2lkIEpJVENvZGVHZW5lcmF0b3I6Om5vblNwZWN1bGF0aXZlQmFzCiAgICAgICAgIG5vdE51
bWJlcnMubGluaygmbV9qaXQpOwogICAgICAgICAgICAgCiAgICAgICAgIHNpbGVudFNwaWxsQWxs
UmVnaXN0ZXJzKHJlc3VsdEdQUik7Ci0gICAgICAgIHNldHVwU3R1YkFyZ3VtZW50cyhhcmcxR1BS
LCBhcmcyR1BSKTsKLSAgICAgICAgbV9qaXQubW92ZShHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rl
ciwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKLSAgICAgICAgYXBwZW5kQ2FsbFdpdGhFeGNlcHRp
b25DaGVjayhvcGVyYXRpb25WYWx1ZUFkZE5vdE51bWJlcik7Ci0gICAgICAgIG1faml0Lm1vdmUo
R1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIsIHJlc3VsdEdQUik7CisgICAgICAgIGNhbGxPcGVyYXRp
b24ob3BlcmF0aW9uVmFsdWVBZGROb3ROdW1iZXIsIHJlc3VsdEdQUiwgYXJnMUdQUiwgYXJnMkdQ
Uik7CiAgICAgICAgIHNpbGVudEZpbGxBbGxSZWdpc3RlcnMocmVzdWx0R1BSKTsKIAogICAgICAg
ICBkb25lQ2FzZVdhc051bWJlci5saW5rKCZtX2ppdCk7CkBAIC0xMjA0LDggKzExOTUsOCBAQCB2
b2lkIEpJVENvZGVHZW5lcmF0b3I6Om5vblNwZWN1bGF0aXZlUGVlCiAgICAgICAgIGFyZzIudXNl
KCk7CiAgICAgCiAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0KICAgICAgICAgY2FsbE9wZXJh
dGlvbihoZWxwZXJGdW5jdGlvbiwgcmVzdWx0R1BSLCBhcmcxR1BSLCBhcmcyR1BSKTsKKwogICAg
ICAgICBhZGRCcmFuY2gobV9qaXQuYnJhbmNoVGVzdDgoY2FsbFJlc3VsdENvbmRpdGlvbiwgcmVz
dWx0R1BSKSwgdGFrZW4pOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEdQUlRlbXBvcmFyeSByZXN1
bHQodGhpcywgYXJnMik7CkBAIC0xMjI3LDEwICsxMjE4LDcgQEAgdm9pZCBKSVRDb2RlR2VuZXJh
dG9yOjpub25TcGVjdWxhdGl2ZVBlZQogICAgICAgICAgICAgc2xvd1BhdGgubGluaygmbV9qaXQp
OwogICAgIAogICAgICAgICAgICAgc2lsZW50U3BpbGxBbGxSZWdpc3RlcnMocmVzdWx0R1BSKTsK
LSAgICAgICAgICAgIHNldHVwU3R1YkFyZ3VtZW50cyhhcmcxR1BSLCBhcmcyR1BSKTsKLSAgICAg
ICAgICAgIG1faml0Lm1vdmUoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIEdQUkluZm86OmFy
Z3VtZW50R1BSMCk7Ci0gICAgICAgICAgICBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKGhl
bHBlckZ1bmN0aW9uKTsKLSAgICAgICAgICAgIG1faml0Lm1vdmUoR1BSSW5mbzo6cmV0dXJuVmFs
dWVHUFIsIHJlc3VsdEdQUik7CisgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKGhlbHBlckZ1bmN0
aW9uLCByZXN1bHRHUFIsIGFyZzFHUFIsIGFyZzJHUFIpOwogICAgICAgICAgICAgc2lsZW50Rmls
bEFsbFJlZ2lzdGVycyhyZXN1bHRHUFIpOwogICAgICAgICAKICAgICAgICAgICAgIGFkZEJyYW5j
aChtX2ppdC5icmFuY2hUZXN0OChjYWxsUmVzdWx0Q29uZGl0aW9uLCByZXN1bHRHUFIpLCB0YWtl
bik7CkBAIC0xMjU4LDcgKzEyNDYsNiBAQCB2b2lkIEpJVENvZGVHZW5lcmF0b3I6Om5vblNwZWN1
bGF0aXZlTm9uCiAgICAgICAgIGFyZzIudXNlKCk7CiAgICAgCiAgICAgICAgIGZsdXNoUmVnaXN0
ZXJzKCk7Ci0gICAgICAgIAogICAgICAgICBjYWxsT3BlcmF0aW9uKGhlbHBlckZ1bmN0aW9uLCBy
ZXN1bHRHUFIsIGFyZzFHUFIsIGFyZzJHUFIpOwogICAgICAgICAKICAgICAgICAgbV9qaXQub3Iz
MihUcnVzdGVkSW1tMzIoVmFsdWVGYWxzZSksIHJlc3VsdEdQUik7CkBAIC0xMjgzLDEwICsxMjcw
LDcgQEAgdm9pZCBKSVRDb2RlR2VuZXJhdG9yOjpub25TcGVjdWxhdGl2ZU5vbgogICAgICAgICAg
ICAgc2xvd1BhdGgubGluaygmbV9qaXQpOwogICAgICAgICAKICAgICAgICAgICAgIHNpbGVudFNw
aWxsQWxsUmVnaXN0ZXJzKHJlc3VsdEdQUik7Ci0gICAgICAgICAgICBzZXR1cFN0dWJBcmd1bWVu
dHMoYXJnMUdQUiwgYXJnMkdQUik7Ci0gICAgICAgICAgICBtX2ppdC5tb3ZlKEdQUkluZm86OmNh
bGxGcmFtZVJlZ2lzdGVyLCBHUFJJbmZvOjphcmd1bWVudEdQUjApOwotICAgICAgICAgICAgYXBw
ZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhoZWxwZXJGdW5jdGlvbik7Ci0gICAgICAgICAgICBt
X2ppdC5tb3ZlKEdQUkluZm86OnJldHVyblZhbHVlR1BSLCByZXN1bHRHUFIpOworICAgICAgICAg
ICAgY2FsbE9wZXJhdGlvbihoZWxwZXJGdW5jdGlvbiwgcmVzdWx0R1BSLCBhcmcxR1BSLCBhcmcy
R1BSKTsKICAgICAgICAgICAgIHNpbGVudEZpbGxBbGxSZWdpc3RlcnMocmVzdWx0R1BSKTsKICAg
ICAgICAgCiAgICAgICAgICAgICBtX2ppdC5hbmRQdHIoVHJ1c3RlZEltbTMyKDEpLCByZXN1bHRH
UFIpOwpAQCAtMTMzMiwxMCArMTMxNiw3IEBAIHZvaWQgSklUQ29kZUdlbmVyYXRvcjo6bm9uU3Bl
Y3VsYXRpdmVQZWUKICAgICAgICAgYWRkQnJhbmNoKG1faml0LmJyYW5jaFB0cihKSVRDb21waWxl
cjo6RXF1YWwsIGFyZzFHUFIsIGFyZzJHUFIpLCBpbnZlcnQgPyBub3RUYWtlbiA6IHRha2VuKTsK
ICAgICAgICAgCiAgICAgICAgIHNpbGVudFNwaWxsQWxsUmVnaXN0ZXJzKHJlc3VsdEdQUik7Ci0g
ICAgICAgIHNldHVwU3R1YkFyZ3VtZW50cyhhcmcxR1BSLCBhcmcyR1BSKTsKLSAgICAgICAgbV9q
aXQubW92ZShHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgR1BSSW5mbzo6YXJndW1lbnRHUFIw
KTsKLSAgICAgICAgYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb25Db21wYXJl
U3RyaWN0RXFDZWxsKTsKLSAgICAgICAgbV9qaXQubW92ZShHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQ
UiwgcmVzdWx0R1BSKTsKKyAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25Db21wYXJlU3Ry
aWN0RXFDZWxsLCByZXN1bHRHUFIsIGFyZzFHUFIsIGFyZzJHUFIpOwogICAgICAgICBzaWxlbnRG
aWxsQWxsUmVnaXN0ZXJzKHJlc3VsdEdQUik7CiAgICAgICAgIAogICAgICAgICBhZGRCcmFuY2go
bV9qaXQuYnJhbmNoVGVzdDgoaW52ZXJ0ID8gSklUQ29tcGlsZXI6Ok5vblplcm8gOiBKSVRDb21w
aWxlcjo6WmVybywgcmVzdWx0R1BSKSwgdGFrZW4pOwpAQCAtMTM1NSwxMCArMTMzNiw3IEBAIHZv
aWQgSklUQ29kZUdlbmVyYXRvcjo6bm9uU3BlY3VsYXRpdmVQZWUKICAgICAgICAgbnVtYmVyQ2Fz
ZS5saW5rKCZtX2ppdCk7CiAgICAgICAgIAogICAgICAgICBzaWxlbnRTcGlsbEFsbFJlZ2lzdGVy
cyhyZXN1bHRHUFIpOwotICAgICAgICBzZXR1cFN0dWJBcmd1bWVudHMoYXJnMUdQUiwgYXJnMkdQ
Uik7Ci0gICAgICAgIG1faml0Lm1vdmUoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIEdQUklu
Zm86OmFyZ3VtZW50R1BSMCk7Ci0gICAgICAgIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2so
b3BlcmF0aW9uQ29tcGFyZVN0cmljdEVxKTsKLSAgICAgICAgbV9qaXQubW92ZShHUFJJbmZvOjpy
ZXR1cm5WYWx1ZUdQUiwgcmVzdWx0R1BSKTsKKyAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRp
b25Db21wYXJlU3RyaWN0RXEsIHJlc3VsdEdQUiwgYXJnMUdQUiwgYXJnMkdQUik7CiAgICAgICAg
IHNpbGVudEZpbGxBbGxSZWdpc3RlcnMocmVzdWx0R1BSKTsKICAgICAgICAgCiAgICAgICAgIGFk
ZEJyYW5jaChtX2ppdC5icmFuY2hUZXN0OChpbnZlcnQgPyBKSVRDb21waWxlcjo6WmVybyA6IEpJ
VENvbXBpbGVyOjpOb25aZXJvLCByZXN1bHRHUFIpLCB0YWtlbik7CkBAIC0xMzkzLDEwICsxMzcx
LDcgQEAgdm9pZCBKSVRDb2RlR2VuZXJhdG9yOjpub25TcGVjdWxhdGl2ZU5vbgogICAgICAgICBu
b3RFcXVhbENhc2UubGluaygmbV9qaXQpOwogICAgICAgICAKICAgICAgICAgc2lsZW50U3BpbGxB
bGxSZWdpc3RlcnMocmVzdWx0R1BSKTsKLSAgICAgICAgc2V0dXBTdHViQXJndW1lbnRzKGFyZzFH
UFIsIGFyZzJHUFIpOwotICAgICAgICBtX2ppdC5tb3ZlKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lz
dGVyLCBHUFJJbmZvOjphcmd1bWVudEdQUjApOwotICAgICAgICBhcHBlbmRDYWxsV2l0aEV4Y2Vw
dGlvbkNoZWNrKG9wZXJhdGlvbkNvbXBhcmVTdHJpY3RFcUNlbGwpOwotICAgICAgICBtX2ppdC5t
b3ZlKEdQUkluZm86OnJldHVyblZhbHVlR1BSLCByZXN1bHRHUFIpOworICAgICAgICBjYWxsT3Bl
cmF0aW9uKG9wZXJhdGlvbkNvbXBhcmVTdHJpY3RFcUNlbGwsIHJlc3VsdEdQUiwgYXJnMUdQUiwg
YXJnMkdQUik7CiAgICAgICAgIHNpbGVudEZpbGxBbGxSZWdpc3RlcnMocmVzdWx0R1BSKTsKICAg
ICAgICAgCiAgICAgICAgIG1faml0LmFuZFB0cihKSVRDb21waWxlcjo6VHJ1c3RlZEltbTMyKDEp
LCByZXN1bHRHUFIpOwpAQCAtMTQyNSwxMCArMTQwMCw3IEBAIHZvaWQgSklUQ29kZUdlbmVyYXRv
cjo6bm9uU3BlY3VsYXRpdmVOb24KICAgICAgICAgbm90RXF1YWxDYXNlLmxpbmsoJm1faml0KTsK
ICAgICAgICAgCiAgICAgICAgIHNpbGVudFNwaWxsQWxsUmVnaXN0ZXJzKHJlc3VsdEdQUik7Ci0g
ICAgICAgIHNldHVwU3R1YkFyZ3VtZW50cyhhcmcxR1BSLCBhcmcyR1BSKTsKLSAgICAgICAgbV9q
aXQubW92ZShHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgR1BSSW5mbzo6YXJndW1lbnRHUFIw
KTsKLSAgICAgICAgYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb25Db21wYXJl
U3RyaWN0RXEpOwotICAgICAgICBtX2ppdC5tb3ZlKEdQUkluZm86OnJldHVyblZhbHVlR1BSLCBy
ZXN1bHRHUFIpOworICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkNvbXBhcmVTdHJpY3RF
cSwgcmVzdWx0R1BSLCBhcmcxR1BSLCBhcmcyR1BSKTsKICAgICAgICAgc2lsZW50RmlsbEFsbFJl
Z2lzdGVycyhyZXN1bHRHUFIpOwogICAgICAgICAKICAgICAgICAgbV9qaXQuYW5kUHRyKEpJVENv
bXBpbGVyOjpUcnVzdGVkSW1tMzIoMSksIHJlc3VsdEdQUik7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IuaAkocmV2aXNpb24gOTcxMDEp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IuaAkod29y
a2luZyBjb3B5KQpAQCAtMTE0OSw2ICsxMTQ5LDIyIEBAIHByb3RlY3RlZDoKIAogICAgICAgICBy
ZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJl
c3VsdCk7CiAgICAgfQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9ERkdP
cGVyYXRpb25fRUpKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIE1hY3Jv
QXNzZW1ibGVyOjpJbW0zMiBpbW0pCisgICAgeworICAgICAgICBtX2ppdC5tb3ZlKGFyZzEsIEdQ
UkluZm86OmFyZ3VtZW50R1BSMSk7CisgICAgICAgIG1faml0Lm1vdmUoTWFjcm9Bc3NlbWJsZXI6
OkltbVB0cihzdGF0aWNfY2FzdDxjb25zdCB2b2lkKj4oSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVy
KGltbS5tX3ZhbHVlKSkpKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIyKTsKKyAgICAgICAgbV9qaXQu
bW92ZShHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsK
KworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChv
cGVyYXRpb24sIHJlc3VsdCk7CisgICAgfQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oSl9ERkdPcGVyYXRpb25fRUpKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgTWFjcm9B
c3NlbWJsZXI6OkltbTMyIGltbSwgR1BSUmVnIGFyZzIpCisgICAgeworICAgICAgICBtX2ppdC5t
b3ZlKE1hY3JvQXNzZW1ibGVyOjpJbW1QdHIoc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+KEpTVmFs
dWU6OmVuY29kZShqc051bWJlcihpbW0ubV92YWx1ZSkpKSksIEdQUkluZm86OmFyZ3VtZW50R1BS
MSk7CisgICAgICAgIG1faml0Lm1vdmUoYXJnMiwgR1BSSW5mbzo6YXJndW1lbnRHUFIyKTsKKyAg
ICAgICAgbV9qaXQubW92ZShHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgR1BSSW5mbzo6YXJn
dW1lbnRHUFIwKTsKKworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVj
a1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CisgICAgfQogICAgIEpJVENvbXBpbGVyOjpD
YWxsIGNhbGxPcGVyYXRpb24oSl9ERkdPcGVyYXRpb25fRUNKIG9wZXJhdGlvbiwgR1BSUmVnIHJl
c3VsdCwgR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyKQogICAgIHsKICAgICAgICAgc2V0dXBTdHVi
QXJndW1lbnRzKGFyZzEsIGFyZzIpOwpAQCAtMTM0OSw2ICsxMzY1LDI2IEBAIHByb3RlY3RlZDoK
IAogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChv
cGVyYXRpb24sIHJlc3VsdFRhZywgcmVzdWx0UGF5bG9hZCk7CiAgICAgfQorICAgIEpJVENvbXBp
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9ERkdPcGVyYXRpb25fRUpKIG9wZXJhdGlvbiwgR1BS
UmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIEdQUlJlZyBhcmcxVGFnLCBHUFJS
ZWcgYXJnMVBheWxvYWQsIE1hY3JvQXNzZW1ibGVyOjpJbW0zMiBpbW0pCisgICAgeworICAgICAg
ICBtX2ppdC5wdXNoKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6SW50MzJU
YWcpKTsKKyAgICAgICAgbV9qaXQucHVzaChpbW0pOworICAgICAgICBtX2ppdC5wdXNoKGFyZzFU
YWcpOworICAgICAgICBtX2ppdC5wdXNoKGFyZzFQYXlsb2FkKTsKKyAgICAgICAgbV9qaXQucHVz
aChHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7CisKKyAgICAgICAgcmV0dXJuIGFwcGVuZENh
bGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRUYWcsIHJlc3Vs
dFBheWxvYWQpOworICAgIH0KKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpf
REZHT3BlcmF0aW9uX0VKSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1
bHRQYXlsb2FkLCBNYWNyb0Fzc2VtYmxlcjo6SW1tMzIgaW1tLCBHUFJSZWcgYXJnMlRhZywgR1BS
UmVnIGFyZzJQYXlsb2FkKQorICAgIHsKKyAgICAgICAgbV9qaXQucHVzaChhcmcyVGFnKTsKKyAg
ICAgICAgbV9qaXQucHVzaChhcmcyUGF5bG9hZCk7CisgICAgICAgIG1faml0LnB1c2goTWFjcm9B
c3NlbWJsZXI6OlRydXN0ZWRJbW0zMihKU1ZhbHVlOjpJbnQzMlRhZykpOworICAgICAgICBtX2pp
dC5wdXNoKGltbSk7CisgICAgICAgIG1faml0LnB1c2goR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0
ZXIpOworCisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVz
dWx0KG9wZXJhdGlvbiwgcmVzdWx0VGFnLCByZXN1bHRQYXlsb2FkKTsKKyAgICB9CiAgICAgSklU
Q29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0RGR09wZXJhdGlvbl9FQ0ogb3BlcmF0aW9u
LCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgR1BSUmVnIGFyZzEsIEdQ
UlJlZyBhcmcyVGFnLCBHUFJSZWcgYXJnMlBheWxvYWQpCiAgICAgewogICAgICAgICBtX2ppdC5w
dXNoKGFyZzJUYWcpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRp
b25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJh
dGlvbnMuY3BwCShyZXZpc2lvbiA5NzEwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4NCwzNSArMTg0LDEwIEBAIEVu
Y29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uVmEKICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzQWRkU2xvd0Nhc2UoZXhlYywgb3AxLCBvcDIpKTsKIH0KIAotRW5jb2RlZEpT
VmFsdWUgREZHX09QRVJBVElPTiBvcGVyYXRpb25Bcml0aEFkZChFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyKQotewotICAgIGRvdWJsZSBudW0xID0g
SlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRPcDEpLmFzTnVtYmVyKCk7Ci0gICAgZG91YmxlIG51bTIg
PSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wMikuYXNOdW1iZXIoKTsKLSAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKG51bTEgKyBudW0yKSk7Ci19Ci0KLUVuY29kZWRKU1ZhbHVl
IERGR19PUEVSQVRJT04gb3BlcmF0aW9uQXJpdGhTdWIoRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9w
MSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMikKLXsKLSAgICBkb3VibGUgbnVtMSA9IEpTVmFs
dWU6OmRlY29kZShlbmNvZGVkT3AxKS5hc051bWJlcigpOwotICAgIGRvdWJsZSBudW0yID0gSlNW
YWx1ZTo6ZGVjb2RlKGVuY29kZWRPcDIpLmFzTnVtYmVyKCk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc051bWJlcihudW0xIC0gbnVtMikpOwotfQotCi1FbmNvZGVkSlNWYWx1ZSBERkdf
T1BFUkFUSU9OIG9wZXJhdGlvbkFyaXRoTXVsKEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDEsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpCi17Ci0gICAgZG91YmxlIG51bTEgPSBKU1ZhbHVlOjpk
ZWNvZGUoZW5jb2RlZE9wMSkuYXNOdW1iZXIoKTsKLSAgICBkb3VibGUgbnVtMiA9IEpTVmFsdWU6
OmRlY29kZShlbmNvZGVkT3AyKS5hc051bWJlcigpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNOdW1iZXIobnVtMSAqIG51bTIpKTsKLX0KLQotRW5jb2RlZEpTVmFsdWUgREZHX09QRVJB
VElPTiBvcGVyYXRpb25Bcml0aERpdihFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkT3AyKQotewotICAgIGRvdWJsZSBudW0xID0gSlNWYWx1ZTo6ZGVjb2Rl
KGVuY29kZWRPcDEpLmFzTnVtYmVyKCk7Ci0gICAgZG91YmxlIG51bTIgPSBKU1ZhbHVlOjpkZWNv
ZGUoZW5jb2RlZE9wMikuYXNOdW1iZXIoKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
TnVtYmVyKG51bTEgLyBudW0yKSk7Ci19Ci0KLUVuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04g
b3BlcmF0aW9uQXJpdGhNb2QoRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZE9wMikKKy8vIEZJTVhFOiBUaGlzIG1ldGhvZCBpcyBkZXByZWNhdGVkLCB3ZSBz
aG91bGQgc3dpdGNoIHRoZSAzMl82NCBERkcgSklUIG92ZXIgdG8gY2FsbCBmbW9kIGRpcmVjdGx5
IQorLy8gRXhlY1N0YXRlKiBpc24ndCByZWFsbHkgcmVxdWlyZWQsIGJ1dCBwYXNzZWQgdG8gc2F2
ZSBhZGRpbmcgYSBKX0RGR09wZXJhdGlvbl9KSiB0eXBlLCBzaW5jZSB0aGlzCisvLyBkb2VzIG5v
dCBoYXZlIGxvbmcgdG8gbGl2ZSEKK0VuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0
aW9uQXJpdGhNb2QoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZE9wMikKIHsKICAgICBkb3VibGUgbnVtMSA9IEpTVmFsdWU6OmRlY29k
ZShlbmNvZGVkT3AxKS5hc051bWJlcigpOwogICAgIGRvdWJsZSBudW0yID0gSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRPcDIpLmFzTnVtYmVyKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR09wZXJhdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR09wZXJhdGlvbnMuaAkocmV2aXNpb24gOTcxMDEpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR09wZXJhdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtOTYsMTEgKzk2LDcg
QEAgSlNDZWxsKiBERkdfT1BFUkFUSU9OIG9wZXJhdGlvbkNyZWF0ZVRoaQogRW5jb2RlZEpTVmFs
dWUgREZHX09QRVJBVElPTiBvcGVyYXRpb25Db252ZXJ0VGhpcyhFeGVjU3RhdGUqLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkT3AxKTsKIEVuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0
aW9uVmFsdWVBZGQoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZE9wMik7CiBFbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OIG9wZXJh
dGlvblZhbHVlQWRkTm90TnVtYmVyKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRP
cDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpOwotRW5jb2RlZEpTVmFsdWUgREZHX09QRVJB
VElPTiBvcGVyYXRpb25Bcml0aEFkZChFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkT3AyKTsKLUVuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0
aW9uQXJpdGhTdWIoRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZE9wMik7Ci1FbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OIG9wZXJhdGlvbkFyaXRoTXVs
KEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpOwot
RW5jb2RlZEpTVmFsdWUgREZHX09QRVJBVElPTiBvcGVyYXRpb25Bcml0aERpdihFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyKTsKLUVuY29kZWRKU1Zh
bHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uQXJpdGhNb2QoRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMik7CitFbmNvZGVkSlNWYWx1ZSBERkdfT1BF
UkFUSU9OIG9wZXJhdGlvbkFyaXRoTW9kKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpOwogRW5jb2RlZEpTVmFsdWUgREZHX09Q
RVJBVElPTiBvcGVyYXRpb25HZXRCeVZhbChFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkQmFzZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFByb3BlcnR5KTsKIEVuY29kZWRKU1ZhbHVl
IERGR19PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlWYWxDZWxsKEV4ZWNTdGF0ZSosIEpTQ2VsbCos
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRQcm9wZXJ0eSk7CiBFbmNvZGVkSlNWYWx1ZSBERkdfT1BF
UkFUSU9OIG9wZXJhdGlvbkdldEJ5SWQoRXhlY1N0YXRlKiwgSlNDZWxsKiwgSWRlbnRpZmllciop
Owo=
</data>
<flag name="review"
          id="107949"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>