<?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>231483</bug_id>
          
          <creation_ts>2021-10-09 17:06:07 -0700</creation_ts>
          <short_desc>Export some display list item methods for use in WebKit2</short_desc>
          <delta_ts>2021-10-11 09:19:25 -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>WebCore Misc.</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>230860</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>andersca</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1802423</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-09 17:06:07 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802501</commentid>
    <comment_count>1</comment_count>
      <attachid>440744</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-10 17:08:52 -0700</bug_when>
    <thetext>Created attachment 440744
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802637</commentid>
    <comment_count>2</comment_count>
      <attachid>440744</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-11 09:03:10 -0700</bug_when>
    <thetext>Comment on attachment 440744
For EWS

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802646</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-11 09:18:51 -0700</bug_when>
    <thetext>Committed r283900 (242776@main): &lt;https://commits.webkit.org/242776@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 440744.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802647</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-11 09:19:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/84101828&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440744</attachid>
            <date>2021-10-10 17:08:52 -0700</date>
            <delta_ts>2021-10-11 09:18:52 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-231483-20211010170851.patch</filename>
            <type>text/plain</type>
            <size>21819</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjkyNWUxNTU2N2MyZDQ3
ZTlhNGY1ZWFmMDZmN2ZkZDg0NTRjYmIxZS4uZDRlODAzZjlmMWRjNzhhMDlmZTkwMjgzZjc3Njgw
ZTU0M2M5ZWE3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTEwLTEwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9ydCBzb21l
IGRpc3BsYXkgbGlzdCBpdGVtIG1ldGhvZHMgZm9yIHVzZSBpbiBXZWJLaXQyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE0ODMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgV0VCQ09SRV9FWFBPUlQg
dG8gdmFyaW91cyBgYXBwbHlgIG1ldGhvZHMgb24gZGlzcGxheSBsaXN0IGl0ZW1zLCB3aGljaCB3
aWxsIGFsbG93IFJlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXIKKyAgICAgICAgKGluIHRoZSBHUFUg
cHJvY2VzcywgYW5kIGltcGxlbWVudGVkIGluIFdlYktpdDIpIHRvIHBsYXkgYmFjayBpbmNvbWlu
ZyBkaXNwbGF5IGxpc3QgaXRlbXMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNw
bGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5oOgorCiAyMDIxLTEwLTEwICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIEludHJvZHVjZSBSZW1vdGVEaXNw
bGF5TGlzdFJlY29yZGVyUHJveHkgYW5kIFJlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNw
bGF5TGlzdEl0ZW1zLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5
bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5oCmluZGV4IDExZmVjY2MwMGMxMzBmM2ExNGYzM2Q5NTg0
NmMxODIyNTkyZDE1NmYuLjEzYWU4Nzk4YjI3NGZjODA0MzFiYmViMzUxNTFlNTZiMzgyOGZiYTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0
cy9EaXNwbGF5TGlzdEl0ZW1zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuaApAQCAtNzIsNyArNzIsNyBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGlzSW5saW5lSXRlbSA9IHRydWU7CiAgICAg
c3RhdGljIGNvbnN0ZXhwciBib29sIGlzRHJhd2luZ0l0ZW0gPSBmYWxzZTsKIAotICAgIHZvaWQg
YXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBh
cHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKIH07CiAKIGNsYXNzIFJlc3RvcmUgewpAQCAt
ODEsNyArODEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGlzSW5saW5l
SXRlbSA9IHRydWU7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGlzRHJhd2luZ0l0ZW0gPSBm
YWxzZTsKIAotICAgIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CisgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKIH07CiAKIGNs
YXNzIFRyYW5zbGF0ZSB7CkBAIC05OSw3ICs5OSw3IEBAIHB1YmxpYzoKICAgICBmbG9hdCB4KCkg
Y29uc3QgeyByZXR1cm4gbV94OyB9CiAgICAgZmxvYXQgeSgpIGNvbnN0IHsgcmV0dXJuIG1feTsg
fQogCi0gICAgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKKyAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0OwogCiBwcml2YXRlOgog
ICAgIGZsb2F0IG1feCB7IDAgfTsKQEAgLTExOSw3ICsxMTksNyBAQCBwdWJsaWM6CiAKICAgICBm
bG9hdCBhbmdsZSgpIGNvbnN0IHsgcmV0dXJuIG1fYW5nbGU7IH0KIAotICAgIHZvaWQgYXBwbHko
R3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseShH
cmFwaGljc0NvbnRleHQmKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBmbG9hdCBtX2FuZ2xlIHsg
MCB9OyAvLyBJbiByYWRpYW5zLgpAQCAtMTM4LDcgKzEzOCw3IEBAIHB1YmxpYzoKIAogICAgIGNv
bnN0IEZsb2F0U2l6ZSYgYW1vdW50KCkgY29uc3QgeyByZXR1cm4gbV9zaXplOyB9CiAKLSAgICB2
b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgRmxvYXRT
aXplIG1fc2l6ZTsKQEAgLTE1Nyw3ICsxNTcsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBBZmZp
bmVUcmFuc2Zvcm0mIHRyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNmb3JtOyB9CiAK
LSAgICB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAg
QWZmaW5lVHJhbnNmb3JtIG1fdHJhbnNmb3JtOwpAQCAtMTc2LDcgKzE3Niw3IEBAIHB1YmxpYzoK
IAogICAgIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4g
bV90cmFuc2Zvcm07IH0KIAotICAgIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7
CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsK
IAogcHJpdmF0ZToKICAgICBBZmZpbmVUcmFuc2Zvcm0gbV90cmFuc2Zvcm07CkBAIC0xOTUsNyAr
MTk1LDcgQEAgcHVibGljOgogICAgIH0KIAogICAgIENvbG9yIGNvbG9yKCkgY29uc3QgeyByZXR1
cm4geyBtX2NvbG9yRGF0YSB9OyB9Ci0gICAgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBj
b25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNv
bnN0OwogCiBwcml2YXRlOgogICAgIFNSR0JBPHVpbnQ4X3Q+IG1fY29sb3JEYXRhOwpAQCAtMjE1
LDcgKzIxNSw3IEBAIHB1YmxpYzoKIAogICAgIENvbG9yIGNvbG9yKCkgY29uc3QgeyByZXR1cm4g
eyBtX2NvbG9yRGF0YSB9OyB9CiAKLSAgICB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNv
bnN0OworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29u
c3Q7CiAKIHByaXZhdGU6CiAgICAgU1JHQkE8dWludDhfdD4gbV9jb2xvckRhdGE7CkBAIC0yMzQs
NyArMjM0LDcgQEAgcHVibGljOgogCiAgICAgZmxvYXQgdGhpY2tuZXNzKCkgY29uc3QgeyByZXR1
cm4gbV90aGlja25lc3M7IH0KIAotICAgIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29u
c3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25z
dDsKIAogcHJpdmF0ZToKICAgICBmbG9hdCBtX3RoaWNrbmVzcyB7IDAgfTsKQEAgLTI1Nyw3ICsy
NTcsNyBAQCBwdWJsaWM6CiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUo
RW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6
Om9wdGlvbmFsPFNldFN0YXRlPiBkZWNvZGUoRGVjb2RlciYpOwogCi0gICAgdm9pZCBhcHBseShH
cmFwaGljc0NvbnRleHQmLCBOYXRpdmVJbWFnZSogc3Ryb2tlUGF0dGVybkltYWdlLCBOYXRpdmVJ
bWFnZSogZmlsbFBhdHRlcm5JbWFnZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseShH
cmFwaGljc0NvbnRleHQmLCBOYXRpdmVJbWFnZSogc3Ryb2tlUGF0dGVybkltYWdlLCBOYXRpdmVJ
bWFnZSogZmlsbFBhdHRlcm5JbWFnZSk7CiAKIHByaXZhdGU6CiAgICAgc3RydWN0IFBhdHRlcm5E
YXRhIHsKQEAgLTU4MSw3ICs1ODEsNyBAQCBwdWJsaWM6CiAKICAgICBMaW5lQ2FwIGxpbmVDYXAo
KSBjb25zdCB7IHJldHVybiBtX2xpbmVDYXA7IH0KIAotICAgIHZvaWQgYXBwbHkoR3JhcGhpY3ND
b250ZXh0JikgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseShHcmFwaGljc0Nv
bnRleHQmKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBMaW5lQ2FwIG1fbGluZUNhcDsKQEAgLTYw
Miw3ICs2MDIsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgRGFzaEFycmF5JiBkYXNoQXJyYXkoKSBj
b25zdCB7IHJldHVybiBtX2Rhc2hBcnJheTsgfQogICAgIGZsb2F0IGRhc2hPZmZzZXQoKSBjb25z
dCB7IHJldHVybiBtX2Rhc2hPZmZzZXQ7IH0KIAotICAgIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250
ZXh0JikgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRl
eHQmKSBjb25zdDsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVu
Y29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpv
cHRpb25hbDxTZXRMaW5lRGFzaD4gZGVjb2RlKERlY29kZXImKTsKQEAgLTY0OCw3ICs2NDgsNyBA
QCBwdWJsaWM6CiAKICAgICBMaW5lSm9pbiBsaW5lSm9pbigpIGNvbnN0IHsgcmV0dXJuIG1fbGlu
ZUpvaW47IH0KIAotICAgIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CisgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKIAogcHJp
dmF0ZToKICAgICBMaW5lSm9pbiBtX2xpbmVKb2luOwpAQCAtNjY3LDcgKzY2Nyw3IEBAIHB1Ymxp
YzoKIAogICAgIGZsb2F0IG1pdGVyTGltaXQoKSBjb25zdCB7IHJldHVybiBtX21pdGVyTGltaXQ7
IH0KIAotICAgIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKIAogcHJpdmF0ZToK
ICAgICBmbG9hdCBtX21pdGVyTGltaXQ7CkBAIC02NzksNyArNjc5LDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc0lubGluZUl0ZW0gPSB0cnVlOwogICAgIHN0YXRpYyBj
b25zdGV4cHIgYm9vbCBpc0RyYXdpbmdJdGVtID0gZmFsc2U7CiAKLSAgICB2b2lkIGFwcGx5KEdy
YXBoaWNzQ29udGV4dCYpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbHkoR3Jh
cGhpY3NDb250ZXh0JikgY29uc3Q7CiB9OwogCiAvLyBGSVhNRTogdHJlYXQgYXMgZHJhd2luZyBp
dGVtPwpAQCAtNjk2LDcgKzY5Niw3IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IEZsb2F0UmVjdCYg
cmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVjdDsgfQogCi0gICAgdm9pZCBhcHBseShHcmFwaGlj
c0NvbnRleHQmKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFwcGx5KEdyYXBoaWNz
Q29udGV4dCYpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIEZsb2F0UmVjdCBtX3JlY3Q7CkBAIC03
MTUsNyArNzE1LDcgQEAgcHVibGljOgogCiAgICAgY29uc3QgRmxvYXRSZWN0JiByZWN0KCkgY29u
c3QgeyByZXR1cm4gbV9yZWN0OyB9CiAKLSAgICB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYp
IGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0Jikg
Y29uc3Q7CiAKIHByaXZhdGU6CiAgICAgRmxvYXRSZWN0IG1fcmVjdDsKQEAgLTczNyw3ICs3Mzcs
NyBAQCBwdWJsaWM6CiAgICAgRmxvYXRSZWN0IGRlc3RpbmF0aW9uUmVjdCgpIGNvbnN0IHsgcmV0
dXJuIG1fZGVzdGluYXRpb25SZWN0OyB9CiAgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyByZXR1
cm4gbV9pbWFnZUJ1ZmZlcklkZW50aWZpZXIuaXNWYWxpZCgpOyB9CiAKLSAgICB2b2lkIGFwcGx5
KEdyYXBoaWNzQ29udGV4dCYsIFdlYkNvcmU6OkltYWdlQnVmZmVyJikgY29uc3Q7CisgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmLCBXZWJDb3JlOjpJbWFnZUJ1
ZmZlciYpIGNvbnN0OwogCiAgICAgTk9fUkVUVVJOX0RVRV9UT19BU1NFUlQgdm9pZCBhcHBseShH
cmFwaGljc0NvbnRleHQmKSBjb25zdDsKIApAQCAtNzY3LDcgKzc2Nyw3IEBAIHB1YmxpYzoKICAg
ICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAg
ICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8Q2xpcE91dFRv
UGF0aD4gZGVjb2RlKERlY29kZXImKTsKIAotICAgIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0
JikgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQm
KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBQYXRoIG1fcGF0aDsKQEAgLTgxMSw3ICs4MTEsNyBA
QCBwdWJsaWM6CiAgICAgY29uc3QgUGF0aCYgcGF0aCgpIGNvbnN0IHsgcmV0dXJuIG1fcGF0aDsg
fQogICAgIFdpbmRSdWxlIHdpbmRSdWxlKCkgY29uc3QgeyByZXR1cm4gbV93aW5kUnVsZTsgfQog
Ci0gICAgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0OwogCiAgICAgdGVtcGxhdGU8
Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRl
PGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPENsaXBQYXRoPiBkZWNvZGUoRGVj
b2RlciYpOwpAQCAtOTI2LDEwICs5MjYsMTAgQEAgcHVibGljOgogICAgIHRlbXBsYXRlPGNsYXNz
IEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFz
cyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxEcmF3R2x5cGhzPiBkZWNvZGUoRGVjb2Rl
ciYpOwogCi0gICAgRHJhd0dseXBocyhjb25zdCBGb250JiwgY29uc3QgR2x5cGhCdWZmZXJHbHlw
aCosIGNvbnN0IEdseXBoQnVmZmVyQWR2YW5jZSosIHVuc2lnbmVkIGNvdW50LCBjb25zdCBGbG9h
dFBvaW50JiBsb2NhbEFuY2hvciwgRm9udFNtb290aGluZ01vZGUpOworICAgIFdFQkNPUkVfRVhQ
T1JUIERyYXdHbHlwaHMoY29uc3QgRm9udCYsIGNvbnN0IEdseXBoQnVmZmVyR2x5cGgqLCBjb25z
dCBHbHlwaEJ1ZmZlckFkdmFuY2UqLCB1bnNpZ25lZCBjb3VudCwgY29uc3QgRmxvYXRQb2ludCYg
bG9jYWxBbmNob3IsIEZvbnRTbW9vdGhpbmdNb2RlKTsKICAgICBXRUJDT1JFX0VYUE9SVCBEcmF3
R2x5cGhzKFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciwgVmVjdG9yPEdseXBoQnVmZmVyR2x5
cGgsIDEyOD4mJiwgVmVjdG9yPEdseXBoQnVmZmVyQWR2YW5jZSwgMTI4PiYmLCBjb25zdCBGbG9h
dFJlY3QmLCBjb25zdCBGbG9hdFBvaW50JiBsb2NhbEFuY2hvciwgRm9udFNtb290aGluZ01vZGUp
OwogCi0gICAgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGb250JikgY29uc3Q7
CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmLCBjb25zdCBG
b250JikgY29uc3Q7CiAKICAgICBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gZ2xvYmFsQm91bmRz
KCkgY29uc3QgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9CiAgICAgc3RkOjpvcHRpb25hbDxGbG9h
dFJlY3Q+IGxvY2FsQm91bmRzKGNvbnN0IEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0IHsgcmV0dXJu
IG1fYm91bmRzOyB9CkBAIC0xMDE2LDcgKzEwMTYsNyBAQCBwdWJsaWM6CiAgICAgLy8gRklYTUU6
IFdlIG1pZ2h0IHdhbnQgdG8gdmFsaWRhdGUgSW1hZ2VQYWludGluZ09wdGlvbnMuCiAgICAgYm9v
bCBpc1ZhbGlkKCkgY29uc3QgeyByZXR1cm4gbV9pbWFnZUJ1ZmZlcklkZW50aWZpZXIuaXNWYWxp
ZCgpOyB9CiAKLSAgICB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYsIFdlYkNvcmU6OkltYWdl
QnVmZmVyJikgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseShHcmFwaGljc0Nv
bnRleHQmLCBXZWJDb3JlOjpJbWFnZUJ1ZmZlciYpIGNvbnN0OwogCiAgICAgTk9fUkVUVVJOX0RV
RV9UT19BU1NFUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKIApAQCAtMTA1
Miw3ICsxMDUyLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJu
IG1faW1hZ2VJZGVudGlmaWVyLmlzVmFsaWQoKTsgfQogCiAgICAgTk9fUkVUVVJOX0RVRV9UT19B
U1NFUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKLSAgICB2b2lkIGFwcGx5
KEdyYXBoaWNzQ29udGV4dCYsIE5hdGl2ZUltYWdlJikgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmLCBOYXRpdmVJbWFnZSYpIGNvbnN0OwogCiAg
ICAgc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+IGdsb2JhbEJvdW5kcygpIGNvbnN0IHsgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsgfQogICAgIHN0ZDo6b3B0aW9uYWw8RmxvYXRSZWN0PiBsb2NhbEJvdW5k
cyhjb25zdCBHcmFwaGljc0NvbnRleHQmKSBjb25zdCB7IHJldHVybiBtX2Rlc3RpbmF0aW9uUmVj
dDsgfQpAQCAtMTA4NCw3ICsxMDg0LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNWYWxpZCgpIGNv
bnN0IHsgcmV0dXJuIG1faW1hZ2VJZGVudGlmaWVyLmlzVmFsaWQoKTsgfQogCiAgICAgTk9fUkVU
VVJOX0RVRV9UT19BU1NFUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKLSAg
ICB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYsIE5hdGl2ZUltYWdlJikgY29uc3Q7CisgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmLCBOYXRpdmVJbWFnZSYp
IGNvbnN0OwogCiAgICAgc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+IGdsb2JhbEJvdW5kcygpIGNv
bnN0IHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgfQogICAgIHN0ZDo6b3B0aW9uYWw8RmxvYXRSZWN0
PiBsb2NhbEJvdW5kcyhjb25zdCBHcmFwaGljc0NvbnRleHQmKSBjb25zdCB7IHJldHVybiBtX2Rl
c3RpbmF0aW9uOyB9CkBAIC0xMTEzLDcgKzExMTMsNyBAQCBwdWJsaWM6CiAKICAgICBmbG9hdCBv
cGFjaXR5KCkgY29uc3QgeyByZXR1cm4gbV9vcGFjaXR5OyB9CiAKLSAgICB2b2lkIGFwcGx5KEdy
YXBoaWNzQ29udGV4dCYpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbHkoR3Jh
cGhpY3NDb250ZXh0JikgY29uc3Q7CiAKICAgICBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gbG9j
YWxCb3VuZHMoY29uc3QgR3JhcGhpY3NDb250ZXh0JikgY29uc3QgeyByZXR1cm4gc3RkOjpudWxs
b3B0OyB9CiAgICAgc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+IGdsb2JhbEJvdW5kcygpIGNvbnN0
IHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgfQpAQCAtMTEyOCw3ICsxMTI4LDcgQEAgcHVibGljOgog
ICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc0lubGluZUl0ZW0gPSB0cnVlOwogICAgIHN0YXRp
YyBjb25zdGV4cHIgYm9vbCBpc0RyYXdpbmdJdGVtID0gdHJ1ZTsKIAotICAgIHZvaWQgYXBwbHko
R3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseShH
cmFwaGljc0NvbnRleHQmKSBjb25zdDsKIAogICAgIHN0ZDo6b3B0aW9uYWw8RmxvYXRSZWN0PiBs
b2NhbEJvdW5kcyhjb25zdCBHcmFwaGljc0NvbnRleHQmKSBjb25zdCB7IHJldHVybiBzdGQ6Om51
bGxvcHQ7IH0KICAgICBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gZ2xvYmFsQm91bmRzKCkgY29u
c3QgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9CkBAIC0xMTQ5LDcgKzExNDksNyBAQCBwdWJsaWM6
CiAgICAgRmxvYXRSZWN0IHJlY3QoKSBjb25zdCB7IHJldHVybiBtX3JlY3Q7IH0KICAgICBmbG9h
dCBib3JkZXJUaGlja25lc3MoKSBjb25zdCB7IHJldHVybiBtX2JvcmRlclRoaWNrbmVzczsgfQog
Ci0gICAgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0OwogCiAgICAgc3RkOjpvcHRp
b25hbDxGbG9hdFJlY3Q+IGdsb2JhbEJvdW5kcygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsgfQogICAgIHN0ZDo6b3B0aW9uYWw8RmxvYXRSZWN0PiBsb2NhbEJvdW5kcyhjb25zdCBHcmFw
aGljc0NvbnRleHQmKSBjb25zdCB7IHJldHVybiBtX3JlY3Q7IH0KQEAgLTExNzQsNyArMTE3NCw3
IEBAIHB1YmxpYzoKICAgICBGbG9hdFBvaW50IHBvaW50MSgpIGNvbnN0IHsgcmV0dXJuIG1fcG9p
bnQxOyB9CiAgICAgRmxvYXRQb2ludCBwb2ludDIoKSBjb25zdCB7IHJldHVybiBtX3BvaW50Mjsg
fQogCi0gICAgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKKyAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0OwogCiAgICAgc3RkOjpv
cHRpb25hbDxGbG9hdFJlY3Q+IGdsb2JhbEJvdW5kcygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsgfQogICAgIHN0ZDo6b3B0aW9uYWw8RmxvYXRSZWN0PiBsb2NhbEJvdW5kcyhjb25zdCBH
cmFwaGljc0NvbnRleHQmKSBjb25zdDsKQEAgLTEyMDEsNyArMTIwMSw3IEBAIHB1YmxpYzoKICAg
ICBib29sIGlzUHJpbnRpbmcoKSBjb25zdCB7IHJldHVybiBtX3ByaW50aW5nOyB9CiAgICAgYm9v
bCBkb3VibGVMaW5lcygpIGNvbnN0IHsgcmV0dXJuIG1fZG91YmxlTGluZXM7IH0KIAotICAgIHZv
aWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKIAogICAgIHN0ZDo6b3B0aW9uYWw8Rmxv
YXRSZWN0PiBnbG9iYWxCb3VuZHMoKSBjb25zdCB7IHJldHVybiBzdGQ6Om51bGxvcHQ7IH0KICAg
ICBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gbG9jYWxCb3VuZHMoY29uc3QgR3JhcGhpY3NDb250
ZXh0JikgY29uc3Q7CkBAIC0xMjkxLDcgKzEyOTEsNyBAQCBwdWJsaWM6CiAKICAgICBGbG9hdFJl
Y3QgcmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVjdDsgfQogCi0gICAgdm9pZCBhcHBseShHcmFw
aGljc0NvbnRleHQmKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFwcGx5KEdyYXBo
aWNzQ29udGV4dCYpIGNvbnN0OwogCiAgICAgc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+IGdsb2Jh
bEJvdW5kcygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgfQogICAgIHN0ZDo6b3B0aW9u
YWw8RmxvYXRSZWN0PiBsb2NhbEJvdW5kcyhjb25zdCBHcmFwaGljc0NvbnRleHQmKSBjb25zdDsK
QEAgLTEzMTUsNyArMTMxNSw3IEBAIHB1YmxpYzoKIAogICAgIEZsb2F0UmVjdCByZWN0KCkgY29u
c3QgeyByZXR1cm4gbV9yZWN0OyB9CiAKLSAgICB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYp
IGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0Jikg
Y29uc3Q7CiAKICAgICBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gZ2xvYmFsQm91bmRzKCkgY29u
c3QgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9CiAgICAgc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+
IGxvY2FsQm91bmRzKGNvbnN0IEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0IHsgcmV0dXJuIG1fcmVj
dDsgfQpAQCAtMTM0NSw3ICsxMzQ1LDcgQEAgcHVibGljOgogICAgIHRlbXBsYXRlPGNsYXNzIEVu
Y29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBE
ZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxEcmF3UGF0aD4gZGVjb2RlKERlY29kZXImKTsK
IAotICAgIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CisgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKIAogICAgIHN0ZDo6b3B0
aW9uYWw8RmxvYXRSZWN0PiBnbG9iYWxCb3VuZHMoKSBjb25zdCB7IHJldHVybiBzdGQ6Om51bGxv
cHQ7IH0KICAgICBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gbG9jYWxCb3VuZHMoY29uc3QgR3Jh
cGhpY3NDb250ZXh0JikgY29uc3QgeyByZXR1cm4gbV9wYXRoLmZhc3RCb3VuZGluZ1JlY3QoKTsg
fQpAQCAtMTQwMSw3ICsxNDAxLDcgQEAgcHVibGljOgogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxEcmF3Rm9jdXNSaW5nUGF0aD4gZGVjb2RlKERlY29k
ZXImKTsKIAotICAgIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CisgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKIAogICAgIHN0
ZDo6b3B0aW9uYWw8RmxvYXRSZWN0PiBnbG9iYWxCb3VuZHMoKSBjb25zdCB7IHJldHVybiBzdGQ6
Om51bGxvcHQ7IH0KICAgICBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gbG9jYWxCb3VuZHMoY29u
c3QgR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CkBAIC0xNDYxLDcgKzE0NjEsNyBAQCBwdWJsaWM6
CiAgICAgZmxvYXQgb2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9vZmZzZXQ7IH0KICAgICBjb25z
dCBDb2xvciYgY29sb3IoKSBjb25zdCB7IHJldHVybiBtX2NvbG9yOyB9CiAKLSAgICB2b2lkIGFw
cGx5KEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBw
bHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CiAKICAgICBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVj
dD4gZ2xvYmFsQm91bmRzKCkgY29uc3QgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9CiAgICAgc3Rk
OjpvcHRpb25hbDxGbG9hdFJlY3Q+IGxvY2FsQm91bmRzKGNvbnN0IEdyYXBoaWNzQ29udGV4dCYp
IGNvbnN0OwpAQCAtMTUyNCw3ICsxNTI0LDcgQEAgcHVibGljOgogCiAgICAgY29uc3QgRmxvYXRS
ZWN0JiByZWN0KCkgY29uc3QgeyByZXR1cm4gbV9yZWN0OyB9CiAKLSAgICB2b2lkIGFwcGx5KEdy
YXBoaWNzQ29udGV4dCYpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbHkoR3Jh
cGhpY3NDb250ZXh0JikgY29uc3Q7CiAKICAgICBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gZ2xv
YmFsQm91bmRzKCkgY29uc3QgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9CiAgICAgc3RkOjpvcHRp
b25hbDxGbG9hdFJlY3Q+IGxvY2FsQm91bmRzKGNvbnN0IEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0
IHsgcmV0dXJuIG1fcmVjdDsgfQpAQCAtMTU0OCw3ICsxNTQ4LDcgQEAgcHVibGljOgogICAgIEZs
b2F0UmVjdCByZWN0KCkgY29uc3QgeyByZXR1cm4gbV9yZWN0OyB9CiAgICAgY29uc3QgQ29sb3Im
IGNvbG9yKCkgY29uc3QgeyByZXR1cm4gbV9jb2xvcjsgfQogCi0gICAgdm9pZCBhcHBseShHcmFw
aGljc0NvbnRleHQmKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFwcGx5KEdyYXBo
aWNzQ29udGV4dCYpIGNvbnN0OwogCiAgICAgc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+IGdsb2Jh
bEJvdW5kcygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgfQogICAgIHN0ZDo6b3B0aW9u
YWw8RmxvYXRSZWN0PiBsb2NhbEJvdW5kcyhjb25zdCBHcmFwaGljc0NvbnRleHQmKSBjb25zdCB7
IHJldHVybiBtX3JlY3Q7IH0KQEAgLTE1OTUsNyArMTU5NSw3IEBAIHB1YmxpYzoKICAgICBjb25z
dCBGbG9hdFJlY3QmIHJlY3QoKSBjb25zdCB7IHJldHVybiBtX3JlY3Q7IH0KICAgICBjb25zdCBH
cmFkaWVudCYgZ3JhZGllbnQoKSBjb25zdCB7IHJldHVybiBtX2dyYWRpZW50LmdldCgpOyB9CiAK
LSAgICB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CiAKICAgICBzdGQ6Om9wdGlv
bmFsPEZsb2F0UmVjdD4gZ2xvYmFsQm91bmRzKCkgY29uc3QgeyByZXR1cm4gc3RkOjpudWxsb3B0
OyB9CiAgICAgc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+IGxvY2FsQm91bmRzKGNvbnN0IEdyYXBo
aWNzQ29udGV4dCYpIGNvbnN0IHsgcmV0dXJuIG1fcmVjdDsgfQpAQCAtMTY0OSw3ICsxNjQ5LDcg
QEAgcHVibGljOgogICAgIENvbXBvc2l0ZU9wZXJhdG9yIGNvbXBvc2l0ZU9wZXJhdG9yKCkgY29u
c3QgeyByZXR1cm4gbV9vcDsgfQogICAgIEJsZW5kTW9kZSBibGVuZE1vZGUoKSBjb25zdCB7IHJl
dHVybiBtX2JsZW5kTW9kZTsgfQogCi0gICAgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBj
b25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNv
bnN0OwogCiAgICAgc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+IGdsb2JhbEJvdW5kcygpIGNvbnN0
IHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgfQogICAgIHN0ZDo6b3B0aW9uYWw8RmxvYXRSZWN0PiBs
b2NhbEJvdW5kcyhjb25zdCBHcmFwaGljc0NvbnRleHQmKSBjb25zdCB7IHJldHVybiBtX3JlY3Q7
IH0KQEAgLTE3MTksNyArMTcxOSw3IEBAIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNv
ZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVj
b2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8RmlsbFJvdW5kZWRSZWN0PiBkZWNvZGUoRGVjb2Rl
ciYpOwogCi0gICAgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKKyAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0OwogCiAgICAgc3Rk
OjpvcHRpb25hbDxGbG9hdFJlY3Q+IGdsb2JhbEJvdW5kcygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsgfQogICAgIHN0ZDo6b3B0aW9uYWw8RmxvYXRSZWN0PiBsb2NhbEJvdW5kcyhjb25z
dCBHcmFwaGljc0NvbnRleHQmKSBjb25zdCB7IHJldHVybiBtX3JlY3QucmVjdCgpOyB9CkBAIC0x
Nzc5LDcgKzE3NzksNyBAQCBwdWJsaWM6CiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9p
ZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0
YXRpYyBzdGQ6Om9wdGlvbmFsPEZpbGxSZWN0V2l0aFJvdW5kZWRIb2xlPiBkZWNvZGUoRGVjb2Rl
ciYpOwogCi0gICAgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKKyAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0OwogCiAgICAgc3Rk
OjpvcHRpb25hbDxGbG9hdFJlY3Q+IGdsb2JhbEJvdW5kcygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsgfQogICAgIHN0ZDo6b3B0aW9uYWw8RmxvYXRSZWN0PiBsb2NhbEJvdW5kcyhjb25z
dCBHcmFwaGljc0NvbnRleHQmKSBjb25zdCB7IHJldHVybiBtX3JlY3Q7IH0KQEAgLTE4MzMsNyAr
MTgzMyw3IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBQYXRoIHBhdGgoKSBjb25zdCB7IHJldHVy
biBQYXRoOjpmcm9tKHttX2xpbmVEYXRhfSk7IH0KLSAgICB2b2lkIGFwcGx5KEdyYXBoaWNzQ29u
dGV4dCYpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250
ZXh0JikgY29uc3Q7CiAgICAgc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+IGdsb2JhbEJvdW5kcygp
IGNvbnN0IHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgfQogICAgIHN0ZDo6b3B0aW9uYWw8RmxvYXRS
ZWN0PiBsb2NhbEJvdW5kcyhjb25zdCBHcmFwaGljc0NvbnRleHQmKSBjb25zdCB7IHJldHVybiBw
YXRoKCkuZmFzdEJvdW5kaW5nUmVjdCgpOyB9CiAKQEAgLTE4NTMsNyArMTg1Myw3IEBAIHB1Ymxp
YzoKICAgICB9CiAKICAgICBQYXRoIHBhdGgoKSBjb25zdCB7IHJldHVybiBQYXRoOjpmcm9tKHtt
X2FyY0RhdGF9KTsgfQotICAgIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKICAg
ICBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gZ2xvYmFsQm91bmRzKCkgY29uc3QgeyByZXR1cm4g
c3RkOjpudWxsb3B0OyB9CiAgICAgc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+IGxvY2FsQm91bmRz
KGNvbnN0IEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0IHsgcmV0dXJuIHBhdGgoKS5mYXN0Qm91bmRp
bmdSZWN0KCk7IH0KIApAQCAtMTg3Myw3ICsxODczLDcgQEAgcHVibGljOgogICAgIH0KIAogICAg
IFBhdGggcGF0aCgpIGNvbnN0IHsgcmV0dXJuIFBhdGg6OmZyb20oe21fcXVhZEN1cnZlRGF0YX0p
OyB9Ci0gICAgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKKyAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0OwogICAgIHN0ZDo6b3B0
aW9uYWw8RmxvYXRSZWN0PiBnbG9iYWxCb3VuZHMoKSBjb25zdCB7IHJldHVybiBzdGQ6Om51bGxv
cHQ7IH0KICAgICBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gbG9jYWxCb3VuZHMoY29uc3QgR3Jh
cGhpY3NDb250ZXh0JikgY29uc3QgeyByZXR1cm4gcGF0aCgpLmZhc3RCb3VuZGluZ1JlY3QoKTsg
fQogCkBAIC0xODkzLDcgKzE4OTMsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgUGF0aCBwYXRo
KCkgY29uc3QgeyByZXR1cm4gUGF0aDo6ZnJvbSh7bV9iZXppZXJDdXJ2ZURhdGF9KTsgfQotICAg
IHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKICAgICBzdGQ6Om9wdGlvbmFsPEZs
b2F0UmVjdD4gZ2xvYmFsQm91bmRzKCkgY29uc3QgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9CiAg
ICAgc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+IGxvY2FsQm91bmRzKGNvbnN0IEdyYXBoaWNzQ29u
dGV4dCYpIGNvbnN0IHsgcmV0dXJuIHBhdGgoKS5mYXN0Qm91bmRpbmdSZWN0KCk7IH0KIApAQCAt
MTkyNCw3ICsxOTI0LDcgQEAgcHVibGljOgogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZv
aWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBz
dGF0aWMgc3RkOjpvcHRpb25hbDxGaWxsUGF0aD4gZGVjb2RlKERlY29kZXImKTsKIAotICAgIHZv
aWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKIAogICAgIHN0ZDo6b3B0aW9uYWw8Rmxv
YXRSZWN0PiBnbG9iYWxCb3VuZHMoKSBjb25zdCB7IHJldHVybiBzdGQ6Om51bGxvcHQ7IH0KICAg
ICBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gbG9jYWxCb3VuZHMoY29uc3QgR3JhcGhpY3NDb250
ZXh0JikgY29uc3QgeyByZXR1cm4gbV9wYXRoLmZhc3RCb3VuZGluZ1JlY3QoKTsgfQpAQCAtMTk2
Myw3ICsxOTYzLDcgQEAgcHVibGljOgogCiAgICAgRmxvYXRSZWN0IHJlY3QoKSBjb25zdCB7IHJl
dHVybiBtX3JlY3Q7IH0KIAotICAgIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7
CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsK
IAogICAgIHN0ZDo6b3B0aW9uYWw8RmxvYXRSZWN0PiBnbG9iYWxCb3VuZHMoKSBjb25zdCB7IHJl
dHVybiBzdGQ6Om51bGxvcHQ7IH0KICAgICBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gbG9jYWxC
b3VuZHMoY29uc3QgR3JhcGhpY3NDb250ZXh0JikgY29uc3QgeyByZXR1cm4gbV9yZWN0OyB9CkBA
IC0yMTMzLDcgKzIxMzMsNyBAQCBwdWJsaWM6CiAgICAgRmxvYXRSZWN0IHJlY3QoKSBjb25zdCB7
IHJldHVybiBtX3JlY3Q7IH0KICAgICBmbG9hdCBsaW5lV2lkdGgoKSBjb25zdCB7IHJldHVybiBt
X2xpbmVXaWR0aDsgfQogCi0gICAgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsK
KyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0Owog
CiAgICAgc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+IGdsb2JhbEJvdW5kcygpIGNvbnN0IHsgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsgfQogICAgIHN0ZDo6b3B0aW9uYWw8RmxvYXRSZWN0PiBsb2NhbEJv
dW5kcyhjb25zdCBHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKQEAgLTIxNjUsNyArMjE2NSw3IEBA
IHB1YmxpYzoKICAgICBGbG9hdFBvaW50IHN0YXJ0KCkgY29uc3QgeyByZXR1cm4gbV9zdGFydDsg
fQogICAgIEZsb2F0UG9pbnQgZW5kKCkgY29uc3QgeyByZXR1cm4gbV9lbmQ7IH0KIAotICAgIHZv
aWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKIAogICAgIHN0ZDo6b3B0aW9uYWw8Rmxv
YXRSZWN0PiBnbG9iYWxCb3VuZHMoKSBjb25zdCB7IHJldHVybiBzdGQ6Om51bGxvcHQ7IH0KICAg
ICBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gbG9jYWxCb3VuZHMoY29uc3QgR3JhcGhpY3NDb250
ZXh0JikgY29uc3Q7CkBAIC0yMTg5LDcgKzIxODksNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAg
UGF0aCBwYXRoKCkgY29uc3QgeyByZXR1cm4gUGF0aDo6ZnJvbSh7bV9hcmNEYXRhfSk7IH0KLSAg
ICB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CiAgICAgc3RkOjpvcHRpb25hbDxG
bG9hdFJlY3Q+IGdsb2JhbEJvdW5kcygpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgfQog
ICAgIHN0ZDo6b3B0aW9uYWw8RmxvYXRSZWN0PiBsb2NhbEJvdW5kcyhjb25zdCBHcmFwaGljc0Nv
bnRleHQmKSBjb25zdDsKIApAQCAtMjIwOSw3ICsyMjA5LDcgQEAgcHVibGljOgogICAgIH0KIAog
ICAgIFBhdGggcGF0aCgpIGNvbnN0IHsgcmV0dXJuIFBhdGg6OmZyb20oe21fcXVhZEN1cnZlRGF0
YX0pOyB9Ci0gICAgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKKyAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0OwogICAgIHN0ZDo6
b3B0aW9uYWw8RmxvYXRSZWN0PiBnbG9iYWxCb3VuZHMoKSBjb25zdCB7IHJldHVybiBzdGQ6Om51
bGxvcHQ7IH0KICAgICBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gbG9jYWxCb3VuZHMoY29uc3Qg
R3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CiAKQEAgLTIyMjksNyArMjIyOSw3IEBAIHB1YmxpYzoK
ICAgICB9CiAKICAgICBQYXRoIHBhdGgoKSBjb25zdCB7IHJldHVybiBQYXRoOjpmcm9tKHttX2Jl
emllckN1cnZlRGF0YX0pOyB9Ci0gICAgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25z
dDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0
OwogICAgIHN0ZDo6b3B0aW9uYWw8RmxvYXRSZWN0PiBnbG9iYWxCb3VuZHMoKSBjb25zdCB7IHJl
dHVybiBzdGQ6Om51bGxvcHQ7IH0KICAgICBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gbG9jYWxC
b3VuZHMoY29uc3QgR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CiAKQEAgLTIyNjAsNyArMjI2MCw3
IEBAIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNv
ZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0
aW9uYWw8U3Ryb2tlUGF0aD4gZGVjb2RlKERlY29kZXImKTsKIAotICAgIHZvaWQgYXBwbHkoR3Jh
cGhpY3NDb250ZXh0JikgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseShHcmFw
aGljc0NvbnRleHQmKSBjb25zdDsKIAogICAgIHN0ZDo6b3B0aW9uYWw8RmxvYXRSZWN0PiBnbG9i
YWxCb3VuZHMoKSBjb25zdCB7IHJldHVybiBzdGQ6Om51bGxvcHQ7IH0KICAgICBzdGQ6Om9wdGlv
bmFsPEZsb2F0UmVjdD4gbG9jYWxCb3VuZHMoY29uc3QgR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7
CkBAIC0yMjk5LDcgKzIyOTksNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBGbG9hdFJlY3QmIHJl
Y3QoKSBjb25zdCB7IHJldHVybiBtX3JlY3Q7IH0KIAotICAgIHZvaWQgYXBwbHkoR3JhcGhpY3ND
b250ZXh0JikgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseShHcmFwaGljc0Nv
bnRleHQmKSBjb25zdDsKIAogICAgIHN0ZDo6b3B0aW9uYWw8RmxvYXRSZWN0PiBnbG9iYWxCb3Vu
ZHMoKSBjb25zdCB7IHJldHVybiBzdGQ6Om51bGxvcHQ7IH0KICAgICBzdGQ6Om9wdGlvbmFsPEZs
b2F0UmVjdD4gbG9jYWxCb3VuZHMoY29uc3QgR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CkBAIC0y
MzIxLDcgKzIzMjEsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBGbG9hdFJlY3QmIHJlY3QoKSBj
b25zdCB7IHJldHVybiBtX3JlY3Q7IH0KIAotICAgIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0
JikgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQm
KSBjb25zdDsKIAogICAgIHN0ZDo6b3B0aW9uYWw8RmxvYXRSZWN0PiBnbG9iYWxCb3VuZHMoKSBj
b25zdCB7IHJldHVybiBzdGQ6Om51bGxvcHQ7IH0KICAgICBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVj
dD4gbG9jYWxCb3VuZHMoY29uc3QgR3JhcGhpY3NDb250ZXh0JikgY29uc3QgeyByZXR1cm4gbV9y
ZWN0OyB9CkBAIC0yMzM4LDcgKzIzMzgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhw
ciBib29sIGlzSW5saW5lSXRlbSA9IHRydWU7CiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGlz
RHJhd2luZ0l0ZW0gPSBmYWxzZTsKIAotICAgIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0Jikg
Y29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBj
b25zdDsKIH07CiAKIGNsYXNzIEFwcGx5RmlsbFBhdHRlcm4gewpAQCAtMjM0Nyw3ICsyMzQ3LDcg
QEAgcHVibGljOgogICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc0lubGluZUl0ZW0gPSB0cnVl
OwogICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc0RyYXdpbmdJdGVtID0gZmFsc2U7CiAKLSAg
ICB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CiB9OwogCiAjZW5kaWYKQEAgLTIz
NjUsNyArMjM2NSw3IEBAIHB1YmxpYzoKIAogICAgIGZsb2F0IHNjYWxlRmFjdG9yKCkgY29uc3Qg
eyByZXR1cm4gbV9zY2FsZUZhY3RvcjsgfQogCi0gICAgdm9pZCBhcHBseShHcmFwaGljc0NvbnRl
eHQmKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4
dCYpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGZsb2F0IG1fc2NhbGVGYWN0b3IgeyAxIH07CkBA
IC0yMzg1LDcgKzIzODUsNyBAQCBwdWJsaWM6CiAgICAgR3JhcGhpY3NDb250ZXh0Rmx1c2hJZGVu
dGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KICAgICBi
b29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXIuaXNWYWxpZCgpOyB9CiAK
LSAgICB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAg
R3JhcGhpY3NDb250ZXh0Rmx1c2hJZGVudGlmaWVyIG1faWRlbnRpZmllcjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>