From patchwork Fri Jan 14 11:13:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dodji Seketeli X-Patchwork-Id: 50021 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id ACCE13858C39 for ; Fri, 14 Jan 2022 11:15:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ACCE13858C39 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1642158939; bh=EYUkn24PeOnOPpt3aFJK9oSJ6MpTHZQzUMuTdHNbrks=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Help: List-Subscribe:From:Reply-To:From; b=FY9TQWzwWbXBhdXOCW/pJkt1yp1tna9+aS+eFFclHybaQcwHIWDMCtzgZwU2rbAXG RN6Ff8lZcgYB6f7TFA01HjJiU4hUUMqRCFKxv2vbFwdQ9rXtDczdpDjGcQ7Z3rXwqn euuXUj1c0P35hflAgueMgt2mpeM/4MEZlaTrpAPM= X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id EFCD83858C39 for ; Fri, 14 Jan 2022 11:14:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EFCD83858C39 Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-463-4HhnBbdXOOGS7S1pMMkyZA-1; Fri, 14 Jan 2022 06:13:44 -0500 X-MC-Unique: 4HhnBbdXOOGS7S1pMMkyZA-1 Received: by mail-qt1-f200.google.com with SMTP id z27-20020ac8431b000000b002c99e993a95so797083qtm.2 for ; Fri, 14 Jan 2022 03:13:44 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:organization:date:message-id :user-agent:mime-version; bh=EYUkn24PeOnOPpt3aFJK9oSJ6MpTHZQzUMuTdHNbrks=; b=Tuxf7nMe1nDsZNm/PC5v8xN2QT8glI/j21pQzoVyO2+0Uj8BaL6sFd66CKUgCkSjvG KP0KldBvbsVkpTi/krE4FSwpsqJalSqI1HplUp4NM3c9QlEEcNmGEahf6NtomDrqeQgJ uAxwr4V+20UUmMByryIHOxCg8V2uR3ekKMoNEhSNHW3T2AweX5GxzyYdSpP7ZV20FWlo eIN0QG5fHtCApdgQ+L2Bb3ws9jkaL+bqmv3qFfJhDmhV36qUwUj8/Tu4DFHVXXbyuAOo ml9JcV3/bl6diaqoJzeigcU6yUt44oR4MusImtHRGZashR5mILQD9jwNZmeEwkQfrQuI IWPw== X-Gm-Message-State: AOAM532Mp0qoF8F/htq8J2VIUznUsGRR+Cq3zYVbrVGkRlaFZA+WvhPh bA7zbYvBpPRHpxMpq17sYnHEoV8d/EapDHWLgKkp+NlZIkfn3BkTCxHVZ1ure2puZYFPq4T1e1h FsA00MTpY4q8rbeEXfj1vzqIkYYn4nE7s8K+GS1c8cFkA86RGlbWlkPC8n7V/SDuGpJO7 X-Received: by 2002:a05:620a:21dd:: with SMTP id h29mr6054923qka.80.1642158822914; Fri, 14 Jan 2022 03:13:42 -0800 (PST) X-Google-Smtp-Source: ABdhPJzkpmN5jYvCudUWMWFUwDPYrwQJYq3lVLW/0rNlPQuIOHB6pHYyQvFU+8klYwJNPaUOp+MN6Q== X-Received: by 2002:a05:620a:21dd:: with SMTP id h29mr6054875qka.80.1642158821294; Fri, 14 Jan 2022 03:13:41 -0800 (PST) Received: from localhost ([88.120.130.27]) by smtp.gmail.com with ESMTPSA id t30sm3281717qkj.125.2022.01.14.03.13.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Jan 2022 03:13:39 -0800 (PST) Received: by localhost (Postfix, from userid 1000) id 04C1E58010A; Fri, 14 Jan 2022 12:13:35 +0100 (CET) To: libabigail@sourceware.org Subject: [PATCH, applied] Bug 28319 - re-fix of rhbz1951526 - SELF CHECK FAILED for 'gimp-2.10' Organization: Red Hat / France X-Operating-System: Fedora 36 X-URL: http://www.redhat.com Date: Fri, 14 Jan 2022 12:13:35 +0100 Message-ID: <87sftqd0yo.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-Patchwork-Original-From: Dodji Seketeli via Libabigail From: Dodji Seketeli Reply-To: Dodji Seketeli Errors-To: libabigail-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libabigail" Hello, This commit re-visit the commit below: commit 1cfbff1b3037d1049bdff7e86de27c3a86af23b3 Author: Dodji Seketeli Date: Mon Jun 7 16:07:50 2021 +0200 rhbz1951526 - SELF CHECK FAILED for 'gimp-2.10' This is a fix for bug https://bugzilla.redhat.com/show_bug.cgi?id=1951526. Basically, this commits makes is so that two enums below are considered equal by libabigail: enum foo // This is foo #1 { e0 = 0; e1 = 1; e2 = 2; }; enum foo // This is foo #2 { e0 = 0; e1 = 1; e2 = 2; e_added = 1; // This enumerator is considered redundant // with the enumerator e1 because their values // are the same. }; With this patch, foo #1 and foo #2 are considered equal, just like in the original commit 1cfbff1b. In the original commit however, this was achieved by comparing the enums without considering their enumerator names. This was named "binary-only enum comparison". In reality, that approach was too big of a hammer and was causing the issues raised in the bug. Namely, type canonicalization would conflate anonymous enums that were unrelated (precisely because their enumerator names were different), leading to spurious type change reports when comparing abixml files pre-dating commit 1cfbff1b with posterior abixml files. If I refer to the example above with foo #1 and #2, this patch detects that the value of the enumerator 'e_added' is redundant with the value of the enumerator e1. As such, the two foo #1 and #2 are considered equal. Enumerator names are now fully taken into account. With this precise approach, it now seems we can do away with the careful dance of using "binary-only enum comparison" at some precise times of the libabigail pipeline. Now, we can just use the new enum comparison scheme all the time. Leading to less (complicated) code and a hopefully accurate representation. * include/abg-ir.h (environment::use_enum_binary_only_equality): Remove. * src/abg-comparison.cc (compute_diff): In the overload for enum_type_decl, stop using binary-only-equality for enums. * src/abg-dwarf-reader.cc (read_context::compare_before_canonicalisation): Likewise. * src/abg-ir.cc (environment::use_enum_binary_only_equality): Remove. (enumerators_values_are_equal) (is_enumerator_value_present_in_enum) (is_enumerator_value_redundant): Define new static functions. (equals): In the overload for enum_type_decl, use the new is_enumerator_value_redundant to detect if two enums are equal modulo a redundant enumerator value. In that case, consider they are equal. * tests/data/test-abidiff/test-enum0-report.txt: Adjust. * tests/data/test-annotate/test-anonymous-members-0.o.abi: Likewise. * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: Likewise. * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise. * tests/data/test-diff-dwarf/PR25058-liblttng-ctl-report-1.txt: Likewise. * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: Likewise. * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise. * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: Likewise. Signed-off-by: Dodji Seketeli --- include/abg-ir.h | 6 - src/abg-comparison.cc | 4 - src/abg-dwarf-reader.cc | 3 - src/abg-ir.cc | 165 +- tests/data/test-abidiff/test-enum0-report.txt | 11 + .../test-anonymous-members-0.o.abi | 36 +- ...st18-pr19037-libvtkRenderingLIC-6.1.so.abi | 2949 +-- ...19-pr19023-libtcmalloc_and_profiler.so.abi | 11 +- .../PR25058-liblttng-ctl-report-1.txt | 24 +- ...st18-pr19037-libvtkRenderingLIC-6.1.so.abi | 2945 +-- ...19-pr19023-libtcmalloc_and_profiler.so.abi | 10 +- .../test22-pr19097-libstdc++.so.6.0.17.so.abi | 15094 ++++++++-------- 12 files changed, 10678 insertions(+), 10580 deletions(-) diff --git a/include/abg-ir.h b/include/abg-ir.h index a0ef29b9..a2f4e1a7 100644 --- a/include/abg-ir.h +++ b/include/abg-ir.h @@ -178,12 +178,6 @@ public: void decl_only_class_equals_definition(bool f) const; - bool - use_enum_binary_only_equality() const; - - void - use_enum_binary_only_equality(bool f) const; - bool is_void_type(const type_base_sptr&) const; diff --git a/src/abg-comparison.cc b/src/abg-comparison.cc index 84fa2f17..71048ce2 100644 --- a/src/abg-comparison.cc +++ b/src/abg-comparison.cc @@ -4178,11 +4178,8 @@ compute_diff(const enum_type_decl_sptr first, second->get_underlying_type(), ctxt); enum_diff_sptr d(new enum_diff(first, second, ud, ctxt)); - bool s = first->get_environment()->use_enum_binary_only_equality(); - first->get_environment()->use_enum_binary_only_equality(true); if (first != second) { - first->get_environment()->use_enum_binary_only_equality(false); compute_diff(first->get_enumerators().begin(), first->get_enumerators().end(), second->get_enumerators().begin(), @@ -4190,7 +4187,6 @@ compute_diff(const enum_type_decl_sptr first, d->priv_->enumerators_changes_); d->ensure_lookup_tables_populated(); } - first->get_environment()->use_enum_binary_only_equality(s); ctxt->initialize_canonical_diff(d); return d; diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc index 3f716944..b4617620 100644 --- a/src/abg-dwarf-reader.cc +++ b/src/abg-dwarf-reader.cc @@ -4149,12 +4149,9 @@ public: ABG_ASSERT(!e->canonicalization_is_done()); bool s0 = e->decl_only_class_equals_definition(); - bool s1 = e->use_enum_binary_only_equality(); e->decl_only_class_equals_definition(true); - e->use_enum_binary_only_equality(true); bool equal = l == r; e->decl_only_class_equals_definition(s0); - e->use_enum_binary_only_equality(s1); return equal; } diff --git a/src/abg-ir.cc b/src/abg-ir.cc index 8d0c72a9..82971253 100644 --- a/src/abg-ir.cc +++ b/src/abg-ir.cc @@ -3499,70 +3499,6 @@ void environment::decl_only_class_equals_definition(bool f) const {priv_->decl_only_class_equals_definition_ = f;} -/// Test if comparing enums is done by looking only at enumerators -/// values. -/// -/// For enums, using 'binary-only' equality means looking only at -/// values of enumerators (not names of enumerators) when comparing -/// enums. This means we are only considering the binary equality of -/// enums, not source equality. -/// -/// The two enums below are "binary equal", but not "source-level -/// equal": -/// -/// enum foo -/// { -/// e0 = 0; -/// e1 = 1; -/// e2 = 2; -/// }; -/// -/// enum foo -/// { -/// e0 = 0; -/// e1 = 1; -/// e2 = 2; -/// e_added = 1; -/// }; -/// -/// @return true iff using 'binary-only' equality for enums -/// comparison. -bool -environment::use_enum_binary_only_equality() const -{return priv_->use_enum_binary_only_equality_;} - -/// Setter for the property that determines that comparing enums is -/// done by looking only at enumerators values. -/// -/// For enums, using 'binary-only' equality means looking only at -/// values of enumerators (not names of enumerators) when comparing -/// enums. This means we are only considering the binary equality of -/// enums, not source equality. -/// -/// The two enums below are "binary equal", but not "source-level -/// equal": -/// -/// enum foo -/// { -/// e0 = 0; -/// e1 = 1; -/// e2 = 2; -/// }; -/// -/// enum foo -/// { -/// e0 = 0; -/// e1 = 1; -/// e2 = 2; -/// e_added = 1; -/// }; -/// -/// @param f true iff using 'binary-only' equality for enums -/// comparison. -void -environment::use_enum_binary_only_equality(bool f) const -{priv_->use_enum_binary_only_equality_ = f;} - /// Test if a given type is a void type as defined in the current /// environment. /// @@ -5137,7 +5073,7 @@ equals(const decl_base& l, const decl_base& r, change_kind* k) interned_string ln = get_decl_name_for_comparison(l); interned_string rn = get_decl_name_for_comparison(r); - ; /// If both of the current decls have an anonymous scope then let's + /// If both of the current decls have an anonymous scope then let's /// compare their name component by component by properly handling /// anonymous scopes. That's the slow path. /// @@ -17477,6 +17413,82 @@ is_enumerator_present_in_enum(const enum_type_decl::enumerator &enr, return false; } +/// Check if two enumerators values are equal. +/// +/// This function doesn't check if the names of the enumerators are +/// equal or not. +/// +/// @param enr the first enumerator to consider. +/// +/// @param enl the second enumerator to consider. +/// +/// @return true iff @p enr has the same value as @p enl. +static bool +enumerators_values_are_equal(const enum_type_decl::enumerator &enr, + const enum_type_decl::enumerator &enl) +{return enr.get_value() == enl.get_value();} + +/// Detect if a given enumerator value is present in an enum. +/// +/// This function looks inside the enumerators of a given enum and +/// detect if the enum contains at least one enumerator or a given +/// value. The function also detects if the enumerator value we are +/// looking at is present in the enum with a different name. An +/// enumerator with the same value but with a different name is named +/// a "redundant enumerator". The function returns the set of +/// enumerators that are redundant with the value we are looking at. +/// +/// @param enr the enumerator to consider. +/// +/// @param enom the enum to consider. +/// +/// @param redundant_enrs if the function returns true, then this +/// vector is filled with enumerators that are redundant with the +/// value of @p enr. +/// +/// @return true iff the function detects that @p enom contains +/// enumerators with the same value as @p enr. +static bool +is_enumerator_value_present_in_enum(const enum_type_decl::enumerator &enr, + const enum_type_decl &enom, + vector& redundant_enrs) +{ + bool found = false; + for (const auto &e : enom.get_enumerators()) + if (enumerators_values_are_equal(e, enr)) + { + found = true; + if (e != enr) + redundant_enrs.push_back(e); + } + + return found; +} + +/// Check if an enumerator value is redundant in a given enum. +/// +/// Given an enumerator value, this function detects if an enum +/// contains at least one enumerator with the the same value but with +/// a different name. +/// +/// @param enr the enumerator to consider. +/// +/// @param enom the enum to consider. +/// +/// @return true iff @p enr is a redundant enumerator in enom. +static bool +is_enumerator_value_redundant(const enum_type_decl::enumerator &enr, + const enum_type_decl &enom) +{ + vector redundant_enrs; + if (is_enumerator_value_present_in_enum(enr, enom, redundant_enrs)) + { + if (!redundant_enrs.empty()) + return true; + } + return false; +} + /// Compares two instances of @ref enum_type_decl. /// /// If the two intances are different, set a bitfield to give some @@ -17526,10 +17538,8 @@ equals(const enum_type_decl& l, const enum_type_decl& r, change_kind* k) // Now compare the enumerators. Note that the order of declaration // of enumerators should not matter in the comparison. // - // Also if the value of - // abigail::ir::environment::use_enum_binary_only_equality() is - // true, then enumerators are compared by considering their value - // only. Their name is not taken into account. + // Also if an enumerator value is redundant, that shouldn't impact + // the comparison. // // In that case, note that the two enums below are considered equal: // @@ -17545,16 +17555,15 @@ equals(const enum_type_decl& l, const enum_type_decl& r, change_kind* k) // e0 = 0; // e1 = 1; // e2 = 2; - // e_added = 1; + // e_added = 1; // <-- this value is redundant with the value + // // of the enumerator e1. // }; // - // These two enums are considered different if - // environment::use_enum_binary_only_equality() return false. - // - // So enumerators comparison should accomodate these conditions. + // These two enums are considered equal. for(const auto &e : l.get_enumerators()) - if (!is_enumerator_present_in_enum(e, r)) + if (!is_enumerator_present_in_enum(e, r) + && !is_enumerator_value_redundant(e, r)) { result = false; if (k) @@ -17567,7 +17576,8 @@ equals(const enum_type_decl& l, const enum_type_decl& r, change_kind* k) } for(const auto &e : r.get_enumerators()) - if (!is_enumerator_present_in_enum(e, l)) + if (!is_enumerator_present_in_enum(e, l) + && !is_enumerator_value_redundant(e, r)) { result = false; if (k) @@ -17734,8 +17744,7 @@ bool enum_type_decl::enumerator::operator==(const enumerator& other) const { bool names_equal = true; - if (!get_environment()->use_enum_binary_only_equality()) - names_equal = (get_name() == other.get_name()); + names_equal = (get_name() == other.get_name()); return names_equal && (get_value() == other.get_value()); } diff --git a/tests/data/test-abidiff/test-enum0-report.txt b/tests/data/test-abidiff/test-enum0-report.txt index e69de29b..e6aad7aa 100644 --- a/tests/data/test-abidiff/test-enum0-report.txt +++ b/tests/data/test-abidiff/test-enum0-report.txt @@ -0,0 +1,11 @@ +1 changed type: + 'enum E' changed: + type size hasn't changed + 1 enumerator deletion: + 'E::e2' value '1' + 1 enumerator insertion: + 'E::e1' value '1' +1 changed declaration: + 'function void foo(E)' was changed to 'function void foo(E)': + parameter 1 of type 'enum E' has sub-type changes: + enum type 'enum E' changed, as reported earlier diff --git a/tests/data/test-annotate/test-anonymous-members-0.o.abi b/tests/data/test-annotate/test-anonymous-members-0.o.abi index 84513538..52eeee11 100644 --- a/tests/data/test-annotate/test-anonymous-members-0.o.abi +++ b/tests/data/test-annotate/test-anonymous-members-0.o.abi @@ -51,9 +51,25 @@ + + + + + + + + + + + + + + + + - + @@ -66,7 +82,7 @@ - + @@ -95,31 +111,31 @@ - + - + - + - + - + - + - + - + diff --git a/tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi b/tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi index 48b115ab..33e19bc7 100644 --- a/tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi +++ b/tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi @@ -3454,6 +3454,18 @@ + + + + + + + + + + + + @@ -3550,7 +3562,7 @@ - + @@ -3594,7 +3606,7 @@ - + @@ -3617,7 +3629,7 @@ - + @@ -3628,7 +3640,7 @@ - + @@ -3637,7 +3649,7 @@ - + @@ -3645,11 +3657,11 @@ - + - + - + @@ -3676,9 +3688,9 @@ - + - + @@ -3696,7 +3708,7 @@ - + @@ -3717,7 +3729,7 @@ - + @@ -3730,7 +3742,7 @@ - + @@ -3739,7 +3751,7 @@ - + @@ -3757,7 +3769,7 @@ - + @@ -3768,7 +3780,7 @@ - + @@ -3777,31 +3789,31 @@ - + - + - + - + - + - + @@ -4004,7 +4016,7 @@ - + @@ -4352,11 +4364,11 @@ - + - + - + @@ -4369,9 +4381,9 @@ - + - + @@ -4388,7 +4400,7 @@ - + @@ -4445,7 +4457,7 @@ - + @@ -4454,7 +4466,7 @@ - + @@ -4556,9 +4568,9 @@ - + - + @@ -4573,11 +4585,11 @@ - + - + - + @@ -4631,14 +4643,14 @@ - + - + @@ -4654,10 +4666,10 @@ - + - + @@ -4665,14 +4677,14 @@ - + - + @@ -4684,11 +4696,11 @@ - + - + @@ -4729,7 +4741,7 @@ - + @@ -4746,7 +4758,7 @@ - + @@ -4802,7 +4814,7 @@ - + @@ -4826,7 +4838,7 @@ - + @@ -4850,7 +4862,7 @@ - + @@ -5013,17 +5025,17 @@ - + - + - + - + - + @@ -6626,7 +6638,7 @@ - + @@ -6636,7 +6648,7 @@ - + @@ -6645,7 +6657,7 @@ - + @@ -6656,7 +6668,7 @@ - + @@ -6667,7 +6679,7 @@ - + @@ -6680,7 +6692,7 @@ - + @@ -6689,7 +6701,7 @@ - + @@ -6698,7 +6710,7 @@ - + @@ -6707,64 +6719,64 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -6782,7 +6794,7 @@ - + @@ -6791,62 +6803,62 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -6858,31 +6870,31 @@ - + - + - + - + - + - + - + - + @@ -6895,7 +6907,7 @@ - + @@ -6906,33 +6918,33 @@ - + - + - + - + - + @@ -6941,7 +6953,7 @@ - + @@ -6950,7 +6962,7 @@ - + @@ -6959,7 +6971,7 @@ - + @@ -6968,7 +6980,7 @@ - + @@ -6977,7 +6989,7 @@ - + @@ -6986,7 +6998,7 @@ - + @@ -6995,16 +7007,16 @@ - + - + - + @@ -7013,7 +7025,7 @@ - + @@ -7026,7 +7038,7 @@ - + @@ -7035,7 +7047,7 @@ - + @@ -7044,7 +7056,7 @@ - + @@ -7053,7 +7065,7 @@ - + @@ -7062,7 +7074,7 @@ - + @@ -7071,7 +7083,7 @@ - + @@ -7080,20 +7092,20 @@ - + - + - + @@ -7105,16 +7117,16 @@ - + - + - + @@ -7129,7 +7141,7 @@ - + @@ -7138,12 +7150,12 @@ - + - + @@ -7152,9 +7164,9 @@ - + - + @@ -7163,7 +7175,7 @@ - + @@ -7174,9 +7186,9 @@ - + - + @@ -7187,9 +7199,9 @@ - + - + @@ -7198,7 +7210,7 @@ - + @@ -7207,7 +7219,7 @@ - + @@ -7216,7 +7228,7 @@ - + @@ -7225,7 +7237,7 @@ - + @@ -7234,7 +7246,7 @@ - + @@ -7243,7 +7255,7 @@ - + @@ -7252,187 +7264,187 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -7445,7 +7457,7 @@ - + @@ -7456,14 +7468,14 @@ - + - + - + @@ -7472,9 +7484,9 @@ - + - + @@ -7483,7 +7495,7 @@ - + @@ -7492,14 +7504,14 @@ - + - + - + @@ -7508,9 +7520,9 @@ - + - + @@ -7519,7 +7531,7 @@ - + @@ -7528,9 +7540,9 @@ - + - + @@ -7542,19 +7554,19 @@ - + - + - + - + @@ -7566,7 +7578,7 @@ - + @@ -7578,7 +7590,7 @@ - + @@ -7596,9 +7608,9 @@ - + - + @@ -7607,7 +7619,7 @@ - + @@ -7625,9 +7637,9 @@ - + - + @@ -7636,33 +7648,33 @@ - + - + - + - + - + - + - + - + - + - + @@ -7675,19 +7687,19 @@ - + - + - + - + @@ -7704,7 +7716,7 @@ - + @@ -7713,9 +7725,9 @@ - + - + @@ -7724,13 +7736,13 @@ - + - + @@ -7739,9 +7751,9 @@ - + - + @@ -7750,11 +7762,11 @@ - + - + @@ -7763,7 +7775,7 @@ - + @@ -7774,16 +7786,16 @@ - + - + - + @@ -7794,7 +7806,7 @@ - + @@ -7807,36 +7819,36 @@ - + - + - + - + - + - + - + - + - + @@ -7845,9 +7857,9 @@ - + - + @@ -7856,13 +7868,13 @@ - + - + @@ -7871,9 +7883,9 @@ - + - + @@ -7882,11 +7894,11 @@ - + - + @@ -7895,7 +7907,7 @@ - + @@ -7906,29 +7918,29 @@ - + - + - + - + - + - + @@ -7937,14 +7949,14 @@ - + - + - + @@ -7953,9 +7965,9 @@ - + - + @@ -7964,13 +7976,13 @@ - + - + - + @@ -7979,9 +7991,9 @@ - + - + @@ -7990,7 +8002,7 @@ - + @@ -8001,11 +8013,11 @@ - + - + @@ -8014,18 +8026,18 @@ - + - + - + @@ -8034,7 +8046,7 @@ - + @@ -8043,16 +8055,16 @@ - + - + - + @@ -8065,16 +8077,16 @@ - + - + - + @@ -8085,13 +8097,13 @@ - + - + - + @@ -8100,7 +8112,7 @@ - + @@ -8113,27 +8125,27 @@ - + - + - + - + - + - + @@ -8142,9 +8154,9 @@ - + - + @@ -8153,13 +8165,13 @@ - + - + - + @@ -8168,9 +8180,9 @@ - + - + @@ -8179,7 +8191,7 @@ - + @@ -8190,9 +8202,9 @@ - + - + @@ -8201,11 +8213,11 @@ - + - + @@ -8214,32 +8226,32 @@ - + - + - + - + - + - + @@ -8248,9 +8260,9 @@ - + - + @@ -8259,7 +8271,7 @@ - + @@ -8268,10 +8280,10 @@ - + - + @@ -8288,9 +8300,9 @@ - + - + @@ -8301,20 +8313,20 @@ - + - + - + @@ -8323,7 +8335,7 @@ - + @@ -8332,7 +8344,7 @@ - + @@ -8343,7 +8355,7 @@ - + @@ -8352,9 +8364,9 @@ - + - + @@ -8363,9 +8375,9 @@ - + - + @@ -8374,11 +8386,11 @@ - + - + @@ -8391,13 +8403,13 @@ - + - + @@ -8406,9 +8418,9 @@ - + - + @@ -8417,9 +8429,9 @@ - + - + @@ -8428,9 +8440,9 @@ - + - + @@ -8443,15 +8455,15 @@ - + - + - + @@ -8460,13 +8472,13 @@ - + - + @@ -8475,11 +8487,11 @@ - + - + @@ -8488,13 +8500,13 @@ - + - + @@ -8503,7 +8515,7 @@ - + @@ -8514,13 +8526,13 @@ - + - + @@ -8529,7 +8541,7 @@ - + @@ -8538,7 +8550,7 @@ - + @@ -8549,9 +8561,9 @@ - + - + @@ -8564,7 +8576,7 @@ - + @@ -8573,36 +8585,36 @@ - + - + - + - + - + - + - + - + @@ -8611,18 +8623,18 @@ - + - + - + @@ -8631,29 +8643,29 @@ - + - + - + - + - + @@ -8662,40 +8674,40 @@ - + - + - + - + - + - + - + - + - + @@ -8704,32 +8716,32 @@ - + - + - + - + - + - + @@ -8738,7 +8750,7 @@ - + @@ -8747,7 +8759,7 @@ - + @@ -8756,7 +8768,7 @@ - + @@ -8765,7 +8777,7 @@ - + @@ -8774,48 +8786,48 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -8890,20 +8902,20 @@ - + - + - + - + @@ -8912,20 +8924,20 @@ - + - + - + - + @@ -8939,9 +8951,9 @@ - + - + @@ -8952,18 +8964,18 @@ - + - + - + - + @@ -8983,7 +8995,7 @@ - + @@ -8999,9 +9011,9 @@ - + - + @@ -9010,18 +9022,18 @@ - + - + - + @@ -9032,22 +9044,22 @@ - + - + - + - + - + @@ -9063,12 +9075,12 @@ - + - + @@ -9076,7 +9088,7 @@ - + @@ -9084,7 +9096,7 @@ - + @@ -9168,7 +9180,7 @@ - + @@ -9178,7 +9190,7 @@ - + @@ -9187,9 +9199,9 @@ - + - + @@ -9207,7 +9219,7 @@ - + @@ -9216,7 +9228,7 @@ - + @@ -9229,7 +9241,7 @@ - + @@ -9240,7 +9252,7 @@ - + @@ -9251,7 +9263,7 @@ - + @@ -9262,7 +9274,7 @@ - + @@ -9273,7 +9285,7 @@ - + @@ -9284,7 +9296,7 @@ - + @@ -9295,7 +9307,7 @@ - + @@ -9306,7 +9318,7 @@ - + @@ -9317,7 +9329,7 @@ - + @@ -9328,7 +9340,7 @@ - + @@ -9339,7 +9351,7 @@ - + @@ -9348,7 +9360,7 @@ - + @@ -9366,7 +9378,7 @@ - + @@ -9377,14 +9389,14 @@ - + - + @@ -9393,7 +9405,7 @@ - + @@ -9401,48 +9413,48 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -9453,7 +9465,7 @@ - + @@ -9462,7 +9474,7 @@ - + @@ -9473,7 +9485,7 @@ - + @@ -9486,7 +9498,7 @@ - + @@ -9495,7 +9507,7 @@ - + @@ -9506,7 +9518,7 @@ - + @@ -9515,7 +9527,7 @@ - + @@ -9524,7 +9536,7 @@ - + @@ -9533,7 +9545,7 @@ - + @@ -9542,7 +9554,7 @@ - + @@ -9551,7 +9563,7 @@ - + @@ -9562,7 +9574,7 @@ - + @@ -9571,7 +9583,7 @@ - + @@ -9580,7 +9592,7 @@ - + @@ -9589,7 +9601,7 @@ - + @@ -9598,7 +9610,7 @@ - + @@ -9607,7 +9619,7 @@ - + @@ -9618,7 +9630,7 @@ - + @@ -9627,7 +9639,7 @@ - + @@ -9636,7 +9648,7 @@ - + @@ -9645,7 +9657,7 @@ - + @@ -9656,7 +9668,7 @@ - + @@ -9665,7 +9677,7 @@ - + @@ -9674,7 +9686,7 @@ - + @@ -9683,7 +9695,7 @@ - + @@ -9694,7 +9706,7 @@ - + @@ -9703,7 +9715,7 @@ - + @@ -9712,7 +9724,7 @@ - + @@ -9721,7 +9733,7 @@ - + @@ -9730,7 +9742,7 @@ - + @@ -9739,7 +9751,7 @@ - + @@ -9750,7 +9762,7 @@ - + @@ -9759,7 +9771,7 @@ - + @@ -9768,7 +9780,7 @@ - + @@ -9777,7 +9789,7 @@ - + @@ -9788,7 +9800,7 @@ - + @@ -9797,7 +9809,7 @@ - + @@ -9806,7 +9818,7 @@ - + @@ -9815,7 +9827,7 @@ - + @@ -9824,7 +9836,7 @@ - + @@ -9837,7 +9849,7 @@ - + @@ -9848,7 +9860,7 @@ - + @@ -9859,7 +9871,7 @@ - + @@ -9868,7 +9880,7 @@ - + @@ -9877,7 +9889,7 @@ - + @@ -9886,7 +9898,7 @@ - + @@ -9895,7 +9907,7 @@ - + @@ -9904,7 +9916,7 @@ - + @@ -9915,7 +9927,7 @@ - + @@ -9924,7 +9936,7 @@ - + @@ -9933,7 +9945,7 @@ - + @@ -9942,9 +9954,9 @@ - + - + @@ -9953,22 +9965,22 @@ - + - + - + - + - + - + @@ -9977,7 +9989,7 @@ - + @@ -9988,7 +10000,7 @@ - + @@ -9999,7 +10011,7 @@ - + @@ -10010,7 +10022,7 @@ - + @@ -10019,7 +10031,7 @@ - + @@ -10028,9 +10040,9 @@ - + - + @@ -10039,19 +10051,19 @@ - + - + - + - + @@ -10060,9 +10072,9 @@ - + - + @@ -10071,7 +10083,7 @@ - + @@ -10080,12 +10092,12 @@ - + - + @@ -10094,9 +10106,9 @@ - + - + @@ -10105,7 +10117,7 @@ - + @@ -10116,7 +10128,7 @@ - + @@ -10125,7 +10137,7 @@ - + @@ -10138,7 +10150,7 @@ - + @@ -10149,12 +10161,12 @@ - + - + @@ -10163,9 +10175,9 @@ - + - + @@ -10174,7 +10186,7 @@ - + @@ -10185,7 +10197,7 @@ - + @@ -10194,22 +10206,22 @@ - + - + - + - + @@ -10218,15 +10230,15 @@ - + - + - + - + - + @@ -10242,11 +10254,11 @@ - + - + - + @@ -10287,7 +10299,7 @@ - + @@ -10296,9 +10308,9 @@ - + - + @@ -10316,7 +10328,7 @@ - + @@ -10325,9 +10337,9 @@ - + - + @@ -10338,7 +10350,7 @@ - + @@ -10349,14 +10361,14 @@ - + - + @@ -10369,7 +10381,7 @@ - + @@ -10380,7 +10392,7 @@ - + @@ -10389,7 +10401,7 @@ - + @@ -10400,7 +10412,7 @@ - + @@ -10413,7 +10425,7 @@ - + @@ -10422,7 +10434,7 @@ - + @@ -10435,7 +10447,7 @@ - + @@ -10448,7 +10460,7 @@ - + @@ -10463,7 +10475,7 @@ - + @@ -10478,7 +10490,7 @@ - + @@ -10493,7 +10505,7 @@ - + @@ -10504,7 +10516,7 @@ - + @@ -10513,7 +10525,7 @@ - + @@ -10524,7 +10536,7 @@ - + @@ -10533,7 +10545,7 @@ - + @@ -10544,7 +10556,7 @@ - + @@ -10553,7 +10565,7 @@ - + @@ -10562,7 +10574,7 @@ - + @@ -10571,21 +10583,21 @@ - + - + - + - + @@ -10594,7 +10606,7 @@ - + @@ -10605,45 +10617,45 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -10652,19 +10664,19 @@ - + - + - + @@ -10678,19 +10690,19 @@ - + - + - + @@ -10704,18 +10716,18 @@ - + - + - + - + @@ -10723,47 +10735,47 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -10777,19 +10789,19 @@ - + - + - + - + @@ -10801,7 +10813,7 @@ - + @@ -10813,19 +10825,19 @@ - + - + - + - + @@ -10837,14 +10849,14 @@ - + - + - + @@ -10866,7 +10878,7 @@ - + @@ -10882,14 +10894,14 @@ - + - + - + @@ -10924,7 +10936,7 @@ - + @@ -11078,9 +11090,9 @@ - + - + @@ -11111,9 +11123,9 @@ - + - + @@ -11144,9 +11156,9 @@ - + - + @@ -11236,7 +11248,7 @@ - + @@ -11247,16 +11259,16 @@ - + - + - + @@ -11272,9 +11284,9 @@ - + - + @@ -11299,9 +11311,9 @@ - + - + @@ -11363,11 +11375,11 @@ - + - + - + @@ -11378,16 +11390,16 @@ - + - + - + @@ -11403,11 +11415,11 @@ - + - + @@ -11418,14 +11430,14 @@ - + - + @@ -11443,16 +11455,16 @@ - + - + - + @@ -11468,9 +11480,9 @@ - + - + @@ -11496,16 +11508,16 @@ - + - + - + @@ -11548,7 +11560,7 @@ - + @@ -11561,7 +11573,7 @@ - + @@ -11581,9 +11593,9 @@ - + - + @@ -11619,9 +11631,9 @@ - + - + @@ -11648,7 +11660,7 @@ - + @@ -11711,7 +11723,7 @@ - + @@ -11720,9 +11732,9 @@ - + - + @@ -11740,7 +11752,7 @@ - + @@ -11751,7 +11763,7 @@ - + @@ -11766,7 +11778,7 @@ - + @@ -11779,20 +11791,20 @@ - + - + - + @@ -11801,7 +11813,7 @@ - + @@ -11837,7 +11849,7 @@ - + @@ -11852,7 +11864,7 @@ - + @@ -11869,7 +11881,7 @@ - + @@ -11880,7 +11892,7 @@ - + @@ -11889,7 +11901,7 @@ - + @@ -11898,7 +11910,7 @@ - + @@ -11907,7 +11919,7 @@ - + @@ -11918,7 +11930,7 @@ - + @@ -11927,7 +11939,7 @@ - + @@ -11938,7 +11950,7 @@ - + @@ -11951,7 +11963,7 @@ - + @@ -11960,7 +11972,7 @@ - + @@ -11971,7 +11983,7 @@ - + @@ -11980,9 +11992,9 @@ - + - + @@ -11991,7 +12003,7 @@ - + @@ -12000,7 +12012,7 @@ - + @@ -12011,7 +12023,7 @@ - + @@ -12019,7 +12031,7 @@ - + @@ -12028,7 +12040,7 @@ - + @@ -12036,7 +12048,7 @@ - + @@ -12047,9 +12059,9 @@ - + - + @@ -12057,7 +12069,7 @@ - + @@ -12066,7 +12078,7 @@ - + @@ -12075,27 +12087,27 @@ - + - + - + - + - + - + @@ -12104,9 +12116,9 @@ - + - + @@ -12124,9 +12136,9 @@ - + - + @@ -12135,14 +12147,14 @@ - + - + @@ -12153,7 +12165,7 @@ - + @@ -12162,7 +12174,7 @@ - + @@ -12173,7 +12185,7 @@ - + @@ -12186,9 +12198,9 @@ - + - + @@ -12197,7 +12209,7 @@ - + @@ -12206,7 +12218,7 @@ - + @@ -12217,7 +12229,7 @@ - + @@ -12226,34 +12238,34 @@ - + - + - + - + - + - + - + - + - + @@ -12261,7 +12273,7 @@ - + @@ -12313,87 +12325,87 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -12405,7 +12417,7 @@ - + @@ -12419,7 +12431,7 @@ - + @@ -12428,7 +12440,7 @@ - + @@ -12439,7 +12451,7 @@ - + @@ -12448,7 +12460,7 @@ - + @@ -12463,7 +12475,7 @@ - + @@ -12478,7 +12490,7 @@ - + @@ -12491,7 +12503,7 @@ - + @@ -12502,13 +12514,13 @@ - + - + @@ -12517,7 +12529,7 @@ - + @@ -12530,7 +12542,7 @@ - + @@ -12539,7 +12551,7 @@ - + @@ -12548,9 +12560,9 @@ - + - + @@ -12559,7 +12571,7 @@ - + @@ -12574,7 +12586,7 @@ - + @@ -12592,7 +12604,7 @@ - + @@ -12601,7 +12613,7 @@ - + @@ -12610,13 +12622,13 @@ - + - + @@ -12627,7 +12639,7 @@ - + @@ -12644,7 +12656,7 @@ - + @@ -12661,7 +12673,7 @@ - + @@ -12676,7 +12688,7 @@ - + @@ -12686,7 +12698,7 @@ - + @@ -12748,7 +12760,7 @@ - + @@ -12820,13 +12832,13 @@ - + - + @@ -12835,9 +12847,9 @@ - + - + @@ -12855,7 +12867,7 @@ - + @@ -12868,7 +12880,7 @@ - + @@ -12879,7 +12891,7 @@ - + @@ -12890,7 +12902,7 @@ - + @@ -12901,7 +12913,7 @@ - + @@ -12912,7 +12924,7 @@ - + @@ -12923,7 +12935,7 @@ - + @@ -12934,7 +12946,7 @@ - + @@ -12945,7 +12957,7 @@ - + @@ -12956,7 +12968,7 @@ - + @@ -12967,7 +12979,7 @@ - + @@ -12978,7 +12990,7 @@ - + @@ -12989,7 +13001,7 @@ - + @@ -13000,7 +13012,7 @@ - + @@ -13011,7 +13023,7 @@ - + @@ -13022,7 +13034,7 @@ - + @@ -13033,7 +13045,7 @@ - + @@ -13044,7 +13056,7 @@ - + @@ -13055,7 +13067,7 @@ - + @@ -13066,7 +13078,7 @@ - + @@ -13077,7 +13089,7 @@ - + @@ -13086,7 +13098,7 @@ - + @@ -13095,7 +13107,7 @@ - + @@ -13104,7 +13116,7 @@ - + @@ -13113,7 +13125,7 @@ - + @@ -13122,7 +13134,7 @@ - + @@ -13133,7 +13145,7 @@ - + @@ -13144,7 +13156,7 @@ - + @@ -13155,7 +13167,7 @@ - + @@ -13166,7 +13178,7 @@ - + @@ -13177,7 +13189,7 @@ - + @@ -13188,7 +13200,7 @@ - + @@ -13199,7 +13211,7 @@ - + @@ -13210,7 +13222,7 @@ - + @@ -13221,7 +13233,7 @@ - + @@ -13232,7 +13244,7 @@ - + @@ -13243,7 +13255,7 @@ - + @@ -13254,7 +13266,7 @@ - + @@ -13265,11 +13277,11 @@ - + - + - + @@ -13287,9 +13299,9 @@ - + - + @@ -13300,7 +13312,7 @@ - + @@ -13313,7 +13325,7 @@ - + @@ -13324,7 +13336,7 @@ - + @@ -13333,7 +13345,7 @@ - + @@ -13346,14 +13358,14 @@ - + - + @@ -13362,7 +13374,7 @@ - + @@ -13373,7 +13385,7 @@ - + @@ -13382,9 +13394,9 @@ - + - + @@ -13393,7 +13405,7 @@ - + @@ -13402,7 +13414,7 @@ - + @@ -13413,7 +13425,7 @@ - + @@ -13422,7 +13434,7 @@ - + @@ -13433,7 +13445,7 @@ - + @@ -13446,9 +13458,9 @@ - + - + @@ -13457,7 +13469,7 @@ - + @@ -13466,9 +13478,9 @@ - + - + @@ -13477,7 +13489,7 @@ - + @@ -13486,11 +13498,11 @@ - + - + - + @@ -13503,7 +13515,7 @@ - + @@ -13514,7 +13526,7 @@ - + @@ -13523,7 +13535,7 @@ - + @@ -13532,7 +13544,7 @@ - + @@ -13541,7 +13553,7 @@ - + @@ -13550,7 +13562,7 @@ - + @@ -13559,7 +13571,7 @@ - + @@ -13568,7 +13580,7 @@ - + @@ -13577,7 +13589,7 @@ - + @@ -13586,7 +13598,7 @@ - + @@ -13595,7 +13607,7 @@ - + @@ -13604,7 +13616,7 @@ - + @@ -13613,13 +13625,13 @@ - + - + - + - + @@ -13628,7 +13640,7 @@ - + @@ -13639,7 +13651,7 @@ - + @@ -13648,7 +13660,7 @@ - + @@ -13657,7 +13669,7 @@ - + @@ -13666,7 +13678,7 @@ - + @@ -13675,7 +13687,7 @@ - + @@ -13684,7 +13696,7 @@ - + @@ -13693,7 +13705,7 @@ - + @@ -13702,7 +13714,7 @@ - + @@ -13711,7 +13723,7 @@ - + @@ -13720,7 +13732,7 @@ - + @@ -13729,7 +13741,7 @@ - + @@ -13738,7 +13750,7 @@ - + @@ -13747,7 +13759,7 @@ - + @@ -13756,7 +13768,7 @@ - + @@ -13765,7 +13777,7 @@ - + @@ -13774,7 +13786,7 @@ - + @@ -13783,7 +13795,7 @@ - + @@ -13792,7 +13804,7 @@ - + @@ -13801,7 +13813,7 @@ - + @@ -13810,7 +13822,7 @@ - + @@ -13819,7 +13831,7 @@ - + @@ -13828,7 +13840,7 @@ - + @@ -13837,7 +13849,7 @@ - + @@ -13846,7 +13858,7 @@ - + @@ -13855,7 +13867,7 @@ - + @@ -13864,7 +13876,7 @@ - + @@ -13873,7 +13885,7 @@ - + @@ -13884,13 +13896,13 @@ - + - + - + - + @@ -13899,7 +13911,7 @@ - + @@ -13910,7 +13922,7 @@ - + @@ -13921,75 +13933,75 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -14003,86 +14015,86 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -14103,7 +14115,7 @@ - + @@ -14112,16 +14124,16 @@ - + - + - + @@ -14132,7 +14144,7 @@ - + @@ -14141,7 +14153,7 @@ - + @@ -14150,7 +14162,7 @@ - + @@ -14159,7 +14171,7 @@ - + @@ -14168,7 +14180,7 @@ - + @@ -14177,11 +14189,11 @@ - + - + - + @@ -14190,7 +14202,7 @@ - + @@ -14199,46 +14211,46 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -14247,9 +14259,9 @@ - + - + @@ -14258,11 +14270,11 @@ - + - - + + @@ -14271,39 +14283,39 @@ - + - + - + - + - + - + - + - + - + @@ -14312,9 +14324,9 @@ - + - + @@ -14323,11 +14335,11 @@ - + - + - + @@ -14336,39 +14348,39 @@ - + - + - + - + - + - + - + - + - + @@ -14377,9 +14389,9 @@ - + - + @@ -14388,11 +14400,11 @@ - + - + - + @@ -14401,32 +14413,32 @@ - + - + - + - + - + - + - + - + @@ -14435,7 +14447,7 @@ - + @@ -14446,11 +14458,11 @@ - + - + @@ -14459,7 +14471,7 @@ - + @@ -14468,32 +14480,32 @@ - + - + - + - + - + - + @@ -14502,9 +14514,9 @@ - + - + @@ -14513,11 +14525,11 @@ - + - + - + @@ -14526,39 +14538,39 @@ - + - + - + - + - + - + - + - + - + @@ -14567,9 +14579,9 @@ - + - + @@ -14578,11 +14590,11 @@ - + - + - + @@ -14591,32 +14603,32 @@ - + - + - + - + - + - + - + - + @@ -14625,9 +14637,9 @@ - + - + @@ -14636,11 +14648,11 @@ - + - + - + @@ -14649,39 +14661,39 @@ - + - + - + - + - + - + - + - + - + @@ -14690,9 +14702,9 @@ - + - + @@ -14701,11 +14713,11 @@ - + - + - + @@ -14714,39 +14726,39 @@ - + - + - + - + - + - + - + - + - + @@ -14755,7 +14767,7 @@ - + @@ -14766,11 +14778,11 @@ - + - + @@ -14779,32 +14791,32 @@ - + - + - + - + - + - + @@ -14813,9 +14825,9 @@ - + - + @@ -14824,11 +14836,11 @@ - + - + - + @@ -14837,41 +14849,41 @@ - + - + - + - + - + - + - + - + - + - + @@ -14880,9 +14892,9 @@ - + - + @@ -14891,11 +14903,11 @@ - + - + - + @@ -14904,52 +14916,52 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -14958,9 +14970,9 @@ - + - + @@ -14969,11 +14981,11 @@ - + - + - + @@ -14982,24 +14994,24 @@ - + - + - + - + - + @@ -15009,7 +15021,7 @@ - + @@ -15018,7 +15030,7 @@ - + @@ -15029,9 +15041,9 @@ - + - + @@ -15040,7 +15052,7 @@ - + @@ -15051,11 +15063,11 @@ - + - + @@ -15064,21 +15076,21 @@ - + - + - + @@ -15087,7 +15099,7 @@ - + @@ -15098,7 +15110,7 @@ - + @@ -15109,7 +15121,7 @@ - + @@ -15122,7 +15134,7 @@ - + @@ -15131,7 +15143,7 @@ - + @@ -15140,29 +15152,29 @@ - + - + - + - + - + - + @@ -15171,9 +15183,9 @@ - + - + @@ -15182,7 +15194,7 @@ - + @@ -15203,9 +15215,9 @@ - + - + @@ -15214,19 +15226,19 @@ - + - + - + - + - + - + - + @@ -15235,7 +15247,7 @@ - + @@ -15244,7 +15256,7 @@ - + @@ -15255,304 +15267,311 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + - + - + @@ -15564,37 +15583,37 @@ - + - + - + - + - + - + - + - + @@ -15609,7 +15628,7 @@ - + @@ -15624,7 +15643,7 @@ - + @@ -15639,7 +15658,7 @@ - + @@ -15654,7 +15673,7 @@ - + @@ -15667,7 +15686,7 @@ - + @@ -15680,7 +15699,7 @@ - + @@ -15693,7 +15712,7 @@ - + @@ -15704,14 +15723,14 @@ - + - + - + @@ -15730,7 +15749,7 @@ - + @@ -15739,7 +15758,7 @@ - + @@ -15750,13 +15769,13 @@ - + - + @@ -15765,7 +15784,7 @@ - + @@ -15776,7 +15795,7 @@ - + @@ -15789,7 +15808,7 @@ - + @@ -15800,7 +15819,7 @@ - + @@ -15811,7 +15830,7 @@ - + @@ -15820,7 +15839,7 @@ - + @@ -15831,14 +15850,14 @@ - + - + - + @@ -15847,7 +15866,7 @@ - + @@ -15858,7 +15877,7 @@ - + @@ -15873,9 +15892,9 @@ - + - + @@ -15884,7 +15903,7 @@ - + @@ -15895,13 +15914,13 @@ - + - + @@ -15910,13 +15929,13 @@ - + - + @@ -15925,7 +15944,7 @@ - + @@ -15940,7 +15959,7 @@ - + @@ -15949,7 +15968,7 @@ - + @@ -15958,13 +15977,13 @@ - + - + - + @@ -15973,7 +15992,7 @@ - + @@ -16018,16 +16037,16 @@ - + - + - + @@ -16036,7 +16055,7 @@ - + @@ -16047,9 +16066,9 @@ - + - + @@ -16058,7 +16077,7 @@ - + @@ -16069,17 +16088,17 @@ - + - + - + @@ -16088,17 +16107,17 @@ - + - + - + @@ -16107,7 +16126,7 @@ - + @@ -16122,7 +16141,7 @@ - + @@ -16133,7 +16152,7 @@ - + @@ -16158,7 +16177,7 @@ - + @@ -16183,7 +16202,7 @@ - + @@ -16208,7 +16227,7 @@ - + @@ -16237,9 +16256,9 @@ - + - + @@ -16254,25 +16273,25 @@ - + - + - + - + - + @@ -16283,11 +16302,11 @@ - + - + diff --git a/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi b/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi index 18a4964b..fc056b3a 100644 --- a/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi +++ b/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi @@ -26818,6 +26818,13 @@ + + + + + + + @@ -26980,7 +26987,7 @@ - + @@ -27001,7 +27008,7 @@ - + diff --git a/tests/data/test-diff-dwarf/PR25058-liblttng-ctl-report-1.txt b/tests/data/test-diff-dwarf/PR25058-liblttng-ctl-report-1.txt index 90248ab7..8986e65d 100644 --- a/tests/data/test-diff-dwarf/PR25058-liblttng-ctl-report-1.txt +++ b/tests/data/test-diff-dwarf/PR25058-liblttng-ctl-report-1.txt @@ -479,7 +479,21 @@ Variables changes summary: 0 Removed, 0 Changed, 3 Added variables pointed to type 'struct filter_node' changed, as being reported type of 'struct {op_type type; filter_node* lchild; filter_node* rchild;} op' changed: type size hasn't changed - 2 data member changes: + 3 data member changes: + type of 'op_type type' changed: + type size hasn't changed + 5 enumerator deletions: + 'op_type::AST_OP_RSHIFT' value '6' + 'op_type::AST_OP_LSHIFT' value '7' + 'op_type::AST_OP_BIN_AND' value '10' + 'op_type::AST_OP_BIN_OR' value '11' + 'op_type::AST_OP_BIN_XOR' value '12' + 5 enumerator insertions: + 'op_type::AST_OP_BIT_RSHIFT' value '6' + 'op_type::AST_OP_BIT_LSHIFT' value '7' + 'op_type::AST_OP_BIT_AND' value '10' + 'op_type::AST_OP_BIT_OR' value '11' + 'op_type::AST_OP_BIT_XOR' value '12' type of 'filter_node* lchild' changed: pointed to type 'struct filter_node' changed, as being reported type of 'filter_node* rchild' changed: @@ -491,7 +505,13 @@ Variables changes summary: 0 Removed, 0 Changed, 3 Added variables pointed to type 'struct filter_node' changed, as being reported type of 'struct {unary_op_type type; filter_node* child;} unary_op' changed: type size hasn't changed - 1 data member change: + 2 data member changes: + type of 'unary_op_type type' changed: + type size hasn't changed + 1 enumerator deletion: + 'unary_op_type::AST_UNARY_BIN_NOT' value '4' + 1 enumerator insertion: + 'unary_op_type::AST_UNARY_BIT_NOT' value '4' type of 'filter_node* child' changed: pointed to type 'struct filter_node' changed, as being reported 'cds_list_head allocated_nodes' offset changed from 576 to 640 (in bits) (by +64 bits) diff --git a/tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi b/tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi index 1a1e234c..d6d48392 100644 --- a/tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi +++ b/tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi @@ -2103,6 +2103,17 @@ + + + + + + + + + + + @@ -2164,7 +2175,7 @@ - + @@ -2193,7 +2204,7 @@ - + @@ -2215,7 +2226,7 @@ - + @@ -2225,7 +2236,7 @@ - + @@ -2233,16 +2244,16 @@ - + - - - + + + @@ -2259,8 +2270,8 @@ - - + + @@ -2272,7 +2283,7 @@ - + @@ -2287,7 +2298,7 @@ - + @@ -2295,13 +2306,13 @@ - + - + @@ -2313,35 +2324,35 @@ - + - + - - + + - + - + - + - + @@ -2477,7 +2488,7 @@ - + @@ -2700,9 +2711,9 @@ - - - + + + @@ -2710,8 +2721,8 @@ - - + + @@ -2721,7 +2732,7 @@ - + @@ -2757,13 +2768,13 @@ - + - + @@ -2829,8 +2840,8 @@ - - + + @@ -2839,9 +2850,9 @@ - - - + + + @@ -2874,12 +2885,12 @@ - + - + @@ -2889,20 +2900,20 @@ - + - + - + - + @@ -2910,10 +2921,10 @@ - + - + @@ -2940,7 +2951,7 @@ - + @@ -2951,7 +2962,7 @@ - + @@ -2987,7 +2998,7 @@ - + @@ -3002,7 +3013,7 @@ - + @@ -3017,7 +3028,7 @@ - + @@ -3137,12 +3148,12 @@ - - + + - - - + + + @@ -4076,33 +4087,33 @@ - + - + - + - + - + @@ -4110,58 +4121,58 @@ - + - + - + - + - + - - - - - - - - - - - - + + + + + + + + + + + + - + - + - + - + - - + + @@ -4172,51 +4183,51 @@ - + - - + + - + - - + + - - + + - + - + - + - + - + - + - + - + - + - + @@ -4225,22 +4236,22 @@ - + - + - + - - + + - - - + + + @@ -4248,84 +4259,84 @@ - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + @@ -4333,63 +4344,63 @@ - + - + - + - + - + - + - + - + - + - + - - + + @@ -4398,179 +4409,179 @@ - + - + - + - - + + - + - - + + - - + + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -4578,61 +4589,61 @@ - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + @@ -4640,15 +4651,15 @@ - + - - + + - + @@ -4656,7 +4667,7 @@ - + @@ -4664,7 +4675,7 @@ - + @@ -4675,14 +4686,14 @@ - - + + - + @@ -4693,29 +4704,29 @@ - - + + - - - + + + - - + + - - + + - + - + - + @@ -4723,15 +4734,15 @@ - + - + - - + + @@ -4743,66 +4754,66 @@ - + - - + + - + - + - - + + - + - + - + - - + + - + - + @@ -4810,166 +4821,166 @@ - - + + - + - - + + - + - + - + - + - - + + - + - + - - + + - + - + - + - - + + - + - + - - + + - - + + - + - - + + - + - - + + - - + + - + - + - + - + - + - + - + - - + + - + @@ -4977,29 +4988,29 @@ - - + + - + - - + + - + - + @@ -5007,107 +5018,107 @@ - - + + - + - - + + - + - - + + - + - - + + - - + + - + - - + + - + - + - + - + - + - - + + - + - - + + - + - + - + @@ -5120,8 +5131,8 @@ - - + + @@ -5129,58 +5140,58 @@ - + - + - + - + - + - + - - + + - - + + - + - + @@ -5190,32 +5201,32 @@ - + - + - - + + - - + + - - + + @@ -5223,73 +5234,73 @@ - - + + - + - + - + - + - + - + - + - + - + - + - + - + - - + + @@ -5297,166 +5308,166 @@ - + - - + + - - + + - - - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - - + + - - + + - + - + - + - + - + - + - + - + - + - - + + - - - - - - + + + + + + - - + + - - - + + + @@ -5497,26 +5508,26 @@ - + - + - - + + - + - + - - + + @@ -5524,20 +5535,20 @@ - - + + - + - - - + + + @@ -5548,7 +5559,7 @@ - + @@ -5557,33 +5568,33 @@ - - + + - + - + - + - - + + - + - - + + @@ -5593,23 +5604,23 @@ - + - + - + - + @@ -5672,21 +5683,21 @@ - + - + - - + + @@ -5698,13 +5709,13 @@ - + - + @@ -5712,83 +5723,83 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -5800,74 +5811,74 @@ - + - + - + - + - - - - + + + + - + - - - + + + - - - - + + + + - + - + - + - + @@ -5875,230 +5886,230 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -6106,194 +6117,194 @@ - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - - - + + + + - + - + - + - + - + - - + + - - + + - + - + - - + + - + - + - + - - + + - + - + - + @@ -6301,62 +6312,62 @@ - + - + - + - - + + - + - + - + - + - - + + - - - - - + + + + + @@ -6367,9 +6378,9 @@ - - - + + + @@ -6399,14 +6410,14 @@ - + - - + + @@ -6418,33 +6429,33 @@ - + - - + + - + - + - + @@ -6452,27 +6463,27 @@ - + - + - + - + @@ -6480,13 +6491,13 @@ - + - + @@ -6494,7 +6505,7 @@ - + @@ -6502,7 +6513,7 @@ - + @@ -6511,7 +6522,7 @@ - + @@ -6520,7 +6531,7 @@ - + @@ -6529,115 +6540,115 @@ - + - + - + - + - + - + - + - + - + - - + + - + - + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - + - + - + @@ -6646,15 +6657,15 @@ - + - + - + @@ -6663,41 +6674,41 @@ - + - + - - + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + @@ -6706,15 +6717,15 @@ - + - - + + - + @@ -6722,7 +6733,7 @@ - + @@ -6730,15 +6741,15 @@ - + - - + + - + @@ -6746,11 +6757,11 @@ - + - - + + @@ -6764,7 +6775,7 @@ - + @@ -6774,11 +6785,11 @@ - + - - + + @@ -6800,7 +6811,7 @@ - + @@ -6886,8 +6897,8 @@ - - + + @@ -6904,8 +6915,8 @@ - - + + @@ -6922,8 +6933,8 @@ - - + + @@ -6972,18 +6983,18 @@ - + - + - - + + @@ -6992,8 +7003,8 @@ - - + + @@ -7007,8 +7018,8 @@ - - + + @@ -7042,20 +7053,20 @@ - - - + + + - + - - + + @@ -7064,19 +7075,19 @@ - + - + - + - + @@ -7086,12 +7097,12 @@ - - + + - + @@ -7100,8 +7111,8 @@ - - + + @@ -7115,12 +7126,12 @@ - + - - + + @@ -7143,14 +7154,14 @@ - + - + @@ -7161,8 +7172,8 @@ - - + + @@ -7181,8 +7192,8 @@ - - + + @@ -7197,7 +7208,7 @@ - + @@ -7243,14 +7254,14 @@ - + - - + + @@ -7262,14 +7273,14 @@ - + - + @@ -7278,7 +7289,7 @@ - + @@ -7286,21 +7297,21 @@ - + - + - + - + @@ -7321,7 +7332,7 @@ - + @@ -7330,7 +7341,7 @@ - + @@ -7340,52 +7351,52 @@ - + - + - + - + - + - + - + - + @@ -7393,106 +7404,106 @@ - + - + - + - - + + - + - + - + - + - + - + - - + + - + - + - - + + - - + + - + - + - - + + @@ -7504,39 +7515,39 @@ - - + + - + - + - + - + - + @@ -7544,58 +7555,58 @@ - - + + - + - + - + - - + + - - + + - + - + - + - + - + - + @@ -7634,67 +7645,67 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -7703,7 +7714,7 @@ - + @@ -7713,26 +7724,26 @@ - + - + - + - + @@ -7741,7 +7752,7 @@ - + @@ -7750,7 +7761,7 @@ - + @@ -7758,23 +7769,23 @@ - + - + - + - + @@ -7782,26 +7793,26 @@ - + - + - - + + - + @@ -7810,7 +7821,7 @@ - + @@ -7822,29 +7833,29 @@ - + - + - + - + - + @@ -7854,7 +7865,7 @@ - + @@ -7864,7 +7875,7 @@ - + @@ -7874,7 +7885,7 @@ - + @@ -7883,7 +7894,7 @@ - + @@ -7931,7 +7942,7 @@ - + @@ -7985,18 +7996,18 @@ - + - + - - + + @@ -8008,7 +8019,7 @@ - + @@ -8016,263 +8027,263 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + @@ -8284,15 +8295,15 @@ - - + + - + @@ -8300,20 +8311,20 @@ - + - + - + @@ -8321,64 +8332,64 @@ - + - + - + - + - - + + - + - + - + - + - + @@ -8386,35 +8397,35 @@ - - + + - + - - + + - + - - - + + + @@ -8422,319 +8433,319 @@ - + - + - + - + - + - + - + - + - + - + - + - + - - - - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + + + + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8743,59 +8754,59 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + + + - + @@ -8811,655 +8822,655 @@ - + - - + + - + - + - + - + - + - + - - - + + + - + - + - + - - + + - - + + - - - + + + - - - + + + - + - - + + - - + + - - + + - - - + + + - + - - + + - + - - + + - - - + + + - - + + - - - + + + - + - - + + - + - - + + - - - + + + - - - + + + - - + + - - + + - + - + - + - + - + - + - + - + - - + + - + - - + + - - - + + + - - + + - - - + + + - + - - + + - + - - + + - - - + + + - - - + + + - - + + - - + + - + - - + + - - - + + + - - + + - - - + + + - + - - + + - + - - + + - - - + + + - - + + - - - + + + - + - - + + - + - + - + - + - + - + - + - - + + - + - - + + - - - + + + - - - + + + - - + + - - + + - - + + - + - - + + - - - + + + - - - + + + - - + + - - + + - - + + - - + + - + - - + + - - - + + + - + - - + + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + @@ -9467,47 +9478,47 @@ - + - + - + - + - + - + - + - + - - + + - + @@ -9519,198 +9530,204 @@ - - + + - - - - - - - + + + + + + + - + - + - - + + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + + + + + + + - + - + @@ -9718,26 +9735,26 @@ - - - - + + + + - + - + - + - + @@ -9746,7 +9763,7 @@ - + @@ -9755,7 +9772,7 @@ - + @@ -9764,7 +9781,7 @@ - + @@ -9773,7 +9790,7 @@ - + @@ -9781,7 +9798,7 @@ - + @@ -9789,7 +9806,7 @@ - + @@ -9797,18 +9814,18 @@ - + - + - + - + @@ -9821,13 +9838,13 @@ - + - + @@ -9835,24 +9852,24 @@ - + - + - + - + @@ -9860,51 +9877,51 @@ - + - + - + - + - - + + - + - + - + @@ -9913,39 +9930,39 @@ - - + + - + - + - + - + - + - + @@ -9954,27 +9971,27 @@ - + - + - - + + - + - + @@ -9999,47 +10016,47 @@ - + - + - + - + - - + + - + - + - + - + @@ -10047,20 +10064,20 @@ - + - + - + - + @@ -10069,14 +10086,14 @@ - + - + @@ -10090,7 +10107,7 @@ - + @@ -10104,7 +10121,7 @@ - + @@ -10118,7 +10135,7 @@ - + @@ -10134,8 +10151,8 @@ - - + + @@ -10144,27 +10161,27 @@ - - + + - + - + - + - + - + diff --git a/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi b/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi index da5bb27f..4af0970a 100644 --- a/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi +++ b/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi @@ -16777,6 +16777,12 @@ + + + + + + @@ -16884,7 +16890,7 @@ - + @@ -16900,7 +16906,7 @@ - + diff --git a/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi b/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi index 46952f55..9f21e26a 100644 --- a/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi +++ b/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi @@ -14006,8 +14006,14 @@ + + + + + + - + @@ -14016,26 +14022,26 @@ - + - + - + - + @@ -14043,97 +14049,97 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -14157,7 +14163,7 @@ - + @@ -14170,52 +14176,52 @@ - + - + - + - + - + - + - - + + - + @@ -14226,7 +14232,7 @@ - + @@ -14234,28 +14240,28 @@ - + - + - + - + - + @@ -14268,33 +14274,33 @@ - + - + - + - + - + @@ -14302,27 +14308,27 @@ - + - + - + - + @@ -14385,42 +14391,42 @@ - + - + - + - + - + - + - + - + - + - + @@ -14468,21 +14474,21 @@ - + - + - + @@ -14491,16 +14497,16 @@ - + - + - + @@ -14525,7 +14531,7 @@ - + @@ -14534,41 +14540,41 @@ - + - + - + - + - + - + @@ -14592,7 +14598,7 @@ - + @@ -14610,14 +14616,14 @@ - + - + @@ -14625,7 +14631,7 @@ - + @@ -14639,31 +14645,31 @@ - - + + - + - + - + - + @@ -14671,7 +14677,7 @@ - + @@ -14684,28 +14690,28 @@ - + - + - + - + @@ -14713,140 +14719,140 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -14886,42 +14892,42 @@ - + - + - + - + - + - + - + - + - + - + @@ -14969,21 +14975,21 @@ - + - + - + @@ -14992,16 +14998,16 @@ - + - + - + @@ -15026,7 +15032,7 @@ - + @@ -15035,41 +15041,41 @@ - + - + - + - + - + - + @@ -15093,7 +15099,7 @@ - + @@ -15111,14 +15117,14 @@ - + - + @@ -15126,7 +15132,7 @@ - + @@ -15140,31 +15146,31 @@ - - + + - + - + - + - + @@ -15172,7 +15178,7 @@ - + @@ -15185,28 +15191,28 @@ - + - + - + - + @@ -15214,140 +15220,140 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -15389,16 +15395,16 @@ - + - + - + - + @@ -15450,19 +15456,19 @@ - + - + - + @@ -15529,7 +15535,7 @@ - + @@ -15538,7 +15544,7 @@ - + @@ -15557,10 +15563,10 @@ - + - + @@ -15572,7 +15578,7 @@ - + @@ -15592,22 +15598,22 @@ - + - + - + - + @@ -15616,7 +15622,7 @@ - + @@ -15634,15 +15640,15 @@ - + - - + + @@ -15684,18 +15690,18 @@ - + - + - + - + @@ -15721,26 +15727,26 @@ - + - + - - + + - + @@ -15748,8 +15754,8 @@ - - + + @@ -15758,16 +15764,16 @@ - + - + - + - + @@ -15819,19 +15825,19 @@ - + - + - + @@ -15885,7 +15891,7 @@ - + @@ -15894,7 +15900,7 @@ - + @@ -15919,10 +15925,10 @@ - + - + @@ -15934,7 +15940,7 @@ - + @@ -15954,22 +15960,22 @@ - + - + - + - + @@ -15985,7 +15991,7 @@ - + @@ -16003,15 +16009,15 @@ - + - - + + @@ -16053,18 +16059,18 @@ - + - + - + - + @@ -16090,26 +16096,26 @@ - + - + - - + + - + @@ -16117,8 +16123,8 @@ - - + + @@ -16126,16 +16132,16 @@ - + - + - + @@ -16184,7 +16190,7 @@ - + @@ -16210,7 +16216,7 @@ - + @@ -16229,216 +16235,216 @@ - + - + - + - + - + - - - + + + - - - + + + - - - + + + - - + + - - + + - + - + - - + + - - + + - + - - + + - + - + - + - + - + - - - + + + - - - + + + - - - + + + - - + + - - + + - + - + - - + + - - + + - + - - + + - + - + - + @@ -16474,7 +16480,7 @@ - + @@ -16513,7 +16519,7 @@ - + @@ -16532,19 +16538,19 @@ - + - + - + - + - + @@ -16569,41 +16575,41 @@ + - - + - + - + - + - + - + - + - + @@ -16626,12 +16632,12 @@ - + - + @@ -16639,7 +16645,7 @@ - + @@ -16647,12 +16653,12 @@ - + - + @@ -17124,16 +17130,16 @@ - + - + - - + + @@ -17141,186 +17147,186 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - - + + - - + + - + - + - + - + - - + + - + - + - - + + - + - + - + - + - - + + - - + + - - - + + + - + - - + + - - + + - + @@ -17348,97 +17354,97 @@ - + - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - + - + - + - + - - + + - + - + - - + + - + - + - + @@ -17447,182 +17453,182 @@ - + - + - - + + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - - + + - - + + - - + + - - + + - + @@ -17672,9 +17678,9 @@ - + - + @@ -17683,7 +17689,7 @@ - + @@ -17695,9 +17701,9 @@ - + - + @@ -17707,9 +17713,9 @@ - + - + @@ -17720,10 +17726,10 @@ - + - + @@ -17734,7 +17740,7 @@ - + @@ -17747,7 +17753,7 @@ - + @@ -17757,7 +17763,7 @@ - + @@ -17767,34 +17773,34 @@ - + - + - + - + - + - + - + - + @@ -17802,7 +17808,7 @@ - + @@ -17810,23 +17816,23 @@ - - + + - - + + - + @@ -17838,7 +17844,7 @@ - + @@ -17860,7 +17866,7 @@ - + @@ -17868,34 +17874,34 @@ - + - + - - - + + + - + - + - + @@ -17905,7 +17911,7 @@ - + @@ -17915,7 +17921,7 @@ - + @@ -17925,7 +17931,7 @@ - + @@ -17935,351 +17941,351 @@ - + - + - + - + - + - + - + - - + + - - + + - - + + - + - + - + - + - - + + - + - - + + - + - - + + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - + - + - - + + - + - - + + - - + + - - + + - + - - + + - + - - + + - + - - + + - - + + - + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - + @@ -18305,56 +18311,56 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - + - + - + - + @@ -18362,7 +18368,7 @@ - + @@ -18372,7 +18378,7 @@ - + @@ -18382,7 +18388,7 @@ - + @@ -18390,7 +18396,7 @@ - + @@ -18398,7 +18404,7 @@ - + @@ -18406,7 +18412,7 @@ - + @@ -18414,7 +18420,7 @@ - + @@ -18424,7 +18430,7 @@ - + @@ -18434,7 +18440,7 @@ - + @@ -18444,7 +18450,7 @@ - + @@ -18454,31 +18460,31 @@ - - + + - + - + - + - + @@ -18486,7 +18492,7 @@ - + @@ -18494,7 +18500,7 @@ - + @@ -18502,24 +18508,24 @@ - + - + - + - + - + @@ -18527,7 +18533,7 @@ - + @@ -18537,7 +18543,7 @@ - + @@ -18547,7 +18553,7 @@ - + @@ -18555,7 +18561,7 @@ - + @@ -18563,7 +18569,7 @@ - + @@ -18571,7 +18577,7 @@ - + @@ -18579,7 +18585,7 @@ - + @@ -18589,7 +18595,7 @@ - + @@ -18599,7 +18605,7 @@ - + @@ -18609,7 +18615,7 @@ - + @@ -18619,31 +18625,31 @@ - - + + - + - + - + - + @@ -18651,7 +18657,7 @@ - + @@ -18659,7 +18665,7 @@ - + @@ -18667,24 +18673,24 @@ - + - - + + - + - + - + @@ -18692,7 +18698,7 @@ - + @@ -18702,7 +18708,7 @@ - + @@ -18712,7 +18718,7 @@ - + @@ -18720,7 +18726,7 @@ - + @@ -18728,7 +18734,7 @@ - + @@ -18736,7 +18742,7 @@ - + @@ -18744,7 +18750,7 @@ - + @@ -18754,7 +18760,7 @@ - + @@ -18764,7 +18770,7 @@ - + @@ -18774,7 +18780,7 @@ - + @@ -18784,31 +18790,31 @@ - - + + - + - + - + - + @@ -18816,7 +18822,7 @@ - + @@ -18824,7 +18830,7 @@ - + @@ -18832,24 +18838,24 @@ - + - - + + - + - + - + @@ -18857,7 +18863,7 @@ - + @@ -18867,7 +18873,7 @@ - + @@ -18877,7 +18883,7 @@ - + @@ -18885,7 +18891,7 @@ - + @@ -18893,7 +18899,7 @@ - + @@ -18901,7 +18907,7 @@ - + @@ -18909,7 +18915,7 @@ - + @@ -18919,7 +18925,7 @@ - + @@ -18929,7 +18935,7 @@ - + @@ -18939,7 +18945,7 @@ - + @@ -18949,31 +18955,31 @@ - - + + - + - + - + - + @@ -18981,7 +18987,7 @@ - + @@ -18989,7 +18995,7 @@ - + @@ -18997,24 +19003,24 @@ - + - - + + - + - + - + @@ -19022,7 +19028,7 @@ - + @@ -19032,7 +19038,7 @@ - + @@ -19042,7 +19048,7 @@ - + @@ -19050,7 +19056,7 @@ - + @@ -19058,7 +19064,7 @@ - + @@ -19066,7 +19072,7 @@ - + @@ -19074,7 +19080,7 @@ - + @@ -19084,7 +19090,7 @@ - + @@ -19094,7 +19100,7 @@ - + @@ -19104,7 +19110,7 @@ - + @@ -19114,31 +19120,31 @@ - - + + - + - + - + - + @@ -19146,7 +19152,7 @@ - + @@ -19154,7 +19160,7 @@ - + @@ -19162,24 +19168,24 @@ - + - - + + - + - + - + @@ -19187,7 +19193,7 @@ - + @@ -19197,7 +19203,7 @@ - + @@ -19207,7 +19213,7 @@ - + @@ -19215,7 +19221,7 @@ - + @@ -19223,7 +19229,7 @@ - + @@ -19231,7 +19237,7 @@ - + @@ -19239,7 +19245,7 @@ - + @@ -19249,7 +19255,7 @@ - + @@ -19259,7 +19265,7 @@ - + @@ -19269,7 +19275,7 @@ - + @@ -19279,31 +19285,31 @@ - - + + - + - + - + - + @@ -19311,7 +19317,7 @@ - + @@ -19319,7 +19325,7 @@ - + @@ -19327,7 +19333,7 @@ - + @@ -19335,644 +19341,644 @@ - - + + - - + + - - + + - - + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - - + + - + - + - + - - + + - + - - + + - + - - + + - + - - + + - + - + - + - + - - + + - + - - - - - - - + + + + + + + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - - + + - - + + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - - - + + + - - - + + + - + - + - + - + - + - + - - - + + + - - + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - + - + - + - - + + - + - + - + - + - - + + - - + + - + - + - + - - + + - + - + - + - - + + - - + + - - - + + + - + - - + + - - + + - - - - + - + + + + - + - + - + - + @@ -19983,176 +19989,176 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - + - + - - + + - - + + - - - + + + - + - + - + - - + + - - + + - + - - + + - + - + - + - + - + - - + + - + - + @@ -20160,7 +20166,7 @@ - + @@ -20168,7 +20174,7 @@ - + @@ -20177,31 +20183,31 @@ - + - + - + - - - - - + + + + + @@ -20266,15 +20272,15 @@ - + - - + + - + @@ -20293,138 +20299,138 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - - - + + + + - + - + - + - + - + - + - - + + - - + + - - + + - + - - - + + + - + - + - - + + - - - + + + @@ -20433,324 +20439,324 @@ - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - - + + - + - - + + - + + - - + - + - + - + - + - + - + - - + + - + - + + - - - - + + + - - - - + + + + - - - - + + + + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + - - + + - + @@ -20759,336 +20765,336 @@ - + - - + + - + - - + + - + - + - + - + - + - + - + - - + + - - + + - - - + + + - - + + - + - - + + - + - + - + - + - + - + - + - + - - + + - - - + + + - - - + + + - - + + - + - - + + - - + + - - - - + + + + - + - + - + - - + + - - + + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - + - - + + - + - - + + - + - - + + - - + + - - + + - + - - + + - - + + - - + + - + - + - + - + @@ -21099,14 +21105,14 @@ - + - + @@ -21118,302 +21124,302 @@ - + - + - + - + - + - + - - + + - + - - + + - + - + - - + + - + - + - + - - + + - + - - + + - - - + + + - + - + - - - + + + - - + + - - + + - - - + + + - + - + - - - + + + - - + + - - + + - - + + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - + - - - + + + - - + + - - + + - - + + - + - - - + + + - - + + - - + + - + - + - + - + - + - + - + - + - + - + @@ -21425,37 +21431,37 @@ - - + + - - + + - - + + - - + + - - - + + + - - + + - - - + + + - + @@ -21466,15 +21472,15 @@ - + - - + + - + @@ -21482,13 +21488,13 @@ - + - + @@ -21535,7 +21541,7 @@ - + @@ -21556,10 +21562,10 @@ - + - + @@ -21606,7 +21612,7 @@ - + @@ -21627,10 +21633,10 @@ - + - + @@ -21677,7 +21683,7 @@ - + @@ -21698,10 +21704,10 @@ - + - + @@ -21748,7 +21754,7 @@ - + @@ -21769,10 +21775,10 @@ - + - + @@ -21819,7 +21825,7 @@ - + @@ -21840,10 +21846,10 @@ - + - + @@ -21890,7 +21896,7 @@ - + @@ -21911,10 +21917,10 @@ - + - + @@ -21961,7 +21967,7 @@ - + @@ -21982,10 +21988,10 @@ - + - + @@ -22032,7 +22038,7 @@ - + @@ -22053,10 +22059,10 @@ - + - + @@ -22103,7 +22109,7 @@ - + @@ -22124,10 +22130,10 @@ - + - + @@ -22174,7 +22180,7 @@ - + @@ -22195,10 +22201,10 @@ - + - + @@ -22245,7 +22251,7 @@ - + @@ -22266,10 +22272,10 @@ - + - + @@ -22316,7 +22322,7 @@ - + @@ -22337,10 +22343,10 @@ - + - + @@ -22387,7 +22393,7 @@ - + @@ -22408,10 +22414,10 @@ - + - + @@ -22458,7 +22464,7 @@ - + @@ -22479,10 +22485,10 @@ - + - + @@ -22529,7 +22535,7 @@ - + @@ -22550,10 +22556,10 @@ - + - + @@ -22600,7 +22606,7 @@ - + @@ -22621,7 +22627,7 @@ - + @@ -22636,139 +22642,139 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - + - - + + - - + + - + - + - + @@ -22777,36 +22783,36 @@ - - - + + + - + - + - + - + - + @@ -22814,45 +22820,45 @@ - - - - - - - - - - + + + + + + + + + + - + - + - + - + - + - + - + - + - + @@ -22882,14 +22888,14 @@ - - + + - - + + @@ -22900,9 +22906,9 @@ - - - + + + @@ -22919,12 +22925,12 @@ - - + + - + - + @@ -22934,12 +22940,12 @@ - - + + - - + + @@ -22953,45 +22959,45 @@ - - - - - - - - - - + + + + + + + + + + - + - + - + - + - + - + - + - + - + @@ -23021,14 +23027,14 @@ - - + + - - + + @@ -23040,210 +23046,210 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - - - - + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - + - + - + - + - - - + + + - + - + - + - + - - - + + + @@ -23265,33 +23271,33 @@ - - - + + + - - - + + + - + - + - + - + - + - - + + @@ -23300,13 +23306,13 @@ - - + + - + @@ -23314,1160 +23320,1160 @@ - - + + - + - - + + - - + + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - - + + - - + + - + - + - - + + - + - - - + + + - - - + + + - - - + + + - - + + - - + + - - + + - - + + - - - + + + - - - - + + + + - - - + + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - - + + - - + + - + - + - - + + - + - - - + + + - - - + + + - - - + + + - - + + - - + + - - + + - - + + - - - + + + - - - - + + + + - - - + + + - + - + - + - + - + - + - + - + - + - - + + - + - - + + - - + + - - + + - - - + + + - - + + - - - + + + - - + + - + - + - + - - - + + + - - - + + + - - + + - - + + - + - + - + - + - + - + - + - + - + - + - - + + - + - - + + - - + + - - + + - - - + + + - - + + - - - + + + - - - + + + - + - - + + - - - + + + - - + + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - - + + - - + + - - + + - - - + + + - - + + - - - + + + - - - + + + - + - - + + - - - + + + - - + + - + - - + + - + - - + + - + - + - + - - + + - - + + - - + + - + - + - + - - + + - - + + - - + + - + - + - + - - + + - - - + + + - - + + - + - + - + - - + + - - - + + + - - + + - + - + - + - + - + - - + + - - + + - - + + - - + + - + - + - + - + - + - - + + - - + + - - + + - + - + - + - + - + - + - + - + - - + + - - + + - + - - + + - - + + - - + + - + - - + + - + - + - + - + - + - + - + - + - - + + - - + + - + - - + + - - + + - - + + - + - - + + - + - + - + - + - + - + @@ -24479,13 +24485,13 @@ - - + + - - + + - + @@ -24493,70 +24499,70 @@ - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -24567,16 +24573,16 @@ - + - + - + @@ -24585,74 +24591,74 @@ - - + + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + @@ -24660,296 +24666,296 @@ - + - + - - + + - + - + - + - + - - + + - - + + - - - + + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - + @@ -24957,39 +24963,39 @@ - - - + + + - + - + - + - + - - + + @@ -25000,7 +25006,7 @@ - + @@ -25010,60 +25016,60 @@ - + - + - + - + - + - - + + - + - + - + - + - + @@ -25071,139 +25077,139 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - - + + - + - + - - + + - + - + @@ -25225,7 +25231,7 @@ - + @@ -25237,766 +25243,766 @@ - + - + - + - + - + - + - + - - - - + + + + - + - + - + - + - + - + - + - + - - - + + - - + + + - - - - + + + - - + + + - - - + + + - - - - + + + - + + - + - + - + - - - - + + + - - + + + - - - - + + + - + + - - - + + - - + + + - + - + - - - + + + - + - - - + + + - + - + - + - + - + - + - + - + - - - + - + - + + + - - - - + + + - - + + + - - - + + + - - - - + + - + + + - + - + - + - - - - + + + - - + + + - - - - + + + - + + - - - + + - - + + + - + - + - - - + + + - + - + - + - + - + - + - + - + - - + + - + - - + + - + - + - + - - - - + + + - - + - + + + - - - - + + + - + + - - - - + + - - + + + - + + - + - + - - - - + + + + - + - + - + - + - + - + - + - + - - + + - + - - + + - + - + - + - - - - + + + - - + - + + + - - - - + + - - + + + - + + - - - - + + - + + + - - - - + + - - + + - + + + - - - - + + - - + + - + + + - + - + - - - - + + + + - + - - - + + + - - - - + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -26021,215 +26027,215 @@ - - - + + + - + - + - + - + - - + + - - - + + + - + - + - - - + + + - - - - - + + + + + - + - + - + - - - + + + - - - + + - + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - + - + + - - - + + + - - + - + + - + - + - + - + - - + + - - - + + + - + - + - + - + - + - + - + - + - - + + - + @@ -26237,55 +26243,55 @@ - - + + - - + + - + - + - - + + - - + + - + - + - + - - + + - + @@ -26293,55 +26299,55 @@ - - + + - - + + - + - + - - + + - - + + - + - + - + - - + + - + @@ -26349,362 +26355,362 @@ - - + + - - + + - + - + - - + + - - + + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - + - + - - - - + + + + - - - - + + + + - + - - + + - - + + - - + + - + - - + + - + - - + + - + - + - - + + - - - + + + - - - + + + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - + - + - - - - + + + + - - - - + + + + - + - - + + - - + + - - + + - + - - + + - + - - + + - + - + - - + + - - - + + + - - - + + + - - + + - + - + - + - + @@ -26713,23 +26719,23 @@ - - + + - + - + - + @@ -26738,7 +26744,7 @@ - + @@ -26747,40 +26753,40 @@ - + - + - + - + - - + + - - + + - + @@ -26788,7 +26794,7 @@ - + @@ -26796,7 +26802,7 @@ - + @@ -26804,27 +26810,27 @@ - + - - + + - + - + - + - + @@ -26833,23 +26839,23 @@ - - + + - + - + - + @@ -26858,7 +26864,7 @@ - + @@ -26867,40 +26873,40 @@ - + - + - + - + - - + + - - + + - + @@ -26908,7 +26914,7 @@ - + @@ -26916,7 +26922,7 @@ - + @@ -26924,7 +26930,7 @@ - + @@ -26942,18 +26948,18 @@ - - + + - + - + - + - + @@ -26961,145 +26967,145 @@ - + - + - + - + - + - + - + - + - + - + - - + + - + - - + + - - - + + + - + - + - + - + - - - + + + - - + + - - - - - + + + + + - + - + - - - - - + + + + + - - + + @@ -27107,47 +27113,47 @@ - - - - - + + + + + - - - - + + + + - - - + + + - + - + + - - + - + @@ -27155,29 +27161,29 @@ - - - + + + - + - + + - - + - + @@ -27185,30 +27191,30 @@ - + - + - + - + - + - + @@ -27217,15 +27223,15 @@ - - + + - + @@ -27233,17 +27239,17 @@ - - - + + + - + - + @@ -27284,128 +27290,128 @@ - + - + - + - + - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - - + + - + @@ -27424,21 +27430,21 @@ - + - + - + @@ -27446,7 +27452,7 @@ - + @@ -27455,7 +27461,7 @@ - + @@ -27464,35 +27470,35 @@ - + - - + + - - + + - - + + - + @@ -27500,28 +27506,28 @@ - + - + - - + + - + - + @@ -27545,147 +27551,147 @@ - + - - + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -27721,70 +27727,70 @@ - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - - + + - + @@ -27803,21 +27809,21 @@ - + - + - + @@ -27825,7 +27831,7 @@ - + @@ -27834,7 +27840,7 @@ - + @@ -27843,35 +27849,35 @@ - + - - + + - - + + - - + + - + @@ -27879,28 +27885,28 @@ - + - + - - + + - + - + @@ -27924,147 +27930,147 @@ - + - - + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -28101,19 +28107,19 @@ - + - + - + - + - + - + @@ -28128,330 +28134,330 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - - + + - - + + - + - + - - + + - - + + - + - + - + - + - + - - + + - + - + - + - - + + - - + + - + - + - - + + - - + + - + - + - + - + - + - + - - + + - + - - + + - + - - + + - + - - + + - + - + - + - + - + - + - + - + - - + + - + - + - - + + - + - + @@ -28668,179 +28674,179 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - + + - + - - + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + - + @@ -28848,7 +28854,7 @@ - + @@ -28856,110 +28862,110 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - - + + @@ -28967,9 +28973,9 @@ - - - + + + @@ -28977,34 +28983,34 @@ - - + + - + - + - - + + - - + + @@ -29012,14 +29018,14 @@ - + - - - + + + @@ -29027,8 +29033,8 @@ - - + + @@ -29036,23 +29042,23 @@ - - + + - + - + - - + + @@ -29060,66 +29066,66 @@ - - - + + + - + - + - + - + - + - - - + + + - + - - - - + + + + - + @@ -29127,29 +29133,29 @@ - - - + + + - + - - - - + + + + - + @@ -29157,215 +29163,215 @@ - + - + - + - + - - + + - - - + + + - + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - + @@ -29381,31 +29387,31 @@ - - + + - + - - + + - - - + + + - + - + @@ -29421,463 +29427,463 @@ - - + + - + - - + + - - + + - + - + - + - + - - + + - - + + - + - + - + - + - - + + - - + + - + - + - + - - - - + + + + - + - - + + - - + + - + - + - + - - - - + + + + - + - - + + - - + + - + - + - - + + - + - + - - + + - - + + - + - + - - + + - + - + - - + + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - - + + - + - + - + - + - + - + - + - + - - - + + + - + - + - + - - - + + + - + - - + + - + - + - + - - - - + + + + - + @@ -29888,106 +29894,106 @@ - - + + - - + + - - + + - - + + - + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + - + - + - + - - + + - - - + + + - - + + - - - + + + - - + + - - + + - + @@ -29996,7 +30002,7 @@ - + @@ -30004,13 +30010,13 @@ - + - + @@ -30018,26 +30024,26 @@ - - + + - - + + - - - + + + - + @@ -30045,83 +30051,83 @@ - - - + + + - - - - - - - - - - + + + + + + + + + + - - - - - + + + + + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - + @@ -30141,66 +30147,66 @@ - - + + - - + + - + - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - + + - - - + + + - + - - + + - + @@ -30247,7 +30253,7 @@ - + @@ -30268,7 +30274,7 @@ - + @@ -30277,40 +30283,40 @@ - + - + - - + + - - - - - - - - - - + + + + + + + + + + - + - + - + @@ -30319,60 +30325,60 @@ - + - + - + - + - - + + - - + + - - - + + + - - - + + + - - + + - - + + - + @@ -30381,7 +30387,7 @@ - + @@ -30389,13 +30395,13 @@ - + - + @@ -30403,26 +30409,26 @@ - - + + - - + + - - - + + + - + @@ -30430,9 +30436,9 @@ - - - + + + @@ -30441,24 +30447,24 @@ - + - + - + - + - + - + @@ -30467,7 +30473,7 @@ - + @@ -30475,7 +30481,7 @@ - + @@ -30484,7 +30490,7 @@ - + @@ -30493,7 +30499,7 @@ - + @@ -30501,7 +30507,7 @@ - + @@ -30509,7 +30515,7 @@ - + @@ -30517,7 +30523,7 @@ - + @@ -30525,7 +30531,7 @@ - + @@ -30533,7 +30539,7 @@ - + @@ -30543,244 +30549,244 @@ - - - - - + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - + - + - + - + - + - + - - + + - - + + - + - + @@ -30810,135 +30816,135 @@ - - + + - - + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + + + + - - - - + + + + - - - + + + - - - - - + + + + + @@ -30965,54 +30971,54 @@ - - - + + + - - + + - + - + - + - - + + - - - + + + - + - - + + - + @@ -31021,106 +31027,106 @@ - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -31128,7 +31134,7 @@ - + @@ -31136,31 +31142,31 @@ - + - + - + - - + + - + @@ -31168,7 +31174,7 @@ - + @@ -31176,30 +31182,30 @@ - + - + - + - + - + @@ -31209,145 +31215,145 @@ - - - + + + - + - + - + - + - + - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - + - + - + - + - - + + - - - + + + - + - - + + - + @@ -31355,7 +31361,7 @@ - + @@ -31363,40 +31369,40 @@ - + - + - + - + - + - + - - + + - + @@ -31404,7 +31410,7 @@ - + @@ -31412,31 +31418,31 @@ - + - + - + - - + + - + @@ -31444,7 +31450,7 @@ - + @@ -31452,34 +31458,34 @@ - + - + - + - - + + - + @@ -31487,7 +31493,7 @@ - + @@ -31495,34 +31501,34 @@ - + - + - + - - + + - + @@ -31530,7 +31536,7 @@ - + @@ -31538,31 +31544,31 @@ - + - + - + - - + + - + @@ -31570,7 +31576,7 @@ - + @@ -31578,41 +31584,41 @@ - + - + - + - + - + - + - + - + - + @@ -31670,84 +31676,84 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + @@ -31757,8 +31763,8 @@ - - + + @@ -31772,25 +31778,25 @@ - - + + - - + + - - + + - + - + - + @@ -31804,14 +31810,14 @@ - - + + - - + + - + @@ -31820,7 +31826,7 @@ - + @@ -31841,75 +31847,75 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + - + - + - + - + - - + + - + @@ -31917,7 +31923,7 @@ - + @@ -31926,22 +31932,22 @@ - + - - + + - + @@ -31951,15 +31957,15 @@ - + - + - + @@ -31967,28 +31973,28 @@ - + - + - + - + @@ -31998,50 +32004,50 @@ - + - + - + - - + + - + - + - + - + - - + + - + @@ -32049,7 +32055,7 @@ - + @@ -32058,22 +32064,22 @@ - + - - + + - + @@ -32083,15 +32089,15 @@ - + - + - + @@ -32099,28 +32105,28 @@ - + - + - + - + @@ -32130,23 +32136,23 @@ - + - + - + - - + + @@ -32175,1276 +32181,1276 @@ - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - - + + - - + + - + - - + + - - + + - - + + - - + + - + - + - - + + - - + + - + - + - + - - + + - - + + - + - - + + - - + + - + - + - + - + - + - - - - + - - + + + + + - - - - + - - + + + + + - - - - + - - + + + + + - - - - + - - + + + + + - - - - + - - + + + + + - - - - + - - + + + + + - - - - + - - + + + + + - - - - + - - + + + + + - - - - + - - + + + + + - - - - + - - + + + + + - - - - + - - + + + + + - + - + - + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - + - + - + - - - - + - - + + + + + - - - - + - - + + + + + - - - - + - - + + + + + - - - - + - - + + + + + - - - - + - - + + + + + - - - - + - - + + + + + - - - - + - - + + + + + - - - - + + - - + + + + - - - - + - - + + + + + - - - - + - - + + + + + - - - - + - - + + + + + - + - + - + - + - + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - + - + - + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - + + + + + + + - + - + - + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - + - + - + - + - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + - + - + - + - + - + - + - + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - + - + - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + - + @@ -33454,10 +33460,10 @@ - - + + - + @@ -33605,51 +33611,51 @@ - + - - + + - + - + - + - + - - + + - + @@ -33797,67 +33803,67 @@ - + - - + + - + - + - + - + - - + + - + - + - + - + - + @@ -33867,30 +33873,30 @@ - - + + - + - - + + - - + + @@ -33898,58 +33904,58 @@ - + - + - + - + - + - + - - + + - - + + @@ -33957,74 +33963,74 @@ - + - + - + - + - + - + - + - - + + - + - + - + - + - + @@ -34034,30 +34040,30 @@ - - + + - + - - + + - - + + @@ -34065,58 +34071,58 @@ - + - + - + - + - + - + - - + + - - + + @@ -34124,667 +34130,667 @@ - + - + - + - + - + - + - + - - - + + + - + - + - + - + - + - - + + - - - - - + + + + + - + - - - - - + + + + + - + - - - - - + + + + + - + - - - - - + + + + + - + - - - - - + + + + + - + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + - + - + - + - + - - + + - - - - - + + + + + - + - - - - - + + + + + - + - - - - - + + + + + - + - - - - - + + + + + - + - - - - - + + + + + - + - - - + + + - + - + - + - + - + - - + + - - - - - + + + + + - + - - - - - + + + + + - + - - - - - + + + + + - + - - - - - + + + + + - + - - - - - + + + + + - + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + - + - + - + - + - - + + - - - - - + + + + + - + - - - - - + + + + + - + - - - - - + + + + + - + - - - - - + + + + + - + - - - - - + + + + + - + - - + + - + - + - + - + - + - + + + - - - + - + + + - - - + - + - + - + - + + + - - - + - - + + - + - + - + - + - + - + + + - - - + - + + + - - - + - + - + - + - + + + - - - + - + - + @@ -34794,14 +34800,14 @@ - + - + @@ -34809,7 +34815,7 @@ - + @@ -34819,12 +34825,12 @@ - + - - + + @@ -34862,69 +34868,69 @@ - + - + - + - + - - + + - + - + - + - + - + - - + + @@ -34962,69 +34968,69 @@ - + - + - + - + - - + + - + - + - + - + - + - - + + @@ -35062,69 +35068,69 @@ - + - + - + - + - - + + - + - + - + - + - + - - + + @@ -35162,100 +35168,100 @@ - + - + - + - + - - + + - + - + - + - + - + - - - + + + - + - + - + - + - + - - + + - - + + @@ -35263,92 +35269,92 @@ - - + + - + - - + + - - + + - + - + - - + + - - + + - - + + - - + + - - + + - + - - + + - - + + @@ -35356,113 +35362,113 @@ - + - + - + - - + + - - + + - + - - + + - - + + - - + + - + - - + + - - + + - - - + + + - + - + - + - + - + - - + + - - + + @@ -35470,92 +35476,92 @@ - - + + - + - - + + - - + + - + - + - - + + - - + + - - + + - - + + - - + + - + - - + + - - + + @@ -35563,113 +35569,113 @@ - + - + - + - - + + - - + + - + - - + + - - + + - - + + - + - - + + - - + + - - - + + + - + - + - + - + - + - - + + - - + + @@ -35677,92 +35683,92 @@ - - + + - + - - + + - - + + - + - + - - + + - - + + - - + + - - + + - - + + - + - - + + - - + + @@ -35770,113 +35776,113 @@ - + - + - + - - + + - - + + - + - - + + - - + + - - + + - + - - + + - - + + - - - + + + - + - + - + - + - + - - + + - - + + @@ -35884,92 +35890,92 @@ - - + + - + - - + + - - + + - + - + - - + + - - + + - - + + - - + + - - + + - + - - + + - - + + @@ -35977,574 +35983,574 @@ - + - + - + - - + + - - + + - + - - + + - - + + - - + + - + - - + + - - + + - - + + - + - + - + - + - + - + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - + - + - + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - + + - + - + - + - + - + - + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - + - + - + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - + + - + - + - + - + - + - + - - + + - - + + - + - - + + - - - - + + + + - - - - - - + + + + + + - - - - - - + + + + + + - + - + - + - - + + - - + + - + - - + + - - - - + + + + - - + + - + - + - + - + - + - + - - + + - - + + - + - - + + - - - - + + + + - + + + - - - - + + - + + + - - - - + + - + - + - + - - + + - - + + - + - - + + - - - - + + + + - - - + + + - + - + - + - + - - + + @@ -36552,15 +36558,15 @@ - + - - + + @@ -36568,85 +36574,85 @@ - + - + - + - + - - + + - - + + - - + + - - + + - + - + - + - + - + - + - + - - + + @@ -36655,52 +36661,52 @@ - - + + - - - + + + - + - + - + - - + + - + - + - + - - + + @@ -36708,15 +36714,15 @@ - + - - + + @@ -36724,71 +36730,71 @@ - + - + - + - + - - + + - - + + - - + + - + - + - + - + - + - - + + @@ -36797,8 +36803,8 @@ - - + + @@ -36813,8 +36819,8 @@ - - + + @@ -36843,531 +36849,531 @@ - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - - + + - - + + - + - - + + - - + + - - + + - - + + - + - + - - + + - - + + - + - + - + - - + + - - + + - + - - + + - - + + - + - + - + - + - + - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + - + - + - + - + - + - + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - + - + - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + + + - - - + - + - - + + @@ -37377,9 +37383,9 @@ - - - + + + @@ -37421,50 +37427,50 @@ - - - - - - - - + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + @@ -37488,13 +37494,13 @@ - + - + @@ -37508,125 +37514,125 @@ - + - + - + - + - + - - + + - - + + - - + + - + - + - + - - + + - - + + - + - + - + - + - + - + - + - - + + - + - + @@ -37634,7 +37640,7 @@ - + @@ -37642,17 +37648,17 @@ - + - - + + - + - + @@ -37660,9 +37666,9 @@ - + - + @@ -37670,18 +37676,18 @@ - + - + - + - + - + @@ -37689,55 +37695,55 @@ - + - + - + - - + + - + - + - - - + + + - + - + @@ -37745,25 +37751,25 @@ - + - + - + - + @@ -37771,31 +37777,31 @@ - + - - + + - + - + - + - - + + @@ -37807,210 +37813,210 @@ - + - + - + - + - + - + - - + + - + - + - + - + - + - + - - + + - - + + - + - + - + - + - - + + - + - + - - + + - + - - + + - + - + + - - - + + - - + + - - + + - + - + - + - + - - + + - + - + - - + + - + - - + + - + - + + - - - + + - - + + @@ -38018,76 +38024,76 @@ - - - + + - - - - - + + + + + - - - - - - - - - - - + + + + + + + + + + + + - - + + - - + + - + - + - + - + - + - + - + - + - + - + @@ -38100,236 +38106,236 @@ - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - + + - - - + + + - - + + + + + + - - - - - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -38338,19 +38344,19 @@ - + - + - + - + @@ -38362,22 +38368,22 @@ - + - + - + - + - + - + @@ -38386,16 +38392,16 @@ - + - + - + - + @@ -38410,115 +38416,115 @@ - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - + - + - + - + - + @@ -38526,7 +38532,7 @@ - + @@ -38539,260 +38545,260 @@ - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - - + + - + - - + + - + - - + + - + - - - + + + - - - + + + - - + + - - + + - - + + - + + - - - + + - + - + - + - + - + - + - - + + - + - - + + - + - - + + - + - - - + + + - - - + + + - - + + - - + + - - + + - + + - @@ -38800,65 +38806,65 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + @@ -38867,17 +38873,17 @@ - + - + - + @@ -38886,7 +38892,7 @@ - + @@ -38895,46 +38901,46 @@ - + - + - + - + - - + + - - + + - - + + - + @@ -38942,7 +38948,7 @@ - + @@ -38950,7 +38956,7 @@ - + @@ -38958,27 +38964,27 @@ - + - + - + - + - + - + @@ -38987,17 +38993,17 @@ - + - + - + @@ -39006,7 +39012,7 @@ - + @@ -39015,46 +39021,46 @@ - + - + - + - + - - + + - - + + - - + + - + @@ -39062,7 +39068,7 @@ - + @@ -39070,7 +39076,7 @@ - + @@ -39078,27 +39084,27 @@ - + - - + + - + - + - + - + @@ -39107,17 +39113,17 @@ - + - + - + @@ -39126,7 +39132,7 @@ - + @@ -39135,46 +39141,46 @@ - + - + - + - + - - + + - - + + - - + + - + @@ -39182,7 +39188,7 @@ - + @@ -39190,7 +39196,7 @@ - + @@ -39198,27 +39204,27 @@ - + - - + + - + - + - + - + @@ -39227,17 +39233,17 @@ - + - + - + @@ -39246,7 +39252,7 @@ - + @@ -39255,46 +39261,46 @@ - + - + - + - + - - + + - - + + - - + + - + @@ -39302,7 +39308,7 @@ - + @@ -39310,7 +39316,7 @@ - + @@ -39318,7 +39324,7 @@ - + @@ -39326,382 +39332,382 @@ - - - + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + @@ -39710,65 +39716,65 @@ - - - - - - - - - - + + + + + + + + + + - - - - - + + + + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -39787,14 +39793,14 @@ - + - + @@ -39802,7 +39808,7 @@ - + @@ -39811,25 +39817,25 @@ - - + + - + - - + + - + - + @@ -39837,15 +39843,15 @@ - - + + - + @@ -39853,47 +39859,47 @@ - - + + - + - + - + - + - + - + @@ -39901,14 +39907,14 @@ - + - + @@ -39917,7 +39923,7 @@ - + @@ -39925,15 +39931,15 @@ - - + + - + @@ -39941,25 +39947,25 @@ - - + + - + - - + + - + - + @@ -39968,28 +39974,28 @@ - + - + - + - + @@ -39997,50 +40003,50 @@ - - + + - + - - + + - + - - + + - - - + + + - - - + + + - + - + - + @@ -40049,7 +40055,7 @@ - + @@ -40058,7 +40064,7 @@ - + @@ -40068,7 +40074,7 @@ - + @@ -40078,7 +40084,7 @@ - + @@ -40087,7 +40093,7 @@ - + @@ -40096,7 +40102,7 @@ - + @@ -40105,7 +40111,7 @@ - + @@ -40114,7 +40120,7 @@ - + @@ -40124,7 +40130,7 @@ - + @@ -40134,7 +40140,7 @@ - + @@ -40144,7 +40150,7 @@ - + @@ -40154,19 +40160,19 @@ - - + + - + - + @@ -40174,7 +40180,7 @@ - + @@ -40182,7 +40188,7 @@ - + @@ -40190,21 +40196,21 @@ - + - - + + - + - + @@ -40212,7 +40218,7 @@ - + @@ -40223,7 +40229,7 @@ - + @@ -40231,7 +40237,7 @@ - + @@ -40239,7 +40245,7 @@ - + @@ -40250,7 +40256,7 @@ - + @@ -40261,32 +40267,32 @@ - - + + - + - + - + - + @@ -40294,7 +40300,7 @@ - + @@ -40302,7 +40308,7 @@ - + @@ -40310,21 +40316,21 @@ - + - - + + - + - + @@ -40332,7 +40338,7 @@ - + @@ -40343,7 +40349,7 @@ - + @@ -40351,7 +40357,7 @@ - + @@ -40359,7 +40365,7 @@ - + @@ -40370,7 +40376,7 @@ - + @@ -40381,32 +40387,32 @@ - - + + - + - + - + - + @@ -40414,7 +40420,7 @@ - + @@ -40422,7 +40428,7 @@ - + @@ -40430,7 +40436,7 @@ - + @@ -40438,7 +40444,7 @@ - + @@ -40447,56 +40453,56 @@ - + - + - - + + - + - + - + - + - + - + - + @@ -40505,7 +40511,7 @@ - + @@ -40513,7 +40519,7 @@ - + @@ -40522,7 +40528,7 @@ - + @@ -40531,7 +40537,7 @@ - + @@ -40539,7 +40545,7 @@ - + @@ -40547,7 +40553,7 @@ - + @@ -40555,7 +40561,7 @@ - + @@ -40563,7 +40569,7 @@ - + @@ -40571,7 +40577,7 @@ - + @@ -40581,170 +40587,170 @@ - - - - - - - + + + + + + + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -40752,169 +40758,169 @@ - + - + - + - + - + - - + + - + - - + + - + - + - + - - + + - - + + - + - + - + - + - - + + - - - + + + - + - + - + - + - + - - + + - - + + - + - + - + - + - + - + - - + + - - + + - + - + - + @@ -40926,13 +40932,13 @@ - + - + @@ -40940,161 +40946,161 @@ - + - + - + - + - - + + - - - + + + - + - + - - + + - + - - - + + + - + - + - + - + - + - + - - + + - - + + - - + + - + - + - + - - + + - - + + - - + + - + - + - + - + - + - + - + - + - + @@ -41102,106 +41108,106 @@ - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - + - + - + - + - + - + - + - + - + @@ -41209,145 +41215,145 @@ - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - + - + - + - + - + - + - - + + - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - + @@ -41356,144 +41362,144 @@ - + - - + + - - - + + + - - + + - - + + - + - - + + - - + + - + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -41501,7 +41507,7 @@ - + @@ -41509,31 +41515,31 @@ - + - + - + - - + + - + @@ -41541,7 +41547,7 @@ - + @@ -41549,30 +41555,30 @@ - + - + - + - + - + @@ -41582,11 +41588,11 @@ - - + + - + @@ -41594,7 +41600,7 @@ - + @@ -41602,40 +41608,40 @@ - + - + - + - + - + - + - - + + - + @@ -41643,7 +41649,7 @@ - + @@ -41651,31 +41657,31 @@ - + - + - + - - + + - + @@ -41683,7 +41689,7 @@ - + @@ -41691,34 +41697,34 @@ - + - + - + - - + + - + @@ -41726,7 +41732,7 @@ - + @@ -41734,34 +41740,34 @@ - + - + - + - - + + - + @@ -41769,7 +41775,7 @@ - + @@ -41777,31 +41783,31 @@ - + - + - + - - + + - + @@ -41809,7 +41815,7 @@ - + @@ -41817,41 +41823,41 @@ - + - + - + - + - + - + - + - + - + @@ -41909,84 +41915,84 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + @@ -41998,81 +42004,81 @@ - - + + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - + + + + + + + + + @@ -42080,8 +42086,8 @@ - - + + @@ -42092,7 +42098,7 @@ - + @@ -42100,16 +42106,16 @@ - - - - - - - - + + + + + + + + - + @@ -42156,7 +42162,7 @@ - + @@ -42177,7 +42183,7 @@ - + @@ -42187,83 +42193,83 @@ - + - - + + - + - - + + - + - + - + - + - + - + - - + + - - + + - + - + @@ -42271,7 +42277,7 @@ - + @@ -42279,7 +42285,7 @@ - + @@ -42289,7 +42295,7 @@ - + @@ -42297,21 +42303,21 @@ - + - - + + - + - + @@ -42342,20 +42348,20 @@ - - + + - + - + @@ -42373,11 +42379,11 @@ - - - + + + - + @@ -42424,7 +42430,7 @@ - + @@ -42445,7 +42451,7 @@ - + @@ -42458,7 +42464,7 @@ - + @@ -42505,7 +42511,7 @@ - + @@ -42526,7 +42532,7 @@ - + @@ -42539,7 +42545,7 @@ - + @@ -42586,7 +42592,7 @@ - + @@ -42607,7 +42613,7 @@ - + @@ -42622,63 +42628,63 @@ - - - + + + - - - + + + - - - + + + - + - + - - + + - + - - + + - + - - + + @@ -42701,47 +42707,47 @@ - - - - + + + + - + - + - + - + - + - + - + @@ -42749,7 +42755,7 @@ - + @@ -42757,21 +42763,21 @@ - + - + - + @@ -42781,36 +42787,36 @@ - + - + - + - + - - - - - - + + + + + + - + - + @@ -42820,26 +42826,26 @@ - + - - + + - - - - + + + + - + @@ -42847,7 +42853,7 @@ - +