From 76bc2c1bef8a434e6352a7a01ce10c9e58fc2f6e Mon Sep 17 00:00:00 2001 From: skyanth Date: Fri, 19 Aug 2016 14:41:34 +0200 Subject: [PATCH] Implemented auto-generated fixed-term and freelance contracts --- .gitignore | 2 + xml/RELEASE_NOTES.html | 1141 +++++++++++++++++ xml/RELEASE_NOTES.md | 15 + xml/dtd/common.xsd | 10 + xml/dtd/contract_info.xsd | 140 ++ xml/dtd/pentestreport.xsd | 8 - xml/source/contract.xml | 76 ++ xml/source/contract_info.xml | 34 + .../contract/en/ag_biggerscopewarning.xml | 2 + .../contract/en/ag_companyinstructs.xml | 2 + .../en/ag_generaltermsandconditions.xml | 2 + xml/source/snippets/contract/en/ag_law.xml | 2 + .../snippets/contract/en/ag_liability.xml | 2 + .../snippets/contract/en/ag_noemployment.xml | 3 + .../snippets/contract/en/ag_nondisclosure.xml | 2 + .../snippets/contract/en/ag_ownrisk.xml | 2 + .../contract/en/ag_payment_fixed_term.xml | 3 + .../en/ag_payment_single_engagement.xml | 3 + xml/source/snippets/contract/en/ag_period.xml | 4 + .../contract/en/ag_propertyrights.xml | 2 + .../snippets/contract/en/ag_provisions.xml | 2 + .../contract/en/ag_responsibilities.xml | 12 + .../snippets/contract/en/ag_retainrights.xml | 2 + .../snippets/contract/en/ag_thirdparty.xml | 2 + .../snippets/contract/en/ag_workinghours.xml | 2 + .../snippets/contract/en/ag_worktime.xml | 2 + xml/source/snippets/contract/en/parties.xml | 6 + .../contract/en/wa_companyhasasked.xml | 2 + .../snippets/contract/en/wa_companywants.xml | 2 + .../snippets/contract/en/wa_contractorcan.xml | 2 + .../contract/en/wa_noemploymentintention.xml | 2 + .../contract/nl/ag_biggerscopewarning.xml | 2 + .../contract/nl/ag_companyinstructs.xml | 2 + .../nl/ag_generaltermsandconditions.xml | 2 + xml/source/snippets/contract/nl/ag_law.xml | 2 + .../snippets/contract/nl/ag_liability.xml | 2 + .../snippets/contract/nl/ag_noemployment.xml | 3 + .../snippets/contract/nl/ag_nondisclosure.xml | 2 + .../snippets/contract/nl/ag_ownrisk.xml | 2 + .../contract/nl/ag_payment_fixed_term.xml | 3 + .../nl/ag_payment_single_engagement.xml | 3 + xml/source/snippets/contract/nl/ag_period.xml | 4 + .../contract/nl/ag_propertyrights.xml | 2 + .../snippets/contract/nl/ag_provisions.xml | 2 + .../contract/nl/ag_responsibilities.xml | 12 + .../snippets/contract/nl/ag_retainrights.xml | 2 + .../snippets/contract/nl/ag_thirdparty.xml | 2 + .../snippets/contract/nl/ag_workinghours.xml | 2 + .../snippets/contract/nl/ag_worktime.xml | 2 + xml/source/snippets/contract/nl/parties.xml | 6 + .../contract/nl/wa_companyhasasked.xml | 2 + .../snippets/contract/nl/wa_companywants.xml | 2 + .../snippets/contract/nl/wa_contractorcan.xml | 2 + .../contract/nl/wa_noemploymentintention.xml | 2 + xml/source/snippets/localisationstrings.xml | 32 + xml/source/snippets/snippetselection.xml | 30 + xml/source/target/report.fo | 146 --- xml/source/target/waiver_....fo | 4 - xml/target/contract.fo | 37 + xml/target/contract.pdf | Bin 0 -> 62840 bytes xml/target/contract_single.pdf | Bin 0 -> 52253 bytes xml/xslt/{auto.xsl => auto.xslt} | 365 +++++- xml/xslt/block.xslt | 6 + xml/xslt/generate_a4.xsl | 2 +- xml/xslt/generate_contract.xsl | 189 +++ xml/xslt/generate_document.xsl | 2 +- xml/xslt/generate_invoice.xsl | 6 +- xml/xslt/generate_offerte.xsl | 2 +- xml/xslt/generate_report.xsl | 2 +- xml/xslt/info2contract.xsl | 280 ++++ xml/xslt/pages.xslt | 38 +- xml/xslt/styles.xslt | 28 +- xml/xslt/styles_con.xslt | 195 +++ xml/xslt/styles_doc.xslt | 9 + xml/xslt/styles_off.xslt | 19 +- xml/xslt/styles_rep.xslt | 9 + xml/xslt/summary.xsl | 2 +- 77 files changed, 2742 insertions(+), 217 deletions(-) create mode 100644 .gitignore create mode 100644 xml/RELEASE_NOTES.html create mode 100644 xml/dtd/contract_info.xsd create mode 100644 xml/source/contract.xml create mode 100644 xml/source/contract_info.xml create mode 100644 xml/source/snippets/contract/en/ag_biggerscopewarning.xml create mode 100644 xml/source/snippets/contract/en/ag_companyinstructs.xml create mode 100644 xml/source/snippets/contract/en/ag_generaltermsandconditions.xml create mode 100644 xml/source/snippets/contract/en/ag_law.xml create mode 100644 xml/source/snippets/contract/en/ag_liability.xml create mode 100644 xml/source/snippets/contract/en/ag_noemployment.xml create mode 100644 xml/source/snippets/contract/en/ag_nondisclosure.xml create mode 100644 xml/source/snippets/contract/en/ag_ownrisk.xml create mode 100644 xml/source/snippets/contract/en/ag_payment_fixed_term.xml create mode 100644 xml/source/snippets/contract/en/ag_payment_single_engagement.xml create mode 100644 xml/source/snippets/contract/en/ag_period.xml create mode 100644 xml/source/snippets/contract/en/ag_propertyrights.xml create mode 100644 xml/source/snippets/contract/en/ag_provisions.xml create mode 100644 xml/source/snippets/contract/en/ag_responsibilities.xml create mode 100644 xml/source/snippets/contract/en/ag_retainrights.xml create mode 100644 xml/source/snippets/contract/en/ag_thirdparty.xml create mode 100644 xml/source/snippets/contract/en/ag_workinghours.xml create mode 100644 xml/source/snippets/contract/en/ag_worktime.xml create mode 100644 xml/source/snippets/contract/en/parties.xml create mode 100644 xml/source/snippets/contract/en/wa_companyhasasked.xml create mode 100644 xml/source/snippets/contract/en/wa_companywants.xml create mode 100644 xml/source/snippets/contract/en/wa_contractorcan.xml create mode 100644 xml/source/snippets/contract/en/wa_noemploymentintention.xml create mode 100644 xml/source/snippets/contract/nl/ag_biggerscopewarning.xml create mode 100644 xml/source/snippets/contract/nl/ag_companyinstructs.xml create mode 100644 xml/source/snippets/contract/nl/ag_generaltermsandconditions.xml create mode 100644 xml/source/snippets/contract/nl/ag_law.xml create mode 100644 xml/source/snippets/contract/nl/ag_liability.xml create mode 100644 xml/source/snippets/contract/nl/ag_noemployment.xml create mode 100644 xml/source/snippets/contract/nl/ag_nondisclosure.xml create mode 100644 xml/source/snippets/contract/nl/ag_ownrisk.xml create mode 100644 xml/source/snippets/contract/nl/ag_payment_fixed_term.xml create mode 100644 xml/source/snippets/contract/nl/ag_payment_single_engagement.xml create mode 100644 xml/source/snippets/contract/nl/ag_period.xml create mode 100644 xml/source/snippets/contract/nl/ag_propertyrights.xml create mode 100644 xml/source/snippets/contract/nl/ag_provisions.xml create mode 100644 xml/source/snippets/contract/nl/ag_responsibilities.xml create mode 100644 xml/source/snippets/contract/nl/ag_retainrights.xml create mode 100644 xml/source/snippets/contract/nl/ag_thirdparty.xml create mode 100644 xml/source/snippets/contract/nl/ag_workinghours.xml create mode 100644 xml/source/snippets/contract/nl/ag_worktime.xml create mode 100644 xml/source/snippets/contract/nl/parties.xml create mode 100644 xml/source/snippets/contract/nl/wa_companyhasasked.xml create mode 100644 xml/source/snippets/contract/nl/wa_companywants.xml create mode 100644 xml/source/snippets/contract/nl/wa_contractorcan.xml create mode 100644 xml/source/snippets/contract/nl/wa_noemploymentintention.xml create mode 100644 xml/source/snippets/snippetselection.xml delete mode 100644 xml/source/target/report.fo delete mode 100644 xml/source/target/waiver_....fo create mode 100644 xml/target/contract.fo create mode 100644 xml/target/contract.pdf create mode 100644 xml/target/contract_single.pdf rename xml/xslt/{auto.xsl => auto.xslt} (60%) create mode 100644 xml/xslt/generate_contract.xsl create mode 100644 xml/xslt/info2contract.xsl create mode 100644 xml/xslt/styles_con.xslt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6d770bb --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ + +xml/PenText.xpr diff --git a/xml/RELEASE_NOTES.html b/xml/RELEASE_NOTES.html new file mode 100644 index 0000000..8c7c1a0 --- /dev/null +++ b/xml/RELEASE_NOTES.html @@ -0,0 +1,1141 @@ +RELEASE_NOTES

RELEASE NOTES

+

July 30, 2016

+

Finding status

+

New feature for retests: finding status to indicate if, in context of a follow-up pentest, a finding is new, resolved, still unresolved or not retested.

+

The <finding> element now has an optional @status attribute. Possible values are:

+ +

The <generate_findings/> element now likewise has this optional @status attribute with the same possible values. You can add it to generate a finding summary table containing only the findings with a specific status.

+

June 15, 2016

+

Giant update to celebrate these xml templates having been elevated to OWASP project status. Because how better to do that than through introducing a load of bugs. :)

+

Multilingual workflow

+

You can now set the desired language in quickscope, using the offer_language element. This will generate the proper offer with the proper language snippets.

+

Note: language stuff is defined in two places:

+
    +
  1. in source/snippets/offerte (language directories for all snippets)
  2. +
  3. in source/snippets/localisationstrings.xml (these are strings used in xslt; e.g. when generating an offer from quickscope)
  4. +
+

Offer types

+

You can now set the desired offer type in quickscope, using the offer_type element. This will generate the proper offer with the proper snippets.

+

Note: system looks for snippets with the type suffix first, and uses the standard snippet if none is found.

+

Example

+

Offer type is ‘basic-scan’.

+

When generating an xml offer from quickscope, the xslt will first look for the file:

+

methodology_basic-scan.xml

+

If it cannot find this file, it will instead use

+

methodology.xml

+

Customizable waivers

+

Yes, the stories you heard are true (and we’ll get that snitch one day!) - waivers are no longer hard-coded but are now normal, customizable snippets. Well, not completely normal. It goes like this:

+

When generating waivers for client + third parties, the xslt will use the contents of the <standard_waiver> element in <waivers> in the waiver.xml snippet.

+

UNLESS: you have added an optional <alternative_waiver> element below <standard_waiver> (still in <waivers>) and have given it a Ref attribute that refers to the id of the client/party for which this alternative waiver needs to be used (just add an id if the client or party doesn’t have one yet).

+

So to summarize:

+
    +
  1. xslt checks if an alternative waiver has been defined for a specific client or party in the offer,
  2. +
  3. if not, it uses the standard waiver
  4. +
+

Now isn’t that simple!

+

Note: to support this functionality, a bunch of waiver-only placeholders have been introduced, to wit: <signee_long>, <signee_short>, <signee_street>, <signee_city>, <signee_country>, <signee_waiver_rep>. Don’t use them anywhere else though (they will fail and anyway it wouldn’t make sense).

+

May 23, 2016

+

Offerte –> Pentest-report

+

Last step in the document chain has been completed: you can now generate a (bare bones) Pentest report from any offerte the client has accepted, using the following command:

+

java -jar saxon9he.jar -s:source/offerte.xml -xsl:xslt/off2rep.xsl -o:source/report.xml

+

This makes the document workflow as follows:

+
    +
  1. Fill in quickscope.xml
  2. +
  3. Create offerte.xml from quickscope.xml using qs2offerte.xsl
  4. +
  5. If client accepts offerte, create report.xml from offerte.xml using off2rep.xsl
  6. +
  7. After pentest has concluded, create invoice from offerte using either the direct route or the roundabout one (see March 24, 2016 in the release notes for more info)
  8. +
+

April 25, 2016

+

Hidden elements

+

It is now possible to hide section, appendix and annex elements from the generated report, offerte or generic document. To do so, add the optional attribute visibility="hidden" to whatever it is you want to hide in the generated PDF.

+

Links to hidden targets will give an error (in the document), as will links to non-existing targets in general.

+

Client Placeholder renaming

+

All placeholders that used to start with c_* (c_short, c_poc1, etc) now start with client_.

+

April 21, 2016

+

Generic Documents

+

We now have a generic document type, which can be used for (drumroll) generic documents (whitepapers, training notes, presentation notes, whatever).

+

It is a super-simple template: it contains a a sparse meta section, an optional ToC and then any number of sections and elements. All the general text elements (tables, lists, pre, code, a, etc etc) can be used. It’s so simple I’m not even going to document it. Check the example doc in doc/examples if you’re lost, but if you’ve ever written an offer or a pentest report using this system it should be a piece of cake. :)

+

Usage: genericdocument.xml --> genericdocument.pdf (using generate_doc.xsl + fop)

+

April 4, 2016

+

Associating targets with parties

+

You can now associate certain targets with certain parties. The <client> and <party> element now have an optional id attribute. Each target element now has an optional Ref attribute.

+

In waivers, only the targets associated with the party/client that needs to sign the waiver will be shown.

+

<generate_targets/> also has an optional Ref attribute for when you only want to generate a list of targets for one client/party.

+

If a target has no Ref attribute, it will appear in all the lists (both in the waivers and when using <generate_targets/>).

+

March 24, 2016

+

More elaborate invoicing

+

Instead of generating an invoice straight from the offerte, as described in the release notes of March 10, you can now also take the roundabout route and customize the invoice.

+

So instead of:

+
    +
  1. offerte.xml –> invoice.pdf (using generate_inv.xsl + fop)
  2. +
+

You can do:

+
    +
  1. offerte.xml –> invoice.xml (using off2inv.xsl)
  2. +
  3. edit invoice.xml (add some extra costs, most likely)
  4. +
  5. invoice.xml –> invoice.pdf (using generate_inv.xsl + fop)
  6. +
+

More often than not, the simple route will do just fine, though.

+

Added client VAT element

+

When billing EU customers, you do not need to charge VAT (but you do need to have the client’s VAT number on the invoice). So the <client> element now has an optional <vat_no> child.

+

March 10, 2016

+

Fee denomination

+

The <fee> element in <pentestinfo> now has an optional denomination attribute, which can be set to euro (default) or dollar. Yay for globalization! No, wait.

+

Anyway, the denomination is added automatically whenever you reference the fee using the <p_fee/> placeholder.

+

Client info now has its own file

+

The <client> element has been extracted from the document and now exists all by itself in the file client_info.xml, which is located in the source directory. This gives us the possibility to have a ‘client library’ and to easily reuse client info - just replace the file with the proper one for the current client.

+

Note that there are some new fields in the client section, <invoice_rep> and <invoice_mail> for use in the… (see next section)

+

Invoices!

+

w00t. You can now generate a pdf invoice directly from offerte.xml. Use:

+

java -jar saxon9he.jar -s:/path/to/offerte/source/offerte.xml -xsl:/path/to/offerte/xslt/generate_invoice.xsl -o:/path/to/report/target/invoice.fo INVOICE_NO=[invoice number] -xi

+

And then:

+

fop -c conf/rosfop.xconf /path/to/offerte/target/invoice.fo path/to/offerte/target/invoice.pdf

+

March 9, 2016

+

An essay on placeholders

+

Universality

+

Placeholders can now be used in both offertes and pentest reports. Within reason, though! Pentest reports only have access to a limited set as the other placeholders are not relevant:

+ +

To accommodate for especially those last two bullets, we now have room for an optional pentestinfo tag in the report meta section, following the <targets> element. It’s the same as the pentestinfo for offertes, except it doesn’t hold financial info.

+

Robustness

+

When you insert a placeholder, there is now a check to see if
+a. The element you’re referring to exists
+b. The element you’re referring to contains text

+

If either a or b are not the case, you’ll end up with a red XXXXX. Which should hopefully get your, or somebody else’s, attention during review time.

+

Title Case

+

Uppercase is now forced on titles that should be in uppercase (i.e. report and offerte title pages, plus offerte titles in general).

+

Forcing title case for pentest report titles is unfortunately not possible from a style point of view as xsl-fo can only capitalize every word, which is not really what we want. But Peter Mosmans’s validation script has your back on this.

+

Finally, we have a <div> element!

+

What does <div> do?

+

Nothing. <div> just is.

+

Sigh. Ok, why is <div>?

+

You can use <div> as a container for other block elements. This is basically only (but very) useful for snippets, as snippets need to be well-formed XML documentlets and can therefore only have one root element. If the snippet is a complete section, this is not a problem. If the snippet is a bunch of paragraphs or something, you’re out of luck. Or rather, you used to be out of luck, because there was no <div>. But now there is <div>. So your snippet can be <div> (root element), containing everything you want. Well, everything that’s allowed, anyway.

+

So what’s allowed in <div>?

+

All block elements: p, ul, ol, table, img, pre, code

+

And what elements can contain <div>?

+

Sections, Annexes and Appendices. NOTHING ELSE. DON’T EVEN TRY.

