From ba77adeff8c7f39a7026d92f65e562b1d6920eea Mon Sep 17 00:00:00 2001 From: caro-demi Date: Tue, 25 Aug 2026 12:06:01 +0200 Subject: [PATCH 1/7] line 367: Not clear what "Material Synthesis" example is. Workflow, data model, etc. is missing. --- .../inventory-tutorial-users.html | 29 +++++++++---------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/4-inventory-users/inventory-tutorial-users.html b/4-inventory-users/inventory-tutorial-users.html index 8a3e725..65e3f73 100644 --- a/4-inventory-users/inventory-tutorial-users.html +++ b/4-inventory-users/inventory-tutorial-users.html @@ -311,7 +311,7 @@

What you will learn

@@ -320,15 +320,13 @@

What you will learn

Before you begin

- This tutorial is designed for openBIS version 20.10.12 and assumes that - the inventory structure has already been prepared by a Data Store - Steward. You must have the User role for the relevant - FB Inventory projects. + This tutorial requires no prior experience with openBIS and is designed for openBIS version 20.10.12. Before you begin, make sure that all inventory entities such as projects and collections have already been prepared by a Data Store + Stewards of your division.

@@ -337,20 +335,19 @@

Before you begin

Key concepts

Inventory

- The Inventory sections for the Data Store are FB Inventory and BAM Inventory. By default, objects in the FB Inventory are available to the relevant division. Access can also be granted to collaborators from other divisions at the space or project level. Objects in the BAM Inventory are visible to BAM members with access to the Data Store. + The Inventory sections of the Data Store are FB Inventory and BAM Inventory. By default, objects in the FB Inventory are available to the relevant division. Access can also be granted to collaborators from other divisions at the space or project level. Objects in the BAM Inventory are visible and accessible for all BAM members with access to the Data Store.

- Each division has four FB Inventory spaces: Equipment, Materials, Methods, and Publications. These spaces are named using the division identifier, for example, X.1 Equipmentand X.1 Materials. The BAM Inventory contains institution-wide spaces such as BAM Equipment. Within these spaces, each division has a predefined project, such as X.1 Equipment Open. + Each division has four FB Inventory spaces: Equipment, Materials, Methods, and Publications. These spaces are named using the division number, for example, X.1 Equipment and X.1 Materials, etc. The BAM Inventory contains spaces such as BAM Equipment,BAM Materials, etc. Within these spaces, each division has a predefined project, such as X.1 Equipment Open, X.1 Materials, etc. The Data Store Stewards of each division have prepared the inventory entities such as projects and collections to support the registration of objects in this tutorial.

- Inventory spaces organize tangible and intangible resources used or generated during research—for example, instruments, chemicals, samples, software, and standard operating procedures (SOPs). Note that within the Inventory Spaces, you find a Space called Publications. The use this Space is optional and does not replace the purpose of the BAM database Publica to store publications metadata. + Inventory spaces organize tangible and intangible items and resources used or generated during the research, for example, instruments, chemicals, samples, software, and standard operating procedures (SOPs). Note that within the Inventory, you find a space and project called Publications.The use of it is optional and does not replace the purpose of the BAM database Publica to store publications and their metadata.

What should be registered? - Not every inventory item used by a division needs to be registered in the Data Store. Register items whose metadata is needed to understand, trace, or reproduce the resulting research data. + Not every item or resource used needs to be registered in the Inventory. Register first only items whose metadata is needed to understand, trace, or reproduce the resulting research data.

- In standardization processes, for example, the calibration date (metadata) of an instrument is required for certification and evaluation. Therefore, instruments used in these workflows need to be registered and linked to experimental steps in the Data Store. - These connections are established through user-defined openBIS parent-child relationships. + pAlso it is recommended to register instruments metadata such as calibration date, etc. especially if they are used in standardization processes that require certification and evaluation. Such instruments need to be registered and linked to experimental steps. These connections are established through user-defined openBIS parent-child relationships.

@@ -360,14 +357,14 @@

Tutorial workflow

  1. Review the objects registered by Data Store Stewards in the BAM and FB Inventories.
  2. Register one Sample in the SAMPLES_SYNTHESIS project and enter your username as the co-responsible person.
  3. -
  4. Modify the supplied Excel file and batch-register additional Samples in the SAMPLES_SYNTHESIS project.
  5. +
  6. Modify the provided Excel file and batch-register additional Samples in the SAMPLES_SYNTHESIS project.
-

Step 1: Review the prepared inventory structure

+

Step 1: Review registered objects in the BAM and FB Inventories

- Before registering Samples, review the inventory structure prepared by Data Store Stewards for the “Material Synthesis” example. In this tutorial, X.1 represents your division number. Replace it with the + Before registering Samples, review the inventory entities prepared by Data Store Stewards for the “Material Synthesis” example. In this tutorial, X.1 represents your division number. Replace it with the number of your division. If a required project or collection is missing, contact your Data Store Steward.

From 1097b6f4b33a95418cedb8056cbb0f4ad9655754 Mon Sep 17 00:00:00 2001 From: caro-demi Date: Tue, 25 Aug 2026 14:37:33 +0200 Subject: [PATCH 2/7] line 599: According to the "Material synthesis" sample registered in two different Collections. This tutorial does not follow the data model for "Material synthesis" example. object browser needs to be used to register samples in different collections or 2 different excel files. Not clear what approach is meant here. --- .../inventory-tutorial-users.html | 139 ++++++++---------- 1 file changed, 62 insertions(+), 77 deletions(-) diff --git a/4-inventory-users/inventory-tutorial-users.html b/4-inventory-users/inventory-tutorial-users.html index 65e3f73..2c0d72e 100644 --- a/4-inventory-users/inventory-tutorial-users.html +++ b/4-inventory-users/inventory-tutorial-users.html @@ -364,8 +364,8 @@

Tutorial workflow

Step 1: Review registered objects in the BAM and FB Inventories

- Before registering Samples, review the inventory entities prepared by Data Store Stewards for the “Material Synthesis” example. In this tutorial, X.1 represents your division number. Replace it with the - number of your division. If a required project or collection is missing, contact your Data Store Steward. + Before registering Samples, review the inventory entities registered by Data Store Stewards for the “Material Synthesis” example. In this tutorial, X.1 represents your division number. Replace it with the + number of your division. If a required project or collection is missing, contact your Data Store Stewards.

@@ -373,8 +373,8 @@

Step 1: Review registered objects in the BAM and FB Inventories

- - + + @@ -383,7 +383,7 @@

Step 1: Review registered objects in the BAM and FB Inventories

- + @@ -408,98 +408,90 @@

Step 1: Review registered objects in the BAM and FB Inventories

Inventory SpaceProjectCollectionProject codeCollection name Object type Object name
BAM Inventory BAM EquipmentX.1 Equipment OpenX.1_EQUIPMENT_OPEN Instruments Instrument

Synthesis

Macrostructure

Microstructure

- Instructions: + Instructions on how to display registered objects
    -
  1. Select the upper Inventory tab.
  2. -
  3. In the left-hand navigation menu, open BAM Inventory and navigate to BAM Equipment → X.1 Equipment Open → Instruments.
  4. -
  5. Review the name of the registered Instrument objects.
  6. -
  7. Scroll down to FB Inventory and navigate to X.1 Materials → CHEMICALS_SYNTHESIS → Chemicals.
  8. -
  9. Review the names of the registered Chemical objects.
  10. -
  11. Navigate to X.1 Materials → SAMPLES_SYNTHESIS → Samples.
  12. -
  13. Review that the Samples collection is empty and the blue + Sample button is available in the central panel.
  14. +
  15. Select the upper INVENTORY tab.
  16. +
  17. In the left-hand navigation menu, open Inventory drop-down and navigate to BAM Equipment → X.1 Equipment Open → Instruments.
  18. +
  19. Collection: Instruments form with all registered instruments objects will be displayed.
  20. +
  21. Review the name of the registered instrument objects.
  22. +
  23. Scroll down to and navigate to X.1 Materials → Chemicals Synthesis → Chemicals.
  24. +
  25. Collection: Chemicals form with all registered chemical objects will be displayed.
  26. +
  27. Review the names of the registered chemical objects.
  28. +
  29. Navigate to X.1 Materials → Samples Synthesis → Samples.
  30. +
  31. Collection: Samples form will be displayed.
  32. +
  33. The Samples collection is empty and the blue + Sample button (with predefined object type) is available next More drop-down menu.
-
- Access note: All BAM members can view objects in BAM Inventory spaces. Members of a division can edit content in their - corresponding division-specific BAM Inventory project, such as X.1 Equipment Open. In the FB Inventory, division members and collaborators can edit content for which they have been assigned - the User role, such as CHEMICALS_SYNTHESIS and SAMPLES_SYNTHESIS. If you encounter any access restrictions, please contact the Data Store Steward assigned for your divsion. -
-
Inventory navigation showing the BAM Inventory and FB Inventory sections
Figure 1: - The Data Store contains two Inventory sections: BAM Inventory and the FB Inventory. Select the upper Inventory tab, and use the - drop-down menus in the left-hand navigation panel to browse their contents. + The Data Store contains two Inventory sections: BAM Inventory and the FB Inventory. Select the upper INVENTORY tab, and use the + Inventory drop-down menus in the left main menu to browse their contents.
- Overview Project in BAM Inventory + Overview projects in BAM Inventory
- Figure 2: The BAM Equipment space contains a predefined project for each division, such as X.1 Equipment Open. Use the corresponding division project to register large devices and instruments - shared by multiple divisions. + Figure 2: The BAM Equipment space contains a predefined project for each division, such as X.1 Equipment Open. Use the corresponding division project to register large devices and instruments shared by multiple divisions.
- Overview Collections in BAM and FB Inventory + Overview collections in BAM Inventory
- Figure 3: The inventory structure is prepared by the Data Store Stewards. Division members will register Samples in X.1 Materials → SAMPLES_SYNTHESIS → Samples. + Figure 3: The predefined structure of BAM and FB Inventories. Division members will register Samples in X.1 Materials → Samples Synthesis → Samples.
- + +
+ Access note: Objects registered in BAM Inventory are visible and accessible to all BAM members with access to the Data Store. Objects registered in FB Inventory are visible to division members and collaborators with access to the corresponding space or project. Editing collections,objects, and their metadata accessible only if you have been assigned the User role in the corresponding space or project. As a division member, you have the User role in the BAM and FB inventory projects. Note that creation of new projects in the FB inventory can be done only by the Data Store Stewards, by default. If you encounter any access restrictions, please contact the Data Store Stewards assigned for your division. +
Back to top
-

