From 8706cbf54cd6bebda9ceb4643447f3a59cf8c45c Mon Sep 17 00:00:00 2001 From: Mike Olund Date: Sun, 19 Feb 2017 17:13:22 -0800 Subject: [PATCH 01/39] Added Nginx Reverse Proxy --- openshift/templates/nginx-build-template.yaml | 90 +++++++++++++ .../templates/nginx-environment-template.yaml | 126 ++++++++++++++++++ 2 files changed, 216 insertions(+) create mode 100644 openshift/templates/nginx-build-template.yaml create mode 100644 openshift/templates/nginx-environment-template.yaml diff --git a/openshift/templates/nginx-build-template.yaml b/openshift/templates/nginx-build-template.yaml new file mode 100644 index 00000000..342e0f37 --- /dev/null +++ b/openshift/templates/nginx-build-template.yaml @@ -0,0 +1,90 @@ +--- +kind: Template +apiVersion: v1 +metadata: + name: nginx + creationTimestamp: +objects: +- kind: ImageStream + apiVersion: v1 + metadata: + name: "${NAME}" +- kind: BuildConfig + apiVersion: v1 + metadata: + name: "${NAME}" + creationTimestamp: + labels: + app: "${NAME}" + spec: + triggers: + - type: GitHub + github: + secret: "${GITHUB_WEBHOOK_SECRET}" + - type: Generic + generic: + secret: "${GENERIC_WEBHOOK_SECRET}" + - type: ConfigChange + - type: ImageChange + imageChange: {} + runPolicy: Serial + source: + type: Git + git: + ref: "${SOURCE_REPOSITORY_REF}" + uri: "${SOURCE_REPOSITORY_URL}" + contextDir: "${SOURCE_REPOSITORY_CONTEXT_DIR}" + strategy: + type: Source + sourceStrategy: + from: + kind: ImageStreamTag + name: "${BUILDER_IMAGESTREAM_TAG}" + env: + - name: NGINX_PROXY_URL + value: "${NGINX_PROXY_URL}" + output: + to: + kind: ImageStreamTag + name: "${NAME}:latest" + resources: {} + postCommit: {} + status: + lastVersion: 0 +parameters: +- name: NAME + displayName: Name + description: The name assigned to all of the frontend objects defined in this template. + required: true + value: nginx-proxy +- name: BUILDER_IMAGESTREAM_TAG + displayName: Builder ImageStreamTag + description: The image stream tag (e.g. rproxy:latest) of the S2I image that should be used to build the application. + value: s2i-nginx:latest +- name: SOURCE_REPOSITORY_URL + displayName: Git Repository URL + description: The URL of the repository with your nginx configuration code. + value: https://github.com/molund/eDivorce + required: true +- name: SOURCE_REPOSITORY_CONTEXT_DIR + displayName: Git sub-directory + description: The folder in the Git repo that contains the config.d directory. + value: /nginx-proxy +- name: SOURCE_REPOSITORY_REF + displayName: Git Reference + description: Set this to a branch name, tag or other ref of your repository if you are not using the default branch. +- name: GITHUB_WEBHOOK_SECRET + displayName: GitHub Webhook Secret + description: A secret string used to configure the GitHub webhook. + generate: expression + from: "[a-zA-Z0-9]{40}" +- name: GENERIC_WEBHOOK_SECRET + displayName: Generic Webhook Secret + description: A secret string used to configure the Generic webhook. + generate: expression + from: "[a-zA-Z0-9]{40}" +- name: NGINX_PROXY_URL + displayName: NGinx Proxy URL + description: The URL you want NGinx to proxy to, e.g., http://:port/ + value: http://edivorce-django:8080/ + required: true diff --git a/openshift/templates/nginx-environment-template.yaml b/openshift/templates/nginx-environment-template.yaml new file mode 100644 index 00000000..b3edf24c --- /dev/null +++ b/openshift/templates/nginx-environment-template.yaml @@ -0,0 +1,126 @@ +--- +kind: Template +apiVersion: v1 +metadata: + name: nginx +labels: + template: nginx-environment-template +objects: +- kind: DeploymentConfig + apiVersion: v1 + metadata: + name: "${NAME}" + creationTimestamp: + labels: + app: "${NAME}" + spec: + strategy: + type: Rolling + rollingParams: + updatePeriodSeconds: 1 + intervalSeconds: 1 + timeoutSeconds: 600 + maxUnavailable: 25% + maxSurge: 25% + resources: {} + triggers: + - type: ConfigChange + - type: ImageChange + imageChangeParams: + automatic: true + containerNames: + - "${NAME}" + from: + kind: ImageStreamTag + namespace: "${APP_IMAGE_NAMESPACE}" + name: "${APP_IMAGE_NAME}:deploy-to-${ENVIRONMENT_TYPE}" + replicas: 2 + test: false + selector: + app: "${NAME}" + deploymentconfig: "${NAME}" + template: + metadata: + creationTimestamp: + labels: + app: "${NAME}" + deploymentconfig: "${NAME}" + spec: + containers: + - name: "${NAME}" + image: " " + ports: + - containerPort: 8080 + protocol: TCP + livenessProbe: + httpGet: + path: /nginx_status + port: 8080 + scheme: HTTP + initialDelaySeconds: 60 + timeoutSeconds: 30 + periodSeconds: 60 + successThreshold: 1 + failureThreshold: 5 + imagePullPolicy: Always + restartPolicy: Always + terminationGracePeriodSeconds: 30 + dnsPolicy: ClusterFirst + securityContext: {} +- kind: Service + apiVersion: v1 + metadata: + name: "${NAME}" + creationTimestamp: + labels: + app: "${NAME}" + spec: + ports: + - name: 8080-tcp + protocol: TCP + port: 8080 + targetPort: 8080 + selector: + app: "${NAME}" + deploymentconfig: "${NAME}" + type: ClusterIP + sessionAffinity: None +- kind: Route + apiVersion: v1 + metadata: + name: "${NAME}" + creationTimestamp: + labels: + app: "${NAME}" + annotations: + openshift.io/host.generated: 'true' + spec: + host: "edivorce-${ENVIRONMENT_TYPE}.pathfinder.gov.bc.ca" + to: + kind: Service + name: "${NAME}" + weight: 100 + port: + targetPort: 8080-tcp + tls: + termination: edge + insecureEdgeTerminationPolicy: Redirect +parameters: +- name: NAME + displayName: Name + description: The name assigned to all of the frontend objects defined in this template. + required: true + value: nginx-proxy +- name: APP_IMAGE_NAME + displayName: Application image name. + description: Application image name. + value: nginx-proxy + required: true +- name: APP_IMAGE_NAMESPACE + displayName: Namespace containing application images. + description: Namespace containing application images. + value: "jag-csb-edivorce-tools" + required: true +- name: ENVIRONMENT_TYPE + displayName: Type of environnment (dev,test or prod). + required: true \ No newline at end of file From d65b4c71f15d04115d2718cae5bee154b2d7d3db Mon Sep 17 00:00:00 2001 From: Mike Olund Date: Sun, 19 Feb 2017 17:16:21 -0800 Subject: [PATCH 02/39] Created a fake BCEID login screen for use in localdev environments --- edivorce/apps/core/decorators.py | 25 +++ edivorce/apps/core/middleware/__init__.py | 0 .../apps/core/middleware/bceid_middleware.py | 47 ++++++ .../apps/core/templates/localdev/bceid.html | 154 ++++++++++++++++++ edivorce/apps/core/views/localdev.py | 25 +++ 5 files changed, 251 insertions(+) create mode 100644 edivorce/apps/core/decorators.py create mode 100644 edivorce/apps/core/middleware/__init__.py create mode 100644 edivorce/apps/core/middleware/bceid_middleware.py create mode 100644 edivorce/apps/core/templates/localdev/bceid.html create mode 100644 edivorce/apps/core/views/localdev.py diff --git a/edivorce/apps/core/decorators.py b/edivorce/apps/core/decorators.py new file mode 100644 index 00000000..d74fb410 --- /dev/null +++ b/edivorce/apps/core/decorators.py @@ -0,0 +1,25 @@ +from django.conf import settings +from django.shortcuts import redirect + + +def bceid_required(function=None): + """ View decorator to check if the user is logged in to BCEID """ + """ This decorator has a dependency on bceid_middleware.py """ + + def _dec(view_func): + def _view(request, *args, **kwargs): + if not request.bceid_user.is_authenticated: + return redirect(settings.FORCE_SCRIPT_NAME + '/login') + else: + return view_func(request, *args, **kwargs) + + _view.__name__ = view_func.__name__ + _view.__dict__ = view_func.__dict__ + _view.__doc__ = view_func.__doc__ + + return _view + + if function is None: + return _dec + else: + return _dec(function) diff --git a/edivorce/apps/core/middleware/__init__.py b/edivorce/apps/core/middleware/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/edivorce/apps/core/middleware/bceid_middleware.py b/edivorce/apps/core/middleware/bceid_middleware.py new file mode 100644 index 00000000..a22a9b2d --- /dev/null +++ b/edivorce/apps/core/middleware/bceid_middleware.py @@ -0,0 +1,47 @@ +import uuid + + +class BceidUser(object): + def __init__(self, guid, first_name, last_name, type, is_authenticated): + self.guid = guid + self.first_name = first_name + self.last_name = last_name + self.type = type + self.is_authenticated = is_authenticated + + +class BceidMiddleware(object): + def process_request(self, request): + # todo: Make sure the request is coming from the justice proxy (via IP/host check) + + # 1. Real BCeID user + + # todo: parse the siteminder headers and stick them into a dictionary request.bceid_user + + if request.session.get('fake-bceid-guid', False): + + # 2. Fake BCeID user + request.bceid_user = BceidUser( + guid=request.session.get('fake-bceid-guid', ''), + is_authenticated=True, + type='FAKE', + first_name='Kelly', + last_name='Bundy' + ) + else: + + # 3. Anonymous User + + if request.session.get('anon-guid', False): + request.session['anon-guid'] = uuid.uuid4().urn[9:] + + request.bceid_user = BceidUser( + guid=request.session.get('anon-guid'), + is_authenticated=False, + type='ANONYMOUS', + first_name='', + last_name='' + ) + + def process_response(self, request, response): + return response diff --git a/edivorce/apps/core/templates/localdev/bceid.html b/edivorce/apps/core/templates/localdev/bceid.html new file mode 100644 index 00000000..4d2a44e0 --- /dev/null +++ b/edivorce/apps/core/templates/localdev/bceid.html @@ -0,0 +1,154 @@ + + + + Government of British Columbia + + + + + + + CLP + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
Log in to justice.gov.bc.ca/divorce
+
+
+ +
+
+
+ +
+
+
+ + +
+ +
+
+
+
+

Access to or unauthorized use of data on this computer system by any person other than the authorized + employee(s) or owner(s) of an account is strictly prohibited and may result in legal action against + such person.

