<?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>205161</bug_id>
          
          <creation_ts>2019-12-12 07:56:21 -0800</creation_ts>
          <short_desc>[GLIB] Add GLib specific API for JSC JSValueRef.h&apos;s JSValueMakeFromJSONString and JSValueCreateJSONString methods</short_desc>
          <delta_ts>2020-01-10 02:54:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Local 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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andres Gomez Garcia">agomez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>agomez</cc>
    
    <cc>aperez</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>dpino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1597993</commentid>
    <comment_count>0</comment_count>
    <who name="Andres Gomez Garcia">agomez</who>
    <bug_when>2019-12-12 07:56:21 -0800</bug_when>
    <thetext>JSC provides in its C API functions for JSValueMakeFromJSONString:
https://github.com/WebKit/webkit/blob/master/Source/JavaScriptCore/API/JSValueRef.h#L300

and JSValueCreateJSONString:
https://github.com/WebKit/webkit/blob/master/Source/JavaScriptCore/API/JSValueRef.h#L311

It would be great if we could have those exposed by specific new GLib API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598833</commentid>
    <comment_count>1</comment_count>
      <attachid>385749</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-12-16 04:24:32 -0800</bug_when>
    <thetext>Created attachment 385749
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600222</commentid>
    <comment_count>2</comment_count>
    <who name="Andres Gomez Garcia">agomez</who>
    <bug_when>2019-12-19 04:21:29 -0800</bug_when>
    <thetext>The API proposed LGTM. Thanks a lot, Carlos!

I&apos;ve not been able to try it yet, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605041</commentid>
    <comment_count>3</comment_count>
      <attachid>385749</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-01-10 02:50:45 -0800</bug_when>
    <thetext>Comment on attachment 385749
Patch

Patch LGTM. This looks very handy to get data in and out of a JSCContext,
nicer than manually lots of API calls to build complex values. Also if some
JSON comes from somewhere else and is to be loaded into a JSCContext, it
seems much better to have this functionality than loading it as a string
and having to use JSON.parse() later on in the JS side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605042</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-01-10 02:53:36 -0800</bug_when>
    <thetext>Committed r254331: &lt;https://trac.webkit.org/changeset/254331&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605043</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-10 02:54:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/58474734&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385749</attachid>
            <date>2019-12-16 04:24:32 -0800</date>
            <delta_ts>2020-01-10 02:50:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>jsc-glib-api-json.diff</filename>
            <type>text/plain</type>
            <size>13534</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0NWYWx1ZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNDVmFsdWUuY3BwCmluZGV4IDE1MzQx
