From crazy-ivanovic@gmx.net Tue Mar 1 00:50:17 2011 From: Nils Kneuper To: firmware-dev@openpandora.org Subject: [Firmware-dev] PXML specification: proposal of new specs (including sample files and schema) Date: Tue, 01 Mar 2011 00:50:15 +0100 Message-ID: <4D6C34B7.8040203@gmx.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2014391670667657686==" --===============2014391670667657686== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi everybody! As result of the discussions so far I have worked on creating a decent propos= al embedding some of the new stuff. I attached several sample files (various "stages" of PXML.xml files as well as a plaintext description of the schema a= nd the schema itself). And I will try to explain the changes compared to the existing format as well the reasoning behind these proposed changes. For some changes some slight alternations in libpnd might be required, but those should be doable in a non intrusive and backwards compatible way. First some explanations of the concept: 1) libpnd libpnd is likely to be the most relaxed part in the whole setup. It will acce= pt PXML files that are *significantly* more easy and simple than what the "specification" wants to see. libpnd does not use all possible tags and does simply ignore tags that are unknown, so adding new random stuff should not affect libpnd. 2) schema The schema is based on what is wanted in the specification. It is *not* mandatory to follow the scheme, since even when validation fails the pnd might still work with the PXML.xml file. This schema is basically meant to not only help with checking if the file is likely to work on the pandora, but also to establish some "good coding practices" as well as support possible package databases by making sure that pnds come with some basic information. 3) difference between package and application Inside a single pnd file several applications can be included. So basically a pnd file is (by definition) a 'package'. There is no "extra" information what makes the package a package (so far). At the moment all info available in the PXML is about the single applications that form the package. 4) mandatory / optional The usage of these terms has to be seen in context. Something mandatory for libpnd means that the pnd won't work unless those are met. Something mandatory for the schema means that the PXML file won't pass validation unless this is met, but the pnd might still be accepted by libpnd. Optional stuff should be self-explaining. Stuff that is optional for libpnd might be mandatory for the schema though (cf the stuff above). New things and changes to the current system: 1) Add another flag to the entry Adding a 'type=3D' entry here will allow to specify if this application is a "release" or an "alpha" or "beta" version. A possible usecase of this would allow some "closed beta test" via package repositories only allowing register= ed users (of a special group) to get the package/application/pnd. If no 'type' is specified, 'release' is to be assumed. This means that the tag can look like this after the change: This change requires no changes in libpnd itself since at the moment the vers= ion tag is not respected/used anyway. 2) Change how and <description> are listed At the moment it is already possible to have several titles and descriptions allowing translations of those. Sadly the current system makes it difficult to validate the PXML using w3 conform validators. Either there can only be "up to one" block of each type in a schema, or the order of the blocks have to be strict (not too simple to explain, but trust me on this, it is a mess). Over here I will just explain things based on <title>, <description> behaves ident= ically. It is possible to have more than one <title> block. For categories, previewpi= cs and associations the specs already have a "subcategory" in which the real entries are stored. The idea is to do the same for all <title> blocks. So instead of having these lines: <title lang=3D"en_US">Sample Application Beispiel Anwendung The resulting PXML that is valid would look like this: Sample Application Beispiel Anwendung As you can see *exactly* the same entries would just be in one extra block. T= his makes it rather easy to transform the existing PXML into this changed format (for passing schema validation) and it should be easy to add this support to libpnd. After this change being added, the order inside the blo= cks does *not* matter anymore for validation. This change requires some changes to libpnd, so that the title is also read f= rom the additional level introduced by . Exactly the same as mentioned ab= ove applies for . 3) Add a way to specify the license of an application At the moment there is no way for a packager/author of software to define the license of the stuff. The proposal is to add a way that allows several licens= es to a given application (think of "dual licensing"). It would be mandatory (in the schema validation) to specify at least one license. The license itself on= ly consists of a name, but you *can* also specify a url to the license text as w= ell as a url to the sourcecode for those licenses that want you to publish the sourcecode. Here is a sample of how it can look with several licenses (rememb= er, *one* block is required for the PXML.xml to pass validation!): The reason to call this 'license' is that every software comes with some form= of license (a valid entry would also be 'do what you want with it'!), but not ev= ery license also makes you somehow bundle the sourcecode. There will also be noth= ing enforcing names for the license or forcing that there is a sourcecode url for some given license name, since the sources can be provided in *many* ways, eg= by having it mentioned in the docs or *whatever*. This is basically an offer to packagers to say what license the package comes with. It will likely be rather important to have everything in package repositories in a "correct" form. No changes in libpnd required, since this tag would just be ignored on libpnd side (for the moment) and additional tags that are unknown are just ignored. 4) Add information about the 'package' in PXML At the moment the PXML is only about the included applications. This is all w= hat is required to have the pnds working. Sadly this does not mean that all information that a user might expect is available in the PXML file. It does n= ot provide any information about the "composition". The best known example for t= his is a game collection like eg kde-games. Beside the filename there is no way to see that this is a kde-games package. Currently PXML does offer the infrastructure of bundle applications from various authors and sources, but y= ou can't add any extra info. This was already discussed over the last days (including a very early proposal I made up in some 5mins) on the list. Now le= ts come to the 'complete' version including some details: * My general idea is that it should be easy for a dev to create this section. Most things wanted/needed here can be done using a plain copy&paste of the blocks from the area. This is mainly relevant for "single application" pnds. You can just copy the relevant parts into the bl= ock and by this provide the information. Because of this I have *not* renamed ter= ms like to (which would make sense to do otherwise). * I want to have this block mandatory to pass schema validation. The main rea= son for this is to make it easier for package distribution systems. They can just scan for this block and are done and don't have to look at the blocks for initial data collection (yes, it makes sense to also iterate throu= gh all application blocks, but the relevant stuff should be mentioned here). Sin= ce it is really easy to generate it, it should not be an extra burden on the aut= hor. * Of course there are mandatory as well as optional terms in the bl= ock. * Here is an example of what a (rather) complete block looks like: Sample Collection Beispiel Sammlung This is a really verbose package with a who= le lot of stuff from 2 different sources, mixing different things, having stuff = in ways sometimes making use of stuff, often not. Die gleiche Beschreibung wie oben, nur auf deutsch. Now lets come to explaining the single blocks and the reasons behind them. The list below each section is about the parameters inside the tags themselves and only applied if the tag is actually used! 1) The ID behaves similar to the id used in the application block. For a single application pnd it might even make sense to use exactly the same. This is to allow "package managers" (no matter if repository or on the pandora) to check for existing packages and update if a more recent version of the package with this ID is available. (mandatory) id 2) Identical to the tag from (in the way it works). This= is meant to differ the version of the application collection from the versions of the single applications. Not really relevant for single application packages, but very relevant when talking about some package collections where single application versions might significantly differ and some version numbers increase, some decrease (downgrade!). Having this item is mandatory for schema validation. (mandatory) major (mandatory) minor (mandatory) release (mandatory) build (optional) type 3) This is the packager tag. Basically a way for the packager to state their name and website as well as the email address. This can be used to make contacting the packager easier. The website could eg also be the forum discussion thread for a given package. Having this item is mandatory for schema validation. (mandatory) name (optional) website (optional) email 4) Sample Collection Beispiel Sammlung Of course packages need some kind of title (kde-games vs ksudoku/kpat/...), which can differ from the name of the applications. Having a title is mandato= ry, just as it is for the block. Here translations are possible, too (eg the web interface could maybe also display in german or french and a pack= age manager on the pandora could use the system locale which might not be en_US). Having at least one inside a <titles> block is mandatory for schema validation (it is not easy to enforce having one en_US block included, but th= at is what should be there *at least*). (mandatory) lang (inside of <title> which is inside of <titles>) 5) <descriptions> <description lang=3D"en_US">This is a really verbose package with a who= le lot of stuff from 2 different sources, mixing different things, having stuff = in ways sometimes making use of stuff, often not.</description> <description lang=3D"de_DE">Die gleiche Beschreibung wie oben, nur auf deutsch.</description> </descriptions> The package itself might want to provide some explaining text. This tag is exactly meant for this. The description of eg the kde-games can say that this= is the collection of games that kde does offer, while the single application descriptions would be about the respective application. For descriptions the same applies as for titles, they can be translated, too. Having a description= is optional, though it is highly recommended to at least create one in en_US. (mandatory) lang (inside of <description> which is inside of <descriptions>) 6) <icon src=3D"my-icon.png"/> Specify a package icon. For normal pandora usage this is 100% irrelevant. But= it would/could be used by the repository and package manager. It could differ fr= om the icon used for the single apps. Eg the single games within the kde-games bundle might want to have "game specific" icons, which would not fit nicely as "package" icon for the package database. Yes, I know that at the moment the i= con does not make much sense, since the pnd has to be extracted to get to it, so = the icon appended in the .pnd file itself can also be used. But once there is some infrastructure to more easily get to the previewpics and icons for the single apps this might be more interesting. Of course specifying an icon is complete= ly optional when validating using the schema. (mandatory) src Those are the basic changes that I propose. I attached the following files to the mail (all .xml files pass validation following the rules above unless explicitly mentioned): 1) average-case_PXML.xml A rather common single application pnd converted to follow the things mention= ed above. 2) full-sample_PXML.xml A more complex PXML file that features many things allowed by the specs. Plea= se look especially at things like the license blocks and the other new things mentioned in this mail. 3) minimum-libpnd_PXML.xml A rather minimum PXML file that will *not* pass validation but work nicely on the pandora. 4) minimum-schema_PXML.xml The minumum PXML file that still passes validation and will run on the Pandor= a. 5) old_PXML.xml An old file that still works on the pandora but won't pass validation (missing <package> block as well as wrong <title> and <description> blocks). 6) PXML_schema.xsd The schema definition file. It is basically the old file from [1] extended by the changes introduced and removing the dependency on "fixed order" for the entries inside the <application> block. 7) PXML_schema_plaintext.txt A more plaintext explanation in "coder terms" for those that don't like readi= ng xml schema definitions. It is basically the old file from [1] extended by the changes introduced in this proposal and extended with some more info about the "numbers" used for cardinality throughout the file. Now I am looking forward to your constructive criticism about this proposal. I hope I provided enough reasoning for the respective blocks (especially when reading this mail in context with the other mails that belong to this area) a= nd the stuff I do propose is clearly understandable. Everything regarding PXML t= hat is *not* mentioned in this mail is already part of the specs and mentioned at [2]. This is basically just an extension of the existing stuff, not a complete recreation. If this is accepted as proposed here the following things would have to be do= ne: * Implement "2) Change how <title> and <description> are listed" in libpnd. * Upload "PXML_schema.xsd" and "PXML_schema_plaintext.xml" (as well as possib= ly the example files) to [1] * Update the documentation in the wiki [2]. Cheers, Nils Kneuper aka Ivanovic [1] http://git.openpandora.org/cgi-bin/gitweb.cgi?p=3Dpandora-libraries.git;a=3Dt= ree;f=3Ddocs [2] http://pandorawiki.org/PXML_specification -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) iEYEARECAAYFAk1sNLcACgkQfFda9thizwWw0ACghz9N6uWnaIyVbkufJ2XmHro1 QpUAn1bPbPrXLSmjQSBD+kKLMbmUPd+Q =3DN1go -----END PGP SIGNATURE----- --===============2014391670667657686== Content-Type: text/xml Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="average-case_PXML.xml" MIME-Version: 1.0 PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPFBYTUwgeG1sbnM9Imh0dHA6 Ly9vcGVucGFuZG9yYS5vcmcvbmFtZXNwYWNlcy9QWE1MIj4KICA8cGFja2FnZSBpZD0ic2FtcGxl LXBhY2thZ2UiPgogICAgPHZlcnNpb24gbWFqb3I9IjEiIG1pbm9yPSIxNyIgcmVsZWFzZT0iMyIg YnVpbGQ9IjQiLz4KICAgIDxhdXRob3IgbmFtZT0idGhlIGF1dGhvcnMgbmFtZSIgd2Vic2l0ZT0i aHR0cDovL3d3dy5vcGVucGFuZG9yYS5vcmciLz4KICAgIDx0aXRsZXM+CiAgICAgIDx0aXRsZSBs YW5nPSJlbl9VUyI+U2FtcGxlIEFwcGxpY2F0aW9uPC90aXRsZT4KICAgICAgPHRpdGxlIGxhbmc9 ImRlX0RFIj5CZWlzcGllbCBBbndlbmR1bmc8L3RpdGxlPgogICAgPC90aXRsZXM+CiAgICA8ZGVz Y3JpcHRpb25zPgogICAgICA8ZGVzY3JpcHRpb24gbGFuZz0iZW5fVVMiPkEgcmVhbGx5IGxlbmdo dHkgZGVzY3JpcHRpb24gZm9yIHRoZSBhcHBsaWNhdGlvbi48L2Rlc2NyaXB0aW9uPgogICAgICA8 ZGVzY3JpcHRpb24gbGFuZz0iZGVfREUiPkRpZSBCZXNjaHJlaWJ1bmcgZWluZXIgQmVpc3BpZWxh bndlbmR1bmcuPC9kZXNjcmlwdGlvbj4KICAgIDwvZGVzY3JpcHRpb25zPgogICAgPGljb24gc3Jj PSJteS1pY29uLnBuZyIvPgogIDwvcGFja2FnZT4KICAKICA8YXBwbGljYXRpb24gaWQ9InNhbXBs ZS1hcHAiPgogICAgPGV4ZWMgY29tbWFuZD0icnVuLnNoIiB4MTE9InJlcSIvPgogICAgPHZlcnNp b24gbWFqb3I9IjEiIG1pbm9yPSIxNyIgcmVsZWFzZT0iMyIgYnVpbGQ9IjQiLz4KICAgIDxhdXRo b3IgbmFtZT0idGhlIGF1dGhvcnMgbmFtZSIgd2Vic2l0ZT0iaHR0cDovL3d3dy5vcGVucGFuZG9y YS5vcmciLz4KICAgIDx0aXRsZXM+CiAgICAgIDx0aXRsZSBsYW5nPSJlbl9VUyI+U2FtcGxlIEFw cGxpY2F0aW9uPC90aXRsZT4KICAgICAgPHRpdGxlIGxhbmc9ImRlX0RFIj5CZWlzcGllbCBBbndl bmR1bmc8L3RpdGxlPgogICAgPC90aXRsZXM+CiAgICA8ZGVzY3JpcHRpb25zPgogICAgICA8ZGVz Y3JpcHRpb24gbGFuZz0iZW5fVVMiPkEgcmVhbGx5IGxlbmdodHkgZGVzY3JpcHRpb24gZm9yIHRo ZSBhcHBsaWNhdGlvbi48L2Rlc2NyaXB0aW9uPgogICAgICA8ZGVzY3JpcHRpb24gbGFuZz0iZGVf REUiPkRpZSBCZXNjaHJlaWJ1bmcgZWluZXIgQmVpc3BpZWxhbndlbmR1bmcuPC9kZXNjcmlwdGlv bj4KICAgIDwvZGVzY3JpcHRpb25zPgogICAgPGljb24gc3JjPSJteS1pY29uLnBuZyIvPgogICAg PGxpY2Vuc2VzPgogICAgICA8bGljZW5zZSBuYW1lPSJHUEx2MisiIHVybD0iaHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbCIgc291cmNlY29kZXVybD0iaHR0cDovL3BhbmRv cmEub3JnL3NvdXJjZXMvcGFja2FnZS50YXIuYnoyIi8+CiAgICA8L2xpY2Vuc2VzPgogICAgPHBy ZXZpZXdwaWNzPgogICAgICA8cGljIHNyYz0icHJldmlldy1pbWFnZS5wbmciLz4KICAgIDwvcHJl dmlld3BpY3M+CiAgICA8aW5mbyBuYW1lPSJSZWFkbWUiIHR5cGU9InRleHQvaHRtbCIgc3JjPSJy ZWFkbWUuaHRtbCIvPgogICAgPGNhdGVnb3JpZXM+CiAgICAgIDxjYXRlZ29yeSBuYW1lPSJHYW1l Ij4KICAgICAgICA8c3ViY2F0ZWdvcnkgbmFtZT0iU3RyYXRlZ3lHYW1lIi8+CiAgICAgIDwvY2F0 ZWdvcnk+CiAgICA8L2NhdGVnb3JpZXM+CiAgPC9hcHBsaWNhdGlvbj4KPC9QWE1MPgo= --===============2014391670667657686== Content-Type: text/xml Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="full-sample_PXML.xml" MIME-Version: 1.0 PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPFBYTUwgeG1sbnM9Imh0dHA6 Ly9vcGVucGFuZG9yYS5vcmcvbmFtZXNwYWNlcy9QWE1MIj4KICA8cGFja2FnZSBpZD0ic2FtcGxl LXBhY2thZ2UiPgogICAgPHZlcnNpb24gbWFqb3I9IjEiIG1pbm9yPSIwIiByZWxlYXNlPSIwIiBi dWlsZD0iMCIgdHlwZT0icmVsZWFzZSIvPgogICAgPGF1dGhvciBuYW1lPSJwYWNrYWdlcnMgbmFt ZSIgd2Vic2l0ZT0iaHR0cDovL3d3dy53ZWJzaXRlLmZvbyIgZW1haWw9InVzZXJAbmFtZS53aG8i Lz4KICAgIDx0aXRsZXM+CiAgICAgIDx0aXRsZSBsYW5nPSJlbl9VUyI+U2FtcGxlIENvbGxlY3Rp b248L3RpdGxlPgogICAgICA8dGl0bGUgbGFuZz0iZGVfREUiPkJlaXNwaWVsIFNhbW1sdW5nPC90 aXRsZT4KICAgIDwvdGl0bGVzPgogICAgPGRlc2NyaXB0aW9ucz4KICAgICAgPGRlc2NyaXB0aW9u IGxhbmc9ImVuX1VTIj5UaGlzIGlzIGEgcmVhbGx5IHZlcmJvc2UgcGFja2FnZSB3aXRoIGEgd2hv bGUgbG90IG9mIHN0dWZmIGZyb20gMiBkaWZmZXJlbnQgc291cmNlcywgbWl4aW5nIGRpZmZlcmVu dCB0aGluZ3MsIGhhdmluZyBzdHVmZiBpbiB3YXlzIHNvbWV0aW1lcyBtYWtpbmcgdXNlIG9mIHN0 dWZmLCBvZnRlbiBub3QuPC9kZXNjcmlwdGlvbj4KICAgICAgPGRlc2NyaXB0aW9uIGxhbmc9ImRl X0RFIj5EaWUgZ2xlaWNoZSBCZXNjaHJlaWJ1bmcgd2llIG9iZW4sIG51ciBhdWYgZGV1dHNjaC48 L2Rlc2NyaXB0aW9uPgogICAgPC9kZXNjcmlwdGlvbnM+CiAgICA8aWNvbiBzcmM9Im15LWljb24u cG5nIi8+CiAgPC9wYWNrYWdlPgogIAogIDxhcHBsaWNhdGlvbiBpZD0ic2FtcGxlLWFwcDEiPgog ICAgPGV4ZWMgY29tbWFuZD0icnVuLnNoIiB4MTE9InJlcSIvPgogICAgPHZlcnNpb24gbWFqb3I9 IjEiIG1pbm9yPSIxOCIgcmVsZWFzZT0iMCIgYnVpbGQ9IjAiIHR5cGU9ImFscGhhIi8+CiAgICA8 YXV0aG9yIG5hbWU9InRoZSBhdXRob3JzIG5hbWUiIHdlYnNpdGU9Imh0dHA6Ly93d3cub3BlbnBh bmRvcmEub3JnIi8+CiAgICA8dGl0bGVzPgogICAgICA8dGl0bGUgbGFuZz0iZW5fVVMiPlNhbXBs ZSBBcHBsaWNhdGlvbiAxPC90aXRsZT4KICAgICAgPHRpdGxlIGxhbmc9ImRlX0RFIj5CZWlzcGll bCBBbndlbmR1bmcgMTwvdGl0bGU+CiAgICA8L3RpdGxlcz4KICAgIDxkZXNjcmlwdGlvbnM+CiAg ICAgIDxkZXNjcmlwdGlvbiBsYW5nPSJlbl9VUyI+QSByZWFsbHkgbGVuZ2h0eSBkZXNjcmlwdGlv biBmb3IgdGhlIGFwcGxpY2F0aW9uLjwvZGVzY3JpcHRpb24+CiAgICAgIDxkZXNjcmlwdGlvbiBs YW5nPSJkZV9ERSI+RGllIEJlc2NocmVpYnVuZyBlaW5lciBCZWlzcGllbGFud2VuZHVuZy48L2Rl c2NyaXB0aW9uPgogICAgPC9kZXNjcmlwdGlvbnM+CiAgICA8aWNvbiBzcmM9Im15LWljb24ucG5n Ii8+CiAgICA8cHJldmlld3BpY3M+CiAgICAgIDxwaWMgc3JjPSJwcmV2aWV3LWltYWdlLnBuZyIv PgogICAgICA8cGljIHNyYz0iYXBwbGljYXRpb25fMS5wbmciLz4KICAgIDwvcHJldmlld3BpY3M+ CiAgICA8aW5mbyBuYW1lPSJSZWFkbWUiIHR5cGU9InRleHQvaHRtbCIgc3JjPSJyZWFkbWUuaHRt bCIvPgogICAgPGxpY2Vuc2VzPgogICAgICA8bGljZW5zZSBuYW1lPSJJIGRvIGFzIEkgcGxlYXNl IiBzb3VyY2Vjb2RldXJsPSJnaXQ6Ly9naXQub3BlbnBhbmRvcmEub3JnL3NwZWNpYWxfcHJvamVj dCIvPgogICAgPC9saWNlbnNlcz4KICAgIDxjYXRlZ29yaWVzPgogICAgICA8Y2F0ZWdvcnkgbmFt ZT0iR2FtZSI+CiAgICAgICAgPHN1YmNhdGVnb3J5IG5hbWU9IkVtdWxhdG9yIi8+CiAgICAgIDwv Y2F0ZWdvcnk+CiAgICAgIDxjYXRlZ29yeSBuYW1lPSJTeXN0ZW0iPgogICAgICAgIDxzdWJjYXRl Z29yeSBuYW1lPSJFbXVsYXRvciIvPgogICAgICA8L2NhdGVnb3J5PgogICAgPC9jYXRlZ29yaWVz PgogIDwvYXBwbGljYXRpb24+CiAgCiAgPGFwcGxpY2F0aW9uIGlkPSJzYW1wbGUtYXBwMiIgYXBw ZGF0YT0ic2FtcGxlLWFwcDEiPgogICAgPGV4ZWMgY29tbWFuZD0icnVuMi5zaCIvPgogICAgPHZl cnNpb24gbWFqb3I9IjEiIG1pbm9yPSIxNyIgcmVsZWFzZT0iMyIgYnVpbGQ9IjQiIHR5cGU9InJl bGVhc2UiLz4KICAgIDxhdXRob3IgbmFtZT0idGhlIGF1dGhvcnMgbmFtZSIgd2Vic2l0ZT0iaHR0 cDovL3d3dy5vcGVucGFuZG9yYS5vcmciLz4KICAgIDx0aXRsZXM+CiAgICAgIDx0aXRsZSBsYW5n PSJlbl9VUyI+U2FtcGxlIEFwcGxpY2F0aW9uPC90aXRsZT4KICAgICAgPHRpdGxlIGxhbmc9ImRl X0RFIj5CZWlzcGllbCBBbndlbmR1bmc8L3RpdGxlPgogICAgPC90aXRsZXM+CiAgICA8ZGVzY3Jp cHRpb25zPgogICAgICA8ZGVzY3JpcHRpb24gbGFuZz0iZW5fVVMiPkEgcmVhbGx5IGxlbmdodHkg ZGVzY3JpcHRpb24gZm9yIHRoZSBhcHBsaWNhdGlvbi4gSnVzdCBkaWZmZXJlbnQ8L2Rlc2NyaXB0 aW9uPgogICAgICA8ZGVzY3JpcHRpb24gbGFuZz0iZGVfREUiPkRpZSBCZXNjaHJlaWJ1bmcgZWlu ZXIgKmFuZGVyZW4qIEJlaXNwaWVsYW53ZW5kdW5nLjwvZGVzY3JpcHRpb24+CiAgICAgIDxkZXNj cmlwdGlvbiBsYW5nPSJmcl9GUiI+VGhpcyBpcyBpbiBmcmVuY2ghPC9kZXNjcmlwdGlvbj4KICAg IDwvZGVzY3JpcHRpb25zPgogICAgPGluZm8gbmFtZT0iUmVhZG1lIChvbGQpIiB0eXBlPSJ0ZXh0 L2h0bWwiIHNyYz0icmVhZG1lX29sZC5odG1sIi8+CiAgICA8aWNvbiBzcmM9Im15LWljb24yLnBu ZyIvPgogICAgPGxpY2Vuc2VzPgogICAgICA8bGljZW5zZSBuYW1lPSJvdGhlciIgdXJsPSJodHRw Oi8vb3BlbnBhbmRvcmEub3JnL3BhbmRvcmFfc3BlY2lhbC5odG1sIi8+CiAgICAgIDxsaWNlbnNl IG5hbWU9IlF0LWNvbW1lcmNpYWwiIHVybD0iaHR0cDovL3VybC5vcGVucGFuZG9yYS5vcmcvY29t bWVyY2lhbF9saWNlbnNlLmh0bWwiLz4KICAgICAgPGxpY2Vuc2UgbmFtZT0icHVibGljIGRvbWFp biIvPgogICAgICA8bGljZW5zZSBuYW1lPSJHUEx2MisiIHVybD0iaHR0cDovL3d3dy5nbnUub3Jn L2xpY2Vuc2VzL2dwbC0yLjAuaHRtbCIgc291cmNlY29kZXVybD0iaHR0cDovL3BhbmRvcmEub3Jn L3NvdXJjZXMvcGFja2FnZS50YXIuYnoyIi8+CiAgICA8L2xpY2Vuc2VzPgogICAgPGNhdGVnb3Jp ZXM+CiAgICAgIDxjYXRlZ29yeSBuYW1lPSJHYW1lIj4KICAgICAgICA8c3ViY2F0ZWdvcnkgbmFt ZT0iU3RyYXRlZ3lHYW1lIi8+CiAgICAgIDwvY2F0ZWdvcnk+CiAgICA8L2NhdGVnb3JpZXM+CiAg PC9hcHBsaWNhdGlvbj4KICAKICA8YXBwbGljYXRpb24gaWQ9InNhbXBsZS1hcHAzIj4KICAgIDxl eGVjIGNvbW1hbmQ9ImJpbi90b29sIiBzdGFuZGFsb25lPSJmYWxzZSIvPgogICAgPHZlcnNpb24g bWFqb3I9IjEiIG1pbm9yPSIwIiByZWxlYXNlPSIwIiBidWlsZD0iMSIvPgogICAgPGF1dGhvciBu YW1lPSJjb21wbGV0ZWx5IGRpZmZlcmVudCBhdXRob3IiIHdlYnNpdGU9Imh0dHA6Ly93d3cud2Vi c2l0ZS5mb28iIGVtYWlsPSJ1c2VyQG5hbWUud2hvIi8+CiAgICA8dGl0bGVzPgogICAgICA8dGl0 bGUgbGFuZz0iZW5fVVMiPlNhbXBsZSBBcHBsaWNhdGlvbjwvdGl0bGU+CiAgICA8L3RpdGxlcz4K ICAgIDxkZXNjcmlwdGlvbnM+CiAgICAgIDxkZXNjcmlwdGlvbiBsYW5nPSJlbl9VUyI+QWRkaXRp b25hbCB0b29sIGRlc2NyaXB0aW9uLjwvZGVzY3JpcHRpb24+CiAgICA8L2Rlc2NyaXB0aW9ucz4K ICAgIDxpY29uIHNyYz0ibm8tcmVhbC1pY29uLnBuZyIvPgogICAgPGxpY2Vuc2VzPgogICAgICA8 bGljZW5zZSBuYW1lPSJHUEx2MisiIHVybD0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dw bC0yLjAuaHRtbCIgc291cmNlY29kZXVybD0iaHR0cDovL3BhbmRvcmEub3JnL3NvdXJjZXMvcGFj a2FnZS50YXIuYnoyIi8+CiAgICA8L2xpY2Vuc2VzPgogICAgPHByZXZpZXdwaWNzPgogICAgICA8 cGljIHNyYz0iZGlmZmVyZW50LXByZXZpZXctaW1hZ2UucG5nIi8+CiAgICA8L3ByZXZpZXdwaWNz PgogICAgPGNhdGVnb3JpZXM+CiAgICAgIDxjYXRlZ29yeSBuYW1lPSJTeXN0ZW0iPgogICAgICA8 L2NhdGVnb3J5PgogICAgPC9jYXRlZ29yaWVzPgogICAgPGFzc29jaWF0aW9ucz4KICAgICAgPGFz c29jaWF0aW9uIG5hbWU9IkRlaW50ZXJsYWNlZCBCaXRtYXAgSW1hZ2UiIGZpbGV0eXBlPSJpbWFn ZS9ibXAiIGV4ZWM9Ii1mICVzIC0tbm8tZGVpbnRlcmxhY2luZyIvPgogICAgICA8YXNzb2NpYXRp b24gbmFtZT0iU3R5bGUgc2hlZXQgc3lzdGVtIGNyYXNoZXIiIGZpbGV0eXBlPSJ0ZXh0L2NzcyIg ZXhlYz0iLWYgJXMgLS1jcmFzaC1vbi1zdWNjZXNzIi8+CiAgICA8L2Fzc29jaWF0aW9ucz4KICA8 L2FwcGxpY2F0aW9uPgo8L1BYTUw+Cg== --===============2014391670667657686== Content-Type: text/xml Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="minimum-libpnd_PXML.xml" MIME-Version: 1.0 PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPFBYTUwgeG1sbnM9Imh0dHA6 Ly9vcGVucGFuZG9yYS5vcmcvbmFtZXNwYWNlcy9QWE1MIj4KICA8YXBwbGljYXRpb24gaWQ9InNh bXBsZS1hcHAiPgogICAgPGV4ZWMgY29tbWFuZD0icnVuLnNoIi8+CiAgICA8dGl0bGUgbGFuZz0i ZW5fVVMiPlNhbXBsZSBBcHBsaWNhdGlvbjwvdGl0bGU+CiAgPC9hcHBsaWNhdGlvbj4KPC9QWE1M Pgo= --===============2014391670667657686== Content-Type: text/xml Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="minimum-schema_PXML.xml" MIME-Version: 1.0 PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPFBYTUwgeG1sbnM9Imh0dHA6 Ly9vcGVucGFuZG9yYS5vcmcvbmFtZXNwYWNlcy9QWE1MIj4KICA8cGFja2FnZSBpZD0ic2FtcGxl LXBhY2thZ2UiPgogICAgPHZlcnNpb24gbWFqb3I9IjEiIG1pbm9yPSIxNyIgcmVsZWFzZT0iMyIg YnVpbGQ9IjQiLz4KICAgIDxhdXRob3IgbmFtZT0idGhlIGF1dGhvcnMgbmFtZSIvPgogICAgPHRp dGxlcz4KICAgICAgPHRpdGxlIGxhbmc9ImVuX1VTIj5TYW1wbGUgQXBwbGljYXRpb248L3RpdGxl PgogICAgPC90aXRsZXM+CiAgPC9wYWNrYWdlPgogIAogIDxhcHBsaWNhdGlvbiBpZD0ic2FtcGxl LWFwcCI+CiAgICA8ZXhlYyBjb21tYW5kPSJydW4uc2giLz4KICAgIDx0aXRsZXM+CiAgICAgIDx0 aXRsZSBsYW5nPSJlbl9VUyI+U2FtcGxlIEFwcGxpY2F0aW9uPC90aXRsZT4KICAgIDwvdGl0bGVz PgogICAgPGF1dGhvciBuYW1lPSJ0aGUgYXV0aG9ycyBuYW1lIi8+CiAgICA8dmVyc2lvbiBtYWpv cj0iMSIgbWlub3I9IjE3IiByZWxlYXNlPSIzIiBidWlsZD0iNCIvPgogICAgPGxpY2Vuc2VzPgog ICAgICA8bGljZW5zZSBuYW1lPSJvdGhlciIvPgogICAgPC9saWNlbnNlcz4KICAgIDxjYXRlZ29y aWVzPgogICAgICA8Y2F0ZWdvcnkgbmFtZT0iR2FtZSIvPgogICAgPC9jYXRlZ29yaWVzPgogIDwv YXBwbGljYXRpb24+CjwvUFhNTD4K --===============2014391670667657686== Content-Type: text/xml Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="old_PXML.xml" MIME-Version: 1.0 PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPFBYTUwgeG1sbnM9Imh0dHA6 Ly9vcGVucGFuZG9yYS5vcmcvbmFtZXNwYWNlcy9QWE1MIj4KICA8YXBwbGljYXRpb24gaWQ9InNh bXBsZS1hcHAiPgogICAgPGV4ZWMgY29tbWFuZD0icnVuLnNoIiB4MTE9InJlcSIvPgogICAgPHRp dGxlIGxhbmc9ImVuX1VTIj5TYW1wbGUgQXBwbGljYXRpb248L3RpdGxlPgogICAgPHRpdGxlIGxh bmc9ImRlX0RFIj5CZWlzcGllbCBBbndlbmR1bmc8L3RpdGxlPgogICAgPGF1dGhvciBuYW1lPSJ0 aGUgYXV0aG9ycyBuYW1lIiB3ZWJzaXRlPSJodHRwOi8vd3d3Lm9wZW5wYW5kb3JhLm9yZyIvPgog ICAgPHZlcnNpb24gbWFqb3I9IjEiIG1pbm9yPSIxNyIgcmVsZWFzZT0iMyIgYnVpbGQ9IjQiLz4K ICAgIDxkZXNjcmlwdGlvbiBsYW5nPSJlbl9VUyI+QSByZWFsbHkgbGVuZ2h0eSBkZXNjcmlwdGlv biBmb3IgdGhlIGFwcGxpY2F0aW9uLjwvZGVzY3JpcHRpb24+CiAgICA8aWNvbiBzcmM9Im15LWlj b24ucG5nIi8+CiAgICA8cHJldmlld3BpY3M+CiAgICAgIDxwaWMgc3JjPSJwcmV2aWV3LWltYWdl LnBuZyIvPgogICAgPC9wcmV2aWV3cGljcz4KICAgIDxpbmZvIG5hbWU9IlJlYWRtZSIgdHlwZT0i dGV4dC9odG1sIiBzcmM9InJlYWRtZS5odG1sIi8+CiAgICA8Y2F0ZWdvcmllcz4KICAgICAgPGNh dGVnb3J5IG5hbWU9IkdhbWUiPgogICAgICAgIDxzdWJjYXRlZ29yeSBuYW1lPSJTdHJhdGVneUdh bWUiLz4KICAgICAgPC9jYXRlZ29yeT4KICAgIDwvY2F0ZWdvcmllcz4KICA8L2FwcGxpY2F0aW9u Pgo8L1BYTUw+Cg== --===============2014391670667657686== Content-Type: text/xml Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="PXML_schema.xsd" MIME-Version: 1.0 PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHhzOnNjaGVtYSB0YXJnZXRO YW1lc3BhY2U9Imh0dHA6Ly9vcGVucGFuZG9yYS5vcmcvbmFtZXNwYWNlcy9QWE1MIiB4bWxucz0i aHR0cDovL29wZW5wYW5kb3JhLm9yZy9uYW1lc3BhY2VzL1BYTUwiIHhtbG5zOnhzPSJodHRwOi8v d3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgYXR0cmlidXRlRm9ybURlZmF1bHQ9InVucXVhbGlm aWVkIiBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCI+CgkKCTx4czpzaW1wbGVUeXBlIG5h bWU9IngxMVBhcmFtIj4KCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4KCQkJPHhz OmVudW1lcmF0aW9uIHZhbHVlPSJyZXEiIC8+CgkJCTx4czplbnVtZXJhdGlvbiB2YWx1ZT0ic3Rv cCIgLz4KCQkJPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJpZ25vcmUiIC8+CgkJPC94czpyZXN0cmlj dGlvbj4KCTwveHM6c2ltcGxlVHlwZT4KCQoJPHhzOnNpbXBsZVR5cGUgbmFtZT0iZG9jVHlwZSI+ CgkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+CgkJCTx4czplbnVtZXJhdGlvbiB2 YWx1ZT0idGV4dC9odG1sIiAvPgoJCQk8eHM6ZW51bWVyYXRpb24gdmFsdWU9InRleHQvcGxhaW4i IC8+CgkJPC94czpyZXN0cmljdGlvbj4KCTwveHM6c2ltcGxlVHlwZT4KCQoJPHhzOnNpbXBsZVR5 cGUgbmFtZT0idmVyc2lvbk51bWJlciI+CgkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmlu ZyI+CgkJCTx4czptaW5MZW5ndGggdmFsdWU9IjEiLz4KCQkJPHhzOnBhdHRlcm4gdmFsdWU9Ilth LXpBLVowLTkrLV0qIiAvPgoJCTwveHM6cmVzdHJpY3Rpb24+Cgk8L3hzOnNpbXBsZVR5cGU+CgkK CTx4czpzaW1wbGVUeXBlIG5hbWU9InJlbGVhc2VUeXBlIj4KCQk8eHM6cmVzdHJpY3Rpb24gYmFz ZT0ieHM6c3RyaW5nIj4KCQkJPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJhbHBoYSIgLz4KCQkJPHhz OmVudW1lcmF0aW9uIHZhbHVlPSJiZXRhIiAvPgoJCQk8eHM6ZW51bWVyYXRpb24gdmFsdWU9InJl bGVhc2UiIC8+CgkJPC94czpyZXN0cmljdGlvbj4KCTwveHM6c2ltcGxlVHlwZT4KCQoJPHhzOnNp bXBsZVR5cGUgbmFtZT0iZW1haWxBZGRyZXNzIj4KCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6 c3RyaW5nIj4KCQkJPHhzOnBhdHRlcm4gdmFsdWU9IlteQF0rQFteXC5dK1wuLisiLz4KCQk8L3hz OnJlc3RyaWN0aW9uPgoJPC94czpzaW1wbGVUeXBlPgoJCgk8eHM6c2ltcGxlVHlwZSBuYW1lPSJk dW1iUGF0aCI+CgkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOm5vcm1hbGl6ZWRTdHJpbmciPgoJ CQk8eHM6cGF0dGVybiB2YWx1ZT0iW14/PjpdKyIgLz4KCQk8L3hzOnJlc3RyaWN0aW9uPgoJPC94 czpzaW1wbGVUeXBlPgoJCgk8eHM6c2ltcGxlVHlwZSBuYW1lPSJkdW1iRm9sZGVyTmFtZSI+CgkJ PHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOm5vcm1hbGl6ZWRTdHJpbmciPgoJCQk8eHM6cGF0dGVy biB2YWx1ZT0iW14/PjovXSsiIC8+CgkJPC94czpyZXN0cmljdGlvbj4KCTwveHM6c2ltcGxlVHlw ZT4KCQoJPHhzOnNpbXBsZVR5cGUgbmFtZT0iaXNvTGFuZ2NvZGUiPgoJCTx4czpyZXN0cmljdGlv biBiYXNlPSJ4czpzdHJpbmciPgoJCQk8eHM6bWluTGVuZ3RoIHZhbHVlPSIyIi8+CgkJCTx4czpw YXR0ZXJuIHZhbHVlPSJbYS16QS1aXXsyLDN9KF9bYS16QS1aMC05XXsyLDN9KSoiIC8+CgkJPC94 czpyZXN0cmljdGlvbj4KCTwveHM6c2ltcGxlVHlwZT4KCQoJPCEtLSBEZWZpbml0aW9uIG9mIGFs bCBhbGxvd2VkIGNhdGVnb3JpZXMgZm9sbG93aW5nIHRoZSBGRE8gc3BlY3MgLS0+Cgk8eHM6c2lt cGxlVHlwZSBuYW1lPSJmZG9DYXRlZ29yeSI+CgkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0 cmluZyI+CgkJCTx4czpwYXR0ZXJuIHZhbHVlPSJBdWRpb1ZpZGVvfEF1ZGlvfFZpZGVvfERldmVs b3BtZW50fEVkdWNhdGlvbnxHYW1lfEdyYXBoaWNzfE5ldHdvcmt8T2ZmaWNlIi8+CgkJPC94czpy ZXN0cmljdGlvbj4KCTwveHM6c2ltcGxlVHlwZT4KCQoJPCEtLSBEZWZpbml0aW9uIG9mIGFsbCBh bGxvd2VkIHN1YmNhdGVnb3JpZXMgZm9sbG93aW5nIHRoZSBGRE8gc3BlY3MgLS0+Cgk8eHM6c2lt cGxlVHlwZSBuYW1lPSJmZG9TdWJDYXRlZ29yeSI+CgkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9Inhz OnN0cmluZyI+CgkJCTx4czpwYXR0ZXJuIHZhbHVlPSJCdWlsZGluZ3xEZWJ1Z2dlcnxJREV8R1VJ RGVzaWduZXJ8UHJvZmlsaW5nfFJldmlzaW9uQ29udHJvbHxUcmFuc2xhdGlvbnxDYWxlbmRhcnxD b250YWN0TWFuYWdlbWVudHxEYXRhYmFzZXxEaWN0aW9uYXJ5fENoYXJ0fEVtYWlsfEZpbmFuY2V8 Rmxvd0NoYXJ0fFBEQXxQcm9qZWN0TWFuYWdlbWVudHxQcmVzZW50YXRpb258U3ByZWFkc2hlZXR8 V29yZFByb2Nlc3NvcnwyREdyYXBoaWNzfFZlY3RvckdyYXBoaWNzfFJhc3RlckdyYXBoaWNzfDNE R3JhcGhpY3N8U2Nhbm5pbmd8T0NSfFBob3RvZ3JhcGh5fFB1Ymxpc2hpbmd8Vmlld2VyfFRleHRU b29sc3xEZXNrdG9wU2V0dGluZ3N8SGFyZHdhcmVTZXR0aW5nc3xQcmludGluZ3xQYWNrYWdlTWFu YWdlcnxEaWFsdXB8SW5zdGFudE1lc3NhZ2luZ3xDaGF0fElSQ0NsaWVudHxGaWxlVHJhbnNmZXJ8 SGFtUmFkaW98TmV3c3xQMlB8UmVtb3RlQWNjZXNzfFRlbGVwaG9ueXxUZWxlcGhvbnlUb29sc3xW aWRlb0NvbmZlcmVuY2V8V2ViQnJvd3NlcnxXZWJEZXZlbG9wbWVudHxNaWRpfE1peGVyfFNlcXVl bmNlcnxUdW5lcnxUVnxBdWRpb1ZpZGVvRWRpdGluZ3xQbGF5ZXJ8UmVjb3JkZXJ8RGlzY0J1cm5p bmd8QWN0aW9uR2FtZXxBZHZlbnR1cmVHYW1lfEFyY2FkZUdhbWV8Qm9hcmRHYW1lfEJsb2Nrc0dh bWV8Q2FyZEdhbWV8S2lkc0dhbWV8TG9naWNHYW1lfFJvbGVQbGF5aW5nfFNpbXVsYXRpb258U3Bv cnRzR2FtZXxTdHJhdGVneUdhbWV8QXJ0fENvbnN0cnVjdGlvbnxNdXNpY3xMYW5ndWFnZXN8U2Np ZW5jZXxBcnRpZmljaWFsSW50ZWxsaWdlbmNlfEFzdHJvbm9teXxCaW9sb2d5fENoZW1pc3RyeXxD b21wdXRlclNjaWVuY2V8RGF0YVZpc3VhbGl6YXRpb258RWNvbm9teXxFbGVjdHJpY2l0eXxHZW9n cmFwaHl8R2VvbG9neXxHZW9zY2llbmNlfEhpc3Rvcnl8SW1hZ2VQcm9jZXNzaW5nfExpdGVyYXR1 cmV8TWF0aHxOdW1lcmljYWxBbmFseXNpc3xNZWRpY2FsU29mdHdhcmV8UGh5c2ljc3xSb2JvdGlj c3xTcG9ydHN8UGFyYWxsZWxDb21wdXRpbmd8QW11c2VtZW50fEFyY2hpdmluZ3xDb21wcmVzc2lv bnxFbGVjdHJvbmljc3xFbXVsYXRvcnxFbmdpbmVlcmluZ3xGaWxlVG9vbHN8RmlsZU1hbmFnZXJ8 VGVybWluYWxFbXVsYXRvcnxGaWxlc3lzdGVtfE1vbml0b3J8U2VjdXJpdHl8QWNjZXNzaWJpbGl0 eXxDYWxjdWxhdG9yfENsb2NrfFRleHRFZGl0b3J8RG9jdW1lbnRhdGlvbnxDb3JlfEtERXxHTk9N RXxHVEt8UXR8TW90aWZ8SmF2YXxDb25zb2xlT25seSIvPgoJCTwveHM6cmVzdHJpY3Rpb24+Cgk8 L3hzOnNpbXBsZVR5cGU+CgkKCQoJPHhzOmVsZW1lbnQgbmFtZT0iUFhNTCI+CgkJPHhzOmNvbXBs ZXhUeXBlPgoJCQk8eHM6c2VxdWVuY2U+CgkJCQk8eHM6ZWxlbWVudCBuYW1lPSJwYWNrYWdlIiBt aW5PY2N1cnM9IjEiIG1heE9jY3Vycz0iMSI+CgkJCQkJPHhzOmNvbXBsZXhUeXBlPgoJCQkJCQk8 eHM6YWxsPgoJCQkJCQkJPCEtLUF1dGhvciBpbmZvLS0+CgkJCQkJCQk8eHM6ZWxlbWVudCBuYW1l PSJhdXRob3IiIG1pbk9jY3Vycz0iMSI+CgkJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPgoJCQkJCQkJ CQk8eHM6YXR0cmlidXRlIG5hbWU9Im5hbWUiIHVzZT0icmVxdWlyZWQiIHR5cGU9InhzOm5vcm1h bGl6ZWRTdHJpbmciIC8+CgkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0id2Vic2l0ZSIgdXNl PSJvcHRpb25hbCIgdHlwZT0ieHM6YW55VVJJIiAvPgoJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5h bWU9ImVtYWlsIiB1c2U9Im9wdGlvbmFsIiB0eXBlPSJlbWFpbEFkZHJlc3MiIC8+CgkJCQkJCQkJ PC94czpjb21wbGV4VHlwZT4KCQkJCQkJCTwveHM6ZWxlbWVudD4KCQkJCQkJCTwhLS1BcHAgdmVy c2lvbiBpbmZvLS0+CgkJCQkJCQk8eHM6ZWxlbWVudCBuYW1lPSJ2ZXJzaW9uIiBtaW5PY2N1cnM9 IjEiPgoJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4KCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1l PSJtYWpvciIgdXNlPSJyZXF1aXJlZCIgdHlwZT0idmVyc2lvbk51bWJlciIgLz4KCQkJCQkJCQkJ PHhzOmF0dHJpYnV0ZSBuYW1lPSJtaW5vciIgdXNlPSJyZXF1aXJlZCIgdHlwZT0idmVyc2lvbk51 bWJlciIgLz4KCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJyZWxlYXNlIiB1c2U9InJlcXVp cmVkIiB0eXBlPSJ2ZXJzaW9uTnVtYmVyIiAvPgoJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9 ImJ1aWxkIiB1c2U9InJlcXVpcmVkIiB0eXBlPSJ2ZXJzaW9uTnVtYmVyIiAvPgoJCQkJCQkJCQk8 eHM6YXR0cmlidXRlIG5hbWU9InR5cGUiIHVzZT0ib3B0aW9uYWwiIHR5cGU9InJlbGVhc2VUeXBl IiAvPgoJCQkJCQkJCTwveHM6Y29tcGxleFR5cGU+CgkJCQkJCQk8L3hzOmVsZW1lbnQ+CgkJCQkJ CQk8IS0tVGl0bGUtLT4KCQkJCQkJCTx4czplbGVtZW50IG5hbWU9InRpdGxlcyIgbWluT2NjdXJz PSIxIj4KCQkJCQkJCQk8eHM6Y29tcGxleFR5cGU+CgkJCQkJCQkJCTx4czpzZXF1ZW5jZT4KCQkJ CQkJCQkJCTx4czplbGVtZW50IG5hbWU9InRpdGxlIiBtaW5PY2N1cnM9IjEiIG1heE9jY3Vycz0i dW5ib3VuZGVkIj4KCQkJCQkJCQkJCQk8eHM6Y29tcGxleFR5cGU+CgkJCQkJCQkJCQkJCTx4czpz aW1wbGVDb250ZW50PgoJCQkJCQkJCQkJCQkJPHhzOmV4dGVuc2lvbiBiYXNlPSJ4czpzdHJpbmci PgoJCQkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0ibGFuZyIgdXNlPSJyZXF1aXJlZCIg dHlwZT0iaXNvTGFuZ2NvZGUiIC8+CgkJCQkJCQkJCQkJCQk8L3hzOmV4dGVuc2lvbj4KCQkJCQkJ CQkJCQkJPC94czpzaW1wbGVDb250ZW50PgoJCQkJCQkJCQkJCTwveHM6Y29tcGxleFR5cGU+CgkJ CQkJCQkJCQk8L3hzOmVsZW1lbnQ+CgkJCQkJCQkJCTwveHM6c2VxdWVuY2U+CgkJCQkJCQkJPC94 czpjb21wbGV4VHlwZT4KCQkJCQkJCTwveHM6ZWxlbWVudD4KCQkJCQkJCTwhLS1EZXNjcmlwdGlv bi0tPgoJCQkJCQkJPHhzOmVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb25zIiBtaW5PY2N1cnM9IjAi PgoJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4KCQkJCQkJCQkJPHhzOnNlcXVlbmNlPgoJCQkJCQkJ CQkJPHhzOmVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz PSJ1bmJvdW5kZWQiPgoJCQkJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4KCQkJCQkJCQkJCQkJPHhz OnNpbXBsZUNvbnRlbnQ+CgkJCQkJCQkJCQkJCQk8eHM6ZXh0ZW5zaW9uIGJhc2U9InhzOnN0cmlu ZyI+CgkJCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJsYW5nIiB1c2U9InJlcXVpcmVk IiB0eXBlPSJpc29MYW5nY29kZSIgLz4KCQkJCQkJCQkJCQkJCTwveHM6ZXh0ZW5zaW9uPgoJCQkJ CQkJCQkJCQk8L3hzOnNpbXBsZUNvbnRlbnQ+CgkJCQkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4K CQkJCQkJCQkJCTwveHM6ZWxlbWVudD4KCQkJCQkJCQkJPC94czpzZXF1ZW5jZT4KCQkJCQkJCQk8 L3hzOmNvbXBsZXhUeXBlPgoJCQkJCQkJPC94czplbGVtZW50PgoJCQkJCQkJPCEtLUljb24tLT4K CQkJCQkJCTx4czplbGVtZW50IG5hbWU9Imljb24iIG1pbk9jY3Vycz0iMCI+CgkJCQkJCQkJPHhz OmNvbXBsZXhUeXBlPgoJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9InNyYyIgdXNlPSJyZXF1 aXJlZCIgdHlwZT0iZHVtYlBhdGgiIC8+CgkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4KCQkJCQkJ CTwveHM6ZWxlbWVudD4KCQkJCQkJPC94czphbGw+CgkJCQkJCTwhLS1QYWNrYWdlIElELS0+CgkJ CQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iaWQiIHVzZT0icmVxdWlyZWQiIHR5cGU9ImR1bWJGb2xk ZXJOYW1lIiAvPgoJCQkJCTwveHM6Y29tcGxleFR5cGU+CgkJCQk8L3hzOmVsZW1lbnQ+CgkJCQk8 eHM6ZWxlbWVudCBuYW1lPSJhcHBsaWNhdGlvbiIgbWluT2NjdXJzPSIxIiBtYXhPY2N1cnM9InVu Ym91bmRlZCI+CgkJCQkJPHhzOmNvbXBsZXhUeXBlPgoJCQkJCQk8eHM6YWxsPgoJCQkJCQkJPCEt LUV4ZWN1dGlvbiBwYXJhbXMgLS0+CgkJCQkJCQk8eHM6ZWxlbWVudCBuYW1lPSJleGVjIiBtaW5P Y2N1cnM9IjEiPgoJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4KCQkJCQkJCQkJPHhzOmF0dHJpYnV0 ZSBuYW1lPSJjb21tYW5kIiB1c2U9InJlcXVpcmVkIiB0eXBlPSJ4czp0b2tlbiIgLz4KCQkJCQkJ CQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJhcmd1bWVudHMiIHVzZT0ib3B0aW9uYWwiIHR5cGU9Inhz OnRva2VuIiAvPgoJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9ImJhY2tncm91bmQiIHVzZT0i b3B0aW9uYWwiIHR5cGU9InhzOmJvb2xlYW4iIC8+CgkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFt ZT0ic3RhcnRkaXIiIHVzZT0ib3B0aW9uYWwiIHR5cGU9ImR1bWJQYXRoIiAvPgoJCQkJCQkJCQk8 eHM6YXR0cmlidXRlIG5hbWU9InN0YW5kYWxvbmUiIHVzZT0ib3B0aW9uYWwiIHR5cGU9InhzOmJv b2xlYW4iIC8+CgkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0ieDExIiB1c2U9Im9wdGlvbmFs IiB0eXBlPSJ4MTFQYXJhbSIgLz4KCQkJCQkJCQk8L3hzOmNvbXBsZXhUeXBlPgoJCQkJCQkJPC94 czplbGVtZW50PgoJCQkJCQkJPCEtLUF1dGhvciBpbmZvLS0+CgkJCQkJCQk8eHM6ZWxlbWVudCBu YW1lPSJhdXRob3IiIG1pbk9jY3Vycz0iMSI+CgkJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPgoJCQkJ CQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9Im5hbWUiIHVzZT0icmVxdWlyZWQiIHR5cGU9InhzOm5v cm1hbGl6ZWRTdHJpbmciIC8+CgkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0id2Vic2l0ZSIg dXNlPSJvcHRpb25hbCIgdHlwZT0ieHM6YW55VVJJIiAvPgoJCQkJCQkJCQk8eHM6YXR0cmlidXRl IG5hbWU9ImVtYWlsIiB1c2U9Im9wdGlvbmFsIiB0eXBlPSJlbWFpbEFkZHJlc3MiIC8+CgkJCQkJ CQkJPC94czpjb21wbGV4VHlwZT4KCQkJCQkJCTwveHM6ZWxlbWVudD4KCQkJCQkJCTwhLS1BcHAg dmVyc2lvbiBpbmZvLS0+CgkJCQkJCQk8eHM6ZWxlbWVudCBuYW1lPSJ2ZXJzaW9uIiBtaW5PY2N1 cnM9IjEiPgoJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4KCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBu YW1lPSJtYWpvciIgdXNlPSJyZXF1aXJlZCIgdHlwZT0idmVyc2lvbk51bWJlciIgLz4KCQkJCQkJ CQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJtaW5vciIgdXNlPSJyZXF1aXJlZCIgdHlwZT0idmVyc2lv bk51bWJlciIgLz4KCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJyZWxlYXNlIiB1c2U9InJl cXVpcmVkIiB0eXBlPSJ2ZXJzaW9uTnVtYmVyIiAvPgoJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5h bWU9ImJ1aWxkIiB1c2U9InJlcXVpcmVkIiB0eXBlPSJ2ZXJzaW9uTnVtYmVyIiAvPgoJCQkJCQkJ CQk8eHM6YXR0cmlidXRlIG5hbWU9InR5cGUiIHVzZT0ib3B0aW9uYWwiIHR5cGU9InJlbGVhc2VU eXBlIiAvPgoJCQkJCQkJCTwveHM6Y29tcGxleFR5cGU+CgkJCQkJCQk8L3hzOmVsZW1lbnQ+CgkJ CQkJCQk8IS0tT1MgVmVyc2lvbiBpbmZvLS0+CgkJCQkJCQk8eHM6ZWxlbWVudCBuYW1lPSJvc3Zl cnNpb24iIG1pbk9jY3Vycz0iMCI+CgkJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPgoJCQkJCQkJCQk8 eHM6YXR0cmlidXRlIG5hbWU9Im1ham9yIiB1c2U9InJlcXVpcmVkIiB0eXBlPSJ2ZXJzaW9uTnVt YmVyIiAvPgoJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9Im1pbm9yIiB1c2U9InJlcXVpcmVk IiB0eXBlPSJ2ZXJzaW9uTnVtYmVyIiAvPgoJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9InJl bGVhc2UiIHVzZT0icmVxdWlyZWQiIHR5cGU9InZlcnNpb25OdW1iZXIiIC8+CgkJCQkJCQkJCTx4 czphdHRyaWJ1dGUgbmFtZT0iYnVpbGQiIHVzZT0icmVxdWlyZWQiIHR5cGU9InZlcnNpb25OdW1i ZXIiIC8+CgkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4KCQkJCQkJCTwveHM6ZWxlbWVudD4KCQkJ CQkJCTwhLS1UaXRsZS0tPgoJCQkJCQkJPHhzOmVsZW1lbnQgbmFtZT0idGl0bGVzIiBtaW5PY2N1 cnM9IjEiPgoJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4KCQkJCQkJCQkJPHhzOnNlcXVlbmNlPgoJ CQkJCQkJCQkJPHhzOmVsZW1lbnQgbmFtZT0idGl0bGUiIG1pbk9jY3Vycz0iMSIgbWF4T2NjdXJz PSJ1bmJvdW5kZWQiPgoJCQkJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4KCQkJCQkJCQkJCQkJPHhz OnNpbXBsZUNvbnRlbnQ+CgkJCQkJCQkJCQkJCQk8eHM6ZXh0ZW5zaW9uIGJhc2U9InhzOnN0cmlu ZyI+CgkJCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJsYW5nIiB0eXBlPSJpc29MYW5n Y29kZSIgLz4KCQkJCQkJCQkJCQkJCTwveHM6ZXh0ZW5zaW9uPgoJCQkJCQkJCQkJCQk8L3hzOnNp bXBsZUNvbnRlbnQ+CgkJCQkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4KCQkJCQkJCQkJCTwveHM6 ZWxlbWVudD4KCQkJCQkJCQkJPC94czpzZXF1ZW5jZT4KCQkJCQkJCQk8L3hzOmNvbXBsZXhUeXBl PgoJCQkJCQkJPC94czplbGVtZW50PgoJCQkJCQkJPCEtLURlc2NyaXB0aW9uLS0+CgkJCQkJCQk8 eHM6ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbnMiIG1pbk9jY3Vycz0iMCI+CgkJCQkJCQkJPHhz OmNvbXBsZXhUeXBlPgoJCQkJCQkJCQk8eHM6c2VxdWVuY2U+CgkJCQkJCQkJCQk8eHM6ZWxlbWVu dCBuYW1lPSJkZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCI+ CgkJCQkJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPgoJCQkJCQkJCQkJCQk8eHM6c2ltcGxlQ29udGVu dD4KCQkJCQkJCQkJCQkJCTx4czpleHRlbnNpb24gYmFzZT0ieHM6c3RyaW5nIj4KCQkJCQkJCQkJ CQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9ImxhbmciIHVzZT0icmVxdWlyZWQiIHR5cGU9Imlzb0xh bmdjb2RlIiAvPgoJCQkJCQkJCQkJCQkJPC94czpleHRlbnNpb24+CgkJCQkJCQkJCQkJCTwveHM6 c2ltcGxlQ29udGVudD4KCQkJCQkJCQkJCQk8L3hzOmNvbXBsZXhUeXBlPgoJCQkJCQkJCQkJPC94 czplbGVtZW50PgoJCQkJCQkJCQk8L3hzOnNlcXVlbmNlPgoJCQkJCQkJCTwveHM6Y29tcGxleFR5 cGU+CgkJCQkJCQk8L3hzOmVsZW1lbnQ+CgkJCQkJCQk8IS0tSWNvbi0tPgoJCQkJCQkJPHhzOmVs ZW1lbnQgbmFtZT0iaWNvbiIgbWluT2NjdXJzPSIwIj4KCQkJCQkJCQk8eHM6Y29tcGxleFR5cGU+ CgkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0ic3JjIiB1c2U9InJlcXVpcmVkIiB0eXBlPSJk dW1iUGF0aCIgLz4KCQkJCQkJCQk8L3hzOmNvbXBsZXhUeXBlPgoJCQkJCQkJPC94czplbGVtZW50 PgoJCQkJCQkJPCEtLUxpY2Vuc2UtLT4KCQkJCQkJCTx4czplbGVtZW50IG5hbWU9ImxpY2Vuc2Vz IiBtaW5PY2N1cnM9IjAiPgoJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4KCQkJCQkJCQkJPHhzOnNl cXVlbmNlPgoJCQkJCQkJCQkJPHhzOmVsZW1lbnQgbmFtZT0ibGljZW5zZSIgbWluT2NjdXJzPSIw IiBtYXhPY2N1cnM9InVuYm91bmRlZCI+CgkJCQkJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPgoJCQkJ CQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9Im5hbWUiIHVzZT0icmVxdWlyZWQiIHR5cGU9Inhz Om5vcm1hbGl6ZWRTdHJpbmciIC8+CgkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0idXJs IiB1c2U9Im9wdGlvbmFsIiB0eXBlPSJ4czphbnlVUkkiIC8+CgkJCQkJCQkJCQkJCTx4czphdHRy aWJ1dGUgbmFtZT0ic291cmNlY29kZXVybCIgdXNlPSJvcHRpb25hbCIgdHlwZT0ieHM6YW55VVJJ IiAvPgoJCQkJCQkJCQkJCTwveHM6Y29tcGxleFR5cGU+CgkJCQkJCQkJCQk8L3hzOmVsZW1lbnQ+ CgkJCQkJCQkJCTwveHM6c2VxdWVuY2U+CgkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4KCQkJCQkJ CTwveHM6ZWxlbWVudD4KCQkJCQkJCTwhLS1QcmV2aWV3IHBpY3MtLT4KCQkJCQkJCTx4czplbGVt ZW50IG5hbWU9InByZXZpZXdwaWNzIiBtaW5PY2N1cnM9IjAiPgoJCQkJCQkJCTx4czpjb21wbGV4 VHlwZT4KCQkJCQkJCQkJPHhzOnNlcXVlbmNlPgoJCQkJCQkJCQkJPHhzOmVsZW1lbnQgbmFtZT0i cGljIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4KCQkJCQkJCQkJCQk8eHM6 Y29tcGxleFR5cGU+CgkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0ic3JjIiB1c2U9InJl cXVpcmVkIiB0eXBlPSJkdW1iUGF0aCIgLz4KCQkJCQkJCQkJCQk8L3hzOmNvbXBsZXhUeXBlPgoJ CQkJCQkJCQkJPC94czplbGVtZW50PgoJCQkJCQkJCQk8L3hzOnNlcXVlbmNlPgoJCQkJCQkJCTwv eHM6Y29tcGxleFR5cGU+CgkJCQkJCQk8L3hzOmVsZW1lbnQ+CgkJCQkJCQk8IS0tSW5mbyAoYWth IG1hbnVhbCBvciByZWFkbWUgZW50cnkpLS0+CgkJCQkJCQk8eHM6ZWxlbWVudCBuYW1lPSJpbmZv IiBtaW5PY2N1cnM9IjAiPgoJCQkJCQkJCTx4czpjb21wbGV4VHlwZT4KCQkJCQkJCQkJPHhzOmF0 dHJpYnV0ZSBuYW1lPSJuYW1lIiB1c2U9InJlcXVpcmVkIiB0eXBlPSJ4czpub3JtYWxpemVkU3Ry aW5nIiAvPgoJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9InR5cGUiIHVzZT0icmVxdWlyZWQi IHR5cGU9ImRvY1R5cGUiIC8+CgkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0ic3JjIiB1c2U9 InJlcXVpcmVkIiB0eXBlPSJkdW1iUGF0aCIgLz4KCQkJCQkJCQk8L3hzOmNvbXBsZXhUeXBlPgoJ CQkJCQkJPC94czplbGVtZW50PgoJCQkJCQkJPCEtLUNhdGVnb3JpZXMtLT4KCQkJCQkJCTx4czpl bGVtZW50IG5hbWU9ImNhdGVnb3JpZXMiIG1pbk9jY3Vycz0iMSI+CgkJCQkJCQkJPHhzOmNvbXBs ZXhUeXBlPgoJCQkJCQkJCQk8eHM6c2VxdWVuY2U+CgkJCQkJCQkJCQk8eHM6ZWxlbWVudCBuYW1l PSJjYXRlZ29yeSIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPgoJCQkJCQkJCQkJCTx4czpjb21wbGV4 VHlwZT4KCQkJCQkJCQkJCQkJPHhzOnNlcXVlbmNlPgoJCQkJCQkJCQkJCQkJPHhzOmVsZW1lbnQg bmFtZT0ic3ViY2F0ZWdvcnkiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4KCQkJCQkJCQkJCQkJCQk8 eHM6Y29tcGxleFR5cGU+CgkJCQkJCQkJCQkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0ibmFtZSIg dHlwZT0iZmRvU3ViQ2F0ZWdvcnkiIC8+CgkJCQkJCQkJCQkJCQkJPC94czpjb21wbGV4VHlwZT4K CQkJCQkJCQkJCQkJCTwveHM6ZWxlbWVudD4KCQkJCQkJCQkJCQkJPC94czpzZXF1ZW5jZT4KCQkJ CQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIiB1c2U9InJlcXVpcmVkIiB0eXBlPSJm ZG9DYXRlZ29yeSIgLz4KCQkJCQkJCQkJCQk8L3hzOmNvbXBsZXhUeXBlPgoJCQkJCQkJCQkJPC94 czplbGVtZW50PgoJCQkJCQkJCQk8L3hzOnNlcXVlbmNlPgoJCQkJCQkJCTwveHM6Y29tcGxleFR5 cGU+CgkJCQkJCQk8L3hzOmVsZW1lbnQ+CgkJCQkJCQk8IS0tQXNzb2NpYXRpb25zLS0+CgkJCQkJ CQk8eHM6ZWxlbWVudCBuYW1lPSJhc3NvY2lhdGlvbnMiIG1pbk9jY3Vycz0iMCI+CgkJCQkJCQkJ PHhzOmNvbXBsZXhUeXBlPgoJCQkJCQkJCQk8eHM6c2VxdWVuY2U+CgkJCQkJCQkJCQk8eHM6ZWxl bWVudCBuYW1lPSJhc3NvY2lhdGlvbiIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPgoJCQkJCQkJCQkJ CTx4czpjb21wbGV4VHlwZT4KCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIiB1 c2U9InJlcXVpcmVkIiB0eXBlPSJ4czpub3JtYWxpemVkU3RyaW5nIiAvPgoJCQkJCQkJCQkJCQk8 eHM6YXR0cmlidXRlIG5hbWU9ImZpbGV0eXBlIiB1c2U9InJlcXVpcmVkIiB0eXBlPSJ4czp0b2tl biIgLz4KCQkJCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJhcmd1bWVudHMiIHVzZT0icmVx dWlyZWQiIHR5cGU9InhzOnRva2VuIiAvPgoJCQkJCQkJCQkJCTwveHM6Y29tcGxleFR5cGU+CgkJ CQkJCQkJCQk8L3hzOmVsZW1lbnQ+CgkJCQkJCQkJCTwveHM6c2VxdWVuY2U+CgkJCQkJCQkJPC94 czpjb21wbGV4VHlwZT4KCQkJCQkJCTwveHM6ZWxlbWVudD4KCQkJCQkJCTwhLS1DbG9ja3NwZWVk LS0+CgkJCQkJCQk8eHM6ZWxlbWVudCBuYW1lPSJjbG9ja3NwZWVkIiBtaW5PY2N1cnM9IjAiPgoJ CQkJCQkJCTx4czpjb21wbGV4VHlwZT4KCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJmcmVx dWVuY3kiIHVzZT0icmVxdWlyZWQiIHR5cGU9InhzOnBvc2l0aXZlSW50ZWdlciIgLz4KCQkJCQkJ CQk8L3hzOmNvbXBsZXhUeXBlPgoJCQkJCQkJPC94czplbGVtZW50PgoJCQkJCQk8L3hzOmFsbD4K CQkJCQkJPCEtLUFwcElELS0+CgkJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iaWQiIHVzZT0icmVx dWlyZWQiIHR5cGU9ImR1bWJGb2xkZXJOYW1lIiAvPgoJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9 ImFwcGRhdGEiIHVzZT0ib3B0aW9uYWwiIHR5cGU9ImR1bWJGb2xkZXJOYW1lIiAvPgoJCQkJCTwv eHM6Y29tcGxleFR5cGU+CgkJCQk8L3hzOmVsZW1lbnQ+CgkJCTwveHM6c2VxdWVuY2U+CgkJPC94 czpjb21wbGV4VHlwZT4KCTwveHM6ZWxlbWVudD4KPC94czpzY2hlbWE+ --===============2014391670667657686== Content-Type: text/plain Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="PXML_schema_plaintext.txt" MIME-Version: 1.0 Tk9URVM6Ck5vdGUgMSkgbGlicG5kIGlzIG5vdCAoY3VycmVudGx5KSBhcyBwaWNreSBhcyB0aGUg dmFsaWRhdG9yIChzaW5jZSBpdCBvbmx5IGNvbnN1bWVzIHNvbWUgdmFsdWVzLCBhbmQgd2lsbAog ICAgICAgIHNvbWV0aW1lcyAndHJ1c3QnIGJhZCB2YWx1ZXMgaW4gaG9wZXMgdGhpbmdzIHdpbGwg anVzdCB3b3JrIGFueXdheSksIGJ1dCBtYW55IG9mIHRoZSBvbmxpbmUgZG93bmxvYWQKICAgICAg ICByZXBvc2l0b3JpZXMgX3dpbGxfIHVzZSB0aGlzIHZhbGlkYXRvciwgc28gaXQgaXMgcHJvYmFi bHkgYSBnb29kIGlkZWEgdG8gbWFrZSB5b3VyIFBYTUxzIGNvbmZvcm0hIEZvcgogICAgICAgIGV4 YW1wbGUgdGhlIDxwYWNrYWdlPiBibG9jayBpcyBjdXJyZW50bHkgbm90IHVzZWQvcmVxdWlyZWQg Zm9yIGxpYnBuZCB0byB3b3JrLgpOb3RlIDIpIFRoZXNlIHBvaW50cyBhc2lkZSAtLSBhbnl0aGlu ZyBwYXNzaW5nIHRoZSB2YWxpZGF0b3Igc2hvdWxkIHBhc3MgaW50byBsaWJwbmQganVzdCBmaW5l OyBQWE1MLnhtbHMgdGhhdAogICAgICAgIGRvIG5vdCBwYXNzIHRoZSB2YWxpZGF0b3IgbWF5IHdl bGwgd29yayB3aXRoIGxpYnBuZCwgZGVwZW5kaW5nIG9uIHRoZSBuYXR1cmUgb2YgdGhlIHJlamVj dGlvbiAtLQogICAgICAgIGlmIHRoZSBQWE1MLnhtbCBpcyBqdXN0IGJhZCwgZml4IGl0ISBCdXQg aWYgdGhlIHZhbGlkYXRvciByZWplY3RzIHRoZSBQWE1MLnhtbCBvbiBncm91bmRzIG9mCiAgICAg ICAgYmFkIGNhdGVnb3JpZXMgb3IgbGluZSBvcmRlcmluZyBvciB3aGF0ZXZlciwgdGhlbiBsaWJw bmQgd2lsbCAnYWNjZXB0JyB0aGUgYXBwbGljYXRpb24sIGJ1dCBtYXkKICAgICAgICBtYXNzYWdl IHRoaW5ncyB0byB3b3JrIChlZyBhZGQgdGhlIGFwcGxpY2F0aW9uIGludG8gdGhlIGNhdGVnb3J5 ICdPdGhlcicgb3IgZG8gc29tZSBtb3JlIG9ic2N1cmUgdGhpbmdzKS4KTm90ZSAzKSBtaW5pbWVu dSBhbmQgeGZjZSBhbmQgb3RoZXIgRnJlZWRlc2t0b3AgU3RhbmRhcmQgYWRoZXJpbmcgYXBwbGlj YXRpb25zIG1heSBhY3R1YWxseSBiZSBwaWNraWVyIGFib3V0CiAgICAgICAgc29tZSB0aGluZ3Mg dGhhbiB0aGUgdmFsaWRhdG9yIC0tIHRoZSB2YWxpZGF0b3Igd2lsbCB2ZXJpZnkgdGhlIGNhdGVn b3JpZXMgYW5kIHN1YmNhdGVnb3JpZXMgYXJlCiAgICAgICAga25vd24gdG8gdGhlIEZyZWVkZXNr dG9wIHNwZWMsIGJ1dCBkb2VzIG5vdCB2YWxpZGF0ZSB0aGF0IGEgRkQgc3ViY2F0ZWdvcnkgYWN0 dWFsbHkgYmVsb25ncyB0byB0aGUKICAgICAgICBsaXN0ZWQgcGFyZW50IGNhdGVnb3J5LiAKCkhv dyB0byByZWFkIHRoaXMgZG9jOgoqIEV2ZXJ5IGVudHJ5IGNvbWVzIHdpdGggYSBjYXJkaW5hbGl0 eS4gSGVyZSBpcyB0aGUgbWVhbmluZyBvZiB0aG9zZToKICA9MTogdGhpcyBibG9jayBpcyByZXF1 aXJlZCBleGFjdGx5IG9uY2UKICA8PTE6IHVwIHRvIG9uZSBvZiB0aG9zZSBibG9ja3MgaXMgYWxs b3dlZCAoMCBvciAxKQogID49MTogYXQgbGVhc3Qgb25lIG9mIHRob3NlIGlzIGFsbG93ZWQsIG1v cmUgYXJlIHBvc3NpYmxlIGJ1dCBvcHRpb25hbAogID49MDogb3B0aW9uYWwgZWxlbWVudCB0aGF0 IGNhbiBiZSBhZGRlZCBpbiB1bmxpbWl0ZWQgbnVtYmVycwoqIFRoZSBhY3R1YWxseSB1c2VkICd0 YWcncyBhcmUgYWx3YXlzIGRpc3BsYXllZCBpbiB0aGlzIGZvcm06IDx0YWc+LgoqIEFyZ3VtZW50 cyBhcmUgYWx3YXlzIG1hcmtlZCBlaXRoZXIgYXMgb3B0aW9uYWwgb3IgcmVxdWlyZWQgYW5kIG1l bnRpb24gd2hhdCBhbGxvd2VkIHZhbHVlcyBhcmUuIEF0IHRoZSBib3R0b20KICBvZiB0aGlzIGRv YyBpcyBhbiBleHBsYW5hdGlvbiBvZiBtb3N0IG9mIHRob3NlIHZhbHVlcy4gSWYgeW91IHNlZSBb YWJjfHh5el0gaXQgbWVhbnMgdGhhdCBlaXRoZXIgJ2FiYycgb3IKICAneHl6JyBhcmUgdmFsaWQg dmFsdWVzLgoKCk5vdywgb250byB0aGUgYWN0dWFsIHNwZWNpZmljYXRpb246CgoxKSBhdCB0aGUg cm9vdCB0aGVyZSBpcyAqZXhhY3RseSogb25lIDxQWE1MPiBibG9jawoyKSBpbnNpZGUgdGhpcyBQ WE1MIGJsb2NrIGlzIGV4YWN0bHkgPTEgPHBhY2thZ2U+IGJsb2NrCiAgICAgICAgKHJlcXVpcmVk KSBpZD1EVU1CRk9MREVSTkFNRQozKSBpbnNpZGUgdGhpcyBQWE1MIGJsb2NrIGFyZSA+PTEgPGFw cGxpY2F0aW9uPiBibG9ja3MKICAgICAgICAocmVxdWlyZWQpIGlkPURVTUJGT0xERVJOQU1FCiAg ICAgICAgKG9wdGlvbmFsKSBhcHBkYXRhPURVTUJGT0xERVJOQU1FCgoKaW5zaWRlIHRoZSA8cGFj a2FnZT4gYmxvY2s6CjEpID0xIDxhdXRob3I+CiAgICAgICAgKHJlcXVpcmVkKSBuYW1lPVRFWFQK ICAgICAgICAob3B0aW9uYWwpIHdlYnNpdGU9YW55VVJJCiAgICAgICAgKG9wdGlvbmFsKSBlbWFp bD1FTUFJTEFERFJFU1MKMikgPTEgPHZlcnNpb24+CiAgICAgICAgKHJlcXVpcmVkKSBtYWpvcj1W RVJTSU9OX05SCiAgICAgICAgKHJlcXVpcmVkKSBtaW5vcj1WRVJTSU9OX05SCiAgICAgICAgKHJl cXVpcmVkKSByZWxlYXNlPVZFUlNJT05fTlIKICAgICAgICAocmVxdWlyZWQpIGJ1aWxkPVZFUlNJ T05fTlIKICAgICAgICAob3B0aW9uYWwpIHR5cGU9W2FscGhhfGJldGF8cmVsZWFzZV0KMykgPTEg PHRpdGxlcz4KICAgICAgICAob3B0aW9uYWwpID49MSA8dGl0bGU+VEVYVDwvdGl0bGU+CiAgICAg ICAgICAgICAgICAgICAgICAgIChyZXF1aXJlZCkgbGFuZz1MQU5HQ09ERSAoIFthLXpBLVpdezIs M30oX1thLXpBLVowLTldezIsM30pKiApCjQpIDw9MSA8ZGVzY3JpcHRpb25zPgogICAgICAgIChv cHRpb25hbCkgPj0wIDxkZXNjcmlwdGlvbj5URVhUPC9kZXNjcmlwdGlvbj4KICAgICAgICAgICAg ICAgICAgICAgICAgKHJlcXVpcmVkKSBsYW5nPUxBTkdDT0RFICggW2EtekEtWl17MiwzfShfW2Et ekEtWjAtOV17MiwzfSkqICkKNSkgPD0xIDxpY29uPgogICAgICAgIChyZXF1aXJlZCkgc3JjPURV TUJQQVRICgoKaW5zaWRlIGVhY2ggPGFwcGxpY2F0aW9uPiBibG9jazoKMSkgPTEgPGV4ZWM+CiAg ICAgICAgKHJlcXVpcmVkKSBjb21tYW5kPVRPS0VOCiAgICAgICAgKG9wdGlvbmFsKSBhcmd1bWVu dHM9VE9LRU4KICAgICAgICAob3B0aW9uYWwpIGJhY2tncm91bmQ9Qk9PTEVBTgogICAgICAgIChv cHRpb25hbCkgc3RhcnRkaXI9RFVNQlBBVEgKICAgICAgICAob3B0aW9uYWwpIHN0YW5kYWxvbmU9 Qk9PTEVBTgogICAgICAgIChvcHRpb25hbCkgeDExPVtyZXF8c3RvcHxpZ25vcmVdCjIpID0xIDx0 aXRsZXM+CiAgICAgICAgKG9wdGlvbmFsKSA+PTEgPHRpdGxlPlRFWFQ8L3RpdGxlPgogICAgICAg ICAgICAgICAgICAgICAgICAocmVxdWlyZWQpIGxhbmc9TEFOR0NPREUgKCBbYS16QS1aXXsyLDN9 KF9bYS16QS1aMC05XXsyLDN9KSogKQozKSA9MSA8YXV0aG9yPgogICAgICAgIChyZXF1aXJlZCkg bmFtZT1URVhUCiAgICAgICAgKG9wdGlvbmFsKSB3ZWJzaXRlPWFueVVSSQogICAgICAgIChvcHRp b25hbCkgZW1haWw9RU1BSUxBRERSRVNTCjQpID0xIDx2ZXJzaW9uPgogICAgICAgIChyZXF1aXJl ZCkgbWFqb3I9VkVSU0lPTl9OUgogICAgICAgIChyZXF1aXJlZCkgbWlub3I9VkVSU0lPTl9OUgog ICAgICAgIChyZXF1aXJlZCkgcmVsZWFzZT1WRVJTSU9OX05SCiAgICAgICAgKHJlcXVpcmVkKSBi dWlsZD1WRVJTSU9OX05SCiAgICAgICAgKG9wdGlvbmFsKSB0eXBlPVthbHBoYXxiZXRhfHJlbGVh c2VdIChpZiBub3Qgc3BlY2lmaWVkICdyZWxlYXNlJyB3aWxsIGJlIGFzc3VtZWQpCjUpIDw9MSA8 b3N2ZXJzaW9uPgogICAgICAgIChyZXF1aXJlZCkgbWFqb3I9VkVSU0lPTl9OUgogICAgICAgIChy ZXF1aXJlZCkgbWlub3I9VkVSU0lPTl9OUgogICAgICAgIChyZXF1aXJlZCkgcmVsZWFzZT1WRVJT SU9OX05SCiAgICAgICAgKHJlcXVpcmVkKSBidWlsZD1WRVJTSU9OX05SCjYpIDw9MSA8ZGVzY3Jp cHRpb25zPgogICAgICAgIChvcHRpb25hbCkgPj0wIDxkZXNjcmlwdGlvbj5URVhUPC9kZXNjcmlw dGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgKHJlcXVpcmVkKSBsYW5nPUxBTkdDT0RFICgg W2EtekEtWl17MiwzfShfW2EtekEtWjAtOV17MiwzfSkqICkKNykgPD0xIDxpY29uPgogICAgICAg IChyZXF1aXJlZCkgc3JjPURVTUJQQVRICjgpID0xIDxsaWNlbnNlcz4KICAgICAgICAocmVxdWly ZWQpID49MSA8bGljZW5zZT4KICAgICAgICAgICAgICAgICAgICAgICAgKHJlcXVpcmVkKSBuYW1l PVRFWFQKICAgICAgICAgICAgICAgICAgICAgICAgKHJlcXVpcmVkKSB1cmw9YW55VVJJCiAgICAg ICAgICAgICAgICAgICAgICAgIChyZXF1aXJlZCkgc291cmNlY29kZXVybD1hbnlVUkkKOSkgPD0x IDxwcmV2aWV3cGljcz4KICAgICAgICAob3B0aW9uYWwpID49MCA8cGljPgogICAgICAgICAgICAg ICAgICAgICAgICAocmVxdWlyZWQpIHNyYz1EVU1CUEFUSAoxMCk8PTEgPGluZm8+CiAgICAgICAg KHJlcXVpcmVkKSBuYW1lPVRFWFQKICAgICAgICAocmVxdWlyZWQpIHR5cGU9W3RleHQvaHRtbHx0 ZXh0L3BsYWluXQogICAgICAgIChyZXF1aXJlZCkgc3JjPURVTUJQQVRICjExKT0xIDxjYXRlZ29y aWVzPgogICAgICAgIChyZXF1aXJlZCkgPj0xIDxjYXRlZ29yeT4KICAgICAgICAgICAgICAgICAg ICAgICAgKHJlcXVpcmVkKSBuYW1lPWZkb0NhdGVnb3J5CiAgICAgICAgICAgICAgICAgICAgICAg IChvcHRpb25hbCkgPHN1YmNhdGVnb3J5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHJlcXVpcmVkKSBuYW1lPWZkb1N1YkNhdGVnb3J5CjEyKTw9MSA8YXNzb2NpYXRpb25zPgog ICAgICAgIChyZXF1aXJlZCkgPj0xIDxhc3NvY2lhdGlvbj4KICAgICAgICAgICAgICAgICAgICAg ICAgKHJlcXVpcmVkKSBuYW1lPVRFWFQKICAgICAgICAgICAgICAgICAgICAgICAgKHJlcXVpcmVk KSBmaWxldHlwZT1UT0tFTgogICAgICAgICAgICAgICAgICAgICAgICAocmVxdWlyZWQpIGFyZ3Vt ZW50cz1UT0tFTgoxMyk8PTEgPGNsb2Nrc3BlZWQ+CiAgICAgICAgKHJlcXVpcmVkKSBmcmVxdWVu Y3k9cG9zaXRpdmVJbnRlZ2VyCgoKCkZpbGV0eXBlL3ZhcmlhYmxlIGV4cGxhbmF0aW9uOgphbnlV Ukk6IHNob3VsZCBiZSBzb21lIFVSTCwgbm8gaWRlYSB3aGF0IGV4YWN0bHkgWE1MIGFjY2VwdHMg dGhlcmUuLi4gKFhNTCB2YXJpYWJsZSAnYW55VVJJJyEpCkJPT0xFQU46IDAgb3IgMSBvciB0cnVl IG9yIGZhbHNlIChYTUwgdmFyaWFibGUgJ2Jvb2xlYW4nISkKRFVNQkZPTERFUk5BTUU6IFRFWFQg d2l0aG91dCA/PjovCkRVTUJQQVRIOiBURVhUIHdpdGhvdXQgPz46CkVNQUlMQUREUkVTUzogW15A XStAW15cLl0rXC4uKyAgICAgIGluIG5vcm1hbCBsYW5nOiBzb21ldGhpbmcgd2l0aCBhbiBAIGlu IHRoZSBtaWRkbGUgYW5kIHNvbWUgZG9tYWluIGxpa2UgdGhpbmdpZQpMQU5HQ09ERTogW2EtekEt Wl17MiwzfShfW2EtekEtWjAtOV17MiwzfSkqICAgZXhhbXBsZTogZW4sIGVuZywgZW5fVVMsIGZ1 cl9JVApURVhUOiBUaGUgbm9ybWFsaXplZFN0cmluZyBkYXRhIHR5cGUgYWxzbyBjb250YWlucyBj aGFyYWN0ZXJzLCBidXQgdGhlIFhNTCBwcm9jZXNzb3Igd2lsbCByZW1vdmUgbGluZSBmZWVkcywg Y2FycmlhZ2UgcmV0dXJucywgYW5kIHRhYiBjaGFyYWN0ZXJzLiAoWE1MIHZhcmlhYmxlICdub3Jt YWxpemVkU3RyaW5nJyEpClRPS0VOOiBUaGUgdG9rZW4gZGF0YSB0eXBlIGFsc28gY29udGFpbnMg Y2hhcmFjdGVycywgYnV0IHRoZSBYTUwgcHJvY2Vzc29yIHdpbGwgcmVtb3ZlIGxpbmUgZmVlZHMs IGNhcnJpYWdlIHJldHVybnMsIHRhYnMsIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNwYWNlcywgYW5k IG11bHRpcGxlIHNwYWNlcy4gKFhNTCB2YXJpYWJsZSAndG9rZW4nISkKVkVSU0lPTl9OUjogW2Et ekEtWjAtOSstXSogICBleGFtcGxlOiAxLCBhLCArc3ZuLCAtc3ZuLCAxMjM0NTY3ODkxMjM0NTY3 ODkKCmZkb0NhdGVnb3J5PUF1ZGlvVmlkZW98QXVkaW98VmlkZW98RGV2ZWxvcG1lbnR8RWR1Y2F0 aW9ufEdhbWV8R3JhcGhpY3N8TmV0d29ya3xPZmZpY2UKZmRvU3ViQ2F0ZWdvcnk9QnVpbGRpbmd8 RGVidWdnZXJ8SURFfEdVSURlc2lnbmVyfFByb2ZpbGluZ3xSZXZpc2lvbkNvbnRyb2x8VHJhbnNs YXRpb258Q2FsZW5kYXJ8Q29udGFjdE1hbmFnZW1lbnR8RGF0YWJhc2V8RGljdGlvbmFyeXxDaGFy dHxFbWFpbHxGaW5hbmNlfEZsb3dDaGFydHxQREF8UHJvamVjdE1hbmFnZW1lbnR8UHJlc2VudGF0 aW9ufFNwcmVhZHNoZWV0fFdvcmRQcm9jZXNzb3J8MkRHcmFwaGljc3xWZWN0b3JHcmFwaGljc3xS YXN0ZXJHcmFwaGljc3wzREdyYXBoaWNzfFNjYW5uaW5nfE9DUnxQaG90b2dyYXBoeXxQdWJsaXNo aW5nfFZpZXdlcnxUZXh0VG9vbHN8RGVza3RvcFNldHRpbmdzfEhhcmR3YXJlU2V0dGluZ3N8UHJp bnRpbmd8UGFja2FnZU1hbmFnZXJ8RGlhbHVwfEluc3RhbnRNZXNzYWdpbmd8Q2hhdHxJUkNDbGll bnR8RmlsZVRyYW5zZmVyfEhhbVJhZGlvfE5ld3N8UDJQfFJlbW90ZUFjY2Vzc3xUZWxlcGhvbnl8 VGVsZXBob255VG9vbHN8VmlkZW9Db25mZXJlbmNlfFdlYkJyb3dzZXJ8V2ViRGV2ZWxvcG1lbnR8 TWlkaXxNaXhlcnxTZXF1ZW5jZXJ8VHVuZXJ8VFZ8QXVkaW9WaWRlb0VkaXRpbmd8UGxheWVyfFJl Y29yZGVyfERpc2NCdXJuaW5nfEFjdGlvbkdhbWV8QWR2ZW50dXJlR2FtZXxBcmNhZGVHYW1lfEJv YXJkR2FtZXxCbG9ja3NHYW1lfENhcmRHYW1lfEtpZHNHYW1lfExvZ2ljR2FtZXxSb2xlUGxheWlu Z3xTaW11bGF0aW9ufFNwb3J0c0dhbWV8U3RyYXRlZ3lHYW1lfEFydHxDb25zdHJ1Y3Rpb258TXVz aWN8TGFuZ3VhZ2VzfFNjaWVuY2V8QXJ0aWZpY2lhbEludGVsbGlnZW5jZXxBc3Ryb25vbXl8Qmlv bG9neXxDaGVtaXN0cnl8Q29tcHV0ZXJTY2llbmNlfERhdGFWaXN1YWxpemF0aW9ufEVjb25vbXl8 RWxlY3RyaWNpdHl8R2VvZ3JhcGh5fEdlb2xvZ3l8R2Vvc2NpZW5jZXxIaXN0b3J5fEltYWdlUHJv Y2Vzc2luZ3xMaXRlcmF0dXJlfE1hdGh8TnVtZXJpY2FsQW5hbHlzaXN8TWVkaWNhbFNvZnR3YXJl fFBoeXNpY3N8Um9ib3RpY3N8U3BvcnRzfFBhcmFsbGVsQ29tcHV0aW5nfEFtdXNlbWVudHxBcmNo aXZpbmd8Q29tcHJlc3Npb258RWxlY3Ryb25pY3N8RW11bGF0b3J8RW5naW5lZXJpbmd8RmlsZVRv b2xzfEZpbGVNYW5hZ2VyfFRlcm1pbmFsRW11bGF0b3J8RmlsZXN5c3RlbXxNb25pdG9yfFNlY3Vy aXR5fEFjY2Vzc2liaWxpdHl8Q2FsY3VsYXRvcnxDbG9ja3xUZXh0RWRpdG9yfERvY3VtZW50YXRp b258Q29yZXxLREV8R05PTUV8R1RLfFF0fE1vdGlmfEphdmF8Q29uc29sZU9ubHkK --===============2014391670667657686== Content-Type: application/pgp-signature Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="average-case_PXML.xml.sig" MIME-Version: 1.0 iEYEABECAAYFAk1sNLcACgkQfFda9thizwVIbgCggTVVEHjzzt6N9/S1bGSRBtPvCfwAn2mfGDx4 9iogTjn/+X1VaQHfdN8j --===============2014391670667657686== Content-Type: application/pgp-signature Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="full-sample_PXML.xml.sig" MIME-Version: 1.0 iEYEABECAAYFAk1sNLcACgkQfFda9thizwUlzwCfetz/uQnDomY88pcgH1WEVZ1eDPwAnRJ+qEHw Uy5/2VRKfC48Ek3Hibih --===============2014391670667657686== Content-Type: application/pgp-signature Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="minimum-libpnd_PXML.xml.sig" MIME-Version: 1.0 iEYEABECAAYFAk1sNLcACgkQfFda9thizwV3vQCgjtTl2OsB2PnD1Jk5fGUU3S6wQHgAn1QOKMYv i0Z8MRxVuRxfrX9VsSxC --===============2014391670667657686== Content-Type: application/pgp-signature Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="minimum-schema_PXML.xml.sig" MIME-Version: 1.0 iEYEABECAAYFAk1sNLcACgkQfFda9thizwWDYwCfcxx5vEPi+Dxeg8oh+kPY5rTLs+sAoJuGQQWD CeFT0j0vLM1G7GxNQgx6 --===============2014391670667657686== Content-Type: application/pgp-signature Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="old_PXML.xml.sig" MIME-Version: 1.0 iEYEABECAAYFAk1sNLcACgkQfFda9thizwWeIQCglddNpIIxxpKACIZ1NJEGrD6tpxwAnAmQbxky QnyKjbU2biBVISCcZaWp --===============2014391670667657686== Content-Type: application/pgp-signature Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="PXML_schema.xsd.sig" MIME-Version: 1.0 iEYEABECAAYFAk1sNLcACgkQfFda9thizwWkjgCfbednKL+Q47YFO0HOXhH1yAc/x60An2kfCH4+ 7kWCmBqZjEZJB1oQqeEY --===============2014391670667657686== Content-Type: application/pgp-signature Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="PXML_schema_plaintext.txt.sig" MIME-Version: 1.0 iEYEABECAAYFAk1sNLcACgkQfFda9thizwVUygCcDe4jef0Z6a70iGYaztSC5VGhWeEAoIEoOdFC oqgs5EjPclx7LFpuXgvy --===============2014391670667657686==-- From crazy-ivanovic@gmx.net Tue Mar 1 12:07:15 2011 From: Nils Kneuper <crazy-ivanovic@gmx.net> To: firmware-dev@openpandora.org Subject: Re: [Firmware-dev] PXML specification: proposal of new specs (including sample files and schema) Date: Tue, 01 Mar 2011 12:07:13 +0100 Message-ID: <4D6CD361.6020104@gmx.net> In-Reply-To: <4D6C34B7.8040203@gmx.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4881699573401661053==" --===============4881699573401661053== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Okay, I made some checks with a pnd of snes9x where I changed the PXML.xml fi= le to the new schema to see if it would work anyway. I attached the "new" file t= hat I used for testing in the package. Here are the results: * does not appear in minimenu (probably because of title not found) * does not appear in xfce menu (using the pandora/menu folder), probably beca= use it is not able to set the title * appears on desktop (using the pandora/desktop folder), name displayed is basically "applicationid-app#0.desktop" and it can be started this way. Basic results: To allow pnds with the new system for <title> to work, libpnd/minimenu have to be adjusted, otherwise they will only work in xfce when placed in the 'deskto= p' folder. Cheers, Nils Kneuper aka Ivanovic -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) iEYEARECAAYFAk1s02EACgkQfFda9thizwV/dgCeK1gX5Wmq4uV7WoVBFGIloSOH jI4An2Ho0eJbqgqpf2pAqn+SuZVa9Tw2 =3DNEsV -----END PGP SIGNATURE----- --===============4881699573401661053== Content-Type: text/xml Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="PXML.xml" MIME-Version: 1.0 PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPFBYTUwgeG1sbnM9Imh0dHA6 Ly9vcGVucGFuZG9yYS5vcmcvbmFtZXNwYWNlcy9QWE1MIj4KCiAgPHBhY2thZ2UgaWQ9InNuZXM5 eDRwIj4KICAgIDx2ZXJzaW9uIG1ham9yPSIxIiBtaW5vcj0iMzlmZiIgcmVsZWFzZT0iMjAxMTAy MTQiIGJ1aWxkPSIxIi8+CiAgICA8YXV0aG9yIG5hbWU9InNuZXM5eCB0ZWFtIC8gU2lFTmNFIC8g c2tlZXppeCAvIGl2YW5vdmljIiB3ZWJzaXRlPSJodHRwOi8vd3d3LmNvZGVqZWRpLmNvbS8iLz4K ICAgIDx0aXRsZXM+CiAgICAgIDx0aXRsZSBsYW5nPSJlbl9VUyI+U25lczl4NFA8L3RpdGxlPgog ICAgPC90aXRsZXM+CiAgICA8ZGVzY3JpcHRpb25zPgogICAgICA8ZGVzY3JpcHRpb24gbGFuZz0i ZW5fVVMiPlN1cGVyIE5pbnRlbmRvIChTTkVTKSBlbXVsYXRvcjsgZGVyaXZlZCBmcm9tIFNuZXM5 eDRkIChEaW5nb28pIHBvcnQuPC9kZXNjcmlwdGlvbj4KICAgIDwvZGVzY3JpcHRpb25zPgogICAg PGljb24gc3JjPSJpY29uLnBuZyIvPgogIDwvcGFja2FnZT4KCiAgPGFwcGxpY2F0aW9uIGlkPSJz bmVzOXguc2tlZXppeC5hbHBoYSI+CiAgICA8ZXhlYyBjb21tYW5kPSIuL3J1bi5zaCIvPgogICAg PHRpdGxlcz4KICAgICAgPHRpdGxlIGxhbmc9ImVuX1VTIj5TbmVzOXg0UDwvdGl0bGU+CiAgICA8 L3RpdGxlcz4KICAgIDxhdXRob3IgbmFtZT0ic25lczl4IHRlYW0gLyBTaUVOY0UgLyBza2Vleml4 IC8gaXZhbm92aWMiIHdlYnNpdGU9Imh0dHA6Ly93d3cuY29kZWplZGkuY29tLyIvPgogICAgPHZl cnNpb24gbWFqb3I9IjEiIG1pbm9yPSIzOWZmIiByZWxlYXNlPSIyMDExMDIxNCIgYnVpbGQ9IjEi Lz4KICAgIDxkZXNjcmlwdGlvbnM+CiAgICAgIDxkZXNjcmlwdGlvbiBsYW5nPSJlbl9VUyI+U3Vw ZXIgTmludGVuZG8gKFNORVMpIGVtdWxhdG9yOyBkZXJpdmVkIGZyb20gU25lczl4NGQgKERpbmdv bykgcG9ydC48L2Rlc2NyaXB0aW9uPgogICAgPC9kZXNjcmlwdGlvbnM+CiAgICA8aWNvbiBzcmM9 Imljb24ucG5nIi8+CiAgICA8bGljZW5zZXM+CiAgICAgIDxsaWNlbnNlIG5hbWU9InVua25vd24i Lz4KICAgIDwvbGljZW5zZXM+CiAgICA8cHJldmlld3BpY3M+CiAgICAgIDxwaWMgc3JjPSJzbmVz LnBuZyIvPgogICAgPC9wcmV2aWV3cGljcz4KICAgIDxpbmZvIG5hbWU9IlNuZXM5eDRQIERvY3Vt ZW50YXRpb24iIHR5cGU9InRleHQvcGxhaW4iIHNyYz0iUkVBRE1FX1NuZXM5eDRYLnR4dCIvPgog ICAgIDxjYXRlZ29yaWVzPgogICAgICA8Y2F0ZWdvcnkgbmFtZT0iR2FtZSI+CiAgICAgICAgPHN1 YmNhdGVnb3J5IG5hbWU9IkVtdWxhdG9yIi8+CiAgICAgIDwvY2F0ZWdvcnk+CiAgICA8L2NhdGVn b3JpZXM+CiAgICAgPGNsb2Nrc3BlZWQgZnJlcXVlbmN5PSI2MDAiLz4KICA8L2FwcGxpY2F0aW9u Pgo8L1BYTUw+Cg== --===============4881699573401661053== Content-Type: application/pgp-signature Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="PXML.xml.sig" MIME-Version: 1.0 iEYEABECAAYFAk1s02EACgkQfFda9thizwUzegCeKndzNKIqfb8eNjsdzTpLxZfGjCUAn3tUJ4v9 4cFmwhJk2m+E3Z6KcrFG --===============4881699573401661053==-- From skeezix@skeleton.org Tue Mar 1 17:01:14 2011 From: Jeff Mitchell <skeezix@skeleton.org> To: firmware-dev@openpandora.org Subject: Re: [Firmware-dev] PXML specification: proposal of new specs (including sample files and schema) Date: Tue, 01 Mar 2011 11:01:09 -0500 Message-ID: <20110301105931.E18387@fw.skeleton.org> In-Reply-To: <4D6CD361.6020104@gmx.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8734138687059767707==" --===============8734138687059767707== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable On Tue, 1 Mar 2011, Nils Kneuper wrote: # Here are the results: # * does not appear in minimenu (probably because of title not found) # * does not appear in xfce menu (using the pandora/menu folder), probably be= cause # it is not able to set the title # * appears on desktop (using the pandora/desktop folder), name displayed is # basically "applicationid-app#0.desktop" and it can be started this way. Yep, all because the title would be missing, which is not allowed. # Basic results: # To allow pnds with the new system for <title> to work, libpnd/minimenu have= to # be adjusted, otherwise they will only work in xfce when placed in the 'desk= top' # folder. It'd be an ewasy change to add into libpnd, which feeds FD and=20 minimenu (ie: xfce). I'm rather hoping ED can push HF5 out soon, and then I'll get=20 right into the libpnd update. (Could do it now, and should probably add a name to the git=20 current version, but trying to avoid making work for ED in noticing the=20 correct bump etc.) hopefully ED gets HF5 official out this week, and then we re easy breezy for a bit. jeff -- If everyone would put barbecue sauce on their food, there would be no war. --===============8734138687059767707==-- From skeezix@skeleton.org Thu Mar 3 22:10:08 2011 From: Jeff Mitchell <skeezix@skeleton.org> To: firmware-dev@openpandora.org Subject: Re: [Firmware-dev] PXML specification: proposal of new specs (including sample files and schema) Date: Thu, 03 Mar 2011 16:10:04 -0500 Message-ID: <20110303155421.S18387@fw.skeleton.org> In-Reply-To: <4D6C34B7.8040203@gmx.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4214362543128375383==" --===============4214362543128375383== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable On Tue, 1 Mar 2011, Nils Kneuper wrote: # 1) Add another flag to the <version> entry # Adding a 'type=3D' entry here will allow to specify if this application is a # "release" or an "alpha" or "beta" version. A possible usecase of this would # allow some "closed beta test" via package repositories only allowing regist= ered # users (of a special group) to get the package/application/pnd. If no 'type'= is # specified, 'release' is to be assumed. This means that the <version> tag can # look like this after the change: # <version major=3D"1" minor=3D"17" release=3D"3" build=3D"4" type=3D"rel= ease"/> # This change requires no changes in libpnd itself since at the moment the ve= rsion # tag is not respected/used anyway. "type"; "stage" might be a better term .. 'alpha stage'. But=20 'type' might allow for wider use.=20 Is type/stage/whatever locked to specific enumeration: ah, I see,=20 it is "alpha", "beta", "release". Your example of "closed beta" is not supported by this. A side question is ... this could almost be handled by the repo,=20 not the pnd-file. ie: Is a single pnd-file posted for 'closed beta', and then=20 released to public when good? If we build in 'closedness' to the spec,=20 then the file would need rebuilding just to reflect this status. I don't think a 'visibility' (open, closed) etc should be in spec=20 .. its just going too far. So type/stage/whatever to define alpha/beta/release seems okay;=20 lets not go into any further. # 2) Change how <title> and <description> are listed # At the moment it is already possible to have several titles and descriptions It is a drag to change the working XML just to make the 'validator=20 spec' happy, but if we must, we must. It is actually something we talked=20 about before _anyway_, but ended up not going with sub-groups for no good=20 reason, so I don't mind doing it. I think we will support both modes of PXML in libpnd, so as to not=20 break any existing apps; users of the new schema/validator will have to=20 conform to the revised spec, but the old spec files will still be=20 acceptible to libpnd. # 3) Add a way to specify the license of an application # At the moment there is no way for a packager/author of software to define t= he # <licenses> # <license name=3D"public domain"/> # </licenses> # The reason to call this 'license' is that every software comes with some fo= rm of # license (a valid entry would also be 'do what you want with it'!), but not = every We should define in the spec some common ones. ie: is it one word,=20 or free form? And for "public domain", always enter it as "Public Domain"=20 (say), so that repo's can do something easy with it. <- unenforcible of=20 course. # 4) Add information about the 'package' in PXML # * I want to have this block mandatory to pass schema validation. The main r= eason # for this is to make it easier for package distribution systems. They can ju= st # scan for this block and are done and don't have to look at the <application> Note that any sane repo must be able to handle non-packaged files.=20 ie: existing pnd files, and stuff that is non-pnd (pdf's, zips, theme=20 files, conf files, shellscripts, etc etc.) ie: Repo should have=20 pseudo-package implied by contained app/content in absence, so we leave=20 that out of spec :) # * Here is an example of what a (rather) complete <package> block looks like: # <package id=3D"sample-package"> ID being defined as: - reasonably unique (same as for pnd unique-id); unregistered, but=20 made to be unique - not expected to be displayed except as developer crap; it is not=20 to be used for filenames or shown to users - what form? spaces? punctuation? I didn't check the xsd for it. # Now I am looking forward to your constructive criticism about this proposal= . I # hope I provided enough reasoning for the respective blocks (especially when Very good! As always, thanks for converting all our IRC chatter into=20 something workable :) # If this is accepted as proposed here the following things would have to be = done: # * Implement "2) Change how <title> and <description> are listed" in libpnd. I'll take care of it # * Upload "PXML_schema.xsd" and "PXML_schema_plaintext.xml" (as well as poss= ibly # the example files) to [1] Probably at the same time # * Update the documentation in the wiki [2]. ...... you? ;) jeff -- If everyone would put barbecue sauce on their food, there would be no war. --===============4214362543128375383==--