+
+
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + diff --git a/edivorce/apps/core/views/localdev.py b/edivorce/apps/core/views/localdev.py new file mode 100644 index 00000000..57d4be2a --- /dev/null +++ b/edivorce/apps/core/views/localdev.py @@ -0,0 +1,25 @@ +import uuid +import binascii +from encodings.utf_8 import decode +from django.conf import settings +from django.shortcuts import render, redirect +from django.views.decorators.csrf import csrf_exempt + + +@csrf_exempt +def bceid(request): + """ fake bceid login for developer workstation environment """ + if request.method == "POST": + login_name = request.POST.get('user', '') + + # convert the login name to a guid + hex_name = decode(binascii.hexlify(str.encode(login_name)))[0] + fake_guid = uuid.UUID(hex_name.rjust(32, '0')).urn[9:] + + # save the guid in a session variable + request.session['fake-bceid-guid'] = fake_guid + + return redirect(settings.FORCE_SCRIPT_NAME + '/login') + + else: + return render(request, 'localdev/bceid.html') From 469622ce6793e628e8d44645dc39162a3ee2f12f Mon Sep 17 00:00:00 2001 From: Charles Shin Date: Sun, 19 Feb 2017 17:20:21 -0800 Subject: [PATCH 03/39] Added a custom Django template tag for retrieving responses to completed form questions --- edivorce/apps/core/templatetags/__init__.py | 0 .../apps/core/templatetags/input_option.py | 45 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 edivorce/apps/core/templatetags/__init__.py create mode 100644 edivorce/apps/core/templatetags/input_option.py diff --git a/edivorce/apps/core/templatetags/__init__.py b/edivorce/apps/core/templatetags/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/edivorce/apps/core/templatetags/input_option.py b/edivorce/apps/core/templatetags/input_option.py new file mode 100644 index 00000000..4e6d68e8 --- /dev/null +++ b/edivorce/apps/core/templatetags/input_option.py @@ -0,0 +1,45 @@ +from django import template + +register = template.Library() + + +@register.simple_tag(takes_context=True) +def input_option(context, type, name='', value='', **kwargs): + """ + Usage: when specifying data attributes in templates, use "data_" intead of "data-". + """ + if type == "textarea": + tag = ['') + else: + # set initial value for textbox + if type == "text": + value = context.get(name, '') + tag = ['') + + return ''.join(tag) + + +def additional_attributes(tag, **kwargs): + for key, data_val in kwargs.items(): + if str.startswith(key, 'data_'): + key = str.replace(key, 'data_', 'data-') + tag.append(' ' + key + '="' + data_val + '"') + return tag From 21b6c7c28f1c7121a5bbb184434ba40128b636a0 Mon Sep 17 00:00:00 2001 From: Charles Shin Date: Sun, 19 Feb 2017 17:23:14 -0800 Subject: [PATCH 04/39] Updated the data for the Question table in the database --- edivorce/fixtures/Question.json | 412 +++++++++++++++++++++++++++++++- 1 file changed, 406 insertions(+), 6 deletions(-) diff --git a/edivorce/fixtures/Question.json b/edivorce/fixtures/Question.json index ae6d3e9e..a09d6b03 100644 --- a/edivorce/fixtures/Question.json +++ b/edivorce/fixtures/Question.json @@ -1,18 +1,418 @@ [ { "fields": { - "name": "Married or Marriage Like", - "description": "[INLINE DEFINITION: LEGALLY MARRIED]\r\n\"Legally married is defined as: when two people agree to live together in a partnership made legally binding by a religous or legal ceremony.\" To prove you were legally married you will need to provide a marriage certificate issued in the country where you were married.\r\n\r\nSource: http://www.familylaw.lss.bc.ca/resources/fact_sheets/separation.php\r\n\r\n\r\n[INLINE DEFINITION: MARRIAGE LIKE RELATIONSHIP]\r\n\"The term \"common-law relationship\" is often used to refer to a marriage-like relationship that has lasted a certain length of time, usually one or two years. Used in some federal laws to refer to a marriage-like relationship of a year or longer.\"\r\nSource: http://www.familylaw.lss.bc.ca/legal_issues/commonLawFAQ.php\r\n\r\n[INLINE Q & A: If I have lived with my spouse for at least two years, are we married?]\r\n\"No, you aren't married, but after two years, you have a lot of the same rights as a married couple would. And some federal benefits treat you as married spouse if you've been living together for one year. For more information refer to the booklet called Living Together or Living Apart: Common-Law Relationships, Marriage, Separation and Divorce, on the Legal Services Society website.\"\r\n\r\n\r\nSource: http://www.familylaw.lss.bc.ca/legal_issues/divorcefaq.php" + "name": "Are you Married or Marriage Like", + "description": "For pre-qualification step 1" }, "model": "core.question", - "pk": "p1" + "pk": "married_marriage_like" }, { "fields": { - "name": "Separated One Year", - "description": "[INLINE DEFINITION: SPOUSE]\r\n\r\n\"You are a spouse under the Family Law Act if: \r\n\r\n- You are or were married\r\n- You have lived with another person in a marriage-like relationship, sometimes called common-law, for a certain period of time\r\n\r\nIf you are common-law, you must have lived together for a minimum period of time to qualify as a spouse.\"\r\n\r\n[INLINE Q & A: Am I married if we live common-law long enough]\r\n\"No, you aren't married, but after two years, you have a lot of the same rights as a married couple would. And some federal benefits treat you as married spouse if you've been living together for one year. For more information refer to the booklet called Living Together or Living Apart: Common-Law Relationships, Marriage, Separation and Divorce, on the Legal Services Society website.\"\r\nSource: http://www.familylaw.lss.bc.ca/legal_issues/divorcefaq.php\r\n" + "name": "Do you or your spouse live in British Columbia?", + "description": "For pre-qualification step 2" }, "model": "core.question", - "pk": "p2" + "pk": "lived_in_bc" +}, +{ + "fields": { + "name": "Have you or your spouse lived in B.C. at least one year prior to starting your divorce?", + "description": "For pre-qualification step 2" + }, + "model": "core.question", + "pk": "lived_in_bc_at_least_year" +}, +{ + "fields": { + "name": "When did you and your spouse separate (legally this is referred to as living separate and apart)?", + "description": "For pre-qualification step 3, Form 1 1. Relationship history" + }, + "model": "core.question", + "pk": "separation_date" +}, +{ + "fields": { + "name": "Do you and your spouse have any children (includes step children, adopted children). The legal term is children of the marriage.", + "description": "For pre-qualification step 4, Form 1 3. Info concerning children" + }, + "model": "core.question", + "pk": "children_of_marriage" +}, +{ + "fields": { + "name": "Are any of the children 19 years or younger?", + "description": "For pre-qualification step 4" + }, + "model": "core.question", + "pk": "any_under_19" +}, +{ + "fields": { + "name": "Are you financially supporting any of the children that are 19 years or older?", + "description": "For pre-qualification step 4" + }, + "model": "core.question", + "pk": "children_financial_support" +}, +{ + "fields": { + "name": "Will you be able to provide proof of your marriage (in the form of an original or certified marriage certificate or registration of marriage).", + "description": "For pre-qualification step 5, Form 1 2. Divorce section D" + }, + "model": "core.question", + "pk": "original_marriage_certificate" +}, +{ + "fields": { + "name": "Will you be providing the marriage certificate or registration of marriage at a later date", + "description": "For pre-qualification step 5, Form 1 2. Divorce section D" + }, + "model": "core.question", + "pk": "provide_certificate_later" +}, +{ + "fields": { + "name": "If you will be providing the marriage certificate or registration of marriage at a later date, please let us know why", + "description": "For pre-qualification step 5, Form 1 2. Divorce section D" + }, + "model": "core.question", + "pk": "provide_certificate_later_reason" +}, +{ + "fields": { + "name": "Please tell us why it is impossible to obtain a marriage certificate or registration of marriage.", + "description": "For pre-qualification step 5, Form 1 2. Divorce section D" + }, + "model": "core.question", + "pk": "not_provide_certificate_reason" +}, +{ + "fields": { + "name": "What is your reason (grounds) for asking for a divorce?", + "description": "For pre-qualification step 6" + }, + "model": "core.question", + "pk": "divorce_reason" +}, +{ + "fields": { + "name": "What are you asking for (Orders)?", + "description": "For step 1" + }, + "model": "core.question", + "pk": "want_which_orders" +}, +{ + "fields": { + "name": "Please enter your name as it appears on the marriage certificate", + "description": "For step 2, Form 1 Claimant 1" + }, + "model": "core.question", + "pk": "name_you" +}, +{ + "fields": { + "name": "Do you go by any other names", + "description": "For step 2" + }, + "model": "core.question", + "pk": "any_other_name_you" +}, +{ + "fields": { + "name": "Please enter your other name", + "description": "For step 2" + }, + "model": "core.question", + "pk": "other_name_you" +}, +{ + "fields": { + "name": "What was your last name when you were born?", + "description": "For step 2, Form 1 2. Divorce section A" + }, + "model": "core.question", + "pk": "last_name_born_you" +}, +{ + "fields": { + "name": "What was your last name immediately before you were married?", + "description": "For step 2, Form 1 2. Divorce section A" + }, + "model": "core.question", + "pk": "last_name_before_married_you" +}, +{ + "fields": { + "name": "What is your birthday?", + "description": "For step 2, Form 1 2. Divorce section A" + }, + "model": "core.question", + "pk": "birthday_you" +}, +{ + "fields": { + "name": "How long have you lived in British Columbia?", + "description": "For step 2, Form 1 2. Divorce section A" + }, + "model": "core.question", + "pk": "lived_in_bc_you" +}, +{ + "fields": { + "name": "You moved to British Columbia on", + "description": "For step 2, Form 1 2. Divorce section A" + }, + "model": "core.question", + "pk": "moved_to_bc_date_you" +}, +{ + "fields": { + "name": "Please enter your spouse's name as it appears on the marriage certificate", + "description": "For step 3, Form 1 Claimant 2" + }, + "model": "core.question", + "pk": "name_spouse" +}, +{ + "fields": { + "name": "Do your spouse go by any other names", + "description": "For step 3" + }, + "model": "core.question", + "pk": "any_other_name_spouse" +}, +{ + "fields": { + "name": "Please enter spouse's other name", + "description": "For step 3" + }, + "model": "core.question", + "pk": "other_name_spouse" +}, +{ + "fields": { + "name": "What was their last name when you were born?", + "description": "For step 3, Form 1 2. Divorce section A" + }, + "model": "core.question", + "pk": "last_name_born_spouse" +}, +{ + "fields": { + "name": "What was their last name immediately before you were married?", + "description": "For step 3, Form 1 2. Divorce section A" + }, + "model": "core.question", + "pk": "last_name_before_married_spouse" +}, +{ + "fields": { + "name": "What is your spouse's birthday?", + "description": "For step 3, Form 1 2. Divorce section A" + }, + "model": "core.question", + "pk": "birthday_spouse" +}, +{ + "fields": { + "name": "How long has your spouse lived in British Columbia?", + "description": "For step 3, Form 1 2. Divorce section A" + }, + "model": "core.question", + "pk": "lived_in_bc_spouse" +}, +{ + "fields": { + "name": "Spouse moved to British Columbia on", + "description": "For step 3, Form 1 2. Divorce section A" + }, + "model": "core.question", + "pk": "moved_to_bc_date_spouse" +}, +{ + "fields": { + "name": "When were you married?", + "description": "For step 4, Form 1 1. Relationship history" + }, + "model": "core.question", + "pk": "when_were_you_married" +}, +{ + "fields": { + "name": "When did you and your spouse begin to live together in a marriage-like relationship?", + "description": "For step 4, Form 1 1. Relationship history" + }, + "model": "core.question", + "pk": "when_were_you_live_married_like" +}, +{ + "fields": { + "name": "Where were you married? City", + "description": "For step 4, Form 1 2. Divorce section A" + }, + "model": "core.question", + "pk": "where_were_you_married_city" +}, +{ + "fields": { + "name": "Where were you married? Prov", + "description": "For step 4, Form 1 2. Divorce section A" + }, + "model": "core.question", + "pk": "where_were_you_married_prov" +}, +{ + "fields": { + "name": "Where were you married? Country", + "description": "For step 4, Form 1 2. Divorce section A" + }, + "model": "core.question", + "pk": "where_were_you_married_country" +}, +{ + "fields": { + "name": "Where were you married? Other Country", + "description": "For step 4, Form 1 2. Divorce section A" + }, + "model": "core.question", + "pk": "where_were_you_married_other_country" +}, +{ + "fields": { + "name": "Before you got married to your spouse, what was your marital status?", + "description": "For step 4, Form 1 2. Divorce section A" + }, + "model": "core.question", + "pk": "marital_status_before_you" +}, +{ + "fields": { + "name": "What was the marital status of your spouse before your marriage?", + "description": "For step 4, Form 1 2. Divorce section A" + }, + "model": "core.question", + "pk": "marital_status_before_spouse" +}, +{ + "fields": { + "name": "Did you and your spouse try and reconcile after you separated?", + "description": "For pre-qualification step 3, For step 5, Form 1 2. Divorce section B" + }, + "model": "core.question", + "pk": "try_reconcile_after_separated" +}, +{ + "fields": { + "name": "There is no possibility my spouse and I will get back together (reconciliation).", + "description": "For step 5, Form 1 2. Divorce section C" + }, + "model": "core.question", + "pk": "no_reconciliation_possible" +}, +{ + "fields": { + "name": "There has been no collusion, as defined in section 11(4) of the Divorce Act (Canada), in relation to this claim for divorce.", + "description": "For step 5, Form 1 2. Divorce section C" + }, + "model": "core.question", + "pk": "no_collusion" +}, +{ + "fields": { + "name": "Is your marriage certificate or registration of marriage in English?", + "description": "For pre-qualification step 5, For step 5" + }, + "model": "core.question", + "pk": "marriage_certificate_in_english" +}, +{ + "fields": { + "name": "You and your spouse are asking for an order for spousal support as follows", + "description": "For step 6, Form 1 5. Spousal support" + }, + "model": "core.question", + "pk": "spouse_support_details" +}, +{ + "fields": { + "name": "Please indicate which act you are asking for support under.", + "description": "For step 6, Form 1 5. Spousal support" + }, + "model": "core.question", + "pk": "spouse_support_act" +}, +{ + "fields": { + "name": "How have you and your spouse agreed to deal with your property and debt?", + "description": "For step 7, Form 1 6. Property and debt" + }, + "model": "core.question", + "pk": "deal_with_property_debt" +}, +{ + "fields": { + "name": "At what court registry will you be filing?", + "description": "For step 10, Form 1 court registry" + }, + "model": "core.question", + "pk": "court_registry_for_filing" +}, +{ + "fields": { + "name": "What is the best address to send you official court documents? Street Number", + "description": "For step 10, Form 1 8. Claimants' addresses for service" + }, + "model": "core.question", + "pk": "address_to_send_official_document_street" +}, +{ + "fields": { + "name": "What is the best address to send you official court documents? City", + "description": "For step 10, Form 1 8. Claimants' addresses for service" + }, + "model": "core.question", + "pk": "address_to_send_official_document_city" +}, +{ + "fields": { + "name": "What is the best address to send you official court documents? Prov", + "description": "For step 10, Form 1 8. Claimants' addresses for service" + }, + "model": "core.question", + "pk": "address_to_send_official_document_prov" +}, +{ + "fields": { + "name": "What is the best address to send you official court documents? Country", + "description": "For step 10, Form 1 8. Claimants' addresses for service" + }, + "model": "core.question", + "pk": "address_to_send_official_document_country" +}, +{ + "fields": { + "name": "What is the best address to send you official court documents? Other Country", + "description": "For step 10, Form 1 8. Claimants' addresses for service" + }, + "model": "core.question", + "pk": "address_to_send_official_document_other_country" +}, +{ + "fields": { + "name": "What is the best address to send you official court documents? Fax number", + "description": "For step 10, Form 1 8. Claimants' addresses for service" + }, + "model": "core.question", + "pk": "address_to_send_official_document_fax" +}, +{ + "fields": { + "name": "What is the best address to send you official court documents? Email", + "description": "For step 10, Form 1 8. Claimants' addresses for service" + }, + "model": "core.question", + "pk": "address_to_send_official_document_email" } ] From 0cfd3ad19833573ce881a80674986bdd0e4c3910 Mon Sep 17 00:00:00 2001 From: Mike Olund Date: Sun, 19 Feb 2017 19:38:10 -0800 Subject: [PATCH 05/39] Fixed 302 redirect behaviour with Justice reverse proxy --- edivorce/apps/core/decorators.py | 2 +- edivorce/apps/core/views/localdev.py | 2 +- edivorce/apps/core/views/main.py | 6 +++--- edivorce/settings/base.py | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/edivorce/apps/core/decorators.py b/edivorce/apps/core/decorators.py index d74fb410..32e9b8b2 100644 --- a/edivorce/apps/core/decorators.py +++ b/edivorce/apps/core/decorators.py @@ -9,7 +9,7 @@ def bceid_required(function=None): def _dec(view_func): def _view(request, *args, **kwargs): if not request.bceid_user.is_authenticated: - return redirect(settings.FORCE_SCRIPT_NAME + '/login') + return redirect(settings.FORCE_SCRIPT_NAME[:-1] + '/login') else: return view_func(request, *args, **kwargs) diff --git a/edivorce/apps/core/views/localdev.py b/edivorce/apps/core/views/localdev.py index 57d4be2a..51e80b59 100644 --- a/edivorce/apps/core/views/localdev.py +++ b/edivorce/apps/core/views/localdev.py @@ -19,7 +19,7 @@ def bceid(request): # save the guid in a session variable request.session['fake-bceid-guid'] = fake_guid - return redirect(settings.FORCE_SCRIPT_NAME + '/login') + return redirect(settings.FORCE_SCRIPT_NAME[:-1] + '/login') else: return render(request, 'localdev/bceid.html') diff --git a/edivorce/apps/core/views/main.py b/edivorce/apps/core/views/main.py index 499c6fa0..49110b5f 100644 --- a/edivorce/apps/core/views/main.py +++ b/edivorce/apps/core/views/main.py @@ -32,7 +32,7 @@ def preview(request, form): def login(request): if not request.session.get('fake-bceid-guid'): - return redirect(settings.FORCE_SCRIPT_NAME + '/bceid') + return redirect(settings.FORCE_SCRIPT_NAME[:-1] + '/bceid') else: guid = request.bceid_user.guid user, created = BceidUser.objects.get_or_create(user_guid=guid) @@ -42,12 +42,12 @@ def login(request): copy_session_to_db(request, user) - return redirect(settings.FORCE_SCRIPT_NAME + '/overview') + return redirect(settings.FORCE_SCRIPT_NAME[:-1] + '/overview') def logout(request): request.session.flush() - return redirect(settings.FORCE_SCRIPT_NAME + '/intro') + return redirect(settings.FORCE_SCRIPT_NAME[:-1] + '/intro') @bceid_required diff --git a/edivorce/settings/base.py b/edivorce/settings/base.py index 0a141984..e4e1d476 100644 --- a/edivorce/settings/base.py +++ b/edivorce/settings/base.py @@ -116,4 +116,4 @@ COMPRESS_PRECOMPILERS = ( ('text/x-scss', 'django_libsass.SassCompiler'), ) -FORCE_SCRIPT_NAME = '' +FORCE_SCRIPT_NAME = '/' From 32c77ef9d1eef9d9e2799edf1ea522c55bb860ac Mon Sep 17 00:00:00 2001 From: Mike Olund Date: Sun, 19 Feb 2017 19:52:31 -0800 Subject: [PATCH 06/39] Added a password to the login form, just in case anyone from the general public discovers the dev server before bceid is fully configured --- edivorce/apps/core/templates/localdev/bceid.html | 2 +- edivorce/apps/core/views/localdev.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/edivorce/apps/core/templates/localdev/bceid.html b/edivorce/apps/core/templates/localdev/bceid.html index 4d2a44e0..43cc271a 100644 --- a/edivorce/apps/core/templates/localdev/bceid.html +++ b/edivorce/apps/core/templates/localdev/bceid.html @@ -35,7 +35,7 @@
-
Log in to justice.gov.bc.ca/divorce
+
FAKE BCeID LOGIN – FOR SOFTWARE DEVELOPMENT PURPOSES ONLY
diff --git a/edivorce/apps/core/views/localdev.py b/edivorce/apps/core/views/localdev.py index 51e80b59..fbe11f69 100644 --- a/edivorce/apps/core/views/localdev.py +++ b/edivorce/apps/core/views/localdev.py @@ -11,6 +11,12 @@ def bceid(request): """ fake bceid login for developer workstation environment """ if request.method == "POST": login_name = request.POST.get('user', '') + password = request.POST.get('password', '') + + # just in case anyone from the general public discovers the dev server + # make sure they don't accidentally login and think this is production + if password.lower() != 'divorce': + return redirect(settings.FORCE_SCRIPT_NAME[:-1] + '/bceid') # convert the login name to a guid hex_name = decode(binascii.hexlify(str.encode(login_name)))[0] From 0f19d407d6b402e005c81358780096650aebd276 Mon Sep 17 00:00:00 2001 From: Mike Olund Date: Sun, 19 Feb 2017 19:53:56 -0800 Subject: [PATCH 07/39] updated the build templates following git repository move and weasyprint fork --- .env.example | 10 ++++++++++ openshift/templates/edivorce-build-template.yaml | 2 +- .../templates/edivorce-environment-template.yaml | 11 ++++++----- openshift/templates/nginx-build-template.yaml | 2 +- 4 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 .env.example diff --git a/.env.example b/.env.example new file mode 100644 index 00000000..3b4b5ce2 --- /dev/null +++ b/.env.example @@ -0,0 +1,10 @@ +LOCAL_DEV=True +DEBUG=True +TEMPLATE_DEBUG=True +DJANGO_SECRET_KEY= +DATABASE_ENGINE=django.db.backends.sqlite3 +DATABASE_NAME=db.sqlite3 +DATABASE_USER= +DATABASE_PASSWORD= +DATABASE_HOST= +DATABASE_PORT= diff --git a/openshift/templates/edivorce-build-template.yaml b/openshift/templates/edivorce-build-template.yaml index 9ffc95c4..5a1cae43 100644 --- a/openshift/templates/edivorce-build-template.yaml +++ b/openshift/templates/edivorce-build-template.yaml @@ -66,7 +66,7 @@ parameters: displayName: Git Repository URL required: true description: The URL of the repository with your application source code. - value: https://github.com/bcgov/eDivorce.git + value: https://github.com/bcgov/eDivorce - name: SOURCE_REPOSITORY_REF displayName: Git Reference description: Set this to a branch name, tag or other ref of your repository if you are not using the default branch. diff --git a/openshift/templates/edivorce-environment-template.yaml b/openshift/templates/edivorce-environment-template.yaml index 080a6851..d880e94b 100644 --- a/openshift/templates/edivorce-environment-template.yaml +++ b/openshift/templates/edivorce-environment-template.yaml @@ -187,10 +187,10 @@ objects: tags: - name: latest annotations: - openshift.io/imported-from: aquavitae/weasyprint + openshift.io/imported-from: jag-csb-edivorce-tools/weasyprint from: kind: DockerImage - name: aquavitae/weasyprint + name: jag-csb-edivorce-tools/weasyprint - kind: Service apiVersion: v1 metadata: @@ -216,7 +216,7 @@ objects: spec: strategy: type: Recreate - triggers: + triggers: - type: ImageChange imageChangeParams: automatic: true @@ -224,7 +224,8 @@ objects: - weasyprint from: kind: ImageStreamTag - name: 'aquavitae/weasyprint:latest' + namespace: jag-csb-edivorce-tools + name: 'weasyprint:latest' replicas: 1 selector: name: weasyprint @@ -238,7 +239,7 @@ objects: spec: containers: - name: weasyprint - image: 'aquavitae/weasyprint' + image: 'jag-csb-edivorce-tools/weasyprint' ports: - containerPort: 5001 protocol: TCP diff --git a/openshift/templates/nginx-build-template.yaml b/openshift/templates/nginx-build-template.yaml index 342e0f37..ed43dc98 100644 --- a/openshift/templates/nginx-build-template.yaml +++ b/openshift/templates/nginx-build-template.yaml @@ -64,7 +64,7 @@ parameters: - name: SOURCE_REPOSITORY_URL displayName: Git Repository URL description: The URL of the repository with your nginx configuration code. - value: https://github.com/molund/eDivorce + value: https://github.com/bcgov/eDivorce required: true - name: SOURCE_REPOSITORY_CONTEXT_DIR displayName: Git sub-directory From 7fd9dcb59b2cc1889f6beccf4ec2aaf4b2f85ef5 Mon Sep 17 00:00:00 2001 From: Mike Olund Date: Mon, 20 Feb 2017 12:00:16 -0800 Subject: [PATCH 08/39] fixed proxy url error in ajax requests --- edivorce/apps/core/middleware/bceid_middleware.py | 6 ++++++ edivorce/apps/core/static/js/ajax.js | 2 +- edivorce/apps/core/templates/base.html | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/edivorce/apps/core/middleware/bceid_middleware.py b/edivorce/apps/core/middleware/bceid_middleware.py index a22a9b2d..37913bd0 100644 --- a/edivorce/apps/core/middleware/bceid_middleware.py +++ b/edivorce/apps/core/middleware/bceid_middleware.py @@ -1,5 +1,7 @@ import uuid +from django.conf import settings + class BceidUser(object): def __init__(self, guid, first_name, last_name, type, is_authenticated): @@ -12,6 +14,10 @@ class BceidUser(object): class BceidMiddleware(object): def process_request(self, request): + + # make the FORCE_SCRIPT_NAME available in templates + request.proxy_root_path = settings.FORCE_SCRIPT_NAME + # todo: Make sure the request is coming from the justice proxy (via IP/host check) # 1. Real BCeID user diff --git a/edivorce/apps/core/static/js/ajax.js b/edivorce/apps/core/static/js/ajax.js index df145246..1c8100b3 100644 --- a/edivorce/apps/core/static/js/ajax.js +++ b/edivorce/apps/core/static/js/ajax.js @@ -49,7 +49,7 @@ var getCSRFToken = function () { // Ajax called when user update their response var ajaxCall = function(question, value){ // var url = $(location).attr('href'); - var url = $(location).attr('origin') + '/api/response'; + var url = $(location).attr('origin') + window.sm_base_url + 'api/response'; // add CSRF_TOKEN to POST var csrf_token = getCSRFToken(); diff --git a/edivorce/apps/core/templates/base.html b/edivorce/apps/core/templates/base.html index 48120477..1eaaf91a 100644 --- a/edivorce/apps/core/templates/base.html +++ b/edivorce/apps/core/templates/base.html @@ -21,6 +21,9 @@ + From d23ecb96a4c99c729590539d4319cea8525b677f Mon Sep 17 00:00:00 2001 From: Mike Olund Date: Mon, 20 Feb 2017 12:25:04 -0800 Subject: [PATCH 09/39] fixed proxy url errors in pdf html-view static css --- edivorce/apps/core/views/pdf.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/edivorce/apps/core/views/pdf.py b/edivorce/apps/core/views/pdf.py index 9c74e689..dfb7dc44 100644 --- a/edivorce/apps/core/views/pdf.py +++ b/edivorce/apps/core/views/pdf.py @@ -22,11 +22,17 @@ def form(request, form_number): def render_form(request, form_name, context): + + output_as_html = request.GET.get('html', None) is not None + + if output_as_html: + context["css_root"] = settings.FORCE_SCRIPT_NAME[:-1] + # render to form as HTML rendered_html = render_to_string('pdf/' + form_name + '.html', context=context) # if '?html' is in the querystring, then return the plain html - if request.GET.get('html', None) is not None: + if output_as_html: return HttpResponse(rendered_html) else: From 64bebdbd6f1d4f9e14b46556ab126ff098345ecf Mon Sep 17 00:00:00 2001 From: Mike Olund Date: Mon, 20 Feb 2017 12:33:22 -0800 Subject: [PATCH 10/39] Updated Apache 2.0 license to Province of BC version --- README.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6ceb6df7..b40eb72f 100644 --- a/README.md +++ b/README.md @@ -128,6 +128,16 @@ For local development a SQLite database will be used. For OpenShift deployments ## License -Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 -THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. -See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. + Copyright 2017 Province of British Columbia + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file From 19af88791977e2157bacd6bf57ed9298c3600a16 Mon Sep 17 00:00:00 2001 From: Foley Lynn Date: Mon, 20 Feb 2017 17:47:28 -0800 Subject: [PATCH 11/39] CSS cleanup of question flow, updates to styleguide --- .gitignore | 3 +++ edivorce/apps/core/static/css/main.scss | 16 ++++++++++++++++ .../apps/core/templates/styleguide/guide.html | 16 +++++++++++++++- 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 651f49f7..a7763bba 100644 --- a/.gitignore +++ b/.gitignore @@ -59,3 +59,6 @@ docs/_build/ # PyBuilder target/ + +# Local env settings +.env* diff --git a/edivorce/apps/core/static/css/main.scss b/edivorce/apps/core/static/css/main.scss index e5c6d334..2798ba09 100644 --- a/edivorce/apps/core/static/css/main.scss +++ b/edivorce/apps/core/static/css/main.scss @@ -108,6 +108,7 @@ a { .tooltip-arrow { border-top-color: $brand-titles; } +.tooltip.in {opacity: 1;} .tooltip-inner { text-align: left; background-color: $brand-titles; @@ -281,6 +282,21 @@ input { box-shadow: inset 0 1px 1px rgba($color-grey-dark,.075), 0 0 8px rgba($color-grey-medium,.6); } &+i.fa {margin-left: 10px;} + &.form-block { + display: block; + margin-bottom: 10px; + } + &.input-wide { + width: 50%; + } + &.input-narrow { + max-width: 100px; + } + &.input-inline { + padding: 0 20px; + border-radius: 5px; + margin-left: 5px; + } } diff --git a/edivorce/apps/core/templates/styleguide/guide.html b/edivorce/apps/core/templates/styleguide/guide.html index 0beb0e68..3d3f7ce3 100644 --- a/edivorce/apps/core/templates/styleguide/guide.html +++ b/edivorce/apps/core/templates/styleguide/guide.html @@ -13,7 +13,7 @@

When were you married?

- Enter exact date as it appears on your Enter exact date as it appears on your marriage certificate

@@ -57,6 +57,10 @@

+
+ +
+

Payments to support you, not the children.