NzU3MTA4Li5mYjFlYjMxN2UzOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9nbGliL0pTQ1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIv
SlNDVmFsdWUuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgog
I2luY2x1ZGUgIkpTQ1ZhbHVlUHJpdmF0ZS5oIgogI2luY2x1ZGUgIkpTUmV0YWluUHRyLmgiCisj
aW5jbHVkZSAiTGl0ZXJhbFBhcnNlci5oIgogI2luY2x1ZGUgIk9wYXF1ZUpTU3RyaW5nLmgiCiAj
aW5jbHVkZSA8Z29iamVjdC9ndmFsdWVjb2xsZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9H
UmVmUHRyLmg+CkBAIC0xNDQ2LDMgKzE0NDcsODMgQEAgSlNDVmFsdWUqIGpzY192YWx1ZV9jb25z
dHJ1Y3Rvcl9jYWxsdihKU0NWYWx1ZSogdmFsdWUsIHVuc2lnbmVkIHBhcmFtZXRlcnNDb3VudCwK
IAogICAgIHJldHVybiBqc2NDb250ZXh0R2V0T3JDcmVhdGVWYWx1ZShwcml2LT5jb250ZXh0Lmdl
dCgpLCByZXN1bHQpLmxlYWtSZWYoKTsKIH0KKworLyoqCisgKiBqc2NfdmFsdWVfbmV3X2Zyb21f
anNvbjoKKyAqIEBjb250ZXh0OiBhICNKU0NDb250ZXh0CisgKiBAanNvbjogdGhlIEpTT04gc3Ry
aW5nIHRvIGJlIHBhcnNlZAorICoKKyAqIENyZWF0ZSBhIG5ldyAjSlNDVmFsdWUgcmVmZXJlbmNp
bmcgYSBuZXcgdmFsdWUgY3JlYXRlZCBieSBwYXJzaW5nIEBqc29uLgorICoKKyAqIFJldHVybnM6
ICh0cmFuc2ZlciBmdWxsKTogYSAjSlNDVmFsdWUuCisgKgorICogU2luY2U6IDIuMjgKKyAqLwor
SlNDVmFsdWUqIGpzY192YWx1ZV9uZXdfZnJvbV9qc29uKEpTQ0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IGNoYXIqIGpzb24pCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoSlNDX0lTX0NPTlRF
WFQoY29udGV4dCksIG51bGxwdHIpOworCisgICAgaWYgKCFqc29uKQorICAgICAgICByZXR1cm4g
anNjX3ZhbHVlX25ld19udWxsKGNvbnRleHQpOworCisgICAgYXV0byoganNDb250ZXh0ID0ganNj
Q29udGV4dEdldEpTQ29udGV4dChjb250ZXh0KTsKKyAgICBKU0M6OkpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QgPSB0b0pTKGpzQ29udGV4dCk7CisgICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9j
a2VyKGdsb2JhbE9iamVjdCk7CisKKyAgICBKU1ZhbHVlUmVmIGV4Y2VwdGlvbiA9IG51bGxwdHI7
CisgICAgSlNDOjpKU1ZhbHVlIGpzVmFsdWU7CisgICAgU3RyaW5nIGpzb25TdHJpbmcgPSBTdHJp
bmc6OmZyb21VVEY4KGpzb24pOworICAgIGlmIChqc29uU3RyaW5nLmlzOEJpdCgpKSB7CisgICAg
ICAgIEpTQzo6TGl0ZXJhbFBhcnNlcjxMQ2hhcj4ganNvblBhcnNlcihnbG9iYWxPYmplY3QsIGpz
b25TdHJpbmcuY2hhcmFjdGVyczgoKSwganNvblN0cmluZy5sZW5ndGgoKSwgSlNDOjpTdHJpY3RK
U09OKTsKKyAgICAgICAganNWYWx1ZSA9IGpzb25QYXJzZXIudHJ5TGl0ZXJhbFBhcnNlKCk7Cisg
ICAgICAgIGlmICghanNWYWx1ZSkKKyAgICAgICAgICAgIGV4Y2VwdGlvbiA9IHRvUmVmKEpTQzo6
Y3JlYXRlU3ludGF4RXJyb3IoZ2xvYmFsT2JqZWN0LCBqc29uUGFyc2VyLmdldEVycm9yTWVzc2Fn
ZSgpKSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgSlNDOjpMaXRlcmFsUGFyc2VyPFVDaGFyPiBq
c29uUGFyc2VyKGdsb2JhbE9iamVjdCwganNvblN0cmluZy5jaGFyYWN0ZXJzMTYoKSwganNvblN0
cmluZy5sZW5ndGgoKSwgSlNDOjpTdHJpY3RKU09OKTsKKyAgICAgICAganNWYWx1ZSA9IGpzb25Q
YXJzZXIudHJ5TGl0ZXJhbFBhcnNlKCk7CisgICAgICAgIGlmICghanNWYWx1ZSkKKyAgICAgICAg
ICAgIGV4Y2VwdGlvbiA9IHRvUmVmKEpTQzo6Y3JlYXRlU3ludGF4RXJyb3IoZ2xvYmFsT2JqZWN0
LCBqc29uUGFyc2VyLmdldEVycm9yTWVzc2FnZSgpKSk7CisgICAgfQorCisgICAgaWYgKGV4Y2Vw
dGlvbikgeworICAgICAgICBqc2NDb250ZXh0SGFuZGxlRXhjZXB0aW9uSWZOZWVkZWQoY29udGV4
dCwgZXhjZXB0aW9uKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgcmV0
dXJuIGpzVmFsdWUgPyBqc2NDb250ZXh0R2V0T3JDcmVhdGVWYWx1ZShjb250ZXh0LCB0b1JlZihn
bG9iYWxPYmplY3QsIGpzVmFsdWUpKS5sZWFrUmVmKCkgOiBudWxscHRyOworfQorCisvKioKKyAq
IGpzY192YWx1ZV90b19qc29uOgorICogQHZhbHVlOiBhICNKU0NWYWx1ZQorICogQGluZGVudDog
VGhlIG51bWJlciBvZiBzcGFjZXMgdG8gaW5kZW50IHdoZW4gbmVzdGluZy4KKyAqCisgKiBDcmVh
dGUgYSBKU09OIHN0cmluZyBvZiBAdmFsdWUgc2VyaWFsaXphdGlvbi4gSWYgQGluZGVudCBpcyAw
LCB0aGUgcmVzdWx0aW5nIEpTT04gd2lsbAorICogbm90IGNvbnRhaW4gbmV3bGluZXMuIFRoZSBz
aXplIG9mIHRoZSBpbmRlbnQgaXMgY2xhbXBlZCB0byAxMCBzcGFjZXMuCisgKgorICogUmV0dXJu
czogKHRyYW5zZmVyIGZ1bGwpOiBhIG51bGwtdGVybWluYXRlZCBKU09OIHN0cmluZyB3aXRoIHNl
cmlhbGl6YXRpb24gb2YgQHZhbHVlCisgKgorICogU2luY2U6IDIuMjgKKyAqLworY2hhcioganNj
X3ZhbHVlX3RvX2pzb24oSlNDVmFsdWUqIHZhbHVlLCB1bnNpZ25lZCBpbmRlbnQpCit7CisgICAg
Z19yZXR1cm5fdmFsX2lmX2ZhaWwoSlNDX0lTX1ZBTFVFKHZhbHVlKSwgbnVsbHB0cik7CisKKyAg
ICBKU0NWYWx1ZVByaXZhdGUqIHByaXYgPSB2YWx1ZS0+cHJpdjsKKyAgICBKU1ZhbHVlUmVmIGV4
Y2VwdGlvbiA9IG51bGxwdHI7CisgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGpzSlNPTihB
ZG9wdCwgSlNWYWx1ZUNyZWF0ZUpTT05TdHJpbmcoanNjQ29udGV4dEdldEpTQ29udGV4dChwcml2
LT5jb250ZXh0LmdldCgpKSwgcHJpdi0+anNWYWx1ZSwgaW5kZW50LCAmZXhjZXB0aW9uKSk7Cisg
ICAgaWYgKGpzY0NvbnRleHRIYW5kbGVFeGNlcHRpb25JZk5lZWRlZChwcml2LT5jb250ZXh0Lmdl
dCgpLCBleGNlcHRpb24pKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGlmICghanNK
U09OKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHNpemVfdCBtYXhTaXplID0gSlNT
dHJpbmdHZXRNYXhpbXVtVVRGOENTdHJpbmdTaXplKGpzSlNPTi5nZXQoKSk7CisgICAgYXV0byog
anNvbiA9IHN0YXRpY19jYXN0PGNoYXIqPihnX21hbGxvYyhtYXhTaXplKSk7CisgICAgaWYgKCFK
U1N0cmluZ0dldFVURjhDU3RyaW5nKGpzSlNPTi5nZXQoKSwganNvbiwgbWF4U2l6ZSkpIHsKKyAg
ICAgICAgZ19mcmVlKGpzb24pOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAg
ICByZXR1cm4ganNvbjsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
Z2xpYi9KU0NWYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQ1ZhbHVl
LmgKaW5kZXggZmFlNjI2N2E2ZWUuLjVmNjU0OTcyNWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNDVmFsdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL2dsaWIvSlNDVmFsdWUuaApAQCAtMjYwLDYgKzI2MCwxNCBAQCBqc2NfdmFsdWVfY29u
c3RydWN0b3JfY2FsbHYgICAgICAgICAgICAgICAoSlNDVmFsdWUgICAgICAgICAgICAgKnZhbHVl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1aW50ICAgICAg
ICAgICAgICAgICBuX3BhcmFtZXRlcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgSlNDVmFsdWUgICAgICAgICAgICAqKnBhcmFtZXRlcnMpOwogCitKU0NfQVBJ
IEpTQ1ZhbHVlICoKK2pzY192YWx1ZV9uZXdfZnJvbV9qc29uICAgICAgICAgICAgICAgICAgIChK
U0NDb250ZXh0ICAgICAgICAgICAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICAgICAgICAgICAqanNvbik7CisKK0pTQ19BUEkg
Y2hhciAqCitqc2NfdmFsdWVfdG9fanNvbiAgICAgICAgICAgICAgICAgICAgICAgICAoSlNDVmFs
dWUgICAgICAgICAgICAgKnZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGd1aW50ICAgICAgICAgICAgICAgICBpbmRlbnQpOworCiBHX0VORF9ERUNMUwog
CiAjZW5kaWYgLyogSlNDVmFsdWVfaCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9nbGliL2RvY3MvanNjLWdsaWItNC4wLXNlY3Rpb25zLnR4dCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvZ2xpYi9kb2NzL2pzYy1nbGliLTQuMC1zZWN0aW9ucy50eHQKaW5kZXgg
M2FlMjIyNWUxYjYuLjM2YTBjOGQ3Mzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL2dsaWIvZG9jcy9qc2MtZ2xpYi00LjAtc2VjdGlvbnMudHh0CisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9kb2NzL2pzYy1nbGliLTQuMC1zZWN0aW9ucy50eHQKQEAg
LTExMyw2ICsxMTMsOCBAQCBqc2NfdmFsdWVfZnVuY3Rpb25fY2FsbHYKIGpzY192YWx1ZV9pc19j
b25zdHJ1Y3RvcgoganNjX3ZhbHVlX2NvbnN0cnVjdG9yX2NhbGwKIGpzY192YWx1ZV9jb25zdHJ1
Y3Rvcl9jYWxsdgoranNjX3ZhbHVlX25ld19mcm9tX2pzb24KK2pzY192YWx1ZV90b19qc29uCiAK
IDxTVUJTRUNUSU9OIFN0YW5kYXJkPgogSlNDVmFsdWVDbGFzcwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cKaW5kZXggYWI3MDYyNzYxNWQuLjdkMjkwMTllZjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOCBAQAorMjAxOS0xMi0xNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxj
Z2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dMSUJdIEFkZCBHTGliIHNwZWNpZmljIEFQ
SSBmb3IgSlNDIEpTVmFsdWVSZWYuaCdzIEpTVmFsdWVNYWtlRnJvbUpTT05TdHJpbmcgYW5kIEpT
VmFsdWVDcmVhdGVKU09OU3RyaW5nIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTE2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBqc2NfdmFsdWVfbmV3X2Zyb21fanNvbigpIGFuZCBq
c2NfdmFsdWVfdG9fanNvbigpLgorCisgICAgICAgICogQVBJL2dsaWIvSlNDVmFsdWUuY3BwOgor
ICAgICAgICAoanNjX3ZhbHVlX25ld19mcm9tX2pzb24pOgorICAgICAgICAoanNjX3ZhbHVlX3Rv
X2pzb24pOgorICAgICAgICAqIEFQSS9nbGliL0pTQ1ZhbHVlLmg6CisgICAgICAgICogQVBJL2ds
aWIvZG9jcy9qc2MtZ2xpYi00LjAtc2VjdGlvbnMudHh0OgorCiAyMDE5LTEyLTEyICBZdXN1a2Ug
U3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gUHV0cyBmaXhlZC1z
aXplZCBjZWxscyBpbnRvIElzb1N1YnNwYWNlIG1vcmUKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5YWYyMDFjYTk5ZS4uMTA3NzI1OWQ3MWQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAxOS0xMi0xNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dMSUJdIEFkZCBHTGliIHNwZWNpZmljIEFQSSBmb3IgSlNDIEpT
VmFsdWVSZWYuaCdzIEpTVmFsdWVNYWtlRnJvbUpTT05TdHJpbmcgYW5kIEpTVmFsdWVDcmVhdGVK
U09OU3RyaW5nIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwNTE2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCB0ZXN0cyBmb3IgbmV3IEFQSS4KKworICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvSmF2YVNjcmlwdENvcmUvZ2xpYi9UZXN0SlNDLmNwcDoKKyAgICAgICAgKHRlc3RK
U0NKU09OKToKKyAgICAgICAgKG1haW4pOgorCiAyMDE5LTEyLTEzICBDYXJsb3MgR2FyY2lhIENh
bXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBTZXZlcmFsIHRlc3Rz
IGNyYXNoaW5nIGFmdGVyIHIyNDc4OTggIlJlb3JnYW5pemUgVUlTY3JpcHRDb250cm9sbGVyIGlu
dG8gcGxhdGZvcm0tc3BlY2lmaWMgc3ViY2xhc3NlcyIKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvSmF2YVNjcmlwdENvcmUvZ2xpYi9UZXN0SlNDLmNwcCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvSmF2YVNjcmlwdENvcmUvZ2xpYi9UZXN0SlNDLmNwcAppbmRleCAy
YTViZTQzMjI0ZS4uNTljMjYxNGFhODAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvSmF2YVNjcmlwdENvcmUvZ2xpYi9UZXN0SlNDLmNwcAorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL0phdmFTY3JpcHRDb3JlL2dsaWIvVGVzdEpTQy5jcHAKQEAgLTM3MzcsNiAr
MzczNywxNDQgQEAgc3RhdGljIHZvaWQgdGVzdHNKU0NBdXRvY2xlYW51cHMoKQogfQogI2VuZGlm
CiAKK3N0YXRpYyB2b2lkIHRlc3RKU0NKU09OKCkKK3sKKyAgICB7CisgICAgICAgIExlYWtDaGVj
a2VyIGNoZWNrZXI7CisgICAgICAgIEdSZWZQdHI8SlNDQ29udGV4dD4gY29udGV4dCA9IGFkb3B0
R1JlZihqc2NfY29udGV4dF9uZXcoKSk7CisgICAgICAgIGNoZWNrZXIud2F0Y2goY29udGV4dC5n
ZXQoKSk7CisgICAgICAgIEV4Y2VwdGlvbkhhbmRsZXIgZXhjZXB0aW9uSGFuZGxlcihjb250ZXh0
LmdldCgpKTsKKworICAgICAgICBHUmVmUHRyPEpTQ1ZhbHVlPiB2YWx1ZSA9IGFkb3B0R1JlZihq
c2NfdmFsdWVfbmV3X2Zyb21fanNvbihjb250ZXh0LmdldCgpLCBudWxscHRyKSk7CisgICAgICAg
IGNoZWNrZXIud2F0Y2godmFsdWUuZ2V0KCkpOworICAgICAgICBnX2Fzc2VydF90cnVlKGpzY192
YWx1ZV9pc19udWxsKHZhbHVlLmdldCgpKSk7CisKKyAgICAgICAgdmFsdWUgPSBhZG9wdEdSZWYo
anNjX3ZhbHVlX25ld19mcm9tX2pzb24oY29udGV4dC5nZXQoKSwgIjI1IikpOworICAgICAgICBj
aGVja2VyLndhdGNoKHZhbHVlLmdldCgpKTsKKyAgICAgICAgZ19hc3NlcnRfdHJ1ZShqc2NfdmFs
dWVfaXNfbnVtYmVyKHZhbHVlLmdldCgpKSk7CisgICAgICAgIGdfYXNzZXJ0X2NtcGludChqc2Nf
dmFsdWVfdG9faW50MzIodmFsdWUuZ2V0KCkpLCA9PSwgMjUpOworCisgICAgICAgIHZhbHVlID0g
YWRvcHRHUmVmKGpzY192YWx1ZV9uZXdfZnJvbV9qc29uKGNvbnRleHQuZ2V0KCksICIyLjUiKSk7
CisgICAgICAgIGNoZWNrZXIud2F0Y2godmFsdWUuZ2V0KCkpOworICAgICAgICBnX2Fzc2VydF90
cnVlKGpzY192YWx1ZV9pc19udW1iZXIodmFsdWUuZ2V0KCkpKTsKKyAgICAgICAgZ19hc3NlcnRf
Y21wZmxvYXQoanNjX3ZhbHVlX3RvX2RvdWJsZSh2YWx1ZS5nZXQoKSksID09LCAyLjUpOworCisg
ICAgICAgIHZhbHVlID0gYWRvcHRHUmVmKGpzY192YWx1ZV9uZXdfZnJvbV9qc29uKGNvbnRleHQu
Z2V0KCksICJ0cnVlIikpOworICAgICAgICBjaGVja2VyLndhdGNoKHZhbHVlLmdldCgpKTsKKyAg
ICAgICAgZ19hc3NlcnRfdHJ1ZShqc2NfdmFsdWVfaXNfYm9vbGVhbih2YWx1ZS5nZXQoKSkpOwor
ICAgICAgICBnX2Fzc2VydF90cnVlKGpzY192YWx1ZV90b19ib29sZWFuKHZhbHVlLmdldCgpKSk7
CisKKyAgICAgICAgdmFsdWUgPSBhZG9wdEdSZWYoanNjX3ZhbHVlX25ld19mcm9tX2pzb24oY29u
dGV4dC5nZXQoKSwgImZhbHNlIikpOworICAgICAgICBjaGVja2VyLndhdGNoKHZhbHVlLmdldCgp
KTsKKyAgICAgICAgZ19hc3NlcnRfdHJ1ZShqc2NfdmFsdWVfaXNfYm9vbGVhbih2YWx1ZS5nZXQo
KSkpOworICAgICAgICBnX2Fzc2VydF9mYWxzZShqc2NfdmFsdWVfdG9fYm9vbGVhbih2YWx1ZS5n
ZXQoKSkpOworCisgICAgICAgIHZhbHVlID0gYWRvcHRHUmVmKGpzY192YWx1ZV9uZXdfZnJvbV9q
c29uKGNvbnRleHQuZ2V0KCksICJcIlwiIikpOworICAgICAgICBjaGVja2VyLndhdGNoKHZhbHVl
LmdldCgpKTsKKyAgICAgICAgZ19hc3NlcnRfdHJ1ZShqc2NfdmFsdWVfaXNfc3RyaW5nKHZhbHVl
LmdldCgpKSk7CisgICAgICAgIEdVbmlxdWVQdHI8Y2hhcj4gdmFsdWVTdHJpbmcoanNjX3ZhbHVl
X3RvX3N0cmluZyh2YWx1ZS5nZXQoKSkpOworICAgICAgICBnX2Fzc2VydF9jbXBzdHIodmFsdWVT
dHJpbmcuZ2V0KCksID09LCAiIik7CisKKyAgICAgICAgdmFsdWUgPSBhZG9wdEdSZWYoanNjX3Zh
bHVlX25ld19mcm9tX2pzb24oY29udGV4dC5nZXQoKSwgIlwiRm9vXCIiKSk7CisgICAgICAgIGNo
ZWNrZXIud2F0Y2godmFsdWUuZ2V0KCkpOworICAgICAgICBnX2Fzc2VydF90cnVlKGpzY192YWx1
ZV9pc19zdHJpbmcodmFsdWUuZ2V0KCkpKTsKKyAgICAgICAgdmFsdWVTdHJpbmcucmVzZXQoanNj
X3ZhbHVlX3RvX3N0cmluZyh2YWx1ZS5nZXQoKSkpOworICAgICAgICBnX2Fzc2VydF9jbXBzdHIo
dmFsdWVTdHJpbmcuZ2V0KCksID09LCAiRm9vIik7CisKKyAgICAgICAgdmFsdWUgPSBhZG9wdEdS
ZWYoanNjX3ZhbHVlX25ld19mcm9tX2pzb24oY29udGV4dC5nZXQoKSwgIlsxLDJdIikpOworICAg
ICAgICBjaGVja2VyLndhdGNoKHZhbHVlLmdldCgpKTsKKyAgICAgICAgZ19hc3NlcnRfdHJ1ZShq
c2NfdmFsdWVfaXNfYXJyYXkodmFsdWUuZ2V0KCkpKTsKKyAgICAgICAgR1JlZlB0cjxKU0NWYWx1
ZT4gYXJyYXlMZW5ndGggPSBhZG9wdEdSZWYoanNjX3ZhbHVlX29iamVjdF9nZXRfcHJvcGVydHko
dmFsdWUuZ2V0KCksICJsZW5ndGgiKSk7CisgICAgICAgIGNoZWNrZXIud2F0Y2goYXJyYXlMZW5n
dGguZ2V0KCkpOworICAgICAgICBnX2Fzc2VydF90cnVlKGpzY192YWx1ZV9pc19udW1iZXIoYXJy
YXlMZW5ndGguZ2V0KCkpKTsKKyAgICAgICAgZ19hc3NlcnRfY21waW50KGpzY192YWx1ZV90b19p
bnQzMihhcnJheUxlbmd0aC5nZXQoKSksID09LCAyKTsKKyAgICAgICAgdmFsdWVTdHJpbmcucmVz
ZXQoanNjX3ZhbHVlX3RvX3N0cmluZyh2YWx1ZS5nZXQoKSkpOworICAgICAgICBnX2Fzc2VydF9j
bXBzdHIodmFsdWVTdHJpbmcuZ2V0KCksID09LCAiMSwyIik7CisKKyAgICAgICAgdmFsdWUgPSBh
ZG9wdEdSZWYoanNjX3ZhbHVlX25ld19mcm9tX2pzb24oY29udGV4dC5nZXQoKSwgIntcImZvb1wi
OjQyfSIpKTsKKyAgICAgICAgY2hlY2tlci53YXRjaCh2YWx1ZS5nZXQoKSk7CisgICAgICAgIGdf
YXNzZXJ0X3RydWUoanNjX3ZhbHVlX2lzX29iamVjdCh2YWx1ZS5nZXQoKSkpOworICAgICAgICBH
UmVmUHRyPEpTQ1ZhbHVlPiBwcm9wZXJ0eSA9IGFkb3B0R1JlZihqc2NfdmFsdWVfb2JqZWN0X2dl
dF9wcm9wZXJ0eSh2YWx1ZS5nZXQoKSwgImZvbyIpKTsKKyAgICAgICAgY2hlY2tlci53YXRjaChw
cm9wZXJ0eS5nZXQoKSk7CisgICAgICAgIGdfYXNzZXJ0X3RydWUoanNjX3ZhbHVlX2lzX251bWJl
cihwcm9wZXJ0eS5nZXQoKSkpOworICAgICAgICBnX2Fzc2VydF9jbXBpbnQoanNjX3ZhbHVlX3Rv
X2ludDMyKHByb3BlcnR5LmdldCgpKSwgPT0sIDQyKTsKKworICAgICAgICBib29sIGRpZFRocm93
ID0gZmFsc2U7CisgICAgICAgIGdfYXNzZXJ0X3Rocm93X2JlZ2luKGV4Y2VwdGlvbkhhbmRsZXIs
IGRpZFRocm93KTsKKyAgICAgICAgdmFsdWUgPSBhZG9wdEdSZWYoanNjX3ZhbHVlX25ld19mcm9t
X2pzb24oY29udGV4dC5nZXQoKSwgIlsxLCIpKTsKKyAgICAgICAgZ19hc3NlcnRfbnVsbCh2YWx1
ZS5nZXQoKSk7CisgICAgICAgIGdfYXNzZXJ0X2RpZF90aHJvdyhleGNlcHRpb25IYW5kbGVyLCBk
aWRUaHJvdyk7CisgICAgfQorCisgICAgeworICAgICAgICBMZWFrQ2hlY2tlciBjaGVja2VyOwor
ICAgICAgICBHUmVmUHRyPEpTQ0NvbnRleHQ+IGNvbnRleHQgPSBhZG9wdEdSZWYoanNjX2NvbnRl
eHRfbmV3KCkpOworICAgICAgICBjaGVja2VyLndhdGNoKGNvbnRleHQuZ2V0KCkpOworICAgICAg
ICBFeGNlcHRpb25IYW5kbGVyIGV4Y2VwdGlvbkhhbmRsZXIoY29udGV4dC5nZXQoKSk7CisKKyAg
ICAgICAgR1JlZlB0cjxKU0NWYWx1ZT4gdmFsdWUgPSBhZG9wdEdSZWYoanNjX3ZhbHVlX25ld19u
dWxsKGNvbnRleHQuZ2V0KCkpKTsKKyAgICAgICAgY2hlY2tlci53YXRjaCh2YWx1ZS5nZXQoKSk7
CisgICAgICAgIEdVbmlxdWVQdHI8Y2hhcj4ganNvblN0cmluZyhqc2NfdmFsdWVfdG9fanNvbih2
YWx1ZS5nZXQoKSwgMCkpOworICAgICAgICBnX2Fzc2VydF9jbXBzdHIoanNvblN0cmluZy5nZXQo
KSwgPT0sICJudWxsIik7CisKKyAgICAgICAgdmFsdWUgPSBhZG9wdEdSZWYoanNjX3ZhbHVlX25l
d191bmRlZmluZWQoY29udGV4dC5nZXQoKSkpOworICAgICAgICBjaGVja2VyLndhdGNoKHZhbHVl
LmdldCgpKTsKKyAgICAgICAgZ19hc3NlcnRfbnVsbChqc2NfdmFsdWVfdG9fanNvbih2YWx1ZS5n
ZXQoKSwgMCkpOworCisgICAgICAgIHZhbHVlID0gYWRvcHRHUmVmKGpzY192YWx1ZV9uZXdfbnVt
YmVyKGNvbnRleHQuZ2V0KCksIDI1KSk7CisgICAgICAgIGNoZWNrZXIud2F0Y2godmFsdWUuZ2V0
KCkpOworICAgICAgICBqc29uU3RyaW5nLnJlc2V0KGpzY192YWx1ZV90b19qc29uKHZhbHVlLmdl
dCgpLCAwKSk7CisgICAgICAgIGdfYXNzZXJ0X2NtcHN0cihqc29uU3RyaW5nLmdldCgpLCA9PSwg
IjI1Iik7CisKKyAgICAgICAgdmFsdWUgPSBhZG9wdEdSZWYoanNjX3ZhbHVlX25ld19udW1iZXIo
Y29udGV4dC5nZXQoKSwgMi41KSk7CisgICAgICAgIGNoZWNrZXIud2F0Y2godmFsdWUuZ2V0KCkp
OworICAgICAgICBqc29uU3RyaW5nLnJlc2V0KGpzY192YWx1ZV90b19qc29uKHZhbHVlLmdldCgp
LCAwKSk7CisgICAgICAgIGdfYXNzZXJ0X2NtcHN0cihqc29uU3RyaW5nLmdldCgpLCA9PSwgIjIu
NSIpOworCisgICAgICAgIHZhbHVlID0gYWRvcHRHUmVmKGpzY192YWx1ZV9uZXdfYm9vbGVhbihj
b250ZXh0LmdldCgpLCBUUlVFKSk7CisgICAgICAgIGNoZWNrZXIud2F0Y2godmFsdWUuZ2V0KCkp
OworICAgICAgICBqc29uU3RyaW5nLnJlc2V0KGpzY192YWx1ZV90b19qc29uKHZhbHVlLmdldCgp
LCAwKSk7CisgICAgICAgIGdfYXNzZXJ0X2NtcHN0cihqc29uU3RyaW5nLmdldCgpLCA9PSwgInRy
dWUiKTsKKworICAgICAgICB2YWx1ZSA9IGFkb3B0R1JlZihqc2NfdmFsdWVfbmV3X2Jvb2xlYW4o
Y29udGV4dC5nZXQoKSwgRkFMU0UpKTsKKyAgICAgICAgY2hlY2tlci53YXRjaCh2YWx1ZS5nZXQo
KSk7CisgICAgICAgIGpzb25TdHJpbmcucmVzZXQoanNjX3ZhbHVlX3RvX2pzb24odmFsdWUuZ2V0
KCksIDApKTsKKyAgICAgICAgZ19hc3NlcnRfY21wc3RyKGpzb25TdHJpbmcuZ2V0KCksID09LCAi
ZmFsc2UiKTsKKworICAgICAgICB2YWx1ZSA9IGFkb3B0R1JlZihqc2NfdmFsdWVfbmV3X3N0cmlu
Zyhjb250ZXh0LmdldCgpLCBudWxscHRyKSk7CisgICAgICAgIGNoZWNrZXIud2F0Y2godmFsdWUu
Z2V0KCkpOworICAgICAgICBqc29uU3RyaW5nLnJlc2V0KGpzY192YWx1ZV90b19qc29uKHZhbHVl
LmdldCgpLCAwKSk7CisgICAgICAgIGdfYXNzZXJ0X2NtcHN0cihqc29uU3RyaW5nLmdldCgpLCA9
PSwgIlwiXCIiKTsKKworICAgICAgICB2YWx1ZSA9IGFkb3B0R1JlZihqc2NfdmFsdWVfbmV3X3N0
cmluZyhjb250ZXh0LmdldCgpLCAiRm9vIikpOworICAgICAgICBjaGVja2VyLndhdGNoKHZhbHVl
LmdldCgpKTsKKyAgICAgICAganNvblN0cmluZy5yZXNldChqc2NfdmFsdWVfdG9fanNvbih2YWx1
ZS5nZXQoKSwgMCkpOworICAgICAgICBnX2Fzc2VydF9jbXBzdHIoanNvblN0cmluZy5nZXQoKSwg
PT0sICJcIkZvb1wiIik7CisKKyAgICAgICAgdmFsdWUgPSBhZG9wdEdSZWYoanNjX3ZhbHVlX25l
d19hcnJheShjb250ZXh0LmdldCgpLCBHX1RZUEVfSU5ULCAxLCBHX1RZUEVfSU5ULCAyLCBHX1RZ
UEVfTk9ORSkpOworICAgICAgICBjaGVja2VyLndhdGNoKHZhbHVlLmdldCgpKTsKKyAgICAgICAg
anNvblN0cmluZy5yZXNldChqc2NfdmFsdWVfdG9fanNvbih2YWx1ZS5nZXQoKSwgMCkpOworICAg
ICAgICBnX2Fzc2VydF9jbXBzdHIoanNvblN0cmluZy5nZXQoKSwgPT0sICJbMSwyXSIpOworCisg
ICAgICAgIHZhbHVlID0gYWRvcHRHUmVmKGpzY192YWx1ZV9uZXdfb2JqZWN0KGNvbnRleHQuZ2V0
KCksIG51bGxwdHIsIG51bGxwdHIpKTsKKyAgICAgICAgY2hlY2tlci53YXRjaCh2YWx1ZS5nZXQo
KSk7CisgICAgICAgIEdSZWZQdHI8SlNDVmFsdWU+IHByb3BlcnR5ID0gYWRvcHRHUmVmKGpzY192
YWx1ZV9uZXdfbnVtYmVyKGNvbnRleHQuZ2V0KCksIDQyKSk7CisgICAgICAgIGpzY192YWx1ZV9v
YmplY3Rfc2V0X3Byb3BlcnR5KHZhbHVlLmdldCgpLCAiZm9vIiwgcHJvcGVydHkuZ2V0KCkpOwor
ICAgICAgICBqc29uU3RyaW5nLnJlc2V0KGpzY192YWx1ZV90b19qc29uKHZhbHVlLmdldCgpLCAw
KSk7CisgICAgICAgIGdfYXNzZXJ0X2NtcHN0cihqc29uU3RyaW5nLmdldCgpLCA9PSwgIntcImZv
b1wiOjQyfSIpOworCisgICAgICAgIGpzb25TdHJpbmcucmVzZXQoanNjX3ZhbHVlX3RvX2pzb24o
dmFsdWUuZ2V0KCksIDQpKTsKKyAgICAgICAgZ19hc3NlcnRfY21wc3RyKGpzb25TdHJpbmcuZ2V0
KCksID09LCAie1xuICAgIFwiZm9vXCI6IDQyXG59Iik7CisKKyAgICAgICAgdmFsdWUgPSBhZG9w
dEdSZWYoanNjX2NvbnRleHRfZXZhbHVhdGUoY29udGV4dC5nZXQoKSwgIih7Z2V0IGEoKXsgdGhy
b3cgJyc7fX0pIiwgLTEpKTsKKyAgICAgICAgY2hlY2tlci53YXRjaCh2YWx1ZS5nZXQoKSk7Cisg
ICAgICAgIGJvb2wgZGlkVGhyb3cgPSBmYWxzZTsKKyAgICAgICAgZ19hc3NlcnRfdGhyb3dfYmVn
aW4oZXhjZXB0aW9uSGFuZGxlciwgZGlkVGhyb3cpOworICAgICAgICBnX2Fzc2VydF9udWxsKGpz
Y192YWx1ZV90b19qc29uKHZhbHVlLmdldCgpLCAwKSk7CisgICAgICAgIGdfYXNzZXJ0X2RpZF90
aHJvdyhleGNlcHRpb25IYW5kbGVyLCBkaWRUaHJvdyk7CisgICAgfQorfQorCiBpbnQgbWFpbihp
bnQgYXJnYywgY2hhcioqIGFyZ3YpCiB7CiAgICAgZ190ZXN0X2luaXQoJmFyZ2MsICZhcmd2LCBu
dWxscHRyKTsKQEAgLTM3NjEsNiArMzg5OSw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiog
YXJndikKICNpZmRlZiBHX0RFRklORV9BVVRPUFRSX0NMRUFOVVBfRlVOQwogICAgIGdfdGVzdF9h
ZGRfZnVuYygiL2pzYy9hdXRvY2xlYW51cHMiLCB0ZXN0c0pTQ0F1dG9jbGVhbnVwcyk7CiAjZW5k
aWYKKyAgICBnX3Rlc3RfYWRkX2Z1bmMoIi9qc2MvanNvbiIsIHRlc3RKU0NKU09OKTsKIAogICAg
IHJldHVybiBnX3Rlc3RfcnVuKCk7CiB9Cg==
</data>
<flag name="review"
          id="401537"
          type_id="1"
          status="+"
          setter="aperez"
    />
          </attachment>
      

    </bug>

</bugzilla>