Step 2: Register one Sample

+

Step 2: Register one object (object type: Sample)

- Register one Sample in the SAMPLES - collection. Enter your Data Store username in the + Register one Sample in the Samples + collection. Enter your BAM username in the Co-responsible person property so that other users can - distinguish who registers and shares responsibility for the Sample. + identify who registers and shares responsibility for the Sample.

- Instructions: + Instructions on how to register an object (object type: Sample):
    -
  1. Navigate to X.1 Materials → SAMPLES_SYNTHESIS → Samples.
  2. -
  3. Click the + Sample button. Because the collection has the predefined Sample object type, this button opens the corresponding metadata form.
  4. -
  5. Enter a Sample name that follows the naming convention agreed within your division. For this tutorial, enter the Sample name: Synthesized Material
  6. -
  7. Complete Sample properties (see table below). All mandatory (*) properties must contain a value.
  8. -
  9. In the object form, in the Co-responsible person field, start typing your username (as displayed in the upper-right corner next to the power button) and select the matching entry. - openBIS then displays the complete person-object path /BAM_GLOBAL/BAM_DATA/USERNAME.
  10. +
  11. Navigate to X.1 Materials → Samples Synthesis → Samples.
  12. +
  13. Click the + Sample button.
  14. Object form with object type specific properties (metadata fields) will open.
  15. +
  16. Enter the name: Synthesized Material
  17. +
  18. Following the table below, complete mandatory (*) properties. Replace X.1 with your division number.
  19. +
  20. In the object form, in the Co-responsible person field, start typing your username and select the matching entry. After selection, openBIS will displays the complete object path /BAM_GLOBAL/BAM_DATA/USERNAME.
  21. Review the information and click Save.
  22. -
  23. Click on the Samples collection in the left-hand menu and confirm the sample Synthesized Material is displayed.
  24. +
  25. Reload the browser page to confirm that the Synthesized Material sample is successfully registered.
+

+

Sample naming convention: - Use a documented naming convention that allows every Sample to be identified - unambiguously within your division and across collaborating divisions. In - this tutorial, a simplified format is used SAMPLE_NAME. Properties such as Sample number, Alternative name, and - Co-responsible person can provide additional identifying - information. Apply the selected formats consistently. Do not rely on the - co-responsible person alone as the unique identifier for a Sample. + It is recommended to use the naming convention agreed upon within your division. Use a documented naming convention that allows every object of type Sample or other to be identified + unambiguously within your and across collaborating divisions. Apply the selected formats consistently. Do not rely on the + registrator, co-responsible person property alone as to a way to identify the sample. Properties such as Sample number, Alternative name, Description, etc. can provide additional information.
-

- Values for registering the Sample. Enter the values shown in the following table. Replace X.1 with your division number - and username with your Data Store username. This is displayed in the upper-right corner next to the power button. -

- - + @@ -510,12 +502,12 @@

Step 2: Register one Sample

- + - +
Inventory Space ProjectCollectionCollection name Object type Object name BAM organizational entity(*)
FB Inventory X.1 MaterialsSAMPLES_SYNTHESISSamples Synthesis Samples Sample Synthesized Material X.1your username your username
@@ -523,30 +515,30 @@

Step 2: Register one Sample

Steps to register sample in FB Inventory
- Figure 4: Navigate to X.1 Materials → SAMPLES_SYNTHESIS → Samples and click on the - + Sample button. This button is only displayed because the collection has a predefined Object Type. + Figure 4: Navigate to X.1 Materials → Samples Synthesis → Samples and click on the + + Sample button.
Sample metadata form and values to enter
- Figure 5: Fill out the Sample form as shown. All mandatory (*) - properties must contain a value to allow saving the Sample. + Figure 5: Fill out the New Sample object form as shown. All mandatory (*) + properties must contain a value to be able to save the object form.
Overview registered sample in FB Inventory / Collection
- Figure 6: The Sample registered in FB Inventory is displayed once you click the + Figure 6: The registered Sample is displayed once you click the Samples collection. Note that the columns correspond to the sample properties and your username should - be listed as Co-responsible person. + be listed in the Co-responsible person field.

- Congratulations, You have registered one sample in your FB Inventory. + Congratulations, you have successfully registered one sample in the FB Inventory.

Back to top @@ -555,10 +547,10 @@

Step 2: Register one Sample

Step 3: Batch-register Samples

- Use the supplied Excel file to register multiple Sample objects in one - operation. Before uploading it, for each sample you want to register, enter your username path in the - Co-responsible person column and replace X.1 with your division number. - Batch registration creates new objects; it does not update objects that already exist. + Use the provided Excel file to register multiple samples in one + operation. Before start, open Excel file and for each sample you want to register, enter your username in the + Co-responsible person column in following format: /BAM_GLOBAL/BAM_DATA/USERNAME. Replace all occurrences of X.1 with your division number. + Batch registration creates new objects; it does not update already existing onces.

@@ -568,16 +560,13 @@

Step 3: Batch-register Samples

- Instructions to prepare the Excel file for batch registration: + Instructions on how to prepare the Excel file for batch registration:
    -
  1. Download samples.xlsx using the button above.
  2. -
  3. Open the file and review the Sample objects prepared for the “Material Synthesis” example.
  4. -
  5. In the Excel file, replace X.1 with your division number in the columns Experiment, - Project, Space and BAM Organizational Entity
  6. -
  7. In the Co-responsible person column, enter the complete person-object path using the format - /BAM_GLOBAL/BAM_DATA/USERNAME. Replace - USERNAME with your username displayed in the upper-right corner.
  8. -
  9. Check Sample names.
  10. +
  11. Download samples.xlsx.
  12. +
  13. Open the file and review the objects.
  14. +
  15. In the Excel file, replace all occurrences of X.1 with your division number.
  16. +
  17. In the Co-responsible person column, enter your username in the following format: + /BAM_GLOBAL/BAM_DATA/USERNAME.
  18. Do not change the column headings, object type information, or worksheet structure.
  19. Save the modified Excel file under a clear filename, for example samples_FB_material_synthesis.xlsx.
@@ -602,10 +591,6 @@

Step 3: Batch-register Samples

-

- When completing an Excel file, do not rename the columns. openBIS requires - the original column headings for batch registration and batch update. -

From 383075c2f09edf015fd117492d09e42dc7c1663b Mon Sep 17 00:00:00 2001 From: caro-demi Date: Tue, 25 Aug 2026 15:28:01 +0200 Subject: [PATCH 3/7] images/step3-batch-registration1.png an arrow directs to batch update and not to batch registration. No image in batch update. --- .../inventory-tutorial-users.html | 70 +++++++++---------- 1 file changed, 32 insertions(+), 38 deletions(-) diff --git a/4-inventory-users/inventory-tutorial-users.html b/4-inventory-users/inventory-tutorial-users.html index 2c0d72e..23c24c3 100644 --- a/4-inventory-users/inventory-tutorial-users.html +++ b/4-inventory-users/inventory-tutorial-users.html @@ -34,6 +34,8 @@ background: #fff; font-family: Arial, sans-serif; line-height: 1.65; + + counter-reset: figure; } header { @@ -166,6 +168,8 @@ figure { margin: 1rem 0 1.5rem; + counter-increment: figure; + } img { @@ -175,7 +179,6 @@ border-radius: 6px; background: #fff; } - .screenshot { max-width: 420px; width: 100%; @@ -188,6 +191,11 @@ margin-top: 0.45rem; } + figcaption::before { + content: "Figure " counter(figure) ": "; + font-weight: bold; + } + .download-button { display: inline-block; padding: 12px 20px; @@ -426,24 +434,20 @@

Step 1: Review registered objects in the BAM and FB Inventories

Inventory navigation showing the BAM Inventory and FB Inventory sections -
- Figure 1: - The Data Store contains two Inventory sections: BAM Inventory and the FB Inventory. Select the upper INVENTORY tab, and use the +
The Data Store contains two Inventory sections: BAM Inventory and the FB Inventory. Select the upper INVENTORY tab, and use the Inventory drop-down menus in the left main menu to browse their contents.
Overview projects in BAM Inventory -
- Figure 2: The BAM Equipment space contains a predefined project for each division, such as X.1 Equipment Open. Use the corresponding division project to register large devices and instruments shared by multiple divisions. +
The BAM Equipment space contains a predefined project for each division, such as X.1 Equipment Open. Use the corresponding division project to register large devices and instruments shared by multiple divisions.
Overview collections in BAM Inventory -
- Figure 3: The predefined structure of BAM and FB Inventories. Division members will register Samples in X.1 Materials → Samples Synthesis → Samples. +
The predefined structure of BAM and FB Inventories. Division members will register Samples in X.1 Materials → Samples Synthesis → Samples.
@@ -514,24 +518,21 @@

Step 2: Register one object (object type: Sample)

Steps to register sample in FB Inventory -
- Figure 4: Navigate to X.1 Materials → Samples Synthesis → Samples and click on the - + Sample button. +
Navigate to X.1 Materials → Samples Synthesis → Samples and click on the + Sample button.
Sample metadata form and values to enter
- Figure 5: Fill out the New Sample object form as shown. All mandatory (*) + Fill out the New Sample object form as shown. All mandatory (*) properties must contain a value to be able to save the object form.
Overview registered sample in FB Inventory / Collection -
- Figure 6: The registered Sample is displayed once you click the +
The registered Sample is displayed once you click the Samples collection. Note that the columns correspond to the sample properties and your username should be listed in the Co-responsible person field.
@@ -593,7 +594,7 @@

Step 3: Batch-register Samples

-
+
- Mandatory properties (*): - Successful batch registration requires values for all mandatory properties. + Mandatory properties (*): +

Successful batch registration requires values to be filled in all mandatory properties fields. However, the Excel template generated by openBIS does not indicate which properties are mandatory (*). Before completing the template, follow the guide on - how to identify mandatory properties for an object type - . In the Excel file provided for this tutorial, values for the mandatory properties have already been entered. Review these values and - replace any tutorial placeholders, such as the division number or username, before uploading the file. + how to identify mandatory properties of an object type + .