From c00b226e22f347bd400dce79e67a1242753f8413 Mon Sep 17 00:00:00 2001 From: Foley Lynn Date: Tue, 21 Feb 2017 16:22:02 -0800 Subject: [PATCH 12/39] Slimmed down css for preview and pdf, additions to styleguide --- .../core/static/css/bootstrap-slim.min.css | 14 + edivorce/apps/core/static/css/main.scss | 7 + edivorce/apps/core/static/css/weasyprint.css | 34 ++- edivorce/apps/core/static/fonts/fa-slim.eot | Bin 0 -> 5444 bytes edivorce/apps/core/static/fonts/fa-slim.svg | 14 + edivorce/apps/core/static/fonts/fa-slim.ttf | Bin 0 -> 5276 bytes edivorce/apps/core/static/fonts/fa-slim.woff | Bin 0 -> 3020 bytes edivorce/apps/core/static/fonts/fa-slim.woff2 | Bin 0 -> 2436 bytes .../fonts/glyphicons-halflings-regular.eot | Bin 20127 -> 0 bytes .../fonts/glyphicons-halflings-regular.svg | 288 ------------------ .../fonts/glyphicons-halflings-regular.ttf | Bin 45404 -> 0 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 23424 -> 0 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 18028 -> 0 bytes edivorce/apps/core/templates/pdf/form1.html | 81 +++-- edivorce/apps/core/templates/pdf/form35.html | 2 +- .../apps/core/templates/styleguide/guide.html | 18 ++ 16 files changed, 127 insertions(+), 331 deletions(-) create mode 100755 edivorce/apps/core/static/css/bootstrap-slim.min.css create mode 100755 edivorce/apps/core/static/fonts/fa-slim.eot create mode 100755 edivorce/apps/core/static/fonts/fa-slim.svg create mode 100755 edivorce/apps/core/static/fonts/fa-slim.ttf create mode 100755 edivorce/apps/core/static/fonts/fa-slim.woff create mode 100755 edivorce/apps/core/static/fonts/fa-slim.woff2 delete mode 100644 edivorce/apps/core/static/fonts/glyphicons-halflings-regular.eot delete mode 100644 edivorce/apps/core/static/fonts/glyphicons-halflings-regular.svg delete mode 100644 edivorce/apps/core/static/fonts/glyphicons-halflings-regular.ttf delete mode 100644 edivorce/apps/core/static/fonts/glyphicons-halflings-regular.woff delete mode 100644 edivorce/apps/core/static/fonts/glyphicons-halflings-regular.woff2 diff --git a/edivorce/apps/core/static/css/bootstrap-slim.min.css b/edivorce/apps/core/static/css/bootstrap-slim.min.css new file mode 100755 index 00000000..bfa37ad3 --- /dev/null +++ b/edivorce/apps/core/static/css/bootstrap-slim.min.css @@ -0,0 +1,14 @@ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2017 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +/*! + * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=c10632e7641ea7170f89e912c0e53180) + * Config saved to config.json and https://gist.github.com/c10632e7641ea7170f89e912c0e53180 + *//*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover,a.text-primary:focus{color:#286090}.text-success{color:#3c763d}a.text-success:hover,a.text-success:focus{color:#2b542c}.text-info{color:#31708f}a.text-info:hover,a.text-info:focus{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover,a.text-warning:focus{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover,a.text-danger:focus{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover,a.bg-primary:focus{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed} \ No newline at end of file diff --git a/edivorce/apps/core/static/css/main.scss b/edivorce/apps/core/static/css/main.scss index 2798ba09..0ad20203 100644 --- a/edivorce/apps/core/static/css/main.scss +++ b/edivorce/apps/core/static/css/main.scss @@ -392,6 +392,13 @@ input { } } +#form_navigation { + display: flex; + form { + margin-right: 10px; + } +} + #more_information { position: absolute; top: 191px; diff --git a/edivorce/apps/core/static/css/weasyprint.css b/edivorce/apps/core/static/css/weasyprint.css index b87f3543..aaeddaa9 100644 --- a/edivorce/apps/core/static/css/weasyprint.css +++ b/edivorce/apps/core/static/css/weasyprint.css @@ -1,3 +1,34 @@ +/*** Slimmed down Font-Awesome icons, thanks to http://fontello.com ***/ +@font-face { + font-family: 'fa-slim'; + src: url('../fonts/fa-slim.eot?98608185'); + src: url('../fonts/fa-slim.eot?98608185#iefix') format('embedded-opentype'), + url('../fonts/fa-slim.woff?98608185') format('woff'), + url('../fonts/fa-slim.ttf?98608185') format('truetype'), + url('../fonts/fa-slim.svg?98608185#fontello') format('svg'); + font-weight: normal; + font-style: normal; +} + +.fa { + font-family: "fa-slim"; + font-style: normal; + font-weight: normal; + speak: none; + display: inline-block; + text-decoration: inherit; + width: 1em; + margin-right: .2em; + text-align: center; + font-variant: normal; + text-transform: none; + line-height: 1em; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/*** end font awesome ***/ + @media screen { .print-wrapper { font-size: 15px; @@ -66,4 +97,5 @@ i.fa { .table-fixed { table-layout: fixed; -} \ No newline at end of file +} + diff --git a/edivorce/apps/core/static/fonts/fa-slim.eot b/edivorce/apps/core/static/fonts/fa-slim.eot new file mode 100755 index 0000000000000000000000000000000000000000..867b40ec3d2d64bd36e195d3c3bcccaa21d9b535 GIT binary patch literal 5444 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 literal 0 HcmV?d00001 diff --git a/edivorce/apps/core/static/fonts/fa-slim.svg b/edivorce/apps/core/static/fonts/fa-slim.svg new file mode 100755 index 00000000..f43116d6 --- /dev/null +++ b/edivorce/apps/core/static/fonts/fa-slim.svg @@ -0,0 +1,14 @@ + + + +Copyright (C) 2017 by original authors @ fontello.com + + + + + + + + + + \ No newline at end of file diff --git a/edivorce/apps/core/static/fonts/fa-slim.ttf b/edivorce/apps/core/static/fonts/fa-slim.ttf new file mode 100755 index 0000000000000000000000000000000000000000..0cc7f08eef142f5c6a4354ae80b2514894919810 GIT binary patch literal 5276 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 da`=>h=60im@x-rm){y(vL`$u_!YzDl`5L6wL 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 literal 0 HcmV?d00001 diff --git a/edivorce/apps/core/static/fonts/fa-slim.woff2 b/edivorce/apps/core/static/fonts/fa-slim.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..869cae07b4d84f285b64b2829f45b720723ba5b6 GIT binary patch literal 2436 zcmV-~348W;Pew8T0RR91011Qu4*&oF02G`600}Js0RR9100000000000000000000 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/edivorce/apps/core/static/fonts/glyphicons-halflings-regular.ttf b/edivorce/apps/core/static/fonts/glyphicons-halflings-regular.ttf deleted file mode 100644 index 1413fc609ab6f21774de0cb7e01360095584f65b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45404 zcmd?Sd0-pWwLh*qi$?oCk~i6sWlOeWJC3|4juU5JNSu9hSVACzERcmjLV&P^utNzg zIE4Kr1=5g!SxTX#Ern9_%4&01rlrW`Z!56xXTGQR4C z3vR~wXq>NDx$c~e?;ia3YjJ*$!C>69a?2$lLyhpI!CFfJsP=|`8@K0|bbMpWwVUEygg0=0x_)HeHpGSJagJNLA3c!$EuOV>j$wi! zbo{vZ(s8tl>@!?}dmNHXo)ABy7ohD7_1G-P@SdJWT8*oeyBVYVW9*vn}&VI4q++W;Z+uz=QTK}^C75!`aFYCX# zf7fC2;o`%!huaTNJAB&VWrx=szU=VLhwnbT`vc<#<`4WI6n_x@AofA~2d90o?1L3w z9!I|#P*NQ)$#9aASijuw>JRld^-t)Zhmy|i-`Iam|IWkguaMR%lhi4p~cX-9& zjfbx}yz}s`4-6>D^+6FzihR)Y!GsUy=_MWi_v7y#KmYi-{iZ+s@ekkq!@Wxz!~BQwiI&ti z>hC&iBe2m(dpNVvSbZe3DVgl(dxHt-k@{xv;&`^c8GJY%&^LpM;}7)B;5Qg5J^E${ z7z~k8eWOucjX6)7q1a%EVtmnND8cclz8R1=X4W@D8IDeUGXxEWe&p>Z*voO0u_2!! zj3dT(Ki+4E;uykKi*yr?w6!BW2FD55PD6SMj`OfBLwXL5EA-9KjpMo4*5Eqs^>4&> z8PezAcn!9jk-h-Oo!E9EjX8W6@EkTHeI<@AY{f|5fMW<-Ez-z)xCvW3()Z#x0oydB zzm4MzY^NdpIF9qMp-jU;99LjlgY@@s+=z`}_%V*xV7nRV*Kwrx-i`FzI0BZ#yOI8# z!SDeNA5b6u9!Imj89v0(g$;dT_y|Yz!3V`i{{_dez8U@##|X9A};s^7vEd!3AcdyVlhVk$v?$O442KIM1-wX^R{U7`JW&lPr3N(%kXfXT_`7w^? z=#ntx`tTF|N$UT?pELvw7T*2;=Q-x@KmDUIbLyXZ>f5=y7z1DT<7>Bp0k;eItHF?1 zErzhlD2B$Tm|^7DrxnTYm-tgg`Mt4Eivp5{r$o9e)8(fXBO4g|G^6Xy?y$SM*&V52 z6SR*%`%DZC^w(gOWQL?6DRoI*hBNT)xW9sxvmi@!vI^!mI$3kvAMmR_q#SGn3zRb_ zGe$=;Tv3dXN~9XuIHow*NEU4y&u}FcZEZoSlXb9IBOA}!@J3uovp}yerhPMaiI8|SDhvWVr z^BE&yx6e3&RYqIg;mYVZ*3#A-cDJ;#ms4txEmwm@g^s`BB}KmSr7K+ruIoKs=s|gOXP|2 zb1!)87h9?(+1^QRWb(Vo8+@G=o24gyuzF3ytfsKjTHZJ}o{YznGcTDm!s)DRnmOX} z3pPL4wExoN$kyc2>#J`k+<67sy-VsfbQ-1u+HkyFR?9G`9r6g4*8!(!c65Be-5hUg zZHY$M0k(Yd+DT1*8)G(q)1&tDl=g9H7!bZTOvEEFnBOk_K=DXF(d4JOaH zI}*A3jGmy{gR>s}EQzyJa_q_?TYPNXRU1O;fcV_&TQZhd{@*8Tgpraf~nT0BYktu*n{a~ub^UUqQPyr~yBY{k2O zgV)honv{B_CqY|*S~3up%Wn%7i*_>Lu|%5~j)}rQLT1ZN?5%QN`LTJ}vA!EE=1`So z!$$Mv?6T)xk)H8JTrZ~m)oNXxS}pwPd#);<*>zWsYoL6iK!gRSBB{JCgB28C#E{T? z5VOCMW^;h~eMke(w6vLlKvm!!TyIf;k*RtK)|Q>_@nY#J%=h%aVb)?Ni_By)XNxY)E3`|}_u}fn+Kp^3p4RbhFUBRtGsDyx9Eolg77iWN z2iH-}CiM!pfYDIn7;i#Ui1KG01{3D<{e}uWTdlX4Vr*nsb^>l0%{O?0L9tP|KGw8w z+T5F}md>3qDZQ_IVkQ|BzuN08uN?SsVt$~wcHO4pB9~ykFTJO3g<4X({-Tm1w{Ufo zI03<6KK`ZjqVyQ(>{_aMxu7Zm^ck&~)Q84MOsQ-XS~{6j>0lTl@lMtfWjj;PT{nlZ zIn0YL?kK7CYJa)(8?unZ)j8L(O}%$5S#lTcq{rr5_gqqtZ@*0Yw4}OdjL*kBv+>+@ z&*24U=y{Nl58qJyW1vTwqsvs=VRAzojm&V zEn6=WzdL1y+^}%Vg!ap>x%%nFi=V#wn# zUuheBR@*KS)5Mn0`f=3fMwR|#-rPMQJg(fW*5e`7xO&^UUH{L(U8D$JtI!ac!g(Ze89<`UiO@L+)^D zjPk2_Ie0p~4|LiI?-+pHXuRaZKG$%zVT0jn!yTvvM^jlcp`|VSHRt-G@_&~<4&qW@ z?b#zIN)G(}L|60jer*P7#KCu*Af;{mpWWvYK$@Squ|n-Vtfgr@ZOmR5Xpl;0q~VILmjk$$mgp+`<2jP z@+nW5Oap%fF4nFwnVwR7rpFaOdmnfB$-rkO6T3#w^|*rft~acgCP|ZkgA6PHD#Of| zY%E!3tXtsWS`udLsE7cSE8g@p$ceu*tI71V31uA7jwmXUCT7+Cu3uv|W>ZwD{&O4Nfjjvl43N#A$|FWxId! z%=X!HSiQ-#4nS&smww~iXRn<-`&zc)nR~js?|Ei-cei$^$KsqtxNDZvl1oavXK#Pz zT&%Wln^Y5M95w=vJxj0a-ko_iQt(LTX_5x#*QfQLtPil;kkR|kz}`*xHiLWr35ajx zHRL-QQv$|PK-$ges|NHw8k6v?&d;{A$*q15hz9{}-`e6ys1EQ1oNNKDFGQ0xA!x^( zkG*-ueZT(GukSnK&Bs=4+w|(kuWs5V_2#3`!;f}q?>xU5IgoMl^DNf+Xd<=sl2XvkqviJ>d?+G@Z5nxxd5Sqd$*ENUB_mb8Z+7CyyU zA6mDQ&e+S~w49csl*UePzY;^K)Fbs^%?7;+hFc(xz#mWoek4_&QvmT7Fe)*{h-9R4 zqyXuN5{)HdQ6yVi#tRUO#M%;pL>rQxN~6yoZ)*{{!?jU)RD*oOxDoTjVh6iNmhWNC zB5_{R=o{qvxEvi(khbRS`FOXmOO|&Dj$&~>*oo)bZz%lPhEA@ zQ;;w5eu5^%i;)w?T&*=UaK?*|U3~{0tC`rvfEsRPgR~16;~{_S2&=E{fE2=c>{+y} zx1*NTv-*zO^px5TA|B```#NetKg`19O!BK*-#~wDM@KEllk^nfQ2quy25G%)l72<> zzL$^{DDM#jKt?<>m;!?E2p0l12`j+QJjr{Lx*47Nq(v6i3M&*P{jkZB{xR?NOSPN% zU>I+~d_ny=pX??qjF*E78>}Mgts@_yn`)C`wN-He_!OyE+gRI?-a>Om>Vh~3OX5+& z6MX*d1`SkdXwvb7KH&=31RCC|&H!aA1g_=ZY0hP)-Wm6?A7SG0*|$mC7N^SSBh@MG z9?V0tv_sE>X==yV{)^LsygK2=$Mo_0N!JCOU?r}rmWdHD%$h~~G3;bt`lH& zAuOOZ=G1Mih**0>lB5x+r)X^8mz!0K{SScj4|a=s^VhUEp#2M=^#WRqe?T&H9GnWa zYOq{+gBn9Q0e0*Zu>C(BAX=I-Af9wIFhCW6_>TsIH$d>|{fIrs&BX?2G>GvFc=<8` zVJ`#^knMU~65dWGgXcht`Kb>{V2oo%<{NK|iH+R^|Gx%q+env#Js*(EBT3V0=w4F@W+oLFsA)l7Qy8mx_;6Vrk;F2RjKFvmeq} zro&>@b^(?f))OoQ#^#s)tRL>b0gzhRYRG}EU%wr9GjQ#~Rpo|RSkeik^p9x2+=rUr}vfnQoeFAlv=oX%YqbLpvyvcZ3l$B z5bo;hDd(fjT;9o7g9xUg3|#?wU2#BJ0G&W1#wn?mfNR{O7bq747tc~mM%m%t+7YN}^tMa24O4@w<|$lk@pGx!;%pKiq&mZB z?3h<&w>un8r?Xua6(@Txu~Za9tI@|C4#!dmHMzDF_-_~Jolztm=e)@vG11bZQAs!tFvd9{C;oxC7VfWq377Y(LR^X_TyX9bn$)I765l=rJ%9uXcjggX*r?u zk|0!db_*1$&i8>d&G3C}A`{Fun_1J;Vx0gk7P_}8KBZDowr*8$@X?W6v^LYmNWI)lN92yQ;tDpN zOUdS-W4JZUjwF-X#w0r;97;i(l}ZZT$DRd4u#?pf^e2yaFo zbm>I@5}#8FjsmigM8w_f#m4fEP~r~_?OWB%SGWcn$ThnJ@Y`ZI-O&Qs#Y14To( zWAl>9Gw7#}eT(!c%D0m>5D8**a@h;sLW=6_AsT5v1Sd_T-C4pgu_kvc?7+X&n_fct znkHy(_LExh=N%o3I-q#f$F4QJpy>jZBW zRF7?EhqTGk)w&Koi}QQY3sVh?@e-Z3C9)P!(hMhxmXLC zF_+ZSTQU`Gqx@o(~B$dbr zHlEUKoK&`2gl>zKXlEi8w6}`X3kh3as1~sX5@^`X_nYl}hlbpeeVlj#2sv)CIMe%b zBs7f|37f8qq}gA~Is9gj&=te^wN8ma?;vF)7gce;&sZ64!7LqpR!fy)?4cEZposQ8 zf;rZF7Q>YMF1~eQ|Z*!5j0DuA=`~VG$Gg6B?Om1 z6fM@`Ck-K*k(eJ)Kvysb8sccsFf@7~3vfnC=<$q+VNv)FyVh6ZsWw}*vs>%k3$)9| zR9ek-@pA23qswe1io)(Vz!vS1o*XEN*LhVYOq#T`;rDkgt86T@O`23xW~;W_#ZS|x zvwx-XMb7_!hIte-#JNpFxskMMpo2OYhHRr0Yn8d^(jh3-+!CNs0K2B!1dL$9UuAD= zQ%7Ae(Y@}%Cd~!`h|wAdm$2WoZ(iA1(a_-1?znZ%8h72o&Mm*4x8Ta<4++;Yr6|}u zW8$p&izhdqF=m8$)HyS2J6cKyo;Yvb>DTfx4`4R{ zPSODe9E|uflE<`xTO=r>u~u=NuyB&H!(2a8vwh!jP!yfE3N>IiO1jI>7e&3rR#RO3_}G23W?gwDHgSgekzQ^PU&G5z&}V5GO? zfg#*72*$DP1T8i`S7=P;bQ8lYF9_@8^C(|;9v8ZaK2GnWz4$Th2a0$)XTiaxNWfdq z;yNi9veH!j)ba$9pke8`y2^63BP zIyYKj^7;2don3se!P&%I2jzFf|LA&tQ=NDs{r9fIi-F{-yiG-}@2`VR^-LIFN8BC4 z&?*IvLiGHH5>NY(Z^CL_A;yISNdq58}=u~9!Ia7 zm7MkDiK~lsfLpvmPMo!0$keA$`%Tm`>Fx9JpG^EfEb(;}%5}B4Dw!O3BCkf$$W-dF z$BupUPgLpHvr<<+QcNX*w@+Rz&VQz)Uh!j4|DYeKm5IC05T$KqVV3Y|MSXom+Jn8c zgUEaFW1McGi^44xoG*b0JWE4T`vka7qTo#dcS4RauUpE{O!ZQ?r=-MlY#;VBzhHGU zS@kCaZ*H73XX6~HtHd*4qr2h}Pf0Re@!WOyvres_9l2!AhPiV$@O2sX>$21)-3i+_ z*sHO4Ika^!&2utZ@5%VbpH(m2wE3qOPn-I5Tbnt&yn9{k*eMr3^u6zG-~PSr(w$p> zw)x^a*8Ru$PE+{&)%VQUvAKKiWiwvc{`|GqK2K|ZMy^Tv3g|zENL86z7i<c zW`W>zV1u}X%P;Ajn+>A)2iXZbJ5YB_r>K-h5g^N=LkN^h0Y6dPFfSBh(L`G$D%7c` z&0RXDv$}c7#w*7!x^LUes_|V*=bd&aP+KFi((tG*gakSR+FA26%{QJdB5G1F=UuU&koU*^zQA=cEN9}Vd?OEh| zgzbFf1?@LlPkcXH$;YZe`WEJ3si6&R2MRb}LYK&zK9WRD=kY-JMPUurX-t4(Wy{%` zZ@0WM2+IqPa9D(^*+MXw2NWwSX-_WdF0nMWpEhAyotIgqu5Y$wA=zfuXJ0Y2lL3#ji26-P3Z?-&0^KBc*`T$+8+cqp`%g0WB zTH9L)FZ&t073H4?t=(U6{8B+uRW_J_n*vW|p`DugT^3xe8Tomh^d}0k^G7$3wLgP& zn)vTWiMA&=bR8lX9H=uh4G04R6>C&Zjnx_f@MMY!6HK5v$T%vaFm;E8q=`w2Y}ucJ zkz~dKGqv9$E80NTtnx|Rf_)|3wxpnY6nh3U9<)fv2-vhQ6v=WhKO@~@X57N-`7Ppc zF;I7)eL?RN23FmGh0s;Z#+p)}-TgTJE%&>{W+}C`^-sy{gTm<$>rR z-X7F%MB9Sf%6o7A%ZHReD4R;imU6<9h81{%avv}hqugeaf=~^3A=x(Om6Lku-Pn9i zC;LP%Q7Xw*0`Kg1)X~nAsUfdV%HWrpr8dZRpd-#%)c#Fu^mqo|^b{9Mam`^Zw_@j@ zR&ZdBr3?@<@%4Z-%LT&RLgDUFs4a(CTah_5x4X`xDRugi#vI-cw*^{ncwMtA4NKjByYBza)Y$hozZCpuxL{IP&=tw6ZO52WY3|iwGf&IJCn+u(>icK zZB1~bWXCmwAUz|^<&ysd#*!DSp8}DLNbl5lRFat4NkvItxy;9tpp9~|@ z;JctShv^Iq4(z+y7^j&I?GCdKMVg&jCwtCkc4*@O7HY*veGDBtAIn*JgD$QftP}8= zxFAdF=(S>Ra6(4slk#h%b?EOU-96TIX$Jbfl*_7IY-|R%H zF8u|~hYS-YwWt5+^!uGcnKL~jM;)ObZ#q68ZkA?}CzV-%6_vPIdzh_wHT_$mM%vws9lxUj;E@#1UX?WO2R^41(X!nk$+2oJGr!sgcbn1f^yl1 z#pbPB&Bf;1&2+?};Jg5qgD1{4_|%X#s48rOLE!vx3@ktstyBsDQWwDz4GYlcgu$UJ zp|z_32yN72T*oT$SF8<}>e;FN^X&vWNCz>b2W0rwK#<1#kbV)Cf`vN-F$&knLo5T& z8!sO-*^x4=kJ$L&*h%rQ@49l?7_9IG99~xJDDil00<${~D&;kiqRQqeW5*22A`8I2 z(^@`qZoF7_`CO_e;8#qF!&g>UY;wD5MxWU>azoo=E{kW(GU#pbOi%XAn%?W{b>-bTt&2?G=E&BnK9m0zs{qr$*&g8afR_x`B~o zd#dxPpaap;I=>1j8=9Oj)i}s@V}oXhP*{R|@DAQXzQJekJnmuQ;vL90_)H_nD1g6e zS1H#dzg)U&6$fz0g%|jxDdz|FQN{KJ&Yx0vfuzAFewJjv`pdMRpY-wU`-Y6WQnJ(@ zGVb!-8DRJZvHnRFiR3PG3Tu^nCn(CcZHh7hQvyd7i6Q3&ot86XI{jo%WZqCPcTR0< zMRg$ZE=PQx66ovJDvI_JChN~k@L^Pyxv#?X^<)-TS5gk`M~d<~j%!UOWG;ZMi1af< z+86U0=sm!qAVJAIqqU`Qs1uJhQJA&n@9F1PUrYuW!-~IT>l$I!#5dBaiAK}RUufjg{$#GdQBkxF1=KU2E@N=i^;xgG2Y4|{H>s` z$t`k8c-8`fS7Yfb1FM#)vPKVE4Uf(Pk&%HLe z%^4L>@Z^9Z{ZOX<^e)~adVRkKJDanJ6VBC_m@6qUq_WF@Epw>AYqf%r6qDzQ~AEJ!jtUvLp^CcqZ^G-;Kz3T;O4WG45Z zFhrluCxlY`M+OKr2SeI697btH7Kj`O>A!+2DTEQ=48cR>Gg2^5uqp(+y5Sl09MRl* zp|28!v*wvMd_~e2DdKDMMQ|({HMn3D%%ATEecGG8V9>`JeL)T0KG}=}6K8NiSN5W< z79-ZdYWRUb`T}(b{RjN8>?M~opnSRl$$^gT`B27kMym5LNHu-k;A;VF8R(HtDYJHS zU7;L{a@`>jd0svOYKbwzq+pWSC(C~SPgG~nWR3pBA8@OICK$Cy#U`kS$I;?|^-SBC zBFkoO8Z^%8Fc-@X!KebF2Ob3%`8zlVHj6H;^(m7J35(_bS;cZPd}TY~qixY{MhykQ zV&7u7s%E=?i`}Ax-7dB0ih47w*7!@GBt<*7ImM|_mYS|9_K7CH+i}?*#o~a&tF-?C zlynEu1DmiAbGurEX2Flfy$wEVk7AU;`k#=IQE*6DMWafTL|9-vT0qs{A3mmZGzOyN zcM9#Rgo7WgB_ujU+?Q@Ql?V-!E=jbypS+*chI&zA+C_3_@aJal}!Q54?qsL0In({Ly zjH;e+_SK8yi0NQB%TO+Dl77jp#2pMGtwsgaC>K!)NimXG3;m7y`W+&<(ZaV>N*K$j zLL~I+6ouPk6_(iO>61cIsinx`5}DcKSaHjYkkMuDoVl>mKO<4$F<>YJ5J9A2Vl}#BP7+u~L8C6~D zsk`pZ$9Bz3teQS1Wb|8&c2SZ;qo<#F&gS;j`!~!ADr(jJXMtcDJ9cVi>&p3~{bqaP zgo%s8i+8V{UrYTc9)HiUR_c?cfx{Yan2#%PqJ{%?Wux4J;T$#cumM0{Es3@$>}DJg zqe*c8##t;X(4$?A`ve)e@YU3d2Balcivot{1(ahlE5qg@S-h(mPNH&`pBX$_~HdG48~)$x5p z{>ghzqqn_t8~pY<5?-To>cy^6o~mifr;KWvx_oMtXOw$$d6jddXG)V@a#lL4o%N@A zNJlQAz6R8{7jax-kQsH6JU_u*En%k^NHlvBB!$JAK!cYmS)HkLAkm0*9G3!vwMIWv zo#)+EamIJHEUV|$d|<)2iJ`lqBQLx;HgD}c3mRu{iK23C>G{0Mp1K)bt6OU?xC4!_ zZLqpFzeu&+>O1F>%g-%U^~yRg(-wSp@vmD-PT#bCWy!%&H;qT7rfuRCEgw67V!Qob z&tvPU@*4*$YF#2_>M0(75QxqrJr3Tvh~iDeFhxl=MzV@(psx%G8|I{~9;tv#BBE`l z3)_98eZqFNwEF1h)uqhBmT~mSmT8k$7vSHdR97K~kM)P9PuZdS;|Op4A?O<*%!?h` zn`}r_j%xvffs46x2hCWuo0BfIQWCw9aKkH==#B(TJ%p}p-RuIVzsRlaPL_Co{&R0h zQrqn=g1PGjQg3&sc2IlKG0Io#v%@p>tFwF)RG0ahYs@Zng6}M*d}Xua)+h&?$`%rb z;>M=iMh5eIHuJ5c$aC`y@CYjbFsJnSPH&}LQz4}za9YjDuao>Z^EdL@%saRm&LGQWXs*;FzwN#pH&j~SLhDZ+QzhplV_ij(NyMl z;v|}amvxRddO81LJFa~2QFUs z+Lk zZck)}9uK^buJNMo4G(rSdX{57(7&n=Q6$QZ@lIO9#<3pA2ceDpO_340B*pHlh_y{>i&c1?vdpN1j>3UN-;;Yq?P+V5oY`4Z(|P8SwWq<)n`W@AwcQ?E9 zd5j8>FT^m=MHEWfN9jS}UHHsU`&SScib$qd0i=ky0>4dz5ADy70AeIuSzw#gHhQ_c zOp1!v6qU)@8MY+ zMNIID?(CysRc2uZQ$l*QZVY)$X?@4$VT^>djbugLQJdm^P>?51#lXBkdXglYm|4{L zL%Sr?2f`J+xrcN@=0tiJt(<-=+v>tHy{XaGj7^cA6felUn_KPa?V4ebfq7~4i~GKE zpm)e@1=E;PP%?`vK6KVPKXjUXyLS1^NbnQ&?z>epHCd+J$ktT1G&L~T)nQeExe;0Z zlei}<_ni ztFo}j7nBl$)s_3odmdafVieFxc)m!wM+U`2u%yhJ90giFcU1`dR6BBTKc2cQ*d zm-{?M&%(={xYHy?VCx!ogr|4g5;V{2q(L?QzJGsirn~kWHU`l`rHiIrc-Nan!hR7zaLsPr4uR zG{En&gaRK&B@lyWV@yfFpD_^&z>84~_0Rd!v(Nr%PJhFF_ci3D#ixf|(r@$igZiWw za*qbXIJ_Hm4)TaQ=zW^g)FC6uvyO~Hg-#Z5Vsrybz6uOTF>Rq1($JS`imyNB7myWWpxYL(t7`H8*voI3Qz6mvm z$JxtArLJ(1wlCO_te?L{>8YPzQ})xJlvc5wv8p7Z=HviPYB#^#_vGO#*`<0r%MR#u zN_mV4vaBb2RwtoOYCw)X^>r{2a0kK|WyEYoBjGxcObFl&P*??)WEWKU*V~zG5o=s@ z;rc~uuQQf9wf)MYWsWgPR!wKGt6q;^8!cD_vxrG8GMoFGOVV=(J3w6Xk;}i)9(7*U zwR4VkP_5Zx7wqn8%M8uDj4f1aP+vh1Wue&ry@h|wuN(D2W;v6b1^ z`)7XBZ385zg;}&Pt@?dunQ=RduGRJn^9HLU&HaeUE_cA1{+oSIjmj3z+1YiOGiu-H zf8u-oVnG%KfhB8H?cg%@#V5n+L$MO2F4>XoBjBeX>css^h}Omu#)ExTfUE^07KOQS znMfQY2wz?!7!{*C^)aZ^UhMZf=TJNDv8VrrW;JJ9`=|L0`w9DE8MS>+o{f#{7}B4P z{I34>342vLsP}o=ny1eZkEabr@niT5J2AhByUz&i3Ck0H*H`LRHz;>3C_ru!X+EhJ z6(+(lI#4c`2{`q0o9aZhI|jRjBZOV~IA_km7ItNtUa(Wsr*Hmb;b4=;R(gF@GmsRI`pF+0tmq0zy~wnoJD(LSEwHjTOt4xb0XB-+ z&4RO{Snw4G%gS9w#uSUK$Zbb#=jxEl;}6&!b-rSY$0M4pftat-$Q)*y!bpx)R%P>8 zrB&`YEX2%+s#lFCIV;cUFUTIR$Gn2%F(3yLeiG8eG8&)+cpBlzx4)sK?>uIlH+$?2 z9q9wk5zY-xr_fzFSGxYp^KSY0s%1BhsI>ai2VAc8&JiwQ>3RRk?ITx!t~r45qsMnj zkX4bl06ojFCMq<9l*4NHMAtIxDJOX)H=K*$NkkNG<^nl46 zHWH1GXb?Og1f0S+8-((5yaeegCT62&4N*pNQY;%asz9r9Lfr;@Bl${1@a4QAvMLbV6JDp>8SO^q1)#(o%k!QiRSd0eTmzC< zNIFWY5?)+JTl1Roi=nS4%@5iF+%XztpR^BSuM~DX9q`;Mv=+$M+GgE$_>o+~$#?*y zAcD4nd~L~EsAjXV-+li6Lua4;(EFdi|M2qV53`^4|7gR8AJI;0Xb6QGLaYl1zr&eu zH_vFUt+Ouf4SXA~ z&Hh8K@ms^`(hJfdicecj>J^Aqd00^ccqN!-f-!=N7C1?`4J+`_f^nV!B3Q^|fuU)7 z1NDNT04hd4QqE+qBP+>ZE7{v;n3OGN`->|lHjNL5w40pePJ?^Y6bFk@^k%^5CXZ<+4qbOplxpe)l7c6m%o-l1oWmCx%c6@rx85hi(F=v(2 zJ$jN>?yPgU#DnbDXPkHLeQwED5)W5sH#-eS z%#^4dxiVs{+q(Yd^ShMN3GH)!h!@W&N`$L!SbElXCuvnqh{U7lcCvHI#{ZjwnKvu~ zAeo7Pqot+Ohm{8|RJsTr3J4GjCy5UTo_u_~p)MS&Z5UrUc|+;Mc(YS+ju|m3Y_Dvt zonVtpBWlM718YwaN3a3wUNqX;7TqvAFnVUoD5v5WTh~}r)KoLUDw%8Rrqso~bJqd> z_T!&Rmr6ebpV^4|knJZ%qmzL;OvG3~A*loGY7?YS%hS{2R0%NQ@fRoEK52Aiu%gj( z_7~a}eQUh8PnyI^J!>pxB(x7FeINHHC4zLDT`&C*XUpp@s0_B^!k5Uu)^j_uuu^T> z8WW!QK0SgwFHTA%M!L`bl3hHjPp)|wL5Var_*A1-H8LV?uY5&ou{hRjj>#X@rxV>5%-9hbP+v?$4}3EfoRH;l_wSiz{&1<+`Y5%o%q~4rdpRF0jOsCoLnWY5x?V)0ga>CDo`NpqS) z@x`mh1QGkx;f)p-n^*g5M^zRTHz%b2IkLBY{F+HsjrFC9_H(=9Z5W&Eymh~A_FUJ} znhTc9KG((OnjFO=+q>JQZJbeOoUM77M{)$)qQMcxK9f;=L;IOv_J>*~w^YOW744QZ zoG;!b9VD3ww}OX<8sZ0F##8hvfDP{hpa3HjaLsKbLJ8 z0WpY2E!w?&cWi7&N%bOMZD~o7QT*$xCRJ@{t31~qx~+0yYrLXubXh2{_L699Nl_pn z6)9eu+uUTUdjHXYs#pX^L)AIb!FjjNsTp7C399w&B{Q4q%yKfmy}T2uQdU|1EpNcY zDk~(h#AdxybjfzB+mg6rdU9mDZ^V>|U13Dl$Gj+pAL}lR2a1u!SJXU_YqP9N{ose4 zk+$v}BIHX60WSGVWv;S%zvHOWdDP(-ceo(<8`y@Goy%4wDu>57QZNJc)f>Ls+}9h7 z^N=#3q3|l?aG8K#HwiW2^PJu{v|x5;awYfahC?>_af3$LmMc4%N~JwVlRZa4c+eW2 zE!zosAjOv&UeCeu;Bn5OQUC=jtZjF;NDk9$fGbxf3d29SUBekX1!a$Vmq_VK*MHQ4)eB!dQrHH)LVYNF%-t8!d`@!cb z2CsKs3|!}T^7fSZm?0dJ^JE`ZGxA&a!jC<>6_y67On0M)hd$m*RAzo_qM?aeqkm`* zXpDYcc_>TFZYaC3JV>{>mp(5H^efu!Waa7hGTAts29jjuVd1vI*fEeB?A&uG<8dLZ z(j6;-%vJ7R0U9}XkH)1g>&uptXPHBEA*7PSO2TZ+dbhVxspNW~ZQT3fApz}2 z_@0-lZODcd>dLrYp!mHn4k>>7kibI!Em+Vh*;z}l?0qro=aJt68joCr5Jo(Vk<@i) z5BCKb4p6Gdr9=JSf(2Mgr=_6}%4?SwhV+JZj3Ox^_^OrQk$B^v?eNz}d^xRaz&~ zKVnlLnK#8^y=If2f1zmb~^5lPLe?%l}>?~wN4IN((2~U{e9fKhLMtYFj)I$(y zgnKv?R+ZpxA$f)Q2l=aqE6EPTK=i0sY&MDFJp!vQayyvzh4wee<}kybNthRlX>SHh z7S}9he^EBOqzBCww^duHu!u+dnf9veG{HjW!}aT7aJqzze9K6-Z~8pZAgdm1n~aDs z8_s7?WXMPJ3EPJHi}NL&d;lZP8hDhAXf5Hd!x|^kEHu`6QukXrVdLnq5zbI~oPo?7 z2Cbu8U?$K!Z4_yNM1a(bL!GRe!@{Qom+DxjrJ!B99qu5b*Ma%^&-=6UEbC+S2zX&= zQ!%bgJTvmv^2}hhvNQg!l=kbapAgM^hruE3k@jTxsG(B6d=4thBC*4tzVpCYXFc$a zeqgVB^zua)y-YjpiibCCdU%txXYeNFnXcbNj*D?~)5AGjL+!!ij_4{5EWKGav0^={~M^q}baAFOPzxfUM>`KPf|G z&hsaR*7(M6KzTj8Z?;45zX@L#xU{4n$9Q_<-ac(y4g~S|Hyp^-<*d8+P4NHe?~vfm z@y309=`lGdvN8*jw-CL<;o#DKc-%lb0i9a3%{v&2X($|Qxv(_*()&=xD=5oBg=$B0 zU?41h9)JKvP0yR{KsHoC>&`(Uz>?_`tlLjw1&5tPH3FoB%}j;yffm$$s$C=RHi`I3*m@%CPqWnP@B~%DEe;7ZT{9!IMTo1hT3Q347HJ&!)BM2 z3~aClf>aFh0_9||4G}(Npu`9xYY1*SD|M~9!CCFn{-J$u2&Dg*=5$_nozpoD2nxqq zB!--eA8UWZlcEDp4r#vhZ6|vq^9sFvRnA9HpHch5Mq4*T)oGbruj!U8Lx_G%Lby}o zTQ-_4A7b)5A42vA0U}hUJq6&wQ0J%$`w#ph!EGmW96)@{AUx>q6E>-r^Emk!iCR+X zdIaNH`$}7%57D1FyTccs3}Aq0<0Ei{`=S7*>pyg=Kv3nrqblqZcpsCWSQl^uMSsdj zYzh73?6th$c~CI0>%5@!Ej`o)Xm38u0fp9=HE@Sa6l2oX9^^4|Aq%GA z3(AbFR9gA_2T2i%Ck5V2Q2WW-(a&(j#@l6wE4Z`xg#S za#-UWUpU2U!TmIo`CN0JwG^>{+V#9;zvx;ztc$}@NlcyJr?q(Y`UdW6qhq!aWyB5xV1#Jb{I-ghFNO0 zFU~+QgPs{FY1AbiU&S$QSix>*rqYVma<-~s%ALhFyVhAYepId1 zs!gOB&weC18yhE-v6ltKZMV|>JwTX+X)Y_EI(Ff^3$WTD|Ea-1HlP;6L~&40Q&5{0 z$e$2KhUgH8ucMJxJV#M%cs!d~#hR^nRwk|uuCSf6irJCkSyI<%CR==tftx6d%;?ef zYIcjZrP@APzbtOeUe>m-TW}c-ugh+U*RbL1eIY{?>@8aW9bb1NGRy@MTse@>= za%;5=U}X%K2tKTYe9gjMcBvX%qrC&uZ`d(t)g)X8snf?vBe3H%dG=bl^rv8Z@YN$gd9yveHY0@Wt0$s zh^7jCp(q+6XDoekb;=%y=Wr8%6;z0ANH5dDR_VudDG|&_lYykJaiR+(y{zpR=qL3|2e${8 z2V;?jgHj7}Kl(d8C9xWRjhpf_)KOXl+@c4wrHy zL3#9U(`=N59og2KqVh>nK~g9>fX*PI0`>i;;b6KF|8zg+k2hViCt}4dfMdvb1NJ-Rfa7vL2;lPK{Lq*u`JT>S zoM_bZ_?UY6oV6Ja14X^;LqJPl+w?vf*C!nGK;uU^0GRN|UeFF@;H(Hgp8x^|;ygh? zIZx3DuO(lD01ksanR@Mn#lti=p28RTNYY6yK={RMFiVd~k8!@a&^jicZ&rxD3CCI! zVb=fI?;c#f{K4Pp2lnb8iF2mig)|6JEmU86Y%l}m>(VnI*Bj`a6qk8QL&~PFDxI8b z2mcsQBe9$q`Q$LfG2wdvK`M1}7?SwLAV&)nO;kAk`SAz%x9CDVHVbUd$O(*aI@D|s zLxJW7W(QeGpQY<$dSD6U$ja(;Hb3{Zx@)*fIQaW{8<$KJ&fS0caI2Py^clOq9@Irt z7th7F?7W`j{&UmM==Lo~T&^R7A?G=K_e-zfTX|)i`pLitlNE(~tq*}sS1x2}Jlul6 z5+r#4SpQu8h{ntIv#qCVH`uG~+I8l+7ZG&d`Dm!+(rZQDV*1LS^WfH%-!5aTAxry~ z4xl&rot5ct{xQ$w$MtVTUi6tBFSJWq2Rj@?HAX1H$eL*fk{Hq;E`x|hghRkipYNyt zKCO=*KSziiVk|+)qQCGrTYH9X!Z0$k{Nde~0Wl`P{}ca%nv<6fnYw^~9dYxTnTZB&&962jX0DM&wy&8fdxX8xeHSe=UU&Mq zRTaUKnQO|A>E#|PUo+F=Q@dMdt`P*6e92za(TH{5C*2I2S~p?~O@hYiT>1(n^Lqqn zqewq3ctAA%0E)r53*P-a8Ak32mGtUG`L^WVcm`QovX`ecB4E9X60wrA(6NZ7z~*_DV_e z8$I*eZ8m=WtChE{#QzeyHpZ%7GwFHlwo2*tAuloI-j2exx3#x7EL^&D;Re|Kj-XT- zt908^soV2`7s+Hha!d^#J+B)0-`{qIF_x=B811SZlbUe%kvPce^xu7?LY|C z@f1gRPha1jq|=f}Se)}v-7MWH9)YAs*FJ&v3ZT9TSi?e#jarin0tjPNmxZNU_JFJG z+tZi!q)JP|4pQ)?l8$hRaPeoKf!3>MM-bp06RodLa*wD=g3)@pYJ^*YrwSIO!SaZo zDTb!G9d!hb%Y0QdYxqNSCT5o0I!GDD$Z@N!8J3eI@@0AiJmD7brkvF!pJGg_AiJ1I zO^^cKe`w$DsO|1#^_|`6XTfw6E3SJ(agG*G9qj?JiqFSL|6tSD6vUwK?Cwr~gg)Do zp@$D~7~66-=p4`!!UzJDKAymb!!R(}%O?Uel|rMH>OpRGINALtg%gpg`=}M^Q#V5( zMgJY&gF)+;`e38QHI*c%B}m94o&tOfae;og&!J2;6ENW}QeL73jatbI1*9X~y=$Dm%6FwDcnCyMRL}zo`0=y7=}*Uw zo3!qZncAL{HCgY!+}eKr{P8o27ye+;qJP;kOB%RpSesGoHLT6tcYp*6v~Z9NCyb6m zP#qds0jyqXX46qMNhXDn3pyIxw2f_z;L_X9EIB}AhyC`FYI}G3$WnW>#NMy{0aw}nB%1=Z4&*(FaCn5QG(zvdG^pQRU25;{wwG4h z@kuLO0F->{@g2!;NNd!PfqM-;@F0;&wK}0fT9UrH}(8A5I zt33(+&U;CLN|8+71@g z(s!f-kZZZILUG$QXm9iYiE*>2w;gpM>lgM{R9vT3q>qI{ELO2hJHVi`)*jzOk$r)9 zq}$VrE0$GUCm6A3H5J-=Z9i*biw8ng zi<1nM0lo^KqRY@Asucc#DMmWsnCS;5uPR)GL3pL=-IqSd>4&D&NKSGHH?pG;=Xo`w zw~VV9ddkwbp~m>9G0*b?j7-0fOwR?*U#BE#n7A=_fDS>`fwatxQ+`FzhBGQUAyIRZ??eJt46vHBlR>9m!vfb6I)8!v6TmtZ%G6&E|1e zOtx5xy%yOSu+<9Ul5w5N=&~4Oph?I=ZKLX5DXO(*&Po>5KjbY7s@tp$8(fO|`Xy}Y z;NmMypLoG7r#Xz4aHz7n)MYZ7Z1v;DFHLNV{)to;(;TJ=bbMgud96xRMME#0d$z-S z-r1ROBbW^&YdQWA>U|Y>{whex#~K!ZgEEk=LYG8Wqo28NFv)!t!~}quaAt}I^y-m| z8~E{9H2VnyVxb_wCZ7v%y(B@VrM6lzk~|ywCi3HeiSV`TF>j+Ijd|p*kyn;=mqtf8&DK^|*f+y$38+9!sis9N=S)nINm9=CJ<;Y z!t&C>MIeyou4XLM*ywT_JuOXR>VkpFwuT9j5>667A=CU*{TBrMTgb4HuW&!%Yt`;#md7-`R`ouOi$rEd!ErI zo#>qggAcx?C7`rQ2;)~PYCw%CkS(@EJHZ|!!lhi@Dp$*n^mgrrImsS~(ioGak>3)w zvop0lq@IISuA0Ou*#1JkG{U>xSQV1e}c)!d$L1plFX5XDXX5N7Ns{kT{y5|6MfhBD+esT)e7&CgSW8FxsXTAY=}?0A!j_V9 zJ;IJ~d%av<@=fNPJ9)T3qE78kaz64E>dJaYab5uaU`n~Zdp2h{8DV%SKE5G^$LfuOTRRjB;TnT(Jk$r{Pfe4CO!SM_7d)I zquW~FVCpSycJ~c*B*V8?Qqo=GwU8CkmmLFugfHQ7;A{yCy1OL-+X=twLYg9|H=~8H znnN@|tCs^ZLlCBl5wHvYF}2vo>a6%mUWpTds_mt*@wMN4-r`%NTA%+$(`m6{MNpi@ zMx)8f>U4hd!row@gM&PVo&Hx+lV@$j9yWTjTue zG9n0DP<*HUmJ7ZZWwI2x+{t3QEfr6?T}2iXl=6e0b~)J>X3`!fXd9+2wc1%cj&F@Z zgYR|r5Xd5jy9;YW&=4{-0rJ*L5CgDPj9^3%bp-`HkyBs`j1iTUGD4?WilZ6RO8mIE z+~Joc?GID6K96dyuv(dWREK9Os~%?$$FxswxQsoOi8M?RnL%B~Lyk&(-09D0M?^Jy zWjP)n(b)TF<-|CG%!Vz?8Fu&6iU<>oG#kGcrcrrBlfZMVl0wOJvsq%RL9To%iCW@)#& zZAJWhgzYAq)#NTNb~3GBcD%ZZOc43!YWSyA7TD6xkk)n^FaRAz73b}%9d&YisBic(?mv=Iq^r%Ug zzHq-rRrhfOOF+yR=AN!a9*Rd#sM9ONt5h~w)yMP7Dl9lfpi$H0%GPW^lS4~~?vI8Z z%^ToK#NOe0ExmUsb`lLO$W*}yXNOxPe@zD*90uTDULnH6C?InP3J=jYEO2d)&e|mP z1DSd0QOZeuLWo*NqZzopA+LXy9)fJC00NSX=_4Mi1Z)YyZVC>C!g}cY(Amaj%QN+bev|Xxd2OPD zk!dfkY6k!(sDBvsFC2r^?}hb81(WG5Lt9|riT`2?P;B%jaf5UX<~OJ;uAL$=Ien+V zC!V8u0v?CUa)4*Q+Q_u zkx{q;NjLcvyMuU*{+uDsCQ4U{JLowYby-tn@hatL zy}X>9y08#}oytdn^qfFesF)Tt(2!XGw#r%?7&zzFFh2U;#U9XBO8W--#gOpfbJ`Ey z|M8FCKlWQrOJwE;@Sm02l9OBr7N}go4V8ur)}M@m2uWjggb)DC4s`I4d7_8O&E(j; z?3$9~R$QDxNM^rNh9Y;6P7w+bo2q}NEd6f&_raor-v`UCaTM3TT8HK2-$|n{N@U>_ zL-`P7EXoEU5JRMa)?tNUEe8XFis+w8g9k(QQ)%?&Oac}S`2V$b?%`DwXBgja&&fR@ zH_XidF$p1wA)J|Wk1;?lCl?fgc)=TB3>Y8;BoMqHwJqhL)Tgydv9(?(TBX)fq%=~C zmLj!iX-kn7QA(9snzk0LRf<%SzO&~IhLor6A3f*U^UcoAygRe!H#@UCv$JUP&vPxs zeDj$1%#<2T1!e|!7xI+~_VXLl5|jHqvOhU7ZDUGee;HnkcPP=_k_FFxPjXg*9KyI+ zIh0@+s)1JDSuKMeaDZ3|<_*J8{TUFDLl|mXmY8B>Wj_?4mC#=XjsCKPEO=p0c&t&Z zd1%kHxR#o9S*C?du*}tEHfAC7WetnvS}`<%j=o7YVna)6pw(xzkUi7f#$|^y4WQ{7 zu@@lu=j6xr*11VEIY+`B{tgd(c3zO8%nGk0U^%ec6h)G_`ki|XQXr!?NsQkxzV6Bn1ea9L+@ z(Zr7CU_oXaW>VOdfzENm+FlFQ7Se0ROrNdw(QLvb6{f}HRQ{$Je>(c&rws#{dFI^r zZ4^(`J*G0~Pu_+p5AAh>RRpkcbaS2a?Fe&JqxDTp`dIW9;DL%0wxX5;`KxyA4F{(~_`93>NF@bj4LF!NC&D6Zm+Di$Q-tb2*Q z&csGmXyqA%Z9s(AxNO3@Ij=WGt=UG6J7F;r*uqdQa z?7j!nV{8eQE-cwY7L(3AEXF3&V*9{DpSYdyCjRhv#&2johwf{r+k`QB81%!aRVN<& z@b*N^xiw_lU>H~@4MWzgHxSOGVfnD|iC7=hf0%CPm_@@4^t-nj#GHMug&S|FJtr?i z^JVrobltd(-?Ll>)6>jwgX=dUy+^n_ifzM>3)an3iOzpG9Tu;+96TP<0Jm_PIqof3 zMn=~M!#Ky{CTN_2f7Y-i#|gW~32RCWKA4-J9sS&>kYpTOx#xVNLCo)A$LUme^fVNH z@^S7VU^UJ0YR8?Oy$^IYuG*bm|g;@aX~i60%`7XLy*AYpYvZ^F^U(!|RW z*C!rJ@+7TGdL=nNd1gv^%B+;Fcr$y)i0!GRsZXRHPs>QVGVR{9r_#&Qd(wL|5;H;> zD>HUw=4CF++&{7$<8G@j*nGjhEO%BQYfjeItp4mPvY*JYb1HKd!{HJ9*)(3%BR%{Pp?AM&*yHAJsW({ivOzj*qS!-7|XEn6@zo z3L*tBT%<4RxoAh>q{0n_JBmgW6&8hx?kL(_^k%VL>?xjAyrKBmSl`$=V|SK}ELl}@ zd|d0eo#RfG`bw9SK3%r4Y+rdvc}w}~ixV%tqawbdqvE-WcgE+BUpxMT%F@btm76MG zn=oQRWWuTm+a{dy)Oc2V4yX(@M{QAkx>(QB59*`dLT`Pz3Lsj9iB=HSHAiCq()ns|Cr)1*c605Cx}3V&x}Lg?b+6Q?)z7Kl zQh&1Hx`y6JY-Cwvd*ozeps}a1xAA0CR+Da;+O(i)P1C;SjOI}Dtmf6tPqo-Bl`U78 zv$kYgPntPp@G)n1an9tEoL*Vumu9`>_@I(;+5+fBa-*?fEx=mTEjZ7wq}#@Gd5_cW z!mP{N=yqEntDo)|>oy6{9cu+-3*GTnmb^`O0^FzRPO^&aG`f@F_R*aQ_e{F+_9%NW z4KG_B`@X3EVV9L>?_RNDMddA>w=e0KfAiw5?#i1NFT%Zz#nuv(&!yIU>lVxmzYKQ` zzJ*0w9<&L4aJ6A;0j|_~i>+y(q-=;2Xxhx2v%CYY^{} z^J@LO()eLo|7!{ghQ+(u$wxO*xY#)cL(|miH2_ck2yN{mu4O9=hBW*pM_()-_YdH#Ru{JtwJ^R2}3?!>>m1pohh zrn(!xCjE0Q&EH1QK?zA%sxVh&H99cObJUY$veZhQ)MLu-h%`!*G)s$2k;~+A z)Kk->Ri?`oGDEJEtI*wijm(s5f$W78FH{+qBxiU{~kq((J3uK{m z$|C8K#j-?hm8H@x%VfFqpnvu@xn1s%J7uNZC9C99a<_b1J|mx%)$%!6gPU|~<@2&m zz99GDp`|a%m*iggvfL;4%X;~WY>)@!tMWB@P`)k?$;0x9JSrRI8?s3rlgH(o@`OAo zn{f*gZ#t2u6K??hx|aElOM`Xd0t+SAIUEHvFw%?Wsm$s zUXq{6UU?a>Nc@@Xlb_2k9M1Ctr<#+O?yd}rv z_wu&=_t$!Yngd@N_AUj}T; z#*Ce|%XZr_sQcsWcsl{pCnnj+c8ZNIMmx<;w=-g$Q>BU;9k;w|zQ;4!W32Xg2Cd?{ zvmO3kuKQ^Hv;o>6ZHP8ZJ2`4~Bx?N;cf<0fi=!*G^^WzbTF3e$b&d^qqB{>nqLG81 zs94bBh%|Vj+hLu=!8(b9brJ>ZBns9^6s(gdSVyP9qnu2_I{Sg8j-rloG6{d`De5We zDe5WeY3ga}Y3ga}Y3ga}Y3ga}Y3ga}d8y~6o|k%F>UpW>rJk31Ug~+N=cS&HdOqs; zsOO`ek9t1p`Kafko{xGy>iMbXr=FjBxZMYc8a#gL`Kjlpo}YSt>iMY`pk9DF0qO*( z6QE9jIsxhgs1u-0kUBx8D@eT{^@7w3QZGooAoYUO3sNscy%6<6)C*BBM7L`dk$Xk%6}eZQXgo#!75P`>Uy*-B{uTLGUy*-B{uTLGUy*-B{uTLG))v8{5gt_uj9!t5)^yb-JtjRGrhi zYInOUNJxNyf_yKX01)K=WP|Si>HqEj|B{eUl?MR<)%<1&{(~)D+NPwKxWqT-@~snp zg9KCz1VTZDiS?UH`PRk1VPM{29cgT9=D?!Wc_@}qzggFv;gb@2cJQAYWWtpEZ7?y@jSVqjx${B5UV@SO|wH<<0; z{><1KdVI%Ki}>~<`46C0AggwUwx-|QcU;iiZ{NZu`ur>hd*|Hb(|6veERqxu=b@5Bab=rqptGxd{QJg!4*-i_$sES~)AB46}Fjg|ea#e@?J}z%CUJ zOsLWRQR1#ng^sD)A4FDuY!iUhzlgfJh(J@BRqd&P#v2B`+saBx>m+M&q7vk-75$NH%T5pi%m z5FX?`2-5l53=a&GkC9^NZCLpN5(DMKMwwab$FDIs?q>4!!xBS}75gX_5;(luk;3Vl zLCLd5a_8`Iyz}K}+#RMwu6DVk3O_-}n>aE!4NaD*sQn`GxY?cHe!Bl9n?u&g6?aKm z-P8z&;Q3gr;h`YIxX%z^o&GZZg1=>_+hP2$$-DnL_?7?3^!WAsY4I7|@K;aL<>OTK zByfjl2PA$T83*LM9(;espx-qB%wv7H2i6CFsfAg<9V>Pj*OpwX)l?^mQfr$*OPPS$ z=`mzTYs{*(UW^ij1U8UfXjNoY7GK*+YHht(2oKE&tfZuvAyoN(;_OF>-J6AMmS5fB z^sY6wea&&${+!}@R1f$5oC-2J>J-A${@r(dRzc`wnK>a7~8{Y-scc|ETOI8 zjtNY%Y2!PI;8-@a=O}+{ap1Ewk0@T`C`q!|=KceX9gK8wtOtIC96}-^7)v23Mu;MH zhKyLGOQMujfRG$p(s`(2*nP4EH7*J57^=|%t(#PwCcW7U%e=8Jb>p6~>RAlY4a*ts=pl}_J{->@kKzxH|8XQ5{t=E zV&o`$D#ZHdv&iZWFa)(~oBh-Osl{~CS0hfM7?PyWUWsr5oYlsyC1cwULoQ4|Y5RHA2*rN+EnFPnu z`Y_&Yz*#550YJwDy@brZU>0pWV^RxRjL221@2ABq)AtA%Cz?+FG(}Yh?^v)1Lnh%D zeM{{3&-4#F9rZhS@DT0E(WRkrG!jC#5?OFjZv*xQjUP~XsaxL2rqRKvPW$zHqHr8Urp2Z)L z+)EvQeoeJ8c6A#Iy9>3lxiH3=@86uiTbnnJJJoypZ7gco_*HvKOH97B? zWiwp>+r}*Zf9b3ImxwvjL~h~j<<3shN8$k-$V1p|96I!=N6VBqmb==Bec|*;HUg?) z4!5#R*(#Fe)w%+RH#y{8&%%!|fQ5JcFzUE;-yVYR^&Ek55AXb{^w|@j|&G z|6C-+*On%j;W|f8mj?;679?!qY86c{(s1-PI2Wahoclf%1*8%JAvRh1(0)5Vu37Iz z`JY?RW@qKr+FMmBC{TC7k@}fv-k8t6iO}4K-i3WkF!Lc=D`nuD)v#Na zA|R*no51fkUN3^rmI;tty#IK284*2Zu!kG13!$OlxJAt@zLU`kvsazO25TpJLbK&;M8kw*0)*14kpf*)3;GiDh;C(F}$- z1;!=OBkW#ctacN=je*Pr)lnGzX=OwgNZjTpVbFxqb;8kTc@X&L2XR0A7oc!Mf2?u9 zcctQLCCr+tYipa_k=;1ETIpHt!Jeo;iy^xqBES^Ct6-+wHi%2g&)?7N^Yy zUrMIu){Jk)luDa@7We5U!$$3XFNbyRT!YPIbMKj5$IEpTX1IOtVP~(UPO2-+9ZFi6 z-$3<|{Xb#@tABt0M0s1TVCWKwveDy^S!!@4$s|DAqhsEv--Z}Dl)t%0G>U#ycJ7cy z^8%;|pg32=7~MJmqlC-x07Sd!2YX^|2D`?y;-$a!rZ3R5ia{v1QI_^>gi(HSS_e%2 zUbdg^zjMBBiLr8eSI^BqXM6HKKg#@-w`a**w(}RMe%XWl3MipvBODo*hi?+ykYq)z ziqy4goZw0@VIUY65+L7DaM5q=KWFd$;W3S!Zi>sOzpEF#(*3V-27N;^pDRoMh~(ZD zJLZXIam0lM7U#)119Hm947W)p3$%V`0Tv+*n=&ybF&}h~FA}7hEpA&1Y!BiYIb~~D z$TSo9#3ee02e^%*@4|*+=Nq6&JG5>zX4k5f?)z*#pI-G(+j|jye%13CUdcSP;rNlY z#Q!X%zHf|V)GWIcEz-=fW6AahfxI~y7w7i|PK6H@@twdgH>D_R@>&OtKl}%MuAQ7I zcpFmV^~w~8$4@zzh~P~+?B~%L@EM3x(^KXJSgc6I=;)B6 zpRco2LKIlURPE*XUmZ^|1vb?w*ZfF}EXvY13I4af+()bAI5V?BRbFp`Sb{8GRJHd* z4S2s%4A)6Uc=PK%4@PbJ<{1R6+2THMk0c+kif**#ZGE)w6WsqH z`r^DL&r8|OEAumm^qyrryd(HQ9olv$ltnVGB{aY?_76Uk%6p;e)2DTvF(;t=Q+|8b zqfT(u5@BP);6;jmRAEV057E*2d^wx@*aL1GqWU|$6h5%O@cQtVtC^isd%gD7PZ_Io z_BDP5w(2*)Mu&JxS@X%%ByH_@+l>y07jIc~!@;Raw)q_;9oy@*U#mCnc7%t85qa4? z%_Vr5tkN^}(^>`EFhag;!MpRh!&bKnveQZAJ4)gEJo1@wHtT$Gs6IpznN$Lk-$NcM z3ReVC&qcXvfGX$I0nfkS$a|Pm%x+lq{WweNc;K>a1M@EAVWs2IBcQPiEJNt}+Ea8~WiapASoMvo(&PdUO}AfC~>ZGzqWjd)4no( ziLi#e3lOU~sI*XPH&n&J0cWfoh*}eWEEZW%vX?YK!$?w}htY|GALx3;YZoo=JCF4@ zdiaA-uq!*L5;Yg)z-_`MciiIwDAAR3-snC4V+KA>&V%Ak;p{1u>{Lw$NFj)Yn0Ms2*kxUZ)OTddbiJM}PK!DM}Ot zczn?EZXhx3wyu6i{QMz_Ht%b?K&-@5r;8b076YDir`KXF0&2i9NQ~#JYaq*}Ylb}^ z<{{6xy&;dQ;|@k_(31PDr!}}W$zF7Jv@f%um0M$#=8ygpu%j(VU-d5JtQwT714#f0z+Cm$F9JjGr_G!~NS@L9P;C1? z;Ij2YVYuv}tzU+HugU=f9b1Wbx3418+xj$RKD;$gf$0j_A&c;-OhoF*z@DhEW@d9o zbQBjqEQnn2aG?N9{bmD^A#Um6SDKsm0g{g_<4^dJjg_l_HXdDMk!p`oFv8+@_v_9> zq;#WkQ!GNGfLT7f8m60H@$tu?p;o_It#TApmE`xnZr|_|cb3XXE)N^buLE`9R=Qbg zXJu}6r07me2HU<)S7m?@GzrQDTE3UH?FXM7V+-lT#l}P(U>Fvnyw8T7RTeP`R579m zj=Y>qDw1h-;|mX-)cSXCc$?hr;43LQt)7z$1QG^pyclQ1Bd!jbzsVEgIg~u9b38;> zfsRa%U`l%did6HzPRd;TK{_EW;n^Ivp-%pu0%9G-z@Au{Ry+EqEcqW=z-#6;-!{WA z;l+xC6Zke>dl+(R1q7B^Hu~HmrG~Kt575mzve>x*cL-shl+zqp6yuGX)DDGm`cid! znlnZY=+a5*xQ=$qM}5$N+o!^(TqTFHDdyCcL8NM4VY@2gnNXF|D?5a558Lb*Yfm4) z_;0%2EF7k{)i(tTvS`l5he^KvW%l&-suPwpIlWB_Za1Hfa$@J!emrcyPpTKKM@NqL z?X_SqHt#DucWm<3Lp}W|&YyQE27zbGP55=HtZmB(k*WZA79f##?TweCt{%5yuc+Kx zgfSrIZI*Y57FOD9l@H0nzqOu|Bhrm&^m_RK6^Z<^N($=DDxyyPLA z+J)E(gs9AfaO`5qk$IGGY+_*tEk0n_wrM}n4G#So>8Dw6#K7tx@g;U`8hN_R;^Uw9JLRUgOQ?PTMr4YD5H7=ryv)bPtl=<&4&% z*w6k|D-%Tg*F~sh0Ns(h&mOQ_Qf{`#_XU44(VDY8b})RFpLykg10uxUztD>gswTH} z&&xgt>zc(+=GdM2gIQ%3V4AGxPFW0*l0YsbA|nFZpN~ih4u-P!{39d@_MN)DC%d1w z7>SaUs-g@Hp7xqZ3Tn)e z7x^sC`xJ{V<3YrmbB{h9i5rdancCEyL=9ZOJXoVHo@$$-%ZaNm-75Z-Ry9Z%!^+STWyv~To>{^T&MW0-;$3yc9L2mhq z;ZbQ5LGNM+aN628)Cs16>p55^T^*8$Dw&ss_~4G5Go63gW^CY+0+Z07f2WB4Dh0^q z-|6QgV8__5>~&z1gq0FxDWr`OzmR}3aJmCA^d_eufde7;d|OCrKdnaM>4(M%4V`PxpCJc~UhEuddx9)@)9qe_|i z)0EA%&P@_&9&o#9eqZCUCbh?`j!zgih5sJ%c4(7_#|Xt#r7MVL&Q+^PQEg3MBW;4T zG^4-*8L%s|A}R%*eGdx&i}B1He(mLygTmIAc^G(9Si zK7e{Ngoq>r-r-zhyygK)*9cj8_%g z)`>ANlipCdzw(raeqP-+ldhyUv_VOht+!w*>Sh+Z7(7(l=9~_Vk ztsM|g1xW`?)?|@m2jyAgC_IB`Mtz(O`mwgP15`lPb2V+VihV#29>y=H6ujE#rdnK` zH`EaHzABs~teIrh`ScxMz}FC**_Ii?^EbL(n90b(F0r0PMQ70UkL}tv;*4~bKCiYm zqngRuGy`^c_*M6{*_~%7FmOMquOEZXAg1^kM`)0ZrFqgC>C%RJvQSo_OAA(WF3{euE}GaeA?tu5kF@#62mM$a051I zNhE>u>!gFE8g#Jj95BqHQS%|>DOj71MZ?EYfM+MiJcX?>*}vKfGaBfQFZ3f^Q-R1# znhyK1*RvO@nHb|^i4Ep_0s{lZwCNa;Ix<{E5cUReguJf+72QRZIc%`9-Vy)D zWKhb?FbluyDTgT^naN%l2|rm}oO6D0=3kfXO2L{tqj(kDqjbl(pYz9DykeZlk4iW5 zER`)vqJxx(NOa;so@buE!389-YLbEi@6rZG0#GBsC+Z0fzT6+d7deYVU;dy!rPXiE zmu73@Jr&~K{-9MVQD}&`)e>yLNWr>Yh8CXae9XqfvVQ&eC_;#zpoaMxZ0GpZz7xjx z`t_Q-F?u=vrRPaj3r<9&t6K=+egimiJ8D4gh-rUYvaVy zG($v+3zk5sMuOhjxkH7bQ}(5{PD3Mg?!@8PkK&w>n7tO8FmAmoF30_#^B~c(Q_`4L zYWOoDVSnK|1=p{+@`Fk^Qb81Xf89_S`RSTzv(a4ID%71nll%{Wad$!CKfeTKkyC?n zCkMKHU#*nz_(tO$M)UP&ZfJ#*q(0Gr!E(l5(ce<3xut+_i8XrK8?Xr7_oeHz(bZ?~8q5q~$Rah{5@@7SMN zx9PnJ-5?^xeW2m?yC_7A#WK*B@oIy*Y@iC1n7lYKj&m7vV;KP4TVll=II)$39dOJ^czLRU>L> z68P*PFMN+WXxdAu=Hyt3g$l(GTeTVOZYw3KY|W0Fk-$S_`@9`K=60)bEy?Z%tT+Iq z7f>%M9P)FGg3EY$ood+v$pdsXvG? zd2q3abeu-}LfAQWY@=*+#`CX8RChoA`=1!hS1x5dOF)rGjX4KFg!iPHZE2E=rv|A} zro(8h38LLFljl^>?nJkc+wdY&MOOlVa@6>vBki#gKhNVv+%Add{g6#-@Z$k*ps}0Y zQ=8$)+Nm||)mVz^aa4b-Vpg=1daRaOU)8@BY4jS>=5n#6abG@(F2`=k-eQ9@u# zxfNFHv=z2w@{p1dzSOgHokX1AUGT0DY4jQI@YMw)EWQ~q5wmR$KQ}Y;(HPMSQCwzu zdli|G?bj(>++CP)yQ4s6YfpDc3KqPmquQSxg%*EnTWumWugbDW5ef%8j-rT#3rJu? z)5n;4b2c*;2LIW%LmvUu6t1~di~}0&Svy}QX#ER|hDFZwl!~zUP&}B1oKAxIzt~so zb!GaJYOb#&qRUjEI1xe_`@7qv_-LggQ$JE8+{ryT4%ldwC5ete+{G3C#g@^oxfY3#F zcLlj(l2G8>tC<5XWV|6_DZQZ7ow?MD8EZ9mM2oV~WoV-uoExmbwpzc6eMV}%J_{3l zW(4t2a-o}XRlU|NSiYn!*nR(Sc>*@TuU*(S77gfCi7+WR%2b;4#RiyxWR3(u5BIdf zo@#g4wQjtG3T$PqdX$2z8Zi|QP~I^*9iC+(!;?qkyk&Q7v>DLJGjS44q|%yBz}}>i z&Ve%^6>xY<=Pi9WlwpWB%K10Iz`*#gS^YqMeV9$4qFchMFO}(%y}xs2Hn_E}s4=*3 z+lAeCKtS}9E{l(P=PBI;rsYVG-gw}-_x;KwUefIB@V%RLA&}WU2XCL_?hZHoR<7ED zY}4#P_MmX(_G_lqfp=+iX|!*)RdLCr-1w`4rB_@bI&Uz# z!>9C3&LdoB$r+O#n);WTPi;V52OhNeKfW6_NLnw zpFTuLC^@aPy~ZGUPZr;)=-p|b$-R8htO)JXy{ecE5a|b{{&0O%H2rN&9(VHxmvNly zbY?sVk}@^{aw)%#J}|UW=ucLWs%%j)^n7S%8D1Woi$UT}VuU6@Sd6zc2+t_2IMBxd zb4R#ykMr8s5gKy=v+opw6;4R&&46$V+OOpDZwp3iR0Osqpjx))joB*iX+diVl?E~Q zc|$qmb#T#7Kcal042LUNAoPTPUxF-iGFw>ZFnUqU@y$&s8%h-HGD`EoNBbe#S>Y-4 zlkeAP>62k~-N zHQqXXyN67hGD6CxQIq_zoepU&j0 zYO&}<4cS^2sp!;5))(aAD!KmUED#QGr48DVlwbyft31WlS2yU<1>#VMp?>D1BCFfB z_JJ-kxTB{OLI}5XcPHXUo}x~->VP%of!G_N-(3Snvq`*gX3u0GR&}*fFwHo3-vIw0 zeiWskq3ZT9hTg^je{sC^@+z3FAd}KNhbpE5RO+lsLgv$;1igG7pRwI|;BO7o($2>mS(E z$CO@qYf5i=Zh6-xB=U8@mR7Yjk%OUp;_MMBfe_v1A(Hqk6!D})x%JNl838^ZA13Xu zz}LyD@X2;5o1P61Rc$%jcUnJ>`;6r{h5yrEbnbM$$ntA@P2IS1PyW^RyG0$S2tUlh z8?E(McS?7}X3nAAJs2u_n{^05)*D7 zW{Y>o99!I9&KQdzgtG(k@BT|J*;{Pt*b|?A_})e98pXCbMWbhBZ$t&YbNQOwN^=F) z_yIb_az2Pyya2530n@Y@s>s>n?L79;U-O9oPY$==~f1gXro5Y z*3~JaenSl_I}1*&dpYD?i8s<7w%~sEojqq~iFnaYyLgM#so%_ZZ^WTV0`R*H@{m2+ zja4MX^|#>xS9YQo{@F1I)!%RhM{4ZUapHTKgLZLcn$ehRq(emb8 z9<&Nx*RLcS#)SdTxcURrJhxPM2IBP%I zf1bWu&uRf{60-?Gclb5(IFI*!%tU*7d`i!l@>TaHzYQqH4_Y*6!Wy0d-B#Lz7Rg3l zqKsvXUk9@6iKV6#!bDy5n&j9MYpcKm!vG7z*2&4G*Yl}iccl*@WqKZWQSJCgQSj+d ze&}E1mAs^hP}>`{BJ6lv*>0-ft<;P@`u&VFI~P3qRtufE11+|#Y6|RJccqo27Wzr}Tp|DH z`G4^v)_8}R24X3}=6X&@Uqu;hKEQV^-)VKnBzI*|Iskecw~l?+R|WKO*~(1LrpdJ? z0!JKnCe<|m*WR>m+Qm+NKNH<_yefIml z+x32qzkNRrhR^IhT#yCiYU{3oq196nC3ePkB)f%7X1G^Ibog$ZnYu4(HyHUiFB`6x zo$ty-8pknmO|B9|(5TzoHG|%>s#7)CM(i=M7Nl=@GyDi-*ng6ahK(&-_4h(lyUN-oOa$` zo+P;C4d@m^p9J4c~rbi$rq9nhGxayFjhg+Rqa{l#`Y z!(P6K7fK3T;y!VZhGiC#)|pl$QX?a)a9$(4l(usVSH>2&5pIu5ALn*CqBt)9$yAl; z-{fOmgu><7YJ5k>*0Q~>lq72!XFX6P5Z{vW&zLsraKq5H%Z26}$OKDMv=sim;K?vsoVs(JNbgTU8-M%+ zN(+7Xl}`BDl=KDkUHM9fLlV)gN&PqbyX)$86!Wv!y+r*~kAyjFUKPDWL3A)m$@ir9 zjJ;uQV9#3$*`Dqo1Cy5*;^8DQcid^Td=CivAP+D;gl4b7*xa9IQ-R|lY5tIpiM~9- z%Hm9*vDV@_1FfiR|Kqh_5Ml0sm?abD>@peo(cnhiSWs$uy&$RYcd+m`6%X9FN%?w}s~Q=3!pJzbN~iJ}bbM*PPi@!E0eN zhKcuT=kAsz8TQo76CMO+FW#hr6da({mqpGK2K4T|xv9SNIXZ}a=4_K5pbz1HE6T}9 zbApW~m0C`q)S^F}B9Kw5!eT)Bj_h9vlCX8%VRvMOg8PJ*>PU>%yt-hyGOhjg!2pZR4{ z=VR_*?Hw|aai##~+^H>3p$W@6Zi`o4^iO2Iy=FPdEAI58Ebc~*%1#sh8KzUKOVHs( z<3$LMSCFP|!>fmF^oESZR|c|2JI3|gucuLq4R(||_!8L@gHU8hUQZKn2S#z@EVf3? zTroZd&}JK(mJLe>#x8xL)jfx$6`okcHP?8i%dW?F%nZh=VJ)32CmY;^y5C1^?V0;M z<3!e8GZcPej-h&-Osc>6PU2f4x=XhA*<_K*D6U6R)4xbEx~{3*ldB#N+7QEXD^v=I z+i^L+V7_2ld}O2b-(#bmv*PyZI4|U#Q5|22a(-VLOTZc3!9ns1RI-? zA<~h|tPH0y*bO1#EMrsWN>4yJM7vqFZr?uw$H8*PhiHRQg1U9YoscX-G|gck+SSRX!(e7@~eeUEw+POsT;=W9J&=EV`cUc{PIg_#TQVGnZsQbCs7#Q-)v#BicxLw#Fb?#)8TYbu zN)5R=MI1i7FHhF|X}xEl=sW~`-kf;fOR^h1yjthSw?%#F{HqrY2$q>7!nbw~nZ8q9 zh{vY! z%i=H!!P&wh z7_E%pB7l5)*VU>_O-S~d5Z!+;f{pQ4e86*&);?G<9*Q$JEJ!ZxY;Oj5&@^eg0Zs!iLCAR`2K?MSFzjX;kHD6)^`&=EZOIdW>L#O`J zf~$M4}JiV}v6B-e{NUBGFgj-*H%NG zfY0X(@|S8?V)drF;2OQcpDl2LV=~=%gGx?_$fbSsi@%J~taHcMTLLpjNF8FkjnjyM zW;4sSf6RHaa~LijL#EJ0W2m!BmQP(f=%Km_N@hsBFw%q#7{Er?y1V~UEPEih87B`~ zv$jE%>Ug9&=o+sZVZL7^+sp)PSrS;ZIJac4S-M>#V;T--4FXZ*>CI7w%583<{>tb6 zOZ8gZ#B0jplyTbzto2VOs)s9U%trre`m=RlKf{I_Nwdxn(xNG%zaVNurEYiMV3*g| z``3;{j7`UyfFrjlEbIJN{0db|r>|LA@=vX9CHFZYiexnkn$b%8Rvw0TZOQIXa;oTI zv@j;ZP+#~|!J(aBz9S{wL7W%Dr1H)G-XUNt9-lP?ijJ-XEj1e*CI~-Xz@4(Xg;UoG z{uzBf-U+(SHe}6oG%;A*93Zb=oE>uTb^%qsL>|bQf?7_6=KIiPU`I|r;YcZ!YG7y~ zQu@UldAwz$^|uoz3mz1;An-WVBtefSh-pv<`n&TU3oM!hrEI?l@v8A4#^$4t&~T32 zl*J=1q~h+60sNc43>0aVvhzyfjshgPYZoQ(OOh>LbUIoblb@1z~zp?))n?^)q6WGuDh}gMUaA9|X z3qq-XlcNldy5==T4rq*~g@XVY!9sYZjo#R7 zr{n)r5^S{9+$+8l7IVB*3_k5%-TBY@C%`P@&tZf>82sm#nfw7L%92>nN$663yW!yt zhS>EfLcE_Z)gv-Y^h1;xj(<4nD4GY{C-nWUgQc9cMmH{qpa!uEznrGF^?bbJHApScQ$j>$JZHAX80DdXu z--AMgrA0$Otdd#N9#!cg2Z~N8&lj1d+wDh+^ZObWJ$J)_h(&2#msu>q0B$DEERy{1 zCJN{7M@%#E@8pda`@u!v@{gcT3bA*>g*xYLXlbb&o@1vX*x+l}Voys6o~^_7>#GB| z*r!R%kA9k%J`?m>1tMHB9x$ZRe0$r~ui}X}jOC)9LH=Po*2SLdtf3^4?VKnu2ox&mV~0oDgi` z;9d}P$g~9%ThTK8s}5ow2V4?(-lU*ed8ro|}mU}pk% z;bqB0bx3AOk<0Joeh}Vl@_7Po&C`Cg>>gff>e7fu41U3Ic{JQu1W%+!Gvz3GDO2ixKd;KF6UEw8F_cDAh08gB>@ zaRH2Q96sBJ>`4aXvrF0xPtIWoA1pPsRQtU~xDtnEfTJnl{A9u5pR^K8=UdNq%T8F$)FbN> zgK+_(BF#D>R>kK!M#OT~=@@}3yAYqm33?{Bv?2iBr|-aRK0@uapzuXI)wE0=R@m^7 zQ`wLBn(M*wg!mgmQT1d!@3<2z>~rmDW)KG0*B4>_R6LjiI0^9QT8gtDDT|Lclxppm z+OeL6H3QpearJAB%1ellZ6d*)wBQ(hPbE=%?y6i^uf%`RXm*JW*WQ%>&J+=V(=qf{ zri~yItvTZbII+7S0>4Q0U9@>HnMP$X>8TqAfD(vAh};2P{QK)ik`a6$W$nG<{bR2Ufd!^iE z#1K58$gW!xpeYHeehuhQCXZ9p%N8m zB+l~T_u-Ycr!U>!?xu!!*6rNxq37{`DhMMfY6NpD3Jw zkYQDstvt30Hc_SaZuuMP2YrdW@HsPMbf^Y9lI<9$bnMil2X7`Ba-DGLbzgqP>mxwe zf1&JkDH54D3nLar2KjJ3z`*R+rUABq4;>>4Kjc2iQEj7pVLcZYZ~pteAG4rm1{>PQy=!QiV5G|tVk)53 zP?Azw+N)Yq3zZ`dW7Q9Bq@Y*jSK0<1f`HM;_>GH57pf_S%Ounz_yhTY8lplQSM`xx zU{r-Deqs+*I~sLI$Oq`>i`J1kJ(+yNOYy$_>R3Jfi680<|^u#J@aY%Q>O zqfI~sCbk#3--^zMkV&Yj0D(R^rK}+_npgPr_4^kYuG=pO%$C_7v{s@-{M-P@RL3^<`kO@b=YdKMuccfO1ZW# zeRYE%D~CMAgPlo?T!O6?b|pOZv{iMWb;sN=jF%=?$Iz_5zH?K;aFGU^8l7u%zHgiy z%)~y|k;Es-7YX69AMj^epGX#&^c@pp+lc}kKc`5CjPN4Z$$e58$Yn*J?81%`0~A)D zPg-db*pj-t4-G9>ImW4IMi*v#9z^9VD9h@9t;3jMAUVxt=oor+16yHf{lT|G4 zya6{4#BxFw!!~UTRwXXawKU4iz$$GMY6=Z8VM{2@0{=5A0+A#p6$aT3ubRyWMWPq9 zCEH5(Il0v4e4=Yxg(tDglfYAy!UpC>&^4=x7#6_S&Ktds)a8^`^tp6RnRd{KImB^o z2n=t#>iKx<*evmvoE{+fH#@WXGWs$)Uxrtf?r>AaxV0?kf0o@oDboJ6z0cgP@A$;k>SK1UqC?Q_ zk_I?j74;}uNXhOf_5ZxQSgB4otDEb9JJrX1kq`-o%T>g%M5~xXf!2_4P~K64tKgXq z&KHZ0@!cPvUJG4kw-0;tPo$zJrU-Nop>Uo65Pm|yaNvKjhi7V1g98;^N1~V3% zTR>yWa+X2FJ_wpPwz3i^6AGwOa_VMS-&`*KoKgF2&oR10Jn6{!pvVG@n=Jk@vjNuY zL~P7aDGhg~O9G^!bHi$8?G9v9Gp0cmekYkK;(q=47;~gI>h-kx-ceM{ml$#8KI$4ltyjaqP zki^cyDERloAb)dcDBU4na9C(pfD{P@eBGA}0|Rb)p{ISqi60=^FUEdF!ok{Gs;vb) zfj9(#1QA64w*ud^YsN5&PeiI>c`VioE8h)e}W%S9NMA55Gs zrWL6l+@3CKd@8(UQLTwe12SGWMqRn+j)QZRj*g)Xua)%ayzpqs{pD(WWESJYL3{M$ z%qkpM`jFoqLYVv6{IbCkL?fEiJj$VG=$taup&RL9e{s(Sgse2xVJlw0h74EXJKt2eX|dxz{->0)3W`JN7Bv!rLvRZc z0tAOZ2yVe4g9iq826qXAg`f!*+}(o1;1FDb>kKexumFS40KvK0yH1_@Z=LgWZ+}(Y zwYsa;OLz6tTA%gS=>8$=Z7pLh>|K2QElL)E=Q*(n*H`8R`8={-@4mTD-SWBOYRxV? zmF(-rJB8^Wlp?319rTrh^?QEP?|Msxrv?WbJ-+id+V#F2Y4(JPJ6U9bv+U1cIIH^W z)lg$_=g^Ma>2~Pyd_YOAv29Cb-U6DJO?NxnW7~QP*SmYi*vdUVuW#LWQ_u0`hymZi zaQS3Nb^4`ro$>0G%zbXmr5|D|iq0R<;S@?kr0j5Ruq87-Z1>crx%EzVZ9#U;{?}ti zW2W%*9MQg3Nbh%Ti6LhDd|-aFSgXoPG`mHlUU1iCHr>ru>DX?W_#13(`u*!Plu2OP z6jk=2>BC0l)aw;HCmxoYD1i4b%m$1`DYC_^L~ zIEAnFcHvad=-aO3(_MI=9#`z6-9*_!&$?<%meb5;jGd5Qp=MGf z6BD{%`L#TAOq%z%@*ib95Ey7NbUF=BlszVk3Iu3imD&*91N-ij%hW?W@~2TtdHTfP z#n0@Xd7X8Dyu36n{k#PwQ~T~X7mAO^cNV+z<HO@3X-# z_@rAn$k~(l@kciCC;&Qd*fWRI>=;fL{UPlciNDWyj$bX<#r^(r;EE8wwUVQm&7~QY zCXRj!**r^xybAEPq>h3W$uvI1j=yNIyzkE_D7fpGw)OV{U*Uwm{xB;mEg2(|y|ICd zMdQVqzMb-=XM6|E-a9kNh)^9lY`-DjhhHD1w5lufRcy+QLgJ47!fFne86#F; zX{ufroVBEZJOY?rDo!;Te6aOZ^1SO!dYRxQ*2njyA~dCWawn)>!*k7~>8Ikt&e*0>>V5ZbO|*1+2LFOqVe zXHb!aMk03^h%&9L8GMy7UDI2Kev>V@(R}*Iu6x+!Hn4~D@wj`P%#Hdbf(lK{+DD7f zJ&(v*mhn_e(R$^5L#bM^^Q@-!*b!l|+Xrb(q*MRFJYnrE7*xko!SJOy9LngR2|q5k zY`Ioiu+YBfzF{Labszk-E#*BYQk>$()=xWEGZRKwY)*UxP}0dGuPLZOkNJDI9Hy zFjfwiK6RjhH#rHW#B0(MW}i%V`943<6@Z*Nd^JEP5uZonXm=u%AM>{H^U@&Jy*i0s za_Da^xI6pMtXzHc{e~_ZcnKP*;=YL2Z^RmzDl{dJTk7*}E_h*NvgnhnxVKB59Duh~ zqouS_WoOR*{UvUw_K#OWz;gMracr%8>QQ&V*jv!8)ho;U8}9~8EU{N<=Z_gR%IpMT zbkePUG_afm=#|iIfFmdqkpLMGxY5D$`?I}&T7>TexU@v zkBx09kG)O;09ckj#(_Uov6vv{{HOcr-%H#DUQ@*GzF8Zh{iSM13%fuB%>wjdU@3Nf zlnYE!GTyNrqes|;nLFXfWU*Wg-9wmr=NBd$nCk+H?iwNvcd0Wab^3CT9a`>3V~oWI z9=_H+N-Q=MQ(io4u4mpdQ;k&5FXnKV5M7R`@WJ9h(GrAirO#XXOU{qQpk^B^Vd=Dt{wiqT zg-#j9J~@o%H2;W9mg)o6@*Vo;BSs2*4HAHpDk02mndAsov08R_48zJZ@J)s7+hyCo zy*0L#y)?AqZt-wX%+_Vx`8*A95OLHvs1$k~{h-_N_vov_gHJE=`X>L?5K+ zD?u59=mjtImMvd1GsDytuYp{IyUkW&?h zF>$#`n$~bZ)KN0B$XGeMYh&`;g8 zo_2-koaO6+8O!+L>SpIQbG(i;QW9UJi{Ecewlo?s&D!^>i$|#jaW}#HJuxt|W48=? zb^Y&O$a1s5ddr8DIt!sD!t=y1g(d4GR(s;s-HfV$GXl&m;+sAAxB^rk(3_NjE$p#L z*t4em?tA0d+XwRxN^OQwzbDZMuSE0J1)Ky{mq)^t4bnSl*)s>zNM@mMdtd78&ebHN z`!(|lE5q-p+TsRaNnMXwALaN5QIZ2IUi^Z22tsN5>nvIO+YU}Q*xh6}ee6@rR~<&1 z(PB4z>9ZBUMXZwSMmd9-aKKsmJeJq^G|#JclOh*xf0?^e0(`40nsg1z)(48;4}B_( zGwPI)yo|{oX{dVDL-5-aMGr;~vU1cPtJP5JM(sswz&Q`e<@0?y{YhsO9YK8EYJA;L z>7oG_Mts+(wCBC*Md82#XdKw&J*IizR?9k^rf1r{Ot-&>V^ke{9nI9zavlcNkIJtN z7T>?o|4rENk-?|lewZ(EfdR;%BUrzKJ^UkCpsM)EA9QHBVV8trT&*O(9?FO{MLTFL z=5P0H+T6C^jAuX0k4U;~GM!x`!X2N~3_n?qXY$HI>x@(DHEy&Q3ucT1R6fj28wX!I zC=&d$@bJ_v^%?W2Ngl}e8ww`b%BrN-PzGH;$@B2Ky1?%GMkm#~Okj(-Admyy;qya| zOi73kr_pwt?5Nj3p=&H>81!w#>Agj z(QXx{j0r=pTl>micAI_5vUw<3`Sht?Z}-j2Wx~F8DKCUQrsXl2?W8hur42(F_ zsSJ)_36&x6A|YkY6c<2a94SXbv~d>4CC4nkDPvf9Z5Fys^6^5r0j5=E>Cgy_Dk@tS z%?c}9!qB?t6t8(XMH%le8UeNWp@Nsma~Ql+^3Bo%_npMryeQJz4V=BAqE~T?dejng z3ge{fjCHoNAfYBvsfq;G%VL|j7t z`X0sy1EEgpyD;)tS1x+fnv-?C@glP0{RCW}Ma?3qpoq_&IJAYOy3G#s`rsh5=3>`K zkj``=;|*x5HSjZC zXNvPLh372q;=+6ja|SC!R-`JcL}}wwskajjTUGTpL(1zkN-p?BA2lmf+J3WsB7!k`0Brx8^cLTF9h)r+LZ$vsZo}`OpOs)?c6$hclR!R#MAeh|_DY|9r zy+_3c%IO9h9X?ksp?an&>Lw;QeQ`T-Ku6HaK~H?E9-Z5$cZu{YU;1+-6B$|JD;%!^ zt(4l>F8}a-UkC4YtOxFHckhl4VKr6P$P_O*U!)IDory%}Wz`YeFx6TO{y2Y${SBm?H9cTWV=WWJ z`_*CGso!ZN>l@~_jkeXtV}fczfA{TUkyeD>)i3|NFGcCsBmK3HXp&ol_@GVs7PIpfULy!hi zs+%KYgS%(n7_z_}6)hblk~W#LZ@&2)fwm6xkFP%&Ju|MFWbNiTwy{{g-pV1RK`L&=RE2D z4|g;~vd8xd|teYS%w!IlT4W$&FTrk-hcTADX!P?*f1YWEIRwq$Ys%^(Z9w&HT$>} zsMD#6Df=uJrX!JHP7<>Or;e_Cf=}`!`qR=i8fBj)$6Lxx{HRzd8Tnzd0p>kSps{OG zKJkml>bUj8$u|F=``l(-aMxWBC@CGZ#FXClQZ<4|&%jN}Tkg#q8z)=>Ly{$i0`rjU zvt|QddO&i=91e?h3>s~i;+6{ z8X4i6a1wDLrSuE#W(zhan+U*Zq+8p3a))JFVF4ffaV51K^YgTso~3;Y*NmM; zx8T?y-N0uyWY(8=me-HUC9xtABvX5~%yg+Cp&XF$Bq=OcK6T*D7eZ2EmIoCFWm{$S z1PNw8HDpe5hHeCusN8kdeb&f2#=3M^A~7YwJ7FRrhq*)PG9x?JIAaC{MV}5}g#7R$-Ly%)4=IUkRCGOR|XTMjn&okRmFjaO^YF5^* z@)#MCBOBezD)*xQNxydlUyN?dW{fS(s-T`gv*0BEnk}`BdmrbmPO8q8y(X$AA}*RH%I7Av!~84pudHb&%Q5-j zt?=6x(iR?<^_7X0v6Ys#VAL}dKk^hcjI=|EY;kPcZ_w<*H`_*|N7SacaM1ERD@6ab zg`!iTm7$URV+lpW_{V$ruR&A>jrX68k4x2wo$45}&wf7o<|o(@B!u-L@bKyQBAGwy z4#}UrRAu>^>Vb6k2-th^>WjvP;Nl|i3WrjWv3ISkj{m{eAcQIW^_ndxSX@|8T(ASJ z?_$fcP2u*6uOBk-{d>^ z0vWlfGQMvysI%R=iE|A+!!Nw?C917EU*_$`;;)px?s83CRd3i_jBN)k#nR5t$dJ(+ z_sP;wG@Ad)^(3LRj7q}0b2O(b`|i0~5SYb%Sjk^*5ISZ-Ab+}DGu$-X1n^TF1Ndw_ zF|e*1)cI2%`TR&AW~XpqpFb!=3cHbS>np9hYD_Mr5}y5Y`SY^r7isA2Q4(z zazRQEqWDKT2zIEbjSYdCPi1ZOGz80Nsl}gxO^DWMY0AV<2K&OL{&^6#@L1?lXu#6xSMh%3^5c*}oM6DQGY#(a^@z<&D zF(43I9e&5`h|A$5!+UFuOH0>F3$shBV4`0#M4RSB8=6F0ZgIbq<2LQ$Hh^(kAJu=! zt8ZGXTacD{(3W{V1$j_{Jc)Ka7t6u}ho`4kF+4@t_0!mCBn z)}o%eA}L)_L?=jw6BIfll7tb3n}?*yLt&XADa=rW>qz=_6s9ziOd5sXjil>FVFx3r zf>Feewk0v#W9>Gp4GacTRr>Sd2T6dWi-{YX`v!D)kCWzG5xQB=?es5ON(%nkwUhNl zV>@xkWWWv*N+{e$(SrExvN6BXzU(Hxlx27{VYHf+LpIbTO+Yu(ltMk<;)3A(LU@ytVYFkYvTa79idMtUFhfxx?P!)2F`prNWW#Fub#l>N2s@nh&n_ zA4{#}|AIs9|A4P0ZF%fy=hDN!t#ifH<)4u2kirK~JUpjQ-J+~cXOZI&dIts;P}UeXslP6zKvpEKSN-$y>kJ^nw2tC9bv zo(|lT@?vZ!{_l|d^8Yh)eEBh*5ABh+Lzjw+?V)o z#P-W7361>E(Y4;@`sv;VKn G`u_lkUM?>H diff --git a/edivorce/apps/core/static/fonts/glyphicons-halflings-regular.woff2 b/edivorce/apps/core/static/fonts/glyphicons-halflings-regular.woff2 deleted file mode 100644 index 64539b54c3751a6d9adb44c8e3a45ba5a73b77f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18028 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 diff --git a/edivorce/apps/core/templates/pdf/form1.html b/edivorce/apps/core/templates/pdf/form1.html index 357556c4..a20d621b 100644 --- a/edivorce/apps/core/templates/pdf/form1.html +++ b/edivorce/apps/core/templates/pdf/form1.html @@ -11,8 +11,7 @@ - - + @@ -49,23 +48,23 @@ Claimant 1 and Claimant 2: - began to live together in a marriage-like relationship on [dd/mm/yyyy] + {% endif %} began to live together in a marriage-like relationship on [dd/mm/yyyy] {% if responses.when_were_you_live_married_like %} {{ responses.when_were_you_live_married_like }} {% else %}   {% endif %} - were married on [dd/mm/yyyy] + {% else %} icon-check-empty"> {% endif %} were married on [dd/mm/yyyy] {% if responses.when_were_you_married %} {{ responses.when_were_you_married }} {% else %}   {% endif %} - separated on + {% else %} icon-check-empty">
{% endif %} separated on {% if responses.separation_date %} {{ responses.separation_date }} {% else %}   [dd/mmm/yyyy]{% endif %} - were divorced from each other by order made on [dd/mm/yyyy] + were divorced from each other by order made on [dd/mm/yyyy]   - were never married + were never married @@ -76,7 +75,7 @@ - + @@ -115,14 +114,14 @@ @@ -141,16 +140,16 @@ - + - + - + @@ -160,12 +159,12 @@ - - +
Claimant 1 and Claimant 2 are asking for a divorce order. Claimant 1 and Claimant 2 are asking for a divorce order.
A Personal information:
Marital status immediately before marriage: -

never married

-

divorced

-

widowed

+

{% else %} icon-check-empty"> {% endif %} never married

+

{% else %} icon-check-empty"> {% endif %} divorced

+

{% else %} icon-check-empty"> {% endif %} widowed

-

never married

-

divorced

-

widowed

+

{% else %} icon-check-empty"> {% endif %} never married

+

{% else %} icon-check-empty"> {% endif %} divorced

+

{% else %} icon-check-empty"> {% endif %} widowed

B Grounds for claim for divorce:
[If divorce is claimed as a result of having lived separate and apart, complete paragraph (i).]
(i) Claimant 1 and Claimant 2 have lived separate and apart since {% if responses.separation_date %} {{ responses.separation_date }} {% else %}   [dd/mm/yyyy]{% endif %} (i) {% else %} icon-check-empty"> {% endif %} Claimant 1 and Claimant 2 have lived separate and apart since {% if responses.separation_date %} {{ responses.separation_date }} {% else %}   [dd/mm/yyyy]{% endif %}
AND
[Check whichever one of the following boxes is correct and complete any required information.]
Claimant 1 and Claimant 2 have not lived together since then {% else %} icon-check-empty"> {% endif %} Claimant 1 and Claimant 2 have not lived together since then
Claimant 1 and Claimant 2 have lived together again during the following period(s), in an unsuccessful attempt to reconcile: [give dates of period(s)] {% else %} icon-check-empty"> {% endif %} Claimant 1 and Claimant 2 have lived together again during the following period(s), in an unsuccessful attempt to reconcile: [give dates of period(s)]

From:  

From:  

From:  

[If divorce is claimed on grounds other than having lived separate and apart, complete paragraph (ii) by checking both of the following boxes and completing the required information.]
(ii) Other grounds , under section 8 (2) (b) of the Divorce Act (Canada):   + (ii) Other grounds , under section 8 (2) (b) of the Divorce Act (Canada):  

[state the grounds]

AND
There has been no condonation of any act relied on under section 8 (2) (b) of the Divorce Act (Canada) as a ground for divorce.
AND
There has been no condonation of any act relied on under section 8 (2) (b) of the Divorce Act (Canada) as a ground for divorce.
@@ -175,10 +174,10 @@ C Claimant 1 and Claimant 2 confirm that: [Check both of the following boxes.] - There is no possibility of reconciliation. + {% else %} icon-check-empty"> {% endif %} There is no possibility of reconciliation. - There has been no collusion, as defined in section 11 (4) of the Divorce Act (Canada), in relation to this claim for divorce. + {% else %} icon-check-empty"> {% endif %} There has been no collusion, as defined in section 11 (4) of the Divorce Act (Canada), in relation to this claim for divorce. @@ -188,17 +187,17 @@ D Proof of marriage:
[Check whichever one of the following boxes is correct and complete any required information.] - A certificate of marriage or registration of marriage has been filed. + {% else %} icon-check-empty"> {% endif %} A certificate of marriage or registration of marriage has been filed. - A certificate of marriage or registration of marriage is not being filed with this notice of joint family claim because + {% else %} icon-check-empty"> {% endif %} A certificate of marriage or registration of marriage is not being filed with this notice of joint family claim because {% if responses.provide_certificate_later_reason and responses.original_marriage_certificate == 'NO' and responses.provide_certificate_later == 'YES' %} {{ responses.provide_certificate_later_reason }} {% else %}   {% endif %}

[state the reasons]

and the certificate will be filed before this claim is set down for trial or an application is made for an order of divorce.

- It is impossible to obtain a certificate of marriage or registration of marriage because: + {% else %} icon-check-empty"> {% endif %} It is impossible to obtain a certificate of marriage or registration of marriage because:  {% if responses.not_provide_certificate_reason and responses.original_marriage_certificate == 'NO' and not responses.provide_certificate_later == 'YES' %} {{ responses.not_provide_certificate_reason }} {% else %}   {% endif %}

[state the reasons]

@@ -215,13 +214,13 @@ Children: [Check whichever one of the following boxes is correct and complete any required information.] - There are no children of the marriage, as defined by the Divorce Act (Canada), or children of whom Claimant 1 and Claimant 2 are parents within the meaning of the Family Law Act . + {% else %} icon-check-empty"> {% endif %} There are no children of the marriage, as defined by the Divorce Act (Canada), or children of whom Claimant 1 and Claimant 2 are parents within the meaning of the Family Law Act . [OR] - There are children of the marriage, as defined by the Divorce Act (Canada), or children of whom Claimant 1 and Claimant 2 are parents within the meaning of the Family Law Act , and those children are: + {% else %} icon-check-empty"> {% endif %} There are children of the marriage, as defined by the Divorce Act (Canada), or children of whom Claimant 1 and Claimant 2 are parents within the meaning of the Family Law Act , and those children are: @@ -262,7 +261,7 @@ - - - + - +
A Claimant 1 and Claimant 2 are asking for the following order respecting arrangements for parenting or contact:   + A Claimant 1 and Claimant 2 are asking for the following order respecting arrangements for parenting or contact:  

[set out terms of proposed order] @@ -270,17 +269,17 @@

B Claimant 1 and Claimant 2 are asking for an order for child support as follows:   + B Claimant 1 and Claimant 2 are asking for an order for child support as follows:  

[set out terms of proposed order]

C Claimant 1 and Claimant 2 are asking for the orders under paragraphs A and B of this section under the following statute(s): [Check one or both of the following boxes, as applicable.] C Claimant 1 and Claimant 2 are asking for the orders under paragraphs A and B of this section under the following statute(s): [Check one or both of the following boxes, as applicable.]
the Divorce Act (Canada) the Family Law Act the Divorce Act (Canada) the Family Law Act
@@ -291,7 +290,7 @@ - - + - +
Claimant 1 and Claimant 2 are asking for an order for spousal support as follows: + {% else %} icon-check-empty"> {% endif %} Claimant 1 and Claimant 2 are asking for an order for spousal support as follows: {% if responses.spouse_support_details %} {{responses.spouse_support_details }} {% else %}   {% endif %}

[set out terms of proposed order] @@ -299,11 +298,11 @@

Claimant 1 and Claimant 2 are asking for an order for spousal support under [Check one or both of the following boxes, as applicable.] {% else %} icon-check-empty"> {% endif %} Claimant 1 and Claimant 2 are asking for an order for spousal support under [Check one or both of the following boxes, as applicable.]
the Divorce Act (Canada) - the Family Law Act {% else %} icon-check-empty"> {% endif %} the Divorce Act (Canada) + {% else %} icon-check-empty"> {% endif %} the Family Law Act
@@ -317,13 +316,13 @@ A Property claims under the Family Law Act - Claimant 1 and Claimant 2 are asking for an order for:
[Check whichever one of the following boxes is correct and complete any required information in relation to family property and family debt, as those terms are defined in the Family Law Act.] + Claimant 1 and Claimant 2 are asking for an order for:
[Check whichever one of the following boxes is correct and complete any required information in relation to family property and family debt, as those terms are defined in the Family Law Act.] - an equal division of family property and family debt + {% else %} icon-check-empty"> {% endif %} an equal division of family property and family debt - an unequal division of family property and family debt as follows:   + {% else %} icon-check-empty"> {% endif %} an unequal division of family property and family debt as follows:  

[set out details of proposed division]

@@ -333,7 +332,7 @@ B Other property claims - Claimant 1 and Claimant 2 ask for an order respecting an interest in property or for compensation instead of an interest in that property, as follows: + Claimant 1 and Claimant 2 ask for an order respecting an interest in property or for compensation instead of an interest in that property, as follows:   @@ -345,7 +344,7 @@ - diff --git a/edivorce/apps/core/utils/question_step_mapping.py b/edivorce/apps/core/utils/question_step_mapping.py index ad0ea750..410df3a5 100644 --- a/edivorce/apps/core/utils/question_step_mapping.py +++ b/edivorce/apps/core/utils/question_step_mapping.py @@ -15,8 +15,8 @@ question_step_mapping = {'prequalification': ['married_marriage_like', 'lived_in 'where_were_you_married_country', 'where_were_you_married_other_country', 'marital_status_before_you', 'marital_status_before_spouse',], 'your_separation': ['no_reconciliation_possible', 'no_collusion',], - 'spousal_support': ['spouse_support_details', 'spouse_support_act'], - 'property_and_debt': ['deal_with_property_debt'], + 'spousal_support': ['spouse_support_details', 'spouse_support_act',], + 'property_and_debt': ['deal_with_property_debt', 'how_to_divide_property_debt', 'other_property_claims',], 'other_orders': [], 'other_questions': [], 'filing_locations': ['address_to_send_official_document_street', 'address_to_send_official_document_city', diff --git a/edivorce/fixtures/Question.json b/edivorce/fixtures/Question.json index a09d6b03..29c9eefa 100644 --- a/edivorce/fixtures/Question.json +++ b/edivorce/fixtures/Question.json @@ -351,6 +351,22 @@ "model": "core.question", "pk": "deal_with_property_debt" }, +{ + "fields": { + "name": "Please describe how you and your spouse plan to divide your property, assets and your debts.", + "description": "For step 7, Form 1 6. Property and debt" + }, + "model": "core.question", + "pk": "how_to_divide_property_debt" +}, +{ + "fields": { + "name": "Other Property Claims", + "description": "For step 7, Form 1 6. Property and debt" + }, + "model": "core.question", + "pk": "other_property_claims" +}, { "fields": { "name": "At what court registry will you be filing?", @@ -365,7 +381,7 @@ "description": "For step 10, Form 1 8. Claimants' addresses for service" }, "model": "core.question", - "pk": "address_to_send_official_document_street" + "pk": "address_to_send_official_document_street_you" }, { "fields": { @@ -373,7 +389,7 @@ "description": "For step 10, Form 1 8. Claimants' addresses for service" }, "model": "core.question", - "pk": "address_to_send_official_document_city" + "pk": "address_to_send_official_document_city_you" }, { "fields": { @@ -381,7 +397,7 @@ "description": "For step 10, Form 1 8. Claimants' addresses for service" }, "model": "core.question", - "pk": "address_to_send_official_document_prov" + "pk": "address_to_send_official_document_prov_you" }, { "fields": { @@ -389,7 +405,7 @@ "description": "For step 10, Form 1 8. Claimants' addresses for service" }, "model": "core.question", - "pk": "address_to_send_official_document_country" + "pk": "address_to_send_official_document_country_you" }, { "fields": { @@ -397,7 +413,7 @@ "description": "For step 10, Form 1 8. Claimants' addresses for service" }, "model": "core.question", - "pk": "address_to_send_official_document_other_country" + "pk": "address_to_send_official_document_other_country_you" }, { "fields": { @@ -405,7 +421,7 @@ "description": "For step 10, Form 1 8. Claimants' addresses for service" }, "model": "core.question", - "pk": "address_to_send_official_document_fax" + "pk": "address_to_send_official_document_fax_you" }, { "fields": { @@ -413,6 +429,62 @@ "description": "For step 10, Form 1 8. Claimants' addresses for service" }, "model": "core.question", - "pk": "address_to_send_official_document_email" + "pk": "address_to_send_official_document_email_you" +}, +{ + "fields": { + "name": "What is the best address to send your spouse official court documents? Street Number", + "description": "For step 10, Form 1 8. Claimants' addresses for service" + }, + "model": "core.question", + "pk": "address_to_send_official_document_street_spouse" +}, +{ + "fields": { + "name": "What is the best address to send your spouse official court documents? City", + "description": "For step 10, Form 1 8. Claimants' addresses for service" + }, + "model": "core.question", + "pk": "address_to_send_official_document_city_spouse" +}, +{ + "fields": { + "name": "What is the best address to send your spouse official court documents? Prov", + "description": "For step 10, Form 1 8. Claimants' addresses for service" + }, + "model": "core.question", + "pk": "address_to_send_official_document_prov_spouse" +}, +{ + "fields": { + "name": "What is the best address to send your spouse official court documents? Country", + "description": "For step 10, Form 1 8. Claimants' addresses for service" + }, + "model": "core.question", + "pk": "address_to_send_official_document_country_spouse" +}, +{ + "fields": { + "name": "What is the best address to send your spouse official court documents? Other Country", + "description": "For step 10, Form 1 8. Claimants' addresses for service" + }, + "model": "core.question", + "pk": "address_to_send_official_document_other_country_spouse" +}, +{ + "fields": { + "name": "What is the best address to send your spouse official court documents? Fax number", + "description": "For step 10, Form 1 8. Claimants' addresses for service" + }, + "model": "core.question", + "pk": "address_to_send_official_document_fax_spouse" +}, +{ + "fields": { + "name": "What is the best address to send your spouse official court documents? Email", + "description": "For step 10, Form 1 8. Claimants' addresses for service" + }, + "model": "core.question", + "pk": "address_to_send_official_document_email_spouse" } ] From 1c89c86eeb21344be82492b9ff5dc4cd344edac2 Mon Sep 17 00:00:00 2001 From: Charles Shin Date: Tue, 21 Feb 2017 13:46:33 -0800 Subject: [PATCH 14/39] Updated links to open in new tab or window --- edivorce/apps/core/templates/f1/00_intro.html | 12 +++++----- .../apps/core/templates/f1/01_orders.html | 22 ++++++++--------- .../apps/core/templates/f1/02_claimant.html | 2 +- .../apps/core/templates/f1/05_reason.html | 4 ++-- .../apps/core/templates/f1/06_support.html | 24 +++++++++---------- .../apps/core/templates/f1/07_property.html | 18 +++++++------- .../templates/prequalification/step_01.html | 2 +- .../templates/prequalification/step_02.html | 6 ++--- .../templates/prequalification/step_03.html | 2 +- .../templates/prequalification/step_04.html | 8 +++---- .../templates/prequalification/step_05.html | 12 +++++----- .../templates/prequalification/step_06.html | 6 ++--- 12 files changed, 59 insertions(+), 59 deletions(-) diff --git a/edivorce/apps/core/templates/f1/00_intro.html b/edivorce/apps/core/templates/f1/00_intro.html index 06c82a4a..f39dd23b 100644 --- a/edivorce/apps/core/templates/f1/00_intro.html +++ b/edivorce/apps/core/templates/f1/00_intro.html @@ -32,7 +32,7 @@ @@ -69,15 +69,15 @@ agreement:

- A + A separation agreement workshop is also available on the Justice Education Society web site.

A separation agreement is only required to be filed or disclosed in a joint divorce action if you have children, diff --git a/edivorce/apps/core/templates/f1/01_orders.html b/edivorce/apps/core/templates/f1/01_orders.html index 348fdc36..339014e8 100644 --- a/edivorce/apps/core/templates/f1/01_orders.html +++ b/edivorce/apps/core/templates/f1/01_orders.html @@ -33,7 +33,7 @@

A divorce is a court order, made under the Divorce Act, that ends a marriage. Only married spouses need to get a divorce to end their relationship; unmarried spouses and other unmarried couples do not need to divorce. Their relationships are over when they separate. - http://www.cbabc.org/For-the-Public/Dial-A-Law/Scripts/Family-Law/120 + http://www.cbabc.org/For-the-Public/Dial-A-Law/Scripts/Family-Law/120

So you do not need to ask for a legal end to the marriage (Divorce order). However, if you would like spousal support or property and debt issues addressed, you will need to ask for these orders. @@ -47,8 +47,8 @@

For more information refer to the - Spousal Support and - How to Divide Property and Debt fact sheets on the Legal Services Society web site. + Spousal Support and + How to Divide Property and Debt fact sheets on the Legal Services Society web site.

@@ -62,7 +62,7 @@ and distinct from child support. Unlike child support, spousal support is not a right in every case. You are entitled to spousal support in certain situations." aria-hidden="true"> by the Legal Services Society. - http://www.familylaw.lss.bc.ca/resources/fact_sheets/spousal_support.php

+ http://www.familylaw.lss.bc.ca/resources/fact_sheets/spousal_support.php

@@ -138,7 +138,7 @@

Marriage Certificates

An order is the record of the judge's decision. It is filed at the court registry. The parties involved in a case (or their lawyers) are responsible for writing out the order. The judge or master who heard your case doesn't write the order. The court clerk doesn't write the order. (But in Provincial Court, court clerks do write out orders for unrepresented parties)..

-

More information on Court Orders can be found on the Legal Services Society web site.

+

More information on Court Orders can be found on the Legal Services Society web site.

The Notice of Joint Family Claim has five schedules (or sections). You only have to fill out the schedules that relate to the order you're asking for.

-

(insert table from LSS web site)

+

(insert table from LSS web site)

{% endblock %} diff --git a/edivorce/apps/core/templates/f1/02_claimant.html b/edivorce/apps/core/templates/f1/02_claimant.html index 7460d417..ae594326 100644 --- a/edivorce/apps/core/templates/f1/02_claimant.html +++ b/edivorce/apps/core/templates/f1/02_claimant.html @@ -166,5 +166,5 @@ {% endblock %} {% block sidebarText %} -

The Meaning of "Ordinary Residence" and "Habitual Residence" in the Common Law Provinces in a Family Law Context: http://www.justice.gc.ca/eng/rp-pr/fl-lf/divorce/rhro_cl/p4.html

+

The Meaning of "Ordinary Residence" and "Habitual Residence" in the Common Law Provinces in a Family Law Context: http://www.justice.gc.ca/eng/rp-pr/fl-lf/divorce/rhro_cl/p4.html

{% endblock %} \ No newline at end of file diff --git a/edivorce/apps/core/templates/f1/05_reason.html b/edivorce/apps/core/templates/f1/05_reason.html index 2cea70ab..ba7245e1 100644 --- a/edivorce/apps/core/templates/f1/05_reason.html +++ b/edivorce/apps/core/templates/f1/05_reason.html @@ -93,7 +93,7 @@

How can you prove you're separated if you and your spouse still live together?

You and your spouse might have decided to end your relationship, but for financial or other reasons, you can't live separately. You might have to prove to a court that you and your spouse have actually separated so that you can get a divorce and/or divide up the assets you have as a couple.

A list of activities and behaviours that the courts consider to be indicators of a couple being separated can be found on the - Legal Services Society web site.

+ Legal Services Society web site.

You can also get a divorce if:

@@ -107,6 +107,6 @@

{% endblock %} \ No newline at end of file diff --git a/edivorce/apps/core/templates/f1/06_support.html b/edivorce/apps/core/templates/f1/06_support.html index da14e559..0665ba60 100644 --- a/edivorce/apps/core/templates/f1/06_support.html +++ b/edivorce/apps/core/templates/f1/06_support.html @@ -29,9 +29,9 @@
  • What the person who is asking for spousal support needs in order to become self-sufficient, such as extra training or education.
  • - MySupportCalculator.ca is a website with a support calculator which can give you a rough estimate of spousal support." The guidelines and calculations are complicated so you may want to contact a family law lawyer or a family justice counesllor for help. + MySupportCalculator.ca is a website with a support calculator which can give you a rough estimate of spousal support." The guidelines and calculations are complicated so you may want to contact a family law lawyer or a family justice counesllor for help. - For more information, please see the fact sheet Spousal Support by the Legal Services Society. + For more information, please see the fact sheet Spousal Support by the Legal Services Society.

    @@ -45,7 +45,7 @@

    Typically, Spousal Support is resolved out of court and is detailed in a separation agreement.

    Many couples come to an agreement about spousal support outside of court and capture the details in a - separation agreement. + separation agreement. "Agreements that are filed with the court can be enforced — they have the same force as a court order. They can also be set aside (cancelled) if the situation changes.

    @@ -61,12 +61,12 @@

    For help on what factors to consider, and details to include in your spousal support agreement, refer to the online tool, - How to Write Your Own Separation Agreement, + How to Write Your Own Separation Agreement, produced by the Legal Services Society.

    - You may also find Clicklaw's wikibook on Spousal Support helpful. - This wikibook is a chapter from the JP Boyd on Family Law wikibook. + You may also find Clicklaw's wikibook on Spousal Support helpful. + This wikibook is a chapter from the JP Boyd on Family Law wikibook.

    @@ -101,7 +101,7 @@

    For more information on - which laws apply to your situation please refer to the Legal Services Society web site. + which laws apply to your situation please refer to the Legal Services Society web site.

    @@ -137,14 +137,14 @@

    How is spousal support decided?

    - Link + Link

    Spousal Support Advisory Guidelines

    -

    The Support Advisory Guidelines can help you figure out the amount of spousal support that should be paid.

    +

    The Support Advisory Guidelines can help you figure out the amount of spousal support that should be paid.

    These guidelines aren't the law (neither you or the judge has to follow them), but if your case went to court, the judge or master would probably look at the guidelines to help make his or her decision about the amount of spousal support. The guidelines take into account the income of both spouses, how long you were married, and whether you have children.

    For more information, see the Department of Justice website on - spousal support.

    + spousal support.

    How is spousal support enforced?

    @@ -157,8 +157,8 @@

    When one spouse applies for spousal support, both spouses will have to provide financial information to each other and to the court. You will have to share detailed documents showing your income, assets, and debt. Both Supreme and Provincial Court have rules setting out exactly what needs to be shared and when.

    Be aware that the law requires you to provide "full and true" information to the other party, whether you're negotiating an agreement or making or responding to a court application. There can be serious consequences if you don't. There may be financial penalties, and the court could make changes to your agreement or order.

    In the Supreme Court, both parties must fill out a - Financial Statement (Form F8) and file it with the court for orders related to support. For help, refer to the guide - How to deal with a Supreme Court Financial Statement, produced by the Legal Services Society.

    + Financial Statement (Form F8) and file it with the court for orders related to support. For help, refer to the guide + How to deal with a Supreme Court Financial Statement, produced by the Legal Services Society.

    In the Provincial Court, both parties must fill out and file a Financial Statement (Form 4). For help, see our guide How to deal with a Provincial Court Financial Statement. However, if you agree about the amount of your incomes and how much support should be paid, you can instead fill out a Consent form (Form 19) and file it along with copies of your most recent income tax returns and notices of assessment.

    diff --git a/edivorce/apps/core/templates/f1/07_property.html b/edivorce/apps/core/templates/f1/07_property.html index df028b69..01a45502 100644 --- a/edivorce/apps/core/templates/f1/07_property.html +++ b/edivorce/apps/core/templates/f1/07_property.html @@ -40,7 +40,7 @@

    It doesn't matter whose name the property is in.

    - See section 84 of the Family Law Act + See section 84 of the Family Law Act for more about what counts as family property.

    @@ -62,7 +62,7 @@

    As well, a couple can divide their property or debt unequally by making an agreement.

    See - section 95 of the Family Law Act for more about unequal division of property and debt. + section 95 of the Family Law Act for more about unequal division of property and debt.

    @@ -98,7 +98,7 @@

    Please describe how you and your spouse plan to divide your property, assets and your debts.

    Because the division of family property and debt can be complex we recommend you get - legal advice + legal advice before you make any final decisions.

    @@ -116,8 +116,8 @@
  • Can creditors force me to pay back my ex-spouse's debts?
  • The Family Law web site has an online separation agreement tool that details some of the items to consider when - dividing property and - debt.

    + dividing property and + debt.

    {% input_option type="textarea" name="how_to_divide_property_debt" rows="8" cols="65" class="response-textarea" %} @@ -150,10 +150,10 @@

    Where to Find Out More About Dealing with Property and Debt

    For more information about dealing with Property and Debt, please visit:

    diff --git a/edivorce/apps/core/templates/prequalification/step_01.html b/edivorce/apps/core/templates/prequalification/step_01.html index 68c46874..d5416ff4 100644 --- a/edivorce/apps/core/templates/prequalification/step_01.html +++ b/edivorce/apps/core/templates/prequalification/step_01.html @@ -44,7 +44,7 @@

    No, you aren't married, but after two years, you have a lot of the same rights as a married couple would. And some federal benefits treat you as married spouse if you've been living together for one year. For more information refer to the booklet called - + Living Together or Living Apart: Common-Law Relationships, Marriage, Separation and Divorce, on the Legal Services Society website.

    diff --git a/edivorce/apps/core/templates/prequalification/step_02.html b/edivorce/apps/core/templates/prequalification/step_02.html index bcefad26..d25c3389 100644 --- a/edivorce/apps/core/templates/prequalification/step_02.html +++ b/edivorce/apps/core/templates/prequalification/step_02.html @@ -26,7 +26,7 @@

    You must apply for divorce in the Canadian province or territory in which you've lived for a full year immediately before making your application.
    To find out how to apply for a divorce in your province or territory refer to the appropriate - Provincial or Territorial Government website. + Provincial or Territorial Government website.

    @@ -68,7 +68,7 @@ Another option is to see if you are eligible to apply for divorce in the province/ territory that you have most recently lived in prior to moving to B.C.
    More information on - How to Apply for a Divorce in other provinces and territories + How to Apply for a Divorce in other provinces and territories can be found on the Department of Justice website.

    @@ -93,6 +93,6 @@

    A detailed explanation of the meaning of ordinarily resident can be found on the - Department of Justice web site. + Department of Justice web site.

    {% endblock %} diff --git a/edivorce/apps/core/templates/prequalification/step_03.html b/edivorce/apps/core/templates/prequalification/step_03.html index 98a5da0b..13a45890 100644 --- a/edivorce/apps/core/templates/prequalification/step_03.html +++ b/edivorce/apps/core/templates/prequalification/step_03.html @@ -58,7 +58,7 @@ - From 457ffc1534403b138a72af04a9345fb29c13a526 Mon Sep 17 00:00:00 2001 From: Charles Shin Date: Tue, 21 Feb 2017 13:48:19 -0800 Subject: [PATCH 15/39] Show alert message if separation date is less than a year from current date --- edivorce/apps/core/static/js/controllers.js | 15 +++++++++++++++ edivorce/apps/core/static/js/main.js | 7 +++++++ .../core/templates/prequalification/step_03.html | 1 - 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/edivorce/apps/core/static/js/controllers.js b/edivorce/apps/core/static/js/controllers.js index be149138..1c62499f 100644 --- a/edivorce/apps/core/static/js/controllers.js +++ b/edivorce/apps/core/static/js/controllers.js @@ -116,4 +116,19 @@ var validateDatePicker = function(value){ var validateEmail = function(value){ var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; return regex.test(value); +}; + +// check if separation date is less than one year from today +var checkSeparationDateLessThanYear = function(separationDate){ + // get separation date + value = separationDate.split('/'); + var d = parseInt(value[0], 10); + var m = parseInt(value[1], 10); + var y = parseInt(value[2], 10); + var date = new Date(y,m-1,d); + // get a date for a year from today + var yearFromToday = new Date(); + yearFromToday.setYear(yearFromToday.getFullYear()-1); + // if separation date is less than one year, display message + return (date > yearFromToday); }; \ No newline at end of file diff --git a/edivorce/apps/core/static/js/main.js b/edivorce/apps/core/static/js/main.js index 7ec3bb4d..b78dd057 100755 --- a/edivorce/apps/core/static/js/main.js +++ b/edivorce/apps/core/static/js/main.js @@ -22,6 +22,13 @@ $(function () { // On step_03.html, update text when user enters separation date $("#separated_date").on("change", function(){ $("#separation_date_span").text(" on " + $(this).val()); + // if separation date is less than one year, show alert message + if (checkSeparationDateLessThanYear($(this).val())){ + $('#separation_date_alert').show(); + } + else { + $('#separation_date_alert').hide(); + } }); }); diff --git a/edivorce/apps/core/templates/prequalification/step_03.html b/edivorce/apps/core/templates/prequalification/step_03.html index 13a45890..14eaa6de 100644 --- a/edivorce/apps/core/templates/prequalification/step_03.html +++ b/edivorce/apps/core/templates/prequalification/step_03.html @@ -57,7 +57,6 @@ -
    - +
    Claimant 1 and Claimant 2 are asking for an order in the following terms:   + Claimant 1 and Claimant 2 are asking for an order in the following terms:  

    [set out terms of proposed order]

    @@ -386,7 +385,7 @@ Signature of

    - Claimant 1 lawyer for Claimant 1 + Claimant 1 lawyer for Claimant 1

     
    [ @@ -406,7 +405,7 @@ Signature of

    - Claimant 2 lawyer for Claimant 2 + Claimant 2 lawyer for Claimant 2

     
    [ diff --git a/edivorce/apps/core/templates/pdf/form35.html b/edivorce/apps/core/templates/pdf/form35.html index 6fa6c537..53ab20e2 100644 --- a/edivorce/apps/core/templates/pdf/form35.html +++ b/edivorce/apps/core/templates/pdf/form35.html @@ -109,7 +109,7 @@

    [type or print name]

    - + diff --git a/edivorce/apps/core/templates/styleguide/guide.html b/edivorce/apps/core/templates/styleguide/guide.html index 3d3f7ce3..0e0fcf7f 100644 --- a/edivorce/apps/core/templates/styleguide/guide.html +++ b/edivorce/apps/core/templates/styleguide/guide.html @@ -143,6 +143,24 @@ +
    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    +
    + {% endblock %} {% block sidebarText %}

    Phasellus sit amet ex diam. Morbi ultricies justo ac nibh ullamcorper ultricies. Nam quis viverra metus. Sed tincidunt mi id varius volutpat. Maecenas venenatis in velit ac tincidunt. Donec vulputate quam a metus sodales, eu aliquet lectus iaculis. Nam finibus enim sit amet ex fringilla rhoncus. Maecenas dictum nisi ac mauris faucibus pretium. Nulla varius massa in urna dignissim mattis. In eget cursus est. Nulla facilisi. Donec fringilla urna ac luctus suscipit.

    From 5ec5b22a3bb5155b5b9c53ddc0d797735dd8bd7c Mon Sep 17 00:00:00 2001 From: Charles Shin Date: Mon, 20 Feb 2017 16:17:08 -0800 Subject: [PATCH 13/39] Added second address fields and textarea for property section --- .gitignore | 3 + edivorce/apps/core/static/js/ajax.js | 1 + edivorce/apps/core/static/js/controllers.js | 2 +- edivorce/apps/core/static/js/main.js | 2 +- .../apps/core/templates/f1/02_claimant.html | 2 +- .../apps/core/templates/f1/03_respondent.html | 2 +- .../apps/core/templates/f1/04_marriage.html | 6 +- .../apps/core/templates/f1/05_reason.html | 4 +- .../apps/core/templates/f1/06_support.html | 20 ++--- .../apps/core/templates/f1/07_property.html | 33 +++---- .../apps/core/templates/f1/10_location.html | 70 +++++++++++---- edivorce/apps/core/templates/pdf/form1.html | 19 ++-- .../apps/core/utils/question_step_mapping.py | 4 +- edivorce/fixtures/Question.json | 86 +++++++++++++++++-- 14 files changed, 184 insertions(+), 70 deletions(-) diff --git a/.gitignore b/.gitignore index a7763bba..897ce864 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,6 @@ target/ # Local env settings .env* + +# IDE +.idea/ diff --git a/edivorce/apps/core/static/js/ajax.js b/edivorce/apps/core/static/js/ajax.js index 1c8100b3..cf3d1fd2 100644 --- a/edivorce/apps/core/static/js/ajax.js +++ b/edivorce/apps/core/static/js/ajax.js @@ -24,6 +24,7 @@ var ajaxOnChange = function () { } else{ console.log("Invalid input for " + el.prop('name')); + window.alert("Invalid input for " + el.prop('name')); } }; diff --git a/edivorce/apps/core/static/js/controllers.js b/edivorce/apps/core/static/js/controllers.js index ac7f1328..be149138 100644 --- a/edivorce/apps/core/static/js/controllers.js +++ b/edivorce/apps/core/static/js/controllers.js @@ -68,7 +68,7 @@ var radioWithTextboxControl = function(el){ // when textbox is clicked, update associated radio button response with its value else if (el.is(".other-textbox")){ - var radioTextbox = $("#radio_with_textbox"); + var radioTextbox = el.siblings(".radio_with_textbox"); ajaxCall(radioTextbox.prop('name'), radioTextbox.val()); } }; diff --git a/edivorce/apps/core/static/js/main.js b/edivorce/apps/core/static/js/main.js index 58a1892d..7ec3bb4d 100755 --- a/edivorce/apps/core/static/js/main.js +++ b/edivorce/apps/core/static/js/main.js @@ -14,7 +14,7 @@ $(function () { // when user click textbox beside radio button, check the associated radio button $(".other-textbox").on("click", function(){ - $("#radio_with_textbox").prop('checked', true); + $(this).siblings(".radio_with_textbox").prop('checked', true); }); $("input[type=radio], input[type=checkbox], input[type=text], .response-textarea, .response-dropdown").on("change", ajaxOnChange); diff --git a/edivorce/apps/core/templates/f1/02_claimant.html b/edivorce/apps/core/templates/f1/02_claimant.html index dfd1714d..7460d417 100644 --- a/edivorce/apps/core/templates/f1/02_claimant.html +++ b/edivorce/apps/core/templates/f1/02_claimant.html @@ -113,7 +113,7 @@

    How long have you lived in British Columbia?

    Please select one

    -
    +

    In order to apply for a divorce in British Columbia, you or your spouse must have been a regular resident in B.C (the legal term is ordinarily resident diff --git a/edivorce/apps/core/templates/f1/03_respondent.html b/edivorce/apps/core/templates/f1/03_respondent.html index 2d5bb7d8..82b2ad58 100644 --- a/edivorce/apps/core/templates/f1/03_respondent.html +++ b/edivorce/apps/core/templates/f1/03_respondent.html @@ -115,7 +115,7 @@

    How long has your spouse lived in British Columbia?

    Please select one

    -
    +

    In order to apply for a divorce in British Columbia, you or your spouse must have been a regular resident in B.C (the legal term is ordinarily resident diff --git a/edivorce/apps/core/templates/f1/04_marriage.html b/edivorce/apps/core/templates/f1/04_marriage.html index 07a482e3..9d841d0b 100644 --- a/edivorce/apps/core/templates/f1/04_marriage.html +++ b/edivorce/apps/core/templates/f1/04_marriage.html @@ -63,8 +63,8 @@

    If you cannot remember the exact date you sepearated then enter:

      -
    • - the last day of that month in which you decided to separate from your spouse, and;
    • -
    • - year
    • +
    • the last day of that month in which you decided to separate from your spouse, and;
    • +
    • year
    @@ -81,7 +81,7 @@
    -
    +
    diff --git a/edivorce/apps/core/templates/f1/05_reason.html b/edivorce/apps/core/templates/f1/05_reason.html index 7fb291b8..2cea70ab 100644 --- a/edivorce/apps/core/templates/f1/05_reason.html +++ b/edivorce/apps/core/templates/f1/05_reason.html @@ -98,8 +98,8 @@

    You can also get a divorce if:

      -
    • - you or your spouse has committed adultery (been unfaithful) that hasn't been forgiven, or
    • -
    • - your spouse treated you with physical or mental cruelty that you haven't forgiven, which makes it impossible for you to continue to live together.
    • +
    • you or your spouse has committed adultery (been unfaithful) that hasn't been forgiven, or
    • +
    • your spouse treated you with physical or mental cruelty that you haven't forgiven, which makes it impossible for you to continue to live together.

    To get a divorce for these reasons you have to prove these things in court.

    diff --git a/edivorce/apps/core/templates/f1/06_support.html b/edivorce/apps/core/templates/f1/06_support.html index 63dce05e..da14e559 100644 --- a/edivorce/apps/core/templates/f1/06_support.html +++ b/edivorce/apps/core/templates/f1/06_support.html @@ -23,10 +23,10 @@

    The amount and duration of spousal support is determined after considering the circumstances of each spouse, including:

      -
    • - Your financial situation and the financial situation of your former spouse
    • -
    • - How long your relationship lasted
    • -
    • - The roles and functions of each spouse during the relationship, and
    • -
    • - What the person who is asking for spousal support needs in order to become self-sufficient, such as extra training or education.
    • +
    • Your financial situation and the financial situation of your former spouse
    • +
    • How long your relationship lasted
    • +
    • The roles and functions of each spouse during the relationship, and
    • +
    • What the person who is asking for spousal support needs in order to become self-sufficient, such as extra training or education.

    MySupportCalculator.ca is a website with a support calculator which can give you a rough estimate of spousal support." The guidelines and calculations are complicated so you may want to contact a family law lawyer or a family justice counesllor for help. @@ -51,8 +51,8 @@

    If you're applying for an undefended divorce and asking for spousal support, make sure you fill in:

      -
    • - the amount of support you want, and
    • -
    • - an amount for your spouse's income. If you aren't sure, make your best estimate.
    • +
    • the amount of support you want, and
    • +
    • an amount for your spouse's income. If you aren't sure, make your best estimate.

    If you don't provide this information, the court may not make an order.

    @@ -128,10 +128,10 @@

    What is spousal support?

    The objectives of spousal support are to:

      -
    • - Deal with any economic advantages or disadvantages a spouse may face as a result of the relationship or separation
    • -
    • - Share the financial consequences arising from care of the children
    • -
    • - Reduce the financial hardship a spouse will experience as a result of the separation, and
    • -
    • - Encourage each spouse to become financially self-sufficient within a reasonable period of time.
    • +
    • Deal with any economic advantages or disadvantages a spouse may face as a result of the relationship or separation
    • +
    • Share the financial consequences arising from care of the children
    • +
    • Reduce the financial hardship a spouse will experience as a result of the separation, and
    • +
    • Encourage each spouse to become financially self-sufficient within a reasonable period of time.
    diff --git a/edivorce/apps/core/templates/f1/07_property.html b/edivorce/apps/core/templates/f1/07_property.html index 8d68c5e3..df028b69 100644 --- a/edivorce/apps/core/templates/f1/07_property.html +++ b/edivorce/apps/core/templates/f1/07_property.html @@ -29,13 +29,13 @@

    Family property is everything either you or your spouse own together or separately on the date you separate. It includes:

      -
    • - the family home
    • -
    • - RRSPs
    • -
    • - investments
    • -
    • - bank accounts
    • -
    • - insurance policies
    • -
    • - pensions
    • -
    • - an interest in a business
    • +
    • the family home
    • +
    • RRSPs
    • +
    • investments
    • +
    • bank accounts
    • +
    • insurance policies
    • +
    • pensions
    • +
    • an interest in a business

    It doesn't matter whose name the property is in.

    @@ -99,7 +99,8 @@

    Please describe how you and your spouse plan to divide your property, assets and your debts.

    Because the division of family property and debt can be complex we recommend you get legal advice - before you make any final decisions.

    + before you make any final decisions. +

    Other Property Claims

    This section is about excluded property - e.g. property owned by the respondent at the time you moved in together, and gifts or inheritances the respondent received. Compensation is cash instead of ownership of your share of the property.

    + {% input_option type="textarea" name="other_property_claims" rows="8" cols="65" class="response-textarea" %}
    @@ -147,10 +150,10 @@

    Where to Find Out More About Dealing with Property and Debt

    For more information about dealing with Property and Debt, please visit:

    diff --git a/edivorce/apps/core/templates/f1/10_location.html b/edivorce/apps/core/templates/f1/10_location.html index 944bf273..2caacfe1 100644 --- a/edivorce/apps/core/templates/f1/10_location.html +++ b/edivorce/apps/core/templates/f1/10_location.html @@ -29,31 +29,63 @@
    -

    What is the best address to send you official court documents?

    -

    This is known as your "address for service"

    -

    House and street number

    - {% input_option type="text" name="address_to_send_official_document_street" class="response-textbox" %} -

    City

    - {% input_option type="text" name="address_to_send_official_document_city" class="response-textbox" %} -

    Prov/State

    - {% input_option type="text" name="address_to_send_official_document_prov" class="response-textbox" %} +
    +

    What is the best address to send you official court documents?

    +

    This is known as your "address for service"

    +

    House and street number

    + {% input_option type="text" name="address_to_send_official_document_street_you" class="response-textbox" %} +

    City

    + {% input_option type="text" name="address_to_send_official_document_city_you" class="response-textbox" %} +

    Prov/State

    + {% input_option type="text" name="address_to_send_official_document_prov_you" class="response-textbox" %} -

    Country

    +

    Country

    -
    -
    -
    +
    +
    +
    +
    + +
    +

    If you don’t live within 30 km of a court registry, you must provide a fax number or email address. + If you main address is a PO box, you can list this instead of the fax or email but you must also list + an address that’s not a PO box.

    + +

    Fax number (optional)

    + {% input_option type="text" name="address_to_send_official_document_fax_you" class="response-textbox" %} +

    Email Address (optional)

    + {% input_option type="text" id="email_textbox" name="address_to_send_official_document_email_you" class="response-textbox" %} +
    -

    If you don’t live within 30 km of a court registry, you must provide a fax number or email address. - If you main address is a PO box, you can list this instead of the fax or email but you must also list - an address that’s not a PO box.

    +
    +

    What is the best address to send your spouse official court documents?

    +

    This is known as your "address for service"

    +

    House and street number

    + {% input_option type="text" name="address_to_send_official_document_street_spouse" class="response-textbox" %} +

    City

    + {% input_option type="text" name="address_to_send_official_document_city_spouse" class="response-textbox" %} +

    Prov/State

    + {% input_option type="text" name="address_to_send_official_document_prov_spouse" class="response-textbox" %} + +

    Country

    + +
    +
    +
    +
    + +
    +

    If your spouse doesn’t live within 30 km of a court registry, your spouse must provide a fax number or email address. + If your spouse's main address is a PO box, your spouse can list this instead of the fax or email but your spouse must also list + an address that’s not a PO box.

    -

    Fax number (optional)

    - {% input_option type="text" name="address_to_send_official_document_fax" class="response-textbox" %} -

    Email Address (optional)

    - {% input_option type="text" id="email_textbox" name="address_to_send_official_document_email" class="response-textbox" %} +

    Fax number (optional)

    + {% input_option type="text" name="address_to_send_official_document_fax_spouse" class="response-textbox" %} +

    Email Address (optional)

    + {% input_option type="text" id="email_textbox" name="address_to_send_official_document_email_spouse" class="response-textbox" %} +
    diff --git a/edivorce/apps/core/templates/pdf/form1.html b/edivorce/apps/core/templates/pdf/form1.html index a20d621b..85d75ff4 100644 --- a/edivorce/apps/core/templates/pdf/form1.html +++ b/edivorce/apps/core/templates/pdf/form1.html @@ -361,16 +361,19 @@

    Claimant 1: - {% if responses.address_to_send_official_document_street and responses.address_to_send_official_document_city and responses.address_to_send_official_document_prov and responses.address_to_send_official_document_country %} - {{ responses.address_to_send_official_document_street }}, {{ responses.address_to_send_official_document_city }}, {{ responses.address_to_send_official_document_prov }}, - {% if responses.address_to_send_official_document_country == 'Other' %} {{ responses.address_to_send_official_document_other_country }} {% else %} {{ responses.address_to_send_official_document_country }} {% endif %} {% else %}   {% endif %}

    -

    Fax (optional) {% if responses.address_to_send_official_document_fax %} {{ responses.address_to_send_official_document_fax }} {% else %}   {% endif %}

    -

    E-mail (optional) {% if responses.address_to_send_official_document_email %} {{ responses.address_to_send_official_document_email }} {% else %}   {% endif %}

    + {% if responses.address_to_send_official_document_street_you and responses.address_to_send_official_document_city_you and responses.address_to_send_official_document_prov_you and responses.address_to_send_official_document_country_you %} + {{ responses.address_to_send_official_document_street_you }}, {{ responses.address_to_send_official_document_city_you }}, {{ responses.address_to_send_official_document_prov_you }}, + {% if responses.address_to_send_official_document_country_you == 'Other' %} {{ responses.address_to_send_official_document_other_country_you }} {% else %} {{ responses.address_to_send_official_document_country_you }} {% endif %} {% else %}   {% endif %}

    +

    Fax (optional) {% if responses.address_to_send_official_document_fax_you %} {{ responses.address_to_send_official_document_fax_you }} {% else %}   {% endif %}

    +

    E-mail (optional) {% if responses.address_to_send_official_document_email_you %} {{ responses.address_to_send_official_document_email_you }} {% else %}   {% endif %}

    -

    Claimant 2:  

    -

    Fax (optional)  

    -

    E-mail (optional)  

    +

    Claimant 2: + {% if responses.address_to_send_official_document_street_spouse and responses.address_to_send_official_document_city_spouse and responses.address_to_send_official_document_prov_spouse and responses.address_to_send_official_document_country_spouse %} + {{ responses.address_to_send_official_document_street_spouse }}, {{ responses.address_to_send_official_document_city_spouse }}, {{ responses.address_to_send_official_document_prov_spouse }}, + {% if responses.address_to_send_official_document_country_spouse == 'Other' %} {{ responses.address_to_send_official_document_other_country_spouse }} {% else %} {{ responses.address_to_send_official_document_country_spouse }} {% endif %} {% else %}   {% endif %}

    +

    Fax (optional) {% if responses.address_to_send_official_document_fax_spouse %} {{ responses.address_to_send_official_document_fax_spouse }} {% else %}   {% endif %}

    +

    E-mail (optional) {% if responses.address_to_send_official_document_email_spouse %} {{ responses.address_to_send_official_document_email_spouse }} {% else %}   {% endif %}

    Date: [dd/mmm/yyyy]  
    Signature of filing party lawyer for filing party(ies)
     
    Signature of filing party lawyer for filing party(ies)
    diff --git a/edivorce/apps/core/templates/pdf/form52.html b/edivorce/apps/core/templates/pdf/form52.html index cdb8130d..299a6ab5 100644 --- a/edivorce/apps/core/templates/pdf/form52.html +++ b/edivorce/apps/core/templates/pdf/form52.html @@ -115,7 +115,7 @@

    -  
    Signature of
    party lawyer for [name of party(ies)] +  
    Signature of
    party lawyer for [name of party(ies)]

    [type or print name] @@ -123,7 +123,7 @@

    -  
    Signature of
    party lawyer for [name of party(ies)] +  
    Signature of
    party lawyer for [name of party(ies)]

    [type or print name] diff --git a/edivorce/apps/core/templates/prequalification/step_04.html b/edivorce/apps/core/templates/prequalification/step_04.html index 178a1ff5..3691d465 100644 --- a/edivorce/apps/core/templates/prequalification/step_04.html +++ b/edivorce/apps/core/templates/prequalification/step_04.html @@ -63,11 +63,11 @@