Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b2cdw-0002tO-B2 for pgadmin-hackers@arkaria.postgresql.org; Tue, 17 May 2016 10:54:28 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1b2cdv-0005HX-FP for pgadmin-hackers@arkaria.postgresql.org; Tue, 17 May 2016 10:54:27 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1b2cdh-00053Q-4K for pgadmin-hackers@postgresql.org; Tue, 17 May 2016 10:54:13 +0000 Received: from mail-qg0-x232.google.com ([2607:f8b0:400d:c04::232]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1b2cdb-0004JA-BK for pgadmin-hackers@postgresql.org; Tue, 17 May 2016 10:54:12 +0000 Received: by mail-qg0-x232.google.com with SMTP id f92so5586816qgf.0 for ; Tue, 17 May 2016 03:54:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=I6K3J0P7APmJVmBq00qT1GLoAKdcTjqUI5dhDUgWc6o=; b=MFQ4SDydZWUwVOKVbOTLzqa4G3YrMx6N+ls05dnnQIYjtItDHOAzYhISG5CtYWCkjr hZY7HtBYSeVutc9p/Ov6vuV6+qu1obPKP3ZL6sUN+lQOPG+zODicdyOecrhsIje/tfny bvyV4zNzolwTIvWaIB8+z9h4jsCZW+CIPjHdhNavE8rdERP9P9QvPqTLlJxzkQOU8C1x PFyQkaTKNvK1duWlvBH4L2DP+zu0TGbdhuGcmQcFeXSAvYKI6Te0Gvtm73yAQ5s9/fdA hSJjqtUIMKkTxTxvfBInXY7NrRKlcpd6ciTZQ2GUNt7uwsajmiMwvV4KAOY532SfS6oi 65Fw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=I6K3J0P7APmJVmBq00qT1GLoAKdcTjqUI5dhDUgWc6o=; b=BmLmYXRjQWRK1FjbDdpO2jbWWr+Otel378JcCp3mJxtebrBaVbDnps18LK3W/LAM1D lKRxCqThVCPCgN8Dm6DMJN75O2VtEycSCQH+olXiEM6gK3d1Jhf15hON9mcWlDect6/M cMCs5gzFl4R/4DnD2kZ6KXaSJJpVkd3Q9jKBpDdsCBevDZa3rsiLUNwd+V+DKeOmSF5q uL7SqCC8LrjRGtycx8OzTcgwbzbnuNF4b+0D6lENXjmeiT50I3Y4DKB9pzG5Ky1yCfKD RPc6hqOjZ+h0skKTvsFDs8+5ppXLbWyq9wAF63sKfNurxU4Cn3k8PAWa71ROMARg3jQV aM3A== X-Gm-Message-State: AOPr4FVEhLv7rU4E7cV6gGG5BOtnWcXBp3/m2BgY/bzr9L+X63RiNiZLAnU1atmACFdGlAWayMk0lawIwIZGq+Eb MIME-Version: 1.0 X-Received: by 10.140.246.68 with SMTP id r65mr535366qhc.80.1463482445748; Tue, 17 May 2016 03:54:05 -0700 (PDT) Received: by 10.140.99.43 with HTTP; Tue, 17 May 2016 03:54:05 -0700 (PDT) In-Reply-To: References: Date: Tue, 17 May 2016 16:24:05 +0530 Message-ID: Subject: Re: Patch for pgAdmin4 package on Mac OS X From: Sandeep Thakkar To: Dave Page , Paresh More Cc: pgadmin-hackers , Hamid Quddus Content-Type: multipart/mixed; boundary=001a1139bb245126180533078f3c X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --001a1139bb245126180533078f3c Content-Type: multipart/alternative; boundary=001a1139bb245126120533078f3a --001a1139bb245126120533078f3a Content-Type: text/plain; charset=UTF-8 Hi Dave I have fixed the issues. Attached is the updated patch. The docs are built as part of 'appbundle' target, there is no separate target in Makefile for this. I observed that it requires the python modules to get this built. We create virtual environment as a part of 'appbundle' target because we do everything in a single script "build.sh". Hence, right now I added doc build in the same build script. BTW, the online help returns me the following error now: "The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application." Since this is not 404, it means that it atleast got index.html, right? May be this should be handled in the source code. Paresh is working on updating pgAdmin4.py to autocreate database configuration if does not exist. He will share the patch. On Fri, May 13, 2016 at 6:41 PM, Dave Page wrote: > On Fri, May 13, 2016 at 2:01 PM, Sandeep Thakkar > wrote: > > Thanks Dave. > > > > Please see inline. > > > > On Fri, May 6, 2016 at 9:03 PM, Dave Page wrote: > >> > >> Hi > >> > >> Thanks. I've applied the path fix patch. The second one needs a little > >> work - I've attached an updated version to work from: > >> > >> - I've updated the README, and some of the default values. > > > > OK. The default values of PGDIR and QTDIR set by you is different than > mine. > > I installed them through macports. > > Right. I went with the default directories from the original projects. > > >> > >> - I've removed the file type registration for .sql files. > > > > > > OK. > >> > >> > >> - Should we note that the user may need to run in a virtualenv? > > > > > > No, we bundle private environment, right? > > I meant "the user building the package", not the end user. > > >> - Please move build-mac.sh to pkg/build.sh, and create a target in > >> /Makefile to > >> execute it, e.g. "make appbundle" > > > > > > Sure. You mean move to pkg/mac/build.sh, right? > > Yes :-) > > >> - Extend the Makefile to add a "clean-appbundle" target, which should > also > >> be > >> called by the "clean" target. > >> > > OK. > >> > >> - At present, it is bundling my pre-existing configuration database. It > >> *must* > >> create a new one and bundle that, without touching the existing one (I > >> guess > >> that may require a new command line option for setup.py). > > > > > > No, it's not bundling the pgadmin4.db at all, I skipped it :). Paresh is > > working on this. > > Oh - in that case it used my existing one. Which of course, it should > not overwrite if already present (which reminds me - adding a todo > item to auto-upgrade the database if needed on first run). > > >> - The online help is broken (are you building it)? I suggest adding a > >> top-level > >> Makefile target to do so. > >> > > Sorry, which online help? > > That which can be found in $SRC/doc - currently only for en_US. At > present it's built with "cd doc/en_US && make -f Makefile.sphinx > html", but I think we should have a top-level target to call that for > us. > > The help can then be accessed from Help -> Online Help within pgAdmin. > Obviously the files need to be put in the right place in the app > bundle. > > >> - Working directories should be added to /.gitignore. Please ensure they > >> don't > >> clash with those used by pip (and ideally are in one place, e.g. > >> mac-build/). > >> > > OK. > > > >> > >> - I saw various errors in the build output, though the resulting DMG > >> seemed to > >> work fine; > >> > > Yeah, because I had libpq.dylib present in $PGDIR/ and may be yours > present > > in $PGDIR/lib/. I will be using the default values suggested by you and > fix > > this. Thanks! > > Right - please make sure the build fails in cases like this too. > > Thanks. > > >> ... > >> cp: /usr/local/pgsql/libpq.5.dylib: No such file or directory > >> libpq.5.dylib not found in /usr/local/pgsql > >> Completing app: /Users/dpage/git/pgadmin4/pgAdmin4.app > >> ... > >> > >> ... > >> App: pgAdmin4.app: Post-processing: .//Contents/MacOS/pgAdmin4 > >> App: pgAdmin4.app: Adding symlink: QtWebKitWidgets (because of: > >> .//Contents/MacOS/pgAdmin4) > >> cp: > >> > @rpath/QtWebKitWidgets.framework/Versions/5/../../../QtWebKitWidgets.framework: > >> No such file or directory > >> chmod: > >> > Contents/Frameworks/QtWebKitWidgets.framework/Versions/5/QtWebKitWidgets: > >> No such file or directory > >> Rewriting ID in > >> Contents/Frameworks/QtWebKitWidgets.framework/Versions/5/QtWebKitWidgets > >> to QtWebKitWidgets > >> error: > >> > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: > >> can't open file: > >> Contents/Frameworks/QtWebKitWidgets.framework/Versions/5/QtWebKitWidgets > >> (No such file or directory) > >> Cleaning up > >> ... > >> > >> > >> On Mon, Apr 18, 2016 at 1:25 PM, Sandeep Thakkar > >> wrote: > >> > Hi Team, Dave, > >> > > >> > Attached herewith are two patches. > >> > > >> > pgadmin4-mac-bundle.patch - This includes scripts to build Mac app > >> > bundle > >> > and DMG for pgAdmin4. This is the tree of the generated app bundle: > >> > > >> > ---- > >> > $ find pgAdmin4.app/ -maxdepth 3 -type d > >> > pgAdmin4.app/ > >> > pgAdmin4.app//ContentspgAdmin4.app//Contents/Frameworks > >> > pgAdmin4.app//Contents/Frameworks/Python.framework > >> > pgAdmin4.app//Contents/Frameworks/QtCore.framework > >> > pgAdmin4.app//Contents/Frameworks/QtDBus.framework > >> > pgAdmin4.app//Contents/Frameworks/QtGui.framework > >> > pgAdmin4.app//Contents/Frameworks/QtMultimedia.framework > >> > pgAdmin4.app//Contents/Frameworks/QtMultimediaWidgets.framework > >> > pgAdmin4.app//Contents/Frameworks/QtNetwork.framework > >> > pgAdmin4.app//Contents/Frameworks/QtOpenGL.framework > >> > pgAdmin4.app//Contents/Frameworks/QtPositioning.framework > >> > pgAdmin4.app//Contents/Frameworks/QtPrintSupport.framework > >> > pgAdmin4.app//Contents/Frameworks/QtQml.framework > >> > pgAdmin4.app//Contents/Frameworks/QtQuick.framework > >> > pgAdmin4.app//Contents/Frameworks/QtSensors.framework > >> > pgAdmin4.app//Contents/Frameworks/QtSql.framework > >> > pgAdmin4.app//Contents/Frameworks/QtWebChannel.framework > >> > pgAdmin4.app//Contents/Frameworks/QtWebKit.framework > >> > pgAdmin4.app//Contents/Frameworks/QtWebKitWidgets.framework > >> > pgAdmin4.app//Contents/Frameworks/QtWidgets.framework > >> > pgAdmin4.app//Contents/MacOS > >> > pgAdmin4.app//Contents/PlugIns > >> > pgAdmin4.app//Contents/PlugIns/platforms > >> > pgAdmin4.app//Contents/Resources > >> > pgAdmin4.app//Contents/Resources/venv > >> > pgAdmin4.app//Contents/Resources/web > >> > --- > >> > > >> > pgadmin4-fixpath-mac.patch - This is for runtime/Server.cpp to fix the > >> > path > >> > where the runtime looks for web application path in app bundle. > >> > > >> > > >> > Kindly review and suggest the changes required. Thanks. > >> > > >> > -- > >> > Sandeep Thakkar > >> > > >> > >> > >> > >> -- > >> Dave Page > >> Blog: http://pgsnake.blogspot.com > >> Twitter: @pgsnake > >> > >> EnterpriseDB UK: http://www.enterprisedb.com > >> The Enterprise PostgreSQL Company > > > > > > > > > > -- > > Sandeep Thakkar > > > > > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > -- Sandeep Thakkar --001a1139bb245126120533078f3a Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Dave=