+
Samples Excel template with division and Co-responsible-person columns highlighted -
- Figure 9: Click Choose file—shown as - Datei auswählen when the browser language is German—and - select the completed samples_FB_material_synthesis.xlsx file. - Verify that the correct filename is displayed, and then click - Accept to start the batch registration. - - To create your own batch-registration file, click - Download under Template to obtain a blank - Excel template for the predefined Sample object type. +
In the Excel file provided in this tutorial, values in the mandatory properties fields have already been entered. Review these values and + replace the division number and username, before uploading the file.
+
Steps to navigate to Batch-registration function
- Figure 8: Navigate to X.1 Materials → SAMPLES_SYNTHESIS → Samples. Open the More drop-down menu and choose XLS Batch Register Objects. + Navigate to X.1 Materials → Sample Synthesis → Samples. Open the More drop-down menu and choose XLS Batch Register Objects.
Batch-registration select file and Accept
- Figure 9: Click Datei auswählen/choose file, select the updated Excel file samples_FB_material_synthesis.xlsx, and click Accept. - When an Excel file is not provided, you can use the Template: download option to retrieve a blank Excel file for the specified object type (Sample). + Click Datei auswählen/choose file, select the updated Excel file samples_FB_material_synthesis.xlsx, and click Accept. + When an Excel file is not provided, you can use the Template: download option to retrieve a blank Excel.
Samples collection showing the objects created by batch registration
- Figure 10: The registered Samples are displayed once you click on the Samples collection. Review that X.1 is replaced - by your division number and your USERNAME path /BAM_GLOBAL/BAM_DATA/USERNAME is displayed as Co-responsible person. + : The registered Samples are displayed once you click on the Samples collection.

- Congratulations, you have registered a total of four samples. + Congratulations, you have registered a total of five samples. In a separate tutorial, you will link these samples to the Lab Notebook and other inventory items and complete the tutorial example.

@@ -727,7 +721,7 @@

