Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 3A1F7200C60 for ; Mon, 24 Apr 2017 17:55:23 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 38AE4160B99; Mon, 24 Apr 2017 15:55:23 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 5735D160B8F for ; Mon, 24 Apr 2017 17:55:22 +0200 (CEST) Received: (qmail 89122 invoked by uid 500); 24 Apr 2017 15:55:19 -0000 Mailing-List: contact users-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@openjpa.apache.org Delivered-To: mailing list users@openjpa.apache.org Received: (qmail 87917 invoked by uid 99); 24 Apr 2017 15:55:18 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 24 Apr 2017 15:55:18 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id F2285185E72 for ; Mon, 24 Apr 2017 15:55:17 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.879 X-Spam-Level: * X-Spam-Status: No, score=1.879 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=googlemail.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id bb0-0tPQ_jNU for ; Mon, 24 Apr 2017 15:55:13 +0000 (UTC) Received: from mail-yb0-f180.google.com (mail-yb0-f180.google.com [209.85.213.180]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id AFE495FD7D for ; Mon, 24 Apr 2017 15:55:12 +0000 (UTC) Received: by mail-yb0-f180.google.com with SMTP id 81so61147326ybp.0 for ; Mon, 24 Apr 2017 08:55:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=uT1o0NPs4ixosOGe3F6x+75RrhyA2gBk1Met79hodXk=; b=Tn4ruaZnD+SbfK4gKe8JghrIR2nlJTXhCxbMFYpI4hXLzkd3yzrThYC0XThskjUziP hmsWE84Mtwj0lkuujHbwtKxfQXgC9i7r/mrYjAF69IYHK5MG9Fbs5NxzS3XLAA97XeVG nimQu9UckS370lMuWzt32ca/ZLy47XAGpt8i2oXQj+GhSzcfE8c85zJBzTxnhJEVQI9O xY20G+6x9C3lBt9+37kWLsb+POSl4+eHxoSLFOdB6naYMZWuGrHf71k03z58IVamktZu 506yYUuPr9XvB1PENj+wVbBQ3sFmua2AD/8kRW7MXpZPVFlqp+i8dp3oTJ4cbwCAremd GpPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=uT1o0NPs4ixosOGe3F6x+75RrhyA2gBk1Met79hodXk=; b=qsF8rN58rad56coMaiyZbWnYkPCwYW5vGS1MJ3Ux4o6DejzqK7ZGvxCQD26HgzMrjY dQFuq5787alazC+rXvShtFGvGSvkbQc6FN7eqWdZiYdkWc5GwVssEnUanu9BEoNncWwA O2ICQu//9NfwXgDfm3OAVzdL2UxrQjXwYbVM5CGB224yQfLZjic1rdespvKULX1CLOCt 2TWChThvR5WBypyrfQMRFYvzCtmq9ODAOkDorml0W7g6ylHSpGPpsH2AS8MwtmmDoBag vtKIMAdXM610IXMGrRcDlfd2JeHt7VcCiHZsRq53y9fpqeMZCmFoevvzE9pR+N0dwAk4 Yo+g== X-Gm-Message-State: AN3rC/7D1gWEtQPicKSj0LqqmozGeZVML3MY7YnHLlwV5QoZhk2SsTQm MRIhrwBmWzxkv6kg2Wbn9YIUZiy7xPq4Sss= X-Received: by 10.37.31.193 with SMTP id f184mr5277973ybf.25.1493049312117; Mon, 24 Apr 2017 08:55:12 -0700 (PDT) MIME-Version: 1.0 Received: by 10.37.81.132 with HTTP; Mon, 24 Apr 2017 08:55:11 -0700 (PDT) From: Malte Date: Mon, 24 Apr 2017 17:55:11 +0200 Message-ID: Subject: Problem with EntityExistsException To: users@openjpa.apache.org Content-Type: multipart/mixed; boundary=001a1143e1c8e1d001054deba11e archived-at: Mon, 24 Apr 2017 15:55:23 -0000 --001a1143e1c8e1d001054deba11e Content-Type: multipart/alternative; boundary=001a1143e1c8e1cffe054deba11c --001a1143e1c8e1cffe054deba11c Content-Type: text/plain; charset=UTF-8 Hello all! In a special situation, I'll get a wrong EntityExistsException. I've extract the problem to a simple project (attached). I do this: try { entManager.persist(data); entManager.flush(); entManager.detach(data); doOtherDBCallsWithError(); entManager.getTransaction().commit(); } catch (Exception e) { entManager.getTransaction().rollback(); entManager.getTransaction().begin(); entManager.persist(data); entManager.getTransaction().commit(); } If doOtherDBCallsWithError throws an Exception, it is not possible to persist the object in the catch-block. The second persists throws "org.apache.openjpa.persistence.EntityExistsException: Attempt to persist detached object "de.test.model.Test-1". If this is a new instance, make sure any version and/or auto-generated primary key fields are null/default when persisting." If I use merge instead, the object will also not persist. If I remove the detach, everything works. Is this a bug or is the call order persist-flush-detach-commit against the specification? Best regards, Malte --001a1143e1c8e1cffe054deba11c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hello all!

In a special situation, = I'll get a wrong EntityExistsException.

I've extr= act the problem to a simple project (attached).

I do this= :
=C2=A0=C2=A0 try {
= =C2=A0=C2=A0=C2=A0=C2=A0 entManager.persist(data);
=C2=A0=C2=A0=C2=A0=C2= =A0 entManager.flush();
=C2=A0=C2=A0=C2=A0=C2=A0 entManager.detach(data)= ;
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0 doOtherDBCallsWithError();=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
=C2=A0=C2=A0=C2=A0=C2=A0 ent= Manager.getTransaction().commit();
=C2=A0=C2=A0 } catch (Exception e) {<= br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 entManager.getTransaction().rollback();=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 entManager.= getTransaction().begin();
=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 entManager.persist(data);
=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0
entManager.getTransaction().com= mit();
=C2=A0=C2=A0 }=C2=A0=C2=A0
=C2=A0=C2=A0

= If doOtherDBCallsWithError throws an Exception, it is not possible to persi= st the object in the catch-block. The second persists throws "org.apac= he.openjpa.persistence.EntityExistsException: Attempt to persist detached o= bject "de.test.model.Test-1".=C2=A0 If this is a new instance, ma= ke sure any version and/or auto-generated primary key fields are null/defau= lt when persisting." If I use merge instead, the object will also not = persist. If I remove the detach, everything works.

Is thi= s a bug or is the call order persist-flush-detach-commit against the specif= ication?

Best regards,
Malte
--001a1143e1c8e1cffe054deba11c-- --001a1143e1c8e1d001054deba11e Content-Type: application/zip; name="test.zip" Content-Disposition: attachment; filename="test.zip" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j1wani740 UEsDBBQAAAAIAACEmEqw6uN4ugEAAMwEAAAHAAAAcG9tLnhtbI2TTU/cMBCGz6nU/xCteo2dbPdQ VmmkHlq1EhSkXRA3ZOwhZJXYwfZ+IMR/Z+LYYYElWlk5+J1nZl57nLzVagXcxrumlubn5N7adk5p wzYgCWsZvweidEkvzs/ojKQknfTkfGeqgd5ut2T73XHTNM3o9dnpAhMbllTSWCY5TGLk58aJp4oz Wyl5RLP4M2JnRC8mjiO4nxRfv8Rx3igB9RVogx0KF8zpvtZTpVbr9p8oBBALxubUC32UaVvdMW5x v2pZTsM+xDe+VNc5Sxb/f10s/p4vc7rZbyFZA4VqQWKJpevRKS7WfRHePEaxMhgUoyhMgtyuq1oQ o9aaw2/JlahkWVwu/yQ/cjrG+CrK2BLMQ01W4paTYOkEjZ6kmRNnWOcg1VfwngdxSmZkmlMvv2X7 wXDVtFUN2hsqMoJWD4YOZlmmS7BD1sdQl+XO/npfuFATgKYESB7EaE97dM2iYdbuzLo79DDunhjm /Q4K8sCFo397Onx/z/tPAHn6xku34jGD+LDDG/eXPWLUEwmrx5167liLR/orQStZNYqYFrgZsRnA BD3cTEl60yWMGM5INuow7F+HPvwUxQtQSwMEFAAAAAAAgYOYSgAAAAAAAAAAAAAAAAQAAABzcmMv UEsDBBQAAAAAAIGDmEoAAAAAAAAAAAAAAAAJAAAAc3JjL21haW4vUEsDBBQAAAAAAMiImEoAAAAA AAAAAAAAAAAOAAAAc3JjL21haW4vamF2YS9QSwMEFAAAAAAAOoSYSgAAAAAAAAAAAAAAABEAAABz cmMvbWFpbi9qYXZhL2RlL1BLAwQUAAAAAADZiZhKAAAAAAAAAAAAAAAAFgAAAHNyYy9tYWluL2ph dmEvZGUvdGVzdC9QSwMEFAAAAAgAAY2YSut4pENDAwAAUwwAAB8AAABzcmMvbWFpbi9qYXZhL2Rl L3Rlc3QvTWFpbi5qYXZhtVZfT9swEH9H4jvc+uROEDZpT8CQCnRPZTDaaQ/THlzn2hqSONhOoUN8 952bNH/qQtNNs6rUse9+97vznS8pF/d8ihBiYNHYk/29/T0Zp0pbuONzHmRWRkFPa74YSLftbxbr jZ2nIEVtaAMTgcH72vbKUBCrEKNgtLKZZuNIChARNwauuEzgeX8PaKRazrlFMJZbEugnVtrFFU+I tP7ChVV6AZjY5srJdt2aUiGdP3MiK5W5kiHERIcNrZbJ9Ocv4Hpquit2uRVMuUbWPanWqhl5SE5z y+EzJPi4fGcfD6DjJgmPsbNZr6IXTNGONE8M+SZVwrrBGKfEqK5n9SKnVI3hgsIfByqzQUrUbZSw zvJUCj7HpeE14z6BQo05tVLJF5tEmZmxNwRCtFzMNsI030J1bWeoL88veBSZH9LO+lorTdh1qZbs vfAJFcfSEtj2gOWiYDIh0JhGxF5AcCtmwPpPAlMHDdhtcwgTLqNM4+GZVlE0pvrreCHLhYeWNom6 cLnV3r0VrKe0nZpLIz6ldO/sYnCVjn+VP0dHNcEY9RQLsX870JeGzy/539qtUJV4WcONA5SJtOWd QYYbBkKtUlfCIz6OmucjNBK8v16fvXUIFPu3BQ53HFsBSaBlnF4tTLAzrR4NVMXw7NlErSubYFSM oBwaWcgmE3gkNEAHVyecA7urs8Qm7XLanrp/mhVDv4PQbX1Ta2H5mW5qPqxzl3LX0ZZMfDwC8sA3 wbHWjjQyr+GFa8WneaM6A/MQXcShKdpO2cJPzzYn5Uo+4GHIOpe31zcw6p0P+uD5VvPyCUVmcUia VIE8CQ0rUA6oI2VYc2mLU82igf/i08Vtvzfq17xiy6ywB+DaMMy5FjOu2acP3e7KXx+kNxj1b2sY 0Lu8dA7FnHLmHheE6bRh13BNeGQoXrvdWhsAN4SLlsjHsVIR8gTkNFEal1Xb/IyZKA3FVw6IHO64 hkCy7S9kryP4HynV+JYhbTy4Z6NYiir5Sv7OcSnECl4lcDVy/aCIyPeUekh1+7alvdZHvE5fuxGa TX83M80GvTbkBNi7109pSwdHZ22gBI/kbwyv6JuFKLDuuqHm3Ypru0Xurb/60/qs2KLfH1BLAwQU AAAAAACHjJhKAAAAAAAAAAAAAAAAHAAAAHNyYy9tYWluL2phdmEvZGUvdGVzdC9tb2RlbC9QSwME FAAAAAgApYyYShVefXVZAQAA3gIAACUAAABzcmMvbWFpbi9qYXZhL2RlL3Rlc3QvbW9kZWwvVGVz dC5qYXZhdVHdboIwFL6WhHc44UqJqdm1IXHZXELitmy63Vd6xG6lsPZo5hbffS3g0BCBkHK+8/2F imefPEcQyAgtsaIUqKZhEAayqEpD8MH3nMmSLdFIruQPXyucXqDfrEJjpSXUGbLYgf6exHEYQAyr LcI/TpApbi1sSgPkAG8JghNfc+u+vDarWf41CYPZXJOkgzs88QLFyw7NYajdMYlWPu1GanGrVDSG Lw8l0XK+mN+tgODh9fkR/A5QNAqDardWMmvcm7EroLBwkSycV4PfMBhURu45IVji5FjOhStQpc7B 1qvvvk+p39J7SOBmUTcezFJxRk01YY4GpPBoN1+SkU7Hd2gA9zTh6ljDUR3g2Ac6wfG5SLMP7qKt tEwKSBrPbubX3LS2bLQ76ZNqjpSK1nxgkHZGnwR7nH3pXGxN6EK11C5En9jG9l7+b166dVGv+LWk XvXBlY7+Pv4BUEsDBBQAAAAAAMiImEoAAAAAAAAAAAAAAAAXAAAAc3JjL21haW4vamF2YS9NRVRB LUlORi9QSwMEFAAAAAgAh4yYSiRJ1hrFAQAANgQAACYAAABzcmMvbWFpbi9qYXZhL01FVEEtSU5G L3BlcnNpc3RlbmNlLnhtbJ1T72vbMBD9nEL/B6HPiZyksBVjp4SmgYHXZWnG9i1otmYryJInne3k v9/JdI4zGP1hg9G9e/fe6SRHd8dSkUZYJ42O6YxNKRE6NZnUeUy/7daTW3q3uL6KKk9xgDlxps/Z jF5fjVBCu5gWAFUYBF3EDmnFjM19FGgXDMop6Rjh0cm+pm1b1t50BfPpdBb8+Jw8pYUo+URqBxyr vA9WhK6DE5NywBZebUpeyRuu9/P9jB1dRhfoPRzApNYSiOaliOmh4iAcdJxRlCru3CITzGOsNJlQ bIfLKOgySMLXEytrUBCk8NjoDJz+yvKGH9nAkx2ynymrraKk4apGigfCyjjIrXC/FW5O4VRUgUj4 4fbjTYCt7bveSPA2Eyds7+IFPPBWkQq32xqb9ULv6SSzshn0gkfGzhtmqy77X00MNI6AJSb3lwef Z5mV+MVrBYlohIq/L7ePY7KtNUgs+vS4/jImO2PU8/LpaxLvtsv7hxdt7o3WIvWXcs1TMPa06Y/4 0n5jBQBmpYYYbC3GZIAkUotE6ByKeDafYsqDG27RCnA6XcGLraxOGMv0QRf+zymFhmWOn36OQ5Eo uLiKGP970RG9ADH+A1BLAwQUAAAAAACBg5hKAAAAAAAAAAAAAAAAEwAAAHNyYy9tYWluL3Jlc291 cmNlcy9QSwMEFAAAAAAAgYOYSgAAAAAAAAAAAAAAAAkAAABzcmMvdGVzdC9QSwMEFAAAAAAA2YmY SgAAAAAAAAAAAAAAAA4AAABzcmMvdGVzdC9qYXZhL1BLAwQUAAAAAADZiZhKAAAAAAAAAAAAAAAA EQAAAHNyYy90ZXN0L2phdmEvZGUvUEsDBBQAAAAAANmJmEoAAAAAAAAAAAAAAAAWAAAAc3JjL3Rl c3QvamF2YS9kZS90ZXN0L1BLAwQUAAAAAADZiZhKAAAAAAAAAAAAAAAAHAAAAHNyYy90ZXN0L2ph dmEvZGUvdGVzdC9tb2RlbC9QSwMEFAAAAAAAgYOYSgAAAAAAAAAAAAAAABMAAABzcmMvdGVzdC9y ZXNvdXJjZXMvUEsBAj8AFAAAAAgAAISYSrDq43i6AQAAzAQAAAcAJAAAAAAAAAAgAAAAAAAAAHBv bS54bWwKACAAAAAAAAEAGACI/0OIB73SAWC+nPkGvdIBYL6c+Qa90gFQSwECPwAUAAAAAACBg5hK AAAAAAAAAAAAAAAABAAkAAAAAAAAABAAAADfAQAAc3JjLwoAIAAAAAAAAQAYALaBnfkGvdIBtoGd +Qa90gFr5Zz5Br3SAVBLAQI/ABQAAAAAAIGDmEoAAAAAAAAAAAAAAAAJACQAAAAAAAAAEAAAAAEC AABzcmMvbWFpbi8KACAAAAAAAAEAGADNz535Br3SAc3PnfkGvdIBjDOd+Qa90gFQSwECPwAUAAAA AADIiJhKAAAAAAAAAAAAAAAADgAkAAAAAAAAABAAAAAoAgAAc3JjL21haW4vamF2YS8KACAAAAAA AAEAGABW8O1RDL3SAVbw7VEMvdIBilqd+Qa90gFQSwECPwAUAAAAAAA6hJhKAAAAAAAAAAAAAAAA EQAkAAAAAAAAABAAAABUAgAAc3JjL21haW4vamF2YS9kZS8KACAAAAAAAAEAGAAxsyXKB73SATGz JcoHvdIBeT4lyge90gFQSwECPwAUAAAAAADZiZhKAAAAAAAAAAAAAAAAFgAkAAAAAAAAABAAAACD AgAAc3JjL21haW4vamF2YS9kZS90ZXN0LwoAIAAAAAAAAQAYABA0WIQNvdIBEDRYhA290gExsyXK B73SAVBLAQI/ABQAAAAIAAGNmErreKRDQwMAAFMMAAAfACQAAAAAAAAAIAAAALcCAABzcmMvbWFp bi9qYXZhL2RlL3Rlc3QvTWFpbi5qYXZhCgAgAAAAAAABABgAJhEaCRG90gHgOSfKB73SAeA5J8oH vdIBUEsBAj8AFAAAAAAAh4yYSgAAAAAAAAAAAAAAABwAJAAAAAAAAAAQAAAANwYAAHNyYy9tYWlu L2phdmEvZGUvdGVzdC9tb2RlbC8KACAAAAAAAAEAGABdD/KAEL3SAV0P8oAQvdIBum8egw290gFQ SwECPwAUAAAACACljJhKFV59dVkBAADeAgAAJQAkAAAAAAAAACAAAABxBgAAc3JjL21haW4vamF2 YS9kZS90ZXN0L21vZGVsL1Rlc3QuamF2YQoAIAAAAAAAAQAYAAEiBKMQvdIBTUvqag290gFNS+pq Db3SAVBLAQI/ABQAAAAAAMiImEoAAAAAAAAAAAAAAAAXACQAAAAAAAAAEAAAAA0IAABzcmMvbWFp bi9qYXZhL01FVEEtSU5GLwoAIAAAAAAAAQAYAAlm7lEMvdIBCWbuUQy90gFW8O1RDL3SAVBLAQI/ ABQAAAAIAIeMmEokSdYaxQEAADYEAAAmACQAAAAAAAAAIAAAAEIIAABzcmMvbWFpbi9qYXZhL01F VEEtSU5GL3BlcnNpc3RlbmNlLnhtbAoAIAAAAAAAAQAYAAjp+oAQvdIBCWbuUQy90gEJZu5RDL3S AVBLAQI/ABQAAAAAAIGDmEoAAAAAAAAAAAAAAAATACQAAAAAAAAAEAAAAEsKAABzcmMvbWFpbi9y ZXNvdXJjZXMvCgAgAAAAAAABABgAzc+d+Qa90gHNz535Br3SAc3PnfkGvdIBUEsBAj8AFAAAAAAA gYOYSgAAAAAAAAAAAAAAAAkAJAAAAAAAAAAQAAAAfAoAAHNyYy90ZXN0LwoAIAAAAAAAAQAYAOL2 nfkGvdIB4vad+Qa90gG2gZ35Br3SAVBLAQI/ABQAAAAAANmJmEoAAAAAAAAAAAAAAAAOACQAAAAA AAAAEAAAAKMKAABzcmMvdGVzdC9qYXZhLwoAIAAAAAAAAQAYACQ8S4QNvdIBJDxLhA290gHBqJ35 Br3SAVBLAQI/ABQAAAAAANmJmEoAAAAAAAAAAAAAAAARACQAAAAAAAAAEAAAAM8KAABzcmMvdGVz dC9qYXZhL2RlLwoAIAAAAAAAAQAYAChjS4QNvdIBKGNLhA290gEkPEuEDb3SAVBLAQI/ABQAAAAA ANmJmEoAAAAAAAAAAAAAAAAWACQAAAAAAAAAEAAAAP4KAABzcmMvdGVzdC9qYXZhL2RlL3Rlc3Qv CgAgAAAAAAABABgAKGNLhA290gEoY0uEDb3SAShjS4QNvdIBUEsBAj8AFAAAAAAA2YmYSgAAAAAA AAAAAAAAABwAJAAAAAAAAAAQAAAAMgsAAHNyYy90ZXN0L2phdmEvZGUvdGVzdC9tb2RlbC8KACAA AAAAAAEAGAAoY0uEDb3SAShjS4QNvdIBKGNLhA290gFQSwECPwAUAAAAAACBg5hKAAAAAAAAAAAA AAAAEwAkAAAAAAAAABAAAABsCwAAc3JjL3Rlc3QvcmVzb3VyY2VzLwoAIAAAAAAAAQAYAOL2nfkG vdIB4vad+Qa90gHi9p35Br3SAVBLBQYAAAAAEgASACoHAACdCwAAAAA= --001a1143e1c8e1d001054deba11e--