\ No newline at end of file diff --git a/xml/RELEASE_NOTES.md b/xml/RELEASE_NOTES.md index 34a3ed8..727a3ba 100644 --- a/xml/RELEASE_NOTES.md +++ b/xml/RELEASE_NOTES.md @@ -1,6 +1,20 @@ RELEASE NOTES ============= +August 19th, 2016 +----------------- + +### Contracts + +Added a contract document type; it works as follows: + +1. fill out the fields (elements) in contract_info.xml +2. Create contract.xml from contract_info.xml using info2contract.xsl +3. contract.xml --> contract.pdf (using generate_contract.xsl + fop) + +In general there shoudl be no need to edit contract.xml, it is an intermediate document. The idea is to go straight from contract_info.xml to contract.pdf (in two steps) + + July 30, 2016 ------------- @@ -17,6 +31,7 @@ The `` element now has an optional `@status` attribute. Possible values The `` element now likewise has this optional `@status` attribute with the same possible values. You can add it to generate a finding summary table containing only the findings with a specific status. + June 15, 2016 ------------- diff --git a/xml/dtd/common.xsd b/xml/dtd/common.xsd index 117a2df..c93c3e6 100644 --- a/xml/dtd/common.xsd +++ b/xml/dtd/common.xsd @@ -32,6 +32,7 @@ + @@ -220,6 +221,15 @@ + + + + + + + + + diff --git a/xml/dtd/contract_info.xsd b/xml/dtd/contract_info.xsd new file mode 100644 index 0000000..07c78e7 --- /dev/null +++ b/xml/dtd/contract_info.xsd @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xml/dtd/pentestreport.xsd b/xml/dtd/pentestreport.xsd index 4c5f80d..564e71b 100644 --- a/xml/dtd/pentestreport.xsd +++ b/xml/dtd/pentestreport.xsd @@ -335,14 +335,6 @@ - - - - - - - - diff --git a/xml/source/contract.xml b/xml/source/contract.xml new file mode 100644 index 0000000..c3af6f5 --- /dev/null +++ b/xml/source/contract.xml @@ -0,0 +1,76 @@ + + + + + + fixed_term + + battle the pirates + + + + Peter Pan +
Cloud 9
+ 1234 XX + Treehouse City + Neverland + peter@pan.tech + 50 + +
+ + + Taunting Captain Hook + Feeding crocodiles + Flying to and fro ('to' and 'fro' to be specified at takeoff) + + 2015-08-18 + 2016-10-14 + + 30 + + month + + + + +
+ security consulting agreement + + +

WHEREAS:

+
    + + +
+ +
+ AGREE AS FOLLOWS +
    + + + + + + + + + + + + + + + +