General information: Prepare Excel files for batch registration and batch up
  • Under Template, click Download to download the Excel template for - the configured object type (see Figure 9). + the configured object type (see .
  • From e7b8c196bb7d74e07c91b4118a2c9c5feaf58f68 Mon Sep 17 00:00:00 2001 From: caro-demi Date: Tue, 25 Aug 2026 15:35:20 +0200 Subject: [PATCH 4/7] Commented out, not clear the order of Lab Notebook (ELN) tutorial and this tutorial. In previous section, different order mentioned. --- 4-inventory-users/inventory-tutorial-users.html | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/4-inventory-users/inventory-tutorial-users.html b/4-inventory-users/inventory-tutorial-users.html index 23c24c3..e53a4d5 100644 --- a/4-inventory-users/inventory-tutorial-users.html +++ b/4-inventory-users/inventory-tutorial-users.html @@ -652,14 +652,13 @@

    Step 3: Batch-register Samples

    Samples collection showing the objects created by batch registration -
    - : The registered Samples are displayed once you click on the Samples collection. +
    Registered samples are displayed once you click on the Samples collection.

    - Congratulations, you have registered a total of five samples. - In a separate tutorial, you will link these samples to the Lab Notebook and other inventory items and complete the tutorial example. + Congratulations, you have successfully registered a total of five samples. + In a further tutorial, you will learn how to link these samples to the Lab Notebook and other inventory items to complete the "Material Synthesis" tutorial example.

    Back to top @@ -669,8 +668,8 @@

    Step 3: Batch-register Samples

    General information: Prepare Excel files for batch registration and batch update

    Batch registration and batch update are different operations and require - differently prepared Excel files. In this tutorial you used the batch registration to register samples. In a follow-up tutorial, you will batch-update all samples registered in this tutorial to - define their parent-child connections and complete representation of the workflow you started in the Lab Notebook (ELN) tutorial. + differently prepared Excel files.

    From 7e8ee1c0010619eeb4e47ddc5cbb7d3b28705b9a Mon Sep 17 00:00:00 2001 From: caro-demi Date: Tue, 25 Aug 2026 15:48:40 +0200 Subject: [PATCH 5/7] This result needs to be clarified, batch registration or object browser operation. --- .../inventory-tutorial-users.html | 52 +++++-------------- 1 file changed, 13 insertions(+), 39 deletions(-) diff --git a/4-inventory-users/inventory-tutorial-users.html b/4-inventory-users/inventory-tutorial-users.html index e53a4d5..f233352 100644 --- a/4-inventory-users/inventory-tutorial-users.html +++ b/4-inventory-users/inventory-tutorial-users.html @@ -673,9 +673,9 @@

    General information: Prepare Excel files for batch registration and batch up

    - Batch registration versus batch update: Use batch registration only to create new - objects. If an object from the Excel file already exists, stop and use - the batch-update procedure. + The batch registration is meant to be used only to create new + objects, while batch update is intended for modifying existing + objects, more specifically values in the metadata fields.
    @@ -710,8 +710,7 @@

    General information: Prepare Excel files for batch registration and batch up
    1. - Navigate to the collection in which you want to register the - objects. + Navigate to the collection.
    2. Select @@ -719,8 +718,7 @@

      General information: Prepare Excel files for batch registration and batch up

    3. Under Template, click - Download to download the Excel template for - the configured object type (see . + Download to download the blank Excel template. Template will contain object types enabled for this collection.
    @@ -729,24 +727,10 @@

    General information: Prepare Excel files for batch registration and batch up
  • Add one row for each new object.
  • - Identify the mandatory properties for the relevant object type. - The Excel template does not indicate which properties are - mandatory. For guidance, see - - how to identify mandatory properties for an object type - -
  • -
  • Provide values for all mandatory properties.
  • -
  • - Follow the object-naming and metadata conventions defined by - your division. + Fill in the values for each property, especially the mandatory properties.
  • -
  • - Verify the correctness of property values. +
  • Follow the object-naming conventions defined by + your division, if one exists.
  • Do not modify the column headings or worksheet structure. @@ -754,7 +738,7 @@

    General information: Prepare Excel files for batch registration and batch up
  • Save the completed Excel file.
  • Return to the batch registration window and upload the - completed file. Verify the filename and click Accept + completed file. Click Accept.
  • @@ -762,7 +746,7 @@

    General information: Prepare Excel files for batch registration and batch up Batch update - Modify objects that already exist + Modify existing objects
    1. @@ -771,7 +755,7 @@

      General information: Prepare Excel files for batch registration and batch up
    2. Select the objects you want to update.
    3. @@ -782,9 +766,8 @@

      General information: Prepare Excel files for batch registration and batch up
        -
      1. Keep an unchanged backup of the exported file.
      2. - Edit only the property values that need to be updated. + Edit only the values that need to be updated.
      3. Do not modify object identifiers, codes, column headings, or @@ -806,22 +789,13 @@

        General information: Prepare Excel files for batch registration and batch up

  • - -
    - Batch registration note: Never use a batch registration file to update - existing objects. The exact names of the export and batch-update commands - may depend on the configured openBIS interface. If the required commands - are not displayed, contact your Data Store Steward before changing any - existing objects. -

    Result

    After completing this tutorial, you should be able to locate - inventory objects, register individual objects, enter and modify property values such as your username, - batch-register multiple objects using an Excel file, and explain the difference between batch registration and batch update. + inventory entities such as projects, collections, and objects. Register individual objects.

    From 4bafa56e74e7729955db5f48c02c5897b7811581 Mon Sep 17 00:00:00 2001 From: caro-demi Date: Tue, 25 Aug 2026 15:53:01 +0200 Subject: [PATCH 6/7] Reviewed 4-inventory-tutorial-users --- 4-inventory-users/inventory-tutorial-users.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/4-inventory-users/inventory-tutorial-users.html b/4-inventory-users/inventory-tutorial-users.html index f233352..2e752be 100644 --- a/4-inventory-users/inventory-tutorial-users.html +++ b/4-inventory-users/inventory-tutorial-users.html @@ -317,10 +317,10 @@

    Contents

    What you will learn

      -
    • Locate inventory projects, collections, and objects prepared by Data Store Stewards.
    • -
    • Distinguish division-specific resources in the BAM Inventory from those in the FB Inventory.
    • -
    • Register one Sample and identify (#?) yourself as the co-responsible person.
    • -
    • Batch-register Sample objects using an Excel file.
    • +
    • Locate inventory entities such as projects, collections prepared by Data Store Stewards.
    • +
    • Distinguish division-specific inventory items and resources from those in the BAM Inventory.
    • +
    • Register one Sample.
    • +
    • Distinguish an Excel file for batch registration from one used for batch update.
    From a6642e415dbd8f702815d2dd5f51763d3adbadf5 Mon Sep 17 00:00:00 2001 From: caro-demi Date: Fri, 28 Aug 2026 13:55:52 +0200 Subject: [PATCH 7/7] assets (2 Excel files) for connecting objects --- 20260828_batch_update_samples.xlsx | Bin 0 -> 10122 bytes ...child_relationships_exp_steps_2_3_4_5_6.xlsx | Bin 0 -> 20557 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 20260828_batch_update_samples.xlsx create mode 100644 20260828_object_browser_batch_update_parent-child_relationships_exp_steps_2_3_4_5_6.xlsx diff --git a/20260828_batch_update_samples.xlsx b/20260828_batch_update_samples.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..8652c1f03267114fbb2561c573b41ac03a3d2285 GIT binary patch literal 10122 zcmeHtgoTe?k){hpg?hgdvKTH(Bc#=6xZUO0)^sUC~idxMT-}G z(|vY-yW8FOFL<8G=QA_O%(*j}Ip?04d%tSRC_n-LDgYe-08jx;_p_`FkpO@=AOL_5 zKu6Y>c64xsI=C7=^>Tv34A?#G?I_;@kr{IU$cX*_H~kl1f%2q5NEatq_FUmwdYw&a zp+*9oZ!fqPk6B%;qdT#u)J#9y+WIa#@(L`KOK8JijW@dB!~K2Os>Z>-AvmI^RRb$J zsINoIkc^+>WA83qJ26Rui=OU54gr}27m1NktVIUkwR2;a2CvMjq*6Jl6(NyW;9AyP zuQu*-Pcv4jUa?@`eCG;8dkI%ypyU&HZ5)5n#+u2;@OX_)5g1MFvq0o-SfEDrOq0n} zquJ#$Rrx)Pv59BO*bI4zGb|2{y*RRr+WMaV(Gy1Rs>Q3X%T0Mu-w>xe429Y+1S#R>CN1`j__E?&{C;*)nTlbN?g#V3=uq7=BlmSE97kIR%3jjKL-xO?YzJ`Pq5=SScPIe0zsa&*i<9OA!8H|x>M#+qG;)F3!8q7|&i^OJ z|6&dP<*%0~JW=i9#0oo5xDM|-pIVFqODTIuDzs8P^$%2Bz^RYTqa|BxXCMbZB@IE5 z4}kk$56mx$#D43eI{U&~9*svJOw-^|5te%C?1sin?~)?tT)x_k>ppclb(SWtAOrdc$8g-6a&A2Jd8**El98DiSCl=MJ3Xdl;&PVSXCo`&bP$T zjDYEs!tMLw5rQha6KRBfFjLFfO5Z*^s?#5&TAEgZ)>Wq2E<)5^M&@=M$1)l1_&2_6 zkjy>}YF@kx?os((x}4Jhy*l3SgIQkP{1{zjeTV(Q(GylL(V@(=PseUdV+qz>$tqle=$xk9nu4j(1j~zt-V6^& zl%bH&1lEtELo3I%Z^R)wO5(#w-ckU{CsCNTW!>jbw5t-*QM9-)Qko~|>Z>L(m!GDO zFA&7cYFwCryZsfLyV<1PiihNG!m_L52figJ&Ieo37lSSfSCY5K26lOz=%!TNHlU^D z0Mi~&oW8d2W4}5mo?R2iToI$oil(!BUTeuMrKf*O-5P%@Cy8 z2SNXQ#dSfhv2NS2&K|C>Ep$s=<{3@c9u&VaZw1VsvZ4!G@x$G-8f5FXEP}Dm_^}ws zlzro8GbjYg1(W*3!v>ECD7rK%W=6s)%Or z0Y5?w62|zjg*jN4pK?FBE~hKjXnE>+h$t%oBl(R|qHo$|mal-YjFm@`loM>OoF*5}WLEoe_NZ*<=2l;(PnTTn!hd6M? z{WqRBot!7$#F7M9J|V>vz3*0HUM8xH&k>Pv32YI_$Ndof#Ao0^gh$Iax@^@3%;<$3 zhv(M9g~AQyTff>tm(15vtZq7>mD)^a5%^cf`z})tC_Ei7ooa|fo$?p2K3=>9^w2ut z!Qdacl)q!=sSj@9JsQ0)9CPiFl#YrynNHGQ$mno6omhsswO;w7g;M^(cK2d#ub_3p zj9-d+yd-W@|3f?41CQa`T?zzi|Hv#FiEWw@Cr$NC;m4C;$JI-G6ui65`Pe zp^pFVsa)fUayKU!j(Ho->5<`1h&$`bLA|TBgM;2*$23n*#p8dnOvc<|@a(fP2a02u z*THbF`#B%>7Zm){PL|>*JfJte-GMO3ark%`1>JP7;!&_X2p@0v+fLaYCU!auzgaAy zk2RY>VDo~JjwC#tNMY>S}H%Vp z-%}yX3JP_Fas0O6`k50mb@gFy6(0C4m)_tI93V-y6_^%A^mNPMn+=`DQpzziW5*3n ze!e}wA+^H_H`LeQBN1WMJPUyISsu^%Pr+q*V4=F5_ zsjf{IiZ$U%Vqf@Jg-Xpxt*3DzXN(Gf14+9Dc?}e|5k#^c`wi@y~EvGIqLu92KSG(5(c+aPC zb@W@V`q;7#_x$`;PzU)G+b%H0ZxbU*2PQ;!+be^|ymZwTjKVgW26PneR4z+gcrXmB z>P{9pBZ76y<7=`npJTNbG`jW{t=Vb%@TK*R(dmWNH_cGpr%GGH zbEWp=bMDGhuU;jfww%L9x90UCvr_dPSDUNl<*>9OLryy~K0b7;wki{K3FO;V2DeoU zUv-zn#WFUB%sMU1+#PDTx66v&30EsA*A!dQx4&!tVL0(6Pc6-x=c^y?tB_IHXh2r) zdiX~Nj}Vaab^vs{mMU+_<$c0Vk$CLax>75-#nQ>)^wKs@^@ZbEcrd-I#hjH?PquH7wA$m6}bJgd&c znK9$)^Gp)@(nm zm*&so)mtN*lHzwxBkE^JKe|wfFWf6{a#%7pk2@u#C%kL$Nx*zy8$YFi*t@BweLf~m z?0VitW~$%iFJ;+8=+3ZtYIU#(-& z2MHAH4_3_Oy44h^ZrDO{VFET-YDh`#UbhX zalQgqE^`)j!M&u)KxC8bdss*XI{D8ypIahgxUzEswYG~0<`in#>QEoLP;mmg+?e=z z<21uu29h&f*otD-lgI?2ti`;OTiTV}xaP!#7m!L9jv|phrdKWliJ3>NMKfm*$i7>! zVWPWu3kecE*_%aKC6k(H0?f@EmYfcV7c=LJL^id~ej+s|#IFkxm&iuO7aYJaW3%?8 zGOYEa+)Nj`L(l>|rR?{E^|3=5o8fN(V6`?awL4j(HV`m)Fpz>{1Mj&{$@jR z9&u2Inr+RV{eBDJYrBY@d<7;I_juD)9({>U%Z3gxq(K72fLQNm*SMF+c8FMy6Y>>I z{o{b>qzw9%+zFZv>q*s=tpc+y$&r-QnRY=`nRZD3!Tmg45J9G$*H{BQF)_o=y|Vsz z5GZGyIQ+iDa+y7oa!fKOx`PQ>6gUDFkk5J50YXki#{xf~b_(s_L#6>bfFIB}MRx#$ zgn|3Go)Rm#K@7lb+^RiCh04v{=a!bkBvd*upb)w%u7GS#cn1mcS9Dr5wdI>8i5@y+ z6kr(ob1J9U4)h>0U=R8NHK*hXc90M75!h2^1tZ83I5Tdn-BP!?oojFj`ZDKr8V0%e z_Kq4VSrqJgSv0PVTUg}UpFV<#pR{yo6#V+-;)NqjsP@e2mW9+0ISV8?6kviDGRt)F zJ>Xxx<;=KFvIz|Uz@`3KBKpl+T&$c`zuC&J-ta53M#6TqzB`E_gU>@-J|=== zMf_*`-mA$5>k5iVVTL145*n>61W5P3PAUf>TaPOTEqOCWp;`r^Hm|?pGNyTQ7a`&z zm%bVm1;3R@F!kWznLH4^-Guk{^1p(eCzid=#iXX)P@Klxzj#F5A2VuQv+J!&zos-V zt+8tUl0;QuS|5Mg&*fn4)&3V0!uZ#eajNS```+;y+miLnmYgvg53>`1{`yY1W}rq> z-7HLB3~w{-`+n`Zv0P6?l2#r}is`X##pFb4Z!gX>QgAgrNt#6Ap&zNUF;#r9do41C z-kgF$KL)Zez}ZYY9>i$Ycx3vF`674c$L46+Qmg()v}UlTkGZmo*>URN2J-Ro*br07 zr@j1JM!V^d3V#%18)AN&ox2J#l#W^w5$m3Uavm$*8~4{{$~n6exvih>**t!q-`>zA zxW#*AvN+)=k#>8z&+}3^&!p=EnOd0R?uw89%)umU8xr(l6Z^f`xB3t9q5L@!GG8x|fDAO?tI6dMBxVWV-5~@1~W~Z#;lj280`sloe%seH`?q!Il zMP(?eP^++EkOw)0e~XV|UFj#~A+A)l!xtlrgFf%LDzhY-u2m=}a2vYjjAC2i`dU63 z`U!w@`kW3^Rl9#ewE0=G^DD0RPQ#)dksB-H%%LYr2Fz%<)mGWunT&0;80rdlJ);=T zB8!$udhViyJe_n#j3*?rekxh?X=5dX3ZY|Ev7H>Y#F9?+(2TXB;?cC7lJNBpavy3s zh9v!^UPF7XJPVw5H3U1kSjeu?%lc%G?AR=z3kuAKCkdP{RL@n;^TlHn5C7yyZHp4}TiUqQ>J&Z&M%+T_$ltfAHo+fF+XY3k44%l?L8r5GMz*%zrD$7G;C?uy%f=7R z_Wfo&_O%3h9DEXjUNb=D4El^>*IW8tHR1)g;xu0?(@}&Hi}`3@!oe!6?R|>pXMxD- znW7)SHiyvtryZuQYM$K|U!f})p+`7hK3XTqzc}2J+YjQybI2eoLd%0>T}<35{6NiJci>YOEr*Uqxk%Dfeb5 z?B9ucgUW+TB&A7$s1V{z07b*5ARBd5Vo!H^aQol^6QhIo?4H&0!jG+K*Q zd@&Onoy#h0U$>-BdPcbBk3y(I10B1(TvM+0#R;AGPu+@~ zN@P_tOlwK+kyf0AAJ#*tr(IB#2hxJ+w(vfCqDPNN^JKciK_{`R+z=|yeE;(gb{OFt zJajdLcaKZx2sQ3k$8bkylqddRD2zhywputnId<#{qN9&AUl*!!4JcWcg0J{nuXpS; zr1qOiT9oddPee4hx??hlDHDwt#a_&Z)YBRTwT{01L6=^W>={GVO;))<%-3CXw*RqkD|w^wT!d_#iOV*6oRKSuB<>*SSs<2m!4H+*!;W@URhAf;GPYHJyR`CWoVvh`3&ih_sCG>(J zxH_!DdlncAX%pO{gguR#Vn$z6RV*UukDJ+*YM>-nG6%H1ku?Mr~@=eT` zn&#@M>-s@q6N17+!!8`_X)MV)b55b!!S3+o%UDA{@MBcM_QeNU-|Ab8togm`mEMgP zgYx87aIRLrN~p>@kM+Ixeb8kM*8jRJ{`z~CBjuOjpy@1PR(!9TgBu@Y!C?9w1*>ic^8ae|;Y0a8XNa0Z8^Y}G|HtTI zu3mOf*v~h|axHtu3{LQ^*w1R3hYcl_GIfqkI0|%{44_K{d2pCV11=Cl!Q%uywc)VIWRtq$MLH&htt)(L zCY>hf*Mrx5lnLnv^8`jY}&mQ#q`oq=d#_9p3PdEz&ZGs~))XlIZ^>z{k z628h!x71k%D!b|)Wr`LE)9^?g2n{xejDV@w?m?>T!ykOOh+pD;o#s zJtxT~nr?&KpGx?ks7we+?DWWvdLRBZ9igxNMWXP#b4TeZa5Sd#5T9#vFjcGxBP$Ox3h4C6 z#;8+(@%1vh-Of4jL2T|7Weh5@0vWjGQ(@q_OR)D2|tB6i^NasJCj+zRIEQA*6$@;XbYRUhsmPAv={4q|rlE7iQTA?@07 zXZGf-)2rT$L$)4xzp1t%$wI+*G=sNpC>`v$Xi89}a#{2CGzD{TisuP%=&fLE=)r)+ zVuCH&<^xb+o-y6xy;h+|^cS=N7NBLNV%vk$(1SXADm>o=$AuGAd}0*twvtudF7Y|i z?3Fh<(W=k(j|B?*zf5~2ptdfIT;Dv zO{Cn?Zl$3ZW=mCZa@(59m6m4V#h4VQmBh}XEE;vVB>T52OY-!&vn)a&4-f(&_+21Y zCN5BOO;;Cd2g~1dlBs3jILArg_ipmeShh`r!A`~MUWpW$Hf>HsV0Sh(e=}G$GHVtB zx;cdn(APJQ>wVwMymH%bo~{n?VZ}VcQi3t{y!2QT0?IJ+uw$E9wx*rQV~>YL#t>?B z%m@a#JA~}87}-kOm5-S*@E2Y}N+2-CwD<9Z=(e-UTHI#hQ$gR9kOp0`jR%6UpP!Sl zkq~1mLfK*}cD%4lKz9aRizFo2Ssl|Nhfl!a(NiKvB^bVQlmY76+8{8jG{^p1eUL8d zheJ`csfLAqtWf#hdjuTz3iCb%>l_NW()Ct*zOsqX91qp6O%sj8l*+CLPJCmrPN%7^v_P7G{Me4E#3 zZ<`lHWWKXH#N~eVlRbx%-7+rHZR{;?-p{3-tH8q<7sN;m+2n|e54G2H*3Qv$M@yhM z?o|{h8vZV}@PfCd$ez4{;}eu~YZBCTClG&Jj5jUI_Kcc1;bP(ma_4K{+hyrG?-?|@ z+XcM)sM9)cPJA_k=2F=%Q2vc}cjX`MbPzROdj$1x5%pkmM>91SM<*DEnWGEz_YVF4 z%D@Oc#v~XicX1MYTn4pE_tzRs5Pc<@!(M!Vj*SK(Se9~W1ZCvYItRRmTQ^SK_dDb| z&%AaSq5EM~RBDCtSuqbY=>$DW0!EW>NVw(36^q8`l5O3|oR=%%<7D;J&}gHraN*f& zea(QKdZBeqvY7K?w8LXy%S8YJf#GB~7CxSo3vjA9Y zp?OQAafq!OFk1>jf0>I6niI}E!Mk2NHBP=dmMY5>Og_01auwfxPL@SZeB^!H(r`K600+i<_+*4`aavFYw|JkO{hHwT|~H_ zAQD~ZY*mKUPxmA}^eoVS|lKl}PhxA?;qTIk?Cpnl`UdIz9ds zefP&3`dyQpm+H6DQa zo5LgG)bP}&sjZ)(qH;Bz#HP)CvSCXv1}^QXvIkphji_l*je;;AVOGoIrCwg~*T2l| z>LX%OCd$4y&gsFz)XzJE%r-Gs^yHx_X69T|a&BcsXNK{T-U;jI@wL>Km*YCmvfR+5 zxdbb{Z;d`NzYcn3IN+BWSkH_S!eSpSq;oV=TviGD3@Do4k+(I?QG>a+@@yq#a%jC> z%JGU$IS=V=(;`E`e)lP;1y#Oy-8p9;H;i-In8teQxKzH2%EJ7vP+(N{3=JJ^Na_U4 z<_T#Ev9sx!bL&>W!~UL3Dnn0~XiWNYDe8x>zcFOxbY<>7=TJgo1I z(r_eFJ}lDX!|Zd>N(zVe!&n^%gWr*V)opTiD>p((^6o{__12W8$zR0GeI68F5$L;y z^t++>M^A-s?wERRr*3ELY<#4?i!YMT98MDPx4OapBcCE6vmq?|-$yvCB zHRZnt`1|;bKY%}%sR&v8Wwgexz+ZdTe?r?3?VDdZ*uR4R-WdE73IHTw{09F2v z;eVjNK9~I(;qRvUCmsOENA%GCVX?o$|DFZ^3g7IY-#ZW>Fa+{wy%6#^67v1`@l{+_t!%Je}I5);k_NAy$G>)&IzO{JkL4xTM&8zgw zqyb#Dwe?!Wr^D6d-vo0|4%)%v7|!=s*EPn)Sfi+{7RpuO*_B37U;x}Ycf4}blLA1V zn=!57`^FS!m?v~on>j`e1COG1Q%7ah=0Kh@QwrrR^t3*}PjS4Al{2a673b(6gc;Jn zP0!i{JMVJAic&#}kGt8GS_te#PxsN_`K)tJzeG37YcMK>ifu|=WcGu}0w=5mf@qxD zOJC$qgMG&PR*mGM-DC=2{zeaqIXKaR7`_a$-S|Wn$@PHX;+EmTk~`|*>#14rJ??^& zdx&))NKnVSVQXP9EO9wjIfBF9(o&Sp=`Co=! z5icdvPY)A(E&35M^1Qeii@-18!YA5JsOar0wgKN5RX~Eh+5HO#K@lqeSj4B(`(tc< zlPl_Mgz#yPxgr7yg_F3+r7}3>&CUs&lFU9?*sfxC0MU8zaq%flMBI(sxif~cyrm>h zVsx8Wc>Y$f7GauJ1q%}SFHSJppEN)9At|*j{g*1hMSg|L%HW!2w%oIX=?tIcsOTx!jEF}d~4zn8lZ2R9tZaRjRJ@JwG}4(P@ z7aMyEeH$B#f5}*((zZ<*J%(5J=qJADHYQ3|hGEMKFcY%YgyXswy&9#W8Cc>vnv>d7 z_jWY_+@p~Tu{ybqhx^p>eNx7{77{i#CCPqi$W2fbOgb2s;pv({%zd6)6ilfoR(xvl zf`E-;{`%Cl4x0w8c1mV97C@{xypXt2mC-0cK4cs^R{@2fvL=ZjpGpNy8l*Tsrd(P4 zioIpK5ozGx5<%NR75W$RL7?9|eAzRKNd*2wf`DF_wUWxFVmGKQfuYM>Ou*TO0JVk; z3O1nRjPX6Vl?t>Yj9{yro@N&yAL=*5tjyAlNP$zy;;IBK2UJdgGsm^rqh(G#=3f4K@581T6-usyK?h#Qmv=prd|4T&5vK}fS^D4?MJb*8FC7*hsX2gm z)*c}Od56v?ii~zQsh>?nixGCnpQ2;K%p{N>O0i4BvPh`vK+8dw@O?uI>Bvt#B0AdU z$vp`di*9{5U5W(86$56lQh>SI6YWRW=fxMJD`C4&3L6-qv!(Hr%X86aRnIYCRqwVs zWb851Z(M!){*=Vj(RJp+!y9SZ3izuv{KwI72x&F0(f1o>O*_hd!DRUn4E2s3EevYYaKV@|zXNk=1zV85_VtJPtsF0QVqDtxg&(iRXE{NbK7y%(%0iR;jh&~LD;QseRUWp99A6Ab z`^A^_dvMf|ZJ6X{90X-D3dYfukoXvEQ##Rd9&FOwtFi-x7b#~}j$;sG)PB^14+{ad zS-3!64}LgmsKGYq@pq$^+7ic=mbdln9W3NvO1x8{A#Sfu2y4Qo1^C0kMv?VI=?c#Yt&X(FE#cd#6S^kdBzUR z`P4r^jY(#P4%ej_49L0Ht1uDYK_aGhaJ=Kw1jm+U7!g40SewJmZ3PE}XXCp^7}@tB z!)K0VN6(=}%Jqm(wDL@K`s#O^-p3OZLX|?XWmAa~!Z*g$H9@1>B$2bej=yfO4sTxc z^u;+Fo1Im6EK5?8mw)XL_FzG~7TbDFg1ul!qFMuY*bRU~K#FII^>_->Rc4pJr zfe;Q7>8cR=;&(67>kKu;QDZ$sga*NZ$qh4Ip%3Et)P8eNbJJI~nJR;=(dMW*^2Nx4 zW_ijZ^or`kp|@+EB@p#EKn8>dh?X72juHg!eyi`FMQ3>6v%Rq~f;4k(sME&5N?k7Z73w1vp8mI%{)#GjXq&InYP zCUS~`w2`tmcHU#DraeCtrHCF&@0?y#E?zhZL_fEjx}=Q~C5jhvHtg>Lnb`oxf(mFH z5^8Xy=r=Bxd|{y+#i?4fvu2^BSiyX)a`<0Cu>v_;!S+|#QYF2So|Dil@kXcuqTJt@ zMNa5e17)aCl#P^;ZII^0f#Ri51r%6bc%`bdyrl3Tf+|Fc;>sBDB6Rff6^;@Wz*$4m zex<-!wLiM&MEoc{_3%?c{Em$%E8^_jXl(k{xEUnv`SiCAyGrFSoCx9dD; zQT()P@%KwC6n0tm8fO8te6iBPvPt2I?W|3Pi z6O!?XH38t_?O;iA@QbGj@pFszpaxbBK?GuycDR^TzafI%nmD*UblPe_7u{}7IMM~N z*b2n#PD}6r8psSujkk*^mP`Qj0LG6zk4J<+T$c_()W=0+8zB@aSpp<~;E5AR4#_cy zH}OQfnNTt83KmE%-y`BDxz$MMMN0b&As99e|5NYq7m(cE9kiXwXu~lf2I(T6e3;^D zLP#Q!66+!1plFhon<$68kp`Z8tm0^MNMd0*$%a7qoD$;|q0uQN#dB<%V+Q+mgZb^B z@5v%M0P%9?Bn&T01F*5B9WsA$CdCeJeu8jzZbE2^TMl7@G5#FH(7G8h>^YTn18he5 zJ)mbB^$g|052tT_lXt@7cS7`$B2=BOOOw_O_}4Cc`$l~GPJH`-3sEzmW(dJkKo zvHd?la=&|i`hIfwiwNwms5c=(<45PG-)*eB;^H|W=xQGU>W?G+aV$ShXtmF=MEtrz zz%#aOL%rNG=J3zdooC0b%Eg9^ie5Y>;)Y`ob}^b~y~H?nW)N(%L4=FmBY1Ydm&B_% zEDs<(I~ONfreaFw@g3*}O5-^`>d`mwzav}#sB&K6AHprg{2vLI@jnRH%%OlC;j>HW z9iO}_WZq>po9Or;b0aOy24tKS6^<^}z}({dy$OKN)CqLIRE#8}_*d!sV?w25w^yLw z-BA2OOhKBtd2m_HNCdifLwYIv^RNf8k{A=4dJ7*;ZQ5JN-?Qe|Z6B%a{R2`hreum9 zguhHqSwry zDP6;G2G=Zxa>}tJ)V55jK5b8IrMl3aRww*yZf=_wZgwqz;U+vc^*kJIeOJQLaH6!?%I%{#+r^9R=wOhH{K17;l)%(_bvEaU6==LVaPlw@w-8ndZ?{^;3o z%jilOT{e-_>)5HWq;(Rn<`V7iij!4;=@)%jBz`~Tvb@q6Oassy{JFj0apKl`iPh_( zBGnsDJ4;1AHqAY|H>1rJ$>}W4c@syopZ2@kBf6gK=jWJnl-pVo!N+%BNnL^Mb8gfBEFRS2>3{D;^He{$Du@VJEUtMF_;# z3oMI4d?&LNpk`|7-4;sf{K*{(RRd@7ND?LSF3ybX<@O^oXdG*LRQ#FBG*foqcDE$LXmV~t`*O2b^a1m#vjm#n4Zl|QB_5KO0jiB{zrAKG3V_`K;!d=F0 z*D`LtS@GMwNbn z<=}I@0LF(y8ose0gEOZ|rb7n)D>k9HQ@*rtKCie_qN8BP>mcVmm;mWG4^)?$3dpA>SP!#1cdrH zDWXb49+m&!Wd5#Xd=QXYO=RS}l`RB>#9R#^e`iOL69A!S?O;`MM|cnr$g8+ih{KaG z-`tr`5(09^ZU~6*aT_52{B!n!WLd)Bilq4??1B_e4DfQ1tVe`nvsG?bUEss{h77jc z5Z?zeap$Y1&+m-JzKV7P0>R`HAs`^5*P*_-iTKC}iFe39?LBA(Kh(~mAk^HA4NT&R z_oqoR@%wSuQq;o7gmwOWL1AanAUdYhWKS%z>SA`|w0 zkPwJ&cN>l%gzd8R`WqgzgTUGghmea>>x7huLJA}n1`?XzAs6j3fBZfkpEk$w?F19D z(-{)gCKeDT=l|)^BJGCR?jTIyV8G0qb=_m&;fWeUTN5H8s3-LYV=<6$=Q6CoD`NH`v}E$4BfY^`4y> zKtnGmHl}?~DznQnh--I?Yqwvu@;9U6gIo!yB`|p07`Dsn*Wh2puwIp5?+A-p-m_yp6rH^2vVN@KldTVo2VJX^UG z7eSfmAxG)f+u<@mWwPm9>?x9l7U|HOfhc56}rYi5RqOyVBFJ;R;iCs6~ zM(|k9Sk7P4*zS#wWB2Si_wePg@QDKk@NS|3G#5w|G z?r~$c=UkQLg%8&PMl`HX8R$G<_{)7>t3xwR8mulr@ITc2QpJqFkolRW$+O|qfm>3n zzHW)FRbD_jrGWzerDL`+p+zq=aVwD>_Z2r=XtWxz6$i*ogJLC9OfA}`mmOMyXe*!u5~U;Bh`faXOlT0%EfT_ zY0wSBlic<^&@sQ02A=3B4MnC|trGaXmH7Kx0q8VKFIO1BtDAo6(PgCt_XRMHU(EVG zNgRosDy;*lLb@>?1dQ^emp0>Q!Tercc3@E+iTu|hWnw%ehJ3!m2{j)rg?}g_vHX>> zWSDkZOa6da+KW(_by`c2V7H_sxgH)G7v>dg0FE*vU(rN^^BC?XBgEKKG~Z0D35@@d z)f9p0%<}|LJ|7P~1l9v_fa)P19R|qadOV*jOJyozUUW9b!HnE!a}6JIgz9JC_uckL zBTWN@z?kFggO+?@h@vozf3p1qfvI&B28hxY9T*>|om89xbAJMgUuDTk-~_AsI5y?H z2r`pVJRfVzUs3Qw50#jSvp9|f+Ok^@Fh1n_9s*NsymJRNdP>vMlt;>P_k&U-3J%aI zl0`OTNZsmOBs}?G*B~M<#Xe#%J|(6iQFxCaz8aO(=vbR-3j1)dKck4RS5n!O));CF z#$zNQQGAH{k?w}dF%xNyw={uj9>CiI>|oo1XZ32fj3a^L?rEsM0wUiODHIsNGcU_0 z2>~tPn8O6d5FF?k!MLsLU??vbj6(llfUF0cL*}$%U^bi}3l9xEBUMou4pPjcKEViu znw-U{{b4-56T<60#!y6t-`F59__I`8zhgMVNPTXkoC(A2p){5#Nz6l9npc`r7F;({uTvG|?H*z#p_9@qZQ09rlc z{$6u{t)BQ9#75zr&#TchqER*(bxwpQ@JV}=B~qw?a5t4Ug@V)w$-4ZEAmXQ-@hQ|` zhV@SoOf5u!ZiH-MOpF!^;V^CZj(YcQaG)lS(cPd+(p&b`KO-<91IrmmC5%hJ7~V-x z^wGzfr zgl)u+;D$|z8cGvAlicwV#gNny#F2(ohzfFtQyFt>H9Y94zNKAkc_X?wzwBKR4F(k3 z-e^h%^b4kPe~N4O-?x%LU90B=U}Rez`dIB^*7`Op2ZP~@S^5)9eaFIYgcnbt|NHGd zTUDa+&W~B{4DElE80LQ@CRNSmM`D7uMbf`@UvVQRk$7XN>PdMCEd5AqqRo23rI?!P zH!vrCa;zN$_U1`5TjkO2?L5oM%f}!$UvBYU)~KL~W3DsW(&$dG*4sTVFPo)4t!KxT zoM^(cKG$wvvsoT;oeJ1ulHVL*&;_aYkR`(K6;+^vS8tX zf1%O!S0du_A5|n|0BzSm1%)HBZ)x-VUg*Dey_p=1a^ zMQhovh0eTrJ&bj5vqeCY$-W-sK~~U$-f;J6KhC>9i0Ig!jNdoE&U>jFaJeOx>`M~$ zI}YaB%V4L=jM`6Me6SFnwB1NZNdIoOoQOxPQ;|WtnIC)WBuzU^NO?3<{*bC48QcEjFRgyr9b%>~D7arO7tZC3{I09W;-#v1cm^ zQA2%rB0e2DXxM!v%WSHypwUsWi$S+v6r!AI4GAX|_tNsQmhMaG17tZa@%|6#;l(VZ zug!`=t%=DEN|5Bg1I5+~$|=jtgk+R73sF_d^5c~?%fr>xXH`&-Oga;AF%jaY`N`r5 z32W#4tRWyPj09T~=UEN-f#Ws!fjl?~Not%F%o%diO0l5lvXPNYlR;;xYr0(mLF%-T zkW{b2V|gVuk&#x~!HI}d^F);71HEdk`0vdU+-E|;H(v9Sfm~-$2y2teN_lgdDX_@} zL*{tRwTMtw9w4xxi!>T3S7}B6-2Td1^Bd6z;ao(3zFm5^$BCzi3bo@nI|ItvV@9V^c{ox?N;)Wnof?a zBQ-E*VBcG1O|Tqg)?g$y4#G~O1J(=Ci_uHt59v?gkLl0h z59-eeA^}1L@(h88z(rJZNk^jO;CAKs)L(>BXday#l^c*7ksGoD)yv|~?GNZr=#LFT z3}OJ%3_%7_1Yrzu1c3%|g+Ps1fv`dB%6k*q)6^ZSIBB8AlH#v8iP(VXh~S9$fS^g( zB0M8P&r2_88=xDg8@Yql3(||y3)73!3)GA2PwJ2A?*Rf2frmI!(5`SA&BBvig$thw zHHOz0WRRmB`r~9;4ND6GJF#@yjOU!zbKta!E`%8cQ7b79en?? zAH>zmnI*6D1^(}h9#6Urd@VmEh(!Oom-3I5+0oR<%82eC{~rVMh5BR+b~9=>_{cZ! zgx1o;iH9D?OflQjmHTdz)`6&4VzBmyyuJ$^)57(iucOZ4VYV2D=Y;aqJZK`4L$PJ(s~0??(a34D zx(jz1vVHM&0r_3SXiOQ=Wewz0FZ=8Ln5#Wt)VNfFSeXOBEB840Q@%z@6Z*(Q-0XM| zZw*^S1JGuDwJc~)NOuEeSg&riC`;_rR zp!@ro35w+T%fc^m%jJMdZ(v<>bT;$z?@Dgqo_b6!v!TBgOs34A&Z!0xxfgSJ?ekFP ztX+lOP5m4v%oQ{2*lSSKDM>jyAvo%q)e+K=3nd?*xzF?vo0GJZ=hm(m` zD%ABbh3;vWwFnAODg-a%iQDy&!o2Gt@SZGw+P>RRN5ezVidks)2wuUMaf?oYNGUCQ z0H}8&9UQW4ces8%MjU^;-43GDWq(8C&KeamDkX0aN+%n&;(vV&e}6u@oOFMGt;6el zjYg#yeU$rreJwU`ey6f4!Eg==eO|(fPc5;p_Zvcm~N%-bKbj4wD`sb)PVB z__@ED` z*BvIY@PZ3iusSf!ArjVCp7FpU%DXM7D3}I9+odr6dZKF}fesRfk+IeZn zL7#A6UC#ucH-Dw3%^5pJUb8dkgbi^Sao(Q|_PWDA&ibLL%(}aQyzYoVid5)f-W}kP! zGcTN;6~w7sy15a#{6JKS6hT72j7V|1I%HZp@s=(9!l=d{1TBr0vva3TPO6iYP4N-? zZb-9{{j)vKbZ3rBjqd#)0wC(f2<k6Q1w(O6ka zU|)ZCHLNx#+d!wU`yVys+I9MS#rhYO=;d}$sQ)RtMZUg#rzSTrF`pcXW3I%9tY*1q zfJx6zG?TP`_ca4ad2`bRf^J4x86oIhv?&RnBFg0VA*a`x_&cFQM=IVL*c6A!`l)Cy z)ojLHxo5yVy_QwfePBYCsEWGp4U8qT%HB|>7;N2i$2Vysuvw#(u6!Qso7@Q*HfP8h zmL4Ez!SsTK)aLNyt?GzFy{7&-q{LYSV6IW!6Ph z2^m7iL|TXX&00!|Di2#5$rzDQk?{JfC>&zIbmQ^i-lpG=lq}5f;CGFqPw4@F=Z?48 zLC<+p%BVh{aoNT5TxgS{Gc*Oa1lp8N)XRE6BZ-b*`*i**X?k6fYb4mG0IebQ(8r6w*{v{_GhI)6%oEcvM~F${Mag2KnARl#PEidm2BI14kk>SMc=9X zbO_7K=JkQqq#+pY3gm}A*L(FDVM&LY>P5WcO#$(AM=Ri>nv!4yz)VRsI=NnA? zFoHCq3N`1YG2}+t9OEC?}sYvU!j@$9ui zJp+oCwML?bQPAKy4$g^5d%A-(sw9;)+aP6s=g#f7C~YqURxs4=O$?>8#x@-@HupyH z>e&*|0^uF__uXS&86mrwkuFb+elrA(<87YQ+bkP`y-C02EX~O-5dGI@)@2&pL7+DSu8a;n^ovuax?QwF*M4`vi&#j$~AF+r1 z521H(bh9*a_}4d2g_4y`20g+Tx7l~^or^gEp#)K`c{-8OS((^mp_fxn;nIhHWJ0{u z`!y%9Sjn2TRWse_=Ih6X10DC?y)aaRLD7*qDLeZ;gFfXls7eNikCxFEO2L}El58HT z#7*|%3)klhVb!H}O}obsH4uc-ua~Vgb7|46Z6>jECM^cgUw>KS)nzAx7n1ZEN;XL; zL{Hw4i6~TB1X9O8SP0_Nuh+-M8!JitwhV#6s?O-e`m`wku7l zl&fkUBXeEAo@@E?b5`W_0G6C%U*^XiQ0m1}CUHHp3>RN|)l^hoK1s$Zz~2xPBSn9| zqIL{!>h7#RkhL-)p|wZniCUgImm5L;AVu}GdP(4{ezp-5Cr{m`wLE`DzmCd#Cx`??7sW=Xn=kTxwlA>u@^*}R$Td~a^^ z-)?L|Gp3A!mS$6z+Z}UinT3v(o(gPnusPFsg=nXUTN{&Hvp7NRkXAVffCzig4_T&w z^9fzjgV!DAeZ8zHp@?~*+l2GozAub!My#Z)ohE=z6;atrspEQ&?Vi3YX6N#_Cn%g47x2|VsZT#blqS@h~yb>v+)3ij1J7$QM#+v z&$EV=y_2I7Aya>-gyyc`!|*snjOJEvTKkZHd#K+!VeEaP^MzHh=A+thnF2UOj4^Ei zc)s#5`gCwD-2?)k814OT?e`S>PM!IJF1O>cIs)Hu8z|j*YKY>dh7veF>S~8-H0$f} zFcox>KyaemPK-ZElOk#Bbh4NyAV9?oxxhoh2bV=qJZ=4k{qJ_d6$!A>DL+Sl_Z|QM zDE}8Arh4{9h6;}MX4WSE;N(JU-5Ps1*^8&=HN<}h1d1Rn-r)E^pEH+ajZ8SvNpS5~ zKrgRpyii?ChL)rb36sqI@9BHkdu|L}Z-N~AF2kiN4Yu;~3`+^;%n2@#xQxlOvobF& zkHw>T{B1g7=l%p{l-v5w{SXn4$YEp#*!|b~PPPK{knO8lX6QXLgs@beb&Y$+>)~Uc zulafANsKP+;^`+ewWhbOd9h#6T`+SY`hy0ZjL4&mBRA8ATVg7Z@I|No_m-GWc(}M; z^J-vv9m8ZqG4&=MIzAD@2X-$GQ!etRuqKghHnUp<0f1$`wBtFc47$z$?MQuRM=Rl6e5-l9HVjSGHc$xx<* zly7DWECiw$DSeC59GZoSBM=i#`7TSd(YF-xvk z73#uK+4e*jc%@D?bd&$IOs!UqGijU>TH=7L8_hSK*z(}m4b1|93@pFnH{r@6*`*9X za8Gtlmtl0qGW4X4Z+w3(-$@}z3+FQG_mqrR*Sbx(^6iv9;=}p!XF;|@sKsmgQy%F= zDO$)lb%K4YPju~!?>ac26gqDUvm3xwxJUsnh(cnCP?#jez5kMb-J0r@NxF5M6-phE z8+`#owIhAR;#hgb6lzft{NUZ#tf^#TPspf^DpgC8SFL&d>A2c{2JenuaP|6VyU<=y za>Bn+M{i8^7f-ThW+U)psk2&^8Uv&ebbd@#E!NQTOf5j0>rtoqEF3l`f}pI6_chwA z69(7nUxlA~^RVEYj);(wEQi|_R6t&?4$NX^)mDtI z?YKWY=k0X&_A!^!zi3Cng)u8ihI7acwmRh7lfiuv`-x`qu2X?{0?zAXIq_O|(oUL*-RNn=Yf`An+X;lb*-WFOP!oqu%M+urj5{du&Z zr0bk`fFuox5Al#&ZfHp7`RlF7=TxD8YN*)W`)TWZIi)jVOxxz&-vs8n%gW0Udw5WIRGI})~+_byll8ne_GwRR9ofjAr1O}?qE1a&# zI(%iFsd{{2f6&l@C3;T?Y(bRUQ@{uzPl#V+&2dBmP{W6=X^0Pry{1Ly>>4-BA3-vh zK#r%3@^^DYX?KBFsze_-m1^m~LV+LI8Ff2g>w`v^&}2Wv^oH4Ewg~^s`1e0;Qmp*) zd5k^Uic5IzT-;;mMB5CQ733=RfepZ%UbA0xI2pKMF!6 zWFr$%dK6kiqRZGRwiwY?@F7KVZ5jp48nA2tO;~i{+-s0r%sdB6Gz623>f!qW)XR3M zW4^bV&fvk|9O}7kA4C_^4-rR-TtBC1)=e*z_A9OOY5JNva9H~GWAFR|jTVEDHaX_k z?AoVxv8wg<5$aHqwijC1`qAWll-)-x?BYQP7r%SZOqN#|G|!9=33>oc5>}WK+qg;*;z%t zVacl!ZVG_`SQMMNTxpy`r|1Utmq!eGnQL^i0SYOck1Ud*tbLy@KCpT1;j(<6hg4v> z)Y0~OLZz6RfWPsEBZU(q4TqVer72~&D397Tr*P&Rpqk@|}!1KoVBvLDatJzZ5@y;}Y4be6TN zR<#4`w9FXE34QIg=_U#t0AR|KIl6+s4t#u$)i{)bU|Y0;A?WCv|ADO2>7N0!*SbWx z43`}a0er$qp3P!B&v}}{H^$Ddf!R?WHhjKm{DBw+j|$U420E9|&#|0OzRoB+9#SC| zG@$nKU34tXHw;#0e(5&$^c_~cx(>jB4Wik8nU&Dh=QhJ#|0x!TfH*tImsfYELj_W^ z8>L9$qpMppg|;YtducqEIy~9<=h!IW`KxV_z%%E@PVvcZLvwbhs<Z z9OuNFWR+{0N_#O?8`72VYzZn-()Ma=R~_*A9=dFuL+0CH%-TZjg$em_p z#*$XG38L*B09o+VvJreK7E}_}BW+!^5*OO>AO>nJ#8(CKlgdII0-AKeR%(QiyAgSk za?rb?*Ee4pjzj4>@_;~j%sgOB{ABvgAXTU`%YI(mlQ&;|-MlkiA#8se`&YyvmMHq+cbb_KS!l%4B@Me`yY+X_w5z^$jj6>cAPA6H#*ItTxJBR&x{ zXY(?4I$7cbO%wr6_QF2ER2^id=!x)R)uAKvhF-EukgVlVg1@5(R^pzOoZ~5swh*YWYiIF7$sB6E|cvcr(J%1rnG06BY z>cf^c2@ke61oS0hmM%{h2V$BFPQ3t_Ls#S60-H)QM%gX$07^v~;5H$pat#_kBAWuW zB3Pcs;$2&k3v2MY(7(ZmF8Yn;3>%_DsW~USJ0MCj$O+n#kLQ)KJriH`i}||KK@k-W z8X-%Cu0&&WxHshS*{zA(OZx&Me>vchd8#u21jWCSpvBUa1OlE*-#CFd~t25BB3hUsWq zD*j#0W9iQ4Z_6$O`Ugmh-+fms+t+Z%D;-wxwu-dWR6)GWUk64ugpwHr)Di-7k)!t_ ziIs2{@rG#-awTS!=j)RPGNj6Nm}cm*7A=X;)}X_OBILKo=L*WDbF(8xk*WzRF>RU- zv#D!;Lm=CObr_L6TS`?DkQo}E9FR@@TDmcy^HpF5Drt9>*u83C^4qhV?Q|V{U35Q{ zFX+&Do@ta1I;*(pn=gWnygYW@RFs@wh}Vbl&->0X-!y$1`_RaQ1pwY+Oo zuMuLIblgbrsXEx8$`)jzrV!P`ya`*@fWEI0#4q1+k87i_avFIr{tb#)#*tMwmAyIF zzE3)=PSyk``n$?4J!!(0C%zkvn#qz0rWL9Q{KtznB8}1BeQCVuUQ+u%T(yZ0CSMd! z2w4h$;Nz1;+yd54LAOEZBD7?E8fP=#!5kYtmi-pVF70Q~g66Gu7PdIIz~rjR<>7oU z{cIO*+$HvR47H1okBoI3go-0-+8+Fe&ZSU`B?Yym2nU4Rt?XL^HCZq9Ya_&NAzu! zdxC??owM$b_o`(W@EP=@_jBNIgSn~^EFD2bW;I@Majg-aT)H`NhezKnirajV(6>Es%e710GKdk6hb4KJsai1* z()%PjMU6zodIb21EzpZyP#7DIg9%;HOO|v1A4=@^LUT{lRacVNh#e2v53d#8hTZX% zBa#L&{By^mk_#08c^&`BJTnxqI6UKX)P>A81WaKJ*hOanCbGUs6h{edj%fTFLDy7v z$RFW%f1P>m$UE(?879b8GX2P&RFgo^_W*lnxJEZ%FRUvEKR*(8OwxU?L0-;%Lr19y>5%t4=j13jrYkA#|3+pVq*1%G`L5peVbH)5 zm;}?ExMK(e+eq*C;)|@ojb_Vo!@EfL0)71|j|yy5iG3tX#VLd^_pG5M5_UomGbhqU zi%1G~)Pz|)NWNK02sxqW6)Ei9jo=3;tF+*Egvrsz@|wf?RV9lgikLuIB~T<4Nm;#! z(z`%({sm{Dh$? zp$rzm1Mb)&e{U5W%C?^!jFhtXbPWNV;(Ls{W32IK9n1OB7h}0b*>t>9^m+)=$XTVZ z`9PQ)^*Mlc%q39^W*zg{h?!a_+ir4)4uv*Xb5)tGNHeOp2s$P}GUq1MJ*FUvmXG7@ zpk{X-0ipx-^RaO?R{fPjuhpG`hX+Lka3N&a+<1y(Y#We$jZ zonLCxmU!;&Em6+ED9*hVbE;l}y`%e0*N5Y~Vq@$x%OfTD8F-Y2mggPnfiQ_%LR&(L z+Z2f~;n>yY981O5n5w+vG_|#&5K#@RHEJqVF##28IcxVS5YxjOEYHg?wxC3S*L@#Q z5f$jSB4o?}f78ZGo@KN<-tH*AWM zO<}9P2&GIjM}PrQ%HllOnXrFlyn!bs(S#)y)e9BNIG}rQ5Ud~;6QsNV{LCCBau8<* zm2Iq0UF&G7SyB4LB$c2km?H@!1^p)#HsM3Uo15EoV)jtxC?KH0<&{=@WoWbm-ssxA zPDmLe4V@JE1n5ZH^v(PS1JOX()74J<>iAF3q|*Bs!k7UlEuF8-cIS)pS+s_fpD!*H#>6CV;3<-aSQ-uNrSHvrA+E-m%Bq>4>p zWCbJc90M*YA1E-48(@Vqy8Nz~iP@DxeO+}hi`NhbBL&1q1E#1^r2gB!UDrTERh}$nFIPT;Klw`jFZw`} zO`~YZpy;Jrak_l2xw6q?ZIM<|KCPlvm5o+2{zmLBKGa7DzWV7|0SmwiU16h;0c>TR z;yXxjf1o{Svd1LUNU%4GZIWo^Nv@vi*Oxcn$y8GrtBm}ck3at`juPqUb&yL5TNrv> zRj~iB-@Hq=d`3*Dloo>vE1Yw~r#MWjiVkyG^ZubzvsN8{vCUoCF&z1G*2V%$rg|PQ zI3f4q&V=s(LkM8V!;cn>Tx#oSW^l7+Qe3A>sT51=WQ+6>nYwR8HO?ZntLNc5m3Z$e zMuF9h?L?Fj5to=-#$mr~r4q|K<%zS@hWajbcg1D6&LjjE9JI0(8-%apqtSZG>@MP? z;oX1zIdD+pD^GgfLh*JBSJrx@%&W6GBM6&EW0}r#K0^SvH3b>OO^Ozl!YUw5C?%H{ z;b0R)RpwT)2SM4+F93=Y-i|j%hYi8WOZsh^C~=rk`K2}oHI>!GtrFNzbT~8Ca^Vcu z#F?`nL{7WOzLhW0GZ+Wp1(iGlKk95rmc9d$^qW5nb}{RS)JY56|4W^|L;nIb3$Sf+ z(bEv#Y#wsvtse!rAx6``Tx581YhH(DqNLIc7$;ZzqYTEH=*1qo3zMn&Ww38ybyTEc z<^hRD$A}N!#DYd*3XeYJqnC)YVR^kCxR9_$QKvPoSmbdqTHV&-Rq$BiYuu6gx$XhQ=g;1{5452>vkP1f!9i z$wuSQygL%zp@l3cuT(Az=@)SlN$ng)d~TI4VWb3)EAMQcWqO5Ag8)Yr&AQuxT*^HOqS)uCkUil7s8KmpAb2ja*sj#(R4zKD}uIy(k_T zT#R*Qu|Te+0A~PsLt;#~Ck#-;CeR@>z=UOs_*?Vdh~6`cvPEwCVSH*(9iqiNrpP-8 zvF~I@iq@UPHJ%M&k0LL%c*%!zwLg(fUvL*4>kxZcgwvlC<8zL2b=m3V%f3FTMnm9r zhJ6KQ4hwx`*$+O}>LXp%bN6#Ed~6F697~G%t;#yJ%3kjmv)Z9%Q|gGVOWck07){4n`aF}?knn)?yqKM4o-MapGQt;=q+L)3#vb3h5LRNf8fc1)UuY3tc~{?9jn?b zJD#Au0)WbMWD2Yg>t+L8ki-FqoV=S)TWa+hu~5ADyO%&L+sF>taOl2cNh5rCj1zNz z-|(wR;dTPt#0H#!J<)>x^;-nWDVj#06#Fv$>*yYpuHFV8(5|CZ$)XAilN=1Gf{-Y~ zv(8y3FlIYQuY#CisKfFr@0oa3`KW`aI5wmV!eS%u%`b>#BPM+xgaC2t7~cPR>pUlX z_)!fBt@*|D(T>W0MFfVP+hxoIdeiDc=z`dm6G1@^qZ0I4D;&bflWiq@Mm0jRnkrVZ zl+3cMrHx$ErJH7`j6*8EksEGB3d|56GP`=o@G_GZLX60{94X5-rObvC40UbmZl%hAH7 z>=(lHcx<%DXz<~KMzo^zmz*`o=Fh*CDTXb(hJxp`uuQ9lxAZ!CU<5U}9YE9}0PY-s zHpRDEZ;YN^ACt)NJ|iw}64x@UWgq`%a~9>je)Rw3nbWL(2Lsz}xkUc#S4pqGxp8sb z(u(i#d28;(%PxF){eRrN{dOPkvlX{$6c5 zJ#~KBgZM1f_5FQX_Qo&&lr8>#^y7h3YOC49^upyLGBKe@BRM5!TvJ)|M6I7Iu&P6TNMu6WsnP;?Gyy=!A{9f z4k*emDArHTFG>Z?b^?#`7~Oge47#34@!p3GM2_BP-S2#IbMCFFXQg)W-Id_rWA_ue z?^Lv%b@mdK!uoxCGk0I*tNmd3ea@evbE-d|D4b4UKgPB8m_}!kNJG*r?yZuGuV1w} z6ObSqI%itcK?&J|i#!W!r*7^t$W6#BVLisVp;2AaJHpg0`nguq#?wPQR-6SRCG;owSKS}!#RT~3XYcDlQj<7$FaNJ zve!59Ik=kYNnnmXp?!WK;drRlT&+0#FKYqCs!rQv4{3wH{WqOO` z0>9ah?rp#8w4tW%OksY^`VC92>HgVvo$1HnjWZfWV&1>-HCXC4-N~`9ez(o;m6z-o zY(6~nh<>_e&(g~`v--LmZ6sO?#rX2VJ-yn>ReJ4T35b7xz2U9HyhVT7XRMvnvcy>^ z-S&}WfXPmMdykL6X?4tP+?S1We6|5oV+C-}p#XAfOe`oEO^m=)2nBN{2WHs)BD(^3Kg_sTeCS#3>Zu|UdFRc&tX}7~23Ad2ASv6e6YyN& z{+vU}&kg+|^;+9pEhdCJRVRFjN$?i9Yhb)^&hwo9&9)v}^gg}vmv}DQS;x&Uo96WG zkY=L6gR)%bOUHM8eer|;bzCiP!@P?Z3`Bkx+_CPvI>rBYn?Q_N85^^QfSw?CtJI(G zTEcwm1^ka6u|0gi`hm{0muXvPtUunOe(h>-oK3#@%izLLzxuS7pI1$O{yM&LVp{m_ zPe0Y7m&>bN;5WVVRQ}giqxE&S#l8h9?8$$=>BOff3ys50{ z-4ygy#t2hp0M{J@BL{uWF}eZhtCtW4G-`njK&)j#*NVQb1EF=1E<`K(Di3rMP#Y8o u{R|A*z_nHw%?otxs5Jnx_Me_e+M)G9fHx~Jy@J+g@iGJfll)U35Dx(J$!G=u literal 0 HcmV?d00001