I have fixed the issues. Attached i= s the updated patch.

Th= e docs are built as part of 'appbundle' target, there is no separat= e target in Makefile for this. I observed that it requires the python modul= es to get this built. We create virtual environment as a part of 'appbu= ndle' target because we do everything in a single script "build.sh= ".=C2=A0 Hence, right now I added doc build in the same build script.<= /font>

BTW, the online help returns me the following error now:
"The server encountered an internal error and was unable to= complete your request. Either the server is overloaded or there is an erro= r in the application." Since this is not 404, it means that it atleast= got index.html, right? May be this should be handled in the source code.

Paresh is working on updating pgAdmin4.py to a= utocreate database configuration if does not exist. He will share the patch= .

On Fri, May 13, 2016 at 6:41 PM, Dave Page <dpage@pgadmin.org&= gt; wrote:
On Fri, May 13, 2016= at 2:01 PM, Sandeep Thakkar
<sandeep.thakkar@ent= erprisedb.com> wrote:
> Thanks Dave.
>
> Please see inline.
>
> On Fri, May 6, 2016 at 9:03 PM, Dave Page <dpage@pgadmin.org> wrote:
>>
>> Hi
>>
>> Thanks. I've applied the path fix patch. The second one needs = a little
>> work - I've attached an updated version to work from:
>>
>> - I've updated the README, and some of the default values.
>
> OK. The default values of PGDIR and QTDIR set by you is different than= mine.
> I installed them through macports.

Right. I went with the default directories from the original project= s.

>>
>> - I've removed the file type registration for .sql files.
>
>
> OK.
>>
>>
>> - Should we note that the user may need to run in a virtualenv?
>
>
> No, we bundle private environment, right?

I meant "the user building the package", not the end user.=

>> - Please move build-mac.sh to pkg/build.sh, and create a target in=
>> /Makefile to
>>=C2=A0 =C2=A0execute it, e.g. "make appbundle"
>
>
> Sure. You mean move to pkg/mac/build.sh, right?

Yes :-)

>> - Extend the Makefile to add a "clean-appbundle" target,= which should also
>> be
>>=C2=A0 =C2=A0called by the "clean" target.
>>
> OK.
>>
>> - At present, it is bundling my pre-existing configuration databas= e. It
>> *must*
>>=C2=A0 =C2=A0create a new one and bundle that, without touching the= existing one (I
>> guess
>>=C2=A0 =C2=A0that may require a new command line option for setup.p= y).
>
>
> No, it's not bundling the pgadmin4.db at all, I skipped it :). Par= esh is
> working on this.

Oh - in that case it used my existing one. Which of course, it shoul= d
not overwrite if already present (which reminds me - adding a todo
item to auto-upgrade the database if needed on first run).

>> - The online help is broken (are you building it)? I suggest addin= g a
>> top-level
>>=C2=A0 =C2=A0Makefile target to do so.
>>
> Sorry, which online help?

That which can be found in $SRC/doc - currently only for en_US. At present it's built with "cd doc/en_US && make -f Makefile.= sphinx
html", but I think we should have a top-level target to call that for<= br> us.

The help can then be accessed from Help -> Online Help within pgAdmin. Obviously the files need to be put in the right place in the app
bundle.

>> - Working directories should be added to /.gitignore. Please ensur= e they
>> don't
>>=C2=A0 =C2=A0clash with those used by pip (and ideally are in one p= lace, e.g.
>> mac-build/).
>>
> OK.
>
>>
>> - I saw various errors in the build output, though the resulting D= MG
>> seemed to
>>=C2=A0 =C2=A0work fine;
>>
> Yeah, because I had libpq.dylib present in $PGDIR/ and may be yours pr= esent
> in $PGDIR/lib/. I will be using the default values suggested by you an= d fix
> this. Thanks!

Right - please make sure the build fails in cases like this too.

Thanks.

