<?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>160752</bug_id>
          
          <creation_ts>2016-08-10 14:43:24 -0700</creation_ts>
          <short_desc>Move more functions to from SQLTransactionBackend to SQLTransaction</short_desc>
          <delta_ts>2016-08-10 14:56:00 -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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1219146</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-10 14:43:24 -0700</bug_when>
    <thetext>Move more functions to from SQLTransactionBackend to SQLTransaction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1219148</commentid>
    <comment_count>1</comment_count>
      <attachid>285764</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-10 14:44:09 -0700</bug_when>
    <thetext>Created attachment 285764
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1219154</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-10 14:56:00 -0700</bug_when>
    <thetext>Committed r204357: &lt;http://trac.webkit.org/changeset/204357&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285764</attachid>
            <date>2016-08-10 14:44:09 -0700</date>
            <delta_ts>2016-08-10 14:53:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160752-20160810144233.patch</filename>
            <type>text/plain</type>
            <size>17577</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTIzMDliMzY5YTc4MGQ0
OTg3N2Y2ZTEyMGZkNTZjNDVhNzVlZGZmMi4uMTNmMWU4NDhkMDUyMzZjMjIzNmNlZGIyNDg0Mzdj
ZDU4YzM3MjBkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDE2LTA4LTEwICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgTW92ZSBtb3JlIGZ1
bmN0aW9ucyB0byBmcm9tIFNRTFRyYW5zYWN0aW9uQmFja2VuZCB0byBTUUxUcmFuc2FjdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwNzUyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVz
L3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNRTFRy
YW5zYWN0aW9uOjphY3F1aXJlTG9jayk6CisgICAgICAgIChXZWJDb3JlOjpTUUxUcmFuc2FjdGlv
bjo6b3BlblRyYW5zYWN0aW9uQW5kUHJlZmxpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OlNRTFRy
YW5zYWN0aW9uOjpydW5TdGF0ZW1lbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OlNRTFRyYW5zYWN0
aW9uOjpjbGVhbnVwQW5kVGVybWluYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNRTFRyYW5zYWN0
aW9uOjpjbGVhbnVwQWZ0ZXJUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2spOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
UUxUcmFuc2FjdGlvbkJhY2tlbmQ6OmFjcXVpcmVMb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OlNR
TFRyYW5zYWN0aW9uQmFja2VuZDo6b3BlblRyYW5zYWN0aW9uQW5kUHJlZmxpZ2h0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNRTFRyYW5zYWN0aW9uQmFja2VuZDo6cnVuU3RhdGVtZW50cyk6CisgICAg
ICAgIChXZWJDb3JlOjpTUUxUcmFuc2FjdGlvbkJhY2tlbmQ6OmNsZWFudXBBbmRUZXJtaW5hdGUp
OgorICAgICAgICAoV2ViQ29yZTo6U1FMVHJhbnNhY3Rpb25CYWNrZW5kOjpjbGVhbnVwQWZ0ZXJU
cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2spOgorCisyMDE2LTA4LTEwICBBbmRlcnMgQ2FybHNzb24g
IDxhbmRlcnNjYUBhcHBsZS5jb20+CisKICAgICAgICAgQmVnaW4gbW92aW5nIG1lbWJlciBmdW5j
dGlvbnMgZnJvbSBTUUxUcmFuc2FjdGlvbkJhY2tlbmQgdG8gU1FMVHJhbnNhY3Rpb24KICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDc0NwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24u
Y3BwCmluZGV4IGFiM2UwMDRlMmFiNjE5Y2E2YjAyZDY5OTZjMjFlNDU2OTg3OWUxNjEuLjFmZjJk
ZGE5Yzk2Y2VlMTBjMTU4NzI4YmM2ZDgxMzU0MjRkYjAxMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uY3BwCkBAIC00Miw3
ICs0Miw4IEBACiAjaW5jbHVkZSAiU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5oIgogI2luY2x1
ZGUgIlNRTFRyYW5zYWN0aW9uQmFja2VuZC5oIgogI2luY2x1ZGUgIlNRTFRyYW5zYWN0aW9uQ2Fs
bGJhY2suaCIKLSNpbmNsdWRlICJTUUxUcmFuc2FjdGlvbkNsaWVudC5oIiAvLyBGSVhNRTogU2hv
dWxkIGJlIHVzZWQgaW4gdGhlIGJhY2tlbmQgb25seS4KKyNpbmNsdWRlICJTUUxUcmFuc2FjdGlv
bkNsaWVudC5oIgorI2luY2x1ZGUgIlNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaCIKICNpbmNs
dWRlICJTUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2suaCIKICNpbmNsdWRlICJTUUxpdGVUcmFu
c2FjdGlvbi5oIgogI2luY2x1ZGUgIlZvaWRDYWxsYmFjay5oIgpAQCAtMTYyLDYgKzE2MywxNjEg
QEAgdm9pZCBTUUxUcmFuc2FjdGlvbjo6cmVxdWVzdFRyYW5zaXRUb1N0YXRlKFNRTFRyYW5zYWN0
aW9uU3RhdGUgbmV4dFN0YXRlKQogICAgIG1fZGF0YWJhc2UtPnNjaGVkdWxlVHJhbnNhY3Rpb25D
YWxsYmFjayh0aGlzKTsKIH0KIAordm9pZCBTUUxUcmFuc2FjdGlvbjo6YWNxdWlyZUxvY2soKQor
eworICAgIG1fZGF0YWJhc2UtPnRyYW5zYWN0aW9uQ29vcmRpbmF0b3IoKS0+YWNxdWlyZUxvY2so
KnRoaXMpOworfQorCit2b2lkIFNRTFRyYW5zYWN0aW9uOjpvcGVuVHJhbnNhY3Rpb25BbmRQcmVm
bGlnaHQoKQoreworICAgIEFTU0VSVCghbV9kYXRhYmFzZS0+c3FsaXRlRGF0YWJhc2UoKS50cmFu
c2FjdGlvbkluUHJvZ3Jlc3MoKSk7CisgICAgQVNTRVJUKG1fbG9ja0FjcXVpcmVkKTsKKworICAg
IExPRyhTdG9yYWdlQVBJLCAiT3BlbmluZyBhbmQgcHJlZmxpZ2h0aW5nIHRyYW5zYWN0aW9uICVw
IiwgdGhpcyk7CisKKyAgICAvLyBJZiB0aGUgZGF0YWJhc2Ugd2FzIGRlbGV0ZWQsIGp1bXAgdG8g
dGhlIGVycm9yIGNhbGxiYWNrCisgICAgaWYgKG1fZGF0YWJhc2UtPmRlbGV0ZWQoKSkgeworICAg
ICAgICBtX3RyYW5zYWN0aW9uRXJyb3IgPSBTUUxFcnJvcjo6Y3JlYXRlKFNRTEVycm9yOjpVTktO
T1dOX0VSUiwgInVuYWJsZSB0byBvcGVuIGEgdHJhbnNhY3Rpb24sIGJlY2F1c2UgdGhlIHVzZXIg
ZGVsZXRlZCB0aGUgZGF0YWJhc2UiKTsKKworICAgICAgICBoYW5kbGVUcmFuc2FjdGlvbkVycm9y
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBTZXQgdGhlIG1heGltdW0gdXNh
Z2UgZm9yIHRoaXMgdHJhbnNhY3Rpb24gaWYgdGhpcyB0cmFuc2FjdGlvbnMgaXMgbm90IHJlYWQt
b25seQorICAgIGlmICghbV9yZWFkT25seSkgeworICAgICAgICBhY3F1aXJlT3JpZ2luTG9jaygp
OworICAgICAgICBtX2RhdGFiYXNlLT5zcWxpdGVEYXRhYmFzZSgpLnNldE1heGltdW1TaXplKG1f
ZGF0YWJhc2UtPm1heGltdW1TaXplKCkpOworICAgIH0KKworICAgIEFTU0VSVCghbV9zcWxpdGVU
cmFuc2FjdGlvbik7CisgICAgbV9zcWxpdGVUcmFuc2FjdGlvbiA9IHN0ZDo6bWFrZV91bmlxdWU8
U1FMaXRlVHJhbnNhY3Rpb24+KG1fZGF0YWJhc2UtPnNxbGl0ZURhdGFiYXNlKCksIG1fcmVhZE9u
bHkpOworCisgICAgbV9kYXRhYmFzZS0+cmVzZXREZWxldGVzKCk7CisgICAgbV9kYXRhYmFzZS0+
ZGlzYWJsZUF1dGhvcml6ZXIoKTsKKyAgICBtX3NxbGl0ZVRyYW5zYWN0aW9uLT5iZWdpbigpOwor
ICAgIG1fZGF0YWJhc2UtPmVuYWJsZUF1dGhvcml6ZXIoKTsKKworICAgIC8vIFNwZWMgNC4zLjIu
MSsyOiBPcGVuIGEgdHJhbnNhY3Rpb24gdG8gdGhlIGRhdGFiYXNlLCBqdW1waW5nIHRvIHRoZSBl
cnJvciBjYWxsYmFjayBpZiB0aGF0IGZhaWxzCisgICAgaWYgKCFtX3NxbGl0ZVRyYW5zYWN0aW9u
LT5pblByb2dyZXNzKCkpIHsKKyAgICAgICAgQVNTRVJUKCFtX2RhdGFiYXNlLT5zcWxpdGVEYXRh
YmFzZSgpLnRyYW5zYWN0aW9uSW5Qcm9ncmVzcygpKTsKKyAgICAgICAgbV90cmFuc2FjdGlvbkVy
cm9yID0gU1FMRXJyb3I6OmNyZWF0ZShTUUxFcnJvcjo6REFUQUJBU0VfRVJSLCAidW5hYmxlIHRv
IGJlZ2luIHRyYW5zYWN0aW9uIiwgbV9kYXRhYmFzZS0+c3FsaXRlRGF0YWJhc2UoKS5sYXN0RXJy
b3IoKSwgbV9kYXRhYmFzZS0+c3FsaXRlRGF0YWJhc2UoKS5sYXN0RXJyb3JNc2coKSk7CisgICAg
ICAgIG1fc3FsaXRlVHJhbnNhY3Rpb24gPSBudWxscHRyOworCisgICAgICAgIGhhbmRsZVRyYW5z
YWN0aW9uRXJyb3IoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIE5vdGU6IFdl
IGludGVudGlvbmFsbHkgcmV0cmlldmUgdGhlIGFjdHVhbCB2ZXJzaW9uIGV2ZW4gd2l0aCBhbiBl
bXB0eSBleHBlY3RlZCB2ZXJzaW9uLgorICAgIC8vIEluIG11bHRpLXByb2Nlc3MgYnJvd3NlcnMs
IHdlIHRha2UgdGhpcyBvcHBvcnRpbnV0aXkgdG8gdXBkYXRlIHRoZSBjYWNoZWQgdmFsdWUgZm9y
CisgICAgLy8gdGhlIGFjdHVhbCB2ZXJzaW9uLiBJbiBzaW5nbGUtcHJvY2VzcyBicm93c2Vycywg
dGhpcyBpcyBqdXN0IGEgbWFwIGxvb2t1cC4KKyAgICBTdHJpbmcgYWN0dWFsVmVyc2lvbjsKKyAg
ICBpZiAoIW1fZGF0YWJhc2UtPmdldEFjdHVhbFZlcnNpb25Gb3JUcmFuc2FjdGlvbihhY3R1YWxW
ZXJzaW9uKSkgeworICAgICAgICBtX3RyYW5zYWN0aW9uRXJyb3IgPSBTUUxFcnJvcjo6Y3JlYXRl
KFNRTEVycm9yOjpEQVRBQkFTRV9FUlIsICJ1bmFibGUgdG8gcmVhZCB2ZXJzaW9uIiwgbV9kYXRh
YmFzZS0+c3FsaXRlRGF0YWJhc2UoKS5sYXN0RXJyb3IoKSwgbV9kYXRhYmFzZS0+c3FsaXRlRGF0
YWJhc2UoKS5sYXN0RXJyb3JNc2coKSk7CisgICAgICAgIG1fZGF0YWJhc2UtPmRpc2FibGVBdXRo
b3JpemVyKCk7CisgICAgICAgIG1fc3FsaXRlVHJhbnNhY3Rpb24gPSBudWxscHRyOworICAgICAg
ICBtX2RhdGFiYXNlLT5lbmFibGVBdXRob3JpemVyKCk7CisKKyAgICAgICAgaGFuZGxlVHJhbnNh
Y3Rpb25FcnJvcigpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9oYXNWZXJzaW9u
TWlzbWF0Y2ggPSAhbV9kYXRhYmFzZS0+ZXhwZWN0ZWRWZXJzaW9uKCkuaXNFbXB0eSgpICYmICht
X2RhdGFiYXNlLT5leHBlY3RlZFZlcnNpb24oKSAhPSBhY3R1YWxWZXJzaW9uKTsKKworICAgIC8v
IFNwZWMgNC4zLjIuMzogUGVyZm9ybSBwcmVmbGlnaHQgc3RlcHMsIGp1bXBpbmcgdG8gdGhlIGVy
cm9yIGNhbGxiYWNrIGlmIHRoZXkgZmFpbAorICAgIGlmIChtX3dyYXBwZXIgJiYgIW1fd3JhcHBl
ci0+cGVyZm9ybVByZWZsaWdodCgqdGhpcykpIHsKKyAgICAgICAgbV9kYXRhYmFzZS0+ZGlzYWJs
ZUF1dGhvcml6ZXIoKTsKKyAgICAgICAgbV9zcWxpdGVUcmFuc2FjdGlvbiA9IG51bGxwdHI7Cisg
ICAgICAgIG1fZGF0YWJhc2UtPmVuYWJsZUF1dGhvcml6ZXIoKTsKKyAgICAgICAgbV90cmFuc2Fj
dGlvbkVycm9yID0gbV93cmFwcGVyLT5zcWxFcnJvcigpOworICAgICAgICBpZiAoIW1fdHJhbnNh
Y3Rpb25FcnJvcikKKyAgICAgICAgICAgIG1fdHJhbnNhY3Rpb25FcnJvciA9IFNRTEVycm9yOjpj
cmVhdGUoU1FMRXJyb3I6OlVOS05PV05fRVJSLCAidW5rbm93biBlcnJvciBvY2N1cnJlZCBkdXJp
bmcgdHJhbnNhY3Rpb24gcHJlZmxpZ2h0Iik7CisKKyAgICAgICAgaGFuZGxlVHJhbnNhY3Rpb25F
cnJvcigpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gU3BlYyA0LjMuMi40OiBJ
bnZva2UgdGhlIHRyYW5zYWN0aW9uIGNhbGxiYWNrIHdpdGggdGhlIG5ldyBTUUxUcmFuc2FjdGlv
biBvYmplY3QKKyAgICBpZiAobV9jYWxsYmFja1dyYXBwZXIuaGFzQ2FsbGJhY2soKSkgeworICAg
ICAgICByZXF1ZXN0VHJhbnNpdFRvU3RhdGUoU1FMVHJhbnNhY3Rpb25TdGF0ZTo6RGVsaXZlclRy
YW5zYWN0aW9uQ2FsbGJhY2spOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gSWYg
d2UgaGF2ZSBubyBjYWxsYmFjayB0byBtYWtlLCBza2lwIHBhc3MgdG8gdGhlIHN0YXRlIGFmdGVy
OgorICAgIHJ1blN0YXRlbWVudHMoKTsKK30KKwordm9pZCBTUUxUcmFuc2FjdGlvbjo6cnVuU3Rh
dGVtZW50cygpCit7CisgICAgQVNTRVJUKG1fbG9ja0FjcXVpcmVkKTsKKworICAgIC8vIElmIHRo
ZXJlIGlzIGEgc2VyaWVzIG9mIHN0YXRlbWVudHMgcXVldWVkIHVwIHRoYXQgYXJlIGFsbCBzdWNj
ZXNzZnVsIGFuZCBoYXZlIG5vIGFzc29jaWF0ZWQKKyAgICAvLyBTUUxTdGF0ZW1lbnRDYWxsYmFj
ayBvYmplY3RzLCB0aGVuIHdlIGNhbiBidXJuIHRocm91Z2ggdGhlIHF1ZXVlCisgICAgZG8gewor
ICAgICAgICBpZiAobV9zaG91bGRSZXRyeUN1cnJlbnRTdGF0ZW1lbnQgJiYgIW1fc3FsaXRlVHJh
bnNhY3Rpb24tPndhc1JvbGxlZEJhY2tCeVNxbGl0ZSgpKSB7CisgICAgICAgICAgICBtX3Nob3Vs
ZFJldHJ5Q3VycmVudFN0YXRlbWVudCA9IGZhbHNlOworICAgICAgICAgICAgLy8gRklYTUUgLSBB
bm90aGVyIHBsYWNlIHRoYXQgbmVlZHMgZml4aW5nIHVwIGFmdGVyIDxyZGFyOi8vcHJvYmxlbS81
NjI4NDY4PiBpcyBhZGRyZXNzZWQuCisgICAgICAgICAgICAvLyBTZWUgOjpvcGVuVHJhbnNhY3Rp
b25BbmRQcmVmbGlnaHQoKSBmb3IgZGlzY3Vzc2lvbgorCisgICAgICAgICAgICAvLyBSZXNldCB0
aGUgbWF4aW11bSBzaXplIGhlcmUsIGFzIGl0IHdhcyBpbmNyZWFzZWQgdG8gYWxsb3cgdXMgdG8g
cmV0cnkgdGhpcyBzdGF0ZW1lbnQuCisgICAgICAgICAgICAvLyBtX3Nob3VsZFJldHJ5Q3VycmVu
dFN0YXRlbWVudCBpcyBzZXQgdG8gdHJ1ZSBvbmx5IHdoZW4gYSBzdGF0ZW1lbnQgZXhjZWVkcwor
ICAgICAgICAgICAgLy8gdGhlIHF1b3RhLCB3aGljaCBjYW4gaGFwcGVuIG9ubHkgaW4gYSByZWFk
LXdyaXRlIHRyYW5zYWN0aW9uLiBUaGVyZWZvcmUsIHRoZXJlCisgICAgICAgICAgICAvLyBpcyBu
byBuZWVkIHRvIGNoZWNrIGhlcmUgaWYgdGhlIHRyYW5zYWN0aW9uIGlzIHJlYWQtd3JpdGUuCisg
ICAgICAgICAgICBtX2RhdGFiYXNlLT5zcWxpdGVEYXRhYmFzZSgpLnNldE1heGltdW1TaXplKG1f
ZGF0YWJhc2UtPm1heGltdW1TaXplKCkpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
Ly8gSWYgdGhlIGN1cnJlbnQgc3RhdGVtZW50IGhhcyBhbHJlYWR5IGJlZW4gcnVuLCBmYWlsZWQg
ZHVlIHRvIHF1b3RhIGNvbnN0cmFpbnRzLCBhbmQgd2UncmUgbm90IHJldHJ5aW5nIGl0LAorICAg
ICAgICAgICAgLy8gdGhhdCBtZWFucyBpdCBlbmRlZCBpbiBhbiBlcnJvci4gSGFuZGxlIGl0IG5v
dworICAgICAgICAgICAgaWYgKG1fY3VycmVudFN0YXRlbWVudCAmJiBtX2N1cnJlbnRTdGF0ZW1l
bnQtPmxhc3RFeGVjdXRpb25GYWlsZWREdWVUb1F1b3RhKCkpIHsKKyAgICAgICAgICAgICAgICBo
YW5kbGVDdXJyZW50U3RhdGVtZW50RXJyb3IoKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCBhZHZhbmNlIHRvIHRoZSBu
ZXh0IHN0YXRlbWVudAorICAgICAgICAgICAgZ2V0TmV4dFN0YXRlbWVudCgpOworICAgICAgICB9
CisgICAgfSB3aGlsZSAocnVuQ3VycmVudFN0YXRlbWVudCgpKTsKKworICAgIC8vIElmIHJ1bkN1
cnJlbnRTdGF0ZW1lbnQoKSByZXR1cm5lZCBmYWxzZSwgdGhhdCBtZWFucyBlaXRoZXIgdGhlcmUg
d2FzIG5vIGN1cnJlbnQgc3RhdGVtZW50IHRvIHJ1biwKKyAgICAvLyBvciB0aGUgY3VycmVudCBz
dGF0ZW1lbnQgcmVxdWlyZXMgYSBjYWxsYmFjayB0byBjb21wbGV0ZS4gSW4gdGhlIGxhdGVyIGNh
c2UsIGl0IGFsc28gc2NoZWR1bGVkCisgICAgLy8gdGhlIGNhbGxiYWNrIG9yIHBlcmZvcm1lZCBh
bnkgb3RoZXIgYWRkaXRpb25hbCB3b3JrIHNvIHdlIGNhbiByZXR1cm4uCisgICAgaWYgKCFtX2N1
cnJlbnRTdGF0ZW1lbnQpCisgICAgICAgIHBvc3RmbGlnaHRBbmRDb21taXQoKTsKK30KKwordm9p
ZCBTUUxUcmFuc2FjdGlvbjo6Y2xlYW51cEFuZFRlcm1pbmF0ZSgpCit7CisgICAgQVNTRVJUKG1f
bG9ja0FjcXVpcmVkKTsKKworICAgIC8vIFNwZWMgNC4zLjIuOTogRW5kIHRyYW5zYWN0aW9uIHN0
ZXBzLiBUaGVyZSBpcyBubyBuZXh0IHN0ZXAuCisgICAgTE9HKFN0b3JhZ2VBUEksICJUcmFuc2Fj
dGlvbiAlcCBpcyBjb21wbGV0ZVxuIiwgdGhpcyk7CisgICAgQVNTRVJUKCFtX2RhdGFiYXNlLT5z
cWxpdGVEYXRhYmFzZSgpLnRyYW5zYWN0aW9uSW5Qcm9ncmVzcygpKTsKKworICAgIC8vIFBoYXNl
IDUgY2xlYW51cC4gU2VlIGNvbW1lbnQgb24gdGhlIFNRTFRyYW5zYWN0aW9uIGxpZmUtY3ljbGUg
YWJvdmUuCisgICAgbV9iYWNrZW5kLmRvQ2xlYW51cCgpOworICAgIG1fZGF0YWJhc2UtPmluUHJv
Z3Jlc3NUcmFuc2FjdGlvbkNvbXBsZXRlZCgpOworfQorCit2b2lkIFNRTFRyYW5zYWN0aW9uOjpj
bGVhbnVwQWZ0ZXJUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2soKQoreworICAgIEFTU0VSVChtX2xv
Y2tBY3F1aXJlZCk7CisKKyAgICBMT0coU3RvcmFnZUFQSSwgIlRyYW5zYWN0aW9uICVwIGlzIGNv
bXBsZXRlIHdpdGggYW4gZXJyb3JcbiIsIHRoaXMpOworICAgIG1fZGF0YWJhc2UtPmRpc2FibGVB
dXRob3JpemVyKCk7CisgICAgaWYgKG1fc3FsaXRlVHJhbnNhY3Rpb24pIHsKKyAgICAgICAgLy8g
U3BlYyA0LjMuMi4xMDogUm9sbGJhY2sgdGhlIHRyYW5zYWN0aW9uLgorICAgICAgICBtX3NxbGl0
ZVRyYW5zYWN0aW9uLT5yb2xsYmFjaygpOworCisgICAgICAgIEFTU0VSVCghbV9kYXRhYmFzZS0+
c3FsaXRlRGF0YWJhc2UoKS50cmFuc2FjdGlvbkluUHJvZ3Jlc3MoKSk7CisgICAgICAgIG1fc3Fs
aXRlVHJhbnNhY3Rpb24gPSBudWxscHRyOworICAgIH0KKyAgICBtX2RhdGFiYXNlLT5lbmFibGVB
dXRob3JpemVyKCk7CisKKyAgICByZWxlYXNlT3JpZ2luTG9ja0lmTmVlZGVkKCk7CisKKyAgICBB
U1NFUlQoIW1fZGF0YWJhc2UtPnNxbGl0ZURhdGFiYXNlKCkudHJhbnNhY3Rpb25JblByb2dyZXNz
KCkpOworCisgICAgY2xlYW51cEFuZFRlcm1pbmF0ZSgpOworfQorCiB2b2lkIFNRTFRyYW5zYWN0
aW9uOjpkZWxpdmVyVHJhbnNhY3Rpb25DYWxsYmFjaygpCiB7CiAgICAgYm9vbCBzaG91bGREZWxp
dmVyRXJyb3JDYWxsYmFjayA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5oCmluZGV4IGZmYWVjMjczOTA2YjRhMTEzMmY2
NDg3ODFiNzE4M2NhOTNjZmZiZTIuLmYyMzc1MzgzYmVmYWY0MjkwYmU4OGQ4OTA3N2JmM2UzYzc4
ZjNkMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FM
VHJhbnNhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NR
TFRyYW5zYWN0aW9uLmgKQEAgLTg5LDYgKzg5LDExIEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb21w
dXRlTmV4dFN0YXRlQW5kQ2xlYW51cElmTmVlZGVkKCk7CiAKICAgICAvLyBTdGF0ZSBmdW5jdGlv
bnM6CisgICAgdm9pZCBhY3F1aXJlTG9jaygpOworICAgIHZvaWQgb3BlblRyYW5zYWN0aW9uQW5k
UHJlZmxpZ2h0KCk7CisgICAgdm9pZCBydW5TdGF0ZW1lbnRzKCk7CisgICAgdm9pZCBjbGVhbnVw
QW5kVGVybWluYXRlKCk7CisgICAgdm9pZCBjbGVhbnVwQWZ0ZXJUcmFuc2FjdGlvbkVycm9yQ2Fs
bGJhY2soKTsKICAgICB2b2lkIGRlbGl2ZXJUcmFuc2FjdGlvbkNhbGxiYWNrKCk7CiAgICAgdm9p
ZCBkZWxpdmVyVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrKCk7CiAgICAgdm9pZCBkZWxpdmVyU3Rh
dGVtZW50Q2FsbGJhY2soKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25CYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25CYWNrZW5kLmNwcAppbmRleCAwYTRmN2UyNmI4
NDE3OTU1ZmU5NjM2MGI1MjAzNWYwMTNjMTc3NTZiLi4yNDUzOTk3NTdmNWMxZGJlYTY0NDRhYjEx
Y2JiY2JhMTM5MjQ5ZTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRh
dGFiYXNlL1NRTFRyYW5zYWN0aW9uQmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbkJhY2tlbmQuY3BwCkBAIC00ODAsMTU3ICs0
ODAsMjcgQEAgdm9pZCBTUUxUcmFuc2FjdGlvbkJhY2tlbmQ6Om5vdGlmeURhdGFiYXNlVGhyZWFk
SXNTaHV0dGluZ0Rvd24oKQogCiB2b2lkIFNRTFRyYW5zYWN0aW9uQmFja2VuZDo6YWNxdWlyZUxv
Y2soKQogewotICAgIG1fZnJvbnRlbmQubV9kYXRhYmFzZS0+dHJhbnNhY3Rpb25Db29yZGluYXRv
cigpLT5hY3F1aXJlTG9jayhtX2Zyb250ZW5kKTsKKyAgICBtX2Zyb250ZW5kLmFjcXVpcmVMb2Nr
KCk7CiB9CiAKIHZvaWQgU1FMVHJhbnNhY3Rpb25CYWNrZW5kOjpvcGVuVHJhbnNhY3Rpb25BbmRQ
cmVmbGlnaHQoKQogewotICAgIEFTU0VSVCghbV9mcm9udGVuZC5tX2RhdGFiYXNlLT5zcWxpdGVE
YXRhYmFzZSgpLnRyYW5zYWN0aW9uSW5Qcm9ncmVzcygpKTsKLSAgICBBU1NFUlQobV9mcm9udGVu
ZC5tX2xvY2tBY3F1aXJlZCk7Ci0KLSAgICBMT0coU3RvcmFnZUFQSSwgIk9wZW5pbmcgYW5kIHBy
ZWZsaWdodGluZyB0cmFuc2FjdGlvbiAlcCIsIHRoaXMpOwotCi0gICAgLy8gSWYgdGhlIGRhdGFi
YXNlIHdhcyBkZWxldGVkLCBqdW1wIHRvIHRoZSBlcnJvciBjYWxsYmFjawotICAgIGlmIChtX2Zy
b250ZW5kLm1fZGF0YWJhc2UtPmRlbGV0ZWQoKSkgewotICAgICAgICBtX2Zyb250ZW5kLm1fdHJh
bnNhY3Rpb25FcnJvciA9IFNRTEVycm9yOjpjcmVhdGUoU1FMRXJyb3I6OlVOS05PV05fRVJSLCAi
dW5hYmxlIHRvIG9wZW4gYSB0cmFuc2FjdGlvbiwgYmVjYXVzZSB0aGUgdXNlciBkZWxldGVkIHRo
ZSBkYXRhYmFzZSIpOwotCi0gICAgICAgIG1fZnJvbnRlbmQuaGFuZGxlVHJhbnNhY3Rpb25FcnJv
cigpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gU2V0IHRoZSBtYXhpbXVtIHVz
YWdlIGZvciB0aGlzIHRyYW5zYWN0aW9uIGlmIHRoaXMgdHJhbnNhY3Rpb25zIGlzIG5vdCByZWFk
LW9ubHkKLSAgICBpZiAoIW1fZnJvbnRlbmQubV9yZWFkT25seSkgewotICAgICAgICBtX2Zyb250
ZW5kLmFjcXVpcmVPcmlnaW5Mb2NrKCk7Ci0gICAgICAgIG1fZnJvbnRlbmQubV9kYXRhYmFzZS0+
c3FsaXRlRGF0YWJhc2UoKS5zZXRNYXhpbXVtU2l6ZShtX2Zyb250ZW5kLm1fZGF0YWJhc2UtPm1h
eGltdW1TaXplKCkpOwotICAgIH0KLQotICAgIEFTU0VSVCghbV9mcm9udGVuZC5tX3NxbGl0ZVRy
YW5zYWN0aW9uKTsKLSAgICBtX2Zyb250ZW5kLm1fc3FsaXRlVHJhbnNhY3Rpb24gPSBzdGQ6Om1h
a2VfdW5pcXVlPFNRTGl0ZVRyYW5zYWN0aW9uPihtX2Zyb250ZW5kLm1fZGF0YWJhc2UtPnNxbGl0
ZURhdGFiYXNlKCksIG1fZnJvbnRlbmQubV9yZWFkT25seSk7Ci0KLSAgICBtX2Zyb250ZW5kLm1f
ZGF0YWJhc2UtPnJlc2V0RGVsZXRlcygpOwotICAgIG1fZnJvbnRlbmQubV9kYXRhYmFzZS0+ZGlz
YWJsZUF1dGhvcml6ZXIoKTsKLSAgICBtX2Zyb250ZW5kLm1fc3FsaXRlVHJhbnNhY3Rpb24tPmJl
Z2luKCk7Ci0gICAgbV9mcm9udGVuZC5tX2RhdGFiYXNlLT5lbmFibGVBdXRob3JpemVyKCk7Ci0K
LSAgICAvLyBTcGVjIDQuMy4yLjErMjogT3BlbiBhIHRyYW5zYWN0aW9uIHRvIHRoZSBkYXRhYmFz
ZSwganVtcGluZyB0byB0aGUgZXJyb3IgY2FsbGJhY2sgaWYgdGhhdCBmYWlscwotICAgIGlmICgh
bV9mcm9udGVuZC5tX3NxbGl0ZVRyYW5zYWN0aW9uLT5pblByb2dyZXNzKCkpIHsKLSAgICAgICAg
QVNTRVJUKCFtX2Zyb250ZW5kLm1fZGF0YWJhc2UtPnNxbGl0ZURhdGFiYXNlKCkudHJhbnNhY3Rp
b25JblByb2dyZXNzKCkpOwotICAgICAgICBtX2Zyb250ZW5kLm1fdHJhbnNhY3Rpb25FcnJvciA9
IFNRTEVycm9yOjpjcmVhdGUoU1FMRXJyb3I6OkRBVEFCQVNFX0VSUiwgInVuYWJsZSB0byBiZWdp
biB0cmFuc2FjdGlvbiIsIG1fZnJvbnRlbmQubV9kYXRhYmFzZS0+c3FsaXRlRGF0YWJhc2UoKS5s
YXN0RXJyb3IoKSwgbV9mcm9udGVuZC5tX2RhdGFiYXNlLT5zcWxpdGVEYXRhYmFzZSgpLmxhc3RF
cnJvck1zZygpKTsKLSAgICAgICAgbV9mcm9udGVuZC5tX3NxbGl0ZVRyYW5zYWN0aW9uID0gbnVs
bHB0cjsKLQotICAgICAgICBtX2Zyb250ZW5kLmhhbmRsZVRyYW5zYWN0aW9uRXJyb3IoKTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIC8vIE5vdGU6IFdlIGludGVudGlvbmFsbHkgcmV0
cmlldmUgdGhlIGFjdHVhbCB2ZXJzaW9uIGV2ZW4gd2l0aCBhbiBlbXB0eSBleHBlY3RlZCB2ZXJz
aW9uLgotICAgIC8vIEluIG11bHRpLXByb2Nlc3MgYnJvd3NlcnMsIHdlIHRha2UgdGhpcyBvcHBv
cnRpbnV0aXkgdG8gdXBkYXRlIHRoZSBjYWNoZWQgdmFsdWUgZm9yCi0gICAgLy8gdGhlIGFjdHVh
bCB2ZXJzaW9uLiBJbiBzaW5nbGUtcHJvY2VzcyBicm93c2VycywgdGhpcyBpcyBqdXN0IGEgbWFw
IGxvb2t1cC4KLSAgICBTdHJpbmcgYWN0dWFsVmVyc2lvbjsKLSAgICBpZiAoIW1fZnJvbnRlbmQu
bV9kYXRhYmFzZS0+Z2V0QWN0dWFsVmVyc2lvbkZvclRyYW5zYWN0aW9uKGFjdHVhbFZlcnNpb24p
KSB7Ci0gICAgICAgIG1fZnJvbnRlbmQubV90cmFuc2FjdGlvbkVycm9yID0gU1FMRXJyb3I6OmNy
ZWF0ZShTUUxFcnJvcjo6REFUQUJBU0VfRVJSLCAidW5hYmxlIHRvIHJlYWQgdmVyc2lvbiIsIG1f
ZnJvbnRlbmQubV9kYXRhYmFzZS0+c3FsaXRlRGF0YWJhc2UoKS5sYXN0RXJyb3IoKSwgbV9mcm9u
dGVuZC5tX2RhdGFiYXNlLT5zcWxpdGVEYXRhYmFzZSgpLmxhc3RFcnJvck1zZygpKTsKLSAgICAg
ICAgbV9mcm9udGVuZC5tX2RhdGFiYXNlLT5kaXNhYmxlQXV0aG9yaXplcigpOwotICAgICAgICBt
X2Zyb250ZW5kLm1fc3FsaXRlVHJhbnNhY3Rpb24gPSBudWxscHRyOwotICAgICAgICBtX2Zyb250
ZW5kLm1fZGF0YWJhc2UtPmVuYWJsZUF1dGhvcml6ZXIoKTsKLQotICAgICAgICBtX2Zyb250ZW5k
LmhhbmRsZVRyYW5zYWN0aW9uRXJyb3IoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IG1fZnJvbnRlbmQubV9oYXNWZXJzaW9uTWlzbWF0Y2ggPSAhbV9mcm9udGVuZC5tX2RhdGFiYXNl
LT5leHBlY3RlZFZlcnNpb24oKS5pc0VtcHR5KCkgJiYgKG1fZnJvbnRlbmQubV9kYXRhYmFzZS0+
ZXhwZWN0ZWRWZXJzaW9uKCkgIT0gYWN0dWFsVmVyc2lvbik7Ci0KLSAgICAvLyBTcGVjIDQuMy4y
LjM6IFBlcmZvcm0gcHJlZmxpZ2h0IHN0ZXBzLCBqdW1waW5nIHRvIHRoZSBlcnJvciBjYWxsYmFj
ayBpZiB0aGV5IGZhaWwKLSAgICBpZiAobV9mcm9udGVuZC5tX3dyYXBwZXIgJiYgIW1fZnJvbnRl
bmQubV93cmFwcGVyLT5wZXJmb3JtUHJlZmxpZ2h0KG1fZnJvbnRlbmQpKSB7Ci0gICAgICAgIG1f
ZnJvbnRlbmQubV9kYXRhYmFzZS0+ZGlzYWJsZUF1dGhvcml6ZXIoKTsKLSAgICAgICAgbV9mcm9u
dGVuZC5tX3NxbGl0ZVRyYW5zYWN0aW9uID0gbnVsbHB0cjsKLSAgICAgICAgbV9mcm9udGVuZC5t
X2RhdGFiYXNlLT5lbmFibGVBdXRob3JpemVyKCk7Ci0gICAgICAgIG1fZnJvbnRlbmQubV90cmFu
c2FjdGlvbkVycm9yID0gbV9mcm9udGVuZC5tX3dyYXBwZXItPnNxbEVycm9yKCk7Ci0gICAgICAg
IGlmICghbV9mcm9udGVuZC5tX3RyYW5zYWN0aW9uRXJyb3IpCi0gICAgICAgICAgICBtX2Zyb250
ZW5kLm1fdHJhbnNhY3Rpb25FcnJvciA9IFNRTEVycm9yOjpjcmVhdGUoU1FMRXJyb3I6OlVOS05P
V05fRVJSLCAidW5rbm93biBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdHJhbnNhY3Rpb24gcHJlZmxp
Z2h0Iik7Ci0KLSAgICAgICAgbV9mcm9udGVuZC5oYW5kbGVUcmFuc2FjdGlvbkVycm9yKCk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBTcGVjIDQuMy4yLjQ6IEludm9rZSB0aGUg
dHJhbnNhY3Rpb24gY2FsbGJhY2sgd2l0aCB0aGUgbmV3IFNRTFRyYW5zYWN0aW9uIG9iamVjdAot
ICAgIGlmIChtX2Zyb250ZW5kLm1fY2FsbGJhY2tXcmFwcGVyLmhhc0NhbGxiYWNrKCkpIHsKLSAg
ICAgICAgbV9mcm9udGVuZC5yZXF1ZXN0VHJhbnNpdFRvU3RhdGUoU1FMVHJhbnNhY3Rpb25TdGF0
ZTo6RGVsaXZlclRyYW5zYWN0aW9uQ2FsbGJhY2spOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgLy8gSWYgd2UgaGF2ZSBubyBjYWxsYmFjayB0byBtYWtlLCBza2lwIHBhc3MgdG8gdGhl
IHN0YXRlIGFmdGVyOgotICAgIHJ1blN0YXRlbWVudHMoKTsKKyAgICBtX2Zyb250ZW5kLm9wZW5U
cmFuc2FjdGlvbkFuZFByZWZsaWdodCgpOwogfQogCiB2b2lkIFNRTFRyYW5zYWN0aW9uQmFja2Vu
ZDo6cnVuU3RhdGVtZW50cygpCiB7Ci0gICAgQVNTRVJUKG1fZnJvbnRlbmQubV9sb2NrQWNxdWly
ZWQpOwotCi0gICAgLy8gSWYgdGhlcmUgaXMgYSBzZXJpZXMgb2Ygc3RhdGVtZW50cyBxdWV1ZWQg
dXAgdGhhdCBhcmUgYWxsIHN1Y2Nlc3NmdWwgYW5kIGhhdmUgbm8gYXNzb2NpYXRlZAotICAgIC8v
IFNRTFN0YXRlbWVudENhbGxiYWNrIG9iamVjdHMsIHRoZW4gd2UgY2FuIGJ1cm4gdGhyb3VnaCB0
aGUgcXVldWUKLSAgICBkbyB7Ci0gICAgICAgIGlmIChtX2Zyb250ZW5kLm1fc2hvdWxkUmV0cnlD
dXJyZW50U3RhdGVtZW50ICYmICFtX2Zyb250ZW5kLm1fc3FsaXRlVHJhbnNhY3Rpb24tPndhc1Jv
bGxlZEJhY2tCeVNxbGl0ZSgpKSB7Ci0gICAgICAgICAgICBtX2Zyb250ZW5kLm1fc2hvdWxkUmV0
cnlDdXJyZW50U3RhdGVtZW50ID0gZmFsc2U7Ci0gICAgICAgICAgICAvLyBGSVhNRSAtIEFub3Ro
ZXIgcGxhY2UgdGhhdCBuZWVkcyBmaXhpbmcgdXAgYWZ0ZXIgPHJkYXI6Ly9wcm9ibGVtLzU2Mjg0
Njg+IGlzIGFkZHJlc3NlZC4KLSAgICAgICAgICAgIC8vIFNlZSA6Om9wZW5UcmFuc2FjdGlvbkFu
ZFByZWZsaWdodCgpIGZvciBkaXNjdXNzaW9uCi0KLSAgICAgICAgICAgIC8vIFJlc2V0IHRoZSBt
YXhpbXVtIHNpemUgaGVyZSwgYXMgaXQgd2FzIGluY3JlYXNlZCB0byBhbGxvdyB1cyB0byByZXRy
eSB0aGlzIHN0YXRlbWVudC4KLSAgICAgICAgICAgIC8vIG1fc2hvdWxkUmV0cnlDdXJyZW50U3Rh
dGVtZW50IGlzIHNldCB0byB0cnVlIG9ubHkgd2hlbiBhIHN0YXRlbWVudCBleGNlZWRzCi0gICAg
ICAgICAgICAvLyB0aGUgcXVvdGEsIHdoaWNoIGNhbiBoYXBwZW4gb25seSBpbiBhIHJlYWQtd3Jp
dGUgdHJhbnNhY3Rpb24uIFRoZXJlZm9yZSwgdGhlcmUKLSAgICAgICAgICAgIC8vIGlzIG5vIG5l
ZWQgdG8gY2hlY2sgaGVyZSBpZiB0aGUgdHJhbnNhY3Rpb24gaXMgcmVhZC13cml0ZS4KLSAgICAg
ICAgICAgIG1fZnJvbnRlbmQubV9kYXRhYmFzZS0+c3FsaXRlRGF0YWJhc2UoKS5zZXRNYXhpbXVt
U2l6ZShtX2Zyb250ZW5kLm1fZGF0YWJhc2UtPm1heGltdW1TaXplKCkpOwotICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgLy8gSWYgdGhlIGN1cnJlbnQgc3RhdGVtZW50IGhhcyBhbHJlYWR5
IGJlZW4gcnVuLCBmYWlsZWQgZHVlIHRvIHF1b3RhIGNvbnN0cmFpbnRzLCBhbmQgd2UncmUgbm90
IHJldHJ5aW5nIGl0LAotICAgICAgICAgICAgLy8gdGhhdCBtZWFucyBpdCBlbmRlZCBpbiBhbiBl
cnJvci4gSGFuZGxlIGl0IG5vdwotICAgICAgICAgICAgaWYgKG1fZnJvbnRlbmQubV9jdXJyZW50
U3RhdGVtZW50ICYmIG1fZnJvbnRlbmQubV9jdXJyZW50U3RhdGVtZW50LT5sYXN0RXhlY3V0aW9u
RmFpbGVkRHVlVG9RdW90YSgpKSB7Ci0gICAgICAgICAgICAgICAgbV9mcm9udGVuZC5oYW5kbGVD
dXJyZW50U3RhdGVtZW50RXJyb3IoKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCBhZHZhbmNlIHRvIHRoZSBuZXh0IHN0
YXRlbWVudAotICAgICAgICAgICAgbV9mcm9udGVuZC5nZXROZXh0U3RhdGVtZW50KCk7Ci0gICAg
ICAgIH0KLSAgICB9IHdoaWxlIChtX2Zyb250ZW5kLnJ1bkN1cnJlbnRTdGF0ZW1lbnQoKSk7Ci0K
LSAgICAvLyBJZiBydW5DdXJyZW50U3RhdGVtZW50KCkgcmV0dXJuZWQgZmFsc2UsIHRoYXQgbWVh
bnMgZWl0aGVyIHRoZXJlIHdhcyBubyBjdXJyZW50IHN0YXRlbWVudCB0byBydW4sCi0gICAgLy8g
b3IgdGhlIGN1cnJlbnQgc3RhdGVtZW50IHJlcXVpcmVzIGEgY2FsbGJhY2sgdG8gY29tcGxldGUu
IEluIHRoZSBsYXRlciBjYXNlLCBpdCBhbHNvIHNjaGVkdWxlZAotICAgIC8vIHRoZSBjYWxsYmFj
ayBvciBwZXJmb3JtZWQgYW55IG90aGVyIGFkZGl0aW9uYWwgd29yayBzbyB3ZSBjYW4gcmV0dXJu
LgotICAgIGlmICghbV9mcm9udGVuZC5tX2N1cnJlbnRTdGF0ZW1lbnQpCi0gICAgICAgIG1fZnJv
bnRlbmQucG9zdGZsaWdodEFuZENvbW1pdCgpOworICAgIG1fZnJvbnRlbmQucnVuU3RhdGVtZW50
cygpOwogfQogCiB2b2lkIFNRTFRyYW5zYWN0aW9uQmFja2VuZDo6Y2xlYW51cEFuZFRlcm1pbmF0
ZSgpCiB7Ci0gICAgQVNTRVJUKG1fZnJvbnRlbmQubV9sb2NrQWNxdWlyZWQpOwotCi0gICAgLy8g
U3BlYyA0LjMuMi45OiBFbmQgdHJhbnNhY3Rpb24gc3RlcHMuIFRoZXJlIGlzIG5vIG5leHQgc3Rl
cC4KLSAgICBMT0coU3RvcmFnZUFQSSwgIlRyYW5zYWN0aW9uICVwIGlzIGNvbXBsZXRlXG4iLCB0
aGlzKTsKLSAgICBBU1NFUlQoIW1fZnJvbnRlbmQubV9kYXRhYmFzZS0+c3FsaXRlRGF0YWJhc2Uo
KS50cmFuc2FjdGlvbkluUHJvZ3Jlc3MoKSk7Ci0KLSAgICAvLyBQaGFzZSA1IGNsZWFudXAuIFNl
ZSBjb21tZW50IG9uIHRoZSBTUUxUcmFuc2FjdGlvbiBsaWZlLWN5Y2xlIGFib3ZlLgotICAgIGRv
Q2xlYW51cCgpOwotICAgIG1fZnJvbnRlbmQubV9kYXRhYmFzZS0+aW5Qcm9ncmVzc1RyYW5zYWN0
aW9uQ29tcGxldGVkKCk7CisgICAgbV9mcm9udGVuZC5jbGVhbnVwQW5kVGVybWluYXRlKCk7CiB9
CiAKIHZvaWQgU1FMVHJhbnNhY3Rpb25CYWNrZW5kOjpjbGVhbnVwQWZ0ZXJUcmFuc2FjdGlvbkVy
cm9yQ2FsbGJhY2soKQogewotICAgIEFTU0VSVChtX2Zyb250ZW5kLm1fbG9ja0FjcXVpcmVkKTsK
LQotICAgIExPRyhTdG9yYWdlQVBJLCAiVHJhbnNhY3Rpb24gJXAgaXMgY29tcGxldGUgd2l0aCBh
biBlcnJvclxuIiwgdGhpcyk7Ci0gICAgbV9mcm9udGVuZC5tX2RhdGFiYXNlLT5kaXNhYmxlQXV0
aG9yaXplcigpOwotICAgIGlmIChtX2Zyb250ZW5kLm1fc3FsaXRlVHJhbnNhY3Rpb24pIHsKLSAg
ICAgICAgLy8gU3BlYyA0LjMuMi4xMDogUm9sbGJhY2sgdGhlIHRyYW5zYWN0aW9uLgotICAgICAg
ICBtX2Zyb250ZW5kLm1fc3FsaXRlVHJhbnNhY3Rpb24tPnJvbGxiYWNrKCk7Ci0KLSAgICAgICAg
QVNTRVJUKCFtX2Zyb250ZW5kLm1fZGF0YWJhc2UtPnNxbGl0ZURhdGFiYXNlKCkudHJhbnNhY3Rp
b25JblByb2dyZXNzKCkpOwotICAgICAgICBtX2Zyb250ZW5kLm1fc3FsaXRlVHJhbnNhY3Rpb24g
PSBudWxscHRyOwotICAgIH0KLSAgICBtX2Zyb250ZW5kLm1fZGF0YWJhc2UtPmVuYWJsZUF1dGhv
cml6ZXIoKTsKLQotICAgIG1fZnJvbnRlbmQucmVsZWFzZU9yaWdpbkxvY2tJZk5lZWRlZCgpOwot
Ci0gICAgQVNTRVJUKCFtX2Zyb250ZW5kLm1fZGF0YWJhc2UtPnNxbGl0ZURhdGFiYXNlKCkudHJh
bnNhY3Rpb25JblByb2dyZXNzKCkpOwotCi0gICAgY2xlYW51cEFuZFRlcm1pbmF0ZSgpOworICAg
IG1fZnJvbnRlbmQuY2xlYW51cEFmdGVyVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrKCk7CiB9CiAK
IC8vIHJlcXVlc3RUcmFuc2l0VG9TdGF0ZSgpIGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgZnJvbnRl
bmQuIEhlbmNlLCBpdCBzaG91bGQK
</data>
<flag name="review"
          id="309368"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>