diff --git a/.env.test b/.env.test index d65627ce33b..a9c911b48e8 100644 --- a/.env.test +++ b/.env.test @@ -16,7 +16,7 @@ STRIPE_PUBLIC_TEST_API_KEY="bogus_stripe_publishable_key" SITE_URL="test.host" OPENID_APP_ID="test-provider" -OPENID_APP_SECRET="12345" +OPENID_APP_SECRET="dummy-openid-app-secret-token" OPENID_REFRESH_TOKEN="dummy-refresh-token" ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY="test_primary_key" diff --git a/Gemfile b/Gemfile index fb414a745ab..54a0affdc12 100644 --- a/Gemfile +++ b/Gemfile @@ -86,7 +86,7 @@ gem "active_model_serializers", "0.8.4" gem 'activerecord-session_store' gem 'acts-as-taggable-on' gem 'angularjs-file-upload-rails', '~> 2.4.1' -gem 'bigdecimal', '3.0.2' +gem 'bigdecimal' gem 'bootsnap', require: false gem 'geocoder' gem 'gmaps4rails' diff --git a/Gemfile.lock b/Gemfile.lock index 3bd6dacdf6d..2c1e11b6b2f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -180,7 +180,7 @@ GEM base64 (0.2.0) bcp47_spec (0.2.1) bcrypt (3.1.20) - bigdecimal (3.0.2) + bigdecimal (3.1.8) bindata (2.5.0) bindex (0.8.1) bootsnap (1.18.3) @@ -865,7 +865,7 @@ DEPENDENCIES angularjs-rails (= 1.8.0) arel-helpers (~> 2.12) aws-sdk-s3 - bigdecimal (= 3.0.2) + bigdecimal bootsnap bugsnag bullet diff --git a/app/controllers/concerns/order_completion.rb b/app/controllers/concerns/order_completion.rb index 58bf7a03b92..d98faf149bb 100644 --- a/app/controllers/concerns/order_completion.rb +++ b/app/controllers/concerns/order_completion.rb @@ -51,7 +51,7 @@ def order_invalid_for_checkout? def order_invalid! Bugsnag.notify("Notice: invalid order loaded during checkout") do |payload| - payload.add_metadata :order, @order + payload.add_metadata :order, :order, @order end flash[:error] = t('checkout.order_not_loaded') diff --git a/app/controllers/concerns/order_stock_check.rb b/app/controllers/concerns/order_stock_check.rb index 13ff145ae89..7b948765337 100644 --- a/app/controllers/concerns/order_stock_check.rb +++ b/app/controllers/concerns/order_stock_check.rb @@ -21,7 +21,7 @@ def check_order_cycle_expiry return unless current_order_cycle&.closed? Bugsnag.notify("Notice: order cycle closed during checkout completion") do |payload| - payload.add_metadata :order, current_order + payload.add_metadata :order, :order, current_order end current_order.empty! current_order.set_order_cycle! nil diff --git a/app/controllers/errors_controller.rb b/app/controllers/errors_controller.rb index 17a0f08fa50..262325f0292 100644 --- a/app/controllers/errors_controller.rb +++ b/app/controllers/errors_controller.rb @@ -7,7 +7,7 @@ def not_found Bugsnag.notify("404") do |event| event.severity = "info" - event.add_metadata(:request, request.env) + event.add_metadata(:request, :env, request.env) end render status: :not_found, formats: :html end diff --git a/app/controllers/spree/admin/products_controller.rb b/app/controllers/spree/admin/products_controller.rb index d383bee4e8e..788d019dce2 100644 --- a/app/controllers/spree/admin/products_controller.rb +++ b/app/controllers/spree/admin/products_controller.rb @@ -214,10 +214,10 @@ def set_stock_levels(product, on_hand, on_demand) def notify_bugsnag(error, product, variant) Bugsnag.notify(error) do |report| - report.add_metadata(:product, product.attributes) - report.add_metadata(:product_error, product.errors.first) unless product.valid? - report.add_metadata(:variant, variant.attributes) - report.add_metadata(:variant_error, variant.errors.first) unless variant.valid? + report.add_metadata(:product, + { product: product.attributes, variant: variant.attributes }) + report.add_metadata(:product, :product_error, product.errors.first) unless product.valid? + report.add_metadata(:product, :variant_error, variant.errors.first) unless variant.valid? end end diff --git a/app/jobs/amend_backorder_job.rb b/app/jobs/amend_backorder_job.rb index 0b3f401d001..1e6ffd78543 100644 --- a/app/jobs/amend_backorder_job.rb +++ b/app/jobs/amend_backorder_job.rb @@ -28,7 +28,7 @@ def amend_backorder(order) urls = FdcUrlBuilder.new(reference_link) orderer = FdcBackorderer.new(user, urls) - backorder = orderer.find_open_order + backorder = orderer.find_open_order(order) variants = order_cycle.variants_distributed_by(distributor) adjust_quantities(order_cycle, user, backorder, urls, variants) diff --git a/app/jobs/backorder_job.rb b/app/jobs/backorder_job.rb index c8ce3f64a17..a4648e930ee 100644 --- a/app/jobs/backorder_job.rb +++ b/app/jobs/backorder_job.rb @@ -13,14 +13,14 @@ class BackorderJob < ApplicationJob sidekiq_options retry: 0 def self.check_stock(order) - links = SemanticLink.where(variant_id: order.line_items.select(:variant_id)) + links = SemanticLink.where(subject: order.variants) perform_later(order) if links.exists? rescue StandardError => e # Errors here shouldn't affect the checkout. So let's report them # separately: Bugsnag.notify(e) do |payload| - payload.add_metadata(:order, order) + payload.add_metadata(:order, :order, order) end end @@ -133,5 +133,7 @@ def place_order(user, order, orderer, backorder) .perform_later( user, order.distributor, order.order_cycle, placed_order.semanticId ) + + order.exchange.semantic_links.create!(semantic_id: placed_order.semanticId) end end diff --git a/app/jobs/complete_backorder_job.rb b/app/jobs/complete_backorder_job.rb index 6764be1ed18..db177c5cf5b 100644 --- a/app/jobs/complete_backorder_job.rb +++ b/app/jobs/complete_backorder_job.rb @@ -19,12 +19,18 @@ class CompleteBackorderJob < ApplicationJob # someone else's order. def perform(user, distributor, order_cycle, order_id) order = FdcBackorderer.new(user, nil).find_order(order_id) + + return if order&.lines.blank? + urls = FdcUrlBuilder.new(order.lines[0].offer.offeredItem.semanticId) variants = order_cycle.variants_distributed_by(distributor) adjust_quantities(order_cycle, user, order, urls, variants) FdcBackorderer.new(user, urls).complete_order(order) + + exchange = order_cycle.exchanges.outgoing.find_by(receiver: distributor) + exchange.semantic_links.find_by(semantic_id: order_id)&.destroy! rescue StandardError BackorderMailer.backorder_incomplete(user, distributor, order_cycle, order_id).deliver_later diff --git a/app/jobs/stock_sync_job.rb b/app/jobs/stock_sync_job.rb index 14d27f54e3a..cea16a8d140 100644 --- a/app/jobs/stock_sync_job.rb +++ b/app/jobs/stock_sync_job.rb @@ -17,7 +17,7 @@ def self.sync_linked_catalogs(order) # Errors here shouldn't affect the shopping. So let's report them # separately: Bugsnag.notify(e) do |payload| - payload.add_metadata(:order, order) + payload.add_metadata(:order, :order, order) end end @@ -30,13 +30,13 @@ def self.sync_linked_catalogs_now(order) # Errors here shouldn't affect the shopping. So let's report them # separately: Bugsnag.notify(e) do |payload| - payload.add_metadata(:order, order) + payload.add_metadata(:order, :order, order) end end def self.catalog_ids(order) stock_controlled_variants = order.variants.reject(&:on_demand) - links = SemanticLink.where(variant_id: stock_controlled_variants.map(&:id)) + links = SemanticLink.where(subject: stock_controlled_variants) semantic_ids = links.pluck(:semantic_id) semantic_ids.map do |product_id| FdcUrlBuilder.new(product_id).catalog_url diff --git a/app/jobs/subscription_confirm_job.rb b/app/jobs/subscription_confirm_job.rb index 4a7e69a3842..2182671049e 100644 --- a/app/jobs/subscription_confirm_job.rb +++ b/app/jobs/subscription_confirm_job.rb @@ -56,7 +56,7 @@ def confirm_order!(order) send_failed_payment_email(order) else Bugsnag.notify(e) do |payload| - payload.add_metadata :order, order + payload.add_metadata :order, :order, order end send_failed_payment_email(order, e.message) end @@ -109,8 +109,7 @@ def send_failed_payment_email(order, error_message = nil) SubscriptionMailer.failed_payment_email(order).deliver_now rescue StandardError => e Bugsnag.notify(e) do |payload| - payload.add_metadata :order, order - payload.add_metadata :error_message, error_message + payload.add_metadata :subscription_data, { order:, error_message: } end end end diff --git a/app/models/exchange.rb b/app/models/exchange.rb index 32aa3237abc..677e81b3d76 100644 --- a/app/models/exchange.rb +++ b/app/models/exchange.rb @@ -22,6 +22,10 @@ class Exchange < ApplicationRecord has_many :exchange_fees, dependent: :destroy has_many :enterprise_fees, through: :exchange_fees + # Links to open backorders of a distributor (outgoing exchanges only) + # Don't allow removal of distributor from OC while we have an open backorder. + has_many :semantic_links, as: :subject, dependent: :restrict_with_error + validates :sender_id, uniqueness: { scope: [:order_cycle_id, :receiver_id, :incoming] } before_destroy :delete_related_exchange_variants, prepend: true diff --git a/app/models/semantic_link.rb b/app/models/semantic_link.rb index ea8fa0bdba7..33cb42d3832 100644 --- a/app/models/semantic_link.rb +++ b/app/models/semantic_link.rb @@ -2,7 +2,9 @@ # Link a Spree::Variant to an external DFC SuppliedProduct. class SemanticLink < ApplicationRecord - belongs_to :variant, class_name: "Spree::Variant" + self.ignored_columns += [:variant_id] + + belongs_to :subject, polymorphic: true validates :semantic_id, presence: true end diff --git a/app/models/spree/ability.rb b/app/models/spree/ability.rb index 3233e58c6d9..572efddd8ce 100644 --- a/app/models/spree/ability.rb +++ b/app/models/spree/ability.rb @@ -244,7 +244,7 @@ def add_product_management_abilities(user) can [:admin, :index, :show, :create], ::Admin::ReportsController can [:admin, :show, :create, :customers, :orders_and_distributors, :group_buys, :payments, :orders_and_fulfillment, :products_and_inventory, :order_cycle_management, - :packing, :enterprise_fee_summary, :bulk_coop], :report + :packing, :enterprise_fee_summary, :bulk_coop, :suppliers], :report end def add_order_cycle_management_abilities(user) diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index 1e167f8e92a..d1951db458a 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -67,8 +67,12 @@ def states class_name: 'Spree::Adjustment', dependent: :destroy has_many :invoices, dependent: :restrict_with_exception - belongs_to :order_cycle, optional: true + has_one :exchange, ->(order) { + outgoing.to_enterprise(order.distributor) + }, through: :order_cycle, source: :exchanges + has_many :semantic_links, through: :exchange + belongs_to :distributor, class_name: 'Enterprise', optional: true belongs_to :customer, optional: true has_one :proxy_order, dependent: :destroy diff --git a/app/models/spree/product.rb b/app/models/spree/product.rb index bb1f2d2f598..8930d6868ab 100755 --- a/app/models/spree/product.rb +++ b/app/models/spree/product.rb @@ -211,10 +211,6 @@ def set_property(property_name, property_value) end end - def total_on_hand - stock_items.sum(&:count_on_hand) - end - def properties_including_inherited # Product properties override producer properties ps = product_properties.all diff --git a/app/models/spree/variant.rb b/app/models/spree/variant.rb index fefd41ac0d8..72a180c7eda 100644 --- a/app/models/spree/variant.rb +++ b/app/models/spree/variant.rb @@ -60,7 +60,7 @@ class Variant < ApplicationRecord has_many :exchanges, through: :exchange_variants has_many :variant_overrides, dependent: :destroy has_many :inventory_items, dependent: :destroy - has_many :semantic_links, dependent: :delete_all + has_many :semantic_links, as: :subject, dependent: :delete_all has_many :supplier_properties, through: :supplier, source: :properties localize_number :price, :weight diff --git a/app/services/fdc_backorderer.rb b/app/services/fdc_backorderer.rb index c5b3aa5cf16..b77e69f4cf7 100644 --- a/app/services/fdc_backorderer.rb +++ b/app/services/fdc_backorderer.rb @@ -10,7 +10,7 @@ def initialize(user, urls) end def find_or_build_order(ofn_order) - find_open_order || build_new_order(ofn_order) + find_open_order(ofn_order) || build_new_order(ofn_order) end def build_new_order(ofn_order) @@ -19,7 +19,37 @@ def build_new_order(ofn_order) end end - def find_open_order + # Try the new method and fall back to old method. + def find_open_order(ofn_order) + lookup_open_order(ofn_order) || find_last_open_order + end + + def lookup_open_order(ofn_order) + # There should be only one link at the moment but we may support + # ordering from multiple suppliers one day. + semantic_ids = ofn_order.semantic_links.pluck(:semantic_id) + + semantic_ids.lazy + # Make sure we select an order from the right supplier: + .select { |id| id.starts_with?(urls.orders_url) } + # Fetch the order from the remote DFC server, lazily: + .map { |id| find_order(id) } + .compact + # Just in case someone completed the order without updating our database: + .select { |o| o.orderStatus[:path] == "Held" } + .first + # The DFC Connector doesn't recognise status values properly yet. + # So we are overriding the value with something that can be exported. + &.tap { |o| o.orderStatus = "dfc-v:Held" } + end + + # DEPRECATED + # + # We now store links to orders we placed. So we don't need to search + # through all orders and pick a random open one. + # But for compatibility with currently open order cycles that don't have + # a stored link yet, we keep this method as well. + def find_last_open_order graph = import(urls.orders_url) open_orders = graph&.select do |o| o.semanticType == "dfc-b:Order" && o.orderStatus[:path] == "Held" diff --git a/app/services/place_proxy_order.rb b/app/services/place_proxy_order.rb index 03bd379d9d0..c6f942d3b02 100644 --- a/app/services/place_proxy_order.rb +++ b/app/services/place_proxy_order.rb @@ -25,7 +25,7 @@ def call rescue StandardError => e summarizer.record_and_log_error(:processing, order, e.message) Bugsnag.notify(e) do |payload| - payload.add_metadata :order, order + payload.add_metadata :order, :order, order end end @@ -57,8 +57,7 @@ def initialise_order true rescue StandardError => e Bugsnag.notify(e) do |payload| - payload.add_metadata :subscription, subscription - payload.add_metadata :proxy_order, proxy_order + payload.add_metadata(:proxy_order, { subscription:, proxy_order: }) end false end diff --git a/app/services/sets/product_set.rb b/app/services/sets/product_set.rb index 15ffe47e21c..c6a4521ab77 100644 --- a/app/services/sets/product_set.rb +++ b/app/services/sets/product_set.rb @@ -146,11 +146,11 @@ def count_result(saved) def notify_bugsnag(error, product, variant, variant_attributes) Bugsnag.notify(error) do |report| - report.add_metadata(:product, product.attributes) - report.add_metadata(:product_error, product.errors.first) unless product.valid? - report.add_metadata(:variant_attributes, variant_attributes) - report.add_metadata(:variant, variant.attributes) - report.add_metadata(:variant_error, variant.errors.first) unless variant.valid? + report.add_metadata( :product_set, + { product: product.attributes, variant_attributes:, + variant: variant.attributes } ) + report.add_metadata(:product_set, :product_error, product.errors.first) if !product.valid? + report.add_metadata(:product_set, :variant_error, variant.errors.first) if !variant.valid? end end end diff --git a/app/services/variant_units/option_value_namer.rb b/app/services/variant_units/option_value_namer.rb index 511a7a1bc04..40ca0a23609 100644 --- a/app/services/variant_units/option_value_namer.rb +++ b/app/services/variant_units/option_value_namer.rb @@ -58,7 +58,7 @@ def option_value_value_unit def option_value_value_unit_scaled unit_scale, unit_name = scale_for_unit_value - value = (@nameable.unit_value / unit_scale).to_d.truncate(2) + value = (@nameable.unit_value.to_d / unit_scale).round(2) [value, unit_name] end diff --git a/app/views/admin/reports/filters/_suppliers.html.haml b/app/views/admin/reports/filters/_suppliers.html.haml new file mode 100644 index 00000000000..0a9963544ff --- /dev/null +++ b/app/views/admin/reports/filters/_suppliers.html.haml @@ -0,0 +1,14 @@ += render 'admin/reports/date_range_form', f: f + +.row + .alpha.two.columns= label_tag nil, t(:report_hubs) + .omega.fourteen.columns= f.collection_select(:distributor_id_in, @data.orders_distributors, :id, :name, {}, {class: "select2 fullwidth", multiple: true}) + +.row + .alpha.two.columns= label_tag nil, t(:report_producers) + .omega.fourteen.columns= select_tag(:supplier_id_in, options_from_collection_for_select(@data.orders_suppliers, :id, :name, params[:supplier_id_in]), {class: "select2 fullwidth", multiple: true}) + +.row + .alpha.two.columns= label_tag nil, t(:report_customers_cycle) + .omega.fourteen.columns + = f.select(:order_cycle_id_in, report_order_cycle_options(@data.order_cycles), {selected: params.dig(:q, :order_cycle_id_in)}, {class: "select2 fullwidth", multiple: true}) diff --git a/app/webpacker/controllers/search_controller.js b/app/webpacker/controllers/search_controller.js index c79774b52af..dd34b33a353 100644 --- a/app/webpacker/controllers/search_controller.js +++ b/app/webpacker/controllers/search_controller.js @@ -9,6 +9,9 @@ export default class extends Controller { } changePage(event) { + const productsForm = document.querySelector("#products-form"); + if (productsForm) productsForm.scrollIntoView({ behavior: "smooth" }); + this.page.value = event.target.dataset.page; this.submitSearch(); this.page.value = 1; diff --git a/config/locales/ar.yml b/config/locales/ar.yml index e73bcf31379..dbb29d845ae 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -2804,6 +2804,7 @@ ar: report_header_quantity: الكمية report_header_max_quantity: اعلى كمية report_header_variant: النوع + report_header_variant_unit_name: اسم وحدة النوع report_header_variant_value: قيمة النوع report_header_variant_unit: وحدة النوع report_header_total_available: القيمة الكلية متاحة diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 1f3b64a2e05..7114b1420b4 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -2791,6 +2791,7 @@ ca: report_header_quantity: Quantitat report_header_max_quantity: Quantitat màxima report_header_variant: Variant + report_header_variant_unit_name: Nom de la unitat de la variant report_header_variant_value: Valor de la variant report_header_variant_unit: Unitat de la variant report_header_total_available: Total disponible diff --git a/config/locales/cy.yml b/config/locales/cy.yml index b74eaa5e258..1e61dbc6214 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -2949,6 +2949,7 @@ cy: report_header_quantity: Nifer report_header_max_quantity: Uchafswm nifer report_header_variant: Amrywiolyn + report_header_variant_unit_name: Enw Uned Amrywiolyn report_header_variant_value: Gwerth Amrywiolyn report_header_variant_unit: Uned Amrywiolyn report_header_total_available: Cyfanswm ar gael diff --git a/config/locales/de_CH.yml b/config/locales/de_CH.yml index 2f19c4fc43f..97b58cc9aa3 100644 --- a/config/locales/de_CH.yml +++ b/config/locales/de_CH.yml @@ -2712,6 +2712,7 @@ de_CH: report_header_quantity: Menge report_header_max_quantity: Max Menge report_header_variant: Produktvariante + report_header_variant_unit_name: Name der Varianteneinheit report_header_variant_value: Wert der Produktvarianten report_header_variant_unit: Varianteneinheit report_header_total_available: Insgesamt verfügbar diff --git a/config/locales/de_DE.yml b/config/locales/de_DE.yml index a73378322c5..c02235e93f0 100644 --- a/config/locales/de_DE.yml +++ b/config/locales/de_DE.yml @@ -2929,6 +2929,7 @@ de_DE: report_header_quantity: Menge report_header_max_quantity: Max Menge report_header_variant: Produktvariante + report_header_variant_unit_name: Name der Varianteneinheit report_header_variant_value: Wert der Produktvarianten report_header_variant_unit: Varianteneinheit report_header_total_available: Insgesamt verfügbar diff --git a/config/locales/el.yml b/config/locales/el.yml index 73380856fcd..a751fca40ce 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -2997,6 +2997,7 @@ el: report_header_quantity: Ποσότητα report_header_max_quantity: Μέγιστη Ποσότητα report_header_variant: Παραλαγή + report_header_variant_unit_name: Όνομα μεταβλητής report_header_variant_value: Παραλλαγή Αξίας report_header_variant_unit: Μονάδα μέτρησης μεταβλητής report_header_total_available: Σύνολο διαθέσιμο diff --git a/config/locales/en.yml b/config/locales/en.yml index 391d8e65bcf..360965ef4ee 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1776,6 +1776,7 @@ en: pack_by_customer: Pack By Customer pack_by_supplier: Pack By Supplier pack_by_product: Pack By Product + pay_your_suppliers: Pay your suppliers display: report_is_big: "This report is big and may slow down your device." display_anyway: "Display anyway" @@ -1822,6 +1823,8 @@ en: enterprise_fee_summary: name: "Enterprise Fee Summary" description: "Summary of Enterprise Fees collected" + suppliers: + name: Suppliers enterprise_fees_with_tax_report_by_order: "Enterprise Fees With Tax Report By Order" enterprise_fees_with_tax_report_by_producer: "Enterprise Fees With Tax Report By Producer" errors: @@ -3182,6 +3185,8 @@ See the %{link} to find out more about %{sitename}'s features and to start using report_render_options: Rendering Options report_header_ofn_uid: OFN UID report_header_order_cycle: Order Cycle + report_header_order_cycle_start_date: OC Start Date + report_header_order_cycle_end_date: OC End Date report_header_user: User report_header_email: Email report_header_status: Status @@ -3202,6 +3207,7 @@ See the %{link} to find out more about %{sitename}'s features and to start using report_header_hub_legal_name: "Hub Legal Name" report_header_hub_contact_name: "Hub Contact Name" report_header_hub_email: "Hub Public Email" + report_header_hub_contact_email: Hub Contact Email report_header_hub_owner_email: Hub Owner Email report_header_hub_phone: "Hub Phone Number" report_header_hub_address_line1: "Hub Address Line 1" @@ -3262,6 +3268,7 @@ See the %{link} to find out more about %{sitename}'s features and to start using report_header_quantity: Quantity report_header_max_quantity: Max Quantity report_header_variant: Variant + report_header_variant_unit_name: Variant Unit Name report_header_variant_value: Variant Value report_header_variant_unit: Variant Unit report_header_total_available: Total available @@ -3273,6 +3280,8 @@ See the %{link} to find out more about %{sitename}'s features and to start using report_header_producer_suburb: Producer Suburb report_header_producer_tax_status: Producer Tax Status report_header_producer_charges_sales_tax?: GST/VAT Registered + report_header_producer_abn_acn: Producer ABN/ACN + report_header_producer_address: Producer Address report_header_unit: Unit report_header_group_buy_unit_quantity: Group Buy Unit Quantity report_header_cost: Cost @@ -3333,7 +3342,11 @@ See the %{link} to find out more about %{sitename}'s features and to start using report_header_total_units: Total Units report_header_sum_max_total: "Sum Max Total" report_header_total_excl_vat: "Total excl. tax (%{currency_symbol})" + report_header_total_fees_excl_tax: "Total fees excl. tax (%{currency_symbol})" + report_header_total_tax_on_fees: "Total tax on fees (%{currency_symbol})" + report_header_total: "Total (%{currency_symbol})" report_header_total_incl_vat: "Total incl. tax (%{currency_symbol})" + report_header_total_excl_fees_and_tax: "Total excl. fees and tax (%{currency_symbol})" report_header_temp_controlled: TempControlled? report_header_is_producer: Producer? report_header_not_confirmed: Not Confirmed diff --git a/config/locales/en_AU.yml b/config/locales/en_AU.yml index aa2a74a1017..7f0254c35f4 100644 --- a/config/locales/en_AU.yml +++ b/config/locales/en_AU.yml @@ -2463,6 +2463,7 @@ en_AU: report_header_quantity: Quantity report_header_max_quantity: Max Quantity report_header_variant: Variant + report_header_variant_unit_name: Variant Unit Name report_header_variant_value: Variant Value report_header_variant_unit: Variant Unit report_header_total_available: Total available diff --git a/config/locales/en_BE.yml b/config/locales/en_BE.yml index 69fc68c3531..c8a69a61413 100644 --- a/config/locales/en_BE.yml +++ b/config/locales/en_BE.yml @@ -2321,6 +2321,7 @@ en_BE: report_header_quantity: Quantity report_header_max_quantity: Max Quantity report_header_variant: Variant + report_header_variant_unit_name: Variant Unit Name report_header_variant_value: Variant Value report_header_variant_unit: Variant Unit report_header_total_available: Total available diff --git a/config/locales/en_CA.yml b/config/locales/en_CA.yml index 60d92f8cf6e..002b44d67c7 100644 --- a/config/locales/en_CA.yml +++ b/config/locales/en_CA.yml @@ -3083,6 +3083,7 @@ en_CA: report_header_quantity: Quantity report_header_max_quantity: Max Quantity report_header_variant: Variant + report_header_variant_unit_name: Variant Unit Name report_header_variant_value: Variant Value report_header_variant_unit: Variant Unit report_header_total_available: Total available diff --git a/config/locales/en_DE.yml b/config/locales/en_DE.yml index 2ef0f5b7de6..c3979b5612c 100644 --- a/config/locales/en_DE.yml +++ b/config/locales/en_DE.yml @@ -2329,6 +2329,7 @@ en_DE: report_header_quantity: Quantity report_header_max_quantity: Max Quantity report_header_variant: Variant + report_header_variant_unit_name: Variant Unit Name report_header_variant_value: Variant Value report_header_variant_unit: Variant Unit report_header_total_available: Total available diff --git a/config/locales/en_FR.yml b/config/locales/en_FR.yml index 9ce7d1040b1..87c8b1590c4 100644 --- a/config/locales/en_FR.yml +++ b/config/locales/en_FR.yml @@ -1695,6 +1695,7 @@ en_FR: pack_by_customer: Pack By Customer pack_by_supplier: Pack By Supplier pack_by_product: Pack By Product + pay_your_suppliers: Pay your suppliers display: report_is_big: "This report is big and may slow down your device." display_anyway: "Display anyway" @@ -1740,6 +1741,8 @@ en_FR: enterprise_fee_summary: name: "Enterprise Fee Summary" description: "Summary of Enterprise Fees collected" + suppliers: + name: Suppliers enterprise_fees_with_tax_report_by_order: "Enterprise Fees With Tax Report By Order" enterprise_fees_with_tax_report_by_producer: "Enterprise Fees With Tax Report By Producer" errors: @@ -3026,6 +3029,8 @@ en_FR: report_render_options: Rendering Options report_header_ofn_uid: OFN UID report_header_order_cycle: Order Cycle + report_header_order_cycle_start_date: OC Start Date + report_header_order_cycle_end_date: OC End Date report_header_user: User report_header_email: Email report_header_status: Status @@ -3046,6 +3051,7 @@ en_FR: report_header_hub_legal_name: "Hub Legal Name" report_header_hub_contact_name: "Hub Contact Name" report_header_hub_email: "Hub Public Email" + report_header_hub_contact_email: Hub Contact Email report_header_hub_owner_email: Hub Owner Email report_header_hub_phone: "Hub Phone Number" report_header_hub_address_line1: "Hub Address Line 1" @@ -3106,6 +3112,7 @@ en_FR: report_header_quantity: Quantity report_header_max_quantity: Max Quantity report_header_variant: Variant + report_header_variant_unit_name: Variant Unit Name report_header_variant_value: Variant Value report_header_variant_unit: Variant Unit report_header_total_available: Total available @@ -3117,6 +3124,8 @@ en_FR: report_header_producer_suburb: Producer Suburb report_header_producer_tax_status: Producer Tax Status report_header_producer_charges_sales_tax?: GST/VAT Registered + report_header_producer_abn_acn: Producer ABN/ACN + report_header_producer_address: Producer Address report_header_unit: Unit report_header_group_buy_unit_quantity: Group Buy Unit Quantity report_header_cost: Cost @@ -3177,7 +3186,11 @@ en_FR: report_header_total_units: Total Units report_header_sum_max_total: "Sum Max Total" report_header_total_excl_vat: "Total excl. tax (%{currency_symbol})" + report_header_total_fees_excl_tax: "Total fees excl. tax (%{currency_symbol})" + report_header_total_tax_on_fees: "Total tax on fees (%{currency_symbol})" + report_header_total: "Total (%{currency_symbol})" report_header_total_incl_vat: "Total incl. tax (%{currency_symbol})" + report_header_total_excl_fees_and_tax: "Total excl. fees and tax (%{currency_symbol})" report_header_temp_controlled: TempControlled? report_header_is_producer: Producer? report_header_not_confirmed: Not Confirmed diff --git a/config/locales/en_GB.yml b/config/locales/en_GB.yml index 72e767ed983..cdb6adfd316 100644 --- a/config/locales/en_GB.yml +++ b/config/locales/en_GB.yml @@ -53,6 +53,7 @@ en_GB: primary_taxon: "Product Category" shipping_category_id: "Shipping Category" supplier: "Supplier" + variant_unit: "Unit Scale" variant_unit_name: "Variant Unit Name" unit_value: "Unit value" spree/credit_card: @@ -80,6 +81,8 @@ en_GB: white_label_logo_link: "Link for the logo used in shopfront" errors: models: + enterprise_fee: + inherit_tax_requires_per_item_calculator: "Inheriting the tax category requires a per-item calculator." spree/image: attributes: attachment: @@ -104,6 +107,9 @@ en_GB: count_on_hand: using_producer_stock_settings_but_count_on_hand_set: "must be blank because using producer stock settings" limited_stock_but_no_count_on_hand: "must be specified because forcing limited stock" + connected_apps: + vine: + api_request_error: "An error occured when connecting to Vine API" messages: confirmation: "doesn't match %{attribute}" blank: "can't be blank" @@ -315,7 +321,34 @@ en_GB: We will look into it but please let us know if the problem persists. backorder_mailer: backorder_failed: + subject: "An automatic backorder failed" + headline: "Backordering failed" + description: | + We tried to place or update a backorder for out-of-stock items but + something went wrong. You may have negative stock and need to resolve + the issue to order more stock in. + hints: | + You may need to go to the OIDC settings and reconnect your account. + Also check that your supplier's catalog hasn't changed and is still + supplying all products you need. And please get in touch with us if + you have any questions. + order: "Affected order: %{number}" + stock: "Stock " product: "Product" + backorder_incomplete: + subject: "An automatic backorder failed to complete" + headline: "Your backorder is still a draft" + description: | + We tried to complete a backorder for out-of-stock items but + something went wrong. The backorder quantities may be too high if + you had cancellations. And your backorder won't be fulfilled while + it's in draft state. + hints: | + You may need to go to the OIDC settings and reconnect your account. + Also check that your supplier's catalog hasn't changed and is still + supplying all products you need. And please get in touch with us if + you have any questions. + affected: "%{enterprise}: %{order_cycle}" enterprise_mailer: confirmation_instructions: subject: "Please confirm the email address for %{enterprise}" @@ -554,10 +587,13 @@ en_GB: clone: Clone delete: Delete remove: Remove + preview: Preview image: edit: Edit product_preview: + product_preview: Product preview shop_tab: Shop + product_details_tab: Product details adjustments: skipped_changing_canceled_order: "You can't change a cancelled order." begins_at: Begins At @@ -684,6 +720,7 @@ en_GB: connected_apps_enabled: discover_regen: Discover Regenerative portal affiliate_sales_data: DFC anonymised orders API for research purposes + vine: Voucher Integration Engine (VINE) update: resource: Connected app settings customers: @@ -783,6 +820,7 @@ en_GB: variants: infinity: "Infinity" to_order_tip: "Items made to order do not have a set stock level, such as loaves of bread made fresh to order." + back_to_products_list: "Back To Products List" editing_product: "Editing Product" tabs: product_details: "Product Details" @@ -1303,11 +1341,21 @@ en_GB: connected_apps: legend: "Connected apps" affiliate_sales_data: + title: "INRAE / UFC QUE CHOISIR Research" tagline: "Allow this research project to access your orders data anonymously" enable: "Allow data sharing" disable: "Stop sharing" loading: "Loading" need_to_be_manager: "Only managers can connect apps." + description_html: | +

+ INRAE and UFC QUE CHOISIR are teaming up to study food prices in short food systems and compare them with prices in the supermarket, for a given set of products. The data that is used by INRAE is mixed with data coming from other short food chain platforms in France. No individual product prices will be publicly disclosed through this project. +

+

+ Learn more about this research project + +

discover_regen: title: "Discover Regenerative" tagline: "Allow Discover Regenerative to publish your enterprise information." @@ -1332,9 +1380,25 @@ en_GB:

vine: + title: "Voucher Integration Engine (VINE)" + tagline: "Allow redemption of VINE vouchers in your shopfront." enable: "Resources" disable: "Disconnect" need_to_be_manager: "Only managers can connect apps." + vine_api_key: "VINE API Key" + vine_secret: "VINE secret" + description_html: | +

+ To enable VINE for your enterprise, enter your API key and secret. +

+

+ VINE + +

+ api_parameters_empty: "Please enter an API key and a secret" + api_parameters_error: "Check you entered your API key and secret correctly, contact your instance manager if the error persists" + connection_error: "API connection error, please try again" + setup_error: "VINE API is not configured, please contact your instance manager" actions: edit_profile: Settings properties: Properties @@ -1387,8 +1451,10 @@ en_GB: contact_name: Contact Name edit: editing: 'Settings:' + back_link: Back To Enterprises List new: title: New Enterprise + back_link: Back To Enterprises List welcome: welcome_title: Welcome to the Open Food Network! welcome_text: You have successfully created a @@ -1629,6 +1695,7 @@ en_GB: pack_by_customer: Pack By Customer pack_by_supplier: Pack By Supplier pack_by_product: Pack By Product + pay_your_suppliers: Pay your suppliers display: report_is_big: "This report is big and may slow down your device." display_anyway: "Display anyway" @@ -1674,6 +1741,8 @@ en_GB: enterprise_fee_summary: name: "Enterprise Fee Summary" description: "Summary of Enterprise Fees collected" + suppliers: + name: Suppliers enterprise_fees_with_tax_report_by_order: "Enterprise Fees With Tax Report By Order" enterprise_fees_with_tax_report_by_producer: "Enterprise Fees With Tax Report By Producer" errors: @@ -2960,6 +3029,8 @@ en_GB: report_render_options: Rendering Options report_header_ofn_uid: OFN UID report_header_order_cycle: Order Cycle + report_header_order_cycle_start_date: OC Start Date + report_header_order_cycle_end_date: OC End Date report_header_user: User report_header_email: Email report_header_status: Status @@ -2980,6 +3051,7 @@ en_GB: report_header_hub_legal_name: "Hub Legal Name" report_header_hub_contact_name: "Hub Contact Name" report_header_hub_email: "Hub Public Email" + report_header_hub_contact_email: Hub Contact Email report_header_hub_owner_email: Hub Owner Email report_header_hub_phone: "Hub Phone Number" report_header_hub_address_line1: "Hub Address Line 1" @@ -3040,6 +3112,7 @@ en_GB: report_header_quantity: Quantity report_header_max_quantity: Max Quantity report_header_variant: Variant + report_header_variant_unit_name: Variant Unit Name report_header_variant_value: Variant Value report_header_variant_unit: Variant Unit report_header_total_available: Total available @@ -3051,6 +3124,8 @@ en_GB: report_header_producer_suburb: Producer Suburb report_header_producer_tax_status: Tax Rate Name report_header_producer_charges_sales_tax?: GST/VAT Registered + report_header_producer_abn_acn: Producer ABN/ACN + report_header_producer_address: Producer Address report_header_unit: Unit report_header_group_buy_unit_quantity: Group Buy Unit Quantity report_header_cost: Cost @@ -3111,7 +3186,11 @@ en_GB: report_header_total_units: Total Units report_header_sum_max_total: "Sum Max Total" report_header_total_excl_vat: "Total excl. tax (%{currency_symbol})" + report_header_total_fees_excl_tax: "Total fees excl. tax (%{currency_symbol})" + report_header_total_tax_on_fees: "Total tax on fees (%{currency_symbol})" + report_header_total: "Total (%{currency_symbol})" report_header_total_incl_vat: "Total incl. tax (%{currency_symbol})" + report_header_total_excl_fees_and_tax: "Total excl. fees and tax (%{currency_symbol})" report_header_temp_controlled: TempControlled? report_header_is_producer: Producer? report_header_not_confirmed: Not Confirmed @@ -3588,7 +3667,22 @@ en_GB: Please refresh the page and try again, if it fails a second time, please contact us for support. trix: + bold: "Bold" + bullets: "Bullets" code: "Code" + heading1: "Heading" + hr: "Horizontal rule" + indent: "Increase Level" + italic: "Italic" + link: "Link" + numbers: "Numbers" + outdent: "Decrease Level" + quote: "Quote" + redo: "Redo" + strike: "Strikethrough" + undo: "Undo" + unlink: "Unlink" + url: "URL" urlPlaceholder: "Please enter a URL to insert" inflections: each: @@ -3901,6 +3995,7 @@ en_GB: tax_rate_amount_explanation: "Tax rates are a decimal amount to aid in calculations, (i.e. if the tax rate is 5% then enter 0.05)" included_in_price: "Included in Price" show_rate_in_label: "Show rate in label" + back_to_tax_rates_list: "Back To Tax Rates List" tax_settings: "Tax Settings" zones: "Zones" new_zone: "New Zone" @@ -3913,6 +4008,7 @@ en_GB: iso_name: "ISO Name" states_required: "Counties Required" editing_country: "Editing Country" + back_to_countries_list: "Back To Countries List" states: "Counties" abbreviation: "Abbreviation" new_state: "New County" @@ -4077,6 +4173,7 @@ en_GB: continue: "Continue" new: new_return_authorization: "New Return Authorisation" + back_to_return_authorizations_list: "Back To Return Authorisations List" continue: "Continue" edit: receive: "receive" @@ -4289,6 +4386,8 @@ en_GB: new_product: "New Product" supplier: "Supplier" supplier_select_placeholder: "Select a supplier" + search_for_suppliers: "Search for suppliers" + search_for_units: "Search for units" product_name: "Product Name" units: "Unit Size" value: "Value" @@ -4405,6 +4504,7 @@ en_GB: total: "Total" billing_address_name: "Name" taxons: + back_to_list: "Back To Product Categories List" index: title: "Product Categories" new_taxon: 'New product category' @@ -4415,6 +4515,7 @@ en_GB: destroy: delete_taxon: success: "Successfully deleted the product category" + error: "Unable to delete the product category due to assigned products." form: name: Name meta_title: Meta Title diff --git a/config/locales/en_IE.yml b/config/locales/en_IE.yml index cd0c52ff630..22442411d61 100644 --- a/config/locales/en_IE.yml +++ b/config/locales/en_IE.yml @@ -3106,6 +3106,7 @@ en_IE: report_header_quantity: Quantity report_header_max_quantity: Max Quantity report_header_variant: Variant + report_header_variant_unit_name: Variant Unit Name report_header_variant_value: Variant Value report_header_variant_unit: Variant Unit report_header_total_available: Total available diff --git a/config/locales/en_IN.yml b/config/locales/en_IN.yml index 4915a98f83a..70436969903 100644 --- a/config/locales/en_IN.yml +++ b/config/locales/en_IN.yml @@ -2400,6 +2400,7 @@ en_IN: report_header_quantity: Quantity report_header_max_quantity: Max Quantity report_header_variant: Variant + report_header_variant_unit_name: Variant Unit Name report_header_variant_value: Variant Value report_header_variant_unit: Variant Unit report_header_total_available: Total available diff --git a/config/locales/en_NZ.yml b/config/locales/en_NZ.yml index f5b47a61d2e..c32e2e94854 100644 --- a/config/locales/en_NZ.yml +++ b/config/locales/en_NZ.yml @@ -2696,6 +2696,7 @@ en_NZ: report_header_quantity: Quantity report_header_max_quantity: Max Quantity report_header_variant: Variant + report_header_variant_unit_name: Variant Unit Name report_header_variant_value: Variant Value report_header_variant_unit: Variant Unit report_header_total_available: Total available diff --git a/config/locales/en_PH.yml b/config/locales/en_PH.yml index e10a40481fa..a36c4606046 100644 --- a/config/locales/en_PH.yml +++ b/config/locales/en_PH.yml @@ -2370,6 +2370,7 @@ en_PH: report_header_quantity: Quantity report_header_max_quantity: Max Quantity report_header_variant: Variant + report_header_variant_unit_name: Variant Unit Name report_header_variant_value: Variant Value report_header_variant_unit: Variant Unit report_header_total_available: Total available diff --git a/config/locales/en_US.yml b/config/locales/en_US.yml index ca8f3ba0b0c..4446982e556 100644 --- a/config/locales/en_US.yml +++ b/config/locales/en_US.yml @@ -2650,6 +2650,7 @@ en_US: report_header_quantity: Quantity report_header_max_quantity: Max Quantity report_header_variant: Variant + report_header_variant_unit_name: Variant Unit Name report_header_variant_value: Variant Value report_header_variant_unit: Variant Unit report_header_total_available: Total available diff --git a/config/locales/en_ZA.yml b/config/locales/en_ZA.yml index faccf97832c..e86f5094c03 100644 --- a/config/locales/en_ZA.yml +++ b/config/locales/en_ZA.yml @@ -2379,6 +2379,7 @@ en_ZA: report_header_quantity: Quantity report_header_max_quantity: Max Quantity report_header_variant: Variant + report_header_variant_unit_name: Variant Unit Name report_header_variant_value: Variant Value report_header_variant_unit: Variant Unit report_header_total_available: Total available diff --git a/config/locales/es.yml b/config/locales/es.yml index 36da47b18ca..ee3a69a9209 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -62,6 +62,11 @@ es: orders_close_at: Fecha de cierre variant_override: count_on_hand: "Disponibles" + spree/payment_method/calculator: + preferred_flat_percent: "Calculadora Porcentaje fijo:" + preferred_amount: "Calculadora Importe:" + enterprise: + white_label_logo_link: "Enlace para el logo que se usara en el escaparate" errors: models: spree/user: @@ -84,6 +89,9 @@ es: count_on_hand: using_producer_stock_settings_but_count_on_hand_set: "debe estar en blanco porque estás usando la configuración de estoc de la productora" limited_stock_but_no_count_on_hand: "se debe especificar porque se ha definido estoc limitado" + connected_apps: + vine: + api_request_error: "Un error se ha producido al conectarse a Vine API" messages: blank: "no puede estar vacío" errors: @@ -93,9 +101,13 @@ es: image_metadata_missing: "no es una imagen valida" aspect_ratio_not_square: "la imagen tiene que ser cuadrada" aspect_ratio_not_portrait: "la imagen tiene que ser un retrato" + aspect_ratio_not_landscape: "debe ser una imagen de paisaje" + aspect_ratio_unknown: "tiene una relación de aspecto desconocida" image_not_processable: "no es una imagen valida" internal_server_error: title: "Lo sentimos pero algo fue mal (500)" + unprocessable_entity: + title: "El cambio deseado ha sido rechazado (422)" stripe: error_code: incorrect_number: "El número de tarjeta es incorrecto." @@ -148,6 +160,8 @@ es: transaction_not_allowed: "La tarjeta ha sido denegada por una razón desconocida." try_again_later: "La tarjeta ha sido denegada por una razón desconocida." withdrawal_count_limit_exceeded: "El cliente ha superado el saldo o límite de crédito disponible en su tarjeta." + success_code: + disconnected: "Cuenta de Stripe desconectada." activemodel: errors: messages: @@ -173,6 +187,7 @@ es: not_available_to_shop: "no está disponible para %{shop}" card_details: "Detalles de tarjeta" card_type: "Tipo de tarjeta" + what_is_this: "¿Qué es esto?" cardholder_name: "Nombre del titular de la tarjeta" community_forum_url: "URL del foro de la comunidad" customer_instructions: "Instrucciones del Consumidor" @@ -344,8 +359,12 @@ es: cancel_order: "Cancelar pedido" confirm_send_invoice: "Una factura para esta orde se envió al cliente. ¿Está seguro que quiere continuar?" confirm_resend_order_confirmation: "¿Estás seguro que quieres reenviar el correo de confirmación del pedido?" + must_have_valid_business_number: "%{enterprise_name} tiene que tener un CIF valido para poder usar las facturas." invoice: "Factura" + invoices: "Facturas" + file: "Fichero" active: "Activo" + download: "Descargar" cancelled: "Cancelado" more: "Más" say_no: "No" @@ -403,6 +422,7 @@ es: none: Ninguno notes: Notas error: Error + voucher: Bono processing_payment: "Procesando el pago..." no_pending_payments: "No tiene pagos pendientes" invalid_payment_state: "Estado de pago inválido: %{state}" @@ -457,6 +477,7 @@ es: name: Nombre unit: Unidad unit_value: Valor unidad + display_as: Mostrar unidad como price: Precio producer: Productora category: Categoría @@ -540,6 +561,7 @@ es: show_n_more: Mostrar %{num} más choose: "Escoger..." please_select: Por favor selecciona ... + column_save_as_default: Guardar por defecto columns: Columnas actions: Acciones viewing: "Viendo: %{current_view_name}" @@ -550,6 +572,8 @@ es: has_n_rules: "Tiene %{num} reglas" unsaved_confirm_leave: "Has cambios sin guardar en esta página ¿Continuar sin guardar?" available_units: "Unidades disponibles" + terms_of_service: Leer los términos de servicio + accept_terms_of_service: Aceptar los terminos de servicio shopfront_settings: embedded_shopfront_settings: "Configuración de la tienda integrada" enable_embedded_shopfronts: "Habilitar tiendas integradas" @@ -635,6 +659,9 @@ es: your_content: Tu contenido user_guide: Manual de Usuario map: Mapa + dfc_product_imports: + index: + imported_products: "Productos importados:" enterprise_fees: index: title: "Comisiones de la Organización" @@ -701,7 +728,20 @@ es: title: Editar varios Productos content: loading: Cargando tus productos + delete_modal: + delete_product_modal: + heading: "Borrar producto" + confirmation_text: "Borrar producto" + cancellation_text: "Mantener producto" + delete_variant_modal: + heading: "Borrar variante" + confirmation_text: "Borrar variante" + cancellation_text: "Mantener variante" filters: + search_products: Buscar productos + search_for_producers: Buscar productoras + select_producer: Seleccionar productora + all_producers: Todas las productoras producers: label: Productoras categories: @@ -709,6 +749,8 @@ es: search: Buscar sort: pagination: + per_page: + show: Mostrar clear_search: Limpiar la búsqueda no_products: no_products_found: No se encontraron productos @@ -718,6 +760,8 @@ es: save: Guardar Cambios product_variant_row: new_variant: Nueva variante + bulk_update: + success: Cambios guardados variant_row: none_tax_category: Ninguno category_field_name: "Categoría" @@ -763,6 +807,7 @@ es: tax_categories: Categorías de impuestos shipping_categories: Categorías de envío dfc_import_form: + title: "Importar del catálogo DFC" enterprise: "Organización" import: "Importar" import: @@ -966,6 +1011,7 @@ es: images: legend: "Imágenes" logo: Logo + logo_size: "300 x 300 pixeles" promo_image_placeholder: 'Esta imagen aparece en "Sobre nosotras"' promo_image_note1: 'ATENCIÓN:' promo_image_note2: La imagen será recortada a 1200 x 260. @@ -1068,6 +1114,7 @@ es: open_date: "Fecha de Inicio" close_date: "Fecha de Finalización" display_ordering_in_shopfront: "Mostrar pedidos en la tienda:" + shopfront_sort_by_product: "Por producto" shopfront_sort_by_category: "Por categoria" shopfront_sort_by_producer: "Por productora" shopfront_sort_by_category_placeholder: "Categoría" @@ -1132,12 +1179,14 @@ es: net_value: Valor neto active: ¿Activo? add_new: Añadir nuevo + no_voucher_yet: Todavía no hay bonos white_label: hide_ofn_navigation: "Ocultar la navegación de OFN" upload_logo: "Logo que se utilizará en el escaparate" remove_logo: "Eliminar el logo" remove_logo_confirm: "¿Está seguro de que desea eliminar este logo?" remove_logo_success: "Logo eliminado" + white_label_logo_link_label: "Enlace para el log que se usara en el escaparate" connected_apps: affiliate_sales_data: loading: "Cargando" @@ -1791,6 +1840,7 @@ es: abn: "NIF:" acn: "ACN:" invoice_issued_on: "Factura emitida el:" + order_number: "Número de pedido:" date_of_transaction: "Fecha de la transacción:" menu_1_title: "Tiendas" menu_1_url: "/shops" @@ -2767,6 +2817,7 @@ es: report_header_quantity: Cantidad report_header_max_quantity: Cantidad máxima report_header_variant: Variante + report_header_variant_unit_name: Nombre de la unidad de la variante report_header_variant_value: Valor de la variante report_header_variant_unit: Unidad Variante report_header_total_available: Total disponible @@ -2849,7 +2900,9 @@ es: report_header_transaction_fee: Comisión por transacción (sin impuestos) report_header_total_untaxable_admin: Total de ajustes administrativos no tributables (sin impuestos) report_header_total_taxable_admin: Total de ajustes tributarios de administración (impuestos incluidos) + invoice_date: "Fecha de factura" due_date: "Fecha de vencimiento" + account_code: "Código de cuenta" equals: "Iguales" contains: "Contiene" discount: "Descuento" @@ -2926,9 +2979,11 @@ es: no_orders_found: "No se encontraron pedidos" order_information: "información del pedido" new_payment: "Nuevo pago" + create_or_update_invoice: "Crear o actualizar factura" date_completed: "Fecha de finalización" amount: "Cantidad" invoice_number: "Número de Factura" + invoice_file: "Fichero" state_names: ready: Listo pending: Pendiente @@ -3283,7 +3338,14 @@ es: unknown_error_from_stripe: | Hubo un problema al configurar su tarjeta en nuestra pasarela de pagos. Actualice la página y vuelva a intentarlo; si falla por segunda vez, comuníquese con nosotros para obtener asistencia. trix: + bold: "Negrita" code: "Código" + italic: "Italica" + link: "Enlace" + numbers: "Numeros" + redo: "Rehacer" + undo: "Deshacer" + url: "URL" urlPlaceholder: "Por favor introduzca una URL para insertar" inflections: each: @@ -3489,6 +3551,7 @@ es: editing_tax_category: "Editando categoría fiscal" editing_tax_rate: "Editando la tasa de impuestos" editing_zone: "Editando zona" + editing_state: "Editando provincia" expiration: "Vencimiento" invalid_payment_provider: "Proveedor de pago inválido" items_cannot_be_shipped: "Los artículos no se pueden enviar" @@ -3716,7 +3779,9 @@ es: admin: images: edit: + title: Modificar la foto del producto close: Atrás + upload: Subir foto mail_methods: send_testmail: "Enviar correo electrónico de prueba" testmail: @@ -3823,6 +3888,7 @@ es: print_invoices: "Imprimir facturas" cancel_orders: "Cancelar pedidos" resend_confirmation: "Reenviar confirmación" + send_invoice: "Enviar facturas" selected: zero: "Ningún pedido seleccionado" one: "1 pedido seleccionado" @@ -4380,3 +4446,5 @@ es: pagination: next: Siguiente previous: Anterior + invisible_captcha: + sentence_for_humans: "Por favor, dejalo vacio" diff --git a/config/locales/es_CO.yml b/config/locales/es_CO.yml index 4b056d360ff..8ace1d36d56 100644 --- a/config/locales/es_CO.yml +++ b/config/locales/es_CO.yml @@ -2430,6 +2430,7 @@ es_CO: report_header_quantity: Cantidad report_header_max_quantity: Cantidad máxima report_header_variant: Variante + report_header_variant_unit_name: Nombre de la unidad de la variante report_header_variant_value: Valor de la variante report_header_variant_unit: Unidad Variante report_header_total_available: Total disponible diff --git a/config/locales/es_CR.yml b/config/locales/es_CR.yml index e2f449690d5..3f3a9467fe9 100644 --- a/config/locales/es_CR.yml +++ b/config/locales/es_CR.yml @@ -2715,6 +2715,7 @@ es_CR: report_header_quantity: Cantidad report_header_max_quantity: Cantidad máxima report_header_variant: Variante + report_header_variant_unit_name: Nombre de la unidad de la variante report_header_variant_value: Valor de la variante report_header_variant_unit: Unidad Variante report_header_total_available: Total disponible diff --git a/config/locales/es_US.yml b/config/locales/es_US.yml index 8a6dd1a2529..2a1b65c733b 100644 --- a/config/locales/es_US.yml +++ b/config/locales/es_US.yml @@ -2598,6 +2598,7 @@ es_US: report_header_quantity: Cantidad report_header_max_quantity: Cantidad máxima report_header_variant: Variante + report_header_variant_unit_name: Nombre de la unidad de la variante report_header_variant_value: Valor de la variante report_header_variant_unit: Unidad Variante report_header_total_available: Total disponible diff --git a/config/locales/fil_PH.yml b/config/locales/fil_PH.yml index 2fa301129e6..29b419080de 100644 --- a/config/locales/fil_PH.yml +++ b/config/locales/fil_PH.yml @@ -2372,6 +2372,7 @@ fil_PH: report_header_quantity: dami report_header_max_quantity: Pinakamarami report_header_variant: Uri + report_header_variant_unit_name: pangalan ng yunit ng variant report_header_variant_value: Halaga ng Variant report_header_variant_unit: Yunit ng variant report_header_total_available: Kabuuan na mayroon diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 9cce87a073d..b77edbf7e31 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -1697,6 +1697,7 @@ fr: pack_by_customer: Préparation des commandes par Acheteur pack_by_supplier: Préparation des commandes par Producteur pack_by_product: Préparation des commandes par Produit + pay_your_suppliers: Payer vos fournisseurs display: report_is_big: "Ce rapport est volumineux et risque de ralentir l'appareil sur lequel vous êtes en train de le consulter." display_anyway: "Afficher quand même" @@ -1744,6 +1745,8 @@ fr: enterprise_fee_summary: name: "Résumé des marges et commissions" description: "Résumé des marges et commissions collectées" + suppliers: + name: Fournisseurs enterprise_fees_with_tax_report_by_order: "Détail des montants de taxe par commande" enterprise_fees_with_tax_report_by_producer: "Détail des montants de taxe par producteur" errors: @@ -3032,6 +3035,8 @@ fr: report_render_options: Mise en forme report_header_ofn_uid: ID OFN report_header_order_cycle: Cycle de Vente + report_header_order_cycle_start_date: Date d'ouverture du cycle de vente + report_header_order_cycle_end_date: Date de fermeture du cycle de vente report_header_user: Utilisateur report_header_email: Email report_header_status: Statut @@ -3052,6 +3057,7 @@ fr: report_header_hub_legal_name: "Raison sociale" report_header_hub_contact_name: "Nom du contact" report_header_hub_email: "Email public" + report_header_hub_contact_email: e-mail de contact de la boutique multi-producteurs report_header_hub_owner_email: Email gestionnaire principal report_header_hub_phone: "Numéro de téléphone" report_header_hub_address_line1: "Adresse ligne 1" @@ -3112,6 +3118,7 @@ fr: report_header_quantity: Quantité report_header_max_quantity: Quantité Max report_header_variant: Variante + report_header_variant_unit_name: Unité de la variante report_header_variant_value: Nb Unités Variante report_header_variant_unit: Unité report_header_total_available: Total disponible @@ -3123,6 +3130,8 @@ fr: report_header_producer_suburb: Ville Producteur report_header_producer_tax_status: Soumis à la TVA report_header_producer_charges_sales_tax?: Soumis à la TVA + report_header_producer_abn_acn: Numéro de SIRET/SIREN du producteur + report_header_producer_address: Adresse du producteur report_header_unit: Unité report_header_group_buy_unit_quantity: Nb d'unités achetées (vente par lots) report_header_cost: Coût @@ -3183,7 +3192,11 @@ fr: report_header_total_units: Vol. total report_header_sum_max_total: "Somme Max Total" report_header_total_excl_vat: "Total HT (%{currency_symbol})" + report_header_total_fees_excl_tax: "Total commission boutique hors taxe (%{currency_symbol})" + report_header_total_tax_on_fees: "Total taxe sur la commission boutique (%{currency_symbol})" + report_header_total: "Total (%{currency_symbol})" report_header_total_incl_vat: "Total TTC (%{currency_symbol})" + report_header_total_excl_fees_and_tax: "Total hors commission boutique et taxe (%{currency_symbol})" report_header_temp_controlled: Temp Contrôlée ? report_header_is_producer: Producteur ? report_header_not_confirmed: Non confirmé diff --git a/config/locales/fr_BE.yml b/config/locales/fr_BE.yml index 470e6165165..a63c2306c2a 100644 --- a/config/locales/fr_BE.yml +++ b/config/locales/fr_BE.yml @@ -2833,6 +2833,7 @@ fr_BE: report_header_quantity: Nb commandé report_header_max_quantity: Quantité Max report_header_variant: Variante + report_header_variant_unit_name: Nom de la variante report_header_variant_value: Nb Unités Variante report_header_variant_unit: Unité report_header_total_available: Total disponible diff --git a/config/locales/fr_CA.yml b/config/locales/fr_CA.yml index 66b41e828be..6382d95ee3f 100644 --- a/config/locales/fr_CA.yml +++ b/config/locales/fr_CA.yml @@ -3089,6 +3089,7 @@ fr_CA: report_header_quantity: Nb commandé report_header_max_quantity: Quantité Max report_header_variant: Variante + report_header_variant_unit_name: Unité de la variante report_header_variant_value: Nb Unités Variante report_header_variant_unit: Unité report_header_total_available: Total disponible diff --git a/config/locales/fr_CH.yml b/config/locales/fr_CH.yml index be8e5b4129b..85bc966aa51 100644 --- a/config/locales/fr_CH.yml +++ b/config/locales/fr_CH.yml @@ -2697,6 +2697,7 @@ fr_CH: report_header_quantity: Quantité report_header_max_quantity: Quantité Max report_header_variant: Variante + report_header_variant_unit_name: Unité de la variante report_header_variant_value: Nb Unités Variante report_header_variant_unit: Unité report_header_total_available: Total disponible diff --git a/config/locales/fr_CM.yml b/config/locales/fr_CM.yml index b7003f505cd..92af57176d0 100644 --- a/config/locales/fr_CM.yml +++ b/config/locales/fr_CM.yml @@ -2602,6 +2602,7 @@ fr_CM: report_header_quantity: Quantité report_header_max_quantity: Quantité Max report_header_variant: Variante + report_header_variant_unit_name: Unité de la variante report_header_variant_value: Nb Unités Variante report_header_variant_unit: Unité report_header_total_available: Total disponible diff --git a/config/locales/hi.yml b/config/locales/hi.yml index 9697b6fa323..60d61a7a963 100644 --- a/config/locales/hi.yml +++ b/config/locales/hi.yml @@ -2921,6 +2921,7 @@ hi: report_header_quantity: मात्रा report_header_max_quantity: अधिकतम मात्रा report_header_variant: वेरिएंट + report_header_variant_unit_name: वेरिएंट यूनिट का नाम report_header_variant_value: वैरिएंट वैल्यू report_header_variant_unit: वेरिएंट यूनिट report_header_total_available: कुल उपलब्ध diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 2d84eb18aaf..b4aa92957e4 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -3044,6 +3044,7 @@ hu: report_header_quantity: Mennyiség report_header_max_quantity: Max Mennyiség report_header_variant: Változat + report_header_variant_unit_name: Változat egység neve report_header_variant_value: Változat értéke report_header_variant_unit: Változat egysége report_header_total_available: Összesen elérhető diff --git a/config/locales/it.yml b/config/locales/it.yml index bf37062fa51..94ae0c5b1c2 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -2784,6 +2784,7 @@ it: report_header_quantity: Quantità report_header_max_quantity: Quantità massima report_header_variant: Variante + report_header_variant_unit_name: Nome Unità Variante report_header_variant_value: Valore della Variante report_header_variant_unit: Unità Variante report_header_total_available: Totale disponibile diff --git a/config/locales/it_CH.yml b/config/locales/it_CH.yml index bcf299093a7..d8f364bf470 100644 --- a/config/locales/it_CH.yml +++ b/config/locales/it_CH.yml @@ -2657,6 +2657,7 @@ it_CH: report_header_quantity: Quantità report_header_max_quantity: Quantità massima report_header_variant: Variante + report_header_variant_unit_name: Nome Unità Variante report_header_variant_value: Valore della Variante report_header_variant_unit: Unità Variante report_header_total_available: Totale disponibile diff --git a/config/locales/ko.yml b/config/locales/ko.yml index c77d9215fbe..856a0949283 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -2691,6 +2691,7 @@ ko: report_header_quantity: 수량 report_header_max_quantity: 최대 수량 report_header_variant: 다른 상품 + report_header_variant_unit_name: 변경된 구성 단위 이름 report_header_variant_value: 변경된 값 report_header_variant_unit: 구성 단위 변경 report_header_total_available: 사용 가능한 항목 총합 diff --git a/config/locales/ml.yml b/config/locales/ml.yml index 2db92efb786..306a8385767 100644 --- a/config/locales/ml.yml +++ b/config/locales/ml.yml @@ -2937,6 +2937,7 @@ ml: report_header_quantity: അളവ് report_header_max_quantity: പരമാവധി അളവ് report_header_variant: വേരിയന്റ് + report_header_variant_unit_name: വേരിയന്റ് യൂണിറ്റിന്റെ പേര് report_header_variant_value: വേരിയന്റ് മൂല്യം report_header_variant_unit: വേരിയന്റ് യൂണിറ്റ് report_header_total_available: ആകെ ലഭ്യമായത് diff --git a/config/locales/mr.yml b/config/locales/mr.yml index 4db419b77e2..91508218ad9 100644 --- a/config/locales/mr.yml +++ b/config/locales/mr.yml @@ -2845,6 +2845,7 @@ mr: report_header_quantity: प्रमाण report_header_max_quantity: कमाल प्रमाण report_header_variant: प्रकार + report_header_variant_unit_name: वेरिएंट युनिटचे नाव report_header_variant_value: भिन्न मूल्य report_header_variant_unit: व्हेरिएंट युनिट report_header_total_available: एकूण उपलब्ध diff --git a/config/locales/nb.yml b/config/locales/nb.yml index 2ae51636b42..a6520f4fe22 100644 --- a/config/locales/nb.yml +++ b/config/locales/nb.yml @@ -3106,6 +3106,7 @@ nb: report_header_quantity: Mengde report_header_max_quantity: Maks antall report_header_variant: Variant + report_header_variant_unit_name: Enhetsnavn Variant report_header_variant_value: Variantverdi report_header_variant_unit: Variant Enhet report_header_total_available: Totalt tilgjengelig diff --git a/config/locales/nl_BE.yml b/config/locales/nl_BE.yml index d24f754e2ac..68c8dddfd90 100644 --- a/config/locales/nl_BE.yml +++ b/config/locales/nl_BE.yml @@ -2425,6 +2425,7 @@ nl_BE: report_header_quantity: Kwantiteit report_header_max_quantity: Maximale Hoeveelheid report_header_variant: Variant + report_header_variant_unit_name: Variant Unit Name report_header_variant_value: Eénheidsaantal report_header_variant_unit: Eénheid report_header_total_available: Totaal beschikbaar diff --git a/config/locales/pa.yml b/config/locales/pa.yml index c42c4c99658..21d4451762d 100644 --- a/config/locales/pa.yml +++ b/config/locales/pa.yml @@ -2891,6 +2891,7 @@ pa: report_header_quantity: ਮਾਤਰਾ report_header_max_quantity: ਅਧਿਕਤਮ ਮਾਤਰਾ report_header_variant: ਵੇਰੀਐਂਟ + report_header_variant_unit_name: ਵੇਰੀਐਂਟ ਯੂਨਿਟ ਦਾ ਨਾਮ report_header_variant_value: ਵੇਰੀਐਂਟ ਵੈਲਯੂ report_header_variant_unit: '"ਵੇਰੀਐਂਟ ਯੂਨਿਟ"' report_header_total_available: ਕੁੱਲ ਉਪਲਬਧ diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 298d7006fce..ef338f8768a 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -2294,6 +2294,7 @@ pl: report_header_quantity: Ilość report_header_max_quantity: Maksymalna ilość report_header_variant: Wariant + report_header_variant_unit_name: Nazwa jednostki wariantu report_header_variant_value: Wartość wariantu report_header_variant_unit: Jednostka wariantu report_header_total_available: Całkowicie dostęny diff --git a/config/locales/pt.yml b/config/locales/pt.yml index a7ebfd230f7..9aa8aedffe7 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -2428,6 +2428,7 @@ pt: report_header_quantity: Quantidade report_header_max_quantity: Quantidade Máxima report_header_variant: Variante + report_header_variant_unit_name: Nome da Unidade da Variante report_header_variant_value: Valor da Variante report_header_variant_unit: Unidade da Variante report_header_total_available: Total disponível diff --git a/config/locales/pt_BR.yml b/config/locales/pt_BR.yml index fb394fde76d..3161d5f0fc5 100644 --- a/config/locales/pt_BR.yml +++ b/config/locales/pt_BR.yml @@ -2533,6 +2533,7 @@ pt_BR: report_header_quantity: Quantidade report_header_max_quantity: Quantidade máxima report_header_variant: Variante + report_header_variant_unit_name: Nome da Unidade da Variante report_header_variant_value: Valor da variante report_header_variant_unit: Unidade variante report_header_total_available: Total disponível diff --git a/config/locales/ru.yml b/config/locales/ru.yml index c24ac4eaeab..22f702168a0 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -2993,6 +2993,7 @@ ru: report_header_quantity: Количество report_header_max_quantity: Max Количество report_header_variant: Вариант + report_header_variant_unit_name: Название Единицы Варианта report_header_variant_value: Значение Варианта report_header_variant_unit: Единица Варианта report_header_total_available: Всего доступно diff --git a/config/locales/sr.yml b/config/locales/sr.yml new file mode 100644 index 00000000000..031bab79993 --- /dev/null +++ b/config/locales/sr.yml @@ -0,0 +1,4848 @@ +sr: + language_name: "енглески језик" + time: + formats: + long: "%Б %d , %И %-л:%М %p" + activerecord: + models: + spree/product: Производ + spree/shipping_method: начин куповине + attributes: + spree/image: + attachment: Прилог + spree/order/ship_address: + address1: "Адреса за испоруку (улица + кућни број)" + address2: "2. ред адресе за испоруку" + city: "Адреса за испоруку град" + country: "Земља адресе за испоруку" + phone: "Број телефона" + firstname: "Име" + lastname: "Презиме" + zipcode: "Адреса за испоруку поштански број" + spree/order/bill_address: + address1: "Адреса за обрачун (улица + кућни број)" + zipcode: "Поштански број адресе за обрачун" + city: "Град адресе за обрачун" + country: "Земља адресе за обрачун" + firstname: "Име адресе за обрачун" + lastname: "Адреса за наплату презиме" + phone: Телефон корисника + spree/user: + password: "Лозинка" + password_confirmation: "Потврда лозинке" + reset_password_token: Ресетујте токен лозинке + enterprise_fee: + fee_type: Врста накнаде + spree/order: + payment_state: Држава плаћања + shipment_state: Држава отпреме + completed_at: Завршено у + number: Број + state: Држава + email: Е-маил корисника + spree/payment: + amount: Износ + state: Држава + source: Извор + spree/product: + name: "Назив производа" + price: "Цена" + primary_taxon_id: "Категорија производа" + shipping_category_id: "Категорија испоруке" + spree/variant: + primary_taxon: "Категорија производа" + shipping_category_id: "Категорија испоруке" + supplier: "Добављач" + variant_unit: "Јединична скала" + variant_unit_name: "Назив јединице варијанте" + unit_value: "Јединична вредност" + spree/credit_card: + base: "Кредитна картица" + number: "Број" + month: "Месец дана" + verification_value: "Верифицатион Валуе" + year: "Година" + order_cycle: + orders_close_at: Датум затварања + variant_override: + count_on_hand: "На руци, при руци" + spree/payment_method/calculator: + preferred_flat_percent: "Калкулатор паушални проценат:" + preferred_amount: "Износ калкулатора:" + preferred_first_item: "Калкулатор прва ставка:" + preferred_additional_item: "Додатни трошак калкулатора:" + preferred_max_items: "Максимални број ставки калкулатора:" + preferred_minimal_amount: "Минимални износ калкулатора:" + preferred_normal_amount: "Калкулатор Нормалан износ:" + preferred_discount_amount: "Износ попуста за калкулатор:" + preferred_unit_from_list: "Калкулаторска јединица са листе:" + preferred_per_unit: "Калкулатор по јединици:" + enterprise: + white_label_logo_link: "Линк за лого који се користи у излогу продавнице" + errors: + models: + enterprise_fee: + inherit_tax_requires_per_item_calculator: "За наслеђивање пореске категорије потребан је калкулатор по ставци." + spree/image: + attributes: + attachment: + integrity_error: "није успело учитавање. Проверите да ли датотека није оштећена и покушајте поново." + spree/user: + attributes: + email: + taken: "Већ постоји налог за ову е-пошту. Молимо пријавите се или ресетујте своју лозинку." + reset_password_token: + invalid: је неважећи + spree/order: + no_card: Нема овлашћених кредитних картица за наплату + spree/credit_card: + attributes: + base: + card_expired: "истекао" + order_cycle: + attributes: + orders_close_at: + after_orders_open_at: мора бити после датума отварања + variant_override: + count_on_hand: + using_producer_stock_settings_but_count_on_hand_set: "мора бити празан јер се користе подешавања залиха произвођача" + limited_stock_but_no_count_on_hand: "мора бити наведен јер форсирање ограничених залиха" + connected_apps: + vine: + api_request_error: "Дошло је до грешке при повезивању на Вине АПИ" + messages: + confirmation: "не одговара %{attribute}" + blank: "не може бити празно" + too_short: "је прекратак (минимум је %{count} знакова)" + errors: + messages: + content_type_invalid: "има неважећи тип садржаја" + file_size_out_of_range: "величина %{file_size} није између захтеваног опсега" + limit_out_of_range: "укупан број је ван опсега" + image_metadata_missing: "није важећа слика" + dimension_min_inclusion: "мора бити већи или једнак %{width} к %{height} пиксела." + dimension_max_inclusion: "мора бити мањи или једнак %{width} к %{height} пиксела." + dimension_width_inclusion: "ширина није укључена између %{min} и %{max} пиксела." + dimension_height_inclusion: "висина није укључена између %{min} и %{max} пиксела." + dimension_width_greater_than_or_equal_to: "ширина мора бити већа или једнака %{length} пиксела." + dimension_height_greater_than_or_equal_to: "висина мора бити већа или једнака %{length} пиксела." + dimension_width_less_than_or_equal_to: "ширина мора бити мања или једнака %{length} пиксела." + dimension_height_less_than_or_equal_to: "висина мора бити мања или једнака %{length} пиксела." + dimension_width_equal_to: "ширина мора бити једнака %{length} пиксела." + dimension_height_equal_to: "висина мора бити једнака %{length} пиксела." + aspect_ratio_not_square: "мора бити квадратна слика" + aspect_ratio_not_portrait: "мора бити портретна слика" + aspect_ratio_not_landscape: "мора бити пејзажна слика" + aspect_ratio_is_not: "мора имати однос ширине и висине %{aspect_ratio}" + aspect_ratio_unknown: "има непознати однос ширине и висине" + image_not_processable: "није важећа слика" + not_found: + title: "Страница коју сте тражили не постоји (404)" + message_html: "Молим вас, покушајте поново

Ово може бити привремени проблем. Кликните на дугме за повратак да бисте се вратили на претходни екран или се вратите на почетну страницу и покушајте поново.

Контактирајте подршку

Ако проблем и даље постоји или је хитан, реците нам о томе. Пронађите наше контакт податке на глобалној локалној страници Опен Фоод Нетворк .

Заиста нам помаже ако можете дати што више детаља о томе о чему се ради на страници која недостаје.

" + internal_server_error: + title: "Жао нам је, нешто није у реду (500)" + message_html: "Молим вас, покушајте поново

Ово може бити привремени проблем. Кликните на дугме за повратак да бисте се вратили на претходни екран или се вратите на почетну страницу и покушајте поново.

Ми смо на томе

Ако сте раније видели овај проблем, вероватно већ знамо за њега и радимо на решењу. Записујемо све грешке које се појаве.

Контактирајте подршку

Ако проблем и даље постоји или је хитан, реците нам о томе. Пронађите наше контакт податке на глобалној локалној страници Опен Фоод Нетворк .

Заиста нам помаже ако можете да дате што више детаља о томе шта сте радили када је дошло до ове грешке.

" + unprocessable_entity: + title: "Промена коју сте желели је одбијена (422)" + message_html: "

Промена коју сте желели је одбијена. Можда сте покушали да промените нешто чему немате приступ.

Вратите кући

" + general_error: + message: "Жао нам је, али нешто није у реду.\n\n Ово може бити привремени проблем, па покушајте поново или поново учитајте страницу.\n Снимамо све грешке и можда радимо на поправци.\n Ако проблем и даље постоји или је хитан, контактирајте нас." + stripe: + error_code: + incorrect_number: "Број картице је нетачан." + invalid_number: "Број картице није важећи број кредитне картице." + invalid_expiry_month: "Месец истека картице је неважећи." + invalid_expiry_year: "Година истека картице је неважећа." + invalid_cvc: "Сигурносни код картице је неважећи." + expired_card: "Картица је истекла." + incorrect_cvc: "Сигурносни код картице је нетачан." + incorrect_zip: "Поштански број картице није прошао валидацију." + card_declined: "Картица је одбијена." + missing: "Код клијента нема картице која се наплаћује." + processing_error: "Дошло је до грешке приликом обраде картице." + rate_limit: "Дошло је до грешке јер су захтеви пребрзо погодили АПИ. Обавестите нас ако стално наилазите на ову грешку." + authentication_required: "Картица је одбијена јер трансакција захтева аутентификацију." + approve_with_id: "Плаћање се не може овластити." + call_issuer: "Картица је одбијена из непознатог разлога." + card_not_supported: "Картица не подржава ову врсту куповине." + card_velocity_exceeded: "Клијент је прекорачио стање или кредитно ограничење доступно на својој картици." + currency_not_supported: "Картица не подржава наведену валуту." + do_not_honor: "Картица је одбијена из непознатог разлога." + do_not_try_again: "Картица је одбијена из непознатог разлога." + duplicate_transaction: "Трансакција са идентичним износом и подацима о кредитној картици је послата врло недавно." + fraudulent: "Плаћање је одбијено јер Стрипе сумња да је лажна." + generic_decline: "Картица је одбијена из непознатог разлога." + incorrect_pin: "Унети ПИН је нетачан. Овај код за одбијање се односи само на плаћања извршена помоћу читача картица." + insufficient_funds: "На картици нема довољно средстава за завршетак куповине." + invalid_account: "Картица или рачун са којим је картица повезана је неважећа." + invalid_amount: "Износ плаћања је неважећи или премашује дозвољени износ." + invalid_pin: "Унети ПИН је нетачан. Овај код за одбијање се односи само на плаћања извршена помоћу читача картица." + issuer_not_available: "Није могуће контактирати издаваоца картице, тако да уплата није могла бити ауторизована." + lost_card: "Плаћање је одбијено јер је картица пријављена као изгубљена." + merchant_blacklist: "Плаћање је одбијено јер се поклапа са вредношћу на листи блокираних корисника Стрипе." + new_account_information_available: "Картица или рачун са којим је картица повезана је неважећа." + no_action_taken: "Картица је одбијена из непознатог разлога." + not_permitted: "Плаћање није дозвољено." + offline_pin_required: "Картица је одбијена јер захтева ПИН." + online_or_offline_pin_required: "Картица је одбијена јер захтева ПИН." + pickup_card: "Картица се не може користити за ово плаћање (могуће је да је пријављена изгубљена или украдена)." + pin_try_exceeded: "Дозвољени број покушаја ПИН-а је премашен." + reenter_transaction: "Издавач није могао да обради уплату из непознатог разлога." + restricted_card: "Картица се не може користити за ово плаћање (могуће је да је пријављена изгубљена или украдена)." + revocation_of_all_authorizations: "Картица је одбијена из непознатог разлога." + revocation_of_authorization: "Картица је одбијена из непознатог разлога." + security_violation: "Картица је одбијена из непознатог разлога." + service_not_allowed: "Картица је одбијена из непознатог разлога." + stolen_card: "Плаћање је одбијено јер је пријављена крађа картице." + stop_payment_order: "Картица је одбијена из непознатог разлога." + testmode_decline: "Коришћен је број Стрипе тест картице." + transaction_not_allowed: "Картица је одбијена из непознатог разлога." + try_again_later: "Картица је одбијена из непознатог разлога." + withdrawal_count_limit_exceeded: "Клијент је прекорачио стање или кредитно ограничење доступно на својој картици." + disconnect_failure: "Прекидање везе са Стрипе-ом није успело." + success_code: + disconnected: "Веза са Стрипе налогом је прекинута." + activemodel: + errors: + messages: + inclusion: "није уврштен у листу" + models: + order_management/subscriptions/validator: + attributes: + subscription_line_items: + at_least_one_product: "^Молимо додајте бар један производ" + not_available: "^ %{name} није доступан у изабраном распореду" + ends_at: + after_begins_at: "мора бити после почиње у" + customer: + does_not_belong_to_shop: "не припада %{shop}" + schedule: + not_coordinated_by_shop: "не координира %{shop}" + payment_method: + not_available_to_shop: "није доступно за %{shop}" + invalid_type: "мора бити Цасх или Стрипе метода" + charges_not_allowed: "^Овај корисник не дозвољава наплату кредитне картице" + no_default_card: "^За овог купца није доступна подразумевана картица" + shipping_method: + not_available_to_shop: "није доступно за %{shop}" + card_details: "Детаљи картице" + card_type: "Тип картице" + card_type_is: "Тип картице је" + unrecognized_card_type: "Непрепознат тип картице" + use_new_cc: "Користите нову кредитну картицу" + what_is_this: "шта је ово?" + cardholder_name: "Име власника картице" + community_forum_url: "УРЛ форума заједнице" + customer_instructions: "Упутства за купце" + additional_information: "Додатне Информације" + connect_app: + url: "хттпс://н8н.опенфооднетворк.орг/вебхоок/реген/цоннецт-ентерприсе" + devise: + passwords: + spree_user: + cannot_be_blank: "Корисничка лозинка не може бити празна. Молимо унесите лозинку." + confirmations: + send_instructions: "За неколико минута добићете е-поруку са упутствима како да потврдите свој налог." + failed_to_send: "Дошло је до грешке приликом слања е-поште за потврду." + resend_confirmation_email: "Пошаљи поново мејл за потврду." + confirmed: "Хвала што сте потврдили своју е-пошту! Сада се можете пријавити." + not_confirmed: "Ваша имејл адреса није могла бити потврђена. Можда сте већ завршили овај корак?" + user_confirmations: + spree_user: + send_instructions: "За неколико минута добићете е-поруку са упутствима како да потврдите свој налог." + confirmation_sent: "Потврда е-поште је послата" + confirmation_not_sent: "Грешка при слању е-поште за потврду" + user_registrations: + spree_user: + signed_up_but_unconfirmed: "Порука са везом за потврду је послата на вашу адресу е-поште. Отворите везу да активирате свој налог." + unknown_error: "Нешто је пошло наопако при креирању налога. Проверите своју адресу е-поште и покушајте поново." + failure: + disabled: "Ваш рачун је онемогућен. Молимо контактирајте администратора да реши овај проблем." + invalid: | + Погрешна е или лозинка. + Јесте ли били гост прошли пут? Можда ћете морати да креирате налог или ресетујете лозинку. + unconfirmed: "Морате да потврдите свој налог пре него што наставите." + already_registered: "Ова имејл адреса је већ регистрована. Пријавите се да бисте наставили или се вратите и користите другу адресу е-поште." + success: + logged_in_succesfully: "Успешно сте пријављени" + sessions: + signed_out: "Успешно сам одјављен." + already_signed_out: "Успешно сам одјављен." + user_passwords: + spree_user: + updated_not_active: "Ваша лозинка је ресетована, али ваша е-пошта још увек није потврђена." + updated: "Ваша лозинка је успешно промењена. Сада сте пријављени." + send_instructions: "За неколико минута добићете е-поруку са упутствима како да потврдите свој налог." + oidc: + failure: "Не могу да се пријавим: %{error}" + home_page_alert_html: "ХТМЛ упозорења за почетну страницу" + hub_signup_case_studies_html: "Студије случаја за регистрацију у чворишту ХТМЛ" + hub_signup_detail_html: "ХТМЛ са детаљима о регистрацији за чвориште" + hub_signup_pricing_table_html: "ХТМЛ табела цена регистрације за центар" + group_signup_case_studies_html: "Студије случаја групне пријаве ХТМЛ" + group_signup_detail_html: "ХТМЛ са детаљима о групној регистрацији" + group_signup_pricing_table_html: "ХТМЛ табела цена за регистрацију групе" + item_description: "Опис артикла" + menu_1_icon_name: "Име иконе менија 1" + menu_2_icon_name: "Име иконе менија 2" + menu_3_icon_name: "Име иконе менија 3" + menu_4_icon_name: "Име иконе менија 4" + menu_5_icon_name: "Име иконе менија 5" + menu_6_icon_name: "Име иконе менија 6" + menu_7_icon_name: "Име иконе менија 7" + models: + order_cycle: + cloned_order_cycle_name: "КОПИЈА %{order_cycle}" + tax_rate: + included_in_price: "Укључено у цену" + open_street_map_enabled: "Омогућено отварање мапе улица" + open_street_map_default_latitude: "Отворите подразумевану географску ширину Мапе улица" + open_street_map_default_longitude: "Отворите подразумевану географску дужину Мапе улица" + open_street_map_provider_name: "Отворите име добављача мапе улица" + open_street_map_provider_options: "Отворите опције добављача мапе улица" + producer_signup_case_studies_html: "Студије случаја регистрације произвођача ХТМЛ" + producer_signup_detail_html: "ХТМЛ детаља за регистрацију произвођача" + producer_signup_pricing_table_html: "ХТМЛ табела цена регистрације произвођача" + producers_social: "Произвођачи друштвени" + resume_order: "Резиме налог" + sku: "СКУ" + subtotal: "Међузбир" + tax_rate: "Пореска стопа" + validators: + date_time_string_validator: + not_string_error: "мора бити низ" + invalid_format_error: "мора бити валидан" + integer_array_validator: + not_array_error: "мора бити низ" + invalid_element_error: "мора да садржи само важеће целе бројеве" + report_job: + report_failed: | + Овај извештај није успео. Можда је превелик за обраду. + Ми ћемо то испитати, али молимо вас да нас обавестите ако се проблем настави. + backorder_mailer: + backorder_failed: + subject: "Аутоматска заостала поруџбина није успела" + headline: "Неуспешно наручивање" + description: | + Покушали смо да поставимо или ажурирамо заосталу поруџбину за артикле који нису на залихама, али + нешто је пошло по злу. Можда имате негативне залихе и морате да их решите + питање да наручите више залиха. + hints: | + Можда ћете морати да одете у подешавања ОИДЦ-а и поново повежете свој налог. + Такође проверите да ли се каталог вашег добављача није променио и да је још увек + снабдевање свим производима који су вам потребни. И молимо вас да нас контактирате ако + имате питања. + order: "Погођен налог: %{number}" + stock: "Стоцк" + product: "Производ" + backorder_incomplete: + subject: "Аутоматска заостала поруџбина није довршена" + headline: "Ваша заостала поруџбина је још увек радна верзија" + description: | + Покушали смо да завршимо заосталу поруџбину за артикле који нису на залихама, али + нешто је пошло по злу. Количине заосталих поруџбина могу бити превисоке ако + имали сте отказе. И ваша заостала поруџбина неће бити испуњена докле + у стању је нацрта. + hints: | + Можда ћете морати да одете у подешавања ОИДЦ-а и поново повежете свој налог. + Такође проверите да ли се каталог вашег добављача није променио и да је још увек + снабдевање свим производима који су вам потребни. И молимо вас да нас контактирате ако + имате питања. + affected: "%{enterprise} : %{order_cycle}" + enterprise_mailer: + confirmation_instructions: + subject: "Молимо потврдите адресу е-поште за %{enterprise}" + welcome: + subject: "%{enterprise} је сада на %{sitename}" + email_welcome: "Добродошли" + email_registered: "сада је део" + email_userguide_html: "Упутство за кориснике са детаљном подршком за подешавање вашег произвођача или чворишта је овде: %{link}" + userguide: "Отворите упутство за употребу мреже за храну" + email_admin_html: "Својим налогом можете управљати тако што ћете се пријавити на %{link} или тако што ћете кликнути на зупчаник у горњем десном углу почетне странице и изабрати Администрација." + admin_panel: "табла руководиоца" + email_community_html: "Такође имамо онлајн форум за дискусију у заједници у вези са ОФН софтвером и јединственим изазовима вођења прехрамбеног предузећа. Охрабрујемо вас да нам се придружите. Ми се стално развијамо и ваш допринос овом форуму ће обликовати оно што ће се даље десити. %{link}" + join_community: "Придружите се заједници" + invite_manager: + subject: "%{enterprise} вас је позвао да будете менаџер" + producer_mailer: + order_cycle: + subject: "Извештај циклуса наручивања за %{producer}" + provider_settings: "Подешавања провајдера" + report_mailer: + report_ready: + subject: "Извештај спреман" + heading: "Извештај спреман за преузимање" + intro: | + Линк испод ће истећи након недељу дана. + link_label: "%{name}" + shipment_mailer: + shipped_email: + dear_customer: "Драги купац," + instructions: "Ваша поруџбина је послата" + shipment_summary: "Резиме испоруке" + subject: "Обавештење о испоруци" + thanks: "Хвала за ваш посао." + track_information: "Информације о праћењу: %{tracking}" + track_link: "Веза за праћење: %{url}" + subscription_mailer: + placement_summary_email: + subject: Резиме недавно постављених налога за претплату + greeting: "Здраво %{name} ," + intro: "Испод је сажетак налога за претплату који су управо постављени за %{shop} ." + confirmation_summary_email: + subject: Резиме недавно потврђених налога за претплату + greeting: "Здраво %{name} ," + intro: "Испод је сажетак налога за претплату који су управо завршени за %{shop} ." + summary_overview: + total: Укупно %{count} претплата је означено за аутоматску обраду. + success_zero: Од њих, ниједан није успешно обрађен. + success_some: Од њих, %{count} су успешно обрађени. + success_all: Сви су успешно обрађени. + issues: Детаљи о проблемима на које сте наишли су дати у наставку. + summary_detail: + no_message_provided: Није наведена порука о грешци + changes: + title: Недовољна залиха ( %{count} поруџбине) + explainer: Ове поруџбине су обрађене, али за неке тражене артикле није било довољно залиха + empty: + title: Нема залиха ( %{count} наруџбине) + explainer: Ове поруџбине нису могле да се обрађују јер залихе нису биле доступне за тражене артикле + complete: + title: Већ обрађено ( %{count} поруџбине) + explainer: Ове наредбе су већ биле означене као завршене, па су стога остале нетакнуте + processing: + title: Дошло је до грешке ( %{count} наруџбине) + explainer: Аутоматска обрада ових поруџбина није успела због грешке. Грешка је наведена где је то могуће. + failed_payment: + title: Неуспела уплата ( %{count} поруџбине) + explainer: Аутоматска обрада плаћања за ове поруџбине није успела због грешке. Грешка је наведена где је то могуће. + other: + title: Други неуспех ( %{count} наруџбине) + explainer: Аутоматска обрада ових налога није успела из непознатог разлога. Ово не би требало да се деси, контактирајте нас ако ово видите. + home: "ОФН" + title: "Отворена мрежа хране" + welcome_to: "Добродошли у" + site_meta_description: "Почињемо од темеља. Са пољопривредницима и узгајивачима спремним да испричају своје приче поносно и истинито. Са дистрибутерима спремним да повежу људе са производима поштено и поштено. Са купцима који верују да боље одлуке о недељној куповини могу..." + search_by_name: Тражи по имену или предграђу... + producers_join: Аустралијски произвођачи су сада добродошли да се придруже Отвореној мрежи хране. + charges_sales_tax: Наплаћујете ГСТ? + business_address: "Пословна адреса" + print_invoice: "Штампај фактуру" + print_ticket: "Принт Тицкет" + select_ticket_printer: "Изаберите штампач за карте" + send_invoice: "Послати фактуру" + resend_confirmation: "Поново послати потврду" + view_order: "Виев Ордер" + edit_order: "Уреди редослед" + ship_order: "Схип Ордер" + cancel_order: "Откажи наруџбу" + confirm_send_invoice: "Рачун за ову поруџбину ће бити послат купцу. Да ли сте сигурни да желите да наставите?" + confirm_resend_order_confirmation: "Да ли сте сигурни да желите поново да пошаљете е-поруку за потврду поруџбине?" + must_have_valid_business_number: "%{enterprise_name} мора имати важећи АБН пре него што се фактуре могу користити." + invoice: "Фактура" + invoices: "фактуре" + file: "Филе" + active: "Ацтиве" + download: "Преузимање" + cancelled: "Отказано" + more: "Више" + say_no: "Не" + say_yes: "да" + ongoing: У току, сталан + bill_address: Адреса за наплату + ship_address: Достава Адреса + sort_order_cycles_on_shopfront_by: "Сортирај циклусе редоследа на излогу по" + required_fields: Обавезна поља су означена звездицом + select_continue: Изаберите и Настави + remove: Уклони + collapse_all: Скупи све + expand_all: Прошири све + loading: Учитавање... + show_more: Прикажи више + show_all: Покажи све + show_all_with_more: "Прикажи све ( %{num} Више)" + cancel: Поништити, отказати + edit: Уредити + clone: Клон + distributors: Дистрибутери + distribution: Дистрибуција + order_cycles: Ордер Цицлес + bulk_order_management: Управљање великим поруџбинама + enterprises: Предузећа + enterprise_groups: Групе + reports: Извештаји + listing_reports: Листинг Репортс + variant_overrides: Инвентар + import: Увоз + spree_products: Спрее Продуцтс + all: Све + current: Тренутни + available: Доступан + dashboard: Командна табла + undefined: недефинисан + unused: неискоришћен + admin_and_handling: Админ & Хандлинг + profile: Профил + supplier_only: Само добављач + has_shopfront: Хас Схопфронт + weight: Тежина + volume: Волуме + items: Предмети + summary: Резиме + detailed: Детаљно + updated: Ажуриран + 'yes': "да" + 'no': "Не" + y: 'И' + n: 'Н' + powered_by: Покреће га + blocked_cookies_alert: "Ваш претраживач можда блокира колачиће потребне за коришћење овог излога. Кликните испод да бисте дозволили колачиће и поново учитали страницу." + allow_cookies: "Дозволи колачиће" + none: Ниједан + notes: Напомене + error: Грешка + voucher: Ваучер + processing_payment: "Обрада уплате..." + no_pending_payments: "Нема плаћања на чекању" + invalid_payment_state: "Неважеће стање плаћања: %{state}" + filter_results: Филтрирајте резултате + clear_filters: Обриши филтере + quantity: Количина + pick_up: Покупи + ok: У реду + copy: Копирај + change_my_password: "Промени моју лозинку" + update_password: "Ажурирајте лозинку" + password_confirmation: Потврда лозинке + reset_password_token: Ресетујте токен лозинке + expired: је истекао, затражите нови + back_to_payments_list: "Назад на листу плаћања" + maestro_or_solo_cards: "Маестро/Соло карте" + backordered: "Бацкордеред" + on_hand: "На руци, при руци" + on hand: "На руци, при руци" + ship: "Брод" + shipping_category: "Категорија испоруке" + height: "Висина" + width: "Ширина" + depth: "Дубина" + payment_could_not_process: "Уплата није могла да се обради" + payment_could_not_complete: "Плаћање није могло да се заврши" + actions: + create_and_add_another: "Креирајте и додајте још једну" + create: "Креирај" + cancel: "Поништити, отказати" + resume: "Резиме" + save: "сачувати" + edit: "Уредити" + update: "ажурирање" + delete: "Избриши" + add: "Додати" + cut: "Цут" + paste: "Залепите" + destroy: "Уништити" + rename: "Преименуј" + admin: + products_page: + title: Производи + filters: + categories: + title: Категорије + selected_categories: "%{count} категорије изабране" + producers: + title: Произвођачи + selected_producers: "%{count} произвођачи изабрани" + per_page: "%{count} ставки по страници" + colums: Колумне + columns: + image: Слика + name: Име + unit_scale: Јединична скала + unit: Јединица + unit_value: Јединична вредност + display_as: Приказ јединица као + price: Цена + producer: Произвођач + category: Категорија + sku: СКУ + on_hand: "На руци, при руци" + on_demand: "На захтев" + tax_category: "Пореска категорија" + inherits_properties: "Наслеђује својства?" + import_date: "Датум увоза" + actions: Акције + columns_selector: + unit: Јединица + price: Цена + producer: Произвођач + category: Категорија + sku: СКУ + on_hand: "На руци, при руци" + on_demand: "На захтев" + tax_category: "Пореска категорија" + inherits_properties: "Наслеђује својства?" + import_date: "Датум увоза" + actions: + edit: Уредити + clone: Клон + delete: Избриши + remove: Уклони + preview: Преглед + image: + edit: Уреди + product_preview: + product_preview: Преглед производа + shop_tab: Схоп + product_details_tab: Детаљи о производу + adjustments: + skipped_changing_canceled_order: "Не можете да промените отказану поруџбину." + begins_at: Почиње у + begins_on: Бегинс Он + bill_address: "Адреса рачуна" + ship_address: "Адреса брода" + customer: Цустомер + date: Датум + email: Емаил + ends_at: Завршава се у + ends_on: Ендс Он + name: Име + first_name: Име + last_name: Презиме + on_hand: На руци, при руци + on_demand: На захтев + on_demand?: На захтев? + order_cycle: Ордер Цицле + payment: Плаћање + payment_method: Начин плаћања + phone: Телефон + price: Цена + producer: Произвођач + image: Слика + product: Производ + quantity: Количина + schedule: Распоред + shipping: поштарина + shipping_method: начин куповине + shop: Схоп + sku: СКУ + status_state: Држава + tags: Ознаке + variant: Варијанта + weight: Тежина + volume: Волуме + items: Предмети + select_all: Изабери све + quick_search: Брза претрага + clear_all: Избриши све + start_date: "Датум почетка" + end_date: "Крајњи датум" + unsaved_changes: "Имате несачуване промене" + form_invalid: "Образац садржи поља која недостају или су неважећа" + clear_filters: Обриши филтере + clear: Јасно + save: сачувати + cancel: Поништити, отказати + back: Назад + show_more: Прикажи више + show_n_more: Прикажи %{num} више + choose: "Изаберите..." + please_select: Молимо изаберите... + column_save_as_default: Сачувај као подразумевано + columns: Колумне + actions: Акције + viewing: "Преглед: %{current_view_name}" + description: Опис + whats_this: Шта је ово? + tag_has_rules: "Постојећа правила за ову ознаку: %{num}" + has_one_rule: "има једно правило" + has_n_rules: "има %{num} правила" + unsaved_confirm_leave: "На овој страници има несачуваних измена. Наставити без чувања?" + available_units: "Доступне јединице" + terms_of_service_have_been_updated_html: "Услови коришћења услуге Опен Фоод Нетворк су ажурирани: %{tos_link}" + terms_of_service: Прочитајте Услове коришћења услуге + accept_terms_of_service: Прихватите услове коришћења услуге + shopfront_settings: + embedded_shopfront_settings: "Подешавања уграђене продавнице" + enable_embedded_shopfronts: "Омогући уграђене излоге" + embedded_shopfronts_whitelist: "Бела листа спољних домена" + terms_of_service_files: + create: + select_file: "Прво изаберите датотеку." + show: + title: "Датотеке са условима коришћења услуге" + no_files: "Још увек нису отпремљени услови коришћења услуге." + current_terms_html: "Погледајте тренутни %{tos_link} . Време учитавања: %{datetime} ." + terms_of_service: "Услови коришћења" + delete: "Избриши датотеку" + confirm_delete: "Да ли сте сигурни да желите да избришете тренутну датотеку Услова коришћења услуге?" + attachment: "Прилог" + create_terms_of_service: "Креирајте датотеку Услова коришћења услуге" + number_localization: + number_localization_settings: "Подешавања локализације бројева" + enable_localized_number: "Користите међународну логику сепаратора хиљада/децимала" + invoice_settings: + edit: + title: "Подешавања фактуре" + enable_invoices?: "Омогућити фактуре?" + invoice_style2?: "Користите алтернативни модел фактуре који укључује укупну пореску анализу по стопи и информације о пореској стопи по ставци (још није прикладно за земље које приказују цене без пореза)" + enterprise_number_required_on_invoices?: "Да ли вам је потребан АБН за генерисање фактуре?" + stripe_connect_settings: + edit: + title: "Стрипе Цоннецт" + settings: "Подешавања" + stripe_connect_enabled: Омогућити продавницама да прихватају плаћања користећи Стрипе Цоннецт? + no_api_key_msg: Не постоји Стрипе налог за ово предузеће. + configuration_explanation_html: За детаљна упутства о конфигурисању интеграције Стрипе Цоннецт, погледајте овај водич . + status: Статус + ok: Ок + instance_secret_key: Тајни кључ инстанце + instance_publishable_key: Кључ за објављивање инстанце + account_id: ИД налога + business_name: Пословно име + charges_enabled: Цхаргес Енаблед + charges_enabled_warning: "Упозорење: Наплате нису омогућене за ваш налог" + auth_fail_error: АПИ кључ који сте навели је неважећи + empty_api_key_error_html: Није наведен Стрипе АПИ кључ. Да бисте подесили свој АПИ кључ, пратите ова упутства + matomo_settings: + edit: + title: "Матомо Сеттингс" + matomo_url: "Матомо УРЛ" + matomo_site_id: "Матомо ИД локације" + matomo_tag_manager_url: "УРЛ адреса Матомо менаџера ознака" + info_html: "Матомо је апликација за веб и мобилну аналитику. Можете да хостујете Матомо локално или да користите услугу хостовану у облаку. За више информација погледајте матомо.орг ." + config_instructions_html: "Овде можете да конфигуришете ОФН Матомо интеграцију. Матомо УРЛ у наставку треба да указује на Матомо инстанцу на коју ће бити послате информације о праћењу корисника; ако је остављено празно, Матомо праћење корисника ће бити онемогућено. Поље ИД локације није обавезно, али је корисно ако пратите више од једне веб локације на једној Матомо инстанци; може се наћи на конзоли Матомо инстанце." + config_instructions_tag_manager_html: "Подешавање УРЛ адресе Матомо менаџера ознака омогућава Матомо менаџер ознака. Овај алат вам омогућава да подесите аналитичке догађаје. УРЛ Матомо менаџера ознака је копиран из одељка Инсталациони код у Матомо менаџеру ознака. Уверите се да сте изабрали прави контејнер и окружење јер ове опције мењају УРЛ." + connected_app_settings: + edit: + title: "Подешавања повезане апликације" + info_html: "Омогућене апликације ће се појавити у оквиру Ентерприсе Сеттингс > Цоннецтед Аппс." + enabled_legend: "Омогућене повезане апликације" + connected_apps_enabled: + discover_regen: Откријте Регенеративни портал + affiliate_sales_data: ДФЦ анонимизирани АПИ за наруџбе у истраживачке сврхе + vine: Мотор интеграције ваучера (ВИНЕ) + update: + resource: Подешавања повезане апликације + customers: + index: + new_customer: "Нови купац" + code: Код + duplicate_code: "Овај код се већ користи." + bill_address: "Адреса за наплату" + ship_address: "Достава Адреса" + balance: "Баланс" + update_address_success: "Адреса је успешно ажурирана." + update_address_error: "Извињавам се! Унесите сва обавезна поља!" + edit_bill_address: "Измените адресу за обрачун" + edit_ship_address: "Уредите адресу за испоруку" + required_fileds: "Обавезна поља су означена звездицом" + select_country: "Одабери земљу" + select_state: "Изаберите Држава" + edit: "Уредити" + update_address: "Ажурирајте адресу" + confirm_delete: "Сигурно желите да избришете?" + search_by_email: "Претражујте по имејлу/коду..." + guest_label: "Одјава гостију" + credit_owed: "Цредит Овед" + balance_due: "Стање због" + destroy: + has_associated_subscriptions: "Брисање није успело: Овај клијент има активне претплате. Прво их откажите." + column_preferences: + bulk_update: + success: "Подешавања колона су сачувана" + contents: + edit: + title: Садржај + header: Хеадер + home_page: Почетна страница + producer_signup_page: Страница за регистрацију произвођача + hub_signup_page: Страница за пријаву на центар + group_signup_page: Страница за регистрацију групе + main_links: Везе главног менија + footer_and_external_links: Подножје и спољне везе + your_content: Ваш садржај + user_guide: Упутство за употребу + map: Мапа + dfc_product_imports: + index: + title: "Увоз ДФЦ каталога производа" + imported_products: "Увезени производи:" + enterprise_fees: + index: + title: "Ентерприсе Феес" + enterprise: "Ентерприсе" + fee_type: "Врста накнаде" + name: "Име" + tax_category: "Пореска категорија" + calculator: "Калкулатор" + calculator_values: "Вредности калкулатора" + search: "Претрага" + name_placeholder: "нпр. накнада за паковање" + enterprise_groups: + index: + new_button: Нев Ентерприсе Гроуп + form_primary_details: + primary_details: "Примарни детаљи" + form_users: + users: "Корисници" + form_about: + about: "О томе" + form_images: + images: "Слике" + form_address: + contact: "Контакт" + form_web: + web: "Веб ресурси" + enterprise_roles: + form: + manages: управља + enterprise_role: + manages: управља + products: + unit_name_placeholder: 'на пример. гроздова' + index: + unit: Јединица + display_as: Прикажи као + category: Категорија + tax_category: Пореска категорија + inherits_properties?: Наслеђује својства? + av_on: "Ав. на" + import_date: Увезено + upload_an_image: Отпремите слику + seo: + product_search_keywords: "Кључне речи за претрагу производа" + product_search_tip: "Унесите речи које ће вам помоћи да претражите своје производе у продавницама. Користите размак да бисте одвојили сваку кључну реч." + seo_tip: "Унесите речи које ће вам помоћи да претражујете своје производе на вебу. Користите размак да бисте одвојили сваку кључну реч." + search: "Претрага" + properties: + property_name: "Назив имовине" + inherited_property: "Наслеђена имовина" + variants: + infinity: "Инфинити" + to_order_tip: "Артикли направљени по наруџбини немају одређени ниво залиха, као што су векне хлеба направљене свеже по поруџбини." + back_to_products_list: "Назад на листу производа" + editing_product: "Уређивање производа" + tabs: + product_details: "детаљи о производу" + group_buy_options: "Опције групне куповине" + images: "Слике" + variants: "Варианте" + product_properties: "Својства производа" + products_v3: + index: + header: + title: Групно уређивање производа + content: + loading: Учитавање ваших производа + delete_modal: + delete_product_modal: + heading: "Избришите производ" + prompt: "Ово ће га трајно уклонити са ваше листе." + confirmation_text: "Избришите производ" + cancellation_text: "Задржите производ" + delete_variant_modal: + heading: "Обриши варијанту" + prompt: "Ово ће га трајно уклонити са ваше листе." + confirmation_text: "Обриши варијанту" + cancellation_text: "Задржи варијанту" + filters: + search_products: Тражите производе + search_for_producers: Потражите произвођаче + select_producer: Изаберите произвођача + all_producers: Сви произвођачи + search_for_categories: Потражите категорије + select_category: Изаберите категорију + all_categories: Све категорије + producers: + label: Произвођачи + categories: + label: Категорије + search: Претрага + sort: + pagination: + products_total_html: + one: "%{count} производ је пронађен према вашим критеријумима претраге. Приказујем %{from} до %{to} ." + few: "%{count} производи пронађени према вашим критеријумима претраге. Приказујем %{from} до %{to} ." + other: "%{count} производи пронађени према вашим критеријумима претраге. Приказујем %{from} до %{to} ." + per_page: + show: Прикажи + per_page: "%{num} по страници" + clear_search: Обриши претрагу + no_products: + no_products_found: Нема пронађених производа + import_products: Увезите више производа + no_products_found_for_search: Нема пронађених производа за ваше критеријуме претраге + table: + changed_summary: + one: "%{count} производ измењен." + other: "%{count} производи модификовани." + error_summary: + saved: + one: "%{count} производ је исправно сачуван, али" + other: "%{count} производи су исправно сачувани, али" + invalid: + one: "%{count} производ није могао бити сачуван. Прегледајте грешке и покушајте поново." + few: "%{count} производи нису могли бити сачувани. Прегледајте грешке и покушајте поново." + other: "%{count} производи нису могли бити сачувани. Прегледајте грешке и покушајте поново." + reset: Одбаците промене + save: Сачувај измене + product_variant_row: + new_variant: Нова варијанта + bulk_update: + success: Промене су сачуване + delete_product: + success: Производ је успешно обрисан + error: Није могуће избрисати производ + delete_variant: + success: Варијанта је обрисана + error: Није могуће избрисати варијанту + variant_row: + none_tax_category: Ниједан + search_for_tax_categories: "Потражите категорије пореза" + category_field_name: "Категорија" + tax_category_field_name: "Пореска категорија" + producer_field_name: "Произвођач" + clone: + success: Производ је успешно клониран + error: Није могуће клонирати производ + product_import: + title: Увоз производа + file_not_found: Датотека није пронађена или се не може отворити + no_data: Нема података у табели + confirm_reset: "Ово ће поставити ниво залиха на нулу за све производе за ово\n предузећа која нису присутна у учитаној датотеци" + model: + no_file: "грешка: није учитана датотека" + could_not_process: "није могао да обради датотеку: неважећи тип датотеке" + incorrect_value: нетачна вредност + conditional_blank: не може бити празан ако је тип_јединице празан + no_product: не подудара се ни са једним производом у бази података + not_found: није пронађено у бази података + category_not_found: не одговара дозвољеним категоријама. Погледајте исправне категорије које можете изабрати на страници за увоз производа или проверите да нема правописне грешке. + not_updatable: не може се ажурирати на постојећим производима путем увоза производа + values_must_be_same: мора бити исти за производе са истим именом + blank: не може бити празно + products_no_permission: немате дозволу да управљате производима за ово предузеће + inventory_no_permission: немате дозволу да креирате инвентар за овог произвођача + none_saved: није успешно сачувао ниједан производ + line_number: "Линија %{number} :" + encoding_error: "Проверите поставку језика ваше изворне датотеке и уверите се да је сачувана са УТФ-8 кодирањем" + unexpected_error: "Увоз производа је наишао на неочекивану грешку приликом отварања датотеке: %{error_message}" + malformed_csv: "Увоз производа је наишао на неисправан ЦСВ: %{error_message}" + index: + notice: "Објава" + beta_notice: "Ова функција је још увек у бета верзији: можда ћете доживети неке грешке док је користите. Не устручавајте се да контактирате подршку." + select_file: Изаберите табелу за отпремање + spreadsheet: Табела + choose_import_type: Изаберите тип увоза + import_into: Тип увоза + product_list: Листа производа + inventories: Залихе + import: Увоз + upload: Отпремити + csv_templates: ЦСВ шаблони + product_list_template: Преузмите шаблон листе производа + inventory_template: Преузмите шаблон за инвентар + category_values: Доступне вредности категорије + product_categories: Категорије производа + tax_categories: Пореске категорије + shipping_categories: Категорије отпреме + dfc_import_form: + title: "Увоз из ДФЦ каталога" + enterprise: "Ентерприсе" + catalog_url: "УРЛ ДФЦ каталога" + import: "Увоз" + import: + review: Преглед + import: Увоз + save: сачувати + results: Резултати + save_imported: Сачувајте увезене производе + no_valid_entries: Нису пронађени важећи уноси + none_to_save: Нема уноса који се могу сачувати + some_invalid_entries: Увезена датотека садржи неважеће уносе + fix_before_import: Исправите ове грешке и покушајте поново да увезете датотеку + save_valid?: Сачувати важеће уносе за сада и одбацити остале? + no_errors: Нису откривене грешке! + save_all_imported?: Да сачувате све увезене производе? + options_and_defaults: Опције и подразумеване вредности увоза + no_permission: немате дозволу да управљате овим предузећем + not_found: предузеће није пронађено у бази података + no_name: Без имена + blank_enterprise: неки производи немају дефинисано предузеће + reset_absent?: Ресетујте одсутне производе + reset_absent_tip: Поставите залихе на нулу за све излазне производе који нису присутни у датотеци + overwrite_all: Замени све + overwrite_empty: Замените ако је празно + default_stock: Подесите ниво залиха + default_tax_cat: Подесите категорију пореза + default_shipping_cat: Подесите категорију испоруке + default_available_date: Поставите расположиви датум + validation_overview: Преглед валидације увоза + entries_found: Уноси пронађени у увезеној датотеци + entries_with_errors: Ставке садрже грешке и неће бити увезене + products_to_create: Производи ће бити креирани + products_to_update: Производи ће бити ажурирани + inventory_to_create: Ставке инвентара ће бити креиране + inventory_to_update: Ставке инвентара ће бити ажуриране + products_to_reset: Залихе постојећих производа ће бити ресетоване на нулу + inventory_to_reset: Залихе постојећих ставки инвентара ће бити ресетоване на нулу + line: Линија + item_line: Ставка линија + import_review: + not_updatable_tip: "Следећа поља се не могу ажурирати групним увозом за постојеће производе:" + fields_ignored: Ова поља ће бити занемарена када се увезени производи сачувају. + entries_table: + not_updatable: Ово поље се не може ажурирати групним увозом на постојеће производе + save_results: + final_results: Увезите коначне резултате + products_created: Производи креирани + products_updated: Производи ажурирани + inventory_created: Направљене ставке инвентара + inventory_updated: Ставке инвентара су ажуриране + products_reset: Производи су ресетовали ниво залиха на нулу + inventory_reset: Ставке залиха су ресетоване на нулу + all_saved: "Све ставке су успешно сачуване" + some_saved: "ставке су успешно сачуване" + save_errors: Сачувајте грешке + import_again: Отпремите другу датотеку + view_products: Идите на страницу са производима + view_inventory: Идите на страницу инвентара + product_headings: + distributor: Дистрибутер + producer: Произвођач + sku: СКУ + name: Име + display_name: Показати име + category: Категорија + description: Опис + units: Јединице + unit_type: Јединица тип + variant_unit_name: Назив јединице варијанте + price: Цена + on_hand: На руци, при руци + on_demand: На захтев + shipping_category: Категорија испоруке + tax_category: Пореска категорија + variant_overrides: + loading_flash: + loading_inventory: ЛОАДИНГ ИНВЕНТОР + index: + title: Инвентар + description: Користите ову страницу за управљање залихама за ваша предузећа. Сви детаљи о производу постављени овде ће заменити оне постављене на страници „Производи“. + enable_reset?: Омогућити ресетовање залиха? + default_stock: "Дефаулт стоцк" + inherit?: Наследити? + add: Додати + hide: Сакрити + import_date: Увезено + select_a_shop: Изаберите Продавница + review_now: Прегледајте одмах + new_products_alert_message: Постоје %{new_product_count} нови производи доступни за додавање у ваш инвентар. + currently_empty: Ваш инвентар је тренутно празан + no_matching_products: Нема одговарајућих производа у вашем инвентару + no_hidden_products: Ниједан производ није сакривен из овог инвентара + no_matching_hidden_products: Ниједан скривени производ не одговара вашим критеријумима претраге + no_new_products: Нема нових производа за додавање у овај инвентар + no_matching_new_products: Ниједан нови производ не одговара вашим критеријумима претраге + inventory_powertip: Ово је ваш инвентар производа. Да бисте додали производе у свој инвентар, изаберите „Нови производи“ из падајућег менија Преглед. + hidden_powertip: Ови производи су сакривени из вашег инвентара и неће бити доступни за додавање у вашу продавницу. Можете да кликнете на „Додај“ да додате производ у свој инвентар. + new_powertip: Ови производи су доступни за додавање у ваш инвентар. Кликните на „Додај“ да додате производ у свој инвентар или „Сакриј“ да га сакријете од приказа. Увек се касније можете предомислити! + controls: + back_to_my_inventory: Назад на мој инвентар + orders: + edit: + order_sure_want_to: Да ли сте сигурни да желите %{event} ову наруџбу? + voucher_tax_included_in_price: "%{label} (порез је укључен у ваучер)" + tax_on_fees: "Порез на таксе" + invoice_email_sent: 'Е-пошта са фактуром је послата' + order_email_resent: 'Имејл за наруџбу је поново послат' + bulk_management: + tip: "Користите ову страницу да промените количине производа у више поруџбина. Производи се такође могу у потпуности уклонити из поруџбина, ако је потребно." + shared: "Дељени ресурс?" + order_no: "Наруџба бр." + order_date: "Завршено у" + max: "Макс" + product_unit: "Производ: Јединица" + weight_volume: "Тежина/запремина (г)" + ask: "Питати?" + page_title: "Управљање великим поруџбинама" + actions_delete: "Избриши изабрано" + loading: "Учитавање налога" + no_results: "Наруџбине нису пронађене." + group_buy_unit_size: "Групна куповина јединица Величина" + total_qtt_ordered: "Укупна наручена количина" + max_qtt_ordered: "Максимална наручена количина" + current_fulfilled_units: "Тренутне испуњене јединице" + max_fulfilled_units: "Максимално испуњене јединице" + order_error: "Неке грешке морају да се отклоне пре него што можете да ажурирате поруџбине.\n Сва поља са црвеним ивицама садрже грешке." + variants_without_unit_value: "УПОЗОРЕЊЕ: Неке варијанте немају јединичну вредност" + all: "Све" + select_variant: "Изаберите варијанту" + note: + note_label: "Белешка:" + no_note_present: "Нема напомене." + enterprise: + select_outgoing_oc_products_from: Изаберите одлазне ОЦ производе из + enterprises: + index: + title: Предузећа + new_enterprise: Ново предузеће + producer?: "Продуцент?" + package: Пакет + status: Статус + manage: Управљати + form: + about_us: + legend: "О томе" + desc_short: Кратак опис + desc_short_placeholder: Реците нам нешто о свом предузећу у једној или две реченице + desc_long: О нама + desc_long_placeholder: Реците купцима о себи. Ове информације се појављују на вашем јавном профилу. + address: + legend: "Адреса" + business_details: + legend: "Пословни детаљи" + upload: 'отпремити' + abn: АБН + abn_placeholder: на пример. 99 123 456 789 + acn: АЦН + acn_placeholder: на пример. 123 456 789 + display_invoice_logo: Приказ логотипа у фактурама + invoice_text: Додајте прилагођени текст на крају фактура + terms_and_conditions: "Услови" + remove_terms_and_conditions: "Уклони датотеку" + uploaded_on: "уплоадед он" + reset_form: "Ресет Форм" + business_address_legend: "Пословна адреса" + invoice_item_sorting_legend: "Сортирање ставки фактуре" + sort_items_by_supplier?: Сортирати артикле по добављачу? + sort_items_by_supplier_tip: "Када је омогућено, ставке ће бити сортиране по имену добављача." + enabled: Омогући + disabled: Онемогући + business_address: + company_legal_name: Правни назив компаније + company_placeholder: Пример Инц. + address1: Правни Адреса + address1_placeholder: 123 Висока св. + address2: Адреса (наставак) + legal_phone_number: Правни број телефона + phone_placeholder: "98 123 4565" + select_country: "Одабери земљу" + select_state: "Изаберите Држава" + contact: + legend: "Контакт" + name: Име + name_placeholder: на пример. Густав Плум + email_address: Јавна адреса е-поште + email_address_placeholder: на пример. инкуириес@фресх-фоод.цом + email_address_tip: "Ова адреса е-поште ће бити приказана на вашем јавном профилу" + phone: Телефон + phone_placeholder: на пример. 98 7654 3210 + whatsapp_phone: ВхатсАпп број телефона + whatsapp_phone_placeholder: на пример. +61 4 9876 5432 + whatsapp_phone_tip: "Овај број ће бити приказан на вашем јавном профилу да би се отворио као ВхатсАпп веза." + website: Веб сајт + website_placeholder: на пример. ввв.труффлес.цом + enterprise_fees: + legend: "Ентерприсе Феес" + name: Име + fee_type: Врста накнаде + manage_fees: Управљајте накнадама предузећа + no_fees_yet: Још увек немате никакве накнаде за предузећа. + create_button: Направите један одмах + enterprise_permissions: + legend: "Ентерприсе Пермиссионс" + enterprise_relationships: Ентерприсе Релатионсхипс + images: + legend: "Слике" + logo: Лого + logo_size: "300 к 300 пиксела" + promo_image_placeholder: 'Ова слика је приказана у "О нама"' + promo_image_note1: 'МОЛИМ ОБРАТИТЕ ПАЖЊУ:' + promo_image_note2: Свака промотивна слика која се овде отпреми биће исечена на 1200 к 260. + promo_image_note3: Промотивна слика се приказује на врху странице профила предузећа и искачућих прозора. + remove_logo: "Уклони слику" + remove_promo_image: "Уклони слику" + inventory_settings: + legend: "Подешавања инвентара" + text1: Можете се одлучити за управљање нивоима залиха и ценама путем вашег + inventory: инвентар + text2: > + Ако користите алатку за инвентар, можете да изаберете да ли нови производи + које су додали ваши добављачи морају да се додају у ваш инвентар пре + него што буду могли да се залихе. Ако не користите свој инвентар за + управљање својим производима, требало би да изаберете опцију „препоручено“ + у наставку: + preferred_product_selection_from_inventory_only_yes: Нови производи се могу ставити у моју продавницу (препоручено) + preferred_product_selection_from_inventory_only_no: Нови производи се морају додати у мој инвентар пре него што могу да се ставе у моју продавницу + payment_methods: + legend: "Начини плаћања" + name: Име + applies: Примењује се? + manage: Управљајте начинима плаћања + no_method_yet: Још увек немате ниједан начин плаћања. + create_button: Креирајте нови начин плаћања + create_one_button: Направите један одмах + primary_details: + legend: "Примарни детаљи" + name: Име + name_placeholder: на пример. Биодинамички тартуфи професора Плума + groups: Групе + groups_tip: Изаберите све групе или регионе чији сте члан. Ово ће помоћи клијентима да пронађу ваше предузеће. + groups_placeholder: Почните да куцате да бисте претражили доступне групе... + primary_producer: Примарни произвођач? + primary_producer_tip: Изаберите „Произвођач“ ако сте примарни произвођач хране. + producer: Произвођач + any: Било који + none: Ниједан + own: Властити + sells: Селлс + sells_tip: "Нема – предузеће не продаје директно купцима.
Властити - Предузеће продаје сопствене производе купцима.
Било које - Предузеће може да продаје сопствене производе или производе других предузећа.
" + visible_in_search: Видљиво у претрази? + visible_in_search_tip: "Продавнице могу бити
1. јавно видљив, појављује се на мапи и листи ОФН-а.
2. Скривено на мапама и огласима, али је референцирано у другим продавницама и повезано у њиховом профилу.
3. Потпуно скривено." + visible: Јавно + not_visible: Сакривен + hidden: Сакриј све референце + properties: + legend: "Својства" + permalink: + permalink: Стална веза (без размака) + permalink_tip: "Ова стална веза се користи за креирање УРЛ адресе ваше продавнице: %{link} назив ваше продавнице/продавнице" + link_to_front: Линк до продавнице + link_to_front_tip: Директна веза до ваше продавнице на Опен Фоод Нетворк-у. + ofn_uid: ОФН УИД + ofn_uid_tip: Јединствени ИД који се користи за идентификацију предузећа на Опен Фоод Нетворк. + shipping_methods: + legend: "Начини испоруке" + name: "Име" + applies: "Активан?" + manage: "Управљајте начинима испоруке" + create_button: "Креирајте нови начин испоруке" + create_one_button: "Направите један одмах" + no_method_yet: "Још увек немате ниједан начин испоруке." + shop_preferences: + legend: "Подешавања продавнице" + shopfront_requires_login: "Јавно видљив излог?" + shopfront_requires_login_tip: "Одаберите да ли се купци морају пријавити да би видели излог или да ли је видљив свима." + shopfront_requires_login_false: "Јавно" + shopfront_requires_login_true: "Видљиво само регистрованим купцима" + recommend_require_login: "Препоручујемо да се од корисника захтева да се пријаве када се поруџбине могу променити." + allow_guest_orders: "Наруџбине гостију" + allow_guest_orders_tip: "Дозволите одјаву као гост или захтевајте регистрованог корисника." + allow_guest_orders_false: "Захтевајте пријаву да бисте наручили" + allow_guest_orders_true: "Дозволи одјаву госта" + allow_order_changes: "Промените наредбе" + allow_order_changes_tip: "Дозволите купцима да промене своју поруџбину све док је циклус поруџбине отворен." + allow_order_changes_false: "Постављене поруџбине се не могу мењати / отказати" + allow_order_changes_true: "Купци могу да мењају/откажу поруџбине док је циклус поруџбине отворен" + enable_subscriptions: "Претплате" + enable_subscriptions_tip: "Омогућити функцију претплате?" + enable_subscriptions_false: "Онемогућено" + enable_subscriptions_true: "Омогућено" + customer_names_in_reports: "Имена клијената у извештајима" + customer_names_tip: "Омогућите својим добављачима да виде имена ваших клијената у извештајима" + customer_names_false: "Онемогућено" + customer_names_true: "Омогућено" + shopfront_message: "Схопфронт Мессаге" + shopfront_message_placeholder: > + Опциона порука за добродошлицу купцима и објашњење како да купујете + са вама. Ако се овде унесе текст, он ће бити приказан на почетној картици + када купци први пут стигну у вашу продавницу. + shopfront_closed_message: "Схопфронт Цлосед Мессаге" + shopfront_closed_message_placeholder: > + Порука која пружа детаљније објашњење зашто је ваша продавница затворена + и/или када купци могу очекивати да ће се поново отворити. Ово се приказује + на вашој продавници само када немате активних циклуса наруџби (тј. продавница + је затворена). + shopfront_category_ordering: "Наручивање категорија из продавнице" + shopfront_category_ordering_note: "(од врха до дна)" + open_date: "Опен Дате" + close_date: "Датум затварања" + display_ordering_in_shopfront: "Прикажите наруџбу на излогу:" + shopfront_sort_by_product: "По производу" + shopfront_sort_by_category: "По категорији" + shopfront_sort_by_producer: "Од произвођача" + shopfront_sort_by_category_placeholder: "Категорија" + shopfront_sort_by_producer_placeholder: "Произвођач" + display_remaining_stock: "Прикажите преостале залихе на излогу ако имате мало" + display_remaining_stock_tip: "Обавестите купце када су преостала само 3 или мање артикла." + enabled: "Омогућено" + disabled: "Онемогућено" + social: + legend: "Социал" + twitter_placeholder: "на пример. @тхе_проф" + instagram_placeholder: "на пример. тхе_проф" + facebook_placeholder: "на пример. ввв.фацебоок.цом/ПагеНамеХере" + linkedin_placeholder: "на пример. ввв.линкедин.цом/ин/ИоурНамеХере" + stripe_connect: + connect_with_stripe: "Повежите се са Стрипе-ом" + stripe_connect_intro: "Да бисте прихватили плаћања кредитном картицом, мораћете да повежете свој стрипе налог са Опен Фоод Нетворк-ом. Користите дугме са десне стране да бисте започели." + stripe_account_connected: "Стрипе налог је повезан." + disconnect: "Прекини везу са налогом" + confirm_modal: + title: Повежите се са Стрипе-ом + part1: Стрипе је услуга обраде плаћања која омогућава продавницама на ОФН-у да прихвате плаћања кредитном картицом од купаца. + part2: Да бисте користили ову функцију, морате да повежете свој Стрипе налог са ОФН-ом. Кликом на „Слажем се“ у наставку ће се преусмерити на Стрипе веб локацију на којој можете да повежете постојећи Стрипе налог или да креирате нови ако га већ немате. + part3: Ово ће омогућити Опен Фоод Нетворк-у да прихвати плаћања кредитним картицама од купаца у ваше име. Имајте на уму да ћете морати да одржавате сопствени Стрипе налог, да плаћате накнаде које Стрипе наплаћује и да сами решавате сва повраћаја средстава и корисничку подршку. + i_agree: Слажем се + cancel: Поништити, отказати + tag_rules: + legend: "Таг Рулес" + default_rules: + by_default: Подразумевано + no_rules_yet: Још увек се не примењују подразумевана правила + add_new_button: '+ Додајте ново подразумевано правило' + no_tags_yet: Још увек се не примењују ознаке за ово предузеће + no_rules_yet: За ову ознаку још увек не важе правила + for_customers_tagged: 'За купце означене:' + add_new_rule: '+ Додајте ново правило' + add_new_tag: '+ Додајте нову ознаку' + users: + legend: "Корисници" + email_confirmation_notice_html: "Потврда имејлом је на чекању. Послали смо е-поруку са потврдом на %{email} ." + resend: Поново послати + owner: 'Власник' + contact: "Контакт" + contact_tip: "Менаџер који ће примати е-поруке предузећа за поруџбине и обавештења. Мора имати потврђену адресу е-поште." + owner_tip: Примарни корисник одговоран за ово предузеће. + notifications: Обавештења + notifications_tip: Обавештења о поруџбинама биће послата на ову адресу е-поште. + notifications_placeholder: на пример. густав@труффлес.цом + notifications_note: 'Напомена: Можда ћете морати да потврдите нову адресу е-поште пре употребе' + managers: Менаџери + managers_tip: Остали корисници са дозволом да управљају овим предузећем. + invite_manager: "Инвите Манагер" + invite_manager_tip: "Позовите нерегистрованог корисника да се региструје и постане менаџер овог предузећа." + add_unregistered_user: "Додајте нерегистрованог корисника" + email_confirmed: "Имејл је потврђен" + email_not_confirmed: "Имејл није потврђен" + vouchers: + legend: Ваучери + voucher_code: Ваучер код + rate: Рате + label: Етикета + purpose: Сврха + expiry: Истек + use_limit: Употреба/ограничење + customers: Цустомер + net_value: Нето вредност + active: Активан? + add_new: Додај нови + no_voucher_yet: Још нема ваучера + white_label: + legend: "Бела ознака" + hide_ofn_navigation: "Сакриј ОФН навигацију" + upload_logo: "Лого коришћен у излогу продавнице" + remove_logo: "Уклоните лого" + remove_logo_confirm: "Да ли сте сигурни да желите да уклоните овај логотип?" + remove_logo_success: "Лого уклоњен" + white_label_logo_link_label: "Линк за лого који се користи у излогу продавнице" + hide_groups_tab: "Сакриј картицу групе у излогу" + create_custom_tab: "Направите прилагођену картицу у излогу продавнице" + custom_tab_title: "Наслов прилагођене картице" + custom_tab_content: "Садржај за прилагођену картицу" + connected_apps: + legend: "Повезане апликације" + affiliate_sales_data: + title: "ИНРАЕ / УФЦ КУЕ ЦХОИСИР Истраживање" + tagline: "Дозволите овом истраживачком пројекту да анонимно приступи подацима о вашим поруџбинама" + enable: "Дозволи дељење података" + disable: "Престани да делиш" + loading: "Лоадинг" + need_to_be_manager: "Само менаџери могу да повезују апликације." + description_html: | +

+ ИНРАЕ и УФЦ КУЕ ЦХОИСИР се удружују како би проучавали цене хране у кратким системима хране и упоређивали их са ценама у супермаркетима, за дати сет производа. Подаци које користи ИНРАЕ помешани су са подацима који долазе са других платформи кратког ланца исхране у Француској. Ниједна појединачна цена производа неће бити јавно објављена кроз овај пројекат. +

+

+ Сазнајте више о овом истраживачком пројекту + +

+ discover_regen: + title: "Откријте Регенеративно" + tagline: "Дозволите Дисцовер Регенеративе-у да објави информације о вашем предузећу." + enable: "Дозволи дељење података" + disable: "Престани да делиш" + loading: "Лоадинг" + need_to_be_manager: "Само менаџери могу да повезују апликације." + note: | + Ваш налог Опен Фоод Нетворк је повезан са Дисцовер Регенеративе. + Овде додајте или ажурирајте информације о вашој листи Дисцовер Регенеративе. + link_label: "Управљајте листингом" + description_html: | +

+ Прихватљиви произвођачи могу да покажу своје регенеративне акредитиве, + пољопривредне праксе и још много тога путем листе профила. + Поједностављивање начина на који купци могу пронаћи регенеративне производе и повезати се + са произвођачима од интереса. +

+

+ Сазнајте више о Дисцовер Регенеративе + +

+ vine: + title: "Механизам интеграције ваучера (ВИНЕ)" + tagline: "Дозволите откуп ВИНЕ ваучера у вашој радњи." + enable: "Повежите се" + disable: "Прекини везу" + need_to_be_manager: "Само менаџери могу да повезују апликације." + vine_api_key: "ВИНЕ АПИ кључ" + vine_secret: "ВИНЕ сецрет" + description_html: | +

+ Да бисте омогућили ВИНЕ за своје предузеће, унесите свој АПИ кључ и тајну. +

+

+ ВИНЕ + +

+ api_parameters_empty: "Унесите АПИ кључ и тајну" + api_parameters_error: "Проверите да ли сте исправно унели свој АПИ кључ и тајну, контактирајте менаџера инстанце ако се грешка настави" + connection_error: "Грешка при повезивању АПИ-ја, покушајте поново" + setup_error: "ВИНЕ АПИ није конфигурисан, контактирајте свог менаџера инстанце" + actions: + edit_profile: Подешавања + properties: Својства + payment_methods: Начини плаћања + payment_methods_tip: Ово предузеће нема начина плаћања + shipping_methods: Начини испоруке + shipping_methods_tip: Ово предузеће има методе испоруке + enterprise_fees: Ентерприсе Феес + enterprise_fees_tip: Ово предузеће нема накнаде + admin_index: + name: Име + role: Улога + sells: Селлс + visible: Видљиво? + owner: Власник + producer: Произвођач + change_type_form: + producer_profile: Профил произвођача + connect_ofn: Повежите се преко ОФН-а + always_free: УВЕК БЕСПЛАТНО + producer_description_text: Додајте своје производе на Опен Фоод Нетворк, омогућавајући центрима да складиште ваше производе у својим продавницама. + producer_shop: Продавница произвођача + sell_your_produce: Продајте своје производе + producer_shop_description_text: Продајте своје производе директно купцима преко сопствене продавнице Опен Фоод Нетворк. + producer_shop_description_text2: Продавница произвођача је само за ваше производе, ако желите да продајете производе узгајане/произведене ван локације, изаберите 'Произвођачки центар'. + producer_hub: Продуцент Хуб + producer_hub_text: Продајте производе од себе и других + producer_hub_description_text: Ваше предузеће је окосница вашег локалног система исхране. Можете продавати сопствене производе као и производе прикупљене из других предузећа преко своје продавнице на Опен Фоод Нетворк-у. + profile: Само профил + get_listing: Узмите листу + profile_description_text: Људи вас могу пронаћи и контактирати на Опен Фоод Нетворк-у. Ваше предузеће ће бити видљиво на мапи и претраживаће се на листи. + hub_shop: Хуб Схоп + hub_shop_text: Продајте производе других + hub_shop_description_text: Ваше предузеће је окосница вашег локалног система исхране. Ви агрегирате производе из других предузећа и можете их продати преко своје продавнице на Опен Фоод Нетворк-у. + choose_option: Изаберите једну од горе наведених опција. + change_now: Промените сада + enterprise_user_index: + loading_enterprises: ЛОАДИНГ ЕНТЕРПРИСЕС + no_enterprises_found: Није пронађено ниједно предузеће. + search_placeholder: Тражи по имену + manage: Управљати + manage_link: Подешавања + producer?: "Продуцент?" + package: "Пакет" + status: "Статус" + new_form: + owner: Власник + owner_tip: Примарни корисник одговоран за ово предузеће. + i_am_producer: Ја сам продуцент + contact_name: Контакт Име + edit: + editing: 'Подешавања:' + back_link: Назад на листу предузећа + new: + title: Ново предузеће + back_link: Назад на листу предузећа + welcome: + welcome_title: Добродошли у Отворену мрежу хране! + welcome_text: Успешно сте креирали а + next_step: Следећи корак + choose_starting_point: 'Изаберите свој пакет:' + profile: 'Профил' + producer_profile: 'Профил произвођача' + invite_manager: + user_already_exists: "Корисник већ постоји" + error: "Нешто није у реду" + order_cycles: + loading_flash: + loading_order_cycles: ЦИКЛУСНИ НАРУЏБЕНИЦИ + loading: ЛОАДИНГ... + new: + create: "Креирај" + cancel: "Поништити, отказати" + back_to_list: "Назад на листу" + create: + success: 'Ваш циклус наруџбине је креиран.' + update: + success: 'Ваш циклус наруџбине је ажуриран.' + clone: + success: "Ваш циклус наруџби %{name} је клониран." + notify_producers: + success: 'Е-поруке које треба послати произвођачима су стављене у ред за слање.' + edit: + save: "сачувати" + save_and_next: "Сачувај и Следећи" + next: "Следећи" + cancel: "Поништити, отказати" + back_to_list: "Назад на листу" + save_and_back_to_list: "Сачувај и назад на листу" + choose_products_from: "Изаберите производе из:" + re_notify_producers: Поново обавестите произвођаче + notify_producers_tip: Ово ће послати е-пошту сваком произвођачу са листом њихових поруџбина. + date_time_warning_modal_content: + title: 'Поруџбине су повезане са овим циклусом наруџби.' + content: 'Ако желите да креирате нови циклус наруџбине, препоручује се да прво дуплирате циклус наруџбине, а затим промените датуме.' + proceed: 'Ипак наставите' + cancel: 'Откажи' + incoming: + incoming: "Инцоминг" + supplier: "Добављач" + products: "Производи" + receival_details: "Детаљи о пријему" + fees: "Накнаде" + save: "сачувати" + save_and_next: "Сачувај и Следећи" + next: "Следећи" + cancel: "Поништити, отказати" + back_to_list: "Назад на листу" + outgoing: + outgoing: "Одлазни" + distributor: "Дистрибутер" + products: "Производи" + tags: "Ознаке" + delivery_details: "Детаљи испоруке" + fees: "Накнаде" + next: "Следећи" + previous: "Претходна" + save: "сачувати" + save_and_next: "Сачувај и Следећи" + cancel: "Поништити, отказати" + back_to_list: "Назад на листу" + checkout_options: + back_end: "Само позадинска канцеларија" + cancel: "Поништити, отказати" + checkout_options: "Опције плаћања" + distributor: "Дистрибутер" + no_payment_methods: Сваки дистрибутер у овом циклусу наручивања захтева најмање један начин плаћања. + no_shipping_methods: Сваки дистрибутер у овом циклусу наручивања захтева најмање један начин испоруке. + payment_methods: "Начини плаћања" + save: "сачувати" + save_and_back_to_list: "Сачувај и назад на листу" + select_all: "Изабери све" + shipping_methods: "Начини испоруке" + wizard_progress: + edit: "1. Општа подешавања" + incoming: "2. Долазни производи" + outgoing: "3. Одлазни производи" + checkout_options: "4. Опције плаћања" + exchange_form: + pickup_time_tip: Када поруџбине из овог ОЦ буду спремне за купца + pickup_instructions_placeholder: "Упутства за преузимање" + pickup_instructions_tip: Ова упутства се приказују купцима након што заврше поруџбину + pickup_time_placeholder: "Спремно за (тј. датум/време)" + receival_instructions_placeholder: "Инструкције за пријем" + add_fee: 'Додајте накнаду' + remove: 'Уклони' + selected: 'изабрани' + add_exchange_form: + add_supplier: 'Додајте добављача' + add_distributor: 'Додајте дистрибутера' + advanced_settings: + automatic_notifications: Аутоматска обавештења + automatic_notifications_tip: Аутоматски обавестите произвођаче о њиховим поруџбинама путем е-поште када се циклуси наруџбине заврше + title: Напредна подешавања + choose_product_tip: Можете ограничити долазне и одлазне производе само на инвентар %{inventory} . + preferred_product_selection_from_coordinator_inventory_only_here: Само инвентар координатора + preferred_product_selection_from_coordinator_inventory_only_all: Сви доступни производи + save_reload: Сачувај и поново учитај страницу + order_cycle_top_buttons: + advanced_settings: "Напредна подешавања" + coordinator_fees: + add: Додајте накнаду за координатора + filters: + search_by_order_cycle_name: "Претрага по називу циклуса поруџбине..." + involving: "Укључујући" + any_enterprise: "Било које предузеће" + any_schedule: "Било који распоред" + form: + general_settings: "Општа подешавања" + incoming: Инцоминг + supplier: Добављач + products: Производи + receival_details: Детаљи о пријему + fees: Накнаде + outgoing: Одлазни + distributor: Дистрибутер + tags: Ознаке + add_a_tag: Додајте ознаку + delivery_details: Детаљи преузимања / испоруке + index: + schedule: Распоред + schedules: Распоред + new_schedule: Нови распоред + new_schedule_tooltip: Учесталост слања налога за претплату + name_and_timing_form: + name: Име + orders_open: Поруџбине отворене у + coordinator: Координатор + orders_close: Наруџбине су затворене + row: + suppliers: добављачи + distributors: дистрибутери + variants: варијанти + simple_form: + ready_for: Спреман за + ready_for_placeholder: Датум време + customer_instructions: Упутства за купце + customer_instructions_placeholder: Биљешке о преузимању или испоруци + products: Производи + fees: Накнаде + tags: Ознаке + destroy_errors: + orders_present: Тај циклус наруџбине је изабрао купац и не може се избрисати. Да бисте спречили клијенте да му приступе, затворите га уместо тога. + schedule_present: Тај циклус наруџбине је повезан са распоредом и не може се избрисати. Прво раскините везу или избришите распоред. + bulk_update: + no_data: Хм, нешто је пошло по злу. Нису пронађени подаци о циклусу наруџби. + date_warning: + msg: Овај циклус наруџбине је повезан са %{n} отвореним налозима за претплату. Промена овог датума сада неће утицати на поруџбине које су већ послате, али их треба избегавати ако је могуће. Да ли сте сигурни да желите да наставите? + cancel: Поништити, отказати + proceed: Настави + status: + undated: без датума + upcoming: предстојећи + open: отворен + closed: затворено + producer_properties: + index: + title: Продуцер Пропертиес + proxy_orders: + cancel: + could_not_cancel_the_order: Отказивање поруџбине није успело + resume: + could_not_resume_the_order: Није могуће наставити поруџбину + select2: + minimal_search_length: Унесите %{count} или више знакова + searching: У потрази... + no_matches: Без подударања + shared: + user_guide_link: + user_guide: Упутство за употребу + enterprises_hubs_tabs: + has_no_payment_methods: "%{enterprise} нема начина плаћања" + has_no_shipping_methods: "%{enterprise} нема методе испоруке" + has_no_enterprise_fees: "%{enterprise} нема накнаде за предузећа" + flashes: + dismiss: Одбаци + side_menu: + enterprise: + primary_details: "Примарни детаљи" + address: "Адреса" + contact: "Контакт" + social: "Социал" + about: "О томе" + business_details: "Пословни детаљи" + images: "Слике" + properties: "Својства" + shipping_methods: "Начини испоруке" + payment_methods: "Начини плаћања" + enterprise_fees: "Ентерприсе Феес" + enterprise_permissions: "Ентерприсе Пермиссионс" + inventory_settings: "Подешавања инвентара" + tag_rules: "Таг Рулес" + shop_preferences: "Подешавања продавнице" + users: "Корисници" + vouchers: Ваучери + white_label: "Бела ознака" + connected_apps: "Повезане апликације" + enterprise_group: + primary_details: "Примарни детаљи" + users: "Корисници" + about: "О томе" + images: "Слике" + contact: "Контакт" + web: "Веб ресурси" + enterprise_issues: + create_new: Створи ново + resend_email: Пошаље е-маил + has_no_payment_methods: "%{enterprise} тренутно нема начина плаћања" + has_no_shipping_methods: "%{enterprise} тренутно нема методе испоруке" + email_confirmation: "Потврда имејлом је на чекању. Послали смо е-поруку са потврдом на %{email} ." + not_visible: "%{enterprise} није видљив и стога се не може наћи на мапи или у претрагама" + reports: + deprecated: "Овај извештај је застарео и биће уклоњен у наредном издању." + hidden: САКРИВЕН + unitsize: УНИТСИЗЕ + total: ТОТАЛ + total_items: УКУПНО СТАВКИ + total_by_customer: Укупно по купцу + total_by_supplier: Укупно по добављачу + supplier_totals: Укупне вредности добављача циклуса наручивања + percentage: "%{value} %" + supplier_totals_by_distributor: Наручите укупне вредности добављача циклуса према дистрибутеру + totals_by_supplier: Наручите укупне вредности дистрибутера циклуса по добављачу + customer_totals: Укупне вредности купаца циклуса наручивања + all_products: Сви производи + inventory: Инвентар (на руци) + lettuce_share: ЛеттуцеСхаре + payment_methods: Извештај о начинима плаћања + delivery: Известај о испоруци + sales_tax_totals_by_producer: Укупни порез на промет према произвођачу + sales_tax_totals_by_order: Укупни порези на промет по налогу + tax_types: Врсте пореза + tax_rates: Пореске стопе + pack_by_customer: Пацк Би Цустомер + pack_by_supplier: Паковање по добављачу + pack_by_product: Паковање по производу + display: + report_is_big: "Овај извештај је велики и може успорити ваш уређај." + display_anyway: "Дисплаи аниваи" + download: + button: "Преузмите извештај" + show: + report_taking_longer: > + Жао нам је, обрада овог извештаја је трајала предуго. Може да садржи много + података или смо заузети другим извештајима. Можете покушати поново касније. + report_taking_longer_html: > + Обрада овог извештаја траје дуже. Може да садржи много података или смо + заузети другим извештајима. Када се заврши, обавестићемо вас путем е-поште. + report_link_label: Преузмите извештај (када је доступан) + revenues_by_hub: + name: Приходи према чворишту + description: Приходи по чворишту + orders_and_distributors: + name: Поруџбине и дистрибутери + description: Поруџбине са детаљима о дистрибутеру + bulk_coop: + name: Булк Цо-Оп + description: Извештаји за групне кооперативне поруџбине + payments: + name: Извештаји о плаћању + description: Извештаји за плаћања + orders_and_fulfillment: + name: Извештаји о налозима и испуњењу + customers: + name: Купци + products_and_inventory: + name: Производи и инвентар + users_and_enterprises: + name: Корисници и предузећа + description: Власништво и статус предузећа + order_cycle_management: + name: Управљање циклусом наруџби + sales_tax: + name: Порез на промет + xero_invoices: + name: Ксеро Инвоицес + description: Фактуре за увоз у Ксеро + enterprise_fee_summary: + name: "Резиме накнада предузећа" + description: "Резиме наплаћених накнада предузећа" + enterprise_fees_with_tax_report_by_order: "Накнаде предузећа са пореским извештајем по налогу" + enterprise_fees_with_tax_report_by_producer: "Накнаде предузећа са пореским извештајем произвођача" + errors: + no_report_type: "Наведите тип извештаја" + report_not_found: "Извештај није пронађен" + missing_ransack_params: "Молимо наведите параметре претраге Рансацк-а у захтеву" + hidden_field: "< Скривено >" + summary_row: + total: "ТОТАЛ" + table: + select_and_search: "Изаберите филтере и кликните на %{option} да бисте приступили својим подацима." + headings: + hub: "Хуб" + customer_code: "Код" + first_name: "Име" + last_name: "Презиме" + supplier: "Добављач" + product: "Производ" + variant: "Варијанта" + quantity: "Количина" + is_temperature_controlled: "ТемпЦонтроллед?" + temp_controlled: "ТемпЦонтроллед?" + price: "Цена" + rendering_options: + generate_report: "Генерисање извештаја" + on_screen: "На екрану" + spreadsheet: "Табела (Екцел, ОпенОффице..)" + display: Приказ + summary_row: Суммари Ред + header_row: Ред заглавља + raw_data: Сирове информације + formatted_data: Форматирани подаци + packing: + name: "Извештаји о паковању" + oidc_settings: + index: + title: "ОИДЦ подешавања" + connect: "Повежите свој налог" + disconnect: "Прекини везу" + connected: "Ваш налог је повезан са %{uid} ." + les_communs_link: "Лес Цоммунс Опен ИД сервер" + link_your_account: "Прво морате да повежете свој налог са провајдером ауторизације који користи ДФЦ (Лес Цоммунс Опен ИД Цоннецт)." + link_account_button: "Повежите свој Лес Цоммунс ОИДЦ налог" + note_expiry: | + Токени за приступ повезаним апликацијама су истекли. Освежите своје + везу налога да би све интеграције функционисале. + refresh: "Освежите ауторизацију" + view_account: "Да бисте видели свој налог, погледајте:" + subscriptions: + index: + title: "Претплате" + new: "Нова претплата" + issue: "Питање" + new: + title: "Нова претплата" + edit: + title: "Уреди претплату" + table: + edit_subscription: Уреди претплату + pause_subscription: Паузирајте претплату + unpause_subscription: Поништи претплату + cancel_subscription: Отказати претплату + filters: + query_placeholder: "Претрага путем е-поште..." + setup_explanation: + title: "Претплате" + just_a_few_more_steps: 'Још само неколико корака пре него што почнете:' + enable_subscriptions: "Омогућите претплате за најмање једну од ваших продавница" + enable_subscriptions_step_1_html: 1. Идите на страницу %{enterprises_link} , пронађите своју продавницу и кликните на „Управљај“ + enable_subscriptions_step_2: 2. У оквиру „Схоп Преференцес“ омогућите опцију Претплате + set_up_shipping_and_payment_methods_html: Подесите методе %{shipping_link} и %{payment_link} + set_up_shipping_and_payment_methods_note_html: Имајте на уму да могу само Цасх и Стрипе начини плаћања
користити са претплатама + ensure_at_least_one_customer_html: Уверите се да постоји бар један %{customer_link} + create_at_least_one_schedule: Направите барем један распоред + create_at_least_one_schedule_step_1_html: 1. Идите на страницу %{order_cycles_link} + create_at_least_one_schedule_step_2: 2. Креирајте циклус поруџбине ако то већ нисте урадили + create_at_least_one_schedule_step_3: 3. Кликните на „+ Нови распоред“ и попуните образац + once_you_are_done_you_can_html: Када завршите, можете %{reload_this_page_link} + reload_this_page: поново учитајте ову страницу + form: + create: "Креирајте претплату" + steps: + details: 1. Основни детаљи + address: 2. Адреса + products: 3. Додајте производе + review: 4. Прегледајте и сачувајте + subscription_line_items: + this_is_an_estimate: | + Приказане цене су само процењене и израчунате у тренутку промене претплате. + Ако промените цене или накнаде, поруџбине ће бити ажуриране, али ће претплата и даље приказивати старе вредности. + not_in_open_and_upcoming_order_cycles_warning: "Нема отворених или предстојећих циклуса наруџби за овај производ." + autocomplete: + name_or_sku: "ИМЕ ИЛИ СКУ" + quantity: "Количина" + add: "Додати" + details: + details: Детаљи + invalid_error: Упс! Молимо вас да попуните сва обавезна поља... + allowed_payment_method_types_tip: Тренутно се могу користити само готовински и Стрипе начини плаћања + credit_card: Кредитна картица + charges_not_allowed: Овај купац не дозвољава наплате + no_default_card: Клијент нема доступне картице за наплату + card_ok: Клијент има картицу на располагању за наплату + begins_at_placeholder: "Изаберите датум" + ends_at_placeholder: "Опционо" + loading_flash: + loading: ЛОАДИНГ ПРЕТПЛАТА + review: + details: Детаљи + address: Адреса + products: Производи + no_open_or_upcoming_order_cycle: "Нема предстојећег циклуса наруџби" + products_panel: + save: "САЧУВАТИ" + saving: "УШТЕДА" + saved: "САВЕД" + product_already_in_order: Овај производ је већ додат у поруџбину. Измените количину директно. + stock: + insufficient_stock: "Недовољно расположивих залиха" + out_of_stock: "Нема на залихи" + orders: + number: Број + confirm_edit: Да ли сте сигурни да желите да измените ову наруџбу? То може отежати аутоматску синхронизацију промена претплате у будућности. + confirm_cancel_msg: "Да ли сте сигурни да желите да откажете ову претплату? Ова радња се не може опозвати." + cancel_failure_msg: "Жао нам је, отказивање није успело!" + confirm_pause_msg: "Да ли сте сигурни да желите да паузирате ову претплату?" + pause_failure_msg: "Жао нам је, паузирање није успело!" + confirm_unpause_msg: "Ако имате отворен циклус поруџбина у распореду ове претплате, поруџбина ће бити креирана за овог купца. Да ли сте сигурни да желите да опозовете паузирање ове претплате?" + unpause_failure_msg: "Жао нам је, паузирање није успело!" + confirm_cancel_open_orders_msg: "Неке поруџбине за ову претплату су тренутно отворене. Купац је већ обавештен да ће поруџбина бити послата. Да ли желите да откажете ове поруџбине или да их задржите?" + resume_canceled_orders_msg: "Неке поруџбине за ову претплату могу се одмах наставити. Можете их наставити из падајућег менија наруџби." + yes_cancel_them: Откажи их + no_keep_them: Држати их + yes_i_am_sure: Да сигуран сам + number: "Број" + order_update_issues_msg: Неке поруџбине се не могу аутоматски ажурирати, то је највероватније зато што су ручно уређиване. Прегледајте доле наведене проблеме и извршите прилагођавања појединачних поруџбина ако је потребно. + no_results: + no_subscriptions: Још нема претплата... + why_dont_you_add_one: Зашто не додате један? :) + no_matching_subscriptions: Нису пронађене одговарајуће претплате + schedules: + destroy: + associated_subscriptions_error: Овај распоред се не може избрисати јер има повезане претплате + vouchers: + new: + legend: Нови ваучер + back: Назад + save: сачувати + voucher_code: Ваучер код + voucher_amount: Износ + voucher_type: Тип ваучера + flat_rate: Раван + percentage_rate: Проценат (%) + controllers: + enterprises: + stripe_connect_cancelled: "Веза са Стрипе-ом је отказана" + stripe_connect_success: "Стрипе налог је успешно повезан" + stripe_connect_fail: Жао нам је, повезивање вашег Стрипе налога није успело + stripe_connect_settings: + resource: Стрипе Цоннецт конфигурација + resend_confirmation_emails_feedback: + one: "Послата је е-порука за потврду за 1 поруџбину." + few: "Е-поруке са потврдом послате за поруџбине %{count} ." + other: "Е-поруке са потврдом послате за поруџбине %{count} ." + send_invoice_feedback: + one: "Е-пошта са фактуром је послата за 1 поруџбину." + few: "Е-поруке са фактурама послате за поруџбине %{count} ." + other: "Е-поруке са фактурама послате за поруџбине %{count} ." + api: + unknown_error: "Нешто није у реду. Наш тим је обавештен." + invalid_api_key: "Наведен је неважећи АПИ кључ ( %{key} )." + unauthorized: "Нисте овлашћени да извршите ту радњу." + unpermitted_parameters: "Параметри нису дозвољени у овом захтеву: %{params}" + missing_parameter: "Недостаје обавезан параметар или је празан: %{param}" + invalid_resource: "Неважећи ресурс. Исправите грешке и покушајте поново." + resource_not_found: "Ресурс који сте тражили није пронађен." + enterprise_logo: + destroy_attachment_does_not_exist: "Лого не постоји" + enterprise_promo_image: + destroy_attachment_does_not_exist: "Промо слика не постоји" + enterprise_terms_and_conditions: + destroy_attachment_does_not_exist: "Датотека са условима и одредбама не постоји" + orders: + failed_to_update: "Ажурирање редоследа није успело" + query_param: + error: + title: Неважећи параметар упита + extra_fields: "Неподржана поља: %{fields}" + checkout: + failed: "Плаћање није успело. Обавестите нас како бисмо могли да обрадимо вашу поруџбину." + payment_cancelled_due_to_stock: "Плаћање је отказано: плаћање није могло да се заврши због проблема са залихама." + order_not_loaded: "Није пронађена важећа поруџбина за обраду плаћања" + your_details_without_number: Ваши детаљи + payment_method_without_number: Начин плаћања + order_summary_without_number: Резиме налога + already_ordered: + cart: "колица" + message_html: "Већ имате поруџбину за овај циклус поруџбина. Проверите %{cart} да бисте видели артикле које сте раније наручили. Такође можете отказати артикле све док је циклус поруџбине отворен." + step1: + contact_information: + title: Контакт информације + email: + label: Емаил + phone: + label: Број телефона + billing_address: + title: Адреса за обрачун + first_name: + label: Име + last_name: + label: Презиме + address: + address1: + label: Адреса (улица + кућни број) + address2: + label: Додатне информације о адреси (опционо) + city: + label: Цити + state_id: + label: Држава + zipcode: + label: Поштански број + country_id: + label: Држава + shipping_info: + title: Подаци о испоруци + submit: Следеће - Начин плаћања + cancel: Назад у корпу за уређивање + step2: + payment_method: + title: Начин плаћања + form: + card_number: + label: Број картице + placeholder: нпр. 4242 4242 4242 4242 + card_verification_value: + label: ЦВЦ + card_month: + label: Месец + card_year: + label: Година + stripe: + use_saved_card: Користите сачувану картицу + use_new_card: Унесите идентификаторе картице + save_card: Сачувајте картицу за будућу употребу + create_new_card: или унесите податке о новој картици испод + explaination: Можете прегледати и потврдити своју поруџбину у следећем кораку који укључује коначне трошкове. + submit: Следеће - Резиме налога + cancel: Назад на Ваше детаље + voucher: + voucher: "%{voucher_amount} Ваучер" + apply_voucher: Примените ваучер + apply: Пријавите се + placeholder: Унесите код ваучера + remove_code: Уклони код + confirm_delete: Да ли сте сигурни да желите да уклоните ваучер? + warning_forfeit_remaining_amount: "Напомена: ако је укупан износ ваше поруџбине мањи од вашег ваучера, можда нећете моћи да потрошите преосталу вредност." + step3: + delivery_details: + title: Детаљи испоруке + edit: Уреди + address: Адреса за доставу + instructions: Упутства + payment_method: + title: Начин плаћања + edit: Уреди + instructions: Упутства + order: + title: Детаљи поруџбине + edit: Уреди + terms_and_conditions: + message_html: "Слажем се са %{terms_and_conditions_link} продавца." + link_text: "Услови и одредбе" + platform_terms_of_service: + message_html: "Слажем се са платформом %{tos_link} ." + all_terms_and_conditions: + message_html: "Слажем се са %{terms_and_conditions_link} продавца и платформом %{tos_link} ." + terms_and_conditions: "Услови и одредбе" + submit: Комплетан налог + cancel: Назад на начин плаћања + errors: + saving_failed: "Чување није успело, ажурирајте означена поља." + terms_not_accepted: Молимо прихватите услове и одредбе + required: Поље не може бити празно + invalid_number: "Унесите важећи број телефона" + invalid_email: "Унесите важећу адресу е-поште" + select_a_shipping_method: Изаберите начин испоруке + select_a_payment_method: Изаберите начин плаћања + no_shipping_methods_available: Плаћање није могуће због непостојања опција испоруке. Молимо контактирајте власника продавнице. + voucher_not_found: Није пронађено + add_voucher_error: Дошло је до грешке при додавању ваучера + shops: + hubs: + show_closed_shops: "Покажите затворене продавнице" + hide_closed_shops: "Сакриј затворене продавнице" + show_on_map: "Прикажи све на мапи" + shared: + mailers: + powered_by: + open_food_network: "Отворена мрежа хране" + powered_html: "Ваше искуство куповине покреће %{open_food_network} ." + menu: + cart: + cart: "Царт" + cart_sidebar: + checkout: "Провери" + edit_cart: "Уреди корпу" + items_in_cart_singular: "%{num} артикал у вашој корпи" + items_in_cart_plural: "%{num} артикала у вашој корпи" + close: "Близу" + cart_empty: "Ваша колица су празна" + take_me_shopping: "Води ме у куповину!" + signed_in: + profile: "Профил" + mobile_menu: + cart: "Царт" + register_call: + selling_on_ofn: "Заинтересовани сте да уђете у Опен Фоод Нетворк?" + register: "Региструјте овде" + footer: + footer_secure: "Сигурно и од поверења." + footer_secure_text: "Опен Фоод Нетворк користи ССЛ енкрипцију (2048 бит РСА) свуда како би ваше информације о куповини и плаћању биле приватне. Наши сервери не чувају податке о вашој кредитној картици и плаћања обрађују услуге компатибилне са ПЦИ." + footer_contact_headline: "Останимо у контакту" + footer_contact_email: "Пошаљите нам е-пошту" + footer_nav_headline: "Навигација" + footer_join_headline: "Придружи нам се" + footer_join_body: "Направите каталог, продавницу или групни директоријум на Опен Фоод Нетворк." + footer_join_cta: "Реци ми више!" + footer_legal_call: "Прочитајте наше" + footer_legal_visit: "Пронађите нас на" + footer_legal_text_html: "Опен Фоод Нетворк је бесплатна софтверска платформа отвореног кода. Наш садржај је лиценциран са %{content_license} , а наш код са %{code_license} ." + footer_data_text_with_privacy_policy_html: "Добро водимо рачуна о вашим подацима. Погледајте наше %{privacy_policy} и %{cookies_policy}" + footer_data_text_without_privacy_policy_html: "Добро водимо рачуна о вашим подацима. Погледајте наш %{cookies_policy}" + footer_data_privacy_policy: "правила о приватности" + footer_data_cookies_policy: "политика колачића" + shop: + messages: + customer_required: + login: "Пријавите се" + contact: "контакт" + require_customer_login: "Само одобрени купци могу приступити овој продавници." + require_login_link_html: "Ако сте већ одобрени купац, %{login} да наставите." + require_login_2_html: "Желите да почнете да купујете овде? Молимо вас %{contact} %{enterprise} и питајте о придруживању." + require_customer_html: "Ако желите да почнете да купујете овде, молимо %{contact} %{enterprise} да питате о придруживању." + select_oc: + select_oc_html: "Молимо изаберите када желите своју наруџбу , да видите који производи су доступни." + products: + summary: + bulk: "Товар" + card_could_not_be_updated: Картица се не може ажурирати + card_could_not_be_saved: картица није могла бити сачувана + spree_gateway_error_flash_for_checkout: "Дошло је до проблема са вашим подацима о плаћању: %{error}" + invoice_billing_address: "Адреса за наплату:" + invoice_column_tax: "ГСТ" + invoice_column_price: "Цена" + invoice_column_item: "Ставка" + invoice_column_qty: "Кти" + invoice_column_weight_volume: "Тежина / ВОЛ." + invoice_column_unit_price_with_taxes: "Јединична цена (са порезом)" + invoice_column_unit_price_without_taxes: "Јединична цена (без пореза)" + invoice_column_price_with_taxes: "Укупна цена (са порезом)" + invoice_column_price_without_taxes: "Укупна цена (без пореза)" + invoice_column_price_per_unit_without_taxes: "Цена по јединици (без пореза)" + invoice_column_tax_rate: "Пореска стопа" + invoice_tax_total: "ГСТ укупно:" + invoice_cancel_and_replace_invoice: "поништава и замењује фактуру" + tax_invoice: "ПОРЕСКА ФАКТУРА" + tax_total: "Укупан порез ( %{rate} ):" + invoice_shipping_category_delivery: "Достава" + invoice_shipping_category_pickup: "Пицкуп" + total_excl_tax: "Укупно (без пореза):" + total_incl_tax: "Укупно (са порезом):" + total_all_tax: "Укупан порез:" + abn: "АБН:" + acn: "АЦН:" + invoice_issued_on: "Фактура издата на:" + order_number: "Редни број:" + date_of_transaction: "Датум трансакције:" + menu_1_title: "Продавнице" + menu_1_url: "/shops" + menu_2_title: "Мапа" + menu_2_url: "/map" + menu_3_title: "Произвођачи" + menu_3_url: "/producers" + menu_4_title: "Групе" + menu_4_url: "/groups" + menu_5_title: "О томе" + menu_5_url: "хттпс://абоут.опенфооднетворк.орг.ау/" + menu_6_title: "Повежите се" + menu_6_url: "хттпс://опенфооднетворк.орг/ау/цоннецт/" + menu_7_title: "Научите" + menu_7_url: "хттпс://опенфооднетворк.орг/ау/леарн/" + logo: "Лого (640к130)" + logo_mobile: "Мобилни лого (75к26)" + logo_mobile_svg: "Мобилни логотип (СВГ)" + home_hero: "Слика хероја" + home_show_stats: "Прикажи статистику" + footer_logo: "Лого (220к76)" + footer_facebook_url: "Фацебоок УРЛ" + footer_twitter_url: "Твиттер УРЛ" + footer_instagram_url: "Инстаграм УРЛ" + footer_linkedin_url: "ЛинкедИн УРЛ" + footer_googleplus_url: "Гоогле Плус УРЛ" + footer_pinterest_url: "Пинтерест УРЛ" + footer_email: "Емаил" + footer_links_md: "Линкови" + footer_about_url: "О УРЛ-у" + user_guide_link: "Веза са корисничким водичем" + name: Име + first_name: Име + last_name: Презиме + email: Емаил + phone: Телефон + next: Следећи + address: Адреса + address_placeholder: на пример. 123 Хигх Стреет + address2: Адреса (наставак) + city: Цити + city_placeholder: на пример. Нортхцоте + latitude: Географска ширина + latitude_placeholder: на пример. -37,4713077 + latitude_longitude_tip: Географска ширина и дужина су потребне да би се ваше предузеће приказало на мапи. + longitude: Географска дужина + longitude_placeholder: на пример. 144.7851531 + use_geocoder: Да ли аутоматски израчунати географску ширину и дужину из адресе? + state: Држава + postcode: Поштански број + postcode_placeholder: на пример. 3070 + suburb: Предграђе + country: Држава + unauthorized: Неовлашћено + terms_of_service: "Услови коришћења" + on_demand: На захтев + not_allowed: Није дозвољено + no_shipping: нема начина испоруке + no_payment: нема начина плаћања + no_shipping_or_payment: нема начина испоруке или плаћања + unconfirmed: непотврђено + days: дана + authorization_failure: "Неуспех ауторизације" + description: "Опис" + label_shop: "Схоп" + label_shops: "Продавнице" + label_map: "Мапа" + label_producer: "Произвођач" + label_producers: "Произвођачи" + label_groups: "Групе" + label_about: "О томе" + label_blog: "Блог" + label_support: "Подршка" + label_shopping: "Шопинг" + label_login: "Пријавите се" + label_logout: "Одјавити се" + label_signup: "Пријави се" + label_administration: "Администрација" + label_admin: "Админ" + label_account: "Рачун" + label_more: "Прикажи више" + label_less: "Прикажи мање" + cart_items: "ставке" + cart_headline: "Ваша корпа" + total: "Укупно" + cart_updating: "Ажурирање колица..." + cart_empty: "Корпа је празна" + cart_edit: "Уредити вашу корпу" + item: "Ставка" + qty: "Кти" + card_number: Број картице + card_securitycode: "Сигурносни код" + card_expiry_date: Датум истека + card_masked_digit: "Икс" + card_expiry_abbreviation: "Екп" + new_credit_card: "Нова кредитна картица" + my_credit_cards: Моје кредитне картице + add_new_credit_card: Додајте нову кредитну картицу + saved_cards: Сачуване картице + add_a_card: Додај картицу + add_card: Додај картицу + you_have_no_saved_cards: Још увек нисте сачували ниједну картицу + saving_credit_card: Чување кредитне картице... + card_has_been_removed: "Ваша картица је уклоњена (број: %{number} )" + card_could_not_be_removed: Жао нам је, није могуће уклонити картицу + invalid_credit_card: "Неважећа кредитна картица" + legal: + cookies_policy: + header: "Како користимо колачиће" + desc_part_1: "Колачићи су веома мале текстуалне датотеке које се чувају на вашем рачунару када посетите неке веб локације." + desc_part_2: "У ОФН-у у потпуности поштујемо вашу приватност. Користимо само колачиће који су неопходни за пружање услуге продаје/куповине хране на мрежи. Не продајемо ниједан од ваших података. У будућности бисмо могли да вам предложимо да поделите неке од својих података за изградњу нових заједничких услуга које би могле бити корисне за екосистем (попут логистичких услуга за кратке системе исхране), али ми још нисмо тамо и нећемо то учинити без вашег овлашћење :-)" + desc_part_3: "Користимо колачиће углавном да бисмо запамтили ко сте ако се 'логирате' на услугу или да бисмо могли да запамтите артикле које сте ставили у корпу чак и ако нисте пријављени. Ако наставите да се крећете по веб страници без кликања на „Прихвати колачиће“, претпостављамо да нам дајете сагласност за чување колачића који су неопходни за функционисање веб странице. Ево листе колачића које користимо!" + essential_cookies: "Ессентиал Цоокиес" + essential_cookies_desc: "Следећи колачићи су стриктно неопходни за рад наше веб странице." + essential_cookies_note: "Већина колачића садржи само јединствени идентификатор, али не и друге податке, тако да се ваша адреса е-поште и лозинка, на пример, никада не налазе у њима и никада нису изложени." + cookie_domain: "Одредити:" + cookie_session_desc: "Користи се да омогући веб локацији да памти кориснике између посета страници, на пример, да запамти ставке у вашој корпи." + cookie_consent_desc: "Користи се за одржавање статуса сагласности корисника за чување колачића" + cookie_remember_me_desc: "Користи се ако је корисник затражио да га веб локација запамти. Овај колачић се аутоматски брише након 12 дана. Ако као корисник желите да се тај колачић избрише, потребно је само да се одјавите. Ако не желите да се тај колачић инсталира на ваш рачунар, не би требало да означите поље за потврду „запамти ме“ када се пријављујете." + cookie_openstreemap_desc: "Користи га наш пријатељски провајдер мапирања отвореног кода (ОпенСтреетМап) како би осигурао да не добије превише захтева током датог временског периода, како би спречио злоупотребу њихових услуга." + cookie_stripe_desc: "Подаци које прикупља наш процесор плаћања Стрипе за откривање преваре хттпс://стрипе.цом/цоокиес-полици/легал. Не користе све продавнице Стрипе као начин плаћања, али је добра пракса да се спречи превара применити га на све странице. Стрипе вероватно прави слику о томе које наше странице обично комуницирају са својим АПИ-јем, а затим означавају било шта необично. Дакле, постављање Стрипе колачића има ширу функцију од једноставног пружања начина плаћања кориснику. Уклањање може утицати на безбедност саме услуге. Можете сазнати више о Стрипе-у и прочитати његову политику приватности на хттпс://стрипе.цом/приваци." + statistics_cookies: "Статистицс Цоокиес" + statistics_cookies_desc: "Следеће није стриктно неопходно, али помаже да вам пружимо најбоље корисничко искуство омогућавајући нам да анализирамо понашање корисника, идентификујемо које функције највише користите или не користите, разумемо проблеме са корисничким искуством итд." + statistics_cookies_matomo_desc_html: "За прикупљање и анализу података о коришћењу платформе користимо Матомо (бивши Пивик), алатку за анализу отвореног кода која је усклађена са ГДПР-ом и штити вашу приватност." + statistics_cookies_matomo_optout: "Да ли желите да искључите Матомо аналитику? Не прикупљамо никакве личне податке и Матомо нам помаже да побољшамо нашу услугу, али поштујемо ваш избор :-)" + cookie_matomo_basics_desc: "Матомо колачићи прве стране за прикупљање статистике." + cookie_matomo_heatmap_desc: "Матомо Хеатмап & Колачић за снимање сесије." + cookie_matomo_ignore_desc: "Колачић се користи за искључивање корисника из праћења." + disabling_cookies_header: "Упозорење о онемогућавању колачића" + disabling_cookies_desc: "Као корисник, увек можете да дозволите, блокирате или избришете колачиће Опен Фоод Нетворк-а или било које друге веб странице кад год желите преко контроле подешавања вашег претраживача. Сваки претраживач има различите оперативне функције. Ево линкова:" + disabling_cookies_firefox_link: "хттпс://суппорт.мозилла.орг/ен-УС/кб/енабле-анд-дисабле-цоокиес-вебсите-преференцес" + disabling_cookies_chrome_link: "хттпс://суппорт.гоогле.цом/цхроме/ансвер/95647" + disabling_cookies_ie_link: "хттпс://суппорт.мицрософт.цом/ен-ус/хелп/17442/виндовс-интернет-екплорер-делете-манаге-цоокиес" + disabling_cookies_safari_link: "хттпс://ввв.аппле.цом/легал/приваци/ен-вв/цоокиес/" + disabling_cookies_note: "Али имајте на уму да ако избришете или измените основне колачиће које користи Опен Фоод Нетворк, веб локација неће функционисати, нећете моћи ништа да додате у своју корпу, као ни за плаћање, на пример." + cookies_banner: + cookies_usage: "Ова страница користи колачиће како би ваша навигација била безбрижна и безбедна, и да би нам помогао да разумемо како га користите да бисмо побољшали функције које нудимо." + cookies_definition: "Колачићи су веома мале текстуалне датотеке које се чувају на вашем рачунару када посетите неке веб локације." + cookies_desc: "Користимо само колачиће који су неопходни за пружање услуге продаје/куповине хране на мрежи. Не продајемо никакве ваше податке. Користимо колачиће углавном да бисмо запамтили ко сте ако се 'логирате' на услугу или да бисмо могли да запамтите артикле које сте ставили у корпу чак и ако нисте пријављени. Ако наставите да се крећете по веб страници без кликања на „Прихвати колачиће“, претпостављамо да нам дајете сагласност за чување колачића који су неопходни за функционисање веб странице." + cookies_policy_link_desc: "Ако желите да сазнате више, погледајте нашу" + cookies_policy_link: "политика колачића" + cookies_accept_button: "Прихватите колачиће" + home_shop: Купујте одмах + brandstory_headline: "Храна, неинкорпорисана." + brandstory_intro: "Понекад је најбољи начин да поправите систем покретање новог..." + brandstory_part1: "Почињемо од темеља. Са пољопривредницима и узгајивачима спремним да испричају своје приче поносно и истинито. Са дистрибутерима спремним да повежу људе са производима поштено и поштено. Са купцима који верују да боље одлуке о недељној куповини могу озбиљно да промене свет." + brandstory_part2: "Онда нам је потребан начин да то учинимо стварним. Начин да се оснаже сви који узгајају, продају и купују храну. Начин да се испричају све приче, да се реши сва логистика. Начин да сваки дан претворите трансакцију у трансформацију." + brandstory_part3: "Тако да градимо онлајн тржиште које изједначава услове. То је транспарентно, тако да ствара праве односе. Он је отвореног кода, тако да је у власништву свих. Проширује се на регионе и нације, тако да људи покрећу верзије широм света." + brandstory_part4: "Ради свуда. То мења све." + brandstory_part5_strong: "Ми то зовемо Опен Фоод Нетворк." + brandstory_part6: "Сви волимо храну. Сада можемо да волимо и наш систем исхране." + system_headline: "Куповина - ево како то функционише." + system_step1: "1. Претрага" + system_step1_text: "Претражите наше разноврсне, независне продавнице за сезонску локалну храну. Претражујте по комшилуку и категорији хране, или да ли више волите доставу или преузимање." + system_step2: "2. Продавница" + system_step2_text: "Трансформишите своје трансакције приступачном локалном храном различитих произвођача и центара. Упознајте приче иза ваше хране и људи који је праве!" + system_step3: "3. Преузимање / достава" + system_step3_text: "Сачекајте своју испоруку или посетите свог произвођача или центар за личнију везу са храном. Куповина хране разноврсна како је природа замислила." + cta_headline: "Куповина која чини свет бољим местом." + cta_label: "Спреман сам" + stats_headline: "Стварамо нови систем исхране." + stats_producers: "произвођачи хране" + stats_shops: "продавнице хране" + stats_shoppers: "купци хране" + stats_orders: "наруџбине за храну" + checkout_title: Провери + checkout_now: Плаћање сада + checkout_order_ready: Наруџбина спремна за + checkout_hide: Сакрити + checkout_expand: Проширити + checkout_headline: "Ок, спремни за одјаву?" + checkout_as_guest: "Плаћање као гост" + checkout_details: "Ваши детаљи" + checkout_billing: "Информације о наплати" + checkout_default_bill_address: "Сачувај као подразумевану адресу за обрачун" + checkout_shipping: Достава информације + checkout_default_ship_address: "Сачувај као подразумевану адресу за испоруку" + checkout_method_free: бесплатно + checkout_address_same: Адреса за испоруку иста као адреса за обрачун? + checkout_ready_for: "Спреман за:" + checkout_instructions: "Има ли коментара или посебних упутстава?" + checkout_payment: Плаћање + checkout_send: Наручите одмах + checkout_your_order: Ваше наређење + checkout_cart_total: Укупно у колицима + checkout_shipping_price: поштарина + checkout_total_price: Укупно + checkout_back_to_cart: "Назад у корпу" + cost_currency: "Цост Валута" + order_paid: ПЛАЋЕН + order_not_paid: НЕПЛАЋЕН + order_total: Тотални ред + order_payment: "Плаћање путем:" + no_payment_required: "Плаћање није потребно" + order_billing_address: Адреса за наплату + order_delivery_on: Испорука на + order_delivery_address: Адреса за испоруку + order_delivery_time: Време испоруке + order_special_instructions: "Ваше белешке:" + order_pickup_time: Спреман за сакупљање + order_pickup_instructions: Упутства за прикупљање + order_produce: Производити + order_amount_paid: Износ плаћен + order_total_price: Укупно + order_balance_due: Стање због + order_includes_tax: (укључује порез) + order_payment_paypal_successful: Ваша уплата путем ПаиПал-а је успешно обрађена. + order_hub_info: Хуб Инфо + order_back_to_store: Назад у продавницу + order_back_to_cart: Повратак у корпу + order_back_to_website: Назад на веб локацију + checkout_details_title: Цхецкоут Детаилс + checkout_payment_title: Плаћање на касу + checkout_summary_title: Резиме наплате + bom_tip: "Користите ову страницу да промените количине производа у више поруџбина. Производи се такође могу у потпуности уклонити из поруџбина, ако је потребно." + unsaved_changes_warning: "Несачуване промене постоје и биће изгубљене ако наставите." + unsaved_changes_error: "Поља са црвеним оквирима садрже грешке." + products: "Производи" + products_in: "у %{oc}" + products_at: "на %{distributor}" + products_elsewhere: "Производи пронађени на другим местима" + email_confirmed: "Хвала вам што сте потврдили своју адресу е-поште." + email_confirmation_activate_account: "Пре него што можемо да активирамо ваш нови налог, морамо да потврдимо вашу адресу е-поште." + email_confirmation_greeting: "Здраво, %{contact} !" + email_confirmation_profile_created: "Профил за %{name} је успешно направљен! Да бисмо активирали ваш профил, морамо да потврдимо ову адресу е-поште." + email_confirmation_click_link: "Кликните на везу испод да потврдите своју е-пошту и да наставите са подешавањем свог профила." + email_confirmation_link_label: "Потврдите ову адресу е-поште »" + email_confirmation_help_html: "Након што потврдите своју е-пошту, можете приступити свом административном налогу за ово предузеће. Погледајте %{link} да бисте сазнали више о функцијама %{sitename} и да бисте почели да користите свој профил или продавницу на мрежи." + email_confirmation_notice_unexpected: "Ову поруку сте добили јер сте се пријавили на %{sitename} или вас је неко кога вероватно познајете позвао да се пријавите. Ако не разумете зашто добијате ову е-пошту, пишите на %{contact} ." + email_social: "Повежите се са нама:" + email_contact: "Пошаљите нам е-пошту:" + email_signoff: "Живели," + email_signature: "%{sitename} Теам" + email_confirm_customer_greeting: "Здраво %{name} ," + email_confirm_customer_intro_html: "Хвала на куповини на %{distributor} !" + email_confirm_customer_number_html: "Потврда поруџбине # %{number}" + email_confirm_customer_details_html: "Ево детаља ваше поруџбине од %{distributor} :" + email_confirm_customer_signoff: "Срдачан поздрав," + email_confirm_shop_greeting: "Здраво %{name} ," + email_confirm_shop_order_html: "Добро урађено! Имате нову наруџбу за %{distributor} !" + email_confirm_shop_number_html: "Потврда поруџбине # %{number}" + email_order_summary_item: "Ставка" + email_order_summary_quantity: "Кти" + email_order_summary_sku: "СКУ" + email_order_summary_price: "Цена" + email_order_summary_subtotal: "међузбир:" + email_order_summary_total: "Укупно:" + email_order_summary_includes_tax: "(укључује порез):" + email_payment_paid: ПЛАЋЕН + email_payment_not_paid: НЕПЛАЋЕН + email_payment_description: Опис плаћања на благајни + email_payment_summary: Резиме плаћања + email_payment_method: "Плаћање путем:" + email_so_placement_intro_html: "Имате нову наруџбу са %{distributor}" + email_so_placement_details_html: "Ево детаља ваше поруџбине за %{distributor} :" + email_so_placement_changes: "Нажалост, нису сви производи које сте тражили били доступни. Оригиналне количине које сте тражили су прецртане испод." + email_so_payment_success_intro_html: "Аутоматско плаћање је обрађено за вашу поруџбину од %{distributor} ." + email_so_placement_explainer_html: "Ова поруџбина је аутоматски направљена за вас." + email_so_edit_true_html: "Можете %{orders_close_at} ." + email_so_contact_distributor_html: "Ако имате било каквих питања, можете контактирати %{distributor} преко %{email} ." + email_so_contact_distributor_to_change_order_html: "Ова поруџбина је аутоматски направљена за вас. Можете вршити измене док се поруџбине не затворе на %{orders_close_at} тако што ћете контактирати %{distributor} преко %{email} ." + email_so_confirmation_intro_html: "Ваша поруџбина са %{distributor} је сада потврђена" + email_so_confirmation_explainer_html: "Ова поруџбина је аутоматски послата за вас и сада је завршена." + email_so_confirmation_details_html: "Ево свега што треба да знате о својој поруџбини од %{distributor} :" + email_so_empty_intro_html: "Покушали смо да извршимо нову поруџбину са %{distributor} , али смо имали проблема..." + email_so_empty_explainer_html: "Нажалост, ниједан од производа које сте наручили није био доступан, тако да ниједна поруџбина није послата. Оригиналне количине које сте тражили су прецртане испод." + email_so_empty_details_html: "Ево детаља неиспуњене поруџбине за %{distributor} :" + email_so_failed_payment_intro_html: "Покушали смо да обрадимо уплату, али смо имали проблема..." + email_so_failed_payment_explainer_html: "Плаћање ваше претплате са %{distributor} није успело због проблема са вашом кредитном картицом. %{distributor} је обавештен о овој неуспешној уплати." + email_so_failed_payment_details_html: "Ево детаља о грешци које је обезбедио гејтвеј за плаћање:" + email_shipping_delivery_details: Детаљи испоруке + email_shipping_delivery_time: "Достава на:" + email_shipping_delivery_address: "Адреса за испоруку:" + email_shipping_collection_details: Детаљи колекције + email_shipping_collection_time: "Спреман за сакупљање:" + email_shipping_collection_instructions: "Упутства за прикупљање:" + email_special_instructions: "Ваше белешке:" + email_signup_greeting: Здраво! + email_signup_welcome: "Добродошли у %{sitename} !" + email_signup_confirmed_email: "Хвала што сте потврдили своју е-пошту." + email_signup_shop_html: "Сада се можете пријавити на %{link} ." + email_signup_text: "Хвала што сте се придружили мрежи. Ако сте купац, радујемо се што ћемо вас упознати са многим фантастичним фармерима, дивним центрима за храну и укусном храном! Ако сте произвођач или прехрамбено предузеће, узбуђени смо што сте део мреже." + email_signup_help_html: "Поздрављамо сва ваша питања и повратне информације; можете користити дугме Пошаљи повратне информације на сајту или нам е-маил на %{email}" + invite_email: + greeting: "Здраво!" + invited_to_manage: "Позвани сте да управљате %{enterprise} на %{instance} ." + confirm_your_email: "Требало је да добијете или ћете ускоро добити е-поруку са везом за потврду. Нећете моћи да приступите профилу корисника %{enterprise} док не потврдите своју е-пошту." + set_a_password: "Од вас ће тада бити затражено да поставите лозинку пре него што будете у могућности да администрирате предузеће." + mistakenly_sent: "Нисте сигурни зашто сте примили ову е-пошту? Молимо контактирајте %{owner_email} за више информација." + producer_mail_greeting: "драга" + producer_mail_text_before: "У наставку пронађите ажурирање о циклусу наруџби спремних за:" + producer_mail_order_text: "Ево резимеа поруџбина за ваше производе:" + producer_mail_delivery_instructions: "Упутства за преузимање/испоруку залиха:" + producer_mail_signoff: "Хвала и најбоље жеље" + producer_mail_order_customer_text: "Ево резимеа поруџбина груписаних по купцима" + shopping_oc_closed: Поруџбине су затворене + shopping_oc_closed_description: "Сачекајте док се не отвори следећи циклус (или нас контактирајте директно да видимо да ли можемо да прихватимо касне поруџбине)" + shopping_oc_last_closed: "Последњи циклус је затворен пре %{distance_of_time}" + shopping_oc_next_open: "Следећи циклус се отвара у %{distance_of_time}" + shopping_oc_select: "Изаберите..." + shopping_tabs_home: "Кућа" + shopping_tabs_shop: "Схоп" + shopping_tabs_about: "О томе" + shopping_tabs_producers: "Произвођачи" + shopping_tabs_contact: "Контакт" + shopping_tabs_groups: "Групе" + shopping_contact_address: "Адреса" + shopping_contact_web: "Контакт" + shopping_contact_social: "Пратити" + shopping_groups_part_of: "је део:" + shopping_producers_of_hub: "%{hub} произвођачи:" + enterprises_next_closing: "Следеће затварање налога" + enterprises_currently_open: "Поруџбине су тренутно отворене" + enterprises_ready_for: "Спреман за" + enterprises_choose: "Изаберите када желите своју поруџбину:" + maps_open: "Отвори" + maps_closed: "Затворено" + map_title: "Мапа" + hubs_buy: "Куповати за:" + hubs_shopping_here: "Куповина овде" + hubs_orders_closed: "Поруџбине затворене" + hubs_profile_only: "Само профил" + hubs_delivery_options: "Опције испоруке" + hubs_pickup: "Покупи" + hubs_delivery: "Испорука" + hubs_producers: "Наши произвођачи" + hubs_filter_by: "Филтер од" + hubs_filter_type: "Тип" + hubs_filter_delivery: "Испорука" + hubs_filter_property: "Имовина" + hubs_matches: "Да ли сте мислили?" + hubs_intro: Купујте у вашој локалној области + hubs_distance: Најближи + hubs_distance_filter: "Покажи ми продавнице у близини %{location}" + shop_changeable_orders_alert_html: + one: Ваша поруџбина са %{shop} / %{order} је отворена за преглед. Можете да уносите измене до %{oc_close} . + few: Имате %{count} поруџбине са %{shop} тренутно отворене за преглед. Можете да уносите измене до %{oc_close} . + many: Имате %{count} поруџбине са %{shop} тренутно отворене за преглед. Можете да уносите измене до %{oc_close} . + other: Имате %{count} поруџбине са %{shop} тренутно отворене за преглед. Можете да уносите измене до %{oc_close} . + orders_changeable_orders_alert_html: Ова наруџбина је потврђена, али можете да уносите измене до %{oc_close} . + products_clear: Јасно + products_showing: "Приказује се:" + products_results_for: "Резултати за" + products_or: "или" + products_and: "и" + products_filters_in: "ин" + products_with: са + products_search: "Претрага..." + products_filter_by: "Филтер од" + products_filter_selected: "изабрани" + products_filter_heading: "Филтери" + products_filter_clear: "Јасно" + products_filter_done: "Готово" + products_loading: "Учитавање производа..." + products_updating_cart: "Ажурирање колица..." + products_cart_empty: "Корпа је празна" + products_edit_cart: "Уредити вашу корпу" + products_from: из + products_change: "Нема промена за чување." + products_update_error: "Чување није успело са следећим грешкама:" + products_update_error_msg: "Чување није успело." + products_update_error_data: "Чување није успело због неважећих података:" + products_changes_saved: "Промене су сачуване." + products_no_results_html: "Жао нам је, нема резултата за %{query}" + products_clear_search: "Обриши претрагу" + search_no_results_html: "Жао нам је, нема резултата за %{query} . Пробати другу претрагу?" + components_profiles_popover: "Профили немају излог на Опен Фоод Нетворк-у, али могу имати сопствену физичку или онлајн продавницу негде другде" + components_profiles_show: "Прикажи профиле" + components_filters_nofilters: "Нема филтера" + components_filters_clearfilters: "Обришите све филтере" + groups_title: Групе + groups_headline: Групе / региони + groups_text: "Сваки произвођач је јединствен. Сваки посао има нешто другачије да понуди. Наше групе су колективи произвођача, чворишта и дистрибутера који деле нешто заједничко као што су локација, фармерско тржиште или филозофија. Ово олакшава ваше искуство куповине. Зато истражите наше групе и нека вам буде курирање." + groups_search: "Претражите име или кључну реч" + groups_no_groups: "Није пронађена ниједна група" + groups_about: "О нама" + groups_producers: "Наши произвођачи" + groups_hubs: "Наша чворишта" + groups_contact_web: Контакт + groups_contact_social: Пратити + groups_contact_address: Адреса + groups_contact_email: Пошаљите нам е-пошту + groups_contact_website: Посетите наш вебсајт + groups_contact_facebook: Пратите нас на фејзбуку + groups_signup_title: Пријавите се као група + groups_signup_headline: Групе се пријављују + groups_signup_intro: "Ми смо невероватна платформа за колаборативни маркетинг, најлакши начин за ваше чланове и заинтересоване стране да дођу до нових тржишта. Ми смо непрофитни, приступачни и једноставни." + groups_signup_email: Пошаљите нам е-пошту + groups_signup_motivation1: Правично трансформишемо системе исхране. + groups_signup_motivation2: Зато сваки дан устајемо из кревета. Ми смо глобална непрофитна организација заснована на отвореном коду. Играмо поштено. Увек нам можете веровати. + groups_signup_motivation3: Знамо да имате велике идеје и желимо да вам помогнемо. Поделићемо своје знање, мреже и ресурсе. Знамо да изолација не ствара промене, па ћемо бити партнер са вама. + groups_signup_motivation4: Срећемо те тамо где си. + groups_signup_motivation5: Можда сте савез центара за храну, произвођача или дистрибутера, и индустријско тело или локална управа. + groups_signup_motivation6: Без обзира на вашу улогу у вашем локалном покрету за храну, спремни смо да вам помогнемо. Како год да се запитате како би Опен Фоод Нетворк изгледала или ради у вашем делу света, хајде да започнемо разговор. + groups_signup_motivation7: Чинимо да покрети хране имају више смисла. + groups_signup_motivation8: Потребно је да активирате и омогућите своје мреже, нудимо платформу за разговор и акцију. Потребан вам је истински ангажман. Помоћи ћемо да дођемо до свих играча, свих заинтересованих страна, свих сектора. + groups_signup_motivation9: Потребни су вам ресурси. Пренећемо сво наше искуство. Потребна вам је сарадња. Боље ћемо вас повезати са глобалном мрежом колега. + groups_signup_pricing: Групни налог + groups_signup_studies: Студије случаја + groups_signup_contact: Спремни за дискусију? + groups_signup_contact_text: "Контактирајте да сазнате шта ОФН може да учини за вас:" + groups_signup_detail: "Ево детаља." + login_invalid: "Погрешна е или лозинка" + producers_about: О нама + producers_buy: Куповати за + producers_contact: Контакт + producers_contact_phone: Цалл + producers_contact_social: Пратити + producers_buy_at_html: "Купујте %{enterprise} производе на:" + producers_filter: Филтер од + producers_filter_type: Тип + producers_filter_property: Имовина + producers_title: Произвођачи + producers_headline: Пронађите локалне произвођаче + producers_signup_title: Пријавите се као продуцент + producers_signup_headline: Произвођачи хране, овлашћени. + producers_signup_motivation: Продајте своју храну и причајте своје приче различитим новим тржиштима. Уштедите време и новац на свим режијским трошковима. Подржавамо иновације без ризика. Изједначили смо терен. + producers_signup_send: Придружи се сад + producers_signup_enterprise: Рачуни предузећа + producers_signup_studies: Приче наших произвођача. + producers_signup_cta_headline: Придружи се сад! + producers_signup_cta_action: Придружи се сад + producers_signup_detail: Ево детаља. + producer: Произвођач + products_item: Ставка + products_description: Опис + products_variant: Варијанта + products_quantity: Количина + products_available: Доступан? + products_producer: "Произвођач" + products_price: "Цена" + name_or_sku: "ИМЕ ИЛИ СКУ" + register_title: Регистровати + sell_title: "Регистровати" + sell_headline: "Укључите се у Опен Фоод Нетворк!" + sell_motivation: "Покажите своју прелепу храну." + sell_producers: "Произвођачи" + sell_hubs: "Чворишта" + sell_groups: "Групе" + sell_producers_detail: "Поставите профил за своје предузеће на ОФН-у за само неколико минута. У било ком тренутку можете надоградити свој профил на онлајн продавницу и продавати своје производе директно купцима." + sell_hubs_detail: "Подесите профил за своју прехрамбену компанију или организацију на ОФН-у. У било ком тренутку можете надоградити свој профил на продавницу више произвођача." + sell_groups_detail: "Поставите прилагођени именик предузећа (произвођача и других прехрамбених предузећа) за ваш регион или за вашу организацију." + sell_user_guide: "Сазнајте више у нашем корисничком водичу." + sell_listing_price: "Уврштавање на ОФН је бесплатно. Отварање и вођење продавнице на ОФН-у је бесплатно до 500 УСД месечне продаје. Ако продате више, можете одабрати допринос заједнице између 1% и 3% од продаје. За више детаља о ценама посетите одељак Софтверска платформа преко линка Абоут у горњем менију." + sell_embed: "Такође можемо да уградимо ОФН продавницу у вашу прилагођену веб локацију или да направимо прилагођену веб локацију локалне мреже хране за ваш регион." + sell_ask_services: "Питајте нас о ОФН услугама." + shops_title: Продавнице + shops_headline: Куповина, трансформисана. + shops_text: Храна расте у циклусима, фармери беру у циклусима, а ми храну наручујемо у циклусима. Ако утврдите да је циклус поруџбина затворен, проверите поново ускоро. + shops_signup_title: Пријавите се као чвориште + shops_signup_headline: Центри за храну, неограничено. + shops_signup_motivation: Без обзира на ваш модел, ми вас подржавамо. Како год да се промените, ми смо уз вас. Ми смо непрофитни, независни и отвореног кода. Ми смо софтверски партнери о којима сте сањали. + shops_signup_action: Придружи се сад + shops_signup_pricing: Рачуни предузећа + shops_signup_stories: Приче из наших центара. + shops_signup_help: Спремни смо да помогнемо. + shops_signup_help_text: Треба вам бољи повратак. Потребни су вам нови купци и логистички партнери. Потребна вам је прича испричана преко велепродаје, малопродаје и кухињског стола. + shops_signup_detail: Ево детаља. + orders: "Наређења" + orders_fees: "Накнаде..." + orders_edit_title: "Колица за куповину" + orders_edit_headline: "Ваша корпа" + orders_edit_time: "Наруџбина спремна за" + orders_edit_continue: "Наставите куповину" + orders_edit_checkout: "Провери" + orders_form_empty_cart: "Празна корпа" + orders_form_update_cart: "ажурирање" + orders_form_subtotal: "Направите међузбир" + orders_form_total: "Укупно" + orders_oc_expired_headline: "Поруџбине су затворене за овај циклус поруџбина" + orders_oc_expired_text: "Жао нам је, поруџбине за овај циклус поруџбина су затворене пре %{time} ! Контактирајте директно своје чвориште да видите да ли могу да прихвате касне поруџбине." + orders_oc_expired_text_others_html: "Жао нам је, поруџбине за овај циклус поруџбина су затворене пре %{time} ! Контактирајте директно своје чвориште да видите да ли могу да прихвате касне поруџбине %{link} ." + orders_oc_expired_text_link: "или погледајте друге циклусе наручивања доступних у овом чворишту" + orders_oc_expired_email: "Емаил:" + orders_oc_expired_phone: "Телефон:" + orders_show_title: "Потврда наруџбине" + orders_show_time: "Наруџбина спремна" + orders_show_order_number: "Поруџбина # %{number}" + orders_show_cancelled: "Отказано" + orders_show_confirmed: "Потврђено" + orders_your_order_has_been_cancelled: "Ваша поруџбина је отказана" + orders_could_not_cancel: "Жао нам је, поруџбина се не може отказати" + orders_cannot_remove_the_final_item: "Није могуће уклонити коначну ставку из поруџбине, откажите поруџбину." + orders_bought_items_notice: + one: "Додатна ставка је већ потврђена за овај циклус поруџбине" + few: "%{count} додатне ставке су већ потврђене за овај циклус поруџбине" + many: "%{count} додатне ставке су већ потврђене за овај циклус поруџбине" + other: "%{count} додатне ставке су већ потврђене за овај циклус поруџбине" + orders_bought_edit_button: "Измените потврђене ставке" + orders_bought_already_confirmed: "* већ потврђено" + orders_confirm_cancel: "Да ли сте сигурни да желите да откажете ову поруџбину?" + order_processed_successfully: "Ваша поруџбина је успешно обрађена" + thank_you_for_your_order: "Хвала вам на наруџбини" + products_cart_distributor_choice: "Дистрибутер за вашу поруџбину:" + products_cart_distributor_change: "Ваш дистрибутер за ову поруџбину ће бити промењен у %{name} ако додате овај производ у своју корпу." + products_cart_distributor_is: "Ваш дистрибутер за ову поруџбину је %{name} ." + products_distributor_error: "Молимо попуните своју поруџбину на %{link} пре куповине код другог дистрибутера." + products_oc: "Циклус наручивања за вашу поруџбину:" + products_oc_change: "Ваш циклус поруџбине за ову поруџбину ће бити промењен у %{name} ако додате овај производ у корпу." + products_oc_is: "Ваш циклус поруџбине за ову поруџбину је %{name} ." + products_oc_error: "Молимо довршите своју поруџбину од %{link} пре куповине у другом циклусу поруџбине." + products_oc_current: "ваш тренутни циклус наруџби" + products_max_quantity: Максимална количина + products_distributor: Дистрибутер + products_distributor_info: Када изаберете дистрибутера за своју поруџбину, овде ће бити приказани његова адреса и време преузимања. + password: Лозинка + remember_me: Сети ме се + are_you_sure: "Јеси ли сигуран?" + orders_open: "Отворене поруџбине" + closing: "Завршни" + going_back_to_home_page: "Враћам вас на почетну страницу" + creating: Креирање + updating: Ажурирање + failed_to_create_enterprise: "Прављење предузећа није успело." + failed_to_create_enterprise_unknown: "Прављење предузећа није успело.\n Уверите се да су сва поља у потпуности попуњена." + failed_to_update_enterprise_unknown: "Ажурирање вашег предузећа није успело.\n Уверите се да су сва поља у потпуности попуњена." + enterprise_confirm_delete_message: "Ово ће такође избрисати %{product} који ово предузеће испоручује. Да ли сте сигурни да желите да наставите?" + order_not_saved_yet: "Ваша поруџбина још није сачувана. Дајте нам неколико секунди да завршимо!" + filter_by: "Филтер од" + hide_filters: "Сакриј филтере" + one_filter_applied: "Примењен је 1 филтер" + x_filters_applied: "примењени филтери" + submitting_order: "Слање поруџбине: сачекајте" + confirm_hub_change: "Јеси ли сигуран? Ово ће променити изабрано чвориште и уклонити све ставке из корпе за куповину." + confirm_oc_change: "Јеси ли сигуран? Ово ће променити изабрани циклус наруџбине и уклонити све артикле у вашој корпи за куповину." + location_placeholder: "Унесите локацију..." + error_required: "не може бити празно" + error_number: "мора бити број" + error_email: "мора бити адреса е-поште" + error_not_found_in_database: "%{name} није пронађен у бази података" + error_not_primary_producer: "%{name} није омогућен као произвођач" + error_no_permission_for_enterprise: "" %{name} ": немате дозволу да управљате производима за ово предузеће" + item_handling_fees: "Накнаде за руковање артиклима (укључене у укупне ставке)" + january: "јануара" + february: "фебруара" + march: "марта" + april: "Април" + may: "Може" + june: "јуна" + july: "Јул" + august: "августа" + september: "септембар" + october: "октобар" + november: "новембра" + december: "децембар" + email_not_found: "Адреса е-поште није пронађена" + email_unconfirmed: "Морате потврдити своју адресу е-поште да бисте могли да ресетујете лозинку." + email_required: "Морате навести адресу е-поште" + logging_in: "Сачекај мало, пријављујемо те" + signup_email: "Ваш емаил" + choose_password: "Изаберите лозинку" + confirm_password: "Потврди лозинку" + action_signup: "Пријавите се сада" + forgot_password: "Заборавили сте лозинку?" + password_reset_sent: "Послат је е-маил са упутствима за ресетовање лозинке!" + reset_password: "Ресетуј шифру" + update_and_recalculate_fees: "Ажурирајте и поново израчунајте накнаде" + registration: + steps: + introduction: + registration_greeting: "Здраво!" + registration_intro: "Сада можете да креирате профил за свог произвођача или чвориште" + registration_checklist: "Шта ми је потребно?" + registration_time: "5-10 минута" + registration_enterprise_address: "Адреса предузећа" + registration_contact_details: "Примарни контакт детаљи" + registration_logo: "Слика вашег логотипа" + registration_promo_image: "Пејзажна слика за ваш профил" + registration_about_us: "Текст 'О нама'" + registration_outcome_headline: "Шта ја имам од тога, шта тиме добијам?" + registration_outcome1_html: "Ваш профил помаже људима да вас пронађу и контактирају на Опен Фоод Нетворк." + registration_outcome2: "Користите овај простор да испричате причу о свом предузећу, да помогнете у повезивању са својим друштвеним и онлајн присуством." + registration_outcome3: "То је такође први корак ка трговању на Опен Фоод Нетворк-у или отварању продавнице на мрежи." + registration_action: "Хајде да почнемо!" + details: + title: "Детаљи" + headline: "Хајде да почнемо" + enterprise: "Воот! Прво морамо да знамо нешто о вашем предузећу:" + producer: "Воот! Прво морамо да знамо нешто о вашој фарми:" + enterprise_name_field: "Назив предузећа:" + producer_name_field: "Име фарме:" + producer_name_field_placeholder: "нпр. Цхарлие'с Авесоме Фарм" + producer_name_field_error: "Молимо одаберите јединствено име за ваше предузеће" + address1_field: "Адреса Линија 1:" + address1_field_placeholder: "нпр. 123 Цранберри Дриве" + address1_field_error: "Унесите адресу" + address2_field: "Адреса 2:" + suburb_field: "Предграђе:" + suburb_field_placeholder: "нпр. Нортхцоте" + suburb_field_error: "Унесите предграђе" + postcode_field: "Поштански број:" + postcode_field_placeholder: "нпр. 3070" + postcode_field_error: "Потребан је поштански број" + state_field: "Држава:" + state_field_error: "Потребна држава" + country_field: "земља:" + country_field_error: "Изаберите земљу" + map_location: "Локација на мапи" + locate_address: "Пронађите адресу на мапи" + drag_pin: "Превуците и отпустите чиоду на исправну локацију ако није тачна." + confirm_address: "Потврђујем да је назначена позиција предузећа на мапи тачна." + drag_map_marker: "Због бројних произвођача који раде у руралним подручјима, тачност мапа се стално побољшава. Помозите нам да боље разумемо где се налазите тако што ћете ступити у интеракцију са горњом мапом да бисте померили чиоду тако што ћете кликнути или додирнути да бисте задржали чиоду, а затим превуците на локацију која је тачнија на основу вашег знања." + contact: + title: "Контакт" + who_is_managing_enterprise: "Ко је одговоран за управљање %{enterprise} ?" + contact_field: "Примарни контакт" + contact_field_placeholder: "Контакт Име" + contact_field_required: "Морате да унесете примарни контакт." + phone_field: "Број телефона" + whatsapp_phone_field: "ВхатсАпп број телефона" + whatsapp_phone_tooltip: "Овај број ће бити приказан на вашем јавном профилу да би се отворио као ВхатсАпп веза." + phone_field_placeholder: "на пример. (03) 1234 5678" + whatsapp_phone_field_placeholder: "на пример. +61 4 1234 5678" + type: + title: "Тип" + headline: "Последњи корак за додавање %{enterprise} !" + question: "Да ли сте продуцент?" + yes_producer: "Да, ја сам продуцент" + no_producer: "Не, ја нисам продуцент" + producer_field_error: "Молимо изаберите једну. Да ли сте продуцент?" + yes_producer_help: "Произвођачи праве укусне ствари за јело и/или пиће. Ви сте произвођач ако га узгајате, узгајате, кувате, печете, ферментишете, музете или обликујете." + no_producer_help: "Ако нисте произвођач, вероватно сте неко ко продаје и дистрибуира храну. Можда сте центар, задруга, група за куповину, продавац на мало, велетрговац или друго." + create_profile: "Направите профил" + about: + title: "О томе" + headline: "Лепо!" + message: "Хајде сада да разјаснимо детаље о томе" + success: "Успех! %{enterprise} је додат на Опен Фоод Нетворк" + registration_exit_message: "Ако изађете из овог чаробњака у било којој фази, можете наставити да креирате свој профил тако што ћете отићи на интерфејс администратора." + enterprise_description: "Кратак опис" + enterprise_description_placeholder: "Кратка реченица која описује ваше предузеће" + enterprise_long_desc: "Дужи опис" + enterprise_long_desc_placeholder: "Ово је ваша прилика да испричате причу о свом предузећу – шта вас чини другачијим и дивним? Предлажемо да свој опис задржите на мање од 600 знакова или 150 речи." + enterprise_long_desc_length: "%{num} знакова / препоручује се до 600" + enterprise_abn: "АБН" + enterprise_abn_placeholder: "на пример. 99 123 456 789" + enterprise_acn: "АЦН" + enterprise_acn_placeholder: "на пример. 123 456 789" + enterprise_tax_required: "Морате направити селекцију." + images: + title: "Слике" + headline: "Хвала!" + description: "Хајде да отпремимо лепе слике како би твој профил изгледао сјајно! :)" + uploading: "Отпремање..." + continue: "Настави" + back: "Назад" + logo: + select_logo: "Корак 1. Изаберите Лого Имаге" + logo_tip: "Савет: Квадратне слике ће најбоље функционисати, пожељно најмање 300×300 пиксела" + logo_label: "Изаберите слику логотипа" + logo_drag: "Превуците и отпустите свој лого овде" + review_logo: "Корак 2. Прегледајте свој логотип" + review_logo_tip: "Савет: за најбоље резултате, ваш лого треба да попуни расположиви простор" + logo_placeholder: "Ваш лого ће се појавити овде за преглед када буде учитано" + promo: + select_promo_image: "Корак 3. Изаберите Промо Имаге" + promo_image_tip: "Савет: Приказано као банер, пожељна величина је 1200×260 пиксела" + promo_image_label: "Изаберите промотивну слику" + promo_image_drag: "Превуците и испустите своју промоцију овде" + review_promo_image: "Корак 4. Прегледајте свој промо банер" + review_promo_image_tip: "Савет: за најбоље резултате, ваша промотивна слика треба да попуни расположиви простор" + promo_image_placeholder: "Ваш лого ће се појавити овде за преглед када буде учитано" + social: + title: "Социал" + enterprise_final_step: "Последњи корак!" + enterprise_social_text: "Како људи могу пронаћи %{enterprise} на мрежи?" + website: "Веб сајт" + website_placeholder: "на пример. опенфооднетворк.орг.ау" + facebook: "Фејсбук" + facebook_placeholder: "на пример. ввв.фацебоок.цом/ПагеНамеХере" + linkedin: "ЛинкедИн" + linkedin_placeholder: "на пример. ввв.линкедин.цом/ВашеИмеОвде" + twitter: "Твиттер" + twitter_placeholder: "на пример. @твиттер_хандле" + instagram: "инстаграм" + instagram_placeholder: "на пример. @инстаграм_хандле" + limit_reached: + headline: "О, не!" + message: "Достигли сте границу!" + text: "Достигли сте ограничење за број предузећа којима је дозвољено да поседујете на" + action: "Вратите се на почетну страницу" + finished: + headline: "Готов!" + thanks: "Хвала што сте попунили детаље за %{enterprise} ." + login: "Можете да промените или ажурирате своје предузеће у било којој фази тако што ћете се пријавити на Опен Фоод Нетворк и отићи на Администратор." + action: "Идите на контролну таблу предузећа" + back: "Назад" + continue: "Настави" + action_or: "ИЛИ" + enterprise_limit: Ентерприсе Лимит + shipping_method_destroy_error: "Тај начин испоруке се не може избрисати јер је наведен у налогу: %{number} ." + fees: "Накнаде" + fee_name: "Назив накнаде" + fee_owner: "Власник накнаде" + item_cost: "Цена артикла" + bulk: "Товар" + shop_variant_quantity_min: "мин" + shop_variant_quantity_max: "мак" + contact: "Контакт" + follow: "Пратити" + shop_for_products_html: "Купујте %{enterprise} производе на:" + change_shop: "Промените продавницу у:" + shop_at: "Купујте сада на:" + admin_fee: "Администратор такса" + sales_fee: "Накнада за продају" + packing_fee: "Накнада за паковање" + transport_fee: "Накнада за превоз" + fundraising_fee: "Накнада за прикупљање средстава" + price_graph: "График цена" + included_tax: "Укључен порез" + tax: "Порез" + tax_amount_included: "%{amount} (укључено)" + remove_tax: "Уклоните порез" + balance: "Баланс" + transaction: "Трансакција" + transaction_date: "Датум" + payment_state: "Статус плаћање" + shipping_state: "Статус шпедиција" + value: "Валуе" + balance_due: "Стање због" + credit: "Кредит" + Paid: "Плаћено" + Ready: "Спреман" + not_visible: није видљиво + you_have_no_orders_yet: "Још немате наређења" + show_only_complete_orders: "Покажите само комплетне поруџбине" + successfully_created: '%{resource} је успешно креиран!' + successfully_removed: '%{resource} је успешно уклоњен!' + successfully_updated: '%{resource} је успешно ажуриран!' + running_balance: "Текући баланс" + outstanding_balance: "Изванредна равнотежа" + admin_enterprise_relationships: "Ентерприсе Пермиссионс" + admin_enterprise_relationships_everything: "Све" + admin_enterprise_relationships_permits: "дозволе" + admin_enterprise_relationships_seach_placeholder: "Претрага" + admin_enterprise_relationships_button_create: "Креирај" + admin_enterprise_relationships_to: "до" + admin_enterprise_groups: "Ентерприсе Гроупс" + admin_enterprise_groups_name: "Име" + admin_enterprise_groups_owner: "Власник" + admin_enterprise_groups_on_front_page: "На насловној страни?" + admin_enterprise_groups_enterprise: "Предузећа" + admin_enterprise_groups_data_powertip: "Примарни корисник одговоран за ову групу." + admin_enterprise_groups_data_powertip_logo: "Ово је лого групе" + admin_enterprise_groups_data_powertip_promo_image: "Ова слика се приказује на врху профила групе" + admin_enterprise_groups_contact_phone_placeholder: "на пример. 98 7654 3210" + admin_enterprise_groups_contact_address1_placeholder: "на пример. 123 Хигх Стреет" + admin_enterprise_groups_contact_city: "Предграђе" + admin_enterprise_groups_contact_city_placeholder: "на пример. Нортхцоте" + admin_enterprise_groups_contact_zipcode: "Поштански број" + admin_enterprise_groups_contact_zipcode_placeholder: "на пример. 3070" + admin_enterprise_groups_contact_state_id: "Држава" + admin_enterprise_groups_contact_country_id: "Држава" + admin_enterprise_groups_web_twitter: "на пример. @тхе_проф" + admin_enterprise_groups_web_website_placeholder: "на пример. ввв.труффлес.цом" + admin_order_cycles: "Админ Ордер Цицлес" + open: "Отвори" + close: "Близу" + create: "Креирај" + search: "Претрага" + supplier: "Добављач" + product_name: "Назив производа" + product_description: "Опис производа" + permalink: "Пермалинк" + shipping_categories: "Категорије отпреме" + units: "Величина јединице" + coordinator: "Координатор" + distributor: "Дистрибутер" + enterprise_fees: "Ентерприсе Феес" + process_my_order: "Обради моју наруџбу" + delivery_instructions: Упутство за испоруку + delivery_method: Начин доставе + fee_type: "Врста накнаде" + tax_category: "Пореска категорија" + display: "Приказ" + tags: "Ознаке" + calculator: "Калкулатор" + calculator_values: "Вредности калкулатора" + calculator_settings_warning: "Ако мењате тип калкулатора, прво морате да сачувате пре него што можете да измените подешавања калкулатора" + calculator_preferred_unit_error: "мора бити кг или лб" + calculator_preferred_value_error: "Неправилан унос. Молимо користите само бројеве. На пример: 10, 5,5, -20" + flat_percent_per_item: "Стални проценат (по ставци)" + flat_rate_per_item: "Паушална стопа (по артиклу)" + flat_rate_per_order: "Паушална стопа (по поруџбини)" + flexible_rate: "Флексибилна стопа" + price_sack: "Прице Сацк" + new_order_cycles: "Нови циклуси наруџби" + new_order_cycle: "Нови циклус наруџби" + new_order_cycle_tooltip: "Отворена радња на одређено време" + select_a_coordinator_for_your_order_cycle: "Изаберите координатора за свој циклус наруџби" + notify_producers: 'Обавестите произвођаче' + edit_order_cycle: "Уреди циклус поруџбине" + roles: "Улоге" + update: "ажурирање" + delete: Избриши + add_producer_property: "Додајте својство произвођача" + in_progress: "У току" + started_at: "Почело у" + queued: "У реду" + scheduled_for: "Заказана за" + customers: "Купци" + please_select_hub: "Изаберите чвориште" + loading_customers: "Учитавање купаца" + no_customers_found: "Нису пронађени купци" + go: "Иди" + hub: "Хуб" + product: "Производ" + price: "Цена" + review: "Преглед" + save_changes: "Сачувај измене" + order_saved: "Ордер Савед" + no_products: Нема производа + spree_admin_overview_enterprises_header: "Ми Ентерприсес" + spree_admin_overview_enterprises_footer: "УПРАВЉАЈ МОЈИМ ПРЕДУЗЕЋИМА" + spree_admin_enterprises_hubs_name: "Име" + spree_admin_enterprises_create_new: "СТВОРИ НОВО" + spree_admin_enterprises_shipping_methods: "Начини испоруке" + spree_admin_enterprises_fees: "Ентерприсе Феес" + spree_admin_enterprises_none_create_a_new_enterprise: "НАПРАВИТЕ НОВО ПРЕДУЗЕЋЕ" + spree_admin_enterprises_none_text: "Још увек немате ниједно предузеће" + spree_admin_enterprises_tabs_hubs: "ХУБС" + spree_admin_enterprises_producers_manage_products: "УПРАВЉАЈТЕ ПРОИЗВОДИМА" + spree_admin_enterprises_create_new_product: "НАПРАВИТЕ НОВИ ПРОИЗВОД" + spree_admin_single_enterprise_alert_mail_confirmation: "Молимо потврдите адресу е-поште за" + spree_admin_single_enterprise_alert_mail_sent: "Послали смо е-пошту на" + spree_admin_overview_action_required: "Мере потребне" + spree_admin_overview_check_your_inbox: "Проверите своје пријемно сандуче за даља упутства. Хвала!" + spree_admin_unit_value: Јединична вредност + spree_admin_unit_description: Опис јединице + spree_admin_variant_unit: Варијанта јединица + spree_admin_variant_unit_scale: Варијанта јединица скале + spree_admin_supplier: Добављач + spree_admin_product_category: Производ Категорија + spree_admin_variant_unit_name: Назив јединице варијанте + unit_name: "Назив јединице" + change_package: "Промени пакет" + spree_admin_single_enterprise_hint: "Савет: Да бисте омогућили људима да вас пронађу, укључите своју видљивост испод" + spree_admin_eg_pickup_from_school: "на пример. 'Преузимање из основне школе'" + spree_admin_eg_collect_your_order: "на пример. „Молимо вас да преузмете наруџбу од 123 Имагинари Ст, Нортхцоте, 3070“" + spree_order_availability_error: "Дистрибутер или циклус наручивања не могу да испоруче производе у вашој корпи" + spree_order_populator_error: "Тај дистрибутер или циклус наручивања не може да испоручи све производе у вашој корпи. Молимо изаберите другу." + spree_order_cycle_error: "Молимо изаберите циклус поруџбине за ову поруџбину." + spree_order_populator_availability_error: "Тај производ није доступан од изабраног дистрибутера или циклуса наручивања." + spree_distributors_error: "Мора се изабрати најмање једно чвориште" + spree_user_enterprise_limit_error: "^ %{email} није дозвољено да поседује више предузећа (ограничење је %{enterprise_limit} )." + spree_variant_product_error: мора имати бар једну варијанту + your_profil_live: "Ваш профил уживо" + see: "Видите" + live: "ливе" + manage: "Управљати" + resend: "Поново послати" + add_and_manage_products: "Додајте производе и управљајте њима" + add_and_manage_order_cycles: "Додајте и управљајте циклусима поруџбина" + manage_order_cycles: "Управљајте циклусима налога" + manage_products: "Управљајте производима" + edit_profile_details: "Измените детаље профила" + edit_profile_details_etc: "Промените опис профила, слике итд." + order_cycle: "Ордер Цицле" + enterprise_relationships: "Дозволе предузећа" + first_name_begins_with: "Име почиње са" + last_name_begins_with: "Презиме почиње са" + shipping_method: "Начин куповине" + new_order: "Нев Ордер" + enterprise_tos_link: "Линк Услови коришћења услуге предузећа" + enterprise_tos_message: "Желимо да радимо са људима који деле наше циљеве и вредности. Као такви, тражимо од нових предузећа да пристану на наше" + enterprise_tos_agree: "Слажем се са горе наведеним условима коришћења услуге" + tax_settings: "Пореска подешавања" + products_require_tax_category: "производи захтевају пореску категорију" + admin_shared_address_1: "Адреса" + admin_shared_address_2: "Адреса (наставак)" + admin_share_city: "Цити" + admin_share_zipcode: "Поштански број" + admin_share_country: "Држава" + admin_share_state: "Држава" + hub_sidebar_hubs: "Чворишта" + hub_sidebar_none_available: "Није доступно" + hub_sidebar_manage: "Управљати" + hub_sidebar_at_least: "Мора се изабрати најмање једно чвориште" + hub_sidebar_blue: "Плави" + hub_sidebar_red: "црвена" + order_cycles_closed_for_hub: "Чвориште које сте изабрали је привремено затворено за поруџбине. Покушајте поново касније." + report_customers_distributor: "Дистрибутер" + report_customers_hub: "Хуб" + report_customers_supplier: "Добављач" + report_customers_cycle: "Ордер Цицле" + report_customers_type: "Репорт Типе" + report_customers_csv: "Преузми као цсв" + report_customers: Цустомер + report_producers: "Произвођачи" + report_type: "Репорт Типе" + report_hubs: "Чворишта" + report_payment: "Начини плаћања" + report_distributor: "Дистрибутер" + report_payment_by: 'Плаћања по врсти' + report_itemised_payment: 'Укупни износи плаћања' + report_payment_totals: 'Укупно плаћање' + report_all: 'све' + report_order_cycle: "Ордер Цицле" + report_hide_columns: Колоне за сакривање + report_columns: Колумне + report_enterprises: "Предузећа" + report_enterprise_fee: "Имена накнада" + report_users: "Корисници" + report_tax_rates: Пореске стопе + report_tax_types: Врсте пореза + report_filters: Филтери за извештаје + report_print: Штампај извештај + report_render_options: Опције рендеровања + report_header_ofn_uid: ОФН УИД + report_header_order_cycle: Ордер Цицле + report_header_user: Корисник + report_header_email: Емаил + report_header_status: Статус + report_header_comments: Коментари + report_header_first_name: Име + report_header_last_name: Презиме + report_header_suburb: Предграђе + report_header_phone: Телефон + report_header_address: Адреса + report_header_billing_address: Адреса за наплату + report_header_relationship: Однос + report_header_hub: Хуб + report_header_hub_address: Адреса чворишта + report_header_to_hub: То Хуб + report_header_hub_code: Хуб Цоде + report_header_hub_id: ИД чворишта + report_header_hub_business_number: "Пословни број чворишта" + report_header_hub_legal_name: "Правни назив чворишта" + report_header_hub_contact_name: "Име контакта чворишта" + report_header_hub_email: "Јавна е-пошта центра" + report_header_hub_owner_email: Имејл власника чворишта + report_header_hub_phone: "Број телефона чворишта" + report_header_hub_address_line1: "1. ред адресе чворишта" + report_header_hub_address_line2: "2. ред адресе чворишта" + report_header_hub_address_city: "Хуб Субурб" + report_header_hub_address_zipcode: "Хуб Поштански број" + report_header_hub_address_state_name: "Хуб Стате" + report_header_code: Код + report_header_paid: Плаћено? + report_header_delivery: Испорука? + report_header_shipping: поштарина + report_header_shipping_method: начин куповине + report_header_shipping_instructions: Инструкције за доставу + report_header_ship_street: Улица бродова + report_header_ship_street_2: Улица бродова 2 + report_header_ship_city: Схип Цити + report_header_ship_postcode: Схип Постцоде + report_header_ship_state: Схип Стате + report_header_billing_street: Биллинг Стреет + report_header_billing_street_2: Биллинг Стреет 2 + report_header_billing_street_3: Биллинг Стреет 3 + report_header_billing_street_4: Биллинг Стреет 4 + report_header_billing_city: Биллинг Цити + report_header_billing_postcode: Поштански број за обрачун + report_header_billing_state: Држава наплате + report_header_incoming_transport: Инцоминг Транспорт + report_header_special_instructions: Посебна упутства + report_header_order_number: Редни број + report_header_date: Датум + report_header_confirmation_date: Датум потврде + report_header_tags: Ознаке + report_header_items: Предмети + report_header_items_total: "Укупно ставки %{currency_symbol}" + report_header_taxable_items_total: "Опорезиве ставке Укупно ( %{currency_symbol} )" + report_header_sales_tax: "Порез на промет ( %{currency_symbol} )" + report_header_delivery_charge: "Наплата испоруке ( %{currency_symbol} )" + report_header_tax: "Порез" + report_header_tax_on_delivery: "Порез на испоруку ( %{currency_symbol} )" + report_header_tax_on_fees: "Порез на накнаде ( %{currency_symbol} )" + report_header_tax_category: "Пореска категорија" + report_header_tax_rate_name: "Назив пореске стопе" + report_header_tax_rate: "Пореска стопа" + report_header_total_tax: "Укупан порез ( %{currency_symbol} )" + report_header_total_excl_tax: "Тотал екцл. порез ( %{currency_symbol} )" + report_header_total_incl_tax: "Укупно укљ. порез ( %{currency_symbol} )" + report_header_total_orders: "Укупан број поруџбина" + report_header_enterprise: Ентерприсе + report_header_enterprise_fee_name: Име + report_header_enterprise_fee_type: Тип + report_header_enterprise_fee_owner: Власник + report_header_customer: Цустомер + report_header_customer_first_name: Име + report_header_customer_last_name: Презиме + report_header_customer_code: Код купца + report_header_product: Производ + report_header_product_properties: Својства производа + report_header_product_tax_category: Категорија пореза на производ + report_header_quantity: Количина + report_header_max_quantity: Мак Куантити + report_header_variant: Варијанта + report_header_variant_value: Вредност варијанте + report_header_variant_unit: Вариант Унит + report_header_total_available: Укупно доступно + report_header_unallocated: Нераспоређено + report_header_max_quantity_excess: Максимална количина вишка + report_header_taxons: Таксони + report_header_supplier: Добављач + report_header_producer: Произвођач + report_header_producer_suburb: Продуцент Субурб + report_header_producer_tax_status: Порески статус произвођача + report_header_producer_charges_sales_tax?: ГСТ/ПДВ регистрован + report_header_unit: Јединица + report_header_group_buy_unit_quantity: Групна куповина Јединична количина + report_header_cost: Цост + report_header_shipping_cost: Трошак отпремања + report_header_curr_cost_per_unit: Цурр. Цена по јединици + report_header_total_shipping_cost: Укупни трошкови испоруке + report_header_payment_method: Начин плаћања + report_header_sells: Селлс + report_header_visible: Видљиво + report_header_price: Цена + report_header_unit_size: Величина јединице + report_header_distributor: Дистрибутер + report_header_distributor_address: Адреса дистрибутера + report_header_distributor_city: Град дистрибутера + report_header_distributor_postcode: Поштански број дистрибутера + report_header_distributor_tax_status: Порески статус дистрибутера + report_header_delivery_address: Адреса за испоруку + report_header_delivery_postcode: Поштански број за доставу + report_header_bulk_unit_size: Булк Унит Сизе + report_header_weight: Тежина + report_header_final_weight_volume: Финале (тежина/запремина) + report_header_height: Висина + report_header_width: Ширина + report_header_depth: Дубина + report_header_sum_total: Збир + report_header_date_of_order: Датум наруџбе + report_header_amount_owing: Износ дуга + report_header_amount_paid: Износ плаћен + report_header_units_required: Обавезне јединице + report_header_remainder: Остатак + report_header_order_date: Датум поруџбине + report_header_order_id: ИД поруџбине + report_header_item_name: Назив производа + report_header_temp_controlled_items: Темпом контролисане ставке? + report_header_customer_name: Име клијента + report_header_customer_email: Емаил корисника + report_header_customer_phone: Цустомер Пхоне + report_header_customer_city: Цустомер Цити + report_header_payment_state: Држава плаћања + report_header_payment_type: Врста плаћања + report_header_item_price: "Ставка ( %{currency} )" + report_header_item_fees_price: "Ставка + накнаде ( %{currency} )" + report_header_admin_handling_fees: "Администратор и руковање ( %{currency} )" + report_header_ship_price: "Брод ( %{currency} )" + report_header_pay_fee_price: "Плати накнаду ( %{currency} )" + report_header_total_price: "Укупно ( %{currency} )" + report_header_product_total_price: "Укупно производа ( %{currency} )" + report_header_shipping_total_price: "Укупна испорука ( %{currency} )" + report_header_outstanding_balance_price: "Изузетно стање ( %{currency} )" + report_header_eft_price: "ЕФТ ( %{currency} )" + report_header_paypal_price: "ПаиПал ( %{currency} )" + report_header_sku: СКУ + report_header_amount: Износ + report_header_balance: Баланс + report_header_total_cost: "Укупни трошкови" + report_header_total_ordered: Тотал Ордеред + report_header_total_max: Тотал Мак + report_header_total_units: Тотал Унитс + report_header_sum_max_total: "Збир Макс Укупно" + report_header_total_excl_vat: "Тотал екцл. порез ( %{currency_symbol} )" + report_header_total_incl_vat: "Укупно укљ. порез ( %{currency_symbol} )" + report_header_temp_controlled: ТемпЦонтроллед? + report_header_is_producer: Продуцент? + report_header_not_confirmed: Није потврђена + report_header_gst_on_income: ГСТ на приход + report_header_gst_free_income: ГСТ бесплатни приход + report_header_total_untaxable_produce: Укупно неопорезиви производи (без пореза) + report_header_total_taxable_produce: Укупни опорезиви производи (са порезом) + report_header_total_untaxable_fees: Укупне неопорезиве накнаде (без пореза) + report_header_total_taxable_fees: Укупне опорезиве накнаде (са порезом) + report_header_delivery_shipping_cost: Трошкови доставе (са порезом) + report_header_transaction_fee: Накнада за трансакцију (без пореза) + report_header_total_untaxable_admin: Укупна неопорезива административна прилагођавања (без пореза) + report_header_total_taxable_admin: Укупна опорезива административна прилагођавања (са порезом) + report_header_voucher_label: Ознака ваучера + report_header_voucher_amount: "Износ ваучера ( %{currency_symbol} )" + report_line_cost_of_produce: Трошкови производа + report_line_line_items: ставке + report_header_last_completed_order_date: Датум последње завршене поруџбине + report_xero_configuration: Ксеро Цонфигуратион + initial_invoice_number: "Почетни број фактуре" + invoice_date: "Датум фактуре" + due_date: "Рок предаје" + account_code: "Шифра рачуна" + equals: "Једнако" + contains: "садржи" + discount: "Попуст" + filter_products: "Филтер Продуцтс" + delete_product_variant: "Последња варијанта се не може избрисати!" + progress: "напредак" + saving: "Уштеда.." + success: "успех" + failure: "неуспех" + unsaved_changes_confirmation: "Несачуване промене ће бити изгубљене. Наставити у сваком случају?" + one_product_unsaved: "Промене једног производа остају несачуване." + products_unsaved: "Промене производа %{n} остају несачуване." + is_already_manager: "је већ менаџер!" + no_change_to_save: "Нема промене за чување" + user_invited: "%{email} је позван да управља овим предузећем" + add_manager: "Додајте постојећег корисника" + users: "Корисници" + about: "О томе" + images: "Слике" + web: "Веб" + primary_details: "Примарни детаљи" + social: "Социал" + shipping: "поштарина" + shipping_methods: "Начини испоруке" + payment_methods: "Начини плаћања" + payment_method_fee: "Трансакција такса" + payment_processing_failed: "Уплата није могла да се обради, проверите детаље које сте унели" + payment_method_not_supported: "Тај начин плаћања није подржан. Молимо изаберите другу." + payment_updated: "Плаћање ажурирано" + cannot_perform_operation: "Ажурирање плаћања није успело" + action_required: "Мере потребне" + tag_rules: "Таг Рулес" + enterprise_fee_whole_order: Цела наруџба + enterprise_fee_by_name: "%{name} накнада од %{role} %{enterprise_name}" + validation_msg_relationship_already_established: "^Тај однос је већ успостављен." + validation_msg_at_least_one_hub: "^Мора бити изабрано најмање једно чвориште" + validation_msg_tax_category_cant_be_blank: "^Категорија пореза не може бити празно" + validation_msg_is_associated_with_an_exising_customer: "је повезан са постојећим купцем" + content_configuration_pricing_table: "(ТОДО: Табела цена)" + content_configuration_case_studies: "(ТОДО: Студије случаја)" + content_configuration_detail: "(ТОДО: Детаљи)" + enterprise_name_error: "је већ заузето. Ако је ово ваше предузеће и желите да затражите власништво, или ако желите да тргујете са овим предузећем, контактирајте тренутног менаџера овог профила на %{email} ." + enterprise_owner_error: "^ %{email} није дозвољено да поседује више предузећа (ограничење је %{enterprise_limit} )." + enterprise_role_uniqueness_error: "^Та улога је већ присутна." + enterprise_terms_and_conditions_type_error: "Дозвољени су само ПДФ-ови" + inventory_item_visibility_error: мора бити истинито или нетачно + product_importer_file_error: "грешка: није учитана датотека" + product_importer_spreadsheet_error: "није могао да обради датотеку: неважећи тип датотеке" + product_importer_products_save_error: није успешно сачувао ниједан производ + product_import_file_not_found_notice: 'Датотека није пронађена или се не може отворити' + product_import_no_data_in_spreadsheet_notice: 'Нема података у табели' + order_choosing_hub_notice: Ваше чвориште је изабрано. + order_cycle_selecting_notice: Ваш циклус наруџбине је изабран. + adjustments_tax_rate_error: "^Молимо проверите да ли је пореска стопа за ово прилагођавање тачна." + active_distributors_not_ready_for_checkout_message_singular: >- + Чвориште %{distributor_names} је наведено у активном циклусу поруџбине, али + нема важеће начине испоруке и плаћања. Док их не подесите, купци неће моћи да + купују у овом чворишту. + active_distributors_not_ready_for_checkout_message_plural: >- + Чворишта %{distributor_names} су наведена у активном циклусу поруџбине, али + немају важеће начине испоруке и плаћања. Док их не поставите, купци неће моћи + да купују у овим чвориштима. + enterprise_fees_update_notice: Ваше пословне накнаде су ажуриране. + enterprise_register_package_error: "Молимо изаберите пакет" + enterprise_register_error: "Није могуће завршити регистрацију за %{enterprise}" + enterprise_register_success_notice: "Честитам! Регистрација за %{enterprise} је завршена!" + enterprise_bulk_update_success_notice: "Предузећа су успешно ажурирана" + enterprise_bulk_update_error: 'Ажурирање није успело' + enterprise_shop_show_error: "Продавница коју тражите не постоји или је неактивна на ОФН-у. Проверите друге продавнице." + order_cycles_bulk_update_notice: 'Циклуси наручивања су ажурирани.' + order_cycles_no_permission_to_coordinate_error: "Ниједно од ваших предузећа нема дозволу да координира циклус наруџби" + order_cycles_no_permission_to_create_error: "Немате дозволу да креирате циклус наруџби који координира то предузеће" + order_cycle_closed: "Циклус наруџбине који сте изабрали је управо затворен. Молим вас, покушајте поново!" + back_to_orders_list: "Назад на листу поруџбина" + no_orders_found: "Наруџбине нису пронађене" + order_information: "Информације за наруџбу" + new_payment: "Ново плаћање" + create_or_update_invoice: "Направите или ажурирајте фактуру" + date_completed: "Датум завршено" + amount: "Износ" + invoice_number: "Број фактуре" + invoice_file: "Филе" + invalid_url: "' %{url} ' је неважећа УРЛ адреса" + state_names: + ready: Спреман + pending: нерешен + shipped: Испоручен + js: + saving: 'Уштеда...' + changes_saved: 'Промене су сачуване.' + authorising: "Овлашћење..." + save_changes_first: Прво сачувајте промене. + all_changes_saved: Све промене су сачуване + unsaved_changes: Имате несачуване промене + all_changes_saved_successfully: Све промене су успешно сачуване + oh_no: "О, не! Нисам успео да сачувам ваше промене." + unauthorized: "Нисте овлашћени да приступите овој страници." + error: Грешка + unavailable: Недоступно + profile: Профил + hub: Хуб + shop: Схоп + choose: Изабери + resolve_errors: Решите следеће грешке + more_items: "+ %{count} Више" + default_card_updated: Подразумевана картица је ажурирана + default_card_voids_auth: Промена ваше подразумеване картице ће уклонити постојећа овлашћења продавница да је наплате. Можете поново овластити продавнице након ажурирања подразумеване картице. Да ли желите да промените подразумевану картицу? + cart: + add_to_cart_failed: > + Дошло је до проблема при додавању овог производа у корпу. Можда је постао + недоступан или се продавница затвара. + admin: + unit_price_tooltip: "Јединична цена повећава транспарентност омогућавајући вашим клијентима да лако упореде цене између различитих производа и величина паковања. Имајте на уму да се коначна јединична цена приказана на излогу може разликовати јер укључује порезе и накнаде." + enterprise_limit_reached: "Достигли сте стандардно ограничење предузећа по налогу. Пишите на %{contact_email} ако треба да га повећате." + deleting_item_will_cancel_order: "Ова операција ће резултирати једним или више празних налога, који ће бити отказани. Да ли желите да наставите?" + modals: + got_it: "Разумем" + confirm: "Потврди" + close: "Близу" + continue: "Настави" + cancel: "Поништити, отказати" + invite: "Позови" + invite_title: "Позовите нерегистрованог корисника" + tag_rule_help: + title: Таг Рулес + overview: Преглед + overview_text: > + Правила ознака обезбеђују начин да се опише које ставке су видљиве или + на други начин којим клијентима. Ставке могу бити начини испоруке, начини + плаћања, производи и циклуси поруџбине. + by_default_rules: "„Подразумевано...“ Правила" + by_default_rules_text: > + Подразумевана правила вам омогућавају да сакријете ставке тако да нису + подразумевано видљиве. Ово понашање се онда може заменити неподразумеваним + правилима за купце са одређеним ознакама. + customer_tagged_rules: "'Купци означени...' Правила" + customer_tagged_rules_text: > + Креирањем правила која се односе на одређену ознаку клијента, можете + заменити подразумевано понашање (било да се ради о приказивању или скривању + ставки) за клијенте са наведеном ознаком. + terms_and_conditions_info: + title: "Услови и одредбе отпремања" + message_1: "Услови и одредбе су уговор између вас, продавца и купца. Ако овде отпремите датотеку, купци морају да прихвате ваше услове и одредбе да би завршили плаћање. За купца ће се ово појавити као поље за потврду при плаћању које мора бити означено да би се наставило са плаћањем. Топло препоручујемо да отпремите Услове и одредбе у складу са националним законодавством." + message_2: "Купци ће морати да прихвате услове и одредбе само једном. Међутим, ако промените Услове и одредбе, купци ће поново морати да их прихвате пре него што буду могли да наплате." + terms_and_conditions_warning: + title: "Услови и одредбе отпремања" + message_1: "Сви ваши купци ће морати да пристану на њих једном приликом плаћања. Ако ажурирате датотеку, сви ваши купци ће морати поново да пристану на њих приликом плаћања." + message_2: "За купце са претплатама, за сада морате да им пошаљете е-поштом Услове и одредбе (или њихове промене), ништа их неће обавестити о овим новим Условима и одредбама." + business_address_info: + message: "Правни назив компаније, правна адреса и правни број телефона се користе за предузећа која фактуришу од правног лица регистрованог са различитим детаљима од њихових јавних трговачких информација. Ови детаљи ће се користити САМО на фактурама. Ако су ови детаљи празни, ваше јавно име, адреса и број телефона ће се користити на фактурама." + panels: + save: САЧУВАТИ + saved: САВЕД + saving: УШТЕДА + enterprise_package: + hub_profile: Хуб Профил + hub_profile_cost: "ТРОШКОВИ: УВЕК БЕСПЛАТНО" + hub_profile_text1: > + Људи вас могу пронаћи и контактирати на Опен Фоод Нетворк-у. Ваше предузеће + ће бити видљиво на мапи и претраживаће се на листи. + hub_profile_text2: > + Имати профил и успостављати везе у оквиру вашег локалног система исхране + путем Отворене мреже хране увек ће бити бесплатни. + hub_shop: Хуб Схоп + hub_shop_text1: > + Ваше предузеће је окосница вашег локалног система исхране. Ви агрегирате + производе из других предузећа и можете их продати преко своје продавнице + на Опен Фоод Нетворк-у. + hub_shop_text2: > + Чворишта могу имати различите облике, било да су задруга за исхрану, + група за куповину, програм кутија за поврће или локална продавница прехрамбених + производа. + hub_shop_text3: > + Ако желите и да продајете своје производе, мораћете да промените ово + предузеће у произвођача. + choose_package: Молимо изаберите пакет + choose_package_text1: > + Ваше предузеће неће бити у потпуности активирано док се пакет не изабере + из опција са леве стране. + choose_package_text2: > + Кликните на опцију да видите детаљније информације о сваком пакету и + притисните црвено дугме САВЕ када завршите! + profile_only: Само профил + profile_only_cost: "ТРОШКОВИ: УВЕК БЕСПЛАТНО" + profile_only_text1: > + Профил вас чини видљивим и контактним за друге и представља начин да + поделите своју причу. + profile_only_text2: > + Ако више волите да се фокусирате на производњу хране и желите да препустите + посао њене продаје неком другом, неће вам требати продавница на Опен + Фоод Нетворк-у. + profile_only_text3: > + Додајте своје производе на Опен Фоод Нетворк, омогућавајући центрима + да складиште ваше производе у својим продавницама. + producer_shop: Продавница произвођача + producer_shop_text1: > + Продајте своје производе директно купцима преко сопствене продавнице + Опен Фоод Нетворк. + producer_shop_text2: > + Продавница произвођача је само за ваше производе, ако желите да продајете + производе узгајане/произведене ван локације, изаберите 'Произвођачки + центар'. + producer_hub: Продуцент Хуб + producer_hub_text1: > + Ваше предузеће је окосница вашег локалног система исхране. Можете продавати + сопствене производе као и производе прикупљене из других предузећа преко + своје продавнице на Опен Фоод Нетворк-у. + producer_hub_text2: > + Центри произвођача могу имати различите облике, било да су ЦСА, програм + за поврће или задруга за храну са баштом на крову. + producer_hub_text3: > + Отворена мрежа хране има за циљ да подржи што је могуће више модела + чворишта, тако да без обзира на вашу ситуацију, желимо да обезбедимо + алате који су вам потребни за вођење ваше организације или локалног + пословања са храном. + get_listing: Узмите листу + always_free: УВЕК БЕСПЛАТНО + sell_produce_others: Продајте производе других + sell_own_produce: Продајте своје производе + sell_both: Продајте производе од себе и других + enterprise_producer: + producer: Произвођач + producer_text1: > + Произвођачи праве укусне ствари за јело или пиће. Ви сте произвођач + ако га узгајате, узгајате, кувате, печете, ферментишете, музете или + обликујете. + producer_text2: > + Произвођачи могу да обављају и друге функције, као што је агрегирање + хране из других предузећа и продаја преко продавнице на Отвореној мрежи + хране. + non_producer: Непроизвођач + non_producer_text1: > + Непроизвођачи сами не производе храну, што значи да не могу креирати + сопствене производе за продају преко Отворене мреже за храну. + non_producer_text2: > + Уместо тога, не-произвођачи се специјализују за повезивање произвођача + са крајњим једецем, било да се ради о сабирању, оцењивању, паковању, + продаји или испоруци хране. + producer_desc: Произвођачи хране + producer_example: на пример. УЗРАЂИВАЧИ, ПЕКАРИ, ПИВАРИ, ПРОИЗВОЂАЧИ + non_producer_desc: Сва остала прехрамбена предузећа + non_producer_example: на пример. Продавнице прехрамбених производа, Прехрамбене задруге, Групе за куповину + enterprise_status: + status_title: "%{name} је подешен и спреман за рад!" + severity: Озбиљност + description: Опис + resolve: Ресолве + exchange_products: + load_more_variants: "Учитајте више варијанти" + load_all_variants: "Учитај све варијанте" + select_all_variants: "Изаберите све варијанте %{total_number_of_variants}" + variants_loaded: "%{num_of_variants_loaded} од %{total_number_of_variants} Вариантс Лоадед" + loading_variants: "Варијанте учитавања" + no_variants: "За овај производ није доступна ниједна варијанта (скривена преко подешавања инвентара)." + some_variants_hidden: "(Неке варијанте могу бити скривене преко подешавања инвентара)" + tag_rules: + shipping_method_tagged_top: "Методе испоруке означене" + shipping_method_tagged_bottom: "су:" + payment_method_tagged_top: "Означени начини плаћања" + payment_method_tagged_bottom: "су:" + order_cycle_tagged_top: "Наручите циклуси означени" + order_cycle_tagged_bottom: "су:" + inventory_tagged_top: "Означене варијанте инвентара" + inventory_tagged_bottom: "су:" + new_tag_rule_dialog: + select_rule_type: "Изаберите тип правила:" + add_rule: "Додај правило" + enterprise_fees: + inherit_from_product: "Наследи од производа" + orders: + index: + per_page: "%{results} по страници" + view_file: "Погледај Фајл" + compiling_invoices: "Састављање фактура" + bulk_invoice_created: "Групна фактура је направљена" + bulk_invoice_failed: "Креирање групне фактуре није успело" + please_wait: "Сачекајте док ПДФ не буде спреман пре него што затворите овај модал." + order_state: + address: "адреса" + adjustments: "прилагођавања" + awaiting_return: "чекајући повратак" + canceled: "отказан" + cart: "колица" + complete: "комплетан" + confirm: "Потврди" + delivery: "испорука" + paused: "паузирао" + payment: "плаћање" + pending: "нерешен" + resumed: "настављено" + returned: "вратио" + confirmation: "потврда" + shipment_states: + backorder: "бацкордер" + partial: "делимична" + pending: "нерешен" + ready: "спреман" + shipped: "испоручен" + canceled: "отказан" + payment_states: + balance_due: "стање због" + completed: "завршено" + checkout: "провери" + credit_owed: "дугује кредит" + failed: "није успео" + paid: "плаћени" + pending: "нерешен" + requires_authorization: "Овлашћење Обавезно" + processing: "обрада" + void: "празнина" + invalid: "неважећим" + quantity_unavailable: "Недовољно расположивих залиха. Ставка поруџбине није сачувана!" + quantity_unchanged: "Количина је непромењена у односу на претходни износ." + cancel_the_order_html: "Ово ће отказати тренутну наруџбу.
Да ли сте сигурни да желите да наставите?" + cancel_the_order_send_cancelation_email: "Пошаљите е-поруку за отказивање купцу" + restock_item: "Обнова залиха артикала: вратите ову ставку на залиху" + restock_items: "Обнова залиха артикала: вратите све артикле на залихе" + delete_line_items_html: + one: "Ово ће избрисати једну ставку из поруџбине.
Да ли сте сигурни да желите да наставите?" + few: "Ово ће избрисати %{count} ставке поруџбина из поруџбине.
Да ли сте сигурни да желите да наставите?" + other: "Ово ће избрисати %{count} ставке поруџбина из поруџбине.
Да ли сте сигурни да желите да наставите?" + resend_user_email_confirmation: + resend: "Поново послати" + sending: "Поново послати..." + done: "Поново пошаљите готово ✓" + failed: "Поновно слање није успело ✗" + order_cycles: + schedules: + adding_a_new_schedule: "Додавање новог распореда" + updating_a_schedule: "Ажурирање А распореда" + create_schedule: "Креирајте распоред" + update_schedule: "Распоред ажурирања" + delete_schedule: "Избриши распоред" + schedule_name_placeholder: "Име распореда" + created_schedule: "Креиран распоред" + updated_schedule: "Ажуриран распоред" + deleted_schedule: "Избрисан распоред" + name_required_error: "Унесите назив за овај распоред" + no_order_cycles_error: "Изаберите најмање један циклус поруџбине (превуците и испустите)" + available: "Доступан" + selected: "Изабрано" + customers: + index: + add_customer: "Додај купца" + add_a_new_customer_for: "Додајте новог купца за %{shop_name}" + customer_placeholder: "цустомер@екампле.орг" + valid_email_error: "Унесите исправну е-маил адресу" + subscriptions: + error_saving: "Грешка при чувању претплате" + new: + please_select_a_shop: "Молимо изаберите продавницу" + enterprises: + form: + images: + removed_logo_successfully: "Лого је успешно уклоњен" + immediate_logo_removal_warning: "Лого ће бити уклоњен одмах након што потврдите." + removed_promo_image_successfully: "Промотивна слика је успешно уклоњена" + immediate_promo_image_removal_warning: "Промотивна слика ће бити уклоњена одмах након што потврдите." + immediate_terms_and_conditions_removal_warning: "Датотека са условима и одредбама биће уклоњена одмах након што потврдите." + removed_terms_and_conditions_successfully: "Датотека са условима и одредбама је успешно уклоњена" + insufficient_stock: "Нема довољно доступних залиха, преостаје само %{on_hand}" + out_of_stock: + reduced_stock_available: Доступне смањене залихе + out_of_stock_text: > + Док сте куповали, нивои залиха за један или више производа у вашој корпи + су смањени. Ево шта се променило: + now_out_of_stock: сада нема на залихама. + only_n_remainging: "сада је остало само %{num} ." + shopfront: + variant: + add_to_cart: "Додати" + in_cart: "у колицима" + quantity_in_cart: "%{quantity} у корпи" + remaining_in_stock: "Остао је само %{quantity}" + bulk_buy_modal: + min_quantity: "Мин куантити" + max_quantity: "Максимална количина" + price_breakdown: "Распад цена" + unit_price_tooltip: "Ово је јединична цена овог производа. Омогућава вам да упоредите цену производа независно од величине и тежине паковања." + variants: + on_demand: + 'yes': "На захтев" + variant_overrides: + on_demand: + use_producer_settings: "Користите подешавања залиха произвођача" + 'yes': "да" + 'no': "Не" + inventory_products: "Инвентар производа" + hidden_products: "Скривени производи" + new_products: "Нови производи" + reset_stock_levels: Ресетујте нивое залиха на подразумеване вредности + changes_to: Промене у + one_override: једно надјачавање + overrides: надјачава + remain_unsaved: остати несачуван. + no_changes_to_save: Нема промена за чување.' + no_authorisation: "Нисам могао да добијем овлашћење да сачувам те промене, тако да оне остају несачуване." + some_trouble: "Имао сам проблема са чувањем: %{errors}" + changing_on_hand_stock: Промена нивоа залиха у руци... + stock_reset: Акције се враћају на подразумеване вредности. + tag_rules: + show_hide_variants: 'Прикажи или Сакриј варијанте у мојој продавници' + show_hide_shipping: 'Прикажи или Сакриј начине испоруке при плаћању' + show_hide_payment: 'Прикажи или Сакриј начине плаћања при плаћању' + show_hide_order_cycles: 'Прикажи или Сакриј циклусе поруџбина у мојој радњи' + visible: ВИДЉИВ + not_visible: НИЈЕ ВИДЉИВО + services: + unsaved_changes_message: Несачуване промене тренутно постоје, сачувати одмах или игнорисати? + save: САЧУВАТИ + ignore: ИГНОРЕ + add_to_order_cycle: "додајте циклусу поруџбине" + manage_products: "управљати производима" + edit_profile: "уреди профил" + add_products_to_inventory: "додајте производе у инвентар" + resources: + could_not_delete_customer: 'Није могуће избрисати клијента' + product_import: + confirmation: | + Ово ће поставити ниво залиха на нулу за све производе за ово + предузећа која нису присутна у учитаној датотеци. + order_cycles: + unsaved_changes: "Имате несачуване промене" + bulk_save_error: "Ох не! Нисам успео да сачувам ваше промене." + create_failure: "Креирање циклуса поруџбине није успело" + update_success: 'Ваш циклус наруџбине је ажуриран.' + update_failure: "Ажурирање циклуса поруџбине није успело" + no_distributors: У овом циклусу наруџбине нема дистрибутера. Овај циклус наруџбине неће бити видљив клијентима док га не додате. Да ли желите да наставите да чувате овај циклус поруџбине?' + enterprises: + producer: "Произвођач" + non_producer: "Нон-Продуцер" + customers: + select_shop: 'Прво изаберите продавницу' + could_not_create: Извињавам се! Није могуће креирати + subscriptions: + closes: затвара + closed: затворено + close_date_not_set: Датум затварања није постављен + spree: + users: + order: "Ред" + registration: + welcome_to_ofn: "Добродошли у Отворену мрежу хране!" + signup_or_login: "Почните тако што ћете се пријавити (или се пријавите)" + have_an_account: "Већ имате налог?" + action_login: "Лог ин сада." + stripe_elements: + unknown_error_from_stripe: | + Дошло је до проблема при подешавању ваше картице на нашем пролазу за плаћања. + Освежите страницу и покушајте поново, ако не успе други пут, + контактирајте нас за подршку. + trix: + bold: "Болд" + bullets: "Меци" + code: "Код" + heading1: "Наслов" + hr: "Хоризонтално правило" + indent: "Повећајте ниво" + italic: "Курзив" + link: "Линк" + numbers: "Бројеви" + outdent: "Смањите ниво" + quote: "Цитат" + redo: "Понови" + strike: "Прецртано" + undo: "Поништи" + unlink: "Прекини везу" + url: "УРЛ" + urlPlaceholder: "Унесите УРЛ за уметање" + inflections: + each: + one: "сваки" + few: "сваки" + other: "сваки" + bunch: + one: "хрпа" + few: "гроздова" + other: "гроздова" + pack: + one: "паковање" + few: "паковања" + other: "паковања" + box: + one: "кутија" + few: "кутије" + other: "кутије" + bottle: + one: "флаша" + few: "боце" + other: "боце" + jar: + one: "јар" + few: "тегле" + other: "тегле" + head: + one: "глава" + few: "главе" + other: "главе" + bag: + one: "кеса" + few: "торбе" + other: "торбе" + loaf: + one: "векна" + few: "погаче" + other: "погаче" + single: + one: "једно" + few: "самци" + other: "самци" + tub: + one: "када" + few: "каде" + other: "каде" + punnet: + one: "пуннет" + few: "пуннетс" + other: "пуннетс" + packet: + one: "пакет" + few: "пакети" + other: "пакети" + item: + one: "предмет" + few: "ставке" + other: "ставке" + dozen: + one: "десетак" + few: "десетине" + other: "десетине" + unit: + one: "јединица" + few: "јединице" + other: "јединице" + serve: + one: "служити" + few: "служи" + other: "служи" + tray: + one: "послужавник" + few: "тацне" + other: "тацне" + piece: + one: "комад" + few: "комада" + other: "комада" + pot: + one: "пот" + few: "лонци" + other: "лонци" + bundle: + one: "сноп" + few: "снопови" + other: "снопови" + flask: + one: "пљоска" + few: "чутурице" + other: "чутурице" + basket: + one: "корпа" + few: "корпе" + other: "корпе" + sack: + one: "Пљачкање" + few: "вреће" + other: "вреће" + producers: + signup: + start_free_profile: "Почните са бесплатним профилом и проширите га када будете спремни!" + order_management: + reports: + bulk_coop: + filters: + bulk_coop_allocation: "Групна додела заједништва" + bulk_coop_customer_payments: "Групна плаћања клијената у сарадњи" + bulk_coop_packing_sheets: "Листови за паковање у кооперативи" + bulk_coop_supplier_report: "Извјештај о добављачима за масовну сарадњу" + enterprise_fee_summaries: + filters: + date_range: "Опсег датума" + report_format_csv: "Преузмите као ЦСВ" + generate_report: "Генерисање извештаја" + report: + none: "Ниједан" + select_and_search: "Изаберите филтере и кликните на ГЕНЕРИРАЈ ИЗВЕШТАЈ да бисте приступили својим подацима." + enterprise_fee_summary: + date_end_before_start_error: "мора бити након почетка" + parameter_not_allowed_error: "Нисте овлашћени да користите један или више изабраних филтера за овај извештај." + fee_calculated_on_transfer_through_all: "Све" + fee_calculated_on_transfer_through_entire_orders: "Целокупне поруџбине преко %{distributor}" + tax_category_various: "Разно" + fee_type: + payment_method: "Трансакција плаћања" + shipping_method: "Испорука" + fee_placements: + supplier: "Инцоминг" + distributor: "Одлазни" + coordinator: "Координатор" + tax_category_name: + shipping_instance_rate: "Платформ Рате" + formats: + csv: + header: + fee_type: "Врста накнаде" + enterprise_name: "Власник предузећа" + fee_name: "Назив накнаде" + customer_name: "Цустомер" + fee_placement: "Пласман накнаде" + fee_calculated_on_transfer_through_name: "Израчунавање накнаде за пренос" + tax_category_name: "Пореска категорија" + total_amount: "$$ СУМ" + html: + header: + fee_type: "Врста накнаде" + enterprise_name: "Власник предузећа" + fee_name: "Назив накнаде" + customer_name: "Цустомер" + fee_placement: "Пласман накнаде" + fee_calculated_on_transfer_through_name: "Израчунавање накнаде за пренос" + tax_category_name: "Пореска категорија" + total_amount: "$$ СУМ" + invalid_filter_parameters: "Филтери које сте изабрали за овај извештај су неважећи." + report: + none: "Ниједан" + order: "Ред" + order_details: "Детаљи поруџбине" + customer_details: "детаљи о купцу" + adjustments: "Подешавања" + payments: "Плаћања" + return_authorizations: "Овлашћења за повратак" + credit_owed: "Цредит Овед" + new_adjustment: "Ново подешавање" + payment: "Плаћање" + payment_method: "Начин плаћања" + shipment: "Испорука" + shipment_inc_vat: "Пошиљка са ПДВ-ом" + shipping_tax_rate: "Стопа пореза на отпрему" + category: "Категорија" + import_date: "Датум увоза" + delivery: "Испорука" + temperature_controlled: "Температура Цонтроллед" + new_product: "Нови производ" + administration: "Администрација" + logged_in_as: "пријављен као" + account: "Рачун" + logout: "Одјавити се" + date_range: "Опсег датума" + status: "Статус" + new: "Нова" + start: "Почетак" + end: "Крај" + stop: "Зауставити" + first: "Први" + previous: "Претходна" + last: "Ласт" + webhook_endpoints: + create: + success: Крајња тачка Вебхоок-а је успешно креирана + error: Креирање крајње тачке Вебхоок-а није успело + destroy: + success: Крајња тачка Вебхоок-а је успешно избрисана + error: Брисање крајње тачке Вебхоок-а није успело + spree: + order_updated: "Ордер Упдатед" + add_country: "Додајте земљу" + add_state: "Додајте државу" + adjustment: "Подешавање" + all: "Све" + associated_adjustment_closed: "Повезано прилагођавање затворено" + back_to_adjustments_list: "Назад на подешавања" + back_to_users_list: "Назад на кориснике" + back_to_zones_list: "Назад на зоне" + card_code: "Код картице" + card_number: "Број картице" + category: "Категорија" + created_successfully: "Цреатед Суццессфулли" + credit: "Кредит" + editing_tax_category: "Уређивање пореске категорије" + editing_tax_rate: "Уређивање пореске стопе" + editing_zone: "Зона за уређивање" + editing_state: "Едитинг Стате" + expiration: "Истицање" + invalid_payment_provider: "Неважећи добављач плаћања" + items_cannot_be_shipped: "Ставке се не могу испоручити" + gateway_config_unavailable: "Конфигурација мрежног пролаза није доступна" + gateway_error: "Уплата није успела" + more: "Више" + new_adjustment: "Ново подешавање" + new_tax_category: "Нова пореска категорија" + new_user: "Нови корисник" + no_pending_payments: "Нема плаћања на чекању" + remove: "Уклони" + none: "Ниједан" + not_found: "Није пронађен" + notice_messages: + variant_deleted: "Варијанта је обрисана" + payment_method_not_supported: "Начин плаћања није подржан" + resend_authorization_email: "Поново пошаљите имејл за овлашћење" + rma_credit: "РМА кредит" + refund: "Враћање новца" + server_error: "Грешка на серверу" + shipping_method_names: + UPS Ground: "УПС Гроунд" + pick_up: "Преузимање на фарми" + delivery: "Потписано, запечаћено, достављено" + start_date: "Датум почетка" + successfully_removed: "Успешно уклоњено" + updating: "Ажурирање" + your_order_is_empty_add_product: "Ваша поруџбина је празна, потражите и додајте производ изнад" + add_product: "Додај производ" + name_or_sku: "Назив или СКУ (унесите најмање прва 4 знака назива производа)" + resend: "Поново послати" + back_to_orders_list: "Назад на листу поруџбина" + back_to_payments_list: "Назад на листу плаћања" + back_to_states_list: "Назад на листу држава" + return_authorizations: "Овлашћења за враћање" + cannot_create_returns: "Није могуће креирати поврате јер ова поруџбина нема испоручених јединица." + select_stock: "Изаберите акције" + location: "Локација" + count_on_hand: "Цоунт Он Ханд" + quantity: "Количина" + on_demand: "На захтев" + on_hand: "На руци, при руци" + package_from: "пакет од" + item_description: "Опис ставке" + price: "Цена" + total: "Укупно" + edit: "Уредити" + split: "Разделити" + delete: "Избриши" + cannot_set_shipping_method_without_address: "Није могуће подесити начин испоруке док се не наведу подаци о клијенту." + no_tracking_present: "Нису наведени детаљи о праћењу." + tracking: "Праћење" + tracking_number: "Број за праћење" + order_total: "Ордер Тотал" + customer_details: "детаљи о купцу" + customer_details_updated: "Подаци о клијенту су ажурирани" + customer_search: "Претрага купаца" + choose_a_customer: "Изаберите купца" + account: "Рачун" + billing_address: "Адреса за наплату" + shipping_address: "Достава Адреса" + first_name: "Име" + last_name: "Презиме" + street_address: "Улица и број" + street_address_2: "Адреса (наставак)" + city: "Цити" + zip: "Зип" + country: "Држава" + state: "Држава" + phone: "Телефон" + update: "ажурирање" + use_billing_address: "Користите адресу за обрачун" + adjustments: "Подешавања" + continue: "Настави" + fill_in_customer_info: "Молимо попуните податке о клијенту" + credit_card: "Кредитна картица" + new_payment: "Ново плаћање" + capture: "Цаптуре" + capture_and_complete_order: "Ухватите и довршите ред" + void: "Празнина" + login: "Пријавите се" + password: "Лозинка" + signature: "Потпис" + solution: "Решење" + landing_page: "Почетне странице" + server: "Сервер" + test_mode: "Тест Моде" + logourl: "Логоурл" + are_you_sure_delete: "Да ли сте сигурни да желите да избришете овај запис?" + confirm_delete: "Потврдите брисање" + configurations: "Конфигурације" + general_settings: "Општа подешавања" + site_name: "Назив сајт" + site_url: "УРЛ сајта" + default_seo_title: "Подразумевани Сео наслов" + default_meta_description: "Подразумевани мета опис" + default_meta_keywords: "Подразумеване мета кључне речи" + currency_decimal_mark: "Децимална ознака валуте" + currency_settings: "Подешавања валуте" + currency_symbol_position: Ставите "симбол валуте пре или после износа у доларима?" + currency_thousands_separator: "Разделник хиљада валута" + hide_cents: "Сакриј центе" + display_currency: "Приказ валуте" + choose_currency: "Изаберите Валута" + mail_method_settings: "Подешавања метода поште" + mail_settings_notice_html: "Промене направљене овде ће бити привремене само за отклањање грешака и могу бити враћене у будућности.
Трајне промене се могу извршити ажурирањем тајни инстанце и обезбеђивањем истих коришћењем офн-инсталл . Обратите се ОФН глобалном тиму за више детаља." + general: "Генерал" + enable_mail_delivery: "Омогући испоруку поште" + send_mails_as: "Шаљи пошту као" + smtp_send_all_emails_as_from_following_address: "Пошаљите све поруке као са следеће адресе." + send_copy_of_all_mails_to: "Пошаљите копију свих порука на" + smtp_send_copy_to_this_addresses: "Шаље копију свих одлазних порука на ову адресу. За више адреса одвојите зарезима." + tax_categories: "Пореске категорије" + listing_tax_categories: "Навођење пореских категорија" + back_to_tax_categories_list: "Назад на листу пореских категорија" + tax rate: "Пореске стопе" + new_tax_rate: "Нова пореска стопа" + tax_category: "Пореска категорија" + tax_rates: "Пореске стопе" + rate: "Рате" + tax_rate_amount_explanation: "Пореске стопе су децимални износ за помоћ у прорачунима, (тј. ако је пореска стопа 5% онда унесите 0,05)" + included_in_price: "Укључено у цену" + show_rate_in_label: "Прикажи стопу у етикети" + back_to_tax_rates_list: "Назад на листу пореских стопа" + tax_settings: "Пореска подешавања" + zones: "Зоне" + new_zone: "Нова зона" + default_tax: "Дефаулт Так" + default_tax_zone: "Подразумевана пореска зона" + country_based: "Цоунтри Басед" + state_based: "Стате Басед" + countries: "Земље" + listing_countries: "Листинг Цоунтриес" + iso_name: "ИСО назив" + states_required: "Обавезне државе" + editing_country: "Едитинг Цоунтри" + back_to_countries_list: "Назад на листу земаља" + states: "државе" + abbreviation: "Скраћеница" + new_state: "Нова држава" + payment_methods: "Начини плаћања" + taxons: "Категорије производа" + shipping_methods: "Начини испоруке" + shipping_method: "начин куповине" + shipment: "Испорука" + payment: "Плаћање" + status: "Статус" + shipping_categories: "Категорије отпреме" + new_shipping_category: "Нова категорија испоруке" + back_to_shipping_categories: "Назад на категорије испоруке" + editing_shipping_category: "Уређивање категорије испоруке" + name: "Име" + description: "Опис" + type: "Тип" + default: "Уобичајено" + calculator: "Калкулатор" + zone: "Зона" + display: "Приказ" + environment: "Животна средина" + active: "Ацтиве" + nore: "Више" + no_results: "Нема резултата" + create: "Креирај" + loading: "Лоадинг" + flat_percent: "Флат Перцент" + per_kg: "Пер Кг" + amount: "Износ" + currency: "Валута" + first_item: "Цена прве ставке" + additional_item: "Додатни трошак ставке" + max_items: "Мак Итемс" + minimal_amount: "Минимални износ" + normal_amount: "Нормалан износ" + discount_amount: "Износ попуста" + no_images_found: "Слике нису пронађене" + new_image: "Нова слика" + filename: "Назив документа" + alt_text: "Алтернативни текст" + thumbnail: "Тхумбнаил" + back_to_images_list: "Назад на листу слика" + email: Емаил + account_updated: "Налог је ажуриран!" + email_updated: "Налог ће бити ажуриран када се потврди нова е-пошта." + show_api_key_view_toggled: "Приказ АПИ кључа је промењен!" + my_account: "Мој налог" + date: "Датум" + time: "време" + inventory_error_flash_for_insufficient_quantity: "Артикал у вашој корпи је постао недоступан." + inventory: Инвентар + zipcode: Поштански број + weight: Тежина (по кг или лб) + error_user_destroy_with_orders: "Корисници са завршеним поруџбинама не могу бити обрисани" + cannot_create_payment_without_payment_methods: "Не можете креирати плаћање за поруџбину без дефинисаних начина плаћања." + please_define_payment_methods: "Прво дефинишите неке начине плаћања." + options: "Опције" + has_no_shipped_units: "нема испоручених јединица" + successfully_created: '%{resource} је успешно креиран!' + successfully_updated: '%{resource} је успешно ажуриран!' + payment_method: "Начин плаћања" + payment_processing_failed: "Уплата није могла да се обради, проверите детаље које сте унели" + not_available: "Н/А" + sku: "СКУ" + there_are_no_items_for_this_order: "Нема артикала за ову наруџбу." + order_populator: + out_of_stock: '%{item} нема на залихама.' + actions: + update: "ажурирање" + cancel: "Поништити, отказати" + shared: + error_messages: + errors_prohibited_this_record_from_being_saved: + one: "1 грешка је забранила чување овог записа:" + few: "%{count} грешке су забраниле чување овог записа:" + many: "%{count} грешке су забраниле чување овог записа:" + other: "%{count} грешке су забраниле чување овог записа:" + there_were_problems_with_the_following_fields: "Било је проблема са следећим пољима" + payments_list: + date_time: "Датум време" + amount: "Износ" + payment_method: "Начин плаћања" + payment_state: "Држава плаћања" + errors: + messages: + included_price_validation: "не може се изабрати осим ако нисте подесили подразумевану пореску зону" + blank: "не може бити празно" + invalid_instagram_url: "Мора бити само корисничко име нпр. тхе_проф" + layouts: + admin: + login_nav: + header: + store: Продавница + validation: + must_be_int: "мора бити цео број" + admin: + images: + edit: + title: Уредите слику производа + close: Назад + upload: Отпремите фотографију + mail_methods: + send_testmail: "Пошаљите пробну е-пошту" + testmail: + delivery_success: "Пробни емаил је послат." + error: "Дошло је до грешке при покушају слања пробне е-поште." + unit_price_tooltip: "Јединична цена повећава транспарентност омогућавајући вашим клијентима да лако упореде цене између различитих производа и величина паковања. Имајте на уму да се коначна јединична цена приказана на излогу може разликовати јер укључује порезе и накнаде." + subscriptions: + number: "Број" + tab: + dashboard: "Командна табла" + orders: "Наређења" + bulk_order_management: "Управљање великим поруџбинама" + subscriptions: "Претплате" + products: "Производи" + products_v3: "Производи" + option_types: "Типови опција" + properties: "Својства" + variant_overrides: "Инвентар" + reports: "Извештаји" + configuration: "Конфигурација" + users: "Корисници" + roles: "Улоге" + order_cycles: "Ордер Цицлес" + enterprises: "Предузећа" + enterprise_relationships: "Дозволе" + customers: "Купци" + groups: "Групе" + oidc_settings: "ОИДЦ подешавања" + overview: "Преглед" + product_import: "Увоз" + enterprise_roles: "Улоге" + payment_methods: "Начини плаћања" + product_properties: + index: + inherits_properties_checkbox_hint: "Наследити својства од %{supplier} ? (осим ако није замењено изнад)" + add_product_properties: "Додајте својства производа" + properties: + index: + properties: "Својства" + new_property: "Нев Проперти" + name: "Име" + presentation: "Презентација" + new: + new_property: "Нев Проперти" + edit: + editing_property: "Уређивање својства" + back_to_properties_list: "Назад на листу својстава" + form: + name: "Име" + presentation: "Презентација" + return_authorizations: + index: + new_return_authorization: "Ново овлашћење за враћање" + return_authorizations: "Овлашћења за враћање" + back_to_orders_list: "Назад на листу поруџбина" + rma_number: "РМА број" + status: "Статус" + amount: "Износ" + cannot_create_returns: "Није могуће креирати поврате јер ова поруџбина нема испоручених јединица." + continue: "Настави" + new: + new_return_authorization: "Ново овлашћење за враћање" + back_to_return_authorizations_list: "Назад на листу овлашћења за повратак" + continue: "Настави" + edit: + receive: "примити" + are_you_sure: "Јеси ли сигуран?" + return_authorization: "Овлашћење за повратак" + form: + product: "Производ" + quantity_shipped: "Количина испоручена" + quantity_returned: "Количина враћена" + return_quantity: "Повратна количина" + amount: "Износ" + rma_value: "РМА вредност" + reason: "Разлог" + stock_location: "Стоцк Лоцатион" + states: + authorized: "Овлашћени" + received: "Примљен" + canceled: "Отказано" + line_items: + index: + results_found: "%{number} Пронађени резултати." + viewing: "Прегледање %{start} до %{end} ." + orders: + add_product: + cannot_add_item_to_canceled_order: "Није могуће додати ставку у отказану поруџбину" + include_out_of_stock_variants: "Укључите варијанте без расположивих залиха" + shipment: + mark_as_shipped_message_html: "Ово ће означити наруџбу као Отпремљено.
Да ли сте сигурни да желите да наставите?" + mark_as_shipped_label_message: "Пошаљите е-поруку са обавештењем о испоруци/преузимању купцу." + index: + listing_orders: "Листинг Ордерс" + new_order: "Нев Ордер" + capture: "Цаптуре" + ship: "Брод" + edit: "Уредити" + order_not_updated: "Редослед није могао да се ажурира" + note: "Белешка" + first: "Први" + last: "Ласт" + previous: "Претходна" + next: "Следећи" + loading: "Лоадинг" + no_orders_found: "Наруџбине нису пронађене" + results_found: "%{number} Пронађени резултати." + viewing: "Прегледање %{start} до %{end} ." + print_invoices: "Штампајте фактуре" + cancel_orders: "Откажите поруџбине" + resend_confirmation: "Поново послати потврду" + resend_confirmation_confirm_html: "Ово ће поново послати емаил са потврдом клијенту.
Да ли сте сигурни да желите да наставите?" + send_invoice: "Пошаљите фактуре" + send_invoice_confirm_html: "Ово ће клијентима е-поштом послати фактуре за све изабране комплетне поруџбине.
Да ли сте сигурни да желите да наставите?" + selected: + zero: "Није изабрана поруџбина" + one: "Изабрана је 1 поруџбина" + other: "%{count} изабране наруџбе" + sortable_header: + payment_state: "Држава плаћања" + shipment_state: "Држава пошиљке" + completed_at: "Завршено у" + number: "Број" + state: "Држава" + email: "Е-маил корисника" + invoice: + issued_on: "Издата" + tax_invoice: "ПОРЕСКА ФАКТУРА" + code: "Код" + from: "Од" + to: "Рачун за" + shipping: "поштарина" + order_number: "Редни број" + invoice_number: "Број фактуре" + payments_list: + date_time: "Датум време" + payment_method: "Начин плаћања" + payment_state: "стање плаћања" + amount: "Износ" + note: + note_label: "Белешка:" + no_note_present: "Нема напомене." + form: + distribution_fields: + title: "Дистрибуција" + distributor: "Дистрибутер:" + order_cycle: "Циклус наручивања:" + line_item_adjustments: "Прилагођавања ставки" + order_adjustments: "Прилагођавања налога" + order_total: "Ордер Тотал" + invoices: + index: + order_has_changed: "Редослед се променио од последњег ажурирања фактуре. Фактура приказана овде можда више није ажурирана." + overview: + enterprises_header: + ofn_with_tip: Предузећа су произвођачи и/или чворишта и основна су организациона јединица у оквиру Отворене мреже за храну. + enterprise_row: + has_no_enterprise_fees: "нема накнаде за предузећа" + has_no_payment_methods: "нема начина плаћања" + has_no_shipping_methods: "нема начина испоруке" + products: + products_tip: "Производи које продајете преко Опен Фоод Нетворк-а." + active_products: + zero: "Немате активних производа." + one: "Имате један активан производ" + few: "Имате %{count} активне производе" + many: "Имате %{count} активне производе" + other: "Имате %{count} активне производе" + order_cycles: + order_cycles: "Ордер Цицлес" + order_cycles_tip: "Циклуси наручивања одређују када и где су ваши производи доступни купцима." + you_have_active: + zero: "Немате ниједан активан циклус наруџби." + one: "Имате један активан циклус поруџбине." + few: "Имате %{count} активних циклуса налога." + many: "Имате %{count} активних циклуса налога." + other: "Имате %{count} активних циклуса налога." + manage_order_cycles: "УПРАВЉАЈТЕ ЦИКЛУСИМА НАРУЏБИ" + version: + view_all_releases: Погледајте сва издања + shipping_methods: + index: + shipping_methods: "Начини испоруке" + new_shipping_method: "Нови начин испоруке" + name: "Име" + products_distributor: "Дистрибутер" + zone: "Зона" + calculator: "Калкулатор" + display: "Приказ" + both: "И каса и позадинска канцеларија" + back_end: "Само позадинска канцеларија" + no_shipping_methods_found: "Није пронађен ниједан начин испоруке" + new: + new_shipping_method: "Нови начин испоруке" + back_to_shipping_methods_list: "Назад на листу метода испоруке" + edit: + editing_shipping_method: "Уређивање начина испоруке" + new: "Нова" + back_to_shipping_methods_list: "Назад на листу метода испоруке" + form: + categories: "Категорије" + tax_category: "Пореска категорија" + zones: "Зоне" + both: "И каса и позадинска канцеларија" + back_end: "Само позадинска канцеларија" + deactivation_warning: "Деактивирање начина испоруке може довести до тога да начин испоруке нестане са ваше листе. Алтернативно, можете да сакријете начин испоруке са странице за наплату тако што ћете опцију „Прикажи“ поставити на „само позадинска служба“." + payment_methods: + index: + payment_methods: "Начини плаћања" + new_payment_method: "Нови начин плаћања" + name: "Име" + products_distributor: "Дистрибутер" + provider: "Провајдер" + environment: "Животна средина" + display: "Приказ" + active: "Ацтиве" + both: "И једно и друго" + back_end: "Само позадинска канцеларија" + active_yes: "да" + active_no: "Не" + no_payment_methods_found: "Није пронађен ниједан начин плаћања" + new: + new_payment_method: "Нови начин плаћања" + back_to_payment_methods_list: "Назад на листу начина плаћања" + edit: + new: "Нова" + editing_payment_method: "Уређивање начина плаћања" + back_to_payment_methods_list: "Назад на листу начина плаћања" + stripe_connect: + enterprise_select_placeholder: Изаберите... + loading_account_information_msg: Учитавање информација о налогу са стрипе-а, сачекајте... + stripe_disabled_msg: Системски администратор је онемогућио Стрипе плаћања. + request_failed_msg: Извињавам се. Нешто је пошло наопако при покушају верификације детаља налога помоћу Стрипе-а... + account_missing_msg: Не постоји Стрипе налог за ово предузеће. + connect_one: Цоннецт Оне + access_revoked_msg: Приступ овом Стрипе налогу је опозван, поново повежите свој налог. + status: Статус + connected: Повезан + account_id: ИД налога + business_name: Пословно име + charges_enabled: Цхаргес Енаблед + form: + name: "Име" + description: "Опис" + environment: "Животна средина" + display: "Приказ" + active: "Ацтиве" + active_yes: "да" + active_no: "Не" + both: "И каса и позадинска канцеларија" + back_end: "Само позадинска канцеларија" + tags: "Ознаке" + deactivation_warning: "Деактивирање начина плаћања може довести до тога да начин плаћања нестане са ваше листе. Алтернативно, можете да сакријете начин плаћања са странице за плаћање тако што ћете опцију „Прикажи“ поставити на „Само за позадину“." + providers: + provider: "Провајдер" + check: "Готовина/ЕФТ/итд. (плаћања за која није потребна аутоматска валидација)" + pin: "Пин Паиментс" + paypalexpress: "ПаиПал Екпресс" + stripeconnect: "Стрипе" + stripesca: "Стрипе СЦА" + payments: + source_forms: + stripe: + error_saving_payment: Грешка при чувању уплате + submitting_payment: Слање уплате... + paypal: + no_payment_via_admin_backend: Паипал уплате се не могу ухватити у Бацкоффице-у + products: + image_upload_error: "Отпремите слику у ЈПГ, ПНГ, ГИФ, СВГ или ВЕБП формату." + image_not_processable: "Прилог слике није важећа слика." + new: + title: "Нови производ" + new_product: "Нови производ" + supplier: "Добављач" + supplier_select_placeholder: "Изаберите добављача" + search_for_suppliers: "Потражите добављаче" + search_for_units: "Потражите јединице" + product_name: "Назив производа" + units: "Величина јединице" + value: "Валуе" + unit_name: "Назив јединице" + price: "Цена" + unit_price: "Цена по јединици" + unit_price_legend: "Обрачунава се на основу цене артикла" + on_hand: "На руци, при руци" + on_demand: "На захтев" + product_description: "Опис производа" + image: "Слика" + unit_name_placeholder: 'на пример. гроздова' + index: + header: + title: Групно уређивање производа + indicators: + title: ЛОАДИНГ ПРОДУЦТС + no_products: "Још нема производа. Зашто не додате неке?" + no_results: "Жао нам је, нема резултата" + products_head: + name: Име + unit: Јединица + display_as: Прикажи као + category: Категорија + tax_category: Пореска категорија + inherits_properties?: Наслеђује својства? + av_on: "Ав. на" + import_date: "Датум увоза" + products_variant: + variant_has_n_overrides: "Ова варијанта има %{n} замена(е)" + new_variant: "Нова варијанта" + product_name: Назив производа + primary_taxon_form: + product_category: Производ Категорија + search_for_categories: "Потражите категорије" + group_buy_form: + group_buy: "Гроуп Буи?" + bulk_unit_size: Величина јединице + display_as: + display_as: Прикажи као + clone: + success: Производ клониран + reports: + table: + select_and_search: "Изаберите филтере и кликните на %{option} да бисте приступили својим подацима." + customer_names_message: + customer_names_tip: "Ако су имена купаца скривена за поруџбине које сте испоручили, можете контактирати дистрибутера и питати да ли могу да ажурирају своје поставке продавнице како би својим добављачима омогућили да виде имена купаца." + products_and_inventory: + all_products: + message: "Имајте на уму да су пријављени нивои залиха само са спискова производа добављача. Ако користите инвентар за управљање количинама залиха, ове вредности ће бити занемарене у овом извештају." + users: + index: + listing_users: "Листинг Усерс" + new_user: "Нови корисник" + user: "Корисник" + enterprise_limit: "Ентерприсе Лимит" + search: "Претрага" + email: "Емаил" + edit: + editing_user: "Уређивање корисника" + back_to_users_list: "Назад на листу корисника" + general_settings: "Општа подешавања" + form: + disabled: "Онемогућено?" + email: "Емаил" + roles: "Улоге" + enterprise_limit: "Ентерприсе Лимит" + confirm_password: "Потврди лозинку" + password: "Лозинка" + locale: "Језик" + email_confirmation: + confirmation_pending: "Потврда имејлом је на чекању. Послали смо е-поруку са потврдом на %{address} ." + variants: + index: + sku: "СКУ" + price: "Цена" + options: "Опције" + no_results: "Нема резултата" + option_types: "Типови опција" + option_values: "Вредности опција" + and: "и" + new_variant: "Нова варијанта" + show_active: "Схов Ацтиве" + show_deleted: "Прикажи избрисано" + new: + new_variant: "Нова варијанта" + form: + sku: "СКУ" + unit_price: "Цена по јединици" + display_as: "Прикажи као" + display_name: "Показати име" + display_as_placeholder: 'на пример. 2 кг' + display_name_placeholder: 'на пример. Парадајз' + unit_scale: "Јединична скала" + unit: Јединица + price: Цена + unit_value: Јединична вредност + variant_category: Категорија + autocomplete: + out_of_stock: "Нема на залихи" + producer_name: "Произвођач" + unit: "Јединица" + shared: + configuration_menu: + terms_of_service: "Услови коришћења" + sortable_header: + name: "Име" + number: "Број" + completed_at: "Завршено у" + state: "Држава" + payment_state: "Држава плаћања" + shipment_state: "Држава отпреме" + email: "Емаил" + total: "Укупно" + billing_address_name: "Име" + taxons: + back_to_list: "Назад на листу категорија производа" + index: + title: "Категорије производа" + new_taxon: 'Нова категорија производа' + new: + title: "Нова категорија производа" + edit: + title: "Уредите категорију производа" + destroy: + delete_taxon: + success: "Категорија производа је успешно обрисана" + error: "Није могуће избрисати категорију производа због додељених производа." + form: + name: Име + meta_title: Мета Титле + meta_description: Мета Десцриптион + meta_keywords: Мета Кеивордс + description: Опис + dfc_id: ДФЦ УРИ + general_settings: + edit: + legal_settings: "Правна подешавања" + cookies_consent_banner_toggle: "Прикажи банер сагласности за колачиће" + privacy_policy_url: "УРЛ политике приватности" + enterprises_require_tos: "Предузећа морају прихватити Услове коришћења услуге" + shoppers_require_tos: "Купци морају да прихвате Услове коришћења услуге" + cookies_policy_matomo_section: "Прикажите Матомо одељак на страници са политиком колачића" + footer_tos_url: "УРЛ услова коришћења услуге" + checkout: + payment: + stripe: + choose_one: Изабери једно + enter_new_card: Унесите детаље за нову картицу + used_saved_card: "Користите сачувану картицу:" + or_enter_new_card: "Или унесите детаље за нову картицу:" + remember_this_card: Сећате се ове картице? + stripe_sca: + choose_one: Изабери једно + enter_new_card: Унесите детаље за нову картицу + used_saved_card: "Користите сачувану картицу:" + or_enter_new_card: "Или унесите детаље за нову картицу:" + remember_this_card: Сећате се ове картице? + date_picker: + flatpickr_date_format: "Имд" + flatpickr_datetime_format: "Имд Х:и" + today: "Данас" + now: "Сада" + close: "Близу" + orders: + error_flash_for_unavailable_items: "Артикал у вашој корпи је постао недоступан. Ажурирајте изабране количине." + edit: + login_to_view_order: "Молимо пријавите се да видите своју наруџбу." + bought: + item: "Већ наручено у овом циклусу наруџби" + line_item: + insufficient_stock: "Нема довољно доступних залиха, преостаје само %{on_hand}" + out_of_stock: "Нема на залихи" + unavailable_item: "Тренутно недоступно" + shipment_states: + backorder: бацкордер + partial: делимична + pending: нерешен + ready: спреман + shipped: испоручен + canceled: отказан + payment_states: + balance_due: стање због + completed: завршено + checkout: провери + credit_owed: дугује се кредит + failed: није успео + paid: плаћени + pending: нерешен + processing: обрада + requires_authorization: "Овлашћење Обавезно" + void: празнина + invalid: неважећим + authorise: овластити + order_mailer: + cancel_email: + customer_greeting: "Поштовани %{name} ," + instructions_html: "Ваша поруџбина са %{distributor} је ОТКАЗАНА. Задржите ове информације о отказивању за своју евиденцију." + dont_cancel: "Ако сте се предомислили или не желите да откажете ову поруџбину, контактирајте %{email}" + order_summary_canceled_html: "Резиме поруџбине # %{number} [ОТКАЗАНО]" + details: "Ево детаља о томе шта сте наручили:" + unpaid_order: "Ваша поруџбина није плаћена, тако да није извршен поврат новца" + paid_order: "Ваша поруџбина је плаћена тако да је %{distributor} рефундирао пун износ" + credit_order: "Ваша поруџбина је плаћена тако да је ваш рачун кредитиран" + subject: "Отказивање наруџбе" + cancel_email_for_shop: + greeting: "Поштовани %{name} ," + subject: "Отказивање наруџбе" + intro: "Купац је отказао своју поруџбину # %{number} ." + view_cancelled_order: "Погледајте отказану поруџбину" + confirm_email: + subject: "Потврда наруџбине" + invoice_email: + hi: "Здраво %{name}" + invoice_attached_text: У прилогу можете пронаћи фактуру за вашу недавну поруџбину од + user_mailer: + reset_password_instructions: + request_sent_text: | + Постављен је захтев за ресетовање ваше лозинке. + Ако нисте упутили овај захтев, једноставно занемарите ову е-пошту. + link_text: > + Ако сте упутили овај захтев, само кликните на линк испод: + issue_text: | + Ако горњи УРЛ не ради, покушајте да га копирате и налепите у прегледач. + Ако и даље будете имали проблема, слободно нас контактирајте. + subject: "Ресетујте упутства за лозинку" + confirmation_instructions: + subject: "Потврдите свој ОФН налог" + payment_mailer: + authorize_payment: + subject: "Овластите своју уплату на %{distributor} на ОФН-у" + instructions: "Ваша уплата %{amount} за %{distributor} захтева додатну аутентификацију. Посетите следећу УРЛ адресу да бисте ауторизовали своју уплату:" + authorization_required: + subject: "За плаћање је потребно овлашћење купца" + message: "За плаћање наруџбе %{order_number} потребно је додатно овлашћење купца. Купац је обавештен путем е-поште и плаћање ће се појавити као на чекању док се не овласти." + shipment_mailer: + shipped_email: + dear_customer: "Драги купац," + instructions: "Ваша поруџбина од %{distributor} је послата" + shipment_summary: "Резиме испоруке" + subject: "Обавештење о испоруци" + thanks: "Хвала за ваш посао." + track_information: "Информације о праћењу: %{tracking}" + track_link: "Веза за праћење: %{url}" + picked_up_instructions: "Ваша поруџбина од %{distributor} је преузета" + picked_up_subject: "Обавештење о преузимању" + test_mailer: + test_email: + greeting: "Честитам!" + message: "Ако сте примили ову е-пошту, онда су ваша подешавања е-поште исправна." + subject: "Тест Маил" + order_state: + address: адреса + adjustments: прилагођавања + awaiting_return: чекајући повратак + canceled: отказан + cart: колица + confirmation: "потврда" + complete: комплетан + confirm: Потврди + delivery: испорука + paused: паузирао + payment: плаћање + pending: нерешен + resumed: настављено + returned: вратио + subscription_state: + active: активни + pending: нерешен + ended: завршио + paused: паузирао + canceled: отказан + paypal: + already_refunded: "Ова уплата је враћена и не могу се предузети даље радње." + no_payment_via_admin_backend: "Тренутно не можете да наплаћујете ПаиПал налоге преко администраторског позадинског система." + transaction: "ПаиПал трансакција" + payer_id: "ИД обвезника" + transaction_id: "ИД трансакције" + token: "Токен" + refund: "Враћање новца" + refund_amount: "Износ" + original_amount: "Оригинални износ: %{amount}" + refund_successful: "ПаиПал рефундирање је успешно" + refund_unsuccessful: "ПаиПал рефундирање није успело" + actions: + refund: "Враћање новца" + flash: + cancel: "Не желите да користите ПаиПал? Нема проблема." + connection_failed: "Повезивање са ПаиПал-ом није успело." + generic_error: "ПаиПал није успео. %{reasons}" + users: + api_keys: + regenerate_key: "Регенерација кључа" + title: АПИ кључ + webhook_endpoints: + title: Вебхоок Ендпоинтс + description: Догађаји у систему могу покренути веб-хукове ка спољним системима. + event_types: + order_cycle_opened: Отворен циклус наруџби + event_type: + header: Тип догађаја + url: + header: УРЛ крајње тачке + create_placeholder: Унесите УРЛ крајње тачке удаљеног веб-хука + developer_settings: + title: Подешавања програмера + form: + account_settings: Подешавања налога + show: + tabs: + developer_settings: Подешавања програмера + orders: Наређења + cards: Кредитне картице + transactions: Трансакције + settings: Подешавања налога + unconfirmed_email: "Чека се потврда е-поште за: %{unconfirmed_email} . Ваша адреса е-поште ће бити ажурирана када се потврди нова адреса е-поште." + orders: + open_orders: Опен Ордерс + past_orders: Претходне наруџбе + transactions: + transaction_history: Трансакције + authorisation_required: Потребно је овлашћење + authorise: Овластити + open_orders: + order: Ред + shop: Схоп + changes_allowed_until: Промене су дозвољене до + items: Предмети + total: Укупно + edit: Уредити + cancel: Поништити, отказати + closed: Затворено + until: Све док + past_orders: + order: Ред + shop: Схоп + completed_at: Завршено у + items: Предмети + total: Укупно + paid?: Плаћено? + status: Статус + completed: Завршено + cancelled: Отказано + saved_cards: + default?: Уобичајено? + delete?: Избрисати? + cards: + authorised_shops: Овлашћене продавнице + authorised_shops_agreement: Ово је листа продавница којима је дозвољено да наплаћују вашу подразумевану кредитну картицу за све претплате (тј. поновљене поруџбине) које можда имате. Подаци о вашој картици ће бити заштићени и неће се делити са власницима продавница. Увек ћете бити обавештени када вам буде наплаћено. Означавањем поља за потврду за продавницу, сагласни сте да овластите ту продавницу да пошаље упутства финансијској институцији која је издала вашу картицу да изврши плаћања у складу са условима било које претплате коју креирате са том продавницом. + saved_cards_popover: Ово је листа картица које сте одлучили да сачувате за каснију употребу. Ваша 'подразумевана' ће бити изабрана аутоматски када извршите наплату поруџбине и може бити наплаћена од стране било које продавнице којој сте то дозволили (види десно). + authorised_shops: + shop_name: "Назив продавнице" + allow_charges?: "Дозволити накнаде за подразумевану картицу?" + no_default_saved_cards_tooltip: Морате да означите једну кредитну картицу као подразумевану да бисте дозволили трошкове. + localized_number: + invalid_format: има неважећи формат. Унесите број. + api: + invalid_api_key: "Наведен је неважећи АПИ кључ ( %{key} )." + unauthorized: "Нисте овлашћени да извршите ту радњу." + invalid_resource: "Неважећи ресурс. Исправите грешке и покушајте поново." + resource_not_found: "Ресурс који сте тражили није пронађен." + access: "АПИ приступ" + key: "Кључ" + clear_key: "Тастер за брисање" + regenerate_key: "Регенерација кључа" + no_key: "Нема кључа" + generate_key: "Генеришите АПИ кључ" + key_generated: "Кључ је генерисан" + key_cleared: "Кључ је избрисан" + shipment: + cannot_ready: "Није могућа спремна пошиљка." + toggle_api_key_view: "Прикажи приказ АПИ кључа за корисника" + activerecord: + models: + spree/payment: + one: Плаћање + few: Плаћања + other: Плаћања + unit: јединица + per_unit: по јединици + datetime: + distance_in_words: + about_x_hours: + one: око 1 сат + few: о %{count} сатима + other: о %{count} сатима + about_x_months: + one: око 1 месец + few: о %{count} месеци + other: о %{count} месеци + about_x_years: + one: око 1 године + few: око %{count} година + other: око %{count} година + almost_x_years: + one: скоро 1 година + few: скоро %{count} година + other: скоро %{count} година + half_a_minute: пола минута + less_than_x_seconds: + one: мање од 1 секунде + few: мање од %{count} секунди + other: мање од %{count} секунди + less_than_x_minutes: + one: мање од једног минута + few: мање од %{count} минута + other: мање од %{count} минута + over_x_years: + one: преко 1 године + few: преко %{count} година + other: преко %{count} година + x_seconds: + one: "1 секунда" + few: "%{count} секунди" + other: "%{count} секунди" + x_minutes: + one: "1 минут" + few: "%{count} минута" + other: "%{count} минута" + x_days: + one: "1 дан" + few: "%{count} дана" + other: "%{count} дана" + x_months: + one: "1 месец" + few: "%{count} месеци" + other: "%{count} месеци" + x_years: + one: "1 година" + few: "%{count} година" + other: "%{count} година" + components: + multiple_checked_select: + filter_placeholder: "Опције филтера" + search_input: + placeholder: Претрага + selector_with_filter: + selected_items: "%{count} изабрано" + search_placeholder: Претрага + pagination: + next: Следећи + previous: Претходна + invisible_captcha: + sentence_for_humans: "Оставите празно" + timestamp_error_message: "Покушајте поново након 5 секунди." diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 7e6b5d26f82..05442a83fa5 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -2547,6 +2547,7 @@ tr: report_header_quantity: miktar report_header_max_quantity: Maksimum Miktar report_header_variant: Çeşit + report_header_variant_unit_name: Çeşit Birim Adı report_header_variant_value: Çeşit Değeri report_header_variant_unit: Çeşit Birimi report_header_total_available: Toplam mevcut diff --git a/config/locales/uk.yml b/config/locales/uk.yml index a26ad1db693..a9bd93e44fe 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -2714,6 +2714,7 @@ uk: report_header_quantity: Кількість report_header_max_quantity: Максимальна кількість report_header_variant: Варіант + report_header_variant_unit_name: Назва варіанта одиниці report_header_variant_value: Значення Варіанту report_header_variant_unit: Варіант одиниці report_header_total_available: Всього доступно diff --git a/db/migrate/20241011071014_update_item_name_to_product_in_od_report.rb b/db/migrate/20241011071014_update_item_name_to_product_in_od_report.rb new file mode 100644 index 00000000000..6344d91188c --- /dev/null +++ b/db/migrate/20241011071014_update_item_name_to_product_in_od_report.rb @@ -0,0 +1,46 @@ +class UpdateItemNameToProductInOdReport < ActiveRecord::Migration[7.0] + class ReportRenderingOptions < ActiveRecord::Base + self.belongs_to_required_by_default = false + + belongs_to :user, class_name: "Spree::User" + serialize :options, Hash, coder: YAML + end + + # OD: Orders and Distributors + def up + # adding subtype filter just to be safe + options = ReportRenderingOptions.where(report_type: 'orders_and_distributors', report_subtype: nil) + + options.find_each do |option| + begin + fields_to_show = option.options[:fields_to_show] + next if fields_to_show&.exclude?('item_name') + + fields_to_show.delete('item_name') + fields_to_show << 'product' + option.save + rescue StandardError => e + puts "Failed to update rendering option with id: #{option.id}" + puts "Error: #{e.message}" + end + end + end + + def down + options = ReportRenderingOptions.where(report_type: 'orders_and_distributors', report_subtype: nil) + + options.find_each do |option| + begin + fields_to_show = option.options[:fields_to_show] + next if fields_to_show&.exclude?('product') + + fields_to_show.delete('product') + fields_to_show << 'item_name' + option.update(options: option.options) + rescue StandardError => e + puts "Failed to revert rendering option with id: #{option.id}" + puts "Error: #{e.message}" + end + end + end +end diff --git a/db/migrate/20241030023153_add_subject_to_semantic_links.rb b/db/migrate/20241030023153_add_subject_to_semantic_links.rb new file mode 100644 index 00000000000..8da1a18a065 --- /dev/null +++ b/db/migrate/20241030023153_add_subject_to_semantic_links.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +# rails g migration AddSubjectToSemanticLinks subject:references{polymorphic} +# +# We want to add links to Exchanges as well as Variants. +# The word subject comes from the triple structure of the Semantic Web: +# +# Subject predicate object (variant has linke URL) +class AddSubjectToSemanticLinks < ActiveRecord::Migration[7.0] + def change + # We allow `null` until we filled the new columns with existing data. + add_reference :semantic_links, :subject, polymorphic: true, null: true + end +end diff --git a/db/migrate/20241030025540_copy_subject_on_semantic_links.rb b/db/migrate/20241030025540_copy_subject_on_semantic_links.rb new file mode 100644 index 00000000000..0ab1ff93377 --- /dev/null +++ b/db/migrate/20241030025540_copy_subject_on_semantic_links.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +class CopySubjectOnSemanticLinks < ActiveRecord::Migration[7.0] + def up + execute <<~SQL.squish + UPDATE semantic_links SET + subject_id = variant_id, + subject_type = 'Spree::Variant' + SQL + end +end diff --git a/db/migrate/20241030033956_change_null_on_semantic_links.rb b/db/migrate/20241030033956_change_null_on_semantic_links.rb new file mode 100644 index 00000000000..bfd8a4c9082 --- /dev/null +++ b/db/migrate/20241030033956_change_null_on_semantic_links.rb @@ -0,0 +1,8 @@ +class ChangeNullOnSemanticLinks < ActiveRecord::Migration[7.0] + def change + change_column_null :semantic_links, :subject_id, false + change_column_null :semantic_links, :subject_type, false + + change_column_null :semantic_links, :variant_id, true + end +end diff --git a/db/schema.rb b/db/schema.rb index 2c262ae152e..be371a9499d 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -401,10 +401,13 @@ end create_table "semantic_links", force: :cascade do |t| - t.bigint "variant_id", null: false + t.bigint "variant_id" t.string "semantic_id", null: false t.datetime "created_at", null: false t.datetime "updated_at", null: false + t.string "subject_type", null: false + t.bigint "subject_id", null: false + t.index ["subject_type", "subject_id"], name: "index_semantic_links_on_subject" t.index ["variant_id"], name: "index_semantic_links_on_variant_id" end diff --git a/docker/README.md b/docker/README.md index c6d3b50a6e1..78285ea587f 100644 --- a/docker/README.md +++ b/docker/README.md @@ -1,9 +1,6 @@ # Docker Scripts -## What's the point? -* Setting up the Open Food Network app on your local machine is quick and easy with the aid of Docker. -* Docker provides a common virtual environment available to all developers and resolves the infamous "but it works on my machine" problem. -* Use the scripts in this directory to execute tasks in Docker. Please note that these scripts are intended to be executed from this app's root directory (/openfoodnetwork). These scripts allow you to bypass the need to keep typing "docker compose run web". +Docker is intended to provide a common virtual environment available to all developers. Please note that it is not commonly used by developers at this time. ## Limitations 1. The docker environment can't directly control your host system browser, which means that browser specs (under `/spec/system/`) and email previews will not work. You may be able to find a solution with [this article](https://evilmartians.com/chronicles/system-of-a-test-setting-up-end-to-end-rails-testing). If so, please contribute! @@ -120,6 +117,8 @@ You may also need to comment out stuff related to Chromedriver and Chrome. Chrom See [#8421](https://github.com/openfoodfoundation/openfoodnetwork/issues/8421) for more info ## Script Summary +Use the scripts in this directory to execute tasks in Docker. Please note that these scripts are intended to be executed from this app's root directory (/openfoodnetwork). These scripts allow you to bypass the need to keep typing "docker compose run web". + * docker/build(.ps1): This script builds the Docker containers specified for this app, seeds the database, and logs the screen output for these operations. After you use "git clone" to download this repository, run the docker/build script to start the setup process. * docker/server(.ps1): Use this script to run this app in the Rails server. This script executes the "docker compose up" command and logs the results. If all goes well, you will be able to view this app on your local browser at http://localhost:3000/. * docker/test(.ps1): Use this script to run the entire test suite. **Note limitation with system specs mentioned above**. diff --git a/engines/dfc_provider/app/services/affiliate_sales_data_row_builder.rb b/engines/dfc_provider/app/services/affiliate_sales_data_row_builder.rb index 073097a04f9..8d50508a636 100644 --- a/engines/dfc_provider/app/services/affiliate_sales_data_row_builder.rb +++ b/engines/dfc_provider/app/services/affiliate_sales_data_row_builder.rb @@ -12,7 +12,10 @@ def initialize(row) def build_supplier DataFoodConsortium::Connector::Enterprise.new( nil, - localizations: [build_address(item[:supplier_postcode])], + localizations: [build_address( + item[:supplier_postcode], + item[:supplier_country] + )], suppliedProducts: [build_product], ) end @@ -20,7 +23,10 @@ def build_supplier def build_distributor DataFoodConsortium::Connector::Enterprise.new( nil, - localizations: [build_address(item[:distributor_postcode])], + localizations: [build_address( + item[:distributor_postcode], + item[:distributor_country] + )], ) end @@ -89,9 +95,10 @@ def build_price ) end - def build_address(postcode) + def build_address(postcode, country) DataFoodConsortium::Connector::Address.new( nil, + country:, postalCode: postcode, ) end diff --git a/engines/dfc_provider/app/services/affiliate_sales_query.rb b/engines/dfc_provider/app/services/affiliate_sales_query.rb index 3193ed5623f..a2a90ad233f 100644 --- a/engines/dfc_provider/app/services/affiliate_sales_query.rb +++ b/engines/dfc_provider/app/services/affiliate_sales_query.rb @@ -38,9 +38,11 @@ def tables JOIN spree_products ON spree_products.id = spree_variants.product_id JOIN enterprises AS suppliers ON suppliers.id = spree_variants.supplier_id JOIN spree_addresses AS supplier_addresses ON supplier_addresses.id = suppliers.address_id + JOIN spree_countries AS supplier_countries ON supplier_countries.id = supplier_addresses.country_id JOIN spree_orders ON spree_orders.id = spree_line_items.order_id JOIN enterprises AS distributors ON distributors.id = spree_orders.distributor_id JOIN spree_addresses AS distributor_addresses ON distributor_addresses.id = distributors.address_id + JOIN spree_countries AS distributor_countries ON distributor_countries.id = distributor_addresses.country_id SQL end @@ -53,7 +55,9 @@ def fields spree_variants.unit_presentation, spree_line_items.price, distributor_addresses.zipcode AS distributor_postcode, + distributor_countries.name AS distributor_country, supplier_addresses.zipcode AS supplier_postcode, + supplier_countries.name AS supplier_country, SUM(spree_line_items.quantity) AS quantity_sold SQL @@ -68,7 +72,9 @@ def key_fields spree_variants.unit_presentation, spree_line_items.price, distributor_postcode, - supplier_postcode + supplier_postcode, + distributor_country, + supplier_country SQL end @@ -82,7 +88,9 @@ def labels unit_presentation price distributor_postcode + distributor_country supplier_postcode + supplier_country quantity_sold ] end diff --git a/engines/dfc_provider/spec/services/affiliate_sales_query_spec.rb b/engines/dfc_provider/spec/services/affiliate_sales_query_spec.rb index 4ae4b919544..7bb431cb065 100644 --- a/engines/dfc_provider/spec/services/affiliate_sales_query_spec.rb +++ b/engines/dfc_provider/spec/services/affiliate_sales_query_spec.rb @@ -53,9 +53,15 @@ it "converts an array to a hash" do row = [ "Apples", - "item", "item", nil, nil, + "item", + "item", + nil, + nil, 15.50, - "3210", "3211", + "3210", + "country1", + "3211", + "country2", 3, ] expect(query.label_row(row)).to eq( @@ -67,7 +73,9 @@ unit_presentation: nil, price: 15.50, distributor_postcode: "3210", + distributor_country: "country1", supplier_postcode: "3211", + supplier_country: "country2", quantity_sold: 3, } ) diff --git a/lib/reporting/reports/list.rb b/lib/reporting/reports/list.rb index a2dd38efc32..95d5b38abfa 100644 --- a/lib/reporting/reports/list.rb +++ b/lib/reporting/reports/list.rb @@ -3,6 +3,8 @@ module Reporting module Reports class List + include ReportTypes + def self.all new.all end @@ -22,98 +24,9 @@ def all xero_invoices: xero_report_types, packing: packing_report_types, revenues_by_hub: [], + suppliers: suppliers_report_types, } end - - protected - - def orders_and_fulfillment_report_types - [ - [i18n_translate("supplier_totals"), :order_cycle_supplier_totals], - [i18n_translate("supplier_totals_by_distributor"), - :order_cycle_supplier_totals_by_distributor], - [i18n_translate("totals_by_supplier"), :order_cycle_distributor_totals_by_supplier], - [i18n_translate("customer_totals"), :order_cycle_customer_totals] - ] - end - - def products_and_inventory_report_types - [ - [i18n_translate("all_products"), :all_products], - [i18n_translate("inventory"), :inventory, { deprecated: true }], - [i18n_translate("lettuce_share"), :lettuce_share] - ] - end - - def payments_report_types - [ - [I18n.t(:report_payment_by), :payments_by_payment_type], - [I18n.t(:report_itemised_payment), :itemised_payment_totals], - [I18n.t(:report_payment_totals), :payment_totals] - ] - end - - def enterprise_fee_summary - [ - [i18n_translate('enterprise_fee_summary.name'), :fee_summary], - [ - i18n_translate('enterprise_fees_with_tax_report_by_order'), - :enterprise_fees_with_tax_report_by_order - ], - [ - i18n_translate('enterprise_fees_with_tax_report_by_producer'), - :enterprise_fees_with_tax_report_by_producer - ], - ] - end - - def order_cycle_management_report_types - [ - [i18n_translate("payment_methods"), :payment_methods], - [i18n_translate("delivery"), :delivery] - ] - end - - def sales_tax_report_types - [ - [i18n_translate("tax_types"), :tax_types], - [i18n_translate("tax_rates"), :tax_rates], - [i18n_translate("sales_tax_totals_by_producer"), :sales_tax_totals_by_producer], - [i18n_translate("sales_tax_totals_by_order"), :sales_tax_totals_by_order] - ] - end - - def packing_report_types - [ - [i18n_translate("pack_by_customer"), :customer], - [i18n_translate("pack_by_supplier"), :supplier], - [i18n_translate("pack_by_product"), :product] - ] - end - - def xero_report_types - [ - [I18n.t(:summary), 'summary'], - [I18n.t(:detailed), 'detailed'] - ] - end - - def bulk_coop_report_types - [ - bulk_coop_item(:supplier_report), - bulk_coop_item(:allocation), - bulk_coop_item(:packing_sheets), - bulk_coop_item(:customer_payments) - ] - end - - def bulk_coop_item(key) - [I18n.t("order_management.reports.bulk_coop.filters.bulk_coop_#{key}"), key] - end - - def i18n_translate(key) - I18n.t(key, scope: "admin.reports") - end end end end diff --git a/lib/reporting/reports/orders_and_distributors/base.rb b/lib/reporting/reports/orders_and_distributors/base.rb index 47a389de41a..73e49a2763a 100644 --- a/lib/reporting/reports/orders_and_distributors/base.rb +++ b/lib/reporting/reports/orders_and_distributors/base.rb @@ -14,8 +14,8 @@ def columns customer_phone: proc { |line_item| line_item.order.bill_address.phone }, customer_city: proc { |line_item| line_item.order.bill_address.city }, sku: proc { |line_item| line_item.product.sku }, - item_name: proc { |line_item| line_item.product.name }, - variant: proc { |line_item| line_item.unit_to_display }, + product: proc { |line_item| line_item.product.name }, + variant: proc { |line_item| line_item.full_name }, quantity: proc { |line_item| line_item.quantity }, max_quantity: proc { |line_item| line_item.max_quantity }, cost: proc { |line_item| line_item.price * line_item.quantity }, diff --git a/lib/reporting/reports/report_types.rb b/lib/reporting/reports/report_types.rb new file mode 100644 index 00000000000..d68225722ea --- /dev/null +++ b/lib/reporting/reports/report_types.rb @@ -0,0 +1,103 @@ +# frozen_string_literal: true + +module Reporting + module Reports + module ReportTypes + protected + + def orders_and_fulfillment_report_types + [ + [i18n_translate("supplier_totals"), :order_cycle_supplier_totals], + [i18n_translate("supplier_totals_by_distributor"), + :order_cycle_supplier_totals_by_distributor], + [i18n_translate("totals_by_supplier"), :order_cycle_distributor_totals_by_supplier], + [i18n_translate("customer_totals"), :order_cycle_customer_totals] + ] + end + + def products_and_inventory_report_types + [ + [i18n_translate("all_products"), :all_products], + [i18n_translate("inventory"), :inventory, { deprecated: true }], + [i18n_translate("lettuce_share"), :lettuce_share] + ] + end + + def payments_report_types + [ + [I18n.t(:report_payment_by), :payments_by_payment_type], + [I18n.t(:report_itemised_payment), :itemised_payment_totals], + [I18n.t(:report_payment_totals), :payment_totals] + ] + end + + def enterprise_fee_summary + [ + [i18n_translate('enterprise_fee_summary.name'), :fee_summary], + [ + i18n_translate('enterprise_fees_with_tax_report_by_order'), + :enterprise_fees_with_tax_report_by_order + ], + [ + i18n_translate('enterprise_fees_with_tax_report_by_producer'), + :enterprise_fees_with_tax_report_by_producer + ], + ] + end + + def order_cycle_management_report_types + [ + [i18n_translate("payment_methods"), :payment_methods], + [i18n_translate("delivery"), :delivery] + ] + end + + def sales_tax_report_types + [ + [i18n_translate("tax_types"), :tax_types], + [i18n_translate("tax_rates"), :tax_rates], + [i18n_translate("sales_tax_totals_by_producer"), :sales_tax_totals_by_producer], + [i18n_translate("sales_tax_totals_by_order"), :sales_tax_totals_by_order] + ] + end + + def packing_report_types + [ + [i18n_translate("pack_by_customer"), :customer], + [i18n_translate("pack_by_supplier"), :supplier], + [i18n_translate("pack_by_product"), :product] + ] + end + + def xero_report_types + [ + [I18n.t(:summary), 'summary'], + [I18n.t(:detailed), 'detailed'] + ] + end + + def bulk_coop_report_types + [ + bulk_coop_item(:supplier_report), + bulk_coop_item(:allocation), + bulk_coop_item(:packing_sheets), + bulk_coop_item(:customer_payments) + ] + end + + def suppliers_report_types + [ + [i18n_translate(:pay_your_suppliers), :pay_your_suppliers] + ] + end + + def bulk_coop_item(key) + [I18n.t("order_management.reports.bulk_coop.filters.bulk_coop_#{key}"), key] + end + + def i18n_translate(key) + I18n.t(key, scope: "admin.reports") + end + end + end +end diff --git a/lib/reporting/reports/suppliers/base.rb b/lib/reporting/reports/suppliers/base.rb new file mode 100644 index 00000000000..f6723ffdc89 --- /dev/null +++ b/lib/reporting/reports/suppliers/base.rb @@ -0,0 +1,99 @@ +# frozen_string_literal: true + +module Reporting + module Reports + module Suppliers + class Base < ReportTemplate + include Helpers::ColumnsHelper + + def default_params + { + q: { + completed_at_gt: 1.month.ago.beginning_of_day, + completed_at_lt: 1.day.from_now.beginning_of_day + } + } + end + + def search + report_line_items.orders + end + + def query_result + report_line_items.list(line_item_includes) + end + + def columns + { + producer:, + producer_address:, + producer_abn_acn:, + email:, + hub:, + hub_address:, + hub_contact_email:, + order_number:, + order_date:, + order_cycle:, + order_cycle_start_date:, + order_cycle_end_date:, + product:, + variant_unit_name:, + quantity:, + total_excl_fees_and_tax:, + total_excl_vat:, + total_fees_excl_tax:, + total_tax_on_fees:, + total_tax:, + total:, + } + end + + def rules + [ + { + group_by: :producer, + header: true, + summary_row: proc do |_key, line_items| + summary_hash = Hash.new(0) + + line_items.each do |line_item| + summary_hash[:total_excl_fees_and_tax] += total_excl_fees_and_tax.call(line_item) + summary_hash[:total_excl_vat] += total_excl_vat.call(line_item) + summary_hash[:total_fees_excl_tax] += total_fees_excl_tax.call(line_item) + summary_hash[:total_tax_on_fees] += total_tax_on_fees.call(line_item) + summary_hash[:total_tax] += total_tax.call(line_item) + summary_hash[:total] += total.call(line_item) + end + + summary_hash + end + } + ] + end + + private + + def order_permissions + return @order_permissions unless @order_permissions.nil? + + @order_permissions = ::Permissions::Order.new(@user, ransack_params) + end + + def report_line_items + @report_line_items ||= Reporting::LineItems.new(order_permissions, params) + end + + def line_item_includes + [{ + order: [ + :distributor, + :adjustments, + ], + variant: [:product, :supplier] + }] + end + end + end + end +end diff --git a/lib/reporting/reports/suppliers/helpers/columns_helper.rb b/lib/reporting/reports/suppliers/helpers/columns_helper.rb new file mode 100644 index 00000000000..2405a5442aa --- /dev/null +++ b/lib/reporting/reports/suppliers/helpers/columns_helper.rb @@ -0,0 +1,122 @@ +# frozen_string_literal: true + +module Reporting + module Reports + module Suppliers + module Helpers + module ColumnsHelper + include LineItemsAccessHelper + + def producer + proc { |line_item| supplier(line_item).name } + end + + def producer_address + proc { |line_item| supplier(line_item).address&.full_address } + end + + def producer_abn_acn + proc do |line_items| + supplier = supplier(line_items) + # return nil if both abn and acn are nil so that it can be converted to "none" + [supplier.abn, supplier.acn].compact_blank.join("/").presence + end + end + + def email + proc { |line_item| supplier(line_item).email_address } + end + + def hub + proc { |line_item| distributor(line_item).name } + end + + def hub_address + proc { |line_item| distributor(line_item).address&.full_address } + end + + def hub_contact_email + proc { |line_item| distributor(line_item).email_address } + end + + def order_number + proc { |line_item| order(line_item).number } + end + + def order_date + proc { |line_item| order(line_item).completed_at.to_date } + end + + def order_cycle + proc { |line_item| item_order_cycle(line_item).name } + end + + def order_cycle_start_date + proc { |line_item| item_order_cycle(line_item).orders_open_at.to_date } + end + + def order_cycle_end_date + proc { |line_item| item_order_cycle(line_item).orders_close_at.to_date } + end + + def product + proc { |line_item| variant(line_item).product.name } + end + + def variant_unit_name + proc { |line_item| variant(line_item).full_name } + end + + def quantity + proc { |line_item| line_item.quantity } + end + + def total_excl_fees_and_tax + proc do |line_item| + included_tax = adjustments_by_type(line_item, :tax, included: true) + line_item.amount - included_tax + end + end + + def total_excl_vat + proc do |line_item| + total_fees = adjustments_by_type(line_item, :fees) + total_excl_fees_and_tax.call(line_item) + total_fees + end + end + + def total_fees_excl_tax + proc do |line_item| + included_tax = tax_on_fees(line_item, included: true) + adjustments_by_type(line_item, :fees) - included_tax + end + end + + def total_tax_on_fees + proc { |line_item| tax_on_fees(line_item) + tax_on_fees(line_item, included: true) } + end + + def total_tax + proc do |line_item| + excluded_tax = adjustments_by_type(line_item, :tax) + included_tax = adjustments_by_type(line_item, :tax, included: true) + + excluded_tax + included_tax + end + end + + def total + proc do |line_item| + total_price = total_excl_fees_and_tax.call(line_item) + total_fees = total_fees_excl_tax.call(line_item) + total_fees_tax = total_tax_on_fees.call(line_item) + tax = total_tax.call(line_item) + + total_price + total_fees + total_fees_tax + tax + end + end + end + end + end + end +end diff --git a/lib/reporting/reports/suppliers/helpers/line_items_access_helper.rb b/lib/reporting/reports/suppliers/helpers/line_items_access_helper.rb new file mode 100644 index 00000000000..3152cac7dd0 --- /dev/null +++ b/lib/reporting/reports/suppliers/helpers/line_items_access_helper.rb @@ -0,0 +1,66 @@ +# frozen_string_literal: true + +module Reporting + module Reports + module Suppliers + module Helpers + module LineItemsAccessHelper + def variant(line_item) + line_item.variant + end + + def order(line_item) + line_item.order + end + + def supplier(line_item) + variant(line_item).supplier + end + + def distributor(line_item) + order(line_item).distributor + end + + def item_order_cycle(line_item) + line_item.order_cycle + end + + def suppliers_adjustments(line_item, adjustment_type = 'EnterpriseFee') + adjustments = line_item.adjustments + return adjustments.tax if adjustment_type == 'Spree::TaxRate' + + supplier_id = line_item.supplier_id + adjustments.enterprise_fee.select do |adjustment| + label = adjustment.label + adjustment_enterprise_id = adjustment.originator.enterprise_id + label.include?('supplier') && adjustment_enterprise_id == supplier_id + end + end + + def adjustments_by_type(line_item, type, included: false) + total_amount = 0.0 + adjustment_type = type == :tax ? 'Spree::TaxRate' : 'EnterpriseFee' + suppliers_adjustments(line_item, adjustment_type).each do |adjustment| + amount = included == adjustment.included ? adjustment.amount : 0.0 + total_amount += amount + end + + total_amount + end + + def tax_on_fees(line_item, included: false) + total_amount = 0.0 + suppliers_adjustments(line_item).each do |adjustment| + adjustment.adjustments.tax.each do |fee_adjustment| + amount = included == fee_adjustment.included ? fee_adjustment.amount : 0.0 + total_amount += amount + end + end + + total_amount + end + end + end + end + end +end diff --git a/spec/factories/report_rendering_options_factory.rb b/spec/factories/report_rendering_options_factory.rb new file mode 100644 index 00000000000..928656af30e --- /dev/null +++ b/spec/factories/report_rendering_options_factory.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +FactoryBot.define do + factory :orders_and_distributors_options, class: ReportRenderingOptions do + report_type { "orders_and_distributors" } + end +end diff --git a/spec/fixtures/vcr_cassettes/ConnectAppJob/stores_connection_data_on_the_app.yml b/spec/fixtures/vcr_cassettes/ConnectAppJob/stores_connection_data_on_the_app.yml index 8c4981bae74..feffd45b174 100644 --- a/spec/fixtures/vcr_cassettes/ConnectAppJob/stores_connection_data_on_the_app.yml +++ b/spec/fixtures/vcr_cassettes/ConnectAppJob/stores_connection_data_on_the_app.yml @@ -6,7 +6,7 @@ http_interactions: body: encoding: UTF-8 string: '{"id":"c9f0e82a-f200-4c1a-9aa2-3a3a63c7acba","at":"2024-04-05 15:30:57 - +1100","event":"connect-app","data":{"@id":"http://test.host/api/dfc/enterprises/3","access_token":""}}' + +1100","event":"connect-app","data":{"@id":"http://test.host/api/dfc/enterprises/3","access_token":""}}' headers: User-Agent: - openfoodnetwork_webhook/1.0 @@ -39,6 +39,6 @@ http_interactions: - 1; mode=block body: encoding: UTF-8 - string: '{"link":"https://example.net/update","destroy":"https://n8n.openfoodnetwork.org.uk/webhook/remove-enterprise?id=recjBXXXXXXXXXXXX&key="}' + string: '{"link":"https://example.net/update","destroy":"https://n8n.openfoodnetwork.org.uk/webhook/remove-enterprise?id=recjBXXXXXXXXXXXX&key=12345"}' recorded_at: Fri, 05 Apr 2024 04:30:58 GMT recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/FdcBackorderer/creates_finds_and_updates_orders.yml b/spec/fixtures/vcr_cassettes/FdcBackorderer/creates_finds_and_updates_orders.yml index 0c7d565a9bf..2ca853f12e9 100644 --- a/spec/fixtures/vcr_cassettes/FdcBackorderer/creates_finds_and_updates_orders.yml +++ b/spec/fixtures/vcr_cassettes/FdcBackorderer/creates_finds_and_updates_orders.yml @@ -25,7 +25,7 @@ http_interactions: Server: - openresty Date: - - Fri, 06 Sep 2024 05:44:15 GMT + - Thu, 31 Oct 2024 06:34:03 GMT Content-Type: - application/json; charset=utf-8 Content-Length: @@ -43,7 +43,7 @@ http_interactions: body: encoding: UTF-8 string: '{"message":"User access denied - token missing","error":"User not authorized"}' - recorded_at: Fri, 06 Sep 2024 05:44:16 GMT + recorded_at: Thu, 31 Oct 2024 06:34:04 GMT - request: method: get uri: https://login.lescommuns.org/auth/realms/data-food-consortium/.well-known/openid-configuration @@ -63,7 +63,7 @@ http_interactions: message: OK headers: Date: - - Fri, 06 Sep 2024 05:44:17 GMT + - Thu, 31 Oct 2024 06:34:05 GMT Content-Type: - application/json;charset=UTF-8 Transfer-Encoding: @@ -73,7 +73,7 @@ http_interactions: Vary: - Accept-Encoding Set-Cookie: - - AUTH_SESSION_ID=1725601458.786.64659.94457|78230f584c0d7db97d376e98de5321dc; + - AUTH_SESSION_ID=1730356446.757.136668.8647|78230f584c0d7db97d376e98de5321dc; Path=/; Secure; HttpOnly Cache-Control: - no-cache, must-revalidate, no-transform, no-store @@ -91,7 +91,7 @@ http_interactions: encoding: ASCII-8BIT string: '{"issuer":"https://login.lescommuns.org/auth/realms/data-food-consortium","authorization_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/auth","token_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/token","introspection_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/token/introspect","userinfo_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/userinfo","end_session_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/logout","frontchannel_logout_session_supported":true,"frontchannel_logout_supported":true,"jwks_uri":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/certs","check_session_iframe":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/login-status-iframe.html","grant_types_supported":["authorization_code","implicit","refresh_token","password","client_credentials","urn:openid:params:grant-type:ciba","urn:ietf:params:oauth:grant-type:device_code"],"acr_values_supported":["0","1"],"response_types_supported":["code","none","id_token","token","id_token token","code id_token","code token","code id_token token"],"subject_types_supported":["public","pairwise"],"id_token_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512"],"id_token_encryption_alg_values_supported":["RSA-OAEP","RSA-OAEP-256","RSA1_5"],"id_token_encryption_enc_values_supported":["A256GCM","A192GCM","A128GCM","A128CBC-HS256","A192CBC-HS384","A256CBC-HS512"],"userinfo_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512","none"],"userinfo_encryption_alg_values_supported":["RSA-OAEP","RSA-OAEP-256","RSA1_5"],"userinfo_encryption_enc_values_supported":["A256GCM","A192GCM","A128GCM","A128CBC-HS256","A192CBC-HS384","A256CBC-HS512"],"request_object_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512","none"],"request_object_encryption_alg_values_supported":["RSA-OAEP","RSA-OAEP-256","RSA1_5"],"request_object_encryption_enc_values_supported":["A256GCM","A192GCM","A128GCM","A128CBC-HS256","A192CBC-HS384","A256CBC-HS512"],"response_modes_supported":["query","fragment","form_post","query.jwt","fragment.jwt","form_post.jwt","jwt"],"registration_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/clients-registrations/openid-connect","token_endpoint_auth_methods_supported":["private_key_jwt","client_secret_basic","client_secret_post","tls_client_auth","client_secret_jwt"],"token_endpoint_auth_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512"],"introspection_endpoint_auth_methods_supported":["private_key_jwt","client_secret_basic","client_secret_post","tls_client_auth","client_secret_jwt"],"introspection_endpoint_auth_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512"],"authorization_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512"],"authorization_encryption_alg_values_supported":["RSA-OAEP","RSA-OAEP-256","RSA1_5"],"authorization_encryption_enc_values_supported":["A256GCM","A192GCM","A128GCM","A128CBC-HS256","A192CBC-HS384","A256CBC-HS512"],"claims_supported":["aud","sub","iss","auth_time","name","given_name","family_name","preferred_username","email","acr"],"claim_types_supported":["normal"],"claims_parameter_supported":true,"scopes_supported":["openid","microprofile-jwt","phone","roles","profile","email","address","web-origins","acr","offline_access"],"request_parameter_supported":true,"request_uri_parameter_supported":true,"require_request_uri_registration":true,"code_challenge_methods_supported":["plain","S256"],"tls_client_certificate_bound_access_tokens":true,"revocation_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/revoke","revocation_endpoint_auth_methods_supported":["private_key_jwt","client_secret_basic","client_secret_post","tls_client_auth","client_secret_jwt"],"revocation_endpoint_auth_signing_alg_values_supported":["PS384","ES384","RS384","HS256","HS512","ES256","RS256","HS384","ES512","PS256","PS512","RS512"],"backchannel_logout_supported":true,"backchannel_logout_session_supported":true,"device_authorization_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/auth/device","backchannel_token_delivery_modes_supported":["poll","ping"],"backchannel_authentication_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/ext/ciba/auth","backchannel_authentication_request_signing_alg_values_supported":["PS384","ES384","RS384","ES256","RS256","ES512","PS256","PS512","RS512"],"require_pushed_authorization_requests":false,"pushed_authorization_request_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/ext/par/request","mtls_endpoint_aliases":{"token_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/token","revocation_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/revoke","introspection_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/token/introspect","device_authorization_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/auth/device","registration_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/clients-registrations/openid-connect","userinfo_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/userinfo","pushed_authorization_request_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/ext/par/request","backchannel_authentication_endpoint":"https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/ext/ciba/auth"},"authorization_response_iss_parameter_supported":true}' - recorded_at: Fri, 06 Sep 2024 05:44:18 GMT + recorded_at: Thu, 31 Oct 2024 06:34:05 GMT - request: method: post uri: https://login.lescommuns.org/auth/realms/data-food-consortium/protocol/openid-connect/token @@ -115,7 +115,7 @@ http_interactions: message: OK headers: Date: - - Fri, 06 Sep 2024 05:44:19 GMT + - Thu, 31 Oct 2024 06:34:06 GMT Content-Type: - application/json Transfer-Encoding: @@ -125,7 +125,7 @@ http_interactions: Vary: - Accept-Encoding Set-Cookie: - - AUTH_SESSION_ID=1725601459.96.379030.378403|78230f584c0d7db97d376e98de5321dc; + - AUTH_SESSION_ID=1730356447.967.31343.768407|78230f584c0d7db97d376e98de5321dc; Path=/; Secure; HttpOnly Cache-Control: - no-store @@ -143,9 +143,9 @@ http_interactions: - 1; mode=block body: encoding: ASCII-8BIT - string: '{"access_token":"","expires_in":1800,"refresh_expires_in":31441735,"refresh_token":"","token_type":"Bearer","id_token":"","not-before-policy":0,"session_state":"78c74723-7be8-4383-a612-ad9e0bd2ddf9","scope":"openid - profile email"}' - recorded_at: Fri, 06 Sep 2024 05:44:19 GMT + string: '{"access_token":"","expires_in":1800,"refresh_expires_in":0,"refresh_token":"","token_type":"Bearer","id_token":"","not-before-policy":0,"session_state":"c2483b2c-607e-4996-9f5e-9ef85176ff75","scope":"openid + profile email offline_access"}' + recorded_at: Thu, 31 Oct 2024 06:34:07 GMT - request: method: get uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders @@ -171,11 +171,11 @@ http_interactions: Server: - openresty Date: - - Fri, 06 Sep 2024 05:44:21 GMT + - Thu, 31 Oct 2024 06:34:09 GMT Content-Type: - application/json; charset=utf-8 Content-Length: - - '1324' + - '21559' Connection: - keep-alive X-Powered-By: @@ -183,19 +183,19 @@ http_interactions: Access-Control-Allow-Origin: - "*" Pageinfo: - - '{"hasPreviousPage":false,"hasNextPage":false,"startCursor":"eyJsYXN0X2lkIjoxMTQ5MTQ0NDk4NDgzLCJsYXN0X3ZhbHVlIjoxMTQ5MTQ0NDk4NDgzfQ==","endCursor":"eyJsYXN0X2lkIjoxMTc1MzI1MjQ1NzQ3LCJsYXN0X3ZhbHVlIjoxMTc1MzI1MjQ1NzQ3fQ=="}' + - '{"hasPreviousPage":false,"hasNextPage":false,"startCursor":"eyJsYXN0X2lkIjoxMTc1MjAzNDE0MzIzLCJsYXN0X3ZhbHVlIjoxMTc1MjAzNDE0MzIzfQ==","endCursor":"eyJsYXN0X2lkIjoxMTgyNzY5NDE0NDUxLCJsYXN0X3ZhbHVlIjoxMTgyNzY5NDE0NDUxfQ=="}' Etag: - - W/"52c-LM/fjdRFee8j2mcKTcUxrdpTpvQ" + - W/"5437-tOuQZzXNY3qnPCj2a7oJAf1qoz8" Set-Cookie: - SRVGROUP=common; path=/; HttpOnly X-Resolver-Ip: - - 185.172.100.60 + - 185.172.100.59 Strict-Transport-Security: - max-age=15811200 body: encoding: UTF-8 - string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b198","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747/orderLines/133"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747/orderLines/133","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b198"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635","@type":"dfc-b:SuppliedProduct"}]}' - recorded_at: Fri, 06 Sep 2024 05:44:21 GMT + string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b120493","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"_:b120494","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"_:b120495","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"_:b120496","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120497","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120498","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120499","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"23.95"},{"@id":"_:b120500","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120501","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120502","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120503","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"3.99"},{"@id":"_:b120504","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120505","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"23.95"},{"@id":"_:b120506","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120507","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"23.95"},{"@id":"_:b120508","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120509","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"23.95"},{"@id":"_:b120510","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"6.25"},{"@id":"_:b120511","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"6.25"},{"@id":"_:b120512","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"6.25"},{"@id":"_:b120513","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"6.25"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259","@type":["dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer"],"dfc-b:offeredItem":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635","@type":["dfc-b:Offer","dfc-b:Offer","dfc-b:Offer"],"dfc-b:offeredItem":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403","@type":["dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer"],"dfc-b:offeredItem":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468400947","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468433715","@type":["dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer"],"dfc-b:offeredItem":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468433715"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468433715"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468433715"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468433715"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747/orderLines/133"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747/orderLines/133","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b120493"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175937679667","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175937679667/orderLines/143"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175937679667/orderLines/143","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b120494"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175938695475","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175938695475/orderLines/146"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175938695475/orderLines/146","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b120495"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176057348403","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176057348403/orderLines/151"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176057348403/orderLines/151","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120496"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176063607091","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176063607091/orderLines/157"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176063607091/orderLines/157","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120497"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176168825139","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176169546035","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Fulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779/orderLines/164"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779/orderLines/165"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779/orderLines/164","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120498"},"dfc-b:quantity":"2"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779/orderLines/165","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468433715"},"dfc-b:hasPrice":{"@id":"_:b120499"},"dfc-b:quantity":"2"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176935760179","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176935760179/orderLines/168"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176935760179/orderLines/168","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120500"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1177414697267","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1177414697267/orderLines/172"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1177414697267/orderLines/172","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120501"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/196"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/197"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/196","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120502"},"dfc-b:quantity":"2"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/197","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468400947"},"dfc-b:hasPrice":{"@id":"_:b120503"},"dfc-b:quantity":"7"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181073572147","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181073572147/orderLines/262"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181073572147/orderLines/263"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181073572147/orderLines/262","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120504"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181073572147/orderLines/263","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468433715"},"dfc-b:hasPrice":{"@id":"_:b120505"},"dfc-b:quantity":"5"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181074030899","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181074030899/orderLines/266"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181074030899/orderLines/267"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181074030899/orderLines/266","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120506"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181074030899/orderLines/267","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468433715"},"dfc-b:hasPrice":{"@id":"_:b120507"},"dfc-b:quantity":"5"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181077406003","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181077406003/orderLines/278"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181077406003/orderLines/279"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181077406003/orderLines/278","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120508"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181077406003/orderLines/279","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468433715"},"dfc-b:hasPrice":{"@id":"_:b120509"},"dfc-b:quantity":"5"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182767808819","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182767808819/orderLines/363"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182767808819/orderLines/363","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259"},"dfc-b:hasPrice":{"@id":"_:b120510"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182768267571","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182768267571/orderLines/365"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182768267571/orderLines/365","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259"},"dfc-b:hasPrice":{"@id":"_:b120511"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182768890163","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182768890163/orderLines/367"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182768890163/orderLines/367","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259"},"dfc-b:hasPrice":{"@id":"_:b120512"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182769414451","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182769414451/orderLines/369"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182769414451/orderLines/369","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259"},"dfc-b:hasPrice":{"@id":"_:b120513"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259","@type":["dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct"]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635","@type":["dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct"]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403","@type":["dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct"]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947","@type":"dfc-b:SuppliedProduct"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468433715","@type":["dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct"]}]}' + recorded_at: Thu, 31 Oct 2024 06:34:09 GMT - request: method: get uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts @@ -221,11 +221,11 @@ http_interactions: Server: - openresty Date: - - Fri, 06 Sep 2024 05:44:23 GMT + - Thu, 31 Oct 2024 06:34:11 GMT Content-Type: - text/html; charset=utf-8 Content-Length: - - '20885' + - '77247' Connection: - keep-alive X-Powered-By: @@ -233,57 +233,44 @@ http_interactions: Access-Control-Allow-Origin: - "*" Etag: - - W/"5195-x3uZXz5D2TYYsF30Z/j5bQRqxEo" + - W/"12dbf-4PtQJemKsRO2Mk9zhk11WZ69K+8" Set-Cookie: - SRVGROUP=common; path=/; HttpOnly X-Resolver-Ip: - - 185.172.100.59 + - 185.172.100.60 Strict-Transport-Security: - max-age=15811200 body: encoding: ASCII-8BIT string: !binary |- - eyJAY29udGV4dCI6Imh0dHBzOi8vd3d3LmRhdGFmb29kY29uc29ydGl1bS5vcmciLCJAZ3JhcGgiOlt7IkBpZCI6Il86YjE5OSIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjAuNCJ9LHsiQGlkIjoiXzpiMjAwIiwiQHR5cGUiOiJkZmMtYjpQcmljZSIsImRmYy1iOlZBVHJhdGUiOiIwIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOkV1cm8iLCJkZmMtYjp2YWx1ZSI6IjIuMDkifSx7IkBpZCI6Il86YjIwMSIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjAuMyJ9LHsiQGlkIjoiXzpiMjAyIiwiQHR5cGUiOiJkZmMtYjpQcmljZSIsImRmYy1iOlZBVHJhdGUiOiIwIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOkV1cm8iLCJkZmMtYjp2YWx1ZSI6IjMuOTkifSx7IkBpZCI6Il86YjIwMyIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjQuOCJ9LHsiQGlkIjoiXzpiMjA0IiwiQHR5cGUiOiJkZmMtYjpQcmljZSIsImRmYy1iOlZBVHJhdGUiOiIwIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOkV1cm8iLCJkZmMtYjp2YWx1ZSI6IjE4Ljg1In0seyJAaWQiOiJfOmIyMDUiLCJAdHlwZSI6ImRmYy1iOlF1YW50aXRhdGl2ZVZhbHVlIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOktpbG9ncmFtIiwiZGZjLWI6dmFsdWUiOiIyLjQifSx7IkBpZCI6Il86YjIwNiIsIkB0eXBlIjoiZGZjLWI6UHJpY2UiLCJkZmMtYjpWQVRyYXRlIjoiMCIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpFdXJvIiwiZGZjLWI6dmFsdWUiOiIyMy45NSJ9LHsiQGlkIjoiXzpiMjA3IiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQaWVjZSIsImRmYy1iOnZhbHVlIjoiMTIifSx7IkBpZCI6Il86YjIwOCIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06UGllY2UiLCJkZmMtYjp2YWx1ZSI6IjEifSx7IkBpZCI6Il86YjIwOSIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06UGllY2UiLCJkZmMtYjp2YWx1ZSI6IjgifSx7IkBpZCI6Il86YjIxMCIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06UGllY2UiLCJkZmMtYjp2YWx1ZSI6IjEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNSIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHIgc3R5bGU9XCJib3JkZXI6IDBweDtcIj5cbjx0ZCBiZ2NvbG9yPVwiI2Q2ZmJlZFwiIHN0eWxlPVwiY29sb3I6ICMwMDAwMDA7IGJvcmRlcjogMHB4O1wiPjxzdHJvbmc+VGhleSdyZSBiYWNrITwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPC90Ym9keT5cbjwvdGFibGU+XG48cD48c3Ryb25nPlRoaW5rIGJha2VkIGJlYW5zIGFyZSBCcml0aXNoPyBUaGV5IGFyZSBub3chIFdlIHVzZSBvbmx5IEJyaXRpc2gtZ3Jvd24gZmF2YSBiZWFucyAtIEJyaXRhaW4ncyBvcmlnaW5hbCBiZWFuLCBncm93biBoZXJlIHNpbmNlIHRoZSBJcm9uIEFnZS4gT3VyIEJha2VkIEJyaXRpc2ggQmVhbnMgYXJlIGRlbGljaW91c2x5IGRpZmZlcmVudCwgd2l0aCBsYXJnZSBtZWF0eSBmYXZhIGJlYW5zIGluIGEgdGFzdHkgdG9tYXRvIHNhdWNlLjwvc3Ryb25nPjwvcD5cbjxwPjxzdHJvbmc+PGEgdGl0bGU9XCJXaGF0IGFyZSBmYXZhIGJlYW5zPyBBcmVuJ3QgdGhleSBqdXN0IGJyb2FkIGJlYW5zP1wiIGhyZWY9XCIvYmxvZ3MvbmV3cy93aGF0LWFyZS1mYXZhLWJlYW5zLWFyZS10aGV5LWp1c3QtYnJvYWQtYmVhbnNcIiBkYXRhLW1jZS1mcmFnbWVudD1cIjFcIiBkYXRhLW1jZS1ocmVmPVwiL2Jsb2dzL25ld3Mvd2hhdC1hcmUtZmF2YS1iZWFucy1hcmUtdGhleS1qdXN0LWJyb2FkLWJlYW5zXCI+V2hhdCBhcmUgZmF2YSBiZWFucz8gRmluZCBvdXQgaGVyZS4uLjwvYT48L3N0cm9uZz48L3A+XG48IS0tIHNwbGl0IC0tPjxoMz5Db21wbGV0ZSBQcm9kdWN0IERldGFpbHM8L2gzPjxwPk91ciBCYWtlZCBCcml0aXNoIEJlYW5zIGFyZSBjb29rZWQgYW5kIHJlYWR5IHRvIGVhdCwgaG90IG9yIGNvbGQuIFRoZXkncmUgZ29vZCBzZXJ2ZWQgb24gdG9hc3QgYnV0IGFsc28gZGVsaWNpb3VzIGFkZGVkIHRvIHN0ZXdzLCBjdXJyaWVzIG9yIGNhc3Nlcm9sZXMuIE9yIGV2ZW4gaW4gYSBwaWUuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD48c3Ryb25nPkNvb2tpbmcgb24gdGhlIEhvYjwvc3Ryb25nPjxicj5FbXB0eSBjb250ZW50cyBpbnRvIHNhdWNlcGFuLiBIZWF0IGdlbnRseSBmb3IgNC01IG1pbnV0ZXMgd2hpbGUgc3RpcnJpbmcuIEZvciBiZXN0IGZsYXZvdXIgZG8gbm90IGJvaWwgb3Igb3ZlcmNvb2suIERvIG5vdCByZWhlYXQuPC9wPlxuPHA+PHN0cm9uZz5NaWNyb3dhdmUgQ29va2luZzwvc3Ryb25nPjxicj5FbXB0eSBjb250ZW50cyBpbnRvIGEgbm9uLW1ldGFsbGljIGJvd2wgYW5kIGNvdmVyLiBIZWF0IGZvciAyIHRvIDMgbWludXRlcywgc3RpcnJpbmcgaGFsZndheS4gQ2hlY2sgdGhlIGZvb2QgaXMgaG90LCBzdGlyIHdlbGwgYW5kIHNlcnZlLiBEbyBub3QgcmVoZWF0LjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+VG8gU3RvcmU8L2g1PlxuPHA+U3RvcmUgaW4gYSBjb29sLCBkcnkgcGxhY2UuIE9uY2Ugb3BlbmVkLCB0cmFuc2ZlciBjb250ZW50cyB0byBhIG5vbi1tZXRhbGxpYyBjb250YWluZXIsIGNvdmVyIHJlZnJpZ2VyYXRlIGFuZCB1c2Ugd2l0aCAyIGRheXMuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5GYXZhIEJlYW5zIChCcm9hZCBCZWFucykgKDQyJSksIFdhdGVyLCBUb21hdG8gUHVyZWUsIFN1Z2FyLCBNb2RpZmllZCBNYWl6ZSBTdGFyY2gsIFNhbHQsIEhlcmJzICZhbXA7IFNwaWNlcywgQ29uY2VudHJhdGVkIExlbW9uIEp1aWNlPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5BbGxlcmd5IGluZm9ybWF0aW9uPC9oNT5cbjxwPk5vIEFsbGVyZ2VuczwvcD5cbjx0YWJsZSB3aWR0aD1cIjEwMCVcIj5cbjx0Ym9keT5cbjx0cj5cbjx0ZD48c3Ryb25nPlR5cGljYWwgdmFsdWVzPC9zdHJvbmc+PC90ZD5cbjx0ZD48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RW5lcmd5PC90ZD5cbjx0ZD4yOTJrSiAoNjlrY2FsKTwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkZhdDwvdGQ+XG48dGQ+MC40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQ+MC4xZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkNhcmJvaHlkcmF0ZTwvdGQ+XG48dGQ+MTAuMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzdWdhcnM8L3RkPlxuPHRkPjQuNmc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GaWJyZTwvdGQ+XG48dGQ+NWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5Qcm90ZWluPC90ZD5cbjx0ZD40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPlNhbHQ8L3RkPlxuPHRkPjAuNmc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+TW9yZTwvaDU+XG48cD5EZWxpY2lvdXMsIG51dHJpdGlvdXMgYW5kIGdvb2QgZm9yIHRoZSBzb2lsLCBmYXZhIGJlYW5zIGFyZSBhIHZhcmlldHkgb2YgYnJvYWQgYmVhbiwgVmljaWEgZmFiYSwgbGVmdCB0byByaXBlbiBhbmQgZHJ5IGJlZm9yZSBoYXJ2ZXN0LiBUaGV54oCZcmUgYWxzbyBrbm93biBhcyBmaWVsZCBiZWFucywgaG9yc2UgYmVhbnMsIFdpbmRzb3IgYmVhbnMgb3IgZnVsLjwvcD5cbjxwPlN1aXRhYmxlIGZvciB2ZWdhbnMgYW5kIHZlZ2V0YXJpYW5zPC9wPlxuIiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIxOTkiLCJkZmMtYjppbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNzMxLzg0ODMvNzkzOS9wcm9kdWN0cy9QYWNrLUNhbi1CYWtlZC1CZWFucy0xODAweDZfOTgzeDY1Nl81MTM3NThlNi0yNjE2LTQ2ODctYThiMi1iYTZkZGU4NjQ5MjMuanBnP3Y9MTY3Nzc2MDc3OCIsImRmYy1iOm5hbWUiOiJCYWtlZCBCcml0aXNoIEJlYW5zIC0gUmV0YWlsIGNhbiwgNDAwZyAoY2FuKSIsImRmYy1iOnJlZmVyZW5jZWRCeSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9DYXRhbG9nSXRlbSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L0FzUGxhbm5lZENvbnN1bXB0aW9uRmxvdyIsIkB0eXBlIjoiZGZjLWI6QXNQbGFubmVkQ29uc3VtcHRpb25GbG93IiwiZGZjLWI6Y29uc3VtZXMiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUiLCJkZmMtYjpoYXNRdWFudGl0eSI6Il86YjIwNyJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L0FzUGxhbm5lZFByb2R1Y3Rpb25GbG93IiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMjA4IiwiZGZjLWI6cHJvZHVjZXMiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9Bc1BsYW5uZWRUcmFuc2Zvcm1hdGlvbiIsIkB0eXBlIjoiZGZjLWI6QXNQbGFubmVkVHJhbnNmb3JtYXRpb24iLCJkZmMtYjpoYXNJbmNvbWUiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvQXNQbGFubmVkQ29uc3VtcHRpb25GbG93IiwiZGZjLWI6aGFzT3V0Y29tZSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9Bc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L0NhdGFsb2dJdGVtIiwiQHR5cGUiOiJkZmMtYjpDYXRhbG9nSXRlbSIsImRmYy1iOm9mZmVyZWRUaHJvdWdoIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L09mZmVyIiwiZGZjLWI6c2t1IjoiTkNCQi9UNCIsImRmYy1iOnN0b2NrTGltaXRhdGlvbiI6Ii0xIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvT2ZmZXIiLCJAdHlwZSI6ImRmYy1iOk9mZmVyIiwiZGZjLWI6aGFzUHJpY2UiOnsiQGlkIjoiXzpiMjAwIn19LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NTAwNDAzIiwiQHR5cGUiOiJkZmMtYjpTdXBwbGllZFByb2R1Y3QiLCJkZmMtYjpkZXNjcmlwdGlvbiI6Ijx0YWJsZSB3aWR0aD1cIjEwMCVcIj5cbjx0Ym9keT5cbjx0ciBzdHlsZT1cImJvcmRlcjogMHB4O1wiPlxuPHRkIGJnY29sb3I9XCIjZDZmYmVkXCIgc3R5bGU9XCJjb2xvcjogIzAwMDAwMDsgYm9yZGVyOiAwcHg7XCI+PHN0cm9uZz5UaGV5J3JlIGJhY2shPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48L3Rib2R5PlxuPC90YWJsZT5cbjxwPjxzdHJvbmc+VGhpbmsgYmFrZWQgYmVhbnMgYXJlIEJyaXRpc2g/IFRoZXkgYXJlIG5vdyEgV2UgdXNlIG9ubHkgQnJpdGlzaC1ncm93biBmYXZhIGJlYW5zIC0gQnJpdGFpbidzIG9yaWdpbmFsIGJlYW4sIGdyb3duIGhlcmUgc2luY2UgdGhlIElyb24gQWdlLiBPdXIgQmFrZWQgQnJpdGlzaCBCZWFucyBhcmUgZGVsaWNpb3VzbHkgZGlmZmVyZW50LCB3aXRoIGxhcmdlIG1lYXR5IGZhdmEgYmVhbnMgaW4gYSB0YXN0eSB0b21hdG8gc2F1Y2UuPC9zdHJvbmc+PC9wPlxuPHA+PHN0cm9uZz48YSB0aXRsZT1cIldoYXQgYXJlIGZhdmEgYmVhbnM/IEFyZW4ndCB0aGV5IGp1c3QgYnJvYWQgYmVhbnM/XCIgaHJlZj1cIi9ibG9ncy9uZXdzL3doYXQtYXJlLWZhdmEtYmVhbnMtYXJlLXRoZXktanVzdC1icm9hZC1iZWFuc1wiIGRhdGEtbWNlLWZyYWdtZW50PVwiMVwiIGRhdGEtbWNlLWhyZWY9XCIvYmxvZ3MvbmV3cy93aGF0LWFyZS1mYXZhLWJlYW5zLWFyZS10aGV5LWp1c3QtYnJvYWQtYmVhbnNcIj5XaGF0IGFyZSBmYXZhIGJlYW5zPyBGaW5kIG91dCBoZXJlLi4uPC9hPjwvc3Ryb25nPjwvcD5cbjwhLS0gc3BsaXQgLS0+PGgzPkNvbXBsZXRlIFByb2R1Y3QgRGV0YWlsczwvaDM+PHA+T3VyIEJha2VkIEJyaXRpc2ggQmVhbnMgYXJlIGNvb2tlZCBhbmQgcmVhZHkgdG8gZWF0LCBob3Qgb3IgY29sZC4gVGhleSdyZSBnb29kIHNlcnZlZCBvbiB0b2FzdCBidXQgYWxzbyBkZWxpY2lvdXMgYWRkZWQgdG8gc3Rld3MsIGN1cnJpZXMgb3IgY2Fzc2Vyb2xlcy4gT3IgZXZlbiBpbiBhIHBpZS48L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkNvb2tpbmcgaW5zdHJ1Y3Rpb25zPC9oNT5cbjxwPjxzdHJvbmc+Q29va2luZyBvbiB0aGUgSG9iPC9zdHJvbmc+PGJyPkVtcHR5IGNvbnRlbnRzIGludG8gc2F1Y2VwYW4uIEhlYXQgZ2VudGx5IGZvciA0LTUgbWludXRlcyB3aGlsZSBzdGlycmluZy4gRm9yIGJlc3QgZmxhdm91ciBkbyBub3QgYm9pbCBvciBvdmVyY29vay4gRG8gbm90IHJlaGVhdC48L3A+XG48cD48c3Ryb25nPk1pY3Jvd2F2ZSBDb29raW5nPC9zdHJvbmc+PGJyPkVtcHR5IGNvbnRlbnRzIGludG8gYSBub24tbWV0YWxsaWMgYm93bCBhbmQgY292ZXIuIEhlYXQgZm9yIDIgdG8gMyBtaW51dGVzLCBzdGlycmluZyBoYWxmd2F5LiBDaGVjayB0aGUgZm9vZCBpcyBob3QsIHN0aXIgd2VsbCBhbmQgc2VydmUuIERvIG5vdCByZWhlYXQuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5UbyBTdG9yZTwvaDU+XG48cD5TdG9yZSBpbiBhIGNvb2wsIGRyeSBwbGFjZS4gT25jZSBvcGVuZWQsIHRyYW5zZmVyIGNvbnRlbnRzIHRvIGEgbm9uLW1ldGFsbGljIGNvbnRhaW5lciwgY292ZXIgcmVmcmlnZXJhdGUgYW5kIHVzZSB3aXRoIDIgZGF5cy48L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkluZ3JlZGllbnRzPC9oNT5cbjxwPkZhdmEgQmVhbnMgKEJyb2FkIEJlYW5zKSAoNDIlKSwgV2F0ZXIsIFRvbWF0byBQdXJlZSwgU3VnYXIsIE1vZGlmaWVkIE1haXplIFN0YXJjaCwgU2FsdCwgSGVyYnMgJmFtcDsgU3BpY2VzLCBDb25jZW50cmF0ZWQgTGVtb24gSnVpY2U8L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkFsbGVyZ3kgaW5mb3JtYXRpb248L2g1PlxuPHA+Tm8gQWxsZXJnZW5zPC9wPlxuPHRhYmxlIHdpZHRoPVwiMTAwJVwiPlxuPHRib2R5PlxuPHRyPlxuPHRkPjxzdHJvbmc+VHlwaWNhbCB2YWx1ZXM8L3N0cm9uZz48L3RkPlxuPHRkPjxzdHJvbmc+UGVyIDEwMGc8L3N0cm9uZz48L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5FbmVyZ3k8L3RkPlxuPHRkPjI5MmtKICg2OWtjYWwpPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RmF0PC90ZD5cbjx0ZD4wLjRnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+b2Ygd2hpY2ggc2F0dXJhdGVzPC90ZD5cbjx0ZD4wLjFnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+Q2FyYm9oeWRyYXRlPC90ZD5cbjx0ZD4xMC4xZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPm9mIHdoaWNoIHN1Z2FyczwvdGQ+XG48dGQ+NC42ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkZpYnJlPC90ZD5cbjx0ZD41ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPlByb3RlaW48L3RkPlxuPHRkPjRnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+U2FsdDwvdGQ+XG48dGQ+MC42ZzwvdGQ+XG48L3RyPlxuPC90Ym9keT5cbjwvdGFibGU+PGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Nb3JlPC9oNT5cbjxwPkRlbGljaW91cywgbnV0cml0aW91cyBhbmQgZ29vZCBmb3IgdGhlIHNvaWwsIGZhdmEgYmVhbnMgYXJlIGEgdmFyaWV0eSBvZiBicm9hZCBiZWFuLCBWaWNpYSBmYWJhLCBsZWZ0IHRvIHJpcGVuIGFuZCBkcnkgYmVmb3JlIGhhcnZlc3QuIFRoZXnigJlyZSBhbHNvIGtub3duIGFzIGZpZWxkIGJlYW5zLCBob3JzZSBiZWFucywgV2luZHNvciBiZWFucyBvciBmdWwuPC9wPlxuPHA+U3VpdGFibGUgZm9yIHZlZ2FucyBhbmQgdmVnZXRhcmlhbnM8L3A+XG4iLCJkZmMtYjpoYXNRdWFudGl0eSI6Il86YjIwMyIsImRmYy1iOmltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvODQ4My83OTM5L3Byb2R1Y3RzL1BhY2stQ2FuLUJha2VkLUJlYW5zLTE4MDB4Nl85ODN4NjU2XzUxMzc1OGU2LTI2MTYtNDY4Ny1hOGIyLWJhNmRkZTg2NDkyMy5qcGc/dj0xNjc3NzYwNzc4IiwiZGZjLWI6bmFtZSI6IkJha2VkIEJyaXRpc2ggQmVhbnMgLSBDYXNlLCAxMiB4IDQwMGcgKGNhbikiLCJkZmMtYjpyZWZlcmVuY2VkQnkiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMvQ2F0YWxvZ0l0ZW0ifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjUwMDQwMy9DYXRhbG9nSXRlbSIsIkB0eXBlIjoiZGZjLWI6Q2F0YWxvZ0l0ZW0iLCJkZmMtYjpvZmZlcmVkVGhyb3VnaCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjUwMDQwMy9PZmZlciIsImRmYy1iOnNrdSI6Ik5DQkIvQ0QiLCJkZmMtYjpzdG9ja0xpbWl0YXRpb24iOiItMSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NTAwNDAzL09mZmVyIiwiQHR5cGUiOiJkZmMtYjpPZmZlciIsImRmYy1iOmhhc1ByaWNlIjp7IkBpZCI6Il86YjIwNCJ9fSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0NyIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8cD48c3Ryb25nPlRoZSBmaXJzdCBldmVyIEJyaXRpc2gtZ3Jvd24gb3JnYW5pY8KgY2hpYSBzZWVkcyEgPC9zdHJvbmc+PC9wPlxuPHA+PHN0cm9uZz5UaGVzZSB2ZXJzYXRpbGUgYW5kIG51dHJpdGlvdXMgc2VlZHMgYXJlIGRlbGljaW91cyBzcHJpbmtsZWQgb24gc2FsYWRzLCBhZGRlZCB0byBzbW9vdGhpZXMgb3IgaW4gYmFraW5nLiBUaGV5IG1ha2UgYSBncmVhdCB2ZWdhbiBlZ2cgcmVwbGFjZW1lbnQgdG9vLjwvc3Ryb25nPjwvcD5cbjxwPk9yZ2FuaWNhbGx5IGdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLCB3aXRoIGd1aWRhbmNlIGZyb20gPGEgdGl0bGU9XCJSZWFzb25zIHRvIGJlIENoaWEtZnVsXCIgaHJlZj1cImh0dHBzOi8vaG9kbWVkb2RzLmNvLnVrL2Jsb2dzL25ld3MvZmlyc3QtYnJpdGlzaC1jaGlhXCI+Y2hpYSBwaW9uZWVycyBQZXRlciBhbmQgQW5kcmV3IEZhaXJzPC9hPiwgdGhlc2UgY2hpYSBzZWVkcyBhcmUgdGhlIHJlc3VsdCBvZiBmaXZlIHllYXJzIG9mIGNyb3AgdHJpYWxzIGFuZCBkZXZlbG9wbWVudHMuwqBUaGUgdGlueSBvaWwtcmljaCBzZWVkcyBhcmUgaGFydmVzdGVkIGZyb20gdGhlIDxlbT5TYWx2aWEgaGlzcGFuaWNhPC9lbT4gcGxhbnQsIGEgbWVtYmVyIG9mIHRoZSBtaW50IGZhbWlseSBvcmlnaW5hdGluZyBpbiBjZW50cmFsIEFtZXJpY2EsIHdoZXJlIGNoaWEgd2FzIGEgc3RhcGxlIGZvb2QgaW4gQXp0ZWMgY3VsdHVyZXMsIGFsb25nc2lkZSBiZWFucyBhbmQgY29ybi48L3A+XG48IS0tIHNwbGl0IC0tPjxoMz5Db21wbGV0ZSBQcm9kdWN0IERldGFpbHM8L2gzPlxuPGxpIGlkPVwidGFiMVwiIGNsYXNzPVwiYWN0aXZlXCI+XG48cD5TcHJpbmtsZSBvbiBzYWxhZHMsIHVzZSBpbiBiYWtpbmcsIGFkZCB0byBzbW9vdGhpZXMsIHBvcnJpZGdlIG9yIGdyYW5vbGEuPC9wPlxuPHA+QWR2aXNlZCBtYXhpbXVtIGRhaWx5IGludGFrZTogMTVnPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD48c3Ryb25nPkFzIGFuIGVnZyBzdWJzdGl0dXRlPC9zdHJvbmc+PGJyPlNvYWsgMSB0YWJsZXNwb29uIG9mIHNlZWRzIGluIDMgdGFibGVzcG9vbnMgb2Ygd2FybSB3YXRlciBmb3IgMzAgbWludXRlcyB0byByZXBsYWNlIG9uZSBlZ2cgaW4gdmVnYW4gYmFraW5nLjwvcD5cbjxwPjxzdHJvbmc+SW4gYmFraW5nPC9zdHJvbmc+PGJyPkFkZCB3aG9sZSBvciBncm91bmQgY2hpYSBzZWVkcyB0byBicmVhZCBtaXhlcyBhdCB1cCB0byA1JTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBvdGhlciBiYWtpbmcgbWl4ZXMgYXQgdXAgdG8gMTAlPC9wPlxuPHA+PHN0cm9uZz5PdGhlciB1c2VzPC9zdHJvbmc+PGJyPiBBZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBicmVha2Zhc3QgY2VyZWFsIGF0IHVwIHRvIDEwJTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBmcnVpdCwgbnV0LCBhbmQgc2VlZCBtaXhlcyBhdCB1cCB0byAxMCU8YnI+QWRkIHdob2xlLCBtYXNoZWQgb3IgZ3JvdW5kIGNoaWEgc2VlZHMgdG8gZnJ1aXQganVpY2VzIG9yIHNtb290aGllcyBhdCB1cCB0byAxNWcvZGF5PC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5DaGlhwqBzZWVkcyAoPGVtPlNhbHZpYSBIaXNwYW5pY2E8L2VtPik8L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkFsbGVyZ3kgaW5mb3JtYXRpb248L2g1PlxuPHA+Tm8gQWxsZXJnZW5zPC9wPlxuPHRhYmxlIGhlaWdodD1cIjI0N1wiIHdpZHRoPVwiNDE2XCI+XG48dGJvZHk+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPjxzdHJvbmc+VHlwaWNhbCB2YWx1ZXM8L3N0cm9uZz48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkVuZXJneTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjEsNjc1a0ogLyA0MDRrY2FsPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkZhdDwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIzLjJnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIuM2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FyYm9oeWRyYXRlPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTYuN2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+b2Ygd2hpY2ggc3VnYXJzPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC44ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5GaWJyZTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjI3LjdnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPlByb3RlaW48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4xOC4yZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5TYWx0PC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC4wMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FsY2l1bTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjcwMW1nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPklyb248L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj43LjJtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5NYWduZXNpdW08L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4yMzBtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5QaG9zcGhvcm91czwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjU4M21nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPk9tZWdhIDMgQUxBPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTEuNWc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Nb3JlPC9oNT5cbjxwPkNoaWHCoFNlZWRzIGFyZSBoaWdoIGluIGRpZXRhcnkgZmlicmUgYW5kwqBPbWVnYSAzIEFMQSBvaWxzLCBhbmQgYSBzb3VyY2Ugb2YgcHJvdGVpbi48L3A+XG48cD5TdWl0YWJsZSBmb3IgVmVnYW5zICZhbXA7IFZlZ2V0YXJpYW5zLjwvcD5cbjxwPkdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLjwvcD5cbjwvbGk+IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIyMDEiLCJkZmMtYjppbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNzMxLzg0ODMvNzkzOS9wcm9kdWN0cy9PcmdhbmljLUNoaWEtMjQwMHgxODAwXzNmOWIyOWM2LWYxZmUtNDg5OS05NTdmLTAzOGJlOTc2ZGE2OC5qcGc/dj0xNjc3NzYwODE2IiwiZGZjLWI6bmFtZSI6IkNoaWEgU2VlZCwgT3JnYW5pYyAtIFJldGFpbCBwYWNrLCAzMDBnIiwiZGZjLWI6cmVmZXJlbmNlZEJ5IjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0NhdGFsb2dJdGVtIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvQXNQbGFubmVkQ29uc3VtcHRpb25GbG93IiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJkZmMtYjpjb25zdW1lcyI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0NyIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMjA5In0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvQXNQbGFubmVkUHJvZHVjdGlvbkZsb3ciLCJAdHlwZSI6ImRmYy1iOkFzUGxhbm5lZFByb2R1Y3Rpb25GbG93IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIyMTAiLCJkZmMtYjpwcm9kdWNlcyI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0FzUGxhbm5lZFRyYW5zZm9ybWF0aW9uIiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRUcmFuc2Zvcm1hdGlvbiIsImRmYy1iOmhhc0luY29tZSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9Bc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJkZmMtYjpoYXNPdXRjb21lIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0FzUGxhbm5lZFByb2R1Y3Rpb25GbG93In0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvQ2F0YWxvZ0l0ZW0iLCJAdHlwZSI6ImRmYy1iOkNhdGFsb2dJdGVtIiwiZGZjLWI6b2ZmZXJlZFRocm91Z2giOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvT2ZmZXIiLCJkZmMtYjpza3UiOiJPR0NIL1IzIiwiZGZjLWI6c3RvY2tMaW1pdGF0aW9uIjoiLTEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9PZmZlciIsIkB0eXBlIjoiZGZjLWI6T2ZmZXIiLCJkZmMtYjpoYXNQcmljZSI6eyJAaWQiOiJfOmIyMDIifX0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MzM3MTUiLCJAdHlwZSI6ImRmYy1iOlN1cHBsaWVkUHJvZHVjdCIsImRmYy1iOmRlc2NyaXB0aW9uIjoiPHA+PHN0cm9uZz5UaGUgZmlyc3QgZXZlciBCcml0aXNoLWdyb3duIG9yZ2FuaWPCoGNoaWEgc2VlZHMhIDwvc3Ryb25nPjwvcD5cbjxwPjxzdHJvbmc+VGhlc2UgdmVyc2F0aWxlIGFuZCBudXRyaXRpb3VzIHNlZWRzIGFyZSBkZWxpY2lvdXMgc3ByaW5rbGVkIG9uIHNhbGFkcywgYWRkZWQgdG8gc21vb3RoaWVzIG9yIGluIGJha2luZy4gVGhleSBtYWtlIGEgZ3JlYXQgdmVnYW4gZWdnIHJlcGxhY2VtZW50IHRvby48L3N0cm9uZz48L3A+XG48cD5PcmdhbmljYWxseSBncm93biBieSBKb2huIGFuZCBBbGljZSBQYXdzZXkgaW4gU3VmZm9saywgd2l0aCBndWlkYW5jZSBmcm9tIDxhIHRpdGxlPVwiUmVhc29ucyB0byBiZSBDaGlhLWZ1bFwiIGhyZWY9XCJodHRwczovL2hvZG1lZG9kcy5jby51ay9ibG9ncy9uZXdzL2ZpcnN0LWJyaXRpc2gtY2hpYVwiPmNoaWEgcGlvbmVlcnMgUGV0ZXIgYW5kIEFuZHJldyBGYWlyczwvYT4sIHRoZXNlIGNoaWEgc2VlZHMgYXJlIHRoZSByZXN1bHQgb2YgZml2ZSB5ZWFycyBvZiBjcm9wIHRyaWFscyBhbmQgZGV2ZWxvcG1lbnRzLsKgVGhlIHRpbnkgb2lsLXJpY2ggc2VlZHMgYXJlIGhhcnZlc3RlZCBmcm9tIHRoZSA8ZW0+U2FsdmlhIGhpc3BhbmljYTwvZW0+IHBsYW50LCBhIG1lbWJlciBvZiB0aGUgbWludCBmYW1pbHkgb3JpZ2luYXRpbmcgaW4gY2VudHJhbCBBbWVyaWNhLCB3aGVyZSBjaGlhIHdhcyBhIHN0YXBsZSBmb29kIGluIEF6dGVjIGN1bHR1cmVzLCBhbG9uZ3NpZGUgYmVhbnMgYW5kIGNvcm4uPC9wPlxuPCEtLSBzcGxpdCAtLT48aDM+Q29tcGxldGUgUHJvZHVjdCBEZXRhaWxzPC9oMz5cbjxsaSBpZD1cInRhYjFcIiBjbGFzcz1cImFjdGl2ZVwiPlxuPHA+U3ByaW5rbGUgb24gc2FsYWRzLCB1c2UgaW4gYmFraW5nLCBhZGQgdG8gc21vb3RoaWVzLCBwb3JyaWRnZSBvciBncmFub2xhLjwvcD5cbjxwPkFkdmlzZWQgbWF4aW11bSBkYWlseSBpbnRha2U6IDE1ZzwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+Q29va2luZyBpbnN0cnVjdGlvbnM8L2g1PlxuPHA+PHN0cm9uZz5BcyBhbiBlZ2cgc3Vic3RpdHV0ZTwvc3Ryb25nPjxicj5Tb2FrIDEgdGFibGVzcG9vbiBvZiBzZWVkcyBpbiAzIHRhYmxlc3Bvb25zIG9mIHdhcm0gd2F0ZXIgZm9yIDMwIG1pbnV0ZXMgdG8gcmVwbGFjZSBvbmUgZWdnIGluIHZlZ2FuIGJha2luZy48L3A+XG48cD48c3Ryb25nPkluIGJha2luZzwvc3Ryb25nPjxicj5BZGQgd2hvbGUgb3IgZ3JvdW5kIGNoaWEgc2VlZHMgdG8gYnJlYWQgbWl4ZXMgYXQgdXAgdG8gNSU8YnI+QWRkIHdob2xlIGNoaWEgc2VlZHMgdG8gb3RoZXIgYmFraW5nIG1peGVzIGF0IHVwIHRvIDEwJTwvcD5cbjxwPjxzdHJvbmc+T3RoZXIgdXNlczwvc3Ryb25nPjxicj4gQWRkIHdob2xlIGNoaWEgc2VlZHMgdG8gYnJlYWtmYXN0IGNlcmVhbCBhdCB1cCB0byAxMCU8YnI+QWRkIHdob2xlIGNoaWEgc2VlZHMgdG8gZnJ1aXQsIG51dCwgYW5kIHNlZWQgbWl4ZXMgYXQgdXAgdG8gMTAlPGJyPkFkZCB3aG9sZSwgbWFzaGVkIG9yIGdyb3VuZCBjaGlhIHNlZWRzIHRvIGZydWl0IGp1aWNlcyBvciBzbW9vdGhpZXMgYXQgdXAgdG8gMTVnL2RheTwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+SW5ncmVkaWVudHM8L2g1PlxuPHA+Q2hpYcKgc2VlZHMgKDxlbT5TYWx2aWEgSGlzcGFuaWNhPC9lbT4pPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5BbGxlcmd5IGluZm9ybWF0aW9uPC9oNT5cbjxwPk5vIEFsbGVyZ2VuczwvcD5cbjx0YWJsZSBoZWlnaHQ9XCIyNDdcIiB3aWR0aD1cIjQxNlwiPlxuPHRib2R5PlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj48c3Ryb25nPlR5cGljYWwgdmFsdWVzPC9zdHJvbmc+PC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+PHN0cm9uZz5QZXIgMTAwZzwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5FbmVyZ3k8L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4xLDY3NWtKIC8gNDA0a2NhbDwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5GYXQ8L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4yMy4yZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5vZiB3aGljaCBzYXR1cmF0ZXM8L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4yLjNnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkNhcmJvaHlkcmF0ZTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjE2LjdnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPm9mIHdoaWNoIHN1Z2FyczwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjAuOGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+RmlicmU8L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4yNy43ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5Qcm90ZWluPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTguMmc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+U2FsdDwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjAuMDFnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkNhbGNpdW08L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj43MDFtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5Jcm9uPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+Ny4ybWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+TWFnbmVzaXVtPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MjMwbWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+UGhvc3Bob3JvdXM8L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj41ODNtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5PbWVnYSAzIEFMQTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjExLjVnPC90ZD5cbjwvdHI+XG48L3Rib2R5PlxuPC90YWJsZT5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+TW9yZTwvaDU+XG48cD5DaGlhwqBTZWVkcyBhcmUgaGlnaCBpbiBkaWV0YXJ5IGZpYnJlIGFuZMKgT21lZ2EgMyBBTEEgb2lscywgYW5kIGEgc291cmNlIG9mIHByb3RlaW4uPC9wPlxuPHA+U3VpdGFibGUgZm9yIFZlZ2FucyAmYW1wOyBWZWdldGFyaWFucy48L3A+XG48cD5Hcm93biBieSBKb2huIGFuZCBBbGljZSBQYXdzZXkgaW4gU3VmZm9say48L3A+XG48L2xpPiIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMjA1IiwiZGZjLWI6aW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDczMS84NDgzLzc5MzkvcHJvZHVjdHMvT3JnYW5pYy1DaGlhLTI0MDB4MTgwMF8zZjliMjljNi1mMWZlLTQ4OTktOTU3Zi0wMzhiZTk3NmRhNjguanBnP3Y9MTY3Nzc2MDgxNiIsImRmYy1iOm5hbWUiOiJDaGlhIFNlZWQsIE9yZ2FuaWMgLSBDYXNlLCA4IHggMzAwZyIsImRmYy1iOnJlZmVyZW5jZWRCeSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNS9DYXRhbG9nSXRlbSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDMzNzE1L0NhdGFsb2dJdGVtIiwiQHR5cGUiOiJkZmMtYjpDYXRhbG9nSXRlbSIsImRmYy1iOm9mZmVyZWRUaHJvdWdoIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDMzNzE1L09mZmVyIiwiZGZjLWI6c2t1IjoiT0dDSC9DOCIsImRmYy1iOnN0b2NrTGltaXRhdGlvbiI6Ii0xIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MzM3MTUvT2ZmZXIiLCJAdHlwZSI6ImRmYy1iOk9mZmVyIiwiZGZjLWI6aGFzUHJpY2UiOnsiQGlkIjoiXzpiMjA2In19XX0= - recorded_at: Fri, 06 Sep 2024 05:44:24 GMT + eyJAY29udGV4dCI6Imh0dHBzOi8vd3d3LmRhdGFmb29kY29uc29ydGl1bS5vcmciLCJAZ3JhcGgiOlt7IkBpZCI6Il86YjEyMDUxNCIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjAuMSJ9LHsiQGlkIjoiXzpiMTIwNTE1IiwiQHR5cGUiOiJkZmMtYjpQcmljZSIsImRmYy1iOlZBVHJhdGUiOiIwIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOlBvdW5kU3RlcmxpbmciLCJkZmMtYjp2YWx1ZSI6IjExLjI1In0seyJAaWQiOiJfOmIxMjA1MTYiLCJAdHlwZSI6ImRmYy1iOlF1YW50aXRhdGl2ZVZhbHVlIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOktpbG9ncmFtIiwiZGZjLWI6dmFsdWUiOiIwLjA0In0seyJAaWQiOiJfOmIxMjA1MTciLCJAdHlwZSI6ImRmYy1iOlByaWNlIiwiZGZjLWI6VkFUcmF0ZSI6IjAiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06UG91bmRTdGVybGluZyIsImRmYy1iOnZhbHVlIjoiNi4yNSJ9LHsiQGlkIjoiXzpiMTIwNTE4IiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpLaWxvZ3JhbSIsImRmYy1iOnZhbHVlIjoiMC40In0seyJAaWQiOiJfOmIxMjA1MTkiLCJAdHlwZSI6ImRmYy1iOlByaWNlIiwiZGZjLWI6VkFUcmF0ZSI6IjAiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06UG91bmRTdGVybGluZyIsImRmYy1iOnZhbHVlIjoiMi4wOSJ9LHsiQGlkIjoiXzpiMTIwNTIwIiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpLaWxvZ3JhbSIsImRmYy1iOnZhbHVlIjoiMSJ9LHsiQGlkIjoiXzpiMTIwNTIxIiwiQHR5cGUiOiJkZmMtYjpQcmljZSIsImRmYy1iOlZBVHJhdGUiOiIwIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOlBvdW5kU3RlcmxpbmciLCJkZmMtYjp2YWx1ZSI6IjQuNzkifSx7IkBpZCI6Il86YjEyMDUyMiIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjAuMyJ9LHsiQGlkIjoiXzpiMTIwNTIzIiwiQHR5cGUiOiJkZmMtYjpQcmljZSIsImRmYy1iOlZBVHJhdGUiOiIwIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOlBvdW5kU3RlcmxpbmciLCJkZmMtYjp2YWx1ZSI6IjIuNDkifSx7IkBpZCI6Il86YjEyMDUyNCIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjI1In0seyJAaWQiOiJfOmIxMjA1MjUiLCJAdHlwZSI6ImRmYy1iOlByaWNlIiwiZGZjLWI6VkFUcmF0ZSI6IjAiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06UG91bmRTdGVybGluZyIsImRmYy1iOnZhbHVlIjoiNDEuNjAifSx7IkBpZCI6Il86YjEyMDUyNiIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjAuNSJ9LHsiQGlkIjoiXzpiMTIwNTI3IiwiQHR5cGUiOiJkZmMtYjpQcmljZSIsImRmYy1iOlZBVHJhdGUiOiIwIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOlBvdW5kU3RlcmxpbmciLCJkZmMtYjp2YWx1ZSI6IjEuOTkifSx7IkBpZCI6Il86YjEyMDUyOCIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjEifSx7IkBpZCI6Il86YjEyMDUyOSIsIkB0eXBlIjoiZGZjLWI6UHJpY2UiLCJkZmMtYjpWQVRyYXRlIjoiMCIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQb3VuZFN0ZXJsaW5nIiwiZGZjLWI6dmFsdWUiOiIyLjkwIn0seyJAaWQiOiJfOmIxMjA1MzAiLCJAdHlwZSI6ImRmYy1iOlF1YW50aXRhdGl2ZVZhbHVlIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOktpbG9ncmFtIiwiZGZjLWI6dmFsdWUiOiI1In0seyJAaWQiOiJfOmIxMjA1MzEiLCJAdHlwZSI6ImRmYy1iOlByaWNlIiwiZGZjLWI6VkFUcmF0ZSI6IjAiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06UG91bmRTdGVybGluZyIsImRmYy1iOnZhbHVlIjoiMTIuNzUifSx7IkBpZCI6Il86YjEyMDUzMiIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjAuMyJ9LHsiQGlkIjoiXzpiMTIwNTMzIiwiQHR5cGUiOiJkZmMtYjpQcmljZSIsImRmYy1iOlZBVHJhdGUiOiIwIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOlBvdW5kU3RlcmxpbmciLCJkZmMtYjp2YWx1ZSI6IjMuOTkifSx7IkBpZCI6Il86YjEyMDUzNCIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjAifSx7IkBpZCI6Il86YjEyMDUzNSIsIkB0eXBlIjoiZGZjLWI6UHJpY2UiLCJkZmMtYjpWQVRyYXRlIjoiMCIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQb3VuZFN0ZXJsaW5nIiwiZGZjLWI6dmFsdWUiOiI1Ljk1In0seyJAaWQiOiJfOmIxMjA1MzYiLCJAdHlwZSI6ImRmYy1iOlF1YW50aXRhdGl2ZVZhbHVlIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOktpbG9ncmFtIiwiZGZjLWI6dmFsdWUiOiIwLjI0In0seyJAaWQiOiJfOmIxMjA1MzciLCJAdHlwZSI6ImRmYy1iOlByaWNlIiwiZGZjLWI6VkFUcmF0ZSI6IjAiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06UG91bmRTdGVybGluZyIsImRmYy1iOnZhbHVlIjoiMzAuMjAifSx7IkBpZCI6Il86YjEyMDUzOCIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjQuOCJ9LHsiQGlkIjoiXzpiMTIwNTM5IiwiQHR5cGUiOiJkZmMtYjpQcmljZSIsImRmYy1iOlZBVHJhdGUiOiIwIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOlBvdW5kU3RlcmxpbmciLCJkZmMtYjp2YWx1ZSI6IjE4Ljg1In0seyJAaWQiOiJfOmIxMjA1NDAiLCJAdHlwZSI6ImRmYy1iOlF1YW50aXRhdGl2ZVZhbHVlIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOktpbG9ncmFtIiwiZGZjLWI6dmFsdWUiOiI2In0seyJAaWQiOiJfOmIxMjA1NDEiLCJAdHlwZSI6ImRmYy1iOlByaWNlIiwiZGZjLWI6VkFUcmF0ZSI6IjAiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06UG91bmRTdGVybGluZyIsImRmYy1iOnZhbHVlIjoiMjEuNjAifSx7IkBpZCI6Il86YjEyMDU0MiIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06S2lsb2dyYW0iLCJkZmMtYjp2YWx1ZSI6IjIuNCJ9LHsiQGlkIjoiXzpiMTIwNTQzIiwiQHR5cGUiOiJkZmMtYjpQcmljZSIsImRmYy1iOlZBVHJhdGUiOiIwIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOlBvdW5kU3RlcmxpbmciLCJkZmMtYjp2YWx1ZSI6IjE0Ljk1In0seyJAaWQiOiJfOmIxMjA1NDQiLCJAdHlwZSI6ImRmYy1iOlF1YW50aXRhdGl2ZVZhbHVlIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOktpbG9ncmFtIiwiZGZjLWI6dmFsdWUiOiIyLjQifSx7IkBpZCI6Il86YjEyMDU0NSIsIkB0eXBlIjoiZGZjLWI6UHJpY2UiLCJkZmMtYjpWQVRyYXRlIjoiMCIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQb3VuZFN0ZXJsaW5nIiwiZGZjLWI6dmFsdWUiOiIyMy45NSJ9LHsiQGlkIjoiXzpiMTIwNTQ2IiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpLaWxvZ3JhbSIsImRmYy1iOnZhbHVlIjoiMCJ9LHsiQGlkIjoiXzpiMTIwNTQ3IiwiQHR5cGUiOiJkZmMtYjpQcmljZSIsImRmYy1iOlZBVHJhdGUiOiIwIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOlBvdW5kU3RlcmxpbmciLCJkZmMtYjp2YWx1ZSI6IjQ1LjAwIn0seyJAaWQiOiJfOmIxMjA1NDgiLCJAdHlwZSI6ImRmYy1iOlF1YW50aXRhdGl2ZVZhbHVlIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOlBpZWNlIiwiZGZjLWI6dmFsdWUiOiI2In0seyJAaWQiOiJfOmIxMjA1NDkiLCJAdHlwZSI6ImRmYy1iOlF1YW50aXRhdGl2ZVZhbHVlIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOlBpZWNlIiwiZGZjLWI6dmFsdWUiOiIxIn0seyJAaWQiOiJfOmIxMjA1NTAiLCJAdHlwZSI6ImRmYy1iOlF1YW50aXRhdGl2ZVZhbHVlIiwiZGZjLWI6aGFzVW5pdCI6ImRmYy1tOlBpZWNlIiwiZGZjLWI6dmFsdWUiOiIxMiJ9LHsiQGlkIjoiXzpiMTIwNTUxIiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQaWVjZSIsImRmYy1iOnZhbHVlIjoiMSJ9LHsiQGlkIjoiXzpiMTIwNTUyIiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQaWVjZSIsImRmYy1iOnZhbHVlIjoiNiJ9LHsiQGlkIjoiXzpiMTIwNTUzIiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQaWVjZSIsImRmYy1iOnZhbHVlIjoiMSJ9LHsiQGlkIjoiXzpiMTIwNTU0IiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQaWVjZSIsImRmYy1iOnZhbHVlIjoiOCJ9LHsiQGlkIjoiXzpiMTIwNTU1IiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQaWVjZSIsImRmYy1iOnZhbHVlIjoiMSJ9LHsiQGlkIjoiXzpiMTIwNTU2IiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQaWVjZSIsImRmYy1iOnZhbHVlIjoiOCJ9LHsiQGlkIjoiXzpiMTIwNTU3IiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQaWVjZSIsImRmYy1iOnZhbHVlIjoiMSJ9LHsiQGlkIjoiXzpiMTIwNTU4IiwiQHR5cGUiOiJkZmMtYjpRdWFudGl0YXRpdmVWYWx1ZSIsImRmYy1iOmhhc1VuaXQiOiJkZmMtbTpQaWVjZSIsImRmYy1iOnZhbHVlIjoiMTAifSx7IkBpZCI6Il86YjEyMDU1OSIsIkB0eXBlIjoiZGZjLWI6UXVhbnRpdGF0aXZlVmFsdWUiLCJkZmMtYjpoYXNVbml0IjoiZGZjLW06UGllY2UiLCJkZmMtYjp2YWx1ZSI6IjEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjIzODI1OSIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHIgc3R5bGU9XCJib3JkZXI6IDBweDtcIiBkYXRhLW1jZS1zdHlsZT1cImJvcmRlcjogMHB4O1wiPlxuPHRkIGJnY29sb3I9XCIjZDZmYmVkXCIgc3R5bGU9XCJjb2xvcjogIzAwMDAwMDsgYm9yZGVyOiAwcHg7IHdpZHRoOiA1MjZweDtcIiBkYXRhLW1jZS1zdHlsZT1cImNvbG9yOiAjMDAwMDAwOyBib3JkZXI6IDBweDsgd2lkdGg6IDUyNnB4O1wiPjxiPlRoaXMgcmljaCwgaW50ZW5zZSBhbmQgZGVlcGx5IGZsYXZvdXJlZCA2LXllYXIgb2xkIGFwcGxlIGJhbHNhbWljIHZpbmVnYXIgaXMgbWFkZSB1c2luZyB0aGUgdHJhZGl0aW9uYWwgSXRhbGlhbiBtZXRob2Qgb2YgcmVkdWN0aW9uIGFuZCBjb25jZW50cmF0aW9uIG9mIHRoZSBqdWljZSBvdmVyIGEgbGVuZ3RoeSBwZXJpb2Qgb2YgdGltZSwgcmF0aGVyIHRoYW4gYnkgYWRkaW5nIGZsYXZvdXJpbmcgYW5kIGNvbG91cmluZy7CoDwvYj48L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPHA+TGliZXJ0eSBGaWVsZHMgcHJvZHVjZSBzbWFsbCBiYXRjaGVzIG9mIHN1cGVyYiBzeXJ1cCwgYmFsc2FtaWMgdmluZWdhciwgY2lkZXIgYW5kIHZvZGthIGJ5IGhhbmQgZnJvbSB0aGUgZnJ1aXQgb2YgdGhlaXIgb3duIERvcnNldCBhcHBsZSBvcmNoYXJkcywgcGxhbnRlZCBmcm9tIDIwMTAuPGJyPjwvcD5cbjxwPlRoZSBiYWxzYW1pYyB2aW5lZ2FyIGlzIGFnZWQgZm9yIDYgeWVhcnMgaW4gYmFycmVscy7CoFRoZSBvbmx5IGluZ3JlZGllbnQgaXMgYXBwbGVzLjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+SG93IHRvIHVzZTwvaDU+XG48cD5Vc2UgbGlrZSBJdGFsaWFuIGJhbHNhbWljIHZpbmVnYXIuwqA8c3BhbiBkYXRhLW1jZS1mcmFnbWVudD1cIjFcIj5BcyB3ZWxsIGFzIHVzaW5nIG9uIHNhbGFkcywgaXTigJlzIGEgZ3JlYXQgcGFydG5lciBmb3IgZ3JpbGxlZCBtZWF0cyBvciBjaGFyY3V0ZXJpZTsgYSBkcm9wIGJyaW5ncyBvdXQgdGhlIHRhc3RlIG9mIHN0cmF3YmVycmllcyBhbmQgb3RoZXIgc29mdCBmcnVpdHM7IGFuZCBpdCBjYW4gcmVhbGx5IGVuaGFuY2UgYSBzdGV3LCBzYXVjZSBvciBhIHNvdXAuwqA8L3NwYW4+PC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5UbyBzdG9yZTxicj5cbjwvaDU+XG48cD5Gb3IgYmVzdCBiZWZvcmUgZGF0ZSBzZWUgcGFjay4gU3RvcmUgaW4gYSBjb29sLCBkcnkgcGxhY2UuPGJyPjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+SW5ncmVkaWVudHM8L2g1PlxuPHA+QXBwbGVzPGJyPjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+QWxsZXJneSBpbmZvcm1hdGlvbjwvaDU+XG48cD5ObyBhbGxlcmdlbnMuPC9wPjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+TW9yZTwvaDU+XG48cD5Qcm9kdWN0IG9mwqBEb3JzZXQ8YnI+U3VpdGFibGUgZm9yIHZlZ2FucyBhbmQgdmVnZXRhcmlhbnM8YnI+PC9wPiIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMTIwNTE2IiwiZGZjLWI6aW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDczMS84NDgzLzc5MzkvcHJvZHVjdHMvTGliZXJ0eS1GaWVsZHMtQXBwbGUtQmFsc2FtaWMtVmluZWdhci00MG1sXzc5NjE3ZWVhLWFiOGMtNDA3MC05ZTRkLTcxMWJmMDMwYWQwNy5qcGc/dj0xNjc3NzYwNzcyIiwiZGZjLWI6bmFtZSI6IkFwcGxlIEJhbHNhbWljIFZpbmVnYXIgLSBSZXRhaWwgYm90dGxlLCA0MG1sIiwiZGZjLWI6cmVmZXJlbmNlZEJ5IjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2MjM4MjU5L0NhdGFsb2dJdGVtIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjYyMzgyNTkvQXNQbGFubmVkQ29uc3VtcHRpb25GbG93IiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJkZmMtYjpjb25zdW1lcyI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjIzODI1OSIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMTIwNTQ4In0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjYyMzgyNTkvQXNQbGFubmVkUHJvZHVjdGlvbkZsb3ciLCJAdHlwZSI6ImRmYy1iOkFzUGxhbm5lZFByb2R1Y3Rpb25GbG93IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIxMjA1NDkiLCJkZmMtYjpwcm9kdWNlcyI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjI3MTAyNyJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2MjM4MjU5L0FzUGxhbm5lZFRyYW5zZm9ybWF0aW9uIiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRUcmFuc2Zvcm1hdGlvbiIsImRmYy1iOmhhc0luY29tZSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjIzODI1OS9Bc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJkZmMtYjpoYXNPdXRjb21lIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2MjM4MjU5L0FzUGxhbm5lZFByb2R1Y3Rpb25GbG93In0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjYyMzgyNTkvQ2F0YWxvZ0l0ZW0iLCJAdHlwZSI6ImRmYy1iOkNhdGFsb2dJdGVtIiwiZGZjLWI6b2ZmZXJlZFRocm91Z2giOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjYyMzgyNTkvT2ZmZXIiLCJkZmMtYjpza3UiOiJMSUIvTkFCVkkvQkYiLCJkZmMtYjpzdG9ja0xpbWl0YXRpb24iOiItMSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2MjM4MjU5L09mZmVyIiwiQHR5cGUiOiJkZmMtYjpPZmZlciIsImRmYy1iOmhhc1ByaWNlIjp7IkBpZCI6Il86YjEyMDUxNyJ9fSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjI3MTAyNyIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHIgc3R5bGU9XCJib3JkZXI6IDBweDtcIiBkYXRhLW1jZS1zdHlsZT1cImJvcmRlcjogMHB4O1wiPlxuPHRkIGJnY29sb3I9XCIjZDZmYmVkXCIgc3R5bGU9XCJjb2xvcjogIzAwMDAwMDsgYm9yZGVyOiAwcHg7IHdpZHRoOiA1MjZweDtcIiBkYXRhLW1jZS1zdHlsZT1cImNvbG9yOiAjMDAwMDAwOyBib3JkZXI6IDBweDsgd2lkdGg6IDUyNnB4O1wiPjxiPlRoaXMgcmljaCwgaW50ZW5zZSBhbmQgZGVlcGx5IGZsYXZvdXJlZCA2LXllYXIgb2xkIGFwcGxlIGJhbHNhbWljIHZpbmVnYXIgaXMgbWFkZSB1c2luZyB0aGUgdHJhZGl0aW9uYWwgSXRhbGlhbiBtZXRob2Qgb2YgcmVkdWN0aW9uIGFuZCBjb25jZW50cmF0aW9uIG9mIHRoZSBqdWljZSBvdmVyIGEgbGVuZ3RoeSBwZXJpb2Qgb2YgdGltZSwgcmF0aGVyIHRoYW4gYnkgYWRkaW5nIGZsYXZvdXJpbmcgYW5kIGNvbG91cmluZy7CoDwvYj48L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPHA+TGliZXJ0eSBGaWVsZHMgcHJvZHVjZSBzbWFsbCBiYXRjaGVzIG9mIHN1cGVyYiBzeXJ1cCwgYmFsc2FtaWMgdmluZWdhciwgY2lkZXIgYW5kIHZvZGthIGJ5IGhhbmQgZnJvbSB0aGUgZnJ1aXQgb2YgdGhlaXIgb3duIERvcnNldCBhcHBsZSBvcmNoYXJkcywgcGxhbnRlZCBmcm9tIDIwMTAuPGJyPjwvcD5cbjxwPlRoZSBiYWxzYW1pYyB2aW5lZ2FyIGlzIGFnZWQgZm9yIDYgeWVhcnMgaW4gYmFycmVscy7CoFRoZSBvbmx5IGluZ3JlZGllbnQgaXMgYXBwbGVzLjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+SG93IHRvIHVzZTwvaDU+XG48cD5Vc2UgbGlrZSBJdGFsaWFuIGJhbHNhbWljIHZpbmVnYXIuwqA8c3BhbiBkYXRhLW1jZS1mcmFnbWVudD1cIjFcIj5BcyB3ZWxsIGFzIHVzaW5nIG9uIHNhbGFkcywgaXTigJlzIGEgZ3JlYXQgcGFydG5lciBmb3IgZ3JpbGxlZCBtZWF0cyBvciBjaGFyY3V0ZXJpZTsgYSBkcm9wIGJyaW5ncyBvdXQgdGhlIHRhc3RlIG9mIHN0cmF3YmVycmllcyBhbmQgb3RoZXIgc29mdCBmcnVpdHM7IGFuZCBpdCBjYW4gcmVhbGx5IGVuaGFuY2UgYSBzdGV3LCBzYXVjZSBvciBhIHNvdXAuwqA8L3NwYW4+PC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5UbyBzdG9yZTxicj5cbjwvaDU+XG48cD5Gb3IgYmVzdCBiZWZvcmUgZGF0ZSBzZWUgcGFjay4gU3RvcmUgaW4gYSBjb29sLCBkcnkgcGxhY2UuPGJyPjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+SW5ncmVkaWVudHM8L2g1PlxuPHA+QXBwbGVzPGJyPjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+QWxsZXJneSBpbmZvcm1hdGlvbjwvaDU+XG48cD5ObyBhbGxlcmdlbnMuPC9wPjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+TW9yZTwvaDU+XG48cD5Qcm9kdWN0IG9mwqBEb3JzZXQ8YnI+U3VpdGFibGUgZm9yIHZlZ2FucyBhbmQgdmVnZXRhcmlhbnM8YnI+PC9wPiIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMTIwNTM2IiwiZGZjLWI6aW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDczMS84NDgzLzc5MzkvcHJvZHVjdHMvTGliZXJ0eS1GaWVsZHMtQXBwbGUtQmFsc2FtaWMtVmluZWdhci00MG1sXzc5NjE3ZWVhLWFiOGMtNDA3MC05ZTRkLTcxMWJmMDMwYWQwNy5qcGc/dj0xNjc3NzYwNzcyIiwiZGZjLWI6bmFtZSI6IkFwcGxlIEJhbHNhbWljIFZpbmVnYXIgLSBDYXNlLCA2IHggNDBtbCIsImRmYy1iOnJlZmVyZW5jZWRCeSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjI3MTAyNy9DYXRhbG9nSXRlbSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2MjcxMDI3L0NhdGFsb2dJdGVtIiwiQHR5cGUiOiJkZmMtYjpDYXRhbG9nSXRlbSIsImRmYy1iOm9mZmVyZWRUaHJvdWdoIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2MjcxMDI3L09mZmVyIiwiZGZjLWI6c2t1IjoiTElCL05BQlZJL0M2IiwiZGZjLWI6c3RvY2tMaW1pdGF0aW9uIjoiMyJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2MjcxMDI3L09mZmVyIiwiQHR5cGUiOiJkZmMtYjpPZmZlciIsImRmYy1iOmhhc1ByaWNlIjp7IkBpZCI6Il86YjEyMDUzNyJ9fSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjMwMzc5NSIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHIgc3R5bGU9XCJib3JkZXI6IDBweDtcIiBkYXRhLW1jZS1zdHlsZT1cImJvcmRlcjogMHB4O1wiPlxuPHRkIGJnY29sb3I9XCIjZDZmYmVkXCIgc3R5bGU9XCJjb2xvcjogIzAwMDAwMDsgYm9yZGVyOiAwcHg7IHdpZHRoOiA1MjZweDtcIiBkYXRhLW1jZS1zdHlsZT1cImNvbG9yOiAjMDAwMDAwOyBib3JkZXI6IDBweDsgd2lkdGg6IDUyNnB4O1wiPjxiPlRoaXMgcmljaCwgaW50ZW5zZSBhbmQgZGVlcGx5IGZsYXZvdXJlZCA2LXllYXIgb2xkIGFwcGxlIGJhbHNhbWljIHZpbmVnYXIgaXMgbWFkZSB1c2luZyB0aGUgdHJhZGl0aW9uYWwgSXRhbGlhbiBtZXRob2Qgb2YgcmVkdWN0aW9uIGFuZCBjb25jZW50cmF0aW9uIG9mIHRoZSBqdWljZSBvdmVyIGEgbGVuZ3RoeSBwZXJpb2Qgb2YgdGltZSwgcmF0aGVyIHRoYW4gYnkgYWRkaW5nIGZsYXZvdXJpbmcgYW5kIGNvbG91cmluZy7CoDwvYj48L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPHA+TGliZXJ0eSBGaWVsZHMgcHJvZHVjZSBzbWFsbCBiYXRjaGVzIG9mIHN1cGVyYiBzeXJ1cCwgYmFsc2FtaWMgdmluZWdhciwgY2lkZXIgYW5kIHZvZGthIGJ5IGhhbmQgZnJvbSB0aGUgZnJ1aXQgb2YgdGhlaXIgb3duIERvcnNldCBhcHBsZSBvcmNoYXJkcywgcGxhbnRlZCBmcm9tIDIwMTAuPGJyPjwvcD5cbjxwPlRoZSBiYWxzYW1pYyB2aW5lZ2FyIGlzIGFnZWQgZm9yIDYgeWVhcnMgaW4gYmFycmVscy7CoFRoZSBvbmx5IGluZ3JlZGllbnQgaXMgYXBwbGVzLjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+SG93IHRvIHVzZTwvaDU+XG48cD5Vc2UgbGlrZSBJdGFsaWFuIGJhbHNhbWljIHZpbmVnYXIuwqA8c3BhbiBkYXRhLW1jZS1mcmFnbWVudD1cIjFcIj5BcyB3ZWxsIGFzIHVzaW5nIG9uIHNhbGFkcywgaXTigJlzIGEgZ3JlYXQgcGFydG5lciBmb3IgZ3JpbGxlZCBtZWF0cyBvciBjaGFyY3V0ZXJpZTsgYSBkcm9wIGJyaW5ncyBvdXQgdGhlIHRhc3RlIG9mIHN0cmF3YmVycmllcyBhbmQgb3RoZXIgc29mdCBmcnVpdHM7IGFuZCBpdCBjYW4gcmVhbGx5IGVuaGFuY2UgYSBzdGV3LCBzYXVjZSBvciBhIHNvdXAuwqA8L3NwYW4+PC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5UbyBzdG9yZTxicj5cbjwvaDU+XG48cD5Gb3IgYmVzdCBiZWZvcmUgZGF0ZSBzZWUgcGFjay4gU3RvcmUgaW4gYSBjb29sLCBkcnkgcGxhY2UuPGJyPjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+SW5ncmVkaWVudHM8L2g1PlxuPHA+QXBwbGVzPGJyPjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+QWxsZXJneSBpbmZvcm1hdGlvbjwvaDU+XG48cD5ObyBhbGxlcmdlbnMuPC9wPjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+TW9yZTwvaDU+XG48cD5Qcm9kdWN0IG9mwqBEb3JzZXQ8YnI+U3VpdGFibGUgZm9yIHZlZ2FucyBhbmQgdmVnZXRhcmlhbnM8YnI+PC9wPiIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMTIwNTE0IiwiZGZjLWI6aW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDczMS84NDgzLzc5MzkvcHJvZHVjdHMvTGliZXJ0eS1GaWVsZHMtQXBwbGUtQmFsc2FtaWMtVmluZWdhci00MG1sXzc5NjE3ZWVhLWFiOGMtNDA3MC05ZTRkLTcxMWJmMDMwYWQwNy5qcGc/dj0xNjc3NzYwNzcyIiwiZGZjLWI6bmFtZSI6IkFwcGxlIEJhbHNhbWljIFZpbmVnYXIgLSBSZXRhaWwgYm90dGxlLCAxMDBtbCIsImRmYy1iOnJlZmVyZW5jZWRCeSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjMwMzc5NS9DYXRhbG9nSXRlbSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2MzAzNzk1L0NhdGFsb2dJdGVtIiwiQHR5cGUiOiJkZmMtYjpDYXRhbG9nSXRlbSIsImRmYy1iOm9mZmVyZWRUaHJvdWdoIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2MzAzNzk1L09mZmVyIiwiZGZjLWI6c2t1IjoiTElCL05BQlZJL0IxIiwiZGZjLWI6c3RvY2tMaW1pdGF0aW9uIjoiLTEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjMwMzc5NS9PZmZlciIsIkB0eXBlIjoiZGZjLWI6T2ZmZXIiLCJkZmMtYjpoYXNQcmljZSI6eyJAaWQiOiJfOmIxMjA1MTUifX0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUiLCJAdHlwZSI6ImRmYy1iOlN1cHBsaWVkUHJvZHVjdCIsImRmYy1iOmRlc2NyaXB0aW9uIjoiPHRhYmxlIHdpZHRoPVwiMTAwJVwiPlxuPHRib2R5PlxuPHRyIHN0eWxlPVwiYm9yZGVyOiAwcHg7XCI+XG48dGQgYmdjb2xvcj1cIiNkNmZiZWRcIiBzdHlsZT1cImNvbG9yOiAjMDAwMDAwOyBib3JkZXI6IDBweDtcIj48c3Ryb25nPlRoZXkncmUgYmFjayE8L3N0cm9uZz48L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPHA+PHN0cm9uZz5UaGluayBiYWtlZCBiZWFucyBhcmUgQnJpdGlzaD8gVGhleSBhcmUgbm93ISBXZSB1c2Ugb25seSBCcml0aXNoLWdyb3duIGZhdmEgYmVhbnMgLSBCcml0YWluJ3Mgb3JpZ2luYWwgYmVhbiwgZ3Jvd24gaGVyZSBzaW5jZSB0aGUgSXJvbiBBZ2UuIE91ciBCYWtlZCBCcml0aXNoIEJlYW5zIGFyZSBkZWxpY2lvdXNseSBkaWZmZXJlbnQsIHdpdGggbGFyZ2UgbWVhdHkgZmF2YSBiZWFucyBpbiBhIHRhc3R5IHRvbWF0byBzYXVjZS48L3N0cm9uZz48L3A+XG48cD48c3Ryb25nPjxhIHRpdGxlPVwiV2hhdCBhcmUgZmF2YSBiZWFucz8gQXJlbid0IHRoZXkganVzdCBicm9hZCBiZWFucz9cIiBocmVmPVwiL2Jsb2dzL25ld3Mvd2hhdC1hcmUtZmF2YS1iZWFucy1hcmUtdGhleS1qdXN0LWJyb2FkLWJlYW5zXCIgZGF0YS1tY2UtZnJhZ21lbnQ9XCIxXCIgZGF0YS1tY2UtaHJlZj1cIi9ibG9ncy9uZXdzL3doYXQtYXJlLWZhdmEtYmVhbnMtYXJlLXRoZXktanVzdC1icm9hZC1iZWFuc1wiPldoYXQgYXJlIGZhdmEgYmVhbnM/IEZpbmQgb3V0IGhlcmUuLi48L2E+PC9zdHJvbmc+PC9wPlxuPCEtLSBzcGxpdCAtLT48aDM+Q29tcGxldGUgUHJvZHVjdCBEZXRhaWxzPC9oMz48cD5PdXIgQmFrZWQgQnJpdGlzaCBCZWFucyBhcmUgY29va2VkIGFuZCByZWFkeSB0byBlYXQsIGhvdCBvciBjb2xkLiBUaGV5J3JlIGdvb2Qgc2VydmVkIG9uIHRvYXN0IGJ1dCBhbHNvIGRlbGljaW91cyBhZGRlZCB0byBzdGV3cywgY3VycmllcyBvciBjYXNzZXJvbGVzLiBPciBldmVuIGluIGEgcGllLjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+Q29va2luZyBpbnN0cnVjdGlvbnM8L2g1PlxuPHA+PHN0cm9uZz5Db29raW5nIG9uIHRoZSBIb2I8L3N0cm9uZz48YnI+RW1wdHkgY29udGVudHMgaW50byBzYXVjZXBhbi4gSGVhdCBnZW50bHkgZm9yIDQtNSBtaW51dGVzIHdoaWxlIHN0aXJyaW5nLiBGb3IgYmVzdCBmbGF2b3VyIGRvIG5vdCBib2lsIG9yIG92ZXJjb29rLiBEbyBub3QgcmVoZWF0LjwvcD5cbjxwPjxzdHJvbmc+TWljcm93YXZlIENvb2tpbmc8L3N0cm9uZz48YnI+RW1wdHkgY29udGVudHMgaW50byBhIG5vbi1tZXRhbGxpYyBib3dsIGFuZCBjb3Zlci4gSGVhdCBmb3IgMiB0byAzIG1pbnV0ZXMsIHN0aXJyaW5nIGhhbGZ3YXkuIENoZWNrIHRoZSBmb29kIGlzIGhvdCwgc3RpciB3ZWxsIGFuZCBzZXJ2ZS4gRG8gbm90IHJlaGVhdC48L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPlRvIFN0b3JlPC9oNT5cbjxwPlN0b3JlIGluIGEgY29vbCwgZHJ5IHBsYWNlLiBPbmNlIG9wZW5lZCwgdHJhbnNmZXIgY29udGVudHMgdG8gYSBub24tbWV0YWxsaWMgY29udGFpbmVyLCBjb3ZlciByZWZyaWdlcmF0ZSBhbmQgdXNlIHdpdGggMiBkYXlzLjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+SW5ncmVkaWVudHM8L2g1PlxuPHA+RmF2YSBCZWFucyAoQnJvYWQgQmVhbnMpICg0MiUpLCBXYXRlciwgVG9tYXRvIFB1cmVlLCBTdWdhciwgTW9kaWZpZWQgTWFpemUgU3RhcmNoLCBTYWx0LCBIZXJicyAmYW1wOyBTcGljZXMsIENvbmNlbnRyYXRlZCBMZW1vbiBKdWljZTwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+QWxsZXJneSBpbmZvcm1hdGlvbjwvaDU+XG48cD5ObyBBbGxlcmdlbnM8L3A+XG48dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHI+XG48dGQ+PHN0cm9uZz5UeXBpY2FsIHZhbHVlczwvc3Ryb25nPjwvdGQ+XG48dGQ+PHN0cm9uZz5QZXIgMTAwZzwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkVuZXJneTwvdGQ+XG48dGQ+Mjkya0ogKDY5a2NhbCk8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GYXQ8L3RkPlxuPHRkPjAuNGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzYXR1cmF0ZXM8L3RkPlxuPHRkPjAuMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5DYXJib2h5ZHJhdGU8L3RkPlxuPHRkPjEwLjFnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+b2Ygd2hpY2ggc3VnYXJzPC90ZD5cbjx0ZD40LjZnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RmlicmU8L3RkPlxuPHRkPjVnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+UHJvdGVpbjwvdGQ+XG48dGQ+NGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5TYWx0PC90ZD5cbjx0ZD4wLjZnPC90ZD5cbjwvdHI+XG48L3Rib2R5PlxuPC90YWJsZT48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPk1vcmU8L2g1PlxuPHA+RGVsaWNpb3VzLCBudXRyaXRpb3VzIGFuZCBnb29kIGZvciB0aGUgc29pbCwgZmF2YSBiZWFucyBhcmUgYSB2YXJpZXR5IG9mIGJyb2FkIGJlYW4sIFZpY2lhIGZhYmEsIGxlZnQgdG8gcmlwZW4gYW5kIGRyeSBiZWZvcmUgaGFydmVzdC4gVGhleeKAmXJlIGFsc28ga25vd24gYXMgZmllbGQgYmVhbnMsIGhvcnNlIGJlYW5zLCBXaW5kc29yIGJlYW5zIG9yIGZ1bC48L3A+XG48cD5TdWl0YWJsZSBmb3IgdmVnYW5zIGFuZCB2ZWdldGFyaWFuczwvcD5cbiIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMTIwNTE4IiwiZGZjLWI6aW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDczMS84NDgzLzc5MzkvcHJvZHVjdHMvUGFjay1DYW4tQmFrZWQtQmVhbnMtMTgwMHg2Xzk4M3g2NTZfNTEzNzU4ZTYtMjYxNi00Njg3LWE4YjItYmE2ZGRlODY0OTIzLmpwZz92PTE2Nzc3NjA3NzgiLCJkZmMtYjpuYW1lIjoiQmFrZWQgQnJpdGlzaCBCZWFucyAtIFJldGFpbCBjYW4sIDQwMGcgKGNhbikiLCJkZmMtYjpyZWZlcmVuY2VkQnkiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvQ2F0YWxvZ0l0ZW0ifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9Bc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJAdHlwZSI6ImRmYy1iOkFzUGxhbm5lZENvbnN1bXB0aW9uRmxvdyIsImRmYy1iOmNvbnN1bWVzIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIxMjA1NTAifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9Bc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyIsIkB0eXBlIjoiZGZjLWI6QXNQbGFubmVkUHJvZHVjdGlvbkZsb3ciLCJkZmMtYjpoYXNRdWFudGl0eSI6Il86YjEyMDU1MSIsImRmYy1iOnByb2R1Y2VzIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NTAwNDAzIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvQXNQbGFubmVkVHJhbnNmb3JtYXRpb24iLCJAdHlwZSI6ImRmYy1iOkFzUGxhbm5lZFRyYW5zZm9ybWF0aW9uIiwiZGZjLWI6aGFzSW5jb21lIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L0FzUGxhbm5lZENvbnN1bXB0aW9uRmxvdyIsImRmYy1iOmhhc091dGNvbWUiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY0Njc2MzUvQXNQbGFubmVkUHJvZHVjdGlvbkZsb3cifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9DYXRhbG9nSXRlbSIsIkB0eXBlIjoiZGZjLWI6Q2F0YWxvZ0l0ZW0iLCJkZmMtYjpvZmZlcmVkVGhyb3VnaCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjQ2NzYzNS9PZmZlciIsImRmYy1iOnNrdSI6Ik5DQkIvVDQiLCJkZmMtYjpzdG9ja0xpbWl0YXRpb24iOiItMSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NDY3NjM1L09mZmVyIiwiQHR5cGUiOiJkZmMtYjpPZmZlciIsImRmYy1iOmhhc1ByaWNlIjp7IkBpZCI6Il86YjEyMDUxOSJ9fSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjUwMDQwMyIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHIgc3R5bGU9XCJib3JkZXI6IDBweDtcIj5cbjx0ZCBiZ2NvbG9yPVwiI2Q2ZmJlZFwiIHN0eWxlPVwiY29sb3I6ICMwMDAwMDA7IGJvcmRlcjogMHB4O1wiPjxzdHJvbmc+VGhleSdyZSBiYWNrITwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPC90Ym9keT5cbjwvdGFibGU+XG48cD48c3Ryb25nPlRoaW5rIGJha2VkIGJlYW5zIGFyZSBCcml0aXNoPyBUaGV5IGFyZSBub3chIFdlIHVzZSBvbmx5IEJyaXRpc2gtZ3Jvd24gZmF2YSBiZWFucyAtIEJyaXRhaW4ncyBvcmlnaW5hbCBiZWFuLCBncm93biBoZXJlIHNpbmNlIHRoZSBJcm9uIEFnZS4gT3VyIEJha2VkIEJyaXRpc2ggQmVhbnMgYXJlIGRlbGljaW91c2x5IGRpZmZlcmVudCwgd2l0aCBsYXJnZSBtZWF0eSBmYXZhIGJlYW5zIGluIGEgdGFzdHkgdG9tYXRvIHNhdWNlLjwvc3Ryb25nPjwvcD5cbjxwPjxzdHJvbmc+PGEgdGl0bGU9XCJXaGF0IGFyZSBmYXZhIGJlYW5zPyBBcmVuJ3QgdGhleSBqdXN0IGJyb2FkIGJlYW5zP1wiIGhyZWY9XCIvYmxvZ3MvbmV3cy93aGF0LWFyZS1mYXZhLWJlYW5zLWFyZS10aGV5LWp1c3QtYnJvYWQtYmVhbnNcIiBkYXRhLW1jZS1mcmFnbWVudD1cIjFcIiBkYXRhLW1jZS1ocmVmPVwiL2Jsb2dzL25ld3Mvd2hhdC1hcmUtZmF2YS1iZWFucy1hcmUtdGhleS1qdXN0LWJyb2FkLWJlYW5zXCI+V2hhdCBhcmUgZmF2YSBiZWFucz8gRmluZCBvdXQgaGVyZS4uLjwvYT48L3N0cm9uZz48L3A+XG48IS0tIHNwbGl0IC0tPjxoMz5Db21wbGV0ZSBQcm9kdWN0IERldGFpbHM8L2gzPjxwPk91ciBCYWtlZCBCcml0aXNoIEJlYW5zIGFyZSBjb29rZWQgYW5kIHJlYWR5IHRvIGVhdCwgaG90IG9yIGNvbGQuIFRoZXkncmUgZ29vZCBzZXJ2ZWQgb24gdG9hc3QgYnV0IGFsc28gZGVsaWNpb3VzIGFkZGVkIHRvIHN0ZXdzLCBjdXJyaWVzIG9yIGNhc3Nlcm9sZXMuIE9yIGV2ZW4gaW4gYSBwaWUuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD48c3Ryb25nPkNvb2tpbmcgb24gdGhlIEhvYjwvc3Ryb25nPjxicj5FbXB0eSBjb250ZW50cyBpbnRvIHNhdWNlcGFuLiBIZWF0IGdlbnRseSBmb3IgNC01IG1pbnV0ZXMgd2hpbGUgc3RpcnJpbmcuIEZvciBiZXN0IGZsYXZvdXIgZG8gbm90IGJvaWwgb3Igb3ZlcmNvb2suIERvIG5vdCByZWhlYXQuPC9wPlxuPHA+PHN0cm9uZz5NaWNyb3dhdmUgQ29va2luZzwvc3Ryb25nPjxicj5FbXB0eSBjb250ZW50cyBpbnRvIGEgbm9uLW1ldGFsbGljIGJvd2wgYW5kIGNvdmVyLiBIZWF0IGZvciAyIHRvIDMgbWludXRlcywgc3RpcnJpbmcgaGFsZndheS4gQ2hlY2sgdGhlIGZvb2QgaXMgaG90LCBzdGlyIHdlbGwgYW5kIHNlcnZlLiBEbyBub3QgcmVoZWF0LjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+VG8gU3RvcmU8L2g1PlxuPHA+U3RvcmUgaW4gYSBjb29sLCBkcnkgcGxhY2UuIE9uY2Ugb3BlbmVkLCB0cmFuc2ZlciBjb250ZW50cyB0byBhIG5vbi1tZXRhbGxpYyBjb250YWluZXIsIGNvdmVyIHJlZnJpZ2VyYXRlIGFuZCB1c2Ugd2l0aCAyIGRheXMuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5GYXZhIEJlYW5zIChCcm9hZCBCZWFucykgKDQyJSksIFdhdGVyLCBUb21hdG8gUHVyZWUsIFN1Z2FyLCBNb2RpZmllZCBNYWl6ZSBTdGFyY2gsIFNhbHQsIEhlcmJzICZhbXA7IFNwaWNlcywgQ29uY2VudHJhdGVkIExlbW9uIEp1aWNlPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5BbGxlcmd5IGluZm9ybWF0aW9uPC9oNT5cbjxwPk5vIEFsbGVyZ2VuczwvcD5cbjx0YWJsZSB3aWR0aD1cIjEwMCVcIj5cbjx0Ym9keT5cbjx0cj5cbjx0ZD48c3Ryb25nPlR5cGljYWwgdmFsdWVzPC9zdHJvbmc+PC90ZD5cbjx0ZD48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RW5lcmd5PC90ZD5cbjx0ZD4yOTJrSiAoNjlrY2FsKTwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkZhdDwvdGQ+XG48dGQ+MC40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQ+MC4xZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkNhcmJvaHlkcmF0ZTwvdGQ+XG48dGQ+MTAuMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzdWdhcnM8L3RkPlxuPHRkPjQuNmc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GaWJyZTwvdGQ+XG48dGQ+NWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5Qcm90ZWluPC90ZD5cbjx0ZD40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPlNhbHQ8L3RkPlxuPHRkPjAuNmc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+TW9yZTwvaDU+XG48cD5EZWxpY2lvdXMsIG51dHJpdGlvdXMgYW5kIGdvb2QgZm9yIHRoZSBzb2lsLCBmYXZhIGJlYW5zIGFyZSBhIHZhcmlldHkgb2YgYnJvYWQgYmVhbiwgVmljaWEgZmFiYSwgbGVmdCB0byByaXBlbiBhbmQgZHJ5IGJlZm9yZSBoYXJ2ZXN0LiBUaGV54oCZcmUgYWxzbyBrbm93biBhcyBmaWVsZCBiZWFucywgaG9yc2UgYmVhbnMsIFdpbmRzb3IgYmVhbnMgb3IgZnVsLjwvcD5cbjxwPlN1aXRhYmxlIGZvciB2ZWdhbnMgYW5kIHZlZ2V0YXJpYW5zPC9wPlxuIiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIxMjA1MzgiLCJkZmMtYjppbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNzMxLzg0ODMvNzkzOS9wcm9kdWN0cy9QYWNrLUNhbi1CYWtlZC1CZWFucy0xODAweDZfOTgzeDY1Nl81MTM3NThlNi0yNjE2LTQ2ODctYThiMi1iYTZkZGU4NjQ5MjMuanBnP3Y9MTY3Nzc2MDc3OCIsImRmYy1iOm5hbWUiOiJCYWtlZCBCcml0aXNoIEJlYW5zIC0gQ2FzZSwgMTIgeCA0MDBnIChjYW4pIiwiZGZjLWI6cmVmZXJlbmNlZEJ5IjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2NTAwNDAzL0NhdGFsb2dJdGVtIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMvQ2F0YWxvZ0l0ZW0iLCJAdHlwZSI6ImRmYy1iOkNhdGFsb2dJdGVtIiwiZGZjLWI6b2ZmZXJlZFRocm91Z2giOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY1MDA0MDMvT2ZmZXIiLCJkZmMtYjpza3UiOiJOQ0JCL0NEIiwiZGZjLWI6c3RvY2tMaW1pdGF0aW9uIjoiLTEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjUwMDQwMy9PZmZlciIsIkB0eXBlIjoiZGZjLWI6T2ZmZXIiLCJkZmMtYjpoYXNQcmljZSI6eyJAaWQiOiJfOmIxMjA1MzkifX0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY4MjgwODMiLCJAdHlwZSI6ImRmYy1iOlN1cHBsaWVkUHJvZHVjdCIsImRmYy1iOmRlc2NyaXB0aW9uIjoiPHRhYmxlIHdpZHRoPVwiMTAwJVwiPlxuPHRib2R5PlxuPHRyIHN0eWxlPVwiYm9yZGVyOiAwcHg7XCIgZGF0YS1tY2Utc3R5bGU9XCJib3JkZXI6IDBweDtcIj5cbjx0ZCBiZ2NvbG9yPVwiI2Q2ZmJlZFwiIHN0eWxlPVwiY29sb3I6ICMwMDAwMDA7IGJvcmRlcjogMHB4OyB3aWR0aDogNTI2cHg7XCIgZGF0YS1tY2Utc3R5bGU9XCJjb2xvcjogIzAwMDAwMDsgYm9yZGVyOiAwcHg7IHdpZHRoOiA1MjZweDtcIj5cbjxwPjxiPjEwIGdyYWlucywgc2VlZHMgYW5kIHB1bHNlcyB3aXRoIG5ldHRsZSBhbmQgc2Vhd2VlZCBhcmUgYmxlbmRlZCB0byBwcm9kdWNlIHRoaXMgYmFzZSBkaXZlcnNpdHkgZmxvdXIgYmxlbmQuwqBQZXJzb25hbGlzZSB5b3VyIGJha2luZyBieSBhZGRpbmcgeW91ciBvd24gaGVyYnMsIHNwaWNlcyBvciBlZGlibGUgZmxvd2Vycy48L2I+PC9wPlxuPHA+PGI+VGhpc8KgaXMgYSBmcmVzaGx5IHN0b25lLW1pbGxlZCB3aG9sZW1lYWwgZmxvdXIsIHJlYWR5IHRvIHVzZSBpbiB5b3VyIGJyZWFkIGFuZCBiYWtlcy7CoDwvYj48L3A+XG48cD48Yj5QTEVBU0UgTk9URTogT3VywqBzcGVjaWFsaXR5IGZsb3VycyBhcmUgZnJlc2hseSBtaWxsZWQgaW4gc21hbGwgYmF0Y2hlcy4gRGVwZW5kaW5nIG9uIG91ciBtaWxsaW5nIHNjaGVkdWxlIG9yZGVycyBpbmNsdWRpbmcgc3BlY2lhbGl0eSBmbG91ciBhcmUgZ2VuZXJhbGx5IGRlbGl2ZXJlZCBpbiAyLTUgd29ya2luZyBkYXlzIGJ1dCBvbiBvY2Nhc2lvbiBtYXkgdGFrZSB1cCB0byAxMCB3b3JraW5nIGRheXMuPC9iPjwvcD5cbjwvdGQ+XG48L3RyPlxuPC90Ym9keT5cbjwvdGFibGU+XG48cD5DcmVhdGVkIGJ5IFZhbmVzc2EgS2ltYmVsbCBvZiB0aGUgU291cmRvdWdoIFNjaG9vbCBhbmQgYmxlbmRlZCBoZXJlIGF0IHRoZSBCZWFuIFN0b3JlIGZyb20gZ3JhaW5zIGFuZCBzZWVkcyBncm93biBieSBVSyBmYXJtZXJzLCB0aGlzIGJvdGFuaWNhbCBiYXNlIG1peCBpcyBkZXNpZ25lZCBmb3IgdXNlIGluIHN3ZWV0IGFuZCBzYXZvdXJ5IHNvdXJkb3VnaCBiYWtpbmcuPGJyPjwvcD5cbjxwPkJvdGFuaWNhbCBCbGVuZCAjMCsgaXMgdGhlIHNlY29uZCBvZiBzZXZlcmFsIGJsZW5kcyB3ZSBwbGFuIHRvIG9mZmVyLCBhbGwgdGhlIGN1bG1pbmF0aW9uIG9mIHllYXJzIG9mIHJlc2VhcmNoIGJ5IFZhbmVzc2EgaW50byB0aGUgd29ya2luZ3Mgb2YgdGhlIGd1dCBtaWNyb2Jpb21lLCB0aGUgcHJvY2VzcyBvZiB3aWxkIHllYXN0IGZlcm1lbnRhdGlvbiBhbmQgdGhlIGFydCBvZiBiYWtpbmcgZm9yIGZsYXZvdXIgYW5kIG51dHJpdGlvbi4gVGhleSByZWZsZWN0IHRoZSBkaXZlcnNpdHkgd2UgbmVlZCB0byBzZWUgaW4gZmllbGRzIGFuZCBpbiBvdXIgZGlldHMuPGJyPjwvcD5cbjxwPkFueSBob21lIGJha2VyIGNhbiBtaWxsIGFuZCBhZGQgdDxzcGFuIGRhdGEtbWNlLWZyYWdtZW50PVwiMVwiPmhlIGJsZW5kIHRvIHRoZWlyIGJha2VzLCBicmluZ2luZyBleHRyYSBmcmFncmFuY2UsIGZsYXZvdXLCoGFuZCBudXRyaXRpb24uIEhvd2V2ZXIsIHRoZSBibGVuZCBpcyBiZXN0IHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aMKgPGEgaHJlZj1cImh0dHBzOi8vaG9kbWVkb2RzLmNvLnVrL3Byb2R1Y3RzL3RoZS1zb3VyZG91Z2gtc2Nob29sLXN3ZWV0LWJha2luZ1wiIHRpdGxlPVwiU3dlZXQgQmFraW5nXCI+VGhlIFNvdXJkb3VnaCBTY2hvb2w6IFN3ZWV0IEJha2luZzwvYT4gd2hpY2ggY2FuIGJlIGJvdWdodCBzZXBhcmF0ZWx5IG9yIHdpdGggdGhlIGJsZW5kLCBlaXRoZXIgd2F5IGluY2x1ZGluZ8KgYSBmcmVlIMKjNSBIb2RtZWRvZCB2b3VjaGVyLjwvc3Bhbj48L3A+XG48cD48c3BhbiBkYXRhLW1jZS1mcmFnbWVudD1cIjFcIj5UaGUgIFNvdXJkb3VnaCBTY2hvb2w6IEJvdGFuaWNhbCBCbGVuZHMgaW5mb3JtYXRpb24gc2hlZXQgaXMgYXZhaWxhYmxlIGFzIGEgZnJlZSBwZGYgZG93bmxvYWQuPC9zcGFuPjwvcD48aDM+Q29tcGxldGUgUHJvZHVjdCBEZXRhaWxzPC9oMz48cD5UaGlzIG1peCBoYXMgYmVlbiBjcmVhdGVkIGZvciBob21lIGJha2luZy7CoFVzZSBhcyBwbGFpbiB3aG9sZW1lYWwgZmxvdXLCoCBmb3IgZ3JlYXRlciBkaXZlcnNpdHkgYW5kIGJyZWFkdGggb2YgZmxhdm91ciBpbiB5b3VyIGJha2luZy7CoEFkZCB1cCB0byA1JSBib3RhbmljYWxzIGFuZCB1c2Ugd2l0aCB5b3VyIHVzdWFsIGJyZWFkIGZsb3VyIGZvciBkaXZlcnNpdHkgYW5kIGJyZWFkdGggb2YgZmxhdm91ciBpbiBiYWtpbmcuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD48c3Ryb25nPldoZWF0PC9zdHJvbmc+IChZUSAvIEJsYWNrc21pdGggLyBGbGFuZGVycyAvIE1pbGxlcuKAmXMgQ2hvaWNlKSwgTGVudGlscywgTmFrZWQgPHN0cm9uZz5CYXJsZXk8L3N0cm9uZz4sIEZsYW1pbmdvIFBlYXMsIFJ5ZSwgTWFsdGVkIDxzdHJvbmc+T2F0czwvc3Ryb25nPiwgPHN0cm9uZz5TcGVsdDwvc3Ryb25nPiwgTmV0dGxlLCBTZWF3ZWVkPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5BbGxlcmd5wqBhZHZpY2U8L2g1PlxuPHA+Rm9yIGFsbGVyZ2VucywgaW5jbHVkaW5nIGNlcmVhbHMgY29udGFpbmluZyBnbHV0ZW4sIHNlZSBpbmdyZWRpZW50cyBpbjxzdHJvbmc+wqBib2xkLjwvc3Ryb25nPjwvcD5cbjx0YWJsZSB3aWR0aD1cIjEwMCVcIj5cbjx0Ym9keT5cbjx0cj5cbjx0ZD48c3Ryb25nPlR5cGljYWwgdmFsdWVzPC9zdHJvbmc+PC90ZD5cbjx0ZD48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RW5lcmd5PC90ZD5cbjx0ZD4xLDQ1NWtKICgzNDhrY2FsKTwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkZhdDwvdGQ+XG48dGQ+My42ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQ+MC41ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkNhcmJvaHlkcmF0ZTwvdGQ+XG48dGQ+NTcuNWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzdWdhcnM8L3RkPlxuPHRkPjEuMmc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GaWJyZTwvdGQ+XG48dGQ+MTEuMmc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5Qcm90ZWluPC90ZD5cbjx0ZD4xNS40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPlNhbHQ8L3RkPlxuPHRkPjAuMDJnPC90ZD5cbjwvdHI+XG48L3Rib2R5PlxuPC90YWJsZT48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPk1vcmU8L2g1PlxuPHA+U3VpdGFibGUgZm9yIHZlZ2FucyBhbmQgdmVnZXRhcmlhbnM8L3A+XG4iLCJkZmMtYjpoYXNRdWFudGl0eSI6Il86YjEyMDUyMCIsImRmYy1iOmltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvODQ4My83OTM5L3Byb2R1Y3RzL0JvdGFuaWNhbC1CbGVuZC0wXy1GbG91ci0yNDAweDE4MDBfOTkzMmU0NGQtYzEyNS00OTQ3LWIyYWEtOGE5MGUwZWNlNGZjLmpwZz92PTE2Nzc3NjA3ODUiLCJkZmMtYjpuYW1lIjoiQm90YW5pY2FsIEZsb3VyLCAjMCBCYXNlIEJsZW5kIC0gQ2F0ZXJpbmcsIGtpbG8sIDFrZyIsImRmYy1iOnJlZmVyZW5jZWRCeSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjgyODA4My9DYXRhbG9nSXRlbSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2ODI4MDgzL0FzUGxhbm5lZENvbnN1bXB0aW9uRmxvdyIsIkB0eXBlIjoiZGZjLWI6QXNQbGFubmVkQ29uc3VtcHRpb25GbG93IiwiZGZjLWI6Y29uc3VtZXMiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY4MjgwODMiLCJkZmMtYjpoYXNRdWFudGl0eSI6Il86YjEyMDU1MiJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2ODI4MDgzL0FzUGxhbm5lZFByb2R1Y3Rpb25GbG93IiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMTIwNTUzIiwiZGZjLWI6cHJvZHVjZXMiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY4NjA4NTEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjgyODA4My9Bc1BsYW5uZWRUcmFuc2Zvcm1hdGlvbiIsIkB0eXBlIjoiZGZjLWI6QXNQbGFubmVkVHJhbnNmb3JtYXRpb24iLCJkZmMtYjpoYXNJbmNvbWUiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY4MjgwODMvQXNQbGFubmVkQ29uc3VtcHRpb25GbG93IiwiZGZjLWI6aGFzT3V0Y29tZSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjgyODA4My9Bc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2ODI4MDgzL0NhdGFsb2dJdGVtIiwiQHR5cGUiOiJkZmMtYjpDYXRhbG9nSXRlbSIsImRmYy1iOm9mZmVyZWRUaHJvdWdoIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2ODI4MDgzL09mZmVyIiwiZGZjLWI6c2t1IjoiTkZCMC8xSyIsImRmYy1iOnN0b2NrTGltaXRhdGlvbiI6IjUifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NjgyODA4My9PZmZlciIsIkB0eXBlIjoiZGZjLWI6T2ZmZXIiLCJkZmMtYjpoYXNQcmljZSI6eyJAaWQiOiJfOmIxMjA1MjEifX0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjY4NjA4NTEiLCJAdHlwZSI6ImRmYy1iOlN1cHBsaWVkUHJvZHVjdCIsImRmYy1iOmRlc2NyaXB0aW9uIjoiPHRhYmxlIHdpZHRoPVwiMTAwJVwiPlxuPHRib2R5PlxuPHRyIHN0eWxlPVwiYm9yZGVyOiAwcHg7XCIgZGF0YS1tY2Utc3R5bGU9XCJib3JkZXI6IDBweDtcIj5cbjx0ZCBiZ2NvbG9yPVwiI2Q2ZmJlZFwiIHN0eWxlPVwiY29sb3I6ICMwMDAwMDA7IGJvcmRlcjogMHB4OyB3aWR0aDogNTI2cHg7XCIgZGF0YS1tY2Utc3R5bGU9XCJjb2xvcjogIzAwMDAwMDsgYm9yZGVyOiAwcHg7IHdpZHRoOiA1MjZweDtcIj5cbjxwPjxiPjEwIGdyYWlucywgc2VlZHMgYW5kIHB1bHNlcyB3aXRoIG5ldHRsZSBhbmQgc2Vhd2VlZCBhcmUgYmxlbmRlZCB0byBwcm9kdWNlIHRoaXMgYmFzZSBkaXZlcnNpdHkgZmxvdXIgYmxlbmQuwqBQZXJzb25hbGlzZSB5b3VyIGJha2luZyBieSBhZGRpbmcgeW91ciBvd24gaGVyYnMsIHNwaWNlcyBvciBlZGlibGUgZmxvd2Vycy48L2I+PC9wPlxuPHA+PGI+VGhpc8KgaXMgYSBmcmVzaGx5IHN0b25lLW1pbGxlZCB3aG9sZW1lYWwgZmxvdXIsIHJlYWR5IHRvIHVzZSBpbiB5b3VyIGJyZWFkIGFuZCBiYWtlcy7CoDwvYj48L3A+XG48cD48Yj5QTEVBU0UgTk9URTogT3VywqBzcGVjaWFsaXR5IGZsb3VycyBhcmUgZnJlc2hseSBtaWxsZWQgaW4gc21hbGwgYmF0Y2hlcy4gRGVwZW5kaW5nIG9uIG91ciBtaWxsaW5nIHNjaGVkdWxlIG9yZGVycyBpbmNsdWRpbmcgc3BlY2lhbGl0eSBmbG91ciBhcmUgZ2VuZXJhbGx5IGRlbGl2ZXJlZCBpbiAyLTUgd29ya2luZyBkYXlzIGJ1dCBvbiBvY2Nhc2lvbiBtYXkgdGFrZSB1cCB0byAxMCB3b3JraW5nIGRheXMuPC9iPjwvcD5cbjwvdGQ+XG48L3RyPlxuPC90Ym9keT5cbjwvdGFibGU+XG48cD5DcmVhdGVkIGJ5IFZhbmVzc2EgS2ltYmVsbCBvZiB0aGUgU291cmRvdWdoIFNjaG9vbCBhbmQgYmxlbmRlZCBoZXJlIGF0IHRoZSBCZWFuIFN0b3JlIGZyb20gZ3JhaW5zIGFuZCBzZWVkcyBncm93biBieSBVSyBmYXJtZXJzLCB0aGlzIGJvdGFuaWNhbCBiYXNlIG1peCBpcyBkZXNpZ25lZCBmb3IgdXNlIGluIHN3ZWV0IGFuZCBzYXZvdXJ5IHNvdXJkb3VnaCBiYWtpbmcuPGJyPjwvcD5cbjxwPkJvdGFuaWNhbCBCbGVuZCAjMCsgaXMgdGhlIHNlY29uZCBvZiBzZXZlcmFsIGJsZW5kcyB3ZSBwbGFuIHRvIG9mZmVyLCBhbGwgdGhlIGN1bG1pbmF0aW9uIG9mIHllYXJzIG9mIHJlc2VhcmNoIGJ5IFZhbmVzc2EgaW50byB0aGUgd29ya2luZ3Mgb2YgdGhlIGd1dCBtaWNyb2Jpb21lLCB0aGUgcHJvY2VzcyBvZiB3aWxkIHllYXN0IGZlcm1lbnRhdGlvbiBhbmQgdGhlIGFydCBvZiBiYWtpbmcgZm9yIGZsYXZvdXIgYW5kIG51dHJpdGlvbi4gVGhleSByZWZsZWN0IHRoZSBkaXZlcnNpdHkgd2UgbmVlZCB0byBzZWUgaW4gZmllbGRzIGFuZCBpbiBvdXIgZGlldHMuPGJyPjwvcD5cbjxwPkFueSBob21lIGJha2VyIGNhbiBtaWxsIGFuZCBhZGQgdDxzcGFuIGRhdGEtbWNlLWZyYWdtZW50PVwiMVwiPmhlIGJsZW5kIHRvIHRoZWlyIGJha2VzLCBicmluZ2luZyBleHRyYSBmcmFncmFuY2UsIGZsYXZvdXLCoGFuZCBudXRyaXRpb24uIEhvd2V2ZXIsIHRoZSBibGVuZCBpcyBiZXN0IHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aMKgPGEgaHJlZj1cImh0dHBzOi8vaG9kbWVkb2RzLmNvLnVrL3Byb2R1Y3RzL3RoZS1zb3VyZG91Z2gtc2Nob29sLXN3ZWV0LWJha2luZ1wiIHRpdGxlPVwiU3dlZXQgQmFraW5nXCI+VGhlIFNvdXJkb3VnaCBTY2hvb2w6IFN3ZWV0IEJha2luZzwvYT4gd2hpY2ggY2FuIGJlIGJvdWdodCBzZXBhcmF0ZWx5IG9yIHdpdGggdGhlIGJsZW5kLCBlaXRoZXIgd2F5IGluY2x1ZGluZ8KgYSBmcmVlIMKjNSBIb2RtZWRvZCB2b3VjaGVyLjwvc3Bhbj48L3A+XG48cD48c3BhbiBkYXRhLW1jZS1mcmFnbWVudD1cIjFcIj5UaGUgIFNvdXJkb3VnaCBTY2hvb2w6IEJvdGFuaWNhbCBCbGVuZHMgaW5mb3JtYXRpb24gc2hlZXQgaXMgYXZhaWxhYmxlIGFzIGEgZnJlZSBwZGYgZG93bmxvYWQuPC9zcGFuPjwvcD48aDM+Q29tcGxldGUgUHJvZHVjdCBEZXRhaWxzPC9oMz48cD5UaGlzIG1peCBoYXMgYmVlbiBjcmVhdGVkIGZvciBob21lIGJha2luZy7CoFVzZSBhcyBwbGFpbiB3aG9sZW1lYWwgZmxvdXLCoCBmb3IgZ3JlYXRlciBkaXZlcnNpdHkgYW5kIGJyZWFkdGggb2YgZmxhdm91ciBpbiB5b3VyIGJha2luZy7CoEFkZCB1cCB0byA1JSBib3RhbmljYWxzIGFuZCB1c2Ugd2l0aCB5b3VyIHVzdWFsIGJyZWFkIGZsb3VyIGZvciBkaXZlcnNpdHkgYW5kIGJyZWFkdGggb2YgZmxhdm91ciBpbiBiYWtpbmcuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD48c3Ryb25nPldoZWF0PC9zdHJvbmc+IChZUSAvIEJsYWNrc21pdGggLyBGbGFuZGVycyAvIE1pbGxlcuKAmXMgQ2hvaWNlKSwgTGVudGlscywgTmFrZWQgPHN0cm9uZz5CYXJsZXk8L3N0cm9uZz4sIEZsYW1pbmdvIFBlYXMsIFJ5ZSwgTWFsdGVkIDxzdHJvbmc+T2F0czwvc3Ryb25nPiwgPHN0cm9uZz5TcGVsdDwvc3Ryb25nPiwgTmV0dGxlLCBTZWF3ZWVkPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5BbGxlcmd5wqBhZHZpY2U8L2g1PlxuPHA+Rm9yIGFsbGVyZ2VucywgaW5jbHVkaW5nIGNlcmVhbHMgY29udGFpbmluZyBnbHV0ZW4sIHNlZSBpbmdyZWRpZW50cyBpbjxzdHJvbmc+wqBib2xkLjwvc3Ryb25nPjwvcD5cbjx0YWJsZSB3aWR0aD1cIjEwMCVcIj5cbjx0Ym9keT5cbjx0cj5cbjx0ZD48c3Ryb25nPlR5cGljYWwgdmFsdWVzPC9zdHJvbmc+PC90ZD5cbjx0ZD48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RW5lcmd5PC90ZD5cbjx0ZD4xLDQ1NWtKICgzNDhrY2FsKTwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkZhdDwvdGQ+XG48dGQ+My42ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQ+MC41ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkNhcmJvaHlkcmF0ZTwvdGQ+XG48dGQ+NTcuNWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzdWdhcnM8L3RkPlxuPHRkPjEuMmc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GaWJyZTwvdGQ+XG48dGQ+MTEuMmc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5Qcm90ZWluPC90ZD5cbjx0ZD4xNS40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPlNhbHQ8L3RkPlxuPHRkPjAuMDJnPC90ZD5cbjwvdHI+XG48L3Rib2R5PlxuPC90YWJsZT48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPk1vcmU8L2g1PlxuPHA+U3VpdGFibGUgZm9yIHZlZ2FucyBhbmQgdmVnZXRhcmlhbnM8L3A+XG4iLCJkZmMtYjpoYXNRdWFudGl0eSI6Il86YjEyMDU0MCIsImRmYy1iOmltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvODQ4My83OTM5L3Byb2R1Y3RzL0JvdGFuaWNhbC1CbGVuZC0wXy1GbG91ci0yNDAweDE4MDBfOTkzMmU0NGQtYzEyNS00OTQ3LWIyYWEtOGE5MGUwZWNlNGZjLmpwZz92PTE2Nzc3NjA3ODUiLCJkZmMtYjpuYW1lIjoiQm90YW5pY2FsIEZsb3VyLCAjMCBCYXNlIEJsZW5kIC0gQ2FzZSwgNiB4IDFrZyIsImRmYy1iOnJlZmVyZW5jZWRCeSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2Njg2MDg1MS9DYXRhbG9nSXRlbSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2ODYwODUxL0NhdGFsb2dJdGVtIiwiQHR5cGUiOiJkZmMtYjpDYXRhbG9nSXRlbSIsImRmYy1iOm9mZmVyZWRUaHJvdWdoIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY2ODYwODUxL09mZmVyIiwiZGZjLWI6c2t1IjoiTkZCMC9DNiIsImRmYy1iOnN0b2NrTGltaXRhdGlvbiI6IjAifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2Njg2MDg1MS9PZmZlciIsIkB0eXBlIjoiZGZjLWI6T2ZmZXIiLCJkZmMtYjpoYXNQcmljZSI6eyJAaWQiOiJfOmIxMjA1NDEifX0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjcxODg1MzEiLCJAdHlwZSI6ImRmYy1iOlN1cHBsaWVkUHJvZHVjdCIsImRmYy1iOmRlc2NyaXB0aW9uIjoiPHA+PHN0cm9uZz5DYW1lbGluYSwgYWxzbyBrbm93biBhcyBHb2xkIG9mIFBsZWFzdXJlLCBoYXMgYmVlbiBncm93biBpbiBFbmdsYW5kIGZvciB0aG91c2FuZHMgb2YgeWVhcnMgZm9yIGl0cyB0YXN0eSBzZWVkcyBhbmQgb2lsLiBTcHJpbmtsZSBvbiBzYWxhZHMsIHVzZSBpbiBiYWtpbmcsIGFkZCB0byBzbW9vdGhpZXMsIG9yIHVzZSBhcyBhIHZlZ2FuIGVnZyByZXBsYWNlbWVudC4gPC9zdHJvbmc+PC9wPlxuPCEtLSBzcGxpdCAtLT48aDM+Q29tcGxldGUgUHJvZHVjdCBEZXRhaWxzPC9oMz48cD5TcHJpbmtsZSBvbiBzYWxhZHMsIGFkZCB0byBzbW9vdGhpZXMsIHVzZSBpbiBiYWtpbmcuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD5Tb2FrIDEgdGFibGVzcG9vbiBvZiBzZWVkcyBpbiAzIHRhYmxlc3Bvb25zIG9mIHdhcm0gd2F0ZXIgZm9yIDMwIG1pbnV0ZXMgdG8gcmVwbGFjZSBvbmUgZWdnIGluIHZlZ2FuIGJha2luZy48L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkluZ3JlZGllbnRzPC9oNT5cbjxwPkNhbWVsaW5hIHNlZWRzPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5BbGxlcmd5IGluZm9ybWF0aW9uPC9oNT5cbjxwPk5vIEFsbGVyZ2VuczwvcD5cbjx0YWJsZSB3aWR0aD1cIjEwMCVcIj5cbjx0Ym9keT5cbjx0cj5cbjx0ZD48c3Ryb25nPlR5cGljYWwgdmFsdWVzPC9zdHJvbmc+PC90ZD5cbjx0ZD48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RW5lcmd5PC90ZD5cbjx0ZD4xNDM5a0ogKDM0NmtjYWwpPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RmF0PC90ZD5cbjx0ZD4xMi4xZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQ+MS43ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkNhcmJvaHlkcmF0ZTwvdGQ+XG48dGQ+MTYuNGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzdWdhcnM8L3RkPlxuPHRkPjEuMmc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GaWJyZTwvdGQ+XG48dGQ+MzUuMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5Qcm90ZWluPC90ZD5cbjx0ZD4yNS40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPlNhbHQ8L3RkPlxuPHRkPjBnPC90ZD5cbjwvdHI+XG48L3Rib2R5PlxuPC90YWJsZT48cD5DYW1lbGluYSBTZWVkcyBhcmUgaGlnaCBpbiBwcm90ZWluLCBhIGdvb2Qgc291cmNlIG9mIE9tZWdhIDMgb2lscyBhbmQgcmljaCBpbiBhbnRpb3hpZGFudHMgc3VjaCBhcyB2aXRhbWluIEU8L3A+PGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Nb3JlPC9oNT5cbjxwPkdyb3duIGJ5IFBldGVyIEZhaXJzIGluIEVzc2V4IGFuZCBBbmR5IEhvd2FyZCBpbiBLZW50LjwvcD4iLCJkZmMtYjpoYXNRdWFudGl0eSI6Il86YjEyMDUyMiIsImRmYy1iOmltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvODQ4My83OTM5L2ZpbGVzLzM3LWNhbW1hbGluYS1mcm9uLmpwZz92PTE3MDY4ODE5NTAiLCJkZmMtYjpuYW1lIjoiQ2FtZWxpbmEgU2VlZCAtIFJldGFpbCBwYWNrLCAzMDBnIiwiZGZjLWI6cmVmZXJlbmNlZEJ5IjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY3MTg4NTMxL0NhdGFsb2dJdGVtIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjcxODg1MzEvQXNQbGFubmVkQ29uc3VtcHRpb25GbG93IiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJkZmMtYjpjb25zdW1lcyI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NzE4ODUzMSIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMTIwNTU0In0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjcxODg1MzEvQXNQbGFubmVkUHJvZHVjdGlvbkZsb3ciLCJAdHlwZSI6ImRmYy1iOkFzUGxhbm5lZFByb2R1Y3Rpb25GbG93IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIxMjA1NTUiLCJkZmMtYjpwcm9kdWNlcyI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NzIyMTI5OSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY3MTg4NTMxL0FzUGxhbm5lZFRyYW5zZm9ybWF0aW9uIiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRUcmFuc2Zvcm1hdGlvbiIsImRmYy1iOmhhc0luY29tZSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NzE4ODUzMS9Bc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJkZmMtYjpoYXNPdXRjb21lIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY3MTg4NTMxL0FzUGxhbm5lZFByb2R1Y3Rpb25GbG93In0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjcxODg1MzEvQ2F0YWxvZ0l0ZW0iLCJAdHlwZSI6ImRmYy1iOkNhdGFsb2dJdGVtIiwiZGZjLWI6b2ZmZXJlZFRocm91Z2giOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjcxODg1MzEvT2ZmZXIiLCJkZmMtYjpza3UiOiJOR0NTL1IzIiwiZGZjLWI6c3RvY2tMaW1pdGF0aW9uIjoiLTEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NzE4ODUzMS9PZmZlciIsIkB0eXBlIjoiZGZjLWI6T2ZmZXIiLCJkZmMtYjpoYXNQcmljZSI6eyJAaWQiOiJfOmIxMjA1MjMifX0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjcyMjEyOTkiLCJAdHlwZSI6ImRmYy1iOlN1cHBsaWVkUHJvZHVjdCIsImRmYy1iOmRlc2NyaXB0aW9uIjoiPHA+PHN0cm9uZz5DYW1lbGluYSwgYWxzbyBrbm93biBhcyBHb2xkIG9mIFBsZWFzdXJlLCBoYXMgYmVlbiBncm93biBpbiBFbmdsYW5kIGZvciB0aG91c2FuZHMgb2YgeWVhcnMgZm9yIGl0cyB0YXN0eSBzZWVkcyBhbmQgb2lsLiBTcHJpbmtsZSBvbiBzYWxhZHMsIHVzZSBpbiBiYWtpbmcsIGFkZCB0byBzbW9vdGhpZXMsIG9yIHVzZSBhcyBhIHZlZ2FuIGVnZyByZXBsYWNlbWVudC4gPC9zdHJvbmc+PC9wPlxuPCEtLSBzcGxpdCAtLT48aDM+Q29tcGxldGUgUHJvZHVjdCBEZXRhaWxzPC9oMz48cD5TcHJpbmtsZSBvbiBzYWxhZHMsIGFkZCB0byBzbW9vdGhpZXMsIHVzZSBpbiBiYWtpbmcuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD5Tb2FrIDEgdGFibGVzcG9vbiBvZiBzZWVkcyBpbiAzIHRhYmxlc3Bvb25zIG9mIHdhcm0gd2F0ZXIgZm9yIDMwIG1pbnV0ZXMgdG8gcmVwbGFjZSBvbmUgZWdnIGluIHZlZ2FuIGJha2luZy48L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkluZ3JlZGllbnRzPC9oNT5cbjxwPkNhbWVsaW5hIHNlZWRzPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5BbGxlcmd5IGluZm9ybWF0aW9uPC9oNT5cbjxwPk5vIEFsbGVyZ2VuczwvcD5cbjx0YWJsZSB3aWR0aD1cIjEwMCVcIj5cbjx0Ym9keT5cbjx0cj5cbjx0ZD48c3Ryb25nPlR5cGljYWwgdmFsdWVzPC9zdHJvbmc+PC90ZD5cbjx0ZD48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RW5lcmd5PC90ZD5cbjx0ZD4xNDM5a0ogKDM0NmtjYWwpPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RmF0PC90ZD5cbjx0ZD4xMi4xZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQ+MS43ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkNhcmJvaHlkcmF0ZTwvdGQ+XG48dGQ+MTYuNGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzdWdhcnM8L3RkPlxuPHRkPjEuMmc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GaWJyZTwvdGQ+XG48dGQ+MzUuMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5Qcm90ZWluPC90ZD5cbjx0ZD4yNS40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPlNhbHQ8L3RkPlxuPHRkPjBnPC90ZD5cbjwvdHI+XG48L3Rib2R5PlxuPC90YWJsZT48cD5DYW1lbGluYSBTZWVkcyBhcmUgaGlnaCBpbiBwcm90ZWluLCBhIGdvb2Qgc291cmNlIG9mIE9tZWdhIDMgb2lscyBhbmQgcmljaCBpbiBhbnRpb3hpZGFudHMgc3VjaCBhcyB2aXRhbWluIEU8L3A+PGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Nb3JlPC9oNT5cbjxwPkdyb3duIGJ5IFBldGVyIEZhaXJzIGluIEVzc2V4IGFuZCBBbmR5IEhvd2FyZCBpbiBLZW50LjwvcD4iLCJkZmMtYjpoYXNRdWFudGl0eSI6Il86YjEyMDU0MiIsImRmYy1iOmltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvODQ4My83OTM5L3Byb2R1Y3RzL0NhbWVpbG5hLVNlZWRzLTE4MDB4MTIwMF84YzAwYTEwOC1kOGY3LTQ5MjAtOWJhYy03NThhMmM2YThiNTYuanBnP3Y9MTY3Nzc2MDc5NyIsImRmYy1iOm5hbWUiOiJDYW1lbGluYSBTZWVkIC0gQ2FzZSwgOCB4IDMwMGciLCJkZmMtYjpyZWZlcmVuY2VkQnkiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NjcyMjEyOTkvQ2F0YWxvZ0l0ZW0ifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NzIyMTI5OS9DYXRhbG9nSXRlbSIsIkB0eXBlIjoiZGZjLWI6Q2F0YWxvZ0l0ZW0iLCJkZmMtYjpvZmZlcmVkVGhyb3VnaCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NzIyMTI5OS9PZmZlciIsImRmYy1iOnNrdSI6Ik5HQ1MvQzgiLCJkZmMtYjpzdG9ja0xpbWl0YXRpb24iOiItMSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY3MjIxMjk5L09mZmVyIiwiQHR5cGUiOiJkZmMtYjpPZmZlciIsImRmYy1iOmhhc1ByaWNlIjp7IkBpZCI6Il86YjEyMDU0MyJ9fSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NzYxNDUxNSIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHIgc3R5bGU9XCJib3JkZXI6IDBweDtcIj5cbjx0ZCBzdHlsZT1cImNvbG9yOiAjMDAwMDAwOyBib3JkZXI6IDBweDtcIiBiZ2NvbG9yPVwiI2Q2ZmJlZFwiPjxzdHJvbmc+T25lIG9mIEJyaXRhaW4ncyBiZXN0LWtlcHQgc2VjcmV0cywgPGEgdGl0bGU9XCJDYXJsaW4gUGVhcyAtIEhvZG1lZG9kJ3MgQnJpdGlzaC1ncm93biBwdWxzZXNcIiBocmVmPVwiL2NvbGxlY3Rpb25zL3BlYXMvY2FybGluLXBlYXNcIj5DYXJsaW4gUGVhczwvYT4gYXJlIGEgbXVjaC1sb3ZlZCB0cmFkaXRpb25hbCBmb29kIGluIHRoZSBOb3J0aCBvZiBFbmdsYW5kwqBhbmQgbWFrZSBhIGdyZWF0IGFsdGVybmF0aXZlIHRvIGNoaWNrcGVhcywgd2l0aCBleGNlbGxlbnQgZmxhdm91ciBhbmQgdGV4dHVyZS48L3N0cm9uZz48L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPHA+UmVkIEZveGVzIGFyZSBhIHJlZC1icm93biB2YXJpZXR5IG9mIENhcmxpbiBQZWEsIGNvbWJpbmluZyB0aGUgZGlzdGluY3RpdmUgbnV0dHkgZmxhdm91ciBvZiBDYXJsaW4gUGVhcyB3aXRoIGEgc3RyaWtpbmcgY29sb3VyLjwvcD5cbjxwPkNhcmxpbiBQZWFzIGFyZSB0cmFkaXRpb25hbGx5IGVhdGVuIGFzIFBhcmNoZWQgUGVhcyBpbiBMYW5jYXNoaXJlLCBzaW1wbHkgYm9pbGVkIHVwIGFuZCBlYXRlbiB3aXRoIHZpbmVnYXIgYW5kIHNhbHQuPC9wPlxuPHA+VGhleSBtYWtlIGFuIGV4Y2VsbGVudCBCcml0aXNoLWdyb3duIHN1YnN0aXR1dGUgZm9yIGNoaWNrcGVhcy48L3A+XG48cD48ZW0+QWxzbyB0cnkgb3VyICBcIkJsYWNrIEJhZGdlclwiIENhcmxpbiBQZWFzIGFuZCBjYW5uZWQgIENhcmxpbiBQZWFzIGluIFdhdGVyLCBjb29rZWQgYW5kIHJlYWR5IHRvIHVzZS48L2VtPjwvcD5cbjwhLS0gc3BsaXQgLS0+PGgzPkNvbXBsZXRlIFByb2R1Y3QgRGV0YWlsczwvaDM+XG48bGkgaWQ9XCJ0YWIxXCIgY2xhc3M9XCJhY3RpdmVcIj5cbjxwPkNhcmxpbiBQZWFzIGhhdmUgYSBzdXBlcmIgbnV0dHkgZmxhdm91ciBhbmQgZmlybSB0ZXh0dXJlLCBtYWtpbmcgYSBncmVhdCBhbHRlcm5hdGl2ZSB0byBjaGlja3BlYXMgb3IgUHV5IGxlbnRpbHMuIFRoZXkncmUgZ3JlYXQgaW4gc291cHMsIHN0ZXdzLCBjdXJyaWVzIGFuZCBzYWxhZCwgcGFpcmluZyB3ZWxsIHdpdGggcm9hc3QgdmVnZXRhYmxlcy48L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkNvb2tpbmcgaW5zdHJ1Y3Rpb25zPC9oNT5cbjxwPlNvYWsgb3Zlcm5pZ2h0IC0gb3IgcXVpY2stc29hayBieSBwbGFjaW5nIGluIGJvaWxpbmcgd2F0ZXIsIHRha2luZyBpdCBvZmYgdGhlIGhlYXQgYW5kIGxlYXZpbmcgZm9yIG9uZSBob3VyLjwvcD5cbjxwPkFmdGVyIHNvYWtpbmcgLCByaW5zZSwgcGxhY2UgaW4gYSBwYW4gd2l0aCBwbGVudHkgb2Ygd2F0ZXIsIGJyaW5nIHRvIHRoZSBib2lsLCBjb3ZlciBhbmQgc2ltbWVyIGZvciA0MCB0byA0NSBtaW51dGVzIHVudGlsIHRlbmRlci48L3A+XG48cD5BZGRpbmcgYmljYXJib25hdGUgb2Ygc29kYSAoYmFraW5nIHNvZGEpIHdoZW4gc29ha2luZyB3aWxsIHJlc3VsdCBpbiBzb2Z0ZXIgY29va2VkIHBlYXMuIENvb2tlZCBwZWFzIGNhbiBiZSB1c2VkIGltbWVkaWF0ZWx5IG9yIGZyb3plbi48L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPk5vdGVzIG9uIENvb2tpbmcgRHJpZWQgUHVsc2VzPC9oNT5cbjxwPkNvb2tpbmcgdGltZXMgZm9yIGRyaWVkIHB1bHNlcyB3aWxsIGJlIGxvbmdlciBhdCBoaWdoZXIgYWx0aXR1ZGVzIGFuZCB3aGVuIGNvb2tpbmcgd2l0aCBoYXJkIHdhdGVyIG9yIG9sZGVyIHB1bHNlcy48L3A+XG48cD5BZGRpbmcgPHNwYW4+YmljYXJib25hdGUgb2Ygc29kYSAoYmFraW5nwqA8L3NwYW4+PHNwYW4+c29kYSnCoDwvc3Bhbj5kdXJpbmcgc29ha2luZyBhbmQvb3IgY29va2luZyB3aWxsIHNvZnRlbiB0aGUgcHVsc2VzIGFuZCByZWR1Y2UgdGhlIGNvb2tpbmcgdGltZS48L3A+XG48cD5Db29rZWQgcHVsc2VzIGNhbiBiZSB1c2VkIGltbWVkaWF0ZWx5IG9yIGZyb3plbiBmb3IgbGF0ZXIgdXNlLjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+SW5ncmVkaWVudHM8L2g1PlxuPHA+Q2FybGluIFBlYXM8L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkFsbGVyZ3kgaW5mb3JtYXRpb248L2g1PlxuPHA+Tm8gQWxsZXJnZW5zPC9wPlxuPHRhYmxlIHdpZHRoPVwiMTAwJVwiPlxuPHRib2R5PlxuPHRyPlxuPHRkPjxzdHJvbmc+VHlwaWNhbCB2YWx1ZXM8L3N0cm9uZz48L3RkPlxuPHRkPjxzdHJvbmc+UGVyIDEwMGc8L3N0cm9uZz48L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5FbmVyZ3k8L3RkPlxuPHRkPjEyMDhrSiAoMjg4a2NhbCk8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GYXQ8L3RkPlxuPHRkPjIuMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzYXR1cmF0ZXM8L3RkPlxuPHRkPjAuNGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5DYXJib2h5ZHJhdGU8L3RkPlxuPHRkPjMyLjJnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+b2Ygd2hpY2ggc3VnYXJzPC90ZD5cbjx0ZD4zZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkZpYnJlPC90ZD5cbjx0ZD4yMi45ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPlByb3RlaW48L3RkPlxuPHRkPjIzLjVnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+U2FsdDwvdGQ+XG48dGQ+MGc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Nb3JlPC9oNT5cbjxwPlJlZCBGb3hlcyBhcmUgYSBkaXN0aW5jdGl2ZWx5IHJlZCB2YXJpZXR5IG9mIENhcmxpbiBvciBNYXBsZSBQZWEuIEluIExhbmNhc2hpcmUgQ2FybGluIFBlYXMgYXJlIHRyYWRpdGlvbmFsbHkgc2VydmVkIFwicGFyY2hlZFwiIC0gYm9pbGVkIGFuZCByb2FzdCBvciBzb2FrZWQgaW4gdmluZWdhciAtIG9uIEJvbmZpcmUgTmlnaHQuIFRoZXkncmUgY2VsZWJyYXRlZCBpbiBwYXJ0cyBvZiBZb3Jrc2hpcmUgb24gQ2FybGluIFN1bmRheSwgdGhlIGZpZnRoIFN1bmRheSBpbiBMZW50LCBhbmQga25vdyBhcyBHcmV5IFBlYXMgaW4gdGhlIEJsYWNrIENvdW50cnksIHdoZXJlIHRoZXkncmUgb2Z0ZW4gc2VydmVkIHdpdGggYmFjb24uPC9wPlxuPHA+Q2FybGluIFBlYXMgYXJlIGFsc28gcG9wdWxhciB3aXRoIHBpZ2VvbnMgKGFuZCBjYXJwISkgYW5kIG9jY2FzaW9uYWxseSBrbm93biBhcyBQaWdlb24gUGVhcyBidXQgdGhleSdyZSBub3QgdG8gYmUgY29uZnVzZWQgd2l0aCB0aGUgZW50aXJlbHkgZGlmZmVyZW50IHRyb3BpY2FsIHNwZWNpZXMgPGVtPkNhamFudXMgY2FqYW48L2VtPiwgYWxzbyBwb3B1bGFybHkga25vd24gYXMgdGhlIFBpZ2VvbiBQZWEuPC9wPlxuPHA+U3VpdGFibGUgZm9yIHZlZ2FucyBhbmQgdmVnZXRhcmlhbnM8L3A+XG48L2xpPiIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMTIwNTI2IiwiZGZjLWI6aW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDczMS84NDgzLzc5MzkvcHJvZHVjdHMvTG9vc2UtUmVkLUZveGVzLTI0MDB4MTYwMF85ODN4NjU2XzVkNWQyYzQ5LWQwNzctNDIxMi04YTJkLTE5MTg1NTMyOWNlOS5qcGc/dj0xNjc3NzYwODEyIiwiZGZjLWI6bmFtZSI6IkNhcmxpbiBQZWFzLCBSZWQgRm94IC0gUmV0YWlsIHBhY2ssIDUwMGciLCJkZmMtYjpyZWZlcmVuY2VkQnkiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njc2MTQ1MTUvQ2F0YWxvZ0l0ZW0ifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NzYxNDUxNS9DYXRhbG9nSXRlbSIsIkB0eXBlIjoiZGZjLWI6Q2F0YWxvZ0l0ZW0iLCJkZmMtYjpvZmZlcmVkVGhyb3VnaCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NzYxNDUxNS9PZmZlciIsImRmYy1iOnNrdSI6Ik5XUkYvUjUiLCJkZmMtYjpzdG9ja0xpbWl0YXRpb24iOiItMSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY3NjE0NTE1L09mZmVyIiwiQHR5cGUiOiJkZmMtYjpPZmZlciIsImRmYy1iOmhhc1ByaWNlIjp7IkBpZCI6Il86YjEyMDUyNyJ9fSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NzY4MDA1MSIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHIgc3R5bGU9XCJib3JkZXI6IDBweDtcIj5cbjx0ZCBzdHlsZT1cImNvbG9yOiAjMDAwMDAwOyBib3JkZXI6IDBweDtcIiBiZ2NvbG9yPVwiI2Q2ZmJlZFwiPjxzdHJvbmc+T25lIG9mIEJyaXRhaW4ncyBiZXN0LWtlcHQgc2VjcmV0cywgPGEgdGl0bGU9XCJDYXJsaW4gUGVhcyAtIEhvZG1lZG9kJ3MgQnJpdGlzaC1ncm93biBwdWxzZXNcIiBocmVmPVwiL2NvbGxlY3Rpb25zL3BlYXMvY2FybGluLXBlYXNcIj5DYXJsaW4gUGVhczwvYT4gYXJlIGEgbXVjaC1sb3ZlZCB0cmFkaXRpb25hbCBmb29kIGluIHRoZSBOb3J0aCBvZiBFbmdsYW5kwqBhbmQgbWFrZSBhIGdyZWF0IGFsdGVybmF0aXZlIHRvIGNoaWNrcGVhcywgd2l0aCBleGNlbGxlbnQgZmxhdm91ciBhbmQgdGV4dHVyZS48L3N0cm9uZz48L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPHA+UmVkIEZveGVzIGFyZSBhIHJlZC1icm93biB2YXJpZXR5IG9mIENhcmxpbiBQZWEsIGNvbWJpbmluZyB0aGUgZGlzdGluY3RpdmUgbnV0dHkgZmxhdm91ciBvZiBDYXJsaW4gUGVhcyB3aXRoIGEgc3RyaWtpbmcgY29sb3VyLjwvcD5cbjxwPkNhcmxpbiBQZWFzIGFyZSB0cmFkaXRpb25hbGx5IGVhdGVuIGFzIFBhcmNoZWQgUGVhcyBpbiBMYW5jYXNoaXJlLCBzaW1wbHkgYm9pbGVkIHVwIGFuZCBlYXRlbiB3aXRoIHZpbmVnYXIgYW5kIHNhbHQuPC9wPlxuPHA+VGhleSBtYWtlIGFuIGV4Y2VsbGVudCBCcml0aXNoLWdyb3duIHN1YnN0aXR1dGUgZm9yIGNoaWNrcGVhcy48L3A+XG48cD48ZW0+QWxzbyB0cnkgb3VyICBcIkJsYWNrIEJhZGdlclwiIENhcmxpbiBQZWFzIGFuZCBjYW5uZWQgIENhcmxpbiBQZWFzIGluIFdhdGVyLCBjb29rZWQgYW5kIHJlYWR5IHRvIHVzZS48L2VtPjwvcD5cbjwhLS0gc3BsaXQgLS0+PGgzPkNvbXBsZXRlIFByb2R1Y3QgRGV0YWlsczwvaDM+XG48bGkgaWQ9XCJ0YWIxXCIgY2xhc3M9XCJhY3RpdmVcIj5cbjxwPkNhcmxpbiBQZWFzIGhhdmUgYSBzdXBlcmIgbnV0dHkgZmxhdm91ciBhbmQgZmlybSB0ZXh0dXJlLCBtYWtpbmcgYSBncmVhdCBhbHRlcm5hdGl2ZSB0byBjaGlja3BlYXMgb3IgUHV5IGxlbnRpbHMuIFRoZXkncmUgZ3JlYXQgaW4gc291cHMsIHN0ZXdzLCBjdXJyaWVzIGFuZCBzYWxhZCwgcGFpcmluZyB3ZWxsIHdpdGggcm9hc3QgdmVnZXRhYmxlcy48L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkNvb2tpbmcgaW5zdHJ1Y3Rpb25zPC9oNT5cbjxwPlNvYWsgb3Zlcm5pZ2h0IC0gb3IgcXVpY2stc29hayBieSBwbGFjaW5nIGluIGJvaWxpbmcgd2F0ZXIsIHRha2luZyBpdCBvZmYgdGhlIGhlYXQgYW5kIGxlYXZpbmcgZm9yIG9uZSBob3VyLjwvcD5cbjxwPkFmdGVyIHNvYWtpbmcgLCByaW5zZSwgcGxhY2UgaW4gYSBwYW4gd2l0aCBwbGVudHkgb2Ygd2F0ZXIsIGJyaW5nIHRvIHRoZSBib2lsLCBjb3ZlciBhbmQgc2ltbWVyIGZvciA0MCB0byA0NSBtaW51dGVzIHVudGlsIHRlbmRlci48L3A+XG48cD5BZGRpbmcgYmljYXJib25hdGUgb2Ygc29kYSAoYmFraW5nIHNvZGEpIHdoZW4gc29ha2luZyB3aWxsIHJlc3VsdCBpbiBzb2Z0ZXIgY29va2VkIHBlYXMuIENvb2tlZCBwZWFzIGNhbiBiZSB1c2VkIGltbWVkaWF0ZWx5IG9yIGZyb3plbi48L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPk5vdGVzIG9uIENvb2tpbmcgRHJpZWQgUHVsc2VzPC9oNT5cbjxwPkNvb2tpbmcgdGltZXMgZm9yIGRyaWVkIHB1bHNlcyB3aWxsIGJlIGxvbmdlciBhdCBoaWdoZXIgYWx0aXR1ZGVzIGFuZCB3aGVuIGNvb2tpbmcgd2l0aCBoYXJkIHdhdGVyIG9yIG9sZGVyIHB1bHNlcy48L3A+XG48cD5BZGRpbmcgPHNwYW4+YmljYXJib25hdGUgb2Ygc29kYSAoYmFraW5nwqA8L3NwYW4+PHNwYW4+c29kYSnCoDwvc3Bhbj5kdXJpbmcgc29ha2luZyBhbmQvb3IgY29va2luZyB3aWxsIHNvZnRlbiB0aGUgcHVsc2VzIGFuZCByZWR1Y2UgdGhlIGNvb2tpbmcgdGltZS48L3A+XG48cD5Db29rZWQgcHVsc2VzIGNhbiBiZSB1c2VkIGltbWVkaWF0ZWx5IG9yIGZyb3plbiBmb3IgbGF0ZXIgdXNlLjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+SW5ncmVkaWVudHM8L2g1PlxuPHA+Q2FybGluIFBlYXM8L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkFsbGVyZ3kgaW5mb3JtYXRpb248L2g1PlxuPHA+Tm8gQWxsZXJnZW5zPC9wPlxuPHRhYmxlIHdpZHRoPVwiMTAwJVwiPlxuPHRib2R5PlxuPHRyPlxuPHRkPjxzdHJvbmc+VHlwaWNhbCB2YWx1ZXM8L3N0cm9uZz48L3RkPlxuPHRkPjxzdHJvbmc+UGVyIDEwMGc8L3N0cm9uZz48L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5FbmVyZ3k8L3RkPlxuPHRkPjEyMDhrSiAoMjg4a2NhbCk8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GYXQ8L3RkPlxuPHRkPjIuMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzYXR1cmF0ZXM8L3RkPlxuPHRkPjAuNGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5DYXJib2h5ZHJhdGU8L3RkPlxuPHRkPjMyLjJnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+b2Ygd2hpY2ggc3VnYXJzPC90ZD5cbjx0ZD4zZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkZpYnJlPC90ZD5cbjx0ZD4yMi45ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPlByb3RlaW48L3RkPlxuPHRkPjIzLjVnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+U2FsdDwvdGQ+XG48dGQ+MGc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Nb3JlPC9oNT5cbjxwPlJlZCBGb3hlcyBhcmUgYSBkaXN0aW5jdGl2ZWx5IHJlZCB2YXJpZXR5IG9mIENhcmxpbiBvciBNYXBsZSBQZWEuIEluIExhbmNhc2hpcmUgQ2FybGluIFBlYXMgYXJlIHRyYWRpdGlvbmFsbHkgc2VydmVkIFwicGFyY2hlZFwiIC0gYm9pbGVkIGFuZCByb2FzdCBvciBzb2FrZWQgaW4gdmluZWdhciAtIG9uIEJvbmZpcmUgTmlnaHQuIFRoZXkncmUgY2VsZWJyYXRlZCBpbiBwYXJ0cyBvZiBZb3Jrc2hpcmUgb24gQ2FybGluIFN1bmRheSwgdGhlIGZpZnRoIFN1bmRheSBpbiBMZW50LCBhbmQga25vdyBhcyBHcmV5IFBlYXMgaW4gdGhlIEJsYWNrIENvdW50cnksIHdoZXJlIHRoZXkncmUgb2Z0ZW4gc2VydmVkIHdpdGggYmFjb24uPC9wPlxuPHA+Q2FybGluIFBlYXMgYXJlIGFsc28gcG9wdWxhciB3aXRoIHBpZ2VvbnMgKGFuZCBjYXJwISkgYW5kIG9jY2FzaW9uYWxseSBrbm93biBhcyBQaWdlb24gUGVhcyBidXQgdGhleSdyZSBub3QgdG8gYmUgY29uZnVzZWQgd2l0aCB0aGUgZW50aXJlbHkgZGlmZmVyZW50IHRyb3BpY2FsIHNwZWNpZXMgPGVtPkNhamFudXMgY2FqYW48L2VtPiwgYWxzbyBwb3B1bGFybHkga25vd24gYXMgdGhlIFBpZ2VvbiBQZWEuPC9wPlxuPHA+U3VpdGFibGUgZm9yIHZlZ2FucyBhbmQgdmVnZXRhcmlhbnM8L3A+XG48L2xpPiIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMTIwNTI4IiwiZGZjLWI6aW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDczMS84NDgzLzc5MzkvcHJvZHVjdHMvTG9vc2UtUmVkLUZveGVzLTI0MDB4MTYwMF85ODN4NjU2XzVkNWQyYzQ5LWQwNzctNDIxMi04YTJkLTE5MTg1NTMyOWNlOS5qcGc/dj0xNjc3NzYwODEyIiwiZGZjLWI6bmFtZSI6IkNhcmxpbiBQZWFzLCBSZWQgRm94IC0gQ2F0ZXJpbmcsIGtpbG8sIDFrZyIsImRmYy1iOnJlZmVyZW5jZWRCeSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NzY4MDA1MS9DYXRhbG9nSXRlbSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY3NjgwMDUxL0NhdGFsb2dJdGVtIiwiQHR5cGUiOiJkZmMtYjpDYXRhbG9nSXRlbSIsImRmYy1iOm9mZmVyZWRUaHJvdWdoIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY3NjgwMDUxL09mZmVyIiwiZGZjLWI6c2t1IjoiTldSRi8xSyIsImRmYy1iOnN0b2NrTGltaXRhdGlvbiI6Ii0xIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njc2ODAwNTEvT2ZmZXIiLCJAdHlwZSI6ImRmYy1iOk9mZmVyIiwiZGZjLWI6aGFzUHJpY2UiOnsiQGlkIjoiXzpiMTIwNTI5In19LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY3NzEyODE5IiwiQHR5cGUiOiJkZmMtYjpTdXBwbGllZFByb2R1Y3QiLCJkZmMtYjpkZXNjcmlwdGlvbiI6Ijx0YWJsZSB3aWR0aD1cIjEwMCVcIj5cbjx0Ym9keT5cbjx0ciBzdHlsZT1cImJvcmRlcjogMHB4O1wiPlxuPHRkIHN0eWxlPVwiY29sb3I6ICMwMDAwMDA7IGJvcmRlcjogMHB4O1wiIGJnY29sb3I9XCIjZDZmYmVkXCI+PHN0cm9uZz5PbmUgb2YgQnJpdGFpbidzIGJlc3Qta2VwdCBzZWNyZXRzLCA8YSB0aXRsZT1cIkNhcmxpbiBQZWFzIC0gSG9kbWVkb2QncyBCcml0aXNoLWdyb3duIHB1bHNlc1wiIGhyZWY9XCIvY29sbGVjdGlvbnMvcGVhcy9jYXJsaW4tcGVhc1wiPkNhcmxpbiBQZWFzPC9hPiBhcmUgYSBtdWNoLWxvdmVkIHRyYWRpdGlvbmFsIGZvb2QgaW4gdGhlIE5vcnRoIG9mIEVuZ2xhbmTCoGFuZCBtYWtlIGEgZ3JlYXQgYWx0ZXJuYXRpdmUgdG8gY2hpY2twZWFzLCB3aXRoIGV4Y2VsbGVudCBmbGF2b3VyIGFuZCB0ZXh0dXJlLjwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPC90Ym9keT5cbjwvdGFibGU+XG48cD5SZWQgRm94ZXMgYXJlIGEgcmVkLWJyb3duIHZhcmlldHkgb2YgQ2FybGluIFBlYSwgY29tYmluaW5nIHRoZSBkaXN0aW5jdGl2ZSBudXR0eSBmbGF2b3VyIG9mIENhcmxpbiBQZWFzIHdpdGggYSBzdHJpa2luZyBjb2xvdXIuPC9wPlxuPHA+Q2FybGluIFBlYXMgYXJlIHRyYWRpdGlvbmFsbHkgZWF0ZW4gYXMgUGFyY2hlZCBQZWFzIGluIExhbmNhc2hpcmUsIHNpbXBseSBib2lsZWQgdXAgYW5kIGVhdGVuIHdpdGggdmluZWdhciBhbmQgc2FsdC48L3A+XG48cD5UaGV5IG1ha2UgYW4gZXhjZWxsZW50IEJyaXRpc2gtZ3Jvd24gc3Vic3RpdHV0ZSBmb3IgY2hpY2twZWFzLjwvcD5cbjxwPjxlbT5BbHNvIHRyeSBvdXIgIFwiQmxhY2sgQmFkZ2VyXCIgQ2FybGluIFBlYXMgYW5kIGNhbm5lZCAgQ2FybGluIFBlYXMgaW4gV2F0ZXIsIGNvb2tlZCBhbmQgcmVhZHkgdG8gdXNlLjwvZW0+PC9wPlxuPCEtLSBzcGxpdCAtLT48aDM+Q29tcGxldGUgUHJvZHVjdCBEZXRhaWxzPC9oMz5cbjxsaSBpZD1cInRhYjFcIiBjbGFzcz1cImFjdGl2ZVwiPlxuPHA+Q2FybGluIFBlYXMgaGF2ZSBhIHN1cGVyYiBudXR0eSBmbGF2b3VyIGFuZCBmaXJtIHRleHR1cmUsIG1ha2luZyBhIGdyZWF0IGFsdGVybmF0aXZlIHRvIGNoaWNrcGVhcyBvciBQdXkgbGVudGlscy4gVGhleSdyZSBncmVhdCBpbiBzb3Vwcywgc3Rld3MsIGN1cnJpZXMgYW5kIHNhbGFkLCBwYWlyaW5nIHdlbGwgd2l0aCByb2FzdCB2ZWdldGFibGVzLjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+Q29va2luZyBpbnN0cnVjdGlvbnM8L2g1PlxuPHA+U29hayBvdmVybmlnaHQgLSBvciBxdWljay1zb2FrIGJ5IHBsYWNpbmcgaW4gYm9pbGluZyB3YXRlciwgdGFraW5nIGl0IG9mZiB0aGUgaGVhdCBhbmQgbGVhdmluZyBmb3Igb25lIGhvdXIuPC9wPlxuPHA+QWZ0ZXIgc29ha2luZyAsIHJpbnNlLCBwbGFjZSBpbiBhIHBhbiB3aXRoIHBsZW50eSBvZiB3YXRlciwgYnJpbmcgdG8gdGhlIGJvaWwsIGNvdmVyIGFuZCBzaW1tZXIgZm9yIDQwIHRvIDQ1IG1pbnV0ZXMgdW50aWwgdGVuZGVyLjwvcD5cbjxwPkFkZGluZyBiaWNhcmJvbmF0ZSBvZiBzb2RhIChiYWtpbmcgc29kYSkgd2hlbiBzb2FraW5nIHdpbGwgcmVzdWx0IGluIHNvZnRlciBjb29rZWQgcGVhcy4gQ29va2VkIHBlYXMgY2FuIGJlIHVzZWQgaW1tZWRpYXRlbHkgb3IgZnJvemVuLjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+Tm90ZXMgb24gQ29va2luZyBEcmllZCBQdWxzZXM8L2g1PlxuPHA+Q29va2luZyB0aW1lcyBmb3IgZHJpZWQgcHVsc2VzIHdpbGwgYmUgbG9uZ2VyIGF0IGhpZ2hlciBhbHRpdHVkZXMgYW5kIHdoZW4gY29va2luZyB3aXRoIGhhcmQgd2F0ZXIgb3Igb2xkZXIgcHVsc2VzLjwvcD5cbjxwPkFkZGluZyA8c3Bhbj5iaWNhcmJvbmF0ZSBvZiBzb2RhIChiYWtpbmfCoDwvc3Bhbj48c3Bhbj5zb2RhKcKgPC9zcGFuPmR1cmluZyBzb2FraW5nIGFuZC9vciBjb29raW5nIHdpbGwgc29mdGVuIHRoZSBwdWxzZXMgYW5kIHJlZHVjZSB0aGUgY29va2luZyB0aW1lLjwvcD5cbjxwPkNvb2tlZCBwdWxzZXMgY2FuIGJlIHVzZWQgaW1tZWRpYXRlbHkgb3IgZnJvemVuIGZvciBsYXRlciB1c2UuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5DYXJsaW4gUGVhczwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+QWxsZXJneSBpbmZvcm1hdGlvbjwvaDU+XG48cD5ObyBBbGxlcmdlbnM8L3A+XG48dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHI+XG48dGQ+PHN0cm9uZz5UeXBpY2FsIHZhbHVlczwvc3Ryb25nPjwvdGQ+XG48dGQ+PHN0cm9uZz5QZXIgMTAwZzwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkVuZXJneTwvdGQ+XG48dGQ+MTIwOGtKICgyODhrY2FsKTwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkZhdDwvdGQ+XG48dGQ+Mi4xZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQ+MC40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkNhcmJvaHlkcmF0ZTwvdGQ+XG48dGQ+MzIuMmc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzdWdhcnM8L3RkPlxuPHRkPjNnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RmlicmU8L3RkPlxuPHRkPjIyLjlnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+UHJvdGVpbjwvdGQ+XG48dGQ+MjMuNWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5TYWx0PC90ZD5cbjx0ZD4wZzwvdGQ+XG48L3RyPlxuPC90Ym9keT5cbjwvdGFibGU+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPk1vcmU8L2g1PlxuPHA+UmVkIEZveGVzIGFyZSBhIGRpc3RpbmN0aXZlbHkgcmVkIHZhcmlldHkgb2YgQ2FybGluIG9yIE1hcGxlIFBlYS4gSW4gTGFuY2FzaGlyZSBDYXJsaW4gUGVhcyBhcmUgdHJhZGl0aW9uYWxseSBzZXJ2ZWQgXCJwYXJjaGVkXCIgLSBib2lsZWQgYW5kIHJvYXN0IG9yIHNvYWtlZCBpbiB2aW5lZ2FyIC0gb24gQm9uZmlyZSBOaWdodC4gVGhleSdyZSBjZWxlYnJhdGVkIGluIHBhcnRzIG9mIFlvcmtzaGlyZSBvbiBDYXJsaW4gU3VuZGF5LCB0aGUgZmlmdGggU3VuZGF5IGluIExlbnQsIGFuZCBrbm93IGFzIEdyZXkgUGVhcyBpbiB0aGUgQmxhY2sgQ291bnRyeSwgd2hlcmUgdGhleSdyZSBvZnRlbiBzZXJ2ZWQgd2l0aCBiYWNvbi48L3A+XG48cD5DYXJsaW4gUGVhcyBhcmUgYWxzbyBwb3B1bGFyIHdpdGggcGlnZW9ucyAoYW5kIGNhcnAhKSBhbmQgb2NjYXNpb25hbGx5IGtub3duIGFzIFBpZ2VvbiBQZWFzIGJ1dCB0aGV5J3JlIG5vdCB0byBiZSBjb25mdXNlZCB3aXRoIHRoZSBlbnRpcmVseSBkaWZmZXJlbnQgdHJvcGljYWwgc3BlY2llcyA8ZW0+Q2FqYW51cyBjYWphbjwvZW0+LCBhbHNvIHBvcHVsYXJseSBrbm93biBhcyB0aGUgUGlnZW9uIFBlYS48L3A+XG48cD5TdWl0YWJsZSBmb3IgdmVnYW5zIGFuZCB2ZWdldGFyaWFuczwvcD5cbjwvbGk+IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIxMjA1MzAiLCJkZmMtYjppbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNzMxLzg0ODMvNzkzOS9wcm9kdWN0cy9Mb29zZS1SZWQtRm94ZXMtMjQwMHgxNjAwXzk4M3g2NTZfNWQ1ZDJjNDktZDA3Ny00MjEyLThhMmQtMTkxODU1MzI5Y2U5LmpwZz92PTE2Nzc3NjA4MTIiLCJkZmMtYjpuYW1lIjoiQ2FybGluIFBlYXMsIFJlZCBGb3ggLSBDYXRlcmluZywgc21hbGwsIDVrZyIsImRmYy1iOnJlZmVyZW5jZWRCeSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2NzcxMjgxOS9DYXRhbG9nSXRlbSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY3NzEyODE5L0NhdGFsb2dJdGVtIiwiQHR5cGUiOiJkZmMtYjpDYXRhbG9nSXRlbSIsImRmYy1iOm9mZmVyZWRUaHJvdWdoIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY3NzEyODE5L09mZmVyIiwiZGZjLWI6c2t1IjoiTldSRi81SyIsImRmYy1iOnN0b2NrTGltaXRhdGlvbiI6Ii0xIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njc3MTI4MTkvT2ZmZXIiLCJAdHlwZSI6ImRmYy1iOk9mZmVyIiwiZGZjLWI6aGFzUHJpY2UiOnsiQGlkIjoiXzpiMTIwNTMxIn19LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY3NzQ1NTg3IiwiQHR5cGUiOiJkZmMtYjpTdXBwbGllZFByb2R1Y3QiLCJkZmMtYjpkZXNjcmlwdGlvbiI6Ijx0YWJsZSB3aWR0aD1cIjEwMCVcIj5cbjx0Ym9keT5cbjx0ciBzdHlsZT1cImJvcmRlcjogMHB4O1wiPlxuPHRkIHN0eWxlPVwiY29sb3I6ICMwMDAwMDA7IGJvcmRlcjogMHB4O1wiIGJnY29sb3I9XCIjZDZmYmVkXCI+PHN0cm9uZz5PbmUgb2YgQnJpdGFpbidzIGJlc3Qta2VwdCBzZWNyZXRzLCA8YSB0aXRsZT1cIkNhcmxpbiBQZWFzIC0gSG9kbWVkb2QncyBCcml0aXNoLWdyb3duIHB1bHNlc1wiIGhyZWY9XCIvY29sbGVjdGlvbnMvcGVhcy9jYXJsaW4tcGVhc1wiPkNhcmxpbiBQZWFzPC9hPiBhcmUgYSBtdWNoLWxvdmVkIHRyYWRpdGlvbmFsIGZvb2QgaW4gdGhlIE5vcnRoIG9mIEVuZ2xhbmTCoGFuZCBtYWtlIGEgZ3JlYXQgYWx0ZXJuYXRpdmUgdG8gY2hpY2twZWFzLCB3aXRoIGV4Y2VsbGVudCBmbGF2b3VyIGFuZCB0ZXh0dXJlLjwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPC90Ym9keT5cbjwvdGFibGU+XG48cD5SZWQgRm94ZXMgYXJlIGEgcmVkLWJyb3duIHZhcmlldHkgb2YgQ2FybGluIFBlYSwgY29tYmluaW5nIHRoZSBkaXN0aW5jdGl2ZSBudXR0eSBmbGF2b3VyIG9mIENhcmxpbiBQZWFzIHdpdGggYSBzdHJpa2luZyBjb2xvdXIuPC9wPlxuPHA+Q2FybGluIFBlYXMgYXJlIHRyYWRpdGlvbmFsbHkgZWF0ZW4gYXMgUGFyY2hlZCBQZWFzIGluIExhbmNhc2hpcmUsIHNpbXBseSBib2lsZWQgdXAgYW5kIGVhdGVuIHdpdGggdmluZWdhciBhbmQgc2FsdC48L3A+XG48cD5UaGV5IG1ha2UgYW4gZXhjZWxsZW50IEJyaXRpc2gtZ3Jvd24gc3Vic3RpdHV0ZSBmb3IgY2hpY2twZWFzLjwvcD5cbjxwPjxlbT5BbHNvIHRyeSBvdXIgIFwiQmxhY2sgQmFkZ2VyXCIgQ2FybGluIFBlYXMgYW5kIGNhbm5lZCAgQ2FybGluIFBlYXMgaW4gV2F0ZXIsIGNvb2tlZCBhbmQgcmVhZHkgdG8gdXNlLjwvZW0+PC9wPlxuPCEtLSBzcGxpdCAtLT48aDM+Q29tcGxldGUgUHJvZHVjdCBEZXRhaWxzPC9oMz5cbjxsaSBpZD1cInRhYjFcIiBjbGFzcz1cImFjdGl2ZVwiPlxuPHA+Q2FybGluIFBlYXMgaGF2ZSBhIHN1cGVyYiBudXR0eSBmbGF2b3VyIGFuZCBmaXJtIHRleHR1cmUsIG1ha2luZyBhIGdyZWF0IGFsdGVybmF0aXZlIHRvIGNoaWNrcGVhcyBvciBQdXkgbGVudGlscy4gVGhleSdyZSBncmVhdCBpbiBzb3Vwcywgc3Rld3MsIGN1cnJpZXMgYW5kIHNhbGFkLCBwYWlyaW5nIHdlbGwgd2l0aCByb2FzdCB2ZWdldGFibGVzLjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+Q29va2luZyBpbnN0cnVjdGlvbnM8L2g1PlxuPHA+U29hayBvdmVybmlnaHQgLSBvciBxdWljay1zb2FrIGJ5IHBsYWNpbmcgaW4gYm9pbGluZyB3YXRlciwgdGFraW5nIGl0IG9mZiB0aGUgaGVhdCBhbmQgbGVhdmluZyBmb3Igb25lIGhvdXIuPC9wPlxuPHA+QWZ0ZXIgc29ha2luZyAsIHJpbnNlLCBwbGFjZSBpbiBhIHBhbiB3aXRoIHBsZW50eSBvZiB3YXRlciwgYnJpbmcgdG8gdGhlIGJvaWwsIGNvdmVyIGFuZCBzaW1tZXIgZm9yIDQwIHRvIDQ1IG1pbnV0ZXMgdW50aWwgdGVuZGVyLjwvcD5cbjxwPkFkZGluZyBiaWNhcmJvbmF0ZSBvZiBzb2RhIChiYWtpbmcgc29kYSkgd2hlbiBzb2FraW5nIHdpbGwgcmVzdWx0IGluIHNvZnRlciBjb29rZWQgcGVhcy4gQ29va2VkIHBlYXMgY2FuIGJlIHVzZWQgaW1tZWRpYXRlbHkgb3IgZnJvemVuLjwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+Tm90ZXMgb24gQ29va2luZyBEcmllZCBQdWxzZXM8L2g1PlxuPHA+Q29va2luZyB0aW1lcyBmb3IgZHJpZWQgcHVsc2VzIHdpbGwgYmUgbG9uZ2VyIGF0IGhpZ2hlciBhbHRpdHVkZXMgYW5kIHdoZW4gY29va2luZyB3aXRoIGhhcmQgd2F0ZXIgb3Igb2xkZXIgcHVsc2VzLjwvcD5cbjxwPkFkZGluZyA8c3Bhbj5iaWNhcmJvbmF0ZSBvZiBzb2RhIChiYWtpbmfCoDwvc3Bhbj48c3Bhbj5zb2RhKcKgPC9zcGFuPmR1cmluZyBzb2FraW5nIGFuZC9vciBjb29raW5nIHdpbGwgc29mdGVuIHRoZSBwdWxzZXMgYW5kIHJlZHVjZSB0aGUgY29va2luZyB0aW1lLjwvcD5cbjxwPkNvb2tlZCBwdWxzZXMgY2FuIGJlIHVzZWQgaW1tZWRpYXRlbHkgb3IgZnJvemVuIGZvciBsYXRlciB1c2UuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5DYXJsaW4gUGVhczwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+QWxsZXJneSBpbmZvcm1hdGlvbjwvaDU+XG48cD5ObyBBbGxlcmdlbnM8L3A+XG48dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHI+XG48dGQ+PHN0cm9uZz5UeXBpY2FsIHZhbHVlczwvc3Ryb25nPjwvdGQ+XG48dGQ+PHN0cm9uZz5QZXIgMTAwZzwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkVuZXJneTwvdGQ+XG48dGQ+MTIwOGtKICgyODhrY2FsKTwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkZhdDwvdGQ+XG48dGQ+Mi4xZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQ+MC40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkNhcmJvaHlkcmF0ZTwvdGQ+XG48dGQ+MzIuMmc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzdWdhcnM8L3RkPlxuPHRkPjNnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RmlicmU8L3RkPlxuPHRkPjIyLjlnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+UHJvdGVpbjwvdGQ+XG48dGQ+MjMuNWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5TYWx0PC90ZD5cbjx0ZD4wZzwvdGQ+XG48L3RyPlxuPC90Ym9keT5cbjwvdGFibGU+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPk1vcmU8L2g1PlxuPHA+UmVkIEZveGVzIGFyZSBhIGRpc3RpbmN0aXZlbHkgcmVkIHZhcmlldHkgb2YgQ2FybGluIG9yIE1hcGxlIFBlYS4gSW4gTGFuY2FzaGlyZSBDYXJsaW4gUGVhcyBhcmUgdHJhZGl0aW9uYWxseSBzZXJ2ZWQgXCJwYXJjaGVkXCIgLSBib2lsZWQgYW5kIHJvYXN0IG9yIHNvYWtlZCBpbiB2aW5lZ2FyIC0gb24gQm9uZmlyZSBOaWdodC4gVGhleSdyZSBjZWxlYnJhdGVkIGluIHBhcnRzIG9mIFlvcmtzaGlyZSBvbiBDYXJsaW4gU3VuZGF5LCB0aGUgZmlmdGggU3VuZGF5IGluIExlbnQsIGFuZCBrbm93IGFzIEdyZXkgUGVhcyBpbiB0aGUgQmxhY2sgQ291bnRyeSwgd2hlcmUgdGhleSdyZSBvZnRlbiBzZXJ2ZWQgd2l0aCBiYWNvbi48L3A+XG48cD5DYXJsaW4gUGVhcyBhcmUgYWxzbyBwb3B1bGFyIHdpdGggcGlnZW9ucyAoYW5kIGNhcnAhKSBhbmQgb2NjYXNpb25hbGx5IGtub3duIGFzIFBpZ2VvbiBQZWFzIGJ1dCB0aGV5J3JlIG5vdCB0byBiZSBjb25mdXNlZCB3aXRoIHRoZSBlbnRpcmVseSBkaWZmZXJlbnQgdHJvcGljYWwgc3BlY2llcyA8ZW0+Q2FqYW51cyBjYWphbjwvZW0+LCBhbHNvIHBvcHVsYXJseSBrbm93biBhcyB0aGUgUGlnZW9uIFBlYS48L3A+XG48cD5TdWl0YWJsZSBmb3IgdmVnYW5zIGFuZCB2ZWdldGFyaWFuczwvcD5cbjwvbGk+IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIxMjA1MjQiLCJkZmMtYjppbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNzMxLzg0ODMvNzkzOS9wcm9kdWN0cy9Mb29zZS1SZWQtRm94ZXMtMjQwMHgxNjAwXzk4M3g2NTZfNWQ1ZDJjNDktZDA3Ny00MjEyLThhMmQtMTkxODU1MzI5Y2U5LmpwZz92PTE2Nzc3NjA4MTIiLCJkZmMtYjpuYW1lIjoiQ2FybGluIFBlYXMsIFJlZCBGb3ggLSBDYXRlcmluZywgbGFyZ2UsIDI1a2ciLCJkZmMtYjpyZWZlcmVuY2VkQnkiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njc3NDU1ODcvQ2F0YWxvZ0l0ZW0ifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2Nzc0NTU4Ny9DYXRhbG9nSXRlbSIsIkB0eXBlIjoiZGZjLWI6Q2F0YWxvZ0l0ZW0iLCJkZmMtYjpvZmZlcmVkVGhyb3VnaCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2Nzc0NTU4Ny9PZmZlciIsImRmYy1iOnNrdSI6Ik5XUkYvMjUiLCJkZmMtYjpzdG9ja0xpbWl0YXRpb24iOiItMSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY3NzQ1NTg3L09mZmVyIiwiQHR5cGUiOiJkZmMtYjpPZmZlciIsImRmYy1iOmhhc1ByaWNlIjp7IkBpZCI6Il86YjEyMDUyNSJ9fSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0NyIsIkB0eXBlIjoiZGZjLWI6U3VwcGxpZWRQcm9kdWN0IiwiZGZjLWI6ZGVzY3JpcHRpb24iOiI8cD48c3Ryb25nPlRoZSBmaXJzdCBldmVyIEJyaXRpc2gtZ3Jvd24gb3JnYW5pY8KgY2hpYSBzZWVkcyEgPC9zdHJvbmc+PC9wPlxuPHA+PHN0cm9uZz5UaGVzZSB2ZXJzYXRpbGUgYW5kIG51dHJpdGlvdXMgc2VlZHMgYXJlIGRlbGljaW91cyBzcHJpbmtsZWQgb24gc2FsYWRzLCBhZGRlZCB0byBzbW9vdGhpZXMgb3IgaW4gYmFraW5nLiBUaGV5IG1ha2UgYSBncmVhdCB2ZWdhbiBlZ2cgcmVwbGFjZW1lbnQgdG9vLjwvc3Ryb25nPjwvcD5cbjxwPk9yZ2FuaWNhbGx5IGdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLCB3aXRoIGd1aWRhbmNlIGZyb20gPGEgdGl0bGU9XCJSZWFzb25zIHRvIGJlIENoaWEtZnVsXCIgaHJlZj1cImh0dHBzOi8vaG9kbWVkb2RzLmNvLnVrL2Jsb2dzL25ld3MvZmlyc3QtYnJpdGlzaC1jaGlhXCI+Y2hpYSBwaW9uZWVycyBQZXRlciBhbmQgQW5kcmV3IEZhaXJzPC9hPiwgdGhlc2UgY2hpYSBzZWVkcyBhcmUgdGhlIHJlc3VsdCBvZiBmaXZlIHllYXJzIG9mIGNyb3AgdHJpYWxzIGFuZCBkZXZlbG9wbWVudHMuwqBUaGUgdGlueSBvaWwtcmljaCBzZWVkcyBhcmUgaGFydmVzdGVkIGZyb20gdGhlIDxlbT5TYWx2aWEgaGlzcGFuaWNhPC9lbT4gcGxhbnQsIGEgbWVtYmVyIG9mIHRoZSBtaW50IGZhbWlseSBvcmlnaW5hdGluZyBpbiBjZW50cmFsIEFtZXJpY2EsIHdoZXJlIGNoaWEgd2FzIGEgc3RhcGxlIGZvb2QgaW4gQXp0ZWMgY3VsdHVyZXMsIGFsb25nc2lkZSBiZWFucyBhbmQgY29ybi48L3A+XG48IS0tIHNwbGl0IC0tPjxoMz5Db21wbGV0ZSBQcm9kdWN0IERldGFpbHM8L2gzPlxuPGxpIGlkPVwidGFiMVwiIGNsYXNzPVwiYWN0aXZlXCI+XG48cD5TcHJpbmtsZSBvbiBzYWxhZHMsIHVzZSBpbiBiYWtpbmcsIGFkZCB0byBzbW9vdGhpZXMsIHBvcnJpZGdlIG9yIGdyYW5vbGEuPC9wPlxuPHA+QWR2aXNlZCBtYXhpbXVtIGRhaWx5IGludGFrZTogMTVnPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Db29raW5nIGluc3RydWN0aW9uczwvaDU+XG48cD48c3Ryb25nPkFzIGFuIGVnZyBzdWJzdGl0dXRlPC9zdHJvbmc+PGJyPlNvYWsgMSB0YWJsZXNwb29uIG9mIHNlZWRzIGluIDMgdGFibGVzcG9vbnMgb2Ygd2FybSB3YXRlciBmb3IgMzAgbWludXRlcyB0byByZXBsYWNlIG9uZSBlZ2cgaW4gdmVnYW4gYmFraW5nLjwvcD5cbjxwPjxzdHJvbmc+SW4gYmFraW5nPC9zdHJvbmc+PGJyPkFkZCB3aG9sZSBvciBncm91bmQgY2hpYSBzZWVkcyB0byBicmVhZCBtaXhlcyBhdCB1cCB0byA1JTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBvdGhlciBiYWtpbmcgbWl4ZXMgYXQgdXAgdG8gMTAlPC9wPlxuPHA+PHN0cm9uZz5PdGhlciB1c2VzPC9zdHJvbmc+PGJyPiBBZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBicmVha2Zhc3QgY2VyZWFsIGF0IHVwIHRvIDEwJTxicj5BZGQgd2hvbGUgY2hpYSBzZWVkcyB0byBmcnVpdCwgbnV0LCBhbmQgc2VlZCBtaXhlcyBhdCB1cCB0byAxMCU8YnI+QWRkIHdob2xlLCBtYXNoZWQgb3IgZ3JvdW5kIGNoaWEgc2VlZHMgdG8gZnJ1aXQganVpY2VzIG9yIHNtb290aGllcyBhdCB1cCB0byAxNWcvZGF5PC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD5DaGlhwqBzZWVkcyAoPGVtPlNhbHZpYSBIaXNwYW5pY2E8L2VtPik8L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkFsbGVyZ3kgaW5mb3JtYXRpb248L2g1PlxuPHA+Tm8gQWxsZXJnZW5zPC9wPlxuPHRhYmxlIGhlaWdodD1cIjI0N1wiIHdpZHRoPVwiNDE2XCI+XG48dGJvZHk+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPjxzdHJvbmc+VHlwaWNhbCB2YWx1ZXM8L3N0cm9uZz48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkVuZXJneTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjEsNjc1a0ogLyA0MDRrY2FsPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkZhdDwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIzLjJnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjIuM2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FyYm9oeWRyYXRlPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTYuN2c8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+b2Ygd2hpY2ggc3VnYXJzPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC44ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5GaWJyZTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjI3LjdnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPlByb3RlaW48L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4xOC4yZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5TYWx0PC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MC4wMWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+Q2FsY2l1bTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjcwMW1nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPklyb248L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj43LjJtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5NYWduZXNpdW08L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4yMzBtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5QaG9zcGhvcm91czwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjU4M21nPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPk9tZWdhIDMgQUxBPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTEuNWc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5Nb3JlPC9oNT5cbjxwPkNoaWHCoFNlZWRzIGFyZSBoaWdoIGluIGRpZXRhcnkgZmlicmUgYW5kwqBPbWVnYSAzIEFMQSBvaWxzLCBhbmQgYSBzb3VyY2Ugb2YgcHJvdGVpbi48L3A+XG48cD5TdWl0YWJsZSBmb3IgVmVnYW5zICZhbXA7IFZlZ2V0YXJpYW5zLjwvcD5cbjxwPkdyb3duIGJ5IEpvaG4gYW5kIEFsaWNlIFBhd3NleSBpbiBTdWZmb2xrLjwvcD5cbjwvbGk+IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIxMjA1MzIiLCJkZmMtYjppbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNzMxLzg0ODMvNzkzOS9wcm9kdWN0cy9PcmdhbmljLUNoaWEtMjQwMHgxODAwXzNmOWIyOWM2LWYxZmUtNDg5OS05NTdmLTAzOGJlOTc2ZGE2OC5qcGc/dj0xNjc3NzYwODE2IiwiZGZjLWI6bmFtZSI6IkNoaWEgU2VlZCwgT3JnYW5pYyAtIFJldGFpbCBwYWNrLCAzMDBnIiwiZGZjLWI6cmVmZXJlbmNlZEJ5IjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0NhdGFsb2dJdGVtIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvQXNQbGFubmVkQ29uc3VtcHRpb25GbG93IiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJkZmMtYjpjb25zdW1lcyI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0NyIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMTIwNTU2In0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvQXNQbGFubmVkUHJvZHVjdGlvbkZsb3ciLCJAdHlwZSI6ImRmYy1iOkFzUGxhbm5lZFByb2R1Y3Rpb25GbG93IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIxMjA1NTciLCJkZmMtYjpwcm9kdWNlcyI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0FzUGxhbm5lZFRyYW5zZm9ybWF0aW9uIiwiQHR5cGUiOiJkZmMtYjpBc1BsYW5uZWRUcmFuc2Zvcm1hdGlvbiIsImRmYy1iOmhhc0luY29tZSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9Bc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJkZmMtYjpoYXNPdXRjb21lIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDAwOTQ3L0FzUGxhbm5lZFByb2R1Y3Rpb25GbG93In0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvQ2F0YWxvZ0l0ZW0iLCJAdHlwZSI6ImRmYy1iOkNhdGFsb2dJdGVtIiwiZGZjLWI6b2ZmZXJlZFRocm91Z2giOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MDA5NDcvT2ZmZXIiLCJkZmMtYjpza3UiOiJPR0NIL1IzIiwiZGZjLWI6c3RvY2tMaW1pdGF0aW9uIjoiLTEifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQwMDk0Ny9PZmZlciIsIkB0eXBlIjoiZGZjLWI6T2ZmZXIiLCJkZmMtYjpoYXNQcmljZSI6eyJAaWQiOiJfOmIxMjA1MzMifX0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MzM3MTUiLCJAdHlwZSI6ImRmYy1iOlN1cHBsaWVkUHJvZHVjdCIsImRmYy1iOmRlc2NyaXB0aW9uIjoiPHA+PHN0cm9uZz5UaGUgZmlyc3QgZXZlciBCcml0aXNoLWdyb3duIG9yZ2FuaWPCoGNoaWEgc2VlZHMhIDwvc3Ryb25nPjwvcD5cbjxwPjxzdHJvbmc+VGhlc2UgdmVyc2F0aWxlIGFuZCBudXRyaXRpb3VzIHNlZWRzIGFyZSBkZWxpY2lvdXMgc3ByaW5rbGVkIG9uIHNhbGFkcywgYWRkZWQgdG8gc21vb3RoaWVzIG9yIGluIGJha2luZy4gVGhleSBtYWtlIGEgZ3JlYXQgdmVnYW4gZWdnIHJlcGxhY2VtZW50IHRvby48L3N0cm9uZz48L3A+XG48cD5PcmdhbmljYWxseSBncm93biBieSBKb2huIGFuZCBBbGljZSBQYXdzZXkgaW4gU3VmZm9saywgd2l0aCBndWlkYW5jZSBmcm9tIDxhIHRpdGxlPVwiUmVhc29ucyB0byBiZSBDaGlhLWZ1bFwiIGhyZWY9XCJodHRwczovL2hvZG1lZG9kcy5jby51ay9ibG9ncy9uZXdzL2ZpcnN0LWJyaXRpc2gtY2hpYVwiPmNoaWEgcGlvbmVlcnMgUGV0ZXIgYW5kIEFuZHJldyBGYWlyczwvYT4sIHRoZXNlIGNoaWEgc2VlZHMgYXJlIHRoZSByZXN1bHQgb2YgZml2ZSB5ZWFycyBvZiBjcm9wIHRyaWFscyBhbmQgZGV2ZWxvcG1lbnRzLsKgVGhlIHRpbnkgb2lsLXJpY2ggc2VlZHMgYXJlIGhhcnZlc3RlZCBmcm9tIHRoZSA8ZW0+U2FsdmlhIGhpc3BhbmljYTwvZW0+IHBsYW50LCBhIG1lbWJlciBvZiB0aGUgbWludCBmYW1pbHkgb3JpZ2luYXRpbmcgaW4gY2VudHJhbCBBbWVyaWNhLCB3aGVyZSBjaGlhIHdhcyBhIHN0YXBsZSBmb29kIGluIEF6dGVjIGN1bHR1cmVzLCBhbG9uZ3NpZGUgYmVhbnMgYW5kIGNvcm4uPC9wPlxuPCEtLSBzcGxpdCAtLT48aDM+Q29tcGxldGUgUHJvZHVjdCBEZXRhaWxzPC9oMz5cbjxsaSBpZD1cInRhYjFcIiBjbGFzcz1cImFjdGl2ZVwiPlxuPHA+U3ByaW5rbGUgb24gc2FsYWRzLCB1c2UgaW4gYmFraW5nLCBhZGQgdG8gc21vb3RoaWVzLCBwb3JyaWRnZSBvciBncmFub2xhLjwvcD5cbjxwPkFkdmlzZWQgbWF4aW11bSBkYWlseSBpbnRha2U6IDE1ZzwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+Q29va2luZyBpbnN0cnVjdGlvbnM8L2g1PlxuPHA+PHN0cm9uZz5BcyBhbiBlZ2cgc3Vic3RpdHV0ZTwvc3Ryb25nPjxicj5Tb2FrIDEgdGFibGVzcG9vbiBvZiBzZWVkcyBpbiAzIHRhYmxlc3Bvb25zIG9mIHdhcm0gd2F0ZXIgZm9yIDMwIG1pbnV0ZXMgdG8gcmVwbGFjZSBvbmUgZWdnIGluIHZlZ2FuIGJha2luZy48L3A+XG48cD48c3Ryb25nPkluIGJha2luZzwvc3Ryb25nPjxicj5BZGQgd2hvbGUgb3IgZ3JvdW5kIGNoaWEgc2VlZHMgdG8gYnJlYWQgbWl4ZXMgYXQgdXAgdG8gNSU8YnI+QWRkIHdob2xlIGNoaWEgc2VlZHMgdG8gb3RoZXIgYmFraW5nIG1peGVzIGF0IHVwIHRvIDEwJTwvcD5cbjxwPjxzdHJvbmc+T3RoZXIgdXNlczwvc3Ryb25nPjxicj4gQWRkIHdob2xlIGNoaWEgc2VlZHMgdG8gYnJlYWtmYXN0IGNlcmVhbCBhdCB1cCB0byAxMCU8YnI+QWRkIHdob2xlIGNoaWEgc2VlZHMgdG8gZnJ1aXQsIG51dCwgYW5kIHNlZWQgbWl4ZXMgYXQgdXAgdG8gMTAlPGJyPkFkZCB3aG9sZSwgbWFzaGVkIG9yIGdyb3VuZCBjaGlhIHNlZWRzIHRvIGZydWl0IGp1aWNlcyBvciBzbW9vdGhpZXMgYXQgdXAgdG8gMTVnL2RheTwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+SW5ncmVkaWVudHM8L2g1PlxuPHA+Q2hpYcKgc2VlZHMgKDxlbT5TYWx2aWEgSGlzcGFuaWNhPC9lbT4pPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5BbGxlcmd5IGluZm9ybWF0aW9uPC9oNT5cbjxwPk5vIEFsbGVyZ2VuczwvcD5cbjx0YWJsZSBoZWlnaHQ9XCIyNDdcIiB3aWR0aD1cIjQxNlwiPlxuPHRib2R5PlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj48c3Ryb25nPlR5cGljYWwgdmFsdWVzPC9zdHJvbmc+PC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+PHN0cm9uZz5QZXIgMTAwZzwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5FbmVyZ3k8L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4xLDY3NWtKIC8gNDA0a2NhbDwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5GYXQ8L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4yMy4yZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5vZiB3aGljaCBzYXR1cmF0ZXM8L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4yLjNnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkNhcmJvaHlkcmF0ZTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjE2LjdnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPm9mIHdoaWNoIHN1Z2FyczwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjAuOGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+RmlicmU8L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj4yNy43ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5Qcm90ZWluPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MTguMmc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+U2FsdDwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjAuMDFnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDogMjAzLjI5NXB4O1wiPkNhbGNpdW08L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj43MDFtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5Jcm9uPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+Ny4ybWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+TWFnbmVzaXVtPC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOiAxOTkuNjU5cHg7XCI+MjMwbWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZCBzdHlsZT1cIndpZHRoOiAyMDMuMjk1cHg7XCI+UGhvc3Bob3JvdXM8L3RkPlxuPHRkIHN0eWxlPVwid2lkdGg6IDE5OS42NTlweDtcIj41ODNtZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkIHN0eWxlPVwid2lkdGg6IDIwMy4yOTVweDtcIj5PbWVnYSAzIEFMQTwvdGQ+XG48dGQgc3R5bGU9XCJ3aWR0aDogMTk5LjY1OXB4O1wiPjExLjVnPC90ZD5cbjwvdHI+XG48L3Rib2R5PlxuPC90YWJsZT5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+TW9yZTwvaDU+XG48cD5DaGlhwqBTZWVkcyBhcmUgaGlnaCBpbiBkaWV0YXJ5IGZpYnJlIGFuZMKgT21lZ2EgMyBBTEEgb2lscywgYW5kIGEgc291cmNlIG9mIHByb3RlaW4uPC9wPlxuPHA+U3VpdGFibGUgZm9yIFZlZ2FucyAmYW1wOyBWZWdldGFyaWFucy48L3A+XG48cD5Hcm93biBieSBKb2huIGFuZCBBbGljZSBQYXdzZXkgaW4gU3VmZm9say48L3A+XG48L2xpPiIsImRmYy1iOmhhc1F1YW50aXR5IjoiXzpiMTIwNTQ0IiwiZGZjLWI6aW1hZ2UiOiJodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDczMS84NDgzLzc5MzkvcHJvZHVjdHMvT3JnYW5pYy1DaGlhLTI0MDB4MTgwMF8zZjliMjljNi1mMWZlLTQ4OTktOTU3Zi0wMzhiZTk3NmRhNjguanBnP3Y9MTY3Nzc2MDgxNiIsImRmYy1iOm5hbWUiOiJDaGlhIFNlZWQsIE9yZ2FuaWMgLSBDYXNlLCA4IHggMzAwZyIsImRmYy1iOnJlZmVyZW5jZWRCeSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ2ODQzMzcxNS9DYXRhbG9nSXRlbSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDMzNzE1L0NhdGFsb2dJdGVtIiwiQHR5cGUiOiJkZmMtYjpDYXRhbG9nSXRlbSIsImRmYy1iOm9mZmVyZWRUaHJvdWdoIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDY4NDMzNzE1L09mZmVyIiwiZGZjLWI6c2t1IjoiT0dDSC9DOCIsImRmYy1iOnN0b2NrTGltaXRhdGlvbiI6Ii0xIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0Njg0MzM3MTUvT2ZmZXIiLCJAdHlwZSI6ImRmYy1iOk9mZmVyIiwiZGZjLWI6aGFzUHJpY2UiOnsiQGlkIjoiXzpiMTIwNTQ1In19LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDcwOTI0MDgzIiwiQHR5cGUiOiJkZmMtYjpTdXBwbGllZFByb2R1Y3QiLCJkZmMtYjpkZXNjcmlwdGlvbiI6Ijx0YWJsZSB3aWR0aD1cIjEwMCVcIj5cbjx0Ym9keT5cbjx0ciBzdHlsZT1cImJvcmRlcjogMHB4O1wiPlxuPHRkIGJnY29sb3I9XCIjZDZmYmVkXCIgc3R5bGU9XCJjb2xvcjogIzAwMDAwMDsgYm9yZGVyOiAwcHg7IHdpZHRoOiA1MjZweDtcIj48Yj5UaGUgcmljaCwgc21va3kgYW5kIHNhbHR5IHRhc3RlIG9mIGR1bHNlIGFkZHMgZGVwdGggdG8gZGlzaGVzIG9mIGFsbCBraW5kcy48L2I+PC90ZD5cbjwvdHI+XG48L3Rib2R5PlxuPC90YWJsZT5cbjxwPkVhdGluZyBkdWxzZSBpcyBhbiBhbmNpZW50IHRyYWRpdGlvbiBpbiBTY290cyBhbmQgSXJpc2ggY3VsdHVyZS4gSXQgYWRkcyBhIHdvbmRlcmZ1bCBkZXB0aCBvZiBmbGF2b3VyIGFuZCBpcyByaWNoIGluIG1pbmVyYWxzIGFuZCBwcm90ZWluLjwvcD5cbjxwPlNvbWV0aW1lcyBrbm93biBhcyAndmVnZXRhcmlhbiBiYWNvbicgaXQgaGFzIGEgd29uZGVyZnVsIHJvYnVzdCBmbGF2b3VyIHRoYXQgcGFpcnMgd2VsbCB3aXRoIHNlYWZvb2QsIGxlYWZ5IGdyZWVucyBhbmQgdG9tYXRvZXMuPC9wPlxuPHA+TWFyYSBTZWF3ZWVkIGlzIGhhcnZlc3RlZCBzdXN0YWluYWJseSBmcm9tIHRoZSBwdXJlLCB3aWxkIHdhdGVycyBhcm91bmQgU2NvdGxhbmQgYW5kIElyZWxhbmQuwqA8c3Bhbj5UbyBhdm9pZCBjb250YW1pbmF0aW9uLCB0aGUgc2Vhd2VlZCBpcyBwYWNrZWQgaW50byBzZWFsZWQgc2Fja3MgYmVmb3JlIGJlaW5nIGJyb3VnaHQgdXAgdGhlIGJlYWNoIGFuZCBkZWxpdmVyZWQgZnJlc2gsIGRpcmVjdGx5IHRvIHRoZSBmYWN0b3J5LiBUaGUgc2Vhd2VlZCBpcyBwaWNrZWQgYW5kIHByb2Nlc3NlZCB3aXRoaW4gMjQgaG91cnMgdG8gbG9jayBpbiBmbGF2b3VyLCBlbnN1cmUgcXVhbGl0eSBhbmQgc2VjdXJlIG1heGltdW0gbnV0cml0aW9uYWwgYmVuZWZpdHMuPC9zcGFuPjwvcD48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkhvdyB0byB1c2U8L2g1PlxuPHA+RHVsc2UgaGFzIGEgbmF0dXJhbCwgbGluZ2VyaW5nIHNtb2t5IHRhc3RlLiBJdCdzIGRlbGljaW91cyB3aGVuIGdlbmVyb3VzbHkgc2hha2VuIG9uIGRhcmsgZ3JlZW4gdmVnZXRhYmxlcyBhbmQgcmljaCBwdWxzZSBkaXNoZXMuPC9wPlxuPHA+Rm9yIGFuIGV4dHJhIHNhdm91cnkgaGl0IHdpdGhvdXQgdGhlIHNhbHQsIHVzZSBkdWxzZSBmbGFrZXMgdG8gc2Vhc29uIHJvYXN0ZWQgdmVnZXRhYmxlLCBvciBzdGlyIGludG8gYm9sb2duZXNlIHNhdWNlIG9yIGNoaWxsaSBiZWZvcmUgc2VydmluZy4gRHVsc2UgaXMgYWxzbyBwZXJmZWN0IHNjYXR0ZXJlZCBtaXhlZCB0aHJvdWdoIGNyaXNweSBrYWxlLjwvcD5cbjxwPkZvciBhbiB1bnVzdWFsIHNhbHRlZCBjYXJhbWVsLXN0eWxlIHR3aXN0LCB0cnkgcGFpcmluZyBkdWxzZSB3aXRoIGRhcmsgY2hvY29sYXRlLiBKdXN0IGNvbWJpbmUgYSBwaW5jaCBvZiBkdWxzZSB3aXRoIHRoZSBvdGhlciBkcnkgaW5ncmVkaWVudHMgaW4gYW55IGJyb3duaWUgb3IgdHJ1ZmZsZSByZWNpcGUuPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5JbmdyZWRpZW50czwvaDU+XG48cD4xMDAlIER1bHNlICg8ZW0+UGFsbWFyaWEgcGFsbWF0YTwvZW0+KTwvcD5cbjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+QWxsZXJneSBpbmZvcm1hdGlvbjwvaDU+XG48cD5NYXkgY29udGFpbiBmaXNoLCBjcnVzdGFjZWFucywgbW9sbHVzY3MuXG48L3A+XG48dGFibGUgd2lkdGg9XCIxMDAlXCI+XG48dGJvZHk+XG48dHI+XG48dGQ+PHN0cm9uZz5UeXBpY2FsIHZhbHVlczwvc3Ryb25nPjwvdGQ+XG48dGQ+PHN0cm9uZz5QZXIgMTAwZzwvc3Ryb25nPjwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkVuZXJneTwvdGQ+XG48dGQ+OTc0a0ogKDIzNGtjYWwpPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RmF0PC90ZD5cbjx0ZD5cbjxwPjEuNWc8L3A+XG48L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzYXR1cmF0ZXM8L3RkPlxuPHRkPjAuNGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5DYXJib2h5ZHJhdGU8L3RkPlxuPHRkPjIyLjhnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+b2Ygd2hpY2ggc3VnYXJzPC90ZD5cbjx0ZD4xLjBnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RmlicmU8L3RkPlxuPHRkPjM2LjlnPC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+UHJvdGVpbjwvdGQ+XG48dGQ+MTMuOGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5TYWx0PC90ZD5cbjx0ZD40LjlnPC90ZD5cbjwvdHI+XG48L3Rib2R5PlxuPC90YWJsZT48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPk1vcmU8L2g1PlxuPHA+UHJvZHVjdCBvZiBTY290bGFuZDxicj5HcmVhdCBUYXN0ZSBhd2FyZCB3aW5uZXI8YnI+U3VpdGFibGUgZm9yIHZlZ2FucyBhbmQgdmVnZXRhcmlhbnM8YnI+QSBzb3VyY2Ugb2YgaW9kaW5lLCBjYWxjaXVtLCBwb3Rhc3NpdW0sIG1hZ25lc2l1bSwgbWFuZ2FuZXNlLCBjb3BwZXIsIGlyb24sIHppbmM8L3A+IiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIxMjA1MzQiLCJkZmMtYjppbWFnZSI6Imh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wNzMxLzg0ODMvNzkzOS9wcm9kdWN0cy9NYXJhLUR1bHNlLTMwZy10aW4tMTgwMHgxMjAwLmpwZz92PTE2Nzc3NjA4MzIiLCJkZmMtYjpuYW1lIjoiRHVsc2UgRmxha2VzIC0gUmV0YWlsIHBvdWNoLCAzMGciLCJkZmMtYjpyZWZlcmVuY2VkQnkiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NzA5MjQwODMvQ2F0YWxvZ0l0ZW0ifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ3MDkyNDA4My9Bc1BsYW5uZWRDb25zdW1wdGlvbkZsb3ciLCJAdHlwZSI6ImRmYy1iOkFzUGxhbm5lZENvbnN1bXB0aW9uRmxvdyIsImRmYy1iOmNvbnN1bWVzIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDcwOTI0MDgzIiwiZGZjLWI6aGFzUXVhbnRpdHkiOiJfOmIxMjA1NTgifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ3MDkyNDA4My9Bc1BsYW5uZWRQcm9kdWN0aW9uRmxvdyIsIkB0eXBlIjoiZGZjLWI6QXNQbGFubmVkUHJvZHVjdGlvbkZsb3ciLCJkZmMtYjpoYXNRdWFudGl0eSI6Il86YjEyMDU1OSIsImRmYy1iOnByb2R1Y2VzIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDcwOTU2ODUxIn0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NzA5MjQwODMvQXNQbGFubmVkVHJhbnNmb3JtYXRpb24iLCJAdHlwZSI6ImRmYy1iOkFzUGxhbm5lZFRyYW5zZm9ybWF0aW9uIiwiZGZjLWI6aGFzSW5jb21lIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDcwOTI0MDgzL0FzUGxhbm5lZENvbnN1bXB0aW9uRmxvdyIsImRmYy1iOmhhc091dGNvbWUiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NzA5MjQwODMvQXNQbGFubmVkUHJvZHVjdGlvbkZsb3cifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ3MDkyNDA4My9DYXRhbG9nSXRlbSIsIkB0eXBlIjoiZGZjLWI6Q2F0YWxvZ0l0ZW0iLCJkZmMtYjpvZmZlcmVkVGhyb3VnaCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ3MDkyNDA4My9PZmZlciIsImRmYy1iOnNrdSI6Ik1BUi9XRFVMUy9QMyIsImRmYy1iOnN0b2NrTGltaXRhdGlvbiI6IjUifSx7IkBpZCI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ3MDkyNDA4My9PZmZlciIsIkB0eXBlIjoiZGZjLWI6T2ZmZXIiLCJkZmMtYjpoYXNQcmljZSI6eyJAaWQiOiJfOmIxMjA1MzUifX0seyJAaWQiOiJodHRwczovL2Vudi0wMTA1ODMxLmpjbG91ZC12ZXItanBlLmlrLXNlcnZlci5jb20vYXBpL2RmYy9FbnRlcnByaXNlcy90ZXN0LWhvZG1lZG9kL1N1cHBsaWVkUHJvZHVjdHMvNDQ1MTk0NzA5NTY4NTEiLCJAdHlwZSI6ImRmYy1iOlN1cHBsaWVkUHJvZHVjdCIsImRmYy1iOmRlc2NyaXB0aW9uIjoiPHRhYmxlIHdpZHRoPVwiMTAwJVwiPlxuPHRib2R5PlxuPHRyIHN0eWxlPVwiYm9yZGVyOiAwcHg7XCI+XG48dGQgYmdjb2xvcj1cIiNkNmZiZWRcIiBzdHlsZT1cImNvbG9yOiAjMDAwMDAwOyBib3JkZXI6IDBweDsgd2lkdGg6IDUyNnB4O1wiPjxiPlRoZSByaWNoLCBzbW9reSBhbmQgc2FsdHkgdGFzdGUgb2YgZHVsc2UgYWRkcyBkZXB0aCB0byBkaXNoZXMgb2YgYWxsIGtpbmRzLjwvYj48L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPlxuPHA+RWF0aW5nIGR1bHNlIGlzIGFuIGFuY2llbnQgdHJhZGl0aW9uIGluIFNjb3RzIGFuZCBJcmlzaCBjdWx0dXJlLiBJdCBhZGRzIGEgd29uZGVyZnVsIGRlcHRoIG9mIGZsYXZvdXIgYW5kIGlzIHJpY2ggaW4gbWluZXJhbHMgYW5kIHByb3RlaW4uPC9wPlxuPHA+U29tZXRpbWVzIGtub3duIGFzICd2ZWdldGFyaWFuIGJhY29uJyBpdCBoYXMgYSB3b25kZXJmdWwgcm9idXN0IGZsYXZvdXIgdGhhdCBwYWlycyB3ZWxsIHdpdGggc2VhZm9vZCwgbGVhZnkgZ3JlZW5zIGFuZCB0b21hdG9lcy48L3A+XG48cD5NYXJhIFNlYXdlZWQgaXMgaGFydmVzdGVkIHN1c3RhaW5hYmx5IGZyb20gdGhlIHB1cmUsIHdpbGQgd2F0ZXJzIGFyb3VuZCBTY290bGFuZCBhbmQgSXJlbGFuZC7CoDxzcGFuPlRvIGF2b2lkIGNvbnRhbWluYXRpb24sIHRoZSBzZWF3ZWVkIGlzIHBhY2tlZCBpbnRvIHNlYWxlZCBzYWNrcyBiZWZvcmUgYmVpbmcgYnJvdWdodCB1cCB0aGUgYmVhY2ggYW5kIGRlbGl2ZXJlZCBmcmVzaCwgZGlyZWN0bHkgdG8gdGhlIGZhY3RvcnkuIFRoZSBzZWF3ZWVkIGlzIHBpY2tlZCBhbmQgcHJvY2Vzc2VkIHdpdGhpbiAyNCBob3VycyB0byBsb2NrIGluIGZsYXZvdXIsIGVuc3VyZSBxdWFsaXR5IGFuZCBzZWN1cmUgbWF4aW11bSBudXRyaXRpb25hbCBiZW5lZml0cy48L3NwYW4+PC9wPjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+SG93IHRvIHVzZTwvaDU+XG48cD5EdWxzZSBoYXMgYSBuYXR1cmFsLCBsaW5nZXJpbmcgc21va3kgdGFzdGUuIEl0J3MgZGVsaWNpb3VzIHdoZW4gZ2VuZXJvdXNseSBzaGFrZW4gb24gZGFyayBncmVlbiB2ZWdldGFibGVzIGFuZCByaWNoIHB1bHNlIGRpc2hlcy48L3A+XG48cD5Gb3IgYW4gZXh0cmEgc2F2b3VyeSBoaXQgd2l0aG91dCB0aGUgc2FsdCwgdXNlIGR1bHNlIGZsYWtlcyB0byBzZWFzb24gcm9hc3RlZCB2ZWdldGFibGUsIG9yIHN0aXIgaW50byBib2xvZ25lc2Ugc2F1Y2Ugb3IgY2hpbGxpIGJlZm9yZSBzZXJ2aW5nLiBEdWxzZSBpcyBhbHNvIHBlcmZlY3Qgc2NhdHRlcmVkIG1peGVkIHRocm91Z2ggY3Jpc3B5IGthbGUuPC9wPlxuPHA+Rm9yIGFuIHVudXN1YWwgc2FsdGVkIGNhcmFtZWwtc3R5bGUgdHdpc3QsIHRyeSBwYWlyaW5nIGR1bHNlIHdpdGggZGFyayBjaG9jb2xhdGUuIEp1c3QgY29tYmluZSBhIHBpbmNoIG9mIGR1bHNlIHdpdGggdGhlIG90aGVyIGRyeSBpbmdyZWRpZW50cyBpbiBhbnkgYnJvd25pZSBvciB0cnVmZmxlIHJlY2lwZS48L3A+XG48aDUgY2xhc3M9XCJwcm9kdWN0LWRldGFpbC10aXRsZVwiPkluZ3JlZGllbnRzPC9oNT5cbjxwPjEwMCUgRHVsc2UgKDxlbT5QYWxtYXJpYSBwYWxtYXRhPC9lbT4pPC9wPlxuPGg1IGNsYXNzPVwicHJvZHVjdC1kZXRhaWwtdGl0bGVcIj5BbGxlcmd5IGluZm9ybWF0aW9uPC9oNT5cbjxwPk1heSBjb250YWluIGZpc2gsIGNydXN0YWNlYW5zLCBtb2xsdXNjcy5cbjwvcD5cbjx0YWJsZSB3aWR0aD1cIjEwMCVcIj5cbjx0Ym9keT5cbjx0cj5cbjx0ZD48c3Ryb25nPlR5cGljYWwgdmFsdWVzPC9zdHJvbmc+PC90ZD5cbjx0ZD48c3Ryb25nPlBlciAxMDBnPC9zdHJvbmc+PC90ZD5cbjwvdHI+XG48dHI+XG48dGQ+RW5lcmd5PC90ZD5cbjx0ZD45NzRrSiAoMjM0a2NhbCk8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GYXQ8L3RkPlxuPHRkPlxuPHA+MS41ZzwvcD5cbjwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPm9mIHdoaWNoIHNhdHVyYXRlczwvdGQ+XG48dGQ+MC40ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPkNhcmJvaHlkcmF0ZTwvdGQ+XG48dGQ+MjIuOGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5vZiB3aGljaCBzdWdhcnM8L3RkPlxuPHRkPjEuMGc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5GaWJyZTwvdGQ+XG48dGQ+MzYuOWc8L3RkPlxuPC90cj5cbjx0cj5cbjx0ZD5Qcm90ZWluPC90ZD5cbjx0ZD4xMy44ZzwvdGQ+XG48L3RyPlxuPHRyPlxuPHRkPlNhbHQ8L3RkPlxuPHRkPjQuOWc8L3RkPlxuPC90cj5cbjwvdGJvZHk+XG48L3RhYmxlPjxoNSBjbGFzcz1cInByb2R1Y3QtZGV0YWlsLXRpdGxlXCI+TW9yZTwvaDU+XG48cD5Qcm9kdWN0IG9mIFNjb3RsYW5kPGJyPkdyZWF0IFRhc3RlIGF3YXJkIHdpbm5lcjxicj5TdWl0YWJsZSBmb3IgdmVnYW5zIGFuZCB2ZWdldGFyaWFuczxicj5BIHNvdXJjZSBvZiBpb2RpbmUsIGNhbGNpdW0sIHBvdGFzc2l1bSwgbWFnbmVzaXVtLCBtYW5nYW5lc2UsIGNvcHBlciwgaXJvbiwgemluYzwvcD4iLCJkZmMtYjpoYXNRdWFudGl0eSI6Il86YjEyMDU0NiIsImRmYy1iOmltYWdlIjoiaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzA3MzEvODQ4My83OTM5L3Byb2R1Y3RzL01hcmEtRHVsc2UtMzBnLXRpbi0xODAweDEyMDAuanBnP3Y9MTY3Nzc2MDgzMiIsImRmYy1iOm5hbWUiOiJEdWxzZSBGbGFrZXMgLSBDYXNlLCAxMCB4IDMwZyIsImRmYy1iOnJlZmVyZW5jZWRCeSI6Imh0dHBzOi8vZW52LTAxMDU4MzEuamNsb3VkLXZlci1qcGUuaWstc2VydmVyLmNvbS9hcGkvZGZjL0VudGVycHJpc2VzL3Rlc3QtaG9kbWVkb2QvU3VwcGxpZWRQcm9kdWN0cy80NDUxOTQ3MDk1Njg1MS9DYXRhbG9nSXRlbSJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDcwOTU2ODUxL0NhdGFsb2dJdGVtIiwiQHR5cGUiOiJkZmMtYjpDYXRhbG9nSXRlbSIsImRmYy1iOm9mZmVyZWRUaHJvdWdoIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDcwOTU2ODUxL09mZmVyIiwiZGZjLWI6c2t1IjoiTUFSL1dEVUxTL0NYIiwiZGZjLWI6c3RvY2tMaW1pdGF0aW9uIjoiMCJ9LHsiQGlkIjoiaHR0cHM6Ly9lbnYtMDEwNTgzMS5qY2xvdWQtdmVyLWpwZS5pay1zZXJ2ZXIuY29tL2FwaS9kZmMvRW50ZXJwcmlzZXMvdGVzdC1ob2RtZWRvZC9TdXBwbGllZFByb2R1Y3RzLzQ0NTE5NDcwOTU2ODUxL09mZmVyIiwiQHR5cGUiOiJkZmMtYjpPZmZlciIsImRmYy1iOmhhc1ByaWNlIjp7IkBpZCI6Il86YjEyMDU0NyJ9fV19 + recorded_at: Thu, 31 Oct 2024 06:34:12 GMT - request: method: post uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders body: encoding: UTF-8 - string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders","@type":"dfc-b:Order","dfc-b:orderNumber":"","dfc-b:date":"","dfc-b:belongsTo":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SalesSession/#","dfc-b:hasPart":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/OrderLines/1","dfc-b:orderedBy":"http://test.host/api/dfc/enterprises/637","dfc-b:hasOrderStatus":"dfc-v:Held"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/OrderLines/1","@type":"dfc-b:OrderLine","dfc-b:description":"","dfc-b:quantity":3,"dfc-b:concerns":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635/Offer"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635/Offer","@type":"dfc-b:Offer","dfc-b:hasPrice":{"@type":"dfc-b:Price","dfc-b:value":"2.09","dfc-b:VATrate":"0","dfc-b:hasUnit":"dfc-m:Euro"},"dfc-b:stockLimitation":0.0,"dfc-b:offeredItem":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635","@type":"dfc-b:SuppliedProduct","dfc-b:name":"Baked - British Beans - Retail can, 400g (can)","dfc-b:description":"\n\n\n\n\n\n
They''re back!
\n

Think - baked beans are British? They are now! We use only British-grown fava beans - - Britain''s original bean, grown here since the Iron Age. Our Baked British - Beans are deliciously different, with large meaty fava beans in a tasty tomato - sauce.

\n

What - are fava beans? Find out here...

\n

Complete - Product Details

Our Baked British Beans are cooked and ready to eat, - hot or cold. They''re good served on toast but also delicious added to stews, - curries or casseroles. Or even in a pie.

\n
Cooking - instructions
\n

Cooking on the Hob
Empty contents - into saucepan. Heat gently for 4-5 minutes while stirring. For best flavour - do not boil or overcook. Do not reheat.

\n

Microwave Cooking
Empty - contents into a non-metallic bowl and cover. Heat for 2 to 3 minutes, stirring - halfway. Check the food is hot, stir well and serve. Do not reheat.

\n
To Store
\n

Store in a cool, dry place. - Once opened, transfer contents to a non-metallic container, cover refrigerate - and use with 2 days.

\n
Ingredients
\n

Fava - Beans (Broad Beans) (42%), Water, Tomato Puree, Sugar, Modified Maize Starch, - Salt, Herbs & Spices, Concentrated Lemon Juice

\n
Allergy - information
\n

No Allergens

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
Typical - valuesPer 100g
Energy292kJ - (69kcal)
Fat0.4g
of - which saturates0.1g
Carbohydrate10.1g
of - which sugars4.6g
Fibre5g
Protein4g
Salt0.6g
More
\n

Delicious, nutritious and good - for the soil, fava beans are a variety of broad bean, Vicia faba, left to - ripen and dry before harvest. They’re also known as field beans, horse beans, - Windsor beans or ful.

\n

Suitable for vegans and vegetarians

\n","dfc-b:hasQuantity":{"@type":"dfc-b:QuantitativeValue","dfc-b:hasUnit":"dfc-m:Kilogram","dfc-b:value":"0.4"},"dfc-b:alcoholPercentage":0.0,"dfc-b:lifetime":"","dfc-b:usageOrStorageCondition":"","dfc-b:referencedBy":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635/CatalogItem","dfc-b:image":"https://cdn.shopify.com/s/files/1/0731/8483/7939/products/Pack-Can-Baked-Beans-1800x6_983x656_513758e6-2616-4687-a8b2-ba6dde864923.jpg?v=1677760778","dfc-b:totalTheoreticalStock":0.0},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SalesSession/#","@type":"dfc-b:SaleSession","dfc-b:beginDate":"Thu - Sep 05 2024 05:44:12 UTC","dfc-b:endDate":"Fri Sep 13 2024 05:44:12 UTC","dfc-b:quantity":0.0}]}' + string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders","@type":"dfc-b:Order","dfc-b:belongsTo":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SalesSession/#","dfc-b:hasPart":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/OrderLines/1","dfc-b:orderedBy":"http://test.host/api/dfc/enterprises/331","dfc-b:hasOrderStatus":"dfc-v:Held"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/OrderLines/1","@type":"dfc-b:OrderLine","dfc-b:quantity":3,"dfc-b:concerns":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259/Offer"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259/Offer","@type":"dfc-b:Offer","dfc-b:hasPrice":{"@type":"dfc-b:Price","dfc-b:value":"6.25","dfc-b:VATrate":"0","dfc-b:hasUnit":"dfc-m:PoundSterling"},"dfc-b:offeredItem":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259","@type":"dfc-b:SuppliedProduct","dfc-b:name":"Apple + Balsamic Vinegar - Retail bottle, 40ml","dfc-b:description":"\n\n\n\n\n\n
This rich, intense and deeply flavoured + 6-year old apple balsamic vinegar is made using the traditional Italian method + of reduction and concentration of the juice over a lengthy period of time, + rather than by adding flavouring and colouring. 
\n

Liberty + Fields produce small batches of superb syrup, balsamic vinegar, cider and + vodka by hand from the fruit of their own Dorset apple orchards, planted from + 2010.

\n

The balsamic vinegar is aged for 6 years in barrels. The + only ingredient is apples.

\n
How to + use
\n

Use like Italian balsamic vinegar. As + well as using on salads, it’s a great partner for grilled meats or charcuterie; + a drop brings out the taste of strawberries and other soft fruits; and it + can really enhance a stew, sauce or a soup. 

\n
To + store
\n
\n

For best before date see pack. Store in a cool, dry place.

\n
Ingredients
\n

Apples

\n
Allergy + information
\n

No allergens.

More
\n

Product + of Dorset
Suitable for vegans and vegetarians

","dfc-b:hasQuantity":{"@type":"dfc-b:QuantitativeValue","dfc-b:hasUnit":"dfc-m:Kilogram","dfc-b:value":"0.04"},"dfc-b:referencedBy":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259/CatalogItem","dfc-b:image":"https://cdn.shopify.com/s/files/1/0731/8483/7939/products/Liberty-Fields-Apple-Balsamic-Vinegar-40ml_79617eea-ab8c-4070-9e4d-711bf030ad07.jpg?v=1677760772","ofn:image":"https://cdn.shopify.com/s/files/1/0731/8483/7939/products/Liberty-Fields-Apple-Balsamic-Vinegar-40ml_79617eea-ab8c-4070-9e4d-711bf030ad07.jpg?v=1677760772"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SalesSession/#","@type":"dfc-b:SaleSession","dfc-b:beginDate":"Wed + Oct 30 2024 06:34:01 UTC","dfc-b:endDate":"Thu Nov 07 2024 06:34:01 UTC"}]}' headers: Content-Type: - application/json @@ -303,11 +290,11 @@ http_interactions: Server: - openresty Date: - - Fri, 06 Sep 2024 05:44:30 GMT + - Thu, 31 Oct 2024 06:34:16 GMT Content-Type: - application/json; charset=utf-8 Content-Length: - - '1264' + - '1270' Connection: - keep-alive X-Powered-By: @@ -315,7 +302,7 @@ http_interactions: Access-Control-Allow-Origin: - "*" Etag: - - W/"4f0-gJJP/QZTGCdizgv1Cd5T2EVvbLU" + - W/"4f6-jybKfo7Ev9+TQCQSKp8Nq2bgh84" Set-Cookie: - SRVGROUP=common; path=/; HttpOnly X-Resolver-Ip: @@ -324,8 +311,8 @@ http_interactions: - max-age=15811200 body: encoding: UTF-8 - string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b211","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755","@type":"dfc-b:Order","dfc-b:hasOrderStatus":{"@id":"dfc-v:Held"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755/orderLines/135"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755/orderLines/135","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b211"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635","@type":"dfc-b:SuppliedProduct"}]}' - recorded_at: Fri, 06 Sep 2024 05:44:31 GMT + string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b120560","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"6.25"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211","@type":"dfc-b:Order","dfc-b:hasOrderStatus":{"@id":"dfc-v:Held"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211/orderLines/371"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211/orderLines/371","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259"},"dfc-b:hasPrice":{"@id":"_:b120560"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259","@type":"dfc-b:SuppliedProduct"}]}' + recorded_at: Thu, 31 Oct 2024 06:34:16 GMT - request: method: get uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders @@ -351,11 +338,11 @@ http_interactions: Server: - openresty Date: - - Fri, 06 Sep 2024 05:44:43 GMT + - Thu, 31 Oct 2024 06:34:28 GMT Content-Type: - application/json; charset=utf-8 Content-Length: - - '2258' + - '22493' Connection: - keep-alive X-Powered-By: @@ -363,22 +350,22 @@ http_interactions: Access-Control-Allow-Origin: - "*" Pageinfo: - - '{"hasPreviousPage":false,"hasNextPage":false,"startCursor":"eyJsYXN0X2lkIjoxMTQ5MTQ0NDk4NDgzLCJsYXN0X3ZhbHVlIjoxMTQ5MTQ0NDk4NDgzfQ==","endCursor":"eyJsYXN0X2lkIjoxMTc1MzI3MDgwNzU1LCJsYXN0X3ZhbHVlIjoxMTc1MzI3MDgwNzU1fQ=="}' + - '{"hasPreviousPage":false,"hasNextPage":false,"startCursor":"eyJsYXN0X2lkIjoxMTc1MjAzNDE0MzIzLCJsYXN0X3ZhbHVlIjoxMTc1MjAzNDE0MzIzfQ==","endCursor":"eyJsYXN0X2lkIjoxMTgyNzcxNzA4MjExLCJsYXN0X3ZhbHVlIjoxMTgyNzcxNzA4MjExfQ=="}' Etag: - - W/"8d2-S8oBRwZGhTZad/2gLFo/QkFFwSM" + - W/"57dd-a4sgIQp3RFXHGZVad9TwPzycQ18" Set-Cookie: - SRVGROUP=common; path=/; HttpOnly X-Resolver-Ip: - - 185.172.100.59 + - 185.172.100.60 Strict-Transport-Security: - max-age=15811200 body: encoding: UTF-8 - string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b212","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"_:b213","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635","@type":["dfc-b:Offer","dfc-b:Offer"],"dfc-b:offeredItem":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747/orderLines/133"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747/orderLines/133","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b212"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755","@type":"dfc-b:Order","dfc-b:hasOrderStatus":{"@id":"dfc-v:Held"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755/orderLines/135"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755/orderLines/135","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b213"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635","@type":["dfc-b:SuppliedProduct","dfc-b:SuppliedProduct"]}]}' - recorded_at: Fri, 06 Sep 2024 05:44:44 GMT + string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b120561","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"_:b120562","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"_:b120563","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"_:b120564","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120565","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120566","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120567","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"23.95"},{"@id":"_:b120568","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120569","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120570","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120571","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"3.99"},{"@id":"_:b120572","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120573","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"23.95"},{"@id":"_:b120574","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120575","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"23.95"},{"@id":"_:b120576","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120577","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"23.95"},{"@id":"_:b120578","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"6.25"},{"@id":"_:b120579","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"6.25"},{"@id":"_:b120580","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"6.25"},{"@id":"_:b120581","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"6.25"},{"@id":"_:b120582","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"6.25"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259","@type":["dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer"],"dfc-b:offeredItem":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635","@type":["dfc-b:Offer","dfc-b:Offer","dfc-b:Offer"],"dfc-b:offeredItem":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403","@type":["dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer"],"dfc-b:offeredItem":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468400947","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468433715","@type":["dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer"],"dfc-b:offeredItem":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468433715"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468433715"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468433715"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468433715"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747/orderLines/133"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747/orderLines/133","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b120561"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175937679667","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175937679667/orderLines/143"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175937679667/orderLines/143","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b120562"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175938695475","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175938695475/orderLines/146"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175938695475/orderLines/146","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b120563"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176057348403","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176057348403/orderLines/151"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176057348403/orderLines/151","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120564"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176063607091","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176063607091/orderLines/157"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176063607091/orderLines/157","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120565"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176168825139","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176169546035","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Fulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779/orderLines/164"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779/orderLines/165"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779/orderLines/164","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120566"},"dfc-b:quantity":"2"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779/orderLines/165","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468433715"},"dfc-b:hasPrice":{"@id":"_:b120567"},"dfc-b:quantity":"2"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176935760179","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176935760179/orderLines/168"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176935760179/orderLines/168","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120568"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1177414697267","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1177414697267/orderLines/172"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1177414697267/orderLines/172","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120569"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/196"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/197"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/196","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120570"},"dfc-b:quantity":"2"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/197","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468400947"},"dfc-b:hasPrice":{"@id":"_:b120571"},"dfc-b:quantity":"7"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181073572147","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181073572147/orderLines/262"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181073572147/orderLines/263"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181073572147/orderLines/262","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120572"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181073572147/orderLines/263","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468433715"},"dfc-b:hasPrice":{"@id":"_:b120573"},"dfc-b:quantity":"5"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181074030899","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181074030899/orderLines/266"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181074030899/orderLines/267"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181074030899/orderLines/266","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120574"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181074030899/orderLines/267","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468433715"},"dfc-b:hasPrice":{"@id":"_:b120575"},"dfc-b:quantity":"5"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181077406003","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181077406003/orderLines/278"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181077406003/orderLines/279"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181077406003/orderLines/278","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120576"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181077406003/orderLines/279","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468433715"},"dfc-b:hasPrice":{"@id":"_:b120577"},"dfc-b:quantity":"5"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182767808819","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182767808819/orderLines/363"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182767808819/orderLines/363","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259"},"dfc-b:hasPrice":{"@id":"_:b120578"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182768267571","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182768267571/orderLines/365"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182768267571/orderLines/365","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259"},"dfc-b:hasPrice":{"@id":"_:b120579"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182768890163","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182768890163/orderLines/367"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182768890163/orderLines/367","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259"},"dfc-b:hasPrice":{"@id":"_:b120580"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182769414451","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182769414451/orderLines/369"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182769414451/orderLines/369","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259"},"dfc-b:hasPrice":{"@id":"_:b120581"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211","@type":"dfc-b:Order","dfc-b:hasOrderStatus":{"@id":"dfc-v:Held"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211/orderLines/371"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211/orderLines/371","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259"},"dfc-b:hasPrice":{"@id":"_:b120582"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259","@type":["dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct"]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635","@type":["dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct"]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403","@type":["dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct"]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947","@type":"dfc-b:SuppliedProduct"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468433715","@type":["dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct"]}]}' + recorded_at: Thu, 31 Oct 2024 06:34:28 GMT - request: method: get - uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755 + uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211 body: encoding: US-ASCII string: '' @@ -401,11 +388,11 @@ http_interactions: Server: - openresty Date: - - Fri, 06 Sep 2024 05:44:45 GMT + - Thu, 31 Oct 2024 06:34:30 GMT Content-Type: - application/json; charset=utf-8 Content-Length: - - '1264' + - '1270' Connection: - keep-alive X-Powered-By: @@ -413,23 +400,71 @@ http_interactions: Access-Control-Allow-Origin: - "*" Etag: - - W/"4f0-tFN2sjN5UfvE7Wq0pC/Sy/3C2yQ" + - W/"4f6-1o6q+OFgZUSOJrvD+ir47dlSnj0" Set-Cookie: - SRVGROUP=common; path=/; HttpOnly X-Resolver-Ip: - - 185.172.100.60 + - 185.172.100.59 Strict-Transport-Security: - max-age=15811200 body: encoding: UTF-8 - string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b214","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755","@type":"dfc-b:Order","dfc-b:hasOrderStatus":{"@id":"dfc-v:Held"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755/orderLines/135"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755/orderLines/135","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b214"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635","@type":"dfc-b:SuppliedProduct"}]}' - recorded_at: Fri, 06 Sep 2024 05:44:46 GMT + string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b120583","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"6.25"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211","@type":"dfc-b:Order","dfc-b:hasOrderStatus":{"@id":"dfc-v:Held"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211/orderLines/371"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211/orderLines/371","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259"},"dfc-b:hasPrice":{"@id":"_:b120583"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259","@type":"dfc-b:SuppliedProduct"}]}' + recorded_at: Thu, 31 Oct 2024 06:34:30 GMT - request: method: put - uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755 + uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211 + body: + encoding: UTF-8 + string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211","@type":"dfc-b:Order","dfc-b:hasPart":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211/orderLines/371","dfc-b:hasOrderStatus":"dfc-v:Complete"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211/orderLines/371","@type":"dfc-b:OrderLine","dfc-b:quantity":"3","dfc-b:hasPrice":{"@type":"dfc-b:Price","dfc-b:value":"6.25","dfc-b:hasUnit":"dfc-m:PoundSterling"},"dfc-b:concerns":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259","@type":"dfc-b:Offer","dfc-b:offeredItem":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259","@type":"dfc-b:SuppliedProduct"}]}' + headers: + Content-Type: + - application/json + Authorization: + - "" + User-Agent: + - Faraday v2.9.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Server: + - openresty + Date: + - Thu, 31 Oct 2024 06:34:36 GMT + Content-Type: + - application/json; charset=utf-8 + Content-Length: + - '1330' + Connection: + - keep-alive + X-Powered-By: + - Express + Access-Control-Allow-Origin: + - "*" + Etag: + - W/"532-yT1AGCLtRG8CdXKkZdOUVMEuO/I" + Set-Cookie: + - SRVGROUP=common; path=/; HttpOnly + X-Resolver-Ip: + - 185.172.100.60 + Strict-Transport-Security: + - max-age=15811200 body: encoding: UTF-8 - string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755","@type":"dfc-b:Order","dfc-b:orderNumber":"","dfc-b:date":"","dfc-b:hasPart":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755/orderLines/135","dfc-b:hasOrderStatus":"dfc-v:Complete"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755/orderLines/135","@type":"dfc-b:OrderLine","dfc-b:description":"","dfc-b:quantity":"3","dfc-b:hasPrice":{"@type":"dfc-b:Price","dfc-b:value":"2.09","dfc-b:VATrate":0.0,"dfc-b:hasUnit":"dfc-m:PoundSterling"},"dfc-b:concerns":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635","@type":"dfc-b:Offer","dfc-b:stockLimitation":0.0,"dfc-b:offeredItem":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635","@type":"dfc-b:SuppliedProduct","dfc-b:name":"","dfc-b:description":"","dfc-b:alcoholPercentage":0.0,"dfc-b:lifetime":"","dfc-b:usageOrStorageCondition":"","dfc-b:totalTheoreticalStock":0.0}]}' + string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b120584","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"6.25"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211/orderLines/371"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211/orderLines/371","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259"},"dfc-b:hasPrice":{"@id":"_:b120584"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259","@type":"dfc-b:SuppliedProduct"}]}' + recorded_at: Thu, 31 Oct 2024 06:34:36 GMT +- request: + method: get + uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211 + body: + encoding: US-ASCII + string: '' headers: Content-Type: - application/json @@ -449,11 +484,11 @@ http_interactions: Server: - openresty Date: - - Fri, 06 Sep 2024 05:44:52 GMT + - Thu, 31 Oct 2024 06:34:38 GMT Content-Type: - application/json; charset=utf-8 Content-Length: - - '1324' + - '1330' Connection: - keep-alive X-Powered-By: @@ -461,7 +496,7 @@ http_interactions: Access-Control-Allow-Origin: - "*" Etag: - - W/"52c-Gunyz+4AdBBKHA/OrExUZo0fU2U" + - W/"532-NEeIZ43e2zztqZ4NJw+xROJs+DY" Set-Cookie: - SRVGROUP=common; path=/; HttpOnly X-Resolver-Ip: @@ -470,8 +505,8 @@ http_interactions: - max-age=15811200 body: encoding: UTF-8 - string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b215","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755/orderLines/135"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755/orderLines/135","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b215"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635","@type":"dfc-b:SuppliedProduct"}]}' - recorded_at: Fri, 06 Sep 2024 05:44:52 GMT + string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b120585","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"6.25"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211/orderLines/371"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211/orderLines/371","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259"},"dfc-b:hasPrice":{"@id":"_:b120585"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259","@type":"dfc-b:SuppliedProduct"}]}' + recorded_at: Thu, 31 Oct 2024 06:34:38 GMT - request: method: get uri: https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders @@ -497,11 +532,11 @@ http_interactions: Server: - openresty Date: - - Fri, 06 Sep 2024 05:44:54 GMT + - Thu, 31 Oct 2024 06:34:40 GMT Content-Type: - application/json; charset=utf-8 Content-Length: - - '2318' + - '22553' Connection: - keep-alive X-Powered-By: @@ -509,17 +544,17 @@ http_interactions: Access-Control-Allow-Origin: - "*" Pageinfo: - - '{"hasPreviousPage":false,"hasNextPage":false,"startCursor":"eyJsYXN0X2lkIjoxMTQ5MTQ0NDk4NDgzLCJsYXN0X3ZhbHVlIjoxMTQ5MTQ0NDk4NDgzfQ==","endCursor":"eyJsYXN0X2lkIjoxMTc1MzI3MDgwNzU1LCJsYXN0X3ZhbHVlIjoxMTc1MzI3MDgwNzU1fQ=="}' + - '{"hasPreviousPage":false,"hasNextPage":false,"startCursor":"eyJsYXN0X2lkIjoxMTc1MjAzNDE0MzIzLCJsYXN0X3ZhbHVlIjoxMTc1MjAzNDE0MzIzfQ==","endCursor":"eyJsYXN0X2lkIjoxMTgyNzcxNzA4MjExLCJsYXN0X3ZhbHVlIjoxMTgyNzcxNzA4MjExfQ=="}' Etag: - - W/"90e-7veHz8es53dQrXN8GmWIQRTvVIY" + - W/"5819-jnM2GeT5PB84SXwq/ETH+DKjKB0" Set-Cookie: - SRVGROUP=common; path=/; HttpOnly X-Resolver-Ip: - - 185.172.100.59 + - 185.172.100.60 Strict-Transport-Security: - max-age=15811200 body: encoding: UTF-8 - string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b216","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"_:b217","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635","@type":["dfc-b:Offer","dfc-b:Offer"],"dfc-b:offeredItem":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747/orderLines/133"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747/orderLines/133","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b216"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755/orderLines/135"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175327080755/orderLines/135","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b217"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635","@type":["dfc-b:SuppliedProduct","dfc-b:SuppliedProduct"]}]}' - recorded_at: Fri, 06 Sep 2024 05:44:54 GMT + string: '{"@context":"https://www.datafoodconsortium.org","@graph":[{"@id":"_:b120586","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"_:b120587","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"_:b120588","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"2.09"},{"@id":"_:b120589","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120590","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120591","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120592","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"23.95"},{"@id":"_:b120593","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120594","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120595","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120596","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"3.99"},{"@id":"_:b120597","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120598","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"23.95"},{"@id":"_:b120599","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120600","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"23.95"},{"@id":"_:b120601","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"18.85"},{"@id":"_:b120602","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"23.95"},{"@id":"_:b120603","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"6.25"},{"@id":"_:b120604","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"6.25"},{"@id":"_:b120605","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"6.25"},{"@id":"_:b120606","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"6.25"},{"@id":"_:b120607","@type":"dfc-b:Price","dfc-b:hasUnit":"dfc-m:PoundSterling","dfc-b:value":"6.25"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259","@type":["dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer"],"dfc-b:offeredItem":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635","@type":["dfc-b:Offer","dfc-b:Offer","dfc-b:Offer"],"dfc-b:offeredItem":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403","@type":["dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer"],"dfc-b:offeredItem":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468400947","@type":"dfc-b:Offer","dfc-b:offeredItem":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468433715","@type":["dfc-b:Offer","dfc-b:Offer","dfc-b:Offer","dfc-b:Offer"],"dfc-b:offeredItem":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468433715"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468433715"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468433715"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468433715"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747/orderLines/133"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175325245747/orderLines/133","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b120586"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175937679667","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175937679667/orderLines/143"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175937679667/orderLines/143","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b120587"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175938695475","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175938695475/orderLines/146"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1175938695475/orderLines/146","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466467635"},"dfc-b:hasPrice":{"@id":"_:b120588"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176057348403","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176057348403/orderLines/151"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176057348403/orderLines/151","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120589"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176063607091","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176063607091/orderLines/157"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176063607091/orderLines/157","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120590"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176168825139","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176169546035","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Fulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779/orderLines/164"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779/orderLines/165"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779/orderLines/164","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120591"},"dfc-b:quantity":"2"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176618729779/orderLines/165","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468433715"},"dfc-b:hasPrice":{"@id":"_:b120592"},"dfc-b:quantity":"2"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176935760179","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176935760179/orderLines/168"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1176935760179/orderLines/168","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120593"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1177414697267","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1177414697267/orderLines/172"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1177414697267/orderLines/172","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120594"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/196"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/197"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/196","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120595"},"dfc-b:quantity":"2"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1178740162867/orderLines/197","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468400947"},"dfc-b:hasPrice":{"@id":"_:b120596"},"dfc-b:quantity":"7"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181073572147","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181073572147/orderLines/262"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181073572147/orderLines/263"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181073572147/orderLines/262","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120597"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181073572147/orderLines/263","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468433715"},"dfc-b:hasPrice":{"@id":"_:b120598"},"dfc-b:quantity":"5"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181074030899","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181074030899/orderLines/266"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181074030899/orderLines/267"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181074030899/orderLines/266","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120599"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181074030899/orderLines/267","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468433715"},"dfc-b:hasPrice":{"@id":"_:b120600"},"dfc-b:quantity":"5"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181077406003","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":[{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181077406003/orderLines/278"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181077406003/orderLines/279"}]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181077406003/orderLines/278","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466500403"},"dfc-b:hasPrice":{"@id":"_:b120601"},"dfc-b:quantity":"1"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1181077406003/orderLines/279","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519468433715"},"dfc-b:hasPrice":{"@id":"_:b120602"},"dfc-b:quantity":"5"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182767808819","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182767808819/orderLines/363"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182767808819/orderLines/363","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259"},"dfc-b:hasPrice":{"@id":"_:b120603"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182768267571","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182768267571/orderLines/365"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182768267571/orderLines/365","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259"},"dfc-b:hasPrice":{"@id":"_:b120604"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182768890163","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182768890163/orderLines/367"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182768890163/orderLines/367","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259"},"dfc-b:hasPrice":{"@id":"_:b120605"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182769414451","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182769414451/orderLines/369"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182769414451/orderLines/369","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259"},"dfc-b:hasPrice":{"@id":"_:b120606"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211","@type":"dfc-b:Order","dfc-b:hasFulfilmentStatus":{"@id":"dfc-v:Unfulfilled"},"dfc-b:hasOrderStatus":{"@id":"dfc-v:Complete"},"dfc-b:hasPart":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211/orderLines/371"}},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Orders/1182771708211/orderLines/371","@type":"dfc-b:OrderLine","dfc-b:concerns":{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/Offers/44519466238259"},"dfc-b:hasPrice":{"@id":"_:b120607"},"dfc-b:quantity":"3"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466238259","@type":["dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct"]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466467635","@type":["dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct"]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519466500403","@type":["dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct"]},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468400947","@type":"dfc-b:SuppliedProduct"},{"@id":"https://env-0105831.jcloud-ver-jpe.ik-server.com/api/dfc/Enterprises/test-hodmedod/SuppliedProducts/44519468433715","@type":["dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct","dfc-b:SuppliedProduct"]}]}' + recorded_at: Thu, 31 Oct 2024 06:34:41 GMT recorded_with: VCR 6.2.0 diff --git a/spec/jobs/backorder_job_spec.rb b/spec/jobs/backorder_job_spec.rb index 79d2ec88461..81328e6cf10 100644 --- a/spec/jobs/backorder_job_spec.rb +++ b/spec/jobs/backorder_job_spec.rb @@ -116,13 +116,19 @@ describe "#place_order" do it "schedules backorder completion for specific enterprises" do - order.order_cycle = build( + order.order_cycle = create( :simple_order_cycle, id: 1, orders_close_at: Date.tomorrow.noon, ) completion_time = Date.tomorrow.noon + 4.hours + exchange = order.order_cycle.exchanges.create!( + incoming: false, + sender: order.order_cycle.coordinator, + receiver: order.distributor, + ) + urls = FdcUrlBuilder.new(product_link) orderer = FdcBackorderer.new(user, urls) backorder = orderer.build_new_order(order) @@ -132,6 +138,7 @@ expect { subject.place_order(user, order, orderer, backorder) }.to enqueue_job(CompleteBackorderJob).at(completion_time) + .and change { exchange.semantic_links.count }.by(1) end end end diff --git a/spec/jobs/complete_backorder_job_spec.rb b/spec/jobs/complete_backorder_job_spec.rb index 4e03298947c..7e575a33806 100644 --- a/spec/jobs/complete_backorder_job_spec.rb +++ b/spec/jobs/complete_backorder_job_spec.rb @@ -25,11 +25,14 @@ chia_line = orderer.find_or_build_order_line(backorder, chia_offer) chia_line.quantity = 5 - orderer.send_order(backorder) + orderer.send_order(backorder).tap do |o| + exchange.semantic_links.create!(semantic_id: o.semanticId) + end } let(:ofn_order) { create(:completed_order_with_totals) } let(:distributor) { ofn_order.distributor } let(:order_cycle) { ofn_order.order_cycle } + let(:exchange) { order_cycle.exchanges.outgoing.first } let(:beans) { ofn_order.line_items[0].variant } let(:chia) { chia_item.variant } let(:chia_item) { ofn_order.line_items[1] } @@ -77,6 +80,9 @@ .and change { current_order.lines[1].quantity.to_i }.from(5).to(7) + .and change { + exchange.semantic_links.count + }.by(-1) end it "removes line items", vcr: true do @@ -109,5 +115,21 @@ }.to enqueue_mail(BackorderMailer, :backorder_incomplete) .and raise_error VCR::Errors::UnhandledHTTPRequestError end + + it "skips empty backorders" do + user = nil + distributor = nil + order_cycle = nil + order_id = nil + backorder = DataFoodConsortium::Connector::Order.new( + order_id, orderStatus: "dfc-v:Held" + ) + expect_any_instance_of(FdcBackorderer) + .to receive(:find_order).and_return(backorder) + + expect { + subject.perform(user, distributor, order_cycle, order_id) + }.not_to raise_error + end end end diff --git a/spec/lib/reports/orders_and_distributors_report_spec.rb b/spec/lib/reports/orders_and_distributors_report_spec.rb index 3edccd5ff6c..ba851aaf73a 100644 --- a/spec/lib/reports/orders_and_distributors_report_spec.rb +++ b/spec/lib/reports/orders_and_distributors_report_spec.rb @@ -11,7 +11,7 @@ [ 'Order date', 'Order Id', 'Customer Name', 'Customer Email', 'Customer Phone', 'Customer City', - 'SKU', 'Item name', 'Variant', 'Quantity', 'Max Quantity', 'Cost', 'Shipping Cost', + 'SKU', 'Product', 'Variant', 'Quantity', 'Max Quantity', 'Cost', 'Shipping Cost', 'Payment Method', 'Distributor', 'Distributor address', 'Distributor city', 'Distributor postcode', 'Shipping Method', 'Shipping instructions' @@ -37,7 +37,7 @@ } let(:payment_method) { create(:payment_method, distributors: [distributor]) } let(:payment) { create(:payment, payment_method:, order:) } - let(:line_item) { create(:line_item_with_shipment, product:, order:) } + let(:line_item) { create(:line_item_with_shipment, variant:, order:) } subject { described_class.new user } before do @@ -46,33 +46,35 @@ order.line_items << line_item end - it 'should denormalise order and distributor details for display as csv' do - allow(subject).to receive(:unformatted_render?).and_return(true) - table = subject.table_rows - - expect(table.size).to eq 1 - expect(table[0]).to eq([ - order.reload.completed_at.strftime("%F %T"), - order.id, - bill_address.full_name, - order.email, - bill_address.phone, - bill_address.city, - line_item.product.sku, - line_item.product.name, - line_item.unit_to_display, - line_item.quantity, - line_item.max_quantity, - line_item.price * line_item.quantity, - line_item.distribution_fee, - payment_method.name, - distributor.name, - distributor.address.address1, - distributor.address.city, - distributor.address.zipcode, - shipping_method.name, - shipping_instructions - ]) + context "without variant name" do + it 'should denormalise order and distributor details for display as csv' do + allow(subject).to receive(:unformatted_render?).and_return(true) + table = subject.table_rows + + expect(table.size).to eq 1 + expect(table[0]).to eq([ + order.reload.completed_at.strftime("%F %T"), + order.id, + bill_address.full_name, + order.email, + bill_address.phone, + bill_address.city, + line_item.product.sku, + line_item.product.name, + "1g", + line_item.quantity, + line_item.max_quantity, + line_item.price * line_item.quantity, + line_item.distribution_fee, + payment_method.name, + distributor.name, + distributor.address.address1, + distributor.address.city, + distributor.address.zipcode, + shipping_method.name, + shipping_instructions + ]) + end end it "prints one row per line item" do @@ -149,6 +151,17 @@ "Spree::ShippingMethod Load", ] end + + context "with variant name present" do + before do + variant.update_columns(display_name: 'Variant Name'); + end + let(:row) { subject.table_rows.first } + + it "should display variant name with unit" do + expect(row).to include("Variant Name (1g)") + end + end end end end diff --git a/spec/lib/reports/sales_tax_totals_by_order_spec.rb b/spec/lib/reports/sales_tax_totals_by_order_spec.rb index ce6a09a450d..e8003da3a9f 100644 --- a/spec/lib/reports/sales_tax_totals_by_order_spec.rb +++ b/spec/lib/reports/sales_tax_totals_by_order_spec.rb @@ -145,7 +145,8 @@ total = report.total_excl_tax(query_row) # discounted order total - discounted order tax - expect(total).to eq((113.3 - 10) - (3.3 - 0.29)) + # (113.3 - 10) - (3.3 - 0.29) + expect(total).to eq 100.29 end end end diff --git a/spec/lib/reports/suppliers/pay_your_suppliers_report_spec.rb b/spec/lib/reports/suppliers/pay_your_suppliers_report_spec.rb new file mode 100644 index 00000000000..9494342ee06 --- /dev/null +++ b/spec/lib/reports/suppliers/pay_your_suppliers_report_spec.rb @@ -0,0 +1,105 @@ +# frozen_string_literal: true + +require "spec_helper" + +RSpec.describe "Pay Your Suppliers Report" do + let(:hub) { create(:distributor_enterprise) } + let(:order_cycle) { create(:open_order_cycle, distributors: [hub]) } + let(:product) { order.products.first } + let(:variant) { product.variants.first } + let(:supplier) { variant.supplier } + let(:current_user) { hub.owner } + let!(:order) do + create(:completed_order_with_totals, distributor: hub, order_cycle:, line_items_count: 1) + end + let(:params) { { display_summary_row: true } } + let(:report) { Reporting::Reports::Suppliers::Base.new(current_user, { q: params }) } + let(:report_table_rows) { report.rows } + + context "without fees and taxes" do + it "Generates the report" do + expect(report_table_rows.length).to eq(1) + table_row = report_table_rows.first + + expect(table_row.producer).to eq(supplier.name) + expect(table_row.producer_address).to eq(supplier.address.full_address) + expect(table_row.producer_abn_acn).to eq("none") + expect(table_row.email).to eq("none") + expect(table_row.hub).to eq(hub.name) + expect(table_row.hub_address).to eq(hub.address.full_address) + expect(table_row.hub_contact_email).to eq("none") + expect(table_row.order_number).to eq(order.number) + expect(table_row.order_date).to eq(order.completed_at.to_date.to_s) + expect(table_row.order_cycle).to eq(order_cycle.name) + expect(table_row.order_cycle_start_date).to eq( + order_cycle.orders_open_at.to_date.to_s + ) + expect(table_row.order_cycle_end_date).to eq(order_cycle.orders_close_at.to_date.to_s) + expect(table_row.product).to eq(product.name) + expect(table_row.variant_unit_name).to eq(variant.full_name) + expect(table_row.quantity).to eq(1) + expect(table_row.total_excl_fees_and_tax.to_f).to eq(10.0) + expect(table_row.total_excl_vat.to_f).to eq(10.0) + expect(table_row.total_fees_excl_tax.to_f).to eq(0.0) + expect(table_row.total_tax_on_fees.to_f).to eq(0.0) + expect(table_row.total_tax.to_f).to eq(0.0) + expect(table_row.total.to_f).to eq(10.0) + end + end + + context "with taxes and fees" do + let(:line_item) { order.line_items.first } + let(:tax_category) { + create( + :tax_category, + tax_rates: [ + create( + :tax_rate, + zone: create(:zone_with_member) + ) + ] + ) + } + let!(:enterprise_fee) do + create( + :enterprise_fee, + enterprise: supplier, + fee_type: 'sales', + amount: 0.1, + tax_category: + ) + end + + before do + # Prepare order or line_item to have respective tax adjustments + hub.update!(charges_sales_tax: true) + supplier.update!(charges_sales_tax: true) + line_item.variant.update!(tax_category:) + line_item.copy_tax_category + + exchange = order_cycle.exchanges.take + exchange.enterprise_fees << enterprise_fee + exchange.exchange_variants.build(variant: line_item.variant) + exchange.incoming = true + exchange.save! + + OpenFoodNetwork::EnterpriseFeeCalculator + .new(hub, order_cycle) + .create_line_item_adjustments_for(line_item) + + order.create_tax_charge! + end + + it "Generates the report" do + expect(report_table_rows.length).to eq(1) + table_row = report_table_rows.first + + expect(table_row.total_excl_fees_and_tax.to_f).to eq(10.0) + expect(table_row.total_excl_vat.to_f).to eq(10.1) + expect(table_row.total_fees_excl_tax.to_f).to eq(0.1) + expect(table_row.total_tax_on_fees.to_f).to eq(0.01) + expect(table_row.total_tax.to_f).to eq(1.0) + expect(table_row.total.to_f).to eq(11.11) + end + end +end diff --git a/spec/migrations/20241011071014_update_item_name_to_product_in_od_report_spec.rb b/spec/migrations/20241011071014_update_item_name_to_product_in_od_report_spec.rb new file mode 100644 index 00000000000..b791b140a02 --- /dev/null +++ b/spec/migrations/20241011071014_update_item_name_to_product_in_od_report_spec.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true + +require 'spec_helper' +require_relative '../../db/migrate/20241011071014_update_item_name_to_product_in_od_report' + +RSpec.describe UpdateItemNameToProductInOdReport, type: :migration do + let!(:report_option_without_item_name_product) do + create( + :orders_and_distributors_options, + options: { fields_to_show: ['other_field'] } + ) + end + + describe '#up' do + let!(:report_option_with_item_name) do + create( + :orders_and_distributors_options, + options: { fields_to_show: ['item_name', 'other_field'] } + ) + end + before { subject.up } + + it 'updates fields_to_show from item_name to product only if options have item_name' do + report_option_with_item_name.reload + expect(fields_to_show(report_option_with_item_name)).to eq(['other_field', 'product']) + expect(fields_to_show(report_option_without_item_name_product)).to eq(['other_field']) + end + end + + describe '#down' do + let!(:report_option_with_product) do + create( + :orders_and_distributors_options, + options: { fields_to_show: ['product', 'other_field'] } + ) + end + before { subject.down } + + it 'reverts fields_to_show from product to item_name only if options have product' do + report_option_with_product.reload + expect(fields_to_show(report_option_with_product)).to eq(['other_field', 'item_name']) + expect(fields_to_show(report_option_without_item_name_product)).to eq(['other_field']) + end + end + + def fields_to_show(report_options) + report_options.options[:fields_to_show] + end +end diff --git a/spec/migrations/20241030025540_copy_subject_on_semantic_links_spec.rb b/spec/migrations/20241030025540_copy_subject_on_semantic_links_spec.rb new file mode 100644 index 00000000000..6ab69e950a0 --- /dev/null +++ b/spec/migrations/20241030025540_copy_subject_on_semantic_links_spec.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +require 'spec_helper' +require_relative '../../db/migrate/20241030025540_copy_subject_on_semantic_links' + +RSpec.describe CopySubjectOnSemanticLinks do + describe "#up" do + let(:original_variant) { create(:variant) } + let(:dummy_variant) { create(:variant) } + + it "copies the original data" do + link = SemanticLink.create!( + subject: dummy_variant, # This would be NULL when migration runs. + semantic_id: "some-url", + ) + SemanticLink.update_all("variant_id = #{original_variant.id}") + + expect { subject.up }.to change { + link.reload.subject + }.from(dummy_variant).to(original_variant) + end + end +end diff --git a/spec/models/exchange_spec.rb b/spec/models/exchange_spec.rb index 907f58fe0ac..b790d47356e 100644 --- a/spec/models/exchange_spec.rb +++ b/spec/models/exchange_spec.rb @@ -3,6 +3,8 @@ require 'spec_helper' RSpec.describe Exchange do + it { is_expected.to have_many :semantic_links } + it "should be valid when built from factory" do expect(build(:exchange)).to be_valid end diff --git a/spec/models/semantic_link_spec.rb b/spec/models/semantic_link_spec.rb index ac0eae743fd..6d881980ea6 100644 --- a/spec/models/semantic_link_spec.rb +++ b/spec/models/semantic_link_spec.rb @@ -3,6 +3,6 @@ require 'spec_helper' RSpec.describe SemanticLink, type: :model do - it { is_expected.to belong_to :variant } + it { is_expected.to belong_to :subject } it { is_expected.to validate_presence_of(:semantic_id) } end diff --git a/spec/models/spree/order_spec.rb b/spec/models/spree/order_spec.rb index acd2881a364..00a0cdb6214 100644 --- a/spec/models/spree/order_spec.rb +++ b/spec/models/spree/order_spec.rb @@ -6,6 +6,9 @@ let(:user) { build(:user, email: "spree@example.com") } let(:order) { build(:order, user:) } + it { is_expected.to have_one :exchange } + it { is_expected.to have_many :semantic_links } + describe "#errors" do it "provides friendly error messages" do order.ship_address = Spree::Address.new diff --git a/spec/models/spree/product_spec.rb b/spec/models/spree/product_spec.rb index b51a4736f1c..26fef885699 100644 --- a/spec/models/spree/product_spec.rb +++ b/spec/models/spree/product_spec.rb @@ -84,14 +84,6 @@ module Spree end end - describe '#total_on_hand' do - it 'returns sum of stock items count_on_hand' do - product = build(:product) - allow(product).to receive_messages stock_items: [double(Spree::StockItem, count_on_hand: 5)] - expect(product.total_on_hand).to eql(5) - end - end - context "has stock movements" do let(:product) { create(:product) } let(:variant) { product.variants.first } diff --git a/spec/services/fdc_backorderer_spec.rb b/spec/services/fdc_backorderer_spec.rb index 5c65aaeb962..15310526e42 100644 --- a/spec/services/fdc_backorderer_spec.rb +++ b/spec/services/fdc_backorderer_spec.rb @@ -27,7 +27,7 @@ # After closing the order at the end, the test can be repeated live again. # Build a new order when no open one is found: - order.order_cycle = build(:order_cycle) + order.order_cycle = create(:order_cycle, distributors: [order.distributor]) backorder = subject.find_or_build_order(order) expect(backorder.semanticId).to eq urls.orders_url expect(backorder.lines).to eq [] @@ -50,10 +50,19 @@ expect(found_backorder.lines.count).to eq 1 expect(found_backorder.lines[0].quantity.to_i).to eq 3 + # Without a stored semantic link, it can't look it up directly though: + found_backorder = subject.lookup_open_order(order) + expect(found_backorder).to eq nil + + # But with a semantic link, it works: + order.exchange.semantic_links.create!(semantic_id: placed_order.semanticId) + found_backorder = subject.lookup_open_order(order) + expect(found_backorder.semanticId).to eq placed_order.semanticId + # And close the order again: subject.complete_order(placed_order) remaining_open_order = subject.find_or_build_order(order) - expect(remaining_open_order.semanticId).not_to eq placed_order.semanticId + expect(remaining_open_order.semanticId).to eq urls.orders_url end describe "#find_or_build_order" do diff --git a/spec/system/admin/reports/orders_and_distributors_spec.rb b/spec/system/admin/reports/orders_and_distributors_spec.rb index 3ee051923b5..8c3090fca51 100644 --- a/spec/system/admin/reports/orders_and_distributors_spec.rb +++ b/spec/system/admin/reports/orders_and_distributors_spec.rb @@ -27,7 +27,7 @@ context "as an enterprise user" do let(:header) { ["Order date", "Order Id", "Customer Name", "Customer Email", "Customer Phone", - "Customer City", "SKU", "Item name", "Variant", "Quantity", "Max Quantity", + "Customer City", "SKU", "Product", "Variant", "Quantity", "Max Quantity", "Cost", "Shipping Cost", "Payment Method", "Distributor", "Distributor address", "Distributor city", "Distributor postcode", "Shipping Method", "Shipping instructions"] diff --git a/spec/system/admin/reports/pay_your_suppliers_spec.rb b/spec/system/admin/reports/pay_your_suppliers_spec.rb new file mode 100644 index 00000000000..b22a094c5da --- /dev/null +++ b/spec/system/admin/reports/pay_your_suppliers_spec.rb @@ -0,0 +1,157 @@ +# frozen_string_literal: true + +require "system_helper" + +RSpec.describe "Pay Your Suppliers Report" do + include ReportsHelper + + let(:owner) { create(:user) } + let(:hub1) { create(:enterprise, owner:) } + let(:order_cycle1) { create(:open_order_cycle, distributors: [hub1]) } + let!(:order1) do + create( + :completed_order_with_totals, + distributor: hub1, + order_cycle: order_cycle1, + line_items_count: 2 + ) + end + + let(:hub2) { create(:enterprise, owner:) } + let(:product2) { order1.products.first } + let(:variant2) { product2.variants.first } + let(:supplier2) { variant2.supplier } + let(:order_cycle2) { create(:open_order_cycle, distributors: [hub2]) } + let!(:order2) do + create( + :completed_order_with_totals, + distributor: hub2, + order_cycle: order_cycle2, + line_items_count: 3 + ) + end + + before do + login_as owner + visit admin_reports_path + + update_line_items_product_names + end + + context "on Reports page" do + it "should generate 'Pay Your Suppliers' report" do + click_on 'Pay your suppliers' + expect(page).to have_button("Go") + run_report + + expect(page.find("table.report__table thead tr").text).to have_content([ + "Producer", + "Producer Address", + "Producer ABN/ACN", + "Email", + "Hub", + "Hub Address", + "Hub Contact Email", + "Order number", + "Order date", + "Order Cycle", + "OC Start Date", + "OC End Date", + "Product", + "Variant Unit Name", + "Quantity", + "Total excl. fees and tax ($)", + "Total excl. tax ($)", + "Total fees excl. tax ($)", + "Total tax on fees ($)", + "Total Tax ($)", + "Total ($)" + ].join(" ")) + + lines = page.all('table.report__table tbody tr').map(&:text) + # 5 line_item rows + 1 summary row = 6 rows + expect(lines.count).to be(6) + + hub1_rows = lines.select { |line| line.include?(hub1.name) } + order1.line_items.each_with_index do |line_item, index| + variant = line_item.variant + supplier = line_item.supplier + product = line_item.variant.product + line = hub1_rows[index] + + expect(line).to have_content([ + supplier.name, + supplier.address.full_address, + "none", + "none", + hub1.name, + hub1.address.full_address, + "none", + order1.number, + order1.completed_at.to_date.to_s, + order_cycle1.name, + order_cycle1.orders_open_at.to_date.to_s, + order_cycle1.orders_close_at.to_date.to_s, + product.name, + variant.full_name, + 1, + 10.0, + 10.0, + 0.0, + 0.0, + 0.0, + 10.0, + ].compact.join(" ")) + end + + hub2_rows = lines.select { |line| line.include?(hub2.name) } + order2.line_items.each_with_index do |line_item, index| + variant = line_item.variant + supplier = line_item.supplier + product = line_item.variant.product + line = hub2_rows[index] + + expect(line).to have_content([ + supplier.name, + supplier.address.full_address, + "none", + "none", + hub2.name, + hub2.address.full_address, + "none", + order2.number, + order2.completed_at.to_date.to_s, + order_cycle2.name, + order_cycle2.orders_open_at.to_date.to_s, + order_cycle2.orders_close_at.to_date.to_s, + product.name, + variant.full_name, + 1, + 10.0, + 10.0, + 0.0, + 0.0, + 0.0, + 10.0, + ].compact.join(" ")) + end + + # summary row + expect(lines.last).to have_content("TOTAL 50.0 50.0 0.0 0.0 0.0 50.0") + end + end + + def update_line_items_product_names + n = 1 + update_product_name_proc = proc do |order| + order.line_items.each do |line_item| + product = line_item.variant.product + product.update!(name: "Product##{n}") + n += 1 + end + end + + update_product_name_proc.call(order1) + update_product_name_proc.call(order2) + end +end diff --git a/swagger/dfc.yaml b/swagger/dfc.yaml index 72a3699ab5a..3f325a5b73e 100644 --- a/swagger/dfc.yaml +++ b/swagger/dfc.yaml @@ -97,12 +97,13 @@ paths: dfc-b:hasAddress: "@type": dfc-b:Address dfc-b:hasPostalCode: '20170' + dfc-b:hasCountry: Australia dfc-b:supplies: "@type": dfc-b:SuppliedProduct dfc-b:name: Tomato dfc-b:hasQuantity: "@type": dfc-b:QuantitativeValue - dfc-b:hasUnit: dfc-m:Gram + dfc-b:hasUnit: dfc-m:Piece dfc-b:value: 1.0 dfc-b:concernedBy: "@type": dfc-b:OrderLine @@ -124,6 +125,7 @@ paths: dfc-b:hasAddress: "@type": dfc-b:Address dfc-b:hasPostalCode: '20170' + dfc-b:hasCountry: Australia '400': description: bad request "/api/dfc/enterprises/{enterprise_id}/catalog_items":