>> ...
>> cp: /usr/local/pgsql/libpq.5.dylib: No such file or directory
>> libpq.5.dylib not found in /usr/local/pgsql
>> Completing app: /Users/dpage/git/pgadmin4/pgAdmin4.app
>> ...
>>
>> ...
>> App: pgAdmin4.app: Post-processing: .//Contents/MacOS/pgAdmin4
>> App: pgAdmin4.app: Adding symlink: QtWebKitWidgets (because of:
>> .//Contents/MacOS/pgAdmin4)
>> cp:
>> @rpath/QtWebKitWidgets.framework/Versions/5/../../../QtWebKitWidge= ts.framework:
>> No such file or directory
>> chmod:
>> Contents/Frameworks/QtWebKitWidgets.framework/Versions/5/QtWebKitW= idgets:
>> No such file or directory
>> Rewriting ID in
>> Contents/Frameworks/QtWebKitWidgets.framework/Versions/5/QtWebKitW= idgets
>> to QtWebKitWidgets
>> error:
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault= .xctoolchain/usr/bin/install_name_tool:
>> can't open file:
>> Contents/Frameworks/QtWebKitWidgets.framework/Versions/5/QtWebKitW= idgets
>> (No such file or directory)
>> Cleaning up
>> ...
>>
>>
>> On Mon, Apr 18, 2016 at 1:25 PM, Sandeep Thakkar
>> <sandeep.th= akkar@enterprisedb.com> wrote:
>> > Hi Team, Dave,
>> >
>> > Attached herewith are two patches.
>> >
>> > pgadmin4-mac-bundle.patch - This includes scripts to build Ma= c app
>> > bundle
>> > and DMG for pgAdmin4. This is the tree of the generated app b= undle:
>> >
>> > ----
>> > $ find pgAdmin4.app/ -maxdepth 3 -type d
>> > pgAdmin4.app/
>> > pgAdmin4.app//ContentspgAdmin4.app//Contents/Frameworks
>> > pgAdmin4.app//Contents/Frameworks/Python.framework
>> > pgAdmin4.app//Contents/Frameworks/QtCore.framework
>> > pgAdmin4.app//Contents/Frameworks/QtDBus.framework
>> > pgAdmin4.app//Contents/Frameworks/QtGui.framework
>> > pgAdmin4.app//Contents/Frameworks/QtMultimedia.framework
>> > pgAdmin4.app//Contents/Frameworks/QtMultimediaWidgets.framewo= rk
>> > pgAdmin4.app//Contents/Frameworks/QtNetwork.framework
>> > pgAdmin4.app//Contents/Frameworks/QtOpenGL.framework
>> > pgAdmin4.app//Contents/Frameworks/QtPositioning.framework
>> > pgAdmin4.app//Contents/Frameworks/QtPrintSupport.framework
>> > pgAdmin4.app//Contents/Frameworks/QtQml.framework
>> > pgAdmin4.app//Contents/Frameworks/QtQuick.framework
>> > pgAdmin4.app//Contents/Frameworks/QtSensors.framework
>> > pgAdmin4.app//Contents/Frameworks/QtSql.framework
>> > pgAdmin4.app//Contents/Frameworks/QtWebChannel.framework
>> > pgAdmin4.app//Contents/Frameworks/QtWebKit.framework
>> > pgAdmin4.app//Contents/Frameworks/QtWebKitWidgets.framework >> > pgAdmin4.app//Contents/Frameworks/QtWidgets.framework
>> > pgAdmin4.app//Contents/MacOS
>> > pgAdmin4.app//Contents/PlugIns
>> > pgAdmin4.app//Contents/PlugIns/platforms
>> > pgAdmin4.app//Contents/Resources
>> > pgAdmin4.app//Contents/Resources/venv
>> > pgAdmin4.app//Contents/Resources/web
>> > ---
>> >
>> > pgadmin4-fixpath-mac.patch - This is for runtime/Server.cpp t= o fix the
>> > path
>> > where the runtime looks for web application path in app bundl= e.
>> >
>> >
>> > Kindly review and suggest the changes required.=C2=A0 Thanks.=
>> >
>> > --
>> > Sandeep Thakkar
>> >
>>
>>
>>
>> --
>> Dave Page
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EnterpriseDB UK: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>
>
>
>
> --
> Sandeep Thakkar
>



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



--
=
Sandeep Th= akkar

--001a1139bb245126120533078f3a-- --001a1139bb245126180533078f3c Content-Type: application/octet-stream; name="pgadmin4-mac-bundle-updated.patch" Content-Disposition: attachment; filename="pgadmin4-mac-bundle-updated.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iobbaiyf0 ZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IDVk ODRkZDIuLjU2MmZlZTYgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIv LmdpdGlnbm9yZQpAQCAtMjQsNCArMjQsNSBAQCBwZ2FkbWluNC5sb2cKIC9w Z2FkbWluNC5lZ2ctaW5mbwogL01BTklGRVNULmluCiAvYnVpbGQKKy9tYWMt YnVpbGQKIC9kaXN0CmRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxl CmluZGV4IGFkYWU0MWMuLmM3NmFhNmQgMTAwNjQ0Ci0tLSBhL01ha2VmaWxl CisrKyBiL01ha2VmaWxlCkBAIC0xMyw5ICsxMyw5IEBAIFNIRUxMID0gL2Jp bi9zaAogIyBIaWdoLWxldmVsIHRhcmdldHMKICMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKIAotYWxsOiBpbnN0YWxsLXBpcC1yZXF1aXJlbWVudHMg cGlwCithbGw6IGluc3RhbGwtcGlwLXJlcXVpcmVtZW50cyBwaXAgYXBwYnVu ZGxlCiAKLWNsZWFuOiBjbGVhbi1waXAKK2NsZWFuOiBjbGVhbi1waXAgY2xl YW4tYXBwYnVuZGxlCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK ICMgUHl0aG9uIFBJUCBwYWNrYWdlCkBAIC0zNCw2ICszNCw3IEBAIFBJUF9D SEVDS19DTUQgPSB3aGljaCBwaXAgJj4gL2Rldi9udWxsICYmIHBpcCBzaG93 IHBpcCB8IGdyZXAgTWV0YWRhdGEtVmVyc2lvbiAyCiBQR0FETUlOX1NSQ19E SVIgPSBwZ2FkbWluNAogUEdBRE1JTl9FR0cgPSAke1BHQURNSU5fU1JDX0RJ Un0uZWdnLWluZm8KIFBHQURNSU5fQlVJTEQgPSBidWlsZAorUEdBRE1JTl9N QUNCVUlMRCA9IG1hYy1idWlsZAogUEdBRE1JTl9ESVNUID0gZGlzdAogUEdB RE1JTl9NQU5JRkVTVCA9IE1BTklGRVNULmluCiBQR0FETUlOX0lOU1RBTExf Q01EID0gcGlwIGluc3RhbGwgLS11c2Utd2hlZWwgLS1maW5kLWxpbmtzPSR7 UEdBRE1JTl9ESVNUfSAke1BHQURNSU5fU1JDX0RJUn0KQEAgLTgzLDkgKzg0 LDE3IEBAIGVuZGlmCiBpbnN0YWxsLXBpcDoKIAkke1BHQURNSU5fSU5TVEFM TF9DTUR9CiAKK2FwcGJ1bmRsZToKKwkuL3BrZy9tYWMvYnVpbGQuc2gKKwog Y2xlYW4tcGlwOgogCXJtIC1yZiAke1BHQURNSU5fU1JDX0RJUn0KIAlybSAt cmYgJHtQR0FETUlOX0VHR30KIAlybSAtcmYgJHtQR0FETUlOX0JVSUxEfQog CXJtIC1yZiAke1BHQURNSU5fRElTVH0KIAlybSAtZiAke1BHQURNSU5fTUFO SUZFU1R9CisKK2NsZWFuLWFwcGJ1bmRsZToKKwlybSAtcmYgJHtQR0FETUlO X01BQ0JVSUxEfQorCXJtIC1yZiAke1BHQURNSU5fRElTVH0vcGdBZG1pbjQu YXBwCisJcm0gLWYgJHtQR0FETUlOX0RJU1R9L3BnQWRtaW40LmRtZwpkaWZm IC0tZ2l0IGEvcGtnL21hYy8uZ2l0aWdub3JlIGIvcGtnL21hYy8uZ2l0aWdu b3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkMjlj YjAKLS0tIC9kZXYvbnVsbAorKysgYi9wa2cvbWFjLy5naXRpZ25vcmUKQEAg LTAsMCArMSwzIEBACisjIEdsb2JhbCBleGNsdWRlcyBhY3Jvc3MgYWxsIHN1 YmRpcmVjdG9yaWVzCitkZWJ1Zy5wZ2FkbWluLkluZm8ucGxpc3QKK3BnYWRt aW4uSW5mby5wbGlzdApkaWZmIC0tZ2l0IGEvcGtnL21hYy9Qa2dJbmZvIGIv cGtnL21hYy9Qa2dJbmZvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLmJkMDQyMTAKLS0tIC9kZXYvbnVsbAorKysgYi9wa2cvbWFjL1Br Z0luZm8KQEAgLTAsMCArMSBAQAorQVBQTD8/Pz8KXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wa2cvbWFjL1JFQURNRS50eHQg Yi9wa2cvbWFjL1JFQURNRS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uZGE1MTkwYwotLS0gL2Rldi9udWxsCisrKyBiL3BrZy9t YWMvUkVBRE1FLnR4dApAQCAtMCwwICsxLDM5IEBACitCdWlsZGluZyBwZ0Fk bWluNC5kbWcgb24gTWFjIE9TIFgKKz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorCitSZXF1aXJlZCBQYWNrYWdlcyAoRWl0aGVyIGJ1aWxk IHRoZSBzb3VyY2VzIG9yIGdldCB0aGVtIGZyb20gbWFjcG9ydHMgb3Igc2lt aWxhcik6CisKKzEuIFB5dGhvbiBpbnN0YWxsYXRpb24KKyAgLSBQeXRob24g Mi42IG9yIGFib3ZlIGZyb20gaHR0cHM6Ly93d3cucHl0aG9uLm9yZy8KKwor Mi4gUVQgaW5zdGFsbGF0aW9uCisgIC0gUXQgNCBvciA1IGZyb20gaHR0cDov L3d3dy5xdC5pby8KKworMy4gUG9zdGdyZVNRTCBpbnN0YWxsYXRpb24KKyAg LSBQb3N0Z3JlU1FMIDkuMSBvciBhYm92ZSBmcm9tIGh0dHA6Ly93d3cucG9z dGdyZXNxbC5vcmcvCisKK0J1aWxkaW5nOgorCisxLiBTZXQgdGhlIFBZVEhP Tl9IT01FIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHRoZSBQeXRob24gcm9v dCBpbnN0YWxsYXRpb24gZGlyZWN0b3J5LCBlLmcuCisKKyAgIGV4cG9ydCBQ WVRIT05fSE9NRT0vU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9QeXRob24u ZnJhbWV3b3JrL1ZlcnNpb25zLzIuNworCisyLiBTZXQgdGhlIFFURElSIGVu dmlyb25tZW50IHZhcmlhYmxlIHRvIHRoZSBRVCByb290IGluc3RhbGxhdGlv biBkaXJlY3RvcnksIGUuZy4KKworICAgZXhwb3J0IFFURElSPX4vUXQvNS41 L2NsYW5nXzY0CisKKzMuIFNldCB0aGUgUEdESVIgZW52aXJvbm1lbnQgdmFy aWFibGUgdG8gdGhlIFBvc3RncmVTUUwgaW5zdGFsbGF0aW9uIGRpcmVjdG9y eSwgZS5nLgorCisgICBleHBvcnQgUEdESVI9L3Vzci9sb2NhbC9wZ3NxbAor Cis0LiBGb3IgYnVpbGRpbmcsIGdvIHRvIHBnQWRtaW40IHNvdXJjZSByb290 IGRpcmVjdG9yeSBhbmQgZXhlY3V0ZSAibWFrZSBhcHBidW5kbGUiLiBUaGlz IHdpbGwgYmFzaWNhbGx5CisgICBjcmVhdGUgdGhlIHB5dGhvbiB2aXJ0dWFs IGVudmlyb25tZW50IGFuZCBpbnN0YWxsIGFsbCB0aGUgcmVxdWlyZWQgcHl0 aG9uIG1vZHVsZXMgbWVudGlvbmVkIGluIHRoZQorICAgcmVxdWlyZW1lbnRz IGZpbGUgdXNpbmcgcGlwLCBidWlsZCB0aGUgcnVudGltZSBjb2RlIGFuZCBm aW5hbGx5IGNyZWF0ZSB0aGUgYXBwIGJ1bmRsZSBhbmQgdGhlIERNRyAKKyAg IGluIC4vZGlzdCBkaXJlY3RvcnkKKworICAKK1RvIHJ1biB0aGUgcmVzdWx0 aW5nIGFwcCwgeW91IG11c3Qgc2V0IHRoZSBQWVRIT05QQVRIIGVudmlyb25t ZW50IHZhcmlhYmxlIHRvIHRoZSBzaXRlLXBhY2thZ2VzIG9mIHRoZSAKK3Zp cnR1YWwgZW52IHByZXNlbnQgaW4gdGhlIGFwcCBidW5kbGUuCitFeDogQWZ0 ZXIgbW91bnRpbmcgdGhlIERNRywgCisgZXhwb3J0IFBZVEhPTlBBVEg9L1Zv bHVtZXMvcGdBZG1pbjQvcGdBZG1pbjQuYXBwL0NvbnRlbnRzL1Jlc291cmNl cy92ZW52L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcworIApkaWZmIC0t Z2l0IGEvcGtnL21hYy9idWlsZC5zaCBiL3BrZy9tYWMvYnVpbGQuc2gKbmV3 IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTViZTc0NgotLS0g L2Rldi9udWxsCisrKyBiL3BrZy9tYWMvYnVpbGQuc2gKQEAgLTAsMCArMSwx NDAgQEAKKyMhL2Jpbi9iYXNoCisKKyMgQnVpbGQgc2NyaXB0IHRvIGNyZWF0 ZSBNYWMgQXBwIEJ1bmRsZSBhbmQgRE1HIGZvciBwZ0FkbWluNCBydW50aW1l CisKK2V4cG9ydCBXRD0kKGNkIGBkaXJuYW1lICQwYCAmJiBwd2QpCitleHBv cnQgU09VUkNFRElSPSRXRC8uLi8uLgorZXhwb3J0IEJVSUxEUk9PVD0kV0Qv Li4vLi4vbWFjLWJ1aWxkCitleHBvcnQgRElTVFJPT1Q9JFdELy4uLy4uL2Rp c3QKK2V4cG9ydCBWSVJUVUFMRU5WPXZlbnYKKworaWYgWyAieCRQWVRIT05f SE9NRSIgPT0gIngiIF07IHRoZW4KKyAgICBlY2hvICJQWVRIT05fSE9NRSBu b3Qgc2V0LiBTZXR0aW5nIGl0IHRvIGRlZmF1bHQiCisgICAgZXhwb3J0IFBZ VEhPTl9IT01FPS9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1B5dGhvbi5m cmFtZXdvcmsvVmVyc2lvbnMvMi43CisgICAgZXhwb3J0IFBZVEhPTl9WRVJT SU9OPTI3CitmaQorCisjIENoZWNrIGlmIFB5dGhvbiBpcyB3b3JraW5nIGFu ZCBjYWxjdWxhdGUgUFlUSE9OX1ZFUlNJT04KK2lmICRQWVRIT05fSE9NRS9i aW4vcHl0aG9uMiAtViA+IC9kZXYvbnVsbCAyPiYxOyB0aGVuCisgICAgZXhw b3J0IFBZVEhPTl9WRVJTSU9OPWAkUFlUSE9OX0hPTUUvYmluL3B5dGhvbjIg LVYgMj4mMSB8IGF3ayAne3ByaW50ICQyfScgfCBjdXQgLWQiLiIgLWYxLTIg fCBzZWQgJ3MvXC4vLydgCitlbGlmICRQWVRIT05fSE9NRS9iaW4vcHl0aG9u MyAtViA+IC9kZXYvbnVsbCAyPiYxOyB0aGVuCisgICAgZXhwb3J0IFBZVEhP Tl9WRVJTSU9OPWAkUFlUSE9OX0hPTUUvYmluL3B5dGhvbjMgLVYgMj4mMSB8 IGF3ayAne3ByaW50ICQyfScgfCBjdXQgLWQiLiIgLWYxLTIgfCBzZWQgJ3Mv XC4vLydgCitlbHNlCisgICAgZWNobyAiRXJyb3I6IFB5dGhvbiBpbnN0YWxs YXRpb24gbWlzc2luZyEiCisgICAgZXhpdCAxCitmaQorCitpZiBbICIkUFlU SE9OX1ZFUlNJT04iIC1ndCAiMzQiIC1hICIkUFlUSE9OX1ZFUlNJT04iIC1s dCAiMjYiIF07IHRoZW4KKyAgICBlY2hvICJQeXRob24gdmVyc2lvbiBub3Qg c3VwcG9ydGVkIgorICAgIGV4aXQgMQorZmkKKworaWYgWyAiJFBZVEhPTl9W RVJTSU9OIiAtZ2UgIjMwIiBdOyB0aGVuCisgICAgZXhwb3J0IFBZVEhPTj0k UFlUSE9OX0hPTUUvYmluL3B5dGhvbjMKKyAgICBleHBvcnQgUElQPXBpcDMK KyAgICBleHBvcnQgUkVRVUlSRU1FTlRTPXJlcXVpcmVtZW50c19weTMudHh0 CitlbHNlCisgICAgZXhwb3J0IFBZVEhPTj0kUFlUSE9OX0hPTUUvYmluL3B5 dGhvbjIKKyAgICBleHBvcnQgUElQPXBpcAorICAgIGV4cG9ydCBSRVFVSVJF TUVOVFM9cmVxdWlyZW1lbnRzX3B5Mi50eHQKK2ZpCisKK2lmIFsgIngkUVRE SVIiID09ICJ4IiBdOyB0aGVuCisgICAgZWNobyAiUVRESVIgbm90IHNldC4g U2V0dGluZyBpdCB0byBkZWZhdWx0IgorICAgIGV4cG9ydCBRVERJUj1+L1F0 LzUuNS9jbGFuZ182NAorZmkKK2V4cG9ydCBRTUFLRT0kUVRESVIvYmluL3Ft YWtlCitpZiAhICRRTUFLRSAtLXZlcnNpb24gPiAvZGV2L251bGwgMj4mMTsg dGhlbgorICAgIGVjaG8gIkVycm9yOiBxbWFrZSBub3QgZm91bmQuIFFUIGlu c3RhbGxhdGlvbiBpcyBub3QgcHJlc2VudCBvciBpbmNvbXBsZXRlLiIKKyAg ICBleGl0IDEKK2ZpCisKK2lmIFsgIngkUEdESVIiID09ICJ4IiBdOyB0aGVu CisgICAgZWNobyAiUEdESVIgbm90IHNldC4gU2V0dGluZyBpdCB0byBkZWZh dWx0IgorICAgIGV4cG9ydCBQR0RJUj0vdXNyL2xvY2FsL3Bnc3FsCitmaQor ZXhwb3J0IFBBVEg9JFBHRElSL2JpbjokUEFUSAorCitfZ2V0X3ZlcnNpb24o KSB7CisgICAgZXhwb3J0IHBnYWRtaW40X21ham9yPWBncmVwICJeQVBQX01B Sk9SIiB3ZWIvY29uZmlnLnB5IHwgY3V0IC1kIj0iIC1mMiB8IHNlZCAncy8g Ly9nJ2AKKyAgICBleHBvcnQgcGdhZG1pbjRfbWlub3I9YGdyZXAgIl5BUFBf TUlOT1IiIHdlYi9jb25maWcucHkgfCBjdXQgLWQiPSIgLWYyIHwgc2VkICdz LyAvL2cnYAorICAgIGV4cG9ydCBwZ2FkbWluNF9yZXZpc2lvbj1gZ3JlcCAi XkFQUF9SRVZJU0lPTiIgd2ViL2NvbmZpZy5weSB8IGN1dCAtZCI9IiAtZjIg fCBzZWQgJ3MvIC8vZydgCisgICAgZXhwb3J0IExPTkdfVkVSPSRwZ2FkbWlu NF9tYWpvci4kcGdhZG1pbjRfbWlub3IuJHBnYWRtaW40X3JldmlzaW9uCisg ICAgZXhwb3J0IFNIT1JUX1ZFUj1gZWNobyAkTE9OR19WRVIgfCBjdXQgLWQg LiAtZjEsMmAKKyAgICBleHBvcnQgcGdhZG1pbjRfc3VmZml4PWBncmVwICJe QVBQX1NVRkZJWCIgd2ViL2NvbmZpZy5weSB8IGN1dCAtZCI9IiAtZjIgfCBz ZWQgJ3MvIC8vZycgfCBzZWQgInMvJy8vZyJgCisgICAgaWYgWyAhIC16ICRw Z2FkbWluNF9zdWZmaXggXTsgdGhlbgorICAgICAgICBleHBvcnQgTE9OR19W RVI9JExPTkdfVkVSLSRwZ2FkbWluNF9zdWZmaXgKKyAgICBmaQorfQorCitf Y2xlYW51cCgpIHsKKyAgICBlY2hvICJDbGVhbmluZyB1cCB0aGUgb2xkIGVu dmlyb25tZW50IGFuZCBhcHAgYnVuZGxlIgorICAgIHJtIC1yZiAkU09VUkNF RElSL3J1bnRpbWUvcGdBZG1pbjQuYXBwCisgICAgcm0gLXJmICRCVUlMRFJP T1QKKyAgICBybSAtcmYgJERJU1RST09UL3BnQWRtaW40LmFwcAorICAgIHJt IC1mICRESVNUUk9PVC9wZ0FkbWluNC5kbWcKK30KKworX2NyZWF0ZV9weXRo b25fdmlydHVhbGVudigpIHsKKyAgICB0ZXN0IC1kICRCVUlMRFJPT1QgfHwg bWtkaXIgJEJVSUxEUk9PVAorICAgIGNkICRCVUlMRFJPT1QKKyAgICB0ZXN0 IC1kICRWSVJUVUFMRU5WIHx8IHZpcnR1YWxlbnYgLXAgJFBZVEhPTiAkVklS VFVBTEVOViB8fCBleGl0IDEKKyAgICBzb3VyY2UgJFZJUlRVQUxFTlYvYmlu L2FjdGl2YXRlCisgICAgJFBJUCBpbnN0YWxsIC1yICRTT1VSQ0VESVIvJFJF UVVJUkVNRU5UUyB8fCB7IGVjaG8gUElQIGluc3RhbGwgZmFpbGVkLiBQbGVh c2UgcmVzb2x2ZSB0aGUgaXNzdWUgYW5kIHJlcnVuIHRoZSBzY3JpcHQ7IGV4 aXQgMTsgfQorfQorCitfYnVpbGRfcnVudGltZSgpIHsKKyAgICBfY3JlYXRl X3B5dGhvbl92aXJ0dWFsZW52IHx8IGV4aXQgMQorICAgIGNkICRTT1VSQ0VE SVIvd2ViCisgICAgc2VkIC1lICdzO1NFUlZFUl9NT0RFID0gVHJ1ZTtTRVJW RVJfTU9ERSA9IEZhbHNlOycgLWUgInM7SEVMUF9QQVRIID0gLio7SEVMUF9Q QVRIID0gXCcuLlwvLi5cLy4uXC9kb2NzXC9lbl9VU1wvaHRtbFwvXCc7IiBj b25maWcucHkgPiBjb25maWdfbG9jYWwucHkKKyAgICAjcHl0aG9uIHNldHVw LnB5CisgICAgY2QgJFNPVVJDRURJUi9ydW50aW1lCisgICAgJFFNQUtFIHx8 IHsgZWNobyBxbWFrZSBmYWlsZWQ7IGV4aXQgMTsgfQorICAgIG1ha2UgfHwg eyBlY2hvIG1ha2UgZmFpbGVkOyBleGl0IDE7IH0KKyAgICBjcCAtciBwZ0Fk bWluNC5hcHAgJEJVSUxEUk9PVAorfQorCitfYnVpbGRfZG9jKCkgeworICAg IGNkICRTT1VSQ0VESVIvZG9jcy9lbl9VUworICAgIExDX0FMTD1lbl9VUy5V VEYtOCBMQU5HPWVuX1VTLlVURi04IG1ha2UgLWYgTWFrZWZpbGUuc3BoaW54 IGh0bWwgfHwgZXhpdCAxCisgICAgdGVzdCAtZCAkQlVJTERST09UL3BnQWRt aW40LmFwcC9Db250ZW50cy9SZXNvdXJjZXMgfHwgbWtkaXIgLXAgJEJVSUxE Uk9PVC9wZ0FkbWluNC5hcHAvQ29udGVudHMvUmVzb3VyY2VzCisgICAgdGVz dCAtZCAkQlVJTERST09UL3BnQWRtaW40LmFwcC9Db250ZW50cy9SZXNvdXJj ZXMvZG9jcy9lbl9VUyB8fCBta2RpciAtcCAkQlVJTERST09UL3BnQWRtaW40 LmFwcC9Db250ZW50cy9SZXNvdXJjZXMvZG9jcy9lbl9VUworICAgIGNwIC1y IF9idWlsZC9odG1sICRCVUlMRFJPT1QvcGdBZG1pbjQuYXBwL0NvbnRlbnRz L1Jlc291cmNlcy9kb2NzL2VuX1VTLyB8fCBleGl0IDEKK30KKworX2NvbXBs ZXRlX2J1bmRsZSgpIHsKKyAgICBjZCAkU09VUkNFRElSL3BrZy9tYWMKKyAg ICAKKyAgICAjIFJlcGxhY2UgdGhlIHBsYWNlIGhvbGRlcnMgd2l0aCB0aGUg Y3VycmVudCB2ZXJzaW9uCisgICAgc2VkIC1lICJzL1BHQURNSU5fTE9OR19W RVJTSU9OLyRMT05HX1ZFUi9nIiAtZSAicy9QR0FETUlOX1NIT1JUX1ZFUlNJ T04vJFNIT1JUX1ZFUi9nIiBwZ2FkbWluLkluZm8ucGxpc3QuaW4gPiBwZ2Fk bWluLkluZm8ucGxpc3QKKworICAgICMgY29weSBQeXRob24gcHJpdmF0ZSBl bnZpcm9ubWVudCB0byBhcHAgYnVuZGxlCisgICAgY3AgLVBSICRCVUlMRFJP T1QvJFZJUlRVQUxFTlYgJEJVSUxEUk9PVC9wZ0FkbWluNC5hcHAvQ29udGVu dHMvUmVzb3VyY2VzLyB8fCBleGl0IDEKKworICAgICMgcmVtb3ZlIHRoZSBw eXRob24gYmluIGFuZCBpbmNsdWRlIGZyb20gYXBwIGJ1bmRsZSBhcyBpdCBp cyBub3QgbmVlZGVkCisgICAgcm0gLXJmICRCVUlMRFJPT1QvcGdBZG1pbjQu YXBwL0NvbnRlbnRzL1Jlc291cmNlcy8kVklSVFVBTEVOVi9iaW4gJEJVSUxE Uk9PVC9wZ0FkbWluNC5hcHAvQ29udGVudHMvUmVzb3VyY2VzLyRWSVJUVUFM RU5WL2luY2x1ZGUKKyAgICBybSAtcmYgJEJVSUxEUk9PVC9wZ0FkbWluNC5h cHAvQ29udGVudHMvUmVzb3VyY2VzLyRWSVJUVUFMRU5WLy5QeXRob24KKwor ICAgICMgcnVuIGNvbXBsZXRlLWJ1bmRsZSB0byBjb3B5IHRoZSBkZXBlbmRl bnQgbGlicmFyaWVzIGFuZCBmcmFtZXdvcmtzIGFuZCBmaXggdGhlIHJwYXRo cworICAgIC4vY29tcGxldGUtYnVuZGxlLnNoICRCVUlMRFJPT1QvcGdBZG1p bjQuYXBwIHx8IHsgZWNobyBjb21wbGV0ZS1idW5kbGUuc2ggZmFpbGVkOyBl eGl0IDE7IH0KKworICAgICMgY29weSB0aGUgd2ViIGRpcmVjdG9yeSB0byB0 aGUgYnVuZGxlIGFzIGl0IGlzIHJlcXVpcmVkIGJ5IHJ1bnRpbWUKKyAgICBj cCAtciAkU09VUkNFRElSL3dlYiAkQlVJTERST09UL3BnQWRtaW40LmFwcC9D b250ZW50cy9SZXNvdXJjZXMvIHx8IGV4aXQgMQorCisgICAgIyBjb3B5IHRo ZSByZXN1bHRpbmcgYXBwIGJ1bmRsZSB0byB0aGUgZGlzdAorICAgIHRlc3Qg LWQgJERJU1RST09UIHx8IG1rZGlyICRESVNUUk9PVCB8fCBleGl0IDEKKyAg ICBjcCAtciAkQlVJTERST09UL3BnQWRtaW40LmFwcCAkRElTVFJPT1QvIHx8 IGV4aXQgMQorCit9CisKK19jcmVhdGVfZG1nKCkgeworICAgIGNkICRTT1VS Q0VESVIKKyAgICAuL3BrZy9tYWMvY3JlYXRlLWRtZy5zaCB8fCB7IGVjaG8g Y3JlYXRlLWRtZy5zaCBmYWlsZWQ7IGV4aXQgMTsgfQorfQorCitfZ2V0X3Zl cnNpb24gfHwgeyBlY2hvIENvdWxkIG5vdCBnZXQgdmVyc2lvbmluZzsgZXhp dCAxOyB9CitfY2xlYW51cAorX2J1aWxkX3J1bnRpbWUgfHwgeyBlY2hvIFJ1 bnRpbWUgYnVpbGQgZmFpbGVkOyBleGl0IDE7IH0KK19idWlsZF9kb2MKK19j b21wbGV0ZV9idW5kbGUKK19jcmVhdGVfZG1nCmRpZmYgLS1naXQgYS9wa2cv bWFjL2NvbXBsZXRlLWJ1bmRsZS5zaCBiL3BrZy9tYWMvY29tcGxldGUtYnVu ZGxlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQw Y2E3MzAKLS0tIC9kZXYvbnVsbAorKysgYi9wa2cvbWFjL2NvbXBsZXRlLWJ1 bmRsZS5zaApAQCAtMCwwICsxLDEyNyBAQAorIyEvYmluL3NoCisKK2J1bmRs ZT0iJDEiCisKK2lmICEgdGVzdCAtZCAiJGJ1bmRsZSIgOyB0aGVuCisJZWNo byAiJGJ1bmRsZSBpcyBubyBidW5kbGUhIiA+JjIKKwlleGl0IDEKK2ZpCisK KwordGVzdCAtZCAiJGJ1bmRsZS9Db250ZW50cy9SZXNvdXJjZXMiIHx8IG1r ZGlyIC1wICIkYnVuZGxlL0NvbnRlbnRzL1Jlc291cmNlcyIgfHwgZXhpdCAx CisjIENyZWF0ZSBxdC5jb25mIHNvIHRoYXQgYXBwIGtub3dzIHdoZXJlIHRo ZSBQbHVnaW5zIGFyZSBwcmVzZW50CitjYXQgPj4gIiRidW5kbGUvQ29udGVu dHMvUmVzb3VyY2VzL3F0LmNvbmYiIDw8IEVPRgorW1BhdGhzXQorUGx1Z2lu cyA9IFBsdWdJbnMKK0VPRgorCit0ZXN0IC1kICIkYnVuZGxlL0NvbnRlbnRz L0ZyYW1ld29ya3MiIHx8IG1rZGlyIC1wICIkYnVuZGxlL0NvbnRlbnRzL0Zy YW1ld29ya3MiIHx8IGV4aXQgMQordGVzdCAtZCAiJGJ1bmRsZS9Db250ZW50 cy9QbHVnSW5zL3BsYXRmb3JtcyIgfHwgbWtkaXIgLXAgIiRidW5kbGUvQ29u dGVudHMvUGx1Z0lucy9wbGF0Zm9ybXMiIHx8IGV4aXQgMQorY3AgLWYgJFFU RElSL3BsdWdpbnMvcGxhdGZvcm1zL2xpYnFjb2NvYS5keWxpYiAiJGJ1bmRs ZS9Db250ZW50cy9QbHVnSW5zL3BsYXRmb3JtcyIgfHwgeyBlY2hvIGxpYnFj b2NvYS5keWxpYiBub3QgZm91bmQgaW4gJFFURElSL3BsdWdpbnMvcGxhdGZv cm1zOyBleGl0IDE7IH0KK2NwIC1mICRQR0RJUi9saWIvbGlicHEuNS5keWxp YiAiJGJ1bmRsZS9Db250ZW50cy9GcmFtZXdvcmtzIiB8fCB7IGVjaG8gbGli cHEuNS5keWxpYiBub3QgZm91bmQgaW4gJFBHRElSOyBleGl0IDE7IH0KKwor ZnVuY3Rpb24gQ29tcGxldGVTaW5nbGVBcHAoKSB7CisJbG9jYWwgYnVuZGxl PSQxIHRhZz0kKGJhc2VuYW1lICIkMSIpIHRvZG8gdG9kb19vbGQgZndfcmVs cGF0aCBsaWIgbGliX2JuIG5lc3RlZF9hcHAgbmFfcmVscGF0aAorCisJZWNo byAiQ29tcGxldGluZyBhcHA6ICRidW5kbGUiCisJcHVzaGQgIiRidW5kbGUi ID4gL2Rldi9udWxsCisKKwkjV2Ugc2tpcCBuZXN0ZWQgYXBwcyBoZXJlIC0g dGhvc2UgYXJlIHRyZWF0ZWQgc3BlY2lhbGx5CisJdG9kbz0kKGZpbGUgYGZp bmQgLi8gLXBlcm0gKzAxMTEgISAtdHlwZSBkICEgLXBhdGggIiouYXBwLyoi ICEgLW5hbWUgIiouYXBwImAgfCBncmVwIC1FICJNYWNoLU8gNjQtYml0IiB8 IGF3ayAtRiAnOnwgJyAne09SUz0iICI7IHByaW50ICQxfScgfCB1bmlxKQor CisJZWNobyAiQXBwOiAkdGFnOiBGb3VuZCBleGVjdXRhYmxlczogJHRvZG8i CisJd2hpbGUgdGVzdCAiJHRvZG8iICE9ICIiOyBkbworCQl0b2RvX29sZD0k dG9kbyA7CisJCXRvZG89IiIgOworCQlmb3IgdG9kb19vYmogaW4gJHRvZG9f b2xkOyBkbworCQkJZWNobyAiQXBwOiAkdGFnOiBQb3N0LXByb2Nlc3Npbmc6 ICR0b2RvX29iaiIKKworCQkJI0ZpZ3VyZSBvdXQgdGhlIHJlbGF0aXZlIHBh dGggZnJvbSB0b2RvX29iaiB0byBDb250ZW50cy9GcmFtZXdvcmtzCisJCQlm d19yZWxwYXRoPSQoZWNobyAiJHRvZG9fb2JqIiB8XAorCQkJCXNlZCAtbiAn c3xeXChcLi8vKlwpXChcKFteL11bXi9dKi9cKSpcKVteL11bXi9dKiR8XDJ8 Z3AnIHwgXAorCQkJCXNlZCAtbiAnc3xbXi9dW14vXSovfC4uL3xncCcgXAor CQkJKSJDb250ZW50cy9GcmFtZXdvcmtzIgorCQkJZndfcmVscGF0aF9vbGQ9 JGZ3X3JlbHBhdGgKKworCQkJZndfbG9jPSJDb250ZW50cy9GcmFtZXdvcmtz IgorCisJCQkjRmluZCBhbGwgbGlicmFyaWVzICR0b2RvX29iaiBkZXBlbmRz IG9uLCBidXQgc2tpcCBzeXN0ZW0gbGlicmFyaWVzCisJCQlmb3IgbGliIGlu ICQoCisJCQkJb3Rvb2wgLUwgJHRvZG9fb2JqIHwgXAorCQkJCWdyZXAgIlF0 XHxkeWxpYlx8RnJhbWV3b3Jrc1x8UGx1Z0lucyIgfCBncmVwIC12ICI6IiB8 IHNlZCAncy8oLiovLycgfCBlZ3JlcCAtdiAnKC91c3IvbGliKXwoL1N5c3Rl bSl8QGV4ZWN1dGFibGVfcGF0aEAnIFwKKwkJCSkgJChvdG9vbCAtTCAkdG9k b19vYmogfCBncmVwICJQeXRob24iIHwgZ3JlcCAtdiAiOiIgfCBzZWQgJ3Mv KC4qLy8nIFwKKwkJCSk7IGRvCisJCQkJaWYgZWNobyAkbGliIHwgZ3JlcCAi UGx1Z0luc1x8bGlicWNvY29hIiAgPiAvZGV2L251bGw7IHRoZW4KKwkJCQkJ bGliX2xvYz0iQ29udGVudHMvUGx1Z0lucy9wbGF0Zm9ybXMiCisJCQkJZWxp ZiBlY2hvICRsaWIgfCBncmVwICJRdCIgPiAvZGV2L251bGw7IHRoZW4KKwkJ CQkJcXRmd19wYXRoPSIkKGRpcm5hbWUgJGxpYiB8IHNlZCAnc3wuKlwoUXQu KmZyYW1ld29ya1wpfFwxfCcpIgorCQkJCQlsaWJfbG9jPSJDb250ZW50cy9G cmFtZXdvcmtzLyRxdGZ3X3BhdGgiCisJCQkJCWlmIFsgIiQoYmFzZW5hbWUg JHRvZG9fb2JqKSIgPSAiJGxpYiIgXTsgdGhlbgorCQkJCQkJbGliX2xvYz0i JChkaXJuYW1lICR0b2RvX29iaikiCisJCQkJCQlxdGZ3X3BhdGg9JChlY2hv ICRsaWJfbG9jIHwgc2VkICdzL0NvbnRlbnRzXC9GcmFtZXdvcmtzXC8vLycp CisJCQkJCWZpCisJCQkJZWxpZiBlY2hvICRsaWIgfCBncmVwICJQeXRob24i ID4gL2Rldi9udWxsOyB0aGVuCisJCQkJCXB5ZndfcGF0aD0iJChkaXJuYW1l ICRsaWIgfCBzZWQgJ3N8LipcKFB5dGhvbi4qZnJhbWV3b3JrXCl8XDF8Jyki CisJCQkJCWxpYl9sb2M9IkNvbnRlbnRzL0ZyYW1ld29ya3MvJHB5ZndfcGF0 aCIKKwkJCQkJaWYgWyAiJChiYXNlbmFtZSAkdG9kb19vYmopIiA9ICIkbGli IiBdOyB0aGVuCisJCQkJCQlsaWJfbG9jPSIkKGRpcm5hbWUgJHRvZG9fb2Jq KSIKKwkJCQkJCXB5ZndfcGF0aD0kKGVjaG8gJGxpYl9sb2MgfCBzZWQgJ3Mv Q29udGVudHNcL0ZyYW1ld29ya3NcLy8vJykKKwkJCQkJZmkKKwkJCQllbHNl CisJCQkJCWxpYl9sb2M9IkNvbnRlbnRzL0ZyYW1ld29ya3MiCisJCQkJZmkK KwkJCQlsaWJfYm49IiQoYmFzZW5hbWUgIiRsaWIiKSIgOworCQkJCWlmICEg dGVzdCAtZiAiJGxpYl9sb2MvJGxpYl9ibiI7IHRoZW4KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfZmlsZT0iIgor CQkJCQl0YXJnZXRfcGF0aD0iIgorCQkJCQllY2hvICJBcHA6ICR0YWc6IEFk ZGluZyBzeW1saW5rOiAkbGliX2JuIChiZWNhdXNlIG9mOiAkdG9kb19vYmop IgorCQkJCQlpZiBlY2hvICRsaWIgfCBncmVwIFF0ID4gL2Rldi9udWxsIHx8 IGVjaG8gJGxpYiB8IGdyZXAgUHl0aG9uID4gL2Rldi9udWxsIDsgdGhlbgor CQkJCQkJY3AgLVIgJChkaXJuYW1lICRsaWIpLy4uLy4uLy4uLyRsaWJfYm4u ZnJhbWV3b3JrICIkZndfbG9jLyIKKwkJCQkJZWxzZQorCQkJCQkJY3AgLVIg IiRsaWIiICIkbGliX2xvYy8kbGliX2JuIgorCQkJCQlmaQorCQkJCQlpZiAh IHRlc3QgLUwgIiRsaWJfbG9jLyRsaWJfYm4iOyB0aGVuCisJCQkJCQljaG1v ZCA3NTUgIiRsaWJfbG9jLyRsaWJfYm4iCisJCQkJCWVsc2UKKwkJCQkJCXRh cmdldF9maWxlPSQocmVhZGxpbmsgIiRsaWIiKQorCQkJCQkJdGFyZ2V0X3Bh dGg9JChkaXJuYW1lICIkbGliIikvJHRhcmdldF9maWxlCisJCQkJCSAgICAg ICAgZWNobyAiQXBwOiAkdGFnOiBBZGRpbmcgc3ltbGluayB0YXJnZXQ6ICR0 YXJnZXRfcGF0aCIKKwkJCQkJCWNwICIkdGFyZ2V0X3BhdGgiICIkbGliX2xv Yy8kdGFyZ2V0X2ZpbGUiCisJCQkJCQljaG1vZCA3NTUgIiRsaWJfbG9jLyR0 YXJnZXRfZmlsZSIKKwkJCQkJZmkKKwkJCQkJZWNobyAiUmV3cml0aW5nIElE IGluICRsaWJfbG9jLyRsaWJfYm4gdG8gJGxpYl9ibiIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YWxsX25hbWVfdG9v bCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtaWQgIiRsaWJfYm4iIFwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICIkbGliX2xvYy8kbGliX2Ju IiB8fCBleGl0IDEKKwkJCQkJdG9kbz0iJHRvZG8gLi8kbGliX2xvYy8kbGli X2JuIgorCQkJCWZpCisJCQkJaWYgZWNobyAkbGliIHwgZ3JlcCBRdCA+IC9k ZXYvbnVsbCA7IHRoZW4KKwkJCQkJZndfcmVscGF0aD0iJGZ3X3JlbHBhdGgv JHF0ZndfcGF0aCIKKwkJCQlmaQorCQkJCWlmIGVjaG8gJGxpYiB8IGdyZXAg UHl0aG9uID4gL2Rldi9udWxsIDsgdGhlbgorCQkJCQlmd19yZWxwYXRoPSIk ZndfcmVscGF0aC8kcHlmd19wYXRoIgorCQkJCWZpCisJCQkJZWNobyAiUmV3 cml0aW5nIGxpYnJhcnkgJGxpYiB0byBAbG9hZGVyX3BhdGgvJGZ3X3JlbHBh dGgvJGxpYl9ibiBpbiAkdG9kb19vYmoiCisJCQkJaW5zdGFsbF9uYW1lX3Rv b2wgLWNoYW5nZSBcCisJCQkJCSIkbGliIiBcCisJCQkJCSJAbG9hZGVyX3Bh dGgvJGZ3X3JlbHBhdGgvJGxpYl9ibiIgXAorCQkJCQkiJHRvZG9fb2JqIiB8 fCBleGl0IDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5z dGFsbF9uYW1lX3Rvb2wgLWNoYW5nZSBcCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIiR0YXJnZXRfcGF0aCIgXAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJAbG9hZGVyX3Bh dGgvJGZ3X3JlbHBhdGgvJHRhcmdldF9maWxlIiBcCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIiR0b2RvX29iaiIgfHwgZXhp dCAxCisJCQkJZndfcmVscGF0aD0iJGZ3X3JlbHBhdGhfb2xkIgorCQkJZG9u ZQorCQlkb25lCisJZG9uZQorCisJIyBGaXggdGhlIHJwYXRocyBmb3IgcHN5 Y29wZyBtb2R1bGUKKwlmaW5kICRidW5kbGUvQ29udGVudHMvUmVzb3VyY2Vz L3ZlbnYvIC1uYW1lIF9wc3ljb3BnLnNvIHwgeGFyZ3MgaW5zdGFsbF9uYW1l X3Rvb2wgLWNoYW5nZSBsaWJwcS41LmR5bGliIEBsb2FkZXJfcGF0aC8uLi8u Li8uLi8uLi8uLi8uLi9GcmFtZXdvcmtzL2xpYnBxLjUuZHlsaWIKKwlmaW5k ICRidW5kbGUvQ29udGVudHMvUmVzb3VyY2VzL3ZlbnYvIC1uYW1lIF9wc3lj b3BnLnNvIHwgeGFyZ3MgaW5zdGFsbF9uYW1lX3Rvb2wgLWNoYW5nZSBsaWJz c2wuMS4wLjAuZHlsaWIgQGxvYWRlcl9wYXRoLy4uLy4uLy4uLy4uLy4uLy4u L0ZyYW1ld29ya3MvbGlic3NsLjEuMC4wLmR5bGliCisJZmluZCAkYnVuZGxl L0NvbnRlbnRzL1Jlc291cmNlcy92ZW52LyAtbmFtZSBfcHN5Y29wZy5zbyB8 IHhhcmdzIGluc3RhbGxfbmFtZV90b29sIC1jaGFuZ2UgbGliY3J5cHRvLjEu MC4wLmR5bGliIEBsb2FkZXJfcGF0aC8uLi8uLi8uLi8uLi8uLi8uLi9GcmFt ZXdvcmtzL2xpYmNyeXB0by4xLjAuMC5keWxpYgorCisJZWNobyAiQXBwIGNv bXBsZXRlZDogJGJ1bmRsZSIKKwlwb3BkID4gL2Rldi9udWxsCit9CisKK0Nv bXBsZXRlU2luZ2xlQXBwICIkYnVuZGxlIgpkaWZmIC0tZ2l0IGEvcGtnL21h Yy9jcmVhdGUtZG1nLnNoIGIvcGtnL21hYy9jcmVhdGUtZG1nLnNoCm5ldyBm aWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUwZDc5M2MKLS0tIC9k ZXYvbnVsbAorKysgYi9wa2cvbWFjL2NyZWF0ZS1kbWcuc2gKQEAgLTAsMCAr MSwzNiBAQAorIyEvYmluL3NoCisKKyMgbW92ZSB0byB0aGUgZGlyZWN0b3J5 IHdoZXJlIHdlIGhhdmUgdGhlIERNRyBTb3VyY2VzCitjZCBkaXN0CisKK0RN R19TT1VSQ0VTPSIuL3BnQWRtaW40LmFwcCIKK0RNR19MSUNFTkNFPS4vLi4v cGtnL21hYy9saWNlbmNlLnIKK0RNR19JTUFHRT1wZ0FkbWluNC5kbWcKK0RN R19OQU1FPXBnQWRtaW40CitIRElVVElMPS91c3IvYmluL2hkaXV0aWwKK1JF Wj0iL3Vzci9iaW4vUmV6IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0Nh cmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9IZWFkZXJzLyouciIKKworRE1H X0RJUj0uLyRETUdfSU1BR0Uuc3JjCisKK2lmIHRlc3QgLWUgIiRETUdfRElS IjsgdGhlbgorCWVjaG8gIkRpcmVjdG9yeSAkRE1HX0RJUiBhbHJlYWR5IGV4 aXN0cy4gUGxlYXNlIGRlbGV0ZSBpdCBtYW51YWxseS4iID4mMgorCWV4aXQg MQorZmkKKworZWNobyAiQ2xlYW5pbmcgdXAiCitybSAtZiAiJERNR19JTUFH RSIgfHwgZXhpdCAxCitta2RpciAiJERNR19ESVIiIHx8IGV4aXQgMQorCitl Y2hvICJDb3B5aW5nIGRhdGEgaW50byB0ZW1wb3JhcnkgZGlyZWN0b3J5Igor Zm9yIHNyYyBpbiAkRE1HX1NPVVJDRVM7IGRvCisJY3AgLVIgIiRzcmMiICIk RE1HX0RJUiIgfHwgZXhpdCAxCitkb25lCisKK2VjaG8gIkNyZWF0aW5nIGlt YWdlIgorJEhESVVUSUwgY3JlYXRlIC1xdWlldCAtc3JjZm9sZGVyICIkRE1H X0RJUiIgLWZvcm1hdCBVRFpPIC12b2xuYW1lICIkRE1HX05BTUUiIC1vdiAi JERNR19JTUFHRSIgfHwgZXhpdCAxCitybSAtcmYgIiRETUdfRElSIiB8fCBl eGl0IDEKKworZWNobyAiQXR0YWNoaW5nIExpY2Vuc2UgdG8gaW1hZ2UiCisk SERJVVRJTCB1bmZsYXR0ZW4gLXF1aWV0ICIkRE1HX0lNQUdFIiB8fCBleGl0 IDEKKyRSRVogIiRETUdfTElDRU5DRSIgLWEgLW8gIiRETUdfSU1BR0UiIHx8 IGV4aXQgMQorJEhESVVUSUwgZmxhdHRlbiAtcXVpZXQgIiRETUdfSU1BR0Ui IHx8IGV4aXQgMQpkaWZmIC0tZ2l0IGEvcGtnL21hYy9saWNlbmNlLnIgYi9w a2cvbWFjL2xpY2VuY2UucgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi44OGE4OWFmCi0tLSAvZGV2L251bGwKKysrIGIvcGtnL21hYy9s aWNlbmNlLnIKQEAgLTAsMCArMSw0MiBAQAorZGF0YSAnTFBpYycgKDUwMDAp IHsKKwkkIjAwMDAgMDAwMSAwMDAwIDAwMDAgMDAwMCIKK307CisKK3Jlc291 cmNlICdTVFIjJyAoNTAwMCwgIkVuZ2xpc2ggYnV0dG9ucyIpIHsKKyAgICB7 ICAgLyogYXJyYXkgU3RyaW5nQXJyYXk6IDkgZWxlbWVudHMgKi8KKyAgICAg ICAgLyogWzFdICovCisgICAgICAgICJFbmdsaXNoIiwKKyAgICAgICAgLyog WzJdICovCisgICAgICAgICJBZ3JlZSIsCisgICAgICAgIC8qIFszXSAqLwor ICAgICAgICAiRGlzYWdyZWUiLAorICAgICAgICAvKiBbNF0gKi8KKyAgICAg ICAgIlByaW50IiwKKyAgICAgICAgLyogWzVdICovCisgICAgICAgICJTYXZl Li4uIiwKKyAgICAgICAgLyogWzZdICovCisgICAgICAgICJJTVBPUlRBTlQg LSBSZWFkIHRoaXMgTGljZW5zZSBBZ3JlZW1lbnQgY2FyZWZ1bGx5IGJlZm9y ZSBjbGlja2luZyBvbiAiCisgICAgICAgICJ0aGUgXCJBZ3JlZVwiIGJ1dHRv bi4gIEJ5IGNsaWNraW5nIG9uIHRoZSBcIkFncmVlXCIgYnV0dG9uLCB5b3Ug YWdyZWUgIgorICAgICAgICAidG8gYmUgYm91bmQgYnkgdGhlIHRlcm1zIG9m IHRoZSBMaWNlbnNlIEFncmVlbWVudC4iLAorICAgICAgICAvKiBbN10gKi8K KyAgICAgICAgIlNvZnR3YXJlIExpY2Vuc2UgQWdyZWVtZW50IiwKKyAgICAg ICAgLyogWzhdICovCisgICAgICAgICJUaGlzIHRleHQgY2Fubm90IGJlIHNh dmVkLiBUaGlzIGRpc2sgbWF5IGJlIGZ1bGwgb3IgbG9ja2VkLCBvciB0aGUg ZmlsZSAiCisgICAgICAgICJtYXkgYmUgbG9ja2VkLiIsCisgICAgICAgIC8q IFs5XSAqLworICAgICAgICAiVW5hYmxlIHRvIHByaW50LiBNYWtlIHN1cmUg eW91J3ZlIHNlbGVjdGVkIGEgcHJpbnRlci4iCisgICAgfQorfTsKKworZGF0 YSAnVEVYVCcgKDUwMDAsICJFbmdsaXNoIikgeworICAgICJwZ0FkbWluIDRc biIKKyAgICAiXG4iCisgICAgIkNvcHlyaWdodCAoQykgMjAxMyAtIDIwMTYs IFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW1cbiIKKyAgICAiXG4iCisg ICAgIlBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0 cmlidXRlIHRoaXMgc29mdHdhcmUgYW5kIGl0cyBkb2N1bWVudGF0aW9uIGZv ciBhbnkgcHVycG9zZSwgd2l0aG91dCBmZWUsIGFuZCB3aXRob3V0IGEgd3Jp dHRlbiBhZ3JlZW1lbnQgaXMgaGVyZWJ5IGdyYW50ZWQsIHByb3ZpZGVkIHRo YXQgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGFyYWdy YXBoIGFuZCB0aGUgZm9sbG93aW5nIHR3byBwYXJhZ3JhcGhzIGFwcGVhciBp biBhbGwgY29waWVzLlxuIgorICAgICJcbiIKKyAgICAiSU4gTk8gRVZFTlQg U0hBTEwgVEhFIFBHQURNSU4gREVWRUxPUE1FTlQgVEVBTSBCRSBMSUFCTEUg VE8gQU5ZIFBBUlRZIEZPUiBESVJFQ1QsIElORElSRUNULCBTUEVDSUFMLCBJ TkNJREVOVEFMLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMsIElOQ0xVRElO RyBMT1NUIFBST0ZJVFMsIEFSSVNJTkcgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ UyBTT0ZUV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT04sIEVWRU4gSUYgVEhF IFBHQURNSU4gREVWRUxPUE1FTlQgVEVBTSBIQVMgQkVFTiBBRFZJU0VEIE9G IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiIKKyAgICAiXG4i CisgICAgIlRIRSBQR0FETUlOIERFVkVMT1BNRU5UIFRFQU0gU1BFQ0lGSUNB TExZIERJU0NMQUlNUyBBTlkgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gVEhFIFNPRlRXQVJFIFBST1ZJREVEIEhFUkVVTkRFUiBJUyBPTiBB TiBcIkFTIElTXCIgQkFTSVMsIEFORCBUSEUgUEdBRE1JTiBERVZFTE9QTUVO VCBURUFNIEhBUyBOTyBPQkxJR0FUSU9OUyBUTyBQUk9WSURFIE1BSU5URU5B TkNFLCBTVVBQT1JULCBVUERBVEVTLCBFTkhBTkNFTUVOVFMsIE9SIE1PRElG SUNBVElPTlMuXG4iCit9OworCmRpZmYgLS1naXQgYS9wa2cvbWFjL3BnYWRt aW4uSW5mby5wbGlzdC5pbiBiL3BrZy9tYWMvcGdhZG1pbi5JbmZvLnBsaXN0 LmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiNTdh YzgKLS0tIC9kZXYvbnVsbAorKysgYi9wa2cvbWFjL3BnYWRtaW4uSW5mby5w bGlzdC5pbgpAQCAtMCwwICsxLDI4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAi IGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAi LS8vQXBwbGUgQ29tcHV0ZXIvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDov L3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+Cis8 cGxpc3QgdmVyc2lvbj0iMS4wIj4KKzxkaWN0PgorCTxrZXk+Q0ZCdW5kbGVE ZXZlbG9wbWVudFJlZ2lvbjwva2V5PgorCTxzdHJpbmc+RW5nbGlzaDwvc3Ry aW5nPgorCTxrZXk+Q0ZCdW5kbGVFeGVjdXRhYmxlPC9rZXk+CisJPHN0cmlu Zz5wZ0FkbWluNDwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVHZXRJbmZvU3Ry aW5nPC9rZXk+CisJPHN0cmluZz5wZ0FkbWluNCBQR0FETUlOX0xPTkdfVkVS U0lPTjwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5kbGVJY29uRmlsZTwva2V5Pgor CTxzdHJpbmc+cGdBZG1pbjQuaWNuczwvc3RyaW5nPgorCTxrZXk+Q0ZCdW5k bGVJZGVudGlmaWVyPC9rZXk+CisJPHN0cmluZz5vcmcucG9zdGdyZXNxbC5w Z2FkbWluPC9zdHJpbmc+CisJPGtleT5DRkJ1bmRsZUluZm9EaWN0aW9uYXJ5 VmVyc2lvbjwva2V5PgorCTxzdHJpbmc+Ni4wPC9zdHJpbmc+CisJPGtleT5D RkJ1bmRsZVBhY2thZ2VUeXBlPC9rZXk+CisJPHN0cmluZz5BUFBMPC9zdHJp bmc+CisJPGtleT5DRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZzwva2V5Pgor CTxzdHJpbmc+UEdBRE1JTl9TSE9SVF9WRVJTSU9OPC9zdHJpbmc+CisJPGtl eT5DRkJ1bmRsZVNpZ25hdHVyZTwva2V5PgorCTxzdHJpbmc+Pz8/Pzwvc3Ry aW5nPgorCTxrZXk+Q0ZCdW5kbGVWZXJzaW9uPC9rZXk+CisJPHN0cmluZz5Q R0FETUlOX0xPTkdfVkVSU0lPTjwvc3RyaW5nPgorCTxrZXk+Q1NSZXNvdXJj ZXNGaWxlTWFwcGVkPC9rZXk+CisJPHRydWUvPgorPC9kaWN0PgorPC9wbGlz dD4K --001a1139bb245126180533078f3c Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers --001a1139bb245126180533078f3c--