+
+
+ Signed in duplicate on August 18, 2016 in + +
+
+
diff --git a/xml/source/contract_info.xml b/xml/source/contract_info.xml new file mode 100644 index 0000000..108c913 --- /dev/null +++ b/xml/source/contract_info.xml @@ -0,0 +1,34 @@ + + + + + + fixed_term + battle the pirates + + + Peter Pan +
Cloud 9
+ 1234 XX + Treehouse City + Neverland + peter@pan.tech + 50 +
+ + + Taunting Captain Hook + Feeding crocodiles + Flying to and fro ('to' and 'fro' to be specified at takeoff) + + 2016-08-18 + 2016-09-15 + + 30 + month + + +
diff --git a/xml/source/snippets/contract/en/ag_biggerscopewarning.xml b/xml/source/snippets/contract/en/ag_biggerscopewarning.xml new file mode 100644 index 0000000..140e70b --- /dev/null +++ b/xml/source/snippets/contract/en/ag_biggerscopewarning.xml @@ -0,0 +1,2 @@ + +
  • If during the course of the Activities, there is a risk that the scope of the assignment is bigger than expected, the Consultant will let know without delay.
  • diff --git a/xml/source/snippets/contract/en/ag_companyinstructs.xml b/xml/source/snippets/contract/en/ag_companyinstructs.xml new file mode 100644 index 0000000..58a7ea9 --- /dev/null +++ b/xml/source/snippets/contract/en/ag_companyinstructs.xml @@ -0,0 +1,2 @@ + +
  • instructs (in Dutch: "wijst aan"; not "instrueert") the Consultant – and the Consultant agrees to perform the following activities (the “Activities”):
  • diff --git a/xml/source/snippets/contract/en/ag_generaltermsandconditions.xml b/xml/source/snippets/contract/en/ag_generaltermsandconditions.xml new file mode 100644 index 0000000..a34ef2c --- /dev/null +++ b/xml/source/snippets/contract/en/ag_generaltermsandconditions.xml @@ -0,0 +1,2 @@ + +
  • The general terms and conditions of apply to this agreement. rejects any general terms and conditions used by the Consultant.
  • diff --git a/xml/source/snippets/contract/en/ag_law.xml b/xml/source/snippets/contract/en/ag_law.xml new file mode 100644 index 0000000..d649b5d --- /dev/null +++ b/xml/source/snippets/contract/en/ag_law.xml @@ -0,0 +1,2 @@ + +
  • Dutch law applies to this agreement. Any dispute between and Consultant will be resolved in the first instance exclusively by the District Court (in Dutch: “rechtbank”) of Amsterdam, the Netherlands.
  • diff --git a/xml/source/snippets/contract/en/ag_liability.xml b/xml/source/snippets/contract/en/ag_liability.xml new file mode 100644 index 0000000..04c8044 --- /dev/null +++ b/xml/source/snippets/contract/en/ag_liability.xml @@ -0,0 +1,2 @@ + +
  • Unless a result of gross negligence or willful misconduct, the liability of either party to the other for any type of damages is limited to the amount of Consultant's total fees under Article 5 of this agreement.
  • diff --git a/xml/source/snippets/contract/en/ag_noemployment.xml b/xml/source/snippets/contract/en/ag_noemployment.xml new file mode 100644 index 0000000..2972036 --- /dev/null +++ b/xml/source/snippets/contract/en/ag_noemployment.xml @@ -0,0 +1,3 @@ + +
  • and the Consultant explicitly do not intend to enter into an employment agreement (in Dutch: “arbeidsovereenkomst”) as in Article 7:610 Burgerlijk Wetboek. The Consultant guarantees he shall never claim an employment agreement exists. +
  • \ No newline at end of file diff --git a/xml/source/snippets/contract/en/ag_nondisclosure.xml b/xml/source/snippets/contract/en/ag_nondisclosure.xml new file mode 100644 index 0000000..b585791 --- /dev/null +++ b/xml/source/snippets/contract/en/ag_nondisclosure.xml @@ -0,0 +1,2 @@ + +
  • The Consultant will not disclose confidential information and personal data receives from , or gains access to in the course of the Activities. The Consultant will only use this information or data for the purposes of carrying out this agreement. The Consultant will take reasonable measures to maintain the confidentiality of this information and data. The Consultant may disclose this information and data on a need-to-know basis, and only to persons associated with as employee, freelancer or volunteer and only if the Consultant knows that they are bound by the same confidentiality obligations.
  • diff --git a/xml/source/snippets/contract/en/ag_ownrisk.xml b/xml/source/snippets/contract/en/ag_ownrisk.xml new file mode 100644 index 0000000..b2736a2 --- /dev/null +++ b/xml/source/snippets/contract/en/ag_ownrisk.xml @@ -0,0 +1,2 @@ + +
  • The Consultant is working at his or her own risk (in Dutch: “voor eigen rekening en risico”). The Consultant is free to perform the Activities at his or her own discretion (in Dutch: “naar eigen inzicht”) and independently. The Consultant will use his own resources and tools to perform the Activities for .
  • diff --git a/xml/source/snippets/contract/en/ag_payment_fixed_term.xml b/xml/source/snippets/contract/en/ag_payment_fixed_term.xml new file mode 100644 index 0000000..6142e7b --- /dev/null +++ b/xml/source/snippets/contract/en/ag_payment_fixed_term.xml @@ -0,0 +1,3 @@ + +
  • will pay the Consultant per hour excluding VAT. It will do so after has received an invoice from the Consultant. The Consultant will send an invoice within 14 days after the end of each calendar month for the Activities performed during that month.

    +

    will then pay the agreed amount within 30 days of receipt of the invoice. will also pay reasonable travel expenses of the Consultant, to the extent that has given prior written approval for such costs and the Consultant provides with an invoice or other documentation for these expenses. will not reimburse any other costs the Consultant incurs in the course of the Activities, unless has given prior written approval for such costs. For the avoidance of doubt, shall pay no wages (in Dutch: "salaris") to the Consultant and therefore, shall not provide payslips to the Consultant, nor pay to the Consultant any money or allowance in the event of a holiday or illness of the Consultant.

  • diff --git a/xml/source/snippets/contract/en/ag_payment_single_engagement.xml b/xml/source/snippets/contract/en/ag_payment_single_engagement.xml new file mode 100644 index 0000000..56f417b --- /dev/null +++ b/xml/source/snippets/contract/en/ag_payment_single_engagement.xml @@ -0,0 +1,3 @@ + +
  • will pay the Consultant for a -hour engagement: per hour excluding VAT, therefore totaling excluding VAT. It will do so after has been paid for the assignment in the context of which the Activities took place and has received an invoice from the Consultant. The Consultant will send an invoice within 14 days after the end of each calendar month for the Activities performed during that month.

    +

    will then pay the agreed amount within 30 days of receipt of the invoice. will also pay reasonable travel expenses of the Consultant, to the extent that has given prior written approval for such costs and the Consultant provides with an invoice or other documentation for these expenses. will not reimburse any other costs the Consultant incurs in the course of the Activities, unless has given prior written approval for such costs. For the avoidance of doubt, shall pay no wages (in Dutch: "salaris") to the Consultant and therefore, shall not provide payslips to the Consultant, nor pay to the Consultant any money or allowance in the event of a holiday or illness of the Consultant.

  • diff --git a/xml/source/snippets/contract/en/ag_period.xml b/xml/source/snippets/contract/en/ag_period.xml new file mode 100644 index 0000000..cf4743f --- /dev/null +++ b/xml/source/snippets/contract/en/ag_period.xml @@ -0,0 +1,4 @@ + +
  • This contract shall be effective as of for the period of . This contract will end by operation of law on without any notice being required.

    +

    In case of tacit extension of this contract, the parties agree to do so for the same term and on the same conditions. Either party is entitled to give notice of termination of the contract with immediate effect. Notice of termination should be given by email. (To : ; to the Consultant: ) The other party will confirm the termination by return.

    +

    Premature termination shall not give rise to liability or financial compensation for either party.

  • diff --git a/xml/source/snippets/contract/en/ag_propertyrights.xml b/xml/source/snippets/contract/en/ag_propertyrights.xml new file mode 100644 index 0000000..2809150 --- /dev/null +++ b/xml/source/snippets/contract/en/ag_propertyrights.xml @@ -0,0 +1,2 @@ + +
  • The Consultant transfers to all intellectual property rights created as a result of the Activities. To the extent that it is not possible to transfer these rights, grants to a perpetual, exclusive transferable, sub-licensable, world-wide license to such rights, and agrees to co-operate with the transfer of these rights to . To the extent that the Consultant has transferred these rights to , grants a perpetual, non-exclusive, non-transferable, not-sub-licensable, world-wide license to such rights to the Consultant, unless considers this impossible, due to obligations might have vis-à-vis others. In that case, will explore whether it is possible to grant to the Consultant a license on the rights with a narrower scope. For the avoidance of doubt, any rights of the Consultant vested in software or services developed prior to the Activities are not affected by this agreement.
  • diff --git a/xml/source/snippets/contract/en/ag_provisions.xml b/xml/source/snippets/contract/en/ag_provisions.xml new file mode 100644 index 0000000..c8d7849 --- /dev/null +++ b/xml/source/snippets/contract/en/ag_provisions.xml @@ -0,0 +1,2 @@ + +
  • If any of the provisions of this agreement is annulled or void, the other provisions remain in effect. To the extent possible, the annulled or void provision will be replaced by a similar provision that has the same effect.
  • diff --git a/xml/source/snippets/contract/en/ag_responsibilities.xml b/xml/source/snippets/contract/en/ag_responsibilities.xml new file mode 100644 index 0000000..1477107 --- /dev/null +++ b/xml/source/snippets/contract/en/ag_responsibilities.xml @@ -0,0 +1,12 @@ + +
  • The Consultant is responsible:
    • for ensuring that any work performed in the course of + this agreement is lawful (in Dutch: “rechtmatig”) and not illegal (in Dutch: “niet + strafbaar”);
    • +
    • for ensuring that by performing the Activities, does not act contrary to a + non-compete- or a confidentiality obligation may have. If there is a risk that + the Consultant will act contrary to such an obligation, will inform + without delay. then has the right to terminate the agreement without + compensation;
    • +
    • and for paying any applicable taxes and social security premiums following from the + Activities. Should have to pay any of these, the Consultant will indemnify + .
  • diff --git a/xml/source/snippets/contract/en/ag_retainrights.xml b/xml/source/snippets/contract/en/ag_retainrights.xml new file mode 100644 index 0000000..4b9e32e --- /dev/null +++ b/xml/source/snippets/contract/en/ag_retainrights.xml @@ -0,0 +1,2 @@ + +
  • The Consultant retains all intellectual property rights owns prior to this agreement.
  • diff --git a/xml/source/snippets/contract/en/ag_thirdparty.xml b/xml/source/snippets/contract/en/ag_thirdparty.xml new file mode 100644 index 0000000..680e745 --- /dev/null +++ b/xml/source/snippets/contract/en/ag_thirdparty.xml @@ -0,0 +1,2 @@ + +
  • Should a third party lodge a claim against or any of its employees, freelancers or volunteers, or the public prosecutor initiate an investigation or criminal proceedings against any of these parties, as a result of activities performed by the Consultant under this agreement, then the Consultant will co-operate fully with in defending against this claim, investigation or these proceedings, including by providing any evidence he or she has which may be relevant to this defense.
  • diff --git a/xml/source/snippets/contract/en/ag_workinghours.xml b/xml/source/snippets/contract/en/ag_workinghours.xml new file mode 100644 index 0000000..0323bdf --- /dev/null +++ b/xml/source/snippets/contract/en/ag_workinghours.xml @@ -0,0 +1,2 @@ + +
  • The agreed working hours shall amount to hours per . The Consultant may be expected to perform overtime outside the established working hours whenever this is necessary for the proper performance of the Activites.
  • diff --git a/xml/source/snippets/contract/en/ag_worktime.xml b/xml/source/snippets/contract/en/ag_worktime.xml new file mode 100644 index 0000000..08d6e20 --- /dev/null +++ b/xml/source/snippets/contract/en/ag_worktime.xml @@ -0,0 +1,2 @@ + +
  • The Consultant will perform the Activities from up to and including .
  • diff --git a/xml/source/snippets/contract/en/parties.xml b/xml/source/snippets/contract/en/parties.xml new file mode 100644 index 0000000..405ebab --- /dev/null +++ b/xml/source/snippets/contract/en/parties.xml @@ -0,0 +1,6 @@ + +

    , located at , , , represented by (“”);

    + +

    AND

    + +

    , with address at , , , (the “Consultant”);

    \ No newline at end of file diff --git a/xml/source/snippets/contract/en/wa_companyhasasked.xml b/xml/source/snippets/contract/en/wa_companyhasasked.xml new file mode 100644 index 0000000..505f386 --- /dev/null +++ b/xml/source/snippets/contract/en/wa_companyhasasked.xml @@ -0,0 +1,2 @@ + +
  • has asked the Consultant to assist with this.
  • diff --git a/xml/source/snippets/contract/en/wa_companywants.xml b/xml/source/snippets/contract/en/wa_companywants.xml new file mode 100644 index 0000000..0e84328 --- /dev/null +++ b/xml/source/snippets/contract/en/wa_companywants.xml @@ -0,0 +1,2 @@ + +
  • wants to .
  • diff --git a/xml/source/snippets/contract/en/wa_contractorcan.xml b/xml/source/snippets/contract/en/wa_contractorcan.xml new file mode 100644 index 0000000..912cff9 --- /dev/null +++ b/xml/source/snippets/contract/en/wa_contractorcan.xml @@ -0,0 +1,2 @@ + +
  • The Consultant is willing and able to perform the activities mentioned hereafter.
  • diff --git a/xml/source/snippets/contract/en/wa_noemploymentintention.xml b/xml/source/snippets/contract/en/wa_noemploymentintention.xml new file mode 100644 index 0000000..c53066c --- /dev/null +++ b/xml/source/snippets/contract/en/wa_noemploymentintention.xml @@ -0,0 +1,2 @@ + +
  • and the Consultant have no intention whatsoever to agree upon an employment agreement and this agreement is only drafted to enable the Consultant to perform incidental activities for . and the Consultant explicitly confirm that this agreement does not qualify as an employment agreement. The Consultant is free to perform work for other parties, and in fact does so on a regular basis.
  • \ No newline at end of file diff --git a/xml/source/snippets/contract/nl/ag_biggerscopewarning.xml b/xml/source/snippets/contract/nl/ag_biggerscopewarning.xml new file mode 100644 index 0000000..140e70b --- /dev/null +++ b/xml/source/snippets/contract/nl/ag_biggerscopewarning.xml @@ -0,0 +1,2 @@ + +
  • If during the course of the Activities, there is a risk that the scope of the assignment is bigger than expected, the Consultant will let know without delay.
  • diff --git a/xml/source/snippets/contract/nl/ag_companyinstructs.xml b/xml/source/snippets/contract/nl/ag_companyinstructs.xml new file mode 100644 index 0000000..58a7ea9 --- /dev/null +++ b/xml/source/snippets/contract/nl/ag_companyinstructs.xml @@ -0,0 +1,2 @@ + +
  • instructs (in Dutch: "wijst aan"; not "instrueert") the Consultant – and the Consultant agrees to perform the following activities (the “Activities”):
  • diff --git a/xml/source/snippets/contract/nl/ag_generaltermsandconditions.xml b/xml/source/snippets/contract/nl/ag_generaltermsandconditions.xml new file mode 100644 index 0000000..a34ef2c --- /dev/null +++ b/xml/source/snippets/contract/nl/ag_generaltermsandconditions.xml @@ -0,0 +1,2 @@ + +
  • The general terms and conditions of apply to this agreement. rejects any general terms and conditions used by the Consultant.
  • diff --git a/xml/source/snippets/contract/nl/ag_law.xml b/xml/source/snippets/contract/nl/ag_law.xml new file mode 100644 index 0000000..d649b5d --- /dev/null +++ b/xml/source/snippets/contract/nl/ag_law.xml @@ -0,0 +1,2 @@ + +
  • Dutch law applies to this agreement. Any dispute between and Consultant will be resolved in the first instance exclusively by the District Court (in Dutch: “rechtbank”) of Amsterdam, the Netherlands.
  • diff --git a/xml/source/snippets/contract/nl/ag_liability.xml b/xml/source/snippets/contract/nl/ag_liability.xml new file mode 100644 index 0000000..04c8044 --- /dev/null +++ b/xml/source/snippets/contract/nl/ag_liability.xml @@ -0,0 +1,2 @@ + +
  • Unless a result of gross negligence or willful misconduct, the liability of either party to the other for any type of damages is limited to the amount of Consultant's total fees under Article 5 of this agreement.
  • diff --git a/xml/source/snippets/contract/nl/ag_noemployment.xml b/xml/source/snippets/contract/nl/ag_noemployment.xml new file mode 100644 index 0000000..2972036 --- /dev/null +++ b/xml/source/snippets/contract/nl/ag_noemployment.xml @@ -0,0 +1,3 @@ + +
  • and the Consultant explicitly do not intend to enter into an employment agreement (in Dutch: “arbeidsovereenkomst”) as in Article 7:610 Burgerlijk Wetboek. The Consultant guarantees he shall never claim an employment agreement exists. +
  • \ No newline at end of file diff --git a/xml/source/snippets/contract/nl/ag_nondisclosure.xml b/xml/source/snippets/contract/nl/ag_nondisclosure.xml new file mode 100644 index 0000000..b585791 --- /dev/null +++ b/xml/source/snippets/contract/nl/ag_nondisclosure.xml @@ -0,0 +1,2 @@ + +
  • The Consultant will not disclose confidential information and personal data receives from , or gains access to in the course of the Activities. The Consultant will only use this information or data for the purposes of carrying out this agreement. The Consultant will take reasonable measures to maintain the confidentiality of this information and data. The Consultant may disclose this information and data on a need-to-know basis, and only to persons associated with as employee, freelancer or volunteer and only if the Consultant knows that they are bound by the same confidentiality obligations.
  • diff --git a/xml/source/snippets/contract/nl/ag_ownrisk.xml b/xml/source/snippets/contract/nl/ag_ownrisk.xml new file mode 100644 index 0000000..b2736a2 --- /dev/null +++ b/xml/source/snippets/contract/nl/ag_ownrisk.xml @@ -0,0 +1,2 @@ + +
  • The Consultant is working at his or her own risk (in Dutch: “voor eigen rekening en risico”). The Consultant is free to perform the Activities at his or her own discretion (in Dutch: “naar eigen inzicht”) and independently. The Consultant will use his own resources and tools to perform the Activities for .
  • diff --git a/xml/source/snippets/contract/nl/ag_payment_fixed_term.xml b/xml/source/snippets/contract/nl/ag_payment_fixed_term.xml new file mode 100644 index 0000000..6142e7b --- /dev/null +++ b/xml/source/snippets/contract/nl/ag_payment_fixed_term.xml @@ -0,0 +1,3 @@ + +
  • will pay the Consultant per hour excluding VAT. It will do so after has received an invoice from the Consultant. The Consultant will send an invoice within 14 days after the end of each calendar month for the Activities performed during that month.

    +

    will then pay the agreed amount within 30 days of receipt of the invoice. will also pay reasonable travel expenses of the Consultant, to the extent that has given prior written approval for such costs and the Consultant provides with an invoice or other documentation for these expenses. will not reimburse any other costs the Consultant incurs in the course of the Activities, unless has given prior written approval for such costs. For the avoidance of doubt, shall pay no wages (in Dutch: "salaris") to the Consultant and therefore, shall not provide payslips to the Consultant, nor pay to the Consultant any money or allowance in the event of a holiday or illness of the Consultant.

  • diff --git a/xml/source/snippets/contract/nl/ag_payment_single_engagement.xml b/xml/source/snippets/contract/nl/ag_payment_single_engagement.xml new file mode 100644 index 0000000..56f417b --- /dev/null +++ b/xml/source/snippets/contract/nl/ag_payment_single_engagement.xml @@ -0,0 +1,3 @@ + +
  • will pay the Consultant for a -hour engagement: per hour excluding VAT, therefore totaling excluding VAT. It will do so after has been paid for the assignment in the context of which the Activities took place and has received an invoice from the Consultant. The Consultant will send an invoice within 14 days after the end of each calendar month for the Activities performed during that month.

    +

    will then pay the agreed amount within 30 days of receipt of the invoice. will also pay reasonable travel expenses of the Consultant, to the extent that has given prior written approval for such costs and the Consultant provides with an invoice or other documentation for these expenses. will not reimburse any other costs the Consultant incurs in the course of the Activities, unless has given prior written approval for such costs. For the avoidance of doubt, shall pay no wages (in Dutch: "salaris") to the Consultant and therefore, shall not provide payslips to the Consultant, nor pay to the Consultant any money or allowance in the event of a holiday or illness of the Consultant.

  • diff --git a/xml/source/snippets/contract/nl/ag_period.xml b/xml/source/snippets/contract/nl/ag_period.xml new file mode 100644 index 0000000..234dcf7 --- /dev/null +++ b/xml/source/snippets/contract/nl/ag_period.xml @@ -0,0 +1,4 @@ + +
  • This contract shall be effective as of for the period of . This contract will end by operation of law on without any notice being required.

    +

    In case of tacit extension of this contract, the parties agree to do so for the same term and on the same conditions. Either party is entitled to give notice of termination of the contract with immediate effect. Notice of termination should be given by email. (To : ; to the Consultant: ) The other party will confirm the termination by return.

    +

    Premature termination shall not give rise to liability or financial compensation for either party.

  • diff --git a/xml/source/snippets/contract/nl/ag_propertyrights.xml b/xml/source/snippets/contract/nl/ag_propertyrights.xml new file mode 100644 index 0000000..2809150 --- /dev/null +++ b/xml/source/snippets/contract/nl/ag_propertyrights.xml @@ -0,0 +1,2 @@ + +
  • The Consultant transfers to all intellectual property rights created as a result of the Activities. To the extent that it is not possible to transfer these rights, grants to a perpetual, exclusive transferable, sub-licensable, world-wide license to such rights, and agrees to co-operate with the transfer of these rights to . To the extent that the Consultant has transferred these rights to , grants a perpetual, non-exclusive, non-transferable, not-sub-licensable, world-wide license to such rights to the Consultant, unless considers this impossible, due to obligations might have vis-à-vis others. In that case, will explore whether it is possible to grant to the Consultant a license on the rights with a narrower scope. For the avoidance of doubt, any rights of the Consultant vested in software or services developed prior to the Activities are not affected by this agreement.
  • diff --git a/xml/source/snippets/contract/nl/ag_provisions.xml b/xml/source/snippets/contract/nl/ag_provisions.xml new file mode 100644 index 0000000..c8d7849 --- /dev/null +++ b/xml/source/snippets/contract/nl/ag_provisions.xml @@ -0,0 +1,2 @@ + +
  • If any of the provisions of this agreement is annulled or void, the other provisions remain in effect. To the extent possible, the annulled or void provision will be replaced by a similar provision that has the same effect.
  • diff --git a/xml/source/snippets/contract/nl/ag_responsibilities.xml b/xml/source/snippets/contract/nl/ag_responsibilities.xml new file mode 100644 index 0000000..1477107 --- /dev/null +++ b/xml/source/snippets/contract/nl/ag_responsibilities.xml @@ -0,0 +1,12 @@ + +
  • The Consultant is responsible:
    • for ensuring that any work performed in the course of + this agreement is lawful (in Dutch: “rechtmatig”) and not illegal (in Dutch: “niet + strafbaar”);
    • +
    • for ensuring that by performing the Activities, does not act contrary to a + non-compete- or a confidentiality obligation may have. If there is a risk that + the Consultant will act contrary to such an obligation, will inform + without delay. then has the right to terminate the agreement without + compensation;
    • +
    • and for paying any applicable taxes and social security premiums following from the + Activities. Should have to pay any of these, the Consultant will indemnify + .
  • diff --git a/xml/source/snippets/contract/nl/ag_retainrights.xml b/xml/source/snippets/contract/nl/ag_retainrights.xml new file mode 100644 index 0000000..4b9e32e --- /dev/null +++ b/xml/source/snippets/contract/nl/ag_retainrights.xml @@ -0,0 +1,2 @@ + +
  • The Consultant retains all intellectual property rights owns prior to this agreement.
  • diff --git a/xml/source/snippets/contract/nl/ag_thirdparty.xml b/xml/source/snippets/contract/nl/ag_thirdparty.xml new file mode 100644 index 0000000..680e745 --- /dev/null +++ b/xml/source/snippets/contract/nl/ag_thirdparty.xml @@ -0,0 +1,2 @@ + +
  • Should a third party lodge a claim against or any of its employees, freelancers or volunteers, or the public prosecutor initiate an investigation or criminal proceedings against any of these parties, as a result of activities performed by the Consultant under this agreement, then the Consultant will co-operate fully with in defending against this claim, investigation or these proceedings, including by providing any evidence he or she has which may be relevant to this defense.
  • diff --git a/xml/source/snippets/contract/nl/ag_workinghours.xml b/xml/source/snippets/contract/nl/ag_workinghours.xml new file mode 100644 index 0000000..0323bdf --- /dev/null +++ b/xml/source/snippets/contract/nl/ag_workinghours.xml @@ -0,0 +1,2 @@ + +
  • The agreed working hours shall amount to hours per . The Consultant may be expected to perform overtime outside the established working hours whenever this is necessary for the proper performance of the Activites.
  • diff --git a/xml/source/snippets/contract/nl/ag_worktime.xml b/xml/source/snippets/contract/nl/ag_worktime.xml new file mode 100644 index 0000000..08d6e20 --- /dev/null +++ b/xml/source/snippets/contract/nl/ag_worktime.xml @@ -0,0 +1,2 @@ + +
  • The Consultant will perform the Activities from up to and including .
  • diff --git a/xml/source/snippets/contract/nl/parties.xml b/xml/source/snippets/contract/nl/parties.xml new file mode 100644 index 0000000..294de4d --- /dev/null +++ b/xml/source/snippets/contract/nl/parties.xml @@ -0,0 +1,6 @@ + +

    , met adres , , , vertegenwoordigd door (“”);

    + +

    EN

    + +

    , met adres op , , , (de “Consultant”);

    \ No newline at end of file diff --git a/xml/source/snippets/contract/nl/wa_companyhasasked.xml b/xml/source/snippets/contract/nl/wa_companyhasasked.xml new file mode 100644 index 0000000..505f386 --- /dev/null +++ b/xml/source/snippets/contract/nl/wa_companyhasasked.xml @@ -0,0 +1,2 @@ + +
  • has asked the Consultant to assist with this.
  • diff --git a/xml/source/snippets/contract/nl/wa_companywants.xml b/xml/source/snippets/contract/nl/wa_companywants.xml new file mode 100644 index 0000000..0e84328 --- /dev/null +++ b/xml/source/snippets/contract/nl/wa_companywants.xml @@ -0,0 +1,2 @@ + +
  • wants to .
  • diff --git a/xml/source/snippets/contract/nl/wa_contractorcan.xml b/xml/source/snippets/contract/nl/wa_contractorcan.xml new file mode 100644 index 0000000..912cff9 --- /dev/null +++ b/xml/source/snippets/contract/nl/wa_contractorcan.xml @@ -0,0 +1,2 @@ + +
  • The Consultant is willing and able to perform the activities mentioned hereafter.
  • diff --git a/xml/source/snippets/contract/nl/wa_noemploymentintention.xml b/xml/source/snippets/contract/nl/wa_noemploymentintention.xml new file mode 100644 index 0000000..c53066c --- /dev/null +++ b/xml/source/snippets/contract/nl/wa_noemploymentintention.xml @@ -0,0 +1,2 @@ + +
  • and the Consultant have no intention whatsoever to agree upon an employment agreement and this agreement is only drafted to enable the Consultant to perform incidental activities for . and the Consultant explicitly confirm that this agreement does not qualify as an employment agreement. The Consultant is free to perform work for other parties, and in fact does so on a regular basis.
  • \ No newline at end of file diff --git a/xml/source/snippets/localisationstrings.xml b/xml/source/snippets/localisationstrings.xml index a9f68ee..a24a6d6 100644 --- a/xml/source/snippets/localisationstrings.xml +++ b/xml/source/snippets/localisationstrings.xml @@ -63,5 +63,37 @@ namens for + + In duplicaat getekend + Signed in duplicate + + + security consulting agreement + security consulting agreement + + + hij + he + + + ze + she + + + hen + they + + + zijn + his + + + haar + her + + + hun + their + diff --git a/xml/source/snippets/snippetselection.xml b/xml/source/snippets/snippetselection.xml new file mode 100644 index 0000000..216f6aa --- /dev/null +++ b/xml/source/snippets/snippetselection.xml @@ -0,0 +1,30 @@ + + + + + introandscope + projectoverview + + + introandscope + projectoverview + + + + + + parties + + + wa_companywants + wa_companyhasasked + wa_contractorcan + wa_noemploymentintention + + + + parties + projectoverview + + + diff --git a/xml/source/target/report.fo b/xml/source/target/report.fo deleted file mode 100644 index ec016ef..0000000 --- a/xml/source/target/report.fo +++ /dev/null @@ -1,146 +0,0 @@ -Confidential/Chamber of Commerce - 60628081 -PENETRATION TEST REPORTforSitting Duck BV V 0.1AmsterdamJanuary 1st, 2015Document PropertiesClientSitting Duck BVTitlePenetration Test ReportTargetTargetVersion 0.1PentesterFirstName LastNameAuthorYourNameReviewed byFirstName LastNameApproved byMelanie RiebackVersion controlVersionDateAuthorDescription 0.1January 1st, 2015YourNameInitial draftContactFor more information about this Document and its - contents please contact Radically Open Security B.V.NameMelanie RiebackAddressOverdiemerweg 281111 PP DiemenThe NetherlandsPhone+31 6 10 21 32 40Emailinfo@radicallyopensecurity.com - -Table of Contents - - - - -1  Executive Summary  1.1  Introduction  1.2  Scope of work  1.3  Project objectives  1.4  Timeline  1.5  Results In A Nutshell  1.6  Summary of Findings  1.7  Summary of Recommendations   - - 2  Methodology  2.1  Planning  2.2  Risk Classification   - -3  Reconnaissance and Fingerprinting  3.1  Automated Scans   - - -4  Pentest Technical Summary  4.1  Findings  4.2  Non-Findings   - -5  Future Work   -6  Conclusion   - - Appendix 1  Testing team   - - - - - 1   Executive Summary - - 1.1   Introduction - ... - This report contains our findings as well as detailed explanations - of exactly how ROS performed the penetration test. - - - 1.2   Scope of work - The scope of the penetration test was limited to the following - target: - Target - - - 1.3   Project objectives - ... - - - 1.4   Timeline - The Security Audit took place between X and Y, 2015. - - - 1.5   Results In A Nutshell - - - 1.6   Summary of Findings - IDTypeDescriptionThreat level - - - - 1.7   Summary of Recommendations - IDTypeRecommendation - - - - - - 2   Methodology - - 2.1   Planning - Our general approach during this penetration test was as follows: - 1. ReconnaissanceWe attempted to gather as much information as possible about the - target. Reconnaissance can take two forms: active and passive. A - passive attack is always the best starting point as this would normally defeat - intrusion detection systems and other forms of protection, etc., afforded to the - network. This would usually involve trying to discover publicly available - information by utilizing a web browser and visiting newsgroups etc. An active form - would be more intrusive and may show up in audit logs and may take the form of a - social engineering type of attack.2. EnumerationWe used varied operating system fingerprinting tools to determine - what hosts are alive on the network and more importantly what services and operating - systems they are running. Research into these services would be carried out to - tailor the test to the discovered services.3. ScanningThrough the use of vulnerability scanners, all discovered hosts would be tested - for vulnerabilities. The result would be analyzed to determine if there any - vulnerabilities that could be exploited to gain access to a target host on a - network.4. Obtaining AccessThrough the use of published exploits or weaknesses found in - applications, operating system and services access would then be attempted. This may - be done surreptitiously or by more brute force methods. - - - 2.2   Risk Classification - Throughout the document, each vulnerability or risk identified has been labeled and - categorized as: - ExtremeExtreme risk of security controls being compromised with the possibility - of catastrophic financial/reputational losses occurring as a result.HighHigh risk of security controls being compromised with the potential for - significant financial/reputational losses occurring as a result.ElevatedElevated risk of security controls being compromised with the potential - for material financial/reputational losses occurring as a result.ModerateModerate risk of security controls being compromised with the potential - for limited financial/reputational losses occurring as a result.LowLow risk of security controls being compromised with measurable negative - impacts as a result. - Please note that this risk rating system was taken from the Penetration Testing Execution - Standard (PTES). For more information, see: - http://www.pentest-standard.org/index.php/Reporting. - - - - - 3   Reconnaissance and Fingerprinting - Through automated scans we were able to gain the following information about the - software and infrastructure. Detailed scan output can be found in the sections - below. - - - 3.1   Automated Scans - As part of our active reconnaissance we used the following automated scans: - nmap – http://nmap.org - - - - - - 4   Pentest Technical Summary - - 4.1   Findings - - We have identified the following issues: - - - - - 4.2   Non-Findings - In this section we list some of the things that were tried but turned - out to be dead ends. - - - - - - 5   Future Work - - - 6   Conclusion - - - - Appendix 1   Testing team - Melanie RiebackMelanie Rieback is a former Asst. Prof. of Computer Science from the VU, - who is also the co-founder/CEO of Radically Open Security.FirstName LastNameInfo - - - \ No newline at end of file diff --git a/xml/source/target/waiver_....fo b/xml/source/target/waiver_....fo deleted file mode 100644 index d31c967..0000000 --- a/xml/source/target/waiver_....fo +++ /dev/null @@ -1,4 +0,0 @@ -/Chamber of Commerce - 60628081PENETRATION TESTING WAIVER... (“...”), with its registered office at ..., ..., ... - and duly represented by ....WHEREAS:A. ... wants some of its systems to be tested, Radically Open Security B.V. (“ROS”) has offered to perform such testing for and has accepted this offer. The assignment will be performed by ROS' core-team members, external freelancers, and/or volunteers (the “Consultants”).B. Some of the activities performed by ROS and the Consultants during the course of this assignment could be considered illegal, unless ... has given permission for these activities. ROS and the Consultant will only perform such activities if they have received the required permission.C. ... is willing to give such permission to ROS, the Consultants and any other person ROS might employ or engage for the assignment.DECLARES AS FOLLOWS:1. ... is aware that ROS will perform penetration testing services of the following systems of ..., as described below. The services are intended to gain insight in the security of these systems. To do so, ROS will access these systems, attempt to find vulnerabilities and gain further access and elevated privileges by exploiting any vulnerabilities found. ROS will test the following targets (the “Targets”):...2. ... hereby grants ROS and the Consultants on a date to be confirmed by email the broadest permission -possible to perform the assignment, including the permission to:a. enter and use the Targets;b. circumvent, breach, remove and turn off any security measures protecting the Targets;c. copy, intercept, record, amend, delete, render unusable or inaccessible any data stored on, processed by or transferred via the Targets; andd. hinder the access or use of the Targets,but ... only grants the permission for these activities to the extent that (i) such activities are necessary to perform the assignment and (ii) such activities do not disrupt the normal business operations of ....3. The permission under Article 1 extends to all systems on which the Targets run, or which ROS or the Consultant might encounter while performing the assignment, regardless of whether these systems are owned by third parties.4. ... warrants that it has the legal authority to give the permission set out under Articles 1 and 2. It also warrants it has obtained the necessary permissions from any third parties referred to under Article 3.5. Should the public prosecutor initiate an investigation or criminal proceedings against ROS or any of the consultants it engaged or employed as a result of the performance of the assignment for the customer, then ... will co-operate fully with ROS in defending against this investigation or proceedings, including by providing any evidence it has which relates to this investigation or these proceedings.Signedon    June 8, 2015in     ...by    ...for    ... \ No newline at end of file diff --git a/xml/target/contract.fo b/xml/target/contract.fo new file mode 100644 index 0000000..941bfe8 --- /dev/null +++ b/xml/target/contract.fo @@ -0,0 +1,37 @@ +Radically Open Security B.V.Overdiemerweg 281111 PP DiemenThe Netherlandswww.radicallyopensecurity.cominfo@radicallyopensecurity.comChamber of Commerce 60628081VAT number 853989655B01/Radically Open Security B.V. - Chamber of Commerce + 60628081/Radically Open Security B.V. - Chamber of Commerce + 60628081 + + + SECURITY CONSULTING AGREEMENT + + Radically Open Security B.V., located at Overdiemerweg 28, 1111 PP, Diemen, represented by Melanie Rieback (“ROS”); + +AND + +Peter Pan, with his address at Cloud 9, 1234 XX, Treehouse City, Neverland (the “Consultant”); + WHEREAS: + A. The Consultant is willing and able to perform the activities mentioned hereafter.B. ROS and the Consultant have no intention whatsoever to agree upon an employment agreement and this agreement is only drafted to enable the Consultant to perform incidental activities for ROS. ROS and the Consultant explicitly confirm that this agreement does not qualify as an employment agreement. The Consultant is free to perform work for other parties, and in fact does so on a regular basis. + + + AGREE AS FOLLOWS + 1. This contract shall be effective as of August 18, 2016 for the period of 28 days. This contract will end by operation of law on September 15, 2016 without any notice being required. +In case of tacit extension of this contract, the parties agree to do so for the same term and on the same conditions. Either party is entitled to give notice of termination of the contract with immediate effect. Notice of termination should be given by email. (To ROS: info@radicallyopensecurity.com; to the Consultant: peter@pan.tech) The other party will confirm the termination by return. +Premature termination shall not give rise to liability or financial compensation for either party.2. ROS and the Consultant explicitly do not intend to enter into an employment agreement (in Dutch: “arbeidsovereenkomst”) as in Article 7:610 Burgerlijk Wetboek. The Consultant guarantees he shall never claim an employment agreement exists. +3. ROS instructs (in Dutch: "wijst aan"; not "instrueert") the Consultant – and the Consultant agrees to perform the following activities (the “Activities”): Taunting Captain HookFeeding crocodilesFlying to and fro ('to' and 'fro' to be specified at takeoff)4. The Consultant is working at his or her own risk (in Dutch: “voor eigen rekening en risico”). The Consultant is free to perform the Activities at his or her own discretion (in Dutch: “naar eigen inzicht”) and independently. The Consultant will use his own resources and tools to perform the Activities for ROS.5. The agreed working hours shall amount to 30 hours per month. The Consultant may be expected to perform overtime outside the established working hours whenever this is necessary for the proper performance of the Activites.6. ROS will pay the Consultant € 50 per hour excluding VAT. It will do so after ROS has received an invoice from the Consultant. The Consultant will send an invoice within 14 days after the end of each calendar month for the Activities performed during that month. +ROS will then pay the agreed amount within 30 days of receipt of the invoice. ROS will also pay reasonable travel expenses of the Consultant, to the extent that ROS has given prior written approval for such costs and the Consultant provides ROS with an invoice or other documentation for these expenses. ROS will not reimburse any other costs the Consultant incurs in the course of the Activities, unless ROS has given prior written approval for such costs. For the avoidance of doubt, ROS shall pay no wages (in Dutch: "salaris") to the Consultant and therefore, ROS shall not provide payslips to the Consultant, nor pay to the Consultant any money or allowance in the event of a holiday or illness of the Consultant.7. The Consultant transfers to ROS all intellectual property rights created as a result of the Activities. To the extent that it is not possible to transfer these rights, he grants to ROS a perpetual, exclusive transferable, sub-licensable, world-wide license to such rights, and agrees to co-operate with the transfer of these rights to ROS. To the extent that the Consultant has transferred these rights to ROS, ROS grants a perpetual, non-exclusive, non-transferable, not-sub-licensable, world-wide license to such rights to the Consultant, unless ROS considers this impossible, due to obligations ROS might have vis-à-vis others. In that case, ROS will explore whether it is possible to grant to the Consultant a license on the rights with a narrower scope. For the avoidance of doubt, any rights of the Consultant vested in software or services developed prior to the Activities are not affected by this agreement.8. The Consultant retains all intellectual property rights he owns prior to this agreement.9. The Consultant will not disclose confidential information and personal data he receives from ROS, or gains access to in the course of the Activities. The Consultant will only use this information or data for the purposes of carrying out this agreement. The Consultant will take reasonable measures to maintain the confidentiality of this information and data. The Consultant may disclose this information and data on a need-to-know basis, and only to persons associated with ROS as employee, freelancer or volunteer and only if the Consultant knows that they are bound by the same confidentiality obligations.10. The Consultant is responsible: for ensuring that any work performed in the course of + this agreement is lawful (in Dutch: “rechtmatig”) and not illegal (in Dutch: “niet + strafbaar”);for ensuring that by performing the Activities, he does not act contrary to a + non-compete- or a confidentiality obligation he may have. If there is a risk that + the Consultant will act contrary to such an obligation, he will inform ROS + without delay. ROS then has the right to terminate the agreement without + compensation;and for paying any applicable taxes and social security premiums following from the + Activities. Should ROS have to pay any of these, the Consultant will indemnify + ROS.11. Should a third party lodge a claim against ROS or any of its employees, freelancers or volunteers, or the public prosecutor initiate an investigation or criminal proceedings against any of these parties, as a result of activities performed by the Consultant under this agreement, then the Consultant will co-operate fully with ROS in defending against this claim, investigation or these proceedings, including by providing any evidence he or she has which may be relevant to this defense.12. Unless a result of gross negligence or willful misconduct, the liability of either party to the other for any type of damages is limited to the amount of Consultant's total fees under Article 5 of this agreement.13. If any of the provisions of this agreement is annulled or void, the other provisions remain in effect. To the extent possible, the annulled or void provision will be replaced by a similar provision that has the same effect.14. The general terms and conditions of ROS apply to this agreement. ROS rejects any general terms and conditions used by the Consultant.15. Dutch law applies to this agreement. Any dispute between ROS and Consultant will be resolved in the first instance exclusively by the District Court (in Dutch: “rechtbank”) of Amsterdam, the Netherlands. + + + SIGNED IN DUPLICATE ON AUGUST 18, 2016 IN + Treehouse CityDiemen    Peter PanMelanie RiebackRadically Open Security B.V. + + + \ No newline at end of file diff --git a/xml/target/contract.pdf b/xml/target/contract.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1985a673d60c3195efda501d5e2802cdde41347e GIT binary patch literal 62840 zcmb5Uby!@_wk?VT*M{Kk7Nl_}!QI^(cXyY@Erj46f_n(AX&MRcE&&oCxCDprI=R2S z&wlsZcfR}jpQ;))YR*};R`oZ>s$x)=mSqQW@S-zRRoB#_1F5;FT`e5YMMcp$r97-b zUalV0%x~O4mUh;H-J*9dHcG|0=Enps+y zn+wR#B?uG*^6&w<`PsO*nYg%^SkT4A(XCyq{&?p8uL!8AIaR57&|!tLwTrEn9W@WE zPxDV(*51hr=9W{|31(K>+S1j^`i}`uFIdRV=ze+m8NS+D%Y-qL-2&a}?{MSaPdVCY zBFJNP%cpX%0?}|4``*IQ@=I&GNo%B*p>i{S3oDUIZKRElg4bv~d_f{T=kE5BEJMMn zmSnTb|8zWeljq$&C zCn4HHy=~|2VYH0&Qiy&%==!~pBuJGXj``gh$F8TAl@q(=J7(?(_8ot?Z}MNw&Sp6E z$0qSdaRw&F3_0-V%VS9xjkTha((n_uCMQ+)5(dV&umzInwt-98BnISL9&k33j|MOO zok>2?iYy5V3355JJNGcpg_=C(zPs_sFa?L6kVsSA_FwCTWMjcKlvy_~-^V!H6Tq1q z!mD>a#f+PC!o`2;@x~5zr|bwa)r4-pvSq7YTQgRIFLY$#+&{f9#154*3!2pISwH;& z^1DnEeCGv}G8J&K2`H0>4o_^m-C^z)#@te&{Pw0K1U%CB#B#ouksd8mrdG~qHX6o{ zMaq_petlb*bBoje`{QzZM%>CRU@Ai&p_GR7bqFOKGb?}^EzpW>>NFT*P!92KJYhOJ zEB|3K;&-rKoAU2rLi*5TOF3!oHav}qqnt-W1YT-5nb(L1ugUfi@%vu1^a0x7aK0fT zykU-g;cgE67V+{eyfih@%dqAm;`b4?=1djH-bDc3NPahBuW-w6yn-kk;iKj+*5Ea{ zunWRi&d|qRfej-{OSYDD9#9sVvN>)&*P08;KJ>FHUD%9;mSX;Edf~d5p8aYD` zgND2fJwHo0J&iNXF;hP6I&C*~+E-aC91l?g1S8F$j>YU z@$vbJpA`!flSbSLSSX6grV;ml{^Gs|-Fx4Q=&GT{h&hyW+Rn^b$R`^$(&nwQY z%*)PgRPxLP&&|%YR{BXv!{Uw_2b8B&oeYLeRfIAIx$-k+8_QDOB9 zSmwp&{p8Kian%vo!4ohTpb-!ia2#;+3+?{Z6a5p#efPZDqJ&P@lc z_jb;%`7Y~r!9&p&_;y-$vzC|Dwb|^8ErZu9#uvt$?bUlelff>wE<>%WmcFwE4pbJs zUwRgQM@E)J4i}GuW~Tdq(~S$~$O(h!md-Z$zLFyTLbX1^yT2BezZe_^E!`0jl_}*Y zC5)E%4_@A0lI|t7AGCWIADWc9V75xPcDrc$n)oIMMm`|o1mhIQr4510D{ZUx-b~t> zE|}8RW7jV_*$}qt&OJ5ycE)rjF-0GhjRMi^ z?E=lz3++BaZH$8Q`|^d-9#ssL)xv8QF~)8&#LUzzcWrq<8QKGPGtVV=Ow(9XeACC# zyv$=`egpe zKp<#4{vmxri9Sbwj?5ru%E>-M;R9?Ov;=%jBAYCsAec! z`GolYm5lQKgBfuuNJ&Y8Jgu#$|Kz8dCjTPv{X>A|%doUm+uzNanp4Hv3uFcI0{ua> zye+)`g8C}T|B=Y@|1t6(8LOy-A1udqwDzL5u(q{#5u-ir?4_l)w-Te(<5S^Mag(yP zvzHI>u+|Dt)wT?9v=p+Ul@Lcq7xfeNb9Qrv`J?u8c5?9)_7kH8!Ln#;VOaeS%tA@^TaAW_O$e{ck}v_{r@j#R+j%ZAn)8R@YVs;SZt#uXJ__V41U??_dWB=EwFu)E z&9K(&N9IpRGnv0b6yoWU_AQMzlmuj&mTGuuZKG{Dz9;^2Ejq^y*?Y#ufHdArlBdS+y;(F;iGI?~{I@5YdEaSN^++b_} zUaK&zOR9v(u)Xz?+<&aMY<8>eD}yNtWBIz$(68}DkIkh>DgdOLloVjc<`*qiZL2^u~#80qEX z_^_D*2|~WJ&C7<@x{uzTt~OhDG&j3TR0QN*qJ49<60sBx@_IQ)h`iieOHlW%1afrv zLpRc&T#svVu#D&D+pG{!`$D{>lcjx9-Ou`*q+A>~@$^uKN%l)e^ZuxHtEM=L&?M`N zuj1fx+r~!couJvYM`0iF8Lvv8Rc-@z+qdg?q=#!#LkYisOh6m0=mkL*0}#+BN7TsQqbs4mBwuOhZTvB|dOVb^CsQYbHU#BJsm{ZztUfd+`K5Zy0O*z-{`Wx$*wh7i63_ z3MndKSwl^bX?2=DY|w0YJ`r1tF6z{mQ{%1IG3R~Q6}&MNFU$KMOgbgTCN;h&3!l;U zaz;!Le2D+`4QbwoQi6aEnrTHr63S}oGUW=1-dZ7A5(`OJMS9cWR-wcFN*Mm46CK?z zL~o^k+xWDO{M)p2_i5OU4v!9J&2~2Hrzh0919Bgai8{lADj}OSdye|EhZ6&0im1F( zi-ADTbT3((T+0=|s*8taRg+vMOP{ZHy1VZ>e=&}|cXR2}P21RuXvWBEomdHXslb#XDCclc0Ow( zuE(-|8M)t={&7CG|ECQ*?$T#BdXLOm23qgAie#ebOkY9(g(24WpVPm>V$}m)Ky!mX zF}?`k%*C0H#8!|d%5?SIe9xr$-nTjZf~$+g_o}x((nobpY!WfPrd8!n@5km7-oKEhkX=;9Q3|M;`p`hlZk5T?ByMxAns=<~S>R;diN7IcWJ|DkTtNia znbxq_)G<)T^6tm{34Yb_ic#XxgHq^7HmLSl>Ez(IP`;UJ!D->aov3{E4ZNB$2|!C; zT%4Km@Y(oV6poClWVj*`tJJQhg)m0ljZdlZw?YTuRZw1 z%L&nI@R`$rNlTP?W7M+m4<&KN=(LpAb}z9fhF15?qIP{opZ1QmGP1qjrZi1t;ZdfM z?RGb+$-1v&QxJ*#N^5Q-@E)jY8;D^{u4=fbHe_@@fc=;PJoZ)3 zt>rqqd~aPuJp&p3L=Z5KP8+I;tDr5>cdBL>7&ec+Z*710qUN@sv>B!2=UY^aSGT6# za=}E zD{aJyTQ*SuIjO_v@;X_;yOodq%={K}*FK4fh*h&nXGls)RWXiqjX+*QT+-zZQ6+&n z%J3KL(lpNgCt=ta>@UJ&*gVWT8Xe)oN5P_7@m%gt@#@BqEptG9=xwI?-@>raC6U;0BG zmRtX6saRXtgCt%3sEz&*_=Na4xCQvA1$luSf`UROe;868u5SM$LDI?E+UkE~XnWW@ z|BnQ9kOxc+Py_#*Ec^{p%GJf|k3OLOlWP4HLH`Ia;Q#jNALI-ZQwq+&|C*V;nuUY4 zrPm+epA!M#|9B(-ld zb@>xD@84B&b#nF4g6T7BYM2gmv9k7q$v{qNYae?{YfU*xY9JrAD6bU1kN{9dke>_4 zC&SMt1LTnrZMYD}VJ&7l` zw~w+lh76p&%B5$ASu7s{it!dgMl)cZ<4SI+M z-yyp%6dVg8Z;J5{3dA;D+Y^M!81_Z_WU+3ue|r=2FsDbZ=T3B1WWv6)gyA<8l5wsR zfh4-WS;;Aue4=^&RKk>ge?Z5aB$ZgT$x`>5iRGI_l_+WXFs_nLK8vQ|nE^qryCH^n zwJwjU>la%c`@x@@4GIK|J6&*kv4SzUKt1c!?fN-UtN=wUq)JiE6-|QDmgh1X`{_5O zjEI_bVbyQ)IKL_4?qRl}L;Vr!;M@yXEUF;*GQYzxRIXJjQ_$(e6=r2Sk!`)qXe@GuZv@zoE<0VVtpf3fQs7A_!+s$l5Fzm;h= zw3D)EHl)#uzx{z(i%pzqD|1J)lxBj5Kw#(BLRiXBA)33!N6lH@{UbmxCOAa`Z=04` zsxZrIl(8=q_c;w$zwP2OPC=cgZfhHNk8ru{O)Vcj2j=;kQXApfn(PNNjIEtUW~hI& zPm|3_XS$m~x16f@dHwR3vc0pm!k62(q=yEhSX3xmA8_~5mlT2ogQd;|9ta zM(G2fKju1>?~{Mz3n`Ho$TNMB(V!Hc9%K4(9Xm6oUt0EHAG}j>MQuDGtBx(+*cI68 zjF%q|-1&u4t1FP%4M&v#+=*1g^b0c(O%1IU2(#(@&KynhKnhwC{fU?XG ziu9APK1>)^s-}KwddLKc8?l@CtERf43!X6x^$?nk zyTzxSlh=65*ZrzSV!#|sHA*N$wYE~Q1d_OCkZto0JA6|{u{iQM~hDg!T7r0inlWe~@L zxZEvKgf=~hTmb@O**)p;`Z5S(p)Cu}19!B^&9P+H$|kE$LwTJd1V~)l=VwX%&dapP zO|fK9ZGj+KBPc6^`4ky8|4HU~G6w@T@%6jpTF=33+6*%&mQx*> zZXTNjg9`EOr~29wHvf&zv<)Vo%@x$y-Mi{n0Hw{Nu%3FC%T$~sax8{rnM7mABqbAw z&qp-YiU@e0o{(FP>X|t3E`hiUEEYsN^qQtU_MEf%)eO^j)kcLb&qnFOw;}@zsADbi zh3b-F)*B86AJpWVCz8gzlzyQxNa^n%FXf5@R#s$giBi#=&MNrP_wY}5c4%i@6VuV0 zEKaF5*9yYs{nL#{@xoQku9k9fgbt23L2d197>#d>NV4ES)&q&SO z&t(`F53ZAX=xBz(x&@O_6_2W8g33vWHOiFU?hR&oyMZ=&^27f3xlqQ>LEq|r8%#;g zci0tPt(rn5oye+Kd8S3pi;eqeJO%d50CA0s?mc9n9w!_h z38~BmD@NI+7jyJwt$|}$wQ};eByC`ZnrcUqI6uBxSC9*qzFt=OixCKT^ z%32i?82(zLs~9EQW(2o%W2Z*d_B16bBuF(#|< zE>&g~Ek6e}#xhKnF$;svu!QM&9!jMEjz^_q(rWnoWL|^dZ*KBdp5N{W@FbIMf$XTG|`_xUiL}+%Ta(H+emyflpr|PL+Y2I1+9;kcP-a@0;LlbT+{?n zgKzrD98l&$Txs$U7s-8S>EZqHGr=ph?_OPs`#_^b2QMprT+kN>qL8kt)NFYrBa4aW zSJH;Np9;{N^QW4~P8N&x0Vu(&8$uCd)?zVxe3iBWE#&hT(?)AHT~ppst=@~0mrG+U zHc&x`M>EIUh9#|{T+~EWjXqNBF-H%zq0g(hn4`ok{Tbt0JRbGZ=b&cOK`uyyn4G?; z<9EjG`9k(LMW_iIN}4oahQcP;8D^IoIxc8g;5hm_-`1X!nYgLqokal7I;v$$;v2Ax zt02mcX20!D+x5QwWc7B%^gB#Lh1*z!^0rcTBnAiTedA0tmQHf?Wr$cWJl zr)cOeWb$Kgly2knlwU28R^X?kHbB8wNsa)f^4HXaq4vEO4CIs1C_*XuiK^#=trqT( z9$E79C_E|;T5)#EYYk->kmPAhcJgDQGvJYBmz$93$Pt?KOB&OIPTV@4-}Mjwa9*3I zoo)Fmi+;6!L4(;2`DS#WbKB7n_ipp#Hqn+XbcWNjrP6!$?&p_p}sp%RzP zUlOqyn9u%>(|gqje{tK>P3gP0Ba{6d#u7bwpsOE4++uD1%i=lb6Tqk%NU4^33$^qF z=t*`$f4)14BXfIunE@z25|C9eY&^L0`rDyp7tV=K@i9NJ{%2L<{-8E+)4f zV);H#P5RcbrE_oiOSDMboiw<;GpQ|(3z4(=2c8d^`$fnOJq=qj(A#zrV2Kd&u5laH ze`($G`;==UUgI`1*hEZ@BdRX5Z*;`cYy3oW5tm=k^*$Lf&&8iII~XDR;SO7|q0;6~?B3Y~9j1Oz zz(Qm5oC1#WyB8MrgDskwCdFj*pQLE+EVu$IN9(7s-Yvg)XAJ9DL{0t*_)R9>O`q9V zI`>0=KLCw}(0DLIlZl_wNYghRikqus!g#Zv$coi?XKGRh3wSO`q_~#av$8XT1oI;V zH&bUHS;1-8cZRl!FQY>gyJU$WN}v8SNlK|a<_jG*DSfNSrI(D{$Jyn0lCMAmWj#WN z%s~07%c80TiK6B~!WbWimv0qMvBa1G+9rKCjG9-(m0gvt z1l48^)5@+wY3tJQ7Xq5`V!wDALz^QYhMZ^+Qjr0FV>XtWt9SBF=5z%^%^zTJI24(G z8wRt&V14Kk$;8eI-*x8DTR4y#Er(#uRYb7xuUAR=Td(Q}2p5FWtSsCra|fDdAcp0H zs>EH9LP?GTQO&9d3B)2_hCcNFMU4*1+-tiU7SMWQ8^Pu7$E5eUC1@Moc1MpR*pB(% zOkxHnT=5psF&(?767)Ih(uo&@i-~|)XDWB#X&8WO8R{+_Ze)9QvLb{_wCsjCl5^%C z(>4}eLgWXqWb$XpTp7s^P>Bj+Pk9OZG=|gRhO<$WM@*j(B}+EU7sJv2PGKEY1d@#IYF3 z{gEriXjBd~iAqkA;QGd1{&2&WpkJ5V1ia)_k^~~fJWv?{@L(M@@n03#(EE#@bSr2IKc0+mbV;Z+E)kLqTXU5=UqJXmIBciX5V z4Ne!+MF=|`fGo}LMlG&A!&^9a0f@BKR+@IxMDUb#Ph ziZAnj83<4!$AD;My9xNA)CX>^mPd%-PjglS#}UZ$(G*Bm(l+1y|b}S!j>a z)fA`sSEX{zGBvm#S5`U4rRi4_lQCj@DRX8~w z*JP;bOEGIxTjK{*S`c&K8v@agc5M;&<3Ml9sY!MG6u81GlX!!e zKcM2An~9%F1mvv~(^bwQXX5oBOqq8!Rh6#wp5i*MwSmm_A!Fg|;Fm23+hyJAZe5=l zumgY|*lI9nf(775wi{eio0&t3Ql4}>4SFJMX80~>;Ba?m z6tIG9B3THmh$ALq^m(17eZcEg0Z z^InUi_L4uNx#qudccuathT=*#4q|rWLvq}z5nnF)NZw{Q#Gu7HKG2YN_509}SE z4>ac)Zk(U_fdkT0d!_>0%lZ7Nc2;g31AFFW|c z;~eKDyhSwZD*K_$VgPIo@3$KBeBT$}7pp_ww&^~QiQ1qu)Bqw+;@#{vVWsZxx~le- z*N|9P-)i5kB4F`aMo`9hm1t|KEt}VN)W0wSo8wy_}gL9@QXc`l%E6&BLod`WjCj{phcG!BGN&S zv%POPVAjaX4A_c(Hd53$6Y_)Ga_D7r(&hs7?dDYd%H6SPMnhe^*YR!A6ixXRa~9I_ zt)D7m>){Nf2kzfYkD%$w#j=1@Yu!U;6xQrnobk;l? zoQS7pDpSw+9`vkP3C-cQ0B+6US&Ob`MjiceZnfcAdi$`2Q3X3Gs>-jzWMnGMns18v|%HB*hYz}poV zx9v-BAs=fPWDLr}g^}(2!F;}tNM#*zvCik|Pw!wt{$Fe&c#kP^QLBuhpAPI&w zI1XkJAX?Lqo)%>B@$jo!C7K$%9?4=BJ4NmpNVaXTEhFb_HqkA~otw<<5rWzNloITydc=!( z_@>}y(j7w!h=3C0YM>bkKFtJ^L1nBW3|)zMg{-2T85w6g zId0ydi1yY&`mT69g6O!W}iWIIxx9Y~J`Bt<^#{+$EdbXQ)X|hZfPec2Z&XRy90?^S2vc$8fe;^1pV9zg| zn%6s6(FU_e)%9p*9|XQf!m8A}iH?73$RJ() zCc+MwvwSW#MSTpD;L>EuSUyYbz~buqxzf9;%#tY`y@P$QP>C?Q3Cz8+e$^jf7;G)v zp_-m9%nceRp3~W{>eQ2C93z?YNO93N8Pco(8`v-T5tr)Hm2rT^N#^YPn@ND_T(-)s zSb7Vd>NgDfj9W(n!o_tQC>p+;e6~|V>=3>y^0`3rnm74RvgM9r1J*ROppEtg_C6gF zcO|+SAxoDPHytq)Aa>K>+P;9W&Yb5I+$Ck|GOW&*RXzF|+At`RQ`>^JIO~avk-wYR zKJV&PH56+^3R);u!XZ<2hMv|B>HQY42`pvyqU6t8h&2m2&zx4^?dy^(4?<<)-4+HU!lBmfQAGu%dX*}@kC=bfW8ba zlaDJ~kOHrUNiF3kGyK*2J4JI%CF^np@Bmy)*wwfYZjr1WWMHf{bWU>UcJzF;ot$A> zFy`Ev6xcikM80y#M)`7S`1Z{&3)o|zulXs3Y}Kr~m^aG9>;><;ohbKWjD{SUIByX` z#C7TLb#irPT!OjUTXL7rVi~mb;;u62{_PusS}iFm$I{#7_lEn#AeAUQ{SIf4Oc7!=-p-)a_q=7=t7zW>M{+Y$S< zM>+*>D=d|N`W?V=CG2~qb}DD8Io?#4tmyz$M%g>0;~d2n7U1`-g#i1wMP;@V=oey* z2n6D_1&z!`#zYwoukXx&wJ9u!OaH8}t>$?gRi6T5_+~T{$BrA6J)KKPk(m^9yWXK6 zThgl=VTXs{dl-v+C*nrTYVPr#ItL707ydxAmgL;qP133jnUj>`M=Q>~pIh2>9-79;|A0>@{4k4$=C=YQ;DW8Mvg8pi zqd&>R60m)z$wsUol}_9Yg<)|c zxvO}r>R6L~VucS{QsfJ2+Jkl0$|nL9QL5*tN)j{Sw&a~tKowdDU7NH-i=oVsdjl+Em`CN$kz??0 zI73-!H|WNr2@1H%>YJdE2A(&Bz_P2Etws3bJy{wABgf9+S>)4eBa?I5B`(1#EQA;Q zi`$Rq4^K}|eAgGpa@f7Ne%fTPPrkt1&$xh3q@q<=4hJuk8$k?GSwu_2My=cEy@cTv z{1qTLRrNkmnPCUTcrLL9>qA_*c!gN$<~MVF8TC@+ECwp{RamshEkP99@?RY!HJou- z8k#FzrM`$OOB1DjK!TWfOueS3XjmzEAa7`dv34*?TTLvnAXfYhyNANMW zd|M3UE8bQ(f?dU0GvG+Wy+?SIT(EwBknWB|ZjI*|HHD)7SNv-;sD|1xE&;kA1P@yu zdKW0&rcgl)4kiNL^@U3ReBGy!(Qr!3@r5ozMH2Qgp*41O?w9CG2fWmbhD}-y3$(-6 z5LQA^q0CxY*2|jKxx-dVvK3&5heD8fHYo0%n^O>jaOx6!ioyA#XE`;eAO+$Q9>2Mw zKiV9dAdd%XeO0D_;6hB#XaF`g7dfU` zl5+)p`p7@hpm9{;`3Bn^Z;cf}dAmpxpWjJsX^|X@D}==Hxj4;9eyo|*hn@V4CxGN3 zCAV!1%OMDj2hNfNB@3*m(mMO8scD%DhiiuQ^Gz07XL}`~IEZEp=`qo0a0Ah13y{B? zpP$VI$K^oskSjgo;!@SFmW4(KCt;b5RRuZY&)%nxstw8q9P-I$5^cZx24^fv`Ch9+;YCX+q<_N3BwD8o<* zvS@@N2+Vdt-O!JPq;+8f-!bjVzJkw+T=EP{^ng|BL*+MqF&{Meby3s$Cp~h`%M`5E9mdkDR)q9m^_LnyWErY`u%Q7vy`mL!a}n=p zwv(P=rg$*4KfMM?b?NLW#sO@9MEjLYq@xHLJUlvWWNz;7q1$CFD#o^9nLuO^RI`^C z_UhJ@V1e-Kh&L|fM-V zo{VFh!OnD{y28*?sSj=itAZ7CL2!yOw|76D*6%rrO<_xcEsX|n-7nH?f@jf#!rGY1 zKk=fJ2FhbA@%X273D)guuJk&bsT0J@Wg~PU`TQm5>nffsoKOOU-;sjrCMoH^Rk5Vx z&9ow)ri%NFWD7>LOO*z7%FIh< z1P3_CEwtm6HTn4_^+GwqN4wG zm*dZ6`u~fIw#O!`$vbU;;M4ju9PsD^5-LL5D*xLqBs*%HHwB-T;Un^~e4d|aK1wSx z9O!d25At;O6@fmhTpH@s2?(L~a8w(9(eg2?BJLq+PvzKY+*e+}UyKKv39fe*N zl-`RwIGWY_bUZtH_^=kKsVeVUI>(al61#8+1hUW^}L(aRU6PA zPW&v~{hWlkn>^7?bTj2#OZ|1|N?(YdsL5(iE z&B}I)t*mDYtH(LsM6ZUk_~h>-^CJKqXUewen*L=x5})h4zIIL3^`w04I-4P6(Ci?& z%ek5Et3MRcFgLU*X7(hRGaO?bdC8yRnJpok$}o!Ie5oH<@UT^1IREpaH?w!Iw_Sj) zTRq_DxQFpQ`Bgc)IltJG@=zOTS^CN4Jc6CR6+zNnTtIu(^#?zU^!;@6vdv#&XLc0P#Ji zcwyc<$=tV_&!XLninos%6Rsnz&wh8MO;@Es)4Q$Dc_AbHRa&P28Bmi_`X|S94YghG z!DN;)G`tE^l@zc_b|hQv0)g%`@v_xaGq9%v7 z@&Wk}GQY!+bU`IOL*^O729+|~;@uK<6%p=xAA>0qrI>u&JoQ!FE@d$t*Zd4=5)(V6 zKt@CAR1{S~-niH-!zx}{ZcHYzx^jetSkq2JYpGCb98`=l&NiFDS4|v^q+7X?^HQ2O ze{LRvn1vplH;Z#02^PH3vWH`+k^=`jW~|h|=8xn)h`0@s;miGc;iAKHxITTh>J)yZ zKth+tLD;%Kjwy$N)UKYSl~kj>c(K255xbCV0LpbvWILV%eDv?rPI#dW{NRpP-~j2#xIpcIA7y0>dP4>uBvj95erklthLY8OL*OE;)6kYv6Q3 zsFgQl{nJ^6-=yo+v*Q(XRH8YyIs^NnrbN}C%V|M!@JG)H$(=5Za3|?)QR>hF!U)bv zNlsFVn+h+kHbc-T4g)D6rKSst?bksj(mR|WyRu?KTQ&_Wf@xDSoTogO0z1X~bg@Z7 zsZxGQ!V4xdDIKM}2_jPcSYP;DcPF+^srO5P!JqP}Xv=m!%tS6d6!Go$Cy<(X-BG^l;&AHga^CdThi)-rDd z@I1EKJ-g!Tk3zus4Om&(lQ9*YdjI=(O`m3kxVlj!W^+ves(9l*8USIB5| zL*aGq%axC_IwjiZbQwuVq~1h9L>HJjUgb7ELvqtM!|p)TX-ICPh2LOjF?p8F`25y# zThlfSO(PlYP3q^QW*3owklfX3pE2Y6o_F_gUA+^Qn9lS+*^+lgGV-L;#twqYfA^yr zMW5msNRd;x2oLi5GL+Nv%`fa$d4?SB`nx6uULkk5xXadaO-VmHn%oos?Q>gnMNmkQ zDa{6dEAM~|FG4<8ABrS4xD_eo90qI4?h{ufg;rj=dxx~DnzD+0Z#VKZF)Nu?um3u0 z^t35np3R@oIOm~8+{CeSIZLmxV*C9-7xM|VQSo;aQ-nVQG?v2iX|3Mgn+3Szp~XHT zPU~bV5cUb&%eqr{}sijBiY3&qYR*5e=ka}mz#5?7uiilS2tPedXQ4{PEK6a`6 zqIjlmxrt^#yTFSz=1kS*#&d$1Cd$(xPQ%piIQk>reTYW8RgV0YT49DstGGwg_F&oE zk6f5YD|m0RD^reHqg`1y`b`nKmcZ@c(>VSLg2)hD8c*}`LqJ=p6M;Jp9YI;%k$8g& z^&46EW&aVX58293bVO~AO{+-ag!wZ2*(sPbZ4t~T#9lE4xE^0=qP{H!;ba86H20^y z;bVF{u=`E)qS>v8^Awfha_m+z_60U4xiGQiI7ba8T@y33FJDMC-1q@LIRD3sW~JYcZ$(^( zg6`2a^vqQCo>f{y&_rE-&p>(|ddv^2lgwy>0wHx@PQMa$PFN#3xzIuFq?I`yBt7EQ zv-BiCAE>h)Y^qE0Q-OtRp^c@fMbXcv+(<&z(4Q3d9mA!Q79A}~`bIs|vh?-<8llP4 zN}SIZllP5jd6ZN7zgEF}vb(Q?c@#5;-KgY3d z5XhVOI$N%MC>1)+(uE(d*(`?17Lnh8_gZmj_nXJ(*F$YFkZ2#TT#?|BvS~l`C>O42 zR`#Hckdc+rlxvmnN9;>XoNJn;tw2n>oS>8~V(k@*g}pq>#uQdxD+~(J0HNL63(q9# zKEY^QA8LQUi@;%}^*7^EBo!ifF?ar@u_TY(*q){<_`x`hm&uPh@6%idca_Z6?5)!!%sm3y?LY;-4L zqSttu0=b^xbI31#k|Ma&N!NVt_{`^8EOA&Vp~NBa2B-FD*y7tN8uS0d-8%+Z()HWE zT{gOG+qP}nwv8^^w(Tz4>auOy>T=boex4V5pYukXeIxFddsoCl&X|=sSFW6ERpuD~ z-{2j>0ez0H@KyzbtdZpr_>^d|7`l@@SKC^W$l5z1y%Yo8AG-d%)&-Z9aUF1rCV;(G z*+RlFYt?oI?u`QoH03L|rIf>cfCpx?7$8e zU3{J_r1%PTbP)c5ix}M`1%431DHmj~oXtUI%`Hi9mG^sto@E${tAGvS~I9S;3^M07J@&(*Vr0%$Mdm<(VCPoEPM>Te^WFsi6 zQ)wlVqhIMA1qHPgi94m*S}t#S!2e_q>1+0-d!HC<$7=GR0(Ct=6fKm%?e z8t?svr>-ZjbC;)&fYX@I6%AKQlxsjguxr_@^QMVd^bi!vMCwgRYXt@~i{Y!r(bI`- zH!|SNagB#fuzG+AUpky{8`Iy?OKN{-!|<(_jTwZ2<>vYQzV)v+JGkSyuo{Fp#-l|h7@peRxozG0~i0se_3klV62r2wIe%))!u>w zYqaV$e9v*Y)$jZ}#yrp#L6mh%*0nE0l$oCKtL~z_Y~~8r{HdNJR&c7Fzf1G`+YQ(g zHAC=Lg*G?ziu22Nm-DWJjvzpym&^3)K%PUyc-v6xzWvTUuLOTA!|w8|Ct) z7@w*=N>(#Q2z-)Pia|Y7?y36EFZ=0I_q#Co14-aw_uKo!UbQ7IBU}RAN9#-v&(+5# z!~XfFujpsRC%IRK!$ZXjR=d8xH*Qx7D;HfpSSBA~o=lDa7GXEJ1JB5i!a2egWP$yD$)_cLIfaEc@*&=(MGPqTt)g$HRK1ajEIL!mBY+~$|swoo>@i(W(N8m2) zm7}zixdNw)zL$6^)8CVEC+h)D)8Nd@=J&Uci{FL`r>pipxv`17FjccO4vB4GI_vJX zD<7stAx;J7DKU7bJFV%)yyt_SNLeJZFhvK{T6o?1 zW0+2pX+I{A>H@d7i^VO>t(w87+2+kaTbkOo@S8$lEO?q3!6;re+_<@FbX;VtBpA{z zI7BzpY(kC#*aO}{ca`KEgi4UZCy9aGaOo2ok>+F5pZEsm`tH2&U-1hXJQLvPclFa> zg_nUbr?Dj2rJISU#cg{Q%fLR?m+C_0ZTK1rcnK%&iI_>XL7e)qYw>UVLWUH}xNH`D z-V`Xn-0!HL#ZNP}-uJqlql+%Da)=$89{&NC5841< zm*UY=P4v{Mom#V8>G-f;w$S*Z^x9lNcaI41K2g>-cRgt%T|Y{)m$kra7;!dFEQW_q z^)-wNi_?r6&Zwwzy6Imaa<`V(e<8<$Woz$craH!-0I(ws06Dz;l**2ohN+Dv9s$^I zxNfx<4d&dMx79eJE+9nTL^e*kft{w>Tlc3S%4Rh>SjR)L?VuK7=JRmbtEqoG>zofEY2Bfm#J!YfQWS15zi5zc&_P!A~q zAy`c~Gv0V~bAQLnLTwe%qS5`CSILqZ2Nq3ew4v28O`WDfx`QSZ``v_laiFbJ)8AY# z$zYqaY?pC@QG4lvS4He!p9!{GQ>Le(^0dUouIBtK9dEWj)SV5)X!z)$B=CxJ51sfW z$zA4FyI5=K^kgy;9BQojh=V)zW6ctgIZKLtz>GbO|3pxTfkYH-n#@*75=xLLlj$gi zDzfeZzuEj{xO*%DXI$$sc?s5Y{m7#RsZ_|c=h1w94 z;|kD;;wE?XBO-?+cWr|W)Iscdc;cxErGTdESgIB1AZwGLnNKzKHWj-9 zr;y-pYQ;p+E9UrSvJ4)c#D(vn)pDzXnlrs)6!SF`baOh?zEPo`VaT)jcwOIBw*94w zu&MbeG=b7ZU_#C3echm{iVp_&pofsht%|@{3^2 zyW%OVVIPyKE60UZIBYq+Rxha|cj)+s79JJ?B-(*wOP|Cv<7rD~IT=!^jCSlSB<}D+Hln z_*gxe%LqK{AUy=Ng@+66x}dz1K-0d39FkuNyU|BBLwtPZLLWE5{y5>=i7RRxb)H*z z2!d^iXS)L>twLo}$Zv+rHKDFMw&THtnR=?d7=3tRmE|ddccrPsZZZVwfm4LQ0LDjq z1+>T|ck8IA)X01s&c4bYIU7yRy~%&sTPra4jfD(GmA& zJFSYMyw>hJpiXPICG!yd6#b4B+l5T$EQw2_&<+6Lv-y43+(s1YS}fo4aSGcO9_c(L zh9KS-KEcH{#t9pGvR#aSyqX~t(#ldW;ANT}cDPTS@P!Zv(0ER@6V}ME+YV&N?}zXV zk5M3eW;m@25eMvF+*qKIE96r|9ys^KUf#NldLoH4WxFic=4Tbp7nEyT?Tg%DIZ;xI zj*eMInW${YnLHZg2z{d^2wDWoD(y{t1MxJgr(85y*J zm>q$6Y zJCjM?h#$~jOM1vzaSeo((2c@Vch+OOjK=0{p@0|QOTtoYZ}bThpa6HBFt3pKh#=TB zk&cnizjZ(4e)i*u;So|asx8MXFXf5ompzm<*O47``@Wj0C5}1`V59V;MZ(RX>tix? z>#DWv)^QmjXqaDd{ZOI#Yq_^%To_-eRn^zDq3kVx|2i*-5d!pJ*;R|a+tBZ}UdEo7 zKi%1{L~lIW&|56;$p9?8PTPD7q3%=eSu`5Lk3CgAJsK(y>)==xgd~x)P^`u{`=utx zBOd;wwW3rNlicG>YKq#2B@1ay1DwdLtN(gx12B{6F+$*ax70ZzB1kn}CE_A-H~C~s zz&*zvL~@Dd8l*wFH(I5pPfZn{XlxNsSY143URzhuNmb~**bN9I(9Nkjla@|Ly~oUO zX>{?t!<&?(SW|fY8;Gskga`)bPahm6C`T$lyM@m5;2Cw$*%rS-G#KHj=S=sUf%@cg z6J-MI;k7fvUB;sI3UIsc>ypOMwv^K9-{OaI*eqH@Cj<+TR;GR;dH7zOMA5O%oRS$w z>5RVzTDy{avzE*kdHvdSlhq($ zvB>f5!1*=X0aIVMP0PJ=nuP|9dT~OY6;{x_p?dz2oQW%Eg4T5mzIkFuy48+? zp(Bh64A(op%k-#A!@tfXwQ`HAa5g4zk6Y7Va2^mLMO-BtFDN#!#12w1ouz(R#>5-W zn`=P%wSk}k_~?-T3E5;qNylzU+X%F8nT_Wyvcg@@1v2=TzC%TO;0YhHzN-sl!ip}5 z2TkX_v#O^v?!`-;r(gHoMbtZa(nrSqi=z5_m?7EjA#+>~xvTf+_rZjP_zlqGig2wd z6gwYffTI-RB{-!$f%<8m&HMe6?jfA`-Hb<~1|OH!58=w;?zx=`e+A=Qj2=OqMYa4I zlIxsAjLeV_3CuZ=H~Em+=kiNpe5|0p>!1o89?sg}y=H)Q1B(~=qz8kQKWNm7u=WG>TL68%-wP3^MU zPdfpAR}ww)#d1r^VNK}CxQueKX7}#f)aOP5rJ-iS?B0;_0DKuDVA%lH-)@e^PDikt zxjm1FRO*NKjMgI=Fyg_KlktS#7_DI8u%t>_&LLb=oo-~w#ts2# z_?2{iLzPu#p2ZQBGD()%AupN=F7-p-f=tO_xd{BhA+u$&bEEhB3b50=hxhz=K9{uf zE(IIp1=G7uNV4~qHbL&#UQq*i555+orn5DuP`&K>f=Q}wNBGS>zy9BTez$d zo?+L7TPm1YM{W;0Vyu@=mo_+wD{%{RHg~g>-lOa}7I^BxO!CMPt59#!Pmnf;zaVf< zh&CLy>c*m$k;EXxpE1813(xxC0*T9^cBbrfYUbijEJp7%kgpCOMtb9tJ1i&w%u>FLJ^cDB9E!kNq#^gP^|MKd=uhY=1TII~x9h zJ^bnXXKjDR@@M(aYW^($y&ZlVQ!8UUYI=r0O^Qy&)+%^(e_l$PJ35-%nEp+bV5a-4 z?a%nX5Y@&Ecntr>UWf}Re)0Vn{^AGz!8iPadhu6}fA5mNxfb+aybK2Rzc%#`(8br= z`UgMb|Hi%^^nkF#T5>=1^pcw5<|g$`>&*oV@C0S-Ve;h%8sPT@hCt}}77HvUK?3ai zZ2$=VTR4Z=ToakFztJkgfmoe(_~If*Sj@v24#n@fIvu6m!re-fv4itIW%cT;Q4&jI zLS^gLc@B6P&$F(FrFy4c~3K<1ZVK2lF5S3QpdX+dds*_dftqToyT1JYBOp10#UIUmpXflpg_N;mH-Ct+o4 z?H~8N1WLvrA5H3JcJD>ko^n?~9t-Es2c*As58cUR_`Oco-}Zs~Q~~KepyYD6d2a>) zKQfFcj_M+s*2USCz4sfoBktXZ^pzY+AkTWbQOS4=VTQ%#3+{zIDH?t< zE1<=E+gjcje%*@`$_yQ$XSjZ1J43?_c^*hSn-3E)5I;$Ja#z!K|ClcW=ckKGoUKq( zyfR5(KDeXMD2`iJ7$rR+;0-iK>QjXyK_ZwxCp^Ah9=#t86o9&jbNj(n*Jsf`h@m~L zvz~<&w?|h%So9Xy8O>N^6q?AzTukPP0E8GrVK_QZI7m*G6Y&#Tl9F;XJIOC>AiOSK zZ;beOzYvve=iLnGB&!%1ZO??#xhm<`-gjebkb!Rjp!%$$6P<(T8Kg;ai{pccqst$0 zVwu}Fwa9LHy#o>g>gZbHQqur~`1dnnM&+Qm=WCL>z9>K7I(i_zh)8g_J0GNv<$NG@ z3=UjNmw!tWs}SX5;jDdE56b4Fi1Dzu)y3WX^g@>=5Fx*tp_d35LWt?PMD+UZwk?D! z*5&Fp&Ifs#bIw@fzr&v>uE2u5p+=cXFb(MdFdNFkTX6VDe9cJu1ol+uhWuljK>*-!IoJord*kZf=%#47)*4Ddl;-rru=3$}!? z%)Yoj5?qkkwEQc4XvAT1cnZPWfFz61{FV(g!)>7nfwadgnL^SN<*b)g(VmDfZcgtd z$D7rfa z_ZUE?FplSH4aF00NxvZTJFfYhSfAzmLPdHpGqY;DeSTeWV-aP<-Na`wIH(Z4b5}ey#CnvJ=)@b>1fKJ^jCaz== z+B033jeQud4CW_FLlj04bGe@J3WyUidZe@|_3b^qFzn3-s=mjV^cXe3YCu{L<>u*R zEbKUVzWM2id+Y^xVyk4l6Hc5koxm7wPzH=j@;`QDA*ZL?V=z+RLilLHRcml%3M)il zQ18IDSO!oRa6dF9EafzYs$|>~kg5^;9gWplZ!9$Fk?HMplWROucTIaeVs~-IEiY^! zggZMYgSE-JB;WZD%X89#aOwu$l>zh(;~ORV7e2^^m1EFQ+-dd70lTS`g61>G`WIb| z$6hiMpxpB)t}-`!r--*RNhdOqCp{o+VdoEf1i=ktwJ0OGhGjk`li>;R766C@B!)l3 zd##^~Z@d5)QYYQ*%t9VV(_t7hiI8UzPl~88r0X?=&yYyKptT6Ie~%JkMwo+E3ta@l zxUn3lh$D$oGA~5yNoiug^7f3jx)=^HbmL_KVzO94nl$qZWoM#k0`X!!^kW z?t=SnJnlqRn5}mgzUm2sbU6!UEavAG!nuD`j57>YQv=tJ!ZBJ=O;E*CyPVTITzFU$ zS#C!n&$6RcpC_xO^Zp$*8ZGK&e`+t~#=h6Hy#wlxw(+08wj-F~I&TIDLp(@dDJx{V zy59C@N@xjD9+_&uPF)woik|uvkD?~xQ>Xt-8%0X3>eHn z0jj4P@?0bO@%r#^&nLy@FK?n4*6=$Yv^p+t8*I~3&D@77Y$`S_TUlaTFGl`)6dD^V|99{b3bq)6|YWil4 zm(}?`=1o?w+PM^yl~Ay^IAqq;tCy_ElLi2;xZN5=`oSo)MZ^W^UdORHt9fk2Msl{0 z07j-L1@y8-Jg9OA$n|#94WcC>M*gpZF*2A8Wbuc(FuAk5NI~Q;GGcpn-4Qm#$YOHl zT;m8$|GA=>f>v(9&4u)J&OrxY@r!p364^klF}^u7R1?OO@8Z6fhi z=XcR~Geou>N0tisvsEuOi|2u0P7~3WdY(_YSP#QJ<2lR=b7t#)-OsA-rgB=8aFAab zO;5X%qD`*^B7jc@Q8l>E`MmtWVvUrjk-!TUkPU5wf(Dj_t$gXm+~2~5K{_i+w_G3J zuQ3*?GZIG%jg)PXui&kbDV}E;$~#rqb1WD5*e?<>llgD-Y3H>VTY%Cp-s)!rQp=!NE?**(Nrd2t_M@cA-J{=9Psk9U5>Ar${ujOaSTZ zEZdVH$8dxOv=o*R{c^l&%6Z-$$t#M>d@HPPdfz@*lg-cfVq5d@pj)ALch>#vGs}2q z-*I0)`BatD} zu7TRoElQ|gZ38pQrW$9^64hl(e;rWkyr*?Doy;N?{)?M&+tu)czP-1u1ZEecS__n8YLtBI#Zmw)z7`ifwF{lXfIRE2 z6n>%ueM7Y&b79G+GeZ~@Ha0=K*k0-y(5+68>u$4k1^;aWta2@ZgiM;Nj;8(c*ndL; zK9_PSE2DxM_l?yhSTM65+=Y%lOrElUMZ(tQ$3gd%J{Po`d+x?aX@op$5oqLwL43SO zB}T3Jw@xn2^emDWflilR16MX}n-PmO3|ua7N0S)Q%|%yU7AEE)#Ew(2ggprlx5{1C z?$@FvQ6U|q7Ckl%f6gr=j?3Ro%IBvLO}~FP+50FA6u&{#BzbfMLbDFf@%{8brbBE* zDTq&x1SXk_#qVWCpooPRizA^@SJ1{|R_A{HCgto`696AbF6BJZmeDuAUgf+>3eQ80 z&_Hp_+|ca(U@|qiwjuRHY|?NbV3wNN9qjO zUUkY{;{&r?Rl&S(t)@}O_d=M|wa5v5j0_mH^hI_Uhd2z4au9B}8pPQz1dBSG#?TFO zBOEvu0ZX3}Iwse{dH|J)8U#ph#3(a?n{!!wTM}^l%vgo_TlDKy2`e-jP^JP<#x&c2 z1GbHsNZlpR^6m5o%hJHZ5q18==pL$jgfRS**-^G(D`}34+F^^SWy}C%kB4%JG(=UnJNMfI{2$Xj%ILZL^PM^1G3Z> zhPGFJrC5?=ra@3HUqGnB>fD`i%g%x-<9 zSdC3ngY%w^@$rL3H*x`TpHKdv=piAVS1ezaFGj$WE~j5f!Y8&YY~WK2g^krK=1Z@8 zxdh7`1QGxkKq$WC1A=!>UeuH_kkSJLuiS#kKL;{*UWY~MEQRP0({?_)a8iT1H*4N_ z>=e_}5h9l*AJ1_0?30Vdw~RxFH(=^9i~agQUM&Qf-=AnEDx+3z9qA=%sxk5w@o*F{5h1>6vGQLL@?B|mXmU#oj~LM}Up zS_hCQL~#iMN{$S^Cf!NvalCR88)Vx?&IE=`2zT0*bDMRp6WyFzu-am1A~7-iO1(#r zc}`Wc4XU&>prRvx4=hM&5QE~~x~n8AHyAncoy&`FKR#{9@yJohy@~9rb)3TyP$j(> zx!X_6h>;$C@T>-;`RTPLUn7`c7ALFv6>Xdq+#1kk%NpQW+AP;;IgG;yR!P`u8}cph zuzlHmrD1L*a{JFZaM}S-OEB2Az_hgK^V*TsW`Em>YlVCkHEoJzE>n@DUWUuNskc+r zsdX=o=^bk^Nrbz1`RjLhy=abgT`ofBeSb4`(f3WnDrNG^(kb{U3_T4G(E$F)8^E1J zX4-x2!j4>4B#`!i*ASm>z6N z-h8QZyWEL7S^>U@xqRBy*g6J*?0L^G0^k zmI?Fwy{Ul7Xt;q$pn`0_hv<+pJm^%O>$k%7p~LKmI=rtkUUj1d(;VBd_%Ug`3c~kx z;NkSQP+KzmRt3?W-=;U)U%zb(WVO;vC?|zJB-wR$XfCoSD<>Ua?0ECr-*jr94c(}! z>tG2jZSMkcW2B@;$8|n54;lp~grWK~7Wb}nQYhs5uQQ?k z7H~N~V9AYGA(%tKIkBOY=Ef5*u088=Vwv3^#SkN-V^;Dg>g&e!OJv8khI__-a8O)) zztVYDY@c-rB$;+~V7YOhWblx9TI#;I@V?h0te@k4+&rrG&sy9wjs2cak5`J3MDy|G)+p9M8ESkK@!1t~_FvDhFkJHw)R zSz#C3T85?3z@5G~vC)OnRw2)?tO8V&A&5jXvjM%+DoAQrK&~B0ti2nG zF6JmyuP4%OL)>pWt}L=4W=CFbLtZ~qKX1;4o>c)V&iM+S9EZsYP^O_!_%1e7=+evF zS<8fn9lrIv&qR8U&%ZuhbdzJa1xZn;KFn-mGeApJw>>C)|HWLC)_FEDf4!z!mNa%r z0y>?6#$-#eSxSbS^i{qf;f|qZ8$W|o5EWUkJy~%vA!n`M5H*8UR5lYu=N(J zzEGNpi;fKn#;3)Yo8~XD92Ry55O%&O79bLjA#PqM&!~sKnqt^f0CJAE4f+Ic zYo^2xbS$tHHKFs_&pRIZo0*-h*St1jT{2UzUQJ82Q(G}dmy;!(gMIxhp-}B?6V$n|dd0N9 z8n^n=v$RwHSnOfCDDL;~@bI?0Xd#a`RyUq?X^}1_DG@)*vmrO|VJeuMUOMhwqrUKA#Ta}KavSj=e3(I>wy!&JQfa5F zDuy~5c|9wJ09Td4eD;D3!^n{BzsfdU)S*OU&2+Y|Gf*+{-_q{&L?u3)#6L$4Itx>int;b&AmP3 zc)Q<`09Bu&U^o^jv&q$f=&;4K?q*rukcscxaiONzX_Z6TFD<^~Usg?Tfc&Jt2h_dW zg~I)Kh{#~yX3GqM;PQTpH?wU;@dD%V@xU(pS?yso|fgXdD$ROBuEazVuSix8?Jy5Jcp+x zqxfBf5=|K`icw?4%wGYBtyy>Y*UA)rxQM6>dFf zxb;Q>3)yP*QM`Jx7~=En7`k=WJ3ip`_3%_nTS=%UlZSh%6uTjla-P?ss2^PmUKk8h zHZvy;1|N)?v-j2`9Z!=lCA(g&9AT#y9~&Pwb0%&J+oh8=ZSN)9)*1qXKRVq~rp{8g zYEY1yP~ESR9tT}{%<}Fm?R=$r-wuvB7}&-SnKPX}^k!I`C4p}t@^T4zG{^B;n0Lvo z4q>UAH`fBiW%Ha zCK(0ABMv~K_v}maDqMEa8{Pw2yN7hYt!NC=Mo`RGqvm7+W$pY>iE~t=!Wvp(-;o~h z`f^9?He&+8VW)3F%_@GBkbNw?d_Rwu*}KXXIez?dOYe5vpRqgd9c1fz_to#Al-JZ9 zcC)$e*|KJzS-Vzi#x-J1+EV_w`Nei}`@$bsX`1H)DO%Tdc5}ziL2l`GCV~N=@$%y4>Z}%Zm0Hi7g!h9J-}9Hjyw+s zjvG@`27}aR^JKl4QTv`;s7=hLWGu=B%$|+olrO{d^5KWzxI{$DfWNmzvO7|rOg&Yu z!y80B6#=RD0+puTMNXPA1opuu!a7pey-u zu1jQ<%otkHv~vA8KIu!G`eEMtk%>AVHk*F3uu?d$c`|h=Ot*0|@xAmLX1$fL@;aEw zN^rT`0u?9U;n8><)O)7S237lv@eZyWZ@MVdv3Nu1;WTu*@R%6C`g~yePDQTZ^cNs) zhMftf5yA<;3J-`7C65KHL$dM#`fUPW3M(+`4C;b(?;;>GLJ6M0h91-4;5 zjrHV8S!$Uj8k&u#DM^#b`BFgZ22)73$$I2T zfiQ9s8(d(?}tNzL;D z6=sOWi0Q6zs`!;z6#PlQ9kQ_qM8&xyQj{r*JJZCS6LRCL0S5{64!SfIloHd!rL*Z zZN~}GMU!37oVo(o+w6 z$kGH1m@uRqPEHz!-%V(zj;!YdPa6CT`1tI)=ytl}5_tST{b70X8TWpC^!l_}4?KJE zKH%XdHT1OF!o&AjLK-*pn9xIq#KWy4Lp7pkxJMK#bo@2N{8=jhPqp_i@$Qet$4bY< z_%Gq_-?;mKl|VE6DU1Felt5?nO!s^PeEZDd1^D*88R+ysZ1SH4*7W}}vNQbC-TuFe zuYW0;{|qYolVSFki1{b(?2nL%NBch$VTEnJVtBul&@aK%=u18|cXFo|`?F>xTV)&b zKMB2f41dR-eYO29u^Q=r$)sOfaKzJO_)97N3v2&RUG%@2(*F$VZ&?_U_W#Ma@V-)v z#f6k?Ma6}r_3i#Wvaj}k1p|C__%nzyP~_}m%J-(V`7WX z2l-F58aW=Vtb>uU!=HCbrYxxVwXEp;l~VRs=-Jn&_oeLqrC5r^;UqS6;l0@ zjA>QzG{3rOGBB`xiNRlYRt7vKW|n_F|9MT%_IDf8SG2>Q<^TH3!p8X5-!Zd)iNycx z_s>56=>Mnv&$_ko{@Wh?cOk>S54iuK&0jlS+cJO-DfsG@(qTm#DayJrNC6ESi1v5y zx;LLxw6@+a_`RS{Z+ct18X%0EyYEvO3Fj)j3nHG$o$dTA`|2f84ot8K2?H8!mi0Rz ziW)CMH`Jc`tmn{p0G(7ae+Xg=mk=U&-tzMli zRcsm6Uj@0*r*4l43wF~tbOODQxofE|>noJSX1zCqZo4C=RuCu&9PjbKgbR@4GwEEv z!b0^_UEE<^v|TFodMRxseJBIl|#Qc88Nx*Ull|xQ{uN5Lb1~2C` zorZAwmQ_23Lj*6`*$|q97l!7CR0{H)>|rGj)@Pf&6p&w+oNrn+Pd59$Na~n!20f&U zVu9F;RBo1(UtAYGhBxbuA@o3?N-;UXQNQPgXK;juaUpmy!W^t!Y48X&m#5SIKg`yD z*+CeY|MmUw-`ybpo&x_qvi?l3KgaHW@k$8%XRm~St(DP#^h?mQ(*HNV1jFCSApbMJ z1Oxk@5&S)w|KIUTF#apc@jWB^dvRYKXCJD&Cp3TOa^$y?_8ew4p$~00?l+U!aEUb#8_G z!hl5fViM`eMA8|>*0b4(HjX|k;))V7=JgvBP0G3>9PKMGe$>*lH0BAJvD&P9SL?dn zz0(ax=O@|q44+;1XolP3*nXX><^NWM+~eU*_mv^^)SB|?`?`|d#*a0c;YR)?5B0G<4h($UicbdR4(utXx4j1U(l^Quw{R!q8j%g+ zXqyTv#K+Gk*e4MB4d(;qvnkfGme`99tH=4;tF=J_RHCpSFWS0cR1&jSb!xY;!8OKWF^zDDyrwMrNkU0j7X zY0?5r$0h7MJ1#E6TZHI-4#pQaeiUP>^2g^mF)>5Hi)#B$?Vg!?3e}WrhG2&#t&AK| zHie}R5Z%c?6OIu5l`bwWPy)}mtZT6any0&|CH<@BY7=hE^tD=SI;aoPQGapI+T)01 zvg}E8;9}-Z*e~{Sdz=&omkBhlkxNAtpxG&MI@IeNPEb=bK5_LW{%8?B*6Ex)DK0GW z#G;+QM1KU|yV%P{TZ`T3qu^y`U`~y*MQs0OnOfc2!&bpni>-OI6=>b~bd9k0$WU8# z`uN3Zm|p3ecZW2s?1C^O`C6~hLxjjNP?=H0l52fk#acZ~>th33EkQO);txkvR}5gY z3rlfCKRw|f9*Y>-RL-%(0=966-afb#AJ);W?+yL!)38gq@3~%f)d1I7Pn}S?96`T# zfriNkukiRTg}+g+X2MzvyMpq?{5G534r#n0{D!z%&kmx;9^&!?6zQ67mVA4uKvk|^ zpaCCHr+i$_IW`_TFC8z4d{GrcINOap<-21js=!X@h&6>{#yT7&obJ5CO@!?A*{9Qw zRs?D^a^No~qRI{4tP>!Jh&VxUVkkL7Btm@6eEWi*gF}Zu*T;7U(D0QxvxTZRfPEs| z3#KX|9ieT4xQ1}SpHIVueZ@*A9b*2|{<&(Q&laCJc&ROh_({Hj{$uC<-`4016ch@NXf8XK##@-M4rXK5!2Va~gv#|xK+ zFt59GI&AU8981jXMWFMq2NZD9{7R4S(#H*K?3pC6NoFh}2t18FCKVCn<`+}XBnTI1 zg#9>tfjojHP8Ed8F_EPQw69b)b#mH{mVXI;+POMf#rGs|=4`f)zRB1a-~B2I(8UZ( zu9R{S@!-_NI$*p4-|xKUuF8SDr#N|9G_~d%ebs3wQ!Y;b9x(Bu;DKjckhrda7AHg*c@hrLD5pt&A z(Rj()&(xZ|@20zSTbodxMr}A_U6ls`tXMcOnD>b#1b91*?NPiCwB6qaJ{p*7lUNOPj!t3qJ6fL0hndN3{BBEyJlG!wBJ zb$EI$(dC(Bn^(+;(~t?v+cnp4gyck2!CZxeK_~6Y!!WATpdhT2+8ag&%3qMj2rIT{ zuP?q@EvHu5?+{@r{PtY`-9$5g%TGg5xNL?AV0CwN)}JgY-5mY2Ucr)qcd7!b$XFf= zCdggLMYuB}VmQ1K+^&&13KIRu2=)ksCYwAnQ}zerLi}TPvDHa1ag<;M3JR;0Ma#$L zQ~dAt=ph#_XUU4oj^{nGq}SRu?G#3r3gq`laCMg$*VjH#dWo48VBx+YEJHnFD_99gE#gID-n@FEh zQrZ$rO-7n){Y zA}ibl!(ywHMz4)9L14Lm{>xOAEWSGK9WCU@OA7=Zq)k_uFcIPF^=r63Qf;hbobt*${XbKZ%(b|t{84isBNbE=QAFp&Vqi}4 zpRQ**$X=Av5vBKZSWcq^>cz7PCK#8op~AHWk(G6FWN=%4i>6ceprF@R0Ba#XB^uXJ z)}+>Fb0PgCz!E57Dg3phEIU6iAx!l=NVKJbYq5L%>>TI+<`3@z9!8dv$*#$VG*GaJ z#tix}Zfmk><JBEbJiEx!=dP!@^PdZabIZ5C2$ov%!>O%`==vs}l`>TYnC5I7`sy6zOD)~DNyi(!^jjcp;|#!c84hP_apF?cUjD>fpCeGh2 zVmI=61hS6NQGv^>!=L-}EeormP!jssM^ zoLB6v;cQ}zzT{aSkI52l5vSIhaI+iD!UiKJtD#1=aB#~;TLri0e zPk&0v0*0eAdQd5l!+)MYzu$d=GGMtza(P(LYMIz-nrknRC1zy2N8-}m8pnUo`+yqt zVyP!+unY$@l>?o23)9VEDL+{=25$1L;Vz&Vw$t?}OW3*Mz4{IeCFX~@=4}vX$`sl& zP)eHu*x8Z@WWAdH)d%g(#!w{GtOz;INFi!Xh7#T<55!umzAR5Da;mb_p@sD&0{Jq5 z!!J2qI?^+dgSSZkh7_upW)`@OmT~XCIoD&&elVTY?s?DtY(rY;Xz%xAmARGm(O)nT zO}wr3Ix}{AI~f(IKi9EVIuE;^;y0^1x;~p2dEE@$#P6;Jv6r3~sVkQ6$Jf-oAM?*2 z#o6`13Xz3wYggX*(|V2a+tP`Ps34LCw7qs%<6DpwjuRgm>b5$6%ae}F>y4JNz0Zcw zPH@SMc81~4l6sBO=5P*8IvZfsf=*2Y!Ng7)A6YOc$x{c}1X=_bWdAUF>dSBxEiWQu z_FzI{&MwOV9R&d|rm&bm-Y#b@RU!^&RJdxoelVtLu=5bRIWo~9C#96>7IKi-+QG?r zxo*yZ?g+3U_4&>9$n*(P>Pw~-ljgJf%T1l8y-?1i&Y>2@X+^9{Fnm9Q0Wq5-u+ zW5Wnp6JgFT=wFbDrutwJcLC6Omh|Zr)_vR3dM5_$C+?Vm6sWYOy-izG7LEmI>(n~Y zcd&$$s_7&S5g^nVF!~)wVUvPIUjZFNPA2qurPYH>XqFNC%cDpBb`Kqeis67M)$N{! zEe*trHFm;o{7mj#try1=elHoI6{^)ymp=%wbX08AYG>!RU5^9X@~=-VLK@4>^%q80 z4FrV=KZE2RFP54wH|Aq2nC7*&w%|Pv7m;WDz}i^;7jy3zUdfmD>nG{hwr$(Cx;wUQ z+vwPK(n-g*ZQHhO{L?-2o0;c%=A1eI^Xj~)t9ELyy{dMls;+%~?{$CH#?1G)U!~8- zfR|J_Xj1?Fa==$fV_ zKP$FXAC*kg$t$RZ*uHiRGs9|K<(p#bYt?c?(q%VLQ&kkE+h;A@=9@@%-b&m)C!4jQ z*L>}^E3Ku`{=w+!cKrF%7?Oj?$ktti2rb4joFPf@Oo>Ya;)eT2)`292`4*V{z=b*5rmfC?8`zjVws6-bUhzkV+%am%k{d$EH(f#sGGZ6v%@*--R#Z}i8({x!i6|LnE>T%E^6 z(2psV$ws4|#P`9wmwB4mlbbXyxBAn_ z+na%UHZJo4(hC#z>Z7g&+>SQB>`P%fT{VQ0NoyCLQ{74*o-7XFq>w-x zy+Z7ZlkF+hMVZrxhGY?c21>G{I+lG=I}#e@q8c7h8rn3h@tjER4NsHrl{SjSepgf4Iu+V%Ql-34nC=@%Mpl{D4(9l1*6>P>_Cnzj=|ZG1#LXn1yI&7M+< z?kg)7<);wVt~%eh69!mg@nF}KTs^m&Q(3mUW9I=IkAvZSwu$wmd%RX9@GxMUq@XEga9&Z-aDs{^)Q&!4C^pEBL9 z%Nes-Fi^Jv^kJGlCTtCTB$pUxHsAgLWrjI*m<3B&`PFV&@P)qy>EKIa37&HF|*0_3o+ZI)vtM+~zl{1l|%veH2q@b4B#~9knFpthaiJ6Isa{_a)2qqUm<(5F`d!tNR2|+;k0!@}2c&!Tu!zGI zBbGeO*Kka<2^@!;Ujhe~=K~@=>%KT?mN9@$$8m>@H0)fN3%c27a7GeF-{@!1eHdaK$cSb=T=n9|F9?Y^4%d{Ic0Y=Qr28o!_0j?~0elfea3) z8&cV@(fAQ@3x*`2OU^>t3kn((6s%XoPOIh5)v(q6v(_8@C<=egaoY7X0M>%!imofS zf<vT+SuE(Eu&v1i6sQsr1>Dg?vp2~uL5L|ufEI75a2=1{HEm4@eg z2)>AG^NaU4z(wS5OJHMTB7F0=)%DcT^dV3X*P)}hC2@-S87l;xrK~Pc67cc0sFe^Q znqWOuJd(7U`xOT3LDC!0)ijZxzxj$beYJ%xI+_*a8L_1r^0)^?dP|kzJh3+cWhR}T zPcy>uTL#PSR>>i~V^!*zp%p=3dQ_Jl^9Md_EcQ_ki)v!SPHLODC7D-O z$)i5xI&GBZ$QU-A@&;JKG8!I+5YHLzkysnO;@FJ6x*l-bkd0G>9D3M5V3&fKgM}?U zJN$(hLj)-j*S04`{NnxQdQOH=7j;`s%vl$e0XoVP_Txv}*~T!pyRObX(JSSq<750r zn87_f30${X@zE(NglnOgh5kpJYy?k9Q5_VP^BwZngocKeV6`@Yk1t5hDl7l99RH_! z{JX}?!pg+@S3UkuCHilL=YQZ6raxBRzb!KV20@?L$WYf3(j`5ulby`x#qbFT0G9hp z$iLa)?|y#w&G66N{RQy;uV~%>5eE3r#E$7tB=bLu{QpAinEt@Lf8|Smw)}O1{)sF8 z2eJE)$M*jSwfoIq{yVi}V`KXVwfjxrSee*AXI5vxXJKaj+wv)${@M1qW@Gy&sr%FB zuXexJpYQ)6d%wxwC#n1E_3!n6rFMV*1%I8@zv#vvTKb>8#H6AI)G^!E7L9X!{XfXsYVp!Unrt~#M{fma{7jf zi-2+xD*4F%fSAOnB02<8D`CTjFw0S=67QwO2O)&_wUYynnxEt@r|Xm4jnneX1=as1cZJ(G zP-GshMgQi`{R>kwG5y2i{=6psFDz%Fe@pKELVW+woAGHF85r={KV9+9K_vg;HZ%Qk zmH$_6^Jm+C-o>A&?z4~IfB&o6{0E=?AB)XQf4e(A`}jMkWBwbt`xj96U-{)f#AY^j z`ahcW->+rne;CsLk<@uWxM26ySt&YC6fC(pN#q%d5}6W@nHVwW#V{|UNhMO#RnsiR z?#YypT=YX3u>koC)H8tkT3U31O8acCp2vWDz&>aKKEy^xSCYuC`%^!x+iWQ64Z;kK zB>Av-{VH}hSc-1(+<3{9c2=HKP|o0VJWl_ZEdtdIh=yGYR8i=#Fr+VCyS`TqFyqW| znCookp?!OhhU0(6X;ce#wpy;YqkM!3s6-(!GMSlI54r)fcEcn%cMYJ_!o)bnQb-%% z^MBCxdp0DJ&-MA=tcvK(3-vIP{H9d%2b1z5D8Gu)tl=RwgotczvOXPuhLU7?jJ653V zpTxLDY(`oOgUt(`%sZs!jI#2rh9Kt%1)Y>on+|K%9ev0aGC^Ao&J-0o)V(D(6T_MU z3Y6gY0#scN?88~>&h_L0x}MF4l+<>Xfum{38@SU4R0k^R1G;Z{Ps+YQfeP>N6mhQk zHK0jd`97tPB)>6rhI;HC3NkLI<>uC==q7S3 zN#EA2ew|FSR|0C8eKBh`SYEA7ow~5qjOBW0Y+h03Tmw2k!VLzjbM5CTzpA&D!*dmI z3*-(3$&~iTIAo0hj1G7T0t}A}{$+jB|3pMkq4rAu<4P#NG7OYwhq7yKO7ko|NW1i1 zLLuq|3(NMUgc}^TEpAwIZMQvlWd?569W&#yGgEZa<1O@@-7crVx1Zff*9E*Bkie3h zXenuoj-TQZ#H!Eayh6R5ls{<8SGP?^g$}xu;$A=chzOj5mGCDphB6BNPtYah4=lk{ z5b%8dlyicBTkojoEoeb*um#)z=}Tq-cO#bx#vjplssR?0nKx7Y94`phk6V84+>_qCwQ=5v1awjIfZR~o zrSQk7@6b7f*#lrFQ*yNEQdfone*E7nadTpg^Qlh#piCk=Ul7Qn0BG|0`6}0~+j+RGNXeMAf<=^<@15(c@?kq;p`uCLqq{@7MyJk&ylsJ&@+i(oQoc6}c2Cxkg34B{y-uYm|ZX_SI6 ztNRrM4u!8Tb&_M8tWsdg$1^vUB?Uw?yjCqNFVm#gh=slw$rYr`Sg}BX_e!LvD<~>6 zs@%%jA*S7_OD4w!>~NIdHhWc!9C?x?hGle8Dwkd_G}%dpeElgG*`@yS*wE=q12Tq= z1(ZBD$U0)#a0#tfSU=D=v%nXZXa{DWPTQ);ttYGIB89CcdwrKXtm(CKs|=+ zc<106bgT&%J0R&Mmavcj^Ar91_gr%oZw&PblkFq?G6Au;zFQAf4BnEp}tp z1xd|U*v=0_*}F>~Xy{9qu$LT+9M)1a>xk4HWg04?$~XmjCH9}}>4WIa_#1LuaKi<` zMS7{%!sSsTxdv4nic=^=WHN=|^zwalS*CSGMw$GU9EXTgbvzKXN(mXiA;X5rCa;nX zDx^s7O9ay?fC~Ak4t=>A3V~oLkRYSH7Dy@lo;+$B$H9Xd7c@G%wYyr_T4zCQ(U4N= z#AuZU7-#FwWAOU4_p>swsEhJTOQq?^WA_DzAe58`6yZ|nz?|>+m$nTTf?vW(1!LqB zw8i5!)f#4{Z58+JFS4|jn(WKluFa(#V^Lq!aaB_LY!qcqs4_&YzxOJ17#3Y{=@Cv= zrRzHv&y8R28RlmwmM7sJt*b0_kS+J8tEV zNJvOhnrVZbhrD6HW5k006q&8lLQJpw^-Ik};0`9%lT6<9<2Ead#By{$nTbmb%UJYX zBBZ&{tg4T`hcrKFmpD3dM7)>qyg~a_DEst~YXGL+i~v2RQYw&?HSE1ng~atDpQSNE!8AEzWw-#NKoA}} zqaFn_UCFk~(fOWm3Jcj}1_5)#Q~C-wCh)2;SP)eJk=>B+034@a9;B9o5gL8lq_R-jG_)x zyjL(bUMMZ6R#!^x|H)`*{`~#)T|phyYhNm?p>Fw?#1NFojM%&m)%dcj(|7X9qo%i( ztm6lepsbvehMi->bFk2XXpma?Lun#i0Zb_S5&rI;aZ>`SLkB84qb~OE)JzH=@*<`R z@NYX3M91H!Q}XxKpohWIER}-Fxn5D`mZsh>^LuuZBI&d^ui{>!G&$#=6&!YNC+Eq6 zB!@+D@qlEIblcr=e|Z?2Jl6GQWpZRadbk;^q^Ug2`ohUMmT}(gaKW~+O-(Ue;i^hW zcEUtxkTB+G=QM_x;PD~`+i7ECg~x~kLm5f(1-bTc*9m98i$IyoRNsbKm%g5|4em=J zz|$ocz{m^9OKX=Fy*kiPuz-VVP0CVrs(`=V_OYS9(qe_y$(zS^L55k!5||Ny z?5TNu`^CcFl({MpiVV!<8V?%BL26UQ{>om#k0(UOlrC5?2Xct#6}ap2oe>Wl{O$-n z1pGETn=m~>MR3WY5O!hPP72sPUar-2GlG++g0-mKoAl~>!zQ8T&JYG>%A~Dje7yB) zPrWl3hkgiErR6jBbo)qnn8MycxSK{TS<6{o{8v90OfNbWKi~npd$KH-NG=Fs93{yG z@ikO&Kz@J$Lkhc~VrdU)8hYFSvfoo5SENqR-ebDFe&^{tdYfrXU|&5%&=w_*VjTua zU7KPG<$bH*SBA^Z>m}#KWmGwRlEE$6Wa-Fd_fD?Zz9eSCO+*kdhvFe-ziXm?ZTaco z!jv8W>dlZ0BqSt_y(DW24Z1erJL=jZ`JTm+DL`a8qS!O)AHwAf{FNfT*=C}H5c)Z! z0LQiqkmegx}xi&*39$Eh#gI8ftk~osvuY%myCEMKg^?o zt&A|@vhFQ_`khUUihB)I*xwP&1b&8ay08Gy#7?n z_Xo+#c|dksh<)i>;ChdiJvn@m@Lvbo6LmW{S`$7Ogyl;~i341scAF@0Mr+b8_1uH2 zyS)?iVr-xX8@@Se^I6@QJZcRr41u7~iPE!ujM=@>7qp^=%@{Ay4@dZJ7TTBN8aojR zvBW^Y6m&dBSvRj!ZP09IcLT*tA<9d|b(z4YVI6G7$)hkDZHD?@S3DF57Y>?nOdX0a zI4Vl5if*CDq51rcQvtTP6H%AP0>E8JE1&Y`w_+7I`&Wj1*&GE71`sz z-7EiUpqnt==r~pnJWI&jzry3Kd?i%FNr1Uf$?QJU4ejQNk(bKk80$T=y zR#yrGC*r17Dt+PG7B^ts@%FAb*H*WrI>)0}(DwkN81#at)^SEw^J-IGWCXdjOLFI!;P_m$R8k6#f=NEi)7oZ1PpRUQia;Df`e-2n)4&u3s}{L zFKqMcNLW6-C>pW)kR0nxcq1aDnz_ura=b?~6CL_@d1(|VKL>m?@)c5a_vY^s#Ks}2 zv&*rx{I1A0$S5eLuasEiS}tB02CLw;%dK}*Z#jMWAaeNw^K7hTW#WzsrP_;=>M@x{uw@n&N7Sr~L{!C8T#`7Cld*3ld6?t!EpGO6 zx$dBP317g_6s@#0^LD=FmORjD+3UGmp4B4}!Kf!9qtGnPBQH%VX|xtbscO!yVS?8> zp^3DdaA!7KNqC(D897t-%R`#Q?}63yc12QQY{QxR1KCR`U>R+j1&N1og1iC-LBf7{ z_bDXu>+vZi4}lC3ULzG@rqi=qIq!Z7p;~m{ljZ7D{J06r@4FEUpHbCG|w9gWYa2C>l*qQjkjEI^Rbf~(e62}ZlA5N9A{{{;ielz+_8!mbt zb3Inl*1W!f3$%Fzt;*Nt`$!Vng;=h6EB3@+ohsM9vPR0z%JWX~D%2!6EF>jZ*Nu|% zr&1Ntbe2%doRJ@wkt^%&r6umswt>ZrNIa1F4RysP_es4+MXT?#mzybNC>&VY_%|59 zJOvab|RHh{0#2H=g(r^30I-$${LBY_TV_6 zJp9%78s7o%oN~L51~lsP!UFDFa2w=dodXQEpI=lqQS~{TNk7#7{#)^04M*IQVE~Qk zk-+c(Cp88qA)tVCtp-L_a4~=iPySeHV2$lyOdm;t=B3q0`_yE$B--fX{-KHSZMS`t zhRtdTWueJ9-s)!2%|pX}-7Ii=PTfP9n%zrtv+(`#UTXv3GX!KR+ z4LVxgi@ugnz0d^&tCKQqyK56&jaU3I{E~H?=b=n>d*ydLOyD75Pm|4GAN98u`)GgDwigZnrRv_dqLYSo>SrW`k5O{)5__CnpmDCjiZtPTnO7H zsWPo;gK>(cy^?dv0T5D=Oo^WRy?r_EVd$X1(7)gr2(9d=BS1eh(f4>|ZVeJvrca5? z5tEQUIA7i}eQ!f&1(61l@3}enSNC~lBXGTBry;OQ^NczttQ@eX`iS&wxIo+b0%wLBTzNTW7_R=AH9*3vW`CtA0nO(A44MFksTZW-bCjoNzoqR z6hxRrw|Rgmpnxhvfm%&KQImBb0u4|-yqQ34$$w`Y=lQ%;k&e7ch9o_A2t~vTx$TI z;hA}ivJr;R;v6|-A+3W%>+p;R+$)&-b$lBlwSsg(g{;;#o;`pcA6i8vV6Lf;GNIgZ zQd4&NqK&Pi9cpneCKzL59r7T_!)00f4CHH4n#w#8 z6m`wLOT9cb>su!#Xn}BYMfw=;ipA4=fHw}wo78N$QYs6{L^J#);8i2IK}fNu0B9&@ z${{>90(&7mRswsY8YtJBrUwp@x|Wb0Yb-;){EUhbW{U&!Tm%%0KEpSRwki_b;iMlf zvMVGyQWb-<{k>Q63+M2)}*>S;h3C`3C>#@;Q_n@fZcd#Ml#f#Yk3BNs$g5JOXc8Q&9N zweJDk_k-d`F58qqXE+IKlyv2<`oUI*h#B1y7SA@(rJD{&QeUlE=anDRLh!1pK-ZY6uh`HiM68;ag>$J#qwt3 z$Ra2IDSiWy*ymu$+a>Gc;07pVs5dP%?D$=Rlx>RV`O1(nrsItxWw2NGe2{vyoH>hm z9>h&E*u^g}B#kToKpr*3ImJX<9IpU@?yDuVx6J6stFpe9L4_IZdEFItgh!iukZ60O z=0!Wz-9&e@7MMM-89drheZrmsf@%Y#w1H$1sg(MpuyDSSsC=jJQjtwjX#jG}7a$e< z34)^KV?K>`lBT(kUoi6ir>5;iNs=%?15iPxft}ac-hiXhl+f7Z8Yp~43Rl?%bGx#` zEI(hju|8*i;r%)pM?uV0l;_OzR@CqIgcsMsh5B5cux`1F8~nn}VhMtc9oFN1Gwfi% z1=<#yJA>sCHs>Uxjzym*U(CYxPH$a-JPQ=519xIXW5vohxGM&;I9T~;Z2P*t3{eI8hi3aGkA-k_yYkD|+!AGX% zo2Ytc^pWm0NZ4*;jlqKgR3PiNE8tHg3{B~J9KsSgwMY+Z03_%g0-uQFAJ$A<7>T-3 z?W`~81N5O)bm~%)p`Ts?lQ#BdKzp~=M1qy%4DPnK&uYsQVG5~vfMmg8YY+>71_U*T zQUGL$Z#T@8408x6=_2voIWcn40di3-X2-G3DPR;(YB#^IoT|t+%SDy zAzW(_C|Zh7v6XpxhvH>H?XzkCo94zPZY`wG%iSLi1K zNrFGc@8mu!&V<(aQveuao%Bm`_SsKxQlsYOC{LS>67TZ#O)5_3`ui;G$bM10jm26| znXsGk)4GPNBd+VMsX#k;fkt_pb4!ZjWS5K1&w_!|bE1{0O7rP^7dixme7n^bY;{m` z9=;=pK6~&kvjpsTCgDPDGLS6YKzYlvL7$<0nBK&19kLUWfRgLN^&ld3U#gE70MoWT zL<^8};{|z;GX)ui`CDW{UnVn3EN^g{uspcAhg=2ezHb`f-;icra87lL?q@HMmWB|@?kX6t?o|9L8HE$7zw8g(rlGb z>Be(uL~~gH8Ij|{u?0;&?gG0eGYO!;n0NqRDBO#bzCJ3Y2Wms=-|Xc;HzVuxtJTN` zp{!&YOvm4n~Sri0Ynd<@)f? zwjYJPaUPeu`_}7Y8?D8BMc1>p3K!h)C)ni2r{u?)3e}!cAMf!HGCh-PmY%^aVT{FY zC+e&;He#T7>y>*kFa)hj3RU$C5AFU^Y{Fy47JDZvPHXljuszLJ>)XXSFG;gjnu;U# zsm13Rb)IBmBUts^{CfjXoJMqO_L4$th<~<_9KS=@6A)%O)26cg1 z

    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 RgaX7yC^id=oT@zb{{ToM^9KL` literal 0 HcmV?d00001 diff --git a/xml/target/contract_single.pdf b/xml/target/contract_single.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2c11c08dfbdf482cc375c0c8e746c930ca0bc1cc GIT binary patch literal 52253 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 literal 0 HcmV?d00001 diff --git a/xml/xslt/auto.xsl b/xml/xslt/auto.xslt similarity index 60% rename from xml/xslt/auto.xsl rename to xml/xslt/auto.xslt index 6a473cb..24e522c 100644 --- a/xml/xslt/auto.xsl +++ b/xml/xslt/auto.xslt @@ -1,7 +1,7 @@ + xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:my="http://radical.sexy" version="2.0"> @@ -271,7 +271,9 @@ - SIGNED IN DUPLICATE + + + - - - - - - - - - - - - - - + - - Amsterdam + @@ -481,14 +469,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -505,15 +519,22 @@ + + + + + + - + + select="/offerte/meta/pentestinfo/target_application_producer | /pentest_report/meta/pentestinfo/target_application_producer"/> @@ -556,6 +577,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + XXXXXX + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + @@ -563,11 +699,58 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -578,4 +761,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 31 + + + + 28 + 29 + 28 + 29 + + + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 31 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + year + + s + + + and + + + , + + + + + month + + s + + + and + + + + + day + + s + + + diff --git a/xml/xslt/block.xslt b/xml/xslt/block.xslt index b46a15c..be0245b 100644 --- a/xml/xslt/block.xslt +++ b/xml/xslt/block.xslt @@ -33,6 +33,12 @@ + + + + + + diff --git a/xml/xslt/generate_a4.xsl b/xml/xslt/generate_a4.xsl index a13091f..6519e40 100644 --- a/xml/xslt/generate_a4.xsl +++ b/xml/xslt/generate_a4.xsl @@ -11,7 +11,7 @@ - + diff --git a/xml/xslt/generate_contract.xsl b/xml/xslt/generate_contract.xsl new file mode 100644 index 0000000..1652b8e --- /dev/null +++ b/xml/xslt/generate_contract.xsl @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + £ + $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + title- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   +   + + +   +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + Chamber of Commerce + VAT number + + + + + + + + + + + + + + + diff --git a/xml/xslt/generate_document.xsl b/xml/xslt/generate_document.xsl index 54d02d0..4f3056f 100644 --- a/xml/xslt/generate_document.xsl +++ b/xml/xslt/generate_document.xsl @@ -11,7 +11,7 @@ - + diff --git a/xml/xslt/generate_invoice.xsl b/xml/xslt/generate_invoice.xsl index d493c06..bef3d19 100644 --- a/xml/xslt/generate_invoice.xsl +++ b/xml/xslt/generate_invoice.xsl @@ -11,7 +11,7 @@ - + @@ -270,7 +270,7 @@ - + @@ -305,7 +305,7 @@ - + Please keep digital unless absolutely required. Read the (unique) terms and conditions of Radically Open Security at: https://radicallyopensecurity.com/TermsandConditions.pdf diff --git a/xml/xslt/generate_offerte.xsl b/xml/xslt/generate_offerte.xsl index 217e515..a55beed 100644 --- a/xml/xslt/generate_offerte.xsl +++ b/xml/xslt/generate_offerte.xsl @@ -11,7 +11,7 @@ - + diff --git a/xml/xslt/generate_report.xsl b/xml/xslt/generate_report.xsl index a906af3..fa07c6b 100644 --- a/xml/xslt/generate_report.xsl +++ b/xml/xslt/generate_report.xsl @@ -11,7 +11,7 @@ - + diff --git a/xml/xslt/info2contract.xsl b/xml/xslt/info2contract.xsl new file mode 100644 index 0000000..7ef8f82 --- /dev/null +++ b/xml/xslt/info2contract.xsl @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + snippets/company_info.xml + + + + + +

    + + <xsl:call-template name="getString"> + <xsl:with-param name="stringID" select="'contract_title'"/> + </xsl:call-template> + + Whereas section + + + + parties + + + +

    WHEREAS:

    +
      + + + + + wa_companywants + + + + + + + wa_companyhasasked + + + + + + + + wa_contractorcan + + + + + + + wa_noemploymentintention + + + +
    + Agreement section +
    + AGREE AS FOLLOWS +
      + + + + + ag_period + + + + + + + + ag_noemployment + + + + + + + ag_companyinstructs + + + + + + + + ag_worktime + + + + + + + + ag_ownrisk + + + + + + + + ag_workinghours + + + + + + + + ag_payment + + + + + + + + ag_biggerscopewarning + + + + + + + + ag_propertyrights + + + + + + + ag_retainrights + + + + + + + ag_nondisclosure + + + + + + + ag_responsibilities + + + + + + + ag_thirdparty + + + + + + + ag_liability + + + + + + + ag_provisions + + + + + + + ag_generaltermsandconditions + + + + + + + ag_law + + + +
    +
    +
    + + <xsl:call-template name="getString"> + <xsl:with-param name="stringID" select="'signed_dupe'"/> + </xsl:call-template> + <xsl:text> </xsl:text> + <xsl:call-template name="getString"> + <xsl:with-param name="stringID" select="'waiver_signed_on'"/> + </xsl:call-template> + <xsl:text> </xsl:text> + <xsl:value-of select="$latestVersionDate"/> + <xsl:text> </xsl:text> + <xsl:call-template name="getString"> + <xsl:with-param name="stringID" select="'waiver_signed_in'"/> + </xsl:call-template> + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + diff --git a/xml/xslt/pages.xslt b/xml/xslt/pages.xslt index badbf64..5a7d8e1 100644 --- a/xml/xslt/pages.xslt +++ b/xml/xslt/pages.xslt @@ -9,15 +9,15 @@ - - - + + + - - - + + + @@ -35,9 +35,9 @@ - - - + + + @@ -50,7 +50,12 @@ - + + + + + + @@ -58,7 +63,16 @@ - + + + / + + - Chamber of Commerce + + + + / @@ -75,7 +89,7 @@ - + diff --git a/xml/xslt/styles.xslt b/xml/xslt/styles.xslt index ea57269..d74e9be 100644 --- a/xml/xslt/styles.xslt +++ b/xml/xslt/styles.xslt @@ -162,15 +162,28 @@ 29.7cm 21.0cm - + 1cm 1cm - + true 0.6cm - + + true + 0.6cm + 0 + + + 1cm + 1cm + + + true + 0.6cm + + true 0.6cm 0 @@ -193,15 +206,6 @@ center - - 2cm - 3cm - url(../graphics/logo.png) - 70mm - scale-to-fit - scale-to-fit - uniform - diff --git a/xml/xslt/styles_con.xslt b/xml/xslt/styles_con.xslt new file mode 100644 index 0000000..350f9cb --- /dev/null +++ b/xml/xslt/styles_con.xslt @@ -0,0 +1,195 @@ + + + + + + + + 10pt + + + + + + + always + center + white + bold + uppercase + + + + + + 18pt + 1cm + #FF5C00 + uppercase + + + 18pt + 1cm + #FF5C00 + uppercase + + + italic + 14pt + 0.8cm + #999999 + uppercase + + + 14pt + 0.8cm + #999999 + + + 5pt + + + #999999 + uppercase + + + 16pt + center + bold + 1cm + + + + + + 18pt + + + + + + + + + double + 2pt + + + + false + preserve + preserve + + + LiberationMono + 9pt + + + + + + + + 0.5cm + 1.5cm + 1.5cm + 1.5cm + 29.7cm + 21.0cm + + + 3.6cm + 1cm + + + true + 2.7cm + + + true + 0.6cm + 0 + + + 2cm + 1cm + + + true + 0.6cm + + + true + 0.6cm + 0 + + + right + normal + + + center + + + 0cm + 0cm + url(../graphics/logo_alt.png) + 30mm + scale-to-fit + scale-to-fit + uniform + + + + + #FF5C00 + + + + + center + + + + + + + + + + + + + + + + + + 2pt + + + + + + + + + + + + + + + + page + + + page + + \ No newline at end of file diff --git a/xml/xslt/styles_doc.xslt b/xml/xslt/styles_doc.xslt index 93ec5cf..b109b5c 100644 --- a/xml/xslt/styles_doc.xslt +++ b/xml/xslt/styles_doc.xslt @@ -61,6 +61,15 @@ orange + + 2cm + 3cm + url(../graphics/logo.png) + 70mm + scale-to-fit + scale-to-fit + uniform + diff --git a/xml/xslt/styles_off.xslt b/xml/xslt/styles_off.xslt index aa3c3be..bfceca2 100644 --- a/xml/xslt/styles_off.xslt +++ b/xml/xslt/styles_off.xslt @@ -103,15 +103,28 @@ 29.7cm 21.0cm - + 1cm 1cm - + true 0.6cm - + + true + 0.6cm + 0 + + + 1cm + 1cm + + + true + 0.6cm + + true 0.6cm 0 diff --git a/xml/xslt/styles_rep.xslt b/xml/xslt/styles_rep.xslt index df3fbe8..6abdd8d 100644 --- a/xml/xslt/styles_rep.xslt +++ b/xml/xslt/styles_rep.xslt @@ -61,6 +61,15 @@ orange + + 2cm + 3cm + url(../graphics/logo.png) + 70mm + scale-to-fit + scale-to-fit + uniform + diff --git a/xml/xslt/summary.xsl b/xml/xslt/summary.xsl index 59d07b9..13e72c3 100644 --- a/xml/xslt/summary.xsl +++ b/xml/xslt/summary.xsl @@ -11,7 +11,7 @@ - +