From 5538177993640fbd096ef763bbabbad30bacdcd0 Mon Sep 17 00:00:00 2001 From: chengfeng27 Date: Mon, 8 Apr 2024 11:00:15 +0800 Subject: [PATCH] ndk build gn repeat with interface repository --- .gitignore | 2 - include/c_api/context_c.h | 50 +- include/c_api/data_type_c.h | 44 +- include/c_api/format_c.h | 38 +- include/c_api/model_c.h | 70 +- include/c_api/status_c.h | 68 +- include/c_api/tensor_c.h | 34 +- include/c_api/types_c.h | 28 +- include/sdk_api/context.h | 180 + include/sdk_api/data_type.h | 52 + include/sdk_api/format.h | 46 + include/sdk_api/model.h | 138 + include/sdk_api/status.h | 80 + include/sdk_api/tensor.h | 146 + include/sdk_api/types.h | 50 + .../plugin/device/cpu/kernel/nnacl/BUILD.gn | 885 + .../nnacl/fp16_grad/activation_grad_fp16.c | 2 +- .../include/nnacl/activation_fp32_simd.h | 36 + .../include/nnacl/activation_grad_simd.h | 36 + .../nnacl/include/nnacl/adam_fp32_simd.h | 36 + .../nnacl/include/nnacl/add_fp32_simd.h | 36 + .../nnacl/apply_proximal_adagrad_fp32_simd.h | 36 + ...pply_proximal_gradient_descent_fp32_simd.h | 36 + .../include/nnacl/arithmetic_fp32_simd.h | 36 + .../include/nnacl/arithmetic_self_fp32_simd.h | 36 + .../include/nnacl/avx/activation_fp32_avx.h | 285 + .../include/nnacl/avx/activation_grad_avx.h | 57 + .../nnacl/include/nnacl/avx/adam_fp32_avx.h | 210 + .../nnacl/include/nnacl/avx/add_fp32_avx.h | 124 + .../avx/apply_proximal_adagrad_fp32_avx.h | 75 + ...apply_proximal_gradient_descent_fp32_avx.h | 71 + .../include/nnacl/avx/arithmetic_fp32_avx.h | 294 + .../nnacl/avx/arithmetic_self_fp32_avx.h | 148 + .../include/nnacl/avx/batchnorm_fp32_avx.h | 67 + .../nnacl/avx/bce_with_logits_loss_fp32_avx.h | 69 + .../nnacl/include/nnacl/avx/bias_add_avx.h | 64 + .../nnacl/include/nnacl/avx/cast_base_avx.h | 56 + .../nnacl/avx/cast_gather_reduce_fp32_avx.h | 72 + .../nnacl/include/nnacl/avx/cdist_fp32_avx.h | 70 + .../nnacl/include/nnacl/avx/cumsum_fp32_avx.h | 121 + .../nnacl/include/nnacl/avx/div_fp32_avx.h | 167 + .../include/nnacl/avx/dropout_fp32_avx.h | 46 + .../nnacl/include/nnacl/avx/exp_fp32_avx.h | 63 + .../nnacl/include/nnacl/avx/fill_base_avx.h | 53 + .../include/nnacl/avx/group_norm_fp32_avx.h | 77 + .../include/nnacl/avx/layer_norm_fp32_avx.h | 68 + .../nnacl/include/nnacl/avx/matmul_fp32_avx.h | 155 + .../nnacl/include/nnacl/avx/mul_fp32_avx.h | 218 + .../include/nnacl/avx/pooling_fp32_avx.h | 84 + .../nnacl/include/nnacl/avx/power_fp32_avx.h | 101 + .../nnacl/avx/reduce_concat_fp32_avx.h | 122 + .../nnacl/include/nnacl/avx/reduce_fp32_avx.h | 227 + .../include/nnacl/avx/scatter_nd_binary_avx.h | 52 + .../include/nnacl/avx/softmax_fp32_avx.h | 87 + .../nnacl/avx/softmax_grad_fusion_fp32_avx.h | 62 + .../nnacl/include/nnacl/avx/sub_fp32_avx.h | 167 + .../nnacl/avx512/activation_fp32_avx512.h | 285 + .../nnacl/avx512/activation_grad_avx512.h | 57 + .../include/nnacl/avx512/adam_fp32_avx512.h | 210 + .../include/nnacl/avx512/add_fp32_avx512.h | 124 + .../apply_proximal_adagrad_fp32_avx512.h | 75 + ...ly_proximal_gradient_descent_fp32_avx512.h | 71 + .../nnacl/avx512/arithmetic_fp32_avx512.h | 294 + .../avx512/arithmetic_self_fp32_avx512.h | 148 + .../nnacl/avx512/batchnorm_fp32_avx512.h | 67 + .../avx512/bce_with_logits_loss_fp32_avx512.h | 69 + .../include/nnacl/avx512/bias_add_avx512.h | 64 + .../include/nnacl/avx512/cast_base_avx512.h | 56 + .../avx512/cast_gather_reduce_fp32_avx512.h | 72 + .../include/nnacl/avx512/cdist_fp32_avx512.h | 70 + .../include/nnacl/avx512/cumsum_fp32_avx512.h | 121 + .../include/nnacl/avx512/div_fp32_avx512.h | 167 + .../nnacl/avx512/dropout_fp32_avx512.h | 46 + .../include/nnacl/avx512/exp_fp32_avx512.h | 63 + .../include/nnacl/avx512/fill_base_avx512.h | 53 + .../nnacl/avx512/group_norm_fp32_avx512.h | 77 + .../nnacl/avx512/layer_norm_fp32_avx512.h | 68 + .../include/nnacl/avx512/matmul_fp32_avx512.h | 155 + .../include/nnacl/avx512/mul_fp32_avx512.h | 218 + .../nnacl/avx512/pooling_fp32_avx512.h | 84 + .../include/nnacl/avx512/power_fp32_avx512.h | 101 + .../nnacl/avx512/reduce_concat_fp32_avx512.h | 122 + .../include/nnacl/avx512/reduce_fp32_avx512.h | 227 + .../nnacl/avx512/scatter_nd_binary_avx512.h | 52 + .../nnacl/avx512/softmax_fp32_avx512.h | 87 + .../avx512/softmax_grad_fusion_fp32_avx512.h | 62 + .../include/nnacl/avx512/sub_fp32_avx512.h | 167 + .../nnacl/include/nnacl/batchnorm_fp32_simd.h | 36 + .../nnacl/bce_with_logits_loss_fp32_simd.h | 36 + .../nnacl/include/nnacl/bias_add_simd.h | 36 + .../nnacl/include/nnacl/cast_base_simd.h | 36 + .../nnacl/cast_gather_reduce_fp32_simd.h | 36 + .../nnacl/include/nnacl/cdist_fp32_simd.h | 36 + .../nnacl/include/nnacl/cumsum_fp32_simd.h | 36 + .../nnacl/include/nnacl/div_fp32_simd.h | 36 + .../nnacl/include/nnacl/dropout_fp32_simd.h | 36 + .../nnacl/include/nnacl/exp_fp32_simd.h | 36 + .../nnacl/include/nnacl/fill_base_simd.h | 36 + .../include/nnacl/group_norm_fp32_simd.h | 36 + .../include/nnacl/layer_norm_fp32_simd.h | 36 + .../nnacl/include/nnacl/matmul_fp32_simd.h | 36 + .../nnacl/include/nnacl/mul_fp32_simd.h | 36 + .../include/nnacl/neon/activation_fp32_neon.h | 284 + .../include/nnacl/neon/activation_grad_neon.h | 56 + .../nnacl/include/nnacl/neon/adam_fp32_neon.h | 209 + .../nnacl/include/nnacl/neon/add_fp32_neon.h | 123 + .../neon/apply_proximal_adagrad_fp32_neon.h | 74 + ...pply_proximal_gradient_descent_fp32_neon.h | 70 + .../include/nnacl/neon/arithmetic_fp32_neon.h | 293 + .../nnacl/neon/arithmetic_self_fp32_neon.h | 147 + .../include/nnacl/neon/batchnorm_fp32_neon.h | 66 + .../neon/bce_with_logits_loss_fp32_neon.h | 68 + .../nnacl/include/nnacl/neon/bias_add_neon.h | 63 + .../nnacl/include/nnacl/neon/cast_base_neon.h | 55 + .../nnacl/neon/cast_gather_reduce_fp32_neon.h | 71 + .../include/nnacl/neon/cdist_fp32_neon.h | 69 + .../include/nnacl/neon/cumsum_fp32_neon.h | 120 + .../nnacl/include/nnacl/neon/div_fp32_neon.h | 166 + .../include/nnacl/neon/dropout_fp32_neon.h | 45 + .../nnacl/include/nnacl/neon/exp_fp32_neon.h | 62 + .../nnacl/include/nnacl/neon/fill_base_neon.h | 52 + .../include/nnacl/neon/group_norm_fp32_neon.h | 76 + .../include/nnacl/neon/layer_norm_fp32_neon.h | 67 + .../include/nnacl/neon/matmul_fp32_neon.h | 154 + .../nnacl/include/nnacl/neon/mul_fp32_neon.h | 217 + .../include/nnacl/neon/pooling_fp32_neon.h | 83 + .../include/nnacl/neon/power_fp32_neon.h | 100 + .../nnacl/neon/reduce_concat_fp32_neon.h | 121 + .../include/nnacl/neon/reduce_fp32_neon.h | 226 + .../nnacl/neon/scatter_nd_binary_neon.h | 51 + .../include/nnacl/neon/softmax_fp32_neon.h | 86 + .../neon/softmax_grad_fusion_fp32_neon.h | 61 + .../nnacl/include/nnacl/neon/sub_fp32_neon.h | 166 + .../nnacl/include/nnacl/pooling_fp32_simd.h | 36 + .../nnacl/include/nnacl/power_fp32_simd.h | 36 + .../include/nnacl/reduce_concat_fp32_simd.h | 36 + .../nnacl/include/nnacl/reduce_fp32_simd.h | 36 + .../include/nnacl/scatter_nd_binary_simd.h | 36 + .../nnacl/include/nnacl/softmax_fp32_simd.h | 36 + .../nnacl/softmax_grad_fusion_fp32_simd.h | 36 + .../include/nnacl/sse/activation_fp32_sse.h | 285 + .../include/nnacl/sse/activation_grad_sse.h | 57 + .../nnacl/include/nnacl/sse/adam_fp32_sse.h | 210 + .../nnacl/include/nnacl/sse/add_fp32_sse.h | 124 + .../sse/apply_proximal_adagrad_fp32_sse.h | 75 + ...apply_proximal_gradient_descent_fp32_sse.h | 71 + .../include/nnacl/sse/arithmetic_fp32_sse.h | 294 + .../nnacl/sse/arithmetic_self_fp32_sse.h | 148 + .../include/nnacl/sse/batchnorm_fp32_sse.h | 67 + .../nnacl/sse/bce_with_logits_loss_fp32_sse.h | 69 + .../nnacl/include/nnacl/sse/bias_add_sse.h | 64 + .../nnacl/include/nnacl/sse/cast_base_sse.h | 56 + .../nnacl/sse/cast_gather_reduce_fp32_sse.h | 72 + .../nnacl/include/nnacl/sse/cdist_fp32_sse.h | 70 + .../nnacl/include/nnacl/sse/cumsum_fp32_sse.h | 121 + .../nnacl/include/nnacl/sse/div_fp32_sse.h | 167 + .../include/nnacl/sse/dropout_fp32_sse.h | 46 + .../nnacl/include/nnacl/sse/exp_fp32_sse.h | 63 + .../nnacl/include/nnacl/sse/fill_base_sse.h | 53 + .../include/nnacl/sse/group_norm_fp32_sse.h | 77 + .../include/nnacl/sse/layer_norm_fp32_sse.h | 68 + .../nnacl/include/nnacl/sse/matmul_fp32_sse.h | 155 + .../nnacl/include/nnacl/sse/mul_fp32_sse.h | 218 + .../include/nnacl/sse/pooling_fp32_sse.h | 84 + .../nnacl/include/nnacl/sse/power_fp32_sse.h | 101 + .../nnacl/sse/reduce_concat_fp32_sse.h | 122 + .../nnacl/include/nnacl/sse/reduce_fp32_sse.h | 227 + .../include/nnacl/sse/scatter_nd_binary_sse.h | 52 + .../include/nnacl/sse/softmax_fp32_sse.h | 87 + .../nnacl/sse/softmax_grad_fusion_fp32_sse.h | 62 + .../nnacl/include/nnacl/sse/sub_fp32_sse.h | 167 + .../nnacl/include/nnacl/sub_fp32_simd.h | 36 + .../cpu/kernel/nnacl/infer/infer_register.c | 4 +- mindspore/core/mindrt/BUILD.gn | 49 + mindspore/core/ops/base_operator.h | 4 +- mindspore/lite/BUILD.gn | 484 + mindspore/lite/CMakeLists.txt | 11 + mindspore/lite/mindir/BUILD.gn | 61 + mindspore/lite/mindir/CMakeLists.txt | 31 + mindspore/lite/mindir/include/mindir.h | 447 + .../lite/mindir/include/mindir_lite_graph.h | 57 + .../lite/mindir/include/mindir_primitive.h | 15 + mindspore/lite/mindir/include/mindir_tensor.h | 61 + mindspore/lite/mindir/include/mindir_types.h | 211 + .../lite/mindir/inner_headers/lite_graph.h | 27 + .../inner_headers/mindir_memory_manager.h | 33 + mindspore/lite/mindir/inner_headers/utils.h | 28 + mindspore/lite/mindir/src/mindir.cc | 4339 ++ .../lite/mindir/src/mindir_memory_manager.cc | 129 + .../lite/mindir/src/mindir_nnrt_lite_graph.cc | 87 + .../src/mindir_nnrt_lite_graph_to_model.cc | 1496 + .../mindir_nnrt_lite_graph_to_model_v2_0.cc | 1497 + mindspore/lite/mindir/src/mindir_tensor.cc | 433 + mindspore/lite/mindir/src/utils.cc | 102 + mindspore/lite/mindir/tests/BUILD.gn | 35 + mindspore/lite/mindir/tests/mindir_test.cc | 51 + mindspore/lite/schema/gpu_cache_generated.h | 319 + .../lite/schema/inner/gpu_cache_generated.h | 573 + mindspore/lite/schema/inner/model_generated.h | 3452 ++ mindspore/lite/schema/inner/ops_generated.h | 34917 ++++++++++++++++ .../lite/schema/inner/ops_types_generated.h | 1168 + mindspore/lite/schema/model_generated.h | 2623 ++ mindspore/lite/schema/ops_generated.h | 14900 +++++++ mindspore/lite/schema/ops_types_generated.h | 750 + mindspore/lite/schema/schema_generated.h | 18994 +++++++++ mindspore/lite/src/CMakeLists.txt | 6 + mindspore/lite/src/common/BUILD.gn | 83 + .../lite/src/common/dynamic_library_loader.cc | 3 +- mindspore/lite/src/common/log.cc | 10 +- mindspore/lite/src/common/log.h | 45 +- mindspore/lite/src/common/thread_utils.cc | 2 +- mindspore/lite/src/expression/node.cc | 4 +- mindspore/lite/src/litert/c_api/context_c.cc | 60 +- mindspore/lite/src/litert/c_api/context_c.h | 2 +- mindspore/lite/src/litert/c_api/model_c.cc | 178 +- mindspore/lite/src/litert/c_api/tensor_c.cc | 45 +- mindspore/lite/src/litert/cpu_info.cc | 2 +- .../lite/src/litert/cxx_api/converters.cc | 6 +- .../src/litert/delegate/nnrt/CMakeLists.txt | 30 + .../delegate/nnrt/checker/primitive_check.cc | 187 + .../delegate/nnrt/checker/primitive_check.h | 12 + .../src/litert/delegate/nnrt/nnrt_delegate.cc | 360 + .../src/litert/delegate/nnrt/nnrt_delegate.h | 51 + .../litert/delegate/nnrt/nnrt_model_kernel.cc | 175 + .../litert/delegate/nnrt/nnrt_model_kernel.h | 57 + mindspore/lite/src/litert/kernel/cpu/BUILD.gn | 307 + mindspore/lite/src/litert/lite_session.cc | 2 +- mindspore/lite/src/litert/scheduler.cc | 4 + mindspore/lite/test/ohos_test/BUILD.gn | 40 + mindspore/lite/test/ohos_test/ohos_test.xml | 23 + .../ohos_test/resource/models/mobilenetv2.ms | Bin 0 -> 13988384 bytes .../lite/test/ohos_test/src/context_test.cc | 76 + .../lite/test/ohos_test/src/model_test.cc | 234 + .../lite/test/ohos_test/src/tensor_test.cc | 98 + mindspore/lite/tools/benchmark/BUILD.gn | 66 + .../lite/tools/benchmark/benchmark_base.cc | 2 - .../lite/tools/benchmark/benchmark_c_api.cc | 142 +- .../lite/tools/benchmark/benchmark_c_api.h | 24 +- .../tools/benchmark/benchmark_unified_api.cc | 6 +- 239 files changed, 106438 insertions(+), 418 deletions(-) create mode 100644 include/sdk_api/context.h create mode 100644 include/sdk_api/data_type.h create mode 100644 include/sdk_api/format.h create mode 100644 include/sdk_api/model.h create mode 100644 include/sdk_api/status.h create mode 100644 include/sdk_api/tensor.h create mode 100644 include/sdk_api/types.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/BUILD.gn create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/activation_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/activation_grad_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/adam_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/add_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/apply_proximal_adagrad_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/apply_proximal_gradient_descent_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/arithmetic_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/arithmetic_self_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/activation_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/activation_grad_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/adam_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/add_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/apply_proximal_adagrad_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/apply_proximal_gradient_descent_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/arithmetic_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/arithmetic_self_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/batchnorm_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/bce_with_logits_loss_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/bias_add_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/cast_base_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/cast_gather_reduce_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/cdist_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/cumsum_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/div_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/dropout_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/exp_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/fill_base_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/group_norm_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/layer_norm_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/matmul_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/mul_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/pooling_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/power_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/reduce_concat_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/reduce_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/scatter_nd_binary_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/softmax_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/softmax_grad_fusion_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/sub_fp32_avx.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/activation_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/activation_grad_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/adam_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/add_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/apply_proximal_adagrad_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/apply_proximal_gradient_descent_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/arithmetic_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/arithmetic_self_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/batchnorm_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/bce_with_logits_loss_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/bias_add_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/cast_base_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/cast_gather_reduce_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/cdist_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/cumsum_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/div_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/dropout_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/exp_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/fill_base_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/group_norm_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/layer_norm_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/matmul_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/mul_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/pooling_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/power_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/reduce_concat_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/reduce_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/scatter_nd_binary_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/softmax_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/softmax_grad_fusion_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/sub_fp32_avx512.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/batchnorm_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/bce_with_logits_loss_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/bias_add_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/cast_base_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/cast_gather_reduce_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/cdist_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/cumsum_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/div_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/dropout_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/exp_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/fill_base_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/group_norm_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/layer_norm_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/matmul_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/mul_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/activation_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/activation_grad_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/adam_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/add_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/apply_proximal_adagrad_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/apply_proximal_gradient_descent_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/arithmetic_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/arithmetic_self_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/batchnorm_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/bce_with_logits_loss_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/bias_add_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/cast_base_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/cast_gather_reduce_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/cdist_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/cumsum_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/div_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/dropout_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/exp_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/fill_base_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/group_norm_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/layer_norm_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/matmul_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/mul_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/pooling_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/power_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/reduce_concat_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/reduce_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/scatter_nd_binary_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/softmax_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/softmax_grad_fusion_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/sub_fp32_neon.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/pooling_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/power_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/reduce_concat_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/reduce_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/scatter_nd_binary_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/softmax_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/softmax_grad_fusion_fp32_simd.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/activation_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/activation_grad_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/adam_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/add_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/apply_proximal_adagrad_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/apply_proximal_gradient_descent_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/arithmetic_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/arithmetic_self_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/batchnorm_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/bce_with_logits_loss_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/bias_add_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/cast_base_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/cast_gather_reduce_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/cdist_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/cumsum_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/div_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/dropout_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/exp_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/fill_base_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/group_norm_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/layer_norm_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/matmul_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/mul_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/pooling_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/power_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/reduce_concat_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/reduce_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/scatter_nd_binary_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/softmax_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/softmax_grad_fusion_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/sub_fp32_sse.h create mode 100644 mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sub_fp32_simd.h create mode 100644 mindspore/core/mindrt/BUILD.gn create mode 100644 mindspore/lite/BUILD.gn create mode 100644 mindspore/lite/mindir/BUILD.gn create mode 100644 mindspore/lite/mindir/CMakeLists.txt create mode 100644 mindspore/lite/mindir/include/mindir.h create mode 100644 mindspore/lite/mindir/include/mindir_lite_graph.h create mode 100644 mindspore/lite/mindir/include/mindir_primitive.h create mode 100644 mindspore/lite/mindir/include/mindir_tensor.h create mode 100644 mindspore/lite/mindir/include/mindir_types.h create mode 100644 mindspore/lite/mindir/inner_headers/lite_graph.h create mode 100644 mindspore/lite/mindir/inner_headers/mindir_memory_manager.h create mode 100644 mindspore/lite/mindir/inner_headers/utils.h create mode 100644 mindspore/lite/mindir/src/mindir.cc create mode 100644 mindspore/lite/mindir/src/mindir_memory_manager.cc create mode 100644 mindspore/lite/mindir/src/mindir_nnrt_lite_graph.cc create mode 100644 mindspore/lite/mindir/src/mindir_nnrt_lite_graph_to_model.cc create mode 100644 mindspore/lite/mindir/src/mindir_nnrt_lite_graph_to_model_v2_0.cc create mode 100644 mindspore/lite/mindir/src/mindir_tensor.cc create mode 100644 mindspore/lite/mindir/src/utils.cc create mode 100644 mindspore/lite/mindir/tests/BUILD.gn create mode 100644 mindspore/lite/mindir/tests/mindir_test.cc create mode 100644 mindspore/lite/schema/gpu_cache_generated.h create mode 100644 mindspore/lite/schema/inner/gpu_cache_generated.h create mode 100644 mindspore/lite/schema/inner/model_generated.h create mode 100644 mindspore/lite/schema/inner/ops_generated.h create mode 100644 mindspore/lite/schema/inner/ops_types_generated.h create mode 100644 mindspore/lite/schema/model_generated.h create mode 100644 mindspore/lite/schema/ops_generated.h create mode 100644 mindspore/lite/schema/ops_types_generated.h create mode 100644 mindspore/lite/schema/schema_generated.h create mode 100644 mindspore/lite/src/common/BUILD.gn create mode 100644 mindspore/lite/src/litert/delegate/nnrt/CMakeLists.txt create mode 100644 mindspore/lite/src/litert/delegate/nnrt/checker/primitive_check.cc create mode 100644 mindspore/lite/src/litert/delegate/nnrt/checker/primitive_check.h create mode 100644 mindspore/lite/src/litert/delegate/nnrt/nnrt_delegate.cc create mode 100644 mindspore/lite/src/litert/delegate/nnrt/nnrt_delegate.h create mode 100644 mindspore/lite/src/litert/delegate/nnrt/nnrt_model_kernel.cc create mode 100644 mindspore/lite/src/litert/delegate/nnrt/nnrt_model_kernel.h create mode 100644 mindspore/lite/src/litert/kernel/cpu/BUILD.gn create mode 100644 mindspore/lite/test/ohos_test/BUILD.gn create mode 100644 mindspore/lite/test/ohos_test/ohos_test.xml create mode 100644 mindspore/lite/test/ohos_test/resource/models/mobilenetv2.ms create mode 100644 mindspore/lite/test/ohos_test/src/context_test.cc create mode 100644 mindspore/lite/test/ohos_test/src/model_test.cc create mode 100644 mindspore/lite/test/ohos_test/src/tensor_test.cc create mode 100644 mindspore/lite/tools/benchmark/BUILD.gn diff --git a/.gitignore b/.gitignore index 0d0837ca..acfdf600 100644 --- a/.gitignore +++ b/.gitignore @@ -29,8 +29,6 @@ mindspore/lite/tools/converter/parser/onnx/onnx.pb.h mindspore/lite/tools/converter/parser/onnx/onnx.pb.h mindspore/lite/tools/converter/schema/*.h mindspore/lite/tools/converter/schema/inner -mindspore/lite/schema/*.h -mindspore/lite/schema/inner mindspore/lite/src/litert/kernel/opencl/cl/fp16/*.inc mindspore/lite/src/litert/kernel/opencl/cl/fp32/*.inc diff --git a/include/c_api/context_c.h b/include/c_api/context_c.h index 980b55b6..53839e80 100644 --- a/include/c_api/context_c.h +++ b/include/c_api/context_c.h @@ -25,54 +25,54 @@ extern "C" { #endif -typedef void *MSContextHandle; -typedef void *MSDeviceInfoHandle; +typedef void *OH_AI_ContextHandle; +typedef void *OH_AI_DeviceInfoHandle; /// \brief Create a context object. /// /// \return Context object handle. -MS_API MSContextHandle MSContextCreate(); +OH_AI_API OH_AI_ContextHandle OH_AI_ContextCreate(); /// \brief Destroy the context object. /// /// \param[in] context Context object handle address. -MS_API void MSContextDestroy(MSContextHandle *context); +OH_AI_API void OH_AI_ContextDestroy(OH_AI_ContextHandle *context); /// \brief Set the number of threads at runtime. /// /// \param[in] context Context object handle. /// \param[in] thread_num the number of threads at runtime. -MS_API void MSContextSetThreadNum(MSContextHandle context, int32_t thread_num); +OH_AI_API void OH_AI_ContextSetThreadNum(OH_AI_ContextHandle context, int32_t thread_num); /// \brief Obtain the current thread number setting. /// /// \param[in] context Context object handle. /// /// \return The current thread number setting. -MS_API int32_t MSContextGetThreadNum(const MSContextHandle context); +OH_AI_API int32_t OH_AI_ContextGetThreadNum(const OH_AI_ContextHandle context); /// \brief Set the thread affinity to CPU cores. /// /// \param[in] context Context object handle. /// \param[in] mode: 0: no affinities, 1: big cores first, 2: little cores first -MS_API void MSContextSetThreadAffinityMode(MSContextHandle context, int mode); +OH_AI_API void OH_AI_ContextSetThreadAffinityMode(OH_AI_ContextHandle context, int mode); /// \brief Obtain the thread affinity of CPU cores. /// /// \param[in] context Context object handle. /// /// \return Thread affinity to CPU cores. 0: no affinities, 1: big cores first, 2: little cores first -MS_API int MSContextGetThreadAffinityMode(const MSContextHandle context); +OH_AI_API int OH_AI_ContextGetThreadAffinityMode(const OH_AI_ContextHandle context); /// \brief Set the thread lists to CPU cores. /// -/// \note If core_list and mode are set by MSContextSetThreadAffinityMode at the same time, +/// \note If core_list and mode are set by OH_AI_ContextSetThreadAffinityMode at the same time, /// the core_list is effective, but the mode is not effective. /// /// \param[in] context Context object handle. /// \param[in] core_list: a array of thread core lists. /// \param[in] core_num The number of core. -MS_API void MSContextSetThreadAffinityCoreList(MSContextHandle context, const int32_t *core_list, size_t core_num); +OH_AI_API void OH_AI_ContextSetThreadAffinityCoreList(OH_AI_ContextHandle context, const int32_t *core_list, size_t core_num); /// \brief Obtain the thread lists of CPU cores. /// @@ -80,98 +80,98 @@ MS_API void MSContextSetThreadAffinityCoreList(MSContextHandle context, const in /// \param[out] core_num The number of core. /// /// \return a array of thread core lists. -MS_API const int32_t *MSContextGetThreadAffinityCoreList(const MSContextHandle context, size_t *core_num); +OH_AI_API const int32_t *OH_AI_ContextGetThreadAffinityCoreList(const OH_AI_ContextHandle context, size_t *core_num); /// \brief Set the status whether to perform model inference or training in parallel. /// /// \param[in] context Context object handle. /// \param[in] is_parallel: true, parallel; false, not in parallel. -MS_API void MSContextSetEnableParallel(MSContextHandle context, bool is_parallel); +OH_AI_API void OH_AI_ContextSetEnableParallel(OH_AI_ContextHandle context, bool is_parallel); /// \brief Obtain the status whether to perform model inference or training in parallel. /// /// \param[in] context Context object handle. /// /// \return Bool value that indicates whether in parallel. -MS_API bool MSContextGetEnableParallel(const MSContextHandle context); +OH_AI_API bool OH_AI_ContextGetEnableParallel(const OH_AI_ContextHandle context); /// \brief Add device info to context object. /// /// \param[in] context Context object handle. /// \param[in] device_info Device info object handle. -MS_API void MSContextAddDeviceInfo(MSContextHandle context, MSDeviceInfoHandle device_info); +OH_AI_API void OH_AI_ContextAddDeviceInfo(OH_AI_ContextHandle context, OH_AI_DeviceInfoHandle device_info); /// \brief Create a device info object. /// /// \param[in] device_info Device info object handle. /// /// \return Device info object handle. -MS_API MSDeviceInfoHandle MSDeviceInfoCreate(MSDeviceType device_type); +OH_AI_API OH_AI_DeviceInfoHandle OH_AI_DeviceInfoCreate(OH_AI_DeviceType device_type); /// \brief Destroy the device info object. /// /// \param[in] device_info Device info object handle address. -MS_API void MSDeviceInfoDestroy(MSDeviceInfoHandle *device_info); +OH_AI_API void OH_AI_DeviceInfoDestroy(OH_AI_DeviceInfoHandle *device_info); /// \brief Set provider's name. /// /// \param[in] device_info Device info object handle. /// \param[in] provider define the provider's name. -MS_API void MSDeviceInfoSetProvider(MSDeviceInfoHandle device_info, const char *provider); +OH_AI_API void OH_AI_DeviceInfoSetProvider(OH_AI_DeviceInfoHandle device_info, const char *provider); /// \brief Obtain provider's name /// /// \param[in] device_info Device info object handle. /// /// \return provider's name. -MS_API const char *MSDeviceInfoGetProvider(const MSDeviceInfoHandle device_info); +OH_AI_API const char *OH_AI_DeviceInfoGetProvider(const OH_AI_DeviceInfoHandle device_info); /// \brief Set provider's device type. /// /// \param[in] device_info Device info object handle. /// \param[in] device define the provider's device type. EG: CPU. -MS_API void MSDeviceInfoSetProviderDevice(MSDeviceInfoHandle device_info, const char *device); +OH_AI_API void OH_AI_DeviceInfoSetProviderDevice(OH_AI_DeviceInfoHandle device_info, const char *device); /// \brief Obtain provider's device type. /// /// \param[in] device_info Device info object handle. /// /// \return provider's device type. -MS_API const char *MSDeviceInfoGetProviderDevice(const MSDeviceInfoHandle device_info); +OH_AI_API const char *OH_AI_DeviceInfoGetProviderDevice(const OH_AI_DeviceInfoHandle device_info); /// \brief Obtain the device type of the device info. /// /// \param[in] device_info Device info object handle. /// /// \return Device Type of the device info. -MS_API MSDeviceType MSDeviceInfoGetDeviceType(const MSDeviceInfoHandle device_info); +OH_AI_API OH_AI_DeviceType OH_AI_DeviceInfoGetDeviceType(const OH_AI_DeviceInfoHandle device_info); /// \brief Set enables to perform the float16 inference, Only valid for CPU/GPU. /// /// \param[in] device_info Device info object handle. /// \param[in] is_fp16 Enable float16 inference or not. -MS_API void MSDeviceInfoSetEnableFP16(MSDeviceInfoHandle device_info, bool is_fp16); +OH_AI_API void OH_AI_DeviceInfoSetEnableFP16(OH_AI_DeviceInfoHandle device_info, bool is_fp16); /// \brief Obtain enables to perform the float16 inference, Only valid for CPU/GPU. /// /// \param[in] device_info Device info object handle. /// /// \return Whether enable float16 inference. -MS_API bool MSDeviceInfoGetEnableFP16(const MSDeviceInfoHandle device_info); +OH_AI_API bool OH_AI_DeviceInfoGetEnableFP16(const OH_AI_DeviceInfoHandle device_info); /// \brief Set the NPU frequency, Only valid for NPU. /// /// \param[in] device_info Device info object handle. /// \param[in] frequency Can be set to 1 (low power consumption), 2 (balanced), 3 (high performance), 4 (extreme /// performance), default as 3. -MS_API void MSDeviceInfoSetFrequency(MSDeviceInfoHandle device_info, int frequency); +OH_AI_API void OH_AI_DeviceInfoSetFrequency(OH_AI_DeviceInfoHandle device_info, int frequency); /// \brief Obtain the NPU frequency, Only valid for NPU. /// /// \param[in] device_info Device info object handle. /// /// \return NPU frequency -MS_API int MSDeviceInfoGetFrequency(const MSDeviceInfoHandle device_info); +OH_AI_API int OH_AI_DeviceInfoGetFrequency(const OH_AI_DeviceInfoHandle device_info); #ifdef __cplusplus } diff --git a/include/c_api/data_type_c.h b/include/c_api/data_type_c.h index 3b736e0c..124ed17b 100644 --- a/include/c_api/data_type_c.h +++ b/include/c_api/data_type_c.h @@ -22,29 +22,29 @@ extern "C" { #endif -typedef enum MSDataType { - kMSDataTypeUnknown = 0, - kMSDataTypeObjectTypeString = 12, - kMSDataTypeObjectTypeList = 13, - kMSDataTypeObjectTypeTuple = 14, - kMSDataTypeObjectTypeTensor = 17, - kMSDataTypeNumberTypeBegin = 29, - kMSDataTypeNumberTypeBool = 30, - kMSDataTypeNumberTypeInt8 = 32, - kMSDataTypeNumberTypeInt16 = 33, - kMSDataTypeNumberTypeInt32 = 34, - kMSDataTypeNumberTypeInt64 = 35, - kMSDataTypeNumberTypeUInt8 = 37, - kMSDataTypeNumberTypeUInt16 = 38, - kMSDataTypeNumberTypeUInt32 = 39, - kMSDataTypeNumberTypeUInt64 = 40, - kMSDataTypeNumberTypeFloat16 = 42, - kMSDataTypeNumberTypeFloat32 = 43, - kMSDataTypeNumberTypeFloat64 = 44, - kMSDataTypeNumberTypeEnd = 46, +typedef enum OH_AI_DataType { + OH_AI_DATATYPE_UNKNOWN = 0, + OH_AI_DATATYPE_OBJECTTYPE_STRING = 12, + OH_AI_DATATYPE_OBJECTTYPE_LIST = 13, + OH_AI_DATATYPE_OBJECTTYPE_TUPLE = 14, + OH_AI_DATATYPE_OBJECTTYPE_TENSOR = 17, + OH_AI_DATATYPE_NUMBERTYPE_BEGIN = 29, + OH_AI_DATATYPE_NUMBERTYPE_BOOL = 30, + OH_AI_DATATYPE_NUMBERTYPE_INT8 = 32, + OH_AI_DATATYPE_NUMBERTYPE_INT16 = 33, + OH_AI_DATATYPE_NUMBERTYPE_INT32 = 34, + OH_AI_DATATYPE_NUMBERTYPE_INT64 = 35, + OH_AI_DATATYPE_NUMBERTYPE_UINT8 = 37, + OH_AI_DATATYPE_NUMBERTYPE_UINT16 = 38, + OH_AI_DATATYPE_NUMBERTYPE_UINT32 = 39, + OH_AI_DATATYPE_NUMBERTYPE_UINT64 = 40, + OH_AI_DATATYPE_NUMBERTYPE_FLOAT16 = 42, + OH_AI_DATATYPE_NUMBERTYPE_FLOAT32 = 43, + OH_AI_DATATYPE_NUMBERTYPE_FLOAT64 = 44, + OH_AI_DATATYPE_NUMBERTYPE_END = 46, // add new enum here - kMSDataTypeInvalid = INT32_MAX, -} MSDataType; + OH_AI_DataTypeInvalid = INT32_MAX, +} OH_AI_DataType; #ifdef __cplusplus } diff --git a/include/c_api/format_c.h b/include/c_api/format_c.h index 7b73dabf..36b355fe 100644 --- a/include/c_api/format_c.h +++ b/include/c_api/format_c.h @@ -20,25 +20,25 @@ extern "C" { #endif -typedef enum MSFormat { - kMSFormatNCHW = 0, - kMSFormatNHWC = 1, - kMSFormatNHWC4 = 2, - kMSFormatHWKC = 3, - kMSFormatHWCK = 4, - kMSFormatKCHW = 5, - kMSFormatCKHW = 6, - kMSFormatKHWC = 7, - kMSFormatCHWK = 8, - kMSFormatHW = 9, - kMSFormatHW4 = 10, - kMSFormatNC = 11, - kMSFormatNC4 = 12, - kMSFormatNC4HW4 = 13, - kMSFormatNCDHW = 15, - kMSFormatNWC = 16, - kMSFormatNCW = 17 -} MSFormat; +typedef enum OH_AI_Format { + OH_AI_FORMAT_NCHW = 0, + OH_AI_FORMAT_NHWC = 1, + OH_AI_FORMAT_NHWC4 = 2, + OH_AI_FORMAT_HWKC = 3, + OH_AI_FORMAT_HWCK = 4, + OH_AI_FORMAT_KCHW = 5, + OH_AI_FORMAT_CKHW = 6, + OH_AI_FORMAT_KHWC = 7, + OH_AI_FORMAT_CHWK = 8, + OH_AI_FORMAT_HW = 9, + OH_AI_FORMAT_HW4 = 10, + OH_AI_FORMAT_NC = 11, + OH_AI_FORMAT_NC4 = 12, + OH_AI_FORMAT_NC4HW4 = 13, + OH_AI_FORMAT_NCDHW = 15, + OH_AI_FORMAT_NWC = 16, + OH_AI_FORMAT_NCW = 17 +} OH_AI_Format; #ifdef __cplusplus } diff --git a/include/c_api/model_c.h b/include/c_api/model_c.h index dac35b2f..12a46bcd 100644 --- a/include/c_api/model_c.h +++ b/include/c_api/model_c.h @@ -24,48 +24,48 @@ extern "C" { #endif -typedef void *MSModelHandle; +typedef void *OH_AI_ModelHandle; -typedef struct MSTensorHandleArray { +typedef struct OH_AI_TensorHandleArray { size_t handle_num; - MSTensorHandle *handle_list; -} MSTensorHandleArray; + OH_AI_TensorHandle *handle_list; +} OH_AI_TensorHandleArray; -#define MS_MAX_SHAPE_NUM 32 -typedef struct MSShapeInfo { +#define OH_AI_MAX_SHAPE_NUM 32 +typedef struct OH_AI_ShapeInfo { size_t shape_num; - int64_t shape[MS_MAX_SHAPE_NUM]; -} MSShapeInfo; + int64_t shape[OH_AI_MAX_SHAPE_NUM]; +} OH_AI_ShapeInfo; -typedef struct MSCallBackParamC { +typedef struct OH_AI_CallBackParam { char *node_name; char *node_type; -} MSCallBackParamC; +} OH_AI_CallBackParam; -typedef bool (*MSKernelCallBackC)(const MSTensorHandleArray inputs, const MSTensorHandleArray outputs, - const MSCallBackParamC kernel_Info); +typedef bool (*OH_AI_KernelCallBack)(const OH_AI_TensorHandleArray inputs, const OH_AI_TensorHandleArray outputs, + const OH_AI_CallBackParam kernel_Info); /// \brief Create a model object. /// /// \return Model object handle. -MS_API MSModelHandle MSModelCreate(); +OH_AI_API OH_AI_ModelHandle OH_AI_ModelCreate(); /// \brief Destroy the model object. /// /// \param[in] model Model object handle address. -MS_API void MSModelDestroy(MSModelHandle *model); +OH_AI_API void OH_AI_ModelDestroy(OH_AI_ModelHandle *model); /// \brief Set workspace for the model object. Only valid for Iot. /// /// \param[in] model Model object handle. /// \param[in] workspace Define the workspace address. /// \param[in] workspace_size Define the workspace size. -MS_API void MSModelSetWorkspace(MSModelHandle model, void *workspace, size_t workspace_size); +OH_AI_API void OH_AI_ModelSetWorkspace(OH_AI_ModelHandle model, void *workspace, size_t workspace_size); /// \brief Calculate the workspace size required for model inference. Only valid for Iot. /// /// \param[in] model Model object handle. -MS_API size_t MSModelCalcWorkspaceSize(MSModelHandle model); +OH_AI_API size_t OH_AI_ModelCalcWorkspaceSize(OH_AI_ModelHandle model); /// \brief Build the model from model file buffer so that it can run on a device. /// @@ -75,9 +75,9 @@ MS_API size_t MSModelCalcWorkspaceSize(MSModelHandle model); /// \param[in] model_type Define The type of model file. /// \param[in] model_context Define the context used to store options during execution. /// -/// \return MSStatus. -MS_API MSStatus MSModelBuild(MSModelHandle model, const void *model_data, size_t data_size, MSModelType model_type, - const MSContextHandle model_context); +/// \return OH_AI_Status. +OH_AI_API OH_AI_Status OH_AI_ModelBuild(OH_AI_ModelHandle model, const void *model_data, size_t data_size, OH_AI_ModelType model_type, + const OH_AI_ContextHandle model_context); /// \brief Load and build the model from model path so that it can run on a device. /// @@ -86,9 +86,9 @@ MS_API MSStatus MSModelBuild(MSModelHandle model, const void *model_data, size_t /// \param[in] model_type Define The type of model file. /// \param[in] model_context Define the context used to store options during execution. /// -/// \return MSStatus. -MS_API MSStatus MSModelBuildFromFile(MSModelHandle model, const char *model_path, MSModelType model_type, - const MSContextHandle model_context); +/// \return OH_AI_Status. +OH_AI_API OH_AI_Status OH_AI_ModelBuildFromFile(OH_AI_ModelHandle model, const char *model_path, OH_AI_ModelType model_type, + const OH_AI_ContextHandle model_context); /// \brief Resize the shapes of inputs. /// @@ -97,8 +97,8 @@ MS_API MSStatus MSModelBuildFromFile(MSModelHandle model, const char *model_path /// \param[in] shape_infos Defines the new shapes of inputs, should be consistent with inputs. /// \param[in] shape_info_num The num of shape_infos. /// -/// \return MSStatus. -MS_API MSStatus MSModelResize(MSModelHandle model, const MSTensorHandleArray inputs, MSShapeInfo *shape_infos, +/// \return OH_AI_Status. +OH_AI_API OH_AI_Status OH_AI_ModelResize(OH_AI_ModelHandle model, const OH_AI_TensorHandleArray inputs, OH_AI_ShapeInfo *shape_infos, size_t shape_info_num); /// \brief Inference model. @@ -109,9 +109,9 @@ MS_API MSStatus MSModelResize(MSModelHandle model, const MSTensorHandleArray inp /// \param[in] before CallBack before predict. /// \param[in] after CallBack after predict. /// -/// \return MSStatus. -MS_API MSStatus MSModelPredict(MSModelHandle model, const MSTensorHandleArray inputs, MSTensorHandleArray *outputs, - const MSKernelCallBackC before, const MSKernelCallBackC after); +/// \return OH_AI_Status. +OH_AI_API OH_AI_Status OH_AI_ModelPredict(OH_AI_ModelHandle model, const OH_AI_TensorHandleArray inputs, OH_AI_TensorHandleArray *outputs, + const OH_AI_KernelCallBack before, const OH_AI_KernelCallBack after); /// \brief Run model by step. Only valid for Iot. /// @@ -119,8 +119,8 @@ MS_API MSStatus MSModelPredict(MSModelHandle model, const MSTensorHandleArray in /// \param[in] before CallBack before RunStep. /// \param[in] after CallBack after RunStep. /// -/// \return MSStatus. -MS_API MSStatus MSModelRunStep(MSModelHandle model, const MSKernelCallBackC before, const MSKernelCallBackC after); +/// \return OH_AI_Status. +OH_AI_API OH_AI_Status OH_AI_ModelRunStep(OH_AI_ModelHandle model, const OH_AI_KernelCallBack before, const OH_AI_KernelCallBack after); /// \brief Set the model running mode. Only valid for Iot. /// @@ -128,7 +128,7 @@ MS_API MSStatus MSModelRunStep(MSModelHandle model, const MSKernelCallBackC befo /// \param[in] train True means model runs in Train Mode, otherwise Eval Mode. /// /// \return Status of operation. -MS_API MSStatus MSModelSetTrainMode(const MSModelHandle model, bool train); +OH_AI_API OH_AI_Status OH_AI_ModelSetTrainMode(const OH_AI_ModelHandle model, bool train); /// \brief Export the weights of model to the binary file. Only valid for Iot. /// @@ -136,21 +136,21 @@ MS_API MSStatus MSModelSetTrainMode(const MSModelHandle model, bool train); /// \param[in] export_path Define the export weight file path. /// /// \return Status of operation. -MS_API MSStatus MSModelExportWeight(const MSModelHandle model, const char *export_path); +OH_AI_API OH_AI_Status OH_AI_ModelExportWeight(const OH_AI_ModelHandle model, const char *export_path); /// \brief Obtain all input tensor handles of the model. /// /// \param[in] model Model object handle. /// /// \return The array that includes all input tensor handles. -MS_API MSTensorHandleArray MSModelGetInputs(const MSModelHandle model); +OH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetInputs(const OH_AI_ModelHandle model); /// \brief Obtain all output tensor handles of the model. /// /// \param[in] model Model object handle. /// /// \return The array that includes all output tensor handles. -MS_API MSTensorHandleArray MSModelGetOutputs(const MSModelHandle model); +OH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetOutputs(const OH_AI_ModelHandle model); /// \brief Obtain the input tensor handle of the model by name. /// @@ -158,7 +158,7 @@ MS_API MSTensorHandleArray MSModelGetOutputs(const MSModelHandle model); /// \param[in] tensor_name The name of tensor. /// /// \return The input tensor handle with the given name, if the name is not found, an NULL is returned. -MS_API MSTensorHandle MSModelGetInputByTensorName(const MSModelHandle model, const char *tensor_name); +OH_AI_API OH_AI_TensorHandle OH_AI_ModelGetInputByTensorName(const OH_AI_ModelHandle model, const char *tensor_name); /// \brief Obtain the output tensor handle of the model by name. /// @@ -166,7 +166,7 @@ MS_API MSTensorHandle MSModelGetInputByTensorName(const MSModelHandle model, con /// \param[in] tensor_name The name of tensor. /// /// \return The output tensor handle with the given name, if the name is not found, an NULL is returned. -MS_API MSTensorHandle MSModelGetOutputByTensorName(const MSModelHandle model, const char *tensor_name); +OH_AI_API OH_AI_TensorHandle OH_AI_ModelGetOutputByTensorName(const OH_AI_ModelHandle model, const char *tensor_name); #ifdef __cplusplus } diff --git a/include/c_api/status_c.h b/include/c_api/status_c.h index 82b4f2d5..ce71d5ba 100644 --- a/include/c_api/status_c.h +++ b/include/c_api/status_c.h @@ -22,57 +22,57 @@ extern "C" { #endif -enum MSCompCode { - kMSCompCodeCore = 0x00000000u, - kMSCompCodeMD = 0x10000000u, - kMSCompCodeME = 0x20000000u, - kMSCompCodeMC = 0x30000000u, - kMSCompCodeLite = 0xF0000000u, +enum OH_AI_CompCode { + OH_AI_COMPCODE_CORE = 0x00000000u, + OH_AI_COMPCODE_MD = 0x10000000u, + OH_AI_COMPCODE_ME = 0x20000000u, + OH_AI_COMPCODE_MC = 0x30000000u, + OH_AI_COMPCODE_LITE = 0xF0000000u, }; -typedef enum MSStatus { - kMSStatusSuccess = 0, +typedef enum OH_AI_Status { + OH_AI_STATUS_SUCCESS = 0, // Core - kMSStatusCoreFailed = kMSCompCodeCore | 0x1, + OH_AI_STATUS_CORE_FAILED = OH_AI_COMPCODE_CORE | 0x1, // Lite // Common error code, range: [-1, -100) - kMSStatusLiteError = kMSCompCodeLite | (0x0FFFFFFF & -1), /**< Common error code. */ - kMSStatusLiteNullptr = kMSCompCodeLite | (0x0FFFFFFF & -2), /**< NULL pointer returned.*/ - kMSStatusLiteParamInvalid = kMSCompCodeLite | (0x0FFFFFFF & -3), /**< Invalid parameter.*/ - kMSStatusLiteNoChange = kMSCompCodeLite | (0x0FFFFFFF & -4), /**< No change. */ - kMSStatusLiteSuccessExit = kMSCompCodeLite | (0x0FFFFFFF & -5), /**< No error but exit. */ - kMSStatusLiteMemoryFailed = kMSCompCodeLite | (0x0FFFFFFF & -6), /**< Fail to create memory. */ - kMSStatusLiteNotSupport = kMSCompCodeLite | (0x0FFFFFFF & -7), /**< Fail to support. */ - kMSStatusLiteThreadPoolError = kMSCompCodeLite | (0x0FFFFFFF & -8), /**< Error occur in thread pool. */ - kMSStatusLiteUninitializedObj = kMSCompCodeLite | (0x0FFFFFFF & -9), /**< Object is not initialized. */ - kMSStatusLiteFileError = kMSCompCodeLite | (0x0FFFFFFF & -10), /**< Invalid file. */ - kMSStatusLiteServiceDeny = kMSCompCodeLite | (0x0FFFFFFF & -11), /**< Denial of service. */ - kMSStatusLiteModelRebuild = kMSCompCodeLite | (0x0FFFFFFF & -12), /**< Model has been built. */ + OH_AI_STATUS_LITE_ERROR = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -1), /**< Common error code. */ + OH_AI_STATUS_LITE_NULLPTR = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -2), /**< NULL pointer returned.*/ + OH_AI_STATUS_LITE_PARAM_INVALID = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -3), /**< Invalid parameter.*/ + OH_AI_STATUS_LITE_NO_CHANGE = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -4), /**< No change. */ + OH_AI_STATUS_LITE_SUCCESS_EXIT = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -5), /**< No error but exit. */ + OH_AI_STATUS_LITE_MEMORY_FAILED = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -6), /**< Fail to create memory. */ + OH_AI_STATUS_LITE_NOT_SUPPORT = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -7), /**< Fail to support. */ + OH_AI_STATUS_LITE_THREADPOOL_ERROR = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -8), /**< Error occur in thread pool. */ + OH_AI_STATUS_LITE_UNINITIALIZED_OBJ = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -9), /**< Object is not initialized. */ + OH_AI_STATUS_LITE_FILE_ERROR = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -10), /**< Invalid file. */ + OH_AI_STATUS_LITE_SERVICE_DENY = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -11), /**< Denial of service. */ + OH_AI_STATUS_LITE_MODEL_REBUILD = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -12), /**< Model has been built. */ // Executor error code, range: [-100,-200) - kMSStatusLiteOutOfTensorRange = kMSCompCodeLite | (0x0FFFFFFF & -100), /**< Failed to check range. */ - kMSStatusLiteInputTensorError = kMSCompCodeLite | (0x0FFFFFFF & -101), /**< Failed to check input tensor. */ - kMSStatusLiteReentrantError = kMSCompCodeLite | (0x0FFFFFFF & -102), /**< Exist executor running. */ + OH_AI_STATUS_LITE_OUT_OF_TENSOR_RANGE = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -100), /**< Failed to check range. */ + OH_AI_STATUS_LITE_INPUT_TENSOR_ERROR = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -101), /**< Failed to check input tensor. */ + OH_AI_STATUS_LITE_REENTRANT_ERROR = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -102), /**< Exist executor running. */ // Graph error code, range: [-200,-300) - kMSStatusLiteGraphFileError = kMSCompCodeLite | (0x0FFFFFFF & -200), /**< Failed to verify graph file. */ + OH_AI_STATUS_LITE_GRAPH_FILE_ERROR = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -200), /**< Failed to verify graph file. */ // Node error code, range: [-300,-400) - kMSStatusLiteNotFindOp = kMSCompCodeLite | (0x0FFFFFFF & -300), /**< Failed to find operator. */ - kMSStatusLiteInvalidOpName = kMSCompCodeLite | (0x0FFFFFFF & -301), /**< Invalid operator name. */ - kMSStatusLiteInvalidOpAttr = kMSCompCodeLite | (0x0FFFFFFF & -302), /**< Invalid operator attr. */ - kMSStatusLiteOpExecuteFailure = kMSCompCodeLite | (0x0FFFFFFF & -303), /**< Failed to execution operator. */ + OH_AI_STATUS_LITE_NOT_FIND_OP = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -300), /**< Failed to find operator. */ + OH_AI_STATUS_LITE_INVALID_OP_NAME = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -301), /**< Invalid operator name. */ + OH_AI_STATUS_LITE_INVALID_OP_ATTR = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -302), /**< Invalid operator attr. */ + OH_AI_STATUS_LITE_OP_EXECUTE_FAILURE = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -303), /**< Failed to execution operator. */ // Tensor error code, range: [-400,-500) - kMSStatusLiteFormatError = kMSCompCodeLite | (0x0FFFFFFF & -400), /**< Failed to checking tensor format. */ + OH_AI_STATUS_LITE_FORMAT_ERROR = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -400), /**< Failed to checking tensor format. */ // InferShape error code, range: [-500,-600) - kMSStatusLiteInferError = kMSCompCodeLite | (0x0FFFFFFF & -500), /**< Failed to infer shape. */ - kMSStatusLiteInferInvalid = kMSCompCodeLite | (0x0FFFFFFF & -501), /**< Invalid infer shape before runtime. */ + OH_AI_STATUS_LITE_INFER_ERROR = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -500), /**< Failed to infer shape. */ + OH_AI_STATUS_LITE_INFER_INVALID = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -501), /**< Invalid infer shape before runtime. */ // User input param error code, range: [-600, 700) - kMSStatusLiteInputParamInvalid = kMSCompCodeLite | (0x0FFFFFFF & -600), /**< Invalid input param by user. */ -} MSStatus; + OH_AI_STATUS_LITE_INPUT_PARAM_INVALID = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -600), /**< Invalid input param by user. */ +} OH_AI_Status; #ifdef __cplusplus } #endif diff --git a/include/c_api/tensor_c.h b/include/c_api/tensor_c.h index 9783bd90..f18ba163 100644 --- a/include/c_api/tensor_c.h +++ b/include/c_api/tensor_c.h @@ -25,7 +25,7 @@ extern "C" { #endif -typedef void *MSTensorHandle; +typedef void *OH_AI_TensorHandle; /// \brief Create a tensor object. /// @@ -37,53 +37,53 @@ typedef void *MSTensorHandle; /// \param[in] data_len The length of the memory, in bytes. /// /// \return Tensor object handle. -MS_API MSTensorHandle MSTensorCreate(const char *name, MSDataType type, const int64_t *shape, size_t shape_num, +OH_AI_API OH_AI_TensorHandle OH_AI_TensorCreate(const char *name, OH_AI_DataType type, const int64_t *shape, size_t shape_num, const void *data, size_t data_len); /// \brief Destroy the tensor object. /// /// \param[in] tensor Tensor object handle address. -MS_API void MSTensorDestroy(MSTensorHandle *tensor); +OH_AI_API void OH_AI_TensorDestroy(OH_AI_TensorHandle *tensor); /// \brief Obtain a deep copy of the tensor. /// /// \param[in] tensor Tensor object handle. /// /// \return Tensor object handle. -MS_API MSTensorHandle MSTensorClone(MSTensorHandle tensor); +OH_AI_API OH_AI_TensorHandle OH_AI_TensorClone(OH_AI_TensorHandle tensor); /// \brief Set the name for the tensor. /// /// \param[in] tensor Tensor object handle. /// \param[in] name The name of the tensor. -MS_API void MSTensorSetName(MSTensorHandle tensor, const char *name); +OH_AI_API void OH_AI_TensorSetName(OH_AI_TensorHandle tensor, const char *name); /// \brief Obtain the name of the tensor. /// /// \param[in] tensor Tensor object handle. /// /// \return The name of the tensor. -MS_API const char *MSTensorGetName(const MSTensorHandle tensor); +OH_AI_API const char *OH_AI_TensorGetName(const OH_AI_TensorHandle tensor); /// \brief Set the data type for the tensor. /// /// \param[in] tensor Tensor object handle. /// \param[in] type The data type of the tensor. -MS_API void MSTensorSetDataType(MSTensorHandle tensor, MSDataType type); +OH_AI_API void OH_AI_TensorSetDataType(OH_AI_TensorHandle tensor, OH_AI_DataType type); /// \brief Obtain the data type of the tensor. /// /// \param[in] tensor Tensor object handle. /// /// \return The date type of the tensor. -MS_API MSDataType MSTensorGetDataType(const MSTensorHandle tensor); +OH_AI_API OH_AI_DataType OH_AI_TensorGetDataType(const OH_AI_TensorHandle tensor); /// \brief Set the shape for the tensor. /// /// \param[in] tensor Tensor object handle. /// \param[in] shape The shape array. /// \param[in] shape_num Dimension of shape. -MS_API void MSTensorSetShape(MSTensorHandle tensor, const int64_t *shape, size_t shape_num); +OH_AI_API void OH_AI_TensorSetShape(OH_AI_TensorHandle tensor, const int64_t *shape, size_t shape_num); /// \brief Obtain the shape of the tensor. /// @@ -91,54 +91,54 @@ MS_API void MSTensorSetShape(MSTensorHandle tensor, const int64_t *shape, size_t /// \param[out] shape_num Dimension of shape. /// /// \return The shape array of the tensor. -MS_API const int64_t *MSTensorGetShape(const MSTensorHandle tensor, size_t *shape_num); +OH_AI_API const int64_t *OH_AI_TensorGetShape(const OH_AI_TensorHandle tensor, size_t *shape_num); /// \brief Set the format for the tensor. /// /// \param[in] tensor Tensor object handle. /// \param[in] format The format of the tensor. -MS_API void MSTensorSetFormat(MSTensorHandle tensor, MSFormat format); +OH_AI_API void OH_AI_TensorSetFormat(OH_AI_TensorHandle tensor, OH_AI_Format format); /// \brief Obtain the format of the tensor. /// /// \param[in] tensor Tensor object handle. /// /// \return The format of the tensor. -MS_API MSFormat MSTensorGetFormat(const MSTensorHandle tensor); +OH_AI_API OH_AI_Format OH_AI_TensorGetFormat(const OH_AI_TensorHandle tensor); /// \brief Obtain the data for the tensor. /// /// \param[in] tensor Tensor object handle. /// \param[in] data A pointer to the data of the tensor. -MS_API void MSTensorSetData(MSTensorHandle tensor, void *data); +OH_AI_API void OH_AI_TensorSetData(OH_AI_TensorHandle tensor, void *data); /// \brief Obtain the data pointer of the tensor. /// /// \param[in] tensor Tensor object handle. /// /// \return The data pointer of the tensor. -MS_API const void *MSTensorGetData(const MSTensorHandle tensor); +OH_AI_API const void *OH_AI_TensorGetData(const OH_AI_TensorHandle tensor); /// \brief Obtain the mutable data pointer of the tensor. If the internal data is empty, it will allocate memory. /// /// \param[in] tensor Tensor object handle. /// /// \return The data pointer of the tensor. -MS_API void *MSTensorGetMutableData(const MSTensorHandle tensor); +OH_AI_API void *OH_AI_TensorGetMutableData(const OH_AI_TensorHandle tensor); /// \brief Obtain the element number of the tensor. /// /// \param[in] tensor Tensor object handle. /// /// \return The element number of the tensor. -MS_API int64_t MSTensorGetElementNum(const MSTensorHandle tensor); +OH_AI_API int64_t OH_AI_TensorGetElementNum(const OH_AI_TensorHandle tensor); /// \brief Obtain the data size fo the tensor. /// /// \param[in] tensor Tensor object handle. /// /// \return The data size of the tensor. -MS_API size_t MSTensorGetDataSize(const MSTensorHandle tensor); +OH_AI_API size_t OH_AI_TensorGetDataSize(const OH_AI_TensorHandle tensor); #ifdef __cplusplus } diff --git a/include/c_api/types_c.h b/include/c_api/types_c.h index 342e24bd..dba54ffa 100644 --- a/include/c_api/types_c.h +++ b/include/c_api/types_c.h @@ -20,27 +20,29 @@ extern "C" { #endif -#ifndef MS_API +#ifndef OH_AI_API #ifdef _WIN32 -#define MS_API __declspec(dllexport) +#define OH_AI_API __declspec(dllexport) #else -#define MS_API __attribute__((visibility("default"))) +#define OH_AI_API __attribute__((visibility("default"))) #endif #endif -typedef enum MSModelType { - kMSModelTypeMindIR = 0, +typedef enum OH_AI_ModelType { + OH_AI_MODELTYPE_MINDIR= 0, // insert new data type here - kMSModelTypeInvalid = 0xFFFFFFFF -} MSModelType; + OH_AI_MODELTYPE_INVALID = 0xFFFFFFFF +} OH_AI_ModelType; -typedef enum MSDeviceType { - kMSDeviceTypeCPU = 0, - kMSDeviceTypeGPU, - kMSDeviceTypeKirinNPU, +typedef enum OH_AI_DeviceType { + OH_AI_DEVICETYPE_CPU = 0, + OH_AI_DEVICETYPE_GPU, + OH_AI_DEVICETYPE_KIRIN_NPU, // add new type here - kMSDeviceTypeInvalid = 100, -} MSDeviceType; + // ohos-only device range: [60, 80) + OH_AI_DEVICETYPE__NNRT = 60, + OH_AI_DEVICETYPE_INVALID = 100, +} OH_AI_DeviceType; #ifdef __cplusplus } diff --git a/include/sdk_api/context.h b/include/sdk_api/context.h new file mode 100644 index 00000000..5bfc9279 --- /dev/null +++ b/include/sdk_api/context.h @@ -0,0 +1,180 @@ +/** + * Copyright 2021 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_INCLUDE_C_API_CONTEXT_C_H +#define MINDSPORE_INCLUDE_C_API_CONTEXT_C_H + +#include +#include +#include +#include "mindspore/types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void *OH_AI_ContextHandle; +typedef void *OH_AI_DeviceInfoHandle; + +/// \brief Create a context object. +/// +/// \return Context object handle. +OH_AI_API OH_AI_ContextHandle OH_AI_ContextCreate(); + +/// \brief Destroy the context object. +/// +/// \param[in] context Context object handle address. +OH_AI_API void OH_AI_ContextDestroy(OH_AI_ContextHandle *context); + +/// \brief Set the number of threads at runtime. +/// +/// \param[in] context Context object handle. +/// \param[in] thread_num the number of threads at runtime. +OH_AI_API void OH_AI_ContextSetThreadNum(OH_AI_ContextHandle context, int32_t thread_num); + +/// \brief Obtain the current thread number setting. +/// +/// \param[in] context Context object handle. +/// +/// \return The current thread number setting. +OH_AI_API int32_t OH_AI_ContextGetThreadNum(const OH_AI_ContextHandle context); + +/// \brief Set the thread affinity to CPU cores. +/// +/// \param[in] context Context object handle. +/// \param[in] mode: 0: no affinities, 1: big cores first, 2: little cores first +OH_AI_API void OH_AI_ContextSetThreadAffinityMode(OH_AI_ContextHandle context, int mode); + +/// \brief Obtain the thread affinity of CPU cores. +/// +/// \param[in] context Context object handle. +/// +/// \return Thread affinity to CPU cores. 0: no affinities, 1: big cores first, 2: little cores first +OH_AI_API int OH_AI_ContextGetThreadAffinityMode(const OH_AI_ContextHandle context); + +/// \brief Set the thread lists to CPU cores. +/// +/// \note If core_list and mode are set by OH_AI_ContextSetThreadAffinityMode at the same time, +/// the core_list is effective, but the mode is not effective. +/// +/// \param[in] context Context object handle. +/// \param[in] core_list: a array of thread core lists. +/// \param[in] core_num The number of core. +OH_AI_API void OH_AI_ContextSetThreadAffinityCoreList(OH_AI_ContextHandle context, const int32_t *core_list, + size_t core_num); + +/// \brief Obtain the thread lists of CPU cores. +/// +/// \param[in] context Context object handle. +/// \param[out] core_num The number of core. +/// +/// \return a array of thread core lists. +OH_AI_API const int32_t *OH_AI_ContextGetThreadAffinityCoreList(const OH_AI_ContextHandle context, size_t *core_num); + +/// \brief Set the status whether to perform model inference or training in parallel. +/// +/// \param[in] context Context object handle. +/// \param[in] is_parallel: true, parallel; false, not in parallel. +OH_AI_API void OH_AI_ContextSetEnableParallel(OH_AI_ContextHandle context, bool is_parallel); + +/// \brief Obtain the status whether to perform model inference or training in parallel. +/// +/// \param[in] context Context object handle. +/// +/// \return Bool value that indicates whether in parallel. +OH_AI_API bool OH_AI_ContextGetEnableParallel(const OH_AI_ContextHandle context); + +/// \brief Add device info to context object. +/// +/// \param[in] context Context object handle. +/// \param[in] device_info Device info object handle. +OH_AI_API void OH_AI_ContextAddDeviceInfo(OH_AI_ContextHandle context, OH_AI_DeviceInfoHandle device_info); + +/// \brief Create a device info object. +/// +/// \param[in] device_info Device info object handle. +/// +/// \return Device info object handle. +OH_AI_API OH_AI_DeviceInfoHandle OH_AI_DeviceInfoCreate(OH_AI_DeviceType device_type); + +/// \brief Destroy the device info object. +/// +/// \param[in] device_info Device info object handle address. +OH_AI_API void OH_AI_DeviceInfoDestroy(OH_AI_DeviceInfoHandle *device_info); + +/// \brief Set provider's name. +/// +/// \param[in] device_info Device info object handle. +/// \param[in] provider define the provider's name. +OH_AI_API void OH_AI_DeviceInfoSetProvider(OH_AI_DeviceInfoHandle device_info, const char *provider); + +/// \brief Obtain provider's name +/// +/// \param[in] device_info Device info object handle. +/// +/// \return provider's name. +OH_AI_API const char *OH_AI_DeviceInfoGetProvider(const OH_AI_DeviceInfoHandle device_info); + +/// \brief Set provider's device type. +/// +/// \param[in] device_info Device info object handle. +/// \param[in] device define the provider's device type. EG: CPU. +OH_AI_API void OH_AI_DeviceInfoSetProviderDevice(OH_AI_DeviceInfoHandle device_info, const char *device); + +/// \brief Obtain provider's device type. +/// +/// \param[in] device_info Device info object handle. +/// +/// \return provider's device type. +OH_AI_API const char *OH_AI_DeviceInfoGetProviderDevice(const OH_AI_DeviceInfoHandle device_info); + +/// \brief Obtain the device type of the device info. +/// +/// \param[in] device_info Device info object handle. +/// +/// \return Device Type of the device info. +OH_AI_API OH_AI_DeviceType OH_AI_DeviceInfoGetDeviceType(const OH_AI_DeviceInfoHandle device_info); + +/// \brief Set enables to perform the float16 inference, Only valid for CPU/GPU. +/// +/// \param[in] device_info Device info object handle. +/// \param[in] is_fp16 Enable float16 inference or not. +OH_AI_API void OH_AI_DeviceInfoSetEnableFP16(OH_AI_DeviceInfoHandle device_info, bool is_fp16); + +/// \brief Obtain enables to perform the float16 inference, Only valid for CPU/GPU. +/// +/// \param[in] device_info Device info object handle. +/// +/// \return Whether enable float16 inference. +OH_AI_API bool OH_AI_DeviceInfoGetEnableFP16(const OH_AI_DeviceInfoHandle device_info); + +/// \brief Set the NPU frequency, Only valid for NPU. +/// +/// \param[in] device_info Device info object handle. +/// \param[in] frequency Can be set to 1 (low power consumption), 2 (balanced), 3 (high performance), 4 (extreme +/// performance), default as 3. +OH_AI_API void OH_AI_DeviceInfoSetFrequency(OH_AI_DeviceInfoHandle device_info, int frequency); + +/// \brief Obtain the NPU frequency, Only valid for NPU. +/// +/// \param[in] device_info Device info object handle. +/// +/// \return NPU frequency +OH_AI_API int OH_AI_DeviceInfoGetFrequency(const OH_AI_DeviceInfoHandle device_info); + +#ifdef __cplusplus +} +#endif +#endif // MINDSPORE_INCLUDE_C_API_CONTEXT_C_H diff --git a/include/sdk_api/data_type.h b/include/sdk_api/data_type.h new file mode 100644 index 00000000..124ed17b --- /dev/null +++ b/include/sdk_api/data_type.h @@ -0,0 +1,52 @@ +/** + * Copyright 2021 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_INCLUDE_C_API_DATA_TYPE_C_H +#define MINDSPORE_INCLUDE_C_API_DATA_TYPE_C_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum OH_AI_DataType { + OH_AI_DATATYPE_UNKNOWN = 0, + OH_AI_DATATYPE_OBJECTTYPE_STRING = 12, + OH_AI_DATATYPE_OBJECTTYPE_LIST = 13, + OH_AI_DATATYPE_OBJECTTYPE_TUPLE = 14, + OH_AI_DATATYPE_OBJECTTYPE_TENSOR = 17, + OH_AI_DATATYPE_NUMBERTYPE_BEGIN = 29, + OH_AI_DATATYPE_NUMBERTYPE_BOOL = 30, + OH_AI_DATATYPE_NUMBERTYPE_INT8 = 32, + OH_AI_DATATYPE_NUMBERTYPE_INT16 = 33, + OH_AI_DATATYPE_NUMBERTYPE_INT32 = 34, + OH_AI_DATATYPE_NUMBERTYPE_INT64 = 35, + OH_AI_DATATYPE_NUMBERTYPE_UINT8 = 37, + OH_AI_DATATYPE_NUMBERTYPE_UINT16 = 38, + OH_AI_DATATYPE_NUMBERTYPE_UINT32 = 39, + OH_AI_DATATYPE_NUMBERTYPE_UINT64 = 40, + OH_AI_DATATYPE_NUMBERTYPE_FLOAT16 = 42, + OH_AI_DATATYPE_NUMBERTYPE_FLOAT32 = 43, + OH_AI_DATATYPE_NUMBERTYPE_FLOAT64 = 44, + OH_AI_DATATYPE_NUMBERTYPE_END = 46, + // add new enum here + OH_AI_DataTypeInvalid = INT32_MAX, +} OH_AI_DataType; + +#ifdef __cplusplus +} +#endif +#endif // MINDSPORE_INCLUDE_C_API_DATA_TYPE_C_H diff --git a/include/sdk_api/format.h b/include/sdk_api/format.h new file mode 100644 index 00000000..36b355fe --- /dev/null +++ b/include/sdk_api/format.h @@ -0,0 +1,46 @@ +/** + * Copyright 2021 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_INCLUDE_C_API_FORMAT_C_H +#define MINDSPORE_INCLUDE_C_API_FORMAT_C_H + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum OH_AI_Format { + OH_AI_FORMAT_NCHW = 0, + OH_AI_FORMAT_NHWC = 1, + OH_AI_FORMAT_NHWC4 = 2, + OH_AI_FORMAT_HWKC = 3, + OH_AI_FORMAT_HWCK = 4, + OH_AI_FORMAT_KCHW = 5, + OH_AI_FORMAT_CKHW = 6, + OH_AI_FORMAT_KHWC = 7, + OH_AI_FORMAT_CHWK = 8, + OH_AI_FORMAT_HW = 9, + OH_AI_FORMAT_HW4 = 10, + OH_AI_FORMAT_NC = 11, + OH_AI_FORMAT_NC4 = 12, + OH_AI_FORMAT_NC4HW4 = 13, + OH_AI_FORMAT_NCDHW = 15, + OH_AI_FORMAT_NWC = 16, + OH_AI_FORMAT_NCW = 17 +} OH_AI_Format; + +#ifdef __cplusplus +} +#endif +#endif // MINDSPORE_INCLUDE_C_API_FORMAT_C_H diff --git a/include/sdk_api/model.h b/include/sdk_api/model.h new file mode 100644 index 00000000..4be9b457 --- /dev/null +++ b/include/sdk_api/model.h @@ -0,0 +1,138 @@ +/** + * Copyright 2021 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_INCLUDE_C_API_MODEL_C_H +#define MINDSPORE_INCLUDE_C_API_MODEL_C_H + +#include "mindspore/tensor.h" +#include "mindspore/context.h" +#include "mindspore/status.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void *OH_AI_ModelHandle; + +typedef struct OH_AI_TensorHandleArray { + size_t handle_num; + OH_AI_TensorHandle *handle_list; +} OH_AI_TensorHandleArray; + +#define OH_AI_MAX_SHAPE_NUM 32 +typedef struct OH_AI_ShapeInfo { + size_t shape_num; + int64_t shape[OH_AI_MAX_SHAPE_NUM]; +} OH_AI_ShapeInfo; + +typedef struct OH_AI_CallBackParam { + char *node_name; + char *node_type; +} OH_AI_CallBackParam; + +typedef bool (*OH_AI_KernelCallBack)(const OH_AI_TensorHandleArray inputs, const OH_AI_TensorHandleArray outputs, + const OH_AI_CallBackParam kernel_Info); + +/// \brief Create a model object. +/// +/// \return Model object handle. +OH_AI_API OH_AI_ModelHandle OH_AI_ModelCreate(); + +/// \brief Destroy the model object. +/// +/// \param[in] model Model object handle address. +OH_AI_API void OH_AI_ModelDestroy(OH_AI_ModelHandle *model); + +/// \brief Build the model from model file buffer so that it can run on a device. +/// +/// \param[in] model Model object handle. +/// \param[in] model_data Define the buffer read from a model file. +/// \param[in] data_size Define bytes number of model file buffer. +/// \param[in] model_type Define The type of model file. +/// \param[in] model_context Define the context used to store options during execution. +/// +/// \return OH_AI_Status. +OH_AI_API OH_AI_Status OH_AI_ModelBuild(OH_AI_ModelHandle model, const void *model_data, size_t data_size, + OH_AI_ModelType model_type, const OH_AI_ContextHandle model_context); + +/// \brief Load and build the model from model path so that it can run on a device. +/// +/// \param[in] model Model object handle. +/// \param[in] model_path Define the model file path. +/// \param[in] model_type Define The type of model file. +/// \param[in] model_context Define the context used to store options during execution. +/// +/// \return OH_AI_Status. +OH_AI_API OH_AI_Status OH_AI_ModelBuildFromFile(OH_AI_ModelHandle model, const char *model_path, + OH_AI_ModelType model_type, const OH_AI_ContextHandle model_context); + +/// \brief Resizes the shapes of inputs. +/// +/// \param[in] model Model object handle. +/// \param[in] inputs The array that includes all input tensor handles. +/// \param[in] shape_infos Defines the new shapes of inputs, should be consistent with inputs. +/// \param[in] shape_info_num The num of shape_infos. +/// +/// \return OH_AI_Status. +OH_AI_API OH_AI_Status OH_AI_ModelResize(OH_AI_ModelHandle model, const OH_AI_TensorHandleArray inputs, + OH_AI_ShapeInfo *shape_infos, size_t shape_info_num); + +/// \brief Inference model. +/// +/// \param[in] model Model object handle. +/// \param[in] inputs The array that includes all input tensor handles. +/// \param[out] outputs The array that includes all output tensor handles. +/// \param[in] before CallBack before predict. +/// \param[in] after CallBack after predict. +/// +/// \return OH_AI_Status. +OH_AI_API OH_AI_Status OH_AI_ModelPredict(OH_AI_ModelHandle model, const OH_AI_TensorHandleArray inputs, + OH_AI_TensorHandleArray *outputs, const OH_AI_KernelCallBack before, + const OH_AI_KernelCallBack after); + +/// \brief Obtains all input tensor handles of the model. +/// +/// \param[in] model Model object handle. +/// +/// \return The array that includes all input tensor handles. +OH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetInputs(const OH_AI_ModelHandle model); + +/// \brief Obtains all output tensor handles of the model. +/// +/// \param[in] model Model object handle. +/// +/// \return The array that includes all output tensor handles. +OH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetOutputs(const OH_AI_ModelHandle model); + +/// \brief Obtains the input tensor handle of the model by name. +/// +/// \param[in] model Model object handle. +/// \param[in] tensor_name The name of tensor. +/// +/// \return The input tensor handle with the given name, if the name is not found, an NULL is returned. +OH_AI_API OH_AI_TensorHandle OH_AI_ModelGetInputByTensorName(const OH_AI_ModelHandle model, const char *tensor_name); + +/// \brief Obtains the output tensor handle of the model by name. +/// +/// \param[in] model Model object handle. +/// \param[in] tensor_name The name of tensor. +/// +/// \return The output tensor handle with the given name, if the name is not found, an NULL is returned. +OH_AI_API OH_AI_TensorHandle OH_AI_ModelGetOutputByTensorName(const OH_AI_ModelHandle model, const char *tensor_name); + +#ifdef __cplusplus +} +#endif +#endif // MINDSPORE_INCLUDE_C_API_MODEL_C_H diff --git a/include/sdk_api/status.h b/include/sdk_api/status.h new file mode 100644 index 00000000..102c7962 --- /dev/null +++ b/include/sdk_api/status.h @@ -0,0 +1,80 @@ +/** + * Copyright 2021 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_INCLUDE_C_API_STATUS_C_H +#define MINDSPORE_INCLUDE_C_API_STATUS_C_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +enum OH_AI_CompCode { + OH_AI_COMPCODE_CORE = 0x00000000u, + OH_AI_COMPCODE_MD = 0x10000000u, + OH_AI_COMPCODE_ME = 0x20000000u, + OH_AI_COMPCODE_MC = 0x30000000u, + OH_AI_COMPCODE_LITE = 0xF0000000u, +}; + +typedef enum OH_AI_Status { + OH_AI_STATUS_SUCCESS = 0, + // Core + OH_AI_STATUS_CORE_FAILED = OH_AI_COMPCODE_CORE | 0x1, + + // Lite // Common error code, range: [-1, -100) + OH_AI_STATUS_LITE_ERROR = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -1), /**< Common error code. */ + OH_AI_STATUS_LITE_NULLPTR = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -2), /**< NULL pointer returned.*/ + OH_AI_STATUS_LITE_PARAM_INVALID = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -3), /**< Invalid parameter.*/ + OH_AI_STATUS_LITE_NO_CHANGE = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -4), /**< No change. */ + OH_AI_STATUS_LITE_SUCCESS_EXIT = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -5), /**< No error but exit. */ + OH_AI_STATUS_LITE_MEMORY_FAILED = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -6), /**< Fail to create memory. */ + OH_AI_STATUS_LITE_NOT_SUPPORT = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -7), /**< Fail to support. */ + OH_AI_STATUS_LITE_THREADPOOL_ERROR = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -8), /**< Error occur in thread pool. */ + OH_AI_STATUS_LITE_UNINITIALIZED_OBJ = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -9), /**< Object is not initialized. */ + + // Executor error code, range: [-100,-200) + OH_AI_STATUS_LITE_OUT_OF_TENSOR_RANGE = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -100), /**< Failed to check range. */ + OH_AI_STATUS_LITE_INPUT_TENSOR_ERROR = + OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -101), /**< Failed to check input tensor. */ + OH_AI_STATUS_LITE_REENTRANT_ERROR = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -102), /**< Exist executor running. */ + + // Graph error code, range: [-200,-300) + OH_AI_STATUS_LITE_GRAPH_FILE_ERROR = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -200), /**< Failed to verify graph file. */ + + // Node error code, range: [-300,-400) + OH_AI_STATUS_LITE_NOT_FIND_OP = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -300), /**< Failed to find operator. */ + OH_AI_STATUS_LITE_INVALID_OP_NAME = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -301), /**< Invalid operator name. */ + OH_AI_STATUS_LITE_INVALID_OP_ATTR = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -302), /**< Invalid operator attr. */ + OH_AI_STATUS_LITE_OP_EXECUTE_FAILURE = + OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -303), /**< Failed to execution operator. */ + + // Tensor error code, range: [-400,-500) + OH_AI_STATUS_LITE_FORMAT_ERROR = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -400), /**< Failed to checking tensor format. */ + + // InferShape error code, range: [-500,-600) + OH_AI_STATUS_LITE_INFER_ERROR = OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -500), /**< Failed to infer shape. */ + OH_AI_STATUS_LITE_INFER_INVALID = + OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -501), /**< Invalid infer shape before runtime. */ + + // User input param error code, range: [-600, 700) + OH_AI_STATUS_LITE_INPUT_PARAM_INVALID = + OH_AI_COMPCODE_LITE | (0x0FFFFFFF & -600), /**< Invalid input param by user. */ +} OH_AI_Status; +#ifdef __cplusplus +} +#endif +#endif // MINDSPORE_INCLUDE_C_API_STATUS_C_H diff --git a/include/sdk_api/tensor.h b/include/sdk_api/tensor.h new file mode 100644 index 00000000..f6ba02cd --- /dev/null +++ b/include/sdk_api/tensor.h @@ -0,0 +1,146 @@ +/** + * Copyright 2021 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_INCLUDE_C_API_TENSOE_C_H +#define MINDSPORE_INCLUDE_C_API_TENSOE_C_H + +#include +#include "mindspore/types.h" +#include "mindspore/data_type.h" +#include "mindspore/format.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void *OH_AI_TensorHandle; + +/// \brief Create a tensor object. +/// +/// \param[in] name The name of the tensor. +/// \param[in] type The data type of the tensor. +/// \param[in] shape The shape of the tensor. +/// \param[in] shape_num The num of the shape. +/// \param[in] data The data pointer that points to allocated memory. +/// \param[in] data_len The length of the memory, in bytes. +/// +/// \return Tensor object handle. +OH_AI_API OH_AI_TensorHandle OH_AI_TensorCreate(const char *name, OH_AI_DataType type, const int64_t *shape, + size_t shape_num, const void *data, size_t data_len); + +/// \brief Destroy the tensor object. +/// +/// \param[in] tensor Tensor object handle address. +OH_AI_API void OH_AI_TensorDestroy(OH_AI_TensorHandle *tensor); + +/// \brief Obtain a deep copy of the tensor. +/// +/// \param[in] tensor Tensor object handle. +/// +/// \return Tensor object handle. +OH_AI_API OH_AI_TensorHandle OH_AI_TensorClone(OH_AI_TensorHandle tensor); + +/// \brief Set the name for the tensor. +/// +/// \param[in] tensor Tensor object handle. +/// \param[in] name The name of the tensor. +OH_AI_API void OH_AI_TensorSetName(OH_AI_TensorHandle tensor, const char *name); + +/// \brief Obtain the name of the tensor. +/// +/// \param[in] tensor Tensor object handle. +/// +/// \return The name of the tensor. +OH_AI_API const char *OH_AI_TensorGetName(const OH_AI_TensorHandle tensor); + +/// \brief Set the data type for the tensor. +/// +/// \param[in] tensor Tensor object handle. +/// \param[in] type The data type of the tensor. +OH_AI_API void OH_AI_TensorSetDataType(OH_AI_TensorHandle tensor, OH_AI_DataType type); + +/// \brief Obtain the data type of the tensor. +/// +/// \param[in] tensor Tensor object handle. +/// +/// \return The date type of the tensor. +OH_AI_API OH_AI_DataType OH_AI_TensorGetDataType(const OH_AI_TensorHandle tensor); + +/// \brief Set the shape for the tensor. +/// +/// \param[in] tensor Tensor object handle. +/// \param[in] shape The shape array. +/// \param[in] shape_num Dimension of shape. +OH_AI_API void OH_AI_TensorSetShape(OH_AI_TensorHandle tensor, const int64_t *shape, size_t shape_num); + +/// \brief Obtain the shape of the tensor. +/// +/// \param[in] tensor Tensor object handle. +/// \param[out] shape_num Dimension of shape. +/// +/// \return The shape array of the tensor. +OH_AI_API const int64_t *OH_AI_TensorGetShape(const OH_AI_TensorHandle tensor, size_t *shape_num); + +/// \brief Set the format for the tensor. +/// +/// \param[in] tensor Tensor object handle. +/// \param[in] format The format of the tensor. +OH_AI_API void OH_AI_TensorSetFormat(OH_AI_TensorHandle tensor, OH_AI_Format format); + +/// \brief Obtain the format of the tensor. +/// +/// \param[in] tensor Tensor object handle. +/// +/// \return The format of the tensor. +OH_AI_API OH_AI_Format OH_AI_TensorGetFormat(const OH_AI_TensorHandle tensor); + +/// \brief Obtain the data for the tensor. +/// +/// \param[in] tensor Tensor object handle. +/// \param[in] data A pointer to the data of the tensor. +OH_AI_API void OH_AI_TensorSetData(OH_AI_TensorHandle tensor, void *data); + +/// \brief Obtain the data pointer of the tensor. +/// +/// \param[in] tensor Tensor object handle. +/// +/// \return The data pointer of the tensor. +OH_AI_API const void *OH_AI_TensorGetData(const OH_AI_TensorHandle tensor); + +/// \brief Obtain the mutable data pointer of the tensor. If the internal data is empty, it will allocate memory. +/// +/// \param[in] tensor Tensor object handle. +/// +/// \return The data pointer of the tensor. +OH_AI_API void *OH_AI_TensorGetMutableData(const OH_AI_TensorHandle tensor); + +/// \brief Obtain the element number of the tensor. +/// +/// \param[in] tensor Tensor object handle. +/// +/// \return The element number of the tensor. +OH_AI_API int64_t OH_AI_TensorGetElementNum(const OH_AI_TensorHandle tensor); + +/// \brief Obtain the data size fo the tensor. +/// +/// \param[in] tensor Tensor object handle. +/// +/// \return The data size of the tensor. +OH_AI_API size_t OH_AI_TensorGetDataSize(const OH_AI_TensorHandle tensor); + +#ifdef __cplusplus +} +#endif +#endif // MINDSPORE_INCLUDE_C_API_TENSOE_C_H diff --git a/include/sdk_api/types.h b/include/sdk_api/types.h new file mode 100644 index 00000000..a39c6daa --- /dev/null +++ b/include/sdk_api/types.h @@ -0,0 +1,50 @@ +/** + * Copyright 2021 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_INCLUDE_C_API_TYPES_C_H +#define MINDSPORE_INCLUDE_C_API_TYPES_C_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef OH_AI_API +#ifdef _WIN32 +#define OH_AI_API __declspec(dllexport) +#else +#define OH_AI_API __attribute__((visibility("default"))) +#endif +#endif + +typedef enum OH_AI_ModelType { + OH_AI_MODELTYPE_MINDIR = 0, + // insert new data type here + OH_AI_MODELTYPE_INVALID = 0xFFFFFFFF +} OH_AI_ModelType; + +typedef enum OH_AI_DeviceType { + OH_AI_DEVICETYPE_CPU = 0, + OH_AI_DEVICETYPE_GPU, + OH_AI_DEVICETYPE_KIRIN_NPU, + // add new type here + // ohos-only device range: [60, 80) + OH_AI_DeviceType_NNRT = 60, + OH_AI_DEVICETYPE_INVALID = 100, +} OH_AI_DeviceType; + +#ifdef __cplusplus +} +#endif +#endif // MINDSPORE_INCLUDE_C_API_TYPES_C_H diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/BUILD.gn b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/BUILD.gn new file mode 100644 index 00000000..a1e7908e --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/BUILD.gn @@ -0,0 +1,885 @@ +# Copyright 2022 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +import("//build/ohos.gni") + +config("nnacl_public_config") { + include_dirs = [ + "../", + "include/", + ] + + configs = [ "../../../../../../lite:disable_android" ] + + defines = [ "MS_COMPILE_OHOS" ] + cflags_c = [ + "-fomit-frame-pointer", + "-fstrict-aliasing", + "-Wno-ignored-qualifiers", + "-Wno-unknown-pragmas" + ] + if (target_cpu == "arm" || target_cpu == "arm64") { + defines += [ + "ENABLE_ARM", + "ENABLE_NEON", + ] + cflags_c += [ "-march=armv8.2-a+dotprod+fp16" ] + if (target_cpu == "arm") { + defines += [ "ENABLE_ARM32" ] + } else if (target_cpu == "arm64") { + defines += [ + "ENABLE_ARM64", + "ENABLE_FP16", + ] + cflags_c += [ "-flax-vector-conversions" ] + } + } else if (target_cpu == "x86_64") { + cflags_c += [ + "-mavx512f", + "-mavx", + "-mavx2", + "-mfma", + "-msse4.1", + "-fPIC", + ] + defines += [ + "ENABLE_SSE", + "ENABLE_AVX", + "ENABLE_AVX512", + ] + } +} + +ohos_source_set("nnacl_obj") { + deps = [ + ":nnacl_common", + ":nnacl_no_fast_math", + ] + part_name = "mindspore" + subsystem_name = "thirdparty" +} + +# list of ${NNACL_DIR}/*.c +common_sources = [ + "./common_func.c", + "./kernel.c", + "./nnacl_common.c", + "./nnacl_utils.c", + "./tensor_c_utils.c", + "./tensorlist_c_utils.c", +] + +# list of ${NNACL_DIR}/kernel/*.c +c_kernel_sources = [ + "kernel/activation.c", + "kernel/addn.c", + "kernel/arg_min_max.c", + "kernel/arithmetic.c", + "kernel/arithmetic_compare.c", + "kernel/arithmetic_self.c", + "kernel/biasadd.c", + "kernel/cast.c", + "kernel/clip.c", + "kernel/concat.c", + "kernel/convolution_1x1.c", + "kernel/convolution_base.c", + "kernel/convolution_delegate.c", + "kernel/convolution_depthwise_3x3.c", + "kernel/convolution_depthwise.c", + "kernel/convolution_depthwise_indirect.c", + "kernel/convolution_depthwise_sw_avx.c", + "kernel/convolution_depthwise_sw.c", + "kernel/convolution_im2col_arm32.c", + "kernel/convolution_im2col_arm64.c", + "kernel/convolution_im2col_avx512.c", + "kernel/convolution_im2col_avx.c", + "kernel/convolution_im2col_base.c", + "kernel/convolution_im2col.c", + "kernel/convolution_im2col_sse.c", + "kernel/convolution_slidewindow.c", + "kernel/convolution_sw_1x1.c", + "kernel/convolution_sw_arm64.c", + "kernel/convolution_sw_avx.c", + "kernel/convolution_winograd_arm32.c", + "kernel/convolution_winograd_arm64.c", + "kernel/convolution_winograd_avx.c", + "kernel/convolution_winograd_base.c", + "kernel/convolution_winograd.c", + "kernel/convolution_winograd_sse.c", + "kernel/crop.c", + "kernel/deconvolution.c", + "kernel/deconvolution_depthwise.c", + "kernel/deconvolution_winograd.c", + "kernel/default_kernel_base.c", + "kernel/exp.c", + "kernel/fill.c", + "kernel/fullconnection.c", + "kernel/gather.c", + "kernel/gather_d.c", + "kernel/group_convolution.c", + "kernel/group_norm.c", + "kernel/init_exec_env.c", + "kernel/init_vs_kernels.c", + "kernel/layer_norm.c", + "kernel/local_response_norm.c", + "kernel/log_softmax.c", + "kernel/matmul_arm32.c", + "kernel/matmul_arm64.c", + "kernel/matmul_avx512.c", + "kernel/matmul_avx.c", + "kernel/matmul_base.c", + "kernel/matmul.c", + "kernel/matmul_create.c", + "kernel/matmul_sse.c", + "kernel/nllloss.c", + "kernel/non_zero.c", + "kernel/one_hot.c", + "kernel/ones_like.c", + "kernel/pad.c", + "kernel/pooling.c", + "kernel/prior_box.c", + "kernel/ragged_range.c", + "kernel/range.c", + "kernel/rank.c", + "kernel/reduce.c", + "kernel/reshape.c", + "kernel/scale.c", + "kernel/shape.c", + "kernel/size.c", + "kernel/softmax.c", + "kernel/splice.c", + "kernel/stack.c", + "kernel/strided_slice.c", + "kernel/tile.c", + "kernel/transpose.c", + "kernel/tril.c", + "kernel/triu.c", + "kernel/unique.c", + "kernel/zeros_like.c", +] + +# list of ${NNACL_DIR}/experimental/*.c +experimental_kernel_sources = [ +] + +# list of ${NNACL_DIR}/base/*.c +base_kernel_sources = [ + "base/arithmetic_base.c", + "base/batch_to_space_base.c", + "base/broadcast_to.c", + "base/cast_base.c", + "base/concat_base.c", + "base/conv1x1_base.c", + "base/conv_common_base.c", + "base/crop_base.c", + "base/depth_to_space_base.c", + "base/fill_base.c", + "base/format_transpose.c", + "base/gather_base.c", + "base/gather_d_base.c", + "base/minimal_filtering_generator.c", + "base/scatter_nd_binary.c", + "base/slice_base.c", + "base/space_to_depth_base.c", + "base/split_base.c", + "base/split_with_over_lap_base.c", + "base/stack_base.c", + "base/tile_base.c", + "base/transpose_base.c", + "base/unsorted_segment_sum_base.c", + "base/unstack_base.c", +] + +# list of ${NNACL_DIR}/fp32/*.c +fp32_kernel_sources = [ + "fp32/activation_fp32.c", + "fp32/adam_fp32.c", + "fp32/adder_fp32.c", + "fp32/add_fp32.c", + "fp32/arg_min_max_fp32.c", + "fp32/arithmetic_compare_fp32.c", + "fp32/arithmetic_fp32.c", + "fp32/arithmetic_self_fp32.c", + "fp32/attention_fp32.c", + "fp32/batchnorm_fp32.c", + "fp32/bce_with_loigts_loss_fp32.c", + "fp32/bias_add.c", + "fp32/cdist_fp32.c", + "fp32/common_func_fp32.c", + "fp32/conv_1x1_avx_fp32.c", + "fp32/conv_common_fp32.c", + "fp32/conv_depthwise_avx_fp32.c", + "fp32/conv_depthwise_fp32.c", + "fp32/conv_im2col_avx512_fp32.c", + "fp32/conv_im2col_fp32.c", + "fp32/conv_sw_arm64_fp32.c", + "fp32/conv_sw_avx_fp32.c", + "fp32/conv_winograd_fp32.c", + "fp32/crop_fp32.c", + "fp32/cumsum_fp32.c", + "fp32/custom_gru_fp32.c", + "fp32/deconv_fp32.c", + "fp32/deconv_winograd_fp32.c", + "fp32/detection_post_process_fp32.c", + "fp32/div_fp32.c", + "fp32/dropout_fp32.c", + "fp32/embedding_lookup_fp32.c", + "fp32/exp_fp32.c", + "fp32/gatherNd_fp32.c", + "fp32/group_norm_fp32.c", + "fp32/gru_fp32.c", + "fp32/instance_norm_fp32.c", + "fp32/invert_permutation_fp32.c", + "fp32/l2_norm_fp32.c", + "fp32/layer_norm_fp32.c", + "fp32/local_response_norm_fp32.c", + "fp32/log_softmax_fp32.c", + "fp32/lstm_fp32.c", + "fp32/matmul_avx512_fp32.c", + "fp32/matmul_avx512_mask_fp32.c", + "fp32/matmul_avx_fp32.c", + "fp32/matmul_fp32.c", + "fp32/mul_fp32.c", + "fp32/nllloss_fp32.c", + "fp32/one_hot_fp32.c", + "fp32/pack_fp32.c", + "fp32/pack_fp32_opt.c", + "fp32/pad_fp32.c", + "fp32/pooling_fp32.c", + "fp32/power_fp32.c", + "fp32/prelu_fp32.c", + "fp32/ragged_range_fp32.c", + "fp32/reduce_fp32.c", + "fp32/resize_fp32.c", + "fp32/reverse_fp32.c", + "fp32/reverse_sequence_fp32.c", + "fp32/rmsprop_fp32.c", + "fp32/roi_pooling_fp32.c", + "fp32/scale_fp32.c", + "fp32/softmax_fp32.c", + "fp32/softmax_grad_fusion_fp32.c", + "fp32/space_to_batch_fp32.c", + "fp32/sparse_to_dense_fp32.c", + "fp32/splice_fp32.c", + "fp32/squared_difference.c", + "fp32/strided_slice_fp32.c", + "fp32/sub_fp32.c", + "fp32/topk_fp32.c", + "fp32/transpose_fp32.c", + "fp32/transpose_server_fp32.c", + "fp32/triu_tril_fp32.c", + "fp32/unique_fp32.c", + "fp32/where_fp32.c", + "fp32/winograd_avx.c", + "fp32/winograd_transform.c", + "fp32/winograd_utils.c", + "fp32/online_fusion/cast_gather_reduce_fp32.c", + "fp32/online_fusion/reduce_concat_fp32.c", + "fp32/online_fusion/split_reduce_concat_fp32.c", +] + +no_fast_math_fp32_kernel_sources = [ + "fp32/resize_fp32.c", +] + +avx512_fp32_kernel_sources = [ + "fp32/matmul_avx512_fp32.c", + "fp32/conv_im2col_avx512_fp32.c", + "fp32/matmul_avx512_mask_fp32.c" +] + +avx_fp32_kernel_sources = [ + "fp32/conv_sw_avx_fp32.c", + "fp32/conv_1x1_avx_fp32.c", + "fp32/matmul_avx_fp32.c", + "fp32/conv_depthwise_avx_fp32.c", +] + +arm64_fp32_kernel_sources = [ + "fp32/conv_sw_arm64_fp32.c", +] + +fp32_sparse_kernel_sources = [ + "fp32_sparse/matmul_sparse_x1_fp32.c", +] + +# list of ${NNACL_DIR}/fp32_grad/*.c +fp32_grad_kernel_sources = [ + "fp32_grad/activation_grad_fp32.c", + "fp32_grad/apply_proximal_adagrad_fp32.c", + "fp32_grad/apply_proximal_gradient_descent_fp32.c", + "fp32_grad/arithmetic_grad.c", + "fp32_grad/batch_norm_grad.c", + "fp32_grad/binary_cross_entropy.c", + "fp32_grad/binary_cross_entropy_grad.c", + "fp32_grad/convolution_grad_filter.c", + "fp32_grad/convolution_grad_input.c", + "fp32_grad/dropout_grad.c", + "fp32_grad/gemm.c", + "fp32_grad/layernorm_grad.c", + "fp32_grad/lstm_grad_fp32.c", + "fp32_grad/maxpool_grad_grad.c", + "fp32_grad/nllloss_grad_fp32.c", + "fp32_grad/pack_ext.c", + "fp32_grad/pooling_grad.c", + "fp32_grad/reduce_grad.c", + "fp32_grad/resize_grad.c", + "fp32_grad/softmax_cross_entropy_with_logits.c", + "fp32_grad/softmax_grad.c", + "fp32_grad/softmax_grad_utils.c", + "fp32_grad/strided_slice_grad.c", +] + +fp16_kernel_sources = [ + "fp16/activation_fp16.c", + "fp16/arg_min_max_fp16.c", + "fp16/arithmetic_fp16.c", + "fp16/arithmetic_self_fp16.c", + "fp16/batchnorm_fp16.c", + "fp16/common_func_fp16.c", + "fp16/conv_depthwise_fp16.c", + "fp16/conv_fp16.c", + "fp16/crop_fp16.c", + "fp16/custom_gru_fp16.c", + "fp16/deconv_fp16.c", + "fp16/deconv_winograd_fp16.c", + "fp16/dynamic_quant_fp16.c", + "fp16/exp_fp16.c", + "fp16/fill_fp16.c", + "fp16/gru_fp16.c", + "fp16/instance_norm_fp16.c", + "fp16/layer_norm_fp16.c", + "fp16/log_softmax_fp16.c", + "fp16/lstm_fp16.c", + "fp16/matmul_fp16.c", + "fp16/matrix_fp16.c", + "fp16/one_hot_fp16.c", + "fp16/pack_fp16.c", + "fp16/pad_fp16.c", + "fp16/pooling_fp16.c", + "fp16/power_fp16.c", + "fp16/prelu_fp16.c", + "fp16/quant_dtype_cast_fp16.c", + "fp16/ragged_range_fp16.c", + "fp16/reduce_fp16.c", + "fp16/resize_fp16.c", + "fp16/scale_fp16.c", + "fp16/softmax_fp16.c", + "fp16/sparse_to_dense_fp16.c", + "fp16/splice_fp16.c", + "fp16/topk_fp16.c", + "fp16/transpose_fp16.c", + "fp16/unique_fp16.c", + "fp16/utils_fp16.c", + "fp16/where_fp16.c", + "fp16/winograd_transform_fp16.c", + "fp16/winograd_utils_fp16.c", + "kernel/f16/arithmetic_compare_f16.c", + "kernel/f16/arithmetic_f16.c", + "kernel/f16/concat_f16.c", + "kernel/f16/reduce_f16.c", + "kernel/f16/stack_f16.c", +] + +fp16_grad_sources = [ + "fp16_grad/activation_grad_fp16.c", + "fp16_grad/arithmetic_grad.c", + "fp16_grad/arithmetic_self_grad.c", + "fp16_grad/batch_norm.c", + "fp16_grad/convolution_grad_filter.c", + "fp16_grad/convolution_grad_input.c", + "fp16_grad/dropout_grad.c", + "fp16_grad/gemm_fp16.c", + "fp16_grad/layernorm_grad.c", + "fp16_grad/pack_fp16_ext.c", + "fp16_grad/pooling_grad.c", + "fp16_grad/resize_grad.c", + "fp16_grad/strided_slice_grad.c", + "fp16_grad/unsorted_segment_sum.c", +] + +int8_kernel_sources = [ + "int8/add_int8.c", + "int8/arg_min_max_int8.c", + "int8/arithmetic_int8.c", + "int8/arithmetic_self_int8.c", + "int8/batchnorm_int8.c", + "int8/batch_to_space_int8.c", + "int8/common_func_int8.c", + "int8/concat_int8.c", + "int8/conv1x1_int8.c", + "int8/conv3x3_int8.c", + "int8/conv_depthwise_int8.c", + "int8/conv_int8.c", + "int8/crop_int8.c", + "int8/deconv_int8.c", + "int8/depth_to_space_int8.c", + "int8/div_int8.c", + "int8/dynamic_gather_int8.c", + "int8/dynamic_matmul_int8.c", + "int8/dynamic_quant_int8.c", + "int8/fixed_point.c", + "int8/gather_int8.c", + "int8/gatherNd_int8.c", + "int8/hswish_int8.c", + "int8/l2_norm_int8.c", + "int8/layer_norm_int8.c", + "int8/leaky_relu_int8.c", + "int8/matmul_int8.c", + "int8/mul_int8.c", + "int8/pack_int8.c", + "int8/pad_int8.c", + "int8/pooling_int8.c", + "int8/power_int8.c", + "int8/quant_dtype_cast_int8.c", + "int8/quantize.c", + "int8/reduce_int8.c", + "int8/relux_int8.c", + "int8/reshape_int8.c", + "int8/resize_int8.c", + "int8/scale_int8.c", + "int8/sigmoid_int8.c", + "int8/slice_int8.c", + "int8/softmax_int8.c", + "int8/space_to_batch_int8.c", + "int8/split_int8.c", + "int8/squeeze_int8.c", + "int8/sub_int8.c", + "int8/tanh_int8.c", + "int8/topk_int8.c", + "int8/transpose_int8.c", + "int8/unsqueeze_int8.c", +] + +# list of ${NNACL_DIR}/infer/*.c +infer_shape_sources = [ + "infer/activation_grad_infer.c", + "infer/adam_infer.c", + "infer/adam_weight_decay_infer.c", + "infer/addn_infer.c", + "infer/add_sub_grad_infer.c", + "infer/affine_infer.c", + "infer/all_gather_infer.c", + "infer/apply_momentum_infer.c", + "infer/argmin_max_infer.c", + "infer/arithmetic_compare_infer.c", + "infer/arithmetic_grad_infer.c", + "infer/arithmetic_infer.c", + "infer/assert_op_infer.c", + "infer/assign_add_infer.c", + "infer/assign_infer.c", + "infer/attention_infer.c", + "infer/audio_spectrogram_infer.c", + "infer/batch_to_space_infer.c", + "infer/bias_grad_infer.c", + "infer/binary_cross_entropy_infer.c", + "infer/bn_grad_infer.c", + "infer/broadcast_to_infer.c", + "infer/cast_gather_reduce_infer.c", + "infer/cast_infer.c", + "infer/common_infer.c", + "infer/concat_infer.c", + "infer/constant_of_shape_infer.c", + "infer/conv2d_grad_filter_infer.c", + "infer/conv2d_grad_input_infer.c", + "infer/conv2d_infer.c", + "infer/crop_and_resize_infer.c", + "infer/crop_infer.c", + "infer/cumsum_infer.c", + "infer/custom_gru_infer.c", + "infer/decoder_layer_infer.c", + "infer/deconv2d_infer.c", + "infer/depth_to_space_infer.c", + "infer/depthwise_conv2d_infer.c", + "infer/detection_post_process_infer.c", + "infer/dropout_grad_infer.c", + "infer/dropout_infer.c", + "infer/dynamic_quant_infer.c", + "infer/embedding_lookup_infer.c", + "infer/encoder_layer_infer.c", + "infer/expand_dims_infer.c", + "infer/fft_imag_infer.c", + "infer/fft_real_infer.c", + "infer/fill_infer.c", + "infer/flatten_grad_infer.c", + "infer/flatten_infer.c", + "infer/format_transpose_infer.c", + "infer/fse_decoder_infer.c", + "infer/full_connection_infer.c", + "infer/fused_batchnorm_infer.c", + "infer/gather_d_infer.c", + "infer/gather_infer.c", + "infer/gather_nd_infer.c", + "infer/glu_infer.c", + "infer/group_conv2d_grad_input_infer.c", + "infer/group_norm_infer.c", + "infer/gru_infer.c", + "infer/infer_register.c", + "infer/instance_norm_infer.c", + "infer/invert_permutation_infer.c", + "infer/isfinite_infer.c", + "infer/layer_norm_grad_infer.c", + "infer/layer_norm_infer.c", + "infer/lin_space_infer.c", + "infer/log_softmax_infer.c", + "infer/lstm_grad_data_infer.c", + "infer/lstm_grad_infer.c", + "infer/lstm_grad_weight_infer.c", + "infer/lstm_infer.c", + "infer/matmul_infer.c", + "infer/max_min_grad_infer.c", + "infer/mfcc_infer.c", + "infer/nllloss_grad_infer.c", + "infer/nllloss_infer.c", + "infer/non_max_suppression_infer.c", + "infer/one_hot_infer.c", + "infer/pad_infer.c", + "infer/partial_infer.c", + "infer/pooling_grad_infer.c", + "infer/pooling_infer.c", + "infer/power_infer.c", + "infer/prior_box_infer.c", + "infer/quant_dtype_cast_infer.c", + "infer/ragged_range_infer.c", + "infer/random_normal_infer.c", + "infer/random_standard_normal_infer.c", + "infer/range_infer.c", + "infer/rank_infer.c", + "infer/reduce_concat_infer.c", + "infer/reduce_infer.c", + "infer/reduce_scatter_infer.c", + "infer/reshape_infer.c", + "infer/resize_grad_infer.c", + "infer/resize_infer.c", + "infer/rfft_infer.c", + "infer/roi_pooling_infer.c", + "infer/scatter_nd_infer.c", + "infer/scatter_nd_update_infer.c", + "infer/select_infer.c", + "infer/sgd_infer.c", + "infer/shape_fusion_infer.c", + "infer/shape_infer.c", + "infer/size_infer.c", + "infer/slice_infer.c", + "infer/softmax_cross_entropy_infer.c", + "infer/softmax_infer.c", + "infer/space_to_batch_infer.c", + "infer/space_to_batch_nd_infer.c", + "infer/space_to_depth_infer.c", + "infer/sparse_fill_empty_rows_infer.c", + "infer/sparse_reshape_infer.c", + "infer/sparse_segment_sum_infer.c", + "infer/sparse_softmax_cross_entropy_with_logits_infer.c", + "infer/sparse_to_dense_infer.c", + "infer/splice_infer.c", + "infer/split_infer.c", + "infer/split_reduce_concat_infer.c", + "infer/split_with_over_lap_infer.c", + "infer/squeeze_infer.c", + "infer/stack_infer.c", + "infer/strided_slice_grad_infer.c", + "infer/strided_slice_infer.c", + "infer/tile_infer.c", + "infer/topk_infer.c", + "infer/transpose_infer.c", + "infer/triu_tril_infer.c", + "infer/uniform_real_infer.c", + "infer/unique_infer.c", + "infer/unsorted_segment_sum_infer.c", + "infer/unsqueeze_infer.c", + "infer/unstack_infer.c", + "infer/where_infer.c", +] + +infer_string_sources = [ + "infer/string/custom_extract_features_infer.c", + "infer/string/custom_normalize_infer.c", + "infer/string/custom_predict_infer.c", + "infer/string/hashtable_lookup_infer.c", + "infer/string/lsh_projection_infer.c", + "infer/string/skip_gram_infer.c", +] + +infer_control_sources = [ + "infer/control/tensor_array_infer.c", + "infer/control/tensor_array_read_infer.c", + "infer/control/tensor_array_write_infer.c", + "infer/control/tensorlist_fromtensor_infer.c", + "infer/control/tensorlist_getitem_infer.c", + "infer/control/tensorlist_reserve_infer.c", + "infer/control/tensorlist_setitem_infer.c", + "infer/control/tensorlist_stack_infer.c", +] + +arm64_assembly_sources = [ + "assembly/arm64/AdderFp32.S", + "assembly/arm64/BigMatmulFp32Opt.S", + "assembly/arm64/ConvDw3x3Fp32Corner.S", + "assembly/arm64/ConvDw3x3Fp32Horizontal.S", + "assembly/arm64/ConvDw3x3Fp32Stride1.S", + "assembly/arm64/ConvDw3x3Fp32Stride2.S", + "assembly/arm64/ConvDw3x3Fp32Vertical.S", + "assembly/arm64/ConvDw3x3Int8Corner.S", + "assembly/arm64/ConvDw3x3Int8Horizontal.S", + "assembly/arm64/ConvDw3x3Int8.S", + "assembly/arm64/ConvDw3x3Int8Stride2.S", + "assembly/arm64/ConvDw3x3Int8Vertical.S", + "assembly/arm64/ConvDw3x3Line.S", + "assembly/arm64/ConvDwFp32Border.S", + "assembly/arm64/ConvDwFp32Center.S", + "assembly/arm64/ConvDwFp32Indirect3x3.S", + "assembly/arm64/ConvDwFp32Indirect5x5.S", + "assembly/arm64/ConvDwFp32Row.S", + "assembly/arm64/ConvDwInt8Center.S", + "assembly/arm64/ConvDwInt8PostAlign4PerChannel.S", + "assembly/arm64/ConvDwInt8PostAlign4.S", + "assembly/arm64/ConvDwInt8Row.S", + "assembly/arm64/ConvFp32Center.S", + "assembly/arm64/ConvSW1x16Kernel.S", + "assembly/arm64/ConvSW1x8Kernel.S", + "assembly/arm64/ConvSW2x16Kernel.S", + "assembly/arm64/ConvSW2x8Kernel.S", + "assembly/arm64/ConvSW3x16Kernel.S", + "assembly/arm64/ConvSW3x8Kernel.S", + "assembly/arm64/ConvSW4x16Kernel.S", + "assembly/arm64/ConvSW4x8Kernel.S", + "assembly/arm64/ConvSW5x16Kernel.S", + "assembly/arm64/ConvSW5x8Kernel.S", + "assembly/arm64/DeconvDwFp32Border.S", + "assembly/arm64/DeconvDwFp32Center.S", + "assembly/arm64/DeconvDwInt8Center.S", + "assembly/arm64/DeconvDwInt8Post.S", + "assembly/arm64/DynamicGatherArm64.S", + "assembly/arm64/IndirectGemmInt16to32_8x4.S", + "assembly/arm64/MatmulFp32OptRow12.S", + "assembly/arm64/MatmulFp32OptRow4.S", + "assembly/arm64/MatmulFp32OptRow8.S", + "assembly/arm64/MatmulFp32Opt.S", + "assembly/arm64/MatmulFp32.S", + "assembly/arm64/MatmulInt8Opt.S", + "assembly/arm64/MatmulInt8.S", + "assembly/arm64/MatmulR4Int8.S", + "assembly/arm64/MatmulWinogradFp32.S", + "assembly/arm64/MatVecMulFp32.S", + "assembly/arm64/MatVecMulPackFp32.S", + "assembly/arm64/PostFuncBiasReluC4.S", + "assembly/arm64/PostFuncBiasReluC8.S", + "assembly/arm64/PostFuncInt8C4Neon64.S", + "assembly/arm64/PreSum4x16Int8Peroc.S", + "assembly/arm64/PreSum4x16Int8Pert.S", + "assembly/arm64/SPMM8x8Fp32.S", + "assembly/arm64/TiledC4MatmulFp32.S", + "assembly/arm64/WinogradTransLeft.S", + "assembly/arm64/WinogradTransRight.S", +] + +arm32_assembly_sources = [ + "assembly/arm32/ConvDw3x3Int8BorderPixel.S", + "assembly/arm32/ConvDwFp32Border.S", + "assembly/arm32/ConvDwFp32Center.S", + "assembly/arm32/ConvDwFp32Row.S", + "assembly/arm32/ConvDwInt8Center.S", + "assembly/arm32/ConvDwInt8PostAlign4PerChannel.S", + "assembly/arm32/ConvDwInt8PostAlign4.S", + "assembly/arm32/ConvDwInt8Row.S", + "assembly/arm32/DeconvDwFp32Center.S", + "assembly/arm32/DeconvDwInt8Center.S", + "assembly/arm32/DeconvDwInt8Post.S", + "assembly/arm32/IndirectGemmInt16to32_8x4.S", + "assembly/arm32/IndirectGemmInt8_2x4.S", + "assembly/arm32/MatmulFp32Opt12x4.S", + "assembly/arm32/MatmulFp32Opt.S", + "assembly/arm32/MatmulFp32.S", + "assembly/arm32/MatmulInt8Opt.S", + "assembly/arm32/MatmulInt8.S", + "assembly/arm32/MatmulWinogradFp32.S", + "assembly/arm32/MatVecMulFp32.S", + "assembly/arm32/PostFuncBiasReluC4.S", + "assembly/arm32/PostFuncBiasReluC8.S", + "assembly/arm32/PreSum4x16Int8Peroc.S", + "assembly/arm32/PreSum4x16Int8Pert.S", + "assembly/arm32/TiledC4MatmulFp32.S", + "assembly/arm32/WinogradTransLeft.S", + "assembly/arm32/WinogradTransRight.S", +] + +fp16_assembly_sources = [ + "assembly/fp16/CalculateMinMaxFp16Count8.S", + "assembly/fp16/ConvDwFp16Border.S", + "assembly/fp16/ConvDwFp16Center.S", + "assembly/fp16/ConvDwFp16Row.S", + "assembly/fp16/DeconvDwFp16Border.S", + "assembly/fp16/DeconvDwFp16Center.S", + "assembly/fp16/DynamicGatherArm64ForFp16.S", + "assembly/fp16/Float16ToFloat32.S", + "assembly/fp16/Float32ToFloat16.S", + "assembly/fp16/Matmul12X16Fp16.S", + "assembly/fp16/MatmulBaseFp16Neon.S", + "assembly/fp16/MatmulFp16Opt.S", + "assembly/fp16/MatmulFp16.S", + "assembly/fp16/MatmulWinogradFp16.S", + "assembly/fp16/MatVecMulFp16.S", + "assembly/fp16/PostFuncBiasReluC4Fp16.S", + "assembly/fp16/PostFuncBiasReluC8Fp16.S", + "assembly/fp16/TiledC4MatmulFp16.S", + "assembly/fp16/VecMatmulFp16.S", + "assembly/fp16/WinogradTransLeftFp16.S", + "assembly/fp16/WinogradTransRightFp16.S", +] + +optimizing_assembly_sources = [ + "assembly/opt/DynamicMatmulSdot4x4x16AIWIForFp16.S", + "assembly/opt/DynamicMatmulSdot4x4x16AIWI.S", + "assembly/opt/MatmulDpInt8Opt.S", + "assembly/opt/MatmulDpInt8.S", + "assembly/opt/MatmulOptR4Int8.S", +] + +sse_avx_avx512_sources = [ + "intrinsics/avx/DeconvMatMulAvx.c", + "intrinsics/avx/PostFuncBiasReluC8.c", + "intrinsics/avx/TiledC8MatMulFp32.c", + "intrinsics/avx/WinogradPostFuncBiasReluC8.c", + "intrinsics/avx/WinogradTransAvx.c", + "intrinsics/avx/common_utils.c", + "intrinsics/ms_simd_cpu_info.c", + "intrinsics/sse/ConvDwFp32IndirectRow.c", + "intrinsics/sse/ConvDwFp32Row_sse.c", + "intrinsics/sse/DepthwiseFp32_Sse.c", + "intrinsics/sse/MatMul_Sse.c", + "intrinsics/sse/PostFuncBiasReluC8.c", + "intrinsics/sse/TiledC4MatMulFp32.c", + "intrinsics/sse/WinogradPostFuncBiasReluC4.c", + "intrinsics/sse/WinogradTrans.c", + "assembly/avx/ConvDwFp32Avx3x3.S", + "assembly/avx/ConvDwFp32BorderAvx.S", + "assembly/avx/ConvDwFp32RowAvx.S", + "assembly/avx/ConvDwFp32RowOptAVX.S", + "assembly/avx/MatmulAvx.S", +] + +gemm_avx512_kernel_sources = [ + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_10x16_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_10x32_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_11x16_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_11x32_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_12x16_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_12x32_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_1x16_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_1x32_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_1x48_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_1x64_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_1x80_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_1x96_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_2x16_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_2x32_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_2x48_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_2x64_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_2x80_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_2x96_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_3x16_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_3x32_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_3x48_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_3x64_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_3x80_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_3x96_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_4x16_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_4x32_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_4x48_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_4x64_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_4x80_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_4x96_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_5x16_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_5x32_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_5x48_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_5x64_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_5x80_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_6x16_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_6x32_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_6x48_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_6x64_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_7x16_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_7x32_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_7x48_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_8x16_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_8x32_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_8x48_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_9x16_kernel_nhwc_fp32.c", + "experimental/HPC-generator/gemm_avx512/nnacl_gemm_avx512_9x32_kernel_nhwc_fp32.c", +] + +fp32_kernel_sources -= no_fast_math_fp32_kernel_sources +fp32_kernel_sources -= avx_fp32_kernel_sources +fp32_kernel_sources -= avx512_fp32_kernel_sources +fp32_kernel_sources -= arm64_fp32_kernel_sources + +# source files on all target +nnacl_sources = common_sources +nnacl_sources += base_kernel_sources +nnacl_sources += c_kernel_sources +nnacl_sources += experimental_kernel_sources +nnacl_sources += fp32_kernel_sources +nnacl_sources += fp32_sparse_kernel_sources +nnacl_sources += fp32_grad_kernel_sources +nnacl_sources += int8_kernel_sources +nnacl_sources += infer_shape_sources +nnacl_sources += infer_string_sources +nnacl_sources += infer_control_sources + +# source files on arm32 +arm_only_sources = arm32_assembly_sources + +# source files on arm64 +arm64_only_sources = fp16_kernel_sources +arm64_only_sources += fp16_grad_sources +arm64_only_sources += fp16_assembly_sources +arm64_only_sources += arm64_assembly_sources +arm64_only_sources += optimizing_assembly_sources +arm64_only_sources += arm64_fp32_kernel_sources + +# sources files on x86_64 +x86_64_only_sources = sse_avx_avx512_sources +x86_64_only_sources += avx_fp32_kernel_sources +x86_64_only_sources += avx512_fp32_kernel_sources +x86_64_only_sources += gemm_avx512_kernel_sources + +if (target_cpu == "arm") { + nnacl_sources += arm_only_sources + not_needed(arm64_only_sources) + not_needed(x86_64_only_sources) +} else if (target_cpu == "arm64") { + nnacl_sources += arm64_only_sources + not_needed(arm_only_sources) + not_needed(x86_64_only_sources) +} else if (target_cpu == "x86_64") { + nnacl_sources += x86_64_only_sources + not_needed(arm_only_sources) + not_needed(arm64_only_sources) +} + +ohos_source_set("nnacl_common") { + configs = [ ":nnacl_public_config" ] + cflags_c = [ "-ffast-math" ] + sources = nnacl_sources + part_name = "mindspore" + subsystem_name = "thirdparty" +} + +ohos_source_set("nnacl_no_fast_math") { + configs = [ ":nnacl_public_config" ] + cflags_c = [ "-fno-fast-math" ] + sources = no_fast_math_fp32_kernel_sources + part_name = "mindspore" + subsystem_name = "thirdparty" +} diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/fp16_grad/activation_grad_fp16.c b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/fp16_grad/activation_grad_fp16.c index 11499071..ad32339a 100644 --- a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/fp16_grad/activation_grad_fp16.c +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/fp16_grad/activation_grad_fp16.c @@ -131,7 +131,7 @@ int EluFp16Grad(const float16_t *src0, const float16_t *src1, int length, float1 uint16x4_t mask_4 = vcgt_f16(src1_4, zero_4); float32x4_t tmp; simd_exp128(vcvt_f32_f16(src1_4), (float *)&tmp); - uint16x4_t expm1_4 = vsub_f16(vcvt_f16_f32(tmp), one_4); + float16x4_t expm1_4 = vsub_f16(vcvt_f16_f32(tmp), one_4); float16x4_t dst_4 = vbsl_f16(mask_4, src0_4, vmul_f16(alpha_4, vmul_f16(expm1_4, src0_4))); vst1_f16(dst + i, dst_4); } diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/activation_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/activation_fp32_simd.h new file mode 100644 index 00000000..843733ff --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/activation_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_ACTIVATION_FP32_SIMD_H_ +#define NNACL_ACTIVATION_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/activation_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/activation_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/activation_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/activation_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/activation_grad_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/activation_grad_simd.h new file mode 100644 index 00000000..c4b9d684 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/activation_grad_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_ACTIVATION_GRAD_SIMD_H_ +#define NNACL_ACTIVATION_GRAD_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/activation_grad_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/activation_grad_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/activation_grad_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/activation_grad_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/adam_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/adam_fp32_simd.h new file mode 100644 index 00000000..1c7f107a --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/adam_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_ADAM_FP32_SIMD_H_ +#define NNACL_ADAM_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/adam_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/adam_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/adam_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/adam_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/add_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/add_fp32_simd.h new file mode 100644 index 00000000..46970d78 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/add_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_ADD_FP32_SIMD_H_ +#define NNACL_ADD_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/add_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/add_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/add_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/add_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/apply_proximal_adagrad_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/apply_proximal_adagrad_fp32_simd.h new file mode 100644 index 00000000..749c8dc2 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/apply_proximal_adagrad_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_APPLY_PROXIMAL_ADAGRAD_FP32_SIMD_H_ +#define NNACL_APPLY_PROXIMAL_ADAGRAD_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/apply_proximal_adagrad_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/apply_proximal_adagrad_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/apply_proximal_adagrad_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/apply_proximal_adagrad_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/apply_proximal_gradient_descent_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/apply_proximal_gradient_descent_fp32_simd.h new file mode 100644 index 00000000..3d3fe4dc --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/apply_proximal_gradient_descent_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_APPLY_PROXIMAL_GRADIENT_DESCENT_FP32_SIMD_H_ +#define NNACL_APPLY_PROXIMAL_GRADIENT_DESCENT_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/apply_proximal_gradient_descent_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/apply_proximal_gradient_descent_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/apply_proximal_gradient_descent_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/apply_proximal_gradient_descent_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/arithmetic_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/arithmetic_fp32_simd.h new file mode 100644 index 00000000..4d9bcb5b --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/arithmetic_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_ARITHMETIC_FP32_SIMD_H_ +#define NNACL_ARITHMETIC_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/arithmetic_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/arithmetic_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/arithmetic_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/arithmetic_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/arithmetic_self_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/arithmetic_self_fp32_simd.h new file mode 100644 index 00000000..00c2a2e8 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/arithmetic_self_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_ARITHMETIC_SELF_FP32_SIMD_H_ +#define NNACL_ARITHMETIC_SELF_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/arithmetic_self_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/arithmetic_self_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/arithmetic_self_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/arithmetic_self_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/activation_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/activation_fp32_avx.h new file mode 100644 index 00000000..bd92d0ce --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/activation_fp32_avx.h @@ -0,0 +1,285 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_FP32_ACTIVATION_AVX_H_ +#define MINDSPORE_NNACL_FP32_ACTIVATION_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int Fp32ReluAVX(int index, const float *src, int length, float *dst) { + SIMD_F32 zero = SIMD_SET0_F32; + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_MAX_F32(SIMD_LD_F32(src + index), zero)); + } + return index; +} + +static inline int Int32ReluAVX(int index, const int32_t *src, int length, int32_t *dst) { + SIMD_EPI32 zero = SIMD_MOV_EPI32(0.0f); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(dst + index, SIMD_MAX_EPI32(SIMD_LD_EPI32(src + index), zero)); + } + return index; +} + +static inline int Fp32Relu6AVX(int index, const float *src, int length, float *dst) { + SIMD_F32 zero = SIMD_SET0_F32; + SIMD_F32 six = SIMD_MOV_F32(6.0f); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_CLAMP_F32(SIMD_LD_F32(src + index), zero, six)); + } + return index; +} + +static inline int Fp32ClipAVX(int index, const float *src, int length, float *dst, float min, float max) { + SIMD_F32 min_val = SIMD_MOV_F32(min); + SIMD_F32 max_val = SIMD_MOV_F32(max); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_CLAMP_F32(SIMD_LD_F32(src + index), min_val, max_val)); + } + return index; +} + +static inline int Int32ClipAVX(int index, const int32_t *src, int length, int32_t *dst, int min, int max) { + SIMD_EPI32 min_val = SIMD_MOV_EPI32(min); + SIMD_EPI32 max_val = SIMD_MOV_EPI32(max); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(dst + index, SIMD_CLAMP_EPI32(SIMD_LD_EPI32(src + index), min_val, max_val)); + } + return index; +} + +static inline int LReluAVX(int index, const float *src, int length, float *dst, float alpha) { + SIMD_F32 alpha_data = SIMD_MOV_F32(alpha); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_tmp = SIMD_LD_F32(src + index); + SIMD_MASK mask = SIMD_CMPGT_F32(SIMD_SET0_F32, src_tmp); + SIMD_ST_F32(dst + index, SIMD_BLEND_F32(src_tmp, SIMD_MUL_F32(src_tmp, alpha_data), mask)); + } + return index; +} + +static inline int SigmoidAVX(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EXP_ST_F32(SIMD_SUB_F32(SIMD_SET0_F32, (SIMD_LD_F32(src + index))), dst + index); + SIMD_ST_F32(dst + index, + SIMD_DIV_F32(SIMD_MOV_F32(1.0f), SIMD_ADD_F32(SIMD_MOV_F32(1.0f), SIMD_LD_F32(dst + index)))); + } + return index; +} + +static inline int TanhAVX(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_LD_F32(src + index); + SIMD_ST_F32(dst + index, SIMD_TANH_F32(input)); + } + return index; +} + +static inline int SwishAVX(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_value = SIMD_LD_F32(src + index); + SIMD_EXP_ST_F32(SIMD_SUB_F32(SIMD_SET0_F32, src_value), dst + index); + SIMD_ST_F32(dst + index, + SIMD_DIV_F32(src_value, SIMD_ADD_F32(SIMD_MOV_F32(1.0f), SIMD_LD_F32(dst + index)))); + } + return index; +} + +static inline int HSwishAVX(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_value = SIMD_LD_F32(src + index); + SIMD_F32 relu6 = SIMD_CLAMP_N_F32(SIMD_ADD_N_F32(src_value, 3), 0, 6); + SIMD_ST_F32(dst + index, SIMD_DIV_N_F32(SIMD_MUL_F32(src_value, relu6), 6)); + } + return index; +} + +static inline int HSigmoidAVX(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_value = SIMD_LD_F32(src + index); + SIMD_F32 relu6 = SIMD_CLAMP_N_F32(SIMD_ADD_N_F32(src_value, 3), 0, 6); + SIMD_ST_F32(dst + index, SIMD_DIV_N_F32(relu6, 6)); + } + return index; +} + +static inline int HardTanhNoLimitMinAVX(int index, const float *src, int length, float *dst, float min_val, + float max_val) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_MIN_N_F32(SIMD_LD_F32(src + index), max_val)); + } + return index; +} + +static inline int HardTanhNoLimitMaxAVX(int index, const float *src, int length, float *dst, float min_val, + float max_val) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_MAX_N_F32(SIMD_LD_F32(src + index), min_val)); + } + return index; +} + +static inline int HardTanhLimitMinMaxAVX(int index, const float *src, int length, float *dst, float min_val, + float max_val) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_CLAMP_N_F32(SIMD_LD_F32(src + index), min_val, max_val)); + } + return index; +} + +static inline int GeluTanhApproximateAVX(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in = SIMD_LD_F32(src + index); + SIMD_F32 tmp1 = SIMD_FMADD_F32(SIMD_MUL_N_F32(in, 0.035677408136f), in, SIMD_MOV_F32(0.79788456080287f)); + SIMD_F32 tmp2 = SIMD_MUL_F32(tmp1, in); + SIMD_ST_F32(dst + index, SIMD_MUL_F32(SIMD_MUL_N_F32(in, 0.5f), SIMD_ADD_N_F32(SIMD_TANH_F32(tmp2), 1.0f))); + } + return index; +} + +static inline int GeluAVX(int index, const float *src, int length, float *dst) { + SIMD_F32 para1 = SIMD_MOV_F32(1.4142135623730951f); + SIMD_F32 para2 = SIMD_MOV_F32(1.0f); + SIMD_F32 para3 = SIMD_MOV_F32(0.5f); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in = SIMD_LD_F32(src + index); + SIMD_F32 res = SIMD_MUL_F32(SIMD_MUL_F32(para3, in), SIMD_ADD_F32(para2, SIMD_ERF_F32(SIMD_DIV_F32(in, para1)))); + SIMD_ST_F32(dst + index, res); + } + return index; +} + +static inline SIMD_F32 SIMD_ERFCCHEBAVX(SIMD_F32 src) { + static const int ncof = 7; + const double cof[7] = {-1.3026537197817094, 6.4196979235649026e-1, 1.9476473204185836e-2, -9.561514786808631e-3, + -9.46595344482036e-4, 3.66839497852761e-4, 4.2523324806907e-5}; + SIMD_F32 dst; + SIMD_F32 d = SIMD_SET0_F32; + SIMD_F32 dd = SIMD_SET0_F32; + SIMD_F32 t = SIMD_DIV_F32(SIMD_MOV_F32(2.0f), SIMD_ADD_F32(src, SIMD_MOV_F32(2.0f))); + SIMD_F32 ty = SIMD_SUB_F32(SIMD_MUL_F32(SIMD_MOV_F32(4.0f), t), SIMD_MOV_F32(2.0f)); + + for (int j = ncof - 1; j > 0; j--) { + SIMD_F32 tmp = d; + d = SIMD_SUB_F32(SIMD_FMADD_F32(ty, d, SIMD_MOV_F32(cof[j])), dd); + dd = tmp; + } + + dst = + SIMD_FMADD_F32(src, src, MS_FSMUL_F32(dd, SIMD_FMADD_F32(ty, d, SIMD_MOV_F32(cof[0])), SIMD_MOV_F32(0.5f))); + dst = SIMD_MUL_F32(t, SIMD_EXP_F32(SIMD_MUL_F32(SIMD_MOV_F32(-1.0f), dst))); + return dst; +} + +static inline SIMD_F32 SIMD_ERF_APPROXIMATEAVX(SIMD_F32 src) { + SIMD_F32 abs_src = SIMD_ABS_F32(src); + SIMD_F32 sign = SIMD_GETSIGN_F32(src); + SIMD_F32 dst = SIMD_ERFCCHEBAVX(abs_src); + return SIMD_MUL_F32(sign, SIMD_SUB_F32(SIMD_MOV_F32(1.0f), dst)); +} + +static inline int GeluErfAPPROXIMATEAVX(int index, const float *src, int length, float *dst) { + SIMD_F32 para1 = SIMD_MOV_F32(1.4142135623730951f); + SIMD_F32 para2 = SIMD_MOV_F32(1.0f); + SIMD_F32 para3 = SIMD_MOV_F32(0.5f); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in = SIMD_LD_F32(src + index); + SIMD_F32 res = SIMD_MUL_F32(SIMD_MUL_F32(para3, in), SIMD_ADD_F32(para2, SIMD_ERF_APPROXIMATEAVX(SIMD_DIV_F32(in, para1)))); + SIMD_ST_F32(dst + index, res); + } + return index; +} + +static inline int EluAVX(int index, const float *src, int length, float *dst, float alpha) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_tmp = SIMD_LD_F32(src + index); + SIMD_F32 exp_tmp = SIMD_SUB_N_F32(SIMD_EXP_F32(src_tmp), 1.0f); + SIMD_MASK mask = SIMD_CMPLE_F32(src_tmp, SIMD_SET0_F32); + SIMD_ST_F32(dst + index, SIMD_BLEND_F32(src_tmp, SIMD_MUL_N_F32(exp_tmp, alpha), mask)); + } + return index; +} + +static inline int CeluAVX(int index, const float *src, int length, float *dst, float alpha) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_tmp = SIMD_LD_F32(src + index); + SIMD_F32 exp_tmp = SIMD_SUB_N_F32(SIMD_EXP_F32(SIMD_DIV_N_F32(src_tmp, alpha)), 1.0f); + SIMD_MASK mask = SIMD_CMPLE_F32(src_tmp, SIMD_SET0_F32); + SIMD_ST_F32(dst + index, SIMD_BLEND_F32(src_tmp, SIMD_MUL_N_F32(exp_tmp, alpha), mask)); + } + return index; +} + +static inline int HardShrinkAVX(int index, const float *src, int length, float *dst, float lambd) { + SIMD_F32 pos_lamdb_v = SIMD_MOV_F32(lambd); + SIMD_F32 neg_lamdb_v = SIMD_MOV_F32(-lambd); + + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_t = SIMD_LD_F32(src + index); + /* v0 = (in > lamdb) & in */ + SIMD_F32 value0 = SIMD_AND_MASK_F32(SIMD_CMPGT_F32(src_t, pos_lamdb_v), src_t); + /* v1 = (in < -lamdb) & in */ + SIMD_F32 value1 = SIMD_AND_MASK_F32(SIMD_CMPLT_F32(src_t, neg_lamdb_v), src_t); + /* out = (v0 | v1) */ + SIMD_ST_F32(dst + index, SIMD_OR_F32(value0, value1)); + } + return index; +} + +static inline int SoftShrinkAVX(int index, const float *src, int length, float *dst, float lambd) { + SIMD_F32 pos_lamdb_v = SIMD_MOV_F32(lambd); + SIMD_F32 neg_lamdb_v = SIMD_MOV_F32(-lambd); + + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_t = SIMD_LD_F32(src + index); + /* v0 = (in > lamdb) & (in - lamdb) */ + SIMD_F32 value0 = SIMD_AND_MASK_F32(SIMD_CMPGT_F32(src_t, pos_lamdb_v), SIMD_SUB_F32(src_t, pos_lamdb_v)); + /* v1 = (in < -lamdb) & (in + lamdb) */ + SIMD_F32 value1 = SIMD_AND_MASK_F32(SIMD_CMPLT_F32(src_t, neg_lamdb_v), SIMD_ADD_F32(src_t, pos_lamdb_v)); + /* out = (v0 | v1) */ + SIMD_ST_F32(dst + index, SIMD_OR_F32(value0, value1)); + } + return index; +} + +static inline int SoftsignFp32OptAVX(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_tmp = SIMD_LD_F32(src + index); + SIMD_F32 divisor_tmp = SIMD_ADD_F32(SIMD_MOV_F32(1.0f), SIMD_ABS_F32(src_tmp)); + SIMD_ST_F32(dst + index, SIMD_DIV_F32(src_tmp, divisor_tmp)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/activation_grad_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/activation_grad_avx.h new file mode 100644 index 00000000..f3c0b393 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/activation_grad_avx.h @@ -0,0 +1,57 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef NNACL_FP32_GRAD_ACTIVATION_GRAD_AVX_H_ +#define NNACL_FP32_GRAD_ACTIVATION_GRAD_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int ShrinkGradAVX(int index, const float *src0, const float *src1, + int length, float *dst, float lambd) { + SIMD_F32 pos_lamdb_v = SIMD_MOV_F32(lambd); + SIMD_F32 neg_lamdb_v = SIMD_MOV_F32(-lambd); + + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src0_t = SIMD_LD_F32(src0 + index); + SIMD_F32 src1_t = SIMD_LD_F32(src1 + index); + + SIMD_MASK mask0 = SIMD_CMPLE_F32(src1_t, pos_lamdb_v); + SIMD_MASK mask1 = SIMD_CMPLE_F32(neg_lamdb_v, src1_t); + SIMD_MASK mask = SIMD_AND_MASK(mask0, mask1); + + SIMD_ST_F32(dst + index, SIMD_BLEND_F32(src0_t, SIMD_MOV_F32(0.0f), mask)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/adam_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/adam_fp32_avx.h new file mode 100644 index 00000000..54743d80 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/adam_fp32_avx.h @@ -0,0 +1,210 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_ADAM_FP32_AVX_H_ +#define MINDSPORE_NNACL_FP32_ADAM_FP32_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX +#ifdef MS_SIMD_AVX512 + static inline size_t AdamWeightDecayFp32AVX(size_t index, float *var, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + const float *gradient, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_LD_F32(var + index); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_LD_F32(gradient + index); + + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + SIMD_ST_F32(var + index, var_r); + } + + return index; +} + +static inline size_t FusedCastAdamFp32Fp16AVX(size_t index, float *var, const int16_t *gradient16, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + float global_norm_reciprocal, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + SIMD_F32 global_norm_reciprocal_r = SIMD_MOV_F32(global_norm_reciprocal); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_LD_F32(var + index); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_F16_TO_F32(SIMD_LD_HALF_EPI32(gradient16 + index)); + + g_r = SIMD_MUL_F32(g_r, global_norm_reciprocal_r); + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(var + index, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + } + + return index; +} + +static inline size_t FusedCastAdamFp32Fp32AVX(size_t index, float *var, const float *gradient32, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + float global_norm_reciprocal, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + SIMD_F32 global_norm_reciprocal_r = SIMD_MOV_F32(global_norm_reciprocal); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_LD_F32(var + index); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_LD_F32(gradient32 + index); + + g_r = SIMD_MUL_F32(g_r, global_norm_reciprocal_r); + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(var + index, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + } + + return index; +} + +static inline size_t FusedCastAdamFp16Fp16AVX(size_t index, int16_t *var16, const int16_t *gradient16, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + float global_norm_reciprocal, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + SIMD_F32 global_norm_reciprocal_r = SIMD_MOV_F32(global_norm_reciprocal); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_F16_TO_F32(SIMD_LD_HALF_EPI32(var16)); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_F16_TO_F32(SIMD_LD_HALF_EPI32(gradient16 + index)); + g_r = SIMD_MUL_F32(g_r, global_norm_reciprocal_r); + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + SIMD_ST_HALF_EPI32(var16 + index, SIMD_F32_TO_F16(var_r, 0)); + } + + return index; +} + +static inline size_t FusedCastAdamFp16Fp32AVX(size_t index, int16_t *var16, const float *gradient32, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + float global_norm_reciprocal, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + SIMD_F32 global_norm_reciprocal_r = SIMD_MOV_F32(global_norm_reciprocal); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_F16_TO_F32(SIMD_LD_HALF_EPI32(var16)); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_LD_F32(gradient32 + index); + g_r = SIMD_MUL_F32(g_r, global_norm_reciprocal_r); + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + SIMD_ST_HALF_EPI32(var16 + index, SIMD_F32_TO_F16(var_r, 0)); + } + + return index; +} +#endif + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/add_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/add_fp32_avx.h new file mode 100644 index 00000000..f228644a --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/add_fp32_avx.h @@ -0,0 +1,124 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_ADD_AVX_H_ +#define MINDSPORE_NNACL_FP32_ADD_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int ElementOptAddAVX(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin0_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_ADD_F32(vin0_, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptAddIntAVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, + int size) { + SIMD_EPI32 vin0_ = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_ADD_EPI32(vin0_, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptAddReluAVX(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_ADD_F32(vin0_, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptAddRelu6AVX(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_ADD_F32(vin0_, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementAddAVX(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_ADD_F32(vin0, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementAddReluAVX(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_ADD_F32(vin0, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementAddRelu6AVX(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_ADD_F32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementAddIntAVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_ADD_EPI32(vin0, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/apply_proximal_adagrad_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/apply_proximal_adagrad_fp32_avx.h new file mode 100644 index 00000000..619e03bd --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/apply_proximal_adagrad_fp32_avx.h @@ -0,0 +1,75 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_FP32_APPLY_PROXIMAL_ADAGRAD_AVX_H_ +#define NNACL_FP32_APPLY_PROXIMAL_ADAGRAD_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int64_t ApplyProximalAdagradOptAVX( + int64_t index, float *var, float *accum, float lr, float l1, float l2, float *grad, int64_t size) { + SIMD_F32 lr_vec = SIMD_MOV_F32(lr); + SIMD_F32 l1_vec = SIMD_MOV_F32(l1); + SIMD_F32 l2_vec = SIMD_MOV_F32(l2); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp_vec1 = SIMD_LD_F32(grad + index); + SIMD_F32 accum_vec = SIMD_LD_F32(accum + index); + SIMD_F32 prox_v_vec = SIMD_LD_F32(var + index); + + accum_vec = SIMD_FMADD_F32(tmp_vec1, tmp_vec1, accum_vec); + SIMD_F32 learn_rate_vec = SIMD_DIV_F32(lr_vec, SIMD_SQRT_F32(accum_vec)); + prox_v_vec = SIMD_SUB_F32(prox_v_vec, SIMD_MUL_F32(tmp_vec1, learn_rate_vec)); + SIMD_ST_F32(accum + index, accum_vec); + tmp_vec1 = SIMD_FMADD_F32(l2_vec, learn_rate_vec, SIMD_MOV_F32(1)); + if (l1 > 0) { + learn_rate_vec = SIMD_MUL_F32(learn_rate_vec, l1_vec); + learn_rate_vec = SIMD_SUB_F32(SIMD_ABS_F32(prox_v_vec), learn_rate_vec); + learn_rate_vec = SIMD_MAX_F32(learn_rate_vec, SIMD_MOV_F32(0.0f)); + learn_rate_vec = SIMD_DIV_F32(learn_rate_vec, tmp_vec1); + + SIMD_MASK greater_mask = SIMD_CMPGT_F32(SIMD_SET0_F32, prox_v_vec); + SIMD_MASK less_mask = SIMD_CMPLT_F32(SIMD_SET0_F32, prox_v_vec); + SIMD_F32 greater_v = SIMD_BLEND_F32(SIMD_MOV_F32(1), SIMD_SET0_F32, greater_mask); + SIMD_F32 less_v = SIMD_BLEND_F32(SIMD_MOV_F32(1), SIMD_SET0_F32, less_mask); + greater_v = SIMD_SUB_F32(greater_v, less_v); + + prox_v_vec = SIMD_MUL_F32(learn_rate_vec, greater_v); + } else { + prox_v_vec = SIMD_DIV_F32(prox_v_vec, tmp_vec1); + } + SIMD_ST_F32(var + index, prox_v_vec); + } + + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/apply_proximal_gradient_descent_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/apply_proximal_gradient_descent_fp32_avx.h new file mode 100644 index 00000000..f02a4072 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/apply_proximal_gradient_descent_fp32_avx.h @@ -0,0 +1,71 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_FP32_APPLY_PROXIMAL_GRADIENT_DESCENT_AVX_H_ +#define NNACL_FP32_APPLY_PROXIMAL_GRADIENT_DESCENT_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int64_t ApplyProximalGradientDescentOptAVX( + int64_t index, float *var, float alpha, float l1, float l2, float *delta, int64_t size) { + SIMD_F32 alpha_vec = SIMD_MOV_F32(alpha); + SIMD_F32 l1_vec = SIMD_MOV_F32(l1); + SIMD_F32 l2_vec = SIMD_MOV_F32(l2); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 delta_vec = SIMD_LD_F32(delta + index); + SIMD_F32 prox_v_vec = SIMD_LD_F32(var + index); + + prox_v_vec = SIMD_SUB_F32(prox_v_vec, SIMD_MUL_F32(delta_vec, alpha_vec)); + SIMD_F32 tmp_vec1 = SIMD_FMADD_F32(l2_vec, alpha_vec, SIMD_MOV_F32(1)); + if (l1 > 0) { + SIMD_F32 tmp_vec2 = SIMD_MUL_F32(alpha_vec, l1_vec); + tmp_vec2 = SIMD_SUB_F32(SIMD_ABS_F32(prox_v_vec), tmp_vec2); + tmp_vec2 = SIMD_MAX_F32(tmp_vec2, SIMD_MOV_F32(0.0f)); + tmp_vec2 = SIMD_DIV_F32(tmp_vec2, tmp_vec1); + + SIMD_MASK greater_mask = SIMD_CMPGT_F32(SIMD_SET0_F32, prox_v_vec); + SIMD_MASK less_mask = SIMD_CMPLT_F32(SIMD_SET0_F32, prox_v_vec); + SIMD_F32 greater_v = SIMD_BLEND_F32(SIMD_MOV_F32(1), SIMD_SET0_F32, greater_mask); + SIMD_F32 less_v = SIMD_BLEND_F32(SIMD_MOV_F32(1), SIMD_SET0_F32, less_mask); + greater_v = SIMD_SUB_F32(greater_v, less_v); + + prox_v_vec = SIMD_MUL_F32(tmp_vec2, greater_v); + } else { + prox_v_vec = SIMD_DIV_F32(prox_v_vec, tmp_vec1); + } + SIMD_ST_F32(var + index, prox_v_vec); + } + + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/arithmetic_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/arithmetic_fp32_avx.h new file mode 100644 index 00000000..06b4d650 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/arithmetic_fp32_avx.h @@ -0,0 +1,294 @@ +/** + * Copyright 2022-2023 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_ARITHMETIC_AVX_H_ +#define MINDSPORE_NNACL_ARITHMETIC_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +#ifndef MS_SIMD_NEON +static inline int ElementFloorModAVX(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 floor_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_F32 out_tmp = SIMD_SUB_F32(in0_tmp, SIMD_MUL_F32(floor_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorModNum0AVX(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 floor_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_F32 out_tmp = SIMD_SUB_F32(in0_tmp, SIMD_MUL_F32(floor_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorModNum1AVX(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in1_tmp = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 floor_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_F32 out_tmp = SIMD_SUB_F32(in0_tmp, SIMD_MUL_F32(floor_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementFloorDivAVX(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 floor_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_ST_F32(out + index, floor_tmp); + } + return index; +} + +static inline int ElementOptFloorDivNum0AVX(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorDivNum1AVX(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in1_tmp = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 out_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} +#endif + +static inline int ElementFloorDivIntAVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_DIV_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorDivIntNum0AVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in0_tmp = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_DIV_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorDivIntNum1AVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in1_tmp = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 out_tmp = SIMD_DIV_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementMaximumAVX(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_MAX_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMaximumNum0AVX(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_MAX_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMaximumNum1AVX(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in1_tmp = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 out_tmp = SIMD_MAX_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementMaximumIntAVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_MAX_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMaximumIntNum0AVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in0_tmp = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_MAX_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMaximumIntNum1AVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in1_tmp = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 out_tmp = SIMD_MAX_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementMinimumIntAVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_MIN_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMinimumIntNum0AVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in0_tmp = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_MIN_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMinimumIntNum1AVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in1_tmp = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 out_tmp = SIMD_MIN_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementMinimumAVX(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_MIN_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMinimumNum0AVX(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_MIN_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMinimumNum1AVX(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in1_tmp = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 out_tmp = SIMD_MIN_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline size_t AssignSubOptAVX(int index, float *in0, const float *in1, size_t size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_SUB_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(in0 + index, out_tmp); + } + return index; +} + +int ElementLogicalAndAVX(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_AND_F32(SIMD_GETSIGN_F32(in0_tmp), SIMD_GETSIGN_F32(in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +int ElementOptLogicalAndAVX(int index, const float *in0, const float *in1, float *out, int size, bool first_scalar) { + if (first_scalar) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(*in0); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_AND_F32(SIMD_GETSIGN_F32(in0_tmp), SIMD_GETSIGN_F32(in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + } else { + SIMD_F32 in1_tmp = SIMD_MOV_F32(*in1); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 out_tmp = SIMD_AND_F32(SIMD_GETSIGN_F32(in0_tmp), SIMD_GETSIGN_F32(in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + } + + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/arithmetic_self_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/arithmetic_self_fp32_avx.h new file mode 100644 index 00000000..c457e47d --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/arithmetic_self_fp32_avx.h @@ -0,0 +1,148 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_ARITHMETIC_SELF_AVX_H_ +#define MINDSPORE_NNACL_ARITHMETIC_SELF_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +#if defined(MS_SIMD_AVX512) +// only avx512 support abs fp32 instruction +static inline int ElementAbsAVX(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_ABS_F32(SIMD_LD_F32(input + index))); + } + return index; +} + +static inline int ElementAbsIntAVX(int index, const int32_t *input, int32_t *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(output + index, SIMD_ABS_EPI32(SIMD_LD_EPI32(input + index))); + } + return index; +} +#endif + +#if !defined(MS_SIMD_NEON) +// not support neon + static inline int ElementCosAVX(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin = SIMD_LD_F32(input + index); + SIMD_ST_F32(output + index, SIMD_COS_F32(vin)); + } + return index; + } + + static inline int ElementLogAVX(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin = SIMD_LD_F32(input + index); + SIMD_ST_F32(output + index, SIMD_LOG_F32(vin)); + } + return index; + } +#endif + +static inline int ElementSquareAVX(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin = SIMD_LD_F32(input + index); + SIMD_ST_F32(output + index, SIMD_MUL_F32(vin, vin)); + } + return index; +} + +static inline int ElementSqrtAVX(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_SQRT_F32(SIMD_LD_F32(input + index))); + } + return index; +} + +static inline int ElementRsqrtAVX(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_RSQRT_F32(SIMD_LD_F32(input + index))); + } + return index; +} + +#if defined(MS_SIMD_AVX) || defined(MS_SIMD_SSE) +// avx512 dont support round fp32 instruction +static inline int ElementRoundAVX(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_ROUND_F32(SIMD_LD_F32(input + index))); + } + return index; +} +#endif + +#ifndef MS_SIMD_NEON +// neon dont support floor fp32 instruction +static inline int ElementFloorAVX(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_FLOOR_F32(SIMD_LD_F32(input + index))); + } + return index; +} +#endif + +#ifndef MS_SIMD_NEON +static inline int ElementCeilAVX(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_CEIL_F32(SIMD_LD_F32(input + index))); + } + return index; +} +#endif + +static inline int ElementNegativeAVX(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_MUL_N_F32(SIMD_LD_F32(input + index), -1.0f)); + } + return index; +} + +static inline int ElementNegativeIntAVX(int index, const int32_t *input, int32_t *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(output + index, SIMD_MUL_N_EPI32(SIMD_LD_EPI32(input + index), -1)); + } + return index; +} + +static inline int ElementReciprocalAVX(int index, const float *input, float *output, const int element_size) { + SIMD_F32 num1 = SIMD_MOV_F32(1.0f); + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_DIV_F32(num1, SIMD_LD_F32(input + index))); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/batchnorm_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/batchnorm_fp32_avx.h new file mode 100644 index 00000000..11a9087b --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/batchnorm_fp32_avx.h @@ -0,0 +1,67 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_ACTIVATION_AVX_H_ +#define MINDSPORE_NNACL_FP32_ACTIVATION_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int BatchNormFp32AVX(int index, const float *input, const float *mean, + const float *variance, int channel, float epsilon, float *output) { + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input_data = SIMD_LD_F32(input + index); + SIMD_F32 mean_ = SIMD_LD_F32(mean + index); + SIMD_F32 variance_ = SIMD_LD_F32(variance + index); + SIMD_F32 variance_sqrt = SIMD_SQRT_F32(SIMD_ADD_F32(variance_, SIMD_MOV_F32(epsilon))); + SIMD_F32 output_data = SIMD_DIV_F32(SIMD_SUB_F32(input_data, mean_), variance_sqrt); + SIMD_ST_F32(output + index, output_data); + } + return index; +} + +static inline int FusedBatchNormFp32AVX(int index, const float *input, const float *scale, + const float *offset, const float *mean, const float *variance, int channel, float epsilon, float *output) { + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input_data = SIMD_LD_F32(input + index); + SIMD_F32 scale_ = SIMD_LD_F32(scale + index); + SIMD_F32 offset_ = SIMD_LD_F32(offset + index); + SIMD_F32 mean_ = SIMD_LD_F32(mean + index); + SIMD_F32 variance_ = SIMD_LD_F32(variance + index); + SIMD_F32 variance_sqrt = SIMD_SQRT_F32(SIMD_ADD_F32(variance_, SIMD_MOV_F32(epsilon))); + SIMD_F32 norm_val = SIMD_DIV_F32(SIMD_SUB_F32(input_data, mean_), variance_sqrt); + SIMD_F32 output_data = SIMD_ADD_F32(SIMD_MUL_F32(norm_val, scale_), offset_); + SIMD_ST_F32(output + index, output_data); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/bce_with_logits_loss_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/bce_with_logits_loss_fp32_avx.h new file mode 100644 index 00000000..b7d8303c --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/bce_with_logits_loss_fp32_avx.h @@ -0,0 +1,69 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_BCE_WITH_LOGITS_LOSS_AVX_H_ +#define MINDSPORE_NNACL_FP32_BCE_WITH_LOGITS_LOSS_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int BCEWithLogitLossAVX(int index, const float *logits, const float *label, + const float *weight, const float *pos_weight, int length, bool reduction, float *output, + float *reduction_sum) { + SIMD_F32 zero = SIMD_SET0_F32; + SIMD_F32 ones = SIMD_MOV_F32(1.0f); + SIMD_F32 middle_output = SIMD_SET0_F32; + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 logits_tmp = SIMD_LD_F32(logits + index); + SIMD_F32 label_tmp = SIMD_LD_F32(label + index); + SIMD_F32 weight_tmp = SIMD_LD_F32(weight + index); + SIMD_F32 pos_weight_tmp = SIMD_LD_F32(pos_weight + index); + SIMD_F32 neg_logits_tmp = SIMD_SUB_F32(zero, logits_tmp); + SIMD_F32 max_value = neg_logits_tmp; + max_value = SIMD_MAX_F32(max_value, zero); + SIMD_F32 neg_max_value = SIMD_SUB_F32(zero, max_value); + SIMD_F32 log_weight = SIMD_ADD_F32(SIMD_MUL_F32(SIMD_SUB_F32(pos_weight_tmp, ones), label_tmp), ones); + SIMD_F32 log_exp_value = + SIMD_LOG_F32(SIMD_ADD_F32(SIMD_HEXP_F32(neg_max_value), SIMD_HEXP_F32(SIMD_SUB_F32(neg_logits_tmp, max_value)))); + SIMD_F32 loss = SIMD_ADD_F32(SIMD_MUL_F32(SIMD_SUB_F32(ones, label_tmp), logits_tmp), + SIMD_MUL_F32(log_weight, SIMD_ADD_F32(log_exp_value, max_value))); + if (reduction) { + middle_output = SIMD_FMADD_F32(loss, weight_tmp, middle_output); + } else { + SIMD_ST_F32(output + index, SIMD_MUL_F32(loss, weight_tmp)); + } + } + if (reduction) { + *reduction_sum += SIMD_GET_SUM_F32(middle_output); + } + return index; +} +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/bias_add_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/bias_add_avx.h new file mode 100644 index 00000000..e54588bb --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/bias_add_avx.h @@ -0,0 +1,64 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_BIAS_ADD_AVX_H_ +#define MINDSPORE_NNACL_FP32_BIAS_ADD_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int BiasAddByInnerCoreAVX(int index, const float *input, const float *bias, float *output, + int64_t num) { + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(input + index); + SIMD_F32 vin1 = SIMD_LD_F32(bias + index); + SIMD_F32 vout = SIMD_ADD_F32(vin0, vin1); + SIMD_ST_F32(output + index, vout); + } + return index; +} + +static inline int BiasAddByBatchCoreAVX(int index, const float *input, const float *bias, float *output1, + float *output2, float *output3, float *output4, int64_t num) { + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_LDX4_F32(input_data, input + index, num); + SIMD_F32 bias_data = SIMD_LD_F32(bias + index); + SIMD_ST_F32(output1 + index, SIMD_ADD_F32(input_data1, bias_data)); + SIMD_ST_F32(output2 + index, SIMD_ADD_F32(input_data2, bias_data)); + SIMD_ST_F32(output3 + index, SIMD_ADD_F32(input_data3, bias_data)); + SIMD_ST_F32(output4 + index, SIMD_ADD_F32(input_data4, bias_data)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +}; +#endif + +#endif // MINDSPORE_NNACL_FP32_BIAS_ADD_SIMD_H_ diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/cast_base_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/cast_base_avx.h new file mode 100644 index 00000000..2420b236 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/cast_base_avx.h @@ -0,0 +1,56 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_BASE_CAST_BASE_AVX_H_ +#define NNACL_BASE_CAST_BASE_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int Int32ToFloat32AVX(int index, const int32_t *input, float *output, int number) { + for (int block_max_size = number - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 value = SIMD_LD_EPI32(input + index); + SIMD_ST_F32(output + index, SIMD_EPI32_TO_F32(value)); + } + return index; +} + +#ifndef MS_SIMD_NEON +static inline int Float32ToInt32AVX(int index, const float *input, int32_t *output, int number) { + for (int block_max_size = number - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 value = SIMD_LD_F32(input + index); + SIMD_ST_EPI32(output + index, SIMD_F32_TO_EPI32(value)); + } + return index; +} +#endif + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/cast_gather_reduce_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/cast_gather_reduce_fp32_avx.h new file mode 100644 index 00000000..69fd032e --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/cast_gather_reduce_fp32_avx.h @@ -0,0 +1,72 @@ +/** + * Copyright 2023 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_ARITHMETIC_SELF_AVX_H_ +#define MINDSPORE_NNACL_ARITHMETIC_SELF_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int Fp32CastGatherReduceInt64FusionAVX(int index, float *output_data, const int64_t *input_indices, const float *input_data, + int32_t inner_size, int32_t input_data_inner_size, int32_t outer_start, + int32_t outer_end) { + for (int block_max_size = input_data_inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + for (int i = outer_start; i < outer_end; i++) { + SIMD_F32 result = SIMD_SET0_F32; + for (int j = 0; j < inner_size; j++) { + int64_t indice = input_indices[i * inner_size + j]; + result = SIMD_ADD_F32(result, SIMD_LD_F32(input_data + indice * input_data_inner_size + index)); + } + SIMD_ST_F32(output_data + i * input_data_inner_size + index, result); + } + } + return index; +} + + +static inline int Fp32CastGatherReduceInt32FusionAVX(int index, float *output_data, const int32_t *input_indices, const float *input_data, + int32_t inner_size, int32_t input_data_inner_size, int32_t outer_start, + int32_t outer_end) { + for (int block_max_size = input_data_inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + for (int i = outer_start; i < outer_end; i++) { + SIMD_F32 result = SIMD_SET0_F32; + for (int j = 0; j < inner_size; j++) { + int32_t indice = input_indices[i * inner_size + j]; + result = SIMD_ADD_F32(result, SIMD_LD_F32(input_data + indice * input_data_inner_size + index)); + } + SIMD_ST_F32(output_data + i * input_data_inner_size + index, result); + } + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/cdist_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/cdist_fp32_avx.h new file mode 100644 index 00000000..dac9efa9 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/cdist_fp32_avx.h @@ -0,0 +1,70 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_CDIST_AVX_H_ +#define MINDSPORE_NNACL_FP32_CDIST_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int64_t CdistTwoNormalOptAVX(int64_t index, const float *a, const float *b, + float *out, int64_t size) { + SIMD_F32 result_vec = SIMD_MOV_F32(0.0f); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 a_vec = SIMD_LD_F32(a + index); + SIMD_F32 b_vec = SIMD_LD_F32(b + index); + SIMD_F32 tmp_vec = SIMD_SUB_F32(a_vec, b_vec); + tmp_vec = SIMD_ABS_F32(tmp_vec); + result_vec = SIMD_FMADD_F32(tmp_vec, tmp_vec, result_vec); + } + *out += SIMD_GET_SUM_F32(result_vec); + + return index; +} + +static inline int64_t CdistPNormalOptAVX(int64_t index, const float *a, const float *b, + float *out, int64_t size, float p) { + SIMD_F32 result_vec = SIMD_MOV_F32(0.0f); + SIMD_F32 p_vec = SIMD_MOV_F32(p); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 a_vec = SIMD_LD_F32(a + index); + SIMD_F32 b_vec = SIMD_LD_F32(b + index); + SIMD_F32 tmp_vec = SIMD_SUB_F32(a_vec, b_vec); + tmp_vec = SIMD_ABS_F32(tmp_vec); + tmp_vec = SIMD_POW_F32(tmp_vec, p_vec); + result_vec = SIMD_ADD_F32(tmp_vec, result_vec); + } + *out += SIMD_GET_SUM_F32(result_vec); + + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/cumsum_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/cumsum_fp32_avx.h new file mode 100644 index 00000000..a8463bb6 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/cumsum_fp32_avx.h @@ -0,0 +1,121 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_CUMSUM_AVX_H_ +#define MINDSPORE_NNACL_FP32_CUMSUM_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +// (a, b, c) -> (a, a+b, a+b+c) exclusive == false +// (a, b, c) -> (0, a, a+b) exclusive == true +static inline int64_t CumsumOutputInitWithInputAVX(int64_t index, const float *layer_input, + float *layer_output, int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(layer_output + index, SIMD_LD_F32(layer_input + index)); + } + return index; +} + +static inline int64_t CumsumOutputInitWithZeroAVX(int64_t index, float *layer_output, int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(layer_output + index, SIMD_MOV_F32(0.0f)); + } + return index; +} + +static inline int64_t CumsumAVX(int64_t index, const float *layer_input, float *layer_output, float *layer_last_output, + int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input_val = SIMD_LD_F32(layer_input + index); + SIMD_F32 last_output_val = SIMD_LD_F32(layer_last_output + index); + SIMD_F32 out_val = SIMD_ADD_F32(input_val, last_output_val); + SIMD_ST_F32(layer_output + index, out_val); + } + return index; +} + +// (a, b, c) -> (c+b+a, c+b, c) exclusive==false +// (a, b, c) -> (c+b, c, 0) exclusive==true +static inline int64_t CumsumReverseAVX(int64_t index, const float *layer_input, float *layer_output, + float *layer_last_output, int inner_dim) { + + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input_val = SIMD_LD_F32(layer_input - index - BLOCK_NUM + 1); + SIMD_F32 last_output_val = SIMD_LD_F32(layer_last_output - index - BLOCK_NUM + 1); + SIMD_F32 out_val = SIMD_ADD_F32(input_val, last_output_val); + SIMD_ST_F32(layer_output - index - BLOCK_NUM + 1, out_val); + } + return index; +} + +// (a, b, c) -> (a, a+b, a+b+c) exclusive == false +// (a, b, c) -> (0, a, a+b) exclusive == true +static inline int64_t CumsumIntOutputInitWithInputAVX(int64_t index, const int32_t *layer_input, + int32_t *layer_output, int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(layer_output + index, SIMD_LD_EPI32(layer_input + index)); + } + return index; +} + +static inline int64_t CumsumIntOutputInitWithZeroAVX(int64_t index, int32_t *layer_output, int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(layer_output + index, SIMD_MOV_EPI32(0.0f)); + } + return index; +} + +static inline int64_t CumsumIntAVX(int64_t index, const int32_t *layer_input, int32_t *layer_output, int32_t *layer_last_output, + int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 input_val = SIMD_LD_EPI32(layer_input + index); + SIMD_EPI32 last_output_val = SIMD_LD_EPI32(layer_last_output + index); + SIMD_EPI32 out_val = SIMD_ADD_EPI32(input_val, last_output_val); + SIMD_ST_EPI32(layer_output + index, out_val); + } + return index; +} + +// (a, b, c) -> (c+b+a, c+b, c) exclusive==false +// (a, b, c) -> (c+b, c, 0) exclusive==true +static inline int64_t CumsumReverseIntAVX(int64_t index, const int32_t *layer_input, int32_t *layer_output, int32_t *layer_last_output, + int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 input_val = SIMD_LD_EPI32(layer_input - index - BLOCK_NUM + 1); + SIMD_EPI32 last_output_val = SIMD_LD_EPI32(layer_last_output - index - BLOCK_NUM + 1); + SIMD_EPI32 out_val = SIMD_ADD_EPI32(input_val, last_output_val); + SIMD_ST_EPI32(layer_output - index - BLOCK_NUM + 1, out_val); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/div_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/div_fp32_avx.h new file mode 100644 index 00000000..b65b1692 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/div_fp32_avx.h @@ -0,0 +1,167 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_DIV_AVX_H_ +#define MINDSPORE_NNACL_FP32_DIV_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int ElementOptDivNum0AVX(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_DIV_F32(vin0_opt, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivNum1AVX(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_DIV_F32(vin0, vin1_opt_); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivIntNum0AVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_DIV_EPI32(vin0_opt, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivIntNum1AVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_DIV_EPI32(vin0, vin1_opt_); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivReluNum0AVX(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_DIV_F32(vin0_opt, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivReluNum1AVX(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_DIV_F32(vin0, vin1_opt_), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivRelu6Num0AVX(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_DIV_F32(vin0_opt, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivRelu6Num1AVX(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_DIV_F32(vin0, vin1_opt_), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementDivAVX(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_DIV_F32(vin0, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementDivIntAVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_DIV_EPI32(vin0, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementDivReluAVX(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_DIV_F32(vin0, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementDivRelu6AVX(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_DIV_F32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +}; +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/dropout_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/dropout_fp32_avx.h new file mode 100644 index 00000000..cbd4eca5 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/dropout_fp32_avx.h @@ -0,0 +1,46 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_DROPOUTFP32_AVX_H_ +#define MINDSPORE_NNACL_FP32_DROPOUTFP32_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int DropoutFp32AVX(int index, const float *input, float scale, + int length, float *output) { + SIMD_F32 scale_value = SIMD_MOV_F32(scale); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_MUL_F32(SIMD_LD_F32(input + index), scale_value)); + } + return index; +} +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/exp_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/exp_fp32_avx.h new file mode 100644 index 00000000..cf7cbd37 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/exp_fp32_avx.h @@ -0,0 +1,63 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_DIV_AVX_H_ +#define MINDSPORE_NNACL_FP32_DIV_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int64_t ExpFp32AVX(int64_t index, const float *src, float *dst, int num) { + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EXP_ST_F32(SIMD_LD_F32(src + index), dst + index); + } + return index; +} + +static inline int64_t ExpFp32WithInScaleAVX(int64_t index, const float *src, float *dst, int num, float in_scale) { + SIMD_F32 scale_vec = SIMD_MOV_F32(in_scale); + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EXP_ST_F32(SIMD_MUL_F32(SIMD_LD_F32(src + index), scale_vec), dst + index); + } + return index; +} + +static inline int64_t ExpFp32WithOutScaleAVX(int64_t index, const float *src, float *dst, int num, float out_scale) { + SIMD_F32 scale_vec = SIMD_MOV_F32(out_scale); + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EXP_ST_F32(SIMD_LD_F32(src + index), dst + index); + SIMD_ST_F32(dst + index, SIMD_MUL_F32(SIMD_LD_F32(dst + index), scale_vec)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +}; +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/fill_base_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/fill_base_avx.h new file mode 100644 index 00000000..e900cd44 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/fill_base_avx.h @@ -0,0 +1,53 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_BASE_FILL_BASE_AVX_H_ +#define NNACL_BASE_FILL_BASE_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int FillFp32AVX(int index, float *output, int size, float data) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_MOV_F32(data)); + } + return index; +} + +static inline int FillInt32AVX(int index, int *output, int size, int data) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(output + index, SIMD_MOV_EPI32(data)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif + diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/group_norm_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/group_norm_fp32_avx.h new file mode 100644 index 00000000..d5076e59 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/group_norm_fp32_avx.h @@ -0,0 +1,77 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_GROUP_NORM_FP32_AVX_H_ +#define MINDSPORE_NNACL_FP32_GROUP_NORM_FP32_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int64_t GroupNormFp32AVX(int64_t index, const float *unit_input, float scale, float offset, float mean, + float var_sqrt, int unit, float *unit_output) { + SIMD_F32 mean_val = SIMD_MOV_F32(mean); + SIMD_F32 v_sqrt = SIMD_MOV_F32(var_sqrt); + SIMD_F32 scale_val = SIMD_MOV_F32(scale); + SIMD_F32 offset_val = SIMD_MOV_F32(offset); + for (int block_max_size = unit - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_LD_F32(unit_input + index); + SIMD_F32 norm_val = SIMD_DIV_F32(SIMD_SUB_F32(input, mean_val), v_sqrt); + SIMD_F32 output = SIMD_ADD_F32(SIMD_MUL_F32(norm_val, scale_val), offset_val); + SIMD_ST_F32(unit_output + index, output); + } + return index; +} + +static inline int64_t GroupNormReduceSumAVX(int64_t index, const float *in, float *sum, int unit) { + if (unit - index >= 4 * BLOCK_NUM) { + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int block_max_size = unit - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(in + index)); + } + *sum += SIMD_GET_SUM_F32(tmp); + } + return index; +} + +static inline int64_t GroupNormReduceVarAVX(int64_t index, const float *in, float mean, float *sum, int unit) { + if (unit - index >= 4 * BLOCK_NUM) { + SIMD_F32 mean_val = SIMD_MOV_F32(mean); + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int block_max_size = unit - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_SUB_F32(SIMD_LD_F32(in + index), mean_val); + tmp = SIMD_ADD_F32(tmp, SIMD_MUL_F32(input, input)); + } + *sum += SIMD_GET_SUM_F32(tmp); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/layer_norm_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/layer_norm_fp32_avx.h new file mode 100644 index 00000000..96fdf185 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/layer_norm_fp32_avx.h @@ -0,0 +1,68 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_LAYER_NORM_FP32_AVX_H_ +#define MINDSPORE_NNACL_FP32_LAYER_NORM_FP32_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int LayerNormMeanAndSquareAVX(int index, const float *src, int num, float *mean, float *square_mean) { + if (num >= 4 * BLOCK_NUM) { + SIMD_F32 sum_val = SIMD_SET0_F32; + SIMD_F32 square_sum_val = SIMD_SET0_F32; + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 value = SIMD_LD_F32(src + index); + SIMD_F32 square_value = SIMD_MUL_F32(value, value); + sum_val = SIMD_ADD_F32(sum_val, value); + square_sum_val = SIMD_ADD_F32(square_sum_val, square_value); + } + *mean += SIMD_GET_SUM_F32(sum_val); + *square_mean += SIMD_GET_SUM_F32(square_sum_val); + } + return index; +} + +static inline int LayerNormGammaAndBetaAVX(int index, float *dst, const float *src, const float *gamma_data, + const float *beta_data, int num, const float mean, const float deno) { + SIMD_F32 mean_val = SIMD_MOV_F32(mean); + SIMD_F32 deno_val = SIMD_MOV_F32(deno); + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 value = SIMD_LD_F32(src + index); + SIMD_F32 out_value = SIMD_SUB_F32(value, mean_val); + out_value = SIMD_MUL_F32(out_value, deno_val); + out_value = SIMD_FMADD_F32(out_value, SIMD_LD_F32(gamma_data + index), SIMD_LD_F32(beta_data + index)); + SIMD_ST_F32(dst + index, out_value); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/matmul_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/matmul_fp32_avx.h new file mode 100644 index 00000000..2787c7a8 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/matmul_fp32_avx.h @@ -0,0 +1,155 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_FP32_MATMUL_F32_AVX_H_ +#define MINDSPORE_NNACL_FP32_MATMUL_F32_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +// act_type must be 0, 1, 2. 0: no_act, 1: relu, 3: relu6. +static inline int64_t GemmIsNotPackAVX(int64_t index, const float *a, const float *b, float *c, const float *bias, int row, + int deep, int act_type) { + SIMD_F32 down_threshold = SIMD_MOV_F32(0.0f); + SIMD_F32 up_threshold = SIMD_MOV_F32(6); + SIMD_F32 b_data16 = SIMD_MOV_F32(b[0]); + SIMD_F32 bias_data16 = SIMD_MOV_F32(bias[0]); + for (int block_max_size = row - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 a_data = SIMD_LD_F32(a + index); + SIMD_F32 dst = SIMD_FMADD_F32(b_data16, a_data, bias_data16); + if (act_type != 0) { + dst = SIMD_MAX_F32(dst, down_threshold); + if (act_type == 3) { + dst = SIMD_MIN_F32(dst, up_threshold); + } + } + SIMD_ST_F32(c + index, dst); + } + + return index; +} + +// act_type must be 0, 1, 2. 0: no_act, 1: relu, 3: relu6. +static inline int64_t Row1Deep1GemmIsNotPackAVX(int64_t index, const float *a, const float *b, float *c, const float *bias, int col, + int act_type) { + SIMD_F32 down_threshold = SIMD_MOV_F32(0.0f); + SIMD_F32 up_threshold = SIMD_MOV_F32(6); + SIMD_F32 vec_a = SIMD_MOV_F32(a[0]); + if (act_type == 1) { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 vec_bias = SIMD_LD_F32(bias + index); + SIMD_F32 dst = SIMD_FMADD_F32(vec_a, vec_b, vec_bias); + SIMD_ST_F32(c + index, SIMD_MAX_F32(dst, down_threshold)); // relu + } + } else if (act_type == 3) { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 vec_bias = SIMD_LD_F32(bias + index); + SIMD_F32 dst = SIMD_FMADD_F32(vec_a, vec_b, vec_bias); + SIMD_ST_F32(c + index, SIMD_CLAMP_F32(dst, down_threshold, up_threshold)); // relue6 + } + } else { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 vec_bias = SIMD_LD_F32(bias + index); + SIMD_F32 dst = SIMD_FMADD_F32(vec_a, vec_b, vec_bias); + SIMD_ST_F32(c + index, dst); // no_act + } + } + + return index; +} + +// act_type must be 0, 1, 2. 0: no_act, 1: relu, 3: relu6. +static inline int64_t Row1Deep1NoBiasGemmIsNotPackAVX(int64_t index, const float *a, const float *b, float *c, const float *bias, int col, + int act_type) { + SIMD_F32 down_threshold = SIMD_MOV_F32(0.0f); + SIMD_F32 up_threshold = SIMD_MOV_F32(6); + SIMD_F32 vec_a = SIMD_MOV_F32(a[0]); + if (act_type == 1) { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 dst = SIMD_MUL_F32(vec_a, vec_b); + SIMD_ST_F32(c + index, SIMD_MAX_F32(dst, down_threshold)); // relu + } + } else if (act_type == 3) { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 dst = SIMD_MUL_F32(vec_a, vec_b); + SIMD_ST_F32(c + index, SIMD_CLAMP_F32(dst, down_threshold, up_threshold)); // relue6 + } + } else { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 dst = SIMD_MUL_F32(vec_a, vec_b); + SIMD_ST_F32(c + index, dst); // no_act + } + } + + return index; +} + +#if defined(MS_SIMD_AVX512) || defined(MS_SIMD_AVX) +static inline int64_t GemmIsNotPackOptimizeCoreAVX(int64_t index, const float *a, const float *b, int k, float *dst) { + SIMD_F32 dst1 = SIMD_MOV_F32(0.0f); + for (int block_max_size = k - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 weight = SIMD_LD_F32(b + index); + SIMD_F32 a1 = SIMD_LD_F32(a + index); + dst1 = SIMD_FMADD_F32(weight, a1, dst1); + } + *dst += SIMD_REDUCE_ADD_F32(dst1); + return index; +} +#endif + +static inline int64_t MatVecMulNoPackCoreAVX(int64_t oc_index, const float *a, const float *b, float *c, const float *bias, + int act_type, int64_t depth, int64_t oc, int64_t col, int64_t inc_flag) { + for (int64_t oc_max_size = oc - BLOCK_NUM; oc_index <= oc_max_size; oc_index += BLOCK_NUM) { + SIMD_F32 out = (inc_flag & 0x1) == 0 ? SIMD_LD_F32(c + oc_index) : (bias == NULL ? SIMD_MOV_F32(0.0f) : SIMD_LD_F32(bias + oc_index)); + for (int64_t k = 0; k < depth; ++k) { + SIMD_F32 left = SIMD_MOV_F32(a[k]); + SIMD_F32 right = SIMD_LD_F32(b + oc_index + k * col); + out = SIMD_FMADD_F32(left, right, out); + } + if ((inc_flag & 0x2) != 0 && act_type != 0) { + out = SIMD_MAX_F32(out, SIMD_MOV_F32(0.0f)); + if (act_type == 0x3) { + out = SIMD_MIN_F32(out, SIMD_MOV_F32(6.0f)); + } + } + SIMD_ST_F32(c + oc_index, out); + } + return oc_index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/mul_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/mul_fp32_avx.h new file mode 100644 index 00000000..bbc47ef4 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/mul_fp32_avx.h @@ -0,0 +1,218 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_ACTIVATION_AVX_H_ +#define MINDSPORE_NNACL_FP32_ACTIVATION_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int ElementMulAVX(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MUL_F32(vin0, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementMulReluAVX(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_MUL_F32(vin0, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementMulRelu6AVX(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_MUL_F32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementMulIntAVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MUL_EPI32(vin0, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementMulReluIntAVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0, vin1), 0.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementMulRelu6IntAVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MIN_N_EPI32(SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulNum0AVX(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin0_opt_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MUL_F32(vin0_opt_, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulNum1AVX(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MUL_F32(vin0, vin1_opt_); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulReluNum0AVX(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin0_opt_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_MUL_F32(vin0_opt_, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulReluNum1AVX(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_MUL_F32(vin0, vin1_opt_), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulRelu6Num0AVX(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin0_opt_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_MUL_F32(vin0_opt_, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulRelu6Num1AVX(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_MUL_F32(vin0, vin1_opt_), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulIntNum0AVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt_ = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MUL_EPI32(vin0_opt_, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulIntNum1AVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_MUL_EPI32(vin0, vin1_opt_); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulReluIntNum0AVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt_ = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0_opt_, vin1), 0.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulReluIntNum1AVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0, vin1_opt_), 0.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulRelu6IntNum0AVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt_ = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MIN_N_EPI32(SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0_opt_, vin1), 0.0f), 6.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulRelu6IntNum1AVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_MIN_N_EPI32(SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0, vin1_opt_), 0.0f), 6.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/pooling_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/pooling_fp32_avx.h new file mode 100644 index 00000000..d4bd2305 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/pooling_fp32_avx.h @@ -0,0 +1,84 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_POOLING_AVX_H_ +#define MINDSPORE_NNACL_FP32_POOLING_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int AvgPoolingBatchAVX(int ci, const float *src_plane_ptr, int channel, + float *dst_plane_ptr, int real_win_h_start, int real_win_h_end, int real_win_w_start, int real_win_w_end, + int in_h_index, int in_w, int in_w_index, float minf, float maxf) { + SIMD_F32 min_val = SIMD_MOV_F32(minf); + SIMD_F32 max_val = SIMD_MOV_F32(maxf); + for (int block_max_size = channel - BLOCK_NUM + 1; ci < block_max_size; ci += BLOCK_NUM) { + const float *src_c_ptr = src_plane_ptr + ci; + float *dst_c_ptr = dst_plane_ptr + ci; + SIMD_F32 tmp_avg = SIMD_SET0_F32; + int real_count = 0; + for (int h = real_win_h_start; h < real_win_h_end; h++) { + for (int w = real_win_w_start; w < real_win_w_end; w++) { + const float *src_win_ptr = src_c_ptr + ((in_h_index + h) * in_w + in_w_index + w) * channel; + tmp_avg = SIMD_ADD_F32(tmp_avg, SIMD_LD_F32(src_win_ptr)); + ++real_count; + } + } + tmp_avg = SIMD_DIV_F32(tmp_avg, SIMD_MOV_F32(real_count)); + tmp_avg = SIMD_MAX_F32(tmp_avg, min_val); + tmp_avg = SIMD_MIN_F32(tmp_avg, max_val); + SIMD_ST_F32(dst_c_ptr, tmp_avg); + } + return ci; +} + +static inline int MaxPoolingBatchAVX(int ci, const float *src_plane_ptr, int channel, + float *dst_plane_ptr, int real_win_h_start, int real_win_h_end, int real_win_w_start, int real_win_w_end, + int in_h_index, int in_w, int in_w_index, float minf, float maxf) { + SIMD_F32 min_val = SIMD_MOV_F32(minf); + SIMD_F32 max_val = SIMD_MOV_F32(maxf); + for (int block_max_size = channel - BLOCK_NUM + 1; ci < block_max_size; ci += BLOCK_NUM) { + const float *src_c_ptr = src_plane_ptr + ci; + float *dst_c_ptr = dst_plane_ptr + ci; + SIMD_F32 tmp_max = min_val; + for (int kh = real_win_h_start; kh < real_win_h_end; kh++) { + for (int kw = real_win_w_start; kw < real_win_w_end; kw++) { + const float *src_win_ptr = src_c_ptr + ((in_h_index + kh) * in_w + in_w_index + kw) * channel; + tmp_max = SIMD_MAX_F32(tmp_max, SIMD_LD_F32(src_win_ptr)); + } + } + tmp_max = SIMD_MIN_F32(tmp_max, max_val); + SIMD_ST_F32(dst_c_ptr, tmp_max); + } + return ci; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/power_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/power_fp32_avx.h new file mode 100644 index 00000000..2ada6cb3 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/power_fp32_avx.h @@ -0,0 +1,101 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_POWER_AVX_H_ +#define MINDSPORE_NNACL_FP32_POWER_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int PowerBroadCastIntExponentAVX(int index, const float *input, int exponent, float *output, int len, + float scale, float shift) { + SIMD_F32 scale_vec = SIMD_MOV_F32(scale); + SIMD_F32 shift_vec = SIMD_MOV_F32(shift); + for (int block_max_size = len - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp = SIMD_FMADD_F32(scale_vec, SIMD_LD_F32(input + index), shift_vec); + SIMD_F32 result = SIMD_MOV_F32(1.0f); + int exp = abs(exponent); + while (exp) { + if (exp % 2) { + result = SIMD_MUL_F32(result, tmp); + } + tmp = SIMD_MUL_SQUARE_F32(tmp); + exp = exp / 2; + } + SIMD_ST_F32(output + index, exponent >= 0 ? result : SIMD_DIV_F32(SIMD_MOV_F32(1), result)); + } + return index; +} + +static inline int PowerBroadCastFloatExponentAVX(int index, const float *input, float exponent, float *output, int len, + float scale, float shift) { + SIMD_F32 scale_vec = SIMD_MOV_F32(scale); + SIMD_F32 shift_vec = SIMD_MOV_F32(shift); + for (int block_max_size = len - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp = SIMD_FMADD_F32(scale_vec, SIMD_LD_F32(input + index), shift_vec); + SIMD_F32 result; + for (int i = 0; i < BLOCK_NUM; ++i) { + SIMD_F32_GETI(result, i) = powf(SIMD_F32_GETI(tmp, i), exponent); + } + SIMD_ST_F32(output + index, result); + } + return index; +} + +static inline int PowerSingleExponentAVX(int index, const float *input, const float *exponent, float *output, int len, + float scale, float shift) { + SIMD_F32 scale_vec = SIMD_MOV_F32(scale); + SIMD_F32 shift_vec = SIMD_MOV_F32(shift); + for (int block_max_size = len - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp_vec = SIMD_FMADD_F32(scale_vec, SIMD_LD_F32(input + index), shift_vec); + for (int j = 0; j < BLOCK_NUM; ++j) { + float cur_exponent = exponent[index + j]; + float cur_val = SIMD_F32_GETI(tmp_vec, j); + if (fabsf(cur_exponent - (int)(cur_exponent)) < 0.000001) { + int exp = abs((int)(cur_exponent)); + float result = 1; + while (exp) { + if (exp % 2) { + result *= cur_val; + } + cur_val *= cur_val; + exp = exp / 2; + } + output[index + j] = *exponent >= 0 ? result : 1 / result; + } else { + output[index + j] = powf(cur_val, cur_exponent); + } + } + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/reduce_concat_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/reduce_concat_fp32_avx.h new file mode 100644 index 00000000..6772f6f1 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/reduce_concat_fp32_avx.h @@ -0,0 +1,122 @@ +/** + * Copyright 2023 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_REDUCE_CONCAT_FP32_SIMD_AVX_H_ +#define MINDSPORE_NNACL_REDUCE_CONCAT_FP32_SIMD_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +#ifdef MS_SIMD_AVX512 +static inline int Fp32ReduceSumConcatAxisSize16FusionAVX(int index, float *output_data, const float *input_data, int64_t reduce_axis_size) { + SIMD_F32 zmm00 = SIMD_LD_F32(input_data); + for (int l = 1; l < reduce_axis_size; l++) { + input_data += (1 * BLOCK_NUM); + zmm00 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data)); + } + SIMD_ST_F32(output_data, zmm00); + return index; +} + +static inline int Fp32ReduceSumConcatAxisSize32FusionAVX(int index, float *output_data, const float *input_data, int64_t reduce_axis_size) { + SIMD_F32 zmm00 = SIMD_LD_F32(input_data + 0 * BLOCK_NUM); + SIMD_F32 zmm01 = SIMD_LD_F32(input_data + 1 * BLOCK_NUM); + for (int l = 1; l < reduce_axis_size; l++) { + input_data += (2 * BLOCK_NUM); + zmm00 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data + 0 * BLOCK_NUM)); + zmm01 = SIMD_ADD_F32(zmm01, SIMD_LD_F32(input_data + 1 * BLOCK_NUM)); + } + + SIMD_ST_F32(output_data + 0 * BLOCK_NUM, zmm00); + SIMD_ST_F32(output_data + 1 * BLOCK_NUM, zmm01); + + return index; +} + +static inline int Fp32ReduceSumConcatAxisSize64FusionAVX(int index, float *output_data, const float *input_data, int64_t reduce_axis_size) { + SIMD_F32 zmm00 = SIMD_LD_F32(input_data + 0 * BLOCK_NUM); + SIMD_F32 zmm01 = SIMD_LD_F32(input_data + 1 * BLOCK_NUM); + SIMD_F32 zmm02 = SIMD_LD_F32(input_data + 2 * BLOCK_NUM); + SIMD_F32 zmm03 = SIMD_LD_F32(input_data + 3 * BLOCK_NUM); + for (int l = 1; l < reduce_axis_size; l++) { + input_data += (4 * BLOCK_NUM); + zmm00 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data + 0 * BLOCK_NUM)); + zmm01 = SIMD_ADD_F32(zmm01, SIMD_LD_F32(input_data + 1 * BLOCK_NUM)); + zmm02 = SIMD_ADD_F32(zmm02, SIMD_LD_F32(input_data + 2 * BLOCK_NUM)); + zmm03 = SIMD_ADD_F32(zmm03, SIMD_LD_F32(input_data + 3 * BLOCK_NUM)); + } + + SIMD_ST_F32(output_data + 0 * BLOCK_NUM, zmm00); + SIMD_ST_F32(output_data + 1 * BLOCK_NUM, zmm01); + SIMD_ST_F32(output_data + 2 * BLOCK_NUM, zmm02); + SIMD_ST_F32(output_data + 3 * BLOCK_NUM, zmm03); + + return index; +} + +static inline int Fp32ReduceSumConcatAxisSize128FusionAVX(int index, float *output_data, const float *input_data, int64_t reduce_axis_size) { + SIMD_F32 zmm00 = SIMD_LD_F32(input_data + 0 * BLOCK_NUM); + SIMD_F32 zmm01 = SIMD_LD_F32(input_data + 1 * BLOCK_NUM); + SIMD_F32 zmm02 = SIMD_LD_F32(input_data + 2 * BLOCK_NUM); + SIMD_F32 zmm03 = SIMD_LD_F32(input_data + 3 * BLOCK_NUM); + SIMD_F32 zmm04 = SIMD_LD_F32(input_data + 4 * BLOCK_NUM); + SIMD_F32 zmm05 = SIMD_LD_F32(input_data + 5 * BLOCK_NUM); + SIMD_F32 zmm06 = SIMD_LD_F32(input_data + 6 * BLOCK_NUM); + SIMD_F32 zmm07 = SIMD_LD_F32(input_data + 7 * BLOCK_NUM); + for (int l = 1; l < reduce_axis_size; l++) { + input_data += (8 * BLOCK_NUM); + zmm00 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data + 0 * BLOCK_NUM)); + zmm01 = SIMD_ADD_F32(zmm01, SIMD_LD_F32(input_data + 1 * BLOCK_NUM)); + zmm02 = SIMD_ADD_F32(zmm02, SIMD_LD_F32(input_data + 2 * BLOCK_NUM)); + zmm03 = SIMD_ADD_F32(zmm03, SIMD_LD_F32(input_data + 3 * BLOCK_NUM)); + zmm04 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data + 4 * BLOCK_NUM)); + zmm05 = SIMD_ADD_F32(zmm01, SIMD_LD_F32(input_data + 5 * BLOCK_NUM)); + zmm06 = SIMD_ADD_F32(zmm02, SIMD_LD_F32(input_data + 6 * BLOCK_NUM)); + zmm07 = SIMD_ADD_F32(zmm03, SIMD_LD_F32(input_data + 7 * BLOCK_NUM)); + } + + SIMD_ST_F32(output_data + 0 * BLOCK_NUM, zmm00); + SIMD_ST_F32(output_data + 1 * BLOCK_NUM, zmm01); + SIMD_ST_F32(output_data + 2 * BLOCK_NUM, zmm02); + SIMD_ST_F32(output_data + 3 * BLOCK_NUM, zmm03); + SIMD_ST_F32(output_data + 4 * BLOCK_NUM, zmm04); + SIMD_ST_F32(output_data + 5 * BLOCK_NUM, zmm05); + SIMD_ST_F32(output_data + 6 * BLOCK_NUM, zmm06); + SIMD_ST_F32(output_data + 7 * BLOCK_NUM, zmm07); + + return index; +} + +#endif + + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/reduce_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/reduce_fp32_avx.h new file mode 100644 index 00000000..b9b6513f --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/reduce_fp32_avx.h @@ -0,0 +1,227 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_FP32_REDUCE_FP32_AVX_H_ +#define MINDSPORE_NNACL_FP32_REDUCE_FP32_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int64_t ReduceSumAVX(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceSumByLastAxisAVX(int64_t index, const float *src, float* tmp_sum, int axis_size) { + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int block_max_size = axis_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(src + index)); + } + *tmp_sum += SIMD_GET_SUM_F32(tmp); + return index; +} + +static inline int64_t ReduceMeanAVX(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, SIMD_DIV_N_F32(tmp, axis_size)); + } + return index; +} + +static inline int64_t ReduceMinAVX(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(FLT_MAX); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MIN_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceMaxAVX(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(FLT_MIN); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MAX_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceMaxByLastAxisAVX(int64_t index, const float *src, float* tmp_max, int axis_size) { + SIMD_F32 tmp = SIMD_MOV_F32(*tmp_max); + for (int block_max_size = axis_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + tmp = SIMD_MAX_F32(tmp, SIMD_LD_F32(src + index)); + } + *tmp_max = SIMD_GET_MAX_F32(tmp); + return index; +} + +static inline int64_t ReduceProdAVX(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(1.0f); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MUL_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceSumSquareAVX(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_F32(tmp, SIMD_MUL_SQUARE_F32(SIMD_LD_F32(inner_src + i * inner_size))); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceL2NormAVX(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_F32(tmp, SIMD_MUL_SQUARE_F32(SIMD_LD_F32(inner_src + i * inner_size))); + } + SIMD_ST_F32(outer_dst + index, SIMD_SQRT_F32(tmp)); + } + return index; +} + +static inline int64_t IntReduceSumAVX(int64_t index, const int32_t *outer_src, int32_t *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const int32_t *inner_src = outer_src + index; + SIMD_EPI32 tmp = SIMD_MOV_EPI32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_EPI32(tmp, SIMD_LD_EPI32(inner_src + i * inner_size)); + } + SIMD_ST_EPI32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t IntReduceMeanAVX(int64_t index, const int32_t *outer_src, int32_t *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const int32_t *inner_src = outer_src + index; + SIMD_EPI32 tmp = SIMD_MOV_EPI32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_EPI32(tmp, SIMD_LD_EPI32(inner_src + i * inner_size)); + } + SIMD_ST_EPI32(outer_dst + index, SIMD_DIV_N_EPI32(tmp, axis_size)); + } + return index; +} + +static inline int64_t IntReduceMinAVX(int64_t index, const int32_t *outer_src, int32_t *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const int32_t *inner_src = outer_src + index; + SIMD_EPI32 tmp = SIMD_MOV_EPI32(INT32_MAX); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MIN_EPI32(tmp, SIMD_LD_EPI32(inner_src + i * inner_size)); + } + SIMD_ST_EPI32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t IntReduceMaxAVX(int64_t index, const int32_t *outer_src, int32_t *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const int32_t *inner_src = outer_src + index; + SIMD_EPI32 tmp = SIMD_MOV_EPI32(INT32_MIN); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MAX_EPI32(tmp, SIMD_LD_EPI32(inner_src + i * inner_size)); + } + SIMD_ST_EPI32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceSumDim2Axis0AVX(int64_t index, size_t col_size, size_t col_len, size_t row_len, const float *src_data, float *dst_data) { + for (int block_max_size = col_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp = SIMD_MOV_F32(0); + const float *inner_src = src_data + index; + float *inner_dst = dst_data + index; + for (size_t i = 0; i < row_len; ++i) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(inner_src + i * col_len)); + } + SIMD_ST_F32(inner_dst, tmp); + } + return index; +} + +static inline int64_t FloatReduceDeviationAVX(int64_t index, const float *src_data, float mean, size_t size, float *deviation) { + SIMD_F32 fs_deviation = SIMD_MOV_F32(0); + SIMD_F32 fs_mean = SIMD_MOV_F32(mean); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 fs_sub = SIMD_LD_F32(src_data + index); + + fs_sub = SIMD_SUB_F32(fs_sub, fs_mean); + SIMD_F32 fs_pow = SIMD_MUL_F32(fs_sub, fs_sub); + fs_deviation = SIMD_ADD_F32(fs_deviation, fs_pow); + } + *deviation += SIMD_GET_SUM_F32(fs_deviation); + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/scatter_nd_binary_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/scatter_nd_binary_avx.h new file mode 100644 index 00000000..3a2ecb13 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/scatter_nd_binary_avx.h @@ -0,0 +1,52 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_BASE_SCATTER_ND_BINARY_AVX_H_ +#define NNACL_BASE_SCATTER_ND_BINARY_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + + static inline int ScatterNDAddFp32AVX(int index, const float *update, int size, float *output) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_ADD_F32(SIMD_LD_F32(output + index), SIMD_LD_F32(update + index))); + } + return index; +} + +static inline int ScatterNDAddInt32AVX(int index, const int *update, int size, int *output) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(output + index, SIMD_ADD_EPI32(SIMD_LD_EPI32(output + index), SIMD_LD_EPI32(update + index))); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif // NNACL_BASE_SCATTER_ND_BINARY_AVX_H_ diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/softmax_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/softmax_fp32_avx.h new file mode 100644 index 00000000..8229111d --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/softmax_fp32_avx.h @@ -0,0 +1,87 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_SOFTMAX_AVX_H_ +#define MINDSPORE_NNACL_FP32_SOFTMAX_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int64_t SoftmaxNormGetMaxAVX(int64_t index, const float *src, int cur_batch_offset, + float *max, int channel) { + if (channel >= BLOCK_NUM * BLOCK_NUM) { + SIMD_F32 max_val = SIMD_MOV_F32(*max); + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + max_val = SIMD_MAX_F32(max_val, SIMD_LD_F32(src + cur_batch_offset + index)); + } + *max = SIMD_GET_MAX_F32(max_val); + } + return index; +} + +static inline int64_t SoftmaxNormCalcNormAVX(int64_t index, const float *src, float *dst, + int cur_batch_offset, float max, int channel) { + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 output = SIMD_SUB_F32(SIMD_LD_F32(src + cur_batch_offset + index), SIMD_MOV_F32(max)); + SIMD_ST_F32(dst + cur_batch_offset + index, output); + } + return index; +} + +static inline int64_t SoftmaxLastAxisGetExpSumAVX(int64_t index, const float *src, float *dst, + int cur_batch_offset, float max, float *exp_sum, int channel) { +#ifndef _WIN32 + SIMD_F32 sum_val = SIMD_SET0_F32; + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_LD_F32(src + cur_batch_offset + index); + SIMD_F32 output = SIMD_SUB_F32(input, SIMD_MOV_F32(max)); + SIMD_F32 exp_out = SIMD_EXP_F32(output); + sum_val = SIMD_ADD_F32(sum_val, exp_out); + SIMD_ST_F32(dst + cur_batch_offset + index, exp_out); + } + *exp_sum += SIMD_GET_SUM_F32(sum_val); +#endif + return index; +} + +static inline int64_t SoftmaxLastAxisGetResultAVX(int64_t index, const float *src, float *dst, + int cur_batch_offset, float exp_sum, int channel) { + SIMD_F32 exp_sum_val = SIMD_MOV_F32(exp_sum); + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_LD_F32(src + cur_batch_offset + index); + SIMD_F32 output = SIMD_MUL_F32(input, exp_sum_val); + SIMD_ST_F32(dst + cur_batch_offset + index, output); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +}; +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/softmax_grad_fusion_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/softmax_grad_fusion_fp32_avx.h new file mode 100644 index 00000000..6138e4cd --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/softmax_grad_fusion_fp32_avx.h @@ -0,0 +1,62 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_SOFTMAX_GRAD_FUSION_AVX_H_ +#define MINDSPORE_NNACL_FP32_SOFTMAX_GRAD_FUSION_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int64_t SoftmaxGradFusionOptAVX(int64_t index, const float *a, const float *b, + float *out, int64_t size) { + SIMD_F32 result_vec = SIMD_MOV_F32(0.0f); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 a_vec = SIMD_LD_F32(a + index); + SIMD_F32 b_vec = SIMD_LD_F32(b + index); + result_vec = SIMD_FMADD_F32(a_vec, b_vec, result_vec); + } + *out += SIMD_GET_SUM_F32(result_vec); + + return index; +} + +static inline int64_t ElementOptSubMulAVX(int index, const float *in0, const float *in1, float sum, + float *out, int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(sum); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_ST_F32(out + index, SIMD_MUL_F32(vin0, SIMD_SUB_F32(vin1, vin1_opt_))); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/sub_fp32_avx.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/sub_fp32_avx.h new file mode 100644 index 00000000..bd119175 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx/sub_fp32_avx.h @@ -0,0 +1,167 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_SUB_AVX_H_ +#define MINDSPORE_NNACL_FP32_SUB_AVX_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx", "avx2") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX_INSTRUCTION +#define BLOCK_NUM 8 +#define MS_SIMD_AVX + +static inline int ElementOptSubNum0AVX(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_SUB_F32(vin0_opt, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubNum1AVX(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_SUB_F32(vin0, vin1_opt_); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubIntNum0AVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_SUB_EPI32(vin0_opt, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubIntNum1AVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_SUB_EPI32(vin0, vin1_opt_); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubReluNum0AVX(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_SUB_F32(vin0_opt, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubReluNum1AVX(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_SUB_F32(vin0, vin1_opt_), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubRelu6Num0AVX(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_SUB_F32(vin0_opt, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubRelu6Num1AVX(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_SUB_F32(vin0, vin1_opt_), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementSubAVX(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_SUB_F32(vin0, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementSubIntAVX(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_SUB_EPI32(vin0, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementSubReluAVX(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_SUB_F32(vin0, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementSubRelu6AVX(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_SUB_F32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX +#ifdef __cplusplus +}; +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/activation_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/activation_fp32_avx512.h new file mode 100644 index 00000000..3907cdd7 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/activation_fp32_avx512.h @@ -0,0 +1,285 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_FP32_ACTIVATION_AVX512_H_ +#define MINDSPORE_NNACL_FP32_ACTIVATION_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int Fp32ReluAVX512(int index, const float *src, int length, float *dst) { + SIMD_F32 zero = SIMD_SET0_F32; + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_MAX_F32(SIMD_LD_F32(src + index), zero)); + } + return index; +} + +static inline int Int32ReluAVX512(int index, const int32_t *src, int length, int32_t *dst) { + SIMD_EPI32 zero = SIMD_MOV_EPI32(0.0f); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(dst + index, SIMD_MAX_EPI32(SIMD_LD_EPI32(src + index), zero)); + } + return index; +} + +static inline int Fp32Relu6AVX512(int index, const float *src, int length, float *dst) { + SIMD_F32 zero = SIMD_SET0_F32; + SIMD_F32 six = SIMD_MOV_F32(6.0f); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_CLAMP_F32(SIMD_LD_F32(src + index), zero, six)); + } + return index; +} + +static inline int Fp32ClipAVX512(int index, const float *src, int length, float *dst, float min, float max) { + SIMD_F32 min_val = SIMD_MOV_F32(min); + SIMD_F32 max_val = SIMD_MOV_F32(max); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_CLAMP_F32(SIMD_LD_F32(src + index), min_val, max_val)); + } + return index; +} + +static inline int Int32ClipAVX512(int index, const int32_t *src, int length, int32_t *dst, int min, int max) { + SIMD_EPI32 min_val = SIMD_MOV_EPI32(min); + SIMD_EPI32 max_val = SIMD_MOV_EPI32(max); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(dst + index, SIMD_CLAMP_EPI32(SIMD_LD_EPI32(src + index), min_val, max_val)); + } + return index; +} + +static inline int LReluAVX512(int index, const float *src, int length, float *dst, float alpha) { + SIMD_F32 alpha_data = SIMD_MOV_F32(alpha); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_tmp = SIMD_LD_F32(src + index); + SIMD_MASK mask = SIMD_CMPGT_F32(SIMD_SET0_F32, src_tmp); + SIMD_ST_F32(dst + index, SIMD_BLEND_F32(src_tmp, SIMD_MUL_F32(src_tmp, alpha_data), mask)); + } + return index; +} + +static inline int SigmoidAVX512(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EXP_ST_F32(SIMD_SUB_F32(SIMD_SET0_F32, (SIMD_LD_F32(src + index))), dst + index); + SIMD_ST_F32(dst + index, + SIMD_DIV_F32(SIMD_MOV_F32(1.0f), SIMD_ADD_F32(SIMD_MOV_F32(1.0f), SIMD_LD_F32(dst + index)))); + } + return index; +} + +static inline int TanhAVX512(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_LD_F32(src + index); + SIMD_ST_F32(dst + index, SIMD_TANH_F32(input)); + } + return index; +} + +static inline int SwishAVX512(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_value = SIMD_LD_F32(src + index); + SIMD_EXP_ST_F32(SIMD_SUB_F32(SIMD_SET0_F32, src_value), dst + index); + SIMD_ST_F32(dst + index, + SIMD_DIV_F32(src_value, SIMD_ADD_F32(SIMD_MOV_F32(1.0f), SIMD_LD_F32(dst + index)))); + } + return index; +} + +static inline int HSwishAVX512(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_value = SIMD_LD_F32(src + index); + SIMD_F32 relu6 = SIMD_CLAMP_N_F32(SIMD_ADD_N_F32(src_value, 3), 0, 6); + SIMD_ST_F32(dst + index, SIMD_DIV_N_F32(SIMD_MUL_F32(src_value, relu6), 6)); + } + return index; +} + +static inline int HSigmoidAVX512(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_value = SIMD_LD_F32(src + index); + SIMD_F32 relu6 = SIMD_CLAMP_N_F32(SIMD_ADD_N_F32(src_value, 3), 0, 6); + SIMD_ST_F32(dst + index, SIMD_DIV_N_F32(relu6, 6)); + } + return index; +} + +static inline int HardTanhNoLimitMinAVX512(int index, const float *src, int length, float *dst, float min_val, + float max_val) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_MIN_N_F32(SIMD_LD_F32(src + index), max_val)); + } + return index; +} + +static inline int HardTanhNoLimitMaxAVX512(int index, const float *src, int length, float *dst, float min_val, + float max_val) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_MAX_N_F32(SIMD_LD_F32(src + index), min_val)); + } + return index; +} + +static inline int HardTanhLimitMinMaxAVX512(int index, const float *src, int length, float *dst, float min_val, + float max_val) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_CLAMP_N_F32(SIMD_LD_F32(src + index), min_val, max_val)); + } + return index; +} + +static inline int GeluTanhApproximateAVX512(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in = SIMD_LD_F32(src + index); + SIMD_F32 tmp1 = SIMD_FMADD_F32(SIMD_MUL_N_F32(in, 0.035677408136f), in, SIMD_MOV_F32(0.79788456080287f)); + SIMD_F32 tmp2 = SIMD_MUL_F32(tmp1, in); + SIMD_ST_F32(dst + index, SIMD_MUL_F32(SIMD_MUL_N_F32(in, 0.5f), SIMD_ADD_N_F32(SIMD_TANH_F32(tmp2), 1.0f))); + } + return index; +} + +static inline int GeluAVX512(int index, const float *src, int length, float *dst) { + SIMD_F32 para1 = SIMD_MOV_F32(1.4142135623730951f); + SIMD_F32 para2 = SIMD_MOV_F32(1.0f); + SIMD_F32 para3 = SIMD_MOV_F32(0.5f); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in = SIMD_LD_F32(src + index); + SIMD_F32 res = SIMD_MUL_F32(SIMD_MUL_F32(para3, in), SIMD_ADD_F32(para2, SIMD_ERF_F32(SIMD_DIV_F32(in, para1)))); + SIMD_ST_F32(dst + index, res); + } + return index; +} + +static inline SIMD_F32 SIMD_ERFCCHEBAVX512(SIMD_F32 src) { + static const int ncof = 7; + const double cof[7] = {-1.3026537197817094, 6.4196979235649026e-1, 1.9476473204185836e-2, -9.561514786808631e-3, + -9.46595344482036e-4, 3.66839497852761e-4, 4.2523324806907e-5}; + SIMD_F32 dst; + SIMD_F32 d = SIMD_SET0_F32; + SIMD_F32 dd = SIMD_SET0_F32; + SIMD_F32 t = SIMD_DIV_F32(SIMD_MOV_F32(2.0f), SIMD_ADD_F32(src, SIMD_MOV_F32(2.0f))); + SIMD_F32 ty = SIMD_SUB_F32(SIMD_MUL_F32(SIMD_MOV_F32(4.0f), t), SIMD_MOV_F32(2.0f)); + + for (int j = ncof - 1; j > 0; j--) { + SIMD_F32 tmp = d; + d = SIMD_SUB_F32(SIMD_FMADD_F32(ty, d, SIMD_MOV_F32(cof[j])), dd); + dd = tmp; + } + + dst = + SIMD_FMADD_F32(src, src, MS_FSMUL_F32(dd, SIMD_FMADD_F32(ty, d, SIMD_MOV_F32(cof[0])), SIMD_MOV_F32(0.5f))); + dst = SIMD_MUL_F32(t, SIMD_EXP_F32(SIMD_MUL_F32(SIMD_MOV_F32(-1.0f), dst))); + return dst; +} + +static inline SIMD_F32 SIMD_ERF_APPROXIMATEAVX512(SIMD_F32 src) { + SIMD_F32 abs_src = SIMD_ABS_F32(src); + SIMD_F32 sign = SIMD_GETSIGN_F32(src); + SIMD_F32 dst = SIMD_ERFCCHEBAVX512(abs_src); + return SIMD_MUL_F32(sign, SIMD_SUB_F32(SIMD_MOV_F32(1.0f), dst)); +} + +static inline int GeluErfAPPROXIMATEAVX512(int index, const float *src, int length, float *dst) { + SIMD_F32 para1 = SIMD_MOV_F32(1.4142135623730951f); + SIMD_F32 para2 = SIMD_MOV_F32(1.0f); + SIMD_F32 para3 = SIMD_MOV_F32(0.5f); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in = SIMD_LD_F32(src + index); + SIMD_F32 res = SIMD_MUL_F32(SIMD_MUL_F32(para3, in), SIMD_ADD_F32(para2, SIMD_ERF_APPROXIMATEAVX512(SIMD_DIV_F32(in, para1)))); + SIMD_ST_F32(dst + index, res); + } + return index; +} + +static inline int EluAVX512(int index, const float *src, int length, float *dst, float alpha) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_tmp = SIMD_LD_F32(src + index); + SIMD_F32 exp_tmp = SIMD_SUB_N_F32(SIMD_EXP_F32(src_tmp), 1.0f); + SIMD_MASK mask = SIMD_CMPLE_F32(src_tmp, SIMD_SET0_F32); + SIMD_ST_F32(dst + index, SIMD_BLEND_F32(src_tmp, SIMD_MUL_N_F32(exp_tmp, alpha), mask)); + } + return index; +} + +static inline int CeluAVX512(int index, const float *src, int length, float *dst, float alpha) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_tmp = SIMD_LD_F32(src + index); + SIMD_F32 exp_tmp = SIMD_SUB_N_F32(SIMD_EXP_F32(SIMD_DIV_N_F32(src_tmp, alpha)), 1.0f); + SIMD_MASK mask = SIMD_CMPLE_F32(src_tmp, SIMD_SET0_F32); + SIMD_ST_F32(dst + index, SIMD_BLEND_F32(src_tmp, SIMD_MUL_N_F32(exp_tmp, alpha), mask)); + } + return index; +} + +static inline int HardShrinkAVX512(int index, const float *src, int length, float *dst, float lambd) { + SIMD_F32 pos_lamdb_v = SIMD_MOV_F32(lambd); + SIMD_F32 neg_lamdb_v = SIMD_MOV_F32(-lambd); + + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_t = SIMD_LD_F32(src + index); + /* v0 = (in > lamdb) & in */ + SIMD_F32 value0 = SIMD_AND_MASK_F32(SIMD_CMPGT_F32(src_t, pos_lamdb_v), src_t); + /* v1 = (in < -lamdb) & in */ + SIMD_F32 value1 = SIMD_AND_MASK_F32(SIMD_CMPLT_F32(src_t, neg_lamdb_v), src_t); + /* out = (v0 | v1) */ + SIMD_ST_F32(dst + index, SIMD_OR_F32(value0, value1)); + } + return index; +} + +static inline int SoftShrinkAVX512(int index, const float *src, int length, float *dst, float lambd) { + SIMD_F32 pos_lamdb_v = SIMD_MOV_F32(lambd); + SIMD_F32 neg_lamdb_v = SIMD_MOV_F32(-lambd); + + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_t = SIMD_LD_F32(src + index); + /* v0 = (in > lamdb) & (in - lamdb) */ + SIMD_F32 value0 = SIMD_AND_MASK_F32(SIMD_CMPGT_F32(src_t, pos_lamdb_v), SIMD_SUB_F32(src_t, pos_lamdb_v)); + /* v1 = (in < -lamdb) & (in + lamdb) */ + SIMD_F32 value1 = SIMD_AND_MASK_F32(SIMD_CMPLT_F32(src_t, neg_lamdb_v), SIMD_ADD_F32(src_t, pos_lamdb_v)); + /* out = (v0 | v1) */ + SIMD_ST_F32(dst + index, SIMD_OR_F32(value0, value1)); + } + return index; +} + +static inline int SoftsignFp32OptAVX512(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_tmp = SIMD_LD_F32(src + index); + SIMD_F32 divisor_tmp = SIMD_ADD_F32(SIMD_MOV_F32(1.0f), SIMD_ABS_F32(src_tmp)); + SIMD_ST_F32(dst + index, SIMD_DIV_F32(src_tmp, divisor_tmp)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/activation_grad_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/activation_grad_avx512.h new file mode 100644 index 00000000..4011e639 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/activation_grad_avx512.h @@ -0,0 +1,57 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef NNACL_FP32_GRAD_ACTIVATION_GRAD_AVX512_H_ +#define NNACL_FP32_GRAD_ACTIVATION_GRAD_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int ShrinkGradAVX512(int index, const float *src0, const float *src1, + int length, float *dst, float lambd) { + SIMD_F32 pos_lamdb_v = SIMD_MOV_F32(lambd); + SIMD_F32 neg_lamdb_v = SIMD_MOV_F32(-lambd); + + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src0_t = SIMD_LD_F32(src0 + index); + SIMD_F32 src1_t = SIMD_LD_F32(src1 + index); + + SIMD_MASK mask0 = SIMD_CMPLE_F32(src1_t, pos_lamdb_v); + SIMD_MASK mask1 = SIMD_CMPLE_F32(neg_lamdb_v, src1_t); + SIMD_MASK mask = SIMD_AND_MASK(mask0, mask1); + + SIMD_ST_F32(dst + index, SIMD_BLEND_F32(src0_t, SIMD_MOV_F32(0.0f), mask)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/adam_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/adam_fp32_avx512.h new file mode 100644 index 00000000..0579d58a --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/adam_fp32_avx512.h @@ -0,0 +1,210 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_ADAM_FP32_AVX512_H_ +#define MINDSPORE_NNACL_FP32_ADAM_FP32_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 +#ifdef MS_SIMD_AVX512 + static inline size_t AdamWeightDecayFp32AVX512(size_t index, float *var, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + const float *gradient, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_LD_F32(var + index); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_LD_F32(gradient + index); + + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + SIMD_ST_F32(var + index, var_r); + } + + return index; +} + +static inline size_t FusedCastAdamFp32Fp16AVX512(size_t index, float *var, const int16_t *gradient16, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + float global_norm_reciprocal, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + SIMD_F32 global_norm_reciprocal_r = SIMD_MOV_F32(global_norm_reciprocal); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_LD_F32(var + index); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_F16_TO_F32(SIMD_LD_HALF_EPI32(gradient16 + index)); + + g_r = SIMD_MUL_F32(g_r, global_norm_reciprocal_r); + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(var + index, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + } + + return index; +} + +static inline size_t FusedCastAdamFp32Fp32AVX512(size_t index, float *var, const float *gradient32, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + float global_norm_reciprocal, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + SIMD_F32 global_norm_reciprocal_r = SIMD_MOV_F32(global_norm_reciprocal); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_LD_F32(var + index); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_LD_F32(gradient32 + index); + + g_r = SIMD_MUL_F32(g_r, global_norm_reciprocal_r); + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(var + index, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + } + + return index; +} + +static inline size_t FusedCastAdamFp16Fp16AVX512(size_t index, int16_t *var16, const int16_t *gradient16, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + float global_norm_reciprocal, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + SIMD_F32 global_norm_reciprocal_r = SIMD_MOV_F32(global_norm_reciprocal); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_F16_TO_F32(SIMD_LD_HALF_EPI32(var16)); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_F16_TO_F32(SIMD_LD_HALF_EPI32(gradient16 + index)); + g_r = SIMD_MUL_F32(g_r, global_norm_reciprocal_r); + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + SIMD_ST_HALF_EPI32(var16 + index, SIMD_F32_TO_F16(var_r, 0)); + } + + return index; +} + +static inline size_t FusedCastAdamFp16Fp32AVX512(size_t index, int16_t *var16, const float *gradient32, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + float global_norm_reciprocal, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + SIMD_F32 global_norm_reciprocal_r = SIMD_MOV_F32(global_norm_reciprocal); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_F16_TO_F32(SIMD_LD_HALF_EPI32(var16)); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_LD_F32(gradient32 + index); + g_r = SIMD_MUL_F32(g_r, global_norm_reciprocal_r); + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + SIMD_ST_HALF_EPI32(var16 + index, SIMD_F32_TO_F16(var_r, 0)); + } + + return index; +} +#endif + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/add_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/add_fp32_avx512.h new file mode 100644 index 00000000..264cac5f --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/add_fp32_avx512.h @@ -0,0 +1,124 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_ADD_AVX512_H_ +#define MINDSPORE_NNACL_FP32_ADD_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int ElementOptAddAVX512(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin0_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_ADD_F32(vin0_, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptAddIntAVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, + int size) { + SIMD_EPI32 vin0_ = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_ADD_EPI32(vin0_, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptAddReluAVX512(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_ADD_F32(vin0_, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptAddRelu6AVX512(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_ADD_F32(vin0_, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementAddAVX512(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_ADD_F32(vin0, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementAddReluAVX512(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_ADD_F32(vin0, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementAddRelu6AVX512(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_ADD_F32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementAddIntAVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_ADD_EPI32(vin0, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/apply_proximal_adagrad_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/apply_proximal_adagrad_fp32_avx512.h new file mode 100644 index 00000000..34feb71b --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/apply_proximal_adagrad_fp32_avx512.h @@ -0,0 +1,75 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_FP32_APPLY_PROXIMAL_ADAGRAD_AVX512_H_ +#define NNACL_FP32_APPLY_PROXIMAL_ADAGRAD_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int64_t ApplyProximalAdagradOptAVX512( + int64_t index, float *var, float *accum, float lr, float l1, float l2, float *grad, int64_t size) { + SIMD_F32 lr_vec = SIMD_MOV_F32(lr); + SIMD_F32 l1_vec = SIMD_MOV_F32(l1); + SIMD_F32 l2_vec = SIMD_MOV_F32(l2); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp_vec1 = SIMD_LD_F32(grad + index); + SIMD_F32 accum_vec = SIMD_LD_F32(accum + index); + SIMD_F32 prox_v_vec = SIMD_LD_F32(var + index); + + accum_vec = SIMD_FMADD_F32(tmp_vec1, tmp_vec1, accum_vec); + SIMD_F32 learn_rate_vec = SIMD_DIV_F32(lr_vec, SIMD_SQRT_F32(accum_vec)); + prox_v_vec = SIMD_SUB_F32(prox_v_vec, SIMD_MUL_F32(tmp_vec1, learn_rate_vec)); + SIMD_ST_F32(accum + index, accum_vec); + tmp_vec1 = SIMD_FMADD_F32(l2_vec, learn_rate_vec, SIMD_MOV_F32(1)); + if (l1 > 0) { + learn_rate_vec = SIMD_MUL_F32(learn_rate_vec, l1_vec); + learn_rate_vec = SIMD_SUB_F32(SIMD_ABS_F32(prox_v_vec), learn_rate_vec); + learn_rate_vec = SIMD_MAX_F32(learn_rate_vec, SIMD_MOV_F32(0.0f)); + learn_rate_vec = SIMD_DIV_F32(learn_rate_vec, tmp_vec1); + + SIMD_MASK greater_mask = SIMD_CMPGT_F32(SIMD_SET0_F32, prox_v_vec); + SIMD_MASK less_mask = SIMD_CMPLT_F32(SIMD_SET0_F32, prox_v_vec); + SIMD_F32 greater_v = SIMD_BLEND_F32(SIMD_MOV_F32(1), SIMD_SET0_F32, greater_mask); + SIMD_F32 less_v = SIMD_BLEND_F32(SIMD_MOV_F32(1), SIMD_SET0_F32, less_mask); + greater_v = SIMD_SUB_F32(greater_v, less_v); + + prox_v_vec = SIMD_MUL_F32(learn_rate_vec, greater_v); + } else { + prox_v_vec = SIMD_DIV_F32(prox_v_vec, tmp_vec1); + } + SIMD_ST_F32(var + index, prox_v_vec); + } + + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/apply_proximal_gradient_descent_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/apply_proximal_gradient_descent_fp32_avx512.h new file mode 100644 index 00000000..bb7e6dc7 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/apply_proximal_gradient_descent_fp32_avx512.h @@ -0,0 +1,71 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_FP32_APPLY_PROXIMAL_GRADIENT_DESCENT_AVX512_H_ +#define NNACL_FP32_APPLY_PROXIMAL_GRADIENT_DESCENT_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int64_t ApplyProximalGradientDescentOptAVX512( + int64_t index, float *var, float alpha, float l1, float l2, float *delta, int64_t size) { + SIMD_F32 alpha_vec = SIMD_MOV_F32(alpha); + SIMD_F32 l1_vec = SIMD_MOV_F32(l1); + SIMD_F32 l2_vec = SIMD_MOV_F32(l2); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 delta_vec = SIMD_LD_F32(delta + index); + SIMD_F32 prox_v_vec = SIMD_LD_F32(var + index); + + prox_v_vec = SIMD_SUB_F32(prox_v_vec, SIMD_MUL_F32(delta_vec, alpha_vec)); + SIMD_F32 tmp_vec1 = SIMD_FMADD_F32(l2_vec, alpha_vec, SIMD_MOV_F32(1)); + if (l1 > 0) { + SIMD_F32 tmp_vec2 = SIMD_MUL_F32(alpha_vec, l1_vec); + tmp_vec2 = SIMD_SUB_F32(SIMD_ABS_F32(prox_v_vec), tmp_vec2); + tmp_vec2 = SIMD_MAX_F32(tmp_vec2, SIMD_MOV_F32(0.0f)); + tmp_vec2 = SIMD_DIV_F32(tmp_vec2, tmp_vec1); + + SIMD_MASK greater_mask = SIMD_CMPGT_F32(SIMD_SET0_F32, prox_v_vec); + SIMD_MASK less_mask = SIMD_CMPLT_F32(SIMD_SET0_F32, prox_v_vec); + SIMD_F32 greater_v = SIMD_BLEND_F32(SIMD_MOV_F32(1), SIMD_SET0_F32, greater_mask); + SIMD_F32 less_v = SIMD_BLEND_F32(SIMD_MOV_F32(1), SIMD_SET0_F32, less_mask); + greater_v = SIMD_SUB_F32(greater_v, less_v); + + prox_v_vec = SIMD_MUL_F32(tmp_vec2, greater_v); + } else { + prox_v_vec = SIMD_DIV_F32(prox_v_vec, tmp_vec1); + } + SIMD_ST_F32(var + index, prox_v_vec); + } + + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/arithmetic_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/arithmetic_fp32_avx512.h new file mode 100644 index 00000000..cd3edc85 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/arithmetic_fp32_avx512.h @@ -0,0 +1,294 @@ +/** + * Copyright 2022-2023 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_ARITHMETIC_AVX512_H_ +#define MINDSPORE_NNACL_ARITHMETIC_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +#ifndef MS_SIMD_NEON +static inline int ElementFloorModAVX512(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 floor_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_F32 out_tmp = SIMD_SUB_F32(in0_tmp, SIMD_MUL_F32(floor_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorModNum0AVX512(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 floor_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_F32 out_tmp = SIMD_SUB_F32(in0_tmp, SIMD_MUL_F32(floor_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorModNum1AVX512(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in1_tmp = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 floor_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_F32 out_tmp = SIMD_SUB_F32(in0_tmp, SIMD_MUL_F32(floor_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementFloorDivAVX512(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 floor_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_ST_F32(out + index, floor_tmp); + } + return index; +} + +static inline int ElementOptFloorDivNum0AVX512(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorDivNum1AVX512(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in1_tmp = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 out_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} +#endif + +static inline int ElementFloorDivIntAVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_DIV_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorDivIntNum0AVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in0_tmp = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_DIV_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorDivIntNum1AVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in1_tmp = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 out_tmp = SIMD_DIV_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementMaximumAVX512(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_MAX_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMaximumNum0AVX512(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_MAX_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMaximumNum1AVX512(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in1_tmp = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 out_tmp = SIMD_MAX_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementMaximumIntAVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_MAX_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMaximumIntNum0AVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in0_tmp = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_MAX_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMaximumIntNum1AVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in1_tmp = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 out_tmp = SIMD_MAX_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementMinimumIntAVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_MIN_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMinimumIntNum0AVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in0_tmp = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_MIN_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMinimumIntNum1AVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in1_tmp = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 out_tmp = SIMD_MIN_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementMinimumAVX512(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_MIN_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMinimumNum0AVX512(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_MIN_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMinimumNum1AVX512(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in1_tmp = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 out_tmp = SIMD_MIN_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline size_t AssignSubOptAVX512(int index, float *in0, const float *in1, size_t size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_SUB_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(in0 + index, out_tmp); + } + return index; +} + +int ElementLogicalAndAVX512(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_AND_F32(SIMD_GETSIGN_F32(in0_tmp), SIMD_GETSIGN_F32(in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +int ElementOptLogicalAndAVX512(int index, const float *in0, const float *in1, float *out, int size, bool first_scalar) { + if (first_scalar) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(*in0); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_AND_F32(SIMD_GETSIGN_F32(in0_tmp), SIMD_GETSIGN_F32(in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + } else { + SIMD_F32 in1_tmp = SIMD_MOV_F32(*in1); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 out_tmp = SIMD_AND_F32(SIMD_GETSIGN_F32(in0_tmp), SIMD_GETSIGN_F32(in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + } + + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/arithmetic_self_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/arithmetic_self_fp32_avx512.h new file mode 100644 index 00000000..2812c15e --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/arithmetic_self_fp32_avx512.h @@ -0,0 +1,148 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_ARITHMETIC_SELF_AVX512_H_ +#define MINDSPORE_NNACL_ARITHMETIC_SELF_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +#if defined(MS_SIMD_AVX512) +// only avx512 support abs fp32 instruction +static inline int ElementAbsAVX512(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_ABS_F32(SIMD_LD_F32(input + index))); + } + return index; +} + +static inline int ElementAbsIntAVX512(int index, const int32_t *input, int32_t *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(output + index, SIMD_ABS_EPI32(SIMD_LD_EPI32(input + index))); + } + return index; +} +#endif + +#if !defined(MS_SIMD_NEON) +// not support neon + static inline int ElementCosAVX512(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin = SIMD_LD_F32(input + index); + SIMD_ST_F32(output + index, SIMD_COS_F32(vin)); + } + return index; + } + + static inline int ElementLogAVX512(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin = SIMD_LD_F32(input + index); + SIMD_ST_F32(output + index, SIMD_LOG_F32(vin)); + } + return index; + } +#endif + +static inline int ElementSquareAVX512(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin = SIMD_LD_F32(input + index); + SIMD_ST_F32(output + index, SIMD_MUL_F32(vin, vin)); + } + return index; +} + +static inline int ElementSqrtAVX512(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_SQRT_F32(SIMD_LD_F32(input + index))); + } + return index; +} + +static inline int ElementRsqrtAVX512(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_RSQRT_F32(SIMD_LD_F32(input + index))); + } + return index; +} + +#if defined(MS_SIMD_AVX) || defined(MS_SIMD_SSE) +// avx512 dont support round fp32 instruction +static inline int ElementRoundAVX512(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_ROUND_F32(SIMD_LD_F32(input + index))); + } + return index; +} +#endif + +#ifndef MS_SIMD_NEON +// neon dont support floor fp32 instruction +static inline int ElementFloorAVX512(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_FLOOR_F32(SIMD_LD_F32(input + index))); + } + return index; +} +#endif + +#ifndef MS_SIMD_NEON +static inline int ElementCeilAVX512(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_CEIL_F32(SIMD_LD_F32(input + index))); + } + return index; +} +#endif + +static inline int ElementNegativeAVX512(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_MUL_N_F32(SIMD_LD_F32(input + index), -1.0f)); + } + return index; +} + +static inline int ElementNegativeIntAVX512(int index, const int32_t *input, int32_t *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(output + index, SIMD_MUL_N_EPI32(SIMD_LD_EPI32(input + index), -1)); + } + return index; +} + +static inline int ElementReciprocalAVX512(int index, const float *input, float *output, const int element_size) { + SIMD_F32 num1 = SIMD_MOV_F32(1.0f); + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_DIV_F32(num1, SIMD_LD_F32(input + index))); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/batchnorm_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/batchnorm_fp32_avx512.h new file mode 100644 index 00000000..fd945984 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/batchnorm_fp32_avx512.h @@ -0,0 +1,67 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_ACTIVATION_AVX512_H_ +#define MINDSPORE_NNACL_FP32_ACTIVATION_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int BatchNormFp32AVX512(int index, const float *input, const float *mean, + const float *variance, int channel, float epsilon, float *output) { + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input_data = SIMD_LD_F32(input + index); + SIMD_F32 mean_ = SIMD_LD_F32(mean + index); + SIMD_F32 variance_ = SIMD_LD_F32(variance + index); + SIMD_F32 variance_sqrt = SIMD_SQRT_F32(SIMD_ADD_F32(variance_, SIMD_MOV_F32(epsilon))); + SIMD_F32 output_data = SIMD_DIV_F32(SIMD_SUB_F32(input_data, mean_), variance_sqrt); + SIMD_ST_F32(output + index, output_data); + } + return index; +} + +static inline int FusedBatchNormFp32AVX512(int index, const float *input, const float *scale, + const float *offset, const float *mean, const float *variance, int channel, float epsilon, float *output) { + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input_data = SIMD_LD_F32(input + index); + SIMD_F32 scale_ = SIMD_LD_F32(scale + index); + SIMD_F32 offset_ = SIMD_LD_F32(offset + index); + SIMD_F32 mean_ = SIMD_LD_F32(mean + index); + SIMD_F32 variance_ = SIMD_LD_F32(variance + index); + SIMD_F32 variance_sqrt = SIMD_SQRT_F32(SIMD_ADD_F32(variance_, SIMD_MOV_F32(epsilon))); + SIMD_F32 norm_val = SIMD_DIV_F32(SIMD_SUB_F32(input_data, mean_), variance_sqrt); + SIMD_F32 output_data = SIMD_ADD_F32(SIMD_MUL_F32(norm_val, scale_), offset_); + SIMD_ST_F32(output + index, output_data); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/bce_with_logits_loss_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/bce_with_logits_loss_fp32_avx512.h new file mode 100644 index 00000000..12f727be --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/bce_with_logits_loss_fp32_avx512.h @@ -0,0 +1,69 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_BCE_WITH_LOGITS_LOSS_AVX512_H_ +#define MINDSPORE_NNACL_FP32_BCE_WITH_LOGITS_LOSS_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int BCEWithLogitLossAVX512(int index, const float *logits, const float *label, + const float *weight, const float *pos_weight, int length, bool reduction, float *output, + float *reduction_sum) { + SIMD_F32 zero = SIMD_SET0_F32; + SIMD_F32 ones = SIMD_MOV_F32(1.0f); + SIMD_F32 middle_output = SIMD_SET0_F32; + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 logits_tmp = SIMD_LD_F32(logits + index); + SIMD_F32 label_tmp = SIMD_LD_F32(label + index); + SIMD_F32 weight_tmp = SIMD_LD_F32(weight + index); + SIMD_F32 pos_weight_tmp = SIMD_LD_F32(pos_weight + index); + SIMD_F32 neg_logits_tmp = SIMD_SUB_F32(zero, logits_tmp); + SIMD_F32 max_value = neg_logits_tmp; + max_value = SIMD_MAX_F32(max_value, zero); + SIMD_F32 neg_max_value = SIMD_SUB_F32(zero, max_value); + SIMD_F32 log_weight = SIMD_ADD_F32(SIMD_MUL_F32(SIMD_SUB_F32(pos_weight_tmp, ones), label_tmp), ones); + SIMD_F32 log_exp_value = + SIMD_LOG_F32(SIMD_ADD_F32(SIMD_HEXP_F32(neg_max_value), SIMD_HEXP_F32(SIMD_SUB_F32(neg_logits_tmp, max_value)))); + SIMD_F32 loss = SIMD_ADD_F32(SIMD_MUL_F32(SIMD_SUB_F32(ones, label_tmp), logits_tmp), + SIMD_MUL_F32(log_weight, SIMD_ADD_F32(log_exp_value, max_value))); + if (reduction) { + middle_output = SIMD_FMADD_F32(loss, weight_tmp, middle_output); + } else { + SIMD_ST_F32(output + index, SIMD_MUL_F32(loss, weight_tmp)); + } + } + if (reduction) { + *reduction_sum += SIMD_GET_SUM_F32(middle_output); + } + return index; +} +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/bias_add_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/bias_add_avx512.h new file mode 100644 index 00000000..abdad5ff --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/bias_add_avx512.h @@ -0,0 +1,64 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_BIAS_ADD_AVX512_H_ +#define MINDSPORE_NNACL_FP32_BIAS_ADD_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int BiasAddByInnerCoreAVX512(int index, const float *input, const float *bias, float *output, + int64_t num) { + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(input + index); + SIMD_F32 vin1 = SIMD_LD_F32(bias + index); + SIMD_F32 vout = SIMD_ADD_F32(vin0, vin1); + SIMD_ST_F32(output + index, vout); + } + return index; +} + +static inline int BiasAddByBatchCoreAVX512(int index, const float *input, const float *bias, float *output1, + float *output2, float *output3, float *output4, int64_t num) { + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_LDX4_F32(input_data, input + index, num); + SIMD_F32 bias_data = SIMD_LD_F32(bias + index); + SIMD_ST_F32(output1 + index, SIMD_ADD_F32(input_data1, bias_data)); + SIMD_ST_F32(output2 + index, SIMD_ADD_F32(input_data2, bias_data)); + SIMD_ST_F32(output3 + index, SIMD_ADD_F32(input_data3, bias_data)); + SIMD_ST_F32(output4 + index, SIMD_ADD_F32(input_data4, bias_data)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +}; +#endif + +#endif // MINDSPORE_NNACL_FP32_BIAS_ADD_SIMD_H_ diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/cast_base_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/cast_base_avx512.h new file mode 100644 index 00000000..bef848c5 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/cast_base_avx512.h @@ -0,0 +1,56 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_BASE_CAST_BASE_AVX512_H_ +#define NNACL_BASE_CAST_BASE_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int Int32ToFloat32AVX512(int index, const int32_t *input, float *output, int number) { + for (int block_max_size = number - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 value = SIMD_LD_EPI32(input + index); + SIMD_ST_F32(output + index, SIMD_EPI32_TO_F32(value)); + } + return index; +} + +#ifndef MS_SIMD_NEON +static inline int Float32ToInt32AVX512(int index, const float *input, int32_t *output, int number) { + for (int block_max_size = number - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 value = SIMD_LD_F32(input + index); + SIMD_ST_EPI32(output + index, SIMD_F32_TO_EPI32(value)); + } + return index; +} +#endif + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/cast_gather_reduce_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/cast_gather_reduce_fp32_avx512.h new file mode 100644 index 00000000..eed7cece --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/cast_gather_reduce_fp32_avx512.h @@ -0,0 +1,72 @@ +/** + * Copyright 2023 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_ARITHMETIC_SELF_AVX512_H_ +#define MINDSPORE_NNACL_ARITHMETIC_SELF_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int Fp32CastGatherReduceInt64FusionAVX512(int index, float *output_data, const int64_t *input_indices, const float *input_data, + int32_t inner_size, int32_t input_data_inner_size, int32_t outer_start, + int32_t outer_end) { + for (int block_max_size = input_data_inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + for (int i = outer_start; i < outer_end; i++) { + SIMD_F32 result = SIMD_SET0_F32; + for (int j = 0; j < inner_size; j++) { + int64_t indice = input_indices[i * inner_size + j]; + result = SIMD_ADD_F32(result, SIMD_LD_F32(input_data + indice * input_data_inner_size + index)); + } + SIMD_ST_F32(output_data + i * input_data_inner_size + index, result); + } + } + return index; +} + + +static inline int Fp32CastGatherReduceInt32FusionAVX512(int index, float *output_data, const int32_t *input_indices, const float *input_data, + int32_t inner_size, int32_t input_data_inner_size, int32_t outer_start, + int32_t outer_end) { + for (int block_max_size = input_data_inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + for (int i = outer_start; i < outer_end; i++) { + SIMD_F32 result = SIMD_SET0_F32; + for (int j = 0; j < inner_size; j++) { + int32_t indice = input_indices[i * inner_size + j]; + result = SIMD_ADD_F32(result, SIMD_LD_F32(input_data + indice * input_data_inner_size + index)); + } + SIMD_ST_F32(output_data + i * input_data_inner_size + index, result); + } + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/cdist_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/cdist_fp32_avx512.h new file mode 100644 index 00000000..11a2abcf --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/cdist_fp32_avx512.h @@ -0,0 +1,70 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_CDIST_AVX512_H_ +#define MINDSPORE_NNACL_FP32_CDIST_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int64_t CdistTwoNormalOptAVX512(int64_t index, const float *a, const float *b, + float *out, int64_t size) { + SIMD_F32 result_vec = SIMD_MOV_F32(0.0f); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 a_vec = SIMD_LD_F32(a + index); + SIMD_F32 b_vec = SIMD_LD_F32(b + index); + SIMD_F32 tmp_vec = SIMD_SUB_F32(a_vec, b_vec); + tmp_vec = SIMD_ABS_F32(tmp_vec); + result_vec = SIMD_FMADD_F32(tmp_vec, tmp_vec, result_vec); + } + *out += SIMD_GET_SUM_F32(result_vec); + + return index; +} + +static inline int64_t CdistPNormalOptAVX512(int64_t index, const float *a, const float *b, + float *out, int64_t size, float p) { + SIMD_F32 result_vec = SIMD_MOV_F32(0.0f); + SIMD_F32 p_vec = SIMD_MOV_F32(p); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 a_vec = SIMD_LD_F32(a + index); + SIMD_F32 b_vec = SIMD_LD_F32(b + index); + SIMD_F32 tmp_vec = SIMD_SUB_F32(a_vec, b_vec); + tmp_vec = SIMD_ABS_F32(tmp_vec); + tmp_vec = SIMD_POW_F32(tmp_vec, p_vec); + result_vec = SIMD_ADD_F32(tmp_vec, result_vec); + } + *out += SIMD_GET_SUM_F32(result_vec); + + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/cumsum_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/cumsum_fp32_avx512.h new file mode 100644 index 00000000..6a064375 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/cumsum_fp32_avx512.h @@ -0,0 +1,121 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_CUMSUM_AVX512_H_ +#define MINDSPORE_NNACL_FP32_CUMSUM_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +// (a, b, c) -> (a, a+b, a+b+c) exclusive == false +// (a, b, c) -> (0, a, a+b) exclusive == true +static inline int64_t CumsumOutputInitWithInputAVX512(int64_t index, const float *layer_input, + float *layer_output, int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(layer_output + index, SIMD_LD_F32(layer_input + index)); + } + return index; +} + +static inline int64_t CumsumOutputInitWithZeroAVX512(int64_t index, float *layer_output, int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(layer_output + index, SIMD_MOV_F32(0.0f)); + } + return index; +} + +static inline int64_t CumsumAVX512(int64_t index, const float *layer_input, float *layer_output, float *layer_last_output, + int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input_val = SIMD_LD_F32(layer_input + index); + SIMD_F32 last_output_val = SIMD_LD_F32(layer_last_output + index); + SIMD_F32 out_val = SIMD_ADD_F32(input_val, last_output_val); + SIMD_ST_F32(layer_output + index, out_val); + } + return index; +} + +// (a, b, c) -> (c+b+a, c+b, c) exclusive==false +// (a, b, c) -> (c+b, c, 0) exclusive==true +static inline int64_t CumsumReverseAVX512(int64_t index, const float *layer_input, float *layer_output, + float *layer_last_output, int inner_dim) { + + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input_val = SIMD_LD_F32(layer_input - index - BLOCK_NUM + 1); + SIMD_F32 last_output_val = SIMD_LD_F32(layer_last_output - index - BLOCK_NUM + 1); + SIMD_F32 out_val = SIMD_ADD_F32(input_val, last_output_val); + SIMD_ST_F32(layer_output - index - BLOCK_NUM + 1, out_val); + } + return index; +} + +// (a, b, c) -> (a, a+b, a+b+c) exclusive == false +// (a, b, c) -> (0, a, a+b) exclusive == true +static inline int64_t CumsumIntOutputInitWithInputAVX512(int64_t index, const int32_t *layer_input, + int32_t *layer_output, int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(layer_output + index, SIMD_LD_EPI32(layer_input + index)); + } + return index; +} + +static inline int64_t CumsumIntOutputInitWithZeroAVX512(int64_t index, int32_t *layer_output, int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(layer_output + index, SIMD_MOV_EPI32(0.0f)); + } + return index; +} + +static inline int64_t CumsumIntAVX512(int64_t index, const int32_t *layer_input, int32_t *layer_output, int32_t *layer_last_output, + int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 input_val = SIMD_LD_EPI32(layer_input + index); + SIMD_EPI32 last_output_val = SIMD_LD_EPI32(layer_last_output + index); + SIMD_EPI32 out_val = SIMD_ADD_EPI32(input_val, last_output_val); + SIMD_ST_EPI32(layer_output + index, out_val); + } + return index; +} + +// (a, b, c) -> (c+b+a, c+b, c) exclusive==false +// (a, b, c) -> (c+b, c, 0) exclusive==true +static inline int64_t CumsumReverseIntAVX512(int64_t index, const int32_t *layer_input, int32_t *layer_output, int32_t *layer_last_output, + int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 input_val = SIMD_LD_EPI32(layer_input - index - BLOCK_NUM + 1); + SIMD_EPI32 last_output_val = SIMD_LD_EPI32(layer_last_output - index - BLOCK_NUM + 1); + SIMD_EPI32 out_val = SIMD_ADD_EPI32(input_val, last_output_val); + SIMD_ST_EPI32(layer_output - index - BLOCK_NUM + 1, out_val); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/div_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/div_fp32_avx512.h new file mode 100644 index 00000000..286cd239 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/div_fp32_avx512.h @@ -0,0 +1,167 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_DIV_AVX512_H_ +#define MINDSPORE_NNACL_FP32_DIV_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int ElementOptDivNum0AVX512(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_DIV_F32(vin0_opt, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivNum1AVX512(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_DIV_F32(vin0, vin1_opt_); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivIntNum0AVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_DIV_EPI32(vin0_opt, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivIntNum1AVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_DIV_EPI32(vin0, vin1_opt_); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivReluNum0AVX512(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_DIV_F32(vin0_opt, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivReluNum1AVX512(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_DIV_F32(vin0, vin1_opt_), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivRelu6Num0AVX512(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_DIV_F32(vin0_opt, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivRelu6Num1AVX512(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_DIV_F32(vin0, vin1_opt_), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementDivAVX512(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_DIV_F32(vin0, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementDivIntAVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_DIV_EPI32(vin0, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementDivReluAVX512(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_DIV_F32(vin0, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementDivRelu6AVX512(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_DIV_F32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +}; +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/dropout_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/dropout_fp32_avx512.h new file mode 100644 index 00000000..eb847c23 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/dropout_fp32_avx512.h @@ -0,0 +1,46 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_DROPOUTFP32_AVX512_H_ +#define MINDSPORE_NNACL_FP32_DROPOUTFP32_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int DropoutFp32AVX512(int index, const float *input, float scale, + int length, float *output) { + SIMD_F32 scale_value = SIMD_MOV_F32(scale); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_MUL_F32(SIMD_LD_F32(input + index), scale_value)); + } + return index; +} +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/exp_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/exp_fp32_avx512.h new file mode 100644 index 00000000..14386f5f --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/exp_fp32_avx512.h @@ -0,0 +1,63 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_DIV_AVX512_H_ +#define MINDSPORE_NNACL_FP32_DIV_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int64_t ExpFp32AVX512(int64_t index, const float *src, float *dst, int num) { + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EXP_ST_F32(SIMD_LD_F32(src + index), dst + index); + } + return index; +} + +static inline int64_t ExpFp32WithInScaleAVX512(int64_t index, const float *src, float *dst, int num, float in_scale) { + SIMD_F32 scale_vec = SIMD_MOV_F32(in_scale); + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EXP_ST_F32(SIMD_MUL_F32(SIMD_LD_F32(src + index), scale_vec), dst + index); + } + return index; +} + +static inline int64_t ExpFp32WithOutScaleAVX512(int64_t index, const float *src, float *dst, int num, float out_scale) { + SIMD_F32 scale_vec = SIMD_MOV_F32(out_scale); + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EXP_ST_F32(SIMD_LD_F32(src + index), dst + index); + SIMD_ST_F32(dst + index, SIMD_MUL_F32(SIMD_LD_F32(dst + index), scale_vec)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +}; +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/fill_base_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/fill_base_avx512.h new file mode 100644 index 00000000..ad4f7706 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/fill_base_avx512.h @@ -0,0 +1,53 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_BASE_FILL_BASE_AVX512_H_ +#define NNACL_BASE_FILL_BASE_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int FillFp32AVX512(int index, float *output, int size, float data) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_MOV_F32(data)); + } + return index; +} + +static inline int FillInt32AVX512(int index, int *output, int size, int data) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(output + index, SIMD_MOV_EPI32(data)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif + diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/group_norm_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/group_norm_fp32_avx512.h new file mode 100644 index 00000000..f26537d9 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/group_norm_fp32_avx512.h @@ -0,0 +1,77 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_GROUP_NORM_FP32_AVX512_H_ +#define MINDSPORE_NNACL_FP32_GROUP_NORM_FP32_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int64_t GroupNormFp32AVX512(int64_t index, const float *unit_input, float scale, float offset, float mean, + float var_sqrt, int unit, float *unit_output) { + SIMD_F32 mean_val = SIMD_MOV_F32(mean); + SIMD_F32 v_sqrt = SIMD_MOV_F32(var_sqrt); + SIMD_F32 scale_val = SIMD_MOV_F32(scale); + SIMD_F32 offset_val = SIMD_MOV_F32(offset); + for (int block_max_size = unit - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_LD_F32(unit_input + index); + SIMD_F32 norm_val = SIMD_DIV_F32(SIMD_SUB_F32(input, mean_val), v_sqrt); + SIMD_F32 output = SIMD_ADD_F32(SIMD_MUL_F32(norm_val, scale_val), offset_val); + SIMD_ST_F32(unit_output + index, output); + } + return index; +} + +static inline int64_t GroupNormReduceSumAVX512(int64_t index, const float *in, float *sum, int unit) { + if (unit - index >= 4 * BLOCK_NUM) { + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int block_max_size = unit - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(in + index)); + } + *sum += SIMD_GET_SUM_F32(tmp); + } + return index; +} + +static inline int64_t GroupNormReduceVarAVX512(int64_t index, const float *in, float mean, float *sum, int unit) { + if (unit - index >= 4 * BLOCK_NUM) { + SIMD_F32 mean_val = SIMD_MOV_F32(mean); + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int block_max_size = unit - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_SUB_F32(SIMD_LD_F32(in + index), mean_val); + tmp = SIMD_ADD_F32(tmp, SIMD_MUL_F32(input, input)); + } + *sum += SIMD_GET_SUM_F32(tmp); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/layer_norm_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/layer_norm_fp32_avx512.h new file mode 100644 index 00000000..e5fb6d7b --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/layer_norm_fp32_avx512.h @@ -0,0 +1,68 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_LAYER_NORM_FP32_AVX512_H_ +#define MINDSPORE_NNACL_FP32_LAYER_NORM_FP32_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int LayerNormMeanAndSquareAVX512(int index, const float *src, int num, float *mean, float *square_mean) { + if (num >= 4 * BLOCK_NUM) { + SIMD_F32 sum_val = SIMD_SET0_F32; + SIMD_F32 square_sum_val = SIMD_SET0_F32; + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 value = SIMD_LD_F32(src + index); + SIMD_F32 square_value = SIMD_MUL_F32(value, value); + sum_val = SIMD_ADD_F32(sum_val, value); + square_sum_val = SIMD_ADD_F32(square_sum_val, square_value); + } + *mean += SIMD_GET_SUM_F32(sum_val); + *square_mean += SIMD_GET_SUM_F32(square_sum_val); + } + return index; +} + +static inline int LayerNormGammaAndBetaAVX512(int index, float *dst, const float *src, const float *gamma_data, + const float *beta_data, int num, const float mean, const float deno) { + SIMD_F32 mean_val = SIMD_MOV_F32(mean); + SIMD_F32 deno_val = SIMD_MOV_F32(deno); + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 value = SIMD_LD_F32(src + index); + SIMD_F32 out_value = SIMD_SUB_F32(value, mean_val); + out_value = SIMD_MUL_F32(out_value, deno_val); + out_value = SIMD_FMADD_F32(out_value, SIMD_LD_F32(gamma_data + index), SIMD_LD_F32(beta_data + index)); + SIMD_ST_F32(dst + index, out_value); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/matmul_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/matmul_fp32_avx512.h new file mode 100644 index 00000000..a2311c8d --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/matmul_fp32_avx512.h @@ -0,0 +1,155 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_FP32_MATMUL_F32_AVX512_H_ +#define MINDSPORE_NNACL_FP32_MATMUL_F32_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +// act_type must be 0, 1, 2. 0: no_act, 1: relu, 3: relu6. +static inline int64_t GemmIsNotPackAVX512(int64_t index, const float *a, const float *b, float *c, const float *bias, int row, + int deep, int act_type) { + SIMD_F32 down_threshold = SIMD_MOV_F32(0.0f); + SIMD_F32 up_threshold = SIMD_MOV_F32(6); + SIMD_F32 b_data16 = SIMD_MOV_F32(b[0]); + SIMD_F32 bias_data16 = SIMD_MOV_F32(bias[0]); + for (int block_max_size = row - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 a_data = SIMD_LD_F32(a + index); + SIMD_F32 dst = SIMD_FMADD_F32(b_data16, a_data, bias_data16); + if (act_type != 0) { + dst = SIMD_MAX_F32(dst, down_threshold); + if (act_type == 3) { + dst = SIMD_MIN_F32(dst, up_threshold); + } + } + SIMD_ST_F32(c + index, dst); + } + + return index; +} + +// act_type must be 0, 1, 2. 0: no_act, 1: relu, 3: relu6. +static inline int64_t Row1Deep1GemmIsNotPackAVX512(int64_t index, const float *a, const float *b, float *c, const float *bias, int col, + int act_type) { + SIMD_F32 down_threshold = SIMD_MOV_F32(0.0f); + SIMD_F32 up_threshold = SIMD_MOV_F32(6); + SIMD_F32 vec_a = SIMD_MOV_F32(a[0]); + if (act_type == 1) { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 vec_bias = SIMD_LD_F32(bias + index); + SIMD_F32 dst = SIMD_FMADD_F32(vec_a, vec_b, vec_bias); + SIMD_ST_F32(c + index, SIMD_MAX_F32(dst, down_threshold)); // relu + } + } else if (act_type == 3) { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 vec_bias = SIMD_LD_F32(bias + index); + SIMD_F32 dst = SIMD_FMADD_F32(vec_a, vec_b, vec_bias); + SIMD_ST_F32(c + index, SIMD_CLAMP_F32(dst, down_threshold, up_threshold)); // relue6 + } + } else { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 vec_bias = SIMD_LD_F32(bias + index); + SIMD_F32 dst = SIMD_FMADD_F32(vec_a, vec_b, vec_bias); + SIMD_ST_F32(c + index, dst); // no_act + } + } + + return index; +} + +// act_type must be 0, 1, 2. 0: no_act, 1: relu, 3: relu6. +static inline int64_t Row1Deep1NoBiasGemmIsNotPackAVX512(int64_t index, const float *a, const float *b, float *c, const float *bias, int col, + int act_type) { + SIMD_F32 down_threshold = SIMD_MOV_F32(0.0f); + SIMD_F32 up_threshold = SIMD_MOV_F32(6); + SIMD_F32 vec_a = SIMD_MOV_F32(a[0]); + if (act_type == 1) { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 dst = SIMD_MUL_F32(vec_a, vec_b); + SIMD_ST_F32(c + index, SIMD_MAX_F32(dst, down_threshold)); // relu + } + } else if (act_type == 3) { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 dst = SIMD_MUL_F32(vec_a, vec_b); + SIMD_ST_F32(c + index, SIMD_CLAMP_F32(dst, down_threshold, up_threshold)); // relue6 + } + } else { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 dst = SIMD_MUL_F32(vec_a, vec_b); + SIMD_ST_F32(c + index, dst); // no_act + } + } + + return index; +} + +#if defined(MS_SIMD_AVX512) || defined(MS_SIMD_AVX) +static inline int64_t GemmIsNotPackOptimizeCoreAVX512(int64_t index, const float *a, const float *b, int k, float *dst) { + SIMD_F32 dst1 = SIMD_MOV_F32(0.0f); + for (int block_max_size = k - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 weight = SIMD_LD_F32(b + index); + SIMD_F32 a1 = SIMD_LD_F32(a + index); + dst1 = SIMD_FMADD_F32(weight, a1, dst1); + } + *dst += SIMD_REDUCE_ADD_F32(dst1); + return index; +} +#endif + +static inline int64_t MatVecMulNoPackCoreAVX512(int64_t oc_index, const float *a, const float *b, float *c, const float *bias, + int act_type, int64_t depth, int64_t oc, int64_t col, int64_t inc_flag) { + for (int64_t oc_max_size = oc - BLOCK_NUM; oc_index <= oc_max_size; oc_index += BLOCK_NUM) { + SIMD_F32 out = (inc_flag & 0x1) == 0 ? SIMD_LD_F32(c + oc_index) : (bias == NULL ? SIMD_MOV_F32(0.0f) : SIMD_LD_F32(bias + oc_index)); + for (int64_t k = 0; k < depth; ++k) { + SIMD_F32 left = SIMD_MOV_F32(a[k]); + SIMD_F32 right = SIMD_LD_F32(b + oc_index + k * col); + out = SIMD_FMADD_F32(left, right, out); + } + if ((inc_flag & 0x2) != 0 && act_type != 0) { + out = SIMD_MAX_F32(out, SIMD_MOV_F32(0.0f)); + if (act_type == 0x3) { + out = SIMD_MIN_F32(out, SIMD_MOV_F32(6.0f)); + } + } + SIMD_ST_F32(c + oc_index, out); + } + return oc_index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/mul_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/mul_fp32_avx512.h new file mode 100644 index 00000000..70b7ae23 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/mul_fp32_avx512.h @@ -0,0 +1,218 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_ACTIVATION_AVX512_H_ +#define MINDSPORE_NNACL_FP32_ACTIVATION_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int ElementMulAVX512(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MUL_F32(vin0, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementMulReluAVX512(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_MUL_F32(vin0, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementMulRelu6AVX512(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_MUL_F32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementMulIntAVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MUL_EPI32(vin0, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementMulReluIntAVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0, vin1), 0.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementMulRelu6IntAVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MIN_N_EPI32(SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulNum0AVX512(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin0_opt_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MUL_F32(vin0_opt_, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulNum1AVX512(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MUL_F32(vin0, vin1_opt_); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulReluNum0AVX512(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin0_opt_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_MUL_F32(vin0_opt_, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulReluNum1AVX512(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_MUL_F32(vin0, vin1_opt_), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulRelu6Num0AVX512(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin0_opt_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_MUL_F32(vin0_opt_, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulRelu6Num1AVX512(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_MUL_F32(vin0, vin1_opt_), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulIntNum0AVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt_ = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MUL_EPI32(vin0_opt_, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulIntNum1AVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_MUL_EPI32(vin0, vin1_opt_); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulReluIntNum0AVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt_ = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0_opt_, vin1), 0.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulReluIntNum1AVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0, vin1_opt_), 0.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulRelu6IntNum0AVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt_ = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MIN_N_EPI32(SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0_opt_, vin1), 0.0f), 6.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulRelu6IntNum1AVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_MIN_N_EPI32(SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0, vin1_opt_), 0.0f), 6.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/pooling_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/pooling_fp32_avx512.h new file mode 100644 index 00000000..d1e001ee --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/pooling_fp32_avx512.h @@ -0,0 +1,84 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_POOLING_AVX512_H_ +#define MINDSPORE_NNACL_FP32_POOLING_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int AvgPoolingBatchAVX512(int ci, const float *src_plane_ptr, int channel, + float *dst_plane_ptr, int real_win_h_start, int real_win_h_end, int real_win_w_start, int real_win_w_end, + int in_h_index, int in_w, int in_w_index, float minf, float maxf) { + SIMD_F32 min_val = SIMD_MOV_F32(minf); + SIMD_F32 max_val = SIMD_MOV_F32(maxf); + for (int block_max_size = channel - BLOCK_NUM + 1; ci < block_max_size; ci += BLOCK_NUM) { + const float *src_c_ptr = src_plane_ptr + ci; + float *dst_c_ptr = dst_plane_ptr + ci; + SIMD_F32 tmp_avg = SIMD_SET0_F32; + int real_count = 0; + for (int h = real_win_h_start; h < real_win_h_end; h++) { + for (int w = real_win_w_start; w < real_win_w_end; w++) { + const float *src_win_ptr = src_c_ptr + ((in_h_index + h) * in_w + in_w_index + w) * channel; + tmp_avg = SIMD_ADD_F32(tmp_avg, SIMD_LD_F32(src_win_ptr)); + ++real_count; + } + } + tmp_avg = SIMD_DIV_F32(tmp_avg, SIMD_MOV_F32(real_count)); + tmp_avg = SIMD_MAX_F32(tmp_avg, min_val); + tmp_avg = SIMD_MIN_F32(tmp_avg, max_val); + SIMD_ST_F32(dst_c_ptr, tmp_avg); + } + return ci; +} + +static inline int MaxPoolingBatchAVX512(int ci, const float *src_plane_ptr, int channel, + float *dst_plane_ptr, int real_win_h_start, int real_win_h_end, int real_win_w_start, int real_win_w_end, + int in_h_index, int in_w, int in_w_index, float minf, float maxf) { + SIMD_F32 min_val = SIMD_MOV_F32(minf); + SIMD_F32 max_val = SIMD_MOV_F32(maxf); + for (int block_max_size = channel - BLOCK_NUM + 1; ci < block_max_size; ci += BLOCK_NUM) { + const float *src_c_ptr = src_plane_ptr + ci; + float *dst_c_ptr = dst_plane_ptr + ci; + SIMD_F32 tmp_max = min_val; + for (int kh = real_win_h_start; kh < real_win_h_end; kh++) { + for (int kw = real_win_w_start; kw < real_win_w_end; kw++) { + const float *src_win_ptr = src_c_ptr + ((in_h_index + kh) * in_w + in_w_index + kw) * channel; + tmp_max = SIMD_MAX_F32(tmp_max, SIMD_LD_F32(src_win_ptr)); + } + } + tmp_max = SIMD_MIN_F32(tmp_max, max_val); + SIMD_ST_F32(dst_c_ptr, tmp_max); + } + return ci; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/power_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/power_fp32_avx512.h new file mode 100644 index 00000000..a31eaf2f --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/power_fp32_avx512.h @@ -0,0 +1,101 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_POWER_AVX512_H_ +#define MINDSPORE_NNACL_FP32_POWER_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int PowerBroadCastIntExponentAVX512(int index, const float *input, int exponent, float *output, int len, + float scale, float shift) { + SIMD_F32 scale_vec = SIMD_MOV_F32(scale); + SIMD_F32 shift_vec = SIMD_MOV_F32(shift); + for (int block_max_size = len - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp = SIMD_FMADD_F32(scale_vec, SIMD_LD_F32(input + index), shift_vec); + SIMD_F32 result = SIMD_MOV_F32(1.0f); + int exp = abs(exponent); + while (exp) { + if (exp % 2) { + result = SIMD_MUL_F32(result, tmp); + } + tmp = SIMD_MUL_SQUARE_F32(tmp); + exp = exp / 2; + } + SIMD_ST_F32(output + index, exponent >= 0 ? result : SIMD_DIV_F32(SIMD_MOV_F32(1), result)); + } + return index; +} + +static inline int PowerBroadCastFloatExponentAVX512(int index, const float *input, float exponent, float *output, int len, + float scale, float shift) { + SIMD_F32 scale_vec = SIMD_MOV_F32(scale); + SIMD_F32 shift_vec = SIMD_MOV_F32(shift); + for (int block_max_size = len - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp = SIMD_FMADD_F32(scale_vec, SIMD_LD_F32(input + index), shift_vec); + SIMD_F32 result; + for (int i = 0; i < BLOCK_NUM; ++i) { + SIMD_F32_GETI(result, i) = powf(SIMD_F32_GETI(tmp, i), exponent); + } + SIMD_ST_F32(output + index, result); + } + return index; +} + +static inline int PowerSingleExponentAVX512(int index, const float *input, const float *exponent, float *output, int len, + float scale, float shift) { + SIMD_F32 scale_vec = SIMD_MOV_F32(scale); + SIMD_F32 shift_vec = SIMD_MOV_F32(shift); + for (int block_max_size = len - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp_vec = SIMD_FMADD_F32(scale_vec, SIMD_LD_F32(input + index), shift_vec); + for (int j = 0; j < BLOCK_NUM; ++j) { + float cur_exponent = exponent[index + j]; + float cur_val = SIMD_F32_GETI(tmp_vec, j); + if (fabsf(cur_exponent - (int)(cur_exponent)) < 0.000001) { + int exp = abs((int)(cur_exponent)); + float result = 1; + while (exp) { + if (exp % 2) { + result *= cur_val; + } + cur_val *= cur_val; + exp = exp / 2; + } + output[index + j] = *exponent >= 0 ? result : 1 / result; + } else { + output[index + j] = powf(cur_val, cur_exponent); + } + } + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/reduce_concat_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/reduce_concat_fp32_avx512.h new file mode 100644 index 00000000..9ae1f4ef --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/reduce_concat_fp32_avx512.h @@ -0,0 +1,122 @@ +/** + * Copyright 2023 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_REDUCE_CONCAT_FP32_SIMD_AVX512_H_ +#define MINDSPORE_NNACL_REDUCE_CONCAT_FP32_SIMD_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +#ifdef MS_SIMD_AVX512 +static inline int Fp32ReduceSumConcatAxisSize16FusionAVX512(int index, float *output_data, const float *input_data, int64_t reduce_axis_size) { + SIMD_F32 zmm00 = SIMD_LD_F32(input_data); + for (int l = 1; l < reduce_axis_size; l++) { + input_data += (1 * BLOCK_NUM); + zmm00 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data)); + } + SIMD_ST_F32(output_data, zmm00); + return index; +} + +static inline int Fp32ReduceSumConcatAxisSize32FusionAVX512(int index, float *output_data, const float *input_data, int64_t reduce_axis_size) { + SIMD_F32 zmm00 = SIMD_LD_F32(input_data + 0 * BLOCK_NUM); + SIMD_F32 zmm01 = SIMD_LD_F32(input_data + 1 * BLOCK_NUM); + for (int l = 1; l < reduce_axis_size; l++) { + input_data += (2 * BLOCK_NUM); + zmm00 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data + 0 * BLOCK_NUM)); + zmm01 = SIMD_ADD_F32(zmm01, SIMD_LD_F32(input_data + 1 * BLOCK_NUM)); + } + + SIMD_ST_F32(output_data + 0 * BLOCK_NUM, zmm00); + SIMD_ST_F32(output_data + 1 * BLOCK_NUM, zmm01); + + return index; +} + +static inline int Fp32ReduceSumConcatAxisSize64FusionAVX512(int index, float *output_data, const float *input_data, int64_t reduce_axis_size) { + SIMD_F32 zmm00 = SIMD_LD_F32(input_data + 0 * BLOCK_NUM); + SIMD_F32 zmm01 = SIMD_LD_F32(input_data + 1 * BLOCK_NUM); + SIMD_F32 zmm02 = SIMD_LD_F32(input_data + 2 * BLOCK_NUM); + SIMD_F32 zmm03 = SIMD_LD_F32(input_data + 3 * BLOCK_NUM); + for (int l = 1; l < reduce_axis_size; l++) { + input_data += (4 * BLOCK_NUM); + zmm00 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data + 0 * BLOCK_NUM)); + zmm01 = SIMD_ADD_F32(zmm01, SIMD_LD_F32(input_data + 1 * BLOCK_NUM)); + zmm02 = SIMD_ADD_F32(zmm02, SIMD_LD_F32(input_data + 2 * BLOCK_NUM)); + zmm03 = SIMD_ADD_F32(zmm03, SIMD_LD_F32(input_data + 3 * BLOCK_NUM)); + } + + SIMD_ST_F32(output_data + 0 * BLOCK_NUM, zmm00); + SIMD_ST_F32(output_data + 1 * BLOCK_NUM, zmm01); + SIMD_ST_F32(output_data + 2 * BLOCK_NUM, zmm02); + SIMD_ST_F32(output_data + 3 * BLOCK_NUM, zmm03); + + return index; +} + +static inline int Fp32ReduceSumConcatAxisSize128FusionAVX512(int index, float *output_data, const float *input_data, int64_t reduce_axis_size) { + SIMD_F32 zmm00 = SIMD_LD_F32(input_data + 0 * BLOCK_NUM); + SIMD_F32 zmm01 = SIMD_LD_F32(input_data + 1 * BLOCK_NUM); + SIMD_F32 zmm02 = SIMD_LD_F32(input_data + 2 * BLOCK_NUM); + SIMD_F32 zmm03 = SIMD_LD_F32(input_data + 3 * BLOCK_NUM); + SIMD_F32 zmm04 = SIMD_LD_F32(input_data + 4 * BLOCK_NUM); + SIMD_F32 zmm05 = SIMD_LD_F32(input_data + 5 * BLOCK_NUM); + SIMD_F32 zmm06 = SIMD_LD_F32(input_data + 6 * BLOCK_NUM); + SIMD_F32 zmm07 = SIMD_LD_F32(input_data + 7 * BLOCK_NUM); + for (int l = 1; l < reduce_axis_size; l++) { + input_data += (8 * BLOCK_NUM); + zmm00 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data + 0 * BLOCK_NUM)); + zmm01 = SIMD_ADD_F32(zmm01, SIMD_LD_F32(input_data + 1 * BLOCK_NUM)); + zmm02 = SIMD_ADD_F32(zmm02, SIMD_LD_F32(input_data + 2 * BLOCK_NUM)); + zmm03 = SIMD_ADD_F32(zmm03, SIMD_LD_F32(input_data + 3 * BLOCK_NUM)); + zmm04 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data + 4 * BLOCK_NUM)); + zmm05 = SIMD_ADD_F32(zmm01, SIMD_LD_F32(input_data + 5 * BLOCK_NUM)); + zmm06 = SIMD_ADD_F32(zmm02, SIMD_LD_F32(input_data + 6 * BLOCK_NUM)); + zmm07 = SIMD_ADD_F32(zmm03, SIMD_LD_F32(input_data + 7 * BLOCK_NUM)); + } + + SIMD_ST_F32(output_data + 0 * BLOCK_NUM, zmm00); + SIMD_ST_F32(output_data + 1 * BLOCK_NUM, zmm01); + SIMD_ST_F32(output_data + 2 * BLOCK_NUM, zmm02); + SIMD_ST_F32(output_data + 3 * BLOCK_NUM, zmm03); + SIMD_ST_F32(output_data + 4 * BLOCK_NUM, zmm04); + SIMD_ST_F32(output_data + 5 * BLOCK_NUM, zmm05); + SIMD_ST_F32(output_data + 6 * BLOCK_NUM, zmm06); + SIMD_ST_F32(output_data + 7 * BLOCK_NUM, zmm07); + + return index; +} + +#endif + + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/reduce_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/reduce_fp32_avx512.h new file mode 100644 index 00000000..feb04728 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/reduce_fp32_avx512.h @@ -0,0 +1,227 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_FP32_REDUCE_FP32_AVX512_H_ +#define MINDSPORE_NNACL_FP32_REDUCE_FP32_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int64_t ReduceSumAVX512(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceSumByLastAxisAVX512(int64_t index, const float *src, float* tmp_sum, int axis_size) { + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int block_max_size = axis_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(src + index)); + } + *tmp_sum += SIMD_GET_SUM_F32(tmp); + return index; +} + +static inline int64_t ReduceMeanAVX512(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, SIMD_DIV_N_F32(tmp, axis_size)); + } + return index; +} + +static inline int64_t ReduceMinAVX512(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(FLT_MAX); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MIN_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceMaxAVX512(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(FLT_MIN); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MAX_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceMaxByLastAxisAVX512(int64_t index, const float *src, float* tmp_max, int axis_size) { + SIMD_F32 tmp = SIMD_MOV_F32(*tmp_max); + for (int block_max_size = axis_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + tmp = SIMD_MAX_F32(tmp, SIMD_LD_F32(src + index)); + } + *tmp_max = SIMD_GET_MAX_F32(tmp); + return index; +} + +static inline int64_t ReduceProdAVX512(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(1.0f); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MUL_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceSumSquareAVX512(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_F32(tmp, SIMD_MUL_SQUARE_F32(SIMD_LD_F32(inner_src + i * inner_size))); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceL2NormAVX512(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_F32(tmp, SIMD_MUL_SQUARE_F32(SIMD_LD_F32(inner_src + i * inner_size))); + } + SIMD_ST_F32(outer_dst + index, SIMD_SQRT_F32(tmp)); + } + return index; +} + +static inline int64_t IntReduceSumAVX512(int64_t index, const int32_t *outer_src, int32_t *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const int32_t *inner_src = outer_src + index; + SIMD_EPI32 tmp = SIMD_MOV_EPI32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_EPI32(tmp, SIMD_LD_EPI32(inner_src + i * inner_size)); + } + SIMD_ST_EPI32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t IntReduceMeanAVX512(int64_t index, const int32_t *outer_src, int32_t *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const int32_t *inner_src = outer_src + index; + SIMD_EPI32 tmp = SIMD_MOV_EPI32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_EPI32(tmp, SIMD_LD_EPI32(inner_src + i * inner_size)); + } + SIMD_ST_EPI32(outer_dst + index, SIMD_DIV_N_EPI32(tmp, axis_size)); + } + return index; +} + +static inline int64_t IntReduceMinAVX512(int64_t index, const int32_t *outer_src, int32_t *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const int32_t *inner_src = outer_src + index; + SIMD_EPI32 tmp = SIMD_MOV_EPI32(INT32_MAX); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MIN_EPI32(tmp, SIMD_LD_EPI32(inner_src + i * inner_size)); + } + SIMD_ST_EPI32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t IntReduceMaxAVX512(int64_t index, const int32_t *outer_src, int32_t *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const int32_t *inner_src = outer_src + index; + SIMD_EPI32 tmp = SIMD_MOV_EPI32(INT32_MIN); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MAX_EPI32(tmp, SIMD_LD_EPI32(inner_src + i * inner_size)); + } + SIMD_ST_EPI32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceSumDim2Axis0AVX512(int64_t index, size_t col_size, size_t col_len, size_t row_len, const float *src_data, float *dst_data) { + for (int block_max_size = col_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp = SIMD_MOV_F32(0); + const float *inner_src = src_data + index; + float *inner_dst = dst_data + index; + for (size_t i = 0; i < row_len; ++i) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(inner_src + i * col_len)); + } + SIMD_ST_F32(inner_dst, tmp); + } + return index; +} + +static inline int64_t FloatReduceDeviationAVX512(int64_t index, const float *src_data, float mean, size_t size, float *deviation) { + SIMD_F32 fs_deviation = SIMD_MOV_F32(0); + SIMD_F32 fs_mean = SIMD_MOV_F32(mean); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 fs_sub = SIMD_LD_F32(src_data + index); + + fs_sub = SIMD_SUB_F32(fs_sub, fs_mean); + SIMD_F32 fs_pow = SIMD_MUL_F32(fs_sub, fs_sub); + fs_deviation = SIMD_ADD_F32(fs_deviation, fs_pow); + } + *deviation += SIMD_GET_SUM_F32(fs_deviation); + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/scatter_nd_binary_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/scatter_nd_binary_avx512.h new file mode 100644 index 00000000..2f3f7117 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/scatter_nd_binary_avx512.h @@ -0,0 +1,52 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_BASE_SCATTER_ND_BINARY_AVX512_H_ +#define NNACL_BASE_SCATTER_ND_BINARY_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + + static inline int ScatterNDAddFp32AVX512(int index, const float *update, int size, float *output) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_ADD_F32(SIMD_LD_F32(output + index), SIMD_LD_F32(update + index))); + } + return index; +} + +static inline int ScatterNDAddInt32AVX512(int index, const int *update, int size, int *output) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(output + index, SIMD_ADD_EPI32(SIMD_LD_EPI32(output + index), SIMD_LD_EPI32(update + index))); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif // NNACL_BASE_SCATTER_ND_BINARY_AVX512_H_ diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/softmax_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/softmax_fp32_avx512.h new file mode 100644 index 00000000..1fa1907e --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/softmax_fp32_avx512.h @@ -0,0 +1,87 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_SOFTMAX_AVX512_H_ +#define MINDSPORE_NNACL_FP32_SOFTMAX_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int64_t SoftmaxNormGetMaxAVX512(int64_t index, const float *src, int cur_batch_offset, + float *max, int channel) { + if (channel >= BLOCK_NUM * BLOCK_NUM) { + SIMD_F32 max_val = SIMD_MOV_F32(*max); + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + max_val = SIMD_MAX_F32(max_val, SIMD_LD_F32(src + cur_batch_offset + index)); + } + *max = SIMD_GET_MAX_F32(max_val); + } + return index; +} + +static inline int64_t SoftmaxNormCalcNormAVX512(int64_t index, const float *src, float *dst, + int cur_batch_offset, float max, int channel) { + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 output = SIMD_SUB_F32(SIMD_LD_F32(src + cur_batch_offset + index), SIMD_MOV_F32(max)); + SIMD_ST_F32(dst + cur_batch_offset + index, output); + } + return index; +} + +static inline int64_t SoftmaxLastAxisGetExpSumAVX512(int64_t index, const float *src, float *dst, + int cur_batch_offset, float max, float *exp_sum, int channel) { +#ifndef _WIN32 + SIMD_F32 sum_val = SIMD_SET0_F32; + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_LD_F32(src + cur_batch_offset + index); + SIMD_F32 output = SIMD_SUB_F32(input, SIMD_MOV_F32(max)); + SIMD_F32 exp_out = SIMD_EXP_F32(output); + sum_val = SIMD_ADD_F32(sum_val, exp_out); + SIMD_ST_F32(dst + cur_batch_offset + index, exp_out); + } + *exp_sum += SIMD_GET_SUM_F32(sum_val); +#endif + return index; +} + +static inline int64_t SoftmaxLastAxisGetResultAVX512(int64_t index, const float *src, float *dst, + int cur_batch_offset, float exp_sum, int channel) { + SIMD_F32 exp_sum_val = SIMD_MOV_F32(exp_sum); + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_LD_F32(src + cur_batch_offset + index); + SIMD_F32 output = SIMD_MUL_F32(input, exp_sum_val); + SIMD_ST_F32(dst + cur_batch_offset + index, output); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +}; +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/softmax_grad_fusion_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/softmax_grad_fusion_fp32_avx512.h new file mode 100644 index 00000000..a0ed525c --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/softmax_grad_fusion_fp32_avx512.h @@ -0,0 +1,62 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_SOFTMAX_GRAD_FUSION_AVX512_H_ +#define MINDSPORE_NNACL_FP32_SOFTMAX_GRAD_FUSION_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int64_t SoftmaxGradFusionOptAVX512(int64_t index, const float *a, const float *b, + float *out, int64_t size) { + SIMD_F32 result_vec = SIMD_MOV_F32(0.0f); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 a_vec = SIMD_LD_F32(a + index); + SIMD_F32 b_vec = SIMD_LD_F32(b + index); + result_vec = SIMD_FMADD_F32(a_vec, b_vec, result_vec); + } + *out += SIMD_GET_SUM_F32(result_vec); + + return index; +} + +static inline int64_t ElementOptSubMulAVX512(int index, const float *in0, const float *in1, float sum, + float *out, int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(sum); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_ST_F32(out + index, SIMD_MUL_F32(vin0, SIMD_SUB_F32(vin1, vin1_opt_))); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/sub_fp32_avx512.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/sub_fp32_avx512.h new file mode 100644 index 00000000..e7a6b0c0 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/avx512/sub_fp32_avx512.h @@ -0,0 +1,167 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_SUB_AVX512_H_ +#define MINDSPORE_NNACL_FP32_SUB_AVX512_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_avx512_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("avx512f") +#define MS_SIMD_INSTRUCTION MS_SIMD_AVX512_INSTRUCTION +#define BLOCK_NUM 16 +#define MS_SIMD_AVX512 + +static inline int ElementOptSubNum0AVX512(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_SUB_F32(vin0_opt, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubNum1AVX512(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_SUB_F32(vin0, vin1_opt_); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubIntNum0AVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_SUB_EPI32(vin0_opt, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubIntNum1AVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_SUB_EPI32(vin0, vin1_opt_); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubReluNum0AVX512(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_SUB_F32(vin0_opt, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubReluNum1AVX512(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_SUB_F32(vin0, vin1_opt_), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubRelu6Num0AVX512(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_SUB_F32(vin0_opt, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubRelu6Num1AVX512(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_SUB_F32(vin0, vin1_opt_), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementSubAVX512(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_SUB_F32(vin0, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementSubIntAVX512(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_SUB_EPI32(vin0, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementSubReluAVX512(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_SUB_F32(vin0, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementSubRelu6AVX512(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_SUB_F32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_AVX512 +#ifdef __cplusplus +}; +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/batchnorm_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/batchnorm_fp32_simd.h new file mode 100644 index 00000000..b91d419e --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/batchnorm_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_BATCHNORM_FP32_SIMD_H_ +#define NNACL_BATCHNORM_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/batchnorm_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/batchnorm_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/batchnorm_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/batchnorm_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/bce_with_logits_loss_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/bce_with_logits_loss_fp32_simd.h new file mode 100644 index 00000000..ecd79008 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/bce_with_logits_loss_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_BCE_WITH_LOGITS_LOSS_FP32_SIMD_H_ +#define NNACL_BCE_WITH_LOGITS_LOSS_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/bce_with_logits_loss_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/bce_with_logits_loss_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/bce_with_logits_loss_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/bce_with_logits_loss_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/bias_add_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/bias_add_simd.h new file mode 100644 index 00000000..c53d5b01 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/bias_add_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_BIAS_ADD_SIMD_H_ +#define NNACL_BIAS_ADD_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/bias_add_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/bias_add_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/bias_add_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/bias_add_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/cast_base_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/cast_base_simd.h new file mode 100644 index 00000000..f9119a18 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/cast_base_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_CAST_BASE_SIMD_H_ +#define NNACL_CAST_BASE_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/cast_base_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/cast_base_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/cast_base_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/cast_base_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/cast_gather_reduce_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/cast_gather_reduce_fp32_simd.h new file mode 100644 index 00000000..eac633ea --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/cast_gather_reduce_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_CAST_GATHER_REDUCE_FP32_SIMD_H_ +#define NNACL_CAST_GATHER_REDUCE_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/cast_gather_reduce_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/cast_gather_reduce_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/cast_gather_reduce_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/cast_gather_reduce_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/cdist_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/cdist_fp32_simd.h new file mode 100644 index 00000000..dea57b2e --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/cdist_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_CDIST_FP32_SIMD_H_ +#define NNACL_CDIST_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/cdist_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/cdist_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/cdist_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/cdist_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/cumsum_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/cumsum_fp32_simd.h new file mode 100644 index 00000000..465a90b4 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/cumsum_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_CUMSUM_FP32_SIMD_H_ +#define NNACL_CUMSUM_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/cumsum_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/cumsum_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/cumsum_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/cumsum_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/div_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/div_fp32_simd.h new file mode 100644 index 00000000..a281aaf9 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/div_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_DIV_FP32_SIMD_H_ +#define NNACL_DIV_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/div_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/div_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/div_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/div_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/dropout_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/dropout_fp32_simd.h new file mode 100644 index 00000000..a307a6e0 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/dropout_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_DROPOUT_FP32_SIMD_H_ +#define NNACL_DROPOUT_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/dropout_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/dropout_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/dropout_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/dropout_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/exp_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/exp_fp32_simd.h new file mode 100644 index 00000000..dc245521 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/exp_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_EXP_FP32_SIMD_H_ +#define NNACL_EXP_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/exp_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/exp_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/exp_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/exp_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/fill_base_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/fill_base_simd.h new file mode 100644 index 00000000..b50c2cfb --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/fill_base_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_FILL_BASE_SIMD_H_ +#define NNACL_FILL_BASE_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/fill_base_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/fill_base_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/fill_base_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/fill_base_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/group_norm_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/group_norm_fp32_simd.h new file mode 100644 index 00000000..4dc7212d --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/group_norm_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_GROUP_NORM_FP32_SIMD_H_ +#define NNACL_GROUP_NORM_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/group_norm_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/group_norm_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/group_norm_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/group_norm_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/layer_norm_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/layer_norm_fp32_simd.h new file mode 100644 index 00000000..b607da9e --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/layer_norm_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_LAYER_NORM_FP32_SIMD_H_ +#define NNACL_LAYER_NORM_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/layer_norm_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/layer_norm_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/layer_norm_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/layer_norm_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/matmul_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/matmul_fp32_simd.h new file mode 100644 index 00000000..8b3ea331 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/matmul_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_MATMUL_FP32_SIMD_H_ +#define NNACL_MATMUL_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/matmul_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/matmul_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/matmul_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/matmul_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/mul_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/mul_fp32_simd.h new file mode 100644 index 00000000..ae690d08 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/mul_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_MUL_FP32_SIMD_H_ +#define NNACL_MUL_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/mul_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/mul_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/mul_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/mul_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/activation_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/activation_fp32_neon.h new file mode 100644 index 00000000..02425c88 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/activation_fp32_neon.h @@ -0,0 +1,284 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_FP32_ACTIVATION_NEON_H_ +#define MINDSPORE_NNACL_FP32_ACTIVATION_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int Fp32ReluNEON(int index, const float *src, int length, float *dst) { + SIMD_F32 zero = SIMD_SET0_F32; + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_MAX_F32(SIMD_LD_F32(src + index), zero)); + } + return index; +} + +static inline int Int32ReluNEON(int index, const int32_t *src, int length, int32_t *dst) { + SIMD_EPI32 zero = SIMD_MOV_EPI32(0.0f); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(dst + index, SIMD_MAX_EPI32(SIMD_LD_EPI32(src + index), zero)); + } + return index; +} + +static inline int Fp32Relu6NEON(int index, const float *src, int length, float *dst) { + SIMD_F32 zero = SIMD_SET0_F32; + SIMD_F32 six = SIMD_MOV_F32(6.0f); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_CLAMP_F32(SIMD_LD_F32(src + index), zero, six)); + } + return index; +} + +static inline int Fp32ClipNEON(int index, const float *src, int length, float *dst, float min, float max) { + SIMD_F32 min_val = SIMD_MOV_F32(min); + SIMD_F32 max_val = SIMD_MOV_F32(max); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_CLAMP_F32(SIMD_LD_F32(src + index), min_val, max_val)); + } + return index; +} + +static inline int Int32ClipNEON(int index, const int32_t *src, int length, int32_t *dst, int min, int max) { + SIMD_EPI32 min_val = SIMD_MOV_EPI32(min); + SIMD_EPI32 max_val = SIMD_MOV_EPI32(max); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(dst + index, SIMD_CLAMP_EPI32(SIMD_LD_EPI32(src + index), min_val, max_val)); + } + return index; +} + +static inline int LReluNEON(int index, const float *src, int length, float *dst, float alpha) { + SIMD_F32 alpha_data = SIMD_MOV_F32(alpha); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_tmp = SIMD_LD_F32(src + index); + SIMD_MASK mask = SIMD_CMPGT_F32(SIMD_SET0_F32, src_tmp); + SIMD_ST_F32(dst + index, SIMD_BLEND_F32(src_tmp, SIMD_MUL_F32(src_tmp, alpha_data), mask)); + } + return index; +} + +static inline int SigmoidNEON(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EXP_ST_F32(SIMD_SUB_F32(SIMD_SET0_F32, (SIMD_LD_F32(src + index))), dst + index); + SIMD_ST_F32(dst + index, + SIMD_DIV_F32(SIMD_MOV_F32(1.0f), SIMD_ADD_F32(SIMD_MOV_F32(1.0f), SIMD_LD_F32(dst + index)))); + } + return index; +} + +static inline int TanhNEON(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_LD_F32(src + index); + SIMD_ST_F32(dst + index, SIMD_TANH_F32(input)); + } + return index; +} + +static inline int SwishNEON(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_value = SIMD_LD_F32(src + index); + SIMD_EXP_ST_F32(SIMD_SUB_F32(SIMD_SET0_F32, src_value), dst + index); + SIMD_ST_F32(dst + index, + SIMD_DIV_F32(src_value, SIMD_ADD_F32(SIMD_MOV_F32(1.0f), SIMD_LD_F32(dst + index)))); + } + return index; +} + +static inline int HSwishNEON(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_value = SIMD_LD_F32(src + index); + SIMD_F32 relu6 = SIMD_CLAMP_N_F32(SIMD_ADD_N_F32(src_value, 3), 0, 6); + SIMD_ST_F32(dst + index, SIMD_DIV_N_F32(SIMD_MUL_F32(src_value, relu6), 6)); + } + return index; +} + +static inline int HSigmoidNEON(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_value = SIMD_LD_F32(src + index); + SIMD_F32 relu6 = SIMD_CLAMP_N_F32(SIMD_ADD_N_F32(src_value, 3), 0, 6); + SIMD_ST_F32(dst + index, SIMD_DIV_N_F32(relu6, 6)); + } + return index; +} + +static inline int HardTanhNoLimitMinNEON(int index, const float *src, int length, float *dst, float min_val, + float max_val) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_MIN_N_F32(SIMD_LD_F32(src + index), max_val)); + } + return index; +} + +static inline int HardTanhNoLimitMaxNEON(int index, const float *src, int length, float *dst, float min_val, + float max_val) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_MAX_N_F32(SIMD_LD_F32(src + index), min_val)); + } + return index; +} + +static inline int HardTanhLimitMinMaxNEON(int index, const float *src, int length, float *dst, float min_val, + float max_val) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_CLAMP_N_F32(SIMD_LD_F32(src + index), min_val, max_val)); + } + return index; +} + +static inline int GeluTanhApproximateNEON(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in = SIMD_LD_F32(src + index); + SIMD_F32 tmp1 = SIMD_FMADD_F32(SIMD_MUL_N_F32(in, 0.035677408136f), in, SIMD_MOV_F32(0.79788456080287f)); + SIMD_F32 tmp2 = SIMD_MUL_F32(tmp1, in); + SIMD_ST_F32(dst + index, SIMD_MUL_F32(SIMD_MUL_N_F32(in, 0.5f), SIMD_ADD_N_F32(SIMD_TANH_F32(tmp2), 1.0f))); + } + return index; +} + +static inline int GeluNEON(int index, const float *src, int length, float *dst) { + SIMD_F32 para1 = SIMD_MOV_F32(1.4142135623730951f); + SIMD_F32 para2 = SIMD_MOV_F32(1.0f); + SIMD_F32 para3 = SIMD_MOV_F32(0.5f); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in = SIMD_LD_F32(src + index); + SIMD_F32 res = SIMD_MUL_F32(SIMD_MUL_F32(para3, in), SIMD_ADD_F32(para2, SIMD_ERF_F32(SIMD_DIV_F32(in, para1)))); + SIMD_ST_F32(dst + index, res); + } + return index; +} + +static inline SIMD_F32 SIMD_ERFCCHEBNEON(SIMD_F32 src) { + static const int ncof = 7; + const double cof[7] = {-1.3026537197817094, 6.4196979235649026e-1, 1.9476473204185836e-2, -9.561514786808631e-3, + -9.46595344482036e-4, 3.66839497852761e-4, 4.2523324806907e-5}; + SIMD_F32 dst; + SIMD_F32 d = SIMD_SET0_F32; + SIMD_F32 dd = SIMD_SET0_F32; + SIMD_F32 t = SIMD_DIV_F32(SIMD_MOV_F32(2.0f), SIMD_ADD_F32(src, SIMD_MOV_F32(2.0f))); + SIMD_F32 ty = SIMD_SUB_F32(SIMD_MUL_F32(SIMD_MOV_F32(4.0f), t), SIMD_MOV_F32(2.0f)); + + for (int j = ncof - 1; j > 0; j--) { + SIMD_F32 tmp = d; + d = SIMD_SUB_F32(SIMD_FMADD_F32(ty, d, SIMD_MOV_F32(cof[j])), dd); + dd = tmp; + } + + dst = + SIMD_FMADD_F32(src, src, MS_FSMUL_F32(dd, SIMD_FMADD_F32(ty, d, SIMD_MOV_F32(cof[0])), SIMD_MOV_F32(0.5f))); + dst = SIMD_MUL_F32(t, SIMD_EXP_F32(SIMD_MUL_F32(SIMD_MOV_F32(-1.0f), dst))); + return dst; +} + +static inline SIMD_F32 SIMD_ERF_APPROXIMATENEON(SIMD_F32 src) { + SIMD_F32 abs_src = SIMD_ABS_F32(src); + SIMD_F32 sign = SIMD_GETSIGN_F32(src); + SIMD_F32 dst = SIMD_ERFCCHEBNEON(abs_src); + return SIMD_MUL_F32(sign, SIMD_SUB_F32(SIMD_MOV_F32(1.0f), dst)); +} + +static inline int GeluErfAPPROXIMATENEON(int index, const float *src, int length, float *dst) { + SIMD_F32 para1 = SIMD_MOV_F32(1.4142135623730951f); + SIMD_F32 para2 = SIMD_MOV_F32(1.0f); + SIMD_F32 para3 = SIMD_MOV_F32(0.5f); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in = SIMD_LD_F32(src + index); + SIMD_F32 res = SIMD_MUL_F32(SIMD_MUL_F32(para3, in), SIMD_ADD_F32(para2, SIMD_ERF_APPROXIMATENEON(SIMD_DIV_F32(in, para1)))); + SIMD_ST_F32(dst + index, res); + } + return index; +} + +static inline int EluNEON(int index, const float *src, int length, float *dst, float alpha) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_tmp = SIMD_LD_F32(src + index); + SIMD_F32 exp_tmp = SIMD_SUB_N_F32(SIMD_EXP_F32(src_tmp), 1.0f); + SIMD_MASK mask = SIMD_CMPLE_F32(src_tmp, SIMD_SET0_F32); + SIMD_ST_F32(dst + index, SIMD_BLEND_F32(src_tmp, SIMD_MUL_N_F32(exp_tmp, alpha), mask)); + } + return index; +} + +static inline int CeluNEON(int index, const float *src, int length, float *dst, float alpha) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_tmp = SIMD_LD_F32(src + index); + SIMD_F32 exp_tmp = SIMD_SUB_N_F32(SIMD_EXP_F32(SIMD_DIV_N_F32(src_tmp, alpha)), 1.0f); + SIMD_MASK mask = SIMD_CMPLE_F32(src_tmp, SIMD_SET0_F32); + SIMD_ST_F32(dst + index, SIMD_BLEND_F32(src_tmp, SIMD_MUL_N_F32(exp_tmp, alpha), mask)); + } + return index; +} + +static inline int HardShrinkNEON(int index, const float *src, int length, float *dst, float lambd) { + SIMD_F32 pos_lamdb_v = SIMD_MOV_F32(lambd); + SIMD_F32 neg_lamdb_v = SIMD_MOV_F32(-lambd); + + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_t = SIMD_LD_F32(src + index); + /* v0 = (in > lamdb) & in */ + SIMD_F32 value0 = SIMD_AND_MASK_F32(SIMD_CMPGT_F32(src_t, pos_lamdb_v), src_t); + /* v1 = (in < -lamdb) & in */ + SIMD_F32 value1 = SIMD_AND_MASK_F32(SIMD_CMPLT_F32(src_t, neg_lamdb_v), src_t); + /* out = (v0 | v1) */ + SIMD_ST_F32(dst + index, SIMD_OR_F32(value0, value1)); + } + return index; +} + +static inline int SoftShrinkNEON(int index, const float *src, int length, float *dst, float lambd) { + SIMD_F32 pos_lamdb_v = SIMD_MOV_F32(lambd); + SIMD_F32 neg_lamdb_v = SIMD_MOV_F32(-lambd); + + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_t = SIMD_LD_F32(src + index); + /* v0 = (in > lamdb) & (in - lamdb) */ + SIMD_F32 value0 = SIMD_AND_MASK_F32(SIMD_CMPGT_F32(src_t, pos_lamdb_v), SIMD_SUB_F32(src_t, pos_lamdb_v)); + /* v1 = (in < -lamdb) & (in + lamdb) */ + SIMD_F32 value1 = SIMD_AND_MASK_F32(SIMD_CMPLT_F32(src_t, neg_lamdb_v), SIMD_ADD_F32(src_t, pos_lamdb_v)); + /* out = (v0 | v1) */ + SIMD_ST_F32(dst + index, SIMD_OR_F32(value0, value1)); + } + return index; +} + +static inline int SoftsignFp32OptNEON(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_tmp = SIMD_LD_F32(src + index); + SIMD_F32 divisor_tmp = SIMD_ADD_F32(SIMD_MOV_F32(1.0f), SIMD_ABS_F32(src_tmp)); + SIMD_ST_F32(dst + index, SIMD_DIV_F32(src_tmp, divisor_tmp)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/activation_grad_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/activation_grad_neon.h new file mode 100644 index 00000000..7973a331 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/activation_grad_neon.h @@ -0,0 +1,56 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef NNACL_FP32_GRAD_ACTIVATION_GRAD_NEON_H_ +#define NNACL_FP32_GRAD_ACTIVATION_GRAD_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int ShrinkGradNEON(int index, const float *src0, const float *src1, + int length, float *dst, float lambd) { + SIMD_F32 pos_lamdb_v = SIMD_MOV_F32(lambd); + SIMD_F32 neg_lamdb_v = SIMD_MOV_F32(-lambd); + + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src0_t = SIMD_LD_F32(src0 + index); + SIMD_F32 src1_t = SIMD_LD_F32(src1 + index); + + SIMD_MASK mask0 = SIMD_CMPLE_F32(src1_t, pos_lamdb_v); + SIMD_MASK mask1 = SIMD_CMPLE_F32(neg_lamdb_v, src1_t); + SIMD_MASK mask = SIMD_AND_MASK(mask0, mask1); + + SIMD_ST_F32(dst + index, SIMD_BLEND_F32(src0_t, SIMD_MOV_F32(0.0f), mask)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/adam_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/adam_fp32_neon.h new file mode 100644 index 00000000..fda41ec2 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/adam_fp32_neon.h @@ -0,0 +1,209 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_ADAM_FP32_NEON_H_ +#define MINDSPORE_NNACL_FP32_ADAM_FP32_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON +#ifdef MS_SIMD_AVX512 + static inline size_t AdamWeightDecayFp32NEON(size_t index, float *var, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + const float *gradient, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_LD_F32(var + index); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_LD_F32(gradient + index); + + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + SIMD_ST_F32(var + index, var_r); + } + + return index; +} + +static inline size_t FusedCastAdamFp32Fp16NEON(size_t index, float *var, const int16_t *gradient16, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + float global_norm_reciprocal, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + SIMD_F32 global_norm_reciprocal_r = SIMD_MOV_F32(global_norm_reciprocal); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_LD_F32(var + index); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_F16_TO_F32(SIMD_LD_HALF_EPI32(gradient16 + index)); + + g_r = SIMD_MUL_F32(g_r, global_norm_reciprocal_r); + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(var + index, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + } + + return index; +} + +static inline size_t FusedCastAdamFp32Fp32NEON(size_t index, float *var, const float *gradient32, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + float global_norm_reciprocal, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + SIMD_F32 global_norm_reciprocal_r = SIMD_MOV_F32(global_norm_reciprocal); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_LD_F32(var + index); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_LD_F32(gradient32 + index); + + g_r = SIMD_MUL_F32(g_r, global_norm_reciprocal_r); + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(var + index, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + } + + return index; +} + +static inline size_t FusedCastAdamFp16Fp16NEON(size_t index, int16_t *var16, const int16_t *gradient16, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + float global_norm_reciprocal, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + SIMD_F32 global_norm_reciprocal_r = SIMD_MOV_F32(global_norm_reciprocal); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_F16_TO_F32(SIMD_LD_HALF_EPI32(var16)); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_F16_TO_F32(SIMD_LD_HALF_EPI32(gradient16 + index)); + g_r = SIMD_MUL_F32(g_r, global_norm_reciprocal_r); + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + SIMD_ST_HALF_EPI32(var16 + index, SIMD_F32_TO_F16(var_r, 0)); + } + + return index; +} + +static inline size_t FusedCastAdamFp16Fp32NEON(size_t index, int16_t *var16, const float *gradient32, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + float global_norm_reciprocal, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + SIMD_F32 global_norm_reciprocal_r = SIMD_MOV_F32(global_norm_reciprocal); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_F16_TO_F32(SIMD_LD_HALF_EPI32(var16)); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_LD_F32(gradient32 + index); + g_r = SIMD_MUL_F32(g_r, global_norm_reciprocal_r); + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + SIMD_ST_HALF_EPI32(var16 + index, SIMD_F32_TO_F16(var_r, 0)); + } + + return index; +} +#endif + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/add_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/add_fp32_neon.h new file mode 100644 index 00000000..ea44cd4b --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/add_fp32_neon.h @@ -0,0 +1,123 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_ADD_NEON_H_ +#define MINDSPORE_NNACL_FP32_ADD_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int ElementOptAddNEON(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin0_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_ADD_F32(vin0_, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptAddIntNEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, + int size) { + SIMD_EPI32 vin0_ = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_ADD_EPI32(vin0_, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptAddReluNEON(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_ADD_F32(vin0_, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptAddRelu6NEON(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_ADD_F32(vin0_, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementAddNEON(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_ADD_F32(vin0, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementAddReluNEON(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_ADD_F32(vin0, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementAddRelu6NEON(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_ADD_F32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementAddIntNEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_ADD_EPI32(vin0, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/apply_proximal_adagrad_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/apply_proximal_adagrad_fp32_neon.h new file mode 100644 index 00000000..6498d72c --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/apply_proximal_adagrad_fp32_neon.h @@ -0,0 +1,74 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_FP32_APPLY_PROXIMAL_ADAGRAD_NEON_H_ +#define NNACL_FP32_APPLY_PROXIMAL_ADAGRAD_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int64_t ApplyProximalAdagradOptNEON( + int64_t index, float *var, float *accum, float lr, float l1, float l2, float *grad, int64_t size) { + SIMD_F32 lr_vec = SIMD_MOV_F32(lr); + SIMD_F32 l1_vec = SIMD_MOV_F32(l1); + SIMD_F32 l2_vec = SIMD_MOV_F32(l2); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp_vec1 = SIMD_LD_F32(grad + index); + SIMD_F32 accum_vec = SIMD_LD_F32(accum + index); + SIMD_F32 prox_v_vec = SIMD_LD_F32(var + index); + + accum_vec = SIMD_FMADD_F32(tmp_vec1, tmp_vec1, accum_vec); + SIMD_F32 learn_rate_vec = SIMD_DIV_F32(lr_vec, SIMD_SQRT_F32(accum_vec)); + prox_v_vec = SIMD_SUB_F32(prox_v_vec, SIMD_MUL_F32(tmp_vec1, learn_rate_vec)); + SIMD_ST_F32(accum + index, accum_vec); + tmp_vec1 = SIMD_FMADD_F32(l2_vec, learn_rate_vec, SIMD_MOV_F32(1)); + if (l1 > 0) { + learn_rate_vec = SIMD_MUL_F32(learn_rate_vec, l1_vec); + learn_rate_vec = SIMD_SUB_F32(SIMD_ABS_F32(prox_v_vec), learn_rate_vec); + learn_rate_vec = SIMD_MAX_F32(learn_rate_vec, SIMD_MOV_F32(0.0f)); + learn_rate_vec = SIMD_DIV_F32(learn_rate_vec, tmp_vec1); + + SIMD_MASK greater_mask = SIMD_CMPGT_F32(SIMD_SET0_F32, prox_v_vec); + SIMD_MASK less_mask = SIMD_CMPLT_F32(SIMD_SET0_F32, prox_v_vec); + SIMD_F32 greater_v = SIMD_BLEND_F32(SIMD_MOV_F32(1), SIMD_SET0_F32, greater_mask); + SIMD_F32 less_v = SIMD_BLEND_F32(SIMD_MOV_F32(1), SIMD_SET0_F32, less_mask); + greater_v = SIMD_SUB_F32(greater_v, less_v); + + prox_v_vec = SIMD_MUL_F32(learn_rate_vec, greater_v); + } else { + prox_v_vec = SIMD_DIV_F32(prox_v_vec, tmp_vec1); + } + SIMD_ST_F32(var + index, prox_v_vec); + } + + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/apply_proximal_gradient_descent_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/apply_proximal_gradient_descent_fp32_neon.h new file mode 100644 index 00000000..893215e2 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/apply_proximal_gradient_descent_fp32_neon.h @@ -0,0 +1,70 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_FP32_APPLY_PROXIMAL_GRADIENT_DESCENT_NEON_H_ +#define NNACL_FP32_APPLY_PROXIMAL_GRADIENT_DESCENT_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int64_t ApplyProximalGradientDescentOptNEON( + int64_t index, float *var, float alpha, float l1, float l2, float *delta, int64_t size) { + SIMD_F32 alpha_vec = SIMD_MOV_F32(alpha); + SIMD_F32 l1_vec = SIMD_MOV_F32(l1); + SIMD_F32 l2_vec = SIMD_MOV_F32(l2); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 delta_vec = SIMD_LD_F32(delta + index); + SIMD_F32 prox_v_vec = SIMD_LD_F32(var + index); + + prox_v_vec = SIMD_SUB_F32(prox_v_vec, SIMD_MUL_F32(delta_vec, alpha_vec)); + SIMD_F32 tmp_vec1 = SIMD_FMADD_F32(l2_vec, alpha_vec, SIMD_MOV_F32(1)); + if (l1 > 0) { + SIMD_F32 tmp_vec2 = SIMD_MUL_F32(alpha_vec, l1_vec); + tmp_vec2 = SIMD_SUB_F32(SIMD_ABS_F32(prox_v_vec), tmp_vec2); + tmp_vec2 = SIMD_MAX_F32(tmp_vec2, SIMD_MOV_F32(0.0f)); + tmp_vec2 = SIMD_DIV_F32(tmp_vec2, tmp_vec1); + + SIMD_MASK greater_mask = SIMD_CMPGT_F32(SIMD_SET0_F32, prox_v_vec); + SIMD_MASK less_mask = SIMD_CMPLT_F32(SIMD_SET0_F32, prox_v_vec); + SIMD_F32 greater_v = SIMD_BLEND_F32(SIMD_MOV_F32(1), SIMD_SET0_F32, greater_mask); + SIMD_F32 less_v = SIMD_BLEND_F32(SIMD_MOV_F32(1), SIMD_SET0_F32, less_mask); + greater_v = SIMD_SUB_F32(greater_v, less_v); + + prox_v_vec = SIMD_MUL_F32(tmp_vec2, greater_v); + } else { + prox_v_vec = SIMD_DIV_F32(prox_v_vec, tmp_vec1); + } + SIMD_ST_F32(var + index, prox_v_vec); + } + + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/arithmetic_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/arithmetic_fp32_neon.h new file mode 100644 index 00000000..d9dbbf1a --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/arithmetic_fp32_neon.h @@ -0,0 +1,293 @@ +/** + * Copyright 2022-2023 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_ARITHMETIC_NEON_H_ +#define MINDSPORE_NNACL_ARITHMETIC_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +#ifndef MS_SIMD_NEON +static inline int ElementFloorModNEON(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 floor_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_F32 out_tmp = SIMD_SUB_F32(in0_tmp, SIMD_MUL_F32(floor_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorModNum0NEON(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 floor_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_F32 out_tmp = SIMD_SUB_F32(in0_tmp, SIMD_MUL_F32(floor_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorModNum1NEON(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in1_tmp = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 floor_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_F32 out_tmp = SIMD_SUB_F32(in0_tmp, SIMD_MUL_F32(floor_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementFloorDivNEON(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 floor_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_ST_F32(out + index, floor_tmp); + } + return index; +} + +static inline int ElementOptFloorDivNum0NEON(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorDivNum1NEON(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in1_tmp = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 out_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} +#endif + +static inline int ElementFloorDivIntNEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_DIV_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorDivIntNum0NEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in0_tmp = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_DIV_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorDivIntNum1NEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in1_tmp = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 out_tmp = SIMD_DIV_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementMaximumNEON(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_MAX_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMaximumNum0NEON(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_MAX_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMaximumNum1NEON(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in1_tmp = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 out_tmp = SIMD_MAX_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementMaximumIntNEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_MAX_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMaximumIntNum0NEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in0_tmp = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_MAX_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMaximumIntNum1NEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in1_tmp = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 out_tmp = SIMD_MAX_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementMinimumIntNEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_MIN_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMinimumIntNum0NEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in0_tmp = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_MIN_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMinimumIntNum1NEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in1_tmp = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 out_tmp = SIMD_MIN_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementMinimumNEON(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_MIN_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMinimumNum0NEON(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_MIN_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMinimumNum1NEON(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in1_tmp = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 out_tmp = SIMD_MIN_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline size_t AssignSubOptNEON(int index, float *in0, const float *in1, size_t size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_SUB_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(in0 + index, out_tmp); + } + return index; +} + +int ElementLogicalAndNEON(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_AND_F32(SIMD_GETSIGN_F32(in0_tmp), SIMD_GETSIGN_F32(in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +int ElementOptLogicalAndNEON(int index, const float *in0, const float *in1, float *out, int size, bool first_scalar) { + if (first_scalar) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(*in0); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_AND_F32(SIMD_GETSIGN_F32(in0_tmp), SIMD_GETSIGN_F32(in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + } else { + SIMD_F32 in1_tmp = SIMD_MOV_F32(*in1); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 out_tmp = SIMD_AND_F32(SIMD_GETSIGN_F32(in0_tmp), SIMD_GETSIGN_F32(in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + } + + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/arithmetic_self_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/arithmetic_self_fp32_neon.h new file mode 100644 index 00000000..e19cd46c --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/arithmetic_self_fp32_neon.h @@ -0,0 +1,147 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_ARITHMETIC_SELF_NEON_H_ +#define MINDSPORE_NNACL_ARITHMETIC_SELF_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +#if defined(MS_SIMD_AVX512) +// only avx512 support abs fp32 instruction +static inline int ElementAbsNEON(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_ABS_F32(SIMD_LD_F32(input + index))); + } + return index; +} + +static inline int ElementAbsIntNEON(int index, const int32_t *input, int32_t *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(output + index, SIMD_ABS_EPI32(SIMD_LD_EPI32(input + index))); + } + return index; +} +#endif + +#if !defined(MS_SIMD_NEON) +// not support neon + static inline int ElementCosNEON(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin = SIMD_LD_F32(input + index); + SIMD_ST_F32(output + index, SIMD_COS_F32(vin)); + } + return index; + } + + static inline int ElementLogNEON(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin = SIMD_LD_F32(input + index); + SIMD_ST_F32(output + index, SIMD_LOG_F32(vin)); + } + return index; + } +#endif + +static inline int ElementSquareNEON(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin = SIMD_LD_F32(input + index); + SIMD_ST_F32(output + index, SIMD_MUL_F32(vin, vin)); + } + return index; +} + +static inline int ElementSqrtNEON(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_SQRT_F32(SIMD_LD_F32(input + index))); + } + return index; +} + +static inline int ElementRsqrtNEON(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_RSQRT_F32(SIMD_LD_F32(input + index))); + } + return index; +} + +#if defined(MS_SIMD_AVX) || defined(MS_SIMD_SSE) +// avx512 dont support round fp32 instruction +static inline int ElementRoundNEON(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_ROUND_F32(SIMD_LD_F32(input + index))); + } + return index; +} +#endif + +#ifndef MS_SIMD_NEON +// neon dont support floor fp32 instruction +static inline int ElementFloorNEON(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_FLOOR_F32(SIMD_LD_F32(input + index))); + } + return index; +} +#endif + +#ifndef MS_SIMD_NEON +static inline int ElementCeilNEON(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_CEIL_F32(SIMD_LD_F32(input + index))); + } + return index; +} +#endif + +static inline int ElementNegativeNEON(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_MUL_N_F32(SIMD_LD_F32(input + index), -1.0f)); + } + return index; +} + +static inline int ElementNegativeIntNEON(int index, const int32_t *input, int32_t *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(output + index, SIMD_MUL_N_EPI32(SIMD_LD_EPI32(input + index), -1)); + } + return index; +} + +static inline int ElementReciprocalNEON(int index, const float *input, float *output, const int element_size) { + SIMD_F32 num1 = SIMD_MOV_F32(1.0f); + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_DIV_F32(num1, SIMD_LD_F32(input + index))); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/batchnorm_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/batchnorm_fp32_neon.h new file mode 100644 index 00000000..5e169d62 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/batchnorm_fp32_neon.h @@ -0,0 +1,66 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_ACTIVATION_NEON_H_ +#define MINDSPORE_NNACL_FP32_ACTIVATION_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int BatchNormFp32NEON(int index, const float *input, const float *mean, + const float *variance, int channel, float epsilon, float *output) { + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input_data = SIMD_LD_F32(input + index); + SIMD_F32 mean_ = SIMD_LD_F32(mean + index); + SIMD_F32 variance_ = SIMD_LD_F32(variance + index); + SIMD_F32 variance_sqrt = SIMD_SQRT_F32(SIMD_ADD_F32(variance_, SIMD_MOV_F32(epsilon))); + SIMD_F32 output_data = SIMD_DIV_F32(SIMD_SUB_F32(input_data, mean_), variance_sqrt); + SIMD_ST_F32(output + index, output_data); + } + return index; +} + +static inline int FusedBatchNormFp32NEON(int index, const float *input, const float *scale, + const float *offset, const float *mean, const float *variance, int channel, float epsilon, float *output) { + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input_data = SIMD_LD_F32(input + index); + SIMD_F32 scale_ = SIMD_LD_F32(scale + index); + SIMD_F32 offset_ = SIMD_LD_F32(offset + index); + SIMD_F32 mean_ = SIMD_LD_F32(mean + index); + SIMD_F32 variance_ = SIMD_LD_F32(variance + index); + SIMD_F32 variance_sqrt = SIMD_SQRT_F32(SIMD_ADD_F32(variance_, SIMD_MOV_F32(epsilon))); + SIMD_F32 norm_val = SIMD_DIV_F32(SIMD_SUB_F32(input_data, mean_), variance_sqrt); + SIMD_F32 output_data = SIMD_ADD_F32(SIMD_MUL_F32(norm_val, scale_), offset_); + SIMD_ST_F32(output + index, output_data); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/bce_with_logits_loss_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/bce_with_logits_loss_fp32_neon.h new file mode 100644 index 00000000..c12bc0f1 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/bce_with_logits_loss_fp32_neon.h @@ -0,0 +1,68 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_BCE_WITH_LOGITS_LOSS_NEON_H_ +#define MINDSPORE_NNACL_FP32_BCE_WITH_LOGITS_LOSS_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int BCEWithLogitLossNEON(int index, const float *logits, const float *label, + const float *weight, const float *pos_weight, int length, bool reduction, float *output, + float *reduction_sum) { + SIMD_F32 zero = SIMD_SET0_F32; + SIMD_F32 ones = SIMD_MOV_F32(1.0f); + SIMD_F32 middle_output = SIMD_SET0_F32; + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 logits_tmp = SIMD_LD_F32(logits + index); + SIMD_F32 label_tmp = SIMD_LD_F32(label + index); + SIMD_F32 weight_tmp = SIMD_LD_F32(weight + index); + SIMD_F32 pos_weight_tmp = SIMD_LD_F32(pos_weight + index); + SIMD_F32 neg_logits_tmp = SIMD_SUB_F32(zero, logits_tmp); + SIMD_F32 max_value = neg_logits_tmp; + max_value = SIMD_MAX_F32(max_value, zero); + SIMD_F32 neg_max_value = SIMD_SUB_F32(zero, max_value); + SIMD_F32 log_weight = SIMD_ADD_F32(SIMD_MUL_F32(SIMD_SUB_F32(pos_weight_tmp, ones), label_tmp), ones); + SIMD_F32 log_exp_value = + SIMD_LOG_F32(SIMD_ADD_F32(SIMD_HEXP_F32(neg_max_value), SIMD_HEXP_F32(SIMD_SUB_F32(neg_logits_tmp, max_value)))); + SIMD_F32 loss = SIMD_ADD_F32(SIMD_MUL_F32(SIMD_SUB_F32(ones, label_tmp), logits_tmp), + SIMD_MUL_F32(log_weight, SIMD_ADD_F32(log_exp_value, max_value))); + if (reduction) { + middle_output = SIMD_FMADD_F32(loss, weight_tmp, middle_output); + } else { + SIMD_ST_F32(output + index, SIMD_MUL_F32(loss, weight_tmp)); + } + } + if (reduction) { + *reduction_sum += SIMD_GET_SUM_F32(middle_output); + } + return index; +} +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/bias_add_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/bias_add_neon.h new file mode 100644 index 00000000..afaf0de5 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/bias_add_neon.h @@ -0,0 +1,63 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_BIAS_ADD_NEON_H_ +#define MINDSPORE_NNACL_FP32_BIAS_ADD_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int BiasAddByInnerCoreNEON(int index, const float *input, const float *bias, float *output, + int64_t num) { + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(input + index); + SIMD_F32 vin1 = SIMD_LD_F32(bias + index); + SIMD_F32 vout = SIMD_ADD_F32(vin0, vin1); + SIMD_ST_F32(output + index, vout); + } + return index; +} + +static inline int BiasAddByBatchCoreNEON(int index, const float *input, const float *bias, float *output1, + float *output2, float *output3, float *output4, int64_t num) { + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_LDX4_F32(input_data, input + index, num); + SIMD_F32 bias_data = SIMD_LD_F32(bias + index); + SIMD_ST_F32(output1 + index, SIMD_ADD_F32(input_data1, bias_data)); + SIMD_ST_F32(output2 + index, SIMD_ADD_F32(input_data2, bias_data)); + SIMD_ST_F32(output3 + index, SIMD_ADD_F32(input_data3, bias_data)); + SIMD_ST_F32(output4 + index, SIMD_ADD_F32(input_data4, bias_data)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +}; +#endif + +#endif // MINDSPORE_NNACL_FP32_BIAS_ADD_SIMD_H_ diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/cast_base_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/cast_base_neon.h new file mode 100644 index 00000000..34e85827 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/cast_base_neon.h @@ -0,0 +1,55 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_BASE_CAST_BASE_NEON_H_ +#define NNACL_BASE_CAST_BASE_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int Int32ToFloat32NEON(int index, const int32_t *input, float *output, int number) { + for (int block_max_size = number - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 value = SIMD_LD_EPI32(input + index); + SIMD_ST_F32(output + index, SIMD_EPI32_TO_F32(value)); + } + return index; +} + +#ifndef MS_SIMD_NEON +static inline int Float32ToInt32NEON(int index, const float *input, int32_t *output, int number) { + for (int block_max_size = number - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 value = SIMD_LD_F32(input + index); + SIMD_ST_EPI32(output + index, SIMD_F32_TO_EPI32(value)); + } + return index; +} +#endif + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/cast_gather_reduce_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/cast_gather_reduce_fp32_neon.h new file mode 100644 index 00000000..9d725d6c --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/cast_gather_reduce_fp32_neon.h @@ -0,0 +1,71 @@ +/** + * Copyright 2023 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_ARITHMETIC_SELF_NEON_H_ +#define MINDSPORE_NNACL_ARITHMETIC_SELF_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int Fp32CastGatherReduceInt64FusionNEON(int index, float *output_data, const int64_t *input_indices, const float *input_data, + int32_t inner_size, int32_t input_data_inner_size, int32_t outer_start, + int32_t outer_end) { + for (int block_max_size = input_data_inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + for (int i = outer_start; i < outer_end; i++) { + SIMD_F32 result = SIMD_SET0_F32; + for (int j = 0; j < inner_size; j++) { + int64_t indice = input_indices[i * inner_size + j]; + result = SIMD_ADD_F32(result, SIMD_LD_F32(input_data + indice * input_data_inner_size + index)); + } + SIMD_ST_F32(output_data + i * input_data_inner_size + index, result); + } + } + return index; +} + + +static inline int Fp32CastGatherReduceInt32FusionNEON(int index, float *output_data, const int32_t *input_indices, const float *input_data, + int32_t inner_size, int32_t input_data_inner_size, int32_t outer_start, + int32_t outer_end) { + for (int block_max_size = input_data_inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + for (int i = outer_start; i < outer_end; i++) { + SIMD_F32 result = SIMD_SET0_F32; + for (int j = 0; j < inner_size; j++) { + int32_t indice = input_indices[i * inner_size + j]; + result = SIMD_ADD_F32(result, SIMD_LD_F32(input_data + indice * input_data_inner_size + index)); + } + SIMD_ST_F32(output_data + i * input_data_inner_size + index, result); + } + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/cdist_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/cdist_fp32_neon.h new file mode 100644 index 00000000..09f55bbf --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/cdist_fp32_neon.h @@ -0,0 +1,69 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_CDIST_NEON_H_ +#define MINDSPORE_NNACL_FP32_CDIST_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int64_t CdistTwoNormalOptNEON(int64_t index, const float *a, const float *b, + float *out, int64_t size) { + SIMD_F32 result_vec = SIMD_MOV_F32(0.0f); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 a_vec = SIMD_LD_F32(a + index); + SIMD_F32 b_vec = SIMD_LD_F32(b + index); + SIMD_F32 tmp_vec = SIMD_SUB_F32(a_vec, b_vec); + tmp_vec = SIMD_ABS_F32(tmp_vec); + result_vec = SIMD_FMADD_F32(tmp_vec, tmp_vec, result_vec); + } + *out += SIMD_GET_SUM_F32(result_vec); + + return index; +} + +static inline int64_t CdistPNormalOptNEON(int64_t index, const float *a, const float *b, + float *out, int64_t size, float p) { + SIMD_F32 result_vec = SIMD_MOV_F32(0.0f); + SIMD_F32 p_vec = SIMD_MOV_F32(p); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 a_vec = SIMD_LD_F32(a + index); + SIMD_F32 b_vec = SIMD_LD_F32(b + index); + SIMD_F32 tmp_vec = SIMD_SUB_F32(a_vec, b_vec); + tmp_vec = SIMD_ABS_F32(tmp_vec); + tmp_vec = SIMD_POW_F32(tmp_vec, p_vec); + result_vec = SIMD_ADD_F32(tmp_vec, result_vec); + } + *out += SIMD_GET_SUM_F32(result_vec); + + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/cumsum_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/cumsum_fp32_neon.h new file mode 100644 index 00000000..75552de8 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/cumsum_fp32_neon.h @@ -0,0 +1,120 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_CUMSUM_NEON_H_ +#define MINDSPORE_NNACL_FP32_CUMSUM_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +// (a, b, c) -> (a, a+b, a+b+c) exclusive == false +// (a, b, c) -> (0, a, a+b) exclusive == true +static inline int64_t CumsumOutputInitWithInputNEON(int64_t index, const float *layer_input, + float *layer_output, int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(layer_output + index, SIMD_LD_F32(layer_input + index)); + } + return index; +} + +static inline int64_t CumsumOutputInitWithZeroNEON(int64_t index, float *layer_output, int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(layer_output + index, SIMD_MOV_F32(0.0f)); + } + return index; +} + +static inline int64_t CumsumNEON(int64_t index, const float *layer_input, float *layer_output, float *layer_last_output, + int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input_val = SIMD_LD_F32(layer_input + index); + SIMD_F32 last_output_val = SIMD_LD_F32(layer_last_output + index); + SIMD_F32 out_val = SIMD_ADD_F32(input_val, last_output_val); + SIMD_ST_F32(layer_output + index, out_val); + } + return index; +} + +// (a, b, c) -> (c+b+a, c+b, c) exclusive==false +// (a, b, c) -> (c+b, c, 0) exclusive==true +static inline int64_t CumsumReverseNEON(int64_t index, const float *layer_input, float *layer_output, + float *layer_last_output, int inner_dim) { + + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input_val = SIMD_LD_F32(layer_input - index - BLOCK_NUM + 1); + SIMD_F32 last_output_val = SIMD_LD_F32(layer_last_output - index - BLOCK_NUM + 1); + SIMD_F32 out_val = SIMD_ADD_F32(input_val, last_output_val); + SIMD_ST_F32(layer_output - index - BLOCK_NUM + 1, out_val); + } + return index; +} + +// (a, b, c) -> (a, a+b, a+b+c) exclusive == false +// (a, b, c) -> (0, a, a+b) exclusive == true +static inline int64_t CumsumIntOutputInitWithInputNEON(int64_t index, const int32_t *layer_input, + int32_t *layer_output, int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(layer_output + index, SIMD_LD_EPI32(layer_input + index)); + } + return index; +} + +static inline int64_t CumsumIntOutputInitWithZeroNEON(int64_t index, int32_t *layer_output, int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(layer_output + index, SIMD_MOV_EPI32(0.0f)); + } + return index; +} + +static inline int64_t CumsumIntNEON(int64_t index, const int32_t *layer_input, int32_t *layer_output, int32_t *layer_last_output, + int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 input_val = SIMD_LD_EPI32(layer_input + index); + SIMD_EPI32 last_output_val = SIMD_LD_EPI32(layer_last_output + index); + SIMD_EPI32 out_val = SIMD_ADD_EPI32(input_val, last_output_val); + SIMD_ST_EPI32(layer_output + index, out_val); + } + return index; +} + +// (a, b, c) -> (c+b+a, c+b, c) exclusive==false +// (a, b, c) -> (c+b, c, 0) exclusive==true +static inline int64_t CumsumReverseIntNEON(int64_t index, const int32_t *layer_input, int32_t *layer_output, int32_t *layer_last_output, + int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 input_val = SIMD_LD_EPI32(layer_input - index - BLOCK_NUM + 1); + SIMD_EPI32 last_output_val = SIMD_LD_EPI32(layer_last_output - index - BLOCK_NUM + 1); + SIMD_EPI32 out_val = SIMD_ADD_EPI32(input_val, last_output_val); + SIMD_ST_EPI32(layer_output - index - BLOCK_NUM + 1, out_val); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/div_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/div_fp32_neon.h new file mode 100644 index 00000000..5a0995ae --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/div_fp32_neon.h @@ -0,0 +1,166 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_DIV_NEON_H_ +#define MINDSPORE_NNACL_FP32_DIV_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int ElementOptDivNum0NEON(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_DIV_F32(vin0_opt, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivNum1NEON(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_DIV_F32(vin0, vin1_opt_); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivIntNum0NEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_DIV_EPI32(vin0_opt, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivIntNum1NEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_DIV_EPI32(vin0, vin1_opt_); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivReluNum0NEON(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_DIV_F32(vin0_opt, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivReluNum1NEON(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_DIV_F32(vin0, vin1_opt_), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivRelu6Num0NEON(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_DIV_F32(vin0_opt, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivRelu6Num1NEON(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_DIV_F32(vin0, vin1_opt_), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementDivNEON(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_DIV_F32(vin0, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementDivIntNEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_DIV_EPI32(vin0, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementDivReluNEON(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_DIV_F32(vin0, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementDivRelu6NEON(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_DIV_F32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +}; +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/dropout_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/dropout_fp32_neon.h new file mode 100644 index 00000000..b71db336 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/dropout_fp32_neon.h @@ -0,0 +1,45 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_DROPOUTFP32_NEON_H_ +#define MINDSPORE_NNACL_FP32_DROPOUTFP32_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int DropoutFp32NEON(int index, const float *input, float scale, + int length, float *output) { + SIMD_F32 scale_value = SIMD_MOV_F32(scale); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_MUL_F32(SIMD_LD_F32(input + index), scale_value)); + } + return index; +} +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/exp_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/exp_fp32_neon.h new file mode 100644 index 00000000..a594abd2 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/exp_fp32_neon.h @@ -0,0 +1,62 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_DIV_NEON_H_ +#define MINDSPORE_NNACL_FP32_DIV_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int64_t ExpFp32NEON(int64_t index, const float *src, float *dst, int num) { + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EXP_ST_F32(SIMD_LD_F32(src + index), dst + index); + } + return index; +} + +static inline int64_t ExpFp32WithInScaleNEON(int64_t index, const float *src, float *dst, int num, float in_scale) { + SIMD_F32 scale_vec = SIMD_MOV_F32(in_scale); + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EXP_ST_F32(SIMD_MUL_F32(SIMD_LD_F32(src + index), scale_vec), dst + index); + } + return index; +} + +static inline int64_t ExpFp32WithOutScaleNEON(int64_t index, const float *src, float *dst, int num, float out_scale) { + SIMD_F32 scale_vec = SIMD_MOV_F32(out_scale); + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EXP_ST_F32(SIMD_LD_F32(src + index), dst + index); + SIMD_ST_F32(dst + index, SIMD_MUL_F32(SIMD_LD_F32(dst + index), scale_vec)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +}; +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/fill_base_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/fill_base_neon.h new file mode 100644 index 00000000..f32c6ddf --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/fill_base_neon.h @@ -0,0 +1,52 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_BASE_FILL_BASE_NEON_H_ +#define NNACL_BASE_FILL_BASE_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int FillFp32NEON(int index, float *output, int size, float data) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_MOV_F32(data)); + } + return index; +} + +static inline int FillInt32NEON(int index, int *output, int size, int data) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(output + index, SIMD_MOV_EPI32(data)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif + diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/group_norm_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/group_norm_fp32_neon.h new file mode 100644 index 00000000..0eb6c9d2 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/group_norm_fp32_neon.h @@ -0,0 +1,76 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_GROUP_NORM_FP32_NEON_H_ +#define MINDSPORE_NNACL_FP32_GROUP_NORM_FP32_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int64_t GroupNormFp32NEON(int64_t index, const float *unit_input, float scale, float offset, float mean, + float var_sqrt, int unit, float *unit_output) { + SIMD_F32 mean_val = SIMD_MOV_F32(mean); + SIMD_F32 v_sqrt = SIMD_MOV_F32(var_sqrt); + SIMD_F32 scale_val = SIMD_MOV_F32(scale); + SIMD_F32 offset_val = SIMD_MOV_F32(offset); + for (int block_max_size = unit - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_LD_F32(unit_input + index); + SIMD_F32 norm_val = SIMD_DIV_F32(SIMD_SUB_F32(input, mean_val), v_sqrt); + SIMD_F32 output = SIMD_ADD_F32(SIMD_MUL_F32(norm_val, scale_val), offset_val); + SIMD_ST_F32(unit_output + index, output); + } + return index; +} + +static inline int64_t GroupNormReduceSumNEON(int64_t index, const float *in, float *sum, int unit) { + if (unit - index >= 4 * BLOCK_NUM) { + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int block_max_size = unit - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(in + index)); + } + *sum += SIMD_GET_SUM_F32(tmp); + } + return index; +} + +static inline int64_t GroupNormReduceVarNEON(int64_t index, const float *in, float mean, float *sum, int unit) { + if (unit - index >= 4 * BLOCK_NUM) { + SIMD_F32 mean_val = SIMD_MOV_F32(mean); + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int block_max_size = unit - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_SUB_F32(SIMD_LD_F32(in + index), mean_val); + tmp = SIMD_ADD_F32(tmp, SIMD_MUL_F32(input, input)); + } + *sum += SIMD_GET_SUM_F32(tmp); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/layer_norm_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/layer_norm_fp32_neon.h new file mode 100644 index 00000000..0c528616 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/layer_norm_fp32_neon.h @@ -0,0 +1,67 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_LAYER_NORM_FP32_NEON_H_ +#define MINDSPORE_NNACL_FP32_LAYER_NORM_FP32_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int LayerNormMeanAndSquareNEON(int index, const float *src, int num, float *mean, float *square_mean) { + if (num >= 4 * BLOCK_NUM) { + SIMD_F32 sum_val = SIMD_SET0_F32; + SIMD_F32 square_sum_val = SIMD_SET0_F32; + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 value = SIMD_LD_F32(src + index); + SIMD_F32 square_value = SIMD_MUL_F32(value, value); + sum_val = SIMD_ADD_F32(sum_val, value); + square_sum_val = SIMD_ADD_F32(square_sum_val, square_value); + } + *mean += SIMD_GET_SUM_F32(sum_val); + *square_mean += SIMD_GET_SUM_F32(square_sum_val); + } + return index; +} + +static inline int LayerNormGammaAndBetaNEON(int index, float *dst, const float *src, const float *gamma_data, + const float *beta_data, int num, const float mean, const float deno) { + SIMD_F32 mean_val = SIMD_MOV_F32(mean); + SIMD_F32 deno_val = SIMD_MOV_F32(deno); + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 value = SIMD_LD_F32(src + index); + SIMD_F32 out_value = SIMD_SUB_F32(value, mean_val); + out_value = SIMD_MUL_F32(out_value, deno_val); + out_value = SIMD_FMADD_F32(out_value, SIMD_LD_F32(gamma_data + index), SIMD_LD_F32(beta_data + index)); + SIMD_ST_F32(dst + index, out_value); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/matmul_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/matmul_fp32_neon.h new file mode 100644 index 00000000..b49c6d7a --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/matmul_fp32_neon.h @@ -0,0 +1,154 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_FP32_MATMUL_F32_NEON_H_ +#define MINDSPORE_NNACL_FP32_MATMUL_F32_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +// act_type must be 0, 1, 2. 0: no_act, 1: relu, 3: relu6. +static inline int64_t GemmIsNotPackNEON(int64_t index, const float *a, const float *b, float *c, const float *bias, int row, + int deep, int act_type) { + SIMD_F32 down_threshold = SIMD_MOV_F32(0.0f); + SIMD_F32 up_threshold = SIMD_MOV_F32(6); + SIMD_F32 b_data16 = SIMD_MOV_F32(b[0]); + SIMD_F32 bias_data16 = SIMD_MOV_F32(bias[0]); + for (int block_max_size = row - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 a_data = SIMD_LD_F32(a + index); + SIMD_F32 dst = SIMD_FMADD_F32(b_data16, a_data, bias_data16); + if (act_type != 0) { + dst = SIMD_MAX_F32(dst, down_threshold); + if (act_type == 3) { + dst = SIMD_MIN_F32(dst, up_threshold); + } + } + SIMD_ST_F32(c + index, dst); + } + + return index; +} + +// act_type must be 0, 1, 2. 0: no_act, 1: relu, 3: relu6. +static inline int64_t Row1Deep1GemmIsNotPackNEON(int64_t index, const float *a, const float *b, float *c, const float *bias, int col, + int act_type) { + SIMD_F32 down_threshold = SIMD_MOV_F32(0.0f); + SIMD_F32 up_threshold = SIMD_MOV_F32(6); + SIMD_F32 vec_a = SIMD_MOV_F32(a[0]); + if (act_type == 1) { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 vec_bias = SIMD_LD_F32(bias + index); + SIMD_F32 dst = SIMD_FMADD_F32(vec_a, vec_b, vec_bias); + SIMD_ST_F32(c + index, SIMD_MAX_F32(dst, down_threshold)); // relu + } + } else if (act_type == 3) { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 vec_bias = SIMD_LD_F32(bias + index); + SIMD_F32 dst = SIMD_FMADD_F32(vec_a, vec_b, vec_bias); + SIMD_ST_F32(c + index, SIMD_CLAMP_F32(dst, down_threshold, up_threshold)); // relue6 + } + } else { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 vec_bias = SIMD_LD_F32(bias + index); + SIMD_F32 dst = SIMD_FMADD_F32(vec_a, vec_b, vec_bias); + SIMD_ST_F32(c + index, dst); // no_act + } + } + + return index; +} + +// act_type must be 0, 1, 2. 0: no_act, 1: relu, 3: relu6. +static inline int64_t Row1Deep1NoBiasGemmIsNotPackNEON(int64_t index, const float *a, const float *b, float *c, const float *bias, int col, + int act_type) { + SIMD_F32 down_threshold = SIMD_MOV_F32(0.0f); + SIMD_F32 up_threshold = SIMD_MOV_F32(6); + SIMD_F32 vec_a = SIMD_MOV_F32(a[0]); + if (act_type == 1) { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 dst = SIMD_MUL_F32(vec_a, vec_b); + SIMD_ST_F32(c + index, SIMD_MAX_F32(dst, down_threshold)); // relu + } + } else if (act_type == 3) { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 dst = SIMD_MUL_F32(vec_a, vec_b); + SIMD_ST_F32(c + index, SIMD_CLAMP_F32(dst, down_threshold, up_threshold)); // relue6 + } + } else { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 dst = SIMD_MUL_F32(vec_a, vec_b); + SIMD_ST_F32(c + index, dst); // no_act + } + } + + return index; +} + +#if defined(MS_SIMD_AVX512) || defined(MS_SIMD_AVX) +static inline int64_t GemmIsNotPackOptimizeCoreNEON(int64_t index, const float *a, const float *b, int k, float *dst) { + SIMD_F32 dst1 = SIMD_MOV_F32(0.0f); + for (int block_max_size = k - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 weight = SIMD_LD_F32(b + index); + SIMD_F32 a1 = SIMD_LD_F32(a + index); + dst1 = SIMD_FMADD_F32(weight, a1, dst1); + } + *dst += SIMD_REDUCE_ADD_F32(dst1); + return index; +} +#endif + +static inline int64_t MatVecMulNoPackCoreNEON(int64_t oc_index, const float *a, const float *b, float *c, const float *bias, + int act_type, int64_t depth, int64_t oc, int64_t col, int64_t inc_flag) { + for (int64_t oc_max_size = oc - BLOCK_NUM; oc_index <= oc_max_size; oc_index += BLOCK_NUM) { + SIMD_F32 out = (inc_flag & 0x1) == 0 ? SIMD_LD_F32(c + oc_index) : (bias == NULL ? SIMD_MOV_F32(0.0f) : SIMD_LD_F32(bias + oc_index)); + for (int64_t k = 0; k < depth; ++k) { + SIMD_F32 left = SIMD_MOV_F32(a[k]); + SIMD_F32 right = SIMD_LD_F32(b + oc_index + k * col); + out = SIMD_FMADD_F32(left, right, out); + } + if ((inc_flag & 0x2) != 0 && act_type != 0) { + out = SIMD_MAX_F32(out, SIMD_MOV_F32(0.0f)); + if (act_type == 0x3) { + out = SIMD_MIN_F32(out, SIMD_MOV_F32(6.0f)); + } + } + SIMD_ST_F32(c + oc_index, out); + } + return oc_index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/mul_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/mul_fp32_neon.h new file mode 100644 index 00000000..f157a774 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/mul_fp32_neon.h @@ -0,0 +1,217 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_ACTIVATION_NEON_H_ +#define MINDSPORE_NNACL_FP32_ACTIVATION_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int ElementMulNEON(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MUL_F32(vin0, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementMulReluNEON(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_MUL_F32(vin0, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementMulRelu6NEON(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_MUL_F32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementMulIntNEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MUL_EPI32(vin0, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementMulReluIntNEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0, vin1), 0.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementMulRelu6IntNEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MIN_N_EPI32(SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulNum0NEON(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin0_opt_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MUL_F32(vin0_opt_, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulNum1NEON(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MUL_F32(vin0, vin1_opt_); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulReluNum0NEON(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin0_opt_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_MUL_F32(vin0_opt_, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulReluNum1NEON(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_MUL_F32(vin0, vin1_opt_), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulRelu6Num0NEON(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin0_opt_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_MUL_F32(vin0_opt_, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulRelu6Num1NEON(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_MUL_F32(vin0, vin1_opt_), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulIntNum0NEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt_ = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MUL_EPI32(vin0_opt_, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulIntNum1NEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_MUL_EPI32(vin0, vin1_opt_); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulReluIntNum0NEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt_ = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0_opt_, vin1), 0.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulReluIntNum1NEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0, vin1_opt_), 0.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulRelu6IntNum0NEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt_ = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MIN_N_EPI32(SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0_opt_, vin1), 0.0f), 6.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulRelu6IntNum1NEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_MIN_N_EPI32(SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0, vin1_opt_), 0.0f), 6.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/pooling_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/pooling_fp32_neon.h new file mode 100644 index 00000000..ea6acf62 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/pooling_fp32_neon.h @@ -0,0 +1,83 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_POOLING_NEON_H_ +#define MINDSPORE_NNACL_FP32_POOLING_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int AvgPoolingBatchNEON(int ci, const float *src_plane_ptr, int channel, + float *dst_plane_ptr, int real_win_h_start, int real_win_h_end, int real_win_w_start, int real_win_w_end, + int in_h_index, int in_w, int in_w_index, float minf, float maxf) { + SIMD_F32 min_val = SIMD_MOV_F32(minf); + SIMD_F32 max_val = SIMD_MOV_F32(maxf); + for (int block_max_size = channel - BLOCK_NUM + 1; ci < block_max_size; ci += BLOCK_NUM) { + const float *src_c_ptr = src_plane_ptr + ci; + float *dst_c_ptr = dst_plane_ptr + ci; + SIMD_F32 tmp_avg = SIMD_SET0_F32; + int real_count = 0; + for (int h = real_win_h_start; h < real_win_h_end; h++) { + for (int w = real_win_w_start; w < real_win_w_end; w++) { + const float *src_win_ptr = src_c_ptr + ((in_h_index + h) * in_w + in_w_index + w) * channel; + tmp_avg = SIMD_ADD_F32(tmp_avg, SIMD_LD_F32(src_win_ptr)); + ++real_count; + } + } + tmp_avg = SIMD_DIV_F32(tmp_avg, SIMD_MOV_F32(real_count)); + tmp_avg = SIMD_MAX_F32(tmp_avg, min_val); + tmp_avg = SIMD_MIN_F32(tmp_avg, max_val); + SIMD_ST_F32(dst_c_ptr, tmp_avg); + } + return ci; +} + +static inline int MaxPoolingBatchNEON(int ci, const float *src_plane_ptr, int channel, + float *dst_plane_ptr, int real_win_h_start, int real_win_h_end, int real_win_w_start, int real_win_w_end, + int in_h_index, int in_w, int in_w_index, float minf, float maxf) { + SIMD_F32 min_val = SIMD_MOV_F32(minf); + SIMD_F32 max_val = SIMD_MOV_F32(maxf); + for (int block_max_size = channel - BLOCK_NUM + 1; ci < block_max_size; ci += BLOCK_NUM) { + const float *src_c_ptr = src_plane_ptr + ci; + float *dst_c_ptr = dst_plane_ptr + ci; + SIMD_F32 tmp_max = min_val; + for (int kh = real_win_h_start; kh < real_win_h_end; kh++) { + for (int kw = real_win_w_start; kw < real_win_w_end; kw++) { + const float *src_win_ptr = src_c_ptr + ((in_h_index + kh) * in_w + in_w_index + kw) * channel; + tmp_max = SIMD_MAX_F32(tmp_max, SIMD_LD_F32(src_win_ptr)); + } + } + tmp_max = SIMD_MIN_F32(tmp_max, max_val); + SIMD_ST_F32(dst_c_ptr, tmp_max); + } + return ci; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/power_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/power_fp32_neon.h new file mode 100644 index 00000000..fd8699c7 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/power_fp32_neon.h @@ -0,0 +1,100 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_POWER_NEON_H_ +#define MINDSPORE_NNACL_FP32_POWER_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int PowerBroadCastIntExponentNEON(int index, const float *input, int exponent, float *output, int len, + float scale, float shift) { + SIMD_F32 scale_vec = SIMD_MOV_F32(scale); + SIMD_F32 shift_vec = SIMD_MOV_F32(shift); + for (int block_max_size = len - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp = SIMD_FMADD_F32(scale_vec, SIMD_LD_F32(input + index), shift_vec); + SIMD_F32 result = SIMD_MOV_F32(1.0f); + int exp = abs(exponent); + while (exp) { + if (exp % 2) { + result = SIMD_MUL_F32(result, tmp); + } + tmp = SIMD_MUL_SQUARE_F32(tmp); + exp = exp / 2; + } + SIMD_ST_F32(output + index, exponent >= 0 ? result : SIMD_DIV_F32(SIMD_MOV_F32(1), result)); + } + return index; +} + +static inline int PowerBroadCastFloatExponentNEON(int index, const float *input, float exponent, float *output, int len, + float scale, float shift) { + SIMD_F32 scale_vec = SIMD_MOV_F32(scale); + SIMD_F32 shift_vec = SIMD_MOV_F32(shift); + for (int block_max_size = len - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp = SIMD_FMADD_F32(scale_vec, SIMD_LD_F32(input + index), shift_vec); + SIMD_F32 result; + for (int i = 0; i < BLOCK_NUM; ++i) { + SIMD_F32_GETI(result, i) = powf(SIMD_F32_GETI(tmp, i), exponent); + } + SIMD_ST_F32(output + index, result); + } + return index; +} + +static inline int PowerSingleExponentNEON(int index, const float *input, const float *exponent, float *output, int len, + float scale, float shift) { + SIMD_F32 scale_vec = SIMD_MOV_F32(scale); + SIMD_F32 shift_vec = SIMD_MOV_F32(shift); + for (int block_max_size = len - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp_vec = SIMD_FMADD_F32(scale_vec, SIMD_LD_F32(input + index), shift_vec); + for (int j = 0; j < BLOCK_NUM; ++j) { + float cur_exponent = exponent[index + j]; + float cur_val = SIMD_F32_GETI(tmp_vec, j); + if (fabsf(cur_exponent - (int)(cur_exponent)) < 0.000001) { + int exp = abs((int)(cur_exponent)); + float result = 1; + while (exp) { + if (exp % 2) { + result *= cur_val; + } + cur_val *= cur_val; + exp = exp / 2; + } + output[index + j] = *exponent >= 0 ? result : 1 / result; + } else { + output[index + j] = powf(cur_val, cur_exponent); + } + } + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/reduce_concat_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/reduce_concat_fp32_neon.h new file mode 100644 index 00000000..1be9d7ea --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/reduce_concat_fp32_neon.h @@ -0,0 +1,121 @@ +/** + * Copyright 2023 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_REDUCE_CONCAT_FP32_SIMD_NEON_H_ +#define MINDSPORE_NNACL_REDUCE_CONCAT_FP32_SIMD_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +#ifdef MS_SIMD_AVX512 +static inline int Fp32ReduceSumConcatAxisSize16FusionNEON(int index, float *output_data, const float *input_data, int64_t reduce_axis_size) { + SIMD_F32 zmm00 = SIMD_LD_F32(input_data); + for (int l = 1; l < reduce_axis_size; l++) { + input_data += (1 * BLOCK_NUM); + zmm00 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data)); + } + SIMD_ST_F32(output_data, zmm00); + return index; +} + +static inline int Fp32ReduceSumConcatAxisSize32FusionNEON(int index, float *output_data, const float *input_data, int64_t reduce_axis_size) { + SIMD_F32 zmm00 = SIMD_LD_F32(input_data + 0 * BLOCK_NUM); + SIMD_F32 zmm01 = SIMD_LD_F32(input_data + 1 * BLOCK_NUM); + for (int l = 1; l < reduce_axis_size; l++) { + input_data += (2 * BLOCK_NUM); + zmm00 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data + 0 * BLOCK_NUM)); + zmm01 = SIMD_ADD_F32(zmm01, SIMD_LD_F32(input_data + 1 * BLOCK_NUM)); + } + + SIMD_ST_F32(output_data + 0 * BLOCK_NUM, zmm00); + SIMD_ST_F32(output_data + 1 * BLOCK_NUM, zmm01); + + return index; +} + +static inline int Fp32ReduceSumConcatAxisSize64FusionNEON(int index, float *output_data, const float *input_data, int64_t reduce_axis_size) { + SIMD_F32 zmm00 = SIMD_LD_F32(input_data + 0 * BLOCK_NUM); + SIMD_F32 zmm01 = SIMD_LD_F32(input_data + 1 * BLOCK_NUM); + SIMD_F32 zmm02 = SIMD_LD_F32(input_data + 2 * BLOCK_NUM); + SIMD_F32 zmm03 = SIMD_LD_F32(input_data + 3 * BLOCK_NUM); + for (int l = 1; l < reduce_axis_size; l++) { + input_data += (4 * BLOCK_NUM); + zmm00 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data + 0 * BLOCK_NUM)); + zmm01 = SIMD_ADD_F32(zmm01, SIMD_LD_F32(input_data + 1 * BLOCK_NUM)); + zmm02 = SIMD_ADD_F32(zmm02, SIMD_LD_F32(input_data + 2 * BLOCK_NUM)); + zmm03 = SIMD_ADD_F32(zmm03, SIMD_LD_F32(input_data + 3 * BLOCK_NUM)); + } + + SIMD_ST_F32(output_data + 0 * BLOCK_NUM, zmm00); + SIMD_ST_F32(output_data + 1 * BLOCK_NUM, zmm01); + SIMD_ST_F32(output_data + 2 * BLOCK_NUM, zmm02); + SIMD_ST_F32(output_data + 3 * BLOCK_NUM, zmm03); + + return index; +} + +static inline int Fp32ReduceSumConcatAxisSize128FusionNEON(int index, float *output_data, const float *input_data, int64_t reduce_axis_size) { + SIMD_F32 zmm00 = SIMD_LD_F32(input_data + 0 * BLOCK_NUM); + SIMD_F32 zmm01 = SIMD_LD_F32(input_data + 1 * BLOCK_NUM); + SIMD_F32 zmm02 = SIMD_LD_F32(input_data + 2 * BLOCK_NUM); + SIMD_F32 zmm03 = SIMD_LD_F32(input_data + 3 * BLOCK_NUM); + SIMD_F32 zmm04 = SIMD_LD_F32(input_data + 4 * BLOCK_NUM); + SIMD_F32 zmm05 = SIMD_LD_F32(input_data + 5 * BLOCK_NUM); + SIMD_F32 zmm06 = SIMD_LD_F32(input_data + 6 * BLOCK_NUM); + SIMD_F32 zmm07 = SIMD_LD_F32(input_data + 7 * BLOCK_NUM); + for (int l = 1; l < reduce_axis_size; l++) { + input_data += (8 * BLOCK_NUM); + zmm00 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data + 0 * BLOCK_NUM)); + zmm01 = SIMD_ADD_F32(zmm01, SIMD_LD_F32(input_data + 1 * BLOCK_NUM)); + zmm02 = SIMD_ADD_F32(zmm02, SIMD_LD_F32(input_data + 2 * BLOCK_NUM)); + zmm03 = SIMD_ADD_F32(zmm03, SIMD_LD_F32(input_data + 3 * BLOCK_NUM)); + zmm04 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data + 4 * BLOCK_NUM)); + zmm05 = SIMD_ADD_F32(zmm01, SIMD_LD_F32(input_data + 5 * BLOCK_NUM)); + zmm06 = SIMD_ADD_F32(zmm02, SIMD_LD_F32(input_data + 6 * BLOCK_NUM)); + zmm07 = SIMD_ADD_F32(zmm03, SIMD_LD_F32(input_data + 7 * BLOCK_NUM)); + } + + SIMD_ST_F32(output_data + 0 * BLOCK_NUM, zmm00); + SIMD_ST_F32(output_data + 1 * BLOCK_NUM, zmm01); + SIMD_ST_F32(output_data + 2 * BLOCK_NUM, zmm02); + SIMD_ST_F32(output_data + 3 * BLOCK_NUM, zmm03); + SIMD_ST_F32(output_data + 4 * BLOCK_NUM, zmm04); + SIMD_ST_F32(output_data + 5 * BLOCK_NUM, zmm05); + SIMD_ST_F32(output_data + 6 * BLOCK_NUM, zmm06); + SIMD_ST_F32(output_data + 7 * BLOCK_NUM, zmm07); + + return index; +} + +#endif + + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/reduce_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/reduce_fp32_neon.h new file mode 100644 index 00000000..c72d510e --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/reduce_fp32_neon.h @@ -0,0 +1,226 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_FP32_REDUCE_FP32_NEON_H_ +#define MINDSPORE_NNACL_FP32_REDUCE_FP32_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int64_t ReduceSumNEON(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceSumByLastAxisNEON(int64_t index, const float *src, float* tmp_sum, int axis_size) { + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int block_max_size = axis_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(src + index)); + } + *tmp_sum += SIMD_GET_SUM_F32(tmp); + return index; +} + +static inline int64_t ReduceMeanNEON(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, SIMD_DIV_N_F32(tmp, axis_size)); + } + return index; +} + +static inline int64_t ReduceMinNEON(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(FLT_MAX); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MIN_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceMaxNEON(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(FLT_MIN); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MAX_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceMaxByLastAxisNEON(int64_t index, const float *src, float* tmp_max, int axis_size) { + SIMD_F32 tmp = SIMD_MOV_F32(*tmp_max); + for (int block_max_size = axis_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + tmp = SIMD_MAX_F32(tmp, SIMD_LD_F32(src + index)); + } + *tmp_max = SIMD_GET_MAX_F32(tmp); + return index; +} + +static inline int64_t ReduceProdNEON(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(1.0f); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MUL_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceSumSquareNEON(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_F32(tmp, SIMD_MUL_SQUARE_F32(SIMD_LD_F32(inner_src + i * inner_size))); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceL2NormNEON(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_F32(tmp, SIMD_MUL_SQUARE_F32(SIMD_LD_F32(inner_src + i * inner_size))); + } + SIMD_ST_F32(outer_dst + index, SIMD_SQRT_F32(tmp)); + } + return index; +} + +static inline int64_t IntReduceSumNEON(int64_t index, const int32_t *outer_src, int32_t *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const int32_t *inner_src = outer_src + index; + SIMD_EPI32 tmp = SIMD_MOV_EPI32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_EPI32(tmp, SIMD_LD_EPI32(inner_src + i * inner_size)); + } + SIMD_ST_EPI32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t IntReduceMeanNEON(int64_t index, const int32_t *outer_src, int32_t *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const int32_t *inner_src = outer_src + index; + SIMD_EPI32 tmp = SIMD_MOV_EPI32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_EPI32(tmp, SIMD_LD_EPI32(inner_src + i * inner_size)); + } + SIMD_ST_EPI32(outer_dst + index, SIMD_DIV_N_EPI32(tmp, axis_size)); + } + return index; +} + +static inline int64_t IntReduceMinNEON(int64_t index, const int32_t *outer_src, int32_t *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const int32_t *inner_src = outer_src + index; + SIMD_EPI32 tmp = SIMD_MOV_EPI32(INT32_MAX); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MIN_EPI32(tmp, SIMD_LD_EPI32(inner_src + i * inner_size)); + } + SIMD_ST_EPI32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t IntReduceMaxNEON(int64_t index, const int32_t *outer_src, int32_t *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const int32_t *inner_src = outer_src + index; + SIMD_EPI32 tmp = SIMD_MOV_EPI32(INT32_MIN); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MAX_EPI32(tmp, SIMD_LD_EPI32(inner_src + i * inner_size)); + } + SIMD_ST_EPI32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceSumDim2Axis0NEON(int64_t index, size_t col_size, size_t col_len, size_t row_len, const float *src_data, float *dst_data) { + for (int block_max_size = col_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp = SIMD_MOV_F32(0); + const float *inner_src = src_data + index; + float *inner_dst = dst_data + index; + for (size_t i = 0; i < row_len; ++i) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(inner_src + i * col_len)); + } + SIMD_ST_F32(inner_dst, tmp); + } + return index; +} + +static inline int64_t FloatReduceDeviationNEON(int64_t index, const float *src_data, float mean, size_t size, float *deviation) { + SIMD_F32 fs_deviation = SIMD_MOV_F32(0); + SIMD_F32 fs_mean = SIMD_MOV_F32(mean); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 fs_sub = SIMD_LD_F32(src_data + index); + + fs_sub = SIMD_SUB_F32(fs_sub, fs_mean); + SIMD_F32 fs_pow = SIMD_MUL_F32(fs_sub, fs_sub); + fs_deviation = SIMD_ADD_F32(fs_deviation, fs_pow); + } + *deviation += SIMD_GET_SUM_F32(fs_deviation); + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/scatter_nd_binary_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/scatter_nd_binary_neon.h new file mode 100644 index 00000000..91f00900 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/scatter_nd_binary_neon.h @@ -0,0 +1,51 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_BASE_SCATTER_ND_BINARY_NEON_H_ +#define NNACL_BASE_SCATTER_ND_BINARY_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + + static inline int ScatterNDAddFp32NEON(int index, const float *update, int size, float *output) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_ADD_F32(SIMD_LD_F32(output + index), SIMD_LD_F32(update + index))); + } + return index; +} + +static inline int ScatterNDAddInt32NEON(int index, const int *update, int size, int *output) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(output + index, SIMD_ADD_EPI32(SIMD_LD_EPI32(output + index), SIMD_LD_EPI32(update + index))); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif // NNACL_BASE_SCATTER_ND_BINARY_NEON_H_ diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/softmax_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/softmax_fp32_neon.h new file mode 100644 index 00000000..f116d92f --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/softmax_fp32_neon.h @@ -0,0 +1,86 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_SOFTMAX_NEON_H_ +#define MINDSPORE_NNACL_FP32_SOFTMAX_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int64_t SoftmaxNormGetMaxNEON(int64_t index, const float *src, int cur_batch_offset, + float *max, int channel) { + if (channel >= BLOCK_NUM * BLOCK_NUM) { + SIMD_F32 max_val = SIMD_MOV_F32(*max); + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + max_val = SIMD_MAX_F32(max_val, SIMD_LD_F32(src + cur_batch_offset + index)); + } + *max = SIMD_GET_MAX_F32(max_val); + } + return index; +} + +static inline int64_t SoftmaxNormCalcNormNEON(int64_t index, const float *src, float *dst, + int cur_batch_offset, float max, int channel) { + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 output = SIMD_SUB_F32(SIMD_LD_F32(src + cur_batch_offset + index), SIMD_MOV_F32(max)); + SIMD_ST_F32(dst + cur_batch_offset + index, output); + } + return index; +} + +static inline int64_t SoftmaxLastAxisGetExpSumNEON(int64_t index, const float *src, float *dst, + int cur_batch_offset, float max, float *exp_sum, int channel) { +#ifndef _WIN32 + SIMD_F32 sum_val = SIMD_SET0_F32; + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_LD_F32(src + cur_batch_offset + index); + SIMD_F32 output = SIMD_SUB_F32(input, SIMD_MOV_F32(max)); + SIMD_F32 exp_out = SIMD_EXP_F32(output); + sum_val = SIMD_ADD_F32(sum_val, exp_out); + SIMD_ST_F32(dst + cur_batch_offset + index, exp_out); + } + *exp_sum += SIMD_GET_SUM_F32(sum_val); +#endif + return index; +} + +static inline int64_t SoftmaxLastAxisGetResultNEON(int64_t index, const float *src, float *dst, + int cur_batch_offset, float exp_sum, int channel) { + SIMD_F32 exp_sum_val = SIMD_MOV_F32(exp_sum); + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_LD_F32(src + cur_batch_offset + index); + SIMD_F32 output = SIMD_MUL_F32(input, exp_sum_val); + SIMD_ST_F32(dst + cur_batch_offset + index, output); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +}; +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/softmax_grad_fusion_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/softmax_grad_fusion_fp32_neon.h new file mode 100644 index 00000000..c2057835 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/softmax_grad_fusion_fp32_neon.h @@ -0,0 +1,61 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_SOFTMAX_GRAD_FUSION_NEON_H_ +#define MINDSPORE_NNACL_FP32_SOFTMAX_GRAD_FUSION_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int64_t SoftmaxGradFusionOptNEON(int64_t index, const float *a, const float *b, + float *out, int64_t size) { + SIMD_F32 result_vec = SIMD_MOV_F32(0.0f); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 a_vec = SIMD_LD_F32(a + index); + SIMD_F32 b_vec = SIMD_LD_F32(b + index); + result_vec = SIMD_FMADD_F32(a_vec, b_vec, result_vec); + } + *out += SIMD_GET_SUM_F32(result_vec); + + return index; +} + +static inline int64_t ElementOptSubMulNEON(int index, const float *in0, const float *in1, float sum, + float *out, int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(sum); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_ST_F32(out + index, SIMD_MUL_F32(vin0, SIMD_SUB_F32(vin1, vin1_opt_))); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/sub_fp32_neon.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/sub_fp32_neon.h new file mode 100644 index 00000000..1fae8d24 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/neon/sub_fp32_neon.h @@ -0,0 +1,166 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_SUB_NEON_H_ +#define MINDSPORE_NNACL_FP32_SUB_NEON_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_neon_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_SIMD_INSTRUCTION MS_SIMD_NEON_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_NEON + +static inline int ElementOptSubNum0NEON(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_SUB_F32(vin0_opt, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubNum1NEON(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_SUB_F32(vin0, vin1_opt_); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubIntNum0NEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_SUB_EPI32(vin0_opt, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubIntNum1NEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_SUB_EPI32(vin0, vin1_opt_); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubReluNum0NEON(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_SUB_F32(vin0_opt, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubReluNum1NEON(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_SUB_F32(vin0, vin1_opt_), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubRelu6Num0NEON(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_SUB_F32(vin0_opt, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubRelu6Num1NEON(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_SUB_F32(vin0, vin1_opt_), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementSubNEON(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_SUB_F32(vin0, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementSubIntNEON(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_SUB_EPI32(vin0, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementSubReluNEON(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_SUB_F32(vin0, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementSubRelu6NEON(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_SUB_F32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM + +#undef MS_SIMD_NEON +#ifdef __cplusplus +}; +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/pooling_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/pooling_fp32_simd.h new file mode 100644 index 00000000..90e4ca4f --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/pooling_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_POOLING_FP32_SIMD_H_ +#define NNACL_POOLING_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/pooling_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/pooling_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/pooling_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/pooling_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/power_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/power_fp32_simd.h new file mode 100644 index 00000000..acf36877 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/power_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_POWER_FP32_SIMD_H_ +#define NNACL_POWER_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/power_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/power_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/power_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/power_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/reduce_concat_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/reduce_concat_fp32_simd.h new file mode 100644 index 00000000..37f549bb --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/reduce_concat_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_REDUCE_CONCAT_FP32_SIMD_H_ +#define NNACL_REDUCE_CONCAT_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/reduce_concat_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/reduce_concat_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/reduce_concat_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/reduce_concat_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/reduce_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/reduce_fp32_simd.h new file mode 100644 index 00000000..595833e0 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/reduce_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_REDUCE_FP32_SIMD_H_ +#define NNACL_REDUCE_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/reduce_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/reduce_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/reduce_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/reduce_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/scatter_nd_binary_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/scatter_nd_binary_simd.h new file mode 100644 index 00000000..4e384f77 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/scatter_nd_binary_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_SCATTER_ND_BINARY_SIMD_H_ +#define NNACL_SCATTER_ND_BINARY_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/scatter_nd_binary_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/scatter_nd_binary_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/scatter_nd_binary_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/scatter_nd_binary_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/softmax_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/softmax_fp32_simd.h new file mode 100644 index 00000000..48ac7afa --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/softmax_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_SOFTMAX_FP32_SIMD_H_ +#define NNACL_SOFTMAX_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/softmax_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/softmax_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/softmax_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/softmax_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/softmax_grad_fusion_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/softmax_grad_fusion_fp32_simd.h new file mode 100644 index 00000000..8f2d180b --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/softmax_grad_fusion_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_SOFTMAX_GRAD_FUSION_FP32_SIMD_H_ +#define NNACL_SOFTMAX_GRAD_FUSION_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/softmax_grad_fusion_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/softmax_grad_fusion_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/softmax_grad_fusion_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/softmax_grad_fusion_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/activation_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/activation_fp32_sse.h new file mode 100644 index 00000000..90cc0dd5 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/activation_fp32_sse.h @@ -0,0 +1,285 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_FP32_ACTIVATION_SSE_H_ +#define MINDSPORE_NNACL_FP32_ACTIVATION_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int Fp32ReluSSE(int index, const float *src, int length, float *dst) { + SIMD_F32 zero = SIMD_SET0_F32; + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_MAX_F32(SIMD_LD_F32(src + index), zero)); + } + return index; +} + +static inline int Int32ReluSSE(int index, const int32_t *src, int length, int32_t *dst) { + SIMD_EPI32 zero = SIMD_MOV_EPI32(0.0f); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(dst + index, SIMD_MAX_EPI32(SIMD_LD_EPI32(src + index), zero)); + } + return index; +} + +static inline int Fp32Relu6SSE(int index, const float *src, int length, float *dst) { + SIMD_F32 zero = SIMD_SET0_F32; + SIMD_F32 six = SIMD_MOV_F32(6.0f); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_CLAMP_F32(SIMD_LD_F32(src + index), zero, six)); + } + return index; +} + +static inline int Fp32ClipSSE(int index, const float *src, int length, float *dst, float min, float max) { + SIMD_F32 min_val = SIMD_MOV_F32(min); + SIMD_F32 max_val = SIMD_MOV_F32(max); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_CLAMP_F32(SIMD_LD_F32(src + index), min_val, max_val)); + } + return index; +} + +static inline int Int32ClipSSE(int index, const int32_t *src, int length, int32_t *dst, int min, int max) { + SIMD_EPI32 min_val = SIMD_MOV_EPI32(min); + SIMD_EPI32 max_val = SIMD_MOV_EPI32(max); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(dst + index, SIMD_CLAMP_EPI32(SIMD_LD_EPI32(src + index), min_val, max_val)); + } + return index; +} + +static inline int LReluSSE(int index, const float *src, int length, float *dst, float alpha) { + SIMD_F32 alpha_data = SIMD_MOV_F32(alpha); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_tmp = SIMD_LD_F32(src + index); + SIMD_MASK mask = SIMD_CMPGT_F32(SIMD_SET0_F32, src_tmp); + SIMD_ST_F32(dst + index, SIMD_BLEND_F32(src_tmp, SIMD_MUL_F32(src_tmp, alpha_data), mask)); + } + return index; +} + +static inline int SigmoidSSE(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EXP_ST_F32(SIMD_SUB_F32(SIMD_SET0_F32, (SIMD_LD_F32(src + index))), dst + index); + SIMD_ST_F32(dst + index, + SIMD_DIV_F32(SIMD_MOV_F32(1.0f), SIMD_ADD_F32(SIMD_MOV_F32(1.0f), SIMD_LD_F32(dst + index)))); + } + return index; +} + +static inline int TanhSSE(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_LD_F32(src + index); + SIMD_ST_F32(dst + index, SIMD_TANH_F32(input)); + } + return index; +} + +static inline int SwishSSE(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_value = SIMD_LD_F32(src + index); + SIMD_EXP_ST_F32(SIMD_SUB_F32(SIMD_SET0_F32, src_value), dst + index); + SIMD_ST_F32(dst + index, + SIMD_DIV_F32(src_value, SIMD_ADD_F32(SIMD_MOV_F32(1.0f), SIMD_LD_F32(dst + index)))); + } + return index; +} + +static inline int HSwishSSE(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_value = SIMD_LD_F32(src + index); + SIMD_F32 relu6 = SIMD_CLAMP_N_F32(SIMD_ADD_N_F32(src_value, 3), 0, 6); + SIMD_ST_F32(dst + index, SIMD_DIV_N_F32(SIMD_MUL_F32(src_value, relu6), 6)); + } + return index; +} + +static inline int HSigmoidSSE(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_value = SIMD_LD_F32(src + index); + SIMD_F32 relu6 = SIMD_CLAMP_N_F32(SIMD_ADD_N_F32(src_value, 3), 0, 6); + SIMD_ST_F32(dst + index, SIMD_DIV_N_F32(relu6, 6)); + } + return index; +} + +static inline int HardTanhNoLimitMinSSE(int index, const float *src, int length, float *dst, float min_val, + float max_val) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_MIN_N_F32(SIMD_LD_F32(src + index), max_val)); + } + return index; +} + +static inline int HardTanhNoLimitMaxSSE(int index, const float *src, int length, float *dst, float min_val, + float max_val) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_MAX_N_F32(SIMD_LD_F32(src + index), min_val)); + } + return index; +} + +static inline int HardTanhLimitMinMaxSSE(int index, const float *src, int length, float *dst, float min_val, + float max_val) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(dst + index, SIMD_CLAMP_N_F32(SIMD_LD_F32(src + index), min_val, max_val)); + } + return index; +} + +static inline int GeluTanhApproximateSSE(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in = SIMD_LD_F32(src + index); + SIMD_F32 tmp1 = SIMD_FMADD_F32(SIMD_MUL_N_F32(in, 0.035677408136f), in, SIMD_MOV_F32(0.79788456080287f)); + SIMD_F32 tmp2 = SIMD_MUL_F32(tmp1, in); + SIMD_ST_F32(dst + index, SIMD_MUL_F32(SIMD_MUL_N_F32(in, 0.5f), SIMD_ADD_N_F32(SIMD_TANH_F32(tmp2), 1.0f))); + } + return index; +} + +static inline int GeluSSE(int index, const float *src, int length, float *dst) { + SIMD_F32 para1 = SIMD_MOV_F32(1.4142135623730951f); + SIMD_F32 para2 = SIMD_MOV_F32(1.0f); + SIMD_F32 para3 = SIMD_MOV_F32(0.5f); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in = SIMD_LD_F32(src + index); + SIMD_F32 res = SIMD_MUL_F32(SIMD_MUL_F32(para3, in), SIMD_ADD_F32(para2, SIMD_ERF_F32(SIMD_DIV_F32(in, para1)))); + SIMD_ST_F32(dst + index, res); + } + return index; +} + +static inline SIMD_F32 SIMD_ERFCCHEBSSE(SIMD_F32 src) { + static const int ncof = 7; + const double cof[7] = {-1.3026537197817094, 6.4196979235649026e-1, 1.9476473204185836e-2, -9.561514786808631e-3, + -9.46595344482036e-4, 3.66839497852761e-4, 4.2523324806907e-5}; + SIMD_F32 dst; + SIMD_F32 d = SIMD_SET0_F32; + SIMD_F32 dd = SIMD_SET0_F32; + SIMD_F32 t = SIMD_DIV_F32(SIMD_MOV_F32(2.0f), SIMD_ADD_F32(src, SIMD_MOV_F32(2.0f))); + SIMD_F32 ty = SIMD_SUB_F32(SIMD_MUL_F32(SIMD_MOV_F32(4.0f), t), SIMD_MOV_F32(2.0f)); + + for (int j = ncof - 1; j > 0; j--) { + SIMD_F32 tmp = d; + d = SIMD_SUB_F32(SIMD_FMADD_F32(ty, d, SIMD_MOV_F32(cof[j])), dd); + dd = tmp; + } + + dst = + SIMD_FMADD_F32(src, src, MS_FSMUL_F32(dd, SIMD_FMADD_F32(ty, d, SIMD_MOV_F32(cof[0])), SIMD_MOV_F32(0.5f))); + dst = SIMD_MUL_F32(t, SIMD_EXP_F32(SIMD_MUL_F32(SIMD_MOV_F32(-1.0f), dst))); + return dst; +} + +static inline SIMD_F32 SIMD_ERF_APPROXIMATESSE(SIMD_F32 src) { + SIMD_F32 abs_src = SIMD_ABS_F32(src); + SIMD_F32 sign = SIMD_GETSIGN_F32(src); + SIMD_F32 dst = SIMD_ERFCCHEBSSE(abs_src); + return SIMD_MUL_F32(sign, SIMD_SUB_F32(SIMD_MOV_F32(1.0f), dst)); +} + +static inline int GeluErfAPPROXIMATESSE(int index, const float *src, int length, float *dst) { + SIMD_F32 para1 = SIMD_MOV_F32(1.4142135623730951f); + SIMD_F32 para2 = SIMD_MOV_F32(1.0f); + SIMD_F32 para3 = SIMD_MOV_F32(0.5f); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in = SIMD_LD_F32(src + index); + SIMD_F32 res = SIMD_MUL_F32(SIMD_MUL_F32(para3, in), SIMD_ADD_F32(para2, SIMD_ERF_APPROXIMATESSE(SIMD_DIV_F32(in, para1)))); + SIMD_ST_F32(dst + index, res); + } + return index; +} + +static inline int EluSSE(int index, const float *src, int length, float *dst, float alpha) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_tmp = SIMD_LD_F32(src + index); + SIMD_F32 exp_tmp = SIMD_SUB_N_F32(SIMD_EXP_F32(src_tmp), 1.0f); + SIMD_MASK mask = SIMD_CMPLE_F32(src_tmp, SIMD_SET0_F32); + SIMD_ST_F32(dst + index, SIMD_BLEND_F32(src_tmp, SIMD_MUL_N_F32(exp_tmp, alpha), mask)); + } + return index; +} + +static inline int CeluSSE(int index, const float *src, int length, float *dst, float alpha) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_tmp = SIMD_LD_F32(src + index); + SIMD_F32 exp_tmp = SIMD_SUB_N_F32(SIMD_EXP_F32(SIMD_DIV_N_F32(src_tmp, alpha)), 1.0f); + SIMD_MASK mask = SIMD_CMPLE_F32(src_tmp, SIMD_SET0_F32); + SIMD_ST_F32(dst + index, SIMD_BLEND_F32(src_tmp, SIMD_MUL_N_F32(exp_tmp, alpha), mask)); + } + return index; +} + +static inline int HardShrinkSSE(int index, const float *src, int length, float *dst, float lambd) { + SIMD_F32 pos_lamdb_v = SIMD_MOV_F32(lambd); + SIMD_F32 neg_lamdb_v = SIMD_MOV_F32(-lambd); + + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_t = SIMD_LD_F32(src + index); + /* v0 = (in > lamdb) & in */ + SIMD_F32 value0 = SIMD_AND_MASK_F32(SIMD_CMPGT_F32(src_t, pos_lamdb_v), src_t); + /* v1 = (in < -lamdb) & in */ + SIMD_F32 value1 = SIMD_AND_MASK_F32(SIMD_CMPLT_F32(src_t, neg_lamdb_v), src_t); + /* out = (v0 | v1) */ + SIMD_ST_F32(dst + index, SIMD_OR_F32(value0, value1)); + } + return index; +} + +static inline int SoftShrinkSSE(int index, const float *src, int length, float *dst, float lambd) { + SIMD_F32 pos_lamdb_v = SIMD_MOV_F32(lambd); + SIMD_F32 neg_lamdb_v = SIMD_MOV_F32(-lambd); + + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_t = SIMD_LD_F32(src + index); + /* v0 = (in > lamdb) & (in - lamdb) */ + SIMD_F32 value0 = SIMD_AND_MASK_F32(SIMD_CMPGT_F32(src_t, pos_lamdb_v), SIMD_SUB_F32(src_t, pos_lamdb_v)); + /* v1 = (in < -lamdb) & (in + lamdb) */ + SIMD_F32 value1 = SIMD_AND_MASK_F32(SIMD_CMPLT_F32(src_t, neg_lamdb_v), SIMD_ADD_F32(src_t, pos_lamdb_v)); + /* out = (v0 | v1) */ + SIMD_ST_F32(dst + index, SIMD_OR_F32(value0, value1)); + } + return index; +} + +static inline int SoftsignFp32OptSSE(int index, const float *src, int length, float *dst) { + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src_tmp = SIMD_LD_F32(src + index); + SIMD_F32 divisor_tmp = SIMD_ADD_F32(SIMD_MOV_F32(1.0f), SIMD_ABS_F32(src_tmp)); + SIMD_ST_F32(dst + index, SIMD_DIV_F32(src_tmp, divisor_tmp)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/activation_grad_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/activation_grad_sse.h new file mode 100644 index 00000000..3d0e052b --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/activation_grad_sse.h @@ -0,0 +1,57 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef NNACL_FP32_GRAD_ACTIVATION_GRAD_SSE_H_ +#define NNACL_FP32_GRAD_ACTIVATION_GRAD_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int ShrinkGradSSE(int index, const float *src0, const float *src1, + int length, float *dst, float lambd) { + SIMD_F32 pos_lamdb_v = SIMD_MOV_F32(lambd); + SIMD_F32 neg_lamdb_v = SIMD_MOV_F32(-lambd); + + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 src0_t = SIMD_LD_F32(src0 + index); + SIMD_F32 src1_t = SIMD_LD_F32(src1 + index); + + SIMD_MASK mask0 = SIMD_CMPLE_F32(src1_t, pos_lamdb_v); + SIMD_MASK mask1 = SIMD_CMPLE_F32(neg_lamdb_v, src1_t); + SIMD_MASK mask = SIMD_AND_MASK(mask0, mask1); + + SIMD_ST_F32(dst + index, SIMD_BLEND_F32(src0_t, SIMD_MOV_F32(0.0f), mask)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/adam_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/adam_fp32_sse.h new file mode 100644 index 00000000..1f5291a4 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/adam_fp32_sse.h @@ -0,0 +1,210 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_ADAM_FP32_SSE_H_ +#define MINDSPORE_NNACL_FP32_ADAM_FP32_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE +#ifdef MS_SIMD_AVX512 + static inline size_t AdamWeightDecayFp32SSE(size_t index, float *var, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + const float *gradient, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_LD_F32(var + index); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_LD_F32(gradient + index); + + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + SIMD_ST_F32(var + index, var_r); + } + + return index; +} + +static inline size_t FusedCastAdamFp32Fp16SSE(size_t index, float *var, const int16_t *gradient16, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + float global_norm_reciprocal, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + SIMD_F32 global_norm_reciprocal_r = SIMD_MOV_F32(global_norm_reciprocal); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_LD_F32(var + index); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_F16_TO_F32(SIMD_LD_HALF_EPI32(gradient16 + index)); + + g_r = SIMD_MUL_F32(g_r, global_norm_reciprocal_r); + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(var + index, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + } + + return index; +} + +static inline size_t FusedCastAdamFp32Fp32SSE(size_t index, float *var, const float *gradient32, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + float global_norm_reciprocal, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + SIMD_F32 global_norm_reciprocal_r = SIMD_MOV_F32(global_norm_reciprocal); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_LD_F32(var + index); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_LD_F32(gradient32 + index); + + g_r = SIMD_MUL_F32(g_r, global_norm_reciprocal_r); + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(var + index, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + } + + return index; +} + +static inline size_t FusedCastAdamFp16Fp16SSE(size_t index, int16_t *var16, const int16_t *gradient16, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + float global_norm_reciprocal, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + SIMD_F32 global_norm_reciprocal_r = SIMD_MOV_F32(global_norm_reciprocal); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_F16_TO_F32(SIMD_LD_HALF_EPI32(var16)); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_F16_TO_F32(SIMD_LD_HALF_EPI32(gradient16 + index)); + g_r = SIMD_MUL_F32(g_r, global_norm_reciprocal_r); + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + SIMD_ST_HALF_EPI32(var16 + index, SIMD_F32_TO_F16(var_r, 0)); + } + + return index; +} + +static inline size_t FusedCastAdamFp16Fp32SSE(size_t index, int16_t *var16, const float *gradient32, float *m, float *v, float lr, float beta1, float beta2, float epsilon, float decay, + float global_norm_reciprocal, size_t end) { + SIMD_F32 beta1_r = SIMD_MOV_F32(beta1); + SIMD_F32 beta2_r = SIMD_MOV_F32(beta2); + SIMD_F32 beta1_minus_r = SIMD_MOV_F32(1.0f - beta1); + SIMD_F32 beta2_minus_r = SIMD_MOV_F32(1.0f - beta2); + SIMD_F32 lr_neg_r = SIMD_MOV_F32(-lr); + SIMD_F32 epsilon_r = SIMD_MOV_F32(epsilon); + SIMD_F32 decay_r = SIMD_MOV_F32(decay); + SIMD_F32 global_norm_reciprocal_r = SIMD_MOV_F32(global_norm_reciprocal); + + for (size_t block_max_size = end - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 var_r = SIMD_F16_TO_F32(SIMD_LD_HALF_EPI32(var16)); + SIMD_F32 m_r = SIMD_LD_F32(m + index); + SIMD_F32 v_r = SIMD_LD_F32(v + index); + SIMD_F32 g_r = SIMD_LD_F32(gradient32 + index); + g_r = SIMD_MUL_F32(g_r, global_norm_reciprocal_r); + m_r = SIMD_MUL_F32(m_r, beta1_r); + v_r = SIMD_MUL_F32(v_r, beta2_r); + SIMD_F32 avx_r0 = SIMD_MUL_F32(g_r, g_r); + m_r = SIMD_FMADD_F32(g_r, beta1_minus_r, m_r); + v_r = SIMD_FMADD_F32(avx_r0, beta2_minus_r, v_r); + avx_r0 = SIMD_SQRT_F32(v_r); + avx_r0 = SIMD_DIV_F32(m_r, SIMD_ADD_F32(avx_r0, epsilon_r)); + avx_r0 = SIMD_FMADD_F32(var_r, decay_r, avx_r0); + var_r = SIMD_FMADD_F32(avx_r0, lr_neg_r, var_r); + SIMD_ST_F32(m + index, m_r); + SIMD_ST_F32(v + index, v_r); + SIMD_ST_HALF_EPI32(var16 + index, SIMD_F32_TO_F16(var_r, 0)); + } + + return index; +} +#endif + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/add_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/add_fp32_sse.h new file mode 100644 index 00000000..46b63bf2 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/add_fp32_sse.h @@ -0,0 +1,124 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_ADD_SSE_H_ +#define MINDSPORE_NNACL_FP32_ADD_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int ElementOptAddSSE(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin0_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_ADD_F32(vin0_, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptAddIntSSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, + int size) { + SIMD_EPI32 vin0_ = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_ADD_EPI32(vin0_, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptAddReluSSE(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_ADD_F32(vin0_, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptAddRelu6SSE(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_ADD_F32(vin0_, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementAddSSE(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_ADD_F32(vin0, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementAddReluSSE(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_ADD_F32(vin0, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementAddRelu6SSE(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_ADD_F32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementAddIntSSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_ADD_EPI32(vin0, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/apply_proximal_adagrad_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/apply_proximal_adagrad_fp32_sse.h new file mode 100644 index 00000000..a32bd7c7 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/apply_proximal_adagrad_fp32_sse.h @@ -0,0 +1,75 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_FP32_APPLY_PROXIMAL_ADAGRAD_SSE_H_ +#define NNACL_FP32_APPLY_PROXIMAL_ADAGRAD_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int64_t ApplyProximalAdagradOptSSE( + int64_t index, float *var, float *accum, float lr, float l1, float l2, float *grad, int64_t size) { + SIMD_F32 lr_vec = SIMD_MOV_F32(lr); + SIMD_F32 l1_vec = SIMD_MOV_F32(l1); + SIMD_F32 l2_vec = SIMD_MOV_F32(l2); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp_vec1 = SIMD_LD_F32(grad + index); + SIMD_F32 accum_vec = SIMD_LD_F32(accum + index); + SIMD_F32 prox_v_vec = SIMD_LD_F32(var + index); + + accum_vec = SIMD_FMADD_F32(tmp_vec1, tmp_vec1, accum_vec); + SIMD_F32 learn_rate_vec = SIMD_DIV_F32(lr_vec, SIMD_SQRT_F32(accum_vec)); + prox_v_vec = SIMD_SUB_F32(prox_v_vec, SIMD_MUL_F32(tmp_vec1, learn_rate_vec)); + SIMD_ST_F32(accum + index, accum_vec); + tmp_vec1 = SIMD_FMADD_F32(l2_vec, learn_rate_vec, SIMD_MOV_F32(1)); + if (l1 > 0) { + learn_rate_vec = SIMD_MUL_F32(learn_rate_vec, l1_vec); + learn_rate_vec = SIMD_SUB_F32(SIMD_ABS_F32(prox_v_vec), learn_rate_vec); + learn_rate_vec = SIMD_MAX_F32(learn_rate_vec, SIMD_MOV_F32(0.0f)); + learn_rate_vec = SIMD_DIV_F32(learn_rate_vec, tmp_vec1); + + SIMD_MASK greater_mask = SIMD_CMPGT_F32(SIMD_SET0_F32, prox_v_vec); + SIMD_MASK less_mask = SIMD_CMPLT_F32(SIMD_SET0_F32, prox_v_vec); + SIMD_F32 greater_v = SIMD_BLEND_F32(SIMD_MOV_F32(1), SIMD_SET0_F32, greater_mask); + SIMD_F32 less_v = SIMD_BLEND_F32(SIMD_MOV_F32(1), SIMD_SET0_F32, less_mask); + greater_v = SIMD_SUB_F32(greater_v, less_v); + + prox_v_vec = SIMD_MUL_F32(learn_rate_vec, greater_v); + } else { + prox_v_vec = SIMD_DIV_F32(prox_v_vec, tmp_vec1); + } + SIMD_ST_F32(var + index, prox_v_vec); + } + + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/apply_proximal_gradient_descent_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/apply_proximal_gradient_descent_fp32_sse.h new file mode 100644 index 00000000..3fdd3dd3 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/apply_proximal_gradient_descent_fp32_sse.h @@ -0,0 +1,71 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_FP32_APPLY_PROXIMAL_GRADIENT_DESCENT_SSE_H_ +#define NNACL_FP32_APPLY_PROXIMAL_GRADIENT_DESCENT_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int64_t ApplyProximalGradientDescentOptSSE( + int64_t index, float *var, float alpha, float l1, float l2, float *delta, int64_t size) { + SIMD_F32 alpha_vec = SIMD_MOV_F32(alpha); + SIMD_F32 l1_vec = SIMD_MOV_F32(l1); + SIMD_F32 l2_vec = SIMD_MOV_F32(l2); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 delta_vec = SIMD_LD_F32(delta + index); + SIMD_F32 prox_v_vec = SIMD_LD_F32(var + index); + + prox_v_vec = SIMD_SUB_F32(prox_v_vec, SIMD_MUL_F32(delta_vec, alpha_vec)); + SIMD_F32 tmp_vec1 = SIMD_FMADD_F32(l2_vec, alpha_vec, SIMD_MOV_F32(1)); + if (l1 > 0) { + SIMD_F32 tmp_vec2 = SIMD_MUL_F32(alpha_vec, l1_vec); + tmp_vec2 = SIMD_SUB_F32(SIMD_ABS_F32(prox_v_vec), tmp_vec2); + tmp_vec2 = SIMD_MAX_F32(tmp_vec2, SIMD_MOV_F32(0.0f)); + tmp_vec2 = SIMD_DIV_F32(tmp_vec2, tmp_vec1); + + SIMD_MASK greater_mask = SIMD_CMPGT_F32(SIMD_SET0_F32, prox_v_vec); + SIMD_MASK less_mask = SIMD_CMPLT_F32(SIMD_SET0_F32, prox_v_vec); + SIMD_F32 greater_v = SIMD_BLEND_F32(SIMD_MOV_F32(1), SIMD_SET0_F32, greater_mask); + SIMD_F32 less_v = SIMD_BLEND_F32(SIMD_MOV_F32(1), SIMD_SET0_F32, less_mask); + greater_v = SIMD_SUB_F32(greater_v, less_v); + + prox_v_vec = SIMD_MUL_F32(tmp_vec2, greater_v); + } else { + prox_v_vec = SIMD_DIV_F32(prox_v_vec, tmp_vec1); + } + SIMD_ST_F32(var + index, prox_v_vec); + } + + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/arithmetic_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/arithmetic_fp32_sse.h new file mode 100644 index 00000000..9302ebe7 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/arithmetic_fp32_sse.h @@ -0,0 +1,294 @@ +/** + * Copyright 2022-2023 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_ARITHMETIC_SSE_H_ +#define MINDSPORE_NNACL_ARITHMETIC_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +#ifndef MS_SIMD_NEON +static inline int ElementFloorModSSE(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 floor_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_F32 out_tmp = SIMD_SUB_F32(in0_tmp, SIMD_MUL_F32(floor_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorModNum0SSE(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 floor_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_F32 out_tmp = SIMD_SUB_F32(in0_tmp, SIMD_MUL_F32(floor_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorModNum1SSE(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in1_tmp = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 floor_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_F32 out_tmp = SIMD_SUB_F32(in0_tmp, SIMD_MUL_F32(floor_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementFloorDivSSE(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 floor_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_ST_F32(out + index, floor_tmp); + } + return index; +} + +static inline int ElementOptFloorDivNum0SSE(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorDivNum1SSE(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in1_tmp = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 out_tmp = SIMD_FLOOR_F32(SIMD_DIV_F32(in0_tmp, in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} +#endif + +static inline int ElementFloorDivIntSSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_DIV_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorDivIntNum0SSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in0_tmp = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_DIV_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptFloorDivIntNum1SSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in1_tmp = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 out_tmp = SIMD_DIV_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementMaximumSSE(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_MAX_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMaximumNum0SSE(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_MAX_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMaximumNum1SSE(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in1_tmp = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 out_tmp = SIMD_MAX_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementMaximumIntSSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_MAX_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMaximumIntNum0SSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in0_tmp = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_MAX_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMaximumIntNum1SSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in1_tmp = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 out_tmp = SIMD_MAX_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementMinimumIntSSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_MIN_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMinimumIntNum0SSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in0_tmp = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in1_tmp = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 out_tmp = SIMD_MIN_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMinimumIntNum1SSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 in1_tmp = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 in0_tmp = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 out_tmp = SIMD_MIN_EPI32(in0_tmp, in1_tmp); + SIMD_ST_EPI32(out + index, out_tmp); + } + return index; +} + +static inline int ElementMinimumSSE(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_MIN_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMinimumNum0SSE(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_MIN_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline int ElementOptMinimumNum1SSE(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 in1_tmp = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 out_tmp = SIMD_MIN_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +static inline size_t AssignSubOptSSE(int index, float *in0, const float *in1, size_t size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_SUB_F32(in0_tmp, in1_tmp); + SIMD_ST_F32(in0 + index, out_tmp); + } + return index; +} + +int ElementLogicalAndSSE(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_AND_F32(SIMD_GETSIGN_F32(in0_tmp), SIMD_GETSIGN_F32(in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + return index; +} + +int ElementOptLogicalAndSSE(int index, const float *in0, const float *in1, float *out, int size, bool first_scalar) { + if (first_scalar) { + SIMD_F32 in0_tmp = SIMD_MOV_F32(*in0); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in1_tmp = SIMD_LD_F32(in1 + index); + SIMD_F32 out_tmp = SIMD_AND_F32(SIMD_GETSIGN_F32(in0_tmp), SIMD_GETSIGN_F32(in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + } else { + SIMD_F32 in1_tmp = SIMD_MOV_F32(*in1); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 in0_tmp = SIMD_LD_F32(in0 + index); + SIMD_F32 out_tmp = SIMD_AND_F32(SIMD_GETSIGN_F32(in0_tmp), SIMD_GETSIGN_F32(in1_tmp)); + SIMD_ST_F32(out + index, out_tmp); + } + } + + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/arithmetic_self_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/arithmetic_self_fp32_sse.h new file mode 100644 index 00000000..131a5395 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/arithmetic_self_fp32_sse.h @@ -0,0 +1,148 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_ARITHMETIC_SELF_SSE_H_ +#define MINDSPORE_NNACL_ARITHMETIC_SELF_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +#if defined(MS_SIMD_AVX512) +// only avx512 support abs fp32 instruction +static inline int ElementAbsSSE(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_ABS_F32(SIMD_LD_F32(input + index))); + } + return index; +} + +static inline int ElementAbsIntSSE(int index, const int32_t *input, int32_t *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(output + index, SIMD_ABS_EPI32(SIMD_LD_EPI32(input + index))); + } + return index; +} +#endif + +#if !defined(MS_SIMD_NEON) +// not support neon + static inline int ElementCosSSE(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin = SIMD_LD_F32(input + index); + SIMD_ST_F32(output + index, SIMD_COS_F32(vin)); + } + return index; + } + + static inline int ElementLogSSE(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin = SIMD_LD_F32(input + index); + SIMD_ST_F32(output + index, SIMD_LOG_F32(vin)); + } + return index; + } +#endif + +static inline int ElementSquareSSE(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin = SIMD_LD_F32(input + index); + SIMD_ST_F32(output + index, SIMD_MUL_F32(vin, vin)); + } + return index; +} + +static inline int ElementSqrtSSE(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_SQRT_F32(SIMD_LD_F32(input + index))); + } + return index; +} + +static inline int ElementRsqrtSSE(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_RSQRT_F32(SIMD_LD_F32(input + index))); + } + return index; +} + +#if defined(MS_SIMD_AVX) || defined(MS_SIMD_SSE) +// avx512 dont support round fp32 instruction +static inline int ElementRoundSSE(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_ROUND_F32(SIMD_LD_F32(input + index))); + } + return index; +} +#endif + +#ifndef MS_SIMD_NEON +// neon dont support floor fp32 instruction +static inline int ElementFloorSSE(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_FLOOR_F32(SIMD_LD_F32(input + index))); + } + return index; +} +#endif + +#ifndef MS_SIMD_NEON +static inline int ElementCeilSSE(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_CEIL_F32(SIMD_LD_F32(input + index))); + } + return index; +} +#endif + +static inline int ElementNegativeSSE(int index, const float *input, float *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_MUL_N_F32(SIMD_LD_F32(input + index), -1.0f)); + } + return index; +} + +static inline int ElementNegativeIntSSE(int index, const int32_t *input, int32_t *output, const int element_size) { + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(output + index, SIMD_MUL_N_EPI32(SIMD_LD_EPI32(input + index), -1)); + } + return index; +} + +static inline int ElementReciprocalSSE(int index, const float *input, float *output, const int element_size) { + SIMD_F32 num1 = SIMD_MOV_F32(1.0f); + for (int block_max_size = element_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_DIV_F32(num1, SIMD_LD_F32(input + index))); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/batchnorm_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/batchnorm_fp32_sse.h new file mode 100644 index 00000000..f04b4e1f --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/batchnorm_fp32_sse.h @@ -0,0 +1,67 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_ACTIVATION_SSE_H_ +#define MINDSPORE_NNACL_FP32_ACTIVATION_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int BatchNormFp32SSE(int index, const float *input, const float *mean, + const float *variance, int channel, float epsilon, float *output) { + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input_data = SIMD_LD_F32(input + index); + SIMD_F32 mean_ = SIMD_LD_F32(mean + index); + SIMD_F32 variance_ = SIMD_LD_F32(variance + index); + SIMD_F32 variance_sqrt = SIMD_SQRT_F32(SIMD_ADD_F32(variance_, SIMD_MOV_F32(epsilon))); + SIMD_F32 output_data = SIMD_DIV_F32(SIMD_SUB_F32(input_data, mean_), variance_sqrt); + SIMD_ST_F32(output + index, output_data); + } + return index; +} + +static inline int FusedBatchNormFp32SSE(int index, const float *input, const float *scale, + const float *offset, const float *mean, const float *variance, int channel, float epsilon, float *output) { + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input_data = SIMD_LD_F32(input + index); + SIMD_F32 scale_ = SIMD_LD_F32(scale + index); + SIMD_F32 offset_ = SIMD_LD_F32(offset + index); + SIMD_F32 mean_ = SIMD_LD_F32(mean + index); + SIMD_F32 variance_ = SIMD_LD_F32(variance + index); + SIMD_F32 variance_sqrt = SIMD_SQRT_F32(SIMD_ADD_F32(variance_, SIMD_MOV_F32(epsilon))); + SIMD_F32 norm_val = SIMD_DIV_F32(SIMD_SUB_F32(input_data, mean_), variance_sqrt); + SIMD_F32 output_data = SIMD_ADD_F32(SIMD_MUL_F32(norm_val, scale_), offset_); + SIMD_ST_F32(output + index, output_data); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/bce_with_logits_loss_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/bce_with_logits_loss_fp32_sse.h new file mode 100644 index 00000000..5106e414 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/bce_with_logits_loss_fp32_sse.h @@ -0,0 +1,69 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_BCE_WITH_LOGITS_LOSS_SSE_H_ +#define MINDSPORE_NNACL_FP32_BCE_WITH_LOGITS_LOSS_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int BCEWithLogitLossSSE(int index, const float *logits, const float *label, + const float *weight, const float *pos_weight, int length, bool reduction, float *output, + float *reduction_sum) { + SIMD_F32 zero = SIMD_SET0_F32; + SIMD_F32 ones = SIMD_MOV_F32(1.0f); + SIMD_F32 middle_output = SIMD_SET0_F32; + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 logits_tmp = SIMD_LD_F32(logits + index); + SIMD_F32 label_tmp = SIMD_LD_F32(label + index); + SIMD_F32 weight_tmp = SIMD_LD_F32(weight + index); + SIMD_F32 pos_weight_tmp = SIMD_LD_F32(pos_weight + index); + SIMD_F32 neg_logits_tmp = SIMD_SUB_F32(zero, logits_tmp); + SIMD_F32 max_value = neg_logits_tmp; + max_value = SIMD_MAX_F32(max_value, zero); + SIMD_F32 neg_max_value = SIMD_SUB_F32(zero, max_value); + SIMD_F32 log_weight = SIMD_ADD_F32(SIMD_MUL_F32(SIMD_SUB_F32(pos_weight_tmp, ones), label_tmp), ones); + SIMD_F32 log_exp_value = + SIMD_LOG_F32(SIMD_ADD_F32(SIMD_HEXP_F32(neg_max_value), SIMD_HEXP_F32(SIMD_SUB_F32(neg_logits_tmp, max_value)))); + SIMD_F32 loss = SIMD_ADD_F32(SIMD_MUL_F32(SIMD_SUB_F32(ones, label_tmp), logits_tmp), + SIMD_MUL_F32(log_weight, SIMD_ADD_F32(log_exp_value, max_value))); + if (reduction) { + middle_output = SIMD_FMADD_F32(loss, weight_tmp, middle_output); + } else { + SIMD_ST_F32(output + index, SIMD_MUL_F32(loss, weight_tmp)); + } + } + if (reduction) { + *reduction_sum += SIMD_GET_SUM_F32(middle_output); + } + return index; +} +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/bias_add_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/bias_add_sse.h new file mode 100644 index 00000000..0544d239 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/bias_add_sse.h @@ -0,0 +1,64 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_BIAS_ADD_SSE_H_ +#define MINDSPORE_NNACL_FP32_BIAS_ADD_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int BiasAddByInnerCoreSSE(int index, const float *input, const float *bias, float *output, + int64_t num) { + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(input + index); + SIMD_F32 vin1 = SIMD_LD_F32(bias + index); + SIMD_F32 vout = SIMD_ADD_F32(vin0, vin1); + SIMD_ST_F32(output + index, vout); + } + return index; +} + +static inline int BiasAddByBatchCoreSSE(int index, const float *input, const float *bias, float *output1, + float *output2, float *output3, float *output4, int64_t num) { + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_LDX4_F32(input_data, input + index, num); + SIMD_F32 bias_data = SIMD_LD_F32(bias + index); + SIMD_ST_F32(output1 + index, SIMD_ADD_F32(input_data1, bias_data)); + SIMD_ST_F32(output2 + index, SIMD_ADD_F32(input_data2, bias_data)); + SIMD_ST_F32(output3 + index, SIMD_ADD_F32(input_data3, bias_data)); + SIMD_ST_F32(output4 + index, SIMD_ADD_F32(input_data4, bias_data)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +}; +#endif + +#endif // MINDSPORE_NNACL_FP32_BIAS_ADD_SIMD_H_ diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/cast_base_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/cast_base_sse.h new file mode 100644 index 00000000..c0810f2c --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/cast_base_sse.h @@ -0,0 +1,56 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_BASE_CAST_BASE_SSE_H_ +#define NNACL_BASE_CAST_BASE_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int Int32ToFloat32SSE(int index, const int32_t *input, float *output, int number) { + for (int block_max_size = number - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 value = SIMD_LD_EPI32(input + index); + SIMD_ST_F32(output + index, SIMD_EPI32_TO_F32(value)); + } + return index; +} + +#ifndef MS_SIMD_NEON +static inline int Float32ToInt32SSE(int index, const float *input, int32_t *output, int number) { + for (int block_max_size = number - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 value = SIMD_LD_F32(input + index); + SIMD_ST_EPI32(output + index, SIMD_F32_TO_EPI32(value)); + } + return index; +} +#endif + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/cast_gather_reduce_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/cast_gather_reduce_fp32_sse.h new file mode 100644 index 00000000..ce84a604 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/cast_gather_reduce_fp32_sse.h @@ -0,0 +1,72 @@ +/** + * Copyright 2023 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_ARITHMETIC_SELF_SSE_H_ +#define MINDSPORE_NNACL_ARITHMETIC_SELF_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int Fp32CastGatherReduceInt64FusionSSE(int index, float *output_data, const int64_t *input_indices, const float *input_data, + int32_t inner_size, int32_t input_data_inner_size, int32_t outer_start, + int32_t outer_end) { + for (int block_max_size = input_data_inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + for (int i = outer_start; i < outer_end; i++) { + SIMD_F32 result = SIMD_SET0_F32; + for (int j = 0; j < inner_size; j++) { + int64_t indice = input_indices[i * inner_size + j]; + result = SIMD_ADD_F32(result, SIMD_LD_F32(input_data + indice * input_data_inner_size + index)); + } + SIMD_ST_F32(output_data + i * input_data_inner_size + index, result); + } + } + return index; +} + + +static inline int Fp32CastGatherReduceInt32FusionSSE(int index, float *output_data, const int32_t *input_indices, const float *input_data, + int32_t inner_size, int32_t input_data_inner_size, int32_t outer_start, + int32_t outer_end) { + for (int block_max_size = input_data_inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + for (int i = outer_start; i < outer_end; i++) { + SIMD_F32 result = SIMD_SET0_F32; + for (int j = 0; j < inner_size; j++) { + int32_t indice = input_indices[i * inner_size + j]; + result = SIMD_ADD_F32(result, SIMD_LD_F32(input_data + indice * input_data_inner_size + index)); + } + SIMD_ST_F32(output_data + i * input_data_inner_size + index, result); + } + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/cdist_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/cdist_fp32_sse.h new file mode 100644 index 00000000..3d116113 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/cdist_fp32_sse.h @@ -0,0 +1,70 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_CDIST_SSE_H_ +#define MINDSPORE_NNACL_FP32_CDIST_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int64_t CdistTwoNormalOptSSE(int64_t index, const float *a, const float *b, + float *out, int64_t size) { + SIMD_F32 result_vec = SIMD_MOV_F32(0.0f); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 a_vec = SIMD_LD_F32(a + index); + SIMD_F32 b_vec = SIMD_LD_F32(b + index); + SIMD_F32 tmp_vec = SIMD_SUB_F32(a_vec, b_vec); + tmp_vec = SIMD_ABS_F32(tmp_vec); + result_vec = SIMD_FMADD_F32(tmp_vec, tmp_vec, result_vec); + } + *out += SIMD_GET_SUM_F32(result_vec); + + return index; +} + +static inline int64_t CdistPNormalOptSSE(int64_t index, const float *a, const float *b, + float *out, int64_t size, float p) { + SIMD_F32 result_vec = SIMD_MOV_F32(0.0f); + SIMD_F32 p_vec = SIMD_MOV_F32(p); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 a_vec = SIMD_LD_F32(a + index); + SIMD_F32 b_vec = SIMD_LD_F32(b + index); + SIMD_F32 tmp_vec = SIMD_SUB_F32(a_vec, b_vec); + tmp_vec = SIMD_ABS_F32(tmp_vec); + tmp_vec = SIMD_POW_F32(tmp_vec, p_vec); + result_vec = SIMD_ADD_F32(tmp_vec, result_vec); + } + *out += SIMD_GET_SUM_F32(result_vec); + + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/cumsum_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/cumsum_fp32_sse.h new file mode 100644 index 00000000..094962aa --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/cumsum_fp32_sse.h @@ -0,0 +1,121 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_CUMSUM_SSE_H_ +#define MINDSPORE_NNACL_FP32_CUMSUM_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +// (a, b, c) -> (a, a+b, a+b+c) exclusive == false +// (a, b, c) -> (0, a, a+b) exclusive == true +static inline int64_t CumsumOutputInitWithInputSSE(int64_t index, const float *layer_input, + float *layer_output, int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(layer_output + index, SIMD_LD_F32(layer_input + index)); + } + return index; +} + +static inline int64_t CumsumOutputInitWithZeroSSE(int64_t index, float *layer_output, int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(layer_output + index, SIMD_MOV_F32(0.0f)); + } + return index; +} + +static inline int64_t CumsumSSE(int64_t index, const float *layer_input, float *layer_output, float *layer_last_output, + int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input_val = SIMD_LD_F32(layer_input + index); + SIMD_F32 last_output_val = SIMD_LD_F32(layer_last_output + index); + SIMD_F32 out_val = SIMD_ADD_F32(input_val, last_output_val); + SIMD_ST_F32(layer_output + index, out_val); + } + return index; +} + +// (a, b, c) -> (c+b+a, c+b, c) exclusive==false +// (a, b, c) -> (c+b, c, 0) exclusive==true +static inline int64_t CumsumReverseSSE(int64_t index, const float *layer_input, float *layer_output, + float *layer_last_output, int inner_dim) { + + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input_val = SIMD_LD_F32(layer_input - index - BLOCK_NUM + 1); + SIMD_F32 last_output_val = SIMD_LD_F32(layer_last_output - index - BLOCK_NUM + 1); + SIMD_F32 out_val = SIMD_ADD_F32(input_val, last_output_val); + SIMD_ST_F32(layer_output - index - BLOCK_NUM + 1, out_val); + } + return index; +} + +// (a, b, c) -> (a, a+b, a+b+c) exclusive == false +// (a, b, c) -> (0, a, a+b) exclusive == true +static inline int64_t CumsumIntOutputInitWithInputSSE(int64_t index, const int32_t *layer_input, + int32_t *layer_output, int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(layer_output + index, SIMD_LD_EPI32(layer_input + index)); + } + return index; +} + +static inline int64_t CumsumIntOutputInitWithZeroSSE(int64_t index, int32_t *layer_output, int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(layer_output + index, SIMD_MOV_EPI32(0.0f)); + } + return index; +} + +static inline int64_t CumsumIntSSE(int64_t index, const int32_t *layer_input, int32_t *layer_output, int32_t *layer_last_output, + int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 input_val = SIMD_LD_EPI32(layer_input + index); + SIMD_EPI32 last_output_val = SIMD_LD_EPI32(layer_last_output + index); + SIMD_EPI32 out_val = SIMD_ADD_EPI32(input_val, last_output_val); + SIMD_ST_EPI32(layer_output + index, out_val); + } + return index; +} + +// (a, b, c) -> (c+b+a, c+b, c) exclusive==false +// (a, b, c) -> (c+b, c, 0) exclusive==true +static inline int64_t CumsumReverseIntSSE(int64_t index, const int32_t *layer_input, int32_t *layer_output, int32_t *layer_last_output, + int inner_dim) { + for (int block_max_size = inner_dim - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 input_val = SIMD_LD_EPI32(layer_input - index - BLOCK_NUM + 1); + SIMD_EPI32 last_output_val = SIMD_LD_EPI32(layer_last_output - index - BLOCK_NUM + 1); + SIMD_EPI32 out_val = SIMD_ADD_EPI32(input_val, last_output_val); + SIMD_ST_EPI32(layer_output - index - BLOCK_NUM + 1, out_val); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/div_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/div_fp32_sse.h new file mode 100644 index 00000000..6441bf5c --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/div_fp32_sse.h @@ -0,0 +1,167 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_DIV_SSE_H_ +#define MINDSPORE_NNACL_FP32_DIV_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int ElementOptDivNum0SSE(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_DIV_F32(vin0_opt, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivNum1SSE(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_DIV_F32(vin0, vin1_opt_); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivIntNum0SSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_DIV_EPI32(vin0_opt, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivIntNum1SSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_DIV_EPI32(vin0, vin1_opt_); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivReluNum0SSE(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_DIV_F32(vin0_opt, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivReluNum1SSE(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_DIV_F32(vin0, vin1_opt_), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivRelu6Num0SSE(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_DIV_F32(vin0_opt, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptDivRelu6Num1SSE(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_DIV_F32(vin0, vin1_opt_), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementDivSSE(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_DIV_F32(vin0, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementDivIntSSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_DIV_EPI32(vin0, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementDivReluSSE(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_DIV_F32(vin0, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementDivRelu6SSE(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_DIV_F32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +}; +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/dropout_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/dropout_fp32_sse.h new file mode 100644 index 00000000..2429ed38 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/dropout_fp32_sse.h @@ -0,0 +1,46 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_DROPOUTFP32_SSE_H_ +#define MINDSPORE_NNACL_FP32_DROPOUTFP32_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int DropoutFp32SSE(int index, const float *input, float scale, + int length, float *output) { + SIMD_F32 scale_value = SIMD_MOV_F32(scale); + for (int block_max_size = length - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_MUL_F32(SIMD_LD_F32(input + index), scale_value)); + } + return index; +} +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/exp_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/exp_fp32_sse.h new file mode 100644 index 00000000..3d802fb3 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/exp_fp32_sse.h @@ -0,0 +1,63 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_DIV_SSE_H_ +#define MINDSPORE_NNACL_FP32_DIV_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int64_t ExpFp32SSE(int64_t index, const float *src, float *dst, int num) { + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EXP_ST_F32(SIMD_LD_F32(src + index), dst + index); + } + return index; +} + +static inline int64_t ExpFp32WithInScaleSSE(int64_t index, const float *src, float *dst, int num, float in_scale) { + SIMD_F32 scale_vec = SIMD_MOV_F32(in_scale); + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EXP_ST_F32(SIMD_MUL_F32(SIMD_LD_F32(src + index), scale_vec), dst + index); + } + return index; +} + +static inline int64_t ExpFp32WithOutScaleSSE(int64_t index, const float *src, float *dst, int num, float out_scale) { + SIMD_F32 scale_vec = SIMD_MOV_F32(out_scale); + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EXP_ST_F32(SIMD_LD_F32(src + index), dst + index); + SIMD_ST_F32(dst + index, SIMD_MUL_F32(SIMD_LD_F32(dst + index), scale_vec)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +}; +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/fill_base_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/fill_base_sse.h new file mode 100644 index 00000000..29571417 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/fill_base_sse.h @@ -0,0 +1,53 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_BASE_FILL_BASE_SSE_H_ +#define NNACL_BASE_FILL_BASE_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int FillFp32SSE(int index, float *output, int size, float data) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_MOV_F32(data)); + } + return index; +} + +static inline int FillInt32SSE(int index, int *output, int size, int data) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(output + index, SIMD_MOV_EPI32(data)); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif + diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/group_norm_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/group_norm_fp32_sse.h new file mode 100644 index 00000000..1c1f57da --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/group_norm_fp32_sse.h @@ -0,0 +1,77 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_GROUP_NORM_FP32_SSE_H_ +#define MINDSPORE_NNACL_FP32_GROUP_NORM_FP32_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int64_t GroupNormFp32SSE(int64_t index, const float *unit_input, float scale, float offset, float mean, + float var_sqrt, int unit, float *unit_output) { + SIMD_F32 mean_val = SIMD_MOV_F32(mean); + SIMD_F32 v_sqrt = SIMD_MOV_F32(var_sqrt); + SIMD_F32 scale_val = SIMD_MOV_F32(scale); + SIMD_F32 offset_val = SIMD_MOV_F32(offset); + for (int block_max_size = unit - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_LD_F32(unit_input + index); + SIMD_F32 norm_val = SIMD_DIV_F32(SIMD_SUB_F32(input, mean_val), v_sqrt); + SIMD_F32 output = SIMD_ADD_F32(SIMD_MUL_F32(norm_val, scale_val), offset_val); + SIMD_ST_F32(unit_output + index, output); + } + return index; +} + +static inline int64_t GroupNormReduceSumSSE(int64_t index, const float *in, float *sum, int unit) { + if (unit - index >= 4 * BLOCK_NUM) { + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int block_max_size = unit - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(in + index)); + } + *sum += SIMD_GET_SUM_F32(tmp); + } + return index; +} + +static inline int64_t GroupNormReduceVarSSE(int64_t index, const float *in, float mean, float *sum, int unit) { + if (unit - index >= 4 * BLOCK_NUM) { + SIMD_F32 mean_val = SIMD_MOV_F32(mean); + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int block_max_size = unit - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_SUB_F32(SIMD_LD_F32(in + index), mean_val); + tmp = SIMD_ADD_F32(tmp, SIMD_MUL_F32(input, input)); + } + *sum += SIMD_GET_SUM_F32(tmp); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/layer_norm_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/layer_norm_fp32_sse.h new file mode 100644 index 00000000..30af87c3 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/layer_norm_fp32_sse.h @@ -0,0 +1,68 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_LAYER_NORM_FP32_SSE_H_ +#define MINDSPORE_NNACL_FP32_LAYER_NORM_FP32_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int LayerNormMeanAndSquareSSE(int index, const float *src, int num, float *mean, float *square_mean) { + if (num >= 4 * BLOCK_NUM) { + SIMD_F32 sum_val = SIMD_SET0_F32; + SIMD_F32 square_sum_val = SIMD_SET0_F32; + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 value = SIMD_LD_F32(src + index); + SIMD_F32 square_value = SIMD_MUL_F32(value, value); + sum_val = SIMD_ADD_F32(sum_val, value); + square_sum_val = SIMD_ADD_F32(square_sum_val, square_value); + } + *mean += SIMD_GET_SUM_F32(sum_val); + *square_mean += SIMD_GET_SUM_F32(square_sum_val); + } + return index; +} + +static inline int LayerNormGammaAndBetaSSE(int index, float *dst, const float *src, const float *gamma_data, + const float *beta_data, int num, const float mean, const float deno) { + SIMD_F32 mean_val = SIMD_MOV_F32(mean); + SIMD_F32 deno_val = SIMD_MOV_F32(deno); + for (int block_max_size = num - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 value = SIMD_LD_F32(src + index); + SIMD_F32 out_value = SIMD_SUB_F32(value, mean_val); + out_value = SIMD_MUL_F32(out_value, deno_val); + out_value = SIMD_FMADD_F32(out_value, SIMD_LD_F32(gamma_data + index), SIMD_LD_F32(beta_data + index)); + SIMD_ST_F32(dst + index, out_value); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/matmul_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/matmul_fp32_sse.h new file mode 100644 index 00000000..c37c4c08 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/matmul_fp32_sse.h @@ -0,0 +1,155 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_FP32_MATMUL_F32_SSE_H_ +#define MINDSPORE_NNACL_FP32_MATMUL_F32_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +// act_type must be 0, 1, 2. 0: no_act, 1: relu, 3: relu6. +static inline int64_t GemmIsNotPackSSE(int64_t index, const float *a, const float *b, float *c, const float *bias, int row, + int deep, int act_type) { + SIMD_F32 down_threshold = SIMD_MOV_F32(0.0f); + SIMD_F32 up_threshold = SIMD_MOV_F32(6); + SIMD_F32 b_data16 = SIMD_MOV_F32(b[0]); + SIMD_F32 bias_data16 = SIMD_MOV_F32(bias[0]); + for (int block_max_size = row - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 a_data = SIMD_LD_F32(a + index); + SIMD_F32 dst = SIMD_FMADD_F32(b_data16, a_data, bias_data16); + if (act_type != 0) { + dst = SIMD_MAX_F32(dst, down_threshold); + if (act_type == 3) { + dst = SIMD_MIN_F32(dst, up_threshold); + } + } + SIMD_ST_F32(c + index, dst); + } + + return index; +} + +// act_type must be 0, 1, 2. 0: no_act, 1: relu, 3: relu6. +static inline int64_t Row1Deep1GemmIsNotPackSSE(int64_t index, const float *a, const float *b, float *c, const float *bias, int col, + int act_type) { + SIMD_F32 down_threshold = SIMD_MOV_F32(0.0f); + SIMD_F32 up_threshold = SIMD_MOV_F32(6); + SIMD_F32 vec_a = SIMD_MOV_F32(a[0]); + if (act_type == 1) { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 vec_bias = SIMD_LD_F32(bias + index); + SIMD_F32 dst = SIMD_FMADD_F32(vec_a, vec_b, vec_bias); + SIMD_ST_F32(c + index, SIMD_MAX_F32(dst, down_threshold)); // relu + } + } else if (act_type == 3) { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 vec_bias = SIMD_LD_F32(bias + index); + SIMD_F32 dst = SIMD_FMADD_F32(vec_a, vec_b, vec_bias); + SIMD_ST_F32(c + index, SIMD_CLAMP_F32(dst, down_threshold, up_threshold)); // relue6 + } + } else { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 vec_bias = SIMD_LD_F32(bias + index); + SIMD_F32 dst = SIMD_FMADD_F32(vec_a, vec_b, vec_bias); + SIMD_ST_F32(c + index, dst); // no_act + } + } + + return index; +} + +// act_type must be 0, 1, 2. 0: no_act, 1: relu, 3: relu6. +static inline int64_t Row1Deep1NoBiasGemmIsNotPackSSE(int64_t index, const float *a, const float *b, float *c, const float *bias, int col, + int act_type) { + SIMD_F32 down_threshold = SIMD_MOV_F32(0.0f); + SIMD_F32 up_threshold = SIMD_MOV_F32(6); + SIMD_F32 vec_a = SIMD_MOV_F32(a[0]); + if (act_type == 1) { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 dst = SIMD_MUL_F32(vec_a, vec_b); + SIMD_ST_F32(c + index, SIMD_MAX_F32(dst, down_threshold)); // relu + } + } else if (act_type == 3) { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 dst = SIMD_MUL_F32(vec_a, vec_b); + SIMD_ST_F32(c + index, SIMD_CLAMP_F32(dst, down_threshold, up_threshold)); // relue6 + } + } else { + for (int block_max_size = col - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vec_b = SIMD_LD_F32(b + index); + SIMD_F32 dst = SIMD_MUL_F32(vec_a, vec_b); + SIMD_ST_F32(c + index, dst); // no_act + } + } + + return index; +} + +#if defined(MS_SIMD_AVX512) || defined(MS_SIMD_AVX) +static inline int64_t GemmIsNotPackOptimizeCoreSSE(int64_t index, const float *a, const float *b, int k, float *dst) { + SIMD_F32 dst1 = SIMD_MOV_F32(0.0f); + for (int block_max_size = k - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 weight = SIMD_LD_F32(b + index); + SIMD_F32 a1 = SIMD_LD_F32(a + index); + dst1 = SIMD_FMADD_F32(weight, a1, dst1); + } + *dst += SIMD_REDUCE_ADD_F32(dst1); + return index; +} +#endif + +static inline int64_t MatVecMulNoPackCoreSSE(int64_t oc_index, const float *a, const float *b, float *c, const float *bias, + int act_type, int64_t depth, int64_t oc, int64_t col, int64_t inc_flag) { + for (int64_t oc_max_size = oc - BLOCK_NUM; oc_index <= oc_max_size; oc_index += BLOCK_NUM) { + SIMD_F32 out = (inc_flag & 0x1) == 0 ? SIMD_LD_F32(c + oc_index) : (bias == NULL ? SIMD_MOV_F32(0.0f) : SIMD_LD_F32(bias + oc_index)); + for (int64_t k = 0; k < depth; ++k) { + SIMD_F32 left = SIMD_MOV_F32(a[k]); + SIMD_F32 right = SIMD_LD_F32(b + oc_index + k * col); + out = SIMD_FMADD_F32(left, right, out); + } + if ((inc_flag & 0x2) != 0 && act_type != 0) { + out = SIMD_MAX_F32(out, SIMD_MOV_F32(0.0f)); + if (act_type == 0x3) { + out = SIMD_MIN_F32(out, SIMD_MOV_F32(6.0f)); + } + } + SIMD_ST_F32(c + oc_index, out); + } + return oc_index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/mul_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/mul_fp32_sse.h new file mode 100644 index 00000000..52552364 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/mul_fp32_sse.h @@ -0,0 +1,218 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_ACTIVATION_SSE_H_ +#define MINDSPORE_NNACL_FP32_ACTIVATION_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int ElementMulSSE(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MUL_F32(vin0, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementMulReluSSE(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_MUL_F32(vin0, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementMulRelu6SSE(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_MUL_F32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementMulIntSSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MUL_EPI32(vin0, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementMulReluIntSSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0, vin1), 0.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementMulRelu6IntSSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MIN_N_EPI32(SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulNum0SSE(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin0_opt_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MUL_F32(vin0_opt_, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulNum1SSE(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MUL_F32(vin0, vin1_opt_); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulReluNum0SSE(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin0_opt_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_MUL_F32(vin0_opt_, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulReluNum1SSE(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_MUL_F32(vin0, vin1_opt_), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulRelu6Num0SSE(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin0_opt_ = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_MUL_F32(vin0_opt_, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulRelu6Num1SSE(int index, const float *in0, const float *in1, float *out, int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_MUL_F32(vin0, vin1_opt_), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulIntNum0SSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt_ = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MUL_EPI32(vin0_opt_, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulIntNum1SSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_MUL_EPI32(vin0, vin1_opt_); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulReluIntNum0SSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt_ = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0_opt_, vin1), 0.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulReluIntNum1SSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0, vin1_opt_), 0.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulRelu6IntNum0SSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt_ = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_MIN_N_EPI32(SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0_opt_, vin1), 0.0f), 6.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptMulRelu6IntNum1SSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_MIN_N_EPI32(SIMD_MAX_N_EPI32(SIMD_MUL_EPI32(vin0, vin1_opt_), 0.0f), 6.0f); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/pooling_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/pooling_fp32_sse.h new file mode 100644 index 00000000..ad9239fd --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/pooling_fp32_sse.h @@ -0,0 +1,84 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_POOLING_SSE_H_ +#define MINDSPORE_NNACL_FP32_POOLING_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int AvgPoolingBatchSSE(int ci, const float *src_plane_ptr, int channel, + float *dst_plane_ptr, int real_win_h_start, int real_win_h_end, int real_win_w_start, int real_win_w_end, + int in_h_index, int in_w, int in_w_index, float minf, float maxf) { + SIMD_F32 min_val = SIMD_MOV_F32(minf); + SIMD_F32 max_val = SIMD_MOV_F32(maxf); + for (int block_max_size = channel - BLOCK_NUM + 1; ci < block_max_size; ci += BLOCK_NUM) { + const float *src_c_ptr = src_plane_ptr + ci; + float *dst_c_ptr = dst_plane_ptr + ci; + SIMD_F32 tmp_avg = SIMD_SET0_F32; + int real_count = 0; + for (int h = real_win_h_start; h < real_win_h_end; h++) { + for (int w = real_win_w_start; w < real_win_w_end; w++) { + const float *src_win_ptr = src_c_ptr + ((in_h_index + h) * in_w + in_w_index + w) * channel; + tmp_avg = SIMD_ADD_F32(tmp_avg, SIMD_LD_F32(src_win_ptr)); + ++real_count; + } + } + tmp_avg = SIMD_DIV_F32(tmp_avg, SIMD_MOV_F32(real_count)); + tmp_avg = SIMD_MAX_F32(tmp_avg, min_val); + tmp_avg = SIMD_MIN_F32(tmp_avg, max_val); + SIMD_ST_F32(dst_c_ptr, tmp_avg); + } + return ci; +} + +static inline int MaxPoolingBatchSSE(int ci, const float *src_plane_ptr, int channel, + float *dst_plane_ptr, int real_win_h_start, int real_win_h_end, int real_win_w_start, int real_win_w_end, + int in_h_index, int in_w, int in_w_index, float minf, float maxf) { + SIMD_F32 min_val = SIMD_MOV_F32(minf); + SIMD_F32 max_val = SIMD_MOV_F32(maxf); + for (int block_max_size = channel - BLOCK_NUM + 1; ci < block_max_size; ci += BLOCK_NUM) { + const float *src_c_ptr = src_plane_ptr + ci; + float *dst_c_ptr = dst_plane_ptr + ci; + SIMD_F32 tmp_max = min_val; + for (int kh = real_win_h_start; kh < real_win_h_end; kh++) { + for (int kw = real_win_w_start; kw < real_win_w_end; kw++) { + const float *src_win_ptr = src_c_ptr + ((in_h_index + kh) * in_w + in_w_index + kw) * channel; + tmp_max = SIMD_MAX_F32(tmp_max, SIMD_LD_F32(src_win_ptr)); + } + } + tmp_max = SIMD_MIN_F32(tmp_max, max_val); + SIMD_ST_F32(dst_c_ptr, tmp_max); + } + return ci; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/power_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/power_fp32_sse.h new file mode 100644 index 00000000..4c46310e --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/power_fp32_sse.h @@ -0,0 +1,101 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_POWER_SSE_H_ +#define MINDSPORE_NNACL_FP32_POWER_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int PowerBroadCastIntExponentSSE(int index, const float *input, int exponent, float *output, int len, + float scale, float shift) { + SIMD_F32 scale_vec = SIMD_MOV_F32(scale); + SIMD_F32 shift_vec = SIMD_MOV_F32(shift); + for (int block_max_size = len - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp = SIMD_FMADD_F32(scale_vec, SIMD_LD_F32(input + index), shift_vec); + SIMD_F32 result = SIMD_MOV_F32(1.0f); + int exp = abs(exponent); + while (exp) { + if (exp % 2) { + result = SIMD_MUL_F32(result, tmp); + } + tmp = SIMD_MUL_SQUARE_F32(tmp); + exp = exp / 2; + } + SIMD_ST_F32(output + index, exponent >= 0 ? result : SIMD_DIV_F32(SIMD_MOV_F32(1), result)); + } + return index; +} + +static inline int PowerBroadCastFloatExponentSSE(int index, const float *input, float exponent, float *output, int len, + float scale, float shift) { + SIMD_F32 scale_vec = SIMD_MOV_F32(scale); + SIMD_F32 shift_vec = SIMD_MOV_F32(shift); + for (int block_max_size = len - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp = SIMD_FMADD_F32(scale_vec, SIMD_LD_F32(input + index), shift_vec); + SIMD_F32 result; + for (int i = 0; i < BLOCK_NUM; ++i) { + SIMD_F32_GETI(result, i) = powf(SIMD_F32_GETI(tmp, i), exponent); + } + SIMD_ST_F32(output + index, result); + } + return index; +} + +static inline int PowerSingleExponentSSE(int index, const float *input, const float *exponent, float *output, int len, + float scale, float shift) { + SIMD_F32 scale_vec = SIMD_MOV_F32(scale); + SIMD_F32 shift_vec = SIMD_MOV_F32(shift); + for (int block_max_size = len - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp_vec = SIMD_FMADD_F32(scale_vec, SIMD_LD_F32(input + index), shift_vec); + for (int j = 0; j < BLOCK_NUM; ++j) { + float cur_exponent = exponent[index + j]; + float cur_val = SIMD_F32_GETI(tmp_vec, j); + if (fabsf(cur_exponent - (int)(cur_exponent)) < 0.000001) { + int exp = abs((int)(cur_exponent)); + float result = 1; + while (exp) { + if (exp % 2) { + result *= cur_val; + } + cur_val *= cur_val; + exp = exp / 2; + } + output[index + j] = *exponent >= 0 ? result : 1 / result; + } else { + output[index + j] = powf(cur_val, cur_exponent); + } + } + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/reduce_concat_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/reduce_concat_fp32_sse.h new file mode 100644 index 00000000..cde516eb --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/reduce_concat_fp32_sse.h @@ -0,0 +1,122 @@ +/** + * Copyright 2023 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_REDUCE_CONCAT_FP32_SIMD_SSE_H_ +#define MINDSPORE_NNACL_REDUCE_CONCAT_FP32_SIMD_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +#ifdef MS_SIMD_AVX512 +static inline int Fp32ReduceSumConcatAxisSize16FusionSSE(int index, float *output_data, const float *input_data, int64_t reduce_axis_size) { + SIMD_F32 zmm00 = SIMD_LD_F32(input_data); + for (int l = 1; l < reduce_axis_size; l++) { + input_data += (1 * BLOCK_NUM); + zmm00 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data)); + } + SIMD_ST_F32(output_data, zmm00); + return index; +} + +static inline int Fp32ReduceSumConcatAxisSize32FusionSSE(int index, float *output_data, const float *input_data, int64_t reduce_axis_size) { + SIMD_F32 zmm00 = SIMD_LD_F32(input_data + 0 * BLOCK_NUM); + SIMD_F32 zmm01 = SIMD_LD_F32(input_data + 1 * BLOCK_NUM); + for (int l = 1; l < reduce_axis_size; l++) { + input_data += (2 * BLOCK_NUM); + zmm00 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data + 0 * BLOCK_NUM)); + zmm01 = SIMD_ADD_F32(zmm01, SIMD_LD_F32(input_data + 1 * BLOCK_NUM)); + } + + SIMD_ST_F32(output_data + 0 * BLOCK_NUM, zmm00); + SIMD_ST_F32(output_data + 1 * BLOCK_NUM, zmm01); + + return index; +} + +static inline int Fp32ReduceSumConcatAxisSize64FusionSSE(int index, float *output_data, const float *input_data, int64_t reduce_axis_size) { + SIMD_F32 zmm00 = SIMD_LD_F32(input_data + 0 * BLOCK_NUM); + SIMD_F32 zmm01 = SIMD_LD_F32(input_data + 1 * BLOCK_NUM); + SIMD_F32 zmm02 = SIMD_LD_F32(input_data + 2 * BLOCK_NUM); + SIMD_F32 zmm03 = SIMD_LD_F32(input_data + 3 * BLOCK_NUM); + for (int l = 1; l < reduce_axis_size; l++) { + input_data += (4 * BLOCK_NUM); + zmm00 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data + 0 * BLOCK_NUM)); + zmm01 = SIMD_ADD_F32(zmm01, SIMD_LD_F32(input_data + 1 * BLOCK_NUM)); + zmm02 = SIMD_ADD_F32(zmm02, SIMD_LD_F32(input_data + 2 * BLOCK_NUM)); + zmm03 = SIMD_ADD_F32(zmm03, SIMD_LD_F32(input_data + 3 * BLOCK_NUM)); + } + + SIMD_ST_F32(output_data + 0 * BLOCK_NUM, zmm00); + SIMD_ST_F32(output_data + 1 * BLOCK_NUM, zmm01); + SIMD_ST_F32(output_data + 2 * BLOCK_NUM, zmm02); + SIMD_ST_F32(output_data + 3 * BLOCK_NUM, zmm03); + + return index; +} + +static inline int Fp32ReduceSumConcatAxisSize128FusionSSE(int index, float *output_data, const float *input_data, int64_t reduce_axis_size) { + SIMD_F32 zmm00 = SIMD_LD_F32(input_data + 0 * BLOCK_NUM); + SIMD_F32 zmm01 = SIMD_LD_F32(input_data + 1 * BLOCK_NUM); + SIMD_F32 zmm02 = SIMD_LD_F32(input_data + 2 * BLOCK_NUM); + SIMD_F32 zmm03 = SIMD_LD_F32(input_data + 3 * BLOCK_NUM); + SIMD_F32 zmm04 = SIMD_LD_F32(input_data + 4 * BLOCK_NUM); + SIMD_F32 zmm05 = SIMD_LD_F32(input_data + 5 * BLOCK_NUM); + SIMD_F32 zmm06 = SIMD_LD_F32(input_data + 6 * BLOCK_NUM); + SIMD_F32 zmm07 = SIMD_LD_F32(input_data + 7 * BLOCK_NUM); + for (int l = 1; l < reduce_axis_size; l++) { + input_data += (8 * BLOCK_NUM); + zmm00 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data + 0 * BLOCK_NUM)); + zmm01 = SIMD_ADD_F32(zmm01, SIMD_LD_F32(input_data + 1 * BLOCK_NUM)); + zmm02 = SIMD_ADD_F32(zmm02, SIMD_LD_F32(input_data + 2 * BLOCK_NUM)); + zmm03 = SIMD_ADD_F32(zmm03, SIMD_LD_F32(input_data + 3 * BLOCK_NUM)); + zmm04 = SIMD_ADD_F32(zmm00, SIMD_LD_F32(input_data + 4 * BLOCK_NUM)); + zmm05 = SIMD_ADD_F32(zmm01, SIMD_LD_F32(input_data + 5 * BLOCK_NUM)); + zmm06 = SIMD_ADD_F32(zmm02, SIMD_LD_F32(input_data + 6 * BLOCK_NUM)); + zmm07 = SIMD_ADD_F32(zmm03, SIMD_LD_F32(input_data + 7 * BLOCK_NUM)); + } + + SIMD_ST_F32(output_data + 0 * BLOCK_NUM, zmm00); + SIMD_ST_F32(output_data + 1 * BLOCK_NUM, zmm01); + SIMD_ST_F32(output_data + 2 * BLOCK_NUM, zmm02); + SIMD_ST_F32(output_data + 3 * BLOCK_NUM, zmm03); + SIMD_ST_F32(output_data + 4 * BLOCK_NUM, zmm04); + SIMD_ST_F32(output_data + 5 * BLOCK_NUM, zmm05); + SIMD_ST_F32(output_data + 6 * BLOCK_NUM, zmm06); + SIMD_ST_F32(output_data + 7 * BLOCK_NUM, zmm07); + + return index; +} + +#endif + + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/reduce_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/reduce_fp32_sse.h new file mode 100644 index 00000000..3fc49468 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/reduce_fp32_sse.h @@ -0,0 +1,227 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// clang-format off +#ifndef MINDSPORE_NNACL_FP32_REDUCE_FP32_SSE_H_ +#define MINDSPORE_NNACL_FP32_REDUCE_FP32_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int64_t ReduceSumSSE(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceSumByLastAxisSSE(int64_t index, const float *src, float* tmp_sum, int axis_size) { + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int block_max_size = axis_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(src + index)); + } + *tmp_sum += SIMD_GET_SUM_F32(tmp); + return index; +} + +static inline int64_t ReduceMeanSSE(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, SIMD_DIV_N_F32(tmp, axis_size)); + } + return index; +} + +static inline int64_t ReduceMinSSE(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(FLT_MAX); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MIN_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceMaxSSE(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(FLT_MIN); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MAX_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceMaxByLastAxisSSE(int64_t index, const float *src, float* tmp_max, int axis_size) { + SIMD_F32 tmp = SIMD_MOV_F32(*tmp_max); + for (int block_max_size = axis_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + tmp = SIMD_MAX_F32(tmp, SIMD_LD_F32(src + index)); + } + *tmp_max = SIMD_GET_MAX_F32(tmp); + return index; +} + +static inline int64_t ReduceProdSSE(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(1.0f); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MUL_F32(tmp, SIMD_LD_F32(inner_src + i * inner_size)); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceSumSquareSSE(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_F32(tmp, SIMD_MUL_SQUARE_F32(SIMD_LD_F32(inner_src + i * inner_size))); + } + SIMD_ST_F32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceL2NormSSE(int64_t index, const float *outer_src, float *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const float *inner_src = outer_src + index; + SIMD_F32 tmp = SIMD_MOV_F32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_F32(tmp, SIMD_MUL_SQUARE_F32(SIMD_LD_F32(inner_src + i * inner_size))); + } + SIMD_ST_F32(outer_dst + index, SIMD_SQRT_F32(tmp)); + } + return index; +} + +static inline int64_t IntReduceSumSSE(int64_t index, const int32_t *outer_src, int32_t *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const int32_t *inner_src = outer_src + index; + SIMD_EPI32 tmp = SIMD_MOV_EPI32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_EPI32(tmp, SIMD_LD_EPI32(inner_src + i * inner_size)); + } + SIMD_ST_EPI32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t IntReduceMeanSSE(int64_t index, const int32_t *outer_src, int32_t *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const int32_t *inner_src = outer_src + index; + SIMD_EPI32 tmp = SIMD_MOV_EPI32(0); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_ADD_EPI32(tmp, SIMD_LD_EPI32(inner_src + i * inner_size)); + } + SIMD_ST_EPI32(outer_dst + index, SIMD_DIV_N_EPI32(tmp, axis_size)); + } + return index; +} + +static inline int64_t IntReduceMinSSE(int64_t index, const int32_t *outer_src, int32_t *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const int32_t *inner_src = outer_src + index; + SIMD_EPI32 tmp = SIMD_MOV_EPI32(INT32_MAX); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MIN_EPI32(tmp, SIMD_LD_EPI32(inner_src + i * inner_size)); + } + SIMD_ST_EPI32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t IntReduceMaxSSE(int64_t index, const int32_t *outer_src, int32_t *outer_dst, int inner_size, + int axis_size) { + for (int block_max_size = inner_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + const int32_t *inner_src = outer_src + index; + SIMD_EPI32 tmp = SIMD_MOV_EPI32(INT32_MIN); + for (int i = 0; i < axis_size; i++) { + tmp = SIMD_MAX_EPI32(tmp, SIMD_LD_EPI32(inner_src + i * inner_size)); + } + SIMD_ST_EPI32(outer_dst + index, tmp); + } + return index; +} + +static inline int64_t ReduceSumDim2Axis0SSE(int64_t index, size_t col_size, size_t col_len, size_t row_len, const float *src_data, float *dst_data) { + for (int block_max_size = col_size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 tmp = SIMD_MOV_F32(0); + const float *inner_src = src_data + index; + float *inner_dst = dst_data + index; + for (size_t i = 0; i < row_len; ++i) { + tmp = SIMD_ADD_F32(tmp, SIMD_LD_F32(inner_src + i * col_len)); + } + SIMD_ST_F32(inner_dst, tmp); + } + return index; +} + +static inline int64_t FloatReduceDeviationSSE(int64_t index, const float *src_data, float mean, size_t size, float *deviation) { + SIMD_F32 fs_deviation = SIMD_MOV_F32(0); + SIMD_F32 fs_mean = SIMD_MOV_F32(mean); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 fs_sub = SIMD_LD_F32(src_data + index); + + fs_sub = SIMD_SUB_F32(fs_sub, fs_mean); + SIMD_F32 fs_pow = SIMD_MUL_F32(fs_sub, fs_sub); + fs_deviation = SIMD_ADD_F32(fs_deviation, fs_pow); + } + *deviation += SIMD_GET_SUM_F32(fs_deviation); + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/scatter_nd_binary_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/scatter_nd_binary_sse.h new file mode 100644 index 00000000..dff6e1e2 --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/scatter_nd_binary_sse.h @@ -0,0 +1,52 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_BASE_SCATTER_ND_BINARY_SSE_H_ +#define NNACL_BASE_SCATTER_ND_BINARY_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + + static inline int ScatterNDAddFp32SSE(int index, const float *update, int size, float *output) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_F32(output + index, SIMD_ADD_F32(SIMD_LD_F32(output + index), SIMD_LD_F32(update + index))); + } + return index; +} + +static inline int ScatterNDAddInt32SSE(int index, const int *update, int size, int *output) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_ST_EPI32(output + index, SIMD_ADD_EPI32(SIMD_LD_EPI32(output + index), SIMD_LD_EPI32(update + index))); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif // NNACL_BASE_SCATTER_ND_BINARY_SSE_H_ diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/softmax_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/softmax_fp32_sse.h new file mode 100644 index 00000000..71c89ebc --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/softmax_fp32_sse.h @@ -0,0 +1,87 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_SOFTMAX_SSE_H_ +#define MINDSPORE_NNACL_FP32_SOFTMAX_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int64_t SoftmaxNormGetMaxSSE(int64_t index, const float *src, int cur_batch_offset, + float *max, int channel) { + if (channel >= BLOCK_NUM * BLOCK_NUM) { + SIMD_F32 max_val = SIMD_MOV_F32(*max); + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + max_val = SIMD_MAX_F32(max_val, SIMD_LD_F32(src + cur_batch_offset + index)); + } + *max = SIMD_GET_MAX_F32(max_val); + } + return index; +} + +static inline int64_t SoftmaxNormCalcNormSSE(int64_t index, const float *src, float *dst, + int cur_batch_offset, float max, int channel) { + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 output = SIMD_SUB_F32(SIMD_LD_F32(src + cur_batch_offset + index), SIMD_MOV_F32(max)); + SIMD_ST_F32(dst + cur_batch_offset + index, output); + } + return index; +} + +static inline int64_t SoftmaxLastAxisGetExpSumSSE(int64_t index, const float *src, float *dst, + int cur_batch_offset, float max, float *exp_sum, int channel) { +#ifndef _WIN32 + SIMD_F32 sum_val = SIMD_SET0_F32; + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_LD_F32(src + cur_batch_offset + index); + SIMD_F32 output = SIMD_SUB_F32(input, SIMD_MOV_F32(max)); + SIMD_F32 exp_out = SIMD_EXP_F32(output); + sum_val = SIMD_ADD_F32(sum_val, exp_out); + SIMD_ST_F32(dst + cur_batch_offset + index, exp_out); + } + *exp_sum += SIMD_GET_SUM_F32(sum_val); +#endif + return index; +} + +static inline int64_t SoftmaxLastAxisGetResultSSE(int64_t index, const float *src, float *dst, + int cur_batch_offset, float exp_sum, int channel) { + SIMD_F32 exp_sum_val = SIMD_MOV_F32(exp_sum); + for (int block_max_size = channel - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 input = SIMD_LD_F32(src + cur_batch_offset + index); + SIMD_F32 output = SIMD_MUL_F32(input, exp_sum_val); + SIMD_ST_F32(dst + cur_batch_offset + index, output); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +}; +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/softmax_grad_fusion_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/softmax_grad_fusion_fp32_sse.h new file mode 100644 index 00000000..a1bd6fec --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/softmax_grad_fusion_fp32_sse.h @@ -0,0 +1,62 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNACL_FP32_SOFTMAX_GRAD_FUSION_SSE_H_ +#define MINDSPORE_NNACL_FP32_SOFTMAX_GRAD_FUSION_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int64_t SoftmaxGradFusionOptSSE(int64_t index, const float *a, const float *b, + float *out, int64_t size) { + SIMD_F32 result_vec = SIMD_MOV_F32(0.0f); + for (int64_t block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 a_vec = SIMD_LD_F32(a + index); + SIMD_F32 b_vec = SIMD_LD_F32(b + index); + result_vec = SIMD_FMADD_F32(a_vec, b_vec, result_vec); + } + *out += SIMD_GET_SUM_F32(result_vec); + + return index; +} + +static inline int64_t ElementOptSubMulSSE(int index, const float *in0, const float *in1, float sum, + float *out, int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(sum); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_ST_F32(out + index, SIMD_MUL_F32(vin0, SIMD_SUB_F32(vin1, vin1_opt_))); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +} +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/sub_fp32_sse.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/sub_fp32_sse.h new file mode 100644 index 00000000..cd8b91eb --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sse/sub_fp32_sse.h @@ -0,0 +1,167 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MINDSPORE_NNACL_FP32_SUB_SSE_H_ +#define MINDSPORE_NNACL_FP32_SUB_SSE_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#include "nnacl/intrinsics/ms_simd_sse_instructions.h" + +#ifdef __cplusplus +extern "C" { +#endif +#pragma GCC push_options +#pragma GCC target("sse4.1") +#define MS_SIMD_INSTRUCTION MS_SIMD_SSE_INSTRUCTION +#define BLOCK_NUM 4 +#define MS_SIMD_SSE + +static inline int ElementOptSubNum0SSE(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_SUB_F32(vin0_opt, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubNum1SSE(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_SUB_F32(vin0, vin1_opt_); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubIntNum0SSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin0_opt = SIMD_MOV_EPI32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_SUB_EPI32(vin0_opt, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubIntNum1SSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + SIMD_EPI32 vin1_opt_ = SIMD_MOV_EPI32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vout = SIMD_SUB_EPI32(vin0, vin1_opt_); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubReluNum0SSE(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_SUB_F32(vin0_opt, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubReluNum1SSE(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_SUB_F32(vin0, vin1_opt_), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubRelu6Num0SSE(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin0_opt = SIMD_MOV_F32(in0[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_SUB_F32(vin0_opt, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementOptSubRelu6Num1SSE(int index, const float *in0, const float *in1, float *out, + int size) { + SIMD_F32 vin1_opt_ = SIMD_MOV_F32(in1[0]); + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_SUB_F32(vin0, vin1_opt_), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementSubSSE(int index, const float *in0, const float *in1, float *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_SUB_F32(vin0, vin1); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementSubIntSSE(int index, const int32_t *in0, const int32_t *in1, int32_t *out, int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_EPI32 vin0 = SIMD_LD_EPI32(in0 + index); + SIMD_EPI32 vin1 = SIMD_LD_EPI32(in1 + index); + SIMD_EPI32 vout = SIMD_SUB_EPI32(vin0, vin1); + SIMD_ST_EPI32(out + index, vout); + } + return index; +} + +static inline int ElementSubReluSSE(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MAX_N_F32(SIMD_SUB_F32(vin0, vin1), 0.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +static inline int ElementSubRelu6SSE(int index, const float *in0, const float *in1, float *out, + int size) { + for (int block_max_size = size - BLOCK_NUM + 1; index < block_max_size; index += BLOCK_NUM) { + SIMD_F32 vin0 = SIMD_LD_F32(in0 + index); + SIMD_F32 vin1 = SIMD_LD_F32(in1 + index); + SIMD_F32 vout = SIMD_MIN_N_F32(SIMD_MAX_N_F32(SIMD_SUB_F32(vin0, vin1), 0.0f), 6.0f); + SIMD_ST_F32(out + index, vout); + } + return index; +} + +#undef MS_SIMD_INSTRUCTION +#undef BLOCK_NUM +#pragma GCC pop_options +#undef MS_SIMD_SSE +#ifdef __cplusplus +}; +#endif +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sub_fp32_simd.h b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sub_fp32_simd.h new file mode 100644 index 00000000..e79b0dac --- /dev/null +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/include/nnacl/sub_fp32_simd.h @@ -0,0 +1,36 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef NNACL_SUB_FP32_SIMD_H_ +#define NNACL_SUB_FP32_SIMD_H_ + +#include "nnacl/intrinsics/ms_simd_instructions.h" +#ifdef ENABLE_AVX512 +#include "nnacl/avx512/sub_fp32_avx512.h" +#endif + +#ifdef ENABLE_AVX +#include "nnacl/avx/sub_fp32_avx.h" +#endif + +#ifdef ENABLE_SSE +#include "nnacl/sse/sub_fp32_sse.h" +#endif + +#ifdef ENABLE_ARM +#include "nnacl/neon/sub_fp32_neon.h" +#endif + +#endif diff --git a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/infer/infer_register.c b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/infer/infer_register.c index 515c0917..3d702d0a 100644 --- a/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/infer/infer_register.c +++ b/mindspore/ccsrc/plugin/device/cpu/kernel/nnacl/infer/infer_register.c @@ -417,8 +417,8 @@ void RegAllInferFunc5() { } #else -__attribute__((init_priority(101))) InferShape g_infer_func[PrimType_MAX] = {0}; -__attribute__((init_priority(101))) InferShape g_inner_op_infer_func[PrimType_InnerOpMax - PrimType_InnerOpMin] = {0}; +InferShape g_infer_func[PrimType_MAX] = {0}; +InferShape g_inner_op_infer_func[PrimType_InnerOpMax - PrimType_InnerOpMin] = {0}; #endif // _MSC_VER InferShape GetInferFunc(int prim_type) { diff --git a/mindspore/core/mindrt/BUILD.gn b/mindspore/core/mindrt/BUILD.gn new file mode 100644 index 00000000..b56d5f5c --- /dev/null +++ b/mindspore/core/mindrt/BUILD.gn @@ -0,0 +1,49 @@ +# Copyright 2022 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ + +import("//build/ohos.gni") +ohos_source_set("mindrt_obj") { + sources = [ + "src/actor/actor.cc", + "src/actor/actormgr.cc", + "src/actor/aid.cc", + "src/actor/mailbox.cc", + "src/actor/op_actor.cc", + "src/async/future.cc", + "src/async/uuid_base.cc", + "src/async/uuid_generator.cc", + "src/mindrt.cc", + "src/fork_utils.cc", + "src/thread/actor_threadpool.cc", + "src/thread/core_affinity.cc", + "src/thread/parallel_threadpool.cc", + "src/thread/parallel_thread_pool_manager.cc", + "src/thread/threadpool.cc", + ] + include_dirs = [ + "./", + "include/", + "src/", + "../../lite/", + "../../lite/src/", + "../../core/", + ] + + remove_configs = [ "//build/config/compiler:no_rtti" ] + defines = [ "BUILD_LITE" ] + + part_name = "mindspore" + subsystem_name = "thirdparty" +} diff --git a/mindspore/core/ops/base_operator.h b/mindspore/core/ops/base_operator.h index c59e961c..811a6000 100644 --- a/mindspore/core/ops/base_operator.h +++ b/mindspore/core/ops/base_operator.h @@ -80,8 +80,8 @@ class MIND_API OperatorRegisterHelper { ~OperatorRegisterHelper() = default; - private: - int id_{0}; +// private: +// int id_{0}; }; #define OPERATOR_CREATOR_REG(K_NAME, OP_CLASS) \ diff --git a/mindspore/lite/BUILD.gn b/mindspore/lite/BUILD.gn new file mode 100644 index 00000000..6d83e6f9 --- /dev/null +++ b/mindspore/lite/BUILD.gn @@ -0,0 +1,484 @@ +# Copyright 2022 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ + +# Here we port mindespore for OHOS from upstream community, by creating gn scripts +# which translated from the cmake scripts at upstream. +# +# This BUILD.gn is the main build entry of ohos-ms. And it is corresponding to the +# cmake procedure with following options applied: +# +# MSLITE_GPU_BACKEND = "" +# MSLITE_REGISTRY_DEVICE = off +# MSLITE_MICRO_PLATFORM = auto +# MSLITE_ENABLE_NPU = off +# MSLITE_ENABLE_TRAIN = off (train features depends on minddata, not support yet.) +# MSLITE_ENABLE_SSE = off (default off, turn on for x86_64) +# MSLITE_ENABLE_AVX = off (default off, turn on for x86_64) +# MSLITE_ENABLE_AVX512 = off (default off, turn on for x86_64) +# MSLITE_ENABLE_CONVERTER = off (converter tool is not embeded in ohos image) +# MSLITE_ENABLE_TOOLS = off (no lite tool is embeded in ohos image) +# MSLITE_ENABLE_TESTCASES = off +# MSLITE_ENABLE_RUNTIME_PASS = on +# MSLITE_ENABLE_HIGH_PERFORMANCE = off +# MSLITE_ENABLE_STRING_KERNEL = on +# MSLITE_ENABLE_CONTROLFLOW = on +# MSLITE_ENABLE_AUTO_PARALLEL = on +# MSLITE_ENABLE_WEIGHT_DECODE = on +# MSLITE_ENABLE_CUSTOM_KERNEL = on +# MSLITE_ENABLE_MINDRT = on +# MSLITE_ENABLE_DELEGATE = on +# MSLITE_ENABLE_FP16 = off (default off, turn on for arm64) +# MSLITE_ENABLE_INT8 = on +# MSLITE_ENABLE_ACL = off +# MSLITE_ENABLE_ACL_QUANT_PARAM = off +# MSLITE_ENABLE_MODEL_ENCRYPTION = off +# MSLITE_ENABLE_SPARSE_COMPUTE = off +# MSLITE_ENABLE_RUNTIME_CONVERT = off +# MSLITE_ENABLE_RUNTIME_GLOG = off (ohos-ms adapts to os-buildin hilog) +# MSLITE_ENABLE_COVERAGE = off +# MSLITE_ENABLE_SERVER_INFERENCE = off +# MSLITE_ENABLE_DYNAMIC_THREAD_DISTRIBUTE = off +# MSLITE_ENABLE_BFC_MEMORY = off +# MSLITE_ENABLE_PARALLEL_INFERENCE = off +# MSLITE_ENABLE_SHARING_MODEL_WEIGHT = off +# MSLITE_ENABLE_EXPERIMENTAL_KERNEL = on +# MSLITE_ENABLE_GRAPH_KERNEL = off +# MSLITE_ENABLE_CONVERT_PYTORCH_MODEL = off +# MSLITE_ENABLE_KERNEL_EXECUTOR = off +# MSLITE_ENABLE_GITEE_MIRROR = off (ohos-ms should only use the third-parties which provides by other ohos repos) +# MSLITE_ENABLE_CLOUD_FUSION_INFERENCE = off +# MSLITE_ENABLE_CLOUD_INFERENCE = off (alias to MSLITE_ENABLE_CLOUD_FUSION_INFERENCE) +# MSLITE_ENABLE_MODEL_OBF = off (enable model obfuscation) +# MSLITE_ENABLE_MODEL_PRE_INFERENCE = off (enable model do pre-inference when Build interface is called) +# MSLITE_EXPORT_COMPUTE_IR = off (export graph structure dotfile when debug mode) +# MSLITE_ENABLE_PACKAGE_WHEEL = off (enable package python wheel) +# MSLITE_ENABLE_NNRT = off (enable NNRT) +# +# We try to keep the options consist with the default ones at upstream, and provide +# the reason on the behind of non-consist options. + +import("//build/ohos.gni") + +ohos_group("mindspore") { + deps = [ + ":mindspore_lib", + "mindir:mindir_lib", + ] +} + +cxx_api_sources = [ + "src/litert/cxx_api/cell.cc", + "src/litert/cxx_api/context.cc", + "src/litert/cxx_api/converters.cc", + "src/litert/cxx_api/kernel.cc", + "src/litert/cxx_api/serialization.cc", + "src/litert/cxx_api/tensor_utils.cc", + "src/litert/cxx_api/types.cc", + "src/litert/cxx_api/model/model.cc", + "src/litert/cxx_api/model/model_group.cc", + "src/litert/cxx_api/model/model_group_impl.cc", + "src/litert/cxx_api/model/model_impl.cc", + "src/litert/cxx_api/graph/graph.cc", + "src/litert/cxx_api/graph/net_data.cc", + "src/litert/cxx_api/tensor/tensor_impl.cc", +] + +c_api_sources = [ + "src/litert/c_api/context_c.cc", + "src/litert/c_api/model_c.cc", + "src/litert/c_api/tensor_c.cc", +] + +api_source = [ + "../core/utils/status.cc", +] + +control_flow_kernel_sources = [ + "src/control_flow/kernel/entrance_subgraph_kernel.cc", + "src/control_flow/kernel/exit_subgraph_kernel.cc", + "src/control_flow/kernel/identity_kernel.cc", +] + +experimental_sources = [ +] + +string_kernel_source = [ +] + +auto_parallel_source = [ + "src/litert/sub_graph_split.cc" +] + +custom_registry_sources = [ + "src/registry/kernel_interface_registry.cc", + "src/registry/register_kernel.cc", + "src/registry/register_kernel_impl.cc", + "src/registry/register_kernel_interface.cc", +] + +weight_decode_source = [ + "src/litert/weight_decoder.cc" +] + +all_lite_sources = [ + "src/litert/allocator.cc", + "src/litert/inner_allocator.cc", + "src/litert/runtime_allocator.cc", + "src/litert/infer_manager.cc", + "src/litert/runtime_shape_fusion_pass.cc", + "src/litert/runtime_pass.cc", + "src/litert/schema_tensor_wrapper.cc", + "src/litert/huffman_decode.cc", + "src/tensor.cc", + "src/tensorlist.cc", + "src/litert/tensor_category.cc", + "src/litert/executor.cc", + "src/litert/inner_context.cc", + "src/litert/lite_model.cc", + "src/litert/kernel_registry.cc", + "src/litert/lite_kernel.cc", + "src/executor/kernel_exec.cc", + "src/litert/kernel_exec_util.cc", + "src/executor/sub_graph_kernel.cc", + "src/litert/scheduler.cc", + "src/litert/lite_session.cc", + "src/litert/model_manager.cc", + "src/errorcode.cc", + "src/litert/cpu_info.cc", + "src/litert/pack_weight_manager.cc", + "src/control_flow/control_flow_scheduler.cc", + "src/control_flow/control_subgraph_creator.cc", + "tools/converter/quantizer/fse_bit_stream.cc", + "tools/converter/quantizer/fse_decoder.cc", + "src/litert/thread_pool_reuse_manager.cc", + "src/litert/runtime_packed_node_pass.cc", +] + +lite_mindrt_sources = [ + "src/litert/lite_mindrt.cc", + "src/litert/parallel_lite_actor.cc", + "src/litert/mindrt_executor.cc", + "src/control_flow/control_actor_creator.cc", + "src/control_flow/actor/entrance_actor.cc", + "src/control_flow/actor/exit_actor.cc", + "src/control_flow/actor/switch_actor.cc", +] + +all_lite_sources += cxx_api_sources +all_lite_sources += c_api_sources +all_lite_sources += api_source +all_lite_sources += control_flow_kernel_sources +all_lite_sources += experimental_sources +all_lite_sources += string_kernel_source +all_lite_sources += auto_parallel_source +all_lite_sources += custom_registry_sources +all_lite_sources += weight_decode_source +all_lite_sources += lite_mindrt_sources + +ops_base_sources = [ +# "src/common/ops/anf_utils.cc", # disable runtiem convert +# "src/common/ops/ops_def.cc", # disable kernel executor +# "src/common/ops/ops_utils.cc" # disable kernel executor +] + +basic_populate_sources = [ + "src/common/ops/populate/activation_grad_populate.cc", + "src/common/ops/populate/activation_populate.cc", + "src/common/ops/populate/adam_populate.cc", + "src/common/ops/populate/adder_populate.cc", + "src/common/ops/populate/add_populate.cc", + "src/common/ops/populate/affine_populate.cc", + "src/common/ops/populate/all_gather.cc", + "src/common/ops/populate/argmax_populate.cc", + "src/common/ops/populate/argmin_populate.cc", + "src/common/ops/populate/arithmetic_populate.cc", + "src/common/ops/populate/arithmetic_self_populate.cc", + "src/common/ops/populate/assert_populate.cc", + "src/common/ops/populate/assign_add_populate.cc", + "src/common/ops/populate/assign_populate.cc", + "src/common/ops/populate/attention_populate.cc", + "src/common/ops/populate/audio_spectrogram_populate.cc", + "src/common/ops/populate/batch_norm_populate.cc", + "src/common/ops/populate/batch_to_space_populate.cc", + "src/common/ops/populate/bias_add_populate.cc", + "src/common/ops/populate/broadcast_to_populate.cc", + "src/common/ops/populate/call_populate.cc", + "src/common/ops/populate/cast_populate.cc", + "src/common/ops/populate/clip_populate.cc", + "src/common/ops/populate/common_populate.cc", + "src/common/ops/populate/concat_populate.cc", + "src/common/ops/populate/constant_of_shape_populate.cc", + "src/common/ops/populate/conv2d_populate.cc", + "src/common/ops/populate/crop_and_resize_populate.cc", + "src/common/ops/populate/crop_populate.cc", + "src/common/ops/populate/cumsum_populate.cc", + "src/common/ops/populate/custom_populate.cc", + "src/common/ops/populate/deconv2d_populate.cc", + "src/common/ops/populate/default_populate.cc", + "src/common/ops/populate/depth_to_space_populate.cc", + "src/common/ops/populate/detection_post_process_populate.cc", + "src/common/ops/populate/div_populate.cc", + "src/common/ops/populate/dynamic_quant_populate.cc", + "src/common/ops/populate/eltwise_populate.cc", + "src/common/ops/populate/embedding_lookup_populate.cc", + "src/common/ops/populate/erf_populate.cc", + "src/common/ops/populate/expand_dims_populate.cc", + "src/common/ops/populate/exp_populate.cc", + "src/common/ops/populate/fill_populate.cc", + "src/common/ops/populate/flatten_populate.cc", + "src/common/ops/populate/full_connection_populate.cc", + "src/common/ops/populate/fused_batchnorm_populate.cc", + "src/common/ops/populate/gather_d_populate.cc", + "src/common/ops/populate/gather_nd_populate.cc", + "src/common/ops/populate/gather_populate.cc", + "src/common/ops/populate/glu_populate.cc", + "src/common/ops/populate/group_norm_populate.cc", + "src/common/ops/populate/gru_populate.cc", + "src/common/ops/populate/instance_norm_populate.cc", + "src/common/ops/populate/invert_permutation_populate.cc", + "src/common/ops/populate/isfinite_populate.cc", + "src/common/ops/populate/l2_norm_populate.cc", + "src/common/ops/populate/layer_norm_grad_populate.cc", + "src/common/ops/populate/layer_norm_populate.cc", + "src/common/ops/populate/lin_space_populate.cc", + "src/common/ops/populate/local_response_normalization_populate.cc", + "src/common/ops/populate/log_softmax_populate.cc", + "src/common/ops/populate/lstm_populate.cc", + "src/common/ops/populate/matmul_populate.cc", + "src/common/ops/populate/mfcc_populate.cc", + "src/common/ops/populate/mul_populate.cc", + "src/common/ops/populate/nllloss_populate.cc", + "src/common/ops/populate/non_max_suppression_populate.cc", + "src/common/ops/populate/nonzero_populate.cc", + "src/common/ops/populate/one_hot_populate.cc", + "src/common/ops/populate/oneslike_populate.cc", + "src/common/ops/populate/pad_populate.cc", + "src/common/ops/populate/partial_populate.cc", + "src/common/ops/populate/pooling_populate.cc", + "src/common/ops/populate/populate_register.cc", + "src/common/ops/populate/power_populate.cc", + "src/common/ops/populate/p_relu_populate.cc", + "src/common/ops/populate/prior_box_populate.cc", + "src/common/ops/populate/quant_dtype_cast_populate.cc", + "src/common/ops/populate/ragged_range_populate.cc", + "src/common/ops/populate/random_normal_populate.cc", + "src/common/ops/populate/random_standard_normal_populate.cc", + "src/common/ops/populate/range_populate.cc", + "src/common/ops/populate/rank_populate.cc", + "src/common/ops/populate/reduce_populate.cc", + "src/common/ops/populate/reduce_scatter.cc", + "src/common/ops/populate/reshape_populate.cc", + "src/common/ops/populate/resize_populate.cc", + "src/common/ops/populate/reverse_populate.cc", + "src/common/ops/populate/reverse_sequence_populate.cc", + "src/common/ops/populate/roi_pooling_populate.cc", + "src/common/ops/populate/scale_populate.cc", + "src/common/ops/populate/scatter_element_populate.cc", + "src/common/ops/populate/scatter_nd_populate.cc", + "src/common/ops/populate/scatter_nd_update_populate.cc", + "src/common/ops/populate/select_populate.cc", + "src/common/ops/populate/shape_populate.cc", + "src/common/ops/populate/size_populate.cc", + "src/common/ops/populate/slice_populate.cc", + "src/common/ops/populate/softmax_populate.cc", + "src/common/ops/populate/space_to_batch_nd_populate.cc", + "src/common/ops/populate/space_to_batch_populate.cc", + "src/common/ops/populate/space_to_depth_populate.cc", + "src/common/ops/populate/sparse_fill_empty_rows_populate.cc", + "src/common/ops/populate/sparse_reshape_populate.cc", + "src/common/ops/populate/sparse_segment_sum_populate.cc", + "src/common/ops/populate/sparse_softmax_cross_entropy_with_logits_populate.cc", + "src/common/ops/populate/sparse_to_dense_populate.cc", + "src/common/ops/populate/splice_populate.cc", + "src/common/ops/populate/split_populate.cc", + "src/common/ops/populate/split_with_overlap_populate.cc", + "src/common/ops/populate/squeeze_populate.cc", + "src/common/ops/populate/stack_populate.cc", + "src/common/ops/populate/strided_slice_grad_populate.cc", + "src/common/ops/populate/strided_slice_populate.cc", + "src/common/ops/populate/sub_populate.cc", + "src/common/ops/populate/tile_populate.cc", + "src/common/ops/populate/topk_populate.cc", + "src/common/ops/populate/transpose_populate.cc", + "src/common/ops/populate/triu_tril_populate.cc", + "src/common/ops/populate/uniform_real_populate.cc", + "src/common/ops/populate/unique_populate.cc", + "src/common/ops/populate/unsorted_segment_sum_populate.cc", + "src/common/ops/populate/unsqueeze_populate.cc", + "src/common/ops/populate/unstack_populate.cc", + "src/common/ops/populate/where_populate.cc", +] + +string_populate_sources = [ + "src/common/ops/populate/string/custom_extract_features_populate.cc", + "src/common/ops/populate/string/custom_normalize_populate.cc", + "src/common/ops/populate/string/custom_predict_populate.cc", + "src/common/ops/populate/string/hashtable_lookup_populate.cc", + "src/common/ops/populate/string/lsh_projection_populate.cc", + "src/common/ops/populate/string/skip_gram_populate.cc", +] + +control_populate_sources = [ + "src/common/ops/populate/control/switch_populate.cc", + "src/common/ops/populate/control/tensor_array_populate.cc", + "src/common/ops/populate/control/tensorlistfromtensor_populate.cc", + "src/common/ops/populate/control/tensorlistgetitem_populate.cc", + "src/common/ops/populate/control/tensorlistreserve_populate.cc", + "src/common/ops/populate/control/tensorlistsetlitem_populate.cc", + "src/common/ops/populate/control/tensorliststack_populate.cc", +] + +all_ops_sources = ops_base_sources +all_ops_sources += basic_populate_sources +all_ops_sources += string_populate_sources +all_ops_sources += control_populate_sources + +all_sources = all_lite_sources +all_sources += all_ops_sources + +missing_sources = [ + "src/extendrt/mindir_loader/model_loader.cc", +] + +all_sources += missing_sources + +ohos_shared_library("mindspore_lib") { + deps = [ + "../ccsrc/plugin/device/cpu/kernel/nnacl/:nnacl_obj", + "../core/mindrt/:mindrt_obj", + "src/litert/kernel/cpu/:cpu_kernel_obj", + "src/common/:lite_common_mid_obj", + ] + + sources = all_sources + + include_dirs = [ + "//base/hiviewdfx/hilog/interfaces/native/innerkits/include", + "//third_party/flatbuffers/include", + "./", + "../", + "../../", + "../core", + "src", + "src/c_api/", + "../ccsrc/plugin/device/cpu/kernel/", + "../core/mindrt/src/", + "../core/mindrt/include/", + "../../third_party/", + "./schema/", + "../ccsrc/", + "src/litert/kernel/cpu/", + "../core/mindrt/src/", + ] + + defines = [ + "ENABLE_MINDRT", + "MS_COMPILE_OHOS", + "PRIMITIVE_WRITEABLE", + "RUNTIME_PASS_CLIP", + "ENABLE_MULTI_LAYOUT", + "VERSION_STR=\"2.1.0\"", + ] + + if (target_cpu == "arm") { + defines += [ + "ENABLE_ARM", + "ENABLE_ARM32", + "ENABLE_NEON", + ] + } else if (target_cpu == "arm64") { + defines += [ + "ENABLE_ARM", + "ENABLE_ARM64", + "ENABLE_NEON", + "ENABLE_FP16", + "USE_OPENCL_WRAPPER", + "MS_OPENCL_PROFILE=false", + "CL_TARGET_OPENCL_VERSION=200", + "CL_HPP_TARGET_OPENCL_VERSION=120", + "CL_HPP_MINIMUM_OPENCL_VERSION=120", + ] + } + + configs = [ + ":mindspore_api", + ":disable_android", + ":opencl_option", + ":secure_option", + ] + + remove_configs = [ "//build/config/compiler:no_rtti" ] + + external_deps = [ "hilog:libhilog" ] + + output_name = "libmindspore-lite.huawei" + output_extension = "so" + innerapi_tags = [ "platformsdk" ] + SUPPORT_NNRT = true + if (SUPPORT_NNRT) { + sources += [ + # "mindir/src/mindir_nnrt_lite_graph.cc", + "src/litert/delegate/nnrt/checker/primitive_check.cc", + "src/litert/delegate/nnrt/nnrt_delegate.cc", + "src/litert/delegate/nnrt/nnrt_model_kernel.cc", + ] + include_dirs += [ + "//foundation/ai/neural_network_runtime", + "src/delegate/nnrt/include", + "../../mindspore/core/ir", + "mindir/include", + "mindir/inner_headers", + ] + external_deps += [ "neural_network_runtime:nnrt_target" ] + deps += [ "mindir:mindir_lib" ] + defines += [ "SUPPORT_NNRT" ] + defines += [ "MSLITE_ENABLE_EXPERIMENTAL_KERNEL" ] + } + cflags_cc = [ + "-Wno-ignored-qualifiers", + "-Wunused-private-field", + "-Wno-unused-private-field", + "-Wno-inconsistent-missing-override", + "-Wno-macro-redefined", + "-Wno-constant-conversion", + ] + part_name = "mindspore" + subsystem_name = "thirdparty" +} + +config("opencl_option") { + cflags_cc = [ "-Wno-missing-braces" ] +} + +config("mindspore_api") { + include_dirs = [ "../../include/" ] +} + +config("disable_android") { + cflags = [ + "-UANDROID", + "-U__ANDROID__", + "-U__ANDROID_API__", + ] + cflags_cc = [ + "-UANDROID", + "-U__ANDROID__", + "-U__ANDROID_API__", + ] +} + +config("secure_option") { + cflags = [ "-fstack-protector-all" ] +} diff --git a/mindspore/lite/CMakeLists.txt b/mindspore/lite/CMakeLists.txt index 721a9b0f..72337f70 100644 --- a/mindspore/lite/CMakeLists.txt +++ b/mindspore/lite/CMakeLists.txt @@ -57,6 +57,7 @@ option(MSLITE_ENABLE_MODEL_OBF "enable model obfuscation" off) option(MSLITE_ENABLE_MODEL_PRE_INFERENCE "enable model do pre-inference when Build interface is called" off) option(MSLITE_EXPORT_COMPUTE_IR "export graph structure dotfile when debug mode" off) option(MSLITE_ENABLE_PACKAGE_WHEEL "enable package python wheel" off) +option(MSLITE_ENABLE_NNRT "enable NNRT" off) #Option that can be configured through manually option(ENABLE_VERBOSE "" off) @@ -266,6 +267,10 @@ if(MSLITE_ENABLE_ACL AND (MSLITE_ENABLE_CLOUD_FUSION_INFERENCE OR MSLITE_ENABLE_ set(PLATFORM_ARM32 off) endif() +if(DEFINED ENV{MSLITE_ENABLE_NNRT}) + set(MSLITE_ENABLE_NNRT $ENV{MSLITE_ENABLE_NNRT}) +endif() + if(MACHINE_LINUX_ARM64) add_compile_definitions(MACHINE_LINUX_ARM64) add_compile_definitions(LINUX_RUNTIME) @@ -496,6 +501,11 @@ if(TARGET_AOS_ARM) endif() endif() +if(MSLITE_ENABLE_NNRT) + set(SUPPORT_NNRT on) + add_compile_definitions(SUPPORT_NNRT) +endif() + message(STATUS "************MindSpore Lite Build Option:************") message(STATUS "\tMSLITE_GPU_BACKEND = \t${MSLITE_GPU_BACKEND}") message(STATUS "\tMSLITE_REGISTRY_DEVICE = \t${MSLITE_REGISTRY_DEVICE}") @@ -542,6 +552,7 @@ message(STATUS "\tMSLITE_ENABLE_MODEL_OBF = \t${MSLITE_ENABLE message(STATUS "\tMSLITE_ENABLE_MODEL_PRE_INFERENCE = \t${MSLITE_ENABLE_MODEL_PRE_INFERENCE}") message(STATUS "\tMSLITE_EXPORT_COMPUTE_IR = \t${MSLITE_EXPORT_COMPUTE_IR}") message(STATUS "\tMSLITE_ENABLE_PACKAGE_WHEEL = \t${MSLITE_ENABLE_PACKAGE_WHEEL}") +message(STATUS "\tMSLITE_ENABLE_NNRT = \t${MSLITE_ENABLE_NNRT}") if((MSLITE_ENABLE_CONVERTER OR MSLITE_ENABLE_TESTCASES) AND ( NOT MSLITE_ENABLE_MINDRT diff --git a/mindspore/lite/mindir/BUILD.gn b/mindspore/lite/mindir/BUILD.gn new file mode 100644 index 00000000..b1435ef7 --- /dev/null +++ b/mindspore/lite/mindir/BUILD.gn @@ -0,0 +1,61 @@ +# Copyright 2022 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +import("//build/ohos.gni") + +# ohos_group("mindir_test") { +# deps = [ +# "tests:mindir_test", +# ] +# } +ohos_shared_library("mindir_lib") { + include_dirs = [ + "../", + "../../core", + "include", + "inner_headers", + "//third_party/flatbuffers/include", + "//third_party/bounds_checking_function/include", + "//base/hiviewdfx/hilog/interfaces/native/innerkits/include", + ] + sources = [ + "../src/common/log.cc", + "src/mindir.cc", + "src/mindir_memory_manager.cc", + "src/mindir_nnrt_lite_graph.cc", + "src/mindir_nnrt_lite_graph_to_model.cc", + "src/mindir_nnrt_lite_graph_to_model_v2_0.cc", + "src/mindir_tensor.cc", + "src/utils.cc", + ] + external_deps = [ + "c_utils:utils", + "drivers_interface_nnrt:libnnrt_proxy_1.0", + "drivers_interface_nnrt:libnnrt_proxy_2.0", + "hdf_core:libhdi", + "hilog:libhilog", + "ipc:ipc_core", + "bounds_checking_function:libsec_shared", + "drivers_interface_nnrt:nnrt_idl_headers" + ] + configs = [ + "../:disable_android", + "../:secure_option", + ] + defines = [ "MS_COMPILE_OHOS" ] + output_name = "mindir" + innerapi_tags = [ "platformsdk_indirect" ] + part_name = "mindspore" + subsystem_name = "thirdparty" +} diff --git a/mindspore/lite/mindir/CMakeLists.txt b/mindspore/lite/mindir/CMakeLists.txt new file mode 100644 index 00000000..42b89711 --- /dev/null +++ b/mindspore/lite/mindir/CMakeLists.txt @@ -0,0 +1,31 @@ +#set(CMAKE_TOOLCHAIN_FILE /heaven/wty/devtools/ohos_sdk/native/build/cmake/ohos.toolchain.cmake) +set(OHOS_ARCH arm64-v8a) +set(OHOS_STL c++_static) +set(OHOS_PLATFORM rk3568) +set(CMAKE_CXX_COMPILER /usr/bin/g++) +project(mindir) +cmake_minimum_required(VERSION 3.18) + +file(GLOB source src/*.cc) +file(GLOB convert_source src/converter/*.cpp) +set(mindir_source ../src/common/log.cc) +include_directories(include) +include_directories(inner_headers) +include_directories(../) +include_directories(../../../../../out/rk3568/gen/drivers/interface) +include_directories(../../../../../third_party/flatbuffers/include) +include_directories(../../core) + +include_directories(../../foundation/communication/ipc/interfaces/innerkits/ipc_core/include) +include_directories(../../../../../utils/native/base/include) +add_compile_definitions(MINDIR_INTERFACE) +add_library(mindir SHARED ${source} ${convert_source} ${mindir_source}) +target_link_libraries(mindir ../../../../../out/rk3568/hdf/drivers_interface_nnrt/libnnrt_proxy_1.0.z.so + ../../../../../out/rk3568/commonlibrary/c_utils/libutils.z.so + hilog_ndk.z + ../../../../../out/rk3568/communication/ipc/libipc_core.z.so + ) +file(GLOB test_sources tests/*.cc) + +add_executable(mindir_test ${test_sources}) +target_link_libraries(mindir_test mindir) diff --git a/mindspore/lite/mindir/include/mindir.h b/mindspore/lite/mindir/include/mindir.h new file mode 100644 index 00000000..ca811dce --- /dev/null +++ b/mindspore/lite/mindir/include/mindir.h @@ -0,0 +1,447 @@ +/** + * Copyright 2021 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_LITE_MINDIR_H +#define MINDSPORE_LITE_MINDIR_H +#include "mindir_types.h" +#include "mindir_lite_graph.h" +#include "mindir_tensor.h" +#include "mindir_primitive.h" +namespace OHOS { +namespace HDI { +namespace Nnrt { +namespace V1_0 { +struct Model; +} // namespace V1_0 +} // namespace Nnrt +} // namespace HDI +} // namespace OHOS + +namespace OHOS { +namespace HDI { +namespace Nnrt { +namespace V2_0 { +struct Model; +} // namespace V2_0 +} // namespace Nnrt +} // namespace HDI +} // namespace OHOS + +namespace mindspore { +namespace schema { +struct Attribute; +} + +namespace lite { + +// ********** Model ********** +OHOS::HDI::Nnrt::V1_0::Model *MindIR_LiteGraph_To_Model(const LiteGraph *lite_graph, + const OHOS::HDI::Nnrt::V1_0::SharedBuffer &buffer); +void MindIR_Model_Destroy(OHOS::HDI::Nnrt::V1_0::Model **model); + +OHOS::HDI::Nnrt::V2_0::Model *MindIR_LiteGraph_To_Model(const LiteGraph *lite_graph, + const OHOS::HDI::Nnrt::V2_0::SharedBuffer &buffer); +void MindIR_Model_Destroy(OHOS::HDI::Nnrt::V2_0::Model **model); + +// ********** Activation ********** +PrimitivePtr MindIR_Activation_CreatePrimitive(ActivationType activation_type, float alpha, float min_val, + float max_val, bool approximate); +ActivationType MindIR_Activation_GetActivationType(ConstPrimitivePtr primitive); +void MindIR_Activation_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type); +float MindIR_Activation_GetAlpha(ConstPrimitivePtr primitive); +void MindIR_Activation_SetAlpha(PrimitivePtr *primitive, float alpha); +float MindIR_Activation_GetMinVal(ConstPrimitivePtr primitive); +void MindIR_Activation_SetMinVal(PrimitivePtr *primitive, float min_val); +float MindIR_Activation_GetMaxVal(ConstPrimitivePtr primitive); +void MindIR_Activation_SetMaxVal(PrimitivePtr *primitive, float max_val); +bool MindIR_Activation_GetApproximate(ConstPrimitivePtr primitive); +void MindIR_Activation_SetApproximate(PrimitivePtr *primitive, bool approximate); + +// ********** AddFusion ********** +PrimitivePtr MindIR_AddFusion_CreatePrimitive(ActivationType activation_type); +ActivationType MindIR_AddFusion_GetActivationType(ConstPrimitivePtr primitive); +void MindIR_AddFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type); + +// ********** ArgMaxFusion ********** +PrimitivePtr MindIR_ArgMaxFusion_CreatePrimitive(int64_t axis, int64_t top_k, bool keep_dims, bool out_max_value); +int64_t MindIR_ArgMaxFusion_GetAxis(ConstPrimitivePtr primitive); +void MindIR_ArgMaxFusion_SetAxis(PrimitivePtr *primitive, int64_t axis); +int64_t MindIR_ArgMaxFusion_GetTopK(ConstPrimitivePtr primitive); +void MindIR_ArgMaxFusion_SetTopK(PrimitivePtr *primitive, int64_t top_k); +bool MindIR_ArgMaxFusion_GetKeepDims(ConstPrimitivePtr primitive); +void MindIR_ArgMaxFusion_SetKeepDims(PrimitivePtr *primitive, bool keep_dims); +bool MindIR_ArgMaxFusion_GetOutMaxValue(ConstPrimitivePtr primitive); +void MindIR_ArgMaxFusion_SetOutMaxValue(PrimitivePtr *primitive, bool out_max_value); + +// ********** AvgPoolFusion ********** +PrimitivePtr MindIR_AvgPoolFusion_CreatePrimitive(const std::vector &kernel_size, + const std::vector &strides, const std::vector &pad, + PadMode pad_mode, RoundMode round_mode, Format format, bool global, + ActivationType activation_type); +std::vector MindIR_AvgPoolFusion_GetKernelSize(ConstPrimitivePtr primitive); +void MindIR_AvgPoolFusion_SetKernelSize(PrimitivePtr *primitive, const std::vector &kernel_size); +std::vector MindIR_AvgPoolFusion_GetStrides(ConstPrimitivePtr primitive); +void MindIR_AvgPoolFusion_SetStrides(PrimitivePtr *primitive, const std::vector &strides); +std::vector MindIR_AvgPoolFusion_GetPad(ConstPrimitivePtr primitive); +void MindIR_AvgPoolFusion_SetPad(PrimitivePtr *primitive, const std::vector &pad); +PadMode MindIR_AvgPoolFusion_GetPadMode(ConstPrimitivePtr primitive); +void MindIR_AvgPoolFusion_SetPadMode(PrimitivePtr *primitive, PadMode pad_mode); +RoundMode MindIR_AvgPoolFusion_GetRoundMode(ConstPrimitivePtr primitive); +void MindIR_AvgPoolFusion_SetRoundMode(PrimitivePtr *primitive, RoundMode round_mode); +Format MindIR_AvgPoolFusion_GetFormat(ConstPrimitivePtr primitive); +void MindIR_AvgPoolFusion_SetFormat(PrimitivePtr *primitive, Format format); +bool MindIR_AvgPoolFusion_GetGlobal(ConstPrimitivePtr primitive); +void MindIR_AvgPoolFusion_SetGlobal(PrimitivePtr *primitive, bool global); +ActivationType MindIR_AvgPoolFusion_GetActivationType(ConstPrimitivePtr primitive); +void MindIR_AvgPoolFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type); + +// ********** BatchToSpaceND ********** +PrimitivePtr MindIR_BatchToSpaceND_CreatePrimitive(const std::vector &block_shape, + const std::vector> &crops); +std::vector MindIR_BatchToSpaceND_GetBlockShape(ConstPrimitivePtr primitive); +void MindIR_BatchToSpaceND_SetBlockShape(PrimitivePtr *primitive, const std::vector &block_shape); +std::vector> MindIR_BatchToSpaceND_GetCrops(ConstPrimitivePtr primitive); +void MindIR_BatchToSpaceND_SetCrops(PrimitivePtr *primitive, const std::vector> &crops); + +// ********** BiasAdd ********** +PrimitivePtr MindIR_BiasAdd_CreatePrimitive(); + +// ********** Cast ********** +PrimitivePtr MindIR_Cast_CreatePrimitive(); + +// ********** Concat ********** +PrimitivePtr MindIR_Concat_CreatePrimitive(int64_t axis); +int64_t MindIR_Concat_GetAxis(ConstPrimitivePtr primitive); +void MindIR_Concat_SetAxis(PrimitivePtr *primitive, int64_t axis); + +// ********** Conv2DFusion ********** +PrimitivePtr MindIR_Conv2DFusion_CreatePrimitive(const std::vector &kernel_size, + const std::vector &stride, + const std::vector &dilation, PadMode pad_mode, + const std::vector &pad_list, int64_t group, + int64_t in_channel, int64_t out_channel, + ActivationType activation_type); +std::vector MindIR_Conv2DFusion_GetKernelSize(ConstPrimitivePtr primitive); +void MindIR_Conv2DFusion_SetKernelSize(PrimitivePtr *primitive, const std::vector &kernel_size); +std::vector MindIR_Conv2DFusion_GetStride(ConstPrimitivePtr primitive); +void MindIR_Conv2DFusion_SetStride(PrimitivePtr *primitive, const std::vector &stride); +std::vector MindIR_Conv2DFusion_GetDilation(ConstPrimitivePtr primitive); +void MindIR_Conv2DFusion_SetDilation(PrimitivePtr *primitive, const std::vector &dilation); +PadMode MindIR_Conv2DFusion_GetPadMode(ConstPrimitivePtr primitive); +void MindIR_Conv2DFusion_SetPadMode(PrimitivePtr *primitive, PadMode pad_mode); +std::vector MindIR_Conv2DFusion_GetPadList(ConstPrimitivePtr primitive); +void MindIR_Conv2DFusion_SetPadList(PrimitivePtr *primitive, const std::vector &pad_list); +int64_t MindIR_Conv2DFusion_GetGroup(ConstPrimitivePtr primitive); +void MindIR_Conv2DFusion_SetGroup(PrimitivePtr *primitive, int64_t group); +int64_t MindIR_Conv2DFusion_GetInChannel(ConstPrimitivePtr primitive); +void MindIR_Conv2DFusion_SetInChannel(PrimitivePtr *primitive, int64_t in_channel); +int64_t MindIR_Conv2DFusion_GetOutChannel(ConstPrimitivePtr primitive); +void MindIR_Conv2DFusion_SetOutChannel(PrimitivePtr *primitive, int64_t out_channel); +ActivationType MindIR_Conv2DFusion_GetActivationType(ConstPrimitivePtr primitive); +void MindIR_Conv2DFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type); + +// ********** Conv2dTransposeFusion ********** +PrimitivePtr MindIR_Conv2dTransposeFusion_CreatePrimitive( + const std::vector &kernel_size, const std::vector &stride, const std::vector &dilation, + PadMode pad_mode, const std::vector &pad_list, int64_t group, int64_t in_channel, int64_t out_channel, + ActivationType activation_type, const std::vector &output_paddings); +std::vector MindIR_Conv2dTransposeFusion_GetKernelSize(ConstPrimitivePtr primitive); +void MindIR_Conv2dTransposeFusion_SetKernelSize(PrimitivePtr *primitive, const std::vector &kernel_size); +std::vector MindIR_Conv2dTransposeFusion_GetStride(ConstPrimitivePtr primitive); +void MindIR_Conv2dTransposeFusion_SetStride(PrimitivePtr *primitive, const std::vector &stride); +std::vector MindIR_Conv2dTransposeFusion_GetDilation(ConstPrimitivePtr primitive); +void MindIR_Conv2dTransposeFusion_SetDilation(PrimitivePtr *primitive, const std::vector &dilation); +PadMode MindIR_Conv2dTransposeFusion_GetPadMode(ConstPrimitivePtr primitive); +void MindIR_Conv2dTransposeFusion_SetPadMode(PrimitivePtr *primitive, PadMode pad_mode); +std::vector MindIR_Conv2dTransposeFusion_GetPadList(ConstPrimitivePtr primitive); +void MindIR_Conv2dTransposeFusion_SetPadList(PrimitivePtr *primitive, const std::vector &pad_list); +int64_t MindIR_Conv2dTransposeFusion_GetGroup(ConstPrimitivePtr primitive); +void MindIR_Conv2dTransposeFusion_SetGroup(PrimitivePtr *primitive, int64_t group); +int64_t MindIR_Conv2dTransposeFusion_GetInChannel(ConstPrimitivePtr primitive); +void MindIR_Conv2dTransposeFusion_SetInChannel(PrimitivePtr *primitive, int64_t in_channel); +int64_t MindIR_Conv2dTransposeFusion_GetOutChannel(ConstPrimitivePtr primitive); +void MindIR_Conv2dTransposeFusion_SetOutChannel(PrimitivePtr *primitive, int64_t out_channel); +ActivationType MindIR_Conv2dTransposeFusion_GetActivationType(ConstPrimitivePtr primitive); +void MindIR_Conv2dTransposeFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type); +std::vector MindIR_Conv2dTransposeFusion_GetOutputPaddings(ConstPrimitivePtr primitive); +void MindIR_Conv2dTransposeFusion_SetOutputPaddings(PrimitivePtr *primitive, + const std::vector &output_paddings); + +// ********** DivFusion ********** +PrimitivePtr MindIR_DivFusion_CreatePrimitive(ActivationType activation_type); +ActivationType MindIR_DivFusion_GetActivationType(ConstPrimitivePtr primitive); +void MindIR_DivFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type); + +// ********** Eltwise ********** +PrimitivePtr MindIR_Eltwise_CreatePrimitive(EltwiseMode mode); +EltwiseMode MindIR_Eltwise_GetMode(ConstPrimitivePtr primitive); +void MindIR_Eltwise_SetMode(PrimitivePtr *primitive, EltwiseMode mode); + +// ********** ExpandDims ********** +PrimitivePtr MindIR_ExpandDims_CreatePrimitive(); + +// ********** Fill ********** +PrimitivePtr MindIR_Fill_CreatePrimitive(); + +// ********** FullConnection ********** +PrimitivePtr MindIR_FullConnection_CreatePrimitive(bool has_bias, bool use_axis, int64_t axis, + ActivationType activation_type); +bool MindIR_FullConnection_GetHasBias(ConstPrimitivePtr primitive); +void MindIR_FullConnection_SetHasBias(PrimitivePtr *primitive, bool has_bias); +bool MindIR_FullConnection_GetUseAxis(ConstPrimitivePtr primitive); +void MindIR_FullConnection_SetUseAxis(PrimitivePtr *primitive, bool use_axis); +int64_t MindIR_FullConnection_GetAxis(ConstPrimitivePtr primitive); +void MindIR_FullConnection_SetAxis(PrimitivePtr *primitive, int64_t axis); +ActivationType MindIR_FullConnection_GetActivationType(ConstPrimitivePtr primitive); +void MindIR_FullConnection_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type); + +// ********** FusedBatchNorm ********** +PrimitivePtr MindIR_FusedBatchNorm_CreatePrimitive(float epsilon); +float MindIR_FusedBatchNorm_GetEpsilon(ConstPrimitivePtr primitive); +void MindIR_FusedBatchNorm_SetEpsilon(PrimitivePtr *primitive, float epsilon); + +// ********** Gather ********** +PrimitivePtr MindIR_Gather_CreatePrimitive(); + +// ********** LayerNormFusion ********** +PrimitivePtr MindIR_LayerNormFusion_CreatePrimitive(int64_t begin_norm_axis, float epsilon, bool elementwise_affine, + int64_t begin_params_axis); +int64_t MindIR_LayerNormFusion_GetBeginNormAxis(ConstPrimitivePtr primitive); +void MindIR_LayerNormFusion_SetBeginNormAxis(PrimitivePtr *primitive, int64_t begin_norm_axis); +float MindIR_LayerNormFusion_GetEpsilon(ConstPrimitivePtr primitive); +void MindIR_LayerNormFusion_SetEpsilon(PrimitivePtr *primitive, float epsilon); +bool MindIR_LayerNormFusion_GetElementwiseAffine(ConstPrimitivePtr primitive); +void MindIR_LayerNormFusion_SetElementwiseAffine(PrimitivePtr *primitive, bool elementwise_affine); +int64_t MindIR_LayerNormFusion_GetBeginParamsAxis(ConstPrimitivePtr primitive); +void MindIR_LayerNormFusion_SetBeginParamsAxis(PrimitivePtr *primitive, int64_t begin_params_axis); + +// ********** LessEqual ********** +PrimitivePtr MindIR_LessEqual_CreatePrimitive(); + +// ********** MatMulFusion ********** +PrimitivePtr MindIR_MatMulFusion_CreatePrimitive(bool transpose_a, bool transpose_b, ActivationType activation_type); +bool MindIR_MatMulFusion_GetTransposeA(ConstPrimitivePtr primitive); +void MindIR_MatMulFusion_SetTransposeA(PrimitivePtr *primitive, bool transpose_a); +bool MindIR_MatMulFusion_GetTransposeB(ConstPrimitivePtr primitive); +void MindIR_MatMulFusion_SetTransposeB(PrimitivePtr *primitive, bool transpose_b); +ActivationType MindIR_MatMulFusion_GetActivationType(ConstPrimitivePtr primitive); +void MindIR_MatMulFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type); + +// ********** Maximum ********** +PrimitivePtr MindIR_Maximum_CreatePrimitive(); + +// ********** MaxPoolFusion ********** +PrimitivePtr MindIR_MaxPoolFusion_CreatePrimitive(const std::vector &kernel_size, + const std::vector &strides, const std::vector &pad, + PadMode pad_mode, Format format, bool global, + ActivationType activation_type); +std::vector MindIR_MaxPoolFusion_GetKernelSize(ConstPrimitivePtr primitive); +void MindIR_MaxPoolFusion_SetKernelSize(PrimitivePtr *primitive, const std::vector &kernel_size); +std::vector MindIR_MaxPoolFusion_GetStrides(ConstPrimitivePtr primitive); +void MindIR_MaxPoolFusion_SetStrides(PrimitivePtr *primitive, const std::vector &strides); +std::vector MindIR_MaxPoolFusion_GetPad(ConstPrimitivePtr primitive); +void MindIR_MaxPoolFusion_SetPad(PrimitivePtr *primitive, const std::vector &pad); +PadMode MindIR_MaxPoolFusion_GetPadMode(ConstPrimitivePtr primitive); +void MindIR_MaxPoolFusion_SetPadMode(PrimitivePtr *primitive, PadMode pad_mode); +Format MindIR_MaxPoolFusion_GetFormat(ConstPrimitivePtr primitive); +void MindIR_MaxPoolFusion_SetFormat(PrimitivePtr *primitive, Format format); +bool MindIR_MaxPoolFusion_GetGlobal(ConstPrimitivePtr primitive); +void MindIR_MaxPoolFusion_SetGlobal(PrimitivePtr *primitive, bool global); +RoundMode MindIR_MaxPoolFusion_GetRoundMode(ConstPrimitivePtr primitive); +void MindIR_MaxPoolFusion_SetRoundMode(PrimitivePtr *primitive, RoundMode round_mode); +ActivationType MindIR_MaxPoolFusion_GetActivationType(ConstPrimitivePtr primitive); +void MindIR_MaxPoolFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type); + +// ********** MulFusion ********** +PrimitivePtr MindIR_MulFusion_CreatePrimitive(ActivationType activation_type); +ActivationType MindIR_MulFusion_GetActivationType(ConstPrimitivePtr primitive); +void MindIR_MulFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type); + +// ********** OneHot ********** +PrimitivePtr MindIR_OneHot_CreatePrimitive(int64_t axis); +int64_t MindIR_OneHot_GetAxis(ConstPrimitivePtr primitive); +void MindIR_OneHot_SetAxis(PrimitivePtr *primitive, int64_t axis); + +// ********** PadFusion ********** +PrimitivePtr MindIR_PadFusion_CreatePrimitive(const std::vector> &paddings, + PaddingMode padding_mode, float constant_value); +std::vector> MindIR_PadFusion_GetPaddings(ConstPrimitivePtr primitive); +void MindIR_PadFusion_SetPaddings(PrimitivePtr *primitive, const std::vector> &paddings); +PaddingMode MindIR_PadFusion_GetPaddingMode(ConstPrimitivePtr primitive); +void MindIR_PadFusion_SetPaddingMode(PrimitivePtr *primitive, PaddingMode padding_mode); +float MindIR_PadFusion_GetConstantValue(ConstPrimitivePtr primitive); +void MindIR_PadFusion_SetConstantValue(PrimitivePtr *primitive, float constant_value); + +// ********** PowFusion ********** +PrimitivePtr MindIR_PowFusion_CreatePrimitive(float scale, float shift); +float MindIR_PowFusion_GetScale(ConstPrimitivePtr primitive); +void MindIR_PowFusion_SetScale(PrimitivePtr *primitive, float scale); +float MindIR_PowFusion_GetShift(ConstPrimitivePtr primitive); +void MindIR_PowFusion_SetShift(PrimitivePtr *primitive, float shift); + +// ********** PReLUFusion ********** +PrimitivePtr MindIR_PReLUFusion_CreatePrimitive(bool channel_shared); +bool MindIR_PReLUFusion_GetChannelShared(ConstPrimitivePtr primitive); +void MindIR_PReLUFusion_SetChannelShared(PrimitivePtr *primitive, bool channel_shared); + +// ********** QuantDTypeCast ********** +PrimitivePtr MindIR_QuantDTypeCast_CreatePrimitive(int64_t src_t, int64_t dst_t); +int64_t MindIR_QuantDTypeCast_GetSrcT(ConstPrimitivePtr primitive); +void MindIR_QuantDTypeCast_SetSrcT(PrimitivePtr *primitive, int64_t src_t); +int64_t MindIR_QuantDTypeCast_GetDstT(ConstPrimitivePtr primitive); +void MindIR_QuantDTypeCast_SetDstT(PrimitivePtr *primitive, int64_t dst_t); + +// ********** ReduceFusion ********** +PrimitivePtr MindIR_ReduceFusion_CreatePrimitive(bool keep_dims, ReduceMode mode, bool reduce_to_end, float coeff); +bool MindIR_ReduceFusion_GetKeepDims(ConstPrimitivePtr primitive); +void MindIR_ReduceFusion_SetKeepDims(PrimitivePtr *primitive, bool keep_dims); +ReduceMode MindIR_ReduceFusion_GetMode(ConstPrimitivePtr primitive); +void MindIR_ReduceFusion_SetMode(PrimitivePtr *primitive, ReduceMode mode); +bool MindIR_ReduceFusion_GetReduceToEnd(ConstPrimitivePtr primitive); +void MindIR_ReduceFusion_SetReduceToEnd(PrimitivePtr *primitive, bool reduce_to_end); +float MindIR_ReduceFusion_GetCoeff(ConstPrimitivePtr primitive); +void MindIR_ReduceFusion_SetCoeff(PrimitivePtr *primitive, float coeff); + +// ********** Reshape ********** +PrimitivePtr MindIR_Reshape_CreatePrimitive(); + +// ********** Resize ********** +PrimitivePtr MindIR_Resize_CreatePrimitive(ResizeMethod method, int64_t new_height, int64_t new_width, + bool preserve_aspect_ratio, + CoordinateTransformMode coordinate_transform_mode, float cubic_coeff, + int64_t exclude_outside, float extrapolation_value, + NearestMode nearest_mode); +ResizeMethod MindIR_Resize_GetMethod(ConstPrimitivePtr primitive); +void MindIR_Resize_SetMethod(PrimitivePtr *primitive, ResizeMethod method); +int64_t MindIR_Resize_GetNewHeight(ConstPrimitivePtr primitive); +void MindIR_Resize_SetNewHeight(PrimitivePtr *primitive, int64_t new_height); +int64_t MindIR_Resize_GetNewWidth(ConstPrimitivePtr primitive); +void MindIR_Resize_SetNewWidth(PrimitivePtr *primitive, int64_t new_width); +bool MindIR_Resize_GetPreserveAspectRatio(ConstPrimitivePtr primitive); +void MindIR_Resize_SetPreserveAspectRatio(PrimitivePtr *primitive, bool preserve_aspect_ratio); +CoordinateTransformMode MindIR_Resize_GetCoordinateTransformMode(ConstPrimitivePtr primitive); +void MindIR_Resize_SetCoordinateTransformMode(PrimitivePtr *primitive, + CoordinateTransformMode coordinate_transform_mode); +float MindIR_Resize_GetCubicCoeff(ConstPrimitivePtr primitive); +void MindIR_Resize_SetCubicCoeff(PrimitivePtr *primitive, float cubic_coeff); +int64_t MindIR_Resize_GetExcludeOutside(ConstPrimitivePtr primitive); +void MindIR_Resize_SetExcludeOutside(PrimitivePtr *primitive, int64_t exclude_outside); +float MindIR_Resize_GetExtrapolationValue(ConstPrimitivePtr primitive); +void MindIR_Resize_SetExtrapolationValue(PrimitivePtr *primitive, float extrapolation_value); +NearestMode MindIR_Resize_GetNearestMode(ConstPrimitivePtr primitive); +void MindIR_Resize_SetNearestMode(PrimitivePtr *primitive, NearestMode nearest_mode); + +// ********** Rsqrt ********** +PrimitivePtr MindIR_Rsqrt_CreatePrimitive(); + +// ********** ScaleFusion ********** +PrimitivePtr MindIR_ScaleFusion_CreatePrimitive(int64_t axis, ActivationType activation_type); +int64_t MindIR_ScaleFusion_GetAxis(ConstPrimitivePtr primitive); +void MindIR_ScaleFusion_SetAxis(PrimitivePtr *primitive, int64_t axis); +ActivationType MindIR_ScaleFusion_GetActivationType(ConstPrimitivePtr primitive); +void MindIR_ScaleFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type); + +// ********** Shape ********** +PrimitivePtr MindIR_Shape_CreatePrimitive(); + +// ********** SliceFusion ********** +PrimitivePtr MindIR_SliceFusion_CreatePrimitive(const std::vector &axes); +std::vector MindIR_SliceFusion_GetAxes(ConstPrimitivePtr primitive); +void MindIR_SliceFusion_SetAxes(PrimitivePtr *primitive, const std::vector &axes); + +// ********** Softmax ********** +PrimitivePtr MindIR_Softmax_CreatePrimitive(const std::vector &axis); +std::vector MindIR_Softmax_GetAxis(ConstPrimitivePtr primitive); +void MindIR_Softmax_SetAxis(PrimitivePtr *primitive, const std::vector &axis); + +// ********** SpaceToBatchND ********** +PrimitivePtr MindIR_SpaceToBatchND_CreatePrimitive(const std::vector &block_shape, + const std::vector> &paddings); +std::vector MindIR_SpaceToBatchND_GetBlockShape(ConstPrimitivePtr primitive); +void MindIR_SpaceToBatchND_SetBlockShape(PrimitivePtr *primitive, const std::vector &block_shape); +std::vector> MindIR_SpaceToBatchND_GetPaddings(ConstPrimitivePtr primitive); +void MindIR_SpaceToBatchND_SetPaddings(PrimitivePtr *primitive, const std::vector> &paddings); + +// ********** Split ********** +PrimitivePtr MindIR_Split_CreatePrimitive(int64_t output_num, const std::vector &size_splits, int64_t axis); +int64_t MindIR_Split_GetOutputNum(ConstPrimitivePtr primitive); +void MindIR_Split_SetOutputNum(PrimitivePtr *primitive, int64_t output_num); +std::vector MindIR_Split_GetSizeSplits(ConstPrimitivePtr primitive); +void MindIR_Split_SetSizeSplits(PrimitivePtr *primitive, const std::vector &size_splits); +int64_t MindIR_Split_GetAxis(ConstPrimitivePtr primitive); +void MindIR_Split_SetAxis(PrimitivePtr *primitive, int64_t axis); + +// ********** Sqrt ********** +PrimitivePtr MindIR_Sqrt_CreatePrimitive(); + +// ********** SquaredDifference ********** +PrimitivePtr MindIR_SquaredDifference_CreatePrimitive(); + +// ********** Squeeze ********** +PrimitivePtr MindIR_Squeeze_CreatePrimitive(const std::vector &axis); +std::vector MindIR_Squeeze_GetAxis(ConstPrimitivePtr primitive); +void MindIR_Squeeze_SetAxis(PrimitivePtr *primitive, const std::vector &axis); + +// ********** Stack ********** +PrimitivePtr MindIR_Stack_CreatePrimitive(int64_t axis); +int64_t MindIR_Stack_GetAxis(ConstPrimitivePtr primitive); +void MindIR_Stack_SetAxis(PrimitivePtr *primitive, int64_t axis); + +// ********** StridedSlice ********** +PrimitivePtr MindIR_StridedSlice_CreatePrimitive(int64_t begin_mask, int64_t end_mask, int64_t ellipsis_mask, + int64_t new_axis_mask, int64_t shrink_axis_mask); +int64_t MindIR_StridedSlice_GetBeginMask(ConstPrimitivePtr primitive); +void MindIR_StridedSlice_SetBeginMask(PrimitivePtr *primitive, int64_t begin_mask); +int64_t MindIR_StridedSlice_GetEndMask(ConstPrimitivePtr primitive); +void MindIR_StridedSlice_SetEndMask(PrimitivePtr *primitive, int64_t end_mask); +int64_t MindIR_StridedSlice_GetEllipsisMask(ConstPrimitivePtr primitive); +void MindIR_StridedSlice_SetEllipsisMask(PrimitivePtr *primitive, int64_t ellipsis_mask); +int64_t MindIR_StridedSlice_GetNewAxisMask(ConstPrimitivePtr primitive); +void MindIR_StridedSlice_SetNewAxisMask(PrimitivePtr *primitive, int64_t new_axis_mask); +int64_t MindIR_StridedSlice_GetShrinkAxisMask(ConstPrimitivePtr primitive); +void MindIR_StridedSlice_SetShrinkAxisMask(PrimitivePtr *primitive, int64_t shrink_axis_mask); + +// ********** SubFusion ********** +PrimitivePtr MindIR_SubFusion_CreatePrimitive(ActivationType activation_type); +ActivationType MindIR_SubFusion_GetActivationType(ConstPrimitivePtr primitive); +void MindIR_SubFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type); + +// ********** TileFusion ********** +PrimitivePtr MindIR_TileFusion_CreatePrimitive(const std::vector &dims); +std::vector MindIR_TileFusion_GetDims(ConstPrimitivePtr primitive); +void MindIR_TileFusion_SetDims(PrimitivePtr *primitive, const std::vector &dims); + +// ********** TopKFusion ********** +PrimitivePtr MindIR_TopKFusion_CreatePrimitive(bool sorted, int64_t axis); +bool MindIR_TopKFusion_GetSorted(ConstPrimitivePtr primitive); +void MindIR_TopKFusion_SetSorted(PrimitivePtr *primitive, bool sorted); +int64_t MindIR_TopKFusion_GetAxis(ConstPrimitivePtr primitive); +void MindIR_TopKFusion_SetAxis(PrimitivePtr *primitive, int64_t axis); + +// ********** Transpose ********** +PrimitivePtr MindIR_Transpose_CreatePrimitive(); + +// ********** Unsqueeze ********** +PrimitivePtr MindIR_Unsqueeze_CreatePrimitive(const std::vector &axis); +std::vector MindIR_Unsqueeze_GetAxis(ConstPrimitivePtr primitive); +void MindIR_Unsqueeze_SetAxis(PrimitivePtr *primitive, const std::vector &axis); + +// ********** Custom ********** +std::vector MindIR_Custom_GetAttr(ConstPrimitivePtr primitive); +std::string MindIR_Attribute_GetName(const mindspore::schema::Attribute &attr); +std::vector MindIR_Attribute_GetData(const mindspore::schema::Attribute &attr); +} // namespace lite +} // namespace mindspore +#endif diff --git a/mindspore/lite/mindir/include/mindir_lite_graph.h b/mindspore/lite/mindir/include/mindir_lite_graph.h new file mode 100644 index 00000000..24684914 --- /dev/null +++ b/mindspore/lite/mindir/include/mindir_lite_graph.h @@ -0,0 +1,57 @@ +#ifndef LITE_NNRT_NNRT_LITE_GRAPH_H +#define LITE_NNRT_NNRT_LITE_GRAPH_H +#include +#include +#include +namespace mindspore { +namespace lite { + +typedef void *PrimitivePtr; +typedef const void *ConstPrimitivePtr; + +typedef void *TensorPtr; +typedef const void *ConstTensorPtr; + +struct LiteGraph { + struct Node { + std::string name_; + std::string op_type_; // hnn no use + int node_type_; // hnn no use + PrimitivePtr primitive_ = nullptr; + std::shared_ptr base_operator_ = nullptr; // hnn no use + std::vector input_indices_; + std::vector output_indices_; + int quant_type_; + int device_type_ = -1; // hnn no use + }; + + struct SubGraph { + std::string name_; + std::vector input_indices_; + std::vector output_indices_; + std::vector node_indices_; + std::vector tensor_indices_; // hnn no use + }; + + std::string name_; + std::string version_; // hnn no use + std::vector input_indices_; + std::vector output_indices_; + std::vector all_tensors_; + std::vector all_nodes_; + std::vector sub_graphs_; +#ifdef ENABLE_MODEL_OBF + std::vector all_prims_type_; // hnn no use + std::vector all_nodes_stat_; // hnn no use + bool model_obfuscated_ = false; // hnn no use + std::vector deobf_prims_; // hnn no use +#endif +}; + +void MindIR_LiteGraph_Destroy(LiteGraph **lite_graph); +size_t MindIR_LiteGraph_GetConstTensorSize(const LiteGraph *lite_graph); + +} // namespace lite +} // namespace mindspore + +#endif // LITE_NNRT_NNRT_LITE_GRAPH_H diff --git a/mindspore/lite/mindir/include/mindir_primitive.h b/mindspore/lite/mindir/include/mindir_primitive.h new file mode 100644 index 00000000..b67c608a --- /dev/null +++ b/mindspore/lite/mindir/include/mindir_primitive.h @@ -0,0 +1,15 @@ +#ifndef MINDIR_MINDIR_PRIMITIVE_H +#define MINDIR_MINDIR_PRIMITIVE_H +#include "mindir_lite_graph.h" +#include "mindir_types.h" + +namespace mindspore { +namespace lite { + +// ********** PrimitiveBase ********** +NodeType MindIR_Primitive_GetType(PrimitivePtr primitive); +void MindIR_Primitive_Destroy(PrimitivePtr *primitive); + +} // namespace lite +} // namespace mindspore +#endif // MINDIR_MINDIR_PRIMITIVE_H diff --git a/mindspore/lite/mindir/include/mindir_tensor.h b/mindspore/lite/mindir/include/mindir_tensor.h new file mode 100644 index 00000000..836bc8af --- /dev/null +++ b/mindspore/lite/mindir/include/mindir_tensor.h @@ -0,0 +1,61 @@ +#ifndef LITE_TENSOR_H +#define LITE_TENSOR_H +#include "mindir_lite_graph.h" +#include "mindir_types.h" + +namespace OHOS { +namespace HDI { +namespace Nnrt { +namespace V1_0 { +struct SharedBuffer; +} // namespace V1_0 +} // namespace Nnrt +} // namespace HDI +} // namespace OHOS + +namespace OHOS { +namespace HDI { +namespace Nnrt { +namespace V2_0 { +struct SharedBuffer; +} // namespace V2_0 +} // namespace Nnrt +} // namespace HDI +} // namespace OHOS + +namespace mindspore { +namespace lite { + +// ********** Tensor ********** +TensorPtr MindIR_Tensor_Create(); +TensorPtr MindIR_Tensor_Create(const std::string &name, DataType data_type, const std::vector &dims, + Format format, const std::vector &data, + const std::vector &quant_params); +std::string MindIR_Tensor_GetName(ConstTensorPtr tensor); +void MindIR_Tensor_SetName(TensorPtr *tensor, const std::string &name); +DataType MindIR_Tensor_GetDataType(ConstTensorPtr tensor); +void MindIR_Tensor_SetDataType(TensorPtr *tensor, DataType data_type); +std::vector MindIR_Tensor_GetDims(ConstTensorPtr tensor); +void MindIR_Tensor_SetDims(TensorPtr *tensor, const std::vector &dims); +Format MindIR_Tensor_GetFormat(ConstTensorPtr tensor); +void MindIR_Tensor_SetFormat(TensorPtr *tensor, Format format); + +OHOS::HDI::Nnrt::V1_0::SharedBuffer MindIR_Tensor_GetData(ConstTensorPtr tensor, + const OHOS::HDI::Nnrt::V1_0::SharedBuffer &buffer_templete, + uint8_t *mmap_ptr, unsigned int offset); + +OHOS::HDI::Nnrt::V2_0::SharedBuffer MindIR_Tensor_GetData_V2_0(ConstTensorPtr tensor, + const OHOS::HDI::Nnrt::V2_0::SharedBuffer &buffer_templete, + uint8_t *mmap_ptr, unsigned int offset); + +void MindIR_Tensor_SetData(TensorPtr *tensor, const std::vector &data); +std::vector MindIR_Tensor_GetData(ConstTensorPtr tensor); +std::vector MindIR_Tensor_GetQuantParams(ConstTensorPtr tensor); +void MindIR_Tensor_SetQuantParams(TensorPtr *tensor, const std::vector &quant_params); + +void MindIR_Tensor_Destroy(TensorPtr *tensor); + +} // namespace lite +} // namespace mindspore + +#endif // LITE_TENSOR_H diff --git a/mindspore/lite/mindir/include/mindir_types.h b/mindspore/lite/mindir/include/mindir_types.h new file mode 100644 index 00000000..ad272f8e --- /dev/null +++ b/mindspore/lite/mindir/include/mindir_types.h @@ -0,0 +1,211 @@ +/** + * Copyright 2021 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_LITE_TYPES_H +#define MINDSPORE_LITE_TYPES_H +#include +namespace mindspore { +namespace lite { + +struct QuantParam { + int32_t zeroPoint; + double scale; + int numBits; +}; + +enum DataType : int8_t { + DATA_TYPE_UNKNOWN = 0, + DATA_TYPE_BOOL = 30, + DATA_TYPE_INT8 = 32, + DATA_TYPE_INT16 = 33, + DATA_TYPE_INT32 = 34, + DATA_TYPE_INT64 = 35, + DATA_TYPE_UINT8 = 37, + DATA_TYPE_UINT16 = 38, + DATA_TYPE_UINT32 = 39, + DATA_TYPE_UINT64 = 40, + DATA_TYPE_FLOAT16 = 42, + DATA_TYPE_FLOAT32 = 43, + DATA_TYPE_FLOAT64 = 44, +}; + +enum Format : int8_t { + FORMAT_NCHW = 0, + FORMAT_NHWC = 1, +}; + +enum QuantType : int8_t { + QUANT_TYPE_NONE, + QUANT_TYPE_ALL, +}; + +enum NodeType : uint32_t { + NODE_TYPE_NONE = 0, + NODE_TYPE_ACTIVATION = 2, + NODE_TYPE_ADD_FUSION = 5, + NODE_TYPE_ARGMAX_FUSION = 11, + NODE_TYPE_AVG_POOL_FUSION = 17, + NODE_TYPE_BATCH_TO_SPACE_ND = 22, + NODE_TYPE_BIAS_ADD = 23, + NODE_TYPE_CAST = 28, + NODE_TYPE_CONCAT = 31, + NODE_TYPE_CONV2D_FUSION = 35, + NODE_TYPE_CONV2D_TRANSPOSE_FUSION = 36, + NODE_TYPE_DIV_FUSION = 47, + NODE_TYPE_ELTWISE = 52, + NODE_TYPE_EXPAND_DIMS = 56, + NODE_TYPE_FILL = 66, + NODE_TYPE_FULL_CONNECTION = 67, + NODE_TYPE_FUSED_BATCH_NORM = 68, + NODE_TYPE_GATHER = 69, + NODE_TYPE_LAYER_NORM_FUSION = 75, + NODE_TYPE_LESS_EQUAL = 78, + NODE_TYPE_MATMUL_FUSION = 89, + NODE_TYPE_MAXIMUM = 90, + NODE_TYPE_MAX_POOL_FUSION = 92, + NODE_TYPE_MUL_FUSION = 99, + NODE_TYPE_ONE_HOT = 105, + NODE_TYPE_PAD_FUSION = 107, + NODE_TYPE_POW_FUSION = 110, + NODE_TYPE_PRELU_FUSION = 112, + NODE_TYPE_QUANT_DTYPE_CAST = 113, + NODE_TYPE_REDUCE_FUSION = 118, + NODE_TYPE_RESHAPE = 119, + NODE_TYPE_RESIZE = 120, + NODE_TYPE_RSQRT = 126, + NODE_TYPE_SCALE_FUSION = 127, + NODE_TYPE_SHAPE = 130, + NODE_TYPE_SLICE_FUSION = 135, + NODE_TYPE_SOFTMAX = 138, + NODE_TYPE_SPACE_TO_BATCH_ND = 141, + NODE_TYPE_SPLIT = 145, + NODE_TYPE_SQRT = 146, + NODE_TYPE_SQUEEZE = 147, + NODE_TYPE_SQUARED_DIFFERENCE = 149, + NODE_TYPE_STACK = 150, + NODE_TYPE_STRIDED_SLICE = 151, + NODE_TYPE_SUB_FUSION = 152, + NODE_TYPE_TILE_FUSION = 160, + NODE_TYPE_TOPK_FUSION = 161, + NODE_TYPE_TRANSPOSE = 162, + NODE_TYPE_UNSQUEEZE = 165, + NODE_TYPE_CUSTOM = 191, +}; + +enum ResizeMethod : int8_t { + RESIZE_METHOD_UNKNOWN = -1, + RESIZE_METHOD_LINEAR = 0, + RESIZE_METHOD_NEAREST = 1, + RESIZE_METHOD_CUBIC = 2, +}; + +enum CoordinateTransformMode : int8_t { + COORDINATE_TRANSFORM_MODE_ASYMMETRIC = 0, + COORDINATE_TRANSFORM_MODE_ALIGN_CORNERS = 1, + COORDINATE_TRANSFORM_MODE_HALF_PIXEL = 2, +}; + +enum NearestMode : int8_t { + NEAREST_MODE_NORMAL = 0, + NEAREST_MODE_ROUND_HALF_DOWN = 1, + NEAREST_MODE_ROUND_HALF_UP = 2, + NEAREST_MODE_FLOOR = 3, + NEAREST_MODE_CEIL = 4, +}; + +enum ActivationType : int8_t { + ACTIVATION_TYPE_NO_ACTIVATION = 0, + ACTIVATION_TYPE_RELU = 1, + ACTIVATION_TYPE_SIGMOID = 2, + ACTIVATION_TYPE_RELU6 = 3, + ACTIVATION_TYPE_ELU = 4, + ACTIVATION_TYPE_LEAKY_RELU = 5, + ACTIVATION_TYPE_ABS = 6, + ACTIVATION_TYPE_RELU1 = 7, + ACTIVATION_TYPE_SOFTSIGN = 8, + ACTIVATION_TYPE_SOFTPLUS = 9, + ACTIVATION_TYPE_TANH = 10, + ACTIVATION_TYPE_SELU = 11, + ACTIVATION_TYPE_HSWISH = 12, + ACTIVATION_TYPE_HSIGMOID = 13, + ACTIVATION_TYPE_THRESHOLDRELU = 14, + ACTIVATION_TYPE_LINEAR = 15, + ACTIVATION_TYPE_HARD_TANH = 16, + ACTIVATION_TYPE_SIGN = 17, + ACTIVATION_TYPE_SWISH = 18, + ACTIVATION_TYPE_GELU = 19, + ACTIVATION_TYPE_UNKNOWN = 20, +}; + +enum ReduceMode : int8_t { + REDUCE_MODE_MEAN = 0, + REDUCE_MODE_MAX = 1, + REDUCE_MODE_MIN = 2, + REDUCE_MODE_PROD = 3, + REDUCE_MODE_SUM = 4, + REDUCE_MODE_SUM_SQUARE = 5, + REDUCE_MODE_ASUM = 6, + REDUCE_MODE_ALL = 7, +}; + +enum PoolMode : int8_t { + POOL_MODE_MAX_POOLING = 0, + POOL_MODE_MEAN_POOLING = 1, +}; + +enum EltwiseMode : int8_t { + ELTWISE_MODE_PROD = 0, + ELTWISE_MODE_SUM = 1, + ELTWISE_MODE_MAXIMUM = 2, + ELTWISE_MODE_UNKNOWN = 3, +}; + +enum PadMode : int8_t { + PAD_MODE_PAD = 0, + PAD_MODE_SAME = 1, + PAD_MODE_VALID = 2, +}; + +enum RoundMode : int8_t { + ROUND_MODE_FLOOR = 0, + ROUND_MODE_CEIL = 1, +}; + +enum PaddingMode : int8_t { + PADDING_MODE_CONSTANT = 0, + PADDING_MODE_REFLECT = 1, + PADDING_MODE_SYMMETRIC = 2, + PADDING_MODE_RESERVED = 3, +}; + +enum LshProjectionType : int8_t { + UNKNOWN = 0, + SPARSE = 1, + DENSE = 2, +}; + +enum Reduction : int8_t { + REDUCTION_SUM = 0, + MEAN = 1, + NONE = 2, +}; + +struct Attribute { + std::string name; + uint32_t data; +}; +} // namespace lite +} // namespace mindspore +#endif // MIDIR_LITE_TYPES_H diff --git a/mindspore/lite/mindir/inner_headers/lite_graph.h b/mindspore/lite/mindir/inner_headers/lite_graph.h new file mode 100644 index 00000000..f2599cc9 --- /dev/null +++ b/mindspore/lite/mindir/inner_headers/lite_graph.h @@ -0,0 +1,27 @@ +/** + * Copyright 2021 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MIDIR_LITE_LITE_GRAPH_H +#define MIDIR_LITE_LITE_GRAPH_H +#include + +namespace mindspore { +namespace lite { + +std::vector Convert(NodeType type, PrimitivePtr primitive); + +} // namespace lite +} // namespace mindspore +#endif // MIDIR_LITE_LITE_GRAPH_H diff --git a/mindspore/lite/mindir/inner_headers/mindir_memory_manager.h b/mindspore/lite/mindir/inner_headers/mindir_memory_manager.h new file mode 100644 index 00000000..29ef0b31 --- /dev/null +++ b/mindspore/lite/mindir/inner_headers/mindir_memory_manager.h @@ -0,0 +1,33 @@ +#ifndef LITE_MINDIR_MEMORY_MANAGER_H +#define LITE_MINDIR_MEMORY_MANAGER_H +#include +#include +#include +#include +#include "include/errorcode.h" +#include "schema/model_generated.h" +#include "mindir_lite_graph.h" +// using namespace OHOS::HDI::Nnrt::V1_0; + +namespace mindspore { +namespace lite { +class MindIRMemoryManager { + public: + static MindIRMemoryManager *GetInstance(); + ~MindIRMemoryManager() = default; + void *CreateTensorFromBuilder(flatbuffers::FlatBufferBuilder &fbb_new, schema::Tensor *tensor); + void DeleteTensor(schema::Tensor *tensor); + void *CreatePrimitiveFromBuilder(flatbuffers::FlatBufferBuilder &fbb_new, schema::Primitive *primitive); + void DeletePrimitive(schema::Primitive *primitive); + void ClearAllMemory(); + + private: + MindIRMemoryManager() = default; + static void *CopyFbbToNewMemory(flatbuffers::FlatBufferBuilder &fbb_new); + std::map primitive_map; + std::map tensor_map; + std::mutex mutex; +}; +} // namespace lite +} // namespace mindspore +#endif // LITE_MINDIR_MEMORY_MANAGER_H diff --git a/mindspore/lite/mindir/inner_headers/utils.h b/mindspore/lite/mindir/inner_headers/utils.h new file mode 100644 index 00000000..0e6eb35d --- /dev/null +++ b/mindspore/lite/mindir/inner_headers/utils.h @@ -0,0 +1,28 @@ +#ifndef MIDIR_LITE_UTILS_H +#define MIDIR_LITE_UTILS_H +#include "mindir_types.h" +#include "mindir_lite_graph.h" +#include "schema/model_generated.h" +namespace mindspore { +namespace lite { + +// ********** PrimitiveBase ********** +PrimitivePtr MindIR_CreatePrimitiveFromBuilder(flatbuffers::FlatBufferBuilder &fbb); + +flatbuffers::Offset CreateVec2D(flatbuffers::FlatBufferBuilder &fbb, + const std::vector> &data); +flatbuffers::Offset CreateVec2D(flatbuffers::FlatBufferBuilder &fbb, + const mindspore::schema::Vec2D *data); + +mindspore::schema::PrimitiveType MindIR_GetPrimitiveType(PrimitivePtr prim); + +flatbuffers::Offset>> ConvertQuantParams( + flatbuffers::FlatBufferBuilder &fbb, const std::vector &quant_params); + +flatbuffers::Offset>> ConvertQuantParams( + flatbuffers::FlatBufferBuilder &fbb, + const flatbuffers::Vector> *quant_params); + +} // namespace lite +} // namespace mindspore +#endif // MIDIR_LITE_UTILS_H diff --git a/mindspore/lite/mindir/src/mindir.cc b/mindspore/lite/mindir/src/mindir.cc new file mode 100644 index 00000000..7fc9c00e --- /dev/null +++ b/mindspore/lite/mindir/src/mindir.cc @@ -0,0 +1,4339 @@ +/** + * Copyright 2021 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "mindir.h" +#include "utils.h" +#include "schema/model_generated.h" +#include "mindir_memory_manager.h" +//----TODO---write an example to run MindIRMemoryManager +namespace mindspore { +namespace lite { + +// ********** Activation ********** +PrimitivePtr MindIR_Activation_CreatePrimitive(ActivationType activation_type, float alpha, float min_val, + float max_val, bool approximate) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateActivation(fbb, static_cast(activation_type), alpha, min_val, + max_val, approximate); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_ACTIVATION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +ActivationType MindIR_Activation_GetActivationType(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Activation(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->activation_type()); + } else { + ActivationType en = static_cast(0); + return en; + } + } else { + ActivationType en = static_cast(0); + return en; + } +} + +void MindIR_Activation_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Activation(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreateActivation(fbb, static_cast(activation_type), value->alpha(), + value->min_val(), value->max_val(), value->approximate()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_ACTIVATION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +float MindIR_Activation_GetAlpha(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Activation(); + if (prim != nullptr && value != nullptr) { + return value->alpha(); + } else { + return .0; + } + } else { + return .0; + } +} + +void MindIR_Activation_SetAlpha(PrimitivePtr *primitive, float alpha) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Activation(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateActivation(fbb, static_cast(value->activation_type()), + alpha, value->min_val(), value->max_val(), value->approximate()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_ACTIVATION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +float MindIR_Activation_GetMinVal(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Activation(); + if (prim != nullptr && value != nullptr) { + return value->min_val(); + } else { + return .0; + } + } else { + return .0; + } +} + +void MindIR_Activation_SetMinVal(PrimitivePtr *primitive, float min_val) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Activation(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateActivation(fbb, static_cast(value->activation_type()), + value->alpha(), min_val, value->max_val(), value->approximate()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_ACTIVATION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +float MindIR_Activation_GetMaxVal(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Activation(); + if (prim != nullptr && value != nullptr) { + return value->max_val(); + } else { + return .0; + } + } else { + return .0; + } +} + +void MindIR_Activation_SetMaxVal(PrimitivePtr *primitive, float max_val) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Activation(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateActivation(fbb, static_cast(value->activation_type()), + value->alpha(), value->min_val(), max_val, value->approximate()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_ACTIVATION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +bool MindIR_Activation_GetApproximate(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Activation(); + if (prim != nullptr && value != nullptr) { + return value->approximate(); + } else { + return false; + } + } else { + return false; + } +} + +void MindIR_Activation_SetApproximate(PrimitivePtr *primitive, bool approximate) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Activation(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateActivation(fbb, static_cast(value->activation_type()), + value->alpha(), value->min_val(), value->max_val(), approximate); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_ACTIVATION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** AddFusion ********** +PrimitivePtr MindIR_AddFusion_CreatePrimitive(ActivationType activation_type) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateAddFusion(fbb, static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_ADD_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +ActivationType MindIR_AddFusion_GetActivationType(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_AddFusion(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->activation_type()); + } else { + ActivationType en = static_cast(0); + return en; + } + } else { + ActivationType en = static_cast(0); + return en; + } +} + +void MindIR_AddFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_AddFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateAddFusion(fbb, static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_ADD_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** ArgMaxFusion ********** +PrimitivePtr MindIR_ArgMaxFusion_CreatePrimitive(int64_t axis, int64_t top_k, bool keep_dims, bool out_max_value) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateArgMaxFusion(fbb, axis, top_k, keep_dims, out_max_value); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_ARGMAX_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +int64_t MindIR_ArgMaxFusion_GetAxis(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_ArgMaxFusion(); + if (prim != nullptr && value != nullptr) { + return value->axis(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_ArgMaxFusion_SetAxis(PrimitivePtr *primitive, int64_t axis) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_ArgMaxFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreateArgMaxFusion(fbb, axis, value->top_k(), value->keep_dims(), value->out_max_value()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_ARGMAX_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +int64_t MindIR_ArgMaxFusion_GetTopK(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_ArgMaxFusion(); + if (prim != nullptr && value != nullptr) { + return value->top_k(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_ArgMaxFusion_SetTopK(PrimitivePtr *primitive, int64_t top_k) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_ArgMaxFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreateArgMaxFusion(fbb, value->axis(), top_k, value->keep_dims(), value->out_max_value()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_ARGMAX_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +bool MindIR_ArgMaxFusion_GetKeepDims(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_ArgMaxFusion(); + if (prim != nullptr && value != nullptr) { + return value->keep_dims(); + } else { + return false; + } + } else { + return false; + } +} + +void MindIR_ArgMaxFusion_SetKeepDims(PrimitivePtr *primitive, bool keep_dims) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_ArgMaxFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreateArgMaxFusion(fbb, value->axis(), value->top_k(), keep_dims, value->out_max_value()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_ARGMAX_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +bool MindIR_ArgMaxFusion_GetOutMaxValue(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_ArgMaxFusion(); + if (prim != nullptr && value != nullptr) { + return value->out_max_value(); + } else { + return false; + } + } else { + return false; + } +} + +void MindIR_ArgMaxFusion_SetOutMaxValue(PrimitivePtr *primitive, bool out_max_value) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_ArgMaxFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreateArgMaxFusion(fbb, value->axis(), value->top_k(), value->keep_dims(), out_max_value); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_ARGMAX_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** AvgPoolFusion ********** +PrimitivePtr MindIR_AvgPoolFusion_CreatePrimitive(const std::vector &kernel_size, + const std::vector &strides, const std::vector &pad, + PadMode pad_mode, RoundMode round_mode, Format format, bool global, + ActivationType activation_type) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateAvgPoolFusion( + fbb, fbb.CreateVector(kernel_size.data(), kernel_size.size()), fbb.CreateVector(strides.data(), strides.size()), + fbb.CreateVector(pad.data(), pad.size()), static_cast(pad_mode), + static_cast(round_mode), static_cast(format), global, + static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_AVG_POOL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +std::vector MindIR_AvgPoolFusion_GetKernelSize(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_AvgPoolFusion(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->kernel_size(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_AvgPoolFusion_SetKernelSize(PrimitivePtr *primitive, const std::vector &kernel_size) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_AvgPoolFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateAvgPoolFusion( + fbb, fbb.CreateVector(kernel_size.data(), kernel_size.size()), + fbb.CreateVector(value->strides()->data(), value->strides()->size()), + fbb.CreateVector(value->pad()->data(), value->pad()->size()), static_cast(value->pad_mode()), + static_cast(value->round_mode()), static_cast(value->format()), + value->global(), static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_AVG_POOL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +std::vector MindIR_AvgPoolFusion_GetStrides(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_AvgPoolFusion(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->strides(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_AvgPoolFusion_SetStrides(PrimitivePtr *primitive, const std::vector &strides) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_AvgPoolFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateAvgPoolFusion( + fbb, fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(strides.data(), strides.size()), fbb.CreateVector(value->pad()->data(), value->pad()->size()), + static_cast(value->pad_mode()), static_cast(value->round_mode()), + static_cast(value->format()), value->global(), + static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_AVG_POOL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +std::vector MindIR_AvgPoolFusion_GetPad(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_AvgPoolFusion(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->pad(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_AvgPoolFusion_SetPad(PrimitivePtr *primitive, const std::vector &pad) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_AvgPoolFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateAvgPoolFusion( + fbb, fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->strides()->data(), value->strides()->size()), fbb.CreateVector(pad.data(), pad.size()), + static_cast(value->pad_mode()), static_cast(value->round_mode()), + static_cast(value->format()), value->global(), + static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_AVG_POOL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +PadMode MindIR_AvgPoolFusion_GetPadMode(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_AvgPoolFusion(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->pad_mode()); + } else { + PadMode en = static_cast(0); + return en; + } + } else { + PadMode en = static_cast(0); + return en; + } +} + +void MindIR_AvgPoolFusion_SetPadMode(PrimitivePtr *primitive, PadMode pad_mode) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_AvgPoolFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateAvgPoolFusion( + fbb, fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->strides()->data(), value->strides()->size()), + fbb.CreateVector(value->pad()->data(), value->pad()->size()), static_cast(pad_mode), + static_cast(value->round_mode()), static_cast(value->format()), + value->global(), static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_AVG_POOL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +RoundMode MindIR_AvgPoolFusion_GetRoundMode(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_AvgPoolFusion(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->round_mode()); + } else { + RoundMode en = static_cast(0); + return en; + } + } else { + RoundMode en = static_cast(0); + return en; + } +} + +void MindIR_AvgPoolFusion_SetRoundMode(PrimitivePtr *primitive, RoundMode round_mode) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_AvgPoolFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateAvgPoolFusion( + fbb, fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->strides()->data(), value->strides()->size()), + fbb.CreateVector(value->pad()->data(), value->pad()->size()), static_cast(value->pad_mode()), + static_cast(round_mode), static_cast(value->format()), value->global(), + static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_AVG_POOL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +Format MindIR_AvgPoolFusion_GetFormat(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_AvgPoolFusion(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->format()); + } else { + Format en = static_cast(0); + return en; + } + } else { + Format en = static_cast(0); + return en; + } +} + +void MindIR_AvgPoolFusion_SetFormat(PrimitivePtr *primitive, Format format) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_AvgPoolFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateAvgPoolFusion( + fbb, fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->strides()->data(), value->strides()->size()), + fbb.CreateVector(value->pad()->data(), value->pad()->size()), static_cast(value->pad_mode()), + static_cast(value->round_mode()), static_cast(format), value->global(), + static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_AVG_POOL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +bool MindIR_AvgPoolFusion_GetGlobal(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_AvgPoolFusion(); + if (prim != nullptr && value != nullptr) { + return value->global(); + } else { + return false; + } + } else { + return false; + } +} + +void MindIR_AvgPoolFusion_SetGlobal(PrimitivePtr *primitive, bool global) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_AvgPoolFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateAvgPoolFusion( + fbb, fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->strides()->data(), value->strides()->size()), + fbb.CreateVector(value->pad()->data(), value->pad()->size()), static_cast(value->pad_mode()), + static_cast(value->round_mode()), static_cast(value->format()), global, + static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_AVG_POOL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +ActivationType MindIR_AvgPoolFusion_GetActivationType(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_AvgPoolFusion(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->activation_type()); + } else { + ActivationType en = static_cast(0); + return en; + } + } else { + ActivationType en = static_cast(0); + return en; + } +} + +void MindIR_AvgPoolFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_AvgPoolFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateAvgPoolFusion( + fbb, fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->strides()->data(), value->strides()->size()), + fbb.CreateVector(value->pad()->data(), value->pad()->size()), static_cast(value->pad_mode()), + static_cast(value->round_mode()), static_cast(value->format()), + value->global(), static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_AVG_POOL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** BatchToSpaceND ********** +PrimitivePtr MindIR_BatchToSpaceND_CreatePrimitive(const std::vector &block_shape, + const std::vector> &crops) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateBatchToSpaceND(fbb, fbb.CreateVector(block_shape.data(), block_shape.size()), + CreateVec2D(fbb, crops)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_BATCH_TO_SPACE_ND), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +std::vector MindIR_BatchToSpaceND_GetBlockShape(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_BatchToSpaceND(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->block_shape(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_BatchToSpaceND_SetBlockShape(PrimitivePtr *primitive, const std::vector &block_shape) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_BatchToSpaceND(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateBatchToSpaceND(fbb, fbb.CreateVector(block_shape.data(), block_shape.size()), + CreateVec2D(fbb, value->crops())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_BATCH_TO_SPACE_ND), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +std::vector> MindIR_BatchToSpaceND_GetCrops(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_BatchToSpaceND(); + if (prim != nullptr && value != nullptr) { + std::vector> out; + auto src = value->crops(); + for (auto sub_list : *src->data()) { + std::vector result_tmp; + result_tmp.resize(sub_list->data()->size()); + std::transform(sub_list->data()->begin(), sub_list->data()->end(), result_tmp.begin(), + [](int64_t item) { return item; }); + out.emplace_back(result_tmp); + } + return out; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_BatchToSpaceND_SetCrops(PrimitivePtr *primitive, const std::vector> &crops) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_BatchToSpaceND(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateBatchToSpaceND( + fbb, fbb.CreateVector(value->block_shape()->data(), value->block_shape()->size()), CreateVec2D(fbb, crops)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_BATCH_TO_SPACE_ND), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** BiasAdd ********** +PrimitivePtr MindIR_BiasAdd_CreatePrimitive() { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateBiasAdd(fbb); + auto prim_offset = schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_BIAS_ADD), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} + +// ********** Cast ********** +PrimitivePtr MindIR_Cast_CreatePrimitive() { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateCast(fbb); + auto prim_offset = schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_CAST), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} + +// ********** Concat ********** +PrimitivePtr MindIR_Concat_CreatePrimitive(int64_t axis) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConcat(fbb, axis); + auto prim_offset = schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_CONCAT), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +int64_t MindIR_Concat_GetAxis(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Concat(); + if (prim != nullptr && value != nullptr) { + return value->axis(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_Concat_SetAxis(PrimitivePtr *primitive, int64_t axis) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Concat(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConcat(fbb, axis); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_CONCAT), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** Conv2DFusion ********** +PrimitivePtr MindIR_Conv2DFusion_CreatePrimitive(const std::vector &kernel_size, + const std::vector &stride, + const std::vector &dilation, PadMode pad_mode, + const std::vector &pad_list, int64_t group, + int64_t in_channel, int64_t out_channel, + ActivationType activation_type) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2DFusion( + fbb, mindspore::schema::Format_NCHW, fbb.CreateVector(kernel_size.data(), kernel_size.size()), + fbb.CreateVector(stride.data(), stride.size()), fbb.CreateVector(dilation.data(), dilation.size()), + static_cast(pad_mode), fbb.CreateVector(pad_list.data(), pad_list.size()), 0, group, in_channel, + out_channel, static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_CONV2D_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +std::vector MindIR_Conv2DFusion_GetKernelSize(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2DFusion(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->kernel_size(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_Conv2DFusion_SetKernelSize(PrimitivePtr *primitive, const std::vector &kernel_size) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Conv2DFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2DFusion( + fbb, mindspore::schema::Format_NCHW, fbb.CreateVector(kernel_size.data(), kernel_size.size()), + fbb.CreateVector(value->stride()->data(), value->stride()->size()), + fbb.CreateVector(value->dilation()->data(), value->dilation()->size()), + static_cast(value->pad_mode()), + fbb.CreateVector(value->pad_list()->data(), value->pad_list()->size()), 0, value->group(), value->in_channel(), + value->out_channel(), static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_CONV2D_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +std::vector MindIR_Conv2DFusion_GetStride(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2DFusion(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->stride(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_Conv2DFusion_SetStride(PrimitivePtr *primitive, const std::vector &stride) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Conv2DFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2DFusion( + fbb, mindspore::schema::Format_NCHW, + fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(stride.data(), stride.size()), + fbb.CreateVector(value->dilation()->data(), value->dilation()->size()), + static_cast(value->pad_mode()), + fbb.CreateVector(value->pad_list()->data(), value->pad_list()->size()), 0, value->group(), value->in_channel(), + value->out_channel(), static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_CONV2D_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +std::vector MindIR_Conv2DFusion_GetDilation(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2DFusion(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->dilation(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_Conv2DFusion_SetDilation(PrimitivePtr *primitive, const std::vector &dilation) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Conv2DFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2DFusion( + fbb, mindspore::schema::Format_NCHW, + fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->stride()->data(), value->stride()->size()), + fbb.CreateVector(dilation.data(), dilation.size()), static_cast(value->pad_mode()), + fbb.CreateVector(value->pad_list()->data(), value->pad_list()->size()), 0, value->group(), value->in_channel(), + value->out_channel(), static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_CONV2D_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +PadMode MindIR_Conv2DFusion_GetPadMode(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2DFusion(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->pad_mode()); + } else { + PadMode en = static_cast(0); + return en; + } + } else { + PadMode en = static_cast(0); + return en; + } +} + +void MindIR_Conv2DFusion_SetPadMode(PrimitivePtr *primitive, PadMode pad_mode) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Conv2DFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2DFusion( + fbb, mindspore::schema::Format_NCHW, + fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->stride()->data(), value->stride()->size()), + fbb.CreateVector(value->dilation()->data(), value->dilation()->size()), static_cast(pad_mode), + fbb.CreateVector(value->pad_list()->data(), value->pad_list()->size()), 0, value->group(), value->in_channel(), + value->out_channel(), static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_CONV2D_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +std::vector MindIR_Conv2DFusion_GetPadList(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2DFusion(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->pad_list(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_Conv2DFusion_SetPadList(PrimitivePtr *primitive, const std::vector &pad_list) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Conv2DFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2DFusion( + fbb, mindspore::schema::Format_NCHW, + fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->stride()->data(), value->stride()->size()), + fbb.CreateVector(value->dilation()->data(), value->dilation()->size()), + static_cast(value->pad_mode()), fbb.CreateVector(pad_list.data(), pad_list.size()), 0, + value->group(), value->in_channel(), value->out_channel(), + static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_CONV2D_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +int64_t MindIR_Conv2DFusion_GetGroup(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2DFusion(); + if (prim != nullptr && value != nullptr) { + return value->group(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_Conv2DFusion_SetGroup(PrimitivePtr *primitive, int64_t group) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Conv2DFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2DFusion( + fbb, mindspore::schema::Format_NCHW, + fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->stride()->data(), value->stride()->size()), + fbb.CreateVector(value->dilation()->data(), value->dilation()->size()), + static_cast(value->pad_mode()), + fbb.CreateVector(value->pad_list()->data(), value->pad_list()->size()), 0, group, value->in_channel(), + value->out_channel(), static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_CONV2D_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +int64_t MindIR_Conv2DFusion_GetInChannel(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2DFusion(); + if (prim != nullptr && value != nullptr) { + return value->in_channel(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_Conv2DFusion_SetInChannel(PrimitivePtr *primitive, int64_t in_channel) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Conv2DFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2DFusion( + fbb, mindspore::schema::Format_NCHW, + fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->stride()->data(), value->stride()->size()), + fbb.CreateVector(value->dilation()->data(), value->dilation()->size()), + static_cast(value->pad_mode()), + fbb.CreateVector(value->pad_list()->data(), value->pad_list()->size()), 0, value->group(), in_channel, + value->out_channel(), static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_CONV2D_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +int64_t MindIR_Conv2DFusion_GetOutChannel(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2DFusion(); + if (prim != nullptr && value != nullptr) { + return value->out_channel(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_Conv2DFusion_SetOutChannel(PrimitivePtr *primitive, int64_t out_channel) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Conv2DFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2DFusion( + fbb, mindspore::schema::Format_NCHW, + fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->stride()->data(), value->stride()->size()), + fbb.CreateVector(value->dilation()->data(), value->dilation()->size()), + static_cast(value->pad_mode()), + fbb.CreateVector(value->pad_list()->data(), value->pad_list()->size()), 0, value->group(), value->in_channel(), + out_channel, static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_CONV2D_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +ActivationType MindIR_Conv2DFusion_GetActivationType(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2DFusion(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->activation_type()); + } else { + ActivationType en = static_cast(0); + return en; + } + } else { + ActivationType en = static_cast(0); + return en; + } +} + +void MindIR_Conv2DFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Conv2DFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2DFusion( + fbb, mindspore::schema::Format_NCHW, + fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->stride()->data(), value->stride()->size()), + fbb.CreateVector(value->dilation()->data(), value->dilation()->size()), + static_cast(value->pad_mode()), + fbb.CreateVector(value->pad_list()->data(), value->pad_list()->size()), 0, value->group(), value->in_channel(), + value->out_channel(), static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_CONV2D_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** Conv2dTransposeFusion ********** +PrimitivePtr MindIR_Conv2dTransposeFusion_CreatePrimitive( + const std::vector &kernel_size, const std::vector &stride, const std::vector &dilation, + PadMode pad_mode, const std::vector &pad_list, int64_t group, int64_t in_channel, int64_t out_channel, + ActivationType activation_type, const std::vector &output_paddings) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2dTransposeFusion( + fbb, mindspore::schema::Format_NCHW, fbb.CreateVector(kernel_size.data(), kernel_size.size()), + fbb.CreateVector(stride.data(), stride.size()), fbb.CreateVector(dilation.data(), dilation.size()), + static_cast(pad_mode), 0, fbb.CreateVector(pad_list.data(), pad_list.size()), 0, group, in_channel, + out_channel, static_cast(activation_type), + fbb.CreateVector(output_paddings.data(), output_paddings.size())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_CONV2D_TRANSPOSE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +std::vector MindIR_Conv2dTransposeFusion_GetKernelSize(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->kernel_size(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_Conv2dTransposeFusion_SetKernelSize(PrimitivePtr *primitive, const std::vector &kernel_size) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2dTransposeFusion( + fbb, mindspore::schema::Format_NCHW, fbb.CreateVector(kernel_size.data(), kernel_size.size()), + fbb.CreateVector(value->stride()->data(), value->stride()->size()), + fbb.CreateVector(value->dilation()->data(), value->dilation()->size()), + static_cast(value->pad_mode()), 0, + fbb.CreateVector(value->pad_list()->data(), value->pad_list()->size()), 0, value->group(), value->in_channel(), + value->out_channel(), static_cast(value->activation_type()), + fbb.CreateVector(value->output_paddings()->data(), value->output_paddings()->size())); + auto prim_offset = schema::CreatePrimitive( + fbb, static_cast(NODE_TYPE_CONV2D_TRANSPOSE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +std::vector MindIR_Conv2dTransposeFusion_GetStride(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->stride(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_Conv2dTransposeFusion_SetStride(PrimitivePtr *primitive, const std::vector &stride) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2dTransposeFusion( + fbb, mindspore::schema::Format_NCHW, + fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(stride.data(), stride.size()), + fbb.CreateVector(value->dilation()->data(), value->dilation()->size()), + static_cast(value->pad_mode()), 0, + fbb.CreateVector(value->pad_list()->data(), value->pad_list()->size()), 0, value->group(), value->in_channel(), + value->out_channel(), static_cast(value->activation_type()), + fbb.CreateVector(value->output_paddings()->data(), value->output_paddings()->size())); + auto prim_offset = schema::CreatePrimitive( + fbb, static_cast(NODE_TYPE_CONV2D_TRANSPOSE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +std::vector MindIR_Conv2dTransposeFusion_GetDilation(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->dilation(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_Conv2dTransposeFusion_SetDilation(PrimitivePtr *primitive, const std::vector &dilation) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2dTransposeFusion( + fbb, mindspore::schema::Format_NCHW, + fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->stride()->data(), value->stride()->size()), + fbb.CreateVector(dilation.data(), dilation.size()), static_cast(value->pad_mode()), 0, + fbb.CreateVector(value->pad_list()->data(), value->pad_list()->size()), 0, value->group(), value->in_channel(), + value->out_channel(), static_cast(value->activation_type()), + fbb.CreateVector(value->output_paddings()->data(), value->output_paddings()->size())); + auto prim_offset = schema::CreatePrimitive( + fbb, static_cast(NODE_TYPE_CONV2D_TRANSPOSE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +PadMode MindIR_Conv2dTransposeFusion_GetPadMode(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->pad_mode()); + } else { + PadMode en = static_cast(0); + return en; + } + } else { + PadMode en = static_cast(0); + return en; + } +} + +void MindIR_Conv2dTransposeFusion_SetPadMode(PrimitivePtr *primitive, PadMode pad_mode) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2dTransposeFusion( + fbb, mindspore::schema::Format_NCHW, + fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->stride()->data(), value->stride()->size()), + fbb.CreateVector(value->dilation()->data(), value->dilation()->size()), static_cast(pad_mode), + 0, fbb.CreateVector(value->pad_list()->data(), value->pad_list()->size()), 0, value->group(), + value->in_channel(), value->out_channel(), static_cast(value->activation_type()), + fbb.CreateVector(value->output_paddings()->data(), value->output_paddings()->size())); + auto prim_offset = schema::CreatePrimitive( + fbb, static_cast(NODE_TYPE_CONV2D_TRANSPOSE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +std::vector MindIR_Conv2dTransposeFusion_GetPadList(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->pad_list(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_Conv2dTransposeFusion_SetPadList(PrimitivePtr *primitive, const std::vector &pad_list) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2dTransposeFusion( + fbb, mindspore::schema::Format_NCHW, + fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->stride()->data(), value->stride()->size()), + fbb.CreateVector(value->dilation()->data(), value->dilation()->size()), + static_cast(value->pad_mode()), 0, fbb.CreateVector(pad_list.data(), pad_list.size()), 0, + value->group(), value->in_channel(), value->out_channel(), + static_cast(value->activation_type()), + fbb.CreateVector(value->output_paddings()->data(), value->output_paddings()->size())); + auto prim_offset = schema::CreatePrimitive( + fbb, static_cast(NODE_TYPE_CONV2D_TRANSPOSE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +int64_t MindIR_Conv2dTransposeFusion_GetGroup(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + return value->group(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_Conv2dTransposeFusion_SetGroup(PrimitivePtr *primitive, int64_t group) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2dTransposeFusion( + fbb, mindspore::schema::Format_NCHW, + fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->stride()->data(), value->stride()->size()), + fbb.CreateVector(value->dilation()->data(), value->dilation()->size()), + static_cast(value->pad_mode()), 0, + fbb.CreateVector(value->pad_list()->data(), value->pad_list()->size()), 0, group, value->in_channel(), + value->out_channel(), static_cast(value->activation_type()), + fbb.CreateVector(value->output_paddings()->data(), value->output_paddings()->size())); + auto prim_offset = schema::CreatePrimitive( + fbb, static_cast(NODE_TYPE_CONV2D_TRANSPOSE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +int64_t MindIR_Conv2dTransposeFusion_GetInChannel(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + return value->in_channel(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_Conv2dTransposeFusion_SetInChannel(PrimitivePtr *primitive, int64_t in_channel) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2dTransposeFusion( + fbb, mindspore::schema::Format_NCHW, + fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->stride()->data(), value->stride()->size()), + fbb.CreateVector(value->dilation()->data(), value->dilation()->size()), + static_cast(value->pad_mode()), 0, + fbb.CreateVector(value->pad_list()->data(), value->pad_list()->size()), 0, value->group(), in_channel, + value->out_channel(), static_cast(value->activation_type()), + fbb.CreateVector(value->output_paddings()->data(), value->output_paddings()->size())); + auto prim_offset = schema::CreatePrimitive( + fbb, static_cast(NODE_TYPE_CONV2D_TRANSPOSE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +int64_t MindIR_Conv2dTransposeFusion_GetOutChannel(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + return value->out_channel(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_Conv2dTransposeFusion_SetOutChannel(PrimitivePtr *primitive, int64_t out_channel) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2dTransposeFusion( + fbb, mindspore::schema::Format_NCHW, + fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->stride()->data(), value->stride()->size()), + fbb.CreateVector(value->dilation()->data(), value->dilation()->size()), + static_cast(value->pad_mode()), 0, + fbb.CreateVector(value->pad_list()->data(), value->pad_list()->size()), 0, value->group(), value->in_channel(), + out_channel, static_cast(value->activation_type()), + fbb.CreateVector(value->output_paddings()->data(), value->output_paddings()->size())); + auto prim_offset = schema::CreatePrimitive( + fbb, static_cast(NODE_TYPE_CONV2D_TRANSPOSE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +ActivationType MindIR_Conv2dTransposeFusion_GetActivationType(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->activation_type()); + } else { + ActivationType en = static_cast(0); + return en; + } + } else { + ActivationType en = static_cast(0); + return en; + } +} + +void MindIR_Conv2dTransposeFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2dTransposeFusion( + fbb, mindspore::schema::Format_NCHW, + fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->stride()->data(), value->stride()->size()), + fbb.CreateVector(value->dilation()->data(), value->dilation()->size()), + static_cast(value->pad_mode()), 0, + fbb.CreateVector(value->pad_list()->data(), value->pad_list()->size()), 0, value->group(), value->in_channel(), + value->out_channel(), static_cast(activation_type), + fbb.CreateVector(value->output_paddings()->data(), value->output_paddings()->size())); + auto prim_offset = schema::CreatePrimitive( + fbb, static_cast(NODE_TYPE_CONV2D_TRANSPOSE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +std::vector MindIR_Conv2dTransposeFusion_GetOutputPaddings(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->output_paddings(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_Conv2dTransposeFusion_SetOutputPaddings(PrimitivePtr *primitive, + const std::vector &output_paddings) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateConv2dTransposeFusion( + fbb, mindspore::schema::Format_NCHW, + fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->stride()->data(), value->stride()->size()), + fbb.CreateVector(value->dilation()->data(), value->dilation()->size()), + static_cast(value->pad_mode()), 0, + fbb.CreateVector(value->pad_list()->data(), value->pad_list()->size()), 0, value->group(), value->in_channel(), + value->out_channel(), static_cast(value->activation_type()), + fbb.CreateVector(output_paddings.data(), output_paddings.size())); + auto prim_offset = schema::CreatePrimitive( + fbb, static_cast(NODE_TYPE_CONV2D_TRANSPOSE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** DivFusion ********** +PrimitivePtr MindIR_DivFusion_CreatePrimitive(ActivationType activation_type) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateDivFusion(fbb, static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_DIV_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +ActivationType MindIR_DivFusion_GetActivationType(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_DivFusion(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->activation_type()); + } else { + ActivationType en = static_cast(0); + return en; + } + } else { + ActivationType en = static_cast(0); + return en; + } +} + +void MindIR_DivFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_DivFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateDivFusion(fbb, static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_DIV_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** Eltwise ********** +PrimitivePtr MindIR_Eltwise_CreatePrimitive(EltwiseMode mode) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateEltwise(fbb, static_cast(mode)); + auto prim_offset = schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_ELTWISE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +EltwiseMode MindIR_Eltwise_GetMode(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Eltwise(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->mode()); + } else { + EltwiseMode en = static_cast(0); + return en; + } + } else { + EltwiseMode en = static_cast(0); + return en; + } +} + +void MindIR_Eltwise_SetMode(PrimitivePtr *primitive, EltwiseMode mode) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Eltwise(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateEltwise(fbb, static_cast(mode)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_ELTWISE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** ExpandDims ********** +PrimitivePtr MindIR_ExpandDims_CreatePrimitive() { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateExpandDims(fbb); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_EXPAND_DIMS), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} + +// ********** Fill ********** +PrimitivePtr MindIR_Fill_CreatePrimitive() { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateFill(fbb); + auto prim_offset = schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_FILL), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} + +// ********** FullConnection ********** +PrimitivePtr MindIR_FullConnection_CreatePrimitive(bool has_bias, bool use_axis, int64_t axis, + ActivationType activation_type) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreateFullConnection(fbb, has_bias, use_axis, axis, static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_FULL_CONNECTION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +bool MindIR_FullConnection_GetHasBias(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_FullConnection(); + if (prim != nullptr && value != nullptr) { + return value->has_bias(); + } else { + return false; + } + } else { + return false; + } +} + +void MindIR_FullConnection_SetHasBias(PrimitivePtr *primitive, bool has_bias) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_FullConnection(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateFullConnection(fbb, has_bias, value->use_axis(), value->axis(), + static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_FULL_CONNECTION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +bool MindIR_FullConnection_GetUseAxis(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_FullConnection(); + if (prim != nullptr && value != nullptr) { + return value->use_axis(); + } else { + return false; + } + } else { + return false; + } +} + +void MindIR_FullConnection_SetUseAxis(PrimitivePtr *primitive, bool use_axis) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_FullConnection(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateFullConnection(fbb, value->has_bias(), use_axis, value->axis(), + static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_FULL_CONNECTION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +int64_t MindIR_FullConnection_GetAxis(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_FullConnection(); + if (prim != nullptr && value != nullptr) { + return value->axis(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_FullConnection_SetAxis(PrimitivePtr *primitive, int64_t axis) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_FullConnection(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateFullConnection(fbb, value->has_bias(), value->use_axis(), axis, + static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_FULL_CONNECTION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +ActivationType MindIR_FullConnection_GetActivationType(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_FullConnection(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->activation_type()); + } else { + ActivationType en = static_cast(0); + return en; + } + } else { + ActivationType en = static_cast(0); + return en; + } +} + +void MindIR_FullConnection_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_FullConnection(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateFullConnection(fbb, value->has_bias(), value->use_axis(), value->axis(), + static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_FULL_CONNECTION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** FusedBatchNorm ********** +PrimitivePtr MindIR_FusedBatchNorm_CreatePrimitive(float epsilon) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateFusedBatchNorm(fbb, 0.9, 0); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_FUSED_BATCH_NORM), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +float MindIR_FusedBatchNorm_GetEpsilon(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_FusedBatchNorm(); + if (prim != nullptr && value != nullptr) { + return value->epsilon(); + } else { + return .0; + } + } else { + return .0; + } +} + +void MindIR_FusedBatchNorm_SetEpsilon(PrimitivePtr *primitive, float epsilon) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_FusedBatchNorm(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateFusedBatchNorm(fbb, epsilon, 0.9, 0); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_FUSED_BATCH_NORM), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** Gather ********** +PrimitivePtr MindIR_Gather_CreatePrimitive() { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateGather(fbb); + auto prim_offset = schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_GATHER), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} + +// ********** LayerNormFusion ********** +PrimitivePtr MindIR_LayerNormFusion_CreatePrimitive(int64_t begin_norm_axis, float epsilon, bool elementwise_affine, + int64_t begin_params_axis) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateLayerNormFusion(fbb, begin_norm_axis, epsilon, elementwise_affine, begin_params_axis); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_LAYER_NORM_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +int64_t MindIR_LayerNormFusion_GetBeginNormAxis(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_LayerNormFusion(); + if (prim != nullptr && value != nullptr) { + return value->begin_norm_axis(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_LayerNormFusion_SetBeginNormAxis(PrimitivePtr *primitive, int64_t begin_norm_axis) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_LayerNormFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateLayerNormFusion(fbb, begin_norm_axis, value->epsilon(), + value->elementwise_affine(), value->begin_params_axis()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_LAYER_NORM_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +float MindIR_LayerNormFusion_GetEpsilon(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_LayerNormFusion(); + if (prim != nullptr && value != nullptr) { + return value->epsilon(); + } else { + return .0; + } + } else { + return .0; + } +} + +void MindIR_LayerNormFusion_SetEpsilon(PrimitivePtr *primitive, float epsilon) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_LayerNormFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateLayerNormFusion(fbb, value->begin_norm_axis(), epsilon, + value->elementwise_affine(), value->begin_params_axis()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_LAYER_NORM_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +bool MindIR_LayerNormFusion_GetElementwiseAffine(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_LayerNormFusion(); + if (prim != nullptr && value != nullptr) { + return value->elementwise_affine(); + } else { + return false; + } + } else { + return false; + } +} + +void MindIR_LayerNormFusion_SetElementwiseAffine(PrimitivePtr *primitive, bool elementwise_affine) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_LayerNormFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateLayerNormFusion(fbb, value->begin_norm_axis(), value->epsilon(), + elementwise_affine, value->begin_params_axis()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_LAYER_NORM_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +int64_t MindIR_LayerNormFusion_GetBeginParamsAxis(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_LayerNormFusion(); + if (prim != nullptr && value != nullptr) { + return value->begin_params_axis(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_LayerNormFusion_SetBeginParamsAxis(PrimitivePtr *primitive, int64_t begin_params_axis) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_LayerNormFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateLayerNormFusion(fbb, value->begin_norm_axis(), value->epsilon(), + value->elementwise_affine(), begin_params_axis); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_LAYER_NORM_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** LessEqual ********** +PrimitivePtr MindIR_LessEqual_CreatePrimitive() { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateLessEqual(fbb); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_LESS_EQUAL), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} + +// ********** MatMulFusion ********** +PrimitivePtr MindIR_MatMulFusion_CreatePrimitive(bool transpose_a, bool transpose_b, ActivationType activation_type) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreateMatMulFusion(fbb, transpose_a, transpose_b, static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_MATMUL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +bool MindIR_MatMulFusion_GetTransposeA(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_MatMulFusion(); + if (prim != nullptr && value != nullptr) { + return value->transpose_a(); + } else { + return false; + } + } else { + return false; + } +} + +void MindIR_MatMulFusion_SetTransposeA(PrimitivePtr *primitive, bool transpose_a) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_MatMulFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateMatMulFusion(fbb, transpose_a, value->transpose_b(), + static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_MATMUL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +bool MindIR_MatMulFusion_GetTransposeB(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_MatMulFusion(); + if (prim != nullptr && value != nullptr) { + return value->transpose_b(); + } else { + return false; + } + } else { + return false; + } +} + +void MindIR_MatMulFusion_SetTransposeB(PrimitivePtr *primitive, bool transpose_b) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_MatMulFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateMatMulFusion(fbb, value->transpose_a(), transpose_b, + static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_MATMUL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +ActivationType MindIR_MatMulFusion_GetActivationType(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_MatMulFusion(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->activation_type()); + } else { + ActivationType en = static_cast(0); + return en; + } + } else { + ActivationType en = static_cast(0); + return en; + } +} + +void MindIR_MatMulFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_MatMulFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateMatMulFusion(fbb, value->transpose_a(), value->transpose_b(), + static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_MATMUL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** Maximum ********** +PrimitivePtr MindIR_Maximum_CreatePrimitive() { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateMaximum(fbb); + auto prim_offset = schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_MAXIMUM), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} + +// ********** MaxPoolFusion ********** +PrimitivePtr MindIR_MaxPoolFusion_CreatePrimitive(const std::vector &kernel_size, + const std::vector &strides, const std::vector &pad, + PadMode pad_mode, Format format, bool global, + ActivationType activation_type) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateMaxPoolFusion( + fbb, fbb.CreateVector(kernel_size.data(), kernel_size.size()), fbb.CreateVector(strides.data(), strides.size()), + fbb.CreateVector(pad.data(), pad.size()), static_cast(pad_mode), + mindspore::schema::RoundMode_FLOOR, static_cast(format), global, + static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_MAX_POOL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +std::vector MindIR_MaxPoolFusion_GetKernelSize(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_MaxPoolFusion(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->kernel_size(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_MaxPoolFusion_SetKernelSize(PrimitivePtr *primitive, const std::vector &kernel_size) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_MaxPoolFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateMaxPoolFusion( + fbb, fbb.CreateVector(kernel_size.data(), kernel_size.size()), + fbb.CreateVector(value->strides()->data(), value->strides()->size()), + fbb.CreateVector(value->pad()->data(), value->pad()->size()), static_cast(value->pad_mode()), + mindspore::schema::RoundMode_FLOOR, static_cast(value->format()), value->global(), + static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_MAX_POOL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +std::vector MindIR_MaxPoolFusion_GetStrides(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_MaxPoolFusion(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->strides(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_MaxPoolFusion_SetStrides(PrimitivePtr *primitive, const std::vector &strides) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_MaxPoolFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateMaxPoolFusion( + fbb, fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(strides.data(), strides.size()), fbb.CreateVector(value->pad()->data(), value->pad()->size()), + static_cast(value->pad_mode()), mindspore::schema::RoundMode_FLOOR, + static_cast(value->format()), value->global(), + static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_MAX_POOL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +std::vector MindIR_MaxPoolFusion_GetPad(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_MaxPoolFusion(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->pad(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_MaxPoolFusion_SetPad(PrimitivePtr *primitive, const std::vector &pad) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_MaxPoolFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateMaxPoolFusion( + fbb, fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->strides()->data(), value->strides()->size()), fbb.CreateVector(pad.data(), pad.size()), + static_cast(value->pad_mode()), mindspore::schema::RoundMode_FLOOR, + static_cast(value->format()), value->global(), + static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_MAX_POOL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +PadMode MindIR_MaxPoolFusion_GetPadMode(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_MaxPoolFusion(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->pad_mode()); + } else { + PadMode en = static_cast(0); + return en; + } + } else { + PadMode en = static_cast(0); + return en; + } +} + +void MindIR_MaxPoolFusion_SetPadMode(PrimitivePtr *primitive, PadMode pad_mode) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_MaxPoolFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateMaxPoolFusion( + fbb, fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->strides()->data(), value->strides()->size()), + fbb.CreateVector(value->pad()->data(), value->pad()->size()), static_cast(pad_mode), + mindspore::schema::RoundMode_FLOOR, static_cast(value->format()), value->global(), + static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_MAX_POOL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +Format MindIR_MaxPoolFusion_GetFormat(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_MaxPoolFusion(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->format()); + } else { + Format en = static_cast(0); + return en; + } + } else { + Format en = static_cast(0); + return en; + } +} + +void MindIR_MaxPoolFusion_SetFormat(PrimitivePtr *primitive, Format format) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_MaxPoolFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateMaxPoolFusion( + fbb, fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->strides()->data(), value->strides()->size()), + fbb.CreateVector(value->pad()->data(), value->pad()->size()), static_cast(value->pad_mode()), + mindspore::schema::RoundMode_FLOOR, static_cast(format), value->global(), + static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_MAX_POOL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +bool MindIR_MaxPoolFusion_GetGlobal(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_MaxPoolFusion(); + if (prim != nullptr && value != nullptr) { + return value->global(); + } else { + return false; + } + } else { + return false; + } +} + +void MindIR_MaxPoolFusion_SetGlobal(PrimitivePtr *primitive, bool global) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_MaxPoolFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateMaxPoolFusion( + fbb, fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->strides()->data(), value->strides()->size()), + fbb.CreateVector(value->pad()->data(), value->pad()->size()), static_cast(value->pad_mode()), + mindspore::schema::RoundMode_FLOOR, static_cast(value->format()), global, + static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_MAX_POOL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +RoundMode MindIR_MaxPoolFusion_GetRoundMode(ConstPrimitivePtr primitive) { + RoundMode round_mode = static_cast(0); // set default value: RoundMode_FLOOR + + if (primitive == nullptr) { + return round_mode; + } + auto prim = static_cast(primitive); + + auto value = prim->value_as_MaxPoolFusion(); + if (value == nullptr) { + return round_mode; + } + round_mode = static_cast(value->round_mode()); + return round_mode; +} + +void MindIR_MaxPoolFusion_SetRoundMode(PrimitivePtr *primitive, RoundMode round_mode) { + if (primitive == nullptr) { + return; + } + auto prim = static_cast(*primitive); + if (prim == nullptr) { + return; + } + auto value = prim->value_as_MaxPoolFusion(); + if (value == nullptr) { + return; + } + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateMaxPoolFusion( + fbb, fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->strides()->data(), value->strides()->size()), + fbb.CreateVector(value->pad()->data(), value->pad()->size()), static_cast(value->pad_mode()), + static_cast(round_mode), static_cast(value->format()), value->global(), + static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_MAX_POOL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto new_prim = flatbuffers::GetMutableRoot(new_addr); + *primitive = new_prim; +} + +ActivationType MindIR_MaxPoolFusion_GetActivationType(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_MaxPoolFusion(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->activation_type()); + } else { + ActivationType en = static_cast(0); + return en; + } + } else { + ActivationType en = static_cast(0); + return en; + } +} + +void MindIR_MaxPoolFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_MaxPoolFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateMaxPoolFusion( + fbb, fbb.CreateVector(value->kernel_size()->data(), value->kernel_size()->size()), + fbb.CreateVector(value->strides()->data(), value->strides()->size()), + fbb.CreateVector(value->pad()->data(), value->pad()->size()), static_cast(value->pad_mode()), + mindspore::schema::RoundMode_FLOOR, static_cast(value->format()), value->global(), + static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_MAX_POOL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** MulFusion ********** +PrimitivePtr MindIR_MulFusion_CreatePrimitive(ActivationType activation_type) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateMulFusion(fbb, static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_MUL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} + +ActivationType MindIR_MulFusion_GetActivationType(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_MulFusion(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->activation_type()); + } else { + ActivationType en = static_cast(0); + return en; + } + } else { + ActivationType en = static_cast(0); + return en; + } +} + +void MindIR_MulFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_MulFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateMulFusion(fbb, static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_MUL_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** OneHot ********** +PrimitivePtr MindIR_OneHot_CreatePrimitive(int64_t axis) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateOneHot(fbb, axis); + auto prim_offset = schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_ONE_HOT), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +int64_t MindIR_OneHot_GetAxis(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_OneHot(); + if (prim != nullptr && value != nullptr) { + return value->axis(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_OneHot_SetAxis(PrimitivePtr *primitive, int64_t axis) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_OneHot(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateOneHot(fbb, axis); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_ONE_HOT), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** PadFusion ********** +PrimitivePtr MindIR_PadFusion_CreatePrimitive(const std::vector> &paddings, + PaddingMode padding_mode, float constant_value) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreatePadFusion(fbb, CreateVec2D(fbb, paddings), + static_cast(padding_mode), constant_value); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_PAD_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +std::vector> MindIR_PadFusion_GetPaddings(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_PadFusion(); + if (prim != nullptr && value != nullptr) { + std::vector> out; + auto src = value->paddings(); + for (auto sub_list : *src->data()) { + std::vector result_tmp; + result_tmp.resize(sub_list->data()->size()); + std::transform(sub_list->data()->begin(), sub_list->data()->end(), result_tmp.begin(), + [](int64_t item) { return item; }); + out.emplace_back(result_tmp); + } + return out; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_PadFusion_SetPaddings(PrimitivePtr *primitive, const std::vector> &paddings) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_PadFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreatePadFusion(fbb, CreateVec2D(fbb, paddings), + static_cast(value->padding_mode()), value->constant_value()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_PAD_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +PaddingMode MindIR_PadFusion_GetPaddingMode(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_PadFusion(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->padding_mode()); + } else { + PaddingMode en = static_cast(0); + return en; + } + } else { + PaddingMode en = static_cast(0); + return en; + } +} + +void MindIR_PadFusion_SetPaddingMode(PrimitivePtr *primitive, PaddingMode padding_mode) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_PadFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreatePadFusion(fbb, CreateVec2D(fbb, value->paddings()), + static_cast(padding_mode), value->constant_value()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_PAD_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +float MindIR_PadFusion_GetConstantValue(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_PadFusion(); + if (prim != nullptr && value != nullptr) { + return value->constant_value(); + } else { + return .0; + } + } else { + return .0; + } +} + +void MindIR_PadFusion_SetConstantValue(PrimitivePtr *primitive, float constant_value) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_PadFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreatePadFusion(fbb, CreateVec2D(fbb, value->paddings()), + static_cast(value->padding_mode()), constant_value); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_PAD_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** PowFusion ********** +PrimitivePtr MindIR_PowFusion_CreatePrimitive(float scale, float shift) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreatePowFusion(fbb, scale, shift); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_POW_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +float MindIR_PowFusion_GetScale(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_PowFusion(); + if (prim != nullptr && value != nullptr) { + return value->scale(); + } else { + return .0; + } + } else { + return .0; + } +} + +void MindIR_PowFusion_SetScale(PrimitivePtr *primitive, float scale) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_PowFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreatePowFusion(fbb, scale, value->shift()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_POW_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +float MindIR_PowFusion_GetShift(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_PowFusion(); + if (prim != nullptr && value != nullptr) { + return value->shift(); + } else { + return .0; + } + } else { + return .0; + } +} + +void MindIR_PowFusion_SetShift(PrimitivePtr *primitive, float shift) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_PowFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreatePowFusion(fbb, value->scale(), shift); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_POW_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** PReLUFusion ********** +PrimitivePtr MindIR_PReLUFusion_CreatePrimitive(bool channel_shared) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreatePReLUFusion(fbb, channel_shared); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_PRELU_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +bool MindIR_PReLUFusion_GetChannelShared(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_PReLUFusion(); + if (prim != nullptr && value != nullptr) { + return value->channel_shared(); + } else { + return false; + } + } else { + return false; + } +} + +void MindIR_PReLUFusion_SetChannelShared(PrimitivePtr *primitive, bool channel_shared) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_PReLUFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreatePReLUFusion(fbb, channel_shared); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_PRELU_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** QuantDTypeCast ********** +PrimitivePtr MindIR_QuantDTypeCast_CreatePrimitive(int64_t src_t, int64_t dst_t) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateQuantDTypeCast(fbb, src_t, dst_t); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_QUANT_DTYPE_CAST), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +int64_t MindIR_QuantDTypeCast_GetSrcT(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_QuantDTypeCast(); + if (prim != nullptr && value != nullptr) { + return value->src_t(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_QuantDTypeCast_SetSrcT(PrimitivePtr *primitive, int64_t src_t) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_QuantDTypeCast(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateQuantDTypeCast(fbb, src_t, value->dst_t()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_QUANT_DTYPE_CAST), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +int64_t MindIR_QuantDTypeCast_GetDstT(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_QuantDTypeCast(); + if (prim != nullptr && value != nullptr) { + return value->dst_t(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_QuantDTypeCast_SetDstT(PrimitivePtr *primitive, int64_t dst_t) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_QuantDTypeCast(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateQuantDTypeCast(fbb, value->src_t(), dst_t); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_QUANT_DTYPE_CAST), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** ReduceFusion ********** +PrimitivePtr MindIR_ReduceFusion_CreatePrimitive(bool keep_dims, ReduceMode mode, bool reduce_to_end, float coeff) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreateReduceFusion(fbb, keep_dims, static_cast(mode), reduce_to_end, coeff); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_REDUCE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +bool MindIR_ReduceFusion_GetKeepDims(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_ReduceFusion(); + if (prim != nullptr && value != nullptr) { + return value->keep_dims(); + } else { + return false; + } + } else { + return false; + } +} + +void MindIR_ReduceFusion_SetKeepDims(PrimitivePtr *primitive, bool keep_dims) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_ReduceFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateReduceFusion(fbb, keep_dims, static_cast(value->mode()), + value->reduce_to_end(), value->coeff()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_REDUCE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +ReduceMode MindIR_ReduceFusion_GetMode(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_ReduceFusion(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->mode()); + } else { + ReduceMode en = static_cast(0); + return en; + } + } else { + ReduceMode en = static_cast(0); + return en; + } +} + +void MindIR_ReduceFusion_SetMode(PrimitivePtr *primitive, ReduceMode mode) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_ReduceFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateReduceFusion(fbb, value->keep_dims(), static_cast(mode), + value->reduce_to_end(), value->coeff()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_REDUCE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +bool MindIR_ReduceFusion_GetReduceToEnd(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_ReduceFusion(); + if (prim != nullptr && value != nullptr) { + return value->reduce_to_end(); + } else { + return false; + } + } else { + return false; + } +} + +void MindIR_ReduceFusion_SetReduceToEnd(PrimitivePtr *primitive, bool reduce_to_end) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_ReduceFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateReduceFusion( + fbb, value->keep_dims(), static_cast(value->mode()), reduce_to_end, value->coeff()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_REDUCE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +float MindIR_ReduceFusion_GetCoeff(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_ReduceFusion(); + if (prim != nullptr && value != nullptr) { + return value->coeff(); + } else { + return .0; + } + } else { + return .0; + } +} + +void MindIR_ReduceFusion_SetCoeff(PrimitivePtr *primitive, float coeff) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_ReduceFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateReduceFusion( + fbb, value->keep_dims(), static_cast(value->mode()), value->reduce_to_end(), coeff); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_REDUCE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** Reshape ********** +PrimitivePtr MindIR_Reshape_CreatePrimitive() { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateReshape(fbb); + auto prim_offset = schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_RESHAPE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} + +// ********** Resize ********** +PrimitivePtr MindIR_Resize_CreatePrimitive(ResizeMethod method, int64_t new_height, int64_t new_width, + bool preserve_aspect_ratio, + CoordinateTransformMode coordinate_transform_mode, float cubic_coeff, + int64_t exclude_outside, float extrapolation_value, + NearestMode nearest_mode) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateResize( + fbb, mindspore::schema::Format_NCHW, static_cast(method), new_height, new_width, + preserve_aspect_ratio, static_cast(coordinate_transform_mode), cubic_coeff, + exclude_outside, extrapolation_value, static_cast(nearest_mode)); + auto prim_offset = schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_RESIZE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +ResizeMethod MindIR_Resize_GetMethod(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Resize(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->method()); + } else { + ResizeMethod en = static_cast(0); + return en; + } + } else { + ResizeMethod en = static_cast(0); + return en; + } +} + +void MindIR_Resize_SetMethod(PrimitivePtr *primitive, ResizeMethod method) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Resize(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreateResize(fbb, mindspore::schema::Format_NCHW, static_cast(method), + value->new_height(), value->new_width(), value->preserve_aspect_ratio(), + static_cast(value->coordinate_transform_mode()), + value->cubic_coeff(), value->exclude_outside(), value->extrapolation_value(), + static_cast(value->nearest_mode())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_RESIZE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +int64_t MindIR_Resize_GetNewHeight(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Resize(); + if (prim != nullptr && value != nullptr) { + return value->new_height(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_Resize_SetNewHeight(PrimitivePtr *primitive, int64_t new_height) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Resize(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreateResize(fbb, mindspore::schema::Format_NCHW, static_cast(value->method()), + new_height, value->new_width(), value->preserve_aspect_ratio(), + static_cast(value->coordinate_transform_mode()), + value->cubic_coeff(), value->exclude_outside(), value->extrapolation_value(), + static_cast(value->nearest_mode())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_RESIZE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +int64_t MindIR_Resize_GetNewWidth(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Resize(); + if (prim != nullptr && value != nullptr) { + return value->new_width(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_Resize_SetNewWidth(PrimitivePtr *primitive, int64_t new_width) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Resize(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreateResize(fbb, mindspore::schema::Format_NCHW, static_cast(value->method()), + value->new_height(), new_width, value->preserve_aspect_ratio(), + static_cast(value->coordinate_transform_mode()), + value->cubic_coeff(), value->exclude_outside(), value->extrapolation_value(), + static_cast(value->nearest_mode())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_RESIZE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +bool MindIR_Resize_GetPreserveAspectRatio(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Resize(); + if (prim != nullptr && value != nullptr) { + return value->preserve_aspect_ratio(); + } else { + return false; + } + } else { + return false; + } +} + +void MindIR_Resize_SetPreserveAspectRatio(PrimitivePtr *primitive, bool preserve_aspect_ratio) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Resize(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreateResize(fbb, mindspore::schema::Format_NCHW, static_cast(value->method()), + value->new_height(), value->new_width(), preserve_aspect_ratio, + static_cast(value->coordinate_transform_mode()), + value->cubic_coeff(), value->exclude_outside(), value->extrapolation_value(), + static_cast(value->nearest_mode())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_RESIZE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +CoordinateTransformMode MindIR_Resize_GetCoordinateTransformMode(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Resize(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->coordinate_transform_mode()); + } else { + CoordinateTransformMode en = static_cast(0); + return en; + } + } else { + CoordinateTransformMode en = static_cast(0); + return en; + } +} + +void MindIR_Resize_SetCoordinateTransformMode(PrimitivePtr *primitive, + CoordinateTransformMode coordinate_transform_mode) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Resize(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreateResize(fbb, mindspore::schema::Format_NCHW, static_cast(value->method()), + value->new_height(), value->new_width(), value->preserve_aspect_ratio(), + static_cast(coordinate_transform_mode), + value->cubic_coeff(), value->exclude_outside(), value->extrapolation_value(), + static_cast(value->nearest_mode())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_RESIZE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +float MindIR_Resize_GetCubicCoeff(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Resize(); + if (prim != nullptr && value != nullptr) { + return value->cubic_coeff(); + } else { + return .0; + } + } else { + return .0; + } +} + +void MindIR_Resize_SetCubicCoeff(PrimitivePtr *primitive, float cubic_coeff) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Resize(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreateResize(fbb, mindspore::schema::Format_NCHW, static_cast(value->method()), + value->new_height(), value->new_width(), value->preserve_aspect_ratio(), + static_cast(value->coordinate_transform_mode()), + cubic_coeff, value->exclude_outside(), value->extrapolation_value(), + static_cast(value->nearest_mode())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_RESIZE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +int64_t MindIR_Resize_GetExcludeOutside(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Resize(); + if (prim != nullptr && value != nullptr) { + return value->exclude_outside(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_Resize_SetExcludeOutside(PrimitivePtr *primitive, int64_t exclude_outside) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Resize(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateResize( + fbb, mindspore::schema::Format_NCHW, static_cast(value->method()), value->new_height(), + value->new_width(), value->preserve_aspect_ratio(), + static_cast(value->coordinate_transform_mode()), value->cubic_coeff(), + exclude_outside, value->extrapolation_value(), static_cast(value->nearest_mode())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_RESIZE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +float MindIR_Resize_GetExtrapolationValue(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Resize(); + if (prim != nullptr && value != nullptr) { + return value->extrapolation_value(); + } else { + return .0; + } + } else { + return .0; + } +} + +void MindIR_Resize_SetExtrapolationValue(PrimitivePtr *primitive, float extrapolation_value) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Resize(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateResize( + fbb, mindspore::schema::Format_NCHW, static_cast(value->method()), value->new_height(), + value->new_width(), value->preserve_aspect_ratio(), + static_cast(value->coordinate_transform_mode()), value->cubic_coeff(), + value->exclude_outside(), extrapolation_value, static_cast(value->nearest_mode())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_RESIZE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +NearestMode MindIR_Resize_GetNearestMode(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Resize(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->nearest_mode()); + } else { + NearestMode en = static_cast(0); + return en; + } + } else { + NearestMode en = static_cast(0); + return en; + } +} + +void MindIR_Resize_SetNearestMode(PrimitivePtr *primitive, NearestMode nearest_mode) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Resize(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateResize( + fbb, mindspore::schema::Format_NCHW, static_cast(value->method()), value->new_height(), + value->new_width(), value->preserve_aspect_ratio(), + static_cast(value->coordinate_transform_mode()), value->cubic_coeff(), + value->exclude_outside(), value->extrapolation_value(), static_cast(nearest_mode)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_RESIZE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** Rsqrt ********** +PrimitivePtr MindIR_Rsqrt_CreatePrimitive() { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateRsqrt(fbb); + auto prim_offset = schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_RSQRT), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} + +// ********** ScaleFusion ********** +PrimitivePtr MindIR_ScaleFusion_CreatePrimitive(int64_t axis, ActivationType activation_type) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateScaleFusion(fbb, axis, static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SCALE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +int64_t MindIR_ScaleFusion_GetAxis(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_ScaleFusion(); + if (prim != nullptr && value != nullptr) { + return value->axis(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_ScaleFusion_SetAxis(PrimitivePtr *primitive, int64_t axis) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_ScaleFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreateScaleFusion(fbb, axis, static_cast(value->activation_type())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SCALE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +ActivationType MindIR_ScaleFusion_GetActivationType(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_ScaleFusion(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->activation_type()); + } else { + ActivationType en = static_cast(0); + return en; + } + } else { + ActivationType en = static_cast(0); + return en; + } +} + +void MindIR_ScaleFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_ScaleFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreateScaleFusion(fbb, value->axis(), static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SCALE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** Shape ********** +PrimitivePtr MindIR_Shape_CreatePrimitive() { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateShape(fbb); + auto prim_offset = schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SHAPE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} + +// ********** SliceFusion ********** +PrimitivePtr MindIR_SliceFusion_CreatePrimitive(const std::vector &axes) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateSliceFusion(fbb, fbb.CreateVector(axes.data(), axes.size())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SLICE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +std::vector MindIR_SliceFusion_GetAxes(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_SliceFusion(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->axes(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_SliceFusion_SetAxes(PrimitivePtr *primitive, const std::vector &axes) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_SliceFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateSliceFusion(fbb, fbb.CreateVector(axes.data(), axes.size())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SLICE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** Softmax ********** +PrimitivePtr MindIR_Softmax_CreatePrimitive(const std::vector &axis) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateSoftmax(fbb, fbb.CreateVector(axis.data(), axis.size())); + auto prim_offset = schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SOFTMAX), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +std::vector MindIR_Softmax_GetAxis(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Softmax(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->axis(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_Softmax_SetAxis(PrimitivePtr *primitive, const std::vector &axis) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Softmax(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateSoftmax(fbb, fbb.CreateVector(axis.data(), axis.size())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SOFTMAX), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** SpaceToBatchND ********** +PrimitivePtr MindIR_SpaceToBatchND_CreatePrimitive(const std::vector &block_shape, + const std::vector> &paddings) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateSpaceToBatchND(fbb, fbb.CreateVector(block_shape.data(), block_shape.size()), + CreateVec2D(fbb, paddings)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SPACE_TO_BATCH_ND), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +std::vector MindIR_SpaceToBatchND_GetBlockShape(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_SpaceToBatchND(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->block_shape(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_SpaceToBatchND_SetBlockShape(PrimitivePtr *primitive, const std::vector &block_shape) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_SpaceToBatchND(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateSpaceToBatchND(fbb, fbb.CreateVector(block_shape.data(), block_shape.size()), + CreateVec2D(fbb, value->paddings())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SPACE_TO_BATCH_ND), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +std::vector> MindIR_SpaceToBatchND_GetPaddings(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_SpaceToBatchND(); + if (prim != nullptr && value != nullptr) { + std::vector> out; + auto src = value->paddings(); + for (auto sub_list : *src->data()) { + std::vector result_tmp; + result_tmp.resize(sub_list->data()->size()); + std::transform(sub_list->data()->begin(), sub_list->data()->end(), result_tmp.begin(), + [](int64_t item) { return item; }); + out.emplace_back(result_tmp); + } + return out; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_SpaceToBatchND_SetPaddings(PrimitivePtr *primitive, const std::vector> &paddings) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_SpaceToBatchND(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateSpaceToBatchND( + fbb, fbb.CreateVector(value->block_shape()->data(), value->block_shape()->size()), CreateVec2D(fbb, paddings)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SPACE_TO_BATCH_ND), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** Split ********** +PrimitivePtr MindIR_Split_CreatePrimitive(int64_t output_num, const std::vector &size_splits, int64_t axis) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreateSplit(fbb, output_num, fbb.CreateVector(size_splits.data(), size_splits.size()), axis); + auto prim_offset = schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SPLIT), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +int64_t MindIR_Split_GetOutputNum(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Split(); + if (prim != nullptr && value != nullptr) { + return value->output_num(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_Split_SetOutputNum(PrimitivePtr *primitive, int64_t output_num) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Split(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateSplit( + fbb, output_num, fbb.CreateVector(value->size_splits()->data(), value->size_splits()->size()), value->axis()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SPLIT), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +std::vector MindIR_Split_GetSizeSplits(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Split(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->size_splits(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_Split_SetSizeSplits(PrimitivePtr *primitive, const std::vector &size_splits) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Split(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateSplit(fbb, value->output_num(), + fbb.CreateVector(size_splits.data(), size_splits.size()), value->axis()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SPLIT), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +int64_t MindIR_Split_GetAxis(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Split(); + if (prim != nullptr && value != nullptr) { + return value->axis(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_Split_SetAxis(PrimitivePtr *primitive, int64_t axis) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Split(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateSplit( + fbb, value->output_num(), fbb.CreateVector(value->size_splits()->data(), value->size_splits()->size()), axis); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SPLIT), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** Sqrt ********** +PrimitivePtr MindIR_Sqrt_CreatePrimitive() { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateSqrt(fbb); + auto prim_offset = schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SQRT), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} + +// ********** SquaredDifference ********** +PrimitivePtr MindIR_SquaredDifference_CreatePrimitive() { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateSquaredDifference(fbb); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SQUARED_DIFFERENCE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} + +// ********** Squeeze ********** +PrimitivePtr MindIR_Squeeze_CreatePrimitive(const std::vector &axis) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateSqueeze(fbb, fbb.CreateVector(axis.data(), axis.size())); + auto prim_offset = schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SQUEEZE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +std::vector MindIR_Squeeze_GetAxis(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Squeeze(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->axis(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_Squeeze_SetAxis(PrimitivePtr *primitive, const std::vector &axis) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Squeeze(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateSqueeze(fbb, fbb.CreateVector(axis.data(), axis.size())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SQUEEZE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** Stack ********** +PrimitivePtr MindIR_Stack_CreatePrimitive(int64_t axis) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateStack(fbb, axis); + auto prim_offset = schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_STACK), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +int64_t MindIR_Stack_GetAxis(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Stack(); + if (prim != nullptr && value != nullptr) { + return value->axis(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_Stack_SetAxis(PrimitivePtr *primitive, int64_t axis) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Stack(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateStack(fbb, axis); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_STACK), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** StridedSlice ********** +PrimitivePtr MindIR_StridedSlice_CreatePrimitive(int64_t begin_mask, int64_t end_mask, int64_t ellipsis_mask, + int64_t new_axis_mask, int64_t shrink_axis_mask) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = + schema::CreateStridedSlice(fbb, begin_mask, end_mask, ellipsis_mask, new_axis_mask, shrink_axis_mask); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_STRIDED_SLICE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +int64_t MindIR_StridedSlice_GetBeginMask(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_StridedSlice(); + if (prim != nullptr && value != nullptr) { + return value->begin_mask(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_StridedSlice_SetBeginMask(PrimitivePtr *primitive, int64_t begin_mask) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_StridedSlice(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateStridedSlice(fbb, begin_mask, value->end_mask(), value->ellipsis_mask(), + value->new_axis_mask(), value->shrink_axis_mask()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_STRIDED_SLICE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +int64_t MindIR_StridedSlice_GetEndMask(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_StridedSlice(); + if (prim != nullptr && value != nullptr) { + return value->end_mask(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_StridedSlice_SetEndMask(PrimitivePtr *primitive, int64_t end_mask) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_StridedSlice(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateStridedSlice(fbb, value->begin_mask(), end_mask, value->ellipsis_mask(), + value->new_axis_mask(), value->shrink_axis_mask()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_STRIDED_SLICE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +int64_t MindIR_StridedSlice_GetEllipsisMask(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_StridedSlice(); + if (prim != nullptr && value != nullptr) { + return value->ellipsis_mask(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_StridedSlice_SetEllipsisMask(PrimitivePtr *primitive, int64_t ellipsis_mask) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_StridedSlice(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateStridedSlice(fbb, value->begin_mask(), value->end_mask(), ellipsis_mask, + value->new_axis_mask(), value->shrink_axis_mask()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_STRIDED_SLICE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +int64_t MindIR_StridedSlice_GetNewAxisMask(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_StridedSlice(); + if (prim != nullptr && value != nullptr) { + return value->new_axis_mask(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_StridedSlice_SetNewAxisMask(PrimitivePtr *primitive, int64_t new_axis_mask) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_StridedSlice(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateStridedSlice(fbb, value->begin_mask(), value->end_mask(), value->ellipsis_mask(), + new_axis_mask, value->shrink_axis_mask()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_STRIDED_SLICE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +int64_t MindIR_StridedSlice_GetShrinkAxisMask(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_StridedSlice(); + if (prim != nullptr && value != nullptr) { + return value->shrink_axis_mask(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_StridedSlice_SetShrinkAxisMask(PrimitivePtr *primitive, int64_t shrink_axis_mask) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_StridedSlice(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateStridedSlice(fbb, value->begin_mask(), value->end_mask(), value->ellipsis_mask(), + value->new_axis_mask(), shrink_axis_mask); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_STRIDED_SLICE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** SubFusion ********** +PrimitivePtr MindIR_SubFusion_CreatePrimitive(ActivationType activation_type) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateSubFusion(fbb, static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SUB_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +ActivationType MindIR_SubFusion_GetActivationType(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_SubFusion(); + if (prim != nullptr && value != nullptr) { + return static_cast(value->activation_type()); + } else { + ActivationType en = static_cast(0); + return en; + } + } else { + ActivationType en = static_cast(0); + return en; + } +} + +void MindIR_SubFusion_SetActivationType(PrimitivePtr *primitive, ActivationType activation_type) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_SubFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateSubFusion(fbb, static_cast(activation_type)); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_SUB_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** TileFusion ********** +PrimitivePtr MindIR_TileFusion_CreatePrimitive(const std::vector &dims) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateTileFusion(fbb, fbb.CreateVector(dims.data(), dims.size())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_TILE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +std::vector MindIR_TileFusion_GetDims(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_TileFusion(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->dims(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_TileFusion_SetDims(PrimitivePtr *primitive, const std::vector &dims) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_TileFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateTileFusion(fbb, fbb.CreateVector(dims.data(), dims.size())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_TILE_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** TopKFusion ********** +PrimitivePtr MindIR_TopKFusion_CreatePrimitive(bool sorted, int64_t axis) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateTopKFusion(fbb, sorted, axis); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_TOPK_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +bool MindIR_TopKFusion_GetSorted(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_TopKFusion(); + if (prim != nullptr && value != nullptr) { + return value->sorted(); + } else { + return false; + } + } else { + return false; + } +} + +void MindIR_TopKFusion_SetSorted(PrimitivePtr *primitive, bool sorted) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_TopKFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateTopKFusion(fbb, sorted, value->axis()); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_TOPK_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} +int64_t MindIR_TopKFusion_GetAxis(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_TopKFusion(); + if (prim != nullptr && value != nullptr) { + return value->axis(); + } else { + return 0; + } + } else { + return 0; + } +} + +void MindIR_TopKFusion_SetAxis(PrimitivePtr *primitive, int64_t axis) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_TopKFusion(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateTopKFusion(fbb, value->sorted(), axis); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_TOPK_FUSION), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** Transpose ********** +PrimitivePtr MindIR_Transpose_CreatePrimitive() { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateTranspose(fbb); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_TRANSPOSE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} + +// ********** Unsqueeze ********** +PrimitivePtr MindIR_Unsqueeze_CreatePrimitive(const std::vector &axis) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateUnsqueeze(fbb, fbb.CreateVector(axis.data(), axis.size())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_UNSQUEEZE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} +std::vector MindIR_Unsqueeze_GetAxis(ConstPrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Unsqueeze(); + if (prim != nullptr && value != nullptr) { + std::vector result; + auto src = value->axis(); + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int64_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_Unsqueeze_SetAxis(PrimitivePtr *primitive, const std::vector &axis) { + if (primitive != nullptr && *primitive != nullptr) { + auto prim = static_cast(*primitive); + auto value = prim->value_as_Unsqueeze(); + if (prim != nullptr && value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + auto ops_offset = schema::CreateUnsqueeze(fbb, fbb.CreateVector(axis.data(), axis.size())); + auto prim_offset = + schema::CreatePrimitive(fbb, static_cast(NODE_TYPE_UNSQUEEZE), ops_offset.o); + fbb.Finish(prim_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreatePrimitiveFromBuilder(fbb, prim); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *primitive = ret_value; + } + } +} + +// ********** Custom ********** +std::vector MindIR_Custom_GetAttr(ConstPrimitivePtr primitive) { + if (primitive == nullptr) { + return {}; + } + auto prim = static_cast(primitive); + auto value = prim->value_as_Custom(); + if (value == nullptr) { + return {}; + } + std::vector result; + if (value->attr() == nullptr) { + return {}; + } + for (auto attr: *(value->attr())) { + result.push_back(attr); + } + return result; +} + +std::string MindIR_Attribute_GetName(const mindspore::schema::Attribute &attr) { + if (attr.name() == nullptr) { + return ""; + } + return attr.name()->str(); +} + +std::vector MindIR_Attribute_GetData(const mindspore::schema::Attribute &attr) { + if (attr.data() == nullptr) { + return {}; + } + std::vector tmp_data(attr.data()->size()); + std::transform(attr.data()->begin(), attr.data()->end(), tmp_data.begin(), + [](uint8_t item) { return item; }); + return tmp_data; +} +} // namespace lite +} // namespace mindspore diff --git a/mindspore/lite/mindir/src/mindir_memory_manager.cc b/mindspore/lite/mindir/src/mindir_memory_manager.cc new file mode 100644 index 00000000..88c78d25 --- /dev/null +++ b/mindspore/lite/mindir/src/mindir_memory_manager.cc @@ -0,0 +1,129 @@ +#include "mindir_memory_manager.h" +#include +#include "securec.h" +#include "utils.h" +#include "src/common/log.h" + +namespace mindspore { +namespace lite { +namespace { +template +void ClearMap(std::map &map) { + for (auto iter = map.begin(); iter != map.end();) { + if (iter->second != nullptr) { + free(iter->second); + map.erase(iter++); + } else { + iter++; + } + } +} +} // namespace +MindIRMemoryManager *MindIRMemoryManager::GetInstance() { + static MindIRMemoryManager instance; + return &instance; +} + +void *MindIRMemoryManager::CopyFbbToNewMemory(flatbuffers::FlatBufferBuilder &fbb) { + auto buff = reinterpret_cast(malloc(fbb.GetSize())); + if (buff == nullptr) { + MS_LOG(ERROR) << "malloc memory for primitive failed!"; + fbb.Clear(); + return nullptr; + } + auto ret = memcpy_s(buff, fbb.GetSize(), fbb.GetBufferPointer(), fbb.GetSize()); + if (ret != EOK) { + MS_LOG(ERROR) << "memcpy failed, ret:" << ret; + fbb.Clear(); + return nullptr; + } + fbb.Clear(); + return buff; +} +void *MindIRMemoryManager::CreateTensorFromBuilder(flatbuffers::FlatBufferBuilder &fbb_new, schema::Tensor *tensor) { + std::lock_guard lck(mutex); + if (tensor != nullptr) { + // find primitive exist + if (tensor_map.find(tensor) != tensor_map.end()) { + // if find, then delete + void *flatbuffer_ptr = tensor_map[tensor]; + if (flatbuffer_ptr != nullptr) { + free(flatbuffer_ptr); + tensor_map[tensor] = nullptr; + tensor_map.erase(tensor_map.find(tensor)); + } + } + } + // then copy fbb + auto new_memory_ptr = CopyFbbToNewMemory(fbb_new); + auto tensor_root = flatbuffers::GetMutableRoot(new_memory_ptr); + tensor_map[tensor_root] = new_memory_ptr; + return new_memory_ptr; +} + +void *MindIRMemoryManager::CreatePrimitiveFromBuilder(flatbuffers::FlatBufferBuilder &fbb_new, + schema::Primitive *primitive) { + std::lock_guard lck(mutex); + if (primitive != nullptr) { + // find primitive exist + if (primitive_map.find(primitive) != primitive_map.end()) { + // if find, then delete + void *flatbuffer_ptr = primitive_map[primitive]; + if (flatbuffer_ptr != nullptr) { + free(flatbuffer_ptr); + primitive_map[primitive] = nullptr; + primitive_map.erase(primitive_map.find(primitive)); + } + } + } + // then copy fbb + auto new_memory_ptr = CopyFbbToNewMemory(fbb_new); + auto primitive_root = flatbuffers::GetMutableRoot(new_memory_ptr); + primitive_map[primitive_root] = new_memory_ptr; + return new_memory_ptr; +} + +void MindIRMemoryManager::DeletePrimitive(schema::Primitive *primitive) { + std::lock_guard lck(mutex); + if (primitive == nullptr) { + MS_LOG(ERROR) << "primitive is nullptr, no need to delete."; + return; + } + if (primitive_map.find(primitive) != primitive_map.end()) { + // if find, then delete + void *flatbuffer_ptr = primitive_map[primitive]; + if (flatbuffer_ptr != nullptr) { + free(flatbuffer_ptr); + primitive_map[primitive] = nullptr; + primitive_map.erase(primitive_map.find(primitive)); + } + } +} + +void MindIRMemoryManager::DeleteTensor(schema::Tensor *tensor) { + std::lock_guard lck(mutex); + if (tensor == nullptr) { + MS_LOG(ERROR) << "tensor is nullptr, no need to delete."; + return; + } + if (tensor != nullptr) { + // find primitive exist + if (tensor_map.find(tensor) != tensor_map.end()) { + // if find, then delete + void *flatbuffer_ptr = tensor_map[tensor]; + if (flatbuffer_ptr != nullptr) { + free(flatbuffer_ptr); + tensor_map[tensor] = nullptr; + tensor_map.erase(tensor_map.find(tensor)); + } + } + } +} + +void MindIRMemoryManager::ClearAllMemory() { + std::lock_guard lck(mutex); + ClearMap(primitive_map); + ClearMap(tensor_map); +} +} // namespace lite +} // namespace mindspore \ No newline at end of file diff --git a/mindspore/lite/mindir/src/mindir_nnrt_lite_graph.cc b/mindspore/lite/mindir/src/mindir_nnrt_lite_graph.cc new file mode 100644 index 00000000..a914fa6b --- /dev/null +++ b/mindspore/lite/mindir/src/mindir_nnrt_lite_graph.cc @@ -0,0 +1,87 @@ +/** + * Copyright 2021 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "mindir_lite_graph.h" +#include "mindir_tensor.h" +#include "mindir_primitive.h" +#include "src/common/log.h" +#include "schema/model_generated.h" +#include "mindir_memory_manager.h" +#include +namespace mindspore { +namespace lite { +void MindIR_LiteGraph_Destroy(LiteGraph **lite_graph) { + if (lite_graph != nullptr && *lite_graph != nullptr) { + MS_LOG(INFO) << "start to destroy LiteGraph."; + auto graph = *lite_graph; + graph->name_.clear(); + graph->input_indices_.clear(); + graph->output_indices_.clear(); + MS_LOG(INFO) << "Destroying nodes."; + // node + for (size_t idx = 0; idx < graph->all_nodes_.size(); idx++) { + if (graph->all_nodes_[idx] != nullptr) { + MindIRMemoryManager::GetInstance()->DeletePrimitive( + static_cast(graph->all_nodes_[idx]->primitive_)); + delete graph->all_nodes_[idx]; + } + } + MS_LOG(INFO) << "Destroying subgraphs."; + // subgraph + for (size_t idx = 0; idx < graph->sub_graphs_.size(); idx++) { + if (graph->sub_graphs_[idx] != nullptr) { + delete graph->sub_graphs_[idx]; + } + } + MS_LOG(INFO) << "Destroying tensors."; + // tensor + for (size_t idx = 0; idx < graph->all_tensors_.size(); idx++) { + if (graph->all_tensors_[idx] != nullptr) { + MindIRMemoryManager::GetInstance()->DeleteTensor(static_cast(graph->all_tensors_[idx])); + } + } + // graph + delete graph; + *lite_graph = nullptr; + } else { + MS_LOG(ERROR) << "nnrt_lite_graph is nullptr, can not delete."; + } +} + +size_t MindIR_LiteGraph_GetConstTensorSize(const LiteGraph *lite_graph) { + if (lite_graph != nullptr) { + size_t size = 0; + for (auto tensor : lite_graph->all_tensors_) { + if (tensor != nullptr) { + auto value = static_cast(tensor); + if (value != nullptr) { + auto src = value->data(); + if (src == nullptr) { + continue; + } + size += src->size(); + } + } + } + MS_LOG(DEBUG) << "lite_graph has " << lite_graph->all_tensors_.size() << "tensors ,const tensor size = " << size; + return size; + } else { + MS_LOG(ERROR) << "lite_graph is nullptr"; + return 0; + } +} + +} // namespace lite +} // namespace mindspore \ No newline at end of file diff --git a/mindspore/lite/mindir/src/mindir_nnrt_lite_graph_to_model.cc b/mindspore/lite/mindir/src/mindir_nnrt_lite_graph_to_model.cc new file mode 100644 index 00000000..df39e04b --- /dev/null +++ b/mindspore/lite/mindir/src/mindir_nnrt_lite_graph_to_model.cc @@ -0,0 +1,1496 @@ +/** + * Copyright 2021 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "mindir.h" +#include +#include +#include +#include "src/common/log.h" +#include "lite_graph.h" +#include "schema/model_generated.h" +#include "mindir_types.h" +#include "message_parcel.h" +#include "nnrt/v1_0/nnrt_types.h" +#include "nnrt/v1_0/node_attr_types.h" +#include "nnrt/v1_0/model_types.h" + +using namespace OHOS::HDI::Nnrt::V1_0; +namespace mindspore { +namespace lite { + +constexpr size_t kNumTwo = 2; +constexpr size_t kNumFour = 4; +constexpr size_t kNumEight = 8; + +inline std::vector MindIR_Tensor_GetQuantParams_OHOS(TensorPtr tensor) { + if (tensor != nullptr) { + auto value = static_cast(tensor); + + if (value != nullptr) { + std::vector result; + auto src = value->quantParams(); + if (src == nullptr) { + return {}; + } + size_t size = src->size(); + result.reserve(src->size()); + for (size_t i = 0; i < size; i++) { + auto tmp = src->Get(i); + OHOS::HDI::Nnrt::V1_0::QuantParam quantParam{tmp->numBits(), tmp->zeroPoint(), tmp->scale()}; + result.emplace_back(quantParam); + } + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_Model_Destroy(OHOS::HDI::Nnrt::V1_0::Model **model) { + if (model != nullptr) { + auto model_data = *model; + if (model_data != nullptr) { + delete (model_data); + *model = nullptr; + } else { + MS_LOG(ERROR) << "*model is nullptr, desrtoy model fail."; + } + } +} + +OHOS::HDI::Nnrt::V1_0::Model *MindIR_LiteGraph_To_Model(const LiteGraph *lite_graph, const OHOS::HDI::Nnrt::V1_0::SharedBuffer &buffer) { + if (lite_graph != nullptr) { + MS_LOG(INFO) << "MindIR_LiteGraph_To_Model begin"; + if (!lite_graph->name_.empty()) { + MS_LOG(INFO) << "Start converting lite graph,name =" << lite_graph->name_; + } else { + MS_LOG(INFO) << "Start converting lite graph, but lite graph has no name."; + } + std::vector inputIndex; + std::vector outputIndex; + std::vector nodes; + std::vector allTensors; + std::vector subGraph; + // nodes + MS_LOG(INFO) << "Start converting nodes, vector size = " << lite_graph->all_nodes_.size(); + nodes.reserve(lite_graph->all_nodes_.size()); + for (auto node : lite_graph->all_nodes_) { + if (node == nullptr) { + MS_LOG(ERROR) << "node is nullptr, convert fail."; + return nullptr; + } + OHOS::HDI::Nnrt::V1_0::Node tmp; + tmp.name = node->name_; + if (node->primitive_ == nullptr) { + MS_LOG(ERROR) << "node primitive is nullptr, convert fail."; + return nullptr; + } + auto prim = static_cast(node->primitive_); + auto value = prim->value_type(); + tmp.nodeType = static_cast(value); + tmp.nodeAttr = Convert(static_cast(value), node->primitive_); + tmp.inputIndex = node->input_indices_; + tmp.outputIndex = node->output_indices_; + tmp.quantType = static_cast(node->quant_type_); + nodes.emplace_back(tmp); + } + + MS_LOG(INFO) << "Start converting Tensor,Tensor size=" << lite_graph->all_tensors_.size(); + // Tensor + allTensors.reserve(lite_graph->all_tensors_.size()); + unsigned int tensor_buffer_offset = 0; + uint8_t *mmap_ptr = nullptr; + if (buffer.fd != -1) { + mmap_ptr = + static_cast(mmap(nullptr, buffer.bufferSize, PROT_READ | PROT_WRITE, MAP_SHARED, buffer.fd, 0)); + if (mmap_ptr == MAP_FAILED) { + MS_LOG(ERROR) << "mmap failed"; + return nullptr; + } + } + MS_LOG(INFO) << "Start parsing tensor, mmap buffer size = " << buffer.bufferSize; + for (auto tensor : lite_graph->all_tensors_) { + OHOS::HDI::Nnrt::V1_0::Tensor tmp; + tmp.name = MindIR_Tensor_GetName(tensor); + tmp.dataType = static_cast(MindIR_Tensor_GetDataType(tensor)); + tmp.dims = MindIR_Tensor_GetDims(tensor); + tmp.format = static_cast(MindIR_Tensor_GetFormat(tensor)); + tmp.data = MindIR_Tensor_GetData(tensor, buffer, mmap_ptr, tensor_buffer_offset); + tmp.quantParams = MindIR_Tensor_GetQuantParams_OHOS(tensor); + allTensors.emplace_back(tmp); + tensor_buffer_offset = tmp.data.offset + tmp.data.dataSize; + } + MS_LOG(INFO) << ("Parsing tensor finish."); + if (buffer.fd != -1) { + auto munmap_res = munmap(mmap_ptr, buffer.bufferSize); + if (munmap_res != 0) { + MS_LOG(ERROR) << "unmap failed."; + return nullptr; + } + } + + MS_LOG(INFO) << "Start converting SubGraph,SubGraph size=" << lite_graph->sub_graphs_.size(); + // SubGraph + subGraph.reserve(lite_graph->sub_graphs_.size()); + for (auto graph : lite_graph->sub_graphs_) { + OHOS::HDI::Nnrt::V1_0::SubGraph tmp; + tmp.name = graph->name_; + tmp.inputIndices = std::vector(graph->input_indices_); + tmp.outputIndices = std::vector(graph->output_indices_); + tmp.nodeIndices = std::vector(graph->node_indices_); + subGraph.emplace_back(tmp); + } + + MS_LOG(INFO) << "Start copying model"; + auto *ret_model = new (std::nothrow) Model(); + if (ret_model == nullptr) { + MS_LOG(ERROR) << "new Model failed."; + return nullptr; + } + ret_model->name = lite_graph->name_; + ret_model->inputIndex = lite_graph->input_indices_; + ret_model->outputIndex = lite_graph->output_indices_; + ret_model->nodes = nodes; + ret_model->allTensors = allTensors; + ret_model->subGraph = subGraph; + MS_LOG(INFO) << "MindIR_LiteGraph_To_Model success"; + return ret_model; + } else { + MS_LOG(ERROR) << "lite graph is nullptr"; + return nullptr; + } +} + +std::vector ConvertActivation(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Activation(); + if (value != nullptr) { + Activation activation{}; + activation.activationType = + static_cast(value->activation_type()); + activation.alpha = value->alpha(); + activation.minVal = value->min_val(); + activation.maxVal = value->max_val(); + activation.approximate = value->approximate(); + OHOS::MessageParcel data; + (void)ActivationBlockMarshalling(data, activation); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertAddFusion(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_AddFusion(); + if (value != nullptr) { + AddFusion add_fusion{}; + add_fusion.activationType = static_cast(value->activation_type()); + OHOS::MessageParcel data; + (void)AddFusionBlockMarshalling(data, add_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertArgMaxFusion(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_ArgMaxFusion(); + if (value != nullptr) { + ArgMaxFusion arg_max_fusion{}; + arg_max_fusion.axis = value->axis(); + arg_max_fusion.topK = value->top_k(); + arg_max_fusion.keepDims = value->keep_dims(); + arg_max_fusion.outMaxValue = value->out_max_value(); + OHOS::MessageParcel data; + (void)ArgMaxFusionBlockMarshalling(data, arg_max_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertAvgPoolFusion(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_AvgPoolFusion(); + if (value != nullptr) { + AvgPoolFusion avg_pool_fusion{}; + std::vector kernel_size; + kernel_size.reserve(kNumTwo); + if (value->kernel_size() == nullptr || value->kernel_size()->size() < kNumTwo) { + kernel_size = {}; + } else { + kernel_size = std::vector(value->kernel_size()->begin(), value->kernel_size()->end()); + } + std::vector strides; + strides.reserve(kNumTwo); + if (value->strides() == nullptr || value->strides()->size() < kNumTwo) { + strides = {}; + } else { + strides = std::vector(value->strides()->begin(), value->strides()->end()); + } + std::vector padList; + strides.reserve(kNumTwo); + if (value->pad() == nullptr || value->pad()->size() < kNumFour) { + padList = {}; + } else { + padList = std::vector(value->pad()->begin(), value->pad()->end()); + } + avg_pool_fusion.kernelSize = kernel_size; + avg_pool_fusion.strides = strides; + avg_pool_fusion.pad = padList; + avg_pool_fusion.padMode = static_cast(value->pad_mode()); + avg_pool_fusion.roundMode = static_cast(value->round_mode()); + avg_pool_fusion.format = static_cast(value->format()); + avg_pool_fusion.global = value->global(); + avg_pool_fusion.activationType = static_cast(value->activation_type()); + OHOS::MessageParcel data; + (void)AvgPoolFusionBlockMarshalling(data, avg_pool_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertBatchToSpaceND(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_BatchToSpaceND(); + if (value != nullptr) { + BatchToSpaceND batch_to_space_n_d{}; + std::vector blockShape; + blockShape.reserve(kNumTwo); + if (value->block_shape() == nullptr || value->block_shape()->size() < kNumTwo) { + blockShape = {0, 0}; + } else { + blockShape = std::vector(value->block_shape()->begin(), value->block_shape()->end()); + } + batch_to_space_n_d.blockShape = blockShape; + auto crops = value->crops(); + std::vector> crops_vec2d; + if (crops->data() == nullptr) { + MS_LOG(ERROR) << "crops_data is nullptr"; + crops_vec2d = {{}}; + } else { + crops_vec2d.reserve(crops->data()->size()); + for (size_t i = 0; i < crops->data()->size(); i++) { + auto vet = crops->data()->Get(i); + crops_vec2d.emplace_back(std::vector(vet->data()->begin(), vet->data()->end())); + } + } + batch_to_space_n_d.crops = crops_vec2d; + OHOS::MessageParcel data; + (void)BatchToSpaceNDBlockMarshalling(data, batch_to_space_n_d); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertBiasAdd(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_BiasAdd(); + if (value != nullptr) { + BiasAdd bias_add{}; + OHOS::MessageParcel data; + (void)BiasAddBlockMarshalling(data, bias_add); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertCast(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Cast(); + if (value != nullptr) { + Cast cast{}; + OHOS::MessageParcel data; + (void)CastBlockMarshalling(data, cast); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertConcat(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Concat(); + if (value != nullptr) { + Concat concat{}; + concat.axis = value->axis(); + OHOS::MessageParcel data; + (void)ConcatBlockMarshalling(data, concat); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertConv2DFusion(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2DFusion(); + if (value != nullptr) { + Conv2DFusion conv2_d_fusion{}; + std::vector kernel_size; + kernel_size.reserve(kNumTwo); + if (value->kernel_size() == nullptr || value->kernel_size()->size() < kNumTwo) { + kernel_size = {}; + } else { + kernel_size = std::vector(value->kernel_size()->begin(), value->kernel_size()->end()); + } + std::vector strides; + strides.reserve(kNumTwo); + if (value->stride() == nullptr || value->stride()->size() < kNumTwo) { + strides = {}; + } else { + strides = std::vector(value->stride()->begin(), value->stride()->end()); + } + std::vector dilation; + dilation.reserve(kNumTwo); + if (value->dilation() == nullptr || value->dilation()->size() < kNumTwo) { + dilation = {}; + } else { + dilation = std::vector(value->dilation()->begin(), value->dilation()->end()); + } + std::vector padList; + strides.reserve(kNumTwo); + if (value->pad_list() == nullptr || value->pad_list()->size() < kNumFour) { + padList = {}; + } else { + padList = std::vector(value->pad_list()->begin(), value->pad_list()->end()); + } + conv2_d_fusion.kernelSize = kernel_size; + conv2_d_fusion.stride = strides; + conv2_d_fusion.dilation = dilation; + conv2_d_fusion.padMode = static_cast(value->pad_mode()); + conv2_d_fusion.padList = padList; + conv2_d_fusion.group = value->group(); + conv2_d_fusion.inChannel = value->in_channel(); + conv2_d_fusion.outChannel = value->out_channel(); + conv2_d_fusion.activationType = static_cast(value->activation_type()); + OHOS::MessageParcel data; + (void)Conv2DFusionBlockMarshalling(data, conv2_d_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertConv2dTransposeFusion(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (value != nullptr) { + Conv2dTransposeFusion conv2d_transpose_fusion{}; + std::vector kernel_size; + kernel_size.reserve(kNumTwo); + if (value->kernel_size() == nullptr || value->kernel_size()->size() < kNumTwo) { + kernel_size = {}; + } else { + kernel_size = std::vector(value->kernel_size()->begin(), value->kernel_size()->end()); + } + std::vector strides; + strides.reserve(kNumTwo); + if (value->stride() == nullptr || value->stride()->size() < kNumTwo) { + strides = {}; + } else { + strides = std::vector(value->stride()->begin(), value->stride()->end()); + } + std::vector dilation; + dilation.reserve(kNumTwo); + if (value->dilation() == nullptr || value->dilation()->size() < kNumTwo) { + dilation = {}; + } else { + dilation = std::vector(value->dilation()->begin(), value->dilation()->end()); + } + std::vector padList; + strides.reserve(kNumTwo); + if (value->pad_list() == nullptr || value->pad_list()->size() < kNumFour) { + padList = {}; + } else { + padList = std::vector(value->pad_list()->begin(), value->pad_list()->end()); + } + std::vector output_paddings; + output_paddings.reserve(kNumTwo); + if (value->output_paddings() == nullptr || value->output_paddings()->size() < kNumTwo) { + output_paddings = {}; + } else { + output_paddings = std::vector(value->output_paddings()->begin(), value->output_paddings()->end()); + } + conv2d_transpose_fusion.kernelSize = kernel_size; + conv2d_transpose_fusion.stride = strides; + conv2d_transpose_fusion.dilation = dilation; + conv2d_transpose_fusion.padMode = static_cast(value->pad_mode()); + conv2d_transpose_fusion.padList = padList; + conv2d_transpose_fusion.group = value->group(); + conv2d_transpose_fusion.inChannel = value->in_channel(); + conv2d_transpose_fusion.outChannel = value->out_channel(); + conv2d_transpose_fusion.activationType = static_cast(value->activation_type()); + conv2d_transpose_fusion.outputPaddings = output_paddings; + OHOS::MessageParcel data; + (void)Conv2dTransposeFusionBlockMarshalling(data, conv2d_transpose_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertDivFusion(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_DivFusion(); + if (value != nullptr) { + DivFusion div_fusion{}; + div_fusion.activationType = static_cast(value->activation_type()); + OHOS::MessageParcel data; + (void)DivFusionBlockMarshalling(data, div_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertEltwise(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Eltwise(); + if (value != nullptr) { + Eltwise eltwise{}; + eltwise.mode = static_cast(value->mode()); + OHOS::MessageParcel data; + (void)EltwiseBlockMarshalling(data, eltwise); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertExpandDims(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_ExpandDims(); + if (value != nullptr) { + ExpandDims expand_dims{}; + OHOS::MessageParcel data; + (void)ExpandDimsBlockMarshalling(data, expand_dims); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertFill(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Fill(); + if (value != nullptr) { + Fill fill{}; + OHOS::MessageParcel data; + (void)FillBlockMarshalling(data, fill); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertFullConnection(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_FullConnection(); + if (value != nullptr) { + FullConnection full_connection{}; + full_connection.hasBias = value->has_bias(); + full_connection.useAxis = value->use_axis(); + full_connection.axis = value->axis(); + full_connection.activationType = static_cast(value->activation_type()); + OHOS::MessageParcel data; + (void)FullConnectionBlockMarshalling(data, full_connection); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertFusedBatchNorm(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_FusedBatchNorm(); + if (value != nullptr) { + FusedBatchNorm fused_batch_norm{}; + fused_batch_norm.epsilon = value->epsilon(); + OHOS::MessageParcel data; + (void)FusedBatchNormBlockMarshalling(data, fused_batch_norm); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertGather(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Gather(); + if (value != nullptr) { + Gather gather{}; + OHOS::MessageParcel data; + (void)GatherBlockMarshalling(data, gather); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertLayerNormFusion(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_LayerNormFusion(); + if (value != nullptr) { + LayerNormFusion layer_norm_fusion{}; + layer_norm_fusion.beginNormAxis = value->begin_norm_axis(); + layer_norm_fusion.epsilon = value->epsilon(); + layer_norm_fusion.elementwiseAffine = value->elementwise_affine(); + layer_norm_fusion.beginParamsAxis = value->begin_params_axis(); + OHOS::MessageParcel data; + (void)LayerNormFusionBlockMarshalling(data, layer_norm_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertLessEqual(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_LessEqual(); + if (value != nullptr) { + LessEqual less_equal{}; + OHOS::MessageParcel data; + (void)LessEqualBlockMarshalling(data, less_equal); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertMatMulFusion(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_MatMulFusion(); + if (value != nullptr) { + MatMulFusion mat_mul_fusion{}; + mat_mul_fusion.transposeA = value->transpose_a(); + mat_mul_fusion.transposeB = value->transpose_b(); + mat_mul_fusion.activationType = static_cast(value->activation_type()); + OHOS::MessageParcel data; + (void)MatMulFusionBlockMarshalling(data, mat_mul_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertMaximum(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Maximum(); + if (value != nullptr) { + Maximum maximum{}; + OHOS::MessageParcel data; + (void)MaximumBlockMarshalling(data, maximum); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertMaxPoolFusion(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_MaxPoolFusion(); + if (value != nullptr) { + MaxPoolFusion max_pool_fusion{}; + std::vector kernel_size; + kernel_size.reserve(kNumTwo); + if (value->kernel_size() == nullptr || value->kernel_size()->size() < kNumTwo) { + kernel_size = {}; + } else { + kernel_size = std::vector(value->kernel_size()->begin(), value->kernel_size()->end()); + } + std::vector strides; + strides.reserve(kNumTwo); + if (value->strides() == nullptr || value->strides()->size() < kNumTwo) { + strides = {}; + } else { + strides = std::vector(value->strides()->begin(), value->strides()->end()); + } + std::vector padList; + padList.reserve(kNumFour); + if (value->pad() == nullptr || value->pad()->size() < kNumFour) { + padList = {}; + } else { + padList = std::vector(value->pad()->begin(), value->pad()->end()); + } + max_pool_fusion.kernelSize = kernel_size; + max_pool_fusion.strides = strides; + max_pool_fusion.pad = padList; + max_pool_fusion.padMode = static_cast(value->pad_mode()); + max_pool_fusion.format = static_cast(value->format()); + max_pool_fusion.global = value->global(); + max_pool_fusion.activationType = static_cast(value->activation_type()); + OHOS::MessageParcel data; + (void)MaxPoolFusionBlockMarshalling(data, max_pool_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertMulFusion(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_MulFusion(); + if (value != nullptr) { + MulFusion mul_fusion{}; + mul_fusion.activationType = static_cast(value->activation_type()); + OHOS::MessageParcel data; + (void)MulFusionBlockMarshalling(data, mul_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertOneHot(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_OneHot(); + if (value != nullptr) { + OneHot one_hot{}; + one_hot.axis = value->axis(); + OHOS::MessageParcel data; + (void)OneHotBlockMarshalling(data, one_hot); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertPadFusion(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_PadFusion(); + if (value != nullptr) { + PadFusion pad_fusion{}; + auto paddings = value->paddings(); + std::vector> paddings_vec2d; + if (paddings == nullptr || paddings->data()->size() < kNumTwo) { + paddings_vec2d = {{0}, {0}, {0}, {0}}; + } else { + paddings_vec2d.reserve(paddings->data()->size()); + for (size_t i = 0; i < paddings->data()->size(); i++) { + auto vet = paddings->data()->Get(i); + paddings_vec2d.emplace_back(std::vector(vet->data()->begin(), vet->data()->end())); + } + } + pad_fusion.paddings = paddings_vec2d; + pad_fusion.paddingMode = static_cast(value->padding_mode()); + pad_fusion.constantValue = value->constant_value(); + OHOS::MessageParcel data; + (void)PadFusionBlockMarshalling(data, pad_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertPowFusion(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_PowFusion(); + if (value != nullptr) { + PowFusion pow_fusion{}; + pow_fusion.scale = value->scale(); + pow_fusion.shift = value->shift(); + OHOS::MessageParcel data; + (void)PowFusionBlockMarshalling(data, pow_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertPReLUFusion(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_PReLUFusion(); + if (value != nullptr) { + PReLUFusion p_re_l_u_fusion{}; + p_re_l_u_fusion.channelShared = value->channel_shared(); + OHOS::MessageParcel data; + (void)PReLUFusionBlockMarshalling(data, p_re_l_u_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertQuantDTypeCast(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_QuantDTypeCast(); + if (value != nullptr) { + QuantDTypeCast quant_d_type_cast{}; + quant_d_type_cast.srcT = value->src_t(); + quant_d_type_cast.dstT = value->dst_t(); + OHOS::MessageParcel data; + (void)QuantDTypeCastBlockMarshalling(data, quant_d_type_cast); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertReduceFusion(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_ReduceFusion(); + if (value != nullptr) { + ReduceFusion reduce_fusion{}; + reduce_fusion.keepDims = value->keep_dims(); + reduce_fusion.mode = static_cast(value->mode()); + reduce_fusion.reduceToEnd = value->reduce_to_end(); + reduce_fusion.coeff = value->coeff(); + OHOS::MessageParcel data; + (void)ReduceFusionBlockMarshalling(data, reduce_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertReshape(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Reshape(); + if (value != nullptr) { + Reshape reshape{}; + OHOS::MessageParcel data; + (void)ReshapeBlockMarshalling(data, reshape); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} + +std::vector ConvertResize(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Resize(); + if (value != nullptr) { + Resize resize{}; + resize.method = static_cast(value->method()); + resize.newHeight = value->new_height(); + resize.newWidth = value->new_width(); + resize.preserveAspectRatio = value->preserve_aspect_ratio(); + resize.coordinateTransformMode = + static_cast(value->coordinate_transform_mode()); + resize.cubicCoeff = value->cubic_coeff(); + resize.excludeOutside = value->exclude_outside(); + resize.extrapolationValue = value->extrapolation_value(); + resize.nearestMode = static_cast(value->nearest_mode()); + OHOS::MessageParcel data; + (void)ResizeBlockMarshalling(data, resize); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertRsqrt(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Rsqrt(); + if (value != nullptr) { + Rsqrt rsqrt{}; + OHOS::MessageParcel data; + (void)RsqrtBlockMarshalling(data, rsqrt); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertScaleFusion(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_ScaleFusion(); + if (value != nullptr) { + ScaleFusion scale_fusion{}; + scale_fusion.axis = value->axis(); + scale_fusion.activationType = static_cast(value->activation_type()); + OHOS::MessageParcel data; + (void)ScaleFusionBlockMarshalling(data, scale_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertShape(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Shape(); + if (value != nullptr) { + Shape shape{}; + OHOS::MessageParcel data; + (void)ShapeBlockMarshalling(data, shape); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertSliceFusion(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_SliceFusion(); + if (value != nullptr) { + SliceFusion slice_fusion{}; + std::vector axes; + if (value->axes() == nullptr) { + axes = {1, 2, 3, 4, 5, 6, 7}; + } else { + axes = std::vector(value->axes()->begin(), value->axes()->end()); + } + slice_fusion.axes = axes; + OHOS::MessageParcel data; + (void)SliceFusionBlockMarshalling(data, slice_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertSoftmax(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Softmax(); + if (value != nullptr) { + Softmax softmax{}; + std::vector axis; + if (value->axis() == nullptr) { + axis = {}; + } else { + axis = std::vector(value->axis()->begin(), value->axis()->end()); + } + softmax.axis = axis; + OHOS::MessageParcel data; + (void)SoftmaxBlockMarshalling(data, softmax); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertSpaceToBatchND(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_SpaceToBatchND(); + if (value != nullptr) { + SpaceToBatchND space_to_batch_n_d{}; + std::vector blockShape; + blockShape.reserve(kNumTwo); + if (value->block_shape() == nullptr || value->block_shape()->size() < kNumTwo) { + blockShape = {0, 0}; + } else { + blockShape = std::vector(value->block_shape()->begin(), value->block_shape()->end()); + } + space_to_batch_n_d.blockShape = blockShape; + auto paddings = value->paddings(); + std::vector> paddings_vec2d; + if (paddings == nullptr || paddings->data()->size() == 0 || *(paddings->data()->begin()) == nullptr || + (*(paddings->data()->begin()))->data() == nullptr) { + paddings_vec2d = {}; + } else { + paddings_vec2d.reserve(paddings->data()->size()); + for (size_t i = 0; i < paddings->data()->size(); i++) { + auto vet = paddings->data()->Get(i); + paddings_vec2d.emplace_back(std::vector(vet->data()->begin(), vet->data()->end())); + } + } + space_to_batch_n_d.paddings = paddings_vec2d; + OHOS::MessageParcel data; + (void)SpaceToBatchNDBlockMarshalling(data, space_to_batch_n_d); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertSplit(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Split(); + if (value != nullptr) { + Split split{}; + split.outputNum = value->output_num(); + std::vector sizeSplits; + sizeSplits.reserve(split.outputNum); + if (value->size_splits() == nullptr || value->size_splits()->size() <= static_cast(split.outputNum)) { + sizeSplits = {}; + } else { + sizeSplits = std::vector(value->size_splits()->begin(), value->size_splits()->end()); + } + split.sizeSplits = sizeSplits; + split.axis = value->axis(); + OHOS::MessageParcel data; + (void)SplitBlockMarshalling(data, split); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertSqrt(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Sqrt(); + if (value != nullptr) { + Sqrt sqrt{}; + OHOS::MessageParcel data; + (void)SqrtBlockMarshalling(data, sqrt); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertSquaredDifference(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_SquaredDifference(); + if (value != nullptr) { + SquaredDifference squared_difference{}; + OHOS::MessageParcel data; + (void)SquaredDifferenceBlockMarshalling(data, squared_difference); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertSqueeze(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Squeeze(); + if (value != nullptr) { + Squeeze squeeze{}; + std::vector axis; + if (value->axis() == nullptr) { + axis = {}; + } else { + axis = std::vector(value->axis()->begin(), value->axis()->end()); + } + squeeze.axis = axis; + OHOS::MessageParcel data; + (void)SqueezeBlockMarshalling(data, squeeze); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertStack(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Stack(); + if (value != nullptr) { + Stack stack{}; + stack.axis = value->axis(); + OHOS::MessageParcel data; + (void)StackBlockMarshalling(data, stack); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertStridedSlice(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_StridedSlice(); + if (value != nullptr) { + StridedSlice strided_slice{}; + strided_slice.beginMask = value->begin_mask(); + strided_slice.endMask = value->end_mask(); + strided_slice.ellipsisMask = value->ellipsis_mask(); + strided_slice.newAxisMask = value->new_axis_mask(); + strided_slice.shrinkAxisMask = value->shrink_axis_mask(); + OHOS::MessageParcel data; + (void)StridedSliceBlockMarshalling(data, strided_slice); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertSubFusion(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_SubFusion(); + if (value != nullptr) { + SubFusion sub_fusion{}; + sub_fusion.activationType = static_cast(value->activation_type()); + OHOS::MessageParcel data; + (void)SubFusionBlockMarshalling(data, sub_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertTileFusion(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_TileFusion(); + if (value != nullptr) { + TileFusion tile_fusion{}; + std::vector dims; + dims.reserve(kNumEight); + if (value->dims() == nullptr) { + dims = {0, 0, 0, 0, 0, 0, 0, 0}; + } else { + dims = std::vector(value->dims()->begin(), value->dims()->end()); + } + tile_fusion.dims = dims; + OHOS::MessageParcel data; + (void)TileFusionBlockMarshalling(data, tile_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertTopKFusion(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_TopKFusion(); + if (value != nullptr) { + TopKFusion top_k_fusion{}; + top_k_fusion.sorted = value->sorted(); + top_k_fusion.axis = value->axis(); + OHOS::MessageParcel data; + (void)TopKFusionBlockMarshalling(data, top_k_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertTranspose(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Transpose(); + if (value != nullptr) { + Transpose transpose{}; + OHOS::MessageParcel data; + (void)TransposeBlockMarshalling(data, transpose); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertUnsqueeze(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Unsqueeze(); + if (value != nullptr) { + Unsqueeze unsqueeze{}; + std::vector axis; + axis.reserve(kNumEight); + if (value->axis() == nullptr) { + axis = {0, 0, 0, 0}; + } else { + axis = std::vector(value->axis()->begin(), value->axis()->end()); + } + unsqueeze.axis = axis; + OHOS::MessageParcel data; + (void)UnsqueezeBlockMarshalling(data, unsqueeze); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} + +std::vector Convert(NodeType type, PrimitivePtr primitive) { + switch (type) { + case NODE_TYPE_ACTIVATION: + return ConvertActivation(primitive); + break; + case NODE_TYPE_ADD_FUSION: + return ConvertAddFusion(primitive); + break; + case NODE_TYPE_ARGMAX_FUSION: + return ConvertArgMaxFusion(primitive); + break; + case NODE_TYPE_AVG_POOL_FUSION: + return ConvertAvgPoolFusion(primitive); + break; + case NODE_TYPE_BATCH_TO_SPACE_ND: + return ConvertBatchToSpaceND(primitive); + break; + case NODE_TYPE_BIAS_ADD: + return ConvertBiasAdd(primitive); + break; + case NODE_TYPE_CAST: + return ConvertCast(primitive); + break; + case NODE_TYPE_CONCAT: + return ConvertConcat(primitive); + break; + case NODE_TYPE_CONV2D_FUSION: + return ConvertConv2DFusion(primitive); + break; + case NODE_TYPE_CONV2D_TRANSPOSE_FUSION: + return ConvertConv2dTransposeFusion(primitive); + break; + case NODE_TYPE_DIV_FUSION: + return ConvertDivFusion(primitive); + break; + case NODE_TYPE_ELTWISE: + return ConvertEltwise(primitive); + break; + case NODE_TYPE_EXPAND_DIMS: + return ConvertExpandDims(primitive); + break; + case NODE_TYPE_FILL: + return ConvertFill(primitive); + break; + case NODE_TYPE_FULL_CONNECTION: + return ConvertFullConnection(primitive); + break; + case NODE_TYPE_FUSED_BATCH_NORM: + return ConvertFusedBatchNorm(primitive); + break; + case NODE_TYPE_GATHER: + return ConvertGather(primitive); + break; + case NODE_TYPE_LAYER_NORM_FUSION: + return ConvertLayerNormFusion(primitive); + break; + case NODE_TYPE_LESS_EQUAL: + return ConvertLessEqual(primitive); + break; + case NODE_TYPE_MATMUL_FUSION: + return ConvertMatMulFusion(primitive); + break; + case NODE_TYPE_MAXIMUM: + return ConvertMaximum(primitive); + break; + case NODE_TYPE_MAX_POOL_FUSION: + return ConvertMaxPoolFusion(primitive); + break; + case NODE_TYPE_MUL_FUSION: + return ConvertMulFusion(primitive); + break; + case NODE_TYPE_ONE_HOT: + return ConvertOneHot(primitive); + break; + case NODE_TYPE_PAD_FUSION: + return ConvertPadFusion(primitive); + break; + case NODE_TYPE_POW_FUSION: + return ConvertPowFusion(primitive); + break; + case NODE_TYPE_PRELU_FUSION: + return ConvertPReLUFusion(primitive); + break; + case NODE_TYPE_QUANT_DTYPE_CAST: + return ConvertQuantDTypeCast(primitive); + break; + case NODE_TYPE_REDUCE_FUSION: + return ConvertReduceFusion(primitive); + break; + case NODE_TYPE_RESHAPE: + return ConvertReshape(primitive); + break; + case NODE_TYPE_RESIZE: + return ConvertResize(primitive); + break; + case NODE_TYPE_RSQRT: + return ConvertRsqrt(primitive); + break; + case NODE_TYPE_SCALE_FUSION: + return ConvertScaleFusion(primitive); + break; + case NODE_TYPE_SHAPE: + return ConvertShape(primitive); + break; + case NODE_TYPE_SLICE_FUSION: + return ConvertSliceFusion(primitive); + break; + case NODE_TYPE_SOFTMAX: + return ConvertSoftmax(primitive); + break; + case NODE_TYPE_SPACE_TO_BATCH_ND: + return ConvertSpaceToBatchND(primitive); + break; + case NODE_TYPE_SPLIT: + return ConvertSplit(primitive); + break; + case NODE_TYPE_SQRT: + return ConvertSqrt(primitive); + break; + case NODE_TYPE_SQUARED_DIFFERENCE: + return ConvertSquaredDifference(primitive); + break; + case NODE_TYPE_SQUEEZE: + return ConvertSqueeze(primitive); + break; + case NODE_TYPE_STACK: + return ConvertStack(primitive); + break; + case NODE_TYPE_STRIDED_SLICE: + return ConvertStridedSlice(primitive); + break; + case NODE_TYPE_SUB_FUSION: + return ConvertSubFusion(primitive); + break; + case NODE_TYPE_TILE_FUSION: + return ConvertTileFusion(primitive); + break; + case NODE_TYPE_TOPK_FUSION: + return ConvertTopKFusion(primitive); + break; + case NODE_TYPE_TRANSPOSE: + return ConvertTranspose(primitive); + break; + case NODE_TYPE_UNSQUEEZE: + return ConvertUnsqueeze(primitive); + break; + default: + return {}; + } +} + +} // namespace lite +} // namespace mindspore \ No newline at end of file diff --git a/mindspore/lite/mindir/src/mindir_nnrt_lite_graph_to_model_v2_0.cc b/mindspore/lite/mindir/src/mindir_nnrt_lite_graph_to_model_v2_0.cc new file mode 100644 index 00000000..4e109eff --- /dev/null +++ b/mindspore/lite/mindir/src/mindir_nnrt_lite_graph_to_model_v2_0.cc @@ -0,0 +1,1497 @@ +/** + * Copyright 2021 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "mindir.h" +#include +#include +#include +#include "src/common/log.h" +#include "lite_graph.h" +#include "schema/model_generated.h" +#include "mindir_types.h" +#include "message_parcel.h" +#include "nnrt/v2_0/nnrt_types.h" +#include "nnrt/v2_0/node_attr_types.h" +#include "nnrt/v2_0/model_types.h" + +using namespace OHOS::HDI::Nnrt::V2_0; +namespace mindspore { +namespace lite { + +constexpr size_t kNumTwo = 2; +constexpr size_t kNumFour = 4; +constexpr size_t kNumEight = 8; + +inline std::vector MindIR_Tensor_GetQuantParams_OHOS_V2_0(TensorPtr tensor) { + if (tensor != nullptr) { + auto value = static_cast(tensor); + + if (value != nullptr) { + std::vector result; + auto src = value->quantParams(); + if (src == nullptr) { + return {}; + } + size_t size = src->size(); + result.reserve(src->size()); + for (size_t i = 0; i < size; i++) { + auto tmp = src->Get(i); + OHOS::HDI::Nnrt::V2_0::QuantParam quantParam{tmp->numBits(), tmp->zeroPoint(), tmp->scale()}; + result.emplace_back(quantParam); + } + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_Model_Destroy(OHOS::HDI::Nnrt::V2_0::Model **model) { + if (model != nullptr) { + auto model_data = *model; + if (model_data != nullptr) { + delete (model_data); + *model = nullptr; + } else { + MS_LOG(ERROR) << "*model is nullptr, desrtoy model fail."; + } + } +} + +std::vector ConvertActivation_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Activation(); + if (value != nullptr) { + Activation activation{}; + activation.activationType = + static_cast(value->activation_type()); + activation.alpha = value->alpha(); + activation.minVal = value->min_val(); + activation.maxVal = value->max_val(); + activation.approximate = value->approximate(); + OHOS::MessageParcel data; + (void)ActivationBlockMarshalling(data, activation); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertAddFusion_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_AddFusion(); + if (value != nullptr) { + AddFusion add_fusion{}; + add_fusion.activationType = static_cast(value->activation_type()); + OHOS::MessageParcel data; + (void)AddFusionBlockMarshalling(data, add_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertArgMaxFusion_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_ArgMaxFusion(); + if (value != nullptr) { + ArgMaxFusion arg_max_fusion{}; + arg_max_fusion.axis = value->axis(); + arg_max_fusion.topK = value->top_k(); + arg_max_fusion.keepDims = value->keep_dims(); + arg_max_fusion.outMaxValue = value->out_max_value(); + OHOS::MessageParcel data; + (void)ArgMaxFusionBlockMarshalling(data, arg_max_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertAvgPoolFusion_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_AvgPoolFusion(); + if (value != nullptr) { + AvgPoolFusion avg_pool_fusion{}; + std::vector kernel_size; + kernel_size.reserve(kNumTwo); + if (value->kernel_size() == nullptr || value->kernel_size()->size() < kNumTwo) { + kernel_size = {}; + } else { + kernel_size = std::vector(value->kernel_size()->begin(), value->kernel_size()->end()); + } + std::vector strides; + strides.reserve(kNumTwo); + if (value->strides() == nullptr || value->strides()->size() < kNumTwo) { + strides = {}; + } else { + strides = std::vector(value->strides()->begin(), value->strides()->end()); + } + std::vector padList; + strides.reserve(kNumTwo); + if (value->pad() == nullptr || value->pad()->size() < kNumFour) { + padList = {}; + } else { + padList = std::vector(value->pad()->begin(), value->pad()->end()); + } + avg_pool_fusion.kernelSize = kernel_size; + avg_pool_fusion.strides = strides; + avg_pool_fusion.pad = padList; + avg_pool_fusion.padMode = static_cast(value->pad_mode()); + avg_pool_fusion.roundMode = static_cast(value->round_mode()); + avg_pool_fusion.format = static_cast(value->format()); + avg_pool_fusion.global = value->global(); + avg_pool_fusion.activationType = static_cast(value->activation_type()); + OHOS::MessageParcel data; + (void)AvgPoolFusionBlockMarshalling(data, avg_pool_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertBatchToSpaceND_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_BatchToSpaceND(); + if (value != nullptr) { + BatchToSpaceND batch_to_space_n_d{}; + std::vector blockShape; + blockShape.reserve(kNumTwo); + if (value->block_shape() == nullptr || value->block_shape()->size() < kNumTwo) { + blockShape = {0, 0}; + } else { + blockShape = std::vector(value->block_shape()->begin(), value->block_shape()->end()); + } + batch_to_space_n_d.blockShape = blockShape; + auto crops = value->crops(); + std::vector> crops_vec2d; + if (crops->data() == nullptr) { + MS_LOG(ERROR) << "crops_data is nullptr"; + crops_vec2d = {{}}; + } else { + crops_vec2d.reserve(crops->data()->size()); + for (size_t i = 0; i < crops->data()->size(); i++) { + auto vet = crops->data()->Get(i); + crops_vec2d.emplace_back(std::vector(vet->data()->begin(), vet->data()->end())); + } + } + batch_to_space_n_d.crops = crops_vec2d; + OHOS::MessageParcel data; + (void)BatchToSpaceNDBlockMarshalling(data, batch_to_space_n_d); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertBiasAdd_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_BiasAdd(); + if (value != nullptr) { + BiasAdd bias_add{}; + OHOS::MessageParcel data; + (void)BiasAddBlockMarshalling(data, bias_add); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertCast_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Cast(); + if (value != nullptr) { + Cast cast{}; + OHOS::MessageParcel data; + (void)CastBlockMarshalling(data, cast); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertConcat_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Concat(); + if (value != nullptr) { + Concat concat{}; + concat.axis = value->axis(); + OHOS::MessageParcel data; + (void)ConcatBlockMarshalling(data, concat); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertConv2DFusion_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2DFusion(); + if (value != nullptr) { + Conv2DFusion conv2_d_fusion{}; + std::vector kernel_size; + kernel_size.reserve(kNumTwo); + if (value->kernel_size() == nullptr || value->kernel_size()->size() < kNumTwo) { + kernel_size = {}; + } else { + kernel_size = std::vector(value->kernel_size()->begin(), value->kernel_size()->end()); + } + std::vector strides; + strides.reserve(kNumTwo); + if (value->stride() == nullptr || value->stride()->size() < kNumTwo) { + strides = {}; + } else { + strides = std::vector(value->stride()->begin(), value->stride()->end()); + } + std::vector dilation; + dilation.reserve(kNumTwo); + if (value->dilation() == nullptr || value->dilation()->size() < kNumTwo) { + dilation = {}; + } else { + dilation = std::vector(value->dilation()->begin(), value->dilation()->end()); + } + std::vector padList; + strides.reserve(kNumTwo); + if (value->pad_list() == nullptr || value->pad_list()->size() < kNumFour) { + padList = {}; + } else { + padList = std::vector(value->pad_list()->begin(), value->pad_list()->end()); + } + conv2_d_fusion.kernelSize = kernel_size; + conv2_d_fusion.stride = strides; + conv2_d_fusion.dilation = dilation; + conv2_d_fusion.padMode = static_cast(value->pad_mode()); + conv2_d_fusion.padList = padList; + conv2_d_fusion.group = value->group(); + conv2_d_fusion.inChannel = value->in_channel(); + conv2_d_fusion.outChannel = value->out_channel(); + conv2_d_fusion.activationType = static_cast(value->activation_type()); + OHOS::MessageParcel data; + (void)Conv2DFusionBlockMarshalling(data, conv2_d_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertConv2dTransposeFusion_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Conv2dTransposeFusion(); + if (value != nullptr) { + Conv2dTransposeFusion conv2d_transpose_fusion{}; + std::vector kernel_size; + kernel_size.reserve(kNumTwo); + if (value->kernel_size() == nullptr || value->kernel_size()->size() < kNumTwo) { + kernel_size = {}; + } else { + kernel_size = std::vector(value->kernel_size()->begin(), value->kernel_size()->end()); + } + std::vector strides; + strides.reserve(kNumTwo); + if (value->stride() == nullptr || value->stride()->size() < kNumTwo) { + strides = {}; + } else { + strides = std::vector(value->stride()->begin(), value->stride()->end()); + } + std::vector dilation; + dilation.reserve(kNumTwo); + if (value->dilation() == nullptr || value->dilation()->size() < kNumTwo) { + dilation = {}; + } else { + dilation = std::vector(value->dilation()->begin(), value->dilation()->end()); + } + std::vector padList; + strides.reserve(kNumTwo); + if (value->pad_list() == nullptr || value->pad_list()->size() < kNumFour) { + padList = {}; + } else { + padList = std::vector(value->pad_list()->begin(), value->pad_list()->end()); + } + std::vector output_paddings; + output_paddings.reserve(kNumTwo); + if (value->output_paddings() == nullptr || value->output_paddings()->size() < kNumTwo) { + output_paddings = {}; + } else { + output_paddings = std::vector(value->output_paddings()->begin(), value->output_paddings()->end()); + } + conv2d_transpose_fusion.kernelSize = kernel_size; + conv2d_transpose_fusion.stride = strides; + conv2d_transpose_fusion.dilation = dilation; + conv2d_transpose_fusion.padMode = static_cast(value->pad_mode()); + conv2d_transpose_fusion.padList = padList; + conv2d_transpose_fusion.group = value->group(); + conv2d_transpose_fusion.inChannel = value->in_channel(); + conv2d_transpose_fusion.outChannel = value->out_channel(); + conv2d_transpose_fusion.activationType = static_cast(value->activation_type()); + conv2d_transpose_fusion.outputPaddings = output_paddings; + OHOS::MessageParcel data; + (void)Conv2dTransposeFusionBlockMarshalling(data, conv2d_transpose_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertDivFusion_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_DivFusion(); + if (value != nullptr) { + DivFusion div_fusion{}; + div_fusion.activationType = static_cast(value->activation_type()); + OHOS::MessageParcel data; + (void)DivFusionBlockMarshalling(data, div_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertEltwise_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Eltwise(); + if (value != nullptr) { + Eltwise eltwise{}; + eltwise.mode = static_cast(value->mode()); + OHOS::MessageParcel data; + (void)EltwiseBlockMarshalling(data, eltwise); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertExpandDims_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_ExpandDims(); + if (value != nullptr) { + ExpandDims expand_dims{}; + OHOS::MessageParcel data; + (void)ExpandDimsBlockMarshalling(data, expand_dims); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertFill_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Fill(); + if (value != nullptr) { + Fill fill{}; + OHOS::MessageParcel data; + (void)FillBlockMarshalling(data, fill); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertFullConnection_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_FullConnection(); + if (value != nullptr) { + FullConnection full_connection{}; + full_connection.hasBias = value->has_bias(); + full_connection.useAxis = value->use_axis(); + full_connection.axis = value->axis(); + full_connection.activationType = static_cast(value->activation_type()); + OHOS::MessageParcel data; + (void)FullConnectionBlockMarshalling(data, full_connection); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertFusedBatchNorm_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_FusedBatchNorm(); + if (value != nullptr) { + FusedBatchNorm fused_batch_norm{}; + fused_batch_norm.epsilon = value->epsilon(); + OHOS::MessageParcel data; + (void)FusedBatchNormBlockMarshalling(data, fused_batch_norm); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertGather_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Gather(); + if (value != nullptr) { + Gather gather{}; + OHOS::MessageParcel data; + (void)GatherBlockMarshalling(data, gather); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertLayerNormFusion_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_LayerNormFusion(); + if (value != nullptr) { + LayerNormFusion layer_norm_fusion{}; + layer_norm_fusion.beginNormAxis = value->begin_norm_axis(); + layer_norm_fusion.epsilon = value->epsilon(); + layer_norm_fusion.elementwiseAffine = value->elementwise_affine(); + layer_norm_fusion.beginParamsAxis = value->begin_params_axis(); + OHOS::MessageParcel data; + (void)LayerNormFusionBlockMarshalling(data, layer_norm_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertLessEqual_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_LessEqual(); + if (value != nullptr) { + LessEqual less_equal{}; + OHOS::MessageParcel data; + (void)LessEqualBlockMarshalling(data, less_equal); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertMatMulFusion_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_MatMulFusion(); + if (value != nullptr) { + MatMulFusion mat_mul_fusion{}; + mat_mul_fusion.transposeA = value->transpose_a(); + mat_mul_fusion.transposeB = value->transpose_b(); + mat_mul_fusion.activationType = static_cast(value->activation_type()); + OHOS::MessageParcel data; + (void)MatMulFusionBlockMarshalling(data, mat_mul_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertMaximum_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Maximum(); + if (value != nullptr) { + Maximum maximum{}; + OHOS::MessageParcel data; + (void)MaximumBlockMarshalling(data, maximum); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertMaxPoolFusion_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_MaxPoolFusion(); + if (value != nullptr) { + MaxPoolFusion max_pool_fusion{}; + std::vector kernel_size; + kernel_size.reserve(kNumTwo); + if (value->kernel_size() == nullptr || value->kernel_size()->size() < kNumTwo) { + kernel_size = {}; + } else { + kernel_size = std::vector(value->kernel_size()->begin(), value->kernel_size()->end()); + } + std::vector strides; + strides.reserve(kNumTwo); + if (value->strides() == nullptr || value->strides()->size() < kNumTwo) { + strides = {}; + } else { + strides = std::vector(value->strides()->begin(), value->strides()->end()); + } + std::vector padList; + padList.reserve(kNumFour); + if (value->pad() == nullptr || value->pad()->size() < kNumFour) { + padList = {}; + } else { + padList = std::vector(value->pad()->begin(), value->pad()->end()); + } + max_pool_fusion.kernelSize = kernel_size; + max_pool_fusion.strides = strides; + max_pool_fusion.pad = padList; + max_pool_fusion.padMode = static_cast(value->pad_mode()); + max_pool_fusion.format = static_cast(value->format()); + max_pool_fusion.global = value->global(); + max_pool_fusion.activationType = static_cast(value->activation_type()); + max_pool_fusion.roundMode = static_cast(value->round_mode()); + OHOS::MessageParcel data; + (void)MaxPoolFusionBlockMarshalling(data, max_pool_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertMulFusion_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_MulFusion(); + if (value != nullptr) { + MulFusion mul_fusion{}; + mul_fusion.activationType = static_cast(value->activation_type()); + OHOS::MessageParcel data; + (void)MulFusionBlockMarshalling(data, mul_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertOneHot_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_OneHot(); + if (value != nullptr) { + OneHot one_hot{}; + one_hot.axis = value->axis(); + OHOS::MessageParcel data; + (void)OneHotBlockMarshalling(data, one_hot); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertPadFusion_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_PadFusion(); + if (value != nullptr) { + PadFusion pad_fusion{}; + auto paddings = value->paddings(); + std::vector> paddings_vec2d; + if (paddings == nullptr || paddings->data()->size() < kNumTwo) { + paddings_vec2d = {{0}, {0}, {0}, {0}}; + } else { + paddings_vec2d.reserve(paddings->data()->size()); + for (size_t i = 0; i < paddings->data()->size(); i++) { + auto vet = paddings->data()->Get(i); + paddings_vec2d.emplace_back(std::vector(vet->data()->begin(), vet->data()->end())); + } + } + pad_fusion.paddings = paddings_vec2d; + pad_fusion.paddingMode = static_cast(value->padding_mode()); + pad_fusion.constantValue = value->constant_value(); + OHOS::MessageParcel data; + (void)PadFusionBlockMarshalling(data, pad_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertPowFusion_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_PowFusion(); + if (value != nullptr) { + PowFusion pow_fusion{}; + pow_fusion.scale = value->scale(); + pow_fusion.shift = value->shift(); + OHOS::MessageParcel data; + (void)PowFusionBlockMarshalling(data, pow_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertPReLUFusion_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_PReLUFusion(); + if (value != nullptr) { + PReLUFusion p_re_l_u_fusion{}; + p_re_l_u_fusion.channelShared = value->channel_shared(); + OHOS::MessageParcel data; + (void)PReLUFusionBlockMarshalling(data, p_re_l_u_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertQuantDTypeCast_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_QuantDTypeCast(); + if (value != nullptr) { + QuantDTypeCast quant_d_type_cast{}; + quant_d_type_cast.srcT = value->src_t(); + quant_d_type_cast.dstT = value->dst_t(); + OHOS::MessageParcel data; + (void)QuantDTypeCastBlockMarshalling(data, quant_d_type_cast); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertReduceFusion_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_ReduceFusion(); + if (value != nullptr) { + ReduceFusion reduce_fusion{}; + reduce_fusion.keepDims = value->keep_dims(); + reduce_fusion.mode = static_cast(value->mode()); + reduce_fusion.reduceToEnd = value->reduce_to_end(); + reduce_fusion.coeff = value->coeff(); + OHOS::MessageParcel data; + (void)ReduceFusionBlockMarshalling(data, reduce_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertReshape_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Reshape(); + if (value != nullptr) { + Reshape reshape{}; + OHOS::MessageParcel data; + (void)ReshapeBlockMarshalling(data, reshape); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} + +std::vector ConvertResize_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Resize(); + if (value != nullptr) { + Resize resize{}; + resize.method = static_cast(value->method()); + resize.newHeight = value->new_height(); + resize.newWidth = value->new_width(); + resize.preserveAspectRatio = value->preserve_aspect_ratio(); + resize.coordinateTransformMode = + static_cast(value->coordinate_transform_mode()); + resize.cubicCoeff = value->cubic_coeff(); + resize.excludeOutside = value->exclude_outside(); + resize.extrapolationValue = value->extrapolation_value(); + resize.nearestMode = static_cast(value->nearest_mode()); + OHOS::MessageParcel data; + (void)ResizeBlockMarshalling(data, resize); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertRsqrt_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Rsqrt(); + if (value != nullptr) { + Rsqrt rsqrt{}; + OHOS::MessageParcel data; + (void)RsqrtBlockMarshalling(data, rsqrt); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertScaleFusion_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_ScaleFusion(); + if (value != nullptr) { + ScaleFusion scale_fusion{}; + scale_fusion.axis = value->axis(); + scale_fusion.activationType = static_cast(value->activation_type()); + OHOS::MessageParcel data; + (void)ScaleFusionBlockMarshalling(data, scale_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertShape_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Shape(); + if (value != nullptr) { + Shape shape{}; + OHOS::MessageParcel data; + (void)ShapeBlockMarshalling(data, shape); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertSliceFusion_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_SliceFusion(); + if (value != nullptr) { + SliceFusion slice_fusion{}; + std::vector axes; + if (value->axes() == nullptr) { + axes = {1, 2, 3, 4, 5, 6, 7}; + } else { + axes = std::vector(value->axes()->begin(), value->axes()->end()); + } + slice_fusion.axes = axes; + OHOS::MessageParcel data; + (void)SliceFusionBlockMarshalling(data, slice_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertSoftmax_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Softmax(); + if (value != nullptr) { + Softmax softmax{}; + std::vector axis; + if (value->axis() == nullptr) { + axis = {}; + } else { + axis = std::vector(value->axis()->begin(), value->axis()->end()); + } + softmax.axis = axis; + OHOS::MessageParcel data; + (void)SoftmaxBlockMarshalling(data, softmax); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertSpaceToBatchND_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_SpaceToBatchND(); + if (value != nullptr) { + SpaceToBatchND space_to_batch_n_d{}; + std::vector blockShape; + blockShape.reserve(kNumTwo); + if (value->block_shape() == nullptr || value->block_shape()->size() < kNumTwo) { + blockShape = {0, 0}; + } else { + blockShape = std::vector(value->block_shape()->begin(), value->block_shape()->end()); + } + space_to_batch_n_d.blockShape = blockShape; + auto paddings = value->paddings(); + std::vector> paddings_vec2d; + if (paddings == nullptr || paddings->data()->size() == 0 || *(paddings->data()->begin()) == nullptr || + (*(paddings->data()->begin()))->data() == nullptr) { + paddings_vec2d = {}; + } else { + paddings_vec2d.reserve(paddings->data()->size()); + for (size_t i = 0; i < paddings->data()->size(); i++) { + auto vet = paddings->data()->Get(i); + paddings_vec2d.emplace_back(std::vector(vet->data()->begin(), vet->data()->end())); + } + } + space_to_batch_n_d.paddings = paddings_vec2d; + OHOS::MessageParcel data; + (void)SpaceToBatchNDBlockMarshalling(data, space_to_batch_n_d); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertSplit_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Split(); + if (value != nullptr) { + Split split{}; + split.outputNum = value->output_num(); + std::vector sizeSplits; + sizeSplits.reserve(split.outputNum); + if (value->size_splits() == nullptr || value->size_splits()->size() <= static_cast(split.outputNum)) { + sizeSplits = {}; + } else { + sizeSplits = std::vector(value->size_splits()->begin(), value->size_splits()->end()); + } + split.sizeSplits = sizeSplits; + split.axis = value->axis(); + OHOS::MessageParcel data; + (void)SplitBlockMarshalling(data, split); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertSqrt_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Sqrt(); + if (value != nullptr) { + Sqrt sqrt{}; + OHOS::MessageParcel data; + (void)SqrtBlockMarshalling(data, sqrt); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertSquaredDifference_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_SquaredDifference(); + if (value != nullptr) { + SquaredDifference squared_difference{}; + OHOS::MessageParcel data; + (void)SquaredDifferenceBlockMarshalling(data, squared_difference); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertSqueeze_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Squeeze(); + if (value != nullptr) { + Squeeze squeeze{}; + std::vector axis; + if (value->axis() == nullptr) { + axis = {}; + } else { + axis = std::vector(value->axis()->begin(), value->axis()->end()); + } + squeeze.axis = axis; + OHOS::MessageParcel data; + (void)SqueezeBlockMarshalling(data, squeeze); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertStack_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Stack(); + if (value != nullptr) { + Stack stack{}; + stack.axis = value->axis(); + OHOS::MessageParcel data; + (void)StackBlockMarshalling(data, stack); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertStridedSlice_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_StridedSlice(); + if (value != nullptr) { + StridedSlice strided_slice{}; + strided_slice.beginMask = value->begin_mask(); + strided_slice.endMask = value->end_mask(); + strided_slice.ellipsisMask = value->ellipsis_mask(); + strided_slice.newAxisMask = value->new_axis_mask(); + strided_slice.shrinkAxisMask = value->shrink_axis_mask(); + OHOS::MessageParcel data; + (void)StridedSliceBlockMarshalling(data, strided_slice); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertSubFusion_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_SubFusion(); + if (value != nullptr) { + SubFusion sub_fusion{}; + sub_fusion.activationType = static_cast(value->activation_type()); + OHOS::MessageParcel data; + (void)SubFusionBlockMarshalling(data, sub_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertTileFusion_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_TileFusion(); + if (value != nullptr) { + TileFusion tile_fusion{}; + std::vector dims; + dims.reserve(kNumEight); + if (value->dims() == nullptr) { + dims = {0, 0, 0, 0, 0, 0, 0, 0}; + } else { + dims = std::vector(value->dims()->begin(), value->dims()->end()); + } + tile_fusion.dims = dims; + OHOS::MessageParcel data; + (void)TileFusionBlockMarshalling(data, tile_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertTopKFusion_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_TopKFusion(); + if (value != nullptr) { + TopKFusion top_k_fusion{}; + top_k_fusion.sorted = value->sorted(); + top_k_fusion.axis = value->axis(); + OHOS::MessageParcel data; + (void)TopKFusionBlockMarshalling(data, top_k_fusion); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertTranspose_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Transpose(); + if (value != nullptr) { + Transpose transpose{}; + OHOS::MessageParcel data; + (void)TransposeBlockMarshalling(data, transpose); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} +std::vector ConvertUnsqueeze_V2_0(PrimitivePtr primitive) { + if (primitive != nullptr) { + auto prim = static_cast(primitive); + auto value = prim->value_as_Unsqueeze(); + if (value != nullptr) { + Unsqueeze unsqueeze{}; + std::vector axis; + axis.reserve(kNumEight); + if (value->axis() == nullptr) { + axis = {0, 0, 0, 0}; + } else { + axis = std::vector(value->axis()->begin(), value->axis()->end()); + } + unsqueeze.axis = axis; + OHOS::MessageParcel data; + (void)UnsqueezeBlockMarshalling(data, unsqueeze); + std::vector ret(reinterpret_cast(data.GetData()), + reinterpret_cast(data.GetData()) + data.GetDataSize()); + return ret; + } else { + return {}; + } + } else { + return {}; + } +} + +std::vector Convert_V2_0(NodeType type, PrimitivePtr primitive) { + switch (type) { + case NODE_TYPE_ACTIVATION: + return ConvertActivation_V2_0(primitive); + break; + case NODE_TYPE_ADD_FUSION: + return ConvertAddFusion_V2_0(primitive); + break; + case NODE_TYPE_ARGMAX_FUSION: + return ConvertArgMaxFusion_V2_0(primitive); + break; + case NODE_TYPE_AVG_POOL_FUSION: + return ConvertAvgPoolFusion_V2_0(primitive); + break; + case NODE_TYPE_BATCH_TO_SPACE_ND: + return ConvertBatchToSpaceND_V2_0(primitive); + break; + case NODE_TYPE_BIAS_ADD: + return ConvertBiasAdd_V2_0(primitive); + break; + case NODE_TYPE_CAST: + return ConvertCast_V2_0(primitive); + break; + case NODE_TYPE_CONCAT: + return ConvertConcat_V2_0(primitive); + break; + case NODE_TYPE_CONV2D_FUSION: + return ConvertConv2DFusion_V2_0(primitive); + break; + case NODE_TYPE_CONV2D_TRANSPOSE_FUSION: + return ConvertConv2dTransposeFusion_V2_0(primitive); + break; + case NODE_TYPE_DIV_FUSION: + return ConvertDivFusion_V2_0(primitive); + break; + case NODE_TYPE_ELTWISE: + return ConvertEltwise_V2_0(primitive); + break; + case NODE_TYPE_EXPAND_DIMS: + return ConvertExpandDims_V2_0(primitive); + break; + case NODE_TYPE_FILL: + return ConvertFill_V2_0(primitive); + break; + case NODE_TYPE_FULL_CONNECTION: + return ConvertFullConnection_V2_0(primitive); + break; + case NODE_TYPE_FUSED_BATCH_NORM: + return ConvertFusedBatchNorm_V2_0(primitive); + break; + case NODE_TYPE_GATHER: + return ConvertGather_V2_0(primitive); + break; + case NODE_TYPE_LAYER_NORM_FUSION: + return ConvertLayerNormFusion_V2_0(primitive); + break; + case NODE_TYPE_LESS_EQUAL: + return ConvertLessEqual_V2_0(primitive); + break; + case NODE_TYPE_MATMUL_FUSION: + return ConvertMatMulFusion_V2_0(primitive); + break; + case NODE_TYPE_MAXIMUM: + return ConvertMaximum_V2_0(primitive); + break; + case NODE_TYPE_MAX_POOL_FUSION: + return ConvertMaxPoolFusion_V2_0(primitive); + break; + case NODE_TYPE_MUL_FUSION: + return ConvertMulFusion_V2_0(primitive); + break; + case NODE_TYPE_ONE_HOT: + return ConvertOneHot_V2_0(primitive); + break; + case NODE_TYPE_PAD_FUSION: + return ConvertPadFusion_V2_0(primitive); + break; + case NODE_TYPE_POW_FUSION: + return ConvertPowFusion_V2_0(primitive); + break; + case NODE_TYPE_PRELU_FUSION: + return ConvertPReLUFusion_V2_0(primitive); + break; + case NODE_TYPE_QUANT_DTYPE_CAST: + return ConvertQuantDTypeCast_V2_0(primitive); + break; + case NODE_TYPE_REDUCE_FUSION: + return ConvertReduceFusion_V2_0(primitive); + break; + case NODE_TYPE_RESHAPE: + return ConvertReshape_V2_0(primitive); + break; + case NODE_TYPE_RESIZE: + return ConvertResize_V2_0(primitive); + break; + case NODE_TYPE_RSQRT: + return ConvertRsqrt_V2_0(primitive); + break; + case NODE_TYPE_SCALE_FUSION: + return ConvertScaleFusion_V2_0(primitive); + break; + case NODE_TYPE_SHAPE: + return ConvertShape_V2_0(primitive); + break; + case NODE_TYPE_SLICE_FUSION: + return ConvertSliceFusion_V2_0(primitive); + break; + case NODE_TYPE_SOFTMAX: + return ConvertSoftmax_V2_0(primitive); + break; + case NODE_TYPE_SPACE_TO_BATCH_ND: + return ConvertSpaceToBatchND_V2_0(primitive); + break; + case NODE_TYPE_SPLIT: + return ConvertSplit_V2_0(primitive); + break; + case NODE_TYPE_SQRT: + return ConvertSqrt_V2_0(primitive); + break; + case NODE_TYPE_SQUARED_DIFFERENCE: + return ConvertSquaredDifference_V2_0(primitive); + break; + case NODE_TYPE_SQUEEZE: + return ConvertSqueeze_V2_0(primitive); + break; + case NODE_TYPE_STACK: + return ConvertStack_V2_0(primitive); + break; + case NODE_TYPE_STRIDED_SLICE: + return ConvertStridedSlice_V2_0(primitive); + break; + case NODE_TYPE_SUB_FUSION: + return ConvertSubFusion_V2_0(primitive); + break; + case NODE_TYPE_TILE_FUSION: + return ConvertTileFusion_V2_0(primitive); + break; + case NODE_TYPE_TOPK_FUSION: + return ConvertTopKFusion_V2_0(primitive); + break; + case NODE_TYPE_TRANSPOSE: + return ConvertTranspose_V2_0(primitive); + break; + case NODE_TYPE_UNSQUEEZE: + return ConvertUnsqueeze_V2_0(primitive); + break; + default: + return {}; + } +} + +OHOS::HDI::Nnrt::V2_0::Model *MindIR_LiteGraph_To_Model(const LiteGraph *lite_graph, const OHOS::HDI::Nnrt::V2_0::SharedBuffer &buffer) { + if (lite_graph != nullptr) { + MS_LOG(INFO) << "MindIR_LiteGraph_To_Model begin"; + if (!lite_graph->name_.empty()) { + MS_LOG(INFO) << "Start converting lite graph,name =" << lite_graph->name_; + } else { + MS_LOG(INFO) << "Start converting lite graph, but lite graph has no name."; + } + std::vector inputIndex; + std::vector outputIndex; + std::vector nodes; + std::vector allTensors; + std::vector subGraph; + // nodes + MS_LOG(INFO) << "Start converting nodes, vector size = " << lite_graph->all_nodes_.size(); + nodes.reserve(lite_graph->all_nodes_.size()); + for (auto node : lite_graph->all_nodes_) { + if (node == nullptr) { + MS_LOG(ERROR) << "node is nullptr, convert fail."; + return nullptr; + } + OHOS::HDI::Nnrt::V2_0::Node tmp; + tmp.name = node->name_; + if (node->primitive_ == nullptr) { + MS_LOG(ERROR) << "node primitive is nullptr, convert fail."; + return nullptr; + } + auto prim = static_cast(node->primitive_); + auto value = prim->value_type(); + tmp.nodeType = static_cast(value); + tmp.nodeAttr = Convert_V2_0(static_cast(value), node->primitive_); + tmp.inputIndex = node->input_indices_; + tmp.outputIndex = node->output_indices_; + tmp.quantType = static_cast(node->quant_type_); + nodes.emplace_back(tmp); + } + + MS_LOG(INFO) << "Start converting Tensor,Tensor size=" << lite_graph->all_tensors_.size(); + // Tensor + allTensors.reserve(lite_graph->all_tensors_.size()); + unsigned int tensor_buffer_offset = 0; + uint8_t *mmap_ptr = nullptr; + if (buffer.fd != -1) { + mmap_ptr = + static_cast(mmap(nullptr, buffer.bufferSize, PROT_READ | PROT_WRITE, MAP_SHARED, buffer.fd, 0)); + if (mmap_ptr == MAP_FAILED) { + MS_LOG(ERROR) << "mmap failed"; + return nullptr; + } + } + MS_LOG(INFO) << "Start parsing tensor, mmap buffer size = " << buffer.bufferSize; + for (auto tensor : lite_graph->all_tensors_) { + OHOS::HDI::Nnrt::V2_0::Tensor tmp; + tmp.name = MindIR_Tensor_GetName(tensor); + tmp.dataType = static_cast(MindIR_Tensor_GetDataType(tensor)); + tmp.dims = MindIR_Tensor_GetDims(tensor); + tmp.format = static_cast(MindIR_Tensor_GetFormat(tensor)); + tmp.data = MindIR_Tensor_GetData_V2_0(tensor, buffer, mmap_ptr, tensor_buffer_offset); + tmp.quantParams = MindIR_Tensor_GetQuantParams_OHOS_V2_0(tensor); + allTensors.emplace_back(tmp); + tensor_buffer_offset = tmp.data.offset + tmp.data.dataSize; + } + MS_LOG(INFO) << ("Parsing tensor finish."); + if (buffer.fd != -1) { + auto munmap_res = munmap(mmap_ptr, buffer.bufferSize); + if (munmap_res != 0) { + MS_LOG(ERROR) << "unmap failed."; + return nullptr; + } + } + + MS_LOG(INFO) << "Start converting SubGraph,SubGraph size=" << lite_graph->sub_graphs_.size(); + // SubGraph + subGraph.reserve(lite_graph->sub_graphs_.size()); + for (auto graph : lite_graph->sub_graphs_) { + OHOS::HDI::Nnrt::V2_0::SubGraph tmp; + tmp.name = graph->name_; + tmp.inputIndices = std::vector(graph->input_indices_); + tmp.outputIndices = std::vector(graph->output_indices_); + tmp.nodeIndices = std::vector(graph->node_indices_); + subGraph.emplace_back(tmp); + } + + MS_LOG(INFO) << "Start copying model"; + auto *ret_model = new (std::nothrow) Model(); + if (ret_model == nullptr) { + MS_LOG(ERROR) << "new Model failed."; + return nullptr; + } + ret_model->name = lite_graph->name_; + ret_model->inputIndex = lite_graph->input_indices_; + ret_model->outputIndex = lite_graph->output_indices_; + ret_model->nodes = nodes; + ret_model->allTensors = allTensors; + ret_model->subGraph = subGraph; + MS_LOG(INFO) << "MindIR_LiteGraph_To_Model success"; + return ret_model; + } else { + MS_LOG(ERROR) << "lite graph is nullptr"; + return nullptr; + } +} + +} // namespace lite +} // namespace mindspore \ No newline at end of file diff --git a/mindspore/lite/mindir/src/mindir_tensor.cc b/mindspore/lite/mindir/src/mindir_tensor.cc new file mode 100644 index 00000000..9ec2d0e4 --- /dev/null +++ b/mindspore/lite/mindir/src/mindir_tensor.cc @@ -0,0 +1,433 @@ +/** + * Copyright 2021 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "src/common/log.h" +#include "mindir.h" +#include "utils.h" +#include "securec.h" +#include "mindir_memory_manager.h" +#include "nnrt/v1_0/nnrt_types.h" +#include "nnrt/v2_0/nnrt_types.h" + +using namespace OHOS::HDI::Nnrt::V1_0; + +namespace mindspore { +namespace lite { +// ********** Tensor ********** +TensorPtr MindIR_Tensor_Create() { + flatbuffers::FlatBufferBuilder fbb; + std::vector dims(1, 0); + std::vector data(1, 0); + std::vector quant_params(1, {0, 0, 8}); + std::string name = " "; + auto ops_offset = schema::CreateTensor(fbb, 0, DataType::DATA_TYPE_INT32, 0, schema::Format::Format_NCHW, 0, 0, 0, 0, + 0, fbb.CreateString(name.c_str(), name.size())); + fbb.Finish(ops_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreateTensorFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} + +TensorPtr MindIR_Tensor_Create(const std::string &name, DataType data_type, const std::vector &dims, + Format format, const std::vector &data, + const std::vector &quant_params) { + flatbuffers::FlatBufferBuilder fbb; + + auto ops_offset = + schema::CreateTensor(fbb, 0, data_type, fbb.CreateVector(dims.data(), dims.size()), + static_cast(format), 0, 0, fbb.CreateVector(data.data(), data.size()), + ConvertQuantParams(fbb, quant_params), 0, fbb.CreateString(name.c_str(), name.size())); + fbb.Finish(ops_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreateTensorFromBuilder(fbb, nullptr); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + return ret_value; +} + +std::string MindIR_Tensor_GetName(ConstTensorPtr tensor) { + if (tensor != nullptr) { + auto value = static_cast(tensor); + if (value != nullptr) { + return value->name()->str(); + } else { + return ""; + } + } else { + return ""; + } +} + +void MindIR_Tensor_SetName(TensorPtr *tensor, const std::string &name) { + if (tensor != nullptr && *tensor != nullptr) { + auto value = static_cast(*tensor); + if (value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + flatbuffers::Offset> dims; + if (value->dims() == nullptr || value->dims()->size() <= 0) { + dims = 0; + } else { + dims = fbb.CreateVector(value->dims()->data(), value->dims()->size()); + } + flatbuffers::Offset> data; + if (value->data() == nullptr || value->data()->size() <= 0) { + data = 0; + } else { + data = fbb.CreateVector(value->data()->data(), value->data()->size()); + } + auto ops_offset = schema::CreateTensor( + fbb, 0, value->dataType(), dims, static_cast(value->format()), 0, 0, data, + ConvertQuantParams(fbb, value->quantParams()), 0, fbb.CreateString(name.c_str(), name.size())); + fbb.Finish(ops_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreateTensorFromBuilder(fbb, value); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *tensor = ret_value; + } + } +} +DataType MindIR_Tensor_GetDataType(ConstTensorPtr tensor) { + if (tensor != nullptr) { + auto value = static_cast(tensor); + if (value != nullptr) { + return static_cast(value->dataType()); + } else { + DataType en = DATA_TYPE_INT32; + return en; + } + } else { + DataType en = DATA_TYPE_INT32; + return en; + } +} + +void MindIR_Tensor_SetDataType(TensorPtr *tensor, DataType data_type) { + if (tensor != nullptr && *tensor != nullptr) { + auto value = static_cast(*tensor); + if (value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + flatbuffers::Offset> dims; + if (value->dims() == nullptr || value->dims()->size() <= 0) { + dims = 0; + } else { + dims = fbb.CreateVector(value->dims()->data(), value->dims()->size()); + } + flatbuffers::Offset> data; + if (value->data() == nullptr || value->data()->size() <= 0) { + data = 0; + } else { + data = fbb.CreateVector(value->data()->data(), value->data()->size()); + } + flatbuffers::Offset name; + if (value->name() == nullptr || value->name()->size() <= 0) { + name = 0; + } else { + name = fbb.CreateString(value->name()->c_str(), value->name()->size()); + } + auto ops_offset = + schema::CreateTensor(fbb, 0, value->dataType(), dims, static_cast(value->format()), 0, 0, data, + ConvertQuantParams(fbb, value->quantParams()), 0, name); + fbb.Finish(ops_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreateTensorFromBuilder(fbb, value); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *tensor = ret_value; + } + } +} + +std::vector MindIR_Tensor_GetDims(ConstTensorPtr tensor) { + if (tensor != nullptr) { + auto value = static_cast(tensor); + if (value != nullptr) { + std::vector result; + auto src = value->dims(); + if (src == nullptr) { + return {}; + } + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](int32_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_Tensor_SetDims(TensorPtr *tensor, const std::vector &dims) { + if (tensor != nullptr && *tensor != nullptr) { + auto value = static_cast(*tensor); + if (value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + flatbuffers::Offset> data; + if (value->data() == nullptr || value->data()->size() <= 0) { + data = 0; + } else { + data = fbb.CreateVector(value->data()->data(), value->data()->size()); + } + flatbuffers::Offset name; + if (value->name() == nullptr || value->name()->size() <= 0) { + name = 0; + } else { + name = fbb.CreateString(value->name()->c_str(), value->name()->size()); + } + auto ops_offset = schema::CreateTensor(fbb, 0, value->dataType(), fbb.CreateVector(dims.data(), dims.size()), + static_cast(value->format()), 0, 0, data, + ConvertQuantParams(fbb, value->quantParams()), 0, name); + fbb.Finish(ops_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreateTensorFromBuilder(fbb, value); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *tensor = ret_value; + } + } +} +Format MindIR_Tensor_GetFormat(ConstTensorPtr tensor) { + if (tensor != nullptr) { + auto value = static_cast(tensor); + if (value != nullptr) { + return static_cast(value->format()); + } else { + Format en = FORMAT_NCHW; + return en; + } + } else { + Format en = FORMAT_NCHW; + return en; + } +} + +void MindIR_Tensor_SetFormat(TensorPtr *tensor, Format format) { + if (tensor != nullptr && *tensor != nullptr) { + auto value = static_cast(*tensor); + if (value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + flatbuffers::Offset> dims; + if (value->dims() == nullptr || value->dims()->size() <= 0) { + dims = 0; + } else { + dims = fbb.CreateVector(value->dims()->data(), value->dims()->size()); + } + flatbuffers::Offset> data; + if (value->data() == nullptr || value->data()->size() <= 0) { + data = 0; + } else { + data = fbb.CreateVector(value->data()->data(), value->data()->size()); + } + flatbuffers::Offset name; + if (value->name() == nullptr || value->name()->size() <= 0) { + name = 0; + } else { + name = fbb.CreateString(value->name()->c_str(), value->name()->size()); + } + auto ops_offset = schema::CreateTensor(fbb, 0, value->dataType(), dims, static_cast(format), 0, 0, + data, ConvertQuantParams(fbb, value->quantParams()), 0, name); + fbb.Finish(ops_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreateTensorFromBuilder(fbb, value); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *tensor = ret_value; + } + } +} + +OHOS::HDI::Nnrt::V1_0::SharedBuffer MindIR_Tensor_GetData(ConstTensorPtr tensor, + const OHOS::HDI::Nnrt::V1_0::SharedBuffer &buffer_templete, + uint8_t *mmap_ptr, unsigned int offset) { + if (tensor != nullptr) { + auto value = static_cast(tensor); + if (value != nullptr) { + OHOS::HDI::Nnrt::V1_0::SharedBuffer result{}; + + if (value->data() == nullptr || value->data()->size() == 0) { + result.fd = -1; + result.bufferSize = buffer_templete.bufferSize; + result.offset = offset; + result.dataSize = 0; + return result; + } + if (mmap_ptr == nullptr) { + MS_LOG(ERROR) << "Tensor GetData failed, mmap pointer should not be nullptr"; + return {-1, 0, offset, 0}; + } + result.fd = buffer_templete.fd; + result.bufferSize = buffer_templete.bufferSize; + auto ret = memcpy_s(mmap_ptr + offset, value->data()->size(), value->data()->data(), value->data()->size()); + if (ret != EOK) { + MS_LOG(ERROR) << "Tensor memcpy failed, ret:" << ret; + return {-1, 0, offset, 0}; + } + result.offset = offset; + result.dataSize = value->data()->size(); + return result; + } else { + MS_LOG(ERROR) << "Tensor GetData failed, mmap pointer should not be nullptr"; + return {-1, 0, offset, 0}; + } + } else { + return {-1, 0, offset, 0}; + } +} + +OHOS::HDI::Nnrt::V2_0::SharedBuffer MindIR_Tensor_GetData_V2_0(ConstTensorPtr tensor, + const OHOS::HDI::Nnrt::V2_0::SharedBuffer &buffer_templete, + uint8_t *mmap_ptr, unsigned int offset) { + if (tensor != nullptr) { + auto value = static_cast(tensor); + if (value != nullptr) { + OHOS::HDI::Nnrt::V2_0::SharedBuffer result{}; + + if (value->data() == nullptr || value->data()->size() == 0) { + result.fd = -1; + result.bufferSize = buffer_templete.bufferSize; + result.offset = offset; + result.dataSize = 0; + return result; + } + if (mmap_ptr == nullptr) { + MS_LOG(ERROR) << "Tensor GetData failed, mmap pointer should not be nullptr"; + return {-1, 0, offset, 0}; + } + result.fd = buffer_templete.fd; + result.bufferSize = buffer_templete.bufferSize; + auto ret = memcpy_s(mmap_ptr + offset, value->data()->size(), value->data()->data(), value->data()->size()); + if (ret != EOK) { + MS_LOG(ERROR) << "Tensor memcpy failed, ret:" << ret; + return {-1, 0, offset, 0}; + } + result.offset = offset; + result.dataSize = value->data()->size(); + return result; + } else { + MS_LOG(WARNING) << "Tensor GetData failed, mmap pointer should not be nullptr"; + return {-1, 0, offset, 0}; + } + } else { + return {-1, 0, offset, 0}; + } +} + +std::vector MindIR_Tensor_GetData(ConstTensorPtr tensor) { + if (tensor != nullptr) { + auto value = static_cast(tensor); + if (value != nullptr) { + std::vector result; + auto src = value->data(); + if (src == nullptr) { + return {}; + } + result.resize(src->size()); + std::transform(src->begin(), src->end(), result.begin(), [](uint8_t item) { return item; }); + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_Tensor_SetData(TensorPtr *tensor, const std::vector &data) { + if (tensor != nullptr && *tensor != nullptr) { + auto value = static_cast(*tensor); + if (value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + flatbuffers::Offset> dims; + if (value->dims() == nullptr || value->dims()->size() <= 0) { + dims = 0; + } else { + dims = fbb.CreateVector(value->dims()->data(), value->dims()->size()); + } + flatbuffers::Offset name; + if (value->name() == nullptr || value->name()->size() <= 0) { + name = 0; + } else { + name = fbb.CreateString(value->name()->c_str(), value->name()->size()); + } + auto ops_offset = schema::CreateTensor( + fbb, 0, value->dataType(), dims, static_cast(value->format()), 0, 0, + fbb.CreateVector(data.data(), data.size()), ConvertQuantParams(fbb, value->quantParams()), 0, name); + fbb.Finish(ops_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreateTensorFromBuilder(fbb, value); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *tensor = ret_value; + } + } +} +std::vector MindIR_Tensor_GetQuantParams(ConstTensorPtr tensor) { + if (tensor != nullptr) { + auto value = static_cast(tensor); + if (value != nullptr) { + std::vector result; + auto src = value->quantParams(); + if (src == nullptr) { + return {}; + } + size_t size = src->size(); + result.reserve(src->size()); + for (size_t i = 0; i < size; i++) { + auto tmp = src->Get(i); + QuantParam q{tmp->zeroPoint(), tmp->scale(), tmp->numBits()}; + result.emplace_back(q); + } + return result; + } else { + return {}; + } + } else { + return {}; + } +} + +void MindIR_Tensor_SetQuantParams(TensorPtr *tensor, const std::vector &quant_params) { + if (tensor != nullptr && *tensor != nullptr) { + auto value = static_cast(*tensor); + if (value != nullptr) { + flatbuffers::FlatBufferBuilder fbb; + flatbuffers::Offset> dims; + if (value->dims() == nullptr || value->dims()->size() <= 0) { + dims = 0; + } else { + dims = fbb.CreateVector(value->dims()->data(), value->dims()->size()); + } + flatbuffers::Offset> data; + if (value->data() == nullptr || value->data()->size() <= 0) { + data = 0; + } else { + data = fbb.CreateVector(value->data()->data(), value->data()->size()); + } + flatbuffers::Offset name; + if (value->name() == nullptr || value->name()->size() <= 0) { + name = 0; + } else { + name = fbb.CreateString(value->name()->c_str(), value->name()->size()); + } + auto ops_offset = + schema::CreateTensor(fbb, 0, value->dataType(), dims, static_cast(value->format()), 0, 0, data, + ConvertQuantParams(fbb, quant_params), 0, name); + fbb.Finish(ops_offset); + auto new_addr = MindIRMemoryManager::GetInstance()->CreateTensorFromBuilder(fbb, value); + auto ret_value = flatbuffers::GetMutableRoot(new_addr); + *tensor = ret_value; + } + } +} + +void MindIR_Tensor_Destroy(TensorPtr *tensor) { + if (tensor != nullptr && *tensor != nullptr) { + auto schema = static_cast(*tensor); + MindIRMemoryManager::GetInstance()->DeleteTensor(schema); + *tensor = nullptr; + } + *tensor = nullptr; +} +} // namespace lite +} // namespace mindspore diff --git a/mindspore/lite/mindir/src/utils.cc b/mindspore/lite/mindir/src/utils.cc new file mode 100644 index 00000000..28d66ceb --- /dev/null +++ b/mindspore/lite/mindir/src/utils.cc @@ -0,0 +1,102 @@ +/** + * Copyright 2021 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "utils.h" +#include "securec.h" +#include "src/common/log.h" +#include "mindir_memory_manager.h" +namespace mindspore { +namespace lite { + +// ********** PrimitiveBase ********** +NodeType MindIR_Primitive_GetType(PrimitivePtr primitive) { + auto prim = flatbuffers::GetMutableRoot(primitive); + auto type = prim->value_type(); + return static_cast(type); +} + +void MindIR_Primitive_Destroy(PrimitivePtr *primitive) { + if (primitive != nullptr && *primitive != nullptr) { + auto schema = static_cast(*primitive); + MS_LOG(ERROR) << "schema=" << schema->value_type(); + MindIRMemoryManager::GetInstance()->DeletePrimitive(schema); + *primitive = nullptr; + } +} +PrimitivePtr MindIR_CreatePrimitiveFromBuilder(flatbuffers::FlatBufferBuilder &fbb) { + auto buff = reinterpret_cast(malloc(fbb.GetSize())); + if (buff == nullptr) { + MS_LOG(ERROR) << "malloc memory for primitive failed!"; + fbb.Clear(); + return nullptr; + } + auto ret = memcpy_s(buff, fbb.GetSize(), fbb.GetBufferPointer(), fbb.GetSize()); + if (ret != EOK) { + MS_LOG(ERROR) << "memcpy failed, ret:" << ret; + fbb.Clear(); + return nullptr; + } + fbb.Clear(); + return buff; +} +flatbuffers::Offset CreateVec2D(flatbuffers::FlatBufferBuilder &fbb, + const std::vector> &data) { + std::vector> vet2d; + vet2d.reserve(data.size()); + for (const auto &data_one : data) { + vet2d.emplace_back(schema::CreateVec(fbb, fbb.CreateVector(data_one))); + } + flatbuffers::Offset v2d = schema::CreateVec2D(fbb, fbb.CreateVector(vet2d)); + return v2d; +} +flatbuffers::Offset CreateVec2D(flatbuffers::FlatBufferBuilder &fbb, + const mindspore::schema::Vec2D *data) { + auto data_inner = data->data(); + std::vector> vet2d; + vet2d.reserve(data_inner->size()); + for (const auto data_one : *data_inner) { + vet2d.emplace_back(schema::CreateVec(fbb, fbb.CreateVector(data_one->data()->data(), data_one->data()->size()))); + } + flatbuffers::Offset v2d = schema::CreateVec2D(fbb, fbb.CreateVector(vet2d)); + return v2d; +} + +flatbuffers::Offset>> ConvertQuantParams( + flatbuffers::FlatBufferBuilder &fbb, const std::vector &quant_params) { + std::vector> tmp_vec; + tmp_vec.reserve(quant_params.size()); + for (auto q_param : quant_params) { + tmp_vec.emplace_back(schema::CreateQuantParam(fbb, q_param.scale, q_param.zeroPoint, 0, 0, true, q_param.numBits)); + } + flatbuffers::Offset>> ret_quant_param = + fbb.CreateVector(tmp_vec.data(), tmp_vec.size()); + return ret_quant_param; +} + +flatbuffers::Offset>> ConvertQuantParams( + flatbuffers::FlatBufferBuilder &fbb, + const flatbuffers::Vector> *quant_params) { + std::vector> tmp_vec; + tmp_vec.reserve(quant_params->size()); + for (auto q_param : *quant_params) { + tmp_vec.emplace_back( + schema::CreateQuantParam(fbb, q_param->scale(), q_param->zeroPoint(), 0, 0, true, q_param->numBits())); + } + flatbuffers::Offset>> ret_quant_param = + fbb.CreateVector(tmp_vec.data(), tmp_vec.size()); + return ret_quant_param; +} +} // namespace lite +} // namespace mindspore \ No newline at end of file diff --git a/mindspore/lite/mindir/tests/BUILD.gn b/mindspore/lite/mindir/tests/BUILD.gn new file mode 100644 index 00000000..de1902fe --- /dev/null +++ b/mindspore/lite/mindir/tests/BUILD.gn @@ -0,0 +1,35 @@ +# Copyright 2022 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ + +import("//build/ohos.gni") + +ohos_executable("mindir_test") { + sources = [ "mindir_test.cc" ] + + include_dirs = [ + "./", + "../include", + "../include/inner", + "../../", + "//third_party/flatbuffers/include", + ] + remove_configs = [ "//build/config/compiler:no_rtti" ] + + deps = [ "../:mindir" ] + + output_name = "mindir_test" + install_enable = true + part_name = "mindspore" +} diff --git a/mindspore/lite/mindir/tests/mindir_test.cc b/mindspore/lite/mindir/tests/mindir_test.cc new file mode 100644 index 00000000..09ef7090 --- /dev/null +++ b/mindspore/lite/mindir/tests/mindir_test.cc @@ -0,0 +1,51 @@ +#include "mindir.h" +#include "mindir_memory_manager.h" +#include +#include +using namespace mindspore::lite; +int main() { + int loop = 0; + int all = 100; + while (loop < all) { + auto tensor = MindIR_Tensor_Create(); + auto str = MindIR_Tensor_GetName(tensor); + DataType dataType = DATA_TYPE_UINT16; + MindIR_Tensor_SetDataType(&tensor, dataType); + std::cout << "set data type" << std::endl; + DataType d = MindIR_Tensor_GetDataType(tensor); + std::cout << "loop = " << loop << ",data type = " << (int)d << std::endl; + PrimitivePtr ret = nullptr; + ret = MindIR_SquaredDifference_CreatePrimitive(); + std::cout << "MindIR_SquaredDifference_CreatePrimitive 1,PrimitivePtr = " << ret << std::endl; + ret = MindIR_SquaredDifference_CreatePrimitive(); + std::cout << "MindIR_SquaredDifference_CreatePrimitive 1,PrimitivePtr = " << ret << std::endl; + ret = MindIR_SubFusion_CreatePrimitive(ACTIVATION_TYPE_RELU6); + std::cout << "MindIR_SubFusion_CreatePrimitive 2,PrimitivePtr = " << ret << std::endl; + ret = MindIR_Activation_CreatePrimitive(ACTIVATION_TYPE_RELU6, .5, 0, 1, true); + std::cout << "MindIR_Activation_CreatePrimitive 3,PrimitivePtr = " << ret << std::endl; + MindIR_Primitive_Destroy(&ret); + std::cout << "MindIR_Primitive_Destroy,PrimitivePtr = " << ret << std::endl; + TensorPtr t_ret = nullptr; + t_ret = MindIR_Tensor_Create(); + std::cout << "MindIR_Tensor_Create 3,TensorPtr = " << t_ret << std::endl; + MindIR_Tensor_Destroy(&t_ret); + std::cout << "MindIR_Tensor_Destroy,Tensor = " << t_ret << std::endl; + ret = MindIR_SpaceToBatchND_CreatePrimitive({2, 2}, {{0}, {0}, {0}, {0}}); + auto blockshape = MindIR_SpaceToBatchND_GetBlockShape(ret); + std::string bs_(""); + for (int i = 0; i < 2; i++) { + bs_.append(std::to_string(blockshape[i]).c_str()); + } + std::cout << "MindIR_SpaceToBatchND_GetBlockShape,blockshape = " << bs_ << std::endl; + auto paddings = MindIR_SpaceToBatchND_GetPaddings(ret); + std::string pad_(""); + for (auto item : paddings) { + pad_.append(std::to_string(item[0]).c_str()); + } + std::cout << "MindIR_SpaceToBatchND_GetPaddings,Paddings = " << pad_ << std::endl; + loop++; + } + MindIRMemoryManager::GetInstance()->ClearAllMemory(); + std::cout << "MindIRMemoryManager::GetInstance()->ClearAllMemory()" << std::endl; + loop++; +} \ No newline at end of file diff --git a/mindspore/lite/schema/gpu_cache_generated.h b/mindspore/lite/schema/gpu_cache_generated.h new file mode 100644 index 00000000..4a95aa29 --- /dev/null +++ b/mindspore/lite/schema/gpu_cache_generated.h @@ -0,0 +1,319 @@ +// automatically generated by the FlatBuffers compiler, do not modify + + +#ifndef FLATBUFFERS_GENERATED_GPUCACHE_MINDSPORE_SCHEMA_H_ +#define FLATBUFFERS_GENERATED_GPUCACHE_MINDSPORE_SCHEMA_H_ + +#include "flatbuffers/flatbuffers.h" + +namespace mindspore { +namespace schema { + +struct TuneParam; +struct TuneParamBuilder; + +struct ProgramBinary; +struct ProgramBinaryBuilder; + +struct GpuCache; +struct GpuCacheBuilder; + +struct TuneParam FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TuneParamBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_LOCAL = 4, + VT_BLOCK = 6, + VT_SHAPE = 8, + VT_OPPARA = 10 + }; + const flatbuffers::Vector *local() const { + return GetPointer *>(VT_LOCAL); + } + const flatbuffers::Vector *block() const { + return GetPointer *>(VT_BLOCK); + } + const flatbuffers::Vector *shape() const { + return GetPointer *>(VT_SHAPE); + } + const flatbuffers::Vector *opPara() const { + return GetPointer *>(VT_OPPARA); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_LOCAL) && + verifier.VerifyVector(local()) && + VerifyOffset(verifier, VT_BLOCK) && + verifier.VerifyVector(block()) && + VerifyOffset(verifier, VT_SHAPE) && + verifier.VerifyVector(shape()) && + VerifyOffset(verifier, VT_OPPARA) && + verifier.VerifyVector(opPara()) && + verifier.EndTable(); + } +}; + +struct TuneParamBuilder { + typedef TuneParam Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_local(flatbuffers::Offset> local) { + fbb_.AddOffset(TuneParam::VT_LOCAL, local); + } + void add_block(flatbuffers::Offset> block) { + fbb_.AddOffset(TuneParam::VT_BLOCK, block); + } + void add_shape(flatbuffers::Offset> shape) { + fbb_.AddOffset(TuneParam::VT_SHAPE, shape); + } + void add_opPara(flatbuffers::Offset> opPara) { + fbb_.AddOffset(TuneParam::VT_OPPARA, opPara); + } + explicit TuneParamBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTuneParam( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> local = 0, + flatbuffers::Offset> block = 0, + flatbuffers::Offset> shape = 0, + flatbuffers::Offset> opPara = 0) { + TuneParamBuilder builder_(_fbb); + builder_.add_opPara(opPara); + builder_.add_shape(shape); + builder_.add_block(block); + builder_.add_local(local); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateTuneParamDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *local = nullptr, + const std::vector *block = nullptr, + const std::vector *shape = nullptr, + const std::vector *opPara = nullptr) { + auto local__ = local ? _fbb.CreateVector(*local) : 0; + auto block__ = block ? _fbb.CreateVector(*block) : 0; + auto shape__ = shape ? _fbb.CreateVector(*shape) : 0; + auto opPara__ = opPara ? _fbb.CreateVector(*opPara) : 0; + return mindspore::schema::CreateTuneParam( + _fbb, + local__, + block__, + shape__, + opPara__); +} + +struct ProgramBinary FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ProgramBinaryBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PROGRAM_NAME = 4, + VT_BUILD_OPTION = 6, + VT_TUNE = 8, + VT_DATA = 10 + }; + const flatbuffers::String *program_name() const { + return GetPointer(VT_PROGRAM_NAME); + } + const flatbuffers::String *build_option() const { + return GetPointer(VT_BUILD_OPTION); + } + const mindspore::schema::TuneParam *tune() const { + return GetPointer(VT_TUNE); + } + const flatbuffers::Vector *data() const { + return GetPointer *>(VT_DATA); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_PROGRAM_NAME) && + verifier.VerifyString(program_name()) && + VerifyOffset(verifier, VT_BUILD_OPTION) && + verifier.VerifyString(build_option()) && + VerifyOffset(verifier, VT_TUNE) && + verifier.VerifyTable(tune()) && + VerifyOffset(verifier, VT_DATA) && + verifier.VerifyVector(data()) && + verifier.EndTable(); + } +}; + +struct ProgramBinaryBuilder { + typedef ProgramBinary Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_program_name(flatbuffers::Offset program_name) { + fbb_.AddOffset(ProgramBinary::VT_PROGRAM_NAME, program_name); + } + void add_build_option(flatbuffers::Offset build_option) { + fbb_.AddOffset(ProgramBinary::VT_BUILD_OPTION, build_option); + } + void add_tune(flatbuffers::Offset tune) { + fbb_.AddOffset(ProgramBinary::VT_TUNE, tune); + } + void add_data(flatbuffers::Offset> data) { + fbb_.AddOffset(ProgramBinary::VT_DATA, data); + } + explicit ProgramBinaryBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateProgramBinary( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset program_name = 0, + flatbuffers::Offset build_option = 0, + flatbuffers::Offset tune = 0, + flatbuffers::Offset> data = 0) { + ProgramBinaryBuilder builder_(_fbb); + builder_.add_data(data); + builder_.add_tune(tune); + builder_.add_build_option(build_option); + builder_.add_program_name(program_name); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateProgramBinaryDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *program_name = nullptr, + const char *build_option = nullptr, + flatbuffers::Offset tune = 0, + const std::vector *data = nullptr) { + auto program_name__ = program_name ? _fbb.CreateString(program_name) : 0; + auto build_option__ = build_option ? _fbb.CreateString(build_option) : 0; + auto data__ = data ? _fbb.CreateVector(*data) : 0; + return mindspore::schema::CreateProgramBinary( + _fbb, + program_name__, + build_option__, + tune, + data__); +} + +struct GpuCache FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GpuCacheBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_VERSION = 6, + VT_ALLBINS = 8 + }; + const flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + const flatbuffers::String *version() const { + return GetPointer(VT_VERSION); + } + const flatbuffers::Vector> *allBins() const { + return GetPointer> *>(VT_ALLBINS); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyOffset(verifier, VT_VERSION) && + verifier.VerifyString(version()) && + VerifyOffset(verifier, VT_ALLBINS) && + verifier.VerifyVector(allBins()) && + verifier.VerifyVectorOfTables(allBins()) && + verifier.EndTable(); + } +}; + +struct GpuCacheBuilder { + typedef GpuCache Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_name(flatbuffers::Offset name) { + fbb_.AddOffset(GpuCache::VT_NAME, name); + } + void add_version(flatbuffers::Offset version) { + fbb_.AddOffset(GpuCache::VT_VERSION, version); + } + void add_allBins(flatbuffers::Offset>> allBins) { + fbb_.AddOffset(GpuCache::VT_ALLBINS, allBins); + } + explicit GpuCacheBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateGpuCache( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset name = 0, + flatbuffers::Offset version = 0, + flatbuffers::Offset>> allBins = 0) { + GpuCacheBuilder builder_(_fbb); + builder_.add_allBins(allBins); + builder_.add_version(version); + builder_.add_name(name); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateGpuCacheDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *name = nullptr, + const char *version = nullptr, + const std::vector> *allBins = nullptr) { + auto name__ = name ? _fbb.CreateString(name) : 0; + auto version__ = version ? _fbb.CreateString(version) : 0; + auto allBins__ = allBins ? _fbb.CreateVector>(*allBins) : 0; + return mindspore::schema::CreateGpuCache( + _fbb, + name__, + version__, + allBins__); +} + +inline const mindspore::schema::GpuCache *GetGpuCache(const void *buf) { + return flatbuffers::GetRoot(buf); +} + +inline const mindspore::schema::GpuCache *GetSizePrefixedGpuCache(const void *buf) { + return flatbuffers::GetSizePrefixedRoot(buf); +} + +inline bool VerifyGpuCacheBuffer( + flatbuffers::Verifier &verifier) { + return verifier.VerifyBuffer(nullptr); +} + +inline bool VerifySizePrefixedGpuCacheBuffer( + flatbuffers::Verifier &verifier) { + return verifier.VerifySizePrefixedBuffer(nullptr); +} + +inline void FinishGpuCacheBuffer( + flatbuffers::FlatBufferBuilder &fbb, + flatbuffers::Offset root) { + fbb.Finish(root); +} + +inline void FinishSizePrefixedGpuCacheBuffer( + flatbuffers::FlatBufferBuilder &fbb, + flatbuffers::Offset root) { + fbb.FinishSizePrefixed(root); +} + +} // namespace schema +} // namespace mindspore + +#endif // FLATBUFFERS_GENERATED_GPUCACHE_MINDSPORE_SCHEMA_H_ diff --git a/mindspore/lite/schema/inner/gpu_cache_generated.h b/mindspore/lite/schema/inner/gpu_cache_generated.h new file mode 100644 index 00000000..7641a210 --- /dev/null +++ b/mindspore/lite/schema/inner/gpu_cache_generated.h @@ -0,0 +1,573 @@ +// automatically generated by the FlatBuffers compiler, do not modify + + +#ifndef FLATBUFFERS_GENERATED_GPUCACHE_MINDSPORE_SCHEMA_H_ +#define FLATBUFFERS_GENERATED_GPUCACHE_MINDSPORE_SCHEMA_H_ + +#include "flatbuffers/flatbuffers.h" + +namespace mindspore { +namespace schema { + +struct TuneParam; +struct TuneParamBuilder; +struct TuneParamT; + +struct ProgramBinary; +struct ProgramBinaryBuilder; +struct ProgramBinaryT; + +struct GpuCache; +struct GpuCacheBuilder; +struct GpuCacheT; + +inline const flatbuffers::TypeTable *TuneParamTypeTable(); + +inline const flatbuffers::TypeTable *ProgramBinaryTypeTable(); + +inline const flatbuffers::TypeTable *GpuCacheTypeTable(); + +struct TuneParamT : public flatbuffers::NativeTable { + typedef TuneParam TableType; + std::vector local{}; + std::vector block{}; + std::vector shape{}; + std::vector opPara{}; +}; + +struct TuneParam FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TuneParamT NativeTableType; + typedef TuneParamBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return TuneParamTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_LOCAL = 4, + VT_BLOCK = 6, + VT_SHAPE = 8, + VT_OPPARA = 10 + }; + const flatbuffers::Vector *local() const { + return GetPointer *>(VT_LOCAL); + } + flatbuffers::Vector *mutable_local() { + return GetPointer *>(VT_LOCAL); + } + const flatbuffers::Vector *block() const { + return GetPointer *>(VT_BLOCK); + } + flatbuffers::Vector *mutable_block() { + return GetPointer *>(VT_BLOCK); + } + const flatbuffers::Vector *shape() const { + return GetPointer *>(VT_SHAPE); + } + flatbuffers::Vector *mutable_shape() { + return GetPointer *>(VT_SHAPE); + } + const flatbuffers::Vector *opPara() const { + return GetPointer *>(VT_OPPARA); + } + flatbuffers::Vector *mutable_opPara() { + return GetPointer *>(VT_OPPARA); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_LOCAL) && + verifier.VerifyVector(local()) && + VerifyOffset(verifier, VT_BLOCK) && + verifier.VerifyVector(block()) && + VerifyOffset(verifier, VT_SHAPE) && + verifier.VerifyVector(shape()) && + VerifyOffset(verifier, VT_OPPARA) && + verifier.VerifyVector(opPara()) && + verifier.EndTable(); + } + TuneParamT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(TuneParamT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const TuneParamT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct TuneParamBuilder { + typedef TuneParam Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_local(flatbuffers::Offset> local) { + fbb_.AddOffset(TuneParam::VT_LOCAL, local); + } + void add_block(flatbuffers::Offset> block) { + fbb_.AddOffset(TuneParam::VT_BLOCK, block); + } + void add_shape(flatbuffers::Offset> shape) { + fbb_.AddOffset(TuneParam::VT_SHAPE, shape); + } + void add_opPara(flatbuffers::Offset> opPara) { + fbb_.AddOffset(TuneParam::VT_OPPARA, opPara); + } + explicit TuneParamBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTuneParam( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> local = 0, + flatbuffers::Offset> block = 0, + flatbuffers::Offset> shape = 0, + flatbuffers::Offset> opPara = 0) { + TuneParamBuilder builder_(_fbb); + builder_.add_opPara(opPara); + builder_.add_shape(shape); + builder_.add_block(block); + builder_.add_local(local); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateTuneParamDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *local = nullptr, + const std::vector *block = nullptr, + const std::vector *shape = nullptr, + const std::vector *opPara = nullptr) { + auto local__ = local ? _fbb.CreateVector(*local) : 0; + auto block__ = block ? _fbb.CreateVector(*block) : 0; + auto shape__ = shape ? _fbb.CreateVector(*shape) : 0; + auto opPara__ = opPara ? _fbb.CreateVector(*opPara) : 0; + return mindspore::schema::CreateTuneParam( + _fbb, + local__, + block__, + shape__, + opPara__); +} + +flatbuffers::Offset CreateTuneParam(flatbuffers::FlatBufferBuilder &_fbb, const TuneParamT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ProgramBinaryT : public flatbuffers::NativeTable { + typedef ProgramBinary TableType; + std::string program_name{}; + std::string build_option{}; + std::unique_ptr tune{}; + std::vector data{}; +}; + +struct ProgramBinary FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ProgramBinaryT NativeTableType; + typedef ProgramBinaryBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ProgramBinaryTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PROGRAM_NAME = 4, + VT_BUILD_OPTION = 6, + VT_TUNE = 8, + VT_DATA = 10 + }; + const flatbuffers::String *program_name() const { + return GetPointer(VT_PROGRAM_NAME); + } + flatbuffers::String *mutable_program_name() { + return GetPointer(VT_PROGRAM_NAME); + } + const flatbuffers::String *build_option() const { + return GetPointer(VT_BUILD_OPTION); + } + flatbuffers::String *mutable_build_option() { + return GetPointer(VT_BUILD_OPTION); + } + const mindspore::schema::TuneParam *tune() const { + return GetPointer(VT_TUNE); + } + mindspore::schema::TuneParam *mutable_tune() { + return GetPointer(VT_TUNE); + } + const flatbuffers::Vector *data() const { + return GetPointer *>(VT_DATA); + } + flatbuffers::Vector *mutable_data() { + return GetPointer *>(VT_DATA); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_PROGRAM_NAME) && + verifier.VerifyString(program_name()) && + VerifyOffset(verifier, VT_BUILD_OPTION) && + verifier.VerifyString(build_option()) && + VerifyOffset(verifier, VT_TUNE) && + verifier.VerifyTable(tune()) && + VerifyOffset(verifier, VT_DATA) && + verifier.VerifyVector(data()) && + verifier.EndTable(); + } + ProgramBinaryT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ProgramBinaryT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ProgramBinaryT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ProgramBinaryBuilder { + typedef ProgramBinary Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_program_name(flatbuffers::Offset program_name) { + fbb_.AddOffset(ProgramBinary::VT_PROGRAM_NAME, program_name); + } + void add_build_option(flatbuffers::Offset build_option) { + fbb_.AddOffset(ProgramBinary::VT_BUILD_OPTION, build_option); + } + void add_tune(flatbuffers::Offset tune) { + fbb_.AddOffset(ProgramBinary::VT_TUNE, tune); + } + void add_data(flatbuffers::Offset> data) { + fbb_.AddOffset(ProgramBinary::VT_DATA, data); + } + explicit ProgramBinaryBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateProgramBinary( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset program_name = 0, + flatbuffers::Offset build_option = 0, + flatbuffers::Offset tune = 0, + flatbuffers::Offset> data = 0) { + ProgramBinaryBuilder builder_(_fbb); + builder_.add_data(data); + builder_.add_tune(tune); + builder_.add_build_option(build_option); + builder_.add_program_name(program_name); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateProgramBinaryDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *program_name = nullptr, + const char *build_option = nullptr, + flatbuffers::Offset tune = 0, + const std::vector *data = nullptr) { + auto program_name__ = program_name ? _fbb.CreateString(program_name) : 0; + auto build_option__ = build_option ? _fbb.CreateString(build_option) : 0; + auto data__ = data ? _fbb.CreateVector(*data) : 0; + return mindspore::schema::CreateProgramBinary( + _fbb, + program_name__, + build_option__, + tune, + data__); +} + +flatbuffers::Offset CreateProgramBinary(flatbuffers::FlatBufferBuilder &_fbb, const ProgramBinaryT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct GpuCacheT : public flatbuffers::NativeTable { + typedef GpuCache TableType; + std::string name{}; + std::string version{}; + std::vector> allBins{}; +}; + +struct GpuCache FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GpuCacheT NativeTableType; + typedef GpuCacheBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return GpuCacheTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_VERSION = 6, + VT_ALLBINS = 8 + }; + const flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + flatbuffers::String *mutable_name() { + return GetPointer(VT_NAME); + } + const flatbuffers::String *version() const { + return GetPointer(VT_VERSION); + } + flatbuffers::String *mutable_version() { + return GetPointer(VT_VERSION); + } + const flatbuffers::Vector> *allBins() const { + return GetPointer> *>(VT_ALLBINS); + } + flatbuffers::Vector> *mutable_allBins() { + return GetPointer> *>(VT_ALLBINS); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyOffset(verifier, VT_VERSION) && + verifier.VerifyString(version()) && + VerifyOffset(verifier, VT_ALLBINS) && + verifier.VerifyVector(allBins()) && + verifier.VerifyVectorOfTables(allBins()) && + verifier.EndTable(); + } + GpuCacheT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(GpuCacheT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const GpuCacheT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct GpuCacheBuilder { + typedef GpuCache Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_name(flatbuffers::Offset name) { + fbb_.AddOffset(GpuCache::VT_NAME, name); + } + void add_version(flatbuffers::Offset version) { + fbb_.AddOffset(GpuCache::VT_VERSION, version); + } + void add_allBins(flatbuffers::Offset>> allBins) { + fbb_.AddOffset(GpuCache::VT_ALLBINS, allBins); + } + explicit GpuCacheBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateGpuCache( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset name = 0, + flatbuffers::Offset version = 0, + flatbuffers::Offset>> allBins = 0) { + GpuCacheBuilder builder_(_fbb); + builder_.add_allBins(allBins); + builder_.add_version(version); + builder_.add_name(name); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateGpuCacheDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *name = nullptr, + const char *version = nullptr, + const std::vector> *allBins = nullptr) { + auto name__ = name ? _fbb.CreateString(name) : 0; + auto version__ = version ? _fbb.CreateString(version) : 0; + auto allBins__ = allBins ? _fbb.CreateVector>(*allBins) : 0; + return mindspore::schema::CreateGpuCache( + _fbb, + name__, + version__, + allBins__); +} + +flatbuffers::Offset CreateGpuCache(flatbuffers::FlatBufferBuilder &_fbb, const GpuCacheT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +inline TuneParamT *TuneParam::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new TuneParamT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void TuneParam::UnPackTo(TuneParamT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = local(); if (_e) { _o->local.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->local[_i] = _e->Get(_i); } } } + { auto _e = block(); if (_e) { _o->block.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->block[_i] = _e->Get(_i); } } } + { auto _e = shape(); if (_e) { _o->shape.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->shape[_i] = _e->Get(_i); } } } + { auto _e = opPara(); if (_e) { _o->opPara.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->opPara[_i] = _e->Get(_i); } } } +} + +inline flatbuffers::Offset TuneParam::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TuneParamT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateTuneParam(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateTuneParam(flatbuffers::FlatBufferBuilder &_fbb, const TuneParamT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TuneParamT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _local = _o->local.size() ? _fbb.CreateVector(_o->local) : 0; + auto _block = _o->block.size() ? _fbb.CreateVector(_o->block) : 0; + auto _shape = _o->shape.size() ? _fbb.CreateVector(_o->shape) : 0; + auto _opPara = _o->opPara.size() ? _fbb.CreateVector(_o->opPara) : 0; + return mindspore::schema::CreateTuneParam( + _fbb, + _local, + _block, + _shape, + _opPara); +} + +inline ProgramBinaryT *ProgramBinary::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new ProgramBinaryT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void ProgramBinary::UnPackTo(ProgramBinaryT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = program_name(); if (_e) _o->program_name = _e->str(); } + { auto _e = build_option(); if (_e) _o->build_option = _e->str(); } + { auto _e = tune(); if (_e) _o->tune = std::unique_ptr(_e->UnPack(_resolver)); } + { auto _e = data(); if (_e) { _o->data.resize(_e->size()); std::copy(_e->begin(), _e->end(), _o->data.begin()); } } +} + +inline flatbuffers::Offset ProgramBinary::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ProgramBinaryT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateProgramBinary(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateProgramBinary(flatbuffers::FlatBufferBuilder &_fbb, const ProgramBinaryT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ProgramBinaryT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _program_name = _o->program_name.empty() ? 0 : _fbb.CreateString(_o->program_name); + auto _build_option = _o->build_option.empty() ? 0 : _fbb.CreateString(_o->build_option); + auto _tune = _o->tune ? CreateTuneParam(_fbb, _o->tune.get(), _rehasher) : 0; + auto _data = _o->data.size() ? _fbb.CreateVector(_o->data) : 0; + return mindspore::schema::CreateProgramBinary( + _fbb, + _program_name, + _build_option, + _tune, + _data); +} + +inline GpuCacheT *GpuCache::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new GpuCacheT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void GpuCache::UnPackTo(GpuCacheT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = name(); if (_e) _o->name = _e->str(); } + { auto _e = version(); if (_e) _o->version = _e->str(); } + { auto _e = allBins(); if (_e) { _o->allBins.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->allBins[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } +} + +inline flatbuffers::Offset GpuCache::Pack(flatbuffers::FlatBufferBuilder &_fbb, const GpuCacheT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateGpuCache(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateGpuCache(flatbuffers::FlatBufferBuilder &_fbb, const GpuCacheT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const GpuCacheT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _name = _o->name.empty() ? 0 : _fbb.CreateString(_o->name); + auto _version = _o->version.empty() ? 0 : _fbb.CreateString(_o->version); + auto _allBins = _o->allBins.size() ? _fbb.CreateVector> (_o->allBins.size(), [](size_t i, _VectorArgs *__va) { return CreateProgramBinary(*__va->__fbb, __va->__o->allBins[i].get(), __va->__rehasher); }, &_va ) : 0; + return mindspore::schema::CreateGpuCache( + _fbb, + _name, + _version, + _allBins); +} + +inline const flatbuffers::TypeTable *TuneParamTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 1, -1 }, + { flatbuffers::ET_INT, 1, -1 }, + { flatbuffers::ET_INT, 1, -1 }, + { flatbuffers::ET_INT, 1, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 4, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *ProgramBinaryTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_STRING, 0, -1 }, + { flatbuffers::ET_STRING, 0, -1 }, + { flatbuffers::ET_SEQUENCE, 0, 0 }, + { flatbuffers::ET_UCHAR, 1, -1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + mindspore::schema::TuneParamTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 4, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *GpuCacheTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_STRING, 0, -1 }, + { flatbuffers::ET_STRING, 0, -1 }, + { flatbuffers::ET_SEQUENCE, 1, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + mindspore::schema::ProgramBinaryTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 3, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const mindspore::schema::GpuCache *GetGpuCache(const void *buf) { + return flatbuffers::GetRoot(buf); +} + +inline const mindspore::schema::GpuCache *GetSizePrefixedGpuCache(const void *buf) { + return flatbuffers::GetSizePrefixedRoot(buf); +} + +inline GpuCache *GetMutableGpuCache(void *buf) { + return flatbuffers::GetMutableRoot(buf); +} + +inline bool VerifyGpuCacheBuffer( + flatbuffers::Verifier &verifier) { + return verifier.VerifyBuffer(nullptr); +} + +inline bool VerifySizePrefixedGpuCacheBuffer( + flatbuffers::Verifier &verifier) { + return verifier.VerifySizePrefixedBuffer(nullptr); +} + +inline void FinishGpuCacheBuffer( + flatbuffers::FlatBufferBuilder &fbb, + flatbuffers::Offset root) { + fbb.Finish(root); +} + +inline void FinishSizePrefixedGpuCacheBuffer( + flatbuffers::FlatBufferBuilder &fbb, + flatbuffers::Offset root) { + fbb.FinishSizePrefixed(root); +} + +inline std::unique_ptr UnPackGpuCache( + const void *buf, + const flatbuffers::resolver_function_t *res = nullptr) { + return std::unique_ptr(GetGpuCache(buf)->UnPack(res)); +} + +inline std::unique_ptr UnPackSizePrefixedGpuCache( + const void *buf, + const flatbuffers::resolver_function_t *res = nullptr) { + return std::unique_ptr(GetSizePrefixedGpuCache(buf)->UnPack(res)); +} + +} // namespace schema +} // namespace mindspore + +#endif // FLATBUFFERS_GENERATED_GPUCACHE_MINDSPORE_SCHEMA_H_ diff --git a/mindspore/lite/schema/inner/model_generated.h b/mindspore/lite/schema/inner/model_generated.h new file mode 100644 index 00000000..c3bc5dbf --- /dev/null +++ b/mindspore/lite/schema/inner/model_generated.h @@ -0,0 +1,3452 @@ +// automatically generated by the FlatBuffers compiler, do not modify + + +#ifndef FLATBUFFERS_GENERATED_MODEL_MINDSPORE_SCHEMA_H_ +#define FLATBUFFERS_GENERATED_MODEL_MINDSPORE_SCHEMA_H_ + +#include "flatbuffers/flatbuffers.h" + +#include "ops_types_generated.h" +#include "ops_generated.h" + +namespace mindspore { +namespace schema { + +struct QuantParam; +struct QuantParamBuilder; +struct QuantParamT; + +struct ExternalData; +struct ExternalDataBuilder; +struct ExternalDataT; + +struct Tensor; +struct TensorBuilder; +struct TensorT; + +struct Primitive; +struct PrimitiveBuilder; +struct PrimitiveT; + +struct CNode; +struct CNodeBuilder; +struct CNodeT; + +struct SubGraph; +struct SubGraphBuilder; +struct SubGraphT; + +struct MetaGraph; +struct MetaGraphBuilder; +struct MetaGraphT; + +inline const flatbuffers::TypeTable *QuantParamTypeTable(); + +inline const flatbuffers::TypeTable *ExternalDataTypeTable(); + +inline const flatbuffers::TypeTable *TensorTypeTable(); + +inline const flatbuffers::TypeTable *PrimitiveTypeTable(); + +inline const flatbuffers::TypeTable *CNodeTypeTable(); + +inline const flatbuffers::TypeTable *SubGraphTypeTable(); + +inline const flatbuffers::TypeTable *MetaGraphTypeTable(); + +enum WeightQuantCompressType : int32_t { + WeightQuantCompressType_NONE = 0, + WeightQuantCompressType_INDEXING = 1, + WeightQuantCompressType_SPARSE = 2, + WeightQuantCompressType_FSE = 3, + WeightQuantCompressType_BITPACKING = 4, + WeightQuantCompressType_FSE_INT = 5, + WeightQuantCompressType_FSE_INFER = 6, + WeightQuantCompressType_MIN = WeightQuantCompressType_NONE, + WeightQuantCompressType_MAX = WeightQuantCompressType_FSE_INFER +}; + +inline const WeightQuantCompressType (&EnumValuesWeightQuantCompressType())[7] { + static const WeightQuantCompressType values[] = { + WeightQuantCompressType_NONE, + WeightQuantCompressType_INDEXING, + WeightQuantCompressType_SPARSE, + WeightQuantCompressType_FSE, + WeightQuantCompressType_BITPACKING, + WeightQuantCompressType_FSE_INT, + WeightQuantCompressType_FSE_INFER + }; + return values; +} + +inline const char * const *EnumNamesWeightQuantCompressType() { + static const char * const names[8] = { + "NONE", + "INDEXING", + "SPARSE", + "FSE", + "BITPACKING", + "FSE_INT", + "FSE_INFER", + nullptr + }; + return names; +} + +inline const char *EnumNameWeightQuantCompressType(WeightQuantCompressType e) { + if (flatbuffers::IsOutRange(e, WeightQuantCompressType_NONE, WeightQuantCompressType_FSE_INFER)) return ""; + const size_t index = static_cast(e); + return EnumNamesWeightQuantCompressType()[index]; +} + +enum QuantType : int32_t { + QuantType_QUANT_NONE = 0, + QuantType_AwareTraining = 1, + QuantType_WeightQuant = 2, + QuantType_PostTraining = 3, + QuantType_QUANT_WEIGHT = 4, + QuantType_QUANT_ALL = 5, + QuantType_QUANT_DYNAMIC = 6, + QuantType_MIN = QuantType_QUANT_NONE, + QuantType_MAX = QuantType_QUANT_DYNAMIC +}; + +inline const QuantType (&EnumValuesQuantType())[7] { + static const QuantType values[] = { + QuantType_QUANT_NONE, + QuantType_AwareTraining, + QuantType_WeightQuant, + QuantType_PostTraining, + QuantType_QUANT_WEIGHT, + QuantType_QUANT_ALL, + QuantType_QUANT_DYNAMIC + }; + return values; +} + +inline const char * const *EnumNamesQuantType() { + static const char * const names[8] = { + "QUANT_NONE", + "AwareTraining", + "WeightQuant", + "PostTraining", + "QUANT_WEIGHT", + "QUANT_ALL", + "QUANT_DYNAMIC", + nullptr + }; + return names; +} + +inline const char *EnumNameQuantType(QuantType e) { + if (flatbuffers::IsOutRange(e, QuantType_QUANT_NONE, QuantType_QUANT_DYNAMIC)) return ""; + const size_t index = static_cast(e); + return EnumNamesQuantType()[index]; +} + +struct QuantParamT : public flatbuffers::NativeTable { + typedef QuantParam TableType; + double scale = 1.0; + int32_t zeroPoint = 0; + double min = 0.0; + double max = 0.0; + bool narrowRange = true; + int32_t numBits = 8; + bool inited = false; + float varCorr = 1.0f; + float meanCorr = 0.0f; + int32_t dstDtype = 32; + int32_t roundType = 1; + int32_t multiplier = 1; +}; + +struct QuantParam FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef QuantParamT NativeTableType; + typedef QuantParamBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return QuantParamTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SCALE = 4, + VT_ZEROPOINT = 6, + VT_MIN = 8, + VT_MAX = 10, + VT_NARROWRANGE = 12, + VT_NUMBITS = 14, + VT_INITED = 16, + VT_VARCORR = 18, + VT_MEANCORR = 20, + VT_DSTDTYPE = 22, + VT_ROUNDTYPE = 24, + VT_MULTIPLIER = 26 + }; + double scale() const { + return GetField(VT_SCALE, 1.0); + } + bool mutate_scale(double _scale) { + return SetField(VT_SCALE, _scale, 1.0); + } + int32_t zeroPoint() const { + return GetField(VT_ZEROPOINT, 0); + } + bool mutate_zeroPoint(int32_t _zeroPoint) { + return SetField(VT_ZEROPOINT, _zeroPoint, 0); + } + double min() const { + return GetField(VT_MIN, 0.0); + } + bool mutate_min(double _min) { + return SetField(VT_MIN, _min, 0.0); + } + double max() const { + return GetField(VT_MAX, 0.0); + } + bool mutate_max(double _max) { + return SetField(VT_MAX, _max, 0.0); + } + bool narrowRange() const { + return GetField(VT_NARROWRANGE, 1) != 0; + } + bool mutate_narrowRange(bool _narrowRange) { + return SetField(VT_NARROWRANGE, static_cast(_narrowRange), 1); + } + int32_t numBits() const { + return GetField(VT_NUMBITS, 8); + } + bool mutate_numBits(int32_t _numBits) { + return SetField(VT_NUMBITS, _numBits, 8); + } + bool inited() const { + return GetField(VT_INITED, 0) != 0; + } + bool mutate_inited(bool _inited) { + return SetField(VT_INITED, static_cast(_inited), 0); + } + float varCorr() const { + return GetField(VT_VARCORR, 1.0f); + } + bool mutate_varCorr(float _varCorr) { + return SetField(VT_VARCORR, _varCorr, 1.0f); + } + float meanCorr() const { + return GetField(VT_MEANCORR, 0.0f); + } + bool mutate_meanCorr(float _meanCorr) { + return SetField(VT_MEANCORR, _meanCorr, 0.0f); + } + int32_t dstDtype() const { + return GetField(VT_DSTDTYPE, 32); + } + bool mutate_dstDtype(int32_t _dstDtype) { + return SetField(VT_DSTDTYPE, _dstDtype, 32); + } + int32_t roundType() const { + return GetField(VT_ROUNDTYPE, 1); + } + bool mutate_roundType(int32_t _roundType) { + return SetField(VT_ROUNDTYPE, _roundType, 1); + } + int32_t multiplier() const { + return GetField(VT_MULTIPLIER, 1); + } + bool mutate_multiplier(int32_t _multiplier) { + return SetField(VT_MULTIPLIER, _multiplier, 1); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_SCALE) && + VerifyField(verifier, VT_ZEROPOINT) && + VerifyField(verifier, VT_MIN) && + VerifyField(verifier, VT_MAX) && + VerifyField(verifier, VT_NARROWRANGE) && + VerifyField(verifier, VT_NUMBITS) && + VerifyField(verifier, VT_INITED) && + VerifyField(verifier, VT_VARCORR) && + VerifyField(verifier, VT_MEANCORR) && + VerifyField(verifier, VT_DSTDTYPE) && + VerifyField(verifier, VT_ROUNDTYPE) && + VerifyField(verifier, VT_MULTIPLIER) && + verifier.EndTable(); + } + QuantParamT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(QuantParamT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const QuantParamT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct QuantParamBuilder { + typedef QuantParam Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_scale(double scale) { + fbb_.AddElement(QuantParam::VT_SCALE, scale, 1.0); + } + void add_zeroPoint(int32_t zeroPoint) { + fbb_.AddElement(QuantParam::VT_ZEROPOINT, zeroPoint, 0); + } + void add_min(double min) { + fbb_.AddElement(QuantParam::VT_MIN, min, 0.0); + } + void add_max(double max) { + fbb_.AddElement(QuantParam::VT_MAX, max, 0.0); + } + void add_narrowRange(bool narrowRange) { + fbb_.AddElement(QuantParam::VT_NARROWRANGE, static_cast(narrowRange), 1); + } + void add_numBits(int32_t numBits) { + fbb_.AddElement(QuantParam::VT_NUMBITS, numBits, 8); + } + void add_inited(bool inited) { + fbb_.AddElement(QuantParam::VT_INITED, static_cast(inited), 0); + } + void add_varCorr(float varCorr) { + fbb_.AddElement(QuantParam::VT_VARCORR, varCorr, 1.0f); + } + void add_meanCorr(float meanCorr) { + fbb_.AddElement(QuantParam::VT_MEANCORR, meanCorr, 0.0f); + } + void add_dstDtype(int32_t dstDtype) { + fbb_.AddElement(QuantParam::VT_DSTDTYPE, dstDtype, 32); + } + void add_roundType(int32_t roundType) { + fbb_.AddElement(QuantParam::VT_ROUNDTYPE, roundType, 1); + } + void add_multiplier(int32_t multiplier) { + fbb_.AddElement(QuantParam::VT_MULTIPLIER, multiplier, 1); + } + explicit QuantParamBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateQuantParam( + flatbuffers::FlatBufferBuilder &_fbb, + double scale = 1.0, + int32_t zeroPoint = 0, + double min = 0.0, + double max = 0.0, + bool narrowRange = true, + int32_t numBits = 8, + bool inited = false, + float varCorr = 1.0f, + float meanCorr = 0.0f, + int32_t dstDtype = 32, + int32_t roundType = 1, + int32_t multiplier = 1) { + QuantParamBuilder builder_(_fbb); + builder_.add_max(max); + builder_.add_min(min); + builder_.add_scale(scale); + builder_.add_multiplier(multiplier); + builder_.add_roundType(roundType); + builder_.add_dstDtype(dstDtype); + builder_.add_meanCorr(meanCorr); + builder_.add_varCorr(varCorr); + builder_.add_numBits(numBits); + builder_.add_zeroPoint(zeroPoint); + builder_.add_inited(inited); + builder_.add_narrowRange(narrowRange); + return builder_.Finish(); +} + +flatbuffers::Offset CreateQuantParam(flatbuffers::FlatBufferBuilder &_fbb, const QuantParamT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ExternalDataT : public flatbuffers::NativeTable { + typedef ExternalData TableType; + std::string checkSum{}; + std::string location{}; + int64_t offset = 0; + int64_t length = -1LL; +}; + +struct ExternalData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ExternalDataT NativeTableType; + typedef ExternalDataBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ExternalDataTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_CHECKSUM = 4, + VT_LOCATION = 6, + VT_OFFSET = 8, + VT_LENGTH = 10 + }; + const flatbuffers::String *checkSum() const { + return GetPointer(VT_CHECKSUM); + } + flatbuffers::String *mutable_checkSum() { + return GetPointer(VT_CHECKSUM); + } + const flatbuffers::String *location() const { + return GetPointer(VT_LOCATION); + } + flatbuffers::String *mutable_location() { + return GetPointer(VT_LOCATION); + } + int64_t offset() const { + return GetField(VT_OFFSET, 0); + } + bool mutate_offset(int64_t _offset) { + return SetField(VT_OFFSET, _offset, 0); + } + int64_t length() const { + return GetField(VT_LENGTH, -1LL); + } + bool mutate_length(int64_t _length) { + return SetField(VT_LENGTH, _length, -1LL); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_CHECKSUM) && + verifier.VerifyString(checkSum()) && + VerifyOffset(verifier, VT_LOCATION) && + verifier.VerifyString(location()) && + VerifyField(verifier, VT_OFFSET) && + VerifyField(verifier, VT_LENGTH) && + verifier.EndTable(); + } + ExternalDataT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ExternalDataT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ExternalDataT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ExternalDataBuilder { + typedef ExternalData Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_checkSum(flatbuffers::Offset checkSum) { + fbb_.AddOffset(ExternalData::VT_CHECKSUM, checkSum); + } + void add_location(flatbuffers::Offset location) { + fbb_.AddOffset(ExternalData::VT_LOCATION, location); + } + void add_offset(int64_t offset) { + fbb_.AddElement(ExternalData::VT_OFFSET, offset, 0); + } + void add_length(int64_t length) { + fbb_.AddElement(ExternalData::VT_LENGTH, length, -1LL); + } + explicit ExternalDataBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateExternalData( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset checkSum = 0, + flatbuffers::Offset location = 0, + int64_t offset = 0, + int64_t length = -1LL) { + ExternalDataBuilder builder_(_fbb); + builder_.add_length(length); + builder_.add_offset(offset); + builder_.add_location(location); + builder_.add_checkSum(checkSum); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateExternalDataDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *checkSum = nullptr, + const char *location = nullptr, + int64_t offset = 0, + int64_t length = -1LL) { + auto checkSum__ = checkSum ? _fbb.CreateString(checkSum) : 0; + auto location__ = location ? _fbb.CreateString(location) : 0; + return mindspore::schema::CreateExternalData( + _fbb, + checkSum__, + location__, + offset, + length); +} + +flatbuffers::Offset CreateExternalData(flatbuffers::FlatBufferBuilder &_fbb, const ExternalDataT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct TensorT : public flatbuffers::NativeTable { + typedef Tensor TableType; + int32_t nodeType = 0; + int32_t dataType = 0; + std::vector dims{}; + mindspore::schema::Format format = mindspore::schema::Format_NCHW; + int32_t refCount = 0; + int32_t offset = 0; + std::vector data{}; + std::vector> quantParams{}; + std::vector quantClusters{}; + std::string name{}; + bool enableHuffmanCode = false; + mindspore::schema::WeightQuantCompressType weightQuantCompressType = mindspore::schema::WeightQuantCompressType_NONE; + std::vector> externalData{}; +}; + +struct Tensor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TensorT NativeTableType; + typedef TensorBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return TensorTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NODETYPE = 4, + VT_DATATYPE = 6, + VT_DIMS = 8, + VT_FORMAT = 10, + VT_REFCOUNT = 12, + VT_OFFSET = 14, + VT_DATA = 16, + VT_QUANTPARAMS = 18, + VT_QUANTCLUSTERS = 20, + VT_NAME = 22, + VT_ENABLEHUFFMANCODE = 24, + VT_WEIGHTQUANTCOMPRESSTYPE = 26, + VT_EXTERNALDATA = 28 + }; + int32_t nodeType() const { + return GetField(VT_NODETYPE, 0); + } + bool mutate_nodeType(int32_t _nodeType) { + return SetField(VT_NODETYPE, _nodeType, 0); + } + int32_t dataType() const { + return GetField(VT_DATATYPE, 0); + } + bool mutate_dataType(int32_t _dataType) { + return SetField(VT_DATATYPE, _dataType, 0); + } + const flatbuffers::Vector *dims() const { + return GetPointer *>(VT_DIMS); + } + flatbuffers::Vector *mutable_dims() { + return GetPointer *>(VT_DIMS); + } + mindspore::schema::Format format() const { + return static_cast(GetField(VT_FORMAT, 0)); + } + bool mutate_format(mindspore::schema::Format _format) { + return SetField(VT_FORMAT, static_cast(_format), 0); + } + int32_t refCount() const { + return GetField(VT_REFCOUNT, 0); + } + bool mutate_refCount(int32_t _refCount) { + return SetField(VT_REFCOUNT, _refCount, 0); + } + int32_t offset() const { + return GetField(VT_OFFSET, 0); + } + bool mutate_offset(int32_t _offset) { + return SetField(VT_OFFSET, _offset, 0); + } + const flatbuffers::Vector *data() const { + return GetPointer *>(VT_DATA); + } + flatbuffers::Vector *mutable_data() { + return GetPointer *>(VT_DATA); + } + const flatbuffers::Vector> *quantParams() const { + return GetPointer> *>(VT_QUANTPARAMS); + } + flatbuffers::Vector> *mutable_quantParams() { + return GetPointer> *>(VT_QUANTPARAMS); + } + const flatbuffers::Vector *quantClusters() const { + return GetPointer *>(VT_QUANTCLUSTERS); + } + flatbuffers::Vector *mutable_quantClusters() { + return GetPointer *>(VT_QUANTCLUSTERS); + } + const flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + flatbuffers::String *mutable_name() { + return GetPointer(VT_NAME); + } + bool enableHuffmanCode() const { + return GetField(VT_ENABLEHUFFMANCODE, 0) != 0; + } + bool mutate_enableHuffmanCode(bool _enableHuffmanCode) { + return SetField(VT_ENABLEHUFFMANCODE, static_cast(_enableHuffmanCode), 0); + } + mindspore::schema::WeightQuantCompressType weightQuantCompressType() const { + return static_cast(GetField(VT_WEIGHTQUANTCOMPRESSTYPE, 0)); + } + bool mutate_weightQuantCompressType(mindspore::schema::WeightQuantCompressType _weightQuantCompressType) { + return SetField(VT_WEIGHTQUANTCOMPRESSTYPE, static_cast(_weightQuantCompressType), 0); + } + const flatbuffers::Vector> *externalData() const { + return GetPointer> *>(VT_EXTERNALDATA); + } + flatbuffers::Vector> *mutable_externalData() { + return GetPointer> *>(VT_EXTERNALDATA); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_NODETYPE) && + VerifyField(verifier, VT_DATATYPE) && + VerifyOffset(verifier, VT_DIMS) && + verifier.VerifyVector(dims()) && + VerifyField(verifier, VT_FORMAT) && + VerifyField(verifier, VT_REFCOUNT) && + VerifyField(verifier, VT_OFFSET) && + VerifyOffset(verifier, VT_DATA) && + verifier.VerifyVector(data()) && + VerifyOffset(verifier, VT_QUANTPARAMS) && + verifier.VerifyVector(quantParams()) && + verifier.VerifyVectorOfTables(quantParams()) && + VerifyOffset(verifier, VT_QUANTCLUSTERS) && + verifier.VerifyVector(quantClusters()) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyField(verifier, VT_ENABLEHUFFMANCODE) && + VerifyField(verifier, VT_WEIGHTQUANTCOMPRESSTYPE) && + VerifyOffset(verifier, VT_EXTERNALDATA) && + verifier.VerifyVector(externalData()) && + verifier.VerifyVectorOfTables(externalData()) && + verifier.EndTable(); + } + TensorT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(TensorT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const TensorT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct TensorBuilder { + typedef Tensor Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_nodeType(int32_t nodeType) { + fbb_.AddElement(Tensor::VT_NODETYPE, nodeType, 0); + } + void add_dataType(int32_t dataType) { + fbb_.AddElement(Tensor::VT_DATATYPE, dataType, 0); + } + void add_dims(flatbuffers::Offset> dims) { + fbb_.AddOffset(Tensor::VT_DIMS, dims); + } + void add_format(mindspore::schema::Format format) { + fbb_.AddElement(Tensor::VT_FORMAT, static_cast(format), 0); + } + void add_refCount(int32_t refCount) { + fbb_.AddElement(Tensor::VT_REFCOUNT, refCount, 0); + } + void add_offset(int32_t offset) { + fbb_.AddElement(Tensor::VT_OFFSET, offset, 0); + } + void add_data(flatbuffers::Offset> data) { + fbb_.AddOffset(Tensor::VT_DATA, data); + } + void add_quantParams(flatbuffers::Offset>> quantParams) { + fbb_.AddOffset(Tensor::VT_QUANTPARAMS, quantParams); + } + void add_quantClusters(flatbuffers::Offset> quantClusters) { + fbb_.AddOffset(Tensor::VT_QUANTCLUSTERS, quantClusters); + } + void add_name(flatbuffers::Offset name) { + fbb_.AddOffset(Tensor::VT_NAME, name); + } + void add_enableHuffmanCode(bool enableHuffmanCode) { + fbb_.AddElement(Tensor::VT_ENABLEHUFFMANCODE, static_cast(enableHuffmanCode), 0); + } + void add_weightQuantCompressType(mindspore::schema::WeightQuantCompressType weightQuantCompressType) { + fbb_.AddElement(Tensor::VT_WEIGHTQUANTCOMPRESSTYPE, static_cast(weightQuantCompressType), 0); + } + void add_externalData(flatbuffers::Offset>> externalData) { + fbb_.AddOffset(Tensor::VT_EXTERNALDATA, externalData); + } + explicit TensorBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTensor( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t nodeType = 0, + int32_t dataType = 0, + flatbuffers::Offset> dims = 0, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + int32_t refCount = 0, + int32_t offset = 0, + flatbuffers::Offset> data = 0, + flatbuffers::Offset>> quantParams = 0, + flatbuffers::Offset> quantClusters = 0, + flatbuffers::Offset name = 0, + bool enableHuffmanCode = false, + mindspore::schema::WeightQuantCompressType weightQuantCompressType = mindspore::schema::WeightQuantCompressType_NONE, + flatbuffers::Offset>> externalData = 0) { + TensorBuilder builder_(_fbb); + builder_.add_externalData(externalData); + builder_.add_weightQuantCompressType(weightQuantCompressType); + builder_.add_name(name); + builder_.add_quantClusters(quantClusters); + builder_.add_quantParams(quantParams); + builder_.add_data(data); + builder_.add_offset(offset); + builder_.add_refCount(refCount); + builder_.add_format(format); + builder_.add_dims(dims); + builder_.add_dataType(dataType); + builder_.add_nodeType(nodeType); + builder_.add_enableHuffmanCode(enableHuffmanCode); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateTensorDirect( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t nodeType = 0, + int32_t dataType = 0, + const std::vector *dims = nullptr, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + int32_t refCount = 0, + int32_t offset = 0, + const std::vector *data = nullptr, + const std::vector> *quantParams = nullptr, + const std::vector *quantClusters = nullptr, + const char *name = nullptr, + bool enableHuffmanCode = false, + mindspore::schema::WeightQuantCompressType weightQuantCompressType = mindspore::schema::WeightQuantCompressType_NONE, + const std::vector> *externalData = nullptr) { + auto dims__ = dims ? _fbb.CreateVector(*dims) : 0; + auto data__ = data ? _fbb.CreateVector(*data) : 0; + auto quantParams__ = quantParams ? _fbb.CreateVector>(*quantParams) : 0; + auto quantClusters__ = quantClusters ? _fbb.CreateVector(*quantClusters) : 0; + auto name__ = name ? _fbb.CreateString(name) : 0; + auto externalData__ = externalData ? _fbb.CreateVector>(*externalData) : 0; + return mindspore::schema::CreateTensor( + _fbb, + nodeType, + dataType, + dims__, + format, + refCount, + offset, + data__, + quantParams__, + quantClusters__, + name__, + enableHuffmanCode, + weightQuantCompressType, + externalData__); +} + +flatbuffers::Offset CreateTensor(flatbuffers::FlatBufferBuilder &_fbb, const TensorT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct PrimitiveT : public flatbuffers::NativeTable { + typedef Primitive TableType; + mindspore::schema::PrimitiveTypeUnion value{}; +}; + +struct Primitive FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef PrimitiveT NativeTableType; + typedef PrimitiveBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return PrimitiveTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_VALUE_TYPE = 4, + VT_VALUE = 6 + }; + mindspore::schema::PrimitiveType value_type() const { + return static_cast(GetField(VT_VALUE_TYPE, 0)); + } + const void *value() const { + return GetPointer(VT_VALUE); + } + template const T *value_as() const; + const mindspore::schema::Abs *value_as_Abs() const { + return value_type() == mindspore::schema::PrimitiveType_Abs ? static_cast(value()) : nullptr; + } + const mindspore::schema::Activation *value_as_Activation() const { + return value_type() == mindspore::schema::PrimitiveType_Activation ? static_cast(value()) : nullptr; + } + const mindspore::schema::ActivationGrad *value_as_ActivationGrad() const { + return value_type() == mindspore::schema::PrimitiveType_ActivationGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::Adam *value_as_Adam() const { + return value_type() == mindspore::schema::PrimitiveType_Adam ? static_cast(value()) : nullptr; + } + const mindspore::schema::AddFusion *value_as_AddFusion() const { + return value_type() == mindspore::schema::PrimitiveType_AddFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::AdderFusion *value_as_AdderFusion() const { + return value_type() == mindspore::schema::PrimitiveType_AdderFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::AddGrad *value_as_AddGrad() const { + return value_type() == mindspore::schema::PrimitiveType_AddGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::AddN *value_as_AddN() const { + return value_type() == mindspore::schema::PrimitiveType_AddN ? static_cast(value()) : nullptr; + } + const mindspore::schema::All *value_as_All() const { + return value_type() == mindspore::schema::PrimitiveType_All ? static_cast(value()) : nullptr; + } + const mindspore::schema::ApplyMomentum *value_as_ApplyMomentum() const { + return value_type() == mindspore::schema::PrimitiveType_ApplyMomentum ? static_cast(value()) : nullptr; + } + const mindspore::schema::ArgMaxFusion *value_as_ArgMaxFusion() const { + return value_type() == mindspore::schema::PrimitiveType_ArgMaxFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::ArgMinFusion *value_as_ArgMinFusion() const { + return value_type() == mindspore::schema::PrimitiveType_ArgMinFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::Assert *value_as_Assert() const { + return value_type() == mindspore::schema::PrimitiveType_Assert ? static_cast(value()) : nullptr; + } + const mindspore::schema::Assign *value_as_Assign() const { + return value_type() == mindspore::schema::PrimitiveType_Assign ? static_cast(value()) : nullptr; + } + const mindspore::schema::AssignAdd *value_as_AssignAdd() const { + return value_type() == mindspore::schema::PrimitiveType_AssignAdd ? static_cast(value()) : nullptr; + } + const mindspore::schema::AudioSpectrogram *value_as_AudioSpectrogram() const { + return value_type() == mindspore::schema::PrimitiveType_AudioSpectrogram ? static_cast(value()) : nullptr; + } + const mindspore::schema::AvgPoolFusion *value_as_AvgPoolFusion() const { + return value_type() == mindspore::schema::PrimitiveType_AvgPoolFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::AvgPoolGrad *value_as_AvgPoolGrad() const { + return value_type() == mindspore::schema::PrimitiveType_AvgPoolGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::BatchNorm *value_as_BatchNorm() const { + return value_type() == mindspore::schema::PrimitiveType_BatchNorm ? static_cast(value()) : nullptr; + } + const mindspore::schema::BatchNormGrad *value_as_BatchNormGrad() const { + return value_type() == mindspore::schema::PrimitiveType_BatchNormGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::BatchToSpace *value_as_BatchToSpace() const { + return value_type() == mindspore::schema::PrimitiveType_BatchToSpace ? static_cast(value()) : nullptr; + } + const mindspore::schema::BatchToSpaceND *value_as_BatchToSpaceND() const { + return value_type() == mindspore::schema::PrimitiveType_BatchToSpaceND ? static_cast(value()) : nullptr; + } + const mindspore::schema::BiasAdd *value_as_BiasAdd() const { + return value_type() == mindspore::schema::PrimitiveType_BiasAdd ? static_cast(value()) : nullptr; + } + const mindspore::schema::BinaryCrossEntropy *value_as_BinaryCrossEntropy() const { + return value_type() == mindspore::schema::PrimitiveType_BinaryCrossEntropy ? static_cast(value()) : nullptr; + } + const mindspore::schema::BinaryCrossEntropyGrad *value_as_BinaryCrossEntropyGrad() const { + return value_type() == mindspore::schema::PrimitiveType_BinaryCrossEntropyGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::BiasAddGrad *value_as_BiasAddGrad() const { + return value_type() == mindspore::schema::PrimitiveType_BiasAddGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::BroadcastTo *value_as_BroadcastTo() const { + return value_type() == mindspore::schema::PrimitiveType_BroadcastTo ? static_cast(value()) : nullptr; + } + const mindspore::schema::Cast *value_as_Cast() const { + return value_type() == mindspore::schema::PrimitiveType_Cast ? static_cast(value()) : nullptr; + } + const mindspore::schema::Ceil *value_as_Ceil() const { + return value_type() == mindspore::schema::PrimitiveType_Ceil ? static_cast(value()) : nullptr; + } + const mindspore::schema::Clip *value_as_Clip() const { + return value_type() == mindspore::schema::PrimitiveType_Clip ? static_cast(value()) : nullptr; + } + const mindspore::schema::Concat *value_as_Concat() const { + return value_type() == mindspore::schema::PrimitiveType_Concat ? static_cast(value()) : nullptr; + } + const mindspore::schema::Attention *value_as_Attention() const { + return value_type() == mindspore::schema::PrimitiveType_Attention ? static_cast(value()) : nullptr; + } + const mindspore::schema::Conv2DBackpropFilterFusion *value_as_Conv2DBackpropFilterFusion() const { + return value_type() == mindspore::schema::PrimitiveType_Conv2DBackpropFilterFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::Conv2DBackpropInputFusion *value_as_Conv2DBackpropInputFusion() const { + return value_type() == mindspore::schema::PrimitiveType_Conv2DBackpropInputFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::Conv2DFusion *value_as_Conv2DFusion() const { + return value_type() == mindspore::schema::PrimitiveType_Conv2DFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::Conv2dTransposeFusion *value_as_Conv2dTransposeFusion() const { + return value_type() == mindspore::schema::PrimitiveType_Conv2dTransposeFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::Cos *value_as_Cos() const { + return value_type() == mindspore::schema::PrimitiveType_Cos ? static_cast(value()) : nullptr; + } + const mindspore::schema::ConstantOfShape *value_as_ConstantOfShape() const { + return value_type() == mindspore::schema::PrimitiveType_ConstantOfShape ? static_cast(value()) : nullptr; + } + const mindspore::schema::Crop *value_as_Crop() const { + return value_type() == mindspore::schema::PrimitiveType_Crop ? static_cast(value()) : nullptr; + } + const mindspore::schema::CustomExtractFeatures *value_as_CustomExtractFeatures() const { + return value_type() == mindspore::schema::PrimitiveType_CustomExtractFeatures ? static_cast(value()) : nullptr; + } + const mindspore::schema::CustomNormalize *value_as_CustomNormalize() const { + return value_type() == mindspore::schema::PrimitiveType_CustomNormalize ? static_cast(value()) : nullptr; + } + const mindspore::schema::CustomPredict *value_as_CustomPredict() const { + return value_type() == mindspore::schema::PrimitiveType_CustomPredict ? static_cast(value()) : nullptr; + } + const mindspore::schema::DeConv2DGradFilter *value_as_DeConv2DGradFilter() const { + return value_type() == mindspore::schema::PrimitiveType_DeConv2DGradFilter ? static_cast(value()) : nullptr; + } + const mindspore::schema::Depend *value_as_Depend() const { + return value_type() == mindspore::schema::PrimitiveType_Depend ? static_cast(value()) : nullptr; + } + const mindspore::schema::DepthToSpace *value_as_DepthToSpace() const { + return value_type() == mindspore::schema::PrimitiveType_DepthToSpace ? static_cast(value()) : nullptr; + } + const mindspore::schema::DetectionPostProcess *value_as_DetectionPostProcess() const { + return value_type() == mindspore::schema::PrimitiveType_DetectionPostProcess ? static_cast(value()) : nullptr; + } + const mindspore::schema::DivFusion *value_as_DivFusion() const { + return value_type() == mindspore::schema::PrimitiveType_DivFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::DivGrad *value_as_DivGrad() const { + return value_type() == mindspore::schema::PrimitiveType_DivGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::Dropout *value_as_Dropout() const { + return value_type() == mindspore::schema::PrimitiveType_Dropout ? static_cast(value()) : nullptr; + } + const mindspore::schema::DropoutGrad *value_as_DropoutGrad() const { + return value_type() == mindspore::schema::PrimitiveType_DropoutGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::Elu *value_as_Elu() const { + return value_type() == mindspore::schema::PrimitiveType_Elu ? static_cast(value()) : nullptr; + } + const mindspore::schema::Eltwise *value_as_Eltwise() const { + return value_type() == mindspore::schema::PrimitiveType_Eltwise ? static_cast(value()) : nullptr; + } + const mindspore::schema::Equal *value_as_Equal() const { + return value_type() == mindspore::schema::PrimitiveType_Equal ? static_cast(value()) : nullptr; + } + const mindspore::schema::EmbeddingLookupFusion *value_as_EmbeddingLookupFusion() const { + return value_type() == mindspore::schema::PrimitiveType_EmbeddingLookupFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::ExpFusion *value_as_ExpFusion() const { + return value_type() == mindspore::schema::PrimitiveType_ExpFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::ExpandDims *value_as_ExpandDims() const { + return value_type() == mindspore::schema::PrimitiveType_ExpandDims ? static_cast(value()) : nullptr; + } + const mindspore::schema::FakeQuantWithMinMaxVars *value_as_FakeQuantWithMinMaxVars() const { + return value_type() == mindspore::schema::PrimitiveType_FakeQuantWithMinMaxVars ? static_cast(value()) : nullptr; + } + const mindspore::schema::FakeQuantWithMinMaxVarsPerChannel *value_as_FakeQuantWithMinMaxVarsPerChannel() const { + return value_type() == mindspore::schema::PrimitiveType_FakeQuantWithMinMaxVarsPerChannel ? static_cast(value()) : nullptr; + } + const mindspore::schema::FftReal *value_as_FftReal() const { + return value_type() == mindspore::schema::PrimitiveType_FftReal ? static_cast(value()) : nullptr; + } + const mindspore::schema::FftImag *value_as_FftImag() const { + return value_type() == mindspore::schema::PrimitiveType_FftImag ? static_cast(value()) : nullptr; + } + const mindspore::schema::Flatten *value_as_Flatten() const { + return value_type() == mindspore::schema::PrimitiveType_Flatten ? static_cast(value()) : nullptr; + } + const mindspore::schema::FlattenGrad *value_as_FlattenGrad() const { + return value_type() == mindspore::schema::PrimitiveType_FlattenGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::Floor *value_as_Floor() const { + return value_type() == mindspore::schema::PrimitiveType_Floor ? static_cast(value()) : nullptr; + } + const mindspore::schema::FloorDiv *value_as_FloorDiv() const { + return value_type() == mindspore::schema::PrimitiveType_FloorDiv ? static_cast(value()) : nullptr; + } + const mindspore::schema::FloorMod *value_as_FloorMod() const { + return value_type() == mindspore::schema::PrimitiveType_FloorMod ? static_cast(value()) : nullptr; + } + const mindspore::schema::Fill *value_as_Fill() const { + return value_type() == mindspore::schema::PrimitiveType_Fill ? static_cast(value()) : nullptr; + } + const mindspore::schema::FullConnection *value_as_FullConnection() const { + return value_type() == mindspore::schema::PrimitiveType_FullConnection ? static_cast(value()) : nullptr; + } + const mindspore::schema::FusedBatchNorm *value_as_FusedBatchNorm() const { + return value_type() == mindspore::schema::PrimitiveType_FusedBatchNorm ? static_cast(value()) : nullptr; + } + const mindspore::schema::Gather *value_as_Gather() const { + return value_type() == mindspore::schema::PrimitiveType_Gather ? static_cast(value()) : nullptr; + } + const mindspore::schema::GatherNd *value_as_GatherNd() const { + return value_type() == mindspore::schema::PrimitiveType_GatherNd ? static_cast(value()) : nullptr; + } + const mindspore::schema::Greater *value_as_Greater() const { + return value_type() == mindspore::schema::PrimitiveType_Greater ? static_cast(value()) : nullptr; + } + const mindspore::schema::GreaterEqual *value_as_GreaterEqual() const { + return value_type() == mindspore::schema::PrimitiveType_GreaterEqual ? static_cast(value()) : nullptr; + } + const mindspore::schema::HashtableLookup *value_as_HashtableLookup() const { + return value_type() == mindspore::schema::PrimitiveType_HashtableLookup ? static_cast(value()) : nullptr; + } + const mindspore::schema::InstanceNorm *value_as_InstanceNorm() const { + return value_type() == mindspore::schema::PrimitiveType_InstanceNorm ? static_cast(value()) : nullptr; + } + const mindspore::schema::LayerNormFusion *value_as_LayerNormFusion() const { + return value_type() == mindspore::schema::PrimitiveType_LayerNormFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::LeakyRelu *value_as_LeakyRelu() const { + return value_type() == mindspore::schema::PrimitiveType_LeakyRelu ? static_cast(value()) : nullptr; + } + const mindspore::schema::Less *value_as_Less() const { + return value_type() == mindspore::schema::PrimitiveType_Less ? static_cast(value()) : nullptr; + } + const mindspore::schema::LessEqual *value_as_LessEqual() const { + return value_type() == mindspore::schema::PrimitiveType_LessEqual ? static_cast(value()) : nullptr; + } + const mindspore::schema::Log *value_as_Log() const { + return value_type() == mindspore::schema::PrimitiveType_Log ? static_cast(value()) : nullptr; + } + const mindspore::schema::LogGrad *value_as_LogGrad() const { + return value_type() == mindspore::schema::PrimitiveType_LogGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::LogicalAnd *value_as_LogicalAnd() const { + return value_type() == mindspore::schema::PrimitiveType_LogicalAnd ? static_cast(value()) : nullptr; + } + const mindspore::schema::LogicalNot *value_as_LogicalNot() const { + return value_type() == mindspore::schema::PrimitiveType_LogicalNot ? static_cast(value()) : nullptr; + } + const mindspore::schema::LogicalOr *value_as_LogicalOr() const { + return value_type() == mindspore::schema::PrimitiveType_LogicalOr ? static_cast(value()) : nullptr; + } + const mindspore::schema::LpNormalization *value_as_LpNormalization() const { + return value_type() == mindspore::schema::PrimitiveType_LpNormalization ? static_cast(value()) : nullptr; + } + const mindspore::schema::LRN *value_as_LRN() const { + return value_type() == mindspore::schema::PrimitiveType_LRN ? static_cast(value()) : nullptr; + } + const mindspore::schema::LshProjection *value_as_LshProjection() const { + return value_type() == mindspore::schema::PrimitiveType_LshProjection ? static_cast(value()) : nullptr; + } + const mindspore::schema::LSTM *value_as_LSTM() const { + return value_type() == mindspore::schema::PrimitiveType_LSTM ? static_cast(value()) : nullptr; + } + const mindspore::schema::L2NormalizeFusion *value_as_L2NormalizeFusion() const { + return value_type() == mindspore::schema::PrimitiveType_L2NormalizeFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::MatMulFusion *value_as_MatMulFusion() const { + return value_type() == mindspore::schema::PrimitiveType_MatMulFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::Maximum *value_as_Maximum() const { + return value_type() == mindspore::schema::PrimitiveType_Maximum ? static_cast(value()) : nullptr; + } + const mindspore::schema::MaximumGrad *value_as_MaximumGrad() const { + return value_type() == mindspore::schema::PrimitiveType_MaximumGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::MaxPoolFusion *value_as_MaxPoolFusion() const { + return value_type() == mindspore::schema::PrimitiveType_MaxPoolFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::MaxPoolGrad *value_as_MaxPoolGrad() const { + return value_type() == mindspore::schema::PrimitiveType_MaxPoolGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::SwitchLayer *value_as_SwitchLayer() const { + return value_type() == mindspore::schema::PrimitiveType_SwitchLayer ? static_cast(value()) : nullptr; + } + const mindspore::schema::Mfcc *value_as_Mfcc() const { + return value_type() == mindspore::schema::PrimitiveType_Mfcc ? static_cast(value()) : nullptr; + } + const mindspore::schema::Minimum *value_as_Minimum() const { + return value_type() == mindspore::schema::PrimitiveType_Minimum ? static_cast(value()) : nullptr; + } + const mindspore::schema::MinimumGrad *value_as_MinimumGrad() const { + return value_type() == mindspore::schema::PrimitiveType_MinimumGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::Mod *value_as_Mod() const { + return value_type() == mindspore::schema::PrimitiveType_Mod ? static_cast(value()) : nullptr; + } + const mindspore::schema::MulFusion *value_as_MulFusion() const { + return value_type() == mindspore::schema::PrimitiveType_MulFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::MulGrad *value_as_MulGrad() const { + return value_type() == mindspore::schema::PrimitiveType_MulGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::Neg *value_as_Neg() const { + return value_type() == mindspore::schema::PrimitiveType_Neg ? static_cast(value()) : nullptr; + } + const mindspore::schema::NegGrad *value_as_NegGrad() const { + return value_type() == mindspore::schema::PrimitiveType_NegGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::NotEqual *value_as_NotEqual() const { + return value_type() == mindspore::schema::PrimitiveType_NotEqual ? static_cast(value()) : nullptr; + } + const mindspore::schema::NonMaxSuppression *value_as_NonMaxSuppression() const { + return value_type() == mindspore::schema::PrimitiveType_NonMaxSuppression ? static_cast(value()) : nullptr; + } + const mindspore::schema::OneHot *value_as_OneHot() const { + return value_type() == mindspore::schema::PrimitiveType_OneHot ? static_cast(value()) : nullptr; + } + const mindspore::schema::OnesLike *value_as_OnesLike() const { + return value_type() == mindspore::schema::PrimitiveType_OnesLike ? static_cast(value()) : nullptr; + } + const mindspore::schema::PadFusion *value_as_PadFusion() const { + return value_type() == mindspore::schema::PrimitiveType_PadFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::PartialFusion *value_as_PartialFusion() const { + return value_type() == mindspore::schema::PrimitiveType_PartialFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::PowerGrad *value_as_PowerGrad() const { + return value_type() == mindspore::schema::PrimitiveType_PowerGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::PowFusion *value_as_PowFusion() const { + return value_type() == mindspore::schema::PrimitiveType_PowFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::PriorBox *value_as_PriorBox() const { + return value_type() == mindspore::schema::PrimitiveType_PriorBox ? static_cast(value()) : nullptr; + } + const mindspore::schema::PReLUFusion *value_as_PReLUFusion() const { + return value_type() == mindspore::schema::PrimitiveType_PReLUFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::QuantDTypeCast *value_as_QuantDTypeCast() const { + return value_type() == mindspore::schema::PrimitiveType_QuantDTypeCast ? static_cast(value()) : nullptr; + } + const mindspore::schema::Rank *value_as_Rank() const { + return value_type() == mindspore::schema::PrimitiveType_Rank ? static_cast(value()) : nullptr; + } + const mindspore::schema::Range *value_as_Range() const { + return value_type() == mindspore::schema::PrimitiveType_Range ? static_cast(value()) : nullptr; + } + const mindspore::schema::Reciprocal *value_as_Reciprocal() const { + return value_type() == mindspore::schema::PrimitiveType_Reciprocal ? static_cast(value()) : nullptr; + } + const mindspore::schema::RealDiv *value_as_RealDiv() const { + return value_type() == mindspore::schema::PrimitiveType_RealDiv ? static_cast(value()) : nullptr; + } + const mindspore::schema::ReduceFusion *value_as_ReduceFusion() const { + return value_type() == mindspore::schema::PrimitiveType_ReduceFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::Reshape *value_as_Reshape() const { + return value_type() == mindspore::schema::PrimitiveType_Reshape ? static_cast(value()) : nullptr; + } + const mindspore::schema::Resize *value_as_Resize() const { + return value_type() == mindspore::schema::PrimitiveType_Resize ? static_cast(value()) : nullptr; + } + const mindspore::schema::ReverseSequence *value_as_ReverseSequence() const { + return value_type() == mindspore::schema::PrimitiveType_ReverseSequence ? static_cast(value()) : nullptr; + } + const mindspore::schema::ReverseV2 *value_as_ReverseV2() const { + return value_type() == mindspore::schema::PrimitiveType_ReverseV2 ? static_cast(value()) : nullptr; + } + const mindspore::schema::Rfft *value_as_Rfft() const { + return value_type() == mindspore::schema::PrimitiveType_Rfft ? static_cast(value()) : nullptr; + } + const mindspore::schema::ROIPooling *value_as_ROIPooling() const { + return value_type() == mindspore::schema::PrimitiveType_ROIPooling ? static_cast(value()) : nullptr; + } + const mindspore::schema::Round *value_as_Round() const { + return value_type() == mindspore::schema::PrimitiveType_Round ? static_cast(value()) : nullptr; + } + const mindspore::schema::Rsqrt *value_as_Rsqrt() const { + return value_type() == mindspore::schema::PrimitiveType_Rsqrt ? static_cast(value()) : nullptr; + } + const mindspore::schema::ScaleFusion *value_as_ScaleFusion() const { + return value_type() == mindspore::schema::PrimitiveType_ScaleFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::ScatterNd *value_as_ScatterNd() const { + return value_type() == mindspore::schema::PrimitiveType_ScatterNd ? static_cast(value()) : nullptr; + } + const mindspore::schema::SGD *value_as_SGD() const { + return value_type() == mindspore::schema::PrimitiveType_SGD ? static_cast(value()) : nullptr; + } + const mindspore::schema::Shape *value_as_Shape() const { + return value_type() == mindspore::schema::PrimitiveType_Shape ? static_cast(value()) : nullptr; + } + const mindspore::schema::SigmoidCrossEntropyWithLogits *value_as_SigmoidCrossEntropyWithLogits() const { + return value_type() == mindspore::schema::PrimitiveType_SigmoidCrossEntropyWithLogits ? static_cast(value()) : nullptr; + } + const mindspore::schema::SigmoidCrossEntropyWithLogitsGrad *value_as_SigmoidCrossEntropyWithLogitsGrad() const { + return value_type() == mindspore::schema::PrimitiveType_SigmoidCrossEntropyWithLogitsGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::Sin *value_as_Sin() const { + return value_type() == mindspore::schema::PrimitiveType_Sin ? static_cast(value()) : nullptr; + } + const mindspore::schema::SkipGram *value_as_SkipGram() const { + return value_type() == mindspore::schema::PrimitiveType_SkipGram ? static_cast(value()) : nullptr; + } + const mindspore::schema::SliceFusion *value_as_SliceFusion() const { + return value_type() == mindspore::schema::PrimitiveType_SliceFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::SmoothL1Loss *value_as_SmoothL1Loss() const { + return value_type() == mindspore::schema::PrimitiveType_SmoothL1Loss ? static_cast(value()) : nullptr; + } + const mindspore::schema::SmoothL1LossGrad *value_as_SmoothL1LossGrad() const { + return value_type() == mindspore::schema::PrimitiveType_SmoothL1LossGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::Softmax *value_as_Softmax() const { + return value_type() == mindspore::schema::PrimitiveType_Softmax ? static_cast(value()) : nullptr; + } + const mindspore::schema::SoftmaxCrossEntropyWithLogits *value_as_SoftmaxCrossEntropyWithLogits() const { + return value_type() == mindspore::schema::PrimitiveType_SoftmaxCrossEntropyWithLogits ? static_cast(value()) : nullptr; + } + const mindspore::schema::SpaceToBatch *value_as_SpaceToBatch() const { + return value_type() == mindspore::schema::PrimitiveType_SpaceToBatch ? static_cast(value()) : nullptr; + } + const mindspore::schema::SpaceToBatchND *value_as_SpaceToBatchND() const { + return value_type() == mindspore::schema::PrimitiveType_SpaceToBatchND ? static_cast(value()) : nullptr; + } + const mindspore::schema::SpaceToDepth *value_as_SpaceToDepth() const { + return value_type() == mindspore::schema::PrimitiveType_SpaceToDepth ? static_cast(value()) : nullptr; + } + const mindspore::schema::SparseSoftmaxCrossEntropyWithLogits *value_as_SparseSoftmaxCrossEntropyWithLogits() const { + return value_type() == mindspore::schema::PrimitiveType_SparseSoftmaxCrossEntropyWithLogits ? static_cast(value()) : nullptr; + } + const mindspore::schema::SparseToDense *value_as_SparseToDense() const { + return value_type() == mindspore::schema::PrimitiveType_SparseToDense ? static_cast(value()) : nullptr; + } + const mindspore::schema::Split *value_as_Split() const { + return value_type() == mindspore::schema::PrimitiveType_Split ? static_cast(value()) : nullptr; + } + const mindspore::schema::Sqrt *value_as_Sqrt() const { + return value_type() == mindspore::schema::PrimitiveType_Sqrt ? static_cast(value()) : nullptr; + } + const mindspore::schema::Squeeze *value_as_Squeeze() const { + return value_type() == mindspore::schema::PrimitiveType_Squeeze ? static_cast(value()) : nullptr; + } + const mindspore::schema::Square *value_as_Square() const { + return value_type() == mindspore::schema::PrimitiveType_Square ? static_cast(value()) : nullptr; + } + const mindspore::schema::SquaredDifference *value_as_SquaredDifference() const { + return value_type() == mindspore::schema::PrimitiveType_SquaredDifference ? static_cast(value()) : nullptr; + } + const mindspore::schema::Stack *value_as_Stack() const { + return value_type() == mindspore::schema::PrimitiveType_Stack ? static_cast(value()) : nullptr; + } + const mindspore::schema::StridedSlice *value_as_StridedSlice() const { + return value_type() == mindspore::schema::PrimitiveType_StridedSlice ? static_cast(value()) : nullptr; + } + const mindspore::schema::SubFusion *value_as_SubFusion() const { + return value_type() == mindspore::schema::PrimitiveType_SubFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::SubGrad *value_as_SubGrad() const { + return value_type() == mindspore::schema::PrimitiveType_SubGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::Switch *value_as_Switch() const { + return value_type() == mindspore::schema::PrimitiveType_Switch ? static_cast(value()) : nullptr; + } + const mindspore::schema::TensorListFromTensor *value_as_TensorListFromTensor() const { + return value_type() == mindspore::schema::PrimitiveType_TensorListFromTensor ? static_cast(value()) : nullptr; + } + const mindspore::schema::TensorListGetItem *value_as_TensorListGetItem() const { + return value_type() == mindspore::schema::PrimitiveType_TensorListGetItem ? static_cast(value()) : nullptr; + } + const mindspore::schema::TensorListReserve *value_as_TensorListReserve() const { + return value_type() == mindspore::schema::PrimitiveType_TensorListReserve ? static_cast(value()) : nullptr; + } + const mindspore::schema::TensorListSetItem *value_as_TensorListSetItem() const { + return value_type() == mindspore::schema::PrimitiveType_TensorListSetItem ? static_cast(value()) : nullptr; + } + const mindspore::schema::TensorListStack *value_as_TensorListStack() const { + return value_type() == mindspore::schema::PrimitiveType_TensorListStack ? static_cast(value()) : nullptr; + } + const mindspore::schema::TileFusion *value_as_TileFusion() const { + return value_type() == mindspore::schema::PrimitiveType_TileFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::TopKFusion *value_as_TopKFusion() const { + return value_type() == mindspore::schema::PrimitiveType_TopKFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::Transpose *value_as_Transpose() const { + return value_type() == mindspore::schema::PrimitiveType_Transpose ? static_cast(value()) : nullptr; + } + const mindspore::schema::Unique *value_as_Unique() const { + return value_type() == mindspore::schema::PrimitiveType_Unique ? static_cast(value()) : nullptr; + } + const mindspore::schema::UnsortedSegmentSum *value_as_UnsortedSegmentSum() const { + return value_type() == mindspore::schema::PrimitiveType_UnsortedSegmentSum ? static_cast(value()) : nullptr; + } + const mindspore::schema::Unsqueeze *value_as_Unsqueeze() const { + return value_type() == mindspore::schema::PrimitiveType_Unsqueeze ? static_cast(value()) : nullptr; + } + const mindspore::schema::Unstack *value_as_Unstack() const { + return value_type() == mindspore::schema::PrimitiveType_Unstack ? static_cast(value()) : nullptr; + } + const mindspore::schema::LSTMGrad *value_as_LSTMGrad() const { + return value_type() == mindspore::schema::PrimitiveType_LSTMGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::Where *value_as_Where() const { + return value_type() == mindspore::schema::PrimitiveType_Where ? static_cast(value()) : nullptr; + } + const mindspore::schema::ZerosLike *value_as_ZerosLike() const { + return value_type() == mindspore::schema::PrimitiveType_ZerosLike ? static_cast(value()) : nullptr; + } + const mindspore::schema::Select *value_as_Select() const { + return value_type() == mindspore::schema::PrimitiveType_Select ? static_cast(value()) : nullptr; + } + const mindspore::schema::ScatterNdUpdate *value_as_ScatterNdUpdate() const { + return value_type() == mindspore::schema::PrimitiveType_ScatterNdUpdate ? static_cast(value()) : nullptr; + } + const mindspore::schema::GRU *value_as_GRU() const { + return value_type() == mindspore::schema::PrimitiveType_GRU ? static_cast(value()) : nullptr; + } + const mindspore::schema::NonZero *value_as_NonZero() const { + return value_type() == mindspore::schema::PrimitiveType_NonZero ? static_cast(value()) : nullptr; + } + const mindspore::schema::InvertPermutation *value_as_InvertPermutation() const { + return value_type() == mindspore::schema::PrimitiveType_InvertPermutation ? static_cast(value()) : nullptr; + } + const mindspore::schema::Size *value_as_Size() const { + return value_type() == mindspore::schema::PrimitiveType_Size ? static_cast(value()) : nullptr; + } + const mindspore::schema::RandomStandardNormal *value_as_RandomStandardNormal() const { + return value_type() == mindspore::schema::PrimitiveType_RandomStandardNormal ? static_cast(value()) : nullptr; + } + const mindspore::schema::CropAndResize *value_as_CropAndResize() const { + return value_type() == mindspore::schema::PrimitiveType_CropAndResize ? static_cast(value()) : nullptr; + } + const mindspore::schema::Erf *value_as_Erf() const { + return value_type() == mindspore::schema::PrimitiveType_Erf ? static_cast(value()) : nullptr; + } + const mindspore::schema::StridedSliceGrad *value_as_StridedSliceGrad() const { + return value_type() == mindspore::schema::PrimitiveType_StridedSliceGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::IsFinite *value_as_IsFinite() const { + return value_type() == mindspore::schema::PrimitiveType_IsFinite ? static_cast(value()) : nullptr; + } + const mindspore::schema::LinSpace *value_as_LinSpace() const { + return value_type() == mindspore::schema::PrimitiveType_LinSpace ? static_cast(value()) : nullptr; + } + const mindspore::schema::UniformReal *value_as_UniformReal() const { + return value_type() == mindspore::schema::PrimitiveType_UniformReal ? static_cast(value()) : nullptr; + } + const mindspore::schema::AbsGrad *value_as_AbsGrad() const { + return value_type() == mindspore::schema::PrimitiveType_AbsGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::RsqrtGrad *value_as_RsqrtGrad() const { + return value_type() == mindspore::schema::PrimitiveType_RsqrtGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::SqrtGrad *value_as_SqrtGrad() const { + return value_type() == mindspore::schema::PrimitiveType_SqrtGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::LayerNormGrad *value_as_LayerNormGrad() const { + return value_type() == mindspore::schema::PrimitiveType_LayerNormGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::ResizeGrad *value_as_ResizeGrad() const { + return value_type() == mindspore::schema::PrimitiveType_ResizeGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::Splice *value_as_Splice() const { + return value_type() == mindspore::schema::PrimitiveType_Splice ? static_cast(value()) : nullptr; + } + const mindspore::schema::LogSoftmax *value_as_LogSoftmax() const { + return value_type() == mindspore::schema::PrimitiveType_LogSoftmax ? static_cast(value()) : nullptr; + } + const mindspore::schema::Call *value_as_Call() const { + return value_type() == mindspore::schema::PrimitiveType_Call ? static_cast(value()) : nullptr; + } + const mindspore::schema::Custom *value_as_Custom() const { + return value_type() == mindspore::schema::PrimitiveType_Custom ? static_cast(value()) : nullptr; + } + const mindspore::schema::CumSum *value_as_CumSum() const { + return value_type() == mindspore::schema::PrimitiveType_CumSum ? static_cast(value()) : nullptr; + } + const mindspore::schema::SplitWithOverlap *value_as_SplitWithOverlap() const { + return value_type() == mindspore::schema::PrimitiveType_SplitWithOverlap ? static_cast(value()) : nullptr; + } + const mindspore::schema::GenOP *value_as_GenOP() const { + return value_type() == mindspore::schema::PrimitiveType_GenOP ? static_cast(value()) : nullptr; + } + const mindspore::schema::RaggedRange *value_as_RaggedRange() const { + return value_type() == mindspore::schema::PrimitiveType_RaggedRange ? static_cast(value()) : nullptr; + } + const mindspore::schema::GLU *value_as_GLU() const { + return value_type() == mindspore::schema::PrimitiveType_GLU ? static_cast(value()) : nullptr; + } + const mindspore::schema::TensorArray *value_as_TensorArray() const { + return value_type() == mindspore::schema::PrimitiveType_TensorArray ? static_cast(value()) : nullptr; + } + const mindspore::schema::TensorArrayRead *value_as_TensorArrayRead() const { + return value_type() == mindspore::schema::PrimitiveType_TensorArrayRead ? static_cast(value()) : nullptr; + } + const mindspore::schema::TensorArrayWrite *value_as_TensorArrayWrite() const { + return value_type() == mindspore::schema::PrimitiveType_TensorArrayWrite ? static_cast(value()) : nullptr; + } + const mindspore::schema::Affine *value_as_Affine() const { + return value_type() == mindspore::schema::PrimitiveType_Affine ? static_cast(value()) : nullptr; + } + const mindspore::schema::AllGather *value_as_AllGather() const { + return value_type() == mindspore::schema::PrimitiveType_AllGather ? static_cast(value()) : nullptr; + } + const mindspore::schema::ReduceScatter *value_as_ReduceScatter() const { + return value_type() == mindspore::schema::PrimitiveType_ReduceScatter ? static_cast(value()) : nullptr; + } + const mindspore::schema::DynamicQuant *value_as_DynamicQuant() const { + return value_type() == mindspore::schema::PrimitiveType_DynamicQuant ? static_cast(value()) : nullptr; + } + const mindspore::schema::LSTMGradData *value_as_LSTMGradData() const { + return value_type() == mindspore::schema::PrimitiveType_LSTMGradData ? static_cast(value()) : nullptr; + } + const mindspore::schema::LSTMGradWeight *value_as_LSTMGradWeight() const { + return value_type() == mindspore::schema::PrimitiveType_LSTMGradWeight ? static_cast(value()) : nullptr; + } + const mindspore::schema::RandomNormal *value_as_RandomNormal() const { + return value_type() == mindspore::schema::PrimitiveType_RandomNormal ? static_cast(value()) : nullptr; + } + const mindspore::schema::NLLLoss *value_as_NLLLoss() const { + return value_type() == mindspore::schema::PrimitiveType_NLLLoss ? static_cast(value()) : nullptr; + } + const mindspore::schema::NLLLossGrad *value_as_NLLLossGrad() const { + return value_type() == mindspore::schema::PrimitiveType_NLLLossGrad ? static_cast(value()) : nullptr; + } + const mindspore::schema::FormatTranspose *value_as_FormatTranspose() const { + return value_type() == mindspore::schema::PrimitiveType_FormatTranspose ? static_cast(value()) : nullptr; + } + const mindspore::schema::GatherD *value_as_GatherD() const { + return value_type() == mindspore::schema::PrimitiveType_GatherD ? static_cast(value()) : nullptr; + } + const mindspore::schema::GroupNormFusion *value_as_GroupNormFusion() const { + return value_type() == mindspore::schema::PrimitiveType_GroupNormFusion ? static_cast(value()) : nullptr; + } + const mindspore::schema::Log1p *value_as_Log1p() const { + return value_type() == mindspore::schema::PrimitiveType_Log1p ? static_cast(value()) : nullptr; + } + const mindspore::schema::TensorScatterAdd *value_as_TensorScatterAdd() const { + return value_type() == mindspore::schema::PrimitiveType_TensorScatterAdd ? static_cast(value()) : nullptr; + } + const mindspore::schema::SparseFillEmptyRows *value_as_SparseFillEmptyRows() const { + return value_type() == mindspore::schema::PrimitiveType_SparseFillEmptyRows ? static_cast(value()) : nullptr; + } + const mindspore::schema::SparseReshape *value_as_SparseReshape() const { + return value_type() == mindspore::schema::PrimitiveType_SparseReshape ? static_cast(value()) : nullptr; + } + const mindspore::schema::SparseSegmentSum *value_as_SparseSegmentSum() const { + return value_type() == mindspore::schema::PrimitiveType_SparseSegmentSum ? static_cast(value()) : nullptr; + } + const mindspore::schema::ScatterElements *value_as_ScatterElements() const { + return value_type() == mindspore::schema::PrimitiveType_ScatterElements ? static_cast(value()) : nullptr; + } + const mindspore::schema::Triu *value_as_Triu() const { + return value_type() == mindspore::schema::PrimitiveType_Triu ? static_cast(value()) : nullptr; + } + const mindspore::schema::Tril *value_as_Tril() const { + return value_type() == mindspore::schema::PrimitiveType_Tril ? static_cast(value()) : nullptr; + } + const mindspore::schema::AdamWeightDecay *value_as_AdamWeightDecay() const { + return value_type() == mindspore::schema::PrimitiveType_AdamWeightDecay ? static_cast(value()) : nullptr; + } + void *mutable_value() { + return GetPointer(VT_VALUE); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_VALUE_TYPE) && + VerifyOffset(verifier, VT_VALUE) && + VerifyPrimitiveType(verifier, value(), value_type()) && + verifier.EndTable(); + } + PrimitiveT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(PrimitiveT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const PrimitiveT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +template<> inline const mindspore::schema::Abs *Primitive::value_as() const { + return value_as_Abs(); +} + +template<> inline const mindspore::schema::Activation *Primitive::value_as() const { + return value_as_Activation(); +} + +template<> inline const mindspore::schema::ActivationGrad *Primitive::value_as() const { + return value_as_ActivationGrad(); +} + +template<> inline const mindspore::schema::Adam *Primitive::value_as() const { + return value_as_Adam(); +} + +template<> inline const mindspore::schema::AddFusion *Primitive::value_as() const { + return value_as_AddFusion(); +} + +template<> inline const mindspore::schema::AdderFusion *Primitive::value_as() const { + return value_as_AdderFusion(); +} + +template<> inline const mindspore::schema::AddGrad *Primitive::value_as() const { + return value_as_AddGrad(); +} + +template<> inline const mindspore::schema::AddN *Primitive::value_as() const { + return value_as_AddN(); +} + +template<> inline const mindspore::schema::All *Primitive::value_as() const { + return value_as_All(); +} + +template<> inline const mindspore::schema::ApplyMomentum *Primitive::value_as() const { + return value_as_ApplyMomentum(); +} + +template<> inline const mindspore::schema::ArgMaxFusion *Primitive::value_as() const { + return value_as_ArgMaxFusion(); +} + +template<> inline const mindspore::schema::ArgMinFusion *Primitive::value_as() const { + return value_as_ArgMinFusion(); +} + +template<> inline const mindspore::schema::Assert *Primitive::value_as() const { + return value_as_Assert(); +} + +template<> inline const mindspore::schema::Assign *Primitive::value_as() const { + return value_as_Assign(); +} + +template<> inline const mindspore::schema::AssignAdd *Primitive::value_as() const { + return value_as_AssignAdd(); +} + +template<> inline const mindspore::schema::AudioSpectrogram *Primitive::value_as() const { + return value_as_AudioSpectrogram(); +} + +template<> inline const mindspore::schema::AvgPoolFusion *Primitive::value_as() const { + return value_as_AvgPoolFusion(); +} + +template<> inline const mindspore::schema::AvgPoolGrad *Primitive::value_as() const { + return value_as_AvgPoolGrad(); +} + +template<> inline const mindspore::schema::BatchNorm *Primitive::value_as() const { + return value_as_BatchNorm(); +} + +template<> inline const mindspore::schema::BatchNormGrad *Primitive::value_as() const { + return value_as_BatchNormGrad(); +} + +template<> inline const mindspore::schema::BatchToSpace *Primitive::value_as() const { + return value_as_BatchToSpace(); +} + +template<> inline const mindspore::schema::BatchToSpaceND *Primitive::value_as() const { + return value_as_BatchToSpaceND(); +} + +template<> inline const mindspore::schema::BiasAdd *Primitive::value_as() const { + return value_as_BiasAdd(); +} + +template<> inline const mindspore::schema::BinaryCrossEntropy *Primitive::value_as() const { + return value_as_BinaryCrossEntropy(); +} + +template<> inline const mindspore::schema::BinaryCrossEntropyGrad *Primitive::value_as() const { + return value_as_BinaryCrossEntropyGrad(); +} + +template<> inline const mindspore::schema::BiasAddGrad *Primitive::value_as() const { + return value_as_BiasAddGrad(); +} + +template<> inline const mindspore::schema::BroadcastTo *Primitive::value_as() const { + return value_as_BroadcastTo(); +} + +template<> inline const mindspore::schema::Cast *Primitive::value_as() const { + return value_as_Cast(); +} + +template<> inline const mindspore::schema::Ceil *Primitive::value_as() const { + return value_as_Ceil(); +} + +template<> inline const mindspore::schema::Clip *Primitive::value_as() const { + return value_as_Clip(); +} + +template<> inline const mindspore::schema::Concat *Primitive::value_as() const { + return value_as_Concat(); +} + +template<> inline const mindspore::schema::Attention *Primitive::value_as() const { + return value_as_Attention(); +} + +template<> inline const mindspore::schema::Conv2DBackpropFilterFusion *Primitive::value_as() const { + return value_as_Conv2DBackpropFilterFusion(); +} + +template<> inline const mindspore::schema::Conv2DBackpropInputFusion *Primitive::value_as() const { + return value_as_Conv2DBackpropInputFusion(); +} + +template<> inline const mindspore::schema::Conv2DFusion *Primitive::value_as() const { + return value_as_Conv2DFusion(); +} + +template<> inline const mindspore::schema::Conv2dTransposeFusion *Primitive::value_as() const { + return value_as_Conv2dTransposeFusion(); +} + +template<> inline const mindspore::schema::Cos *Primitive::value_as() const { + return value_as_Cos(); +} + +template<> inline const mindspore::schema::ConstantOfShape *Primitive::value_as() const { + return value_as_ConstantOfShape(); +} + +template<> inline const mindspore::schema::Crop *Primitive::value_as() const { + return value_as_Crop(); +} + +template<> inline const mindspore::schema::CustomExtractFeatures *Primitive::value_as() const { + return value_as_CustomExtractFeatures(); +} + +template<> inline const mindspore::schema::CustomNormalize *Primitive::value_as() const { + return value_as_CustomNormalize(); +} + +template<> inline const mindspore::schema::CustomPredict *Primitive::value_as() const { + return value_as_CustomPredict(); +} + +template<> inline const mindspore::schema::DeConv2DGradFilter *Primitive::value_as() const { + return value_as_DeConv2DGradFilter(); +} + +template<> inline const mindspore::schema::Depend *Primitive::value_as() const { + return value_as_Depend(); +} + +template<> inline const mindspore::schema::DepthToSpace *Primitive::value_as() const { + return value_as_DepthToSpace(); +} + +template<> inline const mindspore::schema::DetectionPostProcess *Primitive::value_as() const { + return value_as_DetectionPostProcess(); +} + +template<> inline const mindspore::schema::DivFusion *Primitive::value_as() const { + return value_as_DivFusion(); +} + +template<> inline const mindspore::schema::DivGrad *Primitive::value_as() const { + return value_as_DivGrad(); +} + +template<> inline const mindspore::schema::Dropout *Primitive::value_as() const { + return value_as_Dropout(); +} + +template<> inline const mindspore::schema::DropoutGrad *Primitive::value_as() const { + return value_as_DropoutGrad(); +} + +template<> inline const mindspore::schema::Elu *Primitive::value_as() const { + return value_as_Elu(); +} + +template<> inline const mindspore::schema::Eltwise *Primitive::value_as() const { + return value_as_Eltwise(); +} + +template<> inline const mindspore::schema::Equal *Primitive::value_as() const { + return value_as_Equal(); +} + +template<> inline const mindspore::schema::EmbeddingLookupFusion *Primitive::value_as() const { + return value_as_EmbeddingLookupFusion(); +} + +template<> inline const mindspore::schema::ExpFusion *Primitive::value_as() const { + return value_as_ExpFusion(); +} + +template<> inline const mindspore::schema::ExpandDims *Primitive::value_as() const { + return value_as_ExpandDims(); +} + +template<> inline const mindspore::schema::FakeQuantWithMinMaxVars *Primitive::value_as() const { + return value_as_FakeQuantWithMinMaxVars(); +} + +template<> inline const mindspore::schema::FakeQuantWithMinMaxVarsPerChannel *Primitive::value_as() const { + return value_as_FakeQuantWithMinMaxVarsPerChannel(); +} + +template<> inline const mindspore::schema::FftReal *Primitive::value_as() const { + return value_as_FftReal(); +} + +template<> inline const mindspore::schema::FftImag *Primitive::value_as() const { + return value_as_FftImag(); +} + +template<> inline const mindspore::schema::Flatten *Primitive::value_as() const { + return value_as_Flatten(); +} + +template<> inline const mindspore::schema::FlattenGrad *Primitive::value_as() const { + return value_as_FlattenGrad(); +} + +template<> inline const mindspore::schema::Floor *Primitive::value_as() const { + return value_as_Floor(); +} + +template<> inline const mindspore::schema::FloorDiv *Primitive::value_as() const { + return value_as_FloorDiv(); +} + +template<> inline const mindspore::schema::FloorMod *Primitive::value_as() const { + return value_as_FloorMod(); +} + +template<> inline const mindspore::schema::Fill *Primitive::value_as() const { + return value_as_Fill(); +} + +template<> inline const mindspore::schema::FullConnection *Primitive::value_as() const { + return value_as_FullConnection(); +} + +template<> inline const mindspore::schema::FusedBatchNorm *Primitive::value_as() const { + return value_as_FusedBatchNorm(); +} + +template<> inline const mindspore::schema::Gather *Primitive::value_as() const { + return value_as_Gather(); +} + +template<> inline const mindspore::schema::GatherNd *Primitive::value_as() const { + return value_as_GatherNd(); +} + +template<> inline const mindspore::schema::Greater *Primitive::value_as() const { + return value_as_Greater(); +} + +template<> inline const mindspore::schema::GreaterEqual *Primitive::value_as() const { + return value_as_GreaterEqual(); +} + +template<> inline const mindspore::schema::HashtableLookup *Primitive::value_as() const { + return value_as_HashtableLookup(); +} + +template<> inline const mindspore::schema::InstanceNorm *Primitive::value_as() const { + return value_as_InstanceNorm(); +} + +template<> inline const mindspore::schema::LayerNormFusion *Primitive::value_as() const { + return value_as_LayerNormFusion(); +} + +template<> inline const mindspore::schema::LeakyRelu *Primitive::value_as() const { + return value_as_LeakyRelu(); +} + +template<> inline const mindspore::schema::Less *Primitive::value_as() const { + return value_as_Less(); +} + +template<> inline const mindspore::schema::LessEqual *Primitive::value_as() const { + return value_as_LessEqual(); +} + +template<> inline const mindspore::schema::Log *Primitive::value_as() const { + return value_as_Log(); +} + +template<> inline const mindspore::schema::LogGrad *Primitive::value_as() const { + return value_as_LogGrad(); +} + +template<> inline const mindspore::schema::LogicalAnd *Primitive::value_as() const { + return value_as_LogicalAnd(); +} + +template<> inline const mindspore::schema::LogicalNot *Primitive::value_as() const { + return value_as_LogicalNot(); +} + +template<> inline const mindspore::schema::LogicalOr *Primitive::value_as() const { + return value_as_LogicalOr(); +} + +template<> inline const mindspore::schema::LpNormalization *Primitive::value_as() const { + return value_as_LpNormalization(); +} + +template<> inline const mindspore::schema::LRN *Primitive::value_as() const { + return value_as_LRN(); +} + +template<> inline const mindspore::schema::LshProjection *Primitive::value_as() const { + return value_as_LshProjection(); +} + +template<> inline const mindspore::schema::LSTM *Primitive::value_as() const { + return value_as_LSTM(); +} + +template<> inline const mindspore::schema::L2NormalizeFusion *Primitive::value_as() const { + return value_as_L2NormalizeFusion(); +} + +template<> inline const mindspore::schema::MatMulFusion *Primitive::value_as() const { + return value_as_MatMulFusion(); +} + +template<> inline const mindspore::schema::Maximum *Primitive::value_as() const { + return value_as_Maximum(); +} + +template<> inline const mindspore::schema::MaximumGrad *Primitive::value_as() const { + return value_as_MaximumGrad(); +} + +template<> inline const mindspore::schema::MaxPoolFusion *Primitive::value_as() const { + return value_as_MaxPoolFusion(); +} + +template<> inline const mindspore::schema::MaxPoolGrad *Primitive::value_as() const { + return value_as_MaxPoolGrad(); +} + +template<> inline const mindspore::schema::SwitchLayer *Primitive::value_as() const { + return value_as_SwitchLayer(); +} + +template<> inline const mindspore::schema::Mfcc *Primitive::value_as() const { + return value_as_Mfcc(); +} + +template<> inline const mindspore::schema::Minimum *Primitive::value_as() const { + return value_as_Minimum(); +} + +template<> inline const mindspore::schema::MinimumGrad *Primitive::value_as() const { + return value_as_MinimumGrad(); +} + +template<> inline const mindspore::schema::Mod *Primitive::value_as() const { + return value_as_Mod(); +} + +template<> inline const mindspore::schema::MulFusion *Primitive::value_as() const { + return value_as_MulFusion(); +} + +template<> inline const mindspore::schema::MulGrad *Primitive::value_as() const { + return value_as_MulGrad(); +} + +template<> inline const mindspore::schema::Neg *Primitive::value_as() const { + return value_as_Neg(); +} + +template<> inline const mindspore::schema::NegGrad *Primitive::value_as() const { + return value_as_NegGrad(); +} + +template<> inline const mindspore::schema::NotEqual *Primitive::value_as() const { + return value_as_NotEqual(); +} + +template<> inline const mindspore::schema::NonMaxSuppression *Primitive::value_as() const { + return value_as_NonMaxSuppression(); +} + +template<> inline const mindspore::schema::OneHot *Primitive::value_as() const { + return value_as_OneHot(); +} + +template<> inline const mindspore::schema::OnesLike *Primitive::value_as() const { + return value_as_OnesLike(); +} + +template<> inline const mindspore::schema::PadFusion *Primitive::value_as() const { + return value_as_PadFusion(); +} + +template<> inline const mindspore::schema::PartialFusion *Primitive::value_as() const { + return value_as_PartialFusion(); +} + +template<> inline const mindspore::schema::PowerGrad *Primitive::value_as() const { + return value_as_PowerGrad(); +} + +template<> inline const mindspore::schema::PowFusion *Primitive::value_as() const { + return value_as_PowFusion(); +} + +template<> inline const mindspore::schema::PriorBox *Primitive::value_as() const { + return value_as_PriorBox(); +} + +template<> inline const mindspore::schema::PReLUFusion *Primitive::value_as() const { + return value_as_PReLUFusion(); +} + +template<> inline const mindspore::schema::QuantDTypeCast *Primitive::value_as() const { + return value_as_QuantDTypeCast(); +} + +template<> inline const mindspore::schema::Rank *Primitive::value_as() const { + return value_as_Rank(); +} + +template<> inline const mindspore::schema::Range *Primitive::value_as() const { + return value_as_Range(); +} + +template<> inline const mindspore::schema::Reciprocal *Primitive::value_as() const { + return value_as_Reciprocal(); +} + +template<> inline const mindspore::schema::RealDiv *Primitive::value_as() const { + return value_as_RealDiv(); +} + +template<> inline const mindspore::schema::ReduceFusion *Primitive::value_as() const { + return value_as_ReduceFusion(); +} + +template<> inline const mindspore::schema::Reshape *Primitive::value_as() const { + return value_as_Reshape(); +} + +template<> inline const mindspore::schema::Resize *Primitive::value_as() const { + return value_as_Resize(); +} + +template<> inline const mindspore::schema::ReverseSequence *Primitive::value_as() const { + return value_as_ReverseSequence(); +} + +template<> inline const mindspore::schema::ReverseV2 *Primitive::value_as() const { + return value_as_ReverseV2(); +} + +template<> inline const mindspore::schema::Rfft *Primitive::value_as() const { + return value_as_Rfft(); +} + +template<> inline const mindspore::schema::ROIPooling *Primitive::value_as() const { + return value_as_ROIPooling(); +} + +template<> inline const mindspore::schema::Round *Primitive::value_as() const { + return value_as_Round(); +} + +template<> inline const mindspore::schema::Rsqrt *Primitive::value_as() const { + return value_as_Rsqrt(); +} + +template<> inline const mindspore::schema::ScaleFusion *Primitive::value_as() const { + return value_as_ScaleFusion(); +} + +template<> inline const mindspore::schema::ScatterNd *Primitive::value_as() const { + return value_as_ScatterNd(); +} + +template<> inline const mindspore::schema::SGD *Primitive::value_as() const { + return value_as_SGD(); +} + +template<> inline const mindspore::schema::Shape *Primitive::value_as() const { + return value_as_Shape(); +} + +template<> inline const mindspore::schema::SigmoidCrossEntropyWithLogits *Primitive::value_as() const { + return value_as_SigmoidCrossEntropyWithLogits(); +} + +template<> inline const mindspore::schema::SigmoidCrossEntropyWithLogitsGrad *Primitive::value_as() const { + return value_as_SigmoidCrossEntropyWithLogitsGrad(); +} + +template<> inline const mindspore::schema::Sin *Primitive::value_as() const { + return value_as_Sin(); +} + +template<> inline const mindspore::schema::SkipGram *Primitive::value_as() const { + return value_as_SkipGram(); +} + +template<> inline const mindspore::schema::SliceFusion *Primitive::value_as() const { + return value_as_SliceFusion(); +} + +template<> inline const mindspore::schema::SmoothL1Loss *Primitive::value_as() const { + return value_as_SmoothL1Loss(); +} + +template<> inline const mindspore::schema::SmoothL1LossGrad *Primitive::value_as() const { + return value_as_SmoothL1LossGrad(); +} + +template<> inline const mindspore::schema::Softmax *Primitive::value_as() const { + return value_as_Softmax(); +} + +template<> inline const mindspore::schema::SoftmaxCrossEntropyWithLogits *Primitive::value_as() const { + return value_as_SoftmaxCrossEntropyWithLogits(); +} + +template<> inline const mindspore::schema::SpaceToBatch *Primitive::value_as() const { + return value_as_SpaceToBatch(); +} + +template<> inline const mindspore::schema::SpaceToBatchND *Primitive::value_as() const { + return value_as_SpaceToBatchND(); +} + +template<> inline const mindspore::schema::SpaceToDepth *Primitive::value_as() const { + return value_as_SpaceToDepth(); +} + +template<> inline const mindspore::schema::SparseSoftmaxCrossEntropyWithLogits *Primitive::value_as() const { + return value_as_SparseSoftmaxCrossEntropyWithLogits(); +} + +template<> inline const mindspore::schema::SparseToDense *Primitive::value_as() const { + return value_as_SparseToDense(); +} + +template<> inline const mindspore::schema::Split *Primitive::value_as() const { + return value_as_Split(); +} + +template<> inline const mindspore::schema::Sqrt *Primitive::value_as() const { + return value_as_Sqrt(); +} + +template<> inline const mindspore::schema::Squeeze *Primitive::value_as() const { + return value_as_Squeeze(); +} + +template<> inline const mindspore::schema::Square *Primitive::value_as() const { + return value_as_Square(); +} + +template<> inline const mindspore::schema::SquaredDifference *Primitive::value_as() const { + return value_as_SquaredDifference(); +} + +template<> inline const mindspore::schema::Stack *Primitive::value_as() const { + return value_as_Stack(); +} + +template<> inline const mindspore::schema::StridedSlice *Primitive::value_as() const { + return value_as_StridedSlice(); +} + +template<> inline const mindspore::schema::SubFusion *Primitive::value_as() const { + return value_as_SubFusion(); +} + +template<> inline const mindspore::schema::SubGrad *Primitive::value_as() const { + return value_as_SubGrad(); +} + +template<> inline const mindspore::schema::Switch *Primitive::value_as() const { + return value_as_Switch(); +} + +template<> inline const mindspore::schema::TensorListFromTensor *Primitive::value_as() const { + return value_as_TensorListFromTensor(); +} + +template<> inline const mindspore::schema::TensorListGetItem *Primitive::value_as() const { + return value_as_TensorListGetItem(); +} + +template<> inline const mindspore::schema::TensorListReserve *Primitive::value_as() const { + return value_as_TensorListReserve(); +} + +template<> inline const mindspore::schema::TensorListSetItem *Primitive::value_as() const { + return value_as_TensorListSetItem(); +} + +template<> inline const mindspore::schema::TensorListStack *Primitive::value_as() const { + return value_as_TensorListStack(); +} + +template<> inline const mindspore::schema::TileFusion *Primitive::value_as() const { + return value_as_TileFusion(); +} + +template<> inline const mindspore::schema::TopKFusion *Primitive::value_as() const { + return value_as_TopKFusion(); +} + +template<> inline const mindspore::schema::Transpose *Primitive::value_as() const { + return value_as_Transpose(); +} + +template<> inline const mindspore::schema::Unique *Primitive::value_as() const { + return value_as_Unique(); +} + +template<> inline const mindspore::schema::UnsortedSegmentSum *Primitive::value_as() const { + return value_as_UnsortedSegmentSum(); +} + +template<> inline const mindspore::schema::Unsqueeze *Primitive::value_as() const { + return value_as_Unsqueeze(); +} + +template<> inline const mindspore::schema::Unstack *Primitive::value_as() const { + return value_as_Unstack(); +} + +template<> inline const mindspore::schema::LSTMGrad *Primitive::value_as() const { + return value_as_LSTMGrad(); +} + +template<> inline const mindspore::schema::Where *Primitive::value_as() const { + return value_as_Where(); +} + +template<> inline const mindspore::schema::ZerosLike *Primitive::value_as() const { + return value_as_ZerosLike(); +} + +template<> inline const mindspore::schema::Select *Primitive::value_as() const { + return value_as_Select(); +} + +template<> inline const mindspore::schema::ScatterNdUpdate *Primitive::value_as() const { + return value_as_ScatterNdUpdate(); +} + +template<> inline const mindspore::schema::GRU *Primitive::value_as() const { + return value_as_GRU(); +} + +template<> inline const mindspore::schema::NonZero *Primitive::value_as() const { + return value_as_NonZero(); +} + +template<> inline const mindspore::schema::InvertPermutation *Primitive::value_as() const { + return value_as_InvertPermutation(); +} + +template<> inline const mindspore::schema::Size *Primitive::value_as() const { + return value_as_Size(); +} + +template<> inline const mindspore::schema::RandomStandardNormal *Primitive::value_as() const { + return value_as_RandomStandardNormal(); +} + +template<> inline const mindspore::schema::CropAndResize *Primitive::value_as() const { + return value_as_CropAndResize(); +} + +template<> inline const mindspore::schema::Erf *Primitive::value_as() const { + return value_as_Erf(); +} + +template<> inline const mindspore::schema::StridedSliceGrad *Primitive::value_as() const { + return value_as_StridedSliceGrad(); +} + +template<> inline const mindspore::schema::IsFinite *Primitive::value_as() const { + return value_as_IsFinite(); +} + +template<> inline const mindspore::schema::LinSpace *Primitive::value_as() const { + return value_as_LinSpace(); +} + +template<> inline const mindspore::schema::UniformReal *Primitive::value_as() const { + return value_as_UniformReal(); +} + +template<> inline const mindspore::schema::AbsGrad *Primitive::value_as() const { + return value_as_AbsGrad(); +} + +template<> inline const mindspore::schema::RsqrtGrad *Primitive::value_as() const { + return value_as_RsqrtGrad(); +} + +template<> inline const mindspore::schema::SqrtGrad *Primitive::value_as() const { + return value_as_SqrtGrad(); +} + +template<> inline const mindspore::schema::LayerNormGrad *Primitive::value_as() const { + return value_as_LayerNormGrad(); +} + +template<> inline const mindspore::schema::ResizeGrad *Primitive::value_as() const { + return value_as_ResizeGrad(); +} + +template<> inline const mindspore::schema::Splice *Primitive::value_as() const { + return value_as_Splice(); +} + +template<> inline const mindspore::schema::LogSoftmax *Primitive::value_as() const { + return value_as_LogSoftmax(); +} + +template<> inline const mindspore::schema::Call *Primitive::value_as() const { + return value_as_Call(); +} + +template<> inline const mindspore::schema::Custom *Primitive::value_as() const { + return value_as_Custom(); +} + +template<> inline const mindspore::schema::CumSum *Primitive::value_as() const { + return value_as_CumSum(); +} + +template<> inline const mindspore::schema::SplitWithOverlap *Primitive::value_as() const { + return value_as_SplitWithOverlap(); +} + +template<> inline const mindspore::schema::GenOP *Primitive::value_as() const { + return value_as_GenOP(); +} + +template<> inline const mindspore::schema::RaggedRange *Primitive::value_as() const { + return value_as_RaggedRange(); +} + +template<> inline const mindspore::schema::GLU *Primitive::value_as() const { + return value_as_GLU(); +} + +template<> inline const mindspore::schema::TensorArray *Primitive::value_as() const { + return value_as_TensorArray(); +} + +template<> inline const mindspore::schema::TensorArrayRead *Primitive::value_as() const { + return value_as_TensorArrayRead(); +} + +template<> inline const mindspore::schema::TensorArrayWrite *Primitive::value_as() const { + return value_as_TensorArrayWrite(); +} + +template<> inline const mindspore::schema::Affine *Primitive::value_as() const { + return value_as_Affine(); +} + +template<> inline const mindspore::schema::AllGather *Primitive::value_as() const { + return value_as_AllGather(); +} + +template<> inline const mindspore::schema::ReduceScatter *Primitive::value_as() const { + return value_as_ReduceScatter(); +} + +template<> inline const mindspore::schema::DynamicQuant *Primitive::value_as() const { + return value_as_DynamicQuant(); +} + +template<> inline const mindspore::schema::LSTMGradData *Primitive::value_as() const { + return value_as_LSTMGradData(); +} + +template<> inline const mindspore::schema::LSTMGradWeight *Primitive::value_as() const { + return value_as_LSTMGradWeight(); +} + +template<> inline const mindspore::schema::RandomNormal *Primitive::value_as() const { + return value_as_RandomNormal(); +} + +template<> inline const mindspore::schema::NLLLoss *Primitive::value_as() const { + return value_as_NLLLoss(); +} + +template<> inline const mindspore::schema::NLLLossGrad *Primitive::value_as() const { + return value_as_NLLLossGrad(); +} + +template<> inline const mindspore::schema::FormatTranspose *Primitive::value_as() const { + return value_as_FormatTranspose(); +} + +template<> inline const mindspore::schema::GatherD *Primitive::value_as() const { + return value_as_GatherD(); +} + +template<> inline const mindspore::schema::GroupNormFusion *Primitive::value_as() const { + return value_as_GroupNormFusion(); +} + +template<> inline const mindspore::schema::Log1p *Primitive::value_as() const { + return value_as_Log1p(); +} + +template<> inline const mindspore::schema::TensorScatterAdd *Primitive::value_as() const { + return value_as_TensorScatterAdd(); +} + +template<> inline const mindspore::schema::SparseFillEmptyRows *Primitive::value_as() const { + return value_as_SparseFillEmptyRows(); +} + +template<> inline const mindspore::schema::SparseReshape *Primitive::value_as() const { + return value_as_SparseReshape(); +} + +template<> inline const mindspore::schema::SparseSegmentSum *Primitive::value_as() const { + return value_as_SparseSegmentSum(); +} + +template<> inline const mindspore::schema::ScatterElements *Primitive::value_as() const { + return value_as_ScatterElements(); +} + +template<> inline const mindspore::schema::Triu *Primitive::value_as() const { + return value_as_Triu(); +} + +template<> inline const mindspore::schema::Tril *Primitive::value_as() const { + return value_as_Tril(); +} + +template<> inline const mindspore::schema::AdamWeightDecay *Primitive::value_as() const { + return value_as_AdamWeightDecay(); +} + +struct PrimitiveBuilder { + typedef Primitive Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_value_type(mindspore::schema::PrimitiveType value_type) { + fbb_.AddElement(Primitive::VT_VALUE_TYPE, static_cast(value_type), 0); + } + void add_value(flatbuffers::Offset value) { + fbb_.AddOffset(Primitive::VT_VALUE, value); + } + explicit PrimitiveBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreatePrimitive( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::PrimitiveType value_type = mindspore::schema::PrimitiveType_NONE, + flatbuffers::Offset value = 0) { + PrimitiveBuilder builder_(_fbb); + builder_.add_value(value); + builder_.add_value_type(value_type); + return builder_.Finish(); +} + +flatbuffers::Offset CreatePrimitive(flatbuffers::FlatBufferBuilder &_fbb, const PrimitiveT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct CNodeT : public flatbuffers::NativeTable { + typedef CNode TableType; + std::string name{}; + std::unique_ptr primitive{}; + std::vector inputIndex{}; + std::vector outputIndex{}; + mindspore::schema::QuantType quantType = mindspore::schema::QuantType_QUANT_NONE; + int32_t deviceType = -1; +}; + +struct CNode FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CNodeT NativeTableType; + typedef CNodeBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return CNodeTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_PRIMITIVE = 8, + VT_INPUTINDEX = 10, + VT_OUTPUTINDEX = 12, + VT_QUANTTYPE = 14, + VT_DEVICETYPE = 16 + }; + const flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + flatbuffers::String *mutable_name() { + return GetPointer(VT_NAME); + } + const mindspore::schema::Primitive *primitive() const { + return GetPointer(VT_PRIMITIVE); + } + mindspore::schema::Primitive *mutable_primitive() { + return GetPointer(VT_PRIMITIVE); + } + const flatbuffers::Vector *inputIndex() const { + return GetPointer *>(VT_INPUTINDEX); + } + flatbuffers::Vector *mutable_inputIndex() { + return GetPointer *>(VT_INPUTINDEX); + } + const flatbuffers::Vector *outputIndex() const { + return GetPointer *>(VT_OUTPUTINDEX); + } + flatbuffers::Vector *mutable_outputIndex() { + return GetPointer *>(VT_OUTPUTINDEX); + } + mindspore::schema::QuantType quantType() const { + return static_cast(GetField(VT_QUANTTYPE, 0)); + } + bool mutate_quantType(mindspore::schema::QuantType _quantType) { + return SetField(VT_QUANTTYPE, static_cast(_quantType), 0); + } + int32_t deviceType() const { + return GetField(VT_DEVICETYPE, -1); + } + bool mutate_deviceType(int32_t _deviceType) { + return SetField(VT_DEVICETYPE, _deviceType, -1); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyOffset(verifier, VT_PRIMITIVE) && + verifier.VerifyTable(primitive()) && + VerifyOffset(verifier, VT_INPUTINDEX) && + verifier.VerifyVector(inputIndex()) && + VerifyOffset(verifier, VT_OUTPUTINDEX) && + verifier.VerifyVector(outputIndex()) && + VerifyField(verifier, VT_QUANTTYPE) && + VerifyField(verifier, VT_DEVICETYPE) && + verifier.EndTable(); + } + CNodeT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(CNodeT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const CNodeT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct CNodeBuilder { + typedef CNode Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_name(flatbuffers::Offset name) { + fbb_.AddOffset(CNode::VT_NAME, name); + } + void add_primitive(flatbuffers::Offset primitive) { + fbb_.AddOffset(CNode::VT_PRIMITIVE, primitive); + } + void add_inputIndex(flatbuffers::Offset> inputIndex) { + fbb_.AddOffset(CNode::VT_INPUTINDEX, inputIndex); + } + void add_outputIndex(flatbuffers::Offset> outputIndex) { + fbb_.AddOffset(CNode::VT_OUTPUTINDEX, outputIndex); + } + void add_quantType(mindspore::schema::QuantType quantType) { + fbb_.AddElement(CNode::VT_QUANTTYPE, static_cast(quantType), 0); + } + void add_deviceType(int32_t deviceType) { + fbb_.AddElement(CNode::VT_DEVICETYPE, deviceType, -1); + } + explicit CNodeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateCNode( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset name = 0, + flatbuffers::Offset primitive = 0, + flatbuffers::Offset> inputIndex = 0, + flatbuffers::Offset> outputIndex = 0, + mindspore::schema::QuantType quantType = mindspore::schema::QuantType_QUANT_NONE, + int32_t deviceType = -1) { + CNodeBuilder builder_(_fbb); + builder_.add_deviceType(deviceType); + builder_.add_quantType(quantType); + builder_.add_outputIndex(outputIndex); + builder_.add_inputIndex(inputIndex); + builder_.add_primitive(primitive); + builder_.add_name(name); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateCNodeDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *name = nullptr, + flatbuffers::Offset primitive = 0, + const std::vector *inputIndex = nullptr, + const std::vector *outputIndex = nullptr, + mindspore::schema::QuantType quantType = mindspore::schema::QuantType_QUANT_NONE, + int32_t deviceType = -1) { + auto name__ = name ? _fbb.CreateString(name) : 0; + auto inputIndex__ = inputIndex ? _fbb.CreateVector(*inputIndex) : 0; + auto outputIndex__ = outputIndex ? _fbb.CreateVector(*outputIndex) : 0; + return mindspore::schema::CreateCNode( + _fbb, + name__, + primitive, + inputIndex__, + outputIndex__, + quantType, + deviceType); +} + +flatbuffers::Offset CreateCNode(flatbuffers::FlatBufferBuilder &_fbb, const CNodeT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SubGraphT : public flatbuffers::NativeTable { + typedef SubGraph TableType; + std::string name{}; + std::vector inputIndices{}; + std::vector outputIndices{}; + std::vector nodeIndices{}; + std::vector tensorIndices{}; +}; + +struct SubGraph FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SubGraphT NativeTableType; + typedef SubGraphBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SubGraphTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_INPUTINDICES = 6, + VT_OUTPUTINDICES = 8, + VT_NODEINDICES = 10, + VT_TENSORINDICES = 12 + }; + const flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + flatbuffers::String *mutable_name() { + return GetPointer(VT_NAME); + } + const flatbuffers::Vector *inputIndices() const { + return GetPointer *>(VT_INPUTINDICES); + } + flatbuffers::Vector *mutable_inputIndices() { + return GetPointer *>(VT_INPUTINDICES); + } + const flatbuffers::Vector *outputIndices() const { + return GetPointer *>(VT_OUTPUTINDICES); + } + flatbuffers::Vector *mutable_outputIndices() { + return GetPointer *>(VT_OUTPUTINDICES); + } + const flatbuffers::Vector *nodeIndices() const { + return GetPointer *>(VT_NODEINDICES); + } + flatbuffers::Vector *mutable_nodeIndices() { + return GetPointer *>(VT_NODEINDICES); + } + const flatbuffers::Vector *tensorIndices() const { + return GetPointer *>(VT_TENSORINDICES); + } + flatbuffers::Vector *mutable_tensorIndices() { + return GetPointer *>(VT_TENSORINDICES); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyOffset(verifier, VT_INPUTINDICES) && + verifier.VerifyVector(inputIndices()) && + VerifyOffset(verifier, VT_OUTPUTINDICES) && + verifier.VerifyVector(outputIndices()) && + VerifyOffset(verifier, VT_NODEINDICES) && + verifier.VerifyVector(nodeIndices()) && + VerifyOffset(verifier, VT_TENSORINDICES) && + verifier.VerifyVector(tensorIndices()) && + verifier.EndTable(); + } + SubGraphT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SubGraphT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SubGraphT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SubGraphBuilder { + typedef SubGraph Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_name(flatbuffers::Offset name) { + fbb_.AddOffset(SubGraph::VT_NAME, name); + } + void add_inputIndices(flatbuffers::Offset> inputIndices) { + fbb_.AddOffset(SubGraph::VT_INPUTINDICES, inputIndices); + } + void add_outputIndices(flatbuffers::Offset> outputIndices) { + fbb_.AddOffset(SubGraph::VT_OUTPUTINDICES, outputIndices); + } + void add_nodeIndices(flatbuffers::Offset> nodeIndices) { + fbb_.AddOffset(SubGraph::VT_NODEINDICES, nodeIndices); + } + void add_tensorIndices(flatbuffers::Offset> tensorIndices) { + fbb_.AddOffset(SubGraph::VT_TENSORINDICES, tensorIndices); + } + explicit SubGraphBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSubGraph( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset name = 0, + flatbuffers::Offset> inputIndices = 0, + flatbuffers::Offset> outputIndices = 0, + flatbuffers::Offset> nodeIndices = 0, + flatbuffers::Offset> tensorIndices = 0) { + SubGraphBuilder builder_(_fbb); + builder_.add_tensorIndices(tensorIndices); + builder_.add_nodeIndices(nodeIndices); + builder_.add_outputIndices(outputIndices); + builder_.add_inputIndices(inputIndices); + builder_.add_name(name); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateSubGraphDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *name = nullptr, + const std::vector *inputIndices = nullptr, + const std::vector *outputIndices = nullptr, + const std::vector *nodeIndices = nullptr, + const std::vector *tensorIndices = nullptr) { + auto name__ = name ? _fbb.CreateString(name) : 0; + auto inputIndices__ = inputIndices ? _fbb.CreateVector(*inputIndices) : 0; + auto outputIndices__ = outputIndices ? _fbb.CreateVector(*outputIndices) : 0; + auto nodeIndices__ = nodeIndices ? _fbb.CreateVector(*nodeIndices) : 0; + auto tensorIndices__ = tensorIndices ? _fbb.CreateVector(*tensorIndices) : 0; + return mindspore::schema::CreateSubGraph( + _fbb, + name__, + inputIndices__, + outputIndices__, + nodeIndices__, + tensorIndices__); +} + +flatbuffers::Offset CreateSubGraph(flatbuffers::FlatBufferBuilder &_fbb, const SubGraphT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct MetaGraphT : public flatbuffers::NativeTable { + typedef MetaGraph TableType; + std::string name{}; + std::string version{}; + int32_t fmkType = 0; + std::vector inputIndex{}; + std::vector outputIndex{}; + uint32_t mempoolSize = 0; + std::vector> nodes{}; + std::vector> allTensors{}; + std::vector> subGraph{}; + bool obfuscate = false; + std::vector obfMetaData{}; +}; + +struct MetaGraph FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MetaGraphT NativeTableType; + typedef MetaGraphBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return MetaGraphTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_VERSION = 6, + VT_FMKTYPE = 8, + VT_INPUTINDEX = 10, + VT_OUTPUTINDEX = 12, + VT_MEMPOOLSIZE = 14, + VT_NODES = 16, + VT_ALLTENSORS = 18, + VT_SUBGRAPH = 20, + VT_OBFUSCATE = 22, + VT_OBFMETADATA = 24 + }; + const flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + flatbuffers::String *mutable_name() { + return GetPointer(VT_NAME); + } + const flatbuffers::String *version() const { + return GetPointer(VT_VERSION); + } + flatbuffers::String *mutable_version() { + return GetPointer(VT_VERSION); + } + int32_t fmkType() const { + return GetField(VT_FMKTYPE, 0); + } + bool mutate_fmkType(int32_t _fmkType) { + return SetField(VT_FMKTYPE, _fmkType, 0); + } + const flatbuffers::Vector *inputIndex() const { + return GetPointer *>(VT_INPUTINDEX); + } + flatbuffers::Vector *mutable_inputIndex() { + return GetPointer *>(VT_INPUTINDEX); + } + const flatbuffers::Vector *outputIndex() const { + return GetPointer *>(VT_OUTPUTINDEX); + } + flatbuffers::Vector *mutable_outputIndex() { + return GetPointer *>(VT_OUTPUTINDEX); + } + uint32_t mempoolSize() const { + return GetField(VT_MEMPOOLSIZE, 0); + } + bool mutate_mempoolSize(uint32_t _mempoolSize) { + return SetField(VT_MEMPOOLSIZE, _mempoolSize, 0); + } + const flatbuffers::Vector> *nodes() const { + return GetPointer> *>(VT_NODES); + } + flatbuffers::Vector> *mutable_nodes() { + return GetPointer> *>(VT_NODES); + } + const flatbuffers::Vector> *allTensors() const { + return GetPointer> *>(VT_ALLTENSORS); + } + flatbuffers::Vector> *mutable_allTensors() { + return GetPointer> *>(VT_ALLTENSORS); + } + const flatbuffers::Vector> *subGraph() const { + return GetPointer> *>(VT_SUBGRAPH); + } + flatbuffers::Vector> *mutable_subGraph() { + return GetPointer> *>(VT_SUBGRAPH); + } + bool obfuscate() const { + return GetField(VT_OBFUSCATE, 0) != 0; + } + bool mutate_obfuscate(bool _obfuscate) { + return SetField(VT_OBFUSCATE, static_cast(_obfuscate), 0); + } + const flatbuffers::Vector *obfMetaData() const { + return GetPointer *>(VT_OBFMETADATA); + } + flatbuffers::Vector *mutable_obfMetaData() { + return GetPointer *>(VT_OBFMETADATA); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyOffset(verifier, VT_VERSION) && + verifier.VerifyString(version()) && + VerifyField(verifier, VT_FMKTYPE) && + VerifyOffset(verifier, VT_INPUTINDEX) && + verifier.VerifyVector(inputIndex()) && + VerifyOffset(verifier, VT_OUTPUTINDEX) && + verifier.VerifyVector(outputIndex()) && + VerifyField(verifier, VT_MEMPOOLSIZE) && + VerifyOffset(verifier, VT_NODES) && + verifier.VerifyVector(nodes()) && + verifier.VerifyVectorOfTables(nodes()) && + VerifyOffset(verifier, VT_ALLTENSORS) && + verifier.VerifyVector(allTensors()) && + verifier.VerifyVectorOfTables(allTensors()) && + VerifyOffset(verifier, VT_SUBGRAPH) && + verifier.VerifyVector(subGraph()) && + verifier.VerifyVectorOfTables(subGraph()) && + VerifyField(verifier, VT_OBFUSCATE) && + VerifyOffset(verifier, VT_OBFMETADATA) && + verifier.VerifyVector(obfMetaData()) && + verifier.EndTable(); + } + MetaGraphT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(MetaGraphT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const MetaGraphT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct MetaGraphBuilder { + typedef MetaGraph Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_name(flatbuffers::Offset name) { + fbb_.AddOffset(MetaGraph::VT_NAME, name); + } + void add_version(flatbuffers::Offset version) { + fbb_.AddOffset(MetaGraph::VT_VERSION, version); + } + void add_fmkType(int32_t fmkType) { + fbb_.AddElement(MetaGraph::VT_FMKTYPE, fmkType, 0); + } + void add_inputIndex(flatbuffers::Offset> inputIndex) { + fbb_.AddOffset(MetaGraph::VT_INPUTINDEX, inputIndex); + } + void add_outputIndex(flatbuffers::Offset> outputIndex) { + fbb_.AddOffset(MetaGraph::VT_OUTPUTINDEX, outputIndex); + } + void add_mempoolSize(uint32_t mempoolSize) { + fbb_.AddElement(MetaGraph::VT_MEMPOOLSIZE, mempoolSize, 0); + } + void add_nodes(flatbuffers::Offset>> nodes) { + fbb_.AddOffset(MetaGraph::VT_NODES, nodes); + } + void add_allTensors(flatbuffers::Offset>> allTensors) { + fbb_.AddOffset(MetaGraph::VT_ALLTENSORS, allTensors); + } + void add_subGraph(flatbuffers::Offset>> subGraph) { + fbb_.AddOffset(MetaGraph::VT_SUBGRAPH, subGraph); + } + void add_obfuscate(bool obfuscate) { + fbb_.AddElement(MetaGraph::VT_OBFUSCATE, static_cast(obfuscate), 0); + } + void add_obfMetaData(flatbuffers::Offset> obfMetaData) { + fbb_.AddOffset(MetaGraph::VT_OBFMETADATA, obfMetaData); + } + explicit MetaGraphBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateMetaGraph( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset name = 0, + flatbuffers::Offset version = 0, + int32_t fmkType = 0, + flatbuffers::Offset> inputIndex = 0, + flatbuffers::Offset> outputIndex = 0, + uint32_t mempoolSize = 0, + flatbuffers::Offset>> nodes = 0, + flatbuffers::Offset>> allTensors = 0, + flatbuffers::Offset>> subGraph = 0, + bool obfuscate = false, + flatbuffers::Offset> obfMetaData = 0) { + MetaGraphBuilder builder_(_fbb); + builder_.add_obfMetaData(obfMetaData); + builder_.add_subGraph(subGraph); + builder_.add_allTensors(allTensors); + builder_.add_nodes(nodes); + builder_.add_mempoolSize(mempoolSize); + builder_.add_outputIndex(outputIndex); + builder_.add_inputIndex(inputIndex); + builder_.add_fmkType(fmkType); + builder_.add_version(version); + builder_.add_name(name); + builder_.add_obfuscate(obfuscate); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateMetaGraphDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *name = nullptr, + const char *version = nullptr, + int32_t fmkType = 0, + const std::vector *inputIndex = nullptr, + const std::vector *outputIndex = nullptr, + uint32_t mempoolSize = 0, + const std::vector> *nodes = nullptr, + const std::vector> *allTensors = nullptr, + const std::vector> *subGraph = nullptr, + bool obfuscate = false, + const std::vector *obfMetaData = nullptr) { + auto name__ = name ? _fbb.CreateString(name) : 0; + auto version__ = version ? _fbb.CreateString(version) : 0; + auto inputIndex__ = inputIndex ? _fbb.CreateVector(*inputIndex) : 0; + auto outputIndex__ = outputIndex ? _fbb.CreateVector(*outputIndex) : 0; + auto nodes__ = nodes ? _fbb.CreateVector>(*nodes) : 0; + auto allTensors__ = allTensors ? _fbb.CreateVector>(*allTensors) : 0; + auto subGraph__ = subGraph ? _fbb.CreateVector>(*subGraph) : 0; + auto obfMetaData__ = obfMetaData ? _fbb.CreateVector(*obfMetaData) : 0; + return mindspore::schema::CreateMetaGraph( + _fbb, + name__, + version__, + fmkType, + inputIndex__, + outputIndex__, + mempoolSize, + nodes__, + allTensors__, + subGraph__, + obfuscate, + obfMetaData__); +} + +flatbuffers::Offset CreateMetaGraph(flatbuffers::FlatBufferBuilder &_fbb, const MetaGraphT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +inline QuantParamT *QuantParam::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new QuantParamT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void QuantParam::UnPackTo(QuantParamT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = scale(); _o->scale = _e; } + { auto _e = zeroPoint(); _o->zeroPoint = _e; } + { auto _e = min(); _o->min = _e; } + { auto _e = max(); _o->max = _e; } + { auto _e = narrowRange(); _o->narrowRange = _e; } + { auto _e = numBits(); _o->numBits = _e; } + { auto _e = inited(); _o->inited = _e; } + { auto _e = varCorr(); _o->varCorr = _e; } + { auto _e = meanCorr(); _o->meanCorr = _e; } + { auto _e = dstDtype(); _o->dstDtype = _e; } + { auto _e = roundType(); _o->roundType = _e; } + { auto _e = multiplier(); _o->multiplier = _e; } +} + +inline flatbuffers::Offset QuantParam::Pack(flatbuffers::FlatBufferBuilder &_fbb, const QuantParamT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateQuantParam(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateQuantParam(flatbuffers::FlatBufferBuilder &_fbb, const QuantParamT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const QuantParamT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _scale = _o->scale; + auto _zeroPoint = _o->zeroPoint; + auto _min = _o->min; + auto _max = _o->max; + auto _narrowRange = _o->narrowRange; + auto _numBits = _o->numBits; + auto _inited = _o->inited; + auto _varCorr = _o->varCorr; + auto _meanCorr = _o->meanCorr; + auto _dstDtype = _o->dstDtype; + auto _roundType = _o->roundType; + auto _multiplier = _o->multiplier; + return mindspore::schema::CreateQuantParam( + _fbb, + _scale, + _zeroPoint, + _min, + _max, + _narrowRange, + _numBits, + _inited, + _varCorr, + _meanCorr, + _dstDtype, + _roundType, + _multiplier); +} + +inline ExternalDataT *ExternalData::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new ExternalDataT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void ExternalData::UnPackTo(ExternalDataT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = checkSum(); if (_e) _o->checkSum = _e->str(); } + { auto _e = location(); if (_e) _o->location = _e->str(); } + { auto _e = offset(); _o->offset = _e; } + { auto _e = length(); _o->length = _e; } +} + +inline flatbuffers::Offset ExternalData::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ExternalDataT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateExternalData(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateExternalData(flatbuffers::FlatBufferBuilder &_fbb, const ExternalDataT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ExternalDataT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _checkSum = _o->checkSum.empty() ? 0 : _fbb.CreateString(_o->checkSum); + auto _location = _o->location.empty() ? 0 : _fbb.CreateString(_o->location); + auto _offset = _o->offset; + auto _length = _o->length; + return mindspore::schema::CreateExternalData( + _fbb, + _checkSum, + _location, + _offset, + _length); +} + +inline TensorT *Tensor::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new TensorT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void Tensor::UnPackTo(TensorT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = nodeType(); _o->nodeType = _e; } + { auto _e = dataType(); _o->dataType = _e; } + { auto _e = dims(); if (_e) { _o->dims.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->dims[_i] = _e->Get(_i); } } } + { auto _e = format(); _o->format = _e; } + { auto _e = refCount(); _o->refCount = _e; } + { auto _e = offset(); _o->offset = _e; } + { auto _e = data(); if (_e) { _o->data.resize(_e->size()); std::copy(_e->begin(), _e->end(), _o->data.begin()); } } + { auto _e = quantParams(); if (_e) { _o->quantParams.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->quantParams[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } + { auto _e = quantClusters(); if (_e) { _o->quantClusters.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->quantClusters[_i] = _e->Get(_i); } } } + { auto _e = name(); if (_e) _o->name = _e->str(); } + { auto _e = enableHuffmanCode(); _o->enableHuffmanCode = _e; } + { auto _e = weightQuantCompressType(); _o->weightQuantCompressType = _e; } + { auto _e = externalData(); if (_e) { _o->externalData.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->externalData[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } +} + +inline flatbuffers::Offset Tensor::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TensorT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateTensor(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateTensor(flatbuffers::FlatBufferBuilder &_fbb, const TensorT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TensorT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _nodeType = _o->nodeType; + auto _dataType = _o->dataType; + auto _dims = _o->dims.size() ? _fbb.CreateVector(_o->dims) : 0; + auto _format = _o->format; + auto _refCount = _o->refCount; + auto _offset = _o->offset; + auto _data = _o->data.size() ? _fbb.CreateVector(_o->data) : 0; + auto _quantParams = _o->quantParams.size() ? _fbb.CreateVector> (_o->quantParams.size(), [](size_t i, _VectorArgs *__va) { return CreateQuantParam(*__va->__fbb, __va->__o->quantParams[i].get(), __va->__rehasher); }, &_va ) : 0; + auto _quantClusters = _o->quantClusters.size() ? _fbb.CreateVector(_o->quantClusters) : 0; + auto _name = _o->name.empty() ? 0 : _fbb.CreateString(_o->name); + auto _enableHuffmanCode = _o->enableHuffmanCode; + auto _weightQuantCompressType = _o->weightQuantCompressType; + auto _externalData = _o->externalData.size() ? _fbb.CreateVector> (_o->externalData.size(), [](size_t i, _VectorArgs *__va) { return CreateExternalData(*__va->__fbb, __va->__o->externalData[i].get(), __va->__rehasher); }, &_va ) : 0; + return mindspore::schema::CreateTensor( + _fbb, + _nodeType, + _dataType, + _dims, + _format, + _refCount, + _offset, + _data, + _quantParams, + _quantClusters, + _name, + _enableHuffmanCode, + _weightQuantCompressType, + _externalData); +} + +inline PrimitiveT *Primitive::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new PrimitiveT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void Primitive::UnPackTo(PrimitiveT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = value_type(); _o->value.type = _e; } + { auto _e = value(); if (_e) _o->value.value = mindspore::schema::PrimitiveTypeUnion::UnPack(_e, value_type(), _resolver); } +} + +inline flatbuffers::Offset Primitive::Pack(flatbuffers::FlatBufferBuilder &_fbb, const PrimitiveT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreatePrimitive(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreatePrimitive(flatbuffers::FlatBufferBuilder &_fbb, const PrimitiveT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const PrimitiveT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _value_type = _o->value.type; + auto _value = _o->value.Pack(_fbb); + return mindspore::schema::CreatePrimitive( + _fbb, + _value_type, + _value); +} + +inline CNodeT *CNode::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new CNodeT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void CNode::UnPackTo(CNodeT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = name(); if (_e) _o->name = _e->str(); } + { auto _e = primitive(); if (_e) _o->primitive = std::unique_ptr(_e->UnPack(_resolver)); } + { auto _e = inputIndex(); if (_e) { _o->inputIndex.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->inputIndex[_i] = _e->Get(_i); } } } + { auto _e = outputIndex(); if (_e) { _o->outputIndex.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->outputIndex[_i] = _e->Get(_i); } } } + { auto _e = quantType(); _o->quantType = _e; } + { auto _e = deviceType(); _o->deviceType = _e; } +} + +inline flatbuffers::Offset CNode::Pack(flatbuffers::FlatBufferBuilder &_fbb, const CNodeT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateCNode(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateCNode(flatbuffers::FlatBufferBuilder &_fbb, const CNodeT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const CNodeT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _name = _o->name.empty() ? 0 : _fbb.CreateString(_o->name); + auto _primitive = _o->primitive ? CreatePrimitive(_fbb, _o->primitive.get(), _rehasher) : 0; + auto _inputIndex = _o->inputIndex.size() ? _fbb.CreateVector(_o->inputIndex) : 0; + auto _outputIndex = _o->outputIndex.size() ? _fbb.CreateVector(_o->outputIndex) : 0; + auto _quantType = _o->quantType; + auto _deviceType = _o->deviceType; + return mindspore::schema::CreateCNode( + _fbb, + _name, + _primitive, + _inputIndex, + _outputIndex, + _quantType, + _deviceType); +} + +inline SubGraphT *SubGraph::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SubGraphT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SubGraph::UnPackTo(SubGraphT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = name(); if (_e) _o->name = _e->str(); } + { auto _e = inputIndices(); if (_e) { _o->inputIndices.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->inputIndices[_i] = _e->Get(_i); } } } + { auto _e = outputIndices(); if (_e) { _o->outputIndices.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->outputIndices[_i] = _e->Get(_i); } } } + { auto _e = nodeIndices(); if (_e) { _o->nodeIndices.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->nodeIndices[_i] = _e->Get(_i); } } } + { auto _e = tensorIndices(); if (_e) { _o->tensorIndices.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->tensorIndices[_i] = _e->Get(_i); } } } +} + +inline flatbuffers::Offset SubGraph::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SubGraphT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSubGraph(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSubGraph(flatbuffers::FlatBufferBuilder &_fbb, const SubGraphT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SubGraphT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _name = _o->name.empty() ? 0 : _fbb.CreateString(_o->name); + auto _inputIndices = _o->inputIndices.size() ? _fbb.CreateVector(_o->inputIndices) : 0; + auto _outputIndices = _o->outputIndices.size() ? _fbb.CreateVector(_o->outputIndices) : 0; + auto _nodeIndices = _o->nodeIndices.size() ? _fbb.CreateVector(_o->nodeIndices) : 0; + auto _tensorIndices = _o->tensorIndices.size() ? _fbb.CreateVector(_o->tensorIndices) : 0; + return mindspore::schema::CreateSubGraph( + _fbb, + _name, + _inputIndices, + _outputIndices, + _nodeIndices, + _tensorIndices); +} + +inline MetaGraphT *MetaGraph::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new MetaGraphT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void MetaGraph::UnPackTo(MetaGraphT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = name(); if (_e) _o->name = _e->str(); } + { auto _e = version(); if (_e) _o->version = _e->str(); } + { auto _e = fmkType(); _o->fmkType = _e; } + { auto _e = inputIndex(); if (_e) { _o->inputIndex.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->inputIndex[_i] = _e->Get(_i); } } } + { auto _e = outputIndex(); if (_e) { _o->outputIndex.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->outputIndex[_i] = _e->Get(_i); } } } + { auto _e = mempoolSize(); _o->mempoolSize = _e; } + { auto _e = nodes(); if (_e) { _o->nodes.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->nodes[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } + { auto _e = allTensors(); if (_e) { _o->allTensors.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->allTensors[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } + { auto _e = subGraph(); if (_e) { _o->subGraph.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->subGraph[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } + { auto _e = obfuscate(); _o->obfuscate = _e; } + { auto _e = obfMetaData(); if (_e) { _o->obfMetaData.resize(_e->size()); std::copy(_e->begin(), _e->end(), _o->obfMetaData.begin()); } } +} + +inline flatbuffers::Offset MetaGraph::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MetaGraphT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateMetaGraph(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateMetaGraph(flatbuffers::FlatBufferBuilder &_fbb, const MetaGraphT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const MetaGraphT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _name = _o->name.empty() ? 0 : _fbb.CreateString(_o->name); + auto _version = _o->version.empty() ? 0 : _fbb.CreateString(_o->version); + auto _fmkType = _o->fmkType; + auto _inputIndex = _o->inputIndex.size() ? _fbb.CreateVector(_o->inputIndex) : 0; + auto _outputIndex = _o->outputIndex.size() ? _fbb.CreateVector(_o->outputIndex) : 0; + auto _mempoolSize = _o->mempoolSize; + auto _nodes = _o->nodes.size() ? _fbb.CreateVector> (_o->nodes.size(), [](size_t i, _VectorArgs *__va) { return CreateCNode(*__va->__fbb, __va->__o->nodes[i].get(), __va->__rehasher); }, &_va ) : 0; + auto _allTensors = _o->allTensors.size() ? _fbb.CreateVector> (_o->allTensors.size(), [](size_t i, _VectorArgs *__va) { return CreateTensor(*__va->__fbb, __va->__o->allTensors[i].get(), __va->__rehasher); }, &_va ) : 0; + auto _subGraph = _o->subGraph.size() ? _fbb.CreateVector> (_o->subGraph.size(), [](size_t i, _VectorArgs *__va) { return CreateSubGraph(*__va->__fbb, __va->__o->subGraph[i].get(), __va->__rehasher); }, &_va ) : 0; + auto _obfuscate = _o->obfuscate; + auto _obfMetaData = _o->obfMetaData.size() ? _fbb.CreateVector(_o->obfMetaData) : 0; + return mindspore::schema::CreateMetaGraph( + _fbb, + _name, + _version, + _fmkType, + _inputIndex, + _outputIndex, + _mempoolSize, + _nodes, + _allTensors, + _subGraph, + _obfuscate, + _obfMetaData); +} + +inline const flatbuffers::TypeTable *WeightQuantCompressTypeTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, 0 }, + { flatbuffers::ET_INT, 0, 0 }, + { flatbuffers::ET_INT, 0, 0 }, + { flatbuffers::ET_INT, 0, 0 }, + { flatbuffers::ET_INT, 0, 0 }, + { flatbuffers::ET_INT, 0, 0 }, + { flatbuffers::ET_INT, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + mindspore::schema::WeightQuantCompressTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_ENUM, 7, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *QuantTypeTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, 0 }, + { flatbuffers::ET_INT, 0, 0 }, + { flatbuffers::ET_INT, 0, 0 }, + { flatbuffers::ET_INT, 0, 0 }, + { flatbuffers::ET_INT, 0, 0 }, + { flatbuffers::ET_INT, 0, 0 }, + { flatbuffers::ET_INT, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + mindspore::schema::QuantTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_ENUM, 7, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *QuantParamTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_DOUBLE, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_DOUBLE, 0, -1 }, + { flatbuffers::ET_DOUBLE, 0, -1 }, + { flatbuffers::ET_BOOL, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_BOOL, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 12, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *ExternalDataTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_STRING, 0, -1 }, + { flatbuffers::ET_STRING, 0, -1 }, + { flatbuffers::ET_LONG, 0, -1 }, + { flatbuffers::ET_LONG, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 4, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *TensorTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 1, -1 }, + { flatbuffers::ET_INT, 0, 0 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_UCHAR, 1, -1 }, + { flatbuffers::ET_SEQUENCE, 1, 1 }, + { flatbuffers::ET_FLOAT, 1, -1 }, + { flatbuffers::ET_STRING, 0, -1 }, + { flatbuffers::ET_BOOL, 0, -1 }, + { flatbuffers::ET_INT, 0, 2 }, + { flatbuffers::ET_SEQUENCE, 1, 3 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + mindspore::schema::FormatTypeTable, + mindspore::schema::QuantParamTypeTable, + mindspore::schema::WeightQuantCompressTypeTypeTable, + mindspore::schema::ExternalDataTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 13, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *PrimitiveTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_UTYPE, 0, 0 }, + { flatbuffers::ET_SEQUENCE, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + mindspore::schema::PrimitiveTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 2, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *CNodeTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_STRING, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_SEQUENCE, 0, 0 }, + { flatbuffers::ET_UINT, 1, -1 }, + { flatbuffers::ET_UINT, 1, -1 }, + { flatbuffers::ET_INT, 0, 1 }, + { flatbuffers::ET_INT, 0, -1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + mindspore::schema::PrimitiveTypeTable, + mindspore::schema::QuantTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 7, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SubGraphTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_STRING, 0, -1 }, + { flatbuffers::ET_UINT, 1, -1 }, + { flatbuffers::ET_UINT, 1, -1 }, + { flatbuffers::ET_UINT, 1, -1 }, + { flatbuffers::ET_UINT, 1, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 5, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *MetaGraphTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_STRING, 0, -1 }, + { flatbuffers::ET_STRING, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_UINT, 1, -1 }, + { flatbuffers::ET_UINT, 1, -1 }, + { flatbuffers::ET_UINT, 0, -1 }, + { flatbuffers::ET_SEQUENCE, 1, 0 }, + { flatbuffers::ET_SEQUENCE, 1, 1 }, + { flatbuffers::ET_SEQUENCE, 1, 2 }, + { flatbuffers::ET_BOOL, 0, -1 }, + { flatbuffers::ET_UCHAR, 1, -1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + mindspore::schema::CNodeTypeTable, + mindspore::schema::TensorTypeTable, + mindspore::schema::SubGraphTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 11, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const mindspore::schema::MetaGraph *GetMetaGraph(const void *buf) { + return flatbuffers::GetRoot(buf); +} + +inline const mindspore::schema::MetaGraph *GetSizePrefixedMetaGraph(const void *buf) { + return flatbuffers::GetSizePrefixedRoot(buf); +} + +inline MetaGraph *GetMutableMetaGraph(void *buf) { + return flatbuffers::GetMutableRoot(buf); +} + +inline const char *MetaGraphIdentifier() { + return "MSL2"; +} + +inline bool MetaGraphBufferHasIdentifier(const void *buf) { + return flatbuffers::BufferHasIdentifier( + buf, MetaGraphIdentifier()); +} + +inline bool VerifyMetaGraphBuffer( + flatbuffers::Verifier &verifier) { + return verifier.VerifyBuffer(MetaGraphIdentifier()); +} + +inline bool VerifySizePrefixedMetaGraphBuffer( + flatbuffers::Verifier &verifier) { + return verifier.VerifySizePrefixedBuffer(MetaGraphIdentifier()); +} + +inline const char *MetaGraphExtension() { + return "ms"; +} + +inline void FinishMetaGraphBuffer( + flatbuffers::FlatBufferBuilder &fbb, + flatbuffers::Offset root) { + fbb.Finish(root, MetaGraphIdentifier()); +} + +inline void FinishSizePrefixedMetaGraphBuffer( + flatbuffers::FlatBufferBuilder &fbb, + flatbuffers::Offset root) { + fbb.FinishSizePrefixed(root, MetaGraphIdentifier()); +} + +inline std::unique_ptr UnPackMetaGraph( + const void *buf, + const flatbuffers::resolver_function_t *res = nullptr) { + return std::unique_ptr(GetMetaGraph(buf)->UnPack(res)); +} + +inline std::unique_ptr UnPackSizePrefixedMetaGraph( + const void *buf, + const flatbuffers::resolver_function_t *res = nullptr) { + return std::unique_ptr(GetSizePrefixedMetaGraph(buf)->UnPack(res)); +} + +} // namespace schema +} // namespace mindspore + +#endif // FLATBUFFERS_GENERATED_MODEL_MINDSPORE_SCHEMA_H_ diff --git a/mindspore/lite/schema/inner/ops_generated.h b/mindspore/lite/schema/inner/ops_generated.h new file mode 100644 index 00000000..c4fd8c15 --- /dev/null +++ b/mindspore/lite/schema/inner/ops_generated.h @@ -0,0 +1,34917 @@ +// automatically generated by the FlatBuffers compiler, do not modify + + +#ifndef FLATBUFFERS_GENERATED_OPS_MINDSPORE_SCHEMA_H_ +#define FLATBUFFERS_GENERATED_OPS_MINDSPORE_SCHEMA_H_ + +#include "flatbuffers/flatbuffers.h" + +#include "ops_types_generated.h" + +namespace mindspore { +namespace schema { + +struct Abs; +struct AbsBuilder; +struct AbsT; + +struct Activation; +struct ActivationBuilder; +struct ActivationT; + +struct ActivationGrad; +struct ActivationGradBuilder; +struct ActivationGradT; + +struct Adam; +struct AdamBuilder; +struct AdamT; + +struct AddFusion; +struct AddFusionBuilder; +struct AddFusionT; + +struct AdderFusion; +struct AdderFusionBuilder; +struct AdderFusionT; + +struct AddGrad; +struct AddGradBuilder; +struct AddGradT; + +struct AddN; +struct AddNBuilder; +struct AddNT; + +struct All; +struct AllBuilder; +struct AllT; + +struct ApplyMomentum; +struct ApplyMomentumBuilder; +struct ApplyMomentumT; + +struct ArgMaxFusion; +struct ArgMaxFusionBuilder; +struct ArgMaxFusionT; + +struct ArgMinFusion; +struct ArgMinFusionBuilder; +struct ArgMinFusionT; + +struct Assert; +struct AssertBuilder; +struct AssertT; + +struct Assign; +struct AssignBuilder; +struct AssignT; + +struct AssignAdd; +struct AssignAddBuilder; +struct AssignAddT; + +struct AudioSpectrogram; +struct AudioSpectrogramBuilder; +struct AudioSpectrogramT; + +struct AvgPoolFusion; +struct AvgPoolFusionBuilder; +struct AvgPoolFusionT; + +struct AvgPoolGrad; +struct AvgPoolGradBuilder; +struct AvgPoolGradT; + +struct BatchNorm; +struct BatchNormBuilder; +struct BatchNormT; + +struct BatchNormGrad; +struct BatchNormGradBuilder; +struct BatchNormGradT; + +struct BatchToSpace; +struct BatchToSpaceBuilder; +struct BatchToSpaceT; + +struct BatchToSpaceND; +struct BatchToSpaceNDBuilder; +struct BatchToSpaceNDT; + +struct BiasAdd; +struct BiasAddBuilder; +struct BiasAddT; + +struct BinaryCrossEntropy; +struct BinaryCrossEntropyBuilder; +struct BinaryCrossEntropyT; + +struct BinaryCrossEntropyGrad; +struct BinaryCrossEntropyGradBuilder; +struct BinaryCrossEntropyGradT; + +struct BiasAddGrad; +struct BiasAddGradBuilder; +struct BiasAddGradT; + +struct BroadcastTo; +struct BroadcastToBuilder; +struct BroadcastToT; + +struct Cast; +struct CastBuilder; +struct CastT; + +struct Ceil; +struct CeilBuilder; +struct CeilT; + +struct Clip; +struct ClipBuilder; +struct ClipT; + +struct Concat; +struct ConcatBuilder; +struct ConcatT; + +struct Attention; +struct AttentionBuilder; +struct AttentionT; + +struct Conv2DBackpropFilterFusion; +struct Conv2DBackpropFilterFusionBuilder; +struct Conv2DBackpropFilterFusionT; + +struct Conv2DBackpropInputFusion; +struct Conv2DBackpropInputFusionBuilder; +struct Conv2DBackpropInputFusionT; + +struct Conv2DFusion; +struct Conv2DFusionBuilder; +struct Conv2DFusionT; + +struct Conv2dTransposeFusion; +struct Conv2dTransposeFusionBuilder; +struct Conv2dTransposeFusionT; + +struct Cos; +struct CosBuilder; +struct CosT; + +struct ConstantOfShape; +struct ConstantOfShapeBuilder; +struct ConstantOfShapeT; + +struct Crop; +struct CropBuilder; +struct CropT; + +struct CustomExtractFeatures; +struct CustomExtractFeaturesBuilder; +struct CustomExtractFeaturesT; + +struct CustomNormalize; +struct CustomNormalizeBuilder; +struct CustomNormalizeT; + +struct CustomPredict; +struct CustomPredictBuilder; +struct CustomPredictT; + +struct DeConv2DGradFilter; +struct DeConv2DGradFilterBuilder; +struct DeConv2DGradFilterT; + +struct Depend; +struct DependBuilder; +struct DependT; + +struct DepthToSpace; +struct DepthToSpaceBuilder; +struct DepthToSpaceT; + +struct DetectionPostProcess; +struct DetectionPostProcessBuilder; +struct DetectionPostProcessT; + +struct DivFusion; +struct DivFusionBuilder; +struct DivFusionT; + +struct DivGrad; +struct DivGradBuilder; +struct DivGradT; + +struct Dropout; +struct DropoutBuilder; +struct DropoutT; + +struct DropoutGrad; +struct DropoutGradBuilder; +struct DropoutGradT; + +struct Elu; +struct EluBuilder; +struct EluT; + +struct Eltwise; +struct EltwiseBuilder; +struct EltwiseT; + +struct Equal; +struct EqualBuilder; +struct EqualT; + +struct EmbeddingLookupFusion; +struct EmbeddingLookupFusionBuilder; +struct EmbeddingLookupFusionT; + +struct ExpFusion; +struct ExpFusionBuilder; +struct ExpFusionT; + +struct ExpandDims; +struct ExpandDimsBuilder; +struct ExpandDimsT; + +struct FakeQuantWithMinMaxVars; +struct FakeQuantWithMinMaxVarsBuilder; +struct FakeQuantWithMinMaxVarsT; + +struct FakeQuantWithMinMaxVarsPerChannel; +struct FakeQuantWithMinMaxVarsPerChannelBuilder; +struct FakeQuantWithMinMaxVarsPerChannelT; + +struct FftReal; +struct FftRealBuilder; +struct FftRealT; + +struct FftImag; +struct FftImagBuilder; +struct FftImagT; + +struct Flatten; +struct FlattenBuilder; +struct FlattenT; + +struct FlattenGrad; +struct FlattenGradBuilder; +struct FlattenGradT; + +struct Floor; +struct FloorBuilder; +struct FloorT; + +struct FloorDiv; +struct FloorDivBuilder; +struct FloorDivT; + +struct FloorMod; +struct FloorModBuilder; +struct FloorModT; + +struct Fill; +struct FillBuilder; +struct FillT; + +struct FullConnection; +struct FullConnectionBuilder; +struct FullConnectionT; + +struct FusedBatchNorm; +struct FusedBatchNormBuilder; +struct FusedBatchNormT; + +struct Gather; +struct GatherBuilder; +struct GatherT; + +struct GatherNd; +struct GatherNdBuilder; +struct GatherNdT; + +struct Greater; +struct GreaterBuilder; +struct GreaterT; + +struct GreaterEqual; +struct GreaterEqualBuilder; +struct GreaterEqualT; + +struct HashtableLookup; +struct HashtableLookupBuilder; +struct HashtableLookupT; + +struct InstanceNorm; +struct InstanceNormBuilder; +struct InstanceNormT; + +struct LayerNormFusion; +struct LayerNormFusionBuilder; +struct LayerNormFusionT; + +struct LeakyRelu; +struct LeakyReluBuilder; +struct LeakyReluT; + +struct Less; +struct LessBuilder; +struct LessT; + +struct LessEqual; +struct LessEqualBuilder; +struct LessEqualT; + +struct Log; +struct LogBuilder; +struct LogT; + +struct LogGrad; +struct LogGradBuilder; +struct LogGradT; + +struct LogicalAnd; +struct LogicalAndBuilder; +struct LogicalAndT; + +struct LogicalNot; +struct LogicalNotBuilder; +struct LogicalNotT; + +struct LogicalOr; +struct LogicalOrBuilder; +struct LogicalOrT; + +struct LpNormalization; +struct LpNormalizationBuilder; +struct LpNormalizationT; + +struct LRN; +struct LRNBuilder; +struct LRNT; + +struct LshProjection; +struct LshProjectionBuilder; +struct LshProjectionT; + +struct LSTM; +struct LSTMBuilder; +struct LSTMT; + +struct LSTMGrad; +struct LSTMGradBuilder; +struct LSTMGradT; + +struct L2NormalizeFusion; +struct L2NormalizeFusionBuilder; +struct L2NormalizeFusionT; + +struct MatMulFusion; +struct MatMulFusionBuilder; +struct MatMulFusionT; + +struct Maximum; +struct MaximumBuilder; +struct MaximumT; + +struct MaximumGrad; +struct MaximumGradBuilder; +struct MaximumGradT; + +struct MaxPoolFusion; +struct MaxPoolFusionBuilder; +struct MaxPoolFusionT; + +struct MaxPoolGrad; +struct MaxPoolGradBuilder; +struct MaxPoolGradT; + +struct SwitchLayer; +struct SwitchLayerBuilder; +struct SwitchLayerT; + +struct Mfcc; +struct MfccBuilder; +struct MfccT; + +struct Minimum; +struct MinimumBuilder; +struct MinimumT; + +struct MinimumGrad; +struct MinimumGradBuilder; +struct MinimumGradT; + +struct Mod; +struct ModBuilder; +struct ModT; + +struct MulFusion; +struct MulFusionBuilder; +struct MulFusionT; + +struct MulGrad; +struct MulGradBuilder; +struct MulGradT; + +struct Neg; +struct NegBuilder; +struct NegT; + +struct NegGrad; +struct NegGradBuilder; +struct NegGradT; + +struct NotEqual; +struct NotEqualBuilder; +struct NotEqualT; + +struct NonMaxSuppression; +struct NonMaxSuppressionBuilder; +struct NonMaxSuppressionT; + +struct OneHot; +struct OneHotBuilder; +struct OneHotT; + +struct OnesLike; +struct OnesLikeBuilder; +struct OnesLikeT; + +struct PadFusion; +struct PadFusionBuilder; +struct PadFusionT; + +struct PartialFusion; +struct PartialFusionBuilder; +struct PartialFusionT; + +struct PowerGrad; +struct PowerGradBuilder; +struct PowerGradT; + +struct PowFusion; +struct PowFusionBuilder; +struct PowFusionT; + +struct PriorBox; +struct PriorBoxBuilder; +struct PriorBoxT; + +struct PReLUFusion; +struct PReLUFusionBuilder; +struct PReLUFusionT; + +struct Rank; +struct RankBuilder; +struct RankT; + +struct Range; +struct RangeBuilder; +struct RangeT; + +struct Reciprocal; +struct ReciprocalBuilder; +struct ReciprocalT; + +struct RealDiv; +struct RealDivBuilder; +struct RealDivT; + +struct ReduceFusion; +struct ReduceFusionBuilder; +struct ReduceFusionT; + +struct Reshape; +struct ReshapeBuilder; +struct ReshapeT; + +struct Resize; +struct ResizeBuilder; +struct ResizeT; + +struct ReverseSequence; +struct ReverseSequenceBuilder; +struct ReverseSequenceT; + +struct ReverseV2; +struct ReverseV2Builder; +struct ReverseV2T; + +struct Rfft; +struct RfftBuilder; +struct RfftT; + +struct ROIPooling; +struct ROIPoolingBuilder; +struct ROIPoolingT; + +struct Round; +struct RoundBuilder; +struct RoundT; + +struct Rsqrt; +struct RsqrtBuilder; +struct RsqrtT; + +struct QuantDTypeCast; +struct QuantDTypeCastBuilder; +struct QuantDTypeCastT; + +struct ScaleFusion; +struct ScaleFusionBuilder; +struct ScaleFusionT; + +struct ScatterNd; +struct ScatterNdBuilder; +struct ScatterNdT; + +struct SGD; +struct SGDBuilder; +struct SGDT; + +struct Shape; +struct ShapeBuilder; +struct ShapeT; + +struct SigmoidCrossEntropyWithLogits; +struct SigmoidCrossEntropyWithLogitsBuilder; +struct SigmoidCrossEntropyWithLogitsT; + +struct SigmoidCrossEntropyWithLogitsGrad; +struct SigmoidCrossEntropyWithLogitsGradBuilder; +struct SigmoidCrossEntropyWithLogitsGradT; + +struct Sin; +struct SinBuilder; +struct SinT; + +struct SkipGram; +struct SkipGramBuilder; +struct SkipGramT; + +struct SliceFusion; +struct SliceFusionBuilder; +struct SliceFusionT; + +struct SmoothL1Loss; +struct SmoothL1LossBuilder; +struct SmoothL1LossT; + +struct SmoothL1LossGrad; +struct SmoothL1LossGradBuilder; +struct SmoothL1LossGradT; + +struct Softmax; +struct SoftmaxBuilder; +struct SoftmaxT; + +struct SoftmaxCrossEntropyWithLogits; +struct SoftmaxCrossEntropyWithLogitsBuilder; +struct SoftmaxCrossEntropyWithLogitsT; + +struct SpaceToBatch; +struct SpaceToBatchBuilder; +struct SpaceToBatchT; + +struct SpaceToBatchND; +struct SpaceToBatchNDBuilder; +struct SpaceToBatchNDT; + +struct SpaceToDepth; +struct SpaceToDepthBuilder; +struct SpaceToDepthT; + +struct SparseSoftmaxCrossEntropyWithLogits; +struct SparseSoftmaxCrossEntropyWithLogitsBuilder; +struct SparseSoftmaxCrossEntropyWithLogitsT; + +struct SparseToDense; +struct SparseToDenseBuilder; +struct SparseToDenseT; + +struct Split; +struct SplitBuilder; +struct SplitT; + +struct Sqrt; +struct SqrtBuilder; +struct SqrtT; + +struct Squeeze; +struct SqueezeBuilder; +struct SqueezeT; + +struct Square; +struct SquareBuilder; +struct SquareT; + +struct SquaredDifference; +struct SquaredDifferenceBuilder; +struct SquaredDifferenceT; + +struct Stack; +struct StackBuilder; +struct StackT; + +struct StridedSlice; +struct StridedSliceBuilder; +struct StridedSliceT; + +struct SubFusion; +struct SubFusionBuilder; +struct SubFusionT; + +struct SubGrad; +struct SubGradBuilder; +struct SubGradT; + +struct Switch; +struct SwitchBuilder; +struct SwitchT; + +struct TensorListFromTensor; +struct TensorListFromTensorBuilder; +struct TensorListFromTensorT; + +struct TensorListGetItem; +struct TensorListGetItemBuilder; +struct TensorListGetItemT; + +struct TensorListReserve; +struct TensorListReserveBuilder; +struct TensorListReserveT; + +struct TensorListSetItem; +struct TensorListSetItemBuilder; +struct TensorListSetItemT; + +struct TensorListStack; +struct TensorListStackBuilder; +struct TensorListStackT; + +struct TileFusion; +struct TileFusionBuilder; +struct TileFusionT; + +struct TopKFusion; +struct TopKFusionBuilder; +struct TopKFusionT; + +struct Transpose; +struct TransposeBuilder; +struct TransposeT; + +struct Unique; +struct UniqueBuilder; +struct UniqueT; + +struct UnsortedSegmentSum; +struct UnsortedSegmentSumBuilder; +struct UnsortedSegmentSumT; + +struct Unsqueeze; +struct UnsqueezeBuilder; +struct UnsqueezeT; + +struct Unstack; +struct UnstackBuilder; +struct UnstackT; + +struct Where; +struct WhereBuilder; +struct WhereT; + +struct ZerosLike; +struct ZerosLikeBuilder; +struct ZerosLikeT; + +struct Select; +struct SelectBuilder; +struct SelectT; + +struct GRU; +struct GRUBuilder; +struct GRUT; + +struct NonZero; +struct NonZeroBuilder; +struct NonZeroT; + +struct InvertPermutation; +struct InvertPermutationBuilder; +struct InvertPermutationT; + +struct Size; +struct SizeBuilder; +struct SizeT; + +struct RandomStandardNormal; +struct RandomStandardNormalBuilder; +struct RandomStandardNormalT; + +struct CropAndResize; +struct CropAndResizeBuilder; +struct CropAndResizeT; + +struct Erf; +struct ErfBuilder; +struct ErfT; + +struct StridedSliceGrad; +struct StridedSliceGradBuilder; +struct StridedSliceGradT; + +struct IsFinite; +struct IsFiniteBuilder; +struct IsFiniteT; + +struct LinSpace; +struct LinSpaceBuilder; +struct LinSpaceT; + +struct UniformReal; +struct UniformRealBuilder; +struct UniformRealT; + +struct AbsGrad; +struct AbsGradBuilder; +struct AbsGradT; + +struct RsqrtGrad; +struct RsqrtGradBuilder; +struct RsqrtGradT; + +struct SqrtGrad; +struct SqrtGradBuilder; +struct SqrtGradT; + +struct LayerNormGrad; +struct LayerNormGradBuilder; +struct LayerNormGradT; + +struct ResizeGrad; +struct ResizeGradBuilder; +struct ResizeGradT; + +struct Splice; +struct SpliceBuilder; +struct SpliceT; + +struct LogSoftmax; +struct LogSoftmaxBuilder; +struct LogSoftmaxT; + +struct Call; +struct CallBuilder; +struct CallT; + +struct CumSum; +struct CumSumBuilder; +struct CumSumT; + +struct Custom; +struct CustomBuilder; +struct CustomT; + +struct SplitWithOverlap; +struct SplitWithOverlapBuilder; +struct SplitWithOverlapT; + +struct GenOP; +struct GenOPBuilder; +struct GenOPT; + +struct RaggedRange; +struct RaggedRangeBuilder; +struct RaggedRangeT; + +struct GLU; +struct GLUBuilder; +struct GLUT; + +struct TensorArray; +struct TensorArrayBuilder; +struct TensorArrayT; + +struct TensorArrayRead; +struct TensorArrayReadBuilder; +struct TensorArrayReadT; + +struct TensorArrayWrite; +struct TensorArrayWriteBuilder; +struct TensorArrayWriteT; + +struct Affine; +struct AffineBuilder; +struct AffineT; + +struct ScatterNdUpdate; +struct ScatterNdUpdateBuilder; +struct ScatterNdUpdateT; + +struct AllGather; +struct AllGatherBuilder; +struct AllGatherT; + +struct ReduceScatter; +struct ReduceScatterBuilder; +struct ReduceScatterT; + +struct DynamicQuant; +struct DynamicQuantBuilder; +struct DynamicQuantT; + +struct LSTMGradData; +struct LSTMGradDataBuilder; +struct LSTMGradDataT; + +struct LSTMGradWeight; +struct LSTMGradWeightBuilder; +struct LSTMGradWeightT; + +struct RandomNormal; +struct RandomNormalBuilder; +struct RandomNormalT; + +struct NLLLoss; +struct NLLLossBuilder; +struct NLLLossT; + +struct NLLLossGrad; +struct NLLLossGradBuilder; +struct NLLLossGradT; + +struct FormatTranspose; +struct FormatTransposeBuilder; +struct FormatTransposeT; + +struct GatherD; +struct GatherDBuilder; +struct GatherDT; + +struct GroupNormFusion; +struct GroupNormFusionBuilder; +struct GroupNormFusionT; + +struct Log1p; +struct Log1pBuilder; +struct Log1pT; + +struct TensorScatterAdd; +struct TensorScatterAddBuilder; +struct TensorScatterAddT; + +struct SparseFillEmptyRows; +struct SparseFillEmptyRowsBuilder; +struct SparseFillEmptyRowsT; + +struct SparseReshape; +struct SparseReshapeBuilder; +struct SparseReshapeT; + +struct SparseSegmentSum; +struct SparseSegmentSumBuilder; +struct SparseSegmentSumT; + +struct ScatterElements; +struct ScatterElementsBuilder; +struct ScatterElementsT; + +struct Triu; +struct TriuBuilder; +struct TriuT; + +struct Tril; +struct TrilBuilder; +struct TrilT; + +struct AdamWeightDecay; +struct AdamWeightDecayBuilder; +struct AdamWeightDecayT; + +inline const flatbuffers::TypeTable *AbsTypeTable(); + +inline const flatbuffers::TypeTable *ActivationTypeTable(); + +inline const flatbuffers::TypeTable *ActivationGradTypeTable(); + +inline const flatbuffers::TypeTable *AdamTypeTable(); + +inline const flatbuffers::TypeTable *AddFusionTypeTable(); + +inline const flatbuffers::TypeTable *AdderFusionTypeTable(); + +inline const flatbuffers::TypeTable *AddGradTypeTable(); + +inline const flatbuffers::TypeTable *AddNTypeTable(); + +inline const flatbuffers::TypeTable *AllTypeTable(); + +inline const flatbuffers::TypeTable *ApplyMomentumTypeTable(); + +inline const flatbuffers::TypeTable *ArgMaxFusionTypeTable(); + +inline const flatbuffers::TypeTable *ArgMinFusionTypeTable(); + +inline const flatbuffers::TypeTable *AssertTypeTable(); + +inline const flatbuffers::TypeTable *AssignTypeTable(); + +inline const flatbuffers::TypeTable *AssignAddTypeTable(); + +inline const flatbuffers::TypeTable *AudioSpectrogramTypeTable(); + +inline const flatbuffers::TypeTable *AvgPoolFusionTypeTable(); + +inline const flatbuffers::TypeTable *AvgPoolGradTypeTable(); + +inline const flatbuffers::TypeTable *BatchNormTypeTable(); + +inline const flatbuffers::TypeTable *BatchNormGradTypeTable(); + +inline const flatbuffers::TypeTable *BatchToSpaceTypeTable(); + +inline const flatbuffers::TypeTable *BatchToSpaceNDTypeTable(); + +inline const flatbuffers::TypeTable *BiasAddTypeTable(); + +inline const flatbuffers::TypeTable *BinaryCrossEntropyTypeTable(); + +inline const flatbuffers::TypeTable *BinaryCrossEntropyGradTypeTable(); + +inline const flatbuffers::TypeTable *BiasAddGradTypeTable(); + +inline const flatbuffers::TypeTable *BroadcastToTypeTable(); + +inline const flatbuffers::TypeTable *CastTypeTable(); + +inline const flatbuffers::TypeTable *CeilTypeTable(); + +inline const flatbuffers::TypeTable *ClipTypeTable(); + +inline const flatbuffers::TypeTable *ConcatTypeTable(); + +inline const flatbuffers::TypeTable *AttentionTypeTable(); + +inline const flatbuffers::TypeTable *Conv2DBackpropFilterFusionTypeTable(); + +inline const flatbuffers::TypeTable *Conv2DBackpropInputFusionTypeTable(); + +inline const flatbuffers::TypeTable *Conv2DFusionTypeTable(); + +inline const flatbuffers::TypeTable *Conv2dTransposeFusionTypeTable(); + +inline const flatbuffers::TypeTable *CosTypeTable(); + +inline const flatbuffers::TypeTable *ConstantOfShapeTypeTable(); + +inline const flatbuffers::TypeTable *CropTypeTable(); + +inline const flatbuffers::TypeTable *CustomExtractFeaturesTypeTable(); + +inline const flatbuffers::TypeTable *CustomNormalizeTypeTable(); + +inline const flatbuffers::TypeTable *CustomPredictTypeTable(); + +inline const flatbuffers::TypeTable *DeConv2DGradFilterTypeTable(); + +inline const flatbuffers::TypeTable *DependTypeTable(); + +inline const flatbuffers::TypeTable *DepthToSpaceTypeTable(); + +inline const flatbuffers::TypeTable *DetectionPostProcessTypeTable(); + +inline const flatbuffers::TypeTable *DivFusionTypeTable(); + +inline const flatbuffers::TypeTable *DivGradTypeTable(); + +inline const flatbuffers::TypeTable *DropoutTypeTable(); + +inline const flatbuffers::TypeTable *DropoutGradTypeTable(); + +inline const flatbuffers::TypeTable *EluTypeTable(); + +inline const flatbuffers::TypeTable *EltwiseTypeTable(); + +inline const flatbuffers::TypeTable *EqualTypeTable(); + +inline const flatbuffers::TypeTable *EmbeddingLookupFusionTypeTable(); + +inline const flatbuffers::TypeTable *ExpFusionTypeTable(); + +inline const flatbuffers::TypeTable *ExpandDimsTypeTable(); + +inline const flatbuffers::TypeTable *FakeQuantWithMinMaxVarsTypeTable(); + +inline const flatbuffers::TypeTable *FakeQuantWithMinMaxVarsPerChannelTypeTable(); + +inline const flatbuffers::TypeTable *FftRealTypeTable(); + +inline const flatbuffers::TypeTable *FftImagTypeTable(); + +inline const flatbuffers::TypeTable *FlattenTypeTable(); + +inline const flatbuffers::TypeTable *FlattenGradTypeTable(); + +inline const flatbuffers::TypeTable *FloorTypeTable(); + +inline const flatbuffers::TypeTable *FloorDivTypeTable(); + +inline const flatbuffers::TypeTable *FloorModTypeTable(); + +inline const flatbuffers::TypeTable *FillTypeTable(); + +inline const flatbuffers::TypeTable *FullConnectionTypeTable(); + +inline const flatbuffers::TypeTable *FusedBatchNormTypeTable(); + +inline const flatbuffers::TypeTable *GatherTypeTable(); + +inline const flatbuffers::TypeTable *GatherNdTypeTable(); + +inline const flatbuffers::TypeTable *GreaterTypeTable(); + +inline const flatbuffers::TypeTable *GreaterEqualTypeTable(); + +inline const flatbuffers::TypeTable *HashtableLookupTypeTable(); + +inline const flatbuffers::TypeTable *InstanceNormTypeTable(); + +inline const flatbuffers::TypeTable *LayerNormFusionTypeTable(); + +inline const flatbuffers::TypeTable *LeakyReluTypeTable(); + +inline const flatbuffers::TypeTable *LessTypeTable(); + +inline const flatbuffers::TypeTable *LessEqualTypeTable(); + +inline const flatbuffers::TypeTable *LogTypeTable(); + +inline const flatbuffers::TypeTable *LogGradTypeTable(); + +inline const flatbuffers::TypeTable *LogicalAndTypeTable(); + +inline const flatbuffers::TypeTable *LogicalNotTypeTable(); + +inline const flatbuffers::TypeTable *LogicalOrTypeTable(); + +inline const flatbuffers::TypeTable *LpNormalizationTypeTable(); + +inline const flatbuffers::TypeTable *LRNTypeTable(); + +inline const flatbuffers::TypeTable *LshProjectionTypeTable(); + +inline const flatbuffers::TypeTable *LSTMTypeTable(); + +inline const flatbuffers::TypeTable *LSTMGradTypeTable(); + +inline const flatbuffers::TypeTable *L2NormalizeFusionTypeTable(); + +inline const flatbuffers::TypeTable *MatMulFusionTypeTable(); + +inline const flatbuffers::TypeTable *MaximumTypeTable(); + +inline const flatbuffers::TypeTable *MaximumGradTypeTable(); + +inline const flatbuffers::TypeTable *MaxPoolFusionTypeTable(); + +inline const flatbuffers::TypeTable *MaxPoolGradTypeTable(); + +inline const flatbuffers::TypeTable *SwitchLayerTypeTable(); + +inline const flatbuffers::TypeTable *MfccTypeTable(); + +inline const flatbuffers::TypeTable *MinimumTypeTable(); + +inline const flatbuffers::TypeTable *MinimumGradTypeTable(); + +inline const flatbuffers::TypeTable *ModTypeTable(); + +inline const flatbuffers::TypeTable *MulFusionTypeTable(); + +inline const flatbuffers::TypeTable *MulGradTypeTable(); + +inline const flatbuffers::TypeTable *NegTypeTable(); + +inline const flatbuffers::TypeTable *NegGradTypeTable(); + +inline const flatbuffers::TypeTable *NotEqualTypeTable(); + +inline const flatbuffers::TypeTable *NonMaxSuppressionTypeTable(); + +inline const flatbuffers::TypeTable *OneHotTypeTable(); + +inline const flatbuffers::TypeTable *OnesLikeTypeTable(); + +inline const flatbuffers::TypeTable *PadFusionTypeTable(); + +inline const flatbuffers::TypeTable *PartialFusionTypeTable(); + +inline const flatbuffers::TypeTable *PowerGradTypeTable(); + +inline const flatbuffers::TypeTable *PowFusionTypeTable(); + +inline const flatbuffers::TypeTable *PriorBoxTypeTable(); + +inline const flatbuffers::TypeTable *PReLUFusionTypeTable(); + +inline const flatbuffers::TypeTable *RankTypeTable(); + +inline const flatbuffers::TypeTable *RangeTypeTable(); + +inline const flatbuffers::TypeTable *ReciprocalTypeTable(); + +inline const flatbuffers::TypeTable *RealDivTypeTable(); + +inline const flatbuffers::TypeTable *ReduceFusionTypeTable(); + +inline const flatbuffers::TypeTable *ReshapeTypeTable(); + +inline const flatbuffers::TypeTable *ResizeTypeTable(); + +inline const flatbuffers::TypeTable *ReverseSequenceTypeTable(); + +inline const flatbuffers::TypeTable *ReverseV2TypeTable(); + +inline const flatbuffers::TypeTable *RfftTypeTable(); + +inline const flatbuffers::TypeTable *ROIPoolingTypeTable(); + +inline const flatbuffers::TypeTable *RoundTypeTable(); + +inline const flatbuffers::TypeTable *RsqrtTypeTable(); + +inline const flatbuffers::TypeTable *QuantDTypeCastTypeTable(); + +inline const flatbuffers::TypeTable *ScaleFusionTypeTable(); + +inline const flatbuffers::TypeTable *ScatterNdTypeTable(); + +inline const flatbuffers::TypeTable *SGDTypeTable(); + +inline const flatbuffers::TypeTable *ShapeTypeTable(); + +inline const flatbuffers::TypeTable *SigmoidCrossEntropyWithLogitsTypeTable(); + +inline const flatbuffers::TypeTable *SigmoidCrossEntropyWithLogitsGradTypeTable(); + +inline const flatbuffers::TypeTable *SinTypeTable(); + +inline const flatbuffers::TypeTable *SkipGramTypeTable(); + +inline const flatbuffers::TypeTable *SliceFusionTypeTable(); + +inline const flatbuffers::TypeTable *SmoothL1LossTypeTable(); + +inline const flatbuffers::TypeTable *SmoothL1LossGradTypeTable(); + +inline const flatbuffers::TypeTable *SoftmaxTypeTable(); + +inline const flatbuffers::TypeTable *SoftmaxCrossEntropyWithLogitsTypeTable(); + +inline const flatbuffers::TypeTable *SpaceToBatchTypeTable(); + +inline const flatbuffers::TypeTable *SpaceToBatchNDTypeTable(); + +inline const flatbuffers::TypeTable *SpaceToDepthTypeTable(); + +inline const flatbuffers::TypeTable *SparseSoftmaxCrossEntropyWithLogitsTypeTable(); + +inline const flatbuffers::TypeTable *SparseToDenseTypeTable(); + +inline const flatbuffers::TypeTable *SplitTypeTable(); + +inline const flatbuffers::TypeTable *SqrtTypeTable(); + +inline const flatbuffers::TypeTable *SqueezeTypeTable(); + +inline const flatbuffers::TypeTable *SquareTypeTable(); + +inline const flatbuffers::TypeTable *SquaredDifferenceTypeTable(); + +inline const flatbuffers::TypeTable *StackTypeTable(); + +inline const flatbuffers::TypeTable *StridedSliceTypeTable(); + +inline const flatbuffers::TypeTable *SubFusionTypeTable(); + +inline const flatbuffers::TypeTable *SubGradTypeTable(); + +inline const flatbuffers::TypeTable *SwitchTypeTable(); + +inline const flatbuffers::TypeTable *TensorListFromTensorTypeTable(); + +inline const flatbuffers::TypeTable *TensorListGetItemTypeTable(); + +inline const flatbuffers::TypeTable *TensorListReserveTypeTable(); + +inline const flatbuffers::TypeTable *TensorListSetItemTypeTable(); + +inline const flatbuffers::TypeTable *TensorListStackTypeTable(); + +inline const flatbuffers::TypeTable *TileFusionTypeTable(); + +inline const flatbuffers::TypeTable *TopKFusionTypeTable(); + +inline const flatbuffers::TypeTable *TransposeTypeTable(); + +inline const flatbuffers::TypeTable *UniqueTypeTable(); + +inline const flatbuffers::TypeTable *UnsortedSegmentSumTypeTable(); + +inline const flatbuffers::TypeTable *UnsqueezeTypeTable(); + +inline const flatbuffers::TypeTable *UnstackTypeTable(); + +inline const flatbuffers::TypeTable *WhereTypeTable(); + +inline const flatbuffers::TypeTable *ZerosLikeTypeTable(); + +inline const flatbuffers::TypeTable *SelectTypeTable(); + +inline const flatbuffers::TypeTable *GRUTypeTable(); + +inline const flatbuffers::TypeTable *NonZeroTypeTable(); + +inline const flatbuffers::TypeTable *InvertPermutationTypeTable(); + +inline const flatbuffers::TypeTable *SizeTypeTable(); + +inline const flatbuffers::TypeTable *RandomStandardNormalTypeTable(); + +inline const flatbuffers::TypeTable *CropAndResizeTypeTable(); + +inline const flatbuffers::TypeTable *ErfTypeTable(); + +inline const flatbuffers::TypeTable *StridedSliceGradTypeTable(); + +inline const flatbuffers::TypeTable *IsFiniteTypeTable(); + +inline const flatbuffers::TypeTable *LinSpaceTypeTable(); + +inline const flatbuffers::TypeTable *UniformRealTypeTable(); + +inline const flatbuffers::TypeTable *AbsGradTypeTable(); + +inline const flatbuffers::TypeTable *RsqrtGradTypeTable(); + +inline const flatbuffers::TypeTable *SqrtGradTypeTable(); + +inline const flatbuffers::TypeTable *LayerNormGradTypeTable(); + +inline const flatbuffers::TypeTable *ResizeGradTypeTable(); + +inline const flatbuffers::TypeTable *SpliceTypeTable(); + +inline const flatbuffers::TypeTable *LogSoftmaxTypeTable(); + +inline const flatbuffers::TypeTable *CallTypeTable(); + +inline const flatbuffers::TypeTable *CumSumTypeTable(); + +inline const flatbuffers::TypeTable *CustomTypeTable(); + +inline const flatbuffers::TypeTable *SplitWithOverlapTypeTable(); + +inline const flatbuffers::TypeTable *GenOPTypeTable(); + +inline const flatbuffers::TypeTable *RaggedRangeTypeTable(); + +inline const flatbuffers::TypeTable *GLUTypeTable(); + +inline const flatbuffers::TypeTable *TensorArrayTypeTable(); + +inline const flatbuffers::TypeTable *TensorArrayReadTypeTable(); + +inline const flatbuffers::TypeTable *TensorArrayWriteTypeTable(); + +inline const flatbuffers::TypeTable *AffineTypeTable(); + +inline const flatbuffers::TypeTable *ScatterNdUpdateTypeTable(); + +inline const flatbuffers::TypeTable *AllGatherTypeTable(); + +inline const flatbuffers::TypeTable *ReduceScatterTypeTable(); + +inline const flatbuffers::TypeTable *DynamicQuantTypeTable(); + +inline const flatbuffers::TypeTable *LSTMGradDataTypeTable(); + +inline const flatbuffers::TypeTable *LSTMGradWeightTypeTable(); + +inline const flatbuffers::TypeTable *RandomNormalTypeTable(); + +inline const flatbuffers::TypeTable *NLLLossTypeTable(); + +inline const flatbuffers::TypeTable *NLLLossGradTypeTable(); + +inline const flatbuffers::TypeTable *FormatTransposeTypeTable(); + +inline const flatbuffers::TypeTable *GatherDTypeTable(); + +inline const flatbuffers::TypeTable *GroupNormFusionTypeTable(); + +inline const flatbuffers::TypeTable *Log1pTypeTable(); + +inline const flatbuffers::TypeTable *TensorScatterAddTypeTable(); + +inline const flatbuffers::TypeTable *SparseFillEmptyRowsTypeTable(); + +inline const flatbuffers::TypeTable *SparseReshapeTypeTable(); + +inline const flatbuffers::TypeTable *SparseSegmentSumTypeTable(); + +inline const flatbuffers::TypeTable *ScatterElementsTypeTable(); + +inline const flatbuffers::TypeTable *TriuTypeTable(); + +inline const flatbuffers::TypeTable *TrilTypeTable(); + +inline const flatbuffers::TypeTable *AdamWeightDecayTypeTable(); + +enum PrimitiveType : uint8_t { + PrimitiveType_NONE = 0, + PrimitiveType_Abs = 1, + PrimitiveType_Activation = 2, + PrimitiveType_ActivationGrad = 3, + PrimitiveType_Adam = 4, + PrimitiveType_AddFusion = 5, + PrimitiveType_AdderFusion = 6, + PrimitiveType_AddGrad = 7, + PrimitiveType_AddN = 8, + PrimitiveType_All = 9, + PrimitiveType_ApplyMomentum = 10, + PrimitiveType_ArgMaxFusion = 11, + PrimitiveType_ArgMinFusion = 12, + PrimitiveType_Assert = 13, + PrimitiveType_Assign = 14, + PrimitiveType_AssignAdd = 15, + PrimitiveType_AudioSpectrogram = 16, + PrimitiveType_AvgPoolFusion = 17, + PrimitiveType_AvgPoolGrad = 18, + PrimitiveType_BatchNorm = 19, + PrimitiveType_BatchNormGrad = 20, + PrimitiveType_BatchToSpace = 21, + PrimitiveType_BatchToSpaceND = 22, + PrimitiveType_BiasAdd = 23, + PrimitiveType_BinaryCrossEntropy = 24, + PrimitiveType_BinaryCrossEntropyGrad = 25, + PrimitiveType_BiasAddGrad = 26, + PrimitiveType_BroadcastTo = 27, + PrimitiveType_Cast = 28, + PrimitiveType_Ceil = 29, + PrimitiveType_Clip = 30, + PrimitiveType_Concat = 31, + PrimitiveType_Attention = 32, + PrimitiveType_Conv2DBackpropFilterFusion = 33, + PrimitiveType_Conv2DBackpropInputFusion = 34, + PrimitiveType_Conv2DFusion = 35, + PrimitiveType_Conv2dTransposeFusion = 36, + PrimitiveType_Cos = 37, + PrimitiveType_ConstantOfShape = 38, + PrimitiveType_Crop = 39, + PrimitiveType_CustomExtractFeatures = 40, + PrimitiveType_CustomNormalize = 41, + PrimitiveType_CustomPredict = 42, + PrimitiveType_DeConv2DGradFilter = 43, + PrimitiveType_Depend = 44, + PrimitiveType_DepthToSpace = 45, + PrimitiveType_DetectionPostProcess = 46, + PrimitiveType_DivFusion = 47, + PrimitiveType_DivGrad = 48, + PrimitiveType_Dropout = 49, + PrimitiveType_DropoutGrad = 50, + PrimitiveType_Elu = 51, + PrimitiveType_Eltwise = 52, + PrimitiveType_Equal = 53, + PrimitiveType_EmbeddingLookupFusion = 54, + PrimitiveType_ExpFusion = 55, + PrimitiveType_ExpandDims = 56, + PrimitiveType_FakeQuantWithMinMaxVars = 57, + PrimitiveType_FakeQuantWithMinMaxVarsPerChannel = 58, + PrimitiveType_FftReal = 59, + PrimitiveType_FftImag = 60, + PrimitiveType_Flatten = 61, + PrimitiveType_FlattenGrad = 62, + PrimitiveType_Floor = 63, + PrimitiveType_FloorDiv = 64, + PrimitiveType_FloorMod = 65, + PrimitiveType_Fill = 66, + PrimitiveType_FullConnection = 67, + PrimitiveType_FusedBatchNorm = 68, + PrimitiveType_Gather = 69, + PrimitiveType_GatherNd = 70, + PrimitiveType_Greater = 71, + PrimitiveType_GreaterEqual = 72, + PrimitiveType_HashtableLookup = 73, + PrimitiveType_InstanceNorm = 74, + PrimitiveType_LayerNormFusion = 75, + PrimitiveType_LeakyRelu = 76, + PrimitiveType_Less = 77, + PrimitiveType_LessEqual = 78, + PrimitiveType_Log = 79, + PrimitiveType_LogGrad = 80, + PrimitiveType_LogicalAnd = 81, + PrimitiveType_LogicalNot = 82, + PrimitiveType_LogicalOr = 83, + PrimitiveType_LpNormalization = 84, + PrimitiveType_LRN = 85, + PrimitiveType_LshProjection = 86, + PrimitiveType_LSTM = 87, + PrimitiveType_L2NormalizeFusion = 88, + PrimitiveType_MatMulFusion = 89, + PrimitiveType_Maximum = 90, + PrimitiveType_MaximumGrad = 91, + PrimitiveType_MaxPoolFusion = 92, + PrimitiveType_MaxPoolGrad = 93, + PrimitiveType_SwitchLayer = 94, + PrimitiveType_Mfcc = 95, + PrimitiveType_Minimum = 96, + PrimitiveType_MinimumGrad = 97, + PrimitiveType_Mod = 98, + PrimitiveType_MulFusion = 99, + PrimitiveType_MulGrad = 100, + PrimitiveType_Neg = 101, + PrimitiveType_NegGrad = 102, + PrimitiveType_NotEqual = 103, + PrimitiveType_NonMaxSuppression = 104, + PrimitiveType_OneHot = 105, + PrimitiveType_OnesLike = 106, + PrimitiveType_PadFusion = 107, + PrimitiveType_PartialFusion = 108, + PrimitiveType_PowerGrad = 109, + PrimitiveType_PowFusion = 110, + PrimitiveType_PriorBox = 111, + PrimitiveType_PReLUFusion = 112, + PrimitiveType_QuantDTypeCast = 113, + PrimitiveType_Rank = 114, + PrimitiveType_Range = 115, + PrimitiveType_Reciprocal = 116, + PrimitiveType_RealDiv = 117, + PrimitiveType_ReduceFusion = 118, + PrimitiveType_Reshape = 119, + PrimitiveType_Resize = 120, + PrimitiveType_ReverseSequence = 121, + PrimitiveType_ReverseV2 = 122, + PrimitiveType_Rfft = 123, + PrimitiveType_ROIPooling = 124, + PrimitiveType_Round = 125, + PrimitiveType_Rsqrt = 126, + PrimitiveType_ScaleFusion = 127, + PrimitiveType_ScatterNd = 128, + PrimitiveType_SGD = 129, + PrimitiveType_Shape = 130, + PrimitiveType_SigmoidCrossEntropyWithLogits = 131, + PrimitiveType_SigmoidCrossEntropyWithLogitsGrad = 132, + PrimitiveType_Sin = 133, + PrimitiveType_SkipGram = 134, + PrimitiveType_SliceFusion = 135, + PrimitiveType_SmoothL1Loss = 136, + PrimitiveType_SmoothL1LossGrad = 137, + PrimitiveType_Softmax = 138, + PrimitiveType_SoftmaxCrossEntropyWithLogits = 139, + PrimitiveType_SpaceToBatch = 140, + PrimitiveType_SpaceToBatchND = 141, + PrimitiveType_SpaceToDepth = 142, + PrimitiveType_SparseSoftmaxCrossEntropyWithLogits = 143, + PrimitiveType_SparseToDense = 144, + PrimitiveType_Split = 145, + PrimitiveType_Sqrt = 146, + PrimitiveType_Squeeze = 147, + PrimitiveType_Square = 148, + PrimitiveType_SquaredDifference = 149, + PrimitiveType_Stack = 150, + PrimitiveType_StridedSlice = 151, + PrimitiveType_SubFusion = 152, + PrimitiveType_SubGrad = 153, + PrimitiveType_Switch = 154, + PrimitiveType_TensorListFromTensor = 155, + PrimitiveType_TensorListGetItem = 156, + PrimitiveType_TensorListReserve = 157, + PrimitiveType_TensorListSetItem = 158, + PrimitiveType_TensorListStack = 159, + PrimitiveType_TileFusion = 160, + PrimitiveType_TopKFusion = 161, + PrimitiveType_Transpose = 162, + PrimitiveType_Unique = 163, + PrimitiveType_UnsortedSegmentSum = 164, + PrimitiveType_Unsqueeze = 165, + PrimitiveType_Unstack = 166, + PrimitiveType_LSTMGrad = 167, + PrimitiveType_Where = 168, + PrimitiveType_ZerosLike = 169, + PrimitiveType_Select = 170, + PrimitiveType_ScatterNdUpdate = 171, + PrimitiveType_GRU = 172, + PrimitiveType_NonZero = 173, + PrimitiveType_InvertPermutation = 174, + PrimitiveType_Size = 175, + PrimitiveType_RandomStandardNormal = 176, + PrimitiveType_CropAndResize = 177, + PrimitiveType_Erf = 178, + PrimitiveType_StridedSliceGrad = 179, + PrimitiveType_IsFinite = 180, + PrimitiveType_LinSpace = 181, + PrimitiveType_UniformReal = 182, + PrimitiveType_AbsGrad = 183, + PrimitiveType_RsqrtGrad = 184, + PrimitiveType_SqrtGrad = 185, + PrimitiveType_LayerNormGrad = 186, + PrimitiveType_ResizeGrad = 187, + PrimitiveType_Splice = 188, + PrimitiveType_LogSoftmax = 189, + PrimitiveType_Call = 190, + PrimitiveType_Custom = 191, + PrimitiveType_CumSum = 192, + PrimitiveType_SplitWithOverlap = 193, + PrimitiveType_GenOP = 194, + PrimitiveType_RaggedRange = 195, + PrimitiveType_GLU = 196, + PrimitiveType_TensorArray = 197, + PrimitiveType_TensorArrayRead = 198, + PrimitiveType_TensorArrayWrite = 199, + PrimitiveType_Affine = 200, + PrimitiveType_AllGather = 201, + PrimitiveType_ReduceScatter = 202, + PrimitiveType_DynamicQuant = 203, + PrimitiveType_LSTMGradData = 204, + PrimitiveType_LSTMGradWeight = 205, + PrimitiveType_RandomNormal = 206, + PrimitiveType_NLLLoss = 207, + PrimitiveType_NLLLossGrad = 208, + PrimitiveType_FormatTranspose = 209, + PrimitiveType_GatherD = 210, + PrimitiveType_GroupNormFusion = 211, + PrimitiveType_Log1p = 212, + PrimitiveType_TensorScatterAdd = 213, + PrimitiveType_SparseFillEmptyRows = 214, + PrimitiveType_SparseReshape = 215, + PrimitiveType_SparseSegmentSum = 216, + PrimitiveType_ScatterElements = 217, + PrimitiveType_Triu = 218, + PrimitiveType_Tril = 219, + PrimitiveType_AdamWeightDecay = 220, + PrimitiveType_MIN = PrimitiveType_NONE, + PrimitiveType_MAX = PrimitiveType_AdamWeightDecay +}; + +inline const PrimitiveType (&EnumValuesPrimitiveType())[221] { + static const PrimitiveType values[] = { + PrimitiveType_NONE, + PrimitiveType_Abs, + PrimitiveType_Activation, + PrimitiveType_ActivationGrad, + PrimitiveType_Adam, + PrimitiveType_AddFusion, + PrimitiveType_AdderFusion, + PrimitiveType_AddGrad, + PrimitiveType_AddN, + PrimitiveType_All, + PrimitiveType_ApplyMomentum, + PrimitiveType_ArgMaxFusion, + PrimitiveType_ArgMinFusion, + PrimitiveType_Assert, + PrimitiveType_Assign, + PrimitiveType_AssignAdd, + PrimitiveType_AudioSpectrogram, + PrimitiveType_AvgPoolFusion, + PrimitiveType_AvgPoolGrad, + PrimitiveType_BatchNorm, + PrimitiveType_BatchNormGrad, + PrimitiveType_BatchToSpace, + PrimitiveType_BatchToSpaceND, + PrimitiveType_BiasAdd, + PrimitiveType_BinaryCrossEntropy, + PrimitiveType_BinaryCrossEntropyGrad, + PrimitiveType_BiasAddGrad, + PrimitiveType_BroadcastTo, + PrimitiveType_Cast, + PrimitiveType_Ceil, + PrimitiveType_Clip, + PrimitiveType_Concat, + PrimitiveType_Attention, + PrimitiveType_Conv2DBackpropFilterFusion, + PrimitiveType_Conv2DBackpropInputFusion, + PrimitiveType_Conv2DFusion, + PrimitiveType_Conv2dTransposeFusion, + PrimitiveType_Cos, + PrimitiveType_ConstantOfShape, + PrimitiveType_Crop, + PrimitiveType_CustomExtractFeatures, + PrimitiveType_CustomNormalize, + PrimitiveType_CustomPredict, + PrimitiveType_DeConv2DGradFilter, + PrimitiveType_Depend, + PrimitiveType_DepthToSpace, + PrimitiveType_DetectionPostProcess, + PrimitiveType_DivFusion, + PrimitiveType_DivGrad, + PrimitiveType_Dropout, + PrimitiveType_DropoutGrad, + PrimitiveType_Elu, + PrimitiveType_Eltwise, + PrimitiveType_Equal, + PrimitiveType_EmbeddingLookupFusion, + PrimitiveType_ExpFusion, + PrimitiveType_ExpandDims, + PrimitiveType_FakeQuantWithMinMaxVars, + PrimitiveType_FakeQuantWithMinMaxVarsPerChannel, + PrimitiveType_FftReal, + PrimitiveType_FftImag, + PrimitiveType_Flatten, + PrimitiveType_FlattenGrad, + PrimitiveType_Floor, + PrimitiveType_FloorDiv, + PrimitiveType_FloorMod, + PrimitiveType_Fill, + PrimitiveType_FullConnection, + PrimitiveType_FusedBatchNorm, + PrimitiveType_Gather, + PrimitiveType_GatherNd, + PrimitiveType_Greater, + PrimitiveType_GreaterEqual, + PrimitiveType_HashtableLookup, + PrimitiveType_InstanceNorm, + PrimitiveType_LayerNormFusion, + PrimitiveType_LeakyRelu, + PrimitiveType_Less, + PrimitiveType_LessEqual, + PrimitiveType_Log, + PrimitiveType_LogGrad, + PrimitiveType_LogicalAnd, + PrimitiveType_LogicalNot, + PrimitiveType_LogicalOr, + PrimitiveType_LpNormalization, + PrimitiveType_LRN, + PrimitiveType_LshProjection, + PrimitiveType_LSTM, + PrimitiveType_L2NormalizeFusion, + PrimitiveType_MatMulFusion, + PrimitiveType_Maximum, + PrimitiveType_MaximumGrad, + PrimitiveType_MaxPoolFusion, + PrimitiveType_MaxPoolGrad, + PrimitiveType_SwitchLayer, + PrimitiveType_Mfcc, + PrimitiveType_Minimum, + PrimitiveType_MinimumGrad, + PrimitiveType_Mod, + PrimitiveType_MulFusion, + PrimitiveType_MulGrad, + PrimitiveType_Neg, + PrimitiveType_NegGrad, + PrimitiveType_NotEqual, + PrimitiveType_NonMaxSuppression, + PrimitiveType_OneHot, + PrimitiveType_OnesLike, + PrimitiveType_PadFusion, + PrimitiveType_PartialFusion, + PrimitiveType_PowerGrad, + PrimitiveType_PowFusion, + PrimitiveType_PriorBox, + PrimitiveType_PReLUFusion, + PrimitiveType_QuantDTypeCast, + PrimitiveType_Rank, + PrimitiveType_Range, + PrimitiveType_Reciprocal, + PrimitiveType_RealDiv, + PrimitiveType_ReduceFusion, + PrimitiveType_Reshape, + PrimitiveType_Resize, + PrimitiveType_ReverseSequence, + PrimitiveType_ReverseV2, + PrimitiveType_Rfft, + PrimitiveType_ROIPooling, + PrimitiveType_Round, + PrimitiveType_Rsqrt, + PrimitiveType_ScaleFusion, + PrimitiveType_ScatterNd, + PrimitiveType_SGD, + PrimitiveType_Shape, + PrimitiveType_SigmoidCrossEntropyWithLogits, + PrimitiveType_SigmoidCrossEntropyWithLogitsGrad, + PrimitiveType_Sin, + PrimitiveType_SkipGram, + PrimitiveType_SliceFusion, + PrimitiveType_SmoothL1Loss, + PrimitiveType_SmoothL1LossGrad, + PrimitiveType_Softmax, + PrimitiveType_SoftmaxCrossEntropyWithLogits, + PrimitiveType_SpaceToBatch, + PrimitiveType_SpaceToBatchND, + PrimitiveType_SpaceToDepth, + PrimitiveType_SparseSoftmaxCrossEntropyWithLogits, + PrimitiveType_SparseToDense, + PrimitiveType_Split, + PrimitiveType_Sqrt, + PrimitiveType_Squeeze, + PrimitiveType_Square, + PrimitiveType_SquaredDifference, + PrimitiveType_Stack, + PrimitiveType_StridedSlice, + PrimitiveType_SubFusion, + PrimitiveType_SubGrad, + PrimitiveType_Switch, + PrimitiveType_TensorListFromTensor, + PrimitiveType_TensorListGetItem, + PrimitiveType_TensorListReserve, + PrimitiveType_TensorListSetItem, + PrimitiveType_TensorListStack, + PrimitiveType_TileFusion, + PrimitiveType_TopKFusion, + PrimitiveType_Transpose, + PrimitiveType_Unique, + PrimitiveType_UnsortedSegmentSum, + PrimitiveType_Unsqueeze, + PrimitiveType_Unstack, + PrimitiveType_LSTMGrad, + PrimitiveType_Where, + PrimitiveType_ZerosLike, + PrimitiveType_Select, + PrimitiveType_ScatterNdUpdate, + PrimitiveType_GRU, + PrimitiveType_NonZero, + PrimitiveType_InvertPermutation, + PrimitiveType_Size, + PrimitiveType_RandomStandardNormal, + PrimitiveType_CropAndResize, + PrimitiveType_Erf, + PrimitiveType_StridedSliceGrad, + PrimitiveType_IsFinite, + PrimitiveType_LinSpace, + PrimitiveType_UniformReal, + PrimitiveType_AbsGrad, + PrimitiveType_RsqrtGrad, + PrimitiveType_SqrtGrad, + PrimitiveType_LayerNormGrad, + PrimitiveType_ResizeGrad, + PrimitiveType_Splice, + PrimitiveType_LogSoftmax, + PrimitiveType_Call, + PrimitiveType_Custom, + PrimitiveType_CumSum, + PrimitiveType_SplitWithOverlap, + PrimitiveType_GenOP, + PrimitiveType_RaggedRange, + PrimitiveType_GLU, + PrimitiveType_TensorArray, + PrimitiveType_TensorArrayRead, + PrimitiveType_TensorArrayWrite, + PrimitiveType_Affine, + PrimitiveType_AllGather, + PrimitiveType_ReduceScatter, + PrimitiveType_DynamicQuant, + PrimitiveType_LSTMGradData, + PrimitiveType_LSTMGradWeight, + PrimitiveType_RandomNormal, + PrimitiveType_NLLLoss, + PrimitiveType_NLLLossGrad, + PrimitiveType_FormatTranspose, + PrimitiveType_GatherD, + PrimitiveType_GroupNormFusion, + PrimitiveType_Log1p, + PrimitiveType_TensorScatterAdd, + PrimitiveType_SparseFillEmptyRows, + PrimitiveType_SparseReshape, + PrimitiveType_SparseSegmentSum, + PrimitiveType_ScatterElements, + PrimitiveType_Triu, + PrimitiveType_Tril, + PrimitiveType_AdamWeightDecay + }; + return values; +} + +inline const char * const *EnumNamesPrimitiveType() { + static const char * const names[222] = { + "NONE", + "Abs", + "Activation", + "ActivationGrad", + "Adam", + "AddFusion", + "AdderFusion", + "AddGrad", + "AddN", + "All", + "ApplyMomentum", + "ArgMaxFusion", + "ArgMinFusion", + "Assert", + "Assign", + "AssignAdd", + "AudioSpectrogram", + "AvgPoolFusion", + "AvgPoolGrad", + "BatchNorm", + "BatchNormGrad", + "BatchToSpace", + "BatchToSpaceND", + "BiasAdd", + "BinaryCrossEntropy", + "BinaryCrossEntropyGrad", + "BiasAddGrad", + "BroadcastTo", + "Cast", + "Ceil", + "Clip", + "Concat", + "Attention", + "Conv2DBackpropFilterFusion", + "Conv2DBackpropInputFusion", + "Conv2DFusion", + "Conv2dTransposeFusion", + "Cos", + "ConstantOfShape", + "Crop", + "CustomExtractFeatures", + "CustomNormalize", + "CustomPredict", + "DeConv2DGradFilter", + "Depend", + "DepthToSpace", + "DetectionPostProcess", + "DivFusion", + "DivGrad", + "Dropout", + "DropoutGrad", + "Elu", + "Eltwise", + "Equal", + "EmbeddingLookupFusion", + "ExpFusion", + "ExpandDims", + "FakeQuantWithMinMaxVars", + "FakeQuantWithMinMaxVarsPerChannel", + "FftReal", + "FftImag", + "Flatten", + "FlattenGrad", + "Floor", + "FloorDiv", + "FloorMod", + "Fill", + "FullConnection", + "FusedBatchNorm", + "Gather", + "GatherNd", + "Greater", + "GreaterEqual", + "HashtableLookup", + "InstanceNorm", + "LayerNormFusion", + "LeakyRelu", + "Less", + "LessEqual", + "Log", + "LogGrad", + "LogicalAnd", + "LogicalNot", + "LogicalOr", + "LpNormalization", + "LRN", + "LshProjection", + "LSTM", + "L2NormalizeFusion", + "MatMulFusion", + "Maximum", + "MaximumGrad", + "MaxPoolFusion", + "MaxPoolGrad", + "SwitchLayer", + "Mfcc", + "Minimum", + "MinimumGrad", + "Mod", + "MulFusion", + "MulGrad", + "Neg", + "NegGrad", + "NotEqual", + "NonMaxSuppression", + "OneHot", + "OnesLike", + "PadFusion", + "PartialFusion", + "PowerGrad", + "PowFusion", + "PriorBox", + "PReLUFusion", + "QuantDTypeCast", + "Rank", + "Range", + "Reciprocal", + "RealDiv", + "ReduceFusion", + "Reshape", + "Resize", + "ReverseSequence", + "ReverseV2", + "Rfft", + "ROIPooling", + "Round", + "Rsqrt", + "ScaleFusion", + "ScatterNd", + "SGD", + "Shape", + "SigmoidCrossEntropyWithLogits", + "SigmoidCrossEntropyWithLogitsGrad", + "Sin", + "SkipGram", + "SliceFusion", + "SmoothL1Loss", + "SmoothL1LossGrad", + "Softmax", + "SoftmaxCrossEntropyWithLogits", + "SpaceToBatch", + "SpaceToBatchND", + "SpaceToDepth", + "SparseSoftmaxCrossEntropyWithLogits", + "SparseToDense", + "Split", + "Sqrt", + "Squeeze", + "Square", + "SquaredDifference", + "Stack", + "StridedSlice", + "SubFusion", + "SubGrad", + "Switch", + "TensorListFromTensor", + "TensorListGetItem", + "TensorListReserve", + "TensorListSetItem", + "TensorListStack", + "TileFusion", + "TopKFusion", + "Transpose", + "Unique", + "UnsortedSegmentSum", + "Unsqueeze", + "Unstack", + "LSTMGrad", + "Where", + "ZerosLike", + "Select", + "ScatterNdUpdate", + "GRU", + "NonZero", + "InvertPermutation", + "Size", + "RandomStandardNormal", + "CropAndResize", + "Erf", + "StridedSliceGrad", + "IsFinite", + "LinSpace", + "UniformReal", + "AbsGrad", + "RsqrtGrad", + "SqrtGrad", + "LayerNormGrad", + "ResizeGrad", + "Splice", + "LogSoftmax", + "Call", + "Custom", + "CumSum", + "SplitWithOverlap", + "GenOP", + "RaggedRange", + "GLU", + "TensorArray", + "TensorArrayRead", + "TensorArrayWrite", + "Affine", + "AllGather", + "ReduceScatter", + "DynamicQuant", + "LSTMGradData", + "LSTMGradWeight", + "RandomNormal", + "NLLLoss", + "NLLLossGrad", + "FormatTranspose", + "GatherD", + "GroupNormFusion", + "Log1p", + "TensorScatterAdd", + "SparseFillEmptyRows", + "SparseReshape", + "SparseSegmentSum", + "ScatterElements", + "Triu", + "Tril", + "AdamWeightDecay", + nullptr + }; + return names; +} + +inline const char *EnumNamePrimitiveType(PrimitiveType e) { + if (flatbuffers::IsOutRange(e, PrimitiveType_NONE, PrimitiveType_AdamWeightDecay)) return ""; + const size_t index = static_cast(e); + return EnumNamesPrimitiveType()[index]; +} + +template struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_NONE; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Abs; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Activation; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_ActivationGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Adam; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_AddFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_AdderFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_AddGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_AddN; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_All; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_ApplyMomentum; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_ArgMaxFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_ArgMinFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Assert; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Assign; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_AssignAdd; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_AudioSpectrogram; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_AvgPoolFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_AvgPoolGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_BatchNorm; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_BatchNormGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_BatchToSpace; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_BatchToSpaceND; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_BiasAdd; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_BinaryCrossEntropy; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_BinaryCrossEntropyGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_BiasAddGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_BroadcastTo; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Cast; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Ceil; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Clip; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Concat; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Attention; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Conv2DBackpropFilterFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Conv2DBackpropInputFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Conv2DFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Conv2dTransposeFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Cos; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_ConstantOfShape; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Crop; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_CustomExtractFeatures; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_CustomNormalize; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_CustomPredict; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_DeConv2DGradFilter; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Depend; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_DepthToSpace; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_DetectionPostProcess; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_DivFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_DivGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Dropout; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_DropoutGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Elu; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Eltwise; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Equal; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_EmbeddingLookupFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_ExpFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_ExpandDims; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_FakeQuantWithMinMaxVars; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_FakeQuantWithMinMaxVarsPerChannel; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_FftReal; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_FftImag; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Flatten; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_FlattenGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Floor; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_FloorDiv; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_FloorMod; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Fill; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_FullConnection; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_FusedBatchNorm; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Gather; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_GatherNd; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Greater; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_GreaterEqual; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_HashtableLookup; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_InstanceNorm; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_LayerNormFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_LeakyRelu; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Less; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_LessEqual; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Log; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_LogGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_LogicalAnd; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_LogicalNot; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_LogicalOr; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_LpNormalization; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_LRN; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_LshProjection; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_LSTM; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_L2NormalizeFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_MatMulFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Maximum; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_MaximumGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_MaxPoolFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_MaxPoolGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SwitchLayer; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Mfcc; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Minimum; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_MinimumGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Mod; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_MulFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_MulGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Neg; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_NegGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_NotEqual; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_NonMaxSuppression; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_OneHot; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_OnesLike; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_PadFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_PartialFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_PowerGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_PowFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_PriorBox; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_PReLUFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_QuantDTypeCast; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Rank; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Range; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Reciprocal; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_RealDiv; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_ReduceFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Reshape; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Resize; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_ReverseSequence; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_ReverseV2; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Rfft; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_ROIPooling; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Round; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Rsqrt; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_ScaleFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_ScatterNd; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SGD; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Shape; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SigmoidCrossEntropyWithLogits; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SigmoidCrossEntropyWithLogitsGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Sin; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SkipGram; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SliceFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SmoothL1Loss; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SmoothL1LossGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Softmax; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SoftmaxCrossEntropyWithLogits; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SpaceToBatch; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SpaceToBatchND; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SpaceToDepth; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SparseSoftmaxCrossEntropyWithLogits; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SparseToDense; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Split; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Sqrt; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Squeeze; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Square; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SquaredDifference; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Stack; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_StridedSlice; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SubFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SubGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Switch; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_TensorListFromTensor; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_TensorListGetItem; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_TensorListReserve; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_TensorListSetItem; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_TensorListStack; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_TileFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_TopKFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Transpose; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Unique; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_UnsortedSegmentSum; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Unsqueeze; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Unstack; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_LSTMGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Where; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_ZerosLike; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Select; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_ScatterNdUpdate; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_GRU; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_NonZero; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_InvertPermutation; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Size; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_RandomStandardNormal; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_CropAndResize; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Erf; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_StridedSliceGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_IsFinite; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_LinSpace; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_UniformReal; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_AbsGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_RsqrtGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SqrtGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_LayerNormGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_ResizeGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Splice; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_LogSoftmax; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Call; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Custom; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_CumSum; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SplitWithOverlap; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_GenOP; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_RaggedRange; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_GLU; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_TensorArray; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_TensorArrayRead; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_TensorArrayWrite; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Affine; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_AllGather; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_ReduceScatter; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_DynamicQuant; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_LSTMGradData; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_LSTMGradWeight; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_RandomNormal; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_NLLLoss; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_NLLLossGrad; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_FormatTranspose; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_GatherD; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_GroupNormFusion; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Log1p; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_TensorScatterAdd; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SparseFillEmptyRows; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SparseReshape; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_SparseSegmentSum; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_ScatterElements; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Triu; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_Tril; +}; + +template<> struct PrimitiveTypeTraits { + static const PrimitiveType enum_value = PrimitiveType_AdamWeightDecay; +}; + +struct PrimitiveTypeUnion { + PrimitiveType type; + void *value; + + PrimitiveTypeUnion() : type(PrimitiveType_NONE), value(nullptr) {} + PrimitiveTypeUnion(PrimitiveTypeUnion&& u) FLATBUFFERS_NOEXCEPT : + type(PrimitiveType_NONE), value(nullptr) + { std::swap(type, u.type); std::swap(value, u.value); } + PrimitiveTypeUnion(const PrimitiveTypeUnion &); + PrimitiveTypeUnion &operator=(const PrimitiveTypeUnion &u) + { PrimitiveTypeUnion t(u); std::swap(type, t.type); std::swap(value, t.value); return *this; } + PrimitiveTypeUnion &operator=(PrimitiveTypeUnion &&u) FLATBUFFERS_NOEXCEPT + { std::swap(type, u.type); std::swap(value, u.value); return *this; } + ~PrimitiveTypeUnion() { Reset(); } + + void Reset(); + +#ifndef FLATBUFFERS_CPP98_STL + template + void Set(T&& val) { + using RT = typename std::remove_reference::type; + Reset(); + type = PrimitiveTypeTraits::enum_value; + if (type != PrimitiveType_NONE) { + value = new RT(std::forward(val)); + } + } +#endif // FLATBUFFERS_CPP98_STL + + static void *UnPack(const void *obj, PrimitiveType type, const flatbuffers::resolver_function_t *resolver); + flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher = nullptr) const; + + mindspore::schema::AbsT *AsAbs() { + return type == PrimitiveType_Abs ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::AbsT *AsAbs() const { + return type == PrimitiveType_Abs ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ActivationT *AsActivation() { + return type == PrimitiveType_Activation ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ActivationT *AsActivation() const { + return type == PrimitiveType_Activation ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ActivationGradT *AsActivationGrad() { + return type == PrimitiveType_ActivationGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ActivationGradT *AsActivationGrad() const { + return type == PrimitiveType_ActivationGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::AdamT *AsAdam() { + return type == PrimitiveType_Adam ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::AdamT *AsAdam() const { + return type == PrimitiveType_Adam ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::AddFusionT *AsAddFusion() { + return type == PrimitiveType_AddFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::AddFusionT *AsAddFusion() const { + return type == PrimitiveType_AddFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::AdderFusionT *AsAdderFusion() { + return type == PrimitiveType_AdderFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::AdderFusionT *AsAdderFusion() const { + return type == PrimitiveType_AdderFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::AddGradT *AsAddGrad() { + return type == PrimitiveType_AddGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::AddGradT *AsAddGrad() const { + return type == PrimitiveType_AddGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::AddNT *AsAddN() { + return type == PrimitiveType_AddN ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::AddNT *AsAddN() const { + return type == PrimitiveType_AddN ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::AllT *AsAll() { + return type == PrimitiveType_All ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::AllT *AsAll() const { + return type == PrimitiveType_All ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ApplyMomentumT *AsApplyMomentum() { + return type == PrimitiveType_ApplyMomentum ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ApplyMomentumT *AsApplyMomentum() const { + return type == PrimitiveType_ApplyMomentum ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ArgMaxFusionT *AsArgMaxFusion() { + return type == PrimitiveType_ArgMaxFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ArgMaxFusionT *AsArgMaxFusion() const { + return type == PrimitiveType_ArgMaxFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ArgMinFusionT *AsArgMinFusion() { + return type == PrimitiveType_ArgMinFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ArgMinFusionT *AsArgMinFusion() const { + return type == PrimitiveType_ArgMinFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::AssertT *AsAssert() { + return type == PrimitiveType_Assert ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::AssertT *AsAssert() const { + return type == PrimitiveType_Assert ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::AssignT *AsAssign() { + return type == PrimitiveType_Assign ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::AssignT *AsAssign() const { + return type == PrimitiveType_Assign ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::AssignAddT *AsAssignAdd() { + return type == PrimitiveType_AssignAdd ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::AssignAddT *AsAssignAdd() const { + return type == PrimitiveType_AssignAdd ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::AudioSpectrogramT *AsAudioSpectrogram() { + return type == PrimitiveType_AudioSpectrogram ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::AudioSpectrogramT *AsAudioSpectrogram() const { + return type == PrimitiveType_AudioSpectrogram ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::AvgPoolFusionT *AsAvgPoolFusion() { + return type == PrimitiveType_AvgPoolFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::AvgPoolFusionT *AsAvgPoolFusion() const { + return type == PrimitiveType_AvgPoolFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::AvgPoolGradT *AsAvgPoolGrad() { + return type == PrimitiveType_AvgPoolGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::AvgPoolGradT *AsAvgPoolGrad() const { + return type == PrimitiveType_AvgPoolGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::BatchNormT *AsBatchNorm() { + return type == PrimitiveType_BatchNorm ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::BatchNormT *AsBatchNorm() const { + return type == PrimitiveType_BatchNorm ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::BatchNormGradT *AsBatchNormGrad() { + return type == PrimitiveType_BatchNormGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::BatchNormGradT *AsBatchNormGrad() const { + return type == PrimitiveType_BatchNormGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::BatchToSpaceT *AsBatchToSpace() { + return type == PrimitiveType_BatchToSpace ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::BatchToSpaceT *AsBatchToSpace() const { + return type == PrimitiveType_BatchToSpace ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::BatchToSpaceNDT *AsBatchToSpaceND() { + return type == PrimitiveType_BatchToSpaceND ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::BatchToSpaceNDT *AsBatchToSpaceND() const { + return type == PrimitiveType_BatchToSpaceND ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::BiasAddT *AsBiasAdd() { + return type == PrimitiveType_BiasAdd ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::BiasAddT *AsBiasAdd() const { + return type == PrimitiveType_BiasAdd ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::BinaryCrossEntropyT *AsBinaryCrossEntropy() { + return type == PrimitiveType_BinaryCrossEntropy ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::BinaryCrossEntropyT *AsBinaryCrossEntropy() const { + return type == PrimitiveType_BinaryCrossEntropy ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::BinaryCrossEntropyGradT *AsBinaryCrossEntropyGrad() { + return type == PrimitiveType_BinaryCrossEntropyGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::BinaryCrossEntropyGradT *AsBinaryCrossEntropyGrad() const { + return type == PrimitiveType_BinaryCrossEntropyGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::BiasAddGradT *AsBiasAddGrad() { + return type == PrimitiveType_BiasAddGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::BiasAddGradT *AsBiasAddGrad() const { + return type == PrimitiveType_BiasAddGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::BroadcastToT *AsBroadcastTo() { + return type == PrimitiveType_BroadcastTo ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::BroadcastToT *AsBroadcastTo() const { + return type == PrimitiveType_BroadcastTo ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::CastT *AsCast() { + return type == PrimitiveType_Cast ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::CastT *AsCast() const { + return type == PrimitiveType_Cast ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::CeilT *AsCeil() { + return type == PrimitiveType_Ceil ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::CeilT *AsCeil() const { + return type == PrimitiveType_Ceil ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ClipT *AsClip() { + return type == PrimitiveType_Clip ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ClipT *AsClip() const { + return type == PrimitiveType_Clip ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ConcatT *AsConcat() { + return type == PrimitiveType_Concat ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ConcatT *AsConcat() const { + return type == PrimitiveType_Concat ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::AttentionT *AsAttention() { + return type == PrimitiveType_Attention ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::AttentionT *AsAttention() const { + return type == PrimitiveType_Attention ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::Conv2DBackpropFilterFusionT *AsConv2DBackpropFilterFusion() { + return type == PrimitiveType_Conv2DBackpropFilterFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::Conv2DBackpropFilterFusionT *AsConv2DBackpropFilterFusion() const { + return type == PrimitiveType_Conv2DBackpropFilterFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::Conv2DBackpropInputFusionT *AsConv2DBackpropInputFusion() { + return type == PrimitiveType_Conv2DBackpropInputFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::Conv2DBackpropInputFusionT *AsConv2DBackpropInputFusion() const { + return type == PrimitiveType_Conv2DBackpropInputFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::Conv2DFusionT *AsConv2DFusion() { + return type == PrimitiveType_Conv2DFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::Conv2DFusionT *AsConv2DFusion() const { + return type == PrimitiveType_Conv2DFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::Conv2dTransposeFusionT *AsConv2dTransposeFusion() { + return type == PrimitiveType_Conv2dTransposeFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::Conv2dTransposeFusionT *AsConv2dTransposeFusion() const { + return type == PrimitiveType_Conv2dTransposeFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::CosT *AsCos() { + return type == PrimitiveType_Cos ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::CosT *AsCos() const { + return type == PrimitiveType_Cos ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ConstantOfShapeT *AsConstantOfShape() { + return type == PrimitiveType_ConstantOfShape ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ConstantOfShapeT *AsConstantOfShape() const { + return type == PrimitiveType_ConstantOfShape ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::CropT *AsCrop() { + return type == PrimitiveType_Crop ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::CropT *AsCrop() const { + return type == PrimitiveType_Crop ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::CustomExtractFeaturesT *AsCustomExtractFeatures() { + return type == PrimitiveType_CustomExtractFeatures ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::CustomExtractFeaturesT *AsCustomExtractFeatures() const { + return type == PrimitiveType_CustomExtractFeatures ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::CustomNormalizeT *AsCustomNormalize() { + return type == PrimitiveType_CustomNormalize ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::CustomNormalizeT *AsCustomNormalize() const { + return type == PrimitiveType_CustomNormalize ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::CustomPredictT *AsCustomPredict() { + return type == PrimitiveType_CustomPredict ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::CustomPredictT *AsCustomPredict() const { + return type == PrimitiveType_CustomPredict ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::DeConv2DGradFilterT *AsDeConv2DGradFilter() { + return type == PrimitiveType_DeConv2DGradFilter ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::DeConv2DGradFilterT *AsDeConv2DGradFilter() const { + return type == PrimitiveType_DeConv2DGradFilter ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::DependT *AsDepend() { + return type == PrimitiveType_Depend ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::DependT *AsDepend() const { + return type == PrimitiveType_Depend ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::DepthToSpaceT *AsDepthToSpace() { + return type == PrimitiveType_DepthToSpace ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::DepthToSpaceT *AsDepthToSpace() const { + return type == PrimitiveType_DepthToSpace ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::DetectionPostProcessT *AsDetectionPostProcess() { + return type == PrimitiveType_DetectionPostProcess ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::DetectionPostProcessT *AsDetectionPostProcess() const { + return type == PrimitiveType_DetectionPostProcess ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::DivFusionT *AsDivFusion() { + return type == PrimitiveType_DivFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::DivFusionT *AsDivFusion() const { + return type == PrimitiveType_DivFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::DivGradT *AsDivGrad() { + return type == PrimitiveType_DivGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::DivGradT *AsDivGrad() const { + return type == PrimitiveType_DivGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::DropoutT *AsDropout() { + return type == PrimitiveType_Dropout ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::DropoutT *AsDropout() const { + return type == PrimitiveType_Dropout ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::DropoutGradT *AsDropoutGrad() { + return type == PrimitiveType_DropoutGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::DropoutGradT *AsDropoutGrad() const { + return type == PrimitiveType_DropoutGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::EluT *AsElu() { + return type == PrimitiveType_Elu ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::EluT *AsElu() const { + return type == PrimitiveType_Elu ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::EltwiseT *AsEltwise() { + return type == PrimitiveType_Eltwise ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::EltwiseT *AsEltwise() const { + return type == PrimitiveType_Eltwise ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::EqualT *AsEqual() { + return type == PrimitiveType_Equal ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::EqualT *AsEqual() const { + return type == PrimitiveType_Equal ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::EmbeddingLookupFusionT *AsEmbeddingLookupFusion() { + return type == PrimitiveType_EmbeddingLookupFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::EmbeddingLookupFusionT *AsEmbeddingLookupFusion() const { + return type == PrimitiveType_EmbeddingLookupFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ExpFusionT *AsExpFusion() { + return type == PrimitiveType_ExpFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ExpFusionT *AsExpFusion() const { + return type == PrimitiveType_ExpFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ExpandDimsT *AsExpandDims() { + return type == PrimitiveType_ExpandDims ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ExpandDimsT *AsExpandDims() const { + return type == PrimitiveType_ExpandDims ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::FakeQuantWithMinMaxVarsT *AsFakeQuantWithMinMaxVars() { + return type == PrimitiveType_FakeQuantWithMinMaxVars ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::FakeQuantWithMinMaxVarsT *AsFakeQuantWithMinMaxVars() const { + return type == PrimitiveType_FakeQuantWithMinMaxVars ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::FakeQuantWithMinMaxVarsPerChannelT *AsFakeQuantWithMinMaxVarsPerChannel() { + return type == PrimitiveType_FakeQuantWithMinMaxVarsPerChannel ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::FakeQuantWithMinMaxVarsPerChannelT *AsFakeQuantWithMinMaxVarsPerChannel() const { + return type == PrimitiveType_FakeQuantWithMinMaxVarsPerChannel ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::FftRealT *AsFftReal() { + return type == PrimitiveType_FftReal ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::FftRealT *AsFftReal() const { + return type == PrimitiveType_FftReal ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::FftImagT *AsFftImag() { + return type == PrimitiveType_FftImag ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::FftImagT *AsFftImag() const { + return type == PrimitiveType_FftImag ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::FlattenT *AsFlatten() { + return type == PrimitiveType_Flatten ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::FlattenT *AsFlatten() const { + return type == PrimitiveType_Flatten ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::FlattenGradT *AsFlattenGrad() { + return type == PrimitiveType_FlattenGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::FlattenGradT *AsFlattenGrad() const { + return type == PrimitiveType_FlattenGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::FloorT *AsFloor() { + return type == PrimitiveType_Floor ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::FloorT *AsFloor() const { + return type == PrimitiveType_Floor ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::FloorDivT *AsFloorDiv() { + return type == PrimitiveType_FloorDiv ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::FloorDivT *AsFloorDiv() const { + return type == PrimitiveType_FloorDiv ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::FloorModT *AsFloorMod() { + return type == PrimitiveType_FloorMod ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::FloorModT *AsFloorMod() const { + return type == PrimitiveType_FloorMod ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::FillT *AsFill() { + return type == PrimitiveType_Fill ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::FillT *AsFill() const { + return type == PrimitiveType_Fill ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::FullConnectionT *AsFullConnection() { + return type == PrimitiveType_FullConnection ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::FullConnectionT *AsFullConnection() const { + return type == PrimitiveType_FullConnection ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::FusedBatchNormT *AsFusedBatchNorm() { + return type == PrimitiveType_FusedBatchNorm ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::FusedBatchNormT *AsFusedBatchNorm() const { + return type == PrimitiveType_FusedBatchNorm ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::GatherT *AsGather() { + return type == PrimitiveType_Gather ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::GatherT *AsGather() const { + return type == PrimitiveType_Gather ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::GatherNdT *AsGatherNd() { + return type == PrimitiveType_GatherNd ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::GatherNdT *AsGatherNd() const { + return type == PrimitiveType_GatherNd ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::GreaterT *AsGreater() { + return type == PrimitiveType_Greater ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::GreaterT *AsGreater() const { + return type == PrimitiveType_Greater ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::GreaterEqualT *AsGreaterEqual() { + return type == PrimitiveType_GreaterEqual ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::GreaterEqualT *AsGreaterEqual() const { + return type == PrimitiveType_GreaterEqual ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::HashtableLookupT *AsHashtableLookup() { + return type == PrimitiveType_HashtableLookup ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::HashtableLookupT *AsHashtableLookup() const { + return type == PrimitiveType_HashtableLookup ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::InstanceNormT *AsInstanceNorm() { + return type == PrimitiveType_InstanceNorm ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::InstanceNormT *AsInstanceNorm() const { + return type == PrimitiveType_InstanceNorm ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::LayerNormFusionT *AsLayerNormFusion() { + return type == PrimitiveType_LayerNormFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::LayerNormFusionT *AsLayerNormFusion() const { + return type == PrimitiveType_LayerNormFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::LeakyReluT *AsLeakyRelu() { + return type == PrimitiveType_LeakyRelu ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::LeakyReluT *AsLeakyRelu() const { + return type == PrimitiveType_LeakyRelu ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::LessT *AsLess() { + return type == PrimitiveType_Less ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::LessT *AsLess() const { + return type == PrimitiveType_Less ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::LessEqualT *AsLessEqual() { + return type == PrimitiveType_LessEqual ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::LessEqualT *AsLessEqual() const { + return type == PrimitiveType_LessEqual ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::LogT *AsLog() { + return type == PrimitiveType_Log ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::LogT *AsLog() const { + return type == PrimitiveType_Log ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::LogGradT *AsLogGrad() { + return type == PrimitiveType_LogGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::LogGradT *AsLogGrad() const { + return type == PrimitiveType_LogGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::LogicalAndT *AsLogicalAnd() { + return type == PrimitiveType_LogicalAnd ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::LogicalAndT *AsLogicalAnd() const { + return type == PrimitiveType_LogicalAnd ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::LogicalNotT *AsLogicalNot() { + return type == PrimitiveType_LogicalNot ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::LogicalNotT *AsLogicalNot() const { + return type == PrimitiveType_LogicalNot ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::LogicalOrT *AsLogicalOr() { + return type == PrimitiveType_LogicalOr ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::LogicalOrT *AsLogicalOr() const { + return type == PrimitiveType_LogicalOr ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::LpNormalizationT *AsLpNormalization() { + return type == PrimitiveType_LpNormalization ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::LpNormalizationT *AsLpNormalization() const { + return type == PrimitiveType_LpNormalization ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::LRNT *AsLRN() { + return type == PrimitiveType_LRN ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::LRNT *AsLRN() const { + return type == PrimitiveType_LRN ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::LshProjectionT *AsLshProjection() { + return type == PrimitiveType_LshProjection ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::LshProjectionT *AsLshProjection() const { + return type == PrimitiveType_LshProjection ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::LSTMT *AsLSTM() { + return type == PrimitiveType_LSTM ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::LSTMT *AsLSTM() const { + return type == PrimitiveType_LSTM ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::L2NormalizeFusionT *AsL2NormalizeFusion() { + return type == PrimitiveType_L2NormalizeFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::L2NormalizeFusionT *AsL2NormalizeFusion() const { + return type == PrimitiveType_L2NormalizeFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::MatMulFusionT *AsMatMulFusion() { + return type == PrimitiveType_MatMulFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::MatMulFusionT *AsMatMulFusion() const { + return type == PrimitiveType_MatMulFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::MaximumT *AsMaximum() { + return type == PrimitiveType_Maximum ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::MaximumT *AsMaximum() const { + return type == PrimitiveType_Maximum ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::MaximumGradT *AsMaximumGrad() { + return type == PrimitiveType_MaximumGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::MaximumGradT *AsMaximumGrad() const { + return type == PrimitiveType_MaximumGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::MaxPoolFusionT *AsMaxPoolFusion() { + return type == PrimitiveType_MaxPoolFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::MaxPoolFusionT *AsMaxPoolFusion() const { + return type == PrimitiveType_MaxPoolFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::MaxPoolGradT *AsMaxPoolGrad() { + return type == PrimitiveType_MaxPoolGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::MaxPoolGradT *AsMaxPoolGrad() const { + return type == PrimitiveType_MaxPoolGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SwitchLayerT *AsSwitchLayer() { + return type == PrimitiveType_SwitchLayer ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SwitchLayerT *AsSwitchLayer() const { + return type == PrimitiveType_SwitchLayer ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::MfccT *AsMfcc() { + return type == PrimitiveType_Mfcc ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::MfccT *AsMfcc() const { + return type == PrimitiveType_Mfcc ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::MinimumT *AsMinimum() { + return type == PrimitiveType_Minimum ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::MinimumT *AsMinimum() const { + return type == PrimitiveType_Minimum ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::MinimumGradT *AsMinimumGrad() { + return type == PrimitiveType_MinimumGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::MinimumGradT *AsMinimumGrad() const { + return type == PrimitiveType_MinimumGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ModT *AsMod() { + return type == PrimitiveType_Mod ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ModT *AsMod() const { + return type == PrimitiveType_Mod ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::MulFusionT *AsMulFusion() { + return type == PrimitiveType_MulFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::MulFusionT *AsMulFusion() const { + return type == PrimitiveType_MulFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::MulGradT *AsMulGrad() { + return type == PrimitiveType_MulGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::MulGradT *AsMulGrad() const { + return type == PrimitiveType_MulGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::NegT *AsNeg() { + return type == PrimitiveType_Neg ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::NegT *AsNeg() const { + return type == PrimitiveType_Neg ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::NegGradT *AsNegGrad() { + return type == PrimitiveType_NegGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::NegGradT *AsNegGrad() const { + return type == PrimitiveType_NegGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::NotEqualT *AsNotEqual() { + return type == PrimitiveType_NotEqual ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::NotEqualT *AsNotEqual() const { + return type == PrimitiveType_NotEqual ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::NonMaxSuppressionT *AsNonMaxSuppression() { + return type == PrimitiveType_NonMaxSuppression ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::NonMaxSuppressionT *AsNonMaxSuppression() const { + return type == PrimitiveType_NonMaxSuppression ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::OneHotT *AsOneHot() { + return type == PrimitiveType_OneHot ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::OneHotT *AsOneHot() const { + return type == PrimitiveType_OneHot ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::OnesLikeT *AsOnesLike() { + return type == PrimitiveType_OnesLike ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::OnesLikeT *AsOnesLike() const { + return type == PrimitiveType_OnesLike ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::PadFusionT *AsPadFusion() { + return type == PrimitiveType_PadFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::PadFusionT *AsPadFusion() const { + return type == PrimitiveType_PadFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::PartialFusionT *AsPartialFusion() { + return type == PrimitiveType_PartialFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::PartialFusionT *AsPartialFusion() const { + return type == PrimitiveType_PartialFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::PowerGradT *AsPowerGrad() { + return type == PrimitiveType_PowerGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::PowerGradT *AsPowerGrad() const { + return type == PrimitiveType_PowerGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::PowFusionT *AsPowFusion() { + return type == PrimitiveType_PowFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::PowFusionT *AsPowFusion() const { + return type == PrimitiveType_PowFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::PriorBoxT *AsPriorBox() { + return type == PrimitiveType_PriorBox ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::PriorBoxT *AsPriorBox() const { + return type == PrimitiveType_PriorBox ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::PReLUFusionT *AsPReLUFusion() { + return type == PrimitiveType_PReLUFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::PReLUFusionT *AsPReLUFusion() const { + return type == PrimitiveType_PReLUFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::QuantDTypeCastT *AsQuantDTypeCast() { + return type == PrimitiveType_QuantDTypeCast ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::QuantDTypeCastT *AsQuantDTypeCast() const { + return type == PrimitiveType_QuantDTypeCast ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::RankT *AsRank() { + return type == PrimitiveType_Rank ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::RankT *AsRank() const { + return type == PrimitiveType_Rank ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::RangeT *AsRange() { + return type == PrimitiveType_Range ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::RangeT *AsRange() const { + return type == PrimitiveType_Range ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ReciprocalT *AsReciprocal() { + return type == PrimitiveType_Reciprocal ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ReciprocalT *AsReciprocal() const { + return type == PrimitiveType_Reciprocal ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::RealDivT *AsRealDiv() { + return type == PrimitiveType_RealDiv ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::RealDivT *AsRealDiv() const { + return type == PrimitiveType_RealDiv ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ReduceFusionT *AsReduceFusion() { + return type == PrimitiveType_ReduceFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ReduceFusionT *AsReduceFusion() const { + return type == PrimitiveType_ReduceFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ReshapeT *AsReshape() { + return type == PrimitiveType_Reshape ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ReshapeT *AsReshape() const { + return type == PrimitiveType_Reshape ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ResizeT *AsResize() { + return type == PrimitiveType_Resize ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ResizeT *AsResize() const { + return type == PrimitiveType_Resize ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ReverseSequenceT *AsReverseSequence() { + return type == PrimitiveType_ReverseSequence ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ReverseSequenceT *AsReverseSequence() const { + return type == PrimitiveType_ReverseSequence ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ReverseV2T *AsReverseV2() { + return type == PrimitiveType_ReverseV2 ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ReverseV2T *AsReverseV2() const { + return type == PrimitiveType_ReverseV2 ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::RfftT *AsRfft() { + return type == PrimitiveType_Rfft ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::RfftT *AsRfft() const { + return type == PrimitiveType_Rfft ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ROIPoolingT *AsROIPooling() { + return type == PrimitiveType_ROIPooling ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ROIPoolingT *AsROIPooling() const { + return type == PrimitiveType_ROIPooling ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::RoundT *AsRound() { + return type == PrimitiveType_Round ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::RoundT *AsRound() const { + return type == PrimitiveType_Round ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::RsqrtT *AsRsqrt() { + return type == PrimitiveType_Rsqrt ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::RsqrtT *AsRsqrt() const { + return type == PrimitiveType_Rsqrt ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ScaleFusionT *AsScaleFusion() { + return type == PrimitiveType_ScaleFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ScaleFusionT *AsScaleFusion() const { + return type == PrimitiveType_ScaleFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ScatterNdT *AsScatterNd() { + return type == PrimitiveType_ScatterNd ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ScatterNdT *AsScatterNd() const { + return type == PrimitiveType_ScatterNd ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SGDT *AsSGD() { + return type == PrimitiveType_SGD ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SGDT *AsSGD() const { + return type == PrimitiveType_SGD ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ShapeT *AsShape() { + return type == PrimitiveType_Shape ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ShapeT *AsShape() const { + return type == PrimitiveType_Shape ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SigmoidCrossEntropyWithLogitsT *AsSigmoidCrossEntropyWithLogits() { + return type == PrimitiveType_SigmoidCrossEntropyWithLogits ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SigmoidCrossEntropyWithLogitsT *AsSigmoidCrossEntropyWithLogits() const { + return type == PrimitiveType_SigmoidCrossEntropyWithLogits ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SigmoidCrossEntropyWithLogitsGradT *AsSigmoidCrossEntropyWithLogitsGrad() { + return type == PrimitiveType_SigmoidCrossEntropyWithLogitsGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SigmoidCrossEntropyWithLogitsGradT *AsSigmoidCrossEntropyWithLogitsGrad() const { + return type == PrimitiveType_SigmoidCrossEntropyWithLogitsGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SinT *AsSin() { + return type == PrimitiveType_Sin ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SinT *AsSin() const { + return type == PrimitiveType_Sin ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SkipGramT *AsSkipGram() { + return type == PrimitiveType_SkipGram ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SkipGramT *AsSkipGram() const { + return type == PrimitiveType_SkipGram ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SliceFusionT *AsSliceFusion() { + return type == PrimitiveType_SliceFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SliceFusionT *AsSliceFusion() const { + return type == PrimitiveType_SliceFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SmoothL1LossT *AsSmoothL1Loss() { + return type == PrimitiveType_SmoothL1Loss ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SmoothL1LossT *AsSmoothL1Loss() const { + return type == PrimitiveType_SmoothL1Loss ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SmoothL1LossGradT *AsSmoothL1LossGrad() { + return type == PrimitiveType_SmoothL1LossGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SmoothL1LossGradT *AsSmoothL1LossGrad() const { + return type == PrimitiveType_SmoothL1LossGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SoftmaxT *AsSoftmax() { + return type == PrimitiveType_Softmax ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SoftmaxT *AsSoftmax() const { + return type == PrimitiveType_Softmax ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SoftmaxCrossEntropyWithLogitsT *AsSoftmaxCrossEntropyWithLogits() { + return type == PrimitiveType_SoftmaxCrossEntropyWithLogits ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SoftmaxCrossEntropyWithLogitsT *AsSoftmaxCrossEntropyWithLogits() const { + return type == PrimitiveType_SoftmaxCrossEntropyWithLogits ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SpaceToBatchT *AsSpaceToBatch() { + return type == PrimitiveType_SpaceToBatch ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SpaceToBatchT *AsSpaceToBatch() const { + return type == PrimitiveType_SpaceToBatch ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SpaceToBatchNDT *AsSpaceToBatchND() { + return type == PrimitiveType_SpaceToBatchND ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SpaceToBatchNDT *AsSpaceToBatchND() const { + return type == PrimitiveType_SpaceToBatchND ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SpaceToDepthT *AsSpaceToDepth() { + return type == PrimitiveType_SpaceToDepth ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SpaceToDepthT *AsSpaceToDepth() const { + return type == PrimitiveType_SpaceToDepth ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SparseSoftmaxCrossEntropyWithLogitsT *AsSparseSoftmaxCrossEntropyWithLogits() { + return type == PrimitiveType_SparseSoftmaxCrossEntropyWithLogits ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SparseSoftmaxCrossEntropyWithLogitsT *AsSparseSoftmaxCrossEntropyWithLogits() const { + return type == PrimitiveType_SparseSoftmaxCrossEntropyWithLogits ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SparseToDenseT *AsSparseToDense() { + return type == PrimitiveType_SparseToDense ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SparseToDenseT *AsSparseToDense() const { + return type == PrimitiveType_SparseToDense ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SplitT *AsSplit() { + return type == PrimitiveType_Split ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SplitT *AsSplit() const { + return type == PrimitiveType_Split ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SqrtT *AsSqrt() { + return type == PrimitiveType_Sqrt ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SqrtT *AsSqrt() const { + return type == PrimitiveType_Sqrt ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SqueezeT *AsSqueeze() { + return type == PrimitiveType_Squeeze ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SqueezeT *AsSqueeze() const { + return type == PrimitiveType_Squeeze ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SquareT *AsSquare() { + return type == PrimitiveType_Square ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SquareT *AsSquare() const { + return type == PrimitiveType_Square ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SquaredDifferenceT *AsSquaredDifference() { + return type == PrimitiveType_SquaredDifference ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SquaredDifferenceT *AsSquaredDifference() const { + return type == PrimitiveType_SquaredDifference ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::StackT *AsStack() { + return type == PrimitiveType_Stack ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::StackT *AsStack() const { + return type == PrimitiveType_Stack ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::StridedSliceT *AsStridedSlice() { + return type == PrimitiveType_StridedSlice ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::StridedSliceT *AsStridedSlice() const { + return type == PrimitiveType_StridedSlice ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SubFusionT *AsSubFusion() { + return type == PrimitiveType_SubFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SubFusionT *AsSubFusion() const { + return type == PrimitiveType_SubFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SubGradT *AsSubGrad() { + return type == PrimitiveType_SubGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SubGradT *AsSubGrad() const { + return type == PrimitiveType_SubGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SwitchT *AsSwitch() { + return type == PrimitiveType_Switch ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SwitchT *AsSwitch() const { + return type == PrimitiveType_Switch ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::TensorListFromTensorT *AsTensorListFromTensor() { + return type == PrimitiveType_TensorListFromTensor ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::TensorListFromTensorT *AsTensorListFromTensor() const { + return type == PrimitiveType_TensorListFromTensor ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::TensorListGetItemT *AsTensorListGetItem() { + return type == PrimitiveType_TensorListGetItem ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::TensorListGetItemT *AsTensorListGetItem() const { + return type == PrimitiveType_TensorListGetItem ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::TensorListReserveT *AsTensorListReserve() { + return type == PrimitiveType_TensorListReserve ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::TensorListReserveT *AsTensorListReserve() const { + return type == PrimitiveType_TensorListReserve ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::TensorListSetItemT *AsTensorListSetItem() { + return type == PrimitiveType_TensorListSetItem ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::TensorListSetItemT *AsTensorListSetItem() const { + return type == PrimitiveType_TensorListSetItem ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::TensorListStackT *AsTensorListStack() { + return type == PrimitiveType_TensorListStack ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::TensorListStackT *AsTensorListStack() const { + return type == PrimitiveType_TensorListStack ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::TileFusionT *AsTileFusion() { + return type == PrimitiveType_TileFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::TileFusionT *AsTileFusion() const { + return type == PrimitiveType_TileFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::TopKFusionT *AsTopKFusion() { + return type == PrimitiveType_TopKFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::TopKFusionT *AsTopKFusion() const { + return type == PrimitiveType_TopKFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::TransposeT *AsTranspose() { + return type == PrimitiveType_Transpose ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::TransposeT *AsTranspose() const { + return type == PrimitiveType_Transpose ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::UniqueT *AsUnique() { + return type == PrimitiveType_Unique ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::UniqueT *AsUnique() const { + return type == PrimitiveType_Unique ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::UnsortedSegmentSumT *AsUnsortedSegmentSum() { + return type == PrimitiveType_UnsortedSegmentSum ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::UnsortedSegmentSumT *AsUnsortedSegmentSum() const { + return type == PrimitiveType_UnsortedSegmentSum ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::UnsqueezeT *AsUnsqueeze() { + return type == PrimitiveType_Unsqueeze ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::UnsqueezeT *AsUnsqueeze() const { + return type == PrimitiveType_Unsqueeze ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::UnstackT *AsUnstack() { + return type == PrimitiveType_Unstack ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::UnstackT *AsUnstack() const { + return type == PrimitiveType_Unstack ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::LSTMGradT *AsLSTMGrad() { + return type == PrimitiveType_LSTMGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::LSTMGradT *AsLSTMGrad() const { + return type == PrimitiveType_LSTMGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::WhereT *AsWhere() { + return type == PrimitiveType_Where ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::WhereT *AsWhere() const { + return type == PrimitiveType_Where ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ZerosLikeT *AsZerosLike() { + return type == PrimitiveType_ZerosLike ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ZerosLikeT *AsZerosLike() const { + return type == PrimitiveType_ZerosLike ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SelectT *AsSelect() { + return type == PrimitiveType_Select ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SelectT *AsSelect() const { + return type == PrimitiveType_Select ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ScatterNdUpdateT *AsScatterNdUpdate() { + return type == PrimitiveType_ScatterNdUpdate ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ScatterNdUpdateT *AsScatterNdUpdate() const { + return type == PrimitiveType_ScatterNdUpdate ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::GRUT *AsGRU() { + return type == PrimitiveType_GRU ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::GRUT *AsGRU() const { + return type == PrimitiveType_GRU ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::NonZeroT *AsNonZero() { + return type == PrimitiveType_NonZero ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::NonZeroT *AsNonZero() const { + return type == PrimitiveType_NonZero ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::InvertPermutationT *AsInvertPermutation() { + return type == PrimitiveType_InvertPermutation ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::InvertPermutationT *AsInvertPermutation() const { + return type == PrimitiveType_InvertPermutation ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SizeT *AsSize() { + return type == PrimitiveType_Size ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SizeT *AsSize() const { + return type == PrimitiveType_Size ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::RandomStandardNormalT *AsRandomStandardNormal() { + return type == PrimitiveType_RandomStandardNormal ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::RandomStandardNormalT *AsRandomStandardNormal() const { + return type == PrimitiveType_RandomStandardNormal ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::CropAndResizeT *AsCropAndResize() { + return type == PrimitiveType_CropAndResize ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::CropAndResizeT *AsCropAndResize() const { + return type == PrimitiveType_CropAndResize ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ErfT *AsErf() { + return type == PrimitiveType_Erf ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ErfT *AsErf() const { + return type == PrimitiveType_Erf ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::StridedSliceGradT *AsStridedSliceGrad() { + return type == PrimitiveType_StridedSliceGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::StridedSliceGradT *AsStridedSliceGrad() const { + return type == PrimitiveType_StridedSliceGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::IsFiniteT *AsIsFinite() { + return type == PrimitiveType_IsFinite ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::IsFiniteT *AsIsFinite() const { + return type == PrimitiveType_IsFinite ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::LinSpaceT *AsLinSpace() { + return type == PrimitiveType_LinSpace ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::LinSpaceT *AsLinSpace() const { + return type == PrimitiveType_LinSpace ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::UniformRealT *AsUniformReal() { + return type == PrimitiveType_UniformReal ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::UniformRealT *AsUniformReal() const { + return type == PrimitiveType_UniformReal ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::AbsGradT *AsAbsGrad() { + return type == PrimitiveType_AbsGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::AbsGradT *AsAbsGrad() const { + return type == PrimitiveType_AbsGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::RsqrtGradT *AsRsqrtGrad() { + return type == PrimitiveType_RsqrtGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::RsqrtGradT *AsRsqrtGrad() const { + return type == PrimitiveType_RsqrtGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SqrtGradT *AsSqrtGrad() { + return type == PrimitiveType_SqrtGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SqrtGradT *AsSqrtGrad() const { + return type == PrimitiveType_SqrtGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::LayerNormGradT *AsLayerNormGrad() { + return type == PrimitiveType_LayerNormGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::LayerNormGradT *AsLayerNormGrad() const { + return type == PrimitiveType_LayerNormGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ResizeGradT *AsResizeGrad() { + return type == PrimitiveType_ResizeGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ResizeGradT *AsResizeGrad() const { + return type == PrimitiveType_ResizeGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SpliceT *AsSplice() { + return type == PrimitiveType_Splice ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SpliceT *AsSplice() const { + return type == PrimitiveType_Splice ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::LogSoftmaxT *AsLogSoftmax() { + return type == PrimitiveType_LogSoftmax ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::LogSoftmaxT *AsLogSoftmax() const { + return type == PrimitiveType_LogSoftmax ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::CallT *AsCall() { + return type == PrimitiveType_Call ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::CallT *AsCall() const { + return type == PrimitiveType_Call ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::CustomT *AsCustom() { + return type == PrimitiveType_Custom ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::CustomT *AsCustom() const { + return type == PrimitiveType_Custom ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::CumSumT *AsCumSum() { + return type == PrimitiveType_CumSum ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::CumSumT *AsCumSum() const { + return type == PrimitiveType_CumSum ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SplitWithOverlapT *AsSplitWithOverlap() { + return type == PrimitiveType_SplitWithOverlap ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SplitWithOverlapT *AsSplitWithOverlap() const { + return type == PrimitiveType_SplitWithOverlap ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::GenOPT *AsGenOP() { + return type == PrimitiveType_GenOP ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::GenOPT *AsGenOP() const { + return type == PrimitiveType_GenOP ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::RaggedRangeT *AsRaggedRange() { + return type == PrimitiveType_RaggedRange ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::RaggedRangeT *AsRaggedRange() const { + return type == PrimitiveType_RaggedRange ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::GLUT *AsGLU() { + return type == PrimitiveType_GLU ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::GLUT *AsGLU() const { + return type == PrimitiveType_GLU ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::TensorArrayT *AsTensorArray() { + return type == PrimitiveType_TensorArray ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::TensorArrayT *AsTensorArray() const { + return type == PrimitiveType_TensorArray ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::TensorArrayReadT *AsTensorArrayRead() { + return type == PrimitiveType_TensorArrayRead ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::TensorArrayReadT *AsTensorArrayRead() const { + return type == PrimitiveType_TensorArrayRead ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::TensorArrayWriteT *AsTensorArrayWrite() { + return type == PrimitiveType_TensorArrayWrite ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::TensorArrayWriteT *AsTensorArrayWrite() const { + return type == PrimitiveType_TensorArrayWrite ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::AffineT *AsAffine() { + return type == PrimitiveType_Affine ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::AffineT *AsAffine() const { + return type == PrimitiveType_Affine ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::AllGatherT *AsAllGather() { + return type == PrimitiveType_AllGather ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::AllGatherT *AsAllGather() const { + return type == PrimitiveType_AllGather ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ReduceScatterT *AsReduceScatter() { + return type == PrimitiveType_ReduceScatter ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ReduceScatterT *AsReduceScatter() const { + return type == PrimitiveType_ReduceScatter ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::DynamicQuantT *AsDynamicQuant() { + return type == PrimitiveType_DynamicQuant ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::DynamicQuantT *AsDynamicQuant() const { + return type == PrimitiveType_DynamicQuant ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::LSTMGradDataT *AsLSTMGradData() { + return type == PrimitiveType_LSTMGradData ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::LSTMGradDataT *AsLSTMGradData() const { + return type == PrimitiveType_LSTMGradData ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::LSTMGradWeightT *AsLSTMGradWeight() { + return type == PrimitiveType_LSTMGradWeight ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::LSTMGradWeightT *AsLSTMGradWeight() const { + return type == PrimitiveType_LSTMGradWeight ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::RandomNormalT *AsRandomNormal() { + return type == PrimitiveType_RandomNormal ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::RandomNormalT *AsRandomNormal() const { + return type == PrimitiveType_RandomNormal ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::NLLLossT *AsNLLLoss() { + return type == PrimitiveType_NLLLoss ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::NLLLossT *AsNLLLoss() const { + return type == PrimitiveType_NLLLoss ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::NLLLossGradT *AsNLLLossGrad() { + return type == PrimitiveType_NLLLossGrad ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::NLLLossGradT *AsNLLLossGrad() const { + return type == PrimitiveType_NLLLossGrad ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::FormatTransposeT *AsFormatTranspose() { + return type == PrimitiveType_FormatTranspose ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::FormatTransposeT *AsFormatTranspose() const { + return type == PrimitiveType_FormatTranspose ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::GatherDT *AsGatherD() { + return type == PrimitiveType_GatherD ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::GatherDT *AsGatherD() const { + return type == PrimitiveType_GatherD ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::GroupNormFusionT *AsGroupNormFusion() { + return type == PrimitiveType_GroupNormFusion ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::GroupNormFusionT *AsGroupNormFusion() const { + return type == PrimitiveType_GroupNormFusion ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::Log1pT *AsLog1p() { + return type == PrimitiveType_Log1p ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::Log1pT *AsLog1p() const { + return type == PrimitiveType_Log1p ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::TensorScatterAddT *AsTensorScatterAdd() { + return type == PrimitiveType_TensorScatterAdd ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::TensorScatterAddT *AsTensorScatterAdd() const { + return type == PrimitiveType_TensorScatterAdd ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SparseFillEmptyRowsT *AsSparseFillEmptyRows() { + return type == PrimitiveType_SparseFillEmptyRows ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SparseFillEmptyRowsT *AsSparseFillEmptyRows() const { + return type == PrimitiveType_SparseFillEmptyRows ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SparseReshapeT *AsSparseReshape() { + return type == PrimitiveType_SparseReshape ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SparseReshapeT *AsSparseReshape() const { + return type == PrimitiveType_SparseReshape ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::SparseSegmentSumT *AsSparseSegmentSum() { + return type == PrimitiveType_SparseSegmentSum ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::SparseSegmentSumT *AsSparseSegmentSum() const { + return type == PrimitiveType_SparseSegmentSum ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::ScatterElementsT *AsScatterElements() { + return type == PrimitiveType_ScatterElements ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::ScatterElementsT *AsScatterElements() const { + return type == PrimitiveType_ScatterElements ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::TriuT *AsTriu() { + return type == PrimitiveType_Triu ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::TriuT *AsTriu() const { + return type == PrimitiveType_Triu ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::TrilT *AsTril() { + return type == PrimitiveType_Tril ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::TrilT *AsTril() const { + return type == PrimitiveType_Tril ? + reinterpret_cast(value) : nullptr; + } + mindspore::schema::AdamWeightDecayT *AsAdamWeightDecay() { + return type == PrimitiveType_AdamWeightDecay ? + reinterpret_cast(value) : nullptr; + } + const mindspore::schema::AdamWeightDecayT *AsAdamWeightDecay() const { + return type == PrimitiveType_AdamWeightDecay ? + reinterpret_cast(value) : nullptr; + } +}; + +bool VerifyPrimitiveType(flatbuffers::Verifier &verifier, const void *obj, PrimitiveType type); +bool VerifyPrimitiveTypeVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types); + +struct AbsT : public flatbuffers::NativeTable { + typedef Abs TableType; +}; + +struct Abs FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AbsT NativeTableType; + typedef AbsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return AbsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + AbsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(AbsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const AbsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct AbsBuilder { + typedef Abs Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit AbsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAbs( + flatbuffers::FlatBufferBuilder &_fbb) { + AbsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateAbs(flatbuffers::FlatBufferBuilder &_fbb, const AbsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ActivationT : public flatbuffers::NativeTable { + typedef Activation TableType; + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION; + float alpha = 0.0f; + float min_val = 0.0f; + float max_val = 0.0f; + bool approximate = false; +}; + +struct Activation FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ActivationT NativeTableType; + typedef ActivationBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ActivationTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ACTIVATION_TYPE = 4, + VT_ALPHA = 6, + VT_MIN_VAL = 8, + VT_MAX_VAL = 10, + VT_APPROXIMATE = 12 + }; + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + bool mutate_activation_type(mindspore::schema::ActivationType _activation_type) { + return SetField(VT_ACTIVATION_TYPE, static_cast(_activation_type), 0); + } + float alpha() const { + return GetField(VT_ALPHA, 0.0f); + } + bool mutate_alpha(float _alpha) { + return SetField(VT_ALPHA, _alpha, 0.0f); + } + float min_val() const { + return GetField(VT_MIN_VAL, 0.0f); + } + bool mutate_min_val(float _min_val) { + return SetField(VT_MIN_VAL, _min_val, 0.0f); + } + float max_val() const { + return GetField(VT_MAX_VAL, 0.0f); + } + bool mutate_max_val(float _max_val) { + return SetField(VT_MAX_VAL, _max_val, 0.0f); + } + bool approximate() const { + return GetField(VT_APPROXIMATE, 0) != 0; + } + bool mutate_approximate(bool _approximate) { + return SetField(VT_APPROXIMATE, static_cast(_approximate), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + VerifyField(verifier, VT_ALPHA) && + VerifyField(verifier, VT_MIN_VAL) && + VerifyField(verifier, VT_MAX_VAL) && + VerifyField(verifier, VT_APPROXIMATE) && + verifier.EndTable(); + } + ActivationT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ActivationT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ActivationT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ActivationBuilder { + typedef Activation Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(Activation::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + void add_alpha(float alpha) { + fbb_.AddElement(Activation::VT_ALPHA, alpha, 0.0f); + } + void add_min_val(float min_val) { + fbb_.AddElement(Activation::VT_MIN_VAL, min_val, 0.0f); + } + void add_max_val(float max_val) { + fbb_.AddElement(Activation::VT_MAX_VAL, max_val, 0.0f); + } + void add_approximate(bool approximate) { + fbb_.AddElement(Activation::VT_APPROXIMATE, static_cast(approximate), 0); + } + explicit ActivationBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateActivation( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION, + float alpha = 0.0f, + float min_val = 0.0f, + float max_val = 0.0f, + bool approximate = false) { + ActivationBuilder builder_(_fbb); + builder_.add_max_val(max_val); + builder_.add_min_val(min_val); + builder_.add_alpha(alpha); + builder_.add_approximate(approximate); + builder_.add_activation_type(activation_type); + return builder_.Finish(); +} + +flatbuffers::Offset CreateActivation(flatbuffers::FlatBufferBuilder &_fbb, const ActivationT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ActivationGradT : public flatbuffers::NativeTable { + typedef ActivationGrad TableType; + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION; + float alpha = 0.0f; +}; + +struct ActivationGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ActivationGradT NativeTableType; + typedef ActivationGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ActivationGradTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ACTIVATION_TYPE = 4, + VT_ALPHA = 6 + }; + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + bool mutate_activation_type(mindspore::schema::ActivationType _activation_type) { + return SetField(VT_ACTIVATION_TYPE, static_cast(_activation_type), 0); + } + float alpha() const { + return GetField(VT_ALPHA, 0.0f); + } + bool mutate_alpha(float _alpha) { + return SetField(VT_ALPHA, _alpha, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + VerifyField(verifier, VT_ALPHA) && + verifier.EndTable(); + } + ActivationGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ActivationGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ActivationGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ActivationGradBuilder { + typedef ActivationGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(ActivationGrad::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + void add_alpha(float alpha) { + fbb_.AddElement(ActivationGrad::VT_ALPHA, alpha, 0.0f); + } + explicit ActivationGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateActivationGrad( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION, + float alpha = 0.0f) { + ActivationGradBuilder builder_(_fbb); + builder_.add_alpha(alpha); + builder_.add_activation_type(activation_type); + return builder_.Finish(); +} + +flatbuffers::Offset CreateActivationGrad(flatbuffers::FlatBufferBuilder &_fbb, const ActivationGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct AdamT : public flatbuffers::NativeTable { + typedef Adam TableType; + bool use_locking = false; + bool use_nesterov = false; +}; + +struct Adam FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AdamT NativeTableType; + typedef AdamBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return AdamTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_USE_LOCKING = 4, + VT_USE_NESTEROV = 6 + }; + bool use_locking() const { + return GetField(VT_USE_LOCKING, 0) != 0; + } + bool mutate_use_locking(bool _use_locking) { + return SetField(VT_USE_LOCKING, static_cast(_use_locking), 0); + } + bool use_nesterov() const { + return GetField(VT_USE_NESTEROV, 0) != 0; + } + bool mutate_use_nesterov(bool _use_nesterov) { + return SetField(VT_USE_NESTEROV, static_cast(_use_nesterov), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_USE_LOCKING) && + VerifyField(verifier, VT_USE_NESTEROV) && + verifier.EndTable(); + } + AdamT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(AdamT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const AdamT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct AdamBuilder { + typedef Adam Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_use_locking(bool use_locking) { + fbb_.AddElement(Adam::VT_USE_LOCKING, static_cast(use_locking), 0); + } + void add_use_nesterov(bool use_nesterov) { + fbb_.AddElement(Adam::VT_USE_NESTEROV, static_cast(use_nesterov), 0); + } + explicit AdamBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAdam( + flatbuffers::FlatBufferBuilder &_fbb, + bool use_locking = false, + bool use_nesterov = false) { + AdamBuilder builder_(_fbb); + builder_.add_use_nesterov(use_nesterov); + builder_.add_use_locking(use_locking); + return builder_.Finish(); +} + +flatbuffers::Offset CreateAdam(flatbuffers::FlatBufferBuilder &_fbb, const AdamT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct AddFusionT : public flatbuffers::NativeTable { + typedef AddFusion TableType; + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION; +}; + +struct AddFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AddFusionT NativeTableType; + typedef AddFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return AddFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ACTIVATION_TYPE = 4 + }; + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + bool mutate_activation_type(mindspore::schema::ActivationType _activation_type) { + return SetField(VT_ACTIVATION_TYPE, static_cast(_activation_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + verifier.EndTable(); + } + AddFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(AddFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const AddFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct AddFusionBuilder { + typedef AddFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(AddFusion::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + explicit AddFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAddFusion( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + AddFusionBuilder builder_(_fbb); + builder_.add_activation_type(activation_type); + return builder_.Finish(); +} + +flatbuffers::Offset CreateAddFusion(flatbuffers::FlatBufferBuilder &_fbb, const AddFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct AdderFusionT : public flatbuffers::NativeTable { + typedef AdderFusion TableType; + mindspore::schema::Format format = mindspore::schema::Format_NCHW; + std::vector kernel_size{}; + std::vector stride{}; + std::vector dilation{}; + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD; + std::vector pad_list{}; + int64_t group = 0; + int64_t in_channel = 0; + int64_t out_channel = 0; + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION; +}; + +struct AdderFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AdderFusionT NativeTableType; + typedef AdderFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return AdderFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FORMAT = 4, + VT_KERNEL_SIZE = 6, + VT_STRIDE = 8, + VT_DILATION = 10, + VT_PAD_MODE = 12, + VT_PAD_LIST = 14, + VT_GROUP = 16, + VT_IN_CHANNEL = 18, + VT_OUT_CHANNEL = 20, + VT_ACTIVATION_TYPE = 22 + }; + mindspore::schema::Format format() const { + return static_cast(GetField(VT_FORMAT, 0)); + } + bool mutate_format(mindspore::schema::Format _format) { + return SetField(VT_FORMAT, static_cast(_format), 0); + } + const flatbuffers::Vector *kernel_size() const { + return GetPointer *>(VT_KERNEL_SIZE); + } + flatbuffers::Vector *mutable_kernel_size() { + return GetPointer *>(VT_KERNEL_SIZE); + } + const flatbuffers::Vector *stride() const { + return GetPointer *>(VT_STRIDE); + } + flatbuffers::Vector *mutable_stride() { + return GetPointer *>(VT_STRIDE); + } + const flatbuffers::Vector *dilation() const { + return GetPointer *>(VT_DILATION); + } + flatbuffers::Vector *mutable_dilation() { + return GetPointer *>(VT_DILATION); + } + mindspore::schema::PadMode pad_mode() const { + return static_cast(GetField(VT_PAD_MODE, 0)); + } + bool mutate_pad_mode(mindspore::schema::PadMode _pad_mode) { + return SetField(VT_PAD_MODE, static_cast(_pad_mode), 0); + } + const flatbuffers::Vector *pad_list() const { + return GetPointer *>(VT_PAD_LIST); + } + flatbuffers::Vector *mutable_pad_list() { + return GetPointer *>(VT_PAD_LIST); + } + int64_t group() const { + return GetField(VT_GROUP, 0); + } + bool mutate_group(int64_t _group) { + return SetField(VT_GROUP, _group, 0); + } + int64_t in_channel() const { + return GetField(VT_IN_CHANNEL, 0); + } + bool mutate_in_channel(int64_t _in_channel) { + return SetField(VT_IN_CHANNEL, _in_channel, 0); + } + int64_t out_channel() const { + return GetField(VT_OUT_CHANNEL, 0); + } + bool mutate_out_channel(int64_t _out_channel) { + return SetField(VT_OUT_CHANNEL, _out_channel, 0); + } + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + bool mutate_activation_type(mindspore::schema::ActivationType _activation_type) { + return SetField(VT_ACTIVATION_TYPE, static_cast(_activation_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FORMAT) && + VerifyOffset(verifier, VT_KERNEL_SIZE) && + verifier.VerifyVector(kernel_size()) && + VerifyOffset(verifier, VT_STRIDE) && + verifier.VerifyVector(stride()) && + VerifyOffset(verifier, VT_DILATION) && + verifier.VerifyVector(dilation()) && + VerifyField(verifier, VT_PAD_MODE) && + VerifyOffset(verifier, VT_PAD_LIST) && + verifier.VerifyVector(pad_list()) && + VerifyField(verifier, VT_GROUP) && + VerifyField(verifier, VT_IN_CHANNEL) && + VerifyField(verifier, VT_OUT_CHANNEL) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + verifier.EndTable(); + } + AdderFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(AdderFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const AdderFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct AdderFusionBuilder { + typedef AdderFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_format(mindspore::schema::Format format) { + fbb_.AddElement(AdderFusion::VT_FORMAT, static_cast(format), 0); + } + void add_kernel_size(flatbuffers::Offset> kernel_size) { + fbb_.AddOffset(AdderFusion::VT_KERNEL_SIZE, kernel_size); + } + void add_stride(flatbuffers::Offset> stride) { + fbb_.AddOffset(AdderFusion::VT_STRIDE, stride); + } + void add_dilation(flatbuffers::Offset> dilation) { + fbb_.AddOffset(AdderFusion::VT_DILATION, dilation); + } + void add_pad_mode(mindspore::schema::PadMode pad_mode) { + fbb_.AddElement(AdderFusion::VT_PAD_MODE, static_cast(pad_mode), 0); + } + void add_pad_list(flatbuffers::Offset> pad_list) { + fbb_.AddOffset(AdderFusion::VT_PAD_LIST, pad_list); + } + void add_group(int64_t group) { + fbb_.AddElement(AdderFusion::VT_GROUP, group, 0); + } + void add_in_channel(int64_t in_channel) { + fbb_.AddElement(AdderFusion::VT_IN_CHANNEL, in_channel, 0); + } + void add_out_channel(int64_t out_channel) { + fbb_.AddElement(AdderFusion::VT_OUT_CHANNEL, out_channel, 0); + } + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(AdderFusion::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + explicit AdderFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAdderFusion( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + flatbuffers::Offset> kernel_size = 0, + flatbuffers::Offset> stride = 0, + flatbuffers::Offset> dilation = 0, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + flatbuffers::Offset> pad_list = 0, + int64_t group = 0, + int64_t in_channel = 0, + int64_t out_channel = 0, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + AdderFusionBuilder builder_(_fbb); + builder_.add_out_channel(out_channel); + builder_.add_in_channel(in_channel); + builder_.add_group(group); + builder_.add_pad_list(pad_list); + builder_.add_dilation(dilation); + builder_.add_stride(stride); + builder_.add_kernel_size(kernel_size); + builder_.add_format(format); + builder_.add_activation_type(activation_type); + builder_.add_pad_mode(pad_mode); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateAdderFusionDirect( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + const std::vector *kernel_size = nullptr, + const std::vector *stride = nullptr, + const std::vector *dilation = nullptr, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + const std::vector *pad_list = nullptr, + int64_t group = 0, + int64_t in_channel = 0, + int64_t out_channel = 0, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + auto kernel_size__ = kernel_size ? _fbb.CreateVector(*kernel_size) : 0; + auto stride__ = stride ? _fbb.CreateVector(*stride) : 0; + auto dilation__ = dilation ? _fbb.CreateVector(*dilation) : 0; + auto pad_list__ = pad_list ? _fbb.CreateVector(*pad_list) : 0; + return mindspore::schema::CreateAdderFusion( + _fbb, + format, + kernel_size__, + stride__, + dilation__, + pad_mode, + pad_list__, + group, + in_channel, + out_channel, + activation_type); +} + +flatbuffers::Offset CreateAdderFusion(flatbuffers::FlatBufferBuilder &_fbb, const AdderFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct AddGradT : public flatbuffers::NativeTable { + typedef AddGrad TableType; +}; + +struct AddGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AddGradT NativeTableType; + typedef AddGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return AddGradTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + AddGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(AddGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const AddGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct AddGradBuilder { + typedef AddGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit AddGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAddGrad( + flatbuffers::FlatBufferBuilder &_fbb) { + AddGradBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateAddGrad(flatbuffers::FlatBufferBuilder &_fbb, const AddGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct AddNT : public flatbuffers::NativeTable { + typedef AddN TableType; +}; + +struct AddN FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AddNT NativeTableType; + typedef AddNBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return AddNTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + AddNT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(AddNT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const AddNT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct AddNBuilder { + typedef AddN Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit AddNBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAddN( + flatbuffers::FlatBufferBuilder &_fbb) { + AddNBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateAddN(flatbuffers::FlatBufferBuilder &_fbb, const AddNT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct AllT : public flatbuffers::NativeTable { + typedef All TableType; + int64_t keep_dims = 0; +}; + +struct All FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AllT NativeTableType; + typedef AllBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return AllTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_KEEP_DIMS = 4 + }; + int64_t keep_dims() const { + return GetField(VT_KEEP_DIMS, 0); + } + bool mutate_keep_dims(int64_t _keep_dims) { + return SetField(VT_KEEP_DIMS, _keep_dims, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_KEEP_DIMS) && + verifier.EndTable(); + } + AllT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(AllT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const AllT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct AllBuilder { + typedef All Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_keep_dims(int64_t keep_dims) { + fbb_.AddElement(All::VT_KEEP_DIMS, keep_dims, 0); + } + explicit AllBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAll( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t keep_dims = 0) { + AllBuilder builder_(_fbb); + builder_.add_keep_dims(keep_dims); + return builder_.Finish(); +} + +flatbuffers::Offset CreateAll(flatbuffers::FlatBufferBuilder &_fbb, const AllT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ApplyMomentumT : public flatbuffers::NativeTable { + typedef ApplyMomentum TableType; + bool use_nesterov = false; + bool use_locking = false; + float gradient_scale = 0.0f; +}; + +struct ApplyMomentum FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ApplyMomentumT NativeTableType; + typedef ApplyMomentumBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ApplyMomentumTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_USE_NESTEROV = 4, + VT_USE_LOCKING = 6, + VT_GRADIENT_SCALE = 8 + }; + bool use_nesterov() const { + return GetField(VT_USE_NESTEROV, 0) != 0; + } + bool mutate_use_nesterov(bool _use_nesterov) { + return SetField(VT_USE_NESTEROV, static_cast(_use_nesterov), 0); + } + bool use_locking() const { + return GetField(VT_USE_LOCKING, 0) != 0; + } + bool mutate_use_locking(bool _use_locking) { + return SetField(VT_USE_LOCKING, static_cast(_use_locking), 0); + } + float gradient_scale() const { + return GetField(VT_GRADIENT_SCALE, 0.0f); + } + bool mutate_gradient_scale(float _gradient_scale) { + return SetField(VT_GRADIENT_SCALE, _gradient_scale, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_USE_NESTEROV) && + VerifyField(verifier, VT_USE_LOCKING) && + VerifyField(verifier, VT_GRADIENT_SCALE) && + verifier.EndTable(); + } + ApplyMomentumT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ApplyMomentumT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ApplyMomentumT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ApplyMomentumBuilder { + typedef ApplyMomentum Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_use_nesterov(bool use_nesterov) { + fbb_.AddElement(ApplyMomentum::VT_USE_NESTEROV, static_cast(use_nesterov), 0); + } + void add_use_locking(bool use_locking) { + fbb_.AddElement(ApplyMomentum::VT_USE_LOCKING, static_cast(use_locking), 0); + } + void add_gradient_scale(float gradient_scale) { + fbb_.AddElement(ApplyMomentum::VT_GRADIENT_SCALE, gradient_scale, 0.0f); + } + explicit ApplyMomentumBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateApplyMomentum( + flatbuffers::FlatBufferBuilder &_fbb, + bool use_nesterov = false, + bool use_locking = false, + float gradient_scale = 0.0f) { + ApplyMomentumBuilder builder_(_fbb); + builder_.add_gradient_scale(gradient_scale); + builder_.add_use_locking(use_locking); + builder_.add_use_nesterov(use_nesterov); + return builder_.Finish(); +} + +flatbuffers::Offset CreateApplyMomentum(flatbuffers::FlatBufferBuilder &_fbb, const ApplyMomentumT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ArgMaxFusionT : public flatbuffers::NativeTable { + typedef ArgMaxFusion TableType; + int64_t axis = 0; + int64_t top_k = 1LL; + bool keep_dims = false; + bool out_max_value = false; +}; + +struct ArgMaxFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ArgMaxFusionT NativeTableType; + typedef ArgMaxFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ArgMaxFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4, + VT_TOP_K = 6, + VT_KEEP_DIMS = 8, + VT_OUT_MAX_VALUE = 10 + }; + int64_t axis() const { + return GetField(VT_AXIS, 0); + } + bool mutate_axis(int64_t _axis) { + return SetField(VT_AXIS, _axis, 0); + } + int64_t top_k() const { + return GetField(VT_TOP_K, 1LL); + } + bool mutate_top_k(int64_t _top_k) { + return SetField(VT_TOP_K, _top_k, 1LL); + } + bool keep_dims() const { + return GetField(VT_KEEP_DIMS, 0) != 0; + } + bool mutate_keep_dims(bool _keep_dims) { + return SetField(VT_KEEP_DIMS, static_cast(_keep_dims), 0); + } + bool out_max_value() const { + return GetField(VT_OUT_MAX_VALUE, 0) != 0; + } + bool mutate_out_max_value(bool _out_max_value) { + return SetField(VT_OUT_MAX_VALUE, static_cast(_out_max_value), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_AXIS) && + VerifyField(verifier, VT_TOP_K) && + VerifyField(verifier, VT_KEEP_DIMS) && + VerifyField(verifier, VT_OUT_MAX_VALUE) && + verifier.EndTable(); + } + ArgMaxFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ArgMaxFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ArgMaxFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ArgMaxFusionBuilder { + typedef ArgMaxFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(int64_t axis) { + fbb_.AddElement(ArgMaxFusion::VT_AXIS, axis, 0); + } + void add_top_k(int64_t top_k) { + fbb_.AddElement(ArgMaxFusion::VT_TOP_K, top_k, 1LL); + } + void add_keep_dims(bool keep_dims) { + fbb_.AddElement(ArgMaxFusion::VT_KEEP_DIMS, static_cast(keep_dims), 0); + } + void add_out_max_value(bool out_max_value) { + fbb_.AddElement(ArgMaxFusion::VT_OUT_MAX_VALUE, static_cast(out_max_value), 0); + } + explicit ArgMaxFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateArgMaxFusion( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t axis = 0, + int64_t top_k = 1LL, + bool keep_dims = false, + bool out_max_value = false) { + ArgMaxFusionBuilder builder_(_fbb); + builder_.add_top_k(top_k); + builder_.add_axis(axis); + builder_.add_out_max_value(out_max_value); + builder_.add_keep_dims(keep_dims); + return builder_.Finish(); +} + +flatbuffers::Offset CreateArgMaxFusion(flatbuffers::FlatBufferBuilder &_fbb, const ArgMaxFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ArgMinFusionT : public flatbuffers::NativeTable { + typedef ArgMinFusion TableType; + int64_t axis = 0; + int64_t top_k = 0; + bool keep_dims = false; + bool out_max_value = false; +}; + +struct ArgMinFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ArgMinFusionT NativeTableType; + typedef ArgMinFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ArgMinFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4, + VT_TOP_K = 6, + VT_KEEP_DIMS = 8, + VT_OUT_MAX_VALUE = 10 + }; + int64_t axis() const { + return GetField(VT_AXIS, 0); + } + bool mutate_axis(int64_t _axis) { + return SetField(VT_AXIS, _axis, 0); + } + int64_t top_k() const { + return GetField(VT_TOP_K, 0); + } + bool mutate_top_k(int64_t _top_k) { + return SetField(VT_TOP_K, _top_k, 0); + } + bool keep_dims() const { + return GetField(VT_KEEP_DIMS, 0) != 0; + } + bool mutate_keep_dims(bool _keep_dims) { + return SetField(VT_KEEP_DIMS, static_cast(_keep_dims), 0); + } + bool out_max_value() const { + return GetField(VT_OUT_MAX_VALUE, 0) != 0; + } + bool mutate_out_max_value(bool _out_max_value) { + return SetField(VT_OUT_MAX_VALUE, static_cast(_out_max_value), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_AXIS) && + VerifyField(verifier, VT_TOP_K) && + VerifyField(verifier, VT_KEEP_DIMS) && + VerifyField(verifier, VT_OUT_MAX_VALUE) && + verifier.EndTable(); + } + ArgMinFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ArgMinFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ArgMinFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ArgMinFusionBuilder { + typedef ArgMinFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(int64_t axis) { + fbb_.AddElement(ArgMinFusion::VT_AXIS, axis, 0); + } + void add_top_k(int64_t top_k) { + fbb_.AddElement(ArgMinFusion::VT_TOP_K, top_k, 0); + } + void add_keep_dims(bool keep_dims) { + fbb_.AddElement(ArgMinFusion::VT_KEEP_DIMS, static_cast(keep_dims), 0); + } + void add_out_max_value(bool out_max_value) { + fbb_.AddElement(ArgMinFusion::VT_OUT_MAX_VALUE, static_cast(out_max_value), 0); + } + explicit ArgMinFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateArgMinFusion( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t axis = 0, + int64_t top_k = 0, + bool keep_dims = false, + bool out_max_value = false) { + ArgMinFusionBuilder builder_(_fbb); + builder_.add_top_k(top_k); + builder_.add_axis(axis); + builder_.add_out_max_value(out_max_value); + builder_.add_keep_dims(keep_dims); + return builder_.Finish(); +} + +flatbuffers::Offset CreateArgMinFusion(flatbuffers::FlatBufferBuilder &_fbb, const ArgMinFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct AssertT : public flatbuffers::NativeTable { + typedef Assert TableType; + int64_t summarize = 0; +}; + +struct Assert FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AssertT NativeTableType; + typedef AssertBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return AssertTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SUMMARIZE = 4 + }; + int64_t summarize() const { + return GetField(VT_SUMMARIZE, 0); + } + bool mutate_summarize(int64_t _summarize) { + return SetField(VT_SUMMARIZE, _summarize, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_SUMMARIZE) && + verifier.EndTable(); + } + AssertT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(AssertT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const AssertT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct AssertBuilder { + typedef Assert Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_summarize(int64_t summarize) { + fbb_.AddElement(Assert::VT_SUMMARIZE, summarize, 0); + } + explicit AssertBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAssert( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t summarize = 0) { + AssertBuilder builder_(_fbb); + builder_.add_summarize(summarize); + return builder_.Finish(); +} + +flatbuffers::Offset CreateAssert(flatbuffers::FlatBufferBuilder &_fbb, const AssertT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct AssignT : public flatbuffers::NativeTable { + typedef Assign TableType; +}; + +struct Assign FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AssignT NativeTableType; + typedef AssignBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return AssignTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + AssignT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(AssignT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const AssignT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct AssignBuilder { + typedef Assign Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit AssignBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAssign( + flatbuffers::FlatBufferBuilder &_fbb) { + AssignBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateAssign(flatbuffers::FlatBufferBuilder &_fbb, const AssignT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct AssignAddT : public flatbuffers::NativeTable { + typedef AssignAdd TableType; +}; + +struct AssignAdd FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AssignAddT NativeTableType; + typedef AssignAddBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return AssignAddTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + AssignAddT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(AssignAddT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const AssignAddT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct AssignAddBuilder { + typedef AssignAdd Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit AssignAddBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAssignAdd( + flatbuffers::FlatBufferBuilder &_fbb) { + AssignAddBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateAssignAdd(flatbuffers::FlatBufferBuilder &_fbb, const AssignAddT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct AudioSpectrogramT : public flatbuffers::NativeTable { + typedef AudioSpectrogram TableType; + int64_t window_size = 0; + int64_t stride = 0; + bool mag_square = false; +}; + +struct AudioSpectrogram FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AudioSpectrogramT NativeTableType; + typedef AudioSpectrogramBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return AudioSpectrogramTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_WINDOW_SIZE = 4, + VT_STRIDE = 6, + VT_MAG_SQUARE = 8 + }; + int64_t window_size() const { + return GetField(VT_WINDOW_SIZE, 0); + } + bool mutate_window_size(int64_t _window_size) { + return SetField(VT_WINDOW_SIZE, _window_size, 0); + } + int64_t stride() const { + return GetField(VT_STRIDE, 0); + } + bool mutate_stride(int64_t _stride) { + return SetField(VT_STRIDE, _stride, 0); + } + bool mag_square() const { + return GetField(VT_MAG_SQUARE, 0) != 0; + } + bool mutate_mag_square(bool _mag_square) { + return SetField(VT_MAG_SQUARE, static_cast(_mag_square), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_WINDOW_SIZE) && + VerifyField(verifier, VT_STRIDE) && + VerifyField(verifier, VT_MAG_SQUARE) && + verifier.EndTable(); + } + AudioSpectrogramT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(AudioSpectrogramT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const AudioSpectrogramT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct AudioSpectrogramBuilder { + typedef AudioSpectrogram Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_window_size(int64_t window_size) { + fbb_.AddElement(AudioSpectrogram::VT_WINDOW_SIZE, window_size, 0); + } + void add_stride(int64_t stride) { + fbb_.AddElement(AudioSpectrogram::VT_STRIDE, stride, 0); + } + void add_mag_square(bool mag_square) { + fbb_.AddElement(AudioSpectrogram::VT_MAG_SQUARE, static_cast(mag_square), 0); + } + explicit AudioSpectrogramBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAudioSpectrogram( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t window_size = 0, + int64_t stride = 0, + bool mag_square = false) { + AudioSpectrogramBuilder builder_(_fbb); + builder_.add_stride(stride); + builder_.add_window_size(window_size); + builder_.add_mag_square(mag_square); + return builder_.Finish(); +} + +flatbuffers::Offset CreateAudioSpectrogram(flatbuffers::FlatBufferBuilder &_fbb, const AudioSpectrogramT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct AvgPoolFusionT : public flatbuffers::NativeTable { + typedef AvgPoolFusion TableType; + std::vector kernel_size{}; + std::vector strides{}; + std::vector pad{}; + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD; + mindspore::schema::RoundMode round_mode = mindspore::schema::RoundMode_FLOOR; + mindspore::schema::Format format = mindspore::schema::Format_NCHW; + bool global = false; + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION; +}; + +struct AvgPoolFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AvgPoolFusionT NativeTableType; + typedef AvgPoolFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return AvgPoolFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_KERNEL_SIZE = 4, + VT_STRIDES = 6, + VT_PAD = 8, + VT_PAD_MODE = 10, + VT_ROUND_MODE = 12, + VT_FORMAT = 14, + VT_GLOBAL = 16, + VT_ACTIVATION_TYPE = 18 + }; + const flatbuffers::Vector *kernel_size() const { + return GetPointer *>(VT_KERNEL_SIZE); + } + flatbuffers::Vector *mutable_kernel_size() { + return GetPointer *>(VT_KERNEL_SIZE); + } + const flatbuffers::Vector *strides() const { + return GetPointer *>(VT_STRIDES); + } + flatbuffers::Vector *mutable_strides() { + return GetPointer *>(VT_STRIDES); + } + const flatbuffers::Vector *pad() const { + return GetPointer *>(VT_PAD); + } + flatbuffers::Vector *mutable_pad() { + return GetPointer *>(VT_PAD); + } + mindspore::schema::PadMode pad_mode() const { + return static_cast(GetField(VT_PAD_MODE, 0)); + } + bool mutate_pad_mode(mindspore::schema::PadMode _pad_mode) { + return SetField(VT_PAD_MODE, static_cast(_pad_mode), 0); + } + mindspore::schema::RoundMode round_mode() const { + return static_cast(GetField(VT_ROUND_MODE, 0)); + } + bool mutate_round_mode(mindspore::schema::RoundMode _round_mode) { + return SetField(VT_ROUND_MODE, static_cast(_round_mode), 0); + } + mindspore::schema::Format format() const { + return static_cast(GetField(VT_FORMAT, 0)); + } + bool mutate_format(mindspore::schema::Format _format) { + return SetField(VT_FORMAT, static_cast(_format), 0); + } + bool global() const { + return GetField(VT_GLOBAL, 0) != 0; + } + bool mutate_global(bool _global) { + return SetField(VT_GLOBAL, static_cast(_global), 0); + } + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + bool mutate_activation_type(mindspore::schema::ActivationType _activation_type) { + return SetField(VT_ACTIVATION_TYPE, static_cast(_activation_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_KERNEL_SIZE) && + verifier.VerifyVector(kernel_size()) && + VerifyOffset(verifier, VT_STRIDES) && + verifier.VerifyVector(strides()) && + VerifyOffset(verifier, VT_PAD) && + verifier.VerifyVector(pad()) && + VerifyField(verifier, VT_PAD_MODE) && + VerifyField(verifier, VT_ROUND_MODE) && + VerifyField(verifier, VT_FORMAT) && + VerifyField(verifier, VT_GLOBAL) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + verifier.EndTable(); + } + AvgPoolFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(AvgPoolFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const AvgPoolFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct AvgPoolFusionBuilder { + typedef AvgPoolFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_kernel_size(flatbuffers::Offset> kernel_size) { + fbb_.AddOffset(AvgPoolFusion::VT_KERNEL_SIZE, kernel_size); + } + void add_strides(flatbuffers::Offset> strides) { + fbb_.AddOffset(AvgPoolFusion::VT_STRIDES, strides); + } + void add_pad(flatbuffers::Offset> pad) { + fbb_.AddOffset(AvgPoolFusion::VT_PAD, pad); + } + void add_pad_mode(mindspore::schema::PadMode pad_mode) { + fbb_.AddElement(AvgPoolFusion::VT_PAD_MODE, static_cast(pad_mode), 0); + } + void add_round_mode(mindspore::schema::RoundMode round_mode) { + fbb_.AddElement(AvgPoolFusion::VT_ROUND_MODE, static_cast(round_mode), 0); + } + void add_format(mindspore::schema::Format format) { + fbb_.AddElement(AvgPoolFusion::VT_FORMAT, static_cast(format), 0); + } + void add_global(bool global) { + fbb_.AddElement(AvgPoolFusion::VT_GLOBAL, static_cast(global), 0); + } + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(AvgPoolFusion::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + explicit AvgPoolFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAvgPoolFusion( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> kernel_size = 0, + flatbuffers::Offset> strides = 0, + flatbuffers::Offset> pad = 0, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + mindspore::schema::RoundMode round_mode = mindspore::schema::RoundMode_FLOOR, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + bool global = false, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + AvgPoolFusionBuilder builder_(_fbb); + builder_.add_format(format); + builder_.add_pad(pad); + builder_.add_strides(strides); + builder_.add_kernel_size(kernel_size); + builder_.add_activation_type(activation_type); + builder_.add_global(global); + builder_.add_round_mode(round_mode); + builder_.add_pad_mode(pad_mode); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateAvgPoolFusionDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *kernel_size = nullptr, + const std::vector *strides = nullptr, + const std::vector *pad = nullptr, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + mindspore::schema::RoundMode round_mode = mindspore::schema::RoundMode_FLOOR, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + bool global = false, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + auto kernel_size__ = kernel_size ? _fbb.CreateVector(*kernel_size) : 0; + auto strides__ = strides ? _fbb.CreateVector(*strides) : 0; + auto pad__ = pad ? _fbb.CreateVector(*pad) : 0; + return mindspore::schema::CreateAvgPoolFusion( + _fbb, + kernel_size__, + strides__, + pad__, + pad_mode, + round_mode, + format, + global, + activation_type); +} + +flatbuffers::Offset CreateAvgPoolFusion(flatbuffers::FlatBufferBuilder &_fbb, const AvgPoolFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct AvgPoolGradT : public flatbuffers::NativeTable { + typedef AvgPoolGrad TableType; + std::vector kernel_size{}; + std::vector strides{}; + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD; + mindspore::schema::Format format = mindspore::schema::Format_NCHW; +}; + +struct AvgPoolGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AvgPoolGradT NativeTableType; + typedef AvgPoolGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return AvgPoolGradTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_KERNEL_SIZE = 4, + VT_STRIDES = 6, + VT_PAD_MODE = 8, + VT_FORMAT = 10 + }; + const flatbuffers::Vector *kernel_size() const { + return GetPointer *>(VT_KERNEL_SIZE); + } + flatbuffers::Vector *mutable_kernel_size() { + return GetPointer *>(VT_KERNEL_SIZE); + } + const flatbuffers::Vector *strides() const { + return GetPointer *>(VT_STRIDES); + } + flatbuffers::Vector *mutable_strides() { + return GetPointer *>(VT_STRIDES); + } + mindspore::schema::PadMode pad_mode() const { + return static_cast(GetField(VT_PAD_MODE, 0)); + } + bool mutate_pad_mode(mindspore::schema::PadMode _pad_mode) { + return SetField(VT_PAD_MODE, static_cast(_pad_mode), 0); + } + mindspore::schema::Format format() const { + return static_cast(GetField(VT_FORMAT, 0)); + } + bool mutate_format(mindspore::schema::Format _format) { + return SetField(VT_FORMAT, static_cast(_format), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_KERNEL_SIZE) && + verifier.VerifyVector(kernel_size()) && + VerifyOffset(verifier, VT_STRIDES) && + verifier.VerifyVector(strides()) && + VerifyField(verifier, VT_PAD_MODE) && + VerifyField(verifier, VT_FORMAT) && + verifier.EndTable(); + } + AvgPoolGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(AvgPoolGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const AvgPoolGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct AvgPoolGradBuilder { + typedef AvgPoolGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_kernel_size(flatbuffers::Offset> kernel_size) { + fbb_.AddOffset(AvgPoolGrad::VT_KERNEL_SIZE, kernel_size); + } + void add_strides(flatbuffers::Offset> strides) { + fbb_.AddOffset(AvgPoolGrad::VT_STRIDES, strides); + } + void add_pad_mode(mindspore::schema::PadMode pad_mode) { + fbb_.AddElement(AvgPoolGrad::VT_PAD_MODE, static_cast(pad_mode), 0); + } + void add_format(mindspore::schema::Format format) { + fbb_.AddElement(AvgPoolGrad::VT_FORMAT, static_cast(format), 0); + } + explicit AvgPoolGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAvgPoolGrad( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> kernel_size = 0, + flatbuffers::Offset> strides = 0, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + mindspore::schema::Format format = mindspore::schema::Format_NCHW) { + AvgPoolGradBuilder builder_(_fbb); + builder_.add_format(format); + builder_.add_strides(strides); + builder_.add_kernel_size(kernel_size); + builder_.add_pad_mode(pad_mode); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateAvgPoolGradDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *kernel_size = nullptr, + const std::vector *strides = nullptr, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + mindspore::schema::Format format = mindspore::schema::Format_NCHW) { + auto kernel_size__ = kernel_size ? _fbb.CreateVector(*kernel_size) : 0; + auto strides__ = strides ? _fbb.CreateVector(*strides) : 0; + return mindspore::schema::CreateAvgPoolGrad( + _fbb, + kernel_size__, + strides__, + pad_mode, + format); +} + +flatbuffers::Offset CreateAvgPoolGrad(flatbuffers::FlatBufferBuilder &_fbb, const AvgPoolGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct BatchNormT : public flatbuffers::NativeTable { + typedef BatchNorm TableType; + float epsilon = 0.0f; + mindspore::schema::Format format = mindspore::schema::Format_NCHW; + bool is_training = false; +}; + +struct BatchNorm FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BatchNormT NativeTableType; + typedef BatchNormBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return BatchNormTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_EPSILON = 4, + VT_FORMAT = 6, + VT_IS_TRAINING = 8 + }; + float epsilon() const { + return GetField(VT_EPSILON, 0.0f); + } + bool mutate_epsilon(float _epsilon) { + return SetField(VT_EPSILON, _epsilon, 0.0f); + } + mindspore::schema::Format format() const { + return static_cast(GetField(VT_FORMAT, 0)); + } + bool mutate_format(mindspore::schema::Format _format) { + return SetField(VT_FORMAT, static_cast(_format), 0); + } + bool is_training() const { + return GetField(VT_IS_TRAINING, 0) != 0; + } + bool mutate_is_training(bool _is_training) { + return SetField(VT_IS_TRAINING, static_cast(_is_training), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_EPSILON) && + VerifyField(verifier, VT_FORMAT) && + VerifyField(verifier, VT_IS_TRAINING) && + verifier.EndTable(); + } + BatchNormT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(BatchNormT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const BatchNormT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct BatchNormBuilder { + typedef BatchNorm Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_epsilon(float epsilon) { + fbb_.AddElement(BatchNorm::VT_EPSILON, epsilon, 0.0f); + } + void add_format(mindspore::schema::Format format) { + fbb_.AddElement(BatchNorm::VT_FORMAT, static_cast(format), 0); + } + void add_is_training(bool is_training) { + fbb_.AddElement(BatchNorm::VT_IS_TRAINING, static_cast(is_training), 0); + } + explicit BatchNormBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateBatchNorm( + flatbuffers::FlatBufferBuilder &_fbb, + float epsilon = 0.0f, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + bool is_training = false) { + BatchNormBuilder builder_(_fbb); + builder_.add_format(format); + builder_.add_epsilon(epsilon); + builder_.add_is_training(is_training); + return builder_.Finish(); +} + +flatbuffers::Offset CreateBatchNorm(flatbuffers::FlatBufferBuilder &_fbb, const BatchNormT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct BatchNormGradT : public flatbuffers::NativeTable { + typedef BatchNormGrad TableType; + float epsilon = 0.0f; + bool is_training = false; +}; + +struct BatchNormGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BatchNormGradT NativeTableType; + typedef BatchNormGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return BatchNormGradTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_EPSILON = 4, + VT_IS_TRAINING = 6 + }; + float epsilon() const { + return GetField(VT_EPSILON, 0.0f); + } + bool mutate_epsilon(float _epsilon) { + return SetField(VT_EPSILON, _epsilon, 0.0f); + } + bool is_training() const { + return GetField(VT_IS_TRAINING, 0) != 0; + } + bool mutate_is_training(bool _is_training) { + return SetField(VT_IS_TRAINING, static_cast(_is_training), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_EPSILON) && + VerifyField(verifier, VT_IS_TRAINING) && + verifier.EndTable(); + } + BatchNormGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(BatchNormGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const BatchNormGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct BatchNormGradBuilder { + typedef BatchNormGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_epsilon(float epsilon) { + fbb_.AddElement(BatchNormGrad::VT_EPSILON, epsilon, 0.0f); + } + void add_is_training(bool is_training) { + fbb_.AddElement(BatchNormGrad::VT_IS_TRAINING, static_cast(is_training), 0); + } + explicit BatchNormGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateBatchNormGrad( + flatbuffers::FlatBufferBuilder &_fbb, + float epsilon = 0.0f, + bool is_training = false) { + BatchNormGradBuilder builder_(_fbb); + builder_.add_epsilon(epsilon); + builder_.add_is_training(is_training); + return builder_.Finish(); +} + +flatbuffers::Offset CreateBatchNormGrad(flatbuffers::FlatBufferBuilder &_fbb, const BatchNormGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct BatchToSpaceT : public flatbuffers::NativeTable { + typedef BatchToSpace TableType; + std::vector block_size{}; + std::unique_ptr crops{}; +}; + +struct BatchToSpace FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BatchToSpaceT NativeTableType; + typedef BatchToSpaceBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return BatchToSpaceTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BLOCK_SIZE = 4, + VT_CROPS = 6 + }; + const flatbuffers::Vector *block_size() const { + return GetPointer *>(VT_BLOCK_SIZE); + } + flatbuffers::Vector *mutable_block_size() { + return GetPointer *>(VT_BLOCK_SIZE); + } + const mindspore::schema::Vec2D *crops() const { + return GetPointer(VT_CROPS); + } + mindspore::schema::Vec2D *mutable_crops() { + return GetPointer(VT_CROPS); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_BLOCK_SIZE) && + verifier.VerifyVector(block_size()) && + VerifyOffset(verifier, VT_CROPS) && + verifier.VerifyTable(crops()) && + verifier.EndTable(); + } + BatchToSpaceT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(BatchToSpaceT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const BatchToSpaceT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct BatchToSpaceBuilder { + typedef BatchToSpace Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_block_size(flatbuffers::Offset> block_size) { + fbb_.AddOffset(BatchToSpace::VT_BLOCK_SIZE, block_size); + } + void add_crops(flatbuffers::Offset crops) { + fbb_.AddOffset(BatchToSpace::VT_CROPS, crops); + } + explicit BatchToSpaceBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateBatchToSpace( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> block_size = 0, + flatbuffers::Offset crops = 0) { + BatchToSpaceBuilder builder_(_fbb); + builder_.add_crops(crops); + builder_.add_block_size(block_size); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateBatchToSpaceDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *block_size = nullptr, + flatbuffers::Offset crops = 0) { + auto block_size__ = block_size ? _fbb.CreateVector(*block_size) : 0; + return mindspore::schema::CreateBatchToSpace( + _fbb, + block_size__, + crops); +} + +flatbuffers::Offset CreateBatchToSpace(flatbuffers::FlatBufferBuilder &_fbb, const BatchToSpaceT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct BatchToSpaceNDT : public flatbuffers::NativeTable { + typedef BatchToSpaceND TableType; + std::vector block_shape{}; + std::unique_ptr crops{}; +}; + +struct BatchToSpaceND FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BatchToSpaceNDT NativeTableType; + typedef BatchToSpaceNDBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return BatchToSpaceNDTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BLOCK_SHAPE = 4, + VT_CROPS = 6 + }; + const flatbuffers::Vector *block_shape() const { + return GetPointer *>(VT_BLOCK_SHAPE); + } + flatbuffers::Vector *mutable_block_shape() { + return GetPointer *>(VT_BLOCK_SHAPE); + } + const mindspore::schema::Vec2D *crops() const { + return GetPointer(VT_CROPS); + } + mindspore::schema::Vec2D *mutable_crops() { + return GetPointer(VT_CROPS); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_BLOCK_SHAPE) && + verifier.VerifyVector(block_shape()) && + VerifyOffset(verifier, VT_CROPS) && + verifier.VerifyTable(crops()) && + verifier.EndTable(); + } + BatchToSpaceNDT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(BatchToSpaceNDT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const BatchToSpaceNDT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct BatchToSpaceNDBuilder { + typedef BatchToSpaceND Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_block_shape(flatbuffers::Offset> block_shape) { + fbb_.AddOffset(BatchToSpaceND::VT_BLOCK_SHAPE, block_shape); + } + void add_crops(flatbuffers::Offset crops) { + fbb_.AddOffset(BatchToSpaceND::VT_CROPS, crops); + } + explicit BatchToSpaceNDBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateBatchToSpaceND( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> block_shape = 0, + flatbuffers::Offset crops = 0) { + BatchToSpaceNDBuilder builder_(_fbb); + builder_.add_crops(crops); + builder_.add_block_shape(block_shape); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateBatchToSpaceNDDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *block_shape = nullptr, + flatbuffers::Offset crops = 0) { + auto block_shape__ = block_shape ? _fbb.CreateVector(*block_shape) : 0; + return mindspore::schema::CreateBatchToSpaceND( + _fbb, + block_shape__, + crops); +} + +flatbuffers::Offset CreateBatchToSpaceND(flatbuffers::FlatBufferBuilder &_fbb, const BatchToSpaceNDT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct BiasAddT : public flatbuffers::NativeTable { + typedef BiasAdd TableType; + mindspore::schema::Format format = mindspore::schema::Format_NCHW; +}; + +struct BiasAdd FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BiasAddT NativeTableType; + typedef BiasAddBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return BiasAddTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FORMAT = 4 + }; + mindspore::schema::Format format() const { + return static_cast(GetField(VT_FORMAT, 0)); + } + bool mutate_format(mindspore::schema::Format _format) { + return SetField(VT_FORMAT, static_cast(_format), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FORMAT) && + verifier.EndTable(); + } + BiasAddT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(BiasAddT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const BiasAddT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct BiasAddBuilder { + typedef BiasAdd Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_format(mindspore::schema::Format format) { + fbb_.AddElement(BiasAdd::VT_FORMAT, static_cast(format), 0); + } + explicit BiasAddBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateBiasAdd( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::Format format = mindspore::schema::Format_NCHW) { + BiasAddBuilder builder_(_fbb); + builder_.add_format(format); + return builder_.Finish(); +} + +flatbuffers::Offset CreateBiasAdd(flatbuffers::FlatBufferBuilder &_fbb, const BiasAddT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct BinaryCrossEntropyT : public flatbuffers::NativeTable { + typedef BinaryCrossEntropy TableType; + mindspore::schema::Reduction reduction = mindspore::schema::Reduction_REDUCTION_SUM; +}; + +struct BinaryCrossEntropy FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BinaryCrossEntropyT NativeTableType; + typedef BinaryCrossEntropyBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return BinaryCrossEntropyTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_REDUCTION = 4 + }; + mindspore::schema::Reduction reduction() const { + return static_cast(GetField(VT_REDUCTION, 0)); + } + bool mutate_reduction(mindspore::schema::Reduction _reduction) { + return SetField(VT_REDUCTION, static_cast(_reduction), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_REDUCTION) && + verifier.EndTable(); + } + BinaryCrossEntropyT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(BinaryCrossEntropyT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const BinaryCrossEntropyT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct BinaryCrossEntropyBuilder { + typedef BinaryCrossEntropy Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_reduction(mindspore::schema::Reduction reduction) { + fbb_.AddElement(BinaryCrossEntropy::VT_REDUCTION, static_cast(reduction), 0); + } + explicit BinaryCrossEntropyBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateBinaryCrossEntropy( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::Reduction reduction = mindspore::schema::Reduction_REDUCTION_SUM) { + BinaryCrossEntropyBuilder builder_(_fbb); + builder_.add_reduction(reduction); + return builder_.Finish(); +} + +flatbuffers::Offset CreateBinaryCrossEntropy(flatbuffers::FlatBufferBuilder &_fbb, const BinaryCrossEntropyT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct BinaryCrossEntropyGradT : public flatbuffers::NativeTable { + typedef BinaryCrossEntropyGrad TableType; + mindspore::schema::Reduction reduction = mindspore::schema::Reduction_MEAN; +}; + +struct BinaryCrossEntropyGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BinaryCrossEntropyGradT NativeTableType; + typedef BinaryCrossEntropyGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return BinaryCrossEntropyGradTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_REDUCTION = 4 + }; + mindspore::schema::Reduction reduction() const { + return static_cast(GetField(VT_REDUCTION, 1)); + } + bool mutate_reduction(mindspore::schema::Reduction _reduction) { + return SetField(VT_REDUCTION, static_cast(_reduction), 1); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_REDUCTION) && + verifier.EndTable(); + } + BinaryCrossEntropyGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(BinaryCrossEntropyGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const BinaryCrossEntropyGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct BinaryCrossEntropyGradBuilder { + typedef BinaryCrossEntropyGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_reduction(mindspore::schema::Reduction reduction) { + fbb_.AddElement(BinaryCrossEntropyGrad::VT_REDUCTION, static_cast(reduction), 1); + } + explicit BinaryCrossEntropyGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateBinaryCrossEntropyGrad( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::Reduction reduction = mindspore::schema::Reduction_MEAN) { + BinaryCrossEntropyGradBuilder builder_(_fbb); + builder_.add_reduction(reduction); + return builder_.Finish(); +} + +flatbuffers::Offset CreateBinaryCrossEntropyGrad(flatbuffers::FlatBufferBuilder &_fbb, const BinaryCrossEntropyGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct BiasAddGradT : public flatbuffers::NativeTable { + typedef BiasAddGrad TableType; +}; + +struct BiasAddGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BiasAddGradT NativeTableType; + typedef BiasAddGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return BiasAddGradTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + BiasAddGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(BiasAddGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const BiasAddGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct BiasAddGradBuilder { + typedef BiasAddGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit BiasAddGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateBiasAddGrad( + flatbuffers::FlatBufferBuilder &_fbb) { + BiasAddGradBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateBiasAddGrad(flatbuffers::FlatBufferBuilder &_fbb, const BiasAddGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct BroadcastToT : public flatbuffers::NativeTable { + typedef BroadcastTo TableType; + std::vector shape{}; +}; + +struct BroadcastTo FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BroadcastToT NativeTableType; + typedef BroadcastToBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return BroadcastToTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SHAPE = 4 + }; + const flatbuffers::Vector *shape() const { + return GetPointer *>(VT_SHAPE); + } + flatbuffers::Vector *mutable_shape() { + return GetPointer *>(VT_SHAPE); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_SHAPE) && + verifier.VerifyVector(shape()) && + verifier.EndTable(); + } + BroadcastToT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(BroadcastToT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const BroadcastToT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct BroadcastToBuilder { + typedef BroadcastTo Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_shape(flatbuffers::Offset> shape) { + fbb_.AddOffset(BroadcastTo::VT_SHAPE, shape); + } + explicit BroadcastToBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateBroadcastTo( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> shape = 0) { + BroadcastToBuilder builder_(_fbb); + builder_.add_shape(shape); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateBroadcastToDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *shape = nullptr) { + auto shape__ = shape ? _fbb.CreateVector(*shape) : 0; + return mindspore::schema::CreateBroadcastTo( + _fbb, + shape__); +} + +flatbuffers::Offset CreateBroadcastTo(flatbuffers::FlatBufferBuilder &_fbb, const BroadcastToT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct CastT : public flatbuffers::NativeTable { + typedef Cast TableType; +}; + +struct Cast FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CastT NativeTableType; + typedef CastBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return CastTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + CastT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(CastT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const CastT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct CastBuilder { + typedef Cast Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit CastBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateCast( + flatbuffers::FlatBufferBuilder &_fbb) { + CastBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateCast(flatbuffers::FlatBufferBuilder &_fbb, const CastT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct CeilT : public flatbuffers::NativeTable { + typedef Ceil TableType; +}; + +struct Ceil FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CeilT NativeTableType; + typedef CeilBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return CeilTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + CeilT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(CeilT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const CeilT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct CeilBuilder { + typedef Ceil Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit CeilBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateCeil( + flatbuffers::FlatBufferBuilder &_fbb) { + CeilBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateCeil(flatbuffers::FlatBufferBuilder &_fbb, const CeilT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ClipT : public flatbuffers::NativeTable { + typedef Clip TableType; + float max = 0.0f; + float min = 0.0f; +}; + +struct Clip FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ClipT NativeTableType; + typedef ClipBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ClipTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_MAX = 4, + VT_MIN = 6 + }; + float max() const { + return GetField(VT_MAX, 0.0f); + } + bool mutate_max(float _max) { + return SetField(VT_MAX, _max, 0.0f); + } + float min() const { + return GetField(VT_MIN, 0.0f); + } + bool mutate_min(float _min) { + return SetField(VT_MIN, _min, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_MAX) && + VerifyField(verifier, VT_MIN) && + verifier.EndTable(); + } + ClipT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ClipT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ClipT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ClipBuilder { + typedef Clip Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_max(float max) { + fbb_.AddElement(Clip::VT_MAX, max, 0.0f); + } + void add_min(float min) { + fbb_.AddElement(Clip::VT_MIN, min, 0.0f); + } + explicit ClipBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateClip( + flatbuffers::FlatBufferBuilder &_fbb, + float max = 0.0f, + float min = 0.0f) { + ClipBuilder builder_(_fbb); + builder_.add_min(min); + builder_.add_max(max); + return builder_.Finish(); +} + +flatbuffers::Offset CreateClip(flatbuffers::FlatBufferBuilder &_fbb, const ClipT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ConcatT : public flatbuffers::NativeTable { + typedef Concat TableType; + int64_t axis = 0; +}; + +struct Concat FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ConcatT NativeTableType; + typedef ConcatBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ConcatTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4 + }; + int64_t axis() const { + return GetField(VT_AXIS, 0); + } + bool mutate_axis(int64_t _axis) { + return SetField(VT_AXIS, _axis, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_AXIS) && + verifier.EndTable(); + } + ConcatT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ConcatT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ConcatT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ConcatBuilder { + typedef Concat Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(int64_t axis) { + fbb_.AddElement(Concat::VT_AXIS, axis, 0); + } + explicit ConcatBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateConcat( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t axis = 0) { + ConcatBuilder builder_(_fbb); + builder_.add_axis(axis); + return builder_.Finish(); +} + +flatbuffers::Offset CreateConcat(flatbuffers::FlatBufferBuilder &_fbb, const ConcatT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct AttentionT : public flatbuffers::NativeTable { + typedef Attention TableType; + int64_t head_num = 0; + int64_t head_size = 0; + bool cross = false; + float scale = 0.0f; +}; + +struct Attention FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AttentionT NativeTableType; + typedef AttentionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return AttentionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_HEAD_NUM = 4, + VT_HEAD_SIZE = 6, + VT_CROSS = 8, + VT_SCALE = 10 + }; + int64_t head_num() const { + return GetField(VT_HEAD_NUM, 0); + } + bool mutate_head_num(int64_t _head_num) { + return SetField(VT_HEAD_NUM, _head_num, 0); + } + int64_t head_size() const { + return GetField(VT_HEAD_SIZE, 0); + } + bool mutate_head_size(int64_t _head_size) { + return SetField(VT_HEAD_SIZE, _head_size, 0); + } + bool cross() const { + return GetField(VT_CROSS, 0) != 0; + } + bool mutate_cross(bool _cross) { + return SetField(VT_CROSS, static_cast(_cross), 0); + } + float scale() const { + return GetField(VT_SCALE, 0.0f); + } + bool mutate_scale(float _scale) { + return SetField(VT_SCALE, _scale, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_HEAD_NUM) && + VerifyField(verifier, VT_HEAD_SIZE) && + VerifyField(verifier, VT_CROSS) && + VerifyField(verifier, VT_SCALE) && + verifier.EndTable(); + } + AttentionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(AttentionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const AttentionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct AttentionBuilder { + typedef Attention Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_head_num(int64_t head_num) { + fbb_.AddElement(Attention::VT_HEAD_NUM, head_num, 0); + } + void add_head_size(int64_t head_size) { + fbb_.AddElement(Attention::VT_HEAD_SIZE, head_size, 0); + } + void add_cross(bool cross) { + fbb_.AddElement(Attention::VT_CROSS, static_cast(cross), 0); + } + void add_scale(float scale) { + fbb_.AddElement(Attention::VT_SCALE, scale, 0.0f); + } + explicit AttentionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAttention( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t head_num = 0, + int64_t head_size = 0, + bool cross = false, + float scale = 0.0f) { + AttentionBuilder builder_(_fbb); + builder_.add_head_size(head_size); + builder_.add_head_num(head_num); + builder_.add_scale(scale); + builder_.add_cross(cross); + return builder_.Finish(); +} + +flatbuffers::Offset CreateAttention(flatbuffers::FlatBufferBuilder &_fbb, const AttentionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct Conv2DBackpropFilterFusionT : public flatbuffers::NativeTable { + typedef Conv2DBackpropFilterFusion TableType; + mindspore::schema::Format format = mindspore::schema::Format_NCHW; + std::vector kernel_size{}; + std::vector stride{}; + std::vector dilation{}; + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD; + std::vector pad_list{}; + int64_t mode = 0; + int64_t group = 0; + int64_t in_channel = 0; + int64_t out_channel = 0; + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION; +}; + +struct Conv2DBackpropFilterFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef Conv2DBackpropFilterFusionT NativeTableType; + typedef Conv2DBackpropFilterFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return Conv2DBackpropFilterFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FORMAT = 4, + VT_KERNEL_SIZE = 6, + VT_STRIDE = 8, + VT_DILATION = 10, + VT_PAD_MODE = 12, + VT_PAD_LIST = 14, + VT_MODE = 16, + VT_GROUP = 18, + VT_IN_CHANNEL = 20, + VT_OUT_CHANNEL = 22, + VT_ACTIVATION_TYPE = 24 + }; + mindspore::schema::Format format() const { + return static_cast(GetField(VT_FORMAT, 0)); + } + bool mutate_format(mindspore::schema::Format _format) { + return SetField(VT_FORMAT, static_cast(_format), 0); + } + const flatbuffers::Vector *kernel_size() const { + return GetPointer *>(VT_KERNEL_SIZE); + } + flatbuffers::Vector *mutable_kernel_size() { + return GetPointer *>(VT_KERNEL_SIZE); + } + const flatbuffers::Vector *stride() const { + return GetPointer *>(VT_STRIDE); + } + flatbuffers::Vector *mutable_stride() { + return GetPointer *>(VT_STRIDE); + } + const flatbuffers::Vector *dilation() const { + return GetPointer *>(VT_DILATION); + } + flatbuffers::Vector *mutable_dilation() { + return GetPointer *>(VT_DILATION); + } + mindspore::schema::PadMode pad_mode() const { + return static_cast(GetField(VT_PAD_MODE, 0)); + } + bool mutate_pad_mode(mindspore::schema::PadMode _pad_mode) { + return SetField(VT_PAD_MODE, static_cast(_pad_mode), 0); + } + const flatbuffers::Vector *pad_list() const { + return GetPointer *>(VT_PAD_LIST); + } + flatbuffers::Vector *mutable_pad_list() { + return GetPointer *>(VT_PAD_LIST); + } + int64_t mode() const { + return GetField(VT_MODE, 0); + } + bool mutate_mode(int64_t _mode) { + return SetField(VT_MODE, _mode, 0); + } + int64_t group() const { + return GetField(VT_GROUP, 0); + } + bool mutate_group(int64_t _group) { + return SetField(VT_GROUP, _group, 0); + } + int64_t in_channel() const { + return GetField(VT_IN_CHANNEL, 0); + } + bool mutate_in_channel(int64_t _in_channel) { + return SetField(VT_IN_CHANNEL, _in_channel, 0); + } + int64_t out_channel() const { + return GetField(VT_OUT_CHANNEL, 0); + } + bool mutate_out_channel(int64_t _out_channel) { + return SetField(VT_OUT_CHANNEL, _out_channel, 0); + } + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + bool mutate_activation_type(mindspore::schema::ActivationType _activation_type) { + return SetField(VT_ACTIVATION_TYPE, static_cast(_activation_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FORMAT) && + VerifyOffset(verifier, VT_KERNEL_SIZE) && + verifier.VerifyVector(kernel_size()) && + VerifyOffset(verifier, VT_STRIDE) && + verifier.VerifyVector(stride()) && + VerifyOffset(verifier, VT_DILATION) && + verifier.VerifyVector(dilation()) && + VerifyField(verifier, VT_PAD_MODE) && + VerifyOffset(verifier, VT_PAD_LIST) && + verifier.VerifyVector(pad_list()) && + VerifyField(verifier, VT_MODE) && + VerifyField(verifier, VT_GROUP) && + VerifyField(verifier, VT_IN_CHANNEL) && + VerifyField(verifier, VT_OUT_CHANNEL) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + verifier.EndTable(); + } + Conv2DBackpropFilterFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(Conv2DBackpropFilterFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const Conv2DBackpropFilterFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct Conv2DBackpropFilterFusionBuilder { + typedef Conv2DBackpropFilterFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_format(mindspore::schema::Format format) { + fbb_.AddElement(Conv2DBackpropFilterFusion::VT_FORMAT, static_cast(format), 0); + } + void add_kernel_size(flatbuffers::Offset> kernel_size) { + fbb_.AddOffset(Conv2DBackpropFilterFusion::VT_KERNEL_SIZE, kernel_size); + } + void add_stride(flatbuffers::Offset> stride) { + fbb_.AddOffset(Conv2DBackpropFilterFusion::VT_STRIDE, stride); + } + void add_dilation(flatbuffers::Offset> dilation) { + fbb_.AddOffset(Conv2DBackpropFilterFusion::VT_DILATION, dilation); + } + void add_pad_mode(mindspore::schema::PadMode pad_mode) { + fbb_.AddElement(Conv2DBackpropFilterFusion::VT_PAD_MODE, static_cast(pad_mode), 0); + } + void add_pad_list(flatbuffers::Offset> pad_list) { + fbb_.AddOffset(Conv2DBackpropFilterFusion::VT_PAD_LIST, pad_list); + } + void add_mode(int64_t mode) { + fbb_.AddElement(Conv2DBackpropFilterFusion::VT_MODE, mode, 0); + } + void add_group(int64_t group) { + fbb_.AddElement(Conv2DBackpropFilterFusion::VT_GROUP, group, 0); + } + void add_in_channel(int64_t in_channel) { + fbb_.AddElement(Conv2DBackpropFilterFusion::VT_IN_CHANNEL, in_channel, 0); + } + void add_out_channel(int64_t out_channel) { + fbb_.AddElement(Conv2DBackpropFilterFusion::VT_OUT_CHANNEL, out_channel, 0); + } + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(Conv2DBackpropFilterFusion::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + explicit Conv2DBackpropFilterFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateConv2DBackpropFilterFusion( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + flatbuffers::Offset> kernel_size = 0, + flatbuffers::Offset> stride = 0, + flatbuffers::Offset> dilation = 0, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + flatbuffers::Offset> pad_list = 0, + int64_t mode = 0, + int64_t group = 0, + int64_t in_channel = 0, + int64_t out_channel = 0, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + Conv2DBackpropFilterFusionBuilder builder_(_fbb); + builder_.add_out_channel(out_channel); + builder_.add_in_channel(in_channel); + builder_.add_group(group); + builder_.add_mode(mode); + builder_.add_pad_list(pad_list); + builder_.add_dilation(dilation); + builder_.add_stride(stride); + builder_.add_kernel_size(kernel_size); + builder_.add_format(format); + builder_.add_activation_type(activation_type); + builder_.add_pad_mode(pad_mode); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateConv2DBackpropFilterFusionDirect( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + const std::vector *kernel_size = nullptr, + const std::vector *stride = nullptr, + const std::vector *dilation = nullptr, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + const std::vector *pad_list = nullptr, + int64_t mode = 0, + int64_t group = 0, + int64_t in_channel = 0, + int64_t out_channel = 0, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + auto kernel_size__ = kernel_size ? _fbb.CreateVector(*kernel_size) : 0; + auto stride__ = stride ? _fbb.CreateVector(*stride) : 0; + auto dilation__ = dilation ? _fbb.CreateVector(*dilation) : 0; + auto pad_list__ = pad_list ? _fbb.CreateVector(*pad_list) : 0; + return mindspore::schema::CreateConv2DBackpropFilterFusion( + _fbb, + format, + kernel_size__, + stride__, + dilation__, + pad_mode, + pad_list__, + mode, + group, + in_channel, + out_channel, + activation_type); +} + +flatbuffers::Offset CreateConv2DBackpropFilterFusion(flatbuffers::FlatBufferBuilder &_fbb, const Conv2DBackpropFilterFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct Conv2DBackpropInputFusionT : public flatbuffers::NativeTable { + typedef Conv2DBackpropInputFusion TableType; + mindspore::schema::Format format = mindspore::schema::Format_NCHW; + std::vector kernel_size{}; + std::vector stride{}; + std::vector dilation{}; + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD; + std::vector pad{}; + std::vector pad_list{}; + int64_t mode = 0; + int64_t group = 0; + int64_t in_channel = 0; + int64_t out_channel = 0; + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION; +}; + +struct Conv2DBackpropInputFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef Conv2DBackpropInputFusionT NativeTableType; + typedef Conv2DBackpropInputFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return Conv2DBackpropInputFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FORMAT = 4, + VT_KERNEL_SIZE = 6, + VT_STRIDE = 8, + VT_DILATION = 10, + VT_PAD_MODE = 12, + VT_PAD = 14, + VT_PAD_LIST = 16, + VT_MODE = 18, + VT_GROUP = 20, + VT_IN_CHANNEL = 22, + VT_OUT_CHANNEL = 24, + VT_ACTIVATION_TYPE = 26 + }; + mindspore::schema::Format format() const { + return static_cast(GetField(VT_FORMAT, 0)); + } + bool mutate_format(mindspore::schema::Format _format) { + return SetField(VT_FORMAT, static_cast(_format), 0); + } + const flatbuffers::Vector *kernel_size() const { + return GetPointer *>(VT_KERNEL_SIZE); + } + flatbuffers::Vector *mutable_kernel_size() { + return GetPointer *>(VT_KERNEL_SIZE); + } + const flatbuffers::Vector *stride() const { + return GetPointer *>(VT_STRIDE); + } + flatbuffers::Vector *mutable_stride() { + return GetPointer *>(VT_STRIDE); + } + const flatbuffers::Vector *dilation() const { + return GetPointer *>(VT_DILATION); + } + flatbuffers::Vector *mutable_dilation() { + return GetPointer *>(VT_DILATION); + } + mindspore::schema::PadMode pad_mode() const { + return static_cast(GetField(VT_PAD_MODE, 0)); + } + bool mutate_pad_mode(mindspore::schema::PadMode _pad_mode) { + return SetField(VT_PAD_MODE, static_cast(_pad_mode), 0); + } + const flatbuffers::Vector *pad() const { + return GetPointer *>(VT_PAD); + } + flatbuffers::Vector *mutable_pad() { + return GetPointer *>(VT_PAD); + } + const flatbuffers::Vector *pad_list() const { + return GetPointer *>(VT_PAD_LIST); + } + flatbuffers::Vector *mutable_pad_list() { + return GetPointer *>(VT_PAD_LIST); + } + int64_t mode() const { + return GetField(VT_MODE, 0); + } + bool mutate_mode(int64_t _mode) { + return SetField(VT_MODE, _mode, 0); + } + int64_t group() const { + return GetField(VT_GROUP, 0); + } + bool mutate_group(int64_t _group) { + return SetField(VT_GROUP, _group, 0); + } + int64_t in_channel() const { + return GetField(VT_IN_CHANNEL, 0); + } + bool mutate_in_channel(int64_t _in_channel) { + return SetField(VT_IN_CHANNEL, _in_channel, 0); + } + int64_t out_channel() const { + return GetField(VT_OUT_CHANNEL, 0); + } + bool mutate_out_channel(int64_t _out_channel) { + return SetField(VT_OUT_CHANNEL, _out_channel, 0); + } + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + bool mutate_activation_type(mindspore::schema::ActivationType _activation_type) { + return SetField(VT_ACTIVATION_TYPE, static_cast(_activation_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FORMAT) && + VerifyOffset(verifier, VT_KERNEL_SIZE) && + verifier.VerifyVector(kernel_size()) && + VerifyOffset(verifier, VT_STRIDE) && + verifier.VerifyVector(stride()) && + VerifyOffset(verifier, VT_DILATION) && + verifier.VerifyVector(dilation()) && + VerifyField(verifier, VT_PAD_MODE) && + VerifyOffset(verifier, VT_PAD) && + verifier.VerifyVector(pad()) && + VerifyOffset(verifier, VT_PAD_LIST) && + verifier.VerifyVector(pad_list()) && + VerifyField(verifier, VT_MODE) && + VerifyField(verifier, VT_GROUP) && + VerifyField(verifier, VT_IN_CHANNEL) && + VerifyField(verifier, VT_OUT_CHANNEL) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + verifier.EndTable(); + } + Conv2DBackpropInputFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(Conv2DBackpropInputFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const Conv2DBackpropInputFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct Conv2DBackpropInputFusionBuilder { + typedef Conv2DBackpropInputFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_format(mindspore::schema::Format format) { + fbb_.AddElement(Conv2DBackpropInputFusion::VT_FORMAT, static_cast(format), 0); + } + void add_kernel_size(flatbuffers::Offset> kernel_size) { + fbb_.AddOffset(Conv2DBackpropInputFusion::VT_KERNEL_SIZE, kernel_size); + } + void add_stride(flatbuffers::Offset> stride) { + fbb_.AddOffset(Conv2DBackpropInputFusion::VT_STRIDE, stride); + } + void add_dilation(flatbuffers::Offset> dilation) { + fbb_.AddOffset(Conv2DBackpropInputFusion::VT_DILATION, dilation); + } + void add_pad_mode(mindspore::schema::PadMode pad_mode) { + fbb_.AddElement(Conv2DBackpropInputFusion::VT_PAD_MODE, static_cast(pad_mode), 0); + } + void add_pad(flatbuffers::Offset> pad) { + fbb_.AddOffset(Conv2DBackpropInputFusion::VT_PAD, pad); + } + void add_pad_list(flatbuffers::Offset> pad_list) { + fbb_.AddOffset(Conv2DBackpropInputFusion::VT_PAD_LIST, pad_list); + } + void add_mode(int64_t mode) { + fbb_.AddElement(Conv2DBackpropInputFusion::VT_MODE, mode, 0); + } + void add_group(int64_t group) { + fbb_.AddElement(Conv2DBackpropInputFusion::VT_GROUP, group, 0); + } + void add_in_channel(int64_t in_channel) { + fbb_.AddElement(Conv2DBackpropInputFusion::VT_IN_CHANNEL, in_channel, 0); + } + void add_out_channel(int64_t out_channel) { + fbb_.AddElement(Conv2DBackpropInputFusion::VT_OUT_CHANNEL, out_channel, 0); + } + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(Conv2DBackpropInputFusion::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + explicit Conv2DBackpropInputFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateConv2DBackpropInputFusion( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + flatbuffers::Offset> kernel_size = 0, + flatbuffers::Offset> stride = 0, + flatbuffers::Offset> dilation = 0, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + flatbuffers::Offset> pad = 0, + flatbuffers::Offset> pad_list = 0, + int64_t mode = 0, + int64_t group = 0, + int64_t in_channel = 0, + int64_t out_channel = 0, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + Conv2DBackpropInputFusionBuilder builder_(_fbb); + builder_.add_out_channel(out_channel); + builder_.add_in_channel(in_channel); + builder_.add_group(group); + builder_.add_mode(mode); + builder_.add_pad_list(pad_list); + builder_.add_pad(pad); + builder_.add_dilation(dilation); + builder_.add_stride(stride); + builder_.add_kernel_size(kernel_size); + builder_.add_format(format); + builder_.add_activation_type(activation_type); + builder_.add_pad_mode(pad_mode); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateConv2DBackpropInputFusionDirect( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + const std::vector *kernel_size = nullptr, + const std::vector *stride = nullptr, + const std::vector *dilation = nullptr, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + const std::vector *pad = nullptr, + const std::vector *pad_list = nullptr, + int64_t mode = 0, + int64_t group = 0, + int64_t in_channel = 0, + int64_t out_channel = 0, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + auto kernel_size__ = kernel_size ? _fbb.CreateVector(*kernel_size) : 0; + auto stride__ = stride ? _fbb.CreateVector(*stride) : 0; + auto dilation__ = dilation ? _fbb.CreateVector(*dilation) : 0; + auto pad__ = pad ? _fbb.CreateVector(*pad) : 0; + auto pad_list__ = pad_list ? _fbb.CreateVector(*pad_list) : 0; + return mindspore::schema::CreateConv2DBackpropInputFusion( + _fbb, + format, + kernel_size__, + stride__, + dilation__, + pad_mode, + pad__, + pad_list__, + mode, + group, + in_channel, + out_channel, + activation_type); +} + +flatbuffers::Offset CreateConv2DBackpropInputFusion(flatbuffers::FlatBufferBuilder &_fbb, const Conv2DBackpropInputFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct Conv2DFusionT : public flatbuffers::NativeTable { + typedef Conv2DFusion TableType; + mindspore::schema::Format format = mindspore::schema::Format_NCHW; + std::vector kernel_size{}; + std::vector stride{}; + std::vector dilation{}; + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD; + std::vector pad_list{}; + int64_t mode = 0; + int64_t group = 0; + int64_t in_channel = 0; + int64_t out_channel = 0; + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION; +}; + +struct Conv2DFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef Conv2DFusionT NativeTableType; + typedef Conv2DFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return Conv2DFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FORMAT = 4, + VT_KERNEL_SIZE = 6, + VT_STRIDE = 8, + VT_DILATION = 10, + VT_PAD_MODE = 12, + VT_PAD_LIST = 14, + VT_MODE = 16, + VT_GROUP = 18, + VT_IN_CHANNEL = 20, + VT_OUT_CHANNEL = 22, + VT_ACTIVATION_TYPE = 24 + }; + mindspore::schema::Format format() const { + return static_cast(GetField(VT_FORMAT, 0)); + } + bool mutate_format(mindspore::schema::Format _format) { + return SetField(VT_FORMAT, static_cast(_format), 0); + } + const flatbuffers::Vector *kernel_size() const { + return GetPointer *>(VT_KERNEL_SIZE); + } + flatbuffers::Vector *mutable_kernel_size() { + return GetPointer *>(VT_KERNEL_SIZE); + } + const flatbuffers::Vector *stride() const { + return GetPointer *>(VT_STRIDE); + } + flatbuffers::Vector *mutable_stride() { + return GetPointer *>(VT_STRIDE); + } + const flatbuffers::Vector *dilation() const { + return GetPointer *>(VT_DILATION); + } + flatbuffers::Vector *mutable_dilation() { + return GetPointer *>(VT_DILATION); + } + mindspore::schema::PadMode pad_mode() const { + return static_cast(GetField(VT_PAD_MODE, 0)); + } + bool mutate_pad_mode(mindspore::schema::PadMode _pad_mode) { + return SetField(VT_PAD_MODE, static_cast(_pad_mode), 0); + } + const flatbuffers::Vector *pad_list() const { + return GetPointer *>(VT_PAD_LIST); + } + flatbuffers::Vector *mutable_pad_list() { + return GetPointer *>(VT_PAD_LIST); + } + int64_t mode() const { + return GetField(VT_MODE, 0); + } + bool mutate_mode(int64_t _mode) { + return SetField(VT_MODE, _mode, 0); + } + int64_t group() const { + return GetField(VT_GROUP, 0); + } + bool mutate_group(int64_t _group) { + return SetField(VT_GROUP, _group, 0); + } + int64_t in_channel() const { + return GetField(VT_IN_CHANNEL, 0); + } + bool mutate_in_channel(int64_t _in_channel) { + return SetField(VT_IN_CHANNEL, _in_channel, 0); + } + int64_t out_channel() const { + return GetField(VT_OUT_CHANNEL, 0); + } + bool mutate_out_channel(int64_t _out_channel) { + return SetField(VT_OUT_CHANNEL, _out_channel, 0); + } + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + bool mutate_activation_type(mindspore::schema::ActivationType _activation_type) { + return SetField(VT_ACTIVATION_TYPE, static_cast(_activation_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FORMAT) && + VerifyOffset(verifier, VT_KERNEL_SIZE) && + verifier.VerifyVector(kernel_size()) && + VerifyOffset(verifier, VT_STRIDE) && + verifier.VerifyVector(stride()) && + VerifyOffset(verifier, VT_DILATION) && + verifier.VerifyVector(dilation()) && + VerifyField(verifier, VT_PAD_MODE) && + VerifyOffset(verifier, VT_PAD_LIST) && + verifier.VerifyVector(pad_list()) && + VerifyField(verifier, VT_MODE) && + VerifyField(verifier, VT_GROUP) && + VerifyField(verifier, VT_IN_CHANNEL) && + VerifyField(verifier, VT_OUT_CHANNEL) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + verifier.EndTable(); + } + Conv2DFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(Conv2DFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const Conv2DFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct Conv2DFusionBuilder { + typedef Conv2DFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_format(mindspore::schema::Format format) { + fbb_.AddElement(Conv2DFusion::VT_FORMAT, static_cast(format), 0); + } + void add_kernel_size(flatbuffers::Offset> kernel_size) { + fbb_.AddOffset(Conv2DFusion::VT_KERNEL_SIZE, kernel_size); + } + void add_stride(flatbuffers::Offset> stride) { + fbb_.AddOffset(Conv2DFusion::VT_STRIDE, stride); + } + void add_dilation(flatbuffers::Offset> dilation) { + fbb_.AddOffset(Conv2DFusion::VT_DILATION, dilation); + } + void add_pad_mode(mindspore::schema::PadMode pad_mode) { + fbb_.AddElement(Conv2DFusion::VT_PAD_MODE, static_cast(pad_mode), 0); + } + void add_pad_list(flatbuffers::Offset> pad_list) { + fbb_.AddOffset(Conv2DFusion::VT_PAD_LIST, pad_list); + } + void add_mode(int64_t mode) { + fbb_.AddElement(Conv2DFusion::VT_MODE, mode, 0); + } + void add_group(int64_t group) { + fbb_.AddElement(Conv2DFusion::VT_GROUP, group, 0); + } + void add_in_channel(int64_t in_channel) { + fbb_.AddElement(Conv2DFusion::VT_IN_CHANNEL, in_channel, 0); + } + void add_out_channel(int64_t out_channel) { + fbb_.AddElement(Conv2DFusion::VT_OUT_CHANNEL, out_channel, 0); + } + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(Conv2DFusion::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + explicit Conv2DFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateConv2DFusion( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + flatbuffers::Offset> kernel_size = 0, + flatbuffers::Offset> stride = 0, + flatbuffers::Offset> dilation = 0, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + flatbuffers::Offset> pad_list = 0, + int64_t mode = 0, + int64_t group = 0, + int64_t in_channel = 0, + int64_t out_channel = 0, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + Conv2DFusionBuilder builder_(_fbb); + builder_.add_out_channel(out_channel); + builder_.add_in_channel(in_channel); + builder_.add_group(group); + builder_.add_mode(mode); + builder_.add_pad_list(pad_list); + builder_.add_dilation(dilation); + builder_.add_stride(stride); + builder_.add_kernel_size(kernel_size); + builder_.add_format(format); + builder_.add_activation_type(activation_type); + builder_.add_pad_mode(pad_mode); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateConv2DFusionDirect( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + const std::vector *kernel_size = nullptr, + const std::vector *stride = nullptr, + const std::vector *dilation = nullptr, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + const std::vector *pad_list = nullptr, + int64_t mode = 0, + int64_t group = 0, + int64_t in_channel = 0, + int64_t out_channel = 0, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + auto kernel_size__ = kernel_size ? _fbb.CreateVector(*kernel_size) : 0; + auto stride__ = stride ? _fbb.CreateVector(*stride) : 0; + auto dilation__ = dilation ? _fbb.CreateVector(*dilation) : 0; + auto pad_list__ = pad_list ? _fbb.CreateVector(*pad_list) : 0; + return mindspore::schema::CreateConv2DFusion( + _fbb, + format, + kernel_size__, + stride__, + dilation__, + pad_mode, + pad_list__, + mode, + group, + in_channel, + out_channel, + activation_type); +} + +flatbuffers::Offset CreateConv2DFusion(flatbuffers::FlatBufferBuilder &_fbb, const Conv2DFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct Conv2dTransposeFusionT : public flatbuffers::NativeTable { + typedef Conv2dTransposeFusion TableType; + mindspore::schema::Format format = mindspore::schema::Format_NCHW; + std::vector kernel_size{}; + std::vector stride{}; + std::vector dilation{}; + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD; + std::vector pad{}; + std::vector pad_list{}; + int64_t mode = 0; + int64_t group = 0; + int64_t in_channel = 0; + int64_t out_channel = 0; + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION; + std::vector output_paddings{}; +}; + +struct Conv2dTransposeFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef Conv2dTransposeFusionT NativeTableType; + typedef Conv2dTransposeFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return Conv2dTransposeFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FORMAT = 4, + VT_KERNEL_SIZE = 6, + VT_STRIDE = 8, + VT_DILATION = 10, + VT_PAD_MODE = 12, + VT_PAD = 14, + VT_PAD_LIST = 16, + VT_MODE = 18, + VT_GROUP = 20, + VT_IN_CHANNEL = 22, + VT_OUT_CHANNEL = 24, + VT_ACTIVATION_TYPE = 26, + VT_OUTPUT_PADDINGS = 28 + }; + mindspore::schema::Format format() const { + return static_cast(GetField(VT_FORMAT, 0)); + } + bool mutate_format(mindspore::schema::Format _format) { + return SetField(VT_FORMAT, static_cast(_format), 0); + } + const flatbuffers::Vector *kernel_size() const { + return GetPointer *>(VT_KERNEL_SIZE); + } + flatbuffers::Vector *mutable_kernel_size() { + return GetPointer *>(VT_KERNEL_SIZE); + } + const flatbuffers::Vector *stride() const { + return GetPointer *>(VT_STRIDE); + } + flatbuffers::Vector *mutable_stride() { + return GetPointer *>(VT_STRIDE); + } + const flatbuffers::Vector *dilation() const { + return GetPointer *>(VT_DILATION); + } + flatbuffers::Vector *mutable_dilation() { + return GetPointer *>(VT_DILATION); + } + mindspore::schema::PadMode pad_mode() const { + return static_cast(GetField(VT_PAD_MODE, 0)); + } + bool mutate_pad_mode(mindspore::schema::PadMode _pad_mode) { + return SetField(VT_PAD_MODE, static_cast(_pad_mode), 0); + } + const flatbuffers::Vector *pad() const { + return GetPointer *>(VT_PAD); + } + flatbuffers::Vector *mutable_pad() { + return GetPointer *>(VT_PAD); + } + const flatbuffers::Vector *pad_list() const { + return GetPointer *>(VT_PAD_LIST); + } + flatbuffers::Vector *mutable_pad_list() { + return GetPointer *>(VT_PAD_LIST); + } + int64_t mode() const { + return GetField(VT_MODE, 0); + } + bool mutate_mode(int64_t _mode) { + return SetField(VT_MODE, _mode, 0); + } + int64_t group() const { + return GetField(VT_GROUP, 0); + } + bool mutate_group(int64_t _group) { + return SetField(VT_GROUP, _group, 0); + } + int64_t in_channel() const { + return GetField(VT_IN_CHANNEL, 0); + } + bool mutate_in_channel(int64_t _in_channel) { + return SetField(VT_IN_CHANNEL, _in_channel, 0); + } + int64_t out_channel() const { + return GetField(VT_OUT_CHANNEL, 0); + } + bool mutate_out_channel(int64_t _out_channel) { + return SetField(VT_OUT_CHANNEL, _out_channel, 0); + } + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + bool mutate_activation_type(mindspore::schema::ActivationType _activation_type) { + return SetField(VT_ACTIVATION_TYPE, static_cast(_activation_type), 0); + } + const flatbuffers::Vector *output_paddings() const { + return GetPointer *>(VT_OUTPUT_PADDINGS); + } + flatbuffers::Vector *mutable_output_paddings() { + return GetPointer *>(VT_OUTPUT_PADDINGS); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FORMAT) && + VerifyOffset(verifier, VT_KERNEL_SIZE) && + verifier.VerifyVector(kernel_size()) && + VerifyOffset(verifier, VT_STRIDE) && + verifier.VerifyVector(stride()) && + VerifyOffset(verifier, VT_DILATION) && + verifier.VerifyVector(dilation()) && + VerifyField(verifier, VT_PAD_MODE) && + VerifyOffset(verifier, VT_PAD) && + verifier.VerifyVector(pad()) && + VerifyOffset(verifier, VT_PAD_LIST) && + verifier.VerifyVector(pad_list()) && + VerifyField(verifier, VT_MODE) && + VerifyField(verifier, VT_GROUP) && + VerifyField(verifier, VT_IN_CHANNEL) && + VerifyField(verifier, VT_OUT_CHANNEL) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + VerifyOffset(verifier, VT_OUTPUT_PADDINGS) && + verifier.VerifyVector(output_paddings()) && + verifier.EndTable(); + } + Conv2dTransposeFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(Conv2dTransposeFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const Conv2dTransposeFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct Conv2dTransposeFusionBuilder { + typedef Conv2dTransposeFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_format(mindspore::schema::Format format) { + fbb_.AddElement(Conv2dTransposeFusion::VT_FORMAT, static_cast(format), 0); + } + void add_kernel_size(flatbuffers::Offset> kernel_size) { + fbb_.AddOffset(Conv2dTransposeFusion::VT_KERNEL_SIZE, kernel_size); + } + void add_stride(flatbuffers::Offset> stride) { + fbb_.AddOffset(Conv2dTransposeFusion::VT_STRIDE, stride); + } + void add_dilation(flatbuffers::Offset> dilation) { + fbb_.AddOffset(Conv2dTransposeFusion::VT_DILATION, dilation); + } + void add_pad_mode(mindspore::schema::PadMode pad_mode) { + fbb_.AddElement(Conv2dTransposeFusion::VT_PAD_MODE, static_cast(pad_mode), 0); + } + void add_pad(flatbuffers::Offset> pad) { + fbb_.AddOffset(Conv2dTransposeFusion::VT_PAD, pad); + } + void add_pad_list(flatbuffers::Offset> pad_list) { + fbb_.AddOffset(Conv2dTransposeFusion::VT_PAD_LIST, pad_list); + } + void add_mode(int64_t mode) { + fbb_.AddElement(Conv2dTransposeFusion::VT_MODE, mode, 0); + } + void add_group(int64_t group) { + fbb_.AddElement(Conv2dTransposeFusion::VT_GROUP, group, 0); + } + void add_in_channel(int64_t in_channel) { + fbb_.AddElement(Conv2dTransposeFusion::VT_IN_CHANNEL, in_channel, 0); + } + void add_out_channel(int64_t out_channel) { + fbb_.AddElement(Conv2dTransposeFusion::VT_OUT_CHANNEL, out_channel, 0); + } + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(Conv2dTransposeFusion::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + void add_output_paddings(flatbuffers::Offset> output_paddings) { + fbb_.AddOffset(Conv2dTransposeFusion::VT_OUTPUT_PADDINGS, output_paddings); + } + explicit Conv2dTransposeFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateConv2dTransposeFusion( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + flatbuffers::Offset> kernel_size = 0, + flatbuffers::Offset> stride = 0, + flatbuffers::Offset> dilation = 0, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + flatbuffers::Offset> pad = 0, + flatbuffers::Offset> pad_list = 0, + int64_t mode = 0, + int64_t group = 0, + int64_t in_channel = 0, + int64_t out_channel = 0, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION, + flatbuffers::Offset> output_paddings = 0) { + Conv2dTransposeFusionBuilder builder_(_fbb); + builder_.add_out_channel(out_channel); + builder_.add_in_channel(in_channel); + builder_.add_group(group); + builder_.add_mode(mode); + builder_.add_output_paddings(output_paddings); + builder_.add_pad_list(pad_list); + builder_.add_pad(pad); + builder_.add_dilation(dilation); + builder_.add_stride(stride); + builder_.add_kernel_size(kernel_size); + builder_.add_format(format); + builder_.add_activation_type(activation_type); + builder_.add_pad_mode(pad_mode); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateConv2dTransposeFusionDirect( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + const std::vector *kernel_size = nullptr, + const std::vector *stride = nullptr, + const std::vector *dilation = nullptr, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + const std::vector *pad = nullptr, + const std::vector *pad_list = nullptr, + int64_t mode = 0, + int64_t group = 0, + int64_t in_channel = 0, + int64_t out_channel = 0, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION, + const std::vector *output_paddings = nullptr) { + auto kernel_size__ = kernel_size ? _fbb.CreateVector(*kernel_size) : 0; + auto stride__ = stride ? _fbb.CreateVector(*stride) : 0; + auto dilation__ = dilation ? _fbb.CreateVector(*dilation) : 0; + auto pad__ = pad ? _fbb.CreateVector(*pad) : 0; + auto pad_list__ = pad_list ? _fbb.CreateVector(*pad_list) : 0; + auto output_paddings__ = output_paddings ? _fbb.CreateVector(*output_paddings) : 0; + return mindspore::schema::CreateConv2dTransposeFusion( + _fbb, + format, + kernel_size__, + stride__, + dilation__, + pad_mode, + pad__, + pad_list__, + mode, + group, + in_channel, + out_channel, + activation_type, + output_paddings__); +} + +flatbuffers::Offset CreateConv2dTransposeFusion(flatbuffers::FlatBufferBuilder &_fbb, const Conv2dTransposeFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct CosT : public flatbuffers::NativeTable { + typedef Cos TableType; +}; + +struct Cos FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CosT NativeTableType; + typedef CosBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return CosTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + CosT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(CosT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const CosT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct CosBuilder { + typedef Cos Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit CosBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateCos( + flatbuffers::FlatBufferBuilder &_fbb) { + CosBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateCos(flatbuffers::FlatBufferBuilder &_fbb, const CosT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ConstantOfShapeT : public flatbuffers::NativeTable { + typedef ConstantOfShape TableType; + int64_t data_type = 0; + std::vector value{}; +}; + +struct ConstantOfShape FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ConstantOfShapeT NativeTableType; + typedef ConstantOfShapeBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ConstantOfShapeTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_DATA_TYPE = 4, + VT_VALUE = 6 + }; + int64_t data_type() const { + return GetField(VT_DATA_TYPE, 0); + } + bool mutate_data_type(int64_t _data_type) { + return SetField(VT_DATA_TYPE, _data_type, 0); + } + const flatbuffers::Vector *value() const { + return GetPointer *>(VT_VALUE); + } + flatbuffers::Vector *mutable_value() { + return GetPointer *>(VT_VALUE); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_DATA_TYPE) && + VerifyOffset(verifier, VT_VALUE) && + verifier.VerifyVector(value()) && + verifier.EndTable(); + } + ConstantOfShapeT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ConstantOfShapeT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ConstantOfShapeT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ConstantOfShapeBuilder { + typedef ConstantOfShape Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_data_type(int64_t data_type) { + fbb_.AddElement(ConstantOfShape::VT_DATA_TYPE, data_type, 0); + } + void add_value(flatbuffers::Offset> value) { + fbb_.AddOffset(ConstantOfShape::VT_VALUE, value); + } + explicit ConstantOfShapeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateConstantOfShape( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t data_type = 0, + flatbuffers::Offset> value = 0) { + ConstantOfShapeBuilder builder_(_fbb); + builder_.add_data_type(data_type); + builder_.add_value(value); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateConstantOfShapeDirect( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t data_type = 0, + const std::vector *value = nullptr) { + auto value__ = value ? _fbb.CreateVector(*value) : 0; + return mindspore::schema::CreateConstantOfShape( + _fbb, + data_type, + value__); +} + +flatbuffers::Offset CreateConstantOfShape(flatbuffers::FlatBufferBuilder &_fbb, const ConstantOfShapeT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct CropT : public flatbuffers::NativeTable { + typedef Crop TableType; + int64_t axis = 0; + std::vector offsets{}; +}; + +struct Crop FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CropT NativeTableType; + typedef CropBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return CropTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4, + VT_OFFSETS = 6 + }; + int64_t axis() const { + return GetField(VT_AXIS, 0); + } + bool mutate_axis(int64_t _axis) { + return SetField(VT_AXIS, _axis, 0); + } + const flatbuffers::Vector *offsets() const { + return GetPointer *>(VT_OFFSETS); + } + flatbuffers::Vector *mutable_offsets() { + return GetPointer *>(VT_OFFSETS); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_AXIS) && + VerifyOffset(verifier, VT_OFFSETS) && + verifier.VerifyVector(offsets()) && + verifier.EndTable(); + } + CropT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(CropT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const CropT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct CropBuilder { + typedef Crop Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(int64_t axis) { + fbb_.AddElement(Crop::VT_AXIS, axis, 0); + } + void add_offsets(flatbuffers::Offset> offsets) { + fbb_.AddOffset(Crop::VT_OFFSETS, offsets); + } + explicit CropBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateCrop( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t axis = 0, + flatbuffers::Offset> offsets = 0) { + CropBuilder builder_(_fbb); + builder_.add_axis(axis); + builder_.add_offsets(offsets); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateCropDirect( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t axis = 0, + const std::vector *offsets = nullptr) { + auto offsets__ = offsets ? _fbb.CreateVector(*offsets) : 0; + return mindspore::schema::CreateCrop( + _fbb, + axis, + offsets__); +} + +flatbuffers::Offset CreateCrop(flatbuffers::FlatBufferBuilder &_fbb, const CropT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct CustomExtractFeaturesT : public flatbuffers::NativeTable { + typedef CustomExtractFeatures TableType; +}; + +struct CustomExtractFeatures FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CustomExtractFeaturesT NativeTableType; + typedef CustomExtractFeaturesBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return CustomExtractFeaturesTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + CustomExtractFeaturesT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(CustomExtractFeaturesT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const CustomExtractFeaturesT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct CustomExtractFeaturesBuilder { + typedef CustomExtractFeatures Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit CustomExtractFeaturesBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateCustomExtractFeatures( + flatbuffers::FlatBufferBuilder &_fbb) { + CustomExtractFeaturesBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateCustomExtractFeatures(flatbuffers::FlatBufferBuilder &_fbb, const CustomExtractFeaturesT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct CustomNormalizeT : public flatbuffers::NativeTable { + typedef CustomNormalize TableType; +}; + +struct CustomNormalize FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CustomNormalizeT NativeTableType; + typedef CustomNormalizeBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return CustomNormalizeTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + CustomNormalizeT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(CustomNormalizeT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const CustomNormalizeT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct CustomNormalizeBuilder { + typedef CustomNormalize Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit CustomNormalizeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateCustomNormalize( + flatbuffers::FlatBufferBuilder &_fbb) { + CustomNormalizeBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateCustomNormalize(flatbuffers::FlatBufferBuilder &_fbb, const CustomNormalizeT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct CustomPredictT : public flatbuffers::NativeTable { + typedef CustomPredict TableType; + int64_t output_num = 0; + float weight_threshold = 0.0f; +}; + +struct CustomPredict FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CustomPredictT NativeTableType; + typedef CustomPredictBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return CustomPredictTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_OUTPUT_NUM = 4, + VT_WEIGHT_THRESHOLD = 6 + }; + int64_t output_num() const { + return GetField(VT_OUTPUT_NUM, 0); + } + bool mutate_output_num(int64_t _output_num) { + return SetField(VT_OUTPUT_NUM, _output_num, 0); + } + float weight_threshold() const { + return GetField(VT_WEIGHT_THRESHOLD, 0.0f); + } + bool mutate_weight_threshold(float _weight_threshold) { + return SetField(VT_WEIGHT_THRESHOLD, _weight_threshold, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_OUTPUT_NUM) && + VerifyField(verifier, VT_WEIGHT_THRESHOLD) && + verifier.EndTable(); + } + CustomPredictT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(CustomPredictT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const CustomPredictT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct CustomPredictBuilder { + typedef CustomPredict Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_output_num(int64_t output_num) { + fbb_.AddElement(CustomPredict::VT_OUTPUT_NUM, output_num, 0); + } + void add_weight_threshold(float weight_threshold) { + fbb_.AddElement(CustomPredict::VT_WEIGHT_THRESHOLD, weight_threshold, 0.0f); + } + explicit CustomPredictBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateCustomPredict( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t output_num = 0, + float weight_threshold = 0.0f) { + CustomPredictBuilder builder_(_fbb); + builder_.add_output_num(output_num); + builder_.add_weight_threshold(weight_threshold); + return builder_.Finish(); +} + +flatbuffers::Offset CreateCustomPredict(flatbuffers::FlatBufferBuilder &_fbb, const CustomPredictT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct DeConv2DGradFilterT : public flatbuffers::NativeTable { + typedef DeConv2DGradFilter TableType; + int64_t in_channel = 0; + int64_t out_channel = 0; + std::vector kernel_size{}; + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD; + std::vector pad_list{}; + std::vector stride{}; + std::vector dilation{}; + int64_t group = 0; + mindspore::schema::Format format = mindspore::schema::Format_NCHW; + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION; +}; + +struct DeConv2DGradFilter FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DeConv2DGradFilterT NativeTableType; + typedef DeConv2DGradFilterBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return DeConv2DGradFilterTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_IN_CHANNEL = 4, + VT_OUT_CHANNEL = 6, + VT_KERNEL_SIZE = 8, + VT_PAD_MODE = 10, + VT_PAD_LIST = 12, + VT_STRIDE = 14, + VT_DILATION = 16, + VT_GROUP = 18, + VT_FORMAT = 20, + VT_ACTIVATION_TYPE = 22 + }; + int64_t in_channel() const { + return GetField(VT_IN_CHANNEL, 0); + } + bool mutate_in_channel(int64_t _in_channel) { + return SetField(VT_IN_CHANNEL, _in_channel, 0); + } + int64_t out_channel() const { + return GetField(VT_OUT_CHANNEL, 0); + } + bool mutate_out_channel(int64_t _out_channel) { + return SetField(VT_OUT_CHANNEL, _out_channel, 0); + } + const flatbuffers::Vector *kernel_size() const { + return GetPointer *>(VT_KERNEL_SIZE); + } + flatbuffers::Vector *mutable_kernel_size() { + return GetPointer *>(VT_KERNEL_SIZE); + } + mindspore::schema::PadMode pad_mode() const { + return static_cast(GetField(VT_PAD_MODE, 0)); + } + bool mutate_pad_mode(mindspore::schema::PadMode _pad_mode) { + return SetField(VT_PAD_MODE, static_cast(_pad_mode), 0); + } + const flatbuffers::Vector *pad_list() const { + return GetPointer *>(VT_PAD_LIST); + } + flatbuffers::Vector *mutable_pad_list() { + return GetPointer *>(VT_PAD_LIST); + } + const flatbuffers::Vector *stride() const { + return GetPointer *>(VT_STRIDE); + } + flatbuffers::Vector *mutable_stride() { + return GetPointer *>(VT_STRIDE); + } + const flatbuffers::Vector *dilation() const { + return GetPointer *>(VT_DILATION); + } + flatbuffers::Vector *mutable_dilation() { + return GetPointer *>(VT_DILATION); + } + int64_t group() const { + return GetField(VT_GROUP, 0); + } + bool mutate_group(int64_t _group) { + return SetField(VT_GROUP, _group, 0); + } + mindspore::schema::Format format() const { + return static_cast(GetField(VT_FORMAT, 0)); + } + bool mutate_format(mindspore::schema::Format _format) { + return SetField(VT_FORMAT, static_cast(_format), 0); + } + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + bool mutate_activation_type(mindspore::schema::ActivationType _activation_type) { + return SetField(VT_ACTIVATION_TYPE, static_cast(_activation_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_IN_CHANNEL) && + VerifyField(verifier, VT_OUT_CHANNEL) && + VerifyOffset(verifier, VT_KERNEL_SIZE) && + verifier.VerifyVector(kernel_size()) && + VerifyField(verifier, VT_PAD_MODE) && + VerifyOffset(verifier, VT_PAD_LIST) && + verifier.VerifyVector(pad_list()) && + VerifyOffset(verifier, VT_STRIDE) && + verifier.VerifyVector(stride()) && + VerifyOffset(verifier, VT_DILATION) && + verifier.VerifyVector(dilation()) && + VerifyField(verifier, VT_GROUP) && + VerifyField(verifier, VT_FORMAT) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + verifier.EndTable(); + } + DeConv2DGradFilterT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(DeConv2DGradFilterT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const DeConv2DGradFilterT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct DeConv2DGradFilterBuilder { + typedef DeConv2DGradFilter Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_in_channel(int64_t in_channel) { + fbb_.AddElement(DeConv2DGradFilter::VT_IN_CHANNEL, in_channel, 0); + } + void add_out_channel(int64_t out_channel) { + fbb_.AddElement(DeConv2DGradFilter::VT_OUT_CHANNEL, out_channel, 0); + } + void add_kernel_size(flatbuffers::Offset> kernel_size) { + fbb_.AddOffset(DeConv2DGradFilter::VT_KERNEL_SIZE, kernel_size); + } + void add_pad_mode(mindspore::schema::PadMode pad_mode) { + fbb_.AddElement(DeConv2DGradFilter::VT_PAD_MODE, static_cast(pad_mode), 0); + } + void add_pad_list(flatbuffers::Offset> pad_list) { + fbb_.AddOffset(DeConv2DGradFilter::VT_PAD_LIST, pad_list); + } + void add_stride(flatbuffers::Offset> stride) { + fbb_.AddOffset(DeConv2DGradFilter::VT_STRIDE, stride); + } + void add_dilation(flatbuffers::Offset> dilation) { + fbb_.AddOffset(DeConv2DGradFilter::VT_DILATION, dilation); + } + void add_group(int64_t group) { + fbb_.AddElement(DeConv2DGradFilter::VT_GROUP, group, 0); + } + void add_format(mindspore::schema::Format format) { + fbb_.AddElement(DeConv2DGradFilter::VT_FORMAT, static_cast(format), 0); + } + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(DeConv2DGradFilter::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + explicit DeConv2DGradFilterBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateDeConv2DGradFilter( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t in_channel = 0, + int64_t out_channel = 0, + flatbuffers::Offset> kernel_size = 0, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + flatbuffers::Offset> pad_list = 0, + flatbuffers::Offset> stride = 0, + flatbuffers::Offset> dilation = 0, + int64_t group = 0, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + DeConv2DGradFilterBuilder builder_(_fbb); + builder_.add_group(group); + builder_.add_out_channel(out_channel); + builder_.add_in_channel(in_channel); + builder_.add_format(format); + builder_.add_dilation(dilation); + builder_.add_stride(stride); + builder_.add_pad_list(pad_list); + builder_.add_kernel_size(kernel_size); + builder_.add_activation_type(activation_type); + builder_.add_pad_mode(pad_mode); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateDeConv2DGradFilterDirect( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t in_channel = 0, + int64_t out_channel = 0, + const std::vector *kernel_size = nullptr, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + const std::vector *pad_list = nullptr, + const std::vector *stride = nullptr, + const std::vector *dilation = nullptr, + int64_t group = 0, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + auto kernel_size__ = kernel_size ? _fbb.CreateVector(*kernel_size) : 0; + auto pad_list__ = pad_list ? _fbb.CreateVector(*pad_list) : 0; + auto stride__ = stride ? _fbb.CreateVector(*stride) : 0; + auto dilation__ = dilation ? _fbb.CreateVector(*dilation) : 0; + return mindspore::schema::CreateDeConv2DGradFilter( + _fbb, + in_channel, + out_channel, + kernel_size__, + pad_mode, + pad_list__, + stride__, + dilation__, + group, + format, + activation_type); +} + +flatbuffers::Offset CreateDeConv2DGradFilter(flatbuffers::FlatBufferBuilder &_fbb, const DeConv2DGradFilterT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct DependT : public flatbuffers::NativeTable { + typedef Depend TableType; +}; + +struct Depend FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DependT NativeTableType; + typedef DependBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return DependTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + DependT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(DependT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const DependT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct DependBuilder { + typedef Depend Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit DependBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateDepend( + flatbuffers::FlatBufferBuilder &_fbb) { + DependBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateDepend(flatbuffers::FlatBufferBuilder &_fbb, const DependT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct DepthToSpaceT : public flatbuffers::NativeTable { + typedef DepthToSpace TableType; + int64_t block_size = 0; + mindspore::schema::Format format = mindspore::schema::Format_NCHW; + std::string mode{}; +}; + +struct DepthToSpace FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DepthToSpaceT NativeTableType; + typedef DepthToSpaceBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return DepthToSpaceTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BLOCK_SIZE = 4, + VT_FORMAT = 6, + VT_MODE = 8 + }; + int64_t block_size() const { + return GetField(VT_BLOCK_SIZE, 0); + } + bool mutate_block_size(int64_t _block_size) { + return SetField(VT_BLOCK_SIZE, _block_size, 0); + } + mindspore::schema::Format format() const { + return static_cast(GetField(VT_FORMAT, 0)); + } + bool mutate_format(mindspore::schema::Format _format) { + return SetField(VT_FORMAT, static_cast(_format), 0); + } + const flatbuffers::String *mode() const { + return GetPointer(VT_MODE); + } + flatbuffers::String *mutable_mode() { + return GetPointer(VT_MODE); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BLOCK_SIZE) && + VerifyField(verifier, VT_FORMAT) && + VerifyOffset(verifier, VT_MODE) && + verifier.VerifyString(mode()) && + verifier.EndTable(); + } + DepthToSpaceT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(DepthToSpaceT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const DepthToSpaceT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct DepthToSpaceBuilder { + typedef DepthToSpace Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_block_size(int64_t block_size) { + fbb_.AddElement(DepthToSpace::VT_BLOCK_SIZE, block_size, 0); + } + void add_format(mindspore::schema::Format format) { + fbb_.AddElement(DepthToSpace::VT_FORMAT, static_cast(format), 0); + } + void add_mode(flatbuffers::Offset mode) { + fbb_.AddOffset(DepthToSpace::VT_MODE, mode); + } + explicit DepthToSpaceBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateDepthToSpace( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t block_size = 0, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + flatbuffers::Offset mode = 0) { + DepthToSpaceBuilder builder_(_fbb); + builder_.add_block_size(block_size); + builder_.add_mode(mode); + builder_.add_format(format); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateDepthToSpaceDirect( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t block_size = 0, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + const char *mode = nullptr) { + auto mode__ = mode ? _fbb.CreateString(mode) : 0; + return mindspore::schema::CreateDepthToSpace( + _fbb, + block_size, + format, + mode__); +} + +flatbuffers::Offset CreateDepthToSpace(flatbuffers::FlatBufferBuilder &_fbb, const DepthToSpaceT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct DetectionPostProcessT : public flatbuffers::NativeTable { + typedef DetectionPostProcess TableType; + mindspore::schema::Format format = mindspore::schema::Format_NCHW; + int64_t input_size = 0; + std::vector scale{}; + float nms_iou_threshold = 0.0f; + float nms_score_threshold = 0.0f; + int64_t max_detections = 0; + int64_t detections_per_class = 0; + int64_t max_classes_per_detection = 0; + int64_t num_classes = 0; + bool use_regular_nms = false; + bool out_quantized = false; +}; + +struct DetectionPostProcess FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DetectionPostProcessT NativeTableType; + typedef DetectionPostProcessBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return DetectionPostProcessTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FORMAT = 4, + VT_INPUT_SIZE = 6, + VT_SCALE = 8, + VT_NMS_IOU_THRESHOLD = 10, + VT_NMS_SCORE_THRESHOLD = 12, + VT_MAX_DETECTIONS = 14, + VT_DETECTIONS_PER_CLASS = 16, + VT_MAX_CLASSES_PER_DETECTION = 18, + VT_NUM_CLASSES = 20, + VT_USE_REGULAR_NMS = 22, + VT_OUT_QUANTIZED = 24 + }; + mindspore::schema::Format format() const { + return static_cast(GetField(VT_FORMAT, 0)); + } + bool mutate_format(mindspore::schema::Format _format) { + return SetField(VT_FORMAT, static_cast(_format), 0); + } + int64_t input_size() const { + return GetField(VT_INPUT_SIZE, 0); + } + bool mutate_input_size(int64_t _input_size) { + return SetField(VT_INPUT_SIZE, _input_size, 0); + } + const flatbuffers::Vector *scale() const { + return GetPointer *>(VT_SCALE); + } + flatbuffers::Vector *mutable_scale() { + return GetPointer *>(VT_SCALE); + } + float nms_iou_threshold() const { + return GetField(VT_NMS_IOU_THRESHOLD, 0.0f); + } + bool mutate_nms_iou_threshold(float _nms_iou_threshold) { + return SetField(VT_NMS_IOU_THRESHOLD, _nms_iou_threshold, 0.0f); + } + float nms_score_threshold() const { + return GetField(VT_NMS_SCORE_THRESHOLD, 0.0f); + } + bool mutate_nms_score_threshold(float _nms_score_threshold) { + return SetField(VT_NMS_SCORE_THRESHOLD, _nms_score_threshold, 0.0f); + } + int64_t max_detections() const { + return GetField(VT_MAX_DETECTIONS, 0); + } + bool mutate_max_detections(int64_t _max_detections) { + return SetField(VT_MAX_DETECTIONS, _max_detections, 0); + } + int64_t detections_per_class() const { + return GetField(VT_DETECTIONS_PER_CLASS, 0); + } + bool mutate_detections_per_class(int64_t _detections_per_class) { + return SetField(VT_DETECTIONS_PER_CLASS, _detections_per_class, 0); + } + int64_t max_classes_per_detection() const { + return GetField(VT_MAX_CLASSES_PER_DETECTION, 0); + } + bool mutate_max_classes_per_detection(int64_t _max_classes_per_detection) { + return SetField(VT_MAX_CLASSES_PER_DETECTION, _max_classes_per_detection, 0); + } + int64_t num_classes() const { + return GetField(VT_NUM_CLASSES, 0); + } + bool mutate_num_classes(int64_t _num_classes) { + return SetField(VT_NUM_CLASSES, _num_classes, 0); + } + bool use_regular_nms() const { + return GetField(VT_USE_REGULAR_NMS, 0) != 0; + } + bool mutate_use_regular_nms(bool _use_regular_nms) { + return SetField(VT_USE_REGULAR_NMS, static_cast(_use_regular_nms), 0); + } + bool out_quantized() const { + return GetField(VT_OUT_QUANTIZED, 0) != 0; + } + bool mutate_out_quantized(bool _out_quantized) { + return SetField(VT_OUT_QUANTIZED, static_cast(_out_quantized), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FORMAT) && + VerifyField(verifier, VT_INPUT_SIZE) && + VerifyOffset(verifier, VT_SCALE) && + verifier.VerifyVector(scale()) && + VerifyField(verifier, VT_NMS_IOU_THRESHOLD) && + VerifyField(verifier, VT_NMS_SCORE_THRESHOLD) && + VerifyField(verifier, VT_MAX_DETECTIONS) && + VerifyField(verifier, VT_DETECTIONS_PER_CLASS) && + VerifyField(verifier, VT_MAX_CLASSES_PER_DETECTION) && + VerifyField(verifier, VT_NUM_CLASSES) && + VerifyField(verifier, VT_USE_REGULAR_NMS) && + VerifyField(verifier, VT_OUT_QUANTIZED) && + verifier.EndTable(); + } + DetectionPostProcessT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(DetectionPostProcessT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const DetectionPostProcessT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct DetectionPostProcessBuilder { + typedef DetectionPostProcess Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_format(mindspore::schema::Format format) { + fbb_.AddElement(DetectionPostProcess::VT_FORMAT, static_cast(format), 0); + } + void add_input_size(int64_t input_size) { + fbb_.AddElement(DetectionPostProcess::VT_INPUT_SIZE, input_size, 0); + } + void add_scale(flatbuffers::Offset> scale) { + fbb_.AddOffset(DetectionPostProcess::VT_SCALE, scale); + } + void add_nms_iou_threshold(float nms_iou_threshold) { + fbb_.AddElement(DetectionPostProcess::VT_NMS_IOU_THRESHOLD, nms_iou_threshold, 0.0f); + } + void add_nms_score_threshold(float nms_score_threshold) { + fbb_.AddElement(DetectionPostProcess::VT_NMS_SCORE_THRESHOLD, nms_score_threshold, 0.0f); + } + void add_max_detections(int64_t max_detections) { + fbb_.AddElement(DetectionPostProcess::VT_MAX_DETECTIONS, max_detections, 0); + } + void add_detections_per_class(int64_t detections_per_class) { + fbb_.AddElement(DetectionPostProcess::VT_DETECTIONS_PER_CLASS, detections_per_class, 0); + } + void add_max_classes_per_detection(int64_t max_classes_per_detection) { + fbb_.AddElement(DetectionPostProcess::VT_MAX_CLASSES_PER_DETECTION, max_classes_per_detection, 0); + } + void add_num_classes(int64_t num_classes) { + fbb_.AddElement(DetectionPostProcess::VT_NUM_CLASSES, num_classes, 0); + } + void add_use_regular_nms(bool use_regular_nms) { + fbb_.AddElement(DetectionPostProcess::VT_USE_REGULAR_NMS, static_cast(use_regular_nms), 0); + } + void add_out_quantized(bool out_quantized) { + fbb_.AddElement(DetectionPostProcess::VT_OUT_QUANTIZED, static_cast(out_quantized), 0); + } + explicit DetectionPostProcessBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateDetectionPostProcess( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + int64_t input_size = 0, + flatbuffers::Offset> scale = 0, + float nms_iou_threshold = 0.0f, + float nms_score_threshold = 0.0f, + int64_t max_detections = 0, + int64_t detections_per_class = 0, + int64_t max_classes_per_detection = 0, + int64_t num_classes = 0, + bool use_regular_nms = false, + bool out_quantized = false) { + DetectionPostProcessBuilder builder_(_fbb); + builder_.add_num_classes(num_classes); + builder_.add_max_classes_per_detection(max_classes_per_detection); + builder_.add_detections_per_class(detections_per_class); + builder_.add_max_detections(max_detections); + builder_.add_input_size(input_size); + builder_.add_nms_score_threshold(nms_score_threshold); + builder_.add_nms_iou_threshold(nms_iou_threshold); + builder_.add_scale(scale); + builder_.add_format(format); + builder_.add_out_quantized(out_quantized); + builder_.add_use_regular_nms(use_regular_nms); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateDetectionPostProcessDirect( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + int64_t input_size = 0, + const std::vector *scale = nullptr, + float nms_iou_threshold = 0.0f, + float nms_score_threshold = 0.0f, + int64_t max_detections = 0, + int64_t detections_per_class = 0, + int64_t max_classes_per_detection = 0, + int64_t num_classes = 0, + bool use_regular_nms = false, + bool out_quantized = false) { + auto scale__ = scale ? _fbb.CreateVector(*scale) : 0; + return mindspore::schema::CreateDetectionPostProcess( + _fbb, + format, + input_size, + scale__, + nms_iou_threshold, + nms_score_threshold, + max_detections, + detections_per_class, + max_classes_per_detection, + num_classes, + use_regular_nms, + out_quantized); +} + +flatbuffers::Offset CreateDetectionPostProcess(flatbuffers::FlatBufferBuilder &_fbb, const DetectionPostProcessT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct DivFusionT : public flatbuffers::NativeTable { + typedef DivFusion TableType; + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION; +}; + +struct DivFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DivFusionT NativeTableType; + typedef DivFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return DivFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ACTIVATION_TYPE = 4 + }; + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + bool mutate_activation_type(mindspore::schema::ActivationType _activation_type) { + return SetField(VT_ACTIVATION_TYPE, static_cast(_activation_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + verifier.EndTable(); + } + DivFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(DivFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const DivFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct DivFusionBuilder { + typedef DivFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(DivFusion::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + explicit DivFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateDivFusion( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + DivFusionBuilder builder_(_fbb); + builder_.add_activation_type(activation_type); + return builder_.Finish(); +} + +flatbuffers::Offset CreateDivFusion(flatbuffers::FlatBufferBuilder &_fbb, const DivFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct DivGradT : public flatbuffers::NativeTable { + typedef DivGrad TableType; +}; + +struct DivGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DivGradT NativeTableType; + typedef DivGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return DivGradTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + DivGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(DivGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const DivGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct DivGradBuilder { + typedef DivGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit DivGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateDivGrad( + flatbuffers::FlatBufferBuilder &_fbb) { + DivGradBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateDivGrad(flatbuffers::FlatBufferBuilder &_fbb, const DivGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct DropoutT : public flatbuffers::NativeTable { + typedef Dropout TableType; + float keep_prob = 0.5f; +}; + +struct Dropout FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DropoutT NativeTableType; + typedef DropoutBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return DropoutTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_KEEP_PROB = 4 + }; + float keep_prob() const { + return GetField(VT_KEEP_PROB, 0.5f); + } + bool mutate_keep_prob(float _keep_prob) { + return SetField(VT_KEEP_PROB, _keep_prob, 0.5f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_KEEP_PROB) && + verifier.EndTable(); + } + DropoutT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(DropoutT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const DropoutT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct DropoutBuilder { + typedef Dropout Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_keep_prob(float keep_prob) { + fbb_.AddElement(Dropout::VT_KEEP_PROB, keep_prob, 0.5f); + } + explicit DropoutBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateDropout( + flatbuffers::FlatBufferBuilder &_fbb, + float keep_prob = 0.5f) { + DropoutBuilder builder_(_fbb); + builder_.add_keep_prob(keep_prob); + return builder_.Finish(); +} + +flatbuffers::Offset CreateDropout(flatbuffers::FlatBufferBuilder &_fbb, const DropoutT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct DropoutGradT : public flatbuffers::NativeTable { + typedef DropoutGrad TableType; + float keep_prob = 0.0f; +}; + +struct DropoutGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DropoutGradT NativeTableType; + typedef DropoutGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return DropoutGradTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_KEEP_PROB = 4 + }; + float keep_prob() const { + return GetField(VT_KEEP_PROB, 0.0f); + } + bool mutate_keep_prob(float _keep_prob) { + return SetField(VT_KEEP_PROB, _keep_prob, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_KEEP_PROB) && + verifier.EndTable(); + } + DropoutGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(DropoutGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const DropoutGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct DropoutGradBuilder { + typedef DropoutGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_keep_prob(float keep_prob) { + fbb_.AddElement(DropoutGrad::VT_KEEP_PROB, keep_prob, 0.0f); + } + explicit DropoutGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateDropoutGrad( + flatbuffers::FlatBufferBuilder &_fbb, + float keep_prob = 0.0f) { + DropoutGradBuilder builder_(_fbb); + builder_.add_keep_prob(keep_prob); + return builder_.Finish(); +} + +flatbuffers::Offset CreateDropoutGrad(flatbuffers::FlatBufferBuilder &_fbb, const DropoutGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct EluT : public flatbuffers::NativeTable { + typedef Elu TableType; + float alpha = 0.0f; +}; + +struct Elu FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef EluT NativeTableType; + typedef EluBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return EluTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ALPHA = 4 + }; + float alpha() const { + return GetField(VT_ALPHA, 0.0f); + } + bool mutate_alpha(float _alpha) { + return SetField(VT_ALPHA, _alpha, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ALPHA) && + verifier.EndTable(); + } + EluT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(EluT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const EluT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct EluBuilder { + typedef Elu Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_alpha(float alpha) { + fbb_.AddElement(Elu::VT_ALPHA, alpha, 0.0f); + } + explicit EluBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateElu( + flatbuffers::FlatBufferBuilder &_fbb, + float alpha = 0.0f) { + EluBuilder builder_(_fbb); + builder_.add_alpha(alpha); + return builder_.Finish(); +} + +flatbuffers::Offset CreateElu(flatbuffers::FlatBufferBuilder &_fbb, const EluT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct EltwiseT : public flatbuffers::NativeTable { + typedef Eltwise TableType; + mindspore::schema::EltwiseMode mode = mindspore::schema::EltwiseMode_PROD; +}; + +struct Eltwise FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef EltwiseT NativeTableType; + typedef EltwiseBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return EltwiseTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_MODE = 4 + }; + mindspore::schema::EltwiseMode mode() const { + return static_cast(GetField(VT_MODE, 0)); + } + bool mutate_mode(mindspore::schema::EltwiseMode _mode) { + return SetField(VT_MODE, static_cast(_mode), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_MODE) && + verifier.EndTable(); + } + EltwiseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(EltwiseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const EltwiseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct EltwiseBuilder { + typedef Eltwise Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_mode(mindspore::schema::EltwiseMode mode) { + fbb_.AddElement(Eltwise::VT_MODE, static_cast(mode), 0); + } + explicit EltwiseBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateEltwise( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::EltwiseMode mode = mindspore::schema::EltwiseMode_PROD) { + EltwiseBuilder builder_(_fbb); + builder_.add_mode(mode); + return builder_.Finish(); +} + +flatbuffers::Offset CreateEltwise(flatbuffers::FlatBufferBuilder &_fbb, const EltwiseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct EqualT : public flatbuffers::NativeTable { + typedef Equal TableType; +}; + +struct Equal FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef EqualT NativeTableType; + typedef EqualBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return EqualTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + EqualT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(EqualT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const EqualT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct EqualBuilder { + typedef Equal Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit EqualBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateEqual( + flatbuffers::FlatBufferBuilder &_fbb) { + EqualBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateEqual(flatbuffers::FlatBufferBuilder &_fbb, const EqualT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct EmbeddingLookupFusionT : public flatbuffers::NativeTable { + typedef EmbeddingLookupFusion TableType; + float max_norm = 0.0f; +}; + +struct EmbeddingLookupFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef EmbeddingLookupFusionT NativeTableType; + typedef EmbeddingLookupFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return EmbeddingLookupFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_MAX_NORM = 4 + }; + float max_norm() const { + return GetField(VT_MAX_NORM, 0.0f); + } + bool mutate_max_norm(float _max_norm) { + return SetField(VT_MAX_NORM, _max_norm, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_MAX_NORM) && + verifier.EndTable(); + } + EmbeddingLookupFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(EmbeddingLookupFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const EmbeddingLookupFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct EmbeddingLookupFusionBuilder { + typedef EmbeddingLookupFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_max_norm(float max_norm) { + fbb_.AddElement(EmbeddingLookupFusion::VT_MAX_NORM, max_norm, 0.0f); + } + explicit EmbeddingLookupFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateEmbeddingLookupFusion( + flatbuffers::FlatBufferBuilder &_fbb, + float max_norm = 0.0f) { + EmbeddingLookupFusionBuilder builder_(_fbb); + builder_.add_max_norm(max_norm); + return builder_.Finish(); +} + +flatbuffers::Offset CreateEmbeddingLookupFusion(flatbuffers::FlatBufferBuilder &_fbb, const EmbeddingLookupFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ExpFusionT : public flatbuffers::NativeTable { + typedef ExpFusion TableType; + float base = -1.0f; + float scale = 1.0f; + float shift = 0.0f; +}; + +struct ExpFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ExpFusionT NativeTableType; + typedef ExpFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ExpFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BASE = 4, + VT_SCALE = 6, + VT_SHIFT = 8 + }; + float base() const { + return GetField(VT_BASE, -1.0f); + } + bool mutate_base(float _base) { + return SetField(VT_BASE, _base, -1.0f); + } + float scale() const { + return GetField(VT_SCALE, 1.0f); + } + bool mutate_scale(float _scale) { + return SetField(VT_SCALE, _scale, 1.0f); + } + float shift() const { + return GetField(VT_SHIFT, 0.0f); + } + bool mutate_shift(float _shift) { + return SetField(VT_SHIFT, _shift, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BASE) && + VerifyField(verifier, VT_SCALE) && + VerifyField(verifier, VT_SHIFT) && + verifier.EndTable(); + } + ExpFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ExpFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ExpFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ExpFusionBuilder { + typedef ExpFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_base(float base) { + fbb_.AddElement(ExpFusion::VT_BASE, base, -1.0f); + } + void add_scale(float scale) { + fbb_.AddElement(ExpFusion::VT_SCALE, scale, 1.0f); + } + void add_shift(float shift) { + fbb_.AddElement(ExpFusion::VT_SHIFT, shift, 0.0f); + } + explicit ExpFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateExpFusion( + flatbuffers::FlatBufferBuilder &_fbb, + float base = -1.0f, + float scale = 1.0f, + float shift = 0.0f) { + ExpFusionBuilder builder_(_fbb); + builder_.add_shift(shift); + builder_.add_scale(scale); + builder_.add_base(base); + return builder_.Finish(); +} + +flatbuffers::Offset CreateExpFusion(flatbuffers::FlatBufferBuilder &_fbb, const ExpFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ExpandDimsT : public flatbuffers::NativeTable { + typedef ExpandDims TableType; +}; + +struct ExpandDims FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ExpandDimsT NativeTableType; + typedef ExpandDimsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ExpandDimsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + ExpandDimsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ExpandDimsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ExpandDimsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ExpandDimsBuilder { + typedef ExpandDims Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ExpandDimsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateExpandDims( + flatbuffers::FlatBufferBuilder &_fbb) { + ExpandDimsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateExpandDims(flatbuffers::FlatBufferBuilder &_fbb, const ExpandDimsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct FakeQuantWithMinMaxVarsT : public flatbuffers::NativeTable { + typedef FakeQuantWithMinMaxVars TableType; + int64_t num_bits = 0; + bool narrow_range = false; +}; + +struct FakeQuantWithMinMaxVars FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FakeQuantWithMinMaxVarsT NativeTableType; + typedef FakeQuantWithMinMaxVarsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return FakeQuantWithMinMaxVarsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NUM_BITS = 4, + VT_NARROW_RANGE = 6 + }; + int64_t num_bits() const { + return GetField(VT_NUM_BITS, 0); + } + bool mutate_num_bits(int64_t _num_bits) { + return SetField(VT_NUM_BITS, _num_bits, 0); + } + bool narrow_range() const { + return GetField(VT_NARROW_RANGE, 0) != 0; + } + bool mutate_narrow_range(bool _narrow_range) { + return SetField(VT_NARROW_RANGE, static_cast(_narrow_range), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_NUM_BITS) && + VerifyField(verifier, VT_NARROW_RANGE) && + verifier.EndTable(); + } + FakeQuantWithMinMaxVarsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(FakeQuantWithMinMaxVarsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const FakeQuantWithMinMaxVarsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct FakeQuantWithMinMaxVarsBuilder { + typedef FakeQuantWithMinMaxVars Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_num_bits(int64_t num_bits) { + fbb_.AddElement(FakeQuantWithMinMaxVars::VT_NUM_BITS, num_bits, 0); + } + void add_narrow_range(bool narrow_range) { + fbb_.AddElement(FakeQuantWithMinMaxVars::VT_NARROW_RANGE, static_cast(narrow_range), 0); + } + explicit FakeQuantWithMinMaxVarsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateFakeQuantWithMinMaxVars( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t num_bits = 0, + bool narrow_range = false) { + FakeQuantWithMinMaxVarsBuilder builder_(_fbb); + builder_.add_num_bits(num_bits); + builder_.add_narrow_range(narrow_range); + return builder_.Finish(); +} + +flatbuffers::Offset CreateFakeQuantWithMinMaxVars(flatbuffers::FlatBufferBuilder &_fbb, const FakeQuantWithMinMaxVarsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct FakeQuantWithMinMaxVarsPerChannelT : public flatbuffers::NativeTable { + typedef FakeQuantWithMinMaxVarsPerChannel TableType; + int64_t num_bits = 0; + bool narrow_range = false; +}; + +struct FakeQuantWithMinMaxVarsPerChannel FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FakeQuantWithMinMaxVarsPerChannelT NativeTableType; + typedef FakeQuantWithMinMaxVarsPerChannelBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return FakeQuantWithMinMaxVarsPerChannelTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NUM_BITS = 4, + VT_NARROW_RANGE = 6 + }; + int64_t num_bits() const { + return GetField(VT_NUM_BITS, 0); + } + bool mutate_num_bits(int64_t _num_bits) { + return SetField(VT_NUM_BITS, _num_bits, 0); + } + bool narrow_range() const { + return GetField(VT_NARROW_RANGE, 0) != 0; + } + bool mutate_narrow_range(bool _narrow_range) { + return SetField(VT_NARROW_RANGE, static_cast(_narrow_range), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_NUM_BITS) && + VerifyField(verifier, VT_NARROW_RANGE) && + verifier.EndTable(); + } + FakeQuantWithMinMaxVarsPerChannelT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(FakeQuantWithMinMaxVarsPerChannelT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const FakeQuantWithMinMaxVarsPerChannelT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct FakeQuantWithMinMaxVarsPerChannelBuilder { + typedef FakeQuantWithMinMaxVarsPerChannel Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_num_bits(int64_t num_bits) { + fbb_.AddElement(FakeQuantWithMinMaxVarsPerChannel::VT_NUM_BITS, num_bits, 0); + } + void add_narrow_range(bool narrow_range) { + fbb_.AddElement(FakeQuantWithMinMaxVarsPerChannel::VT_NARROW_RANGE, static_cast(narrow_range), 0); + } + explicit FakeQuantWithMinMaxVarsPerChannelBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateFakeQuantWithMinMaxVarsPerChannel( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t num_bits = 0, + bool narrow_range = false) { + FakeQuantWithMinMaxVarsPerChannelBuilder builder_(_fbb); + builder_.add_num_bits(num_bits); + builder_.add_narrow_range(narrow_range); + return builder_.Finish(); +} + +flatbuffers::Offset CreateFakeQuantWithMinMaxVarsPerChannel(flatbuffers::FlatBufferBuilder &_fbb, const FakeQuantWithMinMaxVarsPerChannelT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct FftRealT : public flatbuffers::NativeTable { + typedef FftReal TableType; +}; + +struct FftReal FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FftRealT NativeTableType; + typedef FftRealBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return FftRealTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + FftRealT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(FftRealT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const FftRealT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct FftRealBuilder { + typedef FftReal Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit FftRealBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateFftReal( + flatbuffers::FlatBufferBuilder &_fbb) { + FftRealBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateFftReal(flatbuffers::FlatBufferBuilder &_fbb, const FftRealT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct FftImagT : public flatbuffers::NativeTable { + typedef FftImag TableType; +}; + +struct FftImag FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FftImagT NativeTableType; + typedef FftImagBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return FftImagTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + FftImagT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(FftImagT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const FftImagT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct FftImagBuilder { + typedef FftImag Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit FftImagBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateFftImag( + flatbuffers::FlatBufferBuilder &_fbb) { + FftImagBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateFftImag(flatbuffers::FlatBufferBuilder &_fbb, const FftImagT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct FlattenT : public flatbuffers::NativeTable { + typedef Flatten TableType; + int64_t axis = 1LL; +}; + +struct Flatten FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FlattenT NativeTableType; + typedef FlattenBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return FlattenTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4 + }; + int64_t axis() const { + return GetField(VT_AXIS, 1LL); + } + bool mutate_axis(int64_t _axis) { + return SetField(VT_AXIS, _axis, 1LL); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_AXIS) && + verifier.EndTable(); + } + FlattenT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(FlattenT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const FlattenT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct FlattenBuilder { + typedef Flatten Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(int64_t axis) { + fbb_.AddElement(Flatten::VT_AXIS, axis, 1LL); + } + explicit FlattenBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateFlatten( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t axis = 1LL) { + FlattenBuilder builder_(_fbb); + builder_.add_axis(axis); + return builder_.Finish(); +} + +flatbuffers::Offset CreateFlatten(flatbuffers::FlatBufferBuilder &_fbb, const FlattenT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct FlattenGradT : public flatbuffers::NativeTable { + typedef FlattenGrad TableType; +}; + +struct FlattenGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FlattenGradT NativeTableType; + typedef FlattenGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return FlattenGradTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + FlattenGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(FlattenGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const FlattenGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct FlattenGradBuilder { + typedef FlattenGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit FlattenGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateFlattenGrad( + flatbuffers::FlatBufferBuilder &_fbb) { + FlattenGradBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateFlattenGrad(flatbuffers::FlatBufferBuilder &_fbb, const FlattenGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct FloorT : public flatbuffers::NativeTable { + typedef Floor TableType; +}; + +struct Floor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FloorT NativeTableType; + typedef FloorBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return FloorTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + FloorT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(FloorT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const FloorT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct FloorBuilder { + typedef Floor Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit FloorBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateFloor( + flatbuffers::FlatBufferBuilder &_fbb) { + FloorBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateFloor(flatbuffers::FlatBufferBuilder &_fbb, const FloorT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct FloorDivT : public flatbuffers::NativeTable { + typedef FloorDiv TableType; +}; + +struct FloorDiv FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FloorDivT NativeTableType; + typedef FloorDivBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return FloorDivTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + FloorDivT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(FloorDivT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const FloorDivT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct FloorDivBuilder { + typedef FloorDiv Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit FloorDivBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateFloorDiv( + flatbuffers::FlatBufferBuilder &_fbb) { + FloorDivBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateFloorDiv(flatbuffers::FlatBufferBuilder &_fbb, const FloorDivT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct FloorModT : public flatbuffers::NativeTable { + typedef FloorMod TableType; +}; + +struct FloorMod FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FloorModT NativeTableType; + typedef FloorModBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return FloorModTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + FloorModT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(FloorModT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const FloorModT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct FloorModBuilder { + typedef FloorMod Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit FloorModBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateFloorMod( + flatbuffers::FlatBufferBuilder &_fbb) { + FloorModBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateFloorMod(flatbuffers::FlatBufferBuilder &_fbb, const FloorModT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct FillT : public flatbuffers::NativeTable { + typedef Fill TableType; +}; + +struct Fill FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FillT NativeTableType; + typedef FillBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return FillTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + FillT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(FillT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const FillT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct FillBuilder { + typedef Fill Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit FillBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateFill( + flatbuffers::FlatBufferBuilder &_fbb) { + FillBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateFill(flatbuffers::FlatBufferBuilder &_fbb, const FillT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct FullConnectionT : public flatbuffers::NativeTable { + typedef FullConnection TableType; + bool has_bias = false; + bool use_axis = false; + int64_t axis = 0; + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION; +}; + +struct FullConnection FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FullConnectionT NativeTableType; + typedef FullConnectionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return FullConnectionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_HAS_BIAS = 4, + VT_USE_AXIS = 6, + VT_AXIS = 8, + VT_ACTIVATION_TYPE = 10 + }; + bool has_bias() const { + return GetField(VT_HAS_BIAS, 0) != 0; + } + bool mutate_has_bias(bool _has_bias) { + return SetField(VT_HAS_BIAS, static_cast(_has_bias), 0); + } + bool use_axis() const { + return GetField(VT_USE_AXIS, 0) != 0; + } + bool mutate_use_axis(bool _use_axis) { + return SetField(VT_USE_AXIS, static_cast(_use_axis), 0); + } + int64_t axis() const { + return GetField(VT_AXIS, 0); + } + bool mutate_axis(int64_t _axis) { + return SetField(VT_AXIS, _axis, 0); + } + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + bool mutate_activation_type(mindspore::schema::ActivationType _activation_type) { + return SetField(VT_ACTIVATION_TYPE, static_cast(_activation_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_HAS_BIAS) && + VerifyField(verifier, VT_USE_AXIS) && + VerifyField(verifier, VT_AXIS) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + verifier.EndTable(); + } + FullConnectionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(FullConnectionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const FullConnectionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct FullConnectionBuilder { + typedef FullConnection Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_has_bias(bool has_bias) { + fbb_.AddElement(FullConnection::VT_HAS_BIAS, static_cast(has_bias), 0); + } + void add_use_axis(bool use_axis) { + fbb_.AddElement(FullConnection::VT_USE_AXIS, static_cast(use_axis), 0); + } + void add_axis(int64_t axis) { + fbb_.AddElement(FullConnection::VT_AXIS, axis, 0); + } + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(FullConnection::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + explicit FullConnectionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateFullConnection( + flatbuffers::FlatBufferBuilder &_fbb, + bool has_bias = false, + bool use_axis = false, + int64_t axis = 0, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + FullConnectionBuilder builder_(_fbb); + builder_.add_axis(axis); + builder_.add_activation_type(activation_type); + builder_.add_use_axis(use_axis); + builder_.add_has_bias(has_bias); + return builder_.Finish(); +} + +flatbuffers::Offset CreateFullConnection(flatbuffers::FlatBufferBuilder &_fbb, const FullConnectionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct FusedBatchNormT : public flatbuffers::NativeTable { + typedef FusedBatchNorm TableType; + float epsilon = 0.0001f; + float momentum = 0.9f; + int64_t mode = 0; +}; + +struct FusedBatchNorm FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FusedBatchNormT NativeTableType; + typedef FusedBatchNormBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return FusedBatchNormTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_EPSILON = 4, + VT_MOMENTUM = 6, + VT_MODE = 8 + }; + float epsilon() const { + return GetField(VT_EPSILON, 0.0001f); + } + bool mutate_epsilon(float _epsilon) { + return SetField(VT_EPSILON, _epsilon, 0.0001f); + } + float momentum() const { + return GetField(VT_MOMENTUM, 0.9f); + } + bool mutate_momentum(float _momentum) { + return SetField(VT_MOMENTUM, _momentum, 0.9f); + } + int64_t mode() const { + return GetField(VT_MODE, 0); + } + bool mutate_mode(int64_t _mode) { + return SetField(VT_MODE, _mode, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_EPSILON) && + VerifyField(verifier, VT_MOMENTUM) && + VerifyField(verifier, VT_MODE) && + verifier.EndTable(); + } + FusedBatchNormT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(FusedBatchNormT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const FusedBatchNormT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct FusedBatchNormBuilder { + typedef FusedBatchNorm Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_epsilon(float epsilon) { + fbb_.AddElement(FusedBatchNorm::VT_EPSILON, epsilon, 0.0001f); + } + void add_momentum(float momentum) { + fbb_.AddElement(FusedBatchNorm::VT_MOMENTUM, momentum, 0.9f); + } + void add_mode(int64_t mode) { + fbb_.AddElement(FusedBatchNorm::VT_MODE, mode, 0); + } + explicit FusedBatchNormBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateFusedBatchNorm( + flatbuffers::FlatBufferBuilder &_fbb, + float epsilon = 0.0001f, + float momentum = 0.9f, + int64_t mode = 0) { + FusedBatchNormBuilder builder_(_fbb); + builder_.add_mode(mode); + builder_.add_momentum(momentum); + builder_.add_epsilon(epsilon); + return builder_.Finish(); +} + +flatbuffers::Offset CreateFusedBatchNorm(flatbuffers::FlatBufferBuilder &_fbb, const FusedBatchNormT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct GatherT : public flatbuffers::NativeTable { + typedef Gather TableType; +}; + +struct Gather FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GatherT NativeTableType; + typedef GatherBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return GatherTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + GatherT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(GatherT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const GatherT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct GatherBuilder { + typedef Gather Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit GatherBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateGather( + flatbuffers::FlatBufferBuilder &_fbb) { + GatherBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateGather(flatbuffers::FlatBufferBuilder &_fbb, const GatherT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct GatherNdT : public flatbuffers::NativeTable { + typedef GatherNd TableType; +}; + +struct GatherNd FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GatherNdT NativeTableType; + typedef GatherNdBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return GatherNdTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + GatherNdT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(GatherNdT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const GatherNdT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct GatherNdBuilder { + typedef GatherNd Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit GatherNdBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateGatherNd( + flatbuffers::FlatBufferBuilder &_fbb) { + GatherNdBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateGatherNd(flatbuffers::FlatBufferBuilder &_fbb, const GatherNdT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct GreaterT : public flatbuffers::NativeTable { + typedef Greater TableType; +}; + +struct Greater FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GreaterT NativeTableType; + typedef GreaterBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return GreaterTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + GreaterT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(GreaterT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const GreaterT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct GreaterBuilder { + typedef Greater Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit GreaterBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateGreater( + flatbuffers::FlatBufferBuilder &_fbb) { + GreaterBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateGreater(flatbuffers::FlatBufferBuilder &_fbb, const GreaterT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct GreaterEqualT : public flatbuffers::NativeTable { + typedef GreaterEqual TableType; +}; + +struct GreaterEqual FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GreaterEqualT NativeTableType; + typedef GreaterEqualBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return GreaterEqualTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + GreaterEqualT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(GreaterEqualT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const GreaterEqualT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct GreaterEqualBuilder { + typedef GreaterEqual Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit GreaterEqualBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateGreaterEqual( + flatbuffers::FlatBufferBuilder &_fbb) { + GreaterEqualBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateGreaterEqual(flatbuffers::FlatBufferBuilder &_fbb, const GreaterEqualT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct HashtableLookupT : public flatbuffers::NativeTable { + typedef HashtableLookup TableType; +}; + +struct HashtableLookup FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef HashtableLookupT NativeTableType; + typedef HashtableLookupBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return HashtableLookupTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + HashtableLookupT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(HashtableLookupT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const HashtableLookupT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct HashtableLookupBuilder { + typedef HashtableLookup Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit HashtableLookupBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateHashtableLookup( + flatbuffers::FlatBufferBuilder &_fbb) { + HashtableLookupBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateHashtableLookup(flatbuffers::FlatBufferBuilder &_fbb, const HashtableLookupT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct InstanceNormT : public flatbuffers::NativeTable { + typedef InstanceNorm TableType; + float epsilon = 0.0f; +}; + +struct InstanceNorm FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef InstanceNormT NativeTableType; + typedef InstanceNormBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return InstanceNormTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_EPSILON = 4 + }; + float epsilon() const { + return GetField(VT_EPSILON, 0.0f); + } + bool mutate_epsilon(float _epsilon) { + return SetField(VT_EPSILON, _epsilon, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_EPSILON) && + verifier.EndTable(); + } + InstanceNormT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(InstanceNormT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const InstanceNormT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct InstanceNormBuilder { + typedef InstanceNorm Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_epsilon(float epsilon) { + fbb_.AddElement(InstanceNorm::VT_EPSILON, epsilon, 0.0f); + } + explicit InstanceNormBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateInstanceNorm( + flatbuffers::FlatBufferBuilder &_fbb, + float epsilon = 0.0f) { + InstanceNormBuilder builder_(_fbb); + builder_.add_epsilon(epsilon); + return builder_.Finish(); +} + +flatbuffers::Offset CreateInstanceNorm(flatbuffers::FlatBufferBuilder &_fbb, const InstanceNormT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LayerNormFusionT : public flatbuffers::NativeTable { + typedef LayerNormFusion TableType; + int64_t begin_norm_axis = 0; + float epsilon = 0.00001f; + bool elementwise_affine = false; + int64_t begin_params_axis = 0; +}; + +struct LayerNormFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LayerNormFusionT NativeTableType; + typedef LayerNormFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LayerNormFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BEGIN_NORM_AXIS = 4, + VT_EPSILON = 6, + VT_ELEMENTWISE_AFFINE = 8, + VT_BEGIN_PARAMS_AXIS = 10 + }; + int64_t begin_norm_axis() const { + return GetField(VT_BEGIN_NORM_AXIS, 0); + } + bool mutate_begin_norm_axis(int64_t _begin_norm_axis) { + return SetField(VT_BEGIN_NORM_AXIS, _begin_norm_axis, 0); + } + float epsilon() const { + return GetField(VT_EPSILON, 0.00001f); + } + bool mutate_epsilon(float _epsilon) { + return SetField(VT_EPSILON, _epsilon, 0.00001f); + } + bool elementwise_affine() const { + return GetField(VT_ELEMENTWISE_AFFINE, 0) != 0; + } + bool mutate_elementwise_affine(bool _elementwise_affine) { + return SetField(VT_ELEMENTWISE_AFFINE, static_cast(_elementwise_affine), 0); + } + int64_t begin_params_axis() const { + return GetField(VT_BEGIN_PARAMS_AXIS, 0); + } + bool mutate_begin_params_axis(int64_t _begin_params_axis) { + return SetField(VT_BEGIN_PARAMS_AXIS, _begin_params_axis, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BEGIN_NORM_AXIS) && + VerifyField(verifier, VT_EPSILON) && + VerifyField(verifier, VT_ELEMENTWISE_AFFINE) && + VerifyField(verifier, VT_BEGIN_PARAMS_AXIS) && + verifier.EndTable(); + } + LayerNormFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LayerNormFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LayerNormFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LayerNormFusionBuilder { + typedef LayerNormFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_begin_norm_axis(int64_t begin_norm_axis) { + fbb_.AddElement(LayerNormFusion::VT_BEGIN_NORM_AXIS, begin_norm_axis, 0); + } + void add_epsilon(float epsilon) { + fbb_.AddElement(LayerNormFusion::VT_EPSILON, epsilon, 0.00001f); + } + void add_elementwise_affine(bool elementwise_affine) { + fbb_.AddElement(LayerNormFusion::VT_ELEMENTWISE_AFFINE, static_cast(elementwise_affine), 0); + } + void add_begin_params_axis(int64_t begin_params_axis) { + fbb_.AddElement(LayerNormFusion::VT_BEGIN_PARAMS_AXIS, begin_params_axis, 0); + } + explicit LayerNormFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLayerNormFusion( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t begin_norm_axis = 0, + float epsilon = 0.00001f, + bool elementwise_affine = false, + int64_t begin_params_axis = 0) { + LayerNormFusionBuilder builder_(_fbb); + builder_.add_begin_params_axis(begin_params_axis); + builder_.add_begin_norm_axis(begin_norm_axis); + builder_.add_epsilon(epsilon); + builder_.add_elementwise_affine(elementwise_affine); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLayerNormFusion(flatbuffers::FlatBufferBuilder &_fbb, const LayerNormFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LeakyReluT : public flatbuffers::NativeTable { + typedef LeakyRelu TableType; + float negative_slope = 0.0f; +}; + +struct LeakyRelu FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LeakyReluT NativeTableType; + typedef LeakyReluBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LeakyReluTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NEGATIVE_SLOPE = 4 + }; + float negative_slope() const { + return GetField(VT_NEGATIVE_SLOPE, 0.0f); + } + bool mutate_negative_slope(float _negative_slope) { + return SetField(VT_NEGATIVE_SLOPE, _negative_slope, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_NEGATIVE_SLOPE) && + verifier.EndTable(); + } + LeakyReluT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LeakyReluT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LeakyReluT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LeakyReluBuilder { + typedef LeakyRelu Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_negative_slope(float negative_slope) { + fbb_.AddElement(LeakyRelu::VT_NEGATIVE_SLOPE, negative_slope, 0.0f); + } + explicit LeakyReluBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLeakyRelu( + flatbuffers::FlatBufferBuilder &_fbb, + float negative_slope = 0.0f) { + LeakyReluBuilder builder_(_fbb); + builder_.add_negative_slope(negative_slope); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLeakyRelu(flatbuffers::FlatBufferBuilder &_fbb, const LeakyReluT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LessT : public flatbuffers::NativeTable { + typedef Less TableType; +}; + +struct Less FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LessT NativeTableType; + typedef LessBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LessTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + LessT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LessT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LessT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LessBuilder { + typedef Less Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LessBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLess( + flatbuffers::FlatBufferBuilder &_fbb) { + LessBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLess(flatbuffers::FlatBufferBuilder &_fbb, const LessT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LessEqualT : public flatbuffers::NativeTable { + typedef LessEqual TableType; +}; + +struct LessEqual FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LessEqualT NativeTableType; + typedef LessEqualBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LessEqualTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + LessEqualT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LessEqualT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LessEqualT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LessEqualBuilder { + typedef LessEqual Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LessEqualBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLessEqual( + flatbuffers::FlatBufferBuilder &_fbb) { + LessEqualBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLessEqual(flatbuffers::FlatBufferBuilder &_fbb, const LessEqualT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LogT : public flatbuffers::NativeTable { + typedef Log TableType; +}; + +struct Log FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LogT NativeTableType; + typedef LogBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LogTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + LogT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LogT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LogBuilder { + typedef Log Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LogBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLog( + flatbuffers::FlatBufferBuilder &_fbb) { + LogBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLog(flatbuffers::FlatBufferBuilder &_fbb, const LogT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LogGradT : public flatbuffers::NativeTable { + typedef LogGrad TableType; +}; + +struct LogGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LogGradT NativeTableType; + typedef LogGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LogGradTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + LogGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LogGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LogGradBuilder { + typedef LogGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LogGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLogGrad( + flatbuffers::FlatBufferBuilder &_fbb) { + LogGradBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLogGrad(flatbuffers::FlatBufferBuilder &_fbb, const LogGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LogicalAndT : public flatbuffers::NativeTable { + typedef LogicalAnd TableType; +}; + +struct LogicalAnd FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LogicalAndT NativeTableType; + typedef LogicalAndBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LogicalAndTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + LogicalAndT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LogicalAndT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogicalAndT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LogicalAndBuilder { + typedef LogicalAnd Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LogicalAndBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLogicalAnd( + flatbuffers::FlatBufferBuilder &_fbb) { + LogicalAndBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLogicalAnd(flatbuffers::FlatBufferBuilder &_fbb, const LogicalAndT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LogicalNotT : public flatbuffers::NativeTable { + typedef LogicalNot TableType; +}; + +struct LogicalNot FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LogicalNotT NativeTableType; + typedef LogicalNotBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LogicalNotTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + LogicalNotT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LogicalNotT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogicalNotT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LogicalNotBuilder { + typedef LogicalNot Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LogicalNotBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLogicalNot( + flatbuffers::FlatBufferBuilder &_fbb) { + LogicalNotBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLogicalNot(flatbuffers::FlatBufferBuilder &_fbb, const LogicalNotT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LogicalOrT : public flatbuffers::NativeTable { + typedef LogicalOr TableType; +}; + +struct LogicalOr FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LogicalOrT NativeTableType; + typedef LogicalOrBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LogicalOrTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + LogicalOrT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LogicalOrT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogicalOrT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LogicalOrBuilder { + typedef LogicalOr Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LogicalOrBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLogicalOr( + flatbuffers::FlatBufferBuilder &_fbb) { + LogicalOrBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLogicalOr(flatbuffers::FlatBufferBuilder &_fbb, const LogicalOrT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LpNormalizationT : public flatbuffers::NativeTable { + typedef LpNormalization TableType; + int64_t axis = 0; + int64_t p = 0; +}; + +struct LpNormalization FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LpNormalizationT NativeTableType; + typedef LpNormalizationBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LpNormalizationTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4, + VT_P = 6 + }; + int64_t axis() const { + return GetField(VT_AXIS, 0); + } + bool mutate_axis(int64_t _axis) { + return SetField(VT_AXIS, _axis, 0); + } + int64_t p() const { + return GetField(VT_P, 0); + } + bool mutate_p(int64_t _p) { + return SetField(VT_P, _p, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_AXIS) && + VerifyField(verifier, VT_P) && + verifier.EndTable(); + } + LpNormalizationT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LpNormalizationT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LpNormalizationT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LpNormalizationBuilder { + typedef LpNormalization Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(int64_t axis) { + fbb_.AddElement(LpNormalization::VT_AXIS, axis, 0); + } + void add_p(int64_t p) { + fbb_.AddElement(LpNormalization::VT_P, p, 0); + } + explicit LpNormalizationBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLpNormalization( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t axis = 0, + int64_t p = 0) { + LpNormalizationBuilder builder_(_fbb); + builder_.add_p(p); + builder_.add_axis(axis); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLpNormalization(flatbuffers::FlatBufferBuilder &_fbb, const LpNormalizationT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LRNT : public flatbuffers::NativeTable { + typedef LRN TableType; + int64_t depth_radius = 0; + float bias = 0.0f; + float alpha = 0.0f; + float beta = 0.0f; + std::string norm_region{}; +}; + +struct LRN FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LRNT NativeTableType; + typedef LRNBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LRNTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_DEPTH_RADIUS = 4, + VT_BIAS = 6, + VT_ALPHA = 8, + VT_BETA = 10, + VT_NORM_REGION = 12 + }; + int64_t depth_radius() const { + return GetField(VT_DEPTH_RADIUS, 0); + } + bool mutate_depth_radius(int64_t _depth_radius) { + return SetField(VT_DEPTH_RADIUS, _depth_radius, 0); + } + float bias() const { + return GetField(VT_BIAS, 0.0f); + } + bool mutate_bias(float _bias) { + return SetField(VT_BIAS, _bias, 0.0f); + } + float alpha() const { + return GetField(VT_ALPHA, 0.0f); + } + bool mutate_alpha(float _alpha) { + return SetField(VT_ALPHA, _alpha, 0.0f); + } + float beta() const { + return GetField(VT_BETA, 0.0f); + } + bool mutate_beta(float _beta) { + return SetField(VT_BETA, _beta, 0.0f); + } + const flatbuffers::String *norm_region() const { + return GetPointer(VT_NORM_REGION); + } + flatbuffers::String *mutable_norm_region() { + return GetPointer(VT_NORM_REGION); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_DEPTH_RADIUS) && + VerifyField(verifier, VT_BIAS) && + VerifyField(verifier, VT_ALPHA) && + VerifyField(verifier, VT_BETA) && + VerifyOffset(verifier, VT_NORM_REGION) && + verifier.VerifyString(norm_region()) && + verifier.EndTable(); + } + LRNT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LRNT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LRNT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LRNBuilder { + typedef LRN Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_depth_radius(int64_t depth_radius) { + fbb_.AddElement(LRN::VT_DEPTH_RADIUS, depth_radius, 0); + } + void add_bias(float bias) { + fbb_.AddElement(LRN::VT_BIAS, bias, 0.0f); + } + void add_alpha(float alpha) { + fbb_.AddElement(LRN::VT_ALPHA, alpha, 0.0f); + } + void add_beta(float beta) { + fbb_.AddElement(LRN::VT_BETA, beta, 0.0f); + } + void add_norm_region(flatbuffers::Offset norm_region) { + fbb_.AddOffset(LRN::VT_NORM_REGION, norm_region); + } + explicit LRNBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLRN( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t depth_radius = 0, + float bias = 0.0f, + float alpha = 0.0f, + float beta = 0.0f, + flatbuffers::Offset norm_region = 0) { + LRNBuilder builder_(_fbb); + builder_.add_depth_radius(depth_radius); + builder_.add_norm_region(norm_region); + builder_.add_beta(beta); + builder_.add_alpha(alpha); + builder_.add_bias(bias); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateLRNDirect( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t depth_radius = 0, + float bias = 0.0f, + float alpha = 0.0f, + float beta = 0.0f, + const char *norm_region = nullptr) { + auto norm_region__ = norm_region ? _fbb.CreateString(norm_region) : 0; + return mindspore::schema::CreateLRN( + _fbb, + depth_radius, + bias, + alpha, + beta, + norm_region__); +} + +flatbuffers::Offset CreateLRN(flatbuffers::FlatBufferBuilder &_fbb, const LRNT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LshProjectionT : public flatbuffers::NativeTable { + typedef LshProjection TableType; + mindspore::schema::LshProjectionType type = mindspore::schema::LshProjectionType_UNKNOWN; +}; + +struct LshProjection FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LshProjectionT NativeTableType; + typedef LshProjectionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LshProjectionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_TYPE = 4 + }; + mindspore::schema::LshProjectionType type() const { + return static_cast(GetField(VT_TYPE, 0)); + } + bool mutate_type(mindspore::schema::LshProjectionType _type) { + return SetField(VT_TYPE, static_cast(_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_TYPE) && + verifier.EndTable(); + } + LshProjectionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LshProjectionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LshProjectionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LshProjectionBuilder { + typedef LshProjection Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_type(mindspore::schema::LshProjectionType type) { + fbb_.AddElement(LshProjection::VT_TYPE, static_cast(type), 0); + } + explicit LshProjectionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLshProjection( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::LshProjectionType type = mindspore::schema::LshProjectionType_UNKNOWN) { + LshProjectionBuilder builder_(_fbb); + builder_.add_type(type); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLshProjection(flatbuffers::FlatBufferBuilder &_fbb, const LshProjectionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LSTMT : public flatbuffers::NativeTable { + typedef LSTM TableType; + bool bidirectional = false; + bool has_bias = false; + int64_t input_size = 0; + int64_t hidden_size = 0; + int64_t num_layers = 0; + int64_t num_directions = 0; + float dropout = 0.0f; + float zoneout_cell = 0.0f; + float zoneout_hidden = 0.0f; +}; + +struct LSTM FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LSTMT NativeTableType; + typedef LSTMBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LSTMTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BIDIRECTIONAL = 4, + VT_HAS_BIAS = 6, + VT_INPUT_SIZE = 8, + VT_HIDDEN_SIZE = 10, + VT_NUM_LAYERS = 12, + VT_NUM_DIRECTIONS = 14, + VT_DROPOUT = 16, + VT_ZONEOUT_CELL = 18, + VT_ZONEOUT_HIDDEN = 20 + }; + bool bidirectional() const { + return GetField(VT_BIDIRECTIONAL, 0) != 0; + } + bool mutate_bidirectional(bool _bidirectional) { + return SetField(VT_BIDIRECTIONAL, static_cast(_bidirectional), 0); + } + bool has_bias() const { + return GetField(VT_HAS_BIAS, 0) != 0; + } + bool mutate_has_bias(bool _has_bias) { + return SetField(VT_HAS_BIAS, static_cast(_has_bias), 0); + } + int64_t input_size() const { + return GetField(VT_INPUT_SIZE, 0); + } + bool mutate_input_size(int64_t _input_size) { + return SetField(VT_INPUT_SIZE, _input_size, 0); + } + int64_t hidden_size() const { + return GetField(VT_HIDDEN_SIZE, 0); + } + bool mutate_hidden_size(int64_t _hidden_size) { + return SetField(VT_HIDDEN_SIZE, _hidden_size, 0); + } + int64_t num_layers() const { + return GetField(VT_NUM_LAYERS, 0); + } + bool mutate_num_layers(int64_t _num_layers) { + return SetField(VT_NUM_LAYERS, _num_layers, 0); + } + int64_t num_directions() const { + return GetField(VT_NUM_DIRECTIONS, 0); + } + bool mutate_num_directions(int64_t _num_directions) { + return SetField(VT_NUM_DIRECTIONS, _num_directions, 0); + } + float dropout() const { + return GetField(VT_DROPOUT, 0.0f); + } + bool mutate_dropout(float _dropout) { + return SetField(VT_DROPOUT, _dropout, 0.0f); + } + float zoneout_cell() const { + return GetField(VT_ZONEOUT_CELL, 0.0f); + } + bool mutate_zoneout_cell(float _zoneout_cell) { + return SetField(VT_ZONEOUT_CELL, _zoneout_cell, 0.0f); + } + float zoneout_hidden() const { + return GetField(VT_ZONEOUT_HIDDEN, 0.0f); + } + bool mutate_zoneout_hidden(float _zoneout_hidden) { + return SetField(VT_ZONEOUT_HIDDEN, _zoneout_hidden, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BIDIRECTIONAL) && + VerifyField(verifier, VT_HAS_BIAS) && + VerifyField(verifier, VT_INPUT_SIZE) && + VerifyField(verifier, VT_HIDDEN_SIZE) && + VerifyField(verifier, VT_NUM_LAYERS) && + VerifyField(verifier, VT_NUM_DIRECTIONS) && + VerifyField(verifier, VT_DROPOUT) && + VerifyField(verifier, VT_ZONEOUT_CELL) && + VerifyField(verifier, VT_ZONEOUT_HIDDEN) && + verifier.EndTable(); + } + LSTMT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LSTMT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LSTMT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LSTMBuilder { + typedef LSTM Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_bidirectional(bool bidirectional) { + fbb_.AddElement(LSTM::VT_BIDIRECTIONAL, static_cast(bidirectional), 0); + } + void add_has_bias(bool has_bias) { + fbb_.AddElement(LSTM::VT_HAS_BIAS, static_cast(has_bias), 0); + } + void add_input_size(int64_t input_size) { + fbb_.AddElement(LSTM::VT_INPUT_SIZE, input_size, 0); + } + void add_hidden_size(int64_t hidden_size) { + fbb_.AddElement(LSTM::VT_HIDDEN_SIZE, hidden_size, 0); + } + void add_num_layers(int64_t num_layers) { + fbb_.AddElement(LSTM::VT_NUM_LAYERS, num_layers, 0); + } + void add_num_directions(int64_t num_directions) { + fbb_.AddElement(LSTM::VT_NUM_DIRECTIONS, num_directions, 0); + } + void add_dropout(float dropout) { + fbb_.AddElement(LSTM::VT_DROPOUT, dropout, 0.0f); + } + void add_zoneout_cell(float zoneout_cell) { + fbb_.AddElement(LSTM::VT_ZONEOUT_CELL, zoneout_cell, 0.0f); + } + void add_zoneout_hidden(float zoneout_hidden) { + fbb_.AddElement(LSTM::VT_ZONEOUT_HIDDEN, zoneout_hidden, 0.0f); + } + explicit LSTMBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLSTM( + flatbuffers::FlatBufferBuilder &_fbb, + bool bidirectional = false, + bool has_bias = false, + int64_t input_size = 0, + int64_t hidden_size = 0, + int64_t num_layers = 0, + int64_t num_directions = 0, + float dropout = 0.0f, + float zoneout_cell = 0.0f, + float zoneout_hidden = 0.0f) { + LSTMBuilder builder_(_fbb); + builder_.add_num_directions(num_directions); + builder_.add_num_layers(num_layers); + builder_.add_hidden_size(hidden_size); + builder_.add_input_size(input_size); + builder_.add_zoneout_hidden(zoneout_hidden); + builder_.add_zoneout_cell(zoneout_cell); + builder_.add_dropout(dropout); + builder_.add_has_bias(has_bias); + builder_.add_bidirectional(bidirectional); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLSTM(flatbuffers::FlatBufferBuilder &_fbb, const LSTMT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LSTMGradT : public flatbuffers::NativeTable { + typedef LSTMGrad TableType; + bool bidirectional = false; + bool has_bias = false; + int64_t input_size = 0; + int64_t hidden_size = 0; + int64_t num_layers = 0; + int64_t num_directions = 0; + float dropout = 0.0f; + float zoneout_cell = 0.0f; + float zoneout_hidden = 0.0f; +}; + +struct LSTMGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LSTMGradT NativeTableType; + typedef LSTMGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LSTMGradTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BIDIRECTIONAL = 4, + VT_HAS_BIAS = 6, + VT_INPUT_SIZE = 8, + VT_HIDDEN_SIZE = 10, + VT_NUM_LAYERS = 12, + VT_NUM_DIRECTIONS = 14, + VT_DROPOUT = 16, + VT_ZONEOUT_CELL = 18, + VT_ZONEOUT_HIDDEN = 20 + }; + bool bidirectional() const { + return GetField(VT_BIDIRECTIONAL, 0) != 0; + } + bool mutate_bidirectional(bool _bidirectional) { + return SetField(VT_BIDIRECTIONAL, static_cast(_bidirectional), 0); + } + bool has_bias() const { + return GetField(VT_HAS_BIAS, 0) != 0; + } + bool mutate_has_bias(bool _has_bias) { + return SetField(VT_HAS_BIAS, static_cast(_has_bias), 0); + } + int64_t input_size() const { + return GetField(VT_INPUT_SIZE, 0); + } + bool mutate_input_size(int64_t _input_size) { + return SetField(VT_INPUT_SIZE, _input_size, 0); + } + int64_t hidden_size() const { + return GetField(VT_HIDDEN_SIZE, 0); + } + bool mutate_hidden_size(int64_t _hidden_size) { + return SetField(VT_HIDDEN_SIZE, _hidden_size, 0); + } + int64_t num_layers() const { + return GetField(VT_NUM_LAYERS, 0); + } + bool mutate_num_layers(int64_t _num_layers) { + return SetField(VT_NUM_LAYERS, _num_layers, 0); + } + int64_t num_directions() const { + return GetField(VT_NUM_DIRECTIONS, 0); + } + bool mutate_num_directions(int64_t _num_directions) { + return SetField(VT_NUM_DIRECTIONS, _num_directions, 0); + } + float dropout() const { + return GetField(VT_DROPOUT, 0.0f); + } + bool mutate_dropout(float _dropout) { + return SetField(VT_DROPOUT, _dropout, 0.0f); + } + float zoneout_cell() const { + return GetField(VT_ZONEOUT_CELL, 0.0f); + } + bool mutate_zoneout_cell(float _zoneout_cell) { + return SetField(VT_ZONEOUT_CELL, _zoneout_cell, 0.0f); + } + float zoneout_hidden() const { + return GetField(VT_ZONEOUT_HIDDEN, 0.0f); + } + bool mutate_zoneout_hidden(float _zoneout_hidden) { + return SetField(VT_ZONEOUT_HIDDEN, _zoneout_hidden, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BIDIRECTIONAL) && + VerifyField(verifier, VT_HAS_BIAS) && + VerifyField(verifier, VT_INPUT_SIZE) && + VerifyField(verifier, VT_HIDDEN_SIZE) && + VerifyField(verifier, VT_NUM_LAYERS) && + VerifyField(verifier, VT_NUM_DIRECTIONS) && + VerifyField(verifier, VT_DROPOUT) && + VerifyField(verifier, VT_ZONEOUT_CELL) && + VerifyField(verifier, VT_ZONEOUT_HIDDEN) && + verifier.EndTable(); + } + LSTMGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LSTMGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LSTMGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LSTMGradBuilder { + typedef LSTMGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_bidirectional(bool bidirectional) { + fbb_.AddElement(LSTMGrad::VT_BIDIRECTIONAL, static_cast(bidirectional), 0); + } + void add_has_bias(bool has_bias) { + fbb_.AddElement(LSTMGrad::VT_HAS_BIAS, static_cast(has_bias), 0); + } + void add_input_size(int64_t input_size) { + fbb_.AddElement(LSTMGrad::VT_INPUT_SIZE, input_size, 0); + } + void add_hidden_size(int64_t hidden_size) { + fbb_.AddElement(LSTMGrad::VT_HIDDEN_SIZE, hidden_size, 0); + } + void add_num_layers(int64_t num_layers) { + fbb_.AddElement(LSTMGrad::VT_NUM_LAYERS, num_layers, 0); + } + void add_num_directions(int64_t num_directions) { + fbb_.AddElement(LSTMGrad::VT_NUM_DIRECTIONS, num_directions, 0); + } + void add_dropout(float dropout) { + fbb_.AddElement(LSTMGrad::VT_DROPOUT, dropout, 0.0f); + } + void add_zoneout_cell(float zoneout_cell) { + fbb_.AddElement(LSTMGrad::VT_ZONEOUT_CELL, zoneout_cell, 0.0f); + } + void add_zoneout_hidden(float zoneout_hidden) { + fbb_.AddElement(LSTMGrad::VT_ZONEOUT_HIDDEN, zoneout_hidden, 0.0f); + } + explicit LSTMGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLSTMGrad( + flatbuffers::FlatBufferBuilder &_fbb, + bool bidirectional = false, + bool has_bias = false, + int64_t input_size = 0, + int64_t hidden_size = 0, + int64_t num_layers = 0, + int64_t num_directions = 0, + float dropout = 0.0f, + float zoneout_cell = 0.0f, + float zoneout_hidden = 0.0f) { + LSTMGradBuilder builder_(_fbb); + builder_.add_num_directions(num_directions); + builder_.add_num_layers(num_layers); + builder_.add_hidden_size(hidden_size); + builder_.add_input_size(input_size); + builder_.add_zoneout_hidden(zoneout_hidden); + builder_.add_zoneout_cell(zoneout_cell); + builder_.add_dropout(dropout); + builder_.add_has_bias(has_bias); + builder_.add_bidirectional(bidirectional); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLSTMGrad(flatbuffers::FlatBufferBuilder &_fbb, const LSTMGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct L2NormalizeFusionT : public flatbuffers::NativeTable { + typedef L2NormalizeFusion TableType; + std::vector axis{}; + float epsilon = 0.0f; + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION; +}; + +struct L2NormalizeFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef L2NormalizeFusionT NativeTableType; + typedef L2NormalizeFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return L2NormalizeFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4, + VT_EPSILON = 6, + VT_ACTIVATION_TYPE = 8 + }; + const flatbuffers::Vector *axis() const { + return GetPointer *>(VT_AXIS); + } + flatbuffers::Vector *mutable_axis() { + return GetPointer *>(VT_AXIS); + } + float epsilon() const { + return GetField(VT_EPSILON, 0.0f); + } + bool mutate_epsilon(float _epsilon) { + return SetField(VT_EPSILON, _epsilon, 0.0f); + } + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + bool mutate_activation_type(mindspore::schema::ActivationType _activation_type) { + return SetField(VT_ACTIVATION_TYPE, static_cast(_activation_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_AXIS) && + verifier.VerifyVector(axis()) && + VerifyField(verifier, VT_EPSILON) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + verifier.EndTable(); + } + L2NormalizeFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(L2NormalizeFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const L2NormalizeFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct L2NormalizeFusionBuilder { + typedef L2NormalizeFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(flatbuffers::Offset> axis) { + fbb_.AddOffset(L2NormalizeFusion::VT_AXIS, axis); + } + void add_epsilon(float epsilon) { + fbb_.AddElement(L2NormalizeFusion::VT_EPSILON, epsilon, 0.0f); + } + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(L2NormalizeFusion::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + explicit L2NormalizeFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateL2NormalizeFusion( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> axis = 0, + float epsilon = 0.0f, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + L2NormalizeFusionBuilder builder_(_fbb); + builder_.add_epsilon(epsilon); + builder_.add_axis(axis); + builder_.add_activation_type(activation_type); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateL2NormalizeFusionDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *axis = nullptr, + float epsilon = 0.0f, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + auto axis__ = axis ? _fbb.CreateVector(*axis) : 0; + return mindspore::schema::CreateL2NormalizeFusion( + _fbb, + axis__, + epsilon, + activation_type); +} + +flatbuffers::Offset CreateL2NormalizeFusion(flatbuffers::FlatBufferBuilder &_fbb, const L2NormalizeFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct MatMulFusionT : public flatbuffers::NativeTable { + typedef MatMulFusion TableType; + bool transpose_a = false; + bool transpose_b = false; + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION; +}; + +struct MatMulFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MatMulFusionT NativeTableType; + typedef MatMulFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return MatMulFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_TRANSPOSE_A = 4, + VT_TRANSPOSE_B = 6, + VT_ACTIVATION_TYPE = 8 + }; + bool transpose_a() const { + return GetField(VT_TRANSPOSE_A, 0) != 0; + } + bool mutate_transpose_a(bool _transpose_a) { + return SetField(VT_TRANSPOSE_A, static_cast(_transpose_a), 0); + } + bool transpose_b() const { + return GetField(VT_TRANSPOSE_B, 0) != 0; + } + bool mutate_transpose_b(bool _transpose_b) { + return SetField(VT_TRANSPOSE_B, static_cast(_transpose_b), 0); + } + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + bool mutate_activation_type(mindspore::schema::ActivationType _activation_type) { + return SetField(VT_ACTIVATION_TYPE, static_cast(_activation_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_TRANSPOSE_A) && + VerifyField(verifier, VT_TRANSPOSE_B) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + verifier.EndTable(); + } + MatMulFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(MatMulFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const MatMulFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct MatMulFusionBuilder { + typedef MatMulFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_transpose_a(bool transpose_a) { + fbb_.AddElement(MatMulFusion::VT_TRANSPOSE_A, static_cast(transpose_a), 0); + } + void add_transpose_b(bool transpose_b) { + fbb_.AddElement(MatMulFusion::VT_TRANSPOSE_B, static_cast(transpose_b), 0); + } + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(MatMulFusion::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + explicit MatMulFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateMatMulFusion( + flatbuffers::FlatBufferBuilder &_fbb, + bool transpose_a = false, + bool transpose_b = false, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + MatMulFusionBuilder builder_(_fbb); + builder_.add_activation_type(activation_type); + builder_.add_transpose_b(transpose_b); + builder_.add_transpose_a(transpose_a); + return builder_.Finish(); +} + +flatbuffers::Offset CreateMatMulFusion(flatbuffers::FlatBufferBuilder &_fbb, const MatMulFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct MaximumT : public flatbuffers::NativeTable { + typedef Maximum TableType; +}; + +struct Maximum FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MaximumT NativeTableType; + typedef MaximumBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return MaximumTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + MaximumT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(MaximumT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const MaximumT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct MaximumBuilder { + typedef Maximum Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit MaximumBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateMaximum( + flatbuffers::FlatBufferBuilder &_fbb) { + MaximumBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateMaximum(flatbuffers::FlatBufferBuilder &_fbb, const MaximumT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct MaximumGradT : public flatbuffers::NativeTable { + typedef MaximumGrad TableType; + bool grad_x = false; + bool grad_y = false; +}; + +struct MaximumGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MaximumGradT NativeTableType; + typedef MaximumGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return MaximumGradTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_GRAD_X = 4, + VT_GRAD_Y = 6 + }; + bool grad_x() const { + return GetField(VT_GRAD_X, 0) != 0; + } + bool mutate_grad_x(bool _grad_x) { + return SetField(VT_GRAD_X, static_cast(_grad_x), 0); + } + bool grad_y() const { + return GetField(VT_GRAD_Y, 0) != 0; + } + bool mutate_grad_y(bool _grad_y) { + return SetField(VT_GRAD_Y, static_cast(_grad_y), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_GRAD_X) && + VerifyField(verifier, VT_GRAD_Y) && + verifier.EndTable(); + } + MaximumGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(MaximumGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const MaximumGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct MaximumGradBuilder { + typedef MaximumGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_grad_x(bool grad_x) { + fbb_.AddElement(MaximumGrad::VT_GRAD_X, static_cast(grad_x), 0); + } + void add_grad_y(bool grad_y) { + fbb_.AddElement(MaximumGrad::VT_GRAD_Y, static_cast(grad_y), 0); + } + explicit MaximumGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateMaximumGrad( + flatbuffers::FlatBufferBuilder &_fbb, + bool grad_x = false, + bool grad_y = false) { + MaximumGradBuilder builder_(_fbb); + builder_.add_grad_y(grad_y); + builder_.add_grad_x(grad_x); + return builder_.Finish(); +} + +flatbuffers::Offset CreateMaximumGrad(flatbuffers::FlatBufferBuilder &_fbb, const MaximumGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct MaxPoolFusionT : public flatbuffers::NativeTable { + typedef MaxPoolFusion TableType; + std::vector kernel_size{}; + std::vector strides{}; + std::vector pad{}; + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD; + mindspore::schema::RoundMode round_mode = mindspore::schema::RoundMode_FLOOR; + mindspore::schema::Format format = mindspore::schema::Format_NCHW; + bool global = false; + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION; +}; + +struct MaxPoolFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MaxPoolFusionT NativeTableType; + typedef MaxPoolFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return MaxPoolFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_KERNEL_SIZE = 4, + VT_STRIDES = 6, + VT_PAD = 8, + VT_PAD_MODE = 10, + VT_ROUND_MODE = 12, + VT_FORMAT = 14, + VT_GLOBAL = 16, + VT_ACTIVATION_TYPE = 18 + }; + const flatbuffers::Vector *kernel_size() const { + return GetPointer *>(VT_KERNEL_SIZE); + } + flatbuffers::Vector *mutable_kernel_size() { + return GetPointer *>(VT_KERNEL_SIZE); + } + const flatbuffers::Vector *strides() const { + return GetPointer *>(VT_STRIDES); + } + flatbuffers::Vector *mutable_strides() { + return GetPointer *>(VT_STRIDES); + } + const flatbuffers::Vector *pad() const { + return GetPointer *>(VT_PAD); + } + flatbuffers::Vector *mutable_pad() { + return GetPointer *>(VT_PAD); + } + mindspore::schema::PadMode pad_mode() const { + return static_cast(GetField(VT_PAD_MODE, 0)); + } + bool mutate_pad_mode(mindspore::schema::PadMode _pad_mode) { + return SetField(VT_PAD_MODE, static_cast(_pad_mode), 0); + } + mindspore::schema::RoundMode round_mode() const { + return static_cast(GetField(VT_ROUND_MODE, 0)); + } + bool mutate_round_mode(mindspore::schema::RoundMode _round_mode) { + return SetField(VT_ROUND_MODE, static_cast(_round_mode), 0); + } + mindspore::schema::Format format() const { + return static_cast(GetField(VT_FORMAT, 0)); + } + bool mutate_format(mindspore::schema::Format _format) { + return SetField(VT_FORMAT, static_cast(_format), 0); + } + bool global() const { + return GetField(VT_GLOBAL, 0) != 0; + } + bool mutate_global(bool _global) { + return SetField(VT_GLOBAL, static_cast(_global), 0); + } + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + bool mutate_activation_type(mindspore::schema::ActivationType _activation_type) { + return SetField(VT_ACTIVATION_TYPE, static_cast(_activation_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_KERNEL_SIZE) && + verifier.VerifyVector(kernel_size()) && + VerifyOffset(verifier, VT_STRIDES) && + verifier.VerifyVector(strides()) && + VerifyOffset(verifier, VT_PAD) && + verifier.VerifyVector(pad()) && + VerifyField(verifier, VT_PAD_MODE) && + VerifyField(verifier, VT_ROUND_MODE) && + VerifyField(verifier, VT_FORMAT) && + VerifyField(verifier, VT_GLOBAL) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + verifier.EndTable(); + } + MaxPoolFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(MaxPoolFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const MaxPoolFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct MaxPoolFusionBuilder { + typedef MaxPoolFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_kernel_size(flatbuffers::Offset> kernel_size) { + fbb_.AddOffset(MaxPoolFusion::VT_KERNEL_SIZE, kernel_size); + } + void add_strides(flatbuffers::Offset> strides) { + fbb_.AddOffset(MaxPoolFusion::VT_STRIDES, strides); + } + void add_pad(flatbuffers::Offset> pad) { + fbb_.AddOffset(MaxPoolFusion::VT_PAD, pad); + } + void add_pad_mode(mindspore::schema::PadMode pad_mode) { + fbb_.AddElement(MaxPoolFusion::VT_PAD_MODE, static_cast(pad_mode), 0); + } + void add_round_mode(mindspore::schema::RoundMode round_mode) { + fbb_.AddElement(MaxPoolFusion::VT_ROUND_MODE, static_cast(round_mode), 0); + } + void add_format(mindspore::schema::Format format) { + fbb_.AddElement(MaxPoolFusion::VT_FORMAT, static_cast(format), 0); + } + void add_global(bool global) { + fbb_.AddElement(MaxPoolFusion::VT_GLOBAL, static_cast(global), 0); + } + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(MaxPoolFusion::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + explicit MaxPoolFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateMaxPoolFusion( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> kernel_size = 0, + flatbuffers::Offset> strides = 0, + flatbuffers::Offset> pad = 0, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + mindspore::schema::RoundMode round_mode = mindspore::schema::RoundMode_FLOOR, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + bool global = false, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + MaxPoolFusionBuilder builder_(_fbb); + builder_.add_format(format); + builder_.add_pad(pad); + builder_.add_strides(strides); + builder_.add_kernel_size(kernel_size); + builder_.add_activation_type(activation_type); + builder_.add_global(global); + builder_.add_round_mode(round_mode); + builder_.add_pad_mode(pad_mode); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateMaxPoolFusionDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *kernel_size = nullptr, + const std::vector *strides = nullptr, + const std::vector *pad = nullptr, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + mindspore::schema::RoundMode round_mode = mindspore::schema::RoundMode_FLOOR, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + bool global = false, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + auto kernel_size__ = kernel_size ? _fbb.CreateVector(*kernel_size) : 0; + auto strides__ = strides ? _fbb.CreateVector(*strides) : 0; + auto pad__ = pad ? _fbb.CreateVector(*pad) : 0; + return mindspore::schema::CreateMaxPoolFusion( + _fbb, + kernel_size__, + strides__, + pad__, + pad_mode, + round_mode, + format, + global, + activation_type); +} + +flatbuffers::Offset CreateMaxPoolFusion(flatbuffers::FlatBufferBuilder &_fbb, const MaxPoolFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct MaxPoolGradT : public flatbuffers::NativeTable { + typedef MaxPoolGrad TableType; + std::vector kernel_size{}; + std::vector strides{}; + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD; + mindspore::schema::Format format = mindspore::schema::Format_NCHW; +}; + +struct MaxPoolGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MaxPoolGradT NativeTableType; + typedef MaxPoolGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return MaxPoolGradTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_KERNEL_SIZE = 4, + VT_STRIDES = 6, + VT_PAD_MODE = 8, + VT_FORMAT = 10 + }; + const flatbuffers::Vector *kernel_size() const { + return GetPointer *>(VT_KERNEL_SIZE); + } + flatbuffers::Vector *mutable_kernel_size() { + return GetPointer *>(VT_KERNEL_SIZE); + } + const flatbuffers::Vector *strides() const { + return GetPointer *>(VT_STRIDES); + } + flatbuffers::Vector *mutable_strides() { + return GetPointer *>(VT_STRIDES); + } + mindspore::schema::PadMode pad_mode() const { + return static_cast(GetField(VT_PAD_MODE, 0)); + } + bool mutate_pad_mode(mindspore::schema::PadMode _pad_mode) { + return SetField(VT_PAD_MODE, static_cast(_pad_mode), 0); + } + mindspore::schema::Format format() const { + return static_cast(GetField(VT_FORMAT, 0)); + } + bool mutate_format(mindspore::schema::Format _format) { + return SetField(VT_FORMAT, static_cast(_format), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_KERNEL_SIZE) && + verifier.VerifyVector(kernel_size()) && + VerifyOffset(verifier, VT_STRIDES) && + verifier.VerifyVector(strides()) && + VerifyField(verifier, VT_PAD_MODE) && + VerifyField(verifier, VT_FORMAT) && + verifier.EndTable(); + } + MaxPoolGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(MaxPoolGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const MaxPoolGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct MaxPoolGradBuilder { + typedef MaxPoolGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_kernel_size(flatbuffers::Offset> kernel_size) { + fbb_.AddOffset(MaxPoolGrad::VT_KERNEL_SIZE, kernel_size); + } + void add_strides(flatbuffers::Offset> strides) { + fbb_.AddOffset(MaxPoolGrad::VT_STRIDES, strides); + } + void add_pad_mode(mindspore::schema::PadMode pad_mode) { + fbb_.AddElement(MaxPoolGrad::VT_PAD_MODE, static_cast(pad_mode), 0); + } + void add_format(mindspore::schema::Format format) { + fbb_.AddElement(MaxPoolGrad::VT_FORMAT, static_cast(format), 0); + } + explicit MaxPoolGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateMaxPoolGrad( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> kernel_size = 0, + flatbuffers::Offset> strides = 0, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + mindspore::schema::Format format = mindspore::schema::Format_NCHW) { + MaxPoolGradBuilder builder_(_fbb); + builder_.add_format(format); + builder_.add_strides(strides); + builder_.add_kernel_size(kernel_size); + builder_.add_pad_mode(pad_mode); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateMaxPoolGradDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *kernel_size = nullptr, + const std::vector *strides = nullptr, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + mindspore::schema::Format format = mindspore::schema::Format_NCHW) { + auto kernel_size__ = kernel_size ? _fbb.CreateVector(*kernel_size) : 0; + auto strides__ = strides ? _fbb.CreateVector(*strides) : 0; + return mindspore::schema::CreateMaxPoolGrad( + _fbb, + kernel_size__, + strides__, + pad_mode, + format); +} + +flatbuffers::Offset CreateMaxPoolGrad(flatbuffers::FlatBufferBuilder &_fbb, const MaxPoolGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SwitchLayerT : public flatbuffers::NativeTable { + typedef SwitchLayer TableType; +}; + +struct SwitchLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SwitchLayerT NativeTableType; + typedef SwitchLayerBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SwitchLayerTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + SwitchLayerT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SwitchLayerT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SwitchLayerT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SwitchLayerBuilder { + typedef SwitchLayer Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SwitchLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSwitchLayer( + flatbuffers::FlatBufferBuilder &_fbb) { + SwitchLayerBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSwitchLayer(flatbuffers::FlatBufferBuilder &_fbb, const SwitchLayerT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct MfccT : public flatbuffers::NativeTable { + typedef Mfcc TableType; + float freq_upper_limit = 0.0f; + float freq_lower_limit = 0.0f; + int64_t filter_bank_channel_num = 0; + int64_t dct_coeff_num = 0; +}; + +struct Mfcc FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MfccT NativeTableType; + typedef MfccBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return MfccTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FREQ_UPPER_LIMIT = 4, + VT_FREQ_LOWER_LIMIT = 6, + VT_FILTER_BANK_CHANNEL_NUM = 8, + VT_DCT_COEFF_NUM = 10 + }; + float freq_upper_limit() const { + return GetField(VT_FREQ_UPPER_LIMIT, 0.0f); + } + bool mutate_freq_upper_limit(float _freq_upper_limit) { + return SetField(VT_FREQ_UPPER_LIMIT, _freq_upper_limit, 0.0f); + } + float freq_lower_limit() const { + return GetField(VT_FREQ_LOWER_LIMIT, 0.0f); + } + bool mutate_freq_lower_limit(float _freq_lower_limit) { + return SetField(VT_FREQ_LOWER_LIMIT, _freq_lower_limit, 0.0f); + } + int64_t filter_bank_channel_num() const { + return GetField(VT_FILTER_BANK_CHANNEL_NUM, 0); + } + bool mutate_filter_bank_channel_num(int64_t _filter_bank_channel_num) { + return SetField(VT_FILTER_BANK_CHANNEL_NUM, _filter_bank_channel_num, 0); + } + int64_t dct_coeff_num() const { + return GetField(VT_DCT_COEFF_NUM, 0); + } + bool mutate_dct_coeff_num(int64_t _dct_coeff_num) { + return SetField(VT_DCT_COEFF_NUM, _dct_coeff_num, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FREQ_UPPER_LIMIT) && + VerifyField(verifier, VT_FREQ_LOWER_LIMIT) && + VerifyField(verifier, VT_FILTER_BANK_CHANNEL_NUM) && + VerifyField(verifier, VT_DCT_COEFF_NUM) && + verifier.EndTable(); + } + MfccT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(MfccT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const MfccT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct MfccBuilder { + typedef Mfcc Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_freq_upper_limit(float freq_upper_limit) { + fbb_.AddElement(Mfcc::VT_FREQ_UPPER_LIMIT, freq_upper_limit, 0.0f); + } + void add_freq_lower_limit(float freq_lower_limit) { + fbb_.AddElement(Mfcc::VT_FREQ_LOWER_LIMIT, freq_lower_limit, 0.0f); + } + void add_filter_bank_channel_num(int64_t filter_bank_channel_num) { + fbb_.AddElement(Mfcc::VT_FILTER_BANK_CHANNEL_NUM, filter_bank_channel_num, 0); + } + void add_dct_coeff_num(int64_t dct_coeff_num) { + fbb_.AddElement(Mfcc::VT_DCT_COEFF_NUM, dct_coeff_num, 0); + } + explicit MfccBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateMfcc( + flatbuffers::FlatBufferBuilder &_fbb, + float freq_upper_limit = 0.0f, + float freq_lower_limit = 0.0f, + int64_t filter_bank_channel_num = 0, + int64_t dct_coeff_num = 0) { + MfccBuilder builder_(_fbb); + builder_.add_dct_coeff_num(dct_coeff_num); + builder_.add_filter_bank_channel_num(filter_bank_channel_num); + builder_.add_freq_lower_limit(freq_lower_limit); + builder_.add_freq_upper_limit(freq_upper_limit); + return builder_.Finish(); +} + +flatbuffers::Offset CreateMfcc(flatbuffers::FlatBufferBuilder &_fbb, const MfccT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct MinimumT : public flatbuffers::NativeTable { + typedef Minimum TableType; +}; + +struct Minimum FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MinimumT NativeTableType; + typedef MinimumBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return MinimumTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + MinimumT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(MinimumT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const MinimumT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct MinimumBuilder { + typedef Minimum Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit MinimumBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateMinimum( + flatbuffers::FlatBufferBuilder &_fbb) { + MinimumBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateMinimum(flatbuffers::FlatBufferBuilder &_fbb, const MinimumT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct MinimumGradT : public flatbuffers::NativeTable { + typedef MinimumGrad TableType; + bool grad_x = false; + bool grad_y = false; +}; + +struct MinimumGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MinimumGradT NativeTableType; + typedef MinimumGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return MinimumGradTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_GRAD_X = 4, + VT_GRAD_Y = 6 + }; + bool grad_x() const { + return GetField(VT_GRAD_X, 0) != 0; + } + bool mutate_grad_x(bool _grad_x) { + return SetField(VT_GRAD_X, static_cast(_grad_x), 0); + } + bool grad_y() const { + return GetField(VT_GRAD_Y, 0) != 0; + } + bool mutate_grad_y(bool _grad_y) { + return SetField(VT_GRAD_Y, static_cast(_grad_y), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_GRAD_X) && + VerifyField(verifier, VT_GRAD_Y) && + verifier.EndTable(); + } + MinimumGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(MinimumGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const MinimumGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct MinimumGradBuilder { + typedef MinimumGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_grad_x(bool grad_x) { + fbb_.AddElement(MinimumGrad::VT_GRAD_X, static_cast(grad_x), 0); + } + void add_grad_y(bool grad_y) { + fbb_.AddElement(MinimumGrad::VT_GRAD_Y, static_cast(grad_y), 0); + } + explicit MinimumGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateMinimumGrad( + flatbuffers::FlatBufferBuilder &_fbb, + bool grad_x = false, + bool grad_y = false) { + MinimumGradBuilder builder_(_fbb); + builder_.add_grad_y(grad_y); + builder_.add_grad_x(grad_x); + return builder_.Finish(); +} + +flatbuffers::Offset CreateMinimumGrad(flatbuffers::FlatBufferBuilder &_fbb, const MinimumGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ModT : public flatbuffers::NativeTable { + typedef Mod TableType; +}; + +struct Mod FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ModT NativeTableType; + typedef ModBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ModTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + ModT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ModT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ModT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ModBuilder { + typedef Mod Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ModBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateMod( + flatbuffers::FlatBufferBuilder &_fbb) { + ModBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateMod(flatbuffers::FlatBufferBuilder &_fbb, const ModT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct MulFusionT : public flatbuffers::NativeTable { + typedef MulFusion TableType; + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION; +}; + +struct MulFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MulFusionT NativeTableType; + typedef MulFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return MulFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ACTIVATION_TYPE = 4 + }; + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + bool mutate_activation_type(mindspore::schema::ActivationType _activation_type) { + return SetField(VT_ACTIVATION_TYPE, static_cast(_activation_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + verifier.EndTable(); + } + MulFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(MulFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const MulFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct MulFusionBuilder { + typedef MulFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(MulFusion::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + explicit MulFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateMulFusion( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + MulFusionBuilder builder_(_fbb); + builder_.add_activation_type(activation_type); + return builder_.Finish(); +} + +flatbuffers::Offset CreateMulFusion(flatbuffers::FlatBufferBuilder &_fbb, const MulFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct MulGradT : public flatbuffers::NativeTable { + typedef MulGrad TableType; +}; + +struct MulGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MulGradT NativeTableType; + typedef MulGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return MulGradTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + MulGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(MulGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const MulGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct MulGradBuilder { + typedef MulGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit MulGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateMulGrad( + flatbuffers::FlatBufferBuilder &_fbb) { + MulGradBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateMulGrad(flatbuffers::FlatBufferBuilder &_fbb, const MulGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct NegT : public flatbuffers::NativeTable { + typedef Neg TableType; +}; + +struct Neg FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef NegT NativeTableType; + typedef NegBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return NegTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + NegT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(NegT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const NegT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct NegBuilder { + typedef Neg Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit NegBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateNeg( + flatbuffers::FlatBufferBuilder &_fbb) { + NegBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateNeg(flatbuffers::FlatBufferBuilder &_fbb, const NegT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct NegGradT : public flatbuffers::NativeTable { + typedef NegGrad TableType; +}; + +struct NegGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef NegGradT NativeTableType; + typedef NegGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return NegGradTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + NegGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(NegGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const NegGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct NegGradBuilder { + typedef NegGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit NegGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateNegGrad( + flatbuffers::FlatBufferBuilder &_fbb) { + NegGradBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateNegGrad(flatbuffers::FlatBufferBuilder &_fbb, const NegGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct NotEqualT : public flatbuffers::NativeTable { + typedef NotEqual TableType; +}; + +struct NotEqual FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef NotEqualT NativeTableType; + typedef NotEqualBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return NotEqualTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + NotEqualT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(NotEqualT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const NotEqualT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct NotEqualBuilder { + typedef NotEqual Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit NotEqualBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateNotEqual( + flatbuffers::FlatBufferBuilder &_fbb) { + NotEqualBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateNotEqual(flatbuffers::FlatBufferBuilder &_fbb, const NotEqualT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct NonMaxSuppressionT : public flatbuffers::NativeTable { + typedef NonMaxSuppression TableType; + int64_t center_point_box = 0; +}; + +struct NonMaxSuppression FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef NonMaxSuppressionT NativeTableType; + typedef NonMaxSuppressionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return NonMaxSuppressionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_CENTER_POINT_BOX = 4 + }; + int64_t center_point_box() const { + return GetField(VT_CENTER_POINT_BOX, 0); + } + bool mutate_center_point_box(int64_t _center_point_box) { + return SetField(VT_CENTER_POINT_BOX, _center_point_box, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_CENTER_POINT_BOX) && + verifier.EndTable(); + } + NonMaxSuppressionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(NonMaxSuppressionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const NonMaxSuppressionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct NonMaxSuppressionBuilder { + typedef NonMaxSuppression Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_center_point_box(int64_t center_point_box) { + fbb_.AddElement(NonMaxSuppression::VT_CENTER_POINT_BOX, center_point_box, 0); + } + explicit NonMaxSuppressionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateNonMaxSuppression( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t center_point_box = 0) { + NonMaxSuppressionBuilder builder_(_fbb); + builder_.add_center_point_box(center_point_box); + return builder_.Finish(); +} + +flatbuffers::Offset CreateNonMaxSuppression(flatbuffers::FlatBufferBuilder &_fbb, const NonMaxSuppressionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct OneHotT : public flatbuffers::NativeTable { + typedef OneHot TableType; + int64_t axis = 0; +}; + +struct OneHot FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef OneHotT NativeTableType; + typedef OneHotBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return OneHotTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4 + }; + int64_t axis() const { + return GetField(VT_AXIS, 0); + } + bool mutate_axis(int64_t _axis) { + return SetField(VT_AXIS, _axis, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_AXIS) && + verifier.EndTable(); + } + OneHotT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(OneHotT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const OneHotT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct OneHotBuilder { + typedef OneHot Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(int64_t axis) { + fbb_.AddElement(OneHot::VT_AXIS, axis, 0); + } + explicit OneHotBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateOneHot( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t axis = 0) { + OneHotBuilder builder_(_fbb); + builder_.add_axis(axis); + return builder_.Finish(); +} + +flatbuffers::Offset CreateOneHot(flatbuffers::FlatBufferBuilder &_fbb, const OneHotT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct OnesLikeT : public flatbuffers::NativeTable { + typedef OnesLike TableType; +}; + +struct OnesLike FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef OnesLikeT NativeTableType; + typedef OnesLikeBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return OnesLikeTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + OnesLikeT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(OnesLikeT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const OnesLikeT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct OnesLikeBuilder { + typedef OnesLike Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit OnesLikeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateOnesLike( + flatbuffers::FlatBufferBuilder &_fbb) { + OnesLikeBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateOnesLike(flatbuffers::FlatBufferBuilder &_fbb, const OnesLikeT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct PadFusionT : public flatbuffers::NativeTable { + typedef PadFusion TableType; + std::unique_ptr paddings{}; + mindspore::schema::PaddingMode padding_mode = mindspore::schema::PaddingMode_CONSTANT; + float constant_value = 0.0f; +}; + +struct PadFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef PadFusionT NativeTableType; + typedef PadFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return PadFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PADDINGS = 4, + VT_PADDING_MODE = 6, + VT_CONSTANT_VALUE = 8 + }; + const mindspore::schema::Vec2D *paddings() const { + return GetPointer(VT_PADDINGS); + } + mindspore::schema::Vec2D *mutable_paddings() { + return GetPointer(VT_PADDINGS); + } + mindspore::schema::PaddingMode padding_mode() const { + return static_cast(GetField(VT_PADDING_MODE, 0)); + } + bool mutate_padding_mode(mindspore::schema::PaddingMode _padding_mode) { + return SetField(VT_PADDING_MODE, static_cast(_padding_mode), 0); + } + float constant_value() const { + return GetField(VT_CONSTANT_VALUE, 0.0f); + } + bool mutate_constant_value(float _constant_value) { + return SetField(VT_CONSTANT_VALUE, _constant_value, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_PADDINGS) && + verifier.VerifyTable(paddings()) && + VerifyField(verifier, VT_PADDING_MODE) && + VerifyField(verifier, VT_CONSTANT_VALUE) && + verifier.EndTable(); + } + PadFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(PadFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const PadFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct PadFusionBuilder { + typedef PadFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_paddings(flatbuffers::Offset paddings) { + fbb_.AddOffset(PadFusion::VT_PADDINGS, paddings); + } + void add_padding_mode(mindspore::schema::PaddingMode padding_mode) { + fbb_.AddElement(PadFusion::VT_PADDING_MODE, static_cast(padding_mode), 0); + } + void add_constant_value(float constant_value) { + fbb_.AddElement(PadFusion::VT_CONSTANT_VALUE, constant_value, 0.0f); + } + explicit PadFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreatePadFusion( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset paddings = 0, + mindspore::schema::PaddingMode padding_mode = mindspore::schema::PaddingMode_CONSTANT, + float constant_value = 0.0f) { + PadFusionBuilder builder_(_fbb); + builder_.add_constant_value(constant_value); + builder_.add_paddings(paddings); + builder_.add_padding_mode(padding_mode); + return builder_.Finish(); +} + +flatbuffers::Offset CreatePadFusion(flatbuffers::FlatBufferBuilder &_fbb, const PadFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct PartialFusionT : public flatbuffers::NativeTable { + typedef PartialFusion TableType; + int64_t sub_graph_index = 0; +}; + +struct PartialFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef PartialFusionT NativeTableType; + typedef PartialFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return PartialFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SUB_GRAPH_INDEX = 4 + }; + int64_t sub_graph_index() const { + return GetField(VT_SUB_GRAPH_INDEX, 0); + } + bool mutate_sub_graph_index(int64_t _sub_graph_index) { + return SetField(VT_SUB_GRAPH_INDEX, _sub_graph_index, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_SUB_GRAPH_INDEX) && + verifier.EndTable(); + } + PartialFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(PartialFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const PartialFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct PartialFusionBuilder { + typedef PartialFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_sub_graph_index(int64_t sub_graph_index) { + fbb_.AddElement(PartialFusion::VT_SUB_GRAPH_INDEX, sub_graph_index, 0); + } + explicit PartialFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreatePartialFusion( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t sub_graph_index = 0) { + PartialFusionBuilder builder_(_fbb); + builder_.add_sub_graph_index(sub_graph_index); + return builder_.Finish(); +} + +flatbuffers::Offset CreatePartialFusion(flatbuffers::FlatBufferBuilder &_fbb, const PartialFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct PowerGradT : public flatbuffers::NativeTable { + typedef PowerGrad TableType; + float power = 0.0f; + float scale = 0.0f; + float shift = 0.0f; +}; + +struct PowerGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef PowerGradT NativeTableType; + typedef PowerGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return PowerGradTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_POWER = 4, + VT_SCALE = 6, + VT_SHIFT = 8 + }; + float power() const { + return GetField(VT_POWER, 0.0f); + } + bool mutate_power(float _power) { + return SetField(VT_POWER, _power, 0.0f); + } + float scale() const { + return GetField(VT_SCALE, 0.0f); + } + bool mutate_scale(float _scale) { + return SetField(VT_SCALE, _scale, 0.0f); + } + float shift() const { + return GetField(VT_SHIFT, 0.0f); + } + bool mutate_shift(float _shift) { + return SetField(VT_SHIFT, _shift, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_POWER) && + VerifyField(verifier, VT_SCALE) && + VerifyField(verifier, VT_SHIFT) && + verifier.EndTable(); + } + PowerGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(PowerGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const PowerGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct PowerGradBuilder { + typedef PowerGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_power(float power) { + fbb_.AddElement(PowerGrad::VT_POWER, power, 0.0f); + } + void add_scale(float scale) { + fbb_.AddElement(PowerGrad::VT_SCALE, scale, 0.0f); + } + void add_shift(float shift) { + fbb_.AddElement(PowerGrad::VT_SHIFT, shift, 0.0f); + } + explicit PowerGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreatePowerGrad( + flatbuffers::FlatBufferBuilder &_fbb, + float power = 0.0f, + float scale = 0.0f, + float shift = 0.0f) { + PowerGradBuilder builder_(_fbb); + builder_.add_shift(shift); + builder_.add_scale(scale); + builder_.add_power(power); + return builder_.Finish(); +} + +flatbuffers::Offset CreatePowerGrad(flatbuffers::FlatBufferBuilder &_fbb, const PowerGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct PowFusionT : public flatbuffers::NativeTable { + typedef PowFusion TableType; + float scale = 1.0f; + float shift = 0.0f; +}; + +struct PowFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef PowFusionT NativeTableType; + typedef PowFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return PowFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SCALE = 4, + VT_SHIFT = 6 + }; + float scale() const { + return GetField(VT_SCALE, 1.0f); + } + bool mutate_scale(float _scale) { + return SetField(VT_SCALE, _scale, 1.0f); + } + float shift() const { + return GetField(VT_SHIFT, 0.0f); + } + bool mutate_shift(float _shift) { + return SetField(VT_SHIFT, _shift, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_SCALE) && + VerifyField(verifier, VT_SHIFT) && + verifier.EndTable(); + } + PowFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(PowFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const PowFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct PowFusionBuilder { + typedef PowFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_scale(float scale) { + fbb_.AddElement(PowFusion::VT_SCALE, scale, 1.0f); + } + void add_shift(float shift) { + fbb_.AddElement(PowFusion::VT_SHIFT, shift, 0.0f); + } + explicit PowFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreatePowFusion( + flatbuffers::FlatBufferBuilder &_fbb, + float scale = 1.0f, + float shift = 0.0f) { + PowFusionBuilder builder_(_fbb); + builder_.add_shift(shift); + builder_.add_scale(scale); + return builder_.Finish(); +} + +flatbuffers::Offset CreatePowFusion(flatbuffers::FlatBufferBuilder &_fbb, const PowFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct PriorBoxT : public flatbuffers::NativeTable { + typedef PriorBox TableType; + std::vector min_sizes{}; + std::vector max_sizes{}; + std::vector aspect_ratios{}; + std::vector variances{}; + int64_t image_size_w = 0; + int64_t image_size_h = 0; + float step_w = 0.0f; + float step_h = 0.0f; + bool clip = false; + bool flip = false; + float offset = 0.0f; +}; + +struct PriorBox FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef PriorBoxT NativeTableType; + typedef PriorBoxBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return PriorBoxTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_MIN_SIZES = 4, + VT_MAX_SIZES = 6, + VT_ASPECT_RATIOS = 8, + VT_VARIANCES = 10, + VT_IMAGE_SIZE_W = 12, + VT_IMAGE_SIZE_H = 14, + VT_STEP_W = 16, + VT_STEP_H = 18, + VT_CLIP = 20, + VT_FLIP = 22, + VT_OFFSET = 24 + }; + const flatbuffers::Vector *min_sizes() const { + return GetPointer *>(VT_MIN_SIZES); + } + flatbuffers::Vector *mutable_min_sizes() { + return GetPointer *>(VT_MIN_SIZES); + } + const flatbuffers::Vector *max_sizes() const { + return GetPointer *>(VT_MAX_SIZES); + } + flatbuffers::Vector *mutable_max_sizes() { + return GetPointer *>(VT_MAX_SIZES); + } + const flatbuffers::Vector *aspect_ratios() const { + return GetPointer *>(VT_ASPECT_RATIOS); + } + flatbuffers::Vector *mutable_aspect_ratios() { + return GetPointer *>(VT_ASPECT_RATIOS); + } + const flatbuffers::Vector *variances() const { + return GetPointer *>(VT_VARIANCES); + } + flatbuffers::Vector *mutable_variances() { + return GetPointer *>(VT_VARIANCES); + } + int64_t image_size_w() const { + return GetField(VT_IMAGE_SIZE_W, 0); + } + bool mutate_image_size_w(int64_t _image_size_w) { + return SetField(VT_IMAGE_SIZE_W, _image_size_w, 0); + } + int64_t image_size_h() const { + return GetField(VT_IMAGE_SIZE_H, 0); + } + bool mutate_image_size_h(int64_t _image_size_h) { + return SetField(VT_IMAGE_SIZE_H, _image_size_h, 0); + } + float step_w() const { + return GetField(VT_STEP_W, 0.0f); + } + bool mutate_step_w(float _step_w) { + return SetField(VT_STEP_W, _step_w, 0.0f); + } + float step_h() const { + return GetField(VT_STEP_H, 0.0f); + } + bool mutate_step_h(float _step_h) { + return SetField(VT_STEP_H, _step_h, 0.0f); + } + bool clip() const { + return GetField(VT_CLIP, 0) != 0; + } + bool mutate_clip(bool _clip) { + return SetField(VT_CLIP, static_cast(_clip), 0); + } + bool flip() const { + return GetField(VT_FLIP, 0) != 0; + } + bool mutate_flip(bool _flip) { + return SetField(VT_FLIP, static_cast(_flip), 0); + } + float offset() const { + return GetField(VT_OFFSET, 0.0f); + } + bool mutate_offset(float _offset) { + return SetField(VT_OFFSET, _offset, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_MIN_SIZES) && + verifier.VerifyVector(min_sizes()) && + VerifyOffset(verifier, VT_MAX_SIZES) && + verifier.VerifyVector(max_sizes()) && + VerifyOffset(verifier, VT_ASPECT_RATIOS) && + verifier.VerifyVector(aspect_ratios()) && + VerifyOffset(verifier, VT_VARIANCES) && + verifier.VerifyVector(variances()) && + VerifyField(verifier, VT_IMAGE_SIZE_W) && + VerifyField(verifier, VT_IMAGE_SIZE_H) && + VerifyField(verifier, VT_STEP_W) && + VerifyField(verifier, VT_STEP_H) && + VerifyField(verifier, VT_CLIP) && + VerifyField(verifier, VT_FLIP) && + VerifyField(verifier, VT_OFFSET) && + verifier.EndTable(); + } + PriorBoxT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(PriorBoxT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const PriorBoxT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct PriorBoxBuilder { + typedef PriorBox Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_min_sizes(flatbuffers::Offset> min_sizes) { + fbb_.AddOffset(PriorBox::VT_MIN_SIZES, min_sizes); + } + void add_max_sizes(flatbuffers::Offset> max_sizes) { + fbb_.AddOffset(PriorBox::VT_MAX_SIZES, max_sizes); + } + void add_aspect_ratios(flatbuffers::Offset> aspect_ratios) { + fbb_.AddOffset(PriorBox::VT_ASPECT_RATIOS, aspect_ratios); + } + void add_variances(flatbuffers::Offset> variances) { + fbb_.AddOffset(PriorBox::VT_VARIANCES, variances); + } + void add_image_size_w(int64_t image_size_w) { + fbb_.AddElement(PriorBox::VT_IMAGE_SIZE_W, image_size_w, 0); + } + void add_image_size_h(int64_t image_size_h) { + fbb_.AddElement(PriorBox::VT_IMAGE_SIZE_H, image_size_h, 0); + } + void add_step_w(float step_w) { + fbb_.AddElement(PriorBox::VT_STEP_W, step_w, 0.0f); + } + void add_step_h(float step_h) { + fbb_.AddElement(PriorBox::VT_STEP_H, step_h, 0.0f); + } + void add_clip(bool clip) { + fbb_.AddElement(PriorBox::VT_CLIP, static_cast(clip), 0); + } + void add_flip(bool flip) { + fbb_.AddElement(PriorBox::VT_FLIP, static_cast(flip), 0); + } + void add_offset(float offset) { + fbb_.AddElement(PriorBox::VT_OFFSET, offset, 0.0f); + } + explicit PriorBoxBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreatePriorBox( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> min_sizes = 0, + flatbuffers::Offset> max_sizes = 0, + flatbuffers::Offset> aspect_ratios = 0, + flatbuffers::Offset> variances = 0, + int64_t image_size_w = 0, + int64_t image_size_h = 0, + float step_w = 0.0f, + float step_h = 0.0f, + bool clip = false, + bool flip = false, + float offset = 0.0f) { + PriorBoxBuilder builder_(_fbb); + builder_.add_image_size_h(image_size_h); + builder_.add_image_size_w(image_size_w); + builder_.add_offset(offset); + builder_.add_step_h(step_h); + builder_.add_step_w(step_w); + builder_.add_variances(variances); + builder_.add_aspect_ratios(aspect_ratios); + builder_.add_max_sizes(max_sizes); + builder_.add_min_sizes(min_sizes); + builder_.add_flip(flip); + builder_.add_clip(clip); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreatePriorBoxDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *min_sizes = nullptr, + const std::vector *max_sizes = nullptr, + const std::vector *aspect_ratios = nullptr, + const std::vector *variances = nullptr, + int64_t image_size_w = 0, + int64_t image_size_h = 0, + float step_w = 0.0f, + float step_h = 0.0f, + bool clip = false, + bool flip = false, + float offset = 0.0f) { + auto min_sizes__ = min_sizes ? _fbb.CreateVector(*min_sizes) : 0; + auto max_sizes__ = max_sizes ? _fbb.CreateVector(*max_sizes) : 0; + auto aspect_ratios__ = aspect_ratios ? _fbb.CreateVector(*aspect_ratios) : 0; + auto variances__ = variances ? _fbb.CreateVector(*variances) : 0; + return mindspore::schema::CreatePriorBox( + _fbb, + min_sizes__, + max_sizes__, + aspect_ratios__, + variances__, + image_size_w, + image_size_h, + step_w, + step_h, + clip, + flip, + offset); +} + +flatbuffers::Offset CreatePriorBox(flatbuffers::FlatBufferBuilder &_fbb, const PriorBoxT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct PReLUFusionT : public flatbuffers::NativeTable { + typedef PReLUFusion TableType; + bool channel_shared = false; +}; + +struct PReLUFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef PReLUFusionT NativeTableType; + typedef PReLUFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return PReLUFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_CHANNEL_SHARED = 4 + }; + bool channel_shared() const { + return GetField(VT_CHANNEL_SHARED, 0) != 0; + } + bool mutate_channel_shared(bool _channel_shared) { + return SetField(VT_CHANNEL_SHARED, static_cast(_channel_shared), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_CHANNEL_SHARED) && + verifier.EndTable(); + } + PReLUFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(PReLUFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const PReLUFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct PReLUFusionBuilder { + typedef PReLUFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_channel_shared(bool channel_shared) { + fbb_.AddElement(PReLUFusion::VT_CHANNEL_SHARED, static_cast(channel_shared), 0); + } + explicit PReLUFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreatePReLUFusion( + flatbuffers::FlatBufferBuilder &_fbb, + bool channel_shared = false) { + PReLUFusionBuilder builder_(_fbb); + builder_.add_channel_shared(channel_shared); + return builder_.Finish(); +} + +flatbuffers::Offset CreatePReLUFusion(flatbuffers::FlatBufferBuilder &_fbb, const PReLUFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct RankT : public flatbuffers::NativeTable { + typedef Rank TableType; +}; + +struct Rank FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef RankT NativeTableType; + typedef RankBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return RankTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + RankT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(RankT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const RankT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct RankBuilder { + typedef Rank Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit RankBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateRank( + flatbuffers::FlatBufferBuilder &_fbb) { + RankBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateRank(flatbuffers::FlatBufferBuilder &_fbb, const RankT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct RangeT : public flatbuffers::NativeTable { + typedef Range TableType; + int64_t d_type = 0; + int64_t start = 0; + int64_t limit = 0; + int64_t delta = 1LL; +}; + +struct Range FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef RangeT NativeTableType; + typedef RangeBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return RangeTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_D_TYPE = 4, + VT_START = 6, + VT_LIMIT = 8, + VT_DELTA = 10 + }; + int64_t d_type() const { + return GetField(VT_D_TYPE, 0); + } + bool mutate_d_type(int64_t _d_type) { + return SetField(VT_D_TYPE, _d_type, 0); + } + int64_t start() const { + return GetField(VT_START, 0); + } + bool mutate_start(int64_t _start) { + return SetField(VT_START, _start, 0); + } + int64_t limit() const { + return GetField(VT_LIMIT, 0); + } + bool mutate_limit(int64_t _limit) { + return SetField(VT_LIMIT, _limit, 0); + } + int64_t delta() const { + return GetField(VT_DELTA, 1LL); + } + bool mutate_delta(int64_t _delta) { + return SetField(VT_DELTA, _delta, 1LL); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_D_TYPE) && + VerifyField(verifier, VT_START) && + VerifyField(verifier, VT_LIMIT) && + VerifyField(verifier, VT_DELTA) && + verifier.EndTable(); + } + RangeT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(RangeT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const RangeT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct RangeBuilder { + typedef Range Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_d_type(int64_t d_type) { + fbb_.AddElement(Range::VT_D_TYPE, d_type, 0); + } + void add_start(int64_t start) { + fbb_.AddElement(Range::VT_START, start, 0); + } + void add_limit(int64_t limit) { + fbb_.AddElement(Range::VT_LIMIT, limit, 0); + } + void add_delta(int64_t delta) { + fbb_.AddElement(Range::VT_DELTA, delta, 1LL); + } + explicit RangeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateRange( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t d_type = 0, + int64_t start = 0, + int64_t limit = 0, + int64_t delta = 1LL) { + RangeBuilder builder_(_fbb); + builder_.add_delta(delta); + builder_.add_limit(limit); + builder_.add_start(start); + builder_.add_d_type(d_type); + return builder_.Finish(); +} + +flatbuffers::Offset CreateRange(flatbuffers::FlatBufferBuilder &_fbb, const RangeT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ReciprocalT : public flatbuffers::NativeTable { + typedef Reciprocal TableType; +}; + +struct Reciprocal FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ReciprocalT NativeTableType; + typedef ReciprocalBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ReciprocalTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + ReciprocalT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ReciprocalT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ReciprocalT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ReciprocalBuilder { + typedef Reciprocal Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ReciprocalBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateReciprocal( + flatbuffers::FlatBufferBuilder &_fbb) { + ReciprocalBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateReciprocal(flatbuffers::FlatBufferBuilder &_fbb, const ReciprocalT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct RealDivT : public flatbuffers::NativeTable { + typedef RealDiv TableType; +}; + +struct RealDiv FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef RealDivT NativeTableType; + typedef RealDivBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return RealDivTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + RealDivT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(RealDivT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const RealDivT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct RealDivBuilder { + typedef RealDiv Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit RealDivBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateRealDiv( + flatbuffers::FlatBufferBuilder &_fbb) { + RealDivBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateRealDiv(flatbuffers::FlatBufferBuilder &_fbb, const RealDivT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ReduceFusionT : public flatbuffers::NativeTable { + typedef ReduceFusion TableType; + bool keep_dims = false; + mindspore::schema::ReduceMode mode = mindspore::schema::ReduceMode_ReduceMean; + bool reduce_to_end = false; + float coeff = 0.0f; +}; + +struct ReduceFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ReduceFusionT NativeTableType; + typedef ReduceFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ReduceFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_KEEP_DIMS = 4, + VT_MODE = 6, + VT_REDUCE_TO_END = 8, + VT_COEFF = 10 + }; + bool keep_dims() const { + return GetField(VT_KEEP_DIMS, 0) != 0; + } + bool mutate_keep_dims(bool _keep_dims) { + return SetField(VT_KEEP_DIMS, static_cast(_keep_dims), 0); + } + mindspore::schema::ReduceMode mode() const { + return static_cast(GetField(VT_MODE, 0)); + } + bool mutate_mode(mindspore::schema::ReduceMode _mode) { + return SetField(VT_MODE, static_cast(_mode), 0); + } + bool reduce_to_end() const { + return GetField(VT_REDUCE_TO_END, 0) != 0; + } + bool mutate_reduce_to_end(bool _reduce_to_end) { + return SetField(VT_REDUCE_TO_END, static_cast(_reduce_to_end), 0); + } + float coeff() const { + return GetField(VT_COEFF, 0.0f); + } + bool mutate_coeff(float _coeff) { + return SetField(VT_COEFF, _coeff, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_KEEP_DIMS) && + VerifyField(verifier, VT_MODE) && + VerifyField(verifier, VT_REDUCE_TO_END) && + VerifyField(verifier, VT_COEFF) && + verifier.EndTable(); + } + ReduceFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ReduceFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ReduceFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ReduceFusionBuilder { + typedef ReduceFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_keep_dims(bool keep_dims) { + fbb_.AddElement(ReduceFusion::VT_KEEP_DIMS, static_cast(keep_dims), 0); + } + void add_mode(mindspore::schema::ReduceMode mode) { + fbb_.AddElement(ReduceFusion::VT_MODE, static_cast(mode), 0); + } + void add_reduce_to_end(bool reduce_to_end) { + fbb_.AddElement(ReduceFusion::VT_REDUCE_TO_END, static_cast(reduce_to_end), 0); + } + void add_coeff(float coeff) { + fbb_.AddElement(ReduceFusion::VT_COEFF, coeff, 0.0f); + } + explicit ReduceFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateReduceFusion( + flatbuffers::FlatBufferBuilder &_fbb, + bool keep_dims = false, + mindspore::schema::ReduceMode mode = mindspore::schema::ReduceMode_ReduceMean, + bool reduce_to_end = false, + float coeff = 0.0f) { + ReduceFusionBuilder builder_(_fbb); + builder_.add_coeff(coeff); + builder_.add_reduce_to_end(reduce_to_end); + builder_.add_mode(mode); + builder_.add_keep_dims(keep_dims); + return builder_.Finish(); +} + +flatbuffers::Offset CreateReduceFusion(flatbuffers::FlatBufferBuilder &_fbb, const ReduceFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ReshapeT : public flatbuffers::NativeTable { + typedef Reshape TableType; +}; + +struct Reshape FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ReshapeT NativeTableType; + typedef ReshapeBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ReshapeTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + ReshapeT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ReshapeT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ReshapeT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ReshapeBuilder { + typedef Reshape Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ReshapeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateReshape( + flatbuffers::FlatBufferBuilder &_fbb) { + ReshapeBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateReshape(flatbuffers::FlatBufferBuilder &_fbb, const ReshapeT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ResizeT : public flatbuffers::NativeTable { + typedef Resize TableType; + mindspore::schema::Format format = mindspore::schema::Format_NCHW; + mindspore::schema::ResizeMethod method = mindspore::schema::ResizeMethod_LINEAR; + int64_t new_height = 0; + int64_t new_width = 0; + bool preserve_aspect_ratio = false; + mindspore::schema::CoordinateTransformMode coordinate_transform_mode = mindspore::schema::CoordinateTransformMode_ASYMMETRIC; + float cubic_coeff = 0.0f; + int64_t exclude_outside = 0; + float extrapolation_value = 0.0f; + mindspore::schema::NearestMode nearest_mode = mindspore::schema::NearestMode_NORMAL; +}; + +struct Resize FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ResizeT NativeTableType; + typedef ResizeBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ResizeTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FORMAT = 4, + VT_METHOD = 6, + VT_NEW_HEIGHT = 8, + VT_NEW_WIDTH = 10, + VT_PRESERVE_ASPECT_RATIO = 12, + VT_COORDINATE_TRANSFORM_MODE = 14, + VT_CUBIC_COEFF = 16, + VT_EXCLUDE_OUTSIDE = 18, + VT_EXTRAPOLATION_VALUE = 20, + VT_NEAREST_MODE = 22 + }; + mindspore::schema::Format format() const { + return static_cast(GetField(VT_FORMAT, 0)); + } + bool mutate_format(mindspore::schema::Format _format) { + return SetField(VT_FORMAT, static_cast(_format), 0); + } + mindspore::schema::ResizeMethod method() const { + return static_cast(GetField(VT_METHOD, 0)); + } + bool mutate_method(mindspore::schema::ResizeMethod _method) { + return SetField(VT_METHOD, static_cast(_method), 0); + } + int64_t new_height() const { + return GetField(VT_NEW_HEIGHT, 0); + } + bool mutate_new_height(int64_t _new_height) { + return SetField(VT_NEW_HEIGHT, _new_height, 0); + } + int64_t new_width() const { + return GetField(VT_NEW_WIDTH, 0); + } + bool mutate_new_width(int64_t _new_width) { + return SetField(VT_NEW_WIDTH, _new_width, 0); + } + bool preserve_aspect_ratio() const { + return GetField(VT_PRESERVE_ASPECT_RATIO, 0) != 0; + } + bool mutate_preserve_aspect_ratio(bool _preserve_aspect_ratio) { + return SetField(VT_PRESERVE_ASPECT_RATIO, static_cast(_preserve_aspect_ratio), 0); + } + mindspore::schema::CoordinateTransformMode coordinate_transform_mode() const { + return static_cast(GetField(VT_COORDINATE_TRANSFORM_MODE, 0)); + } + bool mutate_coordinate_transform_mode(mindspore::schema::CoordinateTransformMode _coordinate_transform_mode) { + return SetField(VT_COORDINATE_TRANSFORM_MODE, static_cast(_coordinate_transform_mode), 0); + } + float cubic_coeff() const { + return GetField(VT_CUBIC_COEFF, 0.0f); + } + bool mutate_cubic_coeff(float _cubic_coeff) { + return SetField(VT_CUBIC_COEFF, _cubic_coeff, 0.0f); + } + int64_t exclude_outside() const { + return GetField(VT_EXCLUDE_OUTSIDE, 0); + } + bool mutate_exclude_outside(int64_t _exclude_outside) { + return SetField(VT_EXCLUDE_OUTSIDE, _exclude_outside, 0); + } + float extrapolation_value() const { + return GetField(VT_EXTRAPOLATION_VALUE, 0.0f); + } + bool mutate_extrapolation_value(float _extrapolation_value) { + return SetField(VT_EXTRAPOLATION_VALUE, _extrapolation_value, 0.0f); + } + mindspore::schema::NearestMode nearest_mode() const { + return static_cast(GetField(VT_NEAREST_MODE, 0)); + } + bool mutate_nearest_mode(mindspore::schema::NearestMode _nearest_mode) { + return SetField(VT_NEAREST_MODE, static_cast(_nearest_mode), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FORMAT) && + VerifyField(verifier, VT_METHOD) && + VerifyField(verifier, VT_NEW_HEIGHT) && + VerifyField(verifier, VT_NEW_WIDTH) && + VerifyField(verifier, VT_PRESERVE_ASPECT_RATIO) && + VerifyField(verifier, VT_COORDINATE_TRANSFORM_MODE) && + VerifyField(verifier, VT_CUBIC_COEFF) && + VerifyField(verifier, VT_EXCLUDE_OUTSIDE) && + VerifyField(verifier, VT_EXTRAPOLATION_VALUE) && + VerifyField(verifier, VT_NEAREST_MODE) && + verifier.EndTable(); + } + ResizeT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ResizeT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ResizeT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ResizeBuilder { + typedef Resize Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_format(mindspore::schema::Format format) { + fbb_.AddElement(Resize::VT_FORMAT, static_cast(format), 0); + } + void add_method(mindspore::schema::ResizeMethod method) { + fbb_.AddElement(Resize::VT_METHOD, static_cast(method), 0); + } + void add_new_height(int64_t new_height) { + fbb_.AddElement(Resize::VT_NEW_HEIGHT, new_height, 0); + } + void add_new_width(int64_t new_width) { + fbb_.AddElement(Resize::VT_NEW_WIDTH, new_width, 0); + } + void add_preserve_aspect_ratio(bool preserve_aspect_ratio) { + fbb_.AddElement(Resize::VT_PRESERVE_ASPECT_RATIO, static_cast(preserve_aspect_ratio), 0); + } + void add_coordinate_transform_mode(mindspore::schema::CoordinateTransformMode coordinate_transform_mode) { + fbb_.AddElement(Resize::VT_COORDINATE_TRANSFORM_MODE, static_cast(coordinate_transform_mode), 0); + } + void add_cubic_coeff(float cubic_coeff) { + fbb_.AddElement(Resize::VT_CUBIC_COEFF, cubic_coeff, 0.0f); + } + void add_exclude_outside(int64_t exclude_outside) { + fbb_.AddElement(Resize::VT_EXCLUDE_OUTSIDE, exclude_outside, 0); + } + void add_extrapolation_value(float extrapolation_value) { + fbb_.AddElement(Resize::VT_EXTRAPOLATION_VALUE, extrapolation_value, 0.0f); + } + void add_nearest_mode(mindspore::schema::NearestMode nearest_mode) { + fbb_.AddElement(Resize::VT_NEAREST_MODE, static_cast(nearest_mode), 0); + } + explicit ResizeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateResize( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + mindspore::schema::ResizeMethod method = mindspore::schema::ResizeMethod_LINEAR, + int64_t new_height = 0, + int64_t new_width = 0, + bool preserve_aspect_ratio = false, + mindspore::schema::CoordinateTransformMode coordinate_transform_mode = mindspore::schema::CoordinateTransformMode_ASYMMETRIC, + float cubic_coeff = 0.0f, + int64_t exclude_outside = 0, + float extrapolation_value = 0.0f, + mindspore::schema::NearestMode nearest_mode = mindspore::schema::NearestMode_NORMAL) { + ResizeBuilder builder_(_fbb); + builder_.add_exclude_outside(exclude_outside); + builder_.add_new_width(new_width); + builder_.add_new_height(new_height); + builder_.add_extrapolation_value(extrapolation_value); + builder_.add_cubic_coeff(cubic_coeff); + builder_.add_format(format); + builder_.add_nearest_mode(nearest_mode); + builder_.add_coordinate_transform_mode(coordinate_transform_mode); + builder_.add_preserve_aspect_ratio(preserve_aspect_ratio); + builder_.add_method(method); + return builder_.Finish(); +} + +flatbuffers::Offset CreateResize(flatbuffers::FlatBufferBuilder &_fbb, const ResizeT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ReverseSequenceT : public flatbuffers::NativeTable { + typedef ReverseSequence TableType; + int64_t seq_dim = 0; + int64_t batch_dim = 0; +}; + +struct ReverseSequence FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ReverseSequenceT NativeTableType; + typedef ReverseSequenceBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ReverseSequenceTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SEQ_DIM = 4, + VT_BATCH_DIM = 6 + }; + int64_t seq_dim() const { + return GetField(VT_SEQ_DIM, 0); + } + bool mutate_seq_dim(int64_t _seq_dim) { + return SetField(VT_SEQ_DIM, _seq_dim, 0); + } + int64_t batch_dim() const { + return GetField(VT_BATCH_DIM, 0); + } + bool mutate_batch_dim(int64_t _batch_dim) { + return SetField(VT_BATCH_DIM, _batch_dim, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_SEQ_DIM) && + VerifyField(verifier, VT_BATCH_DIM) && + verifier.EndTable(); + } + ReverseSequenceT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ReverseSequenceT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ReverseSequenceT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ReverseSequenceBuilder { + typedef ReverseSequence Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_seq_dim(int64_t seq_dim) { + fbb_.AddElement(ReverseSequence::VT_SEQ_DIM, seq_dim, 0); + } + void add_batch_dim(int64_t batch_dim) { + fbb_.AddElement(ReverseSequence::VT_BATCH_DIM, batch_dim, 0); + } + explicit ReverseSequenceBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateReverseSequence( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t seq_dim = 0, + int64_t batch_dim = 0) { + ReverseSequenceBuilder builder_(_fbb); + builder_.add_batch_dim(batch_dim); + builder_.add_seq_dim(seq_dim); + return builder_.Finish(); +} + +flatbuffers::Offset CreateReverseSequence(flatbuffers::FlatBufferBuilder &_fbb, const ReverseSequenceT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ReverseV2T : public flatbuffers::NativeTable { + typedef ReverseV2 TableType; + std::vector axis{}; +}; + +struct ReverseV2 FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ReverseV2T NativeTableType; + typedef ReverseV2Builder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ReverseV2TypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4 + }; + const flatbuffers::Vector *axis() const { + return GetPointer *>(VT_AXIS); + } + flatbuffers::Vector *mutable_axis() { + return GetPointer *>(VT_AXIS); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_AXIS) && + verifier.VerifyVector(axis()) && + verifier.EndTable(); + } + ReverseV2T *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ReverseV2T *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ReverseV2T* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ReverseV2Builder { + typedef ReverseV2 Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(flatbuffers::Offset> axis) { + fbb_.AddOffset(ReverseV2::VT_AXIS, axis); + } + explicit ReverseV2Builder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateReverseV2( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> axis = 0) { + ReverseV2Builder builder_(_fbb); + builder_.add_axis(axis); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateReverseV2Direct( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *axis = nullptr) { + auto axis__ = axis ? _fbb.CreateVector(*axis) : 0; + return mindspore::schema::CreateReverseV2( + _fbb, + axis__); +} + +flatbuffers::Offset CreateReverseV2(flatbuffers::FlatBufferBuilder &_fbb, const ReverseV2T *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct RfftT : public flatbuffers::NativeTable { + typedef Rfft TableType; + int64_t fft_length = 0; +}; + +struct Rfft FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef RfftT NativeTableType; + typedef RfftBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return RfftTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FFT_LENGTH = 4 + }; + int64_t fft_length() const { + return GetField(VT_FFT_LENGTH, 0); + } + bool mutate_fft_length(int64_t _fft_length) { + return SetField(VT_FFT_LENGTH, _fft_length, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FFT_LENGTH) && + verifier.EndTable(); + } + RfftT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(RfftT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const RfftT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct RfftBuilder { + typedef Rfft Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fft_length(int64_t fft_length) { + fbb_.AddElement(Rfft::VT_FFT_LENGTH, fft_length, 0); + } + explicit RfftBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateRfft( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t fft_length = 0) { + RfftBuilder builder_(_fbb); + builder_.add_fft_length(fft_length); + return builder_.Finish(); +} + +flatbuffers::Offset CreateRfft(flatbuffers::FlatBufferBuilder &_fbb, const RfftT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ROIPoolingT : public flatbuffers::NativeTable { + typedef ROIPooling TableType; + int64_t pooled_h = 0; + int64_t pooled_w = 0; + float scale = 0.0f; +}; + +struct ROIPooling FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ROIPoolingT NativeTableType; + typedef ROIPoolingBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ROIPoolingTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_POOLED_H = 4, + VT_POOLED_W = 6, + VT_SCALE = 8 + }; + int64_t pooled_h() const { + return GetField(VT_POOLED_H, 0); + } + bool mutate_pooled_h(int64_t _pooled_h) { + return SetField(VT_POOLED_H, _pooled_h, 0); + } + int64_t pooled_w() const { + return GetField(VT_POOLED_W, 0); + } + bool mutate_pooled_w(int64_t _pooled_w) { + return SetField(VT_POOLED_W, _pooled_w, 0); + } + float scale() const { + return GetField(VT_SCALE, 0.0f); + } + bool mutate_scale(float _scale) { + return SetField(VT_SCALE, _scale, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_POOLED_H) && + VerifyField(verifier, VT_POOLED_W) && + VerifyField(verifier, VT_SCALE) && + verifier.EndTable(); + } + ROIPoolingT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ROIPoolingT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ROIPoolingT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ROIPoolingBuilder { + typedef ROIPooling Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_pooled_h(int64_t pooled_h) { + fbb_.AddElement(ROIPooling::VT_POOLED_H, pooled_h, 0); + } + void add_pooled_w(int64_t pooled_w) { + fbb_.AddElement(ROIPooling::VT_POOLED_W, pooled_w, 0); + } + void add_scale(float scale) { + fbb_.AddElement(ROIPooling::VT_SCALE, scale, 0.0f); + } + explicit ROIPoolingBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateROIPooling( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t pooled_h = 0, + int64_t pooled_w = 0, + float scale = 0.0f) { + ROIPoolingBuilder builder_(_fbb); + builder_.add_pooled_w(pooled_w); + builder_.add_pooled_h(pooled_h); + builder_.add_scale(scale); + return builder_.Finish(); +} + +flatbuffers::Offset CreateROIPooling(flatbuffers::FlatBufferBuilder &_fbb, const ROIPoolingT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct RoundT : public flatbuffers::NativeTable { + typedef Round TableType; +}; + +struct Round FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef RoundT NativeTableType; + typedef RoundBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return RoundTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + RoundT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(RoundT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const RoundT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct RoundBuilder { + typedef Round Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit RoundBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateRound( + flatbuffers::FlatBufferBuilder &_fbb) { + RoundBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateRound(flatbuffers::FlatBufferBuilder &_fbb, const RoundT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct RsqrtT : public flatbuffers::NativeTable { + typedef Rsqrt TableType; +}; + +struct Rsqrt FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef RsqrtT NativeTableType; + typedef RsqrtBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return RsqrtTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + RsqrtT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(RsqrtT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const RsqrtT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct RsqrtBuilder { + typedef Rsqrt Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit RsqrtBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateRsqrt( + flatbuffers::FlatBufferBuilder &_fbb) { + RsqrtBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateRsqrt(flatbuffers::FlatBufferBuilder &_fbb, const RsqrtT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct QuantDTypeCastT : public flatbuffers::NativeTable { + typedef QuantDTypeCast TableType; + int64_t src_t = 0; + int64_t dst_t = 0; + int64_t axis = 0; +}; + +struct QuantDTypeCast FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef QuantDTypeCastT NativeTableType; + typedef QuantDTypeCastBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return QuantDTypeCastTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SRC_T = 4, + VT_DST_T = 6, + VT_AXIS = 8 + }; + int64_t src_t() const { + return GetField(VT_SRC_T, 0); + } + bool mutate_src_t(int64_t _src_t) { + return SetField(VT_SRC_T, _src_t, 0); + } + int64_t dst_t() const { + return GetField(VT_DST_T, 0); + } + bool mutate_dst_t(int64_t _dst_t) { + return SetField(VT_DST_T, _dst_t, 0); + } + int64_t axis() const { + return GetField(VT_AXIS, 0); + } + bool mutate_axis(int64_t _axis) { + return SetField(VT_AXIS, _axis, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_SRC_T) && + VerifyField(verifier, VT_DST_T) && + VerifyField(verifier, VT_AXIS) && + verifier.EndTable(); + } + QuantDTypeCastT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(QuantDTypeCastT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const QuantDTypeCastT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct QuantDTypeCastBuilder { + typedef QuantDTypeCast Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_src_t(int64_t src_t) { + fbb_.AddElement(QuantDTypeCast::VT_SRC_T, src_t, 0); + } + void add_dst_t(int64_t dst_t) { + fbb_.AddElement(QuantDTypeCast::VT_DST_T, dst_t, 0); + } + void add_axis(int64_t axis) { + fbb_.AddElement(QuantDTypeCast::VT_AXIS, axis, 0); + } + explicit QuantDTypeCastBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateQuantDTypeCast( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t src_t = 0, + int64_t dst_t = 0, + int64_t axis = 0) { + QuantDTypeCastBuilder builder_(_fbb); + builder_.add_axis(axis); + builder_.add_dst_t(dst_t); + builder_.add_src_t(src_t); + return builder_.Finish(); +} + +flatbuffers::Offset CreateQuantDTypeCast(flatbuffers::FlatBufferBuilder &_fbb, const QuantDTypeCastT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ScaleFusionT : public flatbuffers::NativeTable { + typedef ScaleFusion TableType; + int64_t axis = 0; + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION; +}; + +struct ScaleFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ScaleFusionT NativeTableType; + typedef ScaleFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ScaleFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4, + VT_ACTIVATION_TYPE = 6 + }; + int64_t axis() const { + return GetField(VT_AXIS, 0); + } + bool mutate_axis(int64_t _axis) { + return SetField(VT_AXIS, _axis, 0); + } + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + bool mutate_activation_type(mindspore::schema::ActivationType _activation_type) { + return SetField(VT_ACTIVATION_TYPE, static_cast(_activation_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_AXIS) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + verifier.EndTable(); + } + ScaleFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ScaleFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ScaleFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ScaleFusionBuilder { + typedef ScaleFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(int64_t axis) { + fbb_.AddElement(ScaleFusion::VT_AXIS, axis, 0); + } + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(ScaleFusion::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + explicit ScaleFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateScaleFusion( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t axis = 0, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + ScaleFusionBuilder builder_(_fbb); + builder_.add_axis(axis); + builder_.add_activation_type(activation_type); + return builder_.Finish(); +} + +flatbuffers::Offset CreateScaleFusion(flatbuffers::FlatBufferBuilder &_fbb, const ScaleFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ScatterNdT : public flatbuffers::NativeTable { + typedef ScatterNd TableType; +}; + +struct ScatterNd FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ScatterNdT NativeTableType; + typedef ScatterNdBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ScatterNdTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + ScatterNdT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ScatterNdT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ScatterNdT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ScatterNdBuilder { + typedef ScatterNd Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ScatterNdBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateScatterNd( + flatbuffers::FlatBufferBuilder &_fbb) { + ScatterNdBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateScatterNd(flatbuffers::FlatBufferBuilder &_fbb, const ScatterNdT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SGDT : public flatbuffers::NativeTable { + typedef SGD TableType; + bool nesterov = false; + float dampening = 0.0f; + float weight_decay = 0.0f; +}; + +struct SGD FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SGDT NativeTableType; + typedef SGDBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SGDTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NESTEROV = 4, + VT_DAMPENING = 6, + VT_WEIGHT_DECAY = 8 + }; + bool nesterov() const { + return GetField(VT_NESTEROV, 0) != 0; + } + bool mutate_nesterov(bool _nesterov) { + return SetField(VT_NESTEROV, static_cast(_nesterov), 0); + } + float dampening() const { + return GetField(VT_DAMPENING, 0.0f); + } + bool mutate_dampening(float _dampening) { + return SetField(VT_DAMPENING, _dampening, 0.0f); + } + float weight_decay() const { + return GetField(VT_WEIGHT_DECAY, 0.0f); + } + bool mutate_weight_decay(float _weight_decay) { + return SetField(VT_WEIGHT_DECAY, _weight_decay, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_NESTEROV) && + VerifyField(verifier, VT_DAMPENING) && + VerifyField(verifier, VT_WEIGHT_DECAY) && + verifier.EndTable(); + } + SGDT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SGDT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SGDT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SGDBuilder { + typedef SGD Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_nesterov(bool nesterov) { + fbb_.AddElement(SGD::VT_NESTEROV, static_cast(nesterov), 0); + } + void add_dampening(float dampening) { + fbb_.AddElement(SGD::VT_DAMPENING, dampening, 0.0f); + } + void add_weight_decay(float weight_decay) { + fbb_.AddElement(SGD::VT_WEIGHT_DECAY, weight_decay, 0.0f); + } + explicit SGDBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSGD( + flatbuffers::FlatBufferBuilder &_fbb, + bool nesterov = false, + float dampening = 0.0f, + float weight_decay = 0.0f) { + SGDBuilder builder_(_fbb); + builder_.add_weight_decay(weight_decay); + builder_.add_dampening(dampening); + builder_.add_nesterov(nesterov); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSGD(flatbuffers::FlatBufferBuilder &_fbb, const SGDT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ShapeT : public flatbuffers::NativeTable { + typedef Shape TableType; +}; + +struct Shape FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ShapeT NativeTableType; + typedef ShapeBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ShapeTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + ShapeT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ShapeT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ShapeT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ShapeBuilder { + typedef Shape Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ShapeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateShape( + flatbuffers::FlatBufferBuilder &_fbb) { + ShapeBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateShape(flatbuffers::FlatBufferBuilder &_fbb, const ShapeT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SigmoidCrossEntropyWithLogitsT : public flatbuffers::NativeTable { + typedef SigmoidCrossEntropyWithLogits TableType; +}; + +struct SigmoidCrossEntropyWithLogits FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SigmoidCrossEntropyWithLogitsT NativeTableType; + typedef SigmoidCrossEntropyWithLogitsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SigmoidCrossEntropyWithLogitsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + SigmoidCrossEntropyWithLogitsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SigmoidCrossEntropyWithLogitsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SigmoidCrossEntropyWithLogitsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SigmoidCrossEntropyWithLogitsBuilder { + typedef SigmoidCrossEntropyWithLogits Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SigmoidCrossEntropyWithLogitsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSigmoidCrossEntropyWithLogits( + flatbuffers::FlatBufferBuilder &_fbb) { + SigmoidCrossEntropyWithLogitsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSigmoidCrossEntropyWithLogits(flatbuffers::FlatBufferBuilder &_fbb, const SigmoidCrossEntropyWithLogitsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SigmoidCrossEntropyWithLogitsGradT : public flatbuffers::NativeTable { + typedef SigmoidCrossEntropyWithLogitsGrad TableType; +}; + +struct SigmoidCrossEntropyWithLogitsGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SigmoidCrossEntropyWithLogitsGradT NativeTableType; + typedef SigmoidCrossEntropyWithLogitsGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SigmoidCrossEntropyWithLogitsGradTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + SigmoidCrossEntropyWithLogitsGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SigmoidCrossEntropyWithLogitsGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SigmoidCrossEntropyWithLogitsGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SigmoidCrossEntropyWithLogitsGradBuilder { + typedef SigmoidCrossEntropyWithLogitsGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SigmoidCrossEntropyWithLogitsGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSigmoidCrossEntropyWithLogitsGrad( + flatbuffers::FlatBufferBuilder &_fbb) { + SigmoidCrossEntropyWithLogitsGradBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSigmoidCrossEntropyWithLogitsGrad(flatbuffers::FlatBufferBuilder &_fbb, const SigmoidCrossEntropyWithLogitsGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SinT : public flatbuffers::NativeTable { + typedef Sin TableType; +}; + +struct Sin FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SinT NativeTableType; + typedef SinBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SinTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + SinT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SinT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SinT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SinBuilder { + typedef Sin Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SinBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSin( + flatbuffers::FlatBufferBuilder &_fbb) { + SinBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSin(flatbuffers::FlatBufferBuilder &_fbb, const SinT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SkipGramT : public flatbuffers::NativeTable { + typedef SkipGram TableType; + bool include_all_grams = false; + int64_t max_skip_size = 0; + int64_t ngram_size = 0; +}; + +struct SkipGram FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SkipGramT NativeTableType; + typedef SkipGramBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SkipGramTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_INCLUDE_ALL_GRAMS = 4, + VT_MAX_SKIP_SIZE = 6, + VT_NGRAM_SIZE = 8 + }; + bool include_all_grams() const { + return GetField(VT_INCLUDE_ALL_GRAMS, 0) != 0; + } + bool mutate_include_all_grams(bool _include_all_grams) { + return SetField(VT_INCLUDE_ALL_GRAMS, static_cast(_include_all_grams), 0); + } + int64_t max_skip_size() const { + return GetField(VT_MAX_SKIP_SIZE, 0); + } + bool mutate_max_skip_size(int64_t _max_skip_size) { + return SetField(VT_MAX_SKIP_SIZE, _max_skip_size, 0); + } + int64_t ngram_size() const { + return GetField(VT_NGRAM_SIZE, 0); + } + bool mutate_ngram_size(int64_t _ngram_size) { + return SetField(VT_NGRAM_SIZE, _ngram_size, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_INCLUDE_ALL_GRAMS) && + VerifyField(verifier, VT_MAX_SKIP_SIZE) && + VerifyField(verifier, VT_NGRAM_SIZE) && + verifier.EndTable(); + } + SkipGramT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SkipGramT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SkipGramT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SkipGramBuilder { + typedef SkipGram Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_include_all_grams(bool include_all_grams) { + fbb_.AddElement(SkipGram::VT_INCLUDE_ALL_GRAMS, static_cast(include_all_grams), 0); + } + void add_max_skip_size(int64_t max_skip_size) { + fbb_.AddElement(SkipGram::VT_MAX_SKIP_SIZE, max_skip_size, 0); + } + void add_ngram_size(int64_t ngram_size) { + fbb_.AddElement(SkipGram::VT_NGRAM_SIZE, ngram_size, 0); + } + explicit SkipGramBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSkipGram( + flatbuffers::FlatBufferBuilder &_fbb, + bool include_all_grams = false, + int64_t max_skip_size = 0, + int64_t ngram_size = 0) { + SkipGramBuilder builder_(_fbb); + builder_.add_ngram_size(ngram_size); + builder_.add_max_skip_size(max_skip_size); + builder_.add_include_all_grams(include_all_grams); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSkipGram(flatbuffers::FlatBufferBuilder &_fbb, const SkipGramT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SliceFusionT : public flatbuffers::NativeTable { + typedef SliceFusion TableType; + std::vector axes{}; +}; + +struct SliceFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SliceFusionT NativeTableType; + typedef SliceFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SliceFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXES = 4 + }; + const flatbuffers::Vector *axes() const { + return GetPointer *>(VT_AXES); + } + flatbuffers::Vector *mutable_axes() { + return GetPointer *>(VT_AXES); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_AXES) && + verifier.VerifyVector(axes()) && + verifier.EndTable(); + } + SliceFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SliceFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SliceFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SliceFusionBuilder { + typedef SliceFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axes(flatbuffers::Offset> axes) { + fbb_.AddOffset(SliceFusion::VT_AXES, axes); + } + explicit SliceFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSliceFusion( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> axes = 0) { + SliceFusionBuilder builder_(_fbb); + builder_.add_axes(axes); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateSliceFusionDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *axes = nullptr) { + auto axes__ = axes ? _fbb.CreateVector(*axes) : 0; + return mindspore::schema::CreateSliceFusion( + _fbb, + axes__); +} + +flatbuffers::Offset CreateSliceFusion(flatbuffers::FlatBufferBuilder &_fbb, const SliceFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SmoothL1LossT : public flatbuffers::NativeTable { + typedef SmoothL1Loss TableType; + float beta = 0.0f; +}; + +struct SmoothL1Loss FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SmoothL1LossT NativeTableType; + typedef SmoothL1LossBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SmoothL1LossTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BETA = 4 + }; + float beta() const { + return GetField(VT_BETA, 0.0f); + } + bool mutate_beta(float _beta) { + return SetField(VT_BETA, _beta, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BETA) && + verifier.EndTable(); + } + SmoothL1LossT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SmoothL1LossT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SmoothL1LossT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SmoothL1LossBuilder { + typedef SmoothL1Loss Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_beta(float beta) { + fbb_.AddElement(SmoothL1Loss::VT_BETA, beta, 0.0f); + } + explicit SmoothL1LossBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSmoothL1Loss( + flatbuffers::FlatBufferBuilder &_fbb, + float beta = 0.0f) { + SmoothL1LossBuilder builder_(_fbb); + builder_.add_beta(beta); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSmoothL1Loss(flatbuffers::FlatBufferBuilder &_fbb, const SmoothL1LossT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SmoothL1LossGradT : public flatbuffers::NativeTable { + typedef SmoothL1LossGrad TableType; + float beta = 0.0f; +}; + +struct SmoothL1LossGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SmoothL1LossGradT NativeTableType; + typedef SmoothL1LossGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SmoothL1LossGradTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BETA = 4 + }; + float beta() const { + return GetField(VT_BETA, 0.0f); + } + bool mutate_beta(float _beta) { + return SetField(VT_BETA, _beta, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BETA) && + verifier.EndTable(); + } + SmoothL1LossGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SmoothL1LossGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SmoothL1LossGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SmoothL1LossGradBuilder { + typedef SmoothL1LossGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_beta(float beta) { + fbb_.AddElement(SmoothL1LossGrad::VT_BETA, beta, 0.0f); + } + explicit SmoothL1LossGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSmoothL1LossGrad( + flatbuffers::FlatBufferBuilder &_fbb, + float beta = 0.0f) { + SmoothL1LossGradBuilder builder_(_fbb); + builder_.add_beta(beta); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSmoothL1LossGrad(flatbuffers::FlatBufferBuilder &_fbb, const SmoothL1LossGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SoftmaxT : public flatbuffers::NativeTable { + typedef Softmax TableType; + std::vector axis{}; +}; + +struct Softmax FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SoftmaxT NativeTableType; + typedef SoftmaxBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SoftmaxTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4 + }; + const flatbuffers::Vector *axis() const { + return GetPointer *>(VT_AXIS); + } + flatbuffers::Vector *mutable_axis() { + return GetPointer *>(VT_AXIS); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_AXIS) && + verifier.VerifyVector(axis()) && + verifier.EndTable(); + } + SoftmaxT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SoftmaxT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SoftmaxT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SoftmaxBuilder { + typedef Softmax Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(flatbuffers::Offset> axis) { + fbb_.AddOffset(Softmax::VT_AXIS, axis); + } + explicit SoftmaxBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSoftmax( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> axis = 0) { + SoftmaxBuilder builder_(_fbb); + builder_.add_axis(axis); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateSoftmaxDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *axis = nullptr) { + auto axis__ = axis ? _fbb.CreateVector(*axis) : 0; + return mindspore::schema::CreateSoftmax( + _fbb, + axis__); +} + +flatbuffers::Offset CreateSoftmax(flatbuffers::FlatBufferBuilder &_fbb, const SoftmaxT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SoftmaxCrossEntropyWithLogitsT : public flatbuffers::NativeTable { + typedef SoftmaxCrossEntropyWithLogits TableType; +}; + +struct SoftmaxCrossEntropyWithLogits FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SoftmaxCrossEntropyWithLogitsT NativeTableType; + typedef SoftmaxCrossEntropyWithLogitsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SoftmaxCrossEntropyWithLogitsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + SoftmaxCrossEntropyWithLogitsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SoftmaxCrossEntropyWithLogitsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SoftmaxCrossEntropyWithLogitsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SoftmaxCrossEntropyWithLogitsBuilder { + typedef SoftmaxCrossEntropyWithLogits Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SoftmaxCrossEntropyWithLogitsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSoftmaxCrossEntropyWithLogits( + flatbuffers::FlatBufferBuilder &_fbb) { + SoftmaxCrossEntropyWithLogitsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSoftmaxCrossEntropyWithLogits(flatbuffers::FlatBufferBuilder &_fbb, const SoftmaxCrossEntropyWithLogitsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SpaceToBatchT : public flatbuffers::NativeTable { + typedef SpaceToBatch TableType; + std::vector block_size{}; + std::unique_ptr paddings{}; +}; + +struct SpaceToBatch FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SpaceToBatchT NativeTableType; + typedef SpaceToBatchBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SpaceToBatchTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BLOCK_SIZE = 4, + VT_PADDINGS = 6 + }; + const flatbuffers::Vector *block_size() const { + return GetPointer *>(VT_BLOCK_SIZE); + } + flatbuffers::Vector *mutable_block_size() { + return GetPointer *>(VT_BLOCK_SIZE); + } + const mindspore::schema::Vec2D *paddings() const { + return GetPointer(VT_PADDINGS); + } + mindspore::schema::Vec2D *mutable_paddings() { + return GetPointer(VT_PADDINGS); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_BLOCK_SIZE) && + verifier.VerifyVector(block_size()) && + VerifyOffset(verifier, VT_PADDINGS) && + verifier.VerifyTable(paddings()) && + verifier.EndTable(); + } + SpaceToBatchT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SpaceToBatchT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SpaceToBatchT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SpaceToBatchBuilder { + typedef SpaceToBatch Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_block_size(flatbuffers::Offset> block_size) { + fbb_.AddOffset(SpaceToBatch::VT_BLOCK_SIZE, block_size); + } + void add_paddings(flatbuffers::Offset paddings) { + fbb_.AddOffset(SpaceToBatch::VT_PADDINGS, paddings); + } + explicit SpaceToBatchBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSpaceToBatch( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> block_size = 0, + flatbuffers::Offset paddings = 0) { + SpaceToBatchBuilder builder_(_fbb); + builder_.add_paddings(paddings); + builder_.add_block_size(block_size); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateSpaceToBatchDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *block_size = nullptr, + flatbuffers::Offset paddings = 0) { + auto block_size__ = block_size ? _fbb.CreateVector(*block_size) : 0; + return mindspore::schema::CreateSpaceToBatch( + _fbb, + block_size__, + paddings); +} + +flatbuffers::Offset CreateSpaceToBatch(flatbuffers::FlatBufferBuilder &_fbb, const SpaceToBatchT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SpaceToBatchNDT : public flatbuffers::NativeTable { + typedef SpaceToBatchND TableType; + std::vector block_shape{}; + std::unique_ptr paddings{}; +}; + +struct SpaceToBatchND FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SpaceToBatchNDT NativeTableType; + typedef SpaceToBatchNDBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SpaceToBatchNDTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BLOCK_SHAPE = 4, + VT_PADDINGS = 6 + }; + const flatbuffers::Vector *block_shape() const { + return GetPointer *>(VT_BLOCK_SHAPE); + } + flatbuffers::Vector *mutable_block_shape() { + return GetPointer *>(VT_BLOCK_SHAPE); + } + const mindspore::schema::Vec2D *paddings() const { + return GetPointer(VT_PADDINGS); + } + mindspore::schema::Vec2D *mutable_paddings() { + return GetPointer(VT_PADDINGS); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_BLOCK_SHAPE) && + verifier.VerifyVector(block_shape()) && + VerifyOffset(verifier, VT_PADDINGS) && + verifier.VerifyTable(paddings()) && + verifier.EndTable(); + } + SpaceToBatchNDT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SpaceToBatchNDT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SpaceToBatchNDT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SpaceToBatchNDBuilder { + typedef SpaceToBatchND Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_block_shape(flatbuffers::Offset> block_shape) { + fbb_.AddOffset(SpaceToBatchND::VT_BLOCK_SHAPE, block_shape); + } + void add_paddings(flatbuffers::Offset paddings) { + fbb_.AddOffset(SpaceToBatchND::VT_PADDINGS, paddings); + } + explicit SpaceToBatchNDBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSpaceToBatchND( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> block_shape = 0, + flatbuffers::Offset paddings = 0) { + SpaceToBatchNDBuilder builder_(_fbb); + builder_.add_paddings(paddings); + builder_.add_block_shape(block_shape); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateSpaceToBatchNDDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *block_shape = nullptr, + flatbuffers::Offset paddings = 0) { + auto block_shape__ = block_shape ? _fbb.CreateVector(*block_shape) : 0; + return mindspore::schema::CreateSpaceToBatchND( + _fbb, + block_shape__, + paddings); +} + +flatbuffers::Offset CreateSpaceToBatchND(flatbuffers::FlatBufferBuilder &_fbb, const SpaceToBatchNDT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SpaceToDepthT : public flatbuffers::NativeTable { + typedef SpaceToDepth TableType; + int64_t block_size = 0; + mindspore::schema::Format format = mindspore::schema::Format_NCHW; +}; + +struct SpaceToDepth FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SpaceToDepthT NativeTableType; + typedef SpaceToDepthBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SpaceToDepthTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BLOCK_SIZE = 4, + VT_FORMAT = 6 + }; + int64_t block_size() const { + return GetField(VT_BLOCK_SIZE, 0); + } + bool mutate_block_size(int64_t _block_size) { + return SetField(VT_BLOCK_SIZE, _block_size, 0); + } + mindspore::schema::Format format() const { + return static_cast(GetField(VT_FORMAT, 0)); + } + bool mutate_format(mindspore::schema::Format _format) { + return SetField(VT_FORMAT, static_cast(_format), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BLOCK_SIZE) && + VerifyField(verifier, VT_FORMAT) && + verifier.EndTable(); + } + SpaceToDepthT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SpaceToDepthT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SpaceToDepthT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SpaceToDepthBuilder { + typedef SpaceToDepth Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_block_size(int64_t block_size) { + fbb_.AddElement(SpaceToDepth::VT_BLOCK_SIZE, block_size, 0); + } + void add_format(mindspore::schema::Format format) { + fbb_.AddElement(SpaceToDepth::VT_FORMAT, static_cast(format), 0); + } + explicit SpaceToDepthBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSpaceToDepth( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t block_size = 0, + mindspore::schema::Format format = mindspore::schema::Format_NCHW) { + SpaceToDepthBuilder builder_(_fbb); + builder_.add_block_size(block_size); + builder_.add_format(format); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSpaceToDepth(flatbuffers::FlatBufferBuilder &_fbb, const SpaceToDepthT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SparseSoftmaxCrossEntropyWithLogitsT : public flatbuffers::NativeTable { + typedef SparseSoftmaxCrossEntropyWithLogits TableType; + bool is_grad = false; +}; + +struct SparseSoftmaxCrossEntropyWithLogits FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SparseSoftmaxCrossEntropyWithLogitsT NativeTableType; + typedef SparseSoftmaxCrossEntropyWithLogitsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SparseSoftmaxCrossEntropyWithLogitsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_IS_GRAD = 4 + }; + bool is_grad() const { + return GetField(VT_IS_GRAD, 0) != 0; + } + bool mutate_is_grad(bool _is_grad) { + return SetField(VT_IS_GRAD, static_cast(_is_grad), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_IS_GRAD) && + verifier.EndTable(); + } + SparseSoftmaxCrossEntropyWithLogitsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SparseSoftmaxCrossEntropyWithLogitsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SparseSoftmaxCrossEntropyWithLogitsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SparseSoftmaxCrossEntropyWithLogitsBuilder { + typedef SparseSoftmaxCrossEntropyWithLogits Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_is_grad(bool is_grad) { + fbb_.AddElement(SparseSoftmaxCrossEntropyWithLogits::VT_IS_GRAD, static_cast(is_grad), 0); + } + explicit SparseSoftmaxCrossEntropyWithLogitsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSparseSoftmaxCrossEntropyWithLogits( + flatbuffers::FlatBufferBuilder &_fbb, + bool is_grad = false) { + SparseSoftmaxCrossEntropyWithLogitsBuilder builder_(_fbb); + builder_.add_is_grad(is_grad); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSparseSoftmaxCrossEntropyWithLogits(flatbuffers::FlatBufferBuilder &_fbb, const SparseSoftmaxCrossEntropyWithLogitsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SparseToDenseT : public flatbuffers::NativeTable { + typedef SparseToDense TableType; +}; + +struct SparseToDense FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SparseToDenseT NativeTableType; + typedef SparseToDenseBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SparseToDenseTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + SparseToDenseT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SparseToDenseT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SparseToDenseT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SparseToDenseBuilder { + typedef SparseToDense Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SparseToDenseBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSparseToDense( + flatbuffers::FlatBufferBuilder &_fbb) { + SparseToDenseBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSparseToDense(flatbuffers::FlatBufferBuilder &_fbb, const SparseToDenseT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SplitT : public flatbuffers::NativeTable { + typedef Split TableType; + int64_t output_num = 0; + std::vector size_splits{}; + int64_t axis = 0; +}; + +struct Split FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SplitT NativeTableType; + typedef SplitBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SplitTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_OUTPUT_NUM = 4, + VT_SIZE_SPLITS = 6, + VT_AXIS = 8 + }; + int64_t output_num() const { + return GetField(VT_OUTPUT_NUM, 0); + } + bool mutate_output_num(int64_t _output_num) { + return SetField(VT_OUTPUT_NUM, _output_num, 0); + } + const flatbuffers::Vector *size_splits() const { + return GetPointer *>(VT_SIZE_SPLITS); + } + flatbuffers::Vector *mutable_size_splits() { + return GetPointer *>(VT_SIZE_SPLITS); + } + int64_t axis() const { + return GetField(VT_AXIS, 0); + } + bool mutate_axis(int64_t _axis) { + return SetField(VT_AXIS, _axis, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_OUTPUT_NUM) && + VerifyOffset(verifier, VT_SIZE_SPLITS) && + verifier.VerifyVector(size_splits()) && + VerifyField(verifier, VT_AXIS) && + verifier.EndTable(); + } + SplitT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SplitT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SplitT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SplitBuilder { + typedef Split Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_output_num(int64_t output_num) { + fbb_.AddElement(Split::VT_OUTPUT_NUM, output_num, 0); + } + void add_size_splits(flatbuffers::Offset> size_splits) { + fbb_.AddOffset(Split::VT_SIZE_SPLITS, size_splits); + } + void add_axis(int64_t axis) { + fbb_.AddElement(Split::VT_AXIS, axis, 0); + } + explicit SplitBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSplit( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t output_num = 0, + flatbuffers::Offset> size_splits = 0, + int64_t axis = 0) { + SplitBuilder builder_(_fbb); + builder_.add_axis(axis); + builder_.add_output_num(output_num); + builder_.add_size_splits(size_splits); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateSplitDirect( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t output_num = 0, + const std::vector *size_splits = nullptr, + int64_t axis = 0) { + auto size_splits__ = size_splits ? _fbb.CreateVector(*size_splits) : 0; + return mindspore::schema::CreateSplit( + _fbb, + output_num, + size_splits__, + axis); +} + +flatbuffers::Offset CreateSplit(flatbuffers::FlatBufferBuilder &_fbb, const SplitT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SqrtT : public flatbuffers::NativeTable { + typedef Sqrt TableType; +}; + +struct Sqrt FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SqrtT NativeTableType; + typedef SqrtBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SqrtTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + SqrtT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SqrtT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SqrtT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SqrtBuilder { + typedef Sqrt Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SqrtBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSqrt( + flatbuffers::FlatBufferBuilder &_fbb) { + SqrtBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSqrt(flatbuffers::FlatBufferBuilder &_fbb, const SqrtT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SqueezeT : public flatbuffers::NativeTable { + typedef Squeeze TableType; + std::vector axis{}; +}; + +struct Squeeze FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SqueezeT NativeTableType; + typedef SqueezeBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SqueezeTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4 + }; + const flatbuffers::Vector *axis() const { + return GetPointer *>(VT_AXIS); + } + flatbuffers::Vector *mutable_axis() { + return GetPointer *>(VT_AXIS); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_AXIS) && + verifier.VerifyVector(axis()) && + verifier.EndTable(); + } + SqueezeT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SqueezeT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SqueezeT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SqueezeBuilder { + typedef Squeeze Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(flatbuffers::Offset> axis) { + fbb_.AddOffset(Squeeze::VT_AXIS, axis); + } + explicit SqueezeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSqueeze( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> axis = 0) { + SqueezeBuilder builder_(_fbb); + builder_.add_axis(axis); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateSqueezeDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *axis = nullptr) { + auto axis__ = axis ? _fbb.CreateVector(*axis) : 0; + return mindspore::schema::CreateSqueeze( + _fbb, + axis__); +} + +flatbuffers::Offset CreateSqueeze(flatbuffers::FlatBufferBuilder &_fbb, const SqueezeT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SquareT : public flatbuffers::NativeTable { + typedef Square TableType; +}; + +struct Square FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SquareT NativeTableType; + typedef SquareBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SquareTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + SquareT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SquareT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SquareT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SquareBuilder { + typedef Square Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SquareBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSquare( + flatbuffers::FlatBufferBuilder &_fbb) { + SquareBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSquare(flatbuffers::FlatBufferBuilder &_fbb, const SquareT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SquaredDifferenceT : public flatbuffers::NativeTable { + typedef SquaredDifference TableType; +}; + +struct SquaredDifference FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SquaredDifferenceT NativeTableType; + typedef SquaredDifferenceBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SquaredDifferenceTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + SquaredDifferenceT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SquaredDifferenceT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SquaredDifferenceT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SquaredDifferenceBuilder { + typedef SquaredDifference Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SquaredDifferenceBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSquaredDifference( + flatbuffers::FlatBufferBuilder &_fbb) { + SquaredDifferenceBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSquaredDifference(flatbuffers::FlatBufferBuilder &_fbb, const SquaredDifferenceT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct StackT : public flatbuffers::NativeTable { + typedef Stack TableType; + int64_t axis = 0; +}; + +struct Stack FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef StackT NativeTableType; + typedef StackBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return StackTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4 + }; + int64_t axis() const { + return GetField(VT_AXIS, 0); + } + bool mutate_axis(int64_t _axis) { + return SetField(VT_AXIS, _axis, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_AXIS) && + verifier.EndTable(); + } + StackT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(StackT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const StackT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct StackBuilder { + typedef Stack Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(int64_t axis) { + fbb_.AddElement(Stack::VT_AXIS, axis, 0); + } + explicit StackBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateStack( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t axis = 0) { + StackBuilder builder_(_fbb); + builder_.add_axis(axis); + return builder_.Finish(); +} + +flatbuffers::Offset CreateStack(flatbuffers::FlatBufferBuilder &_fbb, const StackT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct StridedSliceT : public flatbuffers::NativeTable { + typedef StridedSlice TableType; + int64_t begin_mask = 0; + int64_t end_mask = 0; + int64_t ellipsis_mask = 0; + int64_t new_axis_mask = 0; + int64_t shrink_axis_mask = 0; +}; + +struct StridedSlice FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef StridedSliceT NativeTableType; + typedef StridedSliceBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return StridedSliceTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BEGIN_MASK = 4, + VT_END_MASK = 6, + VT_ELLIPSIS_MASK = 8, + VT_NEW_AXIS_MASK = 10, + VT_SHRINK_AXIS_MASK = 12 + }; + int64_t begin_mask() const { + return GetField(VT_BEGIN_MASK, 0); + } + bool mutate_begin_mask(int64_t _begin_mask) { + return SetField(VT_BEGIN_MASK, _begin_mask, 0); + } + int64_t end_mask() const { + return GetField(VT_END_MASK, 0); + } + bool mutate_end_mask(int64_t _end_mask) { + return SetField(VT_END_MASK, _end_mask, 0); + } + int64_t ellipsis_mask() const { + return GetField(VT_ELLIPSIS_MASK, 0); + } + bool mutate_ellipsis_mask(int64_t _ellipsis_mask) { + return SetField(VT_ELLIPSIS_MASK, _ellipsis_mask, 0); + } + int64_t new_axis_mask() const { + return GetField(VT_NEW_AXIS_MASK, 0); + } + bool mutate_new_axis_mask(int64_t _new_axis_mask) { + return SetField(VT_NEW_AXIS_MASK, _new_axis_mask, 0); + } + int64_t shrink_axis_mask() const { + return GetField(VT_SHRINK_AXIS_MASK, 0); + } + bool mutate_shrink_axis_mask(int64_t _shrink_axis_mask) { + return SetField(VT_SHRINK_AXIS_MASK, _shrink_axis_mask, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BEGIN_MASK) && + VerifyField(verifier, VT_END_MASK) && + VerifyField(verifier, VT_ELLIPSIS_MASK) && + VerifyField(verifier, VT_NEW_AXIS_MASK) && + VerifyField(verifier, VT_SHRINK_AXIS_MASK) && + verifier.EndTable(); + } + StridedSliceT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(StridedSliceT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const StridedSliceT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct StridedSliceBuilder { + typedef StridedSlice Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_begin_mask(int64_t begin_mask) { + fbb_.AddElement(StridedSlice::VT_BEGIN_MASK, begin_mask, 0); + } + void add_end_mask(int64_t end_mask) { + fbb_.AddElement(StridedSlice::VT_END_MASK, end_mask, 0); + } + void add_ellipsis_mask(int64_t ellipsis_mask) { + fbb_.AddElement(StridedSlice::VT_ELLIPSIS_MASK, ellipsis_mask, 0); + } + void add_new_axis_mask(int64_t new_axis_mask) { + fbb_.AddElement(StridedSlice::VT_NEW_AXIS_MASK, new_axis_mask, 0); + } + void add_shrink_axis_mask(int64_t shrink_axis_mask) { + fbb_.AddElement(StridedSlice::VT_SHRINK_AXIS_MASK, shrink_axis_mask, 0); + } + explicit StridedSliceBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateStridedSlice( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t begin_mask = 0, + int64_t end_mask = 0, + int64_t ellipsis_mask = 0, + int64_t new_axis_mask = 0, + int64_t shrink_axis_mask = 0) { + StridedSliceBuilder builder_(_fbb); + builder_.add_shrink_axis_mask(shrink_axis_mask); + builder_.add_new_axis_mask(new_axis_mask); + builder_.add_ellipsis_mask(ellipsis_mask); + builder_.add_end_mask(end_mask); + builder_.add_begin_mask(begin_mask); + return builder_.Finish(); +} + +flatbuffers::Offset CreateStridedSlice(flatbuffers::FlatBufferBuilder &_fbb, const StridedSliceT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SubFusionT : public flatbuffers::NativeTable { + typedef SubFusion TableType; + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION; +}; + +struct SubFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SubFusionT NativeTableType; + typedef SubFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SubFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ACTIVATION_TYPE = 4 + }; + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + bool mutate_activation_type(mindspore::schema::ActivationType _activation_type) { + return SetField(VT_ACTIVATION_TYPE, static_cast(_activation_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + verifier.EndTable(); + } + SubFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SubFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SubFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SubFusionBuilder { + typedef SubFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(SubFusion::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + explicit SubFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSubFusion( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION) { + SubFusionBuilder builder_(_fbb); + builder_.add_activation_type(activation_type); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSubFusion(flatbuffers::FlatBufferBuilder &_fbb, const SubFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SubGradT : public flatbuffers::NativeTable { + typedef SubGrad TableType; +}; + +struct SubGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SubGradT NativeTableType; + typedef SubGradBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SubGradTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + SubGradT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SubGradT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SubGradT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SubGradBuilder { + typedef SubGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SubGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSubGrad( + flatbuffers::FlatBufferBuilder &_fbb) { + SubGradBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSubGrad(flatbuffers::FlatBufferBuilder &_fbb, const SubGradT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SwitchT : public flatbuffers::NativeTable { + typedef Switch TableType; +}; + +struct Switch FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SwitchT NativeTableType; + typedef SwitchBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SwitchTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + SwitchT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SwitchT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SwitchT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SwitchBuilder { + typedef Switch Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SwitchBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSwitch( + flatbuffers::FlatBufferBuilder &_fbb) { + SwitchBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSwitch(flatbuffers::FlatBufferBuilder &_fbb, const SwitchT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct TensorListFromTensorT : public flatbuffers::NativeTable { + typedef TensorListFromTensor TableType; + int64_t element_dtype = 0; + int64_t shape_type = 0; +}; + +struct TensorListFromTensor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TensorListFromTensorT NativeTableType; + typedef TensorListFromTensorBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return TensorListFromTensorTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ELEMENT_DTYPE = 4, + VT_SHAPE_TYPE = 6 + }; + int64_t element_dtype() const { + return GetField(VT_ELEMENT_DTYPE, 0); + } + bool mutate_element_dtype(int64_t _element_dtype) { + return SetField(VT_ELEMENT_DTYPE, _element_dtype, 0); + } + int64_t shape_type() const { + return GetField(VT_SHAPE_TYPE, 0); + } + bool mutate_shape_type(int64_t _shape_type) { + return SetField(VT_SHAPE_TYPE, _shape_type, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ELEMENT_DTYPE) && + VerifyField(verifier, VT_SHAPE_TYPE) && + verifier.EndTable(); + } + TensorListFromTensorT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(TensorListFromTensorT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const TensorListFromTensorT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct TensorListFromTensorBuilder { + typedef TensorListFromTensor Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_element_dtype(int64_t element_dtype) { + fbb_.AddElement(TensorListFromTensor::VT_ELEMENT_DTYPE, element_dtype, 0); + } + void add_shape_type(int64_t shape_type) { + fbb_.AddElement(TensorListFromTensor::VT_SHAPE_TYPE, shape_type, 0); + } + explicit TensorListFromTensorBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTensorListFromTensor( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t element_dtype = 0, + int64_t shape_type = 0) { + TensorListFromTensorBuilder builder_(_fbb); + builder_.add_shape_type(shape_type); + builder_.add_element_dtype(element_dtype); + return builder_.Finish(); +} + +flatbuffers::Offset CreateTensorListFromTensor(flatbuffers::FlatBufferBuilder &_fbb, const TensorListFromTensorT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct TensorListGetItemT : public flatbuffers::NativeTable { + typedef TensorListGetItem TableType; + int64_t element_dtype = 0; +}; + +struct TensorListGetItem FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TensorListGetItemT NativeTableType; + typedef TensorListGetItemBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return TensorListGetItemTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ELEMENT_DTYPE = 4 + }; + int64_t element_dtype() const { + return GetField(VT_ELEMENT_DTYPE, 0); + } + bool mutate_element_dtype(int64_t _element_dtype) { + return SetField(VT_ELEMENT_DTYPE, _element_dtype, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ELEMENT_DTYPE) && + verifier.EndTable(); + } + TensorListGetItemT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(TensorListGetItemT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const TensorListGetItemT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct TensorListGetItemBuilder { + typedef TensorListGetItem Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_element_dtype(int64_t element_dtype) { + fbb_.AddElement(TensorListGetItem::VT_ELEMENT_DTYPE, element_dtype, 0); + } + explicit TensorListGetItemBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTensorListGetItem( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t element_dtype = 0) { + TensorListGetItemBuilder builder_(_fbb); + builder_.add_element_dtype(element_dtype); + return builder_.Finish(); +} + +flatbuffers::Offset CreateTensorListGetItem(flatbuffers::FlatBufferBuilder &_fbb, const TensorListGetItemT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct TensorListReserveT : public flatbuffers::NativeTable { + typedef TensorListReserve TableType; + int64_t element_dtype = 0; + int64_t shape_type = 0; +}; + +struct TensorListReserve FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TensorListReserveT NativeTableType; + typedef TensorListReserveBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return TensorListReserveTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ELEMENT_DTYPE = 4, + VT_SHAPE_TYPE = 6 + }; + int64_t element_dtype() const { + return GetField(VT_ELEMENT_DTYPE, 0); + } + bool mutate_element_dtype(int64_t _element_dtype) { + return SetField(VT_ELEMENT_DTYPE, _element_dtype, 0); + } + int64_t shape_type() const { + return GetField(VT_SHAPE_TYPE, 0); + } + bool mutate_shape_type(int64_t _shape_type) { + return SetField(VT_SHAPE_TYPE, _shape_type, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ELEMENT_DTYPE) && + VerifyField(verifier, VT_SHAPE_TYPE) && + verifier.EndTable(); + } + TensorListReserveT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(TensorListReserveT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const TensorListReserveT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct TensorListReserveBuilder { + typedef TensorListReserve Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_element_dtype(int64_t element_dtype) { + fbb_.AddElement(TensorListReserve::VT_ELEMENT_DTYPE, element_dtype, 0); + } + void add_shape_type(int64_t shape_type) { + fbb_.AddElement(TensorListReserve::VT_SHAPE_TYPE, shape_type, 0); + } + explicit TensorListReserveBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTensorListReserve( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t element_dtype = 0, + int64_t shape_type = 0) { + TensorListReserveBuilder builder_(_fbb); + builder_.add_shape_type(shape_type); + builder_.add_element_dtype(element_dtype); + return builder_.Finish(); +} + +flatbuffers::Offset CreateTensorListReserve(flatbuffers::FlatBufferBuilder &_fbb, const TensorListReserveT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct TensorListSetItemT : public flatbuffers::NativeTable { + typedef TensorListSetItem TableType; + int64_t element_dtype = 0; +}; + +struct TensorListSetItem FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TensorListSetItemT NativeTableType; + typedef TensorListSetItemBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return TensorListSetItemTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ELEMENT_DTYPE = 4 + }; + int64_t element_dtype() const { + return GetField(VT_ELEMENT_DTYPE, 0); + } + bool mutate_element_dtype(int64_t _element_dtype) { + return SetField(VT_ELEMENT_DTYPE, _element_dtype, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ELEMENT_DTYPE) && + verifier.EndTable(); + } + TensorListSetItemT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(TensorListSetItemT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const TensorListSetItemT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct TensorListSetItemBuilder { + typedef TensorListSetItem Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_element_dtype(int64_t element_dtype) { + fbb_.AddElement(TensorListSetItem::VT_ELEMENT_DTYPE, element_dtype, 0); + } + explicit TensorListSetItemBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTensorListSetItem( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t element_dtype = 0) { + TensorListSetItemBuilder builder_(_fbb); + builder_.add_element_dtype(element_dtype); + return builder_.Finish(); +} + +flatbuffers::Offset CreateTensorListSetItem(flatbuffers::FlatBufferBuilder &_fbb, const TensorListSetItemT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct TensorListStackT : public flatbuffers::NativeTable { + typedef TensorListStack TableType; + int64_t num_elements = 0; + int64_t element_dtype = 0; +}; + +struct TensorListStack FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TensorListStackT NativeTableType; + typedef TensorListStackBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return TensorListStackTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NUM_ELEMENTS = 4, + VT_ELEMENT_DTYPE = 6 + }; + int64_t num_elements() const { + return GetField(VT_NUM_ELEMENTS, 0); + } + bool mutate_num_elements(int64_t _num_elements) { + return SetField(VT_NUM_ELEMENTS, _num_elements, 0); + } + int64_t element_dtype() const { + return GetField(VT_ELEMENT_DTYPE, 0); + } + bool mutate_element_dtype(int64_t _element_dtype) { + return SetField(VT_ELEMENT_DTYPE, _element_dtype, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_NUM_ELEMENTS) && + VerifyField(verifier, VT_ELEMENT_DTYPE) && + verifier.EndTable(); + } + TensorListStackT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(TensorListStackT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const TensorListStackT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct TensorListStackBuilder { + typedef TensorListStack Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_num_elements(int64_t num_elements) { + fbb_.AddElement(TensorListStack::VT_NUM_ELEMENTS, num_elements, 0); + } + void add_element_dtype(int64_t element_dtype) { + fbb_.AddElement(TensorListStack::VT_ELEMENT_DTYPE, element_dtype, 0); + } + explicit TensorListStackBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTensorListStack( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t num_elements = 0, + int64_t element_dtype = 0) { + TensorListStackBuilder builder_(_fbb); + builder_.add_element_dtype(element_dtype); + builder_.add_num_elements(num_elements); + return builder_.Finish(); +} + +flatbuffers::Offset CreateTensorListStack(flatbuffers::FlatBufferBuilder &_fbb, const TensorListStackT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct TileFusionT : public flatbuffers::NativeTable { + typedef TileFusion TableType; + std::vector dims{}; +}; + +struct TileFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TileFusionT NativeTableType; + typedef TileFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return TileFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_DIMS = 4 + }; + const flatbuffers::Vector *dims() const { + return GetPointer *>(VT_DIMS); + } + flatbuffers::Vector *mutable_dims() { + return GetPointer *>(VT_DIMS); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_DIMS) && + verifier.VerifyVector(dims()) && + verifier.EndTable(); + } + TileFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(TileFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const TileFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct TileFusionBuilder { + typedef TileFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_dims(flatbuffers::Offset> dims) { + fbb_.AddOffset(TileFusion::VT_DIMS, dims); + } + explicit TileFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTileFusion( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> dims = 0) { + TileFusionBuilder builder_(_fbb); + builder_.add_dims(dims); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateTileFusionDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *dims = nullptr) { + auto dims__ = dims ? _fbb.CreateVector(*dims) : 0; + return mindspore::schema::CreateTileFusion( + _fbb, + dims__); +} + +flatbuffers::Offset CreateTileFusion(flatbuffers::FlatBufferBuilder &_fbb, const TileFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct TopKFusionT : public flatbuffers::NativeTable { + typedef TopKFusion TableType; + bool sorted = true; + int64_t axis = 0; + int64_t largest = 0; +}; + +struct TopKFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TopKFusionT NativeTableType; + typedef TopKFusionBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return TopKFusionTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SORTED = 4, + VT_AXIS = 6, + VT_LARGEST = 8 + }; + bool sorted() const { + return GetField(VT_SORTED, 1) != 0; + } + bool mutate_sorted(bool _sorted) { + return SetField(VT_SORTED, static_cast(_sorted), 1); + } + int64_t axis() const { + return GetField(VT_AXIS, 0); + } + bool mutate_axis(int64_t _axis) { + return SetField(VT_AXIS, _axis, 0); + } + int64_t largest() const { + return GetField(VT_LARGEST, 0); + } + bool mutate_largest(int64_t _largest) { + return SetField(VT_LARGEST, _largest, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_SORTED) && + VerifyField(verifier, VT_AXIS) && + VerifyField(verifier, VT_LARGEST) && + verifier.EndTable(); + } + TopKFusionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(TopKFusionT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const TopKFusionT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct TopKFusionBuilder { + typedef TopKFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_sorted(bool sorted) { + fbb_.AddElement(TopKFusion::VT_SORTED, static_cast(sorted), 1); + } + void add_axis(int64_t axis) { + fbb_.AddElement(TopKFusion::VT_AXIS, axis, 0); + } + void add_largest(int64_t largest) { + fbb_.AddElement(TopKFusion::VT_LARGEST, largest, 0); + } + explicit TopKFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTopKFusion( + flatbuffers::FlatBufferBuilder &_fbb, + bool sorted = true, + int64_t axis = 0, + int64_t largest = 0) { + TopKFusionBuilder builder_(_fbb); + builder_.add_largest(largest); + builder_.add_axis(axis); + builder_.add_sorted(sorted); + return builder_.Finish(); +} + +flatbuffers::Offset CreateTopKFusion(flatbuffers::FlatBufferBuilder &_fbb, const TopKFusionT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct TransposeT : public flatbuffers::NativeTable { + typedef Transpose TableType; +}; + +struct Transpose FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TransposeT NativeTableType; + typedef TransposeBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return TransposeTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + TransposeT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(TransposeT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const TransposeT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct TransposeBuilder { + typedef Transpose Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit TransposeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTranspose( + flatbuffers::FlatBufferBuilder &_fbb) { + TransposeBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateTranspose(flatbuffers::FlatBufferBuilder &_fbb, const TransposeT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct UniqueT : public flatbuffers::NativeTable { + typedef Unique TableType; +}; + +struct Unique FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef UniqueT NativeTableType; + typedef UniqueBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return UniqueTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + UniqueT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(UniqueT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const UniqueT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct UniqueBuilder { + typedef Unique Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit UniqueBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateUnique( + flatbuffers::FlatBufferBuilder &_fbb) { + UniqueBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateUnique(flatbuffers::FlatBufferBuilder &_fbb, const UniqueT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct UnsortedSegmentSumT : public flatbuffers::NativeTable { + typedef UnsortedSegmentSum TableType; +}; + +struct UnsortedSegmentSum FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef UnsortedSegmentSumT NativeTableType; + typedef UnsortedSegmentSumBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return UnsortedSegmentSumTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + UnsortedSegmentSumT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(UnsortedSegmentSumT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnsortedSegmentSumT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct UnsortedSegmentSumBuilder { + typedef UnsortedSegmentSum Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit UnsortedSegmentSumBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateUnsortedSegmentSum( + flatbuffers::FlatBufferBuilder &_fbb) { + UnsortedSegmentSumBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateUnsortedSegmentSum(flatbuffers::FlatBufferBuilder &_fbb, const UnsortedSegmentSumT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct UnsqueezeT : public flatbuffers::NativeTable { + typedef Unsqueeze TableType; + std::vector axis{}; +}; + +struct Unsqueeze FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef UnsqueezeT NativeTableType; + typedef UnsqueezeBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return UnsqueezeTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4 + }; + const flatbuffers::Vector *axis() const { + return GetPointer *>(VT_AXIS); + } + flatbuffers::Vector *mutable_axis() { + return GetPointer *>(VT_AXIS); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_AXIS) && + verifier.VerifyVector(axis()) && + verifier.EndTable(); + } + UnsqueezeT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(UnsqueezeT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnsqueezeT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct UnsqueezeBuilder { + typedef Unsqueeze Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(flatbuffers::Offset> axis) { + fbb_.AddOffset(Unsqueeze::VT_AXIS, axis); + } + explicit UnsqueezeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateUnsqueeze( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> axis = 0) { + UnsqueezeBuilder builder_(_fbb); + builder_.add_axis(axis); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateUnsqueezeDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *axis = nullptr) { + auto axis__ = axis ? _fbb.CreateVector(*axis) : 0; + return mindspore::schema::CreateUnsqueeze( + _fbb, + axis__); +} + +flatbuffers::Offset CreateUnsqueeze(flatbuffers::FlatBufferBuilder &_fbb, const UnsqueezeT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct UnstackT : public flatbuffers::NativeTable { + typedef Unstack TableType; + int64_t axis = 0; +}; + +struct Unstack FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef UnstackT NativeTableType; + typedef UnstackBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return UnstackTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4 + }; + int64_t axis() const { + return GetField(VT_AXIS, 0); + } + bool mutate_axis(int64_t _axis) { + return SetField(VT_AXIS, _axis, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_AXIS) && + verifier.EndTable(); + } + UnstackT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(UnstackT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnstackT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct UnstackBuilder { + typedef Unstack Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(int64_t axis) { + fbb_.AddElement(Unstack::VT_AXIS, axis, 0); + } + explicit UnstackBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateUnstack( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t axis = 0) { + UnstackBuilder builder_(_fbb); + builder_.add_axis(axis); + return builder_.Finish(); +} + +flatbuffers::Offset CreateUnstack(flatbuffers::FlatBufferBuilder &_fbb, const UnstackT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct WhereT : public flatbuffers::NativeTable { + typedef Where TableType; +}; + +struct Where FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef WhereT NativeTableType; + typedef WhereBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return WhereTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + WhereT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(WhereT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const WhereT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct WhereBuilder { + typedef Where Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit WhereBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateWhere( + flatbuffers::FlatBufferBuilder &_fbb) { + WhereBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateWhere(flatbuffers::FlatBufferBuilder &_fbb, const WhereT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ZerosLikeT : public flatbuffers::NativeTable { + typedef ZerosLike TableType; +}; + +struct ZerosLike FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ZerosLikeT NativeTableType; + typedef ZerosLikeBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ZerosLikeTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + ZerosLikeT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ZerosLikeT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ZerosLikeT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ZerosLikeBuilder { + typedef ZerosLike Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ZerosLikeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateZerosLike( + flatbuffers::FlatBufferBuilder &_fbb) { + ZerosLikeBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateZerosLike(flatbuffers::FlatBufferBuilder &_fbb, const ZerosLikeT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SelectT : public flatbuffers::NativeTable { + typedef Select TableType; +}; + +struct Select FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SelectT NativeTableType; + typedef SelectBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SelectTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + SelectT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SelectT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset CreateSelect( + flatbuffers::FlatBufferBuilder &_fbb) { + SelectBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset Select::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SelectT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSelect(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset CreateSelect( + flatbuffers::FlatBufferBuilder &_fbb) { + SelectBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct GRU FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GRUBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BIDIRECTIONAL = 4 + }; + bool bidirectional() const { + return GetField(VT_BIDIRECTIONAL, 0) != 0; + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BIDIRECTIONAL) && + verifier.EndTable(); + } +}; + +struct GRUBuilder { + typedef GRU Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_bidirectional(bool bidirectional) { + fbb_.AddElement(GRU::VT_BIDIRECTIONAL, static_cast(bidirectional), 0); + } + explicit GRUBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateGRU( + flatbuffers::FlatBufferBuilder &_fbb, + bool bidirectional = false) { + GRUBuilder builder_(_fbb); + builder_.add_bidirectional(bidirectional); + return builder_.Finish(); +} + +struct NonZero FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef NonZeroBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct NonZeroBuilder { + typedef NonZero Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit NonZeroBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateNonZero( + flatbuffers::FlatBufferBuilder &_fbb) { + NonZeroBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct InvertPermutation FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef InvertPermutationBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct InvertPermutationBuilder { + typedef InvertPermutation Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit InvertPermutationBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateInvertPermutation( + flatbuffers::FlatBufferBuilder &_fbb) { + InvertPermutationBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct Size FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SizeBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct SizeBuilder { + typedef Size Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SizeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSize( + flatbuffers::FlatBufferBuilder &_fbb) { + SizeBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct RandomStandardNormal FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef RandomStandardNormalBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SEED = 4, + VT_SEED2 = 6 + }; + int64_t seed() const { + return GetField(VT_SEED, 0); + } + int64_t seed2() const { + return GetField(VT_SEED2, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_SEED) && + VerifyField(verifier, VT_SEED2) && + verifier.EndTable(); + } +}; + +struct RandomStandardNormalBuilder { + typedef RandomStandardNormal Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_seed(int64_t seed) { + fbb_.AddElement(RandomStandardNormal::VT_SEED, seed, 0); + } + void add_seed2(int64_t seed2) { + fbb_.AddElement(RandomStandardNormal::VT_SEED2, seed2, 0); + } + explicit RandomStandardNormalBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateRandomStandardNormal( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t seed = 0, + int64_t seed2 = 0) { + RandomStandardNormalBuilder builder_(_fbb); + builder_.add_seed2(seed2); + builder_.add_seed(seed); + return builder_.Finish(); +} + +struct CropAndResize FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CropAndResizeBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_METHOD = 4, + VT_EXTRAPOLATION_VALUE = 6 + }; + mindspore::schema::ResizeMethod method() const { + return static_cast(GetField(VT_METHOD, 0)); + } + float extrapolation_value() const { + return GetField(VT_EXTRAPOLATION_VALUE, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_METHOD) && + VerifyField(verifier, VT_EXTRAPOLATION_VALUE) && + verifier.EndTable(); + } +}; + +struct CropAndResizeBuilder { + typedef CropAndResize Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_method(mindspore::schema::ResizeMethod method) { + fbb_.AddElement(CropAndResize::VT_METHOD, static_cast(method), 0); + } + void add_extrapolation_value(float extrapolation_value) { + fbb_.AddElement(CropAndResize::VT_EXTRAPOLATION_VALUE, extrapolation_value, 0.0f); + } + explicit CropAndResizeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateCropAndResize( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::ResizeMethod method = mindspore::schema::ResizeMethod_LINEAR, + float extrapolation_value = 0.0f) { + CropAndResizeBuilder builder_(_fbb); + builder_.add_extrapolation_value(extrapolation_value); + builder_.add_method(method); + return builder_.Finish(); +} + +struct Erf FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ErfBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct ErfBuilder { + typedef Erf Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ErfBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateErf( + flatbuffers::FlatBufferBuilder &_fbb) { + ErfBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct StridedSliceGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef StridedSliceGradBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BEGIN_MASK = 4, + VT_END_MASK = 6, + VT_ELLIPSIS_MASK = 8, + VT_NEW_AXIS_MASK = 10, + VT_SHRINK_AXIS_MASK = 12 + }; + int64_t begin_mask() const { + return GetField(VT_BEGIN_MASK, 0); + } + int64_t end_mask() const { + return GetField(VT_END_MASK, 0); + } + int64_t ellipsis_mask() const { + return GetField(VT_ELLIPSIS_MASK, 0); + } + int64_t new_axis_mask() const { + return GetField(VT_NEW_AXIS_MASK, 0); + } + int64_t shrink_axis_mask() const { + return GetField(VT_SHRINK_AXIS_MASK, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BEGIN_MASK) && + VerifyField(verifier, VT_END_MASK) && + VerifyField(verifier, VT_ELLIPSIS_MASK) && + VerifyField(verifier, VT_NEW_AXIS_MASK) && + VerifyField(verifier, VT_SHRINK_AXIS_MASK) && + verifier.EndTable(); + } +}; + +struct StridedSliceGradBuilder { + typedef StridedSliceGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_begin_mask(int64_t begin_mask) { + fbb_.AddElement(StridedSliceGrad::VT_BEGIN_MASK, begin_mask, 0); + } + void add_end_mask(int64_t end_mask) { + fbb_.AddElement(StridedSliceGrad::VT_END_MASK, end_mask, 0); + } + void add_ellipsis_mask(int64_t ellipsis_mask) { + fbb_.AddElement(StridedSliceGrad::VT_ELLIPSIS_MASK, ellipsis_mask, 0); + } + void add_new_axis_mask(int64_t new_axis_mask) { + fbb_.AddElement(StridedSliceGrad::VT_NEW_AXIS_MASK, new_axis_mask, 0); + } + void add_shrink_axis_mask(int64_t shrink_axis_mask) { + fbb_.AddElement(StridedSliceGrad::VT_SHRINK_AXIS_MASK, shrink_axis_mask, 0); + } + explicit StridedSliceGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateStridedSliceGrad( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t begin_mask = 0, + int64_t end_mask = 0, + int64_t ellipsis_mask = 0, + int64_t new_axis_mask = 0, + int64_t shrink_axis_mask = 0) { + StridedSliceGradBuilder builder_(_fbb); + builder_.add_shrink_axis_mask(shrink_axis_mask); + builder_.add_new_axis_mask(new_axis_mask); + builder_.add_ellipsis_mask(ellipsis_mask); + builder_.add_end_mask(end_mask); + builder_.add_begin_mask(begin_mask); + return builder_.Finish(); +} + +struct IsFinite FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef IsFiniteBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct IsFiniteBuilder { + typedef IsFinite Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit IsFiniteBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateIsFinite( + flatbuffers::FlatBufferBuilder &_fbb) { + IsFiniteBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct LinSpace FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LinSpaceBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct LinSpaceBuilder { + typedef LinSpace Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LinSpaceBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLinSpace( + flatbuffers::FlatBufferBuilder &_fbb) { + LinSpaceBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct UniformReal FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef UniformRealBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SEED = 4, + VT_SEED2 = 6 + }; + int64_t seed() const { + return GetField(VT_SEED, 0); + } + int64_t seed2() const { + return GetField(VT_SEED2, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_SEED) && + VerifyField(verifier, VT_SEED2) && + verifier.EndTable(); + } +}; + +struct UniformRealBuilder { + typedef UniformReal Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_seed(int64_t seed) { + fbb_.AddElement(UniformReal::VT_SEED, seed, 0); + } + void add_seed2(int64_t seed2) { + fbb_.AddElement(UniformReal::VT_SEED2, seed2, 0); + } + explicit UniformRealBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateUniformReal( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t seed = 0, + int64_t seed2 = 0) { + UniformRealBuilder builder_(_fbb); + builder_.add_seed2(seed2); + builder_.add_seed(seed); + return builder_.Finish(); +} + +struct AbsGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AbsGradBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct AbsGradBuilder { + typedef AbsGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit AbsGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAbsGrad( + flatbuffers::FlatBufferBuilder &_fbb) { + AbsGradBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct RsqrtGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef RsqrtGradBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct RsqrtGradBuilder { + typedef RsqrtGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit RsqrtGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateRsqrtGrad( + flatbuffers::FlatBufferBuilder &_fbb) { + RsqrtGradBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct SqrtGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SqrtGradBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct SqrtGradBuilder { + typedef SqrtGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SqrtGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSqrtGrad( + flatbuffers::FlatBufferBuilder &_fbb) { + SqrtGradBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct LayerNormGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LayerNormGradBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BEGIN_NORM_AXIS = 4, + VT_BEGIN_PARAMS_AXIS = 6 + }; + int64_t begin_norm_axis() const { + return GetField(VT_BEGIN_NORM_AXIS, 0); + } + int64_t begin_params_axis() const { + return GetField(VT_BEGIN_PARAMS_AXIS, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BEGIN_NORM_AXIS) && + VerifyField(verifier, VT_BEGIN_PARAMS_AXIS) && + verifier.EndTable(); + } +}; + +struct LayerNormGradBuilder { + typedef LayerNormGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_begin_norm_axis(int64_t begin_norm_axis) { + fbb_.AddElement(LayerNormGrad::VT_BEGIN_NORM_AXIS, begin_norm_axis, 0); + } + void add_begin_params_axis(int64_t begin_params_axis) { + fbb_.AddElement(LayerNormGrad::VT_BEGIN_PARAMS_AXIS, begin_params_axis, 0); + } + explicit LayerNormGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLayerNormGrad( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t begin_norm_axis = 0, + int64_t begin_params_axis = 0) { + LayerNormGradBuilder builder_(_fbb); + builder_.add_begin_params_axis(begin_params_axis); + builder_.add_begin_norm_axis(begin_norm_axis); + return builder_.Finish(); +} + +struct ResizeGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ResizeGradBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_METHOD = 4, + VT_ALIGN_CORNERS = 6 + }; + mindspore::schema::ResizeMethod method() const { + return static_cast(GetField(VT_METHOD, 0)); + } + bool align_corners() const { + return GetField(VT_ALIGN_CORNERS, 0) != 0; + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_METHOD) && + VerifyField(verifier, VT_ALIGN_CORNERS) && + verifier.EndTable(); + } +}; + +struct ResizeGradBuilder { + typedef ResizeGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_method(mindspore::schema::ResizeMethod method) { + fbb_.AddElement(ResizeGrad::VT_METHOD, static_cast(method), 0); + } + void add_align_corners(bool align_corners) { + fbb_.AddElement(ResizeGrad::VT_ALIGN_CORNERS, static_cast(align_corners), 0); + } + explicit ResizeGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateResizeGrad( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::ResizeMethod method = mindspore::schema::ResizeMethod_LINEAR, + bool align_corners = false) { + ResizeGradBuilder builder_(_fbb); + builder_.add_align_corners(align_corners); + builder_.add_method(method); + return builder_.Finish(); +} + +struct Splice FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SpliceBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_CONTEXT = 4, + VT_FORWARD_INDEXES = 6, + VT_OUTPUT_DIM = 8 + }; + const flatbuffers::Vector *context() const { + return GetPointer *>(VT_CONTEXT); + } + const flatbuffers::Vector *forward_indexes() const { + return GetPointer *>(VT_FORWARD_INDEXES); + } + int64_t output_dim() const { + return GetField(VT_OUTPUT_DIM, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_CONTEXT) && + verifier.VerifyVector(context()) && + VerifyOffset(verifier, VT_FORWARD_INDEXES) && + verifier.VerifyVector(forward_indexes()) && + VerifyField(verifier, VT_OUTPUT_DIM) && + verifier.EndTable(); + } +}; + +struct SpliceBuilder { + typedef Splice Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_context(flatbuffers::Offset> context) { + fbb_.AddOffset(Splice::VT_CONTEXT, context); + } + void add_forward_indexes(flatbuffers::Offset> forward_indexes) { + fbb_.AddOffset(Splice::VT_FORWARD_INDEXES, forward_indexes); + } + void add_output_dim(int64_t output_dim) { + fbb_.AddElement(Splice::VT_OUTPUT_DIM, output_dim, 0); + } + explicit SpliceBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSplice( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> context = 0, + flatbuffers::Offset> forward_indexes = 0, + int64_t output_dim = 0) { + SpliceBuilder builder_(_fbb); + builder_.add_output_dim(output_dim); + builder_.add_forward_indexes(forward_indexes); + builder_.add_context(context); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateSpliceDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *context = nullptr, + const std::vector *forward_indexes = nullptr, + int64_t output_dim = 0) { + auto context__ = context ? _fbb.CreateVector(*context) : 0; + auto forward_indexes__ = forward_indexes ? _fbb.CreateVector(*forward_indexes) : 0; + return mindspore::schema::CreateSplice( + _fbb, + context__, + forward_indexes__, + output_dim); +} + +struct LogSoftmax FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LogSoftmaxBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4 + }; + int64_t axis() const { + return GetField(VT_AXIS, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_AXIS) && + verifier.EndTable(); + } +}; + +struct LogSoftmaxBuilder { + typedef LogSoftmax Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(int64_t axis) { + fbb_.AddElement(LogSoftmax::VT_AXIS, axis, 0); + } + explicit LogSoftmaxBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLogSoftmax( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t axis = 0) { + LogSoftmaxBuilder builder_(_fbb); + builder_.add_axis(axis); + return builder_.Finish(); +} + +struct Call FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CallBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_IS_TAIL_CALL = 4 + }; + bool is_tail_call() const { + return GetField(VT_IS_TAIL_CALL, 1) != 0; + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_IS_TAIL_CALL) && + verifier.EndTable(); + } +}; + +struct CallBuilder { + typedef Call Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_is_tail_call(bool is_tail_call) { + fbb_.AddElement(Call::VT_IS_TAIL_CALL, static_cast(is_tail_call), 1); + } + explicit CallBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateCall( + flatbuffers::FlatBufferBuilder &_fbb, + bool is_tail_call = true) { + CallBuilder builder_(_fbb); + builder_.add_is_tail_call(is_tail_call); + return builder_.Finish(); +} + +struct CumSum FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CumSumBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_EXCLUSIVE = 4, + VT_REVERSE = 6 + }; + bool exclusive() const { + return GetField(VT_EXCLUSIVE, 0) != 0; + } + bool reverse() const { + return GetField(VT_REVERSE, 0) != 0; + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_EXCLUSIVE) && + VerifyField(verifier, VT_REVERSE) && + verifier.EndTable(); + } +}; + +struct CumSumBuilder { + typedef CumSum Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_exclusive(bool exclusive) { + fbb_.AddElement(CumSum::VT_EXCLUSIVE, static_cast(exclusive), 0); + } + void add_reverse(bool reverse) { + fbb_.AddElement(CumSum::VT_REVERSE, static_cast(reverse), 0); + } + explicit CumSumBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateCumSum( + flatbuffers::FlatBufferBuilder &_fbb, + bool exclusive = false, + bool reverse = false) { + CumSumBuilder builder_(_fbb); + builder_.add_reverse(reverse); + builder_.add_exclusive(exclusive); + return builder_.Finish(); +} + +struct Custom FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CustomBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_TYPE = 4, + VT_ATTR = 6 + }; + const flatbuffers::String *type() const { + return GetPointer(VT_TYPE); + } + const flatbuffers::Vector> *attr() const { + return GetPointer> *>(VT_ATTR); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_TYPE) && + verifier.VerifyString(type()) && + VerifyOffset(verifier, VT_ATTR) && + verifier.VerifyVector(attr()) && + verifier.VerifyVectorOfTables(attr()) && + verifier.EndTable(); + } +}; + +struct CustomBuilder { + typedef Custom Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_type(flatbuffers::Offset type) { + fbb_.AddOffset(Custom::VT_TYPE, type); + } + void add_attr(flatbuffers::Offset>> attr) { + fbb_.AddOffset(Custom::VT_ATTR, attr); + } + explicit CustomBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateCustom( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset type = 0, + flatbuffers::Offset>> attr = 0) { + CustomBuilder builder_(_fbb); + builder_.add_attr(attr); + builder_.add_type(type); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateCustomDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *type = nullptr, + const std::vector> *attr = nullptr) { + auto type__ = type ? _fbb.CreateString(type) : 0; + auto attr__ = attr ? _fbb.CreateVector>(*attr) : 0; + return mindspore::schema::CreateCustom( + _fbb, + type__, + attr__); +} + +struct SplitWithOverlap FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SplitWithOverlapBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SPLIT_DIM = 4, + VT_NUMBER_SPLIT = 6, + VT_RATIO = 8, + VT_EXTEND_TOP = 10, + VT_EXTEND_BOTTOM = 12 + }; + int64_t split_dim() const { + return GetField(VT_SPLIT_DIM, 0); + } + int64_t number_split() const { + return GetField(VT_NUMBER_SPLIT, 0); + } + const flatbuffers::Vector *ratio() const { + return GetPointer *>(VT_RATIO); + } + const flatbuffers::Vector *extend_top() const { + return GetPointer *>(VT_EXTEND_TOP); + } + const flatbuffers::Vector *extend_bottom() const { + return GetPointer *>(VT_EXTEND_BOTTOM); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_SPLIT_DIM) && + VerifyField(verifier, VT_NUMBER_SPLIT) && + VerifyOffset(verifier, VT_RATIO) && + verifier.VerifyVector(ratio()) && + VerifyOffset(verifier, VT_EXTEND_TOP) && + verifier.VerifyVector(extend_top()) && + VerifyOffset(verifier, VT_EXTEND_BOTTOM) && + verifier.VerifyVector(extend_bottom()) && + verifier.EndTable(); + } +}; + +struct SplitWithOverlapBuilder { + typedef SplitWithOverlap Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_split_dim(int64_t split_dim) { + fbb_.AddElement(SplitWithOverlap::VT_SPLIT_DIM, split_dim, 0); + } + void add_number_split(int64_t number_split) { + fbb_.AddElement(SplitWithOverlap::VT_NUMBER_SPLIT, number_split, 0); + } + void add_ratio(flatbuffers::Offset> ratio) { + fbb_.AddOffset(SplitWithOverlap::VT_RATIO, ratio); + } + void add_extend_top(flatbuffers::Offset> extend_top) { + fbb_.AddOffset(SplitWithOverlap::VT_EXTEND_TOP, extend_top); + } + void add_extend_bottom(flatbuffers::Offset> extend_bottom) { + fbb_.AddOffset(SplitWithOverlap::VT_EXTEND_BOTTOM, extend_bottom); + } + explicit SplitWithOverlapBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSplitWithOverlap( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t split_dim = 0, + int64_t number_split = 0, + flatbuffers::Offset> ratio = 0, + flatbuffers::Offset> extend_top = 0, + flatbuffers::Offset> extend_bottom = 0) { + SplitWithOverlapBuilder builder_(_fbb); + builder_.add_number_split(number_split); + builder_.add_split_dim(split_dim); + builder_.add_extend_bottom(extend_bottom); + builder_.add_extend_top(extend_top); + builder_.add_ratio(ratio); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateSplitWithOverlapDirect( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t split_dim = 0, + int64_t number_split = 0, + const std::vector *ratio = nullptr, + const std::vector *extend_top = nullptr, + const std::vector *extend_bottom = nullptr) { + auto ratio__ = ratio ? _fbb.CreateVector(*ratio) : 0; + auto extend_top__ = extend_top ? _fbb.CreateVector(*extend_top) : 0; + auto extend_bottom__ = extend_bottom ? _fbb.CreateVector(*extend_bottom) : 0; + return mindspore::schema::CreateSplitWithOverlap( + _fbb, + split_dim, + number_split, + ratio__, + extend_top__, + extend_bottom__); +} + +struct GenOP FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GenOPBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ACTIVATION_TYPE = 4, + VT_ALPHA = 6, + VT_MIN_VAL = 8, + VT_MAX_VAL = 10, + VT_IS_TRAINING = 12, + VT_FORMAT = 14, + VT_KERNEL_SIZE = 16, + VT_STRIDE = 18, + VT_DILATION = 20, + VT_PAD_MODE = 22, + VT_PAD_LIST = 24, + VT_MODE = 26, + VT_GROUP = 28, + VT_IN_CHANNEL = 30, + VT_OUT_CHANNEL = 32, + VT_ELTWISE_MODE = 34, + VT_HAS_BIAS = 36, + VT_USE_AXIS = 38, + VT_AXIS = 40, + VT_EPSILON = 42, + VT_MOMENTUM = 44, + VT_TRANSPOSE_A = 46, + VT_TRANSPOSE_B = 48, + VT_PAD = 50, + VT_ROUND_MODE = 52, + VT_GLOBAL = 54, + VT_CHANNEL_SHARED = 56, + VT_AXES = 58, + VT_KEEP_DIMS = 60, + VT_REDUCE_MODE = 62, + VT_REDUCE_TO_END = 64, + VT_COEFF = 66 + }; + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + float alpha() const { + return GetField(VT_ALPHA, 0.0f); + } + float min_val() const { + return GetField(VT_MIN_VAL, 0.0f); + } + float max_val() const { + return GetField(VT_MAX_VAL, 0.0f); + } + bool is_training() const { + return GetField(VT_IS_TRAINING, 0) != 0; + } + mindspore::schema::Format format() const { + return static_cast(GetField(VT_FORMAT, 0)); + } + const flatbuffers::Vector *kernel_size() const { + return GetPointer *>(VT_KERNEL_SIZE); + } + const flatbuffers::Vector *stride() const { + return GetPointer *>(VT_STRIDE); + } + const flatbuffers::Vector *dilation() const { + return GetPointer *>(VT_DILATION); + } + mindspore::schema::PadMode pad_mode() const { + return static_cast(GetField(VT_PAD_MODE, 0)); + } + const flatbuffers::Vector *pad_list() const { + return GetPointer *>(VT_PAD_LIST); + } + int64_t mode() const { + return GetField(VT_MODE, 0); + } + int64_t group() const { + return GetField(VT_GROUP, 0); + } + int64_t in_channel() const { + return GetField(VT_IN_CHANNEL, 0); + } + int64_t out_channel() const { + return GetField(VT_OUT_CHANNEL, 0); + } + mindspore::schema::EltwiseMode eltwise_mode() const { + return static_cast(GetField(VT_ELTWISE_MODE, 0)); + } + bool has_bias() const { + return GetField(VT_HAS_BIAS, 0) != 0; + } + bool use_axis() const { + return GetField(VT_USE_AXIS, 0) != 0; + } + int64_t axis() const { + return GetField(VT_AXIS, 0); + } + float epsilon() const { + return GetField(VT_EPSILON, 0.0001f); + } + float momentum() const { + return GetField(VT_MOMENTUM, 0.9f); + } + bool transpose_a() const { + return GetField(VT_TRANSPOSE_A, 0) != 0; + } + bool transpose_b() const { + return GetField(VT_TRANSPOSE_B, 0) != 0; + } + const flatbuffers::Vector *pad() const { + return GetPointer *>(VT_PAD); + } + mindspore::schema::RoundMode round_mode() const { + return static_cast(GetField(VT_ROUND_MODE, 0)); + } + bool global() const { + return GetField(VT_GLOBAL, 0) != 0; + } + bool channel_shared() const { + return GetField(VT_CHANNEL_SHARED, 0) != 0; + } + const flatbuffers::Vector *axes() const { + return GetPointer *>(VT_AXES); + } + bool keep_dims() const { + return GetField(VT_KEEP_DIMS, 0) != 0; + } + mindspore::schema::ReduceMode reduce_mode() const { + return static_cast(GetField(VT_REDUCE_MODE, 0)); + } + bool reduce_to_end() const { + return GetField(VT_REDUCE_TO_END, 0) != 0; + } + float coeff() const { + return GetField(VT_COEFF, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + VerifyField(verifier, VT_ALPHA) && + VerifyField(verifier, VT_MIN_VAL) && + VerifyField(verifier, VT_MAX_VAL) && + VerifyField(verifier, VT_IS_TRAINING) && + VerifyField(verifier, VT_FORMAT) && + VerifyOffset(verifier, VT_KERNEL_SIZE) && + verifier.VerifyVector(kernel_size()) && + VerifyOffset(verifier, VT_STRIDE) && + verifier.VerifyVector(stride()) && + VerifyOffset(verifier, VT_DILATION) && + verifier.VerifyVector(dilation()) && + VerifyField(verifier, VT_PAD_MODE) && + VerifyOffset(verifier, VT_PAD_LIST) && + verifier.VerifyVector(pad_list()) && + VerifyField(verifier, VT_MODE) && + VerifyField(verifier, VT_GROUP) && + VerifyField(verifier, VT_IN_CHANNEL) && + VerifyField(verifier, VT_OUT_CHANNEL) && + VerifyField(verifier, VT_ELTWISE_MODE) && + VerifyField(verifier, VT_HAS_BIAS) && + VerifyField(verifier, VT_USE_AXIS) && + VerifyField(verifier, VT_AXIS) && + VerifyField(verifier, VT_EPSILON) && + VerifyField(verifier, VT_MOMENTUM) && + VerifyField(verifier, VT_TRANSPOSE_A) && + VerifyField(verifier, VT_TRANSPOSE_B) && + VerifyOffset(verifier, VT_PAD) && + verifier.VerifyVector(pad()) && + VerifyField(verifier, VT_ROUND_MODE) && + VerifyField(verifier, VT_GLOBAL) && + VerifyField(verifier, VT_CHANNEL_SHARED) && + VerifyOffset(verifier, VT_AXES) && + verifier.VerifyVector(axes()) && + VerifyField(verifier, VT_KEEP_DIMS) && + VerifyField(verifier, VT_REDUCE_MODE) && + VerifyField(verifier, VT_REDUCE_TO_END) && + VerifyField(verifier, VT_COEFF) && + verifier.EndTable(); + } +}; + +struct GenOPBuilder { + typedef GenOP Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(GenOP::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + void add_alpha(float alpha) { + fbb_.AddElement(GenOP::VT_ALPHA, alpha, 0.0f); + } + void add_min_val(float min_val) { + fbb_.AddElement(GenOP::VT_MIN_VAL, min_val, 0.0f); + } + void add_max_val(float max_val) { + fbb_.AddElement(GenOP::VT_MAX_VAL, max_val, 0.0f); + } + void add_is_training(bool is_training) { + fbb_.AddElement(GenOP::VT_IS_TRAINING, static_cast(is_training), 0); + } + void add_format(mindspore::schema::Format format) { + fbb_.AddElement(GenOP::VT_FORMAT, static_cast(format), 0); + } + void add_kernel_size(flatbuffers::Offset> kernel_size) { + fbb_.AddOffset(GenOP::VT_KERNEL_SIZE, kernel_size); + } + void add_stride(flatbuffers::Offset> stride) { + fbb_.AddOffset(GenOP::VT_STRIDE, stride); + } + void add_dilation(flatbuffers::Offset> dilation) { + fbb_.AddOffset(GenOP::VT_DILATION, dilation); + } + void add_pad_mode(mindspore::schema::PadMode pad_mode) { + fbb_.AddElement(GenOP::VT_PAD_MODE, static_cast(pad_mode), 0); + } + void add_pad_list(flatbuffers::Offset> pad_list) { + fbb_.AddOffset(GenOP::VT_PAD_LIST, pad_list); + } + void add_mode(int64_t mode) { + fbb_.AddElement(GenOP::VT_MODE, mode, 0); + } + void add_group(int64_t group) { + fbb_.AddElement(GenOP::VT_GROUP, group, 0); + } + void add_in_channel(int64_t in_channel) { + fbb_.AddElement(GenOP::VT_IN_CHANNEL, in_channel, 0); + } + void add_out_channel(int64_t out_channel) { + fbb_.AddElement(GenOP::VT_OUT_CHANNEL, out_channel, 0); + } + void add_eltwise_mode(mindspore::schema::EltwiseMode eltwise_mode) { + fbb_.AddElement(GenOP::VT_ELTWISE_MODE, static_cast(eltwise_mode), 0); + } + void add_has_bias(bool has_bias) { + fbb_.AddElement(GenOP::VT_HAS_BIAS, static_cast(has_bias), 0); + } + void add_use_axis(bool use_axis) { + fbb_.AddElement(GenOP::VT_USE_AXIS, static_cast(use_axis), 0); + } + void add_axis(int64_t axis) { + fbb_.AddElement(GenOP::VT_AXIS, axis, 0); + } + void add_epsilon(float epsilon) { + fbb_.AddElement(GenOP::VT_EPSILON, epsilon, 0.0001f); + } + void add_momentum(float momentum) { + fbb_.AddElement(GenOP::VT_MOMENTUM, momentum, 0.9f); + } + void add_transpose_a(bool transpose_a) { + fbb_.AddElement(GenOP::VT_TRANSPOSE_A, static_cast(transpose_a), 0); + } + void add_transpose_b(bool transpose_b) { + fbb_.AddElement(GenOP::VT_TRANSPOSE_B, static_cast(transpose_b), 0); + } + void add_pad(flatbuffers::Offset> pad) { + fbb_.AddOffset(GenOP::VT_PAD, pad); + } + void add_round_mode(mindspore::schema::RoundMode round_mode) { + fbb_.AddElement(GenOP::VT_ROUND_MODE, static_cast(round_mode), 0); + } + void add_global(bool global) { + fbb_.AddElement(GenOP::VT_GLOBAL, static_cast(global), 0); + } + void add_channel_shared(bool channel_shared) { + fbb_.AddElement(GenOP::VT_CHANNEL_SHARED, static_cast(channel_shared), 0); + } + void add_axes(flatbuffers::Offset> axes) { + fbb_.AddOffset(GenOP::VT_AXES, axes); + } + void add_keep_dims(bool keep_dims) { + fbb_.AddElement(GenOP::VT_KEEP_DIMS, static_cast(keep_dims), 0); + } + void add_reduce_mode(mindspore::schema::ReduceMode reduce_mode) { + fbb_.AddElement(GenOP::VT_REDUCE_MODE, static_cast(reduce_mode), 0); + } + void add_reduce_to_end(bool reduce_to_end) { + fbb_.AddElement(GenOP::VT_REDUCE_TO_END, static_cast(reduce_to_end), 0); + } + void add_coeff(float coeff) { + fbb_.AddElement(GenOP::VT_COEFF, coeff, 0.0f); + } + explicit GenOPBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateGenOP( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION, + float alpha = 0.0f, + float min_val = 0.0f, + float max_val = 0.0f, + bool is_training = false, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + flatbuffers::Offset> kernel_size = 0, + flatbuffers::Offset> stride = 0, + flatbuffers::Offset> dilation = 0, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + flatbuffers::Offset> pad_list = 0, + int64_t mode = 0, + int64_t group = 0, + int64_t in_channel = 0, + int64_t out_channel = 0, + mindspore::schema::EltwiseMode eltwise_mode = mindspore::schema::EltwiseMode_PROD, + bool has_bias = false, + bool use_axis = false, + int64_t axis = 0, + float epsilon = 0.0001f, + float momentum = 0.9f, + bool transpose_a = false, + bool transpose_b = false, + flatbuffers::Offset> pad = 0, + mindspore::schema::RoundMode round_mode = mindspore::schema::RoundMode_FLOOR, + bool global = false, + bool channel_shared = false, + flatbuffers::Offset> axes = 0, + bool keep_dims = false, + mindspore::schema::ReduceMode reduce_mode = mindspore::schema::ReduceMode_ReduceMean, + bool reduce_to_end = false, + float coeff = 0.0f) { + GenOPBuilder builder_(_fbb); + builder_.add_axis(axis); + builder_.add_out_channel(out_channel); + builder_.add_in_channel(in_channel); + builder_.add_group(group); + builder_.add_mode(mode); + builder_.add_coeff(coeff); + builder_.add_axes(axes); + builder_.add_pad(pad); + builder_.add_momentum(momentum); + builder_.add_epsilon(epsilon); + builder_.add_pad_list(pad_list); + builder_.add_dilation(dilation); + builder_.add_stride(stride); + builder_.add_kernel_size(kernel_size); + builder_.add_format(format); + builder_.add_max_val(max_val); + builder_.add_min_val(min_val); + builder_.add_alpha(alpha); + builder_.add_reduce_to_end(reduce_to_end); + builder_.add_reduce_mode(reduce_mode); + builder_.add_keep_dims(keep_dims); + builder_.add_channel_shared(channel_shared); + builder_.add_global(global); + builder_.add_round_mode(round_mode); + builder_.add_transpose_b(transpose_b); + builder_.add_transpose_a(transpose_a); + builder_.add_use_axis(use_axis); + builder_.add_has_bias(has_bias); + builder_.add_eltwise_mode(eltwise_mode); + builder_.add_pad_mode(pad_mode); + builder_.add_is_training(is_training); + builder_.add_activation_type(activation_type); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateGenOPDirect( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION, + float alpha = 0.0f, + float min_val = 0.0f, + float max_val = 0.0f, + bool is_training = false, + mindspore::schema::Format format = mindspore::schema::Format_NCHW, + const std::vector *kernel_size = nullptr, + const std::vector *stride = nullptr, + const std::vector *dilation = nullptr, + mindspore::schema::PadMode pad_mode = mindspore::schema::PadMode_PAD, + const std::vector *pad_list = nullptr, + int64_t mode = 0, + int64_t group = 0, + int64_t in_channel = 0, + int64_t out_channel = 0, + mindspore::schema::EltwiseMode eltwise_mode = mindspore::schema::EltwiseMode_PROD, + bool has_bias = false, + bool use_axis = false, + int64_t axis = 0, + float epsilon = 0.0001f, + float momentum = 0.9f, + bool transpose_a = false, + bool transpose_b = false, + const std::vector *pad = nullptr, + mindspore::schema::RoundMode round_mode = mindspore::schema::RoundMode_FLOOR, + bool global = false, + bool channel_shared = false, + const std::vector *axes = nullptr, + bool keep_dims = false, + mindspore::schema::ReduceMode reduce_mode = mindspore::schema::ReduceMode_ReduceMean, + bool reduce_to_end = false, + float coeff = 0.0f) { + auto kernel_size__ = kernel_size ? _fbb.CreateVector(*kernel_size) : 0; + auto stride__ = stride ? _fbb.CreateVector(*stride) : 0; + auto dilation__ = dilation ? _fbb.CreateVector(*dilation) : 0; + auto pad_list__ = pad_list ? _fbb.CreateVector(*pad_list) : 0; + auto pad__ = pad ? _fbb.CreateVector(*pad) : 0; + auto axes__ = axes ? _fbb.CreateVector(*axes) : 0; + return mindspore::schema::CreateGenOP( + _fbb, + activation_type, + alpha, + min_val, + max_val, + is_training, + format, + kernel_size__, + stride__, + dilation__, + pad_mode, + pad_list__, + mode, + group, + in_channel, + out_channel, + eltwise_mode, + has_bias, + use_axis, + axis, + epsilon, + momentum, + transpose_a, + transpose_b, + pad__, + round_mode, + global, + channel_shared, + axes__, + keep_dims, + reduce_mode, + reduce_to_end, + coeff); +} + +struct RaggedRange FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef RaggedRangeBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct RaggedRangeBuilder { + typedef RaggedRange Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit RaggedRangeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateRaggedRange( + flatbuffers::FlatBufferBuilder &_fbb) { + RaggedRangeBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct GLU FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GLUBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4 + }; + int64_t axis() const { + return GetField(VT_AXIS, -1LL); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_AXIS) && + verifier.EndTable(); + } +}; + +struct GLUBuilder { + typedef GLU Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(int64_t axis) { + fbb_.AddElement(GLU::VT_AXIS, axis, -1LL); + } + explicit GLUBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateGLU( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t axis = -1LL) { + GLUBuilder builder_(_fbb); + builder_.add_axis(axis); + return builder_.Finish(); +} + +struct TensorArray FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TensorArrayBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_DYNAMIC_SIZE = 4, + VT_IDENTICAL_ELEMENT_SHAPES = 6, + VT_ELEMENT_SHAPE = 8, + VT_DATA_TYPE = 10 + }; + bool dynamic_size() const { + return GetField(VT_DYNAMIC_SIZE, 0) != 0; + } + bool identical_element_shapes() const { + return GetField(VT_IDENTICAL_ELEMENT_SHAPES, 0) != 0; + } + const flatbuffers::Vector *element_shape() const { + return GetPointer *>(VT_ELEMENT_SHAPE); + } + int32_t data_type() const { + return GetField(VT_DATA_TYPE, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_DYNAMIC_SIZE) && + VerifyField(verifier, VT_IDENTICAL_ELEMENT_SHAPES) && + VerifyOffset(verifier, VT_ELEMENT_SHAPE) && + verifier.VerifyVector(element_shape()) && + VerifyField(verifier, VT_DATA_TYPE) && + verifier.EndTable(); + } +}; + +struct TensorArrayBuilder { + typedef TensorArray Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_dynamic_size(bool dynamic_size) { + fbb_.AddElement(TensorArray::VT_DYNAMIC_SIZE, static_cast(dynamic_size), 0); + } + void add_identical_element_shapes(bool identical_element_shapes) { + fbb_.AddElement(TensorArray::VT_IDENTICAL_ELEMENT_SHAPES, static_cast(identical_element_shapes), 0); + } + void add_element_shape(flatbuffers::Offset> element_shape) { + fbb_.AddOffset(TensorArray::VT_ELEMENT_SHAPE, element_shape); + } + void add_data_type(int32_t data_type) { + fbb_.AddElement(TensorArray::VT_DATA_TYPE, data_type, 0); + } + explicit TensorArrayBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTensorArray( + flatbuffers::FlatBufferBuilder &_fbb, + bool dynamic_size = false, + bool identical_element_shapes = false, + flatbuffers::Offset> element_shape = 0, + int32_t data_type = 0) { + TensorArrayBuilder builder_(_fbb); + builder_.add_data_type(data_type); + builder_.add_element_shape(element_shape); + builder_.add_identical_element_shapes(identical_element_shapes); + builder_.add_dynamic_size(dynamic_size); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateTensorArrayDirect( + flatbuffers::FlatBufferBuilder &_fbb, + bool dynamic_size = false, + bool identical_element_shapes = false, + const std::vector *element_shape = nullptr, + int32_t data_type = 0) { + auto element_shape__ = element_shape ? _fbb.CreateVector(*element_shape) : 0; + return mindspore::schema::CreateTensorArray( + _fbb, + dynamic_size, + identical_element_shapes, + element_shape__, + data_type); +} + +struct TensorArrayRead FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TensorArrayReadBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct TensorArrayReadBuilder { + typedef TensorArrayRead Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit TensorArrayReadBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTensorArrayRead( + flatbuffers::FlatBufferBuilder &_fbb) { + TensorArrayReadBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct TensorArrayWrite FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TensorArrayWriteBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct TensorArrayWriteBuilder { + typedef TensorArrayWrite Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit TensorArrayWriteBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTensorArrayWrite( + flatbuffers::FlatBufferBuilder &_fbb) { + TensorArrayWriteBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct Affine FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AffineBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_CONTEXT = 4, + VT_OUTPUT_DIM = 6, + VT_ACTIVATION_TYPE = 8, + VT_TRANSPOSE_A = 10, + VT_TRANSPOSE_B = 12 + }; + const flatbuffers::Vector *context() const { + return GetPointer *>(VT_CONTEXT); + } + int64_t output_dim() const { + return GetField(VT_OUTPUT_DIM, 0); + } + mindspore::schema::ActivationType activation_type() const { + return static_cast(GetField(VT_ACTIVATION_TYPE, 0)); + } + bool transpose_a() const { + return GetField(VT_TRANSPOSE_A, 0) != 0; + } + bool transpose_b() const { + return GetField(VT_TRANSPOSE_B, 0) != 0; + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_CONTEXT) && + verifier.VerifyVector(context()) && + VerifyField(verifier, VT_OUTPUT_DIM) && + VerifyField(verifier, VT_ACTIVATION_TYPE) && + VerifyField(verifier, VT_TRANSPOSE_A) && + VerifyField(verifier, VT_TRANSPOSE_B) && + verifier.EndTable(); + } +}; + +struct AffineBuilder { + typedef Affine Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_context(flatbuffers::Offset> context) { + fbb_.AddOffset(Affine::VT_CONTEXT, context); + } + void add_output_dim(int64_t output_dim) { + fbb_.AddElement(Affine::VT_OUTPUT_DIM, output_dim, 0); + } + void add_activation_type(mindspore::schema::ActivationType activation_type) { + fbb_.AddElement(Affine::VT_ACTIVATION_TYPE, static_cast(activation_type), 0); + } + void add_transpose_a(bool transpose_a) { + fbb_.AddElement(Affine::VT_TRANSPOSE_A, static_cast(transpose_a), 0); + } + void add_transpose_b(bool transpose_b) { + fbb_.AddElement(Affine::VT_TRANSPOSE_B, static_cast(transpose_b), 0); + } + explicit AffineBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAffine( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> context = 0, + int64_t output_dim = 0, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION, + bool transpose_a = false, + bool transpose_b = false) { + AffineBuilder builder_(_fbb); + builder_.add_output_dim(output_dim); + builder_.add_context(context); + builder_.add_transpose_b(transpose_b); + builder_.add_transpose_a(transpose_a); + builder_.add_activation_type(activation_type); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateAffineDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *context = nullptr, + int64_t output_dim = 0, + mindspore::schema::ActivationType activation_type = mindspore::schema::ActivationType_NO_ACTIVATION, + bool transpose_a = false, + bool transpose_b = false) { + auto context__ = context ? _fbb.CreateVector(*context) : 0; + return mindspore::schema::CreateAffine( + _fbb, + context__, + output_dim, + activation_type, + transpose_a, + transpose_b); +} + +struct ScatterNdUpdate FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ScatterNdUpdateBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct ScatterNdUpdateBuilder { + typedef ScatterNdUpdate Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ScatterNdUpdateBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateScatterNdUpdate( + flatbuffers::FlatBufferBuilder &_fbb) { + ScatterNdUpdateBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct AllGather FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AllGatherBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_GROUP = 4, + VT_RANK_SIZE = 6 + }; + const flatbuffers::String *group() const { + return GetPointer(VT_GROUP); + } + int32_t rank_size() const { + return GetField(VT_RANK_SIZE, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_GROUP) && + verifier.VerifyString(group()) && + VerifyField(verifier, VT_RANK_SIZE) && + verifier.EndTable(); + } +}; + +struct AllGatherBuilder { + typedef AllGather Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_group(flatbuffers::Offset group) { + fbb_.AddOffset(AllGather::VT_GROUP, group); + } + void add_rank_size(int32_t rank_size) { + fbb_.AddElement(AllGather::VT_RANK_SIZE, rank_size, 0); + } + explicit AllGatherBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAllGather( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset group = 0, + int32_t rank_size = 0) { + AllGatherBuilder builder_(_fbb); + builder_.add_rank_size(rank_size); + builder_.add_group(group); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateAllGatherDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *group = nullptr, + int32_t rank_size = 0) { + auto group__ = group ? _fbb.CreateString(group) : 0; + return mindspore::schema::CreateAllGather( + _fbb, + group__, + rank_size); +} + +struct ReduceScatter FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ReduceScatterBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_GROUP = 4, + VT_MODE = 6, + VT_RANK_SIZE = 8 + }; + const flatbuffers::String *group() const { + return GetPointer(VT_GROUP); + } + mindspore::schema::ReduceMode mode() const { + return static_cast(GetField(VT_MODE, 0)); + } + int32_t rank_size() const { + return GetField(VT_RANK_SIZE, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_GROUP) && + verifier.VerifyString(group()) && + VerifyField(verifier, VT_MODE) && + VerifyField(verifier, VT_RANK_SIZE) && + verifier.EndTable(); + } +}; + +struct ReduceScatterBuilder { + typedef ReduceScatter Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_group(flatbuffers::Offset group) { + fbb_.AddOffset(ReduceScatter::VT_GROUP, group); + } + void add_mode(mindspore::schema::ReduceMode mode) { + fbb_.AddElement(ReduceScatter::VT_MODE, static_cast(mode), 0); + } + void add_rank_size(int32_t rank_size) { + fbb_.AddElement(ReduceScatter::VT_RANK_SIZE, rank_size, 0); + } + explicit ReduceScatterBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateReduceScatter( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset group = 0, + mindspore::schema::ReduceMode mode = mindspore::schema::ReduceMode_ReduceMean, + int32_t rank_size = 0) { + ReduceScatterBuilder builder_(_fbb); + builder_.add_rank_size(rank_size); + builder_.add_group(group); + builder_.add_mode(mode); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateReduceScatterDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *group = nullptr, + mindspore::schema::ReduceMode mode = mindspore::schema::ReduceMode_ReduceMean, + int32_t rank_size = 0) { + auto group__ = group ? _fbb.CreateString(group) : 0; + return mindspore::schema::CreateReduceScatter( + _fbb, + group__, + mode, + rank_size); +} + +struct DynamicQuant FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DynamicQuantBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SYMMETRIC = 4, + VT_DST_TYPE = 6, + VT_ACTIVATION_CHANNEL = 8, + VT_PREFER_AXIS = 10, + VT_TRANSPOSE = 12 + }; + bool symmetric() const { + return GetField(VT_SYMMETRIC, 0) != 0; + } + int64_t dst_type() const { + return GetField(VT_DST_TYPE, 32LL); + } + bool activation_channel() const { + return GetField(VT_ACTIVATION_CHANNEL, 0) != 0; + } + int64_t prefer_axis() const { + return GetField(VT_PREFER_AXIS, 0); + } + bool transpose() const { + return GetField(VT_TRANSPOSE, 0) != 0; + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_SYMMETRIC) && + VerifyField(verifier, VT_DST_TYPE) && + VerifyField(verifier, VT_ACTIVATION_CHANNEL) && + VerifyField(verifier, VT_PREFER_AXIS) && + VerifyField(verifier, VT_TRANSPOSE) && + verifier.EndTable(); + } +}; + +struct DynamicQuantBuilder { + typedef DynamicQuant Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_symmetric(bool symmetric) { + fbb_.AddElement(DynamicQuant::VT_SYMMETRIC, static_cast(symmetric), 0); + } + void add_dst_type(int64_t dst_type) { + fbb_.AddElement(DynamicQuant::VT_DST_TYPE, dst_type, 32LL); + } + void add_activation_channel(bool activation_channel) { + fbb_.AddElement(DynamicQuant::VT_ACTIVATION_CHANNEL, static_cast(activation_channel), 0); + } + void add_prefer_axis(int64_t prefer_axis) { + fbb_.AddElement(DynamicQuant::VT_PREFER_AXIS, prefer_axis, 0); + } + void add_transpose(bool transpose) { + fbb_.AddElement(DynamicQuant::VT_TRANSPOSE, static_cast(transpose), 0); + } + explicit DynamicQuantBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateDynamicQuant( + flatbuffers::FlatBufferBuilder &_fbb, + bool symmetric = false, + int64_t dst_type = 32LL, + bool activation_channel = false, + int64_t prefer_axis = 0, + bool transpose = false) { + DynamicQuantBuilder builder_(_fbb); + builder_.add_prefer_axis(prefer_axis); + builder_.add_dst_type(dst_type); + builder_.add_transpose(transpose); + builder_.add_activation_channel(activation_channel); + builder_.add_symmetric(symmetric); + return builder_.Finish(); +} + +struct LSTMGradData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LSTMGradDataBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BIDIRECTIONAL = 4, + VT_HAS_BIAS = 6, + VT_INPUT_SIZE = 8, + VT_HIDDEN_SIZE = 10, + VT_NUM_LAYERS = 12, + VT_NUM_DIRECTIONS = 14, + VT_DROPOUT = 16, + VT_ZONEOUT_CELL = 18, + VT_ZONEOUT_HIDDEN = 20 + }; + bool bidirectional() const { + return GetField(VT_BIDIRECTIONAL, 0) != 0; + } + bool has_bias() const { + return GetField(VT_HAS_BIAS, 0) != 0; + } + int64_t input_size() const { + return GetField(VT_INPUT_SIZE, 0); + } + int64_t hidden_size() const { + return GetField(VT_HIDDEN_SIZE, 0); + } + int64_t num_layers() const { + return GetField(VT_NUM_LAYERS, 0); + } + int64_t num_directions() const { + return GetField(VT_NUM_DIRECTIONS, 0); + } + float dropout() const { + return GetField(VT_DROPOUT, 0.0f); + } + float zoneout_cell() const { + return GetField(VT_ZONEOUT_CELL, 0.0f); + } + float zoneout_hidden() const { + return GetField(VT_ZONEOUT_HIDDEN, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BIDIRECTIONAL) && + VerifyField(verifier, VT_HAS_BIAS) && + VerifyField(verifier, VT_INPUT_SIZE) && + VerifyField(verifier, VT_HIDDEN_SIZE) && + VerifyField(verifier, VT_NUM_LAYERS) && + VerifyField(verifier, VT_NUM_DIRECTIONS) && + VerifyField(verifier, VT_DROPOUT) && + VerifyField(verifier, VT_ZONEOUT_CELL) && + VerifyField(verifier, VT_ZONEOUT_HIDDEN) && + verifier.EndTable(); + } +}; + +struct LSTMGradDataBuilder { + typedef LSTMGradData Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_bidirectional(bool bidirectional) { + fbb_.AddElement(LSTMGradData::VT_BIDIRECTIONAL, static_cast(bidirectional), 0); + } + void add_has_bias(bool has_bias) { + fbb_.AddElement(LSTMGradData::VT_HAS_BIAS, static_cast(has_bias), 0); + } + void add_input_size(int64_t input_size) { + fbb_.AddElement(LSTMGradData::VT_INPUT_SIZE, input_size, 0); + } + void add_hidden_size(int64_t hidden_size) { + fbb_.AddElement(LSTMGradData::VT_HIDDEN_SIZE, hidden_size, 0); + } + void add_num_layers(int64_t num_layers) { + fbb_.AddElement(LSTMGradData::VT_NUM_LAYERS, num_layers, 0); + } + void add_num_directions(int64_t num_directions) { + fbb_.AddElement(LSTMGradData::VT_NUM_DIRECTIONS, num_directions, 0); + } + void add_dropout(float dropout) { + fbb_.AddElement(LSTMGradData::VT_DROPOUT, dropout, 0.0f); + } + void add_zoneout_cell(float zoneout_cell) { + fbb_.AddElement(LSTMGradData::VT_ZONEOUT_CELL, zoneout_cell, 0.0f); + } + void add_zoneout_hidden(float zoneout_hidden) { + fbb_.AddElement(LSTMGradData::VT_ZONEOUT_HIDDEN, zoneout_hidden, 0.0f); + } + explicit LSTMGradDataBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLSTMGradData( + flatbuffers::FlatBufferBuilder &_fbb, + bool bidirectional = false, + bool has_bias = false, + int64_t input_size = 0, + int64_t hidden_size = 0, + int64_t num_layers = 0, + int64_t num_directions = 0, + float dropout = 0.0f, + float zoneout_cell = 0.0f, + float zoneout_hidden = 0.0f) { + LSTMGradDataBuilder builder_(_fbb); + builder_.add_num_directions(num_directions); + builder_.add_num_layers(num_layers); + builder_.add_hidden_size(hidden_size); + builder_.add_input_size(input_size); + builder_.add_zoneout_hidden(zoneout_hidden); + builder_.add_zoneout_cell(zoneout_cell); + builder_.add_dropout(dropout); + builder_.add_has_bias(has_bias); + builder_.add_bidirectional(bidirectional); + return builder_.Finish(); +} + +struct LSTMGradWeight FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LSTMGradWeightBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BIDIRECTIONAL = 4, + VT_HAS_BIAS = 6, + VT_INPUT_SIZE = 8, + VT_HIDDEN_SIZE = 10, + VT_NUM_LAYERS = 12, + VT_NUM_DIRECTIONS = 14, + VT_DROPOUT = 16, + VT_ZONEOUT_CELL = 18, + VT_ZONEOUT_HIDDEN = 20 + }; + bool bidirectional() const { + return GetField(VT_BIDIRECTIONAL, 0) != 0; + } + bool has_bias() const { + return GetField(VT_HAS_BIAS, 0) != 0; + } + int64_t input_size() const { + return GetField(VT_INPUT_SIZE, 0); + } + int64_t hidden_size() const { + return GetField(VT_HIDDEN_SIZE, 0); + } + int64_t num_layers() const { + return GetField(VT_NUM_LAYERS, 0); + } + int64_t num_directions() const { + return GetField(VT_NUM_DIRECTIONS, 0); + } + float dropout() const { + return GetField(VT_DROPOUT, 0.0f); + } + float zoneout_cell() const { + return GetField(VT_ZONEOUT_CELL, 0.0f); + } + float zoneout_hidden() const { + return GetField(VT_ZONEOUT_HIDDEN, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BIDIRECTIONAL) && + VerifyField(verifier, VT_HAS_BIAS) && + VerifyField(verifier, VT_INPUT_SIZE) && + VerifyField(verifier, VT_HIDDEN_SIZE) && + VerifyField(verifier, VT_NUM_LAYERS) && + VerifyField(verifier, VT_NUM_DIRECTIONS) && + VerifyField(verifier, VT_DROPOUT) && + VerifyField(verifier, VT_ZONEOUT_CELL) && + VerifyField(verifier, VT_ZONEOUT_HIDDEN) && + verifier.EndTable(); + } +}; + +struct LSTMGradWeightBuilder { + typedef LSTMGradWeight Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_bidirectional(bool bidirectional) { + fbb_.AddElement(LSTMGradWeight::VT_BIDIRECTIONAL, static_cast(bidirectional), 0); + } + void add_has_bias(bool has_bias) { + fbb_.AddElement(LSTMGradWeight::VT_HAS_BIAS, static_cast(has_bias), 0); + } + void add_input_size(int64_t input_size) { + fbb_.AddElement(LSTMGradWeight::VT_INPUT_SIZE, input_size, 0); + } + void add_hidden_size(int64_t hidden_size) { + fbb_.AddElement(LSTMGradWeight::VT_HIDDEN_SIZE, hidden_size, 0); + } + void add_num_layers(int64_t num_layers) { + fbb_.AddElement(LSTMGradWeight::VT_NUM_LAYERS, num_layers, 0); + } + void add_num_directions(int64_t num_directions) { + fbb_.AddElement(LSTMGradWeight::VT_NUM_DIRECTIONS, num_directions, 0); + } + void add_dropout(float dropout) { + fbb_.AddElement(LSTMGradWeight::VT_DROPOUT, dropout, 0.0f); + } + void add_zoneout_cell(float zoneout_cell) { + fbb_.AddElement(LSTMGradWeight::VT_ZONEOUT_CELL, zoneout_cell, 0.0f); + } + void add_zoneout_hidden(float zoneout_hidden) { + fbb_.AddElement(LSTMGradWeight::VT_ZONEOUT_HIDDEN, zoneout_hidden, 0.0f); + } + explicit LSTMGradWeightBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLSTMGradWeight( + flatbuffers::FlatBufferBuilder &_fbb, + bool bidirectional = false, + bool has_bias = false, + int64_t input_size = 0, + int64_t hidden_size = 0, + int64_t num_layers = 0, + int64_t num_directions = 0, + float dropout = 0.0f, + float zoneout_cell = 0.0f, + float zoneout_hidden = 0.0f) { + LSTMGradWeightBuilder builder_(_fbb); + builder_.add_num_directions(num_directions); + builder_.add_num_layers(num_layers); + builder_.add_hidden_size(hidden_size); + builder_.add_input_size(input_size); + builder_.add_zoneout_hidden(zoneout_hidden); + builder_.add_zoneout_cell(zoneout_cell); + builder_.add_dropout(dropout); + builder_.add_has_bias(has_bias); + builder_.add_bidirectional(bidirectional); + return builder_.Finish(); +} + +struct RandomNormal FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef RandomNormalBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SEED = 4, + VT_MEAN = 6, + VT_SCALE = 8 + }; + float seed() const { + return GetField(VT_SEED, 0.0f); + } + float mean() const { + return GetField(VT_MEAN, 0.0f); + } + float scale() const { + return GetField(VT_SCALE, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_SEED) && + VerifyField(verifier, VT_MEAN) && + VerifyField(verifier, VT_SCALE) && + verifier.EndTable(); + } +}; + +struct RandomNormalBuilder { + typedef RandomNormal Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_seed(float seed) { + fbb_.AddElement(RandomNormal::VT_SEED, seed, 0.0f); + } + void add_mean(float mean) { + fbb_.AddElement(RandomNormal::VT_MEAN, mean, 0.0f); + } + void add_scale(float scale) { + fbb_.AddElement(RandomNormal::VT_SCALE, scale, 0.0f); + } + explicit RandomNormalBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateRandomNormal( + flatbuffers::FlatBufferBuilder &_fbb, + float seed = 0.0f, + float mean = 0.0f, + float scale = 0.0f) { + RandomNormalBuilder builder_(_fbb); + builder_.add_scale(scale); + builder_.add_mean(mean); + builder_.add_seed(seed); + return builder_.Finish(); +} + +struct NLLLoss FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef NLLLossBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_REDUCTION = 4 + }; + mindspore::schema::Reduction reduction() const { + return static_cast(GetField(VT_REDUCTION, 0)); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_REDUCTION) && + verifier.EndTable(); + } +}; + +struct NLLLossBuilder { + typedef NLLLoss Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_reduction(mindspore::schema::Reduction reduction) { + fbb_.AddElement(NLLLoss::VT_REDUCTION, static_cast(reduction), 0); + } + explicit NLLLossBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateNLLLoss( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::Reduction reduction = mindspore::schema::Reduction_REDUCTION_SUM) { + NLLLossBuilder builder_(_fbb); + builder_.add_reduction(reduction); + return builder_.Finish(); +} + +struct NLLLossGrad FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef NLLLossGradBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_REDUCTION = 4 + }; + mindspore::schema::Reduction reduction() const { + return static_cast(GetField(VT_REDUCTION, 0)); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_REDUCTION) && + verifier.EndTable(); + } +}; + +struct NLLLossGradBuilder { + typedef NLLLossGrad Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_reduction(mindspore::schema::Reduction reduction) { + fbb_.AddElement(NLLLossGrad::VT_REDUCTION, static_cast(reduction), 0); + } + explicit NLLLossGradBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateNLLLossGrad( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::Reduction reduction = mindspore::schema::Reduction_REDUCTION_SUM) { + NLLLossGradBuilder builder_(_fbb); + builder_.add_reduction(reduction); + return builder_.Finish(); +} + +struct FormatTranspose FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FormatTransposeBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SRC_FORMAT = 4, + VT_DST_FORMAT = 6 + }; + mindspore::schema::Format src_format() const { + return static_cast(GetField(VT_SRC_FORMAT, 1)); + } + mindspore::schema::Format dst_format() const { + return static_cast(GetField(VT_DST_FORMAT, 1)); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_SRC_FORMAT) && + VerifyField(verifier, VT_DST_FORMAT) && + verifier.EndTable(); + } +}; + +struct FormatTransposeBuilder { + typedef FormatTranspose Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_src_format(mindspore::schema::Format src_format) { + fbb_.AddElement(FormatTranspose::VT_SRC_FORMAT, static_cast(src_format), 1); + } + void add_dst_format(mindspore::schema::Format dst_format) { + fbb_.AddElement(FormatTranspose::VT_DST_FORMAT, static_cast(dst_format), 1); + } + explicit FormatTransposeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateFormatTranspose( + flatbuffers::FlatBufferBuilder &_fbb, + mindspore::schema::Format src_format = mindspore::schema::Format_NHWC, + mindspore::schema::Format dst_format = mindspore::schema::Format_NHWC) { + FormatTransposeBuilder builder_(_fbb); + builder_.add_dst_format(dst_format); + builder_.add_src_format(src_format); + return builder_.Finish(); +} + +struct GatherD FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GatherDBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct GatherDBuilder { + typedef GatherD Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit GatherDBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateGatherD( + flatbuffers::FlatBufferBuilder &_fbb) { + GatherDBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct GroupNormFusion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GroupNormFusionBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NUM_GROUPS = 4, + VT_EPSILON = 6, + VT_AFFINE = 8 + }; + int64_t num_groups() const { + return GetField(VT_NUM_GROUPS, 0); + } + float epsilon() const { + return GetField(VT_EPSILON, 1e-5f); + } + bool affine() const { + return GetField(VT_AFFINE, 1) != 0; + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_NUM_GROUPS) && + VerifyField(verifier, VT_EPSILON) && + VerifyField(verifier, VT_AFFINE) && + verifier.EndTable(); + } +}; + +struct GroupNormFusionBuilder { + typedef GroupNormFusion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_num_groups(int64_t num_groups) { + fbb_.AddElement(GroupNormFusion::VT_NUM_GROUPS, num_groups, 0); + } + void add_epsilon(float epsilon) { + fbb_.AddElement(GroupNormFusion::VT_EPSILON, epsilon, 1e-5f); + } + void add_affine(bool affine) { + fbb_.AddElement(GroupNormFusion::VT_AFFINE, static_cast(affine), 1); + } + explicit GroupNormFusionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateGroupNormFusion( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t num_groups = 0, + float epsilon = 1e-5f, + bool affine = true) { + GroupNormFusionBuilder builder_(_fbb); + builder_.add_num_groups(num_groups); + builder_.add_epsilon(epsilon); + builder_.add_affine(affine); + return builder_.Finish(); +} + +struct Log1p FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef Log1pBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct Log1pBuilder { + typedef Log1p Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit Log1pBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLog1p( + flatbuffers::FlatBufferBuilder &_fbb) { + Log1pBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct TensorScatterAdd FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TensorScatterAddBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct TensorScatterAddBuilder { + typedef TensorScatterAdd Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit TensorScatterAddBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTensorScatterAdd( + flatbuffers::FlatBufferBuilder &_fbb) { + TensorScatterAddBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct SparseFillEmptyRows FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SparseFillEmptyRowsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct SparseFillEmptyRowsBuilder { + typedef SparseFillEmptyRows Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SparseFillEmptyRowsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSparseFillEmptyRows( + flatbuffers::FlatBufferBuilder &_fbb) { + SparseFillEmptyRowsBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct SparseReshape FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SparseReshapeBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct SparseReshapeBuilder { + typedef SparseReshape Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SparseReshapeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSparseReshape( + flatbuffers::FlatBufferBuilder &_fbb) { + SparseReshapeBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct SparseSegmentSum FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SparseSegmentSumBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct SparseSegmentSumBuilder { + typedef SparseSegmentSum Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SparseSegmentSumBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSparseSegmentSum( + flatbuffers::FlatBufferBuilder &_fbb) { + SparseSegmentSumBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct ScatterElements FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ScatterElementsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4 + }; + int64_t axis() const { + return GetField(VT_AXIS, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_AXIS) && + verifier.EndTable(); + } +}; + +struct ScatterElementsBuilder { + typedef ScatterElements Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(int64_t axis) { + fbb_.AddElement(ScatterElements::VT_AXIS, axis, 0); + } + explicit ScatterElementsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateScatterElements( + flatbuffers::FlatBufferBuilder &_fbb, + int64_t axis = 0) { + ScatterElementsBuilder builder_(_fbb); + builder_.add_axis(axis); + return builder_.Finish(); +} + +struct Triu FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TriuBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct TriuBuilder { + typedef Triu Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit TriuBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTriu( + flatbuffers::FlatBufferBuilder &_fbb) { + TriuBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct Tril FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TrilBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } +}; + +struct TrilBuilder { + typedef Tril Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit TrilBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTril( + flatbuffers::FlatBufferBuilder &_fbb) { + TrilBuilder builder_(_fbb); + return builder_.Finish(); +} + +struct AdamWeightDecay FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AdamWeightDecayBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_USE_LOCKING = 4 + }; + bool use_locking() const { + return GetField(VT_USE_LOCKING, 0) != 0; + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_USE_LOCKING) && + verifier.EndTable(); + } +}; + +struct AdamWeightDecayBuilder { + typedef AdamWeightDecay Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_use_locking(bool use_locking) { + fbb_.AddElement(AdamWeightDecay::VT_USE_LOCKING, static_cast(use_locking), 0); + } + explicit AdamWeightDecayBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAdamWeightDecay( + flatbuffers::FlatBufferBuilder &_fbb, + bool use_locking = false) { + AdamWeightDecayBuilder builder_(_fbb); + builder_.add_use_locking(use_locking); + return builder_.Finish(); +} + +inline bool VerifyPrimitiveType(flatbuffers::Verifier &verifier, const void *obj, PrimitiveType type) { + switch (type) { + case PrimitiveType_NONE: { + return true; + } + case PrimitiveType_Abs: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Activation: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_ActivationGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Adam: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_AddFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_AdderFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_AddGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_AddN: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_All: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_ApplyMomentum: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_ArgMaxFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_ArgMinFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Assert: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Assign: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_AssignAdd: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_AudioSpectrogram: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_AvgPoolFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_AvgPoolGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_BatchNorm: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_BatchNormGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_BatchToSpace: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_BatchToSpaceND: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_BiasAdd: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_BinaryCrossEntropy: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_BinaryCrossEntropyGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_BiasAddGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_BroadcastTo: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Cast: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Ceil: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Clip: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Concat: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Attention: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Conv2DBackpropFilterFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Conv2DBackpropInputFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Conv2DFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Conv2dTransposeFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Cos: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_ConstantOfShape: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Crop: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_CustomExtractFeatures: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_CustomNormalize: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_CustomPredict: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_DeConv2DGradFilter: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Depend: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_DepthToSpace: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_DetectionPostProcess: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_DivFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_DivGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Dropout: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_DropoutGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Elu: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Eltwise: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Equal: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_EmbeddingLookupFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_ExpFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_ExpandDims: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_FakeQuantWithMinMaxVars: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_FakeQuantWithMinMaxVarsPerChannel: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_FftReal: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_FftImag: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Flatten: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_FlattenGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Floor: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_FloorDiv: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_FloorMod: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Fill: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_FullConnection: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_FusedBatchNorm: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Gather: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_GatherNd: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Greater: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_GreaterEqual: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_HashtableLookup: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_InstanceNorm: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_LayerNormFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_LeakyRelu: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Less: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_LessEqual: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Log: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_LogGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_LogicalAnd: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_LogicalNot: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_LogicalOr: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_LpNormalization: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_LRN: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_LshProjection: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_LSTM: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_L2NormalizeFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_MatMulFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Maximum: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_MaximumGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_MaxPoolFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_MaxPoolGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SwitchLayer: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Mfcc: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Minimum: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_MinimumGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Mod: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_MulFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_MulGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Neg: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_NegGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_NotEqual: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_NonMaxSuppression: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_OneHot: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_OnesLike: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_PadFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_PartialFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_PowerGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_PowFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_PriorBox: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_PReLUFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_QuantDTypeCast: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Rank: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Range: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Reciprocal: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_RealDiv: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_ReduceFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Reshape: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Resize: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_ReverseSequence: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_ReverseV2: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Rfft: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_ROIPooling: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Round: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Rsqrt: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_ScaleFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_ScatterNd: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SGD: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Shape: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SigmoidCrossEntropyWithLogits: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SigmoidCrossEntropyWithLogitsGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Sin: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SkipGram: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SliceFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SmoothL1Loss: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SmoothL1LossGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Softmax: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SoftmaxCrossEntropyWithLogits: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SpaceToBatch: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SpaceToBatchND: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SpaceToDepth: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SparseSoftmaxCrossEntropyWithLogits: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SparseToDense: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Split: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Sqrt: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Squeeze: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Square: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SquaredDifference: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Stack: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_StridedSlice: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SubFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SubGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Switch: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_TensorListFromTensor: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_TensorListGetItem: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_TensorListReserve: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_TensorListSetItem: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_TensorListStack: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_TileFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_TopKFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Transpose: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Unique: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_UnsortedSegmentSum: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Unsqueeze: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Unstack: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_LSTMGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Where: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_ZerosLike: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Select: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_ScatterNdUpdate: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_GRU: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_NonZero: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_InvertPermutation: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Size: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_RandomStandardNormal: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_CropAndResize: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Erf: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_StridedSliceGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_IsFinite: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_LinSpace: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_UniformReal: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_AbsGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_RsqrtGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SqrtGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_LayerNormGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_ResizeGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Splice: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_LogSoftmax: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Call: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Custom: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_CumSum: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SplitWithOverlap: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_GenOP: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_RaggedRange: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_GLU: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_TensorArray: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_TensorArrayRead: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_TensorArrayWrite: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Affine: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_AllGather: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_ReduceScatter: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_DynamicQuant: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_LSTMGradData: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_LSTMGradWeight: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_RandomNormal: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_NLLLoss: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_NLLLossGrad: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_FormatTranspose: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_GatherD: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_GroupNormFusion: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Log1p: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_TensorScatterAdd: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SparseFillEmptyRows: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SparseReshape: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_SparseSegmentSum: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_ScatterElements: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Triu: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_Tril: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case PrimitiveType_AdamWeightDecay: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + default: return true; + } +} + +inline bool VerifyPrimitiveTypeVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types) { + if (!values || !types) return !values && !types; + if (values->size() != types->size()) return false; + for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) { + if (!VerifyPrimitiveType( + verifier, values->Get(i), types->GetEnum(i))) { + return false; + } + } + return true; +} + +} // namespace schema +} // namespace mindspore + +#endif // FLATBUFFERS_GENERATED_OPS_MINDSPORE_SCHEMA_H_ diff --git a/mindspore/lite/schema/ops_types_generated.h b/mindspore/lite/schema/ops_types_generated.h new file mode 100644 index 00000000..15f19241 --- /dev/null +++ b/mindspore/lite/schema/ops_types_generated.h @@ -0,0 +1,750 @@ +// automatically generated by the FlatBuffers compiler, do not modify + + +#ifndef FLATBUFFERS_GENERATED_OPSTYPES_MINDSPORE_SCHEMA_H_ +#define FLATBUFFERS_GENERATED_OPSTYPES_MINDSPORE_SCHEMA_H_ + +#include "flatbuffers/flatbuffers.h" + +namespace mindspore { +namespace schema { + +struct Vec; +struct VecBuilder; + +struct Vec2D; +struct Vec2DBuilder; + +struct Attribute; +struct AttributeBuilder; + +enum ResizeMethod : int8_t { + ResizeMethod_UNKNOWN = -1, + ResizeMethod_LINEAR = 0, + ResizeMethod_NEAREST = 1, + ResizeMethod_CUBIC = 2, + ResizeMethod_MIN = ResizeMethod_UNKNOWN, + ResizeMethod_MAX = ResizeMethod_CUBIC +}; + +inline const ResizeMethod (&EnumValuesResizeMethod())[4] { + static const ResizeMethod values[] = { + ResizeMethod_UNKNOWN, + ResizeMethod_LINEAR, + ResizeMethod_NEAREST, + ResizeMethod_CUBIC + }; + return values; +} + +inline const char * const *EnumNamesResizeMethod() { + static const char * const names[5] = { + "UNKNOWN", + "LINEAR", + "NEAREST", + "CUBIC", + nullptr + }; + return names; +} + +inline const char *EnumNameResizeMethod(ResizeMethod e) { + if (flatbuffers::IsOutRange(e, ResizeMethod_UNKNOWN, ResizeMethod_CUBIC)) return ""; + const size_t index = static_cast(e) - static_cast(ResizeMethod_UNKNOWN); + return EnumNamesResizeMethod()[index]; +} + +enum CoordinateTransformMode : int8_t { + CoordinateTransformMode_ASYMMETRIC = 0, + CoordinateTransformMode_ALIGN_CORNERS = 1, + CoordinateTransformMode_HALF_PIXEL = 2, + CoordinateTransformMode_MIN = CoordinateTransformMode_ASYMMETRIC, + CoordinateTransformMode_MAX = CoordinateTransformMode_HALF_PIXEL +}; + +inline const CoordinateTransformMode (&EnumValuesCoordinateTransformMode())[3] { + static const CoordinateTransformMode values[] = { + CoordinateTransformMode_ASYMMETRIC, + CoordinateTransformMode_ALIGN_CORNERS, + CoordinateTransformMode_HALF_PIXEL + }; + return values; +} + +inline const char * const *EnumNamesCoordinateTransformMode() { + static const char * const names[4] = { + "ASYMMETRIC", + "ALIGN_CORNERS", + "HALF_PIXEL", + nullptr + }; + return names; +} + +inline const char *EnumNameCoordinateTransformMode(CoordinateTransformMode e) { + if (flatbuffers::IsOutRange(e, CoordinateTransformMode_ASYMMETRIC, CoordinateTransformMode_HALF_PIXEL)) return ""; + const size_t index = static_cast(e); + return EnumNamesCoordinateTransformMode()[index]; +} + +enum NearestMode : int8_t { + NearestMode_NORMAL = 0, + NearestMode_ROUND_HALF_DOWN = 1, + NearestMode_ROUND_HALF_UP = 2, + NearestMode_FLOOR = 3, + NearestMode_CEIL = 4, + NearestMode_MIN = NearestMode_NORMAL, + NearestMode_MAX = NearestMode_CEIL +}; + +inline const NearestMode (&EnumValuesNearestMode())[5] { + static const NearestMode values[] = { + NearestMode_NORMAL, + NearestMode_ROUND_HALF_DOWN, + NearestMode_ROUND_HALF_UP, + NearestMode_FLOOR, + NearestMode_CEIL + }; + return values; +} + +inline const char * const *EnumNamesNearestMode() { + static const char * const names[6] = { + "NORMAL", + "ROUND_HALF_DOWN", + "ROUND_HALF_UP", + "FLOOR", + "CEIL", + nullptr + }; + return names; +} + +inline const char *EnumNameNearestMode(NearestMode e) { + if (flatbuffers::IsOutRange(e, NearestMode_NORMAL, NearestMode_CEIL)) return ""; + const size_t index = static_cast(e); + return EnumNamesNearestMode()[index]; +} + +enum Format : int32_t { + Format_NCHW = 0, + Format_NHWC = 1, + Format_NHWC4 = 2, + Format_HWKC = 3, + Format_HWCK = 4, + Format_KCHW = 5, + Format_CKHW = 6, + Format_KHWC = 7, + Format_CHWK = 8, + Format_HW = 9, + Format_HW4 = 10, + Format_NC = 11, + Format_NC4 = 12, + Format_NC4HW4 = 13, + Format_NUM_OF_FORMAT = 14, + Format_NCDHW = 15, + Format_NWC = 16, + Format_NCW = 17, + Format_NC8HW8 = 18, + Format_MIN = Format_NCHW, + Format_MAX = Format_NC8HW8 +}; + +inline const Format (&EnumValuesFormat())[19] { + static const Format values[] = { + Format_NCHW, + Format_NHWC, + Format_NHWC4, + Format_HWKC, + Format_HWCK, + Format_KCHW, + Format_CKHW, + Format_KHWC, + Format_CHWK, + Format_HW, + Format_HW4, + Format_NC, + Format_NC4, + Format_NC4HW4, + Format_NUM_OF_FORMAT, + Format_NCDHW, + Format_NWC, + Format_NCW, + Format_NC8HW8 + }; + return values; +} + +inline const char * const *EnumNamesFormat() { + static const char * const names[20] = { + "NCHW", + "NHWC", + "NHWC4", + "HWKC", + "HWCK", + "KCHW", + "CKHW", + "KHWC", + "CHWK", + "HW", + "HW4", + "NC", + "NC4", + "NC4HW4", + "NUM_OF_FORMAT", + "NCDHW", + "NWC", + "NCW", + "NC8HW8", + nullptr + }; + return names; +} + +inline const char *EnumNameFormat(Format e) { + if (flatbuffers::IsOutRange(e, Format_NCHW, Format_NC8HW8)) return ""; + const size_t index = static_cast(e); + return EnumNamesFormat()[index]; +} + +enum ActivationType : int8_t { + ActivationType_NO_ACTIVATION = 0, + ActivationType_RELU = 1, + ActivationType_SIGMOID = 2, + ActivationType_RELU6 = 3, + ActivationType_ELU = 4, + ActivationType_LEAKY_RELU = 5, + ActivationType_ABS = 6, + ActivationType_RELU1 = 7, + ActivationType_SOFTSIGN = 8, + ActivationType_SOFTPLUS = 9, + ActivationType_TANH = 10, + ActivationType_SELU = 11, + ActivationType_HSWISH = 12, + ActivationType_HSIGMOID = 13, + ActivationType_THRESHOLDRELU = 14, + ActivationType_LINEAR = 15, + ActivationType_HARD_TANH = 16, + ActivationType_SIGN = 17, + ActivationType_SWISH = 18, + ActivationType_GELU = 19, + ActivationType_UNKNOWN = 20, + ActivationType_MIN = ActivationType_NO_ACTIVATION, + ActivationType_MAX = ActivationType_UNKNOWN +}; + +inline const ActivationType (&EnumValuesActivationType())[21] { + static const ActivationType values[] = { + ActivationType_NO_ACTIVATION, + ActivationType_RELU, + ActivationType_SIGMOID, + ActivationType_RELU6, + ActivationType_ELU, + ActivationType_LEAKY_RELU, + ActivationType_ABS, + ActivationType_RELU1, + ActivationType_SOFTSIGN, + ActivationType_SOFTPLUS, + ActivationType_TANH, + ActivationType_SELU, + ActivationType_HSWISH, + ActivationType_HSIGMOID, + ActivationType_THRESHOLDRELU, + ActivationType_LINEAR, + ActivationType_HARD_TANH, + ActivationType_SIGN, + ActivationType_SWISH, + ActivationType_GELU, + ActivationType_UNKNOWN + }; + return values; +} + +inline const char * const *EnumNamesActivationType() { + static const char * const names[22] = { + "NO_ACTIVATION", + "RELU", + "SIGMOID", + "RELU6", + "ELU", + "LEAKY_RELU", + "ABS", + "RELU1", + "SOFTSIGN", + "SOFTPLUS", + "TANH", + "SELU", + "HSWISH", + "HSIGMOID", + "THRESHOLDRELU", + "LINEAR", + "HARD_TANH", + "SIGN", + "SWISH", + "GELU", + "UNKNOWN", + nullptr + }; + return names; +} + +inline const char *EnumNameActivationType(ActivationType e) { + if (flatbuffers::IsOutRange(e, ActivationType_NO_ACTIVATION, ActivationType_UNKNOWN)) return ""; + const size_t index = static_cast(e); + return EnumNamesActivationType()[index]; +} + +enum ReduceMode : int8_t { + ReduceMode_ReduceMean = 0, + ReduceMode_ReduceMax = 1, + ReduceMode_ReduceMin = 2, + ReduceMode_ReduceProd = 3, + ReduceMode_ReduceSum = 4, + ReduceMode_ReduceSumSquare = 5, + ReduceMode_ReduceASum = 6, + ReduceMode_ReduceAll = 7, + ReduceMode_ReduceL2 = 8, + ReduceMode_MIN = ReduceMode_ReduceMean, + ReduceMode_MAX = ReduceMode_ReduceL2 +}; + +inline const ReduceMode (&EnumValuesReduceMode())[9] { + static const ReduceMode values[] = { + ReduceMode_ReduceMean, + ReduceMode_ReduceMax, + ReduceMode_ReduceMin, + ReduceMode_ReduceProd, + ReduceMode_ReduceSum, + ReduceMode_ReduceSumSquare, + ReduceMode_ReduceASum, + ReduceMode_ReduceAll, + ReduceMode_ReduceL2 + }; + return values; +} + +inline const char * const *EnumNamesReduceMode() { + static const char * const names[10] = { + "ReduceMean", + "ReduceMax", + "ReduceMin", + "ReduceProd", + "ReduceSum", + "ReduceSumSquare", + "ReduceASum", + "ReduceAll", + "ReduceL2", + nullptr + }; + return names; +} + +inline const char *EnumNameReduceMode(ReduceMode e) { + if (flatbuffers::IsOutRange(e, ReduceMode_ReduceMean, ReduceMode_ReduceL2)) return ""; + const size_t index = static_cast(e); + return EnumNamesReduceMode()[index]; +} + +enum PoolMode : int8_t { + PoolMode_MAX_POOLING = 0, + PoolMode_MEAN_POOLING = 1, + PoolMode_MIN = PoolMode_MAX_POOLING, + PoolMode_MAX = PoolMode_MEAN_POOLING +}; + +inline const PoolMode (&EnumValuesPoolMode())[2] { + static const PoolMode values[] = { + PoolMode_MAX_POOLING, + PoolMode_MEAN_POOLING + }; + return values; +} + +inline const char * const *EnumNamesPoolMode() { + static const char * const names[3] = { + "MAX_POOLING", + "MEAN_POOLING", + nullptr + }; + return names; +} + +inline const char *EnumNamePoolMode(PoolMode e) { + if (flatbuffers::IsOutRange(e, PoolMode_MAX_POOLING, PoolMode_MEAN_POOLING)) return ""; + const size_t index = static_cast(e); + return EnumNamesPoolMode()[index]; +} + +enum EltwiseMode : int8_t { + EltwiseMode_PROD = 0, + EltwiseMode_SUM = 1, + EltwiseMode_MAXIMUM = 2, + EltwiseMode_UNKNOWN = 3, + EltwiseMode_MIN = EltwiseMode_PROD, + EltwiseMode_MAX = EltwiseMode_UNKNOWN +}; + +inline const EltwiseMode (&EnumValuesEltwiseMode())[4] { + static const EltwiseMode values[] = { + EltwiseMode_PROD, + EltwiseMode_SUM, + EltwiseMode_MAXIMUM, + EltwiseMode_UNKNOWN + }; + return values; +} + +inline const char * const *EnumNamesEltwiseMode() { + static const char * const names[5] = { + "PROD", + "SUM", + "MAXIMUM", + "UNKNOWN", + nullptr + }; + return names; +} + +inline const char *EnumNameEltwiseMode(EltwiseMode e) { + if (flatbuffers::IsOutRange(e, EltwiseMode_PROD, EltwiseMode_UNKNOWN)) return ""; + const size_t index = static_cast(e); + return EnumNamesEltwiseMode()[index]; +} + +enum PadMode : int8_t { + PadMode_PAD = 0, + PadMode_SAME = 1, + PadMode_VALID = 2, + PadMode_MIN = PadMode_PAD, + PadMode_MAX = PadMode_VALID +}; + +inline const PadMode (&EnumValuesPadMode())[3] { + static const PadMode values[] = { + PadMode_PAD, + PadMode_SAME, + PadMode_VALID + }; + return values; +} + +inline const char * const *EnumNamesPadMode() { + static const char * const names[4] = { + "PAD", + "SAME", + "VALID", + nullptr + }; + return names; +} + +inline const char *EnumNamePadMode(PadMode e) { + if (flatbuffers::IsOutRange(e, PadMode_PAD, PadMode_VALID)) return ""; + const size_t index = static_cast(e); + return EnumNamesPadMode()[index]; +} + +enum RoundMode : int8_t { + RoundMode_FLOOR = 0, + RoundMode_CEIL = 1, + RoundMode_MIN = RoundMode_FLOOR, + RoundMode_MAX = RoundMode_CEIL +}; + +inline const RoundMode (&EnumValuesRoundMode())[2] { + static const RoundMode values[] = { + RoundMode_FLOOR, + RoundMode_CEIL + }; + return values; +} + +inline const char * const *EnumNamesRoundMode() { + static const char * const names[3] = { + "FLOOR", + "CEIL", + nullptr + }; + return names; +} + +inline const char *EnumNameRoundMode(RoundMode e) { + if (flatbuffers::IsOutRange(e, RoundMode_FLOOR, RoundMode_CEIL)) return ""; + const size_t index = static_cast(e); + return EnumNamesRoundMode()[index]; +} + +enum PaddingMode : int8_t { + PaddingMode_CONSTANT = 0, + PaddingMode_REFLECT = 1, + PaddingMode_SYMMETRIC = 2, + PaddingMode_MODE_RESERVED = 3, + PaddingMode_MIN = PaddingMode_CONSTANT, + PaddingMode_MAX = PaddingMode_MODE_RESERVED +}; + +inline const PaddingMode (&EnumValuesPaddingMode())[4] { + static const PaddingMode values[] = { + PaddingMode_CONSTANT, + PaddingMode_REFLECT, + PaddingMode_SYMMETRIC, + PaddingMode_MODE_RESERVED + }; + return values; +} + +inline const char * const *EnumNamesPaddingMode() { + static const char * const names[5] = { + "CONSTANT", + "REFLECT", + "SYMMETRIC", + "MODE_RESERVED", + nullptr + }; + return names; +} + +inline const char *EnumNamePaddingMode(PaddingMode e) { + if (flatbuffers::IsOutRange(e, PaddingMode_CONSTANT, PaddingMode_MODE_RESERVED)) return ""; + const size_t index = static_cast(e); + return EnumNamesPaddingMode()[index]; +} + +enum LshProjectionType : int8_t { + LshProjectionType_UNKNOWN = 0, + LshProjectionType_SPARSE = 1, + LshProjectionType_DENSE = 2, + LshProjectionType_MIN = LshProjectionType_UNKNOWN, + LshProjectionType_MAX = LshProjectionType_DENSE +}; + +inline const LshProjectionType (&EnumValuesLshProjectionType())[3] { + static const LshProjectionType values[] = { + LshProjectionType_UNKNOWN, + LshProjectionType_SPARSE, + LshProjectionType_DENSE + }; + return values; +} + +inline const char * const *EnumNamesLshProjectionType() { + static const char * const names[4] = { + "UNKNOWN", + "SPARSE", + "DENSE", + nullptr + }; + return names; +} + +inline const char *EnumNameLshProjectionType(LshProjectionType e) { + if (flatbuffers::IsOutRange(e, LshProjectionType_UNKNOWN, LshProjectionType_DENSE)) return ""; + const size_t index = static_cast(e); + return EnumNamesLshProjectionType()[index]; +} + +enum Reduction : int8_t { + Reduction_REDUCTION_SUM = 0, + Reduction_MEAN = 1, + Reduction_NONE = 2, + Reduction_MIN = Reduction_REDUCTION_SUM, + Reduction_MAX = Reduction_NONE +}; + +inline const Reduction (&EnumValuesReduction())[3] { + static const Reduction values[] = { + Reduction_REDUCTION_SUM, + Reduction_MEAN, + Reduction_NONE + }; + return values; +} + +inline const char * const *EnumNamesReduction() { + static const char * const names[4] = { + "REDUCTION_SUM", + "MEAN", + "NONE", + nullptr + }; + return names; +} + +inline const char *EnumNameReduction(Reduction e) { + if (flatbuffers::IsOutRange(e, Reduction_REDUCTION_SUM, Reduction_NONE)) return ""; + const size_t index = static_cast(e); + return EnumNamesReduction()[index]; +} + +struct Vec FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef VecBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_DATA = 4 + }; + const flatbuffers::Vector *data() const { + return GetPointer *>(VT_DATA); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_DATA) && + verifier.VerifyVector(data()) && + verifier.EndTable(); + } +}; + +struct VecBuilder { + typedef Vec Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_data(flatbuffers::Offset> data) { + fbb_.AddOffset(Vec::VT_DATA, data); + } + explicit VecBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateVec( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> data = 0) { + VecBuilder builder_(_fbb); + builder_.add_data(data); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateVecDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *data = nullptr) { + auto data__ = data ? _fbb.CreateVector(*data) : 0; + return mindspore::schema::CreateVec( + _fbb, + data__); +} + +struct Vec2D FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef Vec2DBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_DATA = 4 + }; + const flatbuffers::Vector> *data() const { + return GetPointer> *>(VT_DATA); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_DATA) && + verifier.VerifyVector(data()) && + verifier.VerifyVectorOfTables(data()) && + verifier.EndTable(); + } +}; + +struct Vec2DBuilder { + typedef Vec2D Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_data(flatbuffers::Offset>> data) { + fbb_.AddOffset(Vec2D::VT_DATA, data); + } + explicit Vec2DBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateVec2D( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset>> data = 0) { + Vec2DBuilder builder_(_fbb); + builder_.add_data(data); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateVec2DDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector> *data = nullptr) { + auto data__ = data ? _fbb.CreateVector>(*data) : 0; + return mindspore::schema::CreateVec2D( + _fbb, + data__); +} + +struct Attribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AttributeBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_DATA = 6 + }; + const flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + const flatbuffers::Vector *data() const { + return GetPointer *>(VT_DATA); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyOffset(verifier, VT_DATA) && + verifier.VerifyVector(data()) && + verifier.EndTable(); + } +}; + +struct AttributeBuilder { + typedef Attribute Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_name(flatbuffers::Offset name) { + fbb_.AddOffset(Attribute::VT_NAME, name); + } + void add_data(flatbuffers::Offset> data) { + fbb_.AddOffset(Attribute::VT_DATA, data); + } + explicit AttributeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAttribute( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset name = 0, + flatbuffers::Offset> data = 0) { + AttributeBuilder builder_(_fbb); + builder_.add_data(data); + builder_.add_name(name); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateAttributeDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *name = nullptr, + const std::vector *data = nullptr) { + auto name__ = name ? _fbb.CreateString(name) : 0; + auto data__ = data ? _fbb.CreateVector(*data) : 0; + return mindspore::schema::CreateAttribute( + _fbb, + name__, + data__); +} + +} // namespace schema +} // namespace mindspore + +#endif // FLATBUFFERS_GENERATED_OPSTYPES_MINDSPORE_SCHEMA_H_ diff --git a/mindspore/lite/schema/schema_generated.h b/mindspore/lite/schema/schema_generated.h new file mode 100644 index 00000000..5eb6a7ee --- /dev/null +++ b/mindspore/lite/schema/schema_generated.h @@ -0,0 +1,18994 @@ +// automatically generated by the FlatBuffers compiler, do not modify + + +#ifndef FLATBUFFERS_GENERATED_SCHEMA_TFLITE_H_ +#define FLATBUFFERS_GENERATED_SCHEMA_TFLITE_H_ + +#include "flatbuffers/flatbuffers.h" + +namespace tflite { + +struct CustomQuantization; +struct CustomQuantizationBuilder; +struct CustomQuantizationT; + +struct QuantizationParameters; +struct QuantizationParametersBuilder; +struct QuantizationParametersT; + +struct Int32Vector; +struct Int32VectorBuilder; +struct Int32VectorT; + +struct Uint16Vector; +struct Uint16VectorBuilder; +struct Uint16VectorT; + +struct Uint8Vector; +struct Uint8VectorBuilder; +struct Uint8VectorT; + +struct DimensionMetadata; +struct DimensionMetadataBuilder; +struct DimensionMetadataT; + +struct SparsityParameters; +struct SparsityParametersBuilder; +struct SparsityParametersT; + +struct Tensor; +struct TensorBuilder; +struct TensorT; + +struct Conv2DOptions; +struct Conv2DOptionsBuilder; +struct Conv2DOptionsT; + +struct Pool2DOptions; +struct Pool2DOptionsBuilder; +struct Pool2DOptionsT; + +struct DepthwiseConv2DOptions; +struct DepthwiseConv2DOptionsBuilder; +struct DepthwiseConv2DOptionsT; + +struct ConcatEmbeddingsOptions; +struct ConcatEmbeddingsOptionsBuilder; +struct ConcatEmbeddingsOptionsT; + +struct LSHProjectionOptions; +struct LSHProjectionOptionsBuilder; +struct LSHProjectionOptionsT; + +struct SVDFOptions; +struct SVDFOptionsBuilder; +struct SVDFOptionsT; + +struct RNNOptions; +struct RNNOptionsBuilder; +struct RNNOptionsT; + +struct SequenceRNNOptions; +struct SequenceRNNOptionsBuilder; +struct SequenceRNNOptionsT; + +struct BidirectionalSequenceRNNOptions; +struct BidirectionalSequenceRNNOptionsBuilder; +struct BidirectionalSequenceRNNOptionsT; + +struct FullyConnectedOptions; +struct FullyConnectedOptionsBuilder; +struct FullyConnectedOptionsT; + +struct SoftmaxOptions; +struct SoftmaxOptionsBuilder; +struct SoftmaxOptionsT; + +struct ConcatenationOptions; +struct ConcatenationOptionsBuilder; +struct ConcatenationOptionsT; + +struct AddOptions; +struct AddOptionsBuilder; +struct AddOptionsT; + +struct MulOptions; +struct MulOptionsBuilder; +struct MulOptionsT; + +struct L2NormOptions; +struct L2NormOptionsBuilder; +struct L2NormOptionsT; + +struct LocalResponseNormalizationOptions; +struct LocalResponseNormalizationOptionsBuilder; +struct LocalResponseNormalizationOptionsT; + +struct LSTMOptions; +struct LSTMOptionsBuilder; +struct LSTMOptionsT; + +struct UnidirectionalSequenceLSTMOptions; +struct UnidirectionalSequenceLSTMOptionsBuilder; +struct UnidirectionalSequenceLSTMOptionsT; + +struct BidirectionalSequenceLSTMOptions; +struct BidirectionalSequenceLSTMOptionsBuilder; +struct BidirectionalSequenceLSTMOptionsT; + +struct ResizeBilinearOptions; +struct ResizeBilinearOptionsBuilder; +struct ResizeBilinearOptionsT; + +struct ResizeNearestNeighborOptions; +struct ResizeNearestNeighborOptionsBuilder; +struct ResizeNearestNeighborOptionsT; + +struct CallOptions; +struct CallOptionsBuilder; +struct CallOptionsT; + +struct PadOptions; +struct PadOptionsBuilder; +struct PadOptionsT; + +struct PadV2Options; +struct PadV2OptionsBuilder; +struct PadV2OptionsT; + +struct ReshapeOptions; +struct ReshapeOptionsBuilder; +struct ReshapeOptionsT; + +struct SpaceToBatchNDOptions; +struct SpaceToBatchNDOptionsBuilder; +struct SpaceToBatchNDOptionsT; + +struct BatchToSpaceNDOptions; +struct BatchToSpaceNDOptionsBuilder; +struct BatchToSpaceNDOptionsT; + +struct SkipGramOptions; +struct SkipGramOptionsBuilder; +struct SkipGramOptionsT; + +struct SpaceToDepthOptions; +struct SpaceToDepthOptionsBuilder; +struct SpaceToDepthOptionsT; + +struct DepthToSpaceOptions; +struct DepthToSpaceOptionsBuilder; +struct DepthToSpaceOptionsT; + +struct SubOptions; +struct SubOptionsBuilder; +struct SubOptionsT; + +struct DivOptions; +struct DivOptionsBuilder; +struct DivOptionsT; + +struct TopKV2Options; +struct TopKV2OptionsBuilder; +struct TopKV2OptionsT; + +struct EmbeddingLookupSparseOptions; +struct EmbeddingLookupSparseOptionsBuilder; +struct EmbeddingLookupSparseOptionsT; + +struct GatherOptions; +struct GatherOptionsBuilder; +struct GatherOptionsT; + +struct TransposeOptions; +struct TransposeOptionsBuilder; +struct TransposeOptionsT; + +struct ExpOptions; +struct ExpOptionsBuilder; +struct ExpOptionsT; + +struct CosOptions; +struct CosOptionsBuilder; +struct CosOptionsT; + +struct ReducerOptions; +struct ReducerOptionsBuilder; +struct ReducerOptionsT; + +struct SqueezeOptions; +struct SqueezeOptionsBuilder; +struct SqueezeOptionsT; + +struct SplitOptions; +struct SplitOptionsBuilder; +struct SplitOptionsT; + +struct SplitVOptions; +struct SplitVOptionsBuilder; +struct SplitVOptionsT; + +struct StridedSliceOptions; +struct StridedSliceOptionsBuilder; +struct StridedSliceOptionsT; + +struct LogSoftmaxOptions; +struct LogSoftmaxOptionsBuilder; +struct LogSoftmaxOptionsT; + +struct CastOptions; +struct CastOptionsBuilder; +struct CastOptionsT; + +struct DequantizeOptions; +struct DequantizeOptionsBuilder; +struct DequantizeOptionsT; + +struct MaximumMinimumOptions; +struct MaximumMinimumOptionsBuilder; +struct MaximumMinimumOptionsT; + +struct TileOptions; +struct TileOptionsBuilder; +struct TileOptionsT; + +struct ArgMaxOptions; +struct ArgMaxOptionsBuilder; +struct ArgMaxOptionsT; + +struct ArgMinOptions; +struct ArgMinOptionsBuilder; +struct ArgMinOptionsT; + +struct GreaterOptions; +struct GreaterOptionsBuilder; +struct GreaterOptionsT; + +struct GreaterEqualOptions; +struct GreaterEqualOptionsBuilder; +struct GreaterEqualOptionsT; + +struct LessOptions; +struct LessOptionsBuilder; +struct LessOptionsT; + +struct LessEqualOptions; +struct LessEqualOptionsBuilder; +struct LessEqualOptionsT; + +struct NegOptions; +struct NegOptionsBuilder; +struct NegOptionsT; + +struct SelectOptions; +struct SelectOptionsBuilder; +struct SelectOptionsT; + +struct SliceOptions; +struct SliceOptionsBuilder; +struct SliceOptionsT; + +struct TransposeConvOptions; +struct TransposeConvOptionsBuilder; +struct TransposeConvOptionsT; + +struct ExpandDimsOptions; +struct ExpandDimsOptionsBuilder; +struct ExpandDimsOptionsT; + +struct SparseToDenseOptions; +struct SparseToDenseOptionsBuilder; +struct SparseToDenseOptionsT; + +struct EqualOptions; +struct EqualOptionsBuilder; +struct EqualOptionsT; + +struct NotEqualOptions; +struct NotEqualOptionsBuilder; +struct NotEqualOptionsT; + +struct ShapeOptions; +struct ShapeOptionsBuilder; +struct ShapeOptionsT; + +struct RankOptions; +struct RankOptionsBuilder; +struct RankOptionsT; + +struct PowOptions; +struct PowOptionsBuilder; +struct PowOptionsT; + +struct FakeQuantOptions; +struct FakeQuantOptionsBuilder; +struct FakeQuantOptionsT; + +struct PackOptions; +struct PackOptionsBuilder; +struct PackOptionsT; + +struct LogicalOrOptions; +struct LogicalOrOptionsBuilder; +struct LogicalOrOptionsT; + +struct OneHotOptions; +struct OneHotOptionsBuilder; +struct OneHotOptionsT; + +struct AbsOptions; +struct AbsOptionsBuilder; +struct AbsOptionsT; + +struct HardSwishOptions; +struct HardSwishOptionsBuilder; +struct HardSwishOptionsT; + +struct LogicalAndOptions; +struct LogicalAndOptionsBuilder; +struct LogicalAndOptionsT; + +struct LogicalNotOptions; +struct LogicalNotOptionsBuilder; +struct LogicalNotOptionsT; + +struct UnpackOptions; +struct UnpackOptionsBuilder; +struct UnpackOptionsT; + +struct FloorDivOptions; +struct FloorDivOptionsBuilder; +struct FloorDivOptionsT; + +struct SquareOptions; +struct SquareOptionsBuilder; +struct SquareOptionsT; + +struct ZerosLikeOptions; +struct ZerosLikeOptionsBuilder; +struct ZerosLikeOptionsT; + +struct FillOptions; +struct FillOptionsBuilder; +struct FillOptionsT; + +struct FloorModOptions; +struct FloorModOptionsBuilder; +struct FloorModOptionsT; + +struct RangeOptions; +struct RangeOptionsBuilder; +struct RangeOptionsT; + +struct LeakyReluOptions; +struct LeakyReluOptionsBuilder; +struct LeakyReluOptionsT; + +struct SquaredDifferenceOptions; +struct SquaredDifferenceOptionsBuilder; +struct SquaredDifferenceOptionsT; + +struct MirrorPadOptions; +struct MirrorPadOptionsBuilder; +struct MirrorPadOptionsT; + +struct UniqueOptions; +struct UniqueOptionsBuilder; +struct UniqueOptionsT; + +struct ReverseV2Options; +struct ReverseV2OptionsBuilder; +struct ReverseV2OptionsT; + +struct AddNOptions; +struct AddNOptionsBuilder; +struct AddNOptionsT; + +struct GatherNdOptions; +struct GatherNdOptionsBuilder; +struct GatherNdOptionsT; + +struct WhereOptions; +struct WhereOptionsBuilder; +struct WhereOptionsT; + +struct ReverseSequenceOptions; +struct ReverseSequenceOptionsBuilder; +struct ReverseSequenceOptionsT; + +struct MatrixDiagOptions; +struct MatrixDiagOptionsBuilder; +struct MatrixDiagOptionsT; + +struct QuantizeOptions; +struct QuantizeOptionsBuilder; +struct QuantizeOptionsT; + +struct MatrixSetDiagOptions; +struct MatrixSetDiagOptionsBuilder; +struct MatrixSetDiagOptionsT; + +struct IfOptions; +struct IfOptionsBuilder; +struct IfOptionsT; + +struct WhileOptions; +struct WhileOptionsBuilder; +struct WhileOptionsT; + +struct NonMaxSuppressionV4Options; +struct NonMaxSuppressionV4OptionsBuilder; +struct NonMaxSuppressionV4OptionsT; + +struct NonMaxSuppressionV5Options; +struct NonMaxSuppressionV5OptionsBuilder; +struct NonMaxSuppressionV5OptionsT; + +struct ScatterNdOptions; +struct ScatterNdOptionsBuilder; +struct ScatterNdOptionsT; + +struct SelectV2Options; +struct SelectV2OptionsBuilder; +struct SelectV2OptionsT; + +struct DensifyOptions; +struct DensifyOptionsBuilder; +struct DensifyOptionsT; + +struct SegmentSumOptions; +struct SegmentSumOptionsBuilder; +struct SegmentSumOptionsT; + +struct BatchMatMulOptions; +struct BatchMatMulOptionsBuilder; +struct BatchMatMulOptionsT; + +struct OperatorCode; +struct OperatorCodeBuilder; +struct OperatorCodeT; + +struct Operator; +struct OperatorBuilder; +struct OperatorT; + +struct SubGraph; +struct SubGraphBuilder; +struct SubGraphT; + +struct Buffer; +struct BufferBuilder; +struct BufferT; + +struct Metadata; +struct MetadataBuilder; +struct MetadataT; + +struct Model; +struct ModelBuilder; +struct ModelT; + +inline const flatbuffers::TypeTable *CustomQuantizationTypeTable(); + +inline const flatbuffers::TypeTable *QuantizationParametersTypeTable(); + +inline const flatbuffers::TypeTable *Int32VectorTypeTable(); + +inline const flatbuffers::TypeTable *Uint16VectorTypeTable(); + +inline const flatbuffers::TypeTable *Uint8VectorTypeTable(); + +inline const flatbuffers::TypeTable *DimensionMetadataTypeTable(); + +inline const flatbuffers::TypeTable *SparsityParametersTypeTable(); + +inline const flatbuffers::TypeTable *TensorTypeTable(); + +inline const flatbuffers::TypeTable *Conv2DOptionsTypeTable(); + +inline const flatbuffers::TypeTable *Pool2DOptionsTypeTable(); + +inline const flatbuffers::TypeTable *DepthwiseConv2DOptionsTypeTable(); + +inline const flatbuffers::TypeTable *ConcatEmbeddingsOptionsTypeTable(); + +inline const flatbuffers::TypeTable *LSHProjectionOptionsTypeTable(); + +inline const flatbuffers::TypeTable *SVDFOptionsTypeTable(); + +inline const flatbuffers::TypeTable *RNNOptionsTypeTable(); + +inline const flatbuffers::TypeTable *SequenceRNNOptionsTypeTable(); + +inline const flatbuffers::TypeTable *BidirectionalSequenceRNNOptionsTypeTable(); + +inline const flatbuffers::TypeTable *FullyConnectedOptionsTypeTable(); + +inline const flatbuffers::TypeTable *SoftmaxOptionsTypeTable(); + +inline const flatbuffers::TypeTable *ConcatenationOptionsTypeTable(); + +inline const flatbuffers::TypeTable *AddOptionsTypeTable(); + +inline const flatbuffers::TypeTable *MulOptionsTypeTable(); + +inline const flatbuffers::TypeTable *L2NormOptionsTypeTable(); + +inline const flatbuffers::TypeTable *LocalResponseNormalizationOptionsTypeTable(); + +inline const flatbuffers::TypeTable *LSTMOptionsTypeTable(); + +inline const flatbuffers::TypeTable *UnidirectionalSequenceLSTMOptionsTypeTable(); + +inline const flatbuffers::TypeTable *BidirectionalSequenceLSTMOptionsTypeTable(); + +inline const flatbuffers::TypeTable *ResizeBilinearOptionsTypeTable(); + +inline const flatbuffers::TypeTable *ResizeNearestNeighborOptionsTypeTable(); + +inline const flatbuffers::TypeTable *CallOptionsTypeTable(); + +inline const flatbuffers::TypeTable *PadOptionsTypeTable(); + +inline const flatbuffers::TypeTable *PadV2OptionsTypeTable(); + +inline const flatbuffers::TypeTable *ReshapeOptionsTypeTable(); + +inline const flatbuffers::TypeTable *SpaceToBatchNDOptionsTypeTable(); + +inline const flatbuffers::TypeTable *BatchToSpaceNDOptionsTypeTable(); + +inline const flatbuffers::TypeTable *SkipGramOptionsTypeTable(); + +inline const flatbuffers::TypeTable *SpaceToDepthOptionsTypeTable(); + +inline const flatbuffers::TypeTable *DepthToSpaceOptionsTypeTable(); + +inline const flatbuffers::TypeTable *SubOptionsTypeTable(); + +inline const flatbuffers::TypeTable *DivOptionsTypeTable(); + +inline const flatbuffers::TypeTable *TopKV2OptionsTypeTable(); + +inline const flatbuffers::TypeTable *EmbeddingLookupSparseOptionsTypeTable(); + +inline const flatbuffers::TypeTable *GatherOptionsTypeTable(); + +inline const flatbuffers::TypeTable *TransposeOptionsTypeTable(); + +inline const flatbuffers::TypeTable *ExpOptionsTypeTable(); + +inline const flatbuffers::TypeTable *CosOptionsTypeTable(); + +inline const flatbuffers::TypeTable *ReducerOptionsTypeTable(); + +inline const flatbuffers::TypeTable *SqueezeOptionsTypeTable(); + +inline const flatbuffers::TypeTable *SplitOptionsTypeTable(); + +inline const flatbuffers::TypeTable *SplitVOptionsTypeTable(); + +inline const flatbuffers::TypeTable *StridedSliceOptionsTypeTable(); + +inline const flatbuffers::TypeTable *LogSoftmaxOptionsTypeTable(); + +inline const flatbuffers::TypeTable *CastOptionsTypeTable(); + +inline const flatbuffers::TypeTable *DequantizeOptionsTypeTable(); + +inline const flatbuffers::TypeTable *MaximumMinimumOptionsTypeTable(); + +inline const flatbuffers::TypeTable *TileOptionsTypeTable(); + +inline const flatbuffers::TypeTable *ArgMaxOptionsTypeTable(); + +inline const flatbuffers::TypeTable *ArgMinOptionsTypeTable(); + +inline const flatbuffers::TypeTable *GreaterOptionsTypeTable(); + +inline const flatbuffers::TypeTable *GreaterEqualOptionsTypeTable(); + +inline const flatbuffers::TypeTable *LessOptionsTypeTable(); + +inline const flatbuffers::TypeTable *LessEqualOptionsTypeTable(); + +inline const flatbuffers::TypeTable *NegOptionsTypeTable(); + +inline const flatbuffers::TypeTable *SelectOptionsTypeTable(); + +inline const flatbuffers::TypeTable *SliceOptionsTypeTable(); + +inline const flatbuffers::TypeTable *TransposeConvOptionsTypeTable(); + +inline const flatbuffers::TypeTable *ExpandDimsOptionsTypeTable(); + +inline const flatbuffers::TypeTable *SparseToDenseOptionsTypeTable(); + +inline const flatbuffers::TypeTable *EqualOptionsTypeTable(); + +inline const flatbuffers::TypeTable *NotEqualOptionsTypeTable(); + +inline const flatbuffers::TypeTable *ShapeOptionsTypeTable(); + +inline const flatbuffers::TypeTable *RankOptionsTypeTable(); + +inline const flatbuffers::TypeTable *PowOptionsTypeTable(); + +inline const flatbuffers::TypeTable *FakeQuantOptionsTypeTable(); + +inline const flatbuffers::TypeTable *PackOptionsTypeTable(); + +inline const flatbuffers::TypeTable *LogicalOrOptionsTypeTable(); + +inline const flatbuffers::TypeTable *OneHotOptionsTypeTable(); + +inline const flatbuffers::TypeTable *AbsOptionsTypeTable(); + +inline const flatbuffers::TypeTable *HardSwishOptionsTypeTable(); + +inline const flatbuffers::TypeTable *LogicalAndOptionsTypeTable(); + +inline const flatbuffers::TypeTable *LogicalNotOptionsTypeTable(); + +inline const flatbuffers::TypeTable *UnpackOptionsTypeTable(); + +inline const flatbuffers::TypeTable *FloorDivOptionsTypeTable(); + +inline const flatbuffers::TypeTable *SquareOptionsTypeTable(); + +inline const flatbuffers::TypeTable *ZerosLikeOptionsTypeTable(); + +inline const flatbuffers::TypeTable *FillOptionsTypeTable(); + +inline const flatbuffers::TypeTable *FloorModOptionsTypeTable(); + +inline const flatbuffers::TypeTable *RangeOptionsTypeTable(); + +inline const flatbuffers::TypeTable *LeakyReluOptionsTypeTable(); + +inline const flatbuffers::TypeTable *SquaredDifferenceOptionsTypeTable(); + +inline const flatbuffers::TypeTable *MirrorPadOptionsTypeTable(); + +inline const flatbuffers::TypeTable *UniqueOptionsTypeTable(); + +inline const flatbuffers::TypeTable *ReverseV2OptionsTypeTable(); + +inline const flatbuffers::TypeTable *AddNOptionsTypeTable(); + +inline const flatbuffers::TypeTable *GatherNdOptionsTypeTable(); + +inline const flatbuffers::TypeTable *WhereOptionsTypeTable(); + +inline const flatbuffers::TypeTable *ReverseSequenceOptionsTypeTable(); + +inline const flatbuffers::TypeTable *MatrixDiagOptionsTypeTable(); + +inline const flatbuffers::TypeTable *QuantizeOptionsTypeTable(); + +inline const flatbuffers::TypeTable *MatrixSetDiagOptionsTypeTable(); + +inline const flatbuffers::TypeTable *IfOptionsTypeTable(); + +inline const flatbuffers::TypeTable *WhileOptionsTypeTable(); + +inline const flatbuffers::TypeTable *NonMaxSuppressionV4OptionsTypeTable(); + +inline const flatbuffers::TypeTable *NonMaxSuppressionV5OptionsTypeTable(); + +inline const flatbuffers::TypeTable *ScatterNdOptionsTypeTable(); + +inline const flatbuffers::TypeTable *SelectV2OptionsTypeTable(); + +inline const flatbuffers::TypeTable *DensifyOptionsTypeTable(); + +inline const flatbuffers::TypeTable *SegmentSumOptionsTypeTable(); + +inline const flatbuffers::TypeTable *BatchMatMulOptionsTypeTable(); + +inline const flatbuffers::TypeTable *OperatorCodeTypeTable(); + +inline const flatbuffers::TypeTable *OperatorTypeTable(); + +inline const flatbuffers::TypeTable *SubGraphTypeTable(); + +inline const flatbuffers::TypeTable *BufferTypeTable(); + +inline const flatbuffers::TypeTable *MetadataTypeTable(); + +inline const flatbuffers::TypeTable *ModelTypeTable(); + +enum TensorType : int8_t { + TensorType_FLOAT32 = 0, + TensorType_FLOAT16 = 1, + TensorType_INT32 = 2, + TensorType_UINT8 = 3, + TensorType_INT64 = 4, + TensorType_STRING = 5, + TensorType_BOOL = 6, + TensorType_INT16 = 7, + TensorType_COMPLEX64 = 8, + TensorType_INT8 = 9, + TensorType_FLOAT64 = 10, + TensorType_MIN = TensorType_FLOAT32, + TensorType_MAX = TensorType_FLOAT64 +}; + +inline const TensorType (&EnumValuesTensorType())[11] { + static const TensorType values[] = { + TensorType_FLOAT32, + TensorType_FLOAT16, + TensorType_INT32, + TensorType_UINT8, + TensorType_INT64, + TensorType_STRING, + TensorType_BOOL, + TensorType_INT16, + TensorType_COMPLEX64, + TensorType_INT8, + TensorType_FLOAT64 + }; + return values; +} + +inline const char * const *EnumNamesTensorType() { + static const char * const names[12] = { + "FLOAT32", + "FLOAT16", + "INT32", + "UINT8", + "INT64", + "STRING", + "BOOL", + "INT16", + "COMPLEX64", + "INT8", + "FLOAT64", + nullptr + }; + return names; +} + +inline const char *EnumNameTensorType(TensorType e) { + if (flatbuffers::IsOutRange(e, TensorType_FLOAT32, TensorType_FLOAT64)) return ""; + const size_t index = static_cast(e); + return EnumNamesTensorType()[index]; +} + +enum QuantizationDetails : uint8_t { + QuantizationDetails_NONE = 0, + QuantizationDetails_CustomQuantization = 1, + QuantizationDetails_MIN = QuantizationDetails_NONE, + QuantizationDetails_MAX = QuantizationDetails_CustomQuantization +}; + +inline const QuantizationDetails (&EnumValuesQuantizationDetails())[2] { + static const QuantizationDetails values[] = { + QuantizationDetails_NONE, + QuantizationDetails_CustomQuantization + }; + return values; +} + +inline const char * const *EnumNamesQuantizationDetails() { + static const char * const names[3] = { + "NONE", + "CustomQuantization", + nullptr + }; + return names; +} + +inline const char *EnumNameQuantizationDetails(QuantizationDetails e) { + if (flatbuffers::IsOutRange(e, QuantizationDetails_NONE, QuantizationDetails_CustomQuantization)) return ""; + const size_t index = static_cast(e); + return EnumNamesQuantizationDetails()[index]; +} + +template struct QuantizationDetailsTraits { + static const QuantizationDetails enum_value = QuantizationDetails_NONE; +}; + +template<> struct QuantizationDetailsTraits { + static const QuantizationDetails enum_value = QuantizationDetails_CustomQuantization; +}; + +struct QuantizationDetailsUnion { + QuantizationDetails type; + void *value; + + QuantizationDetailsUnion() : type(QuantizationDetails_NONE), value(nullptr) {} + QuantizationDetailsUnion(QuantizationDetailsUnion&& u) FLATBUFFERS_NOEXCEPT : + type(QuantizationDetails_NONE), value(nullptr) + { std::swap(type, u.type); std::swap(value, u.value); } + QuantizationDetailsUnion(const QuantizationDetailsUnion &); + QuantizationDetailsUnion &operator=(const QuantizationDetailsUnion &u) + { QuantizationDetailsUnion t(u); std::swap(type, t.type); std::swap(value, t.value); return *this; } + QuantizationDetailsUnion &operator=(QuantizationDetailsUnion &&u) FLATBUFFERS_NOEXCEPT + { std::swap(type, u.type); std::swap(value, u.value); return *this; } + ~QuantizationDetailsUnion() { Reset(); } + + void Reset(); + +#ifndef FLATBUFFERS_CPP98_STL + template + void Set(T&& val) { + using RT = typename std::remove_reference::type; + Reset(); + type = QuantizationDetailsTraits::enum_value; + if (type != QuantizationDetails_NONE) { + value = new RT(std::forward(val)); + } + } +#endif // FLATBUFFERS_CPP98_STL + + static void *UnPack(const void *obj, QuantizationDetails type, const flatbuffers::resolver_function_t *resolver); + flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher = nullptr) const; + + tflite::CustomQuantizationT *AsCustomQuantization() { + return type == QuantizationDetails_CustomQuantization ? + reinterpret_cast(value) : nullptr; + } + const tflite::CustomQuantizationT *AsCustomQuantization() const { + return type == QuantizationDetails_CustomQuantization ? + reinterpret_cast(value) : nullptr; + } +}; + +bool VerifyQuantizationDetails(flatbuffers::Verifier &verifier, const void *obj, QuantizationDetails type); +bool VerifyQuantizationDetailsVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types); + +enum DimensionType : int8_t { + DimensionType_DENSE = 0, + DimensionType_SPARSE_CSR = 1, + DimensionType_MIN = DimensionType_DENSE, + DimensionType_MAX = DimensionType_SPARSE_CSR +}; + +inline const DimensionType (&EnumValuesDimensionType())[2] { + static const DimensionType values[] = { + DimensionType_DENSE, + DimensionType_SPARSE_CSR + }; + return values; +} + +inline const char * const *EnumNamesDimensionType() { + static const char * const names[3] = { + "DENSE", + "SPARSE_CSR", + nullptr + }; + return names; +} + +inline const char *EnumNameDimensionType(DimensionType e) { + if (flatbuffers::IsOutRange(e, DimensionType_DENSE, DimensionType_SPARSE_CSR)) return ""; + const size_t index = static_cast(e); + return EnumNamesDimensionType()[index]; +} + +enum SparseIndexVector : uint8_t { + SparseIndexVector_NONE = 0, + SparseIndexVector_Int32Vector = 1, + SparseIndexVector_Uint16Vector = 2, + SparseIndexVector_Uint8Vector = 3, + SparseIndexVector_MIN = SparseIndexVector_NONE, + SparseIndexVector_MAX = SparseIndexVector_Uint8Vector +}; + +inline const SparseIndexVector (&EnumValuesSparseIndexVector())[4] { + static const SparseIndexVector values[] = { + SparseIndexVector_NONE, + SparseIndexVector_Int32Vector, + SparseIndexVector_Uint16Vector, + SparseIndexVector_Uint8Vector + }; + return values; +} + +inline const char * const *EnumNamesSparseIndexVector() { + static const char * const names[5] = { + "NONE", + "Int32Vector", + "Uint16Vector", + "Uint8Vector", + nullptr + }; + return names; +} + +inline const char *EnumNameSparseIndexVector(SparseIndexVector e) { + if (flatbuffers::IsOutRange(e, SparseIndexVector_NONE, SparseIndexVector_Uint8Vector)) return ""; + const size_t index = static_cast(e); + return EnumNamesSparseIndexVector()[index]; +} + +template struct SparseIndexVectorTraits { + static const SparseIndexVector enum_value = SparseIndexVector_NONE; +}; + +template<> struct SparseIndexVectorTraits { + static const SparseIndexVector enum_value = SparseIndexVector_Int32Vector; +}; + +template<> struct SparseIndexVectorTraits { + static const SparseIndexVector enum_value = SparseIndexVector_Uint16Vector; +}; + +template<> struct SparseIndexVectorTraits { + static const SparseIndexVector enum_value = SparseIndexVector_Uint8Vector; +}; + +struct SparseIndexVectorUnion { + SparseIndexVector type; + void *value; + + SparseIndexVectorUnion() : type(SparseIndexVector_NONE), value(nullptr) {} + SparseIndexVectorUnion(SparseIndexVectorUnion&& u) FLATBUFFERS_NOEXCEPT : + type(SparseIndexVector_NONE), value(nullptr) + { std::swap(type, u.type); std::swap(value, u.value); } + SparseIndexVectorUnion(const SparseIndexVectorUnion &); + SparseIndexVectorUnion &operator=(const SparseIndexVectorUnion &u) + { SparseIndexVectorUnion t(u); std::swap(type, t.type); std::swap(value, t.value); return *this; } + SparseIndexVectorUnion &operator=(SparseIndexVectorUnion &&u) FLATBUFFERS_NOEXCEPT + { std::swap(type, u.type); std::swap(value, u.value); return *this; } + ~SparseIndexVectorUnion() { Reset(); } + + void Reset(); + +#ifndef FLATBUFFERS_CPP98_STL + template + void Set(T&& val) { + using RT = typename std::remove_reference::type; + Reset(); + type = SparseIndexVectorTraits::enum_value; + if (type != SparseIndexVector_NONE) { + value = new RT(std::forward(val)); + } + } +#endif // FLATBUFFERS_CPP98_STL + + static void *UnPack(const void *obj, SparseIndexVector type, const flatbuffers::resolver_function_t *resolver); + flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher = nullptr) const; + + tflite::Int32VectorT *AsInt32Vector() { + return type == SparseIndexVector_Int32Vector ? + reinterpret_cast(value) : nullptr; + } + const tflite::Int32VectorT *AsInt32Vector() const { + return type == SparseIndexVector_Int32Vector ? + reinterpret_cast(value) : nullptr; + } + tflite::Uint16VectorT *AsUint16Vector() { + return type == SparseIndexVector_Uint16Vector ? + reinterpret_cast(value) : nullptr; + } + const tflite::Uint16VectorT *AsUint16Vector() const { + return type == SparseIndexVector_Uint16Vector ? + reinterpret_cast(value) : nullptr; + } + tflite::Uint8VectorT *AsUint8Vector() { + return type == SparseIndexVector_Uint8Vector ? + reinterpret_cast(value) : nullptr; + } + const tflite::Uint8VectorT *AsUint8Vector() const { + return type == SparseIndexVector_Uint8Vector ? + reinterpret_cast(value) : nullptr; + } +}; + +bool VerifySparseIndexVector(flatbuffers::Verifier &verifier, const void *obj, SparseIndexVector type); +bool VerifySparseIndexVectorVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types); + +enum BuiltinOperator : int8_t { + BuiltinOperator_ADD = 0, + BuiltinOperator_AVERAGE_POOL_2D = 1, + BuiltinOperator_CONCATENATION = 2, + BuiltinOperator_CONV_2D = 3, + BuiltinOperator_DEPTHWISE_CONV_2D = 4, + BuiltinOperator_DEPTH_TO_SPACE = 5, + BuiltinOperator_DEQUANTIZE = 6, + BuiltinOperator_EMBEDDING_LOOKUP = 7, + BuiltinOperator_FLOOR = 8, + BuiltinOperator_FULLY_CONNECTED = 9, + BuiltinOperator_HASHTABLE_LOOKUP = 10, + BuiltinOperator_L2_NORMALIZATION = 11, + BuiltinOperator_L2_POOL_2D = 12, + BuiltinOperator_LOCAL_RESPONSE_NORMALIZATION = 13, + BuiltinOperator_LOGISTIC = 14, + BuiltinOperator_LSH_PROJECTION = 15, + BuiltinOperator_LSTM = 16, + BuiltinOperator_MAX_POOL_2D = 17, + BuiltinOperator_MUL = 18, + BuiltinOperator_RELU = 19, + BuiltinOperator_RELU_N1_TO_1 = 20, + BuiltinOperator_RELU6 = 21, + BuiltinOperator_RESHAPE = 22, + BuiltinOperator_RESIZE_BILINEAR = 23, + BuiltinOperator_RNN = 24, + BuiltinOperator_SOFTMAX = 25, + BuiltinOperator_SPACE_TO_DEPTH = 26, + BuiltinOperator_SVDF = 27, + BuiltinOperator_TANH = 28, + BuiltinOperator_CONCAT_EMBEDDINGS = 29, + BuiltinOperator_SKIP_GRAM = 30, + BuiltinOperator_CALL = 31, + BuiltinOperator_CUSTOM = 32, + BuiltinOperator_EMBEDDING_LOOKUP_SPARSE = 33, + BuiltinOperator_PAD = 34, + BuiltinOperator_UNIDIRECTIONAL_SEQUENCE_RNN = 35, + BuiltinOperator_GATHER = 36, + BuiltinOperator_BATCH_TO_SPACE_ND = 37, + BuiltinOperator_SPACE_TO_BATCH_ND = 38, + BuiltinOperator_TRANSPOSE = 39, + BuiltinOperator_MEAN = 40, + BuiltinOperator_SUB = 41, + BuiltinOperator_DIV = 42, + BuiltinOperator_SQUEEZE = 43, + BuiltinOperator_UNIDIRECTIONAL_SEQUENCE_LSTM = 44, + BuiltinOperator_STRIDED_SLICE = 45, + BuiltinOperator_BIDIRECTIONAL_SEQUENCE_RNN = 46, + BuiltinOperator_EXP = 47, + BuiltinOperator_TOPK_V2 = 48, + BuiltinOperator_SPLIT = 49, + BuiltinOperator_LOG_SOFTMAX = 50, + BuiltinOperator_DELEGATE = 51, + BuiltinOperator_BIDIRECTIONAL_SEQUENCE_LSTM = 52, + BuiltinOperator_CAST = 53, + BuiltinOperator_PRELU = 54, + BuiltinOperator_MAXIMUM = 55, + BuiltinOperator_ARG_MAX = 56, + BuiltinOperator_MINIMUM = 57, + BuiltinOperator_LESS = 58, + BuiltinOperator_NEG = 59, + BuiltinOperator_PADV2 = 60, + BuiltinOperator_GREATER = 61, + BuiltinOperator_GREATER_EQUAL = 62, + BuiltinOperator_LESS_EQUAL = 63, + BuiltinOperator_SELECT = 64, + BuiltinOperator_SLICE = 65, + BuiltinOperator_SIN = 66, + BuiltinOperator_TRANSPOSE_CONV = 67, + BuiltinOperator_SPARSE_TO_DENSE = 68, + BuiltinOperator_TILE = 69, + BuiltinOperator_EXPAND_DIMS = 70, + BuiltinOperator_EQUAL = 71, + BuiltinOperator_NOT_EQUAL = 72, + BuiltinOperator_LOG = 73, + BuiltinOperator_SUM = 74, + BuiltinOperator_SQRT = 75, + BuiltinOperator_RSQRT = 76, + BuiltinOperator_SHAPE = 77, + BuiltinOperator_POW = 78, + BuiltinOperator_ARG_MIN = 79, + BuiltinOperator_FAKE_QUANT = 80, + BuiltinOperator_REDUCE_PROD = 81, + BuiltinOperator_REDUCE_MAX = 82, + BuiltinOperator_PACK = 83, + BuiltinOperator_LOGICAL_OR = 84, + BuiltinOperator_ONE_HOT = 85, + BuiltinOperator_LOGICAL_AND = 86, + BuiltinOperator_LOGICAL_NOT = 87, + BuiltinOperator_UNPACK = 88, + BuiltinOperator_REDUCE_MIN = 89, + BuiltinOperator_FLOOR_DIV = 90, + BuiltinOperator_REDUCE_ANY = 91, + BuiltinOperator_SQUARE = 92, + BuiltinOperator_ZEROS_LIKE = 93, + BuiltinOperator_FILL = 94, + BuiltinOperator_FLOOR_MOD = 95, + BuiltinOperator_RANGE = 96, + BuiltinOperator_RESIZE_NEAREST_NEIGHBOR = 97, + BuiltinOperator_LEAKY_RELU = 98, + BuiltinOperator_SQUARED_DIFFERENCE = 99, + BuiltinOperator_MIRROR_PAD = 100, + BuiltinOperator_ABS = 101, + BuiltinOperator_SPLIT_V = 102, + BuiltinOperator_UNIQUE = 103, + BuiltinOperator_CEIL = 104, + BuiltinOperator_REVERSE_V2 = 105, + BuiltinOperator_ADD_N = 106, + BuiltinOperator_GATHER_ND = 107, + BuiltinOperator_COS = 108, + BuiltinOperator_WHERE = 109, + BuiltinOperator_RANK = 110, + BuiltinOperator_ELU = 111, + BuiltinOperator_REVERSE_SEQUENCE = 112, + BuiltinOperator_MATRIX_DIAG = 113, + BuiltinOperator_QUANTIZE = 114, + BuiltinOperator_MATRIX_SET_DIAG = 115, + BuiltinOperator_ROUND = 116, + BuiltinOperator_HARD_SWISH = 117, + BuiltinOperator_IF = 118, + BuiltinOperator_WHILE = 119, + BuiltinOperator_NON_MAX_SUPPRESSION_V4 = 120, + BuiltinOperator_NON_MAX_SUPPRESSION_V5 = 121, + BuiltinOperator_SCATTER_ND = 122, + BuiltinOperator_SELECT_V2 = 123, + BuiltinOperator_DENSIFY = 124, + BuiltinOperator_SEGMENT_SUM = 125, + BuiltinOperator_BATCH_MATMUL = 126, + BuiltinOperator_MIN = BuiltinOperator_ADD, + BuiltinOperator_MAX = BuiltinOperator_BATCH_MATMUL +}; + +inline const BuiltinOperator (&EnumValuesBuiltinOperator())[127] { + static const BuiltinOperator values[] = { + BuiltinOperator_ADD, + BuiltinOperator_AVERAGE_POOL_2D, + BuiltinOperator_CONCATENATION, + BuiltinOperator_CONV_2D, + BuiltinOperator_DEPTHWISE_CONV_2D, + BuiltinOperator_DEPTH_TO_SPACE, + BuiltinOperator_DEQUANTIZE, + BuiltinOperator_EMBEDDING_LOOKUP, + BuiltinOperator_FLOOR, + BuiltinOperator_FULLY_CONNECTED, + BuiltinOperator_HASHTABLE_LOOKUP, + BuiltinOperator_L2_NORMALIZATION, + BuiltinOperator_L2_POOL_2D, + BuiltinOperator_LOCAL_RESPONSE_NORMALIZATION, + BuiltinOperator_LOGISTIC, + BuiltinOperator_LSH_PROJECTION, + BuiltinOperator_LSTM, + BuiltinOperator_MAX_POOL_2D, + BuiltinOperator_MUL, + BuiltinOperator_RELU, + BuiltinOperator_RELU_N1_TO_1, + BuiltinOperator_RELU6, + BuiltinOperator_RESHAPE, + BuiltinOperator_RESIZE_BILINEAR, + BuiltinOperator_RNN, + BuiltinOperator_SOFTMAX, + BuiltinOperator_SPACE_TO_DEPTH, + BuiltinOperator_SVDF, + BuiltinOperator_TANH, + BuiltinOperator_CONCAT_EMBEDDINGS, + BuiltinOperator_SKIP_GRAM, + BuiltinOperator_CALL, + BuiltinOperator_CUSTOM, + BuiltinOperator_EMBEDDING_LOOKUP_SPARSE, + BuiltinOperator_PAD, + BuiltinOperator_UNIDIRECTIONAL_SEQUENCE_RNN, + BuiltinOperator_GATHER, + BuiltinOperator_BATCH_TO_SPACE_ND, + BuiltinOperator_SPACE_TO_BATCH_ND, + BuiltinOperator_TRANSPOSE, + BuiltinOperator_MEAN, + BuiltinOperator_SUB, + BuiltinOperator_DIV, + BuiltinOperator_SQUEEZE, + BuiltinOperator_UNIDIRECTIONAL_SEQUENCE_LSTM, + BuiltinOperator_STRIDED_SLICE, + BuiltinOperator_BIDIRECTIONAL_SEQUENCE_RNN, + BuiltinOperator_EXP, + BuiltinOperator_TOPK_V2, + BuiltinOperator_SPLIT, + BuiltinOperator_LOG_SOFTMAX, + BuiltinOperator_DELEGATE, + BuiltinOperator_BIDIRECTIONAL_SEQUENCE_LSTM, + BuiltinOperator_CAST, + BuiltinOperator_PRELU, + BuiltinOperator_MAXIMUM, + BuiltinOperator_ARG_MAX, + BuiltinOperator_MINIMUM, + BuiltinOperator_LESS, + BuiltinOperator_NEG, + BuiltinOperator_PADV2, + BuiltinOperator_GREATER, + BuiltinOperator_GREATER_EQUAL, + BuiltinOperator_LESS_EQUAL, + BuiltinOperator_SELECT, + BuiltinOperator_SLICE, + BuiltinOperator_SIN, + BuiltinOperator_TRANSPOSE_CONV, + BuiltinOperator_SPARSE_TO_DENSE, + BuiltinOperator_TILE, + BuiltinOperator_EXPAND_DIMS, + BuiltinOperator_EQUAL, + BuiltinOperator_NOT_EQUAL, + BuiltinOperator_LOG, + BuiltinOperator_SUM, + BuiltinOperator_SQRT, + BuiltinOperator_RSQRT, + BuiltinOperator_SHAPE, + BuiltinOperator_POW, + BuiltinOperator_ARG_MIN, + BuiltinOperator_FAKE_QUANT, + BuiltinOperator_REDUCE_PROD, + BuiltinOperator_REDUCE_MAX, + BuiltinOperator_PACK, + BuiltinOperator_LOGICAL_OR, + BuiltinOperator_ONE_HOT, + BuiltinOperator_LOGICAL_AND, + BuiltinOperator_LOGICAL_NOT, + BuiltinOperator_UNPACK, + BuiltinOperator_REDUCE_MIN, + BuiltinOperator_FLOOR_DIV, + BuiltinOperator_REDUCE_ANY, + BuiltinOperator_SQUARE, + BuiltinOperator_ZEROS_LIKE, + BuiltinOperator_FILL, + BuiltinOperator_FLOOR_MOD, + BuiltinOperator_RANGE, + BuiltinOperator_RESIZE_NEAREST_NEIGHBOR, + BuiltinOperator_LEAKY_RELU, + BuiltinOperator_SQUARED_DIFFERENCE, + BuiltinOperator_MIRROR_PAD, + BuiltinOperator_ABS, + BuiltinOperator_SPLIT_V, + BuiltinOperator_UNIQUE, + BuiltinOperator_CEIL, + BuiltinOperator_REVERSE_V2, + BuiltinOperator_ADD_N, + BuiltinOperator_GATHER_ND, + BuiltinOperator_COS, + BuiltinOperator_WHERE, + BuiltinOperator_RANK, + BuiltinOperator_ELU, + BuiltinOperator_REVERSE_SEQUENCE, + BuiltinOperator_MATRIX_DIAG, + BuiltinOperator_QUANTIZE, + BuiltinOperator_MATRIX_SET_DIAG, + BuiltinOperator_ROUND, + BuiltinOperator_HARD_SWISH, + BuiltinOperator_IF, + BuiltinOperator_WHILE, + BuiltinOperator_NON_MAX_SUPPRESSION_V4, + BuiltinOperator_NON_MAX_SUPPRESSION_V5, + BuiltinOperator_SCATTER_ND, + BuiltinOperator_SELECT_V2, + BuiltinOperator_DENSIFY, + BuiltinOperator_SEGMENT_SUM, + BuiltinOperator_BATCH_MATMUL + }; + return values; +} + +inline const char * const *EnumNamesBuiltinOperator() { + static const char * const names[128] = { + "ADD", + "AVERAGE_POOL_2D", + "CONCATENATION", + "CONV_2D", + "DEPTHWISE_CONV_2D", + "DEPTH_TO_SPACE", + "DEQUANTIZE", + "EMBEDDING_LOOKUP", + "FLOOR", + "FULLY_CONNECTED", + "HASHTABLE_LOOKUP", + "L2_NORMALIZATION", + "L2_POOL_2D", + "LOCAL_RESPONSE_NORMALIZATION", + "LOGISTIC", + "LSH_PROJECTION", + "LSTM", + "MAX_POOL_2D", + "MUL", + "RELU", + "RELU_N1_TO_1", + "RELU6", + "RESHAPE", + "RESIZE_BILINEAR", + "RNN", + "SOFTMAX", + "SPACE_TO_DEPTH", + "SVDF", + "TANH", + "CONCAT_EMBEDDINGS", + "SKIP_GRAM", + "CALL", + "CUSTOM", + "EMBEDDING_LOOKUP_SPARSE", + "PAD", + "UNIDIRECTIONAL_SEQUENCE_RNN", + "GATHER", + "BATCH_TO_SPACE_ND", + "SPACE_TO_BATCH_ND", + "TRANSPOSE", + "MEAN", + "SUB", + "DIV", + "SQUEEZE", + "UNIDIRECTIONAL_SEQUENCE_LSTM", + "STRIDED_SLICE", + "BIDIRECTIONAL_SEQUENCE_RNN", + "EXP", + "TOPK_V2", + "SPLIT", + "LOG_SOFTMAX", + "DELEGATE", + "BIDIRECTIONAL_SEQUENCE_LSTM", + "CAST", + "PRELU", + "MAXIMUM", + "ARG_MAX", + "MINIMUM", + "LESS", + "NEG", + "PADV2", + "GREATER", + "GREATER_EQUAL", + "LESS_EQUAL", + "SELECT", + "SLICE", + "SIN", + "TRANSPOSE_CONV", + "SPARSE_TO_DENSE", + "TILE", + "EXPAND_DIMS", + "EQUAL", + "NOT_EQUAL", + "LOG", + "SUM", + "SQRT", + "RSQRT", + "SHAPE", + "POW", + "ARG_MIN", + "FAKE_QUANT", + "REDUCE_PROD", + "REDUCE_MAX", + "PACK", + "LOGICAL_OR", + "ONE_HOT", + "LOGICAL_AND", + "LOGICAL_NOT", + "UNPACK", + "REDUCE_MIN", + "FLOOR_DIV", + "REDUCE_ANY", + "SQUARE", + "ZEROS_LIKE", + "FILL", + "FLOOR_MOD", + "RANGE", + "RESIZE_NEAREST_NEIGHBOR", + "LEAKY_RELU", + "SQUARED_DIFFERENCE", + "MIRROR_PAD", + "ABS", + "SPLIT_V", + "UNIQUE", + "CEIL", + "REVERSE_V2", + "ADD_N", + "GATHER_ND", + "COS", + "WHERE", + "RANK", + "ELU", + "REVERSE_SEQUENCE", + "MATRIX_DIAG", + "QUANTIZE", + "MATRIX_SET_DIAG", + "ROUND", + "HARD_SWISH", + "IF", + "WHILE", + "NON_MAX_SUPPRESSION_V4", + "NON_MAX_SUPPRESSION_V5", + "SCATTER_ND", + "SELECT_V2", + "DENSIFY", + "SEGMENT_SUM", + "BATCH_MATMUL", + nullptr + }; + return names; +} + +inline const char *EnumNameBuiltinOperator(BuiltinOperator e) { + if (flatbuffers::IsOutRange(e, BuiltinOperator_ADD, BuiltinOperator_BATCH_MATMUL)) return ""; + const size_t index = static_cast(e); + return EnumNamesBuiltinOperator()[index]; +} + +enum BuiltinOptions : uint8_t { + BuiltinOptions_NONE = 0, + BuiltinOptions_Conv2DOptions = 1, + BuiltinOptions_DepthwiseConv2DOptions = 2, + BuiltinOptions_ConcatEmbeddingsOptions = 3, + BuiltinOptions_LSHProjectionOptions = 4, + BuiltinOptions_Pool2DOptions = 5, + BuiltinOptions_SVDFOptions = 6, + BuiltinOptions_RNNOptions = 7, + BuiltinOptions_FullyConnectedOptions = 8, + BuiltinOptions_SoftmaxOptions = 9, + BuiltinOptions_ConcatenationOptions = 10, + BuiltinOptions_AddOptions = 11, + BuiltinOptions_L2NormOptions = 12, + BuiltinOptions_LocalResponseNormalizationOptions = 13, + BuiltinOptions_LSTMOptions = 14, + BuiltinOptions_ResizeBilinearOptions = 15, + BuiltinOptions_CallOptions = 16, + BuiltinOptions_ReshapeOptions = 17, + BuiltinOptions_SkipGramOptions = 18, + BuiltinOptions_SpaceToDepthOptions = 19, + BuiltinOptions_EmbeddingLookupSparseOptions = 20, + BuiltinOptions_MulOptions = 21, + BuiltinOptions_PadOptions = 22, + BuiltinOptions_GatherOptions = 23, + BuiltinOptions_BatchToSpaceNDOptions = 24, + BuiltinOptions_SpaceToBatchNDOptions = 25, + BuiltinOptions_TransposeOptions = 26, + BuiltinOptions_ReducerOptions = 27, + BuiltinOptions_SubOptions = 28, + BuiltinOptions_DivOptions = 29, + BuiltinOptions_SqueezeOptions = 30, + BuiltinOptions_SequenceRNNOptions = 31, + BuiltinOptions_StridedSliceOptions = 32, + BuiltinOptions_ExpOptions = 33, + BuiltinOptions_TopKV2Options = 34, + BuiltinOptions_SplitOptions = 35, + BuiltinOptions_LogSoftmaxOptions = 36, + BuiltinOptions_CastOptions = 37, + BuiltinOptions_DequantizeOptions = 38, + BuiltinOptions_MaximumMinimumOptions = 39, + BuiltinOptions_ArgMaxOptions = 40, + BuiltinOptions_LessOptions = 41, + BuiltinOptions_NegOptions = 42, + BuiltinOptions_PadV2Options = 43, + BuiltinOptions_GreaterOptions = 44, + BuiltinOptions_GreaterEqualOptions = 45, + BuiltinOptions_LessEqualOptions = 46, + BuiltinOptions_SelectOptions = 47, + BuiltinOptions_SliceOptions = 48, + BuiltinOptions_TransposeConvOptions = 49, + BuiltinOptions_SparseToDenseOptions = 50, + BuiltinOptions_TileOptions = 51, + BuiltinOptions_ExpandDimsOptions = 52, + BuiltinOptions_EqualOptions = 53, + BuiltinOptions_NotEqualOptions = 54, + BuiltinOptions_ShapeOptions = 55, + BuiltinOptions_PowOptions = 56, + BuiltinOptions_ArgMinOptions = 57, + BuiltinOptions_FakeQuantOptions = 58, + BuiltinOptions_PackOptions = 59, + BuiltinOptions_LogicalOrOptions = 60, + BuiltinOptions_OneHotOptions = 61, + BuiltinOptions_LogicalAndOptions = 62, + BuiltinOptions_LogicalNotOptions = 63, + BuiltinOptions_UnpackOptions = 64, + BuiltinOptions_FloorDivOptions = 65, + BuiltinOptions_SquareOptions = 66, + BuiltinOptions_ZerosLikeOptions = 67, + BuiltinOptions_FillOptions = 68, + BuiltinOptions_BidirectionalSequenceLSTMOptions = 69, + BuiltinOptions_BidirectionalSequenceRNNOptions = 70, + BuiltinOptions_UnidirectionalSequenceLSTMOptions = 71, + BuiltinOptions_FloorModOptions = 72, + BuiltinOptions_RangeOptions = 73, + BuiltinOptions_ResizeNearestNeighborOptions = 74, + BuiltinOptions_LeakyReluOptions = 75, + BuiltinOptions_SquaredDifferenceOptions = 76, + BuiltinOptions_MirrorPadOptions = 77, + BuiltinOptions_AbsOptions = 78, + BuiltinOptions_SplitVOptions = 79, + BuiltinOptions_UniqueOptions = 80, + BuiltinOptions_ReverseV2Options = 81, + BuiltinOptions_AddNOptions = 82, + BuiltinOptions_GatherNdOptions = 83, + BuiltinOptions_CosOptions = 84, + BuiltinOptions_WhereOptions = 85, + BuiltinOptions_RankOptions = 86, + BuiltinOptions_ReverseSequenceOptions = 87, + BuiltinOptions_MatrixDiagOptions = 88, + BuiltinOptions_QuantizeOptions = 89, + BuiltinOptions_MatrixSetDiagOptions = 90, + BuiltinOptions_HardSwishOptions = 91, + BuiltinOptions_IfOptions = 92, + BuiltinOptions_WhileOptions = 93, + BuiltinOptions_DepthToSpaceOptions = 94, + BuiltinOptions_NonMaxSuppressionV4Options = 95, + BuiltinOptions_NonMaxSuppressionV5Options = 96, + BuiltinOptions_ScatterNdOptions = 97, + BuiltinOptions_SelectV2Options = 98, + BuiltinOptions_DensifyOptions = 99, + BuiltinOptions_SegmentSumOptions = 100, + BuiltinOptions_BatchMatMulOptions = 101, + BuiltinOptions_MIN = BuiltinOptions_NONE, + BuiltinOptions_MAX = BuiltinOptions_BatchMatMulOptions +}; + +inline const BuiltinOptions (&EnumValuesBuiltinOptions())[102] { + static const BuiltinOptions values[] = { + BuiltinOptions_NONE, + BuiltinOptions_Conv2DOptions, + BuiltinOptions_DepthwiseConv2DOptions, + BuiltinOptions_ConcatEmbeddingsOptions, + BuiltinOptions_LSHProjectionOptions, + BuiltinOptions_Pool2DOptions, + BuiltinOptions_SVDFOptions, + BuiltinOptions_RNNOptions, + BuiltinOptions_FullyConnectedOptions, + BuiltinOptions_SoftmaxOptions, + BuiltinOptions_ConcatenationOptions, + BuiltinOptions_AddOptions, + BuiltinOptions_L2NormOptions, + BuiltinOptions_LocalResponseNormalizationOptions, + BuiltinOptions_LSTMOptions, + BuiltinOptions_ResizeBilinearOptions, + BuiltinOptions_CallOptions, + BuiltinOptions_ReshapeOptions, + BuiltinOptions_SkipGramOptions, + BuiltinOptions_SpaceToDepthOptions, + BuiltinOptions_EmbeddingLookupSparseOptions, + BuiltinOptions_MulOptions, + BuiltinOptions_PadOptions, + BuiltinOptions_GatherOptions, + BuiltinOptions_BatchToSpaceNDOptions, + BuiltinOptions_SpaceToBatchNDOptions, + BuiltinOptions_TransposeOptions, + BuiltinOptions_ReducerOptions, + BuiltinOptions_SubOptions, + BuiltinOptions_DivOptions, + BuiltinOptions_SqueezeOptions, + BuiltinOptions_SequenceRNNOptions, + BuiltinOptions_StridedSliceOptions, + BuiltinOptions_ExpOptions, + BuiltinOptions_TopKV2Options, + BuiltinOptions_SplitOptions, + BuiltinOptions_LogSoftmaxOptions, + BuiltinOptions_CastOptions, + BuiltinOptions_DequantizeOptions, + BuiltinOptions_MaximumMinimumOptions, + BuiltinOptions_ArgMaxOptions, + BuiltinOptions_LessOptions, + BuiltinOptions_NegOptions, + BuiltinOptions_PadV2Options, + BuiltinOptions_GreaterOptions, + BuiltinOptions_GreaterEqualOptions, + BuiltinOptions_LessEqualOptions, + BuiltinOptions_SelectOptions, + BuiltinOptions_SliceOptions, + BuiltinOptions_TransposeConvOptions, + BuiltinOptions_SparseToDenseOptions, + BuiltinOptions_TileOptions, + BuiltinOptions_ExpandDimsOptions, + BuiltinOptions_EqualOptions, + BuiltinOptions_NotEqualOptions, + BuiltinOptions_ShapeOptions, + BuiltinOptions_PowOptions, + BuiltinOptions_ArgMinOptions, + BuiltinOptions_FakeQuantOptions, + BuiltinOptions_PackOptions, + BuiltinOptions_LogicalOrOptions, + BuiltinOptions_OneHotOptions, + BuiltinOptions_LogicalAndOptions, + BuiltinOptions_LogicalNotOptions, + BuiltinOptions_UnpackOptions, + BuiltinOptions_FloorDivOptions, + BuiltinOptions_SquareOptions, + BuiltinOptions_ZerosLikeOptions, + BuiltinOptions_FillOptions, + BuiltinOptions_BidirectionalSequenceLSTMOptions, + BuiltinOptions_BidirectionalSequenceRNNOptions, + BuiltinOptions_UnidirectionalSequenceLSTMOptions, + BuiltinOptions_FloorModOptions, + BuiltinOptions_RangeOptions, + BuiltinOptions_ResizeNearestNeighborOptions, + BuiltinOptions_LeakyReluOptions, + BuiltinOptions_SquaredDifferenceOptions, + BuiltinOptions_MirrorPadOptions, + BuiltinOptions_AbsOptions, + BuiltinOptions_SplitVOptions, + BuiltinOptions_UniqueOptions, + BuiltinOptions_ReverseV2Options, + BuiltinOptions_AddNOptions, + BuiltinOptions_GatherNdOptions, + BuiltinOptions_CosOptions, + BuiltinOptions_WhereOptions, + BuiltinOptions_RankOptions, + BuiltinOptions_ReverseSequenceOptions, + BuiltinOptions_MatrixDiagOptions, + BuiltinOptions_QuantizeOptions, + BuiltinOptions_MatrixSetDiagOptions, + BuiltinOptions_HardSwishOptions, + BuiltinOptions_IfOptions, + BuiltinOptions_WhileOptions, + BuiltinOptions_DepthToSpaceOptions, + BuiltinOptions_NonMaxSuppressionV4Options, + BuiltinOptions_NonMaxSuppressionV5Options, + BuiltinOptions_ScatterNdOptions, + BuiltinOptions_SelectV2Options, + BuiltinOptions_DensifyOptions, + BuiltinOptions_SegmentSumOptions, + BuiltinOptions_BatchMatMulOptions + }; + return values; +} + +inline const char * const *EnumNamesBuiltinOptions() { + static const char * const names[103] = { + "NONE", + "Conv2DOptions", + "DepthwiseConv2DOptions", + "ConcatEmbeddingsOptions", + "LSHProjectionOptions", + "Pool2DOptions", + "SVDFOptions", + "RNNOptions", + "FullyConnectedOptions", + "SoftmaxOptions", + "ConcatenationOptions", + "AddOptions", + "L2NormOptions", + "LocalResponseNormalizationOptions", + "LSTMOptions", + "ResizeBilinearOptions", + "CallOptions", + "ReshapeOptions", + "SkipGramOptions", + "SpaceToDepthOptions", + "EmbeddingLookupSparseOptions", + "MulOptions", + "PadOptions", + "GatherOptions", + "BatchToSpaceNDOptions", + "SpaceToBatchNDOptions", + "TransposeOptions", + "ReducerOptions", + "SubOptions", + "DivOptions", + "SqueezeOptions", + "SequenceRNNOptions", + "StridedSliceOptions", + "ExpOptions", + "TopKV2Options", + "SplitOptions", + "LogSoftmaxOptions", + "CastOptions", + "DequantizeOptions", + "MaximumMinimumOptions", + "ArgMaxOptions", + "LessOptions", + "NegOptions", + "PadV2Options", + "GreaterOptions", + "GreaterEqualOptions", + "LessEqualOptions", + "SelectOptions", + "SliceOptions", + "TransposeConvOptions", + "SparseToDenseOptions", + "TileOptions", + "ExpandDimsOptions", + "EqualOptions", + "NotEqualOptions", + "ShapeOptions", + "PowOptions", + "ArgMinOptions", + "FakeQuantOptions", + "PackOptions", + "LogicalOrOptions", + "OneHotOptions", + "LogicalAndOptions", + "LogicalNotOptions", + "UnpackOptions", + "FloorDivOptions", + "SquareOptions", + "ZerosLikeOptions", + "FillOptions", + "BidirectionalSequenceLSTMOptions", + "BidirectionalSequenceRNNOptions", + "UnidirectionalSequenceLSTMOptions", + "FloorModOptions", + "RangeOptions", + "ResizeNearestNeighborOptions", + "LeakyReluOptions", + "SquaredDifferenceOptions", + "MirrorPadOptions", + "AbsOptions", + "SplitVOptions", + "UniqueOptions", + "ReverseV2Options", + "AddNOptions", + "GatherNdOptions", + "CosOptions", + "WhereOptions", + "RankOptions", + "ReverseSequenceOptions", + "MatrixDiagOptions", + "QuantizeOptions", + "MatrixSetDiagOptions", + "HardSwishOptions", + "IfOptions", + "WhileOptions", + "DepthToSpaceOptions", + "NonMaxSuppressionV4Options", + "NonMaxSuppressionV5Options", + "ScatterNdOptions", + "SelectV2Options", + "DensifyOptions", + "SegmentSumOptions", + "BatchMatMulOptions", + nullptr + }; + return names; +} + +inline const char *EnumNameBuiltinOptions(BuiltinOptions e) { + if (flatbuffers::IsOutRange(e, BuiltinOptions_NONE, BuiltinOptions_BatchMatMulOptions)) return ""; + const size_t index = static_cast(e); + return EnumNamesBuiltinOptions()[index]; +} + +template struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_NONE; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_Conv2DOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_DepthwiseConv2DOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_ConcatEmbeddingsOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_LSHProjectionOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_Pool2DOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_SVDFOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_RNNOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_FullyConnectedOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_SoftmaxOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_ConcatenationOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_AddOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_L2NormOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_LocalResponseNormalizationOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_LSTMOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_ResizeBilinearOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_CallOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_ReshapeOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_SkipGramOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_SpaceToDepthOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_EmbeddingLookupSparseOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_MulOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_PadOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_GatherOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_BatchToSpaceNDOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_SpaceToBatchNDOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_TransposeOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_ReducerOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_SubOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_DivOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_SqueezeOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_SequenceRNNOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_StridedSliceOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_ExpOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_TopKV2Options; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_SplitOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_LogSoftmaxOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_CastOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_DequantizeOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_MaximumMinimumOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_ArgMaxOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_LessOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_NegOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_PadV2Options; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_GreaterOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_GreaterEqualOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_LessEqualOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_SelectOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_SliceOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_TransposeConvOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_SparseToDenseOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_TileOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_ExpandDimsOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_EqualOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_NotEqualOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_ShapeOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_PowOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_ArgMinOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_FakeQuantOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_PackOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_LogicalOrOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_OneHotOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_LogicalAndOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_LogicalNotOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_UnpackOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_FloorDivOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_SquareOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_ZerosLikeOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_FillOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_BidirectionalSequenceLSTMOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_BidirectionalSequenceRNNOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_UnidirectionalSequenceLSTMOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_FloorModOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_RangeOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_ResizeNearestNeighborOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_LeakyReluOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_SquaredDifferenceOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_MirrorPadOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_AbsOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_SplitVOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_UniqueOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_ReverseV2Options; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_AddNOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_GatherNdOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_CosOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_WhereOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_RankOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_ReverseSequenceOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_MatrixDiagOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_QuantizeOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_MatrixSetDiagOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_HardSwishOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_IfOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_WhileOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_DepthToSpaceOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_NonMaxSuppressionV4Options; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_NonMaxSuppressionV5Options; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_ScatterNdOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_SelectV2Options; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_DensifyOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_SegmentSumOptions; +}; + +template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_BatchMatMulOptions; +}; + +struct BuiltinOptionsUnion { + BuiltinOptions type; + void *value; + + BuiltinOptionsUnion() : type(BuiltinOptions_NONE), value(nullptr) {} + BuiltinOptionsUnion(BuiltinOptionsUnion&& u) FLATBUFFERS_NOEXCEPT : + type(BuiltinOptions_NONE), value(nullptr) + { std::swap(type, u.type); std::swap(value, u.value); } + BuiltinOptionsUnion(const BuiltinOptionsUnion &); + BuiltinOptionsUnion &operator=(const BuiltinOptionsUnion &u) + { BuiltinOptionsUnion t(u); std::swap(type, t.type); std::swap(value, t.value); return *this; } + BuiltinOptionsUnion &operator=(BuiltinOptionsUnion &&u) FLATBUFFERS_NOEXCEPT + { std::swap(type, u.type); std::swap(value, u.value); return *this; } + ~BuiltinOptionsUnion() { Reset(); } + + void Reset(); + +#ifndef FLATBUFFERS_CPP98_STL + template + void Set(T&& val) { + using RT = typename std::remove_reference::type; + Reset(); + type = BuiltinOptionsTraits::enum_value; + if (type != BuiltinOptions_NONE) { + value = new RT(std::forward(val)); + } + } +#endif // FLATBUFFERS_CPP98_STL + + static void *UnPack(const void *obj, BuiltinOptions type, const flatbuffers::resolver_function_t *resolver); + flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher = nullptr) const; + + tflite::Conv2DOptionsT *AsConv2DOptions() { + return type == BuiltinOptions_Conv2DOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::Conv2DOptionsT *AsConv2DOptions() const { + return type == BuiltinOptions_Conv2DOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::DepthwiseConv2DOptionsT *AsDepthwiseConv2DOptions() { + return type == BuiltinOptions_DepthwiseConv2DOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::DepthwiseConv2DOptionsT *AsDepthwiseConv2DOptions() const { + return type == BuiltinOptions_DepthwiseConv2DOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::ConcatEmbeddingsOptionsT *AsConcatEmbeddingsOptions() { + return type == BuiltinOptions_ConcatEmbeddingsOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::ConcatEmbeddingsOptionsT *AsConcatEmbeddingsOptions() const { + return type == BuiltinOptions_ConcatEmbeddingsOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::LSHProjectionOptionsT *AsLSHProjectionOptions() { + return type == BuiltinOptions_LSHProjectionOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::LSHProjectionOptionsT *AsLSHProjectionOptions() const { + return type == BuiltinOptions_LSHProjectionOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::Pool2DOptionsT *AsPool2DOptions() { + return type == BuiltinOptions_Pool2DOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::Pool2DOptionsT *AsPool2DOptions() const { + return type == BuiltinOptions_Pool2DOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::SVDFOptionsT *AsSVDFOptions() { + return type == BuiltinOptions_SVDFOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::SVDFOptionsT *AsSVDFOptions() const { + return type == BuiltinOptions_SVDFOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::RNNOptionsT *AsRNNOptions() { + return type == BuiltinOptions_RNNOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::RNNOptionsT *AsRNNOptions() const { + return type == BuiltinOptions_RNNOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::FullyConnectedOptionsT *AsFullyConnectedOptions() { + return type == BuiltinOptions_FullyConnectedOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::FullyConnectedOptionsT *AsFullyConnectedOptions() const { + return type == BuiltinOptions_FullyConnectedOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::SoftmaxOptionsT *AsSoftmaxOptions() { + return type == BuiltinOptions_SoftmaxOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::SoftmaxOptionsT *AsSoftmaxOptions() const { + return type == BuiltinOptions_SoftmaxOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::ConcatenationOptionsT *AsConcatenationOptions() { + return type == BuiltinOptions_ConcatenationOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::ConcatenationOptionsT *AsConcatenationOptions() const { + return type == BuiltinOptions_ConcatenationOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::AddOptionsT *AsAddOptions() { + return type == BuiltinOptions_AddOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::AddOptionsT *AsAddOptions() const { + return type == BuiltinOptions_AddOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::L2NormOptionsT *AsL2NormOptions() { + return type == BuiltinOptions_L2NormOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::L2NormOptionsT *AsL2NormOptions() const { + return type == BuiltinOptions_L2NormOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::LocalResponseNormalizationOptionsT *AsLocalResponseNormalizationOptions() { + return type == BuiltinOptions_LocalResponseNormalizationOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::LocalResponseNormalizationOptionsT *AsLocalResponseNormalizationOptions() const { + return type == BuiltinOptions_LocalResponseNormalizationOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::LSTMOptionsT *AsLSTMOptions() { + return type == BuiltinOptions_LSTMOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::LSTMOptionsT *AsLSTMOptions() const { + return type == BuiltinOptions_LSTMOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::ResizeBilinearOptionsT *AsResizeBilinearOptions() { + return type == BuiltinOptions_ResizeBilinearOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::ResizeBilinearOptionsT *AsResizeBilinearOptions() const { + return type == BuiltinOptions_ResizeBilinearOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::CallOptionsT *AsCallOptions() { + return type == BuiltinOptions_CallOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::CallOptionsT *AsCallOptions() const { + return type == BuiltinOptions_CallOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::ReshapeOptionsT *AsReshapeOptions() { + return type == BuiltinOptions_ReshapeOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::ReshapeOptionsT *AsReshapeOptions() const { + return type == BuiltinOptions_ReshapeOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::SkipGramOptionsT *AsSkipGramOptions() { + return type == BuiltinOptions_SkipGramOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::SkipGramOptionsT *AsSkipGramOptions() const { + return type == BuiltinOptions_SkipGramOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::SpaceToDepthOptionsT *AsSpaceToDepthOptions() { + return type == BuiltinOptions_SpaceToDepthOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::SpaceToDepthOptionsT *AsSpaceToDepthOptions() const { + return type == BuiltinOptions_SpaceToDepthOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::EmbeddingLookupSparseOptionsT *AsEmbeddingLookupSparseOptions() { + return type == BuiltinOptions_EmbeddingLookupSparseOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::EmbeddingLookupSparseOptionsT *AsEmbeddingLookupSparseOptions() const { + return type == BuiltinOptions_EmbeddingLookupSparseOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::MulOptionsT *AsMulOptions() { + return type == BuiltinOptions_MulOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::MulOptionsT *AsMulOptions() const { + return type == BuiltinOptions_MulOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::PadOptionsT *AsPadOptions() { + return type == BuiltinOptions_PadOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::PadOptionsT *AsPadOptions() const { + return type == BuiltinOptions_PadOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::GatherOptionsT *AsGatherOptions() { + return type == BuiltinOptions_GatherOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::GatherOptionsT *AsGatherOptions() const { + return type == BuiltinOptions_GatherOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::BatchToSpaceNDOptionsT *AsBatchToSpaceNDOptions() { + return type == BuiltinOptions_BatchToSpaceNDOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::BatchToSpaceNDOptionsT *AsBatchToSpaceNDOptions() const { + return type == BuiltinOptions_BatchToSpaceNDOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::SpaceToBatchNDOptionsT *AsSpaceToBatchNDOptions() { + return type == BuiltinOptions_SpaceToBatchNDOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::SpaceToBatchNDOptionsT *AsSpaceToBatchNDOptions() const { + return type == BuiltinOptions_SpaceToBatchNDOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::TransposeOptionsT *AsTransposeOptions() { + return type == BuiltinOptions_TransposeOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::TransposeOptionsT *AsTransposeOptions() const { + return type == BuiltinOptions_TransposeOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::ReducerOptionsT *AsReducerOptions() { + return type == BuiltinOptions_ReducerOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::ReducerOptionsT *AsReducerOptions() const { + return type == BuiltinOptions_ReducerOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::SubOptionsT *AsSubOptions() { + return type == BuiltinOptions_SubOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::SubOptionsT *AsSubOptions() const { + return type == BuiltinOptions_SubOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::DivOptionsT *AsDivOptions() { + return type == BuiltinOptions_DivOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::DivOptionsT *AsDivOptions() const { + return type == BuiltinOptions_DivOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::SqueezeOptionsT *AsSqueezeOptions() { + return type == BuiltinOptions_SqueezeOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::SqueezeOptionsT *AsSqueezeOptions() const { + return type == BuiltinOptions_SqueezeOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::SequenceRNNOptionsT *AsSequenceRNNOptions() { + return type == BuiltinOptions_SequenceRNNOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::SequenceRNNOptionsT *AsSequenceRNNOptions() const { + return type == BuiltinOptions_SequenceRNNOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::StridedSliceOptionsT *AsStridedSliceOptions() { + return type == BuiltinOptions_StridedSliceOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::StridedSliceOptionsT *AsStridedSliceOptions() const { + return type == BuiltinOptions_StridedSliceOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::ExpOptionsT *AsExpOptions() { + return type == BuiltinOptions_ExpOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::ExpOptionsT *AsExpOptions() const { + return type == BuiltinOptions_ExpOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::TopKV2OptionsT *AsTopKV2Options() { + return type == BuiltinOptions_TopKV2Options ? + reinterpret_cast(value) : nullptr; + } + const tflite::TopKV2OptionsT *AsTopKV2Options() const { + return type == BuiltinOptions_TopKV2Options ? + reinterpret_cast(value) : nullptr; + } + tflite::SplitOptionsT *AsSplitOptions() { + return type == BuiltinOptions_SplitOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::SplitOptionsT *AsSplitOptions() const { + return type == BuiltinOptions_SplitOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::LogSoftmaxOptionsT *AsLogSoftmaxOptions() { + return type == BuiltinOptions_LogSoftmaxOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::LogSoftmaxOptionsT *AsLogSoftmaxOptions() const { + return type == BuiltinOptions_LogSoftmaxOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::CastOptionsT *AsCastOptions() { + return type == BuiltinOptions_CastOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::CastOptionsT *AsCastOptions() const { + return type == BuiltinOptions_CastOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::DequantizeOptionsT *AsDequantizeOptions() { + return type == BuiltinOptions_DequantizeOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::DequantizeOptionsT *AsDequantizeOptions() const { + return type == BuiltinOptions_DequantizeOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::MaximumMinimumOptionsT *AsMaximumMinimumOptions() { + return type == BuiltinOptions_MaximumMinimumOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::MaximumMinimumOptionsT *AsMaximumMinimumOptions() const { + return type == BuiltinOptions_MaximumMinimumOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::ArgMaxOptionsT *AsArgMaxOptions() { + return type == BuiltinOptions_ArgMaxOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::ArgMaxOptionsT *AsArgMaxOptions() const { + return type == BuiltinOptions_ArgMaxOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::LessOptionsT *AsLessOptions() { + return type == BuiltinOptions_LessOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::LessOptionsT *AsLessOptions() const { + return type == BuiltinOptions_LessOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::NegOptionsT *AsNegOptions() { + return type == BuiltinOptions_NegOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::NegOptionsT *AsNegOptions() const { + return type == BuiltinOptions_NegOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::PadV2OptionsT *AsPadV2Options() { + return type == BuiltinOptions_PadV2Options ? + reinterpret_cast(value) : nullptr; + } + const tflite::PadV2OptionsT *AsPadV2Options() const { + return type == BuiltinOptions_PadV2Options ? + reinterpret_cast(value) : nullptr; + } + tflite::GreaterOptionsT *AsGreaterOptions() { + return type == BuiltinOptions_GreaterOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::GreaterOptionsT *AsGreaterOptions() const { + return type == BuiltinOptions_GreaterOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::GreaterEqualOptionsT *AsGreaterEqualOptions() { + return type == BuiltinOptions_GreaterEqualOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::GreaterEqualOptionsT *AsGreaterEqualOptions() const { + return type == BuiltinOptions_GreaterEqualOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::LessEqualOptionsT *AsLessEqualOptions() { + return type == BuiltinOptions_LessEqualOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::LessEqualOptionsT *AsLessEqualOptions() const { + return type == BuiltinOptions_LessEqualOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::SelectOptionsT *AsSelectOptions() { + return type == BuiltinOptions_SelectOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::SelectOptionsT *AsSelectOptions() const { + return type == BuiltinOptions_SelectOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::SliceOptionsT *AsSliceOptions() { + return type == BuiltinOptions_SliceOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::SliceOptionsT *AsSliceOptions() const { + return type == BuiltinOptions_SliceOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::TransposeConvOptionsT *AsTransposeConvOptions() { + return type == BuiltinOptions_TransposeConvOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::TransposeConvOptionsT *AsTransposeConvOptions() const { + return type == BuiltinOptions_TransposeConvOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::SparseToDenseOptionsT *AsSparseToDenseOptions() { + return type == BuiltinOptions_SparseToDenseOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::SparseToDenseOptionsT *AsSparseToDenseOptions() const { + return type == BuiltinOptions_SparseToDenseOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::TileOptionsT *AsTileOptions() { + return type == BuiltinOptions_TileOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::TileOptionsT *AsTileOptions() const { + return type == BuiltinOptions_TileOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::ExpandDimsOptionsT *AsExpandDimsOptions() { + return type == BuiltinOptions_ExpandDimsOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::ExpandDimsOptionsT *AsExpandDimsOptions() const { + return type == BuiltinOptions_ExpandDimsOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::EqualOptionsT *AsEqualOptions() { + return type == BuiltinOptions_EqualOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::EqualOptionsT *AsEqualOptions() const { + return type == BuiltinOptions_EqualOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::NotEqualOptionsT *AsNotEqualOptions() { + return type == BuiltinOptions_NotEqualOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::NotEqualOptionsT *AsNotEqualOptions() const { + return type == BuiltinOptions_NotEqualOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::ShapeOptionsT *AsShapeOptions() { + return type == BuiltinOptions_ShapeOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::ShapeOptionsT *AsShapeOptions() const { + return type == BuiltinOptions_ShapeOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::PowOptionsT *AsPowOptions() { + return type == BuiltinOptions_PowOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::PowOptionsT *AsPowOptions() const { + return type == BuiltinOptions_PowOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::ArgMinOptionsT *AsArgMinOptions() { + return type == BuiltinOptions_ArgMinOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::ArgMinOptionsT *AsArgMinOptions() const { + return type == BuiltinOptions_ArgMinOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::FakeQuantOptionsT *AsFakeQuantOptions() { + return type == BuiltinOptions_FakeQuantOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::FakeQuantOptionsT *AsFakeQuantOptions() const { + return type == BuiltinOptions_FakeQuantOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::PackOptionsT *AsPackOptions() { + return type == BuiltinOptions_PackOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::PackOptionsT *AsPackOptions() const { + return type == BuiltinOptions_PackOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::LogicalOrOptionsT *AsLogicalOrOptions() { + return type == BuiltinOptions_LogicalOrOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::LogicalOrOptionsT *AsLogicalOrOptions() const { + return type == BuiltinOptions_LogicalOrOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::OneHotOptionsT *AsOneHotOptions() { + return type == BuiltinOptions_OneHotOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::OneHotOptionsT *AsOneHotOptions() const { + return type == BuiltinOptions_OneHotOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::LogicalAndOptionsT *AsLogicalAndOptions() { + return type == BuiltinOptions_LogicalAndOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::LogicalAndOptionsT *AsLogicalAndOptions() const { + return type == BuiltinOptions_LogicalAndOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::LogicalNotOptionsT *AsLogicalNotOptions() { + return type == BuiltinOptions_LogicalNotOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::LogicalNotOptionsT *AsLogicalNotOptions() const { + return type == BuiltinOptions_LogicalNotOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::UnpackOptionsT *AsUnpackOptions() { + return type == BuiltinOptions_UnpackOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::UnpackOptionsT *AsUnpackOptions() const { + return type == BuiltinOptions_UnpackOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::FloorDivOptionsT *AsFloorDivOptions() { + return type == BuiltinOptions_FloorDivOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::FloorDivOptionsT *AsFloorDivOptions() const { + return type == BuiltinOptions_FloorDivOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::SquareOptionsT *AsSquareOptions() { + return type == BuiltinOptions_SquareOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::SquareOptionsT *AsSquareOptions() const { + return type == BuiltinOptions_SquareOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::ZerosLikeOptionsT *AsZerosLikeOptions() { + return type == BuiltinOptions_ZerosLikeOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::ZerosLikeOptionsT *AsZerosLikeOptions() const { + return type == BuiltinOptions_ZerosLikeOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::FillOptionsT *AsFillOptions() { + return type == BuiltinOptions_FillOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::FillOptionsT *AsFillOptions() const { + return type == BuiltinOptions_FillOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::BidirectionalSequenceLSTMOptionsT *AsBidirectionalSequenceLSTMOptions() { + return type == BuiltinOptions_BidirectionalSequenceLSTMOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::BidirectionalSequenceLSTMOptionsT *AsBidirectionalSequenceLSTMOptions() const { + return type == BuiltinOptions_BidirectionalSequenceLSTMOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::BidirectionalSequenceRNNOptionsT *AsBidirectionalSequenceRNNOptions() { + return type == BuiltinOptions_BidirectionalSequenceRNNOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::BidirectionalSequenceRNNOptionsT *AsBidirectionalSequenceRNNOptions() const { + return type == BuiltinOptions_BidirectionalSequenceRNNOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::UnidirectionalSequenceLSTMOptionsT *AsUnidirectionalSequenceLSTMOptions() { + return type == BuiltinOptions_UnidirectionalSequenceLSTMOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::UnidirectionalSequenceLSTMOptionsT *AsUnidirectionalSequenceLSTMOptions() const { + return type == BuiltinOptions_UnidirectionalSequenceLSTMOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::FloorModOptionsT *AsFloorModOptions() { + return type == BuiltinOptions_FloorModOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::FloorModOptionsT *AsFloorModOptions() const { + return type == BuiltinOptions_FloorModOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::RangeOptionsT *AsRangeOptions() { + return type == BuiltinOptions_RangeOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::RangeOptionsT *AsRangeOptions() const { + return type == BuiltinOptions_RangeOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::ResizeNearestNeighborOptionsT *AsResizeNearestNeighborOptions() { + return type == BuiltinOptions_ResizeNearestNeighborOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::ResizeNearestNeighborOptionsT *AsResizeNearestNeighborOptions() const { + return type == BuiltinOptions_ResizeNearestNeighborOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::LeakyReluOptionsT *AsLeakyReluOptions() { + return type == BuiltinOptions_LeakyReluOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::LeakyReluOptionsT *AsLeakyReluOptions() const { + return type == BuiltinOptions_LeakyReluOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::SquaredDifferenceOptionsT *AsSquaredDifferenceOptions() { + return type == BuiltinOptions_SquaredDifferenceOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::SquaredDifferenceOptionsT *AsSquaredDifferenceOptions() const { + return type == BuiltinOptions_SquaredDifferenceOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::MirrorPadOptionsT *AsMirrorPadOptions() { + return type == BuiltinOptions_MirrorPadOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::MirrorPadOptionsT *AsMirrorPadOptions() const { + return type == BuiltinOptions_MirrorPadOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::AbsOptionsT *AsAbsOptions() { + return type == BuiltinOptions_AbsOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::AbsOptionsT *AsAbsOptions() const { + return type == BuiltinOptions_AbsOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::SplitVOptionsT *AsSplitVOptions() { + return type == BuiltinOptions_SplitVOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::SplitVOptionsT *AsSplitVOptions() const { + return type == BuiltinOptions_SplitVOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::UniqueOptionsT *AsUniqueOptions() { + return type == BuiltinOptions_UniqueOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::UniqueOptionsT *AsUniqueOptions() const { + return type == BuiltinOptions_UniqueOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::ReverseV2OptionsT *AsReverseV2Options() { + return type == BuiltinOptions_ReverseV2Options ? + reinterpret_cast(value) : nullptr; + } + const tflite::ReverseV2OptionsT *AsReverseV2Options() const { + return type == BuiltinOptions_ReverseV2Options ? + reinterpret_cast(value) : nullptr; + } + tflite::AddNOptionsT *AsAddNOptions() { + return type == BuiltinOptions_AddNOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::AddNOptionsT *AsAddNOptions() const { + return type == BuiltinOptions_AddNOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::GatherNdOptionsT *AsGatherNdOptions() { + return type == BuiltinOptions_GatherNdOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::GatherNdOptionsT *AsGatherNdOptions() const { + return type == BuiltinOptions_GatherNdOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::CosOptionsT *AsCosOptions() { + return type == BuiltinOptions_CosOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::CosOptionsT *AsCosOptions() const { + return type == BuiltinOptions_CosOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::WhereOptionsT *AsWhereOptions() { + return type == BuiltinOptions_WhereOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::WhereOptionsT *AsWhereOptions() const { + return type == BuiltinOptions_WhereOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::RankOptionsT *AsRankOptions() { + return type == BuiltinOptions_RankOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::RankOptionsT *AsRankOptions() const { + return type == BuiltinOptions_RankOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::ReverseSequenceOptionsT *AsReverseSequenceOptions() { + return type == BuiltinOptions_ReverseSequenceOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::ReverseSequenceOptionsT *AsReverseSequenceOptions() const { + return type == BuiltinOptions_ReverseSequenceOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::MatrixDiagOptionsT *AsMatrixDiagOptions() { + return type == BuiltinOptions_MatrixDiagOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::MatrixDiagOptionsT *AsMatrixDiagOptions() const { + return type == BuiltinOptions_MatrixDiagOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::QuantizeOptionsT *AsQuantizeOptions() { + return type == BuiltinOptions_QuantizeOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::QuantizeOptionsT *AsQuantizeOptions() const { + return type == BuiltinOptions_QuantizeOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::MatrixSetDiagOptionsT *AsMatrixSetDiagOptions() { + return type == BuiltinOptions_MatrixSetDiagOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::MatrixSetDiagOptionsT *AsMatrixSetDiagOptions() const { + return type == BuiltinOptions_MatrixSetDiagOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::HardSwishOptionsT *AsHardSwishOptions() { + return type == BuiltinOptions_HardSwishOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::HardSwishOptionsT *AsHardSwishOptions() const { + return type == BuiltinOptions_HardSwishOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::IfOptionsT *AsIfOptions() { + return type == BuiltinOptions_IfOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::IfOptionsT *AsIfOptions() const { + return type == BuiltinOptions_IfOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::WhileOptionsT *AsWhileOptions() { + return type == BuiltinOptions_WhileOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::WhileOptionsT *AsWhileOptions() const { + return type == BuiltinOptions_WhileOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::DepthToSpaceOptionsT *AsDepthToSpaceOptions() { + return type == BuiltinOptions_DepthToSpaceOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::DepthToSpaceOptionsT *AsDepthToSpaceOptions() const { + return type == BuiltinOptions_DepthToSpaceOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::NonMaxSuppressionV4OptionsT *AsNonMaxSuppressionV4Options() { + return type == BuiltinOptions_NonMaxSuppressionV4Options ? + reinterpret_cast(value) : nullptr; + } + const tflite::NonMaxSuppressionV4OptionsT *AsNonMaxSuppressionV4Options() const { + return type == BuiltinOptions_NonMaxSuppressionV4Options ? + reinterpret_cast(value) : nullptr; + } + tflite::NonMaxSuppressionV5OptionsT *AsNonMaxSuppressionV5Options() { + return type == BuiltinOptions_NonMaxSuppressionV5Options ? + reinterpret_cast(value) : nullptr; + } + const tflite::NonMaxSuppressionV5OptionsT *AsNonMaxSuppressionV5Options() const { + return type == BuiltinOptions_NonMaxSuppressionV5Options ? + reinterpret_cast(value) : nullptr; + } + tflite::ScatterNdOptionsT *AsScatterNdOptions() { + return type == BuiltinOptions_ScatterNdOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::ScatterNdOptionsT *AsScatterNdOptions() const { + return type == BuiltinOptions_ScatterNdOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::SelectV2OptionsT *AsSelectV2Options() { + return type == BuiltinOptions_SelectV2Options ? + reinterpret_cast(value) : nullptr; + } + const tflite::SelectV2OptionsT *AsSelectV2Options() const { + return type == BuiltinOptions_SelectV2Options ? + reinterpret_cast(value) : nullptr; + } + tflite::DensifyOptionsT *AsDensifyOptions() { + return type == BuiltinOptions_DensifyOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::DensifyOptionsT *AsDensifyOptions() const { + return type == BuiltinOptions_DensifyOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::SegmentSumOptionsT *AsSegmentSumOptions() { + return type == BuiltinOptions_SegmentSumOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::SegmentSumOptionsT *AsSegmentSumOptions() const { + return type == BuiltinOptions_SegmentSumOptions ? + reinterpret_cast(value) : nullptr; + } + tflite::BatchMatMulOptionsT *AsBatchMatMulOptions() { + return type == BuiltinOptions_BatchMatMulOptions ? + reinterpret_cast(value) : nullptr; + } + const tflite::BatchMatMulOptionsT *AsBatchMatMulOptions() const { + return type == BuiltinOptions_BatchMatMulOptions ? + reinterpret_cast(value) : nullptr; + } +}; + +bool VerifyBuiltinOptions(flatbuffers::Verifier &verifier, const void *obj, BuiltinOptions type); +bool VerifyBuiltinOptionsVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types); + +enum Padding : int8_t { + Padding_SAME = 0, + Padding_VALID = 1, + Padding_MIN = Padding_SAME, + Padding_MAX = Padding_VALID +}; + +inline const Padding (&EnumValuesPadding())[2] { + static const Padding values[] = { + Padding_SAME, + Padding_VALID + }; + return values; +} + +inline const char * const *EnumNamesPadding() { + static const char * const names[3] = { + "SAME", + "VALID", + nullptr + }; + return names; +} + +inline const char *EnumNamePadding(Padding e) { + if (flatbuffers::IsOutRange(e, Padding_SAME, Padding_VALID)) return ""; + const size_t index = static_cast(e); + return EnumNamesPadding()[index]; +} + +enum ActivationFunctionType : int8_t { + ActivationFunctionType_NONE = 0, + ActivationFunctionType_RELU = 1, + ActivationFunctionType_RELU_N1_TO_1 = 2, + ActivationFunctionType_RELU6 = 3, + ActivationFunctionType_TANH = 4, + ActivationFunctionType_SIGN_BIT = 5, + ActivationFunctionType_MIN = ActivationFunctionType_NONE, + ActivationFunctionType_MAX = ActivationFunctionType_SIGN_BIT +}; + +inline const ActivationFunctionType (&EnumValuesActivationFunctionType())[6] { + static const ActivationFunctionType values[] = { + ActivationFunctionType_NONE, + ActivationFunctionType_RELU, + ActivationFunctionType_RELU_N1_TO_1, + ActivationFunctionType_RELU6, + ActivationFunctionType_TANH, + ActivationFunctionType_SIGN_BIT + }; + return values; +} + +inline const char * const *EnumNamesActivationFunctionType() { + static const char * const names[7] = { + "NONE", + "RELU", + "RELU_N1_TO_1", + "RELU6", + "TANH", + "SIGN_BIT", + nullptr + }; + return names; +} + +inline const char *EnumNameActivationFunctionType(ActivationFunctionType e) { + if (flatbuffers::IsOutRange(e, ActivationFunctionType_NONE, ActivationFunctionType_SIGN_BIT)) return ""; + const size_t index = static_cast(e); + return EnumNamesActivationFunctionType()[index]; +} + +enum LSHProjectionType : int8_t { + LSHProjectionType_UNKNOWN = 0, + LSHProjectionType_SPARSE = 1, + LSHProjectionType_DENSE = 2, + LSHProjectionType_MIN = LSHProjectionType_UNKNOWN, + LSHProjectionType_MAX = LSHProjectionType_DENSE +}; + +inline const LSHProjectionType (&EnumValuesLSHProjectionType())[3] { + static const LSHProjectionType values[] = { + LSHProjectionType_UNKNOWN, + LSHProjectionType_SPARSE, + LSHProjectionType_DENSE + }; + return values; +} + +inline const char * const *EnumNamesLSHProjectionType() { + static const char * const names[4] = { + "UNKNOWN", + "SPARSE", + "DENSE", + nullptr + }; + return names; +} + +inline const char *EnumNameLSHProjectionType(LSHProjectionType e) { + if (flatbuffers::IsOutRange(e, LSHProjectionType_UNKNOWN, LSHProjectionType_DENSE)) return ""; + const size_t index = static_cast(e); + return EnumNamesLSHProjectionType()[index]; +} + +enum FullyConnectedOptionsWeightsFormat : int8_t { + FullyConnectedOptionsWeightsFormat_DEFAULT = 0, + FullyConnectedOptionsWeightsFormat_SHUFFLED4x16INT8 = 1, + FullyConnectedOptionsWeightsFormat_MIN = FullyConnectedOptionsWeightsFormat_DEFAULT, + FullyConnectedOptionsWeightsFormat_MAX = FullyConnectedOptionsWeightsFormat_SHUFFLED4x16INT8 +}; + +inline const FullyConnectedOptionsWeightsFormat (&EnumValuesFullyConnectedOptionsWeightsFormat())[2] { + static const FullyConnectedOptionsWeightsFormat values[] = { + FullyConnectedOptionsWeightsFormat_DEFAULT, + FullyConnectedOptionsWeightsFormat_SHUFFLED4x16INT8 + }; + return values; +} + +inline const char * const *EnumNamesFullyConnectedOptionsWeightsFormat() { + static const char * const names[3] = { + "DEFAULT", + "SHUFFLED4x16INT8", + nullptr + }; + return names; +} + +inline const char *EnumNameFullyConnectedOptionsWeightsFormat(FullyConnectedOptionsWeightsFormat e) { + if (flatbuffers::IsOutRange(e, FullyConnectedOptionsWeightsFormat_DEFAULT, FullyConnectedOptionsWeightsFormat_SHUFFLED4x16INT8)) return ""; + const size_t index = static_cast(e); + return EnumNamesFullyConnectedOptionsWeightsFormat()[index]; +} + +enum LSTMKernelType : int8_t { + LSTMKernelType_FULL = 0, + LSTMKernelType_BASIC = 1, + LSTMKernelType_MIN = LSTMKernelType_FULL, + LSTMKernelType_MAX = LSTMKernelType_BASIC +}; + +inline const LSTMKernelType (&EnumValuesLSTMKernelType())[2] { + static const LSTMKernelType values[] = { + LSTMKernelType_FULL, + LSTMKernelType_BASIC + }; + return values; +} + +inline const char * const *EnumNamesLSTMKernelType() { + static const char * const names[3] = { + "FULL", + "BASIC", + nullptr + }; + return names; +} + +inline const char *EnumNameLSTMKernelType(LSTMKernelType e) { + if (flatbuffers::IsOutRange(e, LSTMKernelType_FULL, LSTMKernelType_BASIC)) return ""; + const size_t index = static_cast(e); + return EnumNamesLSTMKernelType()[index]; +} + +enum CombinerType : int8_t { + CombinerType_SUM = 0, + CombinerType_MEAN = 1, + CombinerType_SQRTN = 2, + CombinerType_MIN = CombinerType_SUM, + CombinerType_MAX = CombinerType_SQRTN +}; + +inline const CombinerType (&EnumValuesCombinerType())[3] { + static const CombinerType values[] = { + CombinerType_SUM, + CombinerType_MEAN, + CombinerType_SQRTN + }; + return values; +} + +inline const char * const *EnumNamesCombinerType() { + static const char * const names[4] = { + "SUM", + "MEAN", + "SQRTN", + nullptr + }; + return names; +} + +inline const char *EnumNameCombinerType(CombinerType e) { + if (flatbuffers::IsOutRange(e, CombinerType_SUM, CombinerType_SQRTN)) return ""; + const size_t index = static_cast(e); + return EnumNamesCombinerType()[index]; +} + +enum MirrorPadMode : int8_t { + MirrorPadMode_REFLECT = 0, + MirrorPadMode_SYMMETRIC = 1, + MirrorPadMode_MIN = MirrorPadMode_REFLECT, + MirrorPadMode_MAX = MirrorPadMode_SYMMETRIC +}; + +inline const MirrorPadMode (&EnumValuesMirrorPadMode())[2] { + static const MirrorPadMode values[] = { + MirrorPadMode_REFLECT, + MirrorPadMode_SYMMETRIC + }; + return values; +} + +inline const char * const *EnumNamesMirrorPadMode() { + static const char * const names[3] = { + "REFLECT", + "SYMMETRIC", + nullptr + }; + return names; +} + +inline const char *EnumNameMirrorPadMode(MirrorPadMode e) { + if (flatbuffers::IsOutRange(e, MirrorPadMode_REFLECT, MirrorPadMode_SYMMETRIC)) return ""; + const size_t index = static_cast(e); + return EnumNamesMirrorPadMode()[index]; +} + +enum CustomOptionsFormat : int8_t { + CustomOptionsFormat_FLEXBUFFERS = 0, + CustomOptionsFormat_MIN = CustomOptionsFormat_FLEXBUFFERS, + CustomOptionsFormat_MAX = CustomOptionsFormat_FLEXBUFFERS +}; + +inline const CustomOptionsFormat (&EnumValuesCustomOptionsFormat())[1] { + static const CustomOptionsFormat values[] = { + CustomOptionsFormat_FLEXBUFFERS + }; + return values; +} + +inline const char * const *EnumNamesCustomOptionsFormat() { + static const char * const names[2] = { + "FLEXBUFFERS", + nullptr + }; + return names; +} + +inline const char *EnumNameCustomOptionsFormat(CustomOptionsFormat e) { + if (flatbuffers::IsOutRange(e, CustomOptionsFormat_FLEXBUFFERS, CustomOptionsFormat_FLEXBUFFERS)) return ""; + const size_t index = static_cast(e); + return EnumNamesCustomOptionsFormat()[index]; +} + +struct CustomQuantizationT : public flatbuffers::NativeTable { + typedef CustomQuantization TableType; + std::vector custom{}; +}; + +struct CustomQuantization FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CustomQuantizationT NativeTableType; + typedef CustomQuantizationBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return CustomQuantizationTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_CUSTOM = 4 + }; + const flatbuffers::Vector *custom() const { + return GetPointer *>(VT_CUSTOM); + } + flatbuffers::Vector *mutable_custom() { + return GetPointer *>(VT_CUSTOM); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_CUSTOM) && + verifier.VerifyVector(custom()) && + verifier.EndTable(); + } + CustomQuantizationT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(CustomQuantizationT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const CustomQuantizationT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct CustomQuantizationBuilder { + typedef CustomQuantization Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_custom(flatbuffers::Offset> custom) { + fbb_.AddOffset(CustomQuantization::VT_CUSTOM, custom); + } + explicit CustomQuantizationBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateCustomQuantization( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> custom = 0) { + CustomQuantizationBuilder builder_(_fbb); + builder_.add_custom(custom); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateCustomQuantizationDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *custom = nullptr) { + if (custom) { _fbb.ForceVectorAlignment(custom->size(), sizeof(uint8_t), 16); } + auto custom__ = custom ? _fbb.CreateVector(*custom) : 0; + return tflite::CreateCustomQuantization( + _fbb, + custom__); +} + +flatbuffers::Offset CreateCustomQuantization(flatbuffers::FlatBufferBuilder &_fbb, const CustomQuantizationT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct QuantizationParametersT : public flatbuffers::NativeTable { + typedef QuantizationParameters TableType; + std::vector min{}; + std::vector max{}; + std::vector scale{}; + std::vector zero_point{}; + tflite::QuantizationDetailsUnion details{}; + int32_t quantized_dimension = 0; +}; + +struct QuantizationParameters FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef QuantizationParametersT NativeTableType; + typedef QuantizationParametersBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return QuantizationParametersTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_MIN = 4, + VT_MAX = 6, + VT_SCALE = 8, + VT_ZERO_POINT = 10, + VT_DETAILS_TYPE = 12, + VT_DETAILS = 14, + VT_QUANTIZED_DIMENSION = 16 + }; + const flatbuffers::Vector *min() const { + return GetPointer *>(VT_MIN); + } + flatbuffers::Vector *mutable_min() { + return GetPointer *>(VT_MIN); + } + const flatbuffers::Vector *max() const { + return GetPointer *>(VT_MAX); + } + flatbuffers::Vector *mutable_max() { + return GetPointer *>(VT_MAX); + } + const flatbuffers::Vector *scale() const { + return GetPointer *>(VT_SCALE); + } + flatbuffers::Vector *mutable_scale() { + return GetPointer *>(VT_SCALE); + } + const flatbuffers::Vector *zero_point() const { + return GetPointer *>(VT_ZERO_POINT); + } + flatbuffers::Vector *mutable_zero_point() { + return GetPointer *>(VT_ZERO_POINT); + } + tflite::QuantizationDetails details_type() const { + return static_cast(GetField(VT_DETAILS_TYPE, 0)); + } + const void *details() const { + return GetPointer(VT_DETAILS); + } + template const T *details_as() const; + const tflite::CustomQuantization *details_as_CustomQuantization() const { + return details_type() == tflite::QuantizationDetails_CustomQuantization ? static_cast(details()) : nullptr; + } + void *mutable_details() { + return GetPointer(VT_DETAILS); + } + int32_t quantized_dimension() const { + return GetField(VT_QUANTIZED_DIMENSION, 0); + } + bool mutate_quantized_dimension(int32_t _quantized_dimension) { + return SetField(VT_QUANTIZED_DIMENSION, _quantized_dimension, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_MIN) && + verifier.VerifyVector(min()) && + VerifyOffset(verifier, VT_MAX) && + verifier.VerifyVector(max()) && + VerifyOffset(verifier, VT_SCALE) && + verifier.VerifyVector(scale()) && + VerifyOffset(verifier, VT_ZERO_POINT) && + verifier.VerifyVector(zero_point()) && + VerifyField(verifier, VT_DETAILS_TYPE) && + VerifyOffset(verifier, VT_DETAILS) && + VerifyQuantizationDetails(verifier, details(), details_type()) && + VerifyField(verifier, VT_QUANTIZED_DIMENSION) && + verifier.EndTable(); + } + QuantizationParametersT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(QuantizationParametersT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const QuantizationParametersT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +template<> inline const tflite::CustomQuantization *QuantizationParameters::details_as() const { + return details_as_CustomQuantization(); +} + +struct QuantizationParametersBuilder { + typedef QuantizationParameters Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_min(flatbuffers::Offset> min) { + fbb_.AddOffset(QuantizationParameters::VT_MIN, min); + } + void add_max(flatbuffers::Offset> max) { + fbb_.AddOffset(QuantizationParameters::VT_MAX, max); + } + void add_scale(flatbuffers::Offset> scale) { + fbb_.AddOffset(QuantizationParameters::VT_SCALE, scale); + } + void add_zero_point(flatbuffers::Offset> zero_point) { + fbb_.AddOffset(QuantizationParameters::VT_ZERO_POINT, zero_point); + } + void add_details_type(tflite::QuantizationDetails details_type) { + fbb_.AddElement(QuantizationParameters::VT_DETAILS_TYPE, static_cast(details_type), 0); + } + void add_details(flatbuffers::Offset details) { + fbb_.AddOffset(QuantizationParameters::VT_DETAILS, details); + } + void add_quantized_dimension(int32_t quantized_dimension) { + fbb_.AddElement(QuantizationParameters::VT_QUANTIZED_DIMENSION, quantized_dimension, 0); + } + explicit QuantizationParametersBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateQuantizationParameters( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> min = 0, + flatbuffers::Offset> max = 0, + flatbuffers::Offset> scale = 0, + flatbuffers::Offset> zero_point = 0, + tflite::QuantizationDetails details_type = tflite::QuantizationDetails_NONE, + flatbuffers::Offset details = 0, + int32_t quantized_dimension = 0) { + QuantizationParametersBuilder builder_(_fbb); + builder_.add_quantized_dimension(quantized_dimension); + builder_.add_details(details); + builder_.add_zero_point(zero_point); + builder_.add_scale(scale); + builder_.add_max(max); + builder_.add_min(min); + builder_.add_details_type(details_type); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateQuantizationParametersDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *min = nullptr, + const std::vector *max = nullptr, + const std::vector *scale = nullptr, + const std::vector *zero_point = nullptr, + tflite::QuantizationDetails details_type = tflite::QuantizationDetails_NONE, + flatbuffers::Offset details = 0, + int32_t quantized_dimension = 0) { + auto min__ = min ? _fbb.CreateVector(*min) : 0; + auto max__ = max ? _fbb.CreateVector(*max) : 0; + auto scale__ = scale ? _fbb.CreateVector(*scale) : 0; + auto zero_point__ = zero_point ? _fbb.CreateVector(*zero_point) : 0; + return tflite::CreateQuantizationParameters( + _fbb, + min__, + max__, + scale__, + zero_point__, + details_type, + details, + quantized_dimension); +} + +flatbuffers::Offset CreateQuantizationParameters(flatbuffers::FlatBufferBuilder &_fbb, const QuantizationParametersT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct Int32VectorT : public flatbuffers::NativeTable { + typedef Int32Vector TableType; + std::vector values{}; +}; + +struct Int32Vector FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef Int32VectorT NativeTableType; + typedef Int32VectorBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return Int32VectorTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_VALUES = 4 + }; + const flatbuffers::Vector *values() const { + return GetPointer *>(VT_VALUES); + } + flatbuffers::Vector *mutable_values() { + return GetPointer *>(VT_VALUES); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_VALUES) && + verifier.VerifyVector(values()) && + verifier.EndTable(); + } + Int32VectorT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(Int32VectorT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const Int32VectorT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct Int32VectorBuilder { + typedef Int32Vector Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_values(flatbuffers::Offset> values) { + fbb_.AddOffset(Int32Vector::VT_VALUES, values); + } + explicit Int32VectorBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateInt32Vector( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> values = 0) { + Int32VectorBuilder builder_(_fbb); + builder_.add_values(values); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateInt32VectorDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *values = nullptr) { + auto values__ = values ? _fbb.CreateVector(*values) : 0; + return tflite::CreateInt32Vector( + _fbb, + values__); +} + +flatbuffers::Offset CreateInt32Vector(flatbuffers::FlatBufferBuilder &_fbb, const Int32VectorT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct Uint16VectorT : public flatbuffers::NativeTable { + typedef Uint16Vector TableType; + std::vector values{}; +}; + +struct Uint16Vector FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef Uint16VectorT NativeTableType; + typedef Uint16VectorBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return Uint16VectorTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_VALUES = 4 + }; + const flatbuffers::Vector *values() const { + return GetPointer *>(VT_VALUES); + } + flatbuffers::Vector *mutable_values() { + return GetPointer *>(VT_VALUES); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_VALUES) && + verifier.VerifyVector(values()) && + verifier.EndTable(); + } + Uint16VectorT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(Uint16VectorT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const Uint16VectorT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct Uint16VectorBuilder { + typedef Uint16Vector Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_values(flatbuffers::Offset> values) { + fbb_.AddOffset(Uint16Vector::VT_VALUES, values); + } + explicit Uint16VectorBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateUint16Vector( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> values = 0) { + Uint16VectorBuilder builder_(_fbb); + builder_.add_values(values); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateUint16VectorDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *values = nullptr) { + if (values) { _fbb.ForceVectorAlignment(values->size(), sizeof(uint16_t), 4); } + auto values__ = values ? _fbb.CreateVector(*values) : 0; + return tflite::CreateUint16Vector( + _fbb, + values__); +} + +flatbuffers::Offset CreateUint16Vector(flatbuffers::FlatBufferBuilder &_fbb, const Uint16VectorT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct Uint8VectorT : public flatbuffers::NativeTable { + typedef Uint8Vector TableType; + std::vector values{}; +}; + +struct Uint8Vector FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef Uint8VectorT NativeTableType; + typedef Uint8VectorBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return Uint8VectorTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_VALUES = 4 + }; + const flatbuffers::Vector *values() const { + return GetPointer *>(VT_VALUES); + } + flatbuffers::Vector *mutable_values() { + return GetPointer *>(VT_VALUES); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_VALUES) && + verifier.VerifyVector(values()) && + verifier.EndTable(); + } + Uint8VectorT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(Uint8VectorT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const Uint8VectorT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct Uint8VectorBuilder { + typedef Uint8Vector Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_values(flatbuffers::Offset> values) { + fbb_.AddOffset(Uint8Vector::VT_VALUES, values); + } + explicit Uint8VectorBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateUint8Vector( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> values = 0) { + Uint8VectorBuilder builder_(_fbb); + builder_.add_values(values); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateUint8VectorDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *values = nullptr) { + if (values) { _fbb.ForceVectorAlignment(values->size(), sizeof(uint8_t), 4); } + auto values__ = values ? _fbb.CreateVector(*values) : 0; + return tflite::CreateUint8Vector( + _fbb, + values__); +} + +flatbuffers::Offset CreateUint8Vector(flatbuffers::FlatBufferBuilder &_fbb, const Uint8VectorT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct DimensionMetadataT : public flatbuffers::NativeTable { + typedef DimensionMetadata TableType; + tflite::DimensionType format = tflite::DimensionType_DENSE; + int32_t dense_size = 0; + tflite::SparseIndexVectorUnion array_segments{}; + tflite::SparseIndexVectorUnion array_indices{}; +}; + +struct DimensionMetadata FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DimensionMetadataT NativeTableType; + typedef DimensionMetadataBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return DimensionMetadataTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FORMAT = 4, + VT_DENSE_SIZE = 6, + VT_ARRAY_SEGMENTS_TYPE = 8, + VT_ARRAY_SEGMENTS = 10, + VT_ARRAY_INDICES_TYPE = 12, + VT_ARRAY_INDICES = 14 + }; + tflite::DimensionType format() const { + return static_cast(GetField(VT_FORMAT, 0)); + } + bool mutate_format(tflite::DimensionType _format) { + return SetField(VT_FORMAT, static_cast(_format), 0); + } + int32_t dense_size() const { + return GetField(VT_DENSE_SIZE, 0); + } + bool mutate_dense_size(int32_t _dense_size) { + return SetField(VT_DENSE_SIZE, _dense_size, 0); + } + tflite::SparseIndexVector array_segments_type() const { + return static_cast(GetField(VT_ARRAY_SEGMENTS_TYPE, 0)); + } + const void *array_segments() const { + return GetPointer(VT_ARRAY_SEGMENTS); + } + template const T *array_segments_as() const; + const tflite::Int32Vector *array_segments_as_Int32Vector() const { + return array_segments_type() == tflite::SparseIndexVector_Int32Vector ? static_cast(array_segments()) : nullptr; + } + const tflite::Uint16Vector *array_segments_as_Uint16Vector() const { + return array_segments_type() == tflite::SparseIndexVector_Uint16Vector ? static_cast(array_segments()) : nullptr; + } + const tflite::Uint8Vector *array_segments_as_Uint8Vector() const { + return array_segments_type() == tflite::SparseIndexVector_Uint8Vector ? static_cast(array_segments()) : nullptr; + } + void *mutable_array_segments() { + return GetPointer(VT_ARRAY_SEGMENTS); + } + tflite::SparseIndexVector array_indices_type() const { + return static_cast(GetField(VT_ARRAY_INDICES_TYPE, 0)); + } + const void *array_indices() const { + return GetPointer(VT_ARRAY_INDICES); + } + template const T *array_indices_as() const; + const tflite::Int32Vector *array_indices_as_Int32Vector() const { + return array_indices_type() == tflite::SparseIndexVector_Int32Vector ? static_cast(array_indices()) : nullptr; + } + const tflite::Uint16Vector *array_indices_as_Uint16Vector() const { + return array_indices_type() == tflite::SparseIndexVector_Uint16Vector ? static_cast(array_indices()) : nullptr; + } + const tflite::Uint8Vector *array_indices_as_Uint8Vector() const { + return array_indices_type() == tflite::SparseIndexVector_Uint8Vector ? static_cast(array_indices()) : nullptr; + } + void *mutable_array_indices() { + return GetPointer(VT_ARRAY_INDICES); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FORMAT) && + VerifyField(verifier, VT_DENSE_SIZE) && + VerifyField(verifier, VT_ARRAY_SEGMENTS_TYPE) && + VerifyOffset(verifier, VT_ARRAY_SEGMENTS) && + VerifySparseIndexVector(verifier, array_segments(), array_segments_type()) && + VerifyField(verifier, VT_ARRAY_INDICES_TYPE) && + VerifyOffset(verifier, VT_ARRAY_INDICES) && + VerifySparseIndexVector(verifier, array_indices(), array_indices_type()) && + verifier.EndTable(); + } + DimensionMetadataT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(DimensionMetadataT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const DimensionMetadataT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +template<> inline const tflite::Int32Vector *DimensionMetadata::array_segments_as() const { + return array_segments_as_Int32Vector(); +} + +template<> inline const tflite::Uint16Vector *DimensionMetadata::array_segments_as() const { + return array_segments_as_Uint16Vector(); +} + +template<> inline const tflite::Uint8Vector *DimensionMetadata::array_segments_as() const { + return array_segments_as_Uint8Vector(); +} + +template<> inline const tflite::Int32Vector *DimensionMetadata::array_indices_as() const { + return array_indices_as_Int32Vector(); +} + +template<> inline const tflite::Uint16Vector *DimensionMetadata::array_indices_as() const { + return array_indices_as_Uint16Vector(); +} + +template<> inline const tflite::Uint8Vector *DimensionMetadata::array_indices_as() const { + return array_indices_as_Uint8Vector(); +} + +struct DimensionMetadataBuilder { + typedef DimensionMetadata Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_format(tflite::DimensionType format) { + fbb_.AddElement(DimensionMetadata::VT_FORMAT, static_cast(format), 0); + } + void add_dense_size(int32_t dense_size) { + fbb_.AddElement(DimensionMetadata::VT_DENSE_SIZE, dense_size, 0); + } + void add_array_segments_type(tflite::SparseIndexVector array_segments_type) { + fbb_.AddElement(DimensionMetadata::VT_ARRAY_SEGMENTS_TYPE, static_cast(array_segments_type), 0); + } + void add_array_segments(flatbuffers::Offset array_segments) { + fbb_.AddOffset(DimensionMetadata::VT_ARRAY_SEGMENTS, array_segments); + } + void add_array_indices_type(tflite::SparseIndexVector array_indices_type) { + fbb_.AddElement(DimensionMetadata::VT_ARRAY_INDICES_TYPE, static_cast(array_indices_type), 0); + } + void add_array_indices(flatbuffers::Offset array_indices) { + fbb_.AddOffset(DimensionMetadata::VT_ARRAY_INDICES, array_indices); + } + explicit DimensionMetadataBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateDimensionMetadata( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::DimensionType format = tflite::DimensionType_DENSE, + int32_t dense_size = 0, + tflite::SparseIndexVector array_segments_type = tflite::SparseIndexVector_NONE, + flatbuffers::Offset array_segments = 0, + tflite::SparseIndexVector array_indices_type = tflite::SparseIndexVector_NONE, + flatbuffers::Offset array_indices = 0) { + DimensionMetadataBuilder builder_(_fbb); + builder_.add_array_indices(array_indices); + builder_.add_array_segments(array_segments); + builder_.add_dense_size(dense_size); + builder_.add_array_indices_type(array_indices_type); + builder_.add_array_segments_type(array_segments_type); + builder_.add_format(format); + return builder_.Finish(); +} + +flatbuffers::Offset CreateDimensionMetadata(flatbuffers::FlatBufferBuilder &_fbb, const DimensionMetadataT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SparsityParametersT : public flatbuffers::NativeTable { + typedef SparsityParameters TableType; + std::vector traversal_order{}; + std::vector block_map{}; + std::vector> dim_metadata{}; +}; + +struct SparsityParameters FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SparsityParametersT NativeTableType; + typedef SparsityParametersBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SparsityParametersTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_TRAVERSAL_ORDER = 4, + VT_BLOCK_MAP = 6, + VT_DIM_METADATA = 8 + }; + const flatbuffers::Vector *traversal_order() const { + return GetPointer *>(VT_TRAVERSAL_ORDER); + } + flatbuffers::Vector *mutable_traversal_order() { + return GetPointer *>(VT_TRAVERSAL_ORDER); + } + const flatbuffers::Vector *block_map() const { + return GetPointer *>(VT_BLOCK_MAP); + } + flatbuffers::Vector *mutable_block_map() { + return GetPointer *>(VT_BLOCK_MAP); + } + const flatbuffers::Vector> *dim_metadata() const { + return GetPointer> *>(VT_DIM_METADATA); + } + flatbuffers::Vector> *mutable_dim_metadata() { + return GetPointer> *>(VT_DIM_METADATA); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_TRAVERSAL_ORDER) && + verifier.VerifyVector(traversal_order()) && + VerifyOffset(verifier, VT_BLOCK_MAP) && + verifier.VerifyVector(block_map()) && + VerifyOffset(verifier, VT_DIM_METADATA) && + verifier.VerifyVector(dim_metadata()) && + verifier.VerifyVectorOfTables(dim_metadata()) && + verifier.EndTable(); + } + SparsityParametersT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SparsityParametersT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SparsityParametersT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SparsityParametersBuilder { + typedef SparsityParameters Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_traversal_order(flatbuffers::Offset> traversal_order) { + fbb_.AddOffset(SparsityParameters::VT_TRAVERSAL_ORDER, traversal_order); + } + void add_block_map(flatbuffers::Offset> block_map) { + fbb_.AddOffset(SparsityParameters::VT_BLOCK_MAP, block_map); + } + void add_dim_metadata(flatbuffers::Offset>> dim_metadata) { + fbb_.AddOffset(SparsityParameters::VT_DIM_METADATA, dim_metadata); + } + explicit SparsityParametersBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSparsityParameters( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> traversal_order = 0, + flatbuffers::Offset> block_map = 0, + flatbuffers::Offset>> dim_metadata = 0) { + SparsityParametersBuilder builder_(_fbb); + builder_.add_dim_metadata(dim_metadata); + builder_.add_block_map(block_map); + builder_.add_traversal_order(traversal_order); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateSparsityParametersDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *traversal_order = nullptr, + const std::vector *block_map = nullptr, + const std::vector> *dim_metadata = nullptr) { + auto traversal_order__ = traversal_order ? _fbb.CreateVector(*traversal_order) : 0; + auto block_map__ = block_map ? _fbb.CreateVector(*block_map) : 0; + auto dim_metadata__ = dim_metadata ? _fbb.CreateVector>(*dim_metadata) : 0; + return tflite::CreateSparsityParameters( + _fbb, + traversal_order__, + block_map__, + dim_metadata__); +} + +flatbuffers::Offset CreateSparsityParameters(flatbuffers::FlatBufferBuilder &_fbb, const SparsityParametersT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct TensorT : public flatbuffers::NativeTable { + typedef Tensor TableType; + std::vector shape{}; + tflite::TensorType type = tflite::TensorType_FLOAT32; + uint32_t buffer = 0; + std::string name{}; + std::unique_ptr quantization{}; + bool is_variable = false; + std::unique_ptr sparsity{}; + std::vector shape_signature{}; +}; + +struct Tensor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TensorT NativeTableType; + typedef TensorBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return TensorTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SHAPE = 4, + VT_TYPE = 6, + VT_BUFFER = 8, + VT_NAME = 10, + VT_QUANTIZATION = 12, + VT_IS_VARIABLE = 14, + VT_SPARSITY = 16, + VT_SHAPE_SIGNATURE = 18 + }; + const flatbuffers::Vector *shape() const { + return GetPointer *>(VT_SHAPE); + } + flatbuffers::Vector *mutable_shape() { + return GetPointer *>(VT_SHAPE); + } + tflite::TensorType type() const { + return static_cast(GetField(VT_TYPE, 0)); + } + bool mutate_type(tflite::TensorType _type) { + return SetField(VT_TYPE, static_cast(_type), 0); + } + uint32_t buffer() const { + return GetField(VT_BUFFER, 0); + } + bool mutate_buffer(uint32_t _buffer) { + return SetField(VT_BUFFER, _buffer, 0); + } + const flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + flatbuffers::String *mutable_name() { + return GetPointer(VT_NAME); + } + const tflite::QuantizationParameters *quantization() const { + return GetPointer(VT_QUANTIZATION); + } + tflite::QuantizationParameters *mutable_quantization() { + return GetPointer(VT_QUANTIZATION); + } + bool is_variable() const { + return GetField(VT_IS_VARIABLE, 0) != 0; + } + bool mutate_is_variable(bool _is_variable) { + return SetField(VT_IS_VARIABLE, static_cast(_is_variable), 0); + } + const tflite::SparsityParameters *sparsity() const { + return GetPointer(VT_SPARSITY); + } + tflite::SparsityParameters *mutable_sparsity() { + return GetPointer(VT_SPARSITY); + } + const flatbuffers::Vector *shape_signature() const { + return GetPointer *>(VT_SHAPE_SIGNATURE); + } + flatbuffers::Vector *mutable_shape_signature() { + return GetPointer *>(VT_SHAPE_SIGNATURE); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_SHAPE) && + verifier.VerifyVector(shape()) && + VerifyField(verifier, VT_TYPE) && + VerifyField(verifier, VT_BUFFER) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyOffset(verifier, VT_QUANTIZATION) && + verifier.VerifyTable(quantization()) && + VerifyField(verifier, VT_IS_VARIABLE) && + VerifyOffset(verifier, VT_SPARSITY) && + verifier.VerifyTable(sparsity()) && + VerifyOffset(verifier, VT_SHAPE_SIGNATURE) && + verifier.VerifyVector(shape_signature()) && + verifier.EndTable(); + } + TensorT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(TensorT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const TensorT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct TensorBuilder { + typedef Tensor Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_shape(flatbuffers::Offset> shape) { + fbb_.AddOffset(Tensor::VT_SHAPE, shape); + } + void add_type(tflite::TensorType type) { + fbb_.AddElement(Tensor::VT_TYPE, static_cast(type), 0); + } + void add_buffer(uint32_t buffer) { + fbb_.AddElement(Tensor::VT_BUFFER, buffer, 0); + } + void add_name(flatbuffers::Offset name) { + fbb_.AddOffset(Tensor::VT_NAME, name); + } + void add_quantization(flatbuffers::Offset quantization) { + fbb_.AddOffset(Tensor::VT_QUANTIZATION, quantization); + } + void add_is_variable(bool is_variable) { + fbb_.AddElement(Tensor::VT_IS_VARIABLE, static_cast(is_variable), 0); + } + void add_sparsity(flatbuffers::Offset sparsity) { + fbb_.AddOffset(Tensor::VT_SPARSITY, sparsity); + } + void add_shape_signature(flatbuffers::Offset> shape_signature) { + fbb_.AddOffset(Tensor::VT_SHAPE_SIGNATURE, shape_signature); + } + explicit TensorBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTensor( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> shape = 0, + tflite::TensorType type = tflite::TensorType_FLOAT32, + uint32_t buffer = 0, + flatbuffers::Offset name = 0, + flatbuffers::Offset quantization = 0, + bool is_variable = false, + flatbuffers::Offset sparsity = 0, + flatbuffers::Offset> shape_signature = 0) { + TensorBuilder builder_(_fbb); + builder_.add_shape_signature(shape_signature); + builder_.add_sparsity(sparsity); + builder_.add_quantization(quantization); + builder_.add_name(name); + builder_.add_buffer(buffer); + builder_.add_shape(shape); + builder_.add_is_variable(is_variable); + builder_.add_type(type); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateTensorDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *shape = nullptr, + tflite::TensorType type = tflite::TensorType_FLOAT32, + uint32_t buffer = 0, + const char *name = nullptr, + flatbuffers::Offset quantization = 0, + bool is_variable = false, + flatbuffers::Offset sparsity = 0, + const std::vector *shape_signature = nullptr) { + auto shape__ = shape ? _fbb.CreateVector(*shape) : 0; + auto name__ = name ? _fbb.CreateString(name) : 0; + auto shape_signature__ = shape_signature ? _fbb.CreateVector(*shape_signature) : 0; + return tflite::CreateTensor( + _fbb, + shape__, + type, + buffer, + name__, + quantization, + is_variable, + sparsity, + shape_signature__); +} + +flatbuffers::Offset CreateTensor(flatbuffers::FlatBufferBuilder &_fbb, const TensorT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct Conv2DOptionsT : public flatbuffers::NativeTable { + typedef Conv2DOptions TableType; + tflite::Padding padding = tflite::Padding_SAME; + int32_t stride_w = 0; + int32_t stride_h = 0; + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; + int32_t dilation_w_factor = 1; + int32_t dilation_h_factor = 1; +}; + +struct Conv2DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef Conv2DOptionsT NativeTableType; + typedef Conv2DOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return Conv2DOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PADDING = 4, + VT_STRIDE_W = 6, + VT_STRIDE_H = 8, + VT_FUSED_ACTIVATION_FUNCTION = 10, + VT_DILATION_W_FACTOR = 12, + VT_DILATION_H_FACTOR = 14 + }; + tflite::Padding padding() const { + return static_cast(GetField(VT_PADDING, 0)); + } + bool mutate_padding(tflite::Padding _padding) { + return SetField(VT_PADDING, static_cast(_padding), 0); + } + int32_t stride_w() const { + return GetField(VT_STRIDE_W, 0); + } + bool mutate_stride_w(int32_t _stride_w) { + return SetField(VT_STRIDE_W, _stride_w, 0); + } + int32_t stride_h() const { + return GetField(VT_STRIDE_H, 0); + } + bool mutate_stride_h(int32_t _stride_h) { + return SetField(VT_STRIDE_H, _stride_h, 0); + } + tflite::ActivationFunctionType fused_activation_function() const { + return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); + } + bool mutate_fused_activation_function(tflite::ActivationFunctionType _fused_activation_function) { + return SetField(VT_FUSED_ACTIVATION_FUNCTION, static_cast(_fused_activation_function), 0); + } + int32_t dilation_w_factor() const { + return GetField(VT_DILATION_W_FACTOR, 1); + } + bool mutate_dilation_w_factor(int32_t _dilation_w_factor) { + return SetField(VT_DILATION_W_FACTOR, _dilation_w_factor, 1); + } + int32_t dilation_h_factor() const { + return GetField(VT_DILATION_H_FACTOR, 1); + } + bool mutate_dilation_h_factor(int32_t _dilation_h_factor) { + return SetField(VT_DILATION_H_FACTOR, _dilation_h_factor, 1); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_PADDING) && + VerifyField(verifier, VT_STRIDE_W) && + VerifyField(verifier, VT_STRIDE_H) && + VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && + VerifyField(verifier, VT_DILATION_W_FACTOR) && + VerifyField(verifier, VT_DILATION_H_FACTOR) && + verifier.EndTable(); + } + Conv2DOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(Conv2DOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const Conv2DOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct Conv2DOptionsBuilder { + typedef Conv2DOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_padding(tflite::Padding padding) { + fbb_.AddElement(Conv2DOptions::VT_PADDING, static_cast(padding), 0); + } + void add_stride_w(int32_t stride_w) { + fbb_.AddElement(Conv2DOptions::VT_STRIDE_W, stride_w, 0); + } + void add_stride_h(int32_t stride_h) { + fbb_.AddElement(Conv2DOptions::VT_STRIDE_H, stride_h, 0); + } + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { + fbb_.AddElement(Conv2DOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); + } + void add_dilation_w_factor(int32_t dilation_w_factor) { + fbb_.AddElement(Conv2DOptions::VT_DILATION_W_FACTOR, dilation_w_factor, 1); + } + void add_dilation_h_factor(int32_t dilation_h_factor) { + fbb_.AddElement(Conv2DOptions::VT_DILATION_H_FACTOR, dilation_h_factor, 1); + } + explicit Conv2DOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateConv2DOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::Padding padding = tflite::Padding_SAME, + int32_t stride_w = 0, + int32_t stride_h = 0, + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, + int32_t dilation_w_factor = 1, + int32_t dilation_h_factor = 1) { + Conv2DOptionsBuilder builder_(_fbb); + builder_.add_dilation_h_factor(dilation_h_factor); + builder_.add_dilation_w_factor(dilation_w_factor); + builder_.add_stride_h(stride_h); + builder_.add_stride_w(stride_w); + builder_.add_fused_activation_function(fused_activation_function); + builder_.add_padding(padding); + return builder_.Finish(); +} + +flatbuffers::Offset CreateConv2DOptions(flatbuffers::FlatBufferBuilder &_fbb, const Conv2DOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct Pool2DOptionsT : public flatbuffers::NativeTable { + typedef Pool2DOptions TableType; + tflite::Padding padding = tflite::Padding_SAME; + int32_t stride_w = 0; + int32_t stride_h = 0; + int32_t filter_width = 0; + int32_t filter_height = 0; + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; +}; + +struct Pool2DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef Pool2DOptionsT NativeTableType; + typedef Pool2DOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return Pool2DOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PADDING = 4, + VT_STRIDE_W = 6, + VT_STRIDE_H = 8, + VT_FILTER_WIDTH = 10, + VT_FILTER_HEIGHT = 12, + VT_FUSED_ACTIVATION_FUNCTION = 14 + }; + tflite::Padding padding() const { + return static_cast(GetField(VT_PADDING, 0)); + } + bool mutate_padding(tflite::Padding _padding) { + return SetField(VT_PADDING, static_cast(_padding), 0); + } + int32_t stride_w() const { + return GetField(VT_STRIDE_W, 0); + } + bool mutate_stride_w(int32_t _stride_w) { + return SetField(VT_STRIDE_W, _stride_w, 0); + } + int32_t stride_h() const { + return GetField(VT_STRIDE_H, 0); + } + bool mutate_stride_h(int32_t _stride_h) { + return SetField(VT_STRIDE_H, _stride_h, 0); + } + int32_t filter_width() const { + return GetField(VT_FILTER_WIDTH, 0); + } + bool mutate_filter_width(int32_t _filter_width) { + return SetField(VT_FILTER_WIDTH, _filter_width, 0); + } + int32_t filter_height() const { + return GetField(VT_FILTER_HEIGHT, 0); + } + bool mutate_filter_height(int32_t _filter_height) { + return SetField(VT_FILTER_HEIGHT, _filter_height, 0); + } + tflite::ActivationFunctionType fused_activation_function() const { + return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); + } + bool mutate_fused_activation_function(tflite::ActivationFunctionType _fused_activation_function) { + return SetField(VT_FUSED_ACTIVATION_FUNCTION, static_cast(_fused_activation_function), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_PADDING) && + VerifyField(verifier, VT_STRIDE_W) && + VerifyField(verifier, VT_STRIDE_H) && + VerifyField(verifier, VT_FILTER_WIDTH) && + VerifyField(verifier, VT_FILTER_HEIGHT) && + VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && + verifier.EndTable(); + } + Pool2DOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(Pool2DOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const Pool2DOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct Pool2DOptionsBuilder { + typedef Pool2DOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_padding(tflite::Padding padding) { + fbb_.AddElement(Pool2DOptions::VT_PADDING, static_cast(padding), 0); + } + void add_stride_w(int32_t stride_w) { + fbb_.AddElement(Pool2DOptions::VT_STRIDE_W, stride_w, 0); + } + void add_stride_h(int32_t stride_h) { + fbb_.AddElement(Pool2DOptions::VT_STRIDE_H, stride_h, 0); + } + void add_filter_width(int32_t filter_width) { + fbb_.AddElement(Pool2DOptions::VT_FILTER_WIDTH, filter_width, 0); + } + void add_filter_height(int32_t filter_height) { + fbb_.AddElement(Pool2DOptions::VT_FILTER_HEIGHT, filter_height, 0); + } + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { + fbb_.AddElement(Pool2DOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); + } + explicit Pool2DOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreatePool2DOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::Padding padding = tflite::Padding_SAME, + int32_t stride_w = 0, + int32_t stride_h = 0, + int32_t filter_width = 0, + int32_t filter_height = 0, + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE) { + Pool2DOptionsBuilder builder_(_fbb); + builder_.add_filter_height(filter_height); + builder_.add_filter_width(filter_width); + builder_.add_stride_h(stride_h); + builder_.add_stride_w(stride_w); + builder_.add_fused_activation_function(fused_activation_function); + builder_.add_padding(padding); + return builder_.Finish(); +} + +flatbuffers::Offset CreatePool2DOptions(flatbuffers::FlatBufferBuilder &_fbb, const Pool2DOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct DepthwiseConv2DOptionsT : public flatbuffers::NativeTable { + typedef DepthwiseConv2DOptions TableType; + tflite::Padding padding = tflite::Padding_SAME; + int32_t stride_w = 0; + int32_t stride_h = 0; + int32_t depth_multiplier = 0; + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; + int32_t dilation_w_factor = 1; + int32_t dilation_h_factor = 1; +}; + +struct DepthwiseConv2DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DepthwiseConv2DOptionsT NativeTableType; + typedef DepthwiseConv2DOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return DepthwiseConv2DOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PADDING = 4, + VT_STRIDE_W = 6, + VT_STRIDE_H = 8, + VT_DEPTH_MULTIPLIER = 10, + VT_FUSED_ACTIVATION_FUNCTION = 12, + VT_DILATION_W_FACTOR = 14, + VT_DILATION_H_FACTOR = 16 + }; + tflite::Padding padding() const { + return static_cast(GetField(VT_PADDING, 0)); + } + bool mutate_padding(tflite::Padding _padding) { + return SetField(VT_PADDING, static_cast(_padding), 0); + } + int32_t stride_w() const { + return GetField(VT_STRIDE_W, 0); + } + bool mutate_stride_w(int32_t _stride_w) { + return SetField(VT_STRIDE_W, _stride_w, 0); + } + int32_t stride_h() const { + return GetField(VT_STRIDE_H, 0); + } + bool mutate_stride_h(int32_t _stride_h) { + return SetField(VT_STRIDE_H, _stride_h, 0); + } + int32_t depth_multiplier() const { + return GetField(VT_DEPTH_MULTIPLIER, 0); + } + bool mutate_depth_multiplier(int32_t _depth_multiplier) { + return SetField(VT_DEPTH_MULTIPLIER, _depth_multiplier, 0); + } + tflite::ActivationFunctionType fused_activation_function() const { + return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); + } + bool mutate_fused_activation_function(tflite::ActivationFunctionType _fused_activation_function) { + return SetField(VT_FUSED_ACTIVATION_FUNCTION, static_cast(_fused_activation_function), 0); + } + int32_t dilation_w_factor() const { + return GetField(VT_DILATION_W_FACTOR, 1); + } + bool mutate_dilation_w_factor(int32_t _dilation_w_factor) { + return SetField(VT_DILATION_W_FACTOR, _dilation_w_factor, 1); + } + int32_t dilation_h_factor() const { + return GetField(VT_DILATION_H_FACTOR, 1); + } + bool mutate_dilation_h_factor(int32_t _dilation_h_factor) { + return SetField(VT_DILATION_H_FACTOR, _dilation_h_factor, 1); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_PADDING) && + VerifyField(verifier, VT_STRIDE_W) && + VerifyField(verifier, VT_STRIDE_H) && + VerifyField(verifier, VT_DEPTH_MULTIPLIER) && + VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && + VerifyField(verifier, VT_DILATION_W_FACTOR) && + VerifyField(verifier, VT_DILATION_H_FACTOR) && + verifier.EndTable(); + } + DepthwiseConv2DOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(DepthwiseConv2DOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const DepthwiseConv2DOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct DepthwiseConv2DOptionsBuilder { + typedef DepthwiseConv2DOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_padding(tflite::Padding padding) { + fbb_.AddElement(DepthwiseConv2DOptions::VT_PADDING, static_cast(padding), 0); + } + void add_stride_w(int32_t stride_w) { + fbb_.AddElement(DepthwiseConv2DOptions::VT_STRIDE_W, stride_w, 0); + } + void add_stride_h(int32_t stride_h) { + fbb_.AddElement(DepthwiseConv2DOptions::VT_STRIDE_H, stride_h, 0); + } + void add_depth_multiplier(int32_t depth_multiplier) { + fbb_.AddElement(DepthwiseConv2DOptions::VT_DEPTH_MULTIPLIER, depth_multiplier, 0); + } + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { + fbb_.AddElement(DepthwiseConv2DOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); + } + void add_dilation_w_factor(int32_t dilation_w_factor) { + fbb_.AddElement(DepthwiseConv2DOptions::VT_DILATION_W_FACTOR, dilation_w_factor, 1); + } + void add_dilation_h_factor(int32_t dilation_h_factor) { + fbb_.AddElement(DepthwiseConv2DOptions::VT_DILATION_H_FACTOR, dilation_h_factor, 1); + } + explicit DepthwiseConv2DOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateDepthwiseConv2DOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::Padding padding = tflite::Padding_SAME, + int32_t stride_w = 0, + int32_t stride_h = 0, + int32_t depth_multiplier = 0, + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, + int32_t dilation_w_factor = 1, + int32_t dilation_h_factor = 1) { + DepthwiseConv2DOptionsBuilder builder_(_fbb); + builder_.add_dilation_h_factor(dilation_h_factor); + builder_.add_dilation_w_factor(dilation_w_factor); + builder_.add_depth_multiplier(depth_multiplier); + builder_.add_stride_h(stride_h); + builder_.add_stride_w(stride_w); + builder_.add_fused_activation_function(fused_activation_function); + builder_.add_padding(padding); + return builder_.Finish(); +} + +flatbuffers::Offset CreateDepthwiseConv2DOptions(flatbuffers::FlatBufferBuilder &_fbb, const DepthwiseConv2DOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ConcatEmbeddingsOptionsT : public flatbuffers::NativeTable { + typedef ConcatEmbeddingsOptions TableType; + int32_t num_channels = 0; + std::vector num_columns_per_channel{}; + std::vector embedding_dim_per_channel{}; +}; + +struct ConcatEmbeddingsOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ConcatEmbeddingsOptionsT NativeTableType; + typedef ConcatEmbeddingsOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ConcatEmbeddingsOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NUM_CHANNELS = 4, + VT_NUM_COLUMNS_PER_CHANNEL = 6, + VT_EMBEDDING_DIM_PER_CHANNEL = 8 + }; + int32_t num_channels() const { + return GetField(VT_NUM_CHANNELS, 0); + } + bool mutate_num_channels(int32_t _num_channels) { + return SetField(VT_NUM_CHANNELS, _num_channels, 0); + } + const flatbuffers::Vector *num_columns_per_channel() const { + return GetPointer *>(VT_NUM_COLUMNS_PER_CHANNEL); + } + flatbuffers::Vector *mutable_num_columns_per_channel() { + return GetPointer *>(VT_NUM_COLUMNS_PER_CHANNEL); + } + const flatbuffers::Vector *embedding_dim_per_channel() const { + return GetPointer *>(VT_EMBEDDING_DIM_PER_CHANNEL); + } + flatbuffers::Vector *mutable_embedding_dim_per_channel() { + return GetPointer *>(VT_EMBEDDING_DIM_PER_CHANNEL); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_NUM_CHANNELS) && + VerifyOffset(verifier, VT_NUM_COLUMNS_PER_CHANNEL) && + verifier.VerifyVector(num_columns_per_channel()) && + VerifyOffset(verifier, VT_EMBEDDING_DIM_PER_CHANNEL) && + verifier.VerifyVector(embedding_dim_per_channel()) && + verifier.EndTable(); + } + ConcatEmbeddingsOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ConcatEmbeddingsOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ConcatEmbeddingsOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ConcatEmbeddingsOptionsBuilder { + typedef ConcatEmbeddingsOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_num_channels(int32_t num_channels) { + fbb_.AddElement(ConcatEmbeddingsOptions::VT_NUM_CHANNELS, num_channels, 0); + } + void add_num_columns_per_channel(flatbuffers::Offset> num_columns_per_channel) { + fbb_.AddOffset(ConcatEmbeddingsOptions::VT_NUM_COLUMNS_PER_CHANNEL, num_columns_per_channel); + } + void add_embedding_dim_per_channel(flatbuffers::Offset> embedding_dim_per_channel) { + fbb_.AddOffset(ConcatEmbeddingsOptions::VT_EMBEDDING_DIM_PER_CHANNEL, embedding_dim_per_channel); + } + explicit ConcatEmbeddingsOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateConcatEmbeddingsOptions( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t num_channels = 0, + flatbuffers::Offset> num_columns_per_channel = 0, + flatbuffers::Offset> embedding_dim_per_channel = 0) { + ConcatEmbeddingsOptionsBuilder builder_(_fbb); + builder_.add_embedding_dim_per_channel(embedding_dim_per_channel); + builder_.add_num_columns_per_channel(num_columns_per_channel); + builder_.add_num_channels(num_channels); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateConcatEmbeddingsOptionsDirect( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t num_channels = 0, + const std::vector *num_columns_per_channel = nullptr, + const std::vector *embedding_dim_per_channel = nullptr) { + auto num_columns_per_channel__ = num_columns_per_channel ? _fbb.CreateVector(*num_columns_per_channel) : 0; + auto embedding_dim_per_channel__ = embedding_dim_per_channel ? _fbb.CreateVector(*embedding_dim_per_channel) : 0; + return tflite::CreateConcatEmbeddingsOptions( + _fbb, + num_channels, + num_columns_per_channel__, + embedding_dim_per_channel__); +} + +flatbuffers::Offset CreateConcatEmbeddingsOptions(flatbuffers::FlatBufferBuilder &_fbb, const ConcatEmbeddingsOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LSHProjectionOptionsT : public flatbuffers::NativeTable { + typedef LSHProjectionOptions TableType; + tflite::LSHProjectionType type = tflite::LSHProjectionType_UNKNOWN; +}; + +struct LSHProjectionOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LSHProjectionOptionsT NativeTableType; + typedef LSHProjectionOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LSHProjectionOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_TYPE = 4 + }; + tflite::LSHProjectionType type() const { + return static_cast(GetField(VT_TYPE, 0)); + } + bool mutate_type(tflite::LSHProjectionType _type) { + return SetField(VT_TYPE, static_cast(_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_TYPE) && + verifier.EndTable(); + } + LSHProjectionOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LSHProjectionOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LSHProjectionOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LSHProjectionOptionsBuilder { + typedef LSHProjectionOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_type(tflite::LSHProjectionType type) { + fbb_.AddElement(LSHProjectionOptions::VT_TYPE, static_cast(type), 0); + } + explicit LSHProjectionOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLSHProjectionOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::LSHProjectionType type = tflite::LSHProjectionType_UNKNOWN) { + LSHProjectionOptionsBuilder builder_(_fbb); + builder_.add_type(type); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLSHProjectionOptions(flatbuffers::FlatBufferBuilder &_fbb, const LSHProjectionOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SVDFOptionsT : public flatbuffers::NativeTable { + typedef SVDFOptions TableType; + int32_t rank = 0; + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; + bool asymmetric_quantize_inputs = false; +}; + +struct SVDFOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SVDFOptionsT NativeTableType; + typedef SVDFOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SVDFOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_RANK = 4, + VT_FUSED_ACTIVATION_FUNCTION = 6, + VT_ASYMMETRIC_QUANTIZE_INPUTS = 8 + }; + int32_t rank() const { + return GetField(VT_RANK, 0); + } + bool mutate_rank(int32_t _rank) { + return SetField(VT_RANK, _rank, 0); + } + tflite::ActivationFunctionType fused_activation_function() const { + return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); + } + bool mutate_fused_activation_function(tflite::ActivationFunctionType _fused_activation_function) { + return SetField(VT_FUSED_ACTIVATION_FUNCTION, static_cast(_fused_activation_function), 0); + } + bool asymmetric_quantize_inputs() const { + return GetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, 0) != 0; + } + bool mutate_asymmetric_quantize_inputs(bool _asymmetric_quantize_inputs) { + return SetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(_asymmetric_quantize_inputs), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_RANK) && + VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && + VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && + verifier.EndTable(); + } + SVDFOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SVDFOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SVDFOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SVDFOptionsBuilder { + typedef SVDFOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_rank(int32_t rank) { + fbb_.AddElement(SVDFOptions::VT_RANK, rank, 0); + } + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { + fbb_.AddElement(SVDFOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); + } + void add_asymmetric_quantize_inputs(bool asymmetric_quantize_inputs) { + fbb_.AddElement(SVDFOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(asymmetric_quantize_inputs), 0); + } + explicit SVDFOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSVDFOptions( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t rank = 0, + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, + bool asymmetric_quantize_inputs = false) { + SVDFOptionsBuilder builder_(_fbb); + builder_.add_rank(rank); + builder_.add_asymmetric_quantize_inputs(asymmetric_quantize_inputs); + builder_.add_fused_activation_function(fused_activation_function); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSVDFOptions(flatbuffers::FlatBufferBuilder &_fbb, const SVDFOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct RNNOptionsT : public flatbuffers::NativeTable { + typedef RNNOptions TableType; + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; + bool asymmetric_quantize_inputs = false; +}; + +struct RNNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef RNNOptionsT NativeTableType; + typedef RNNOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return RNNOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4, + VT_ASYMMETRIC_QUANTIZE_INPUTS = 6 + }; + tflite::ActivationFunctionType fused_activation_function() const { + return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); + } + bool mutate_fused_activation_function(tflite::ActivationFunctionType _fused_activation_function) { + return SetField(VT_FUSED_ACTIVATION_FUNCTION, static_cast(_fused_activation_function), 0); + } + bool asymmetric_quantize_inputs() const { + return GetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, 0) != 0; + } + bool mutate_asymmetric_quantize_inputs(bool _asymmetric_quantize_inputs) { + return SetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(_asymmetric_quantize_inputs), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && + VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && + verifier.EndTable(); + } + RNNOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(RNNOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const RNNOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct RNNOptionsBuilder { + typedef RNNOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { + fbb_.AddElement(RNNOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); + } + void add_asymmetric_quantize_inputs(bool asymmetric_quantize_inputs) { + fbb_.AddElement(RNNOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(asymmetric_quantize_inputs), 0); + } + explicit RNNOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateRNNOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, + bool asymmetric_quantize_inputs = false) { + RNNOptionsBuilder builder_(_fbb); + builder_.add_asymmetric_quantize_inputs(asymmetric_quantize_inputs); + builder_.add_fused_activation_function(fused_activation_function); + return builder_.Finish(); +} + +flatbuffers::Offset CreateRNNOptions(flatbuffers::FlatBufferBuilder &_fbb, const RNNOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SequenceRNNOptionsT : public flatbuffers::NativeTable { + typedef SequenceRNNOptions TableType; + bool time_major = false; + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; + bool asymmetric_quantize_inputs = false; +}; + +struct SequenceRNNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SequenceRNNOptionsT NativeTableType; + typedef SequenceRNNOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SequenceRNNOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_TIME_MAJOR = 4, + VT_FUSED_ACTIVATION_FUNCTION = 6, + VT_ASYMMETRIC_QUANTIZE_INPUTS = 8 + }; + bool time_major() const { + return GetField(VT_TIME_MAJOR, 0) != 0; + } + bool mutate_time_major(bool _time_major) { + return SetField(VT_TIME_MAJOR, static_cast(_time_major), 0); + } + tflite::ActivationFunctionType fused_activation_function() const { + return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); + } + bool mutate_fused_activation_function(tflite::ActivationFunctionType _fused_activation_function) { + return SetField(VT_FUSED_ACTIVATION_FUNCTION, static_cast(_fused_activation_function), 0); + } + bool asymmetric_quantize_inputs() const { + return GetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, 0) != 0; + } + bool mutate_asymmetric_quantize_inputs(bool _asymmetric_quantize_inputs) { + return SetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(_asymmetric_quantize_inputs), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_TIME_MAJOR) && + VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && + VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && + verifier.EndTable(); + } + SequenceRNNOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SequenceRNNOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SequenceRNNOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SequenceRNNOptionsBuilder { + typedef SequenceRNNOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_time_major(bool time_major) { + fbb_.AddElement(SequenceRNNOptions::VT_TIME_MAJOR, static_cast(time_major), 0); + } + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { + fbb_.AddElement(SequenceRNNOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); + } + void add_asymmetric_quantize_inputs(bool asymmetric_quantize_inputs) { + fbb_.AddElement(SequenceRNNOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(asymmetric_quantize_inputs), 0); + } + explicit SequenceRNNOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSequenceRNNOptions( + flatbuffers::FlatBufferBuilder &_fbb, + bool time_major = false, + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, + bool asymmetric_quantize_inputs = false) { + SequenceRNNOptionsBuilder builder_(_fbb); + builder_.add_asymmetric_quantize_inputs(asymmetric_quantize_inputs); + builder_.add_fused_activation_function(fused_activation_function); + builder_.add_time_major(time_major); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSequenceRNNOptions(flatbuffers::FlatBufferBuilder &_fbb, const SequenceRNNOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct BidirectionalSequenceRNNOptionsT : public flatbuffers::NativeTable { + typedef BidirectionalSequenceRNNOptions TableType; + bool time_major = false; + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; + bool merge_outputs = false; + bool asymmetric_quantize_inputs = false; +}; + +struct BidirectionalSequenceRNNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BidirectionalSequenceRNNOptionsT NativeTableType; + typedef BidirectionalSequenceRNNOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return BidirectionalSequenceRNNOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_TIME_MAJOR = 4, + VT_FUSED_ACTIVATION_FUNCTION = 6, + VT_MERGE_OUTPUTS = 8, + VT_ASYMMETRIC_QUANTIZE_INPUTS = 10 + }; + bool time_major() const { + return GetField(VT_TIME_MAJOR, 0) != 0; + } + bool mutate_time_major(bool _time_major) { + return SetField(VT_TIME_MAJOR, static_cast(_time_major), 0); + } + tflite::ActivationFunctionType fused_activation_function() const { + return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); + } + bool mutate_fused_activation_function(tflite::ActivationFunctionType _fused_activation_function) { + return SetField(VT_FUSED_ACTIVATION_FUNCTION, static_cast(_fused_activation_function), 0); + } + bool merge_outputs() const { + return GetField(VT_MERGE_OUTPUTS, 0) != 0; + } + bool mutate_merge_outputs(bool _merge_outputs) { + return SetField(VT_MERGE_OUTPUTS, static_cast(_merge_outputs), 0); + } + bool asymmetric_quantize_inputs() const { + return GetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, 0) != 0; + } + bool mutate_asymmetric_quantize_inputs(bool _asymmetric_quantize_inputs) { + return SetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(_asymmetric_quantize_inputs), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_TIME_MAJOR) && + VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && + VerifyField(verifier, VT_MERGE_OUTPUTS) && + VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && + verifier.EndTable(); + } + BidirectionalSequenceRNNOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(BidirectionalSequenceRNNOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const BidirectionalSequenceRNNOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct BidirectionalSequenceRNNOptionsBuilder { + typedef BidirectionalSequenceRNNOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_time_major(bool time_major) { + fbb_.AddElement(BidirectionalSequenceRNNOptions::VT_TIME_MAJOR, static_cast(time_major), 0); + } + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { + fbb_.AddElement(BidirectionalSequenceRNNOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); + } + void add_merge_outputs(bool merge_outputs) { + fbb_.AddElement(BidirectionalSequenceRNNOptions::VT_MERGE_OUTPUTS, static_cast(merge_outputs), 0); + } + void add_asymmetric_quantize_inputs(bool asymmetric_quantize_inputs) { + fbb_.AddElement(BidirectionalSequenceRNNOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(asymmetric_quantize_inputs), 0); + } + explicit BidirectionalSequenceRNNOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateBidirectionalSequenceRNNOptions( + flatbuffers::FlatBufferBuilder &_fbb, + bool time_major = false, + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, + bool merge_outputs = false, + bool asymmetric_quantize_inputs = false) { + BidirectionalSequenceRNNOptionsBuilder builder_(_fbb); + builder_.add_asymmetric_quantize_inputs(asymmetric_quantize_inputs); + builder_.add_merge_outputs(merge_outputs); + builder_.add_fused_activation_function(fused_activation_function); + builder_.add_time_major(time_major); + return builder_.Finish(); +} + +flatbuffers::Offset CreateBidirectionalSequenceRNNOptions(flatbuffers::FlatBufferBuilder &_fbb, const BidirectionalSequenceRNNOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct FullyConnectedOptionsT : public flatbuffers::NativeTable { + typedef FullyConnectedOptions TableType; + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; + tflite::FullyConnectedOptionsWeightsFormat weights_format = tflite::FullyConnectedOptionsWeightsFormat_DEFAULT; + bool keep_num_dims = false; + bool asymmetric_quantize_inputs = false; +}; + +struct FullyConnectedOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FullyConnectedOptionsT NativeTableType; + typedef FullyConnectedOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return FullyConnectedOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4, + VT_WEIGHTS_FORMAT = 6, + VT_KEEP_NUM_DIMS = 8, + VT_ASYMMETRIC_QUANTIZE_INPUTS = 10 + }; + tflite::ActivationFunctionType fused_activation_function() const { + return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); + } + bool mutate_fused_activation_function(tflite::ActivationFunctionType _fused_activation_function) { + return SetField(VT_FUSED_ACTIVATION_FUNCTION, static_cast(_fused_activation_function), 0); + } + tflite::FullyConnectedOptionsWeightsFormat weights_format() const { + return static_cast(GetField(VT_WEIGHTS_FORMAT, 0)); + } + bool mutate_weights_format(tflite::FullyConnectedOptionsWeightsFormat _weights_format) { + return SetField(VT_WEIGHTS_FORMAT, static_cast(_weights_format), 0); + } + bool keep_num_dims() const { + return GetField(VT_KEEP_NUM_DIMS, 0) != 0; + } + bool mutate_keep_num_dims(bool _keep_num_dims) { + return SetField(VT_KEEP_NUM_DIMS, static_cast(_keep_num_dims), 0); + } + bool asymmetric_quantize_inputs() const { + return GetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, 0) != 0; + } + bool mutate_asymmetric_quantize_inputs(bool _asymmetric_quantize_inputs) { + return SetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(_asymmetric_quantize_inputs), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && + VerifyField(verifier, VT_WEIGHTS_FORMAT) && + VerifyField(verifier, VT_KEEP_NUM_DIMS) && + VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && + verifier.EndTable(); + } + FullyConnectedOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(FullyConnectedOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const FullyConnectedOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct FullyConnectedOptionsBuilder { + typedef FullyConnectedOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { + fbb_.AddElement(FullyConnectedOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); + } + void add_weights_format(tflite::FullyConnectedOptionsWeightsFormat weights_format) { + fbb_.AddElement(FullyConnectedOptions::VT_WEIGHTS_FORMAT, static_cast(weights_format), 0); + } + void add_keep_num_dims(bool keep_num_dims) { + fbb_.AddElement(FullyConnectedOptions::VT_KEEP_NUM_DIMS, static_cast(keep_num_dims), 0); + } + void add_asymmetric_quantize_inputs(bool asymmetric_quantize_inputs) { + fbb_.AddElement(FullyConnectedOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(asymmetric_quantize_inputs), 0); + } + explicit FullyConnectedOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateFullyConnectedOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, + tflite::FullyConnectedOptionsWeightsFormat weights_format = tflite::FullyConnectedOptionsWeightsFormat_DEFAULT, + bool keep_num_dims = false, + bool asymmetric_quantize_inputs = false) { + FullyConnectedOptionsBuilder builder_(_fbb); + builder_.add_asymmetric_quantize_inputs(asymmetric_quantize_inputs); + builder_.add_keep_num_dims(keep_num_dims); + builder_.add_weights_format(weights_format); + builder_.add_fused_activation_function(fused_activation_function); + return builder_.Finish(); +} + +flatbuffers::Offset CreateFullyConnectedOptions(flatbuffers::FlatBufferBuilder &_fbb, const FullyConnectedOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SoftmaxOptionsT : public flatbuffers::NativeTable { + typedef SoftmaxOptions TableType; + float beta = 0.0f; +}; + +struct SoftmaxOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SoftmaxOptionsT NativeTableType; + typedef SoftmaxOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SoftmaxOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BETA = 4 + }; + float beta() const { + return GetField(VT_BETA, 0.0f); + } + bool mutate_beta(float _beta) { + return SetField(VT_BETA, _beta, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BETA) && + verifier.EndTable(); + } + SoftmaxOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SoftmaxOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SoftmaxOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SoftmaxOptionsBuilder { + typedef SoftmaxOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_beta(float beta) { + fbb_.AddElement(SoftmaxOptions::VT_BETA, beta, 0.0f); + } + explicit SoftmaxOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSoftmaxOptions( + flatbuffers::FlatBufferBuilder &_fbb, + float beta = 0.0f) { + SoftmaxOptionsBuilder builder_(_fbb); + builder_.add_beta(beta); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSoftmaxOptions(flatbuffers::FlatBufferBuilder &_fbb, const SoftmaxOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ConcatenationOptionsT : public flatbuffers::NativeTable { + typedef ConcatenationOptions TableType; + int32_t axis = 0; + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; +}; + +struct ConcatenationOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ConcatenationOptionsT NativeTableType; + typedef ConcatenationOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ConcatenationOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4, + VT_FUSED_ACTIVATION_FUNCTION = 6 + }; + int32_t axis() const { + return GetField(VT_AXIS, 0); + } + bool mutate_axis(int32_t _axis) { + return SetField(VT_AXIS, _axis, 0); + } + tflite::ActivationFunctionType fused_activation_function() const { + return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); + } + bool mutate_fused_activation_function(tflite::ActivationFunctionType _fused_activation_function) { + return SetField(VT_FUSED_ACTIVATION_FUNCTION, static_cast(_fused_activation_function), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_AXIS) && + VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && + verifier.EndTable(); + } + ConcatenationOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ConcatenationOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ConcatenationOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ConcatenationOptionsBuilder { + typedef ConcatenationOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(int32_t axis) { + fbb_.AddElement(ConcatenationOptions::VT_AXIS, axis, 0); + } + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { + fbb_.AddElement(ConcatenationOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); + } + explicit ConcatenationOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateConcatenationOptions( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t axis = 0, + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE) { + ConcatenationOptionsBuilder builder_(_fbb); + builder_.add_axis(axis); + builder_.add_fused_activation_function(fused_activation_function); + return builder_.Finish(); +} + +flatbuffers::Offset CreateConcatenationOptions(flatbuffers::FlatBufferBuilder &_fbb, const ConcatenationOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct AddOptionsT : public flatbuffers::NativeTable { + typedef AddOptions TableType; + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; +}; + +struct AddOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AddOptionsT NativeTableType; + typedef AddOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return AddOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4 + }; + tflite::ActivationFunctionType fused_activation_function() const { + return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); + } + bool mutate_fused_activation_function(tflite::ActivationFunctionType _fused_activation_function) { + return SetField(VT_FUSED_ACTIVATION_FUNCTION, static_cast(_fused_activation_function), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && + verifier.EndTable(); + } + AddOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(AddOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const AddOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct AddOptionsBuilder { + typedef AddOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { + fbb_.AddElement(AddOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); + } + explicit AddOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAddOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE) { + AddOptionsBuilder builder_(_fbb); + builder_.add_fused_activation_function(fused_activation_function); + return builder_.Finish(); +} + +flatbuffers::Offset CreateAddOptions(flatbuffers::FlatBufferBuilder &_fbb, const AddOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct MulOptionsT : public flatbuffers::NativeTable { + typedef MulOptions TableType; + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; +}; + +struct MulOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MulOptionsT NativeTableType; + typedef MulOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return MulOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4 + }; + tflite::ActivationFunctionType fused_activation_function() const { + return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); + } + bool mutate_fused_activation_function(tflite::ActivationFunctionType _fused_activation_function) { + return SetField(VT_FUSED_ACTIVATION_FUNCTION, static_cast(_fused_activation_function), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && + verifier.EndTable(); + } + MulOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(MulOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const MulOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct MulOptionsBuilder { + typedef MulOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { + fbb_.AddElement(MulOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); + } + explicit MulOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateMulOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE) { + MulOptionsBuilder builder_(_fbb); + builder_.add_fused_activation_function(fused_activation_function); + return builder_.Finish(); +} + +flatbuffers::Offset CreateMulOptions(flatbuffers::FlatBufferBuilder &_fbb, const MulOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct L2NormOptionsT : public flatbuffers::NativeTable { + typedef L2NormOptions TableType; + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; +}; + +struct L2NormOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef L2NormOptionsT NativeTableType; + typedef L2NormOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return L2NormOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4 + }; + tflite::ActivationFunctionType fused_activation_function() const { + return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); + } + bool mutate_fused_activation_function(tflite::ActivationFunctionType _fused_activation_function) { + return SetField(VT_FUSED_ACTIVATION_FUNCTION, static_cast(_fused_activation_function), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && + verifier.EndTable(); + } + L2NormOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(L2NormOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const L2NormOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct L2NormOptionsBuilder { + typedef L2NormOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { + fbb_.AddElement(L2NormOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); + } + explicit L2NormOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateL2NormOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE) { + L2NormOptionsBuilder builder_(_fbb); + builder_.add_fused_activation_function(fused_activation_function); + return builder_.Finish(); +} + +flatbuffers::Offset CreateL2NormOptions(flatbuffers::FlatBufferBuilder &_fbb, const L2NormOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LocalResponseNormalizationOptionsT : public flatbuffers::NativeTable { + typedef LocalResponseNormalizationOptions TableType; + int32_t radius = 0; + float bias = 0.0f; + float alpha = 0.0f; + float beta = 0.0f; +}; + +struct LocalResponseNormalizationOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LocalResponseNormalizationOptionsT NativeTableType; + typedef LocalResponseNormalizationOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LocalResponseNormalizationOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_RADIUS = 4, + VT_BIAS = 6, + VT_ALPHA = 8, + VT_BETA = 10 + }; + int32_t radius() const { + return GetField(VT_RADIUS, 0); + } + bool mutate_radius(int32_t _radius) { + return SetField(VT_RADIUS, _radius, 0); + } + float bias() const { + return GetField(VT_BIAS, 0.0f); + } + bool mutate_bias(float _bias) { + return SetField(VT_BIAS, _bias, 0.0f); + } + float alpha() const { + return GetField(VT_ALPHA, 0.0f); + } + bool mutate_alpha(float _alpha) { + return SetField(VT_ALPHA, _alpha, 0.0f); + } + float beta() const { + return GetField(VT_BETA, 0.0f); + } + bool mutate_beta(float _beta) { + return SetField(VT_BETA, _beta, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_RADIUS) && + VerifyField(verifier, VT_BIAS) && + VerifyField(verifier, VT_ALPHA) && + VerifyField(verifier, VT_BETA) && + verifier.EndTable(); + } + LocalResponseNormalizationOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LocalResponseNormalizationOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LocalResponseNormalizationOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LocalResponseNormalizationOptionsBuilder { + typedef LocalResponseNormalizationOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_radius(int32_t radius) { + fbb_.AddElement(LocalResponseNormalizationOptions::VT_RADIUS, radius, 0); + } + void add_bias(float bias) { + fbb_.AddElement(LocalResponseNormalizationOptions::VT_BIAS, bias, 0.0f); + } + void add_alpha(float alpha) { + fbb_.AddElement(LocalResponseNormalizationOptions::VT_ALPHA, alpha, 0.0f); + } + void add_beta(float beta) { + fbb_.AddElement(LocalResponseNormalizationOptions::VT_BETA, beta, 0.0f); + } + explicit LocalResponseNormalizationOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLocalResponseNormalizationOptions( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t radius = 0, + float bias = 0.0f, + float alpha = 0.0f, + float beta = 0.0f) { + LocalResponseNormalizationOptionsBuilder builder_(_fbb); + builder_.add_beta(beta); + builder_.add_alpha(alpha); + builder_.add_bias(bias); + builder_.add_radius(radius); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLocalResponseNormalizationOptions(flatbuffers::FlatBufferBuilder &_fbb, const LocalResponseNormalizationOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LSTMOptionsT : public flatbuffers::NativeTable { + typedef LSTMOptions TableType; + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; + float cell_clip = 0.0f; + float proj_clip = 0.0f; + tflite::LSTMKernelType kernel_type = tflite::LSTMKernelType_FULL; + bool asymmetric_quantize_inputs = false; +}; + +struct LSTMOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LSTMOptionsT NativeTableType; + typedef LSTMOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LSTMOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4, + VT_CELL_CLIP = 6, + VT_PROJ_CLIP = 8, + VT_KERNEL_TYPE = 10, + VT_ASYMMETRIC_QUANTIZE_INPUTS = 12 + }; + tflite::ActivationFunctionType fused_activation_function() const { + return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); + } + bool mutate_fused_activation_function(tflite::ActivationFunctionType _fused_activation_function) { + return SetField(VT_FUSED_ACTIVATION_FUNCTION, static_cast(_fused_activation_function), 0); + } + float cell_clip() const { + return GetField(VT_CELL_CLIP, 0.0f); + } + bool mutate_cell_clip(float _cell_clip) { + return SetField(VT_CELL_CLIP, _cell_clip, 0.0f); + } + float proj_clip() const { + return GetField(VT_PROJ_CLIP, 0.0f); + } + bool mutate_proj_clip(float _proj_clip) { + return SetField(VT_PROJ_CLIP, _proj_clip, 0.0f); + } + tflite::LSTMKernelType kernel_type() const { + return static_cast(GetField(VT_KERNEL_TYPE, 0)); + } + bool mutate_kernel_type(tflite::LSTMKernelType _kernel_type) { + return SetField(VT_KERNEL_TYPE, static_cast(_kernel_type), 0); + } + bool asymmetric_quantize_inputs() const { + return GetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, 0) != 0; + } + bool mutate_asymmetric_quantize_inputs(bool _asymmetric_quantize_inputs) { + return SetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(_asymmetric_quantize_inputs), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && + VerifyField(verifier, VT_CELL_CLIP) && + VerifyField(verifier, VT_PROJ_CLIP) && + VerifyField(verifier, VT_KERNEL_TYPE) && + VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && + verifier.EndTable(); + } + LSTMOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LSTMOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LSTMOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LSTMOptionsBuilder { + typedef LSTMOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { + fbb_.AddElement(LSTMOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); + } + void add_cell_clip(float cell_clip) { + fbb_.AddElement(LSTMOptions::VT_CELL_CLIP, cell_clip, 0.0f); + } + void add_proj_clip(float proj_clip) { + fbb_.AddElement(LSTMOptions::VT_PROJ_CLIP, proj_clip, 0.0f); + } + void add_kernel_type(tflite::LSTMKernelType kernel_type) { + fbb_.AddElement(LSTMOptions::VT_KERNEL_TYPE, static_cast(kernel_type), 0); + } + void add_asymmetric_quantize_inputs(bool asymmetric_quantize_inputs) { + fbb_.AddElement(LSTMOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(asymmetric_quantize_inputs), 0); + } + explicit LSTMOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLSTMOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, + float cell_clip = 0.0f, + float proj_clip = 0.0f, + tflite::LSTMKernelType kernel_type = tflite::LSTMKernelType_FULL, + bool asymmetric_quantize_inputs = false) { + LSTMOptionsBuilder builder_(_fbb); + builder_.add_proj_clip(proj_clip); + builder_.add_cell_clip(cell_clip); + builder_.add_asymmetric_quantize_inputs(asymmetric_quantize_inputs); + builder_.add_kernel_type(kernel_type); + builder_.add_fused_activation_function(fused_activation_function); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLSTMOptions(flatbuffers::FlatBufferBuilder &_fbb, const LSTMOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct UnidirectionalSequenceLSTMOptionsT : public flatbuffers::NativeTable { + typedef UnidirectionalSequenceLSTMOptions TableType; + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; + float cell_clip = 0.0f; + float proj_clip = 0.0f; + bool time_major = false; + bool asymmetric_quantize_inputs = false; +}; + +struct UnidirectionalSequenceLSTMOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef UnidirectionalSequenceLSTMOptionsT NativeTableType; + typedef UnidirectionalSequenceLSTMOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return UnidirectionalSequenceLSTMOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4, + VT_CELL_CLIP = 6, + VT_PROJ_CLIP = 8, + VT_TIME_MAJOR = 10, + VT_ASYMMETRIC_QUANTIZE_INPUTS = 12 + }; + tflite::ActivationFunctionType fused_activation_function() const { + return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); + } + bool mutate_fused_activation_function(tflite::ActivationFunctionType _fused_activation_function) { + return SetField(VT_FUSED_ACTIVATION_FUNCTION, static_cast(_fused_activation_function), 0); + } + float cell_clip() const { + return GetField(VT_CELL_CLIP, 0.0f); + } + bool mutate_cell_clip(float _cell_clip) { + return SetField(VT_CELL_CLIP, _cell_clip, 0.0f); + } + float proj_clip() const { + return GetField(VT_PROJ_CLIP, 0.0f); + } + bool mutate_proj_clip(float _proj_clip) { + return SetField(VT_PROJ_CLIP, _proj_clip, 0.0f); + } + bool time_major() const { + return GetField(VT_TIME_MAJOR, 0) != 0; + } + bool mutate_time_major(bool _time_major) { + return SetField(VT_TIME_MAJOR, static_cast(_time_major), 0); + } + bool asymmetric_quantize_inputs() const { + return GetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, 0) != 0; + } + bool mutate_asymmetric_quantize_inputs(bool _asymmetric_quantize_inputs) { + return SetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(_asymmetric_quantize_inputs), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && + VerifyField(verifier, VT_CELL_CLIP) && + VerifyField(verifier, VT_PROJ_CLIP) && + VerifyField(verifier, VT_TIME_MAJOR) && + VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && + verifier.EndTable(); + } + UnidirectionalSequenceLSTMOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(UnidirectionalSequenceLSTMOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnidirectionalSequenceLSTMOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct UnidirectionalSequenceLSTMOptionsBuilder { + typedef UnidirectionalSequenceLSTMOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { + fbb_.AddElement(UnidirectionalSequenceLSTMOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); + } + void add_cell_clip(float cell_clip) { + fbb_.AddElement(UnidirectionalSequenceLSTMOptions::VT_CELL_CLIP, cell_clip, 0.0f); + } + void add_proj_clip(float proj_clip) { + fbb_.AddElement(UnidirectionalSequenceLSTMOptions::VT_PROJ_CLIP, proj_clip, 0.0f); + } + void add_time_major(bool time_major) { + fbb_.AddElement(UnidirectionalSequenceLSTMOptions::VT_TIME_MAJOR, static_cast(time_major), 0); + } + void add_asymmetric_quantize_inputs(bool asymmetric_quantize_inputs) { + fbb_.AddElement(UnidirectionalSequenceLSTMOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(asymmetric_quantize_inputs), 0); + } + explicit UnidirectionalSequenceLSTMOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateUnidirectionalSequenceLSTMOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, + float cell_clip = 0.0f, + float proj_clip = 0.0f, + bool time_major = false, + bool asymmetric_quantize_inputs = false) { + UnidirectionalSequenceLSTMOptionsBuilder builder_(_fbb); + builder_.add_proj_clip(proj_clip); + builder_.add_cell_clip(cell_clip); + builder_.add_asymmetric_quantize_inputs(asymmetric_quantize_inputs); + builder_.add_time_major(time_major); + builder_.add_fused_activation_function(fused_activation_function); + return builder_.Finish(); +} + +flatbuffers::Offset CreateUnidirectionalSequenceLSTMOptions(flatbuffers::FlatBufferBuilder &_fbb, const UnidirectionalSequenceLSTMOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct BidirectionalSequenceLSTMOptionsT : public flatbuffers::NativeTable { + typedef BidirectionalSequenceLSTMOptions TableType; + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; + float cell_clip = 0.0f; + float proj_clip = 0.0f; + bool merge_outputs = false; + bool time_major = true; + bool asymmetric_quantize_inputs = false; +}; + +struct BidirectionalSequenceLSTMOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BidirectionalSequenceLSTMOptionsT NativeTableType; + typedef BidirectionalSequenceLSTMOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return BidirectionalSequenceLSTMOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4, + VT_CELL_CLIP = 6, + VT_PROJ_CLIP = 8, + VT_MERGE_OUTPUTS = 10, + VT_TIME_MAJOR = 12, + VT_ASYMMETRIC_QUANTIZE_INPUTS = 14 + }; + tflite::ActivationFunctionType fused_activation_function() const { + return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); + } + bool mutate_fused_activation_function(tflite::ActivationFunctionType _fused_activation_function) { + return SetField(VT_FUSED_ACTIVATION_FUNCTION, static_cast(_fused_activation_function), 0); + } + float cell_clip() const { + return GetField(VT_CELL_CLIP, 0.0f); + } + bool mutate_cell_clip(float _cell_clip) { + return SetField(VT_CELL_CLIP, _cell_clip, 0.0f); + } + float proj_clip() const { + return GetField(VT_PROJ_CLIP, 0.0f); + } + bool mutate_proj_clip(float _proj_clip) { + return SetField(VT_PROJ_CLIP, _proj_clip, 0.0f); + } + bool merge_outputs() const { + return GetField(VT_MERGE_OUTPUTS, 0) != 0; + } + bool mutate_merge_outputs(bool _merge_outputs) { + return SetField(VT_MERGE_OUTPUTS, static_cast(_merge_outputs), 0); + } + bool time_major() const { + return GetField(VT_TIME_MAJOR, 1) != 0; + } + bool mutate_time_major(bool _time_major) { + return SetField(VT_TIME_MAJOR, static_cast(_time_major), 1); + } + bool asymmetric_quantize_inputs() const { + return GetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, 0) != 0; + } + bool mutate_asymmetric_quantize_inputs(bool _asymmetric_quantize_inputs) { + return SetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(_asymmetric_quantize_inputs), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && + VerifyField(verifier, VT_CELL_CLIP) && + VerifyField(verifier, VT_PROJ_CLIP) && + VerifyField(verifier, VT_MERGE_OUTPUTS) && + VerifyField(verifier, VT_TIME_MAJOR) && + VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && + verifier.EndTable(); + } + BidirectionalSequenceLSTMOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(BidirectionalSequenceLSTMOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const BidirectionalSequenceLSTMOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct BidirectionalSequenceLSTMOptionsBuilder { + typedef BidirectionalSequenceLSTMOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { + fbb_.AddElement(BidirectionalSequenceLSTMOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); + } + void add_cell_clip(float cell_clip) { + fbb_.AddElement(BidirectionalSequenceLSTMOptions::VT_CELL_CLIP, cell_clip, 0.0f); + } + void add_proj_clip(float proj_clip) { + fbb_.AddElement(BidirectionalSequenceLSTMOptions::VT_PROJ_CLIP, proj_clip, 0.0f); + } + void add_merge_outputs(bool merge_outputs) { + fbb_.AddElement(BidirectionalSequenceLSTMOptions::VT_MERGE_OUTPUTS, static_cast(merge_outputs), 0); + } + void add_time_major(bool time_major) { + fbb_.AddElement(BidirectionalSequenceLSTMOptions::VT_TIME_MAJOR, static_cast(time_major), 1); + } + void add_asymmetric_quantize_inputs(bool asymmetric_quantize_inputs) { + fbb_.AddElement(BidirectionalSequenceLSTMOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(asymmetric_quantize_inputs), 0); + } + explicit BidirectionalSequenceLSTMOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateBidirectionalSequenceLSTMOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, + float cell_clip = 0.0f, + float proj_clip = 0.0f, + bool merge_outputs = false, + bool time_major = true, + bool asymmetric_quantize_inputs = false) { + BidirectionalSequenceLSTMOptionsBuilder builder_(_fbb); + builder_.add_proj_clip(proj_clip); + builder_.add_cell_clip(cell_clip); + builder_.add_asymmetric_quantize_inputs(asymmetric_quantize_inputs); + builder_.add_time_major(time_major); + builder_.add_merge_outputs(merge_outputs); + builder_.add_fused_activation_function(fused_activation_function); + return builder_.Finish(); +} + +flatbuffers::Offset CreateBidirectionalSequenceLSTMOptions(flatbuffers::FlatBufferBuilder &_fbb, const BidirectionalSequenceLSTMOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ResizeBilinearOptionsT : public flatbuffers::NativeTable { + typedef ResizeBilinearOptions TableType; + bool align_corners = false; + bool half_pixel_centers = false; +}; + +struct ResizeBilinearOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ResizeBilinearOptionsT NativeTableType; + typedef ResizeBilinearOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ResizeBilinearOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ALIGN_CORNERS = 8, + VT_HALF_PIXEL_CENTERS = 10 + }; + bool align_corners() const { + return GetField(VT_ALIGN_CORNERS, 0) != 0; + } + bool mutate_align_corners(bool _align_corners) { + return SetField(VT_ALIGN_CORNERS, static_cast(_align_corners), 0); + } + bool half_pixel_centers() const { + return GetField(VT_HALF_PIXEL_CENTERS, 0) != 0; + } + bool mutate_half_pixel_centers(bool _half_pixel_centers) { + return SetField(VT_HALF_PIXEL_CENTERS, static_cast(_half_pixel_centers), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ALIGN_CORNERS) && + VerifyField(verifier, VT_HALF_PIXEL_CENTERS) && + verifier.EndTable(); + } + ResizeBilinearOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ResizeBilinearOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ResizeBilinearOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ResizeBilinearOptionsBuilder { + typedef ResizeBilinearOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_align_corners(bool align_corners) { + fbb_.AddElement(ResizeBilinearOptions::VT_ALIGN_CORNERS, static_cast(align_corners), 0); + } + void add_half_pixel_centers(bool half_pixel_centers) { + fbb_.AddElement(ResizeBilinearOptions::VT_HALF_PIXEL_CENTERS, static_cast(half_pixel_centers), 0); + } + explicit ResizeBilinearOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateResizeBilinearOptions( + flatbuffers::FlatBufferBuilder &_fbb, + bool align_corners = false, + bool half_pixel_centers = false) { + ResizeBilinearOptionsBuilder builder_(_fbb); + builder_.add_half_pixel_centers(half_pixel_centers); + builder_.add_align_corners(align_corners); + return builder_.Finish(); +} + +flatbuffers::Offset CreateResizeBilinearOptions(flatbuffers::FlatBufferBuilder &_fbb, const ResizeBilinearOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ResizeNearestNeighborOptionsT : public flatbuffers::NativeTable { + typedef ResizeNearestNeighborOptions TableType; + bool align_corners = false; + bool half_pixel_centers = false; +}; + +struct ResizeNearestNeighborOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ResizeNearestNeighborOptionsT NativeTableType; + typedef ResizeNearestNeighborOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ResizeNearestNeighborOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ALIGN_CORNERS = 4, + VT_HALF_PIXEL_CENTERS = 6 + }; + bool align_corners() const { + return GetField(VT_ALIGN_CORNERS, 0) != 0; + } + bool mutate_align_corners(bool _align_corners) { + return SetField(VT_ALIGN_CORNERS, static_cast(_align_corners), 0); + } + bool half_pixel_centers() const { + return GetField(VT_HALF_PIXEL_CENTERS, 0) != 0; + } + bool mutate_half_pixel_centers(bool _half_pixel_centers) { + return SetField(VT_HALF_PIXEL_CENTERS, static_cast(_half_pixel_centers), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ALIGN_CORNERS) && + VerifyField(verifier, VT_HALF_PIXEL_CENTERS) && + verifier.EndTable(); + } + ResizeNearestNeighborOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ResizeNearestNeighborOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ResizeNearestNeighborOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ResizeNearestNeighborOptionsBuilder { + typedef ResizeNearestNeighborOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_align_corners(bool align_corners) { + fbb_.AddElement(ResizeNearestNeighborOptions::VT_ALIGN_CORNERS, static_cast(align_corners), 0); + } + void add_half_pixel_centers(bool half_pixel_centers) { + fbb_.AddElement(ResizeNearestNeighborOptions::VT_HALF_PIXEL_CENTERS, static_cast(half_pixel_centers), 0); + } + explicit ResizeNearestNeighborOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateResizeNearestNeighborOptions( + flatbuffers::FlatBufferBuilder &_fbb, + bool align_corners = false, + bool half_pixel_centers = false) { + ResizeNearestNeighborOptionsBuilder builder_(_fbb); + builder_.add_half_pixel_centers(half_pixel_centers); + builder_.add_align_corners(align_corners); + return builder_.Finish(); +} + +flatbuffers::Offset CreateResizeNearestNeighborOptions(flatbuffers::FlatBufferBuilder &_fbb, const ResizeNearestNeighborOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct CallOptionsT : public flatbuffers::NativeTable { + typedef CallOptions TableType; + uint32_t subgraph = 0; +}; + +struct CallOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CallOptionsT NativeTableType; + typedef CallOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return CallOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SUBGRAPH = 4 + }; + uint32_t subgraph() const { + return GetField(VT_SUBGRAPH, 0); + } + bool mutate_subgraph(uint32_t _subgraph) { + return SetField(VT_SUBGRAPH, _subgraph, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_SUBGRAPH) && + verifier.EndTable(); + } + CallOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(CallOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const CallOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct CallOptionsBuilder { + typedef CallOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_subgraph(uint32_t subgraph) { + fbb_.AddElement(CallOptions::VT_SUBGRAPH, subgraph, 0); + } + explicit CallOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateCallOptions( + flatbuffers::FlatBufferBuilder &_fbb, + uint32_t subgraph = 0) { + CallOptionsBuilder builder_(_fbb); + builder_.add_subgraph(subgraph); + return builder_.Finish(); +} + +flatbuffers::Offset CreateCallOptions(flatbuffers::FlatBufferBuilder &_fbb, const CallOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct PadOptionsT : public flatbuffers::NativeTable { + typedef PadOptions TableType; +}; + +struct PadOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef PadOptionsT NativeTableType; + typedef PadOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return PadOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + PadOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(PadOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const PadOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct PadOptionsBuilder { + typedef PadOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit PadOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreatePadOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + PadOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreatePadOptions(flatbuffers::FlatBufferBuilder &_fbb, const PadOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct PadV2OptionsT : public flatbuffers::NativeTable { + typedef PadV2Options TableType; +}; + +struct PadV2Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef PadV2OptionsT NativeTableType; + typedef PadV2OptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return PadV2OptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + PadV2OptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(PadV2OptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const PadV2OptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct PadV2OptionsBuilder { + typedef PadV2Options Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit PadV2OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreatePadV2Options( + flatbuffers::FlatBufferBuilder &_fbb) { + PadV2OptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreatePadV2Options(flatbuffers::FlatBufferBuilder &_fbb, const PadV2OptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ReshapeOptionsT : public flatbuffers::NativeTable { + typedef ReshapeOptions TableType; + std::vector new_shape{}; +}; + +struct ReshapeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ReshapeOptionsT NativeTableType; + typedef ReshapeOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ReshapeOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NEW_SHAPE = 4 + }; + const flatbuffers::Vector *new_shape() const { + return GetPointer *>(VT_NEW_SHAPE); + } + flatbuffers::Vector *mutable_new_shape() { + return GetPointer *>(VT_NEW_SHAPE); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NEW_SHAPE) && + verifier.VerifyVector(new_shape()) && + verifier.EndTable(); + } + ReshapeOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ReshapeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ReshapeOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ReshapeOptionsBuilder { + typedef ReshapeOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_new_shape(flatbuffers::Offset> new_shape) { + fbb_.AddOffset(ReshapeOptions::VT_NEW_SHAPE, new_shape); + } + explicit ReshapeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateReshapeOptions( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> new_shape = 0) { + ReshapeOptionsBuilder builder_(_fbb); + builder_.add_new_shape(new_shape); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateReshapeOptionsDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *new_shape = nullptr) { + auto new_shape__ = new_shape ? _fbb.CreateVector(*new_shape) : 0; + return tflite::CreateReshapeOptions( + _fbb, + new_shape__); +} + +flatbuffers::Offset CreateReshapeOptions(flatbuffers::FlatBufferBuilder &_fbb, const ReshapeOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SpaceToBatchNDOptionsT : public flatbuffers::NativeTable { + typedef SpaceToBatchNDOptions TableType; +}; + +struct SpaceToBatchNDOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SpaceToBatchNDOptionsT NativeTableType; + typedef SpaceToBatchNDOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SpaceToBatchNDOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + SpaceToBatchNDOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SpaceToBatchNDOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SpaceToBatchNDOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SpaceToBatchNDOptionsBuilder { + typedef SpaceToBatchNDOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SpaceToBatchNDOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSpaceToBatchNDOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + SpaceToBatchNDOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSpaceToBatchNDOptions(flatbuffers::FlatBufferBuilder &_fbb, const SpaceToBatchNDOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct BatchToSpaceNDOptionsT : public flatbuffers::NativeTable { + typedef BatchToSpaceNDOptions TableType; +}; + +struct BatchToSpaceNDOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BatchToSpaceNDOptionsT NativeTableType; + typedef BatchToSpaceNDOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return BatchToSpaceNDOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + BatchToSpaceNDOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(BatchToSpaceNDOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const BatchToSpaceNDOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct BatchToSpaceNDOptionsBuilder { + typedef BatchToSpaceNDOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit BatchToSpaceNDOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateBatchToSpaceNDOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + BatchToSpaceNDOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateBatchToSpaceNDOptions(flatbuffers::FlatBufferBuilder &_fbb, const BatchToSpaceNDOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SkipGramOptionsT : public flatbuffers::NativeTable { + typedef SkipGramOptions TableType; + int32_t ngram_size = 0; + int32_t max_skip_size = 0; + bool include_all_ngrams = false; +}; + +struct SkipGramOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SkipGramOptionsT NativeTableType; + typedef SkipGramOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SkipGramOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NGRAM_SIZE = 4, + VT_MAX_SKIP_SIZE = 6, + VT_INCLUDE_ALL_NGRAMS = 8 + }; + int32_t ngram_size() const { + return GetField(VT_NGRAM_SIZE, 0); + } + bool mutate_ngram_size(int32_t _ngram_size) { + return SetField(VT_NGRAM_SIZE, _ngram_size, 0); + } + int32_t max_skip_size() const { + return GetField(VT_MAX_SKIP_SIZE, 0); + } + bool mutate_max_skip_size(int32_t _max_skip_size) { + return SetField(VT_MAX_SKIP_SIZE, _max_skip_size, 0); + } + bool include_all_ngrams() const { + return GetField(VT_INCLUDE_ALL_NGRAMS, 0) != 0; + } + bool mutate_include_all_ngrams(bool _include_all_ngrams) { + return SetField(VT_INCLUDE_ALL_NGRAMS, static_cast(_include_all_ngrams), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_NGRAM_SIZE) && + VerifyField(verifier, VT_MAX_SKIP_SIZE) && + VerifyField(verifier, VT_INCLUDE_ALL_NGRAMS) && + verifier.EndTable(); + } + SkipGramOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SkipGramOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SkipGramOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SkipGramOptionsBuilder { + typedef SkipGramOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_ngram_size(int32_t ngram_size) { + fbb_.AddElement(SkipGramOptions::VT_NGRAM_SIZE, ngram_size, 0); + } + void add_max_skip_size(int32_t max_skip_size) { + fbb_.AddElement(SkipGramOptions::VT_MAX_SKIP_SIZE, max_skip_size, 0); + } + void add_include_all_ngrams(bool include_all_ngrams) { + fbb_.AddElement(SkipGramOptions::VT_INCLUDE_ALL_NGRAMS, static_cast(include_all_ngrams), 0); + } + explicit SkipGramOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSkipGramOptions( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t ngram_size = 0, + int32_t max_skip_size = 0, + bool include_all_ngrams = false) { + SkipGramOptionsBuilder builder_(_fbb); + builder_.add_max_skip_size(max_skip_size); + builder_.add_ngram_size(ngram_size); + builder_.add_include_all_ngrams(include_all_ngrams); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSkipGramOptions(flatbuffers::FlatBufferBuilder &_fbb, const SkipGramOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SpaceToDepthOptionsT : public flatbuffers::NativeTable { + typedef SpaceToDepthOptions TableType; + int32_t block_size = 0; +}; + +struct SpaceToDepthOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SpaceToDepthOptionsT NativeTableType; + typedef SpaceToDepthOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SpaceToDepthOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BLOCK_SIZE = 4 + }; + int32_t block_size() const { + return GetField(VT_BLOCK_SIZE, 0); + } + bool mutate_block_size(int32_t _block_size) { + return SetField(VT_BLOCK_SIZE, _block_size, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BLOCK_SIZE) && + verifier.EndTable(); + } + SpaceToDepthOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SpaceToDepthOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SpaceToDepthOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SpaceToDepthOptionsBuilder { + typedef SpaceToDepthOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_block_size(int32_t block_size) { + fbb_.AddElement(SpaceToDepthOptions::VT_BLOCK_SIZE, block_size, 0); + } + explicit SpaceToDepthOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSpaceToDepthOptions( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t block_size = 0) { + SpaceToDepthOptionsBuilder builder_(_fbb); + builder_.add_block_size(block_size); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSpaceToDepthOptions(flatbuffers::FlatBufferBuilder &_fbb, const SpaceToDepthOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct DepthToSpaceOptionsT : public flatbuffers::NativeTable { + typedef DepthToSpaceOptions TableType; + int32_t block_size = 0; +}; + +struct DepthToSpaceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DepthToSpaceOptionsT NativeTableType; + typedef DepthToSpaceOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return DepthToSpaceOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BLOCK_SIZE = 4 + }; + int32_t block_size() const { + return GetField(VT_BLOCK_SIZE, 0); + } + bool mutate_block_size(int32_t _block_size) { + return SetField(VT_BLOCK_SIZE, _block_size, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BLOCK_SIZE) && + verifier.EndTable(); + } + DepthToSpaceOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(DepthToSpaceOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const DepthToSpaceOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct DepthToSpaceOptionsBuilder { + typedef DepthToSpaceOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_block_size(int32_t block_size) { + fbb_.AddElement(DepthToSpaceOptions::VT_BLOCK_SIZE, block_size, 0); + } + explicit DepthToSpaceOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateDepthToSpaceOptions( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t block_size = 0) { + DepthToSpaceOptionsBuilder builder_(_fbb); + builder_.add_block_size(block_size); + return builder_.Finish(); +} + +flatbuffers::Offset CreateDepthToSpaceOptions(flatbuffers::FlatBufferBuilder &_fbb, const DepthToSpaceOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SubOptionsT : public flatbuffers::NativeTable { + typedef SubOptions TableType; + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; +}; + +struct SubOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SubOptionsT NativeTableType; + typedef SubOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SubOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4 + }; + tflite::ActivationFunctionType fused_activation_function() const { + return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); + } + bool mutate_fused_activation_function(tflite::ActivationFunctionType _fused_activation_function) { + return SetField(VT_FUSED_ACTIVATION_FUNCTION, static_cast(_fused_activation_function), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && + verifier.EndTable(); + } + SubOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SubOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SubOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SubOptionsBuilder { + typedef SubOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { + fbb_.AddElement(SubOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); + } + explicit SubOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSubOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE) { + SubOptionsBuilder builder_(_fbb); + builder_.add_fused_activation_function(fused_activation_function); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSubOptions(flatbuffers::FlatBufferBuilder &_fbb, const SubOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct DivOptionsT : public flatbuffers::NativeTable { + typedef DivOptions TableType; + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; +}; + +struct DivOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DivOptionsT NativeTableType; + typedef DivOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return DivOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4 + }; + tflite::ActivationFunctionType fused_activation_function() const { + return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); + } + bool mutate_fused_activation_function(tflite::ActivationFunctionType _fused_activation_function) { + return SetField(VT_FUSED_ACTIVATION_FUNCTION, static_cast(_fused_activation_function), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && + verifier.EndTable(); + } + DivOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(DivOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const DivOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct DivOptionsBuilder { + typedef DivOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { + fbb_.AddElement(DivOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); + } + explicit DivOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateDivOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE) { + DivOptionsBuilder builder_(_fbb); + builder_.add_fused_activation_function(fused_activation_function); + return builder_.Finish(); +} + +flatbuffers::Offset CreateDivOptions(flatbuffers::FlatBufferBuilder &_fbb, const DivOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct TopKV2OptionsT : public flatbuffers::NativeTable { + typedef TopKV2Options TableType; +}; + +struct TopKV2Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TopKV2OptionsT NativeTableType; + typedef TopKV2OptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return TopKV2OptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + TopKV2OptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(TopKV2OptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const TopKV2OptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct TopKV2OptionsBuilder { + typedef TopKV2Options Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit TopKV2OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTopKV2Options( + flatbuffers::FlatBufferBuilder &_fbb) { + TopKV2OptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateTopKV2Options(flatbuffers::FlatBufferBuilder &_fbb, const TopKV2OptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct EmbeddingLookupSparseOptionsT : public flatbuffers::NativeTable { + typedef EmbeddingLookupSparseOptions TableType; + tflite::CombinerType combiner = tflite::CombinerType_SUM; +}; + +struct EmbeddingLookupSparseOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef EmbeddingLookupSparseOptionsT NativeTableType; + typedef EmbeddingLookupSparseOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return EmbeddingLookupSparseOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_COMBINER = 4 + }; + tflite::CombinerType combiner() const { + return static_cast(GetField(VT_COMBINER, 0)); + } + bool mutate_combiner(tflite::CombinerType _combiner) { + return SetField(VT_COMBINER, static_cast(_combiner), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_COMBINER) && + verifier.EndTable(); + } + EmbeddingLookupSparseOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(EmbeddingLookupSparseOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const EmbeddingLookupSparseOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct EmbeddingLookupSparseOptionsBuilder { + typedef EmbeddingLookupSparseOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_combiner(tflite::CombinerType combiner) { + fbb_.AddElement(EmbeddingLookupSparseOptions::VT_COMBINER, static_cast(combiner), 0); + } + explicit EmbeddingLookupSparseOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateEmbeddingLookupSparseOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::CombinerType combiner = tflite::CombinerType_SUM) { + EmbeddingLookupSparseOptionsBuilder builder_(_fbb); + builder_.add_combiner(combiner); + return builder_.Finish(); +} + +flatbuffers::Offset CreateEmbeddingLookupSparseOptions(flatbuffers::FlatBufferBuilder &_fbb, const EmbeddingLookupSparseOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct GatherOptionsT : public flatbuffers::NativeTable { + typedef GatherOptions TableType; + int32_t axis = 0; +}; + +struct GatherOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GatherOptionsT NativeTableType; + typedef GatherOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return GatherOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4 + }; + int32_t axis() const { + return GetField(VT_AXIS, 0); + } + bool mutate_axis(int32_t _axis) { + return SetField(VT_AXIS, _axis, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_AXIS) && + verifier.EndTable(); + } + GatherOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(GatherOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const GatherOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct GatherOptionsBuilder { + typedef GatherOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(int32_t axis) { + fbb_.AddElement(GatherOptions::VT_AXIS, axis, 0); + } + explicit GatherOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateGatherOptions( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t axis = 0) { + GatherOptionsBuilder builder_(_fbb); + builder_.add_axis(axis); + return builder_.Finish(); +} + +flatbuffers::Offset CreateGatherOptions(flatbuffers::FlatBufferBuilder &_fbb, const GatherOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct TransposeOptionsT : public flatbuffers::NativeTable { + typedef TransposeOptions TableType; +}; + +struct TransposeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TransposeOptionsT NativeTableType; + typedef TransposeOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return TransposeOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + TransposeOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(TransposeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const TransposeOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct TransposeOptionsBuilder { + typedef TransposeOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit TransposeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTransposeOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + TransposeOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateTransposeOptions(flatbuffers::FlatBufferBuilder &_fbb, const TransposeOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ExpOptionsT : public flatbuffers::NativeTable { + typedef ExpOptions TableType; +}; + +struct ExpOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ExpOptionsT NativeTableType; + typedef ExpOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ExpOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + ExpOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ExpOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ExpOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ExpOptionsBuilder { + typedef ExpOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ExpOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateExpOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + ExpOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateExpOptions(flatbuffers::FlatBufferBuilder &_fbb, const ExpOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct CosOptionsT : public flatbuffers::NativeTable { + typedef CosOptions TableType; +}; + +struct CosOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CosOptionsT NativeTableType; + typedef CosOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return CosOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + CosOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(CosOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const CosOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct CosOptionsBuilder { + typedef CosOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit CosOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateCosOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + CosOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateCosOptions(flatbuffers::FlatBufferBuilder &_fbb, const CosOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ReducerOptionsT : public flatbuffers::NativeTable { + typedef ReducerOptions TableType; + bool keep_dims = false; +}; + +struct ReducerOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ReducerOptionsT NativeTableType; + typedef ReducerOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ReducerOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_KEEP_DIMS = 4 + }; + bool keep_dims() const { + return GetField(VT_KEEP_DIMS, 0) != 0; + } + bool mutate_keep_dims(bool _keep_dims) { + return SetField(VT_KEEP_DIMS, static_cast(_keep_dims), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_KEEP_DIMS) && + verifier.EndTable(); + } + ReducerOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ReducerOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ReducerOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ReducerOptionsBuilder { + typedef ReducerOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_keep_dims(bool keep_dims) { + fbb_.AddElement(ReducerOptions::VT_KEEP_DIMS, static_cast(keep_dims), 0); + } + explicit ReducerOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateReducerOptions( + flatbuffers::FlatBufferBuilder &_fbb, + bool keep_dims = false) { + ReducerOptionsBuilder builder_(_fbb); + builder_.add_keep_dims(keep_dims); + return builder_.Finish(); +} + +flatbuffers::Offset CreateReducerOptions(flatbuffers::FlatBufferBuilder &_fbb, const ReducerOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SqueezeOptionsT : public flatbuffers::NativeTable { + typedef SqueezeOptions TableType; + std::vector squeeze_dims{}; +}; + +struct SqueezeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SqueezeOptionsT NativeTableType; + typedef SqueezeOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SqueezeOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SQUEEZE_DIMS = 4 + }; + const flatbuffers::Vector *squeeze_dims() const { + return GetPointer *>(VT_SQUEEZE_DIMS); + } + flatbuffers::Vector *mutable_squeeze_dims() { + return GetPointer *>(VT_SQUEEZE_DIMS); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_SQUEEZE_DIMS) && + verifier.VerifyVector(squeeze_dims()) && + verifier.EndTable(); + } + SqueezeOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SqueezeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SqueezeOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SqueezeOptionsBuilder { + typedef SqueezeOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_squeeze_dims(flatbuffers::Offset> squeeze_dims) { + fbb_.AddOffset(SqueezeOptions::VT_SQUEEZE_DIMS, squeeze_dims); + } + explicit SqueezeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSqueezeOptions( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> squeeze_dims = 0) { + SqueezeOptionsBuilder builder_(_fbb); + builder_.add_squeeze_dims(squeeze_dims); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateSqueezeOptionsDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *squeeze_dims = nullptr) { + auto squeeze_dims__ = squeeze_dims ? _fbb.CreateVector(*squeeze_dims) : 0; + return tflite::CreateSqueezeOptions( + _fbb, + squeeze_dims__); +} + +flatbuffers::Offset CreateSqueezeOptions(flatbuffers::FlatBufferBuilder &_fbb, const SqueezeOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SplitOptionsT : public flatbuffers::NativeTable { + typedef SplitOptions TableType; + int32_t num_splits = 0; +}; + +struct SplitOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SplitOptionsT NativeTableType; + typedef SplitOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SplitOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NUM_SPLITS = 4 + }; + int32_t num_splits() const { + return GetField(VT_NUM_SPLITS, 0); + } + bool mutate_num_splits(int32_t _num_splits) { + return SetField(VT_NUM_SPLITS, _num_splits, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_NUM_SPLITS) && + verifier.EndTable(); + } + SplitOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SplitOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SplitOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SplitOptionsBuilder { + typedef SplitOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_num_splits(int32_t num_splits) { + fbb_.AddElement(SplitOptions::VT_NUM_SPLITS, num_splits, 0); + } + explicit SplitOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSplitOptions( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t num_splits = 0) { + SplitOptionsBuilder builder_(_fbb); + builder_.add_num_splits(num_splits); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSplitOptions(flatbuffers::FlatBufferBuilder &_fbb, const SplitOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SplitVOptionsT : public flatbuffers::NativeTable { + typedef SplitVOptions TableType; + int32_t num_splits = 0; +}; + +struct SplitVOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SplitVOptionsT NativeTableType; + typedef SplitVOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SplitVOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NUM_SPLITS = 4 + }; + int32_t num_splits() const { + return GetField(VT_NUM_SPLITS, 0); + } + bool mutate_num_splits(int32_t _num_splits) { + return SetField(VT_NUM_SPLITS, _num_splits, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_NUM_SPLITS) && + verifier.EndTable(); + } + SplitVOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SplitVOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SplitVOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SplitVOptionsBuilder { + typedef SplitVOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_num_splits(int32_t num_splits) { + fbb_.AddElement(SplitVOptions::VT_NUM_SPLITS, num_splits, 0); + } + explicit SplitVOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSplitVOptions( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t num_splits = 0) { + SplitVOptionsBuilder builder_(_fbb); + builder_.add_num_splits(num_splits); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSplitVOptions(flatbuffers::FlatBufferBuilder &_fbb, const SplitVOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct StridedSliceOptionsT : public flatbuffers::NativeTable { + typedef StridedSliceOptions TableType; + int32_t begin_mask = 0; + int32_t end_mask = 0; + int32_t ellipsis_mask = 0; + int32_t new_axis_mask = 0; + int32_t shrink_axis_mask = 0; +}; + +struct StridedSliceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef StridedSliceOptionsT NativeTableType; + typedef StridedSliceOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return StridedSliceOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BEGIN_MASK = 4, + VT_END_MASK = 6, + VT_ELLIPSIS_MASK = 8, + VT_NEW_AXIS_MASK = 10, + VT_SHRINK_AXIS_MASK = 12 + }; + int32_t begin_mask() const { + return GetField(VT_BEGIN_MASK, 0); + } + bool mutate_begin_mask(int32_t _begin_mask) { + return SetField(VT_BEGIN_MASK, _begin_mask, 0); + } + int32_t end_mask() const { + return GetField(VT_END_MASK, 0); + } + bool mutate_end_mask(int32_t _end_mask) { + return SetField(VT_END_MASK, _end_mask, 0); + } + int32_t ellipsis_mask() const { + return GetField(VT_ELLIPSIS_MASK, 0); + } + bool mutate_ellipsis_mask(int32_t _ellipsis_mask) { + return SetField(VT_ELLIPSIS_MASK, _ellipsis_mask, 0); + } + int32_t new_axis_mask() const { + return GetField(VT_NEW_AXIS_MASK, 0); + } + bool mutate_new_axis_mask(int32_t _new_axis_mask) { + return SetField(VT_NEW_AXIS_MASK, _new_axis_mask, 0); + } + int32_t shrink_axis_mask() const { + return GetField(VT_SHRINK_AXIS_MASK, 0); + } + bool mutate_shrink_axis_mask(int32_t _shrink_axis_mask) { + return SetField(VT_SHRINK_AXIS_MASK, _shrink_axis_mask, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BEGIN_MASK) && + VerifyField(verifier, VT_END_MASK) && + VerifyField(verifier, VT_ELLIPSIS_MASK) && + VerifyField(verifier, VT_NEW_AXIS_MASK) && + VerifyField(verifier, VT_SHRINK_AXIS_MASK) && + verifier.EndTable(); + } + StridedSliceOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(StridedSliceOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const StridedSliceOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct StridedSliceOptionsBuilder { + typedef StridedSliceOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_begin_mask(int32_t begin_mask) { + fbb_.AddElement(StridedSliceOptions::VT_BEGIN_MASK, begin_mask, 0); + } + void add_end_mask(int32_t end_mask) { + fbb_.AddElement(StridedSliceOptions::VT_END_MASK, end_mask, 0); + } + void add_ellipsis_mask(int32_t ellipsis_mask) { + fbb_.AddElement(StridedSliceOptions::VT_ELLIPSIS_MASK, ellipsis_mask, 0); + } + void add_new_axis_mask(int32_t new_axis_mask) { + fbb_.AddElement(StridedSliceOptions::VT_NEW_AXIS_MASK, new_axis_mask, 0); + } + void add_shrink_axis_mask(int32_t shrink_axis_mask) { + fbb_.AddElement(StridedSliceOptions::VT_SHRINK_AXIS_MASK, shrink_axis_mask, 0); + } + explicit StridedSliceOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateStridedSliceOptions( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t begin_mask = 0, + int32_t end_mask = 0, + int32_t ellipsis_mask = 0, + int32_t new_axis_mask = 0, + int32_t shrink_axis_mask = 0) { + StridedSliceOptionsBuilder builder_(_fbb); + builder_.add_shrink_axis_mask(shrink_axis_mask); + builder_.add_new_axis_mask(new_axis_mask); + builder_.add_ellipsis_mask(ellipsis_mask); + builder_.add_end_mask(end_mask); + builder_.add_begin_mask(begin_mask); + return builder_.Finish(); +} + +flatbuffers::Offset CreateStridedSliceOptions(flatbuffers::FlatBufferBuilder &_fbb, const StridedSliceOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LogSoftmaxOptionsT : public flatbuffers::NativeTable { + typedef LogSoftmaxOptions TableType; +}; + +struct LogSoftmaxOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LogSoftmaxOptionsT NativeTableType; + typedef LogSoftmaxOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LogSoftmaxOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + LogSoftmaxOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LogSoftmaxOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogSoftmaxOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LogSoftmaxOptionsBuilder { + typedef LogSoftmaxOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LogSoftmaxOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLogSoftmaxOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + LogSoftmaxOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLogSoftmaxOptions(flatbuffers::FlatBufferBuilder &_fbb, const LogSoftmaxOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct CastOptionsT : public flatbuffers::NativeTable { + typedef CastOptions TableType; + tflite::TensorType in_data_type = tflite::TensorType_FLOAT32; + tflite::TensorType out_data_type = tflite::TensorType_FLOAT32; +}; + +struct CastOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CastOptionsT NativeTableType; + typedef CastOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return CastOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_IN_DATA_TYPE = 4, + VT_OUT_DATA_TYPE = 6 + }; + tflite::TensorType in_data_type() const { + return static_cast(GetField(VT_IN_DATA_TYPE, 0)); + } + bool mutate_in_data_type(tflite::TensorType _in_data_type) { + return SetField(VT_IN_DATA_TYPE, static_cast(_in_data_type), 0); + } + tflite::TensorType out_data_type() const { + return static_cast(GetField(VT_OUT_DATA_TYPE, 0)); + } + bool mutate_out_data_type(tflite::TensorType _out_data_type) { + return SetField(VT_OUT_DATA_TYPE, static_cast(_out_data_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_IN_DATA_TYPE) && + VerifyField(verifier, VT_OUT_DATA_TYPE) && + verifier.EndTable(); + } + CastOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(CastOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const CastOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct CastOptionsBuilder { + typedef CastOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_in_data_type(tflite::TensorType in_data_type) { + fbb_.AddElement(CastOptions::VT_IN_DATA_TYPE, static_cast(in_data_type), 0); + } + void add_out_data_type(tflite::TensorType out_data_type) { + fbb_.AddElement(CastOptions::VT_OUT_DATA_TYPE, static_cast(out_data_type), 0); + } + explicit CastOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateCastOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::TensorType in_data_type = tflite::TensorType_FLOAT32, + tflite::TensorType out_data_type = tflite::TensorType_FLOAT32) { + CastOptionsBuilder builder_(_fbb); + builder_.add_out_data_type(out_data_type); + builder_.add_in_data_type(in_data_type); + return builder_.Finish(); +} + +flatbuffers::Offset CreateCastOptions(flatbuffers::FlatBufferBuilder &_fbb, const CastOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct DequantizeOptionsT : public flatbuffers::NativeTable { + typedef DequantizeOptions TableType; +}; + +struct DequantizeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DequantizeOptionsT NativeTableType; + typedef DequantizeOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return DequantizeOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + DequantizeOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(DequantizeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const DequantizeOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct DequantizeOptionsBuilder { + typedef DequantizeOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit DequantizeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateDequantizeOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + DequantizeOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateDequantizeOptions(flatbuffers::FlatBufferBuilder &_fbb, const DequantizeOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct MaximumMinimumOptionsT : public flatbuffers::NativeTable { + typedef MaximumMinimumOptions TableType; +}; + +struct MaximumMinimumOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MaximumMinimumOptionsT NativeTableType; + typedef MaximumMinimumOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return MaximumMinimumOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + MaximumMinimumOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(MaximumMinimumOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const MaximumMinimumOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct MaximumMinimumOptionsBuilder { + typedef MaximumMinimumOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit MaximumMinimumOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateMaximumMinimumOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + MaximumMinimumOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateMaximumMinimumOptions(flatbuffers::FlatBufferBuilder &_fbb, const MaximumMinimumOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct TileOptionsT : public flatbuffers::NativeTable { + typedef TileOptions TableType; +}; + +struct TileOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TileOptionsT NativeTableType; + typedef TileOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return TileOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + TileOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(TileOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const TileOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct TileOptionsBuilder { + typedef TileOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit TileOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTileOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + TileOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateTileOptions(flatbuffers::FlatBufferBuilder &_fbb, const TileOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ArgMaxOptionsT : public flatbuffers::NativeTable { + typedef ArgMaxOptions TableType; + tflite::TensorType output_type = tflite::TensorType_FLOAT32; +}; + +struct ArgMaxOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ArgMaxOptionsT NativeTableType; + typedef ArgMaxOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ArgMaxOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_OUTPUT_TYPE = 4 + }; + tflite::TensorType output_type() const { + return static_cast(GetField(VT_OUTPUT_TYPE, 0)); + } + bool mutate_output_type(tflite::TensorType _output_type) { + return SetField(VT_OUTPUT_TYPE, static_cast(_output_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_OUTPUT_TYPE) && + verifier.EndTable(); + } + ArgMaxOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ArgMaxOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ArgMaxOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ArgMaxOptionsBuilder { + typedef ArgMaxOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_output_type(tflite::TensorType output_type) { + fbb_.AddElement(ArgMaxOptions::VT_OUTPUT_TYPE, static_cast(output_type), 0); + } + explicit ArgMaxOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateArgMaxOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::TensorType output_type = tflite::TensorType_FLOAT32) { + ArgMaxOptionsBuilder builder_(_fbb); + builder_.add_output_type(output_type); + return builder_.Finish(); +} + +flatbuffers::Offset CreateArgMaxOptions(flatbuffers::FlatBufferBuilder &_fbb, const ArgMaxOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ArgMinOptionsT : public flatbuffers::NativeTable { + typedef ArgMinOptions TableType; + tflite::TensorType output_type = tflite::TensorType_FLOAT32; +}; + +struct ArgMinOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ArgMinOptionsT NativeTableType; + typedef ArgMinOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ArgMinOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_OUTPUT_TYPE = 4 + }; + tflite::TensorType output_type() const { + return static_cast(GetField(VT_OUTPUT_TYPE, 0)); + } + bool mutate_output_type(tflite::TensorType _output_type) { + return SetField(VT_OUTPUT_TYPE, static_cast(_output_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_OUTPUT_TYPE) && + verifier.EndTable(); + } + ArgMinOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ArgMinOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ArgMinOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ArgMinOptionsBuilder { + typedef ArgMinOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_output_type(tflite::TensorType output_type) { + fbb_.AddElement(ArgMinOptions::VT_OUTPUT_TYPE, static_cast(output_type), 0); + } + explicit ArgMinOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateArgMinOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::TensorType output_type = tflite::TensorType_FLOAT32) { + ArgMinOptionsBuilder builder_(_fbb); + builder_.add_output_type(output_type); + return builder_.Finish(); +} + +flatbuffers::Offset CreateArgMinOptions(flatbuffers::FlatBufferBuilder &_fbb, const ArgMinOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct GreaterOptionsT : public flatbuffers::NativeTable { + typedef GreaterOptions TableType; +}; + +struct GreaterOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GreaterOptionsT NativeTableType; + typedef GreaterOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return GreaterOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + GreaterOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(GreaterOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const GreaterOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct GreaterOptionsBuilder { + typedef GreaterOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit GreaterOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateGreaterOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + GreaterOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateGreaterOptions(flatbuffers::FlatBufferBuilder &_fbb, const GreaterOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct GreaterEqualOptionsT : public flatbuffers::NativeTable { + typedef GreaterEqualOptions TableType; +}; + +struct GreaterEqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GreaterEqualOptionsT NativeTableType; + typedef GreaterEqualOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return GreaterEqualOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + GreaterEqualOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(GreaterEqualOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const GreaterEqualOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct GreaterEqualOptionsBuilder { + typedef GreaterEqualOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit GreaterEqualOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateGreaterEqualOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + GreaterEqualOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateGreaterEqualOptions(flatbuffers::FlatBufferBuilder &_fbb, const GreaterEqualOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LessOptionsT : public flatbuffers::NativeTable { + typedef LessOptions TableType; +}; + +struct LessOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LessOptionsT NativeTableType; + typedef LessOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LessOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + LessOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LessOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LessOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LessOptionsBuilder { + typedef LessOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LessOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLessOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + LessOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLessOptions(flatbuffers::FlatBufferBuilder &_fbb, const LessOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LessEqualOptionsT : public flatbuffers::NativeTable { + typedef LessEqualOptions TableType; +}; + +struct LessEqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LessEqualOptionsT NativeTableType; + typedef LessEqualOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LessEqualOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + LessEqualOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LessEqualOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LessEqualOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LessEqualOptionsBuilder { + typedef LessEqualOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LessEqualOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLessEqualOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + LessEqualOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLessEqualOptions(flatbuffers::FlatBufferBuilder &_fbb, const LessEqualOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct NegOptionsT : public flatbuffers::NativeTable { + typedef NegOptions TableType; +}; + +struct NegOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef NegOptionsT NativeTableType; + typedef NegOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return NegOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + NegOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(NegOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const NegOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct NegOptionsBuilder { + typedef NegOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit NegOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateNegOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + NegOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateNegOptions(flatbuffers::FlatBufferBuilder &_fbb, const NegOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SelectOptionsT : public flatbuffers::NativeTable { + typedef SelectOptions TableType; +}; + +struct SelectOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SelectOptionsT NativeTableType; + typedef SelectOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SelectOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + SelectOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SelectOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SelectOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SelectOptionsBuilder { + typedef SelectOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SelectOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSelectOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + SelectOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSelectOptions(flatbuffers::FlatBufferBuilder &_fbb, const SelectOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SliceOptionsT : public flatbuffers::NativeTable { + typedef SliceOptions TableType; +}; + +struct SliceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SliceOptionsT NativeTableType; + typedef SliceOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SliceOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + SliceOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SliceOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SliceOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SliceOptionsBuilder { + typedef SliceOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SliceOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSliceOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + SliceOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSliceOptions(flatbuffers::FlatBufferBuilder &_fbb, const SliceOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct TransposeConvOptionsT : public flatbuffers::NativeTable { + typedef TransposeConvOptions TableType; + tflite::Padding padding = tflite::Padding_SAME; + int32_t stride_w = 0; + int32_t stride_h = 0; +}; + +struct TransposeConvOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TransposeConvOptionsT NativeTableType; + typedef TransposeConvOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return TransposeConvOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PADDING = 4, + VT_STRIDE_W = 6, + VT_STRIDE_H = 8 + }; + tflite::Padding padding() const { + return static_cast(GetField(VT_PADDING, 0)); + } + bool mutate_padding(tflite::Padding _padding) { + return SetField(VT_PADDING, static_cast(_padding), 0); + } + int32_t stride_w() const { + return GetField(VT_STRIDE_W, 0); + } + bool mutate_stride_w(int32_t _stride_w) { + return SetField(VT_STRIDE_W, _stride_w, 0); + } + int32_t stride_h() const { + return GetField(VT_STRIDE_H, 0); + } + bool mutate_stride_h(int32_t _stride_h) { + return SetField(VT_STRIDE_H, _stride_h, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_PADDING) && + VerifyField(verifier, VT_STRIDE_W) && + VerifyField(verifier, VT_STRIDE_H) && + verifier.EndTable(); + } + TransposeConvOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(TransposeConvOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const TransposeConvOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct TransposeConvOptionsBuilder { + typedef TransposeConvOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_padding(tflite::Padding padding) { + fbb_.AddElement(TransposeConvOptions::VT_PADDING, static_cast(padding), 0); + } + void add_stride_w(int32_t stride_w) { + fbb_.AddElement(TransposeConvOptions::VT_STRIDE_W, stride_w, 0); + } + void add_stride_h(int32_t stride_h) { + fbb_.AddElement(TransposeConvOptions::VT_STRIDE_H, stride_h, 0); + } + explicit TransposeConvOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTransposeConvOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::Padding padding = tflite::Padding_SAME, + int32_t stride_w = 0, + int32_t stride_h = 0) { + TransposeConvOptionsBuilder builder_(_fbb); + builder_.add_stride_h(stride_h); + builder_.add_stride_w(stride_w); + builder_.add_padding(padding); + return builder_.Finish(); +} + +flatbuffers::Offset CreateTransposeConvOptions(flatbuffers::FlatBufferBuilder &_fbb, const TransposeConvOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ExpandDimsOptionsT : public flatbuffers::NativeTable { + typedef ExpandDimsOptions TableType; +}; + +struct ExpandDimsOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ExpandDimsOptionsT NativeTableType; + typedef ExpandDimsOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ExpandDimsOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + ExpandDimsOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ExpandDimsOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ExpandDimsOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ExpandDimsOptionsBuilder { + typedef ExpandDimsOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ExpandDimsOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateExpandDimsOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + ExpandDimsOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateExpandDimsOptions(flatbuffers::FlatBufferBuilder &_fbb, const ExpandDimsOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SparseToDenseOptionsT : public flatbuffers::NativeTable { + typedef SparseToDenseOptions TableType; + bool validate_indices = false; +}; + +struct SparseToDenseOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SparseToDenseOptionsT NativeTableType; + typedef SparseToDenseOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SparseToDenseOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_VALIDATE_INDICES = 4 + }; + bool validate_indices() const { + return GetField(VT_VALIDATE_INDICES, 0) != 0; + } + bool mutate_validate_indices(bool _validate_indices) { + return SetField(VT_VALIDATE_INDICES, static_cast(_validate_indices), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_VALIDATE_INDICES) && + verifier.EndTable(); + } + SparseToDenseOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SparseToDenseOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SparseToDenseOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SparseToDenseOptionsBuilder { + typedef SparseToDenseOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_validate_indices(bool validate_indices) { + fbb_.AddElement(SparseToDenseOptions::VT_VALIDATE_INDICES, static_cast(validate_indices), 0); + } + explicit SparseToDenseOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSparseToDenseOptions( + flatbuffers::FlatBufferBuilder &_fbb, + bool validate_indices = false) { + SparseToDenseOptionsBuilder builder_(_fbb); + builder_.add_validate_indices(validate_indices); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSparseToDenseOptions(flatbuffers::FlatBufferBuilder &_fbb, const SparseToDenseOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct EqualOptionsT : public flatbuffers::NativeTable { + typedef EqualOptions TableType; +}; + +struct EqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef EqualOptionsT NativeTableType; + typedef EqualOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return EqualOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + EqualOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(EqualOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const EqualOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct EqualOptionsBuilder { + typedef EqualOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit EqualOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateEqualOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + EqualOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateEqualOptions(flatbuffers::FlatBufferBuilder &_fbb, const EqualOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct NotEqualOptionsT : public flatbuffers::NativeTable { + typedef NotEqualOptions TableType; +}; + +struct NotEqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef NotEqualOptionsT NativeTableType; + typedef NotEqualOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return NotEqualOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + NotEqualOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(NotEqualOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const NotEqualOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct NotEqualOptionsBuilder { + typedef NotEqualOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit NotEqualOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateNotEqualOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + NotEqualOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateNotEqualOptions(flatbuffers::FlatBufferBuilder &_fbb, const NotEqualOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ShapeOptionsT : public flatbuffers::NativeTable { + typedef ShapeOptions TableType; + tflite::TensorType out_type = tflite::TensorType_FLOAT32; +}; + +struct ShapeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ShapeOptionsT NativeTableType; + typedef ShapeOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ShapeOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_OUT_TYPE = 4 + }; + tflite::TensorType out_type() const { + return static_cast(GetField(VT_OUT_TYPE, 0)); + } + bool mutate_out_type(tflite::TensorType _out_type) { + return SetField(VT_OUT_TYPE, static_cast(_out_type), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_OUT_TYPE) && + verifier.EndTable(); + } + ShapeOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ShapeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ShapeOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ShapeOptionsBuilder { + typedef ShapeOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_out_type(tflite::TensorType out_type) { + fbb_.AddElement(ShapeOptions::VT_OUT_TYPE, static_cast(out_type), 0); + } + explicit ShapeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateShapeOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::TensorType out_type = tflite::TensorType_FLOAT32) { + ShapeOptionsBuilder builder_(_fbb); + builder_.add_out_type(out_type); + return builder_.Finish(); +} + +flatbuffers::Offset CreateShapeOptions(flatbuffers::FlatBufferBuilder &_fbb, const ShapeOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct RankOptionsT : public flatbuffers::NativeTable { + typedef RankOptions TableType; +}; + +struct RankOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef RankOptionsT NativeTableType; + typedef RankOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return RankOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + RankOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(RankOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const RankOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct RankOptionsBuilder { + typedef RankOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit RankOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateRankOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + RankOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateRankOptions(flatbuffers::FlatBufferBuilder &_fbb, const RankOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct PowOptionsT : public flatbuffers::NativeTable { + typedef PowOptions TableType; +}; + +struct PowOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef PowOptionsT NativeTableType; + typedef PowOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return PowOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + PowOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(PowOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const PowOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct PowOptionsBuilder { + typedef PowOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit PowOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreatePowOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + PowOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreatePowOptions(flatbuffers::FlatBufferBuilder &_fbb, const PowOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct FakeQuantOptionsT : public flatbuffers::NativeTable { + typedef FakeQuantOptions TableType; + float min = 0.0f; + float max = 0.0f; + int32_t num_bits = 0; + bool narrow_range = false; +}; + +struct FakeQuantOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FakeQuantOptionsT NativeTableType; + typedef FakeQuantOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return FakeQuantOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_MIN = 4, + VT_MAX = 6, + VT_NUM_BITS = 8, + VT_NARROW_RANGE = 10 + }; + float min() const { + return GetField(VT_MIN, 0.0f); + } + bool mutate_min(float _min) { + return SetField(VT_MIN, _min, 0.0f); + } + float max() const { + return GetField(VT_MAX, 0.0f); + } + bool mutate_max(float _max) { + return SetField(VT_MAX, _max, 0.0f); + } + int32_t num_bits() const { + return GetField(VT_NUM_BITS, 0); + } + bool mutate_num_bits(int32_t _num_bits) { + return SetField(VT_NUM_BITS, _num_bits, 0); + } + bool narrow_range() const { + return GetField(VT_NARROW_RANGE, 0) != 0; + } + bool mutate_narrow_range(bool _narrow_range) { + return SetField(VT_NARROW_RANGE, static_cast(_narrow_range), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_MIN) && + VerifyField(verifier, VT_MAX) && + VerifyField(verifier, VT_NUM_BITS) && + VerifyField(verifier, VT_NARROW_RANGE) && + verifier.EndTable(); + } + FakeQuantOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(FakeQuantOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const FakeQuantOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct FakeQuantOptionsBuilder { + typedef FakeQuantOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_min(float min) { + fbb_.AddElement(FakeQuantOptions::VT_MIN, min, 0.0f); + } + void add_max(float max) { + fbb_.AddElement(FakeQuantOptions::VT_MAX, max, 0.0f); + } + void add_num_bits(int32_t num_bits) { + fbb_.AddElement(FakeQuantOptions::VT_NUM_BITS, num_bits, 0); + } + void add_narrow_range(bool narrow_range) { + fbb_.AddElement(FakeQuantOptions::VT_NARROW_RANGE, static_cast(narrow_range), 0); + } + explicit FakeQuantOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateFakeQuantOptions( + flatbuffers::FlatBufferBuilder &_fbb, + float min = 0.0f, + float max = 0.0f, + int32_t num_bits = 0, + bool narrow_range = false) { + FakeQuantOptionsBuilder builder_(_fbb); + builder_.add_num_bits(num_bits); + builder_.add_max(max); + builder_.add_min(min); + builder_.add_narrow_range(narrow_range); + return builder_.Finish(); +} + +flatbuffers::Offset CreateFakeQuantOptions(flatbuffers::FlatBufferBuilder &_fbb, const FakeQuantOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct PackOptionsT : public flatbuffers::NativeTable { + typedef PackOptions TableType; + int32_t values_count = 0; + int32_t axis = 0; +}; + +struct PackOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef PackOptionsT NativeTableType; + typedef PackOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return PackOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_VALUES_COUNT = 4, + VT_AXIS = 6 + }; + int32_t values_count() const { + return GetField(VT_VALUES_COUNT, 0); + } + bool mutate_values_count(int32_t _values_count) { + return SetField(VT_VALUES_COUNT, _values_count, 0); + } + int32_t axis() const { + return GetField(VT_AXIS, 0); + } + bool mutate_axis(int32_t _axis) { + return SetField(VT_AXIS, _axis, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_VALUES_COUNT) && + VerifyField(verifier, VT_AXIS) && + verifier.EndTable(); + } + PackOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(PackOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const PackOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct PackOptionsBuilder { + typedef PackOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_values_count(int32_t values_count) { + fbb_.AddElement(PackOptions::VT_VALUES_COUNT, values_count, 0); + } + void add_axis(int32_t axis) { + fbb_.AddElement(PackOptions::VT_AXIS, axis, 0); + } + explicit PackOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreatePackOptions( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t values_count = 0, + int32_t axis = 0) { + PackOptionsBuilder builder_(_fbb); + builder_.add_axis(axis); + builder_.add_values_count(values_count); + return builder_.Finish(); +} + +flatbuffers::Offset CreatePackOptions(flatbuffers::FlatBufferBuilder &_fbb, const PackOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LogicalOrOptionsT : public flatbuffers::NativeTable { + typedef LogicalOrOptions TableType; +}; + +struct LogicalOrOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LogicalOrOptionsT NativeTableType; + typedef LogicalOrOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LogicalOrOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + LogicalOrOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LogicalOrOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogicalOrOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LogicalOrOptionsBuilder { + typedef LogicalOrOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LogicalOrOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLogicalOrOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + LogicalOrOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLogicalOrOptions(flatbuffers::FlatBufferBuilder &_fbb, const LogicalOrOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct OneHotOptionsT : public flatbuffers::NativeTable { + typedef OneHotOptions TableType; + int32_t axis = 0; +}; + +struct OneHotOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef OneHotOptionsT NativeTableType; + typedef OneHotOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return OneHotOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4 + }; + int32_t axis() const { + return GetField(VT_AXIS, 0); + } + bool mutate_axis(int32_t _axis) { + return SetField(VT_AXIS, _axis, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_AXIS) && + verifier.EndTable(); + } + OneHotOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(OneHotOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const OneHotOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct OneHotOptionsBuilder { + typedef OneHotOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(int32_t axis) { + fbb_.AddElement(OneHotOptions::VT_AXIS, axis, 0); + } + explicit OneHotOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateOneHotOptions( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t axis = 0) { + OneHotOptionsBuilder builder_(_fbb); + builder_.add_axis(axis); + return builder_.Finish(); +} + +flatbuffers::Offset CreateOneHotOptions(flatbuffers::FlatBufferBuilder &_fbb, const OneHotOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct AbsOptionsT : public flatbuffers::NativeTable { + typedef AbsOptions TableType; +}; + +struct AbsOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AbsOptionsT NativeTableType; + typedef AbsOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return AbsOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + AbsOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(AbsOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const AbsOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct AbsOptionsBuilder { + typedef AbsOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit AbsOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAbsOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + AbsOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateAbsOptions(flatbuffers::FlatBufferBuilder &_fbb, const AbsOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct HardSwishOptionsT : public flatbuffers::NativeTable { + typedef HardSwishOptions TableType; +}; + +struct HardSwishOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef HardSwishOptionsT NativeTableType; + typedef HardSwishOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return HardSwishOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + HardSwishOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(HardSwishOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const HardSwishOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct HardSwishOptionsBuilder { + typedef HardSwishOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit HardSwishOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateHardSwishOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + HardSwishOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateHardSwishOptions(flatbuffers::FlatBufferBuilder &_fbb, const HardSwishOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LogicalAndOptionsT : public flatbuffers::NativeTable { + typedef LogicalAndOptions TableType; +}; + +struct LogicalAndOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LogicalAndOptionsT NativeTableType; + typedef LogicalAndOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LogicalAndOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + LogicalAndOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LogicalAndOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogicalAndOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LogicalAndOptionsBuilder { + typedef LogicalAndOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LogicalAndOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLogicalAndOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + LogicalAndOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLogicalAndOptions(flatbuffers::FlatBufferBuilder &_fbb, const LogicalAndOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LogicalNotOptionsT : public flatbuffers::NativeTable { + typedef LogicalNotOptions TableType; +}; + +struct LogicalNotOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LogicalNotOptionsT NativeTableType; + typedef LogicalNotOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LogicalNotOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + LogicalNotOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LogicalNotOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogicalNotOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LogicalNotOptionsBuilder { + typedef LogicalNotOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LogicalNotOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLogicalNotOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + LogicalNotOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLogicalNotOptions(flatbuffers::FlatBufferBuilder &_fbb, const LogicalNotOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct UnpackOptionsT : public flatbuffers::NativeTable { + typedef UnpackOptions TableType; + int32_t num = 0; + int32_t axis = 0; +}; + +struct UnpackOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef UnpackOptionsT NativeTableType; + typedef UnpackOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return UnpackOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NUM = 4, + VT_AXIS = 6 + }; + int32_t num() const { + return GetField(VT_NUM, 0); + } + bool mutate_num(int32_t _num) { + return SetField(VT_NUM, _num, 0); + } + int32_t axis() const { + return GetField(VT_AXIS, 0); + } + bool mutate_axis(int32_t _axis) { + return SetField(VT_AXIS, _axis, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_NUM) && + VerifyField(verifier, VT_AXIS) && + verifier.EndTable(); + } + UnpackOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(UnpackOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnpackOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct UnpackOptionsBuilder { + typedef UnpackOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_num(int32_t num) { + fbb_.AddElement(UnpackOptions::VT_NUM, num, 0); + } + void add_axis(int32_t axis) { + fbb_.AddElement(UnpackOptions::VT_AXIS, axis, 0); + } + explicit UnpackOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateUnpackOptions( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t num = 0, + int32_t axis = 0) { + UnpackOptionsBuilder builder_(_fbb); + builder_.add_axis(axis); + builder_.add_num(num); + return builder_.Finish(); +} + +flatbuffers::Offset CreateUnpackOptions(flatbuffers::FlatBufferBuilder &_fbb, const UnpackOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct FloorDivOptionsT : public flatbuffers::NativeTable { + typedef FloorDivOptions TableType; +}; + +struct FloorDivOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FloorDivOptionsT NativeTableType; + typedef FloorDivOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return FloorDivOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + FloorDivOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(FloorDivOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const FloorDivOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct FloorDivOptionsBuilder { + typedef FloorDivOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit FloorDivOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateFloorDivOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + FloorDivOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateFloorDivOptions(flatbuffers::FlatBufferBuilder &_fbb, const FloorDivOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SquareOptionsT : public flatbuffers::NativeTable { + typedef SquareOptions TableType; +}; + +struct SquareOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SquareOptionsT NativeTableType; + typedef SquareOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SquareOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + SquareOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SquareOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SquareOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SquareOptionsBuilder { + typedef SquareOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SquareOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSquareOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + SquareOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSquareOptions(flatbuffers::FlatBufferBuilder &_fbb, const SquareOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ZerosLikeOptionsT : public flatbuffers::NativeTable { + typedef ZerosLikeOptions TableType; +}; + +struct ZerosLikeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ZerosLikeOptionsT NativeTableType; + typedef ZerosLikeOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ZerosLikeOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + ZerosLikeOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ZerosLikeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ZerosLikeOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ZerosLikeOptionsBuilder { + typedef ZerosLikeOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ZerosLikeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateZerosLikeOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + ZerosLikeOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateZerosLikeOptions(flatbuffers::FlatBufferBuilder &_fbb, const ZerosLikeOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct FillOptionsT : public flatbuffers::NativeTable { + typedef FillOptions TableType; +}; + +struct FillOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FillOptionsT NativeTableType; + typedef FillOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return FillOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + FillOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(FillOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const FillOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct FillOptionsBuilder { + typedef FillOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit FillOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateFillOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + FillOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateFillOptions(flatbuffers::FlatBufferBuilder &_fbb, const FillOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct FloorModOptionsT : public flatbuffers::NativeTable { + typedef FloorModOptions TableType; +}; + +struct FloorModOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FloorModOptionsT NativeTableType; + typedef FloorModOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return FloorModOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + FloorModOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(FloorModOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const FloorModOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct FloorModOptionsBuilder { + typedef FloorModOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit FloorModOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateFloorModOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + FloorModOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateFloorModOptions(flatbuffers::FlatBufferBuilder &_fbb, const FloorModOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct RangeOptionsT : public flatbuffers::NativeTable { + typedef RangeOptions TableType; +}; + +struct RangeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef RangeOptionsT NativeTableType; + typedef RangeOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return RangeOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + RangeOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(RangeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const RangeOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct RangeOptionsBuilder { + typedef RangeOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit RangeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateRangeOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + RangeOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateRangeOptions(flatbuffers::FlatBufferBuilder &_fbb, const RangeOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct LeakyReluOptionsT : public flatbuffers::NativeTable { + typedef LeakyReluOptions TableType; + float alpha = 0.0f; +}; + +struct LeakyReluOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LeakyReluOptionsT NativeTableType; + typedef LeakyReluOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return LeakyReluOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ALPHA = 4 + }; + float alpha() const { + return GetField(VT_ALPHA, 0.0f); + } + bool mutate_alpha(float _alpha) { + return SetField(VT_ALPHA, _alpha, 0.0f); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ALPHA) && + verifier.EndTable(); + } + LeakyReluOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(LeakyReluOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const LeakyReluOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct LeakyReluOptionsBuilder { + typedef LeakyReluOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_alpha(float alpha) { + fbb_.AddElement(LeakyReluOptions::VT_ALPHA, alpha, 0.0f); + } + explicit LeakyReluOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateLeakyReluOptions( + flatbuffers::FlatBufferBuilder &_fbb, + float alpha = 0.0f) { + LeakyReluOptionsBuilder builder_(_fbb); + builder_.add_alpha(alpha); + return builder_.Finish(); +} + +flatbuffers::Offset CreateLeakyReluOptions(flatbuffers::FlatBufferBuilder &_fbb, const LeakyReluOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SquaredDifferenceOptionsT : public flatbuffers::NativeTable { + typedef SquaredDifferenceOptions TableType; +}; + +struct SquaredDifferenceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SquaredDifferenceOptionsT NativeTableType; + typedef SquaredDifferenceOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SquaredDifferenceOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + SquaredDifferenceOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SquaredDifferenceOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SquaredDifferenceOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SquaredDifferenceOptionsBuilder { + typedef SquaredDifferenceOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SquaredDifferenceOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSquaredDifferenceOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + SquaredDifferenceOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSquaredDifferenceOptions(flatbuffers::FlatBufferBuilder &_fbb, const SquaredDifferenceOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct MirrorPadOptionsT : public flatbuffers::NativeTable { + typedef MirrorPadOptions TableType; + tflite::MirrorPadMode mode = tflite::MirrorPadMode_REFLECT; +}; + +struct MirrorPadOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MirrorPadOptionsT NativeTableType; + typedef MirrorPadOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return MirrorPadOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_MODE = 4 + }; + tflite::MirrorPadMode mode() const { + return static_cast(GetField(VT_MODE, 0)); + } + bool mutate_mode(tflite::MirrorPadMode _mode) { + return SetField(VT_MODE, static_cast(_mode), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_MODE) && + verifier.EndTable(); + } + MirrorPadOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(MirrorPadOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const MirrorPadOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct MirrorPadOptionsBuilder { + typedef MirrorPadOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_mode(tflite::MirrorPadMode mode) { + fbb_.AddElement(MirrorPadOptions::VT_MODE, static_cast(mode), 0); + } + explicit MirrorPadOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateMirrorPadOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::MirrorPadMode mode = tflite::MirrorPadMode_REFLECT) { + MirrorPadOptionsBuilder builder_(_fbb); + builder_.add_mode(mode); + return builder_.Finish(); +} + +flatbuffers::Offset CreateMirrorPadOptions(flatbuffers::FlatBufferBuilder &_fbb, const MirrorPadOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct UniqueOptionsT : public flatbuffers::NativeTable { + typedef UniqueOptions TableType; + tflite::TensorType idx_out_type = tflite::TensorType_INT32; +}; + +struct UniqueOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef UniqueOptionsT NativeTableType; + typedef UniqueOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return UniqueOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_IDX_OUT_TYPE = 4 + }; + tflite::TensorType idx_out_type() const { + return static_cast(GetField(VT_IDX_OUT_TYPE, 2)); + } + bool mutate_idx_out_type(tflite::TensorType _idx_out_type) { + return SetField(VT_IDX_OUT_TYPE, static_cast(_idx_out_type), 2); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_IDX_OUT_TYPE) && + verifier.EndTable(); + } + UniqueOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(UniqueOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const UniqueOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct UniqueOptionsBuilder { + typedef UniqueOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_idx_out_type(tflite::TensorType idx_out_type) { + fbb_.AddElement(UniqueOptions::VT_IDX_OUT_TYPE, static_cast(idx_out_type), 2); + } + explicit UniqueOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateUniqueOptions( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::TensorType idx_out_type = tflite::TensorType_INT32) { + UniqueOptionsBuilder builder_(_fbb); + builder_.add_idx_out_type(idx_out_type); + return builder_.Finish(); +} + +flatbuffers::Offset CreateUniqueOptions(flatbuffers::FlatBufferBuilder &_fbb, const UniqueOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ReverseV2OptionsT : public flatbuffers::NativeTable { + typedef ReverseV2Options TableType; +}; + +struct ReverseV2Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ReverseV2OptionsT NativeTableType; + typedef ReverseV2OptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ReverseV2OptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + ReverseV2OptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ReverseV2OptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ReverseV2OptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ReverseV2OptionsBuilder { + typedef ReverseV2Options Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ReverseV2OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateReverseV2Options( + flatbuffers::FlatBufferBuilder &_fbb) { + ReverseV2OptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateReverseV2Options(flatbuffers::FlatBufferBuilder &_fbb, const ReverseV2OptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct AddNOptionsT : public flatbuffers::NativeTable { + typedef AddNOptions TableType; +}; + +struct AddNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AddNOptionsT NativeTableType; + typedef AddNOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return AddNOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + AddNOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(AddNOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const AddNOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct AddNOptionsBuilder { + typedef AddNOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit AddNOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateAddNOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + AddNOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateAddNOptions(flatbuffers::FlatBufferBuilder &_fbb, const AddNOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct GatherNdOptionsT : public flatbuffers::NativeTable { + typedef GatherNdOptions TableType; +}; + +struct GatherNdOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GatherNdOptionsT NativeTableType; + typedef GatherNdOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return GatherNdOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + GatherNdOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(GatherNdOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const GatherNdOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct GatherNdOptionsBuilder { + typedef GatherNdOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit GatherNdOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateGatherNdOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + GatherNdOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateGatherNdOptions(flatbuffers::FlatBufferBuilder &_fbb, const GatherNdOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct WhereOptionsT : public flatbuffers::NativeTable { + typedef WhereOptions TableType; +}; + +struct WhereOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef WhereOptionsT NativeTableType; + typedef WhereOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return WhereOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + WhereOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(WhereOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const WhereOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct WhereOptionsBuilder { + typedef WhereOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit WhereOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateWhereOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + WhereOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateWhereOptions(flatbuffers::FlatBufferBuilder &_fbb, const WhereOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ReverseSequenceOptionsT : public flatbuffers::NativeTable { + typedef ReverseSequenceOptions TableType; + int32_t seq_dim = 0; + int32_t batch_dim = 0; +}; + +struct ReverseSequenceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ReverseSequenceOptionsT NativeTableType; + typedef ReverseSequenceOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ReverseSequenceOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SEQ_DIM = 4, + VT_BATCH_DIM = 6 + }; + int32_t seq_dim() const { + return GetField(VT_SEQ_DIM, 0); + } + bool mutate_seq_dim(int32_t _seq_dim) { + return SetField(VT_SEQ_DIM, _seq_dim, 0); + } + int32_t batch_dim() const { + return GetField(VT_BATCH_DIM, 0); + } + bool mutate_batch_dim(int32_t _batch_dim) { + return SetField(VT_BATCH_DIM, _batch_dim, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_SEQ_DIM) && + VerifyField(verifier, VT_BATCH_DIM) && + verifier.EndTable(); + } + ReverseSequenceOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ReverseSequenceOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ReverseSequenceOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ReverseSequenceOptionsBuilder { + typedef ReverseSequenceOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_seq_dim(int32_t seq_dim) { + fbb_.AddElement(ReverseSequenceOptions::VT_SEQ_DIM, seq_dim, 0); + } + void add_batch_dim(int32_t batch_dim) { + fbb_.AddElement(ReverseSequenceOptions::VT_BATCH_DIM, batch_dim, 0); + } + explicit ReverseSequenceOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateReverseSequenceOptions( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t seq_dim = 0, + int32_t batch_dim = 0) { + ReverseSequenceOptionsBuilder builder_(_fbb); + builder_.add_batch_dim(batch_dim); + builder_.add_seq_dim(seq_dim); + return builder_.Finish(); +} + +flatbuffers::Offset CreateReverseSequenceOptions(flatbuffers::FlatBufferBuilder &_fbb, const ReverseSequenceOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct MatrixDiagOptionsT : public flatbuffers::NativeTable { + typedef MatrixDiagOptions TableType; +}; + +struct MatrixDiagOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MatrixDiagOptionsT NativeTableType; + typedef MatrixDiagOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return MatrixDiagOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + MatrixDiagOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(MatrixDiagOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const MatrixDiagOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct MatrixDiagOptionsBuilder { + typedef MatrixDiagOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit MatrixDiagOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateMatrixDiagOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + MatrixDiagOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateMatrixDiagOptions(flatbuffers::FlatBufferBuilder &_fbb, const MatrixDiagOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct QuantizeOptionsT : public flatbuffers::NativeTable { + typedef QuantizeOptions TableType; +}; + +struct QuantizeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef QuantizeOptionsT NativeTableType; + typedef QuantizeOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return QuantizeOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + QuantizeOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(QuantizeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const QuantizeOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct QuantizeOptionsBuilder { + typedef QuantizeOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit QuantizeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateQuantizeOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + QuantizeOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateQuantizeOptions(flatbuffers::FlatBufferBuilder &_fbb, const QuantizeOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct MatrixSetDiagOptionsT : public flatbuffers::NativeTable { + typedef MatrixSetDiagOptions TableType; +}; + +struct MatrixSetDiagOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MatrixSetDiagOptionsT NativeTableType; + typedef MatrixSetDiagOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return MatrixSetDiagOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + MatrixSetDiagOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(MatrixSetDiagOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const MatrixSetDiagOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct MatrixSetDiagOptionsBuilder { + typedef MatrixSetDiagOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit MatrixSetDiagOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateMatrixSetDiagOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + MatrixSetDiagOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateMatrixSetDiagOptions(flatbuffers::FlatBufferBuilder &_fbb, const MatrixSetDiagOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct IfOptionsT : public flatbuffers::NativeTable { + typedef IfOptions TableType; + int32_t then_subgraph_index = 0; + int32_t else_subgraph_index = 0; +}; + +struct IfOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef IfOptionsT NativeTableType; + typedef IfOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return IfOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_THEN_SUBGRAPH_INDEX = 4, + VT_ELSE_SUBGRAPH_INDEX = 6 + }; + int32_t then_subgraph_index() const { + return GetField(VT_THEN_SUBGRAPH_INDEX, 0); + } + bool mutate_then_subgraph_index(int32_t _then_subgraph_index) { + return SetField(VT_THEN_SUBGRAPH_INDEX, _then_subgraph_index, 0); + } + int32_t else_subgraph_index() const { + return GetField(VT_ELSE_SUBGRAPH_INDEX, 0); + } + bool mutate_else_subgraph_index(int32_t _else_subgraph_index) { + return SetField(VT_ELSE_SUBGRAPH_INDEX, _else_subgraph_index, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_THEN_SUBGRAPH_INDEX) && + VerifyField(verifier, VT_ELSE_SUBGRAPH_INDEX) && + verifier.EndTable(); + } + IfOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(IfOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const IfOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct IfOptionsBuilder { + typedef IfOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_then_subgraph_index(int32_t then_subgraph_index) { + fbb_.AddElement(IfOptions::VT_THEN_SUBGRAPH_INDEX, then_subgraph_index, 0); + } + void add_else_subgraph_index(int32_t else_subgraph_index) { + fbb_.AddElement(IfOptions::VT_ELSE_SUBGRAPH_INDEX, else_subgraph_index, 0); + } + explicit IfOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateIfOptions( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t then_subgraph_index = 0, + int32_t else_subgraph_index = 0) { + IfOptionsBuilder builder_(_fbb); + builder_.add_else_subgraph_index(else_subgraph_index); + builder_.add_then_subgraph_index(then_subgraph_index); + return builder_.Finish(); +} + +flatbuffers::Offset CreateIfOptions(flatbuffers::FlatBufferBuilder &_fbb, const IfOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct WhileOptionsT : public flatbuffers::NativeTable { + typedef WhileOptions TableType; + int32_t cond_subgraph_index = 0; + int32_t body_subgraph_index = 0; +}; + +struct WhileOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef WhileOptionsT NativeTableType; + typedef WhileOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return WhileOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_COND_SUBGRAPH_INDEX = 4, + VT_BODY_SUBGRAPH_INDEX = 6 + }; + int32_t cond_subgraph_index() const { + return GetField(VT_COND_SUBGRAPH_INDEX, 0); + } + bool mutate_cond_subgraph_index(int32_t _cond_subgraph_index) { + return SetField(VT_COND_SUBGRAPH_INDEX, _cond_subgraph_index, 0); + } + int32_t body_subgraph_index() const { + return GetField(VT_BODY_SUBGRAPH_INDEX, 0); + } + bool mutate_body_subgraph_index(int32_t _body_subgraph_index) { + return SetField(VT_BODY_SUBGRAPH_INDEX, _body_subgraph_index, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_COND_SUBGRAPH_INDEX) && + VerifyField(verifier, VT_BODY_SUBGRAPH_INDEX) && + verifier.EndTable(); + } + WhileOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(WhileOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const WhileOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct WhileOptionsBuilder { + typedef WhileOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_cond_subgraph_index(int32_t cond_subgraph_index) { + fbb_.AddElement(WhileOptions::VT_COND_SUBGRAPH_INDEX, cond_subgraph_index, 0); + } + void add_body_subgraph_index(int32_t body_subgraph_index) { + fbb_.AddElement(WhileOptions::VT_BODY_SUBGRAPH_INDEX, body_subgraph_index, 0); + } + explicit WhileOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateWhileOptions( + flatbuffers::FlatBufferBuilder &_fbb, + int32_t cond_subgraph_index = 0, + int32_t body_subgraph_index = 0) { + WhileOptionsBuilder builder_(_fbb); + builder_.add_body_subgraph_index(body_subgraph_index); + builder_.add_cond_subgraph_index(cond_subgraph_index); + return builder_.Finish(); +} + +flatbuffers::Offset CreateWhileOptions(flatbuffers::FlatBufferBuilder &_fbb, const WhileOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct NonMaxSuppressionV4OptionsT : public flatbuffers::NativeTable { + typedef NonMaxSuppressionV4Options TableType; +}; + +struct NonMaxSuppressionV4Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef NonMaxSuppressionV4OptionsT NativeTableType; + typedef NonMaxSuppressionV4OptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return NonMaxSuppressionV4OptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + NonMaxSuppressionV4OptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(NonMaxSuppressionV4OptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const NonMaxSuppressionV4OptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct NonMaxSuppressionV4OptionsBuilder { + typedef NonMaxSuppressionV4Options Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit NonMaxSuppressionV4OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateNonMaxSuppressionV4Options( + flatbuffers::FlatBufferBuilder &_fbb) { + NonMaxSuppressionV4OptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateNonMaxSuppressionV4Options(flatbuffers::FlatBufferBuilder &_fbb, const NonMaxSuppressionV4OptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct NonMaxSuppressionV5OptionsT : public flatbuffers::NativeTable { + typedef NonMaxSuppressionV5Options TableType; +}; + +struct NonMaxSuppressionV5Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef NonMaxSuppressionV5OptionsT NativeTableType; + typedef NonMaxSuppressionV5OptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return NonMaxSuppressionV5OptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + NonMaxSuppressionV5OptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(NonMaxSuppressionV5OptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const NonMaxSuppressionV5OptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct NonMaxSuppressionV5OptionsBuilder { + typedef NonMaxSuppressionV5Options Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit NonMaxSuppressionV5OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateNonMaxSuppressionV5Options( + flatbuffers::FlatBufferBuilder &_fbb) { + NonMaxSuppressionV5OptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateNonMaxSuppressionV5Options(flatbuffers::FlatBufferBuilder &_fbb, const NonMaxSuppressionV5OptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ScatterNdOptionsT : public flatbuffers::NativeTable { + typedef ScatterNdOptions TableType; +}; + +struct ScatterNdOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ScatterNdOptionsT NativeTableType; + typedef ScatterNdOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ScatterNdOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + ScatterNdOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ScatterNdOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ScatterNdOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ScatterNdOptionsBuilder { + typedef ScatterNdOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ScatterNdOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateScatterNdOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + ScatterNdOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateScatterNdOptions(flatbuffers::FlatBufferBuilder &_fbb, const ScatterNdOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SelectV2OptionsT : public flatbuffers::NativeTable { + typedef SelectV2Options TableType; +}; + +struct SelectV2Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SelectV2OptionsT NativeTableType; + typedef SelectV2OptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SelectV2OptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + SelectV2OptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SelectV2OptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SelectV2OptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SelectV2OptionsBuilder { + typedef SelectV2Options Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SelectV2OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSelectV2Options( + flatbuffers::FlatBufferBuilder &_fbb) { + SelectV2OptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSelectV2Options(flatbuffers::FlatBufferBuilder &_fbb, const SelectV2OptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct DensifyOptionsT : public flatbuffers::NativeTable { + typedef DensifyOptions TableType; +}; + +struct DensifyOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DensifyOptionsT NativeTableType; + typedef DensifyOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return DensifyOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + DensifyOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(DensifyOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const DensifyOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct DensifyOptionsBuilder { + typedef DensifyOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit DensifyOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateDensifyOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + DensifyOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateDensifyOptions(flatbuffers::FlatBufferBuilder &_fbb, const DensifyOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SegmentSumOptionsT : public flatbuffers::NativeTable { + typedef SegmentSumOptions TableType; +}; + +struct SegmentSumOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SegmentSumOptionsT NativeTableType; + typedef SegmentSumOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SegmentSumOptionsTypeTable(); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); + } + SegmentSumOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SegmentSumOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SegmentSumOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SegmentSumOptionsBuilder { + typedef SegmentSumOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SegmentSumOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSegmentSumOptions( + flatbuffers::FlatBufferBuilder &_fbb) { + SegmentSumOptionsBuilder builder_(_fbb); + return builder_.Finish(); +} + +flatbuffers::Offset CreateSegmentSumOptions(flatbuffers::FlatBufferBuilder &_fbb, const SegmentSumOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct BatchMatMulOptionsT : public flatbuffers::NativeTable { + typedef BatchMatMulOptions TableType; + bool adj_x = false; + bool adj_y = false; +}; + +struct BatchMatMulOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BatchMatMulOptionsT NativeTableType; + typedef BatchMatMulOptionsBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return BatchMatMulOptionsTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ADJ_X = 4, + VT_ADJ_Y = 6 + }; + bool adj_x() const { + return GetField(VT_ADJ_X, 0) != 0; + } + bool mutate_adj_x(bool _adj_x) { + return SetField(VT_ADJ_X, static_cast(_adj_x), 0); + } + bool adj_y() const { + return GetField(VT_ADJ_Y, 0) != 0; + } + bool mutate_adj_y(bool _adj_y) { + return SetField(VT_ADJ_Y, static_cast(_adj_y), 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_ADJ_X) && + VerifyField(verifier, VT_ADJ_Y) && + verifier.EndTable(); + } + BatchMatMulOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(BatchMatMulOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const BatchMatMulOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct BatchMatMulOptionsBuilder { + typedef BatchMatMulOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_adj_x(bool adj_x) { + fbb_.AddElement(BatchMatMulOptions::VT_ADJ_X, static_cast(adj_x), 0); + } + void add_adj_y(bool adj_y) { + fbb_.AddElement(BatchMatMulOptions::VT_ADJ_Y, static_cast(adj_y), 0); + } + explicit BatchMatMulOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateBatchMatMulOptions( + flatbuffers::FlatBufferBuilder &_fbb, + bool adj_x = false, + bool adj_y = false) { + BatchMatMulOptionsBuilder builder_(_fbb); + builder_.add_adj_y(adj_y); + builder_.add_adj_x(adj_x); + return builder_.Finish(); +} + +flatbuffers::Offset CreateBatchMatMulOptions(flatbuffers::FlatBufferBuilder &_fbb, const BatchMatMulOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct OperatorCodeT : public flatbuffers::NativeTable { + typedef OperatorCode TableType; + tflite::BuiltinOperator builtin_code = tflite::BuiltinOperator_ADD; + std::string custom_code{}; + int32_t version = 1; +}; + +struct OperatorCode FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef OperatorCodeT NativeTableType; + typedef OperatorCodeBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return OperatorCodeTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BUILTIN_CODE = 4, + VT_CUSTOM_CODE = 6, + VT_VERSION = 8 + }; + tflite::BuiltinOperator builtin_code() const { + return static_cast(GetField(VT_BUILTIN_CODE, 0)); + } + bool mutate_builtin_code(tflite::BuiltinOperator _builtin_code) { + return SetField(VT_BUILTIN_CODE, static_cast(_builtin_code), 0); + } + const flatbuffers::String *custom_code() const { + return GetPointer(VT_CUSTOM_CODE); + } + flatbuffers::String *mutable_custom_code() { + return GetPointer(VT_CUSTOM_CODE); + } + int32_t version() const { + return GetField(VT_VERSION, 1); + } + bool mutate_version(int32_t _version) { + return SetField(VT_VERSION, _version, 1); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_BUILTIN_CODE) && + VerifyOffset(verifier, VT_CUSTOM_CODE) && + verifier.VerifyString(custom_code()) && + VerifyField(verifier, VT_VERSION) && + verifier.EndTable(); + } + OperatorCodeT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(OperatorCodeT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const OperatorCodeT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct OperatorCodeBuilder { + typedef OperatorCode Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_builtin_code(tflite::BuiltinOperator builtin_code) { + fbb_.AddElement(OperatorCode::VT_BUILTIN_CODE, static_cast(builtin_code), 0); + } + void add_custom_code(flatbuffers::Offset custom_code) { + fbb_.AddOffset(OperatorCode::VT_CUSTOM_CODE, custom_code); + } + void add_version(int32_t version) { + fbb_.AddElement(OperatorCode::VT_VERSION, version, 1); + } + explicit OperatorCodeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateOperatorCode( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::BuiltinOperator builtin_code = tflite::BuiltinOperator_ADD, + flatbuffers::Offset custom_code = 0, + int32_t version = 1) { + OperatorCodeBuilder builder_(_fbb); + builder_.add_version(version); + builder_.add_custom_code(custom_code); + builder_.add_builtin_code(builtin_code); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateOperatorCodeDirect( + flatbuffers::FlatBufferBuilder &_fbb, + tflite::BuiltinOperator builtin_code = tflite::BuiltinOperator_ADD, + const char *custom_code = nullptr, + int32_t version = 1) { + auto custom_code__ = custom_code ? _fbb.CreateString(custom_code) : 0; + return tflite::CreateOperatorCode( + _fbb, + builtin_code, + custom_code__, + version); +} + +flatbuffers::Offset CreateOperatorCode(flatbuffers::FlatBufferBuilder &_fbb, const OperatorCodeT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct OperatorT : public flatbuffers::NativeTable { + typedef Operator TableType; + uint32_t opcode_index = 0; + std::vector inputs{}; + std::vector outputs{}; + tflite::BuiltinOptionsUnion builtin_options{}; + std::vector custom_options{}; + tflite::CustomOptionsFormat custom_options_format = tflite::CustomOptionsFormat_FLEXBUFFERS; + std::vector mutating_variable_inputs{}; + std::vector intermediates{}; +}; + +struct Operator FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef OperatorT NativeTableType; + typedef OperatorBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return OperatorTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_OPCODE_INDEX = 4, + VT_INPUTS = 6, + VT_OUTPUTS = 8, + VT_BUILTIN_OPTIONS_TYPE = 10, + VT_BUILTIN_OPTIONS = 12, + VT_CUSTOM_OPTIONS = 14, + VT_CUSTOM_OPTIONS_FORMAT = 16, + VT_MUTATING_VARIABLE_INPUTS = 18, + VT_INTERMEDIATES = 20 + }; + uint32_t opcode_index() const { + return GetField(VT_OPCODE_INDEX, 0); + } + bool mutate_opcode_index(uint32_t _opcode_index) { + return SetField(VT_OPCODE_INDEX, _opcode_index, 0); + } + const flatbuffers::Vector *inputs() const { + return GetPointer *>(VT_INPUTS); + } + flatbuffers::Vector *mutable_inputs() { + return GetPointer *>(VT_INPUTS); + } + const flatbuffers::Vector *outputs() const { + return GetPointer *>(VT_OUTPUTS); + } + flatbuffers::Vector *mutable_outputs() { + return GetPointer *>(VT_OUTPUTS); + } + tflite::BuiltinOptions builtin_options_type() const { + return static_cast(GetField(VT_BUILTIN_OPTIONS_TYPE, 0)); + } + const void *builtin_options() const { + return GetPointer(VT_BUILTIN_OPTIONS); + } + template const T *builtin_options_as() const; + const tflite::Conv2DOptions *builtin_options_as_Conv2DOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_Conv2DOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::DepthwiseConv2DOptions *builtin_options_as_DepthwiseConv2DOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_DepthwiseConv2DOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::ConcatEmbeddingsOptions *builtin_options_as_ConcatEmbeddingsOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_ConcatEmbeddingsOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::LSHProjectionOptions *builtin_options_as_LSHProjectionOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_LSHProjectionOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::Pool2DOptions *builtin_options_as_Pool2DOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_Pool2DOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::SVDFOptions *builtin_options_as_SVDFOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_SVDFOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::RNNOptions *builtin_options_as_RNNOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_RNNOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::FullyConnectedOptions *builtin_options_as_FullyConnectedOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_FullyConnectedOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::SoftmaxOptions *builtin_options_as_SoftmaxOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_SoftmaxOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::ConcatenationOptions *builtin_options_as_ConcatenationOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_ConcatenationOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::AddOptions *builtin_options_as_AddOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_AddOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::L2NormOptions *builtin_options_as_L2NormOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_L2NormOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::LocalResponseNormalizationOptions *builtin_options_as_LocalResponseNormalizationOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_LocalResponseNormalizationOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::LSTMOptions *builtin_options_as_LSTMOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_LSTMOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::ResizeBilinearOptions *builtin_options_as_ResizeBilinearOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_ResizeBilinearOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::CallOptions *builtin_options_as_CallOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_CallOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::ReshapeOptions *builtin_options_as_ReshapeOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_ReshapeOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::SkipGramOptions *builtin_options_as_SkipGramOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_SkipGramOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::SpaceToDepthOptions *builtin_options_as_SpaceToDepthOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_SpaceToDepthOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::EmbeddingLookupSparseOptions *builtin_options_as_EmbeddingLookupSparseOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_EmbeddingLookupSparseOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::MulOptions *builtin_options_as_MulOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_MulOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::PadOptions *builtin_options_as_PadOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_PadOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::GatherOptions *builtin_options_as_GatherOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_GatherOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::BatchToSpaceNDOptions *builtin_options_as_BatchToSpaceNDOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_BatchToSpaceNDOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::SpaceToBatchNDOptions *builtin_options_as_SpaceToBatchNDOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_SpaceToBatchNDOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::TransposeOptions *builtin_options_as_TransposeOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_TransposeOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::ReducerOptions *builtin_options_as_ReducerOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_ReducerOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::SubOptions *builtin_options_as_SubOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_SubOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::DivOptions *builtin_options_as_DivOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_DivOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::SqueezeOptions *builtin_options_as_SqueezeOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_SqueezeOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::SequenceRNNOptions *builtin_options_as_SequenceRNNOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_SequenceRNNOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::StridedSliceOptions *builtin_options_as_StridedSliceOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_StridedSliceOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::ExpOptions *builtin_options_as_ExpOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_ExpOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::TopKV2Options *builtin_options_as_TopKV2Options() const { + return builtin_options_type() == tflite::BuiltinOptions_TopKV2Options ? static_cast(builtin_options()) : nullptr; + } + const tflite::SplitOptions *builtin_options_as_SplitOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_SplitOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::LogSoftmaxOptions *builtin_options_as_LogSoftmaxOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_LogSoftmaxOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::CastOptions *builtin_options_as_CastOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_CastOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::DequantizeOptions *builtin_options_as_DequantizeOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_DequantizeOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::MaximumMinimumOptions *builtin_options_as_MaximumMinimumOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_MaximumMinimumOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::ArgMaxOptions *builtin_options_as_ArgMaxOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_ArgMaxOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::LessOptions *builtin_options_as_LessOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_LessOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::NegOptions *builtin_options_as_NegOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_NegOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::PadV2Options *builtin_options_as_PadV2Options() const { + return builtin_options_type() == tflite::BuiltinOptions_PadV2Options ? static_cast(builtin_options()) : nullptr; + } + const tflite::GreaterOptions *builtin_options_as_GreaterOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_GreaterOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::GreaterEqualOptions *builtin_options_as_GreaterEqualOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_GreaterEqualOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::LessEqualOptions *builtin_options_as_LessEqualOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_LessEqualOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::SelectOptions *builtin_options_as_SelectOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_SelectOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::SliceOptions *builtin_options_as_SliceOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_SliceOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::TransposeConvOptions *builtin_options_as_TransposeConvOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_TransposeConvOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::SparseToDenseOptions *builtin_options_as_SparseToDenseOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_SparseToDenseOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::TileOptions *builtin_options_as_TileOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_TileOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::ExpandDimsOptions *builtin_options_as_ExpandDimsOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_ExpandDimsOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::EqualOptions *builtin_options_as_EqualOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_EqualOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::NotEqualOptions *builtin_options_as_NotEqualOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_NotEqualOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::ShapeOptions *builtin_options_as_ShapeOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_ShapeOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::PowOptions *builtin_options_as_PowOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_PowOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::ArgMinOptions *builtin_options_as_ArgMinOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_ArgMinOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::FakeQuantOptions *builtin_options_as_FakeQuantOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_FakeQuantOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::PackOptions *builtin_options_as_PackOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_PackOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::LogicalOrOptions *builtin_options_as_LogicalOrOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_LogicalOrOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::OneHotOptions *builtin_options_as_OneHotOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_OneHotOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::LogicalAndOptions *builtin_options_as_LogicalAndOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_LogicalAndOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::LogicalNotOptions *builtin_options_as_LogicalNotOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_LogicalNotOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::UnpackOptions *builtin_options_as_UnpackOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_UnpackOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::FloorDivOptions *builtin_options_as_FloorDivOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_FloorDivOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::SquareOptions *builtin_options_as_SquareOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_SquareOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::ZerosLikeOptions *builtin_options_as_ZerosLikeOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_ZerosLikeOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::FillOptions *builtin_options_as_FillOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_FillOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::BidirectionalSequenceLSTMOptions *builtin_options_as_BidirectionalSequenceLSTMOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_BidirectionalSequenceLSTMOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::BidirectionalSequenceRNNOptions *builtin_options_as_BidirectionalSequenceRNNOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_BidirectionalSequenceRNNOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::UnidirectionalSequenceLSTMOptions *builtin_options_as_UnidirectionalSequenceLSTMOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_UnidirectionalSequenceLSTMOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::FloorModOptions *builtin_options_as_FloorModOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_FloorModOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::RangeOptions *builtin_options_as_RangeOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_RangeOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::ResizeNearestNeighborOptions *builtin_options_as_ResizeNearestNeighborOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_ResizeNearestNeighborOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::LeakyReluOptions *builtin_options_as_LeakyReluOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_LeakyReluOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::SquaredDifferenceOptions *builtin_options_as_SquaredDifferenceOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_SquaredDifferenceOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::MirrorPadOptions *builtin_options_as_MirrorPadOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_MirrorPadOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::AbsOptions *builtin_options_as_AbsOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_AbsOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::SplitVOptions *builtin_options_as_SplitVOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_SplitVOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::UniqueOptions *builtin_options_as_UniqueOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_UniqueOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::ReverseV2Options *builtin_options_as_ReverseV2Options() const { + return builtin_options_type() == tflite::BuiltinOptions_ReverseV2Options ? static_cast(builtin_options()) : nullptr; + } + const tflite::AddNOptions *builtin_options_as_AddNOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_AddNOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::GatherNdOptions *builtin_options_as_GatherNdOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_GatherNdOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::CosOptions *builtin_options_as_CosOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_CosOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::WhereOptions *builtin_options_as_WhereOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_WhereOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::RankOptions *builtin_options_as_RankOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_RankOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::ReverseSequenceOptions *builtin_options_as_ReverseSequenceOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_ReverseSequenceOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::MatrixDiagOptions *builtin_options_as_MatrixDiagOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_MatrixDiagOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::QuantizeOptions *builtin_options_as_QuantizeOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_QuantizeOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::MatrixSetDiagOptions *builtin_options_as_MatrixSetDiagOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_MatrixSetDiagOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::HardSwishOptions *builtin_options_as_HardSwishOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_HardSwishOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::IfOptions *builtin_options_as_IfOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_IfOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::WhileOptions *builtin_options_as_WhileOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_WhileOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::DepthToSpaceOptions *builtin_options_as_DepthToSpaceOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_DepthToSpaceOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::NonMaxSuppressionV4Options *builtin_options_as_NonMaxSuppressionV4Options() const { + return builtin_options_type() == tflite::BuiltinOptions_NonMaxSuppressionV4Options ? static_cast(builtin_options()) : nullptr; + } + const tflite::NonMaxSuppressionV5Options *builtin_options_as_NonMaxSuppressionV5Options() const { + return builtin_options_type() == tflite::BuiltinOptions_NonMaxSuppressionV5Options ? static_cast(builtin_options()) : nullptr; + } + const tflite::ScatterNdOptions *builtin_options_as_ScatterNdOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_ScatterNdOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::SelectV2Options *builtin_options_as_SelectV2Options() const { + return builtin_options_type() == tflite::BuiltinOptions_SelectV2Options ? static_cast(builtin_options()) : nullptr; + } + const tflite::DensifyOptions *builtin_options_as_DensifyOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_DensifyOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::SegmentSumOptions *builtin_options_as_SegmentSumOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_SegmentSumOptions ? static_cast(builtin_options()) : nullptr; + } + const tflite::BatchMatMulOptions *builtin_options_as_BatchMatMulOptions() const { + return builtin_options_type() == tflite::BuiltinOptions_BatchMatMulOptions ? static_cast(builtin_options()) : nullptr; + } + void *mutable_builtin_options() { + return GetPointer(VT_BUILTIN_OPTIONS); + } + const flatbuffers::Vector *custom_options() const { + return GetPointer *>(VT_CUSTOM_OPTIONS); + } + flatbuffers::Vector *mutable_custom_options() { + return GetPointer *>(VT_CUSTOM_OPTIONS); + } + tflite::CustomOptionsFormat custom_options_format() const { + return static_cast(GetField(VT_CUSTOM_OPTIONS_FORMAT, 0)); + } + bool mutate_custom_options_format(tflite::CustomOptionsFormat _custom_options_format) { + return SetField(VT_CUSTOM_OPTIONS_FORMAT, static_cast(_custom_options_format), 0); + } + const flatbuffers::Vector *mutating_variable_inputs() const { + return GetPointer *>(VT_MUTATING_VARIABLE_INPUTS); + } + flatbuffers::Vector *mutable_mutating_variable_inputs() { + return GetPointer *>(VT_MUTATING_VARIABLE_INPUTS); + } + const flatbuffers::Vector *intermediates() const { + return GetPointer *>(VT_INTERMEDIATES); + } + flatbuffers::Vector *mutable_intermediates() { + return GetPointer *>(VT_INTERMEDIATES); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_OPCODE_INDEX) && + VerifyOffset(verifier, VT_INPUTS) && + verifier.VerifyVector(inputs()) && + VerifyOffset(verifier, VT_OUTPUTS) && + verifier.VerifyVector(outputs()) && + VerifyField(verifier, VT_BUILTIN_OPTIONS_TYPE) && + VerifyOffset(verifier, VT_BUILTIN_OPTIONS) && + VerifyBuiltinOptions(verifier, builtin_options(), builtin_options_type()) && + VerifyOffset(verifier, VT_CUSTOM_OPTIONS) && + verifier.VerifyVector(custom_options()) && + VerifyField(verifier, VT_CUSTOM_OPTIONS_FORMAT) && + VerifyOffset(verifier, VT_MUTATING_VARIABLE_INPUTS) && + verifier.VerifyVector(mutating_variable_inputs()) && + VerifyOffset(verifier, VT_INTERMEDIATES) && + verifier.VerifyVector(intermediates()) && + verifier.EndTable(); + } + OperatorT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(OperatorT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const OperatorT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +template<> inline const tflite::Conv2DOptions *Operator::builtin_options_as() const { + return builtin_options_as_Conv2DOptions(); +} + +template<> inline const tflite::DepthwiseConv2DOptions *Operator::builtin_options_as() const { + return builtin_options_as_DepthwiseConv2DOptions(); +} + +template<> inline const tflite::ConcatEmbeddingsOptions *Operator::builtin_options_as() const { + return builtin_options_as_ConcatEmbeddingsOptions(); +} + +template<> inline const tflite::LSHProjectionOptions *Operator::builtin_options_as() const { + return builtin_options_as_LSHProjectionOptions(); +} + +template<> inline const tflite::Pool2DOptions *Operator::builtin_options_as() const { + return builtin_options_as_Pool2DOptions(); +} + +template<> inline const tflite::SVDFOptions *Operator::builtin_options_as() const { + return builtin_options_as_SVDFOptions(); +} + +template<> inline const tflite::RNNOptions *Operator::builtin_options_as() const { + return builtin_options_as_RNNOptions(); +} + +template<> inline const tflite::FullyConnectedOptions *Operator::builtin_options_as() const { + return builtin_options_as_FullyConnectedOptions(); +} + +template<> inline const tflite::SoftmaxOptions *Operator::builtin_options_as() const { + return builtin_options_as_SoftmaxOptions(); +} + +template<> inline const tflite::ConcatenationOptions *Operator::builtin_options_as() const { + return builtin_options_as_ConcatenationOptions(); +} + +template<> inline const tflite::AddOptions *Operator::builtin_options_as() const { + return builtin_options_as_AddOptions(); +} + +template<> inline const tflite::L2NormOptions *Operator::builtin_options_as() const { + return builtin_options_as_L2NormOptions(); +} + +template<> inline const tflite::LocalResponseNormalizationOptions *Operator::builtin_options_as() const { + return builtin_options_as_LocalResponseNormalizationOptions(); +} + +template<> inline const tflite::LSTMOptions *Operator::builtin_options_as() const { + return builtin_options_as_LSTMOptions(); +} + +template<> inline const tflite::ResizeBilinearOptions *Operator::builtin_options_as() const { + return builtin_options_as_ResizeBilinearOptions(); +} + +template<> inline const tflite::CallOptions *Operator::builtin_options_as() const { + return builtin_options_as_CallOptions(); +} + +template<> inline const tflite::ReshapeOptions *Operator::builtin_options_as() const { + return builtin_options_as_ReshapeOptions(); +} + +template<> inline const tflite::SkipGramOptions *Operator::builtin_options_as() const { + return builtin_options_as_SkipGramOptions(); +} + +template<> inline const tflite::SpaceToDepthOptions *Operator::builtin_options_as() const { + return builtin_options_as_SpaceToDepthOptions(); +} + +template<> inline const tflite::EmbeddingLookupSparseOptions *Operator::builtin_options_as() const { + return builtin_options_as_EmbeddingLookupSparseOptions(); +} + +template<> inline const tflite::MulOptions *Operator::builtin_options_as() const { + return builtin_options_as_MulOptions(); +} + +template<> inline const tflite::PadOptions *Operator::builtin_options_as() const { + return builtin_options_as_PadOptions(); +} + +template<> inline const tflite::GatherOptions *Operator::builtin_options_as() const { + return builtin_options_as_GatherOptions(); +} + +template<> inline const tflite::BatchToSpaceNDOptions *Operator::builtin_options_as() const { + return builtin_options_as_BatchToSpaceNDOptions(); +} + +template<> inline const tflite::SpaceToBatchNDOptions *Operator::builtin_options_as() const { + return builtin_options_as_SpaceToBatchNDOptions(); +} + +template<> inline const tflite::TransposeOptions *Operator::builtin_options_as() const { + return builtin_options_as_TransposeOptions(); +} + +template<> inline const tflite::ReducerOptions *Operator::builtin_options_as() const { + return builtin_options_as_ReducerOptions(); +} + +template<> inline const tflite::SubOptions *Operator::builtin_options_as() const { + return builtin_options_as_SubOptions(); +} + +template<> inline const tflite::DivOptions *Operator::builtin_options_as() const { + return builtin_options_as_DivOptions(); +} + +template<> inline const tflite::SqueezeOptions *Operator::builtin_options_as() const { + return builtin_options_as_SqueezeOptions(); +} + +template<> inline const tflite::SequenceRNNOptions *Operator::builtin_options_as() const { + return builtin_options_as_SequenceRNNOptions(); +} + +template<> inline const tflite::StridedSliceOptions *Operator::builtin_options_as() const { + return builtin_options_as_StridedSliceOptions(); +} + +template<> inline const tflite::ExpOptions *Operator::builtin_options_as() const { + return builtin_options_as_ExpOptions(); +} + +template<> inline const tflite::TopKV2Options *Operator::builtin_options_as() const { + return builtin_options_as_TopKV2Options(); +} + +template<> inline const tflite::SplitOptions *Operator::builtin_options_as() const { + return builtin_options_as_SplitOptions(); +} + +template<> inline const tflite::LogSoftmaxOptions *Operator::builtin_options_as() const { + return builtin_options_as_LogSoftmaxOptions(); +} + +template<> inline const tflite::CastOptions *Operator::builtin_options_as() const { + return builtin_options_as_CastOptions(); +} + +template<> inline const tflite::DequantizeOptions *Operator::builtin_options_as() const { + return builtin_options_as_DequantizeOptions(); +} + +template<> inline const tflite::MaximumMinimumOptions *Operator::builtin_options_as() const { + return builtin_options_as_MaximumMinimumOptions(); +} + +template<> inline const tflite::ArgMaxOptions *Operator::builtin_options_as() const { + return builtin_options_as_ArgMaxOptions(); +} + +template<> inline const tflite::LessOptions *Operator::builtin_options_as() const { + return builtin_options_as_LessOptions(); +} + +template<> inline const tflite::NegOptions *Operator::builtin_options_as() const { + return builtin_options_as_NegOptions(); +} + +template<> inline const tflite::PadV2Options *Operator::builtin_options_as() const { + return builtin_options_as_PadV2Options(); +} + +template<> inline const tflite::GreaterOptions *Operator::builtin_options_as() const { + return builtin_options_as_GreaterOptions(); +} + +template<> inline const tflite::GreaterEqualOptions *Operator::builtin_options_as() const { + return builtin_options_as_GreaterEqualOptions(); +} + +template<> inline const tflite::LessEqualOptions *Operator::builtin_options_as() const { + return builtin_options_as_LessEqualOptions(); +} + +template<> inline const tflite::SelectOptions *Operator::builtin_options_as() const { + return builtin_options_as_SelectOptions(); +} + +template<> inline const tflite::SliceOptions *Operator::builtin_options_as() const { + return builtin_options_as_SliceOptions(); +} + +template<> inline const tflite::TransposeConvOptions *Operator::builtin_options_as() const { + return builtin_options_as_TransposeConvOptions(); +} + +template<> inline const tflite::SparseToDenseOptions *Operator::builtin_options_as() const { + return builtin_options_as_SparseToDenseOptions(); +} + +template<> inline const tflite::TileOptions *Operator::builtin_options_as() const { + return builtin_options_as_TileOptions(); +} + +template<> inline const tflite::ExpandDimsOptions *Operator::builtin_options_as() const { + return builtin_options_as_ExpandDimsOptions(); +} + +template<> inline const tflite::EqualOptions *Operator::builtin_options_as() const { + return builtin_options_as_EqualOptions(); +} + +template<> inline const tflite::NotEqualOptions *Operator::builtin_options_as() const { + return builtin_options_as_NotEqualOptions(); +} + +template<> inline const tflite::ShapeOptions *Operator::builtin_options_as() const { + return builtin_options_as_ShapeOptions(); +} + +template<> inline const tflite::PowOptions *Operator::builtin_options_as() const { + return builtin_options_as_PowOptions(); +} + +template<> inline const tflite::ArgMinOptions *Operator::builtin_options_as() const { + return builtin_options_as_ArgMinOptions(); +} + +template<> inline const tflite::FakeQuantOptions *Operator::builtin_options_as() const { + return builtin_options_as_FakeQuantOptions(); +} + +template<> inline const tflite::PackOptions *Operator::builtin_options_as() const { + return builtin_options_as_PackOptions(); +} + +template<> inline const tflite::LogicalOrOptions *Operator::builtin_options_as() const { + return builtin_options_as_LogicalOrOptions(); +} + +template<> inline const tflite::OneHotOptions *Operator::builtin_options_as() const { + return builtin_options_as_OneHotOptions(); +} + +template<> inline const tflite::LogicalAndOptions *Operator::builtin_options_as() const { + return builtin_options_as_LogicalAndOptions(); +} + +template<> inline const tflite::LogicalNotOptions *Operator::builtin_options_as() const { + return builtin_options_as_LogicalNotOptions(); +} + +template<> inline const tflite::UnpackOptions *Operator::builtin_options_as() const { + return builtin_options_as_UnpackOptions(); +} + +template<> inline const tflite::FloorDivOptions *Operator::builtin_options_as() const { + return builtin_options_as_FloorDivOptions(); +} + +template<> inline const tflite::SquareOptions *Operator::builtin_options_as() const { + return builtin_options_as_SquareOptions(); +} + +template<> inline const tflite::ZerosLikeOptions *Operator::builtin_options_as() const { + return builtin_options_as_ZerosLikeOptions(); +} + +template<> inline const tflite::FillOptions *Operator::builtin_options_as() const { + return builtin_options_as_FillOptions(); +} + +template<> inline const tflite::BidirectionalSequenceLSTMOptions *Operator::builtin_options_as() const { + return builtin_options_as_BidirectionalSequenceLSTMOptions(); +} + +template<> inline const tflite::BidirectionalSequenceRNNOptions *Operator::builtin_options_as() const { + return builtin_options_as_BidirectionalSequenceRNNOptions(); +} + +template<> inline const tflite::UnidirectionalSequenceLSTMOptions *Operator::builtin_options_as() const { + return builtin_options_as_UnidirectionalSequenceLSTMOptions(); +} + +template<> inline const tflite::FloorModOptions *Operator::builtin_options_as() const { + return builtin_options_as_FloorModOptions(); +} + +template<> inline const tflite::RangeOptions *Operator::builtin_options_as() const { + return builtin_options_as_RangeOptions(); +} + +template<> inline const tflite::ResizeNearestNeighborOptions *Operator::builtin_options_as() const { + return builtin_options_as_ResizeNearestNeighborOptions(); +} + +template<> inline const tflite::LeakyReluOptions *Operator::builtin_options_as() const { + return builtin_options_as_LeakyReluOptions(); +} + +template<> inline const tflite::SquaredDifferenceOptions *Operator::builtin_options_as() const { + return builtin_options_as_SquaredDifferenceOptions(); +} + +template<> inline const tflite::MirrorPadOptions *Operator::builtin_options_as() const { + return builtin_options_as_MirrorPadOptions(); +} + +template<> inline const tflite::AbsOptions *Operator::builtin_options_as() const { + return builtin_options_as_AbsOptions(); +} + +template<> inline const tflite::SplitVOptions *Operator::builtin_options_as() const { + return builtin_options_as_SplitVOptions(); +} + +template<> inline const tflite::UniqueOptions *Operator::builtin_options_as() const { + return builtin_options_as_UniqueOptions(); +} + +template<> inline const tflite::ReverseV2Options *Operator::builtin_options_as() const { + return builtin_options_as_ReverseV2Options(); +} + +template<> inline const tflite::AddNOptions *Operator::builtin_options_as() const { + return builtin_options_as_AddNOptions(); +} + +template<> inline const tflite::GatherNdOptions *Operator::builtin_options_as() const { + return builtin_options_as_GatherNdOptions(); +} + +template<> inline const tflite::CosOptions *Operator::builtin_options_as() const { + return builtin_options_as_CosOptions(); +} + +template<> inline const tflite::WhereOptions *Operator::builtin_options_as() const { + return builtin_options_as_WhereOptions(); +} + +template<> inline const tflite::RankOptions *Operator::builtin_options_as() const { + return builtin_options_as_RankOptions(); +} + +template<> inline const tflite::ReverseSequenceOptions *Operator::builtin_options_as() const { + return builtin_options_as_ReverseSequenceOptions(); +} + +template<> inline const tflite::MatrixDiagOptions *Operator::builtin_options_as() const { + return builtin_options_as_MatrixDiagOptions(); +} + +template<> inline const tflite::QuantizeOptions *Operator::builtin_options_as() const { + return builtin_options_as_QuantizeOptions(); +} + +template<> inline const tflite::MatrixSetDiagOptions *Operator::builtin_options_as() const { + return builtin_options_as_MatrixSetDiagOptions(); +} + +template<> inline const tflite::HardSwishOptions *Operator::builtin_options_as() const { + return builtin_options_as_HardSwishOptions(); +} + +template<> inline const tflite::IfOptions *Operator::builtin_options_as() const { + return builtin_options_as_IfOptions(); +} + +template<> inline const tflite::WhileOptions *Operator::builtin_options_as() const { + return builtin_options_as_WhileOptions(); +} + +template<> inline const tflite::DepthToSpaceOptions *Operator::builtin_options_as() const { + return builtin_options_as_DepthToSpaceOptions(); +} + +template<> inline const tflite::NonMaxSuppressionV4Options *Operator::builtin_options_as() const { + return builtin_options_as_NonMaxSuppressionV4Options(); +} + +template<> inline const tflite::NonMaxSuppressionV5Options *Operator::builtin_options_as() const { + return builtin_options_as_NonMaxSuppressionV5Options(); +} + +template<> inline const tflite::ScatterNdOptions *Operator::builtin_options_as() const { + return builtin_options_as_ScatterNdOptions(); +} + +template<> inline const tflite::SelectV2Options *Operator::builtin_options_as() const { + return builtin_options_as_SelectV2Options(); +} + +template<> inline const tflite::DensifyOptions *Operator::builtin_options_as() const { + return builtin_options_as_DensifyOptions(); +} + +template<> inline const tflite::SegmentSumOptions *Operator::builtin_options_as() const { + return builtin_options_as_SegmentSumOptions(); +} + +template<> inline const tflite::BatchMatMulOptions *Operator::builtin_options_as() const { + return builtin_options_as_BatchMatMulOptions(); +} + +struct OperatorBuilder { + typedef Operator Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_opcode_index(uint32_t opcode_index) { + fbb_.AddElement(Operator::VT_OPCODE_INDEX, opcode_index, 0); + } + void add_inputs(flatbuffers::Offset> inputs) { + fbb_.AddOffset(Operator::VT_INPUTS, inputs); + } + void add_outputs(flatbuffers::Offset> outputs) { + fbb_.AddOffset(Operator::VT_OUTPUTS, outputs); + } + void add_builtin_options_type(tflite::BuiltinOptions builtin_options_type) { + fbb_.AddElement(Operator::VT_BUILTIN_OPTIONS_TYPE, static_cast(builtin_options_type), 0); + } + void add_builtin_options(flatbuffers::Offset builtin_options) { + fbb_.AddOffset(Operator::VT_BUILTIN_OPTIONS, builtin_options); + } + void add_custom_options(flatbuffers::Offset> custom_options) { + fbb_.AddOffset(Operator::VT_CUSTOM_OPTIONS, custom_options); + } + void add_custom_options_format(tflite::CustomOptionsFormat custom_options_format) { + fbb_.AddElement(Operator::VT_CUSTOM_OPTIONS_FORMAT, static_cast(custom_options_format), 0); + } + void add_mutating_variable_inputs(flatbuffers::Offset> mutating_variable_inputs) { + fbb_.AddOffset(Operator::VT_MUTATING_VARIABLE_INPUTS, mutating_variable_inputs); + } + void add_intermediates(flatbuffers::Offset> intermediates) { + fbb_.AddOffset(Operator::VT_INTERMEDIATES, intermediates); + } + explicit OperatorBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateOperator( + flatbuffers::FlatBufferBuilder &_fbb, + uint32_t opcode_index = 0, + flatbuffers::Offset> inputs = 0, + flatbuffers::Offset> outputs = 0, + tflite::BuiltinOptions builtin_options_type = tflite::BuiltinOptions_NONE, + flatbuffers::Offset builtin_options = 0, + flatbuffers::Offset> custom_options = 0, + tflite::CustomOptionsFormat custom_options_format = tflite::CustomOptionsFormat_FLEXBUFFERS, + flatbuffers::Offset> mutating_variable_inputs = 0, + flatbuffers::Offset> intermediates = 0) { + OperatorBuilder builder_(_fbb); + builder_.add_intermediates(intermediates); + builder_.add_mutating_variable_inputs(mutating_variable_inputs); + builder_.add_custom_options(custom_options); + builder_.add_builtin_options(builtin_options); + builder_.add_outputs(outputs); + builder_.add_inputs(inputs); + builder_.add_opcode_index(opcode_index); + builder_.add_custom_options_format(custom_options_format); + builder_.add_builtin_options_type(builtin_options_type); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateOperatorDirect( + flatbuffers::FlatBufferBuilder &_fbb, + uint32_t opcode_index = 0, + const std::vector *inputs = nullptr, + const std::vector *outputs = nullptr, + tflite::BuiltinOptions builtin_options_type = tflite::BuiltinOptions_NONE, + flatbuffers::Offset builtin_options = 0, + const std::vector *custom_options = nullptr, + tflite::CustomOptionsFormat custom_options_format = tflite::CustomOptionsFormat_FLEXBUFFERS, + const std::vector *mutating_variable_inputs = nullptr, + const std::vector *intermediates = nullptr) { + auto inputs__ = inputs ? _fbb.CreateVector(*inputs) : 0; + auto outputs__ = outputs ? _fbb.CreateVector(*outputs) : 0; + auto custom_options__ = custom_options ? _fbb.CreateVector(*custom_options) : 0; + auto mutating_variable_inputs__ = mutating_variable_inputs ? _fbb.CreateVector(*mutating_variable_inputs) : 0; + auto intermediates__ = intermediates ? _fbb.CreateVector(*intermediates) : 0; + return tflite::CreateOperator( + _fbb, + opcode_index, + inputs__, + outputs__, + builtin_options_type, + builtin_options, + custom_options__, + custom_options_format, + mutating_variable_inputs__, + intermediates__); +} + +flatbuffers::Offset CreateOperator(flatbuffers::FlatBufferBuilder &_fbb, const OperatorT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct SubGraphT : public flatbuffers::NativeTable { + typedef SubGraph TableType; + std::vector> tensors{}; + std::vector inputs{}; + std::vector outputs{}; + std::vector> operators{}; + std::string name{}; +}; + +struct SubGraph FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SubGraphT NativeTableType; + typedef SubGraphBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return SubGraphTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_TENSORS = 4, + VT_INPUTS = 6, + VT_OUTPUTS = 8, + VT_OPERATORS = 10, + VT_NAME = 12 + }; + const flatbuffers::Vector> *tensors() const { + return GetPointer> *>(VT_TENSORS); + } + flatbuffers::Vector> *mutable_tensors() { + return GetPointer> *>(VT_TENSORS); + } + const flatbuffers::Vector *inputs() const { + return GetPointer *>(VT_INPUTS); + } + flatbuffers::Vector *mutable_inputs() { + return GetPointer *>(VT_INPUTS); + } + const flatbuffers::Vector *outputs() const { + return GetPointer *>(VT_OUTPUTS); + } + flatbuffers::Vector *mutable_outputs() { + return GetPointer *>(VT_OUTPUTS); + } + const flatbuffers::Vector> *operators() const { + return GetPointer> *>(VT_OPERATORS); + } + flatbuffers::Vector> *mutable_operators() { + return GetPointer> *>(VT_OPERATORS); + } + const flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + flatbuffers::String *mutable_name() { + return GetPointer(VT_NAME); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_TENSORS) && + verifier.VerifyVector(tensors()) && + verifier.VerifyVectorOfTables(tensors()) && + VerifyOffset(verifier, VT_INPUTS) && + verifier.VerifyVector(inputs()) && + VerifyOffset(verifier, VT_OUTPUTS) && + verifier.VerifyVector(outputs()) && + VerifyOffset(verifier, VT_OPERATORS) && + verifier.VerifyVector(operators()) && + verifier.VerifyVectorOfTables(operators()) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + verifier.EndTable(); + } + SubGraphT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(SubGraphT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const SubGraphT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct SubGraphBuilder { + typedef SubGraph Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_tensors(flatbuffers::Offset>> tensors) { + fbb_.AddOffset(SubGraph::VT_TENSORS, tensors); + } + void add_inputs(flatbuffers::Offset> inputs) { + fbb_.AddOffset(SubGraph::VT_INPUTS, inputs); + } + void add_outputs(flatbuffers::Offset> outputs) { + fbb_.AddOffset(SubGraph::VT_OUTPUTS, outputs); + } + void add_operators(flatbuffers::Offset>> operators) { + fbb_.AddOffset(SubGraph::VT_OPERATORS, operators); + } + void add_name(flatbuffers::Offset name) { + fbb_.AddOffset(SubGraph::VT_NAME, name); + } + explicit SubGraphBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateSubGraph( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset>> tensors = 0, + flatbuffers::Offset> inputs = 0, + flatbuffers::Offset> outputs = 0, + flatbuffers::Offset>> operators = 0, + flatbuffers::Offset name = 0) { + SubGraphBuilder builder_(_fbb); + builder_.add_name(name); + builder_.add_operators(operators); + builder_.add_outputs(outputs); + builder_.add_inputs(inputs); + builder_.add_tensors(tensors); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateSubGraphDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector> *tensors = nullptr, + const std::vector *inputs = nullptr, + const std::vector *outputs = nullptr, + const std::vector> *operators = nullptr, + const char *name = nullptr) { + auto tensors__ = tensors ? _fbb.CreateVector>(*tensors) : 0; + auto inputs__ = inputs ? _fbb.CreateVector(*inputs) : 0; + auto outputs__ = outputs ? _fbb.CreateVector(*outputs) : 0; + auto operators__ = operators ? _fbb.CreateVector>(*operators) : 0; + auto name__ = name ? _fbb.CreateString(name) : 0; + return tflite::CreateSubGraph( + _fbb, + tensors__, + inputs__, + outputs__, + operators__, + name__); +} + +flatbuffers::Offset CreateSubGraph(flatbuffers::FlatBufferBuilder &_fbb, const SubGraphT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct BufferT : public flatbuffers::NativeTable { + typedef Buffer TableType; + std::vector data{}; +}; + +struct Buffer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BufferT NativeTableType; + typedef BufferBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return BufferTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_DATA = 4 + }; + const flatbuffers::Vector *data() const { + return GetPointer *>(VT_DATA); + } + flatbuffers::Vector *mutable_data() { + return GetPointer *>(VT_DATA); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_DATA) && + verifier.VerifyVector(data()) && + verifier.EndTable(); + } + BufferT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(BufferT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const BufferT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct BufferBuilder { + typedef Buffer Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_data(flatbuffers::Offset> data) { + fbb_.AddOffset(Buffer::VT_DATA, data); + } + explicit BufferBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateBuffer( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset> data = 0) { + BufferBuilder builder_(_fbb); + builder_.add_data(data); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateBufferDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const std::vector *data = nullptr) { + if (data) { _fbb.ForceVectorAlignment(data->size(), sizeof(uint8_t), 16); } + auto data__ = data ? _fbb.CreateVector(*data) : 0; + return tflite::CreateBuffer( + _fbb, + data__); +} + +flatbuffers::Offset CreateBuffer(flatbuffers::FlatBufferBuilder &_fbb, const BufferT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct MetadataT : public flatbuffers::NativeTable { + typedef Metadata TableType; + std::string name{}; + uint32_t buffer = 0; +}; + +struct Metadata FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MetadataT NativeTableType; + typedef MetadataBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return MetadataTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_BUFFER = 6 + }; + const flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + flatbuffers::String *mutable_name() { + return GetPointer(VT_NAME); + } + uint32_t buffer() const { + return GetField(VT_BUFFER, 0); + } + bool mutate_buffer(uint32_t _buffer) { + return SetField(VT_BUFFER, _buffer, 0); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyField(verifier, VT_BUFFER) && + verifier.EndTable(); + } + MetadataT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(MetadataT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const MetadataT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct MetadataBuilder { + typedef Metadata Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_name(flatbuffers::Offset name) { + fbb_.AddOffset(Metadata::VT_NAME, name); + } + void add_buffer(uint32_t buffer) { + fbb_.AddElement(Metadata::VT_BUFFER, buffer, 0); + } + explicit MetadataBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateMetadata( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset name = 0, + uint32_t buffer = 0) { + MetadataBuilder builder_(_fbb); + builder_.add_buffer(buffer); + builder_.add_name(name); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateMetadataDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *name = nullptr, + uint32_t buffer = 0) { + auto name__ = name ? _fbb.CreateString(name) : 0; + return tflite::CreateMetadata( + _fbb, + name__, + buffer); +} + +flatbuffers::Offset CreateMetadata(flatbuffers::FlatBufferBuilder &_fbb, const MetadataT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +struct ModelT : public flatbuffers::NativeTable { + typedef Model TableType; + uint32_t version = 0; + std::vector> operator_codes{}; + std::vector> subgraphs{}; + std::string description{}; + std::vector> buffers{}; + std::vector metadata_buffer{}; + std::vector> metadata{}; +}; + +struct Model FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ModelT NativeTableType; + typedef ModelBuilder Builder; + static const flatbuffers::TypeTable *MiniReflectTypeTable() { + return ModelTypeTable(); + } + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_VERSION = 4, + VT_OPERATOR_CODES = 6, + VT_SUBGRAPHS = 8, + VT_DESCRIPTION = 10, + VT_BUFFERS = 12, + VT_METADATA_BUFFER = 14, + VT_METADATA = 16 + }; + uint32_t version() const { + return GetField(VT_VERSION, 0); + } + bool mutate_version(uint32_t _version) { + return SetField(VT_VERSION, _version, 0); + } + const flatbuffers::Vector> *operator_codes() const { + return GetPointer> *>(VT_OPERATOR_CODES); + } + flatbuffers::Vector> *mutable_operator_codes() { + return GetPointer> *>(VT_OPERATOR_CODES); + } + const flatbuffers::Vector> *subgraphs() const { + return GetPointer> *>(VT_SUBGRAPHS); + } + flatbuffers::Vector> *mutable_subgraphs() { + return GetPointer> *>(VT_SUBGRAPHS); + } + const flatbuffers::String *description() const { + return GetPointer(VT_DESCRIPTION); + } + flatbuffers::String *mutable_description() { + return GetPointer(VT_DESCRIPTION); + } + const flatbuffers::Vector> *buffers() const { + return GetPointer> *>(VT_BUFFERS); + } + flatbuffers::Vector> *mutable_buffers() { + return GetPointer> *>(VT_BUFFERS); + } + const flatbuffers::Vector *metadata_buffer() const { + return GetPointer *>(VT_METADATA_BUFFER); + } + flatbuffers::Vector *mutable_metadata_buffer() { + return GetPointer *>(VT_METADATA_BUFFER); + } + const flatbuffers::Vector> *metadata() const { + return GetPointer> *>(VT_METADATA); + } + flatbuffers::Vector> *mutable_metadata() { + return GetPointer> *>(VT_METADATA); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_VERSION) && + VerifyOffset(verifier, VT_OPERATOR_CODES) && + verifier.VerifyVector(operator_codes()) && + verifier.VerifyVectorOfTables(operator_codes()) && + VerifyOffset(verifier, VT_SUBGRAPHS) && + verifier.VerifyVector(subgraphs()) && + verifier.VerifyVectorOfTables(subgraphs()) && + VerifyOffset(verifier, VT_DESCRIPTION) && + verifier.VerifyString(description()) && + VerifyOffset(verifier, VT_BUFFERS) && + verifier.VerifyVector(buffers()) && + verifier.VerifyVectorOfTables(buffers()) && + VerifyOffset(verifier, VT_METADATA_BUFFER) && + verifier.VerifyVector(metadata_buffer()) && + VerifyOffset(verifier, VT_METADATA) && + verifier.VerifyVector(metadata()) && + verifier.VerifyVectorOfTables(metadata()) && + verifier.EndTable(); + } + ModelT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; + void UnPackTo(ModelT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; + static flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const ModelT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); +}; + +struct ModelBuilder { + typedef Model Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_version(uint32_t version) { + fbb_.AddElement(Model::VT_VERSION, version, 0); + } + void add_operator_codes(flatbuffers::Offset>> operator_codes) { + fbb_.AddOffset(Model::VT_OPERATOR_CODES, operator_codes); + } + void add_subgraphs(flatbuffers::Offset>> subgraphs) { + fbb_.AddOffset(Model::VT_SUBGRAPHS, subgraphs); + } + void add_description(flatbuffers::Offset description) { + fbb_.AddOffset(Model::VT_DESCRIPTION, description); + } + void add_buffers(flatbuffers::Offset>> buffers) { + fbb_.AddOffset(Model::VT_BUFFERS, buffers); + } + void add_metadata_buffer(flatbuffers::Offset> metadata_buffer) { + fbb_.AddOffset(Model::VT_METADATA_BUFFER, metadata_buffer); + } + void add_metadata(flatbuffers::Offset>> metadata) { + fbb_.AddOffset(Model::VT_METADATA, metadata); + } + explicit ModelBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateModel( + flatbuffers::FlatBufferBuilder &_fbb, + uint32_t version = 0, + flatbuffers::Offset>> operator_codes = 0, + flatbuffers::Offset>> subgraphs = 0, + flatbuffers::Offset description = 0, + flatbuffers::Offset>> buffers = 0, + flatbuffers::Offset> metadata_buffer = 0, + flatbuffers::Offset>> metadata = 0) { + ModelBuilder builder_(_fbb); + builder_.add_metadata(metadata); + builder_.add_metadata_buffer(metadata_buffer); + builder_.add_buffers(buffers); + builder_.add_description(description); + builder_.add_subgraphs(subgraphs); + builder_.add_operator_codes(operator_codes); + builder_.add_version(version); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateModelDirect( + flatbuffers::FlatBufferBuilder &_fbb, + uint32_t version = 0, + const std::vector> *operator_codes = nullptr, + const std::vector> *subgraphs = nullptr, + const char *description = nullptr, + const std::vector> *buffers = nullptr, + const std::vector *metadata_buffer = nullptr, + const std::vector> *metadata = nullptr) { + auto operator_codes__ = operator_codes ? _fbb.CreateVector>(*operator_codes) : 0; + auto subgraphs__ = subgraphs ? _fbb.CreateVector>(*subgraphs) : 0; + auto description__ = description ? _fbb.CreateString(description) : 0; + auto buffers__ = buffers ? _fbb.CreateVector>(*buffers) : 0; + auto metadata_buffer__ = metadata_buffer ? _fbb.CreateVector(*metadata_buffer) : 0; + auto metadata__ = metadata ? _fbb.CreateVector>(*metadata) : 0; + return tflite::CreateModel( + _fbb, + version, + operator_codes__, + subgraphs__, + description__, + buffers__, + metadata_buffer__, + metadata__); +} + +flatbuffers::Offset CreateModel(flatbuffers::FlatBufferBuilder &_fbb, const ModelT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + +inline CustomQuantizationT *CustomQuantization::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new CustomQuantizationT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void CustomQuantization::UnPackTo(CustomQuantizationT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = custom(); if (_e) { _o->custom.resize(_e->size()); std::copy(_e->begin(), _e->end(), _o->custom.begin()); } } +} + +inline flatbuffers::Offset CustomQuantization::Pack(flatbuffers::FlatBufferBuilder &_fbb, const CustomQuantizationT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateCustomQuantization(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateCustomQuantization(flatbuffers::FlatBufferBuilder &_fbb, const CustomQuantizationT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const CustomQuantizationT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + _fbb.ForceVectorAlignment(_o->custom.size(), sizeof(uint8_t), 16); + auto _custom = _o->custom.size() ? _fbb.CreateVector(_o->custom) : 0; + return tflite::CreateCustomQuantization( + _fbb, + _custom); +} + +inline QuantizationParametersT *QuantizationParameters::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new QuantizationParametersT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void QuantizationParameters::UnPackTo(QuantizationParametersT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = min(); if (_e) { _o->min.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->min[_i] = _e->Get(_i); } } } + { auto _e = max(); if (_e) { _o->max.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->max[_i] = _e->Get(_i); } } } + { auto _e = scale(); if (_e) { _o->scale.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->scale[_i] = _e->Get(_i); } } } + { auto _e = zero_point(); if (_e) { _o->zero_point.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->zero_point[_i] = _e->Get(_i); } } } + { auto _e = details_type(); _o->details.type = _e; } + { auto _e = details(); if (_e) _o->details.value = tflite::QuantizationDetailsUnion::UnPack(_e, details_type(), _resolver); } + { auto _e = quantized_dimension(); _o->quantized_dimension = _e; } +} + +inline flatbuffers::Offset QuantizationParameters::Pack(flatbuffers::FlatBufferBuilder &_fbb, const QuantizationParametersT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateQuantizationParameters(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateQuantizationParameters(flatbuffers::FlatBufferBuilder &_fbb, const QuantizationParametersT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const QuantizationParametersT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _min = _o->min.size() ? _fbb.CreateVector(_o->min) : 0; + auto _max = _o->max.size() ? _fbb.CreateVector(_o->max) : 0; + auto _scale = _o->scale.size() ? _fbb.CreateVector(_o->scale) : 0; + auto _zero_point = _o->zero_point.size() ? _fbb.CreateVector(_o->zero_point) : 0; + auto _details_type = _o->details.type; + auto _details = _o->details.Pack(_fbb); + auto _quantized_dimension = _o->quantized_dimension; + return tflite::CreateQuantizationParameters( + _fbb, + _min, + _max, + _scale, + _zero_point, + _details_type, + _details, + _quantized_dimension); +} + +inline Int32VectorT *Int32Vector::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new Int32VectorT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void Int32Vector::UnPackTo(Int32VectorT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = values(); if (_e) { _o->values.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->values[_i] = _e->Get(_i); } } } +} + +inline flatbuffers::Offset Int32Vector::Pack(flatbuffers::FlatBufferBuilder &_fbb, const Int32VectorT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateInt32Vector(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateInt32Vector(flatbuffers::FlatBufferBuilder &_fbb, const Int32VectorT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const Int32VectorT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _values = _o->values.size() ? _fbb.CreateVector(_o->values) : 0; + return tflite::CreateInt32Vector( + _fbb, + _values); +} + +inline Uint16VectorT *Uint16Vector::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new Uint16VectorT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void Uint16Vector::UnPackTo(Uint16VectorT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = values(); if (_e) { _o->values.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->values[_i] = _e->Get(_i); } } } +} + +inline flatbuffers::Offset Uint16Vector::Pack(flatbuffers::FlatBufferBuilder &_fbb, const Uint16VectorT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateUint16Vector(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateUint16Vector(flatbuffers::FlatBufferBuilder &_fbb, const Uint16VectorT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const Uint16VectorT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + _fbb.ForceVectorAlignment(_o->values.size(), sizeof(uint16_t), 4); + auto _values = _o->values.size() ? _fbb.CreateVector(_o->values) : 0; + return tflite::CreateUint16Vector( + _fbb, + _values); +} + +inline Uint8VectorT *Uint8Vector::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new Uint8VectorT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void Uint8Vector::UnPackTo(Uint8VectorT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = values(); if (_e) { _o->values.resize(_e->size()); std::copy(_e->begin(), _e->end(), _o->values.begin()); } } +} + +inline flatbuffers::Offset Uint8Vector::Pack(flatbuffers::FlatBufferBuilder &_fbb, const Uint8VectorT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateUint8Vector(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateUint8Vector(flatbuffers::FlatBufferBuilder &_fbb, const Uint8VectorT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const Uint8VectorT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + _fbb.ForceVectorAlignment(_o->values.size(), sizeof(uint8_t), 4); + auto _values = _o->values.size() ? _fbb.CreateVector(_o->values) : 0; + return tflite::CreateUint8Vector( + _fbb, + _values); +} + +inline DimensionMetadataT *DimensionMetadata::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new DimensionMetadataT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void DimensionMetadata::UnPackTo(DimensionMetadataT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = format(); _o->format = _e; } + { auto _e = dense_size(); _o->dense_size = _e; } + { auto _e = array_segments_type(); _o->array_segments.type = _e; } + { auto _e = array_segments(); if (_e) _o->array_segments.value = tflite::SparseIndexVectorUnion::UnPack(_e, array_segments_type(), _resolver); } + { auto _e = array_indices_type(); _o->array_indices.type = _e; } + { auto _e = array_indices(); if (_e) _o->array_indices.value = tflite::SparseIndexVectorUnion::UnPack(_e, array_indices_type(), _resolver); } +} + +inline flatbuffers::Offset DimensionMetadata::Pack(flatbuffers::FlatBufferBuilder &_fbb, const DimensionMetadataT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateDimensionMetadata(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateDimensionMetadata(flatbuffers::FlatBufferBuilder &_fbb, const DimensionMetadataT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const DimensionMetadataT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _format = _o->format; + auto _dense_size = _o->dense_size; + auto _array_segments_type = _o->array_segments.type; + auto _array_segments = _o->array_segments.Pack(_fbb); + auto _array_indices_type = _o->array_indices.type; + auto _array_indices = _o->array_indices.Pack(_fbb); + return tflite::CreateDimensionMetadata( + _fbb, + _format, + _dense_size, + _array_segments_type, + _array_segments, + _array_indices_type, + _array_indices); +} + +inline SparsityParametersT *SparsityParameters::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SparsityParametersT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SparsityParameters::UnPackTo(SparsityParametersT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = traversal_order(); if (_e) { _o->traversal_order.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->traversal_order[_i] = _e->Get(_i); } } } + { auto _e = block_map(); if (_e) { _o->block_map.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->block_map[_i] = _e->Get(_i); } } } + { auto _e = dim_metadata(); if (_e) { _o->dim_metadata.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->dim_metadata[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } +} + +inline flatbuffers::Offset SparsityParameters::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SparsityParametersT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSparsityParameters(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSparsityParameters(flatbuffers::FlatBufferBuilder &_fbb, const SparsityParametersT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SparsityParametersT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _traversal_order = _o->traversal_order.size() ? _fbb.CreateVector(_o->traversal_order) : 0; + auto _block_map = _o->block_map.size() ? _fbb.CreateVector(_o->block_map) : 0; + auto _dim_metadata = _o->dim_metadata.size() ? _fbb.CreateVector> (_o->dim_metadata.size(), [](size_t i, _VectorArgs *__va) { return CreateDimensionMetadata(*__va->__fbb, __va->__o->dim_metadata[i].get(), __va->__rehasher); }, &_va ) : 0; + return tflite::CreateSparsityParameters( + _fbb, + _traversal_order, + _block_map, + _dim_metadata); +} + +inline TensorT *Tensor::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new TensorT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void Tensor::UnPackTo(TensorT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = shape(); if (_e) { _o->shape.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->shape[_i] = _e->Get(_i); } } } + { auto _e = type(); _o->type = _e; } + { auto _e = buffer(); _o->buffer = _e; } + { auto _e = name(); if (_e) _o->name = _e->str(); } + { auto _e = quantization(); if (_e) _o->quantization = std::unique_ptr(_e->UnPack(_resolver)); } + { auto _e = is_variable(); _o->is_variable = _e; } + { auto _e = sparsity(); if (_e) _o->sparsity = std::unique_ptr(_e->UnPack(_resolver)); } + { auto _e = shape_signature(); if (_e) { _o->shape_signature.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->shape_signature[_i] = _e->Get(_i); } } } +} + +inline flatbuffers::Offset Tensor::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TensorT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateTensor(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateTensor(flatbuffers::FlatBufferBuilder &_fbb, const TensorT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TensorT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _shape = _o->shape.size() ? _fbb.CreateVector(_o->shape) : 0; + auto _type = _o->type; + auto _buffer = _o->buffer; + auto _name = _o->name.empty() ? 0 : _fbb.CreateString(_o->name); + auto _quantization = _o->quantization ? CreateQuantizationParameters(_fbb, _o->quantization.get(), _rehasher) : 0; + auto _is_variable = _o->is_variable; + auto _sparsity = _o->sparsity ? CreateSparsityParameters(_fbb, _o->sparsity.get(), _rehasher) : 0; + auto _shape_signature = _o->shape_signature.size() ? _fbb.CreateVector(_o->shape_signature) : 0; + return tflite::CreateTensor( + _fbb, + _shape, + _type, + _buffer, + _name, + _quantization, + _is_variable, + _sparsity, + _shape_signature); +} + +inline Conv2DOptionsT *Conv2DOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new Conv2DOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void Conv2DOptions::UnPackTo(Conv2DOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = padding(); _o->padding = _e; } + { auto _e = stride_w(); _o->stride_w = _e; } + { auto _e = stride_h(); _o->stride_h = _e; } + { auto _e = fused_activation_function(); _o->fused_activation_function = _e; } + { auto _e = dilation_w_factor(); _o->dilation_w_factor = _e; } + { auto _e = dilation_h_factor(); _o->dilation_h_factor = _e; } +} + +inline flatbuffers::Offset Conv2DOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const Conv2DOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateConv2DOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateConv2DOptions(flatbuffers::FlatBufferBuilder &_fbb, const Conv2DOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const Conv2DOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _padding = _o->padding; + auto _stride_w = _o->stride_w; + auto _stride_h = _o->stride_h; + auto _fused_activation_function = _o->fused_activation_function; + auto _dilation_w_factor = _o->dilation_w_factor; + auto _dilation_h_factor = _o->dilation_h_factor; + return tflite::CreateConv2DOptions( + _fbb, + _padding, + _stride_w, + _stride_h, + _fused_activation_function, + _dilation_w_factor, + _dilation_h_factor); +} + +inline Pool2DOptionsT *Pool2DOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new Pool2DOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void Pool2DOptions::UnPackTo(Pool2DOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = padding(); _o->padding = _e; } + { auto _e = stride_w(); _o->stride_w = _e; } + { auto _e = stride_h(); _o->stride_h = _e; } + { auto _e = filter_width(); _o->filter_width = _e; } + { auto _e = filter_height(); _o->filter_height = _e; } + { auto _e = fused_activation_function(); _o->fused_activation_function = _e; } +} + +inline flatbuffers::Offset Pool2DOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const Pool2DOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreatePool2DOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreatePool2DOptions(flatbuffers::FlatBufferBuilder &_fbb, const Pool2DOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const Pool2DOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _padding = _o->padding; + auto _stride_w = _o->stride_w; + auto _stride_h = _o->stride_h; + auto _filter_width = _o->filter_width; + auto _filter_height = _o->filter_height; + auto _fused_activation_function = _o->fused_activation_function; + return tflite::CreatePool2DOptions( + _fbb, + _padding, + _stride_w, + _stride_h, + _filter_width, + _filter_height, + _fused_activation_function); +} + +inline DepthwiseConv2DOptionsT *DepthwiseConv2DOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new DepthwiseConv2DOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void DepthwiseConv2DOptions::UnPackTo(DepthwiseConv2DOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = padding(); _o->padding = _e; } + { auto _e = stride_w(); _o->stride_w = _e; } + { auto _e = stride_h(); _o->stride_h = _e; } + { auto _e = depth_multiplier(); _o->depth_multiplier = _e; } + { auto _e = fused_activation_function(); _o->fused_activation_function = _e; } + { auto _e = dilation_w_factor(); _o->dilation_w_factor = _e; } + { auto _e = dilation_h_factor(); _o->dilation_h_factor = _e; } +} + +inline flatbuffers::Offset DepthwiseConv2DOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const DepthwiseConv2DOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateDepthwiseConv2DOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateDepthwiseConv2DOptions(flatbuffers::FlatBufferBuilder &_fbb, const DepthwiseConv2DOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const DepthwiseConv2DOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _padding = _o->padding; + auto _stride_w = _o->stride_w; + auto _stride_h = _o->stride_h; + auto _depth_multiplier = _o->depth_multiplier; + auto _fused_activation_function = _o->fused_activation_function; + auto _dilation_w_factor = _o->dilation_w_factor; + auto _dilation_h_factor = _o->dilation_h_factor; + return tflite::CreateDepthwiseConv2DOptions( + _fbb, + _padding, + _stride_w, + _stride_h, + _depth_multiplier, + _fused_activation_function, + _dilation_w_factor, + _dilation_h_factor); +} + +inline ConcatEmbeddingsOptionsT *ConcatEmbeddingsOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new ConcatEmbeddingsOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void ConcatEmbeddingsOptions::UnPackTo(ConcatEmbeddingsOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = num_channels(); _o->num_channels = _e; } + { auto _e = num_columns_per_channel(); if (_e) { _o->num_columns_per_channel.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->num_columns_per_channel[_i] = _e->Get(_i); } } } + { auto _e = embedding_dim_per_channel(); if (_e) { _o->embedding_dim_per_channel.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->embedding_dim_per_channel[_i] = _e->Get(_i); } } } +} + +inline flatbuffers::Offset ConcatEmbeddingsOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ConcatEmbeddingsOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateConcatEmbeddingsOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateConcatEmbeddingsOptions(flatbuffers::FlatBufferBuilder &_fbb, const ConcatEmbeddingsOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ConcatEmbeddingsOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _num_channels = _o->num_channels; + auto _num_columns_per_channel = _o->num_columns_per_channel.size() ? _fbb.CreateVector(_o->num_columns_per_channel) : 0; + auto _embedding_dim_per_channel = _o->embedding_dim_per_channel.size() ? _fbb.CreateVector(_o->embedding_dim_per_channel) : 0; + return tflite::CreateConcatEmbeddingsOptions( + _fbb, + _num_channels, + _num_columns_per_channel, + _embedding_dim_per_channel); +} + +inline LSHProjectionOptionsT *LSHProjectionOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new LSHProjectionOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void LSHProjectionOptions::UnPackTo(LSHProjectionOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = type(); _o->type = _e; } +} + +inline flatbuffers::Offset LSHProjectionOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LSHProjectionOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateLSHProjectionOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateLSHProjectionOptions(flatbuffers::FlatBufferBuilder &_fbb, const LSHProjectionOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LSHProjectionOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _type = _o->type; + return tflite::CreateLSHProjectionOptions( + _fbb, + _type); +} + +inline SVDFOptionsT *SVDFOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SVDFOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SVDFOptions::UnPackTo(SVDFOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = rank(); _o->rank = _e; } + { auto _e = fused_activation_function(); _o->fused_activation_function = _e; } + { auto _e = asymmetric_quantize_inputs(); _o->asymmetric_quantize_inputs = _e; } +} + +inline flatbuffers::Offset SVDFOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SVDFOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSVDFOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSVDFOptions(flatbuffers::FlatBufferBuilder &_fbb, const SVDFOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SVDFOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _rank = _o->rank; + auto _fused_activation_function = _o->fused_activation_function; + auto _asymmetric_quantize_inputs = _o->asymmetric_quantize_inputs; + return tflite::CreateSVDFOptions( + _fbb, + _rank, + _fused_activation_function, + _asymmetric_quantize_inputs); +} + +inline RNNOptionsT *RNNOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new RNNOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void RNNOptions::UnPackTo(RNNOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = fused_activation_function(); _o->fused_activation_function = _e; } + { auto _e = asymmetric_quantize_inputs(); _o->asymmetric_quantize_inputs = _e; } +} + +inline flatbuffers::Offset RNNOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const RNNOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateRNNOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateRNNOptions(flatbuffers::FlatBufferBuilder &_fbb, const RNNOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const RNNOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _fused_activation_function = _o->fused_activation_function; + auto _asymmetric_quantize_inputs = _o->asymmetric_quantize_inputs; + return tflite::CreateRNNOptions( + _fbb, + _fused_activation_function, + _asymmetric_quantize_inputs); +} + +inline SequenceRNNOptionsT *SequenceRNNOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SequenceRNNOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SequenceRNNOptions::UnPackTo(SequenceRNNOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = time_major(); _o->time_major = _e; } + { auto _e = fused_activation_function(); _o->fused_activation_function = _e; } + { auto _e = asymmetric_quantize_inputs(); _o->asymmetric_quantize_inputs = _e; } +} + +inline flatbuffers::Offset SequenceRNNOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SequenceRNNOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSequenceRNNOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSequenceRNNOptions(flatbuffers::FlatBufferBuilder &_fbb, const SequenceRNNOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SequenceRNNOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _time_major = _o->time_major; + auto _fused_activation_function = _o->fused_activation_function; + auto _asymmetric_quantize_inputs = _o->asymmetric_quantize_inputs; + return tflite::CreateSequenceRNNOptions( + _fbb, + _time_major, + _fused_activation_function, + _asymmetric_quantize_inputs); +} + +inline BidirectionalSequenceRNNOptionsT *BidirectionalSequenceRNNOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new BidirectionalSequenceRNNOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void BidirectionalSequenceRNNOptions::UnPackTo(BidirectionalSequenceRNNOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = time_major(); _o->time_major = _e; } + { auto _e = fused_activation_function(); _o->fused_activation_function = _e; } + { auto _e = merge_outputs(); _o->merge_outputs = _e; } + { auto _e = asymmetric_quantize_inputs(); _o->asymmetric_quantize_inputs = _e; } +} + +inline flatbuffers::Offset BidirectionalSequenceRNNOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const BidirectionalSequenceRNNOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateBidirectionalSequenceRNNOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateBidirectionalSequenceRNNOptions(flatbuffers::FlatBufferBuilder &_fbb, const BidirectionalSequenceRNNOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const BidirectionalSequenceRNNOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _time_major = _o->time_major; + auto _fused_activation_function = _o->fused_activation_function; + auto _merge_outputs = _o->merge_outputs; + auto _asymmetric_quantize_inputs = _o->asymmetric_quantize_inputs; + return tflite::CreateBidirectionalSequenceRNNOptions( + _fbb, + _time_major, + _fused_activation_function, + _merge_outputs, + _asymmetric_quantize_inputs); +} + +inline FullyConnectedOptionsT *FullyConnectedOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new FullyConnectedOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void FullyConnectedOptions::UnPackTo(FullyConnectedOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = fused_activation_function(); _o->fused_activation_function = _e; } + { auto _e = weights_format(); _o->weights_format = _e; } + { auto _e = keep_num_dims(); _o->keep_num_dims = _e; } + { auto _e = asymmetric_quantize_inputs(); _o->asymmetric_quantize_inputs = _e; } +} + +inline flatbuffers::Offset FullyConnectedOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const FullyConnectedOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateFullyConnectedOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateFullyConnectedOptions(flatbuffers::FlatBufferBuilder &_fbb, const FullyConnectedOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const FullyConnectedOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _fused_activation_function = _o->fused_activation_function; + auto _weights_format = _o->weights_format; + auto _keep_num_dims = _o->keep_num_dims; + auto _asymmetric_quantize_inputs = _o->asymmetric_quantize_inputs; + return tflite::CreateFullyConnectedOptions( + _fbb, + _fused_activation_function, + _weights_format, + _keep_num_dims, + _asymmetric_quantize_inputs); +} + +inline SoftmaxOptionsT *SoftmaxOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SoftmaxOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SoftmaxOptions::UnPackTo(SoftmaxOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = beta(); _o->beta = _e; } +} + +inline flatbuffers::Offset SoftmaxOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SoftmaxOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSoftmaxOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSoftmaxOptions(flatbuffers::FlatBufferBuilder &_fbb, const SoftmaxOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SoftmaxOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _beta = _o->beta; + return tflite::CreateSoftmaxOptions( + _fbb, + _beta); +} + +inline ConcatenationOptionsT *ConcatenationOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new ConcatenationOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void ConcatenationOptions::UnPackTo(ConcatenationOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = axis(); _o->axis = _e; } + { auto _e = fused_activation_function(); _o->fused_activation_function = _e; } +} + +inline flatbuffers::Offset ConcatenationOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ConcatenationOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateConcatenationOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateConcatenationOptions(flatbuffers::FlatBufferBuilder &_fbb, const ConcatenationOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ConcatenationOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _axis = _o->axis; + auto _fused_activation_function = _o->fused_activation_function; + return tflite::CreateConcatenationOptions( + _fbb, + _axis, + _fused_activation_function); +} + +inline AddOptionsT *AddOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new AddOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void AddOptions::UnPackTo(AddOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = fused_activation_function(); _o->fused_activation_function = _e; } +} + +inline flatbuffers::Offset AddOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const AddOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateAddOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateAddOptions(flatbuffers::FlatBufferBuilder &_fbb, const AddOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const AddOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _fused_activation_function = _o->fused_activation_function; + return tflite::CreateAddOptions( + _fbb, + _fused_activation_function); +} + +inline MulOptionsT *MulOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new MulOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void MulOptions::UnPackTo(MulOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = fused_activation_function(); _o->fused_activation_function = _e; } +} + +inline flatbuffers::Offset MulOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MulOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateMulOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateMulOptions(flatbuffers::FlatBufferBuilder &_fbb, const MulOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const MulOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _fused_activation_function = _o->fused_activation_function; + return tflite::CreateMulOptions( + _fbb, + _fused_activation_function); +} + +inline L2NormOptionsT *L2NormOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new L2NormOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void L2NormOptions::UnPackTo(L2NormOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = fused_activation_function(); _o->fused_activation_function = _e; } +} + +inline flatbuffers::Offset L2NormOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const L2NormOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateL2NormOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateL2NormOptions(flatbuffers::FlatBufferBuilder &_fbb, const L2NormOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const L2NormOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _fused_activation_function = _o->fused_activation_function; + return tflite::CreateL2NormOptions( + _fbb, + _fused_activation_function); +} + +inline LocalResponseNormalizationOptionsT *LocalResponseNormalizationOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new LocalResponseNormalizationOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void LocalResponseNormalizationOptions::UnPackTo(LocalResponseNormalizationOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = radius(); _o->radius = _e; } + { auto _e = bias(); _o->bias = _e; } + { auto _e = alpha(); _o->alpha = _e; } + { auto _e = beta(); _o->beta = _e; } +} + +inline flatbuffers::Offset LocalResponseNormalizationOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LocalResponseNormalizationOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateLocalResponseNormalizationOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateLocalResponseNormalizationOptions(flatbuffers::FlatBufferBuilder &_fbb, const LocalResponseNormalizationOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LocalResponseNormalizationOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _radius = _o->radius; + auto _bias = _o->bias; + auto _alpha = _o->alpha; + auto _beta = _o->beta; + return tflite::CreateLocalResponseNormalizationOptions( + _fbb, + _radius, + _bias, + _alpha, + _beta); +} + +inline LSTMOptionsT *LSTMOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new LSTMOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void LSTMOptions::UnPackTo(LSTMOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = fused_activation_function(); _o->fused_activation_function = _e; } + { auto _e = cell_clip(); _o->cell_clip = _e; } + { auto _e = proj_clip(); _o->proj_clip = _e; } + { auto _e = kernel_type(); _o->kernel_type = _e; } + { auto _e = asymmetric_quantize_inputs(); _o->asymmetric_quantize_inputs = _e; } +} + +inline flatbuffers::Offset LSTMOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LSTMOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateLSTMOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateLSTMOptions(flatbuffers::FlatBufferBuilder &_fbb, const LSTMOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LSTMOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _fused_activation_function = _o->fused_activation_function; + auto _cell_clip = _o->cell_clip; + auto _proj_clip = _o->proj_clip; + auto _kernel_type = _o->kernel_type; + auto _asymmetric_quantize_inputs = _o->asymmetric_quantize_inputs; + return tflite::CreateLSTMOptions( + _fbb, + _fused_activation_function, + _cell_clip, + _proj_clip, + _kernel_type, + _asymmetric_quantize_inputs); +} + +inline UnidirectionalSequenceLSTMOptionsT *UnidirectionalSequenceLSTMOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new UnidirectionalSequenceLSTMOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void UnidirectionalSequenceLSTMOptions::UnPackTo(UnidirectionalSequenceLSTMOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = fused_activation_function(); _o->fused_activation_function = _e; } + { auto _e = cell_clip(); _o->cell_clip = _e; } + { auto _e = proj_clip(); _o->proj_clip = _e; } + { auto _e = time_major(); _o->time_major = _e; } + { auto _e = asymmetric_quantize_inputs(); _o->asymmetric_quantize_inputs = _e; } +} + +inline flatbuffers::Offset UnidirectionalSequenceLSTMOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnidirectionalSequenceLSTMOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateUnidirectionalSequenceLSTMOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateUnidirectionalSequenceLSTMOptions(flatbuffers::FlatBufferBuilder &_fbb, const UnidirectionalSequenceLSTMOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const UnidirectionalSequenceLSTMOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _fused_activation_function = _o->fused_activation_function; + auto _cell_clip = _o->cell_clip; + auto _proj_clip = _o->proj_clip; + auto _time_major = _o->time_major; + auto _asymmetric_quantize_inputs = _o->asymmetric_quantize_inputs; + return tflite::CreateUnidirectionalSequenceLSTMOptions( + _fbb, + _fused_activation_function, + _cell_clip, + _proj_clip, + _time_major, + _asymmetric_quantize_inputs); +} + +inline BidirectionalSequenceLSTMOptionsT *BidirectionalSequenceLSTMOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new BidirectionalSequenceLSTMOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void BidirectionalSequenceLSTMOptions::UnPackTo(BidirectionalSequenceLSTMOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = fused_activation_function(); _o->fused_activation_function = _e; } + { auto _e = cell_clip(); _o->cell_clip = _e; } + { auto _e = proj_clip(); _o->proj_clip = _e; } + { auto _e = merge_outputs(); _o->merge_outputs = _e; } + { auto _e = time_major(); _o->time_major = _e; } + { auto _e = asymmetric_quantize_inputs(); _o->asymmetric_quantize_inputs = _e; } +} + +inline flatbuffers::Offset BidirectionalSequenceLSTMOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const BidirectionalSequenceLSTMOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateBidirectionalSequenceLSTMOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateBidirectionalSequenceLSTMOptions(flatbuffers::FlatBufferBuilder &_fbb, const BidirectionalSequenceLSTMOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const BidirectionalSequenceLSTMOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _fused_activation_function = _o->fused_activation_function; + auto _cell_clip = _o->cell_clip; + auto _proj_clip = _o->proj_clip; + auto _merge_outputs = _o->merge_outputs; + auto _time_major = _o->time_major; + auto _asymmetric_quantize_inputs = _o->asymmetric_quantize_inputs; + return tflite::CreateBidirectionalSequenceLSTMOptions( + _fbb, + _fused_activation_function, + _cell_clip, + _proj_clip, + _merge_outputs, + _time_major, + _asymmetric_quantize_inputs); +} + +inline ResizeBilinearOptionsT *ResizeBilinearOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new ResizeBilinearOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void ResizeBilinearOptions::UnPackTo(ResizeBilinearOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = align_corners(); _o->align_corners = _e; } + { auto _e = half_pixel_centers(); _o->half_pixel_centers = _e; } +} + +inline flatbuffers::Offset ResizeBilinearOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ResizeBilinearOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateResizeBilinearOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateResizeBilinearOptions(flatbuffers::FlatBufferBuilder &_fbb, const ResizeBilinearOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ResizeBilinearOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _align_corners = _o->align_corners; + auto _half_pixel_centers = _o->half_pixel_centers; + return tflite::CreateResizeBilinearOptions( + _fbb, + _align_corners, + _half_pixel_centers); +} + +inline ResizeNearestNeighborOptionsT *ResizeNearestNeighborOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new ResizeNearestNeighborOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void ResizeNearestNeighborOptions::UnPackTo(ResizeNearestNeighborOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = align_corners(); _o->align_corners = _e; } + { auto _e = half_pixel_centers(); _o->half_pixel_centers = _e; } +} + +inline flatbuffers::Offset ResizeNearestNeighborOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ResizeNearestNeighborOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateResizeNearestNeighborOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateResizeNearestNeighborOptions(flatbuffers::FlatBufferBuilder &_fbb, const ResizeNearestNeighborOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ResizeNearestNeighborOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _align_corners = _o->align_corners; + auto _half_pixel_centers = _o->half_pixel_centers; + return tflite::CreateResizeNearestNeighborOptions( + _fbb, + _align_corners, + _half_pixel_centers); +} + +inline CallOptionsT *CallOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new CallOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void CallOptions::UnPackTo(CallOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = subgraph(); _o->subgraph = _e; } +} + +inline flatbuffers::Offset CallOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const CallOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateCallOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateCallOptions(flatbuffers::FlatBufferBuilder &_fbb, const CallOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const CallOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _subgraph = _o->subgraph; + return tflite::CreateCallOptions( + _fbb, + _subgraph); +} + +inline PadOptionsT *PadOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new PadOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void PadOptions::UnPackTo(PadOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset PadOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const PadOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreatePadOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreatePadOptions(flatbuffers::FlatBufferBuilder &_fbb, const PadOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const PadOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreatePadOptions( + _fbb); +} + +inline PadV2OptionsT *PadV2Options::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new PadV2OptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void PadV2Options::UnPackTo(PadV2OptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset PadV2Options::Pack(flatbuffers::FlatBufferBuilder &_fbb, const PadV2OptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreatePadV2Options(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreatePadV2Options(flatbuffers::FlatBufferBuilder &_fbb, const PadV2OptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const PadV2OptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreatePadV2Options( + _fbb); +} + +inline ReshapeOptionsT *ReshapeOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new ReshapeOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void ReshapeOptions::UnPackTo(ReshapeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = new_shape(); if (_e) { _o->new_shape.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->new_shape[_i] = _e->Get(_i); } } } +} + +inline flatbuffers::Offset ReshapeOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ReshapeOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateReshapeOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateReshapeOptions(flatbuffers::FlatBufferBuilder &_fbb, const ReshapeOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ReshapeOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _new_shape = _o->new_shape.size() ? _fbb.CreateVector(_o->new_shape) : 0; + return tflite::CreateReshapeOptions( + _fbb, + _new_shape); +} + +inline SpaceToBatchNDOptionsT *SpaceToBatchNDOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SpaceToBatchNDOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SpaceToBatchNDOptions::UnPackTo(SpaceToBatchNDOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset SpaceToBatchNDOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SpaceToBatchNDOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSpaceToBatchNDOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSpaceToBatchNDOptions(flatbuffers::FlatBufferBuilder &_fbb, const SpaceToBatchNDOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SpaceToBatchNDOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateSpaceToBatchNDOptions( + _fbb); +} + +inline BatchToSpaceNDOptionsT *BatchToSpaceNDOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new BatchToSpaceNDOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void BatchToSpaceNDOptions::UnPackTo(BatchToSpaceNDOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset BatchToSpaceNDOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const BatchToSpaceNDOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateBatchToSpaceNDOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateBatchToSpaceNDOptions(flatbuffers::FlatBufferBuilder &_fbb, const BatchToSpaceNDOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const BatchToSpaceNDOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateBatchToSpaceNDOptions( + _fbb); +} + +inline SkipGramOptionsT *SkipGramOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SkipGramOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SkipGramOptions::UnPackTo(SkipGramOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = ngram_size(); _o->ngram_size = _e; } + { auto _e = max_skip_size(); _o->max_skip_size = _e; } + { auto _e = include_all_ngrams(); _o->include_all_ngrams = _e; } +} + +inline flatbuffers::Offset SkipGramOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SkipGramOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSkipGramOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSkipGramOptions(flatbuffers::FlatBufferBuilder &_fbb, const SkipGramOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SkipGramOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _ngram_size = _o->ngram_size; + auto _max_skip_size = _o->max_skip_size; + auto _include_all_ngrams = _o->include_all_ngrams; + return tflite::CreateSkipGramOptions( + _fbb, + _ngram_size, + _max_skip_size, + _include_all_ngrams); +} + +inline SpaceToDepthOptionsT *SpaceToDepthOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SpaceToDepthOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SpaceToDepthOptions::UnPackTo(SpaceToDepthOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = block_size(); _o->block_size = _e; } +} + +inline flatbuffers::Offset SpaceToDepthOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SpaceToDepthOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSpaceToDepthOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSpaceToDepthOptions(flatbuffers::FlatBufferBuilder &_fbb, const SpaceToDepthOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SpaceToDepthOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _block_size = _o->block_size; + return tflite::CreateSpaceToDepthOptions( + _fbb, + _block_size); +} + +inline DepthToSpaceOptionsT *DepthToSpaceOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new DepthToSpaceOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void DepthToSpaceOptions::UnPackTo(DepthToSpaceOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = block_size(); _o->block_size = _e; } +} + +inline flatbuffers::Offset DepthToSpaceOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const DepthToSpaceOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateDepthToSpaceOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateDepthToSpaceOptions(flatbuffers::FlatBufferBuilder &_fbb, const DepthToSpaceOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const DepthToSpaceOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _block_size = _o->block_size; + return tflite::CreateDepthToSpaceOptions( + _fbb, + _block_size); +} + +inline SubOptionsT *SubOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SubOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SubOptions::UnPackTo(SubOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = fused_activation_function(); _o->fused_activation_function = _e; } +} + +inline flatbuffers::Offset SubOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SubOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSubOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSubOptions(flatbuffers::FlatBufferBuilder &_fbb, const SubOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SubOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _fused_activation_function = _o->fused_activation_function; + return tflite::CreateSubOptions( + _fbb, + _fused_activation_function); +} + +inline DivOptionsT *DivOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new DivOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void DivOptions::UnPackTo(DivOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = fused_activation_function(); _o->fused_activation_function = _e; } +} + +inline flatbuffers::Offset DivOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const DivOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateDivOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateDivOptions(flatbuffers::FlatBufferBuilder &_fbb, const DivOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const DivOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _fused_activation_function = _o->fused_activation_function; + return tflite::CreateDivOptions( + _fbb, + _fused_activation_function); +} + +inline TopKV2OptionsT *TopKV2Options::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new TopKV2OptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void TopKV2Options::UnPackTo(TopKV2OptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset TopKV2Options::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TopKV2OptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateTopKV2Options(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateTopKV2Options(flatbuffers::FlatBufferBuilder &_fbb, const TopKV2OptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TopKV2OptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateTopKV2Options( + _fbb); +} + +inline EmbeddingLookupSparseOptionsT *EmbeddingLookupSparseOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new EmbeddingLookupSparseOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void EmbeddingLookupSparseOptions::UnPackTo(EmbeddingLookupSparseOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = combiner(); _o->combiner = _e; } +} + +inline flatbuffers::Offset EmbeddingLookupSparseOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const EmbeddingLookupSparseOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateEmbeddingLookupSparseOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateEmbeddingLookupSparseOptions(flatbuffers::FlatBufferBuilder &_fbb, const EmbeddingLookupSparseOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const EmbeddingLookupSparseOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _combiner = _o->combiner; + return tflite::CreateEmbeddingLookupSparseOptions( + _fbb, + _combiner); +} + +inline GatherOptionsT *GatherOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new GatherOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void GatherOptions::UnPackTo(GatherOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = axis(); _o->axis = _e; } +} + +inline flatbuffers::Offset GatherOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const GatherOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateGatherOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateGatherOptions(flatbuffers::FlatBufferBuilder &_fbb, const GatherOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const GatherOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _axis = _o->axis; + return tflite::CreateGatherOptions( + _fbb, + _axis); +} + +inline TransposeOptionsT *TransposeOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new TransposeOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void TransposeOptions::UnPackTo(TransposeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset TransposeOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TransposeOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateTransposeOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateTransposeOptions(flatbuffers::FlatBufferBuilder &_fbb, const TransposeOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TransposeOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateTransposeOptions( + _fbb); +} + +inline ExpOptionsT *ExpOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new ExpOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void ExpOptions::UnPackTo(ExpOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset ExpOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ExpOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateExpOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateExpOptions(flatbuffers::FlatBufferBuilder &_fbb, const ExpOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ExpOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateExpOptions( + _fbb); +} + +inline CosOptionsT *CosOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new CosOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void CosOptions::UnPackTo(CosOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset CosOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const CosOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateCosOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateCosOptions(flatbuffers::FlatBufferBuilder &_fbb, const CosOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const CosOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateCosOptions( + _fbb); +} + +inline ReducerOptionsT *ReducerOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new ReducerOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void ReducerOptions::UnPackTo(ReducerOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = keep_dims(); _o->keep_dims = _e; } +} + +inline flatbuffers::Offset ReducerOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ReducerOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateReducerOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateReducerOptions(flatbuffers::FlatBufferBuilder &_fbb, const ReducerOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ReducerOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _keep_dims = _o->keep_dims; + return tflite::CreateReducerOptions( + _fbb, + _keep_dims); +} + +inline SqueezeOptionsT *SqueezeOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SqueezeOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SqueezeOptions::UnPackTo(SqueezeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = squeeze_dims(); if (_e) { _o->squeeze_dims.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->squeeze_dims[_i] = _e->Get(_i); } } } +} + +inline flatbuffers::Offset SqueezeOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SqueezeOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSqueezeOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSqueezeOptions(flatbuffers::FlatBufferBuilder &_fbb, const SqueezeOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SqueezeOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _squeeze_dims = _o->squeeze_dims.size() ? _fbb.CreateVector(_o->squeeze_dims) : 0; + return tflite::CreateSqueezeOptions( + _fbb, + _squeeze_dims); +} + +inline SplitOptionsT *SplitOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SplitOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SplitOptions::UnPackTo(SplitOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = num_splits(); _o->num_splits = _e; } +} + +inline flatbuffers::Offset SplitOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SplitOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSplitOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSplitOptions(flatbuffers::FlatBufferBuilder &_fbb, const SplitOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SplitOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _num_splits = _o->num_splits; + return tflite::CreateSplitOptions( + _fbb, + _num_splits); +} + +inline SplitVOptionsT *SplitVOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SplitVOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SplitVOptions::UnPackTo(SplitVOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = num_splits(); _o->num_splits = _e; } +} + +inline flatbuffers::Offset SplitVOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SplitVOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSplitVOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSplitVOptions(flatbuffers::FlatBufferBuilder &_fbb, const SplitVOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SplitVOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _num_splits = _o->num_splits; + return tflite::CreateSplitVOptions( + _fbb, + _num_splits); +} + +inline StridedSliceOptionsT *StridedSliceOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new StridedSliceOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void StridedSliceOptions::UnPackTo(StridedSliceOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = begin_mask(); _o->begin_mask = _e; } + { auto _e = end_mask(); _o->end_mask = _e; } + { auto _e = ellipsis_mask(); _o->ellipsis_mask = _e; } + { auto _e = new_axis_mask(); _o->new_axis_mask = _e; } + { auto _e = shrink_axis_mask(); _o->shrink_axis_mask = _e; } +} + +inline flatbuffers::Offset StridedSliceOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const StridedSliceOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateStridedSliceOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateStridedSliceOptions(flatbuffers::FlatBufferBuilder &_fbb, const StridedSliceOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const StridedSliceOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _begin_mask = _o->begin_mask; + auto _end_mask = _o->end_mask; + auto _ellipsis_mask = _o->ellipsis_mask; + auto _new_axis_mask = _o->new_axis_mask; + auto _shrink_axis_mask = _o->shrink_axis_mask; + return tflite::CreateStridedSliceOptions( + _fbb, + _begin_mask, + _end_mask, + _ellipsis_mask, + _new_axis_mask, + _shrink_axis_mask); +} + +inline LogSoftmaxOptionsT *LogSoftmaxOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new LogSoftmaxOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void LogSoftmaxOptions::UnPackTo(LogSoftmaxOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset LogSoftmaxOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogSoftmaxOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateLogSoftmaxOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateLogSoftmaxOptions(flatbuffers::FlatBufferBuilder &_fbb, const LogSoftmaxOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LogSoftmaxOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateLogSoftmaxOptions( + _fbb); +} + +inline CastOptionsT *CastOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new CastOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void CastOptions::UnPackTo(CastOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = in_data_type(); _o->in_data_type = _e; } + { auto _e = out_data_type(); _o->out_data_type = _e; } +} + +inline flatbuffers::Offset CastOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const CastOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateCastOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateCastOptions(flatbuffers::FlatBufferBuilder &_fbb, const CastOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const CastOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _in_data_type = _o->in_data_type; + auto _out_data_type = _o->out_data_type; + return tflite::CreateCastOptions( + _fbb, + _in_data_type, + _out_data_type); +} + +inline DequantizeOptionsT *DequantizeOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new DequantizeOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void DequantizeOptions::UnPackTo(DequantizeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset DequantizeOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const DequantizeOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateDequantizeOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateDequantizeOptions(flatbuffers::FlatBufferBuilder &_fbb, const DequantizeOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const DequantizeOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateDequantizeOptions( + _fbb); +} + +inline MaximumMinimumOptionsT *MaximumMinimumOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new MaximumMinimumOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void MaximumMinimumOptions::UnPackTo(MaximumMinimumOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset MaximumMinimumOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MaximumMinimumOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateMaximumMinimumOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateMaximumMinimumOptions(flatbuffers::FlatBufferBuilder &_fbb, const MaximumMinimumOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const MaximumMinimumOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateMaximumMinimumOptions( + _fbb); +} + +inline TileOptionsT *TileOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new TileOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void TileOptions::UnPackTo(TileOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset TileOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TileOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateTileOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateTileOptions(flatbuffers::FlatBufferBuilder &_fbb, const TileOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TileOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateTileOptions( + _fbb); +} + +inline ArgMaxOptionsT *ArgMaxOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new ArgMaxOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void ArgMaxOptions::UnPackTo(ArgMaxOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = output_type(); _o->output_type = _e; } +} + +inline flatbuffers::Offset ArgMaxOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ArgMaxOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateArgMaxOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateArgMaxOptions(flatbuffers::FlatBufferBuilder &_fbb, const ArgMaxOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ArgMaxOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _output_type = _o->output_type; + return tflite::CreateArgMaxOptions( + _fbb, + _output_type); +} + +inline ArgMinOptionsT *ArgMinOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new ArgMinOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void ArgMinOptions::UnPackTo(ArgMinOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = output_type(); _o->output_type = _e; } +} + +inline flatbuffers::Offset ArgMinOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ArgMinOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateArgMinOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateArgMinOptions(flatbuffers::FlatBufferBuilder &_fbb, const ArgMinOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ArgMinOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _output_type = _o->output_type; + return tflite::CreateArgMinOptions( + _fbb, + _output_type); +} + +inline GreaterOptionsT *GreaterOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new GreaterOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void GreaterOptions::UnPackTo(GreaterOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset GreaterOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const GreaterOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateGreaterOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateGreaterOptions(flatbuffers::FlatBufferBuilder &_fbb, const GreaterOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const GreaterOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateGreaterOptions( + _fbb); +} + +inline GreaterEqualOptionsT *GreaterEqualOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new GreaterEqualOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void GreaterEqualOptions::UnPackTo(GreaterEqualOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset GreaterEqualOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const GreaterEqualOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateGreaterEqualOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateGreaterEqualOptions(flatbuffers::FlatBufferBuilder &_fbb, const GreaterEqualOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const GreaterEqualOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateGreaterEqualOptions( + _fbb); +} + +inline LessOptionsT *LessOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new LessOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void LessOptions::UnPackTo(LessOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset LessOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LessOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateLessOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateLessOptions(flatbuffers::FlatBufferBuilder &_fbb, const LessOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LessOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateLessOptions( + _fbb); +} + +inline LessEqualOptionsT *LessEqualOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new LessEqualOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void LessEqualOptions::UnPackTo(LessEqualOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset LessEqualOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LessEqualOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateLessEqualOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateLessEqualOptions(flatbuffers::FlatBufferBuilder &_fbb, const LessEqualOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LessEqualOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateLessEqualOptions( + _fbb); +} + +inline NegOptionsT *NegOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new NegOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void NegOptions::UnPackTo(NegOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset NegOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NegOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateNegOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateNegOptions(flatbuffers::FlatBufferBuilder &_fbb, const NegOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NegOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateNegOptions( + _fbb); +} + +inline SelectOptionsT *SelectOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SelectOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SelectOptions::UnPackTo(SelectOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset SelectOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SelectOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSelectOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSelectOptions(flatbuffers::FlatBufferBuilder &_fbb, const SelectOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SelectOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateSelectOptions( + _fbb); +} + +inline SliceOptionsT *SliceOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SliceOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SliceOptions::UnPackTo(SliceOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset SliceOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SliceOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSliceOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSliceOptions(flatbuffers::FlatBufferBuilder &_fbb, const SliceOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SliceOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateSliceOptions( + _fbb); +} + +inline TransposeConvOptionsT *TransposeConvOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new TransposeConvOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void TransposeConvOptions::UnPackTo(TransposeConvOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = padding(); _o->padding = _e; } + { auto _e = stride_w(); _o->stride_w = _e; } + { auto _e = stride_h(); _o->stride_h = _e; } +} + +inline flatbuffers::Offset TransposeConvOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TransposeConvOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateTransposeConvOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateTransposeConvOptions(flatbuffers::FlatBufferBuilder &_fbb, const TransposeConvOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TransposeConvOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _padding = _o->padding; + auto _stride_w = _o->stride_w; + auto _stride_h = _o->stride_h; + return tflite::CreateTransposeConvOptions( + _fbb, + _padding, + _stride_w, + _stride_h); +} + +inline ExpandDimsOptionsT *ExpandDimsOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new ExpandDimsOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void ExpandDimsOptions::UnPackTo(ExpandDimsOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset ExpandDimsOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ExpandDimsOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateExpandDimsOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateExpandDimsOptions(flatbuffers::FlatBufferBuilder &_fbb, const ExpandDimsOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ExpandDimsOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateExpandDimsOptions( + _fbb); +} + +inline SparseToDenseOptionsT *SparseToDenseOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SparseToDenseOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SparseToDenseOptions::UnPackTo(SparseToDenseOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = validate_indices(); _o->validate_indices = _e; } +} + +inline flatbuffers::Offset SparseToDenseOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SparseToDenseOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSparseToDenseOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSparseToDenseOptions(flatbuffers::FlatBufferBuilder &_fbb, const SparseToDenseOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SparseToDenseOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _validate_indices = _o->validate_indices; + return tflite::CreateSparseToDenseOptions( + _fbb, + _validate_indices); +} + +inline EqualOptionsT *EqualOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new EqualOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void EqualOptions::UnPackTo(EqualOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset EqualOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const EqualOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateEqualOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateEqualOptions(flatbuffers::FlatBufferBuilder &_fbb, const EqualOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const EqualOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateEqualOptions( + _fbb); +} + +inline NotEqualOptionsT *NotEqualOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new NotEqualOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void NotEqualOptions::UnPackTo(NotEqualOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset NotEqualOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NotEqualOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateNotEqualOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateNotEqualOptions(flatbuffers::FlatBufferBuilder &_fbb, const NotEqualOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NotEqualOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateNotEqualOptions( + _fbb); +} + +inline ShapeOptionsT *ShapeOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new ShapeOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void ShapeOptions::UnPackTo(ShapeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = out_type(); _o->out_type = _e; } +} + +inline flatbuffers::Offset ShapeOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ShapeOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateShapeOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateShapeOptions(flatbuffers::FlatBufferBuilder &_fbb, const ShapeOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ShapeOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _out_type = _o->out_type; + return tflite::CreateShapeOptions( + _fbb, + _out_type); +} + +inline RankOptionsT *RankOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new RankOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void RankOptions::UnPackTo(RankOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset RankOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const RankOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateRankOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateRankOptions(flatbuffers::FlatBufferBuilder &_fbb, const RankOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const RankOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateRankOptions( + _fbb); +} + +inline PowOptionsT *PowOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new PowOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void PowOptions::UnPackTo(PowOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset PowOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const PowOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreatePowOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreatePowOptions(flatbuffers::FlatBufferBuilder &_fbb, const PowOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const PowOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreatePowOptions( + _fbb); +} + +inline FakeQuantOptionsT *FakeQuantOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new FakeQuantOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void FakeQuantOptions::UnPackTo(FakeQuantOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = min(); _o->min = _e; } + { auto _e = max(); _o->max = _e; } + { auto _e = num_bits(); _o->num_bits = _e; } + { auto _e = narrow_range(); _o->narrow_range = _e; } +} + +inline flatbuffers::Offset FakeQuantOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const FakeQuantOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateFakeQuantOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateFakeQuantOptions(flatbuffers::FlatBufferBuilder &_fbb, const FakeQuantOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const FakeQuantOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _min = _o->min; + auto _max = _o->max; + auto _num_bits = _o->num_bits; + auto _narrow_range = _o->narrow_range; + return tflite::CreateFakeQuantOptions( + _fbb, + _min, + _max, + _num_bits, + _narrow_range); +} + +inline PackOptionsT *PackOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new PackOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void PackOptions::UnPackTo(PackOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = values_count(); _o->values_count = _e; } + { auto _e = axis(); _o->axis = _e; } +} + +inline flatbuffers::Offset PackOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const PackOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreatePackOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreatePackOptions(flatbuffers::FlatBufferBuilder &_fbb, const PackOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const PackOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _values_count = _o->values_count; + auto _axis = _o->axis; + return tflite::CreatePackOptions( + _fbb, + _values_count, + _axis); +} + +inline LogicalOrOptionsT *LogicalOrOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new LogicalOrOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void LogicalOrOptions::UnPackTo(LogicalOrOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset LogicalOrOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogicalOrOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateLogicalOrOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateLogicalOrOptions(flatbuffers::FlatBufferBuilder &_fbb, const LogicalOrOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LogicalOrOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateLogicalOrOptions( + _fbb); +} + +inline OneHotOptionsT *OneHotOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new OneHotOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void OneHotOptions::UnPackTo(OneHotOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = axis(); _o->axis = _e; } +} + +inline flatbuffers::Offset OneHotOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const OneHotOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateOneHotOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateOneHotOptions(flatbuffers::FlatBufferBuilder &_fbb, const OneHotOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const OneHotOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _axis = _o->axis; + return tflite::CreateOneHotOptions( + _fbb, + _axis); +} + +inline AbsOptionsT *AbsOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new AbsOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void AbsOptions::UnPackTo(AbsOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset AbsOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const AbsOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateAbsOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateAbsOptions(flatbuffers::FlatBufferBuilder &_fbb, const AbsOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const AbsOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateAbsOptions( + _fbb); +} + +inline HardSwishOptionsT *HardSwishOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new HardSwishOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void HardSwishOptions::UnPackTo(HardSwishOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset HardSwishOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const HardSwishOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateHardSwishOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateHardSwishOptions(flatbuffers::FlatBufferBuilder &_fbb, const HardSwishOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const HardSwishOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateHardSwishOptions( + _fbb); +} + +inline LogicalAndOptionsT *LogicalAndOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new LogicalAndOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void LogicalAndOptions::UnPackTo(LogicalAndOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset LogicalAndOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogicalAndOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateLogicalAndOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateLogicalAndOptions(flatbuffers::FlatBufferBuilder &_fbb, const LogicalAndOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LogicalAndOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateLogicalAndOptions( + _fbb); +} + +inline LogicalNotOptionsT *LogicalNotOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new LogicalNotOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void LogicalNotOptions::UnPackTo(LogicalNotOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset LogicalNotOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LogicalNotOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateLogicalNotOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateLogicalNotOptions(flatbuffers::FlatBufferBuilder &_fbb, const LogicalNotOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LogicalNotOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateLogicalNotOptions( + _fbb); +} + +inline UnpackOptionsT *UnpackOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new UnpackOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void UnpackOptions::UnPackTo(UnpackOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = num(); _o->num = _e; } + { auto _e = axis(); _o->axis = _e; } +} + +inline flatbuffers::Offset UnpackOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const UnpackOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateUnpackOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateUnpackOptions(flatbuffers::FlatBufferBuilder &_fbb, const UnpackOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const UnpackOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _num = _o->num; + auto _axis = _o->axis; + return tflite::CreateUnpackOptions( + _fbb, + _num, + _axis); +} + +inline FloorDivOptionsT *FloorDivOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new FloorDivOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void FloorDivOptions::UnPackTo(FloorDivOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset FloorDivOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const FloorDivOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateFloorDivOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateFloorDivOptions(flatbuffers::FlatBufferBuilder &_fbb, const FloorDivOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const FloorDivOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateFloorDivOptions( + _fbb); +} + +inline SquareOptionsT *SquareOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SquareOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SquareOptions::UnPackTo(SquareOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset SquareOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SquareOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSquareOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSquareOptions(flatbuffers::FlatBufferBuilder &_fbb, const SquareOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SquareOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateSquareOptions( + _fbb); +} + +inline ZerosLikeOptionsT *ZerosLikeOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new ZerosLikeOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void ZerosLikeOptions::UnPackTo(ZerosLikeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset ZerosLikeOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ZerosLikeOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateZerosLikeOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateZerosLikeOptions(flatbuffers::FlatBufferBuilder &_fbb, const ZerosLikeOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ZerosLikeOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateZerosLikeOptions( + _fbb); +} + +inline FillOptionsT *FillOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new FillOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void FillOptions::UnPackTo(FillOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset FillOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const FillOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateFillOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateFillOptions(flatbuffers::FlatBufferBuilder &_fbb, const FillOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const FillOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateFillOptions( + _fbb); +} + +inline FloorModOptionsT *FloorModOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new FloorModOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void FloorModOptions::UnPackTo(FloorModOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset FloorModOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const FloorModOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateFloorModOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateFloorModOptions(flatbuffers::FlatBufferBuilder &_fbb, const FloorModOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const FloorModOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateFloorModOptions( + _fbb); +} + +inline RangeOptionsT *RangeOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new RangeOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void RangeOptions::UnPackTo(RangeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset RangeOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const RangeOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateRangeOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateRangeOptions(flatbuffers::FlatBufferBuilder &_fbb, const RangeOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const RangeOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateRangeOptions( + _fbb); +} + +inline LeakyReluOptionsT *LeakyReluOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new LeakyReluOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void LeakyReluOptions::UnPackTo(LeakyReluOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = alpha(); _o->alpha = _e; } +} + +inline flatbuffers::Offset LeakyReluOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LeakyReluOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateLeakyReluOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateLeakyReluOptions(flatbuffers::FlatBufferBuilder &_fbb, const LeakyReluOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LeakyReluOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _alpha = _o->alpha; + return tflite::CreateLeakyReluOptions( + _fbb, + _alpha); +} + +inline SquaredDifferenceOptionsT *SquaredDifferenceOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SquaredDifferenceOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SquaredDifferenceOptions::UnPackTo(SquaredDifferenceOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset SquaredDifferenceOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SquaredDifferenceOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSquaredDifferenceOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSquaredDifferenceOptions(flatbuffers::FlatBufferBuilder &_fbb, const SquaredDifferenceOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SquaredDifferenceOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateSquaredDifferenceOptions( + _fbb); +} + +inline MirrorPadOptionsT *MirrorPadOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new MirrorPadOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void MirrorPadOptions::UnPackTo(MirrorPadOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = mode(); _o->mode = _e; } +} + +inline flatbuffers::Offset MirrorPadOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MirrorPadOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateMirrorPadOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateMirrorPadOptions(flatbuffers::FlatBufferBuilder &_fbb, const MirrorPadOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const MirrorPadOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _mode = _o->mode; + return tflite::CreateMirrorPadOptions( + _fbb, + _mode); +} + +inline UniqueOptionsT *UniqueOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new UniqueOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void UniqueOptions::UnPackTo(UniqueOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = idx_out_type(); _o->idx_out_type = _e; } +} + +inline flatbuffers::Offset UniqueOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const UniqueOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateUniqueOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateUniqueOptions(flatbuffers::FlatBufferBuilder &_fbb, const UniqueOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const UniqueOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _idx_out_type = _o->idx_out_type; + return tflite::CreateUniqueOptions( + _fbb, + _idx_out_type); +} + +inline ReverseV2OptionsT *ReverseV2Options::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new ReverseV2OptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void ReverseV2Options::UnPackTo(ReverseV2OptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset ReverseV2Options::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ReverseV2OptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateReverseV2Options(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateReverseV2Options(flatbuffers::FlatBufferBuilder &_fbb, const ReverseV2OptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ReverseV2OptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateReverseV2Options( + _fbb); +} + +inline AddNOptionsT *AddNOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new AddNOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void AddNOptions::UnPackTo(AddNOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset AddNOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const AddNOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateAddNOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateAddNOptions(flatbuffers::FlatBufferBuilder &_fbb, const AddNOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const AddNOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateAddNOptions( + _fbb); +} + +inline GatherNdOptionsT *GatherNdOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new GatherNdOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void GatherNdOptions::UnPackTo(GatherNdOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset GatherNdOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const GatherNdOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateGatherNdOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateGatherNdOptions(flatbuffers::FlatBufferBuilder &_fbb, const GatherNdOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const GatherNdOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateGatherNdOptions( + _fbb); +} + +inline WhereOptionsT *WhereOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new WhereOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void WhereOptions::UnPackTo(WhereOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset WhereOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const WhereOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateWhereOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateWhereOptions(flatbuffers::FlatBufferBuilder &_fbb, const WhereOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const WhereOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateWhereOptions( + _fbb); +} + +inline ReverseSequenceOptionsT *ReverseSequenceOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new ReverseSequenceOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void ReverseSequenceOptions::UnPackTo(ReverseSequenceOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = seq_dim(); _o->seq_dim = _e; } + { auto _e = batch_dim(); _o->batch_dim = _e; } +} + +inline flatbuffers::Offset ReverseSequenceOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ReverseSequenceOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateReverseSequenceOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateReverseSequenceOptions(flatbuffers::FlatBufferBuilder &_fbb, const ReverseSequenceOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ReverseSequenceOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _seq_dim = _o->seq_dim; + auto _batch_dim = _o->batch_dim; + return tflite::CreateReverseSequenceOptions( + _fbb, + _seq_dim, + _batch_dim); +} + +inline MatrixDiagOptionsT *MatrixDiagOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new MatrixDiagOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void MatrixDiagOptions::UnPackTo(MatrixDiagOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset MatrixDiagOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MatrixDiagOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateMatrixDiagOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateMatrixDiagOptions(flatbuffers::FlatBufferBuilder &_fbb, const MatrixDiagOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const MatrixDiagOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateMatrixDiagOptions( + _fbb); +} + +inline QuantizeOptionsT *QuantizeOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new QuantizeOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void QuantizeOptions::UnPackTo(QuantizeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset QuantizeOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const QuantizeOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateQuantizeOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateQuantizeOptions(flatbuffers::FlatBufferBuilder &_fbb, const QuantizeOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const QuantizeOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateQuantizeOptions( + _fbb); +} + +inline MatrixSetDiagOptionsT *MatrixSetDiagOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new MatrixSetDiagOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void MatrixSetDiagOptions::UnPackTo(MatrixSetDiagOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset MatrixSetDiagOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MatrixSetDiagOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateMatrixSetDiagOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateMatrixSetDiagOptions(flatbuffers::FlatBufferBuilder &_fbb, const MatrixSetDiagOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const MatrixSetDiagOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateMatrixSetDiagOptions( + _fbb); +} + +inline IfOptionsT *IfOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new IfOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void IfOptions::UnPackTo(IfOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = then_subgraph_index(); _o->then_subgraph_index = _e; } + { auto _e = else_subgraph_index(); _o->else_subgraph_index = _e; } +} + +inline flatbuffers::Offset IfOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const IfOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateIfOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateIfOptions(flatbuffers::FlatBufferBuilder &_fbb, const IfOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const IfOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _then_subgraph_index = _o->then_subgraph_index; + auto _else_subgraph_index = _o->else_subgraph_index; + return tflite::CreateIfOptions( + _fbb, + _then_subgraph_index, + _else_subgraph_index); +} + +inline WhileOptionsT *WhileOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new WhileOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void WhileOptions::UnPackTo(WhileOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = cond_subgraph_index(); _o->cond_subgraph_index = _e; } + { auto _e = body_subgraph_index(); _o->body_subgraph_index = _e; } +} + +inline flatbuffers::Offset WhileOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const WhileOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateWhileOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateWhileOptions(flatbuffers::FlatBufferBuilder &_fbb, const WhileOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const WhileOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _cond_subgraph_index = _o->cond_subgraph_index; + auto _body_subgraph_index = _o->body_subgraph_index; + return tflite::CreateWhileOptions( + _fbb, + _cond_subgraph_index, + _body_subgraph_index); +} + +inline NonMaxSuppressionV4OptionsT *NonMaxSuppressionV4Options::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new NonMaxSuppressionV4OptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void NonMaxSuppressionV4Options::UnPackTo(NonMaxSuppressionV4OptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset NonMaxSuppressionV4Options::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NonMaxSuppressionV4OptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateNonMaxSuppressionV4Options(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateNonMaxSuppressionV4Options(flatbuffers::FlatBufferBuilder &_fbb, const NonMaxSuppressionV4OptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NonMaxSuppressionV4OptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateNonMaxSuppressionV4Options( + _fbb); +} + +inline NonMaxSuppressionV5OptionsT *NonMaxSuppressionV5Options::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new NonMaxSuppressionV5OptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void NonMaxSuppressionV5Options::UnPackTo(NonMaxSuppressionV5OptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset NonMaxSuppressionV5Options::Pack(flatbuffers::FlatBufferBuilder &_fbb, const NonMaxSuppressionV5OptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateNonMaxSuppressionV5Options(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateNonMaxSuppressionV5Options(flatbuffers::FlatBufferBuilder &_fbb, const NonMaxSuppressionV5OptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const NonMaxSuppressionV5OptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateNonMaxSuppressionV5Options( + _fbb); +} + +inline ScatterNdOptionsT *ScatterNdOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new ScatterNdOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void ScatterNdOptions::UnPackTo(ScatterNdOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset ScatterNdOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ScatterNdOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateScatterNdOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateScatterNdOptions(flatbuffers::FlatBufferBuilder &_fbb, const ScatterNdOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ScatterNdOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateScatterNdOptions( + _fbb); +} + +inline SelectV2OptionsT *SelectV2Options::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SelectV2OptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SelectV2Options::UnPackTo(SelectV2OptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset SelectV2Options::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SelectV2OptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSelectV2Options(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSelectV2Options(flatbuffers::FlatBufferBuilder &_fbb, const SelectV2OptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SelectV2OptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateSelectV2Options( + _fbb); +} + +inline DensifyOptionsT *DensifyOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new DensifyOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void DensifyOptions::UnPackTo(DensifyOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset DensifyOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const DensifyOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateDensifyOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateDensifyOptions(flatbuffers::FlatBufferBuilder &_fbb, const DensifyOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const DensifyOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateDensifyOptions( + _fbb); +} + +inline SegmentSumOptionsT *SegmentSumOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SegmentSumOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SegmentSumOptions::UnPackTo(SegmentSumOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +} + +inline flatbuffers::Offset SegmentSumOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SegmentSumOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSegmentSumOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSegmentSumOptions(flatbuffers::FlatBufferBuilder &_fbb, const SegmentSumOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SegmentSumOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + return tflite::CreateSegmentSumOptions( + _fbb); +} + +inline BatchMatMulOptionsT *BatchMatMulOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new BatchMatMulOptionsT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void BatchMatMulOptions::UnPackTo(BatchMatMulOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = adj_x(); _o->adj_x = _e; } + { auto _e = adj_y(); _o->adj_y = _e; } +} + +inline flatbuffers::Offset BatchMatMulOptions::Pack(flatbuffers::FlatBufferBuilder &_fbb, const BatchMatMulOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateBatchMatMulOptions(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateBatchMatMulOptions(flatbuffers::FlatBufferBuilder &_fbb, const BatchMatMulOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const BatchMatMulOptionsT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _adj_x = _o->adj_x; + auto _adj_y = _o->adj_y; + return tflite::CreateBatchMatMulOptions( + _fbb, + _adj_x, + _adj_y); +} + +inline OperatorCodeT *OperatorCode::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new OperatorCodeT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void OperatorCode::UnPackTo(OperatorCodeT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = builtin_code(); _o->builtin_code = _e; } + { auto _e = custom_code(); if (_e) _o->custom_code = _e->str(); } + { auto _e = version(); _o->version = _e; } +} + +inline flatbuffers::Offset OperatorCode::Pack(flatbuffers::FlatBufferBuilder &_fbb, const OperatorCodeT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateOperatorCode(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateOperatorCode(flatbuffers::FlatBufferBuilder &_fbb, const OperatorCodeT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const OperatorCodeT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _builtin_code = _o->builtin_code; + auto _custom_code = _o->custom_code.empty() ? 0 : _fbb.CreateString(_o->custom_code); + auto _version = _o->version; + return tflite::CreateOperatorCode( + _fbb, + _builtin_code, + _custom_code, + _version); +} + +inline OperatorT *Operator::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new OperatorT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void Operator::UnPackTo(OperatorT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = opcode_index(); _o->opcode_index = _e; } + { auto _e = inputs(); if (_e) { _o->inputs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->inputs[_i] = _e->Get(_i); } } } + { auto _e = outputs(); if (_e) { _o->outputs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->outputs[_i] = _e->Get(_i); } } } + { auto _e = builtin_options_type(); _o->builtin_options.type = _e; } + { auto _e = builtin_options(); if (_e) _o->builtin_options.value = tflite::BuiltinOptionsUnion::UnPack(_e, builtin_options_type(), _resolver); } + { auto _e = custom_options(); if (_e) { _o->custom_options.resize(_e->size()); std::copy(_e->begin(), _e->end(), _o->custom_options.begin()); } } + { auto _e = custom_options_format(); _o->custom_options_format = _e; } + { auto _e = mutating_variable_inputs(); if (_e) { _o->mutating_variable_inputs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->mutating_variable_inputs[_i] = _e->Get(_i) != 0; } } } + { auto _e = intermediates(); if (_e) { _o->intermediates.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->intermediates[_i] = _e->Get(_i); } } } +} + +inline flatbuffers::Offset Operator::Pack(flatbuffers::FlatBufferBuilder &_fbb, const OperatorT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateOperator(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateOperator(flatbuffers::FlatBufferBuilder &_fbb, const OperatorT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const OperatorT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _opcode_index = _o->opcode_index; + auto _inputs = _o->inputs.size() ? _fbb.CreateVector(_o->inputs) : 0; + auto _outputs = _o->outputs.size() ? _fbb.CreateVector(_o->outputs) : 0; + auto _builtin_options_type = _o->builtin_options.type; + auto _builtin_options = _o->builtin_options.Pack(_fbb); + auto _custom_options = _o->custom_options.size() ? _fbb.CreateVector(_o->custom_options) : 0; + auto _custom_options_format = _o->custom_options_format; + auto _mutating_variable_inputs = _o->mutating_variable_inputs.size() ? _fbb.CreateVector(_o->mutating_variable_inputs) : 0; + auto _intermediates = _o->intermediates.size() ? _fbb.CreateVector(_o->intermediates) : 0; + return tflite::CreateOperator( + _fbb, + _opcode_index, + _inputs, + _outputs, + _builtin_options_type, + _builtin_options, + _custom_options, + _custom_options_format, + _mutating_variable_inputs, + _intermediates); +} + +inline SubGraphT *SubGraph::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SubGraphT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void SubGraph::UnPackTo(SubGraphT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = tensors(); if (_e) { _o->tensors.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->tensors[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } + { auto _e = inputs(); if (_e) { _o->inputs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->inputs[_i] = _e->Get(_i); } } } + { auto _e = outputs(); if (_e) { _o->outputs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->outputs[_i] = _e->Get(_i); } } } + { auto _e = operators(); if (_e) { _o->operators.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->operators[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } + { auto _e = name(); if (_e) _o->name = _e->str(); } +} + +inline flatbuffers::Offset SubGraph::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SubGraphT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateSubGraph(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateSubGraph(flatbuffers::FlatBufferBuilder &_fbb, const SubGraphT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SubGraphT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _tensors = _o->tensors.size() ? _fbb.CreateVector> (_o->tensors.size(), [](size_t i, _VectorArgs *__va) { return CreateTensor(*__va->__fbb, __va->__o->tensors[i].get(), __va->__rehasher); }, &_va ) : 0; + auto _inputs = _o->inputs.size() ? _fbb.CreateVector(_o->inputs) : 0; + auto _outputs = _o->outputs.size() ? _fbb.CreateVector(_o->outputs) : 0; + auto _operators = _o->operators.size() ? _fbb.CreateVector> (_o->operators.size(), [](size_t i, _VectorArgs *__va) { return CreateOperator(*__va->__fbb, __va->__o->operators[i].get(), __va->__rehasher); }, &_va ) : 0; + auto _name = _o->name.empty() ? 0 : _fbb.CreateString(_o->name); + return tflite::CreateSubGraph( + _fbb, + _tensors, + _inputs, + _outputs, + _operators, + _name); +} + +inline BufferT *Buffer::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new BufferT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void Buffer::UnPackTo(BufferT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = data(); if (_e) { _o->data.resize(_e->size()); std::copy(_e->begin(), _e->end(), _o->data.begin()); } } +} + +inline flatbuffers::Offset Buffer::Pack(flatbuffers::FlatBufferBuilder &_fbb, const BufferT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateBuffer(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateBuffer(flatbuffers::FlatBufferBuilder &_fbb, const BufferT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const BufferT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + _fbb.ForceVectorAlignment(_o->data.size(), sizeof(uint8_t), 16); + auto _data = _o->data.size() ? _fbb.CreateVector(_o->data) : 0; + return tflite::CreateBuffer( + _fbb, + _data); +} + +inline MetadataT *Metadata::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new MetadataT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void Metadata::UnPackTo(MetadataT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = name(); if (_e) _o->name = _e->str(); } + { auto _e = buffer(); _o->buffer = _e; } +} + +inline flatbuffers::Offset Metadata::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MetadataT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateMetadata(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateMetadata(flatbuffers::FlatBufferBuilder &_fbb, const MetadataT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const MetadataT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _name = _o->name.empty() ? 0 : _fbb.CreateString(_o->name); + auto _buffer = _o->buffer; + return tflite::CreateMetadata( + _fbb, + _name, + _buffer); +} + +inline ModelT *Model::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new ModelT()); + UnPackTo(_o.get(), _resolver); + return _o.release(); +} + +inline void Model::UnPackTo(ModelT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = version(); _o->version = _e; } + { auto _e = operator_codes(); if (_e) { _o->operator_codes.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->operator_codes[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } + { auto _e = subgraphs(); if (_e) { _o->subgraphs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->subgraphs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } + { auto _e = description(); if (_e) _o->description = _e->str(); } + { auto _e = buffers(); if (_e) { _o->buffers.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->buffers[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } + { auto _e = metadata_buffer(); if (_e) { _o->metadata_buffer.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->metadata_buffer[_i] = _e->Get(_i); } } } + { auto _e = metadata(); if (_e) { _o->metadata.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->metadata[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } +} + +inline flatbuffers::Offset Model::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ModelT* _o, const flatbuffers::rehasher_function_t *_rehasher) { + return CreateModel(_fbb, _o, _rehasher); +} + +inline flatbuffers::Offset CreateModel(flatbuffers::FlatBufferBuilder &_fbb, const ModelT *_o, const flatbuffers::rehasher_function_t *_rehasher) { + (void)_rehasher; + (void)_o; + struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ModelT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; + auto _version = _o->version; + auto _operator_codes = _o->operator_codes.size() ? _fbb.CreateVector> (_o->operator_codes.size(), [](size_t i, _VectorArgs *__va) { return CreateOperatorCode(*__va->__fbb, __va->__o->operator_codes[i].get(), __va->__rehasher); }, &_va ) : 0; + auto _subgraphs = _o->subgraphs.size() ? _fbb.CreateVector> (_o->subgraphs.size(), [](size_t i, _VectorArgs *__va) { return CreateSubGraph(*__va->__fbb, __va->__o->subgraphs[i].get(), __va->__rehasher); }, &_va ) : 0; + auto _description = _o->description.empty() ? 0 : _fbb.CreateString(_o->description); + auto _buffers = _o->buffers.size() ? _fbb.CreateVector> (_o->buffers.size(), [](size_t i, _VectorArgs *__va) { return CreateBuffer(*__va->__fbb, __va->__o->buffers[i].get(), __va->__rehasher); }, &_va ) : 0; + auto _metadata_buffer = _o->metadata_buffer.size() ? _fbb.CreateVector(_o->metadata_buffer) : 0; + auto _metadata = _o->metadata.size() ? _fbb.CreateVector> (_o->metadata.size(), [](size_t i, _VectorArgs *__va) { return CreateMetadata(*__va->__fbb, __va->__o->metadata[i].get(), __va->__rehasher); }, &_va ) : 0; + return tflite::CreateModel( + _fbb, + _version, + _operator_codes, + _subgraphs, + _description, + _buffers, + _metadata_buffer, + _metadata); +} + +inline bool VerifyQuantizationDetails(flatbuffers::Verifier &verifier, const void *obj, QuantizationDetails type) { + switch (type) { + case QuantizationDetails_NONE: { + return true; + } + case QuantizationDetails_CustomQuantization: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + default: return true; + } +} + +inline bool VerifyQuantizationDetailsVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types) { + if (!values || !types) return !values && !types; + if (values->size() != types->size()) return false; + for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) { + if (!VerifyQuantizationDetails( + verifier, values->Get(i), types->GetEnum(i))) { + return false; + } + } + return true; +} + +inline void *QuantizationDetailsUnion::UnPack(const void *obj, QuantizationDetails type, const flatbuffers::resolver_function_t *resolver) { + switch (type) { + case QuantizationDetails_CustomQuantization: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + default: return nullptr; + } +} + +inline flatbuffers::Offset QuantizationDetailsUnion::Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher) const { + switch (type) { + case QuantizationDetails_CustomQuantization: { + auto ptr = reinterpret_cast(value); + return CreateCustomQuantization(_fbb, ptr, _rehasher).Union(); + } + default: return 0; + } +} + +inline QuantizationDetailsUnion::QuantizationDetailsUnion(const QuantizationDetailsUnion &u) : type(u.type), value(nullptr) { + switch (type) { + case QuantizationDetails_CustomQuantization: { + value = new tflite::CustomQuantizationT(*reinterpret_cast(u.value)); + break; + } + default: + break; + } +} + +inline void QuantizationDetailsUnion::Reset() { + switch (type) { + case QuantizationDetails_CustomQuantization: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + default: break; + } + value = nullptr; + type = QuantizationDetails_NONE; +} + +inline bool VerifySparseIndexVector(flatbuffers::Verifier &verifier, const void *obj, SparseIndexVector type) { + switch (type) { + case SparseIndexVector_NONE: { + return true; + } + case SparseIndexVector_Int32Vector: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case SparseIndexVector_Uint16Vector: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case SparseIndexVector_Uint8Vector: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + default: return true; + } +} + +inline bool VerifySparseIndexVectorVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types) { + if (!values || !types) return !values && !types; + if (values->size() != types->size()) return false; + for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) { + if (!VerifySparseIndexVector( + verifier, values->Get(i), types->GetEnum(i))) { + return false; + } + } + return true; +} + +inline void *SparseIndexVectorUnion::UnPack(const void *obj, SparseIndexVector type, const flatbuffers::resolver_function_t *resolver) { + switch (type) { + case SparseIndexVector_Int32Vector: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case SparseIndexVector_Uint16Vector: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case SparseIndexVector_Uint8Vector: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + default: return nullptr; + } +} + +inline flatbuffers::Offset SparseIndexVectorUnion::Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher) const { + switch (type) { + case SparseIndexVector_Int32Vector: { + auto ptr = reinterpret_cast(value); + return CreateInt32Vector(_fbb, ptr, _rehasher).Union(); + } + case SparseIndexVector_Uint16Vector: { + auto ptr = reinterpret_cast(value); + return CreateUint16Vector(_fbb, ptr, _rehasher).Union(); + } + case SparseIndexVector_Uint8Vector: { + auto ptr = reinterpret_cast(value); + return CreateUint8Vector(_fbb, ptr, _rehasher).Union(); + } + default: return 0; + } +} + +inline SparseIndexVectorUnion::SparseIndexVectorUnion(const SparseIndexVectorUnion &u) : type(u.type), value(nullptr) { + switch (type) { + case SparseIndexVector_Int32Vector: { + value = new tflite::Int32VectorT(*reinterpret_cast(u.value)); + break; + } + case SparseIndexVector_Uint16Vector: { + value = new tflite::Uint16VectorT(*reinterpret_cast(u.value)); + break; + } + case SparseIndexVector_Uint8Vector: { + value = new tflite::Uint8VectorT(*reinterpret_cast(u.value)); + break; + } + default: + break; + } +} + +inline void SparseIndexVectorUnion::Reset() { + switch (type) { + case SparseIndexVector_Int32Vector: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case SparseIndexVector_Uint16Vector: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case SparseIndexVector_Uint8Vector: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + default: break; + } + value = nullptr; + type = SparseIndexVector_NONE; +} + +inline bool VerifyBuiltinOptions(flatbuffers::Verifier &verifier, const void *obj, BuiltinOptions type) { + switch (type) { + case BuiltinOptions_NONE: { + return true; + } + case BuiltinOptions_Conv2DOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_DepthwiseConv2DOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_ConcatEmbeddingsOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_LSHProjectionOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_Pool2DOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_SVDFOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_RNNOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_FullyConnectedOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_SoftmaxOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_ConcatenationOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_AddOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_L2NormOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_LocalResponseNormalizationOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_LSTMOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_ResizeBilinearOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_CallOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_ReshapeOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_SkipGramOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_SpaceToDepthOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_EmbeddingLookupSparseOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_MulOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_PadOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_GatherOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_BatchToSpaceNDOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_SpaceToBatchNDOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_TransposeOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_ReducerOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_SubOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_DivOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_SqueezeOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_SequenceRNNOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_StridedSliceOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_ExpOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_TopKV2Options: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_SplitOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_LogSoftmaxOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_CastOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_DequantizeOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_MaximumMinimumOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_ArgMaxOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_LessOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_NegOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_PadV2Options: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_GreaterOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_GreaterEqualOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_LessEqualOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_SelectOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_SliceOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_TransposeConvOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_SparseToDenseOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_TileOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_ExpandDimsOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_EqualOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_NotEqualOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_ShapeOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_PowOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_ArgMinOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_FakeQuantOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_PackOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_LogicalOrOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_OneHotOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_LogicalAndOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_LogicalNotOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_UnpackOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_FloorDivOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_SquareOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_ZerosLikeOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_FillOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_BidirectionalSequenceLSTMOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_BidirectionalSequenceRNNOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_UnidirectionalSequenceLSTMOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_FloorModOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_RangeOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_ResizeNearestNeighborOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_LeakyReluOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_SquaredDifferenceOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_MirrorPadOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_AbsOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_SplitVOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_UniqueOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_ReverseV2Options: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_AddNOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_GatherNdOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_CosOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_WhereOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_RankOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_ReverseSequenceOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_MatrixDiagOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_QuantizeOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_MatrixSetDiagOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_HardSwishOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_IfOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_WhileOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_DepthToSpaceOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_NonMaxSuppressionV4Options: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_NonMaxSuppressionV5Options: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_ScatterNdOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_SelectV2Options: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_DensifyOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_SegmentSumOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + case BuiltinOptions_BatchMatMulOptions: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } + default: return true; + } +} + +inline bool VerifyBuiltinOptionsVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types) { + if (!values || !types) return !values && !types; + if (values->size() != types->size()) return false; + for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) { + if (!VerifyBuiltinOptions( + verifier, values->Get(i), types->GetEnum(i))) { + return false; + } + } + return true; +} + +inline void *BuiltinOptionsUnion::UnPack(const void *obj, BuiltinOptions type, const flatbuffers::resolver_function_t *resolver) { + switch (type) { + case BuiltinOptions_Conv2DOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_DepthwiseConv2DOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_ConcatEmbeddingsOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_LSHProjectionOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_Pool2DOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_SVDFOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_RNNOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_FullyConnectedOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_SoftmaxOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_ConcatenationOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_AddOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_L2NormOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_LocalResponseNormalizationOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_LSTMOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_ResizeBilinearOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_CallOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_ReshapeOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_SkipGramOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_SpaceToDepthOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_EmbeddingLookupSparseOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_MulOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_PadOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_GatherOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_BatchToSpaceNDOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_SpaceToBatchNDOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_TransposeOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_ReducerOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_SubOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_DivOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_SqueezeOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_SequenceRNNOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_StridedSliceOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_ExpOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_TopKV2Options: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_SplitOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_LogSoftmaxOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_CastOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_DequantizeOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_MaximumMinimumOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_ArgMaxOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_LessOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_NegOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_PadV2Options: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_GreaterOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_GreaterEqualOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_LessEqualOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_SelectOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_SliceOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_TransposeConvOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_SparseToDenseOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_TileOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_ExpandDimsOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_EqualOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_NotEqualOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_ShapeOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_PowOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_ArgMinOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_FakeQuantOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_PackOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_LogicalOrOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_OneHotOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_LogicalAndOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_LogicalNotOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_UnpackOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_FloorDivOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_SquareOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_ZerosLikeOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_FillOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_BidirectionalSequenceLSTMOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_BidirectionalSequenceRNNOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_UnidirectionalSequenceLSTMOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_FloorModOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_RangeOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_ResizeNearestNeighborOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_LeakyReluOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_SquaredDifferenceOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_MirrorPadOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_AbsOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_SplitVOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_UniqueOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_ReverseV2Options: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_AddNOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_GatherNdOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_CosOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_WhereOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_RankOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_ReverseSequenceOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_MatrixDiagOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_QuantizeOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_MatrixSetDiagOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_HardSwishOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_IfOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_WhileOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_DepthToSpaceOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_NonMaxSuppressionV4Options: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_NonMaxSuppressionV5Options: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_ScatterNdOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_SelectV2Options: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_DensifyOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_SegmentSumOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + case BuiltinOptions_BatchMatMulOptions: { + auto ptr = reinterpret_cast(obj); + return ptr->UnPack(resolver); + } + default: return nullptr; + } +} + +inline flatbuffers::Offset BuiltinOptionsUnion::Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher) const { + switch (type) { + case BuiltinOptions_Conv2DOptions: { + auto ptr = reinterpret_cast(value); + return CreateConv2DOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_DepthwiseConv2DOptions: { + auto ptr = reinterpret_cast(value); + return CreateDepthwiseConv2DOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_ConcatEmbeddingsOptions: { + auto ptr = reinterpret_cast(value); + return CreateConcatEmbeddingsOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_LSHProjectionOptions: { + auto ptr = reinterpret_cast(value); + return CreateLSHProjectionOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_Pool2DOptions: { + auto ptr = reinterpret_cast(value); + return CreatePool2DOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_SVDFOptions: { + auto ptr = reinterpret_cast(value); + return CreateSVDFOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_RNNOptions: { + auto ptr = reinterpret_cast(value); + return CreateRNNOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_FullyConnectedOptions: { + auto ptr = reinterpret_cast(value); + return CreateFullyConnectedOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_SoftmaxOptions: { + auto ptr = reinterpret_cast(value); + return CreateSoftmaxOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_ConcatenationOptions: { + auto ptr = reinterpret_cast(value); + return CreateConcatenationOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_AddOptions: { + auto ptr = reinterpret_cast(value); + return CreateAddOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_L2NormOptions: { + auto ptr = reinterpret_cast(value); + return CreateL2NormOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_LocalResponseNormalizationOptions: { + auto ptr = reinterpret_cast(value); + return CreateLocalResponseNormalizationOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_LSTMOptions: { + auto ptr = reinterpret_cast(value); + return CreateLSTMOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_ResizeBilinearOptions: { + auto ptr = reinterpret_cast(value); + return CreateResizeBilinearOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_CallOptions: { + auto ptr = reinterpret_cast(value); + return CreateCallOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_ReshapeOptions: { + auto ptr = reinterpret_cast(value); + return CreateReshapeOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_SkipGramOptions: { + auto ptr = reinterpret_cast(value); + return CreateSkipGramOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_SpaceToDepthOptions: { + auto ptr = reinterpret_cast(value); + return CreateSpaceToDepthOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_EmbeddingLookupSparseOptions: { + auto ptr = reinterpret_cast(value); + return CreateEmbeddingLookupSparseOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_MulOptions: { + auto ptr = reinterpret_cast(value); + return CreateMulOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_PadOptions: { + auto ptr = reinterpret_cast(value); + return CreatePadOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_GatherOptions: { + auto ptr = reinterpret_cast(value); + return CreateGatherOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_BatchToSpaceNDOptions: { + auto ptr = reinterpret_cast(value); + return CreateBatchToSpaceNDOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_SpaceToBatchNDOptions: { + auto ptr = reinterpret_cast(value); + return CreateSpaceToBatchNDOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_TransposeOptions: { + auto ptr = reinterpret_cast(value); + return CreateTransposeOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_ReducerOptions: { + auto ptr = reinterpret_cast(value); + return CreateReducerOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_SubOptions: { + auto ptr = reinterpret_cast(value); + return CreateSubOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_DivOptions: { + auto ptr = reinterpret_cast(value); + return CreateDivOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_SqueezeOptions: { + auto ptr = reinterpret_cast(value); + return CreateSqueezeOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_SequenceRNNOptions: { + auto ptr = reinterpret_cast(value); + return CreateSequenceRNNOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_StridedSliceOptions: { + auto ptr = reinterpret_cast(value); + return CreateStridedSliceOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_ExpOptions: { + auto ptr = reinterpret_cast(value); + return CreateExpOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_TopKV2Options: { + auto ptr = reinterpret_cast(value); + return CreateTopKV2Options(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_SplitOptions: { + auto ptr = reinterpret_cast(value); + return CreateSplitOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_LogSoftmaxOptions: { + auto ptr = reinterpret_cast(value); + return CreateLogSoftmaxOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_CastOptions: { + auto ptr = reinterpret_cast(value); + return CreateCastOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_DequantizeOptions: { + auto ptr = reinterpret_cast(value); + return CreateDequantizeOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_MaximumMinimumOptions: { + auto ptr = reinterpret_cast(value); + return CreateMaximumMinimumOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_ArgMaxOptions: { + auto ptr = reinterpret_cast(value); + return CreateArgMaxOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_LessOptions: { + auto ptr = reinterpret_cast(value); + return CreateLessOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_NegOptions: { + auto ptr = reinterpret_cast(value); + return CreateNegOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_PadV2Options: { + auto ptr = reinterpret_cast(value); + return CreatePadV2Options(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_GreaterOptions: { + auto ptr = reinterpret_cast(value); + return CreateGreaterOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_GreaterEqualOptions: { + auto ptr = reinterpret_cast(value); + return CreateGreaterEqualOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_LessEqualOptions: { + auto ptr = reinterpret_cast(value); + return CreateLessEqualOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_SelectOptions: { + auto ptr = reinterpret_cast(value); + return CreateSelectOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_SliceOptions: { + auto ptr = reinterpret_cast(value); + return CreateSliceOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_TransposeConvOptions: { + auto ptr = reinterpret_cast(value); + return CreateTransposeConvOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_SparseToDenseOptions: { + auto ptr = reinterpret_cast(value); + return CreateSparseToDenseOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_TileOptions: { + auto ptr = reinterpret_cast(value); + return CreateTileOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_ExpandDimsOptions: { + auto ptr = reinterpret_cast(value); + return CreateExpandDimsOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_EqualOptions: { + auto ptr = reinterpret_cast(value); + return CreateEqualOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_NotEqualOptions: { + auto ptr = reinterpret_cast(value); + return CreateNotEqualOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_ShapeOptions: { + auto ptr = reinterpret_cast(value); + return CreateShapeOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_PowOptions: { + auto ptr = reinterpret_cast(value); + return CreatePowOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_ArgMinOptions: { + auto ptr = reinterpret_cast(value); + return CreateArgMinOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_FakeQuantOptions: { + auto ptr = reinterpret_cast(value); + return CreateFakeQuantOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_PackOptions: { + auto ptr = reinterpret_cast(value); + return CreatePackOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_LogicalOrOptions: { + auto ptr = reinterpret_cast(value); + return CreateLogicalOrOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_OneHotOptions: { + auto ptr = reinterpret_cast(value); + return CreateOneHotOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_LogicalAndOptions: { + auto ptr = reinterpret_cast(value); + return CreateLogicalAndOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_LogicalNotOptions: { + auto ptr = reinterpret_cast(value); + return CreateLogicalNotOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_UnpackOptions: { + auto ptr = reinterpret_cast(value); + return CreateUnpackOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_FloorDivOptions: { + auto ptr = reinterpret_cast(value); + return CreateFloorDivOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_SquareOptions: { + auto ptr = reinterpret_cast(value); + return CreateSquareOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_ZerosLikeOptions: { + auto ptr = reinterpret_cast(value); + return CreateZerosLikeOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_FillOptions: { + auto ptr = reinterpret_cast(value); + return CreateFillOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_BidirectionalSequenceLSTMOptions: { + auto ptr = reinterpret_cast(value); + return CreateBidirectionalSequenceLSTMOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_BidirectionalSequenceRNNOptions: { + auto ptr = reinterpret_cast(value); + return CreateBidirectionalSequenceRNNOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_UnidirectionalSequenceLSTMOptions: { + auto ptr = reinterpret_cast(value); + return CreateUnidirectionalSequenceLSTMOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_FloorModOptions: { + auto ptr = reinterpret_cast(value); + return CreateFloorModOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_RangeOptions: { + auto ptr = reinterpret_cast(value); + return CreateRangeOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_ResizeNearestNeighborOptions: { + auto ptr = reinterpret_cast(value); + return CreateResizeNearestNeighborOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_LeakyReluOptions: { + auto ptr = reinterpret_cast(value); + return CreateLeakyReluOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_SquaredDifferenceOptions: { + auto ptr = reinterpret_cast(value); + return CreateSquaredDifferenceOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_MirrorPadOptions: { + auto ptr = reinterpret_cast(value); + return CreateMirrorPadOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_AbsOptions: { + auto ptr = reinterpret_cast(value); + return CreateAbsOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_SplitVOptions: { + auto ptr = reinterpret_cast(value); + return CreateSplitVOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_UniqueOptions: { + auto ptr = reinterpret_cast(value); + return CreateUniqueOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_ReverseV2Options: { + auto ptr = reinterpret_cast(value); + return CreateReverseV2Options(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_AddNOptions: { + auto ptr = reinterpret_cast(value); + return CreateAddNOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_GatherNdOptions: { + auto ptr = reinterpret_cast(value); + return CreateGatherNdOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_CosOptions: { + auto ptr = reinterpret_cast(value); + return CreateCosOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_WhereOptions: { + auto ptr = reinterpret_cast(value); + return CreateWhereOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_RankOptions: { + auto ptr = reinterpret_cast(value); + return CreateRankOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_ReverseSequenceOptions: { + auto ptr = reinterpret_cast(value); + return CreateReverseSequenceOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_MatrixDiagOptions: { + auto ptr = reinterpret_cast(value); + return CreateMatrixDiagOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_QuantizeOptions: { + auto ptr = reinterpret_cast(value); + return CreateQuantizeOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_MatrixSetDiagOptions: { + auto ptr = reinterpret_cast(value); + return CreateMatrixSetDiagOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_HardSwishOptions: { + auto ptr = reinterpret_cast(value); + return CreateHardSwishOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_IfOptions: { + auto ptr = reinterpret_cast(value); + return CreateIfOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_WhileOptions: { + auto ptr = reinterpret_cast(value); + return CreateWhileOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_DepthToSpaceOptions: { + auto ptr = reinterpret_cast(value); + return CreateDepthToSpaceOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_NonMaxSuppressionV4Options: { + auto ptr = reinterpret_cast(value); + return CreateNonMaxSuppressionV4Options(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_NonMaxSuppressionV5Options: { + auto ptr = reinterpret_cast(value); + return CreateNonMaxSuppressionV5Options(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_ScatterNdOptions: { + auto ptr = reinterpret_cast(value); + return CreateScatterNdOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_SelectV2Options: { + auto ptr = reinterpret_cast(value); + return CreateSelectV2Options(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_DensifyOptions: { + auto ptr = reinterpret_cast(value); + return CreateDensifyOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_SegmentSumOptions: { + auto ptr = reinterpret_cast(value); + return CreateSegmentSumOptions(_fbb, ptr, _rehasher).Union(); + } + case BuiltinOptions_BatchMatMulOptions: { + auto ptr = reinterpret_cast(value); + return CreateBatchMatMulOptions(_fbb, ptr, _rehasher).Union(); + } + default: return 0; + } +} + +inline BuiltinOptionsUnion::BuiltinOptionsUnion(const BuiltinOptionsUnion &u) : type(u.type), value(nullptr) { + switch (type) { + case BuiltinOptions_Conv2DOptions: { + value = new tflite::Conv2DOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_DepthwiseConv2DOptions: { + value = new tflite::DepthwiseConv2DOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_ConcatEmbeddingsOptions: { + value = new tflite::ConcatEmbeddingsOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_LSHProjectionOptions: { + value = new tflite::LSHProjectionOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_Pool2DOptions: { + value = new tflite::Pool2DOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_SVDFOptions: { + value = new tflite::SVDFOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_RNNOptions: { + value = new tflite::RNNOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_FullyConnectedOptions: { + value = new tflite::FullyConnectedOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_SoftmaxOptions: { + value = new tflite::SoftmaxOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_ConcatenationOptions: { + value = new tflite::ConcatenationOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_AddOptions: { + value = new tflite::AddOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_L2NormOptions: { + value = new tflite::L2NormOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_LocalResponseNormalizationOptions: { + value = new tflite::LocalResponseNormalizationOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_LSTMOptions: { + value = new tflite::LSTMOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_ResizeBilinearOptions: { + value = new tflite::ResizeBilinearOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_CallOptions: { + value = new tflite::CallOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_ReshapeOptions: { + value = new tflite::ReshapeOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_SkipGramOptions: { + value = new tflite::SkipGramOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_SpaceToDepthOptions: { + value = new tflite::SpaceToDepthOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_EmbeddingLookupSparseOptions: { + value = new tflite::EmbeddingLookupSparseOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_MulOptions: { + value = new tflite::MulOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_PadOptions: { + value = new tflite::PadOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_GatherOptions: { + value = new tflite::GatherOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_BatchToSpaceNDOptions: { + value = new tflite::BatchToSpaceNDOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_SpaceToBatchNDOptions: { + value = new tflite::SpaceToBatchNDOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_TransposeOptions: { + value = new tflite::TransposeOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_ReducerOptions: { + value = new tflite::ReducerOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_SubOptions: { + value = new tflite::SubOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_DivOptions: { + value = new tflite::DivOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_SqueezeOptions: { + value = new tflite::SqueezeOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_SequenceRNNOptions: { + value = new tflite::SequenceRNNOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_StridedSliceOptions: { + value = new tflite::StridedSliceOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_ExpOptions: { + value = new tflite::ExpOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_TopKV2Options: { + value = new tflite::TopKV2OptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_SplitOptions: { + value = new tflite::SplitOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_LogSoftmaxOptions: { + value = new tflite::LogSoftmaxOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_CastOptions: { + value = new tflite::CastOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_DequantizeOptions: { + value = new tflite::DequantizeOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_MaximumMinimumOptions: { + value = new tflite::MaximumMinimumOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_ArgMaxOptions: { + value = new tflite::ArgMaxOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_LessOptions: { + value = new tflite::LessOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_NegOptions: { + value = new tflite::NegOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_PadV2Options: { + value = new tflite::PadV2OptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_GreaterOptions: { + value = new tflite::GreaterOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_GreaterEqualOptions: { + value = new tflite::GreaterEqualOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_LessEqualOptions: { + value = new tflite::LessEqualOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_SelectOptions: { + value = new tflite::SelectOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_SliceOptions: { + value = new tflite::SliceOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_TransposeConvOptions: { + value = new tflite::TransposeConvOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_SparseToDenseOptions: { + value = new tflite::SparseToDenseOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_TileOptions: { + value = new tflite::TileOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_ExpandDimsOptions: { + value = new tflite::ExpandDimsOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_EqualOptions: { + value = new tflite::EqualOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_NotEqualOptions: { + value = new tflite::NotEqualOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_ShapeOptions: { + value = new tflite::ShapeOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_PowOptions: { + value = new tflite::PowOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_ArgMinOptions: { + value = new tflite::ArgMinOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_FakeQuantOptions: { + value = new tflite::FakeQuantOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_PackOptions: { + value = new tflite::PackOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_LogicalOrOptions: { + value = new tflite::LogicalOrOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_OneHotOptions: { + value = new tflite::OneHotOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_LogicalAndOptions: { + value = new tflite::LogicalAndOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_LogicalNotOptions: { + value = new tflite::LogicalNotOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_UnpackOptions: { + value = new tflite::UnpackOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_FloorDivOptions: { + value = new tflite::FloorDivOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_SquareOptions: { + value = new tflite::SquareOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_ZerosLikeOptions: { + value = new tflite::ZerosLikeOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_FillOptions: { + value = new tflite::FillOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_BidirectionalSequenceLSTMOptions: { + value = new tflite::BidirectionalSequenceLSTMOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_BidirectionalSequenceRNNOptions: { + value = new tflite::BidirectionalSequenceRNNOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_UnidirectionalSequenceLSTMOptions: { + value = new tflite::UnidirectionalSequenceLSTMOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_FloorModOptions: { + value = new tflite::FloorModOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_RangeOptions: { + value = new tflite::RangeOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_ResizeNearestNeighborOptions: { + value = new tflite::ResizeNearestNeighborOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_LeakyReluOptions: { + value = new tflite::LeakyReluOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_SquaredDifferenceOptions: { + value = new tflite::SquaredDifferenceOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_MirrorPadOptions: { + value = new tflite::MirrorPadOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_AbsOptions: { + value = new tflite::AbsOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_SplitVOptions: { + value = new tflite::SplitVOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_UniqueOptions: { + value = new tflite::UniqueOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_ReverseV2Options: { + value = new tflite::ReverseV2OptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_AddNOptions: { + value = new tflite::AddNOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_GatherNdOptions: { + value = new tflite::GatherNdOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_CosOptions: { + value = new tflite::CosOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_WhereOptions: { + value = new tflite::WhereOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_RankOptions: { + value = new tflite::RankOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_ReverseSequenceOptions: { + value = new tflite::ReverseSequenceOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_MatrixDiagOptions: { + value = new tflite::MatrixDiagOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_QuantizeOptions: { + value = new tflite::QuantizeOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_MatrixSetDiagOptions: { + value = new tflite::MatrixSetDiagOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_HardSwishOptions: { + value = new tflite::HardSwishOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_IfOptions: { + value = new tflite::IfOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_WhileOptions: { + value = new tflite::WhileOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_DepthToSpaceOptions: { + value = new tflite::DepthToSpaceOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_NonMaxSuppressionV4Options: { + value = new tflite::NonMaxSuppressionV4OptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_NonMaxSuppressionV5Options: { + value = new tflite::NonMaxSuppressionV5OptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_ScatterNdOptions: { + value = new tflite::ScatterNdOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_SelectV2Options: { + value = new tflite::SelectV2OptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_DensifyOptions: { + value = new tflite::DensifyOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_SegmentSumOptions: { + value = new tflite::SegmentSumOptionsT(*reinterpret_cast(u.value)); + break; + } + case BuiltinOptions_BatchMatMulOptions: { + value = new tflite::BatchMatMulOptionsT(*reinterpret_cast(u.value)); + break; + } + default: + break; + } +} + +inline void BuiltinOptionsUnion::Reset() { + switch (type) { + case BuiltinOptions_Conv2DOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_DepthwiseConv2DOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_ConcatEmbeddingsOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_LSHProjectionOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_Pool2DOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_SVDFOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_RNNOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_FullyConnectedOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_SoftmaxOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_ConcatenationOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_AddOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_L2NormOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_LocalResponseNormalizationOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_LSTMOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_ResizeBilinearOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_CallOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_ReshapeOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_SkipGramOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_SpaceToDepthOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_EmbeddingLookupSparseOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_MulOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_PadOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_GatherOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_BatchToSpaceNDOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_SpaceToBatchNDOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_TransposeOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_ReducerOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_SubOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_DivOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_SqueezeOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_SequenceRNNOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_StridedSliceOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_ExpOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_TopKV2Options: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_SplitOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_LogSoftmaxOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_CastOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_DequantizeOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_MaximumMinimumOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_ArgMaxOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_LessOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_NegOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_PadV2Options: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_GreaterOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_GreaterEqualOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_LessEqualOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_SelectOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_SliceOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_TransposeConvOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_SparseToDenseOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_TileOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_ExpandDimsOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_EqualOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_NotEqualOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_ShapeOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_PowOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_ArgMinOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_FakeQuantOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_PackOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_LogicalOrOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_OneHotOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_LogicalAndOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_LogicalNotOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_UnpackOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_FloorDivOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_SquareOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_ZerosLikeOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_FillOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_BidirectionalSequenceLSTMOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_BidirectionalSequenceRNNOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_UnidirectionalSequenceLSTMOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_FloorModOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_RangeOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_ResizeNearestNeighborOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_LeakyReluOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_SquaredDifferenceOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_MirrorPadOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_AbsOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_SplitVOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_UniqueOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_ReverseV2Options: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_AddNOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_GatherNdOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_CosOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_WhereOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_RankOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_ReverseSequenceOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_MatrixDiagOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_QuantizeOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_MatrixSetDiagOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_HardSwishOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_IfOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_WhileOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_DepthToSpaceOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_NonMaxSuppressionV4Options: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_NonMaxSuppressionV5Options: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_ScatterNdOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_SelectV2Options: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_DensifyOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_SegmentSumOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + case BuiltinOptions_BatchMatMulOptions: { + auto ptr = reinterpret_cast(value); + delete ptr; + break; + } + default: break; + } + value = nullptr; + type = BuiltinOptions_NONE; +} + +inline const flatbuffers::TypeTable *TensorTypeTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::TensorTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_ENUM, 11, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *QuantizationDetailsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_SEQUENCE, 0, -1 }, + { flatbuffers::ET_SEQUENCE, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::CustomQuantizationTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_UNION, 2, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *DimensionTypeTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::DimensionTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_ENUM, 2, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SparseIndexVectorTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_SEQUENCE, 0, -1 }, + { flatbuffers::ET_SEQUENCE, 0, 0 }, + { flatbuffers::ET_SEQUENCE, 0, 1 }, + { flatbuffers::ET_SEQUENCE, 0, 2 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::Int32VectorTypeTable, + tflite::Uint16VectorTypeTable, + tflite::Uint8VectorTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_UNION, 4, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *BuiltinOperatorTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::BuiltinOperatorTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_ENUM, 127, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *BuiltinOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_SEQUENCE, 0, -1 }, + { flatbuffers::ET_SEQUENCE, 0, 0 }, + { flatbuffers::ET_SEQUENCE, 0, 1 }, + { flatbuffers::ET_SEQUENCE, 0, 2 }, + { flatbuffers::ET_SEQUENCE, 0, 3 }, + { flatbuffers::ET_SEQUENCE, 0, 4 }, + { flatbuffers::ET_SEQUENCE, 0, 5 }, + { flatbuffers::ET_SEQUENCE, 0, 6 }, + { flatbuffers::ET_SEQUENCE, 0, 7 }, + { flatbuffers::ET_SEQUENCE, 0, 8 }, + { flatbuffers::ET_SEQUENCE, 0, 9 }, + { flatbuffers::ET_SEQUENCE, 0, 10 }, + { flatbuffers::ET_SEQUENCE, 0, 11 }, + { flatbuffers::ET_SEQUENCE, 0, 12 }, + { flatbuffers::ET_SEQUENCE, 0, 13 }, + { flatbuffers::ET_SEQUENCE, 0, 14 }, + { flatbuffers::ET_SEQUENCE, 0, 15 }, + { flatbuffers::ET_SEQUENCE, 0, 16 }, + { flatbuffers::ET_SEQUENCE, 0, 17 }, + { flatbuffers::ET_SEQUENCE, 0, 18 }, + { flatbuffers::ET_SEQUENCE, 0, 19 }, + { flatbuffers::ET_SEQUENCE, 0, 20 }, + { flatbuffers::ET_SEQUENCE, 0, 21 }, + { flatbuffers::ET_SEQUENCE, 0, 22 }, + { flatbuffers::ET_SEQUENCE, 0, 23 }, + { flatbuffers::ET_SEQUENCE, 0, 24 }, + { flatbuffers::ET_SEQUENCE, 0, 25 }, + { flatbuffers::ET_SEQUENCE, 0, 26 }, + { flatbuffers::ET_SEQUENCE, 0, 27 }, + { flatbuffers::ET_SEQUENCE, 0, 28 }, + { flatbuffers::ET_SEQUENCE, 0, 29 }, + { flatbuffers::ET_SEQUENCE, 0, 30 }, + { flatbuffers::ET_SEQUENCE, 0, 31 }, + { flatbuffers::ET_SEQUENCE, 0, 32 }, + { flatbuffers::ET_SEQUENCE, 0, 33 }, + { flatbuffers::ET_SEQUENCE, 0, 34 }, + { flatbuffers::ET_SEQUENCE, 0, 35 }, + { flatbuffers::ET_SEQUENCE, 0, 36 }, + { flatbuffers::ET_SEQUENCE, 0, 37 }, + { flatbuffers::ET_SEQUENCE, 0, 38 }, + { flatbuffers::ET_SEQUENCE, 0, 39 }, + { flatbuffers::ET_SEQUENCE, 0, 40 }, + { flatbuffers::ET_SEQUENCE, 0, 41 }, + { flatbuffers::ET_SEQUENCE, 0, 42 }, + { flatbuffers::ET_SEQUENCE, 0, 43 }, + { flatbuffers::ET_SEQUENCE, 0, 44 }, + { flatbuffers::ET_SEQUENCE, 0, 45 }, + { flatbuffers::ET_SEQUENCE, 0, 46 }, + { flatbuffers::ET_SEQUENCE, 0, 47 }, + { flatbuffers::ET_SEQUENCE, 0, 48 }, + { flatbuffers::ET_SEQUENCE, 0, 49 }, + { flatbuffers::ET_SEQUENCE, 0, 50 }, + { flatbuffers::ET_SEQUENCE, 0, 51 }, + { flatbuffers::ET_SEQUENCE, 0, 52 }, + { flatbuffers::ET_SEQUENCE, 0, 53 }, + { flatbuffers::ET_SEQUENCE, 0, 54 }, + { flatbuffers::ET_SEQUENCE, 0, 55 }, + { flatbuffers::ET_SEQUENCE, 0, 56 }, + { flatbuffers::ET_SEQUENCE, 0, 57 }, + { flatbuffers::ET_SEQUENCE, 0, 58 }, + { flatbuffers::ET_SEQUENCE, 0, 59 }, + { flatbuffers::ET_SEQUENCE, 0, 60 }, + { flatbuffers::ET_SEQUENCE, 0, 61 }, + { flatbuffers::ET_SEQUENCE, 0, 62 }, + { flatbuffers::ET_SEQUENCE, 0, 63 }, + { flatbuffers::ET_SEQUENCE, 0, 64 }, + { flatbuffers::ET_SEQUENCE, 0, 65 }, + { flatbuffers::ET_SEQUENCE, 0, 66 }, + { flatbuffers::ET_SEQUENCE, 0, 67 }, + { flatbuffers::ET_SEQUENCE, 0, 68 }, + { flatbuffers::ET_SEQUENCE, 0, 69 }, + { flatbuffers::ET_SEQUENCE, 0, 70 }, + { flatbuffers::ET_SEQUENCE, 0, 71 }, + { flatbuffers::ET_SEQUENCE, 0, 72 }, + { flatbuffers::ET_SEQUENCE, 0, 73 }, + { flatbuffers::ET_SEQUENCE, 0, 74 }, + { flatbuffers::ET_SEQUENCE, 0, 75 }, + { flatbuffers::ET_SEQUENCE, 0, 76 }, + { flatbuffers::ET_SEQUENCE, 0, 77 }, + { flatbuffers::ET_SEQUENCE, 0, 78 }, + { flatbuffers::ET_SEQUENCE, 0, 79 }, + { flatbuffers::ET_SEQUENCE, 0, 80 }, + { flatbuffers::ET_SEQUENCE, 0, 81 }, + { flatbuffers::ET_SEQUENCE, 0, 82 }, + { flatbuffers::ET_SEQUENCE, 0, 83 }, + { flatbuffers::ET_SEQUENCE, 0, 84 }, + { flatbuffers::ET_SEQUENCE, 0, 85 }, + { flatbuffers::ET_SEQUENCE, 0, 86 }, + { flatbuffers::ET_SEQUENCE, 0, 87 }, + { flatbuffers::ET_SEQUENCE, 0, 88 }, + { flatbuffers::ET_SEQUENCE, 0, 89 }, + { flatbuffers::ET_SEQUENCE, 0, 90 }, + { flatbuffers::ET_SEQUENCE, 0, 91 }, + { flatbuffers::ET_SEQUENCE, 0, 92 }, + { flatbuffers::ET_SEQUENCE, 0, 93 }, + { flatbuffers::ET_SEQUENCE, 0, 94 }, + { flatbuffers::ET_SEQUENCE, 0, 95 }, + { flatbuffers::ET_SEQUENCE, 0, 96 }, + { flatbuffers::ET_SEQUENCE, 0, 97 }, + { flatbuffers::ET_SEQUENCE, 0, 98 }, + { flatbuffers::ET_SEQUENCE, 0, 99 }, + { flatbuffers::ET_SEQUENCE, 0, 100 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::Conv2DOptionsTypeTable, + tflite::DepthwiseConv2DOptionsTypeTable, + tflite::ConcatEmbeddingsOptionsTypeTable, + tflite::LSHProjectionOptionsTypeTable, + tflite::Pool2DOptionsTypeTable, + tflite::SVDFOptionsTypeTable, + tflite::RNNOptionsTypeTable, + tflite::FullyConnectedOptionsTypeTable, + tflite::SoftmaxOptionsTypeTable, + tflite::ConcatenationOptionsTypeTable, + tflite::AddOptionsTypeTable, + tflite::L2NormOptionsTypeTable, + tflite::LocalResponseNormalizationOptionsTypeTable, + tflite::LSTMOptionsTypeTable, + tflite::ResizeBilinearOptionsTypeTable, + tflite::CallOptionsTypeTable, + tflite::ReshapeOptionsTypeTable, + tflite::SkipGramOptionsTypeTable, + tflite::SpaceToDepthOptionsTypeTable, + tflite::EmbeddingLookupSparseOptionsTypeTable, + tflite::MulOptionsTypeTable, + tflite::PadOptionsTypeTable, + tflite::GatherOptionsTypeTable, + tflite::BatchToSpaceNDOptionsTypeTable, + tflite::SpaceToBatchNDOptionsTypeTable, + tflite::TransposeOptionsTypeTable, + tflite::ReducerOptionsTypeTable, + tflite::SubOptionsTypeTable, + tflite::DivOptionsTypeTable, + tflite::SqueezeOptionsTypeTable, + tflite::SequenceRNNOptionsTypeTable, + tflite::StridedSliceOptionsTypeTable, + tflite::ExpOptionsTypeTable, + tflite::TopKV2OptionsTypeTable, + tflite::SplitOptionsTypeTable, + tflite::LogSoftmaxOptionsTypeTable, + tflite::CastOptionsTypeTable, + tflite::DequantizeOptionsTypeTable, + tflite::MaximumMinimumOptionsTypeTable, + tflite::ArgMaxOptionsTypeTable, + tflite::LessOptionsTypeTable, + tflite::NegOptionsTypeTable, + tflite::PadV2OptionsTypeTable, + tflite::GreaterOptionsTypeTable, + tflite::GreaterEqualOptionsTypeTable, + tflite::LessEqualOptionsTypeTable, + tflite::SelectOptionsTypeTable, + tflite::SliceOptionsTypeTable, + tflite::TransposeConvOptionsTypeTable, + tflite::SparseToDenseOptionsTypeTable, + tflite::TileOptionsTypeTable, + tflite::ExpandDimsOptionsTypeTable, + tflite::EqualOptionsTypeTable, + tflite::NotEqualOptionsTypeTable, + tflite::ShapeOptionsTypeTable, + tflite::PowOptionsTypeTable, + tflite::ArgMinOptionsTypeTable, + tflite::FakeQuantOptionsTypeTable, + tflite::PackOptionsTypeTable, + tflite::LogicalOrOptionsTypeTable, + tflite::OneHotOptionsTypeTable, + tflite::LogicalAndOptionsTypeTable, + tflite::LogicalNotOptionsTypeTable, + tflite::UnpackOptionsTypeTable, + tflite::FloorDivOptionsTypeTable, + tflite::SquareOptionsTypeTable, + tflite::ZerosLikeOptionsTypeTable, + tflite::FillOptionsTypeTable, + tflite::BidirectionalSequenceLSTMOptionsTypeTable, + tflite::BidirectionalSequenceRNNOptionsTypeTable, + tflite::UnidirectionalSequenceLSTMOptionsTypeTable, + tflite::FloorModOptionsTypeTable, + tflite::RangeOptionsTypeTable, + tflite::ResizeNearestNeighborOptionsTypeTable, + tflite::LeakyReluOptionsTypeTable, + tflite::SquaredDifferenceOptionsTypeTable, + tflite::MirrorPadOptionsTypeTable, + tflite::AbsOptionsTypeTable, + tflite::SplitVOptionsTypeTable, + tflite::UniqueOptionsTypeTable, + tflite::ReverseV2OptionsTypeTable, + tflite::AddNOptionsTypeTable, + tflite::GatherNdOptionsTypeTable, + tflite::CosOptionsTypeTable, + tflite::WhereOptionsTypeTable, + tflite::RankOptionsTypeTable, + tflite::ReverseSequenceOptionsTypeTable, + tflite::MatrixDiagOptionsTypeTable, + tflite::QuantizeOptionsTypeTable, + tflite::MatrixSetDiagOptionsTypeTable, + tflite::HardSwishOptionsTypeTable, + tflite::IfOptionsTypeTable, + tflite::WhileOptionsTypeTable, + tflite::DepthToSpaceOptionsTypeTable, + tflite::NonMaxSuppressionV4OptionsTypeTable, + tflite::NonMaxSuppressionV5OptionsTypeTable, + tflite::ScatterNdOptionsTypeTable, + tflite::SelectV2OptionsTypeTable, + tflite::DensifyOptionsTypeTable, + tflite::SegmentSumOptionsTypeTable, + tflite::BatchMatMulOptionsTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_UNION, 102, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *PaddingTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::PaddingTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_ENUM, 2, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *ActivationFunctionTypeTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::ActivationFunctionTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_ENUM, 6, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *LSHProjectionTypeTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::LSHProjectionTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_ENUM, 3, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *FullyConnectedOptionsWeightsFormatTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::FullyConnectedOptionsWeightsFormatTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_ENUM, 2, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *LSTMKernelTypeTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::LSTMKernelTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_ENUM, 2, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *CombinerTypeTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::CombinerTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_ENUM, 3, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *MirrorPadModeTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::MirrorPadModeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_ENUM, 2, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *CustomOptionsFormatTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::CustomOptionsFormatTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_ENUM, 1, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *CustomQuantizationTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_UCHAR, 1, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *QuantizationParametersTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_FLOAT, 1, -1 }, + { flatbuffers::ET_FLOAT, 1, -1 }, + { flatbuffers::ET_FLOAT, 1, -1 }, + { flatbuffers::ET_LONG, 1, -1 }, + { flatbuffers::ET_UTYPE, 0, 0 }, + { flatbuffers::ET_SEQUENCE, 0, 0 }, + { flatbuffers::ET_INT, 0, -1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::QuantizationDetailsTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 7, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *Int32VectorTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 1, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *Uint16VectorTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_USHORT, 1, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *Uint8VectorTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_UCHAR, 1, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *DimensionMetadataTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_UTYPE, 0, 1 }, + { flatbuffers::ET_SEQUENCE, 0, 1 }, + { flatbuffers::ET_UTYPE, 0, 1 }, + { flatbuffers::ET_SEQUENCE, 0, 1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::DimensionTypeTypeTable, + tflite::SparseIndexVectorTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 6, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SparsityParametersTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 1, -1 }, + { flatbuffers::ET_INT, 1, -1 }, + { flatbuffers::ET_SEQUENCE, 1, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::DimensionMetadataTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 3, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *TensorTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 1, -1 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_UINT, 0, -1 }, + { flatbuffers::ET_STRING, 0, -1 }, + { flatbuffers::ET_SEQUENCE, 0, 1 }, + { flatbuffers::ET_BOOL, 0, -1 }, + { flatbuffers::ET_SEQUENCE, 0, 2 }, + { flatbuffers::ET_INT, 1, -1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::TensorTypeTypeTable, + tflite::QuantizationParametersTypeTable, + tflite::SparsityParametersTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 8, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *Conv2DOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_CHAR, 0, 1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::PaddingTypeTable, + tflite::ActivationFunctionTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 6, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *Pool2DOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_CHAR, 0, 1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::PaddingTypeTable, + tflite::ActivationFunctionTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 6, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *DepthwiseConv2DOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_CHAR, 0, 1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::PaddingTypeTable, + tflite::ActivationFunctionTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 7, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *ConcatEmbeddingsOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 1, -1 }, + { flatbuffers::ET_INT, 1, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 3, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *LSHProjectionOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::LSHProjectionTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SVDFOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_BOOL, 0, -1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::ActivationFunctionTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 3, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *RNNOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_BOOL, 0, -1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::ActivationFunctionTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 2, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SequenceRNNOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_BOOL, 0, -1 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_BOOL, 0, -1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::ActivationFunctionTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 3, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *BidirectionalSequenceRNNOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_BOOL, 0, -1 }, + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_BOOL, 0, -1 }, + { flatbuffers::ET_BOOL, 0, -1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::ActivationFunctionTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 4, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *FullyConnectedOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 1 }, + { flatbuffers::ET_BOOL, 0, -1 }, + { flatbuffers::ET_BOOL, 0, -1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::ActivationFunctionTypeTypeTable, + tflite::FullyConnectedOptionsWeightsFormatTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 4, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SoftmaxOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_FLOAT, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *ConcatenationOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::ActivationFunctionTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 2, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *AddOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::ActivationFunctionTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *MulOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::ActivationFunctionTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *L2NormOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::ActivationFunctionTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *LocalResponseNormalizationOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 4, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *LSTMOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_CHAR, 0, 1 }, + { flatbuffers::ET_BOOL, 0, -1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::ActivationFunctionTypeTypeTable, + tflite::LSTMKernelTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 5, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *UnidirectionalSequenceLSTMOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_BOOL, 0, -1 }, + { flatbuffers::ET_BOOL, 0, -1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::ActivationFunctionTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 5, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *BidirectionalSequenceLSTMOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_BOOL, 0, -1 }, + { flatbuffers::ET_BOOL, 0, -1 }, + { flatbuffers::ET_BOOL, 0, -1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::ActivationFunctionTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 6, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *ResizeBilinearOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_BOOL, 0, -1 }, + { flatbuffers::ET_BOOL, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 4, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *ResizeNearestNeighborOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_BOOL, 0, -1 }, + { flatbuffers::ET_BOOL, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 2, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *CallOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_UINT, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *PadOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *PadV2OptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *ReshapeOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 1, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SpaceToBatchNDOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *BatchToSpaceNDOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SkipGramOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_BOOL, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 3, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SpaceToDepthOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *DepthToSpaceOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SubOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::ActivationFunctionTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *DivOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::ActivationFunctionTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *TopKV2OptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *EmbeddingLookupSparseOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::CombinerTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *GatherOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *TransposeOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *ExpOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *CosOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *ReducerOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_BOOL, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SqueezeOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 1, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SplitOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SplitVOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *StridedSliceOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 5, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *LogSoftmaxOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *CastOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::TensorTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 2, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *DequantizeOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *MaximumMinimumOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *TileOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *ArgMaxOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::TensorTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *ArgMinOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::TensorTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *GreaterOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *GreaterEqualOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *LessOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *LessEqualOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *NegOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SelectOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SliceOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *TransposeConvOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::PaddingTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 3, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *ExpandDimsOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SparseToDenseOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_BOOL, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *EqualOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *NotEqualOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *ShapeOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::TensorTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *RankOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *PowOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *FakeQuantOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_FLOAT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_BOOL, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 4, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *PackOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 2, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *LogicalOrOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *OneHotOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *AbsOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *HardSwishOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *LogicalAndOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *LogicalNotOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *UnpackOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 2, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *FloorDivOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SquareOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *ZerosLikeOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *FillOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *FloorModOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *RangeOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *LeakyReluOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_FLOAT, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SquaredDifferenceOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *MirrorPadOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::MirrorPadModeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *UniqueOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::TensorTypeTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *ReverseV2OptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *AddNOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *GatherNdOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *WhereOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *ReverseSequenceOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 2, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *MatrixDiagOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *QuantizeOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *MatrixSetDiagOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *IfOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 2, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *WhileOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_INT, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 2, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *NonMaxSuppressionV4OptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *NonMaxSuppressionV5OptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *ScatterNdOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SelectV2OptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *DensifyOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SegmentSumOptionsTypeTable() { + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *BatchMatMulOptionsTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_BOOL, 0, -1 }, + { flatbuffers::ET_BOOL, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 2, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *OperatorCodeTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_CHAR, 0, 0 }, + { flatbuffers::ET_STRING, 0, -1 }, + { flatbuffers::ET_INT, 0, -1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::BuiltinOperatorTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 3, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *OperatorTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_UINT, 0, -1 }, + { flatbuffers::ET_INT, 1, -1 }, + { flatbuffers::ET_INT, 1, -1 }, + { flatbuffers::ET_UTYPE, 0, 0 }, + { flatbuffers::ET_SEQUENCE, 0, 0 }, + { flatbuffers::ET_UCHAR, 1, -1 }, + { flatbuffers::ET_CHAR, 0, 1 }, + { flatbuffers::ET_BOOL, 1, -1 }, + { flatbuffers::ET_INT, 1, -1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::BuiltinOptionsTypeTable, + tflite::CustomOptionsFormatTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 9, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *SubGraphTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_SEQUENCE, 1, 0 }, + { flatbuffers::ET_INT, 1, -1 }, + { flatbuffers::ET_INT, 1, -1 }, + { flatbuffers::ET_SEQUENCE, 1, 1 }, + { flatbuffers::ET_STRING, 0, -1 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::TensorTypeTable, + tflite::OperatorTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 5, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *BufferTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_UCHAR, 1, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *MetadataTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_STRING, 0, -1 }, + { flatbuffers::ET_UINT, 0, -1 } + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 2, type_codes, nullptr, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const flatbuffers::TypeTable *ModelTypeTable() { + static const flatbuffers::TypeCode type_codes[] = { + { flatbuffers::ET_UINT, 0, -1 }, + { flatbuffers::ET_SEQUENCE, 1, 0 }, + { flatbuffers::ET_SEQUENCE, 1, 1 }, + { flatbuffers::ET_STRING, 0, -1 }, + { flatbuffers::ET_SEQUENCE, 1, 2 }, + { flatbuffers::ET_INT, 1, -1 }, + { flatbuffers::ET_SEQUENCE, 1, 3 } + }; + static const flatbuffers::TypeFunction type_refs[] = { + tflite::OperatorCodeTypeTable, + tflite::SubGraphTypeTable, + tflite::BufferTypeTable, + tflite::MetadataTypeTable + }; + static const flatbuffers::TypeTable tt = { + flatbuffers::ST_TABLE, 7, type_codes, type_refs, nullptr, nullptr, nullptr + }; + return &tt; +} + +inline const tflite::Model *GetModel(const void *buf) { + return flatbuffers::GetRoot(buf); +} + +inline const tflite::Model *GetSizePrefixedModel(const void *buf) { + return flatbuffers::GetSizePrefixedRoot(buf); +} + +inline Model *GetMutableModel(void *buf) { + return flatbuffers::GetMutableRoot(buf); +} + +inline const char *ModelIdentifier() { + return "TFL3"; +} + +inline bool ModelBufferHasIdentifier(const void *buf) { + return flatbuffers::BufferHasIdentifier( + buf, ModelIdentifier()); +} + +inline bool VerifyModelBuffer( + flatbuffers::Verifier &verifier) { + return verifier.VerifyBuffer(ModelIdentifier()); +} + +inline bool VerifySizePrefixedModelBuffer( + flatbuffers::Verifier &verifier) { + return verifier.VerifySizePrefixedBuffer(ModelIdentifier()); +} + +inline const char *ModelExtension() { + return "tflite"; +} + +inline void FinishModelBuffer( + flatbuffers::FlatBufferBuilder &fbb, + flatbuffers::Offset root) { + fbb.Finish(root, ModelIdentifier()); +} + +inline void FinishSizePrefixedModelBuffer( + flatbuffers::FlatBufferBuilder &fbb, + flatbuffers::Offset root) { + fbb.FinishSizePrefixed(root, ModelIdentifier()); +} + +inline std::unique_ptr UnPackModel( + const void *buf, + const flatbuffers::resolver_function_t *res = nullptr) { + return std::unique_ptr(GetModel(buf)->UnPack(res)); +} + +inline std::unique_ptr UnPackSizePrefixedModel( + const void *buf, + const flatbuffers::resolver_function_t *res = nullptr) { + return std::unique_ptr(GetSizePrefixedModel(buf)->UnPack(res)); +} + +} // namespace tflite + +#endif // FLATBUFFERS_GENERATED_SCHEMA_TFLITE_H_ diff --git a/mindspore/lite/src/CMakeLists.txt b/mindspore/lite/src/CMakeLists.txt index 923ec3a8..5afccc87 100644 --- a/mindspore/lite/src/CMakeLists.txt +++ b/mindspore/lite/src/CMakeLists.txt @@ -496,6 +496,12 @@ if(MSLITE_ENABLE_MINDRT) target_link_libraries(mindspore-lite_static mindrt_mid) endif() +if (SUPPORT_NNRT) + add_subdirectory(litert/delegate/nnrt) + target_link_libraries(mindspore-lite nnrt_mid) + target_link_libraries(mindspore-lite_static nnrt_mid) +endif() + if(MSLITE_GPU_BACKEND STREQUAL opencl) add_subdirectory(litert/kernel/gpu/opencl) target_link_libraries(mindspore-lite opencl_kernel_mid) diff --git a/mindspore/lite/src/common/BUILD.gn b/mindspore/lite/src/common/BUILD.gn new file mode 100644 index 00000000..8bb14a30 --- /dev/null +++ b/mindspore/lite/src/common/BUILD.gn @@ -0,0 +1,83 @@ +import("//build/ohos.gni") + +lite_src_common_mid_sources = [ + "config_file.cc", + "context_util.cc", + "file_utils.cc", + "mmap_utils.cc", + "utils.cc", + "graph_util.cc", + "log.cc", + "prim_util.cc", + "tensor_util.cc", + "config_infos.cc", + "helper/external_tensor/file_helper.cc", + "helper/external_tensor/memory_helper.cc", + "thread_utils.cc", + "random_data_generator.cc", + "string_util.cc", + "dynamic_library_loader.cc", +] + +ohos_source_set("lite_common_mid_obj") { + sources = lite_src_common_mid_sources + + include_dirs = [ + "../", + "../../", + "../../../../", + "../../../core/", + "//third_party/flatbuffers/include/", + "../../../../third_party/", + "../../../ccsrc/plugin/device/cpu/kernel/", + "../../../core/mindrt/src/", + "//base/hiviewdfx/hilog/interfaces/native/innerkits/include", + ] + + external_deps = [ + "hilog:libhilog", + ] + + configs = [ + "../../:disable_android", + "../../:secure_option", + ] + + defines = [ + "ENABLE_MINDRT", + "MS_COMPILE_OHOS", + "PRIMITIVE_WRITEABLE", + "VERSION_STR=\"2.1.0\"", + ] + if (target_cpu == "arm") { + defines += [ + "ENABLE_ARM", + "ENABLE_ARM32", + "ENABLE_NEON", + ] + } else if (target_cpu == "arm64") { + defines += [ + "ENABLE_ARM", + "ENABLE_ARM64", + "ENABLE_NEON", + "ENABLE_FP16", + "USE_OPENCL_WRAPPER", + "MS_OPENCL_PROFILE=false", + "CL_TARGET_OPENCL_VERSION=200", + "CL_HPP_TARGET_OPENCL_VERSION=120", + "CL_HPP_MINIMUM_OPENCL_VERSION=120", + ] + } + + cflags_cc = [ + "-Wno-ignored-qualifiers", + "-Wunused-private-field", + "-Wno-unused-private-field", + "-Wno-inconsistent-missing-override", + "-Wno-macro-redefined", + "-Wno-constant-conversion", + ] + + part_name = "mindspore" + subsystem_name = "thirdparty" +} \ No newline at end of file diff --git a/mindspore/lite/src/common/dynamic_library_loader.cc b/mindspore/lite/src/common/dynamic_library_loader.cc index e41bb719..3c0a7cd5 100644 --- a/mindspore/lite/src/common/dynamic_library_loader.cc +++ b/mindspore/lite/src/common/dynamic_library_loader.cc @@ -39,7 +39,8 @@ int DynamicLibraryLoader::Open(const std::string &lib_path) { } #ifndef _WIN32 #ifndef ENABLE_ARM - handler_ = dlopen(real_path.c_str(), RTLD_LAZY | RTLD_DEEPBIND); + // handler_ = dlopen(real_path.c_str(), RTLD_LAZY | RTLD_DEEPBIND); use of undeclared identifier 'RTLD_DEEPBIND' + handler_ = dlopen(real_path.c_str(), RTLD_LAZY); #else handler_ = dlopen(real_path.c_str(), RTLD_LAZY); #endif diff --git a/mindspore/lite/src/common/log.cc b/mindspore/lite/src/common/log.cc index 96202753..66c0d76b 100644 --- a/mindspore/lite/src/common/log.cc +++ b/mindspore/lite/src/common/log.cc @@ -74,15 +74,15 @@ static int GetAndroidLogLevel(LiteLogLevel level) { #ifdef MS_COMPILE_OHOS void PrintHiLog(LiteLogLevel level, const char *file, int line, const char *func, const char *msg) { if (level == LiteLogLevel::DEBUG) { - OH_LOG_Print(LOG_APP, LOG_DEBUG, LOG_DOMAIN, LOG_TAG, FORMAT, file, line, func, msg); + OHOS::HiviewDFX::HiLog::Debug(MSLite_LABEL, FORMAT, file, line, func, msg); } else if (level == LiteLogLevel::INFO) { - OH_LOG_Print(LOG_APP, LOG_INFO, LOG_DOMAIN, LOG_TAG, FORMAT, file, line, func, msg); + OHOS::HiviewDFX::HiLog::Info(MSLite_LABEL, FORMAT, file, line, func, msg); } else if (level == LiteLogLevel::WARNING) { - OH_LOG_Print(LOG_APP, LOG_WARN, LOG_DOMAIN, LOG_TAG, FORMAT, file, line, func, msg); + OHOS::HiviewDFX::HiLog::Warn(MSLite_LABEL, FORMAT, file, line, func, msg); } else if (level == LiteLogLevel::ERROR) { - OH_LOG_Print(LOG_APP, LOG_ERROR, LOG_DOMAIN, LOG_TAG, FORMAT, file, line, func, msg); + OHOS::HiviewDFX::HiLog::Error(MSLite_LABEL, FORMAT, file, line, func, msg); } else { - OH_LOG_Print(LOG_APP, LOG_ERROR, LOG_DOMAIN, LOG_TAG, FORMAT, file, line, func, msg); + OHOS::HiviewDFX::HiLog::Error(MSLite_LABEL, FORMAT, file, line, func, msg); } } #endif diff --git a/mindspore/lite/src/common/log.h b/mindspore/lite/src/common/log.h index 43047a2b..3002a454 100644 --- a/mindspore/lite/src/common/log.h +++ b/mindspore/lite/src/common/log.h @@ -140,9 +140,6 @@ class LiteLogWriter { LiteLogLevel log_level_; }; -#define MSLOG_IF(level) \ - mindspore::LiteLogWriter(mindspore::LiteLocationInfo(LITE_FILE_NAME, __LINE__, __FUNCTION__), level) < \ - mindspore::LiteLogStream() #define MS_LOG(level) MS_LOG_##level @@ -150,6 +147,48 @@ class LiteLogWriter { #define MS_LOG_INFO MSLOG_IF(mindspore::LiteLogLevel::INFO) #define MS_LOG_WARNING MSLOG_IF(mindspore::LiteLogLevel::WARNING) #define MS_LOG_ERROR MSLOG_IF(mindspore::LiteLogLevel::ERROR) + + +#ifdef MS_COMPILE_OHOS +namespace { +constexpr unsigned int MSLITE_DOMAIN_ID_START = 0xD0029A0; +constexpr unsigned int MSLITE_DOMAIN_ID_END = MSLITE_DOMAIN_ID_START + 32; +constexpr unsigned int TEST_DOMAIN_ID = 0xD000F00; +} // namespace + +#define FILE_NAME (__builtin_strrchr(__FILE__, '/') ? __builtin_strrchr(__FILE__, '/') + 1 : __FILE__) +#define FORMAT "[%{public}s:%{public}d] %{public}s# %{public}s" + +#define MSLOG_IF(level) \ + mindspore::LiteLogWriter(mindspore::LiteLocationInfo(LITE_FILE_NAME, __LINE__, __FUNCTION__), level) < \ + mindspore::LiteLogStream() + +enum MSLiteManagerLogLabel { + // Component labels, you can add if needed + COMP_FWK = 0, + // Test label + LABEL_TEST, + // The end of labels, max to the domain id range length 32 + LABEL_END, +}; + +enum MSLiteManagerLogDomain { + DOMAIN_FRAMEWORK = MSLITE_DOMAIN_ID_START + COMP_FWK, // 0xD0029A0 + DOMAIN_TEST = TEST_DOMAIN_ID, // 0xD000F00 + DOMAIN_END = MSLITE_DOMAIN_ID_END, // Max to 0xD002940, keep the sequence and length same as MSLiteManagerLogLabel +}; + +// Keep the sequence and length same as MSLiteManagerLogDomain +static constexpr OHOS::HiviewDFX::HiLogLabel MSLite_LABEL = {LOG_CORE, DOMAIN_FRAMEWORK, "MSLiteFwk"}; + +#else + +#define MSLOG_IF(level) \ + mindspore::LiteLogWriter(mindspore::LiteLocationInfo(LITE_FILE_NAME, __LINE__, __FUNCTION__), level) < \ + mindspore::LiteLogStream() + +#endif + } // namespace mindspore #ifdef Debug diff --git a/mindspore/lite/src/common/thread_utils.cc b/mindspore/lite/src/common/thread_utils.cc index 4c631dcb..28c8e1cd 100644 --- a/mindspore/lite/src/common/thread_utils.cc +++ b/mindspore/lite/src/common/thread_utils.cc @@ -14,7 +14,7 @@ * limitations under the License. */ -#ifdef __linux__ +#if defined(__linux__) && !defined(ENABLE_ARM) #include "src/common/thread_utils.h" #include #include diff --git a/mindspore/lite/src/expression/node.cc b/mindspore/lite/src/expression/node.cc index 276caaca..022f15d4 100644 --- a/mindspore/lite/src/expression/node.cc +++ b/mindspore/lite/src/expression/node.cc @@ -175,8 +175,8 @@ int Node::MakeEntry(ExportSession *session) { } size_t outputs = OutputsNum(); size_t last_id = session->meta_graph()->allTensors.size(); - int type = (primitive() == schema::PrimitiveType_NONE) ? NodeType_ValueNode : NodeType_CNode; - auto data = (type == NodeType_ValueNode) ? this->data()->data() : empty; + int type = (primitive() == schema::PrimitiveType_NONE) ? static_cast(NodeType_ValueNode) : static_cast(NodeType_CNode); + auto data = (type == static_cast(NodeType_ValueNode)) ? this->data()->data() : empty; if (data.empty()) type = NodeType_CNode; // input is Cnode !!? int idx = 0; for (size_t i = 0; i < outputs; i++) { diff --git a/mindspore/lite/src/litert/c_api/context_c.cc b/mindspore/lite/src/litert/c_api/context_c.cc index 65564d9a..f614ef09 100644 --- a/mindspore/lite/src/litert/c_api/context_c.cc +++ b/mindspore/lite/src/litert/c_api/context_c.cc @@ -18,16 +18,16 @@ #include "src/common/log_adapter.h" // ================ Context ================ -MSContextHandle MSContextCreate() { +OH_AI_ContextHandle OH_AI_ContextCreate() { auto impl = new (std::nothrow) mindspore::ContextC; if (impl == nullptr) { MS_LOG(ERROR) << "memory allocation failed."; return nullptr; } - return static_cast(impl); + return static_cast(impl); } -void MSContextDestroy(MSContextHandle *context) { +void OH_AI_ContextDestroy(OH_AI_ContextHandle *context) { if (context != nullptr && *context != nullptr) { auto impl = static_cast(*context); delete impl; @@ -35,7 +35,7 @@ void MSContextDestroy(MSContextHandle *context) { } } -void MSContextSetThreadNum(MSContextHandle context, int32_t thread_num) { +void OH_AI_ContextSetThreadNum(OH_AI_ContextHandle context, int32_t thread_num) { if (context == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return; @@ -44,7 +44,7 @@ void MSContextSetThreadNum(MSContextHandle context, int32_t thread_num) { impl->thread_num = thread_num; } -int32_t MSContextGetThreadNum(const MSContextHandle context) { +int32_t OH_AI_ContextGetThreadNum(const OH_AI_ContextHandle context) { if (context == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return 0; @@ -53,7 +53,7 @@ int32_t MSContextGetThreadNum(const MSContextHandle context) { return impl->thread_num; } -void MSContextSetThreadAffinityMode(MSContextHandle context, int mode) { +void OH_AI_ContextSetThreadAffinityMode(OH_AI_ContextHandle context, int mode) { if (context == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return; @@ -63,16 +63,16 @@ void MSContextSetThreadAffinityMode(MSContextHandle context, int mode) { return; } -int MSContextGetThreadAffinityMode(const MSContextHandle context) { +int OH_AI_ContextGetThreadAffinityMode(const OH_AI_ContextHandle context) { if (context == nullptr) { MS_LOG(ERROR) << "param is nullptr."; - return -1; + return 0; } auto impl = static_cast(context); return impl->affinity_mode; } -void MSContextSetThreadAffinityCoreList(MSContextHandle context, const int32_t *core_list, size_t core_num) { +void OH_AI_ContextSetThreadAffinityCoreList(OH_AI_ContextHandle context, const int32_t *core_list, size_t core_num) { if (context == nullptr || core_list == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return; @@ -83,7 +83,7 @@ void MSContextSetThreadAffinityCoreList(MSContextHandle context, const int32_t * return; } -const int32_t *MSContextGetThreadAffinityCoreList(const MSContextHandle context, size_t *core_num) { +const int32_t *OH_AI_ContextGetThreadAffinityCoreList(const OH_AI_ContextHandle context, size_t *core_num) { if (context == nullptr || core_num == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return nullptr; @@ -93,7 +93,7 @@ const int32_t *MSContextGetThreadAffinityCoreList(const MSContextHandle context, return impl->affinity_core_list.data(); } -void MSContextSetEnableParallel(MSContextHandle context, bool is_parallel) { +void OH_AI_ContextSetEnableParallel(OH_AI_ContextHandle context, bool is_parallel) { if (context == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return; @@ -102,7 +102,7 @@ void MSContextSetEnableParallel(MSContextHandle context, bool is_parallel) { impl->enable_parallel = is_parallel; } -bool MSContextGetEnableParallel(const MSContextHandle context) { +bool OH_AI_ContextGetEnableParallel(const OH_AI_ContextHandle context) { if (context == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return false; @@ -111,7 +111,7 @@ bool MSContextGetEnableParallel(const MSContextHandle context) { return impl->enable_parallel; } -void MSContextAddDeviceInfo(MSContextHandle context, MSDeviceInfoHandle device_info) { +void OH_AI_ContextAddDeviceInfo(OH_AI_ContextHandle context, OH_AI_DeviceInfoHandle device_info) { if (context == nullptr || device_info == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return; @@ -122,17 +122,17 @@ void MSContextAddDeviceInfo(MSContextHandle context, MSDeviceInfoHandle device_i } // ================ DeviceInfo ================ -MSDeviceInfoHandle MSDeviceInfoCreate(MSDeviceType device_type) { +OH_AI_DeviceInfoHandle OH_AI_DeviceInfoCreate(OH_AI_DeviceType device_type) { mindspore::DeviceInfoC *impl = new (std::nothrow) mindspore::DeviceInfoC; if (impl == nullptr) { MS_LOG(ERROR) << "memory allocation failed."; return nullptr; } impl->device_type = device_type; - return static_cast(impl); + return static_cast(impl); } -void MSDeviceInfoDestroy(MSDeviceInfoHandle *device_info) { +void OH_AI_DeviceInfoDestroy(OH_AI_DeviceInfoHandle *device_info) { if (device_info != nullptr && *device_info != nullptr) { auto impl = static_cast(*device_info); delete impl; @@ -140,7 +140,7 @@ void MSDeviceInfoDestroy(MSDeviceInfoHandle *device_info) { } } -void MSDeviceInfoSetProvider(MSDeviceInfoHandle device_info, const char *provider) { +void OH_AI_DeviceInfoSetProvider(OH_AI_DeviceInfoHandle device_info, const char *provider) { if (device_info == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return; @@ -149,7 +149,7 @@ void MSDeviceInfoSetProvider(MSDeviceInfoHandle device_info, const char *provide impl->provider = provider; } -const char *MSDeviceInfoGetProvider(const MSDeviceInfoHandle device_info) { +const char *OH_AI_DeviceInfoGetProvider(const OH_AI_DeviceInfoHandle device_info) { if (device_info == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return nullptr; @@ -158,7 +158,7 @@ const char *MSDeviceInfoGetProvider(const MSDeviceInfoHandle device_info) { return impl->provider.c_str(); } -void MSDeviceInfoSetProviderDevice(MSDeviceInfoHandle device_info, const char *device) { +void OH_AI_DeviceInfoSetProviderDevice(OH_AI_DeviceInfoHandle device_info, const char *device) { if (device_info == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return; @@ -167,7 +167,7 @@ void MSDeviceInfoSetProviderDevice(MSDeviceInfoHandle device_info, const char *d impl->provider_device = device; } -const char *MSDeviceInfoGetProviderDevice(const MSDeviceInfoHandle device_info) { +const char *OH_AI_DeviceInfoGetProviderDevice(const OH_AI_DeviceInfoHandle device_info) { if (device_info == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return nullptr; @@ -176,35 +176,35 @@ const char *MSDeviceInfoGetProviderDevice(const MSDeviceInfoHandle device_info) return impl->provider_device.c_str(); } -MSDeviceType MSDeviceInfoGetDeviceType(const MSDeviceInfoHandle device_info) { +OH_AI_DeviceType OH_AI_DeviceInfoGetDeviceType(const OH_AI_DeviceInfoHandle device_info) { if (device_info == nullptr) { MS_LOG(ERROR) << "param is nullptr."; - return kMSDeviceTypeInvalid; + return OH_AI_DEVICETYPE_INVALID; } auto impl = static_cast(device_info); return impl->device_type; } -void MSDeviceInfoSetEnableFP16(MSDeviceInfoHandle device_info, bool is_fp16) { +void OH_AI_DeviceInfoSetEnableFP16(OH_AI_DeviceInfoHandle device_info, bool is_fp16) { if (device_info == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return; } auto impl = static_cast(device_info); - if (impl->device_type == kMSDeviceTypeCPU || impl->device_type == kMSDeviceTypeGPU) { + if (impl->device_type == OH_AI_DEVICETYPE_CPU || impl->device_type == OH_AI_DEVICETYPE_GPU) { impl->enable_fp16 = is_fp16; } else { MS_LOG(ERROR) << "Unsupported Feature."; } } -bool MSDeviceInfoGetEnableFP16(const MSDeviceInfoHandle device_info) { +bool OH_AI_DeviceInfoGetEnableFP16(const OH_AI_DeviceInfoHandle device_info) { if (device_info == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return false; } auto impl = static_cast(device_info); - if (impl->device_type == kMSDeviceTypeCPU || impl->device_type == kMSDeviceTypeGPU) { + if (impl->device_type == OH_AI_DEVICETYPE_CPU || impl->device_type == OH_AI_DEVICETYPE_GPU) { return impl->enable_fp16; } else { MS_LOG(ERROR) << "Unsupported Feature. device_type: " << impl->device_type; @@ -212,26 +212,26 @@ bool MSDeviceInfoGetEnableFP16(const MSDeviceInfoHandle device_info) { } } -void MSDeviceInfoSetFrequency(MSDeviceInfoHandle device_info, int frequency) { // only for KirinNPU +void OH_AI_DeviceInfoSetFrequency(OH_AI_DeviceInfoHandle device_info, int frequency) { // only for KirinNPU if (device_info == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return; } auto impl = static_cast(device_info); - if (impl->device_type == kMSDeviceTypeKirinNPU) { + if (impl->device_type == OH_AI_DEVICETYPE_KIRIN_NPU) { impl->frequency = frequency; } else { MS_LOG(ERROR) << "Unsupported Feature."; } } -int MSDeviceInfoGetFrequency(const MSDeviceInfoHandle device_info) { // only for KirinNPU +int OH_AI_DeviceInfoGetFrequency(const OH_AI_DeviceInfoHandle device_info) { // only for KirinNPU if (device_info == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return -1; } auto impl = static_cast(device_info); - if (impl->device_type == kMSDeviceTypeKirinNPU) { + if (impl->device_type == OH_AI_DEVICETYPE_KIRIN_NPU) { return impl->frequency; } else { MS_LOG(ERROR) << "Unsupported Feature."; diff --git a/mindspore/lite/src/litert/c_api/context_c.h b/mindspore/lite/src/litert/c_api/context_c.h index ec3f6935..076f4d1f 100644 --- a/mindspore/lite/src/litert/c_api/context_c.h +++ b/mindspore/lite/src/litert/c_api/context_c.h @@ -26,7 +26,7 @@ class Allocator; class Delegate; typedef struct DeviceInfoC { - MSDeviceType device_type; + OH_AI_DeviceType device_type; bool enable_fp16 = false; int frequency = 3; std::string provider; diff --git a/mindspore/lite/src/litert/c_api/model_c.cc b/mindspore/lite/src/litert/c_api/model_c.cc index 82280fd6..802df6b1 100644 --- a/mindspore/lite/src/litert/c_api/model_c.cc +++ b/mindspore/lite/src/litert/c_api/model_c.cc @@ -37,14 +37,14 @@ class ModelC { Status Build(const std::string &model_path, ModelType model_type, const ContextC *model_context); Status Resize(const std::vector &inputs, const std::vector> &shapes); - Status Predict(const MSTensorHandle *inputs, size_t input_num, MSTensorHandle **outputs, size_t *output_num, - const MSKernelCallBackC &before, const MSKernelCallBackC &after); + Status Predict(const OH_AI_TensorHandle *inputs, size_t input_num, OH_AI_TensorHandle **outputs, size_t *output_num, + const OH_AI_KernelCallBack &before, const OH_AI_KernelCallBack &after); LiteTensorImpl **GetInputs(size_t *input_num); LiteTensorImpl **GetOutputs(size_t *output_num); private: - Status RunGraph(const MSKernelCallBackC &before, const MSKernelCallBackC &after); + Status RunGraph(const OH_AI_KernelCallBack &before, const OH_AI_KernelCallBack &after); void ResetTensorData(std::vector old_data, std::vector tensors); LiteTensorImpl *TensorToTensorImpl(mindspore::lite::Tensor *tensor); @@ -66,8 +66,9 @@ Status ModelC::Build(const void *model_data, size_t data_size, ModelType model_t MS_LOG(ERROR) << "The platform exist don't support's instruction."; return kLiteNotSupport; } - - context_.reset(model_context); + if(context_.get() != model_context){ + context_.reset(model_context); + } session_ = std::make_shared(); if (session_ == nullptr) { MS_LOG(ERROR) << "create session failed"; @@ -96,7 +97,9 @@ Status ModelC::Build(const std::string &model_path, ModelType model_type, const MS_LOG(ERROR) << "The platform exist don't support's instruction."; return kLiteNotSupport; } - context_.reset(model_context); + if(context_.get() != model_context){ + context_.reset(model_context); + } session_ = std::make_shared(); if (session_ == nullptr) { MS_LOG(ERROR) << "create session failed"; @@ -147,8 +150,8 @@ void ModelC::ResetTensorData(std::vector old_data, std::vector(GetOutputs(output_num)); + *outputs = reinterpret_cast(GetOutputs(output_num)); return kSuccess; } -Status ModelC::RunGraph(const MSKernelCallBackC &before, const MSKernelCallBackC &after) { +Status ModelC::RunGraph(const OH_AI_KernelCallBack &before, const OH_AI_KernelCallBack &after) { KernelCallBack before_call_back = nullptr; KernelCallBack after_call_back = nullptr; if (before != nullptr) { @@ -226,24 +229,24 @@ Status ModelC::RunGraph(const MSKernelCallBackC &before, const MSKernelCallBackC const MSCallBackParam &call_param) { std::vector inputs_impl; std::vector outputs_impl; - std::vector op_inputs; - std::vector op_outputs; - size_t op_input_num = before_inputs.size(); - for (size_t i = 0; i < op_input_num; i++) { - inputs_impl.emplace_back(before_inputs[i]); - op_inputs.push_back(&(inputs_impl.back())); - } - size_t op_output_num = before_outputs.size(); - for (size_t i = 0; i < op_output_num; i++) { - outputs_impl.emplace_back(before_outputs[i]); - op_outputs.push_back(&(outputs_impl.back())); - } - const MSCallBackParamC op_info = {const_cast(call_param.node_name.c_str()), - const_cast(call_param.node_type.c_str())}; - MSTensorHandleArray inputs = {op_input_num, op_inputs.data()}; - MSTensorHandleArray outputs = {op_output_num, op_outputs.data()}; - return before(inputs, outputs, op_info); - }; + std::vector op_inputs; + std::vector op_outputs; + size_t op_input_num = before_inputs.size(); + for (size_t i = 0; i < op_input_num; i++) { + inputs_impl.emplace_back(before_inputs[i]); + op_inputs.push_back(&(inputs_impl.back())); + } + size_t op_output_num = before_outputs.size(); + for (size_t i = 0; i < op_output_num; i++) { + outputs_impl.emplace_back(before_outputs[i]); + op_outputs.push_back(&(outputs_impl.back())); + } + const OH_AI_CallBackParam op_info = {const_cast(call_param.node_name.c_str()), + const_cast(call_param.node_type.c_str())}; + OH_AI_TensorHandleArray inputs = {op_input_num, op_inputs.data()}; + OH_AI_TensorHandleArray outputs = {op_output_num, op_outputs.data()}; + return before(inputs, outputs, op_info); + }; } if (after != nullptr) { after_call_back = [&](const std::vector &after_inputs, @@ -251,24 +254,24 @@ Status ModelC::RunGraph(const MSKernelCallBackC &before, const MSKernelCallBackC const MSCallBackParam &call_param) { std::vector inputs_impl; std::vector outputs_impl; - std::vector op_inputs; - std::vector op_outputs; - size_t op_input_num = after_inputs.size(); - for (size_t i = 0; i < op_input_num; i++) { - inputs_impl.emplace_back(after_inputs[i]); - op_inputs.push_back(&(inputs_impl.back())); - } - size_t op_output_num = after_outputs.size(); - for (size_t i = 0; i < op_output_num; i++) { - outputs_impl.emplace_back(after_outputs[i]); - op_outputs.push_back(&(outputs_impl.back())); - } - const MSCallBackParamC op_info = {const_cast(call_param.node_name.c_str()), - const_cast(call_param.node_type.c_str())}; - MSTensorHandleArray inputs = {op_input_num, op_inputs.data()}; - MSTensorHandleArray outputs = {op_output_num, op_outputs.data()}; - return after(inputs, outputs, op_info); - }; + std::vector op_inputs; + std::vector op_outputs; + size_t op_input_num = after_inputs.size(); + for (size_t i = 0; i < op_input_num; i++) { + inputs_impl.emplace_back(after_inputs[i]); + op_inputs.push_back(&(inputs_impl.back())); + } + size_t op_output_num = after_outputs.size(); + for (size_t i = 0; i < op_output_num; i++) { + outputs_impl.emplace_back(after_outputs[i]); + op_outputs.push_back(&(outputs_impl.back())); + } + const OH_AI_CallBackParam op_info = {const_cast(call_param.node_name.c_str()), + const_cast(call_param.node_type.c_str())}; + OH_AI_TensorHandleArray inputs = {op_input_num, op_inputs.data()}; + OH_AI_TensorHandleArray outputs = {op_output_num, op_outputs.data()}; + return after(inputs, outputs, op_info); + }; } auto ret = session_->RunGraph(before_call_back, after_call_back); return static_cast(ret); @@ -325,16 +328,16 @@ LiteTensorImpl **ModelC::GetOutputs(size_t *output_num) { } } // namespace mindspore -MSModelHandle MSModelCreate() { +OH_AI_ModelHandle OH_AI_ModelCreate() { auto impl = new (std::nothrow) mindspore::ModelC(); if (impl == nullptr) { MS_LOG(ERROR) << "Model implement is null."; return nullptr; } - return static_cast(impl); + return static_cast(impl); } -void MSModelDestroy(MSModelHandle *model) { +void OH_AI_ModelDestroy(OH_AI_ModelHandle *model) { if (model != nullptr && *model != nullptr) { auto impl = static_cast(*model); delete impl; @@ -342,76 +345,77 @@ void MSModelDestroy(MSModelHandle *model) { } } -void MSModelSetWorkspace(MSModelHandle model, void *workspace, size_t workspace_size) { +void OH_AI_ModelSetWorkspace(OH_AI_ModelHandle model, void *workspace, size_t workspace_size) { MS_LOG(ERROR) << "Unsupported Feature."; return; } -size_t MSModelCalcWorkspaceSize(MSModelHandle model) { +size_t OH_AI_ModelCalcWorkspaceSize(OH_AI_ModelHandle model) { MS_LOG(ERROR) << "Unsupported Feature."; return 0; } -MSStatus MSModelBuild(MSModelHandle model, const void *model_data, size_t data_size, MSModelType model_type, - const MSContextHandle model_context) { +OH_AI_Status OH_AI_ModelBuild(OH_AI_ModelHandle model, const void *model_data, size_t data_size, + OH_AI_ModelType model_type, const OH_AI_ContextHandle model_context) { if (model == nullptr || model_data == nullptr || model_context == nullptr) { MS_LOG(ERROR) << "param is nullptr."; - return kMSStatusLiteNullptr; + return OH_AI_STATUS_LITE_NULLPTR; } - if (model_type == kMSModelTypeInvalid) { + if (model_type == OH_AI_MODELTYPE_INVALID) { MS_LOG(ERROR) << "param is invalid."; - return kMSStatusLiteParamInvalid; + return OH_AI_STATUS_LITE_PARAM_INVALID; } mindspore::ContextC *context = static_cast(model_context); auto impl = static_cast(model); auto ret = impl->Build(model_data, data_size, static_cast(model_type), context); - return static_cast(ret.StatusCode()); + return static_cast(ret.StatusCode()); } -MSStatus MSModelBuildFromFile(MSModelHandle model, const char *model_path, MSModelType model_type, - const MSContextHandle model_context) { +OH_AI_Status OH_AI_ModelBuildFromFile(OH_AI_ModelHandle model, const char *model_path, OH_AI_ModelType model_type, + const OH_AI_ContextHandle model_context) { if (model == nullptr || model_path == nullptr || model_context == nullptr) { MS_LOG(ERROR) << "param is nullptr."; - return kMSStatusLiteNullptr; + return OH_AI_STATUS_LITE_NULLPTR; } - if (model_type == kMSModelTypeInvalid) { + if (model_type == OH_AI_MODELTYPE_INVALID) { MS_LOG(ERROR) << "param is invalid."; - return kMSStatusLiteParamInvalid; + return OH_AI_STATUS_LITE_PARAM_INVALID; } mindspore::ContextC *context = static_cast(model_context); auto impl = static_cast(model); auto ret = impl->Build(model_path, static_cast(model_type), context); - return static_cast(ret.StatusCode()); + return static_cast(ret.StatusCode()); } -MSStatus MSModelResize(MSModelHandle model, const MSTensorHandleArray inputs, MSShapeInfo *shape_infos, - size_t shape_info_num) { +OH_AI_Status OH_AI_ModelResize(OH_AI_ModelHandle model, const OH_AI_TensorHandleArray inputs, + OH_AI_ShapeInfo *shape_infos, size_t shape_info_num) { if (model == nullptr || shape_infos == nullptr) { MS_LOG(ERROR) << "param is nullptr."; - return kMSStatusLiteNullptr; + return OH_AI_STATUS_LITE_NULLPTR; } std::vector vec_inputs; std::transform(inputs.handle_list, inputs.handle_list + inputs.handle_num, std::back_inserter(vec_inputs), - [](MSTensorHandle value) { return static_cast(value); }); + [](OH_AI_TensorHandle value) { return static_cast(value); }); std::vector> vec_dims; for (size_t i = 0; i < shape_info_num; i++) { std::vector shape(shape_infos[i].shape, shape_infos[i].shape + shape_infos[i].shape_num); if (std::any_of(shape.begin(), shape.end(), [](int64_t val) { return val < 0 || val > INT32_MAX; })) { MS_LOG(ERROR) << "Invalid shape: " << shape << ", each dimension must be in [0, INT32_MAX]"; - return kMSStatusLiteInputParamInvalid; + return OH_AI_STATUS_LITE_PARAM_INVALID; } vec_dims.push_back(shape); } auto impl = static_cast(model); auto ret = impl->Resize(vec_inputs, vec_dims); - return static_cast(ret.StatusCode()); + return static_cast(ret.StatusCode()); } -MSStatus MSModelPredict(MSModelHandle model, const MSTensorHandleArray inputs, MSTensorHandleArray *outputs, - const MSKernelCallBackC before, const MSKernelCallBackC after) { +OH_AI_Status OH_AI_ModelPredict(OH_AI_ModelHandle model, const OH_AI_TensorHandleArray inputs, + OH_AI_TensorHandleArray *outputs, const OH_AI_KernelCallBack before, + const OH_AI_KernelCallBack after) { if (model == nullptr) { MS_LOG(ERROR) << "param is nullptr."; - return kMSStatusLiteNullptr; + return OH_AI_STATUS_LITE_NULLPTR; } auto impl = static_cast(model); auto ret = impl->Predict(inputs.handle_list, inputs.handle_num, &(outputs->handle_list), &(outputs->handle_num), @@ -419,47 +423,47 @@ MSStatus MSModelPredict(MSModelHandle model, const MSTensorHandleArray inputs, M if (!ret.IsOk()) { MS_LOG(ERROR) << "Predict fail, ret :" << ret; } - return static_cast(ret.StatusCode()); + return static_cast(ret.StatusCode()); } -MSStatus MSModelRunStep(MSModelHandle model, const MSKernelCallBackC before, const MSKernelCallBackC after) { +OH_AI_Status OH_AI_ModelRunStep(OH_AI_ModelHandle model, const OH_AI_KernelCallBack before, const OH_AI_KernelCallBack after) { MS_LOG(ERROR) << "Unsupported Feature."; - return kMSStatusLiteNotSupport; + return OH_AI_STATUS_LITE_NOT_SUPPORT; } -MSStatus MSModelSetTrainMode(const MSModelHandle model, bool train) { +OH_AI_Status OH_AI_ModelSetTrainMode(const OH_AI_ModelHandle model, bool train) { MS_LOG(ERROR) << "Unsupported Feature."; - return kMSStatusLiteNotSupport; + return OH_AI_STATUS_LITE_NOT_SUPPORT; } -MSStatus MSModelExportWeight(const MSModelHandle model, const char *export_path) { +OH_AI_Status OH_AI_ModelExportWeight(const OH_AI_ModelHandle model, const char *export_path) { MS_LOG(ERROR) << "Unsupported Feature."; - return kMSStatusLiteNotSupport; + return OH_AI_STATUS_LITE_NOT_SUPPORT; } -MSTensorHandleArray MSModelGetInputs(const MSModelHandle model) { +OH_AI_TensorHandleArray OH_AI_ModelGetInputs(const OH_AI_ModelHandle model) { if (model == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return {0, nullptr}; } auto impl = static_cast(model); size_t input_num; - auto handles = reinterpret_cast(impl->GetInputs(&input_num)); + auto handles = reinterpret_cast(impl->GetInputs(&input_num)); return {input_num, handles}; } -MSTensorHandleArray MSModelGetOutputs(const MSModelHandle model) { +OH_AI_TensorHandleArray OH_AI_ModelGetOutputs(const OH_AI_ModelHandle model) { if (model == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return {0, nullptr}; } auto impl = static_cast(model); size_t output_num; - auto handles = reinterpret_cast(impl->GetOutputs(&output_num)); + auto handles = reinterpret_cast(impl->GetOutputs(&output_num)); return {output_num, handles}; } -MSTensorHandle MSModelGetInputByTensorName(const MSModelHandle model, const char *tensor_name) { +OH_AI_TensorHandle OH_AI_ModelGetInputByTensorName(const OH_AI_ModelHandle model, const char *tensor_name) { if (model == nullptr || tensor_name == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return nullptr; @@ -469,14 +473,14 @@ MSTensorHandle MSModelGetInputByTensorName(const MSModelHandle model, const char auto inputs = impl->GetInputs(&input_num); for (size_t i = 0; i < input_num; i++) { if (inputs[i]->Name() == tensor_name) { - return static_cast(inputs[i]); + return static_cast(inputs[i]); } } MS_LOG(ERROR) << "tensor is not exist."; return nullptr; } -MSTensorHandle MSModelGetOutputByTensorName(const MSModelHandle model, const char *tensor_name) { +OH_AI_TensorHandle OH_AI_ModelGetOutputByTensorName(const OH_AI_ModelHandle model, const char *tensor_name) { if (model == nullptr || tensor_name == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return nullptr; @@ -486,7 +490,7 @@ MSTensorHandle MSModelGetOutputByTensorName(const MSModelHandle model, const cha auto outputs = impl->GetOutputs(&output_num); for (size_t i = 0; i < output_num; i++) { if (outputs[i]->Name() == tensor_name) { - return static_cast(outputs[i]); + return static_cast(outputs[i]); } } MS_LOG(ERROR) << "tensor is not exist."; diff --git a/mindspore/lite/src/litert/c_api/tensor_c.cc b/mindspore/lite/src/litert/c_api/tensor_c.cc index 49778cb5..7b5c4c2f 100644 --- a/mindspore/lite/src/litert/c_api/tensor_c.cc +++ b/mindspore/lite/src/litert/c_api/tensor_c.cc @@ -19,8 +19,8 @@ #include "src/litert/cxx_api/tensor/tensor_impl.h" #include "src/litert/inner_allocator.h" -MSTensorHandle MSTensorCreate(const char *name, MSDataType type, const int64_t *shape, size_t shape_num, - const void *data, size_t data_len) { +OH_AI_TensorHandle OH_AI_TensorCreate(const char *name, OH_AI_DataType type, const int64_t *shape, size_t shape_num, + const void *data, size_t data_len) { if (name == nullptr || shape == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return nullptr; @@ -40,7 +40,7 @@ MSTensorHandle MSTensorCreate(const char *name, MSDataType type, const int64_t * return impl; } -void MSTensorDestroy(MSTensorHandle *tensor) { +void OH_AI_TensorDestroy(OH_AI_TensorHandle *tensor) { if (tensor != nullptr && *tensor != nullptr) { auto impl = static_cast(*tensor); delete impl; @@ -48,7 +48,7 @@ void MSTensorDestroy(MSTensorHandle *tensor) { } } -MSTensorHandle MSTensorClone(MSTensorHandle tensor) { +OH_AI_TensorHandle OH_AI_TensorClone(OH_AI_TensorHandle tensor) { if (tensor == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return nullptr; @@ -67,11 +67,10 @@ MSTensorHandle MSTensorClone(MSTensorHandle tensor) { return nullptr; } clone_impl->set_from_session(false); - clone_impl->set_own_data(true); return clone_impl; } -void MSTensorSetName(MSTensorHandle tensor, const char *name) { +void OH_AI_TensorSetName(OH_AI_TensorHandle tensor, const char *name) { if (tensor == nullptr || name == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return; @@ -80,7 +79,7 @@ void MSTensorSetName(MSTensorHandle tensor, const char *name) { impl->SetName(name); } -const char *MSTensorGetName(const MSTensorHandle tensor) { +const char *OH_AI_TensorGetName(const OH_AI_TensorHandle tensor) { if (tensor == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return nullptr; @@ -89,7 +88,7 @@ const char *MSTensorGetName(const MSTensorHandle tensor) { return impl->Name().c_str(); } -void MSTensorSetDataType(MSTensorHandle tensor, MSDataType type) { +void OH_AI_TensorSetDataType(OH_AI_TensorHandle tensor, OH_AI_DataType type) { if (tensor == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return; @@ -98,17 +97,17 @@ void MSTensorSetDataType(MSTensorHandle tensor, MSDataType type) { impl->SetDataType(static_cast(type)); } -MSDataType MSTensorGetDataType(const MSTensorHandle tensor) { +OH_AI_DataType OH_AI_TensorGetDataType(const OH_AI_TensorHandle tensor) { if (tensor == nullptr) { MS_LOG(ERROR) << "param is nullptr."; - return kMSDataTypeUnknown; + return OH_AI_DATATYPE_UNKNOWN; } auto impl = static_cast(tensor); auto dtype = impl->DataType(); - return static_cast(dtype); + return static_cast(dtype); } -void MSTensorSetShape(MSTensorHandle tensor, const int64_t *shape, size_t shape_num) { +void OH_AI_TensorSetShape(OH_AI_TensorHandle tensor, const int64_t *shape, size_t shape_num) { if (tensor == nullptr || shape == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return; @@ -121,7 +120,7 @@ void MSTensorSetShape(MSTensorHandle tensor, const int64_t *shape, size_t shape_ impl->SetShape(vec_shape); } -const int64_t *MSTensorGetShape(const MSTensorHandle tensor, size_t *shape_num) { +const int64_t *OH_AI_TensorGetShape(const OH_AI_TensorHandle tensor, size_t *shape_num) { if (tensor == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return nullptr; @@ -131,7 +130,7 @@ const int64_t *MSTensorGetShape(const MSTensorHandle tensor, size_t *shape_num) return impl->Shape().data(); } -void MSTensorSetFormat(MSTensorHandle tensor, MSFormat format) { +void OH_AI_TensorSetFormat(OH_AI_TensorHandle tensor, OH_AI_Format format) { if (tensor == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return; @@ -140,17 +139,17 @@ void MSTensorSetFormat(MSTensorHandle tensor, MSFormat format) { return impl->SetFormat(static_cast(format)); } -MSFormat MSTensorGetFormat(const MSTensorHandle tensor) { +OH_AI_Format OH_AI_TensorGetFormat(const OH_AI_TensorHandle tensor) { if (tensor == nullptr) { MS_LOG(ERROR) << "param is nullptr."; - return kMSFormatNHWC; + return OH_AI_FORMAT_NHWC; } auto impl = static_cast(tensor); - return static_cast(impl->Format()); + return static_cast(impl->Format()); } -void MSTensorSetData(MSTensorHandle tensor, void *data) { - if (tensor == nullptr || data == nullptr) { +void OH_AI_TensorSetData(OH_AI_TensorHandle tensor, void *data) { + if (tensor == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return; } @@ -158,7 +157,7 @@ void MSTensorSetData(MSTensorHandle tensor, void *data) { return impl->SetData(data, true); } -const void *MSTensorGetData(const MSTensorHandle tensor) { +const void *OH_AI_TensorGetData(const OH_AI_TensorHandle tensor) { if (tensor == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return nullptr; @@ -167,7 +166,7 @@ const void *MSTensorGetData(const MSTensorHandle tensor) { return impl->Data().get(); } -void *MSTensorGetMutableData(const MSTensorHandle tensor) { +void *OH_AI_TensorGetMutableData(const OH_AI_TensorHandle tensor) { if (tensor == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return nullptr; @@ -176,7 +175,7 @@ void *MSTensorGetMutableData(const MSTensorHandle tensor) { return impl->MutableData(); } -int64_t MSTensorGetElementNum(const MSTensorHandle tensor) { +int64_t OH_AI_TensorGetElementNum(const OH_AI_TensorHandle tensor) { if (tensor == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return 0; @@ -185,7 +184,7 @@ int64_t MSTensorGetElementNum(const MSTensorHandle tensor) { return impl->ElementNum(); } -size_t MSTensorGetDataSize(const MSTensorHandle tensor) { +size_t OH_AI_TensorGetDataSize(const OH_AI_TensorHandle tensor) { if (tensor == nullptr) { MS_LOG(ERROR) << "param is nullptr."; return 0; diff --git a/mindspore/lite/src/litert/cpu_info.cc b/mindspore/lite/src/litert/cpu_info.cc index 7510de1a..6710f8d3 100644 --- a/mindspore/lite/src/litert/cpu_info.cc +++ b/mindspore/lite/src/litert/cpu_info.cc @@ -19,7 +19,7 @@ #include #include "src/common/log_adapter.h" #include "nnacl/nnacl_utils.h" -#if defined(ENABLE_ARM64) && !defined(SUPPORT_NNIE) && !defined(MS_COMPILE_IOS) +#if defined(__ANDROID__) || defined(MS_COMPILE_OHOS) && !defined(SUPPORT_NNIE) && !defined(MS_COMPILE_IOS) #include #include #endif diff --git a/mindspore/lite/src/litert/cxx_api/converters.cc b/mindspore/lite/src/litert/cxx_api/converters.cc index ab6aacf3..0ff345cc 100644 --- a/mindspore/lite/src/litert/cxx_api/converters.cc +++ b/mindspore/lite/src/litert/cxx_api/converters.cc @@ -190,16 +190,16 @@ std::shared_ptr ContextUtils::Convert(const ContextC *contex for (auto &device_info_c : device_list) { MS_CHECK_TRUE_RET(device_info_c != nullptr, nullptr); lite::DeviceInfo device_info = {{0}}; - if (device_info_c->device_type == kMSDeviceTypeCPU) { + if (device_info_c->device_type == OH_AI_DEVICETYPE_CPU) { if (device_info_c->allocator == nullptr) { device_info_c->allocator = Allocator::Create(); } ret = AddCpuDevice(device_info_c->allocator, context_c->affinity_mode, device_info_c->enable_fp16, device_info_c->provider, device_info_c->provider_device, inner_context.get()); - } else if (device_info_c->device_type == kMSDeviceTypeGPU) { + } else if (device_info_c->device_type == OH_AI_DEVICETYPE_GPU) { ret = AddGpuDevice(device_info_c->enable_fp16, 0, 0, 0, false, nullptr, nullptr, device_info_c->provider, device_info_c->provider_device, device_info_c->allocator, inner_context.get()); - } else if (device_info_c->device_type == kMSDeviceTypeKirinNPU) { + } else if (device_info_c->device_type == OH_AI_DEVICETYPE_KIRIN_NPU) { ret = AddNpuDevice(device_info_c->enable_fp16, device_info_c->frequency, inner_context.get()); } if (ret != kSuccess) { diff --git a/mindspore/lite/src/litert/delegate/nnrt/CMakeLists.txt b/mindspore/lite/src/litert/delegate/nnrt/CMakeLists.txt new file mode 100644 index 00000000..70aa63f3 --- /dev/null +++ b/mindspore/lite/src/litert/delegate/nnrt/CMakeLists.txt @@ -0,0 +1,30 @@ +include_directories(${DDK_PATH}) +include_directories($(CCSRC_DIR)/plugin/device/cpu/kernel) + +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) +#include_directories(/home/tony/wty/workspace/ohos/third_party/mindspore/mindspore/lite/mindir/include/inner) +#include_directories(/home/tony/wty/workspace/ohos/third_party/mindspore/mindspore/lite/mindir/include) +file(GLOB_RECURSE NNRT_SRC + ${CMAKE_CURRENT_SOURCE_DIR}/*.cc +) + +#add_library(hiai SHARED IMPORTED) +#set_target_properties(hiai PROPERTIES IMPORTED_LOCATION +# ${DDK_LIB_PATH}/libhiai.so) +#add_library(hiai_ir SHARED IMPORTED) +#set_target_properties(hiai_ir PROPERTIES IMPORTED_LOCATION +# ${DDK_LIB_PATH}/libhiai_ir.so) +#add_library(hiai_ir_build SHARED IMPORTED) +#set_target_properties(hiai_ir_build PROPERTIES IMPORTED_LOCATION +# ${DDK_LIB_PATH}/libhiai_ir_build.so) +#add_library(npu_kernel_mid OBJECT ${NPU_RUNTIME_SRC}) +#add_dependencies(npu_kernel_mid fbs_src) +#target_link_libraries( +# npu_kernel_mid +# hiai +# hiai_ir +# hiai_ir_build +#) + +file(GLOB convert_source checker/*.cc) +add_library(nnr_mid OBJECT ${NNRT_SRC} ${convert_source} ) \ No newline at end of file diff --git a/mindspore/lite/src/litert/delegate/nnrt/checker/primitive_check.cc b/mindspore/lite/src/litert/delegate/nnrt/checker/primitive_check.cc new file mode 100644 index 00000000..4df7e477 --- /dev/null +++ b/mindspore/lite/src/litert/delegate/nnrt/checker/primitive_check.cc @@ -0,0 +1,187 @@ +#include +#include +#include "primitive_check.h" +#include "dtype/type_id.h" +#include "src/litert/weight_decoder.h" +#include "src/common/log.h" +#include "src/common/utils.h" +namespace mindspore { +namespace lite { + +Status CheckPrimitiveSupported(const schema::Primitive *primitive) { + if (primitive != nullptr) { + auto prim = primitive; + auto type = prim->value_type(); + switch (type) { + case schema::PrimitiveType_Activation: + return mindspore::kSuccess; + case schema::PrimitiveType_AddFusion: + return mindspore::kSuccess; + case schema::PrimitiveType_ArgMaxFusion: + return mindspore::kSuccess; + case schema::PrimitiveType_AvgPoolFusion: + return mindspore::kSuccess; + case schema::PrimitiveType_BatchToSpaceND: + return mindspore::kSuccess; + case schema::PrimitiveType_BiasAdd: + return mindspore::kSuccess; + case schema::PrimitiveType_Cast: + return mindspore::kSuccess; + case schema::PrimitiveType_Concat: + return mindspore::kSuccess; + case schema::PrimitiveType_Conv2DFusion: + return mindspore::kSuccess; + case schema::PrimitiveType_Conv2dTransposeFusion: + return mindspore::kSuccess; + case schema::PrimitiveType_DivFusion: + return mindspore::kSuccess; + case schema::PrimitiveType_Eltwise: + return mindspore::kSuccess; + case schema::PrimitiveType_ExpandDims: + return mindspore::kSuccess; + case schema::PrimitiveType_Fill: + return mindspore::kSuccess; + case schema::PrimitiveType_FullConnection: + return mindspore::kSuccess; + case schema::PrimitiveType_FusedBatchNorm: + return mindspore::kSuccess; + case schema::PrimitiveType_Gather: + return mindspore::kSuccess; + case schema::PrimitiveType_LayerNormFusion: + return mindspore::kSuccess; + case schema::PrimitiveType_LessEqual: + return mindspore::kSuccess; + case schema::PrimitiveType_MatMulFusion: + return mindspore::kSuccess; + case schema::PrimitiveType_Maximum: + return mindspore::kSuccess; + case schema::PrimitiveType_MaxPoolFusion: + return mindspore::kSuccess; + case schema::PrimitiveType_MulFusion: + return mindspore::kSuccess; + case schema::PrimitiveType_OneHot: + return mindspore::kSuccess; + case schema::PrimitiveType_PadFusion: + return mindspore::kSuccess; + case schema::PrimitiveType_PowFusion: + return mindspore::kSuccess; + case schema::PrimitiveType_PReLUFusion: + return mindspore::kSuccess; + case schema::PrimitiveType_QuantDTypeCast: + return mindspore::kSuccess; + case schema::PrimitiveType_ReduceFusion: + return mindspore::kSuccess; + case schema::PrimitiveType_Reshape: + return mindspore::kSuccess; + case schema::PrimitiveType_Resize: + return mindspore::kSuccess; + case schema::PrimitiveType_Rsqrt: + return mindspore::kSuccess; + case schema::PrimitiveType_ScaleFusion: + return mindspore::kSuccess; + case schema::PrimitiveType_Shape: + return mindspore::kSuccess; + case schema::PrimitiveType_SliceFusion: + return mindspore::kSuccess; + case schema::PrimitiveType_Softmax: + return mindspore::kSuccess; + case schema::PrimitiveType_SpaceToBatchND: + return mindspore::kSuccess; + case schema::PrimitiveType_Split: + return mindspore::kSuccess; + case schema::PrimitiveType_Sqrt: + return mindspore::kSuccess; + case schema::PrimitiveType_SquaredDifference: + return mindspore::kSuccess; + case schema::PrimitiveType_Squeeze: + return mindspore::kSuccess; + case schema::PrimitiveType_Stack: + return mindspore::kSuccess; + case schema::PrimitiveType_StridedSlice: + return mindspore::kSuccess; + case schema::PrimitiveType_SubFusion: + return mindspore::kSuccess; + case schema::PrimitiveType_TileFusion: + return mindspore::kSuccess; + case schema::PrimitiveType_TopKFusion: + return mindspore::kSuccess; + case schema::PrimitiveType_Transpose: + return mindspore::kSuccess; + case schema::PrimitiveType_Unsqueeze: + return mindspore::kSuccess; + default: { + MS_LOG(WARNING) << "No primitive type :" << (int)(type); + return mindspore::kLiteSuccessExit; + } + } + return mindspore::kSuccess; + } else { + MS_LOG(ERROR) << "primitive is nullptr."; + return mindspore::kLiteError; + } +} +namespace { +bool NeedBitUppackCheck(const schema::Tensor &src_tensor) { + if (src_tensor.enableHuffmanCode()) { + return true; + } + bool need_bit_unpack = src_tensor.quantParams() != nullptr && src_tensor.quantParams()->size() > 0 && + src_tensor.quantParams()->Get(0) != nullptr; + if (need_bit_unpack) { + auto num_bits = src_tensor.quantParams()->Get(0)->numBits(); + need_bit_unpack = ((num_bits >= kBitNum1 && num_bits < kBitNum8) || (num_bits > kBitNum8 && num_bits < kBitNum16)); + } + + return need_bit_unpack; +} +int DecompressTensor(const schema::Tensor &src_tensor) { + if (src_tensor.weightQuantCompressType() == schema::WeightQuantCompressType_FSE || + src_tensor.weightQuantCompressType() == schema::WeightQuantCompressType_INDEXING || + src_tensor.weightQuantCompressType() == schema::WeightQuantCompressType_SPARSE) { + return RET_NOT_SUPPORT; + } + if (!NeedBitUppackCheck(src_tensor)) { + return RET_NO_CHANGE; + } + MS_LOG(ERROR) << "DecompressTensor Error."; + return RET_ERROR; +} +} // namespace + +Status CheckTensorSupported(const schema::Tensor *primitive) { + if (primitive == nullptr) { + MS_LOG(ERROR) << "primitive is nullptr, which type is Tensor."; + return mindspore::kLiteSuccessExit; + } + + int32_t data_type = primitive->dataType(); + if (data_type <= kTypeUnknown || data_type >= kMonadTypeEnd) { + MS_LOG(ERROR) << "invalid data type. " << data_type; + return mindspore::kLiteSuccessExit; + } + + if (primitive->dims() == nullptr) { + MS_LOG(DEBUG) << "Dims of tensor is nullptr"; + } + + if (data_type == kObjectTypeTensorType) { + MS_LOG(ERROR) << "Not support TensorList."; + return mindspore::kLiteNotSupport; + } + + if (primitive->data() == nullptr || primitive->data()->size() <= 0) { + MS_LOG(DEBUG) << "No valid data converted."; + return mindspore::kSuccess; + } else { + auto ret = DecompressTensor(*primitive); + if (ret == RET_NO_CHANGE) { + } else { + MS_LOG(ERROR) << "Not support Decompress Tensor."; + return mindspore::kLiteNotSupport; + } + } + return mindspore::kSuccess; + ; +} +} // namespace lite +} // namespace mindspore diff --git a/mindspore/lite/src/litert/delegate/nnrt/checker/primitive_check.h b/mindspore/lite/src/litert/delegate/nnrt/checker/primitive_check.h new file mode 100644 index 00000000..dbdd812c --- /dev/null +++ b/mindspore/lite/src/litert/delegate/nnrt/checker/primitive_check.h @@ -0,0 +1,12 @@ +#ifndef OHOS_HDI_NNRT_V1_0_CPP_H +#define OHOS_HDI_NNRT_V1_0_CPP_H +#include "schema/model_generated.h" +#include "include/api/status.h" +namespace mindspore { +namespace lite { +Status CheckPrimitiveSupported(const schema::Primitive *primitive); +Status CheckTensorSupported(const schema::Tensor *primitive); +} // namespace lite +} // namespace mindspore + +#endif // OHOS_HDI_NNRT_V1_0_CPP_H \ No newline at end of file diff --git a/mindspore/lite/src/litert/delegate/nnrt/nnrt_delegate.cc b/mindspore/lite/src/litert/delegate/nnrt/nnrt_delegate.cc new file mode 100644 index 00000000..34897331 --- /dev/null +++ b/mindspore/lite/src/litert/delegate/nnrt/nnrt_delegate.cc @@ -0,0 +1,360 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "nnrt_delegate.h" +#include "checker/primitive_check.h" +#include "src/common/log_adapter.h" +#include "interfaces/kits/c/neural_network_runtime.h" +#include "interfaces/innerkits/c/neural_network_runtime_inner.h" +#include "nnrt_model_kernel.h" + +mindspore::Status mindspore::NNRTDelegate::Build(DelegateModel *model) { + if (this->nnrt_lite_graph == nullptr) { + MS_LOG(ERROR) << "nnrt_lite_graph is nullptr."; + return mindspore::kLiteError; + } + if (this->nnrt_lite_graph->sub_graphs_.empty()) { + // must have at lease one subgraph + MS_LOG(ERROR) << "must have at lease one subgraph"; + return mindspore::kLiteError; + } + OH_NN_ReturnCode ret_code; + OH_NNModel *oh_nnmodel = OH_NNModel_Construct(); + if (oh_nnmodel == nullptr) { + MS_LOG(ERROR) << "Construct NNModel failed, oh_nnmodel is nullptr."; + return mindspore::kLiteError; + } + + ret_code = OH_NNModel_BuildFromLiteGraph(oh_nnmodel, this->nnrt_lite_graph); + if (ret_code != OH_NN_SUCCESS) { + MS_LOG(ERROR) << "Build NNModel failed, OH_NN_ReturnCode = " << ret_code; + OH_NNModel_Destroy(&oh_nnmodel); + return mindspore::kLiteError; + } + MS_LOG(INFO) << "NNRTDelegate creates NNModel success."; + + OH_NNCompilation *oh_nn_compilation = nullptr; + oh_nn_compilation = OH_NNCompilation_Construct(oh_nnmodel); + + if (oh_nn_compilation == nullptr) { + MS_LOG(ERROR) << "Construct NNCompilation failed"; + OH_NNModel_Destroy(&oh_nnmodel); + return mindspore::kLiteError; + } + MS_LOG(INFO) << "NNRTDelegate creates NNCompilation success."; + + const size_t *allDevicesID = nullptr; + uint32_t device_count = 0; + ret_code = OH_NNDevice_GetAllDevicesID(&allDevicesID, &device_count); + if (ret_code != OH_NN_SUCCESS) { + MS_LOG(ERROR) << "NNModel GetAllDevicesID failed, OH_NN_ReturnCode = " << ret_code; + OH_NNCompilation_Destroy(&oh_nn_compilation); + OH_NNModel_Destroy(&oh_nnmodel); + return mindspore::kLiteError; + } + + if (device_count <= 0) { + MS_LOG(WARNING) << "No NNRt Device found, fall back to CPU. "; + // OH_NNCompilation_Destroy(&oh_nn_compilation); + // OH_NNModel_Destroy(&oh_nnmodel); + return mindspore::kSuccess; + } + MS_LOG(INFO) << "NNRTDelegate GetAllDevicesID success."; + + // check if model ops are supported + const bool *issupported = nullptr; + uint32_t op_count = 0; + ret_code = OH_NNModel_GetAvailableOperations(oh_nnmodel, allDevicesID[0], &issupported, &op_count); + if (ret_code != OH_NN_SUCCESS) { + MS_LOG(ERROR) << "NNModel GetAvailableOperations failed, OH_NN_ReturnCode = " << ret_code + << ", maybe due to dataParcel data length limitaion. Fall back to CPU."; + OH_NNCompilation_Destroy(&oh_nn_compilation); + OH_NNModel_Destroy(&oh_nnmodel); + return mindspore::kSuccess; + } + uint32_t supported_op_count = 0; + for (uint32_t i = 0; i < op_count; i++) { + if (issupported[i]) { + supported_op_count++; + } + } + if (op_count != supported_op_count) { + MS_LOG(WARNING) << "this model has " << op_count << "ops, but NNRT only support " << supported_op_count + << " ops, fall back to CPU."; + // must support all op, else fall back to CPU + OH_NNCompilation_Destroy(&oh_nn_compilation); + OH_NNModel_Destroy(&oh_nnmodel); + return mindspore::kSuccess; + } + MS_LOG(INFO) << "NNRtDelegate supports all op in this model."; + + ret_code = OH_NNCompilation_SetDevice(oh_nn_compilation, allDevicesID[0]); + + if (ret_code != OH_NN_SUCCESS) { + MS_LOG(ERROR) << "NNCompilation SetDevice failed, OH_NN_ReturnCode = " << ret_code; + OH_NNCompilation_Destroy(&oh_nn_compilation); + OH_NNModel_Destroy(&oh_nnmodel); + return mindspore::kLiteError; + } + + ret_code = OH_NNCompilation_Build(oh_nn_compilation); + + if (ret_code != OH_NN_SUCCESS) { + MS_LOG(ERROR) << "Build NNCompilation failed, OH_NN_ReturnCode = " << ret_code; + OH_NNCompilation_Destroy(&oh_nn_compilation); + OH_NNModel_Destroy(&oh_nnmodel); + return mindspore::kLiteError; + } + + MS_LOG(DEBUG) << "NNRTDelegate SetDevice success."; + + OH_NNExecutor *oh_nn_executor = nullptr; + oh_nn_executor = OH_NNExecutor_Construct(oh_nn_compilation); + if (oh_nn_executor == nullptr) { + MS_LOG(ERROR) << "Construct NNCompilation SetDevice failed, OH_NN_ReturnCode = " << ret_code; + OH_NNCompilation_Destroy(&oh_nn_compilation); + OH_NNModel_Destroy(&oh_nnmodel); + return mindspore::kLiteError; + } + MS_LOG(DEBUG) << "NNRTDelegate creates NNExecutor success."; + mindspore::Status prepare_data_ret; + auto nnr_model_kernel = new (std::nothrow) NNRTModelKernel(oh_nn_executor, model->inputs(), model->outputs()); + if (nnr_model_kernel == nullptr) { + MS_LOG(ERROR) << "new NNRTModelKernel failed"; + return mindspore::kLiteError; + } + OH_NNCompilation_Destroy(&oh_nn_compilation); + OH_NNModel_Destroy(&oh_nnmodel); + KernelIter from = model->BeginKernelIterator(); + KernelIter end = model->EndKernelIterator(); + model->Replace(from, end, nnr_model_kernel); + + MS_LOG(INFO) << "NNRTDelegate build success."; + return mindspore::kSuccess; +} + +mindspore::Status mindspore::NNRTDelegate::Init() { + MS_LOG(DEBUG) << "NNRTDelegate init success."; + return mindspore::kSuccess; +} +mindspore::Status mindspore::NNRTDelegate::PrepareInputs(DelegateModel *model, + OH_NNExecutor *oh_nn_executor) { + auto input_tensors = model->inputs(); + for (size_t i = 0; i < input_tensors.size(); i++) { + auto tensor = input_tensors[i]; + auto tensor_shape = tensor.Shape(); + auto tmp_quant_param = tensor.QuantParams(); + OH_NN_QuantParam *quant_param = nullptr; + std::vector bit_num; + std::vector scale; + std::vector zero_point; + if (!tmp_quant_param.empty()) { + quant_param = new (std::nothrow) OH_NN_QuantParam; + if (quant_param == nullptr) { + MS_LOG(ERROR) << "new OH_NN_QuantParam failed."; + return mindspore::kLiteError; + } + for (auto qparam : tmp_quant_param) { + bit_num.emplace_back(qparam.bit_num); + scale.emplace_back(qparam.scale); + zero_point.emplace_back(qparam.zero_point); + } + quant_param->quantCount = tmp_quant_param.size(); + quant_param->numBits = bit_num.data(); + quant_param->scale = scale.data(); + quant_param->zeroPoint = zero_point.data(); + } + auto oprend = new (std::nothrow) OH_NN_Tensor; + if (oprend == nullptr) { + MS_LOG(ERROR) << "new OH_NN_Tensor Failed"; + return mindspore::kLiteError; + } + oprend->dataType = ConvertDataType(tensor.DataType()); + oprend->dimensionCount = tensor_shape.size(); + + std::vector dimensions_list; + for (auto shape : tensor_shape) { + if (shape < INT32_MAX) { + dimensions_list.emplace_back(static_cast(shape)); + } else { + MS_LOG(ERROR) << "NNExecutor SetInput failed,tensor dimension is is too large, max dim = " << INT32_MAX + << ", but get dimension = " << shape; + return mindspore::kLiteError; + } + } + oprend->dimensions = dimensions_list.data(); + oprend->quantParam = quant_param; + oprend->type = OH_NN_TENSOR; + OH_NN_ReturnCode ret_code = + OH_NNExecutor_SetInput(oh_nn_executor, i, oprend, tensor.MutableData(), tensor.DataSize()); + delete (oprend); + + if (!tmp_quant_param.empty()) { + delete (quant_param); + quant_param = nullptr; + } + + if (ret_code != OH_NN_SUCCESS) { + MS_LOG(ERROR) << "NNExecutor SetInput failed, current input tensor is" << tensor.Name() + << "OH_NN_ReturnCode = " << ret_code; + return mindspore::kLiteError; + } + } + + return mindspore::kSuccess; +} +OH_NN_DataType mindspore::NNRTDelegate::ConvertDataType(mindspore::DataType data_type) { + OH_NN_DataType oh_data_type; + switch (data_type) { + case mindspore::DataType::kTypeUnknown: + case mindspore::DataType::kObjectTypeString: + case mindspore::DataType::kObjectTypeList: + case mindspore::DataType::kObjectTypeTuple: + case mindspore::DataType::kObjectTypeTensorType: + case mindspore::DataType::kNumberTypeBegin: + case mindspore::DataType::kNumberTypeEnd: + case mindspore::DataType::kInvalidType: + oh_data_type = OH_NN_UNKNOWN; + break; + case mindspore::DataType::kNumberTypeBool: + oh_data_type = OH_NN_BOOL; + break; + case mindspore::DataType::kNumberTypeInt8: + oh_data_type = OH_NN_INT8; + break; + case mindspore::DataType::kNumberTypeInt16: + oh_data_type = OH_NN_INT16; + break; + case mindspore::DataType::kNumberTypeInt32: + oh_data_type = OH_NN_INT32; + break; + case mindspore::DataType::kNumberTypeInt64: + oh_data_type = OH_NN_INT64; + break; + case mindspore::DataType::kNumberTypeUInt8: + oh_data_type = OH_NN_UINT8; + break; + case mindspore::DataType::kNumberTypeUInt16: + oh_data_type = OH_NN_UINT16; + break; + case mindspore::DataType::kNumberTypeUInt32: + oh_data_type = OH_NN_UINT32; + break; + case mindspore::DataType::kNumberTypeUInt64: + oh_data_type = OH_NN_UINT64; + break; + case mindspore::DataType::kNumberTypeFloat16: + oh_data_type = OH_NN_FLOAT16; + break; + case mindspore::DataType::kNumberTypeFloat32: + oh_data_type = OH_NN_FLOAT32; + break; + case mindspore::DataType::kNumberTypeFloat64: + oh_data_type = OH_NN_FLOAT64; + break; + default: { + oh_data_type = OH_NN_UNKNOWN; + } + } + return oh_data_type; +} + +mindspore::Status mindspore::NNRTDelegate::PrepareOutputs(DelegateModel *model, + OH_NNExecutor *oh_nn_executor) { + auto output_tensors = model->outputs(); + for (size_t i = 0; i < output_tensors.size(); i++) { + auto tensor = output_tensors[i]; + OH_NN_ReturnCode ret_code = OH_NNExecutor_SetOutput(oh_nn_executor, i, tensor.MutableData(), tensor.DataSize()); + if (ret_code != OH_NN_SUCCESS) { + MS_LOG(ERROR) << "NNExecutor SetOutput failed, current out tensor is" << tensor.Name() + << ", OH_NN_ReturnCode = " << ret_code; + return mindspore::kLiteError; + } + } + return mindspore::kSuccess; +} + +void mindspore::NNRTDelegate::ShallowCopyLiteGraph(const mindspore::lite::LiteGraph &lite_graph) { + Status ret; + for (auto node : lite_graph.all_nodes_) { + ret = lite::CheckPrimitiveSupported(static_cast(node->primitive_)); + if (ret == mindspore::kLiteError) { + MS_LOG(ERROR) << " primitive supported check failed."; + return; + } + } + std::vector node_list; + node_list.reserve(lite_graph.all_nodes_.size()); + // copy node + for (auto node : lite_graph.all_nodes_) { + auto new_node = new (std::nothrow) LiteGraph::Node; + if (new_node == nullptr) { + MS_LOG(ERROR) << " new LiteGraph::Node failed."; + return; + } + new_node->name_ = node->name_; + new_node->op_type_ = node->op_type_; + new_node->node_type_ = node->node_type_; + new_node->primitive_ = node->primitive_; + new_node->base_operator_ = node->base_operator_; + new_node->input_indices_ = node->input_indices_; + new_node->output_indices_ = node->output_indices_; + new_node->quant_type_ = node->quant_type_; + new_node->device_type_ = node->device_type_; + node_list.emplace_back(new_node); + } + // copy subgraph + std::vector subgraph_list; + for (auto subgraph : lite_graph.sub_graphs_) { + auto new_subgraph = new (std::nothrow) LiteGraph::SubGraph; + if (new_subgraph == nullptr) { + MS_LOG(ERROR) << "new LiteGraph::Subgraph failed."; + return; + } + new_subgraph->name_ = subgraph->name_; + new_subgraph->input_indices_ = subgraph->input_indices_; + new_subgraph->output_indices_ = subgraph->output_indices_; + new_subgraph->node_indices_ = subgraph->node_indices_; + subgraph_list.emplace_back(new_subgraph); + } + for (auto tensor : lite_graph.all_tensors_) { + ret = lite::CheckTensorSupported(static_cast(tensor)); + if (ret == mindspore::kLiteError) { + MS_LOG(ERROR) << "tensor supported check failed."; + return; + } + } + + nnrt_lite_graph = new (std::nothrow) lite::LiteGraph(); + if (nnrt_lite_graph == nullptr) { + MS_LOG(ERROR) << "new LiteGraph failed."; + return; + } + + nnrt_lite_graph->name_ = lite_graph.name_; + nnrt_lite_graph->version_ = lite_graph.version_; + nnrt_lite_graph->input_indices_ = lite_graph.input_indices_; + nnrt_lite_graph->output_indices_ = lite_graph.output_indices_; + nnrt_lite_graph->all_tensors_ = lite_graph.all_tensors_; + nnrt_lite_graph->all_nodes_ = node_list; + nnrt_lite_graph->sub_graphs_ = subgraph_list; + MS_LOG(INFO) << "ShallowCopyLiteGraph success."; +} + +mindspore::NNRTDelegate::~NNRTDelegate() { + if (this->nnrt_lite_graph != nullptr) { + MS_LOG(ERROR) << "Delete NNRTDelegate."; + } +}; diff --git a/mindspore/lite/src/litert/delegate/nnrt/nnrt_delegate.h b/mindspore/lite/src/litert/delegate/nnrt/nnrt_delegate.h new file mode 100644 index 00000000..c2847704 --- /dev/null +++ b/mindspore/lite/src/litert/delegate/nnrt/nnrt_delegate.h @@ -0,0 +1,51 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MINDSPORE_NNR_DELEGATE_H +#define MINDSPORE_NNR_DELEGATE_H +#include +#include +#include "include/api/delegate.h" +#include "include/model.h" +#include "interfaces/kits/c/neural_network_runtime_type.h" +namespace mindspore { + +using namespace lite; + +class NNRTDelegate : public Delegate { + public: + NNRTDelegate() : Delegate(){}; + + ~NNRTDelegate() override; + + Status Init() override; + + Status Build(DelegateModel *model) override; + + void ShallowCopyLiteGraph(const lite::LiteGraph &liteGraph); + + protected: + LiteGraph *nnrt_lite_graph = nullptr; + + private: + // static LiteGraph* CreateLiteGraph(const LiteGraph &liteGraph); + Status PrepareInputs(DelegateModel *model, OH_NNExecutor *oh_nn_executor); + Status PrepareOutputs(DelegateModel *model, OH_NNExecutor *oh_nn_executor); + OH_NN_DataType ConvertDataType(mindspore::DataType data_type); +}; + +} // namespace mindspore + +#endif // MINDSPORE_NNR_DELEGATE_H diff --git a/mindspore/lite/src/litert/delegate/nnrt/nnrt_model_kernel.cc b/mindspore/lite/src/litert/delegate/nnrt/nnrt_model_kernel.cc new file mode 100644 index 00000000..5acf2e9a --- /dev/null +++ b/mindspore/lite/src/litert/delegate/nnrt/nnrt_model_kernel.cc @@ -0,0 +1,175 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include +#include "nnrt_model_kernel.h" +int mindspore::NNRTModelKernel::Prepare() { return 0; } +int mindspore::NNRTModelKernel::Execute() { + lite::STATUS ret_val = PrepareInputs(); + if (ret_val != lite::RET_OK) { + MS_LOG(ERROR) << "NNRTModelKernel PrepareInputs failed, STATUS is " << ret_val; + return ret_val; + } + ret_val = TransferOutputs(); + if (ret_val != lite::RET_OK) { + MS_LOG(ERROR) << "NNRTModelKernel TransferOutputs failed, STATUS is " << ret_val; + return ret_val; + } + MS_LOG(INFO) << "Running NNRtModel Kernel..."; + OH_NN_ReturnCode ret_code; + ret_code = OH_NNExecutor_Run(this->oh_nn_executor); + + if (ret_code != OH_NN_SUCCESS) { + MS_LOG(ERROR) << "NNExecutor Run failed, OH_NN_ReturnCode = " << ret_code; + return lite::RET_ERROR; + } + MS_LOG(INFO) << "Run NNRtModel Kernel success."; + + return lite::RET_OK; +} + +OH_NN_DataType mindspore::NNRTModelKernel::ConvertDataType(mindspore::DataType data_type) { + OH_NN_DataType oh_data_type; + switch (data_type) { + case DataType::kTypeUnknown: + case DataType::kObjectTypeString: + case DataType::kObjectTypeList: + case DataType::kObjectTypeTuple: + case DataType::kObjectTypeTensorType: + case DataType::kNumberTypeBegin: + case DataType::kNumberTypeEnd: + case DataType::kInvalidType: + oh_data_type = OH_NN_UNKNOWN; + break; + case DataType::kNumberTypeBool: + oh_data_type = OH_NN_BOOL; + break; + case DataType::kNumberTypeInt8: + oh_data_type = OH_NN_INT8; + break; + case DataType::kNumberTypeInt16: + oh_data_type = OH_NN_INT16; + break; + case DataType::kNumberTypeInt32: + oh_data_type = OH_NN_INT32; + break; + case DataType::kNumberTypeInt64: + oh_data_type = OH_NN_INT64; + break; + case DataType::kNumberTypeUInt8: + oh_data_type = OH_NN_UINT8; + break; + case DataType::kNumberTypeUInt16: + oh_data_type = OH_NN_UINT16; + break; + case DataType::kNumberTypeUInt32: + oh_data_type = OH_NN_UINT32; + break; + case DataType::kNumberTypeUInt64: + oh_data_type = OH_NN_UINT64; + break; + case DataType::kNumberTypeFloat16: + oh_data_type = OH_NN_FLOAT16; + break; + case DataType::kNumberTypeFloat32: + oh_data_type = OH_NN_FLOAT32; + break; + case DataType::kNumberTypeFloat64: + oh_data_type = OH_NN_FLOAT64; + break; + default: { + oh_data_type = OH_NN_UNKNOWN; + } + } + return oh_data_type; +} +int mindspore::NNRTModelKernel::PrepareInputs() { + auto input_tensors = this->inputs(); + for (int i = 0; i < input_tensors.size(); i++) { + auto tensor = input_tensors[i]; + auto tensor_shape = tensor.Shape(); + auto tmp_quant_param = tensor.QuantParams(); + OH_NN_QuantParam *quant_param = nullptr; + std::vector bit_num; + std::vector scale; + std::vector zero_point; + if (!tmp_quant_param.empty()) { + quant_param = (new (std::nothrow) OH_NN_QuantParam); + if (quant_param == nullptr) { + MS_LOG(ERROR) << "new OH_NN_QuantParam failed."; + return lite::RET_NULL_PTR; + } + for (auto qparam : tmp_quant_param) { + bit_num.emplace_back(qparam.bit_num); + scale.emplace_back(qparam.scale); + zero_point.emplace_back(qparam.zero_point); + } + quant_param->quantCount = tmp_quant_param.size(); + quant_param->numBits = bit_num.data(); + quant_param->scale = scale.data(); + quant_param->zeroPoint = zero_point.data(); + } + auto oprend = new (std::nothrow) OH_NN_Tensor; + if (oprend == nullptr) { + MS_LOG(ERROR) << "new OH_NN_Tensor Failed"; + return lite::RET_ERROR; + } + oprend->dataType = ConvertDataType(tensor.DataType()); + oprend->dimensionCount = tensor_shape.size(); + + std::vector dimensions_list; + for (auto shape : tensor_shape) { + if (shape < INT32_MAX) { + dimensions_list.emplace_back(static_cast(shape)); + } else { + MS_LOG(ERROR) << "NNExecutor SetInput failed,tensor dimension is is too large, max dim = " << INT32_MAX + << ", but get dimension = " << shape; + return lite::RET_ERROR; + } + } + oprend->dimensions = dimensions_list.data(); + oprend->quantParam = quant_param; + oprend->type = OH_NN_TENSOR; + OH_NN_ReturnCode ret_code = + OH_NNExecutor_SetInput(oh_nn_executor, i, oprend, tensor.MutableData(), tensor.DataSize()); + delete (oprend); + + if (!tmp_quant_param.empty()) { + free(quant_param); + quant_param = nullptr; + } + + if (ret_code != OH_NN_SUCCESS) { + MS_LOG(ERROR) << "NNExecutor SetInput failed, current input tensor is" << tensor.Name() + << "OH_NN_ReturnCode = " << ret_code; + return lite::RET_ERROR; + } + } + + return lite::RET_OK; +} +int mindspore::NNRTModelKernel::TransferOutputs() { + auto output_tensors = this->outputs(); + for (size_t i = 0; i < output_tensors.size(); i++) { + auto tensor = output_tensors[i]; + OH_NN_ReturnCode ret_code = OH_NNExecutor_SetOutput(oh_nn_executor, i, tensor.MutableData(), tensor.DataSize()); + if (ret_code != OH_NN_SUCCESS) { + MS_LOG(ERROR) << "NNExecutor SetOutput failed, current out tensor is" << tensor.Name() + << ", OH_NN_ReturnCode = " << ret_code; + return lite::RET_ERROR; + } + } + return lite::RET_OK; +} diff --git a/mindspore/lite/src/litert/delegate/nnrt/nnrt_model_kernel.h b/mindspore/lite/src/litert/delegate/nnrt/nnrt_model_kernel.h new file mode 100644 index 00000000..cf9481df --- /dev/null +++ b/mindspore/lite/src/litert/delegate/nnrt/nnrt_model_kernel.h @@ -0,0 +1,57 @@ +/** + * Copyright 2022 Huawei Technologies Co., Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef LITE_NNRT_MODEL_KERNEL_H +#define LITE_NNRT_MODEL_KERNEL_H +#include +#include +#include +#include +#include "include/api/kernel.h" +#include "interfaces/kits/c/neural_network_runtime.h" +#include "src/common/log_adapter.h" +#include "include/errorcode.h" + +namespace mindspore { + +class NNRTModelKernel : public kernel::Kernel { + /** + * Because nnr can't run single op, but the whole model. So we decide to make the whole model into one kernel. + * */ + public: + NNRTModelKernel(OH_NNExecutor *oh_nn_executor, const std::vector &inputs, + const std::vector &outputs) + : kernel::Kernel(inputs, outputs, nullptr, nullptr), oh_nn_executor(oh_nn_executor) {} + int Prepare() override; + int Execute() override; + int ReSize() override { + MS_LOG(ERROR) << "NNRT does not support the resize function temporarily."; + return lite::RET_ERROR; + }; + OH_NN_DataType ConvertDataType(mindspore::DataType data_type); + int PrepareInputs(); + int TransferOutputs(); + ~NNRTModelKernel() override { + MS_LOG(INFO) << "start NNExecutor Destroy."; + OH_NNExecutor_Destroy(&oh_nn_executor); + MS_LOG(INFO) << "start NNExecutor Finish."; + } + + protected: + OH_NNExecutor *oh_nn_executor = nullptr; +}; +} // namespace mindspore + +#endif // LITE_NNRTT_MODEL_KERNEL_H diff --git a/mindspore/lite/src/litert/kernel/cpu/BUILD.gn b/mindspore/lite/src/litert/kernel/cpu/BUILD.gn new file mode 100644 index 00000000..b34e0427 --- /dev/null +++ b/mindspore/lite/src/litert/kernel/cpu/BUILD.gn @@ -0,0 +1,307 @@ +import("//build/ohos.gni") + +cpu_kernel_sources = [ + "nnacl/cxx_utils.cc", + "nnacl/nnacl_convolution.cc", + "nnacl/nnacl_kernel.cc", + "nnacl/nnacl_manager.cc", + "nnacl/nnacl_matmul.cc", + "nnacl/nnacl_reduce.cc", + "nnacl/nnacl_reshape.cc", + "nnacl/nnacl_strided_slice.cc", + "base/assert.cc", + "base/call.cc", + "base/constant_of_shape.cc", + "base/convolution_base.cc", + "base/detection_post_process_base.cc", + "base/format_transpose.cc", + "base/group_convolution_base.cc", + "base/group_convolution_creator.cc", + "base/layout_transform.cc", + "base/partial_fusion.cc", + "base/quant_dtype_cast.cc", + "base/random_normal.cc", + "base/reduce_base.cc", + "base/resize_base.cc", + "base/scatter_nd_base.cc", + "base/scatter_nd_binary.cc", + "base/select.cc", + "base/slice_base.cc", + "base/split_base.cc", + "base/split_with_over_lap_base.cc", + "base/tensor_scatter_add.cc", + "base/transpose_base.cc", + "fp32/adder_fp32.cc", + "fp32/affine_fp32.cc", + "fp32/all_gather_fp32.cc", + "fp32/batchnorm_fp32.cc", + "fp32/batch_to_space_fp32.cc", + "fp32/broadcast_to_fp32.cc", + "fp32/cast_for_x86_fp16.cc", + "fp32/cast_fp32.cc", + "fp32/convolution_1x1_fp32.cc", + "fp32/convolution_delegate_fp32.cc", + "fp32/convolution_depthwise_3x3_fp32.cc", + "fp32/convolution_depthwise_fp32.cc", + "fp32/convolution_depthwise_indirect_fp32.cc", + "fp32/convolution_depthwise_slidewindow_fp32.cc", + "fp32/convolution_depthwise_slidewindow_x86_fp32.cc", + "fp32/convolution_fp32.cc", + "fp32/convolution_im2col_arm32_fp32.cc", + "fp32/convolution_im2col_arm64_fp32.cc", + "fp32/convolution_im2col_avx512_fp32.cc", + "fp32/convolution_im2col_avx_fp32.cc", + "fp32/convolution_im2col_base_fp32.cc", + "fp32/convolution_im2col_fp32.cc", + "fp32/convolution_im2col_sse_fp32.cc", + "fp32/convolution_slidewindow_arm64_fp32.cc", + "fp32/convolution_slidewindow_avx_fp32.cc", + "fp32/convolution_slidewindow_fp32.cc", + "fp32/convolution_sw_1x1_fp32.cc", + "fp32/convolution_winograd_arm32_fp32.cc", + "fp32/convolution_winograd_arm64_fp32.cc", + "fp32/convolution_winograd_avx_fp32.cc", + "fp32/convolution_winograd_base_fp32.cc", + "fp32/convolution_winograd_fp32.cc", + "fp32/convolution_winograd_sse_fp32.cc", + "fp32/crop_and_resize_fp32.cc", + "fp32/cumsum_fp32.cc", + "fp32/custom_gru_fp32.cc", + "fp32/deconvolution_depthwise_fp32.cc", + "fp32/deconvolution_fp32.cc", + "fp32/deconvolution_winograd_fp32.cc", + "fp32/depth_to_space_fp32.cc", + "fp32/detection_post_process_fp32.cc", + "fp32/embedding_lookup_fp32.cc", + "fp32/fused_batchnorm_fp32.cc", + "fp32/gatherNd_fp32.cc", + "fp32/glu_fp32.cc", + "fp32/group_convolution_fp32.cc", + "fp32/gru_fp32.cc", + "fp32/instance_norm_fp32.cc", + "fp32/invert_permutation_fp32.cc", + "fp32/l2_norm_fp32.cc", + "fp32/lstm_fp32.cc", + "fp32/matmul_fp32_arm32.cc", + "fp32/matmul_fp32_arm64.cc", + "fp32/matmul_fp32_avx512.cc", + "fp32/matmul_fp32_avx.cc", + "fp32/matmul_fp32_base.cc", + "fp32/matmul_fp32.cc", + "fp32/matmul_fp32_sse.cc", + "fp32/non_max_suppression_fp32.cc", + "fp32/power_fp32.cc", + "fp32/prelu_fp32.cc", + "fp32/reduce_fp32.cc", + "fp32/reduce_scatter_fp32.cc", + "fp32/relative_position_attention_fp32.cc", + "fp32/resize_fp32.cc", + "fp32/reverse_fp32.cc", + "fp32/reverse_sequence_fp32.cc", + "fp32/roi_pooling_fp32.cc", + "fp32/scatter_nd_update_fp32.cc", + "fp32/shape_fusion_fp32.cc", + "fp32/space_to_batch_fp32.cc", + "fp32/space_to_depth_fp32.cc", + "fp32/sparse_fill_empty_rows_fp32.cc", + "fp32/sparse_reshape_fp32.cc", + "fp32/sparse_segment_sum_fp32.cc", + "fp32/sparse_to_dense_fp32.cc", + "fp32/topk_fp32.cc", + "fp32/transpose_server_fp32.cc", + "fp32/uniform_real_fp32.cc", + "fp32/unstack_fp32.cc", + "fp32/where_fp32.cc", + "fp32/online_fusion/cast_gather_reduce_fp32.cc", + "fp32/online_fusion/reduce_concat_fp32.cc", + "fp32/online_fusion/split_reduce_concat_fp32.cc", +] + +arm64_cpu_kernel_sources = [ + "fp32/convolution_im2col_arm64_fp32.cc", + "fp32/matmul_fp32_arm64.cc", + "fp32/convolution_winograd_arm64_fp32.cc", + "fp32/convolution_slidewindow_arm64_fp32.cc", +] + +arm32_cpu_kernel_sources = [ + "fp32/convolution_im2col_arm32_fp32.cc", + "fp32/matmul_fp32_arm32.cc", + "fp32/convolution_winograd_arm32_fp32.cc", +] + +sse_avx_avx512_kernel_sources = [ + "fp32/convolution_im2col_sse_fp32.cc", + "fp32/matmul_fp32_sse.cc", + "fp32/convolution_winograd_sse_fp32.cc", + "fp32/convolution_im2col_avx_fp32.cc", + "fp32/matmul_fp32_avx.cc", + "fp32/convolution_winograd_avx_fp32.cc", + "fp32/convolution_im2col_avx512_fp32.cc", + "fp32/matmul_fp32_avx512.cc", +] + +int8_kernel_sources = [ + "int8/activation_int8.cc", + "int8/add_int8.cc", + "int8/argminmax_int8.cc", + "int8/arithmetic_int8.cc", + "int8/arithmetic_self_int8.cc", + "int8/batchnorm_int8.cc", + "int8/batch_to_space_int8.cc", + "int8/concat_int8.cc", + "int8/convolution_1x1_int8.cc", + "int8/convolution_3x3_int8.cc", + "int8/convolution_depthwise_3x3_int8.cc", + "int8/convolution_depthwise_int8.cc", + "int8/convolution_depthwise_slidewindow_int8.cc", + "int8/convolution_int8.cc", + "int8/convolution_int8_creator.cc", + "int8/crop_int8.cc", + "int8/deconvolution_depthwise_int8.cc", + "int8/deconvolution_int8.cc", + "int8/depth_to_space_int8.cc", + "int8/detection_post_process_int8.cc", + "int8/div_int8.cc", + "int8/dynamic_gather_int8.cc", + "int8/dynamic_quant.cc", + "int8/fullconnection_int8.cc", + "int8/gather_int8.cc", + "int8/gatherNd_int8.cc", + "int8/group_convolution_int8.cc", + "int8/hswish_int8.cc", + "int8/l2_norm_int8.cc", + "int8/layer_norm_int8.cc", + "int8/leaky_relu_int8.cc", + "int8/matmul_base_int8.cc", + "int8/matmul_dynamic_base_int8.cc", + "int8/matmul_dynamic_int8.cc", + "int8/matmul_dynamic_sdot_int8.cc", + "int8/matmul_int8.cc", + "int8/mul_int8.cc", + "int8/opt_op_handler.cc", + "int8/pad_int8.cc", + "int8/pooling_int8.cc", + "int8/power_int8.cc", + "int8/reduce_int8.cc", + "int8/relux_int8.cc", + "int8/reshape_int8.cc", + "int8/resize_int8.cc", + "int8/scale_int8.cc", + "int8/sigmoid_int8.cc", + "int8/slice_int8.cc", + "int8/softmax_int8.cc", + "int8/space_to_batch_int8.cc", + "int8/split_int8.cc", + "int8/squeeze_int8.cc", + "int8/sub_int8.cc", + "int8/tanh_int8.cc", + "int8/topk_int8.cc", + "int8/transpose_int8.cc", + "int8/unsqueeze_int8.cc", +] + +string_kernel_sources = [ + "string/extract_feature.cc", + "string/hashtable_lookup.cc", + "string/lsh_projection.cc", + "string/normalize.cc", + "string/predict.cc", + "string/skip_gram.cc", +] + +control_kernel_sources = [ + "control/switch.cc", + "control/switch_layer.cc", + "control/tensor_array.cc", + "control/tensorlist_fromtensor.cc", + "control/tensorlist_getitem.cc", + "control/tensorlist_reserve.cc", + "control/tensorlist_setitem.cc", + "control/tensorlist_stack.cc", +] + +all_cpu_kernel_sources = cpu_kernel_sources +all_cpu_kernel_sources += int8_kernel_sources +all_cpu_kernel_sources += string_kernel_sources +all_cpu_kernel_sources += control_kernel_sources + +if (target_cpu == "arm") { + all_cpu_kernel_sources -= arm64_cpu_kernel_sources + all_cpu_kernel_sources -= sse_avx_avx512_kernel_sources + not_needed(arm32_cpu_kernel_sources) +} + +if (target_cpu == "arm64") { + all_cpu_kernel_sources -= arm32_cpu_kernel_sources + all_cpu_kernel_sources -= sse_avx_avx512_kernel_sources + not_needed(arm64_cpu_kernel_sources) +} + +if (target_cpu == "x86_64") { + all_cpu_kernel_sources -= arm32_cpu_kernel_sources + all_cpu_kernel_sources -= arm64_cpu_kernel_sources + not_needed(sse_avx_avx512_kernel_sources) +} + +ohos_source_set("cpu_kernel_obj") { + sources = all_cpu_kernel_sources + + deps = [ + "../../../../../ccsrc/plugin/device/cpu/kernel/nnacl:nnacl_obj", + ] + + include_dirs = [ + "./", + "../../../../", + "../../../../../ccsrc/", + "../../../../../ccsrc/plugin/device/cpu/kernel/", + "../../../../../core/", + "../../../../../core/mindrt/src/", + "../../../../../core/mindrt/include/", + "../../../../../../", + "//third_party/flatbuffers/include", + "../../../../../../third_party/", + "../../../../src/", + "../../../../src/c_api", + "//base/hiviewdfx/hilog/interfaces/native/innerkits/include", + ] + + defines = [ + "ENABLE_MINDRT", + "MS_COMPILE_OHOS", + "PRIMITIVE_WRITEABLE", + "VERSION_STR=\"2.1.0\"", + ] + if (target_cpu == "arm") { + defines += [ + "ENABLE_ARM", + "ENABLE_ARM32", + "ENABLE_NEON", + ] + } else if (target_cpu == "arm64") { + defines += [ + "ENABLE_ARM", + "ENABLE_ARM64", + "ENABLE_NEON", + "ENABLE_FP16", + "USE_OPENCL_WRAPPER", + "MS_OPENCL_PROFILE=false", + "CL_TARGET_OPENCL_VERSION=200", + "CL_HPP_TARGET_OPENCL_VERSION=120", + "CL_HPP_MINIMUM_OPENCL_VERSION=120", + ] + } + + cflags_cc = [ + "-Wno-ignored-qualifiers", + "-Wunused-private-field", + "-Wno-unused-private-field", + "-Wno-inconsistent-missing-override", + "-Wno-macro-redefined", + "-Wno-constant-conversion", + ] + + part_name = "mindspore" + subsystem_name = "thirdparty" +} diff --git a/mindspore/lite/src/litert/lite_session.cc b/mindspore/lite/src/litert/lite_session.cc index f0258794..ded4d761 100644 --- a/mindspore/lite/src/litert/lite_session.cc +++ b/mindspore/lite/src/litert/lite_session.cc @@ -971,7 +971,7 @@ int LiteSession::ContextInit(const std::shared_ptr &context) { } int LiteSession::AscendInit(const std::shared_ptr &context) { -#ifndef __ANDROID__ +#if !defined(__ANDROID__) && !defined(MS_COMPILE_OHOS) if (!context->IsDeviceTypeEnabled(DT_ASCEND)) { MS_LOG(INFO) << "There is no Ascend device type."; return RET_OK; diff --git a/mindspore/lite/src/litert/scheduler.cc b/mindspore/lite/src/litert/scheduler.cc index daba51f7..11382b09 100644 --- a/mindspore/lite/src/litert/scheduler.cc +++ b/mindspore/lite/src/litert/scheduler.cc @@ -40,7 +40,9 @@ #include "src/common/context_util.h" #include "src/litert/infer_manager.h" #include "src/litert/runtime_pass.h" +#ifndef ENABLE_MULTI_LAYOUT #include "src/litert/pass/format_pass/format_pass.h" +#endif #if !defined(AUTO_PARALLEL_CLIP) || !defined(RUNTIME_PASS_CLIP) #include "src/litert/sub_graph_split.h" #include "src/litert/pass/online_fusion/online_fusion_pass_registry.h" @@ -276,11 +278,13 @@ int Scheduler::ConstructSubGraphs(std::vector *dst_kernels } int Scheduler::ProcessSubGraphTranspose(std::vector *dst_kernels) { +#ifndef ENABLE_MULTI_LAYOUT auto ret = pass::RuntimeFormatPass(dst_kernels, src_tensors_, Format::NHWC); if (ret != RET_OK) { MS_LOG(ERROR) << "Run runtime format pass failed."; return RET_ERROR; } +#endif return RET_OK; } diff --git a/mindspore/lite/test/ohos_test/BUILD.gn b/mindspore/lite/test/ohos_test/BUILD.gn new file mode 100644 index 00000000..adfe7ee5 --- /dev/null +++ b/mindspore/lite/test/ohos_test/BUILD.gn @@ -0,0 +1,40 @@ +# Copyright 2022 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ + +import("//build/test.gni") + +module_output_path = "mindspore/" + +ohos_unittest("mindspore_test") { + module_out_path = module_output_path + sources = [ + "src/context_test.cc", + "src/model_test.cc", + "src/tensor_test.cc", + ] + + include_dirs = [ "//foundation/ai/mindspore/" ] + + deps = [ + "//third_party/googletest:gmock", + "//third_party/googletest:gtest", + "//third_party/mindspore/mindspore-src/mindspore-v1.8.1/mindspore/lite:mindspore_lib", + ] + + subsystem_name = "ai" + part_name = "mindspore" + resource_config_file = + "//third_party/mindspore/mindspore-src/mindspore-v1.8.1/mindspore/lite/test/ohos_test/ohos_test.xml" +} diff --git a/mindspore/lite/test/ohos_test/ohos_test.xml b/mindspore/lite/test/ohos_test/ohos_test.xml new file mode 100644 index 00000000..d094712a --- /dev/null +++ b/mindspore/lite/test/ohos_test/ohos_test.xml @@ -0,0 +1,23 @@ + + + + + + + + + diff --git a/mindspore/lite/test/ohos_test/resource/models/mobilenetv2.ms b/mindspore/lite/test/ohos_test/resource/models/mobilenetv2.ms new file mode 100644 index 0000000000000000000000000000000000000000..cc6a83980ff8cbaf11d57143eca7598e17e2f02a GIT binary patch literal 13988384 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
E9j9sIQBSBXd+gwGHi#bl06SJS}!+eb_!_ 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%0A&HcZ3i`aYlKYUgh#Ro9ksr8Qooas`!5aC| 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%0AD}9V${LvKb=T``; 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 z z=L@7P1oliW>a8BmeJK4xE_zzK5l1bkW+^)EWRn-n zYk6=ad-WT8bKwa7dmI3(%{-xQcMr>d`kp(hB>1l~%h>c+x>!)~45ut$@TGzHrGegH zHzy44j=jgqG@fyj{kDm}zBGcb(c8)Lbw4LL{UR(lB(NwWEYR!5Hs-icf+gpl=3D%m zAfnft)T*zLg}9G9_w*U3Z#x{7T@Hfe+&0cN(TL1u1~41HQ#fQ`4x72e53}ASun1{J zuf;Fm{jEMxNURI^KTV;>0anm?;|FRk+Jm$AzraIB^+`vVp=v3F;MqGX=+%>>jB8G( zH^R*7&YWNppFGR;)Fz=#%psO>dLm9t8jSDHrNVz3AD|oW3)?i5*^;6i?C_TcNLCWj z<=)5mbg&$S?lFWdmp;SWR$K8)wP386mj)LnB(QSt1TMF(klQ3MQ_Bv>(Bf-~aBxZt^^DiT zt>-mKU+9gt#gE3N`pzudwg(?>+6Wm!&Ld*;K04yBhy#0a@lBc|#JTeP7=W?8D z>>Nl=L0h4IQV1Ot_U;isjxyInO7QBb1M5ru$9FX*u%6FrVP}E~_6QE~)u4+O$!hGY zFqf(iu%_3y4CuhgiJ&^%145f~s8Q99-*>8>t2;7}Row|??UT}mz1S$f%0Eh!E^rc?TLrh~nPE2U{g@(O!>sA+8j3;Fqk zO>5L)ZYu?@h5!Y<_U|;4-xZGmLca3GN@e;Rw2#XAM?%TUY-Xb83wKoCvsVgFFtR(6 z4bXeQ+m~G9gI*=#>?J5a)v?CV#h^rf3& zy16cio3;zjvlqOw`XQV%{vR*>sUJ_9$gl#I!V2dHqRlun&=U5~$35RM%B;VeEF8@Rh<@E4AY|d)K{RwG zr?_Aj9QtKU!Lk9+oV-ss$0{*dBLl7bt}zc~52|bV#9{`nDX0r|lESQrH{k z>`O!OI=M*;e{K^93fRmGh^qCQ`r(4>FQo1n1;8Q^WJonA~`nyYb^RHV9m4 zwY9DSM=KSjw$8!rd_Dh3Y7^Hz@Gq;EQz7+>8YuK*aYdRxZJ9Gr$iP|PQt>N1_-QEr zYsEYM!wOBdDYzNewS>aU%~5D-f1T&I#~=({ohR-Jv9=CtuVr+V=DOKlqqm5iNTWJ1NjMlGBlUuKvOuI zjBCb$v|}E7weBN7X`K$tPY&nf&l|wllJ(5hKm*RGyy1!~BiT}kIhbXA8Bg0^5m*B5 zu-x4Ry2o4*7nHd3eYZw|`nL?R(#+E==)f*AIq%Ap?l!Xl1`lv|-$8IUNT!bW(JXR- z3-|qf0`A$FOIA*6V8m;|)2la&t5kBqWF1euIN1yC`H!Jcfsb=UcO~!E|3wu3W(4_m zUBe4yhv`A^KDvBAjyE~;n}6IojbQ&0>nhh1oy#8d)!=pCSu|&V1hZ8WvyC=++^{e6@XUFA z-pF+(+m)+@D)Z(-!ogp-rtvddoWGbIpWTFp67J-9;T5jxsSy75sG7+aQ*qdaWhA>I z2dyV>VP{iLVz+1joXGfvYTIt`tvdSfF7B0R{M+Sp>gOoZ+bZmR{Cjb-%4WC`V=Fj1 zdr@g~9Nw4`4-ZVYpk?45F&q9GUkaWQ7X>vKcj+Xg%h|!N$lcVcH;dK(sKS#Yr72Y^ z4L*N5iNlU9pq$D!_TFnERq15lq2FeK-V)bp;xYP%l;Lyj>`VuXQagxV3_a$ij)_eT%o7McA zDfO_$N0{BY-2;*T6W)H^I&@BWAUqG$c(bjM6i_GP-{cM9gR(>T1q#-vm3$ti1>C`w zy(0Q%BnA3khKX~^zvG%o?*t#x|7W~)=oBdfcO|O0k3|Nsq$ZcvTudZ(UU1I;@+Oy^ z8~O00$+V|PmBvkcz||@qmD58#u%j&d zQ_x^%4|<+GqUG)AT9lm$w_ANN{i?5_M=jmwHBi{TL)4X>*c;V0W4H2 zXgC`cb7v$X$Lx- zG9Zy|5=w;~X1@CJ)G42Y8S4hI4I7W*)K}5m1j9&f=d=1+-O~BAS7tCO4v~OPENA+D zDeTO=5PVrXoZYfE#gB#Bw0LqG23%ao-&58V!aPDwYvLpjf}2n)e8+0mE8*oyO~{FJWxu5&ZGHM|fOZ$D}Adc%AnM$0hc2^T+tYhp9if`_9Uo zi+3i(y|9JqiIq^l(2(}-mZVd|CgR9^N!G;Du;gJmwudTEdvq4|`>SHo*kNE1aUTB; z3FHzpRp_VENhqIPj?34qK&4LP_@y?^QS0GSx5PlkEp;}yej7}Qt-+ZtrK~sN zIUlV)QJ5zP`+tW|xUVUVGaD?-d)GM9!bcL6Y-*2r=Kknmkc|#6YA9o$2WlTmg!Rg! zsXcK$d-h*9bUmnL9zVtqR^BlWNVG)~{4raE{9QsyISfB95_OMJAvKF+xZgVvr|6BM zH9FJD<4-j|YfmTk4wM!6*X1nk(?;={Iw!pKTj+M=RY6tDEO1gePMQNUX=UwX=GEKB z`d2jYFQp66q(Fnd8N0&N-3Q5a;&Sw!uZuPUWyEmu0Py}ai~05)WJlKtcXZi6Hm4y1 z+S1JMVOIvr`KwRf%Z2~IFfZhOoT2x18o3UqVAx$Kvrv{&;$J81^qHhL8&~to-9P zcx{uwcfHtyc0YW%-G4??TZ1nDS3{ouRO*p9vu8dpEb%`|MPS+%$|CP(nMAyZ1o#5E63(~wIBI4Uel{L|nH?oK$v60FXn-Lo)u;?#4b zeN%CA%Tbc4bK#Hac3__Jf83bG<$U4x60Uz}vN*5*626ey$EJPhWoK(j`NgLac^mT# zak|C=7WCSkdUT6e{;2WXfJ176qw*?@%S2UR%Pdx8sn+(Xp*>_QVh#o?9^ zZkL%}ly(nFW6ORor{sWITV9@na(81vla@ zm~to@+z!9wy0WF2eM<@2d!FDl``6>ZX-i2u^DTCCzGu7kmhnG@4BY2{dF1=`I(uE| z#%*+ZgZ_FYcoR}_`t~yJ#Q`}=(0+#5A=mghE=O6QxhxgFl*W0FoaR63JmR+>91HztO2lCE z3D0lQ5_}}-{XlV6;9UUo$4GShy%KlvN{4$^aQ$CWsp1HI81_k_qOCv=Ahxg;z zARn0e>nvMdFG0r+w&TJ2B$2P`MfTWq9hoJnQJUd42s6_Xp0oEL^XNk~zAFuPMQOa& zsSPCH^J(XQ=5X&k;ItiqY^a_dEIaJT=Q=(>-S8+}`&(d@7rn+Yf)hhMFqz*dw*Ws~ zXhh#x-`T6UO~i{_SoA7Sx=v9jW33JQ#;Q=mID0x@bb*_)a4Kl0`UpPNLXmCxDRHj% z3eYVO(W+rabb0l6cGg9WUSG|J;I|Cz{w@Hmk9p!Bl@hf5emKL|46k`@6}o_m6gYkyPF!LKH706omscK>-7Z6~ruK1;ua@AS2a1rJD}3LQLs0gE zgK!r0sl$)5R2|V}}O4rAALBkpekdi-y6;;ker$*y_e|vJNFU41v=2G^eaJFhy9UA$@ zu}=L)_FTLVdzYKAUyqXb^0n6V?Q9!${~MjO(3w*R6sxShJnYL;Yh;1z|xU(DrJ-oC@nUtkLfd%}4M zyScp25;YclT^lCm4F&c38PuKAB(C2w2p5cLW8Fh$lEV~3rZeolh26P+-a}w~Y*JNb z-)ve~OZR+s_~=G<8)A8HQy#C%X~P{?HNkCF&FxPS<8A|gw&{ejc)$@vX@P;c)axG? z)ESR5DIMY^*Hy{n;4r*c9Dvi>born`%+fV|8lR{Bqt?Q>07ci=(AbJT&RuOb?#*5f zg=;yG5t)XIzu814sq{zi)HB2e<1;11o8uCz< zOLvWc*Y(P*`qFLqK7Bc{NLS)B1ph0Psa z?dHBGAHbyJo7mk(AO6fn1yZsVc5G8cG+F-_H=#`67Op(O{kq^(hJq_v z@NVVZ5jwZCU$D`(%LJFvATCohkeb!*q1nl0*m!6d2A+I@ovIJmxLuJ@g#zE=`VfdM z@`coklF(|H26Nq$P+S|2Zl@-4&a;LKp6k>2WX1*@x^W;cv#}LtnKj`j_ji2of)}{Q zc{Sb;&b~^~WNM0@N-yU&VprN`n0)Lci+Upk+F57#__^<}zk=iHvyS27^lKPqV$H4d zGo`^g-#DocrLe1R8#DJWfa6oDaLxo7GTl2LuU<&zJ{uf{Jo!^ll~e`(p=zAn#VPE# z&2VOL`!SnUJs;XfDr3x}eehji<==HS2h&?7kg8BE{$RkMVBJJ~k+hjJ`8R^umueEt zYGaae%fL{0FL^Xz42=r@ipq(pEIIEMcU`88H;pn7ZG3Q>Q>}ht-o3jK?J8bCzF`QY zmqrTRl0mF{{Y<(#dm@|8U0|6@mcziAkxZ-n8Jlu*C$22M$efQlVx8c+E0#24$zI!F zhUqTxIDtVrQA&$7YcGOZO^Zpxv>Z%iI`G8XD$EkPqrQLcqEl5EzxnAdOSdPx_|F4Q zvDr0^C^z1gM(CBY(erns(g$DR+?dI$Sh;Z~>3;MmR~fb(ErjEDe&TNNMy|K`0_@Q0 z#h7iC@ZIDsUO1ftrA9}o@$Fi$U;BqWYS|0?6M?UdUI6j=EHyQr_gjCN8EczD)5Cwf z_a$KMf-hintSh*DDS_&es z6c2ArfvPr5W_(zUGWx^G_0?f+yV)mnol{OdJ$e+J@SUINnS`AYp77;VFM{x{d}Q5Y zZfQTV6_tzN+KC!|t*xLsP+CJFkK=G{@J>3jP?c`{R)a^Sp|JYC1K(27!%HMTz>3F* zF|*~E@SEKiojLlZR=i~lJ(7}RBP|3!-SHT>BOeZG#ZHj4t(d>H?i2*w*CQzO$0);c z)cWI#i}tJFfFt|Fed(W>UsxG@4mt)-Z(UH!aTIhXMML=Q735Wu4#BN5OktZXe9bw{ zw@#P@Jxv?IPhkWtWkO#r-I6~d>?ew!^|OWlW{~VR^YaEOTq}fOjfR(Nbj?L zv&q3NSmXGfuQ?F{8$JsDcqXt_^R<|#wK_EpHle1Bk#N_%3+r!~L6cDv1}0R2;;@b5UTwr@;$3ly$8vWeUi(1OhU~|Dx8g+9#eVnHWCDuLs;H{gm<>qeK6`sXS zIJ}D84oKw-Qzk-@%4Di-npn+6wJS31t7q`jqN}XymK!Aw z$-~WIx}bTgfnPnhng6447*@UYgDqi+pwSeEOJ%h&zp0JCeV`LpBo_!Mw3am~i(sYikwyCi1}l?mmJuG_B}Ke=II>pO4=)Wl@|Q#v2qw z;QLu`F#Ggf%y}*gh7MwuYas^{YSS?FcOsR!xU-7K%2Y3K-gJCEr#_&OGx3&!BqpmVH*W}sne9L%_7NKe}~qNTeei#$0644Ma0(EFcUcC|g* zuNTM0gssAgC5AY2mB3J&{2Al_X*1y)&ool+F)lm;lY}0G{US^8gs!37IZJ7BPUgW( z=&k5|cP2+$3AUJh<=+P4yl*Y44lu)U<6np$Y;j?6vF2>}F?(9Oy%0w? zq2TFS0M&yO#nKlAR{WFGIOx?43~CfUr?dufesKz$P*lfzC;h==FBU?=P*u^0%t>(W z@ipB0_B_n|=ZKLyr};@D1vaN|44gBc0v=8WF=0cBsJF=k7d~1DMwb^cjT=79o7aU7 z&7~rVa}!A?TbZ?c>Vo9=59ohJfwp|iMV(VJ;1(zky-u(2>ha@P#D>8X<8@q&b|iEQ zaUr)MQR1_YVrm`s&4mF$8~Dd}j-50aXc*Y&Dxk;gP&QNZDom3eL<{BOMPrKNInVn}*za-;^S$Ko%wR1_ zf7HTO+z$Zh-#VZ?Se~AAX7h`^Q!s7NQ~c&1j4yMigT~i3I5o>x;KMJ(MG{Ilv1uNE z_Wm#?|8pX|=^YPcXF74y&-?sCbA9Y0FWNUGfqQv-27P<@gYWac%A_v0qs;FN!S^}^ z=ckl`N8mBmIc^>nZhwz6IC&~Ns>3d;TXN0C0bt+|LldV&;IWHpWb#*%>i(F~q_5-H z)S=7BZP9FUUy_Eqs)w;ZKZjYq-FnbcyN2-3J$H6u{X}xHxPpTYykMmlWFhqX2#RQ4 zPsctM@l7GJH0|FtWa{{j$T94oNj;5d~ zsW8`g2}lO_b2n?-F?QKpd@6p&em}bo1)-sk;gAUGv5tK2->0G?s|J?&t&ZIo_zDwZ zwRzny5pc!L5=!JhiWU34(IsyZZxS+;)+Bd}$8Q+~8;Xi}t@%%RW6Lbg?wc)nc3oqY z3A)UARTgud|C~)TTaSnSt48PPL-_sU7r?LRI^pE7#xA3+oO1Oow(;qB*w;HBM%-(~ zX(|Hqt2L3*ZzBcOZp2a3)gkGX9yP!Chlww%u77TjopIFDs9Ds z%#SmTYbwxcvY2t-9R=p(X$=1B#|J(BkN;Cuj>986M25S)@tCnTWH-&CpvFR8srC~y z@#|t~6^HRn^#=Mpo8eWvVk&%p2!F_jup-Y^9RB?@i1%I+f*SkT9?@q6|6iik4=UWw z! z--ySSTOCwslk&J)rJf7ORfe(39fFslu%2%`LZZce`80Y^6Mw;CI7vAk!sYY?b;APC z?Y$ocmaPGmb1h8r`*3RiPek_%Rq4)RmY+uRe&bw~X-PV_*?3%Mkue6Zgsc@S^R=9tk;8-<~5lvh*{%yvUL1 z4>^EixDx#O`xtJU=EWS$KXMy3TfxcwlLeLNd(P_GJ+ar}#~jnE#F15J;MDd+c6P`^ z)V`gM_h;0y;r~vtg9&E9<;2pfze2CqdN6a>p2!~k`^m~2blB@FudsldAv&LQ0L)5z zSX6)_JpP(QrPf;9h|ZVno#Al!c)bRrY-KO#{C7dT^6da{?A^-8a8aUVY8?Avp@WN; zZ3qA25HjlD0TNMdwVN&_@)n{d&a31!KR$j7yJjeG(zN=xJxV`JG%oUx`!^xD`I_qfO7{q2jertt`8 zFzPZdIyr-DZ(l+K+e1NL$dOeg9z%`rRoEptmOjdkAd6scIFMsR*L@w)B~q2HtLT8! z*VXXx^c~2sdqiiu`q+ypDp=GNhI)zW@I_#Ot=9R(lG|Oy#+TY__qN@|cgYfvS>(pu zs2Ghu6C+{n`ZV;>m4?bqtLT^-&wkKHMEFUFl-&yB)kf0h1=?_+Cxrjp zUc+1hZ?nu~L-@B`aHm^Y(B|SLG`~uLRG%*4TOWk62~SJOP3t4~-`5oODmsxKytk#J z_4T}~Fz^3(z7E6gtR}Tx$G}}T8;>+x!oUHi!PV^_3%{I0x4-^_CjpWqeRUajmBitq z?9XiV>?Zzx(-J84?PCi^PUBo=q;t=6r$V!96<_kamm9)g#oG@aV}2>IiEnG!Ooef1 zHlY(6+~Q!+6IFV)SD&tS523Q6rQmh;AM5)qgT_i)X!+d$tHnkTm9~w%N{YC(#{=07 zTfrMOvjshWp5(T@i(&^x9tHl$IPj<*O!K=x2)x8}TyAc&VMsQg3EZn}-d{T4@6pR$O8`Dh|Nl;cvPBWH)2tIvuLKuEWYWCt?vT zv~tZbx;$E*qTf5f;nD;)pvwS<=7eEfb0!RbcNm>zq=;1vhfcq-B)eZnaHpQ9i3&?G z&)_^uRvn6wWrw-xU$3KRoDsB7`^UJqD=FaI22>vG&Cl7rop8!8?$GW`eq2v2r2HpG zektSl@wszJjRmscHY2Ld6?mF%Xcv~_AcK3j zG0K?6Ofi99F_*X-Au9w&!b(($@}e+_G%lu~75%2kGI={|l7Dy$=Ir)?oh^~LNLdM- zZY40et0{2yQICN&eP3D8SZ%trOAQrryHNV+ zRp>M~g3Hwr?4$ock;pj`9qzgEmKXLheCY|vQX*)}l7q@|?YRA_4%tUJk$FKA%1XvE z(WVS2(Q3ilFYlo74{KPt6ht!r_Q7)#MS*Ydi4|?SizNyvtk_hKGUhtd^*uhIbtA)4 zir+w{w>xUvD|>`JMiKe>3ZMC2Bl_~LneBL%hcZK_Wj@5vzcRJc8!wUHk9|!quY%}IIVjo%agCi_;Zhie1II?8@C8GdtdVx=g8pW zmuBQ`W=FRtjD+qp`4GBr3}2dmN%ZQW0qyTlp{(9%WEV1=ZoX+1xF5UeuzfUTtop#8 zeAb8kXGcJD(`_`F@*bPk&E%vH1(R8c0ri%v(twOYFpSE>REI!X*?Ej^1nowLx^uW$ z~~PID*vVp-OoE37W&A^+3=D-PVZf-bBqWL+W4NP1NvI~63uUbTgz!Hq)b z=yznx)|=6$;(NF}WjQnnJGR%my4rSnVa%-`Q^`}d=C-4Gycumb#Z z*h)hiKHw3fYp9*H6iokoW&^ty^XhA7v*b;~Xcr3;ZIZFZdA~mJYmD=u(XLkL?mfVs zb_ptlwP58v5_V)vpz`Qp^yp+Kx9ngr{Ro&#i>}?|H+&k$Hpcvi(LaX^JbX2hU8)L? z$ChxPhHa&0iT!ZXGz*s<6BvgB8(5Q>1{K~phc5A%WKy?`b!v2S7Ow;bM2-UZ3_iy6 z4)o*dSVijJy$XKSMl%in&#ZS}Atb&nBj*>2Bsb!mNGj$OuGyo-=Dk}$-@1P@qmMoC zmu|7(Z9y>RaRwgD=4o$X5R#THmst|e=8j1Pvz&db<6#;bcWE_$IaI=G;fg_mhddE(jVopU4tP^M zKbO|&#$%$~G;r1%j;{x_)J}hWK=dI!gauCe&SuS<$i4HmVkUeHKAIJc6`jZM_`}g; zmz#hOogK;B--Sx13eVr|Cg9>co_c0EQ~6hinw)lH7VhPZH`bm72df1jnODa0sp`Pt36?* z!)jboB~O(bh4*ORp)l>_8MZOC2wU#w!`H`gkZQ3D0uIf9%KeeJ)AKm}p1hLNd$6=N zMCe0l#jhvT{RyO(DeN(Xe2d#G!Rfs6hmhC1L=8vZ^6HC!@`ujU!+?{r@J_}G+hH-S z(3?zwIXSr8V+&bY|G|Te11Z=gg`U0N0WP=SpjYTJ-a$W{^M0PmC0*RdxLSMKt*J=U zPTWVe=kA=haAxo6hy$6#r|5mxhQ3Zirq+82W!q11Rs-}X@LmXNf~^; ztUEn0%V5>BFYryNOW|3OIeq#4fh$ZJ$(#qOaN`$eGO0*I%ARdUhyL|4gKg>fAiE4o zSQ_t{*}`wxlEV0mlMu}^;i;`Z-WwuGJ2T=~Mgp>reM;QSnHRXM)mfsv9r2hFf14Zr zWig)JGRrYE{Df{tI$dg8D!`DU`c2&sN7!(|$GPOkFz8@!5C`MI_x6or4 zO2IMHp_z74;-d2qt0M#3W*d^rwZk-2p$vAuD?>#I{x1ap2v&|RlwgVk~%7~*`7bycz2PI z*exi89D|WG`Cl6?Zt#S04JYBM>}~#m#z@+AEEEPVEW_w^gRHdvYLLQ+aUi>;4`;p0 z5$~P967qv2Xm!FR_Vvme?)J3^)=;&Xef#r|)pGG<{%i|Odp;4~%5Na2(PctbRk$Om zr@)$C8@k||NoSka!-5gobof&boG2Is2dC9S=FC^3soP{o>YWD3zLKW_8iF^rQWNUd zoaBNtqFBQkMOsqr$d(uX5iN|~gVORf6z%MQFZb`Ke<2@H>AXDlMut(#-)MNH^AeNC z#EPu9310Va(iH6IKr7VN!op8ZG|*r*JFb?CgZEeB^n*ijZF3T;ezv%1`{)x($cBUPCAy%IjU{)?BGKS$K|^)LmV^x`M5B9`D) zjK9L?!;uFebXflb-YVHa5L&^Ke9rRG3yZj4@8X#6%XAn`su($6|3<1_p_AK<~>osLZbf^HGCg zNL3!ccWMdkFffHpga0wvuX?mG-beiC+!zSYpU*P?5}c3t!`+x5i7eZLdNY-1+l^w1 z7&eOhKHs4geV;g)l4+E-QkpdK1&_@vQ@Rl5inWe{=Q!*lu8}-S4y9J~J8FbTGTelw z>K{VQO-bT_+XKk`ODcI<>+>HMS8~2p=b3d)~)!4 z-8^0c8-0D*_3LTSUmpn}MryR1N?7u;8F*xy2CMjU3qL-(4uz{nuu1bg*{Q}cI6K6U z0#xRr=)hDurTYqv5-+g*7yMC46c3NJU$ZEec$~j-Ac;obrF>&`8uj-#sz4blbydO} z+D4S|T?|J(&$G8$IY?BCTJbuizQ##>u!!R2|w@#@l4wnbvA zXjs5WCbPa$G=D@p`}K4viF*!0uvIA@v2~)ilb^5&dyCm?BR%*ZMd#s=)BnYBrGbWq zN}8fXAtUO!pA#ucO35f>R45UVO;jrFohDi$MTORL&!Nc3C?SzuBpHRTmG!&7f8n{$ z9iMaF@7HVX@V8u%U$O8E4rHy%06GPv$)1gHDa4r^60Wkn2hG%Sge+ zE+@cs*9Q9Z!IdAR7eFHWwVeoRiE8YgkBn7N*(!YgCY7GaE3&Xp z-MFkb8ut#02DseCjD%}xEbLOiy%irk`NWp3c_|)gqzNYXra)i1C(-M}Wtj_}6UZcTTJCM?tOs*w8Y**zmi0y8~gm-h`TR}70 z^+*bP_z-@o@cq@jGanyHYmnRQ|7!gO21ER;NpR=$3a}oN4uiV7ae7PF(W%0{$K_m!@hL zfTHJYi|;Bb0$+0%Bq<8Jg^&c6v41>s_OX$?cQrwYpkxJCm z=+zDbyzBK1Z~j=sq8k2Vvqr3Bfr={B;B$}74LZ(3x2Kba;RSw`!w9@AGm)-G4}~u$ z3dAl(ia2to;P)uGi~k}cXu!JxV8^yXcdk06AGrl{9OhDcW`HR3{Vo28RkYye7)xU; zC7@Tm7ZU>2;rxyUn69Ia@lK8WBJ*T%^mu7j{VJK2C`RMZ8Yh?(ZUMKKtwfzagXoF# zb!KT+$WZD&)K}$WXZKP*@jx^_Oa94b*ldLIs@1Hky#jwu+|N|Mg$eKUezXw2JxYGh zt6n^0t$xFWjFvh{ok-=^&*q{Le_RM2;EEAI}H)tQNW2d4SOY zGj=DSkLlhZ++Ar1_H(20xkNXfN>HPf{8h*~5XG;HT}w)1mxIdnb1>za7reOHz-^GO zqi+jLNO|)Uc43w^JZjFQYu!@BUaa7UZG6jAQVsZ{%z=hZKg3-fy8}#a$3SD*6tSf8 zU|8bylWnf=!h|D3nYXf(>Ibjo?k_NhwzL{mtlkF zmSO9fqquhCJ8Z8PSi;?fRIHW@3w>(gWc)UIwtX=9osOgWjl+qTQboT{x&k{Bs3mw9 zjN2xhFJ8He65cz)x4wDYPw_!^WTz67v}uOZLC8H+j>dZ9YZ&{$T%2sXhRH~^ac`XT z>7m*ju3OmNN`Kly8o-g#tqfkcg4g3js%TJw`E?m=&cMZB%{|A4 z=NfQC;0Q&H8O61|GK3U)Sy0>Fj4kT-`PDfl%=e}N_E-bWwRke?DLbH14wjcH$#;`ErPx|9@0Mtcf^l@|iYtkRyoPKclV^D;nPM+8 z*1RPY;#G&E_iS^f5_k&tDyYyT*-3aJ?ht94n`5_j7+Y{70-e=HzyfE14g4d68+zr2QzK9ufpC$YRSWy@q>Z&o&( zIWMp~8%x+y?ZuqE|5$R8=U|(uwwImIlS3EtSE8yLiH8*_Tgw6U&Hg`+H%42zh!*1 zcr{p!si2wz4tOJ@g3lYHhi6;Na7MK{s4Oz17iRsqz2!bO_)ns%HlI-T-hVj%{y5s1 z7em)N<*70+1NCp&I6%a_-Yaj+>s9Hla;9Xop1(y^o0#t zafqURx6tVnWwh$QPPc@;eA+hQy=yUy26fISd8PS8J36r`(i{fKEWstq(>cqmUUok% zjg5Ny9vbbP#HTFW*rMUvIrm%x=IFAI$_&cbr!k%Qe;-SR22jE2IPt39IJ~7=%npvz zrfL2Ispp_r;KzSpQ|?TlP`zGc(o49rU#_#gRc}!gCIt?2!(pMUB6Y`~hc>e$dh<}5 z=KEK2$`#|_R>4%bVzvPX?FfP(Whd0UT8KY&4ng8CW1h|a!gkEm1JjDb_~F+-^e~+) zC}~$yUQrP|Hfv<|t3$cq%rLgsBY?6#Pl1ER^|0xJFxPp012bp)vC#sPI8=NIK8?76 zdbx;hn}jaRDj62PUljxHj-}U*E!dST?6e*ohn`=fsK{j~wGVS4P5)c?GXE!@(^$eP zmbCEiFFs-#^`*>G_C1@VS%TzVDoX!8mDauM!qBC1P=TfJ#&Zr{e&tACS3Z5D}7)ys= zW9b3b@WiC*7@wgHO z(@bwBvP=Jpf8O@d&yH`nf4Cd|j5sgk0=k&ie-;o93h3B03qNkl5_nD;%+(^B;HMOQ z>sQCPjXzP>@faJ}mdsXH3t$JYYFg>KfDR^nVY42Y<9;V2Rv*=XALVrLmqjx^4)>?r zS;hR1#cBM9ue#J7xR!KX7Q%@;(@5fWF^h}Pg6CSnXx{I^mR1^phQo85bIyWH2Y6## zp*3l>UgZt0m|?-FPokan`b_-7hUVw}fJ!(C!^geDft9~-hQ}P#PfB3l^Hu1>m+zQ4 zvK?i&m7u4LCH!%T$87mvYMg$66KxM9&jf(A3hiv2mKixeafYpWC$Tx?JQk+;P|fLB zflFJ+z1b#d^>WT@ynFU2SiCAhr{XLw=-+O3b=XKKEjrB2dY6DtjxVMT;d?Ljmaspw z-#`tryWxQ5Yn&*|;*Z>U!TfYuaP4PpfD=L&XX|eGJ@yz)@_vVLdrpJ#ial60B}vGy z=HX@0NrD@JB>nX?D@>2XDR&I$<-JfabTXicdJ5q3bQ-zFM#1_PIZE-7f{if=aCPBx z=Cyvmz>zG0-su9;c0A&Rp*Usw`NkhsR zx5n>c*?C7v#chP(Y0-x_=Y)=DLIEtb90;j#jNbe=lq6fP2>YT@*ljzM{-#B7&l9hS zzuy|eUdP*z-1%c{TBABd1c_mf-W7Iq!x66f>j?NWE(45b=VG3y7PlIwb6*xjz`y01 zT(M#rTK`Vrk6Fxvm4m}5#bF3|{))!?K|IDyc+2GM=fHpnH+C+^mmT>ML$1Llw94e&H`k>Kv7(YoZz=DSgG}3qge4F`} zk6v;UD|JTW>2tA^lUpu6WxJV|X#0l8%^YFEpp~%k%yP&aq)RH*!C>z;n%X|Au$ckh zh5oW7{f)3Cr}%J)*gX%X3A4YsL90+?*u(!!DI(9xpD0c)&X=5D4)Pxg(V zk9)_n`+c?iOH59gWOQw22K)Q9%o9YqYW(0Xk!b3cC#94BQz`f7Z9s98U#i-DWNh-8C6r zTptRHUz}o(Zlu%E?l}}xG?RCumn5NT0jG+tax>#va7?TMCOj0fcUSH+8@3y)8imk< zsR!#A7Yx^r7ohj;gQO_zuaY$4;c{Fm{k&2uxJ(qux%M2o1(m~RLot55s!BKO!=Prz zBXIjO6kM$C@Qb!T2JH_uc-t<5n)5A4-+wPCRMdfP|7_Bd4#$NX?m*w(W{lWZ!j8Wg z2-A`cU~i!=jbYaO*a;tS-pw4?6Fr^$i(~0s{2 zgt7t98F-GL8tX$NBbTA`BzH6ox{pyhCy;%5&bw7Rayow-`OA4oP0r@DdwvYAp6N{c zZNK8I7cv&s$&#Gzus^sz_P)r^a2^yyoI=0Abasy__~i#~^D`$c6dVF!EH%dfmWyw* zZ#!qA+|@D6Wb_7%n|_hIcOerM2RGv6im|Z#?oED3ZB1WU=h5%D`I0kinskZHs44;N_ZIk~$ldZ>Iv7;ImdB zx&E?XYOmK(+rR^Y3+f~)oQQ^FLY`N&B?BuCYmxo#t+b=8NXTFpvzNYCp#OLd8JHU3 z<;}h9^UH@gerGymsfk&lG)E??5|sIL77X_I&L0r62QRj|2&cxuq&4_0M!E~!#k6*| z;MizR@6c+tVOAuK|C3H!V>VaT(!;wZKjPO}xlqHxk<|S~jeSWE!M`-1L zc%__UuIe&yW#kfe`O0^cF!7**|CFfYQxl%IT1kdhYP8~nCH4G{C3Ag6_-`O`r61ie zHQbv$yj;MxE>D69_HOWkRB6b-UaowR9u9qd7%$9w3B57?yw>UKH>3&6(c0q{CMsKbk&k3@r&SW2NiP;GLDqG;v1=n7g&}EHw@9 zO&vs!r(00D=2@U=igq6}3^PKU3HjL6(+4fB7?v!hCHa6n@Xe^dPmyFJVoEZ;qV z=v}3xYEaIVIsL~=nMmTo^VWFOW&?|24_tsP?*0iT`c@1RvN!Y{Mzh2*WuQO zRSWFFZvR567^=Y=7tg1`wI*!u+pB!?0ZCR>?#q3fGoR933~1n{;q)|p4ZE|(2F6!u zfqM!EiEfe5n-{|hpI5PEvvuh6`3zWh^aZQ=Gk~UajfBMqzf*tmE8Nt*4X&t_z@2gP z;B>m+$ZkdP?4g1`Rd*7fUon`jMt4Akwk!5Mxyl`$AqRburD?O>y$f< zDU*5j(lQ$?*AFA@2kS6f=zn}Go{aXR&I!H!VdS+h8P`p>f&r#RFnY;d&P^`_uoj48420J@3rVSK8Eh^@L`W_k70@LLspwKlzdemFz09`$lIVHd=KB^Rn+YuChAY^ zM5kHsB-)?$m6o#=m%Zrr0weZAznwLzma^B*SK+eeIm);uK}yOEZ1B`Wpi&`Z-TG$$ zzt)@z3`{7j`y~tdTnM4>7sKL9H4w8Ako+CNbJ89RH%Z|lq?4(r^eXF@;Ly@$36nEQ zg%i?8z*}}ZSnSvX#|P=qmEr?rT#<>(&b4uAk)wFGOp%a_xdA&oTiLJmVs>)7z~(x+ zhAI-Wh5e1dtJ!D;x4smzTk0izYndbUZ7~;ElAdrp%$?@kTL7c|OR3t&o>qF#p*g>k z*+ZWYTz15UX-nE;j@XatTHF z-B2%X8J5oy)~fP*FJ_R-jYF(>)qj@zPBaiX68z!g(XwC@!GUcg8+{lK*4p4UiC)%f zXOG7OpYIDdMH*oK1TAW0;HpdzKk$whj`X>~YLEHhO>KL&ZPW;=_&yNNf2_i2(N&b6 z@r}t`jKMwX8Z_8vE@f)n!w=!glqh$AR^Bv(XWfTbb&w?~7K93X@pS&;5qp|!U4_{n z73uPUZj|d!VO773%lm(E{8(@vp}jc<^s5R!ldcd#?>x<=_-{(b@+J z_vHgWrUjcfC{XWFIec&~k}LhOh&E1>q3=^up`h~?-^EQQ)5;~35S~X3LoZy?dld+gz-s0hDpSA!*f(U>SV z8oE5guy$%NZfd@Zxvs0gIw79iErzlme=TVJJA0B798}c zGM|aO%`ywnx;z=ir{sawxF`_c*~+5U%fYZ~YOp&y3Vjt`;PD0%u`#7UyMMO$uQ!ie zIL}LeccUEzPkA}oi8BjQ>A|6V$b8by54~bfopW@s-fa`TeS=F za#I+iUB(tqe8<)KO@-m{`)Ib%4Qi1!fIU5nAbYD9&g>IdYo9mM7{zTkvU(otpBp9m zI-`o++5C} z6a3c0^RR`aupkJ%9z^3{`9K=!qfO79vf&1_Fw@)lAorpOU!9pkvKmgDSr3qU_FPhW zP*MBCau2q~E5e>zww#9K8FaVb443C$7Wwu5WJ(r8sJ-J7giN@N%E#ZatZ!}jG9(GF z=(V8JpAirz)~CZU&vDbaL+CVlG+x{u!;*eH!eXU9R=hBq4yF~+{b#qJG4Ub3c%Ch` z8S|e1c=RWyvpk0_`4fj1iu6G>u7#@&)Q0Iz%jwGNAhzCQ47WTb1Z30S3+_uz8YA-@ z@2|VeRc;U*xFsF%uIUXPb9cZ&BUK=Adn)+v%vLvbE2Fm#Y*$ z7j|*QZ!78VOKEUZoIqLbGnmzUFFL9*84fLL<@(B&(f7^)wA^10p2vP*2Zh|!n;IU2 z_gug!7J3w~c?x3FdYH+)NBBrHgq$-pP@LY2+hb<34^s`{-$iNU51yn+ua3}y-Id_k z+sy3JKC*tBD0n}@j_*4Z4>l_uz~^BHC=KpmlAhA^`QuoexnzRKYr6uiP#J|A76zg? zYAzkn-%rbh=iSkVyXcl`D6h76fzUyFz>eH3<}WYbK!21UaHm!Tpho0o)S9Qvp3UvI zxTPQsu%l10Q$VHYDOmG23JgWVD7?yyMumCf1i2|7y=^Ka3_HXR zR|z0(r7(d-HiYUrb>Ul)0&3aM;GawPh+2x{S=7NI*!lheE>r_j=orQ_rY6G`-5hRe zn@|DIy~9hrn+2z;Vjv=7E%ZiOLCcB;zAfn)J6S$MaC)f2#!YkRhcK^CoIV(Gnv^Io ze;|1(?55bl3Orz=h%c`8;K2M~I^nAd5|MB4pTLKsmT%mKyYA>9cZzMj9SPYk-D1~< zb}p?a8um!Yf%bY!ShTj71&^CRzb<{?j)WWo<@CvPes3Y`A|q0KHVi#KOki6|vze>a zZPv9+mb{wRa3$wXp=QY?s2BXziJvdQYlX#Ru__K_ACD$4bsw(guLm@@pCt!@Wq&Tf zlXCDj=B{t|5fj9oI){UMNXi$`-4}VLs zf{j{U&xX7Z^6G0jc5MF%htUI{-^kw$$LINKnsYl-1M$nFW9~=?AhnD%IhTvp9b_(_sZ2|oO_LP5BkM;>2n%h=FSIcS|beRvKFK<1`c*qZ4PVxqOpcl!e zT`Ff6KSe{6_j-YyR)H3alUcy8b1ci+nU@oMcX!phP`%*5nYxzUe*JS%p66h zrfM>i9U+vn>ksl;M@TPQ;5%la;gd)H^VMw+)7vyFpOeWWN^#Mr_e;rw=jMLqm<`@ z&sVF1e}8%+oJ%mm@mI#esiaw`HoFw-W*fnC@d^r`yPmywxWKF~PoknZgJEu{G}Dhr z6G28b?}@40&OuWsJ2wKA6lF=KcQkDJ(MV;#1lsWub0~GQh0ZMDTvMq*>SyZEx#uU- zxv~o@bS^-4=WO_#KLC_=s*vpTqd0ozW4w7b8`7=+;xu74^eJc{^%uWnIEi*dJX(w|53n3p%bg^%K7NzqN2AIYKM7&nNl96Z)jt-wQDJCQa0Y$)Pxg-Z@kex z9kmn1n_;!n6rh`jS-1UjJUiQn+Z^tQ)A#2dFnm zVNna!#qw>Q+{pR}tZx-Et)_!il9xz^B zno9R&pi<09$TSP)epFR~bktzx{M?2;8n})=v-{vWKsc)}Okw{Go=9%4L1a;t&qhuZ z##on!!HodoSARJJ+w;^Rd-*xGvv~{`QE?h~50Zk2+pF-C>=Pm1>BZs)#PenX=zHI` zcDBP|I_;Po0rS=_B>y!}VE*i}&?$e51-w`Vcb`lVvOmG}Qe^}`->_I@DA~fYY(hX| zp$=G^$}o%SA)@jHl`v$;Nj_|>J6$hcz`JkGz}E{iV4iyt?`zWzoBw86j&PTy>%U*X zK5ujS{lyeu^&htO+-R^(8VmMJf*x5U(8bXm_%w^qeRLodSxS=Jt9v+Y$4rvXQejEe z#+Y?J9wL8lXOBc{*l71BX!1`D-$(raJ~wBMVRaBY&YPLvHKW1rjlg2eYEXz-hS%SA zbIq)e>v#7Qc6di2xK;$FJ_55xtByW(=CRo$-*PdYSJ{V@3S7QDlI=J)j@(AHf$GF@ zY(}9hTa-Hi4K|LYWtU3C;p*d9V&pW;say(j`RY_-?MtsmxPZI&Va{<+6#UCip_j*d z@cr%Y-1?tN;BaIHZn|_Fon^LD(_wEom%5IbA6doL%fDxrrK>SKr2}_{tithALuv7V zZD4mSn+vdWq5GlkBHPp2@Z=PS`r3^!=<0PYrwwtKUI+FkL_?9c2~`&hPBF8aDD!(4 zcn;l6E>WM@fs!IHNIHuiqduZQrDXS{B-w>iS5f(NE{;1Ua4YYfrB081FsRIy3dPs( zMRgOqnUV^>9|edzHLdv8`LYzgU=Tf`liWb_P?%l15T5Ef!fNxwpwpmEeK!+e^!*n2 zbNVT(&og4z-U^(Ic}s9;dpIjw@f>IUokCmYsL&wokL=3ZVK{u6BwVaDp~+uffJ|@( z{A{%*!(?09o!*Y!leFm@O9%IiEL`suhnfqPijEu{0gImc5HqmHzf*?6{x}&FDP4s% z!vAhfLMhXqvC8spg%6h^cMTud-o(^ra|B;vF>aZ*8tT`aMkS@KILvnt7*wxB_r^i+ z_`_Z{&CH)|Z)PMvVk9~_7_$?}_t^7ndrI1qk2=9GLFVcoaXVxREbR3xT{M=Cz3`x; zyKmw&k7(Gfp+Sj!A=j4Z0?8A7c;60R{$`I6n4MWj33f`PduS2U{4QiBs#M_9Y)Ke+ zW+0qjyqoOKNR#Qp0$8@O0ooiwn6KM)w9<_O>EQuXUi$z}3>-q^U)I6erm6VH$iV8+ z!4(Pz9-x${$W@y3Z8?4zKhlrqo;N9_#g58g^jUK-Tb zdYswRJm;G?ro);(S?G#Z2Z`m5pq;aj)(0}p#5Xz8$+e`7+N+^R{vr!}eF`$8jKM;A zH$O|V9UuMkdIDQM!vz!?wIF7-D)DYYr(~!T6nJby zPv-#WQw;~*kfo%lCu9T4^`N7yoIf$c3^Kn+h_$!8VewmqPFF@1KG|qWC+~{j84d-V zzd!let=FKttqE%c-qCQsX7~_{C4y6$)BdB-LCK!<=k%!%n)ZjoGX-+8F)i^0K4w^{L*Jod{nQ*bPrk!eCKuMxTdeB%4?Qu!Y&+NlDo zHxw}o&VvQ5k|F-c7Brde4B3}VM80()sBGehIwk?o>L}drFE#k<*Z#1@SwiplX*nn- ze&mCs#=_PK1K^R_O3bzYfv;`mkl1ZLW^9WDb=wA##BS8SkBAt*FBvS%Bopw$5(D|nKpocBTp`NCHGc;_+tEKtEOcNAE=dJ5aS zaXtMk|H#V1Pl=y5G}rnkd$aT59K{ADpz4XGv}VK*w$Xi{;8xkpmY<#nVGc%+l#&B0 zHz(qyJR1tMJ&SjbWU|gnS9sC6JGw;!}G zpTh+KRU}u<1V5g@B{I+FzlVHbmD@Tn;I=JGKj_9XG?nmzg)^R#(IZi>KGyG*hLs5# zlsW1I$lC9tkBJXRCvqbs3+MBWX~QX1m}9zLPr$lY!-ZUc6)fLsMwOw4V)YB#Q7U{I zdSo3S-6>IYYWg+sX_cS~qb$7I(~5FS5zUt=LA+lUoQyflq!T^JyWasl?(VBCv^0Y& zVLD7_zXV;nJwxc_g~H`mBgrdx3VVFGM!;c4F@2v#ym#J#oJ>n-ntMDSFLjK5yR9L= z5*ZB6*~KsIlSk}zr7oE%+}U$q_(NMH1^!($U$W)}x2j65blMe>M$&41mr z2#)@K0Kb}4;X`LA^3(sJS;&jpBRx`+~fB? zI|aWKl1b_NNw~EknUi;MqYncaOWjk7$)Avpqa5sh>p{ltxhS;fL>(H*{JynO)R?sj zr62kVdHq7cJGPqz1Q&~UO^=|MloC2q`I6y|NBox~54mDbvA}GI0FPuzIIXY>vUWxA z2NLyZ-1#t?*qKJT`c6|dGOpsoG2UtmB(E0wQWCqsySSe1Dl??u z?KPzK>y6;-wPK5REEe`i0g${T3N68a;#e^c8?#VkJ(T#;5tJ90PGnXA{)pRO)r6lp*Q+hD2tdOR~s)PTTS_u940&`tV;P6Z{Ayb(N zLq^BZ>BtTW68O%W<;x*u%`t)X8Ush3t;TBuq-fXMBh2VbCQOh{f}-JptY={#p4gE9 z*A-1gOZI)_{?kjqs8=Ti&)__|W)%hb1N=o2>=?RziDzxibLePh0$-=Plwx{n*_uJg zEaGS;f9_#4^@l~F7k>=0R{mjTt6iXb?>y+SzsG&+mnAv5t#H(4#J;^4EpqPJ*OsQ zxz-0S1P$Gbu-8cNus<8cs+|tOK7(Y@wAvGFZLl;`;5?}QmJ_-NXWCajlWF(!8=?t{ z#Vp(MI-8iJN8}w2@xnKM#Xl$V3>3URbv%4NnnWrkXM|pjF$8)Ej0i*F*)9>zo@lir zjfsN?>%HiA<25vsoX8c-KMjLsALaEschm95bJ2cQDcK~)!{mtVG-&?Y- z8g)vd2$Hp#Om{L$A#PO?e?D9vee#>|h2W7l9&L}k69;gA&x>Gc_gtucUk}xfhJnqW z5F9e{I9!Mt4|Nw*DD7AS&Vbd_@xh%8F1OIBF%69Al)=$qN$^hCd*nNrLyMLgl)PF% ziu+CI#u`bA`4b~Jk2i89!{^hm+A55HWKS>e42NBUiPNZ6nl99z!-{AF(D|M~<=r}* zq{|s$?!Sj6);~bq#r4c9_B6EzO@aNDef+!HR4~|k81@_%e%JhQ(B&P?FIX4Fz9+oH z^E-s^lg)QQuhtK@j&tDxI|6XBLjn8VG?SjzF2ehfr{L_mDd4hkE1Y&e!wo*Mg&o+U zikV%?B>UfGP=BmOiV45a$2W~_FdGDR)fu9H#ku4v4uH=>CUY``;>SnlSl^skwCGV3 zA3wgE`+GB$`d`Jc!A`n3b*(qqo%G`-EWU^;uLY;r%`&!hiv;`~vKgH55Z~utMc#wI z(k*Xgs0|#2@3n2XwMg>I3noSru;AKg&O~$br~e8yNFsJPnCAh2S;Dv^G=VcSybDeKb^I_~Ha= zQQA*Ih8EDhXeyihGZ}*J9mK6MgXz_RM$8#9gU0-v0`eh7WaasowU&3|lhwm%VQ?xe z=@~%}W`&T1uN2PsJQ|dA!r5>69Z>)DuGnrF(!K%9h-)f_)RII}&3=z>;s=xMNOy`* zlBc{slga-?lkm)U!}%?Jc;n~^+@~Ff{_2Y?w02w4rDd~mQ079ewto^eEm#aw;}41D zT~4!4^PM2&Ob#lhEW^+?f%z?U8yg=LfKzWUtXaBVaCpyS7OJY?D;Gug^^U@(lVPyD zVL3bMJOQqiYh#9S1-`wqf}M9%fUzAfSDTes-F z#0Q+{xIpmb4hP9W{erhlf`Ve=;de}uxFlYS^3E2*6S)z>Dv^V zVi-wgBVVzjxp_41P8o!;;aEAfTaa>7Jw&&4ioEELl^1zu_Vx9#()2hvUUL7uq?aWC)??S^)iiv020Ivd6;FCCV!K9<<|b>z zaQ*R*(d1Jgr20*PyPk>s<(*@xqPmK|J6*skOi+Vsr2_M1kOnyzo`C0nf8oHHV%U5_ z;Nr?_)9s?gWdF3C`O0(>=Xwq#*AHVV*D~SJeP87Peck@fO4TspLX9lWRo=AJdI`->;(ylUkx1iQ0UX9{rf ztbwp{NimJHTf{#5hJosrd)%{^h7dXb7q-j%<}P-{vfU}6>~44#I9_^+4gKS3vZo~2 zjL&D+3l~75#B^v@(4Z$i%h*?w5wxP>79o){=wi$H5;iMmAPif4o>QNr39WzKz%gO~-Q8KtYnLa&2HB6CUbzc- zNg@7f(4{mXXF6H9&p!+IiL%j78a;L$&6^YrZq;ij<(C(A?g}RVaWn9BSrX*fmBZ$( zL-CrB-}BJjO791y3SO)&|q*=tXhx_}?2?^QV#fscp#xe>@A%R(oTI+)%3Z ztrK!kckxEZ6%vnngO7y!WW2gO6j*7n^Cqom|1h2ftB4@z*-&nOzYdH&-^u;g-N7fU z35U<;wV}W|9K*dzsP)HGu72!&3R&fXtGB%usYFJ=XWgH0EF_%PDMw<3gc+O9+g?4dk_H z1@+9bgV&qtxb5AKaPz5n=&KK91NQIajt2=&Xy=!r2Tj*Wd}}aN4|JrLo7d4Ujjcj9 z#T;^<8DdU9va~rHQEyQP>n(J|BMZO7PVBUNHeZAIZ^VA7-N&TKYP7+01s07;61e9N z*gYZZZ28Sb)Yu_p*{H)BMT2#%;u^ za)D2`LYt3&=jUS?5i>4*6GxcS6X%a}@e2Y?c8RSsx1T$o# zXuk6;nxfx`O{r5MCVm5dXWbF_A@J1uPM5Obw`W0RgFPFXAIjLQN_PIAJe$Y9V6BjQ zndjAuKOO&Jf65cw>`gE-c{gnwAIn}H8&CXzSY*nH{Hd~L!84o3B4xFp*lijV-b|*! zLB(`#N+d+(2SdilVAOdxgVbs@$U4+d-~cY5JBIlX`op>J^nkE)$4-k7HptR`CuOocJiSSC-B;Tgi4sEIs#)gOi7a;qLq zE|hRlc~|+n>$OSqtR($(ol3R~w?k*TEL}8xjdB4Kx$zAbVZyY<SAI(a&;5F{tit}K%PM?OO4k#xVL*=$E6gZ9SgK7`6(bgd8H4-$j z-GL^pUJLpP?c9m{8Ps&qfUS+lVmW7vuukYqCxi-Y`j(Zj#w~<3zRkq_FrMmUPH;!= z?4!gO4S0Wa15w0O!N>O&4u4G&_Pi@e*(C^ihe)98^x06ZPyp8ssF9uhO$N`?PwIv?p1GuVV*}+}m0>nb^=$ExMY#XYUWhchEh@U0gSuxK)vj`8 zhD+bG^|4Fn=ZQLgt9S_d+Y7!r4|nj`@LZJQvj7ZG5B3Z0^D7IV(W(4s6=d)Se*KX|rY1f5^n@j#spBwLl@yFW*0%frDWv0f7P zNgG4NUjr6q7z%np!db=SF}t?-IRD1VjtgF73SY$KY}chkdb7k3eCzD#nZ!)Z|?xX;zi{BE;1@Due#S;k&8YPT={ATSwQ$7;aL1tVzQ;vU>N zJs6K{y9L$X#^To&VpB~eh#OajDc8bCsvsF&Hp{}9;u2036i*|7nnmci1l*EPj<}wzyITZrdt-(o4FVU;T2Z0P5 zA>;Nq_$fUBD}&|9u}KdURD}Od`W#wykSL^oGt2)Qi$1m*Y|Q(QsP-=bZF7y_{nK19 zxv_~IIM~M~KORPXHpk)j`&XE=-G?+2j*@)8z|z>4$##`~$M&d6e|pAD49H(w@<()IRnh?k|f%$-j?rY)2g? zZ2ZeQ7RIsrV{b86qZ$@%e3b1TP!2onIXZ3yXg*x(Ld+~rc%*p|Cr5Xo=6h}SG{csT zOf2Ci547OEKl8=yZ_f!iVU0=b&fP*NU+fEuq%P7=yIgo7cA-Bn zRjndiL!eyB3wp#1H11c^(jPh0s{9}OF*u1SxT{fw(Pb8!+J_rujNsaCIrzFPj;yD; zkZYqg%#4+#--ljM-u(zl+$ea{uPf6drCaM^sJ&UisAjvFjrqlQvs^n?jjM^v9as7se z*x0wBoZK*LHvPW>F59z-xjx;9ceX2n`J_hnuB!}Q^?en6i;7119h>urcmDu>mf1 zkD>76f)j0M3zs=!G%X$?T>oo1{G|1vFfXeVe1yzEM#()^{dEP*3{<0P?@i<&EjX)Z zkAOVgK4w~B#CmTgBG4aa&jz zy;wXKEK@8nO%%=oh5zw&BQbYAPLCc|6bbyaN@2#~%I{iwjLw$X(*VJ3hn{Cys*Vk4 zWT&yIrxLlL+GnB8`8RX3+YgctjbNyAIu2ctk0XCw!L*BWz`5ZiXR6)FOt-Az^M#D# zL6bn1yrd5FMr5K>WE(o03Eovdb3F3Nk3PPeN&Ddo_L_4vR;QS~+c%Zg?wd#}n!j*H zx)bm~&2g%(D8+`!(VX~aJqwUBqbye!@;E8vg73@HyP2^d^CllX-UZU?uWvco*k^2+ z>oicecBXa42B=h4G>pv;RlYdHCh{esNq{QjwI9Xow`yr0(mKWE9CLEtF&x ziG+wWr8Km6qS8PTQqO&kRb(Zzz9EE+LK0;}zx($G=tb`5xv%S-&*%Lvg882^FxaY# zrQ{ZHM|3AaME^MmF3MxqY!|>pnP8f0I-S{ViRb_2xsdhmOYH4JRmfYJfG#)xT;wOr zCEs7&_+a`4w(yIZ*=Xw<*k%+8a|A9%x$Z1BA9sP+C7D0B#-^*e9EcGUswoL!C2OruD3Y#PwKK*HI(9{rPlnu)KXDOrV4rai-XJ-E9foz z%m0}WN^9>~kVWMiR&Eam9{_6~`v@4Z)D+`>p5q6*yu$77aC38>Kn$v=SER?;~kGsRZ z;PW#Lm?6v~dl&L7?erv8tSk*~)0RW$e~EPJ;y>mPIGOaFJXw{>IsBSp3v1dHVdFRp z8gf3GIU5<^?MWHfaQ6k%h!p1U;{?Co{2Q$1|D2cpr8sXyCpTf%L>e_@8jDPS!Pu!X zZdKA6*l1x3FMhniJ8K$QlGQSHx%Z_=JMjYNVbg=lvtF3l%BIjVh3U{b>rYM2SOr!S zvlD#|Ohcy~r$mvx{s<{Euuu0ePM4Yo5lg0$eDrS|d_m|Jos=Po92NLDWCWF-xxq%{ z1AT2*WgQu%tXR$oFZ74dqLqD2epw8gZ<|W((IPhU+&b_KyuuHixro~%5zS`Iv7oq5 zqsVBEDkpWarRIsxOxAckhJEXoffw1=SpK0WH8-wrqWSI>OmFuX*i+y^@!Mq~f5mJ5 zmg+&yWMm8!TAfD?@rBf|bUNK`dVs>gf*&TdhPTi0p|gv+*`6eSCLk1P^WG{bE3@QE ze;pLLy_rB=?&>UlN)j%0EoOncT=~Yl8Z7q7#ZF0G+~R#6&8p6_3D>3I-PmlNf=3jqIV*ZJ-)RXH>$+hnA z#(N&D5;`FYjBvVY1QJ|Je1yWlc^`;H3T8ktO4eRfn+ z??D=SMlx34jbhi-(C60x=B)ODJw|@au>I_?S0}?E@QXW%#0=r!M=Q`tKz@b(97>gML*;L-=Ce0zF`vCD z5ba?DI#~hKdt)oC^tFNLXgdlDYDejiE+)h@guZh!r7l?j{75(RxpT%r;?+tPyoMJg z^&P{O=I1ENnM%*=r6~7LF7wPU#>x@70u%TV?2UF{sRBJRBV-Khf8d2Pgn6y@&2Dbb z^g~R>W*VDuZ7^GRS_R9~#!=GZ&1{xdE0#P$oR$_!RgYHVnB^Ckx9xUN?Mi2nEx$OY zE6%X#%PPFQB!H{-k)qdcFXOG%ad3R)mYR?i%jw`bbJ&%B3nqCeV65Rr8gLKCG4Ays zc1{Z=DkP~^-)Z0taL_;~zeB}d1XnJ~|TvD#$ zsU|bgo%_u#crFI_!mhxA4XOQh6f`J@)1e_z>`rJNUYU3tm*s_0!j*hhvsoIr`qL=a z_!{PK6=&;@9A`2|d6?oh8L~Idq@y`fwA;%_*a67UmL0p<(@i-PEN%-EH2ipjiWK_r z`W+4^)}rmjoBY~wk5TTuFdKiEz_hM);mC9a9Gch2dWv=E{<~3Z@;)`%qTb1jPhMcL z*XGiTQyJ7#I-g38e-usK^@G#QTg+ZQA3_OHyN6dWll{s-Q$&n*Mz(#Nf1O zlDcb7dbcifdpCXII@oH~EV+p{bdY8L6w=|mNT)`{D3>e^)418=uJV<#SDB>kUFNqd z6RzH1&@=8b=4ghHURMM6rr;d&*7$?Fx9PAAYLhw1DGoUB8)^G`6X0Y7gJNnSZW8id z%D1ARX?i@qNH|U#)$=$P)AewF*eDpgBnYeas|bvZ&G`4HF0I^%qNWMC%+%x!oHm$1 zi4&~2^3Xcedu30}898KXa1WFohheYd=~?xm3rY262HncOi2R=lcptYL&Q4Mz2j{^S zciRtuqKm)})}72hc+F$W8iCucSjC)mPSe~!s-i#5@0fgY65ch;gE^^+p!(EI@I$_$ z!`5*$)cP=8pE?v=(_XVM!+hqTby}1@7BE~)neO=pkzD!-{QTwefNbSGhD3zcAwx46UkH-^* zGv_mW+%=Rf%}AizG2^*E#>9olI?~>IYnh^NG<80;;WD~4xo5wd*aY*j%s(Lu_d7QN z^vt3sJq!*FJq-?TTC24MzZR!B2W(ufqm1CFzTN4~s_l=0)T1SA%Y^UTORa76Q4~o# zO$ke6lsF%Kb*6QCKD@eDhiV@cApEKvOuRY_?!GHFPs>kb`*nYCIqMYQOt3fJct09v z=YBEQvzS23-dI&7E>tU6@l%Y6mB=~&Qr1W7c$+a?{|DrC=N9Y_w%bufTCVK;2 zttQgm$ElD!ppDKAlVHgGe3siB12SKHxX+#HSk)aXIAttgXj?rFb1BE**GFkiM;yM? zf5>|+0X#YJD7Ko+0hRfs%upf>Dw>wl&)J8tWpX)ZEzIfI?+y6(?@eB#AqL-MMqs>| zFuNHj6gpJrdxjV~QY%D6__wOpgGZl-4Gt3+^t=6D1TTP&$D1yd~(x$EMCOB=A98I`9nIF4% z30W~Hfn5wkp_Xl{lX)5zyCEP*m zP6_O+889YkI*be2iZd1rqp;gQuy>&&4g5C)9=56CdubiI7B&jMi*m6#V=Mf(#1;Oo zZlmswRpeuJ6$d?g%4%l|u6gINpc)y?4gDqu_L750>%%VEKJp$nr)wq6{=S~XZwc<< z04bUr_!1Xw>}GZS`^<0j3VYx6DdxJK4sdDw3-<0^4xK#okChI6!ls5Frf&^>C?l|* z6D1P)fPXx66^??OahmwySRSf9OJmlP@6tlEY-w>mpa<|OaSQK-`X4~n}(kAW%^QFZa(RA^2I>v_HW_c$^Q;5_b z&a#bXUydZwo~4i3I(2!P2%4e+Y57GLkW%sEIcVf|&MQ2JXN z*T+WIxDPDn=8IqE_b%1~ts`!hN_yzJBxCg&VV zvow3z&a#8p8haZ}&lj*?ubtq`M_o`|E+S`FPe`(yMGFTOfMtULUO%u5whxk}l^MyR ziGd3#zrhmq)*a?U=B~!f2Md_-B!R1~o6ZltCrN8%PVgJ(?=m@k$X6Oix3*Y%#Lg@|?@h>Sv`JF5#|BZzhwMM2`d(dCKMh)Hm=0d4ol$d0G$t zB*@d^Q9rQLG8t95GLSr1#yyz#i`CzX~ad6jB4_z`5aq`Qigvl=7;EHx849ft^?RRY_+NgmYx?!Q)I?Y8L%0 zKgr!~1zvZq1T`u2!9dVxn!9K(Wll?gm0JaGr2itWTze>SJ`LurpN5mt(tq5zr%_-X zl!iaJa5_0`KZSjsB6?SG1P4~ng6=uVXcdyj@|4O^E-jKtb;Yxf^PXUBiY|TI(uFr& zPU7g=46`K~hN7vV$A!F*n&`%~r4+SEgA^hHL|;3ua|+IP*nwsps*-#p^lId3(E2j= z`g0*W=QS7{^ctTiNH9_~p~(>&vHoEQ`#y9Be9Ab7tN7&*ZE*=-&zVIA_XGyFjU-uL zh=W0E^y#{a9{rj39;=(O**0-I7Elt5U*i^|1T3L8$y8?Q8iht@CNsaqUi{kU&oMbj zhQ>A*;o%lr=K0?wa*YricXN|4F02&71^(xiDf+A{w1ljF3yim{!-6+Ug*GTi!OP!+ zX>^b?91ZveZL(u%)!aq2{k=5vEOf=}`9U-z@C-j#=#j2%a5iVU1_b zgW-cIbS`uv#C<-6XZ-6pN%*nsJ+FU08zPS` z!OhDo*|aT96e3?iGLNb`cP ztKp_v7d{(jLMIAJXx3#VSTs5l3jN*icF#+yzdj6gTqNnr!eOk}eF}IvpM<`gPuv2P zYB<@w77VSAv7JB5@O5kgu$_yLWi>N*V;j=6OojcY`|na9St+Hsz(?=JIm-g;=XP zN!Wh`ad|^F!Ia$sAH;Vn^g4O4eHX2%<^3maUa}Z0u=&Mal@6w4#SdupZ!ULxk_XHh zr$~o9ZZo5uQ=!QA5+2HW!P0HkQk;DqxKB5w=6klN(lDFmt-ppwenoW2(u`s%ROwH; zCO1vUU!dP^_UOA5mp1t)*S$v$T6R9>K|&5ES?qy556^IB(-N?zv7K$UIt7p3XhRDx z%xEe`vVZxSbj@!$%4Wray5v*bx~~Ms*-4S&m3RDwhnHBhB{4q>GidZaOmpTuM|=Mf zu&-t)v$c0kX_vP z5!cy0MTJLR=%4Km(~8GH(yQ(CZOUk{vp-75c4|{Xlo2a_*u^>R5@v;~A21I!T{z@6 zk?m@2;rDmw!s*Xl=;h;w+8xGpb>b47?rMTn_3_y9sD~Z=Tm`zhqv*TTGqRD56kV=6 zz#gqh!S%Ij=%)Dr|Co*;rF}XZ_pcm{ryu-f!|J~9B{mbmBkm3BFO*|u z!k#Ss-EMsAZ;D%%O(*lFG||tEpRr(*n7|uL5gAtt-LjkJV6@v7Yqo^3TVAjEB84+_ zZTd)7t562ZTqi=`@}I0UAf9>_|6>~u9D}wQu{c{8-yRJ(Oiyn=$K@yEpe4|ZrF&$9 z!Q@|NWuJtc)2;^I=SCzRxiH9Lma;6lRe0j*26-VHz8&*~KG5nFA9!b#0tgx=MsLP8 z;+6U1VPE(NZqC&nmUZDCuO2g&1s7i8$_z5tmh(mCX}#O=S^NqzE@(x#Ck-W|#7Q~P zlj&V`WSs6O+E5_)VEr`--b(|DJ!V_4E~fZNL41q6AoiM{nZFYq zia+C-z8iR7^%$yDT!a?~>)~v59EBMB!|EnoCL?q+CM}5K3yfFu5-@7k1QTjzOFv!4 zo3AZ!aOOrzysSyrM|{FjPEsh>8jAk<2PyApDK|UQ6%0vIl2)-z z5;3^6W<0IGT1Me3FR^9EE%EkC8FG8`f;OyQ0!^-~D7Y?#R*#*7>Tai*){0s@>Q&A8 zsjtUe>)mW#Ln(IMsx!OWBF9(ftI*qk5NdtBkOEr0$YtOlzwfm+IVrT!CC_rS>?@_^ zL5rFG!uMgTt9DU5zfL z+9*qU@#q3;s*Dvn1F|rk^P#U*U$LP|hqW2_u>tQoI+|^dbG?$7V}u-?oU(!fyic-x zcMI}&UqH((k%@ko!@QEEsF|OP=5jpAyJzCB0}-TUsmmG~su=HfgInOMj$;=(P~ER< zc%wdB*a6rH9=J5_dyO(|i8@HC!GoyBZZ z7qYAje_fbh(J=H2A391**x$Kxv|~1ZxR%3bwz;%+$rzl}o56~@n?*s2R_h z=j}!|`-dWhJ58oxMMYq0x|U!5=P7G$-ABVu45Qg627&kAcV^PV>(TJnXO=u+8BD3X ziwieNfTcnrR5%*)hMWGFFE7XfJ>7|5((X%LipTJ2@kA=re8p6B^l9o+z7}_@n zz{1zY)bK=!I*T)z<%e(h(%YGQE-fLSdFPmv%L9H9z7X zUe_f7XYR~nCuNTV<2JywI^n&cnghbuFzm><3T>N};DaOwW4`R6lLFhHzi=K31h(e$ zxm7H?yBHIdKf&Dn`rMHJhSKdZ0x!HMm^E#jDCG2F_(G)(q%|c2X1#F4Tk)5%@l=Jm z(Kk=#(3%74ZmZdqdtdRghc#|p`xWJGtiY;GIxsX(n=I~!z=Mf)5OQTDd8ez;CcziC z!=VObg&Fmb;bl;M=_6$9_-&Td6^Q0@J@M52Hi}qjNh<6AVT)@E_e%31b&@xXy|Rj3 zs=E!gHh~l)k%g1J`tYoJFKY}*= z?Lrvaar7cdNxfn&du*`!_X$=$N^mMg_4A3*3)ovYYIbUb3u-Oc3a6x3k=xiIKrKgM zp2H}z{ZS0*Cw4F`@h(#9>(Jj-~#LfCUy3w^?1FdJBhJ(3Z0uqXz7KGfj9 z$p)ec1Hgh7grJs52t{{S;LRmda3%K++}xh=Q_h@2d!r*D@p>%pHv18)6uP8qAIs9a z>`YwU*~LuUvcP(^FGbxNNBvf@BoU#*=e*EovmaOBq_!%sj8TM%yEcgAw}h~;hIwpR zYdV|vCx<-SjbW79Nb=Ke#&gP2fDPf;xeJ+SvY&1ag4d`C}B||q2Dz7 z3iNiiVu830d(b+Z8yBiify$m}5VjKc8KmJ{)$#Ph!33N2I4I=L33OqyKGlr7G!Ba#Q}Z%^joSFuXGW^`ttw^O@xR!O zA9d{b%n~RL=|;IXH+c1Z?{JEtJ-u%%N3nl<1a^@xU$JKgzta3P`bBfS}g%jHyDslXFcAYAkDqu%vtLD&uqfs0_OEK4;Qa`&C3e;l0KtP-2T2OoRWPX zyWOjCV9*-oJJ$=Rca-DU=H;+K!V8mRj!<~qTlP}pCRjiMNH#}Mi_|h2*lGm!y{h0R zEZ`*arjYzbGmfk8=N@WL#pS7*u=8FZRl3b*fnNg1Cd`F;U%4}>tUs`!Od3Xa8k7Hx zQarJCFnbr407{2`a)u|mSzGi7dZK0pveM7#&WJK*E#zsQa-%GwqI_BAF)Mnuaym_} zF5yD{Q>GQxZ?MlQ9zLE_plZ9p)CNb`l>^%__~C90T&_xa1^alt0Sox~;5ybg?qJEk zGqL~YJCs*470wg7Ac#G|{~3dzy|p+zGaLgJY0)##fd?4TFvK5{BD_fsDWlEVM@ zcb!?dCU_Nf)jStnvWmmhio5)vHEHnWa}VTRlz<@lOQIQj23W%f8QRMkk;fu&$lvf; z)TLm8p5GlYRLF2Awfk|)KT5+7-#%iuvq7%u=i;oov;dU)~*-q%fG zQubqEiq}$d{q76bcb(#Ed@Et&*;8Ej+0C?P!YTIrXe{q2rbkLz65JEz!H_jF3HG`# zq>`1w&uJRXtai^Qv9tatuMy3p{@x}Ni95XUohUq?P{)F=y24kn@$|dDmH8H`(D*0Y z>F@_#7L;3nW0adP_@_J*zPTvOH-tJm%qe?)zUWigLKtJ6h+P>WykY+kZroZW7@rtJ zuTJXIkr}`z-Xqv7F7WKMC86!y1lF;w2c7NSVf^SU?mSzF!))qUNYHFBDfx+2)e+>} zAwk=P_WW)2JWSJfX1%9OAV4L|Ja_Cfy#B|Z-3vPiqq-E)``LOSBejP9ezm7j&gF1* zY!3R>t76Nqp&;9;NhM3Q=;x1(c<-Dny8p^&mM8_+dMY`y57sbLgU3wY)6_D;hr2(2 zJ^XAf<`RT^<-+Pl)*g|_#;(rADJL`qPN@Xdy&lEJhb6(lqBd+DGZJLn-ZHmW63lh{ z1iF5M1AFO-w5((@J@pY|f9>94gw+>*l>rH7@~!OYsn_OyvjcIAS`EF^-@^UdrB5j{ z=R(DkS8VLbHQ-=9mfC3%4)cg((nIpmTX`@0KJ_?Q%m{(XR~NAEp0N8_9Ym7t^1S-s z?KI^!M=2_+NDlTxkiZW^br)vuUyY_`H$bJlz`{LUfZN6-v4{yN>|N=0vLB>O`p$No z_CCbb3w|*+aWHqjUjoiA5!_D)aw#%di?4=+~vv z>SS1&7QmKj*wf*~dYGLz3>tjauxs&#B%yc;CaG;>nfpqGxqKMkG*6Blv;KhZ8?#X3 zaWORv_lL%mP}2}WUzeMQ!y`R_68AD4-)-t<) z%HX(o4^FKSa-DaIm}b%v*!fcfM}8HYY2U_>)>S2#Q!em{_C=Aw;wP*?*e}Pv`vFTg zzrnafml~Pz|KTo$eDe;=1Zd@b__jtjingpo*@N=b+GZ>4Ev_=z27&JqCvZ@Ig~O4r z{&3-M8c9ez0;`}6T;x{+tWyl*q3t2c{@0Jog|J;+wK%P>y${vKuXv-S!tVFTLXh0! zPlxq3&=2D#c5<}fo05qI$Cf6xA;6qzbWEp#P4?9NyBa3mN{9Eh(J>}~3Wh%5sd;=7QE+xbD&xOp&;FaOHy2uN+;#tF|9KrDfYH4 z+o0|&av0$Z&cAHfjHS-7S}KM~-I6^LMp(S27QNgQX%z*2jI-QKg&hbBljt%Fq2Nv0s0sND~&h;5!dwm$)%g$g158jA= zzA>V~t2yC0^Mww}ax^pwrGpErD9$+qzX^GCbKM0{-0KcyS(=plZ$C@E9*N&qdP1*Y zlsTg#bt!Aa8koyYbCtrqRc?M1g}#1`NALD?!PyT$M_>zVI%`K4EQS2-mzmtmAKH9i z`3SNJ>0?r7Zctd(P^c+BkI#gE^W$U5T<*Mw{9L;){L9?ya9zv@E}sy7=AR=Z7x<5R z?DvpyR>$DQ#l)GRovr^PkU1I znOpqLOL{Q9`!I>EJ496iN9Ml~`TQG$a$LUX3f^6{i?we%1)AlbSf#QTc=ktvgkc+N z>yAfP`9SP&y2i;CEQSl!g3qC?f_|sGgu$P;P@qj49&`}L!+SHKduIhWn$-!6WcF*!N$XkX<@Jlccn1gYh{q-1r&nr*EUJmo;cY zQ>J-?SvVNRR4z(OlHNgGe>@ z3Cq&AAZ~)d8PGQ7-~V=o@$Qr8=k{Ro?&D#iTrzuFc@fIOt!cyX1QvU_fVR%f1@%A2 z*)lb?-F+V_JgVTy$kx5m4b|H8r|wR%sO1B(J(bLcEk%y>1P)ICC> zFF}LmW(!R1L`j&jW{3IRpT3ZNXd0WgWC#qlbfHzn(HLTN9H(`jfvKPz zEv3xQittb7D~88NFgMPgmKQ0~dle@Uoq&lblUuN?!L*3;?J-WvFO!+_h{ z?@AHg(zGr93O1IPQT(7v(mQWMpMK_3ZB8gnx?e<6PD3dw{w4n#*Fl&t=ak%k0UQ4u zfcE_xVVz1nmp(iiqH?!@dVVFF_x3nG-8&ETtQ&DgW;5S%KtzA1g;CiAj-Afm&PKb; zgpSZDG|jXDuL~W)hldh?!fMI<||MHld!AJDPnuBM$^QpCm40alY-wYn6=?O-mV*9u1ziwUN@YIPF$i7>BH&J zx(V>yWj}XsMh51*d=4wq{)zZpU)VXpfpZKK?h(g&S;~ZPYB|7|^Ztbb2YMwNS^XNH zTPm|`yLD{qKi~s>9>VQP3##^&pp42WEStQWJ7RN3=+cIeUH=jC%rS=#cf=uZa|0${ zNXMt6ir8-xBhZ@S&(<`q0E3Qsl%*fW@`tX5cH!@&COF$3D)q5m?F>-TKU|Y1(xSsE zb!_;n7o4%rCsv?rEAnzGrrTBVAkw{w(i7`g^s-V>t$Y?Ne{&DroW=PA>8UuPC7!$3 zG+7{7M6vu76>=(GPZfGoam$P0aOmG&7#$xEH-^Z;O>AUqH{D`OPQ+kBiy~>Bn+a3* z&17Sz{~}+JkpK{z0beJk!M6O}c*A9wC}NA?_uJ=1Rh=2k!$X7W1A;N|g%mBEYstd) z^{~56w#-2%h3%9R_MRhe!k1JHkRMh8^)5dIZ$Tz^HQicx=f|?^3m1Ta+Xi@9EVvsA z1y1F^I9PdCgABL!v2_+|;M;x??p#g4$iEL*eBX2nN3n3Q*q21hwVfa}_&Rmm65dhs zePG>%V;I&I!wTfCGxATyI~@-2YjGOnkJe-IetX%>>tm>Dha^r7{ezlGPE6OYmZ}v) zDfz7&SbjF-O4%_yvh5ndrABUB%x65+H5qT1>VV$K`(R`-hfaS;rKj<4Q6YLTd@(B^ z$IIsA-2IQO6MheWu-%$qu-YnE2HQdz|S zQ(IeuZ@vsdQCJFmDzRZUaSlx5QzM&Kv7N%|ZNR+R4X!u=48D7rG;bC|^2AH5Z2T!M zB2tG^R-I=7jV|PE@Rm()v!Q!JMsYy47@zSw&?aLE75|We0~bfqK4~ZTRJ{=nxIe{N z>IQU6{~9LzJ_+ACZRz=+Na&{v*m-sVDGJ$(*6w!Jn>v)j4|Y>9;#uv{oM%T0<{E=rzWp!?ADf{ zq&>KYq_qFinrYq;GvzFVR2`>78%@F4C0?Yi*n{^fVqo#g2)g>Y3B4W%;HziWkRNYB z;-g~d&w5Q#t*yX<@vqs|A%kFVoIZ1SbOM_Xgu(*P)1rUb$1qBHKh$XW!SjPESm;|R zFm9Y^O~(wZ&I}hgiFuHn{*`UMXa-svo@4v+v+&DMk}|hNk;Ttcn52G}8~M!%Vr*P! z(H1cZlyKq3ZB7EKK)u`Aj(ER-F;*lX(<{~*~-`MSpY9u zk%e@9!4V&Yz3mnoxN>bcX5SlRvEOq&wN=YOaAz{V0SFH(&L#UX`HrjrZ@S+E?o&VzjNvZ zIzHJCFaHLT)$VG6`*Z|bHLA(J^cXArtqh9OH<2j3hqJhRn*Vs~G=`j;4BrKw#eWq| z80S0$4LsHH^2oz%hWSGC;@&xYQb8hra6k-netM8}ejAx?>){tQRfseM({~u_bGT zR?*9k&2avY!X<~yZ9>LAlB$j*Fypaj>5-1$9BmDUvNZyG>0}sv%GKbrKW?W@V|($@ zeqDN3$sjs&I?c~`f?~Tylap#6xrz7TLgy-`b2X0FoDnU0F62xcmMPKjc3F!vDhud9 z&@nzRSlA_ZJcQw&7gF3)8}ti3$Byc5hm!Oe)L1C&20u(-5o21|jPju{@OvpXrcI-` z*dAW}#ZY#_-H+A{xKd@`4A2`EOJ_t8oU8F~zKMUqxFl=#-`7p_@NX!b9+nH?bK+=E z*-O#D=Wsfrwj7u0l(T)qC)1}XFWJU!TPmtw4L9PxvBEjIOtUkESrtsBxni67Uy0&u z#Qa*Wv+^P>El;8PPvYGD3=!Ijr&FVG96!CKhc6OsfZ*Fxc$u=n7JBnOV~ubm6o360GnF5PPrc5; z#m|joFR_{oEZ%cJMxG)uoqlfDMMv1ur9i1Gjzi!j9qfB31CL9cA$@ftu6uNXHr-sp z;Cd0=8Q+AzFPhQEwh+NN*N8hb_27`;gsszhi<@3frX`{bw!w5JY>P~Ug3bguYI%yx zjgw&xcMdv^$yta@^T8M=^82dnC{ldNr2`3rSmgOOPD9!k^gRyJw(*e=$WDpY3He^1 zXZfTN@tiA_jKpljagf5-u?C(Dx5|3c15RF$Vh#_X}A~fsdWFlXXgY zm`jKbfl~8G?9UQhY@0UHHZF|pA9tX6VGd^N4TFf`r{IgdJDq&;7o_eBjFu&q@ZYWV zbU3S>&swVRad5IDZ^yMR$YmzlfL}}*(;3x|%4aJ1qWw~^ zU4AHgp&1H$Hs|8d_AKFh_%oMXQxEe@R>6@NCE7V76?`Y2$CAayLZ&Hg)^DpPpu1Yg zmTwsZjzhMH^7I7OrfVm~-Yei1Y;=Y_Y#6M3qXh~h5+Q7=FQ@roKGhu`Oy>W8S$jpY z2`5d!*MB7$ZWA2qwZHjWr7?6>vlp+K9fl|;H@Q3^SRm8@a#)7%EkYx|Q2c7>E1pl)#%6<}fTjnz{I5`AXZLg=&LM05U zu!VCYP2p?yR*Y{w%Jxn@%g-^%g~SqpeUU0gZgK{+D>fM_FNuTfj5z+w;VOD-rvnAG z{k*SYJ8S>t4K{i*7^4@?%o-%9&&*e}uTz%!zeGrstHo8}v+2^g!)#ZU6KelG#%ldW zk)OIM?)c5&g4}o5*nR{gjRL5%Pz%C_s?(avP*R+$$hh;hI72y=HVj=vmN(77z;Fk> zSw5eJ{jh}?;Vk0^VeDyqB7byg0)F^D)N@-0Xg!O|3Y7aZI9TtuIj~LIYK5 z3}8-=B&aAWKgv(Oa zd{kmJt@_SW;usf@Sz`wqhRCCKempzs{sPx*`-iG4A~C`CAm*h0LvM*m_$gfpgB7LV zO}QwgI{?sxEDT%G9Um?VDo!N-_ibD49=dWy!A!f45!L{N9hrSYq_(1ZLGxcf@P zX_l(vXWrR@bkwl z0FCx)e%%UbR(3Ou>{TmpSau!lPyNBKQB0cWCQa%=dEH%*e!^ zjz(C*g2E5n(Z`c%ue}z{_A$>eSz0LR=b+ z`5Okor_K09r>E2S!AIGkQBiDqvmXss+J|m4vqYbsC$Zg?=W$HNcrc1Bg%x9q$n0hX z6u$AJLlq_vX&yo&mrB8WkByk{shs_clxNT9O`yq2A!M+155z~DrqQj( z6Wznf=dc=Y(J~V1qeQ5@NSTkk8^L<+cnc1MwU8hmPqCm+-s2>g)I4PL za=DQ%{pc;8fj2xt`4JuUeAt$4T=LgqTu=}K!{;wzMFG}qYKbTDo4&CfDb-NvdWEGe zC6Kn7MpcIlX=qqEm@M|Et|lRqJWPdtxba}K{0e%yuY@ESMi2 z55|VQ+=|RhJlQD+?q`DWiBl&k#HO(sL1y%4LpHarb2NB9_2I&j0%^LwI$7xtr|ZMY z*xJA4sO4uuKQ@oWkm5gVGj{-bC01|}ad$Xby#g3GG!mm_C&P)QTJUn8G(JBz3py=Q zA$;Hr(;u;4aO)lgrE@}uRbWCN@6_e<25n}&Bjwn`*f21CTtx{%tHASx@cn;TOkhlB z(uJs4DxO@6b98*zCAktd;$tY&-QCLNJJyH}gvGP2-{s^!F&DPnDrL3p!)Sc-c(^jG z7f0m>33mt;rrKo>W!?|X770b2Jqg0ux!({JTei^%Veiwm!5^=D@#os^q*9OHe@sO@ znV0T+&+h&(C*f&C`#)FN+_k#2KH?KLHm^b(zv*Z(rUSiHwbv`GG5ErQIt9EWOB98gb91AngXs~HRrRl&rM)TSblecS=qW(|{ z_@zN_A|haSS0O)c-4Y(lJDKINbRHK4)3Q%(?8VGnw#=myOllXa-`zxL7};x?D3lyDCSX2Mgr$`ah(ra7+=X=G)|=7t8P^wBTu~-&I z#)H~$soPY;5l}Z%SNJ%ABM2Si$jT%Hc zd#wm*qzoZb=8_>}`V+nT{m{qyopah}@8?<1eP36O=}l&Gei>+%>){(QaTppR2CrXk zfGr&#@cW3B*fPL#^M6Q#*~L&Y3v#D>qKlSA@gkV3u0e0qC$fQRfx}mA2>uSnz*nl# zd!fg3a>!;h_;She#Fq)scRU>0o5kU{Fn>CjzXQLRhq2e+`z*S9`dH_TO}H+EBQd>p z_-S~Aa|(Hn;Rc7<^VvUGQJn$gSfmNwz}H-=%tlBIJdf*i@ACg0Z32^E8>W$+i(3VM zyHVz4Ot3fwZfC6VZvSgGTJjaEKX{1qOB@Ho*4N+bpp9nT0B6h4=93BE(db zVe#NN+$5a?BXlld+P_@#pgSNftcML=&j7#cN??9{FQoVXWdoB2VZO^&%BuXq!d8A} z#dkef+Yv@u-oQ0W8p`07Vu>OnLE6{JEwcdNd@-_mC`T;$BR*rXakCMCQV?N~VTdP@<{)oC<;@HI96|~Vd4$7`=revi9Y-p<+eD2DEaeYpd z8MgsTE0ak_VBNX6=Ch|~87nwt#t!c>qdhBz;>@q%%%J`+cVb*MlwG$VX~P1x)+H6D z_uOJK+hw6;{{iY!?&A-6uA=d3sd#;o4SSlLhKr}>LsgrQ37q)_=k8C#&r6Nz-}p|E z>%wJ4-Ii?%yjl^e2{Vl#ozdo%Zvr=U$z-=TkFZ%Mv`oeF0yxl zJ*@2aem*PyI667K!i|^IVcH*OFsnF5*_i@&zT-Y`y2gMjA9KVicma>=V;^wOUptUe zvkiS}R)8Hh&B3r}Ke)UZ3}Y;Qp-~YS3r3zZaotS0(z?_z^8@Lz8nhq&iWW#65+52UMWl_&7GI zS(!xNH(`5fI`h)gBGtTVT%~-7DIYDS0qZ6{r#y|u1;v8NGZFO1kARpT>QFYMmV~DO zDtE+?QAj^K>O7fs^hfb3WB}Hd%lOWJexzFSgZUU-Mac)JMXM&vga!~YwkzIZ+E_Ul zF>wMIXB5KCa4$05-NS0TN5HasMZ8j=DzvyZGWXO#HsaPi*m}REYKwao^IUWk)I(co zmV_*qvGyX)E)!?ohcAOxs17(!KM9XQ7vrbDVw5BN-^w0twfZy3oPN#SM*f46_{6c%#-h(Ho?VSdAcP&Qtxew1LJQ3aZF(GAD6_F-Ci%d!tMTh(9*w^4h{^_tS zXqr429k%^O*TzTOwe1_AVwXN7|2qcxo@=?PCsUzNQi{o)@5BYEKH#AfkJ`J((2EFp z=Jx6{H}-Y}c{|Bb{h26sx7`kO9(1!>t^1fgw~Q@3V8P^5y4Z@(2a!FJrp0G=GrzZ* z)b&G`Dz*K%HN3rlg$i|CY2xMH=~OOXIKjEuxOZKm6zL81^MO3ywek z!OV;snYe!;F4oebH^bKBm?xHkbIT1*`<8Q0~IS{Ti|By85#-;EuHycs;5}G$7y<(H4+A! zg|YW@oIqj8Uwpdn6#O|9$Hm7^CF7nwu;u9q==oO(5_kafvyC9|bP^`4PoiMEEO1%o z4)5|u!LH4rI8;Ioh8#|V>B2odx)&(zKs?m#+|1o+R0gHd!5|^<31z}!DS7=*HfYx? zJg`!5Kgf*W2b&bLR1m{`UPX)_6v0j^A?p9~pqmfZpp@J*c0*w)^`Hs0x{QYz8-$*T=`-|mnnKST29alg zA8`wup}le+8&f(IlH?qz;y?ydJ^K`^Cr+X3*Z%QR?#ifR;z*8DP1tV_8L0X53hzKD z1!s(eg`Ic#(A}_AvWC3-B3B zcE86m+jIADS)<^V%#7v6Sjr0L4TE80sx{=TkYfq~UhJH20=;ve2eT^!@W<;kTIzHR zbCj-N&38YxBfgZz@gY{~(fh!yHbgY@kHFpX9N-z z*HXaqw;mnCF3xGQ18ojE$Bwz4rZ01TvN5sxq*nS0Q>RJ7#erk2M=A?9FHnaa{BcZn zFUEM+2!RigPn&$&+0pAg+?tqb5HBsmU-ci*#N2|$H7LWW3Vj$7+0I86jirNIr6@u- z3mz4^!MIhqs2{bSrCbOHy`I+?`R@i)pVfig)j}F#+zTtqMT^jT*+xi{DPw_6*Kxsb zd1{95++mY0oYuY)UB0D*=IE)k3Gc&=0|wA!x{!5vsk6}=2ZVKXC1j6Ef&-6w(b(uQ zll<>8s~_=(O%IH;dL0tRCIzjbLG4O{(@?~}jMApX8H%*!z%NYi3?=Df22dgyLDR*v zXod0yd=87iOYo*UL>!<`(tq(-nK4){nTHDvquK1=+hNf(Gx{{d2<-CpU{z2v8xms2 zWcMxvtH$B<eoC8mtb5LJ?3C9%l;>;N*89Nb3=aq$7&F1;& z8f?m9Kgv*9+)>&-Lts;Per0ce%Fr+2oNi0F1?Yu5W8cncl4OQBDhHfmPYP4Gzr&-6 zuDr(`*)4d~NDaU6>w(Mk!w*81=j_r8xKs5%9G9O$(*%Bh{PSZpFj@&$&o+d;|A_ex z=t6bvZ0dI@#eeVeXoq(=FQXI(+qqOs=2U3xhdkIw#x&{O3GkGEir-Ee!JTja@U!`O ze%OW*)ZTMK$R7@ekf4V*0i6Z zIj%n)`k@P^`n%Eintxav=}iGkufeUdd``1v26OZn$y*%QLcu$4@vXI`w0t|j2Hijy zK9@n7Vgd*@X>!)w$DCDH!$8$nRyo^;RDYgBXnYMv7f<0H8*ZX`r}uN)e||!9r@6Gd zXEA)LDY3E{T8p3E7s8&xBkbVA7pP*|$KH*ufeTBlK{S0l&7U?4?w8FVh+>Mt5iYkwj|CtW2b^L8pNl`U$E%`*Ip-&w7dM>L!kYQ0hoRtGR)(`c zI8*#2cqa6fA-{4Hdi?HWUUeq)tKVPf&IDlVqn+??=0CbGrvq_s)XAmDi}$+7FifkH z?G>C)t8+Y|ZPrs}(6^qH%16@&nTyV| z*c$}z!1g(??A0pJ5}&}NZdkyN)3s1A=ssuBbqo$D$df_pJT}E@8QeaR&$^E3&~8f& zFwj?r?r&#kMfqmTT}He>_NHA@B{cq*8eJ+pLlQp6=%1G?>kTx;ye11~G2Di!1mp^A z+ee&V<23}|TWqAcSdEXuQ37c=vm{zZLy$swvHLyo(8k(dznM6BIyQ2z>>+4VDPJx zuaN&P%s~sV-SQpFG!Un7IK!SQU1o8m&7iJ&g)dP2gBH6ynTGySa8b6x*{>!t`;HiJ z-P_G(+&NBjU#sAfe=Dh4I+w-CDZ|_5U`{G@B(2hDLvhdRbhSPdBtQ$kE>|P}S0`9c zcNSZ^cQ2KjD?{4uJ1}L42RVu+5xQ*z$0<3?uigPKHTq)EYg0CV=TI89ZZakA*$IAC z{w(jQDJ8#9rTeS2aEnDC`K$SGf8M@AaTo+mDZnXyz67IoE@vm7U%;GSy&_%15G>qw z!>S^FCPsZ(OXcHMh+@tkqP@A7$x%igF3QI718b_V@Q5}hn!c?1RAc~W9YzTEyqmZ! zwTgb6=ea~B8xnu`2aGnUv6aW2DDV=pc~^u4zM?Jlx(X6R6r5fUGsx%2ATnAI$JyzX z;L+#j@#wv&Wc@n>8x+T()oU5Nk-wT+ND&kVD~kB`IB=Y=4il#)(gpQ{AayaG$y&vd z{G9^m8ho9Oeyd@VuC}4CVm^wh67fNO3k9gw;H%pL+r$1O|9jXp8e9Dy4-P1?(BgC! zR8WAczS>f(#1cNSGQ}zsVqpIyP4HcDh}SnyXHTunsb^#=h^5F;{A~wXP?Qe^mMYx5 z^@rJ~v%A^DJx#P(e+I}GC9olJ0`HxYFfCseK7KxdMH2T}oq;_#w72ncPeR%4Cw6qV z%K?1eYCwdcEL{6F9u!6&#+lF7vyDE!kZKhVSISMADaHbK>@Px-dp88u-Ar1i z7mr_s-x-@O0qx z%jt{$VWxJWl;yt*s|wIg1tDgN8qd$-lu@lLL8=Vz9tXNzt7UasA`oWRNOChuOz73| zRaNwU0{*9;kEIWxYC`jiy+xI^Gi>AYi8UWAJxlc&>{abfiS*G2q2N$@4^>BW<) z$3cUk6xAe6poz<+X~%F=T>V^&%&*RcHzko|*trmlO^vzrc@8xCTeJ{xb^fcHdzo&R6MOb0l?s$p`m|PN4mJ zJ+rCM6SB00ST^etdu%Jr&z6paZ5hL9(U&D;5OOpf1Z?rAc#c^QxHZ0Z&$=wNZx8-R`39OQ}ihB>Pnh8Vl~391~%U%f%e}!L6bJ##6h#hky^v_1WzmE^dEOrt1} zZ=ClTf5xq$bj*jhb&YsTG?YT-nA7^^Y^dI6ip!mUT6yQR(yh}yY?_r7rWNVJOzndJ z^Pi)~o@HG3{xO_ESPiZCybGE>#-p^_cXn>jWx)v~FpAtyGY4BqYb`ND(tL6N^ma&6 ziN7V(FKyr(P5Qyp=_>uF8q5@;7`E)agh_jTiL<}C z)4|w0_b$64_moRHkjva_CkpH>VVx=DRsV!#iaxmku3Nl=ojp4S9di;{QN~Di!fhDc zSU!#4*Zl;&mQLgQlzp+*Rf}HUv#0(ylc6ZWg&k{*;=3g*>FPE{izhR9bGMX5r#$4w zK25~Ql|#t)s08TR%JMOOp;nd$27`UyWt=c%fVF81aCe^O@UI1y?cxY?oVUFkuS?H_ z#^PNx;E^EA^5bF8s4$9bP2z{TJA(g}F|c2!ShUpm3G4h9!xn9yN_hrTs5GSp=j=-+ z!)?RifzXK#xDRByUyNSt4xkYof1xKT5WICp)5Q~-2sOfYsw|M-ZeL9ImX~r zVJ;}IXipE!1eT0g0C#ZaSTfNlf?&+%eCF!G#`0clR;uJQ7534yHE-B^zqKrOnF*!` zD$|&2>Y#C0aP>r`TK!Frq0}tl4E(K=$aUuzbdS|X$#NBN*4j(=n*89bj#Skdu?ReT zljjb(jO2CCr_%Ci0$=1)887C0f;#HXQRhlUn)GWJ1huBJ-V?&U*iD_@P435Bqip_Y zx(Us@@PzqoZs#+W22xB#D15$e$L~Kli+^9ahOR9a&TrLyS=P@%uu8p!nb)s|72#u1 zxPijoLz3XLdI8*#@uQzPlVMx%DxCQ8I^NHhpwQT*Le6>+l$}@$K9e(GaqB3EQv z&O|J0`pZ^JnZfh#a!^n-9URB|LFd*@%sy%#ka9C>?$ibGiXo(Pu^id152&_Yn)07s zhQ?94)HW|398b<8_rx9;@xhuuHjoV6pLx;SFXOwrS9^nhlUG-jB`m9a+oyon-y;q1F1{Hun2Rw&hn< zY0^G(4cEwYp^Wwgu6Dd59hxnJ_k42Mmd;KpQB;FVdldNYt<$Lc5=ZHGv>|7f8CBgA zgZlA$Z&4%=-I*0$a)QQW~@t|67OO~^54=>YDhQSu${JjA+ zQq26wzAl?XYLRaI;SJlcSn$Fn&q{}jC$ivvYqj8@^AWDuGS;n_VpVNdz>Tu|!~zZv zXQ>ZZdspWJ3R49uqv!?0R{PE zSbp7vNqC*+j;58c(-J2j^i?&hcoD{~ZRz26vKyHC+l(%r`i0YG%&Za}e=X$GUx34Zv;%BOD0`HwBG<0JodtB*>-u+<^Y&xH{OHROP+u)UiLtcv z#(q5Y{SSY=zL9xm4-%NMPVlYK4yTVlg>FuE)c!dgEBu4V_trwX`|kp@&&eWo;RV)D z8A>s}M(|wf2-}+#PG9GTg7TMKcwspNjoc?vnYp_t_u)m+F0XoS_){$^i@eL~U(B_d zkz-6SXBnt3dWGA+{l+0)s?`7Q6h3XqW>*wS*w3be6t~fWAEGpfPHUGi#rf8>YTG|1 z=~@7?vAHbqsyWTS8Oc^!izwlYme2*+L6=vIpoK1_Br(RGV#eEW3E7X~&ypxeh`tJ! zO+!fO!%a?d!)eOd*N5YjwXCC6cEBCyk$i;5V@|>$nAH_eM7LLtv@RiwqCz|HU8Nm$ ze>+R#MjJA9w=Q6Mt&&kf#E0`HK4eTim z(>YhTY!`@&B=oRC?hISG>n|%RdWh#5YM{?LnU;(xMf*V~*-!ff$S{w99jm^viJ9K; z>`xdy754a(4`<`?C8c;j%>>>*n#`VET>#-H0$4ep4CC5PQA3cxhx~97R^FDT-4fZ@ zS?s{}xjjLx?o@u^%hRl2@dj3OI25J3tJr_mT2%OIJQVMF!f!N9frga}p{^x{}RR3ud%2tmteu#m85w{3;2Rax;8ul z*NKlJ$;M9@6|i4X26hSDHYif>suzMM*@oQji81eY9iXJ5M;V7l(?3~b*5|5-%k_oK-ha|$ zVU~n*?OxFKU!lxp>JgNCISg!;3psv`a?V@+5Tl>FSjW^qIMLz^=I>RcbH}c-{|xkL zSfB&U6qCgVsY_^-um*OmOQQ)zx4G}K;V8DOndwRhEm_reX0E_UZ%hoPi`C%f$Et$= zZ3HJCT_*I8b?KqjPEf2D`q$O_>6w(Xs93L>73ZB1vHVK(pV!3ZD3-H2;ky(dK7vwq z3B8O}&p63BNdi;+0DP>I6_S?+Nbgn!DUF**`HBpb;!e?Wedk>+)|-CAAzB ze*EO&&8<*a>P@)uQyZR}@By!VF(Y~17Z~ZBh}8+Q;5)ZNaIXiE&BkX;@Ax9vb?qwT z1`eijpA7Ejpi^AS>i44kLmctxrIYyN-$cCOzm+W=s*T1nD#G8}1BC+@*_joU7@zkF z0^KB_Y+W$^Du2maD3q}~a`9~NoPLtneF8VEc!n`^+dzJzqp&s}PNQbr#b4w9@*xIq z;B34M?cOEM$v5t#(_&9h`syiRz0?iwrmd%a0Epcz24uU>37#hD)BXSh z_$g@tr}OlvS6dqNXe-=aH<#{ANf-Qs-%;%HM)tU6AMB9{#V_}xK{?3@Tis^Dp0ocj zKX5J%xwZlx^)8_=<*QkpeE_CEh^3B!IB4C`#g>}&aFU}$tgZUH)t;#{z+{FrZHkZq z|23=WX7DqdEccxcxwD=oOq&UEr=OyHya9Zb(4gjJHz;uN4ES;5D4T#8yk&7cYo8g) z@_(1`Ie#qa4!4U^M|lWcut5|cxXI#f?Sz-C!(1;ok(#C~r<+4V=(p-}7CC1q9qjUe zo5kVKbM72x*C7smfpJ{W&@fs$)sdXexlmYKFJ9G}OfzC+X>8jBcqZnHeqJFg>W(z4 zidl%2Z)B`BLN)kX-PgFwrE%P2)ypK|XTz=zv7rWEO_uNdf{oPq%T=@=$2~$mffW=9 zu44s|^AsF+k3zs!IOo2}FGI~G6>M;Z6HMz1hFt<IZ=-lmgTs! z4+3{yb3+BFj7E%oIhO2QCBSry|A49LznT+`*GS3*z-w5z#A7wjX-Ik5?wdo!lk&=V4-S6@JgFeJ`IxWgW&M(7feh!0NyI!W4BC} z@V72$@wGdBNUOP(UH%&k*-l6B%_hu}*~89EMof#p-fxuh}WXfwQ$ zm#0&(M@rZyeO<%eD%A2yHy5+{rE^4YdqzO2$`Nb}ScT%YhiJhyV0L2$;Iwf6`=L@y zEw`tWgR>o-PmgE5>xCTlaWnd`D~d{`ZQ=X6&z((@2Lhr*TU z(bd84X&(yj6P~je3t9TH!3+}IW)asXOFf+#5Hw6UqxJNJ+lhOjR{sv{yq*l%DQEf9 z21#T;?>Oulc8g^O)^SG66n5*IfQNzL%N!8l(~5Ao*Vn{PUFiTP(gdeXhR}-!XV5yi z6Dll@QEJC-n5ypudlXfu>*x+#c=$2vJUNw3cN{|ZEnVq$Rt#JJ@GMSrxG$1Q%tb$2 z2Hl?qqf^yh#ydSljXgppDXt48&F4aNP9|@1Jf9YPSPX9!CW2T;7%!^oM!!B0ZBeje zp~;%$`d}o;R-D3Hk59s3i#q%-wwAqIZN*A@ze0EXbyi{>Kpkr|gf7%eyuC(|GU}dT zcB_w-(uNmYXqj)-_`DbVwyrWLs!oUCt1)b!T7A_G@yqN)`5=1K@ewob30=DbbHG38 z0ThQXMQtlX*mLU^fB9ex483|DgE~1Y@{^()&uy7aT?#Gih=oa!ojBWK9H{>kSp<&u zW|s=pphZ|OW`$>xrQnW!GLpxd9w7%{J)1Razec0#BzW{#6TDhZ3tj$Bym2NBB=lKfX&lB0LS`o!o0`% zq!Z)I)V}5k3}Hu%@2$zzLEa^1QJ#K;RoqVB(SX#Si9Tl{UjH>Ja`s_UY-W& zL#C3f$8=g)Hh>o88BEV!o96GSXPIdR!o6o0Oi=KkKYd{|s-O#eH`s%8VKjUxj)yY^ zclau{jXifbNdFpd(9rZJ@O5x5U3jBL2cy*C^UUW=PC;PYdWA9-y-uquqCF_F{U0AF zhxp2EGe2hb5mfI_p{={uvTu(Is8~lHG&i)f-`l^TI4dJIq*oNKaDsi^aGt#>_r(2! z&0%5kB(D5MAYE`&AvNC(aB0IW{Jg`Rq$EyX{_oQa*k2U~N0Ni#RI~#9JbDCV>tEv@ zW)C|^mK?@Z!Jm{xbhX$Au4NZc``8|GSI~jHfku8!$XfaytPAU1CQ?y)E&G(Uo}OK- zU{{@b(7-y5-N;FXU?V5mmo3IGC{aTX6%mB%+rXl*k5TpX{gMU8Eh+?}FaO>Y2 zR!hYrSeu6&i>_A1a{WHGYn>OK+PDc_Us-|9F&>|`CxDT*K0oKoNs;W?XlC$Z5_vxA zupHrSK!5g$Xz^iHs<{)617j;$Q&qAs0~;jTY8*|v6`o{anS*j?zhY5A89Vr93|*Li z74O_FL2xSv}Mrx`6Lng z3&)wegU5SEO52r+*`sc-39au~c!UgpDx{DGj)vmfA9eV1uO{t&{D)APOaIT^0)`&_ToMinEJ8AaC?^IUB~q=TEJem$ib?7 z4H&H-2uiaM!ak3H*R#H|MmsA?bg-wXww2JA{SI|5gi^KlOlWyGgltC4U|%#vQ4VfgIh&e;YRRFQxM738!x)Vcka_MQ^c4<4$7gHw^>d}@ha16a)gp{r zQ;XfrRiaR-E{Yj_3?HqpwZd0xC~Vm==s5fah8xQ9ULz~%tuSBKd*n#DKYa1xBR}$#~!yn`tfsLyk@*yNk7a?J8eZvuP#yoBd&rh7HAM z!uf_WufiFB_NV*DooU#YOgL1!7~b6ySTxluXioBK`ZVnn|2C!=ZU}p^jQii{kKb0z ztt$Z+-$``t!C5{s8rg@9&xJi%0>AO&i0Z9J=2|>yc86(Zt9T>XMRZ%s9u{z?=v2*k zaE&TP%{*HwscYkJ%#DEgS6}eXD`Ox!$%N9vSJRR5J*e?d*aOcA#aC5Y9Cf6KG7cg9 zuol=5m$rjO6@qxQ9_@%Vp>Mmh*}bEQgzg1&Bi|JdSs#MDW#*vwZV{b1Jp^*6l|bZO z!8;CO^lIK092{CH%BWaMqi04zu+1DmNpEO6v5M|KoDNljbLOb?BHCr7N_+Iikca9= zlG`&68pAyyOFJ3wPjX`a^<=?M8xAkp2v7ZpMcA}6kDZy94FTcll$)f9^ZL)Rd3OiX zJ`sZY2?bKPe+7@(mtz0Zc&<%*CcPfxRu%4b2uM2z%Y%(jrC|m8RL=9~_WMzIY!US%I0@V^GtWa@mvj?5O-ptbYZa&c^2MujjL#okw+R_|PElXVCzV{h=-z7!C zn-?*@uSyiT=>g2sdyl~-H(@Nd5Z+0v;0!-CnzGP_i|6m5Op-d?i8kOrMLN*Efs3>y zrkw5CwvyJlO=GlnI&expbSy#&GQ+O0u1USfO>V+z39DhSwb0Qk52LHACkT0)v#5Ko z6x=^;13BeV)M~HbH`*?Mv{m_}zRL`}Lk;OctQzzyU*855mFb}WycgY8IYafMC2X9Y6B>_R2+_&wnEj3=yu~#|TJHXij?2{Z(!$yM z9jRb)o^A>L6*>6yVID+U7*NTpDBfORnv|nWl5!^v+Z9NJXg1fj+UgP20Sz#}p z=!&V|_Mp@IGcbFV|B*4Ts`j}I5l!(*8FvDf_crjz7x>NVTeIG>J8 z>HOeo6p}MPwW4>@_*!H`JLT%qTAc!aMHJ3Ffm4)u8h|aC{6T)G-PCf2$St{@;77C6-P1><|3w=Je2kOIZHf7>qv|La)m2v!N;+#3b8b@nK#1@5~~? z?=I}+x&?IYhAY0Blf~q+CNRS(YbfUX3=kg|5B{yW`0sf&-M+XTiU-HjEF~pK%{IZB z_Evh68Umxgu7kizg8F5r>0iFEw$^-yubh%-U_}ShF1QEJdz@j>>Z3H_-(3FIqtPH9 zHMCmCDUdh#!jX2UH(Md4QeD>N2r?R@$uoHP7M-J$?l`#2+G2!xhQ3b%OsPII$ zALW!?!%v0>u&a0$?NZHw_`WLGzt5DibQ&Qc)`0Yut;VIP36BjIZpmis+ z$$w-p42pcr;XF(D=Q)eKUQ8sZFRoa7?M;_?H?BV+>{B zUCb!KB_W2*8`! z@DjZCj0e*#v$$`~-K^Yv6B3{S`OIbJXqro3 zY%Sr5-*~P`e*^jyjD?g5ozOB{mK1*s5#|tTkYKEW``=6^>#0xRszf5bjvdMRUGC!9 z13%EmCWpn>6TUrS>y@}o5?`IkwNtBHl1 zOTz2+oBV)~$$i(bo|*#%=2FL2(p|j{qsCU_+Bd1NSm-dF{BsbP=NLFzvH_j_C1|2? zCAOZb;#e`%Z={LVB3{f84_L*Xj&kP1NSsEaVG@GdmZn+nE9+S$_N z!|1Y;$9Wz?HfiW1&f>6$Efjd!ZC?6x>7WJ1e>%!>_uk{j4>H)vRB2*&Fg<^+OfKG? z7%{jCGwr0w?mr_K*CI!>r5lY`Dl#RpG(3L29r|23x)Yj4jmrzUvI_)oH5IlkJ5fyF02nt_Aa1-R-AS^jP8Asq#}Xey--^}+x?^|*0kB$5ShrzT&!V0AK?uF&syeMSn6j(RE7ym1nPDA(G)1iNLn5-{? z&l4N?OwDD;}eEj*XoZ)^D%aGdh=2IdLxYC{0yA``7W>A8O3hA%dXO~TF=%S z7xFU>^~$t*br^e;OmPc^*fbtt;4Ic8qvxz*U0CP;3WQ5$g4NLV;i&*td`oyz%8F3wt;(#nYoK;Y2X+NnJnZaeNKZ@ zX|~`LjDTypGijx=I&};e;oP{Hl;?IIo_eK{Z({(jwtX;aUD$}${T#?I_{vOoPX@bt zX5g}0f|pUWqz83-u{Co8e$G0^-}siCj~q@T)u+O4`E@jPnj!5h(1&uB zK|&W*0$Npma6?)a!EFC25Mw_V?Bth|{J$vXlkptgZJpqU!(;xMiyn=SF$Ikg0vq>) zDi!S2q3c&(vi}kcvD;_`(+>xln?I4B1}VeV$_E(H=MNbTB`k-(kMf0EaJtBbwjcb- zZq1Kpv#Q5Y)9PZZS>sPn-!4Xn#f75J|If3@%%@H6D{$*ZbI364W2@7B$gw>d^DRr5 zzyETk?7JM4Qugsp*K62leh!5vB=Moq{i6MF2JT!|0?}?0Chb~`ezF^=@{t&9lm zi>&DU$ayp*L&AE+)<;(Bx_zL(-;07at+0C4R?Rnv3u||#!Ypl$@cZ_*h#LRM)9vR$ zcxh=3e71OrJsZaJ`-bM=k7OIF9c@mNb}QrW0z0x7dOVvCdNW(2_w;*`HAQ}X%!7<6 z*sT1B*Iu;ZK9_Dja^5rah`5EpT&~cC^J1wA@>bbdQz-I-8yzYUq29;cSRG(TE?-XJ z7UwV+bz>P?_0A>L-k~(JcnRlRa~Gzc)PvRUvT;IN0bMz95I1-np*HC#mhaaIOAgr6 zeDhgQ{lt<^y?cSqXEbPr7SDgQIfv3+XTim_LGA8`qG4FYeT1uxm zUq`OPfX96UYoX8g9q%5K$d>-NfQE04&~RD>W>wGS0)H8hx6&k1|8oi~Zq1+o{ab9- z$7B{7y&vx#G{c?KTiC1s4*nCmg!V%<*ncO9FR#vll5x%Krqp;0cXNihkIW(5tqt6) zPV?$FmI)p#1}CqmP_(f%%r_2zl-u^OZoLv5o_h~(XQX0-`)Eu{3g#yqOC#@%udN=v zsb{8bCvh}4z~7DE#9SM^q4WAxT((#irHrSr>8^vxbMJGuqW%s)%diz5-gn}c%NMeH zwQm@`N@YH_Tfi@54L8WO0@p1IqR1ca=(+JaKXuX~82LGZ0uF7V;q5xis;QNYLM>QQ ztI0B+9D&H(OguYtFn!tfllPii!Y-Bzp53fju%XXJB<(KDtH*1JuC<%d1mjoG_TG!r z%8_Bczg1Xh%6Oi|#gZ|GVK67K1&@<}!v%cD0Pel&ZwBE7miGdrAlEmx+R!mTpYQ3P+=nH|ctx7>(uh=!Q!XS6>m$ z8n%9Ak`Mpl><}N?9D9hi7FJo6&r6_^;QP4e$7IlqsfJ$XwG`;~6(d_J*@uf7=wmlr zaGgkFY3vK$X=D+1AJoVpOpR$QRHCgWOL6IkQTV*_3ix_N(8vQiWc5phY#S=@`py=d zk{gcUA6l_ze65w+R0SNnI)%+i@gyPAO1^WQs>H`;;T4et?K*w}3WaB5_WF5{qY=w@ zZXHY)E3#SqrX2Jh!PwBdKE&SpLV){5xL4rJMlZ`_X>LQ=ke)I0UG@x?@n@NPZz7)4 z_hH^M=2Mr_8fbwytS}0LWh)sAddc8VzcQbHK!dF}yoq&PC$Xin0@}sSLsyO@$~A6b z*3&9E@u6p}hD~b3D_eCy<)k4kt`TNZkqj(O{=nSq9dMAJ%s>5Eh+p*#1bvSdDWyx% zlFUD>eQ`7>gl%CPJ#0k{h6^b~$fv7~xh>?;b*w$2uAuGhWPsO?1jcFw^jbKgzNslo zP?BI5xKe2OHkk^fu5oOHzL57i4`Jo!gic-q8oAEK167V-a@ZXYgal&wn)zJZWgYS=d4k{dmHPt{P}Cb0M^g&7+L3r@t%)NZm1{ZX169rmH_rc3a1k>Eeu zCFE$bx_Pmc%g8}j9PY=Mfn<^dN&hLv3;Pb?7PAL@z?xp}Jugll_tmiNdM!XdHnT-gKH5pjO%#2-NUTU7nX_!&uJj* z;!5f=)gk^;p1|RAqzN$#*j`;*y3{I05;MN>Qt5WkmGF*_7^@BPi^kFTC`~rIek6Tq zm`vg`hVfSQnebszBC36Sz&yVnpy*H+OdO#^yJqf#{(IVB=v;)`Y!;Jo`X$##o2jy#1~a7p+8%kcZb-Fdiy8#g5ZdcDu%l#VA%YVHT2zi^0~Vrq;3{5^%U zi`!PZtEnf4o`maai%LnI99{!)$$(tX#dl(8uKkn>6GXuBo3z zPQGdEbjceWue*^ZDaexb27w=;K8UZ(yNWyhtc2d>&iqE@m9#ceip?_`%|8ql=j(z5 zmR|6BHfy~pB?|kI&65pjV{AT!SasmyO;u1KCHQWj4#mc;z-V=KFsohz^*h~Q#`Qp` zRlmh$e-6bB57i+(xDnqzX@)!Y!)Q&*9x5{)2~(m)g1fecE&eLvx*T4y<<u*Kz#%Oc*)SfO!}K6tYEdzHkNID~`mkFSb+8 zGdH@u<0QA%jltu?_xW{W2IDG?WE5Kvgnffm;EA&WV$&jDEHq$1xrCEGa8OxS-FWU9jL_y!wTGx_gMXeiKF>55jS{ zv=oX|^{M0Qar|&QlJ!-`GU@h0@I7ov=9cobUuzosZ_-I4=X8TjRw#rxT}Oz!QHVz?r(&{UGrn~@ z0RLm?yyJ3gqd4B)Ls4mb_1%LntMCCnQByBpFR8iwlC6u;Z!+!HX})w?OTuR#L64o^b5)~cv7lu$leepCaQ;| zq*69?elh1cy9A_8tVG@I=W*`7TdX+XH#_S(8rlq-n8S{jIHz2OZg!_K>j@TUv^$@7 zG?pNK@pv%t>*gyKy0N3_xA?$Qt}OkwKU=kKH|yy#v`-i5964*-#N_Y#t)%mp2IP!cmwU#SEWte#mN3B!|6v=B$p^ljmP(sLhBzEKIR8pF-^My~C^4%6a2YbVnqTA?h z=|dMZr!ehliE!tB7My)&P4jKVIK!uD{PD%b?0`fgQ+qO|6HS^9*Zv zJE|J(9**NQ)W_1Csl_;3;Ty^~%hKt$jhwUQJl+l#P|C6rG<3Ou7mO=G=1&+qe|ivh zbe#qLZ+kh7rVQ-4U4}!Bts`%>C^EmZlf^8)g*g&e;Ah%e%8x5%(;AQS+1xa+HZj76 z65_M=nlcBeN(?PI3*qOd;|lHR7}Xg-^&1mGLi#moxdMNm3Lx&ucnYhYg10Lc(!Vp> zWIx%Ads_V*&t+)Qn71xA<8Cj;MgL7;Tma*Dx)+nt@#{iw=qGf>lrsG-3Al@PU>qFc zPKs+Yk(UM|X<Gv0J=iGZ#60(Df>?VZeh3lg+N!={Vq5|5 z_Q8u%x*7cqv4_0F$?R6H5_TUM4Y9l}=#;NzQ3z(oU zPgyY^nb;>Kd@rFzK`Og&VL~vMTP)1yRkP@1$Y5IfUJiPyui%%mNQx|UXH2Pty`Gf_ zuN~w`6}*RKLiQOe#X? zk@-83fA(s2O?- z@w?ob`XOez^d&cwO-R0uGMm@p@7WvS`G0p<-!WHiQ2t{6V0=Dz|62}z+4+clyc-Gd zFNPoR`375B@3Rfv(`_v_+{G7`{WibLOyJyKNm7x}#@W9zD5K{N>^U zXo~=H`Z1f_zP+>M#t6^7l(AHFM252V=F=7>1FE!D#78d$&zzAi-?MrsU6s?IY^}Q> z=4gf~(E{sfg9RA~Z0NY|qfB+~S(csY3I^{Na%KPh<$Z50r}&L75XuJXEzD-(!RBOA zN$BDItN^VBDnMad6nJckV4fO<1 zN_%EXVDleei2UG$VQ*)WGE}f9A#e-gwFy+e$GG8XR0zQdY&8#;#8AS>$nIHgR*ty+toMXUxN+n%-cCQpyuYba!W(K?FosU<)+w$cX_0ZC7?2&9;Ydug@&-O@E4p+YG4Q+=%X{KVYeLb4l~iI+_=D6FVi-xmKY+ z)R5!?FSP>D;#n`g{LRA&PZ8AA7GnST^`cmEAW!ibu;GFk?)}4&nfw|2v_fT=#w~>@2Op+-JG)c|tr@X*t24@SA)^W~b17 zjAWfzfuQcYgaTWGc>i1Xm|A54t=Rn;O}*OS&1y;9VX{cnrd@zzrj~GLu5Uxn9e?=I z$3noaM~s9Gph!u`AMF{mjY2=yW1_+&7&~qU#&iwmRfd&vzata5aOacIEBtSJutwHb z-H9I6e{k(P9f-H-=d)gGz(;8tviNtKGtE?>&jT~a=S33KT^I%5)ox?#yYckO8QGVM zKe(CaO(yI8D{6H$>r4F2=osC9%N)QUS%pS?c0L|&(XWnSEb&N!y2?v6O^ESn#A0wOlg zgCQDLc)D*mJ&xE#YyOVF^~>allKZE;{O!npy?zCBM&=5f#e6n0xCYy|U%wV($ zbIgKuH{`J^dlLBnLhi7m8-;n<)mF}0ZyU4RV*&2p>|tr11jVOjv5t*%u_VBbU8)?; z*0<~h{SY~_Y;~kJ-W!-}-8m-d8VXa??P!=>lfX$(g(Q9{C}-HvH?e6jzgY^>v~0-f z?Fw=jGm$naPG-*wn`qi&TbNR&K?etC(!!i#KJTIil&n>N)sE5RaMYCR8GaqzS8|vW z7)YzGZQ-X47vYsXKGZn%2$yr-m2A8(W8AM)C`+y5N1p#r^mX|ItSH<8@z*LLYIHG+ zNLtA%2Qq~o%75Gmb440Z5yvBUwhNvTIXHOd2(?G6;-+sRT->u8oMNW4t`XzNCBYfk zvqAV^(ouHbU4koJp2+T?Go>`FLXn%8=zEAXz8iTS{5n4Ye>8)W+on%T*hnb%b-?0D zbJ)&?+Zb$74HLJIqctGI67KY4L6bJvLyTHLxr5ecw ze)EFar1e z!KvQKq)=7I+IJ6yuc}K$qXMsCw~#%*+hIU1Q|8g9BlRfXTgnZqyAE|71)%U=n*Ihl z)BL90Skx>|%OIRqM18S|oGoVM(znPsfi-;y-nlI8RYPk7&1$^`h zVmC6JVRu6#>K~rT|C($F<&Ha9)wq%LZ(0?6w!ZMZ5Dm0C}!?g zJejzWG3wN%uoJe2pvQkJe|3u(thl=s4=wnJwy;9;@jH220C-%g`G9cP|9+-a>920fU zqBd7e?7krdjoF$kW>Nr5D~@BGS5~onr%K#;rG#1P_wYV_l{B!p5E@qsS?Vi}^i2IQ z6+}wYh>J6+?co~mQ@PBa?eM|5S^;dg{zfjm`!E)+yUeB!Hzv6?mhe$XOFE2DfPnb> zd|7HaZPK1kwHAw6f0`zY%82Bb?9iYO&6}uht1LXv-o|A2c{1a!`)D%vBp;OgiJ#(BPnObNSkx}VP3-u`REzVN-8D;gbL?NnbY*B#%^&{i%m=Kv zH5tdN$*=`O!)fJ5afnUOfJ+lX*XJ$p!LcYg3T@ud}3I2x0 zc@%ATsjhGCYJt6}1zS`1Qj;!6n=hNucF#f7G_;eA+&v42-%rFsiG#2|GYcOl2~22L z72&=d#tuK0qf>Q*NPFQiu2u!wo9y;q0rz3iGi8IP8d4p0{>sPGENO`=0#&X z*ykZB+~t&9e0%Z$T(kYgDXokl{fitMrmzE43au!>-i40Kudjd5Fw}P8`X4+i|HGt= zcQK>#AQ&)sjJvr?e7(7g#ZBviZexGY`p*hpjg7+G+Xrcvg1{o)oXFV-ySVEiH&G_n zl+t??C}g0DNp#<1J5+37b@6tx+^o)0U&=7kU4bxO?m2UCB~(s-VQW{ll`dPA+GJ^U zv(4L)!B>a%SoGgXyn$NO zm0QQYyI4?wz!)-Yj{&9FXiDdPaBuXBu;Y&b-5nT7ejT!OHZ=yWH*oZKlqOg&-%q}8 z$|>6VBXhjJm+gBp6f&2Dl4F_~mf5W!n=|6<#*YIOT`-0Y4SA0*y}d}RS>9G@fenrh@x`5! z#o?Zl@Hr2!6!JEPD5mCxIoIB>efv_`iUB2D|Na#AJ_dR=A(tQPm(9DI7|;ea8QSq` zI}Z6=%vYa33T;DHu-HN;iqc7Bwn7fPWL+fitJARgNeQiavXFYb0g{(I7v`)rcy|AI z&^2F9(`0Y4H`7MI-p(v0_C6nCJi@^-s~C6q#<9ACmN2|XAN0NojDgQhwpLxCc$7N` ze#L{Kbka$zZ@+<$U<(#pZR97p|KZ+D)+fI`&cvIi^Ql#f$-3(jrk1OTI;ZNR#qp)^ z<53X1CZ1gH9aunvH|4PcuYIVaxDE_%Xu}6Jc~;gSh3#X-VCpebX#cSjQiQ#FmrNjU zqp3tktWBZTdnlDe)Imo}9s3-mOA?RNq3dn9(D9O|DOMJ&>{lbR(+I$jQ;$W;$HM9Q z3{A3mm&NouPf(t#lBh;-S=&pTrHm~~ARAiC#;Lh6^$DBd>*P_mgh|okUkvA|yTScO zMU>L7L_Z#A5ob3Os+NCdfzwN{PIfK)9P);Xin2s1PQZlv2Tc59Avy%k;Z;sffpcRW z=)7aB;MwxVXh}70UWyK_lbB6!2LEEYUwv7$ycT`gKapjf6j-Oi)}y5UI;U$YCmO)p zoL*EIyuMHfX->*aPEzPVuq|-*nmH^C5TjG?Qt-#Icz*fEc;+!#QE;y)QR!|SkQUta zQO91PU3dhWaYhgNH^1ZUG}p0|?F&JnYb^9Fk7jP0C-X-ok5KS&6PjZ2fOXYLGuo#} zw=<>K(NB&1o$dv6^m05t-aD5hPaC3ix+8o#>%tdaNyN-pDfBIEV8vC6ws9bcRDG%Sqw&H5RWf_sa6kRGGvxDBnAo5S=OuOSC ze1|*T_l{%37c%TCJB!kHZ1AkN3tUf>7yLECGvH$@jyOL7mS>Nlc`?tJt-~#RJ4+M8 ze#hhB_kVE^I?<%KDcBR_k9~3LF?_=d{HK%y>f`RSSHbUD%$IpkV>%Yvy7$r47!xR+ zt`3dLjV#jiJ9brTkn*Tnk^NB*)ZMDbO&??k^)eQ0_FR8YWG5J3n1Ty7MPg*OI^I${f{Y^Blo{DnT;onY=YO$%9@d=U?YI2x z?Mv~jPB^~lkLHs{eIuiH24t|=fqToBvBkgYP+|O7`1@ZxIv<%tdt-+}MO`$`+`UIs z8hi@p8J%JWv+uHp^>4r~UdRCrsYI)rRzffSGS1?J-1^zeY++FbtbaM1HZ*5r*bi53 z|HCoxIb#_Vt46_mEiqhnL|~xRmoo9s?sV#U3{20R#_!oJ@WHl>7X2*K!=~b!@cmvO z%z3bulbXDrVvI6yZ;3mm*L9(9({Xlw#BEGpW)A8nBk?yPe_Hn*)O63mrSh^=Xju*- zPiL+-Tn}15n6UenKiP1nb%K*-5ZBv0iw?^UhQy;Im{fELN^DI+mqi`8exQhdR+0=V zQv|ld&?S8A{o~x39gb{O!$m%Z1;gqEGtp4p1sVglgN33!-Fa%n9`+crk4GgSI(j|L z5Zel=cGvk1m2`Hdvx`?a`VDGM4lvzuGnv8~ciOz92?K`3@r(N$Va(B6Ft$bbyXgqK z?+@~{ZBZouu>B=J{>cyi;RO>cjvGf!|88*U+v8#3EiD`}Xc#2uB-JSie9!>TFj5K5 zfmD+yezV?DEXOpm+;jl%*Zo3YrU5I5&0)jGo?zY4;;Y6^vT{t7$wdlh(Yi6vL-#n`a87_U{P^R1Jt z;N5X`^mfwZVrB@rCLL8eW8?=<+EOrd?L02*tN}7o3H|XLCWhz?Ak1ZmC}fUNg-K!UwmmaJpP3)_(fKjOXlP_s7~3 z?>h^E#?*6_5i9A&p2$<_PBFUr_YK=(r$NtRkI>J1QdA&hu(qp@0sd1go3%)T z{(CJ$wu&)K`_B=yQ*FRYA=|*=Q7wzQ*v*AS+hcb2LQ;@W#r#M2VMuHiMD+>0NrgT% z^Bqg2!qV(!ST;OwSD8lQ{VJy?+ zgDBPz_*R8*S~TcA-gIfFDP;nO*JlZMWood*$E$GB(*w-u%L^ti6$_qg`h_07F7S=HX}^5Nm5_|pKz!@wXqU^ z8;eo-9cL*0ZwvqA;8Q*(>NwZxYDTx5HTkV4+HLQq&IF~)@@)9;Q?x~|ke}S_%I$PM z3sol{a!R@uG*bKuDxOoJ(uW72YGo`Gh=(z=Tm#ya6ekM$5(8fIV%Q`vCo(WsCEqeT zXu8)Y%u4;?UQs03Ubqe|8!o|uwbHcqC6MC;2WJ22G@BWB4)cEtE*iIO;A!szvvqR8 zU3CMD{c)E6>2(N9_6uFHxdMaYh8Ja2?4gtWvEXn?xZC@_=gv>bhVdRH+{#)Brnde( zzp_~stixXL>y3qO-Xa@1)6`*Wb!0jJXi_TWTjbEP$}!-n)y33)#ZXaaA3iD@3wyrg z3!PR1qqh4zt1M(jZ^Q8RO9u+;+{Jaj!v(F(}T_6Z+j{jrEI}i zPLAeF|Ox#hTPlf)CdBPed z_wl8c2WjNGkyMx_&%O3eVP8#$kp59k{E(LfN>zJdLitoIn;yv=QfoQM*BmV^%Vk9w ziFo{*F`s894JBul8r*#A!6&|n-x)LvbPL6WEPDdnS{a4<^U_#)ggzzae#Jj=-&ng( z5nhum#it`iG^pS)6#{S+-yDz7So_!1y_VMF!=J)p^;fl|4m&Sl) z+-%Z&Rt!7$)G&j>Vv4L(fGw8eDPg4ryDBjE)=UpXjplbCeujXy^rQQ>Fu1X;qMu{WJE|(~wTDONQ|~XVKS}du>CjcYqO= z;DtXg*!*+z`H*w#*i0y6md%xX%>HAr;jFVT3#|~kD+}nPtU1m49n8jGbAlh8+Az9f z9==*q$;6k3h&*N=patXZG1GHz*}=FOkn^jVJ~q}dSHmOB)NL7)tFYwVvJ=_HvSqMg znGKC=9>iWmq;qV8Jbc@#i00x3^y|euGQWKk_o>RjxDjfUYZpW{S0~f#z+tdE~ssUEe=po})OeeezVK92r9n4gY1uM@GaGqlihkXYL{l`q`J5`CN8pNo+ z%oI+HAa3<DrgPrEwUXee;cPecC|LAz~0)cmXtfx>(_sz06`h z$E@$R*tQO_VQMe$!Ya2K9KCcaSGjyX*p-xXBB%98vX+!x6^aA-F}%w8Bo=9zM3q4z zXp`K?7L2@w3q>dK^|_J4T;7q5d4%A&_B!lQ>SayuCc}#_@xuAfjIAEIl~PB_po^L{ zEARJ)zdct454LbV$CG^-dz$G~y^Jq8({#;A3xesBb zFvlXzWPZnu&9q~05q6dq@>8oC@WROpu<7AcQWa+Zria3rcckDGzHN&OUmRmuJ$vY{ zYb`u%76*qVhiHS{ev;iVhKjWM@!8Bama_8@HL@FUe#Jqukr@y3|G5cl=Qvunsu}(* z9m;O`Br`K-B_{Q$mJPADwYxbujXG%-slB#@M{Xy`wC)<7IxwEr+5W-GTR$lz^&Cu} zC`NPB_ETl59bezu%LVD}WioFoc*`FXc(XB$fX{w2H}QL*H)=N+pSHw{Q_jNMmH{+6 zx*8_F*S32i-h{0IC+NNDaGK?^pT_S@1*hy^SpKA%wX!*^X;cKKDLItR=>6cQrC(yx z#p5x*>xSrhKs=q@1scpl^FzNy0pVf0sEOHctFNmG|>lUT+0nI=R3leUz`kAl~SzoX*6I`qB18pm(R z1%ZkPs|EH=>i$AZ9O1;iCf^k43U{4xSyAlu*H-dUe#TC;=D-l+*_>WPBxLkf!3fxf z29f2$eyj@5bII&olm@4`X%$Fub};7TCeR632Tw9Hc&CpouxM)>Zcl!Iqb7H-zy>9H zw(}@t$Eq>&I3c?^c^X+YJCOC8R~Y+k1AMl*00tL#quJkCptvuMId9Q`1w!8>R>;x6 zkvqaXgnm)lss)@`K_+{(Nt*U~EuzTaOoGPu-0ikA{B)B-^!A%e0~gK-3?+TavKS0d ze3{&?8$!BT9Q8jP%3D3DVcX^IiQI#-a0~k4HY;_0{@PP`+R2a7EaKq%ne}v0Ul#Uy zEvNmO7j2V`^Vp3;9pHB&A7*tvg{)Q4Z2ch}Vb6S$S022Ackl1!#D2(-eXp;`dc<7% zS7%0-n)7LNk}ulMH->W?>@n`S@N8*|V;OP#g-mS=a9@=Hv=+dQBSR=}`Uw2=RtlFa z5rJ0leRS`!u2(I8%FOo+VMY(bakf(%L{&7gGRYc9RMjND!;&iYFM^SMV<>ZI7^L{R zVcDc*aOa6C1t&kmaWCTN{HZfgCmn+$8x+8;${bn*zufjVc^G~@73_P8;da(+@R>ae zo~53kho4RfXWX3_CG@yzELGpC=`?m2g}6Cj0Vk z7l>W;Ml0naGB{X3PxX@oMkPbX4c0X3)>(W$+=D#IFTtLk4b;*7y-Oa8FMau@Mm*B)+y{9at{u1bLp!yxUMGgz;B z#A;_$qW$+`tdYwD*rgbkag(_lY= z-{k8qhDr8S4yCuw}}FIe``pCW!(lTG~}>|Lq|z3zEv z-ZWj9dG%mae;7TTrwQNx`mq6iKAg7t4sUYSVz-JKYpK?un;UPk9f}cHI>&$vs}YwS zo5KDU@1P0SKXVz%C*kWaf3#oOi>Vb-4F`>e3z;P+ob_NHU9>7=0XN#{!DmmpF((aN zU(4c_VNnz}uN*FE37x&c4QM;V1I5g@u&LLk5I&9Nht6+B`ypjC!-1pcOJ0$UyCgl! zUCVq;Qmp zC3saj2}Qow;rP|-EY9->eMM zRV40eFKc0$^v`x5MKv_>+5v~?MRPiByE_F&^h&|G)3(qVwjXLYM1k+%Pb^*A4ZkdK z0@IdZ^r?C;ZJ)z~{>V}^U8-K9pSDxX^*ON$Pa5irk){Vv0@-!xH z9NWRIW(Rtw(UX^dxopd^H0$vpSSX)E|e?vp($iV_*6tJC}|>Nnk6?g|Ifagr0fm+1Z?o2NPK_ zcD^cC$Z;jJ6X`a>PCFA;-IpTeUtu6%bD5@;KY9OLNV}`zxrpjZIB1tLE&eF*_($8| z%To{8DCapi^}`CdwlGBWKz)NPG_@OH%2O?}uNJaYJ&9m4zm%!Ej9?@RB`cp>O!}V(`vIq+z2A`L zyfjBuqWA>;vr&eekV(zo2kU9a)DP#-_` z={&iazd^n9ebhMCk$n!cV)dUg`C9c`u;jr$+tD5y!Mi~WUzWXL>w5lTnW;Z`El7e^ zf$w$3^)Oz5Dg2URFYBG%_H@8ijVxcZVtKqd!1My{$;9(aIlq+^1~yQwwaZWRkbUN|XNL{2n5LcG$hU6%z@@cJB(Y!*YCCiQitn_dThDuTS>R(i zB^uDQIq~E?IEsQE&IZq2LWXcMvVXr^NUv=S{QDh>mnZnsefY7WnWN7REvx5liS+56dldE;)q>Br0_g0^!Y=1% zDsedm`Y*I--&;Gf`K3p<&CFrIxqzizF=2|W0<%?YGPXaQNtKC3Xk2DS{~jHt)zzQ4 zWaD1UnAVEy;Z#<*Y!(d9TtW6pO9=MzRIpME3r<_Zi={c>ck3WKE;5CEe`fF*%MxMa zw{?&bc#oBDPh}IgPQWwIW1#zYr|7)Jpef0HnpiXD6HZMLLxWN=(piwfjt1tS)WaC+ zR!K*3^H(@RelD*#{XMH}Ob2Jz_i%rqAG{wtf!3~zgX+!qP$wb-bEZ5bh1x_6%J-(h z2Q%60fP8qGn?;At9l-6W7SPkt$UaUB!~Ds)^hcQceV(03wl8LZa{o5cJh&F+qtEj% z7v*8doj=s;or0~Wg+1qu8BBVr7WXBgTvU>~7Os9&hK)yNfOtQ$(wr)`=u{?#>^sJe z(ra3KUqk4P^gvMDAM{N>0T(w7BZuSX;K{F(%w3p;`mJ2XRAyufoWC}<`G5yAyK>K# zTfG%7t~X`nHmC7j>nrYBR5E1s6w~Q12e>}FR2X+vg<5L%)0qepaITfGJ2>f&kn2xi zf%)$-X6y|N>ljK3PIh$VaTKlGzLVXhX4GAs!R|#TQd@8$ZH&8*%5Ph7LCzX{@im-g z?XdzWwS)A;)l}d&RCC`FotTYZ9_{woOcy>#0-HD)yqlD0XXqr*C@{g7k*apfM`W

nI5q}>0v0v#mH(ODY(Kq2d`o@i3TL~GS}j;}PsphuzPQ!~7%0=als!K2egw1jljD)8XJ|xsY47 zV>-%s5*AGGq!Yyx>CfD|lyhq;edd?ZS+cfG?oXvRCnk~fsmau-_>~Yb@@AV({_YiD}q7wHU~ooMUq?6R#=oX%Es02I&18z;?fmWpxq!21I1Ue z(cgBml1*x87?1`xcGkkEEp=3E7fXZc7l4+<8+Q9}CX;&kh*R8Fg@>Q}u}vDPc<@a% zibr=arQ6r=>WrgUBD%(`181`B3o_wArW}2FHHsFvM}X|>wUGEKl65SxW73jf%RGcW z>jOD-bgE!o_qIVBuL}*rUEIFcnI#m*($T}~S*hF_I;53^-`*&I$#rKw=(ymfow*QF zdke^cJ4PcVmayo%v*5$)LauCU0qKOL;k8xO{3ZS+PVd$dy4xdRuIyVD_IERegkEF2 z>KZZrzdl%<7S2|$;pq2zbGU0F!b*i|X82JP`Xr4=`>P8jpG)OuRQ*K#d$QDLH;N*4 zi_mnn7aKA^f_=R;k$UIWvMT|O6s;75Dwz?)mgn=|^a&09N7F=svoPN{jr8tMCT)oz zd@Rg?Y{PTtwg+)=y$vG*mB8O>fPI!e!Qy0xl7C|~%#xf!xviIAk*Pf#(cMg?$>QL@ z`7x?W9Kzeywyc1Cz>|FiQ0`($o42N-%f?mUqZHnTH0GU*oW+61Hg}KQWY| zxsJC%P~Ex|Xvzo}*`7jD{-w01T86$A-NVhB)j1~2@8X3lg5=T5q&``OLT)Pn|J4Q3 z&q%Rns#Z`qekyz$x0uWIzeLBs2eOCVYr(p32A&G?p_KB;^w(INyteGe5iOEXU3M5R z?aYSZEAKM9e?y=nZ!%LEw}2jeZR9pMeg*z@1iRGmK-fPNkZwvD=~{(QXp^*8T8vT zoac>Rv90|vtN{b-M#AQSjnt&RkKbZ`3_AK6;ODSOm|j*2i~T;? zer#$+OX+Mnm{mlx6<#oLgDDUZqs+3$^)O%FgMAp92MPj%c;=8#i!8t6zl&_g_r59g@Uh#eEDL&u%bmng7OmIb%;ldSip z6Z32J1HTLroQvBd+`DVYE6pnxEZ~K(R9ppmgL} zHu{$dcX`PQYFrb?;`-xQs!t3#Mla*_rv-x&yyF#8{Dkh*acCYeqLO{D@!0SixLR`n z`>#A__2GxeT;Ov%gv!IOJD=F_Q=w4yc_=AOT*$)Y!a#g#78Y!?fu@RTws`gc8V~=0 z;VotGux&r6mYiZIt=2P*XESK7_aocLNsbWOu$N76b*HQDn&2sM7T+q{vzN<8zzbzF zSom}{t?3A>1J069^<)0^?%iZP;yR!+^kU5Fc173?( zV-G}c`+ysJEWzfVz=1WAV8;XgGOOq~DxK;}`MmM=k0I*>i%)L2(`J10sQ zM^`fa(dL7|_S$!VJ_=mzTA|h8srLwHKl;nLO=uGh9Vhg#0@cWPgTRH6wSvpq%8<1q z555(hB58?7tg+ml%9ZutX15wljEqF9))3)dHW4jq4q`&*BKV>z0dudZ(5tL}*uAs^ z{>Ups+Fld7{ICq%1gD63-*@0!nsBS&`pe%b5v5f+OxTbwHNU|wd2I5hioh->_l5)p`qXoUI?l}897P2uJ@7fNUsoc1jg%y8lD?H zZV)Z+wW1JXb2xf6fGvov1m4i+?wPCUP86r0r_e9*JIUf7#Io$s?R@Lsa;Do5&oUw>(u8_)T|o0j~9q8JJ;R$y&)-yw2%8d}TUf>i}&WYufIW^&sx zc}u>n?x%V#HZ+TcJakP8#O?qSJLBSulGRIL%;DMtrB?YP5 zss0;AdlgKnOC-KccSRLd$i84f3O&1NmRB)sz5fZzx#if`Z+8XBbN@~dO0zN(Ql_t`2o*+UyjO^&b=1%{*; z7YtJ^)1cLS6t&OD6v}_0Y`vX2%}|M}*R}HJRwcya7^ncz&4;}0Vl5ai@OfS&CBoUw zG2D{li(uxcBdq#^1U#1b2Q7|4@Z7fvlq!bOu?>-+KsWo2PLX3fiwS>4Pc|Ckms!g4MWJPP4(MX$s0PUpP5Y z#%|Y*5e&CG@}iolutn=6i~dl?>DXW7tMgBS=Fjn@*;F8^@l2pLk8UcuoP^)!nZo2z z#=fR5+l`rXIErX4wp3Gj@eYIW^+@N!Z(c;}M@ZrC4WbJVUhHtpQlGH4iXSN@myqAsojTLOQ z*iS6IYDp?DAK5r8sKuoprjx8|7Pr`I7KyQ|BniJTBXckg-Bf~er^wU!Lt->d@O4NC z-(|{koY~jXLzH)0mE?klkc-O+KC%LtLWwb(GFHYdBnTfJ`fv!PT(^^(QWy zLq~Wz#N_z1w|e7QeTgp{6TXzbg#O2-KEA{mUbqAI|G2`F=S$ei)$(NU^CX)wSBj(> zRH*RYP`X_kj@rp0(lEP#QKf5XQJo7NG=GdQCpA%Q&_7mbK8}5^%b~kEd*G7bFi0F1 zMt??X2tAI?=z1{%BP83XK*12od=#0t#{n>$-7aL-t0{KbQ(TsoM|CS7@>W70d*`w7 z%w~+X&;`5CxQHuEXP6ggSZyJRfHUk~kUh4~dBL4I<3^K?S3rp0M%=fq3^W7mgj|9Q zYf6-3b5~ztYoey{#Q`Y- z@9wzc7&_=%ah#_sJ$Pg3Qe`OsU@j=S#EvXS>J@K>8G^SRo`rf$}OoKLP)l^;$E)D!8-oHHz!)g+izUhg4xm9fj`UIU40zu^L>2A~ZVS5{8EG+l zC!>O9&%d)#%j`&}iBYu0I;b0@>&_B<2Zyn9NqgFFHk7l-Z z`wVXKq9S}QboM7sQ>M>zlJTfk2J1>tqT!Py=o@m}_0@hfRedPE{(TQi4unDCbq=N; z?nkdkBl=ddg1ho%J8wSJiOz@aho9pu`0`*MZtag(tSHGX4+C~kk!1{Lb@?z& z-=ivUrU9m>Zs1i89mDJiztL-YC~m5?VLBx-FyYB)c(X%-we`)V)AOV#I((UE-cS+u zcV9l5Kc5adMfI?k^CV^8Sn<(vDHtZrL&PmpQV*>`*QSpc+c}6n%{Ic1|7@A)UKm@{ z_Y|egBL&{KF$K`QbA~&L4a{Sv6ghb=MT!17WD##l%j`PP>eeTG zEkBd~JEMx@4Nr0A6)#a?#%}TB(+V_qX$!khHjZsn`N2*bdI?O_F8CeDNbc`LwEL|_ z^STX5-Zuz?BHl2C-a_osmj?a7HXPf05q=dHU`fk2mT|`uEN{s$6M-LEZ!`|0#jn_w zvS856NWh3WA6Ry90vPz{(&DgL{70?}KMtD5zT5v{2Ip6x@#lN6Cvgf*Jy!wi)~UcR zjT#oT_yo1K{wLb@Uo3kfQN>3@?gb^|SnNG}mc4b#W7Tdx{K^RkzQ_IHmedE(+%cKt z1AnpYTK%}=;XQ80&(qu%KQ-!py9v95j^3dA=W$YWI)w$9vQLSF;Afz)f8uwGS32~f zK#Zm80wps3EI|$TjX~y7B+imj6K@?Lg#i)`Xs1|!kG)6INe>%lvZ4j+7A-)x&1Y%P z!sGa|QJPyoYH;r6GS;J?&5au|luiwGp*pj8d=n$aKG_gFdZ!DYoF77|E0L+E3%!Ev zCAj9S0}dN~3f=pZ>Bcup3=`IYraK2PcP}G&w?Sa{1pZ^yTI-n3sXUZ>{s7ZGXVX~s z<80>j!65O}6l&bUX*t}-lR8&eMZFV#Jz>mJRyp9>i?5-hSBcEWt-|;=cQ$2(5l#u6 zjmCjD*wS66Yd+Wxrs6PlGW++BKVmY8!B^Jjq#iA-aS8$%K^NNRrj|XvPy}+4Q zkc4>WJJ7H|35IR@h|4#wteIB$i4Ro}(TWabkWagUX%b7|b4(ro%whpFM6D+KhMQP< zA&%`n_=hWJ4_NTR7vHM) z_&)4^n9mPp%JAmrG-^`HWlME#;g{^8G&A5ft2Qtst;E$}wo3w}J)FcY+@Ach=c-g1vL> z}-B< z1LnWyRHTNpkT@IKySLPkC_Tvjpmd8{w!#I)h_Vfr!xorQDoa5&J2Z};t}yI z95}xeSEw+UvWMqg0^?C`@h=wbrvNm-f(nvySREx|nbkgqPK})VsR|ad*px0*ZG;4~ zBBoNR&Y46Ep%WqF;fRSPACs|?eEWl8n0FW)7|hW`@kZKUk}Eby+$Q|&I*a(}L9^_i zh{1FroE}@mc8xLQ(iY0I$SrqRXmUQJx5&`kg-uNP(rnW6HiJ_gQlPX(6;3@kPBOMZ zFz$UCXE!LG%?i?hR~j`qae6oZRLOPbtv4ue~J5Jc7}@?R|4x& zGT`Z|X;AOrfx4%^@l`J~Ac}oJiy9I6U66pg(_=ZC(=*uo%0*bcH;Ol(rwkkS9%a9$ zSb@%ODR4WvfMQJ!V%Lo^5IHeHY}_=5PTtx~VLO#!0L}x8@;tJeTg{cmf{ zz}ICkY-$eLimYMHPj`qfS;)R+9L9uOFWIk-EVd$3k4AXpFjvV`eBxmYQw%TR3Y^8| zg^U$A*#d{ku9V4dLwqZf4JJOZ*s29gp)#E5%6Xu|&F^frzBH$FAdP9&)k5XdgBUm0 z1sfsVPPX^(Y3%TXK53Ru4;&8>JT ziY|>L{R45LQN>>4i^4)2;N9K#5(>sL0FzP>A!SD zzr0$0(ODNZLE#v8!tWXe`aTi0%BBbzxp=(r)Rr2rd&7aGXg2>qI(eAAVkUX{Y`vW{ zj$|?7|Ef8)q3(CGZ1Y6$cvz?hW z++LkOIJxo@Zv9}%?zAsLZtqbHYLyrEQA=R*RDl;bN0oHzL+P6Q6k0aD3R~9NbE9V` z;1D}K}0i)=!ZKAC=!gzK8wq?Y6c7uzcNp;C95zE3qTJyh6Pi%i(RL$%xx z-D-aF(o9(TXgm#;xQ{L4hr^$1zRb*B5+r7u(q;`|CNf>%+{QCXdagr0^DXG-KzX6h zc97QpaEJ7_$6$1}mH2Fl8h5H^GU_XDf*bq>IJde2{om|k8BHqG60n&0^gKYX$)hP> zxr1xiJ&?IAZx`6!uORP3BlDLLk$Q$UMCxs0`?j{=iwX<4w^V?F##FJPGe)uMkyp6K zo*ArV|27iMYh&lhhD_}B*n5X8eAWL?$erIqJ(X#+@K`(dSlWR%cAtPUl`_oh;XvB{ z^EB%*4~N372DCzJ7dhD6k-8m*C*ZWYM8q|*cp|gein$Qd0#IxnTXP{N~EO&KC0%hkfpI$;a%}uE*T!hI8eIIJCqL=cG967cW*!zIF26(x0NU3ms3wM$WxC5 zc|Ce%=+F`Wf6RBo5`o2_NnbVJ;y^nK_|_ui7V0LD;PL`ke-Z@0a--WP zT;ab)OCWc#)k3Um$KQCHedd7TpszSDp0+xCe2!w1Iv0$aiZWo zN$`4%Jsb4dgCAa0Iwy#W{##Tt^WbrjbgVX6|F&nYiwwc8(-$(6Wnt?-d-3{U4c4$d z7$+@sq>B}G%y`vrQGAg;d3ZYGjh}h=^X)A*TOtEit=-1;9!O-Pt{3qK@9#jDj97Rf zt3-v7HnNDM0EkL6lKjzh=%MN=9yP)2s=x|t#yq3Iy0}mu=kM>ziIrbk~K2)ct zWr*e05_Dnm6l`jb1jn;KSn0eRmbFIcQmbfVZ9@P~9ruk5UNi$|#XFL-jTk1#g;UMB z4AxEhwAE}N*eI=LSM)c)y={hc-BpH7ANYWK>vLCNUS~m5-D9R}*owa^%VENP3wk;x z6Mrwhj1n??Sj+cPZfEu%K0a75h;AGR?u#X9+v0YR?-V+@kBmA0%SYIH#a^a9vjdG$ z3Xa>%2ESYtD(F0eJ?58CbgUga1{=_`!UAqYv_Dt#QGOqiEsEFiH^5Vq4`m z3c1QvG*s6G{M**SyxMa9@2bn9i8cu^LvEf>*wqEDa65FLyvj-)nxJ#G32eg*PV?<_ zPV_1dzb-h*j@8)H=I*(KU8Z2X%7D!iGK5cDrRmtpJ>+ld1?gE1G~=o+v@g?y)~!Er zq}3?4_hUJhD+WPWNjr9r7BWGqkJ%bw&u~&;aHd}VKUZ-Zr56{X%cd}vrkf~+78_C5 zcOzI=e2m1i(pj0zP_i;<5}YlmSSHiSPZU+)p`iz%x6hW3RFtP8Lqkf`TrJ+ctA-!? zbPaCNv!PYHd?2>=3L18H;m;YTSo*0Q=q%*g8{#G5^mbJ+_+kR4N}23lWg4E4yvS}S z2GX<{g0ppE9Y5mWG4}8MJFH)!2iH_DMqzrFW?|+|6@#xmtEnUk0lEEo=IG|NgU}kCQzj? zyKQMNWifkSVVqqqU!4>z{*~OI^#-hrdFqoz-dokc; zJ@6MPRg8y@e9-a9SHt z#FjUW1Pmww>C-2KuI&=~U{D}MnXAcn_)@7SITd%`k80O89VN6YGfljE-8qqM+bGkgnW@%@+gNt+GJT!!7mP zrJeKOVEJ{j9;8RReHViNQ9ahCBJkla9f814?d-Hz+K%fSG$}L+@*{>&1#Dt$rT_PD; ztV&4al0{oZE6M85cYf2LN~|Ab#Jm4n2;B+m!L$7+_xPB=2NPU$zdlCO&F(R*=zO+V zcC0h(^(uzDrmv~9^c@>~B#oUq>ItUO+ORZJmSn@@TfoyO~1(aB;Zuuj`dn@TU?1VvAnp=%G&a}9e#F9|%uek`3;Z&QD4 z9M|pHz~ma<;^SEgg6}n%HWaLfzb6}*pWaOD%o2P>cVyX zcVg`i5>)rO3`VLN` z<14@w2fA{xhP^a>4J!I7l$5)c4XWJ-#w$L-{7}K`Ixv@8^{*c;3*Us|rbCdIk5uk7 z9>!Ej(c$P%EMwMMJRg(FPnd9+rpQmHBH&r|WCim5!o#ocAU8XnD~@)tqu@KQ_zt~Q_|@$>YZh1-OM@+N#FSU)@$ny9`e-kW@;S@*WZ9C! zP!qD6{0r-vQ&_Lfbb*~epClWnf`V|ad?B#Y-Yy& zG(A1C5{~Az;~4k7sD zq}ivXWAOcI9g@}@1ZvWrV82yY;5J{wxJMvA6OCBVmFiC}!c z6btTYvPstIw9-@^n$OLH$9*o4J9->_)a%19)*1Bkz(Dr>@OW0DJOFk#^>Wj{xA+|BR&awy*)GJ>7k!8ynE*c|Q`oSFqoRN{FOA5BYU&&|eCmSG4Cp45v)qEc4>Nsiqe)W$jubztPYK)4`qq_jOUX^>4L zv%|;mU2xYvo3)xw+8D5%hUP5ivpLwA9fBwQIn1W&INBJ=(HYrT)YmhjP^myF_+BXV zE$_mwopDr9Fq~uujpB}HZ={FvOWAcV1Ac_wQo3F<3c1`}{MU|=kn(Rio7gadozq#s zDwcXtqro(+Dz1Vj`*UbmXDa@ft<1j~cZ@xY(&KMs+OS2|C#gnO(pFhP4(x93rM3^J z_>guX4}Zazl+JVffM1a?^Y%(A{-XvbUSFZi%_>xTNte^g+<>E;E{Y$lo<^TMtJ(Rf zp;Y`&4yVW{QA9urYqPH9vW<&DDfa}9ouFvDO8ya~`E@hLeb4Yz(H+dsPlj?UNs8)C z6)n)7fY}+Rg&DFM`YA`!hlTC1chor?F!LVEeD47&!u->{k&(~tUDOsuOfhB|Q&3fb z&?!pj8E!!Ay1H=Y_`-rajX!zevme4na0!{wj2g_VcXzFxIM|lS<`#pNUA8l#Wwj*;x{a6;|lU*ajQ!dS@-19 zs=q1}we%{6xcB0Z>knYcvRZiT>Ps)d7TzTOz@#gK(cIUI40kC&zLglRNGgM8h!&|T zE@sP3$MAQDq*Alt7xvM42x`S^vE_+UGLvJk_e@cO`g<|?ux4fjvt>_HiDD)AFj z9ygEv8*+$Dj`#BaEs$bMY>g=@LK>~s$3tED6lSrokZmmE`O906(d1#1>D9I;Oy>GO z_U@1*ZP>AdLL=mao|*>V_cs%LzxvS=rw1r|+z1bcgn;kJ02m>$6GbcS*de8<5F4jR zLhWB*p-zLs>TJ?oF`Fjsng>0O##E+f2MG>Qkbd(%%1o4{^(n{U$c(daqpA`NT`fUW zVIs_5r^4H;3@X@p99I~Zvp-Li==8^M`jVwcJEq)(p>wJszKEx~Z($;xa{?#xlHkwT zRtUS?dSQ;d2EJ@AC-KLrv^c++NsQE^O=0WV8u>>!>g!F6aVcaOetB5;SdQi|ti=2v zE0#LTkYa1&fX~cB+m`pJIy)Zpb;eWv12g$2rBop z*gPReeW0UA#Kl+gZD(iFtI#|qZFz~+sb8WofzoWnv}Ec%KS^-9{YLBWc@W)ti)HG5 z5<2e^(Bz#2og3%SkL{)cL!d!qd}b9{tha@Yr*i4@K5NjaFQ%>uz1TH2f;+NnF8K4Y z+>B3k@at(Vt$VQ>3uoQI*Bg8AtlM|CSIL~2ZMG)e01vpfc@HJ!OlOPSW0)dnQu6^Z zKcICenpv09vW|FIX{P~eYSPHAM0j>`55n~};XA+hBa7R-0QVP@!Lc{T^Gh2ApI=WH+Fv-z?>TXj8BWwlA8%|ExcTno^1Q;g=#wOTA#~uV+%(nIG)dbTOALbZbwp z&Vb#*9sB6OKp6Jy9`o3<3nNX6VTFtnwJyKU_uV~04t9HCutgjkrvsqgn=X1>qzl!8 z3wZ8;HS})LVUnDEmTeu627!=6f=k0)rZ(>N*u6F)*O+5c=rWa{CU7|e-VdNjL1`UZBw8+1N z@2-wy9V_p#O9SL7+H(@@G8DR>7for667l^HmB3_6Iy1c#2>o8fuU@kkb~ehuXsY5r zymX=;WQ7HpS5WU(FkD!Y2sd{JGC8M1;>)iZnAX02rez@oRnwc%xh{cz2YIr*`e-&T zQk|*p9}Lqc#AhO0trJ+o4l*4K3drG49Fe=0W%!vy<8i;(6z%o&&?^#D1^HZ6GMw1hk$Xt z4)kZKfn|?Bovc_6ZaE>W{K6R9Wo0H%?(&K~j=IOb=PrQ}htu(b#yXs+Q3b!uTG;k` zb~HmNh#Cj2g`)Fk>1NVjb}4Ku&6+-p&d=IJTa}K&nz8~m^pz%Aemg6S1{J8Re=W_* ztKkACDZ%FTvQRO{jS4r7rybss7_u*oyb@9<>NTU)S04fk;dymKKk}X`o4GnwNx;VZ}pcGA{{dxqidql4P#%?GEs?Kg+a=b09xB4Hgy( zZO9vJUMq%#OG)_P_W?L^Ifhz0=D|3v2=-{mRg#@BpL}<h< zaRS4pwu4KU05oeyG4I(om+dVqz-ZT9q&hd1ogYzv5$7*s*p(w-e5;7IZ0yCtmNqm# zX+}2bgCOne4UxHrJG@+b1N@&o!;H%QqOq7A>xm1 zW4xh7=xUvi&tX4LAI9z*6?9*DIDK%Hhcl~Iz-vPjy7EK%uM?o-(Ejr-7J?RETq`#d{yW+fX}{(@_K)QVe* zUvk=F2QqQUXQo>d1(xX$?m^~A8tN2Bv*w+_nc*eOCwLJJ9w|ltRVLB|_p>m#={+la zp+;R#G-=J&0625&5VUjuG22O_DP8k4+tN4)Di)byj3-Z>0}}Dmv{Qg5Kd>k1g=`PA zB=0NcXs2_D8cx(+*>Ck{|oG;y>I!rUH5zw^8DXhoG8g zf)RxkI8xxGmy3Iu!~HxAd0Yw${tV@wyT;SDKnIFwQ-u-x;%MB@eE4=bklqN~mCtEY zC`nBh<-fXu{l{l~%fVsfoUBLC{eh)DRwk*!JIrH4g-By{393JzOqFwV$u?A)%)6g5 z(Tw9b#3xETX~Rr<|8WJ`dR)ZV+YiC*JY%uGm+91_Dmt(~3O=m*%h|1yr^Y5(-04BU zuPuXKp$f6CHJRc0o6P-w6z$8`r(S6T>hT;wnPt|nrJ$5Ot&1U>7o%XDc_7#5brM77 zd63wlp6`fz49nW=@uQ^^ZEpO52de_Hs#F@fvwz~*_Y3jmYendavK83rQz>QRCYbd4 zm?-dKHD8}u3=~|*w7nx(aYimiE*lG-sX^E-65)Z7mb7SrB3L}1$lhxj(d)LcoO8J& z861;;bHj6v&PZDMjnZ+0mgiq%ek^m^Pi32n?cVIsw{s2-Z_>fzP`-X1^*OHzeLfA177nI&TG) z69>~7-Z66_Z&#A#LwV`3wALsPZm%_DS^42OvtqbcEPBU>$SOAZy}p||4=w(?;R zD+p91y)hH1I;dxsVJJ>x1nj@Lpe6U`Lut9H z;Fe#E)&I5Q-+=cl^=~R=*S&>+*>!wbumSXpbEn6xqv_iyO`9D*9HD-$z4%?|D;9h+ zjWe}8LRU}U2ah#}F{)!Ml*?DcTwyNaKOu=(rai)lj}zgx#wT3Yc@DiaoJCG|dYMlB z2FgBRNY0LX`TqO0u--|Q<|oKQ)7=j&;a@HH-&1#p%SnXukFMvE*-tG7@ohD7Fadupc}h2R<9z%(n*!R6(jd8O7GmiB8pH5F;WiG8hXQc)zY)i!XwdGQz*BhLe?C4ISGR&rCpR#qzvv-Z3cW|1~DT;Uq~-5U=>?9&N^ zUDk%A;q>!sFM7XE5x9r-_*Gz{t4}-#rT83go0xKoe>#Ba-BB=en-7e%RKlda?d-oX zU3{?59@w#`j7leHle6Gs@sA4yrx%~lD(4TE1E2g_#*|<_W2MG4U3CxayfaoW1K09Y%hnJSG(+ za*ep@y3^5lkB#VJ^loYs`0pYQhH3HPba=ZIxVNQ2?@(FTCUC?q^+khao)P^h5?J?& z7Z}zYCeH;oac`F+JJCK$eARw5^*QyT=J5h}+OPsE4mU#3lyK~`lSI$Gk}xdt72CWs ziCim8pm{8N^D+dPYYY}sq9e}iFPbzPZ!AXVb{XQ zq^N-RJolT8KWczK?BuXBZZO-kc`I%h*~(<9Da19Rk+6PMR#Zc^gf~8sf z6Z)aY#gv*(Uyh7|d*f4K9*L-A;BU6fVhKAFFdyO#7jOq29tO=gNgC$&3&##0K>vvn zSW1%-Ge0o^Zb@g5e^f99J@SE~B@wh-ZWb;4n*)>2?|@yu{ppg}kpG(8ie721xOjaU z*r~UZPGu2E{a43FeblBujkyqar<@;ibOYUaybOG2N8pvK5qytA7>MN6;Xe11UsQ0F zKNdKK4mfOtDHj>rMl*)xnz|H&$N37|Mr?u)Dpn9)i;>DOA5@~`%*mU zdK!uaKf$uesx(?~ko;NYjT>7#S)94R9Uc@*1IvXuhs0Srlyw9L%w9z&>VLAQ&0Xx6 zZW1jn-_H5F2|KY!1%WYdO*P&g>~v=W*~oaXM{7^OvV(@8wSEfedYjX-ZC-+BbPjjL zzMO@?adu$RI8O5YAvhuLBzkOV3!*G*=xGh6lex&!*ZDG+;&3QvRfeMWAlU2?A~=da zLBs(oy5VybJ$1stZD1l?Px^zuf4$}RF5OQX4UKT7k^nMx)-(J^Ub*8>s5pz^5y_ zLVMyk`r7D@`ArX5sdozY##!S-qnWfad^ew~REDwF1Xqf@9Q@1s$M?4h-WLyVmUZ$h zzSaOpT{j8RmoH|yrwm9@>k}M0xr2B1egQjbmSfGScVaiibJ*w-B(~D2##?6ca4PQx z`>q*JdUls#_egpEVe5LK7ZXmGMf+i}N-ASQFDCoc8|rCp;Db!Zl1k%S)?9LyFY3P! zgFY2Q=wTs$b<>fS+h<=`>|txmSlpB!=x}#CZ4VT9T}rBam(D5C zs;)@Vwl9N+ayudX)kt(bu$acCy~ib`&Dm$gsNUA zdPeEwTd)G6yLI@!eJW%bB}KAW%ql}2Vb7C(cCpx>O{;y+89jW8W*>$9MwBcJsr~{= zforLK&~wxlxZe}355d2Ap^!bSn7wMuUf-+2nyQ*|^Mu)Hzy&4^{iHJ^UiOzQT!~?<5>% z`5&8icL3AXdCkJF#zAkRBL7EnDO}(m@mJ)wb9+km)6T;(r1*3^4e7UrwrAJ4#l~g$ zNaGyNICY3mo?*uLk5QDbwv6VuG%&-<#TdCx3mX4zra!{WDP3KS<|K+Sp=bv^5LL4q z+QF>;y#(3qzlHy7ezywkn|xC=bNxl8Z+{CH zNZ3(ijwJmo*n*DvQY3MC5QN2zB-_+(W~DTQT1MK~sLyjCGYuDO7Q-{8A|bIa6X=h75u^~%*$*lz$1W;r#A*7oqU zZ5(}GD-9to=WxrmZTP4&hW&p26vhl_h7XFiq}aa~Y$PM0dchlfRj3BvzBORa%*X6^ zj~e@KUW4j#S6J2P^<*{s87vZ93(8a8qp`6QKJ7RlWdHnGaLuKSek`-jC9R(NBE9)q97oDXArSCB-*^Mqn7YZGq1a@WS zC3xVr1a8$w!LAqioCN*FZgz}U{M#lA4Onq-Iw6i5ydbr=N~+mccTse+Cg*kG^)F*%Vy{}Lin-~{LIn|z?m9R z^79N@-uDsRlOMtje|2c7Wsu=J9F%({==T9Jj7zCx`Sc$fBGEQwFqyU--7O6 z1Hkl_FFueKiFv_C3A`d5(_)Is{+O7`S(+3Q}FP zp={z1*nCNm6zVKksgUW}VwK6>?<-`lR<@%2uIqF*!<@|H2Eyt>4kuZB#uH|?sQ$%@ z^uhOo89vP2YD+6m{zl#8+p>2^>;cUNYC3{r)(Z zR!Brb=JmsZ2katBSLYD#Cr^_3HG(s;gVjq2+=Z?Hm~ONH9tvKcAHwtU`G5&HE?ou& z_k`~2FlB*}-pBg}6_V1)wQR{OTNs+A$h(5zYPTFtzh0};cZcz8j#n((nXkwv!2!wp-3ugwGo@)5!BaOo=3n0Aa^JD@-}HjIWj zcc;UyzCNxufY{GSRzuJKU}cgK=l3()Pz8Oufwynsy)JI9D9S`-emua1S&rB}GJ{q6jP z-6z;&Dh3||ZJ0W84uubEV&UU`;D=QXZ2BbR8Ky>n=*@V_+OV5L`n;Z9)H`?z&mj-39?^VCqQizs)pQ(Ovs2(Fh2FH-i;v z)d)MZdOujW>rY?@M6DPxU78CBn2!?W*I2?N!e7dJ>HYZ`eDnQ0fs1G%Rxn9|?tPEg zTI)ufqY(f`*}|S;>?DePnFUXkYVrHaZM@N+DNwhd9u}=JC)rXrh*Oe=pB@^}dMKIC zp8pgpx|3jy@c;OBb0W>Wq(T?t?=gjcV+C$wG~Iom&YBAEa zP`zCCE=!dUB^U>9b;KgYnUuT42Ko}GQIghFQc$s`ZxIVg!>_s~ z^=1ip2wb;0uTr3HrEr(-KTX9SN`-g8ED%S(N2wf7%CtL%lV@sBWXoVKAU%%i(}WDl zmvG*!#hO;l$YT#R^HE>6KzwY=Le6fU4<4Cy9cL9f;JE=xaCFcx8b2omot(e2L0acf z{l-u>^0h6c)gDGJqM8L;tYNMC^I6aKo4oxH5iKYh3VycLATHm`rIx6}!of?iWMLjM@Yk&JkC>Zk_7lemdHju+R3WT^XP4g^2>lcZvU;cm%L_lSRU7M2L3IgpYCpp+ zr%ZwuGMAau33rm4q(Hytc*5EKb6om~OM={U4oozZg0ofHkfFVUeXje-_4w6c@r3XE zkQ@uXgtsD>JM;Mnt5YoMZYd<&OHwwIh0)7jGLz;_^d<8=pSeK|UfIoogtl7V$T}rzaOd+l9Ot5qUh8-%-%GQFF5=OnZR`1waSFsx9BWpsbw=~X#?wr7s_$#K0A@D%wvYh zH@Q*Qz1gntLG-LhTwsPVxd>=B3tYuqx^NuRi*?g8|NyLG^nk9EZ zCjnIxaxu*7Bq_#*^GS*SI4PMsydrGHrB7;Dz_e-;q(@)IeC+>@A$<^es1A& z0>|SS13Suk`vfltv;9IPp^r6s9TZ4N!Y*8nzk{1G`Is}_5tuJA`sY!x`WI6w{LW7D zRZR1VH~7DI1$H_Sjs+*-d9^~Qm|HJ!1i~TXmJ^#LN`vO@_N>lqKg=;Y%x)Byp~JUu zNKreDK2!fk(Rs&X`F?RcBO*mbQV}ZApp@|3*C7olqa|e&ib{J4mCPhtWUGvf>?Az* zIYmj)RFVqit2DH==kNagU$2*Od+zHx=ks~L6p&WXUG<``}2Yza7JkigT&Y(t5L*|xp*?DXAW=z3m&+fT?c30+6hRmg*-BlO5^6OWPZ zad>6+42r85K(@lrtL2O$cz0UT=g#@`a<06!8MNwe6>tPy0~x$Qu)k@2b-7)?HK=yeQWy7 zLig6;$o?ogT-!i?yCq1uW+XVy|HmBa!-c%=9IE;wWJx#P;twnOiLQ9a()PqKkjoN! z>)Y+ftn#XG{&T~^fx9p)cqpl*C9v7ETLpIkfp&5P{%aEW=#Oone?bB17D?jrqQ&I1 zY#X!)42yp@HPCg!m$v&g^9GUoS(*Jgu;q$HhuY3_p+hY=sq4y=dd`UZ<{?LiqueRH z%8$hk7{%;o&7yR>9JV8P0$UR1O0W3>Ufn(v+W%9Ak;2@+sxm_??UaavyN1$yi#zmc zl@^`f{2vY;znEg9qS*?Jf;+0d;MnO;t6estu8B0e@R_6g-%^-M%}Q)a=kQR0D@8q% zhV{GRXmNQe+6X&~dE`pJ4>?1m{4EybtHi7-X2SE)sxZ)D4o0-5;ZfVSIJ(vmwB=Sq z^20^Xu115rnz=7JbXNWtvfoO8YgFS3(k+g z+ABR6D-}mI=c8GBwE^mzJf#f{r(pFlFK{zR!ICRYFvn4rif)V{?cYN0O4*Oy%&2C* znpbh;$6~(2;wtV%6`I>nPB|G~+@a6cg*n+WJiA632Z%Co_H+@Mu5!V~z^81{z-SC| z?i07XYGdx|8(53&0eZjaDoc|U&L^w0xEo)b;F`4vx-@^Gqb+eZ-HYK^&I?{4`5j!E zLilw}0A8{f0-K#;SY&J=KjMxCzUmcW(OfAoQ;~;&Ll)q?asz5_w*}I)!&jAd6lc|e z-nD^z&8!gE-=$2`59WZ$P;00af91apF@^!trm(e3Mv~;PNAP}b8jV{uizy%L=4af0 z$lmSS3JrqWbac@MR&uWy7gX2c#Med0lB&dpmyg3(r#tNKN#Pz|v6Dh(mh;6zKWO~8 zY*=0)2`i(fW97HSpkaSO)cRi&)3u1>C1mGgr}AD*xE{^|#_z@{>NmK^16x_%vM?G= zFR|WpJf!_IqPewBq`UeItXACwt8Am0>(o=^u-27(b}|Km+I>LPB-@m~tj<#QRH5$O zetzB7zx>-yKloL24xNX;;?o6ZCf~T2y*Sy#R{uH2F4m3%x8-_}ts%H2&)2hzD{t5t zrb*LG8@SMd2yFEj2uf{Lc;o(9I3VWG+eU$|&;89j<-OQvD}8cIcY(wtJAOxSC>8p@ z!f)R{qvc8i(!b+LZ33%o;C@-!p-8y-k$dgQj!qmn@FG)u{*V`qIe~S9tW9!_4QaA& z7VYyG2U?E7T<4NE`0CY4k)PQqtPe@y`WCs;DnkkS%56k-rBnPD?N#v8YdG6r_ys@D z)MCRs5~11174pX{pcP&NMejdNMBSf2>(+*HUg7`PK)V3e{^JxhPB(%9Db2XM^Z@P; z>*l*Jxx$Sj{O}m0A|B*&OQ3Oy1MAIpWDllKWRJY&lK4y(-@DP3n2tH_vPz<1UnVff*v*!v zon|q@9%A%cJB+;3hy_grOsje-Jvnz8-}!apy!%18r#lDarf1V_PeuAXxCJ(hY7tpS z%)|0m^Pwv$l9emJ#(lTjS?-tX;G;LW_R8IvG}uI)6(4+vPr4p(ecS)w@}x|#-O?}G zzF-&x=wIf|P7q%E@JMXPHL>T1?}>k}@@0J4GwiEVVsCe+qt~4fK5_PaUX*Z{+5L8* zD<`M(YA@8GPA7&M<$KwXD;!j=SECZ=WOO!~3YIo?{Lz$yLa*Nh$}*;q_{UFd+C82` z`$s}|i4r*eEyGSLKYD5OgVmM=a)><<)vxt{0!W4W)c`boCT6m73|8lLiYLj7+!MaQo6aD zL+e+$*cn*IqGJA^!G3|*(S`S~tJ2Glf0&kOBey*?2z8ngY1C6gk_;;4vfc7PbnrQQ zs&$VqYS|AF)mmJl-)PLRkER!$M`@eQPL%uBKwWP-aPTKdcE%)BjcZJ;7ntd9S zv|tXIZqWu~1vOO3ccMGr<7tYL4RxLHXZ|WX@D3lr?kxF>HQfV1Wok3iZdgG5PPf>U zaeL{QHb-l^yIJ4~1cC;m^3M_-QQ>M@bwmEwtYUQyi}9jnWW9l7RkZ@*J*T1`&Z@2mOsuc6aF5}p?$%>9Gz@#5T;ZIeBxuj*SeWwaB{Lbkoy|CRRzMDR z!qYWUa5LY9OJ8=7{xrE!jCH)&Kv{~qAH}1G(2c(GS<-CK#&_V~=!1sW`guR6gQ&kY z1(L31(T$z^>CmOy%vY_97A`$ND+I?M&I&@s=f|{69T?u!NxsxSh-M=yskH}6ze32IoZHO zHomOrM+}~d6ns*r9>KoGh0qiwOX~{EXm4vKJM?cTCnK2*`AdhBYF7qbFDYTeD_5|n zZD*kO$9d*BK?TCfROq>04es&&jq_i{Q~ks`%JX~15|2EG3o9oux2;}u%RgeYtyo3Ww%^OVO}yH*7LnSN05XDS^m=Ls#A z!LY~>{>r7bES<|mDt>|=zJ?1Pg88uL>=w8fP*tflJPKE8nf^$i*dHc_thR)t7OZr z-TsO`7uQqOVPYj0#GJBc0hZ3urR3MH@NM=my0le^j>$7lDbStFzWn2+FRsLYk6!bq zVlQ(e1|K1}p1-Jc0%{EF4^eoh0+>FV4IA@gU|{nlcphI#Kh_{z)w@gbH!gwiAyXJ( z_Ju_SbaR)sSfXaM(3j`Rc$dL;&^vwzMg4lqq&hz1*a4-ibJ{YtrD+TnE(n4t>@{1I z^@LLGZ}F0k+WCuDtigD5AuJug3raO-z=F3sDgECfew<7mxI#KsoA0XOu9@K>on&%r zbFVetxD}e;yo98d8+5buC$7-?Y5M8aa+Y1HLNOu!+LsE@rXsm`iE5GLk@-i75ML**_0&n9F_nC0#sSZ1;m_h?W7SLJW zC#3Bc3&leJE_p!+P5A3cC$>*x=VYFM(a1hDP<{*_Od6P@elKiF=F!VH4Btdm!=!JC z6#rd?9;>zE6P!!7uFA|R3Nd8!HC(%KADsShmLL261sn6gfQ}s2qo@Zzx%5LD2_*7~ zQ>&&P^O>Y;Tt$s~lI+xyD6S#K3kz&A*w%xLpVnGK3e6GNEY4$pp&oJ^3`w?Gf=~S0 zNhWUp*wPDgDQ?Ci!IgBJJvblAe4jl9tDYJYo%;1KYJ?J7W)i_(ml=}V_GwhOE{g2x zyrArX1vcqg(xD$&s9CIzcA5H6BiuQ)4@yv7y1)z7l%bsi){uW$jKEOJvtW9$B(EKZ*UTDi*R-Kbc4QAo}^F4Kok`{qqqSbQ&tCDoR~Yx67Y=DpYK2lrU~!Da%C&3KL$hhgIwlhbPxYfvjB%j3qD|dAc&~sD&xU|mtQ9x!b_Pw_ zeGgxs4uRAcquA#5|J%>vR3eJ zt3|jr={WAYkVfT=#;nBm3D)et4LuvzLckwuR^^xtosNg-Nro-y9cjnf(_ye~?n+iS zER?w$1T*jQ2sqO!+<~sm1AD1N+#IWix3=#j_c^+lw6X$qy@k)vMTPwR5M_2!=pmNW z9028@DHJt*F2o7k=3igt3!j%Sak$1P(!QJt2_@(7{w+luzd3>Whk4b0vpNXx7t5Pj znf_$QJ@(MS>uWG6(t@3rs^*qQE{8M07J};|o(ntv2G+4rsJd+x#dVe7R1QpNurxF)B?B?{sv{WR z;wZjPlRWEY!p9XSP|8moyQ?eF!MutN_l0mr1}=dIkvEvE(7THMnkdrRt|Bm9Z=lrl zRBW6f1*wBpK3YkAxOpiBQEsCKnU4i`a;}%rw@)Vu-4S;`tGubES z)zrOXn(&Oh<+GjQV0NB4jW9K?EjVjOKPTw32dNIAJIIDz)?EkHLO%0eR2CB-jHjC1 z-?XWCGdVxm%p?~7!?$<$;j6b1T>P8S^lPv`Z__(mY*5h6QdEPmwYP{pUAdmJJ|*H3 zw-8X3Q=-|+mFRh{CM-X$1YN>=L(43gk_YYp<3$B@ZL+XmlfQ+rf5y_fD zT8205 z=w7c&v%r@wyi6qRVf$#@+FVTS+d!cMmr`}b0IWQF7D9Bc@|kX@*uMrntbLIL`l`d= zvfU)QtLa7V!r%E{VIN#_`5Pu48^C#`T)}@cbD>FlmDp502s%Qw`9p(s;X`w$__n5q zW}Q5Yhg@$Foy`X+?*=w@OBHu}*>1XHuoOPLokm|mkJF$l$5?cA80_(IVR`ohFh|&H z6#pB`Eq}k7+&bO)7hOgCvgE=1#QI+>Tx%+=pBV_#-i1-sns2y9xEoJ1L$q16hGJ}d z*pnew`AeVGK;wQD^I9+xQuHLj+DQ}tyCcjsZNm8GvQ*lio<$Qkm2+>>0qYFUaYtp8 znE%p)0ux-CjvV;Hz6(s5h>Ll6OJv4u&T7-}jTfhMZvr+M_{LlI`{~D1X=6*=y@ax9xQXBmgQ>nWbzHXr57n`SvrO4%m&~$=Q0?b z`yKC^{)hH)Gg!c(owR>MIJ>_xns#RHqB$p4&^;d&xaSp%Cb#P0VaZ@J8kWZ0+Mh;) zx2V8opR;U$=NP>8XsqBUPQa_Rnaq67Sh$@(UG!Bs2ezFULSflUAt0s|FJQFnnc+ma~oN3;&&=CC3vT;L8d z8kO9HgFnFRkB|et_?TH+Aa2a%n9>Xx7$3oEw6Rl{sG_$PmZ1!s5WG=K*@UYxX5N{un zA>2JyfVruwXt*W8*Vv%bo^vZm63n9iMZLnU2mTsdhQaX_*Q} zLN3xIXeN|@Eo1Lq9_235US>G7AJ4}BWy^BBz+v1_nle~$%FhBg`tm!wX>**bT~`H; zg7-qZRvP9t7|_rcYuN6OQglmi4BoJIqJ%SXxIR4xKc)BKRW&6*e-El_9*X>a2bkd< z$9)hov1k25VZGxE8XuBQ>Ytaxvaw$|r?^)%PE~LoyitS17_}W6vreFgYaV#W-ez!Xm3j%`){Bei{$_CQ=>NGl$sNG>%EAahE=nl_f}BN z_;!^4V=VXu1)k}UHLU*XKgM?VgNM4%XL`rrK|ms&vTtFhf^OpVk=w~4YXdd>7y(ri zehBVMYo_OOfj1H|Y>zV{p!*sV_{2{jF*%6T=XtQ5<8H9Gqc>uyY$2=7UB!G}NtoT* z=8W5?v~$nv^!Nb>YVqr~eAHgAPWA`oNTJe*PCm`$QWf@aJ3k*`1@)%%=iwpjG8#%l z&kh6w=R%l%^A3|ds|Gq@)!dArqryF5Jl)@R7ZdI^Lu6P4cFjwIwXfFD^cl${qyC+D z6xcu$eYdgoitl($x2-f~`%T(bs0*VXDiObT4K%E}0Ja5|^n2xU8X!N9OlGHv*m=QQ zYxob2C6x14r6c%VJB9nbzaqUhUBy{^l!r&J^eJOq50lRxNI(3?!?b64%)+D|MP;S1 zKH)W+emj{4343~t+bP`K$!~G>lOU)|ngp89*V69yJ#35R3kbL=26zwn#Ar7dW&mh_3*Ze8$Eqdj`wp_NcrL!)D73C z&vTX&Q#%Bu{%gSQNGTcXMAO3yE@W4@52mD_W^1<_GS#X7!2OXeEo@thg$gsdL!J96 zRxguwZBeAojvJ^Uw;r`qIEvXef;>PHPu+Ws?`(WPf7EDf($J*S?HcgYCkh@-I>hd8 zT1_Jk-$CDK6!jcE$YzH4^9$a^^Zq8gv2@5>RNU|aLw`F`n9zNS`nQSZjt+)Xp>oVC zSQmT#lcUE^j)PNa55>M(s+Ivi8S-N)@tj|CUedh~qUj&i+Eu+Z%U{x_(Sox6A%&OPjAeReTuP|-&1 zvGZx+%4B}m#$C9hSPE`zi-t??I-qvq8qT@;oR9t`e7?@yOTqTqm~HCI7F~8>bFT~g z*Sr)uJWH1Bx9W0PL4q&Pd_9=>4S^Jo&9KLDB#uj6Ood+Bps9Tl+waFgSV}QwjyWl0 zuX9koH;{cElSm#l|M1F>C&Jz&i0TGgm`(M=gib?9b@qAwCQ3=wf&=sZl0)@<{<2#tbZs>PwU!PFUMXY}I!i!%*Cxogx|4Fx z7|^pZF5o#Of$h)LWAP2o@UmMtE?W}8Ufn6;MphZq-I~R4Zc7@Do6&@A2fpHpok>hi zcNzQ7h3B~~T8uAw$X1*z#P3$UEPlg7)|eB)wGR-y)kU|ke1r=7r78nQW+qc$cscKs zt3)U6e?q^0C&Al0gH_F{=2UJR=Pc_pPE$3+ zykCa(NISuUn?|HH)eysuF5(y8_XYD#4Vu&_O%r{SS#wc6x?wYVZR{2pvI67bTo#U< zyM+ug3-~n=n{j7K6fIqo%B%cbPh5x|xRhQeSz#7qJMB1Ys_94FYcDaw;RCa9=WyF8 zcNkcgL}fa&nL&I5%Q1U{p=Wk5X_*Hgn;9fFKQNI7Hj6+)D27LsOd|K=?l?(!{&~k} z{~%EjFg@@KcxFn>`Rg1}i^ zx51ScesrX9G?6)GU1lq4tI)_rn?9>g5x*5&T@S2xLVCw2%Cnk6I-?PWB>xp0agKD# z;x6`jCkjpn6&kxbP~hY(Mc!oyj4FJ=r`sNXs(yaI=#b0|L#tMekH${;}PR;H=an0zy zT|FI*BQ~f(?So&)b%b#5#tQDx^^LIlnwZrVnc(@K6;M>IO8VRx=CLJ`9eLY;<7dpK zi`U2TW&N2r+KlI?uF}J!F6Cf$zldTS_v7b}@yzR;Cfs}}xTK{Wn8Sketmk4aGkrRQ z`S&d&wDHD8>fq^#?Apg-NR^JvPFqkLtGwlb`j=^o* ziG>AtPH{P#wqgczt)GNmdqDX2LjLWVz`XY;WJ8NuvFvR%K6E#uhi@-|%f&wS^5}T( zb#?(W+mQmr7(x3TB1D_S@wj=n2D|o1nLhN}QpB*~I7paR{`$0?<(!>BT5s0Vp6B~O zs-;V$_sI@DJEf`3y9j6RTu%n4Kd?>1?xFje>uf=zH#;J6039M{!Pd2N`20@`VeseK zoL69Jwf*&>|*>Z-!WnDq$|X3;!FsL}20w z+%^M0Xx#RZ*|(HomXJRmv&x8#pJGijoh(@Nl~y6|{2i|@pNC;SDrk4$44e8zlVU$l zDc$v4u{vvgVnY~tRBAsF1uG^ z)ZScH`%;#z7rrj-oM>u){Dwa^&WS#Cj>Ve_C4zJ9BCpso975h7rPD%#qNv4(nJ(87 z{N(4+`*{RK3~j`He?RlrEtbHJ3wdKoFv7~cxs z=t>WV2{*Zat2V*i`Uwzz;1ahpdmp|SdL31VtH6h_Y8aRBkDX0dg~+Z$E`Q`<@)XTHGG&QIhYUO0dT z(*xk%yvgwA+;vp);$ZXFrEINxCr&P^#h^qncjaOVud~II4wb*=SIVWL%v3o_*)tbk zX3Jx+M5?G`=rvY9`4PS}l;SM%DukJXB`v2d%%m$G(;p{cq)9IS`MVriJbZxj2OcyH zbuGo?p1S0eZ$R&KggyB1apb#>a7}SIBwZ;Gd%Yb5j})}o-;ROe8=WfRAU6pJZ92i5 zS}cG|PY1CRd-uVj)0^2T-y)Py*Wn)3KjIJNixGT%m~(V7R^8CSaJMj!_g#vQ2k60O zxm!5&q!N`GMzFS2!I@T&f_}Tz;Pv*wWXRrNk87>y)=0#oMN{#c+$CJ95(4#FeS$xw zoNbCZ!G^rGV)dizF`&F*96-+D zJDaqj0jzF{gh;q}XQ-G5>vo&qQ z5rv=dYJdY;YfVJCwhY{QM%dLikH)Km;~??F3)b820XH3V(ecM*=*cpn)^uBe6E=^; z$DJv`YqG$v{l*Q;jE9hbEY@_a1gA9*fKz`IQR8JO=ty`#mA@Kwy{&^mZ=c~lA9LE_ z4w$8U6s0~{kdcD~SAie!#*S}zb4Da|EQw;^X@RL(GQ=GdviS|#G;~#_zzCm-=?~(B zjtF7K&BJ&`{Wi;~ok0diJ;|eMI$SzZ0d47Re9X^I)^RWa-ide7)OBN-|DTn(v|f$& z?G0g(&lG9&n*lV&`y0lezmKQK7?5(m6?vSP3kU5DanYM(oZ1t{>2=AmtEGqGb4)+e zanR?K#=WcEJ9Q(=uAC&Qd0)Z0yUU<_$qV*Wb0s~RaR>RmKe?-@9ikRrE2Y9Ty%}dT!*SiBP{N&k63wvlzPeG06jIvy0pwC(tB#i|Ij*xeL zZ!m&X8)sm)zv1{8(`Y~h^#2w0Is}#0?-|G_Y zX6PE6Brynvf2m|WVH>%xc4tL0T0_Lox>jP!mW?!Mp&I2DbL>^Fm?;V~m~Vg8>FvaE ztT|kYQyo4E0;Edlp!P_}T{4*lYFKi`ktf)@N@+T%lFT_v45!&c+xdc7R`|?7j(xLn zp;!MYa<9d%yrE79{CGB!q&9|ud-Q8A=$aYq6C7_ZS)MrB;woG7K*+Q@X~9KfEwWl` z#d3=VgI~2D=?y>30)DM$%D1Dye`N`}X(_^<%x0ADTZt~Ex-?i;oz+ht&CH+9z%65Q zVV;d7H27NM^CA1e&Gdzclf2HC?0Spdd$!Ou1s(8?b3v#H325^Yd4(qQ{e0 zV~_elHs!)`NVuFuC&mP@{Dr<0?wvs)!(3_hb6@yztpfWGb#PMFs?;7on;#P~n|l97 zvNM94QpMbp{JXR4sN2~FKYQ!JCb4BlTG;M$qE|o!SNbRF*JnV3L0ts zypH`Jwy0<_IBHhI=H6XgN+V+*CrzL;{rcqIYD2Y)*W&UWV}RM}k!0jjjQSP}Isw<1 zpXW!mQ}EmV_C3Sjd0v8he0<3M{W*T7gqT0@^*a7^w&q6_KgG&ARcwFag*mH4pxrot zJq?_U-_;D5gt7#9mTVMwLTk`KeiPo%)uUND7kJ6vCs4V;SuCwCN$=-3pyue+G;VGM zGhCF2iK)V@F6KX6;Ifue`ce&-PVQ%c9-(ks=1+{80Y@R35T$%)m3TdDsD@}@3BLugyJ{eYi;+iadIKT9@oJVB~MjKy5`vOHK zmtMzKMO?v^vkFo5!gLm~a~Vj@RG=u0ee_r0BZt>%@+HBKF}ZLe?KrYhwCVb4?m^2z zuJ^DhOj&vdCp-kf^H=cHc5he`ioqWm7N z=RLp=^_wX6+{V`>oZ;3w>yY=CVtn*iiu9Hn@aJ{~;u`)adaV|^_c1k)ntp{JY&VjY zNu@C#pLMA7TMEu^*M_8gSEzQm%_fiBLHF!qaIfzGPDWcDdtQIUh6*Fvkf}rA{X*|- zK@n72wJ`%tW2)A325xB|?-MwYx}Ml#O&DR~f3~==)}_|G>RG14#{pWo7A8*~kLovtbty0x1v zTkDKQ{?|nhriQVrH#vyhGKjLm@|f`^Rnlqt#9lP0u!noq@y)YyXdrnF{hlTW&(wIf zQQ8`M+R}=hsnptsE;ptjIQ-FQgkr!>CD96_wQ+P)&IlM36tr94n$Y zx8b1hQxD9pi8OfoPv>(_Hi*vcv7%eey-ah(U}kO@#6D{OmMN)}__S7;#H6{}2_GbLfwS!tTQGZJvW0&e`PNE=t~0H=>bnQY?$>Ytd#^{&|u z$#*TpP1=i5db|VM^kg<9St!EjE1ux~o5NObQ{e93W0r%}Ij_z+bZ6!yZ0bCKGRcp5 zH`!XOH1px++D*|mX;=s3+v!g zF3P~wi6-QFQH8?iEQP2iR~V-{1lHBZv$?ZPA$rsZQNn3Soayb%eT+YjW9PY>%IJu#3DE)%t0&5cJH-jzi2p(99U z-bEoVKMOzS&tQJh9&l=VI7xo~gxhQf(8)9BScUi_b3Lm`17u$DRf8oVXGxUcP2R)D zAO6RDWh_O{cb*g%X|=+eb++*A$O2Fc4;D!TycNyPtznt<1tinajI-UvoYfC4STt!O zSSfpw&(~u3y1S3t{#>E`Q}I6wuPUU6YcrD&dXLbPu47g1^RS+q&}0;2kI(Aw}8XT(i` z{*kR%*r86tuFV9yok_~D}z@*a+ z?ZK~MR;2oU2(b}0kdPV5+M`#no6!Zl`R5pF*e^+IiV~>w24gL&?~5+PM5260BX9NM z8+tE4g%ODkVEtq;{jm_<^&e_cYMUz*3-9n-5Q-18c0%xkI8-ikg0m~;6FFPsPrIXN z5IdL3zBW?sy#iq4&SCyME4HCma1fprvz?iO=kZM+bh|jxV~fGy@?D({RHxvnOY(gF zszDgB?<^Ep=CfLNfzxv&l}j0D$$3aGp^DWZ{H*O^P?jgKj_jLp?YIPJeJe>P%-gX4 zR|y*-oiD6VWoU27LQL5mONkl_sZ)D3{S=?&2MrIV``VI}oNfX|tx|Amo*JL?Bagdq zPehwcjVNsWW;!RWM~hNKl>aQ6HVbF`J-QOK-^vYg>_?KWx(9odR)Kqrb#dk83G}sN zEU3GsW1*HjX{X7t{vHjXvlUB6%0|$d=XU`PtsvctBn~b-!weLskmYqBDtdDgdM0{+ z%#?cc(kR7`^%J2vSB7Z*Ex3>+OH^bEM)$VDT>U^)STP-5%xTAmrNW+X+ci9r`i46@ z+=Og3Pm9)@A7vG?_qa>5FR{To3n@}?J+uv(LQ7T6iRqis>~94aq(74qdrpdzjFZ`G zvsU(iUnK6Th=g(7r{P3`z=ho|1zR_!vNfwl&<~T_;`0Le)oxBU-@}#;nR3> zY|GxA8N3vtu~u(*$tMe1efv z!*S&wj(v?xhDN1G7L_)f-pm+4TE1h6FE7EDXPfAj(88OL`48vs7uY#TUN|Ll7qkp@ zBllggu*NzP7Dg9hYj_B{^+t-0brr&{nS)V%UpAcb8)$ZO`%z5E83n_`Ea>4HB`R%F zhQzC1v9ddb?mpLLy)Pc1Y2GTzU4H;w(2Ru~QW8IVx0esTa1{^jO@M|ejp*{|6zUvQ zgG<8vK=(+7IQ_ss9xDQP0r=ZtX84+h0$oWNd`UQblL0+-#82|N5%1-Ol_MS zvl)3BYpw6{!E2x3<-I*@_v^KobtN5r5-%`|xIrZ2`;gJ6%jk7(DA*64M2BC_Vg}tD z8bzJJY~iz6tu7Q6sA;0HYBy_iD<|V6zTBOaH~DX2ON2E)gS}C%)E_w(3iRwCR&Nn~ z_*z&SH?5qlkTPRyzaOQ@;%rWF-zog-GK+lkT!fxZ8}-!&*OE58R`yra?w^wkD%or4 zck?lr6I+VbmAcfPY(qE8YPi6o((nNi*}}3={)pTWJ~U-Dnm-@UJ~hqdSIvxIS4@xM zzIJmcC|-yri%lpr{{Wr5H&oQ9cpM50hl0ZDiPXPvFZyK&4v&LwbX(#S;fyleXm*nO zP^t~egB0jPM;PpNT19I%S#ibHL)oO+JPVQ^M9aG-({=M9p!75X>r`s6Y;6rz-5U>c zJ=Zgr4MjN5Tbb&=ZO7-IM$*A`2&2{?p`Wh%_&Z^t_$^LFA`GdLq(Pk-aI)?$OwT$4vl2qt!u1N2?p4A1C6hUy zj^%W!%9900x$6rcbV4$g ze$Rj#58h*_oF@M9wq?Uow5a5xH%;4`3C4R|S%>o|m~b)@CkIMFt9b-BbIlMk+j@zY z9%;sC{ymIHFy({I#zRAI9<~1qqGEc-Im#@DKl#mIBFB;ZA4zJdJ_6~knh@qBOL0Fl z!24r3d5g37mZzoIIsZGC|E(I0i}Yw=$5c3-a06u@b+b<)QE*wSggFkYficf{R@qw! zfyW%s;E+5V7iv{Edw4iDbScFO{l+V{PuU)?L&Eh-nx>#`>&Wux| zEr$x>J3pVyvlN+fM;|)03O=H|@l5>HgI`qt0k7A0V7o*;Y*~;(+a`I^DCov7ua%k3 zj8OV)KZVZcl%kYkGWTxy1Ujm&#rM9-g$K8V{noQT%yhjnsl>KY*PXBUA%71n#%g9O zt45#ZxiU+cG(I<6;J9kvf^9cUOg+ymLyrZcV5i?@P&+*ms7z zvyIGCOOEDsZJ;X|%It-o8a-Ush&t=%z^9A{xZ9==Tefdwq=@VD?gwT(Z+u`i1uYOEx7-xSzMeZSbw?G9Y~_hFo_ z65?a20LaVRL+Rf&nXmIzG*Pt1GJXwn-P^~e_M71ToP3l~F@wBu)5vPS&X-NvgoEftRu8Q!vG!4Z(qK4rI5c2m@SA1(r@O znsR%|s6U?h45?sKkDLHk7l60hq?p&jL1sShOySzDC%7g(3oWgMCip?1v)fLh-q|CBoUyGG}U#L@635O-eLI|Q}3pANYw9fnS=29_3l4R#v-fVr1;mI`pU1)) z#eDoUHeOnPGcK+qZKI>q?>p6JzUC1tu z3xe}gW_b1GjI&L2>n&VBvq$hIYY~@irF!kcBw_t=igq~-ZhzZ|LtQ+A1yIr^EoDW!2!rw0o82kTrowrc=% zecb|2KCXvF;$@;GHG4VvpF%!u$$o)fp1|FdYs1b|XWF2<1#CM*1$S*Q9w<^L@y#f@ z)St=K{+>y1Tt10n+BPx03o+*IZS=Z)G*w&ZDho#PB z5tGYcOxY*qw`&T2ed(6~^=q!G&K>GheOI#OXXqVlOLm^ti1%`FiSHobtH@~?u` zep8bBqe7kfnoyz^%I_9f#hMp)!wK+1sOXTdDA>uVA_`&qHf z5v^ETWClas%4nCPC6u8Adzc(bYXUgfsnE+U8gE0lMu)(eSC1>4p2y&a=Nfb=;U^oL zuLE*77nAv(TWtQ>2{?R5II~?l4UCv275iJjXxUL9w__zaIe!zamG_0LE6TX0+J`bE z=dp(oel$xx3cocbz}+KJr)aheshx{|qe65}rNpAEU(453JNq zTWnJ(L+6B)TBoBs?Z0~x-aQDVC$7YL^DLRk^(ct=_z!~z1d!K<46s`%Na8fckahn8 z*5Cbt%h0g|+niKrUmu8ddrz~hU5dt-oPJ@3%lZy34eDHmZ;4~S{ zb{{Lpxhl21_2;ihy3;{LGl=GVTg^NTu7RF^Gkazm!lI<)VINE-|2qxr`wDA(RdIpk zusYFa-)iPDJ{&iC-JsDA1r5EL9Mw!#CmZA66>9e)SYVove_QDZ>)Ugff$U4@aVsJI z_;6^lUdxUJU9j`gA)ahb|3yC*q2%1ux`rx^X{-boHW`H=GjRy`@1K#!lqTCByn2 zH)wyoLU7?OhyNaTF%6Y$*v9EYX3#8nVlo%nWON{7T{iNHYgj$gfVmpV!d!a^q+LwJ zj_G%p`k4JN>WVvOb4qZUn(l+n@s${RRuew|Xh-LSGpyzKe%AQQ7pIk#Lydznc<_s% z=;@RahnZ4I|rrujYDBE2;1(Npp3Qn;USQMDbT5fF@XQcZGKF(Z{ zb(Ul&$EcCx{zy<9=E~RP7lE--8kq@fL{aiyQWY3O^Tzfv=Y&XF@6w6+vvaXR*iUXT z%%S~R-fYMIcl_4n!SGs80K~68j199davn9~akfJj*@`z)-Ks=(_CPC3vpoun^moFK zKyPvisz$#LyWmsNEQq+i0v0~>g0gFNG*!A4*KW*)5B{f_>ReR{+Z4jNf4+fR&e+3$ zgVqW84>_{+xM1qAG7jDZ?xJTG2MhOcUG`^hG?a{Z#;dGL;If;Z2Nkd zt+Wy({2qd(jh|>)P$GJNdIVCtMRc#7s9a$SJv{b`4JpjyvUKyoPEvU1>KX|tE4JX# z&qImyExC4cBi33d35~C6&{N?Q_AJ;2JCd*Q##LTmQNA9V>uo@~M3L<0o@7wyK(nqp zle3;7>({TN+wZ!V%yk*sd?Svw4GW+jQ3>q7^V6xmBN5JPn36@6u+zR3PWnH2_?A4B z{y5BK-R2(b^UW<-l41ZAb0WaLaXIT7b&ze_v`WZ(Xu*@X30%;Hd9=SOoAysLhf|BU z;{0!=pr@G!B*3aZ`2}zvGkRFd%~H^R90HS+NEdwU7h^$fbrUok8Uj8I5ujfm!x>UCS9*9Q+E$uU=jg*I9o>&g zcH4#7Ry0g9v!q+U_R&l8VAywV4v7Xofa8V^!d$PGO;^5O;r2C+eU^2l&iyi^(2AK z_@dl_bWHHb>X`GCR{EEX6YXbiLv-jyQVe8U$AY9+Hs7l*_~X`{#ZWB3$WdqTne-pj zn;69oqz}c%y7TCK$wkVza2Zz*P=OWng=uD_;kt))?0D~P$j@8M9cw*7dK)ZpeU^OHN+&+EjlW@@~A42E8XK_k1Xm@ccyvUCvwZTug;pRE)@DVQxerHU4&`WMZ zvmv?l71DsqIglKb$kJCdBX@Knb38bep2qG4XU>+ghk8)HK`MMT(K5B`y~I}SXE=G; z5gPJ+KUhpl;@(Wl0Gqly5H&mr|3#mGpXrj+)hG?eE=W{fxZwe}muq8eiy2CdPKB4p zHn2S3dC=E9mKioBQ;Bfjdhz5al=uB%vXhU&dh2)y_x}&BjSAt$Ev*p$Y1P2+mPfeb z`xbn*dOVq~^@Ky$GvM{Ob}savps1n`_7%YE6~XXAUKK7U=TeMt z23^{2!Yy0EXwmc$U==b2WNwdu`i%v&Z;2zBtwK=JxDEN0{`le00q*=w7xu0}k8~tf z@IxG}DDFQa&=nY@7l%ed-p-Hg=-9pV*AE~zy@sU>H)q4Ur$XXBdD<2JgS*qxPUHUp z^Lo*RGJ6tPRp@SbzrGrt*-4Y}nJF;h?m>YcYQoGHB;%eRrX*$KKzw%=rF^cUSradz zjFmEch{~eiUr98r<1l$`Xl3b%8MH3NnMO6F)8h~qbo0-nBdr-ES!Pew8&6?jMJ*dQ zA(4}O*8?{@!{NUj!C)%5x8#rNQ{>RmP%$c%zjLjdQ|r_OBX=44uU&Y*OESYdmI9x$ zC8T$UxhH$VRUDRqgX@OB@|sf#k8{)Lhj=gC{D|RkAI$H z-q;3G+HK9NyM$tX>=K%E&xtID=fMN_=d5;9FZaMb4hPi3i1ES{acmF*m50}ARfEK+JZsBW6c;8zbD z`mUOWOg{?Us$W=`c`gQ>Z4}2bDTpxbL&qB8D(5|7d81yi)G5m3Tl5&c@)N*$7EAA*e%_2M?E$+X=mmZo3OVTN_hT<|hveghBU%%5HuHg62?Vks+Z&iC@$jc+rN zY6;BgmxeQPgGoh28GfyK4OZ5t;K2DdHngRWC0JOa=79uSz4jD(XzI}F*H4(Cz%{;9 z_ncWsNt(@QwSjxuT4bm!Pcg1pY{s@6s9OJp&s12>;v)=A_Zg|cDVtn)Hp&s)PThf= z)nQm|QbXF#N8rl3cPJiPPJ`U+_{E<#g35yp^xo+WD_Pmgw5uX$MbuR;sIUMpxth|c zv88yeXdtz@=Hb*0A*^pt4P>8M1-?GrI3UdyCdgSa?XNB1@bEbOGzy}VPhBabk)t-@ z;kH1??X%YDnA_D(+&?>#l+4C|A@hZ!auvBqyU~tSOV|tNT2@jR3L-ZPin?n>FYhY| zj(2;~>z@GPRV%%v+1FFIc2 z_Sl~$ccqBldSom)PxDrw|{AXvXJZJ9}I(n##-nR=; zi{eT2(V&u7-Svb9tk?>Nr`9Nb^?n7@5lL>qn{WW`bw zux&sozI>FxR+=lLS3?<$W?R{|Ky&ca$YtMNZ{=p~|HFnYzk$~$#Y0C+2_+72#*jJQ zbkIYAn?6ReVv@Hl?Xe$8bG9a9=EKb}-s}nUGrGer!)Pj-W=rQ^X;VN=9qVe3NA-tU zF!ZVfgkIAko3w*$j@mLXlNYfE-Sg>_b2tvUt;$I99y8ZHNhhbxq9q3$=}_S_?p#ea z4PCqeB;CdQu9(McRMG%??0oC;)`X$(GSi*vss~kO&TpWjs_pE_rdSwa^Bq?n5V!?C z2B4lM^kQ10!J%w69E%?!bWI}R9ls49{@2cJ$=r(yPsc#uR%C@wM^Uk!Hq|uv)4Q1M zG}*GA_f=8?naC6}H@4?N$sYUep2gzyr?}z46j-Qqn1V(Rhk5vg@+zgkZe0|(+btCt zKS;x){(|@Kycf;6*oMo#%>qB2lWd$#9Lzl?%Q+ktfnI3|G_2bWhyDKH-U-$G-AH>Z zDb?p!%<%`YM=KeuAI|!QKE&W@#}K+C%_`!)ftR`oOL?8oj+ckBsr(6==vM}oCRwzk zQ3M_9vvHlh1S?H&Wks9fMTw6Qrgnyb`yHXj-?)n{Tr~_bEu}@HR(taEJVKeAjuW_z zlViRl@CUmJ`5J{3c)GX}bv~w1{DUG|^!F=wR_ZkC+Aaw2SjWLdw^g)r#BtVLsX^b5zvdn^TCqK&pOCWD zMM&9v8jRDvGVNs5%KT7zzvU9W zT-<~1;VVf+%7?w#8_!KRFE~m449RtP2AAh6&C~?;^UoLh>`EhY4ZF@_xeMZdNoCAB z%bZ@#zR7*{O(C=E(p0#32K?DujQj&>mgW<~Y&H*qp0!Ez{-7rtFMxk;$Yk z>p+8(gCW>3gk&GIz^`A*?8;FCdKUkhEgSxg@BD8e4P3U0wz@7rJ6*wtFvl7eMH#@D z_p|xE@!$C88}9KjIl=hh$4ImBd#6#~*&71G?F=f+vj7dNduVKBL$T_yT&TczyEA++ zbS^{;ooa=RjpL!AE1YHYR&uW%g|XW~GbqIA8)#qBV(&EK>1*YEmRhXK99H?!50hNT z8|Y07a~$A{XC8v%5mZ**48M*D9JI9}T6k(UclK=+TbAXGeez??-b~hmJ?%CS*BC`P zuh1LbxPdFwU}_=1MC;)EJT`|hWWt7@UjI-ev5 z4kWut2kES^o69gy7w=wNi*iH$;PR$Ax*X>ZHGB>j3+MClg%u+AR4qUV>~$Yh;1C4c&Zqh{K`j=e91o!LNW(`jKvht6VFpcMoZ z1qiG^1z2LW8Lk$-exsy(Sba3IxR zeTv!X`Mmk~OzK`K@SEpv;Zxqs=Y1Co_mM|^;(xFH@P49Sn028Y^JMa2T7e!!ZaGhL z(3pl;gkoZ1ib!+r4tzl8xM{uzS*EoOYu#7<{Cq8xd!-e z^&_VBaR3B3tp$gU(YW^Z0H|8%3QuDgmv;XZDJb%!ozRAM)z`@Tjo_lcAw2t|CUT>- zuEGJ^yYONEZ0@|wRcf7bl5}PjvU{uV!>N`D=yz4{Gu3XVmVivI-!q49hfTrfrZKS8 zIu%O7w!$5?>&&X(fj-s5;<$-sxMb@_@(kL=Hvh{bm#bN#zSW!P$CDS_PFoo+r(!F3 z9gV>A2PV-!okG#Edjdah{!3oD_}OLmNC~sE`*i91sRni?qMUsYJX2pQ!*I^DcwBQ$ zfmW~nhj~N7LGiCV|DsFaoO~VXyd#}%pjhTsWij=U$_W_wqJ4sc-4B38D z7IwH>GtZMs;5&Z}i?evmp7+nfb&l6D`#^~}TW%%WW8eunqjwy?fP#it%4NEf_0WO!d_62DS zD!X+glU5X@^F4{L*f&|hUs5UsgYA@1t)+_%`FNC9*2|@vh6~Z+)7gLG~+aDF2~a9(vJ>vg^c zZ1g7n&RkXSbnk{Ah6_YP7S3bY{?FL8lM~pa`69X|lR$mTcGH=#3%F1zl5O4<4zc&0 zn0~=)W?uf3&A%Ij*VKZ^F{Y58?WrlYdt=9%ny=%0*(rSSlzd9c(xWv!!n1Ct5A=mf zVx*i3eC$2N+6%gwsi=i()4U<{=}OUjS{fCMx5oi$EljR|1Stw<-HOcp5VrdUt82E! zsi!@-uz_|g^_2)5CO>EY4!h9z>_;podjWM8*wg5f*SMCzGF)DhOZ|5ag0`wEFKxP= z-ex;;J*V_xli4q^_1sD}E_o?-|5n9Y)8kS4`3L4WmIFC+59)p_qE7!=f>+0xcEDcu*`-huJJ-oDU93}T%&m(wm|i02~_-dnXP;CkdOa9gBC_i`!5D>9Qw#EGF!SdD48{GyUk+K7sG+xYAjv7otkB;*?zCl_&aJc$QR6@%hHML zM{p|5?6eo2xgLD8ayF=kXK+(M;F5S*fqc9VY#CN4IJeB%py2NnI$AwkT(3KQmx_nQ zO{vOSpdYM>cfE7r#CV-xLM@J-u2=Jim66Hk7PyPakrXRRu_ z^S6jMH%=2>U2_XdV~+4g-c2HdlR^%?UXopEI>4sN{6xo=MzmL7ijSuikX6kK=Ji^K z9ab#4eCp;6+|X4blV9KgMqL--D0?%xoji(qWJ6inAf z<1_6GWV=I)jTjZoq{A&SL9!6Gtv<-DZM$vq-_>UJqGvdie{E#L=lQ~yjSE5bz(a1k z>sTr*j%Hg8w$c2L+whP2X0Wn7N7ipP;N3Saikzv) zLXKL;E~IPL%b>>@<*f6XrISTR~S~d_121i>Y}{qY?f4;i{svz|9rDd#>8#KVcyG zE>GfSEIQ0T9%>JhE#u)o-B=V0^A45XBP<|xBK&JR%i^!~^9$$R;J0kHXCE{TVY|R~ z*>f<2UR1kN;ZGG*eL55@ZgrtNGoq%6!g$@w2uC=TvH`Bu;B;1&#xGsL)jpFUug(qZ zsL=}AG+3Pi&#K_Qp3{`=>qjarzc4C8je1rFFpGf-B>!p#42iC1CI$B?AzzJ+>Z@Vn z+DzE%3pVukoClrryobdv%f;)DykRe6GN4UNtoVI7r=`xp;?VgZDqK!4F86?rh8E~) zxH3;gMas^Xpbm90+G{7!jM!5!EO!Jw`dI*z`wz0}{$oOSTtwX=YgyQ@kGKj((raOd z@AfZ@v(5IRF|wxI-O*Q2CZ-mxxMZyL7P{T9*FgHdeWL!ALdH@ehC~yZ@YS+Wbor+a zRO~HBIe}}vHMI{1eh*?ESyJrm$_$z|YbqR0{min29n`PxHc%`3fP?Df!Mfg-zg036 zhJ^_Vy6M^wes~$zDq~2>l{KXP_5mh6ZxuKByyO461~XHiL%d9Q9n-OwHJfq$0Nu6! z!y6Y4g_;ZJ@y(kntV3@)J0|3uU&~H_S{Dhd$WOt4vD(x>_%65WcONHNoj^XhW56@& z2Kzew1@6->X91oq%wwwrO!M_eErCh~JFz~v-zffHTEBhD?u1f&QZfBnsDS$<-Cv9|Ch5XHn zIPiTLxAbly{oNuD8M<$=?P@sH-C9cXQjsqcXR-@RAL6|=uF#P;i^5FgAnK|W7=G&E zCo~CNHpv1IS%lJ$vM0R!T^l$RL;MK8osh4o&8FfmQf$1<9zNO%@v97Q^271)?o}3z z&G4kM(;PfJc?|jtmx)&&(4Z6h7Q;8@L$lo&7dL4aK0RPUW9DuZ-`I2pc3f+R{Q9^2 z$z4-m#q@BfFdq!}?#E!q{IN9TTpTMoZO4p-z4%qliR_pBEEKiLQowRy2Cm_T8Sgf8 zYo_JE$gm-%TDN0i&fhq&cxZ={6{}fL_F2}W`4lBW=8~msD>FJ(%NtutV0pDItDG~7 znu|W+`*J(FG;AF=Xr?+p;?G3bmNp7z_b#U1`O~5JfD@YhUQ8-7W9Zy(BXHg0&7HQo zkKdOSQfEyC6Rl4sm3672^u81-zm~yn2!7Ll@t2t6<7ssLlE85<=itrmYZzV}$r{^H z=r7uWvh8NrzO{`%mhhdwzWNQ04IV|~t$pd;0u@wlj3n!kV*d1v6m+dppv6AhXzT7J z^zW+*DSuo;dG8Ji?}(A?!eAMSzfj4KjLanai=Awe%wu-XZvt3l9pgTo+W@xjrjy_N zC?=j_1`GTJ|IKt~oRZ@Wk#eP&oWB(udVX?>>s;W~@Kbo;&k*tHqNngUD4LXhXM(X| zJ70Gqm_43)fN77KK}&xRz^JSq&Z@T<^6e*b`IfGDzH|ibezJIwtenB@>pW zQ%E!Io#?jUyqoQQSWG3d%zrmeC$x3xppaXazNSb|Sba7rMSp7eQ-V z0(du6vD+65V4TZfaM>>njXfgnj_^+Qpj;1C44$z4GaaD#`!|*qF%TZFo`b)-Zop{; zPdp^>%(aB)d9~LpRvY6F|Gtj}SnwO=6CdGzpB1dM#+xoHj3&*H1};rX3E#iG!Hg4Yk>M%>>Q24O+PsHT;E3U@ptcdqmi@+*J??O~a5(iS-C?UVy72c#fw$B*nM8l~ zv#P;Sc+)754$QG*?*ty|&FgA#By66zziuvMhTDS71YuXOv>N-?&Vli_c(xz4aBY}2 z-O~BV0*1WdeN7O8o( zvftA#u=gk5i=CH@L~j{A=rj(eG5rl}&*Vf{yg3C7&ojv%QFPuq! zOhM%x@0_R#_ns{feDDKkWq}mi(^822azY=i#DOzgu$0!;nqs@h7HYcbg(lTzl=ApY zMaQum8237o?9U1w>w$%^Eb1{=SU!y%Z2H8em{~*ppC=V9rgvDekpddMSVehhmsqg% zLNc*^k2xpJ=y2H|e#{I7a1$8s);HogeB)&Us9UVd);m07dS53{gOL~fivNk7PX>^!#V&Z;X^!uI z9>rm&Ex}>-S}r6kh`jEv#mXZEB$<`Ki%eCLD;xErVu) zm1Zkz`0p;;lQovEtk=Vvofg=e{h7W0x{4aL@3HGm63l3mCY7An0J?_Tq2T5m2p#_& zW8eyZ;X@XhX=o3X$K^VM#_j}YXjs>#$RD1#g`ym0H5@#ONS0+vNaL$m%&8hb^kNBrCX?u~Yo zJK`AAE91ydEVxLt55T2>I6NL;4uSdh~=7IP$Tn(vl+D zs;~@iXuZV1b316{5o5M7?H*psmBmC~dsv`c&zzHPbIlzuG2-7t;L@HKpgz`$#wEJ3^wU{z z<>PARZZ1t%n$scI_XB&jZxpHTIF1@)SAy-bCeg|KGN4IG(A*RS)+20a)YzfodB(ED zw{D>c`7c>x&sV528%wUcQv|2)3~;-c%Kr99Gp+oSV*dCb2oAr*|9)>qs|O}>oJ|6a zY+A&IL{FhjOX5K@<&ZdN>p_-d@eF%CgJ`O6HokT?rtvMOS#Z!tW-+S_r9z%z`?WE! z*{}!{+HZn(t`&H^~Qm)K<-B^saPK)SDiwB_13gV{l-BfJ-6UY-ZGeewJ{R!Nh8 zUVv*NZ+al1LZb^tnW?pPu%>fL+(4N$h^x9vgK86Se$ph;8WY6sx~S0V4@H3Th1`G* zzfr?|F+E>qg!5bl_L$#X9?cIjBmY>a^f-c-gd9b?MlxMErN(?5y)iW6DCMZnU@ej| z0z=RO(soawztR)o>A*xdYj6jHRZT@Zom%+M+yKaWFaRQwr6@YCm+kX!!SBJ>@olC( zHo5h&{*%Qle5w`4dFrlg+7cnBFi?|aJ`e>$x+!+}oYF^lefft1w^6Rsx^>;N2 zK0jDGdmQVzAP{m?D;vSk)Rg_YGl$HUE5J2v zp80bhaJcl*Rm%M=jfBEVD$LZj|Zcg9(Yylem>y zp0>el!*HltC-{m+?B?2j$Ks0$f&cY)Hl1zN#Uq+P4_5EQY0_61YP+&B`4u#q)5m`= z2SKyvE?hI&1gur{i1A*0#ndX4RS`NMKW5Xu>VGUhPll}I0{O#_q^U^92+Y49W;!J& z(N}}8q1>H{g-qvBVfHf*dPIHt8JwBVQx>#-9aa4|j7fSCEV4bqIiLT+hjr$#v`bMm zr^Ss~N~iR2ox#Vkqg9Ub-L-LzwjFKg z&*w}N-ckP0bi@TiN$O)TtN(kD#Bx%VcvOZ@(L9YiPwi*T3F=JCZf?cVssc<-4W<__ zgW%zd>6mKrgB5-hcD~<~`Qm^jP;)U0mg`#rl{(Pc%v_jiNf_lVOAkE8!-7ZgILc=# zyzknL5v%vZwz&dJWch!5n=eO>&x)ZT$edYmvHa%Nc6{?t=tGBOa?2joVy(|AR`pzl zhIVE1rIXiD_#{<&I>MC}SgZu6!@}J(NhIDHC}f~|#*nPM2lZ|_&T4Z!;70BTl)1;V zD88D#_N(DEVi!S{hd!;@7!0dLo3QKNZg%8JIj%ZnM#;-e$>)y)uz&_`xXLozwso=`pnG?K+qi??oO1&8W^`7-U?D z5a!*z+@PREG%Ry8{Q7VM!Yj1Eu|*#zG`z*mepiUOdWGu~cxiv@U0K(tk>ofbk@hNv zQrqrc{C;X0AGW?8o8A?papfWq{Src_$F@QLp1mda0hw!066gqVQo7(6G zfr(Fn-}?r2c8FQx=mYfXjRe$W?*onJdm(U2K6gHc$Jcf_Shc z$yO9~^syTkN(5F!6jdMQXU=^OSKKb(%&SVQbiWckaFeC^#&_`2Lr3Z<8VA3P zhr*uE5~lNi1@Nn{m_mx%5)6I&1Q!P_#^=KOoxS%A7GK~cp6Yc`v}g2a%1}JWw5xlN zHTd#NcFv&L{y+HUojMpE`;IRXW~`w?E`0i3!HelDL(MvOxf&;ir#?-lMNLMuZ|War ztfqqfd1>tAz}*zF`~}`Ql`G`PrwgTEOWfrV%a2U;qV4OW>15gfQuIuraeG71`9voB zzPq0FT^+=#?^>gM&~jAK|0(wI{f4U*!tiVSYq5)?96)C*eZO6LSzcFQ8(y%-yE*b) z)&_4nRXu=uc9^p;;b+T@k>HaYqv2py0CUrp7MKpvSlC?;vHGc?@($qmHU;PotY$N- zE@M^STQ=aH>`h9xw%DTF zhykY*XwDT^797?<_ui&*HQ%?AO??_0t|`xtS{2Mr3h9*ACEMWm%4E}Znx%N+=UjY~ z=Rjpw=92Z~d0-H99S@an674USLk$EsmF@dYB777AABA;k)DqlM6CHL)4mXkZEV{s>`U!#K5q0dZvNa@ zJiV4fg{qz6>ch)m3O%pfZ~UC>@7Q;4Bm@Ro zz-}`OYCXFEH|vk2D}#gBxY|}U+NFU@Y@g%ZZx>P1D4r!n`7-r)bchBGH437X-%lM4530fUdHu(_=Wjq6siRG%jpc5)=7=DuTB1|8+Te&fjYo;E%f z-DT_^V>hGZ(J5yn?G;Hu`TZQqbR10e>W^^4qGOPim@hEzO1PiOq44JSI6BKWqwgRU zy7R*tY&O_~N`E124*n0K>%1v3;01GDvzQ%G>)`(#UqrT>B}i5*MYR%l`H`9T!Q3g8 z;vR;I#i0v1*Rp(+PSm9xAt7A;twR2NX*X)Dm!=GDQ*xgru)@w9=ed%Fu=A5Ul_<-y z_MK|*v*|k5X!4u&XdOX+F*5&AYVh^4BR&2w8TwLqey4Li7QSm>&6o_cmb*i@r4Ai< zc}VcJbTawZJZkMKLH=4Wj(u#zJQMdq@KiG-?uHtjiAgFO`$GH|3?7hKhe)#fST%6R-2h^mn>DMJ$Q~Vhe)qloG9ZRXh zZXA|}901#+vaEJ+7%TkaNvF>pXDQV?>0zQ8xlj9!FUQ=y`-4&CoA@{B|FLDoJ$UAA5KNr>0?)-?VPyx$QBn39D*vU#yXen>RT~xP+^}R8 zXjj7Z{yQUjp5{W&KUvbNeXZVf_vo zs`-~y8jfe>!tYzCodJsbc3_WhI9Yu-&rMnS8rN)^NjHC4(ddW*9QZdHD-E|mdQ%xp z^|Pk2>F8*Bg2_rD^L$y1*1ue!EX*BRm9oh)jtnFU`}M zU`*08)-&-YKW^4&NSHPW3$MI@-;*x06ung3e|;TzecuBbp~u)A&I%nnhEe0XOAtLT zg;}kvXS&US{9B>plwCWLmM$)a1)ue3qhoEy@W~9I&mR9! z{dG9BJQL%b%ZE9MKbPs&cY#;l@Q^?BBOZ?Z_<)APWMPJ-8@@AqC~~k5XG8o`Slw4= z60M37AKQI`>25sAU7uvaih`^#;?#L~z9orwx5!~$_8fjLp23x$k%kYmBCyQe3}&XC zW!roPfl6iwJmcC}g$c3Dyom&-SJIfIRid4jJ9yVh1w6XpmZ<;wdVwF8f=PFk=vdiv zF8}2l?)>AG@HpECR=o2isqB$7xiu2{^t{mB$p=$?M$)h$C-BTI8*G20Cj2dT(Z-G& ze4&B?<$owb|6}?1<-vC@y;Os(u&adCKL7Y13x%^$JpfFG9k0kX`XN?-BF8qg{9-#k z?}PvTwQ05^hywgwR#=VV6c}Q2guDY(`l$Uo!L!%Th5}I*h7&wb__`Skid(SL^_fXb^Q-Y?G!E+Pf zt{evEo?78OQ-TK1&tgfDh49Nf45TkE7kBkc!yijy+4G+fEZJZg>zdrn-EsJZGh(Y* z(wGaVwx$C-W~#u3s$$gHqC;sXoVmC|r#Qc*t&owBTyg37DstRqgQsb>ushw2T_?{% z*BPF*6dhs%0vthayCmJPKOuA+Zy_pWL(8Duy?F+DD`vr^w{vKT zoE2o|rNg|KZ6v8QhcH%(lJ{G{?U|QZc9j*VpOQzHC$T8^vz0BE3WGeUfmpnH80p>) zr=DuzJGtpF|7qe~)af_^izT(JW6F>|XHo3+v(67dN3-GX<9`hA`2PYA8%kG#>|xsnEZl0vRjIaMo9Aycm88O&Nn!@Mcd}A&8xOxjp4wi)}O(pQT zsGa?FY{UYAFY#M>Cm$^_jF%|01=D$BsrAevYMpkIbmtpV-Dg=it7*d?#7SeRLpV94 z%aHhquqR5=694wDV$-AkpxvV|T7Itv7aT9+8=Ty*7hZ8p?Aq zSH{C#1y|_R4}!F#B`9KP&{|vw32$w2ZAStQw=vLnfy4cuB_qKmmz!9Ux&Rh4NRpk z5{`(f(7|*OX$mZfPg8bs5o2fI9;qUb)Srj(>M!tpumi-O+lC9ig`#C;I4u68NWq^P zSxT0`9>44a<;C{6p?W=kd`*!!Xy0L=wJ|jC%5b{*U^}x?+=!3nE@h)%3l78EYtgPh zmDJ@kxC2#FaNM{|HoW*Hrg=u-@S`W$)|B-^Z(JWVjg-hV<_|NHvxH?OQ{cc35qB*^g&M*p`)01&G8wh}jA*+|8bV$(Y8yXc4GYRq^PDr?{5crsFIYxRh00)`W=)s* zXc(40g>wJNV5i48HV~Rv_uF<>aQ!KZdd5g8d^mlv+QUlj2Z9`L4-HBo_->Ob=^ReS zp2TXB>9rvf@c{DQT+058c!9&6)nH83R`MA)le`za!mQ8ZMduxl)%(VA6d5HcD+z_tK$3XQeNl>%vO`y*yHl(|>2t`K$#n*h`C)0=Cd5jW(`-BC+HaErBl*1_kZ|AX`<3 zKJ2UFr-zqfgTe#Uc8+Gj-g;!SBebw; zR4feIcngi!4r6QDM?mI@UN{!L1@yGyafU=Se}AJjB&!KKE&DRKW4mgZ{oplR;NAo- z;dCKR30}*+REi^&TgtR+xh$!@)24_4C;7WK`Wc?<82TZ1c6m^5QeKU+XA zV*>M4n8+sy{q4C@KiHz(TC_PMm8m`OXD3!nqw}*Qxf?en=|NxztF(Q~CQe*U8>H(& zXOl3Zvu7`Un6?;;R|@*^IXu5C1~-}c@(&A3m55G3|{IZX|H7(7u>m=jcdJ* zJ}s%t_Cz>IwGV~YAzziSVYm5H z+CU=}6HxA428LI^;>!n2f(!Ae?E9IlFo#k`2)6n$SW*Bc& z#I7wq#oARSfoqK5nRv{DcW1LPcA_s#h&@IyDGTT5U*|cEgS2QufXLr11xM?c zQHe2d?9Un+>EMrg?I-Z|6g{{hD57TnrBDyQ1J49r!!zg0x$~z+lBdxb`29&+)bRWw z+?01f?HBL)3a<~CfBzbnt03@4*AJqv(w?XnqX*-(g#K*!7?j=ohI{MZjqmmv@+#xb z;rEL?EEGD#OHVq`F5g9Hym|-dXeE)m-fDI){|8Q!%;tS&)w6}xxwPB&A9vMOmm;3u z$LZrou&Fl9X#UI*JpGU0Q}IGvurCijR*t3Wi$BpldzQdM4C0&*#9Qk3_OSs%Pd~ux zK0m%82&enrN2BWdF#SV0URfCf`fscmuW%97FFKNCv!GX{6DOS}#tDKBb$3mN_;lA` z%e5_&;H$xHXqvYNot@Gs#c3aW?3_c(77PKSv`Wj&S2vk>Vi+~bDN{ouviTt!@$Cm2 z<~Y(1RwdrXZNu8R=f9o6N!VVt5c~6EgX&15D4Ql&JYiu1&r<1H7+c=HpC&rK!@%Bi z%yowcWxU^jbA6;(yT>S&XOTk7K2|gDvf;ojQH1In#`INT2mhzu7!IjCgLk5PO_z0v8K#^aXXfUNrCd`Z{j-%zb$)BmeS0BQ2=!|bna?0+NjB}pXog~ ze2g?(VzZJz_RWR;z(-6G%u}sF~7<#FmA+gMHu&Emej=D~CrRE!2ex3sV zEs-Xf(n1`TVj*mlWMj*!Fp&1+(d1wkemA>-<(r)@b}#r3_bj=9w*+r^y2Lw_ozjfK zb*t%k`cC|8GZ+_LzXy&M$`s)r4pNd2F}SRNU-n#V2K>I^8D^!cusan(pWweBHmv<3I}ef6d{sfn`NW{b zO~FUIFp|CEOlha*DN?_EmK$Mh1bKt@(`v){5DgpAYm^ZPryHG-9|}1`i}6fPEAx0% zEZ!)WfD(1HAjdF}anmL<;!ODVyNq0pw6H@d z!bbL^nHU*yfxDzF3l{@|`3EO=g1fvIow}dR?(N+}&IKP})(AbQX-X6a3n%ZLmYeMB zx@(ZyJsvL2QKa6Ic9xO#fJvL_($C%Av|&g&WtADhuuBa%#-xVq{?>CWP2fU#s={;2 zRhYRv0pL{wLLA?AW)^Krtbw>mJ2A&^3VHhMgD2xkF)K5KS29kAtS#fwRedvs z{cFRlMeAsaoD_XZuLGa?(QuH9=YsVE;LeO8a3p0Avo9Eiv#y5=-28)V?T$`#IC>b} zk7VK#`yH$-Czo}P&&RJqCfPCcIbYYfpG)5K8rS&A!RaZM*t7B|^`$C7q{|YTqZH0o zBz(0jKc;~_-{)}dkr4QN`(9WD_+Tyc=DalC~7xzLpOA zwVaqJc{@Dq`hZo-r{J!0eJnkDFK%24-IKm7?bvhfS4_m9=<6SqQJ9ke71EZs0_RWbjDK7*1vkyYUz}2ArIfnX_ zQ-wQ9F-%)zjAx=#s4Je~i+_jNe$gRZW7vR03&(T6rj212BaFb?wgRun4rBcnFS7q8 z)X{$jL)pU(g{*(MG)z4{j#}Pnf%WjyurFDkJcZ6CPQ8Fm3o}u1Xe7HM;=c7Ub5w4Uy=L(CCJJ|9JGS7o0$E4zfl(UoMQ^^G#5>n-W8}^a;=8NQ zuyqs4;ER1K#ArE-+H<9F-I!7w95a;+Qo3+VN&((GRLK+`TGE%b@uYLchqSAs09Otc z?lp0^^${a^HGQngauR>Z+6PMxE`z}FF|hDw6HT6(2EIqWuvupJIkOTUIv)qvvwjVP z`py?$efZuast{BkTVKYR{1 zzGE=J;U*eSf5wb2w~2q%3frTqE_BatJaH>>QQz?tlsl-S)>FyqdLd80AodN)cm830 z@h{OL-Gp89zRv3PkF$--rz1^GfXS}@+^g^{?A-}>TG83crth8(vNCQo_39)x>d-bS zGR>xEpCs6VXm8v$Cxo862^=OT8T?`-ZFNaK3e%iU@r7$QqTVnSk|BBgUi%fRj!z}i zMK`#A8gATK<95-5yx+LuPbR9ioyQ{wc~;-M8U2MWdGC<`(CTf+#^rPQ>vg8|)7FST zzx@Enyhvk9l- zHD^PfCQ;huhq$X>_*YLYub=tX-V^NHF`nQ!zlzC`%G%&%m#Jj`J1i)g+{`8U@=+BE5V zI1T&#f-MdS!c$oh^r$P54cqbvE#Am*MZ1MQdFXTDewcx`i)!(Podm?n?T0Vn_wkOE z4jW`}ft)%fVa?`5{_m^PxNv%@_|1Y{Od(3(w-*ByW=RtIMo{o=Q<@iVE1DaB0;>+T zV&unDnD!@5*k;*8;|8w6C)fIz`?MlxcDBIaS?}48&SY4iu@P)0CFAEu(ll)2xhlYH`lA)DMqjL@<$1dbfH~qpBG2N_F)scE%Xbb$XKswu=1f0z^ z2p4wZ6=rpdjV>m!P!}ueeHexDzxHEF)l1xMn~#!{wIS!&Zh|-+@>%_s3+SCs-iH-% zxcgmxio>dyi5nV(tisB$K$Jd$?(?qtQICsRrECO8+S1bZhvN4u9>Sfa4S+<$mJ zo9-J97ANy?>D2WQe$9zrQkukOERCXwbB=V~A(}s)5&+u_u84ZfX0wyWEvX>&JU0Lx z`RdRQcv)2wT~|G2SI+Nd?&TY>`Q<1U`Scm@lP^Kt_vg~hT{Do;NzCq4rm=!1Xg<#o zZclI{-9a;Gx%35`qmYkFyE9|VSj)Ik_gl@(b@cyDF+`Tvu|0GCL^II4E zCY)cE?I%E0;PL|$#HyGsx`mzo-Mm*wGJeI8KTOk zCm`ptn+up^1iSq+z_0KQCr)kTIu;mFWkdlf{(1p&hi)_ZMsJYm5_mgX?WuHUJFeKb z5Y<{eDK@N(jXNM@t=~woaWN9)kh+miUHAg!y=7?0DPcoEw2(~Bhr!zE>SXNH!?s5g z$T*~9-DDG*>iC*lcI_xTEM7*z{4w_Dq#OI4sm~t1>SW9Lq10|>F6`AT$IC8;{FR9Z zVPf5UQXapRR;D3_E-`>9529emTnU<}ITCZN8(Fu(BYwyG6tc_;U~GjZ6&)%ETb6?f zxf7{T;Cc(C2e!%V82{i|qrh2R0u_1-NG+*_lY2Ub#m@D|V@u0Xcj6ZIXU}drIN$~g z4oqS)nJS>;I*AK!6SkK%y=cnaK(;{8Fy`_}9La~?|xHJt`?}gF(x6r;zIo#&qrZhUT1RqQNhb^*cl(4@Z{quYvJma_6X+;y=_Iu1F zCN2haio(!u)~v*Gq_b-Y18{#mt@k4=n+IYI{KQFsIvJxgap8>-Pl ze-({e=0^7?N>R~PQ#Rs|GFiJB(zu2|h*vnzB5g)9i{p2>ZO)%r>7fB~PEQsDFJC=`XScw_|hYgx_fzH+w32 z_m#4M_B?)(WF&3VG2}G2ou)&wsTlp~DNcg}-w+`9og$XvDn`uwGd4_geCw-jKx;b;nS?Lxoy zzifa`DOu-krh8pTU&d?TX6Zffc~&5+_T36oq^5F5KY4JOSK9H+tayqkj-&dj7Tg=J z0BOI(c%<_^3-PRHXR?w=B#I;JbFmm6-iGf*7g(*41CoOWxrf;C2K+SMa2TQI#bxv) zv>t=LuB3On-f=FAn=nYW5;eY!r8S?2Qrx)pnAIDAN2eIm?T7<7|CuSfUv0=gn&3@V zk0jXjF<~?!`Um@3ae~#v44^{C_k2Bn2US=p32&k3B4~{AgEeVr^mq36j26j_^`%IY zHg4w6Sje078-xBWfXcytaE-4#eU`q9%e;hsTbvs^kyOguBg2@(rJtBRR7T)S+K_mI zB`&#egid;?l0?u8Zpp7tApN9`UF1cm5wHwyY&T(Z#*4u^`6%~(>Ueb7YDCJ(?j(7V z!*O4S!U-ny(mJltV*_8bdvugywQJz8VL$T;Qe{g{r^4VThuJOf2Ft`87Ya$ZiCg#+ z;Igi6Z(mImXOWxu&XUkLF{7CR9`Of<#C(*h$5nvLQ%}FjN9H)^F&CgYN zyFm*%GuJv)-xY_Af41YvtKN{GpNOBGs<7b7I(+qSFwHq)CwLOSS%0nr{u5QQipvRD zI$%0FYh|+*_M7Pre+#X`Hj`t*5Zd_1in(1Lg+E@IK;aHk*gWDF&O1`Z%8z=`{2E{I z5y-#VE6!oPyfKVS(o%jx;79mY>t6~jnVKp`T!gm zbeZZlUgio0)L_fTg%q7v3Nb~i_>GG?u|@YK8}$4Ja}CbJ?{75eQaBIw4>R!SIStT@ zugBh|Mm9pMO_tZ|xUhmGFe=q%Gp7y`_;`b;)KedR3IC`49dYBEP4LbDD z0q4g(Vn%wGap|o?Gzi`eUKea>U!9bD^q zk)K7?Y;I2qUa1HG|BaSdXt2JJ3frivy%@G4M-Z3^lvwRH`h>K_RA!_uIlv>WZ* z##2ed5p;4jr9!iP^yxr21pLTlJ5rjsG55B>zs3jXr8JKhIt9Swv(O;OiT2vpvHacg zR(h#w@WQ<(Qyvl@#tn$c#M5+v&M zpoESFUGATaKMtg_e+v+T+)TNhmt=XzNKdwZkFfKaGoCK0)?ke1Nhr@K6SUSb!rrSc zZLR_G4Ax=oNlsupE18T!}4mT8C4@`ozrBH$~R>a9fPU1 z)CL1vPO}SlPgOU)Ylm-A%3_cCsbHDq$w1SGl$Mv^-o>prw^f-wEUp0QKtnS9J&0VE z8j_3=VM>lnweIpkaP-7!Fwswdz&nF6|7j+fPE_M9Jndk5NH!YFO@V38?xUWlTl76R z4YnC6fWa{>R(m&!&HR|dQX@u_x65j*s0!kjT3LhK8hct*H3uHuuR}+xB(%-AM*sa3 zytNoNDE$#h9mVG?D!0LLtu?~7?|O9C;5ck+QsaJ9b+Xqs8)(~?W{h^L z!ry_4e8{Zx?DhA@xZ?W-e3KQ${|9oE^TLC=HjW_E*h=dAWrBfb`T398A>By2@<9@7)A0>- z(Pam$lN*S>rnS@Z*57y8QcT$O0jmo&5- z5sd?kl__p<3!Dh?ps&Ggkf&=8#rt;BtH2)oyhk7Ig-f&CThiF?9849D;+e`zCyF|j z14_SV)8kq>T9}^!vySb;uw(WVJ$MWqxp*FikM6<^KVI>k3tV8jW)H52vjcnQ8O-&I z3y%1EmG|azF>UAoR{fLF;N~^3p>8Tw31`bF+e93_Q;Q6Lhk;|kBRF|_I{PBJh3UG# zxwdo_+H^k>ZALv~Im!iKaz6*RtjXXLwB%sHq0#g%{VyuTj>6CWhM;0LgDeIm=_ufHzJL!mUPFZy?;&;AQYeXUMD0(CU|;`=|8&I@E#9S3bY?!v zC{LpM?hgD6IA3 zU_!bCja9J(^)a?|OiG5`8CuHMu6YNO8r{LMJ&|S(F2vocrnDkPgR;{`(j$d~B)P*4 z#{RI!IMoA8|AG+&-Pc8KSRGq+d63nWf(x`UKbpo>on^hL&xCm{d5TuJC-f>-klNxv zHr{m?+jF=Sd}>#sj?xNDJnBa`y8ZCm$u7*dx{fc`M8V#W8+`q2@_`WN7&@`o7hZKurTSe_e9uA) zJU_$&mjn;M+g(rb-yqQ^3Y9At!%8rNE&vsft~RP;Paw0Y(Cle(0#-je*X#zWN0^08K!oLGFX~oRhT)Crg-s;GMw`2%Qe;AHlEe}xa zl!tq-Uq-Q33Y+6!jLNs#G5N?i=2OSf%Vo|qL+i9SN^cd|lrE$`s$j1-=gP}78=+#2CBVQvJs~DaDDdz z{IR1I3(NaOds+m4PSFk)_^IG4(7+)C;WyJS?5>K_Qn@(A~(2cifbTfp5ps*~bUirobkYzxXFM0W9Bw4cgsV=ahc7Ucl8ADH03t{oY-Eg+yFH`Zn$SO5z@Y9?+6cx{+u5HP*a?dfm zq%;xtuGi#OCRMO7KSO%ing>&y*U=`glcK&2H(5^q5AtFfOgZ8&W3+DQ!%h*o(8oBgsqHA-eKr5!Jcd;^l2VaPzJf?b;|wN1IoQPM+TiXP4eY z>%7mxSy#i#Z(T#rf3|e{Rxs&Gc2I()J=Fg^4O`P5pnvx;C~4XZe{Sni=;SWk-SSO* zY)mia84d)a$PFZOHcn*GsYa(FBiW)yJ79YAVhD_#feE88qkQuvwqEigYKN$@DGv`| zt-YXiDqmrF_uEz^Jh38Z%940%jl|rUif?~0%l5gum=y-*rau;=m?i_Y(q8- z9p;3gq5Ht?WG;;I03ZnoIMyjkLrsRFU-CnYn!JLH)9di5%_4fZGJ$nRJ!GoSzvG~b z%h0%XD7+Q2=E_~+FtW6jy)`e!J+=dBK~Ey}XL!Nm-F5te`Del0bsr{*eBiXF1F-gF z+_iT&@lS;ux8qeRQ^*abh!#84TUV)B=N z78OHh|GvP)0b{_z+l377ALUP6{f)tui=Z&8fVThJ2d$4%X<_?k?0+_ubeE{$$iN_> zXXDE)AV(tg3{Lq%COep4jXZA%J-JsX%R>|OH&nsjf(-t8&wccgPXmQ1qsa8BH!IDp z#y`2;eCV)6H2J?$wqbu1KR!L4X{0^G+WGUaOVb*|ug<3LpETHYWl!30_dS}}T@tvR z)$HSNS1LXdNtXwPLCn>3e6C`QBjdla@~Ki#-laz;jrYL_(`m4$(25qnTudvS)CK;9 z7A%XHfEx8BFm;dxm3QJQ!STOf9UpHKIR7bc#@wM+pn`6|LzwRikvwHM;s;eD9bt52#|2a)f8{rrka zJK^ib*Vy%RFUvpk9!IRTfiz2Vh_*|nWh3k0ps72x-SA|8e8w~5rVe;|E*dHYzR`f= z=JclLB-=8lSZuvo_`I3cxXS7jWWN*Ru?^OAaL7hlQ*w;enpx47h(Nk_A{WkWQKTok zQz>+#2{Z4jL9fpr!M;<4#ynR+J-hdO@||OF;nfECd0U!G+w&N;Udzzm>$ZHfToOuU zoMk_D3YoY-9XRQ^gM1{1Q0^WBRP?H1cgq)m)@@bxqVWRWEBlR~q#cPjil+gMb09Ws zi=bf-p;wzVP$nb>ZfTC8xzvLndv-Ff2TQ^1_6-d1bL2l9jS}ZQ&fu;rI0e^(B*9n3 z1lkwf!rC!uxTO6{^{OEiRd_5uOC5BUn>0Ds|PB!;jr3!09&@b z5#C+D0VaN$lvDJaMSibhiybbqdnKN9VMh$sicN9oE;Zg5*3zo)%c;%y4Rc$)2Q8kf zi!IXyHlDz1PmYd3x94e)RnP!!<%>!C+iXf*V?whQ4Tcn-I7rU)1nc#U%-+zDhEBKS zcg+4?ZIZWC*!}WBuOmaK!&a3GxGaZXuf5>M+O;zGy%VU$dJT7Wmat1_rp!)-kD%xM zQ-Qs1f?uKA$%u;;!g`Vz=_|shH-*ftpo=A>)WEQ@(P)|HfFoq`A-jM$>!UUh^k+4Q z0ux23GYmZ9yU^#L6D*9W!BsOSurnXi#aa`-u)8sD1t0sgu;KZGtv1eurz0Cgm2MZA z*5hO}axbEP9$~Pg@V#itv~Z~DDdm?e7)xgVIgobRC^AZ2!^ZAQq`$(pOqS75DE_&E z2JLgjZ2L6sZ0{GO{$6f#(NfyB!yi}LsKR`Q$(ZnZ3vL>#Ng=V)?Ab#pvI&tS|KEk2 z(ePMYr5j7L6`OJN%3~NNohdN>@>t92GQ99<5+!hB_?ye6NL5k=uC^=$xzfdSyf%j{ zRWzx;)gDL0$dY-%8ho>U1m~k83lBclqQ|{>KE^m%@I#FmSMrY8N*dy}CBxb4o#oi$ zpGJR#{!YuCQBXbO44VD%VY(fcF*@IY9Q{%$rf)jRO^_q~iY9n@SpwW|RHN+LY@D*H zgQ;#;1Bda3@Hah!TN$XxoR9ah;3Ky<@AC20^Ng?Im34Zo>h}@c6rIa%=9|He*>6~} zI1%Ozi-VIB4pEbC54*!fu&&bvr1WPv`}qAaUoPB>0;f$!_lQTl5MYcAuQ6ghB`It;Nc zws=ft3>A-F$#!qmpaC8Ne=gd+i=kM#FKVU3cetQ5a4+H2zrX?)69Y)zI2idr2 zBVHsEi7QegXpg@pm`Ep)#UxL9lvl`1B}8<2?si)JcnzMIAxlTxv*6~{m*QK$qgc9$ zKcg6DW|%&LCZ6wQTa6vbCCwCW?5qIyX$xVN_D25j-DX^@D-ZU=?VzRTBYx`_f%(Zp zRAdnjYVtK)WzZ_<&<}>thlg1Y6rtrgB^vcHh3)?F1#6lF?fBYcYPSr7@s{Cu=}8Ut zosNZq-4n5@HU&F&Y-YXOB`j?TA;G#~y|d(T%m5kiTCo}y?g@n*zsHiDk~Zbc-o{@S z_$jLn-N2SzpU`deSyt59%~ZE4v8&EuVBPbW9X~LPZJozx*BdL+tXPTrO?U9dPQ$@R zeI?Fsx``d{#z0@JH!4k$B7fT=8rb*>uLsFmm5Fj`&fDei^t_0!I$p$k^H0+84JVDmu@Exq}5VxWF?abfw#P|baEo*>>5Z?jmr4_ zY#KX#ESFD`tze$=LN8-l6Sgn(gtM0>amSUKxD!TtaQ;^;#Yfqb)Zv?O`@~gFuVe*P zpDSnAR;{Oripda?`j^Q%SMrVXN7KC*XW8WYciG6@M&#c02NPx`LTqsnWd7;k<_OJ( zz_r&oZwytr=POyvC-T_tDihomW>&<~mkOL1U#7%sjl07JBE=Qtwi1 z{5c#3$4sHd+aGwl4=1qQRX8WZ>S5SkS=x2q9j5wkAdd+KRFLgRVP>;Xeew?6<#n3f zSz&}P$4rJGmmO$3+!-Hawy_a;8dR3N4yU(l6Id7nC^26HT$kvv_M2g}dcqDic#Abm zoAra4?UjM~QmR<8I+ENH&az`m!a?|D(56L_FPpxG78?lO%mN#F*>Vr7npMP|LVv`^=%(pJdMs0`vqPBs1AeggfwPO##^y^cEY@?01T}F|q zUpd73W5Vd8_8nX-c~51ms4QA=lE4FZOyeKgD|(*mDr`y#BJEis77Lg#*=W+{j8TT47mr1^aLHiE1O` z7|0K`!0f*#1z_a>NMm3<7+_mW5|=`fg|T~3X` zF;IA66mC=1BF&46keAhkLpH0^xT_It;j=7SEA&Z2oZnzc?tXawTZcV<_1p5c`z*{j zB@35SBY4-xLhr4~24~C7fuEkL7*cf|L^3bDu z14%^-hplYDi6w??mz^`!7$&f)M+!{tkqC_E&Z4&GVxArP!F2TkXsBW>mTlNVF+O4V zhKrz{`h7UGsf4U=Kf@axr?B4gC~I_>Nns4|zD7Cs?ZadyUU40EevW{v^_MYQ?JP)- z3c~!cSul1lM{l+()Vv)$0V}{E=N9|BNl}ol0?k47imFrJyzB1Q@iO zWgn$F*|B{G;mU4#*nZQT{+VfD^eunzb| zPNDZn2k6z^C>%A#48$V@Hha!fL5CYnm7;xkIw=gbN7=L84u|;I;thQ8*?;28SHCg0 zN+&WLDCWa%BlzmXimk@0^FL3%x+v*!hDJ{kc!2Sn(CTpjPH6thKPlVC-K|Zg6Y`zB zRW5G5xsysCY3=gWYD`&!J|6M7z?9v$Oxbz97s}C{RZB1<9{BU$Bi>A%>67UKJ z(UhsDar*&t;zuZnH#}TSBUi14L*?>tu2&tl>(0bI@)OAK;0orSc>osVmx$CyePg%Q zUIN3rW1;n?E-frj;BwEYQIuT<{Cl~Q*=q{>XswS$H@ao%mDys!aBXD9w#(q}^aHHH zNg9*?B+bm4OdP75t&8|I$J!8##ib!8)dQk25k*8Ld2 zbr4&BRGQwKE#$(UAA?rqbhz(3k@oE@CY`f+?4+qVWUsFz=Rb4F)L#S2KTU#y=5O5B zuHo2zyqukw_z9C<>Qhs*m1trwfTElP?ai7F+hl>BR13QeOV6XiQYkv4e~DgONZ{-R z?{PuLS)v856d8AcrJE+Bi^45#VTLy8`KTdQAA}bvztMOgK!3wcUb1)tbVL*~i=TRA zzTh!)p#=1{tK^<+T0z%@9;Q$P7Qa5bhJAZBTwv|L<}MCt7YQ6VB?%Z^Go3o7?L#BgW#~LH1WE@8_xUVYiW#kmCr3u&^~wP> z&CHs;VfRtm#Ece&yRzAn22&z8gRbYkWVbZBSlB*EZ16nFloxr>xtjY>zWWhAx_uq< zioNL4$@O$3>=>rW^}v$6-^@Y#32#6412%dMBE|V*h3|s1uz5iQeRAJGNjn8b-D_{~ zD5zy$zZSEfq2_SJ(Hd54HGqJ*i|ItuSeP$CS`9bq5yk+KM*x8sMfE<-&WT12wU=BCi-Ha2@lK zRv4|K^z{<#?vmHs^o!qdw9-s89U*L*1UK=8&lG6L-B>uIa}S+N^Dt#p6*upoG|W2g z!KRAlP~a~)>iv5F!|Ha@%R7fzUVEUp-1<6<=kwVEy+CsOE%;%IjS%aYh?xfN+@~A0 z_>9{l@M$FAic}XnQR0o<>WOryo3K{kf4o@Hf~`U(tb4f(ua}epvrpfkC2yBN#M$|@ zu&|a3f4YhdIQyA}!X^Gh*FB*xG=|ANe~yAdO3Zk8@Ye7xKlY>2F6SxQ;!~rszAv zhc9EHT$gdtFFvy3MbpFm!5WH`B=R>_D<`+(ab#f%&}q!X|F2VTZk^fV<61a=u0|FteT2dON_A{zlL}(T5L% zQpmshLG{BIPPDiq7Tz5`&Ekcv*GrcM(Kc6QQtx>Vcm7t0TYdCFy7D%Arm_y!<&0%| z7rfcah;5KEG85Mh2@{9U@TOBz%jvG;8)1`2huR_{IAarg;W=N20;`4e;D*5FYZyvj z*AJ&j%NsGIL4g$0`}uDNhY9`9b@cD*Kz7^bI&ez;%vL&%=FQ55z`wI-%F7O{HNC{1 zd{qREqhDC|(&y;u-^jKXo)+5~3M|<*5(ppUsHETtldQVLcWMaCn6xe&u~8l^U1LaQ z=W%w!z>DKov|-=MU)+#q!q#&$@u&6FVN`7@Z1l(m_tCv9bL)G2%`DmM@l&aHP&V7O z@)`6etbq_oMZEmr0Xi9(lT1n}q!c>P>V}tW5*ov(fpNIvK#k?jj@e}Sx{e*+ngycc zjJ@fxraEUC%2_W_qo@5z{PoXT2)LI6U!Uhg!6!9Nx(hJUd&QW_bHhn_f+o z=YL7x<{tf>$gZ0U{gdEu)?=pxFW#JImj#Y)i=Yi$jXVX0(Pm(^>KQxMtx1CqX7I0f z#Zl)P8`y2FX60kQmTweIuv$E+gZunP86PAx%{0|KR9!Je>(o!9D2qkVoUvDdO7eV7G8*@7dCEGeKV16YR<$F9tZh^ zMS+$BqV1sR(E(hqS^_ULkJGYAGhtT4Uv5lx3}~L3$fkN`VqwoZNRqV{*veB$=ErOJ z;-DdX-&pYnlkVc>>%(bzhBdjH%%9Y=UXnlc{uE?)@HW`4F~T5vCt;GyU+2zL=r1zlXe7yC+guS&KnAB-Un?rJ&ac7Hdi)hvTn?kzLkau#^O$8ju3pgQTP&|GQ4cK+IlHWuUg zo0IbSl4KP9G?@g3MvtMdq#ccuquG#I2Vu(<1L!D_2HpA2)YTh@a*o%;w6qnk^$B;< zro&KJkR){DV`;8zF59d(hi`q^geONhkoDAqxMBj)h#R}$&$24M;OYR9y>%ZZF1-OQ zIdZg3s+4hMrljH-g|{qK>HDniY9&F-o^edz5DLEDBCXvt<4ZiwN%CalF1^If!$(2t znPa@WR|gc9Z36k%M@6BvpV+v`(X{4lGc!)nr1^@2h}&6;!4C%0zR%0y*wuCX;&@&9 zZ^?O#R_kQahAQ-~rw(_g|G?sX^;p| z$SXGU*j!Ors{zf6-cPNzn`x!x0niqe^Ep)?nL*PhSTJ-YP4;l5A$?}Fv?K>RD-?0Q zwkdburrLQh<7Ou+yxD`R#+oyUdDT33 zVh3cL9nH6W4WzX*W>T_^JVrW)QA^oS3QfzS^ydM5TVN4uJGz#fe^hYV3vRPzGbYpH zn_IZ3dk?ttxBgLs&~NF!k_xr&nj!5&HMf8IOnCch38-o&a{e)&LH$87JRUiPT0ba= z*l9^PV{!+|7yHn)(f_09Jp8%(zc_BEVMVsc3T;Vz?)#9DlF*VAX%OwA9ZHm}tYk%2 z8cNA_&nc8rh)SiRZ)s@nC8gi}{RbWopL_57ea`FkeD0#2tQ`Jvp9*$-jAMTntfh?a zOW|siEGd^naF2`fa6l~$mfrctmfe$}PvOEEBv%Hvr5eJnh$ueEQkG211^4jvBr?v^ zvPrnw#Tvg0?~q(E!3&woqKAib_XHlylS;vPv2rY&$*;sDF@aBQtwnBWUEBpNU3w#Q z8Xo?hOXhRRIsG?ls6)t4?dz7uITO#b6&{)NZ}f1y-zy8NO%L!V%q~)%bE@EGUq{t_ zQ=y}7@%iUmAl6hvqW35j$b@=iS5^?&L37 zWPwua5_)ubIa?ps4ss>0n3nwv@b3`zS6e2r=PjQ2O*c(=4+?X=4qd)uo)P{$@SLAH zT$^Pz-Ns&lVbv3ToL;oX!Mkl9OmoQsbiX(lnuji8fr=~G!%y!}*+!ZYCTY?&VV_)E zz5@DvJ*fM^MA4_TO?>;?dzj@|%WSeHYW-)iT1lVc&>{xZ_bV%+Fj$ zjyB5Vv!a&S?j1wc!zV(|Qg5N-vl(_Q3B-81jLSRg_&m!?_-)2c`n&ivp1yI5otK=; z9eA^c-7|6}7l&&ozPKAbG(@=mgpqJJE~JRbTGT%=68{q)$=#osMIToMA@`{sEfbcq zx)1GmcbySA?P-B)qwDa@k0YRNr$(pOY{4B{LTPgMMo`-BK+@`4DH>;!a_$ipvMm@k zNNKQL2_vD|H=N1ax`32b82R&Q0J_hp{^a#q&2CK!%~QfHV30*n+Cb+ETHKJ zbZzFUOu#`CWN2q~Cocb(!6#}lT9c?mV|VG(2)k$8yWx#^O-GXQ1b4x+^*Q9Wc{&P< zQOxhq2F>bo_)gXm;sYgYijGM@;dNUax+54auPMZJbwg>xBB2AfrW$q^NIw1J(M?)1 zeat?AO`CNg$Z{`Scs!U5=ncVRBm@1wx3Ybc04#S2-nmV?AS)pOETk=&r14}jk*sFN zq9(Az#X=6+RbWhBx1tS;w}NldQ8vV-1C`EQ!%C-USa7V6OD`J_9}c7o%z8JrJnszM zZ|}i?qsu`*U4i9&`O99FIfB?#S!}eIB&iT%c5TXKcEiq`PMD|#9U-rShGOuuNazCfh zYzw*)KiU2?!8c=Cf!doY@xfCQXqZ#Vl_vVq^^NhMy72~Ns?6ooN)&8#Ms~t-ZU}8z zITzA8zA)S6p~7#)kE$*F={ppoj`V&IkJf;yR}(lZxv^|6CtTk`g5bMd1s*p`MDweQ zVA(}&Qhkxft#t8Z@%6Vw4gp#hS9N}c?+wnZ2p_XKW6W`#VFPyDn@EX4$$0pD2^zy_ zP~O`D_F7Y6!Jlw$!oH&<`Yi>k`l8@Yc?uKXdj=kTFQf@oDG)Yg26s5Kot+Hb&l_2sI>%VEy*WWqn~(3@g)2GaR_DqxPfOY3h2%gp?A8i43kev*kq_GF>nYY zsqsQb{F5Xr9VT!amj%0FIiQ-z)pTXmmDK?(KRTEJAK9vOyXV1 zOL`GAFswmavAHmxKR`0wd*R*Td9>#FQ?55N2@IsNYctIiP;VX&|2EX|jwAo$1N4?+ z-wOkJYdeN?ujgUs@k9IzVHTrbzn8x?d>3TbJ3;)%T=?6?;J@xUnALX)FI$Xdu^D^F zviAZD95a+oo!Z4_$4%!a_3VfF!vr>a;0rG9PbCf>H^8?%5qfM^yR6IYEooNPMKqdp zo14`7ke%Pwhhc~6xZBZEe9as~_FUM*&uVvo`zw=i&6#?*W2Y%tTvefKyAc)D29Z{f z3K;%y!5!sR6j*l(W*X}XT>K;a8N5!DY{t=xEw9;??8)@_XfCXHm4#nUn2_qOBm5rc z8fMX;4qnC8)CqS={^SUheWDdk4;&$LwNjWbWpQ)j^71@-LwfFqly97gtqa`3rn zHN2I6!@hTHfE7*_bbfuU$a8i$u`LEvy(EPcP8n0En+Tlxj!~OhH2L_pbL|5R{SGdq zY4-4=UI@P{mypOv zicfa-!w=#fQ!^XoS=i#)kT!~qKo5CH)eTyb@MnkJ+8NM7-C7gYy zQC6obg*@E{hr7gS>s>9Zxz$;_(On!=Gt{_s(>wX?wP#ShU59FgQ4qPOj_3OUkx1HFh!HEDWcHYu2##=Oj8i+?i>_9D-LT?sFa=Oh~MD zJnDqy3w$4EER`53c)U~4ty-CWIr|Ds$>FeMWw^l2^oHMSLdehP5epe54#8GOC^=8) zWUKp=^^!eUQWsovN!USk&V32bimO?h@clPo|rSLuF zaQ*WA^xFOdo_cM~zdG>)ZrlmOHEkUt4cv<5eVYWoLjjJHuqL)Ln56pL;QOBKG-Ith zwXXii{jnmL6{*Q7XK*yRIgV^fPr;n>Lfv#p`jzm@oXEPfJKeAZ?*Y1#I|!t=>TtC?YuMh@4KV7vAA2UuxBT3z*x&M# z)NY>*Phtj!MBV7%> zWzt-Lt`d|Fc+sUuTVWTu9jD!jz}a;nOySl^dbz)$cGj{i(9J!J+peGIPFU=M8^3?! z&+Iz(+Bg{GJk{aGjs(yu_=XFOUGToP8~vSmggiap^OYI7EFmg@&i~j2E1r0#xZC?+|J)8o-P@(J(Z0G#4IkPnYWQvCqkf9gmQmn-KgD~qf@&eqyv`Rz6?_<1DID=1RPpyB;4cB#^`I&mAP*u~r%^;x1V;ZK-omp|2Io+7W=Nf6(0 z1O78sV4W`p)2L_PFk|->PVc3V1zd2LpL)Fqrt|r@Y}`@yDE38l<2W<)_7*&c!zWWo zZyXv0527|Im` z&!H5$v^oW!{%(ext)U<~y`PnT*94>Ciqz~bN$bnj)1b3o1()ntvhHvf*q$;rx~m-6 ztE#iO;`0YqvBik8x(oR|`MvnL;3=qH%f!w{V{n$&eY_#Pi{?mmFt4;(v_$YJFRsX7 zI_Ac3An+2{=15{zej1K{wGERmRbp3&J_Somp;Ti<2onos502!4%KKDyKg9v!OgJ~L@Mc5mkMj5Q{OC@mkHDi~#BbkZT`F3UzU!2XTdX zE7lCO1$Jq-uOHc{o`NAWv>`Hdh>e$12sFs}QsB2C@Z9q`dN@tvBjlcP-;y&}$KX7c zet8>}Cf#7kK}BSJL-0IQ6yTE>IovSOf@$kT@&h4(u(Mj&Gney42>L6q({lA4dnK(AY-J{GgyOZaF%;^0K6L9}y0+mmXkob&VUU$P*#w`_` zQBzdl@8vMqGA32<_j0uTPAW_~`i;%nYDD=O&oJ002|fu)&TYMkZ0qYnrtUhL#Qt-D z(ox;~x6QXWHYzOJynQRpP?F2LTuk0Aeg1Ad8|N~?q&Zm7*sXzN>xTlDhD z{{CK;n7AAFAN$2WIGH5s6ze zZ`X_^nTWDq&LzX(5m?Bdm0pTpxL zMHCSv53;U*nR~@uGPV}(57c-T;8Et^MCM4Hk7sRa3`O|x;R?!4HWuy;L6DsG&OKP z@fQd1(N{+@J$nO}=UQ^Ve~+bk?m^t-QN!qUaSC`olz=_KAr$%eGlO4-#9vY*C+DG* zS6mEL{!^&`Z3R_3I>Vu$%iIL@y_ghyj3WMp(^u*1{JveQp)`3b8JI~34zDi!9yG~1 zdPzKFyIdh-WjP$%Xh8e!zryY=HDu`__-yiKj2JZ;4o_WyEBsY({e>19zd($R<@CX< zt|pq$Pz;AG^mxO4>M+Zyv}UKsm~6KAz~0fOl+`Mni-+mprYG@qFMkV3t@D9h7L58G zdLd${;Gf%I2UmU^$5#s;;My_Ou=(P7EY-}#_1Saz>l-T3|APvol+>eG=wWpFSBh41 zms0zN>zv)%H8j~OiL@?+P+C_tdDjm`UuQdt-DpV{F37=k^A>?^bC8mMNm0?9nfQIi zb8`4=0Ap)3=upQj(JIqOObi?eN~0{ue0CJ{2Tvg<`5gkMEe{@jsiwjUSK#kO6*&7= zmA)wn`Q-RshR=k4VC!x=vCA3u{Je%A=KDjC=R{#y69!6&YiNhWB-*iTBxsrqqB7+r z^lhvh8cck{!sqFc`-dM~yy`Nxb#n?WcruTgbu6Loy%;`o?qOr&Ml#*?@ubkD&;2Pb z$LEKV;M@X6e-7W|yf&wynZVS#;#tN8861K3zRlo!Jqmh+y>h~!{k8W#4}p?jN;F(x zl|?xiQbM~XrFcX$&)sr3p-2w4yqUpvc~x+^N5|5tc`tDdodnCrvTSO*5?wmoCpr^z zn`CJXiB&~INZd_)x@&~ZhOsm7eXrmjz8-;+?xSG;yrvlMKgHnmDWZ2* zcHm@oS$#m0~2O4Oq31qSvi$%XTD2Uu+*v_OwkomyxhvV6VKuyG*KYQuOCI(OofgL;{kwy$Q!I!I} zF;BCY%kOsKR*u%CkT=9hyvW6%wsPpX(!=haI{;lmZ|Bg+HV~UU9kl)x^6L5OwEV{; z_;XGg7Izzy(<6cF&@Vw^jyvGgJHds?{FtY(M?dbe4laH^3Bmc26jeX5=ANhs3Uc#F zY2|Hp)VCkke^jG+PBoaDc7!ikpNLLEhE+e)2J{`z@%H7@c)f2Ys69y%q{SVv+NOY} z1bPWP^_~2{??Y6zXDM4=paVSuo2KW~aa`4w#{KKosKFtN8pO(3>qJ)&e~5L;e6~n_-`A^Sa@m`D(LKELnUTGz1MD* z^k+WJJAVyUcmH640sokarvmtGDWT5Cj(GETKg-|)A+TvBNXx8&iNATsxmHcf6om}Q zByU*eR|sC#4xsp;i(Ol=8#Xx|1aGkfIQV@ve&4emjw>5MWncupOE(pE3eT~lb{|Xn z7RMCmB&xSc@D5|+aO)8Sc5l01jpwjH5M5%TksZ4X1BB_qjLE^sx>yJ_aU9!(qe6z zC9tc+H9oMdF+ls4?Sy>gC|*#MKTZqorhn>7%$@Eh%2 zdqtQ%C$g*^LSDN!4)W%Q0GQg4>$-D%?=E%vF;W%2Kd*<@XQi}uf(EsQhq2*X9pJ*< zczC>s&>+EzRd4VBlXasgR`)S`7wHOf(mS{75O^**S@ zY$q18FYRk+zm~D+xkH_Q8$oHNFzf~=O z%nW2mz5ffWIPb>R){mjKb}d+!b03%Ntw(dgvDr3iFFa+BK}uZrek)xljySf!;W758w8j!Q=T9cP978J6UCmd=$*__0O=(<);9C8z2BX+~y0LGl z(7n?q@Ag(Ky0f2#wtAC-u@(pi0$TOxFRw7>6WbVfj7_c7pau_)3b(&!5i@*gJTKg1 z$8HwgL@D_D`*y8#awaQQ3?67oZ-!Ps1 z9=Hlk;;TTlRN7{j)oU)jYa;=7+?z`QnWtI&Y4qtFcW-sQ9aKYXt#vhIFqkoRRH2wBn zh)~p|4WDdDhQaNFH{tB<9OiDbmA`mNjn-F9WX_@# zSm|*X8Y+0~jxnbH%*LX#(+CjzfOz50YBp%Q1kG_yqM0dS%<$xET=zs7rv0_xy5AIt z-pSOw&Au(>31{SQ|LF zR@U-0@IoGP!d45C(icIBS0TBEq=D)^FBn>6CEQnLz>?TMXnt4&0v4agY?h9p6^Gg0 z>&>+%X1l>IhZvxBM|R879#mhs!E#7~s?dLET=0h}C2fJnl{2fRziPt`b0^q11ZDu9Du;#=-x82MkyhE-2;i^1b>(jnhp5-u9V!qCKUR(*96g%5truW)UmgF9|v&xeDg zJ7on9YaIbk7w41jX=4^`Ab5+0-N1F0BjDEY?KJ8}2)U?Eqci-7I1SC%5@)D7F*LNdmU*FBVT{NN5#*7QyJCZcZF2IzB`zT;i0s9%I3>Qt} zq3*dUfx~T1t4y47)7QYx@;FX0Q3uVU&Opuf6C^V{jb^s25ppWaAb21Zz8|)Lz6(OYav}ui}l5KaLSh=z*Xo6rQANpj8+<9mC(&u6EK|ipSdWU6_7bt#xRLw zSr&iI5++`VgNF;7xMu&|1ovK2=nrN3J1GNic^A_|`*aqkwS`VAjRHG`W)a-h<~I8F z@<&X~L91*Z9dwtbn6xaMhB{0l&lT;WMYJhB0?g_*K$qVMroCVz9E`h$$J(Z#)%Xxx z^g5N5Dc!;eq5CONBaPQjY+#N7iXDk-x-OT+D|V%g?iLA!|HL;NLzttVKt*wDTF_qaiKqbFE6dGrj5m!{%x1 zp^xROsqd%_NZ$xx3Ncl+0SY!$A-RvP*gZn=;=gSEoLF9E~y#VO|5m4lvQH{k8~gG}$oIkw7DfqGv#kl3b6FnQJh`}bxh%=>YR zZ}5;{r)*AAeC$ccS~G!WC%90{bYeL3Jg{ z!7?>aZMPpQxGwmB58dLOe2b{Q>?;fpea}oMETiq3>QwVvo7w!?OVi)ouHAL?2&-N1 z53+~0(x1jAQNrgz^fPTAnJ8~y9%DC&hHnXk8pj%D`1&awnY(~eeIlV^NCtc6e-*Ut z&!beK63nojLd4Z`3Rg^No>vKty1k#@*ey%$YX8B+5ppzmRULSIt>YFgkHQ~g6`@5z zoX)8jz)T@$nJcD-lD<4Fwu`B~ekC533<%5^<9sqc4wM~g4z7Z$ETB_?bvx<85;1-9 z{k4uRYa*}RdLNtHdYRJUZ04t6L34(0$L}pAwO_bGj652P-7~9ccF!nK%~NJyTg0I3 zwk-{89SaQ+i@9quiKH?*8RWYL*QQ$PP?fzTZcJvmSZXA558ftfrgJlCOv z8RuD(=1MdhcL;tQiRF6ynnb_1xu7A; z9v@lawfG7)@F5i%k2lcbzx`~yYXD|WKPlSzGK2ije8AgI)A_rZrDVN*8OYlyuoI(| zSrIsb-ijESx@#S#rd<%`e-&g^&)ACe1{@n>kJZ&u?10ZC&=Z@*&p&-q#Jb0`mJ&r+ zqF03apV#31jWglw8VkBMvWmWj%fX0`2Fz|4V%A1S-2A!`Ww&o(1HnVtlfrl?w~*xm z{_BDz@gGrrd>XU}e8)UFRdPxnko~k63eyYOveAvKtXLS>W+EO0sk^3oOj+G*$E=A~hb-bKTN z+KuF2=Pp|FNFQ!$&&Fw^Yhk)kBJ&nJPx;uJ^%s<|11 z=hOHWp$lqv3pR~4#kbYjR5@-RYQ2zUrClY^=X)QUtOdTSavc5W@FA^hwYWWK9OVy$ z;5L0p7&2V~n#$@>t=$lwcuCTXH#}E+Mv~=gt-ufKuHz%cLV@rkPgP56n8TEM{z$b1 zN&DK-laigNS{h3pWj|^UY}-kacSm5NqZDn}_5i(~HQ=GQL*SV8b*$!NVO4xIi~DaR zrGF`f^kuf>cbaF01xL9#THmp5vlxsvXyFUjAX~*v$Moz2XuhTr4Zf`d-6mJqD{%B4 zoO5IbW8I;DkOEEIy@KAJ(6-j<4@ZJ4BmIY}RS$8@6{xEE;wAlVoxitVc9^aUSV>5e%xuYM0H$NWdr z#j+sxMH(w#7z$T|_Q9@73-~=xi6#$nVfKDi$eS);<1m<|`Ug>FJ6}7Io2#Wv?8LTf-vZZ0=zS zvYZMNy-u^KMrA11cLeo~_tVI1Z5Wu5fX^3a@dlxp+{}(j>>+as@|Xw%vrn;Q>oaim z(Fpt?Dcq@CoM^7q9eh4TgC6MGLyX2uS|95NyxIePN0$z;%pLUkp+Cf|+{_N_SPboo zi5R9<0Pl-);oT!u8s(?XCP$v*wZm3YxM>?p>4>9!$%!mspdMdOh_oK|We9z&Yy+>x zW315Dnre@EQ~RkC{Qj&gQAqf^8iTkzrf#fF$8JmE8mn%UmzRfc8;(Ftf)pF8br7lP zFhu^D4zGXo^YOwrX5XQ7(VCPbniBjJmA<-B!U+R*VB{0g%bb(gJJg&+xlW|Cwu0@D z2nVBE%fYO6I_&ryMF9!RVE$$c{?yA0{Ghl3HmEHdT~l>ouBtNST)E8NOWkI&zwYMfn%bPN>HhVWEB*j32Zxh3duS6fu zP6z$4uMAYv{NG=XK2mfi#;qMgDb5)-gJ$&&bFe}24WZ2qzTN+bDww( zKYN(FcmV_jZzmJa=e*R|-^dnS0=3!-c($pUYZ^V;S%qe~x{&di>ibYp6{W&cxqYu%I#LNb=JPigU=Iy1Rm#&-4Ks`qMCJp>fbFz{L~PvR%nvdTLVoYA^iI@24?PZt>BnY=HPP?4oz1xr35Ad7Q2ypBEm zi*Ulq8&oE)qDt5G)NIj>pUzh>ImTVnXi=LUFk8?$%j3lqQlR$nV*5*4S=HM&Q=Mqxh1;yX{5*ep z$9i@;KnrA3rKokNKaM}M2M(l1QSRF+xYV+U6W=nPu591I9wm*YmrK9mJEc>se|s7v zTy_(_RrWM;##|b->JZnr(SwSOE^$8N718E=9&KrQ!v1#6qKV9oSGaqGOlRz1;~D}ZbB-z5T^xiilSHuo{x-T{>H(GCm8hU^1*C5&Vh`Q#35@5TXeneU zYJVLifA2Uj4ei1d$utYhM zG;=6kzXG&gyb(FwaiQx!7%3WDfg@uUQ+4_&IG^{HZB|-A#m6H=$Im4~RNo{_S9$)5tBn#z=RS{=t=b;&5HHxk6sl`6n?9QUHUX= z$mQCv{SR1{&18xh9ap=-SMU|6*g%btDGZigK->7av|dgd`*>yYJU$Y~rq2Y(YN6{* zQ~CPXp|rqaGYfRlgCf@`QoNVO^+c{m#SQ7TKTLGsMXVTwIgO{Tpd0+?E$&Ra#~yl} zKJgYQ^5pwQAIytdxJQG};I>Igl~mL)Ac>7 zr1p0$ouAar-t%*Cp78%Vc|Zr$W*+Xp#smbS`qvof5UEnE!;BE90q#D>A+@b(053K zcixJ0tVMxjMi|i+try%6kv}~CZyv@Qwqtjzh};WagVViD>_p=Ra2~ai{+m7ss)c!n z-P>hUwB(>^Lc0Pc~c_1KBq|E3{1JS|F-ilR$r~{QS_s=7rdz_@jM=l*@pdzXTe4J z1#|hq{0uM@xDnPm%=*#LFR1aT6+`+} zX#vy5C+DhIx&IpUNIMH-4xWSltK(?CSp#~lEJpoyOR!Gqg_zUBxZnU~Zg__jje>Go zck?IftM;SKKI?!NZ(@=UzoG?ON1{&QonNq<^yUPy(RHQVu)GLz`H;%T)#X52`zy|J zn+L@VY+?5s_p&AaMeIL;1lgjZ2(S4>%x@Y`9hxRo?kHsY1%_~I=27Tbb`(S3J!B6Z z1vkX*6MU!7Vu3w5i<`pjtyQy?r=3GH;p~mKLY}saj2AAVpGEuOPqqPk%Mk;U;2hQx zXAjnUG>GP0#zh*>t+l!a!{Y-Vu>I;D>|Xnob9-h=17n@p*(EFBKw}^G%W*f}(^OL%(!B~ggKWudn>|z=i>3KHGGVjJYfN>WK$jgvFzCq|Tw?Id z>gX63vbOdi`8NHU_s>tkm$u0iE_RQpucbhZ|KFJw6)6AE0G z054lC$;32~&Ss2)3mM`N7AM7gUP+3+zPFV_MR{tn<(TRt_u00 zZLh%5=o+_cNCa#5-bw1UL!c;a1|>c@#`eXGC)-Jt?A$yfG6-D?CHYy9*x`z5Z#3w& z5X!f6IL{L1orfG1Sx^iqVWx(Oup@3AKR@oH=%=@k`I5ZN_D3GU|AtSZF8>j5ZnO(t zXfT0;whpyj1Fn#C+?CpWEyq7V-<7rq-OiYGxv z$9j@9G^dH6h zr44l34Tk5rM^I1TQtuaBBFi61z=j=5Nt^4&zQNfje@u<#dMmM68)a}s!x3Qn8(G_n z39RMles(|h5Ix+RgXxj!xHm}~UnUG9>DeK8a=S4oNK``N5mgwrMFSPaePa7ldT{c! z>%7K+X!`JQCA+wKJr;%U<7X#MWJ~e{*W~V_FkD8N7QNHPyzzC|u-lC_&o`lgYFCaQ=`(-EzY_4IjawP z@4A8UwqH2NG>tD*JHs6tp+{}$N!*`)2|S=#f?XDOK0oGK` z2D|@G@%!J-M#rZ!aa3&r_Fn0sp1}d=HaJtXFhrK7-VBB(wc%`3zdSX_F2&VmQ^+oP zGneWe(+~R33SoTIOw#g(O8(V+#{qq))j!`VTJ#G{IE4YIh_WqR8 z>ILJ3jA^Np91Gq!1aRabEUy2-{V95iiyN-6ed$Z-+2_x&(qKNEo>I)Kj+28P{wuG{ z9irpza`@_!4*$gwaagY4jXGV0c6p0&+M^<98j{Y2Pk6>DC>PPs`Qt!saT)Bf-9jxA z7O;o1uzTVXfeC#AlX_(7=yo?682KEVr|GePQ}^+G>lx(D4#MgnElPiT1TX0_2&gfG z&(}xM@A?$_I$xG_P3%F;DTvfgN8x*OeO9j=1l!stV%Up&xV~pM6o>~hTayTi`L!43 zs*gpdJL25cZEInI_(*b)n8PQxNV3{(V=%T%S=g(F!bFKYZjsFxbY4^pE6h^aYO@#y z*$3F+#b5XVpMT=KLLyjhHwnE3 zRa)s#fIAeA31`W#Y_g#?_%4`0A7qzu$1I{Se9%{syzDEceqb&J_EfT+rmL``D+G>T zlcL+3&FT9vRc?oU35Mjwh&G5zLD{NoX5BlSx3!4Gpa&)F<3%}Yyjh7dZ$jYbJmGKu zx|bk(Dm$rYPx|`}>8j!ZY?g^;yX0)xA`4l18n7JVR)y2JqU72&?}4IJZ?V*rO1P>h zL`Cpflg;^rz?ZYQF?_EJD@*- z0w!xPiJ)ZCeR>ewh54pd^;H&gcsg4mI|HU3y20*0GlHA@)Y}K_$z9F!n#QzvwH-^K} zg`l=dgFYQi#zR)#H21_k{B*L8Q_BO+;+`rwc1x1)TRWUGaRb#3iNVi5w}3%>Hl^-O zfj_VJW5)d^47l_QXDmI%yDjU&`#l*fN+yL$^aO9w+@a)En~(pd`=VFZb{xQkBww){ zL~dGi*LE9?pRNm`W2|cjUv{HmZ}vl6>=AZ$a5jJG>?DkP--LI5c5ppg&I(SnM%Lvq z61g|0U|QHQEYj3vI&JUxN0T=2o}IejUq1nSwJUg2t*z|RjHM*GQk?p{H`hcv8^V-| zkG%D9B{D3GgIl(GN`QMN{B1ZvR!|?xutKnVtO5l>*GUCJN?!8%;rt2chqu z6eP(hai&6NB{*1kUtF93n>I_5>!Z_*l{sT!Y#XOMOOja${?gY^*J5^HDJvQOnO)8^ z0tq8)kP@61kLNeB8*WalaiSO`yXCMoCo9-3sZhAFu#g>^>c^~xHS$u&OPGu4Q+8&W z2AzUuI7oIg&fcR8#xw4)Hz!YG&wv=Iw;B`6dCPh`%PHk|BYKpbXA|6X=%$1=Tv>XP zW#kVN{cIV6K{A`rZ216`A0RFD6a_3Z91^Fb{DlKC8NdX*LbF@naf;0glk_u z4VAxL!}??_G9B#)zg~IZQ_T z=LlXx1(IF871a00)6_rXVVq%A?W3;AtVMMMiiU>MQz0)hA#w+^{c?%C#NM(!m*2CQ zNBm*IF9)1?#|k>yTG-Ncm$^k=kNFEfC561i7m?z%1gwxXrm`>6ptx2OBts2JZsS5| zQ`6(j5`GK3!D`(6=!C!+xQ+WpMnQdP5vm;qiqS~qUzrMbG!1V;J4w38lwlusVNP)+ z+K+Y-9Ibtv)7}VPDY23j3|~%j`u*69wE=ikm?h7X&qpoKf9(C6F}Ta>1QrKZGv)PL z@rhCuo3DNsM;%NggQZz4;J|xS+#Jr{?cPss9Ted8smZjV%o7~n?BcQ>1cIaXMW*;k zj7~g`0*NWC6rqL)SA4%YT~dc z5iF1V!TjIm@-GBdaH97^Oi>7dH(5TU;1kSpqO~Z`;5yTJ`;b#}&;oI-6fUmu4jUEp z0@p1&1%tG;sA23ie!g)o+)6x1y$M-p@>WEO&rA7mi;ehITAp>joKbt z?aagI7r#=Ynr>x&;X1?Dfop&PpHxr_Cksp#TlEU@36u(BU5XW{)QE6o&ZcwtPJ|}sWd9NRhszvO9*IiEc z%MSS9>Ojl8eli8~F*NDO6Xw14oX}+w{6KfN!Lo(RS#!jCte<92gJ^*k9e#3j5Yl7&*RalcKM;GpAvN+`;IQuU{U;_($$xFld$^9MdU+_fsH#H1) zY}f~Xr&_XK^aE8*75VWG(y6uT0h{jZDH0M@z(0;*Cg0-toAOs#Y-+1;A9yA7a*xp? zIT@BMHJJTd9D%Aqx!8KSoY~YEQm6bIoH*Wq$t*Ns%8y6k6^(tYx}}Ll7p#CP4IzW! z6~R4^Ud`piUxRh;FJq^~Z}tvu@Ktr}Ak6-rSU!Bk9yp99cQhi!f<4XUd z=)B{x`rj~aW@IKJgh~-AqIk~dHlu_x8VU(Ts&A8$79zWpO@)vmEh?UK-%(0SX)jGu z+DSwEcYc5Q*Xx|;e8zQO*ZWfVc>u>O?Zh`q%@}wgR0 z+vzMJ-`&YQKfRavcP^xb;jj3KzPsp{`y}d!m7>_eCJ?<%hN5I^p!54!*0NZYKAASN zYvoWlff>hW@Dvn^(;Z#vV_ zjp3xS#1Ca=eicpV9?4bAsNyczETp*MNid^TgRG}kGY*E~-taE`EU=HplMj2fK?`o5 zc4yITqnKoR3MNjOOU!3Cb^jCd^)dNi8Eh=Ne>EBRRyt7oPc2Y9zX1AtH{u7!ZQ@&= zS*&beC8r*yNTU?gDZpR_^&XpoE>lujOqM4}&5y_QkYEy8<6*3-;H5u4o)RC}vc{=e zsF7Hb7o$9*U&`O^L7`^%yH!@A2J-}1j;v0vC#&rXmw=?rA~Z` zbB4!5o?JW}cp3|HWoKf_`T626yEIwW8Z$U~wvjD2+yxK&8u4G26RfOOh8Hj8NHs^5 zf3~pzmISurz`zipcVI8mm>Pp4ldj;?sLkLrF&#zTBk@((7F_82w9&eLEBV#VBz*gh z&Ds2fX}xT~fMbR1uK0ww=Dh;mJvE2ihFa6rCn2;|yqFs~(}?==S95BMcQK7uTcN{a z3pB0Y2TckFJS|^I*F*GT8ODfT_9|OG1u5U5$+j1N88{MUiM%;lii?A!QZQyq|I)O zi7vw~8C^aYrgN{Cz2U7-%)@qrWl);(A3PC!hnmH5H1D(uP|hIosi;8{2QhyxyB1B_ z+F z!`g4xu* zKir@*LR_7=iRRx}D5gxdmgwmy>6R z4>vSsJU^gTmQ#3q1IumC;(>oH!dg0jjt)-5?P+u9VAFL`c^0Y>rwi66`oz8 zkCqKlbT)bqD}h1`bNIz_l%8-0XPt)AjjA+wPXxh+%n6JxdEc!19e%4je(!;Twfzx+U^~edtE~SCD`2m3k6OB4m8iHTPgsR@=W0aFD z=ug@zUQWpv`F=YI^zUpkOxzV`-17eqM5&%3L2~&M}bcSX2DWN7@s#w#6=F}vjislEsq3d zb73u873+XY&ZyGzlli#E(}lUuiefj8`_R_&@^%;B96_rGM{q&$T_$&95#1V)il*n& z0GlS_BQ;q{@|q_a`)NNay2{dW&B-)<#ZgRt97WMJQj}f#gm&tgg5>-%asSvNjQHY? zcAiCeP`erjo*IQ-a{1Ws+yMIO0%&TM81!xA?9T}7d8^=;d|vlMCb=vQ{!^U5bt$f5 zFV@GyMWOfYdzkS1_`Zw0>hjpG)}vT;VKcp3Jsy{94T8?qFZku%uegmX6=D0E*UWc< zw%{ij$IOIGOGepij54oPuFFUc%8KEpMZ9cM7S(Kdajs3CjI6kn6 z)07Ru6}^T0zc;D0CnOKM_Jl*OIFVjY+Rv-;j9rOQr^Bh{I63?h^20BaQ-Ke(eNh3A zn?vE#0wMnty;8jAmp*AJm9U_r+3-zX8l$`Gc+LBBq44@Ubb9fF)yUnzq3@@WbLcTl z8+!sCZW~5z($cgCq^JjiC}reaais4Je!&!D^7;~wC9xxzl|dS7`Tl@ueRKqTeV6g- zjht7y0)(8HOtU(2nA0b1Qd)iv>+&qoE#eL?ZJdJf!H2PL@CFj;-RBK9crj;ol&-#z zWJBJ5Ws~1mgT=)};%5)T;($DgRMLRm`etYlqX1!kWT@-4#~Ra*n?g(ukSM4De3TFbwtB4!O(r^SM6; zA!tR>uhHeqJJg*w6_?<<=>~9bjXIbmnSj#Od{*bOj7|n1n?Kc%$x{&i?TW;e^@ve+ z=CEa3A$wu;3MU9_jM=sbR(tI}SHHT04ZU@TJ<{JP%Oi6#HT14<@^!-<7)7lr4`1^{)qzy?*e`I zC)gjp9iy(4s89Th4(w2j!+GajvGtK zsz2F7^{KEy_Z{2#DgkUx{l$rj0FPR&xNDQ9(Fb3BI`+^9r~I_xMsgy2F?lRVuiefr z+}p)}-7p{ao2TMOQ3E?=)QXm4GsH&~e{%glhd}nPd~U!IK||`3#=}>Y_!S?c(C))R zwxK(Kf=$oD453#v&e{h;M$52Pw;EP7^dP_RHKX1icX_VW3rEcPh)Q`Dbn~1HJ$HG= z{kh_br-$0W{9r5AdgnZsvOvsce)Yy3Q;Jx~s>@75bu4|^Qi{K2pCA`1o^}n<_Lpwu7Hqa2o0NT~=_vj~i#@hvmtBRFDGrtm`pebG7FB zm#6Ws9ItS0Rz`HJEP*z-%hNOu4*z;rvW1%KNpH6&1%@3%XH642Eu7)heM+I`h$$P9 za*G|^pMVQu_rlgdF}_llCa!ER^_-jx_JxDsg<%@I_Tvy&E^wc9(&|~}C`*c!y2hp) zF~fU9%J?lCqG+<_NyHvU`fR%a91Kk1l5#QFjLYF~KLI-TMGYRF90hsB-|=w01Vy<= z7xrU0EOpUH{RFr5VrI z_7-U}ED_OruLKz1KL=u(0{Af&@dCeh5tupu#;zMl;<)jBTxwN08c5$`zOsIB^4J4m zK9hpGyA$!jIY+WI-YUA_k!Tw|wS(fH{t@y(`d}xBp`ts3P`pJRbgGAu(=vh8`*|0r z9q^*na)r3g`Z<2f*hIt6eCA4O{o&n^bm;28gwX;UOsexJSH1Et>&W6MIPM|l4;YKO zwh=IT@O9MY(kb%SEWA6#92#zWvv%KgI9Ar2?$wl1`1`lG6s4HSjAf!U|0;SMq(I$L zwY>I=DWV^*hH@3Q43eS;(}(ua;8mXqJ4ux`?Q&x+?{~xgmUlQVz=FQGPGU=sT!tmF z2Jq?YFHV1lJS@?+W<$@6ru7S?V7m1x(k;`cRof4MMTRP4W$`;DUP>0%l@v_5HcY4 z+%JbfT-{X3*{zGkVCVVh-B-pBib%!!@0zs#!DA*0EJ7cV6mt6<1b#viZkH+HYd&P* z@iSZLLg-*JA7{YYx3=Twj8mxT+Rr9UxX9Jq*b6})mczjZi|I~CF#PgXhZR+m*@}aw zn7hgr2yW};tF(*wSu>QWSy^CORLH}Q@j*22RtmefPKS;_GFcs3&$bRajb}EAgnr$T z)FL=2w~wuZwPnYkXv`rddo-B)m2v=w&9=eL$j_|Ixd38~83Y?h!rjRkIA(b^a~1e( z87g1d&hjQ`ikMGDEz3klrIBD!7QR{XIl8qV278Dr>+_xNm z{A#yrns<@Et|$kM{XN{AM`_rmBQP6^9Vn&tAaL`~az8$IvY@|l0IT}2L;VDseQqMk zcPfE%##_AbP3WG^?80jsYFYb5!H+dw0k;i9Jo6k|3gH-gf-J1A3ck7h!)X6u$nD7`+CxoMW5rbjv}QPIJOXd!2KuU=pY7V|cbE-{5A zJ*-!AFjxd!W7f|Xg3;26aDKph{7|xu`?9767tNBUqBYLK`j864pEtu?`2<`%c!ZAmFT(FN6;IGfOBXi+p>HE_N>f-4U>P0&zXHe&_2VR22<*YNrj)C-n6c9JJi=` zQ_vy_)6FXW^p(#7_gWRE99CwAC5e#mqK2K>F&;K=-;a7vEqNT4 zj@#Dy(aLUs-%*oj-bn>&SfaolL@Pt>z3W(Ks1>&QiGDeq%i#5}7MV8h%CV#{X(>EVc#^t^_H zcM(D0wJ#5TjxJ>0^B#-0JUhk>SgZp>RWCxHbP<+5TWr_gcL7h&xPsmt#du!uEex+1 zgYVV-;nAv8%I>zs_s_aSu78bF?vhwt3<2$_i>bR)UKbR6#hvO9K0`w}s!6|L|56@2yqTFr+nvwDt1HS99 zkyaBhU_mT1@wtMvRtao=_G*gQ--f-OQ(*W&bxKY-BJjzMVn^))u0^1jcu z7^~x@b%U9ez#Trbb~`WCmPxvk9+g&q+PVl2c+6%NxW~mo(#R+C%Fef8~5HD?@2$gTM;i$26RUeDU~veqGIC*wLGe z7r)w4z=uJkTvn3DSTU`2d1gs^r2P);O9tM z6KxDDGBo+!6`D|8ENGS9QY3#v#HpEfVvd(3%pOw7mWL|ylAE94RO?Kzy|bBBe0z_s zy)$Ti_gNNr?h?OG=y3Nvv=pxN3BAyQQ$2-(ruo^j~F(Vc3pjq_Et#( zXJ8FxbhV0SCgrfhS7rEyUEz@F;zg;RWndPahfYeDusc3mc-AlB{(zNGqMFQHVtnwH zOg2r)`X#=d8iyuzKJ>_Q5E?vQ!_-SlKqpxVH}0krL(kw;jrDs58vGg#b0a3(ub1$EIuGle~%Ci1=eXsXAG(s zYLde84fG=KAv1YkPI}`#Npr_xfw!PQZzssYta*kc->(VsJLIu=TL77KZ>8FE^J&(Q zr`Uew57)Flfu4T4!8aVp1x?|%aQS@@eJ(jG^4PN!Lv|^%GS_ST%k~61J8TD&HHw8~ z;XD0iCqZW)%!erRm6)^g7aL<^#WJGe(BSg|s=HCj+XmM0ZFaL^nqe$6jyGn$vEEdF zZU;2naOTrhIyepGaBxex!dvarr8v9c)PJ&-iSviT&M$YdX}&6oFRGAd%Qj5^cLH1s zF0!8{KBB`Wi^xwC3gQRqcN%sn@^bhA2K~* zmge1fj<*r_H)anW(5PT&2rvFhgQP_o%r`COFZym3)_Ogq$KIX$oD*9l_3Q?7|sIx^(2oAMVe-du&4FVfJMIS607Fj!a3&V7pe@*_NEa zQM>c`aE~%3X1|B$S0P6m~uw<1sMRosS(|iTqdR#U4Nj{(A=evuw z_RK;!CIx%8O5&~L0H|FU54&onp}NsnvGT5&xWh6Yi-P{~o;gFw!y!dH;NA$T&p(Zi zT#2{3x*vnu%t`%LBMv{JOQG>&=vl=Y@eY+3RPD>>Z-33^=63x?_kL4Q9)FHmeT;$V zr{)kb^Db_G{Dd`gGqEb62Y*hULyC#U6!Gi@(=gtP+`lP!bLms2t@0JiR4ed@Z3ol; zw;w)jHHGY+AQE}aq8~pva+tOaE^2ysOB+MvPhxBTIX0-f1nA^;yw%RJ zjXqoPc%LfiY%zwmWucTb)s-E&=L?z%!_j|WHLmk);LSS+h=UKRqr_)TCcSMUZV4U% zZcLZUD>;R)d|F|n{yrEdZ6;{ieZ2oYX9`cndUVaJmlmGA=6ap`f(3@{I?vg z>pkKYCXaw4KjmrUj}uTJu+?o0?&8NmY2d-Rk!?f-TUNCLbBoRhU3;yZ&ze-u>-tN6 zzmOex_*0T*yz#`^x>Hb7@rDyB1z>#B5LlIQZ@;%6KcwS#7ox z?P*y-9qmFljn5D=QhS1iD^7t#m@xkw6^W^ByO9qX!@u^qieC1MAV4=B<8`M&!+$1b88|NE?Xqd8Vgm0)`JSF?x#{^U0}6)JS)DY45F*;*rr-IE~rHm-7dD*!J) zE$6OyjbqJgy~(X;CngXU9jnd^TCpkk{QIa&_|7yaop{KYT4<1~Vz57zT* zCT~XVnoTS_p+wl<4}pfuSoT;ef^K^Zq@}Kj{Kq4!>HE{sFd$_gXESO9P2Z>wA6AyY z?dfmOSI37Um$ZQKt`l5Se;U5*zJ`O!MpISJI>?**8GGGF(k+Rdw0K}4Kge|j1Up?N z#b684@Xv#NmiofC?97FqzJ#Nd;wV|Fj!hA~NYzv0n4ESLS@eA7kA}<8?HChy6r)5M zkGq-Sj?--MO-XbW*2j(q|4~UpD@@AW0F$IM@Ik2*xh;KZr?4#vMlQC)e+Rz62-%Ow zJ(Z)mBVS^i%stk+TZ+tz)`E<{qly^6mF28jNTJ8Ind%+|+AhqWBx6nRt;#Q?Ai+1% zbQYF$9RP>ptMS-^a^B5!0o81DV#6=pgefbvAjVhx`bip8jE1?Zt~uN^ii_ zQ4z4+$eVuMwk4-0+MKHK1#F5L0Qb`*!0BoqZoWR4{;icE{>N_SGH5Uc_uqjz(M2qJ zLk+Gz;|rD7$FbCQFHzfhLW7Z7Aa}`=ozhOirw(E?eEEgorw8nFk-#Ta0NbtBfS+gx zsYiZB)nn~!N$yNIe`gJ#brF6aQo}~vUr!I5#}n)MjobV$VaVI1C_VZRP3}SFE_al> zubz&wf0C#{=nGIez0vN(nOaEI>fobo<8kNPPCn#=&|~zw3Ab7Fa+}Skz>+0ru>Euz z=@*&M?M(u2-sUU5=$%IEs@2$~#i`gF@TpN@QZ-DDjNz+|hr>RYhqm%JS>%CZ7~t#& zU+W8Ds{VYD_lU>%-Ssxc30;uGO|{_or4*z}AB=>9=)}ERT zYPs$>IY<@m-&n}*_HRem*CFso?fhQX z@FQgC&hYO{!e5D2%(10KPWiC&wU8M;KaM4xJqCtT72rox1(qOf&u1NVRb*Fqx=x@YV}e=8eN zxmCnz>p$V|dpdG-R34*4RiHN{7(Fh}!kiDLpwly%^i%z*H{X=Kb}NV8%2_0_b~aN# zmkNJAtI*Gj3t-q?ce-*`o_TCq%$d2h(4I3qGOe6nUl)w1a=5E_4O%sG}=`BWPdm zM%3yuWdkOwQ}meC6sLcfU;Qg{TA#XZiC-3>rN#H;0 zke{I<$faz>kmu@x=hO%LJwNlUIf}4ULmkTIw%{2LDLydi5YvA=k-x5e6r?n_!`mx8 z=q{6sDJxaDrl$bb%SS_%q$4@}T1$3~I_#XpP_X`S2d|0ynBHA;s2Y^X3fk;gdY>(Y z8h>HmBo+#S*mvwZ+JZ(8c7y(!9Q?X?5!B_B(lNUZ%+`I(22H-eLT-$t^{N-Jxa$&o zprdcU@KcfCpFYi9Yf7P}(6ty4<-q)Ho3ZiC2r6_w5B$SwXbCfe6s;X7x`FV0`ezi^ zJ;us);iM_}YouJJ(#8{IF#Mr0=nZQD==CodjL*HJpl5}2&nc6lwK`6vn6y_On#ee{N?NKVL_&l*axX-0ytOo4< zsVDOf+@Cd=>R-x1O;|0{GzejjA~%y=`($RFtd5356ltU5J^sfqo-IzP;FC)R-{9A?e#-&BQ~x#;jwiCe58|3#SjI!4%tBuy}JJ3T2}3Q2z*ys<9V3P0p}&9Y=8Y=oD&u zp2;bg_A94<~c<+2uWZf6$Ret{ekO7feZdstgIw2sUe_bB@;* z(K91Gs8X1~c#Z40W>E-S43Fn#91g*MiG|eQyp_Eb)}Ys#vS?f?M%Ujyocg@ynB%F8 zKdmP*cH^aZ<_!@|NOq-+{*n0p%q5l*I!)k5Z$aDIF!+4`wq5vkKT7P~jb|+9i(7O` zacZP6D|a3WkL6CF`h#_Bg0U=k9e&MMt`_c{M|@fS{&18{8%PD~5-G}WCe8BP!J;o% zz{P!$)a__TH@&T(Snv^P9eaauDk{u#+gn3ezIFj&8f!m0-x2t z8x|k8hR5sPaQ_`7RDN{;Pn?i|#X`^4t8L{%=0s46HkRQpTPsMZU4hr%P6L%6UEK1{ zdF)=dkyux3L>IDVv7^Cp6mV}nT=}?+E+2{q{W}Wq%03MvR}`Sh%7c(P>ppnRSl{?x zwG50MR?1=aM)vxUHe2AiiN`D@;eSYhphphi6cGoO+g*hIQU_edt5DRX#jyL-d**f8 z4bJy(rVcl0Qd+i6-1jw{eQp1NN2iWpql-UK^Flo;?zqfv-?@`|Jl#oYq6{Rzc_~&N zk%u3q55pfSL1;gFF8}kzZQOjIf_15R(7KD4@sXW9*)DT}#dFI*&E14PJ{m~vXWZ## zp1^piBD}HUHj}uq%PxB463*j?8okll$5s{#v$hp`=(5jNw*7_!CgdsGuU_j0asu;B zVu2?8oU<3J258fWLAEfdVkIqK*a#mM%wtb4yg=!aDWv~*7(P~)flnzhtgy_9_J0b8 z=p(ZDr1J@yp7Wy?!$6YVcZPk-NrFR9_L9zODf+#j2)!7<_rfrkwXl}OY7Jz`8vY<1 zw@hs8TTjbx9%TPMh*9RN!2hy62`UdPA=uBEy?l3{;o?AWP3ve(9T^KcA9u5t9WngI z@vk8>e50Tbt|kZ5J5!|j-h_-3^|eb4q_Bd>&_-ZqB5ry`nr&YonK z=)v7lPteoQf!5sTC~HMEL)~zuqx+Tboph7^Uhd6&*Nh~Gxap{`p-rKNqfvF}HdwGK z4IH&Uae5!?MAj)I;cl#)z4y#9^!!%rM?@YW_l|#jhP1?O6iCZOZi_B_ps-W z9Mk=j#8y8Y2QvGu$aS0#loXx^jjdVaE_9{5419(w4#;8VWM?uh8wG=(&V!FDjp3tS z7Ry*`Oto*D1ufMa50qcU0ftZc+zX4?bU~M!`~E$+$z@@TWgu&|ccMG9SHjTC6IrKa zId=P(pttujm~j3x%id{Es_qw{(j$ptRy;*rftRIo?;PGcJDYlX4x{ejQ)0b{JG{ky zU_QD=cv5(OD|AzMg`UrBZs{TXmZwAVwLRkR`t}g9>N)iO`@#+CafY5zPgtO)aJJ}P z4DSxC#oF6pWHE6USTzq}-S0(oU`-pfUO!4+`^sR2(R!il;ve6%H5tV-KSJ}TQ8;C_ zFyj!(kjucaw7Wl*=6T-31UoHq1G%isuRYMup)6<5KPujLf%vS_XFXu7KLN`xCNZP4*U+FQ-tO};oR4aR_kg3ecMQ1rG-^-O7QjLMEG&Y0=`J(lH9`#uzdQG{b=q-vjz$1 z*tnLwwC(BA!fbv;e=sawcLXu%9Q2hn!y~_6yp(4(jT`&~TF(aK$k*Fx>)b_bjm+6vFY)X`I*W?TetWtZ9S!dz~p zQKjf>CkKC1ZGc_>hGvrgn9LK7wT7iZLy{AjZ?~nWzh3|Y??=LAm-FoB)N$PC|K72{Il816Z6@CCsetx{57?VYmHfq5v3$9B z2W?MYYCC>lBAUrOCI^3MQcc|p5og-)%gn`%+EXp4@J&4a&3J{I8@Ax{)=0KTXCs`p zpGje*xgeXn7yK6pT$QaE(A2n{vwixEt$(IYUD1!R!&vYM{I{7IhAm*-pK}`5|7Q&P z8{J_YUBI9lZs52e11F1y2)s!ns6JHA{1kc4EqN*}R2WG+ovz{G;q9>Ez9D#Td5A9G z+i~B}FrEDV2}0^(EFIleQR~2&A+8V<*gK#RlvY8 zFclXn+tE&!KWMnr0KQ#s=F>G>*>OXnK-Dt#;+PT`oy&*#BPT)KWxmkoybP;Cb(q3v z6`E7Mji9Acx zV6`$blM`X!y}66)FiT^F#R=k(JBENS=&`8DVQ|TFFZ_(GCHeZ5`~eT4XQJ-~cR{6# zosgZ)Uz2&j#$G1D>LJpsc;P2{DR6`5JnzI%?|vcETaG`BJ=la4ptbe}7@~F> z_Y`)aLH|4Po+}e6?!!Eh>8G~Fh@oO}6Q%-I6*BqP8{yMD8|G402mLBf;O~-1h}l%i zS~@x#O$X%i`FB%reSj8QA`T-Rl_K1IF^`So{OP2Ypi@f$*B4oU+cpfP_!3RF%=;YE zo4$|L2drs4z2yo1yecQ0-)|tj6#UDZCvjajma>awKd>U@B&PKG=5sP2 zcwiY`wyLFjH=VF(AJ2X3-o@Yhs)t|J3X!C<8swe*jyo{WA0@)a!S`1ZP_QeXEvh|2 z?-X~^;20%5DzOnidIeBco+@*@Ig?%S7YXZ z#F)w8Rjmsds)y-$uQlb_jOUl-Ww981#uADr!X>kl+^?;3S;^%zw(I9|pm8^G`27m3 z7*fWbX6QhY(?#x!RyJsy%H*z<51~iV+K^BkMf^7_if?<%OLYy#C<$k#@aZM&Tv7)` zO{V@xDu+Rl-aUlulQbpt)x)Bi&-e#K}U!4-0NAhn69=fi8Gui`|?8et8pbR z`tKC3>Q%+5slV8t7o+J!a0qKJso~~EzF|gkI^bTWE)J|3LM!IYrm0u@IsLH<8wXm3 z!_C2yP?<6@_enlKs3{*6iU(8cQd8J-el)$1JIXJ(7)x{FLog=tD8}#gfY9a00#2O6 zI|nyYx=51s4xbDC+VNmnnSiZVE7(6FYp~S+3Abg98BJ2$MQak8>A~6;EIZr+By8gG zy?B_Aw!e z&lyPj-`c>~`XP(-T}UIj5BvGFpeh79mAhpe1Uyhca<(ZSO_Bzbl|HY(t>|d z2`gAC+)-MAUK{dRuyG)Z+x-gK&&pB6L^U$F*Uy=kpMxXU_u_kN!H2l6Tei7Nkql0`QAX-ST5Oxb>wIoSr#H*tL4FH!)k%OCTg*vjr8QN>z2ujE zju2_ujiutaeV}4lNZ}Dj*t~HESu$VABHvlT#hZlJbkAVW5IrdWGX^$3ju&zsMo=g% z^tgvAkXy!Uw3(1ZdT!%kM#U7!lu@B;IrE5j{mK3tSVi&;g)si6EAt$7fxo^kpRGDt z$O^1A1nckP-;FJYtp_%3!&iK~hlL8eMHU5HafDSBti(@zFZYP=UpEwMH{E8<7K{$q>?5c1 z-t?e&zo@Vx5zDg`A;~9@%}mL~g>!_?WJMz!Kgo}s2nxaou%QQT+O+bQ0bF)_$7e4v z2UeNMK6%{YhF|^6^acHS(LX;n@-RokC8Xd_!%r4$DTx6BGxCn(6jZ-?DChA_5qK{|bdbl!S` zC92)^2lpC)5aG_gF?SwG#`a;u@oFwt+n-(yOr@IaWZZf6Jr=(xU=!805&5Kv<#c60 zI>QLAoVN~9T?`q((B7}r~k-@?j2B8?hR0 z%RWHGGs!gI+9}q&s09bGiEOsB5AHu<%QoG5%(*SO!nNHX_S@z#<{z)=C3yoqtjOm=vuTsIV~N<4bD2wECSc!tCNR_hGc=kjuiSb zthizC&a=Xr@C2*xHQhsZmoFonGKfyogaUCOALPV^@IA#Xo$Gi0t3xQ(UuFr?DlvK zdTYKLXFvMDB$ppzW+pytTW>QHO}>ZMa3h>?QNYgki?~ZziA`k-VfO<`iVMENJ_sJ9 z=L^&M_Yan^+f{dsAd;J`9ZyhjErE5bPzv0*$p` zgr5_Ho{*(EoA-c*knjF@^A+#;cQVbK6({7U&ok9TCu;chReWjg6^L4@!SmC-+3DwT zq^-S$%+nsjr7t7t`75Az2{JVEA32VmQ!gUdX zR(N9-B%O>SmFxv9yIYBB@B8q()L3;u+WdwT`t z{%6e+8yu)}_kZyB=mvO|Q-Lq67qQ42>h#jB4r2;r;l$O!WN1`?L7z9k5q%XnFh2|~ z^iQV6l53e^fTaDyF|YA_;TD(>`WWrwrqQ&>bc$JwUesrc=z83ejK z2c@=b&N`x86#CMRt}{uj@AJZD4dMGJwxXt@X1vi?gYR?A(IeahlQLJ5x^gCS`W6d6 zyEo&FTc_A1g`4bSbT58ZtHeLasW1dGxmNc=cK+Ho%sd|k=F7KJ%bQd#^kJPiYjQYx z-K!v-NTUYxy&N08HKE~H?O>4!2z?*VwJ5aRhcboiQjtm$xh_+J?gNP+FZ42sZiiCT zP+PhnnZ%E&VYJ607<`&Wq3`b>_+^tYud@yW#qlCUmkrD_^A5`~k%7%`O=w7+z?W`G zvYYlTo$>w8=xVDlH?q6JB0QeJ)6FhL^WmW+i<|ANDTKwTw|+=&+i2n!(7W9r$3vckGDD zfGLgA;>~Y#@$*n&tx|QNs2oRnaoZ2ZPWGc3=kGWpd_J{a{>1e!oJ~fbf(7qSC@mZ( zMYH9^Y*g?nP*W>IU+G*s>%~t*SG#PO_K-)MG|D6YVlT_gCp>$RScs;H}d$PUOnS2Y^Hth!Mw-OLgwGw_k zGNq|S2id#I3doK60O}vs(B{z3Ecs^)ncESLdU}ktxb49;BgH)bT8%xsynvhR+RhDr za2&pEnuZamaEu|*B&OYX?MEOe~SY5y{r{F0}sHKuC-(%CrSL$X7=t0 z=KDV|8b z$X}eZ0t{M)fvJBt*55Y=ZOq}1b7^3Dbtu0|HU#FLNan_7+0gn99}?Y60jDiN7^s|w z64&aOZ{`>59d8TWg3HFsSs(6x$)KK%l}z$WF}Ws=VDn^RVSU3KHbCfwxnx~Q`Ld7L z!Q`=UdB+F7^!P4rns^lZvTiwV{_QsEPB5p}x!Gd&794j#uX7m|=q%cMbgjd^6` zLzZ1Ohzh)!@#t9g6-+R#X@I~=Sx41R9-!xXN7noNEDV1c3UJ4PipDjvY3VcZ+M{AT zHOq{ogI%fKCkrD(w!(n@>uBs%FPhR5#lN}q9)_Bl@Qb8Y2Q0hLp#katNEA|z{I-+dq0qn6Dy z-_67+t2pcsXVcz`Tj6VB82!4EkMn+YpxQMdJ945M4>t-Os*WqEeZyA~eVa=TnoRU# zmppZ!FN7 zq+uN`%=*b29NP6A51E{3%syEJDMCNN^~k@BpWqJD-XDU!YX?DbohKxA_<)k}S*~C6 zrg-C=41r^)3jQnCLvhPmC_m8E*skBhg>Fh0_QW3UFTCQSokIDFdWQC+%J7U-0wg33 zf%qReRA@d2BsX`lT-(pAP_&l~=>3alSG9t+<74ji{vz;i&O&`5N7L&sK_-Fz_~!U_ zXgjcsCfx9(hEJIo)_s~jTq@+!mv`G`%1LqmY(gpX?ISdo-@|l=RpGN`b-d6&0$!ih zX?Xf?wm^9SlRGm4PD_@6cXI&kx>=69!wPuc9BWt>sX=ebbRo8WJe=~7BPpqPY}zNq zf8e%oyQ*!V^6YicJEnwRFDiq<#1vfaFp2hG6wZo%W+3)!=TmH6@h0I4pm8gjRTdU7 zjfp$JW{?(p{`e*yoh|i$9u#?Qng?@i=EKod<=pysYx2GF8Yf?huyZijh|7-6AT`Tl zLYC5vj-+c*u)qPXlD>|r6;{ zY#3xp^YyyK0f(#re-)zX{sek_YY4w>+D`Ujq9kN&u~Z{!_^9M4K?fQw8c4p5b*10Q!$S>iih;&2P^n>G;5-)7>= z#riDu^&9*-@FO#7zR!j#E79EMd2Hlj7qDrSf=ucZecml%SwoX>N!m}`d^Dcqt2Awo z{TA*Wm4>uCq6af`wAq_;cKkb!AN+oPl)q?ya3U-|b^?wEdqS_n68;-hH)uqzxF&BnLCiGtS&)<`5e;tBSVi~_d|2EB|Pd{Bl23(!UQJ>Q!NsDC@#*&9cet* zX%R*P!yKqy-bwJ+l+zyRB3|m@3tp5V1u2^DXmKGL1}ntUtJ=cuSiWBzH;S?| zLy3@4qLO&->!?u3C}~K8mNZDENdwud2pJJ&v}9F0_c>IgXwX(F>6@mO_R{bE{R3Wj zJ?SWtIrWNFx|CTJDgKIcS9Yrq|9Jft28BRY3oMDA?^Kqnj1ns%3KxZYam|?j&=+5@!T~8gR zt993L_>+%t?(a}a^7TQf&&?2=`a?8$Kp}IU-p`UuPQXzOJ2IIPPu)?5WGpa?7FB+q z)H;G;_qBKEVPQa1-y2ipOBZ&>-~hHvzJ;B%oht}Gb4NZP=aQZ6qdjd2+)bKV&+9+XaQLLPGOSK)nk*&Ju6fY8yl#DP1X zGdBDs?p!K73+J`tzk?an`y`L$WvkOn)kYrdjIgEUITWNxLy?CgESvC_O$nU}Dw9`H zQtEWNt0Z(73Qt3l`XaiwMUG!$`h^WxJ&MbaF@{;Kaqz()8}@uWNgfiL*_!{<>H8N| zHu2#dc;LU7nX@rW#j20LrQm}lcXO%O`XzdWNy9D6Vl+Bki`^GJ;a9LQlQRnwX6>_~ z-RA&2-W-a#qLX;l_&pwN@*t}mBeGsOl6J%{q1EY<=sV7wB5igs+a7Z~9c@FGxB2qr z71>a6S&e?K%;FNbzr4??56J#xu_)0h{5j?=-B`I9l(YnX(WwmTmvzOsuQ?$0Vbool zjW+_Dxw2DBS;ds2?A6hO_$$m8R!$ds!}p{>cG^FxOH=~e4jCasKb@{*KjJ&8|8e#+ zH7TW{it}ksWo>==w9#o4T^F+Lqq+08-6o^y(X9p$$GqXT=UGzWv+YpRW=eQ!5!HN6 z6WE~($&PcUV}_f!(C0Rk)YXl1X5QsByE|E(97nFEr?4Si0d`Dzhe^zl4qXqT8)>7d zBVZX-4}Qxs%++Y3jWql=?qw>sSBUSfp1{qJGlBYn&fwMOKu>yAsO3fh-N|ZV(NpUo z*gudmo(X4Y#VPExuNmZ3rSQLoy<#J8eG^MPJ;C^xX>?KJATE=&qMJL8vpU0}FjwI+ zH>r0gE$?2)ymQWw%$+1&=fG#Uk~x?LoRGi^W=-tj^bvHy@Ed+=3J3jJZZ!B}tuV(@ zph($pwpV2!PCaHu$Ao8O)bo1I#^ws9j4Ot%+Xa3{wkOQ$L_BwV1E@Wg1o87wI2SRW z?hK8?SI07#URo#e1sBD~E8E$pwiB?v`ag_b7D2-K!m zty{zXQ{77EHTR-UBg4wD8nl|2MKwQzh5gnPFjumst$#lY^N20 zgNDJ>o_Q$wM@04kanP{sAoj}CFh3#Z)jReq9IdXRQF(`JYp(90wHj8m{=*RZy6q2o zuPj2R8Io+#nL}8YlE7_R(~qqkZ}H2qEdJ|)R5Z#_rvNn@h?XA6S_Vy{(4EChQOF9* z=~mEUvpl9;rvj%s2U2Em0355yX1AV=hm0Z{I#F%R@BeQ*d;jV%>x;1!_|!T4p{zvU zv~uay3>T*3v=9bO7=_D(uFEIQQ=FIbOO|cD!0x*lvEbs1vb>;wg2PAi@*oLk-h;ZV0a{^lzu%*yGYSu+MxjmA1Sz0rtn zzCS=IQ8!rW<_tJjmVifJ2+zCwLs@*dH9zvz6mD?lW0q7W!+YO9%l(mF!G+}N3b`*; z{M4`&J|264>;AJRX`AV|#;}E7(_R9TBRpxwcs&|u+K0mvsvyTF5|T4Rao?PeY-3{x zMPDg{%)?tq^WGtn`xAwe4GYlI*o)d@3z+lHyEr_~jk+`iPFdC~{BZIJtT;NA4K4nO z?J>pFnYEyGR3aHMj^%uf7Jg^E&YAUOr#vWJWD77ou!w5-m;a zL~p?t*{NB_F6VTxaV?Hi+9X3!Bd$TZP6DqPEp#FcK4Q!adwTI$4!lkSP@{v z+Glxl=M|UY$K7#MaMu=8qpk^Dr96-e+YL?zc@QyrlhD<9%3N8Y;mIAu|BNj>~ZY4VTeIB>A3rp&_mIWfkgrTIE(0e zq7Rc?*jJH1#aEAH13NrG{>&H}zUC!=|8Y8d7@UKlBRM!Fd|q!IN17PxM*faAH1F^m z^!qmlb*~)&yAi{r^g!7(hn@1aCKr=&P!L>5%|dr2_md@>eEo)! z4+i2jvcyJVSD+cJPMf0&Fw;_CQW)G2(Bz)rmMu&^6M)94$dJqM`Q&$EEv@>I&PCWA z=F8UqW?iFN=+@W>zGlL3p|@mC#-3XEI$SPKyp`a@-xyNq1~?>rv7^~y=Xnlv?og9f|avqeRd|?%a&ys+vid5vG@GB zb?W$es1vU8mIB}LdF;=VV6Yme%UTZQpuV>Q3@C4hd%u*(NW%s<_HPh&vT5RjWhKJ= zQ3q%IJVs*&j^`BC4TGF8!NK}DonB=)3J%@*pqRb^Ay^30`{J(F%zk@EC|&TK9BFYc`pT~pvxNiD)1g9Cl4TtIaZ)Ce+qM`S;Ws&8cbs)R3WG` zo}JCp1=YJxv1Ps|Nxb@sBDX3SOs_@2KvuDKyi&OJyIG=6+xHS zQ|GNrr*1mD^faWvYe!INMFGXUQ(!gmRh;^c7;u+qrX)8rczoNCI0q>TO;U&Gu3&hp zaho6CH4cIoM^KGcB8&gkhFhi%B%|1`Y|#i~xS4g2Eu)jnaNk4NAh{GYpok?;Rpg#G z`-6Q#IV31*Q{Ke)II3NX7M%*C^c%x)po9rUZ68VcZ9?Z+u8F%KcOHT#B;uF|54>(@ z0&*wUkniS6a3U#(&9so?MqeEZDRLY;A}8h@lpf;#xg+R}y(g=9dK0adP2=_NOHiGg zCOC}Ir^_Y=)X4U7(vc@2+;Kna__PPsk4q=ZY01p5{|R^Lw-aYDP=S0j3zIx@79`yt?2|`>V^OR+~Z2EPbk7phx<{{n@+-fk8Vq4}OO2fi(}(uw_CJ4mVmv zsv-gI^h|+zvvP2g=>`goiUPek609`4id~)f1pC{k(4DzQS>B2p$WJza5gv}fA{mV%9N;#a73W1lKkJ8DEapXRJH-+4Hz}a!Lh#NSCnr@tBr(7f9 z^Zs$9QJs(fj4SzqcYb0@hMpZHWNAZL?NlvneIefeoc2WkgnElq$M^ND?%bOl`A zE(S|^AF}Arfx*HVTyw;J=;wEc*9fdr&nstGmt6=%kYs)<7yjYQ2ay|~8o;W~Xi;_sjYCBc9 zB(UXYzN22Y6JC$gg0E(Kp)M>C7VgtQ5|zO|?N+Sd!qK~WBl=pz^Z$(2fnT)@v+Ivz z7e2>B&v!*I@_UcTYjkK(#D4HwGK`DsccsErXR%=R0G#ma7Cc*Az?PSEh?QmhAn8Q{ zSgk62%J1H5^E}#W_`v<3beU;CI3>Ha{SUIcUkk3r&02 zXXZ%!lciwR90+=0;g#YbfqR_~%>}u2Y7_S`Fk6VOdFMq60`qkI@m_wnb_6W8 z5N7bh7J=#=JL(DANBn;`d9x)+^jes$ty7W*=kLcMHT)Q-nKlGmuL{l{;k?-OA|6_7 z=84WPM+}Ty1^e!Wi;fg7#y4*-V&dlwupR`iUg&hFbP~9UBuB3rTUfl{O~2-|m#W*$ z$$qO5&FK%utKJ20Q)&&rHe~@loxEOfO$?yTwaands!~4t_5nC*m(LO&Tw{)!!q1yu zY*&!;6O;5buxp7MeeW(|m0>4fo6Iy(m9Gw6woE4f9D$WGTnoBntL?N00}L1XX00KO zbVEyCq)_lewD$Q&3_hp~`$oLxzj_HhzM0ja@2AOL>pa3GHiuA4`ZMe`{|!?|*OOz= zEWjH^5dYqRW?(zk?ioT_tGBWD^%t4w={ct4Wyvc)xDKDQHnY)lPf)()C^l{A6bjGI zf#PUF*>fgjo!igu3Lc_sFNIz3Y8R2ifVt3e`7xW!X0vFeKnz>?8XH*?4tf_zQ;RN% z#>5-2X#wG|Xr3iBwoQbiqD}NK`wRY@mI~S;9ol5&M4z6WhwVQKd4=;f$oD9c`$#Ev zROLC=9{MaQ{UQTLT>fEueHD_7(DB(mjc(11L#5?~@OR>5G@J0l${j4aMMP{+5v(oAXR`x~Sz&+){0bk6J6cLPlU5;1wOpB6x42M6iY(lp zR18YS6X}nGF5B##ZTmHFGtHDPV)v&X;S}`#v1u=s@hPUeuuNhsT@`ZH^RJzN&3EG2 z3c(56l^;rrla;Y*{9+1Oa1fdUpQ4GO6D4$LgTlL7C`iskSFs`v9$Ub|n-7!JMGguL zM&ai>%`7>unY~*V%;dt3ic4CQ>E063FPsAY8WIF^c9ucgv>R}4SvmjXu{$j7j=>AU&iry`Jeb9t#@me-xB{CHQl1sU zr>(N0zkWT;A@c%6UbAQG+Xq0{yBX~A)l62rG?k6rxe}lJEfPiTti%K7^ho976Xube z2$t6-gV&RLDE~rWHZ-m#{ptC5GBc06@MbC{P$&EI#~ONH45h7Kk1);Jby#GPf`tW! z1_s_ z@l&E_X}{R{y#@66Q;5LkNF#~flU$6p8pWnLvnQ?!G*9ImP9FIZ>(&T7o!-+}P$@-O z-dUWfsVw_`N^lA0^2R@L{){eO3cst+ zp}5`?g87Ok_%r)YVW0RLKYsm3u}{TF@;+aI2h$B{==&8k^}u@woV1=z&7TSvUU;IN ziyw9I#zL+{$m_h@j#{&SV%_3{u+d@|?8viaX$fo4$@wW8+h|0aCvAi2H>?OAd=$Ie z7{h|nXv~{-oTL}@@&h9dQvbt3>|C4(n;&I>O;Z$(7=M^#+C8aW&6=yp_k;JxT>ijhwSb3RJr z>A;dE9Ibc^YUcBxcT3o#`5wnD4#KWQ<3E_Q@Fm{_g|=7@1oHt#dmfFz5YQA?&2 zN_3-`YRx6l@i%Q;{;5XX5|#`F(q%9rWHogUl7ab&)|5Bil`QORcfTe+c=xkEJn+Jikyn11n7nNXqC5b`4ujnhO_E-t!2k7-&MlrAM)Q z!FloP#nEV75s8j%-?<;JG?|G@5LLi+2rM@Rx5e*q(yFh_O;?r@eO>8De>~|)w4mGI z%c7kjtH8HEnH~EtADO_S-Ko5Wm4m>2bxnpBF_W0nKR>#z_l&8s63h+f$i5&CG9UEf za_#F#TZKM?=1iLP${x~b3w!&-0iJI>1wT(q!T|dgw)e3L49lI(b&B@EzlL(&$TJ|8>ZzhV^L%=))kfy(-Hsve?3OMYi?<=aQl!<-N{`(72^7+6Gqvp%u2 z<2*?JXCA&A@rMsh>cS(h($H}9WO9?3OCJv%1Z+G)tMl8i@|-Tl>3m|<0%w9#a0io~ z$@FKOEBi9joGo$FW_=Slx@oQq^J5Os&GUiu%jyHZKjaEQN!fUGjR$xaykno|J8(}! zzCmHCHThRc!>-E>Y@w|xxmIOhbE|J%@~d_>*6=O+r;rS(zl|wI*vH)vve<|0L&$#f zEHFYvIJw{;?Pz|;W3b@Us5#FM$rYl^UrsuMsw^SaT#Du@OUq&Knl7WE~s&VLZ9-ZR9%N*~3|u1tP-; zJQLWCe!PkBEW3;ATHC-};DGJ7o6JwXRfe;Tkn#+lv&Sc6c&TsZkl-N=U+kCA67vh} zSHNpL{(TzkO5cxH7ELEL-a1(zOA!V^DD@oQI+kYhgvtwDJh zzdMHozD&U{p03ayP>%N^FMxmbK?ut;#EJ`l*uE{XB;K))64XpFPO2Hp2RV?`w_mLA z^d&yIZ2{W-U{w7y7cvt9D)cCk}N9eW00aoHv#@&#w zh4B>zbT=X&^FCi=D-)OClL#p=wzekb;0Z12QKCkP!Pqo#hG=Ki8#YPUJF0mOV%oD; zlbc5_NIzzv+AQ=PR3|`V!btAozHXK!Uk0vC!hPYGHKm?ZhS?4x`g21|6r+0>1HS2C z+NVgobu1gzjFg$)@m#p!xf<+98hoWz(Q>m$JpV8oZvD5M0@KWC?aHCdG4U_nEec1e zW4n2OpP~39=`mN_8wEjT&+*83fqlAUFK%nJ;9TeIVuMFX(4%`j{DX{Afn_N}<3w+OoI-Kb=L6y+w>P4D{9XQy z^9DLOZWN~F?dHC?er3JRJ1OXiBn-KgMOrJ;pyJ|AjJiqKcP)x;mEIL6W<6#(u5Fy9 z^Je;Q>UGx2q@bMNK=Jpbuv~8zEVL4l*Ypf*`KJv(6Cy}$u7|LrS0LXML;O8eoi!`v zvVAjz9Pk^Vi{T{3bd`A|b#EVvER2O&WCZR_*n`XF9iTAD4}5EGIs5g#6E~LU!@Hud zyl3?tK0jbJ>soh;>8$+&!?&u!_yJR3NtFDkMvr?ihb;n>@l}??e`&`Nmoi${~TH(c^$!O1c!8uUf7XcRhuw*9w? zmlIeR*G$t6{)^90x*}&uOMHtz46IOG3ZsMFTmh?aN1XY z*g9nfAKJ%gzfA^?TgjtAjtuCnsKgPQ2SfZwCzAaj4Vh5`nPEjL2Ko+%gycJTM`kY= z=3hYl(M7_2{|A#EUBfnvtU@FGI!;SjpWAjZ7R!%X^AYoOV2h3!Zdk#?b6Z8wjc(&B zH|x{nllq{3{2hNl!%5)&S+I}oK9sa*B$Et%i7I}={<-WuH_J?y3|?7L$-2YbVR;Gi z7rIB@vuDy}KUu0@6#~f*eOQ|P1D0a{n=Lx_kXOGm10&-#d95K=*vg8rv~;wXf_%3@ z|9^wm^F0ezdfI%eKO?}l_R`mG@_59R6GwvXJaMPfelu{W-LZzeEVb=Y_FF4kYZ7!>Q{ zID;+6*{or|#lbKB;ssEq@ow();avxsj4t3^XM5AEs7NwjI2KEPKDSjFd>D5`onca2 zOIY=jsdVJhRq@pXU3{3OjiwPBVB69ssI#VwyKK{kqXQc`?O!8>^X?)VF)oodDRx5| z=Rijk%*kP|JsD09hRCW2jIWUbzENQ6);6-ik%Y7R2V<{gB3(Y-Y}fxY7Swv2V4j_B;yu?-hQIm7{v{U>gR-;q_5N*dc{3JaIM$8<$B@$fX{9`AL$N`K1Y& zml3ot@;DoNwFiAoWN42NE;M`eQ|u+o(@LtGVDqOarfl<$c_nC3i%%5C3g^+;+qbzn z-6|0E+8WAU4G^iHHpHr*Vs=1HhI+;$#>qv1f6^lOG)e*dn;YPTj5$*ak6|WC9@zQs zC}fpKupJMqV9u*H=KN_thRYW4TXi4fk&{KBTc|);{XQI=PgbK#RXa>=7WlJXHz3geE!TW%Io+QuV}E9c z3VV4?#IoJ1&{ObcIK8rfHU3|4#jgqU{y{StCC2YZUy- zulaXDo^0%{yI2%`9j`qk?%h&Z*n4!X-73qWaG_x?8A|=;eEKQ{dh;!kR1*i#tCn3jkX$je1QU@h5i!C7rGXF1cs=!S+Cc_wO>7$<5dVBnzq1RnIGI$>oH&w6bv6jSEGM)BGbK6guh&gl&da+ z=C>m9|53t>z7=4!!zI!4r3oaNoX&g32Gi0h;jq2M5LDw`aA?CdK4V=aZkT6Eg=hhm z9)kb#{3#)qScu1eC<;8UK^PV~ot-?F4tJFjVZ3!Y^O|uF2S<*@NkcZ!*TZ%Yyv`o# zn`g5@j|(7nMhW=LK7ipZsp3ub$?*5GGbFsdj`E`muz1E;bn8#ykJPHtRl99`*pg(< zWQQ9Zezb!=3c0n9)~P7DWG3y`+RNF22{j2lo6qs~7_tXp$kQV*b#E3^7j}0!=U=ga z7YoTseGk8Sv?d$y@zZt)%+v!6{)p06#c>|Uh*`SK#5L(ok0*<@3@zS>hX2Gm-rgcz+Hz%IMT?wOw=feTC zP!ycNy^Z{iA<^J<;543lb`r|og;VYdV2dy3qGDVwxoD@5uDu-3hfl$)0pC$`cMnsV z^Bq1b7vrm9j!SU5E|R%a$4b7ZgLc(S6cz3U#j+7_ZiYLz>Cbj(e7=dUYXI}@Fs6pP zqiLXU2YYmR6}A0&%5O-S#hh1W@s-8WWY9a3Jfaj(#wCvuSN1XK9~$<4W(nX&Q$^EX zED#UzzJ{J!lh`ut$NcDl!@;`9iR#ztQD@^r%$xB84psP5@6ZW!BQ*;&o?N2Z0|2Mk zd3-5!G;*?!;gR9ekR+J_RI>!8=_lfgu1Gf2qlaa`*9OhlZcJOf5#>T2@OhEOkUG*2 zij8FGrg1*dZVA{p_doI3{93Sg^u>$I;~_%h0{6r^j)t}xk;#}1e5T?i`a7;1H!PKh z>cRjTQfmTzFJo}vrNg+#V=o!69L|Kh3Do^3$7U~m%Q)OKy-1WW9{g|UEbhE-} zxoR!ux1YoNoAW^0zmvaaUrxKX`>|VBV$l$u^XDI(!jXA>?1>W4?@^Bs#_Nz)=@axf zdx8&7=E9*cfhD)*8mf6kll+|^nD1zfOYUjI4}o*l9kYg1k4}M#9}#@(t?`1VD*~2j zYEew35-nO4CGy!XN!Op1u;7LZv~5iU2+R!b-+X}^b2AS|A1-0m(Gu*-$qKOizK*>T zc`=6|DYD-nbY@m(Gs~~HIoZlWrd9ft+cY&FoQ)^b*70)W8DdHW&TVX6PB*sJH*<-d z9u)dm=vw>#L(j_Zxc|{-3@jQ;N@^t-za&yLy֧rQ`l_KzY`3Ns3ezP+;GLa@e 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%0A0$%;ldzOo;?f&t&n}f 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¬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⁡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%0A$B{poyPB47H^RFMyg~GJ`SlX3H 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

uu1L;b9FlkkMk#T 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

2X7QB=MPo@= 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 e+ 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ΝSNZ)0UZ?FukV|n@{+G^RpB9 z?t}%!^j~5nFW$j=A>R_Zya{hC*5MzGuV71m++|<7*1*l`c5dd^skF*>2E`>@7YIo1 zY=dba3(-q}4s~VGf$}soF&4U$iR$36P8MSGi_2c8~9 zFGV#7@O^iywuWd=!0g!~xKHb#@a`CTEcBctbi1*BgDLDR)r3fe5H3t>FKjM9 z$u@}3ij^D(q2~8tFr8ImJ-3HjvimLP8ETI2Lt}VX?+LJou3V73hK5*c_u~5oHbTHUOT$nT$6jx`^ zzT#$--YG>LlTI)jP61AO4n)^Gr_tlg2ncy^O2zi(a6y<;?$!>2!Ld=|wrzr+va}e> zpZkiGN1N|>!pKcn?`Z0_= za`W)qwPG$OY!wYv&1N6BD$|C`W4RIQKBKlx0gW-$hP1=-w9vzj^?n{rDVzK8@#-CD zt8)bB&;MGDfq(JD@h*I`bPBDW5sKQMtsqozUiWS7=6y}a!G@h;&Sc|crs*lesY@Ng zX(ms($4)}-A}W3a~3OP;fCxxOc^Y&oQ+4( zf`>!k>)Ro${GB7`nyd)>uM0D1Mh?H@+Z0mDY=b#VH{keZD{z`v5uC5?#JFZ%cxUk* zOR^c}SP9H3*8#A>j&RzE^_+@MG`?NRKwCS7*UyTC$yx~zXL|^AUhLq4n+(|Ysa-Yk z{u=1MVkeFZ+>CdF8T<4t4=4T@g2T&*9n!5v)h<=A-FXhjuhe6`ksr`^c_TZ#=Mn#R zhZ@H}%>v1(ot*Q$T*_>oP1nZc!%w>n%=X7zlNGf|uyw_9l(G_`-Q551`kP4@#c7SjxI0*$_{v}|USP5MyjjDV6jjK*X0W)T z1~INN6bH0yMY(x$pcgs_=GK~E!}~6F$Wvf3sccC9Ya&SS242mCn zfZOfoT)p>4<{&o}*9_F4#irkRN5L)eOecq*(ix9_pZCDGX~TtQ>lAYDp9SYTMv$dG zqI=yM%-?KBll4C0(8MSR8>s@VjZe5L&%OM?%AIuTdpv4qJizfO^VzIDt7y>4A&^`C z1S9SDQU5-Hmowx()=oIdxP^w4WA}ocJ~NOlk=2LL$b*n+B%(({#)0;aZVbNs8#NDY zqs&hgZ2z8(EUoz=yY_t)1#4>Khl)~Gl(n6IC~pFd>-1o&%n(>;5=lx!9-_RxG_K87 zBumFKNJ;6#`7XCvoyr#a`fEN#&nOo@D}v7#|FO3(Oz2+IIm92b;PPJpsC`l+aq>#x zf2#qPs)z8aBZV&dJ!c&2ElFMp1K_5mG7MMgVV71#L5{GidK2de7DtnC>)CSbw5`HR zAhrYHfze?g=n_;T>G@c?6dBI>YVCBiLuJOr2UL zbkZf;K(f0!z} zgDrV84c^oZgy85f+H{JehvxBQ_*E0%?Vd{?i;Vc}CI?mxJ?0cLpQ^N{DI8;6^djx2pyQ) z`uvYoe?%Q0&0$G>9_C%T#?;R3#Ga}UboV-m3lP($wN-eBzF4%#RHj1V4ixOXil0{H zNFNR>&=MJEn<&vSg?c{n_y}1O5Q@!7nWKj)9cBv#b1L&aE%{I&%av3 zf|6-4*HxB!GONJzpd&oY*e|%sd59S5%wK37!tD8ISiR*sGr6ilBlmnm|GwdXvHGa2 zmrHeWRyZU)l`|M$Mbo~Yo=IaY-#?>$U7z<1K*5(cNqO0tWaxR+P8B3}6={i9UCx zajrYxW2edk+%POL)j*4_MFG z0%5c6bM^<0(zX6TIDGaH)5s~{YMbT3_%1MAfem}Y-wZErai>Zb7jRoLkNmrpDuYd)Oi3PABlEKBY;5n@1`XC5(wUSIlrV^qk ziO3N0GxP25FF4nA&b7~e-?g6SzBL;#eb^b6?dHxV)Q`eBvl1YuP7!6~_d~*y7$~-j zU{Cd;G2_k&8uCM%H28V6t6mRQMa#gCxK!FzIhbD8--BpjK4&qYgsb`}C18a_Xh&!dENOMvcb_RwqgOaVZ ze_$szD%Kz#I|(^gmQsnbH%!)h1nMFu3O;j2Xe zsHWK3Y4D?|1Pa{*FYxNwsQJ~K)OW_g#ovoD;E^J20UI1iD?aaBshNkzb zlj889@PsV~vjI-*U)3*+T-V84y-Hy;I~s1?J^?EZ=)?UKTL|tqp{DEuyw|PKIBpqG z?9B=`q$&gNyNscVeW##B=wbT|xy}|XsD%AvwczbETbk!S4ie4R(B+<|Y+u4Mi0s}* zC4GhXT{{(QSDwIcjr-}%g=ctU*f>gYaHZOPIqcqHO_Kh35wxnyL9eukt!s$p2B9T8 znk%?Oie%7yW;zV^HDof2SJC%5MJTh!6DAa|r~KJjSoG)=dTjynUwnx-ev?2eE?+{) zvl7(uM&R@61w&-4I5O0B%28xe zAeRtgiw#e`$)(2-UcL0AImOd(h(;oFQI=sjt6WGk><9ZL@K(x{ZP8z0AU0*c!!s}6 z@&O|+*wL*guxeo@g^OayrZof>l+VURu@b!E-;1W+_Qbo3Cz7$S@1B;_&h#I{RVjn;7XDpFMEc@2w4oMDysJMqZ6^$^t=4QFjGvTVK8OixpA6OPcK z=J^3&ai|1k$F1NlKl;Wrt363{@eCJfqyhiQ9)$@lQdHF{4QG7=!RY-{=pOYS8VgLb zC#`un>dZ-C8Yj6^*HfuwTq51MP|L=2``{zJJydvW6V7nbq@@9=ked~P*T0SA#y%Nl z7bK}igVL4B$MG80%74YjH$QOCcMatWf*&*eN+Zfpm`6s_N?1sW2`g^1r@b;l{`;LN zjH_^@=SiB(U4>EV9&ZSVDHK$Ng-Mcs*_6-%aB_Etj9Jy(io%(g zY5-vQ(}DsA8_)t5E!ga+#!lQGz+YTtO!H1%MH8-$RrDm1)A1hyA95+YSTM{sdYCM< zyV=n;4Fhm668L6MzGCmsmxxXS;OW@w_@-_uZiEHoRB1*IuSdiC=ubFlh61EacO`?| zRcLf;E*wbQOnW+};d*YSa*D;LHjUkO>3 z$FZQLQNZH0{b~Hj4G^5Z607P~AX{j|=Jc;3wd$YH6+Z+oPaIAm4izB(dKcMkUxGHb z@8PoBXE*~z!7pr{32=(^HCt#zYYgj=T8?fj6G&X&#Lv2N1e+t?!GgjNic%Q}59KBhe{>k+?p{rozwdxg zdXi1^l)m-_!S>b;=qeuoS?V)||D!70v3m?`9Z>_b|B3P3%4)7}Z91+N z2jU6emm&i*XAB?u2gA?oqVm5f?3Iiq=Yv}Ql zgCM!QkP-@P&kmrG-n(1-Hd*TI%-NT#qy3+Z->9A)e>q}y8u!oLNIq{$0h z%ZEWY*hZ3Gq-Mi|`DrBc&6LXLIFY62DOS8LLp(Cqk0o5;=nJO6!nwm)o8w1Z88#Gu z4%$r`Uvg>P{W>$-w>Hca^1nga~ntZSJ(4S!ufLO_;|2b z&C!b3CG<+T=Lb~w3LefA@MWnBJ$RUbqZ0)WfJXr6+pVS8;C56ybsyJ;Yt!^VTX1b! zN7jc%u??q&v)hI@+4lxBy6+ap>VigsT*g=!x9N_^C9Ht=x;X|_oU}ke@ImcOFrkui z6%7B8!bWR7VPkUTSU}-#(ehy(&~jdej#WB|ipy-^OQadRk#!XQLzQrOZwBpB9tAhf z$dGsIelQwi42Q~JgH81{yuGbW6fHlBHXRv9R>elJdFCt(=`kR^PZ4-Hia=-PFf!g+ zCv-N8;k4!@$n&niN3V0l5rz$Hd9W6>e|vyh7qVD~iaf(19EoHHF_pxdI9GTdb87@Q z$|)-f^2@+qt8Qb%ql0YVw%t@MTM4h<#*=5#dA#~?ETve?WwbF3T3EkcEHBHqf;J%9Kv~SiakSrj{cO<}<4yYvXX*u+Nm7mum~2hdcPf z@*=lM$QceAJ%=K0?B|C@AwB4r}$Y!}u*Dop+x>)%B;M07FM#wZWC^2Fa{@9_`&#UOg zCSaMgQ1+SgjayYv&fH|>$*?zpv#v?9D;HhiA7pH%{ONx&vb&wxEe{2^fr_wx(_PLf zU=P|TCS&isbKD69##HUw*@hs&i??I}se5KZQd$z+T)!W-+&coI0e@J#yantSeNvp` z7EAtB@u=^;7c2{RWA>SYaJl|6E-B_QNZ^zwDHxNj)fR#W4>A0KEZjIXl{D_Gpb>p; zv|Y23wdN$_t#w6AMUE3Csh45%k$(1SK(}b5VLM+IWJqIdY^s+9+hSgD5f|G%lEha} z)3c_1So=>4nkx3eRly^$(7}bX{UtCCJC@?U9m2j>Iu&k}7C^7^KIRs+n+3irV;zkF zlxFl6?xs1zmw0)8eEw+Yl{>{LK9ix7J`cF}b6Y|C%Ls)fr5pGIN z;)e{(MvG5&RQSFde=c)ig+G1q{1h7;bHEm(wH@&9lLYGT8G^2Mj2@P>)5mEJ^l3^8 zGf?(J4a58VAlaMX+f~K|eo}-@O76^W*d5k3_#%vr^(OtiFjn^JGTuLK2V2gR**!NL z2>WfjSh(^kJX;Y=@}6e=i5z>@79=>9vb6Dykc(L{>z-)S@n(Dx_>jA0xtBEO52Kh> z3gB*YfPCI5aH3ah=-Yc(&o~3>kv|J$ib11hS9nq=h#Bi z&9HuXEH0VqGImGJ1ZI=8a27UTtERh9sqGL@KA}f}35f##$rUyau?A=RNJ@=RgI&wh zA;)qIj!!>Hwd*ERbI~OJz0xqadhUwATl5xk`13%z!iqi={==t{2iY*?5oplWz^bz@ zDrL*_oX23un_`;^S-vhbFTNXGp48P$DKP) zaZWXJVdjJv_#jUoDkp7&8G8#L`s!M{k>6D)kEh&G0~-b3%Wi*U1Z zIxC&|8Ir9lNh?a4ZpMaS-O6?3X>Ud&`W@iT{M($)v>_~_QkpC*UGep>7T*2gL)`Jg z8;->1)60ExY4_^$*w!LJi30z+OQ(=6yL-0Uc;^cqc55-KL5xhMR%53Di8fEKXDBf9 zgS9yJ$8je88YJ|+731;cZ-Ixm;}JHAwumP>XTr5ZCfxqi2Tc2EE><}#t3I*cl`YDP zpTI=JEk#Skkkc#V_K zLwi6T920FNg^QJ#lAr?vC#KQETpQSKx*XHw4MeI6CiHQNJ32xK+kLPJ*VUXrzZMB0 z9&{ha7d+)ZBna~-2W42ftqQhHImq^zj$+wYe?ZQMwUDsg7Vb%U!_}2%MUCPVWJCVL z`P@s^ zd!~WkHbjF`Pb<-Lq4TLfy&g7iHid@&=7Q>Xp-1`k5__LM8l3FM;mu}ATHBXLn_lE` z^8^p2SMeDvzrPEbo2BS8KcC#96KUo9CO*6@MBI6L7@2=*gb-gpy00ztz}rg@Pyax> za4XutzroQn$C63tO$dA9gFZU{uxEk>3>7Z7pM0J0#IezotgwM17AK(Dldqx>=L~L1 z@@QCkG=-*w46{G;ltY{1nKX~f#$ZWF$o{tETmM^)d5>jMX^9)bq=x|Ro ziNCcr8XV4gQ}mi32wAAh-_3SpwX~SiTp_}^;1^u-jGtUiqzndme`o5ktJvK0Q7kCu z6)yU93hc{_NL1X5K2vURC$zh;c-C(2_vhgdnQBRcdtb97;U)00*OioWUW2E+CWMAs z!I9W7lKo&s+g(rEUGp6YA5#p$VOt>3%dB8b2Ksl=P_|Oq2HQ^^ekIE?4Kp$lS{o& z9c9U$tZm`*k9T98<8wT8YyrPZGZ~!!(b`=1qKv!%j5ltAg~S?)14X>Dg~4xcr#Y`Zxl<4Jm@dPLtRx>4Vf`X$du@dT^_$pG|bN zp?L@E*ga2Q(aq1tnci4`Y>}+tUaBOp5pVV3`=@rCmSBqiWO!Vl+sNiV+YKRsFZhvn z7<(BYMMrvEnE=)xHO$7PLnLU2%~s;t*20c@CpP)oH;6cp2v0k|psqy|dLPSU(HDO( zQM(8B9iKrRn|AR>#P6_)f&{)uJl6D&5Lm0FbR%dt-rBVmod>(HqSR5eIjS; zycQQN{eWK1Yhm-h7cA3vCO8V7Q1^h9_*lIQb3Tva+*P%x>1!i@X1OHU{oz?r(p5O@ zT!QB}eG!m?BF63(!EoJTuHX%VrtshJb44-*T9jdbX%fy!sz>|Zf^W-O3vKec`MI;s z^6qUHaPbajR4d;E{qpb7rK_)xZNh05_NN@KU%G)``aJQ)q#6A7{CrfLA^00}C*fkNORSS0Nr5VY8#YOB z^f?JUnd1B6bFC#fSq7-u>9RLl`pF!1$n&@6`1oJCw*+a9X!o4k$I_4L%oZ*KcA$sp1>VqmE?m_4{w#Yxe<|2nI$_5;F|%3RjW>V2Ko83d z483d*;an)*pR^He{+-7ti6`8&TU#Mv=K%6NqRnRPv7;(uEq3eCBmTn#6(|&i(`4a$ zb-3n=XP#c=%$=UG+;^3zCa@jwt1iWFk;9_60dQ>FZuaf`D|CFCFE)3SqhD(Csrtiv zHehfEP8&H4uI&iLMxBo!`|m7jQ6?R1^%oy-?Sfv#v+!t%3EMj90cO7c%eD$6fu`tc z2sb&yr~V-9y>SUEfoB1M#7hVq@r>WQa8=tM9OZCJ92hl(Z0F_Cti~%WNofWq3T*ml z^#y3L@h^A5I*GM8d}N*bIsEhCHQJt@#PzBELXX8UIDgAeTrsg3yGv8h*W+ z>am`-H7f~@vjA4RW*ghw_eS8l9p_F;F60!x=Ch?c)v(}29R5pG;>KS(#?CqwW4rn- zE?j#eD0?f>{o_K%ah8b8*E)lJ?jyGUY$><}w)1BnY(ncj9$bLc6+H8<8Lfja8$yYH#V-6r;cfv6d7&@ZOdmu%kopG7tiD4F;7|k z5Ks2|tRziu7qM;oGU37E)8Yr_sZbJfjdxt<$~Eo@pdX`*;Hp~^>a@)xjkj@VBH$MP zG8uS0b{4bgv*T_&Ys5Q-Ds09@f12JL3kPZaC-{etj&S;^mz7tO&Gs2ppwa4Sq##_??l(-O{p}r6IVDD(V|Ri8npK-%6~b{ zk~BxKjHm*(eQ_r`xx|yZ;|uPe@o}&kw+1!iWGH9sMNBB}z+%CXImRrW-UwWu{_20M zTIkA;njZ)aNN}?G--fGSxh|hoijDGP!Y&*|D(+7}VxTgDvOK zMqZDUz0~Obk95&6wHR>GIRLZrx;gogru5?CY?$Mr$wgh2W*x3c@T}tw8Win<-EW7$ zvjIaWv&b1I%#B99$HVZ)=5OefUIik7DH!=CAH)4tliu+Ud|*KVoHm(C&1>|iVC`1c zcl8k(UV6%nF*ZhV%TJW=DMI%dfBA97$yhkH7KfRvfMr*;Xi#nux5#B81>bVQ9MdN# z6M7R3>;Lbq-ih<0UgCqWv%J^Pe&)fV`ISd|u{`S}dhC3Oqy5|Xn_32RWz}N%IK&-# zmM&tExg3?3PXQ%;Rg&9c$;{uL0b|!HOmIn{^Y?^Kk<3sE-ZT!E&5VZNu)VNHxE%LCX7 z4@*+p`vG!Zr=u~ta)U&F@DB)Vr&K%maL*XM`ugpzy!YekKc?Wl@P*KG^#mSWn~Kg7 z3j_vvBHnJ11G}z?g-RTIdqsua`z?tvXFR z7ud-2uyKkuHTwJ!9U=)b?zqEOw@gA6+Zkl*)`amj=kUJJW0%pMg#{bkY27acYCe9_mbE3vThBwx_dU3zo3lM-ecfn9w^ETR*UFMq`*Cu9S;rI;!`ar0+EhDG3SYc8rPJqLu>NvI_I>;*mf<{< zR8-%A>N&x0=KdUNnlte3jympd(F~H=(8i=9Q(19@2ztMaB8Th3T>rmZ^e@Q3>Lhva zAKirKZk3{P&>nbVxj@{vvJ_KWZckpfF&cd?gMO@DJ!!)qH6o>ZLfzjr2JLhSWX;GR2 z$#jU>`^TffI`AETcXJ|F!LjiCsU~%0#*)iI1#pXw#r5lu$(Y!Xbb1+lQ9cQu zx1a{ zE)~8o(+x}|bL^_E7D9s0PqtY3GHw_>i2CR`o|yFw`|e+4N?qg0Vc9NdTzwdCHPmB& z+D=wnRKxEqjmLQ(Zllp!Q;Ig6$aXyvy3vKPylul|swkUEw=%c!ss{T&VYxK*Xnn@Z zhwRx^pH6P9>L6TRe-h^hc`=XE`m}kd z{iTWpLAO}9yCT>ycecfQ0vo7f2qoGn*fi)gJG8ft{Wtaz*LM6F<~`ib&UMdWXJ>yv zf3*UP5>giDFSf9Du!P?g%eaYx2keT680Y<-$S$t;h1CrQN!|Ym+kAHkRTR2|sK14~ z8`{HyM(l&V1;NyJtqx!J&cma|t~9`Lp{P1`J7q371|zQ9;e;P2*c^vb=$Rn_U@W)} z<}So=IZ09ca5pM*S|d0}XHvq1=U}~bE!>S6&XSiOghKTS);)6{mJ~mtokBjkWYsXb zeA9$(1*LJ~HyMy1)6UsN{1Kf`o(WR#8&UI!7TG8$kk76|gaPWX&-FAec{`0Q(ClJA zI|z&#XVc53soNG?+#&4T-;3}TU z((iNOu-qq-MaErZJ!5}jvsE1SWaQIQMSJYNsz@!KCgAY<1(vRC$5U~e_@vw=6!ck( zEM|XX9Rep}=cDH=_*V@q_H>8m8KcpAybK;b^;{fy{sF5W6G`JWpR((&Qf%I|KJILb zKG+NV;LmkYZ1j`w+>N(-)bYHF|NYT`b_!jKjf0fHLb&tKNodE`+^tmjRvsSAb!9;- z*YjJ28KSPWmB2T6i+g6?tL|G>3qL~=aMsPa++rgwklgqadnA^Srtlm*O&9n@8p&|! z%vb(=cpnz+w-?;nOCkPt6X)eN0DPS9vA~N`7`(5ELm~Hc&o~KAXCD^4TqWGC-TNu! z*9de?IKtUwj>Od|@%+)PPB>C^Ju|fqB)5;3`NLXY#5R8xpyTf#HsYlZ4Rw*Hq|D>E zaH1P#T<*mY1#zM)g(iYCV?4De3QRM5A@TvRcTWOlE{v!9dQ z$yZeZ{8l!y|BmLcf@KF#N$8!uOb!FHCCfnfmNbnFKFJQa=3>j&$oZ2 zCoM%A{tkx9N-3H$TR4fX{)DpwjYwbSE$+IPAk4(n=}F*qcKL%1X0ANLM|~PA>RXjY z{oae%N?R8gefb<~zNCnetpjb>wq0bSjiTx4^b}fLahWX&Phh2ckMg!rw$zw-o3Ygr zaQC1p@Aza4Os`j_b(KYF zw?y?&%L=4E<2Dmv-ZMRpT&1H$Wigp7`PwP&$?pLy^Q;d1Q9DKxBkS0DK?-_J{SfTk zw2}O(ZsXrdS<2WFh2zpgMX_tODRWyLzi@L2uJHYX*VbghW7{fz!Yl(jjiE>IYP&H# zN_l}-WNTPhTL}G28bmW{BG`tGD0cEr7hOG_hu@k$U{q%=i&vgV_lia`Yp-x<*_ekx z8ImL&A|O|L^yuuOC17cn&3_Ftr`WSwz#*^^XZ0=s+nOu5`M<|Z%hHJMj2uqo9uvSP zrUFyT#*)G7<8)bmA5QQc0t@4Z(92qVy1KXne|>+AZ5!gLKlUF}`+5*FgnVk9sxJQV z8b)q;>cpvkV4bh7;^s*Qadl=UPK*DEKL)(RBc*qE&5*;qT*L+O=f)GLGSd+zcUhr< z(lh?-<3s${F=aTV>JqnF?-Z+>E(hNWUUS1|^;T!QI?&qn>7YFJ1Qb^sg`Sv$*!U>` zn3|BEcTI$E$?Ji8F^b8#9|NQK!Fcb-2C}!<%7^{Ei`y?7fkSl@4i2A0*OrChLcuxq zp=ubEA6ZQce#Bt#_CtK+`8iOVt4I>QO<3x*4wi`)L7v5X+;b<9uuujDZjHmkEg8^% z`zA}CqY0b)^k|3Ca#F8UrO*mPIzkp`RTl;9egvgkKVWJjIcQoZ^gi!rz$jI17`EM; z^ROC1Vc|V+@3#dTVSEsxvue1x{(Iy z2$Rsf0Q)5FiX<<$;0*PJB)wA=1NP~G&U=BkqpL(Go+^NgoHCyJDFKqHmr=`iKDBIA z6Gh}|(t-i^xk(>)3bU**(cNV`(Z1|E(|Oj6d*>+9)aSYo&{iw#h897hM=^geL~u3) zy<&4p#-PFNH`v!V6n>aFl9J9Ip|7KW|CvwV`2%rmk1vNq7S@8iyFYb5SRwS&R&ih5 z%;{X0ki8e4qul2o_@U2j=yLN-XwBD!VvUow*noL#om z&%}v)U!hrUHM=_bgK%y|ezLp`l!^NJ`7b>vJ)ZdgTvpT11Jz>J_0DAT;x2yF8_W4e z4`c5pNzj7!eqO^g5?@$MqxOB1w?hkm6N`GgA=W`#b9exg;q)p|1yKREx3qbs+ zL!@`Kg-F((;*ZeSbXXr9J4^7DWAw|6l53pmWWFhp! z9#%5bon}~ipjzW*=G@{zQX5ma3ls+u9@U)jk6rM6%4T{!NXR&wTaXoe!YId|;)yVU zTDCs`pMY3OSei&_dXKn+xxzWD-k$>3{o-nD&%ouGu^=-mAF9&YP+fLDwNClNt7JTc zn?57x$sD1B8mtHBY+Cs0bo8q4)ea z<|sg!1MMyS!uHG>DeONiAUn4gy9cahX~{h}E#y26Hn#_fe;H(W!h$okmcxOg%&1bc z8hqyK@dMg&*jx=EqxOCn_#`m8Y?8;Geq%5zx>20DVJ}+{D`w*$lQgrRVtB(Eet3`{ zNR?i~@QVqo-$Cg8RAleb&Y#EDM> z8(MUXOV6pndr9l6_ZZpJnsawCQF|!uG>He_6DItJ&RAL$H5FQfY{$T~HRzsql9e7h z!;&h(=}1vDSZ_JSC*Crm-f$gaCc=3u__XMl+YuHVE)SoJ571Q8rRaCp5aaEYIE#tM zE;$B3-ko~5Um{Nu)3xBp#xyi-2?OnU4qRz}0Ga7E@rTX#;+wC{Sh+u&?S>z?w`>OY zU!5f=h|0txbH>1?>pmFW7sJJvdO`CyYgl!3CJa9A2J6;d!q%+^F|tgWO4Rnz$=6d! zx}XfkOb1>j_$c|hzQ)17V{FwGrm*skvo%mF=7S!)tL`${ba&|Muk@0vJ z*zDm2{m;B$4HpO}=1B74#-S{3OB^gXWJ1AOLs9E{D!lI9!j?(Z!GxJ>VWX84&b~T= zW_vE6uCF=EKC1(;%mEDJz~TN4A$M zSd2|Aj%b-eAM||K6$xT}%N1x%lmps~7UNlgjavSBKghlLjDrr@LG>jqxL)l_OHaCx z#t(V>d17t2`!5SeZd=FmNe8)J^SeyB^bNCCJ3s}S+Su#iry%WE1dS4Qw0;lLDX20L zdRGwa-w;7d4y%!eq9lds-NNe9odm5RFlnAN?C_VSpnE%6$tg`pbw0&9rrv~I@s0e_ zrz4o-nwK=U*cPIvtz&w#-PrM?L2SsFx7^lSR%DjHi`6y7lFkzuvbakyH%J9EJ{{&C zCtb!c^>Pe8WJ6DNT{&@@BAMhEf`+68X}=b_43P>sH$R8E1;qXWEj}sBZDG zcf(jssRgMVHwN?HE#e2O_c8f%ZJemOntvhgWrJK=nbqRqcvulg_RvM~E1%)4NZ_)r zS`baW*Y9xd?=1K0+*U6(@x04II6 zgg6wq*jq=z%yEarPX}J-m#SscjF;D$=0a7Hy0MMDcvQ_yCk?{2v#gNY>BrWUoa17p zKH-MvU)TdtSM{6LR@%vrqX{)3{2hH;mS7%>gZEFQ#)0u{eeXU@z1xasyo5YLm^2=A zw}vAEPrlkSgAH0H^xN|@*|+u8II2U5CWraMq`j(aVwyC0x)h^qSRByFK=R68fcG5p z*pWA%Mb7j0a4zNYpqv?it8|q`Kig7RsG=X4-wP5t!28i}(K?V1nnU=t1eM5Bk zMgp8aIFYU0+AgZwZbd7d1n+`!3MnoRVm-#s@%<90zG#z1{Ka!znvkJScH4=EKMH3! zj~E&oegy^|ZDgOe+S9A$7uX*0OD3_{gne~U#gqqEaMk_mpl7H76G9m{-b>}DMtxvu zy2wwOUkyp`-=N975-`4+L_5EHBABCme zR|Q?C3f^$J1Fvv;GxeWT!J7p#bhTm^^WCJx*Qxtpp^67-9N)(xge+sZehGwCT*Tck z#B9U-W>_J20RDw~u|WrHaE$wAuQqt8!jzA8!` zJedCJd_dQQGPw25BB)uk8h;&4#F2`#S=4VOWCMHf$&h%#b1K7xoDv0(c_bQgV?A8^ zQOhE=a`9E569#xqhM7q-=z(4js@ON+ri>#{)ENg2)`5^6KL?^_{>5+QyV;|E=b3_v z4EB#3m8}_2 zoVk*YdxgR6T6^mGpiZMlpJ9JYeJRb}7+fBkz_6A3*`?V|;w3IO&@*rg+}-34iJ8K_ zU7-c{jCdxvJYr~ysN+Fr9GmD+hcZqHP_M8^oS_j&W8PfH_iMI5;ACH>6CoqA zmE4bu^M_z}N(_I}cQ`zY$PihcktEjx0&~R3mtVGeF+F<}2#-olNL$Eg-p|Nm5qpJw z#gbUi$nwWYAMz0WZbSHw<;?CkM~miHu=BT)!FtJ5knI(^y&tB6jinit+)XCtyn_a6 zZld3n0`s6snsv(C!Ek0v8(&{%`1vh*b>GKbJJr~y!d7mNyCo&Gbg^#-1&?iV1ea(g zWG}a$!s}U5=$Ur}?_5x*8RwnJg&6h+srM{La4S2raOmHoBVKm1 zgnbrVX_2+}V1alm=yykhsNI~p9}A3B6(_8+Spg5e-^HcMt$1|47nd*h4nAI5O5-B+ z1%8heoaC-E_Xo@PQy0qkhqpSJjs7zDj<<1wr!N|PHo*Vt#|a*w1cm>uT> zaZ9(ejS{0_v5XqOL2nJsdawsh<)mY`;DsEJG6`O?ajXFlBljG|U4AFnKRgHYdSH#INbj)p2` zq!B#~)`bSqh5j+@&y6{Z&rRaTd>1_&SHcjtUu>GU3$=#((;N>UGB1_}nTf~v3C34Y z+2|TdOWKO2ULFZ^FYvTz*jvoFu#cvmHl-h-pV;vk8z^)@EYrDvngw6liWj&skfLY; zBep(gOCC%mv7{j+8MxEWt;Vomr~^N~)s{m3tORSBZvJ(cHYB|~k8_L<;GP%9;b~kF zE^Ii?j~zV&rx+dLF(HGLmmbBP>O6cLp+#Tc_TfNJfeF_VMc2=tU`=zi;nnse*zz`v8vKu0*5dj$=?nA&Xd2Pum3Uhg9@2@vK?nsvQ+4P+{soXl*ZHuNMesg}0-? zUBXVhsv;J1S`$fa+YOj=LBW1ntrsqBI>lQL8q6I}(*-k!Ecoso2L{W^ zpfBJsIGz*U8@DU@-!HNt;m9&h>BlMFJ8?Smi#tYvJrS@#`w`@~NYd+fA*6f3m7J2s zvemNcFkp@nDBch1@33STehvhCYLYfI@sQ z8!C~7!#9q_w7v`Y?_fOZ5|}-ApS#fcJ6-soES^S6USmUCzCg93I}O)Z26H8Csr+I# z-q}$NQO_D#|Kpt`9ypiY97-p{-9>E8o>TC&C7Q!m%P3KI6NLGy0*@16-Sq|76w-%% zivuXP+m_mUzOhR|@|57%jBBP@Q771QXL>%Pir_Z3*D8gR>m|tjTpt_CO(8C-4jsRr zWc|@U@MEPkR6fimZ{e)?M`IC*b{b&&T7jKO(xB_IiH_d;EaugfX!j3w`cP+28(p0`7XM zV~fzc)w4VV^?MgHm8da*|4paM`*bM6Ny7f6X$U;N(aU%}Wmux41_`VWG>(sl*rRRO z>9!bJ;x#CxtCbyyoPp}%mDD{#oxG;aWHE;-x&3}tRNT9RR_}O;`kgjVko1%#A31=v z64n^n6^+5pv*Ezt5zJY42z~ytnzqk!rVDO1lrFG^C)e9B%kpJx?Pz(j^^|2<69?hE zG-swKWETo{?xN>gHnY^3hFqm&7QBj{4P*HA;BvJbzYp)jgpKBc2hfj7A1+}2!oBfT zlL9v0If#lo(m>fp8^W`1ij0KO6|vycU~3TUaTat>a%+;m@(7!UpJi9xO4FY6wat{PQ#kpc9^D(31&KE6*-YVVFz!JtIjj;`TLMS< zO1A`Lr&_Qn>k^q<;d-XCp%(A1ui*14Qz_$N5>$AN#lD|ndMY7@m&_B{-01P5;;cN% z_7a1fUovV%RN~>HdJHvoVX>pH!1tO&u2OLWNW3+IN7D|ILtPNc&Xl2R8qZNxB^G91 zNyJ)%4G{kF9Wy&Um9CsWCjPoG3+w9k;({kLn11+8#(6HK3!$l$wEiH)3%k2M|MyVq z^^d<)Y0tXkMzFXvEo|6m%nos*V0@r1WrjcHt&cl`y#E%qKQ~YCbH(yQ<)5Sf=5B0= zQx>H?_5*!k^jT=`1LJb;$zpxU5_b=MTBS?n&|hnX5?emj_%C@1}V_IV8WTqo0^08PW8ZH_~Yvq2z^z1;&TXqr4x_UVEX>m0B#z~$$YT2OdAKVU8 zT^n_m=j_d|Pt56?8>!B@#M=+7XW~mUS%5(lOj~uHvl5@6CNCG-^lTawm=A*Us)g9; zr%PdR61-W5BzT=PqX>^|PG*!f>olHDgS39J24hWj^RpbzD^G)G16zTWym0Kc9fV`Y+oI)UJ2IHx!J?nGqNJ}46<3$R-F`nd;;sn^ zDOh+~IUSlCG@!JVQGVibs!`bima`Azp!7@pCWQ=6L?`j>^GuwxdMNsq&w-Q9(U^B% z$Rh^CQJk6td4~^&q!I_-EIf|ipr%TR%~oXWc8X%p{b78m8UyEI#7gpn!T)F$QL-;mw`@(934601&>es=KpCV(!$yCSozQgPkFh)L%(c# zHgz&oayyt+Q4H}a4(#S7ZAzKm!)`XMf%V>*Fzc)XUeF1qPkR_RDHw49jiul?*9Ww3 zuZ78v)^lscZG=|!_}BC`+n>LkMoV>zqPqSu-By3J>;5P1)>y~y2NmjAe2wWmiieSr zyXc;l2Q)gW^IoOxXwp(5a7iN}UtG;rsd~|}Hw!TTe-xc}AeQeJ#*vYXLMp40jIvV6 zcbDnov9b1BFpoXL%=!*O38q4th>0`t6r>~;FM#l{vGd&P+2jZd=4 z6%H^e$%}2hG?;#cRnvZmfUApBDM)1;m@l~izNdzQ+1U<)JNHGq)QVu&*zMd?r9XVp zzS(%b?&Mi1$-{86U?^>FGi7BXA8~`be)12#h*PG`2H5*=6-|lThM|FI)ftk>CXa1o zJ%2N}gB=<0t#Uh`qilf7LXPm}xs?#HFrW8L$z{3~e>k`57$}`?AgY+h%sGvfx7%|Qel4Ze`D>x{y0}PBC6k@V{=;JA?P&KUp7i1P=U3RL-lcR`)rz^*Y194drN|oF z(dR}2-4R%37q87@jX##s?luN>8&>0$n+r)yIf_r&-p2#p{{N=xgkjmmW9hbDUL~OAr{1IRhgSgmc)X3ph90 z6y{HT2)cb%usBDFOBQm8gS}&*pAF$tT9(jWQ*UAhF%54=|HBIYFbn^a&n`1Z5SxCH zx7ZfX2F8}-Uqe$e*)te^KX2k!`MkyX)Ar$dlT|Fu{t$>h=JFm@Yav(54oBZnqaRNB zOyQ9fyFEqt-7mU|ft9IzWn>aob@W?X%{s`(bT5G0LG@5l6-XIbc|=}`R9of;LvmLT z=19?7)dJqvHUgaYw6f{V1N;JR6sIyL6irVZg15Hmw7ldD>=&|tspo|b)K3>~+3pz8 z>{*JCbN2)Uk79Lw3`?h;D9Ic}{aZPz;%+@lC>k2-CzY0{DLdQS+@b?He zX?_|1eT6gs%JCBGNhrnik3-2XaWK4y-2fBRL^$I2cXVz|=bpN>( zAyo(;~A_HH9PF>wa?+k3&=n&H6ITSfPLvvEDk#3?rZlr(&|oS@;yCRGPe_NsV_j(Mo5;Drp~`vz-`+E)*T`WuHQjr%S@p1 z$7OujwFO@ek%d#$JbGH)U~6~Hg}AZ^*5!VN9h*9Y_RKzm#-4U`ZRBpNI-B9#qN5Hl zv*VzsYUgtLcWt+oukgN0v^t05Rwbchj|`RXa-~R-6+Nv=U?J^4q2K8$F5bKe)Lq-L zd59@&jB_Ie*CZyYG@#&>|5@h->>+dS-%N9>8+@?+jEClh@C&p9sf3NCf#M5%h+GnN zmu&!4Dx-lw3;3ssbB2KP=g@!F?onAvP{iaaGlS}-DuL9rP zz?U?j5N2)@LDKQ9$jukAw&Mr5j9VovO-%T}@n+nboe|bHO9pU=Ul6G7$zbyD<7w50 zT2AMpEdAJel8vezN*88sCv#o1o`uCx2FN z6^R8-q1yXpEH>>poth*#9|}M5j4UTI3ikwwmLW`9mnWE{0gYZh@GI#AXc?~o zi{#JTsW02u?O!vXXz^cmJ!v_KI$F?SwIV5>uY#Ap)5$+_Che{_B;{pqsn<^ey5szz z(O#ci-Tz{&>0Y|{JrmAnr;%CnEw)gXp^V=Bv)Am$Lsye8E6^SR=Qqc&%c{$$SlfVU zZ@Yo#md4Sh@wZ90U=v+aoJ4lBm($nAM7E>#j;QhZe()OQPVQ-*W*}_HZWImg&=n)F^i1V&Ut}psfTe#&EUYt7!RnD}sGTXI+GwlE* zx<7}FF(1J==M-OL{fMpG@{oOue}H!cSCREMp`JGGG}bs}auUx!VOF~(Ta(bnae7iX z(&sDgyfzQYx{tFN8-L>%-&UOY$_du3OlHhQn?f3+xMA0m`NCPI+^EaDVA_k z^C<8oO44@U`e zqFfl#FG)d~33N{DAnWYqNLl(5cAS|*Rq1OeYT91GqpZ(41;^nfx0`I`w)rgN?q%-e zHe2rJxs5c(-XA`4+9aBIh*?8RV|u*V8F$7wvHmh)53@%Y@;+RF&EC7|UuQYHasL?m z@>G^}^p2t0U~TZN&2HFNS4RhC32Ykgc<|OSpr%t1Y~H0D*uov4dna8WL_-fYwrN35 zP!4#ATCt_dgU+NXV|in+Fe5Rd2Mq-{zfT7Pw&mf=t`yvKBbBdvvYV@@jl%X#vh19< zJq@=CpseaLRMN{M6$xz^@+zLStQ1%!iOFoj_c!otRssAw(TW2la`ZEHInx%{D(7Z3 zvasV4Y~RhR^x*3S7L{WOQ8SzcHqImbK57Ro5k}B)ndw-4BMf)#wO|IHm9Z%f zoj_tYBB`Y-ffllF+`Ie&!5<+{=E5F4r67hDtows&TI@uA(*X+q`tp7Ibnw~s$+X$x zI>V?^d^}kl!cyPECiipr9gpr*N%%79M#0 ziC-p6ZNv1PVRfSg-Cvx88%E6(=CJGenYpKN@b`=S#P64JWVM=*t3vdv9Zq?1C*i*{ zyUE`(4*BJo`0m3>w&~+>%5U-lU4A149qB}q@-)aV%LDF}IQ+Id&H~%DNH^&bR&~`w zIy91#VIY?OOvIbYBAj*Kg^ORcg8%DsAK%{?NhiJJ`1-Hv^s+UAi&Rk}3kPrh;G#cV z!hj!~brCvTgCil{+YwI1|3&TLb!7Br6@9h-z;(Zn9Q)iiXnb z4lCR}BA&lDq?X^Wx&l^R)u&k>bMexse7OE`I+I{02PnNvK_wZd|I>}J~z4}FjqC{%=9*Xp8ZDhPP)VL z9t+I4Q?*cJdIB%rJI#)t9S0R&<;)WNSaNCw_v6kXRE>9H;&%J-&C{7E@%I>~db^SN z-pZv3Eu-m_pF3^b%GlF=Q`yA_Vi-Dk3Jr3bO;Vd|uj1Aa!F14e8Nr5Og_u=nNBc0sXE>0sk9WLTAd7{h zr?&e+DD}9|I_R`A?s+)@XSScfxfhcel!#Hq-kJ2$Rw!w|Yy{MN!y@;ok;^r2Ip z%kaaeRCuew!uYc2kXG5n5&aCfDI3ch#vLYd$gD_{8g6PS64d!#_6pr&0 zI?1JCf|GkGi)Z=tYQnfuulW%d7!X9zNV^hAuNR=~ORDfcUJjDM@vpOcb1{&?c&`n3g#z>B)zhMz< z%iJIeUo;IYcV)qtNs9E|hhryejnLXWh;}ZV1fR9*M0bRH`kUM$S~2zy{?iVJx8j0( z=wcjejhO@TYj3hAqAXbFj6gLj;7a~pFz_B=Hs=OW;6^bl-7F5B3rDdh3WlV(XEj^% z`zZfQ+Jp728UZp1Kls1Tb3yZ0DT2Kvv-=^%-1AGAinBIcd8rB)0az z4B6H`Mw{%!Z8o$G0qV@eV~RKUn6{Nvm*2^I7u&OBj<;5eT7+Y!HL(RMA}Z4p=H{V~ zafVS1yRva3Jost|VuQZnk{MP4%gvWEn-7TWr<_6snSW?6aGO_;kfKda<7s|xB9y-` zM;l(8U2C-=>-~kI#Kd^+O67lSwz1$4mMaCNS;f?UG=U@q5K5B7bC%?jMOFHnpzx9m z#+K-E-wiYPp;MDd#mxgo{Qbt)U(o^kaXT>Mb_NdB?84KXY3yC9@cB2}Qo@rc(Mg$l z9I7ow%MuOP$W>28LnK`=ye=L0NBE+qD)B=}YwNScQO z!0F9>oTSvld+E&PX9?%{FNbe2u{U4Y+NFQl74xqQJ*uIoem3anUghqtZ2)!aUCchO z7CsuygGH55F!0BS^aMVTiLo<(|A#))^A>vaQLizxs2)3=yvX+Y4yupIq>^bC5PEG5 zepKxfW$Y}#oR>rCZ{>!=V}n05_Us@IW^pRtMAM#+>$!Nlz7Q6A&^l%5kD(l#buK(vdK>z@$gzjT0AEa zqmmaeCF579=An$rZQ&U0ECZ2Im)P9VZ`t(BrR>Mm^9@JXF)&@ah!58B#Hv;~NWK3a zr#{sq9Uo&W%?>@B@$fA!|E5R77pcPNs`I>yv=6NR6$Dqp1L67dN2ocWi;YzI%?9cI z!Xkf7Wik@CCzgnfZ}mhN;Cwd8_u z}M!)V3&9O!KKp_&=t+(nns{Nk#IR!)J>Fl~y$RIVx0^Y6zN_ zOet;iAdGln4gKS9LZtQ#a@b*pxe<0O#wrNk;~`W(Sjq>#55z0_`ypy-2J;fSO8w;r z8PW!tFzyi=NoDZ5i(Vnfnp0j+E;mv6jWjymZ4O@Q4pzKg}c;=ZuvJ2LW+Ds~*n(|y zXM+184Q{}$1(zGdKwk9;_9k4CM&zb)e5C~UwnFFt-2R6?XSa{r8^+UP8BD;6@9LU-i5<4i2Fe*6x9iI@UONAO2JSCGx0AMcM2fsB+tp^V%6fzkVr0cBX}pKN|%-U!!rP_H7nZ zahz+aE#}l)bVLdP0?DdCU>^<<=el18lZpRx^cb;~ow<{Xd55z&>3_q(_s?*)f73Ot z{J(g7G|-J|AFG(ce#&vA7H3rPN<5ijT+B zo4H}MQ1T^yOJB!+dk~(B9L2U(7{Pw!g{&8bap`tK-`e&*T901=+Hv0mp63EuwNHvF z0@9e<+Hrh=Q~?(hw}M>Ipo zf)6-Xyco(ag)!r$HJtP9K9t^>!1{Y4Nq<)lrut?wNfkXd?x;Gv|MT7IPHQh)C~$~n z@=I~Z8gFa*SpqMzOsKbh1nBjbLR{*3e&L>}EU9?}-FK5Z=kRqdnM%CkN4AvLZ&xjW zoPQh*9}wKwsdq)eJ^oPrv5=X5e+fHf&fuZIX}CQ708R-u#NrWhH0hfjEHrXOr{-S1 zXW2$xa$+%UwVFv|Eb`&o!-IsC)*uUjAN++oh~$1uIa|WGkHg3$vjsn>j;0ee2e}2e z)z}u>dGu_H2K@5SrcbvVNF{F=9WM_6QL#Pj`}mA|`|b|AvG@j`GTw~%FP0D#dK5~g zCy6vjVHvGL|6y4q$EqdCP2LyVW$w|#I|xPcBeB(`jeUAHjqN_2 zgPidHw5t7vz{Y1J?O+Xy4Q#kNHB<+Y5E+;V)Gxkj984Oi_%?7!~ve6fY;Cl6)*rkw4`yI#8 zvFVYF_7&o6vtZQENyPQvOXyYfJ=BZ5hU(G__#ItIRHR-4CZ8U#K~Dt!qIw5+Qo$W( z*RG=Sjr&;frI~Ou(-K_29^!wlPe6|+Ca`U>A8a+uWKIEc@Gl+qd z24@JnsrwFZK%>5Z|LwU7e8R#>KXx1FpE$}^A2p*V*n+HkHl33lhxuuvxfTgq&U~dE z*)6{Ux9&)i!{(W6{r}r{mR}Wqv5biXGzT)WEiFoF&KdoN+ zl>9h-uAsn4)cq-%`5HOE@4L#-%T|e=dG>Jf?b|G<-w?`=T0@md6RI%bd%mAT##L1q zHR1!QZn?nLB|d-{djnc@KAyG*)?jK`6Vi)(`ds{yYdmiWvkR}lz|>l-=9MUDOFD~e zJcCX;kUGyiB?51T&i7!DYzP`0BTNYv@m+nHOqNVYEpEJ2dc*%{NM-8RJI@^M7}~a_(iYxIZ0il`Cnoh+?e-|~dM_mJG`7R#6RlR|S z>x&?&pb9)E+tKJqD>7Lz1}DEvWG@BQ$erPKO!MPawttT#JG(M~ugw;N0FgABZ^(l) zC&Xz%PagBG6ucr|kAb9u4<*X@vHwnNW!2(2SlzLJZFxP7wOwBhMj0J!V9!tP_xKkO z{Np#bt8XUc=>Op(D*sxi*Pnpj7D_b4F3CE(C<_NuB}+~BVXf)#JnQr(sCILpgzXvyTi+~G?qst@TL2^+zYF+)o&)c||sq>R@edT!Wi@%&mr(tSfi`+_uGm`4uHS61lOcEF!S_>Qce{Pp7EnsRb!#;@nBFJd`LJ?R`ScAYGB`-r4(}E z7uPP?$$q;iG4BaVaAH~<`tLtaBR*Xu%8W_XcOMlhTnX3caP z{y=MYAh<^#;J2PXO$RTG<7Vxx0`KTvfi>p~?-m+D#Is0fFWXMb5=eCB^BJ6;9t*t( zG-zGEEdlQeYxItSzG(!Za}F%5UBD~Lq|xwpV(rxh;B3d^y&s!Faabhv*hDZR`ABFE z9S>{AR|y`0=|s+7aQvkCiG9T;g><+V(o7PXGnq+~ z;D_HJLEP0OI;C-oT&$z;$e~1f(iFIG^D9rrFykw8(c*01k!+(y_f?N3j zu75g9;9e$y*r`I;YcqkG?`cQ)%m-xeFuN#S5 z{;s6@ta4BZy$)8!9zr)hhuUBoJ-A$egQTaz%pPE-C;Hi?`b{L6eveHU8jtPalI*kN zY)UrOz&CEP^viZ7%)8ryPMhsfE-sD6939!P_4HYk7OF-@dK*Di*Ar(6+1gcF&XCh5 z2h*eCnD(*7=yc#3+t9TRCcjo>njSmY<8m)%F+#_xFri!6d!3<%DW8~|+D3Z)w?u?j zSAfzlZ(3V35A4of!n9W*tlDJ+yZZ1Jy1t9&XTDrR=ktwOf|e{BXJkS)B&!DoG@&4z6&g=r&Ob&m_fUH)@%J9|G{*&o z_jw>^bqJ^Yn}vpb6Cu&o9rhj=3d@{FF-zIA_+RlRIJByYayt^}{MAyZz8e9@5A0$t zkrLEW_7Z~*hSBzKZA_G_2Ww2;!6C1G@Utis7A6&=_n;9rpJUEp;V^R?t#3df<8Ar$ zia;2XW6SdQA4VygdwBX!FJC&P9J0s7@e|@T2`B!+Or@LPaAE}>TiuWQ6Y`)eb`5{! zy5N~;FM;7&TA;XA8#P8Fr@8h!`yMfj4*LX(R-K;)*&|1ioWQCgziQAjEQO@{aj>X< z9~9fah6=~4Fl}TcJwF@42Z^g7^==V)s$F54PJ^L40Rmy7WC@)~l_$z>Cr zCPPo1EE9hfO#hW=QmD{N8{5~44(5?qU;3Ga1|iEF^oIRYBaGA@OBcM_;8Q~-XZL6- zwPhZoqPSgTaq^_VU>*)@wPWa&`C(diWG`K)Ok{?GYGI1+I>F^62IJF=xv#@Z;NGIQ z__(S7yBj;_Ya4}yY94hU^Sp!7Ce(TA{+^DY zKj}Y_wN2qBr|LpbP7U=Hr;tLVv`vm&2squEk3;%en0j{zbG=jt0~E;uJx;JkZw057 zbuspfkEJCF*WgFFDr6qpM&1D@@nwu4+1W4jfV7@jH$7Ov4h+P=nNOFQ$KWP@u(2{E zZP(;*`Y8OpxeUJ@>VUjIwlt-`1WxfDG_g9CHX6yY78k)!R#eWMe^y&>%J5`g>{I!i ztB07+?s;sbtSYSu{>{ryGNfx|!+ZM*xFa!Zz^g?W zLf20wiG8m0E$o7I6C`lkzr{k^pcpFpcAYcJNv0M42XUlE6_Z+S&5j7nN}h8^p9M2u zNwE$L6iuU>yo{^xG|g6jf_Jp-IUi3+y7KNQlX*6k zm~lNAr1JFqdkp)^-XYs>MkSqcxF=`@?T*dB;t6+9fBQ0O8h!%a$rFB0si3*ZduiEc z3pTb}79=y;xE1#M@s7h{vN+-+oaa1I>ex6u?)s4TSvZnT2>yjB<`>XOeg{3fVFfED zSwN5Pc63gjfU(ofu@c>>bhxg*0w>1k z;bVpQ+}KWYx-!{^iT{gbqgMT6v;Uak@Vt0-Z0;He=eyv+Uo$$YBlMV_9mTwZap6b&(+0gPx+~%VO z-ftvns0q)u`0wCu=5OG1{*^Nq$UqbvN{-ty$@FR$CY)Kox*qFV^}o-G)VMA&!x9iAMcOB4SI=ef{CoM3#IE)EH!8*Vl*f7d?z_*E6=mR5Ve;h(bmUJF=1T{_ZXp9Q!mSyP*FER16<(%x@gyiL z9pKwen9`y(!Nd(#gCXAn=y2~xHgldfh+3vFvtlLKq8^K-jz#=D-jjVhet~XHlf&oz zUMLxVn>l}-g=az}nCsO(JS0C6RHhxG`Fm!$i}d%66u{e;7?nOvj(Y z&2f8cG#|MAF4qsubl~e@5bN#W&b12tjXl?>qhE?LqN4HUrXA$A=NhZ?B50}G14ll! zGnY>h>;Vpk|0bk?PdZQUw#(wK;305(|vvp za=6txiO-K%3H4`s@lwuNtMgmp>D4k_S}*XMTve`-%*H`bvmk~d)&1Z{Q#{4KDPpxT za!^@kMZ;CU!i<4)kb6>v95ZZa&xR~Kp|hGjJn|DYUKQi_M|*JR(*Ky<^lQc zLuvdNAK-?TF%6U181-NeH(g+^o1TBinGKY%t;O*)@#|df)VRsiJlUE>%=Lsv%kS}{ z9bD=5u4^d!Ktkx5Oanvi60MgFq>~*cRQYu|J+#&!>5n7m?sG9TUbmHfk~+b)@43n= zC&n_r(=Sl^wF<3yx{lUwZ)Sz&f8dhRTPTe&jSP94@}Fw z6zk<2S=+}e+`^Bh{JyYvcx`?=>lsjlhy8L)aeWXix!K0lN1Vg#zg_$h`6_m=CX2s}Cr`i2b(k`)d+2QjMVx7v!MCf(g69Y&bGO z8LHeQDeB?^3Tf&_xfPiZ`r4F+pNoKJ`zl%dkGK3_iz+x3U5J;bzQqM=S8*F|7O~F? zkGU2x!I}Hi5lS~FgL0(`H75>(Wr1T^+qQDF*phuVuxKi`vXoJX_G4UOa=$^odm0U? zNo4m=#^KWm-T22WA3vTv!pAQ2qefQ`-mNE?FDqF~&8`h_`NmS}mGOaH9ajY|odWC* zHb9$Jb!z;(jZH7%XnFb@Sp0Q>ozHNgB#VXc}$UV${FO{bmX@c7~z z22+%2H0>77G{(1z;FXgICztVxGZe1{oMU}X z%UH$JMpWc}vX9IS?yU0jtZOVWedw)8bQI6-=oP;~s`^coe7E}LJ3)~!`haZ>&*9-S?18ukY zBTc@bc0rB`9WCkiS!a4C^@Y1^e4PDub)j8B@(?oK84eW)`SDtFJT4YM`7wsv)%bSn zaql`&xuFzyPaVritjmBTgX7$`0ww1Da;vp(?O3)-xSOSnj-}4d8t${bIsNSJYG_-o z4uyq9{NvumaLZNj@AlT<@+)BwF6;=!Z@t8#!4E(x>m=*_9!LYrwV-xJ6j-=huo_Jl z@HaV1bsh8Q;3#8!Bleh$?)`$s+YdtdmR#KGe}o;$41yNh4d7cNyo*DUxnB=jG2Lhv zm5;B$sLugxqBFpjn)I*Piyd?Lja$5h zvqYULlKQ3{hL9QTOC1z6@Y0T7L3%fjF4wd$3A%1z~#2-wMLObzcY^v4) z<|!v}Zu)x{klAiTIZ(bw{5ftVvl7(qz!%4ANp4Lp9K%-j0XQZq(cY%ROf~8|TcS3WQZ}Dr3K|7Ca8m;AR!h)Emml2l z9|`pQqY8e!7>;sdR^zTQhpc@%lx#BaG@By)Y`w}a&iP0)I1RH|~|D10$(}kw1mK5+} zt?*75Nw}#J(j|7WZkc^hciD(i{_TZ*{;8mHEfB_u`N2J*+b}lkFsV!I#1En;%x%jb zwxMAYZJi@??x6frjDst^p_<|&lLFy`_wwwJho-ya#}n; z1}12IV5LSMaQ-Jn8at?oxtR!l%hY|iqWS}Kd|yK5Yz!s;Y7k``R+D~L94k5POusBG zP-RI5Rs_Zhjl=dz0arPVQWkG<4XH7Thb5pzh@f+|hE@suB+mx~%AA&|*0E-JFVU4F?Ua zAu#aYH7lbjE7`J-gXo4-KRcFr-`aS0D=Snphhw|rp>bsvRP`mX4`n(O+)Sd&8O_Y# z;68l4R1TWXwiw)VbtO_Rm zy}&y9SS=X;&4;c+b954$4)T&?$y(e5XT%1AD6tRo!uGNM&vbX@buqEes$68jXQnUY z*rp6o;P&`zBW-6p5Vm|cZh95_H8+o14m5IxKV3+^VLuCRKa3yGF6KO9<>AAodm@K5 zuQ2=pFR+<4@!7loFnd%G!(X~KyFbk1iZj!#567&BmE$yFtLc62ho?Gs^x8VCNc|6g zf2!i&j~6^JD=J}xXc%)#zJqgK3LUS>UZA%#n<<1}=b3QFXiH^Kyrcn2lPhS?{jJpT zXERHll*ZoHTcYFbBQ)@^jTH|UJSWYC?8Rdz>nFB?qkjEJnBH<7q*vRsEH9v4=W20! z?^HPI;YI?K2&!6EVRB%T_3KHwFgbJ-No`Podz%zs)rR?Cd8;4O1jbKERU%}~2qCBU zg|v;o#YQWrQsb_Nq{)qYQ4w$6{yf8$wdX*8s*O)o?t zPd9^nbrj7DHH6(?^VpdI8EVjtfz-Du@ba?*^oog_|72uoNvO)B4p{i z_hEPxaR)nFF0mheC6KLMZaq28l2Uv}kmsN=q%H8Zq7<8P?|W6K^%q(DTwH=Hjl(&^ z=$#bt?*eYlT}qcdHqniD*)VASQ>K4^F8SKs!2J84aLUPC+*r8=GVLF+f`7kRozhfr zI+IB+O=eP~$Qmvw)S{$|JRP}_&1|-8wKh)4r>@KK4T+;iGmX2k(0t-06Z2TYD#csT z`OQb84QrnIT^BuhVtVoJgj1=RXPz=0|u}$PY~zx=^H|uO~25P3igmXehl?%(^Do!T7to+1n!@ zVP>y|u+P##=gB4DY%+rTqbx3PzZ$XTcnl=j#G!*hHd~sunM4*V@pI|5%`2kf+9cE6OkHYcuw^{X*n{ag?4A#B=Wqr*P;JtJe{??dH z{Ur)q)Sgfr_1u`vkM`#FJT&KQ3nk$G>Wv~*({i|z&cWlPV4T~1l%0|`q~u|T+1z2v zsb83Fw{A0|>eg4RxTuor5zcD<*~OwEMcue%oDSQm9>uFYG~@1VJOe` zuIHE@y-nK39vE=MEtH^Tfyr>`i#6|h#2!9cwlTjpc_`c6ib3OV;>%y-uvBA+O;>&# ztXk<0aUGpF(>)Oqbeqhi5r0?lMJ@+f^zRPr*m(>u znG6Nv_cw8A@lbL#SGC#mA^_wD?y^@E&U9v&G(<&?he?l&aYO5996Lxya4^dA3c-r_ zZl@x|8!M7~)gRpYL<*+w5V!^wmzeeZeN+`Pi0uvNfN?FuAmYI-Twl~mieIESi3y`Y zM|k#p|M`S}q@qV(x5lz2X=jRlR!9PFomDzAx>lh{&hFi8iQ#(I(U(Ergg=C!vWxiX z`a5o6N-S)Cs!gFaE-bVAEI#@03-@H-W4~?2P*traG_9^-8JgGFsU`EQ9C9CnSNL+$ z`4LX{+>_x0FLX(UkD|XT^ZB3IjO^$L%T{V)i6@h}Y=Z*sMRE_S6c47^M-TIR{Q^N< zF9Xf|Ch+{Kr*!zPEQDN?#k$$2INQZTA@1R2%w3!f1y|nTl+BTBa@Zpr*C<0eLn<^`h3@)12% z52L422ZYX9FPc>;!uI;lY*&C3JXtL4=)Xr1YtzSB;cu`i*og{`NPuYde(W_nhbJGd z#MZdWRAssfT6e0!hTVp6eZCZ=j=jiwXEFMjI+=9zyoJ7_6@}E7!n=8O+%`J||3R@- zpcDtA{kG%UPJs!KFaej0x&e!{=b-qwbo@Tdlm2@;9hubtJF4>qWlpZ9Z*ooC(&Mq5 zTJ08g@njjBAnnBxwO+vW;xX`HqcXmJ)l6k$^We#$v7$%PlVMrhPI?-9niQXgkZWy* zz#RHHi+ zOo|ua{x3~Xefb$K^%1i6{$AjbyBB50&4w`{TA=y!7Dg@hre8DKarWVLR2LkRhvZC67%7#^E<0KWtyZrelnDeU&D64En}8(XPHiT4`@S$z;;+b?;>+hx|c9x zf*Q;bDNs$wcQ*XZK5CI24D|}Lscx?)DrW6uFVuv+cVPwRP!!I5ZhvJqzjGa}d+6IVFU zkqU8Vdb!P)AM;UeO0e?%TXyBwFI=0N2mk&iz}L|WPGebLIdf0zW>1U!&A>W z_kCUO_v=MBQ#9G!c1!y9`#S4BI*~@YCvuyx6t7GA-Y&^0~J4JGE>PdxODP8 z&S#|>`6Vk+&VW7CWLA&b8D{kGTru}R?kG2Lt`->%mm)qwk}B*jQ*qEp_Ib!ivH$G{ zLhkAn`<*Wb4Xl-aFVaU7TOIfuJIGo*W+N##6!Bl;gq=a$Cv=!*#BGHz8vP($U_SGB zQ&_Nn>j03G=%<7hPja-qNfzBkbi!2dfHuy<)C@N^Pq;Vg7WmQXU9MQ+`yX^DUl#Hk zn_1qS!EAc124(v^O$|J zM%pxgDAnC{W=CYCVE(Es@X1`qofzyyPfDxs)=5)(*QpQV#=5e*Rw^*%t{W6D9Y~s& z9q`W-6EG=!jxXpn_V=a3evJrnHuA*Kf^-_cWh~qajirt}5Bl-Rg|h0-!|uZpXi{>P zg?0GjK;dSyczQM}UVF_%DIeLJTQ5bHieupEvkrE^b}Jj{rc3>OgRR;05>m0S5wgS2 z_?K1&_;I+9qyOMV&#p+2+KOc6)?tN}-^YTh?gz+Rn#x_)*?=1iQ(1Kp&}Qo#PDRv$ zQwsirC0oD3rZ*Y_OKS)Jx@#Ye&Ho5;k}Kfms$u+>a3|JjDnXJNk@Pl1xGQawqyz8Q z;SYzQXmWiM-O?8EbxS#XZE8fz@6UtIySJftvj#p_bb_->qagC20__kOzM=0%fOMV- zwzbSa_b>M4PG+$v6#!ncW0B`DtLBrU^;Agp=IgGXCFUR$Z z$L>6g7Gu|9dP^63@K^@4B_jDc-`ym0a0OI8NXMp6Iat4Sm5}v01lKm7!&T+#H08iW zru+O2Zt_3I6ucv0;+j=rxcHT&E(!v(b=mMwn2)Om2pOyOhbcFBi70&Gcb0z52)BLO zM=`FItYhXJdY2%~Y!~k1b~fsh^9yq{X&%m-nGS*RCD+;6han7K)j(0)bLO>W5nhwn z1J6#If?G*2JCbQa!~QIx0(&j8TB8EtVfK`y`Iq8`$zeP%;`R*q!e71g6%F&1*|}M< zbEQK&n79h)cG$vxOlISM^S^I-bc7_d#0#h-FoW$HI{5%?S>_4 z_GJA;2L6+=f~NL5KJ=j}b)0!dA_c)~sQZUkR&Nx^u2tZD$7OQ+QuJWRicl6NBSFeD zE$~6xOO`pjo5^S>m09W?!STCv`85q|pzQELz9Q`(uJAkofeyAmwSbu_+*QCWb<577d~HOY6a<-&A{M*HJs*<^SJBfbrcUS=IvVj*&n`3J#f=W-0Uv0-b6=dtk(&6vpDX2HYaVWy=bZd*DBCu_xHp;;)rXf4OG z%sTYITkLz@WoG#MsCfB(3FscU1v6W8;j`*ph>aXX2c~Yr0=-afsiy=k`Zp6ZUXG@l zW-H>Z7%Lg^I0$LzYEX=^E?)tw3X@ zX5j3#-l#H5L%4&uvy9?x;Ic;=!i40&aPtW?Am%3*3d(dE{r4!8W>eGRZb|YWwn(eU6@h^6nm-!hA2%x*@!$ZdPK0 zXB^(yT8N$vmqlmmj+H!1DaMx7)7X{5x2)&z3=Eul09w{fCYKc>V2)$~tGky#j<-!Q zUt%~FywIYlzb9hT?%6D$a4H6eYzDbm0T3{J8QaqN4n?=zxj!rlJ-$WJZ~LRdj>Ccu zToZWPql&p@G>P`wC9`hBcl?tT=BQ&I$md@;#V@~Phudd*;-q#S)}8NX)f?NHgsiVH zL$@PkwJ7lZeFhh#=Am!F6ZTO^Fb+H{I7Y{6)2tUqA?02U8}vYqmYxX0=je(p`$;93hTNUXuLzy1399H3Yqw%Mc^6#*MwKT zzekUqOGtWeH#$ET@p$ zb*3>*+bM3q{wC5U`!EWCH0vCT81 zS?#;QN5;JsZVXH`fGp#@z*T<5OsRyblWpguwgtkxVw?C_O9HrwiXaXtdDZ zJinlhvmg2!`~Jm2RrWF*6V}5u`v$&G!lS z6dfbhU33<<3U_&p!UWo0)`va!1^{twEaEJK!8b}!ZT(=F*w=#j*)7aO2$38g){7%8 z1L6JyOVKfzDX2QAg`Jw22>YG~lKoQ=%eI}sa$OIB+KVvC9N#0lvrnCz{>p(?29Vez zi}Pw6O%>C(&~w>lJh4fM78(wQ7eV*gpVisi4~s=~+Fpk80!_(t#9;2&TL+kUYaH&~ z=K&cxw^-nSFVNR5IKUT$!I}N~qNI%rps;tosL+>T?k^WOTyM|h>hjUfSMY<*-b}}r zFgQH<9qbz&j|&qVsbS+_+G4(x`}@%b=9ixb{o(nnynis=a6OK}U*0pBLn#n)5Z{ zFqcnUN&gbCOi`lO@!_byDjs$2OeB-uBcfi#>#)+Z1j_bhuqQD>cVBe`-Y+`^+OIZ2 z;zdRDiixA(8`FuU^kUXk!T(WdDBOSMlkZO_)XH#0%g?Wv_ght%U@dT0ULT=}gPq_` z#~Nt9dIC1>ilOVtCa~!5QkqaVh_*UEWxf*{P@?*o0HSdrlU>W_eWXNlyh z+Sonu0M^ww9Igi|(lmv!B+54+QFuAHtTBeTs1zufb{safjG+q2SGeCbfV4IA$#TPT zdZY0GVftQ>w*P}Q8rFh4*jnVA@&r#UzsyQ6?SpdNQQ}L9!tY68E(XX*(P>tVLu^#> z!s25rQvMb@ks!q?KE`9vt)JY`5BZRwq0ICJrdZoILo%FU%6?K8ulZXHeIdSVuIoz5 zPVj<@FGr%CyBEuG9!!k^`yoAkF6&ujNVj@>S*NiU`=mDzy1V9MLzO=>*INOSGkH{x zwV)q`1yVX7?dnQuW|2j&9cKRF=iawr7iGiH>gqbEgkHR zPT=?z6(}X}BJ2fcpwTyJs8n4J&BmoX%iIc%E*Z2VZ7gNPyyNoK0{J;o9|T`_I-4@E zg4Jt9fKvJZ)^B@}vyNGSO-CQIn$=5T>D*lYi_JUMVWmPn@+Z+osgXHayu({f(M%NL zOo{goz`A?NU_4alM(W%q)toK#$tw_4O&V}qjXLh>tOniG61HpiSTwhDC$|p^q4rHC zo1*#>>$a}sw|6hcqV!YbSh!Abo?bwk3Hw;RpWuSlGvhZ;t7O~VE7`YMTI4CSnM-%S z09A@dSi%H(P-`inL+=Oj36C>Cd(S$Ov|EZDFc`P|JVFi%`S^Ro5@y5R@CQ|PuvI=+ z*^*BWIFEV8)Hx{thAekN(U`0FId2MeS{RdTUnI_1e~(?=d=_2qm!M@1FCN-Ak0q?S zfg#r6@F1|7XWx{-&!!ajE_4z3oIi{sSuS1}vIgU~&W4qnU7#a-inx5%1K#?F6uhoU z;Iv$d;oEo}xb3NoE9}mRO156czR#af^Zj55Z${QWYzM7wTS!XpBBAu|W=Jin;uhJ& zQlf<#Y@T(PpS*PrjE+jcj|&Rnx8NXE-DU+vd&8-g+WGp`zaXi6Kl1rxT^Y8QjcmufM=EmO3tb>|0$s}43$nT4vj)@!1 zsPm&5t#Y$tgGP7pyW+>u4hcDsa6{f$JxpA;sBuSS~XhUy`Od$ z|0`XQa+X`PJO-Eb4<+Zx0^?n7GkrOr0y-Nni)hIjHs3gitvFK7CfIx8^PC`T)ZsN9iX}944e4oCesNJv991O9JA>p`<%Oi?Bu?4V+y0_ zaZ?<4yqBS6<-@2o%>w>YiK<+&E9khwGQ6nI|G~f zt|;OUmWt@*(?jAp4foJIcoIprtI~!#6X2Ib^Ab-#;@EI0*tIMgi}an?>FO?&{BxKM z-?IkytodRUEOOwRyg#t1m-_g&|9eesV)3}Z%Sf0LMh=H1(Nf4UmikPfHI~a^g1`zk z9}~=n*Os!=_V>WAQP?Y#_|Xx8qdLS_M4$Gpfxhce_**8992dwjKds@y%v_48&e{rJ z+auY%;$pZVF2~tV^VwpTRkZP%I;7j!KvvIk);(i^;KB^IdKeiAS7YC@cF1Ll9zwEY z-B9442;WJdD%IS6z*pX|K{rbwt0*s=X|pO|w7C{(cx)!A(E<L-(t(h+dASjsLgo6Ps#n~zZg@>o-c zzIB_xqPft<+rh zoqcYY14?S~WK;VED&hg|nIFVhW=c!s8D+bhp}Ey5PUV3uN!OodO19JKQ69k|=f`+m zYYS1KJvBHK(0{?7g?^YS$qb8zw)YwMeBel$5E#cybYl!`pH(lM|wo`{dRZl-3rjUTYi1O9qdXGK_GrZ{hJCt@W!JP7G_*Cd- z-m_7L$J+YXw96lSJ-5-s*Vm!##bvZLIg6RG^I6x6Z@6QXI=$!^Mt?(Y<4&W)?2Swg ztj`jjpS!~$-k^nFeJ2hM{I`%QJA5f4b_N$KBhQ9OW^xBxm*ABAuKQXvS9uQvEv~>mkrt&~dWtJ-&wz%aJ-w7q;%;7x1?9G9Y{x5Gn0u?5r9MLL z#vE68Z*hov71!~OJIwiXD;|}i6rsm-tGHWmiT|t)!ra=yY*MTVJsO|JtlO5*+ap^+ z?P(jf{^10McL@6Gn0D~M>R_-QStF=6f4Tm?)!+^u}NI|^~3yip{p@- zuQaul^s{Yui!t}$0RHp|Kh}KK6FTaGA$GqR&X9>>q3bl^KVjBd?!AUpI2z-ql#O(E zgFN`B__5uIk8rZTI&)j33O`;7`I#>-IP)#LX|mpUI(Tmg{0KaZjw=*-_&X5}SM`Z! zK0k(f!`=AZ4KrbiXg$bs7ucV%iELwg8Of(P(7juKu=l?l)cClNbcE~3w#LD5!Q&L2 zuWAwUz2nKLUPj0Rdcm+4)%?9JVbrtyI^NT=f$YLTy!681(Aaq#vwU<|NMa3{ju7~n z!5Qq9YzklL6AT^-w?LXR#n=&LR--PIgQxdtbT^raA=$PxFjt!9OcQo~4`#x|*fY@H zXN%W@b9uEN2B;WZ#r%YO@0fMpnWcCSXOe5j`@0HEh&UM_KQE9Q{T%nyao9Ft5z7y| zL|<}u(wuo~xrvi@uw!FG*^z->+#&-{irqAyMq8a=W?Regi*Rn$Oc;$DmYRyRza)vk zbtEVy-DV%6r=w0+AbQ?bB+-w2mUQD3^YU`w+*?#}_KBgmYR7Ea*{)1{%XIR!2oWGr z2Br7HRWYon9~a&piSoPkx$}3oLElST$h>PpA8sVTmy@&Dnhr@&nYRWH&PD#+Y)N>u zx<}y4O@^^wBw$d19g5@ixvQU>#1V7!sekb}t_WU>el1q!*2YdE-JQEAYGDIk_;0yY zi=(W_Jwm!zQe6QIUKqLZ?x{OH8dh^4!%fe!P49< zI9PrjJsqY-Zt{;rz902?yHju2tZUj(v|1LOzjfo4fo@=x>4TLwuZeY6&nNx3xUzhK z=dSwc5qp;F!bS*=?s@a)@s^{K@V&Yw+<&bKxjw(xcC~DjhLNHb#cQde^Z`z78%MfM zQ9=emfu?1+Gp9UPYPXwOw&&Owc4v@2rR!GnFPw$jFHSug_z@}jY-{CeTGA?y z)UlX)2M?p_sDspV^%;M4Ry6zS zdiNA6zT1X{vRZV~67l=ZPvG`wDd`_O#^#S%fCuai(Ioy3Dva7k8{Ma&V^I{#X&*$s zm(Jn%%wVX<*-m_3jri{?8{8-O7y_T|LzB2VT(CwSHrr1J|GUlXN0|)i?`UacA8&g5d!Wj(gg;OEqN|; zq`ps~sJ^n8pSVPVA|$l1{pxwNz43!DYk0!ClrLG?voAb5t^=bB&ViG!G-)6Ch^-6! zsn&WT3+iZt<5nY~?d@$oGeQ;ytN({8Tg>oc-9fly7sTsDZiKI~0xwUm7So#yXxFdz zyw|8u=+Yl#{jfF(C%WfxLmi{pqsCC&bwL{9yguWmqs6RD#h$cp)IjH#Gnk;KM`NR| zh&hiOE-+vfY&L$1gLXe*l7rqdwmyz!_Lborp;tb7{vc|99?H(wYhvw!2=V*Q~EYY_|8&ypp3wf-MU=p7z|2g%K5Xw?ebfE^TrmZ3$7XMr~~+Q z-4fzgJJZ^hL;RI^2|5!MM&fRPL*=~%9=@_pB?(`Y++RfOX;L>GKZmA8?jxooFj6W~a6v$+IJ{Yt zJS0o_tc@$#&2A0yREdD$DsG&)N+Yg#9g2w-ig2OfG{$Spfa;=F+;TSrr$0$x7dF1a zJ9%ETS1X@iUqMW=rxIrgSsL@1zEm(y4l+j-u(w9bv07mTy~_H|ehq43CqkXrkF7J< z9J{4rkK;MG43tUEQv}+xHiGkl%^1_}ieF}C^HRSWne5&aOtKmyaE?UamNy?(HOgYZ zhliZQkNJGESeFdsSHq#Lli9+_;iUc52qdQS_-)KRE==Vs+SJOj_9M5k@bnEdpDRle z9*4O8tBUNxp#tm+)q}V{lVM6}9e*H0iShRxDZ@5`X!l8`B07%W3Z_H+n?|-IC5_kb zIwqbu?14DAcsjO>bq33x3_4}0OB+U=;=?MiT6uSQ9cApr*@3|YYOhwQm$2(2_32#P0c z#IeH8e(RHEa9-d&G?|&AeP1-aG;ifL?7b`g@T(4E?!9M15t%|V=2MH@H8wEqDR)`b z5j*S~Szy#s-rg)#G-jO_GjR5V9|Ggm<;Y2B<0}QuK`1P@ea)2S7UH?5X{6)gPj+AD za>b=d+!8~9IrHqe@UoJjvWd!MI=2`n3x2C3O^IyVuET6tz$LbFQ#SiNMhq3d##4}d z4ET?*XP6-Hk7ap$_0$+#HAlk0TS}N)T@Kpiby!=cPuQ1%rKw?1?)wycN}XBxLr?gU zITm*;NT+=Roj2(qZQsW?>!E*{DBNUnp4GX?{lKaeF@AX^g4SL+fDJ<7XFmLm7*sL<231~kxyV|P}g zRNnzOSsFmM@E+s1FsNuZC3zo7(Oum*tEAu=+$rx~oP78nGg>YIo65T3%a7}D>Et|7 zm7CCen;ikw&wjCNeM_2K5eakch4=AGfW#N>lzwy(tUNaqYI0MpK6b|As56^*J(o{R zZQLc8>ru`wR_3!VUpZX4C7kVx@n%wGdAzQCKCI|8q`=xBw)UM71-a+qqwsOiup$7S z)z1-cOz}j1^e#&9wI*d#o{u!%i{`zV@J{GMY@8BasuW?$qCZX}hl@_IUCs=07LJ0f z<)6xqIsImLg6-(|K`S_L(iuK0Tf+ta#T-7ZXV>5V!GE!ed~E$A)_B^Gd5?D{FZBkP zkvNo#{4qk96&m4o_gk1;V!$8w!01zfxO`YV3tjCA&q7ow zR5T6t?eNE$TWXL_=E8wvVZzKN4$Iv+dU;VElB)daiQsTu;rkhf?w^O}a%CZOb2S?t zmBwi+@5X?8(U`RE6o$3z$A%+~{K-MvD6l;i)YrX-g!)ztAD;=D*+sa{(SWA@yM~9~ znu9qjWXdn1;ltPv)P9C2{Z?Ca`rkkrczYAM@T*a2h!g(VAqD#{6myENr@%zX7#gS| z3BmH8nR|ko;5JFdUpYnWd!Hgqlzz+GHDtlSZRc5S>s&fvt|w~FeZrT8ZA4e5%l_nQ zu_sm&=sNfqW#WLl)A9bRLU=TB2s{YC z&s%he$ZYl>RR1^{7dPE4`_zkE)CN7K;9`Wy=C}BHgcJV$W;Wqx`SX8uKx)KS6s|(T9PB%`skgB~ih^HWSDM0%Ii|ViBo6Jn zB|@z%;4?G%p{ws>+`bgv;K5AcT_pH^KR;ou!3)u?41=D?e1r4I~aFTr}ak~!T`vb1zT^2+AJ=@9b`T*+pT}&6R z8G^#DW-w{o#x7i{z-rl1WGOWl|8}Zy3d?da!uAqexY~<-KhB7Is+)w_!40YzU(K%$ z&SuYDbGZYBDRlb6cvhnGoXY}Fmi0&pOm+~ct(}Mdp{wD^^&VF2u1F_WW^#4AkHT?b zc4R#;6wCK*g`}QXCcQR=q$(U(lkrjUaXkhnpVct$h1>AXi6|UX)z9Bcm8JNGG>~=H zr>Bz3=L4=cg*5?fh$UJ5%t?iydT^B6o4*pR0UCcwSJwh&Qw7yWxfS*Wa_ ze4e|Iq{UK{{7{x1j*4<6>W^t-u^w-9zX8F!1hhg;6^Y1^Ej`=tsq z`Ew8~7i5y3;OIEV3y#1_OZMxfA9;RW3-#J_@r;=g>FDf3wJwgFLpnH_NQ8S%7wPNI z`S4gbi+$k7Qd@K&eDUaDtqXUNYP})kO*jpOdnSQkaiK7;4Y2K^1&ocFkLygzKq~Vb zsQ)<&i*5?`;GAGKw}7y5mL`;5)dbgfr)Xc_2FMh5uq{&6eC(gs>_d_rcI-VRy3#S0 zDzty|S1cz9J0U3wpT7vh20P<@12^o9EyBfDlEh7hQ>gJ^J^lB7Jbg?)gvVv8@yx6= zSox(Dr^SrJtLp>NXw@e+HDfTHPnIa#xqKzPy|tGMchn-4_`l-YUTXBQE*u8>dSZTv zJd6&R4mGk5x#UR`(6VU-wLVJ1ov+j3^M{+HTpv#hV;lrOmm_T0B+J+Txr25Vi4d`J z9CLho3}@XC?o_kCvx{=4#Kj^B*gZ<{RO-Ft(?5m5?wENLq2>;uB{h7Y@Y}jx6#@O> z7JS;MD5`f6GMfVL$LF^lsjqA)lkoY>y}h%MmQ9Fc2kYmt)2fM>CKtq-{fju~32Vq$ zF^awnA5X8!WhlbyAfBz0<3|rr!)>2i_)llrcu~D4E$TYV&q+H+KEV#~!a0H4abgZV z|ND}OzwV%2oIOlexXW^#5}9U6IqMEi#`f+6mNI?@o0+8w8~41$;13=mzf?845^!8} zgciUkvuM!QSWARF4NaG$!DWLXenqkon*O9&R022uec;DsrQyEyt|WPgP<_1$eUH7#_H?chn9lPkSalHX z3wi}xc6MUA>k^DAHK4*QMa*b!U{hB`3$wr7OtPYv>5gB5p?DQCR(9j3uoSMn-W|lR zM$pCZc(l?hWGf#Wp}?s}@OQ>uG*}fw1{*g(+Ja&HbUC3{bfTUy>$_~B;!Qm2#wgU< z75?0)V%HXHkj=Lp?8g>+X04V&(-MKEY6uyd+4HHlN{`|uaPX{k27ElNj7th8!I#Ib zFy-e_e$iE1;ZD=dhiFejBcX_KnD|?bf)}dO;bAvWA#psh6Pwvxn@bp+=)(6U%8)A`yBvk6{KtCl7_GW?( ze7}1^=$>q(ktwxo)Vf{{_BpXG!R>PTaSvOhtOWNDzK5`R8R9=ogMCoifg3l@WHY`u zqPOQD8Z(IxvHrz6P+rd6IO?BaG#k zE+g-wbICRh;Ip6L;+Uu}PQ8ATwe!0uccY`&(8pf*F1py9M}n`!vIG0Ob6CdPWppij zJYDGch)xSM_^7wukl;NPTv}9c-j#862_=XQCr9+ zdU&=2cRSCA7wMOne2XkMdt5D3Jt4T->LloEUp>FR|1x_eoKIxE*K(U1Y$0FOfsXNG zK`)lW)&Oax2ri$#gpY0XakfnywW|*VsStChXCcs-wFK@?-$yI1PG{*6 z@!V96|1f#N2|Oz77uOn7gjO6IM5``Of=l(SY|MXMxO_|yo#DiM<)%c^dmIhJPpg7u zjwQa>m5&daG})!=?F>d%;juyIaN~{_Z2#xe!W`BI4;HV2nu}+!e77NNpD*|muMZ~A zS8iYwZULWK@`T)W8uxNn37V`w12cEt2dGn}*&`RQDve0`9p#U5R*!J%Q!^}@IhFQZ z+6kVE9`h0#_k*!iER|i*q{?^gOss7R*Y?Da--A-2H*yYUsQkwTJogZ0lZx=LRvQD~ z1;f8<&qcd?oG>bDEy-A}fn&ndD7;}foeTbscMOKo>E-ij(90ZE>^3ytVxnuG}DRcIH&NRLelNPUlH5gJnPP)|-E@ zuZJA?GiGyf_stOYV2BO{H$KG+(Gwtcj0}Hnx(!u1%G1a34_T|RaIQ+b$`XP{)87M| z>E!9-(0xCZllD=7t@$b3S*;7aVC}>ccTeNk@_d1>(2g(8Il%gvTA!$vo(j1woyeYVxP|uzIicM{-U-IhTe8+%s5#-8_+s zZ5<=w#@2akbi+61SZu(DxDLkJ(&6mW3{|*s<)>)t$tM&t#F=W}ub`7o>0HQL84CJd zPX7K`Y*Dizr8~_e^PXF{^7<^=d2KvDl1*i4HgbH<-$JI@TFW#_CyM*WFBHko5@u*K zL+IGEDm;)_$h?-Bg+tK&)i$V31 z9*D=BLZgPgQ1!GxxF=4?DgN2eZvWeW_MyWLqj)@266vV)lGsHM0-X*gWyFvOPn zC~6<{jH>%=S@OmN`rxuf$N+x@OS3K1(;`7KO-seuK^LLbQ42y$e{qxC-QeCAd)Tu( zf~%QgNmF|>p!(@UVLr1G)pbWPS(V4kLaQ8|HLvnD-fnb1K8h~8%;L3X4TI#~0VHiT zg03wZB?Ml}Kx5NE(S9@Gw_DJRoA-{yN%JO?VQwT}`ZEW7x~14GRVgk;<_UJb_GM?4 zwv)!Iz5I`aqu{(&j=HmR_@Aanz&Isc;Bre-_{aVH<%5kld5sGFI}}O#bu1|@Vkk&t z+`ziy($`WCwFrV0Yr66)hc9|^1pf_*6nKG_P&eZcxeL5E-LwU4q|7w7Y?KvSbLTTV zHGels5NyI@o(t7JjLyam733%q7G5w110i0@tWVl!83 zfTU1bS6=Q-zGL%PxxgE<*%eRvZBMylI1akj7Vstl^WxhLV_f$_9ai^zXHsdC@cAoC zn4uK}-=<{nyYeCgOHM3-X$II^$BG55d&t6s7u)4!06dv-J^*=cWlgEUB?5qrE zI6Me4|EhxQv;-==6T-fp?dI;>48jqQ2C&lmk04J?8UD^Xj17&eMg5D9V5ey=KWWAV z9OW%ZuM9i!cTFUe)JK!y=&?|MyD8nx2u6p7L5hVFjf$;hh8tcm|EalLxLXMHB_%Sh zPakwFl|W12pJ|s5B->pw+~K^b6rFOA46k~^39m7{;gA{7o!rb#688H)rdM;lsfd$a zyb{IzNTRA4W5{=-4&>h%1$U1;=VuDpE=xUgb|J!$j>RHxd!iD99Ivpc(`?DC@i?E_ zmW(lEfgLM%Q18}8T%SLU4f9K2lP#smSNa>9cr;b~=GQ{-Tj~ml!dbH@#Rm1>ad13; ziNGX2#fKFPV_G`|c7vQMrEk+jvp=JV6Zq*D+`jTZob<5lw<-=(Pv+jb#F9kYc8Y4( zgb{b|!l)}V;F6^o-I{frGIv>v$f6f5q zp9*yJYaTo}xm)OfU$#2;ER>~fGa&shD`@G@Ay71ED}MiU0v4_KiMjuI0(-rm?HH!U zM+MzwcF77bJ2#$WqKo)M{j)gQQHp*<-^b5eKJxmGJPWRV#oMizPTMD+hKOhHM1D6% zgV`mK&|w)tFBaUu!h_C`=^8?-cl<@ozn_?-NfFG>TLRJBQgG+zYF799ApMmZj1w$; z*-14uV6|GfzWFR}_VdO|r_!moL=A2)dcubMCY+v<54nzy@wJN?oR(h<0gv*~a)}+Q z7!-tcp;x%C*AwA{ax8n+w+U2MU1hg6snQCUqfo0b79zbO!A1a`ZG>P*y|o3SHScgH zL1)9|EkqnIM;b*@Y|M}8zPD5!2i{G~oC2A@$XZ<=Dwr@5U zJRIFQW@QDB-bSxoQfA~ZA3Be|FBSon}NbaC->GTOfd3%UfJhxjI@Jy*lM zg(k!sA0oZ9ZS3--D2h8R3D#yow9jD!E{{2Zb(0?R!<(%Hhn;YiO}+&qmz~5JWzO&s ze={G6O5C>F1TDu!qDACt5|U{6royo7b=)aje|ZLp>kByD_X{Xs&3|Y&d^cx&eLjo# zE~Cr;%-Er$ezYZbG(SFMCCo|RjtQbgY*5b(KI_T^nzBIf#Pn}sdr!Xv|L1y~uJI!_ zFOcPR3)Ck5&-);w+-vwmfZpN+N2M|Ck?-Zg;g zw`&O*7w@(-ev0}wpi^DO!qqiD??6UXL}Ahs4S!B>oalsaSLp` z_5@YmSpozOMPs>4_DJU(99tF#GCLYkEl2|M+Ctg=F~LB~SHi)?Ls;9=TI~8{!|$D} zKr%(0C}DF`?CMa$ek#VG#6Y2^^`nbh;};8(&W!z9e^F0B5EYU>(FpXsqzmy+3}aCO$8{0*&rO@#eLEOTG3Ny;Z)V(Qt;@LM=H zNBz=beo?Yaj~j)v3!Y)IFxPq6c8dQpHVJ+@iG8KDs((#n8E%=vBeC2FAzp#PNO=*0=C+0H(RSV0uq~C*)-P) zH0|dw8n{=TO-{5Exi6Cehoga@5^;#x>1A^_Qpe+8le^4q!9tSH5HbMGv4Tq@i?yn* z77v#H#mpna;P)Rtm{@%oDheuDFTWkr^5md4crnX4I)QE38Z2-cZ}16+*V92sF*iNH zfuFLYmi=302Y@yB@MIh<8S(-tU_7lIsUytRqxn}})gm|($6F}nV9$O9_WQpq{_TN6 zJXw93#yPD;_I@|4=u;!ZU3$X&ClcB>O~t2Pueq7#muS+i`^@6jM}F%AN$bOfVd&Rn zLq^M7ME%$E@!I{ZuxOhu6h>QPzVIv&)f|K0D}7=LcKGL)rFhn??b z_=~n781(2dZt2J*pC4y&TIxhf|C3IgXb4?>3iLj4KKHuQ>TUYlfmQV8q!fY&EA!pu&l{txV1W#<=t3FgBGeVaef(W zNDil(N}eym$eO|kl@uW7@!748R@ zhwq@;Jd(Ak7s1z%EH)~v0$#ZSq?xF&vlf@Akx8@i&5@X;t%kn&J0M2j9{P8@!y!!y z6#cOZ_nH)Al*K4|8<&OG&p&5D3G47xoGotMKbR|8A#|7DE3#j0!tCz)QfPl5blGMe zB*)eMl(=;s#O|9%yS+VdXrl!f%GI$?fg^pHkJ*gmy`+8l5La+xB-IPuN}pNrVDR50u-UhP z#U6Wz+Cpw_n!*oZ=I4n)6Qw{ZJ_kRp7INxlK`d*)Xqt7=05%^u%1_tmWzMPLYz?iY zN69^GQqmR}B(KHy+3CV-OFej9E$|ox=bZjEQ+zI$4@p<$$gD*h;+CIc5AU4;qtw+9 z-|&>B`pJ@P(?a^aelj$g$H3a>&G1$_j(%xw;6EB^lVSU53fXxUbH6=8gF`1VWN(2S;Qt7&uYTy{J+lp0PM0q?Vz6dPx7$-#N3@HrQ6xIKdSco{e` zZUQB2h@g-Crch>K2_t5%gH1yXNH30qlEM}y{ck3fMp?3pXAS6h`C;_<84NMe9NoOL zgGKCeqPyYyU`&4=#0ovDXZ)Kz-sWMI$0Typ(E`uTR;Ye)iFMCwh1nv8gLff{p9$=ek%LLX zI*==jTZpB_ot(sjd8DyzFT9vEhlaHXOjhj}Av-XPvV0CRTcuREhQC;ta{z?6dkD;> zbMUyO76i2kQ!O!of3m!Nn5|Gi6KLm1?Xav@TNFZe4s+H;cTx51^8= z3FJf_2B(svv`p6kj*1SUzGV@`>^TTOI%o3vABWIDmsLWJ?hJdja6LRs?P791W2opq zZIB-Sf?eA&2!0t@f%L^DzCAmSj}-0&FTZ5qyx8S5EO8cJIW?W1|7a7|c1O@=>4&hY z;Tw18d_Sg-nNPzD7Ez#$z&=b;!d-J2JDc_t!(+$P-_fkkrVg^@ z<=|Pu2b5@vgng4HQI(7vOf5VJW@C&fVVVOJ?X86NHe<}m4W;{UX7fRt*Pw-e5;SYd z)7vx&`h8I!sVA9D`8tfcbA=4jg8i8PLlNyhl=B-a4nf-;Kep`i8F;_;5a*wF3GdGS zfnAAfSXtm-eCxLl>-w$Oj$&jwQoG^2*E&wBIu-acqp2%CpC0LWz_<}5TqUQ7wCfQY zwPQSevNok#wpU=mw^%ktZ!2xxt4OA+C8(mI5f(o?K%Sc4c;6eZvBS^=gdiAQ56|Fh zeLi9JJE@5^M&EEsRW3iqAOkwDaWMWNz?I?haMh}gMeWKbDYJ0WIQJ8KM+~B4oyVD$ z&2nn|T#WSs5B{ub0o=V6%OZUEm_TilI4+N`HauZU&))Z zTznA2Pd$S(DSkNVjuFkgI0KYa1-JN+e0E#KhTgppA)j#=7VOT2mYYN9PMaho7Cxf? z6zWj_bvBv)eC)82?xXw9boy^=3B7yWLizOzV2GO}T_c`-8)%N-Lh}X2Rfo8^Aq{we ziTKb}U_mFeV%feZNc|u@v(jrQbfyVypEFZn*<4_Ihxx;9yCS~j({hT@Sx>DocW~#Z z|8QoP2OH~o1=aN5*Y5TBhaIJ7M6=`)VKH}*-lkfSikY(B|A+!+um#(52T4C*l~*xp1HbK>uzTd!Ta>1NAI0u;Bwv?iz~a+bSUVpa(R}xqzF* zUzwhNGyT_;gv)X^!>t!X>5@QWWa4sYmO0Bt#vjI}Ge(r!=1z}=`OL<$XZUfQ57;aG zL}Tf{Xlee4clvXReeZdL3Bv`a+xC}y*mNmgy-c1KzFG>Sq+*$EMGR-Uv=X%^PN%B+ zzgTp+fd93!h3ktOOmqHD1G&+rtZHf!#mG#j|K@HYi{r-hHzl3M3Y|ai+?D8D8p+M0 z82aZs9F4}rGxc;i82v_I!ahEO{T5%buX7CKD~piU>C(HDaA?|vGB@P0#u~xFv08yvvQ2aIe9*O zi^E~MF}j0s1z{9=b3Yyl?7?M?W=Km$llQP=%%n*;$Lyy=_}hB;9A!k&_h&PG&t?D5 z3%GYjk4x`5H!Ch_Dq@7X7U)xZ~4B`zy z*>g8Uwltt9v{U@LU52#=YXIDg#k%;f;w?E%SR;F#9Ui-dY7gat(aww5_g^rbwng-= zEfg(tDM00`XVA}V0gU(apj`nWRCY*%IHdzL#VDD5Id`7s3yxr+f`~h~C@e4>3{|UT z$l})0x z)BmE1V_Vju?fU>4nY9QOV#h#|m+`@&m zCsLArE#-c=ikFNm>DYKFN^jfcFj_w!bKSR*J9UJVIm_a^q3*eD$ zDrIfd0<%;7SZ*e`cPmf8&oF23-*lSmw_8g`{yCE4YYF^$sE6$x$7p4>;NVb;hqp0- z)Gc(SJ^9g4_In+5e7%Hem-b+b*(ge!m`@__0`^8=&OUf`pQJZ#r^?h5a4#;CR|z~K zI8S&iH?JV8bJ^so;7bpTCZKb#5lqur2HJXO>L&{BGpiU6I_o6|!Ta^t`|@k}LMcMv z#AmUnA$e$SeSkB5kV5kZ2)x=f8(~MhmYs{dz`d2u;?uVs#Z6-}Sc%b5u(KN_?1b0C z<Sr5KU}PEf6J4|n}M1(#3gugq>OZ=H;jsr3^lk1)u!UeQc?*7BM07cEN5ANb3hs zV%$O6*g~jMqe2doWhi>dLAF*&8Vt3gS<1~w!IwOUH1zY(HtGvzTM&l`yMYfX6}a4=?S(AP3VN}1Biz!w%q&86NWR&Xg*)YQlO;;{?{534(cd4A z=M~~4QyDh*%Q>tFih)h0KbcANJ*b!(!(1EBfc2e7_DfNp{T*n-rZw(IL!|*2<{?d0 zTW-?tu~po_j3i24_5wA2#xb4(*~|K?_+H3Po~!JF{GG($^DUoB9sNxO>5Gtwgr$&aDqL84hd$U>vYAoi34?S<9I1>| z(fi2oYYNWsRiin1RXAnCM!Y{~E9sk_hSBHcSwY<&^vpNLbu}a5yLAMGbfjTr!ER`~ z{FO{D=`r40mC1DNW&IXvFvp}!Dr zi7f4uIu#ur2}ky+kebqTvT>{jKO&8nC9$6(px4dtnmE9N1)% zc({Wcg|jt!Whb6k*bMdkno#oY82iH&g4M@^tpj_xY&fZ&$F@fb_kgP`nOEKC!tSnw;r`v?iR%nVuTP#(HJEB!-1wD$ZP?ox zsaOy&oqh3j=e|9W0)M!RFRRt*>aSkB`t&@_eD{L)%911J)F1rE=yE#mmw>g;C()F$ z6moZ4Px2$uxl3=BT)4#}a-1;+;tegQAtd+5?JssZXuy`M6Kz>qwS#^s&HwQl%GOxn#Iam}zcOri|Dz^r5kf4N*4$IWrf? zTD6F(U5wb8#g9-zbF28IK`q{B4yJD&MJQLhik*Ay&CJEhH29V>jqcI{cYP09pCIf; zj3nWBcM{z$$>x_o-iCv!C50sL8C^6awU(0GROK^1Ve zqZpibrJ?4BlcX&8B*rTVedpeXIN)_C$vVv;!~1vHSqVvM8eELLcoXD@><2sPQnY`@ z(CD2&e;#>{HLQOxcq@oIe0_p60J9#p4rwKyJfH96Nt8 z4Ut}g*@vsx?&><6pLqpF1lwc3^>NY1xrw;^N&qwtTg}NA3i-&4Fz7urfjj;;7u{c- zgtDYBZ1UF;?8KkrFu*v40=7S6p*PQBtTzWu0qe2A@&jHsETIL)CA23*;6$HH6TA~~ zAbnU9X6-9O#TO4*#gRxbu1tnP*=CZ^v|{&u_^?x=&9vkDC2rqbA7~FX1LtoV`02tX z7^f48QCStRV2%^4IP1vbUnFtE?rbCbho{+%l6KztP#D%c*Mfb6IPxA^hW2~c(m7s@ zw6c_Ov`!Yv$fd9u3-U;L&U(&Q_EPc{#Y{mf{$DR>H%x*=a z;icR*6@Xl?0_LaD!*0ymOQ-xlZa>9K_uF0!5` zS9Jan#;Q(?gVYUL^z^0-i`!{N8~s1@Rp-~vfHmFu^Cgk z&|}k4I50`LukR~}#y))g-0ue2j7;|4|&nFi^}-v${l!ez=2&{BSo)z4^r>9 zgZPgVQGnoL@>?aMMTSEDUS%zY&yM99e~l-IodEx4S+Js@-7r|~8P2%yg2xR%7!^H& zy49&H<@XB~C*%n|{jAvTnfZ(lt-)&dI9gFKitJR{(P+?lJ}_@K(LYz3@HK?-VU{%a z^aMCFV>3*OZQ}jfw=k2-2Jm(J9MO~B=gdL&6tiu7;44y}rA!f%D|G4Xu@{wlf2 zDX&l>_3$Xz*kwU+dtai)R-yZ%pa|IoTGSKpS9JCEM-<-;;PSprqOcVS@MDk(1$YjqAn(ZPl3b`Zwk_uH-9{ zUt|0mIZXJM3-=Exf^E(^@W|YQJB06BL)(k|*c;6#|5H*Nb-{@bvHXEfjqh;!zj}1e zA3#=?Gg;-Br+EGHN9JvEkhPTRiYK_tk?)lH*p1s^mJ{M9zeWMf^^k?BE65GrwfSLi1xtEWYv6K4R_^Pu8_{^Px^RNlRde3va3>MSWZwc7D zDT#i`Pb7^JeeT4w9henaie78#@#Cj1dsWkJQRt7|TxE4KyD5C@zwh{g&PgCL^PbE! zUO7{pemEXglZJ;DE6MNUNq8J3hd~a_>~)Pl^qjpYYDt%;#*Kvw}h8 zp1@_=U&dSgHiNHcIk@y+5DQA#fdSrYF(&vj3>x}{+v|G}moK&pX?M`jExn z8ko&k-6*b;#fA7sY%Wh|tq4H5Wa+b$3rhk;mL=-RaJrE@cf z;;u#~_F7GiD+?Y$pUcP6cKLBp=YKn0}+D>{dQUr9XU>~{^ge=eu z!TqHPZm$)Y;!!u6+`AD^7Td9$ie)TR=m7qVevAPji@`{_13&#M#E2bpVDRI4F!$Oy zEPKYv;UrAc+D(wb$E!&pI_k~HH6ai)QkKrfpfFp=RG&PWga{BO#&Q-O7k-6 zHT+Ov7vwA#iHrUY5Y?W1gA2}%WG_!BW8gm>@LoHN*L$o(iUvI>T@BU5|9v+;Uj7JWUJl?(3=_QSLUZ`~2#{DcnpYClw7JCV%Sc{1(h1X{6M z2eMFC3KyKKnf23fMXVeYsmP=elX zF9NszsjzF=Iquy32)@#4HCA;e;m@mIdAJz|j~sWxtT1PGYPJWq%jsaIVI|f{)bb}4 zP2hc0IU5`_h1PFKhTFTh80UjM}kb)^2Ii(3V zxtP+t$04+)D2xpZuVp!w%CzKW9FEPNM%!hJ=+}Vl&Zhx%*Snb&-cQ4w z^RKeGEkne4EzuOBc7huc+KJxVt9g@1D>g`e0nXuC@UrrLkWBrDAJ#2}+{HWLXv+b>jw-?1o7=E&e}|`oe1VtUecv zL#I+nMv>rGo69WEALVX5l%QL3OK>Xg6}|p%1K+2-kW!aCVoIxr;ip8wS21B2J$!Ho z+zu~rSRs5LtvM8mFZSNT&{c$WfzkAC!VC!iSBwp#Bf;g{MbWD%ez5e&5w2#xsW3kX zqfM(4*vO{<^HpcUQ=(gadv`hX$}22FLZ^EI>6Y8jj*Hn8DIU%0cO8? zfOnp_GNXU>Ec8whyT4S1zRWm@lX`kkB%8^0tH<%J9jYXA(-7vxZD%i3hS4f*S$ftx zgf zI2W!bv8?q{;2k)xe!?qjZde4sp((u>oEe52=T8N_Zx47EiQ}xM>KGpM+(Dr_ifAKz z=ND`L!Fw-~+3iC)ob~TnLO$;>+p(6h1-o>qFx3ghjCP<);oA`gJ!TiIlfcSxI2>-e z$G+5^!S#F+7wvR|bvwzB$76kZI;6pVM{Wkb(Y}Pc3QX`>vM#%*7sG!SJbzk4hm-V0 zUz~I)9_Q}3$bDL`!**0;u}>HMNyGOOJFtErWv(!zYcHcvugVfWhYzA07dPft^nu;B zJ%zO;>)Dwt$Xu>v<2-Q;F3jp@-h+nI^bzM!S)~jOI?VCsVOc7&p2-gC=#ou-2XC6S zkvZKHQH-SxomZX&uRML>#9R?wE|Y@d;bX}D>L}3pqzgAhp_p_$m7-?lqoVy}?BQ(q zoU1Eg`-<(L;ku5VA4uc9EB~+!$?nX>f#*eTkGTB{Yw+keYtC}2H!S?EL3`9sW6@0) zG*}fv+S>-vbzcvX64)y}3V^FC-@~qt$JzImI`R0Ms^ni$$-K|ipttfUrjsYb?wCyn zTlp)4gj%(PYo(PV$d2p(^5>^c|VjdA%D6wxUMZNltrrQKgd!!{B>8?-G zre9EWSGbp)zTkZ2<@jtH)&C8=$?Z+Jg~7i07~1#=hRVruzw8RI_vA%%_#G@tet3u) zA5Ni`h)sC()d@}`U>=x8m!OQo1>BiEOW^GL(*#*1_V%kLwfd!z%lh49Fk(%8_Ks{} z@2x~5M~%uvTu^hyvbe(6I(pIyHSXS)O{$GUUgBpSlWb zjdsJK(-RmpMx&ncX>nEWM{dp97_6Co5V*(5Y=gm5fybpp`Zx>Hyd=m!(S;0dmxyc^ zJJ7*?T~_MvgqD>_^gbeqopgV|TThz7VsB>Sqqa4)XHqqY{|b!WEyHo#A}Nwd4WPH( zBHs1fC2q>ZW^T_(EzqmU;o_GD5SCsLKVB}PDJK^|?SHbUKU{X#*%~#l-M`gIBOpj8mUvW=2d_r5fxhQ{F9p)5_0o|rEaCi0@ z_WNiazp~g7RiEF%Pewb)yhs(PDw`z)DzV<*)ws#b3?)M>XoIpjdd83EdKNhI$*V8o zFKrnXZ?YUZ`?J^x`!c>ZI-JR$J`JXh$*8c)ml7unuA1!*JxO~hB&RRmZ{?*Q8 z-uqOML!XB_Wz-Cy({bJ?KVN|sj&Y+m2P`@3Hz|<(-%VuOx3hS2Tk`9dq>iHHc%ynP zu2E;8p<2Q_&uc>Gjl1C-SII-n559r>!QEbBjc4bo!PvLPoYRzQ&VH#6+j72voiI0} z7qYt4`PCb%o+U!3@npJS!qGJM4ba*pjSskXwCEK6mv(OfD9?Ze5#{Klkbx%>_v546 z(bz35!WvzFkTqG1^W58*-bo>MpmLUfa9oLWWvuarvITu~Fo7=L7fkW_d^9eakAEUd znVU)!+rRBT*qs`M`CFIpN1HeCI{U{k#qer2`qx8TI&L_u@V>{)7UiRxt^*l6G-1hv zV{Gj0p)gElBc%HO6l)%zC{k=ugwi2pu*x!zC5FrJb4%=jl?pxTy(2)PR)ym3>f)QE z&*F;caF}Co5-Vzyp?FLx6`j4#XPbRwcbslwoAOC0@EAfvM5Acf#{+O~*Go~iScxhv zJ8^Jj7>8DaNW@I%8c3{ zt;4ieA90-1YF^uhqt=TGG+f$*`zQ4HKHNLaom%r0Thd#Y@f8#Mr!yC#UBh4Q)8Thm zrR+&oi(Yd%R|dlDtPx_}um~1BTZ8sZm!#0_81~mj@aR5`Cc{(2F zkG8<~=eNV;a4Rs29|E!#clfT8W#WfUKkL_?8H-QQ0D7bcqubPtZ2#>}+&yZMX#7hl zHgB~s8ya8(&lV5iQdI;#R>KH#brHHU2Oskq=SI>kfuVTjrao!;{9uHej?^&$8 z`J9layTVL=gyFVKo`2_coRtb0>w@&Z%+t@0-ETVJFhA3p2Jg5jl2d9G7)d4UPvAUE zzZA)9joF8blL0G*d8vc!F>d>$lbAGc36@*v!rJ9W(0S`zsM|Y%+qSM3)2&o#d0PVv zX}-WGW{(xT<%jT^j1l$x$c188TWoN-E@mO)!E}}#R;AhC++{0JP4Xn0yXuZ8T=^a* zEtW%_KSH16S}7M$m=CUQ8`#fRLicW+EBQ~pil;5|(6{0~YtUYRs$0&(g;SHLwO|+I zefPy7V~m7ZQz^~&{f}9h_A;ESlrZpNfy#RUP3{JvtS&mHmV;dWO%@I;N*1^5r=}}_m&E!BB1mlREMieyoIHrZ(VH{ zw}wN!o*gCMnE`9>qza6V>746qEqarnOU-en^judOUoPH&4$H@hN`*6jJ}F@3GX+W= zX2s4uH=(*ZUvw)yg?+;8bI8Y1e0(?-Dn}I5iyn`HK=WMGl!&K^*CpwIP9SO4w&Rfy zb@H$s!xri%;*5ElF|9L>#!u(qUBp6~ZaacbU26hObulFU$%csHZe06Ja6p`prxh>f z;LqEF>u|IMJC=2^f_Z5f#B=t$D*g|5z{GfX{6YNDdhX_yq# z&&Jpl z&Mjtmb5A-B-?$PI_wL{RPTyW&m~pXAAXW;?t8I~K41e2Pc3Gw|hS!6B;UBlxQpaH(5&2vibx=z35G_ov&| z)0!m$XK^=Q>K9ADXKaL1rYos!RxxbdS^^0he~W+d2jNzP4owIYW}JBd_hO~!$>MZ) zaoK=m%*Vsc)^jW*rz(1ZqCYz42hf4OsH-7`$u})xHCr8oGZ|~7aV4YQ*A4$8PM6%-X zhtamlSsXll58eA$1*)yD_&)-JUS8n$J(uU`fYl7zba1|CL!T5(tDeF7qP3{CFPD!o z90*D2Gr`8O3u|LEVVI`{TgmpZ?&fgXUmC{Fk4wjvd*);rGMK*Vjidz@F?0lSSf!FS zJxNlbwEKu=C0@&}g{lffO?z8xd$C79H|$#mbN20wT@;eX5jgX%ht zejgo6+ZxwmX3GHFe)tb^;pMC|Sb`FpJb33>iJaTcezedU3`fo5K;3Q(crD>r!tHdf zdHih9`ZJ0txT*7pwe?_74WinCPLX?Y9nOrJK*d%E;F*0gTUAkwqg_v-&97l>bi^vo z#pEMfvMQSR)DbXocrcq65(Tx@$f*?p-HjzKOgkC23GUH9nX)KWc!%Dj#xo}$b6Ogu z1CRoW68Z?A`Ep%Fs>#aW)jYPt4LgQ!ulA#HXf~qn5pessisr^n0X9Vw9#vdoHG&aJ zv1la?>`}t4n?fOY_I@mgjAPsX1PcKwz@My+yKqesZ%nbo{#twVJ1QL?3P0NPp2rpURcWlnNn9D@01i_^*~Y@@xIHr)S{yy; z)~2;|QL2r#j_c&_?-|J|?j6JV0!zp8;B_{j#KU3z>_+}ccMRGuQpFBd&!%2h6tb9g zd~x_`=GvFXHV*)L(6@(9XZ~Pr=X3;DYC2t;d<#!1orRr^0eqB=G}vgXQm=>b{@eOuLNn)+sP+zAkNVPNa41MzFa%jJ>^elf81|P-n0g_fmH~Gym#|Z*Dhm zBiCl(we(rs)4NfE3*sl2zEzTbh7O^r8J1*N-iQkY$C1xLbvE@p2VIU8EM%)IdEPOk zK^~Q&XTGu2CSwcI!913YFooG64zxP^F#9H)%d0wn<5A10R9EQ4X2&E@r1EJzp&Lk@ z)w$sRyN2G0a$s52133M4KlYf&!5FEx+_9)4_M^KDh7Ob@JMm_=^GF*kH<>G*QX=@i zV{>rEF`i|no6`DgAuytBH!L2ulwE<%)TEb?UeSQ>gGqXo{< z5%H7L4;a(XqQ7g8F)6ZyEd~ZO^Yd-?--S|`oG^s5kGG->)5Q?6IF0&5?YMKO7aWP7 zhWc8HG@{6uYJP-sqV`cValk-4Za92w*h44J(IS~J#^fWtU{mQuF2?R38$G$1?-4jqQI@iF_W65GxNX>xELW<$J_BN-lbD2t zh>q&ifoPNq?6RDOk4C1G+i4*K5_l9Bzuk)>$fHxO3D~;N5_D>0NTpPnEt1;+30vmj z@1iU4L2C#kt9<8ooNZ*EC#3SaJq}F$RU#;FKaJ7@chbDMuJE(tBC1s_#kT*puz}_B zv@y{TR&H_ta}!tYxnUUVeAmi;h7LwY>tk&5a9j4=Z$7ET8Ia8%5qCjXif+mTVche< zG_p94&D6|>>L;5aXtg<=8yU|y({zf@F6Q6A;`lFjbYNG9mhjH)%y(w1f#1+!^lXnj zMMl~4mrrIfrSl1RXXRXQ{-KRiq6bm2)_i(@GK2ISZE3u~fWI!vVJim;+}aTvuv~0K z104pFe|iL5>8lW1|J}!KuYJQ_d;uW?FNta|JfSKrgf@=Uq=1tiG-3V>HfM}7#do=J z7lNiy>9KfB8vlaRc-9CIC`*ry+p(~BlB_rGEIZ_T4l{cC_}9B4*dTp1{CHsqL|lJ~ zBS%Y6Oorf5GBoB!uO7*k{gk0evGHKhvW8xjjDpENwJ_MY1cyhSuByqH~lIzq^vB(b*rXF++24C!R7h4e`Wpy~5}%yWf1 zjase;2B!-7fHMx%Z7V{DR6|Idr%UaNmkPYm8ce#gpSRVPNBNMCeCM??AzQTo-vmx4 zPEikCMVA(-NbH?~#>5d{cE-QdvwQw-J6THU(MTar*;W*+Z$ zM+1`0GD)nynZKR!6uXD{bCnl^@%!+0TvREr7w23-H`lXR<(dO$_btIVi*(lG1~9C^ zktSX|4|k6b6QBNjgI!m=#60iYu_H@=3^SkBAY*x`mMCP(7OO@PkRNZ$qQoMs(uZQ1skh z%AO3FMr*vin8QE@cXzh%_w6#+m$oo^`6`^mkjSLhDwF!y^Elv49wx}>GyPRc5PGqd zP0%<*n`1^{-Ho$Yvb+l=$F75O3uPSQW`t4k7&WSU_#QM5G_&`{0r2UhG3#NO4{ zSh?K<%m_o4pOT66A(Y>@dorxns)LCwld<#9R(7e~gi;3z%*d*({LzE+*@s(8gw9e4 zCJWhJ-N)tdL-I9qKK{!7wYDK`i#kNtbzv6 zf1$T@r0oLNv`?6&w7K(dH@xPZflR|L&U4;D)^$wy zea85Kez^+d77rk$kKkM>NxDmFRtU87d9_eq=F%%DJ^I(#ynJD+I}3~ z_&8AT!FP%mJ7w@`c7k_~>47&d3k@?zQugQ3?1StD^foGlXL}D&PIMhwi6tl~)r4vv zd$MBb5BRc8fm+@l=0<-VNS_LRaog4td>dN`3MbNpeZv}Nb4UZ~-wlAuhX$k`IfX6D zH)q`&M6_SB1oU65B;9K%xLkG>sns^{AsfE33A#ble{vS&oRY;69nrj^nl+Vm%aFKi zGhEu^N%lgXWb#GRK+@e<;{PL+ZD~0U-ASUwLSdu;mKUUJP9yyiD&Ou&VwUC)tJ0E3$*_( z#PX}}kY1QNd~+O64L#GK&QJ!s4jyAuKP|=m2O7Ec>&>bD9rB_X6LGDJG234^kYCp4 z%>wtn=1eEehQ8x};PDU_+~+eHRnN>8_yh4=c6|XjRL|!psb}MiDR0==J3F{kb7cx~ z7zK~Fo`eXkqx|pqwfIMHNVTe-#IN&(5`pb}Tz9@uTffQolsrwZ z)x{lN3s_D`9~PJy;De8w;70d7bZ#p_f1%?srF;UM5_&ZKf>&5$@JjxV%W?KqYXVHs zUP==MmPq&^1`PtoV|{&|c;z1p{?FW#Z1uTrR=sO9ONnm9h-s&Bt5}_)sfyQ+ImEK1 z+n6k04;HIq!CqdUSzOa4MeALxsLPz1Rwi*?4T5*rzYEl2_i;BPw_xlRADq8@Dmk6g zqn+mU{K&#$@}j$9|>QS+<&reizUHV>h(zyUWd0|HAs$9bsQ* zK4X^NmpBt)H>O&@0Z)Ax1b(jJg{Cp_ z3PyR`3vqDGG8#2giCtQ%PcieKu*Pe9>CZ6<@*ee!?a^K%oS(jUX7LzWG}4ofU-jS? zUY!65OV_dDf_7GSItpj52qKA+?|6pI;1}csGn33RfpwjY*Z&H+V_yqO{&y4YmxR&A zW<5#_wga6rPfgCB5Lj!g|(Nh=kvbCp5Ac-dJJaNb-*pF(yJZ2iXNn9ZjHC#F-_ z)zf^9j}NL$2_lo3x@6oZoJr9h@GEXB#_*L(Y|@~GSJWxNA(h>Hb_hLAMDXI!QQRY|a}aYNgdUHM z%TFw{YM$&ze)@hDhkx0vZ}mZN7Km$CFyI&^tr6T~L%7ombYL7;FZjlUo<%yqo>Fxh9pK8w4w(ZJE?I;9 z=t=bGmo>A|uw$kvhV>(OC2I4xXJ^F8;;5t>jJxrZ>pM`0j>Dg@3#A3{%u0+m`>be` znrw!j$qnw4Rl}A#2#tC5np)i z%0gNlAiJxBEqfqE&7=uqN;|M1ITvLsBFW~HDFtdvKxS?TlUKB)%&P)BGhilWm_`71 zUm7$t8*%GUqyPJVWMM`eS>reR!M=kzJJl;!CnfFT@0Hil8~b| zj=MD!)` zYgZ@1Wy#6JrrFWF^X^m|v5pP+EV!By=8=|20;Q$=*umrxWZiKXGMfftdB{Z;(XoVm z8tlrxuQUP4Sv$c}`VWS@oD6y`+3Z(<8S{B`nN`m77T>Z?V)kp|>2vfx7sG?{jVux7qt-C-x;1Mmoq#D9Z9rz&Yk?jAfHiuW!sm4l(4<5i{wU;&+#Bqu zy(gP}e6x?=6g+_MiJHp3Zt;WLPx|Xa0^;#^`&E?6wV=7e@A>(-D?i4}k@nn(f$yg$ z^39dMq0jdR81e!~eik#OY6&v<hc~M>XhSq1BX43rVD=_a&9jV&}?%j znw8ax(E)m_yX6jCRQ)0zd)kHe?yker>r2V$#c;ef=ol?MaS2y{Zos;M!d>Yhu#HpO zaarY5>U(=k^xasS(_1ry_MLjlzN|{+UhfIww>;TKsk_tJvFrEQk25Pl^Jy1THSfcD zv2XB%IL$u(5;G_6t#?;b2vKed{ z=*kVCS+egy?d4uN5^RhuEsaPH8GQ-@{H(cVLWFu&7GV)b8zuhZER4?#$~;U!h1v;_w|c8sVhbB5gqyL z$mhxQKaS4C9jo?h!zhuWP?Q(Zpa>a~Vc*LTsYsG2(nwK4r9!1BVHWT$Y!qvH4P!>Fg%z%=Qmav z8*YatwI^I@nUJ}D8HpklGN9B{M2;6yg!i~3OOh=VSl2TsZ&w^S_r)=vrMuZ28=l|t zUf@*6NJDP>T!x;LXrsYdW)hgm_Il4^s}q+|^eT>SJlBP7(>8L;50;{JWh%Z+Jcjct z3}Hg0z(cT_2aacapw8EpUA37+tL-`VWvQ^2k`kEemdE%7H@`58VLA|=IEV$14M#32 z6Zi62mDc5z{8Kv>nj?FS+4~J=*~Pm?MvDf5aY&J6i)T z&DIcR9l`fMaUkh4?q+(LgLubk9e;M2Gc4&+;6g0JsPn;gS{ZGQn^WdjeG)p+UK$ex zPx)m|)@cvijU0+!d!%tu`&GV&9}P=|vzWZ11svFO0c$Uwg0FV2RdZUWK;SkXs5q=g z#;&exw^A=&u@tA#C0(qndLG1{|BV52HVOXEeLQEm6IQIwW^yC1^eQj zDSqgD{XE&%K@F1jl#opa&kO$v4CpP3G?5Or!eQOP``zM>jnc<~zNR{sMv28OXlKSjYGJr|5PCsOhVpd;B8EHO+2yjndl zeZy^b@82pGQ8ymG{Hx$T2fkoVE|2(6Cns`)k}vsxVv!*6I2mY494N`fWB5-A*x-4Z z-BGcooxXVO_HG$XeKeC4T@Uk`lR{DXzAfEJloFo71E{S3jPG>NAdQVB z@McyEJ27)BWDg04^UrU=_P0Feq`MIA$X#QZBPR>bw|1~H8xGUg$H0}gIrKL$gE_5o zr#;$Jpm0oWRd4ijd^J;xf4R~ZTSggS$BPzpo}9^@TRxB1h(5`Zwi;ILXwHYk3O5S; zw+}YkX@RKBJ6`5*B*h#{Bx&s*nE$LD__|1=pV%^+c|{eln_cywl+=hjW9yI`o6D>2%4dmn26Sqi8&s^^CAhdZ!(96!RwFQ` z;s+DKm!ARQD)MAJNr7GNyv^Sz>%l&IAj!28@P(2$&l{ycl|d;t{-Y7u$Bv^v;}c80!+Kj$0#f8+A8d&o84 z0Jf`%5GNvBvaYz%*J~Fck#*?MD^+!W_*l5U;U3={5rXF` z;u!C`7-bT(u(Mu`QXeO=H*g&-XXk>?aXV@@@L=!X-r@ACGE5`K9byj)8GYTnk={$H zqN&75Hq~d4eGGWd3N9?8q%Q|BAt(elX^f{X?Tu96AF(;^U;%}qi>CuiDpeKYz?n!(aW%R=BGge&Md#r{J8k)8UD!BuQmP@an>SvvS2UI(#7nUz9fE9QPT_ zY{f#p!bgRR{_KKk?`&BAghMc@wiKTH78p?#sW{U!7Ju~ZX5Y8Yr%5JnFxw&l)UzZ6 zKgBVyd!EONQUos2v5nB%KMk`K7E|nlEb336NNRin^m_;y_moVqSQ3S%`!D0duT>cD z-p0h<3U28Kr(wN%Ih%S`ht{;H0hgPF=QbnK%s7le9cFaiir#dmB009>xkgcJ@GGXV zfzRNchC3TkCQIM9)ZjiQM;iyO!Jfcs+++Cy?a!p}qDyk%T)`fw5SZ>6g}=G@-cB~< z#D6r)z5ztePNn+|TVdytT<&N8Y6=^bifdMe0a|I(nal5m8RI0vv6Glw<1-YuQKWN= zDyv-fCqi_T80%|Hf#mxW*`6=PANsEBOh7Q#_IzoCBY6-8@BzSlEH}`?aXn^C!1X*nzbiwE$C7DfW)7 zrhvN{v?|3G;=Ekgiu`cc;G_r@A2XrFy$f%83E$mqQ7Ch43e0Sjpx2!@7>qQdzu#Zr z*`+pocvvB-xcx!pEe`m~c{&^O@G&IqpMn!^q>-*#4ZFGV5X_P}12ga1lZ)Yd{;R(| zT~bIu%jqR-o~d6ov*J=pc|6=sZZw`TXQL% zzg@JHq$j4sWuu|y0~z1ZKBR#3+jqh0zG&Fh{F7PjxexAR<3Q8yFT0VlANvD+p!KyB z$)x%*C|xZ0bsgEG_(~i!|H|=Lg7S4Q*=?~T=IU4sHTO@Mom|gjx?KzyW*nh*ha|k; zw-1kv=;CfDji;XEHz;nF1#8#5#q>8jv1Q6yUh~a(TCql+{j_?(EVt?6QV(4kFxLg~ zu!}e=p^~-=vpW@CAvaOs13|5)sa#5(PL8RddW*AkW4;UQ)3BxCUwT>2%QLKd&qg|X z3gE9fu(y3_>_g@(2ncm$=Wc9e2Mi{%%rhh4q2TIKQi-7J{A_UXbOyKAui5G4RdCGo z5yr+oC0EB|w5=wU@$-d#)yh1G6yDR4Vc{5Q9s+-16mXjc3uND7R*^NA38bghDJnkJ? z#odjvBeAm?&_56X^R&~zc3%yc%sGG)PkqP3mu6E^@?oJfZ3Le;7MRvf(xrXZhrqP{ zP@F-kaOYn*1QeM=!L1hb>qhoX>ITc)bGK?EFAeEskHPljH{5;0o9tv`P(xXRrhSu# zbd6@>#>dbEe?!zcZ3%ydU4`WjOklxp4;bcUL|zI;^wKGu4mvz$kDiOeUDrhJiN!6f zQ}0Dvn=`P&V;;O7zlOeTx1-pJkFeLH1ut!JCg-fH{FK@zJhJ?+FjH;juT_=N)6lhG zI$fVa9HSt+p@@x(%c3#?^S(a044?gx0KPN{9H(`#)DITip%;Pt$GR{YZP+2q(H4QY z=61|#2!_WeGx1$M!VHPC*fPP32{SkB`8k5xJnB(zR5Cv?>nQX|ub|TOm%RM60JvfF zm9_Scr3<$Y=NyfJ@6dEEBnb&k7$7~J9^D|KeC{-zbmO~M*=Tj)`to**P!o# z7fHo`<&5nF-`D91JTSew>bJ;bo-?w?1n=kUoY5qz8mmtwVaA|esKXAvxDKlaHsi;J z>3HWYPbSJ|*&gft^yIH6wFT$07x4ykp^>NgF=ye`Fm-SdGI2Nln_N9~oGjfRo(5CD zID$o72b0hdAtQ%2PH9va%+6ZNnN2>*t%^!F9Ts3q8MjZt%gLvp=SL#^>2?6MeO~a< zxgVE!`;hv{Cf<0D1%FbAK{@TRqxO*h=zG{`kiAfgAKs-hD+_mcWaLYtbB?hwr}qda z;sX?C*us+T*1#fuD%~0?@Q1r+z*YB^G{(3ND)WC}!oo~?xqB8&^vN>4F#RGIVj4kO zV!FJVgr2EF5U`HcAeijX%oiMVV~g5nnKnri+DYVc(4|hY%Wje77!_FRb&q*EXYeZe zAe|4M%{ zDDu@tNSxZq)kYLDkFU4E?EVHiRTc;vKHjJrnedTClP_wkAluWH1s@|lSf&{xx?=$< zzIhn%XeBLfaiM{=E-*{hfRuW@sLy07dL8D#w%{b+8?l&w=6I7?=?ZiI0BxK-Mgi=l z_kpJAWEQaMEe4-`4@2Gx&Vsp;(5jR}o8>RVUl}2*o2mpqi`LVv=vY>9oIwB0Sa{Z> zNui%!a+7`+;~ks-u{CwUFkA`5wd^rs=Q#?{842OJQ;Dm{hP>N%Q8BX!4P%t6heXc; z_fL-@{*x76scXbV2Jw9S`D*AtaDl3gJt)UYlV6`!&O{q>=->zwGlhTKVBG5{YIeGc z&;0s9<5&k1d;Ag14R276%t*SjC;}Qo4^pq-kbe5Wj)kO3fnB&E*=b0i(}~0Eo}muO zDeZ@Bf!$ns_yC{OS%9lU-OMg8I*;FEesim&Yna-HOn$*aRnF(8kV$@LN)=?^NL*B z+XPMymCZ$WT!D9|B`MW%A@IR1xa!3tG@I|i_`jFwSzSq0-}$R(_j{kfj#FXVR&{b4 zHfN!k;OFRy9|n?>kH8fLYm%vUBUz<|Mw~ zXmktt67lMHrSpIf6(wcie@cuDgGEE#$Yz-+=h3y8U9i%i=Cw-nosSTDOKn`R#$NIi zvR%iDCJ9`e1bQ5-h^q<@LCU^bJYEwFp=lQ|RkaCbH8^6(n$x76vH+AXKSz;+O-%f! zIJ&Hqg;&=$gPUy*c?cZVt^tnPPkq2y*9NQjTQ#J&%?XR&=|lD3SKQsb6%=U17!8Jz zLq`Dpn){yXIhRQ@WRB5@mZPY5lfh=KecXYb$Ee?!M5XO-S#In<)L!%!4{ofX|4fgu zb#EWAh7Hef(BK+wI&+qGR}LjyA^7s(CKV-)S;^H6KM!*V-_- zjwSSLVFJ?-m?OIa52M)W-MGeNC3JVT_?j@mXr&5w-Fz3cM-&ftwvGP^uQv%h>BBVsPj!ClbNat#m2K}==EeWl2WGWe?{rT>r~wH zMT^?sonmqCCgc5`qiAoC8hqFy39NTNu8u0BiNAK!c8AM!r!9q3)|O^Z1Lx60PkAW$ z7|Xq_5cu9-wMlVO9IWmrM8$+|Cj0p=krLh&Xb(H0|l3W3-I>uSWnAg zk_b6M^+I=l#4RP#o~;KuV#|ddwTbB`g&O83?1H*_h7+H~=(Cn8&D0!0A@iny(d0UK zxmM8B3LVnDFYO`xlnc0-Do6qbCDT~gf19Io6&sZHt>ePAE7 z1?17W&a<$0az7sXbOy|44WW^4ui4gr8T_^iE!-*m9 z)<2j*Ix$mev9O!rBD&cZdudi_)W<@e#(`7cee4?}hv5^K(mfkmPJEBHpDZP6CAN~o>fv4w{VRF|<2sEDo4^K$3@UqJiBvZ&V>O6w!-%GjCaXDze zquFd)o*ntEu%U<1y0o;#fqtYNCclG<{K&9Gy1Z#W{kG18hkJ6_1M{)4{PQsKv7N_V zy>^9{8+Q~Xi)86+ZYMwb!AzoC9C3rQNl7n&?#@o-Cr;3#bH)nbblMX(41HJSldvE9 zi{kiQbFFCn(sS5Z7X;D2Gr?*@9jhBZ5l;F|p^6(z!Bk@u1%F38QoD@xblNlLHHPqd ziooX;kArJpa^db#c?b*`M~k|r(V_Aw@L4Q}bp$Mi+f$#g@e(2+UtSNs3N~mq;~<~u z^Mn$*ZeU)>X;hnyV6-idrsddCOtLHW+Gsmg>eFv88Ok;`PB;n@wEd151 zQ58CMGxdJ@3wdnmLVC}E0<$}I6#GVknr1HSEc{6Ft!U#}uRimda`#9e5J$w21J=?M^nugbY!+9?R z7SWj)S~%klAi98iOl7IaQON2hpXAzi_#u5e%A$ z(2}BAL^+A@aC8W}HQ@`U@h34@R1B`(UqwG|i?R{N!>B%~Q1If`vbo|z$iZb5&07?N zakUu~ypxgD%w?eP&(CbNQ6H$kybpu>g>&dH3F`YLPOI-}&?N70KJUl?(-?OGg99$n zr19#s*ja@=Grfs-;#R^aS$nG7>`YF^(m2XlhAjzSL_XCb)uumU*}TF>G->I2(kM6t zB`b!*(L2)Yd-xb$-K!bBUQM8uO~k&8)1ya|_rucQ7(DvuCWKCPqHTdm=pOP3_5CAR z&aYccwKoBzE=177Kk<;*k;lo>799PspG8ZBGu^6Seq;VoGzbi*N96};@Or#_y$O z)fWz<;*CnWJ9i#wUw*+g1@|(MZ3|)8-$8EtF>T7*vedH`}(>*L7o#~NbSr?Ig|_QO}TFt)_9fCZ{?G+W@uN=)!Xzg|Eu0;DN;T`(Gr(|~-ZN`CKj zRqC!)72bJz^xIQ|E?>>XFrzD++@IwjG29PJRMt?Qu08xZKa$S16;W-r5(SN1MD>#x znZ6MCukUuluZ~G1)f7iH?zXJgEsi{e&(2QpV-ItbgB^RU>AU$pFfTepX~XJKrtk># zuiM1zD!nKts)EI6$xw@xA#Pf7jeNvEv&$&-3jTGn24Th*WTZ}y2isA(*V*jUmJB%9 z_={~87=>$`HOO~r7#)<-V_c^n?AnpSln->XtYxMA6Za-wMP7{Z=M=NaQv31chY0Ro zP8tnY@WVGh=965v75TSsff@I+XhN7jSub5j5qsxQr)>dwwJ4ZBxfhGKH>BZ!+df1g zXX#dV4fc=wZI*R?7)%Tp4S8EWaJkQJagP2r0;~5Z%DcYC9wSHcN%;ZS3NOIvSPlB? zZeO`-qanPLcHh>6iPMX;LF!NEKdD4z1VsJR=AG= zOVuJ)J9r&ygI9sWQ{kO+*@>pCS_9G5qiE^QI`mq;0w4boHNR(&BFu^6q0d~B7PT9QHt$K{{bfU&E!;f4QraP-M$4ktsXMshTqGv5zfnvD6>uQK$j`wNCl*u;Vi z+iBL;-~49!iEi`dK*c+V6^~v+uXA2iE%e?4u2Y1aS$_lzt4?Bb1;=T|jDx7KX9P?? z7mA+*N8|E0iu7^r7&?Ev7xxSw0`lhDVa%QXzs)sMP&0rjq zgVC1?JXoI2;zOcv=6D@gsM(Hz{ugxqNIVhG-8#YDFnLcQ8Ud@oVWCP=Pj4`Z~+{zX0RaC2j} z-b3kc_&091*Gp#bClwctcY`gfzhPFHC>A)&LGPgmiq03sH3$1}acej&;qux3E3wor zr4J95j$v`fSCjc{H@5ntCGfH8?9czsmUU_%yLB2ixEaFF4Lz7~MA&O-x8fKNf7U%z zn-2V24NpANp+GhWr`)h(eG_`BnsbHohuKK_vEPlRfA7YCbORXO77K|tEm>La3K+0o zf$i=G@QCzI{@a>C6gQ3``EOaU^?(+nEf!d_7Vr53yChh^iis5H`K0Q}l{9=4Ujvu7 z6yVdLSHN$5HQTam2OQpM1G7VZvuzi<@WqKq@QA;N%Zn^%TD1aYN(lTT;}e`s=n1&_ za~M6*I>!t?FQEhndGxTXV&bq7yE{zqblyC+vOK%0wA6*BxsRj-r7va=oHd|*cnzE0 zpTk;{DA+!)!?l0p==~dQs+Or`lSltx7WZ^0ZJ7v3{dkJ{FV3Q=;3*h*5Y7Ij zKM{I%PdV*OAF5){*}#l*_+2KHDOe}6Y;+?|A+{@iC~)39gj~R$Kh_*6K3u& zyZN_KSJ~_{B$A zT@V;@Qq*!{0h_frlLe%f!{`z~zR8f&IX#i%C9O$zh&A5pQG~POMQG0H%Ut=3dCV+l z9ljl?M$f_^dg-tb!{434k0*sQOP>P_KWhPWLIWlU@7_h3hAeCMXj0peZ>BkvW18nL zvY^ma{KsEINh9|r3#zu@wavnDa6uSa7Y_36LZ<8LrZk!}Z72)VIL5098LPHM?lcg6 zgnK$g1k(5HWuaRZq3DJp_8@5(clt~dC@l2__cbn1bT0}k4(-N!ho?j3nqt8X7Y@~@ zBf&!FFdsa72>zHknZj>u0I98Nf;T!6$KKZi%M)&(uDu$M7YO>ZYvyP@Za7}=FrYtW zS9laWSI^`R!<@${oQlx%l#kGZEfo%=C-iAv2gHDxUpPNv$4*|-rjQE496)rc2e`od7ewc+(M+-DW!iXEBX^=W(Lha(Zn%g%($9koH`AD*Z4LL==Vn z_L&F#9M5UgRvHbSHx*g>`jafQyi{P06~cu66|f><8_7forDMfp+8j{ES}B9exGO_D z6vlJoR3^}lpQyUEy*Ng(A&zH)Uf|IDjX=q$q&S6|158KH!PC5P#DOx zrE+554ne^8G(50+J^eTKp4pE392^=SN1uwa*!;L;=w9i-)#`=uf`N_E~1rtSvV9{q{Ld%~%XYU4)(E4?|dzP%kiCrjt>q zCp=lc1S+HNqgbmn%bs`*Z|s}SmPVC>T4_8B61+uDo1^jL2cZuvH35bms>Kyuo!lhJ zB&yTlXw2YlCTm%b&%287;XEUX|G5vUA8KNQ$3u2~XBc#fIZ;MKHK%R4jQtqg57*2t zqHu(dg^!lt&1^MXr`5yMDkRYkLZ{oKDYnjwRc{ay;1(PbYpX zV*1{#%(%mzGOCl{OhhT&y57W1Pfh^a^|Q@_C1b#Uu^ne1_mSPZavk0tILWn2z2@hJ z$T89Ddb~!~Y0MU>VOfj);h*5S*zKFgcR%=wGq;{Vb1iMU?HdVw&|g`xpp1>4sR46W zSdvtMIxO4iM;5OwxGtT`tU&8rl|y1aubA2wQCj-` z1naCAK?CdN(&X4y&UB?YRK-1jvq6v8oPikL`d%{Z{4fny`2u|GodS8Tt$0P~dru88 z0Mn^{Fl$deHzsHzA7YzC3ff1wmP|>E8G4w#_BV%A^5Pt{PSFL~x_|8a{S>a(^&WPyU##5PihYk1d~Kr}xiY0Yc+f|b z+OOVbNg75F`6`HY%Kqc$TA#wc_j#ORVI}MJRpxJeXccDbqv=YK74B+iWbU>u@Zei4 zm{yKM(FbPmait-P;^=zT6E5O@1haczgN-@!=~LlTuabeQeVU&=0=JVv%7O>z7u5sD!(c#wV@lP4vyP`JY+UTM<$ z>5oyNONI`3)#K!hP9bw-3C*o1!R^`(8eeQnFZ+IBh1DglTiKucHexZ2F8U9~q>qKf zf(RHsn#?+_IsR9&DK3AX&D^q{k@K8Hph$rU?qvW^Z`WbTJHgqxYbCZlc!NLn7lY~W zaQNA_3O)rC@wsWSAZvN3(!Tc&^A~1~S2g8m!KRtC_FNl2pLv9<9&e5zei~F~d>8{2 zo(Nr~qZpJBfm<3CNOe;KTei}hpG^|eID+kzX{fjuD^QdwyC#=rfa7%y{KyReLNjJ*2nOfBmMAa z%vl<>a3pN|t4JHHJ8+kI92m@+4BoECnEvZXsy`IXM%i_-kx^TqtizwxzwN+Z|Hg75 zV{!n+kCWSaZ@MNtw`Up1gN=L)EZ@qrWg@#xkM0q&w3CLB%b(x4Zq-a+E0#hpi3-nI zc`yu%rTZdn=)YKS9eQsk3+ZH-2O_Yi+mW^P2pJ~xGUnj0ky%zh=k?A9(PH_(%*~>k zy&n_AJHOdTZIhy4*rN$%(tfi^QgVrq`!R*`6`RoHo)#=wKaKFV;Kn;}koL~)IiB;H*VE=l)aU0$yp zOV5I4pi@)}&J8+m+GhWcdELDUZY62Req;*XcuQ*E6irSWoKRbjgW_tzrTjRFKlU@8 z-x}(`GNneq{F*P2c!%MV${1EtnpipFXE{GbXBQq%-A~B}Uop2aw<}X6_jBmp!e+JR zph$=|lyQ07mNyQl@;nW`pfK0Jpf2p&ML{=w6lKb*!;0v|D72dKn81iCw+LhQe`N&@ zkrrswY@)a`tryrel?_m0rUo|e zQmJmz2Y%X+o%k^IGdEBXNgD3!*aMp{yvDSjP&V@fHEAPD@2kNaqA&sUCb&{&Vs+v zG7vc#Px1pXB=N<9O4{~PY?m!BaKp)Ixg6Y(eOEQ|jc_)9r-pCF$qZT`Xj+L@TPRjSaU z{z=rbOK^*%ce6h?zw&zpFGP&cpM8{*1i3BFmC+}J=NI=_=#7kIN4kIGZnFdQ;%Ww* z%{8Z6!B((VItF7c;vp_>GyD^Jd{KD?%yh5`HJ9$B%~4G(EQ5pGv@N*O(GZ$c=fG<> zG4dDFp|hG7a7yM_uof8euil(v;zvKT&R}U6ViSv>6-Sce3VAA@c!F06u)yH~mbBuB z;KGy{j$PLUhQ9a{xHH9xnl;yuT}}*0cuGT1xIUEhTmrrarhnEMqzUO@-T&=F($fr#i#*Czf3<1Iyc+ z;LNMhytb}2)#>SA`o|qOP}zz)<`YT2?gB~}NpN!q!i*KqZh`iTv9!TJmXbqv!l;k` zxOI!p&_f?dyx~5aoosi*?c&>b(H1Qet<;Zv!QAEaK<^YcvBQr(5Bvm|2JYY4tUJ}bMb>i8RmFaly@B}!sFq$ znnFo=RbceYp8%47Jt0hdEqgz7HC}uXX6EV?OQEvENc7xy{*%aXEWR6q z9xIjT>V7}&($;qF!eb*ac_2$-rvZ(nD)6;PDk{m(pmc9h@DqG{?OUt)v0Iiwptb|% zN{(Zy7arkkHc#zT41JQv3vhrwS?yaG) zP}!fIDjEubW)?71=K_1oC()wW`Y<{8C+>~upvmW_;rK`c`gt)A>xTHjqEpwgc69OZ>WgOn(-g}NV_r9>uo>8c!A;m?*BzEFV6$?;Zh*#%yR~g*zU_mSHp-ziExnHkge^y5G z2_>^hM#q-+2>h6atYqf9=sokZ8Hcx1oZ#`Eb>yh~hyB%a;U6d5QVKZeqTnV3s`G2h~U820VCj*6u%tgrSlul;5zjtdl{ z$<{GkdqN?%?QJ1I%{BgP)GKU!XUbYz3&3amIhv>Sn%B$CW}450`Qe1`xMRIQ3;&+Z z{vFk4oyjNAmrupabwjD)wjV^?kES>I26+Sx@t%K@G>*Bif52KtOyQoopM%HB2K4dW6!nr>ipj4# z%{Bk4pnbnWaivxayL4qURXS~_zSV~@|D7vK6dl5-%MqSrXz^3>#szQ6+!q~f`YPiK?JOym?1^nGx z)f>@_-W7tYSRsS5j~rwJC%!SqP4P@aPXl}OhX@^#qx``Tz`GT$pmbPZ$gYclxB=mg zCh(IBLl%M%LlLqrKBQNoXO?s!6Rzs&3NCKhN?)^euy{m16jkkkP`3))ZTAnR-`d5B zhZf+tVgB3;i5*y#Ig?Mml*jLmsAIY}8$olbKKt>!)=X5%mL)xP0-GKc3cc@L+40L5 zucSR>Hm0?!h2GVHO1 z(r-DaAbyyBxRh`gqh7G3Za?t0;s$mcI#|<}G}d)g6ZA(a)7=Hvx!1CrX#MA8dhL3h zJ$bK+jk|a_UzY|SCKvO~VpBjfS`9Ag*6CDfA04WpxA-+4U2=l)vv;6sR2l_YTS5Bv1eS55f;&ER5+wf`L(k5?$FFy%Qbmm` z?Am-9{;c!Ba@_#P>2e_{9T`}0uL-~2D!`LNuP~*y1?;}=ZD#T^4!!p-CjWU8=!!TMOL<3rjHEr~zEQ^e2R`A3l$j{``7tiH%@W)qA=H1z9=a@+ad}>5IM&9Jl6Mb5 zO?6jlbev1<*nBg$_a~W%!CW?Wo4Af#(F7sgTKZ$3J$508cS&W zsH^xx?kSeOFK7IlxoqQ0TQ0389v#*tLq|XpKB^o~Z{=4*Otmwgl`2mwQez?J%mI?0 z)q$1O7Hr%1`TVuhL9iiV1urji4Ck)x;1UEssM6|w=Ho3zDFVM>M5hd0lUU6BUG~Ar zFOigmnz+FKBCH%1PBU5um_uU&{`f17IBbL9qdWwUKR*T%^1UOPui(}91~@sn35VJp z;ZM(=K`C`>X{>uY$EzJ?FGq;L*1=>oA`*+SY-o{X6K68Ne~I#jtm77FjAc z;MFEeDv2nsT5D{A--rFF`lD6I7W?jJ)>m(Ua+lCKswL`w+R1MInNP~wucKysJY1US zOFkLybg+6OoN!a5uuTrstuvC67tZ7FnTwITV+xIUdIY`;E2=wZy z(B?-%lce8>>o&X3*Td1XR0~Y34QBo;CakWdYk_ zFiFu0rjLpSo7Mi{{bDm6@-XN2wjP1eo*X}|XbJ%|~rFb5s}jsPoFKahrTJllI)e^qO1nTK->FonHg1 z>n701^0^qd?>5A~A4b~h#rSWs6)v~VWS1sMW1~kj&bZ}Bx1(cN$7O#?Jzs&lLhs^{ zt6tETaUAp42)?ej^^_z1n4RpsjTd_c_^%U`$jNOv>Ft>Vfit?8&dE|7DtEw4YgZTU z*OH?8AYB+@ei%Ea6|!Z^=EFJ5kC=Ae7+Pg@X#M>QoZFk-%Ra>!?n)p!;SKtxV>lUSHx3Rl5XodKM;(wJ-xs_`B9pTVbi z7FBzP!Z{p4zjLm$RK+6Gh}9nGC8A4S&3ceLQ=I;t`O3ypKDf6f&{mJbXdXCohLGC>^tbB z@?TW!n+C}HGV4c=XK`^vH>WV`qwS%nKzPb-@ibix+STYsSHgYlE96z$V zAPa9Dk|AlHI@C6olGXT0C>#BoXR=Q)Z%7{d8`exBpYGxVnS8dOIF2<9c9`8eevi8w zR)ynl$TQ2(c9c%c0M#e8aB9gZN>`Alj7?u~_o_OK?ouG1&o)rzIUa|3Yr*(vE&4F{ zkNHn@rX?#AL0f(=x9_tt28Kkh6Po^6q4;}MP$Mst5x6*y#08GB zcs{I`cIHM#&%~9Qspx2!jRTukLzaCEE^D1l125*nOzAq7GcK4VuTNn~ffr#vF9s9; z+Xq^Cu3Yw;BlOud4=a7XuUe=?6|BAL;YSkFH_3iyz)W@ecUE29)zl8XBr5=lg%Qc8(RNlH5; zD?%CB5>iGXtCY_@2WipJq@=yk^lel9?(a`9?!C`*&inm(b@8=KoX%|5qvbLh{IJnO zNm_6xr0i9qW%~9wd-4=e^Y*28&9iXImKZpCnPU%xGqRpUIi8xOk5bnkl3*Wzg6B$5 z5%`L;|1Nklmr4m|_6#UlbVwxbs}B0rA6Rg!Js4(L;9jFb7FX&3ft05W?c+ zaHQoTldZGjCy&*q{|;s{y@v|0rqC99Yjo+tVkvS<)4(Tsr$l;9hM*fFL+-M#aNPwR zUd?U>EO{t+T72iQLuZ7XRJ=U5<22O6pVgU3EX+nBRiGz6Y|3 zMk}~tFbgZb)WGFM5%l-AmB2ydIS1bg(MFrk=zaSw#<^DVs#`nQr`Th>^SpSv^TZ7t za!fEMY$}YYlZ0XB(llDG3jGS~S^9MeQ1BZCQCVj}ane{^GJ7~_g-^isr^30dD?2gr zU@t$f_`A@5Ji#V@N&wxMAz0Ru%63SaL+cq=ygIW64eNH2af&c!xEGH<<74=ekssJ) zi_swAnaN&OUf`?M4Pe)tH*9&22YuYVh@W(QKHPdU4;HvNQkS_Ic<F9u?2S=ijB^$;ExJO!on%dD+3IP!k+1_ngi1kEis}Vd#H*21V9si~g1v!?mZH zw10mcxc94&Ug88q(>MOzB`_5vO-#F|rF{Jg^o#?woIaF1p(2a&Xx_x~EwzY3# zo}xgod2CBPSqC8vvV*usXPhsDLOz`;9QGDv6b^QGNSm@>aU|ZyHbhFfiM_-4L z`;tg@;N5LFGn3H!VHTy|khThtdd~MftYcMU)2K6P3QpEk;9rauW>p0wQjXtB*r~$& z631|VULFCveP!%QlfXInn8ZKzUk8sXnsLw;Nf?sR#~FMdLtWbf_|uKK$l(W8(~<)J zKBw@NSn$ay^w1L<))SgLNRwe> zA+I_k1y{Xl!VMK$@!fl2Zp+_ia+wq9yF(+JXL20(c3woe8Pd#U%^*nnmCgKScwjo4 zPdg_(Wm6w-V)=&BEa1v9-s#kACQ*I}Jl$0IVtsiwcT5Ym{V*W?h79PwZcmD;9QCVJMJ|eo;#1AA-_ttawpR98$U2RM#Rl)b_SFAukgygyD;e`vQah8u>aXZUM4b+#f!e9RozI~-nf_F zXx4?d3>;aYy%{Wsio(D2o+*DwW!2|3Xn0601{Kc+H^tAmQ0St?KN-yemMcJxO^U$p zIfv$h=7Y44(9iE)!Hb1Wfz*-H!3}O;{fzM}Z)6#7y)X^l--r}#s40cPch0hgdlTqn z@Ka8D_cZx68{OhZ zuNs3Yhn=Y8UkWE-S%c1RlGts>^K9;EQ;65MCC$fkV367-m}rv*1v-b}-Xsy<RL-V`_K9XCi4knvDa;6^*j@3PmM>q-LF+p^>F3}R%;5b;VeZ(+ z6{{Ol-dKUrH)s*r1SOHOYAN3Il>jBF&G7X24rn{31EI{14M=Nqt$$auttICLpGg($ zcqK^>D!cJci{N=&t_+2?hj6~9FB)yjLbq&3NH4x_={D>Uc-pmtk-~tbcc>*DoNGc6 zL;9Jkj||uht%EI^93FMjV6V0wWQUf%!M4r)nC($1db)cWjZoL6q752gom2(wzJ)N_ zeWB&`A9HB?DIw>1^Z|_u7)5s<%Ysb5H;o8#pikq0tv7szX2-uW`P@I$HvKEJ8haS< z(HCgYIRa`OLBN9;!qRh7eg<>M%>i#YeJGdx$BC7UZJ$5IeSKogS-`TLGnB zci6pSez0b|2H*AQ6>|Ts^QnL1s0RghgTD?G?4CphB}X9k>O{!=^a4if^srOqzbr+& z^l_DpJ6-5lKt;_~Z06AtxalZK67EMpr$TV!dL021s}xS{b`Vp{Phb`0Q`r6Y2U$+6 zA2lu3#JE{%aLeEcwqLHHpd*=Z#yFW-L?qA~quH$QNhqbn7jZYu(;>q2FMD+U4!D$6 zi5`5=1Q#1Iipi9)QXeY(o#JM}`Jp4>#mD_PPfe5CbY-JurLiA)ntb9EPHEE{p*%cu zt{%Mgs>czBd-1}sv2Z!SmSw&7qRDHnQK0QN)Tpz<)~FsR3V*{^WL073ATiqgJ`O{h zfrh^-pq@ulsH;>QK6gpsFwO@Jn)PVS$23$r| zaEUz1^}Ibobwi?Y&;^c<-j~9KE?C3*#1hEvLfJ!nuO0!RS3J@0$tM=^ z3gG>eK9(wv$%iRQa-f=v9 z*pPqaaUM@cZh^MbYE-a9jEdS7Sb(Mr%(>r!GV3#GYpo-sRTQD`ytw+G@|g&dBe7A9 zKp;?&y5l2UcS|1}5+1<0+_RS16{+~)0M8fh5@s&D9mw3Vfj&CTrm+V*sAbk%lCLNt zTU!$-+Mf%yjyG7&$|W>>o;jOVb(CEUiw2R^Ii_`T5&N%uJ}95RhV~Bw;HdaFZj-eg zwB{s|x`mQ(N}UAnAHPH&@o+Hv(MT(w=Ckj;GvPb!hw~99aUfv}WwZp+-%khFwg2+i z{+9({a$FULEgMXiSG~r?&9boIwhJ7x(4kp%mq7m0TGZ6g!`QC_xW4Nc77WRt;6zV+ zG$Dx#rCYzH*#zOP-MK&qJ7rX@a7rMmw}0hJR(Mg^Moo11J%+CS?!>{D zJ>Yp*9PN791U+INIA^E|neNhJCf@};35A znq<6CD^06jmyv7EA6!{IlC3Te!;a|%>@Xz}?Bs;ZzB0wUpF|ZMih_&hDD+m$Aj|tn zs9u;%*F7&-E(vg=yLTMv>iC)PV%r{=>o=9lTt9$UHW>r>%%YsNLT>YDG&?T5pXVIi z1;NJ{l<3@KZHIZbvUfjz4F1P&jL+xO%$3-E>kgKoFGVJAkFflq`OK?$GVaKnLr!)3 zS;^Q|y#3!WQqErszvmQl4ToIm)zAVKE9ovc04Gp9_nigHzC)$F8qholY;Kk+)%NVc z6ul~(`RpHO_DdI*&N&C?B&WffrN;c`rPs0F&J$x+?!}$P4YaRUmJVJ%i6?u{@aGC2 zL85sRoK*{@^l#=MC4QTU-JDAmI~h&>`I_lAInX&%C#L8$7DkM*q{Bh7Y=OZ&l&ClZ zpWhVH0kHs_FXRdvvjL+~RS8r)q)9)ioAJ+A(8&@NQWLm?{ihUQ(Sh~U^EDCvQ@JVP zRMIKQAe2q{*vfiKgnoqL7_gmw6u#9I!KlkQbbRzB@Or9^pcJ|q zJO)cLN-fPieW^$PFZM~AKx5MyY&MRh#^#Oq*W?sfJ^uh0ZN^m>@hm6VhN8Axg5j)g zKEXqm3g%509Crn5^iyFr5EU%!;T-7aSTSlfm1yv{G>j-8$g_UuP}H|E5jg2fXXK;Qf6pL)jL#))~>dmriJ0 zb&BY*6^qC)rsy^|!LcOd8JZVj#MMTS^^<|tg`;72;%TT7x<+>1LVq#Q5JlTK;SSNs zZu>rhFIo+-rRV`O4X&UU+&a+NXT$3E%TmpXST6HHoUpqqrLf^*=#wY`FUs4@Ny%?1}%P6!$cwT`UFc?Z$S39nr237umJBDeAKr!Gq{=Fw58|~jGnv* zChm$P4UnT1q7CfR)rYt$EQf3^Cb6b3x!k;Oui(#%R{Sud1DAcZU^kPjVR%6V4*FY! z2b1Q|k8gXZyjl(ycx6sLz8=>(^9yCbVQAA7$Wop^LdQ}6gaTv~G zKPFtR%%Kz#CFZAc#G2-`Ch;ZoWX=KOIrq^A`_T3!?XuTGBDt~km*Y^Y&JZe4-S zdM{egp$xt+d3+~y-0uw5rA5_ascuvjd%j}~F6_33@gGKER?`9S|CGv}MQoC6aX&qV&V`_(C^Q`gE^!<80|H~O+;cj`rV%jF<=v;=Hw z>Sv!ig`e?)I2=n368iaCaGA~E{7Z~1u6I5KWtV(xFCIx@OQoS=h6@z!zRZ?8Pl7LP zB3!UkoA_tFIQ5tkT=*mSds;a+VGZwi?R<_aq7I!|m*Hk_Q}kH^92WzH>z{v`BrH;Pn_) zhBm*wNnOZ1SV_mylFB0XcJzOugHOLPm+nNEdg3q&CQUwJvNe0(`-Am-xknSm4--1^ zFVVZakexqjK#ALT!m*KtaG@oJq?W2dkE0elQpa)5=El(Ll1f)bEykd&$)s?3Bvl7& zhsJ@yl<72+Y4s617;qD}oD{wRg~KR(vImYb68zB4HkiLY4v){xgr^q8u=ZI2zBQW< zm-B?PPnrTdAoYpGoe}muKG8zHyM~hPSFq{aZuXy+BsrgZ!d^FhL)(V!m}et_<}1Wt z#sw)_ZhoIF{2b4=$Jz6VR%6I}u_Of?yTC=iaRup=QV3qYkfMBjaJRtJJAG#*8!LYe zCOxu+c(qzK!DI+@9DhW$5!f=}sSSDMa z<6Z{*<17;z`R2oKxbf41$TLF|mX{jS53vf6et#9MjgH~E`pF^-g#)0ntx`01iW=?q zisG)+%42PL4aCithmxRaqB~3OqVGFjS~7n~LcL zJ0Mx;5TArN)Hzm)5;K`mtb})7M$AV+fSkBW~gVZ!rC_5vZ z^h$(p)QI6s>zo-mOrDI{+k#<9-xXM=GYjSxZ4~mSuI%$V7uu;h6hy~mXi#uz@OU^vZN?g-bXmB5+Zvh=w%jLuhB zQ1mEs$iLZuU!IJFowNH`&!Zcd?j6iOoDxePk4^xqasHU4{esuJ;K7H*UB(r1L-`+- zGO%iRG}|ul^e@#%;;D#E&O4@nh6Y5l`P(e8*)fQHPrQl>!E%_ZCFE2u4Ch;mXW%6_ z8I;fJ1tZNJAh*N!>Xo zPv>m!vR+L!YIwlmr`fY;t@SOKs<8lIv_kgcw%plNryQtPtfk-oCDE`Yg42Kt0gEjUsM|mVth&`m zldrcKOQq-mMDJKPW)HV0=vM&;QS^yAidJYUm@jRtlCyT5_%+b?8aCwSt? zJGCrHx||+O|19)xx6wkM6%aWDDAjQgO^KLHnpX2^(pghziqwFlfOOK3RRh;wdN8IT zO6UN5#D{&2{0@nAyhX3jEzBRotrc=+Wj|~LhEptUF0h4Q@jBQfUI;@vhpAL;%7-aKKx-ZcIrZYz?l3#D6yYr2}DhSEUYk#-Pf0-c8^#Xnx~9^ z=g7gQcRH}K$cd%}9ufYhbJ#G?V?F3f%4M#^ClbftAkmP<*_2!^h8s#Ru?XQ#QNQIYzS^b$39m+yUqL=9l=woY zj1=WgQsf|;4Nce8=H?;9k zlo{c}ku&(rcxT3WC6-#N!M&CK@XbGxO77M{sL&r8 zIdzfX5su}j801spp8fDX#DpN`1{pObXbkUe zJ+izeCGgBX%>cKhbC{c}ElpED&aT|tP3^)t;m5BHG7WVkJZ82+oEwDEZZdFSF!eAom5{b{YdkeFgl) zpON(TpA@{_)dx0n=F=OzjaSNfaJW4O>6HqJzixxIM)5Q-ejpA1hncJPPW)!@vW)gZt5 zghl(f^B@)-#T-|qVnCE0q@5p5z8$i-(oBOYObmF3Px~OJu!GN*Dy3PKd%$g;51){K z8iU-ou;T}F+2JG)_E!BgKbxHa-wP`!c}O;>8S_G?C|b1ifgQ~{a~Q`)wsH=a-Eggu zC%6b%reB8#L(!#`0wchr+#8jj;ENay2B7OyfGF2>$riefwXC97rO^rx$cGC&S` z67;2XA9y_rgEQvwWP415QpSA}MgG`Hw`TgX>a|r^v;H()dFo27;+s%UQ<)58ec1iN zYA)G(K5eb|z^D1x!8i3a_$l8RJ&jJ{I1HdY?wN3Ig*n8#n{g|ybiv8|*BJ3>2yJ%y zj~!tzphx@yGyPq`{1#52@$W6^*pXH?RQVoW+T$&_?GWEsHS>j@o5;y;BIowD5~rNs zfy=Ky;e&^p)oZLc!@_x?7q{mq|H5npQ}nt6KMtN{jcRxC&9oBAh|EB}f?=>ZXgNFW z+zj_5Q^5VKJM~_+r^&-F@oz&Gk*!%R$W<(a)fcm1q{=V0$ypLiO$MRA!eBgNMr1D7(ze;CawH$FFK9%~ zHHHj1?Fw3-UB49*IF{<3y4(3M2 zAZ2lieJC`-Jb@*$;q@G_+8P7DZp@&cO4I0KLM!|2lt{H-7eapQ4Knec4?9#2;e-#B ztoVWrwX9!2pH{@cvke*i{Uec-VxP;Mb=e{~r-VI0swSB!?_rh0chjG{pIGeGx7?!V z$bw{MQ_aG3(hMl&@ASCRh;jQ!^_x0Po|njGILE^g>7}5qT95xN7xExUT1;X4YSw>b zKb_dBLhH*a@uuLVIbHA(vr^nhBgLMa#?6GBp?j#wYds#?Z;F$XN5Q>u>JXKa!YWru zf^zag(rz)P0*NIcRo0DdtN{$JY0}}A>BOZrL&lmsi0&$952nuHK4vL!wjU1u z|2P^J{hURD;0tn>w6N@C1>8SVg$`)E0*g9%JU-+* z`|HVha2vKJRfCl%ANdcvQ9JMeF6moJ1KGX&_S+3`$m110FwBQH0Tlv+zW{$q$ze$N z0qUHzjC`)Sg7(X)+{8T>EMLvFf;6uaFpyAyms_QwGw3(htZG9(ec2#dppF&kJHaaO zB8&Mql%AHkfZgtD%lmT0wB7g*_vM5$_1k)b!`K04rWg#F6|&H`#hr4RAF|ezsbpFf zMh{k=5ZFNy^zXU|`vUbXkKDe7e69oy)!t9{ei#Y;j3Hc3@D1pGV8sqp^)SbvXQHsP zswDf_l6LBQiQ>90YU*zCrn;kt*-^bdFLfPl7&v{F) z7EtUyh_+)CNGJ9<$S4^w>#C*jd({e%eX|}Kx(b-WUK9Sx_`ke@{~B6Qy%f~CIofw5 zntTd5%!tomZnlOfznEtR4`x%=Q$LFOx(#lhUduKfImYhKI>!!GpF;=LI9RxBq>u|e zE$}V_d3VPWVLw~T&R)&IIaa55W#1)a6A;O-(3=6xbrMh!W^v0;;OogawY6t#& zl1h7D+GF6~>oCc)gq}Hfk;|JwB!0Y+ox9~oKO>*Om*9F)vYQPXYGBH$MImg}7ApYL zY%0=d!H}ppXf<36kFO0U6S+vvD4YXXoy9mE*3kybcc?o~8h)25(xA8~NSFQq`-hE& zycL1aVkUUJ7oiqch&qu%uQCstvNJW7HT-a8KZ`URzA(3ILufXW^8~ zW7z^(;aRoRhcvex^v~-9ijP)@)hTbWPD;o^OxX*k1BKkO?@zpX=LpD3{lnT*L1cdW zIp=YI2n3wp4;3xZY`Oaq>c74i!*Wld$M!e~J@E+7_phPN)0fhZ7p8QiRgAuM35-m{y!WP^1o9@O@(0uDX6 zK>eYENkwZNT^be3PDtBQcGw;Zg`M+Pt1VJ|NX}oKD&QzyJeB(t&y&@ z>}&$=oS=tou9C1OSr)fxWJAlc8z_->*wWth0BVhNLX$Zf_~2tZJ`alErzI_C0xE%g zAdae3{(~ETc7s={5sdE&hoR{wq5D-Cm!Q9a`7b<#&dX+_sALgl{r-n0h9lUPg_)SI z-!IHC18{kX7*_88z#jh7Wv#QcILDUb+>)G|v|-_OG}z<|-%DgxK>Iou@CT6 z?=ZM`ZXOL;x{J0_h}0qW5}+-OyDURr56-K~|2{leiCu`alxUB{J& z$U)lH7`8>D3H?hwsoQNWXId^!{&qL1Q%jDH&UkE@w!DRZRJn&WFYV(rV*Ewd=GD`v zwuKgJO*X=P&3bM}b{KyxBotRGw&Bt_HRNF?xW&ZogOg!BjagoYVHzT~Mz0;sp67tM zX)m;wjF}N!77OPu%pjk2JfeOwx(O`O+h&t_{gIjQ6ntGTHHWSnAMc%tz?4M4QXQ)OStHd`S@-c{&Uis;YqV&C{^aYdCHh$fEAn zMeMrtQNHI#5`SunkYPTo0G;EVz&HOPT0C#yO$}p2nV~9h+h3KYS`MWx6O}+g!h(hW z=Z^EEr$Xb!4%&F;E=K-~LsNlss=M-BPWA<4#kM)jS0?IKFsOn=wFSP^?q>COsXlsV%qnmk?TMyCH+?7mT+{Td7>2%OE z9!}IOhV(Z#!OXPi$! zO&UR?{KK)MJ_Z!+c9MVMKUh0tKWQDcK+8)x^uzTK+0D*iQ-!S2uQNB{$AN=6o&!hk$6XCvTAN|x06*AsIXwl=$=FBxC@1xJzfA6#*LUJ&ww58JS;sf~f zY9bb2^5S{pK`>P~Gr6Dq!S#hVVzSv!RJ$WW3xQ3P_0{g(la1I~zNuJl2 ztHZ|vtN#SWvI*O)>HB0gdeq|%FOP>|Ag>^Fmh{0(u@mln`i$Bm;z0iAMkek(1Zs)` zK;p~|rr(}UUuH&ta>{Y6T67IJIb30jH=BWd>kjtQIR%VY>QG}+25PySr-HIw?7)gp z&c;E6562fUHxS&Wb@?#&RW?oO|H%F4Z%2W`3`NQ&pRI~t#tgUhv93+cpjj7;vo2m@ z4o6nQDK8U&8}S@}?$+d0BIdCh#qvyTXD*G^w54DnAH7xP7GJbUaMcvH@~<01U_xRo z-q|2av%csFUd?f!W&De6znx76Qv^Oz;Y*z6;spmUYU0H=-7Gvd1vhDBu~}hT>P;hs zxwK*pbC@qn=O0agQ-@{gwbvF9H=Tekz50~J$)WeIMw)r(FIsJy!&13NsIp=N%*~J? z=fGXOyRRX;9P-05VA)j`e|J#BwH1Tlx4I#n@y%c(HdKi8T*~l8@?yBD8V}=EZ{Wmy z?}>~@mavIqR||a~8%W4oNCCt1DSo8`uWPsx)b6jO)61HK58(_@#jkH-fvs_6{5v?+=<0AgPMaT68RP-cR$aj{(5=%LX z-0}uBzFda$lbmtuW+yli;t4B{SJ26)o?PSx9nS8g0(ZH5E$CTpA+-zsFpw4n?T3c5 z0~?j0Y}*xbJZJ~~y^hotu%4D>&WB4qTfuzcV|FeyhK7HLhY#;I;5v;}ST)UtJ$)t* z`%XDR>3_TFovIu&iq?jeYcyfjHO983*)yNCcxXr($zsJHj`v5~F^$>Yxp zX5u@F#PZDG+>;ztgE@kCK!w{D)?%c0JoH=YXP0o`g zxx5a%oOY8Lw`PNvlQH-#TSdb?zQL)+B9a`TPvr0wTg;bnF|PM`v91iu+tosD<5D#Q z+Z-WKZ)TEZcUkcYALJKr<8s1W@l5M>?2>cmWnNsv7KuFgYnFvCW~9L82Lh*I*llR= zcehYuS?uPubQtBooF-lxMZ4|wVa~oEcwFuZ{W|uZefgs#%+j9YQ8Qt$th@^MrYmq_ zGiFlttj%a!Z3S{pdeE(sgqf!fvgud=9_^bbdQmh!>j@ygmmcg&McOwqsN+O%q%t)rQU_V(pq64_Xw-?T#@CC^c3fgYx($&vf}a9kKzDcoDuu${9y>ysze;kAsRVAxZH zYW2(EWYlIRsptrPr8;ET+YC>4#9{bX6L{{`#ZoV-lDm!--3oajDzF<**;eK7r|u&Y z({+L`J_;6H=X<&C1G;b^q>}0NB!TAGHXN@rh90f+qMBeA@}GZJlsZol{*W%u^lq>r zpKqY&NnH?6K8+#M!)f9mKe86Gt3xkJP>1G4wsl86^Ab~oCB2tEpM>FE z-P8C_c$O9==5ty*b2)FjPx$&tE_2ISL+Xkz*;c6qRIRlNI%M-{P`U&DJL|_5Y!Ncv z4QY6r8$C(;VlHlU>k*{4o1!Sfh3wTpcm0@Y_LZf08nN&X!*KbL z<7{&A6AYMQ%b5(kvamg&3`xTI@m9=!&Q1NhC~U?64*Yq9^-Er(ufkeXY+nx>4}`$} z_xm_WMGr``K2BpMm~u~JPw^|)PNK4!bxeHWA&3}vg9(i_h>Kf-@dtK7;=ki;yLc-9 z{k$p}UiJi367FFh)2VY`9yHDqdQR<%;HnsoK{*!$8IC^ueQ+Lq#(pNhR!L~uk|La! z^~fX89*gB-9oUzkU~d&{LCGvi)lN7GW}Q&^rWWNQ6> zh-kulp0*E$33^hH)L4K=UM#2FIh!ap+KGJqc7td0HmX^0pWEAhg&U;w2frN5#=h8X ztkt!NYt7N8y=HS+cZVU#pFEF!H<6Y6&LY=q#r&8Bz3h*W!@H~K3gH!Mze{ z`~0WVvhs9{Kcr8CyN^`viACsm7KRWN%K(d$MM$8?<}Xl15;TH$du1yfnIl+hfNGba^2il(N3;P zg^_zhBD?p*2Z}-+h-ON%ajJIoP-7yHave4aoSo#olj-)OJkr{!LXN^WI4$E7epi|Z zs!i9JYjQAG)w>YJFH+!B9-R^9aCkyFhes(AVfCA1d6 zd-+*Vx99~o^^zo$USUehKMbY~BaJA=aXGKG+mS{_#q!xzE9g+0Ba0TjVLmrkfsdu& z!W1~kM2wBwW`eW-jiA_PfoyE(QSQ{gC-|rQB-&aRV~9d3?4G(8{_U2Bk!S8RmpP9x z?ca77(&YiCEqAll{z`tftT;uBC4u~WUpDuW0q2qG#cz-hoRVq4uH@L#QyW!y{y0Nq z?=5MydE_rPDX^8>R3Qe+{Z*j$o`e0Lrn8rYM`2F63hj=xpn;!*soz){>=&PdlHf~B zUH1q6(y3>wXFX-v3c(QZwh=ZfOF*i#(Aj$+4!e3&cEgHQCvX%Ma2ZX zI9eK>{xPJ8X@j`KE~iO8$p9Rt%M1I6$L!?Y!8G$i9t#-Ujr(kFG$0T=JrpLV)AAQ z?z|`b#U~>E(ruwv<`qako5R`1M`=*}LfGl6OH!k$2kfv8V@*A;asK9w2;$T!{S!*kO*p>|#wUhQnbpp5Y#ujme`gXM^oI#axE2(H*uhL_8V zVA`)kY+QU5O8ij;?Ur}!LP;?@T$7F25iZ~%9c4LhQv|rLxP+PaoB2`0@?dsp3bXn% zj@-KH*@OHyyuR{gJUKg;n;@GYI(uacf2^kvr;U(6>3`WQXSyLh-s1>Ur=_v5%%kAG zb2PnsjO@B_p6@A=zzpSZ^1B-in@?}2pL2ug$4gZ(AG!nO`;ysg!3WZ`heuP{V>I;5 zLCgvNi^ZN->A_ekLNdsENg~~o&S5L?0G5d#hNl8A zTj7W%oxiq~G)9=BcbGmH%u2`266&xU2~NR$zFxyP!~;6{NCB#)j6s_O+e;mEx-Mfm{a#-y`}3-{6P z`U=|AID*=&m(%E@_P8WB5l!q=;eOpo{_5hrV3`Tj-2GhWp=RM7SzB1Q`!l}cBJSjbOMqsGDJ{Ko%xY~>^I#1V--GK z{1|8cdCi*A=fUddyF_6^Ya>CcXevA{ zjirvd3ou6J4u5l!z!^H@K-g~rimOJ@>l+IwHz0-kDT;*3I&}!YJfAMLEQ8>G>*y0Z z&T?(Mxg7m8KJ%?P8yNQzj0kkboTQ`F_p~x!twFa(A~_@*Du%L(~xf5v@sk<`@XQ)p!~q{u|qs_IaSV7Wm2j6 zr#iW4m_lKYCTIFm;K@9E&TNe&8Z^54G5&`+y$b!vIxF^q+p#QozuBD9_Y7f=jnqM7 z$5(uO-w4&iW3Vtp0=Daa!DB!7u@coN>}ofr)tj1l*=;H`^oEm2X7>yhS~(6}Q-Fo!}=UoeKkt2Re%6_)Gqnv4E7oy}nLsVF@jGWAC$@9@l zs2Lf-0`1z^>|IrGeBMq=5GCWO;mI5)rApHxhSlAz*J7S!c1~@LDRp7*gQA`Z+Tcj`Nu%|{U?^qH+uq? zU++dk4ZxVMS|mM63*5h&vR=nc%*=oT_BL4q6n_Y+h(5sIl_ zrSVGX0Pd0<&fdlgIc)oj+_B08oO^H&{Ib7fxx68nR*9FeRxM5DTVp^?9Yv^8J)aG= z@uc;Vg3GUW0b6`ojLt~v!DF%WXurLO0-lM3IeWtCejA5_AL@dRV;#-wyNLPHcO_VuhY>YE$U!7+20MBY&D(Wy09E^w&(|C6EpzlE;D{yls_LM*%r zmt(IAXMpCS9Pp3*DrAn%a(9kbv0rj>H1n4{#mYPs++-Tit-pk}o#|w%igO{_BY~{E zYB&ouTRNrF4~?U?GrQzewoks6`H1|WB3hLt+)*OwHQ}gpE}e4z`-yKOK4I>xH*DON z^JsTc8;-79L7hTZBwltdm$0CYKP`#|mrD5s5c>FX z5=(!6m@mwcMX?JXEJd^Kvsb^Cz`~YB&eJ}cxvX$R$JK_^zDgctM*E=ZX*+s9{4Hyj zmcYCIgx?En+1>ynHfsF>SnIeE-p)G)=hAvOvt7wFT2q@sEzZDpy)`sw#~9#3^B_p< z7Jcd}MsyYa9uG_4-kTG6BcDU}?874ef>SJ8F^_U*-h{34AMoyoF>pZlCImNXgO=-S z)YXus1RZxuOLd^Ag29}--Du{UU_*6E>rp|N&0YRch6lstc#YiesFd;tvjl#o{kQ$> z{rqYw&UlP_*OEU9xMQD_87bC6_?wYn3rde%ZE<$!GXmJT}MoH)|+&MeGl(8uTj`Z=& zK4#h*io2Jb;BWjfWqZ35xoW=){LeY#>8x8N78Llvw%6ylI_+4f?O0BcgFk`V*$m-5 z<4P-E3jDMXZCro77Q+&xd8P1L=-yikG{+9YpL>AKq>0ojbiCg@*+&8C4`JceA<&SS zFR(-z&2iYnq-Lwr;$a6-&ng%yMK1j0uCu7zqAD7(>@-?BUgS@AO`#WNuCQJCJld)i zz-_N=sQj{wUc5Mfl8G+do{Bg)a%U2oNNUvg<{;e6uf>0}|1tTgvh+JfnI9N`kQqFb z!9fmp5Nq4n^DR%X<@W;gyS$GYmtEnM{^jwWr61Yy9m;e+q+7J}tQ)Ksp6!7?RdQ>T zqn;jp5CsL|Cc};RpYXd3U9XN`duwpKxhM7;3A`n6z=#V@>|yRoipn%6lzpa%Ywgg zhMGzg^c;3|Y=_7n&A+PRW zn2s^^&WzYyAA|qrJqN(zn>ymbqGFmj0($bRZlZw9Q`w#fxc^>E7_jSGBua}TvIfPl}GwG>h z5T$?J2{t7v`0HdeZq+@^9JNBo?(am(h<=D+=g#t?rhe=*iLIV-z!ay4XW{l=u`tzj z5cU7FX2X*Mp|kT5J7i%@9^uQ`OLmb3pW8s!{RZ$#8X@%K);2Ee_7g0KIl*FM)7Ytk z{Am}S=~K)UVk621k?PLL0$1c7*WBiclf|c4(#_}Wc>6&%tlyU$@ah`Y^zm2RmT-`*r$g+BaXPO{zd1c&=63RsH$VS@ z7yI+gl^vgL4_ht6n7qiFnqy-4b@F*Q!Xla#toe(-MVldHy8))@`of%NLZ(jQKNiUz zFkQ24(0}h1t~5NHiQ%>CMu#~WRj zrodaF%+TyC_#QdH_H!qMdH67Pa?=(5d&~kpf94>n>VAW3k6y)JO6e@==Ll4M zQ4~9ME!n3SlGB|dB3tPQG9Fch-*yWXM61A~Ft`3A z+ZXl$Ydd1`MBaJ+`cHE_%wJ)=(Gt+`7{pGyC&3zH1NyKi7eiN6GW&%-!o6lI+bF3D zUe|`=*^x0|^Fm;)i!bBVowLB#b{u|@j-w+@#`I#LE%jgDf^IFk@Ge*i3z`zS3zG*! zMeYb(WTk~k=iEtagCf0t@E!vGc#^|`6tF(}3ytkQuy&pQ#CzwY)AdgsnDUuX+?L(k z*%S@*xG60AOq^Jmtu%Gjrec@Y4YAqS$DFF1;L=|FR&;ID5T>j+f|fbuuzs^`_&BbB z6`aWAKOP>c+F5=E^7cQt~o{vyOrU0j0_1uF&q&X$P zeZiSkNnpzJI0^+1c$$cz{jn!6uj}ia28Sq-J8Mej>Aakwbx@lCtF!w zhBtvo)d_4&BgsjvkT`Q`> zA|~Fno2~F$3LA~@L2im9*>}Z>*Y0y=9`iNv?e259_~dhx99PKpYEC8fpJi;n!E1h_ z^+kBrI*f{r-$liV%{X${XN;IVl8T;BBa1QVTuA#vR^oOLOKYMaW>_nGXJZSBau3i% z@f6Iq7!2P=o&(EEig4uEe477qAAtHO(YyV2G-k00pLHi6lT_kFZ`0$zx8MdEt7uWD zjxM(KkAu#y&tdLe7vM+SMb*|Ymb!KT``on*FTTmb=OvZ!@t`Tpgt7Et&lXa1x`-3^ z7SmqqB+-kLC&5H=5lF5Y1UI)3yE#Ic_$WvC-XfxX!WsTh>|F8*|08;SuZ`*6cBa%T zznQa41TBBx#LZUoqHNtvvbY+C$uAFK-}Q5N|DzqH)Lz7o9SS6;qC;~EcCgr~1z1>l zoDZ}Ya_;M^SXW9ZJRKrDBRfA}OG6VZ74j2hQ6e_K)`4F=A(J;rs}cCS0G-_;flpS4 zsWSa+*5+|6vt&8bA9o!ipIpK(9fxW1)wytct}Wjav<;7+xPmjo3Lr_HqdWcPY=wt# zXRcWw>`9#X&RfPb($*AKIDA3X*fd!CO_n4x_tU(4#<)Snjoy!|WyAL;L-mD)J_Ym0Kd^$@o3Z3KUz2$EQYk?n#-0BNn%giw$a{mmau4cF}Eh85(8aUqiU)ZGz>E&@3;uwCCG}UuM4GN;#ltb zxAA;$|4;t6u*-e>xB%7_h#BrS#@jD0VdqMr7kSJbYD^|mfTafAoqLv}cm4eJf}vb{ z$5^sVyvykZ+LBb07Gy52W0NZV>ARUEZPS;;;%`SO(pZW;ytDw*?K9cF>DqvcXFzko zS(GeYLjGZl-QJ{v9()Wc2i+9^S9^f3o%od-BK#j5R=JPa-@`D<(;Fr|P@<{ts<@7- z4Sf5w39xWdGTf3%fDD)25YlrJwM_`e-8_hU%NFAquh+~=C6Zey`;|TTp2=h_SJLQ_ zy0Eu4f#I+KxN4$Ip5vup&iO}7mfr$XI-=3^cPcAyc!>@U@l0p)RQ^{&EBc!-S|qPR z-^--2I(rw+42(q6FT*Ibte6`nCj;VP@)SOKESaYd!Hr!#+&jndc%GeMA=56Q$R-#L z1#bi0-A_b&4%MJcpB}$7>;=~sVMfb6|3U7?Z4e(jqvBgR z!C!KRz1AO$$&qHlocR-*_-7Pc$+*PSl{{gYwmTH|l=980mSlGMGmhV30BI8zF{7rb zICOy{J$gElxf_(wrgxt3aFz`OP8awZ3g)62V|GEoTT6WUtqM*bw7`LN1#lo-m+mNL zaBqL5qGs&_>^2!f@u`jY_sb-To7w_h($Vm}wSvtzyMbKfGa7K`Dr(+3$3C3C&pgsJ zVDyxoLLc3j|N1S0EeVU@1cNu2jZmVaY6X;g;v92OD97hz(O6<%#V`2kP8}(hWU}iO zd@YF=TR0TqmH~cPntu`_(P|HaQaml+MFv7B{NQN zsavM;cY^0n4-?M+J`Sfb=*NBb$YL8?nfDpvEYn!&`+BxHUJ7*{9uab&7um5TCd{Dh zK6^g$5Uaj&AEtyH!TTxUnE!e#DLedO+@v7xn5YSVwfNBsrLAnyy*2#Nkn2n~X#mz3 z8^PU6(J-#i7250~nX}hU!u8WhJ8T48>phI4H#YE%riL&m^cSy{P{N+gK8Bl=m0;|e zg`&966IlPfOq6e5PJf;LVb6;j;sG-_7lX)VVERN>&X9)~x zJ{xn!OXH^jLWU|hpUs}B4%g4NS=h{x0h7C_SYnYVbO~Ou_p9f@m@Uic#>gz{IfraypJrO8{%H!j;cZR+z4Tx%b%B_<;xlM{acNlDuM8)dmvqS84eC=MqG>E zSSnkuLcU5)^ktS34$B_Kj(i?VuX;LoGt(+8vslJYI2uhUw~h-QyBO+gkb&Hxdg9$J z5}+He#Cr+cSL2C>aK5yX{YgIr4PIw)QE43XBtB*z-#o>;g-J|$OT5rUxzCRGP5`AZ zTOhf-1jid!a01eGG5d7J~!tt5cr! zZ+y`&BF`10S#-$-07{a0*!NG^JD8U-0vd zS7@C#5}w>iq2K=1OeB0NThfj(#f~uU)<$(Y{A)Dm#)$BmO(ksD`2bVBO+hQU0yi%_ zEZp0!kh_@(Bny&oOTRO{^$B60Lh_jC$yppTRR#Ke%6a4R9Go7n2ASbP=23b-dm;Y~ zZwcMuVNXZg}<3=PMxaH}G! z*$2Vr;qsp)tt*ZvH>Yfrj_T$ltaNC(;aMCUBk(;;H$&7{C&4LO$@eyoq$l1XTxE)| zFB|xScZ?s8tq1P2ta?q@)IOBPuD7Sqg++-zuZJW zCcndj@2=y6%zwPQjlhGu*955Pu72E0oqokz^ii>l$#~^ zln<_EK3B5QP|1cACfs5}EX!c8{#d-E(TA&pkK<9*D%NXn1Yw~`Y}3dDNcP(XvIlpe zIN=#H9e4#}2aSWAZQj_c=ZfB=7@e-rgR8TIJx%FIEcnC;-GmMd=;^?0v%&Z!-B8># zJc!jD^`Yq=t3hj!J&o@h%dLKv1V;|4V*U2bQ0Mm>`=Z9u_1Nk`ou`{;OqFB_5=#pTzWWL%_>eVOnZO;0_?O1aV8!7qEjd;A$J(+Gv{PoKf8 zCFh_=aWyJL3jJbcjHgts@yMyO?9#1ieB;AEZ1sM@iJY*OX0KVt4ITfA6{t&KpS8dh z)I0{u8{e{H9n(az!u+7da1L_Y-T8S-EHLWbWlUcx4ejecvr{Ev2+Z6k>QukTrB2rY z-x~wzSf(~5w?1W|`jRxH;0{yw#!Eq&?C@PJQgE$f=H<&S zs?=S?sAJ=WK8_5V{rv_emR6vP{RK?Q^oN9ybk^-u#pPu9K+E=J+>aqmZ0q)!>`aR$ z-HH*hPb;_48INTC?&tkjU-TK@ebFO)>nC_nmeXk`p@*EFg>wB;uyRNPJ2}XW$-GNt zL8H##-7W_@HJ4!513B7KumgHseqhd6Pi$JFCZ6@51tkj4Dy7SksPOU#|7X7xea?I? zI-pd`X6r43II{q;ChC)$|5j$yZc67HrhvqX4lciLJ@zWy=EHaIXKxfD!7av^SDieU z`=#auuIvns>Nw5bsK}7>hj?VsxB2#k@vLf{1VzkRNpV_A?99>wSl)S(`?P%qc~z)28={mDJm#PKiye7*rR}Hx_*0g0Kp12NmMI|8Dd7mxoh# zn=HjG5YF3I1@D@T8}-K@hCuC4=#*Q|wWW*$Rf~!AS|J6D9*&@~ji0gcj}#kQFcErc z2C<|fOFHU|xOa9MPsztw=L~HcF!~YGY-8;)*j9d& zzh4}W-skq=&9l~GOQDw!_OU4nC=yHsZnK@A=WP8Rv`l)qrC~1WPPOv95m) zUz9c!T6DHk%-;*>WMPQKfmblNzZ1LUBE?<84mJMIL$>|Ge0r)R#*aI_VAI41*7Yom z46Rl0*%OXi_S&88u)760SI=;XKmV~*<6~f?m&kiZs^ES1byTDL8RMlKa8>_!I-;|l zsa}Z35RVGjlPa)tCx+vXds!@cY%Q+al}6`1B&l~x7+6mYVoRp)233JqSfbU!=01|9 z;Kt(WD}N@ENHKyvjBA0Y-ZJrHS#26IPjKFs&&I<2%G~Gq6QFUMEY!+Pp#1rz?90kN zKB>u0bg5u5yV-spch$v-|7}{16Csh!zuf?)86jjeK$qS>Oai|jCos3#l+2~l*_NkA zsqW?;e7w#GzruKPhwvDQ_;T`p)M#LFn6@v=X=>ilaceyBu1}yx?)>S$y{@5)-?8=|9DLXmd0HBgSvw1K;>y z*7JGv=L6z`S7#u`FOC)#Y-i3LtEMGnW$@)+@3W9t6EZb=$?cny0zC&a@!jxiNJ|Oo zB~sbN*BRWpIm1D@O7SF4`jIy@QG~<{X+?J80My>IKFvnVl^szqk6Y$}SywETGgs!T-?2_heY8qh5t@u)h*8VBX^hXib z{6dj-C$GV_HL-L^evsg$_J&Kr%cy0C7*zHx;!n7`K;UUJO3l`S*IH^2VpxHCdwuBZ zP7L2$Z0g|clqs@kc;BGcVyw{kSO-JJ=i+_Yd^hCa#MUJd5;%bYF7uARg=eSiVfqhFa)nzU`DLALl#dpe3(Yz2F z%FMuZPXS*zw35&AIW6oOWI^+=Azpkg$4}|_#uhfNVJ%_m_(DCIpM6e^G>o$8N&QxI zs)=A@Za-zm;$Dh$pGrZhUO2xjp$Uy`w5c@vlhAvbAh1Fou%rPpXnXZ8iqlnuej=lA zwLjwRWk>i@KM#sB8b`tu6_ny)@W!|SU@)r&wGSD>H2q}McW)MUH@fska$j}m$|r1! z#8ucWFALw2tf*Yb^jcon0@*2V*hkkdY`Mb@7HuSWYYwD}^Y;G}6{wA*#`6oP?L#ux zdj6wuM@*;ZfpaNK-IiMRWV76{$%0qs1ap>5r?>42G~XbN-&s+ER_IiN!^Wp|4FNA~@ zE;O@Z5R81^hxt8&VUuttboq7;&o@5fYG#aNYS*KALzAVTE6fO1nKV>S74lQ+DiL6R zB^Rxu&cVWpeOyrKB6#(-7B%Lt;170&v+~`HI#->>;5l3AS8oiS61qvWZ3fzhm9fQf z(=hJcYB)akD_^*90-7JO1m&L<;9(d*sPY12mP#^X1uJU)>cegq9>vUx5Nat*gq@p2 zTy%jJcYLJ@1Y>nhwkUaDW2i+qh{-UzqhgTY945PUDx) zgLSJSX^gy`@ZS8z&6}Ri{dJL~Uk{hyAn_yck7yDd{bxfSKa?p;;L&a89x#hbd-y4X z^ssY~2Nf!9qmyIAY)if;hKyWEwUzsM_2@k$z3e5n87h<8Wj~gBlw%R4c5H2t8>k(Y z1c#Pw@YL@sE?Kb|iq$$$f}0NU%`)__I0AzFt1zgi1lv2lvz~xMlvFKEw{29|M$v8H zT9hc~L>*^%RTrk*8_QINCBwUC-$Zuh9BX(KhjV?Wvb7-|@W5G_CbqY;(W`Fb$M(m# zbeji-@5({X+hHhYbQQ)4-iA+u1tzw(F)KH&Wak@$#nT@)<4qZDPITItHod;{3GA;=GR4<+uq7*N+4|Wg)wh(h z(f57=7g02k+0E@@Zf!d3VfkN9t@bdU$aTPoDLPQR=sY{&H;oFzHo%b}4Rm`y3RRbt zV0@ARbqV?K8x>+qi%!NF+ZJM_L>8W?^u+2Mc}ka_O_w}|khiD;^Inf9mNg$9$INHh zak)4};1b5x{>3rdYuWXt1YXitm6mR!VoALum+oZHH^X zh@O{Zvi%C?WyAG*pP3`yS+V%W)?A2 zed`HazMuqcx7LdzeRp!-OSAb8FJ5ZDp3$#bnzw1D7a;bK-;{ z6lZdWg{sfwLa$4}5p`pMLFPgqH(SHeZ)f??fl}Pm^kKAB&l2pXj^f9S|AcY9CFpda z4?~m2iX9f%kd9q13)!6mBiGpo903_NFnuUoS6E6VadU8Sz*W52p~+fyUqGwJ^6b+g zYrK$Ijm2^!`48vD!IsU*;80u1@qdLg;}SU(*=ob$E?%56@*vH!7RVPakC|1hpJ@3T zN9MnJ8NGD_)P``@?^h{a^q;M$tZ6pRSTKoNQ>9_N%K`|^UM}hi?m@+ZJ76LsuzKBp!YilVlt-l4KM1^!0aZAIpHTZ*szh!3I5EDt1qCx%cqgc*%P=d%|q;08bL?5 z8-s4eLtaC8F9hhkWb02{!1kfm@OA!Fb~3Jiy_TfTuo!4KD@U2m z*6?_99AjIr@ylEWK)z2rXn&gx!{4mMQzNZW|LzVlcs`b^6rR1JFn7BAF9qTv8GOMb zj85H0#RCzv+QQ_HfvsmyFXV6J$F!a?O?6ROvIAR&*&- zTJ8=`IEa$vvst+KY9e)q>s3n!d2v~eW^7+yEVr@YI)CBzIW8v0f|gnxW!l|K>Gy#) zcEUUXc3D+nz2rb_e))x&Y~Ka`QzEHL@;Sza3myLrBLN1?r<-!VRB-qe_o1>C&-V=D zo+}8f*HA+!PC?jet3>OSCxg_MD8R`JQ7vXIjPDru`i|32&^>68*!;Mm3LiY;+i{9G_s zjmKo6B6OSjO zu1y2Z-=T4^3F|1=M_T>F6X68o9NiTC`8(XC8EoWu4% zTuVPYGHKWX8A_UD4k;@Vu+VZ4B?T=(YxQ+t`B9l3$e-r*UThXRz0z>)c@4gljKc+0 zGNhwD91P6P%8$mNamH!l%?6;cWd$mA`QymY8A2v^DRy!aaN`7eHD&W@ezn!d8m7VI9nla};7;5Ad(GBs z6vHI#jr3-Z5B4ZcqvDhRbZhv@w8#9y>dgIkZP+Kwj5`BNO&xa&9aI`2=E~mBhP3C- zIN(VUI+h8J(Wk}KvV9S{c-X;~JLT~9g1gY!a{-^vf5c^<9oUt9>v56%Yzlew9CL)Z zU)0|rB)@hIU-~(i*+)x(?zT|;mtTO%^&GyFPiFZ`4uRaIcc>&2$M&y|!Bo8wEL?2| zIVlUBD8b>DH2Wg1O_hBoaBokY((TbUyBrp4JVWEQ!Xj=8sC zSJWRa>wGcaJ*k<`wwEOA)1=lpi!p!jE|7jQfVvml$E2X&EVWG&6&l)@ugy4q+z$yM zA~k|6rfAXSJ_qm;xD)oHpD=aTb?nl`CNz2F4fmoxqvoImq;sd9+vsFQ88eoNY6}XP z-G*w`5ipU&GNa+_wEfi$8#S3o_^v05+@P#6ki<^UalYVN3@PAng=QOvB}2(HQ3<*n zCCS}xA2iQcM%9UZ{Cl4?xP$Wa(k-5ovo@uBQ{6!SQ)R~=ra-ktA_|H1zlFD%nSs0e)gk2V2evNYH69#mW%2Z38~-G(i@i8- zhQ(XO(4*nMgfm*`hZ^Lzt7DR}}DPgKx;-&ZXEg%jj1j;5`; z|5&!rGr3~2mzBs(#F6hSXjCQPE^$1z4O@>r$_cDkl3?XIA8NByfyyXbx?%N?)$F>1 z;5r2|%l+__#c#9@aY8n?8?8=U72e~*=dUWv=N+5bM>T7f5cmW~C~45VgYOwADT0#g zZMZzp3GZeWf&Roy!LKYh8&7)Euj$iKa_}#<&v7t4({*OIE570Z$?8vh=FaCM=Sni~OUYnW zYYBIj2EhB)wUG8c3UPL_xZARW&;P~Ps;uW|(P+eW3XXVb#Z45{yM&q_4?@|*bZQ;f zgF%5uIHyBR>};JrXPIO}>E;fgI%_6>ZpK$E@b;xkE@MDTcy4X~kOszU^zgJxJ05D= zPDMqBxJA+P55g+8*Gd z8+NeF$b(9y3n72K8&%I+z}Ch6Vd~mLP=56mR9p8EZ_6g(%(q2w_Np)=jgKbj>DQUV z=9 zT`plaqf`04qXzNg>a&?wp_szHoxq8gQke5zGZwkwC@Q-tkmNa8ap@|ddy{YzmF#NS zn4Wd8y7Ciy=3FW`%+t7$wh?qSDvSMnv<+6fiqL#VIX+#R2X+o~;MU#>mN-BT25)Z` zMH_y{#IlXBdA~Q@nk50A`I6+lbrh91#?i2GJ#@k6ph$Ds7;&swi?+ey2+=IR;(Wr8824qDQf)7ctb$32-C&yo74-f3a%?Ss& zIX+{#Ep~+>b4#Hg(V+w4Jv!XG<|x?R@r0e$s)4tjVN6?g2pv;+fqL5`VD~o>#P)Wu zs`fDOX$xd!?pNW*A#Kb(U`OwF#PQCWb7{)ZUA+HTUEbN>8SjtJ<+|ZRmnr8=|oR@62B%aN-ISh)f8MrK74(@BrpDBPccQLuIiRTADpAM}`e^^gtJiWdkN3UNN zF}PX=o9SeR174;)xMb}_vT@D0 z?2j!O3H*faOqixSh4pqda_QMJ-wDmGvcK2!A?aQ zcwG+8NS(wv`+{M1_jEX#b(ask;Ye1|Pa#T}1G$A(bINDV;zF~-=u@$SDs(dWYd&81 z_i1Z&htW{_YaoX6>r`MxlR4z6j%82f<>*J0Dm~ZmflT{+_}QRM4H~OhhtT);pBM(u zRQIE9^CZ}qG!hCL|HHCp!`Re)^SBD*J@`fS5-JHC*&UJ3_=3$sS9!W0T;AkJ!IzC_ zUiLcrFLE`>u@+|MD)76VAK`$$>-h1^NjAp)3%8)Wo~^gt#7sY#(97)I$opmDg72?c ze6TE3PrJu{I?K_sAw?Lcs>Nhw1z!v0GvhaXDE0D;FmrVkcs!TU@K_IPIS|clogPaq z#RFizp&3_>DJCb@Ac# zQW%h;glRgv$f3fRVpb@^0MTH2{Dqk8dwYN_YG~FMPqP-yC2Ni0)VBHu-_dtWxYPf{ z_j_z%Yl*so+rqKCHhVKhE!Tio1(KyAI7;^YHC0qHz z%%+W`b>|d&_E8?hiq?s_Ax;IUS1la>reVJN#+qvfcD_q%-(5`@?sWWOy}aAvi9QVrPVog!|88%J|gE$@?L^%`L;D`!}#> zyW`oz1+SR(p>piM_=0^&)TNFIe=$ZU8P-e{K06-S#q`T;@69i4*MSXae_jD^hbRbH zDKn4_SOn`ZkxLMEfo7leS(egZh=@4PEO$uIO1nYi@3k6UPA%iMC9Z%j!wm2;xr9Rw zZ^VgzGhoB=Tli#PGh1}O*^q2K3nm?<_bW%TpCGYa(l@6DI zYvfHDl6Fa8bXbweV?8eKt}S!>HAbA@uTJ$-ck$f06%<06$zYl4tgF>P!wg z)>zT9oF0DVzQ@dSqa^NA5$@N1cTsoPB+xS6j{Aeuxhr~dGCl)9pa zjrc7KljU+yz2YXmHr|JF$Mtzve?z!8FbVbuj>Sc-k~Bv$0=NA+i_$eM5IXwU`R=ui z{54BA78*Q=?pjvj^dHmt5|3kS!%PkIjJm)pY!kEN|K#z(r(5iEq&{5A(xpzTY`Q6- zEu2#>fPHN)byUZK=|^eYcl|BDb&Vt3h!y(#@*!~HuqJkw>F{?2Mp?~zM_N(pOjq;H zSS(PHr?-CKt{q54=ca*9zPjLJ zKY}$PFIuYp9s_&Ss3%3}y=04M;(G^JS2d0|{$oi#l8$J1J&$=ttFnO#Vd9J3er(+C zwcz!V=hrLO@SZOU$v0>?ebuz(G{lBDG;bnIJu6Q?gJbE2ngm^Ong$BDezLN_aJIia z06JZUg72On+;4IaU%c8#vPH|do`-dq->3n9H9v@r1i!^Oq08npt^^hAa^Swya$W;k z(JaA>a$r7p^Q$v1cU~=?S@oDX=M0A_t(tVEVKxnH78owE`SfMrQ_*CJIH+@(4!IKF zQSo|)_>fNwjZ~RIWuK6r@G71Zr-ssi_8cy#;|ba=z09QJ<0xn8b=KkT4`;k&1-INm zoO81Q1I&`RyZ~LARwcM*vn1i3^nEVvfU(ex%%RUsMQHw}8DFnUXHz^IaD9#?yWgOT z-^**sWtAN#cUBWVm;J}8w+nZI(`P6_{T91C{f4l=`iU#F2hyJULr@-e3*Vm7qn%4y zaM$g8CVlc3_*fi*J&WT+5|u_c>)|B0dG8`PMjhn9Xdmt-L+bTEMRQ5;*8W_8eg)-l z`sQfxojeVl17ewO#w^sanFGHzq~orC;V`bc02KCU!dmxSp<7pmrwjLryA<})O^_D2 zP6Jrm;x#1isz8^57LY>nc6$B04%p}Ga4*4};Z?P@YSiT6Af+|?kgATl9 zW{&1F-e72;D^p*jO$Y0r!=D&!$k1O&oa6{DaGn-jx_OEBRZ*s?uO4xx%1JEMPzu)D zO41gG0xUfsL&xM((A`6qhF+1S&$AEG$FEM5T^0ex{T1x?Mq}!(aOQtY$I__dKQQZU zBP};}h5j9-oK3&rKn_?-rl;4jb?cUjLhKjei^VSmzSB0`6}pFW4v6Fa9_rzJ9}T2= zc4^#(c_pmk-ykO4ZOW9?jeytIqwKWv{FZskAR)(u87|4imO&0oZSG;F|8J9M=I>XS zt`g4dejAfs^ILqUYDl@0yLe55StL~%0d_$l^frUho|QWwq5CZN^Mw!C2wB9}Mn|~b zv3W52^kL#Vk25c0C+dmZLq>DMxWK<}&|3L8-||?23u`?9E`j~%ee(p~UKbAyU7d_j zA8s^epoFiN=z_W6@7r2Hmo0f#=CA>c-|V61M>JWnNfCOR8HpmmoVQR}$5#C(!HZ2T z!Em)JMwu(n+fl-^OHUHEx@b^LYZmAjHKW@lZ8q|KJ2!w5ar}dGT((wM@Tq5gZN$&bg{BZ_G(F^z~MR}FzgSa<1kk`ZaNw)Ue}|O zaR}`SufsO0GiacS)l~_nShjG#sQ=!LP08Ju?=4!(EJrc;{;mtB)1O^qVT^>5%d3v;PIL23}-oege#?s8+Krwh4h12|h@ z#KNTvZ@meRhsH4NP#qNKDT9>zM)q)U zG_F^xg!iiip4o_K-c6jvQs>Lkp(R=Hq;VGWQ=3dn6^4M+`1ky9!`1M#=pQ>K?4yoX zN5DaE6$rZSNcM{bfAW(H{Fq;U^h#qRK2cwWN-cwFL-}zFg?0z>w%H0!%Bs-iKAet4 z+cT*v8#&Qcd$8CX2j7pYFqI9GOx}3_-~C##>vFH~e{Uf&Xhi0PYNJXMsPjq2aIBOlk2gd>pt1H~uW-Y`Pn9@7iYc zm|=~tLgQ(E^jH30eGb;8{Ss-L>CuvnOK{7z8s5L)Ig{9}LnkgQXEl(;ZmTq+rPU+0 zYS(hA>PlyoZ-lPA@w4jDi%tq1nX`g7rIDKzCNLYyQ!#AhRLUCG$RxIZ!9)oKTs`sv zzJERlUTKa2-+i&D<{60^|H9ya_6}zGUlb0mvxJxe8LEyAL(Oh;s8Rfa`whF%CbWrN z`4x*PhB??&FRH$BMhboY#zF%poONmsGV{LipxH0YuE(ng%$$oD7@z?DrWc^{>Pxh! zu;9C`IkH}@3T}VGDCm$0+gM=^H!A|5zRZA4DxC>2wT*as$Og<^(aKvKSVHskgtPP1 zO!i%E4m?Y}LH_e<(cr{s*kJqz$#FK?<&Wa02(y*^YooyN)WBy(t78j;qt^)4K5XX#zFNT!WR(sW8__4ZjK9J?DV2 zw0eVZhL)9Q63Mgiy5NAa65KbN4Ro0J)iioj5{AEDg~PhebC44~DNM^6Mi9u(87I;aFraRXZEd?gj5KD5Xh!HnD|{ z_1fTy-dpI^C-9VJb}`xHv#{ysWk^07L9+h)x$Ep9``4qxHp^DCv*xBG?tRMbR!YRd zszcbn;|H1Lh3#zl{XAT`u?@`F2|n1=llvO^ix1bFPOf7^@t9^5dPO>bOUE+i^L7cF z>ot`3b_E<^Z3-chsd(psCnsmA%+B3hgh4ms(Q*7_I`!U`qFc^E`(h6q@b?Gz{y`O{ z(jb!GJc?>^|KaUF16Xrd1*;CP!08jz;Lth)Jbj@GL#qGb;b{liM}Z>}xpFHUmY4(W z<&Qao`8uq{N{5{*old_6?~jLWJBu{lCG?xy*i^om?MO`#J^nD8x`b?IzGn??Tc#kg z7kuCzdq3cR`_AF=--F=C{7N*wv6Q@%ys%_|JbU$2nT~EUqyyX5(webOxHPH;dl!Ee zIzakN(|!g&CUpJH-gyl(NNBjx5wVj zY1{zonv|*y>K-$*d=Yb9U;w+PxG@V^Lz1prOVyKavq4vE`StC#l##4~)z?O|ioLH{ zT1OylxFSQI9?{t7=KziUm+{jsCyKMV%CZ`2uyAWCCPXR0cTR-ear-PZUpC;(mT&ya z-Xo~uA;z2wdc0}b9$_YUj(=ja6f$h2sJcpl4V2M@g$vd(qaAYe^Tj*#`=$*)e4?>` zupCMyo)Y*}gIK8KMeu#($lT&oASDgZ<6;#^YHw$=qXsZ+tcQOtlZjVb1&`|b@uIyu zjf+oZi{d=t!SM5Nt51tI^k%_H^{=StFYHMkcX7)-w=w+{%V6V7H7>8d3_8maX@bTb zbgcf36Jy@6(eIwIv}eoUnnMI%s2+pz%TK|%fim=8{~&tTy%)ml)zQC#$9gX>`qU^# zzgv&7g71r1Qm!+I2Db4U^>@K4199UG6KJ#zur{2YqDP}{Dbnwc0@tE&JJsra) z!I)X>XGth`N8&Lncesn%M}+=j@@j7INn5<K1`dyRcJxZOk`04Wh-R z2e_bz7U(ZZz_vG~sPavcl0)aP!H+Ak-y;fNHKmC{N&}ewwR6ll^8z-$;c&{TT9Im3 zFrVe*$UZCBh;2`3!-rRvv?|G;{@C=gzo`W%dL$2PqGU)J+Nsm64Dtu>Wp662*`%p6 z*w-4yx!H|icgVBuld?3s)A6qNY7jmOca zv=%zT8ZmaZ(05(5iV`kP2l#Y>d06?gaPJ<`vc-F7)HOqR@L?0H58^PDuVqtQ-njJM z-oPF&-^>0`E?8Y~;OckW!j~J(sCvZ(^gf*mw$8c&2iBJ=f~#=mp82BVewF;jQ%X?# zp&XACCgZggiS)5Vk6NYQbEc~rFtfZJk1Z&KWgqOxW{oZyUO&u_7CJ_izTPz1UXRXO z`{Ju&JBYIy1k)U1;ME&dXm~as%)0{F`c`v@?e%5%FNd+2;ZyKl&vum7okV^U^_bb# z734n4j7E64@%f`pjLG~lN+72kV&|rvWPgjYAwb3fP4fqklB_f>nBL0tG)mYTxnA7z zF#v5spK#j^E7?b#WmuW%BCwNhL)H!rdcEQ>KG9L7b-w3C=jRQC^xgA7QBebqr8wi1 z@O-e2T*)n5szJkkUgryTyHjpg4bB?ef#dTQkirpp`rcr~?5ppKqk|LiVx=6sc+VJo1CJh&~!(}m8Dz$Z()!zcE4qaQbkUzx2;mHngXNA+T; z4UodPuUDYSq)PBeb-;Y({ruy3TDWhS9AykT%B$YcqS8&@P-EX6?y3JH=68P}ZE})_ zS&uwe*fW`2-kss{r;G8s;$QJ{r(x7IDIFHhc?ibuMxmzYFaQ3sH}pJG2Dhd_ zYB62R!Zg>AZ>t(#nl+u&jP%*>13UORE=NVmL-#}eOC_ogE}`PhW!V4XKL0V!nkt+& zu!8v`h@DJeVM{kq#M>E6%E}a_e>uZr*Js>&%~I4Fl}OoXD_yRvw18|*P-zZ*!M5Jh zqq8p7ROUU1U9+2k^KJD=<8}l;?vx|E^?Hv#*Pr5Ry!^0WtR7sm&E(^4qxrLk^YP8q zzt~~_gHQ1L#l0Kk#nvWg!l~GNa8tBpjiy6EKQ9V?G-^}jv0Hq^yusYar(gIp7nDd7 z?Pycv9ya!iJJ|gR!ZBMDXp3eiigOP_`@i>Wyj=mPzu?iTb|n31*}%?NZ=t)b8`v_R zFxd0t8S?5zg8Q?Gy{wUf;idAZ8!u)9Lw>P+YfSOoK4n}v5#aBQ+05hcFxX;lCFHP# zGtap!Hsfh2Zcy{&mk!*`9!3x1EGO9D(VI6ojaQK{M9~MX)~V9rpbAtuP|h6|oEzr? z^V#(Qd8h7J`kZ0fWXxQ5HiF<#3M!A-Kp~fR;>>C@@=C~qH-3vqX`~aWZF|9{KTv~5n^nm2^jy#^ zc*PGi`i-+*R&&D-m(i}qd1#WN0Gw<+&Z%fY#d9Osgcw2W)j&aXNpTMF=ZG2$a zNuj%|#LB|j;MSE{Y|@OW7+DsE3#+Eno4T89SqB-UsqyB>LME8?Sm11+sRf{8x%ebWH+}6E-6!W|1C4 zhdg+>q7d4aG%@|#@7RsDR-j2A*gM|_-nU%{t051v%XGKttta7eioFMf34XzLLAFzexji%jLq?)?-BEu)*U;X#R1j-eTjkT!)V3> zbNu0J3eyE9-l478pipE)Yir}7;pbTPZLSu~h|FiUMeW$-HxFHJUgzlOcH9>uPtD0G zu=Q;cGVvQOe!dw+skVx@G#gOStTgBr96k$rK5?&({bGMU3C@CAfhiO1%^D{8;HK>L zy!54W7@H@{wk)5*#{U^iWy_IozV;Z;$YsG@9TzgVp8{2Rmdqs3fZbJ4rdVYQI(@C1 zKN{vqzc)G?@rDKqR84{oX~$%f*s>6D0giVKiBR6*b6R$#3&_tB6Q>rNqgep ztX%$x@feIoQ|h;{$5{(wafI9=jNvo!XfEKP^UZ=yb@G)@UUS4|*|@P}M`OA7ryevIX;$i`Vi4zkb% zH)!6M-Ol^>!gEj9wa&7Dt?%;%-tlj|;*$i&Ro6mr^JpmF z=?;YtGNC)n7U#cAqH%@;Xn1J`?W|ZtdCN9K?93oOSI9|+YNb(n;Vx0Mzz&(wH-Ie& z(O~*RMza}(F(j3%!VF6eu*Y$}bf-6-C6TuI$(*@r|txm#1^M%N32O|h>%CV(8W^gVkx&p6YNgw z^X}J<@{VIXVYKH=_VY#^7RxQ6W!65FBlIk$O_3n?6g_sKB@XhFGob&RE(?4ncrpXO z(v{Xdu=GeGNLy#XVU-M+m?Fp277xMVLt8=m^>gfdevB(FHRQkk$$}QSU8Fnn2s-S4 z&PGiBjq^HIp{jQ)Z|5VpBBv>`LZ?)CrW`~IS4qR5tEptSW&|ZJP$i}8IYQ=XFx&$t z&_9-qPru4SZ&)FBcDVy@>>Ew>qeax4n8og@#$n)tF%Z;N1>sL6U9~F&SNOUt8vSt~ zMS2_Ksas)CR5FrwP4yS;pp7h4vjnt!$ADMDCOqh#0Cx(HW6&H6TA13yxk)YJjTcI~ z?ml&0$R3$Nw&wy8_a`#LL!VG>+aTI*Wd)y_4`TT5`P>L4Ptvj1p|7VAUp%m*jkuiZ zWRmDu{U+Lw7DQSv7x1E}McmMsD=0BM0k#OUxYHU^^i=btc&&{L%{Z+Dei1xK6iy?n z!UFbXc@y31_<)BGKVTL!b0|DJ9=?7)$49=-hRa?Ds9WVa8}O?dkKGBRo#H1d{zV@(gFJ7d-O0acoO=B@J3D@Pr+;SoC8_h{?Yu%+xaB9jl7MQrh!v+a% zXd##0c@djU?sF5xwYXJk3&nr!LQ7WzN|&v`r~NxwbwMr5HFBhF;mGDrQJ}s7{rn8u z`J!(JAF}G?cyzyQFEXaTELuUt8%HF7#hesaRPP3R?>%7t2U1bp?>c+ioeG1Cov3!- zaC$aT8d|*@aQwFrdfYF3W~R=DjcK>o{=LUollFR<=xV z+>9b66(Fr)mzc$x1kRg0P=4@H{-N;u=&N`@h&8;$Vzv`QsfxTdC-KtynP7ZN9iD2R z;l_+f6R&-*Pjs~%Q`!^Spk&_ARCCvFA9%OR^+tkDLTJ@y!uO)X|l3dc}M${5_O zomkwEcC35;9(SIv73VkIV`U?z3fcTvy!G`q`}gq=KSO~3r!Kf8Q6{5=&eyK(?M4Nr#jiv{ecFsnJ;_KIN*4Xb)sLtzs6)Y-#F85`6LyoHBlPjXIw@9@tu zW5`N&21$MDWz$WqY08%!!u@_Tu>H=b>!vthQA`$E?aT(fu|iKWI2%{F>wvD-YV1F6 z&TrPz0!x!m>}?HWf5PWb$F-eQ_|Jl0G}jTDf*M&+-45KT(aWBm%4QD7PLcgvcTCu0 zkIn`^T_#UUr8D!j*q*35mwj4=a94dAcgcA@J8-&`*)_(3^wh6-QA^-AA8H5YvJe8U z{>T2rJz<}1Jz=${@T^S!iVt*iac5~58NI55boJ9%?fjYX_km&yXH&qBlUR{E5cXd0 zVk$lx@W*v?I?}cj;;sybJ*KO{wck{5ybgnvV+&BWP92OgTm`S3Iyclqo%?Dq9UjFlSS1fF6TE5cUKvRLT?TKm6F^ctAC3MK`0Ns$%x6*w zl{>n?zP-A%;H$^e2m1#6(_j~?A-vfSqsVsHXAA|z4BJ{Q^q{;u~K*0o_O1xc} znoK@&&;8kmssuJ~k0s3tzlm`}t--i3m`pca0RzL2%xPag-;*|h+0-R+kaPxZwnUJI z^&#BwWexe5O=ihs&r^QlICgKeHSZiXn=`+y3>sC1tWL|B(#rL~T7E2jE$x6G7Rj*l zryM-D@TK(y9^kb-oLk=IMjvc!Xv&^DczvJ*E1KrR4s|p^>A`VSa^4q)IQ+$W#Um_E zcpcvyoN%W7?-e}z;R}0ez#yvb2{eCrz#RHsvP-rT*tUE*<}94u3oA;Qir`g_@2?Ww zn-qt)OYU;d!^^3pX%1=Z%%Ns)3mmJKK|7WWU@y3Ih?0GP-4WBEwB;^;qotMKFSrDB ze@Zi>h?Cre&0FCdIMCU|3G9=Q=Xj*6O!faxF~=ZlGEb1Fbj4-peb58OY8O!4nKJez zJcySI$|eol^&}nlh7HqCYQL&l-YU297(=P0Z0Jow969+Tj5=WghXj zB@Lm)_#_*>b_gV&6r&wyLyZHku*iK{aM2(cIy5WT?yhWcUHMwz5|6V7XDlh?Vj=_; zbTY3xhQFrV7wJiLu;0N0pn1(2iVP96TXH3^`{z^qeqWXrG{5AHUFC58-E*kw>cx$| zrwIea95$AX;V=I*Wry#{z_0mx;8gQyTpI@XFZ4JIE0hJbAaB_JJBn>Qp~V`WDM3)8 zGpG$+3$MDRg*-(v=Ctav?-iryVBZNAXDLMvG@kApOr^ciasXe9DBx@!h_Y;9)xB;u z2#smXtaXsKV~Poa&qJq?j_;R{FUQ~e!S>O08#vCk{A3$B>uHZAxH)thz zTV%`?Nqa#)RJd)T1?##+!&)6yJh=GfuI+W?69E_5r`B`v%`)qREwvD!{v! z>ZtWr5|sO{X5P--*p__^HMNyMlxM)MJkrEFp1$Z3U%^jys)3Q^A9#6}boSML2py`9 zrQy@OG0{hvE_N;hji;_CJ2pb-col(8*a$eg+M8KNB%}U^+w9=aQ9_1m043%A6WQKV zW#Zll?&HFjY@N>LT{OFVkEz@D%fK$7ES(a=$naRUQzuW}-o|BOL} zCWbkjbKmQ6kr19%$&xp6lRKvxMtZTHuh8}E_zuDGo_O7(61go z>U})h=V3sP#!Vq*OHByXR>rudoxD!^d6f4UPUXhL6k_zLZK@4Eo7^S*#_fUBALp1@ zxTp2kSAy8hidaDCWGRy1Gw>kH0_>SgXR7Sa9eE$+uvwGKK1&v z@7-HeDi5PG6Vsr|D3mTfR-jpbjtKdn4}8&XZ+>b`DVc@m(#@(6*eT>^FHPM{RtE;b zMPUYGxg{L8|7yqX{A8FD^#)Z;PJ>;g(DAApCvHWayTZiL`1RdQ&utOTi^tN zpIoSOhdPDU4xyc2Cky+*3O0o))7Sm^c*K7Rx}`L-J=t-@-LQkg@-)cNO#zqlC-CDF zVg6-d1%2hsu;A}@{-5_@l&Fej-5%fhsyR8hJM0XrC1=`xZ^oI@cxQ6($p_g_+i8r; zXwZ|K#V^C9r1{&4-nIEt{jeom^N%>%wjqrE9Vut3n}(3on0aok#cJCG0t z>RUGj@IoJ+w2#jrz5OfMm~w*I$r*UEc_AdL9)a_N4Cp~nC;QLh5dX+Znza@F<>M8i zpk|b_a5v0`o}ni2?r8=*2=c*aIzqPJcRwrC(IbnVQFL}$GS)8~i%-|Pz@Ll;x>aOI zyvN-$3Zop@cD+ct)ba&`n*`SJ$x`;<-(Hyiwt+q95ZQ%j>Qh$&5YLi@-G4> zvW?3uVAgypLt3ry&Q+8Dm6#*sGc4Woe1bH$6wWN1;2E#2Kz%P#m9g45}dBzb=#EPqyq zR{f9R=>=o5;x*aOfWb7%I7zsprlCg6FAQnijp@pk&}^qlJ@%{V)a(%0s;tNk=jD?6 zYF%j78v)O*EMTv~a{&exv63J9^r6Cu-W&I`4VF0|`A~^n`Ti4)4&TKMtFPkbL)x`*Os(95EUsGOS;J=xBW0Mz=U8w|xred?d}zwvQkZ`D z2(;N&f=ZPJyPH`|cdG``tH15Iq~;xK_sxWP{dQnKb|rYsnM?yeJ!TzAZZvJ)0g!i( zXO^o@a$kmNz+4{{KHKmgcd)92-AZX^`SufNCmqF2ZxyI&*92M{;!VSTc;bLRe|cf} zO(P^4ptWl)n3lED9q}@-2wg*ks#0)$p9$T2ug=vRZeWrc*OdN8plr^0= z1m8S0AoIBc%$X8EQs;g%DV;@RI^!PGdK(Ka+c!Xb(ky&e70v9rZ}KArw!xS0zp;W0 zMKUXwXg~mEAVr^lvp)ML)(vyGB6O=vUbF@G8HxZz-GSsR(bsDhs{W3id{_koP_D zAJaCz32%o_r=ZvR?8xsEpj9%A{w~eIAFKYdxkAo3ac&A#J%7y%Cpd!Q*IxFj{S$7o zRwt>SXPKG30dpIliP~>A!_O&c?07{ibZxF>e&O}xtf?w^&!!SL?+7MeuBSPYL#f@& z1Fh;Nx+tgmk!7DHzpsBG8Jx1D(6jGR|78*TU4(q+)Q!+E|0cP{Meu`7oN2(Yuc$FP z0E#CTK(+ftQ2Q=$hWt}mWoCsq<6sMCx6lUER_>#tgH=h}J(1ZjT*1;Oxq^FqHE-6O z1Xk5!@bTmr7?HggzUP|2SM_X&x_SX;o~guyX%b|gx(HwIo5mDOJ(*cd4ydm*gMeLZ83rpmLtc zJpfweJcG7B8VnM)t^5z+4s+YPgdcg{3U}TYyh$0auy0@*e=Io=Qguw&xxd=%S5E-= z?&R_1N)g_Fe*~VGk7jLed`QY*JWW$ghlk=cm@78ruP=O#nooyNlT;}`;lmOf<7|rF z+8ar$<|w7Ahj1S1Qc&il4l#?}>C8zR*5bF2PA;!w6`rZ&e%Frk5pqC3eLC5#Z(TjH5*{ilNxv$|+d0mdohh$QrOBwx6d4a#?pXDQk z+_-`7V;u6JpPR)ga8vKpL22I+YG9+`uXh~pr?~{T4v2y~y%EehO9{rdU!*GZ#p-9? zxNMdlmF*k^VJ2x*D!q~nzfXa<(sKf5L!PYAn#NzN;*KvXWnXl)L<7!^qbAb@)Le0l z|9kTR_72UUk|o`Y+1rVp>|98(YYkzy%@@9Mgfy-DIfvQ4yNI$2$BRAQ#8TV05K*kF z3|#rQ22!R=yF#a!owZ$xw+?rroJu)+1?h|_YSGEvr64bLhehnN#=x;e!n+ghQkaY%`N`!w)@y}8gAVZ&r@>|#X` z#`NXVT-I4s3-W!wG;p^b#8Est3<;y0PE%GW@KI#Dg-pA|O#V;7FxvdWpR)Ahg}a0o zjmqnUe=4dFId~rEKJG@xi<#VuyMDB~C6dZYrr_kpNBrSNIg+^|M{6$gRA0 z3L2FJ&V!u=Ojgtb=l2I;>4STszydY)a<30~3%#L}qnz2;ZOc&W&L#X$`UU6jVMM({ zRIqA-7S&5nAsPD=lGm!HT*Il*Z#0klxvPvar*DB$^C#$#F$@dN_y~N>g=~|(I=McK zVd){GL2IuhnUAudiS-U}cH>a&S@{w>TOQ!l^jrx0qy;(cCU8+l68~QRg>X0o)<3$& zGPF9`C-q(6b3cc^=aH)y^O(lbeb{7PAX;k>3!nxP*2h* zwqx!yWX^`$&B%Vgw&1hUq8|;BuyNK`@#{c& z&O}+3X76!^>m@_z-={#n*)@|(QSuQb{FjDpDbG2D_+;uLR%D__MqB5SpJqH$+L+39uYSl9t^7gjeIdI6xo~jH1Ttlhv2V?K z`n7H!^xoEm1&{8aYuOPDb&#OHDIE3YZ{T*Q`QoJ4m8{p<9v;R`h4S9H*rjs~{fB!9 zJCQ}85V#K=?`@@b-5tzkoeEUn(x%NPEY<=WSLw6Wc(TsWU%y0xgaStZ5R&~k?s>6L%zi^t74jVjQijKaTKng=nu=eTU zz#WuhX(dP4zL|FHMY|_w-|?LNI5dxbG-uJn-Jaacvw|11M47Jr84Rb7c(nfr>VYfQ&6T_+)U`!MdQv;t;(w_^W~ zM3k$mL;Kzp@OI!}!QJwWX+_x4sIZOD{@0Kae;Cq}{8}ux+X=tc_w&}a!hQ0K6;_8h zu%5AgR3*JY;K$T3^J9nDms^8q&MO|GE7vn8jZb{vK{Hxh@{9#(?dJC=&!SH|$J0Q0 zz@~Y{c-{RpIvmwwvxd2W@lOS~b2E+KIDP{et-KBw6n==hz8cX|`6(bd#~t2xTVwdN zELfH_l#-p(1V(!^*HTjrDoLMF##@QTt{VWR)6~GcD@4 zo>2O)sf~L-w}jk+M7+b&9`PDszHE29o_#n(IAw}GGd>s3T-I3g$>kx;a_ed;TbafF z?UJW)8gKE}-(_^w%OCd1wBdh3HY4>9a`EXCq4sSufzTQy!w3w}a^PRKG`Nhqh>`HYZ!kOY|H9DpdRu!PYr3}T{du92`-l2?B-_NWL ztpMYUJL0z9LS}3941QJ%&^n71Ec&pJe<^Qa;)cWYY3NKL9}rD0x0T6$PdW`+V?+h|ZisKAGw)-`Ac|ga{6*mvB-aAF`-ifgSXE3|;(_$Dc8* z=EtOugbA1Jp~3Pvm#ZS|Z%*72ai?YAu9q1(Tz>%#+mpa0&ycosUKhOx*vXEr*ajm- zt~BRgEjQl2pYtf0O?&(*QANo5yxul}u6)j6e-2NBm~9yf=j%}8PH=H0B{ zZ6Dj7c0@Rz*0Xi9EJ1R{VBGtx9^323QI!dy(FZg1xIB$~Edrs(%bJokUvYoN2#lr9 zFmxp$U)ZL>IScm=$M1Sr(HG4!W;lt$$2W`PZf2u?_dYWDvzXS0b&INdPVn{mZ`jKv z)zJH&p^*1IM7IyvadTE@(~Jd^;MLB7q<3uspmPkiZu-W;?iRw~zId2&x)1Mmbh1k+ zQ&_QijX2Cd3*Nq&#J;UD5c&qW^xwddn6S+YX0~P0htHA33^Sm~#~)s(3f&%Ie>_RC zg$?OX!`u~$aCf;n<Sr5X0UBmsIwcP!OOX>S_6SDp> zg&9%-$@Fj#zrz#E-aCW zQ9c_lFZ}H)>16J+oBwQY4AJHX8E+#?8UrMR-q#c?v77}ehffQ$=4GtSQ6&Y24IU4+vGdtt$RJ^`_;@^d{wEI>=Fj*dhZOj=*$Q6C?S@aUr(-?OQJSb47q;cI9fs*J z)}??VF$3qf%)x_&MSSV29WY#}n0A%=P`PFnHUIJ;>q&E&e?u7DE=<8MpYQM~TWau8 zP6=$jX9yil(zN!bCzhwElkKv_INmUVE*u+9rE?v52hYV^`M$g8zE|Lf>>3Iug&d~) zC>JW9oQb)~m$>bV%9!ESPOKW}&rR)|P2De^Fj*)=c@`-aoq9o9{7?$tl}WE$a#+BL zUMxPL1{TK}+0Ahun9i*Ic*0zmmrG7?+}83KTT}g^E`I>H#c9GR&#PEkyC1@S2)%J* z2?{xPoPOF@@`p}FV7c@#(CnE?o1IqD@(=IX+7DIO{aKnnHtGUahX>;}-V(*f-I=9h zB*iTK!EzibL{WTVOAqY;@uKg#?^dZS)Y zGF_h-3v5^m8U_Zm>p(gznOK1@ZO-z=F`2ma_&r>`a}pDUN|Q^(Koo!c z%71uVgc&-rxX@7pPWz@axlJKB%JU2Ry7(JDIDU;kxh06@mo}4!S0G)i|HUdJc^rGT z5H-vSIrHvDe#!Bz+`Jwoa2fWH{TCMs;Su}z_;tn9;q(!=TP%nAUp&{gte!>8(!h2K zKeM^{0Wjyl2zu1j23-A^VgYEP4NqaWlHme9U-}SSB2;#lpibBN2|D zu3~L-;`pA~nNWAHl1>jvhvrK=(7^E?*S01O$FEGIZyd7dj?t_vCy%{#=;n7WmBg;3 z9UeudV53 zT@&2e8|l($_lCbT?lXV3?GW2>*c1HKd|}I>L%6r}6rQqlBt5-1V&B}sRI<%h%uXx; znTJXEYia?!oFu_Qep!=wlNLz!RkG>Aewq3xwImw_pLgQgpFuG~aUDp44w`rd+!t z{5>fv+N^by-w-3*NzFozYN!)B5JvrR zCZ~`4Y2^ny7Ve)xk8XRx&kj%4bF7-_3!Jf_=vuMNY)Kli(TQ;pgWGeTz4klHI;Z)iTRKJqUw&cb-!9hdDC6UZK06!?{~(<1GJ&)$y#vx zR6&YHKj0(94jXw;b<!;`sK!_412_te(7cpwj9FZc@LP5(2Y6ESz%uGBFMiVLBnDy z_%o8-TyM?^VW&Qn&FCqEzAQyDjd3R}*R#x9VAK=~J7i1cyVxgkz{dx>X*)45a3;UyCRpLx!|JY#z;!ihyvdM87#(KBJqmb_&gRNgc78DBjXcN} zxn+{q+;R9UR*e!T$dmle%}_GKkBu#tqHRzAvD7^+c)9i}9_Vr>Hzjx2Y_^)-ZVqM@ z-MJvwYw_si^da3eU35Yf@8-$l2MG_rOt1yK2G1gp0VH~ctV=>N@-BklA= z{%X&7Ix+VzJ`m2$YCEg&_ee38Yh{X?R`MA9)B@@pFS4(aj$pCUAKtyO5KmRLCX2yY z%xm9Y%*jrp9|ekZ{>v8}AGJ|9*Z$$cH8t^G^vRqq#s-Xmt@%zHcJC-N%^WH7PFgye(O+`@?#J zbC|_Qf7Yac(Di;YYbJj}L z{54fyXsEvp($Aw&HzgfTt1kj&-&*{AvH@RQX6($5(cG%x#muxIjz4z(1?!HQEIRoy z4_k#@yHU~p74Xv(`}A_-3QRgN2P3Pd@d*36iKsfr|~TvMQp^MO*m*) zzmR*;!Vf0%xl`}FnXc4$3jQoDFh(Y#jjjUrPisPtf9misdK75h$O6;F(YWo6IhKlY z@WpI(l0LAEfNAUqu`|-kR z!Fm5@D`m%z0Dm`O50F0^mTy>2BB48FZn6RYOWX~uvNyPynzm3Mw4I`KgwC*I3ixWT zfaM+O7?zvQV4DK0C<+3lgj|+8F#yDg!dbpI4BkJ}pdzo)G-*#bl_WQ!j_YN#==hE+ zguaLAGl3n_Q%Q5{?8s$!1wPO_j6<hXGWIxQ*L&uyW{Goh14w4zN|4wQfJ4>?(oDl_YWto^Q$ug!F5ZUPL)MT;`96Pc z%Of^mS_R}DwE^uFk^(2i3NmK9!IhdsnwTk1GN+PobHYyA^!F+sa6}Vh5^kbF?l79` z$%9swG0ETZ0QR*OoE~cku0Bl+pRh<^{CgAcFdQdq7s9-MDNM#1xb^us*tcF<%Q!E2amLtBgYRs6T5K$hQv(CQF3=v{nT?|v zl|B5YErY;l=n`H{vk{dx7;ysvUEq6v63acZoJu50c)3;6VEjl;xRhi-p=yh0QiRau zipgav#~WDuz1esqGl6Y3)2AhaXYns@9)#*OsW^T}ws=vkE^SEK%a$bQvvHQ&VExi~ zrnq7-_7^&`eP`x@N8DJEt=bc8%Q=b5_rJyqD!H(yUg#{&`-dwN2H=JaIp~SWF;cYffdOErPSc!+Pg@HwkCMcLM5pwbX z(Wk=rp}tG_?P+r&EU&XPm^{>5^bP_a1+vP!TsQ*aKz8*0kJ4U?IPc zA&t!s@V?DQ2)ZdE?IV>;tn18o$;Y#_iZ3|BB$E!ROHuYmSzLBY3Lei*gTR>WOvY>y z8SGJkRo@<>a_1)|q0xb6owc|#yAtOp#i7Ry9g0@FipLL)gnZFb9B$Ogcbbf&r*Cw* zaV0gP$;}#^-GRq&zTh!yeti#Tw-+gPB#lrn>1-8m!IGPDKK0*?sg?@4PNk!Z%v@C2qv6!WKB0?4l96jt!o zd!wdfQ$nW*wHXV_N?4_eA z>4`nPP)WeAzWVf3TLvuN`Y|bUp;KOU0@hWJ0a=@oc==l&v(%IT8RwBq%Oe)IzSN;B zR(7!BUpwo1a|bQv++r6OZi2(+72r9<1t=sBbYrMsfARNa6iR@7knpD}Fu z`yX8T!$?$#kfo}BJJCOWC_QK`V3*Y0=vK`Hfl(y^T|o-aAuzpr_A1hRvubQut&d_M zpS?>)jYQkE*?a3!Y+e#dmX9aXG2;fd(8C9m54^xurMEciIB|C`c!R;fVJz?6BRpKV z4waW@A}9SBH&>L>)V@2cNcs)CnXph`YCYpt_#Z-V*-qv*(U^Qsn9}CHOcE)kb5FU4 zcyGEIEG>Tz{N^qe5K>Mi>oaMQrZcJKjso?D@szZBx^OnHqj?Lu`I5=Wn7*eJ-s?Wa zDL1x4#eGvURr-oc&(yI&@yX<1U4;h^++(ZT*R$CRjp1sv0W%+JO3He7@NxbqR9&Mf z%ovL~LpOm-O7d{SU;(WBr2x7I?_>IjKCx`+bn?^=MJtCk+I{Fc_hf+zRYv-d_1-10 z*5N#?-5tt$8xHX2T6B|0zoOl7#im6{3I#h2r-GO)#L|h(ZPz!Bx>r(rnGe z=%shL&3S@zx2^{E@0p2~!;;ChvjINDT!7wVje;LEgqLu0=hu~nfW?4j_I6p>DgV*^ zxJ6(i|Mk|VkI#0o!+}Fs@t;D@+n6FZuU#YN}0k;d~;{M)ykZ1?G7%}NT&Qg@Wq@C%Ve2x2>_ric#lR&*~8fFW;@@UgI z-25XIzGW`KVTJ8n-Y6A3e%2TM+=>(UlZCh??+9k3bZdBPCBuU zATiGv_SuzUk;O>3_wEh$pUOk^YiHPoLN}Pcxsy#3SmW1@In)fOA7Xwl=V5%|emGHR zO%Fc`v*omf5cD95yvhgY~@{Dx4uK$z15M z*%U-#S@>lb-ya4MkuxExtO1LrEQIFa$|#?^6L+bZ;gIX`L?M1uZ|O|iuJJNm4$1@2iA%iBK{wG+%KRxOVc zaf)bOUCi%%7K$Iumw+hX16NSE6BN=rU|2#tHShV!?=g77q=uiy^PS!_EG&YrJiC?6 z6Luo;Ydg5#&vH?HNj@t|8ia2y2V9y(pfr+geiVqGK9;Oqq~bIP(#8<{{ZMagWl zaR;B8aUO0CD#O`B^Fi(GCS0EDNS!km!-2?axFq)kzG;l2lTi$Pa);AgA)gSxy$ny+ zS;EsjQ`wEC4_M|XL+Pt6gkH;8_V-i_(~z_h`h*WqB`=?X-pi0^;2;LYYr)0_O;~u> zfm1Dci0*lV2-+fXQ2aOS$a}_utI?`3Po2uvu3+MG>e&5fz?xOc@Xm87eE3WYO7|S( zB&`Os7K1CWq~-tI{*(NTm_$jpA_b=TdK%u_&b@o$ zM$=k1!q;g!c=cd+JCzj|N ziDo@>xjQYn{FjF(nM=R`AEUGlvxbg_Nf)(2>%=p5wXG38dl_*5$;Z;H(UYh+GoR0{ z>jFcill)6Xb;>(oOc2Kjx%i7%@!=jSee>a71go<0R^oyz4CwT)2~an%h}DU$vB-S^ot)um7l#$q1o)Thg$4g+Fflbd?Vlv%rgoe6i?ZB0gRu z>?{r)#{07pd86~LbaQ1e*;LL)JMlxTaqf4PeyI?a9;;=Wrz(*8on#oaa|I~G9>5(* z!E`&rl$2c~S;Mnu_%y5w=SI4cF3zB?B0aF4?SonWq)1Mt9R9V3Q2VHFcsDDXjGrXn zuIa<@$EzR;`kV$^-WWi}n@ZlGE0eU$%n)|hPYLIe~m>xm9Y2WR_wDbgk?hoHgNiIII-;w_I*x)7YE|$ zRhu_HD62)W`pxj`LLr|rSr{9#qr5BYnK7&if6*$e?qokc?4b< ziFj#{E|?WJ)H>T5(Wjy&^gDP6cN7LffkYNF2>OloC`~`*ZCOU9JWY>Hptx@<1a{OI zHYs5Pu2Se>&S&ee`ob`H87$;Lln2#b+HefM4TRC|f=+PX`WO-?D#Fr50M{z?X|Z!X z#22Mt*N|0^KWP}d95uiS|0+=2TNAwJvPI~uoaMS4)i%ygU-a~aYNPjekLO2VBrhK1cKX8pgX)1F_Noa+re)^Q@8^UxYb zrhc`e6U(hg+UYjCG|`JWe32);^UhAf3nPy}+bTa6DE=7*N!9O!yK%btZ!JK$^h>FeU>e8b~a~{t- zPS}ST=_Op-s$FcM=(i}i*q-DLynyiwM^Jt%3M{#ah;E5!k^hzL*NBIvgjC2<{DC$J z^>9)zl2uA+(vC3+^!tsB=!?|>mi|&j$cG3H@7Pe#EFD3d%vP8%e-w8R5-4@ud=|5# z1U%b~vFv0VXh`@_{CS}_6qSpnrpwu9A*VfXMmWE#EhSgO8m{hXJd8PY9`Zx$_|B}e zO!mwd?tEPW+>TTM?eQMieYT&Ytc`Tz{2lDxUx(M{gkboxL^NBf1MeMzXmUic(07?Z zy;Dm_JT#q!xB^x0ErKpHH&W{g5m?Hbu`cx+PFw9w+CyZZZH{n1jJ(Q^3)Z9$VU_I1 zoQ0&`KaLzNi{SplXtLNmlUF<#4Pb7 zhAaGyk;gIGE1jw}?u#@^+SuN`8W?QSN4eYO2%X&p{r^>a>S)2L4 z#R8*e%xwB%asx{amZIvgp=8(=L;VE__@~Ps%7HZPcE>J z+pBP+nKa}aH>9&%Et@v(0qQr#@V4J_Vb)Y zy4DVMV+vWb+j4OFdk7x81>v&L^PFdgDcd1k%vSCgORFjksC%wEg`7*k-miaIPI)Jc zP6>zXQydK$D=q9ce=wbs!zk1G0?JyX^0f*{^zJ4?c~$~?riS62NWp7<#~(fROr~9e z4|8jU8YEuIVdb74_{YNoo%ViZt2fVQQzFE8^LO$1XtN%?vKhn{WMqN9;LO&Pd&Jb` zK61~5`N8-iKUf>>fwPx7fY^pE?CV8%_*823!BBPv=~S`c7Jblxo0S#Gu%nSL_-_HPEh)=(f7Akv1y`|GKbj6Y z{Dd1J9dKN09Ic*MOn#EWEc)GkF1V|obJHnh-W~_&)|*weKcW+{-&xKkneU(l&a!oX zQ|tJFXE{vweK{}pFB(pC`GB8y0L)mS%`B&B!BCs!bUb_pwyY|I371;g&A1ITzI!mI zV<5~qJ||%KAyanX4zjfyC&00aBLR+EH{>B%WKSwQy#nJ2RII8QrRV!Ll&b)_OkjB7ab~)RJMp&l7jNSd%BX$PGc8;YdO%Ks0#)P|+ z6^zLt%iv(EA`HH%&S}`@vTn0QkZ^Vfb&d095~sh_MjYP{h7*c-DT96-0TP^?_)1ux z;myW85D}WKgXuduuz%VQ^m`XY8=C}1sKDLm&Rvc>zmB9Gmg4ko#uT!=5=p)S>%l`? z3WmC*()^OE=;|^FR_TnP+#zvb+<^RyVNco9PpfF5jxi-pcA$%Iy~wa82?sF^T0IVM zU|>HT7T9Y2Ym#Bs$o+V2|3dCtbS&N1xd8FbQfym;8og1@;%q)ufajpeWc#1chl=H~ z^F|l5^-tn`o?K;9dj*%rYXcblO@U7C^kQ?9eE9paKd{oGP-La*OR`qiQ7%6c(=W`S z9N)Wa@eRS3T>qZG^z;;&_)FJ)yrD{^`XgAC(ia>Y{fG^{_5|gP-onJqQZ#vSkT7>S z4N6TypS)b~N;nn6kL`u9;dv=+UKK!ZWy&%y~|#e-~+7+0QLJe}z@59*6N$H)0ci z*ZS)a1?=b^jk?dr(3XS2xXCS)Hnvpr=lWAP<(E;A?4N}ajg9z4fdjFF2at0hCjZ!7 z=xbcS;npMYYv^>gW@Z3Bc;QY*CC9)N?@Qd0n+~Kd{fEtNHl*AaQ)pL;EqfpP6J>ma zT=yn74B5!DlwGYXv^7t!Ul+i1isRXX)o=#Xub zgT^)|+~*s_45k3ZFFyiUT}AkK2kA*Y;scLA#Kina$f!vcGDw-2_&||%?<^5qX%g7@ zw-K+N(8Jt{TDU)q<3cqQ$@#|#e$5Y0dfTMHFKbyy_YXPqmSfuBwYiY1z9=wj-+qRf zU-ZH6-xMxb{ZOfqFR_ zWu`#mYEKKy(uuV<%yYps#)VfkY@vjq>tXQ%Mdq;8pK@L)a8+eqaMEEH9r6?A8l!Kb zu9gAS9vH-q&sU>VQ6MPXO&7j%vR8Fwg{B_$SMS<^i(H1s>4nze|w z=jCD6Pk??_jQ34f(Rq4^e@aJUwTm9)2joHcy$|fHL@?x!lcj>IjA}~aSypR7t@@c1 z)?@h=XI6&8q;+xd`(8Zrbw7(0CO4tw%xIEzih$6BbJ%Am^b*2>(z2G-t~D=(51%C#)7h;pX#bhGPe~&7k`80w-E&m0u>&ju-k`(X zC+Jzx$<6m1PhLUqn3qQrYj)73F6VSsczSc~K0iZxTrWev{lZWq&6IA5KjC`rOu@J- zTVUFZcPuVM9px9!WghcxvG&N>q^qXDN?gpW^O7atym=v0sg6UVdHp!?;B@jysA7^u zLuu%L^;mV~Aqt{d^zGY3$K!KB@pdF@&X*C`AmZTUCj8#c1af9GW}%m3BU{-d1rj;d zWEh=8TUHKcH-m0rbix&`)cgXA9;pnC`!qpUDo)-m2bXQ1 zjZuToKtbYX4Dfx(opl=uRp(4u#@-%ukKWF@k9e>aWo;;El7R^t%KVG(9pE|dB1HI9 zGxr6b`C^rH2p^UO?`Gt~IAP8me657VN*17goHnNasbjzUKd`?mH7I!F18ne%zyr5> zxp%R1p=VqXFPjQ<_-#1*9-2-)`LSeDE`^V3R5;JE>3H*5o;^XXb9)Zl2t{+x5h zs(e$ro%LUB!#bWp%y3lgafII*!u-}ES0wrNAW6yBqDGCg$R?tYid%gld5bGGX{y5S z#5J@q%N}39+W;P?CF$w>3v4%Yr(l62aQ}N#?bvq*FztB|4E*dAxH*-gcfZwO)&XZ~ z%sj;$jw$1gyUQW^;!H@D)8S3SC17xHvG18ZR>TNYkMK67T_uf=lgQI&A6 zD^2DfnB~B{ayz7UDGJ)7jJNkJ=gVA<(pp0Wux^j1gnxIj;Okj9G%A|v_D(0sN@+S4 za0)M7od$WdnOYr{Y2iyNaJ{H5`cLy4E;|-L3Qi~3;=jeTaeEgm3^~a6YAMr^@|Pmz zEq5@r_8_bO;!gqogK0x?1}-;QNG20)!R@;uwSL`;!H=Y9lVmiSABmy}BM&l~HHVfe z&VcW^uIy96N8Gm{m!B9)c;@IY9NHRAKkD>g-KtJz1!u7S&M=|#?FjigMR>?bo9|Mn z=4@~M#|H1O0x9c$RQB|QIey}hk?@KAQts!M_*t?Q`wRG~W%W2(a}-VWYQRYc-r(Hg zlNeb08!dC^FwL)eaAWZbh`b|Ce?lkIB=H!yxncspEy9~Uj%a}9I|jJPNfUa7y|}&0 z4IH!XBs1M{kG)*`30FnVVJjW7x%1)n7;?dhs0(@@JPgKaDQfQo-#a@ewj)a&k14_&U0lZkEou7Hb?AQA4CluAfQO75t<qX;rC(zO`1sZ?fmri+nL?e;F{%+MH*E#jLcm8))Z7~I;@{DPmuRZ7qoTDjS z`9hT81%`>DNoQA`sA=62s$CJy?V0`wFHM;bvJU@YN8MSruH7GsRtUM!LxWhsrER$K zxDyS03SnKl#Aw{VSEw~l8_b8S#l{(lWbjpjLdGuQOt(8w!{TVT6p%`~=>?#+_%EAp zKN0dS$bz}#0@_|5$sKzeLuWT1g`Nol>)=JWz>{o2Eq4QEe(e-pO{+i^1tl;R_T^&2 z9sFgwDGUpa1nD!*wN~m|X=QI8t_;QHp=8Mo_%35LEO zjpMqf!?qFL?CuU*=vKXsLk{t{+_V~P$C}WFd7Ei*dME4LosVPBALcj7yk!3tzv6sO zF2tgNN;oec&RlP_a3qrm_BkSGR@{%rJtnYGh6*(3%XYXDoyqzeGBNg+A+3FR4rT9_ zu&au5p+V?j58XDv_1(+jKHPYZ1G0jHdXE?=y|{yBQQ`35aR3CHbmF9M{j5Y8z*24+ znf>cQtEKyK+CU7umb@I#=o(Yf=iJ&yECbYUMY68w-|X7u_51_4g@bh^K=I!fcI}uS zE!7shkEMrMeVaCoUS~vef={s>dg(ahua{^=vnneUmqfR@3t;m?ftRfR5W^lz;Os@w zc=F>)nid^|wdSXxS!o;dXPI>C(oM`;tWRt9Nz>Mco?L`Z3_Ct%D24x3qnA1z_+Pgk zd{%5mp#aS?N&?}*+;Hl*gKfQ8)HYj)mw%0R*Hl2oaxk- z)x@^!u4Pk-wCSrTn?@(5fOc&m=dNH!Tf#3esUdNgKHv`hx4P)fdVyS+tkiCG=_oE-gpf$IUEVFw_L6SHv{Y0VqF~?d#96`qCH#rYXg`jDX>M0)8O0{S1J|M<+VlFDOLy?GHTXe1s{4qcs6^UypP#4p}YE{g-dE4N{9Ku z&@kdYpLp&(evkJ=H+JBsphVg!3Z-e;KiCG3D^rW|ely3J zk)$0Q2-jiT{4 z!ic*x5_E^1!net_n0+H3S9e`TkID%2wY3DZQ&}A66hz|MA>5jm|Crw~!RsqOn)Rx# z<{J`};AnOyOe-EnE%R#xCwL`X|6#_YZ8gcNECl(hVJKE{1#1n$_*pN_Y37yTv{x<( zD}?^w)3yir;qF!J`0)wHjWyuCMPZa(lLj4m5zsp<5TEg@&~4cOHVr$&9>NDMG4vhx z>vcAs&M#sa$Z+fj{^V4nd z<3KG242r?9l#Oul?o85uc^G`UW7(9?v!US28+4ud0WbPyQABkFpyUXUelr8|BpA(V z*owPE>*%|*IIQ)FV*z*cu&$>R@P{KwZ@Y@sR@15E)OhwpU}TOs8iqv$W3XH{jxF<_ z2?1lDG2593>H4h$fI@fualRFsw|oQbylx9C_s77m|Mc+H^D`p*!Y90Ww%~zZDEMD* zO4GcC6jYI^7mc!HFuA`9uI#L$Qo~4UQJh7&Tatu)(hH1Hj~9(wdy094Or)Hv&b6+V zilk}KjfvWuxZ%p9X^*C+Nb;rz1sSWcvu_vElY72k*7u%GPE`=WjW(8(;ljF)Poa(d zuW*9xA<@JUg7>g60*bB1Qsj(>A`euiUqaqwh?}L5Q$L8>bDhyEehTwFGMJ5?k%etl zx>S=lkN3O2k=EURjb&esVno3tN|q32rZXW zRVAty^19M%QuxHgd{7-5#q@jy^q=k#7#kdqa{o;v>4C?X(6X1_Wy{h#>AR@ZX+fDD zX0X~x;M2EjQIO|a$|%|fHI=JCTl*Wb98K81RmhCHpXR3x{lz8?OF(!Q!mG!?mk+p6_&cETo{ck~jP6s7Qi37Y(@N<(1>77s3e z`|y>%8BCo24<(;WqfFs_kpHoTDIUp#PuGmubyaN){4C4AIrxTeTh@ST{+c*zO&bj1 z7QwWkv-wixBJ52vgbWu;a$cPW-{w1#@78WSka!=TNtfVW-3#zV{}cDaI}UaZ(joB$ z_fgi!0E4vl!6*JWh8~mQ+tn6}=0`W;n9kcUSn~+$cvQ^~T5z3}-B2WV^KmRnw}Vy4 z9%rQ^b86+DYm(R07rfGeEWT7SoK6==pz-seRIa2BTRsh<Xi7mc&J%VSPbMy9Kf@$y>(BjV zhu6%8jfuZ8#B2)dwV1)CXg`2?>&A2AHXdUhcl1G_$)B!#k)eZ8u0kWUm{$B3NCub1 znV)b+ACe%r5O1egx2O7`%lv7){eLrQNPsF_zN$#(@{_q6dxJ>fm=A2bpF)pTY^?QA z>!^{+c!fW!G|3|G3!D8*4Hjv8i@uo@;=flHaM0y9oMd4>8*^QjZvCr*5Ka>3J`SV& z+xpOas}2qR-9`s-5i@WbP8yX_V9RSWjcIbwG2V|~qZ5rQR?6U(bHZ#ZY&}G$2>jdO zM$CLq3m)~FK-yb>)O_g>_~diK$n-&T?d{}oXklQCqlPKLh@oY8H{FT8o*YC-(r^TOw?$cLuofZW5^R}cz!v8EeV{0Mf-}`t8c(A&u_++JCGIbxy)vH zt;QBRRe`fEA^fM;;oO)uQEl@9d}wM3xl;b*>ZyuzPn=_u#wTJ&Z~|4&SPKp{e#|@T z8yoDrnd;)TaYuI!S1C4v1#9}$4kaHt^KMP;NPT5yFj^D;9SDU>AG9fR{ZSIRFXM}g z2f+euYwEdof(svE$u9eA1K3AWxVjrNYkI+&(}LMO$7B5Fp^3;zag?J!6aEfq;2SQB zpj+Y)i<+#+tE&9Kh3ksg?D|alcA3Gy&MaKtIs%}n4EMgA%04CkWZkFVv3A24Tvn!t zn{Uo0nG1X1YT|OV{G~&qP`J0e7m>`B(X?Zx9}NeA&(oEF*9`4Y_T6QSdGVET+vDLE z>65I@N?)46(ou_GiQQpvpWzH9-Cww=Z--LI z)=22;HRKNq8AHPlc<} zdAy}eF4OyzUYqkeiM{`Rn_paU0OV(gr&jRE{4LH_=?Xm))kT1>K~ zF`3(G)b}$urN)tkD=sA;w?EvP#A8_B^clBZAHnwfwP1~WDy($rpg4sxG<7JZw$=wn3Jd#*Z^%wRpw+2qD zKVcJtt2pECD%6rb&IV7@A?bO8U|?0$u|2zfu?lq+F%$d-6 z=p6NoRe|vo4>@q*r)rP)lttFf1Nf0xF*gnuf z9i0iVOK}A0)sCVu+17M;MlU|<9}J_{NKnbj+cjTb{D)J*r&6fUWnX>p7Jir903zXh zk+?pZjI8{ysW%JrP7S8jrjaCn-~m5KQHea)3)yPvd#tMFF!1+cpt9WkvR%SJV6v;xJ>6AH6?w zlbbFv3fsRZ(S@55H2BFJIPh{ZdD(>04_!^IfOl`ZQOHDnc;-Q+Ylqb|KLp z36OSKK=04z3SJsZN>Q`nZkz~!z#f6I_Fx4Cb*=!jf2PnIzLW}+BWT(kMF^XlS6dvc zP8vJzvifDwAj?mJ`NE9v`sYRPVZ1h7aI*u4A!E4vKJBzk_?FjP*TwE(N6Bt$G%PuA z8a5;va4G)U1XEUWcNJHVon1WaDmljVw4}l1%^YEezMpNk58#!gV{z=Y*>J#B8(PiQ z)6eF5_!_Z-OeH_!^975*md!@}I)8`=xxz}14~5V7R|yX9&uAKw&9pQ23jPHz^1Jw$ z&2n@D8O1Dcnz5Tg2c@Bf-bbeW)&lG|%%pRv#b_mW6Xldu=s?d3sIW6c_wNhn!^l79 zU+8&I`h--d;v^w1UxS(t&!yfSg1^q@2@ZMZ%q_fdgR%~uV|9uNRYq2dv~qY5%a_;2 zE#iG_y|xND56(udszl6Kk_Fq;op_ZGVVIJ2fSOB-_@6m9*xwLsW?sDy$N8?u!09*e zN>LtKkSwHkxRctCb1>=BP#Qn_K2GXhNDm$#qmK=vVf*}Ee%F&rOzX}pvaV4jwcKWm z9$7$ZmY;^=E?IJ#wj8GZS_Yt;f@AA*!8@@H-#v__{3T9s#mEJ>CC%hKZ@j{c;#OYQ zdnB0Kh`7D(twQfs3TxAjVW)8COnW*H^~9=JtJO(nKi&nQFc)2lTWhCYokL>Z&!L#E z8(n;qM1SAs(msJH);x>Hf1i(W@v3R;94bOvYAQ^MPh*Lj%)m$P3U6R`fJ+}YjQHUU z><`9p6+N1KsYE#4SUQPbYh~4b{d0})8^4!3?dMHRN-@I!rVC#z(`3)Q@@a4CP?$Bgni=cmvv*!PVBs!C);R-MwO(Mmt{FwAUkK0V-+l_HP$jeVnW%EI z1YWMYN_XO};Nna1Tu;C_s+=_u#di0gD5;*Ao?lCe7c%MD{X~dcqDt)*3GCK_W$cai z2#WsiJNqN_j*Oe~*@C{-T8&UYRM*^!_eD4OkJiDo(k%}=M+MTjB6VhcBak+f^l{3< z-iE5v;ba-oNB$;i?)%PmJ5A?C)`U{$G{NB__KYtYV?sqQ_d#%g0(WQ5Lrwkt2-C@sL32IC@aEv3t1RHR+wQtuoHMFf5`oIK6GfO@sg)EfWqrF z><_IXx!fo?ELTZ6X_w(?*FqK&C5Zt)zw_HAiPbvsBwHv&dmO{NP0H*i{`2Bmteq~Mfx+@NYgM;0v;SPgmXUTqB7X_{g1_+c=~ z=QgfQ6tdj<75L?xDr|Y`4sUKN@m5Dp;54CE;q*-CCKjl{H*PM?oOpp8T!#wWu#qrw zrZ$ZHT}bPWOK_VdlW3FU9J1Aor-Ofbp}SEH6wZBNL4Olq#N(OtV%K>%KUT&@^8HBo z)%qMCx6P$JIlEc=Oet8;?r@@jDX^eV7jkk6u|l+g?my0i;a5C)r^KsR?zNmLhYNk_ zNL4B_jHR2eTFE&0CU;YCgJoKDvG0QC)_Y$CZ88(`fGf0M>GkJ)ghw&E^hbwcjl@~J z*dXAW=ELtjO1L{@H@c4#gQydWS!TI6sZ39y)Wdm{Yj>DwV-EEm&Spl?##+h*SFg7} zsdz5uPhX0lm5LR(R?A)3ZwtR=oo8J0mO$8Ns0srqFInWtA=v4-kDdzmgzteXY4&Po zzOgzHKY1+%P0?Z0ANCFZO{pO7%Z;eHyb_GowK3I5TPp8Q1fv2Uw(84PX7IrooPJ$o z?tMu#SVk6ht2n@gdC6?LUOXGMu7LVBq;W~2^r_C17%o9g7U1Fn`rU$8+j$?`U|x<9 z@6|ym`y9)ARmaU#8vpT5nU zyEoxq5zo5kJmVwSEc$-Zfn1Ac;K!qhl>FuZQ^-|?ck)9-f3-DeLcU(Wyi0J_sbi|RK-b;hMW3O_<#|#6f5DnJ)uZ2}BZlT_X^<2RT zVBU6{>3z@xeDL@`(YeEhaQWIrOqjO|N|M)s?XM8dRbexKV1zc^IkAAAYwN<-)uTy# z_c!)7!<|y!f8{4#`-P<`*VvgkNtAungasbChF_kpgO`nyaLn7=F#pvP_Dy((6|ZMA zJ9I#8({1D=&CvsuLwMOShB?{^oNP8Apd$`o-p zlO#SmQp_w%S}i5RZqYdUP?dr6P2HG^(7%*iqE9zsBFXUf2r`}dfvK(<3U@2J`2hJB zI7#Tm?8pgc`z+(=$F1Y=Gu9SXyA4CBHEFop)15+()-nm(Sh6@g3EDfY(6&h%#+mq_ z>*w{*)43QX3k(gv-XW-W{}EGhw4%$?J?YOO1M=H?3dT-93+B}exdWbktY>2Pxw^1qIf2Jy zH-I%uK5IO%mHHCs-`bi)t)sA@xyzfj9&EwltX?@;Xhmk%&r zf~v>^?*EgcGiNtZ@PiStZ$ z2)X!TKG`}6F4wN5rd~;?%>D+lx+VZGHqovTp?J#wH9NRN19q&{gVu8w$~$4t`n;p|{i#^ol06lqE|#;9@t2sUco8U= zg$TL6g&5YhnO?qILr05=PN=Q~v0o!0sXvNzeGBMhB(d;>KK`?NF?0%i_voBAXnb9m ze|QYxziGsg|Bzke)-OTJ?>xYhvsta_dZNX9_kr5!uPBfk;AD^`J-_e?Q@<9m;oe4M zlP_gcGwBVR)zB`ue2l><%!|Hs4P*IhW%#xiT98pqyzQ%<)D>@lTf7gkdE46A&(6I7np!&#?~gs!g=Xs2-oKS^z^J-{5NOV}Rzn#G(eqwBUu$;2pyJ=QgaQ9eRvzNLz7P|SxZ zSr_=8$8r1>VdrEU7Z1-KZ)GZZrgY|g51NKu!r5jbES&y^^GRzFRDb4V?QtHao(H&> zQo(vk+t7Dh7n3#{0y;ZRVJgMf-i_JI)J(6T-IOtOBKjSke10GG|HYAC*EE<@DMxI; zi5`Y_(4x{+%t+kO`eE#GW<5WhbMSu7&wrQ=!LxdCf{l{k{rJS3ieIs3)|J%Kp~YRw zaD`FpFM+v*9I2Kzp|7JP42^zH{%%LvnTwf}?eLbJ)_0|;E6ebu#!hxy>>$ZlmXg@W zg;>77kJ+gILJ##OOzjP&iEid}$x6t+e{aQ4I~*WQ*lDj`yNhzw#Yyb`J6`&!6zAT* zmc~qsVdu|JWR(L1>tf>QQTTbL$A|E4Ey>Ji@=Lb$#2KuqR)gfT;`HU}1TvnIL^DGC zSm!ncx-UwA!-3HhdU+ zy1zy z^KCx}s$0YV7~G5o0(&I%>Hw42pNTK7%qMF(KkO-W1JyV~<{exgOimps9Gs4Zl= ze4t30R7X(i8wUl4_wf0h6PfPmdX}UY zLnXtvf@$kI>Wpb)KNp6R?P@Owe`mnVCRA~&gUnfqQVz)%9K_wO@%-ZRfmoyNP4i^^ z@rQX7#cDOl2@1fze2Me9@B4?fAo9w$B2~q~#EP^A$KsnSjgPNzAvELDIL? ztn^PC6@8GWro(n{^S3^m@VJ-M)6%IsXe7OiiUj=$@g#Fu@STM1VftPSVjY#C#=;Mm zbmxE&M5W!IILO!fw?K*c@iV}3b_HDe zv5^Y76Zqp)Cbbw>kbdt|{?1zkn_QEF5cFjeSIV6hx}iY4VK$^p4`m5k+F9tmn?fIb zHjH>bm_`1)%4sGx;n!6K7-9VyjTL54^}0gv+}VYXTAkr(dz_S0SmW_~N> zrnJnZL@%CA-z<1~FU}#|T?^ST9VhDdcY>dz5=cTx8YI`}(DYfesqxB5T#>Fx3Rda3 z`kmlW*YV}YPgVpsvA)`4(#wU8TP$1HCdIE26B*lDB-&RGg@%hjFMNWVg*FZ1DJqwsz`F_XS0CqU;5!8P?+7RBb2^9lwNDK~5w zGf_DKFD8Fy4Ua4#I^!&dMGByk)W{OrOSmH|2KWFA54y{1kaP8Yt~cEZ#~5_7CAKQS zStK(3pkQ+Q*NTm)gSn0?&sd~vCii9bLAKPzkX21T3d_AcP<`$Z*nE3G>{d_aUW>kA z-&!T+KHi(R6S>ofaiySVw2^KbJ``Q9ie|lyk+dph9_~y$!F{!#0!z0P(5)x8IiF1z znYiXXZ2wz^KTM?Hv*a1Hy}J`jX1CyskKU}vvDkX)oBtq8JeXX)ky_+t!QKp^>pt={ zir&Ov%L@m%?pX!@T%NNUzKd0PMuKmT6nt|(jAo-g;fO3-`tNfV_V{SQzQdzNid}0>I#ITCJ#iqaO`9FtF!daCR`ZQ2T2fNByx9e+m z`QjL%Pqdnj6|6;Xmq1uNNcc{!iiR7$py@ts6i`ONPFmkcMW1D0qH&Ff7<4V!EEGboQk-MpSB2Q0QNbb2Gv?eJN@? z3AsCKmtaVNJ^zz!E`on-|5+$FxCLyaA)RHBEO zlUT6ebW%HTkNq~)ra^xzSksUhv}B$xc^=E*OgjwN#(UB5(>0%+JsL=>TI1-AMLKKQ zUjU9Cdf@tgJ9l5m;h4sVGnbV8xX(ikG<56Wbzc^&^O!_c(xXXjj64}jtjFhd%@}7R zy@& zt)n5vc@0U$JjF+&Q;};D*tl;6_UMTaHb`+V)bsn`{1_`ZYpI1^(d$ri@IvaSIFFJp zij)(T1T)UsQ&5#Qq!+i~!;0^`+WSm4&r^w(c?fy1%kjaethp^=vo^x+~U*e&UW+ZjD zAOBS4kZeabAMMzI9H29}XmmM%N}W-?zG{2UFJw_&vMb7uXcniWlr z;ZvUc;G(XH!K)v3^n8ycPR##Z#XXXM2xTM6xnVAJ4XXK(CynW?whg;Z)6lekISZ;+ z0Ij$ExS+U~o4#WwPCpn0;iKbVzeNR-b$ddJR$ zEarOa_1NeH3wUYVgrP?jAmpmBZ<*%92DUb{&r4Nc(JmDzrRfwHR)Q7(1PkH`P44Pf; z$FDM5vF2A6*I?cz?6yWzytX4%OlGkLADMdgkYInveR?{&X6_BUHgn6HV{u-}R7mZf#=n$qvuJHw z%gsNoM9PcznM)Yta58?yC#_x?0m>qXO$V{v@`$4W>YF$9ZVmGL*TMabv&ICdn> zjehO3qX$<8EspPhhpQtrDEwFEk@ zmALzJ+QoT;U|xBHV~23ecP$|-`|@l)L*>}E1c8fHOm_ZXYD)e~+>cd-2xTPR=a0S<_*A$OIZz)PAlX@6(> zed`OJTpPz7_?T?o#1CcNKaP^T+87wo9!qbN8u(g5%~U28D+ce(ehRh zl$;yG{uxYRYj+IiN^kn`!Ifj_bG8`oJGTMtm0qKpY&48i5Tqfw}BS6wjH=8DCS!8>fkc@#PvJK@@{IaJ3@q-)n#(8P{5 zw#R4;Z+~PBxdiz$-3vVHd%POrqc_5EpM_N5^BC06RkHDePH^pG1VpYfhOn3uEJJ-h zeHtqXS-pwO`)?}zZ7hLW2Wjf;9ZCa-uJA{tKVigqSz4QCPh0b!GncKi0 zrs}^1tdc`n^UEfj`e-F84sh_V)`otYa{`a@GjBQGiK?n?Y1N0fm=XS*rLE9swyq6e zpZJG6Q=N%FZa+b(v*W4tM;r7y^kZCG1Uu7pknY|Tfvp{*V3dchdG5JH3O^^w65uGV zm?B57p4m{R`Zdzr)QE4)V!*0oJzg8T6uxD-!-cea&|Wc$-8ho~20~W&X!bC=vB?D$ zN;+`Z<+GIbKAFlzrbEDpgG}9f4CpTN1H}q6p^G;WW`Y>J@BPO)zi2|OyobD&=O?_r z+#l@IBk91Go7}kRN!-!06WqK>Ip~}xORAluf3@r|%A$u~pvyT*MsFOUTA3nyi`#Lcub0Qq7 z8IAv*6rrr)5|*6P$j)U0EfBKyLv?n+5bd$T`@N67TUyVb&&q?eXPaPN<1qHQU+5ut zpFw{sNz@a&!TP#B^L(t}kSuf;&Nz{@>T@{ro}UJpl7F#PCKO!82hh*{JA(Hv9$fF* zaKeU>>K?x$Yv)*)BliMl#7g6ItzwjxJxY#kyCC%BcGUA*0q1)T(j)N!E=ut6ektt4 zS3gIw;I`v%UGz3L^oR->j+p|e9?o16?^EDC9m-csVlVW}*wy`$*~(2nYE1uX!teA= zIOw6zj%h5R>Kl?c!gwO>ZG6PL@E(w=AjKV&SV&i=&0;}qt>iynxWD>s!LIu|(CFAA zw$Ak$u)rrQwO^HHSoom7(s7Isn?nvpwJ7B(P8!9_Sa)IqYS{%q$w&qIa&8{#b`7DE z`G?u!=LWd_<#E?6nBoy_TFZyg*Bf6LBKb3~QU zI^MxSogDhDV2kVu_DWQiu0HZdbHR%+mr3JgKjc#_B)P*STHDx=M2S+ zpyI|<*7;M9DPPTDzOPr%9*Hh)frLKP{}@SUO8j`WRU5%#(H^i0wXv8w_7xUS9BUcc z`V<|qFPbZ-g^+KQ;EUHO#2~8{u!$2~HN$#2&9ooPS+ao6>N#M00sid13xk{da17ie*>u|7(|V(05N*1B#T?kUy)BmEDcd7^*`hYLOcE2uVj zCb`<3f*bupzqr+%{q!$mD`%{twb4VE_4xyE?$0iI(5MN4ktgw;w7{iF*#N!^W`U=B zAM-tJO^pI)@?G&~)YvHGOh@m>yEnFhcW<|laofO_ec8-9rb-IV)l|3`U`2PM2U$zw zWzN83D0&RJi>prs@+)gp;pa?CCS?M!=eP~CT)vRDSjvHf>slsvESJ0gb0{p3Fr|o( ziln?#kqQ&`z&g!%I;C?LPr_yh+1`UcrwyTN|4qVg=WLkL>Q?@H{zCe0IcSk6U&4+2 zG`qIAU^4ws1zc|vj89MP!6kN|*qrmV7~NotXSPMrn%UF16&}}lC4YGsj$iT31D=YE zM7V2rD^PNlCT*I1n?E0|&8|kw1EVubV1)L5G#Q%$5s{wI_i&KUH`vV`a>>Lz*Gv4b z12q;XWR^Q;3ykK@vTc-;QtyFRF zIhzexHo~@~Tm!UnorJ#Y8H;m%FWC3S+Yr5QD;Xc)=y!Vv928t9Ex}-3p|p|TVG|B} zO8wwP##*+t$A+7k>w~71x0!YI089O+N)^U)DB?i1`S#=Kcx-zbh{@frd8gRVta2hT zO=dpbiq@lk*YPxFWH2fP*I9H#oJCy;b>6XU1{_(l0bC!h!YQ88a8%$KCf2;;dLDM+ z&dAudiZ$HOuw>!03%Z_8YsS@dlc*6{{_xO){z~r}Ya=*j3?=jK z^m9!DbXQcv!V{B7XVVjAbI%<<|BGk$XN`e5!QD08k-&fYJ(SjsYNsgghu9T9$PaGY z#~d8TQLN8sYM<>5;oB2Y{Zc14IQBLkyKo(Xs>*3ix3SO>SD}zs671=PPyD*LM5f#2 zOc$T)qxO^kFfV*R^>voQ>*^@Bt;Lj0J-(Km5Ep^sUG41dSy!_AA-GUqXX3SH2Q1T% zWG>f^fP~&;Qe9}o0(&y}^>6I>Ki3WE@bvTGF(AT?8T$dfV;Bpv1UfP9KOx`bj7J<# zLP%l*vz*Y1K7MD|Uh&=3{BIQ7`oWIZb}i-$nils#lyu0qqCoiI39gs;BtODgrH zTvkB{Z5ug?Ise=S3Ckr&TSpx($Zuey7OI1pFl#tIaGw0KZnI=1aXi>si63U@&HBctb~VwszPu&Zfe>V+rxLn2ps zEA2V(RBSAG7w@7&^)@WiqZzxu-+(7aBk*j6G|l#%&XwF(g!rG+n2vlh%^&`=_I9Nv zg&RyKEfHUk>01i#f^Op#zZiJ(>L?B?aA%)Iq#*Y73rMa?!k`fn_~We!&-8ovU25ZL zEqjf+^K!WJY8teAWxJwbOmhwY zaashEoBRS@FN~oh0*BJ!*Ae#qcNzQ*u3`LEc~%)NMIw2lX^XE0O`Lj$fBHF6VA^Nk zg7pz(x2+S`4@P6q)i8LJoeUG?tZ{AZS^RAr!5=d^3DOF4aEz-Kb5M$7@*|`u^KdC2 ze@*CE33INa-x9b?$Fpp{e;DPywWY$l?OYjKj`<%<*tl=raL}=Uef;{KCEjkwC;yx{ zyB+or@S~sYyhgl9)*-&@cp*y*KV#7nc!rs$$x&N_EUbHnsJ-?K-;gq!TF{WKxn)6% zGve{wzeaZd)^=J_H=d4rPXxW`kD0vtJ3O4<2In8kko`$r(rGh?*87F{ZT*K@C$A9P zHO`i;7CZ^=^?kU0uRA%!=CR>!V`+5YO40}&&th!DV4H6tdK^ln-DgM8$I}H^a%eo! zg$FEhrXoH1{F&>2Q^OYAOd#Fo(`o!lOKA8xfTxSb(_FJ$*d^J^4YNFfLstL5Y1%{C z(cc=p*Pj%0KdvP>3szcO%hqHfygi*#|G>|8o(3}8RfIjyHyk?dFsc1Bp@E_<&=JlN z1Mx~sVgFcI5E)2Iy8H0vhimNdT_ajmC&Ln-Ytk$m!42#Dna!@efU!!lR1zNvs|_2N z#w9Trw2`5hOpb49Xu;FHdgMAyi+-1cF&iak8Y!mA<{b!yf@{e*Lseke{n-kyv^PQd z@5O>^#GFts23n8Y zg8-xV@b_2mgyx_}7(c&|raW@AC>g(q+#CmRwbgd)GwdMi6K-sSmnVJov?qx_j__!% zFyHd=C18URU~fXstzxVS2W?ox-N;@)U??jKlUTz?)Ss}M6pu6s9baW85i zALTN!+&pGKY_EBo{%U6Ap96J^OCe@fGE54bM&mE-1-GVTwm;VqcIj(U`uO?GWx-|| z^W-lpvQMYSlU9Jm_5Rvmms1wmyAsUo7_xRlS>~=QjmdAcz_c!cT7C=8wRJCWdE;RW zp5aBE%W|2s+Hgy?gv-&m*Tx-t@O{69!Jxr;=y0Q2TTOiaq>3LLl8aRzJ^i)8C%9oXR267qD?C!Nv%UCgKww^)073k-H_#PD&Wsp|*fxCOOv zW$7Q>R^S6&CPF4f$AoH@mV(W6JNi*Q59Q9tQ`NcQApNfx)>fv2RlgM*FnIzmgkIc^ z6H~#pI}a_33SescO0aG>$E_QD_}0~9ELyL4vG=Ku_;n_kFhs}+-bxd8r#j)RdF~H3 zFjtq|fEX|>G$Gpu0?#Hoqju)yO)&JK0VO{hRXhEnEj&CNLUB58K{WL;m^Uj!Uqv2u zCf7jacN^LqA4jtq)dY`)Iaqvs!0b=Y;X7~woi0m*xhk7!y@x6N>OaaK`BR4FW6#o~ zA^GGdCWV#$9K4Aa=0~$7=x+8+cGXdt`b-3V``UaOHK>EqDJS8!%Mjiza~91IzT+qB z|6|`qD{xaB)43x)IT*Ot3{+NVvmJ&Fa8hhH_drV(X4YO~T}ER_z0DMMpMH(KKTdI1 zcL6!5HbMTIWQ>}#n$46q130w-HrbuSAkiVvy=M`-Yqf~p`Mkkzj&T;zyHq&m6EABTvR^30Rv%<01}FF* z|Aj*8&lVQf6G2UC$7ye^4!)VRfLjHG^hbMa+vltqcI4BN(iEbt5A?w5p{1doa3=fsc6xk7hBzp}nPF6?*TbjnSh0;?ApGyOBuAlG*dm~0&Nuf6tfq|!vbev9&iu*PEC7*&bt zndw|WbrdHu@)-QeHm9BQWAMZzp}T$G1UNBkc0N#=GVRpq{8U9~e0z}{5ghWpJ(}QZ zHNgCYu5gKmCmDR~L0R3^aOip&y*h9SCwyo%pJiOdR;a|#x((+n#+;r;!541OI0wMT!;!{Z1E=05tQz>U}s zM;<9#nDyqs)!lL2*-e74QmzGG*V|IL)orX4Ye| z+}-D+#kpUcf@mack*UV_FZ!9*-Ld$4`WF_p`3I)k46&5>-jB-dZ%HlL2_xFVS;=E} z>eN)HSFTNPxiB6t2>BbI;VE!fZZTQr-X`(?rg93u>OnQxpBZm-pf3rIG+Nx5UcEGh z+J$l8|5c4K(CE{nvgO}8nUP!)#ScA+7yBc@;Px{%`>YupdsNJ_ zzU$H*&kfKcy_L7VB}0#2Rl(TRL1?Yfgks;U$)f)f9rtl&-MX?&27C_Fpo9ywcShhNJ6wLRDWQqz7@Gn1tW0lb~+-^U! z-2a#@v6}_C!d-E1CO}HVP)c!)hSYOHmho^1xF`6suGYou{gz;| z?W+Y*>oc6j+6?|+>_OP9;m*Vo|Ip2hZE!#%gH}(w054ArC70x9xZ{ihw%hp8j+SsZ z_^Nr>W2X0kDRT9eI}uMJ~;YmzBrY8eb{Gsa<>XE~`Y7wD2^zQ7X}1sRjQ zwDh_sYq4Ji+J6Ne?Ilglbg?~6e!3j?eTYLDEj1Wpb%FN1m_X*Q!+AyR0??R~18zzq zLBZ~zkdynze8!xI`R_8B@_-@z_cWiKKGuOhWzs2Z+*VAxxPZ3aROM@*y3>Nv1k|ay z#NPOC0@x@nWW#R3gQ?@8t+xN-gcpMEZqyIZ8UBW1{!5`p!VGlwTP1-l+QTg`>$R|G z3S>6xkKy>4fv9cZnGqJt8N|!Hmu>r79IhXu^W;jHE_X!SnhUBJ`J2cN9x*1 za4BXl9^E{X#vdO}FK!;7%TasaeIKJTjTo@s)(($G72vs|2#D7WhbCVMC|=NsANfhd z=jPLx-_n-#vwN7cz*s%Db3e_zH<@$??}7SU70S*lq`j+%H+8qA_z@du_S}*1vMhp> zm!%+lwnknk`>j^E{V)Jv-n|hcD^P zauM#n%OPNI0KeJzHJkKgG%oT!4C|)X!L0w1*_HEmv1LG;7B!3`6@7(Ess?K8N5ulT zJ2BaOwcIXnoSsLiH}7(%wvEHG!=)e>l+Q|&IzT0NHkvhEre&Squ`+QsO}uMHAM75| zt(b6dI5l5$3OZD~ai8}a=IYg}4JH_N|cVRsYn)?dzU8{LPh zPcIJa#yA=EK>ie zPjaX3>GJgjvh<{0aLY}~C*}Mpq(04(^rWKMgZu_I?Xv@2+&l`t-iv`{hf-+cL34{h zwV7ad+M2mMg1&?NK+XJvQ z`6`ZYDh8Q?biVOgE0gQkPs#c_N&Nr2^Tq>|@zpJu<^A}Q)t5~_Xw4Sv5~!nL*>x_vf; zZ)-gXIni5KnzIJ|#t$&-v>Ns9Ri(36RzqL(9k?354P=C@&$?S9;Y+kLxcyUOIM0e2 z<{g3ozd0m6ss*2T4X1~yqfk}<9L%nFCAGYX>~f0~&dwWTav^cdd)s@qXwfOs=-vob z*FHkd4}n=)5Xa4L-bjgM&X{2pjh}|w&~4FkVEo_|>vyz!@31$A&Bh54`X0J-*hA;Wsg|pyDLpYS^CWDjoSW=eX4c~*t)8HB< zIQp%HepXH3g;XT{(M^TTFYaO2n8~zTEfsn_4awR53zzpxo+_sAX3g$z`Km=NeDTe{ zIIpt;&KpZoRJ)fj7dkOA7p@@XGt1CmV=44SjDgd#(~uQS;pG%Zz);6TER)bg zJzPT80!zqWx`6NX|4C&XUNj&-jH)&W9GMkw@NGP!@pl%G>$+s#Px%grkN=KG3Paet zX@@CLF9N^I2hen_8v3_yA&6)R&;0LE&_%k`^6M41LQ0R@Su~RxQ|FKfza46?Yk)%R ze7KpY2sw>{kI?x#>kgd2GR=aR^r&rgAZf@Y)mLkgm*Z*Q!T|Q)+zfa&LzUzOZsN-x zW%#w%4nH0d1;>#lbU)me-}7?^TVoc@oLd4}JCh}c>&Z0gMGEU!WC(6P+sR@fDT|oCMPwDHAbiVHSLb|ZJh{?77V}_kk z?5B|BOI&{x->m&)(Y z8l67-3snbJ(zarbDsSDRqe;1}tR)Gy&q%>Dw^lOGK4bb?IT_+zQy}HN4ZJ=YO`fU7 zT#UvM61|kif0>;G4=;XaRW`2V+j@<~9DjxLd=}CE6jO8(n6K-`9{}|;o9V`?2%Ks2 zlyye-uods;U_r|TIMcQp@*S@6ALp6V$Tve-YoQW_)cI)({kKGo>+Kh}+_BV@uINSMXs#B!3O3Nv<`Z=B z<4n*Bvf&(r{qXjuy1?Z3()_M2oHJNTJ36B2*7#K<-}Zr(UK59I&tq)Lg?%h`WH_#4 z!f*QF1e)^pI?W&L%`V1l=CXzNLDp>#`V?8s-WUsR(ZsRPw&M~7YO0WrL<*gWf6AJ4 z#^Bwvx5zK$JieS$!c4Zt!nRY}pubmy2H&<)_r8(zo%5t-)4Pz}WX3=F+X>}w?y*K& zF-q0n4vH<3q*LB2xMd5;;qP%+bo>ado=^{!>G5!jlY~ttMu5$r8hsIS~bcRgo@AEvX5%#?~fgkIjN4sLH&H+!~ZC>2%PK=_f(Xb z8~sfI)s(H!ct|AeFw-T`A1Bdo{aLvGz?ZF3cf_Kpp)jst8601pN#?pTbj_@R4SSFR zPt!u!x0@@lj<$f!S{D+pdx&`#E805k5=m%9=iPVNGUeM`tCK90h>Um6`frsE2kY$~Z( zL{{s@!mhwa{IwP>dU05c7DUNhaxQ7&dR&IlNB^xfakM^$b=A^q7X`M~!VHqoj&rcer529$WbDULh7Q%)+u!SJ~x+ zIaFnnNmsR&QpX3x`7eD0=lLgmu>2g}DL&45=bymrKy`RFY9*c;k|F%gdr zXpR$2uuui(8GEt8cLbP89A%Ra3bXWGCRo+JMDYAF>{gG35ew&$X>Axc?CA&A-1`eX zdbDW%txy&$c#$n0Hwa$uSlF{-3#HGFMrSKU`e*YN6;z({8$0r_Ap0EsPE4Tx!b1b zGkXhFi1a!F*^H1}hoBxLrwP8#$R7-rs_cb?(u` zjpnpYFO=@3_0V-!*9eKRe;}&@S z?Hqs3%*$^|Y5_KDbuv0dalYbb>##+1}lTGJY zf3+9gw^W6o=SZuXhTu!D7-3JA4R7>KU{dLHN}oCj_DkPk_Y2n0@~mn$^;#H9llLX% zkrT*t%v|ArFcuH@pQ06o!z|0+M$_u(zqJ!vuJflR&4Z}^M*L%a8`}fCh_?l>S6;|R z@B7Dsx4naH**Y|NvL^H1AneZ+zTv?5m$mmo+hFx{Z5pf+eA~z8QM21D$O(^S`KBvq ziq0widxjz<25sdJJevwr_i53S0CRf1%Yp2zS8zY0dD4%r}N)D1Qup7z@3vafjh~ zd^v8ZeT1f8^XTi!Eb?&*=dR5a_`owmnC>5EI%3ren;I_Ckm?4wxqJ{R-1cB;w;m^2 zlt%yLhQO}W)41`Yzz)fF5}s3kFuYcR?-Cz44)Hi`4o zY+`R#q|;)vA(jE*gSb=J?Tc<|gVG}z^k8c)r*`HlWVb%T%*Z~J?W$r`_p9lm%|X7Z z^&k`9KA+q*f3xjY(H0wR#z9)RHwFIgWA&N|oa6OKTIg5DEmCzQ^VC_i{`m%6s$5DJ zo4>Nm8Mm2a*BAUKu1+@VJ*eJjDw9n;35HGz^gAJtT|DIpPKAN+uCCQWBi4+;vC(Ky z+r&(_d4c6VISjn{MsS&jll7~Un5&k6v6_={OLiWl%6w(%ow>D*GVPqtr~TlYsfZ8i z)rX?0Id=&RM&lQ0pCPZFQhsl8t!n!AT2=xw32_ zO=07W$sU8t9k`5%Rn8g&eWua-}s8GlDrBF92kDDgO<9&gH zdN|VtWDOMQzuL`o`Ir`c?`TBv_X<>8n@ab4ZnM2pCc)h16nvHO0pAU3f!X^e=5^2- z!_@Ebb!AH2huj*hvJj!)^~1>NKOtXwIR#4v210n`a~AQ;57SJGL3QK`aD90W{d*=t zOS&9%d|br5hY{qv=};fDhP8gLvGcDv{*#i&0F@E2C85#6yL*8BI+g~n_IE+g?}Ie@ zvp=Z4lqIigCphn!Bfx(RL$~IweCXsDN`B)|JCM}Nbp{LFHpe7r*`N|m&UN{6PE9HLD9bVRpVB+}x=Pu_nBJ6A`L^&>;J zr04-RPFIR*%Qm3R`7C&oQ3$2w+xe`quXy*nJNbfFQ%F~RA3Hd02YJ|SCi&ct?6Z|4 zRpy+c^E-dRG*5f3+;J|{I3C8j3o^9ru_I*l{0H~#kD-K96#D4TII6La>PFt?`1AQd79DmQnLv$+Rk#r)t5RPro#FY;y!E?=T5`#LsC zvJ~2FbkKBsBwp#zBQC)Mlou(}n}d;{v@Q`8E&y~2X}zV2_5A0cKJ5F^jOl7B^!iy9 z?z&w9&uoh3Y{*_^F|*vWjr`|uukr=?fdlY&P&1UaBMq=EuEasUe zL5oWzVSI5czTJ6%zaNmvDrHhYP9YB(J73Y8%q%pOSp+%@M{ri{29&FdTtM*&SlpHd zvaWA&1m1-9o=No9P7*#2RIxUxCh`qq*i!7qLi4l%{wedGBhTRDky>zdeiU4Cd5ojd zTX4B%GlUJ%WIDIb;8W-G7EWJJ;lbrwK=)b!edJ$Y3T06BHBDGPe;%x@9!Ad7)5^Bz9;=i>B9-I-5^N;QPS{l zTqZ5EXocz<$I-7F>B(>d8fblu3D0_Qwf0i5|Aw$7aXRF7L{V))810??8qI#Ek@m*D zwD|oHlCoWj&3CVZ_Gn>eOzyP`>e}GBvxdZM-k?;CFGcoz!hL?0;^H~+8xK9(vKl4{~3Y@b!cz3I#&@7N@m6SkS9yGW6p z`~U{;Kg)(cn~dS-Pr;S4MPR$6kPGvcgA&1EURGHKwEXqU|T6`v$cCR}}o1`XCsG;C(5a#;x zhc@GjyH~gkwIQrINdyMxtb;esF0^F)PBv-6Zk8fh#%@c9l9q6mt*Mwxw>sZr|CJFy zfnt#P{3#Rr>VaNfH)u3I;}5eaFx**&*Z=#7QpeWfkc%~Vao2T7h#Cz^!{+lR?DL>B z)EM&Lic-gj!*F!(B3Kiy23c~qEFAv)#Dv{z$+umbxhotbkx627{=;-kir4_tEm!cV z8U^g$En|AOdXQ;dh=Z8)qk>~4kPUPOV4AcROjI0&bH*Ch*3W1F^ZRZz(JhmI+j^r` zGEC?tuh5`_N@?stUJAA@=%hp;tMGT?PS|qr9MzZ}wK;)!gVSLd)_Wj-p$dB& z9!mZRS!6j)8)chnVbh#A^mbbe1^il|iO9TLJ*YF?9Iix-XEUrHqh_rj54l(hSGzJW zrtuIglv~T_!A)+*dv6#!DT%GIRAByxUa={GmLTr3p3-iNg^dP%sBK}0dQm^&>ZVFi zs^?hRZ4I{J^h2^+x0!z}k%kecY{75ONmiiTgNmxBEv^Kav7q6!!WHWLto+*!piN1wwdgB$Sor3Ju^yAF!oB{Oj zl;yOuYS?opTXOkx15XTlg(knI;oz#<+=CASkL=G>lFzTlD-OkM@|3x#x6_V9I!xJu zzj3IttpRik6Uk_O4y5}w;LFKgxPG}0wJLD6wWAK=uRHRjTQiJ$R$stqu?%_|TU7fu zvkaf)i?QaJ?=d*)Ay&wE(e+XGaNunPYh9|u;_TD;Q|%sbV1*c66Hwd@{BFvK-2`_$ z_OTEhZRBj$TUakROr8;|$YWCx^Kz|XlWoFCq(YaPY>lCLcNc3YM9A6I0FZz6GsuzzgnieZn(iO}b!iE#H~9<Mrk=fmOqrqPyTm4$t1bf(ZD51_W8#6Hj^;X7hU8TJ4h28_sM zR2JHP%Yzch5?CzUAsZ~m!vdXtZuYNcWuiV=$qsUx18|v8hveeP_y!zO2P|-Y%Xsa#R8eM|K%%e1p#tUXvg^O(Y zhK3Iv;O=D^imdjbBAd}L<)tCaIQa@RK0gt7U-CqOs?>bfh9B26j+mA(5BmC*xu=Em z4!%!eSI|NDxxt_9-usRjS*9`fu$4RwY~?Pky~)d92ZmK?aT>|p_^om_Ek15W9yca~ zfs`i`JwKOT|A`}uI-_*!BE zK0lv?QWMq4eR%+ki~G#(Js%6z@0t-RXTr+$$<+7d6;85z$t_hKOYg1s(-KQd2-59j ziB2Y{G$NcYx^f6reUITqDO2`9*T_PqYb9n@=Lt;SDV&YrXnK?(!!CE}5txsmzSnVJ ztMitNEXrVs##Q)M)e=RAhrklER&HTJEJ-IfLbm*U{5bkB^W39^+jcA9%U1%Ms=4~8Z6*Z(7Rd*I}?iPsbLCe0-a>2Vq^teeJ4f9Q};ls;%A zpT{-#ds%##IOtU+LEm&onw>8Jb>TwpI>NOkbgTx3Y!Nba zz2VstFB)@wG(?OLgNJ{5nS6f~6F~j=wpSkHGz-Ca(i~czYlAN`6~O0+HcVf5o2}j+ zii$t>(Xpu!@N=g+y(^wbr@vIQ=)Y#1sS`=NolkS{Z4F_H^ z7Nu{+E>%Cl!nKM*7fcco?`)*Xz!DfK`;%Wg&yfE%E06kC&Y=mfOHuy12b|q8hEC{7 zF>#?UdQnNqqR41E`yFr*zdU}7^An`8>d<6r42iUO?Wu;(o+Xn`lQKA!e?sxw(d_XS zMReAmjl-WPkk>9*O!)YUt&0+&8{Y(;l&CmzCO@!ZYYle9w&R5J2XR%WDAYwyW%-}n zpmy>pG&-(_ZgypG227yD>j!RcZ!|v~`iz$r(;>f8``GwPVpQDjM)T!n($+i%uWUS+ zM3DjCV5Se-zum>QpjgAaC%;1jdeA45fv|xZvwM=5go-8Waam z?9rn*pE51JXV>A-roZ94o4 z4J-P*v)9~f_+kw0oy}hs$!D&H;#7Y+ja!jq1+75^aH#SMJ25JgoqQR^jAqKxFvS|a zZqW&hXq-HV@G0zAu#98pJmsi;pxlXoIBMMq{1!hp>47RsUhwdgl!P32R zA#3(nT9aMQG!h$dhf*vIH4mw6yCKc5G!vod-M84R@{@RWP=;KWzhJvoxFA2@4xb3@ zwGkh!Y3SU4+||n`v2W>2+A(Z9JU^$(8#TTJ(+Wk>n^7n@E8Nh-^AU!`+k>6=S+?0< zmO;iWfgdx9+I-fqv^h3t*gq9EI?u(3{&zWP6*DMXWH1;HGrbx0bKjjQuZG!X5$X8;Z%irtmAw+nkuOSGJbU! zEMH5%|EZDm#&;Mr+MPyEoQU32#)G=gP&TLE6$0E!c`?}=(70KRvd^i~O$$+2KRJQT z)SZVdLn}~ya~LLUmw`IxMHbfn-NH^o4QBlk?r&1VsY>6CnGTJ|3EIY7r15<|$H1DU zstG)}mbW<9Sp{Bhh@iOx4CT3{d|s9t9+44eQ?kR*>wX^p>}NU?!I8}3ks^h=2(GUo z7x=HDp)hLY2aM`pg6At{(7L*dT*gdM%ce``(5kG7jZPXxTGK?(&#e&SM1-8);*nIS zCW7ykWZ}%*BGzNs%Wq$)$^3MGvAVA{Y^wKtCWTg{BPuv{b!PL^cdAm6x*;<=+KkV_ zNAqDGOELP_8=>17$xJ5Q#nzJ=RQ}Kc#L_21$J0UV8191N8xyIxBMP2~t>%ql4S4^g zaissI5+6K%z-_&Chx@icfj(gwexD?;_5K}4tlLbXdER(o&2^Y9lL3qRRxvA&a(s2J zmZdBBg8a!C=9}Jak^Qd-FXZLYOr77tozIz`88qQT1A&nkQhd=RL>J$OUB%_2Hgjj? zdw7qQ@${@^3zWpTbDQGk!j{6-RG3jz+web*&O4sU|NY}eSy|Z%87WC6qd52b($FLg zDk`F(Nj{~$?2LqDrmRE*WrcHJSENBwQKX@04-KVg_q~6=Km5z%anA8R@B6x5ujjKW z3R3d+K>U3V%=J#@lp88U8Q~&)q%s<&Zuy0g1I1YHJqyR~dc*Aq#ffyQe zlz)=30iuHs;)en~YH>-xdfnOZReL$B`RI(6%{$@diyAhqyjgVl*(6xE(w<$v`vRZ1 z=#bvyuc+MP4YQ9ff)9~-OhreV6qiqcx%oOQ`{PJj@HUF;Pq)LGp*>7NW&}<$*S0sV z8ZIy(j7U2~nk3RE;XTuP+#j{EG&NIGaEi_a|N3SwPU8`tpS2XfI~st(1A#f%{{;7@ zo#D@Fma~)rN7#&NBU+^-I2N*{_=m40IDz;BFHZ|(glF?pJJhO>~*Ev(O zng{N&Ur#}!h5q-ubQmii124gdZ)qGTxZ^*t81xMp5U z@eSrRZD)6i8~BWuP8emWh&tyY#S<1rfWD*^dpKznNqjoP>W+$_eA5Uh(1?PL;=OF? z`-{A3p&3`1ae#YKr3)s1!|~d^S=?_qUU16{gRLfKad6ipY*9YH-`yCIv;|YEZP;B8bFh2_q~!Jp#pe(6YeF*E^ReIfztPC1S&gGgpNH(v#4i4U zRU4o7;2&CCFTm*ZA1o(*45^KkgSQuy$ZwG_FZ;BB^wy1}Iadb3cXLTNGJPd_7JbCO zmCu;RP~mrLdBFU^$>NObr=Y<97}rrg6}symGS_ian4!gFs`Q=#`?5Dt@TW{H(f)-8 zXi@dV)!n>rhc-&t|Hl133QYF>?4A+V9>6au6 zpRpAdXDCD8J{ibdVg?W5RK%uUb=;KwGW6T!Ia`0CiIYhq=APOt^1fLD72SH(XAY;p z)PZZO`z96flD;#=+LKzUcU{N_Hz6b7?-c_2$L-m->8dd4Z7U{cY+&;$%}6SAD!huC zC2)L>v*!B_Exw{e9f`dsrv~C=VJE64c*IW(nG0)|45CZXCt%S5WAf99#qQ6c zXjkMaTKB`2Twf)S%X}ruk!!)@)QF#KAKCM(qM+cq5f{5dm(7!rg*C6^SHzdd6a7^O;&<7*5e#Q(YaE!vC~Xr?)Q- zF{jV{Y}L&}Y~`&=JRKqnM=yx)JcR!-TG0UW3K)>GVf+ z0(Nc*r@Fq!Y`%Xk`#oKPg?Jq0-aNIYFV4DXtlNWGAszVQM+2PNo{I}V*OStYZd5Nc zf#BQ}A-hs8dTeJ)hDS>|q>AW=%Z?48p?Xcl~Ym{=EpNJr<=QJz|_{a@Q`hcfipI`?Y56~0& z&20B5;oQpogsP2NU_JjQW~-?4k?AFvzuo{-9VGC$OFnb)|G^Gq^sooVrO0YV92a)b zf#%pe;nPhYqh*9Ld>j_e?GX2|HHT8!g|#MhOlBFb-&caUg(tZsR$1`Sqn-s-{$pF$ z$ARv-KKA$YV-}aw#~eEH;dIX&9M?BQ=;jrQ<`p*L2rq5emDqrl+M}6^_gi*ZEf{^L z3g4TS2jK7fL1;tEY5VS(tg1+bsW`6ySy@ZArM-p4L@j22cMCiB#(eIE`(ROSfHeD3 z*}}AqgqOZ#9Oz${rRJWWsM~!K#(sRxjH<2KwL>xNY-9@jl@xg4laFED>vB4@Okmns z_(0RtDVVWzCi^1f4(eOeSlEfJkcAn*hAv~#Yvy9w&&6!v&*9WnqKhk9^k|+D4>yOn za+mFnFsJA+DvRv3*Prr>zhbhBGNe!NwI46x&Cn8dJHU!={_fz&bD*e1W{PP3|vOw}5I0BCf{kqhcNN$+!BD`N0kH6fy*t8+0&}42vvts@- zLt|gsdhiayLM@nQ(2sjcvT$3?FnatefZ3OJv&$cg1df}K`Cgj_<1Sw2E;x?GzbcRU z`0>H4b&D1yE=*?|;~KaN=iRvelo}qhjD-6?qwiM+La|j6=>NQqnca<8I@=E1i}J90 zf;DY=R?1S#Z6PN(6<2Cs#~<5k@UGoA=Ik($CidKfuVajWzgrI{UmoUn3thp$h6ZlT zGex@RzLPCjeu&FCF3IaebYS!@I~Keml|Qh*4BBjB&?r>MKu;V;^>5Vq?urADe@l^; zYk2Z)DR=nD#GlnwAowONC8_nJBprK~#B7s~;~k6382l&$pCymw9<&s}$OW#TeK!GP z8dYiM-ecfnzYH`j1eS2~RsMuwC!Ts!%UrLeg1V*^i5wK@K~N|c(tHv({GA3?@~RZ# zJPIbu&ZjxYG)Sj07piVck;Y6V?rTU5dp22c9nD{be(TopvAV*u73iWDzjfYYw6## za7@hT;TF%XV5M1_q}ihiS>f4K;^9hbRx81@S?Q>;E*CEh9Y}T^I^gZ?2KY?iP?p`r zL(2OxDV}goQwjSt(j9xUF`43K#NbhA`=UC>s=foYEr?g7K(EaJO=%l{fC8ZeSRhc-~wNFOX!I`6g*_;MEjzK%1m5hLufYb8}t!pWWYi(7Gc&H#HFShsUyKeoCz7^&FNWwxqr0 z!BA^H2~WPd1S{?2;i6eKFR<|;V5tJlsdq!&Fe84#+j5Hjt4%{e-6{i&%J|IY{3@ zws78biW?Cxu5VSqQ7e{FiTy-4FnuF_f{}d4eowMHHJJAKeW3K>MmD5v7}|6-b3thn z=wxD6Rk2Pfx$hQurM>1Tx|<9S1SadPh8obBY)_|Z%;{U6JHPaT4}IQspT%=tBBupv zxXynj7;aa@j^d59Go}_c>bpRm+68! zXK`P~K7|jtn(!ri6z&)N3(ofQ=?{Ens~=s2t*_wQe z@+eE3kVy0GjX+c$fTx9LL6uJ&S_U44_4PyP=1>*7KADljUPZiaaEvA8FBkZuLUyGr zlDGb~4cv97z^LJGaLu$LjC^2DBaeD8n|blD@4FA&Z`q2+@`e3ocp+P2S;U383-{*N zm8|!sGnS-93b_`+H@dq4`#Z0(ht~Gw-3Kr|R-c=^?hG{ahtLGbg;>u{?nhlaw)Kf< zz(W_lxKV-v1+KuUnX9n;>qqE%)*S`M^Cr!tDx9pW&$RXqr1w+Z@#d5m`t&RX?Z%X`Ln$I) zii|NN$dvzEu_jy0uYj42j&_w2~ zaGl%v?l^?D-Lf;WZzJ)W6BOiC#V)z(()fIy`man8u+e_KZ zrdaOrlSGm_dkDA8F#+#6l5}sVFP#2<9_Ls2(VpZ4c<@OUmMxfu7DD%J>wpzBQ&SK0 zb{FFGli}=j)&^L$Q->N4_)v(h;DI?40AB|Q`Sy_~^zPZ08m zmd^C_s1)-xp3f%Px9~Dsl(4wQ87lsL4e!Zk${)m>BBZbxdQ$`sBBKfWMp9IeDP>s6I9U4Y!;;lW z*r7cgSjQ|fkw4CBxn0MSJ{7oFIF$OTf3YPue{xy!emqo1;PP89(a(G}w){QM9_nO^ z?lnZh#ACjE+mbNqH}s&)l^G=Gd=TY^KOujgSmFO~Ell`i0Eb?U#<<@fagCkmyIXaaq!urzz zpzIw%E3`Mm4i8;ewde$9oH)+>l}Ga%guMMdZx=fE@DohiUdTpu9E5_=f7sJyQS@P# z8*H`N3P;kCpfO0`)+?=sf5V5f&4=5Wa!3Z%lt<9Yxhas8mfk@rY792fKzpGIoH_;g?9D7-2wu1{7Ok;?w686}%d-!|jJin_w&@_N-Y8}($GX97smJW-gVm_mIt{{f zi?E|nnYf{2@z{x2%2_=KcKv5YebYMN?Nn#+!aq|b4;&ZkuE=wcgWF*t+u(Af%lRVNX06OC4T5*d;0oW?L`N;uhA&7yL^j&7##-h zA&uOFtC65TG??C>6Bq_pEK$`<65npW$VSbpg=!NUH`=y@1xm{BhNW0D>r)Ip9pf-Z{y&7tMQqa8=mVN zgH;V3tn~d+drz4Niui9UJX=$XFHYz3se6t_Gsy?pt;saHFP`SOM=@wrqUo~F zxI`7C%hRHm(K~^6_TwEhJ~{#BSWF;4zc;vcc07jc(4x8LykVVhH~t#f4x^hspqGCE z8zR}p2EUeJBW=de(G^;le5DK()_9Vw)n{~gvXMDU8&Y}tS$y=a24D0RvkJ2hFnd%GE&5OV(q#wKIN1vUJ$sU16X+S$pLNZ4bh#Pa%dQO{sF zUf39jzANHrZe*Fj>O9MCZoEwQnkVBmGfQ@NU<6!PG6T%?gL$2x7^XBKmFdn8q=L*{ zxH9J!Sjq9+>gU8yK+m&@2tS?e3=QB6`{FFQHWRUhEe0KNcjCnm3t831E*W+ z*u1n-?5y6#Hmyj9mZ~Bq3K&dB*7b2W(vz6Y)q~s~xg_qS6;VFlS8VkUxwuMCu=wVIuJIU8J$?om@Ou9Y8 z4bNf{NdAi8hVHcl$pSGHD-EG1=T35qw^@lbn!>2n;wAeUn}|a$SHtw;L-1B*HC=Md z1)GB(MHx(qUTyj&?yB*ndA1vIv-NDs9p=S#3_Sw-)ArG`lxB>WHV&5FjH1-`>v*W? z4r`mJO(PBtAm=f+a7bDXrq2@g5DP2>M*UEJ;hjnle<_41dIQkPZ#2rQRl|p=Cqzd+ z-o^JfVqo67BT&C@0Yux46c{73D5}$$9o#Jqmaf}~-|>a@&H09J2JB~~a8%q{?*mF{ zax7WV8XW({QSn9(*4pYqW+e(>G_e-{#D>u0;lJ5D<*Rr>M+S%K7}K<7f82H0S=eJ} z^R^3eRVDKXm(;JJWBaXh4&a;5qwQA#IC6K@sDVQ=L@E=tq6u%PhvOb z=VRaDBaBns4#xU#xVLe)tJ(M>v+kHmlTh3pnFL2QjZ@IvV80qtan7cvH2GZ2b)I(qKorlcGSsE|sBXa35Q?@(ONV zc${x;*$1ti9D5I@G+%Bbcu3?xcE*wF|AN}_`ul;X^Ik#pUC3ATxW_PO(u0PuW~M3J zske8vV4p$(`z%@xGF!KC>o*S-Us*Mg_wLH%zl2`m-^{J2;d1k#R^<)0ym^n)jYqKI zQCFG9t-Z>$O3O^x0i2}TP0biq<;woN z3SkdJU(kctBkbn8b<|PXhU0cFg7nM7$j)(wFiVa{xX?l~E2pzfJ0w~DWqIhj#e>74 zba7!x;F^LO%=1#@PVN~l?!9shA3HhHrJ12jqhlPMtjOkGTU}u% zT~zS=v~$FnX2OxCpWL->HC&Q)k^As_B&KL>zz_OSl%`cj50(gQ4U4rTb#V+l+a`f8 z#{1Cs=1rna2I|nCHy$!hPbd8Mg2mZ4hz4jEh^y`M*`H%)?0f6CFhgm9#rCq1m)^9K zYE{DN{>kyw*;PiZr|uy)IhI~s4rbbq)!>i!Q9ORgmf!zqBtD5XCbt2{ajK>bbc~ol z{MQ07tP4l2gdb>j{Wg1F_5+*dUVt{U90&wq2m0kAS^Uz3jRxuvj2w8z!HrMG^8s@Z1nGlSezjN$MGN) zj1d^*Q@6vP=1}3@_?|cL2}1uzSNRCV16VCEdJmb|LrZ=bGnM>;%A?%zxBp|d!}kU} zeS3ffI4mIlFWZ@1nj)t+`V1`c0~%0JkAZuvuygtva$<>)<7LF@=n1(yH#0ID>W>S) zX%oc>{z9J-5VUR&#yy@x&ll%2OI2g&SksILhnM3I!K119ZZEcVw25o$ZbE*q2S^!s zLHorUoNfL&dLTG4vW82*!6n^nn~ZQT);r5RGpwdfL*vBCuLn~1`5|J%oZ$bEGCNpMn5{OslKNIW*%AyqSePqvONG~mPXRZ;NI#LRtn@3*ow=xyHaGyAB+fo zEf&2{;jNRjK+PnDI}Tyh%EeJsT6Yy>q>F_kx0p=tt%H$$N3r|49$XtYnU)Kjm|IN; z=w{tj=6Oo?Vr0x1?y0TN#hRfAdnI3EylFifvbBu&ZaoRE5!x`p#t}sK)}X%cQn)fd zn?^J(ga7u8fq+#j*hVLTJv_yoo(Si*mxmmzO%?933r5qOypPOnxj(%s9FAhiH+<`> z?eu*}EV!3!2en!y9MI&4568ySC1K|6Jg$f(KGUUw_`S4CVA!e(XRe&=Uv}}wWn9$e zL}^d0_>!OIWVkAfQljs%>5`XFujmC-RE;Jp?`PN^n*iH4T2NhVC0>>8N7ohhc>V2q zQB=P%wYy93vClTs35`dr{*$V}u9czAtSB)3a2n5>eZ_GFRHmYeu_NrKoV;<(Tq{)Q=1@oe1XNaz|OWZC!M z$C_O$$$8OTnE$VvT~$k_Gy8PFN%cH8(<+Yjyn4&#%7;+Go-N$QExxo+p#?7daH7FK z705p50(1-;NQ1>cLACrC9o>DN{c1nPntm>&QoSc=r92W!?wH`riZ~{@lE-LIL+FkC zjoXCT-6Mh1;`VJW?RFNy8nY%gbI(Hh>gA5IdFRpZ+({Pd`WOQ}w8_@y21?C|1dB1( z!FRkghJNqDtkGwg`!P4@&)Q8pM+}A5pj`HCRFp6~_{?Nino*>Ukd482Fe~5yRYu*$ zZ!2ctrrgKkbp|5dCUqQY2<+P3Tl5?rO*RtUtN6?oNBOz!ZR9NJJWOG$1IahLBU^l{RHU=$qK zZ_8lTmLg&2)(SoHwxXc9O_<{QiD~3I(nskaTFU*#?C1&@c3}nAcY8FEqAtC98O9Pe zE5b{&dzAU!08@N~eYm3VoL{$yhCOZ&xl9~@m0lu{pSPB24m^$~Z-SZ6*T-B;bTWNC z2`p%;C5V!eS?A+};8bP}#d?ARDpMNFygbo{tQ4UwE%=o#^L!BxEUXf}J=%aA{* zOG{&i)59r?;n+P@_Hd1e{wSqZOQ=5PhSD&TuF>v;4OR`-Zl zY`hbZfIAa$Jr@+ezN0*VtVzotVe zt6{#yDm3MJ2{;P5*u1M(c(d4#FlJ%`B+Z)4{am?#J>8%TiUGyY_9cm2ayrX+* zqZ+}17|wkg;?4X_6VT&Iw#e#R6Fhi)kuC)7;TP)7;TCV!5%&vU}o_{|NR_9%09dUyHcb6^D-ZaXNzlk#*M50EJJ3q)p zo`wiMx7&%rVrYRfEPu8J^mix-K8H~trD+NBr)}X}VlA$VTtU8<1-7ZS3aA9nXPOl{ zn5ps~-AtB-{ld(GJ=KBF)0e`Z#0p$|`W^2w%7RpRj+@{$U$iyZLtq`bu)7f>$#J4C zG%xn&QuZIDk9S&FTc8$sx){SJ+3lov#17W09fOK=BUp26E`>^^!*jk6!h6?nE}IP@ zu=oNS`hF5M-b^Qr;is6v>Cq&6Y&tWq7-{e5RmSFu!f9^QAzu4y36sBj0MytU@uHtg zVeQOWnE0dsGxjxM_>c{__}qOa@w<}gJo848%NMqH-xIca(p^^cSBGBnnP512BSb$I z=8?l6;yWQ55IsQ&zZ-0WZZ`%t8}g{iSIEHkX5qy>H%P8D8;4b&X9@Fn^W-Zy9)zJIa3VOFp!J$@B7Af1(T6Tv~8zxhp?`b?IT=auAOx zzvQTO*E|?~+a6p*58%sZQ`+X!P+gTjPB`aoh$`-y!u@!GYqX{W18^lBkhsD*=x?PX zx|uLdWI&hRod?+`2a!I+(xsSi7+P+QbL@x1yP$lrj*1V(ZjhmynM>(_-xPX$p_(n) zUjP$>r6J>#z>LmP;oJu2z=>3$z3V!ZLY5@ck5ip^MBa$bo>qkb(I0-~b1!TzIl}h3 z`it(2oX*=Q$>6h3f3fc16N)W7%aP~_OUMdx;J?ib_Nx!Z)N`89D7d)BjdcXMq-1<=9cDk?b1N)AZwH&QZsWs-R2ZT9 z9~*6@#&>la(~upPggj3kXdhX^CO^t&``=qZ)+K8!?>tY-DwJS?>t|M_yoHoyUSZab zG`gv9likcl)Qa1CMgp?|)|Ce6{O2>~pn*%u{nQ z@bC{l;0#ZdJz|zO`w^#dVH&-++75>V*IjSwHMBo+g;h-+#cLKVqi*{-kezgl6!$+B zr=%t0^x#$O+_`cl>Z(Jdcvq%4wv{C}&l1;a@1dvX+{v@9QdGHMC{sNg%A0=tkM@;G z(Tmgbuq51$pJ*}=oOY|hsEtq}U7K=YRHba-| zZw%`FgB1sqLH5OQi0zUm-BJJGhldtvs?Vckldp-t9g3o_>96s1dktGUz6g}h*|WD3 zU-NAiPk48+5B)tR326<1e9^D9Ag^_k{V(&3!5O4IFB=1QZx?5c9KbGpIKZo21VK=fq$ncZJ1Xj9`aN9x=&of95RGrQ1RS zN~f`qRv9=W_1?gm-^18m+X|>lb;j(?1(3EY5*9Syg#YFlvWG8>;bgZadnjH7PAXO6 zvy%o;Q&>3mxZL4atQyTSpCr>YqYEt2Z6=2N9nS9Vu&3~m_n23CDVExV!omhM3f|!e zdLtZZf#F7S*wzM@r0tlQnKyQ5oq*?O@8Fzpbuf;b&&?O+cuT5=3Ymgv;YWk6T-}ce z9NeVPdj^mdoUHxJjDDfFdmJYY`3DkwNdgc(HBtf81)x9q_$(HPjY`(58fb3h+J3xb|RP zT|$HPY{;ZRujNpg%)obKI(xiMkIvjPg|6d9WG^?5l2C*~{tRBsHoNkEf^Bg8M+}JLP4ju%f@llFCP&Wz7|o-lWiTly6b$i9MDXE%1%T$ewlvx1K0sWJz%!}Q&1T~(=V2q+jV zgpW#z{PmyHLH5xH=rJ}FSd9D8YRnn#11Zqytkc|%J~z^NCwVdWO9&0j8zkf>zriep zERu0c6gsIl8T`!PLdO_DRa-P1GdjV-+!Tb}k3G7+lZ1dlYiMWpGMxK;A(iXLGE?1Z zHtc=~{1bY-C8Z%Sjyr|sr!Mkqlyz9u=kr3(-v`DUUt)Dl!(hV0MZAqdIWCc1&3$%rl4z&+Dxv))Qva=nS=FLgmYeh=^d z8pJ&t^niBDT9a`>1g#F$W#_e?qxQUwl*m&#pdvJWu>sE*a3sb zNYg2yf8Kg`7fBvHL8l&!!R&x&`uf+1#+LST+WuqVz3f1T4_yaYf6f8il$M0CvHgIN zdqt;joW)V^1YXy^5ioSvQ99k{&bdb&1Xw%|k7hBtHMoGzjW*|JCK$8UotvmQrLC%k z|BkavPLcPnS=2To6vW}5MJ3LzFs1Yg^G)o+mx~M7KjHn|T_ObuHEL9EaUKjDlxS%{ zC?8xb@Qyr#P_i`?dLNx;lSU7r9l{)O(VJMBbY72w7pbz=9Sa~bDNE=W-Ko~`{DpA8 zPdr1cj<+{Pkot;boVh}k&b3!pN@i)39L{B@tc1>Upe24bnM-Pl#i-&kluk4|!K{0O zK&I1`y;N}KyE3nX%iC1$Q_&mT-Ch7}vm2>9Yf;~*aMsxnO z(&h)KUO5t`R~M4~xEQ?iK??QOt24dfow#AB4rArT{FN#@f$zE#)mBE4(^}>r(=`pg zCyt_w)8@={xhwh47IvRur+K5u7fgTIKeSG?pvoB%bT@b^OV(&-i){tBm0JPCzwx2n zstRy&TB^{YxWmA-3V8o~d|^A8+hz9}9QTAWi}Gj;p&_&_uRyeLNgNw#dyKnP(FQ6C z<3TsalM*kN)4uot!^$Pg! z*&%BBPLw|*9pwUV3tcuxI=lZkWc!Q(C*e*In`8|73Szu&{;+@<8;?Ln_{^&Py2-ov?C^Jzt?59=uR!PIvRw4F16?cLFA zQGym_S1)1SCZpj-X$mLLN-$;7J(eT^AnVf4)k^mB!M%g%z|}DB0E(E7$b+T&bYQ!W z3LQ~QC9Sp!bo5T-rrTe`UH_`VGh+>HS2;mZAOAz2CAS4%H3-ZN!7F4Za6neqqhg;L zE^NFgJm;^6vLOUZCw8;Oj7f0pus;isSA!KWUEl+Xnf%JvY>NF0bnG8T?eP`tqhgKN z^6nt}{1=;`;@M)@c}pE`y)|LR4{l+2PXXoSDT45cCp)D&c5UlfHhO>^*?zR4y|Pwt za&8N1$6ut6b8YF;{s@YZxzD@L5W#GVVX!V_Fhon<2>MA z=H=_iB{_n|@5{3#xA3@KnlrTtnF%BIS!g-(5foYe$$)i|-tBw0iX|qE) z&-E@48hoC&-sD272DY$Uiyf#g{xNoXEGD`BQrPypNWA)c9%Q%+e=pC2o~=&g+?@AA zu&7n^rQ4nqN;6^D$-%@4ckG(_1Ztiw%u$w+hep!K^n*{nJ(%tq_rdYKX2()hp3d?GB1_$iWU-N04)Eg+vc z`%pc`0V6|A$>^XbSqn3U`-28x?YlX!angE{4Zg~~j$Ti9QnToRs$jp9uqJMW2`tRp z#;#`TL;YqcT6t%oy=A{Yvq)aUNYvj50d2|S73fv_Z!POI3mJUi&ds+2xU2)EUW3WfvfhNS7qEXc> z7A$=aU7pT_?8y(`h&)GDF;h_} zlak^Fsvo*{(+2(^DwFat}>5oei07Y4GQ4GP@^qup1ssfaWu|xs3(_|A6g= zM>`y`Yy2}j{&FV&cDgCsH}X9;-t%Hpc1>e>rKj1Sxwz?Ac#+Y&`R(vJ!F`jy62eC;rpvLV9KV*11 zTeT?y{Mdi?nsrm@-`wNWy;}($yJ!jC=c)ANZVCm;?Z-5Uv&^m`jMgOBlHXf7@$%`l zXk*ZbiViyLl%vpP6L!;2pX@>TQFAb`xq_Oug~E%tIV2Nk2*>i?!0L7bXiT}n6oh%{ z7cT}Yop!>;iR1B{p5Oy`_Ypt3zelH3dsx^Z1~1Q1+&b%dT+#6(m}#iu;26FODzCXi z^IIh*pL7^1CQgLo+VZsaOdQ_d(=K#n8j<~0CB=Cw;LWo}ma%F#Y*b%CY4b9vYF~v& zls*(yJ}w94zG_-86-8UG2#ksS6G;486Qu>mcyIA?mar)w#{M+Mohz54Wbh6!Xj{nC zHfrGRJ<;~Jl2WN^m4w5m`cV|5bA}7rodsvIU%}f=L&WW?vbZ^|h0N`-hVZ-+OEiB! zmgt`Yk1ruuSkTVB)Z9eY0^2uZy&~maa}`^)?-O`ZwxHY*!eR?UY0_PF*w8+JbFDwk zy%;1z0rfR(@RT7m`Gy?6-Dbysx)KaM4j!m$`iEI`6)~%Ti{jchH45;IAzp*A= zXuOPDWlr;jQAemFE(S~no@Z?3W9IkvDAXugW3)jAI+}lE3zNdQkNXP5YR4Y2#t1jM zpO8lKGo`8cpaEE?eCKyLhO@ahN5MIp-<)jkK}r(XFGaptSU>0v>pLNQpUd0=_clUvsa9sL?So9qCaf9@o| zn~waqyga;f6~M~<0Nc<|0HzIb(7G^J=v&5sxOW%%HNR!Mr4;BE*MX9sZ85)~7tK7x zFmlBpD7=@!Rj!+g14rvYO!o_B@jQ!dUY5rx4t~s4@2O|KI&v)IbRB|?JEQc|eB$iS zY??#?YzUc3nVuU-vCE8JPSk>(TJtDS@qyTM>mJBGHwX^Btw*0!C3YvjjoE%LXMg6$ z!-R@M+)p!YW`0hSJ{P*PKv4)+EE1eHv2Jj;V=tbD^Gqsx2c7rJ0=wyFaIc#KTU+~^ ztCT##McEu9xkVPFTh}8V9RCz8jMvf%-9$813g%qojp4rgLApLs%)+0Jpvf!Up>fnf zvBaM=s6A>*UHM}Kj?q^PJ@-?XJujv+SN*Dr{thOM1JTgGP`I0`OL4fa3l?a(fVnQUqQKHL;baQPNM=crKT>{H4N4DMpnhyUnR)(wn!D`d8N z3Ls=r6+UP!2lW@*gsz{A!xS&VXp)@eV|D4V^{G4!@Leze6#yNuX!88KB4(_Cw!daBBD@X2!On6t>8$Wmbdp(`2b-K z{&+hzU3`vCYlcB*(_zqT52mY6o@0IPU8Gi7k>fHM+R-S9u67@>cCj8MFE%4(7$>mZ z^~v~f8nati#@g0-!ofx>xD(dR`X?DckE$nyF1curKQ2Sb!-wqfen%>wZs<^GS4hbT zo}9C;2K2brV$YLASWgJbB4fz8&4M^H^Y|w zd)dnZe;U509#{Fsp!2sk?C_R+cKW{qY}}1{cC}c% zNl99y)oVaKx1C^OeiS5JpFyiNM$?S>>hy4OAUu4cL&^=~VC#+!KDEK0W^tcc<$g(e zYgbym@TDI;Sje&2uIBvCDhbGWHD!#FH6tm)fu*>SgK4YUN zyw3^58Q0c8Ma3$*^fiRS5>C+kmT?RXgiO;pf@Yy3|9+1w*qRDiys_Ri^TG{$FLc-z zy6j=Eg9WGAgGVg#uM6x;wT2P>tLXHm3~pdx4HbPYh4D%r>|3P<^p{OS_ZfHCX6qY# z+^+kyVA>>TR%~G!XGg*~1z*az6GcBtwP@J80kG7@9Nvx)(c^eSva;79clA^_C3M%L zkLyCZ&}cYy#)x}`_n~R627LB-#2Yqu zaifPF7V^HXbhajdMh6L9=kQj3PTMH9``jlM+iZpZPbi^HMD6_zRvK3l%7LzsB#2m!^OZaRervT*>+G z{LPGY)Y%@7jeX8kHgcReHp2=-U{TK#uDkEE#N0+rG?WFQqJ?!w^98bp^TK2D+6s4tqxE zIvfuF!bwiM$M;^c0PXx?^dr%pO<0-A%lg=|z4t1accmJd1lYsgQ|UP8Z#1)S zDi-%`h=lDr!)e@%FDyholicQ+F#k|3@$z;l?)bHlv^+UXJV-s1<%CL**~}m~cKQ~~ zEgZ`3_t-PhKRr6!R%pL$(S3Gu_ytIEJc8depHSrMV%XWQCHTa;S;0Mhs1D}QX0I#_ zpJdOjL?w}AO03my5nLPW4i@uDgxT^I40954D=TwpY(NklDXE3Ni^{OAW?D=oc^~G!hK|N6~pdV)edpJdup3MD}RVP$Ux1xi3)^4a!I& zKBc6zi!?-pL{?@-$Verlf#+OT35jTFmxh+nPNm)VeE$JIJkIl+`@XLC`}Nwil@6_| z#7Q#8AZxl47-VmS+q>7|wWTZJo}%FOa0taKAN5GiRT0wH4rJ!u@_09J8C*J*OU>qc z!F-7f4Ji4;SzSyctGRZlDfAbrN{w0Tz;sySTFlLnN}(-|`BeF!9zNHd!yAL5$!yIL zsEX4d_u*c2qUjrx?ootC-b=u|Er#OTSJCqM$*^Z;Dw{A+27awF1pCU^BBwMrP%q_`9O zg6E2`rt2=#3uiF(xGwa|Ey2Q1<3QUpLhxXXqE!n9(>v2z*lHO^k+)39JajU6>vGgK z&yH&Lg)^z&vw6poR8-q_44y;}v}#Z^q}8_w97N;k_ws8Hk+lr#8vo$s$Z&XNvYK5M z7gERqNvr2s#!PC!0-7$oAG0$Bw*7cNGQZ*rLy}}6`|Eun6V6*6xxa)mRECSR3V1PyAtEh%$$%eH+l?Xxd!db(=CbSt=h`umsX(Ui868O z))cBAlt{zA69nFNsNzP{7hPMV4d5~h{D183c0wlTJfyb=U&*2uePWZs8=n~cGw&6_q|*+KWpjNy^&N8$4SZKgPqbL?wZVa0ZuA}11-{|r#hZ5IsgVp{`==MdCoUa_? z*R0Y>ofQww(WmW*db4Oinyk zb>0?at-PqpUyp81cn(p6e6i4NCKl-?Gg>}?4SlLWWry|A`=&SZesPGmSlI#GS7b9H zp7X!_;QVCWkr36(2% z(9pI07+^J@O%SQU84v~QtXY@t`}gexeiz=1;UWR>0Iu{Bk0oMjr;nyK~+*9EhyBau>vz7vmzO${*fTv z$^7ALJtceXQ<+&r0iulf(RkR6N^SO9Te7UXz+ z4^Doo3V)}C!`-_FY24)=rWi^Wp_v`0*wMvq zWRl*4v%ZMI;lg`n**y?P?D)W~UaUwmHHwtp{f4P(G_pv|RJd;8%q9=G&V`kW=w70{6%a-7;cOq5K+C{8q(I)+Y1u zT^yPi>k3>PH_BK!9){gCqq1EC;Qc@+8v0q8UhSOAl)gs5?9g4Tez6NQPZ~#(^R>BI zY6oD_qh<^kvH{lLS{7n-5;ylxH;Z0GWoc$_Vf%PR(q zq{WREe8r7C?u+7J7}gUHSL6!m`;(j8n@2g2<|;$`{{=wPoKyI^cN(b-iiO!ZQQkL%8xN4s)N*n3lHPHuv={BmeXYL z$C*Z|ZpYK&GN>O!u-n(s3?tKcv$a8N(;wkA0B z>L0fK=TUSiUjQ2)sncP90JjhYd|+>a-s4qC^>!6p*7j!elLFb|?iy6lDuce}YY?{0 zjZQpB!{feV@tIjE^Ey$+;yur!_wi3`y{!W2#4aH3QEI&6$o;q~K#yL}Qzg+ETQI!* z2hW%#!uT0-Ru>btp-rI~d|dhl+aJsVlPh_Uw9^7wg!9>h@13HW4Y{8H>&2jGVZnOan%X`b&%{vTBT>ROMF@`vA{Q+2YzLRf$ zcb;?Xo*ifXoMU=_y|E_d4EukN!`{(?DNKCL26n&XMu*EVuH*yzGF}T-)~sVy4NY9iNe!%V z<|t1#q_%VV0Fa%a%vuH-$oB%|e_!p$eC&8{(7m zN3i@uBKu()g~!X3VXaXKKiBL#bM>xdpM-u~-_B*!k+qF#atg@l$uQcI9R>?ZdvL=k zU0UN+&p!UvWES&^*_pdaq`GYu#g0%1wqg$+y)+J{xfJrsQjxgh)pT@CA1nH9ScsDu zV&NMfn({r79d~=jcMqRHZbGikTVgKXeqk#`hk2uQb`@83N{^0>3nr7T;fx90JELOa}C=cLpUNE5RofGHAffgEc?)QR|vLFum^^t}D=jW&bSDB|w{-{%$+kxkcdg z++%{KkU4uQ2xZ0J^hB&+yw89w$cqXp}}LtWA%>amIz zCr;Ro$FCQ|tO!k7Fa9g`NU|c&oW<;7v=V(UO$HxHd2AByH}KF1ExlKP-LrHIU$zH^ zE!#l@bd{-a;SijWmdAFPeHT}B_3|IIAEJ?6f9tybe)4wpKolpS_ZBl(0F zbT8k*RQ6|~rK&rrPCU(Ot`80B4X9Wv16SsbBgeEbzI((Ny0*xK zb=Mj*N4;BE7UV_U!8<8^p(E&MrO=;~hoQsfK0aA$3xAcvz-`e5i_RaxBwpu2lU?_N zmhgYd+uqA2Cie3O);rN-p?@&>uaKvnd|2q&Zezc8*)RyH2Z$fKPZPg}JtWRW85(c7$(J%4kd_}f!>Qun}cWb`eE~SN$ ziV&c0#H=d1Mb*y^vpe(an0WdYalMBv-mD&uV{+0&zs&;qu&zk_v&euRo}C3dFWb`z zx2xh=OJ81+1GY za9}3!CDTTLP4sR$aa$6Oy?e(UJ0nGd@^;`fhfx?QbQL{H99V;U9iQ(r816YZ(Gl(k zC-dtStGw(8*T)H;_XlZsn4OJ|(C>|+l@tCwQI*I24ueVoY)r%t;35*$Y+EM1i2kBfb{a8D zm>CVyreKd#bZq!u_UYSUtY8_S|HWQxub3np!T{pxqsV%qA84!`1~bd9@%lEYG%8nM zTLx;=($JUKJ#9416`9fTMNag>N`?E+iIIu=1-x>}0bI0%ePu`!+7GDXrl%~%^)2<_ zU@R~%wydX&Gv(qAiw0)V*u@efx>0PB5Bg0Cw6jDVv_A?nxyS3+c9jLN+3p!;>Kq`8 z(tVh=;2<0IXgw&m-=Sd|5-g!&BXo7dqq|iyMdn(=F1xGjMNu>xbhaO5KfYmSQswDS zN-o}?yOXUw*CVjH0w`U)jStwO2HTwm(67Bi$YekOt2%oEJ`VgLPIEm9KOauPl^3H} z=LVXpP!_Gga+4x&AXt~S_B!n!{ zvb}MjA@C=v)*fN)Lf27tr?qe=yM_0yJuKS!g>UhQ6y|f2 z;gsGIy4W%sCfNzDNmKdhzT6zPWbY?-L+KXgES9412lF7vLf%TI?I%l3j>N?JPFxhV zi0Oa#0Mh_l7(L(Y2WeWh&7F7LSxnE~97n60yJ)?;7A-0+$AYmH?Dj9Al#(d}t$8nS#|wMx zJP`!low|slRLCc`1UDLNW1Xgk+z44)T(~lnuXJK?_uEcrKBWa8!Y8upSis4aj3hs> zgi98iz$3tpObp~9J3xt!Ei|QnvoB%Ae06w~G@0N}pnwaMrM7Ti@KfH;xd(41edE>W zH+TWN@BWEzs26kYbMA4$7JhI(kHfqE^HCTpf%nseAX>B$yvECLy4736mn9BDZa@Zj zAC{ocTZf@y#UvV%A+XTWF5&j{C^8bxmWI^|6tt#T>^DA*f~)i(I$$%-csdO}58Fb!f3elK%b3Mz>>cah60GNt>6VhPyC_w9dp+T7`Iam;_4y zDdZ_x$f&$Bp=7&gy72rLwU{IOE^=jbQz1^Zk|t`DaW~V<%#U} zlPosx#XeDXq5-yD&Z6SUbND%HCem0vcXYE0A(t8H=zC>6L6{k{ju}D<#?nxU$`mXo z2{XM_pe(@@MwbP`<=wm3$}(B1JMaeAr+U#3r%d{3x|YNnCg1{@6~J9-;FPW=^EPUG zK&eTe4DJ2J2D$T?{7rrE?~#D7y1DTAV+Stw*QUzNr_tC{nr?reM`qspDeAXGP0GD| zPOC{BTXw0^e_ij`6$KHPPFJEHvldiK^#fV)Eb6e3B%`;hD90y<`{61@LxU~Av|a^{ z?T@B!8{)9Hx|+FEE`s&fGpJK_Fb!O_8SQ?arQULT+NeAWg5s%}5 zD+QPB*#+<@W(tZ%9AQ=Y9ikU)!F1=XG>#ZOk*@j9f&)RSRPwEe%`7|uBUM!3t3?*- z--+Vnlk?eac9XmHkOPJMAR75gn??C2qs_fEp2d&g&q!3Fm*qR$a7~Bn*gTWOntGsr zI}Q}ng&4T?(R6>JIsoaFp8|=Z@YOH^l1jWNt;7w)^TWsyYSzd0&Z8wZbp0!ZjU@_^Q zlCiqH>Mw?jHssxR+!tKGxA4x4aWI{?r+r@KVyn(~QuIsh$a^aa1SXNT^v2aEk-%9M;rFI z52x7K3+eeI6 zu;EY*%x|mbRu|S|YM&-tzv4wZHnxZ^8i@H(Upu%xSM?z-X+J2>*oYcN=}_V}jvj{! zceTC&wEMa(t+4W^vyE4=_sDD!UcAj4_GWQzrKjNeB^PmPhc25iEl1!IShLadrN9rA zsNk17Dx9^#qpL(Dw|ze->L=G6FzXYKd7))+-{op>8-9!F4fMF52hcj=P`nfS0ojwa081{0G$ai3QlqYIs7 z%sYM?!&!aY!GqcSWT~xm_tay!+OAI4{>vdOEguHv)UXT9gD}40DZ2G2(nZgqOy0|l zQ?xAvk3+xl^0#%+5^WCQftO))vnk4q8Npuvv!&``{zAUJ7gy@5!qCzlrgM2b<$YsF02LzIJ#iq^#8E5C4xPQZDTjgPoYoa5hk}qM(AUY zX4)-B@l2&XIm=z-E6tuz$mjrgy7(*wg&u+FJ`vD^otll*lddAOe7l&cnFvg37TP=ARp)_KetJ}QH1=WO^h*A;b_wWGFi6qOHH z1ARXaGh3lo*zj3~*SMDiwZ{YLq;VR#m&&kM}Z^ZwJK<(m3kdOXgVm5taUZ z6WDOwaR017i_v@!(!YD)`+}!vzk5DphUEbJHxAzoNCs*BbJ&y*kT*C8qiQtC(a?@2 z4V1)T>qjsNt`>9ZhQnctbL?PZGdg%~fG24|IJ-NA9ZC12j~6P$9Z$t%Bi!@5W-NzZ zb7^{i@IUrtu^1oAEnuf})M!{`0gf8{Tj(BWl6meFa9EQG>Q+v)$YT(-9%{lyr(v|M zbv;Tyl4oPC+0w!IVtC(>0rGz~GMRQ;y400`QghD2_@`3Bt}YRumx?H{n4{zNXT&D4 zf>XU*U3_(&2dN78z2^?{^ix8P{1*>~Q!S5JSEM4%^3CJEEz?6&!&pw~TnDZt#q+lM zmDqn+9lrkfhs(_uaYu|svRyw^;I7(N?3|SeCU+)M!mK7T8!WIockH9yGfz3Mz`gYP z|U`5+C+%0`tq$XtdBLlwPrn zG`H-Am5Ob z*~0uO&J%`d_`trvL!`L$C~RD_jG9##+i^3DHO#rg3?`2Q8`jCXHRM?0h&r%$^`o7O z-AP%!nyOSDqTPQrn4hIL-T7e|G`riJ;<*A(iPmLzww(& z8Jb^Mk9xiT(OIomtdG~B`}QUfrnioUbhco=cPO;yR-$)UB%5ts%HH+QMCp^S(DTte zf#bLf2F0}C&nwH>(x-26fu9oX{CfcEa?f+S)N)8>)nC5f{wPTFJrc4kpV4R4YS3J} zpVEr-VawdrFnZJk*16Gv|KzC2?JszPC)J*C%%etRQYg!x6qlm!y4So)?|4XjSj2Wl z{Dxm~M=|5wJ`COz1mkCVQ_<9193vy-2n6qj{mgopdrKaEagngbejwC+UcjPy96`&l z9VL95&|>vHHZyEB-5YiQ)vsTGjP7-ylW9&KeZwiF<`0?*?$teY?liMuH}vFw#Mx4b z{LmkUsBhN88Y?nj@(KlT>bS-B%Cs}rQ46tiz+ZgwXBj&D`GrGn+=bTZax^~i2!E{Z z8aI8b9KF9Uu*BM?U`nK^z`UHy8Xj14a`A)d#9nXy-N?D5u&kKoD79j_kS$ycA zVl>;ZNuReZ+9J5y1b)D~m#9#(0=g^(*RSSdUgJp=9DJ{26?q=e&Ho=uxS9cmeVLe$ zB0;^n5mY`!Wpl&C5;>pP!aEH(RBi@rh*76Y|GK&5s|?ZqPa+Ia z3dY@MCBP;9I~(TzABY-;&|k4Y!@Jrfyfar&>}6M6V5ddYw1F({kA=W@x}*-8f@5Yg zp1OCP{SX)=H#QxjkT*VTaHs<)jdH<+&|9?yN3XI=DM8%mpH`$&wVGaA-QkqRPX!0x z2G)JEf;}@7_)Wq2Go_Rm~R?fW!IHM)o$iPf!jaz6lVMICHNR1}SAu@$m(gVo4C6*>xByuj-2T;1z1RDCZ4Uhe*ZfxjFrxt&i#^jC~8%j z$$i@P75_f}jA|BoVD^4874(%c%fRF4lywPA8a=>#5XXn+N3v}lUxnP=2kvP89n{Vr zL0xLDZ02eas{V3?ojd(tnb2>1By@X{t+Fp zit-EdA;5J7S;Skx=x;gb$+a`hZ^K|mgdL?1i6riECtKMiE!Ni?2!{MXtIw;wNh(7{ zwD4OtEL<2!e+Tl|qbJRr%Z0ma$QbdvOh6KWLTm>>vzteJ#VGio9D0i#)4xcJ*th?F5q~@5dznKj}}{VZw0xG6#52c`S8|Z zCuk>aA=w__^z^OR=dJH?MB+AnO3-&~w_AhtKV?D7Y9@WzR)F~*<;m_uAESLF%FJarPdN&=Ev}`xjwbZb(vfw2P_vrdHiUhu7rLavpRcJ{Ef`*n#$*1$pGT^Rpe5pSElK|9qxcJpWosC`zV5i@mQ zTeB_p(Rz0JMl+t-vk&?VQgEC3cV@XT5fg516nda{uzawHa%W|65IZ zD`wF2ADcjHcr$$p8-$??8=%K_H`xmAT=z3GV9tvW+7sEvJcZuF=XL9#pzuA8y{X2& zwO?YPp3!jhtQM&5E8$mckcYD$&SUM>0A}IRP1%#>$!L-(_P@5pPZhcB{j^Wa@t?D$ z*>f$l7r(}d#Yxn8Oa-^J(R)~D;LYhyOK!$Vz*=`cP zYo(67mzNev|9S%D)#vf{*aLKKRVbb>f5~1QNJB-_D!wlDHZG^Hym|6frXbpiq2qGc z-5Yz@my|St-J=3Fzs~Vqtr479!iVD5%Uju|je!&0|M9!hqlp%MU@x@WQL{%E`{yh0 z#aYj|!0R5Y&R#@bL5I1myIUyboFpxK97Uq53vkMKeM%h>P0s@iX!T`f@|`5~{o5?5 z(k~W{#I(X1>6vsVbSYap_XGNUNxjkE3JG*e#5R5`!u(Ovxh~`z+kR(tQM*h5PK^uWy;wmqDDykAB?b+rjVVmcyPNBj{}m$BT)= z9(L0yTzmZrr@P*i#{3sZw2)}Uk?L9E@YsXQ zJ;0S3hP#ocz<)otP;iB6Al@9?!@2I=1d{#_SV+e_8Z%@&9xc?OSNnFN*_^#N$W_R| z%^M(aa?dmWa{_N8jf32m4(#`fURFM0Gk;LO183ap1(8tsiU z$*aikhy(f7kKtYvD}&Ad_fYOf!T+o^dwX0B!dFMrrCcR&9}MJsU7m&)yOF~zMkmeB zW66X(rn**_90rGqWgnbpF3&>foRkxsd^8vH{U)##W2eA8B^{;{6b_+WqPVp^id6Fs z!>@0u^f>q*s_dJ{Ow8ud!QSCOIivW}qs!=+wzBV4e7HP1-e+poZ;WrgBY>qj5_}410P+g7!p-!SJOE z?ynCA|Mdp!N0Y$6auqr#Tmi&PsuA5!^rIn?B7Bo~gd28059aOGrH-0r-0x$_yucj1 zbn0Q&o(d+h?ld~S3Adbl^cEz#Kjj5K4^tDKnfCf2=hq2&-#zbg#e>sRA>CXAj_Z!G z6@4+d^HD5K$Ucg)eH^P*`NbB-+tcPJw@B5dhcwQ~uy-jd=zN4Ws;C4~;sQIy;wIqZ zspiz>6GqDQ2WVAZ6B?o(O)EJFMG4#J?7u1+5c`mMHLj%2D=VQ$)sqaDj3&{8x%ieF zf#dczu)jadAUs1IN8A}|b@1>3xcI~db+5jJoVq2L`0N6!UZ>40j!5DSKM|>ftJ1a) zCve0vd;aHjNB)`BN${HdhuO}Z2Nzb}#@F4g%%Eo&#r-s*b)^EH;ISl34=$lyyFX(> zk%GWYv!|Ok1IWMQE*?s-ri-VyK)tCj`>q$B*S{*~Tld+*^>a#;lPyQHXAFmV)w=jl zbvb!D)v^4Q>U1okPAomwl^(}F$B!3F_`~xikj;<#Xzt=gh3}GC1S{o!nyQ22HUs8q zE5y9(>{#p`f9R1fqZ)N<*w^ka%z)10-1R3Rt*3$fPd%rkwE*_BSF@~$WZb6ukT)c0 zTIwE6e!r*jAy*|(%gUT~2wquv2YV{~wT#UXkNfWQw2nEawlyfx$- z>MaxahMO{QhBem^4QsfI#py9$*K-a~z>WGT$5Lu~whA=z*A!_|t@Y4AuZ z_?UA6F7_!wn35f{d~pcBg=Y&rV~&(G-_rAtA#g~hAN!A;rtAM=;LElJ;G~j`sfhyX z{gez{_$QCM3=(PD@abUq+Mk%!A+Qvgz*bFtntgIBwmPRUkKf)Tap){lPtC)M%iGzU z%d=pcus=yT&glH&1EMo2!c6c-G#Cz51ohd$>{)Ii?OIU@n>uya)8QUi|6YL-#t-5Y zo_Rq{MKneY&*vLPP5|e-Be6{9G-vW{K0Wk_0nxPsuuWj?PRXoeSLfRcoJUPIUq=x> zZ~lQhH;od4=PY;JOeHU~Ky-G?;#?oymV>&D=D=wP$ml?YM zK&?zuQqq}Ce3S(hIkcdLkmrb77zRG8SJC;C)8M?iE1Y-UgVV-2)4OA#ETXy^$Ju(r zw1I_id(A@XdH)qn1|3GHyZ_kMdpFq6NKag9tH`OXK7fV7&aOG|A~p}0NiQ02ugy34{ zynQd*a7tjtv+J;NU^Ab(D@pt;q6Z7iD=2Ke7p&W21X6#h;MJ!#=CM2DU)x>I&%uk_t zO~Y|ORSjf0XRy4ouUy?KO=iD#IdfXHh^D=`0V=iYS;UP*_P1P?%?uwwn~LkH{#L8_ zq^|_1w@oAKr<0(n!5-&_j0WS~L+IhPEF70sge$A;=;?x5i2fT**^f)f=G6?reei%~ zvvMrndI;7g%aX6`L(H0dmUH`B%^PiL#DxtoysI=sZ7G)DYx1C zwWdN>U@GyM_xZFDTFg?&9Q=;+q7A)`?C+O$JTz`U92%a+y?p6Qr>pIu{ZrC0 z-D3HqaCOK!mP}hJwBdUKk0CN^s81;oMwaW6w5Av}b9ceYym&hIBaH&BUZAO`2sP3) zpzN<6mvbuvf@3$sQg#xL4_Uwzjh(^z<0G&!97$fgB5^FF^Lo8&+4j}uu>Wff^+#^U zc3*jRZ?nMro#4;EGT2H#I?iL@r8_XpT9V?YpJQ!eEmG~@fnD)ygszJk{Qc^}jNYf< zFi{$3x+@sA)lJ3lL-O>u)`D8+o?x>wOfdX(KI+Err;?fgzB$zy#fn02NjV8uhWE1R z8SN(j4s_4?HjZePr7x~M+?UC#>C5To?2pTNVaMZZY2?<&AB=yELqpWX zQ+hmvoLeL0L`A)JPy~{fwDfk;2n!5&#b2yzuSW*EQ}$oPmOrr%9Zj{Ub87i zv6QIf2|mWN$j;;~yZPsVXsT>27wnP@@xmZ~~vTrHOAV7va#f zdit^HJV+W2X4(R?x?evM7I!WKcI+iPml%ai!G>095~nNQfZ?jq%=K0@*dIASaDu_s z^=4o$zm%pVdcYdX44M-BhgX2r0!n2GTdK7PB4RSw*q;-a;aUqYoG=c8r~YE*ISynI zA?y*FGr+oP1Snt2Bj@TJOegl9u&3JuhYt@Tsn5%3&DLA!>!&aD2sDM?qUoHEZW?E@ zDOU7ukQdHE6R`V5Dh8@gMfZ^78XlvD#w=sYU(3iL*xv>^_0B)~ZVzPaUPy z31?}8*I;tp-iewk#o`5y_hIUcW-J_b6htz{)Fsh`AC9iYo)>f23CmQvRyUG=7g`0Q zJ@?Vp_~)o{X#$;>3cxeNzCntmB>C$Q8+7vpdi^`foOJT3+7u}I`DB=Eod^>T-{#^n z!yz;I1pC}PpF4Xei@wcpL^px&95hiKM=@ZjJ~JW3M31CUf&81F^TAaCDC4e9fm!L` zdBzNz>h#e0j5;p(@S1b)3!-yh5uW8Oqz+{>iV<=Js=DWxF_DK0OLTR}Cdi z^>pT7YsOA>r*pnt>hLmu5cRAdL>ljP`0$0O>Wb#1G;j!Y8rVaGg(ggFT!H77enzJoLFBN0 z32kR**=8#b_*!Vf`vn)H-5eJ>th@v+b`At{DP8RTGnOtsI|H-Ey}-d*H|SE88FNTo zh<}cp#7|*=ET>#)#3M#2uy&OW4!JWIK3LD?JMK(_`LRnuKYa_S_}WovcOiUUGaJLR z2T@MA4xcdQEFCQucDC`cEr;!^ zSisk6EXyJmZd;9Q4&n4~|811tAjX_DA-|%EEFdR?HqVtKe%K3GZxRcug-%+;)Fyav zdMUx!5{&A4izoYbz?3gDAk=C-^j|fmPG??}9oNZ@$b99Vo6H4wb4Pan>l0RVu%B(s zYe(^-`Lw}fEL`t0A{p=f{8_;teVq?I`}<`U%+W5c?e82X8eUpV8XZ&UbNNQT+WM;H z-?xX^Byk!HXh>ptry}Y5fq`Uq`x!V3GrXm>n)K=7W3Kp;1547iqKEf?GkF^g5K}a@ zu2i6!NkDmL?}J;i3e4y`$i?VNlXcrTUSmxg%5=uC@$25BdcF!AR*fOcpNH}3t0uPE zXDL{W)@N6AA8?D5FHy16XxtEL2TShWfW`I0;nN|2(@GJrsWutDnT7M2+j1c+IROT* zdyD<+owkIlvj*~ujXg*R^nmi(>MeAv%GoR z$5U~e+(7pE@@&@lKn13FdEs}b*|hs}6#wwmCOlKEL&pluS<3HxdJ+7cSxi2}-pdUE zOZVj<9x6k6YAaAuxQcv^8;KIH?dj8&tyrMi&t69NgvMDt@q+!I3jxe-RYQYeIDFZ#;Nq zBbDezGN%(8*r7;apPxJt^6p=PXSbfy(+`tquTGEn_v~2ma!O@BbHAWu&NIvLTFPj( z$DXw$^kUk4Gb&8ZV>&w{_$O};Q)IY~z!@118Goh-9ho@XC~k%0rn9(Rsm&<0e3{^l zk;g;5cA!$BP1aj>QBc@<&a-+4ph)m4ndQ>(&%DUFsEfb0s}(cY3Ub1*b_9 zOVEGD-SLj1{_`vU9fp-fDkYJ!8*M2?oe(W3dSS=`t;M{vrZBvcI1L%I4!u-Nj8 zFPpFd9tr1P+4iyY`fn9yESgU4Cm-O`eHQd~RwoxVbtNCyZHu1Kf>$g1JwB^NO#Ai@ zzgH(SqozVqe{@dph*UxEwsH_3lBQR$HCXM5EAU)Hfejhr$m^x77cwfN>Ea(LJ%fd2K5Ua3!gJ?}JN~yJ3b)t}rouHb+~-&IsPB3Loz)*=tiCCo8$3~9?slW-RVOTx(SS4A&RqWH zp=46H5|Y3BFeSx$VJ;>(5#MQ(o-rfMNmg_=$(VL)pP@z1N3zXTG8FbI7=P4^hLR3b z3RJL#J6EJ2;1~~fq4)4duoQ`I4j^fj3f}V0GAL4fXsL6~8;&I{=1+fH%+72r##GI7 zkhJm#E-Fu=+v$5~(0y%i^IuM%kIB=N`3GQxz~vt`Xcj#cJOEWq(?I)O9A~K3%swxx z=N^1`%@1ES1&&^cfhUf==;2i>$~i1&MIIHjBUTIiG&LzNZ7Myj@?ekb%h<|&0uy$* zpRgx9#58q=lA|n-|EB8Duh3k9CrMxzHUxXy6Oo-w!*LM>B*e5}(VQ;yiE5%{t&a5l zemrz8&E`jb{=!sm*kBnylv0{Cp(kn#OFE=XTXfd)awexx&vcEjV@agz=>jA4!(BEx zeh3`jSq9fm*uXjEBYdy!OgPlh!TroU%Dx8pb91)mif6CBjO8Q4ahLE8P-Dj->bx{e zi&vpZ%?qJY{D*~UCxY>cD{$}A3@XX)7}Lxowp!fZTk zHxvgg_JT7vGohlWiLITl%3pexNd-c0#cHD;UEVl@+9xh0ubw0P*HK&97O8217tEau z@8;vr78TOi8bD8nso@-_H_S{ilsEXkjM|kqf_{c1zv_Mjm;}8S&p9*{Zr@X+kC&&z zAiKw6+fEVRU%Va#A{Af$W*Kc8kOAdw+gRy$J<3xWOt%H5+JD>2S?PsQ6vGwpqn9u^ z)8!l%Y-g9N2&@8*$_lOgs6AAANc`Y*{iHopoI4`uMw`Y<`;ywNVxutP#A;+-A69 z7Xp^SK~ynw8oXO3q7|ohg0XTMQ<{Ar6}+W+>EsQxH0_gUWRNc%x!uG^$}Fe&`4QCj z`z{WP_>D_e$&l%(NjN6Jh#k0am!RR8 zThfb5%UZDX^g{8%8%;RTOz60^7SPo(-?8|bHI@$zLtV{ATzJoko*YkyQ=&pP=)wgE zw_nQk%~^v#AFDyKNu7A>^Cp~PX+V!t%fN4T8UB2ILp0p+K09db%(u3rf!C+~IBm~J za$Y6uUq7qRUZ`dxkai@y?$W4ErPn^q6FH9C^G_s(|8m|hA4 zL?h6uxRM%@;ho$#4o>c7Y~lWCH2mN+_PPHEhMXTxB29*3=MP-X@kOvAvkIKQ z3U~I0DOmFQHK(X`5Jm|dgE=oY(>l`>ev!)yNa#6FBgeYYJ1Ji*kXuf!((Sb>ijUpMp=l5rS_rCXg-{)M{=QHc|Wp+i#M5>Odp?eNZ;92I) zT3>#|Se~KX$xK?Gc^X@<2%gAsD%3X5hK@ug!kLQ}?B}W`-g8=d2(O|1 zJE2E+=QUF^=;Dt{oaNUezHV`XnBws&Tyf zrEQR%7sQU$`@;8)3h=&u2t6ORL=>N~5X@y26l^lDBH@2kXutn)2 zb%j*?zFL_Yryj!wh{CNua+qxR4hS@MCF>VL9`y7^S|094@_mn4j&Bpj$-m)KXI;jC zCmy&XV*xL%0enCHzyi!xwo)Zq86RcjDTYTpJs7I3@br(+$SpuMlt``mKU4xagn9qRucS9&+8el zzguw2-QmhZyr}w02!GC}8qmwYP(vpfUh|z1Q8Eoo;GNw_I0y{c)kb?d;vifrl zpKfgChPKK=;%Ha?2vY~2mjQI_)WaU|zn3+d|8BGGkA+`piTvp%*TqGfWqd}&L1 zV_%ORAJUntSDMq0rQ#HFZ!gN)wX@nr5At?O$MRYJ^y%(7YRn!3>Nh`%{CA(m`t{>r z>eDvXB%J;2b{C*$x)TJ)6$zajnf&Zk*-4g64Y_h83R9uxVs$z?-hq^MOs4nZb*!{(J{a9D06lyO#)iki zMqt}j{(N4yl7utt!e49~ElpXi)znw=iL2sLiMv@wUEZ(iLd<>eT``cdjy4pj&S0{O z#}d8V%~bUY>E?MyF6z@-7FR6X@5Xx4M$Hcb4?BU)EuTa_8#Xef2!#1bQV>1n4*pml zhzD}Mvh>U>T(~a=I%->3m;NR8@(YiTR++NiAD1!FB%Y;?^5LIM7$lq>PVDXWdcOVm zKQ{c&G4RZ+q0`44=<6sufqOTK#K#;#6SGbsGpz(I*GI7n*T&MS zhCwSP(e|^ccv#%v zDhw{JfYkS5+_L%sboW%ESE356@Y&7yYIQW%UO_u*Jjh~|73nS-z}l@P?7FNGMVVEj z>X#b!;&&Nbs1WCKF^lWUKE?bR^&s-leC8|irrA2ePRL7N=+c+KYR{pxQ{A4+ekHKH z<|&T9bS{Q&_YcOyRpQV-`?N^zN;WMNx&Wd3Hqgh|dyL*)#GrN&d6fz5t;jQYy|M%T zd$!wt?fgDwdcYCKZrK6WH}12)tCQh(TPXbTypD^lhr=C%Yb;1U6^jM#uGywk*edYn zf3Dqv&L^blf%_#;o*yOjxXtmau7${@iwB)y-`J23r|Isiau`4Q8JIfE!NcA|snsxv zWyV^v|JDmRk@gD$C-V_YwQ{ALTLD~=nifrP9tBD%k8t~t2k={KK3z}KfGzuS;KWBY z<~lr=+B4Tt%(j)>DbFnG8dCw0a25~F2!kOPn{cyUI(ls!j&h%!=wk03SfP3i%=$gq z#V7Yz-rZvIN?gn<#e86HMlLjbo+d20DRkmaYSGuv=LOEiNG7Rq4I~Aw$mrSrwB=9| z4&-=Hmf+4)ynKq%nI3jExv;hu19dGMi`lbF|M+pAZ_=b7O$ykSz-o01Xz8I!Sp6gi zLmqm-O`8NT`kDYH6%+Ug`|e`rfl=p2=!nzm)ZNUtI!VY9R9(pa;M?ZH#?fvEp($pPV#dPeZls9`{2uqV3F*kO17y?m0V_fL;jjt zUb8KgDNF64CiQT{C#|^TlPxe4T4-JJ<1P|po!(r*xCqZY8c_bjz_JhW&V|%am7qp z^lAtw4mnT%nN6e};_D!0=T2(s&*9>?41;-xLO^zsQC%nsS&e2%UQ0$!@QVzmsbfE( zLEBz@@hOkym)PRRnS$H<;(u)P6Epr(qaIy7Q%p+)$M@mZDEjld5jV#mj2F$IhO&Ki z^Mr2njpUDz*YQW-@+eb`xHwG<34wgePi(up4(T;GlGn6lRJU~F?e{m) zoD45&-?oQ(h4W#Y(7)WB^_5G^sAV(PsKb>|1NL8l2TrvNCZ&RVl%ur?t}OV<1{Fw> ziF-EcHeaRGb*g0fX$-sCBr!gBaRvH6bB6^Rj<9fv^Ke%9?Kn3&pTRrgjnoB2?hIcV ze$)#0Zx+5Y`45?VSC3Ae3CDwvXE4(MppafkI+`q5H+aWPKEmGuZQ3-xC62XtIZ2I-=K2tpA&W^qK&D-KxwtTD;98Ler9N+9<5vs$f zeqtL)J|cE)AO`1MYG!uk?YLEMGT+tynCtOJHlUY}0moAC^^)hj&D1JdHB%QOmv+{1 zk~~Np$zgqdjcAo94^Jb6?6UkZ%uui-OYz@0kY4~7;)c-22ilzRocSp3#o&vZ0(qa~ zS?b*%OzuDhIL!1R1=U2Rq!~qv`rL49w+_V!d84;Cl}SDJGV8sW26+D@yHzwEeic8) zv{G5vw%v+)7hc6Vw!!o~dp97F!Omz|3$q+^nj>UU?&f7vW8WFR z*5xif?|X}OKfkfr;`anEh9Oi*2wb?(LG(=~-|6*}S-ARdC3|S%h_Ul*Dd2b`|8Aum zygS*(DiSV1p5VO*O{uC$e-Md-{ZE2hYXEnk;T_skZRVpljzN==Q(%qQG&XCmD+cXy zrq9ra5mx`fT`5QKx%rNjr-qTe+e|J{V6FPS`Gtx3?gDXi2|ZX~$=hT)vvNxb(rwRX zgQS$9e5x!-PE27{{;x28b1)eXp2_YS>asy|%;~*R5L#FV(qn~q3KuV9O`IFr2wb#~ z;WgCo&5GWvJWo4@deRG>XxtHMErPFmD8_p@Ci?jH>KpwBHG z6N#N4oZw1+5%%|fN6pxL5UJgR`NC}TX!<@j*mFG;EPaD}<&&VgG=oVsI?=QF;ulh` z?139!|KjZRdKmd94orW`j9>fy6kb`N2E*M`A!d9u1a7usu{R3PH!KWRJOkRiY#((z zF@*%XwLe5dW^&Q69AN5eX-hwO>8|iMZD*P2KaHmGW0ivTXO!u^>rf_Vz6u7`@^Hg>DVwaD2`)2KX`ik8UIpkYt4xe?4@$Nitrupgt zIHWFU>~#+xG?bl=*^bT03rY6bH5d`u%}+m=&N<{y#l`CLD8O0Z zh9~O4jH@g7xRT;J-vu$y_g_AX=Zem=v4-T$R1&`UXFeGRim{BJ;QOM7H zg`J|c4 zOfC?Mo=Ij4Wl3qSJl&rx2k`fhXnJ5bQ@WJLT%Rn!?nx%FThE6*zoiM|Y&rp@LTSm_ z0bD&Lm28G4))Z-tr4{@>wmF~lpxrPDOnXgn z$r)iTxn|2(ZkC3*fU}={adtv zE?%`4*$AJJJ8f!E^7J$|aviwTZa5gsxe0lXq*%tXWjJ%m3HEsHIhgtF1^al+l*Wc9 zg83vK?>U;%qRg4>aD)LJ&Cny&Bi}J&v>ID+LY6a)>%#hTjgYibmEwwiG3QM$*b|+( zlx_*6rEf_y_$2HbugW~C?bsmgUO3JCQMy-PHhj&%EBCK(4d3hOgq-;JEk@#`Iq4YO zAJGWsLvm^A-B+03vX_iHf?&!}O}K6KfluDu!QRdl9CY~yXwg+)C^fqPBi0$=7T>LW zu2vs5-V<`)RrX-7Y0RRUelXcF(G=?Q9Ye~$;X1?NRCFf-{&dP==lV%dUbqomjz7Y4 z1A){R?alW}-Vtp|c!RFSTiL4a(V$&7h$1_;v60=a{HZHHanRi$)ReRlMf|fT%`FS4 zxbY+m6wA_C^I2@7w4`hVH%54Y3#ULb*pX|kZSBBTqE}$^+t)Y ztjWXa>$e~n6Lpjwm~%i>+5A*=aUhe+ux?_UO1@xLxFA}RX9cCd^r$*!3;z0H11szf zfb!(U{Irw%*uMQmb+1>gg=?#?V))#bEM#>A&0D;m^Ouu{-@3-6E9A?(xmp(2D@)tu z$}q~XhW!nZg4I9bV2#QcShRQrJ*X(bRZH7BouiUq8{LJ0jd4(7y%j7ilyQ%!7&m&2 zg7=pP(V&l?INOE~XeFah*|x(;uJ|o}o^*--?^7fs1+Ai&PD5dLLJejHovL*gdXMX8 z&u8lY3ityfPV)D1L)eWSxAD)|HryN`j@2mzoS&Toe0b+dT0$3Z_eNKyJNW`;ln=)$ zISIJAuo{$t1@COJ5qHkzFd8pi!^U)0vEtsTWK!)+U+(Ng`J+l;`6HN%ydwd@rAF*@ z@HLd=cr11wj;*_Y!h0Q|8>qe$J&x_-3;(F&zsZWEA7a9^!;XToz^q)d43P4HJ-X4% zefe_`&vy-}Df%en+c!2aweK;^OhFEQ#BT=q4-&jy!C4js5`5HoPblYC(xs9OFu8vW zr0mT@ss4vJ`iK%eKjI1sdtb4t09(-TGvij&9cKwG<0v;Xol9Bf#@yeUK$g)0N9sl@MljLif#@Qxbv^ruD8Y@ z$GY(0!B4EicO+Omug8blqv-M&6WXIPn5%lO%N9rbGAt2eckTUHNmVi~F!{n@zq6#6$SSg4K-q;{Cow>~pU zoO~Zt^;=!uxC^mZc;>}?)uvvCAZKUmZsPh9mw=bHFx|K<4TJm(Z)3>f_ zs69^C9E;v3KcR~MFoEmg0*Yso;DXQ@`mwPE)4nwDZzF{+;V2_;a#ZEZCWVRKmXx9Q z*+I0D?&AdCwb=F1pT;y;;|_uG<2u`zZ!r3e%4w6>t%k?!*hw|+N9tTyIQpdUZqx%e z!`DnK@QS0~PMWt!b6&XTd zV$yKI#e-Ze2Q!0*7x=YX_CwPj9mrq4jw_k;8T>nx*fE!Wd^k?%uFIU`$9MPRv5Y;O z{+l_lqTnNM0w;;PLAy*XZrfdm*AJOd&c1!jWhMhf^QQy0npu{#a&;*y8*pP@!dudN!c@?;kO4=PDy*AkMan{- zV>XR=Wh`pQpA zz_m6OmKV-~lrSMzy!trwJW`}n$?9}v+*rD%+l(u`_Mqmb3nN$(k=ex3%{zq8K!(L8YrjVU84&YM-_q=+;V0fptv(9K`Iv<;` zj5=o)W1Vl-Y`tLd%X(z{)74~D%4lB5>>A@yl*~4N49?|sp4^BOc96(Q}7HgvA@W1aX z9jEIz!i4NbR4zNtjvGreX01yjHWFM1rIC7Usos5 z+rhQ?d!QBlUW~-_bYk|`)FDvuIBvP_NSp6=vZcC

F#l6o1hoT3_f-5h~7HoZ(G= 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�DgZ1TlYGPxn@-@^pmMZkLX7d>~#%!T&61|DegcYH76d4G%M-;dTN?4GUpOm1t&0h+S@{0(JyZ%LR%gE$w>2v9H3wJl;q-@A zzrMvKyx2*1B;v8}%zIWcyo}rD8%jZ$Ids%)85zqYg60ZU^7~tgY`rpbTg<4@{1Ci4 zvI_q+ByroFQpJa-?qXpDIV@>aF(}&&!AScw+?aWhjT!xdS17uLJ3Rww&CN2h87&Qu z-&}*X&|>y*StVUc1Pp&-56Qj4cVXyCNSUJrK3b;C-1;2;6c`ZAMT7A6`MtJbi)012 zstc=eZD2Nijl68#V6t3Z4~g%BInN72$kFdLgeBbPqIQ+j$W6`A7ja$iWDbOIy>MJV zND4MBkA(fb=g6hu4X-OOH7}g)=SL{U!y~(SsBOCgbLO9+WVzk=`neOC;XUr4ZxTCV zc?cy8_t8R~=P3H^OL2GenD>y0eDMSedTCRIuIuKomEo4m`|M9v7g%2 z+=G8x_u)O`AUg1BHm!QS2)_Tf52vrUC*>*=3J_)C-o5~+5J`Z?*hYT&@R4+MeLr4r z4yDl9_Rwtl15JV>M6HK{$bPmXR1`@Bg%CY>Bf6IGn74KE;=~cY7i4He3v5mYN#o>~6iT(o9ty6>R9)F6hFxo>S_b2lA3hr=zf8*hD z;4kj@Cd7F8#W1yXKS|`Q5nt|=V){)UXehqI3tLN>9Nd||2mKs=U~gSNx)#*4cZ&|fH?*2PC?S2zZQsHb* zOGvYqN#kLhBXk+(S2ydIm!WU}0Q?yzjQI|RM@!mQ-w>9Cm$sT{h@WT!4h<5S1E zU6noTRj3hN>3+yYb_CPmjJ|Xb?Q-;gF5MAw(R?1QOS%%2(X?)@%WJnf*r_aj~*QvCkZii|G36GZy;w@7R|4T z<`jPxuszF%(&nol*{9q={A{VyG(tiV20F~9W86F%e>a9VytAIh?p{fK7Bg@~^963W z-FF;%5$TUsD4fcyz?YUo;Yr#J%n3ROZx#3R7Ofj0<)kyWw)+ZJ-biP+>ob`7uf?!x z;Z!mUYk?i71K@l7c-Zsc0c%=tj^me%V-AMb*^K!KFfNbif@2E*EdCZc*BN49SP_h^ z-$=!t|5)OxSW=xFMhk2|uwVWU&@Z(a<~9Dnl}qw4uVp>u?(XHUEH(lC(|Egb`$TM=O?U|q#Y&_b}}`xT-)sXEJVWt12$_zZL%C)y`DwfSr9rj zA23#W0-WMosBPgAhJNF)b@@f+cHW3~CnwR}cV1BLCl2O@(y)flq!y^aZJDcK<=HiC zNckUJcFY8eg{*dc`*bF*`T)-;*?`x z+mc2IJN6x9T8&83*GJGW_oDV)Ie7Bj3pQFSU}PJkr{M**=P$alk<-_(VO!Tye^4^J zbE^vL%SR&$!s)4*`YCHCOZ8oBUWn(03GA+|Nvx*GpCk-|Sjd8TG`@O0jPK55c1whL z+fQZMRk{JRetw0vM|SW-;IxkXr3Cv`I+&gPNf_ml@1=E(i*dfE7lPn)c1_D5?+xp? z4~|b+Q~Gh+2xUcz3%8*|+T);4n5iCimZQDw3aco34n0vB5aK@?y7GmeY&hI}m)+!l zz=&mrj>DZZ?Z|!DHMUSw4L%0Ng5vFM+}|$}g3E0KPju*R4Zg7u@;bKPAYkE{mm5JjwJk zp@aAnPe|Ir_jT4d^rs=V_Wni5uy>6GFABNwe-&--KP#u61*Pm!c>+Dpp8;K(0M4OO z6zP7C`3&o&^z6$RxN$Lz(i+F@dUT8}3$>;F>vj1TjV{!Z{03XayWo5{$L-Xd0%Nnv zNK4fic8uRf-`e9b^D=Srlck#d(q9uilwzk(ii6RWa+2?Q0M{OiQ1L{faHUPcXJj1s zdk$~<6WGBGA9D~TEQT?!gYTHy5?7E4%%b4dQcBHkXSsuaWZanmR;u^$aTC6mR08lsoU@UrL<{T2EPMH6$_#|yLBlWpa6y*z~?FS=6r zY(v^MEEmcW-k=a$py^2q=|ZnGf2~g*Mn(?;ewxNi9RL1zK#7=iL_MP z9&Qg_Me$MVVCs-M^w+JYQ^zHlrdcaqobZwxA3q9=9xtWHziHh2`a=*`cn>Ruca1CN zLhm3jlKCByp-R)0sJq64rmbJa94GIm^3Y9!Z>Esm+DS33za>q#uO!j#-hCkIx|~ur zDp9|(1}zsH3L%fG`HA1Nz~-P17#yEKs%xuo+NvwGGqVtUW@~_Mq|iFJ(?PVrKUo?iBd*^a~Y=gi!7o&YG>-lEy7zo*v z&y>xbAfoXM^Vxa?x)%g<4bDMivtlhZX$ZTdt>?+ZYCp)&Z6^6P!8bBCOPJ$%E50Vd2FjM6=q z)7|3|^vrSx|Dz%cew!O&SXVa8;nwlBWr^4~aGe`864-K)^U(-rvxhn}1wW1io!YY$ zZjWq$Nx_G4Xq_lr=Bi-zh|6el)Bu)tse^IiHYR@Ef+f7Uh|wc2!yo@(TCnaU$lYDY z*Q<1c?D9Em(uiPqIrbUX?zM;p`n2&xR4#LMu0W}mFS#o|^)S~>oBSSV((f~30)OcM zcvYnHa*aAPVPCZ1sGY^6<9@T>4gZ)?mI6IVleUZTE5|4PukcUV5w_7Vi9I&X2lYqi zS%2R(RK6?BqPHIBdTJMeT2~p$nZMvm=G=ta5|>F<*bS-+xvpYeD@ae|$v$f=i!>=f zrFX4hT0fKy&vvAsGAX;rF%5W5QrO$HRDzvuG5y#f$BgD2;ewAG!1`Sw%&zJSo6(iY z!?u3jzGH^q1{wh;JYQp+MKxJTPDj#G$fhQ`#8{QLaM4`$=2j6rS_)MyPw(c;8G*^CnJkpSf@r^>f)H^+G8uzxe|^< zjibL$g_)^xDqNE~Oc74SU>diVbeFlZ%oDSy+4>)wBJ3HaI+j4+(s}slQY1x<7dSk= z5^zU+8g1QdLxp?QvGceB#oIQsw$-x)^UhHee>wv)I&IjK$K^O|dBY3Y~ z-$!$qXnfbD%V$?-F#TscL89g*T{K1~@7ze(T> z+R>|dpK#Z^3Wnd-(>|4rY}(Wo(n_g;agiysHm?#x4h*Ab?`3I~Fq@DOe4P7aZ3XV& zN<6x*g*_BHqa$t|qwT*Q!8QvW+R*b3yzf_nlH+IF2)Rzqc-3cC5fMVk4iV7xdb+?T zmWD5#;`A>om;aI{utM?$-j-)Ciif0<>z^kq;(`sH48I5OyOXKo({OtJ_$<>&8Bck| zLjQS#HO|*vfwC6ye5OJV=ifgEr#y0|@5jqgw67lWp8P=ZqqA&PM!S%%kv+MGh2hI) zRVY)mCcRTBWWFg3f8Eu$bIE+pOa?#T*!TYAH;}=y1s3DLW@PQZi{brgCvv}Kf*Rgh zq}8;W`r}Q(&;26~|Naufw$##=fMBM?c5H{EM!ffvd1;Bfm%@XC{g@J>ax zIP(vC>S;`xt#xeCiELZbk&QUya48xaOF*0IQ(UFI1RUL>z+QDbwOk%ePGPooONYf{ z5zL48?XGZpiXM>fb~;nhL+KLH=$dm6tG0}y1=-V}Ug%t{9v&kw$0L9?g_BR(APWxN zj6-zWQ8^=nJmR0AjO=9SUz!A_;S<2aZ5-mAYb>R-6g4b#VSDQ@44$t7O9H3D?%Rn_ z?_CZ2I%VqL=}DHG?(h@j_n^W8Cwk>14c^(UOkOx+A`{$k|LSsZRd~;vtVpM}X%-an zr2+OQI6+eDLr%S3imne`LA_O`?4F`3%sknQ>J!J4>4+6{@U*M{P zPE?)|#t-@=&|bwIFfC7>F4WaE*-OsFDVbF^ie*vYn>wBSsu9@mZ3i*jMz~k4&fx1k z@AGEmlW_&_Ko?yPLuYe3cFhg~tC|kx>pzI@IrrEDr%h~Q%~v6Z|C+a}RHMAZXE5&U zNSJF}gXRu8__69PU%uxF;%8Gh?NrXsZm@(G^CbAn$_~uhUCWQ&kxaKYT|fyxKXO(< zHbE@`XShv<)`Rc3Ko3jstf*)A`~_#I$9|LywFWyqC3;xU!E)@5qE^B+Y;5>~T7|^i zJPc??&^9(|uPF=LCr_iCOCcvymR;7`jIXBehj)_u(c4;*?YXo94$X0d#d<|7e`ORz zg)f0xGhu(*lFa5iowOk^6XCj`c3*_^IDSNbxQ)V@nOvks07ccUZ9n8dsVc z!k%#-y$|E8EjjF{+`cCFT@&cQ+(eYTbdEdzZ626C-hvmUv%&Y_5-`^DW16XE&@oov zohu}R(*i}*-hL7fFBN*IjsrOL)(njO_lz%pRE|$CeZrlK-eL5AEhzV2CvL74++@K+ zD6><6#ErEw3g#_t zgF-)N)b}YPvd;Z2X1s{^EYpqavSYJK<({r z>`9TKjcJW&vrx#U=*_~jrE-|H%N^ciIm2JIU~FlUWkW)9;NYL(Y)FwU%Zn?3Aa6C+ zYP}jW?zDnS*Gt_0&576EZq6MlcV!O6CeVGq3fgl(}BER?Fi^@C69T+==M46sGm9< zlRL(&+l2GhZ#es@;Y)&Xk?v3HXX7QGaWga{>8N1<>5QHYMk{)oHf;7}8SO%MlK;aV z+H_)OXB4>q6S$wN@-av53QoE{8S8N&p}D71AUs^)m<9UVPE1HcGs#MJ zJ$f$m{bn?p9|NZaR<2R0281o?zz2PTBkAfw*l6H@8~-}ut$l^;bjTR$?a-ls>RgtX z9m$MK1<&aMGv4CWY1EKZpq=7R`2%BSz+%(qyv6XZ%s_HH6jTL+_7hRsFXqDZ&)#P7 zWkac;(-=x7xx>eq$r!q8D@2-Gu^W{^*wxyA7GnignCws*d^Vge=sw{twlf&Z%6Y{;54_!^r7H)gIQWfOh)ocfe2=>2Ic(I$c>in`o} z(Zx`9QjuitU1!@QT)E3bPq3?LlEU_)fNvSR#JZPrbjQ}Z#i$;Od$Uo@tGoKmnZ@_}n9W1=Y2JXu%u;0IIupg!oOqIhe#mTVmXc7L7 zAH{jCxR2byF5LC^AWeR0f$w$>XESm}lj*4=cr`j7v!qv3$FHQO7%5{YwF`!ED+00m z>lrq)tO`O*wP?SU7G0~iq{1UbxaC?mix{&B<=+3r#eMhLEP)ksOzmWoczHLP%pSzO zPj|7IjvG0#wS9QxflB@KXC+L!;w9%FSHgW0vT8pvBPh#9VD7v7LBmT~ivK&5lJ0H; z-)qA2=-OeHAa{T@J&>gp@8!r=%ZYq5zA(K@hv3!`H?TZ#g0o5<1GxiT{H1GwIHF}N zGf^4J22ajG<;*#3isv3%la3og_YhIf;yw#*c!p(8J!p6QES_ut*tp<0_H4rDBf4j^XMU1&XkjditvA4FAwoV^)s++m%0Xp+ z2z0*kf^o+sg=~~8-nu!2sT(e0PTwraBSw}a+AYX_qYGa1*})BqnFk9beq-35P}|q9 zwP4iIyUarHc#H}g%DZpMVjXSfyxG)S>|6M6{4F`i{zWcjx{q36Al`-zC@sfdqG|Zy zKo73-w1H)B)#%2LcJ^BIKXz$!Exwsv#D1*K#6xq&&=s9guu5_!bSf0!=mBM@>(`}H z!#OO#Vj6xe8b%wt$1+EG1&IB53CbEC+AjH74xJ~z@;Aee+g3kNhBom8tj%$Sm>?iZJq!rg>_0>EP#L$dKbvM_Q18VuP|`UCg_@3i365bSs&*Dty71Pow2~7wmOb0O0-$(z4`3?WN~VC zcz}7CoNc^s4>NzEN81m+Lup-MmhdSXw@$NzP|v=m{OMwJ_`4H+cG!sfW~Rf8gbUo2 zpA}qDM+Aup|Erk(M0UqtnCE(ULz?;;8nI3aUN}lnA`_*yyU%!EDIN{4Z{_EO9){5J ziCAh7Og7E0S=b~aeA0AQe7Icsgdoww7q-;>cR>kknZ9B6Z&*$#~rkptxm&qBiPxik8#M#Jy3O19!E8n zV`bDQj5X%bX;CU)bmSl=#J|S`)mV%Q*aMQzlHd{@FL04$@u77uZ* z+>{J{%w(^G+=hYi2~e0`fyqkl{M9sV_^(5pV#Qu#$*&UZ{xTi5v=i@QXhWelA2hmj zl-bs0Z^V-3Hr#2c$a+QQK;qAdRIpHm=+$BvBP+$;=RU!omg8~FehYz57nIF7+Gy>!A zf^!PHY?U zkEPJU(;p62MB~JfqsV;0Ck#w=!NPf-Smn~iek)98x9sxpQtu0#QMeYg2c#+R$T+Gw zWJvx)+xSo~;f^b84ZdA9;k3WD@~NK}Ly-PT=#bgRp6rOj#TqxTcBL~-((@0wMc;0-(BPwdt4$zWTpaP4K0S_z%U@1b(Qt1%z$B$ErPYSmw6` zEbRNnw&&>z&h2FamrjNznG5s#%5fNIy^)3}#j>Q-e5RJP71Ga3fm&Z`ci>a_sjz95Z;B4Xh*_Xr2QG z!;RSp#d8=E^%pIsxZv0xfrpKXKY zY&f^7y%~PEe&jywJ;UFPHOBIJC!u)THLN`^?0gfAaYK)rt(n(2T6S^|E-ToC(NhnQ ziC!nhH5KEV_5w~U#1$4U`Nt32yb03djmS4_8&>#PFufmEtYrQaQa+T+Dt)`q_Ub~s zsIh_%k(DL~1L3|Df5*1sxd>;zq>-HGs1W|N0|HQZ1Yp@fKyZMeM%Gh^l8Wq}=*tqF=19R-cA;UCajjA&!7JX(x z)!&)Fb{ISRJ&|R8HYBU}Hmvnj7N&3iz#lA%XH6;QAUmlHryIXw5Ayce{+@9gAMaA5 z{nMNQ9gXP3UQ1lk>kLjbk?s9p#4N-NXl!gMSE*r%T{(KRTP^}GS#vZH^$m}nEI}^C z9{${Oh6~FiXxw{UIuf*uoMZpmK1``@GPf~jPOO4`n-&D-f|Il;GYe}xvar>>i+knp zlV$(@fw@L2DF5sznr3)|O%E6epO=T?nZIHnS@Da7q`9!g>*iD2hbj2`?<~Bl(u>ve zq*zR$HRUBbQ)G-DJ7FqZ3aggjR?D$$(xlT|n4S+v*tcV6qria+;c5ueifMU6w=v$3s9|ZF)tJEn5z@jI zKE&99UTkT^qS4oIi+d{0e3%8V)n4IR@7YW|t^_SzX0Z4*yKrx1EPMZ}S;9Ypd>>~$XezMVQDYIGIhF6~`fn9hr{t}so3Dq@RnYjWf z`32CmIvtQ%Z%(rRHL`+@6Y%V29^Y>m3rP=#fTqJoTrT1aK`W&odR+u)$pu6CXkUD= zvlZ0@ez5xY0WR@)Djpo7MhRcksG;5#lMedXI=Cy*E#2uXAutY${Z+Y^H%YcF8A^EY zhy>>&dxy(6+6*JDdikb5|8bul?uKojRxtzRBd8Eyh(+U1py_}Cm|ELop2`S1)6&Ea z*VW_R9RW=j*FD6DZ!R?Mo+~c6DZ;-kSq)Ds{Naz!IQZI>j+cEh*dN1G{)AN@Z(*v$ zOK8r(kw4BeQ#W_^X8nD>zt# ziCwsKTyV7}um{#9{9IPV|6IwS;l&v|cA$!b@d|MBsLez# z%fcEBJ?he2No5}QSp+HDmN#g#-H#+2mxNfs#Hiog4|97^77jjo}-Y#%ItY6B{hX2GLn zji~)i7R3w%``K1*YA7upY`>bL7*({o*wSyLDTj8)Nie&Svke$8x z3YY9AP&4S~C)_}s8RATzZO6fC88OHz)P{`jYq|4t20(P6h}E-L_R6P*3!AM9t;6oK z8c#L2+?C7*$J(P(j5%fHm#{Gjk6CVX3ja92pRe9l&7~jgWmEs&z`*(IAicbnPuWz$ z?HClCF&iu)q|X4B-0{H!y%Xr%2`BFQ^B6oUTFs9LXKX;-nNoHgvswD;FgD4rqS=cV zu;Sb?uwX$P++4jAzMm5ET!x|W-|lntce0j*cmLH^T4g*YVzHp8!9>ag%U-PQ2hxoP( zH7b*lByq)cB<(2$OIR9r=td?D`H=(5p7$``jpw%=kEP_jkJ!1VhEy7CN?}_9s8(SC zr78`w@v_16M2VxvHREZN?`h`LP=Irv@8u3oP2#$Ks?tfj0Aa824DHV3Z~>8zS;ZM^ zob+lwMCNa$s>u0ND4~Syza#jvfM#5L{5m!!jslga1MtAZ7yF7_V6V_Kr;>|YaEcQr z7a2$TKSxpe<|^?0VGhRkCc&qn2N}11I!>Orjb2_dB>T#6a!X~9doPY{*cZj^_X(v~ z8%Y>*Y&FG~x#DUWZ}iCf&Ce-}h10B)A01vm?c4io>We?ItzXY_=0axN&p8(G@=8}||MDQZQ*bUu9f5OC7va^6SlG0x5Jxx1uyZr!(Lmt|c%&o8|LGXS zF^_mW@O(GRYkh!Orpvh@ZX@VY|2eL;V-mzpQ>Xc3>S4e#4Yo?o0B@_iY{Je>OeC_j z$=fdnC%Y9>*RkdFJ<5XZTwnraJ|5f~qaSQ$!W>rGEkd(*9HBQBJgR&Uy4R(7Xb)L% ze@YT54NHU;(5LUa!`P@b^ z`82?fPS&B34@K?t!`71%Cn3yKzpy3TKBhk93R5kR=7-)D_S5zki78GXkLEIV=ivoh zYZ=QYPE>)_w++eV$!qkAtY`|oo5iKCONOcEEAh$W#S~~4iH^?uVB;}of__DqF}#eG z2-*956Ay0A^dypI(zK^Aj_tla5yr=iX{sG1_%r1bV3z$!Zdq#uS4;D8W=cFt*M|z- z+f?#znL(c>cron*t6 zG+(vlW*b1~1rZp5OY#12K)Jh{*h?kB5g&2aR$gN+xfPFQw%M<^DZ|~^$*IrL@%?;o zt{BTMvs`|X-&ERLU5fg>lc~)ni|+H!xc!bJDdJNdzwr7sG`7oO-c-fzyG&z&PqSe} zYci_JAH~878I&9w10uVe;h&foo<6&odahNnZhRNQfO7hE6tfe)zlrKty_VQ1ty{^hm|To|zj0@O^v+xrDdxTD1r|s%!Wjmq=z5C`bRQj?gRzW19D~i2FWuEt@2AR=|EKp@H}jmd6R5 zjeZF}bb=-O`&%7U(={P!ay^qh^##{w9bg96&f?5z=kZ&65^ibV1V*7lsB(;U)AjE$ zbo!4Oxj&Sn!tfllzMg&F{mvyH}EA z`(&!Rc>!gg2pzi%%2cma#pc`o6=u-^Fm%IORBhPK&QD07g->(A-t!kek(@yHKK62# zeG)0dF9P$6^r&uiHV(ubBA3PI;M({U%3kkB%~d1mnlho9;t}*HISz7zrLajkmpyu7 zLlX_PSgXrOfm5^t94;r*f|P^Yuf>G##^vEV>1go2VG1*A{b1a=J$&^`;S4Z82F_*j zr0{nbbx9SHm97ak7C&N`6O79wr?bz6g5&$^K3eBD6YBEcVAuf*k~193KKv0FgPaCt z%-5lbVxq9zCkoZ(DzZWsao8g|h_}1#Y0dXpbbnSfXqU_fI}>fRQp=@VPlkbUUp|zl zSwMGTG@g)+g76>u5bt7wpF-@Z^QaH1^wz-GHBsc@^cf%SSE7cE*Z9WdwU`_K6fZwj zqjt$+Ty=OVS)K@ipro;|=cgxyh^z%wg(;vWbYiFXRbWQSC2oG^W!O1Yn4gB-z&42l zkS@w&)5C|-dS*w8mItxxkr50QMY5oTKb&^mWv<(z3FEH*=1z+@GZpC?7WR7`e4Sy( z>_3Xa!S%xVbWaPehRh*TT?be^eL3@rJqlw(+{ymzSj-Su+}IyS1{y1LHFJq(7Qf`RGL%q zVQwbxaOg9NYCAxXniTAg-GgeKWBJU6!_b_pOZxiByv!0GsL_`L#m!Ak@7f+R_SqIX zD`Tia-JbnDlSbX^7J%PxGk7n&XWYA^$xpl&Kv89qa6@z)3)<~UHJUR?$WPOsr(Ph$ zj49+%4!jx=GBiw!hA;flB%OAUb^DspkiDtg<3elj`!EUKn+YAYMd7R=#E>jCnnBXE z2WoQ4+2^YVntlxvoSj;-aNt836Ca%eBkHcu&qcameNP9V&XqaEMT4*7lndRnN!hOKJl5+mZSLP5EWZ&hWJ% zviygCLUvbQoStnAX9M@IaGSmc(~uVlxXkw>O6$df$7N%5Ft+BSuZvK&o(?=;5&*XH z$JrSd7us;8hCK|Zpu4s{P!>NKA}-0ZV-+ztT)K@lW@gdbw}WV;HI5D2W=?_XA(Rwg zz<239MbUt{@F2L5Q`j|(>U94$sgG2FEfbU2HSw*qROr7d6{JASmLUF;gA%(iOP(}J zB&l=uF?RX>3znx@%5sHV^ZVF0ION|579*{~-4VFa9tLcz;^#ZC( z68CP!Ogb*)-uGWDgUS9a{KmDaG-gF2YtPEU$2WqYQfvZK@|px{H&?LL2PB(w^aUo# z<`^jHe9m8AVaYC@UI2zHl_Hwg;0BLcc3a>C{#tGUmD0r8JgsokGkd6zyUj;LtC3&z zJ)C}Y3m>GOL!HvT(7V?P%)(00`w(J?{d}-iy~A`neqg}6aB{I21{?Y%DM(@nEl;|_ zg6{3cjp{3b_Kn2*DI>VZYbkW;!esiFx&T~lJeX^R8?{|q4hvTIFctX&knu*G=_r@N zP{+U6G<_GI{^mxvBL!!b+i9};9?6A!8IVGXH|EadNy9IUJ2beT-EvwiczPvhz4#G4 zX%S7+?ET=RF!R5WVg?Ttzq2%yCpDDhyHs z?_7u{Mh_yK{mLJir%DbNq$q!b1~27dfZO*jV3P&!>*>2^@cpbfm{k6S*)9#I*pCz8 z_+o2xQjNo>aU(!%=|2qLrp+e*8Vy!T!Vblw7QM>MDR{X%sNU(qWe4<7J4u*N2kvBJ z6u0y3-=~sA;Ql5ZmrR`G{~IOdWb<~K?x>LQnm2l*L}%V?W8(`SqW+XAXlDC@d-m0l zvvzvK$8L=Ww`T`9L$_Ak-JFBpDkfmN`(9Rj*&G^nUgs4v50Jz?b*6ic(JLu2EP2$y z@s{3r)#M3#J5K|qunTzbKr}1%Rb$>NNoWw73ZF7O$-qK_%1?}@A^qL_jKux$!P1xR zxK@I@f(mrb+Qh1jyP3FMJFcv3gx6DQ>4=cYnXPF;nbUXJI)%hSpne5tPdEn0WzXPg z;cVyU&w?VYa&%v_ifz~=uttOCQ+li-J}u;%?zDg9cMj}A8_y@~?CcBJ>SRypad+{p z-Y*80hjG^uLvkuw$!^Lt;|qb0m?CsH-6#a^wmFdJ$NNoDh1*f&+EcEuIflBc6A^_x z+^~mX@bFSK?%Z%q7$#4I;5m7$|EN6mN0#E_VR~?2$5qzazk=j%Ooz_WCG5kmIJgn| z&$iz46rSrj&s3_+K_O2bTGZT`{cQtspP~$Zd#4da9ELiFpM1u&Lm-k2Fct|57MQYG zZZ+^^YB2Q5IpA{NMQrVzJV*RNTc(sbibTN1f1lavn|UZVBprJ`N`l878&G~B ztYLx{P4hEm8pF=w(s>QgXq1j^MxyMfR~Ws}DT3iMSHkfHH=)@$fzpcK zG?j*&!|DIxgnaBlfu&?k%qJIZ?ma|3Vb|pPCId?U6Jx1crPv<5V5a{;hB7`l;>>g< zNXks4h#Vixz7UILy}r!Ratf;WCv(noJK5oHySS^qee8L*6e>-b%=}_@GMrtCt5%6% zy;d`3gcY&6!?xHndJ@ihF7Omrg^)783=KCKv4NakzI*IWzT^6PK2K&SOKq*;b{*4#;0mo>P^-bWqC&Xj&-VkySscl-R_NPfY-J)sE;t2NYUMTw@s!hc~b?oz6 z;m+%Q8N(&T>Bd4eo8lXlHda;wTc{`kcYUg2^)fo}^yg5JezXu5?(X56-uuynv^6$Y zgzx$Wkx0sk&SFR27{L`ip~oh%5o9cd`9OmUYHGBzoMm35`Y#FMB+v5FGhEPr!EP8Y z?D14Uw5ey;EWs<$&2J4z2D$zKoP5!o?iMfLwPvU=kA{ov4lhrMgB2LRBAs8qtA+8c z*HAOn6L-}XqjA$@X6By=+CpD)W~C&=Y}Enxc@k9YIgzTQccFLkN;X^hC2zK2I7||p zKO*zyQu3NmED|z5%KTnBb4r94P0}Zc!81@%tO+syg<<6WW#}kmSwGtM;7WlTZaS{6 zNmFkub;T88-|wl+8g{UY&008o%mtQxN`~6MIOBWaS^fIIFSu-LXVVjhnN8yRq|iQa zBwWLjETCgPYO4m&mp@Lh(Rl+^tW?JhhgxC#pHjAK!WW!gaE#CDXKefD ztpcwg176=chJ)Yyz{B|w|4uv@8iSl!>fY<@k?>5d%N_|&qvyfg3$|>V>}hU+z8SO^ z%R%8mFRtst53GNuPar-<;99+Gnq?P(V&SK4>Y1>3ky-pHqx6 zhd-gV#b)OH?-2Hs+ruyAcGREj#IE{?G*gv1wU-%D-MCnU^NKjeXPv+cc+5LonM&41 znfxcgx3}_~B%RX`VdVA(*IgV9>5F%fqv2&V6uMnow~4@+1aAsFX2smv>iPfba-nUa zC7x~1W^3m=vS9z)xH--n(|e|Jcanw)Y(iZj6M37TUK;|APYd95k}8GAu461x4otM1 zq4A_E>pcAxQ@?k?iYr5enNK!Ymo9~mvn}9lr7<%(zK&QfNj04#I(-3*de0 zKUk~TfqJf?SiuCx>G;KXYyUU8xx$ggP4uVxCw}uvUsg6%+*n9i-)~`Q|7JFBgf@R` z#yOkQrY$&MCtctsiqeLHM0PzFUM&daumC+%s;E!x{d?>n!fFJprLiC*m`Id*)G2>&huO zS0BZSqf+<)xio%=o;5RlE)DY~Vz{I~d&zI@Lk#_QhP6#l1mi6ZWU}onER|bJCl9FL z)bIi@i`xsSEB9bUMKYT*$rg3@1oEm5OTj+;pDo`ggEi|V*+)BnocmxZ?)kGE>~=0< zCmS^Ai ziD?^f8&zGwTzo0)`|b&b18Z#;teFYDlee+U2R7kHt_(`DJ8^h>Aq_7a^X8GAD+CAEXUTPcxwWc0+y~diY7iJEVZv19qZPmC#!dqao<eUC{NGuAZ{Z!bEj}JbZ{pbXgD=o)gA)$y+TSo{odH_TSti}PeW~UnXT2NH~h5F zQhX9yOiyorw&}n94;w|yY3X4rREsh|k8Pp2VoNU8%r}Gjy*{u2M4RQM$HTb1+sy3# z1bF270)LH5BAG3X?95y>ey>wGY!@8`xjyy0^+$au5qcxXR;{M7I~8%FjyQfbOr<`b zzxZLocPvqSfwH%!bKw^kV4ZMJ*7ZA$vI`Hv6mfa7f0o3Y0<dU586wTmq9U=AAS!yj})PE@+RWnrc!?KMo=&x zLZ|PHVb1>XWa%MGDs5Fvt7H=xIxnG_yZ`d<>!k3-5*?V4)I~(|m{wpEyh%ZiW_>S>A50UpoLy)!aLUzd! z&X4bBtX&?y3p=5C8VU5vZWHtm%JPMcI!yM^6kO3$i{Y0S<4ttd?$(#66(7|Z$n7(2}JxixA_d1>p^Ci9p7gfqmF##;?1<3M3P z+;Rg?{E8s?kN?=XTs8O^coY3KS&pRH*pX77d z_urSAw8V$f(y`50K4iYox3T2chCSt+x+jzL?px;6u8O&*k zCYpAJ)6pyHSX-He_HG?$3GY~g$_i#DWI%KzyRc-EG3_5%3O_z(P{vFpIy&MgY~?)p zM!_%eHbVw>a8=m-tB$)@TgR?W*X9p5rc%5?D*1vZyirxhHI9p*%I!8y$TVO>Z$?vb z=ulAVEXORDUASS5useUy&Z}Cf!}-L|tZ2-3u)OVo)+z$8Q}r--UiJW+FEPm5CE#}p z1KTZJFaP$(eW;t{#Vc?9jJYX+kd|_Xd5)h-FUCB>S0{G!v)p?5^zD_rYSbBaS3QeY z)LKiK{lFf+|4zsEALS>>DG@7MMKynxviX1F`6th-_|*yNY}%PcEcv1V3tO`VlI$

_rs68y-qn*oj$VETzquAf74C9JEqf=`lmEK%L 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⪼|@vS6VF%Lya2ia9mQ|b@t$LF?lVX9aMt39EP8b_jFeS9V?9W0y) z^b^=sjXoSZ)d;R>o709tdN9+lg1LV$fI%9vq{A0Lj!PML>xDbW`SpX*%DebdtQ1Nr zb)m&AkECSe$oWY)s@ z9xR-q4xjr+(4sqQY0BU>tngC=-z5`Cq#Z<0Z$D;%VeV8pax?v#Y(ZN(o!REpM(&hS zBJ2}(q{<3L;PieXMHwWJL8dpWu$@PF>sOP8v;kcmK0{QYo5X(z8A}SW{=7@qESj_G z7WZfPSbopW!LUDvL5-5|Zcl1OC)XAf`NX0_@;-t0vX*rWbmD(oWGU-L+!{HDCeTE}=``O)9vi1w4Cn?;!i4o{b^yb6DG^23E7ajZ*hl!{>;}FsVw0bhoTU zoz3jdz57beZ-Lk`H{rHj0_i ziru~N=tC=8^1+e+t#pA)>z0KJtsk%|SB5IyM8Uu5aoD8iLZA0r!k;m7=!u6m95<@M zZAO!5=7_JzZL$>A&-)~rbTyTowbEv8I}L@7nF5)2PX<|aZA#I#q?^LC?3mtdHc+5M z8>C?4~<(i5lR=AVctyY=_Uj5fnXtUVUfv6ma-lLQZp4sG%^1@@i{o zOiBf&NhZ`?OW4B-d=EjnbuyhAq6L|uM__+qJM$LBv5yvuX|!Y&F8Mbf`-gvIHyi)p znin~2c)kWH2z+@`6#BisO1w$cUW^(oWY#<^!RXk2evI}_yoj=b16G12$?c})n|Z93 z)S;tq3gCmp6>i55Rq8&T!sY~V?7tNa==FOV%N+Xze2%Dtn7AIiZB$_4+gu4(ALm@} z)v`ZLCA3bm9Yq~tNKY@C>C&IhsDJZ&W3V-~I>G0xYbgPnqZ^GW!fHOjs zu1WMfFM$7`t_ShOl68~J<>|dvnrOwsm1Hl@-SZ;x z;|lQQKp8}K&8GkAHo(o+AIwVdq^&iQhQ+H6;&!+1OlHq_oRb*Fyu{5}X-gvKKKm+f z8tg=W`|Sj;;&!r_Aq^heL*Ung{Y#W}i^cc}oo!YxQ* z;3NfkiPd|w%qP+MD%_uAgFXt;)FvTt^R0KYkF}R^zlt81PPC+pqoU}f@I9F17Q{5b z3o|FgGCv(_@;o|-osc~VpH7TGKcjc}Z^COfTXg}ueW{6+rf~3HZz{AO@&l!V4wTom z0<>)ff1vMeZd!m2t?!ei9=EYH+UGI8zp;ZVECtWzu1Z)lIue9Z7I)&yDfU^ynC%Sx z!?};nwtW$v0oRtd!-luT+}8D~>}JbvX7O7BvS$m7>*=jr)T(O!-l<*e##jwne|abs z9c+S+VVfa1yaBYsYS72ak{wci1yh24qk&5pxhB^`b6h8r&hUW*;hvG3w2Mv!dC|k@ z(SeB1DMUECYSRosrk*kK33SoElXa&C0ainSUbVSb==|a#|o-6nu z!4+c9W@?UsyFy2L>RE9Z2K+H_Hzc9A2nyAF6auofqQ&IV;PQ(+9p!k>5S>YCX^!X3z2(E@YTo}oNjq4 z$_kx^?VDyn^NcO*L$L&FRG31C+rmjtt{wmO>r%1mIe}A}&RzZ`iH-Hc*?%vbDM@M# ze400d47!B8Yu8Se{UVrC5b{9<=F@n$dBZ4wNizJ)vxE~-@vy1-GCOuw2Uh)=K#r;z zFt5!JjURr;H=AeT9+|srL2e|DUXTnI5Mys|riVp=K`Srv(I zgdN0Vmp1Hql~2=$MZ@bnF-GQvq`hJzsDUo*p7ON*!H6QJenbrx43$EUF(d4jeYwcB zwtNa*p3GJ~Go$0x@-U|I1!udnRwQKDaf4a}ou`EniwrhUQ_RjcT0 zthaEFZlJ;|bzr8M!mj#CflQ1qgr9%GU$b+^aDySRVQ3@n?~o#?T`N%S?jm^6SSz}a z-G=s8KY@DiQQ_Omhc7N14l(y{;BaMGxUv3?nn@mVhDvlXwJoCh^BPjKl2YZlqH zM)bT{8mIYMaTa|?X!IBb?8sRU1)FA&$-R>pVKW&_gglT_#{`-;Y!dJ2GO>R6Tn!pM z>jWB?hOp1Sro#j3<9F^_PGJK3*I-WrXK7&xpTB9-APpfelq<01%!)y!;1a90kl?x= zKCEvW8VRTF8grLqV&KY=KIZ4C3LPDS3so(a`CM_Jl3OvjF=z^$i)+WQ$3ib$UyGui z{AA;YWKiJBR0^xHg@qgaVadCNu$NPTqhU_4YQ8*pi$BCYUx2t^Sume7kKbGp!7k4X zrFeg5O8b$*$@msv>G(6CHQ$*T=Y{bm!vpzQ8x^@BtE>4Tcn*uB`f>KOIC2_yf+AL3 zpfBG~vdrrFV7bnSJD2m7UHE_QQY9Hm4lShqh>z^mv>CYlY!c~a3Ga)F(eQcFTv+w< z66xjb<_9L2QG--Yz4QFz%)P_~2bZ*=?dm?Z^0*$=@DJHlu`aCgD8;Ue%FruTiBE17 z;-y>{*uN+b9WtlU+p02}siDdGye6?SAAfwivXg85YYAf%Q-p8*;gIq`pDK4Q#M-Uv zvHnj2Jp4KY-VKpw6Yh)@_?-u-M|(LGJ56RHQ%Cyac9qXIj={fy7Q%k}GW*#Y$amk~ z!p&+-ghjW#K_uawEHNg0k-hvNOS<`^w|1!dmc)Ym(^NK&L!L05KjG5TZvW>UE_T(OX|EUI7+}EM$Y#mHK6-8rb zsX)MH7lKeR68(~g{hMG@g`MZp|}_}9g$^iAH`{2UnTtgxs+-@%W+{(m(aC6FHs_PF%6FzOPyy_c?q9y z>|&-J9jSC>lQ(Xs9l3qD(!`haxMCLdE)qNEyr(wq@6 z#^ef4es&y|q>bWT{hvVUk9_w2rr<|e=0mOPzvE_?cs4|;m37w*hZ21&w$(ZT2iK^P zLD_nk`tT%E3302g^aXn@K8S3djG;}1QRrJER4@b8A;r4w9x{$y@eixc z(&i6oM8menHT=GH(X@(wGl|wr*y3>nlCC7NUB=7V1E0h2&SDe>$cyvR&2jwU#5K(H ztS&8V5XZOb3&xRK5aZlBY0{Ai5*ZQ7x&EW9hCz}Xj-x2oc`6wEyejLzeFpU?YkeE4qH52$Ker~8TcLObZ8ca%8 z$AQR0hnmk0VL4YM;NGuyY*%3*H~h911xadAxJMt3*lhxTZOphI)~8{*kf)jK?TAKM z@yxsV1rEBZLbsf3DAzch9dCb+hmNSQ+nQ<=oWiK~;1S_GV#Mxx#(-3o1BDr!WzEj1 zG)yIl95c2-re_Uj=~_gdjxtbg8_zPF|KiOhVdSvFn_b+{g6oZmUmg|*@nL((R!*3s zuN=;t?~kKBUj+80Um#=$f5Pnt<5{aXM}wZ}WBmOWqQ7uo$lrQFh1(76ZsXv1!Xu2l zBL(yB#=@N;mehPrQ`l$kC-weT_Ft|Vj2%cti|{5^drgM62MfK#P&t5;xiG$ODLK8I zB2pSXnk~&-M|&67veF^jv1;oaPUlq=7(UY_|Jj}}wQ?VMvo5^3YBWu18VqIH0XV%V zfmwZfh$sID?!kInC@u?ub<5-N{X#EnnN`b6SVPwDI08fo-N$(0FZ1$5=-Zkr%@_dyFO+%1<}lPNhG+J&LNq$0Unc<;2ejg z)YqQ{4a@Y)wA?XYD}FhRys@Us+ht!qe*0Q8X(27fY=C$#w1D!CK5bVRn=~ zm5tHH=jo>?N$ALk5@vu&*G=Bv*AW-mtfdNpt(iV?44Xgr3Q73K(cRNS+1`!QnDeO^ zR(G?7X&ZmXu7a^RUEu#rOWe#Rh*^?)QVimhli2@JmDWq%$ME;jv?8YM-2CLwE=HpZ0QfbuQ!-=K>PZb?5%gJd0Nb&a*!8BG@{$ver0d z02f_6M7Yr&6@Cn(O`fAk=dCNvINQoPM@6w8BaQk0GQ8=x^(`hFJ;2fqw6I?TDwMaP z8GoxSVu2fGk*aYY`=@x1ZI<|mhTMM|V?w<$y??xpspx9f zKX^D2LIw*Qss3bm)S`_S?UJK3j+epK7Ao81xxQHAY73d^_RCrd7-LB{rU z-yw!{O6vGOYfeG-npvb*m;!Zo5(Em-C`xNT#*J)E|& zfq>Bv*!iwLtKcELl)B1~?taKB%mfy`#wY%lR1@fLxhaGEfZjps~g$_#hW*69Is;qe*v zYuIbltrYgz`TLlev<(_mx74c%Ugr*fXS^nOEj|8ggJ|VkRC{fPSE}x_0S&+#Iv1G3 zaapLob%YBZc*SbheZ;Z8oh(@+1}`qmA}3+){b}J)8r7o+u1h^Qh|gnVdY^DlX4%nK z*(N+Jlh3w(n@>Lqc0>2ek4!=22~)mLg5Tc75Ni=hH-z10yN^CxnyN?*Bll9aFbl~P zJlZwtvw*XXrg65?R6Fhvvv6KPVjk%*@aZKhmk_#^zdG1+&v*RhW*Ioe3z2erNzCS?w3qpL~g(i)f5&hGObH7ZTew7>(Xc zqJw4SIPm!*e|Pszxb%^+Wgi+)^3@Kad{2B6KaCH3(2mb!W>T(r5?asdWqEt#z|-mr z&K0t1K0gM*44E)!a-NL8cCCf2NiM<}^*iTVIu9<1v?+YDDO|j#Lno}tz}A0&dpUR& zZ<8`z*x{|??eiEm7*1nKai5u1uPaNMXbcOSoXIRbh9n2Ahmz*w7#h?~vcrbiF6wv2 zoM2hfI~t6)n{KeH#goBu!6$a&Ks+m0AxHD?Agjy|<9}XlXQd()S}41QE0f>OZigvQ zoIMG=$W+KkJ1h#mQ9$#*OVXLYBlrTp9volvjOE|F&ED}7FwyonAEB#7dAIcF?@Apq zZ(76Wy!Ih!xwAM`I2V5%xek=Y{NTm)i){I#Z&*}(gl`XD#`Vq-X3OnCFhVvIZr@(X zQs)k)Df7A*Z=MOmr^=y9;Wm8oO^ka!_Xu-0a;ASq%W>U@Q`p#_!ooV0*|qu$-0WZj zxMEny+w|zO*zas_O(!0x8zGFrG_EQsBu0sXaHeT@IiYJn3(@JP@u@fy=BZ92ZDhht3 zOLDnG*sXV|Z2C2M;Oagz(h29+1lp2;MIPJyUljAe>##%PIvgE0g=QH?Q)QCCZCEx5 z9wmOqMR#@K<1TF)X?_SsAKQt+#xZQE%XPkI!42MX{x;h5`4x7Luw!rS_cA$08BS7h z2nC5!P)XB=B&Vdp#+X4=wz3sDAK%QNz)hdHoOjId=PKrY|-j9IYQiG7ZiLlqGdl1*5%w#q4W7tFlp5Z z7Wv+fUp93%WloQVIa~6%xW_K6L{)G#tmBNv{@-2U3DQm%*fFb}Ahle` z8Nb~G;tyZrDkFhsRo00f%#Late{#z=Mlx5A4tBb9F)Q9{%zSL_VNcCFKHf1|6uP^F zJ(b&r;Tk9L>Pji{9-7XdIDU+M4|#w#-xl*)r9U~hE#5TWZ#Q`Mxq!X*AiiaV4b4yq zp}(>&<#ePfV$v5dWZWx<+UI99OM z7naKO@%BI6$?dHa1jsv4d$$-aUm|$BwzXkUmsAnFsi9TEtsjO@%jZZ}1a$1{GeusP7Rs!elHdw;46U#!!k zFtNM!Db-RKU69LC7bKEc%oWc0)jyxSJ;c}yRkpj=oL#=K539#GQnK23JhI!B zwwEr33DfpL-k|@ui4w1w*Y0-sanFrh9%i#ayGDbopEIvfK9rkooPzK5898wy!1?G> zHbN8zmusGLRwX99?cW>xJ2iEjT{=kc#6K2w#wDWUYztbf5{-eorND2iJgqkgpdZd1 z+>+n~fpc8Lk93?!JJ$VX8|F!p&bMc%;+ste1UF=FUObGmnD|Y)sjCgsk2TXMXGE!ML``cz4M#`cHV) zE;Tp^2E()1qPK#3G*uJ4lZP-(hj^N?QVB?G1eV>q0sK@yD&JAY50{vW4RU$7szq?o z?aQHkiqGl1g)|L0Zpk_%G->N39kP2B51Y#;fo)ws)3cunhlBt!Qi7eJE!_m4|Jer&&{H6 zXG3aD8Ug37-sOiDoy8kd^zi!#D@vU#0VP{+uv1|MbmHeK3>QDgVyCTU>Z@+@<0c6m zUnXQOH@{#b?GEsgvFm8mP-F1!m7?%^U6#D46b}AeK-{GV49=U-iotn!SNtho(Q}Wv z3>wKRdw5azQyn_8`2}vY6*LKt5_tca_Oxk+3247a;Um7=qeE>Bs4E6j>3CQCc3O*m zbKjZi?#W!pyOx^9hUog?$9!S_1v$7ZD1} zpfX8xP`9Sf*Y+`S10MOuMNE6liTZ?l%lHpj^00T`Q@rN36*8_}X8K<76cN?PE|)LC z8&d1|+v@}2%In*hxiAH-I{nDPA>oB z$V?b4KMejBU10ljL%FVxC2WkWEVad`z}!t2*{tiQQ0>fatc^}*x0Yw4w&Mh-S`bI? zPPF3t!y~D8{3AB3dKw!rI6>{k=fJ)%n>|S}phER|%r~tA{zuVyhhzPIaa>livV}?^ zNu;u$&wZqUhDuXXA&FFyXb&0DFiIIwq9T-vmgjR$N<+!0M9FGs;Y&*;mEY(0uj}G^ zp35`t`<(at^?FqIobDu_hq-%O@x-EO!VGvRj(?bi9fuStNqHO`*|nPU{jd(@9(m%! zp~unSfHapi{XNrnPX(t;j|P~jC&&5 zHo=Ch)RZXSWUsJqJj+ZDXu-PO@Opj>Y9BQKrCLk4)GEv~ zz8z&RBn{||t0LR6+n-uB`^2W=KF)sEIQ%FhWaI@uPHo*(nBfzTF()jj>R%cT5j#@D zWCvkay8=E2Y=s>=rn0wd%W>}=A1tT!w61;wt;`c<#G4ON*yabk^1PT57lr94f3}S& z9T^2)&2uRC{4|O?agoW6%|v16%tzZ7@^uqegWGz+Bl3O}WVfq;xro7N?ZbG@JRM)@ zN3yTnXWXiHi_O1j#vN%62YY{In)|$;n>XYn26usQ)sB)NcA!5SpEMpkD&z(ll;n*e(ZrG&+o8F&pB+aw4m*#hM>z0 zhl1}-DD7cL&h3LlX8Na@qVES$q~sDfXlO|-!fZ$C#$DLc|BN^672VX?hvvq z7dr~`Nq(Ls{H}V&CUqRZGy9g~3n@#q8$Hwhm+wP7Hd`B3Uk#=g8&n0J^I$xw5XvoB z{hZTFt7KP(OOmSKeDJ|@Y+2&~!8Q2~SJnGN?5=XGF%mLZowGqnF%A{h9EOiKX3?^k zESzZ&2`?Y)g190bm@_to<=4rIifb>jFBR?V+MzYBq@1;zqxZUybt<}6Bh18&%9?ia%LmH$1DMNHmR{cgO{S|iVhYq z+?qYO^pBm&zsm0KKF=Ncc?XZ&$RU}akNnKbk#s6J32r(wIJR*D9sW7*j6 z>yx5E|2%<$;%KbxG#KldAev|C&s>DZ^T%ZmJKHYY%X@9u9hJ{q;p9iudZHMeHf|&N z!BX(r(-~VL73pcycjl0CiTO=^QLg<%~-FlkvZJo_(#ew+1TpNTZxE{dUJ z)_<7I8at>>NyF~369u<{7VX%3pX+GPu+aG^+_V0|L^~5`l|mo(=Vc3bRc0S% zHjo+qUQ7uf#-|oC^s_V)>MU&Fi`-h4byXKKdhG;Gi5*>d{gTO>SEFCZK#=bofwkYK zleP*#5>HCG5?Mqy)9?VIEO#qpWK*~AB+itxZiywB?W0zk71|84? zb59PQ-+9AwU1jN4OA>x5+eK41S8}s%KEiOpKVejJ8=2$@W89f$EZ45I{H;=_JF_K{GX${Y6 zrSSOkN1~&tm&8iui-3Qn4xcWDG8=_jJS({ot%uCSpyk79l1DXKEBZ01S$Z_8RD-&H z^x=su+4$+L2_^iP18&p90EF)+{Q@n1yjwbG$D2d`h&i-b{W;hLPX+aD+5!W>o!zbO z#EwCS@bkIRpt3)i4Hmj(?^!Fe5ath+vlh`q)qLElco)a}YqQs3@|3(~2tHr1f+@an zBKx7*q)@sZxk-m%bJ1*wznMb=1%J=1*fl7c_nY4v-azv4gJofW$nZAuItd@GYgT6zfxlO>LZR)2o&a=pV#%ryT(@@Kk;`40>aPlfpb;aO-pI8I{F#U2Wz?@dse2i#MgeC_%5JwRAc&fU)z# zpuS2(PP27cOfbUaY9DAiFaW|I7YljcUcBe^m-*x*qK%b3?l1c z~y3FW(`{is}r)A z*4PuYUUCqIS#Dow3tt|YGt$2_?kxZ-5;ZZn~vafok%jeZS3cDE!yQ+2upe-RfdWrBG{5JYIV@t;TE#o{kzI7(9nkL;L7Wvdmq(hZTI<`jZ$eKOpYf=Uog z>0@G>J8b@YJ6h`@PwG!JV0-I1?%&6oyxyPz@Ym)dCi&Nh6s}&vX90i)Z~t;LDny(p z=rDIev4{U|@leR1+Tw368mzB;#c}Uq*(!L6#aq6!=MFP4Iln=4F7G^3H%h^$VQPX0 zu8ZBga>G7Cxrz5OJ3v4DLU4+z73Dz=-g|oaJG|E~U+U97!tHTuE{W&v1ez2HhNdoW2m8IpfDj0Sjcu+!!Z=R0sZ80O#PGzVL=q?#e@ zTckNvHCN;ESyk+7hy=d8YQRGC5}0TBGE{x~i<|OJhLfB9RXpTgCRgNnQ0SgZvh`8R zNXKa~P2X6}T2Bq24BvzJ&(02Ik6Yke?8Yg&mHeE1K!xxSZcCU{iEmC2yOtr3sv)v$ zLQOIr-rb0DO>TUk*?zXDW+_HJD&rP>ljb*HE@LfPZR|&^5r&*O1q#h)c$`v)A#bzL zY-*|4_3#7Kdni2CpkLS(Exdom=|JY6!@{oOBs*vP4&Qt-WOK)tv3KD%G~ zt=LZXY5h&kQJ9g=_Y|W`SQOu=S0~ngHxP9~Kk&L9GPvGgJoLExz}$zYO00Y0S$)h^ zys>;Iet(({3*sNK8_I61>%a@VcWaTr5SvIZa(qasFbE%q-4K6}mZqns_qpcsmE1ey z;X==c$K`?(yhe&=!MdHy>2m^>yAB6KA&1mAE1sJZYssP)jisn+5BRyigOkcuBjbbn zI8Ci2PWnm=oR9p9oiY3IuS*`J9~FEu>#Wgh#2@j{GINsmcfqi4SHC7(1~KkjHby~+}ORyeXMkuCspabgZ4e| z`C%WrxtD!SqVAuSyw<#AT)jz}jC`bFy;D2yFR%|Uj?Q7R3v}tq#{>M-z29+*{7}(m z9dCY9&Nn{3qC(t1Oc~a_$>#r4`X^rSstw!sN@K{~OE~ALz*7D;f+_-qm#9Mbba#N&3@5BVZ~%j4-e6zA zNgUp#L8GL$bM{(!ocziJteYzbS9|neyu}ZGkHi(6bTbf^sw(3!ZDn5ieK$)~N*8;# zZ)f{{y%Xsd=nMJ$FwR+JIyu!?Fv+Nylyb(J3RCA$*Z?_Z^G%<8t!>$xW}bF6Zp6UW zc#4?qL8;0{{IU#93TaiNK?*i#P*=~!=`Rya{d$ZoO5FiphIKIICC^!b{7_gFK8;J} zhjT49GpM~=6TkfRWcOoRP^~l{J$$ya;@{Jl>oilgDbt3QWVB+LoH4uSv_bex`NPx) zY=-vC{ZM>gMc~ZUW0d$6AEkDQT~mtX9oJ500g0`mslFbf84~-@tM4vKg!Lnts*zQ_ z8a{~;?y-f7@RH6&mKrT&n;P=*=I~=!9dir+Mweq!OFjqdi&6FjBl(0b?5>sI6Vt8n z`JDw6)Tv9hWjnFKXexJOnztxP;wN7|(4F6)c^dO>o@a{c6*%jX41M?AL&ucrQGSLQ z`A&bz*-!FCe_3zbXtf2C{w${X1~aJA7{I9NA}etVMR~bk^pNn!QKkjLp5BZMXMIGc z%l@pbAs!oLXQTC(6exMNihcEvqO#>Gq?AyMW@9(<9!IkI`t8{`LF*hGYTLz>hW^4U zvRC-EVPyg{8Ym(+in+bj2mY}YeIM6|XK2Zj+t)|fXerF+AqA=Y5Kaui3K9m*Y@0zfCl4j}uJD z8%oPZS2D>HTaZ2Yi7SSVqjyp#nU}zTI{xl0y3Ku#^Xvwo%ft21UvrQe@4E}LvTnS& zf#>?;h567_3wl|48PC<-#62NyaQb8@ezuG|@39=z zLiaO0Whn~HETvu9gGe&rBwi0_=bvfYQEtQr*e&hOF1~$)Q44QyV@6BEWV0l(lB5+x zgi5i{&l^A^)n7bKrkkJFehK~ODxpTgIMT5#$7Vw#VGb@&T>_uiIH&<%Oq~yPrgudS z_gApY%>&ucq-!GIP0PT!FaC;Sh zvV9>QV1i;LPT@UPo$OZ@32$p0v_*jLln!HN7R5dQ5Tcia39K4_@LFT-T$;o8ISXWCq1 z&x>)@qT$rr{FS*H4KEJ+- zXB9Y_zl!ezac(O(mt6 z)y^}ePB)yb7J%g=e)Gv^w$Ya(&D_Jb8ZI%ohihK53>Wq|!W#WZ{A=JXcu}vz(tv7l zu}T+i5q3!p-n(hQDFZh0<2F|1GzGMtNrSwiCx#lI!gu2n;oj}fI5pH1WWIC!x>2^A zhQO!{8H7;&>lCUD^rz`Rx8kDchj>r>JIkEZ%C)OF5qDMSTKPruUterzm9q!4|J>y1 zLR%y!t8c=$rs?9{^C$S(xslAfp-=SSjVjHS8U+PsM#J!?yKKehPJEF!l>e4of&FPx zWUs8ibR!gD%783f({`J``&E-neW!2{T7US!U~4Ww$X;E^^W~4EsWP`=Zcsc|7iKzZ zLxQ9cg*PkG$qFr8u2IRq_o>IR#d-K_Q4wkndWSW;qxg8)DT1@+2@W@s6U%sIq1T=p z_*p`N*0(IBZvAHb9CDdWX^O#XeN)L$R~5Y@4B2N%9;I%FLWk93uJefz#{R5^j@DlE zJvxJ459q{+d6z))rVI@4@xfs$$Dn+w8SA~(h0mf6b3gYuVixRz>}EN9A#nc&1i#~w z6i34@PZQF$K8{yc#v&)%Cb-NjM2TZ(Vdgk_YS|QuhtCdY)#VG>hR_3;_$G}dWqQ-` zH&SGQ-4!4J@2O4F^h>B+kLOk$hhsCy{zW0ve^3%~TR zk-yZirEmrYNZCTlx_j_7(;BWl^P$R z6wKi^Z&_y4l$W%`4Wr3qtVe4RN)~#j)ie;NHy>lt* zy!3>Tc3SlGNilmlj>m#{7k+i$6ZGDA4exJR%tHFp_z}q(xP8qC_UGwN!OQarrCf#i z{+dWoPCtk(iX}KgO^fv`9}m7Yl2ra$0%Khz@W&nts`b}rM-6ZC*_Y3OW$8^Ui@OF& zQj^%+k=t?WE)H+qkfjTa^Py_RUpDYsB6pkR;gn_5O3qyPCmK4<55Mkmf&Ee+u(bOR zU-zI81Ksw+!8zeHuzHKY(VoF#ZrkJ6mupyXr5?Gc)Qf(_W^D!2}HoL&>wad`oc`5zAx*r{d?MUe_`QVN=y02xGs7No&bY&y-nmGQC1|)>i{?r{ zVQsHYviO06!Eg3IGzdEe#)GqQdXpG+j4kk-ffrrdQUdLU6X5nojt2Pkpl$Uaw3}|g z{}}&)mkc#vZtIHJV%HeHa`F=4oE*nu#DmyJgDUnYPno5*n!>vBM~&_Ti#y4`jG)!*@YYbR2gV7vQI_1K3iV5`ISPd4AY96Iyb%iTy2k&imaH za~DE#`6wY%cWl96zW3Nk)|Qh9rY`f)M!byAKAXe)$W6xJp-VyI^awn2$(7gmIa@ri z;;Q%&JB4@8`GV~f4cy`AO^dTPu)_J9p}&IXHAioxGFNvvITUbw@icMEH8*tk?#JTw zlIU%A60>_>-MBLRHNSW8cka=tG`8s*@gZ;1xV)b-WU8kG>E$1A^PeJ!I33FdDp=sD z{s34$a11v)$&Kf$x^U=&)p$kVG+H)F+Pz=tOodgAqzq` zt!Gc_`+4Qx`lzxtn0X4>j}W(|aN?&d*&Iq_zRy1MV!TwWaw--tL`jj&;rn=dR5jCdwWfsedB9!C zVE#_#?AQ8}IO@j|D)NqJz1HWMvz-qmua;${l5se|JrRfh7cb5)I1G#F5G_}~!f*b& zfR+ene2at_c1qri-XG7vh$<7*ojMhFa}!yN<9wz*D1hlpdV(a5n2 zIn%FmOG{4jeWkMK8ngmCik5;}iY_f)`Ge!d(`cLNZdL)geD7-&TzS%ko%hPcKl?J+ zuGR;rb8avlI&q6H(0Io<^%8e^r4A6&xlGZ3}|0>7ptxa^91@p7V4 zJE6bvRFbQgO{AuX!Bn8~6e}}7u=)sTYVl!EgT2f&+XRPI zj3(umn$WQAqL2d>*cyRtDAAb9I^5R5#t~ECs^$kA-vM)hR${Pzy?S^}|M~%Q#)_BUc*moC}Bs3x zo8!z|k5TtTH2nRNAo}yB1xq&D;NPz?xZ_L@d*WO~-E|?X{+AY|IbLJ~qNZ@(hwrmD zoqDW#))`o1;{q*NquGclE_A%q7x#RQrOS2K*zUd{Y#gl#gQuwD_#PFSl(-3+0)k;D z^{`i;gbvP~MkXr11&Yc9_k(h9?#3wE6*&-&+bQArS3#t;nL~NaM9_65T36ysX0xqf z#Ot%Hr{zC1&$pzu5pmcwGMtOl%wyNaSimmZhtxl|mTmABvNq1CwECGEnU!uJ-}TLG zx^$M%=@wI(aw+R{(WRvS7US){#pGc=5AS~%21(ivL?yR9VXsO!MeT}%WznZdaJa*k zrS0T0?g*K#Jwe82{BVoxWw5wlMH{Er(1Q&5o9FTeK(DO_eJanO?l@iO$PFdK=0o5u z*9I0FYPoTzhaKQnR?d+pmH?Cc}j%tjQVdx}t)^YbS>bLll$I}$S?{JoUj*g)t z!smtkELn^U6z)atMX+~rj!1v`Xx0qzT-dV*+_qbcA`E%Xp(BD%)l`A`50{f)eJEL} z?qPd=L{ZUCFOcuA#;WW@@Vg(yvLEWg-un|lUEw_Iw>F0(0{5;lwH^0oUIhKs3%Rz= znf#om%G6c54Kt_f!$=`7w^!mccWsC&XbsP2)jR+2SH~pLxCd#}wl|&fqgGPJ?3t7< zr4CJ>A9HED_ru{1CAzr3Rus3oj5*8r!`eH_a9S3@vr!7n-c~|`^>_SX*mwipjen%ltj55hR{7Ej=G$5 z=w_%a8H}I8-70=hdUM?1OTtAsw>O6$^WREbw2=3|^kosfTRE0QmbMffZ9{W|F0y`4O{T;`VCN)H zXgQ@1u6Y+gq4+jh*SLWFW>ps8YtNcagff-&7BERion8g|(90z;qLH%a=&Y0{J7a6Y zE(kob9c}V#y` z1Qt!y>_^xn4oAz?Xir}0k&t^B^A^$uzURMqE#NBl>ahR%ae ze^6gG6uLeggpdhyIaj|>yz+Vjn$=s=8i|dVW33D)PFgdUa7+At>OFRed|+(7&=Z>J zLg_D8!uYZU&?lvdTb@SH{ojg=doAq6n}4JF^Bwf&_*s(doy3agO^4zo87y+=KTN)A z2aaAFxHIj#Ffe%#4S3v--QkX?Ai0NLIxZ&b#m<=3)Bz@=^ZD+6Ra!eV7F?G7z~y0; z7;0ETfwF0Mws2ps{ev*fkO6Q#{^E6uKV=xKwlHD!XNXt* zZ!&Fs=fVElbsTCX-r!YHF0(wfobD;4;5wfuFuZn_r@IlbE?g2;dwGG9stjp;y+r$j zU7p?Uv5X1(5Xq|xaimi$G2tHdYFswF2tEmICk?^O`!7!pLn;3DR&l0R6I}EfeIv{v z2~i>iCi+yO(%3vo8TOi8yy-!=ONYU+%TmJJ%$ss6Qy{`{0iD*pNWX?x@b`{I@UeT% zY2!*Ge&end_Es(ok2&8LJcgU0*8Bv#_#y4^Ppn4!eGZXXSp&SD*}x_jK7n(m8CITd zg*2-w%` z@M@Ma_TRe2dDq&Lgy|*pZ9=A-pDcJ&^!!&n1LfdiiyruG62ba8ajdx`0iF(cD>e+1qW(Guw&|b_8!)$+TO=ik zp$fCfH`^Lh($!HZxP@iEXk$7iXCY$c1@M1%3;SmkC#i0}piq*=7wi?{jH@Uk>L@nM zjG%|lU0K4%1n%-yUr_0@0MAn~_N}H9Vc$3xu-5fr5q&3dvs^rvI%x~;+*QmHTBno2 zn?SfErNjvt=p41^w^&<$9zxLdS95#ho zp7WH{d{k7pY$Dv2&_m6U2{g}XJI3wpWE1QYsKX+UtGj=OnHVTzu<8y96n3hYl%@fT z9gDkD-8t1ElC*hO0EpHgDMX%U3RMkg)m*_6B8_QT_!A6o9Z6bG%J8*A4gHJjwtskR z96fn;7=2pfSZMEQCbw$>OP8JqwJ$D}xK26g@g4MWg436s&$9g&tEyeAPZ5 zR?Zjl>P6k$6qy}#RM^`E*^HsLiG}2zIF7a}-Qg?d#Nncnm(X?b7aP5%1&1^ymUvoe z(w|!w;m(v2-0$)X&d)!M`GOm2;?n7O*nTFHXbU8>#7pda${TLu+%P7kd>C7Y{l%y9 z8qnL_0fYawunlJyK#RV<#=mmO_{QOe~Dn zr8W0{pamS|E+vhp#K^&;F0PETBZ_!3R}+N0l`VPsrU?=kbMa4 zFPHPxPIB4Vde2rf4{4Vt1K!g8U*%CFKP_qh`wEzty4%IHwCyO1LpHU?%o z9p=9qPA0WCn=nlO034x_w6f>{Wc?F-8-KiL{T^i;uG7g)nqI+nzZ?iRyR=HC)wOdS z!puX}MuYh~wz27k>-Y^0Q|RScZ!#M%BDMIH{6o3@)OxEx@MHW!?Ts_Y;6EkchJRxA z3s=$n9Dm}riKt_TB>aoYM_x{nt~AApewfUs-(zLC>zl2~W0E#B9=$Yeq4?lN~H{Zo=uNbum9}hTvwkuYiU- z>U?xmHfwdwh1T&MY}lGMs(B#H-p;(iW0wvH^E?Nd+rEch+%l!SueaI9fI2*ur-Ue4 z#k?erLQQ)ep06|EoVJ+5&LvT>LD;z#N_^nwh*Q9~b^yNUdLgD0Wf(EUV#IPC@SXL&zArTh%0Px-`DSDA537G|J-xF)R=8Ib2m1&8&= zR)Jy5N|bu;LEt_FgJv1vw|nn!zgjdT4H^w^dalEsv1Jsao`(_P_5ApQQ1hg=CHlMXb$FWQjiUrX$k8E9@FpYbezi4@Y{%fCVwJY*x4hS^-7WU z#U94#u^lW)Wx9AsBZp3!n$zPWL>jiuGBNlcEjF$VZW~6e%iS%FEQjd-zjLgj@_bu7{@8WoVUR)+d z_oXuz`B_}+_5kGF1L+MEk;>uY;@scH{DgEcm^q2A9=(qr_DEr>oI2Ok$o zv#+fK;au}5*mS~+MXKCj^A7C6=MTRLexyMpr?vxE4;Vr-zLt?*OF9{emcw<|k7B3w zo8iiabApp(3=`zom@Sf_;0ikmxMWEKwi)1=l8d60(Ka+zUij`TkLAx~T<1q-J;N6R zYD5)}HqyT0)%aQ14X(~yjA36Evl1V<8&?l+qwZ^!`1YIxeF;mZ(~9$MybeFiBsKqRi*89G3goOCTw!((~*lzS?`O;Hy=o3;oj|;)vjgo^B$X&jZ== zb)DSEx@c%yejOTitO0I~@bhcZbSy+ELR({mgyXt49X)C;Cjw$e&!ch_IqL<+mfBh4%ce)_dYjskwZrE zS&4Dz%+;`pSqkvVU?^XpR3%!_EU+T>DbmpF)2#UBAZ$s|#w@4LtTZnYj7+uQu-;}2 zkUaoTJk?>xpM#L+KZkURwAuacaID@D#OK9Fv(@$*6!!gj$(v$FdTOo1em8ETq;E<1 z-%)8=*b{}0BhF&CkXb!x6hccEU&H0IB}hNk)Nb7>H(Kr&LGs@lup@XsuK1V;TXQsU zZb21qsJjGj?wrY^mjn)PQij)7pKwUYE*hx6j2tzO;-#X8C|P5T7@tMEY$Ne*@?du0 zeJIl?e}{&XBU!IS9+vq$!m5!;=(2#LX^Bb#L+T6M&5vPuqfDr$aYo6;Pb=Wj8V69* zHDp}^cietiHw!W!!d9%AM~z0|nEQGN7Jty;l24pxo3?&{g|~O|mm~wR^6x-;{B%CJ zOAI3SnGyKvz8bTWbA`8KGe|Q0I$0D%VU^@uTD2`4665w@RZBc;kBQ@xL&~`cn+^gS zpUlopKY>Q?hk?BM25y$#WjwflFT=PQutH0XJE1&ak=NXC108V6cSCSJ zQZAO79mbD%7X(c+Ho^c6b6)F38p0}}+fCY3=C=rLAH0gPf98@!>I#T8(jiH!*J$K@ znz~B9u>qzclGB(#Q%eGA`&B7$@lE1ZmWM#Q=XLP^8jX<~Y-mJY8TvJxg7mB|u0Z9G z=;mo%los-;OJ_`l`?11&Z&)VXsuZ!ZdRHpCmCI=yI?Q~NZ{v{gO18VA0HsWavkfUm zwARpz3NMF~$5J);xNjNvca<@FC2vJLt6kAaEXmnbci`M3s_;}}A^2OTW2L$ZY#-bK z`lX4GXPt{iUu@{=n&X^I@jPDF#|--(j-`_p#Mbxz#x2>x?(pM4D*ir!$tdkX<5$aB zbf3U1?mxk}nuBN{v6R*vcfj9qYvD(p4owpJF>OabF@@{j*fO7!u>N-!E0S>_HwkAn z$vDH?Mm`YVU2HC7sXN(r@nMeshOsw?HgYE37sLJyEZh#7g0sj^bs+df zYP0Zx_jvUMFZp~QRY?A~ngwuyq*t+kI-XjKMhaQo>x=Ekd6XTm+vowS9G#-Z;uvx{HrBB-f1IvS$@0!cBwnB_k|9!)4 zJ;qG^tKde`Z(=FlIxPQKk-&W^ju;1ang zlApK)-z=2J_bVIl${SCZ{oh7`{qX~DKP*JnAI_GGSF`u}$1r-D0Y#lT3v;b%Y!w4!jR6%G6VOm!!AM(1FMZHxd=cHsN@jy)HS4*;jMM?y>$5BbSH7)6j z=i(9!;QO~7V3AOO#xKXS@FTBT-Vy_*(&dBWj!vVeVlbuZu0^f7tS$*RX0iIm>P^WI>Dr_w4rWo?D! z{%>MF#?FeaY+HpA`Ldkl(?ekX-yf#8NR`sZ7KtSe?qWONP9xjsA>b3ENOM0g5$;yX z)teJf29umf6Vm>U21BiAikpi92jdL?d)*s&bowTDCc}vS zaV~7ZonoAKZ?@2<{*G52<-psbh&5Csfx62=`gEWYCz)2Dt%nXSt;zyLjVgXbuJFI# zvl%Y=A0~&88O(TR8*W(}kEWl8faJPN@KiaW@(Y!!Gp&KB=P{hlrrtv3^Pi!|;5c0f9L6@cIOFb@BDfoIoXx$F3N90s=<&oB@R)pvjhUlI zO7jIyh>5T_IwVcX3w+uAD@Wj{Q6e2}FUQ5gJZ{~KY%=}NS>SN^Zv+d?6$B zY0gH%=NIqTqGt-=rK3vo-O91N*9{`eZQyU}0rpel2wSoJKAbMyi)ulPo;fdu-chRT z#PUB}tKiH`P`L+S>A+l0W}sS*h0vLhfW(Mg{4V;;PD*SAoeAUcz`B0%-bpRu%9dBX1*c6lWjYmJw7abs2Onz1 zXIv@%5W0Dn5-z}Se_OoRI|?+m4T8HhDf|Z^t1~GxlW9e3kow1!5OVE5jOqG}(lV>D zYxg1g9{Y}<6Dhe|XszJPm67Ieq%pSH4r4n-s z7`1jf1=WnjZClM?URnb-uOA?E&l1_KUQeux45qYYxs2D6!(LB!u1@IkcE)q)kaQP2 zt_!^3!Pl7Lqooinn?+d}cA!&w19GRNP+hYTl^VAomo%CJmnxG-=o(nF%$%vrPex_Y z0`T;V6&&$J;L)T5=JG;5b#5U9p7%uK?Ksms$IfG`V+L85#e$3psj7qOO;(iacr_dJ; z_#(%Ex}P4S^KbO<@2y>;Wl`Z+Fuqz;X1be(sMTSRTMeFC|4m>lCz8pvNigfla{O$X zkDjZ?LP2N(v+^DR-um-kLufW8UKvS3%!Rw|Qov1i=x2{#Eakih>oNOX$`oa&L*s@I zqAS`__KuI^;g^EITpoD`yj60=2iIU@vd@`vjb*dI=*9 zQqXgjId^XPSv1(%z*0u!^X2R}8$Z7SOeP#<$yo|4S?J||HYn%yMwo-yop}EIUSna` zra|rfHCV7Fgh@>na_oC261Vjrm-0lHqKYLb;e#6*9T^0_XX}v95j|=MnL*QD5uft% z75`u4eC~G90m>W3!NJu1hSf26>F9!Fb#s=#?SSMgr)+WkTS+0WVNAx{c6MV%D{ox1g?*?z#J*O< zv+ENNv*P9`@%L3_sQJK)vJ7U>!>tdo#6_0!%i{Tint{0Smn@BWVM;FwH1XBD6qvfb zl1=-n#=W``3wPd}DhU~wB)TyyLj1?w5S2HL;^s-q(bleHe(DDcD zW|Ix$Esfy&Rb8f5`wib_)S$hPrD%U1j~VwYXuN3=d)FXAKeDId{jhpcE)$pm6NNjb zo(l$r4}AHMhN7d3?}0;aD;#TgtIcfpMfUi0u;YH@oHEF#W`j_$H;4s|(!7wskzmhEZeae-xc}IF@f4 z$IA#IBM~7aiH4H!+}9~lD$0md+Iwdtlzvurib67yijokL@!aQ0GAbq7B$bMyy?4F$ z`(OV!4muu}>pIWx_w%{+CxY{>7)`a#|KU=FE9`WwD@ELT#TQ)OhmwuPxaNj5$zR%v z+e~Y*vuhx}7$Vfc#{=aK73R&!Q^-K0gw-Chrd!(vQ1A>dQ15+#xgVv-=a}GH7GK2h zkX&Ywp~NbU3vkgxJ3|bS{vX7a&lwo^Qr&n3)jpBOdbbPFJmdCbTyPL zUH}UhityU$CR`~q1bUU?P{Vc?liYL!&OCj?u2t-S60QWh8YP%Wax7i-7)iro55beg zKu(J%LVvpq?3(9J`O6bHD`WJVQ9p2c)65dO|#UGQ&UFIWy z=*4+<`0Qo~+o8l6d#jVl(uojtd%D28iR4rA448J#Wz;z%K^qd!vbi5cw4$&CGo2?w z&@XEU&`Ts=hXg9OjRwuU1=MU7O21l{()O~^bjS3(=+UIHR2Cx4jC_U6o@N^-d2t{O zyx<9;>phWgPU3K-z(zbN4ap|^!E0ddST$;VG!U%v zhme=@J2Vrr3*`&bL|wzC;5!K+x2D*DFNOJclYJR>78P)d5(}U^upgz~tCINZ0r2q> z&iDa)xq$l}!kM*-{w8k|{7XyV_|-?~m%bXh$K;X0%m}t<%Tc~S+X{}mrNgryHB8eh z9bP1x(!$s0@bR?$SkX90cwbkr9J3MpuVJO^OsAOD%m|?HyYmdgY@k^ zq9@Wj@Y?@>=P%__UCDNKu`LGNxR2QRH5eDl3LKkYeg5I|F?93%a5^Ou#dW=M66zU|Cfrv?8r)g%?kNKzdnL-Ix& zXhthq&G%jdDDjR!XGc~@P1?z;jX`0JVG|?8`uKH^z z`PKi=OM8;NV}zD>MYd2Ces7d~djc-SX!DmNwn2L*{HFhn~OAAc0ij_Lxz(=mlj zueXLf&s5;)$njKZ8BZsbHi}do^=RO)X661pK<$Q)aY{{IYE=dobO$TlY% zuWFd5rhw<-j>1X7FV%kiC)@G65g&h<%W-}{D{afFpE*y3#a2?NUGGRLjqXC0Djt{g z-@y1a&afl#0=}**z}d1_+4^gds6BVSxI(oE!pf>}_n9DceACR@7pYS#?*=#i72vLh zLVV|G&Sc+I&_L~U;XFP8w=S5`__8WC?~)2ljw--UCei$c=i6cV7*`w=qQw8(Ig^ra z9O4JMe_->vN=XJk(5Q%^l=3qPjE9^7zo~T~uM&hkq)L*p-R#!l_k6tJDk^zx0n*== zQS~=7Iw&}Bd@X~hZatt@ixkV4pbDQH+}TE_2t4q0Evq;<4qGA?u)zYKbp8>5R{;vR zu*3tkbL522RRVl>dB;+`H=}c00c&2L!2FvvVIKD#ll?+5OE^Eg1&3W*vmEJG$dkXN zJmrV%Vg}u1tYohx1RH&2w;qPkh;i5WY$1m-uv4lY?Z+Z^Phi?5*2~e;4`uk$CW!6bTnsa1y=j^2R9=^z!kV->5Mm?j!Bl!h=ZuqB z(IzLLc?^Z)*Uo~L<6ipC9Qc)0XIR&TRA{qE#NJ^MoPQG!rS;Yrn0%E|KMjUQ z8(l!fB#=4hPhd)(6XA$fG#Px)puvms@aMruxRa+yzlB|{N|7pQo))A= zXdiu2n9p4PXmK;XI?$LrD^wQ6u(8Q;RHxFxsz&R8&)N`Bm=X?8V}!S*|0z;;Lktw< zvVe{RD7HBUduC3gIW3b|_QAol>X-p0ZE>T?747WJ>St`~D#FkDomkcB#;ZKpM;*-_ zqHjN*a;RhgD_V1S_f3^7EKvt1^siz!e`dgB>gR6jE+%)WURWa%9C5)zN##=-?M`0~ zZt{~s@@XB8ncl`dj%O5YY(aVgKS<(u0$46;hXKxCaOa*4=zMJuC=8zjXCKaHN87Yu zn?*0)+TjZ$b~?ipvxn@AZWw)Dw1QSWoCRU!!o9C9Ph7XM2el`4iJcbQXIK7S!v1`3 zEc)_Mv{5S;!d5)ywC*gVzt1eda?D^_peD@dgnY--FH^cbD*-c77Le`N@q!!l z9Y3kNoKWV(M6kYE#eVcGqG-K| zy!mehVcx~T`Zr!QT{IF*w~wIcO(S4p(nluUB27o8jfcM9E2$yUknZ~UlU?F*%+s*N zg%4KXh8b`9O9RG{;pmTe^X5LrAC(82_~9gJ?ae+uGlWp1Mh;tYS-H^lG(>Z;-D07yq0Q6LNkOzD za3ZRoT1|=)`Y73b9^(AQL+p%|IR3PpzzQEn7ujNd`SMDp;kt_^U0Og7d;B5v^E2EM z8ZBybse>V(Bk8TEg}3>>o&E5*hXIyqSUckh<{V67ehSz59_!zfy?vSJ>JCeob>a>B zwjYOidsKKM=Vh?qZ910N=A(k9yRbLv;@>UugaKo&(}zW~C^xyE?+aKcy_6M6s>44rF4no7^PFpwoec-XWt=w;2SlvVGjn=mp_O#l0)#7q;Pphg%(>cWw477@Y4n-Mo_8URY`v=oH zgLXJ#8YQ08GY4E0Ww=k_Pf=#+0LZ&53rT+*Vf~VHJYRd6PkMC@dcy1Y3vHInab-E* zb7VZFdJTaY_5)dQxH7#Fa#?XI+4NL9hmVV20}HhG!!LJUwBoZ8{MUSiRi8{HYlR4i z6ZXB&ZHr(;=t}>GiUL zcQBEb?nxs9c|^^abO>K@4U&ZaladksWX|uWo>id~8ybrTH}4^{>Ll=edl}mjr%?MY zA$vM;AI<$R46mK~$}#c%8Njg!P#u2n2UEf!6` z>}8Dy`gqN;9@xA*7jxa!*%`sLeXq-pwjTeFY)tf_C3_YbI341|2468)XCJp|Q5SQr zp9Fc+XR@9|e@a_^jj2H_bvt=6@9_@sOg0rZznKOPR_tZl6wTnJ`3#D;A4j_Tcfkrv z3kX{$V(JFc)V`pc-#n=XSKr!&QCD+W)0yd1k!iuAc8!K-wR#}gA`6=yi7_It3vYQk zFn!CTe8sU^_DWm;ZbCLeQ~e1ui?JqykTm)t{~GOt%-5TmY&_LD3vb3bG3ygg*bmc@ z%+o~LdhD4BjJvEy^Xg4$O2b%TzL7<*^=>oSJ25b~EkmUKHyX@p8rfK>qon#^C?0SS zbDqNN>~j5IX7yJORttH8ZOJt(Hn^K@$d2ISwy&XOg;BKTrUTS}y@c%p4l?n$7F?L! zFV4OA85keb2|ba3w+NZX@;y|(lMreP7de98qxaxD=eYs z8b4>R&|f$`4hHPvV3T?ajL)ovI{C2_uqB2D3I)R}j`r;K+^KZv&P|BiU`8^2sWkuC zF!uaxA1=OV40rUOTZMVcgM{xRZh!M-wj@jNYs@S|Np+t3wF1eg)1JOM%Gjts+AezA zvKX$;)y3d&cal0bn=F6mvP%w5Lg(o%lPoeO74`Wb6FH1_EH$F7J2l8atP4J022f3PvZI1g~;P39%;zGnp6+?G;V%4BLY>SZ0bqCq8KJ+$j-q0#LF26C-oEDt@!9u%dqOJ2~ z*8Ql4rOw$(D)#o^IVKCtp4GCXKjAD_#*lQC9jNBsdh|3>6F7nau=2|?a`$n;hYMW< zu9XEwz77+;nsAH;%vuDBDUp!W+au~Rn2w1$8FZmUhI$K=D9Eh^S4g}OHwGV}fHq|xDA9}|aLgjz~xYTGSe26~}!|^OS zL}~H*<}t8E^8k&%Igq;Lhm!w3AAU!9DO#DmWOl)8*`L+d*ayFTu-j1*9-Y5P>RKsG zEG0xpJ;se)4DKR??hv%W16O+X;BA3`(;9+Rtkxx$}!tRuIp(fXK^WU8kFZUbdl z{OK%wv@M8ALwC}L@>sgIS{k~?#`9~QO`{T{GN$yejpYko_J1;Y?1`ZfZgiHw6=S8z zVqy##3wN$=SxHh6n5aR*XR5W;Lo|L|0n0U5igK4fGM8ZjhfiRY&0hI~d9Uvi6)YJ< zE@LIB^S`Zp`kl8JAfXRYdDGCm^DT-3a-b)00LX2#6z(Es+?)bC*!9qwB5u!M!M$gB zS;KU6u6~a<2h4(JiNh%FuMU>(T0_R;N@1$n0N~b{vW;@djCNe)U*zah26q7Bg}s9P z>=`u0u2Q@AS<|ZjYbApG)3v%%QD*C76FYhHD;|Sf&YXKj{op(ieC%A9{EwsT@SN zT+T!HuZ8q@L>9hS5=Tj?rA&X9KR>a1A$ujWo3o54M31QE>gH#{o7>_BR;?_D37@3E z<5h#u_^_LBzCm|-WGyl)z4 zc|~DPayuWYKtHW4`QL&vbc-;?=|XY;5&dIqkOR)Z1V*M#oDL^_!v z#tVL{*+mgynZ$CE-B=?wcoWGY?^V!^gDIlRU-Ze=?*P@gWK&B(2Aug3gw;Zab6&@P z(83L5FXq-WA>#^;{}OPNz$JK_FJ$8UeNkx_2|X%vjE@*e8~Dw*u0UDnqkLg`p(*gO zQV9ivD9A(MEf@EJ0PXgnDdOIlq9aCdG3 zfd6vZAb*6tF|ES_Um<;2lmohD0u#0J5^r#RIqGyN`no+l#DQ`VrfA>?|uhWCev+ z&tSBBAVrKG%hyPUv6lljL++GgEJJvkYp2G5@u8D6==2wMt~CS)*$rSv9a`A!cT#X| z?KwJdb~zOeYlPgTl_+z-5+0}yB&DPM@Z)?m4h@T7<1WkanQL9)-S;+pbvBb}=DRSt zjd^tWOAf!{QzriURE)}d?V)haVvvk3A>RN6aLQ<5W@|UG1D{@SAD)YF*|INqPhhNx zZXKrSZCCK@(i8NDSER0~`=E8zGZ-pz1m`=ZIC=O~7!jY$Jku6ZPu2tcvws3?mv6_s z-zC&27J8^hgEMwI(?5dkiZhIZzQv*@SWo3w3&a;b4v~2!s zGbX#;8?a9P6L0@P5uO$ufc>lA;`+Q00g@-=bO-9NFV~Ke?Im3>Yr4(9Ub>8&Z>B@T z+9J@1G$FI)wWwDtaL8|XQMi^GyMJE`uG)!kQ~E$IXZ|4Jey{{ySN8GGmz<^Yc3pb! zvk5u9k>o!3H1wR4s__F87(QAAUp)^|u+LGrWIP0vU&qkTswjNxw*v>3Uu4I0E>MD8 z99mA$CZ)PLkTaRlF^jL@c_@s|cNfwpvcNjc96n&3E|>(Yr_SM;Y9A; z-pmfs)A`3q)+3y4QDbz!IG?GzDUo)k9>qu>WFh(y_{drdJ4cqYa=&tN-e^T1E|kEz z)=ji*nXg!9#dGGoP96UXnaiDjybY=&lcBahoTAt$$cp{PS(eAKH-@9Qz9~w0z{(Oj zkb%1YWU3u<%DS>|3e;{fpcS>JVbqLQ)eV{Fsd;%J$ati{@yUABZsE#R=>DLb6WJtP zQiJv7T`+6j3s(J*r_5ciSikFQn09*;dsg*Mq}?IxZSn%~Vvr*i-WUeoS4BZ$d^L@Yyt)!x_YZ~F0&jV&(D({`9LP$-MC|Ey5q!3E z#+@5E44nFxO{rJ~{^-v&hLwr)Pp6CjT`OkcbKFT|R2bYnR0)Is=u+8-PRx^g2KLhZ zZ11}FSUc?`KDP6M`$~qWcS22Ym0w|7j%$Vnqyl=J8c4!zXNO}nm5qsH!r%r({3(_hb}+I7ES+pr6)W9n#J5>dg!mWV@OfTdeyI*n>c4h3PK^C&$Wxa*wp3i`> zS}pWM;W6gOI8mq8K>D=zFc_Rn0Gpm`5Mk#H%e=;rfdhW*{wdP?HVJ3^H=o|jRf1jLmg0Zu@^rm&6)fv}fQfI1lD0)IHflbkqvI!2 z(efF9o8usCc)h4(MHXAKbTikcv>Vm5>cLhoi}NX231Q-NI;EUU^OsE|3g~4P8x3i3 zhAHk}S;Ibz31(w95}P%}o86*eu*_W*Bf4d6EX=AXO5r6_SR`aNUiYF&QZyV0dw||y z@o;QtHs8zXfP(Z_Hb3Gj8Q0ZGV%xAcaji0)Lr4 zN#6Y}u7hv~tp#>x=5X14U(i0>ga(Zo$9;5& zg#L+(NYCLHw|I>UE4O&ZcQv$9!;Wq??Pv|&N*@LDSBypDReQ9yndwvXO}#iNXIZPy6A^WhlI-ZqLlsyR|L@uK_b&D6SyLCR%ox})?B*N3iS zl(_`e{|up96BB9lah?*}?Sy+uB)LCY&N9X|V^4h$9f+&teGgbtNTuMq%e%)?TykkD zl!9~4ND9)76#r_%{*A-?iBSAlRjwFrT4=f;bH2D`a zuv@#wgVNYYJW_L!pYkdhQr0KZ@rMUsQDq`mqc)8kot;qX!653@Imn(F9pPubM|ja2 z47>PfDyw$mm+lPaGrH}m?{+X%E-A+I*5lR zMq{5;fG4Wc*Iy>M@ly^<7?(rQ50c3)wH1Fwb?|o>&r-jaLqq#Gx@o=!GzCt;?9z0W zt9KDgr+e^c69GGl(&!xYO|r8I zmODiYl>2dBL;zKuoq%~6S-5cSF}C2II@>#II_F70FyX!fxqlSyHqKIXV(WO4>HkjM zu|;@zpU|t48Vp6N|Dtj5MfO~B1@)zzq=@sev~I^}@|)6%sX>QWi0LZYcuvJe$u1i9 z_;s;up3byqOf)`h?L>`81=_2$3peyAi0v25W{F#)A#7g-elPJv^9gbIwPhI{3YLM{ zH(Z$IpSe^au&1N_op50M9LmUi!WR#hwK;hyn_^ubW5AjFCJ8&nC7WVIi zf63q2r|sv^E=dKP=EtGIg(A*stQ$Nu@qiAi5mbGw21^2F;VHp0r(N3#)|fHu}Oss{Ye+{azUUhreZ1q!ywBt{o#_7q1LE&s#qK{?+>%9WPaL6e^Ez>a^9Gpdd4*l*$U@gqrqiFet3 zgY{tOyo*-cJb>kM@AHk>8Psvb0>cy6Ld+Bg+BhN#{4Wdc+{vf$&-l5l-N^~R>PnK{ zPaSwA??f;9O(9UCh{XclL<1&9qio+?VzM&Yuw&WSbkAzNrVj;g*T~ z$9Yix1V!RflEB-y1eQFpg})|t;P!GVZgd*Y`|l9`=8fAyx2C4C1O3gY{&Wp{ao&Im zzD%cwk5s5i?G^;+%iyT8K+3w6O_NSUa6z+`K{;(S+W$8LYxNsB6^|5gi1HZNzsL?Q zRV@T)yNOiz7>76pVQ%FF>UcDf(|I3Gy`v5>cj5a{-zRvECgf2>=vo-(eHUkYX3{IE zRtk8bMdE#%sIxG!`udX%6ke}EXSRN4#XD!gII#n*2~>hvJ4_*L%^}t?+#i2R%_QxZ z&sdPEOM3eX(cxw@|NT*!=)#)c*g)$k#C8@GOr1bcmB-Ni1tZlfTUluB1aKW+Lt)?2 zxw!R*VE_KruxGf?<6JPEJ&K+{YxAcuiy(X2E$|xFA6N$MdoJRl8eRA>!G*>xAI)lh zZ=t4>_e7Li4UWgFS+u4fsVy>sy+ZfwmA^Lo)LqKrglw6`_Yk@{%u)0#SByS?ACuQ@ z8R|2v;$}@uhs?QYyzZ<4C_QW~Y(Mo7qbxp)u3tP1IZ|;zyE$2!tX@4pjm#9-=_!fxSEzFV*{OK1DFQScj-t`_a=LU=Brvbu z(!J~Nn10YXmM`T;4UgVooaqu;dA*tj`oDk=LWg**iYo0|GDfTwCF}wHPVtGRuI$jv z)ojp&lW%z^ZSMXWlJeB78;GcX4aM^JjREn31Z)9%3Y1zBT z?%^1Sd#!^J&-3ujuKCFCN@Q{qWNaK%YVccT8reH+q=Rz_%TG@P#X;TNN$)^Nt2Ki7 zYY~)eoCaN{V<=;TF>GBZ+-vX!*EqfwPp6$0$=yYkG*gNU=Y~Sydcj53j^MzzqxXpl zzC2oya{FAtWu*-kMH^Dh(HP+#Xi7T8W3Z@xDhaPO_8~Vxw`D!3S=_tAVUtW)++|;y{JMJJ2t=hhL&9Fy^xcWAJuiMiNm% z>J?MTTdEIP`g5k8Z3N3on?NuAH@l(o7#152WK!eLv5!mw2AOB!nCwVca=rs1yc7fm z^+l}u8;g4G$plLfx|&Hsv-OM3u2 zbwU}#TL-ht{z=ST^FAljbg`O?tHCWs22i%w147r8;Q8Q>D0@(apB*y+Z-}ID*q5LL6Ro2Jg0wqYpV3&~tJecX{V3@>;1t87uqoocN3wwPKm> zy&+(np-jozmMqyIj%UXmgnj%Sf#)pj`KL^QA#3E|ev%Gbpj3u6!u>O%d=DtaSV7>R zsWfxZN%rLXO!&79@wI!Qz#}>juCL8V!Lx|pV_O2Z*Ds_;Y&2+;Mu?A;ox^j(dBGLD zkEu>^BG;+S*SbYX>#DBDa;_=DL}Bn&jZa%jMWsAwwya&#|^Xj?~?+v-W{<-=KoVQk}5_}0oiS_Q}Diz5drflX-TIXQa(@6yD#mw692A>n!i;?M(c;4b9 ze4RZV8^T`TrF(94LEzFGN}CJwT@N_w}uj3zFF0lq57@wwv zcf6S2&a2{p`2u?{b|}`(xQV`<#&sG~f*GZWmGfAZL@ zwp^HGeH^1-okYcTiO{#xjJl7_r1VS;dekBTZ`a1-(h!EvwujP(E3RatJ`}2^#8UZL zfpv2E40rBf5=~zy!%F^G!0W;(_+UYmsAsAXNgL&H{SKSvA{9ZUKY>$U<8{KANqF|@IG!=TEM)r#*$%cA>OYGvog(@kWCTjf`AM5l;Kz$2Wm{dvzhj?AXWj8f@uQ*i7tBIf^^mQ=vL^D0%%> z144K1hbY|x4`~(DVLgSj~!3+DQgCa z$H*74Q~ocGcH3%>IL%MXNs~W-$e#O{(klR0-E4xg*sP%u(g_M z)DwDzZhNLm|o%YOrjS1FvoPXwn?ml&s;!q@FJLBBX} zUM?|)WF>x!uZ1ho?kykK)F4It7jp=mPhMr=E3a{Vw|?T%s!E(`|B|xGTv5Huh8i^& zam`I7uymCS{oA|CT2f>L{xA1|$%COVHGDqZ(z=PG%#2+bdx{ak#u z9$8;7p&4Z}=v!zsY{*oCy~B@SL5ZT^q1Pm{vDx5!>>zLXu>dRzC!^j+6pyzk;ugJd zqKc|$C|(v#t>0Bi`&ukJoi9f^N*_==_XA1`pRZ{yk+6BF7VW8VgAKO57?yMi4T}G9 z1IA5c^R`VUXE}SO930MG6~^M1<-!c@vx&fB7kU~U&aCvKIju{PgzUzVtX{K}ty;bn zw}wW+g@Hk+ID8xbMoorfbTmQht`dY_R$-lndc=hDfAfJwZ0JaV2bW(3m)_cg?$|_f zS+Si`0@sKJ6$$V8dLbv+`5ITW-bSr}TjF<5KcQ)j4al5{pnLY?K~qPX%^A82^$X^q z(%&ce>R}P4)>Q}&L}?l^M+Vr=sm!4!64V`C$m$WJ+)qOCY3WhibR?MU6y9LdAcpQ` z^HE7)kfuEyOMVCP+1M_|*)<+vb7~c#OX%J1TvG~L@^0dj53@P(TVW2nstE=zyUZ>X zHE`a$t-$JIHbZ#@E|XtX`{`-J$MpH{}uktC$RqF&dpiCRs-A9U_4OB6 zYQNxi5nK!|lR`!5Pb69SrG>Eg#x1r+Z3>k3n1Y65DE^6?NMZKE-)sA!@KKmW$DMJ3 z%L#LEh2IK3u6R0%ThuYd)t{_hM}t?MBD0fPNxQ7(V3Yc682fd%kb4@8weL^k2dSs* znU67a?5e`=OLuU7$G76YopbTIu^pTLA{$z+SFx#%IV>~5fX%hE!@Ir_%-?ztY&s*N zutOHi{%@+`GMf|HXIAr%!a5>4lMYuHH|Sp2kTUSbGA2&ndh|o zXq~-UaB^=F_O?ec<$OF@eVKt16r89`PRP07RWKT2f@f7EVOvun3v{;RZicSI+CCp_ zwUlAD6=LBWc7$;cZnCIZ%OPWhJ}{*menWt;kLz2G4a57<%&r@(6Z)}i?0Cux8$~Uh z@+fg(89aGvO@2a(&Z%r6dszI1-&EoVAKZ8Iaf?>4c*k?}`W-RVq>uQp`ynO^9q=me zI`*%K*mRXgoXg+??CGUzIL7EW+c_zQM($ono3|m(J=n_nuF24!$;3KWbO>AudkP4T z#me_%AVD>R_Zx2q$NZ{r%B3h;X<|)BiZ|e5%_aCI{|W1U@*it#m**SfZyzSH>#J{a>Yan3Qt2t;XLIG;m(hKwPC;AUIevao10w zcN#ShKJR`nuo!RPo2h|t^_mP3o*56O@WF+D zc~j2j8HWPgm-O*>3H|b`(!owE>$<|Q~w+W1y!>$MMp!6SB zetrQtkDdj~*A5_ufCX%(mJS#F)t0_Co@R2N53-#>ez>RFpM_*xVCHEOoaY8-*05iX z!3tBhTpO`;UMKE&v5&%UFTvG^w_?x0L6{kM9j=ZNA)9mnCfS<6(@~1-^D$jq{#rt$ zJIasCI!L%vs~(%Y6WNfY1?YJ%n)_9?0j6#bfwTkVP%C?dElLyi@`6t;>%lsDdtwY) z_s?hHGZP`d;v%K?D-i#ZuyCaCuAd$Wrq_$PSO=kl(GejI2+!ar1{%=hgu#@f84Mg9;AzalL;pY-Egs*NM z$Cc*4u;|!Ars%etZ5ef*t!;XY79ydqxyVf@o&3ax;_tl7CPf;wOAkc)CM2t(0vWPL z*rCiwRLBIVNgPdY!fN>DgG$^W>jZf9U_430<)hLtb*Kt@k4OHdapF(Y;QOWy7NYA2 zL)=uTZk00KTt5t2w5F3-wG`~WDnfz4Uzw+v!{P^=tT^;qg|t$MrKhhai&1fOS!p!r z8X7}fg(Ii9^fBKO9}WYTr-Nsr8G8@~=&|q-FEd%lN_~IBlDE}>_J4ve-R2}GYw}Gz zTl*Sr`P0p{%R56@#96M=z!G!r=VMECT(#ue1$ZW2pJa_hAf;@KleDbJFlGWP-H?Pu z^`Tfil<-N51I)fV9XyvgaUZ%GG38Px6EGvZdiO^7cSLP@5dQ*fy3L5Zz8_(Y=TLqyZfBDAqA?$i^I$JwM zfmGL);o@a8;QUiN_CY2DCY(>88Rk`3bPz{o--PYjvsYM&f5m&jJINA+@Fi4#_0%7@qGAQJ&O5GsDyFX>)E{L17XmE;q3F< zUex-Yg5MwvYo){4hJ0o4ap-23?#!mswi8+R{k^cf#)C$M`(oaj#jvRM5lf5vffM`u{C)yVn-_Z^qiwL z8*EtT9a(a3_GfJkF+#6*7#`Q}LyLcgC>@souRGN!L*9lP?AgOQt6Z?pau@{d9S-KZ zZ9wvFHU9T;3=Pg#V5wUOV)Om!vei=53Y-V^OX_i`aXCmFs=%(SR5);`3HMw(hQE5{ zSjV`f7`V}#jPGs3%~P&opvPBEd2KQsYP7{cX`b-s@Dpy4`!C$O#Sjh``f|S<#<9b* zgL$1FnxwCO1w$8K#js#89=Dp#4m_yDi%at%-bI5tChrkE4+kOTw=B#}mxLnN&n>Q< z$HWfzm{Y(6raWRY>sa}aMZJtA<(o>>p7@6CsF(=K^4_q<#z_q_)CQpv{;_*XYc2$r9|A9zw6=Hei^>?-XvK2 zY$TnKs1pZG*#jpsV_Ntdd(X0lt;yg_J`kYfbKLXy! z)Nu~-Rj}Uk6+T@sgBpcd{HE1QLHmwyE*6g_jc3Yi&Z|7uHLno2*2Yug!*ZtW{SpIv zhfuXv7pGlzhx@%#n7NHQ$DhbaMFaJe>TN-Du<%zIb^WYmZ`mA@seX-L+I9F_k5yr} z>`i{=G~v$ElE4&?D$r&pR~FkZM}4t5INVE_PSl>~)4r(E3SMB?*C)_*&q?g*IU&=n zn+2{Jg45=z3a0P%7MQa!RP~kvZLh<0G^<0L5H}qK_lD$4n9H~oN*DdEO%2r}ly%Ov{%1DS|(3=~pV2809<~vqwYY(<~P7CIh~VGJykoBC%Sn7h7F z=$wtvJj|eMMsCzrt5_)PT=fDC{3mH zKQCZWz&AYX##n`hCjFju81P&Q8T0QkKe|!8Gv)xip5x36Zf3*k_!3C@aD}-}97P4E z?I?RPk7JYz1fFd!S9N&~J-hNBXm>dYdxm)O%}>PSiKF4Bnl^O~QzEtgVeqq0fflwT zLemB>8j>|h;1H^jsZSCrcWRJV;wTz1B8jbY5%TK8OKI59y-a<_Ag~MwA)gVeab^7% z>@wD)zOGR;eWV&}ace|LyRD?wEM^6V_Oi?|^GI9w57W4A37@b3<uan`TcRAB+1#?<`cLP4VeGMD`(6zy>Rk{QaYJe*6#2n|Pl;A-ruICMHAS9XC+T`;rlF10JWhWl;PUL zKfXK(Lf;i(?zs2(y97JEbOa^s9kXtkt=3M~)OR3&%Ge#6NGNl`8G$H9~ zwWI%F=9PI;tgu3hE#D|Z8MA94WN`sIUonQwtewa{J&AyjQG4lifULlS*Q3`)+hL>b zXgce&mv?P9fiaP7JTpw@H#w(cP30DPbMh)aDOU%T*>QABB8}D+*;9M{8n)azgI&WC zHgHHgtiBpeBBLnY=W!95FIh;pvK1iK>pN?G=Eg5KxP_7ZmIA*+g(ObL@`|^VsZ*+1 zd^fp;f1{Cy!2a_kpfmKTWIUk@o*w( z1noH<39=XdN6~r5_4KxJyfT`SmZ(%Tv?yitJ@=I;N>)lFTT&>Lh!mCfRG~>rlr~a* z&vh9;yAaAqB&4$UCeL~P(w};DUgzBRb$veX_Xke>mImdQcc4|tMw{wF2T~6oh5yc* zLfzUvoW6ezrR=gJD~}06Uu++mU(Nuhj4^DiUlMma%@H0C8Uz^y!wSacn6w2^DrsXZ5-9o-TZ9^-=u#-ymkQv;pI4V`xFc8hBVz!T3i}twsBGw)T!*dfGRBA73anorn5Q)s z%#ZwF#eo)RkfTgX2abhd{~qH(DF+&$W)H1>uB@plLgc#ZIJn&v_~C~_M1P`EdGAl9 z_;Itqk!h}go>P772d_X6LT19Mn7hJGa|Wzh{F%KOmw{D1tC?Hk5|QJK=}`JR6%2x1 zS*G@Ox}Q1*jLgz;#d8bR;bICm<}HGvPzTYQ*`e_3^auXL#31Sm4aQXWVJOplL_Fq? z6cnfrp&{371^)PJ_Os~+)8iCr()}!cpKzZ%Ah5J0J(>iL;1rsc^h0n(>hLQ z&&~o%_c&;n-N*8Dk28-O+Hj@f20ke5<`iu0!M{V23|Gsrky55`QfVxI=!+5UHHbuq zrc~xL#FC-{6WF+hE}XMtG_O&X2VWaD*vM_j=f`-;P_E)j{Fkpu&kM#z zo6q2^1UKBUX%KDGXkzYq4|zX&|mP6%?`f8XSOR*T>n(T zCDMSSlzbq-+m9AJeJ1ub9YD%zNibeQ3s-9Tv44rcRMpPlv1M<>OmO+g_88NlpY~kU zx>`|X|0{mAxB>5vPQubiXZFTInEl?r$@R_ILmT-0SfrPO$)-c;iLkSm{o=wVIG^T= zes5yFVP7%3yr2DZzQv|AzlJTG7My;59O_~gAp06eT!Rf)m_8F!v;_Xw&tVkq;7X@^ zqM%N~f;#W+V;;3nal?*d*l3c89f4Ivb4&k0JRTn!BqmczC6hQ zdyk!kg9Aq~&s~SvA*)*;*K0wpU2S;5UI!Yjx4=9@4>r7HIw{Wd!=MAwWbj=E`7f%r zdfRsaJ9QXx-Ufo$c0c|#PU53Mp8d8OA$;$hpi1W~C2uZ4343+;n&}DE?}~(u&k)MI znMR8xyurIi60W@~=C%x1rKr&YgHJpHE>(?$!;|CSV|W2RFVf{t6%~PKQv&=vyjD0@ z3-_I^$C>Fb2{I_&#~Lqrv8!1bl)uUYJ)hRW=Pi41^q=Lhv?djsN2O4-+%9uV z3%*tU=DX~tkY}zZES&L%SLr?i_UDI!Zej}SC|k;wACAM;bHXziwhZ|8@3?#NKq^@@ zx^dR9D5l_d2U=t~me%r(6B|VG$(r??v3ho~hVSiv3 zKiOKBMw~x^_Q(9_*N{tCwt62Xh1}#Os2AYIkpd@qkrY)u{f=L|LU^|(3kZ9&4R;h~ z@Tvj1+>bBvRP0|!OUi^Uh$&&`%3UNo{)0&Mjs5NK~w2yT_Eyd0#ilE0~{S7xM^ng^V*qlENzi6@3T?^^UZebuW39y z+PMm$tcO!N{}@>HVNrJ64%VMyPxC@0sXy=nI?s!w@IxcmjUyLW-MW8Fcl!-?b-)fN zI;8<3-wd+4aG7n|KNTf3%bCh-9f9S1nX3)k%Ab%F_`wN(`3JINV7PuPuG;+xGn6`5 z>75gJnQbM%)7QAzeS;`w&??H2pnCUlgU$Z&Nmls$5Jd*%2H(nU3>QC(xkcDz;wUUexJQ z$;Ac#gX>$OIH?tJY)r;;?g}0vsaFYjLzwT(x0PjUewxzhi#1%T)F1BH6$!YWeUruY z9)Y(iE5pgHntB zF}=eJVa6#rc(E*;${Q}DVx$LdQeQ=D$`Xa0#VOc4Y8$wEcf+}%=eU(CClS6?5;$J} z*naQvtmCm8zMC+eww6X>ICwWxPaN?_t3q~$nN1{x^{Xdr5dM`y0;6}43_5Y zHhjnFk_@!o8VatPByn3r20Ht$;dV_Kk7_gQq3G!%lDs>Vo%g-X)t`LLUR>ENR+y*+ z$zhr_-R3g}1Ruu(26M^pVI3EIKAztjRE2+=%`kJc3^%27CVyp{;7*@;i@iuTCyld< z+0TOyMF#6`Gkcmw-wk)MLp@UTdqEgjY|3IvdU^cfhhhkpIK_3$&4dlI+N8`%!Cbe5 zJ!#A3hA&_hn_L1?YDShLToUTHhN3E#UX5m;G)rp_J@wi97l?~LDrV4>G^kmo#AzSUi?>Zk2o~=H-{*U*VzqtawD%G)B znXyzeY7VSxnu0@LTftnh3+HNem01jEK>a2~ZfEyV7#_49WeXqLG#|bXOQaRqDJci+ z{`8nTqqd9d`0p>P8GZ`&yeH9ZkAKYc$ugRDu>d&uip7&`$XEIp4f<)!oB}>$>-bwD zz2E?rWhng4Q3|wU%U;~kX#g!9>#5<08=gL!O3QEb;f3-=Tt)XLI&IOx)}2;{lLu>A zYW+ZXuMjIzNt*`K7EGqg<;gH({9uTgseqHMdG@*?jXk)R!oofUg6^Xh(aFdRG+yOG zuV%~wr?MlgV1gl)h}PoW+ZSNWA8CmAoX(6zCFEUt7D+!iY1fFa7A%UgYhr^mm*@FMn;BCS_`0{ozc+V0Tv;Q*CBKaY= zLjNsWp=Lu;R~~X6b(O4ioZu0CdYef^I8)u`APmpCz`c%khu)&&p!DMicVfs}{_gcF z+|s!KKEVTV^mR!%y>>cyOXf0{s+CaJ=SbP)O>F|(uwh>^ZTaC!=55FphuPAVSF7ok z*+EwBGLL>dxW=OWec1NBwGi*p#Rjf*AiK0qblWl$W)_!&#R>^p@L(t`ts*eX3llyXvveN-d{K_AbS`X=g>v8Qd3wkcx zWxD;msQ%^`oXQ`=CmNcRHBfMs`=;WJU+T0mLFjthYNN}nb2wz70cPb+fIqJ;i`xGE zW!i?5QIQ_A=xMtAnC16Tdc$+Y&W z4}bQ@aWwEcjW@fe;t;uMl=p2B%-mwZT~2Eix_q*D@Gin#-BKLm%SP_c8XSC7xs55&_hoEiRJp8^XfTrG`AQq15 zLPqEjZru>i?cR}tvU@l3{iboOP`Zvi6z)35)=Y=~hC|GANf{XQ&f*{MZNb4)m%s&- z<)3_N=SrRDh-SSI`Y8S}RJ7wEZOV`b*HH#)z`7?}exnV<}ExeR=kN zzMRnXu2PJ2{&nE(kIoS0NO5az8&;-v(MAd&5!nLF{eJ zb#&c+0BX+J;k}p2U{4bCUvnau_vP?rd$jTAhO>0fY5=8ruH>6!PJ*MroRyGBC+@l& z%2db0i=*d2UNMw&8kz=A>*vwv@v^AQ{L$yoZN_?oC~Qe8*;#h-J3V}u&B{qkt;Yv~ ze=3n7Yv-q*nNMEx7qSzfVi+YhB*$OsV7t?azC0Dv$!*@aIaKJuyszX(n{VMy_nMJY zcLbyOY3!BPG72)e2G_!F(w{+ctT}Wh&Zx3Q=W-i}sGP+VCMLj?#ai$=Asjyc6*DL@ zr31IVaL#dVl)6KL+7c4slTkQ~aqMb*@Pxw zA?GQ_9&c+xhcRc!fAvG9Z$eyx1@`m+>r-wItb{b}#jqpbZa3S=gNHSz2*R^JjXlu|2tXA=Y zD@*$M2L`ch;K2z@DM=1egk5{_QU%;1vq|VtzGN3O?y=CM>7dEIWu;Ffq50wt++{hK z8Wk(hy1$fucN`J&)n0tz{5D==?Mktk{8yauWjxtF_zTwajL@)jFDlOJ#aSuC!AW%i zySd$#Sd$_fyLvQubSkrT+*0t^ItE1>lBq3c5k*g^php=4(e=42GdcE@4{uF|bM;4X z)~{}k^Kqk^2HP#_ga#p`_VPD=sA>dmKNLYBoubpsouznqus zbrSh#*26mG81`hSC5+24V5(JiFx`6yWS?q;QRi1s?WO&=Ty8!o8w>okeBqqA?7qP3 z86xy|jafupIJ^^PcfzKPKk-MMR+*mSSDF}6yKx1~X?2DGfj_YGVF2A98bq(6q#@*^ zGA&%Y1FaTprjx>X|AWA#A6$EsKJj*J+P#5fKhRQmPa^EekLLSsNWd9CC2rOlL)fac z6a6BhNVc(rQ|+>*H0?le@ymj1+b*)AMOx6D6~?B^2t54eu`u#oE?!mJC%(SHolOhR z<7{2!sCGgeo$w{fZ9*^_?#rfs4g+}$OM0V`KsSe7;&%TP?w>{nxzDFs`B=|Ajp6>T z_-mClm^_OYGQ>&bw{{~9xPF7H-w{qtkM*b`OcyQ;yojNr@57GUk3e;q1HC^moBb2G z6bBOp?!>ZDRG!^}*R?mXVIod+s9_AKEsdbP&lz;fWH2|S%eZ0vHn=-n9l|YUVk@P< zkx@7Ch~Yo9@@m2%59ToQR~PC0qFTQ3Qan4+-G*-RXYu*tIt-pU9ReQyWnTpMiTpl4 zOiJQt&XS9)_`M1@>Dn0~2jI@FaS;4q{4`2^6-Cx%!{Bya7+upTB$=H$pfOtsPCq-q z#M+7Y?9f(P6&MU&Y93_0&sgk~I*!cnKW2S&6nz|&4z-#&)H%%tpA7hbr%kJwyYncT z|3{7n9>^hw$&XoQ$0<=Y)3f!>F=G~EwzJ54>-a;}wp2K<1HVnIVh>VMDYCo@59@l+ ztI7x(DD#uADD}j~6H<7mCjlS5EyAn5D@A98otuGaG+UpYo-_)-x}8DWtmim;=T3ZArUd#2qe)up zAIdewp|N2)%9^V{nWHS(RG;VWuTipnbSVSMy)vnwvH)LX+tKGUa^l7|Yf>&j7FwPF z-OI#q=EY31$ZUpFfwy7f9!(l6bg*V8YT?>d4PZKCAO()v4`yRipyF&2$ai%K-N~8o zKxzw4ezcyx6#a!4_ao_k?r7NDFE}!yr_h;|0w;PAgF0>tE7-G>MCBJai^HR6QFt-L z+;pVHEeasYtE8#jgRmr6lJ>;`TcvQEOYRv7&OHU=tL z@hexk#Q_w&^=TWJpi0jx)Y+>@4+^$Y*wG)T*u92Zzi_CnkKmLN7~$Y!9Yprek29Cc zabOr-1WgkANZV-_G(3%^s%iCj)M73jI-^4w5yPqXN|h+4@+~^MZDG~%gJGh;#aZ#Y zmEAdcjk$4!ux{u-d~|^Wg>8$uTK+}83s$NL38 zi7Ne?^Mbo5xgV_^_R*yoQCRU$0r=7Lm|KlK1!6o`8J7j-KRH;a*@4ElgbEP&|*ymw_=mcNCECt3YpM!@I)8Ns)Y;j1sBBeYphaRgw zcE3VkL={d3g(qnO<3fq@9!%pV`niy#FX3udwoQk{}x4C^+|o|8ppT zZhSl2msLyujhh0SZ|kDO)L)vi-27Xg%>*~*p?=yn- z@JTpyN~>r`$xYr6azL4UMMd7iEV?@%m6kk$BVspFe!C6*v}aLGwE{_t!FVPbpp=TCsL3d2F;oKZu==&Rw z*rqro~rHy;RGv_#4EPjJ! zBhvAt%__bW#hk*yf6Uj`4s7-qQ|s0#N8s+P_d+giB24htrN~_kSmrl{sgFyconMwf!5tM=v#WshwH2}VI}q=7 z=+RYeKRT9DM2n1zX-my+uEgvb``ur~B7e;xn@jSrd7%_eFiM5;(4}1N@*<>vrgT-| z9-ftXjj}b7FFa)Lp%RtiSvtDQmiLcCj`?ee*@U4bDZkcx>3=?9riBD5KUI~ z!%fA41B=U}aW13CaZousCO?bi`~G0B+%2JW;(oemp^f{N9L8#&3P{4cwB2=59ET+exjanOoBJQ~!=bZ+ph*kdw<%^Jzp57@#qlS(M~ z!BTYK-gD7!mcT$&+MTUFc<0Bn*AHSESXtpP@k}@N!Eq?yeFw-d)Ao*59HJCdqR zu^^YUigisZMBoO|_Q(4vxj7UR*-kiUr7pS>7fw@$kB1k>?{e+Ux;RAo4Exfy97?1@ zsBE_|n_Xv%cTyHY*co+n9f;giop>zPJP#3B)8Ndn9<~c2e z>j~TOF#O^JDyQ0x?43o|&&acHLcc~ac{4O0tD?A$9CY5a4wl~Xgy{iKfqNh{irrBXD6%3wmijz}>rtfSMt~kIE|zO9i%5f^-KrW!_$JpBP2k z{D(JWY+O!*RjQd9?ac z4DM|X<%$=TK$j?8>}gqviJq05U0oOI3G6X1IVaRHlwfbSM8V*@hnUlVLzpvO;Llnt z!tpJp^kvQg=2(54dVSABZ`EcJDJ-Dbr-xA5UnA)0o5_h1#dwEH5Kd$nffKuB99%Wz~%$4=wf0yfX z=iLlga_m}q9Jidg2hL?1?mD8&)nvBaVHWc@42Om{Ic(2ZS*l$9A8k124I;rKcrYjn z(-$PMkatqtxKA%xTpAB^hgMOF$4s_9~One)mr`stnqLC;sy zyk|o8#e6xe*A$V-u4ZO+bQ$$zHPGVB7X0v{f~`~=L=Ev`oE@nveAf@4b8{@NICYX` zSs#Ot#B(V7EdX||YRAuGe7K(pGnw>y75JRqi6slm#J_dQ;ciox=tNX5U)JCTJ}FLM zs<)L^%(r8U6lQa&>PohXhx8$MP621yRLQ0bJ9!y@Gqij+7JN2^^VP$(aN>F4O!86# zyVo4TwsJ?9Jw=$8N1fvIblyXaw;R|MedMAS3c0D_-!Y^vos!<~qqjE7R6A*sz`aSL zMYHFF{HY(fS`9KTVgcket@Fwg?u%qj3 z25jc`rJTI{V>b8iF=&dBf}1Zqg=a_?Y+X78ZeIawoqiH;hD?Io`c<$+cL}Zu{m#Z` zYm-%T1i9?E!iy!W>BCx67I!O=C7sR2%2pLrd?z@g6K~=Ozh|Ne{TVnk)DoVh@tpI8 zBEG~-4y}B$VA~OZgRibbl6el*=QZQV!OQUQl3L*oA@GED-^45a>%h{=g|*B-%oRsu zGQG0BBGZ}wq~Yck;OP-dDam0M-_L(&4J*OI<(t(1JCC>l8N#nQqOye zTH7rkkg1b=cN_2Da~l_?#sU+sNA>n*)*)oVbvzWvdf9LO{;F!)1(H-(R80p``}nDy zkJw*{0Fs~ZhN&$%2D=ly=>)|Kt~M<$V^Xl-&fHA{2CP7-`C~AuTg-J2n?-&99pX-Z zc#KBEouSaT8QjqP`-9q@hzm!>A6MD;Ymeb~S zOJT(JcT8&s4kBew-fTh@0;Lw%qD#Ww3neg}xe13lw0cVKY-JpFyc-Bw2X>2DWiV2=2_>M!%~@fO~%q z8TllV+M*yBcC?9VCJu(;kmHbT=fc#RUgBq0Yn(cMKN_DATz$^b_&zF>eEBD!W%`K5 z8yMr`>b+2PqUX@)w_>a>d&CxAjc4iee)B)>*wIP(;d)qGMft;=1rbS#e#F=D>Gad2~9rn zX!Nxi6aP$vTB$tHH$5R3YJTFl0YhnXd?B7#zn`Ce@gS(W4`bHb!zhWDrWHT_;`uu| zP^nT$7po=-`;1najsCPUCJF4-8t~Hz3Gylu@&sDdr1@Qj(lT7>?t^%$?{T4vd%a11 z!zx;7a9OmqN*8ApI+J-s4nD0)r9J-``CI3r{_&lnDc1#W%BNH)yzIn%xHF5s+hsHT z_C2h|;u*WK=^Iyq1L4EF)G2vNNi5hXje%)?*)mOw+X)HGV9!hXy zDZOuYpe2U}q2I~^(4PI6#a*4j?U+859NOe5!tfv~EUI81-!ph^D@PxN-y>DKL^Q>7 z6)gKY9#-2{@w-De^Id_ikgDFv?U`@Ky&P5u-viH6mre%@KPQbBKkQ`P*NfmxlLTCu zsR6FD!kKUK1MFy05m-il0#1% z%)ZmZjHR-;)44`qEZpU89bX7P&kcqj`S$#e=jS*TowKOqas{^e*FuV=JRJ(qgyFYS z$wRG!ok|!(R~ql)w+cN9SChrL-Ot&z_99yI!-G;kZz0{GE+AhumGXAPFTK!HSIiR31l04LndL1(cNRKA}N+dssi z%r;ZnalVIEF3f_MJ;GVO;yzO}(t+s5@ff2}$jO}5pirg7;)-u%je zuH_l<4Hm%Y**XLc0$aZO3p&k9p!B3T{16r*IE4qH>bqFjv)7-weZB_U;^i=EY&R?j zDB>T0$@cw+8$e#o^Pt}5>lSf|co`Vmu@^Aj-+$V|h>={lmlC3dj-k14m{ z(F#_f*NBU^_o2#_Jt%u(E3^o^oT_ud^j&yYF0i!(hx(g%|I<7$zdIZ3(}L;I`aSSH zqn6w8WGQOBj3gg{#aA*WhK8u5lIuqyzw~k{qmwEu?Nc7#_Qw^68GI29FSFuf4@nA~ zfdlwOiNU8C!o5%bGMck5IQ_y@woTx__5{_Sx!@kmp0;+RvO^7dRW*l5z zaZSkE%7V-W5xlLG0V~HLWV3})XVf@+Qtb$RdncgIk#_uR_l?Drr?Ee?BEkKe78|89 z0(REQlj+a3P$3(G8rq+j(x_jooywrI(3}D$TJZ0)J?Z(h(_r@05VtE#Lh;ZJ)<+D>H8Yc0UK zeN2Pvg&@AoPZz9Z8wG}eH_ERt!|?4p$;mYrX_U|b`h6EWiX+HSUm9+-U!Yp$We~hj z0crz$gp5HGPVHDpPp0kxy{#FLVs*JO`&c~}5;`0_<0LRRq5&SpXR@1xy4<^x<6K6g z54lx`W5PofYRH)gYjSciYfThIoT@}_>pK<`P=HqtWkY+-A58BT{;gk5cE7R&?p~|l z#;}I4T^TTb{}Eog(h(PbZ)23$j$elWDP;_OHC9t+_%PO4;mtY>73j+g zdnl9^b~3FstZ>p~R=#@&>ngRRswr17uGNEU%#b82(*(L(`HBrc;|U}Er18395xe4_ z$M$Ts!rlw^q}S5P=alMGcX9yOM!&|}1wvN$RtZ!{o#DRUyho8S%LT5(Ubq{5nw(|^ zqK&;dv&zp+nT``@?WQGIZ-HS1SmSC)*g?+cfSXTH*GMwW{bDiGd`}Ia} zp{)shGxONW3_GsjRwdh<^oW(dxd2+FlbMIwIh@}X1LcpCsdRfa8*)EZFQ@}Yw^lte#;OO zLIlS4>o|I~*^-@|{ggj2Ne=Ev-Q*k(+rhe-o@~yItNgDmk67&W@f7fv2^`R|{5gdH z7(RCnJP=BMS3b>SGZc;qU#xfdV16vld}YL7ej$7O;yaW2x&RvQU%?iC9}*?M;_iyG z=%D0a(8$?GW$jkzdEK1C9KK>>X0k}?oCof%SD?HV#jvQXia+de84V&X(_EKYyc?K^ zF^_!cOZyd;ekKk392SE8y*I4YA)Hx#7(>f9$k?7a9ZF7%Z86<>F#in%e#A%_+BbCo z<@mc&*o%p%C|0F7v$5i~r{=A!?q4;_HIc`L z7h3$LmJt{sU;5GO<9BYCZ!V2>y9)b`4rR)p8({PBBQ)*CesWoK6Sw&frO1R{ z-fZlA*f?K;G6s}U)O2;Os8ky@oSzE0WuUVWC-{ZBV|lZrW+C@qVl(ceDotJm=x%iZ z6*?!fI7crqJi~bF6oqkk6=> zpljQVA$6G~y?dES>KEl8OX$VP{T)WbudJi({A@Ph_di&XRx3K$5DHcQj-!pF3TBJt zQ113ftUJGwtV9khHpdLT)~mwM={|U6!U#UkQs6`#3u4;We)Ai?H}kbBiKr81gq{X& z(3_P33;08kEaD>hGGh_?eJJ|0>)#z{5zjC4&S7l7D-g58QN$;5WJa3k0R!M2a3{JM2j4U(g0~OH&b1LY>l>|_oF)k2TqE;()$nR zw3edcp4HfRW)FOjae!U6#&Gs}7;N1>0vkuaMBBbq^k0W2CH&Y8cH1{GO?r>-^z31~ zJ&Dw(j-*%}VeawsBR~9J0j+{tF;7yb`PvCB7 z$DmQgL{f>&!H~@+u*OuFSD9QvyAhjU-;bA|Xe%%*pRGZA?hZQ1y#mJ>a*(`kK4#uk zL+kVN(KDtOw{7;rq9NDqyCa1x$N;hA@ZK#ekP- z=$y0}wBs(4kKpee=io#pr_#Xfmkstk8Ufj|$-Itt1}y!4fOGeJ$n?U-;IdCoP*N*~ zeF@JMc7M{8+c|}8F&@e~|M}3C#r52J$r{{z+X!0s-$s2ap)VQojo15dN7VO(Z_j8%BRTI@o&CIbb;_ z2@^Us1PMeWp00?bnO5cOUZ#ZYijF$ws(6ELev?O+HBXsT>D9&o<;mQ?nE;~4x>RX0 z1TNO7!i$9gxKm;?UAm=1h7-TBhm*6=Idk7`T0X0{ykR%h|_HAqPuoFnnM{ z^Q!hjY5gSet2$TgF&{=Mk5_XSHB@NRr6X9m=M}pZ;RFHqG->klqj-1AW1M_C7Sg@C z*@#4MlFP|rH&*Qjf7=2WdryYa`^Un?jj@beMv@c1h#T^VhnW02aOZUBRIeu%_+;9= zGSsAD=aB|qc)*F59cTUG#awLtWv=?A6n1<#2-g}ovi)sKPnVQ}b5br`R|v;bIMa8S7iZM*_BYr!wGCjyAO;u z|Bm6t?o2Ck7dmRc$HHk+{Awt`qcjK0HdjK-nP~c2A#Hm}UGQA~yTvA_dC~}p9KkWa zfL>%dli#PUF=5tF zTISY6%Zi1Z?np!CaEELP`_u%Mybj51bBE~ISau-eKBxQs8LRlF4a%mGY=3?v$^~5$ z72AA;ApH-lK6C;*|4*H4=OVsOZlN37>?pW;3E=HVd{N^MzGnI&zO=udy-oDvXRWt{ zj~;Uf9mQpy&VcMY0Kxc)MOl5I5z3PWV7d+@Rk0#r`e7 zA#etjY@CY+a4hJiV^wt zPULr~6yk1+YHsh|1#H;@E%G^=j~&W88nsHLQ9i8%l@~6jSl2w3|K~7kdoY2fPCWwu zHjajdcd}r0c__r)N|VpEH7{9X-i=*pG#~$8TW9V|R>m zYvwo3NMesn99Z(rbu4&NvdHY&AAVK)NBsTqQseFE=a@lIHpodoL-jx%Sn~QD4fG)47UM`c}@XTH1nv)dwc;9f4*IHSpC^4Fb=g&9C}1Oqg=usy9XKW4;D#D@F8d zS;H=0%H{nc>u`Zc;0^ANgnG+#Zo07qs2ttT-R^baLRKQ4oUw)WRHk5z`2`eGn7H+; zFJ)>*&~u?H9330N6bz?O*255(v1BYMHh$yZ%c;;iQ$x<%N19S3kK&_s?xOF1QrLp_p{qSOdA__|6PJgj(lGQJoZ3!CXlp5TpZ@CF~_DKvAgz+-u~5dZ46uqEya;QsJF zn_sQVUG$nlpYQ0B<|p#E7*g&xFjm3-D8|4R|KB;+6K< z{JVF>Xx663Xq^=vJ}HB1I(M+y-%c@?71QBpl^2y8X@a@KU|O#(+%4X{VNP-5xQ`zr zC{TF6sNYn_+=^~qM)raDnadp<&u*gCBEiwv{uTF3KL{TW*t6&YOOU^Gg%!Rn0B?b2 z{`r0vTQlhdI*y(LyRz4k{)P}HwwI!1LRNM0($)NTOJ$OqQi%3)axn7VQY`J-iVtr} z!?E}W+)|;hw$bwp-ug2czF!PSccm7tYwBJ$;!Yi=22BIWjz%`)&kOdl$em`MSyKHH9wJ$yBn9lN& zX5-+<*BDqNa5N?5a6x+%1}@*mLc_(t6}RDr&Ly-~u^j)6+=OeMy=F^#YS_C-!TZ^8 zfKT~x8codN@x6R){fRl}`O%(g^zTXzS8sn37v((^h0YV$$)j%bC-q0Nmh-ppp3gM) zz~Lav-$BN|1d#di3$6v*WI{FHy&1<{lZQxa>YuQK7s$)g{7az35MhG_@`O;F1^dd zdG7_bWq22EoHCTId^d(*=h4vKzm9%(&Ja0t>5|5BH5wG0jG=SX*wbO(utWG+t9c#w zW2PM0ROE0s=Fgz#5%X~LAW71@>;Y$l-qk^wZftw~nG48@f*GaPu=Q#UKG6NhX^SNY zHwt_9m|}71X3dc>g^%!SRIyA#~9%_CeS!9@gx`Mp-K|Jp2vyZ+yhE z;S*uqjbI$S{|fp`&7h#6JJ|3+`^8bI$}~9GL{#Da5eHfaj8-MT);H%x7&^L8qbzP8R#JF8@Njoi`Mk zzh#hK#(QiYdjcoinndD_h5WKtX1Ml+J#APh2M1bCu~?@lu1B%}dWKiy@a3V*@vRmb z9@4eqeGTP|@1uJae#Z`T}KHeEEZkmF@xtIK(jvu_T z%1c)HK8p+bv5gOUIGP2AO{0&6XW0AFT+y_*UQki1%Iv4aK+nv6?AkYl;6gh;NT!DV z+!{*Bjn$wUC!(^V8{)|e+d1*cC|c&2#Ae&(bJ3Lp$a}NktQtBW9bG?(AL{G^H*qb- zo{6-1aSFI0x7N_+{f^u={YEUk+s^E2T-ltAwea@#8u}D3L9rrPI$!#R^_$=0R=ky> z@fEEsTIelZ_^=jauc*+zF>>snXSR+0>nJ?84Y9h|nroPzO2cX@SivkGn@2}a;LsVb znfc)?{%@xOWu!c3kAzwOSu>Xa4ch%Mk1S7GaeLDC<8TKhxViie zzrQ6IRo4%;k#D&RM|FiP}wn9 zT$;Xu*6s-6^}2rW3Cb1_J8~!O3luWm2bBc}-x4wva+B+`Yxw=+MzQ;A`b3JSYT;SE z7aMT>x%l$AD!!tYgFyVqzx-=KUbSa%ZSZw^TW^9bUB8f%%tqsiwNM|rp8CVO(D<_q zeY;r!FC+$2w9qLyk4M;^Ai!(y3b}x*)!4Y^E=(HsmrtDW8G8n;r$@G8bT-=#j_$Iw zVcbJJVXy?WdE>kQ|pTF5>}YU1y49lT8TEj(Hgg?sx|&~n~eEO{v~VnlAV+ND$G_>xc4WD!1s769&`H0Wjs3$V#85%`*jGkeUYP$Hv2dw zr#Q^oqRysHJ&&C_RX8_J5n|rC(;`2iXFae4^GovC>zbz+)~-U9XSC^;ZyF7LD)e^w z+n6iPVp>uw;OhL#7_4CegVddA`Q0M4soz2eLgh(&eie$1Bbb4b;3Iln!1~+ovPH&U zaq)Oh*cW_>?VNL8JoVir)}E##_`Uq7wB$XfJlKqrw9MeGe|z9|UvpgGmBm}$--hb5 z71*t1Ca~_7Exid_MY8W+vZt*BXvgqok{)svH`f|LV!FC?+gx5tJUAc(;S7g98_9!sF4kbFDJ%;Li zQsC978quJzi4=G7DVym1j^*{Qfd6rH9)2OdZyRn=NlBWTl$J6|^SQ5tjG~ALDT<7e z6+%W+LsJ^ss8lMYXgt?dl#GZJ5;8;LOZMh{e(ztn8 zI39PFzP?drUOg6+Z|_Wp!#1$mj7-c?#V zEt+0ma)LRg^{AI3`11-Xuq&aRzuaX5k75q8YWIEkXwN*Dp-?OExFxCgX$nlp*JP$f zigZmY8g@UZc|CcQ5YRd!ckiQYKQZtEQ87$6T;Cc;@|)>GRhno}tLdI|G?YzI*v_rsUD zF|=~C4NErsD7?{aXIHv2Idu_nyn5XSEb_B(VE0fO!w+Lvu*VcWgoqdn%HCxO#dffN$p{v>dI;vN z8HofRTWCtz^ z9tlMz)>!^zEs6Su;dJ}G&~Z+h<~mIx@xnBA!b0#i#~YJVXefLh5Fx9<7)Y&QpgSg! zZ+Rq2@$Omh)LrP1j@Ck}&EsH1$@zxY?Sbt4v0~E9G6j{*vthxaCG2Ku42(>3#I`Tr z@KoRep(k~WKN@m~`86M;5}|W;OSc(QjLNyYiP`M7`v!_su)?F?KjP1W&rtk;A}!xP zmE9S$fxJMTzF8?_Qhgv>e#wX1e8U`EG6tA*Vz4bs4TR94A}GvSgl>Z;btp*Fwa{6d z#ETHBx|qcdWG!S3E-3g+ub|#NL(<;gfRZ<-Q`-JxY^;MXRmSD>@roQj$uXa~$;7e) z5CK<>Qo%$w5n5BkY5S2I0?$%{ezZPD+14v;)~J(gT;y0`Ka#|q2pE1{=pnTb^fUzF z`WFUpL4P2S1ssfFb7dc+^Vj_lIYp7Bz25{%ejkuY z{lOoT1g`k&Ncgz&G@tc*D0uI`hf)KUD3N%CHUN^tY18Z$;P=+M??wi;Bu+s*+yos!r}KdiJ-D9hqZ(m z@E7hXQKrN}rhTj*Q#((t{2bdV7^kndS&{Kl^bdjN=+|=2P^IPJC6j9)mt6 zaK3*t+5L1)`oL|6n>X)p=YKy!U&lJzl^#=IWNsaQXrhoG>5FCWF3#tBWPaiPw|Ths znHn=uT7b1fl1aw#6r{N>BsZO*4O4|X=i&%`8vRiTwM8zm6{6E2SZrxS(4Td*T5}R_ zzW4!G;cUoUR34!EwnWbT>Pxnw_>FKDaA4=t-{95vtC$T2VtwgEnz`7Ew1ZE=`A2f# zsC?7*;kpX?RQQhl9-;#kf>W;5)PR*tyu@F!U%*#b?S&&PhWPwvCv!csgp0`E!*125 zfwpkZ+#;pMXOwOf7-cDVY1B9DyQW2p9%n+O_GjK&?;18O69dN{e|GC*I34U>i1v4_ zX_I#dB}TS3+`PL2!n`}!e91g`>z4-E*4i}BK?6tVi_=TdevXzkVx!#%JRg+VFVRS468yq38w)@<^$1;#$T)@^>>XGc>qYRuUgQ2!A zS*>`@l+OuFW*H@#JkEqI%V0Nwc!qDaj+2AehuQrMl|!ImMhR&TVpC+c#M1TtPm9i2IjFRQj|W$ zg8LFN3_J#ZaQx~xI4AZK<1Y8H?DBDJ$XPqiEGZ2|(}u(6`DHX#MFRcKTj2Pg4?)Dn ziu<-X7T!Ny08v+#VRPGUO!^mw$IXx6W|{B!X?Zp6Gtq>d-)i`mk_wm=w-tw`0?Q-OugnuhXlv^w`m+Z zGo%CqLiY3ZLjSfpPXg~7E8FefUP+6e7k)(#5iTc5K85cBJwx z7e4+buGEdfoU7t&$M7@Ia3Y2675En!6~%0nn+SUy7)#H(=0i_aEsH)I3iWxGY=~6@ zd~-QKntLPQi_Lkoax$hBPFWOk^96gSU`3g`Ib>&q zIKxAHhQkr;Z4+;t`aodY7ZkzBDRa@cYbO2`>*M7T%PHyWG?JI?K(|llxser%V7sFu z?w%pWy{IyUjRU^iurFhH&unktE5@)%Ma}5CY$2HhltOXp35qFKq|j?p5G(#2qvKED zwj`mS@x73qUt7cLT{q#hO2XmkX9L)tc7c(#D{ZJz!6|Z`Xcmm-!z27`@g!Wtoy zGBE?)#tOZ@@;5e(x|Q6B*CPcMun4loJ3Iz;W1rt>haMKFP=$rCmf_N z0$+dI{C!-bVF*)Rk%rmpm02U4VJ=A<>r3v=!)x;rAb7YgMb;dHMF+HDUzIjHG!Vif zJg&g7@FCP&`H=4n_2txPL{C1oiu)^QHt$XPUQS&W;LUO@jC>>Zrf7QUhFIU z>};UaI7l&2r>N#V)PAm%dS`EO{?x7#x=w@igjHhZ(Ov+KmchTr2(SiWInM+MNQyJ3{Hs{nk3zO~ky$uKH$QPh@xk0UjYK*J=MPt0_?%x}bP$b27DG;O2uR#4gptM~^tRm# zT(m-|H*XH?OE+K{L8Do2`iRC4bBDv(MLZf-O0iE9g^ulmIPU%>!8JM74__>{hUeke z*un=RspQTgD6r-sL*^XY{(CEtdNEDkuL5#{SFHL^8|%MOz<<0s8_w<83s37?;NMsy zQhAxrc5E+VuPt-Py6hr89=O4)*6NVrh(7+$@K<(smSWqTnsk1|4A^KQI*O_tpJ3~fKOrqdgDS2`o`DQb-8(nJwI zHb*-S$N3I}Hkp}VY+uET4^PM0{;sg7JA@u zjoJFpJvoe5dZ7&W+(sex?W5K+G3-}j72}V+VBwM5gdC~BA8x)(e+GhJ@0U!PVX+>{ zUN^#%tx4#$D-)JKiDRx79$-2#-PXz65p?3eGcCt!aBAW-I{0iDjTn5$JktHCU`I2} zR$5Fkuz|fEo{jfa)$q44Lmiy^7QNMW!$13FuqX2_7M_-b(ZBDIXTT?(H}jxVkVf4Q;T)#q&o|BXLN&sR)Gb*VZi4l)9Fn{jNV+X!$VjZk+aleRBKC!i6WIgl$K0sr%nfv2yc`dPJwbb+FS$w5 zg`Tx9rwXwae%w$ye)EuDtYSql+c)`pgH>B7T%P}nHLW@Z8`G!3gA5Vi#yZljwfE4h z_Xu}yzBEOp2s5d}s?=5EK_wq7NS0g6(m(p)@cK)v@#0KaGNzNgwzh{lxfm9}ZWFL9YUIz;s)LD~* zB@NEjfzrBqkeDXyZ*%(j+H2ULyi>e>+?u0os-78``qt0_*Vp)-;^2q-X4f+RLY)WMmDM7S_;y}yhELvGIop2 z8cBYsDJ1GVVh7?y=t{c=6}=ZS=bi6Zb=6@=F+0z1e>Af}?pYj3DlY-uCoK^D$dEk_ zmZwoO4B%nkc&z=B&Zg*Svfw$*xGk*|{_Jw)-d&Vu-MlyyiTRM~V@dqrl0r(`pR(f? zPPAG)kB+u|WlOeuqw?!mPz&kcigvZZ@cNaQcA^lN;F-|jBltz7;z0fFVE4J4|773E z+!AxKmG`9QU1j)O?j5>)_{U6=IFM3$29FA&_%(hzg>!x>Yj;lrsmy%tUyr~GFq+Pq z3~K1@z;R(_JB{*hg<NGF)>I?5O9s-}e1lJTH->5;&HUCq5wwWOP#gon=eagGPxp?XOqDP0%x0rElYd)pqi*hWrp z4ts%!R65KqPi6WwvHbJ{hHQ@1I~-E_!^UAkG$r23rTa&g3OOu!xSQWhmILb`p~8fw z6cppj{fWHGA594Itbn7}IQ%-QmpG-h=)%78pSqRlmf*~^k+mST{v=A%NnkUz{CTQf7(e6=gfbEvE>omj+0-|PFj^8B3?>QUug-Q6=K!~rI4VKN}4%KQ9pDh z6vaf6WupkGo=6aUFIu$HAd7NVO{HTU$C=uO@vJW33wt0UxCEL-}kbjIfp)O=*{ zpizn@7PVuk>J@yycOPlSui&&VjD}XTd=&HC%6~73WKXh>qT;O2>}RAUzR5}l`QB8p z3){v@tFN<7Z}XW>);9=jyt_l2+QpDmqeOx`K2Aw5_f+q|y`{SQ4wv%JU5D!-G9*rCk|Z13R=?;ntB zGnX6l))2*x_;7zK7vh|=Y4rSOsC}yhy*G^F;&tz{edQ%)0uk(cLS*|9PFUD+4d8r;j|eSqKpq=t4Mvjj!S z-B|fYc-!^)gozCR@nhf9w?F{Aq?iP3nIClY0NtE7gp)%(!qiZnzk&PTlC~MZzk&wVP}2d zSF$8&B;_*0q$1mm!hTh``#v`dWNAnG7L0v54yNxvLOWKOW8`=*TDQcI+I#dM+*T2{ z*hi47Srmj^55li?pWxzm9d^%T4uA5sFQC_M`n_)xxM@qn)(Bq^S*Q#yUUICc*Ox>u zZ-bvdMB%PVH|37pLj^D1v+28n_$NKq0?#dnwZ>lLj150yIe(1A3l32KJbU!a&tvwB zT)2N9g^xb&0Gdtof!Q(Rd5L8?sC+^J3SZ{3h$10ll5+*tZm^{O=eKCprWjh)U-`p zDoA2xFnrPx9PPn-RB@U0A8_13tbX-uwdMg+c@=(D(zbM zjLMGdLY#Ole?;pOv(eDQ8z&;D^4VVu?0m*r_mxpkn*lB17Q>}ap%7YihAK?PaekfC zh4S?yvBG{s?U6r957g>WEp#`?6$L@$)hKR{%oegV(}pqTb})R>GG629V@_B6 z9h*@v@LuN~rYC$6-dmo^);kZeDV=u|lQN3Aot2@q)>w~z|GiFyrA1lGz$vRhQmF?|m+z&TecCkJH3%yYJJHyR@uVKuOq+k@V%e1lm4z$l@T)3e<}!)wi+yaZJwy zz%734+@^{KYj15zTiniTT3v<(byFzzY7H~H-NDY^TMy6r3TfRPTk_tq+ji)SF8-}( z8h*Dmpsf+hA@lW0+!roNzXa}&20Fmi3pGLpeKy<+c-wHrJ(iwMd(MiYvS9KW5geHE zkHrp+6VAB3{9>~#I$7vU51(hE$P|C7{MU}ZzXal~_)t7ICxq?kRp(75*21uOF_LnS zMT-wcER|`(mbFGuGdB$?B44r50^9cXgTpv0a2R_Vr9fT9lLTM51L?ac(Jc2vs3e{P zoxaz3t9zDY^Pf07Dq@aHwIi80{~xNntq=zIO(=G01kFmU1eF4F_K`%vRqHjo?Zk6;zV>-4>u4#w}eZ(p>GV!R7I8-+N!TkoO;L;Q`>bidb+_cQew0$K#Ej-C? ziwXOUFy~%b5MT_dQ_9I%ELMOZTLlj1WN{8}ux%W9`JO|c%U1BjTZ}AYOhCja5vE-( zz`qL0Ad|F@>gGt%C=E%FzF^GM94e@zSBe(jcEQanBWcr|+vG8WppI_g1zsCGCQ6aV zgfP4}s0c~>o#>y!y!z=I1=ic`oe&Aqlp#BhB5u86b6u{&i@7`SOK_-^llBI*EXGn5w+Q(S+ z7&*2?Wf-0FO#*MV^Nic+#6I}%;nV}oxr?vAHBA1Z2ucst$z5=lN{&vXb%L)#RrM=6 zmqfrL|NGe9FH5FJc7S4%Jp7QC;<|6iG10JG9Q1aj@KA=IX;1 z_fq_RBS{l5Kj7-t(kTcX>cV?coKq!!niyS7l*M zZ4%W)dlh?>h{m-)(!R4%4j)BkQy|i({N0#C`iyo|AC~(@A;peddIKgT>EqPYS|55ga zo2x@P3uzblC%D%&s>I3Pcmq6Bk`eM$f&+2UL0a0wN>R){=F>t zuTh>954NM+OAeZYD)7NxJzV0qh9(ZAQSo#YT2X(CDQT^xG{XXPPE>@PLY{3a=|Qyk z!o^%6l-%vfs$6H&_@y;W|91g9?VJJ~4W0P*-!%H+JBbvGh4)ouU5sCy$}ZmVr#`-$ zeQR9J@^t3F@G50;y_U*KA}(?L?{#Ra-Z(gFJCto*F$!#d-NO`N=GC*s09-Vev%Q01 zLce%CU0$EYnm(6<-p)(-zU~>0&+dk*Uro$y|3;>5oPyT_UEuQ46r5Zp%q|xxb82&( zaBy5LzdmL!ChVIC-}d&h9OVR1zn%@NCN97oxAZur5!>+cxq0y6;sl!TbPEI}U5D}Z z-`Vw1L+NdA7-$x{vKd;Ncrkr}1)*{sThEH~3j6YeQ9A-qO=Y)I2V_lLl z`UG92#<=dXrAs+74^~SrQbDbPWTiLSHv)6FS zp8l*n*q5zrJ-=bfe<)fCoC4*W0!L!66OMlUu=e#YWpL@54rmz3**Vq6H* z-Jb?yoqJf@*{68nKm@GnuH<#9Jm{u;692te31s`vFoV}4xe?#Y;HPj0tNL&eeiWrr zv1p#~UT?`cy&^QX-%8&c-*H>jeDOoB4oecg-!;GeV3mU^DtD%_-+G4J>%R~2ZRJdX z!xKl#YlGonl{M-1Rx=fYyHKf;Onj+~-PNpR{IFm#x+bjix4gE(@29`W()k4XA6U#j z+&sz`UN@%4O;@-|*YCC-Lf6qJ#FDlA%K+y$MNqC9j$sv9c%x%7t+{cKS;zGYT>O04 zIcp6}3=<*QFB>r3ry4dmoT1r^wW#aQR6PCI55l(X0Ov8rSbNbB3!EchjE^?;3EcM` z-^_8xRBMcUbOiLoI(S=AU3#yn41ergNk+&k4klh@?$t+8UZbDo&Pbx?Vy|&g{&O5E zTR@`W0Bfq|FtHbSm3bSA)7R1i6lV06&5N*w$UW)kCuYXJ2N1z(Yf7b?SwcA(L>MFu%Q96^aLgof#MD2Qj_U*1P|m z#G%u_Fs({~KQTDSHJL1=>hANPI_)Ow%#?I|x#U_( zf9f-wm+3@7GJfpIT}dk0dX6UO-@u_;p0eGY1>iO5J8l?{`0(#S?)0{w%*!kpFU<46 z!i+y`icACFuwtXo8H~XCgAJ6gS%*n8ZHQ~y$Nu=ApvT?EF))53G>y}t)&6g=MO6#$ zshCpG8-cgdu0%!u7K3fL6YRM99|x0#x!>t9bo;dehn-$RmJ<)*+N2$}w~x9|>-;4C z-rCXNpmGJz{$(^bzKC5OR)~(?1(=+D8`kzVVadhma4+RE-)kSkpMHFh^+hIdFNYD@ z>qu}moprqCdTq+Rwhdf9T2l5j6$pOWXPf%VkVJ3v^6zKv=GMy}1N(vme6>89Q<<&- z7uT#{)5_m-9YS|<&&jXoJ}r^zL;Y}YjW%RfS)*cq1{dul58bz&*)%6Hicg53$DwC! zjl2};&k0YyrE381dN$ywS%Gx#=ziYpUJ<&ssM5iUH<;b;KEZD`7gxC_venO{;IsQA zxLux#)3s!vG;SU3nLQuUcD!IVuQVylCl_i`9UyGvOt|6nfVo#$vr%i;ki^3l`hBXH zkFtoxO@|E0Dsnk1*p?0(`*yMM-_C*MUmY%b_XN5sae}ox(5BzLZ~64SZZzhT9oL!@ zOk=%u=^ht{FRFKf!|kP1qq5T=8SnJmqW^rg=QgPiEv7Ho1$!FP(yczMDYNQy9| z@0RM|8C%Al#VOExJ>h@(>Q0(+DhFOpI00I(FS9$}N5Pe`qO|V6aDh>9fyIbtATE+e zsdF3Xh1+ykAa#cQ{ckjdEU?7QAJ1b_1mN9y+ik6rPT=OjNOFCCjvX0j#+6^hU|r@5 zv=ioZntJtY*(4K~Z+n!p(CcMuJp0*&kM7u^EX=b$&j6=Y64a|HWXO(gWt`e zAVCqZ=|?mwTE(z8?os5a7X-_`xIn6t8wQ>#rArSTaHNpK?(RHAMkzgT+R6&L( zmL!<&&?fP*3N$Jsl3!7f1RH%4@WF90`f(SM4U9ZBadOTgw7JGf@H3k>T0VP{qvD_i2qCG<&< z!d4afvVR!WX8Brd!C{EU=mU<^BFO0#4Qzvk`as-rj*Yn2u6UnFQA*wvd zg2Aklc>3irKyDe@hMvH^LdFeBXF_a<3hAmJh3AET`QGl6d~SFQjgjoYHCta{i{Np7 z=zfsz9UsRz)c?e^ya;|R9^=PL%;3&{$)?dG^6<8*Fc1D*j$5Y|*2gT%Ma>(g6rwx{ z0}GF`=R@}3n$Q$l>J|eD!d_LCa1Qdi88Fa|6t2&DAOF)0wV@r{{H{YGjKu`r;ZzeDJo!&)5j-U#HU4HI~1p`6-< z4{T|iKAn4hn(NmVT$K`6*m|40_@c-FR_o_-1GPUvEIF6W3{0WQ#8Y6bd=>9689s3)t1zQkm9Nj8Bj-`}+L+TIFAqwjEzN^ul0YcH${ z-o!lDZxGffMeLBW=cZi#4>eAXgPDCT4ef&p>{-)LirIe>HWi1_H>r4-*4)a@I6Oyl zryqFKU9(~MBIJA?N3*|nds$WY1DqSTtsycy0{e6jzZlfuq~od-`7Ig?FVwX8 z>PTTa2z?@J2$k7PKi!g;*_=(N5NwA&w+w06HV3%WvJ^W*Gw8~V5{xnVjHch)Q9e`? z#Bbff8+qz>o^3Yd^zJw(Hn{?_CS79@?UgL!@-nvI)OIvFvJ&Md)pECjJxRTxM95?g zfl-=@-_4li9n$%b;U^T}0P{cY!A%V`UN$9V>-VU%6;{Q|bwXfl}J%jY-lp9|(Kv&h%h znNM7{2c~AvrEbwuSnfB5O#ZCL3q_&a+`>cbuTKKoYx%WdSI-vOn01bqT@!)2zf)wrZyg2R^+b;Ae`xoWowfV(pzJ4aW zzi$sor;nn~#LZBBGLXG|)W(vJX;Apn`OIgs0Sj_9Lix@L?At5NBv0LH*z#{Yx^*dm zhxZ8b4}8NX^sR(>n%iNUbTht)N@E3^jHvc%hpn4w1@rLCtG_Y-B`%iRLP|p=Ij^G^ zS=*j0CjGz#4ow*3rd>a6yX9mgYaaT8-#w)Sq`E&f+}{yJk>OW4jaGRkW=0@u8_gyv zhe7ID5qNw0KUQ;3TbMPuGreGCJgIaN$L+O%i{`IrM$%MN7q}aD6F%cgWjS#FZ#hVI zoq>L*cI;YP0J9s8(9~EPo(1${$DQ$TzkR;Ix;O+A6nMP7vjhv&07?$2z|$*-aMg|Z zP`uKY^ZjlE-v7EGq~DaS;|o}ae*nmj-Ai<&1!w;jGT;_>(OlVwpRhWEtx`+Iri9zv zFqN^C=KqPC^`9F&E{mZ*JL+-c6vYt0o60#!*}J6@i~Wl7?LB;okg7V*g#$q|l|KxvpOe!Q{(td?9p; z(hIVfb8J5DtZ6)Khr99=ll>@ZvL067PZ1$r4-w?{slC_nkbJaohAfmo>)8*n=u#-Qjl9LG z1<&cotfQ1PIuw8HaH9W8?Z^hc2_>+_*?4?nFLRwSh13Lg?w6bs!mRK%CpSKYa=uEj+#W43te2yt!sX1)+zB$*-No6{ z!f2V)MU1u@f=i~m!>y6EY}2<`yt=KQjX(L9-3XQ?-NH~Na?X{ED#UTsyks0ImBUsT zuEmu)2k`p7hZytIi=vN;)Abqlv{EO5s*3#Cpv+b@JwAYS8-=${k-s>$!-YauRC7`~ z1DLom2J@G=@t*H>A!yM7in(wZo%$5W=t373UL930VtA15mYzhd#pBp*t77VzeT#3O zY6pYnXK49451e|u922DM+2*f@aQ&47uvfzdn#6->$jwe(SIDizw_L&{mij{P-hn2} zl%#*fHKaGbkOihj;m--RwkeGpk-f@gX0K0?`_$!B^YT@o@^$a~$ zlz>GyhYJkDYuujsA<)({3$rxW2u`~S(*HZae&v<2t%eI3m{|3h@;9-*55G1^~z6Vv}5=EYh}0kVg|CH;@gZfG@= z@oZoZ(}$D9ltPNpKMu0JY3%*u5b6m`#kn#2z|pY=&yVC|T``<_$9vNb-KTiN zY#GgqRi!r9&tMRLh*iY&vw)3hFjz2+tVB6(URwm?Z4S|Fe@5lyw+S zv!1xILt@!Xw(9}v8hFyDpmVUiTns`S#|yu^DO|W_11n5LDC5clZh!V-PUS1WWxwVYr!%Nj5uBb59@3;D}8=P}(XRXRQB4Q%@;8rQAQ&dW#9=@rAs zP56GwUiyG|gd_RKO~YR?Ie7ed3O_B&kE*{`(%Q@l+fs=fd}=ZptINY-RpC4Q?QxoE zy^n*BLmRPbn>ww(6G@8Q?W9$j$;zkSW*^(cXq0RLGxb$t@iMRYp~v@;{nhJNb+!CCp9h6$`uazx8nlGrg2brJi3|O`#pk7u*8x-(2Lfr3}f_ za08W$i-#-Yh1pw&3~0?&2hnjoxJ0!KopR)1cI8tB+dgyIvJ)t+aXo38c3}4%eST-> z9ri^@5*%lx!kJx$@XV(bK6@CEX#YZzRlUcbs6WYU1HRza2s5htBSkmoI8va|Mmk}q zNC7&b@GA2rE^f-j*<})xe0(Y-P1C14je#u2C?0DcpTROo2DMMK*b46~>^^q|UV#TS z|0i&z_h>Wa%|pn|CXzl#3xBIXD>^kxi}vg0!zGIl#y7;0V)ixKxwe$%4kVGp>ps|M zwUrGQk0Hm4h7_2HG^J37bWetm%!vD}?t=tPsPX~bn&UX+TLx*^mEgqki)^LjXxPzx zk+RD)q2@~lw^AgI4z9~%ABNjg>ElEY-6)D{9tiB-n2A*H|C0NzstZRaCewqwRLJgk zpav=va&F2n^F$HdSz$^G{+P4XhsHwkXLWGPTSAk(+F`b(BE3s)Ag{LtXem7%Yck)U z*Q^J)anxaYv!a!)JD@->o}T2T3-4fqtOoBNBTsz;q3q*VQ(Nm1BXI6rV#dMaA$R{M zXk2GU;`eW%eaK06uv*}4xcUfLwj7){ri-0yUja#t=J@WM0{^f3G&|55iEAcb#vLJZ{^3QK)CzxBg{`clPqfR9o2kR#mFY-ASdJ5nf+xkDf5I6F?un}ZsYFMI*HoXctih5BoIQ#hs z2zu)a5hJ>V>T(J$jnoC@>tjgWPXoFgchI}ZSup413~1Ai!jF=_8f-4O(9i4=*0?Q> z)ozWV39i0ia!ZpcD~%|X*(arWz0WwC6idNzGM;@`NT;5Q!=N~J4dzb{ z7J8g*SQ#r%D?4Y}xJYEd=W+`g)HuoPn)orK+lXUcZ!@Bd-Zs6MPB5xi z1PgZ;*uG!#n&ATz))ul1W;!-;cM?*#ZS$2$ZkP=nHwxwp*8FDsOq^Ntti^CeU4~MR z_|pcb44U~Vgmjvu*bH|=@N*D>MfRZ(G0g)l+nR8~pae?qlp^On@-)zTnE2k!O!1lp zzehd;!pa=TF|nVm-jan+1q_Bw+;P};W4hqrdkhxFn_S?7Gkapf=B+gw$UtQ!XxW!Hk%#>R1RwFRv@u8n?*ofEu?PBBkB8-3_F}U`0eD|aW;w#!foafWCUtia&FS!? zfanz%xYmXB{H`Z!h5dZg_aU&qBpb5Ygk1P$S+;0NJM~?+;kLL7oipQYY;=hO`=b#< za(UUjN02+ankxpJWFJ4=2@M>#BOJ^)R1i`a_)GzAVy1Eo_KhHCk!?_P zAcMaiTnPC;7vbaIiDYslixfh`8y5boKx|3p(`YH>MnA{R6$j{TLHNkN_cYWhjvzi~Et@C!dbO7wfVLEZeWO*t zx+$HK_Duk-Swori(KO-yyPxUbie+Y!_tE3}4=mkN0>RSJ6nyA2d)$+b0dEta^XFEI z*SUjh18ng|({A4D#B>N6H5qoJ6l8q$CasIsKLet*^>AL&l`sCFWv67F$4)9{lKGi)r1fD6e>1cfC+)mJ z2X;N<-la^W#XG;@X=uQGiZ5Y;{s5c1Fj$-CroIzrGM;Uq?%i6j77dDNz5tf`&Dh;{mb7ki-@u%?RdZtwCn@hs9C_T91d{(z(|g$f4k+?KbaeAnUF|TE~aO zvt9kDSR}<(Moy<-!}FMVIvcMmAHqE%6|_O<6{?OgqKgVLjeh=PxDC7m4W3>{^EFer ztNVpq(ZBaN?^!rAy|EhlEce6k6`4%+j5xCmbYwrhWWiZs9A@v7~aamV90m@>bP zH5MkLvX>ZcedkPj`Yz)@<_|VgON^Qij)GeC<+x~;Iy^9`Wu=gWBi9?UcF#ZD?J1j? zMxC_4$r?-F(?1LQYY7g!t{bG&x#lgp@5cOXFsn3jw!nr%Y@|_WKu>VRmt`f4! z{~2$gxhDiBlgeFq5(762$AUhwZx(-<_zYdxob-WvIW&$G6Lx{o zmygW!p%ZGX_8_M_S)6!t6edFh%M`0*uA4L<;Oss6p82>TUsCuPp@%?8t&+0*ss*3G z7@k^R@DIJ`!`LH;-u;W{bNB|x-n5Oq?9ij$v**}N<^R}N(T(skYXlfsMX*<2#?UjZ z9Ux|I0tdgeH}qvsVd}X8zcEOcyU1OyHhx_5VRB=;9ITJ5R!mpwEF&T3e7)EOdF@}BV{27a-du1ldMp_MH%;?QjIMmRg9l6-Fn zkjw82X!Ow#VgIxOb6pj5^b^?d@jp?{{xB3~$I)i_#WX=9mGx?FKr3f~i}<&cmE^30 z_#+SbJJ~+Po$bP2( zw1msJqrp^;nBv{tJeamSpyv#4C>Kqk#h;S!$cV`xwxOFXjFJMs);wM>LfI~C*+Mur zUg%_eJ&&7nf+2lb33K{p!jAiy!-5+*w8BUfBVD}d|0p{1f2!Ut44aan$rK?(rAR6i zXFn@R1IbVtL@0!mQYuLUk&KB9g(yujM4~u*Es~;nQYuB0B$^}Dx8dFIAK-`MbI#t+ zv(|lI*T?=~u0dPyLf}pOqM`(!U&vv0M-JsIK^BoUhN9vGpK+BT-T$FLom#7yTV)cx zz3mNw2Q5iqi!3=hx>Kp}yBg``3vuBl%y`5?IJa7#{Jzf>t2e~*Qye|u_<5i;&D$Ze zdkX1aO2C=^|Ae`sEA33|<_4rjgP)WXobU^W=zFWsBJMSJ;6yE3Zb#EsLz7?}H zlTm$NG^C9i&HmOMr-HXjIir^uup#m_o9A;JhCeg}&jL+)yEX}yTWse~2;RHB3J9tz!l(u<{KGZs+ap9Tz6JIHEF!o{~qRTk8I$`Ex2ma9BTC2jvw}{qfKXmQ9h2xJY7x%|A4p?%BPYL|MVvVbqaKF*N3}&f|V2O_@&0m-u){Z|{$V2QI5f2Ytog4qe47>jUXRUKQ@#Bv0cc zRJlJJZQ0d*55Q>YILge4BJ)&%E%8i_ZX3U2K5u72?!mKIogxJ%xkSno`~&@ylK2@D zV<4|k2Al_a(`QF_z!OqzuKYnd{$e9O^u38oD2z`jI3;%OQo*m0qcPQP7Dl9<$8fDA zi2LdQQzqZW+L(pVsJj!j@dg;IJ4l~>OzF7aM0oK>735QfG0O!VsHLufDz0JZy!bfV z(^A0wt2l=4@d2RHSV?ER+u4C_(J(qXnMzOP!g`-#syC6Po~y&y%DZMDifZQe$Bq+b z%PMp|&xV@s9T7UEgYe}xYr1PN9vlVM&YI!Edv2!#DjawOAF^C1q^JRYmervdxKp<13d@x}K@IL% z;x~zUqQhnf@NbYAWpwRfvod{{&V6NJ?v}&bpHJqsMj6n+&r+Zl8V%wES&$xg8dWF! zgw~cLTZ1JhZ)1J0CIL3f|A2_$hYUd=9Yt3af-JLk^coOsYlmOf-YbIJag*WcOmCiJqfho))wFq1^SE+OBfkaJM&-ld%?D^@_qH@_PSc^=A~WvB;Zi(na0^W39Z01)MSLde9>(?W=I(|oL+ye> zyp!!k<~CKVpYr%ZlZ!Z{Zz_{KITMVJ0jQkXLOU<^u>*FKAUGtEH7M~l7$WwwBKb>6wcrDNx=DuGJw=Tu7Gc=oa z)m+EQgVwBcHEh>);i%3 zJeL_u*`1jb==Ojq*hx>{@-Y>f!ZK*y>U{iLCiqL5#efSnF{=3hy=a@rAN6kIl>Tj| zE2<;NZY{^$hD)*ZgoEr{%P=Z(aDf(q`(yZUIZZ7Wi!-Xuz#x-zZ1vRH@Nbqb9R9bN zm+8$VQDGxyn{^3JNN4uw&vq_vzX3d5CJTWh1Qwy}GFq@((W*%;3XaWIqmH^{n4feK zEfov-GmUO^T>lojYSswz`R{1^{*}i-=@E=%> zhn@Yw{OEF0n`TH&H57t=^{v>V=$PhpEL=|J?073fj23hsSPglF>vPKjF-c1}5u zqeq*SY$Kg~+nKYA9+BIn5pdwV8Igu{*JZFvTq@jN1I0`;c0$+YFCAlr#=(JV> zWc63Vkor22!0V;Z50}`gk3MXqx+UCr5yk>+YH<4XU$|{dpJ?OU-E_MA09;DWyBWqkU;Hg8d63+ww?a+W=<7@iEz^RL6ZSHG}xp%2$u`JTy?T}Co9r%fJ; zSQuu7T5|-}b;k%&R5*oBL7$nyQVDo6&H-w4%;D`}1ELT8So?PtFMj=vzl(!FGtZu$ zxD1A#lYumR{9<_MdKzO(>(F|HGz=?$$(zhmoo<(5hBJq{lGl=jP`SAPHk6cO#midk z7Wa_n%v~sP-UN))Wa!17V>qy=79VgE@zFdNfkz&Q6CCH_xf`aeE?OHOD(QlPWHh=? zkH-(+w?L@34>nut(Cz|lP)pPTi_a1y{*eY#XH2EAyEplc41ueuHGs4HE1dH`Hld0` zRSl>1AAjVw3WOd@Ayu&rtWExn->c$izfvn+Pxpay<+>CaR|6J4&%_hkEZK)0Q|NJS z3#Zt;8J5Tl=ISn4u%6LRaE7xPN!AXa**TlBd|MqYkuYYv67}ad$E_`-?O~2nW*Puiu7j>4)&RfVoXt;v6*TwRUd$sUDk}?~Zq=M-gHOTue zq4p3{`g36_mIjW%HT=Mulppc}BVjf>`fne;IJ%TQx-tm|65UUqy zuq#q=!kl2Fz%s5CTqvU{?wb-b82t(-YaYW{FTXRd^ifc>WEi#a2PnPwDCR}p#<%0l zXlQ2>3oX!N71vI&@r40U``>fkAowWQysTlbWDjslMtO2Mw`#d<8;#(F{XTT*yTw{> z76F^I~LZI-Q%6k6kz;?B-nhmgSnsGj}G%&*cr!KT(UWZPJd|S-l|T(iIRn& zIbs}r&lG%m$Dea8^4nPL+j7+Fj>h@I48|n1ha0UofehCg;=PInthe>!*4!2Ljs2%_ zth_E}tde6gZy#gAxH+(7tR*OJ=)%x9h$fwjc--N|m8JbG1q(Lm~H)FM{F%ZDDZXxS!2{}D7dOW04Hy2}Eq7gADy1MHA%f{jK&V9-^M<|&Kd z%2*>v{q_~dgbt>=N9y?R*@7=;=xCD9Xl9*B6>QEa3u^rDC?1-)i0;Q9W>>oe=J?}9 zsGlwcWf8ZSbeKFCnXaZl*8|LP!~vSOZVK#2LosOH zM)VB-hC{ZVWm>O<>%huHI^uN)boKT_)h7|G^N|E)*MsEv^*ok;Yoxr-zi`u*9Z*!M zK(fc$#nsfMQ=gyY=-Z-ninw%ruQ&|0=D$eemJFXMWzX2D|_&CF|Sd9`EGX!BYXPA{GgUpGo|X0l6Z zKa+z!;Yyr~=KwnQu7}4AIsCGHJZ;gIC(UDbP`dU3&vh9>y};;vTn60tuLEGym=v~r z>k+#9X+J1f#E|Rz2uixSiZ3n+rAhOGS@ZYhWGvanbVjM698=A&r* zrlGXbz=x%I4#(rU!`NY~XxO?th_Xgk;D>4ZScv^`X4};a19!)vfqW{&J*?u6*r3>0 zIH&r4-YN3_910`u?S;j*`_bPso!czsPSry@fwMY9^FQ%8rgkFynst*cjQ@yTih_qL zWegg>)!k7P6{O@@%hIna=#1NaKf%gSIJqt&SHQ<6hm}#O{1Drrg#0 z@nPIA)aFxJy=EjW5d1hL0vlz*i$`4ltGnp<#fHkXPvY+rc_QB_Q`y)uUpf{Oj}lW_ zaq5Fr(A#>9-8;XSR5zF4v9AjBJ$Ec=@CU%9buQkiQ>HO8HuN|87kl;a8MochoJgLd zfGx=WJ>SHRZy!w)S_x9u#KN21Excs99rsMwJ4Ehth6%#6F~Bip_DFI%o2jruy*QTxv;cK3=VeAP|hm0zy` zxyko%OR*Z|M@x575=XmD^Wh z=4mlJ$Q)0NRwJ25p&vYQ&V_Ya9;Di>NOopV@cgrSC^%mQYM<2D-X))y%XJrs{v*lH z*iniX7lg2z-x;2fkR|6`?re7aa;UgF8F$!7F|XI(@qm;SZTfi;o_Wn;x3842+Zloj z@0ScM)ZPPuZ|#8>jRmPa^Fi-(IlFpu0GoI7EgPwqDNdd=iVPL%P@J<)Ty^3*inmI^ zKYD~Q)jRmkj*VQe@R?N{mr}S&3Ees(?2TE?n@r6^UwEYu5qA;C1 z_kItBNhYGb*AOZSA4=TyHKbQSsB*Ch*J}R2{EM;haDwhj@0+ zdo##7*NGmF>_De40|^ubx0vlpyr-xKoqwZo)%n%jrD1b$!|H#c4h=b8@{=Lg`#l8) zC<%PV^^57iyazb2O4v7rNI^&bSFQ%7U_$sy{MXVUGH-IG*IAV`)#5&19IZ$%CSPJz zH@if-|4D<^uj^p9NS)U2Dq-KcWoX#arA)SQ7H%Fa^w!_Zgu|WBP;dqR6!6{F2+B1<{)*0MdigR0t*^I>ntF%Q&T%pTE6-t}$qzJ*f6OK%T;|_4 zEW+sp2{=;s4aAhJ!uwpd>l?<+!5Q_TA2wHn)-z`T^It>Qcc0Vy%7xW zuZ26;rBN~F22L7x7qe%-6i<`M!Ie6t{D{mpv^%_*@;|2I(E*tdDEFSfQ)0yRj5-b0 zKYH=nfM%|0;Cr+ycc3`aR2a!>G33fw7P3%qBLA9Cm%@&a;x!d;xfx0}*T1oR|C1u2 ziUfsc5}-FQ2OAEaXJ@wxpX2UfSn70=1tc56bp0Uy)E!4IqF2~U)D5BRGIiojmV*9B zBZ19z6mFeai-)P36`q<*(n;OI-1Z0)`~T!+b_KxehtbU6@-fRlQi&3S>zHWZBM3?P zjS`FZLD8y0Hr8ex=y$0z+o~|8>~7Ai<`!{j8>X?`PIp}LFbOB@j=+>339#+%D!6%S zfsoU9jn_mg;GF8dX=aw?{JRyhKx!NKX7OzJaU_(~wTJTe)}IlnC;VpLPqeTLtb}F! z9m`vM7(w1e>g3iRK%O1@xVNX@qNw}}+ZXX32R0sJ3;QkDh}s;;&f5VRgU$C*@Y(D6$k{=6p4Tx*5=!up(0ak8;?3Cra|k& z_q^kUZ>-~05gzl1<>p@002@zh66O)O@ak|pR@{!Go+{IYyJE~^-PjfJ8{N$0K~Z@- zdM2;Nhn?~BUt>VM3yTLQ#-L!nF;L5u#hL6hKI5KcDlo%DU z`Txa$%L!mgY0ufj!Kcyalo4;0_6gpo`od`;(;hKZ3U-R7u-4Klyi^&@|C(OJ&s_{u zGi)qLo=_nDgd$ugbQM1RilKeGq{zZ(8Kq=N!+ozPs*gH~dZks+`tm%k>R&*QY6K_g z)I#p~@gy2yJO&CZzhKX-O`xcH9hW?rC-@#h=_jX5-F$L$4A<}V2W>nCqw1DaJlIfyx%IN_$Dn*ZxKE8LWnZws96M4AkcI^k z^6>DdKdb#d2Hl(=;p({GZ2v7;c2&B74yCqeds7OIGZC=v9#H{LZ~E^uY{o zJ(_)E5<4pNbIxewvLk0}g?(QEE127iqBoOCLG?F(`PW>!%OS-r*C+E^?d(vEC5X%Q z!R6{Q+O;5={BDI37SAVLNn>c&4o9^~^GNCGCRlfLACw7y>;6{W(^=CXy88?^|bmG}p zn`Vr%&VcXc72=wl96n`Y9Pg2xh9k2cVe*ET{N`9As(N7t%lvhid|56iEHXsn6MK=< zeug>EPJp&=K6doH#UOqzup|s$ zs0=;A-sf~yI#!j=q2d#-_>5W!IN4uEayRCaN?{C(>}sUARv#h9*@3gVe)9GEBPp%& zJ$5S;K>4XgQNRp2&|7%{cdpZ;Pxl(QA2MUX!gwSuTI9e^8ZO6r>m1a4ewg>%r-W_l z4r1-L^Yk_FH9Czsgo$So>4U)y<}%ljvJb@I?=92Vl#O=KEVzQJPKSaGFldt!?jf4( z_^qVa^1_Xae9T=A8mrNaidJsu+`gJU=Fdm-fy~L{Av22{s19t3hVZT@Jp%sY&|0GM`PfBiszVZv=K?}9$ zRpL*KeOiU`bL_z{CYXQg>BrIyKCMQr1e57;>)8zKw7v9XPs+^rO$FA(+|=gq7} zwqq~3hvjk??&h(xw~SG9&2T7q9L`2v)q@t34~XYg=*!)O%xj-H_ffwbG^Z4?1ge*WbNKAy))R!uek5;#B<67|DKIIfZ5eZDEs)3aSo1#ctoWgKQl!yLS5u zJCLy(mPJ^=ynoX4?#Ve=cX_#4Ai<@nl@RSQ9Q3w{o+qYS`!>dLX-g3`>kV$8=iV z=&Oz-IJXIm_;)ktCf;V-MeKp7(X1$PafeYukWw+IK`8PeXTKP?m5_t(q4y;GduxVhiJq0q(Y$2DCTVQK%2>H*^ z=Le|eum{;r_>@Z}ymkz;jNN&IuZiRtJDrU)9Y8w*6=}kdEUd4UrQX^!`t!sYUVXmL z^mFH<_bGV_6FP9Nr?g1iZa}J+JSeEi6`EH^z_N>KWKp09hC|Q6zBlvn&=n`qs!76k zsh8k&=4zMM@x8HOe6M({Qt-=f=X zG5+(5L)l9Od=9&TQ*tcX6NAODcwjN!vwc=maNmQ9h38zV@ga6>Y7o3(&eWpwA5NV< z2B%0IVAhq%>|)_5nsVp9IAW}jdsw~>c9i*IdI=8=b+_S^i86*S41(?E*U;gr5o-#! zC09!gnmacb%0lMS9my2Vmy~GW$SG)ezmVm$hr^(-1mXR*5kACgQE}2&Hf!Aw+#{XH z9sK$flne%v{;Id=7<3nczFUF#S_m6<(40yOnlQI@lK6Cg2p-l85Hb=47&gk2BwqDm zZ|DGlPcC%3PEUo|zZjfYy$$mB3hwc_W7&amO0-DI0JgsT!S3EL0GS`!^zB-;XwjHO zlv92aW`ytLPn%7^{;)Olq>o|N?M7CXaSB!R7Nf(DZq|D^8$;i{$C=sdaMz``SmF~{ z6ST9O*3=&d&$H|37w)6n7pK9XZn33?z=A*HoCBLf?y$bYTUhV=X6)Q=!`e1p7Caw& zNj)%H;G&&`pt&V1tIru6dWPV+>^I!H1R$;5%G8zaPD>uFC8ckS_Bh0_UqUa|HS#!+mV5lz1oNwX}5(t*1_FfrgU`TIV@HN)D_5&cOi!w-&y z8&Kt#D->BS@K*Y!vrmzYIKkA16HEJn{%AQmuDk~`2T7CPP=T{?Z=S$lGs9PLpO|z0 z5vaWWAJZARgr1ro!2n}Dyj^AoTCoHEJq3gG#zKs$ z5_4;5_OZUFu6T2B0xIl336s0O zvnb(nD9@e6bnWj#&O&=yCZz?^C%Q4K;42$bH5*T9U1rBJWMS9N$>4Q;I7M%FU=JN7 z;d`+&ERQUKpid*PY(N>fL>p7o!y8P$(wT%eKl56tOrg`Ja--`sX_fetuve9Wjr9PF z^G`GTgQJ+py^X(Wa~ekp9^=yYS*-KOVs_}0D)c{;qTW%2k2Xe7)S>arc%dy-+t#zE zFYHL~=YF!DFo9KlHl<}kuVQjd8W?7;plu6ENM@QM99t{{clO1R8h;Em1lD$;#u{o2 zK0wx78^?sa@{(31^okN(;!3$R-fo+~hOwfP>&kGr*oeI5?`Bdm>)>px4j}VmaubsA zL+M$Twz2~5H}0Wy|3-Xavz&I;O=mqXC&1wFaDfec2el-9=yOvdfAOOX@k^(%HOGJj zIwe!j<4ZMX$7$0=-!##Jujk=XNES1=m`meEZG&MKia>9tK3FFH!9(?NG;H1@?peWZ z=!h?bv}uxDPGla0CI*A^;1T5WH5-oA&wyl|LO4;QPS37HlEF?l_AAOBjJrOGgBNvR z^@HOOCOBoc=lWn)&OG`(`xl?+c%84!XWY~RA%}Z^C5XBzrV+Yw&w7CkS-R@-Aq+8#!!=bEYzx)@cBVwXz|@#3@n>U?;fupvBg}n zzmmp!%%@qtY{xRn>jM9{MpV<{w{7!Q8S zNB;X7oFm%L$=sg^)=QhkDpNJ6{F^lo@3Lr?v4 zVW!YcxHCN#hPah;3yv3)=ckwK@A^RKD%K<8VkPu(9Rl~9SK-d*!rrmcpQa^c0AE+c z?%VGZGEJW`Gt!5OGH^ONn5aDjJq8f?~}5Sn>Ollo`x=bFuX zap4zf*k5`Oj!xf5=Uo;k#_B|Kt?t_{1$>AmpA7>)4@(jVX>jCv;VU{&D+ymEo+d zJLIST=G8sdf_Ah8o=Q1^E{Ek%Ca8zjjVUJG6h+c=s^q@ksuq2t$-vET*!)H_jp(msPpjK767lLr%TP|4o=3jFNsgD7jhA6kya5@>I>y0gZa zQc4HlNX05_c;P_9el8I9vMtP~CX*J*oxu2E|1dkYhIv*TOOXRkTnFfW~?*#Ii9okc?p9)W$oJzRa=N(b}j zlVwB~d(pI)RQ;B+gBk;byzD4ydocuVtU3T|PF@rZPtRpzLmYU8XaBK)c~7CW-wAhp z9m(cgxWKZ8KjhOU-e+B#f8Z(0zx>cQNwn*^6?^#h7@hp1PlI0M;Z^TEXmXUImL_kU zbYu>_eHw*XS{KB>YX(w>lof=|2`5Rd4OE(^FnvVu5t`wlDC`S|!U^Y6%>FA!CJMg% ztaYty?&V50bk0yRcfHA`6s1GspKrXc^*P>Y)f@JxkU^o+epWGe2vvj`LWjBpgshs+ zpYj<_M^|$+w)+DA%_9Ix_S~cD&{r(@trz)Dl>^dkVL47i*-%zQ=UmpH&&D+7?{ShN zGi&07+{9c}8@MD}#1|A=GQY%0tf_hk8Fg;0Hod!-o)6qAWRfJY-)A8x%znwrR%NkA z(OoS4P7$^honQyAZDpsj-?Mea14;7tZlM#|!ftJsVPi}#qrr?)frGjXdJW`Bs?-Ip ze$L0=@h)t!WdcqX*@AAU8M{&PKwx{1hiczexVkqRN;3vfg}~voipU`8#P_VOSd&aP z4u-)2lgP@k74|M%L2|qa#hebIaMO3}yXiS->e&Nt<}|@?3l&ne{Q<9buB7V8E&SW8 zse*S<3NHM22=?~babkNln&&M)T`4^mR}Clvx26QxFjg62SGeJt)P8>KZLxUhy~%87 zV` zU65G*fd!N*a!zLJ@zu;!sMuD(B3`uN%9tFgdomflygW&i6v~1cq-d#^7h7iIiCPK* z|L0~TmRRit^R)smvM7u0cG%LWCo8D^NfoyA&!8(krnpJjfz7@$owAGshRdPdRMzPL zW8AK@B())A5FqA$jcz4X-653Pc@dA^aljX?BdF*}G5hUrg&KO!jB5r~2dF7xfq_aUDOoM8UE~cktN08cxXzEc6lUsNtC@EICRT zup<)|Jt&}OTa@u+N+i05O=3ZNwg5TpVml3l_j1t6X8cXPyS2UV~**=p1>8H6w9 zEu}=eyS#(g21A}6;hTfmN|{@j=)p$&uUoHl|@X6f6YqVab)%?1AzN zX6Z44&Wm5Mefw*$G-(aoKV1o7r)|jjpcp>9$|c*%KbY9|7`N2;Vz^kH6n8%d35(UN z<;;CvF>?d)adX*8?^(=9_6eMQyk79NlylJ&S@YzoO$3CbX z>tcMb9w@E;q*b}f-=qpkCQ%+7I2Y&QiMwu#kGFV##3HN*O ze6a+rS{_RIyIPq3r<1JM+k|Sg58&OtWl#|`o?Q=1gX%}A%($}&vmCCXTJCK&do@sB zQ$F2)BXpMh^3bqtqS$WJBp95X29}>ZMT%>TDLkSb3TAHv^BWB;RWbz!x*mX}P<3+N z--BneCcwK(t!$k4atIox2~M$#g_-|rKEV1I^tA@C`_9j}y}Ao9PU{?0ZyZY_+|vZU z;{(x$$S2I=a5zTA{l@kSuW_UA4_vR?#ll@8Nd24`9#*SE=leC39i7j{uDHjHE?j42 z>9Lq^>q<#y#i;(h5KSyapfmp*_u}3ynw;qXt9N>kU;P5;>sv>%79o&s96?=VUt0~g2r$M}$7I51){ zZTDPC5C5u=W1c0ydFEh9i~WOJW0H^x&hmflC(+99=`gEmG}|F}78QS7z}B<}Ftybd z<%-Wjwcy&)UbI_WxKa{&CkW5NoGgBkq&>crmgL7Zz2VZ^=Fs8A8dy9E+0E!$lv|!a zehxCc_6&Q_`Y)fm6~3C-t4LJL9H>EG&0|4y`v8o{+5^penp`jYZW$mrg2d0uGfITCe zEfSK1eAj!c7Vd%GU^;(I%zhsFjZe1UMZ^UGvK%;54X78#(+ z$t`sUi5_E8@iKs@^YJwFjX9`49tzPP48gG^6R`V%_+F2|{Jb$A4$*03#%C#S|705K z7|xpaG~qRQ3)t;{iT}E5Agui9OOBE&=;(imTxQuEyr(*blr5tuR{1M?FjO04rai!X z(*$~#F_ncG-Q|1cY132JXy{Sg#Prs_17$ZU>RuBDV?1iuC$9;xaa{p57nL(ROys$$ zLYSkMLRv?Tz=%iJm}I>Y?=dWywrb=+MNB$xSx;4WRvx%WNuH_XB_=! zwfN%eL*#Qv0d`xp!tnDC_;clQ?Cb_T&idA1`q#dl+B8q`=lur4$*+QAz^;Z>oQkID z22XI8kZWpQb`kXwmeIunW8WueEkBWQ>pQrhJxAfw zbvfu;p95v{t+BI9o$f_dgM>;xU$AW`bbP$R+GBm`TU8a`8|Y70tF_@}=LH7;@&)hg z0VXMW#bjn4<(3#()3rX1WDYoi-#IxFMW?e7?(5N8n4#@Eyq0?MoFMd^5$nE?C!DXg zLgVmMm~dL2!drxMe)=Aoad`y2TNQ&5OJpIeS&BqXbLd&IJ{&!608R=7F}aC&S^h9u z#Zh_YRv)~<& zI>uHm?_jZEJm;kGi%UMK3(*p>aQW|Sn6#rDH!1Do3b)F_cP^fd6b~lzVK1y~ci3== z{)<@ho)$KG@($W@cn>`Oq6AF=)9CZt(L#4(7(2e7rzERXu1~LmEe$oIeGR$X)BX`; zp}48qU-*70jC;?o7&VVm{CN|*m-yoFnT~wk%%ha1B=DtT$h)&va5q>x8!-cv~~;H3)$=E>d_Rh8d~G&%Tb`PFL!sH%$wvS z@?&02p>CCW{+pT5nH-eN7qqAG>ju4NiyU*9bjx>asJ9gd{yjobPVKB~(jfMCUIYX$ zsKTpH@*rc+65-uC1yx_=qiy>t5N-a=uevoG`y@0m-u)+@8*U2v_T|V64Eyb0pJVIA zNcg&XVy%wtPV@{?g#Ui0Vc!B@*nTOOwRXsX`+z(AmRU)-ujL2cZi{F0(%iVOQj*|V zzKZ^Rxr?cVlc9Qw30smKN!Qn{pzj58QDLAF2&)hua0hE_Fa2jE)h0tA();w)QdS$;Hx?8e}mQ10bL;le&7>(zJ0C zz)js2m{ke{cCAD_P|1xQuL=XT1^-&!e=ObGf-5bKB*QOR=yAlA{Cg4fzbp~>TRm*; zr8YKP!Vr${xW_y>37Yt=4P?$mllfCMZiMF`>dbTGIzMMJv&Kmz(q&@%du#AupeH?h znFdRRXJ^&Jk9_mRc$gW>_$TA_>Dp8maJ<-t?=JN-+1CxMBVEY;vkV;A{*HoYmt*A= zG5Tp)vSscjxR&28?*6kA3&LuIZX1s#HiqnLUM}~swwuMbji>*7YGB6-Yc^QfkI%j^ zpKTDB=xZw%gT$?k+;vZm;m}ju(veP>;P;X>iRZJtH=e@Tz?jBeSWXqj&7#6pu5eUN zhlMRB@%?4-!o7Y7)h%&@?3GoR5?UgX(#)Y(Qqu5d)>c}2AO%Vi=5S%{!g)K|jx(@$ zh-&ANd!Vib*5fbGhr2^WRcGF^_28H`0LW?YNLqcpR3Yb*Z+9)*eI%K*$1v`m(kdEJ7zRI#rE~Zl zfAoLiQ+5r4%xNi9q*H)Oe>k@B=3=-g;{^tPpRuma99(vP4#oV6!zW34bVSpdstr$| zeu6f(zCH=e*N}d0-V0stjVbnKJ)83061rSAGUpv5C@^k1x@4|fgUW#ogC{CWPx zvP1MzDGF^fq^a)nFaFx*Y(CZgJ?cqj^7pcQKFxPPVa6Ra)@mV;J0>tAo}q4p1_^5{~aZN_RB2(7svo@vXqy&EGJN z7F}3~j@et${7W$ShYgs1Gv9_J2kwE~W&=vfOr^}SEao!e5Px=u&||s%84V_!WZms6 zsV1NR>#j>pKa&wc3mnD#hfq_-wJwFAwp{vF_EdOYjAO&+>=z%tz82im{$goE6?tVh zqDRh6v9{G2KG-~vrpL^sygi4(KD$qBOdLFq;7H<~4qN@^9#gO>#nFu^Omoc{P;LKdZC6ZjBE@aquKv;n>J>IPXUw)O6 zZJZ2$_K6rJXGqi6{6T#G&o&^N5ZETQnS#p)Qmd*1WehA}wK0J-D!z!m?WrLB=aU7$ z!2n2ZUqC6-A2U6Hg&Y3WgS>mTz->PbIKRvZKP?{!jZ$M+^brHFiHW3@PY`#0}@FWN*dB9bfWW$x>tjqTo%S}86}qdhZk@uY$`jb1 ztb*&hRi-`Pkp*sjml(!u#!*d2`N6X+`3dDtIP0emEcfX3Hyk_ALE0%2GL1j9SZ-WwTjOuQV;IxXhATwM%qxf4(Z~Y&b}tbcmntHkPff)Mk>w#kg{= zH+kJpgUy>p(j4z-R-CK_l~xV-ad9%1Zt#VQ-!oXen-5$2IDiju`HF3CqTuzvE}V36 z1-VvqaJf&B-fY^-d(0^1pKP9pTvh_j9CDhe4ju*bQoC@`{(Q_?I-j)CHpBc!n_##8 zNV@oW7~O0v#_jn7(D~2-UbRsVo=d-?XV1q17v8}xx_h%wnHZ{#%ElF|fjhVSKI|L3 zgV(*7ijO*kTz%{wyksPBt9#y|M~E48p7CUNLaeCl{wVhK@MYdjVJdzelt)jCC-UBN zt9aeMY#l~0LN~L2v^uT*nZu%- zsyMy46A(>Ln4h&YUDlPSa*MTaAln!gd|c0-@Q>NK`?+WrUB--)k20;V%J`suAN)Hl zFfVN@U~0<{`q8n80%u(2Eq>OqK+Eye<=}~jc5cD$AHx_-j>FG~Cev}XCJHwcbdE+5 z#5;Us3Xhg>oj;YqE>sp=N?ziHp*dh`Y0P3-Gx*u|<1YO>)iWAiv&A(p`3=J=*`tzA z=-e|3ex#n^w)w{hEY)~^#-i_RTJvr&IM%~Yd2$ci#;+o$gCn4Krvkp66pl_Wq`_eO zAlzCxh4!r(3UcxTaDc*Puv)s`N=x8Ee10_U5r%t9?;}c+9 zu1dw4P9o9I;gB*d4Z;Q`&?5Oe&}^Jc+uhfo)6~iEs?(9AB&BI@+DKmUNgzv-0~Apb z#fjUP%jr})8YXZ*+&-hB-B9osI#r9TQ3P!wz9n)8Nv({fui;<$mPBRn-X}0~Zwrja zNFN;l_5n7;*#uDkWmk znH0!8vYPuU=PI!BY;f7US=67mfI1JR!npz0QRcHb`|9u#o$pi#Om02WcU?oNv*J^|57w z|MvBGWRw04CDAs-l31P%xwQs<%1C3FsS);k5OTvR3RJr{2tDL&;J+`f{DAL|@P5iN zxHf2<;O5a1N$A+aqy916q+%%;uKS1&R_|jKqPbSPqLNVIzZGOOfFr%@Nz!z}u22Cw7Ftw-o4sk_>O2pUlkTO7Q4@5rw-YQsu%;6h2@a7U+xcn9)2k znX`zDw_ZTyj#@5tM+mj^%bCj4TKA5;E@Veac8kA}XaJrKKT>G|cQGgp`n(twF_g4(){~BBY_TwNo1UUf(~U ze(<>O>%Pu8uh;XLBRDpCjakc`c06@z4;}vGD0n}kK;p{+n%!Dvy2IxTC7%6-?O6vX zK}a(>o42sU?XQ^p%1cz~I}gG#pRt5>ci21MZ7lI_4cKmch+^_jcx&Y=Y*?HP#rpX& zH`hWIzVQmlC}D&*EmFt%?jyKzc*H`#?KP0_;#G8Pdq{ci|*pvZEK*?a|0bv znT4Z&PA03v0{85ZE1P2fLSO-S^FDGrsNXV(AGzfN4r&zmE=S_H!H3lF$}(x1lWBvG z?p(&mQS%}BN4V(fgD!sHo<8Qjvfx$!y1~o=LZ^IjQF53u&EAwQ`Y>Ql$sTW6owx;h zmx|HrZKcr5onh$}gW$jzDH{9MPsqC+A?;*cOyZr`a$gIWG1;0O&lIw#HplSKs0!9J zejM=4S0`+T?-0=Y%4T*B^e=pT8IPAyj<&zYmSdsV@(^xRnD4fIi5*o_~u zz6>E1A-G`zvLpSTWNjf+eS<|+f1fK3H3esJ_(X9!;&z^?wcUY>a_S_zcQOl8UO;)b z=Fpr+lR(?$DR%8TfX8hkVExCZ)vEe7G;-Dv?6Q%@%|^+{GlUJY+-~4uj81@uh}1k-3!ja)8oS4B|3%KtXV^s zXLRubHj4Ki--}IYt;~L81b(Gq9;Q(#P` zlP<$X-y)i8?hL&3b9T_U0ewb?^Ub#u&@W7hvJ1^nK79QH|!?Z9dZ&H-wV6G|4y>}4F{p8 z$Amrl_5zJwTH{O4x#({@6%#+X!ogm1*ncd5ie62_A37nN!{T;M`r1@l_v{PVDEkwV8FTJzTwI$fICiZ>?evE}Bg(ZCbqiJ+^=`b$# z=zG!qH*;X*&v>>d<{T!wSF_p1j2`tp0`Ck}oYty~4fhpj>)+jE{JNXv#Y=#3)iml4 z8iHS53A}94VUm`9&g*SlAj}&2WVJmE8tcl@`tN*P_2>jUCNrGsBWv;Hg#sLTe>iN< zkOsGHYQjwU64ehif{!Q`eYPi}{}+9>s#6?f{*{UbTLb=cK+ zkj)A>1`_S2l&F$|b8ha2k`61b!oZfM?owk@J_~(_)Il{-!gq6$yTHT#C+w-RH$aWK z8a=u8fK8DX?taOS(DF|^S9b6*XLo5eJv3X+#E0fHs~dq(BL9~iS2IT!Sj<-bI?P^6 zMzQd$J=Ie*7vZb?*%&=nkF4&h(&|}PSX=BvHjo553u&mN(r-Ja`0dAJG8yo84^7t^^|avrNM08Mmc&4$FD) z6@JGw@Nq)7Wv@X8N;=9j7em3F(_(FU?ayWImg5p8pXp5Wr4y^>%Hu>O2UKSxVQ2Rt z{C+APCI$S)pMQ_>`*uCznolQEVWAo)rM8IGRDS0})_1VV1p<4MDPTg*L5yrothOB| zWQ9}`K%i4m?lCFuN#hMB{%#Up_eWkUCLJvsPf*YGI0!MdrLft~c**4}dJos9`*q`4 zOHLq0K-^V8>4e@8x6R(AcrCTq_42JV}O}FTXHvo=J7zh9XRv z?n}=`&Vu)crEpmOfWTjOr^hd9xucUc(0tb>JUFz1@%@$TZS5+2VEBpsC%G8r{h1Cs zw$EZ!`*q>E`W3ccwSq!dJ3-p?2y)Uep%ZnJY5qQcR9DlXIQYx5hScL$bsPGS_MMgL z+(O$MJy3I3i%he&)47cI81X|B@|W+R6)(bIRooD)QSqVk8ZIDq;wLM=bPB)y73N8I zZ~i@fwGseQ9iv+-*D{R|*fZve>xSUf|L+4sU%@XP=)2 z^7rgN0K8XV+_vV*Rd(wCeJ@ON638`F1Sq_WsAXK)frrVB$~p~zp!ny z`|(=zS<&eFWNuA_Gh2J6kJbBzu=x?eG-2*N7WVHQ+ROTrTZ0Uf(O%$1b6!P=06DgA@qi;e=^Tc?CK0 zwJ>_(7WT+6Np$gh6h5|lkCkJG(xuHMqS<~=@Jx#c>Xw+(vDaX1?m%0eYqP6rb()Cu9XoRttgkv!aH-S}iz} ztA660;RmW;T-;86$|&;yP`Rlo^Flb4rn`5Hgg< z3VHjpx^Q3Fh{kT;1buUonDynEkQ|+WXWD|8=G#_)r*~N5M8RW!y9K2_6@Vj1u_b*G zlsiiePHMTb!s$!tquxg5U}gv@2}9}V9D()wzLjfFy2WO{+X(9OW!dHT9(3gQFnVdwo@*Pb`1BD9h<{GN)I*ZtsgWEk1X$&sr((CarDFu{e#nS2HY2DWp~ z5$3R=To#7+6$-5UX~KMRhz~05Wq;S~f(aLUS(D2I$g#eQPqtj-b?(X1{A~;2shB@a zUTn|xoVFl!lQj1Iiz+Pm6GcN7X|Qc(=H$F21ity~7uax8eE6BCa6`2O7wtNY8n<@Q z$xY%csCo<}`CVaRr_!;ga5^{+t6)P{&!re{IX0d8&VKz0=GWEfqTkWMEZHXq-Auaq zQJak5#NEm8=ztpSjNiyYmi@)A=BiNo!-&DW53KX3G{x(k#QRYO^d@l(GzxQtliCgT zUcZ1=tR6+%gQmmw2fqYPk28O@aV|3v-n(<_1U|j*LDpD)o@2vBaI$Ys)m^~$g(fQOXoHMH}OJiRedg06Vep{-f_zYRq>HqZn5zlz~Z)^p%~BE@ZxGDz`heq z&QV~U>?vj+yTgTSoD6w2OJn5Xl@yb;lp2raGSAc%Sdupe*6i&^e=S>@B+QWCv(&5C z`%3Za)C<^LlTLPO-fU=`VuzcqZ>R1ESGv3`k~PhnMk0VyGWBxDk zSH2-!Fj~)j4jw_zFS%jJGYd?=6^)C24Fj8@pE3LAL#*#a{z6P7J2^E2(^SI|<~+jD z6Atj@zZCe6r1KCd<<9;^JQA6o@`dvnM|jW6DwJQjmTPI>gHag*Z#;fI*~RFQqSbnO zw*4t;tCzv}^tG^~^Dw&KnvQpkoY;X+x428cOIVm+jNlQbC8o zQ9n({yGe0c!ZXWMLV>~srtaT>e$3O6f~!5kyBLe%HT?Q*`ROuIO#Rkoh-x_vW88!;?(1aQVJ7&Z zGS`#VA>lh5IG=|2Zf5KHjbYS@A6%vo>;1LE9OPQ#QrXyqmx9Ur7k>DsciHJ2=v3zL()Cd3e=%92W$~ zu{SW7#`Pp&(|aX2u-%^(da1HO6&oqM_$J;mvSpk8#PidH-~A`|3?Zh>0BeOC=~ItK zT-NA#c52y9JTPb`lqU>B)ft7bSJ_|KiQahE(#6=R@xk0L+d?E)h$Em-iDP)?=dAfIAU%?~=X zl~&d0lkNOe)W}X|x!3IIltBdR9Dkade6=16PLIXZTSsZ6@*Z**7{MboN`(7gDOpwK zp^5PzaQvFVK0W`zZT39^eKFG^&~6O7EuP9;%x6PuTLx}=H3{b0O@^PRJz?3pLu90^ z4Iu;OaM*f0#HXBsf2t>uZIon2g1e-9wH$9>`I&i$3UJniXm)?fT;aa+11DU*Ebvxr zQ2nvcmmMpI0gJWqSMdtk|6BNd%AEq229Jdsod76Ka6ARX8F=C!%kkmu8+&w+RpjS{lNa5 z`i7r{+tth&CAi7qSGA@>D07*+01CYSvZpSIoQA;m7oAh4yq%6vm$8nrmz%S~n-kc0 z2NQf^+Q2p6)FH`Fy2xkj=gz%bi5*%o)E}pZowF`Nlv<3y|IC5osq*m5x(-kL*9-=& zA22i05KWuK@r$1V9MfIOX4npbKE0+SP+hEk2J*`2&KB42-CSuP!=tCsjn6> zK6?hMA1J2@7RPo$xt>SVtn7NhlkF)h~z{PWUQe0n*HzawO|XMD1T zjeiy4qS`RZ{yLM-3kpF6oz`k`{Sw-KQv-c&4&@bD5cC+k5{?^%3dU6!zr&r|pL4vr zX6ZZ{f4z(xmEBoea|fxOIfP4I-@+rFgyIh>C}*4n>;H0F6hC-9zWgwl9{2k)t+TDX z_F;91{He;fjk&-UOm5=G3%{8$_oZ<2=omUxI*6tGDZ#aa8o|P9J`2d`XKkWhv=1 znG%9SQf(n7Efq>wKbkzR$6ZPGh~vU(o!M5rS-gUqDLxJ#2>FyA^Gr<1P-JDB)5t_? zEfow}MwUxE__6MD1>R01s;}P)Po^r-R6Rwyy-f$Ad`GeVp~Vm{Q;L$2N2q>O1U-2_ znDk$XNP31Ct;jK8d7nS<_S^fp1GbsukFR;hjq|wp1+i@Nf}>EOy&gOTCz9t18+sqN zkS`1nyf4#kutncDQ%JEJNrWgs_t+3Bew@Z`XNQr8(RFB$N+H|ni5!&&!tx3!a&HI) z`_x-_VfS>B$o#1-Ri zpJ&T@_BrFV?h3YQ+$C9U6~M1`RJ25*c_y>PI({TFW!1kPvt{=MY7j$55JG z6fKaM1xqQN{ZtbCJk@e|krzXoRTIGTOCC?Dq22khxfzZZ1&*+rE&hZu_V7-`N0+_IQRnJ_uco zd1r8+^m=s8O@+&gUSr2zHQN9AA3L_k5X-NB=9cM6g5JW{%rDXwH(%purqUAFBK)>H z$NXl|dlPqZCPd_a_|kEQn4t{A3lQ zmXOm4Te#8RTOA&G5zd~{An2clpE3;T+PY3we=r|943gMWlOTv1JC__M$I_K^OQ5%7 z9Xz@oiEG-vh+a#+!Bx9lVd3at8osItiiIqm?cEMevL}Nj?Tlrr{6$W)G6#oTKMBJ| zIKrT}qv$mWcPxp$v`BFM?i=idGX{pTn@R1csnEmRG7Ru|$$H*<-!j2-4D?SllLYP4_{8$|oM1RwFK zQmjhRri(5UX;WznDhFn=;sF)#u~dS3<5+Z2y#+rlr=f$90>2~Qhw@(W*tjzfmkr-a zza^AFMSlUe!toO>uq)?>FL;KF{>(x524nU;WGLL*FL;gSJ-{XYbLf~#1g|Z36*oTc zCTU+6TKLfrzWsHfA8V~4^ST}Mei{#BE%hm?;6KQ@+stzE1Ww!-d+L9Ck{v7ch2l?H zoQ>5Tw&vFy-s|genwoP};NBL%g9TyL+EMe_Zx?$k)3U+$eLwKm=$kyIA0*Yw9D6k> zoMP|QVCpjs&=_q*(w+f${j3r>Pq>0!1@AHGX)uf}TnH~q_tNb2`>1(09ByQAD0Lu# z?P^NF;pv+M2T&Y%l_Gd)sesyOSG2G_3-bmK1EUHbbeU3z#+rNa-LMxReXAZh$9Nj& zVFX8BThd`+H*@vvZhY7_i4~j3VrNwy`*gblTkkv4Wm8{TT~Nvy99jAdPH@Qm;Kk&fVS?%^wE9rMRK!hKtx5yj3)&C6 z+s$zP4<$T3axdO<{K@vMEW!v$GcYupf)5)%3oQ2wSbtW;cd6c|x=E9$IdmF}YI|G# zxBM?JMvahuUHdAaS(J7}%=u|O`KKH+=juDf?jz^yC)}`OP*~+ElwR0f_ zS@jEk^+sG=V~sjqqglP5W!0I8VQ_Fs23Y&XliCF}!bBNpa|-50rUm1D{V-Hh5_oZw z_T#2-Y3jON${M+Yn0h#t+nt-uJO&lwN_7%>_yRgJO^`B8TDHn_x% zhroko@LZ~pO%-N^j(eZ^zHB6?qv~{bQY6ei>qf>y7EzvC95orA6!HuXG|W7m-9CR6 zS_Eh980}dU`CmHTZr0(RuhApP{+&#DR1xTRiIKsMd@j&Ljh0@q|2%L6 zgZwS*af=mQeICy2BTOmt*?iJ_GlW{pA8{MwF0g;e4itXB1p4|V*!&@SWYpKdu1>$i zS8aU6Em{3mc%JKnZT%hGamIplj|5Xno(a_rmM|4h84CL0v8Zx&HJj8=+?RikMQ5`2 zbAJ{~!WX%n5WLn1S|7~>ZDB1EJUhIqKVO~VW+%V{r(9-o%@v3IDTYslf2wt_m+*Y^ zGA7q@4z89T#+mD$;94&QSoVhax_}z^D0U6!c|`$tyd95Pszdjxi+JVx4pLcJ#p)9_ z!v*nhRyj@)Z&^KNW7Dkok-3qa?!(8`FScGqt>E1(Na%;BZ8(E^`$wUF?P2!8!Hz6s zg6ZDXDR9}Y6Ke~$;ftQ~suz34FvC(~xYAk1woS`t_HJTq_Dmr=HztfVt|z=HKAQUP z90%EB7lqH-UAA^{C`7r(V6dhsTpr@abfP$N)v4us6#AIAekZ5tV-Fh|Btc!)W7$hm48ZtI`*(#H&$`Wcp+>eREHx zmIv8vqo*y|dQQXHQAOP1A-{PamP&nvUV_v23=8z#hYOXSazo2z!^xf&U| zNGDiEl^oQ$hTvsqCD6JmLo%~xvBCf?>JAtJ%__N+*KGl+&Rh79ZF|V`ZaF`;M?z$f zHird1afKp(c|$Pc1tefzf~f8wxt5hWJ5R^vzz$lxI0Z79fr>{VjzA* zBYUa-3mq~Sp~)(tZ|@}yCl_i#r}%qjVsS-uL3S^GUR8sM8V4w4y%9b>D#K5mFu*I$ zR)!jz;_8j6S!`$4Mb?&cw7RooH79TtS*Pw)+PbTcbqV+MiWCukm%W2BCc7!UQ4_2M zy;I_{c5Z~GFh>oqVF#XkB-y1}FxiEN&l}|+oE&J{0VS5`e~In<01))$wTZT_(8CzK=k|qM)Z%N7^B4444v~I65yr0>}c6Mv>?W=CH zsz4=rw)iE6ik4B)6-{(lDo@g5ccWOwTC_EO!@4zlxrQV?I+m&kPft%IY<M6#%mY3*{KKbzmatRf zUZKPL`A~8?6c*f&r=>G1G0RkwtSwhExl@*SdXMnT`n#d}{9}C>R+U3TqIB6xjdGm# zuba8XXH_@23hy`{&FGruawz)h%AP*w$m*OMbKH3q#~X%#t-24@{P4hlZ*}ZT_$tcV zbp*G~KguQOD^vVYaX5VW1a9!?Wp<|pf86{)7CS`>ZW+4a*((QGMVAIly4wtICMwa3 ziwD`KLJ@`SNnkVHNzrF7Z!G&a0{H)y!}$PHTGIH7$^T1+Ndr^B>2x7Rw*TP1T|Ue1 z%v2M0tq-{J^W9j;`k74RB=8W}WI@)eA-47`T4=rEOZR5Mj<9R&@1bs%I{ZBg4qeD( zqGRB$Y89)#dW^px8IL|k1DWx`X)Nzr8Ah$2LXkthvX`;`>}vZ#>bj!LA}t0p+r3Na z>y;7g(4o&P^tUPMb)^C?9}Gudx8Q@T@$6vsaUuJ3jkk@97qUC!`LEaau*kZk>hb_@ zcDhQDU*2+FBKc)0 zA4I!WyD_i)^?24m4pu7tWX|9Qc_!Jcu{#F#FZGAqZ*!rl*Pf)D=8*EiFs$ixgRb9? z*sn2?SS~RQ3~ffR$-Bzn-Q(@7g#}^w-fGhPE5%CRCBrbGM;g97MPO2Wz)^eiNKbzQ zIa-HPU}8F!dRD;50Ui%dRVMYdEiiZc2&z6fj9O=D3*6}@lfP>kxrE1`u`1&rSGz~( z`tj#6``cGh*(t$aHpYTZ7ge(6JrXGRe(>lTXUNtTI#I@vcxL(_9{r!NFFOPIi#3U` zV~Y%@hEXWfKb2+VsG#aPSK9u0A>51*nB!@E@Z$M#x~m<{@3R!A()sahRO}&MeTO*f zimYK~wWIkeEk*(L{&-Q?YkVHn#;kXp$EmA^QFq)T_I$-tZk(DJ=Q>;qrn62o>C&Wz zH#?b^)k#{_!^l}C9oH2m!_Kg&?ELbtEUe6(v>#itx&!jU?zaQpD9sh}hp!-dWhDL! zR3JOcE;jUZ2<_Q5nMMjZf(zGm$o04fif=@==)-8r@cfT=vuVSk2YyU+%^Kfq@#H_M zUc~piqnS?a7GAgH87zOD%2X6L(A|BG*_UwEc-Xr2V%5cRg}~h+SsvS$ZM+WgtWEzq&I+<3Z#ly^{(i zeL|DZy96KlTF%2f3STD*?wN*SdfmAc9qpIExRtt)ueN9j<;NEq)ro=SaB2;Jc6 z)IPz0uFvadlYhxjPplRNOGRT~z)nuhT?^I}1_-Nd?-5;Q zXfTwxlRfNSzYNE@wz0;y(U`wdhb&Kf;`6#0lXgF7e@QJWco5+0}eZ#0Q=vA1SgmZF21r1uKf`HUIX{J5t8#jx}uHEyD3KL z6{ASzh8cxV|AbwpTWQyXQ=DIi2(k}{llR0dEa)&{!*L9ZVsGEQKalZ2IFt)_wpRmhiM+H5T2r z%Tc9WB4_jbEPc^^&J34WLjS9=q(3_fmDl~`_12ETex-U??xG2kElt3BYbT!f`NjNh zD8up-<9LO43Lupx#Vx7zgCECd;f;Iq$ljocxBs0A+lLDd*C8YMOuv!1cIY?=`C!L; z9rdFvieVy!t;2Aa{SnY^C7g!zuTl4&9p}BOI0lzJ+8gNlf%4OM@gl zJ6x7_UiiqzIBcfBb}3k#P>g~1W>aX!O1K*?!Da0{z%7)Fpu+*OkSlu}hPH2lwwRHa z*V(`oF8;>4p5%)jdi#)!&>P4NjACBv=V9WkwKQAyK3^2mjN@8=Ry+8}aLfEp^Sin( z;#4Pfwt3D;7XQh5_vp};h1$TKilRlnflR7H zpHf#J=HGbaW7ESW^l$AM{L(IiWeK^sY(y}I_sf#r{yE%s?Qm#qf5gu0Qh|TjO{hKO zH_oZGrPEhcXm6Cj9otb=tvM+kbaOQr7k-?UT1!H2ssdbk?#{L3=2CR z4wroofKmEAEa84qreix(Gf8BtWLwePT$1e1q_GXw1H691JvRT|3|KN`1O}zwWRYk6 z(C*)HF3~m^(pMY8(97r>o45I^||zxBCJ@m z1q){m@VTohn3qEo#7gwBRjS=M&2S-9PF+r}Vgfg$H%OTCrRYhY;D?kx41KzSSKd!n z)FGLK*-nvgBXa^(hAjc#t!d0iw}*ds{1C~fcVpkD9I*8_W=V68fRUww@UE`QURvs7 zd*DiFo1;#1vX{}lj92`Zv;e9x7K2xFyx`L6Z}>5&3*{&Ea+U>k+^oUZ`TYuNZ1iwj zXu5NZu3!IvazD#xp3o_6*et`g57%n5p$kY}0}=g;~&k|=rBLyS&ML!->6Ol-zHdSP&% z^l}C;deIB=?sSAmTPtcd4rdepso~r>15DL*28ln68l&&A_NVder*APcYdFE)S=r&t zpd;*t?l{52bd)pe-paf;cL+NSC$9JzC*&NOxU)s=_+pSc{Apf^u}6FHs{Lv9d*c)` zzn4V^4j9vf+!nsfqYnR;J;a0woA3-y!2?C|up>er(nk(vZPrSl6#9`ZQ7=ICJaP6| zBnDasO7K-dD#D6Qtf1ipoHZ|^^^&8YUUN3Ak;vyAGbCVF;zqW4-6Jz#|u|@f(&$ekD--{4ULf<$~&#<$I@j_*{mjE z4)~Y@9q;$Tz1p#~t8qH@dM;r;otZ3g+E-5Oi6vcnu!j1>&g1Y>5glBmKwqcd!z$Y= zcrZ8<-v?%~vYi4qy*?ab$%pm+kfN>f%`93`AMK8|gU2sBxZBxE~gt z;Kf+0bd^uNJqAuYr!!Zvztw7UcQUn^3N%@r;7jAk*$tB2=(*_&{=2psxBlw}aWP%) zNrMZ^&S-|X%51hN!wxC~cap;#xvB>{Y-sSmD3&2>dgUpF^$3&YYSe?TeqXvUZz&iS9&R}51R+Elg7trbS#k_DkTzqu|NuKxRil70X z?`Ysu1#a2Qg%?>!iX<3#k0pQQrDQu}F1#DMn%zxIMJK6P5Wl2D9s5F|R?AG}kQPf* zwth4Dqh7-*C&w|l?f>v@(mVq>3FP&B9)!EQR}=5~E=VC$b&<9`zd zHVz-wR*Vg2U*YGOv-sKK@YD>(2`&={?3wb z+@FtiC_pFRd)g3u{zI4YO+MiX!%#@i9zrYemcZ__paQ1~y6GMdI|4(oeXf;gY2#nc za*7;@{Y*BI`Z}0S8)u?jpbcNEIT!~-<7u>~CLSAdhXSI-VMftCwk$x8JhJAo(p)XL z^6C&8-8hL;l}k+@3<{xf@?F^Tq}RmOv>fc-EMymN1ku@9a&Y;kCO>!Ef0&`t1o0nU zBYJsr+Aj{mumk20XJ5l#KmQUlmkgr8YgB043Kh@{Tu9zo>LmaEH79jU5#Otw;!E6@ zp`qhb5*mo3jT4~l91nWZ`t+;lC`^rH(7fTI>FX6q zuw3wY_)JdXRy7K|o0~V;n-ltA2gg~E`DwH{A;)$e8HyWCCQ*~7CbT7O5oLc=p^nh- z>ZxBwlk-wZvd~V2_lHWV7i+k|#?BTlZuJrNxXK;Rd*<@zFN8tf<5=93u@656FNC;l zmdqrq7AHy=u#6*ucT>^~cj$g*Hr0T;tWUA?uSdYk2u1P{lM{HSCY0frh1n_(*t)4w zoSpEjxMCGUdy6KrQ*j~qpjC$jj8|ue7v{jl{9*_@lg)SP$qU2_9>sni8P1qTkC;>-AbmqFBpcVMM3D3;glZM$`$5D@!~hX@eiz>VXt)_ zS2HgcMFp+gta@?M-BgP^*A&r}Z`=6^Q)QvS`8}7=^^&u?X@$Es&m!wFq3n!VA}u!l zjF|J4!-Xf{P1O)^jJ$)#+m$IOSqJ2&Y{!;?K`8r7Q6!R6qk;>S*c6gU*XM_WMD$Lk zu~Lun&v{Xmw++n_+z9awPW`e3N2#XD7IuB9*s?cuBIwfXdFR%SPw71yNmnK zm5GZUCD81Jfn;*-E_eFKF`=`uj450eg9#_RxxuSv(v}nb}In0jb{N7XU@nEf88I=g|74$TvFJbH-T)_KfK zLX(1iMl+L#5mb6xL;=|=pvPqp8Lic!$7Nx#*8Upn+0=y(W4&>b`VbcRaSy)RG6!RB z9>&ZSl5pb0aSD0-7CoOxg0Wo*?|ykLWz7*2dYd_rDSe#HdnL!!-g;}&`bzLR%B@Gm zJ+fexeFygp84c@O)}x7z6d6vQ4PtXYV4X!g`>L0Xob4o17A>Xu`cC8>K9dY=2piny z(mJmwe!q4ON*89}v^`;XvsRMbp5#b5a*8DT`aSDvk)W+^H~HQRX>e_`9;xOXr+wr7 zs7d!Y6veml4%4;Z=#O3uwNPem=K@&xqCEDb`XGgcWzy?uhHPolD8?Vz%Uu4G!fctP z)Z;Y^oYd9n?e7kXU%Cxl_sfzq{}<<{Uc?(J>p(Nb1t0s0LC=?))$jMdX6vjr(i!h5 zqK{Q= ze2=j2`LZ((6?R6TOY1fEHo${4rc{#Gy#an3*ifnC3X*%doLw%C#3v6G$o5?h+hMtz z>Kmt#+Pgla;w+3Xd;`nRo4`)B!(=yS2j}rmi$-pHfI-_Mptp7$i7Omu6N<;Nw&TG_ zH5|RuD#Rb7Vwm=@R$Oy;BmU?9k^K~SA^`_&@jqc_t~*y?WS<}>>n7V9*$xF1NS4*Z`wQ>94q*4 zlEc|d7YS;w?u9v*I#9~#H485-qYSAV_{Hl)b>f077#v^+<6AC+L0>I>Doz9s=i&JM zYcLEFa_TRg7m(8RC+xLR3JiWWnHKoO($Cfm=-I5nUMxC<8XhOhPtB|V|STK>u1517dEiVxeT4{24fOf zR?B{hR`OY>jWD(0Trb?*ER1k)u8GI~2%<+eAMdS3q@x z5n6~Pv#lADwBM7X6w7KwTX6Y4 z8zr4eRjp$owILac@<-vQzHXr_;?J~&C{n``LesV!oR@TtR_BD$7Pl=z-qryu-p|1E zW2)fhl{L)q_&)ln@tLWY9j25wZLr~J7kk>4$W9(QOnxh#qLD>D-T9pji}uE0mvRc# ze?3h$^9$Jf--_UNSepJ!FXVr6ewd?u&8EMt?e~ZC(w}XG}${ zx4PtKDq=SlXW$;m9yVHhKJ65k>Os>s;xI{LaLf4xh@hiL7br#1KTC#ziKG5X-k+1g4!{+19P{V&Aau==PuzDM&A6iMn%yekQ z^G=Mv`w&KUH>0d~3-`EeE<5uzivBAtfR90$boxUx+8cJ^UWrfan^q28mq}y4h2MlE zhgIA;-z*4pxyeqQ%Y@+{&QOrxF59s70Lf?=(eo{?@Lr>ypX75Lq&(AbY;PJKSsV^o zHorwnm2_aRQ$EdWLu{&5r;~v{u|leog)JOQ2fvMGW4yCzyQ?M17B8UD*YiR1^)U?m zx?SMHfFf1~!s6Ak zT>n(zvy}ChTU>Y_bXGbD4#y}~Bk+8ke1!&q{Wyy6_zI?#(e!6U5>FqNv6N6(^2!Rs z>?S3e_oGr^ACCc#vJ{q)Z%?;Ec=W!aL6`T(vh}4KPW){F22UDSl&PkM6+)Tdu;$)hDp9#1GcUO4H&Jp%0tjh368|F(-O0 zTn#g#$)6(0XYhG0=l3*tkuaF9_wA;pt9kgfbOy^*o5sKHmm%?2XIav>iKMMD2@4to zwzF0Z-=}10T2ucNmBo*-*vbdIZN_VSW~NJ3TSw79yEWt?bSOH69rJN9bBu8x3Yl}w z;K`RV_Ghg#R(P*xyVMur)gQ0%?44C?s(}M!b!fx58P~bg&Qp}V_6|O{9LirhlfdQu zZo^e^_bJ_IJ*^YE$hU{&Q{WUmTBe*tHTT>3ucce@>+KZ$?R$*XN|XrM;;VT6td1}r zoCbSXgl0|EeAxV<@a52W3Q_TZH!f2^E-;&(1}=c}nn-7cO@&MOCon*x3N`A}=(Bw= z8~F7f{M8-LpNZLtoRA4GyfKSOs-1*EcLa}4)&u^@-EtUIa19jACc+JSXMFeY2iB@) zvJ2ylSx>Da=FBbxGes$w)Kd)3D+h4@yp?!#p8{1qjDzO_w@}lp47NfvOO&aBL9NNq zX$KI~v;>|lJ zJO7WP^YF*=|NgilBtjB}XlbLeulGUAEK*jIkV@-QAtaSqWY2^oqd_vFxUX|US{h1w z7%gd0D(&&RzQ2FK<92i3*ZaKB>-Bt6?b1Q;E-%OQ(o&)O`+7dq7w_kq4(#Q%#%zP> zG7BlC!-kF=?&EbXs?avYRCM~+%3gS!#kHBnq!Ct+v-ehV2Ul;W-kMDCSU(2#ZY;qC z@8>Xg{)WgjIfHIb+s+;<4i)7Deqt}S>w!=9T9!0jic@;Jkjh_v1-sldxb*%uH+I`= zv|HRH^hOoVDR?K5+r=7uJNqvdKW$(dQ@7Ig2g>wg5)T2!6QM8l8JbSs0&*Kqakj2& zz&~~cEqL;bwP&7Xb522hL~Jtr_EUxWuL$0ipHMa08rPf5p!f~v*bC1>Tu>9j{DVis zT~!4rwk-s?DF@(T{Yu{58_6rW^>NC~$ zQg+OD6!{yJ*8BK8z~4O#6im# z2YPTInI9b#fMNf&aXPyM&Q4k)F3Y`w2^S;T9koQdoYzJsby65&We4Zunjz`+A{G_s z!aml1!~`b`G)d@TcSIsMw0^kRPl@NuI({rBZS=%Tg1_LYaRuKq!HL`+7{Zq+-V_|7 zL$~bIVaniGAu}FiMSxlMTyArtDky$A3ET)L$jyfS zxKo^2hd-{&6>zkjWhVO8wNI1z?MoKi2B`+b^mqX^?&2RH{v7e=va}TQ3$WId@%dO6~cMj ze8F*J0m{lZ@aLIGT)NqUd$cT{v^Lq(43&}a;GVD}OiQAt<@+#0v6}n?-lKc;SQ1-m z1MB1bX-%H6pV(|br^1ZMM>y9%8EHce;agcP?@96{-*L#I5HS5U4U?ta;aIH%4PR$K zz03Av$MEq`I$%Y#>IqvPuS+XT&oakPZD`YT7J?=V_reZ(WSo{lGVPfxtgfE#8NUL( z{wo(U{14d1qie}h!WmA4OlBTW+_>g)9nu-S5@#hk;)HT5;P0El)%xf7W?wM;*89rz zCLP6#mKIc`pMxLAz6BNSsqAJq&)@YHd=}$I(o%CbnznEQOE2?4m{rH%4}VxQLM&2I)A*3nZ7H59S={66c%yxw>^!OyVs*x2%6R8$7c9aZ-o%DaYfpY1s7JB4)f8)%2pkXNwt*5NW_3e}RwP*$MFhhbe!29O z=Z@5B!lx}lkEub2JNLPWtR#oQQKj#YlRgMojTJmPTfk*r?7_Y_f@jd?5QS`Bi0LyA zatlVtk@~YI%(qS8v|aDUjn4H#H+MXJ_3=i(Mq}={`V@F1x;LzEuvI3uJH<(w^B0B!f4X5qZp-TPn zg8OzTbrqe0)<1#VsZb8&!#?3J>2$F6*bmub^Z9$f_M!A`9{iskf=rzk_(IGI7qnX9 zjqJ%JKhy+f9NEf-Du&>5NqKm<&XWB*u?x494q}eypK&AQFLAlA_^Tq-a7mIgRj1Ee_%w>V-4oZ7%p-Hml#&f<9iq*>*V%k~OG+ z75A3XAgc&EnRh^RS=ygmXL_@R;dgjVZVe}AstNHse(=l9GK71f7M9YHfVS;fTzGL2 zJ^CS>d4E?jO-XB$t@%+jQm>k;uH8+skqhwg6~X1D;|W7*H9&lfCj0e!AESOrK0M|h zOVU5i{9h>Y8Y}bB%OIQ{Od3rGWgTdf+!BGEl0sX0Yfa7Ftw?5gGDS?X7O5_B1()3s zyy1e|=xQkrGdOX!^Vlv3=spJ%ok!Ea9(CBT`GRoY8^Ijv<6y^;7`pjzBAOKo?~ma4 z)~VYiI+LmhYjOs#(fI_{ZFZrjGggB9mz$>DGtXnVu%EMR{?20d%_px3dEBV^&tcBN zkL>ko4hkH5VM60R&|P<#P1AqQ)>zENb#~dzT6;LV9g_No%C!Pv5s?9BPwoX)0I=+gd}eI7f4p0Ak44n%$B_6hl7 zqsQg!caj=}Oi4qTeKqi=U^nPLdC$8xPZd>r&a2=4ULO4?UBHT}K0dShF3T!-g)2CJ zre&c==Hr*KR9SmE=VU@J@^`ZFf(N$z`UHMqVFaZG`m-lD&*Fha_i)GfFWmgQ6Ct!) zjOOi^Fe~~sm&*ME!89+Bi~4dMMzN*jTR4m~H|F7`%R!K0z6^7}{9(aiBWOXZa3_9M)sTngGQq~WGT8tlP{8Mv=d1s43y z6y=NvqZEk@F6H+iS|}R~>1tbO9~P6E@^UJSA4Lm$_t3_j6X?!y8y0uKH7~<=ZCRn zYkRQ6&_yIaaWG{yCvoko^J#;{5N6P94TnRl>6n!`jS78;a%y$#;IR3WV{i^r{Vt-m z$9nuV`vYo3`J?%adxF1hG&nRDvn}VPp;cJI22>}*eVshk%MRh>&F0|tN^qnpTS1s- zDD*|X!(=x#c(OZ@tMJ^9C!WQChp#R?&M!6nCU~q~UU8(RsSELZ&suzX$(Oq^eJ`JX z`Y5lrhJkme41^4X!2ZF;f-k%kjJ0P2HJZ@o^V68tj%}#om4q&h2>?-?hoJ)|l1<3t)I7Yl8>ywPIM zJI=`G62Eig1WJ|4fz_r;^dLln=0#4Xf>~9}@9IqG6+cG1+?1fp_!PVF`8QTxu!1de z$FOyOESoO#iAfv9vbA$}g44ttaG$iF?st2l{g!ZMzxWHw`;`Sxb|x^R1(wtym~1>x z2)mcI36#Ac%v5Dn0C~FoW}6qUn0gE^k@Lc&A*O|wLf6! zV^!Q4DRk7tt>A{JoA0QxXHEXz)MOP5DJ#|4o)tehTjyU)_u5w$^s|qBFb-ljHp`hk zEfg}#v&C_&b|kK@e#oZvKjPWt2P|D8l$~34hgE*=#?C!oR&t5RdYvY=P>~2z$HLLwZI6vYn+xxK??5F)^zq3by&XukF{C(^340YlBfAv`H z+RuZy8O6)0!@V_C9OvOlxgDne&v38SnZq5>T+5wWrwof^E11k%Yw%A`fc2TF14IcE4?QXw@1}|38iq=Uqq52N4z1xo~HLkG7dvwWVc^-~FFd6F-7x0x5 z(O9$o6??hGo^HQP7DW`Tqj9~1$Tu(+vrYEn@FT&rVucu)RD5JPIuhJVQ4Sn<_yXe9 zO6XEdJu6+TOyfMOnfHGds8!`o8O?H7a(*AbUTZx&9-oDeI!?j<*^_Bjxr(XEzL69t zyO3_#RP!UmLPXw;60ln}MwEBEiLSmmjfRDzA=uNIwMH9L_s?l)^==Napjz_b$B~x7 zY*O|T=83WpD!iIVx(Bv`rnx4Z_3vYr6NJ6MXCrcWC{KMaHE8A=bLv_a4ckSF*oa-b zxQN~oSpL#Xl%u%>#_8o@)U#1+j^Y{kek&Hohi0Sf*3r~>_ak0?ypJiW$6>7E4?Hh# z$Zr1l!@ntT0O@ui|By3>!WuX72lmV-?=jh2oX1>zaH5}?WNT20j5|n;QG|ibKCJPK z6&!Ljz$EpR+%-R6l8rk>{)2+pJl`suzx@>!>}tnfr=sxOo@=aecscHzsR?U`O{6j7 zh0UvZH+Sn{C?#%h$Axh-;E<0O%J-Z@H76UezgR>*V~(4Od@2~#-DL+$Q{XN;0s{^n z@cj4!8ZPNcr9lxGWZ;UD1>14o&LS4$-pHQLyv#PLEWye=d0H5(Me&=bp=LoWnI~GZ zC{<1LTQ0#$luYQ|3t1MTEiivNBWcQ_OYnB(H{3EShO2$tgWIQ=LA222`!V<~{1rGi zJ`WgqXqCY_l_<1o8$_w!ld)xB3k;|xa59!WueC-GW)5kC8N_D@sAXbtsJ-WJ!0D;@ElP1eU+3 zg?}WM#8$rSr1)Ql$XHXD^2(-b=^Iq}qqSkQpW=nwBq`z#5 zd@28ec9NlvJ$SZgfz=Wqke0*3O;>T+fv@vmIgIu=CeiiF*p8(?=N?2QOFw`BlV$Nz~NmHhlq_*wFod&nS z#_=~>_jf;>8y+KMue_;Y%4SL~JcQHB!XU8RimKNrb5U=Wk)>j+= zK~c|`p?)JX508N{3V}H5Xadz_ZsqA*4`=G#z{wh(L^tvMuw2R=Tvj`Yt_XW<&P&L8 zD|eyTTMe+%Oyk}xR3dX>zp?s2B^OWHaBS8L%Fj`zUkzm#F{+wVlb2=XL2bN!+-DX% z(-WKSy~TTFsxY^zm^NJ9Ocht#(Yer<+8#K9#Ih^wt5*c8y)LjyF6XeQ51ZIx9cA$C zoC;pH4^UL-0DCQ!=&*tj>HqpDD$87jeFcams!L%@Zl%x%)Q78O6QTTu9muGE;4g$r z!p~qu-mWs9-#Bf3!pAOyR<^~r+QrTb8qiK7|A!!`V&yvM?QXH?Hk;h&~Tw#^EqOTf+t-Ay|=APhk=O{nqq%LS@{$uehgqs}JK|WG{*xBE%)HkS-jf}E{ z;24-knhm1G4th9jkUmT5pGE?|9br9$M`* zgvqCuP|K4}c0SMqpWPl0b?M^pQ))20+_;f;3EYe0(sMBLejyI1o*CSJc6s8cbY$UQ^M(J3T%)5 zahThXh+_{W@Kd(g!I5Su(5v-@`CXl?#@&$&M%SXmB5|^r6~+$MokzRRsxUd*o8`w2 zfw41|(Ay0YDZJ+hL@n{*W(?PY2U7lQXGj5sea^y3?N6BL7bn)z*@nZayVjyPxY&wa$E9!C1&-b{=WH`#tdV+T*%^(jyHymbDhQ5}Q zjmEj!v;W3RVc0ThI&)W#rZh>y-*bP_bs?f66Zb5l&^K$3`sxIY1U(7x^A(Q>37^hjq`J8LgHkO<>A`e0&I*} ziZ!0+SRSv%8s_b0J)>i3g-1PIwv&X_yQHWqdJMhm8cLV7)M;#(I4fB6mK8s}h^E<3 zS$(xHiC@uRRh}Vq`mEq7p4Z2MR%AlJk2v}?;UrGA>Skt+DeT}zZ&Y$#3$$ zU+&!JQgNEv8ji0-F7$Gz8%?+@u-1OY;Y~i5zq0}B7ED}8D`o$o%1RywCjnixN`^_p z%|#&#Jn5fT47DX^;=E0#u|~)>*XoaDCw#Y|Ly0ba-w;ZAcK6udm1mLt67>%aL&VKVG_*$=Ci+Cdxes!*^3EyvuXQzk^c=wHVc9r)%Xk|4SBK<=&VVg@gV^$# zy{5)ZJ$%TfkN9Fs03O#&c-1Ote;pD8z^dx^2eLLL1K+lX-=r*(Yi==7G zvQ=!_(pMt6k;!1AV8QN=w7_ArlHhPB&uV^W@L>x}nbJcsa1_o(^A_iDuV;IV& zEAQmz9*JRbqg2?}E-jENH-XP~=`h#IiQjAZv;JAC8>aqzz#^j~V2bl@xOUx)Y^T}^ zXRZKVS?HM>lzw0^$pmi?>cT(avQ$-igA*w}W8al@@$Z{t8vf7%_AR)H{v`+bZ)0Nc zn1c;|j2Qv0dOK)Qhp_KE&`v>5mawXwh*x{YlZo+p=9(LU@2nm1lb7&6Jz#*EYi^>O z&U`vKeHDfX9GkpHhuNP3svrJrwCMZXN9@vHNwB@?j>j+ns;6kMgnC!3I%7)1)8(*t z$1pO=6Y`nsM$qL>KfE@e#9kj)fw!C{9lDr@gT-I*D@yWMX~A*SQr2O6wVq+BxhY+? z5k~gM4I+=Gz0|zw1;1A7B%kzJ4Pw^I!L{3OF|o@K^dGjd)e&v{fj*v1K{-agGwDge z0$#_eitC>1OfNu-p2rmOKb~FV*WV3hBa2V4w+3VQ?s>;yU-34&+KU6rUdoWP%8Ufj*?T5hHJDCJ z0A}a1gucn?a_@83Q|ZQSxZ~kNyuG5E>kK`@*`_?f+DdtHICB7Y9XpSwwS#feGefxS zx{O{-+{;Hk=^(G*PE?GqN5>a8SfRmD_9kpOCbsI*sH+_Uvuh{Lf2~OmLQ823pPq_lPee>oOD<=G1vyqmoL@L3eC++}ioS+hy6={S0- zcnd`rN0Z^Rbyynk1KaM(;^2@Rx)3=M_63a~i`&cC4#%%1!)CbA^)Ex{^m}FM>1s8J z7!?BxU+w3oP?czob{S5Tp8~nNBe;QorR-f^3I4+rxUoT!Io;a89=_kn6?Y}T(hnIR zHt!l+I$R$_Dpk0nEFH%g+Oc^>zxdPBq_Cr`irwv2g;(pEu_$*o`zt9h%i7D)JjE9N z-7Cc^4Kcw7C1gx?9>5!=!4yCL7_P57#XgF~aL@Luz!nQ(XPsNj#vPr6|2d6?hYQ50 zaBc}N-WJPE_9@3b>ykMlU)T{SFjD(;@t&#|`?2c+-}y@$RvVc!zt4a9J)uRy?)Nz! zc$N(g9kqBeRLBNhFGij3T`c(HGuB$0hK?VvV(EYruVA_ce%A-m{Mvh*dT%Lc-+9Rg zyitY?c7s6i<57VPBuz7<13>iX5Da{~%!Zcez$77qct!0A{>_dNt@54BUkErzO;V@o zKV1pue|~?DX@QgY#wWr2+DQz~r%YoyE>0LZxE+k%sH4-mG8nlfnYo^v2q_kI*s|a} zrVE+XAipTIzn6*^J3YDaXJ(`4s)aPcS%e!alJK{EEYoPd!`TMsg4kFM8dW(R?hARe z_umSzLF*5iTnb^sV|1YN_6)e_bCqT0ucjwU3UI5XIo=OEh@ElPG;)FoJWD$S_ipV# zJBp$5Me4L^>@4BAQOz9b6x=&#&$M4PusuCbnOOA&e0jAW4N8`f;rcHn44a5I(&hKu*=U+^bV#@$Fx6PSH@DUf!M!Ir_HrNBk;kW|@FNw>b44 zZZPeu_=A$si)bgm3RW}((Ze;1XiirNT$3A2P3N~z|Lkul=9a@r4Gh9B1tMao}SE$7ItZyVE)w2?E0pYsOP*KGD`Qs+XR8>-Zz3w?@fZrab7TU zw>EoMo@J_fYLbb6!$W@54n3NA#TVvfF>2_T0^{3s*#eU=YMDNj#AM%ar~JP1kD@fFm7qznJ}NKsW3{e~ zw++(5;u|VJu{uy_bDRHlEg$+NOW8*Ma-3_TixN(4SaeZ?By5CC)c$x#IJupqNB3gN z_ETW6Zw1`W*1#VV4pPvY40PO7kEdIPQr4G^{17i&=2fdq{u|dpns7c4`_jd(J|9aL z^r~3q{+FD!(^YU!COlldksg}AH8mYrO+H_Q4ENMa{P9df4#YcnHU0^I;7ljpSn(b6 zKZSAqJ1)SF;u++oB}S5NyU|bZoJCu_!%a#1O^fs5Mbm_{Y?=2QnrgKk3fB%I+0!@K z&uCTBNsWZTuA!#eTP2AeT*8l61TRYAPds+$CZ4sdWS@o%2i*$FTq7LIS%1eMSk zsNa=>ixk$Qyi^?%uNuz|USeF?+~L&m*%}Lt^+`iN9!^^yV7`<0LDnd3`mS;k1HT_& zIwdzzbLUCO%HUc02x1o>pT|+F1Rq9=7$li_z|ebT7{wKVOOFF{o8P_&tT$(JDUKx1Sr)xjM|~gDPmd+maUD3uZlw{EwX?Hhp0lt(PO63 zE_wLh-49r~F$SX^APj#tLEuY7!AXgy_}NR5cK&Ea?b2BI`=N`;CU;_u{4j8K6kdE!Wc;9E2f*oZJl`=de^w)JAWL($ln`N^Zo=Jqt!<(@?HwVTXIF3#$hY`0$k5bb# z(5S@#7JPKaA6kVlMgD?mzi4p>S3<4y5)e*wH(eSl774}r8&Gl<=7Mde`|Flk&O zJMMN4GyYoeH;ZCuTt)*{JN^gGxySjZ;qjRA{5HEe^b2S8#vkgVCc>asi4-Tan-|U$PE%m<)vn$0|9^VJckgDoN^-FXV33FT<^4U6@>` zA5Hotj(Q(L@O1YJCKvw?&!*q!M=dU4qm}bf@z^Nve9?=>Yp{MP&_B)%yhB<}uXpQj!KziTq!wEi6{{yhPVi>=|wG%uJhwS&3m zXVW_SYj`P9k%kNRgX>d;u4DN-lZS`u;M5{ZIGW%|vfiyY{>}t&eUeFr9WGQY?6W+^ z`9fxB3F_Y#!@d9+d=sF7kxSk1ikS&+jUP^%U>z)*Nn@ zuOw~S;0gg|;$$r;OBEw5q04+f-})?s6`oFF`hJZpCwQXhlgAMLXPGHj+$v+<^Zmit z$PlKE+eALYLUFY6GFW1|3>{JiaHr!p{P&=odS8U1{l6hZiCee!I*Lo@_))#u9FQBO zMA>v2S{`3x?Pb?-#H)PPshL8K5rgT~q{Sjv;r`0KN`ZZjRUo$%8;lFkAnT`tNOS5z zQCU3D_Hk)^+4<4vA)SSxvKQFo&<6HT-vw>=C$f%TNnGFS+wkA7DQr-95cREmg?W}W zELGoyTyDI^o6?u@Xz6k^p#!jg@<;qQSq7-#nCRT|brkwJ4*T>ZnYQgqZt;USjDC5G zJF;I7{}{)i=E~RL8R!ZIc4P6r*B8DMO1Uw=&O=JfYtfi%@-U=n1c<^?(dWJ{{P-0s zprJBRSN}W8TPo0m)8k3<$2#_BvEVj3I)nZCuM*Zx9u9xnobfX+oVzxMgVu-vX7tOP z3ZeLeH_C&uD=(V-X%Krm#hqFVibdT6`_Mf(i>aNSi{ppR<)(*wvyj-? zG$_TJH;Qmks`Az=?=24mN5 zXDK;{nV;a9aKESy+eRDWsM)LO=e7qp<)#+OL~LSn-CT|NY)cSSwD6x}I<20@v%vH; z7@U^EUDPr){r**g9xeIK2aFTAeWhYlsnLuh#+tL-o;(b@e+|q3p2uYZgVk+`sJ_*( zl;-YA#^FCdvXK*=X=L>*R&9NV)(GcQ^>@2yU40ev6tc42LU(TC?t^@NNCy5gG-fY6 zR7I|q!p`i-M+|FophNMVw7>Z?vy6)nIryqmY{@&kcC85p*1SYf*$~*@7DqaI<57M1 zWKg)X4wH?X=+}#Q@;BCiX=p)0~C~Zd##{&h~dl3HQ_MSf;Q; z+t+svPehI-RSkQQ-_nnmv(K6=wj~j*z6gp!#@SxwZ#ZAy{1?x7gy27uLX=LDgswzGNRIu7GY(pCXZHKD(;l%fAnmLKj?x0;~iM^Y$ignek(kK2?v?_&~nL z?~v$PkSyhOABDt$vpBvw2FE7d!M^4;v=wP%ea=7Zbv304Q#7D3X()WKjs!E$J}#;6 z6tmBp2XgTde2Up&DDBwF*()tW`OZdmGE|f5>>0Q%2EI5kn_}` zN8PJ&yx{?n%1>AN^`6n3!EI3fb}lIhjIx?LsodX%3-N)A8qHrX%(-Ml?n5J>T6#76 zCE3Uu(MU*KS%wbxdA2d(C8mA3i?TNjQOOZ#Pe(o1aU~VsE4)Ls>m%tw^nKWO!v`Af zW#AtRL$0^uG-n)8BV@${M)10Rf$f!wKgXY0=V-Ol3Ea{|Av zeIhBm*~W4?47`7$7+t2tk&*vkT2o|3Yi|oP_NaKiXj&=!H&%y6kW>ApFKK9lo85deB zfydQV*qAsEpfAwGZ>2NIySsws(oMK>*cNtlq61l-`eiD5A!LpilX(Z$}J9*OtLg`F}tlbQZH zkAth7;qIj+G~R3)bSBR#B;nvAu-s?m=m;Q(2H-&INCeGw1S7)+` zOPcu6`!BM8u50MmcSY2m5`@y`gUKL01?Q|+!ndM*LUDn`e+ETXlEGPGlrwM;qOa$A25FEdAB|ZA9gx}9zp>OHK3Hn<^UtBB*z2fMQ*tJ1fk`Q#}Ot>r+Lle)*7PwY=ly_U$2k zTaLt|8ragAgK65;C!#$01k7Dq&RPR9NX`Oamx8RBK|&H-%9~BKN;)XFSMY!gzahMz z(&W9p8DIZ57R9j}+E;{A)lywBnK>E6vRc^$Q8Kg#IZe~nk* z@2ReY4Xyw9t^GNopyLxsMnVP-56i{T2KMB-p$@b+c(AzF@zkb$R&-FMob%CHLWi`s z2@cI14EcA41!a4})3l#>I=T_>3fZhDS5{#1?AfM^Tix(m~?5||w405S(w*r^K3+}Tk zOE`s4Ng8OHL*=1E>6dRLSM@}i-ZZX(tB>~6P03QQsJ;u2_AU^;RXGY0q00sDav>VJ zbb!~FDe%}%iEOa|s}lP-$-MDwo#B33qqo;2z~!fqMe>FCOLn}J-vl&4bNsTbCyz-@@$yUbDDBnlTkZH zkxXI&ak;A-ISYH|WtB@Pa+V68HGPi2CC|r2e|J&-=l_`72Neo+p39W;?TLF1xbDqP zlIa$Dm_c#0Yn3-DD%-=vT@#twg>ZPgIs&#hThj#l!|d);B{o~)f1ks>d_(0S?pK)) zjkdo;uA0AaeQve!mp*Yadnie_-uuxg^T*8PnKkLecEE%DVtf)lfyUg(rPhU)akfeT z>xk~-doR_ay7dSa=hYAXQ=_Ty#&ztqnpwYQ&R7z!b%m*YdKBxm1NR-6h+X3a-$fip zO4b11?v0^mSvAx%QG=F^Q(-i|78cfo)7GJj*kie6nEFcY+?CHobYqVWr5@0r4OtHa zPi!5GD$t-=;j<~Q`YBVmcN-^KdJ$_J3XeUH<1ybJ*6`MXz2EE3%xk+vV>b7)j~cGj zcJ4eCizPvP*j~O(zLaM9yb>60TVc(6C5Tp;4bfMUQ8VEzWC=OU@UcR^pxBO2SX{=p$G?eG^1gV9&Ff?NdvpnsnIJK<(2)Qe`N&F_a5M$&7$5^6&fzL5_PQu zxQ;O^sB%sL`)ygt-!b@ZB0FD)7TvnVs)iL}q4^ywU*iEQ#lq3%!xR`Z*o0>t@7NH( zYG%J}4YXt(z7@7Lj=%5nVXyXF+3CJAf2Jy7ayHl@X>qhHE2kXR+~6(2@G z)bMJY8HMcqq8t)w58)1)+ii+fdC0cEEy1w)*0f#Xj33;}oj96~>gz%{(Y{1H_C1_)@BGd?t$)M3-&ct0M(S|~#Gmqdr=oG!m@rOC zNAA7$e16SR(tp1ie_+#8?S!jO4VAs58?wZh>XizPJzOzaEOWjqRsOc&%J~fVRzN->u zV=-7a!HxMr9^PwNMh-uJFf)Hg2+sL|(<5)-2pY~Lq-R2ufC7k$y~3a0pNy*}zs7=r zkvLk&96KI#5Z!*5O!JMy`TqPkg00V)!;oU`iQtdluvCL0StRqXeuifj2@VU}`82`s z8h@kE7*=+?hhNbnaIrRs!GZHOki*j0txs|^J=+R&#wbDSiD-=8 zszrmE7twMhBY3gl1-q=c4MlA}khgI;wh0awhlq6cdF2TfzWP2ZZ3zX{^bGbte#{+V zE{v44hn0uz;YsOkc1HM|u3laPdh*kS4Ch%k+D-xbPge;HKRx(ocpszhKE=`RPeFxS zDl0gAnfX0UqQuAQFjM(B)7H9zUlv#MZY>Eouj)SgHbRNb{jET6XNJ?lEs9X(C5f3v z>#3!EJ6=|Aq&e5`(Ix$DZ0hb&kULxqv?~=jUCBe#=5a=FSUg}$#QtK|jyZ5gTIg4F zR>P4uL$NCG8-8C^#PWi#a}FiN@bmNlU3C7+$E$o|u~81>@!pQoELX$*xqB(cC!f?t zM1s=o3Oe@77|L!)o3-CI7VxmPAd$YVLK zHH+r6vfLBMIez08dZy5V7pZtK@&r~2oqY#wd2%xYKOo5?OY8TD4ZW7U#RAVFIP(`3$Z$sPCM zPKp;l$uSotVtOI7af861X@JqyW5DU(K{9u_Z#qWk$QPX(NBb=k(5&wj%H3K+$DO0$ z*cukx9V{mbdd4dZz4!me(1$yzUx* zc8D4+KXZhFw#Bd&Gis@*Oww%Dssa{2S)L@nB1^im31_Ko5J|tV!?A6RY<0tCGE+|? zg+bz6u*Y)Nv1Fg%#1OcaA%h^?y8yaQ8KLWsMz%eD3MI^54OSkc8htvIjwC-Yizgf(vd#x;J|WY_9FAg^;TB%BgAYl%#N*A5$4 zyUYc2KRFmi&>&hdROmJ*dQzcZz2K;th6;Ch@?v+`mHc{q&}jmu(`WKBCr@B~q6E9N z={VNg)iQ~P6=ZoYmt9>N3l^4=a91}CHM9#T;_YbUPDfI^ya8kkU&`0|sAK4_PrO-) z0hms3hBucNlC`f6ezGq{*I^ZG_n#DPc*jF|e>YDa4GmTOxt4N?T;y*C$z65Ef3+|L>67bB{oU4(n<-o=E*z!q;iC|k5~?InGra&Xb!%JPKBl)ZS2;pPIf%kgtN-( zL;F9kG4O~!=q!0`>b=>V`n2>QX=eo-SYN}vD;1b@_v1}g9@b{Ae!F49i3&Viv4(#ZIWw5w?*ld*jPss?SG`|CQA^phaf2?^La`6`4r9p#^-6|&d2-)wsR z=v6#=MBJ>qbP99|xx0rBx@6qF1Kfhe$Z}&AJhF1+J`AcL+gu+qpO8&g=7-|RmN@*% zUt*PAO7LKD5jjYI;_BY67iC;?CH=ih^mfD`vn8H}pxGCXON`PeeXa(*nN>tH%SJ+N z>_yN?(4go|0c0$kC-kj^ecobi$eL5hQ{vTp#4=de?Q#X5skxE`emnMc8JbR;kJKmvCu zUV`UhUgT!ciC?bnXT>KHV1nsQtPEVnv{S@jpV0p_*mMT+*-fZhkVLaLzZQBa5`4zx zM_83$f=}vf=)L(Z{GO#qwp~2;OJNh;DRHLO{h|DSXPWS3PZW9G3#Kred=%U2&9WB< zlfO|aw(so0%l9T=_V%%?!a$pLZ9OLPm8pU;Z9~jb4$sBuia((555R%bwouT%n$+?_ zVS#BS=$%Yp=KtmkxiU9u_32^*H!pB7RRJUhH=6DfSjrziO=6{|!#623R^t-7sxx$$&`;m8hm)bTi@+fkc%^#>;rI>1v3by9YRF9CBp(Y-pU~r` zrM9tbz-1npTCIYF;xHPkd>D7dDB+J1KYG9G74DYlXRZhPp=*j5ToYXpe*R#Rcy<## z-wtM$uJb8~F2K)sf|^r0l}WvIA@|Ya$=)#=Ms*9jO#T6zJiiDuJ15bP<4w3{#zey8 zgA{Q2B-^1D3;mysz~NH^3$d96+H)iMuWQx#3RB^`v-THeB#owMw_13gHH%{GgnQWS z@3HmGOU$(hhnaQTQ0wjm?v;?um7Gxp=Qj?euU!$OjMAW?>`MWAqDaUOQ&CSkvx#WI z9i{uRJ4_igoQF`aRw!KV*$&D+s?;98mXd4!GLJ`&{KM{Xl)h;>SqeG3sCVY{d62-r z=o$m=5#6lsija9;9Lznp&7;L1o$<-Xi(E#G2}paqhTFyxbaY+=^KyF1eqRv+^orH+ zdX@r97$1#chvu;J4OuiWbtlNY86mtb0b{&)77klw0E0(4&}y#&6UmrX)Yv-`zh!y} z%(TIz{;+~AyC(E@R~54rf_JI1B@$QV7*bBn3ApM#l^@AAWpZHIB2uMFgMq_7jgS=99HA4snUEITD_rX4XKy8e%&^YF*=|Nc0Y zA|WL*q7ovBNZi-^ND?ZeL>e@t($b=6SjnDcuavA3ErsixG$o`|A`p9kKe-X9&B>bV)Ft^SV6b$Q@47`JJxr749Y%$E)R6b#+-T@0>-pyA>4=iG3zPn0K< zb56oDq!LGWzhRSQ8nF1%KKM`}%+#0Iz@ichPz?*A&Ltc9SCE5QgQd6+CP&TrW6h#C zJr(GPOcu_oJTo~zp9XHug{`W0;QLntR2N$Vmkgufxs^CJepycUvzC#{%M*}U+(~hH zAu#pMOj0q3=e9o{Po|0)P%LqQ`nKvZy)|J_bEStp+muJk_oz@+RBf z_i?l06i~evP4ng%bMI&E#8EOUAYiN%jLwV%sqS)iUgJ0g1Z4`ooj`phoW zXR>$Q<0QC$0`Gnip*f#+$xzC}uZ!D>JiwyY%52DUM!4d!Y8JcOUu+*Q1wD7Gnx4%Jnwf^-k)tl1BwqSvf;QtuM$gdJ9Ej+u(G)3anaT z1`2cI$i4nEpY*^7YehHChjWoFzFxsqb!Q$Ies{Yy4;Q`}C6g4*-as~dU$-zFZP16zPPF_vT zK~30nWd*y^B#mOh@mTY19VJC?hP@#f96vsdz5CS5DDw)pJmV1ya4_es=Z%KbSzdyp zv7OWXZdRSUdMQ;53?qeM5%|(&1^t`)hTU8e0_A__uuV;0aKyPw{NsHqA>fKXPTExq z`8O8c`Qgal`l&@NVgjg;FY8) zu(u)%Vr>mcTEUsFL67K&k2ow`5JK#6D6HQT3IkeI@WZDS=W99Byu2-8yOX@)jA2P(JCj_xlAdyc+pgoL$o=$sm^@(yTs+#(CALoB-bZ{z zyRG-|z20Yj@@E^Fan){=|x zc0vv1JwL?uI~uWn8^s{@%5}D!`^p<1>*1_dn1juh<=j(YZh1xYSoC|{So#uq2$lPD zVY=)uR&?Vu{3|$0%d3sZ`*1KV5i*w$m=0~(2g&{5QF!oRGD#2U!`1eEWOaT!)A)Fb z_BLmM#PP%CUnIK(u*3#qEMtm=m=axddl>#`WcQUc#!dzgk9I4G2Nqryx!wu!j zLAF0hboH4F4exuvKN#ac^|g#vba$aw*$kSUG>JY>lcNWhE_1S{Pjh!Z-9qbBD|mTg z7Onguf~Km6{PsI$Fy-9|9Iz~I5 zv*53>rH9Wr2%L2jZ1aQ2>!mr&HM)uwfy?-!-A7rn=|3=)w<8Msj=FIoW@@Gbnk|c% z?1eA55i6Oeb~QJ7R{`D;_QIwEvaG_#ikd27Y5dtlm_Nsd-*aRv%U`&UB*I*($Hgz9 z%J`vRzD~&PUVDfiAIGzv%d05J>n52+s=|kD|ABu+1Up->p5Hii9`#+20Tb&AeB(Zw z)cba`yYmmj=b{vt6)>31D-gP2Gkj_H^ll7l?&G~@AB2WZ8J4-+hyORX0lRlDp|#l; zk$e0Q6>XlwG))8CaJdpUrkRmXj0&<0#6U? zlcuu=dvUl3VcGg&s7TMA4BX25O2F{3f7y1D|<0nqk4gghAJ=54fg8kWA zg*mRN_-R%F>=-(f{!O?9F%BtImgx_Ft(9=k%zadtZG)d(T%35Q@!|_0@!&?WHlZ6Y;TR=|8|ri zE>Vewy1CHlOG#iOJDeIqE18zLH~Z6AN{)k5IGLYn*z%?jqqhnSw(k9eVYm3itP!|Z z;we_xsnNK}YPdDehU~r_geNP#f|i3R-Z*4MZ) z)t_Fz8cD(Ow|MD|8C2S>Ky8H^S-*`J-D*@p&!SXX8d1;Lw@qeZ!-vx+|0=wnZ-e^3 zGO(#v6NgMcg|knuX5MKtNHqI8bQoUby7Onzu#%&E-RD%$vMA^GcPr8YM`?O@qFNNJ zCr)z$7eoAYCpawUkKG?raG1_ZmiJwkWQ>Hf+05gpHuELKoRuMicg?s$MqF^Wmtu_K z2Ie7n1!N@6ah35(HaayPp8G$>`7>l;#lI}!Ga(88?Y+T5m(`&D?^=|wTg4iS?g@G6 zIB5AlXI1$#xSx82ISF&gx`1(X_0Veip5sa9J}86jGBuDWawY?l8(huU<9JEv5k_U* zWh!@IF<&6DS%b+W6L$52IAuKvq)E3$ zQ25Ri3>$1j$y~B0< z>2?_R#La-J^)h_aiI+^X$`0Ru9m3mntYvXC0Vf`uNauVe)9{&cu)6sL77U*VI$7K3 zxR@f;OBztf6jOq6D{0-X9`yWh9$hrt+2WT@C@uYp8z*y_JwAQ`J~g%oJAVy$Jt>V} zu&59l^0Od6qnKBJX2M&4p8{h>#F13kcUGU>dMV?#2&8DG@C+M;8y%ZClW0rSPd&rL zF86YU+n$1<+I>Ez^A!5K-NVzK6WRWb7#ij}4E{SNI8~=_fCuu6Xl>X5=2EOd<_|jg z0_9OS<+vKTo!>-0TF+U?T0-#*A)hgJG>F$p3);_Ol(Y=x%l>_3Myo?;(pMR<9@h@~ z32zxE8U~?X#K8Wi7&;0Lyd!pF=*FW*oYR6}*gbd-IYfTOQ$J*?C*``aGfq`7ab*cx zb~Xbj;01qc-C0(X6otLNLs(>yDp|GvV}bJ;QF-T`>a$7{88^O-^*r#bj>w)!*7t9q z+xpGGJ0#HBNu%lc?=tpR{|a1@&myfa-Xy&|0Bl$*7VDp7>fsATeY>Wya@SmnpT7+h z+@{g8_DgK^(6z!m*o4-bOIUd9&SQ(V%qQ`ZdDUC@9i;qmPx%e=;zbv~_~N+9!E|d^ zGxOad&3v=eAm~*FZj5<~_R;{uIl&#u3I2C$b*}W~L)4Rwz+0m2ASb^PC2}>%{p=66 zW=}X(lql2l2fY~UZeTt+{5aDXGlBii*umEAe1MY$hK^-;3VrfekE!McoYLn=SiDb} zp7qI7(@0^iR;|shPI$^4G1$XhT|XD})$~c^w3yx5bC6ppehw1L((rxvd-8S_dI$6R zVRGDg^mY8nq$`zaIV%!)roui$;A!1(yM=nw8kvpIf!s1J1}EIgVhd`t;eNJ|0SiyV z;JH=oR#0TM$}C6rZ-*D1Gti+#*(>O3>xR$zb%efsIGqu82+BuBvqLM|`LHe}uF~@q zoYZiDC_^>OXgJ5t95qG%oAMC2;{v1ipZVKru|iHe2!EHwR*7k62;T=uIzF?N?N5FO zP4^PfMsWVNpLu{{HO3^av7a5#y}>t2WntqeLpE#gZ(Q@l8$aGofc)+8Eaq|vi*lF& z+m&pnc9A~$$NjDT=RQlwV7KG<3SB&-XbCYj70jw~D)VbN3{N~5wC&>Agp5!0QCkfj z3`~NRwr9*ADwuJ;PvxQcPB+%gUkJ0!mcUF`p`Z43HUzIsz}A)+_HwK0!G#=E+Wzx^nA;k9}F0C)1`5u|n>Gu>L{R!Zv z1=NFNn;y&BKOXm5`oMzqsmQJ6$n>>4m@luv>r!JVOSnJ&eBes^I{T|V*7ibBo+M2b z@~frK0$_tw4QfaZrpXycQD&kgS|y6(?m_q1;-}1*;F{I zfv#?rrPS1JoE!Frt&LtzMrAInUurrGK3310TWC?~87Jt74`2aPTev$C-!M4;3@&yU z20EF)ne*7A7^oeK7p~>-!3~HxBaLWK!eUx~qYaz)3mvHuDNq)4mtR?*#5(haSSX2K zXSKKd$lWaiXLH4Zr*fq5^G)g3)*u=`Gl^|nxQpgF@uJ_gQy~Y^!8SMGVoUg1j{e+QG{8bi`le+G|^j0dr9EB@S#0h-X625$et;LO)x zhj2i}+|L&D9-+QXG3?eKRd?P3puc1Q0B^^ub2-irQgFD%3=8Z#sZMfP^8up9a0My zr{iZrGjDC;aHrPpNLN!Z=hbN&@0xpggFA^WofzteUwhdoR_8e zAB_T?XSXr0WCiTE1nsf53_R(I5p1^1fEMx2E$_t&O z-_<)Zib10LdbP3aIo58o0X}JP@O^bHR{Gh}Jnf65K6?u3nm=WlYcsgn*HT!~+`YJ2 zZx=;`RKYZv0J8RM=R40m;;Sx}R&#MH@Ik>XrqlQuwO?L?`1E3081(` zvt-RCcyPgs{2nROz?E;9 z@rk<w44)T|7JTtGS|!@KSL3|P$zZX0CM?iW!-EmZ^deK8)Z=(= zvBWge7@WyY8w`Wiyf})l8bu1HM$)M2jOwWUQ$!1wu4U8Dr9t?sEO`Ck82(Uf!5{6z zLBc1PNtM39Z;uXR%e62z_R?9pZ)42$ElI@av3sD`XEE5-4Tk39-f-2j9#t2nqA)^Auu8!rfX_7#@=n7zYA*VO;8aRuA(N8@Ak4w}O)?GHh%tWi*T&>1T( zjABw-gpB^g(d_1HR}4S83`T~9aUtE&tkgD)My|7@$M2>vADjS5min;m^g3K}Lz-R= z9z#cFhVg@(GwG?H5$$_3nAP8G;d7ox;U*n-nxsCTU(`32)`V*c%-a!^Xx_urlT^7+ z3Ojfg#kI84&lgTRr(^1fOmZ5O%00N*iG!3E!lEKc(D1z^dUmM}r+CcfO#P}YcRfLmM)WNp zzgc#yw(Yxlp7K1ruQU-}6=kx0Pj#66IwfIOtq=CHdsvD7LFQ{DOBF|L=qy%Iu{_(nht50v|Dze?Hw3 z@7T2PCqF;qx_)0^srTR9?YUf3P&(OUp23cqUTpe0fZ^7_I}hE-K5t*n8~<&CGdt8t zLVOGyt^QR-iqfF$H~4alVK8)c7vtXg*BDh546J7YT)me~?K+0+;q_MhWpo_s*1us+ z!i#Wq)fNV`dzhk?IKOS20bvy*Ef@iOGZ6&QK?z|2~yURPN$2Av59lVg)xn>k4ZCU#ege2y71EOgVX| zi=Iv=CeDRroq{hRZWRl<8Hw*)roh(J&6K@JaQv9WU_`PJv-@U8T5hqVxxtjuMjfV6 ziku z1d{(-PSXDSgzo2a(N2CG$(DLi!fV0%>eC6%c49bme-2a7n+FSyh*9*{J9NL*921;( z2)xQ?OmW6zZc6fcx)$~yTQBUF{?31o`vT^}X3eKKdiHO8u=yGOC;ZG((@vD#YXIBw zL+Fk0t`K{065N&$Pqdd&%Uu`yONq^M#IG#`Nu-5`9?q zjI}QBV8&LJa6QT!xSG}2?Q|THgKY3py&?SVT#n0RRl)IG30*JE5}Z}LD7xl07f|Iu zx95&#-)_%EF@fhit@tCW&8+7BWGCRZ(-I`kMYFuoYiRJ=mCUjs0-t)7GP&PVxB=fD zuy0>PS<2&}ctRO{R!_pWN0azfC$_;jMP+oG-wxI1(z%XQZR)JbCWFo|%=B>#JZbyJ znO4U^)CIvUdSx=$gho_vx-8tQlHbF&YB_V`$K~CSJF>85gR`!~GXRHtA<3i}JI9u~TPKc3B}kD7lMM|3vVX7mh;xrulUB z=yka1yoh}AMd&S)^7<@~vN?X0^@=2ij7 zYnL$ZI>B!j@4|_u4}+9f=c;#$4T6^GgFvXI!mGq&ZdY3#t9A4O-{d2B?Xn-0>xJQb z|0p8w``_ZtXfBleF2x1fX>7=PDgIp2I#}Xc%N7Qduwq3$P#=Gg%I^y0OtBtjDx4R7 z2B@&x2UN+!#DM;M*MpdDHMUzbkNXgj48fOPbFq!>tkT$++vjiqqJGW-=k(Rgq^ylw z*ptZiJKZIzv~FImX$G3`e}H?eMZT|2fOw)0IIKyg9nDpcY%+@+_n*Nl??wo{13+1R z3p5Njp`ikQ{q(^I)LSVDCtq0dS;9{0g!y0?$@W9Nb3euv3+{r)!Vdk75A2;Ah2OV( zpt0+FwEpYOhi>?b-b*gy@IDpnEyw_`97m?+FpucPA=V%`m|gmRGTu^?!dGPDv)13t zqTmwhJs(C5?*!IZNCxXHX~C)+g&=kC7;@Uj*whOi=yvBD`y%(7*C-UD_hY6}Y`!b? zjIaWWM=ea*M3UmB%95XsD|9+sVoRSEGyQozOn=x?GTv>3MM3*<$;N#&rH~cMoJg{Pn(MG@LvVSPDrN&d08}9XN(f~ zJ<}cN;kXw#q|cH3!=u4j#*}Ukl3;U%j?Ic$eN0o|lsrR^2p)l(@KHU7mRc#WMtN0s zRPi7bbqr&V%EL%c9&2~u|7g7Y4Uf#6kPCGjr;mFlYT*`)d7DC-{ zp?emS!WDE|lX7RS=uzDj79s3MYTplrg~gB2FjPr6k22=BXg%ys`oNvcKY~hL$=v;| z=_Il8CT_eNj(?uq$Im7A;LMvY+`bjXI_qhJFCy5r{gNf>^8%|NAt*6D(?R|-M+@VXl{cgoypn2@_bE% zp5_+#ShkF!)*ZsWk(yu?7hU})D-qWvpQSyoCzDo`h#j3)N49ywd}3VzOpQ>4jlU8} zRy6{nPeik_D7O| ztgU4#4AZ?zQ?@?9lesJ4>vtP0{ACZ>=7ykYvxtTYcT5LOaj=?m8NRkQ;d|9cUe-#1 zi%A;|i=M7$hg+KXlCk&jlujT#=}dtWGcxg#TDicP{)M~G7trQrS(vlm14d~lfv_+K z*MODK(3(lJ=DNa^Eo;bSXBqz}Iva-g%>!3yXUJX<3E$%m;z*O%ENf8%Cmr^YHMn`R zm$jjAc`=Xg+ik%`eK4)cJO{N>yWmrCEiQBLWnWKzW$*s30r8JYWHIUq*2j6kB;!HM z_s1FN5jc02&3g3bvkK3GklJ^IqT`wn&=mIIj(M8Yek2UOeRzoPx2~rE9ana{Ne*_) zRWk$I93~ShWS{)CXruHdc4NLAQ|i6QdR?!v-$D7P9c2cC4-COuEQ(qE_l;ZQ&)Kf!{Y>(lJns1Z5)Yi+ z0e8LspvL0eRJQ3F4Lg5_b=plLTf_U@gXn$iL+){y^}>KwX9KJ5GN;d-k@(~7U!kw> z3jd1rnBZR%ee}J}*0C&botusKF^Bv7wv(v@>%$&V9s9NC3Z}Z5a#Jjd$oaApBz+0T zY3D})G>5=yt=r(ZP@398L!fR(HI4l)_-UWK=GGd9(K{AS{WC6ee;3NY*1lAVnQ268 zTVuHS@q?jPB9+Xxx>BEMI9HK3jnP3>I(%gfU3ZnE&jyy&^Ts97_n||m@A(QCaX^jU zZcw6!_hS{+sEM&F z&eu6->rgo3FB16iqv&M8HYS%bhcXVEvY)X4&PqU2e7j{Y4zfPt@ z%Vcp;V+LE@KSyxAFle2$i>j7=V2VFuK{w`%;M}{!#xHj!_jO@3d95rQ^l-%Jxw7CM zDGPDGz39YP1=^UWN(+2VaK;{E`oK#IOwC7l)caJ`?Bh3a_KX*3@F|0|=1F7DL|L4k zGn0DDtp$ckIDDJe3h5V+skg>+O(%)1%=f}2&v&BRjtcfk$YG@4oJiX>cEFeI9XND> zE&N=bM?g!L@9$*LWfC%`4OL_c=5(s7SyCKy#LC$!#77!d(LTimuUz4N{!*)7%TemdSun! zBk44EZ!t<82?mjcCr%qH^!|f#`3$Eb6tg)3hga9}X<8|e;~~t7h8<)98zxb?kOwrW zoXcJxtY9LC3U+v5I=yHpWh0GVpodr!I$N95DbJm_Fzx`|+ZT>rM}&_1nqqL9c!Uy< zZKH}?X~JDT9S0uX=58CQ!%3_4?5N=DeONb#ok-E6z1mW6eWNb!6J}R?EE1TysS#Bz zutBrm8n7w5mi-vyCE6LXiJW$=p&l)v4>t2}_4EaIQ6!^6ja%eMzj+4cxSs;W!o#$0 zd>UmNr=xyHEd3qSLGqMIRhJ8>#3TUzd35phriq+&#vQh$e*|>N5^6s(5^@R)L38XX z_N&01X|Bqldw;tq(?VdD1b=6(dcqy++Gc38h@>m`Q*g;7vuY0yUNkuRK4yM-E_$mj zhk7AlP&M%js?`RR6a2YK9ZD9qt?qDT>ooe_dmIImFZ7K~=a)`?SG7;s1ybkekmT}U z`lde^?klu1!;6vlT=xW(&-%fREsi9Gk#^YeMNUZA*5ccDqcNA;gCDBw_`c_M6h}!o zxXOTHC+?(uK`dA5GlX+$h@oW@Pk_hFELyk!HcI?9qH-502wEJ%PBcbQnc#`M z`ujAdov4EwXA?zT>IZ46x`Xg`!721pLwh z@hQ3N*68=5yf=MJ{nH2PD5+w7Fp{bztmvP&k4Ve@Iolxf1r1dnvijeLsMkA$PGw4h zk$4t+;rSo#StIbv?4u}Q=1TIPV~RCfp7XY!wBXkUPhn4anEGS>vOueTY(6p>R#xu8 zdmp2rC?+0Gy0ily9!$5N-)3GL9m%ZyD0xVjLV@B{X4SKw4onWBiOLf2c?Hss948VA zZnXBrWcqbgV3J6PVNihJ20FHnomY8}c8cQ*ZX^?!R)!f0SWS- z!8^S!IS0KWHI`6X#_+JoyUDU9D<{COUch56?R_S z2#x!{@;TCRY~GH+aCYwzwpn3Gbw^eTd3_y?w^bL=yN*Us_~46&fBxi>8Vz8sZ$Gaz zNt-SmA3>#8OxSAE;ppVl#;pI%uS->6rlz5ATC9?) zCVG&4W)`Sd-v;kyLku&j<_%Vx}O!dhVs`grBL!52{b?O4;we7 z!OL0ag;J)a=wQNR$S*pM`BN`*Em9gVaI%n`gq*F;S~VJFk%kMrmDswF*Zk;zd+1Ap zh1^KvqonBROF5r48e@0TODD@q9zo%e8Z;*SM>!xsT#351IpP9c{iYB?E zX@_G6yVPF9@45Sl6>%%*+3gc}==OTZTBbqMgQo*4@xbE4A~xZvIa`@1?AM*L*)`sd zGiZ~CJEz8pCfrx2T{7noI)yyzD}A!4j|5u@MVeK_LHD~n49$DWCNC(&-P`7{7kj%f zacvk^NJUiRV@_klj#Kr3E{WedN^KfjS>^cC;OupSDGpCyj(+y^s=u7qPaX{KLtW{! zYZ=?weTYqYIUEdQy-;@d9ASsm!Uo69vG%Gg!U@pfsN5PsDZ|2h@MLlIL@E|maz}}U1O2?qLma5R_dVvo$CM91?a9k*h-xxU{BJDwe?7;(=<0JW145>|bsbk?Ba2z~3)!W$^PuQl z8EtA!f{H;m+2VWpY|%b)BU8{(!=%i7oA+m%leQeC*CUI8T*dy-+&ZqD9(3_Vww zOxtx9ldtIvb^G zNZpY^m@W9wQ|6g4DSJ~mE0In{G0ah2&@>BDK8IF}CUX98@`D+`vz4AZN|7j4E3~_)be;nYS zd?mMv%xTxwOSo=Q3~%>f3YcBg#PbOnY~+FOyt7RxhCaQ{|Mymv#*M9`M(K;FW&50o z3%QPQD>)cqY|l$dUjv7#3D9(WDSu@2B6{*+JlWop=O#Tq!}n#jVg6Gws4EHs_svh4 z$-)Dy&nKV%`foi`FnPi1%agcgaVH@A%z7>%Gy)2zn9=%05~3n~D{xp~Pj$^Ym=s41f%yI+hP)90+47)9A>d^upjZbWiyaIj=?PDdrW|S2ghq9}NfDa3% zBk56C@|=f1g_?N#+765ymjW-p3Ny6eel9zAHD5Mm4a+HA${uFC;U_JK03++mI8(PB zmsCd5v z({aH)WMi!!qGzuLl*^=1M$|60rtAXykNsssI^^Kcypc@c0^=U@6HxR_gsL)^SnQy4 z7~%N^-|P(H!5EjsLP&hna6;O&d~r0pNg zeeapWuRG<3$zcp?_UW3Z)OsCzftaeIE?mpgBJZhJW{;_ zr@Zs4W(rln#n*GXs};afCxix)uacg`c;sgeCC?|SH2NQ#xI_9T$JFgRuchaLVQ__Wq5*-Xqe`Z+{CDWTVZU4`i|n@v8+s z>rfh+YfFR5!bR~dQ)p6lB`?`~7FYfl18SEX=)t6${NsP_yk+GmGRd#Tg{2N8Q*(rU zd@vGF$mcJZHH8+-XEFYB9S&?lZj-GdU4L3Yv)v6@{v{8((C$uauSc_j)1GLOuozfE zDf6n=#0z;R__tZl=+FuWxU|Zh!uHqm?0W}u>yV_MgQC$cE)t6NW%JjLUJ&)QX}~C{ zMlMoVt*rl9kG82|mlxDkllk{{JeZ!>}CHw?zwk_Y7VlD}r-+ zIEzN-9)g5TYjFBROTi5#!-D)81^;IRhH?6IIi-%i2X^C)avoZ0(?z1V(>RcBLs_#f znuqjHgDAOSxY{^Z;23)`AN?UL=EM(NXLSgU>d&C!JrZ=%ZWQ^iR)@_4;b`n~jQc#? zjjoK4AhXX)Aoq_0xtKg+_a3K1d{Hsmw6uU!+k;`2y^v+`jfJ&-GoYoimi_ytz&;ko zvxE2MlB4l?KJn&Ve$q{GQlZPNWwRRbYCnX(?StUW6sHYC=h3(2QSi3im5n}rh}YFg z7j>UAfImlK=~_%Uy$dPhJ^u8Yue@Kt3>ImV+p}N__&t+kdmb^v=pc|uo`&O-R>Q@i zk}%isu*e~u(T+61OS*9gEQ>Ls2@kKMhEzOe<=8UwGeV|KTIdHaOXmxXy&-?E0UhoA zg{KBy;mD)2K{g}+axLb=-}|#^?~B!N_}6HPUzmX2KT>#{!4$F#9)V8=aF&W&uf7q}_7~?!H_=EvJ&$gn;cNl!xh~R3tY?#f;KkuONvZ zV)R-$kj+*R{OCDWbWl7F9RD4~Rl+Xqzg-+?Ux_BmQ?JCbt(+Xj5?|w51opA4+j(f`!3!X8UY=WkNCrl4@??9vuuo@waY5-{vykDJ2h2SN#Ijnq%zz-eAg1E$4dMBw+6E zY?0Ia5Ps}tVIT7PGxzV;c9^Iak16k0g4Vy)B=5EuwD+peqLcmjx?l*zj9E{8OI4^s zhG##`3pw{7Cr+$vF>_iz2{n51naP2X6qWpo-BrmGynO3<*R{*wBhI1W8dv zK~y0h$|Qt5xmMv5k<~+ew9+etKqXC_*qV%n`{b#^@)P?k9*xk;hRyYb;K#DaQo{RVpr3|BQQ1e8LqakMZ@FY?$nG$NU1PMUn$zRJ8sC zwEK6lu+6>9>-`Z5aaW|tfuS^Yl|4myG_fb0fi&jnLOAfv2-5HW!RCA0*oBvhq?_kL z_9Y`>b%Y(05|~adF$XZ&HklP&yN~P4hOqG_2kE>M0DoyFHbh9$&QquOJuyGfdUFVr z_}pR5)2_4ilA*l9&oq(YmP?q44a|L{7M0vtfyulg9O$v5HpNcCxv2sUZd--k@+SVL zi#*@9WgeOucC#TCTfyV71TIo>rZJaPxoTVthx~#lV^09OSNK8Ox;N}sM;jm09}mh2 zA?(-unKXT|7Ft|OgfZiL@W**oHeD2p-v*grci|Gg{7o391vk+3jeX|IV89wiOegoJ z`lJ+Kh&RcXnb&q>&8sa!7RHMD|BT|^U)~QP3AQLd@*(>%E(vyBR-l3Fo8ZWY6);73 zAE{hEMBKw&;OElDOaOT)5 zhPU>J!>f^@6yCCteeWAD^y;jL#y7LkV{PzA$5-y+s4}{qcLXm=aOx^K}v(+t0ixB>6Xg#8M=t`0T-fU)-`Ls75r4E>=5 zDf-{}uh%lDzho2h;j^kEDT{R7w$YpQ(wz7G-PCp74Ojh|P1cU<;1O8D*+&al)NCV| z)^=O;XWs)Rv*#kI$|=$Y`Q3QF@E5OXHjAqLAK?(m0puEIV%FjwKJlRrDL-|C;rC*| zwA+S;{Lu!zZXw53HRy7WY#Cjwz5;)X#YrL05sUL);bQA!r1Wt9&TRwa%hI`P2ekz^ zwHADH9Ku!!ez)RPW%x1VJ-cZ=f>sRPz&61gI63MH9GN?Tb{Q;Whb(TRanf>dzMn!_ z6UO0(%v{bvaL3P?7h9dZsS#(r=;bGmN5LbznHFxk$B7-CfG#hhc|)Hx_`K&JtD4-y zmW>bKqGCtU_$dpZVvCdjViP<+H#f0?72z;mA)l)X*~+y0&#;ey-&ya^osfS&fjYY^ zp=ebVj=Z}W&s9C(hCdV-H^%m`e#lrFGV&rE_-{2WsWTQusjTIUKQ}R@tJ0id+ESLZ zehj*mjwMyWtMK579@Pn-bBP5Sl)rNbvrpLwceZ?D6-wjbTaPjQd*{m1nIg^@lZj%& z-Y?YQ7HEI6hLvZIqU4g3Y`a@N7V4={o!(dWN%A;bdu$K7EtP@&zHhn4AAhP_&svj( zb36|J{S!6c+$5TFSJ>azR~76Dq}(lQ!SRb5^Lw}+T&tY%ypK7YJ#b!>J!LfcX^bVC zc}wZ+mRk7xaX5Hv8q74p7lWLXEoqK%XEjgXV@UZ_8f1Nf&r5nBvV7tQ-C}2X)xR;- zTTh>3r*lhCf&at`a+=x84H2aKABTI~Z}aERXt38KLU2N?CeO+Rk85FX_45n%(7e~1 zrH<|4Gj%2ith@&hS&t;pkLh43H`#XZfT{GG8u9;NoD)_zqjPv~VHFOsR*vP`VMe3MRJrUNP90x0g3HfyWMp)ErE%Xr*QN5)eZhYPktqZZtU{^nQS&jy$C8}RLRdm57EK}#J}SWVyvkZ~VJH?stO zP;jNFD=-5;TPxJRRhE&lo+ zxhV(3e_LWb_=hP?`MfR3)?Eb!lNXx5$s*%8Og=HE)4If z@=Jv7$#cN4=~T6b(Q8zF7r^e`yH1J596O$Rn3}c=EQ0F_lnk}()Dkn=ef21>yQ&*^ z&ypq4X;YN>G?xB_A0pLPLCmcD2Up*aMR$)HQoc(Ln z`K@8FcuqcKob`ZP={)OoKY}U$qv*_|sd~FOPGl}h$V?@LG$Qvrn@Xif1EoQeCMBda zNf{GL$e5YR(1c3ip1oyA(oafBgOcVnD2+(#JKhhd?AY7})(=czr{H!N_T&k4@lTj$gCr~(_k<;x zodU0bQ)*4JXMghUDu`BG_k2PSyWr!nT= z#M6|r>EY3h}!g?U#ww;#|@HkYWPX!KK}^y$DKsi1Fu=iQo&Jv zITsDT{DZF1ijbkCKr082qe;3M%%{tOM(sPpXidG~06L91o7Aba)0i&1Ml(h2WSZur z1JB=kLA}&3w43XWk6lVwT(_4n`#nmz2h*tP_Ad;Z$WhXt4PfzKs?g70MzK%VurC{h zo>zh#TI>_k%3N#sc-@3%xXi;eWjT<%u$*j%h0-p)3p9M89Nrjjii7t1Gqw4jSpR5! zs=jAWa_UX!6f{6!uBf8CXf@ml>}A@=a=1(DD?nqd3f6be;2i#{!0P-W`kJ$YY=n#z zruT5Gx`OFgO%SQiS_V63o`P#1Zt)NHq>z*G3Gv@4W%^HiW9) z$KyVWIc!OeDUAOZNIMG8GKI;iETGODlJ6MMoh^kh>%t+XEbIi68#JlAM3g?ngGt}&#_?6ai;U@9J1PbBIOPb z+V?C5r}qi>GL2!RI<*ZQ>Mcp?xg>bre9x^oyn!Zdv>;|PMM$zZv+j2q?A9qqh-%W{ zw)#qu>9zj8^`qH_rReN zA1GAUrC3ipJRuW`M@_uAqjTM1wA@?Vw{bDaxtFt-t7KW3!X+?Q+QR+oFe2ZH(o>R%MgGf-bMYJz;;idV3RU z8+#WeS445@jkD?a{3y(QC4-y8rSbGLS2`(VoD5R*Npr?T%$>Re65pqT`$2VxJNAVS zPP+%@2M?s7El%pSuJH?yxgqeBFROo9NhOK6nuuy9Z+iL3qy$3WwW8Ee^ z*p$VlT~xvcozKzb)kJ*JF@mpi*PyS@N@0#t26!YyQo!auoV}onb){T@B*VMxM|%gG zX1pJsT-wM=BZbb0X&cU46v_E*iAHt5M%?>tI2mS|lh7!nXW1L5wDAngTlo&-8@=iG zNwdZBbUFeH-^toG6`TO7U3z z#hzBr%*X2iCE)qlg(hB{L5B0?g!f1mCMFkSnvoG*HHjz1(=Cv6`U%&ysfuRIGl0NA zDO&qP7u3%7a^HfBA-j=5RAImHo10pv_bn97Jb4g;W42Q0^V8@aTE}MYD+GJ360nQ1 zVxMi@*`k#P`6DMUL4ER5cFA4dCghPc>H1r;&l9h6HwN9|{|%nSzZY+X$5sLZIN$;& z^F5X(6l(Dc@7jaUX))}qFT%98>rA8MIBroo4e9r8;O&oXV4pIXt^FfGYYi6i>;3Ly z-YbDglJ5ai?i`|DKXO=WP9B?bHjMg|m*TGtv4FCVPT$+@Gy(aS%P}V{7JRZ+;R~T_7@*R~{v~O!VM@|ADW^WN zfp&)UB1{!OHBD#Y1QAS8t7qzl30SOnk~jPr2QD@qv~^}SDus$swqP2$eUBjjru8s& zt_yvew%2;8z(-ZHlNNmS!w7b1(g*({c4X)t&ZN4A5BQtMj3tM{0`>P?Yv4O})p`WE zpVNco0!k*+QVqn@g#A~SBeu3>Qi6dlU0ZR2GQa9Tug^GiSB;=YpVL{Q@m8E5a4M!g zl!3s#g4fhYpQf!_0JR%l=SqtDg~k-B!51Mj2m?IE$rY-mrIZ8MwAo z6C-wo^Cj1&)9=RL}!0*4izK6S=Jd1pyY+=mURb*^Bg_aEo#s`fVoN~D;joI@US`;3ziJ#x2 zjgv9`&fu|i)pF7vU?lWvohf14FKF(HWvc_{gIG#|AF*;CxNjK+lT8H2;J9LxJl9F3 z%U6Jf`x$Y@nik<~k%v!%&B)q16BrnS^U*PQ_pu~AzSR$<3(n$V9R>9K^oyk}$%g(B zl5F3OjEdxA3e>&QhJMwRvqnW#TKKz-q<^`xhidCVbCCutE?xxM=F$B2&mRO1QaB`8 z&VXYD0nk1=4Fe2M3LV9ZFc_q0@-%bSxnUL#2`%E6*D8bWrPIvOu9wOD6u5NT#9*SV zN%K3sS)ZEFD}LWarJF@uZP`*`zj2d=$lm3(yOz_oo5sBHwAc78tDNoxCW$Yuk+A7b zFry_x9&vnvhTyQXq*He^Y4hSYthz!Ketv#~=kfuI>!7#?JHgD81X6ZbfR7Tl!I)qjiL(>FtEkEio)4$+aT#p&?CC z)S>2^Nzha$Fdg27gZ|kNSZ^Y5h$n`!)9(Lau}lf({Z^-z_phM;g9q+4j-VgMw?X#B zKE#u&X^B=8P2F}FswZt=GxDlL8{g}aVQ>hfzZu0Dh)me~gizrOE_nUAYQ^*V?Laz2 zf!`eM2no{*C|o<59z@$>hDtMYyl#&6)P@1$q;c=#?<_S?4 z%vU*2<9m3~GsEqW8&^yRkH|Blot*HPtD z`IBC#)2@Y|tv68L-^);{unwyCZiJ0t*5rOY1P%ynlP(`M@a!@epbX4v0rx?c?$W_TFjmPgdiA*i{j0?^>2M3|ygic~42(cC*BJJf zmcr>dBbd3wM%KRUx{%e{LZ31VxREz(@VeqK@!{zal)qyG{hewqEIE>4>jGrGrdH(h zEPh7mKT*R~83#ar3LzXiO*x^!%yWbSq4TpF`b5j|gSfpR%(@j)LK zlAK@(cIty@*h_Qv`F=Ti$BzMJi>|3FZ>v*8w*_b}bR@B}7X%E>;FrrZLDige-1JI? zz6*}7@U}kg!HIz|(0>e>n|M=FiwW$I5S*78m*MifAKbhj;q-KW3`RUj;udT)rYehS zyt;b|`1snPo{!*Qz5E%D-+926=;cFUO%Lvs89<|~(~-Y&9uG(5)1uAu$&z%qt0fOH z|E(LmtlJJp2XEpY1&dJ6Gz|Pkn{jy+1=Qr74ZTmJ@QM8pFne&H%}hH6zm(lEYt2q@ z`*oJWL{{M3#L;1M5t}+73w4`{p;#`Bx4-E?S2mVGouw3Qx@`sd10~^sdlY-6VN6GK zM)H4m4<)UNFldt73Mn4NaOLkkE^VoUkS#g{Q$%OjcZY1;rRfBk~g8gA*O!~ok!&}hUA&NW# z29rrkJ)iw06(5-SlTOonln5buD7g9zgdO#(lI^7MZ$Iq)SIbX4ITc5ZSj8fQ-Sz4;Xy($jdsq1pnP+RnIuWJff~^H@&t44oJ)g8mayl8 z67cKR>1h9AECp_^=bGZOnbWlC=m?HQUEeZeT=1x6Qt4t=3 zdhnUreKu@&6a;PaB`;|=n53l1Lf%C)7cU*EKD`)9GLRiupTNgoHpCScy%oE@1q=R) z6I4HTEDRgI0h|kjxsyf-u1Oex?s-+htZg;huyrHusaFJxj#fN*BZf`FHl}c05$oS= zz+uX=prv8}K2p)Bl2l5g=MSVP2UGYL_y7YQ<-v*}%Jl7?6eMn~!&&9N)S`KjQwiEm z(Sx>fBpXa4wTHrX?I#$Py?}16@WGTdPBiP`TIy+5qO^lHG;m@rtz9yR7EJhp-s>D` zQ^-wpD%E540~hmBf1|N$eHpe1%%+JF?buu3LsMIZ2%W(5m|S0p&sGTg&4poPa(*vJ z1kPkfG;%pf?*#ti4sY~u90%rtZ+7W)F+OkffpvCE*~_qgbSU;9M~?$EGtPu8jq>Sf z=|q~b!I6BX=HbO^9-TE-f$76}5ZNPqHeMHUhnG;$*9YPWi>kr5QjcnnHKGNc=MHTj zME;Ww@)@^=&<}~#3}+vvuvK;JP)|_xpKlfV>*^{dS{fM=kX8a6|o`UepqJ zRKbsS2(zun!mPIp6)J=1R7V)ARc^vt5<8fe(?sf(HlR`5UxX3IAb6A?dYzmi@C&9Op`=iRrj9Wd*2pCgV^2=ge%a8r(@=f``xhlHD}HyCyKOXNd0b zD~sn+(W??&1~$Kqqmd_Sc*R5ASUbZAhU!>B z=eq55YyN9gc$flKiXzZETOs6@kCWLdUpi;Aia%ZY0NV#^!eMa&UP-oNx8KgCcTq~z zQ>+SS3jVT-AwTh|({Wzr(L?+<_XN5OO9R_8;&Irtij2Cy#-`Rp4!`75QW(C74km1Jmv=gw8p?xHsm}G{n&f zx>LhRZ1^8IU7QDA^S-dOY(u#9G>K-k1kk@d*08;}6T;|jeRI2|f(%VwRr@n8(`Vd)Kc|RF{Yh42& zfC*QxO4EE-p6^b|hKg~j-1u}I${A-sABrv6CdF;gFrX0bk64B7Z@IcadDeMgD zGPn?@Dje4lhK*~|QC(9cWS<+^r{h-0eT#$^`=u28#T`;pL&;*?c+%@K!EbLQgxTd# zx)s>S9rZRPjVb4FY?2N<`m0SF{MEp^sF4~JW}<46HDr91!};SIn3mHsmM-Kp3YZ@` zu2v+=ZbL{vO5$b4rX=^{G|TMaDF1>PILTP>x<`#^vuQQ%Nol}~FGo{ts1v@KEKN@i z7qB-!gpSJ2VC>f~Vz4Ix)wboZ5d|Ia#95CieH+5Aq%DS@WpZd8w2=NQf5u-=i($Kc zdfC7mdDta6hEzrKux+!1&6l(VXc%({E{PN9VrK~$$|uwJYsi_Y&Y_ea3u!^ac;o|` z`4=j-+|AxxI(W`QaJG%2laU|TyFEu()}Y6Xa*;K)9wJvx$mC8RK*M1kjfgE{C6~H+ zyN)lI{XGx|G|SU&#ci}Svz%3wnX7%qF1mzT!}GHRsQX>;+|9U+ilbxj>neR} zSl7rkZ~us&;-_QYhciNtNfRIb849~@xbY7|et`C?x!@5di}IfdRyC+lee4t7Kwu|U ztdFCfons)v#*^mFU5u~&c4D)9hd5L*5k}b>Qe#vw(XI>F?U;z+e}%r@&t^U=$AmUU zoTlU*UbO4}An}lbZ|v_M9U8Fxf%T-js&Hekf{=;6fEQ)!SijCww#zI6PHjtMeMc@c z*;zT%_d*{|xfql8lzmMdOEqb?~q7G{junf?8_?PU(S#6f5OJI>j8UZdHYglcqziR4q=JdJrESK7t{g zs#NPg4Qi|wkjd?VAkjG-rkgjgOQuCQ#*?@M1$uD!&1BI1FA=BMS2Lr4416K!1UIe5 z)1}64zWG2j9&-+b&p%`FLzORhsD8U_!_RqTM^>>8@R#M57>=QxvccoNSH6| z7PB6&;Qys8ggNI5(Pmes;DrLJYKVcAJ3k0n(y#b#ra3#4p@a+m9K~wSb!1Xdi}imG zupy&2LH64$R8u<5tUL19=Sg>HudNj*Jlf8Uwl8OK6|Q9EIu4$dzQ)7>-XtTkVoMX| zfT_xCyclIf?&@PHy?iu(VR|p*G+2^*vInm{sGa3&`+>-J6IImO3jS(oI(Ekoytw(O z81w_CU)T!szrW$H?+b>aw<0F#>44T}*MW0SFex31gxai2?5@o&Ft0k#f|LfZCF`}I zbXWqoOgs<49;pIjxsV&OX$W{Z?LdB$3O}N%T5xQ}lEQ9B9BHY-^5TQx>*hS>GSq|~ z)`!DLwv=D>+$A?I||faI6ffR$!6 z)LpU%dtS`aYqjZe?<_PCjP^sp#~lVTO$}`Ix_G+!nPb%lrqY@}D+KPbBJ>G4K)aEjnCU1x z7G8CoPrE4weUlAv^8Nu>sbN6>zWZ{L*CtV=vmyB;?qxaiT|iyx9jEUVjpGmK(UD{E zVA(IQf(KX$4x`gJ>CsZA5n)JPk(Jo@s*?E)+zS0eM&Js49*XiW2uz)`cm4_J)D1zoN(H(faU5?2H{s2bJK$)<8{8MR3R_1m z!n)a)Fk7t+=RP|K-FK>J=y@q}6}3Tc#5^`hL*SdHK4bc4i@8P0Wqealgm_CxDf>PD zEFAXui`Ie{YUqp@sJy?O@?vA*Yd>;j`&D4xvOUz|Yea!d2SB;aaJutUjJF?^A{0*~ ze=}7mpO^z{YdrW$zY>0=|0OhW6TFe-1tc@Jif=0vi~EnOQN#1C+_F!r*}dxvaQ472 zTxh~LaZ^5rGxKxsR9^$UQQ3=YwQV6fHj%T8^aMV}o@@$%hS!GCCYMp<+xiIE4@>s* z(0sh{CWbrUlR+b7GMT(EBhyb%hNrU0EQWuHb`E2?_Zt#H@=+64mukT@+K zXer4y&xCdBt%$oE!Upbd!pTO1MK)iSfpWMR3=9v234&)!b(JElUVRtpCJcuUE(@u} zF%BHv8z9-d8%xJ};_thkL_yhWX}K`#9AEkh_vmgwX-RL`etZF#J8JTmt1hx}i^b6V zuO9cCR8UV|DLl|WB>t_mo$sGo#K#IVwPT`-=#^=XmFXg?J~056d}-nw794?X*V4iK zoGGk5>B?qJUyqUrS5Sv#qm96)IeKdWt~!`ZSDs6O)IDMTyl6j|XisAgMlOW9i*cAd zdJTCjzKcq_%FNJb5ZttUhp~#6x%P3cbnNjn_TQk3JaLQZn!f@KH@Jy@^DS7@g={u= zdN7I$wzIka?ZzYF?=ihLirEhv!qt`@#FjW!Q1Qxz1^JO|@}oU$VcQxwsBo862)t^I z{iCq2p&j)X4IsmVuF!Dg2i#cfpS6}`4hf}V!yj2u?bm_?K6(z^jRuZPSP9T>h7 z0(2~4yIHU>%Nj~I9`^AobX^($if893gbb8zXxg(tcFSfloqU~3D=w9iV(eo!u5c~Y zrv!>0586VWcT>T#bPDw3zY#p=ucs2Zs}p%wxx-vQ{|b@ijA9TuN3d)~V?Hfg319e@pk1{bn-p;#s(K8l zD>fabN*V#*oGl6*YlQeo6HW{P3b+78Pd1q|YhQ0rxR9tv8-?X_Mst zo}EJbAO1nJYBiX$+?~_{%+Mpy5NF1o=7T30u@du8Cf6mn>utQC^V3?K%%!r1&JMP# zy$IF|ZtKhcW@2DoiqMgcq-!spGxHaNz~Y%H<<9$n$K8g|$~F-tr#Pec-dr~5YdD?D z8N^1sHWALN5BdD^7V0P&!VkXiU3}!oc3O4s1h@Nz7tMCdCOZ=`%=X>F?JLQKL#D-i zn(a5XZ`ddJJ|T>5Zkfr7+W*5e?LnxB_ptuedS+=Q&Fp;wp?du!?AW45lzD@{^r8gK z6A!Vf_>h?k(Usz5(PYII40(>TL?ggA^ap-disAO$m8A%QPu9L|2mH$%%NDDwVZV}=!=)vrOh2j* zvlmt}iI&^!gv~HAnfs3|U+zkttx`e<;s8Wy3H{`*AkoL#8`h@A-KxVVM`288m?EPj3+&j&jJGgKd z4g6Zgj}GFwux2k_t$Q`ft-Zv*`YJ;MKOA8XKf6Hk(Ul|>P{)RRO~Gs}fjwfN-;G)(mcBQrlepCtBQlr~& zpz{#c^jU#PoH2Pe+~*#s{KTmr-r&;_E!?TK>uLUSRd`Z&6$6r&VRO@B(04tEn^tME zX0HqIsiz6^T^mvF-eq=f(L15X{*dqMh{HXZ_IN!h7AhZKWh;lg;n%74qV)Tp{70d$ zcwPIvXs7E4(#_ffJ>fSoVy=++j{448ZYNh*juf-sD^B75s2O0q$cVi%vZG%*9c-+l z7v88X#_z#@*%qS<+yLEGIP=O`bWgij@k;$5UX_mJDxM5L8|K1|i78|?jy+gbm;%Fn zHCXrQXfEfc58S+!!F29l#91A?g&v}lr6Z&wu%P>6q;0Cbf zGZ?zhfoz{%r`u^4`6-Jhquh?^xXh{q4vx@*Mv0~H$TwNw?5Co{r<*MNL>?A=kp+8B z7e374@rbhuw8vax8@)p?VUjwv2ZuwU!%z081lZ9}<5@yZru9+Q$A_0yGL^1Y zai8X3Y?Qpny?7&d)z?O&R7)KGD$-(~1a9($fw4?yrii}oS0@|K3cPc6lsL6yCwJ;z z5j%U(l}-=8&rdn@iRDi@C>~FU^VUDXsI&4^st|y4f1ZU#iwhhShJfvX7Tg}t%oUeS z!0nqYpz+2R^sQ*L-h3$mwU&kRbNoMXH4~Ku=9{u8W!Yj{Q4++@tbNN`4^O1$(xrGh zH5A77N>SIxnfS~o5bt}-l6dAb>Ow~g74;FsL6cj06ZDo=;XHsQMG zPxvoF2l_?l5q#Jp&n8JFQ+-?<)n=+pwKAxoyHfe-E;#ncsMMsefqpXc%+O zUxJ%Y9TvsRse=~pGJe-BV<=Yb#hmrdH1pj~sF_sAUH)tcW4EP(XQ7FByZtoE*fNCe zsJ3R>mU{51pnnPaI_UYvOz>V{lqI4qJ0maVS3m7q?4t+ug5X*RL-a zv@C!>GmwG#5@eYgd+^WZ88kuGpMGq*XTA4o2F%sY#6eNR;P8JLY-a2XdfY5Ss+Z?c zf=)EZrPZ?!{)%8DX-HD`7g71NPl*d@5jgJp6tq96tcb2X$9!p z7en_OPKe|4?qJNKkzh6SC#Gp_1^wW2Y`MfEyk9P&e``i^V;0I#{i9&IC#S-OUT9}? zPY=ZKp*?Ko^mLef^9tX)ZZ|s<)P;6iwZJ)LFib7dp}BE;SiQnHG$>T1$8ZSs-45gB z)-&RU>A_$z-+<9XMp^ofG}}Z4lK&+$?G-!7v#X!4wwA%L`BT|R=@=L_dpY}k?GoGf z`wlGJk_j7h+EFg`7>K_8VTHZj=y&7~`0UXkjqTywvr#T^wPXz0uG53o>+|SiLOAzT z*s6;Ddf897U8Bb=qsu2g^M=YP+fPI&*aABSwg`9&m zy*RD|V=ia$neuDt_%|O~sTzZ+{&UH^C7zDnJ`Gm6GtuaVCmFxYB|3bXJYyPh*0kXy zqk9reA34D(q&3JZ!5xXa>Z=$7$gyVNJL?&itVU6%mWZ;!K{Kcm(bj`6*pJJK+>Pv5_DJXiuN@Et zQXkWyY?dPU^)sw33TKhElC1c4iYRxF7A93GQQHc^e|~ui^W0U-$sUkoFzXs-zKg+t zFaM$ELm8?zilN)H)-f%+uR^Y(8XeF6W6$pH6TdSIp$BV6L-tG;Oi~^TV|?e3lz{>` zTJ0yhPBl_IzYcJ}JhSsY#N6uqQPp524Y{pG+h$LupYNx_j^C?L(}}KyEFoy5E&W*k7v}|P(uDoPV64_rrqde)Z1y#{^jJnz8{CRRZ?59@ zPdgwy8v`kH*)s0*)iD&6l@3~Scvx1MhnZ13QDcZXCgqi}+ngMImETFf<-W5?KL7ZZ zoNfG!ZN(tbFJ_5lC%7%eN~Ec&i1!V(Y2XS8+MAxswH%obzviW|;Rd#>HQ@sMoSekX z__u(ZYf9Ny-BQT^p-Q8pt2BxPBZp+owZ^lNEntQ8~Lcdo+Y^R|EyS^ol>D^r?Kb97IbiVeo!^ z+9-I1ac(kuKKL>V3tK97FAWg)t>b9LcU96ka*aEocp8_Qslm_Asa(Oi3ijmdQEtH} zeP#@2u-HBaubpux`POsn@zG>1*(K zYNTu0jfWyi_;t-1;xubBO#YtDwmcO=uD@=<(YJj}yT+16>7QX=va&=6(>6id#vQO{ z&SczPJcb*fri)sh0hBAMWk0#+%zOM{@LTnoR~hVswi_Pe9{Zb6w#R`qr8>n&zZ?O3 z*IUBQltT;uWE^M}0^Qarke+J=BfkD-ktN^w@uMWEU%8IY7Wn(C^sUfq%4D9M$`w1N z@o3jSfF_MWu8Nt_{a?~_Z}uVlp+25wxyrDm=iak-QXiQ4S;k*|QOdPnI1epv2GF93 z=BQoLEch8JnXF?z8xraYH#~GZscb)2wM*3*BVW2x!2Jp<61?jpBKAvTiC0-eIznE>I98Gld0H#1hoi!%c8Sa*;pwJ z`q4NP{@9Lz8^7-2@x9k^!>j+$Y48xNmUD&~=IyM~+n%T`8*D~tp{C*h_%?75zh1S1 z4VV~5p^t=n%8z6CB3h23imu_FY$fP_c!Gb{F;eU~EQM{@E5o|3o&=@1-#C2D0St|u z1*#(}P!ti&{d4+*Pt)D0b;TJ_xxSloj`XF@3017s+6P8fKWD8a*Vxst3Aoh#6nJ0z zgB#ihquYfsRJS3FflDxs+8U34*4)MIZst_?%>s`Nn83F5G;zDMs_xK-1$Yfm|bE!UntBX<{2)gowdT> zY*nUN%M)q1+h&^A2XOO=I<1as4}C zK&M&<1gQSO=n*bt^!prBywr}7nzux? z-XB=bKYd!#QEAQZ8ANk7W+I4fU5(x~QuE*s>!m$jck=AT@_tb=0_ih9}Hj%!$)`dk#I@q&9NeT=)H@rIr5 zC_$&f$$0tC3v3-dld$gy8Ubu(V_51!8=^OZTETd)&a zG$zvAqiJ9<*or3KF{1HC!C1ZQHCv+;&+c`mvI!HfW67;FINmst*(h=JYqBG*^qpUx zclsXMT#=!Boq9Co{4iX+d^eOV4`JS4^vjhl#lp;RcW(8@B{X>5eRR3KjaDC=fsHQ1 z>9LhOJz8JQpIPQfkuOG4QKbU&wyVcP<$MTT5yd}UD!i}lo(glP>wb@hs{Fsr7IyDAlR_M;D&Y3{m!rhcG`W3Eyy_T~Z6GH8qvsv^p891CONqf#^ zvp+Fy%%z|PJ*>>wmeqzfG25vx<1e1RJ51=od(hx-B9dwuh>drp;bP!CN-3X; zTkp(e}cTYjKcAs2on4u|iSg_;Gw#edEXfV{Y3ZrrqM zoR__yNOog5G<@z5CcvFF86EEeC7lCb4VU8}aD%W4Q18Mf!Nq z5jSipVYL;OARDhrP77^Wg{~n4eUSo-w}EJVD4s@ZXS3^vW9jUkn|S}kU%ch_8oRcu zfLl(HkmHD9)(^U-W(;w|w9^Ur;`nnkF?VC45EZhoZo{HVWyVjPO(LxtKE-h*8AR$M z%-)HH1)D(6a}IUuH}YmBv%$}!5q^KlrmZ_m!M=GMy*+-L<3l<2+~6_Z-(t)wPdf?x z3Kx2vkpRP1bg~mWInot%;8UZ^EW&#o>z*QTnTAIR{kxgargWaZdqXRB z!4qa5g?@D(*pIvVG~C9AZ$8z{f?5vKoAS^2^`Q$wPAQl2+!(Ukm3fID3o!O#2;5XV zN?KQRXoSZ=Iw#P)mGw69YrKZg-IGfM2Iv58fZjuNU~BOAViU?#zJ!t4Jl^^F7<133 zv9O`X(KGHTPP96O83N-ZI&?KenMw17*48*>r7gWEZ^tVioN=eHyS=+?8}EGO1^4;m zZMb2a!}o6agW|#2{KjjK(Kq%OEw&y{o&LAkBA4+rx;q$p46<8bt2e zqtIfzDrINQqCvanu#e43;N7(sw?BIc16n)qWVk80jsK26WToKW-DSK^%@f@B!3{K> zMB>lUCHV4%HjRFr!25!d_o$O*lzMBy!n_$W-=l zp^(Sz`~weu#Dn^m(V|1WHR8=z%vo5!CbN#q!XHnpaJIuL$k&X3pM#s3ewG(Ym2Cyb ze~O^HGzT5CEt%IjEqqc@g@qS1AZNt_QL*z_?)d!#w!d!=n=i2gFKJCcn=%3wFr|b~ zvE2IC>NM26oI9QVfDf5rfR3Sy#aedHS#9`Smd87BtNUbVivLf{kTzsz*XeWTE>zI| ziy_>gb?#*36^!3+S&{EmePO3~hnqWV2N>^nq0oyFxbSx*8yu9w!k>%29kL%MGjdiu-`=lqae|>y-kLDAS3b{oDZZTMx2U zhqdr}-wPZgPU6G%J;GJp=dp069W)Es@_7>%kh#-A{M_q6S#9!=fA2p`To=U*%fjJe zSTtWX_b^OXbl~iBd&S)^%Gi*5YIHjJ4fB3DopNu-QQ*qq%)1sbt=^penm^~(&DO)U zP7ze3cZL=?%;SQ;jDZp%45%OdlWS8Q&QyoppeZ{f}*1bb-0;CLA*Z z`JSD>xD(G_vXS=|(x)dnT<33lS}yy6KNY(MlkPMMY+Ygs^}$&GRh^sNG6H`U`mx-v zr&z}N#r%X!T`+#+h}m1NptY?c#Cct1+uqhNdfA4X7o9>?t7ZmskHc=gU*faxG{Eqj zg7u`n``iY@HXO8b1?Dd1Xj4Qk?1;REcE2Q{I{ztW-g`mlqG^k#IhjG=dL5XfXa{lY zb>WJiD?B!uh}APb;GFX@Fm#O?zxO7u3?S!WTvb_;Ii!{5ot)ouBWZ!@N({`dGV4JUbR{TOC@P670z z)hXol8T|Wm9K0TK4EgUS#2dPj#PsWsX;z44p1z>>bvgZ-y^5Lw=2QOXh1gJ_42^47 z;!3OGbbWsyE|*zWVQX^~{q6QqX=)M#g#19atsU&0kj2R0k}>m&Dc#sT9d|8XhK&b; zg&E-!@pyrI-SKZE>AtMQVABnn0|E4e1m~(wjME{I~~0 zX|wt|+Gdu4!^)mx>v#k59Q&0G`y)%omG+X~p|MmoT!|Hr&cn_jmh@S=7Z)tdCW+Lg zkli^Dc8D_3G{F*+SKWYT`u?myUY{N|;|dN#ghk%543N@ob~VC2U|}RNbEh zgR3Vqv(!+09~glrOTXd5wpa+;GlU&=DP_tbA{_gS7Khh=d}Nk}ZomZ|!`W>J z4=SVR=SF#un3e#ns0RPDD8rhPy*SEw7M;4%&P{h|68vz&nMF}k;O2ypyYmD1prb)= zom0WpVKY8kWWy}HGWm8j6N*2p%c$Tv4$s{Re-xZ4tR{nXot@6oDpU9_oB33ksY%Uy z1U|Hp4;?a3f$NSH823^OUPP>bmqXRqq<~{Az)1m&Ro!raaK_h&(!qgl54i~zhv}Td z9wvSDFMmsT<{t=sh^ALZVC35!wCm$;x*&Cq`>TBfTwbJucj69O;vvBgH2BWn^Gt)x zbF%Ev?S4!>Fc&JmRC57wHe|N)i0JogGj7r1-zc-=F8i13fV&jpY2~Oa+LV0{8!d0) z^!)RDRHhmEPH(}kQ>(Gi`MT&p1>yFMnsirHjg0(mGyecbQhSz#gANR&2S?@TerqSk zh75q!Qo|rwTbRSGGQi7^5Adf`*MNvF?(>k(|utdjuvXJc=MY}(pVpWGkaLi;in{j3f#McW>0k2QY zYsoeiKS2&sjy%NsN}(wCX%9ZLILTH=TEUuyFL}*L`$6S@6rG79RbLl|BN;PCQDm+R zQBgR1Ni=FuNJL4IlxEFkmL!T2AxbGxQcB#jR-;gnDN-pVB+=Y28uXp-U%2<&d-h)I zeV?b@nLW)qfw9#h95ObCIh2iHTO9{5>GOElD*p*p6|UjZEgd-XVLO&QnM=Q}Ww0At zYA`7zmRSTGfk<^dER@~DKDR5GVVIfH7z5XMGmBWtDfPT8@OKlE4zL5Iy=2B zoXvdqkGby;q@B7ASm1si;x-F=isL)L=P)bT*vFL=FRvq$8;bBP_!>2kSN-Sw z`GQjB?d!vb=e@xR8c)zY&6=`|(%6>FE1cb;UgospGdFU(H#CS2!zOzhXkWjJ>CGPk z)q75|*E4O%*!m>D`6c4n9jO%hF&Q0_Pjfcw+E}W10E9cvX7wGlSW^&0joyj0>R>o! z4&MN@-HpQ97K?6KKLXeP&atL%Vyyhk8faZL7z<{KaC5ET;O=+E>A6#Bwb@w!wN4h6 z_Ly}{>Oh~(iLg9=0(iv-F}plxdLT2Mm3mGUatOPiE^{M(9ofNl>Aqsg@ATl=s4`sV zwja~K#t7^`MLcwO7M2N~jyX&7al_{;u>O|7*FP6RJ-3YEYTOI_?{^E9KTpM-<{?zn zw36Cf-eX^OD+@Vw&pILOEt8Sa7hG6HSn&Kc9Q=J4|8+Lt#nf_sZuVacUu{Ol0pc_- zJpnB1!eFMwL--b&M3-B=*nyAU%u#w1y-~gWY03jo`;!On-yx<{yu@CkBnt2o<0Yq_$ESTi z@ZI}C5M2@lYfcq_*06Lo ze3l3%578-b_|VK|6i>(VF%NmUiH@w5U8O_EBZN$J8%B0(QcRx%8{xMA_La!v(a&#e zmrPc~lufcUMxu_>6wch$1&b(E`YtYdJ&!H)pG_N=Jb`7~<6%Z_1IFY7Emb@Le|$=C zTEz~EHV(r)&p$ZUI1==v3UJ1I4|;pwhCcpQLa*nOvFn93ne7M^eY~|DtnH^#f7}kv zqOcSS zEgPpre{C<|zS6Pu*z^v2^`;tQ^NJ{0;xN9Qn+reJU1fh)-(cyZ=hK~zqu~AI8@ryZ z2wz{hQTBtOT<$St(FGTOil1aaeo~h>^J$?>>UcaAH9X{Is1#x7!ngR;x(S@Ut=Qxb z^GQ|`p!(KP9O`Sz4GIXu%%8DnH1Z6t(a$D}ekGJwo{uWt(VXj^3>uf7CouhIvrB7c z(a(1rddx|IdBUt|Yu|>cB^~2Ayt7vja?v z`}X-LY)oii&ht)8L-yS9S z!Nh?tT&qFXrhmb&=4mY9-DGZ>!$fjVI>9tlUf|L=23lh8uw`043C#RKhj8cm!?ep@A0pSuKxyR&u(VgiwKapN zd5;oV<`xsR)-d%q#9px)lok3FS5u|P`D-3; ze@R?mRSbpUdzEOcK?3}K+XaslhSRu>J%XQBmG4Ojp*JJs5jw*Ju5mQ=CfcLzN}-=D zw+a0dr;^nUdnhv$*x&8#>`b8|ZcEH!Q3pLmwqYk(d$1GPACrXWo)Fu`=Qd-Yem;qZ zN1(do13dBgKf%BI3JtlXko#}|kLpA4;;)RcIY-b16 zJmFQWoRH(}W2)s-Y0Z>lc;e|B$S#-;Rla{X=iD@$-7U#EONn9dbP>C4pv^zF+Kf)R zvpD;O4P4K3bKETPf^RqO$K1|Qlp!6>M6+Ju-9@Ki-9R0CB7Yw0+Fj}CJ4v?NA`CZr z9Tv4cxQvbyIJh6Un9{;4S$6>s*6}?|V{jRE)bwG^w+xn{wT&(;vZO03UFm~00H-TY zd*pY5>w>3D`l9e9f5>3FqheW4U;;nm%T8wBY{mMz1V+P@Cbqk9A}FcM#xLvi!A8jN z*T@}$*l=0O5L3eW-p6qJ%?0#h*$2L}`~n5pug7cOPJx+d4UAfRjkzAuf?cy+AbrDp z@~o7n8k-Mn$9oNa$jUpY#t%l1w-xN;iUiiyB;2)1E>M+lw%?EwCG0}Xp*#9Je*^EOpbJaSbpD=`ZNF{@3mB34BUqVS~PnqSP0F08(!nu#O+Ma$TqGKmDafIOq zjywFDGdOjI4_a8oZ?ra`RZV7aB+Ql?h2G=n=7e;E2NAlmXCo+Y4>R$UHm=JyF@W_yvAj=-ZnzlW|zF<3ro8nn+4_RZ`Y^ViY=g~m*D>KI@L^liA1 zm<6`G=1rm20e9FV^^Lt7rU+LGHwkW~ICeI!jhDy_z=OLIdF@dNeDA`c;Ckup4{+-M_YcQkv?ecyFgStzs3S0Z&)GRLsnvUMlfg2i z8ZCZpz)+GKvz#XOxUr1zROUCd2XiFG4*5bv>5i}-)9>>-4}I3U!s3aG%A()(aal?aHf1`X_B$v)*h+~i`CX(&*~89 z@=>AXRZ$>r;Y$^j`tBV8_KF^nR-B=3~9*>2pGp|e2 zofSYXd@}p;VI#?Ce`VhWhq2Rb zPPAbEHzsCpO3NLE_nX!V(Uar|_AI&`UAJmeL-#Zcziz~I4ku7*RXC)Mo*{6Mr(;!7 z5cQlC_M`b)z}!CaDj$>C>-A(?cl<1uU2ukum%rv8Cpog!3vRG0m8tCe{O8u5?=P^o zis>MlR1P*>H=(L+7I-gFf|uzRacz7wG-R!%rdQsmyS4@g+>SGGxDN9Y0tG;Z3+=J6 zg7-l~t9o*TH;tJw3RK4+e8_wC75Tn z4H;R=!oHYy^kyE1xBPUuu^00=)y7&TZhD-awpX$qk-(g3nZzbWyyUzeBnbPhMEEAV z4$KV4vX^0ZAS`4F*zK7}2{)Qq$oxoX*=h+(#@)l}G4)tKxSfR*J;kR!#(1?whJH?$ zrvi^C%)jLcuDfzs>#;#p`#KJjJcqy>l{}LFewCRD9QvNTcigcMDJr-V&SX+l@y>-X z3Z0d~+&^#Rc6ZLD`;X*eArtP)D^c>wL~ccJlZrWvS6C!PGMe%n>75t8u5 zmrrqFi8*jA#)v=r_#{}H_2H}y$*iJeC4G9efl3ZK(2%Xk>~dNR4QWz_xOW13UrK?_ z%MFGJL(AFSls>5UNJq(36{@ILfEK-57}7Rdq+dn!>hVnczVND$i#-J`17ko+YBy@v z2he`k3@nQ7=Dxnn;!Zx1phl4{^9^>VF6>;jt`9MTz25j3|0fCZ@g^P9CeQX#8d~_!oK(?^#4p z;nc(E#0Acam8yj?3N z;OcrEkXzsc$;uzl_eC^&wsH#V9Xk~3>|FRC(+)z-vLWz#^Kl%Ma}1i7TVaZI0L|Gc z_@9?e0I|7EZ2i$jK@gb&ZkrcF*NT_St4E8x%ud+eG&{nwV+&c?bRSqMbYr``1y^sZ zEV)0JjG+lbaS%6#bS#$hvo3_x7=>z)o4VP+>5swneZVZW2`Krokdihfu(W zmsp=Xn4J}J<&J_=L92W;cqzT$ZtRNUDl#j;rfv>chc~mqCgt44v%AS+AcIXCXM-*a zo-om4eLmO++1_2=OlwRRW?RS$-jg&Oyg>r$HjU%tN*^-KNWn!MmIF`Sk6^d37f|ug zVqfQ-!WA`x;YRpe8lRuWX{w*%#k!OER)<@NMl<2f6lwT(JQls)je*>mY4CHr2RQ#- zML`CBFrxPwu3q(xWr{-Bhb!Z`4+7ioknrwazwRQl*dxw{mlv?3%EfqKQ9tLlHw{Pp ztP*_+Nrux&YG}R;C~Wl(%IQvI^4Y=+=ErJkk1=KUYPv+T1TW#5LjtcgHja3?NVb2& z0gRuwAC^5agIhJPsX8`>ovxS$jR%tXqqmO>{#Kqvj?w~&5guHKn6Q4i|1(k8$(jyJgeKsmC3BAnUU~BU~-YoVZthGOeiVxnhJOx)UDEP+Kuc$=cT8gq)hB2S< zkx<_;mHy4nW!~O$82EWVzP*yeY!+I4c(IYgZ@e?P)u{{FkR@kG*zf+~h<1N7T@*#RYISzkyUuITaf;ZO7 z5-cxuLZ5pIN>?96tG@~CaIh*FgufI;t+~L7y4yx#;!)rhR~Sfa9a5Sdv4~6TOTB_eXExBGZ);d(e+cQkpUz9j zSYh&Z4LazZ%5H2rOcDj@tn0W6^Zb32-_mN&+O{8}C3A{EZ~QocRjo%#`dU=Dd3_GmXwZmJh}9T57HPZQY3@7l~k zbPX0h9)m9~8qjU+Hm>1}GM%0gLwgt6fO+O4EctguNV6IP@4}pnN z^!oD*Zl~I0h%Ygx0;@Q*KakJQ_SQkAg`Mz8=qPQGbfO=VJkZ(5m|v|k9M+4nMDv&F zQJU^#US;Yo;d#~qyMf&>MCuS41QfAt5A-M?{~=!ZBI4v%jU@SM2^cp?aEr{&1&4A+ z=(tnDl?rU;P56;-Zg0iUUCZD>^l*N%u?ZXM^bGcFnuqp#-|@57sDR$_D_A8vM_}lG zVas~VDCM|5ynmrd7xIfCqF#}*K<@V+8$07P#1GIs0YqMu#--vyL5inN7rV zKBXoN3g4WfjQx6GvZNg+-+hP2HNtGqI1VK<;kg+qHHIQ)#q+6w7a^b|nq9cKj70rB zEZ9`a6x2r3e;Pv|{iiB@8X7{f23o9r*duP<$Qksib}fi6C}H6O7hr776kGo!e<+xE z87y{&v(G!-nTnA=8#yA04U%%>7cG*(B>Bmt_tRC#3J(?B9v86tU!VYtj}sis<(R*7 z3-|Days#6FM_BR*rJtqReyBSMSX0T=J6uWoU^GpCJc^`UYFKpN1S+1R4%Kfi)1<|c zq&_qO*A=Ny*Oqd&|CkJo57bA~qT$RWc?zxlz8I_*$%q^t*Kt+z_hW5PGQJz0%Pc2_ zqpP_S6b)CU_iLPqpTCK7=o37JMn>#b;4|*~)mDD9O*{!J1d!2<6@lrr4Y47aZoE{rbl`W<>$W{4j%K@vE)TtQEZqw7z&I>?c3=j zzn}=e8W*6HRW3R8-sj!=h5fUQAG9vDf_A%3{*GuloVjnn-!?E~XL5cs*U&ATm(bam zT&jjUJi^)DkY-_Lc0q79ZinTX%c!j=%U0pPWrSUa@hes0@Wg*iIddBAYZ^y0OwTie zm_w-fEfdrpcd_0;d)Oziv#+*{qKJwxSlK5|HQQgHVu~}ETsnnOm8OE1d>^fn*J)C+AKVJI}DY$>Yh;eJ&gE>m<|Ls{^+_&4g!7`lM9EK~2#t zYI=GepP!ox^2HY9ci)1nvC?*vtS1>Gpe9k}@-QYTIf=XW>n$3t=w|UAhM4(Lkwpy40;P)$I74g;P8#ZolaljD z$sc*Kfaf^kr7S&?8BTj6ui@x`X1>_RkGh^5Vq@p~Q)^BtSNK&Cy4oVG*S_rHUP=Z~ z{}n%Qs1f?WKU|rC^EtArd5Nj({K?SOge98orek~CSwELjYSS43fA`u#U9pJyMg8K| zznDO&9?|sL%L`qdBDkbKzz;MY#UBl3IH7SGzO>54^L3N(#UMTINSnXVPm<-DMOk## ztP~X`_QTb)+9YEz9#7xDii<6DC|7daatwejDg(Il$f34L=zaec@_%ySZQ*G@7lUM>KxUfRp+a7Tbsy3Ea7D*XmDz0??z&VRDqeC7bGkC;vSZJ+bIU4Ek5_Q8<-!cFM8 zXxkd{256*s4{KlqsNEaJ?%e3czfj2h6V$ME?jmXl_XTCQW>NDKX*zLy5yGfo+}xal znbi(ZrnZYauI38&OnUhw=~VRjC@=!7ytxbS{}XvUYQ}jpR&yI~3kECm47PAgG<@To zm};l6@9xY2&8`7#uk?k}2Tp@{oIY2#wUAjRpT?sl`(U|K58rUvgp48#ZPMJz_=6KH zpku&*vSWn(se=jKZoA7yKQf0|7jJWRaoKFfJ7GO@p96}+oL~csqx-?zNqOH6 z)-qIh?!HIk+USL%7e}w-+>NqW?i|4KEK|To=ME{(9Iv;tkPVyc zOE<+T*|p{%lKZX1wl*X}eqFikieLjuk`S?ddy_@Rhji(~!&TtAsYMhr>@dz#-6Dd{ zk#Oy!KizD+i3i^53Y}{eG!2=@z1%0mw$4yy>K9^YK=B)!YoZFl(eBWeG?-eP&#_H6 z!)T_WKX)ZU10Va#lBh2ldfg(JWA$M)lqtiFdUEXG6D4L@?GGkn9m)7qtLS$1WVR%z zltmg&02BAgz?JM`+h`tqwKAlD+fUiUEq-Xcyh7mno@5u4$58V{8>lEAu?Qt z4PTqW-fV3~@wIdD*p3H`FVc(`;Et*AVX(G2U9=+OI`8?}$oNbX5T$GH$rZIs~ z_d5$kC*R^}RWE8< zX1pBtbm~+%mwd_g)m#qH^b5Y9C`-80lrvwoimGJd>HKNI9nic47d5MZ&RrGQv1Vi#cI{5W!Z`koC{yvy>|2(GofQp&vR%P0IX2KUW*w7XQ;h2)K3ZAWH_ zrd{vl-YNX#oXd`z0P%@jkQ5hGn4x_59Zkvp;d(iCdWcIDX z5mwpH#8J-9Ag)NbFRhzj7{%*+=P!X(_nhA(5_s&rh9ngr-1$`o)4X$QK}Xe& z#tL&K^KqB)+bSvOZ8V|`kuB}1jYi*%Dx`V=Nn>=sZEVnb{O`RO%r%h4Ygd)Apu-ky zt)!vm$|L-vTg(m!bKL#k)G@)Zi&Gs}i$415wptg(S@$+qT-u$82b;q9i<{qq@AvQE zbhnv_e-N?~47diDp`z@La{9W>5Mrm0ZI#Oi(u#C-=0xXBf0dQ*fST`Xbs z?c=<%x)XE;N!iK&_Ts&jk8!I^Ep4AV)^aILj?lhf5J*-z;@_UsAE_LX4HRhF{KjQXZGR7yBt}wo(5i4v50cWa3mA>IjgJucY??24w zvn7lye8g4e#?eFd#rXV@8Bs$t*DUJ^>w=EsmG~emR31Wl_yBVsegU7!egvU2;DXe4 za_y;Mu`?D6Jf}^#wx|V^zZ?>AQ>5uxs2*hQ6nwZxEb)82Go@~dL6t?ikX9hDsn8h1 zd=Eiq$|_vssZR?YDpSw;-Ej7RhVAne)9{L1A?SM-q981zl@*W5utJq7?zE&>&gPRHC|V z=Zur$n|8PIcLT*(vhY2q4k~7`va84}S``%eNWNFfidn8a!WGOKM{=!xOt!56r$qa~ z!3S^9v`-ldE_#xF{CR9UT8OK1eWCbf0OojpN0T)ppz-H1E-*ofmd>oe+WQBw)FQejMKa?^P1HFxr1nHVI%jX8Ese7Vo(_zf$ z;dYSosNm;36P(jeOlao9EZE?^7UJA;*~bH`v5N-qsH6dI46Ncuv{o?X<=y0-ag5z? zevg5-4&ao3k)raFVmR#*0%wa8Vd`wbo1+xUnLPL8C*3@ae7z63+*AZ_(`8IUbsG1| zZ!dHSJDo$h8|k0GRNHo26)&ERW(#j6!j{@R{QhPREWg@}1?j15yWbYZZFPk76?}2`ch+hHBtfAkNwD=c%NhAa*bg}#9xumnA<2Cl?-2w7?RJQ zBz{cOBwXpGCTjbX!{lo`xPZS;QQUbP3+;}euR(#Z=W-C1^vI%1ha|;(pT(WEUJTK~ z|NOE;hlIUKG##I-g_8eXp#$6e8;*`hU6Ix$hC!Oy8Z0iC}XxW$(c4}ALmZF zt8{u-E5*N{VZ6fUOjYF5cQgr;l2`smX0F~F~82>X8 zU)?*1*H{i4+7T=w8gx%y1`2B*;Oy|xv})UH_EGi;>zuIw z-h4D51BYO2+H)S)zVa3A-n zp5tw&dT#IYh4A%tE+5el!51}VVL+q_&F8atUx&dY|M@Tml<$WO7iDNNnm~0!mQ%Tj zBn2Klz;bNI(T4py(d|ETvX;EZ51<0QzxoD$KaizG|Ftn6*PpC0cQ(}JNW$clVJQ1R zfo_lKVYdt;*uIe*jp*`!&l;Sxb3G((lw_NJ16KO)rPj85&OCU4Z;n2Pn>+7daNH@j{RyG~L5Gx$HemSi zAZVNq1Fh9-F}1o8ca$lyjvPr0y7Pm1E)X&ZQ-t@Bm@1vCR;5E8Y49y|0QVMUw_`vvZ1KERBMsg6*islpZ%-KW?meq9yoU51~hX+lkgl zpst@S8uA4X0VI_IP1DSlxByD0pYzntC0 zO)t@>Ioeq)BzG|dnJ%V@Tcmi6?ro&5FG%lL~ymIBMlguX;cQO;9Gs{Ql~ zZyo95ZtWjNG3}1@=D|$59JvkDA3wtiGRLj2mq1=c539-B!HWCTXy8RC_c=8b{#-vx z_D7H6)SKB%Tz5Vc{v0ZL92v%o+ITM18abH9!FI#3pxG9W8-5L8*7-}Rd**mh+O9=Q zJ{Uvp8*|XeJ&C2hiv*tWFgRO20+OfI;AP?Y?l1|Y>ZkOD51L;u!)TwY@+dc0YT(gl-gZR`&I;=GO2x#l-}5R=Ounk|Eqspm2Ab`RU| zq=To-CcHCpD^-??sC|S7eCp2U7cDu?6$rq>%KgxmjdtSf?LQh3^S0~dQ8;}2a zDZ<%7vxVG`98>;xi1mDEgoxE&;B(_f{>dFpO4=suUh6M``y6-JEjZ?v+%==P>+USN zKNXbzn?>zsW4P~kcL?3vEG~b(kTr-XW?rs&f@cn3`PWqV_s5xbZ7JX$#(C02u`f*Y z&H-9SoWN;o0zhJ2FW+*ppWk)s5EJvYqq8Ba;Pk#$TwNdy^*v`WYVQ_aCsvZ((V0!x z-x*Sbz#Cj(l7>0Yt9kd$Z}_lD8)?qZdARfTF09h~h_+77AkzNB|1xuj8#z;9+elM- zA7Vx_5evY+Qk+{Ug*KP| zV==#Rjs|WXl!MACw=v`65m;Bbk^k@Ob|`aBVafOZ+P+(x!?xLZ)BPk30`5O5z%*AOuUr;@m)_k>rV0VFY9C;oR zM;qh1-!b&dHWl*C53u3!v7~q{n~CZR(d^DD$W8DE$)73kT{RmF+J{s9I1VPxafTD> zQqa~n(YD%Di9Bx)rs8MLC~@8rjy7piv(t0D(eFVT01s|Omw-TzSJG4Oes zM5EQ7v!)+06#LkPPE0VxOuaMkbJ29}XXj~F@oN^{KWUDVW0mlQ;yE;_P=}c5DQKZ| z3v?{5Vl>|++9IF9)eNZ9&Ug)hsb@t6N?I^woirDJ`5q1(;m1$2ScK0q+A+pYnEOPW z!4?^wEsixH_u1D#Sx=EZRm($;=r!K&69^G z*UZC4p)*>1#02haUMp%VR%3dbkgYK;=S}m)fYp}Zg-`q8h?W|k?^nWkWQ`@!8WWZ| zbpcJVwM1|6SM1cIbbeNu8qR!d#%xchQ-`t&6_pgx)^MQD$aa8Bly@5A&28j*A=odAWjEobq-UKMsBAT*xg3Z&RR4+MdpP2D5v*#_a0lU{Y<2 z;mdB_fujM(a72<9-JdOZaL)X|zkQ`#?k!pLe&{Mm=&C>_IjZp{YbYj_K&(>IgE+m(fne=PZA-A}rsL zhOboAh`&A_*TmJbbLVD5jO!Biz12l<$=K109CdK1T}(1IL)a&c6|^JDgD>B997DPT z$?HiTdv~A?Y0Ns#eeyGumiNZL%T;NZjV#*r8-iTw9btzM$+n(PWM#eOST@9oB@L6H zGK)BT6>$o!gnO6f?NPk$ftmcFkDp6QCoW+&!j9AJtOwgPxQ)LZm5 z1?QYR3#Td_!O>2K_U!XzISsG*&ZlkY)TYV}+NMU5ehg>ZTt!zE2~tUA(DtdECBN8( z!-DtlLyIzSj!w5O>2>5!!E^fK>x(ps-iSeJ47wGovk_ zW$8Bjbn7d>d|3jQQoazopG$Ggg0I57aVYCZm^pu*Co-?iFVewI|s`DRbsEEED}(=U}z){LP$`%f>W3<4$OPLop3AOp}SnmR0-V zc0>}mtau^v_`>7obB0u~-WZC`=0fJD0J?ax5MLiKVmB{Y!UX;tp7avRS`Ln35g*d9t@}9hTG7Q0>Se(&je7Rx zr#mwTfSoLE}_HPt$`aVT) zjv5WOrwEIrnl+SPD#4=s=7Xxb9h)=Y3m)+!C|9f0w(boF+j8@up}K}yc^qavQCCnq zR0~Y*yD*zAzEFS4787(j*sb@Y3D>^HZ7aXw7Qhk2x7 zf0cihn8+eO+w;%bYPjtuuAs?(zHHrvXi$4-O2%1}(Z1#>XcUM_H?$o`1wVO|QjgBZK}W#xryLXrN(W1zlY5qn}C~b3@P=KkfNi1T%T1ZYjXe1PyIZM?|8`3o6U3R zbDaV%u8x2WKd-Z?FXz$fi22M&GZr?ebYL_Gim~iTj@eUDbh4*fj__Q^(;1?qCiWh7Vq?42fxwZP-CMwofJH48&}BD(nZn` z^Z7RRFCNT-8V<0!)Zt(d(1X*rePE+%(|JW<)^S$oE?5Nx;_mPjWTZWaiQTKfC-)eQ zpHhO%U?sRc{mw>v#4zoJKbU{)L7W)t!0(V449kPh^S!=XK~-}GI>r_9F}wEA9-Z?n zdvFGE6XaNt_*9ru zx$Puy&|gn~m0#e*|19Cyvy-ehD}WUkMUi9hBc`MsPG@`XFdxU;>~>tDz*nec&cuYDUiGPc_Pr zxU4oCEGvBGa#DQBg_&^Xh7S1b6*vZNF7SPqCHdO)veTXNWNqHca_^30T?$$7@>4K- z@lBI!6xa#ZMxI62*^xMGOc;|rD2!jKUcuUAUz7-IfeEwa$?niD`?@F9(JmKBTPF{!aew&fg{$egLQ{?QIYp| z=ISg-Rl0Z3;XR?*;{@z9SwsYF* ztLp+bYecc4FFs_@l_`qp`+}Q?O=gZu#OS=>zH>`INPCD9w=+pv4=*#1HE=2$Au@E1IPVl$|1OA6C+{L1;LbqOrZRx}B1hPM}1!J0`? z$gULNdiGOva%u@q(F?}NOD_bb*HfIlGlyk4t8lX_4KeDg0?v9R3(P+YukR$TQOH<4 zyM2Qq4!zEMd~6N>Hp&#pB3KzG|COtX@43?ATqMXiRS+4I3Kzl2w{(1-DLiOh1}TTx5N zJSu4SV>hjeu`^X;NwElIx2HpMz(pD^c9@hV%8{<#dFYyd6C*7eS>qN7 zm=u|Y3Cm*mV!6BUb;~rmFPzUdD=A|5piHiJ^=Qzk=w#w4^oy|Noh(Bkl*LXrM$Jn zm7R6y=A#AYUY}vpJ6`dPy4`p~$BP18G{I_^98OiM$4tv1=+|#ZH)e~`_M@BFfnFVE z?b6C8$Dcs&Uz)H;c0OOOmxcPy7tS&pF(W5V%XXVZ-uZ(TOecZ0GM% zSgAgO3W{2}Nl%vY(V`Kgc_)qAtMwi?$s2KB2HDw4M7FS`m*&h(VAEWj?TNq6|KwMU zZDIc79&$z5`>{UPnZ{&oVukY+X_}k~J(H87{QPswOU{*#6&O1!XLqsaNDh>nUf{>e zGw{*j6U?tvm~jNGphU}JHrPT7s@hvv*`|k(xHlQ{z=*|ajKn1$^{KDQoD!cr;&yBo z&P55nj{%mwE3w8Q%m#gt=YPgX8bg1ANKxt4?o}C zOc$S-vf2Xz&*5D1&Gwze_e&YyW|)ROcc1Xq_xHnOVb)RAS%f*U zl6Y_IQ6>{5Py2j!g0x>U<8_bWSM6>b=RbxISoa(Ags%ROlIP6+Zw{aQdk$Oo(unLd zjLGuKCfng53FtlM15OMwN58#Mcsyu4$q4SM9is~1AFHsfoVx`Ne(lDRW0PS>&~EzA zI9l|p(1gYgp2y~_>ax|_5QAao_QCH~d1?wZrR`3;K}y?*=53aT%xF&*DZUoRdQIjo zze)sU|6?#-?mB+1*@O=Uj}&&wclm8)7x0a279M&KkF9f_@bdNIRCswZIEkfjH`Z11 z$CFmGl!+z+2h9*bDA{#2{KxP8Fo)FS2f@V7dMIt%&kceIyq__aDUTltKRbWn`hisJ zk<%lEp>phJTZCw=_wogc-4o&Pza;oq@|vqHdVuK$D+KS^pAUsjsW^Ba_7O+q74Zgg zDtLF7B&DI->>3~eyJg> zH^Gp2BYjj^AVrrFs_~!R5A60C$7);d(gGPLPCug#heeEMO?_LKimTvdIw?=3I`4V^ zNoDABN}Q%1oXbxce-c8DJjUF&<6(51Na*mdwoS4)2^PZnHZ$oq{*%AT6q`$!#KC4R z*yJvMwIrX($d01v{3o_{jXQtQM_`1mTFTU%veh5+qDgsJl&_`~uI}VtWxTy0nGG zNvos7+sj-`>lUg%G6bK6XTw{GQP@CgV6Hz69aMd3)I}lVb19K+7%B^U>K8(DilRtV zY)tdi`!FQ^AO!Xi)~-Ux%CBX*E+gTW$5=KiT5vJO$$@snP276v4vsyxoSxQKK~Iwe zth;!MZJAomPuihP-~5B{b=4ELr1CyYVEeGBMvJstEopej4bc@L=cHS8m7nJ_z<#g& zh5eZi+0M<$@LuXGUK{R&zdlExz0q_kX)40r`LebJpE>5fqm|FF0_J{Qn&z~xX71_J zplI%km$6&7dr|Fh3uo0E2Pga5`39lay*E1#uU(l= znO$djfTd&jM zOrfwCJO<{2*os8X=*LpH5_k_qH!ibf1G88zoguwxRkm6G4&gb2Jhb6%@l)1rCzXU9 z=yfO;uTE*?Y8=DK|K)H}ndw9uLtpX3e}=H=RdqQ2MjKXzEuoEngk6qRE!Q8smYxo= zgQ3ltwg(iB!5mE&5P2qmo$bQ^QFPvcT)kf$C!<1=(GsFiNs_YebCgI$B4nf}8pu~t zX-G25-bE87BW()z9J8TPREiQ!8Y+>N*6;rQ18uOAxqoQJC&SQ&*i$ltsv)npZQrcoB0U$DL8VN zKN-65IDNYrJ&ZP>w;nzCq@@TC26u5e;7;@U_re3MdCPf#`LG#(badQ)Gu+l z@=MiAG+pcim06j1ZiFg(ksSoFfx@}++dHfld4mu86ks6nv+3KujQ}On>A%_UFswKk zevCZ>{%a=CVbRyv`6QJUWR9m5P21Um07J6Pd&T@@b-=H93#KmjgnR5CdcU-0u4n)8 zazduw>W2^gUU(SGjRYppj8jn4Fcn?vl1a088Iz2C&+?sT&{)j{OfBO)yK|_MU!5(u z=$6jm&b?ht-&$6(vajB_RN#pXnIUAspqANpL}B?&b6U4L2A@uLrL8j+@j`5-X}(ep zZW@rKcyGcLHtF=V`zA9F&Bnmuy`0JeN$B-V!#>X=827XYKkt-96R~mFx@R==>(#Hc zaZf>M2PYbp^aqFU+sm3x_~3#e+32)Ugqt+C0q>q@MceD^*w~U{USmNm4&jA;^`<7? zVtgz=yCW6Xm5HM0{U7Wxw~*y&_u&A)lisc$NuC`VG=EPxEWZ}YUW*=uulBM6FEbB^ zsQg8}kjZp%Nfo)6N3m}LBO@kV8iq@J7P^zU=vi$C{~{kU?-EC@H(6kg$fPhCemkxY zUBml+J#JMVz_AM zL8*%^VZxG&JVV;x@ndmaq<*sI}&IKyP>JCdZ6G`6wK5cO8==&Wv?FHWwHH0Rx(S` zhA#pssc^>42&NsH5wQ4AEPE`>AMFMRjtDv4^IZ!lc6SUeRMw>(JsQ+>WF)Ltzlz5C zq7)`t#NK;4)xGnDtqQLA$g7SuJ8Gh?W)74sz0U0Cec&Elt}qqfZAD_- zSs3h4CT*wZ*l=(zn1~z(QDy@%ZP>q3eMrcH|%ureHOOnAmu2$7u?nN z*rO|vpff*)Ia{`KXCKMXllWWY=D(EGTLlJo>v8CMyC1mmF+%oaIdxAECCR%&W?*19 z^LsoGnw#?QrG+?UmRnJzgAe3nT;w(PjiOl3Tg-mX3Q&$c08Mf+EX*Sw4|_JC{oO1G zRosiD6-|YTDJ*;Ve)x68f+}-`xy8&EOmUe5E!ZshzrURmW-~%hP9+*l^pq$_!V#kH zRCBMy7SeCuLi&8Ji656U1~;5LMttBdY-uZ|>xG|9O8afu^#eoT`Lqk%qCLa;F)4x* z>a04IEEW7150z+(*Jn&o%SZ1up5!!djBxJJGwr!{3s3H@M*p-Vyb$e0Ew3t=$BST$ z&QIcHs~owQuOr~Y>JjiQKc4~vrqf{NXxt!pD2G|xhURz={I+&KzwCrEEO_n*|1#d- zEOiaReV)$BpE-cok|TUZ>TB|gc|p2A{;~Z3nwV6yAGQ3~2VZa1lKC!U@M$-q@!S@0 zrag2>*@EbB0sA2OA6A*Pa%&2*>E>I(W4>iCL8udGToa`Sb6r4m$Sm+~o6XwdO=-)h zZd7{YF6@75ahBEsUL?(%wyLhBpNAH*&phGfXQRyeBcI{Y_7iO7g?{$>_(ZsWM__Na z&E;%%x1w`(6K2$_!SLM|1yb7^o|j`3uOSViBa$I^%L>rdn@M_-7vVylJXLlYQRt8T zl&_tQx5k{peveCd@Y5&eVX8)XS%RCPYBi^G_8dGPh+|g@d`!0$eaF9MIo#W9Pu$gZ zjQ<<;2>P8>&^kAYgg-R27Zg#Kq93U13%#t7we0j6KT;5S1PgYHP|HjSl3zN9l-H|6 ztMw8Zn(Imb`i5}s!;4r!jRxj@e1&m)3rIC|v*~p&eOff`Fxp&VxVB(94vK1E_SMB? zc}oPG*IdA^MRKtAr9V7a$C1;AN1!j?#;P`R5)N`?;&vZ`EoDi| zGZw>4!=Rx)7rZ^21uu9u6iC!T%g$%4SU!sBlzGyru3`$@whF3-b>jK_0aNwuf$YHI zt@I?@p3a>$ri0=!#2xmgIa&WPgOV4tO`8L!Wf#$8@GQNsOC+7_A3W&4<9vN4alfRd z!hbhsgV~`STtKG-%`RFa?D8fF4%1Yoc=H?Q;5ZptyszUzU-O3~5tGL6+%N{?LIorXhHc zOHT>xHb*afHs2YP4JU)?_Pbc2+0No_&V`(!ef(pA$>MEh4?U98piw&n&CgDw!QRr! z54<;8b+0p8*k@VUUgH)T z>EV%K`E*O=j^Lto1^T1Qb|)T(jh!dx=&a{_NX|S$?@PGQ>pTR8`9h~m7EI@c(CimR z;H&3>@%v^nBk3$?y*7?wM{0rgk#^iTJBlK5zhk!UXWS_CKmR?u%tp*vM|(~^!z0dG z7*(GQ(iMV3;Hp11_Fu(|DeI^!vWdGg&X>&$e87s1*^+*p8H`vr2R029LzLVFcr(Kl z9p)u7*SpQAYoE;ALn_#USol@MGmWWW{{pBTTnd|C&nE9pXQYd5-!(s=2h@U+MaeUwrXitg*uXb~oK0}8y^?C`eI|Q%dm)HD#-`WZbUlaIjR?1Aq_VT-@ zoMIaG8u+H6fqBf=qGKX^nbtJ}xau>CF0FBg>kyD6p9hTYzClS&7bsBBX-IIGt(Z;z?)&9sD7x|P68BT;ykIT_W0 z?CEipDqK3R01G>X{CsZ$eF^lSU2aDyPAnXXS59Ir`!t9jhye@tG@4SNV>%#aK)IS1 z=u3MnG?*{udmVG}=@cotb$bH)bX>Xoeix4k5x2PhaAn%jKZ?8;i{R$c>k!&34l}P^ z!Xravz-)*l)vb$SzhB*D>Wea2(Mb&mzPScR?>oxmKMPs0!^O1qQhK?WsVOaayBw0L zH&iG{9i!nZ2Ka_Q5zrQ44>HE;a4|ob!d`08w@^!}c$7>o_vTUX-x!*4Xcv4NS_DVj z(`jh6&?A~2#V35U5!h4+x7!4^?5GoPR<;Ir%K8g=|NZbaFpI7Bi>5^RV64%34aWa8 zC~o?r%EHx~NG?r>3oI6=#rk^Cabgdhd*1{P6t1$vIny!9P6WHHEBS+`#)8!IcAVlB z$do4BLCeT82rw?8OzQ%4zXs$;)4=l6JbWyF4!jS%VV5p0WVwB!xB}HEy2XH=ZG8>T z6mxKo*a4i@Q-M*ZmXpK4dRV*u6WiqZ2Y>0La^vkvNlZ)&ZZ2F7IwQ}}`ITyjD<vH;+3PIvH5)aB6#afz-xDQFvey8|!f%#{`z6ubUg#6}Ca@nNzHEV;Snq zu42CDmsKuJE2FDdqAES!%2K&`E35ku$H%lyq+Jt;f^RRZcp%J>7o`2cQNphA*P?Z# zJ1`FOMr`GyPc-9^TnpU)FO7}!k|pcNv&P0(hCz>bK3A)pODgN;g27=QaKE*I?oIoG z)lsQ5FF%dDw{RIOzA&4*6GsakgKRj!Nsxr&ayl@xf)xs9u91F-mh)rT9qByuI3vZW z+s2!y@ARSwOH=X@+(LFJ$G+|md^4M-lACuRQLjIlXryt!@`mz}Cq-!c=45z;SPVa zn^}gBN0T%eI{vYV&2mN-)V!IFzbImdY!m3uyCK9plj!8gTzY0T7W`W-@H2(Xll-}@ zVD;)BTOTEyc>}G{%x@c$&rP8;4+-!(F3dUB-9j5TAGS<8m~+0o7o@+3@VnK#VVFn+ z%l*|_SzU4*yd`FE7sq>0n*C+?Zo86Zs)Vsk)>GNM*iE!$Y%%^YxW$H~+-1R=SHp#2 zf`Z47LFA5?^LBc>|})n)|i*^wvUhwA==Z1lHOszq7E(-wCU$^`ZR9 zDBiSsI9O+tR|IHgB7fv0boL56GNmf$%Mk}dnd87kK4v>F=fl|B8~LG=D&fGQM)V(B zj)B`on_1c_QrLBO=wmf(>Yhd>|E&m4Zr%qH`YXY}DW99Me<)~qn}LX8FeW~1$KvCP zbYXcGJ@{SC_Dq>Tg{Mw&#@X$x$!i7<{pAC^sxu99JeN_vj6-#rW5@PKAtPXhxQkQF5fkZ*lz;!--O|zJ3raxPfpk@ z`5lgq-T(>rOG*1r3!Q0Aq|CD!I9z%Ym^F!!>HQh3QgVpd?aFJo?3+C|a9x-?yvQQX zSekAB-VAAr7tzX1|IwI+o!~ax1-4Z$Av1$4IJSQQD;4_px56yRpuB_sQj-N5u{w18 z%3eqoo}2eXOz7FpWpv$54Sx@g0#8>ZP_1fX--EO8*X+qK-dYoisuokpy75@&;!G!P z^1+^5!Q6NSe|hje+xWDTpQvOcFq75c*a`(4t6t6N`Uzc}OIKM-`#su!e+v8UkwuSU zYS~20M%BIgu=Mz72w3kx6%!J$Np2)u`7j6zwn>pfdmq23x`H4jiCo3!!@L6zsAO^^ zyuQW>9;nffW0L`_;40f`_5XLIaL2y<-1MR5fAFPiyKw%9#SM9H*`|$mVNQVuEmT{{ z?07kHNt_G2JbvJ(#f{wWdvV}D?i99fHKsWlb$Inm9>2&x5|*_6#nkayoLHhEoX9!~ z9mm~Rm01%!Qa;C}dTyYw%%L!M>{a3O|Bf|Rg!fp8IIC=u#jT^vaaVRG*;RQ_LVGoB z8EoTJr>h9AD{VeZ$O3x&>jqc9G|YEjO}bHsnMQdRUhvKYKb;5sx&bY6w!DoR-Ae4j z=};K8+6oW(oflkwQ|VOUZ^^`U1ADxWhEQMG1a9e~9lci_&|$K)9Qo#I?Pj!v9bf z1+^w~;DW{J)5Lcup=M7~uWRt!pA%?cxq}sDxw1c@643m+72e;|p)pp!@a3-*n7jBg zt^TaQc+GLNqoD@U%B?9dSDh?gw_wn%W!STM7#_R*7*`#*g0*(X*z_y^kz@Z&UhkD! zWub38>5a@FuHha;JY%rsZap+CNTlcHk#y+J8Cq-lfJW;I|MTzCDph*o=t#kI2rlS^ zw#h>v{^15R+7dwAHz6l=ZzswA9%Sal7f@-%QC?}?(5mJM`TWt5GeLdjZK(5Z#WRUl zV3?KN|1&D^Tv;2g+!%*x+b*-D>Wy5COdJMwDU#p(IKJOj$b;n#<8;d%pvG%FYI<)% zOVu0b{5~c6;MRuHnrDZga;XP#Wrn zRZ*GBTSP z*QCd9JGzV6w+a6AEyLMP-KnH&6#@I}Tsc3hDi-M{1qB0tS>>)tbYYGbKWFhaI+L-z za?Hy9%2Qj0gMO<7eJD_acY{?_H*O!R*|!olah*^!w-7paR=~bTAGuk}E?3A6SAv~M z|FC~?B)E)GqwbJcT)AHs%B3D)Z|fsk{b?Cx_5{({4Hh(OZ52cLO!lWH503}LvB483 zIOol?pmF{@8oYa$NiWz{IcxAIT4^*1`O->L{W=FqnD_!UUXBrdo=kNYw(^g)#|!f> zV|aD^21}gkK$y0R&6@nPvTk(^*DLFTeQKgmm3@)^`0*IDRLG=_T1Xr3Ym<)6H=G$e z2Zm@Ifju9=?6~9{8v8|&R}j02vPyMyB|Vh0-2aWgKUS9A+_(#h{@pY-9DNkbueBpT z%!&u?rNBm;LyTz$WzG|Nr#s){=Kt)uiZxeA)YgSQRnLOt&vW4Kug}c+(Rcp$_yzP> zcR9;08qc2JPoxd^f|-O!I@_iEp4G37GA*()6=rw&%uHZi?q6;|(+p0txTw{ofH%Lb-DK*XK)Fr9<(Q?FNPG9RKo5H+1(et(r__a3{~f8VA8@UYUruN zEuT3$Z#Egk|OFoQCB*3JFmp zb%D>UC_0439+H89(??KOuLBk-jza$|H9DSmkf}b{4=cA_hABTm=mQ$DzPG=*pdqp# zs$@W+yt*)RdCR}{QbxxWhuIECW!l@|1EZ>rGWR(r_!l?-@vJ<1gc(Gh{w zlbV>gt2-!OOcFRf>TvdwHeYuq8R`?gC}ZAD+T>}EOGCuy#M+s(<&)r0*p84{7zzrZ z@ffse233!DqS=hFiRIg|BI$0em6P!hYvA%w!p`GJO<8Q6}l8H`FQx> zI`CeCSpl*mjhkygF?jO!b$Y0=gQ$}Js+9uCVZ zhmR}=vCY|>cKQmYINltVCJ_&tra-a4&tQWJs8AeE0Txm)mBmtcyE@cAw?~h$fw5Stxml{wW?+oTYeF}6h!GobQ{0p=n!b#rVWozttF+1 z4)$Q_YWS&|%lTa_hM%`~a|i9F;`P53+$2e5P%lO7vN(+?QJ0~y(h_P~TPnZQ-$b=x z3uyD^FKF;^9vFt{qeJEvmKpyH_D?K=fI>MwVe~c3uO4I@`=8*^rSZ7JM~5a))W`CJ zEzB=Yo*cFHAuJ;rPj8R_C6_J;i4%HD!_%43qg}YaAr1EB*fF)KaTxPqJ0DNhAa_Vr zn7vrRrJ}7Ar+oqb^+eMR!(()&>M&cR6M|V0-%&Kgl?AVtp}?;kRTpZ)-qZPbbZ{B$ zAKHrAr!C-;=UX;><`ewZriiu1--HaFUH=?zZl>^AEE&QLvzkZm z<4%(Pn&qVH63PB934pV_C$~={2O?Z9QU2yky!|nUU!PEm*;9f*@9Y6^nEV53q(^|B z-7>b~-*rm3dYj4IT*NXe53*bS!!h!1B<%U)4*ybyQE68W_!|4rs4Yvt-DfHK|1pIr zg1>og(+IA)Z5PbG7EU4?da3K!TQ*JaC06Yb82r;F)91s2uVz3V@_TFXTtF5X?gmcp z^%2S$u^a~GPr-HHjHqXDHI^PT=TsW5vp(`>#lMx9*Bv)d3aQ5yMHPNCmh#o}>#$!= zk8X_6hV>^Z*sBSju@^4mKvo@Ab~Lgf&8@Wm%sSF}p+L1CLMR2&n46q7-1N_a&Rl<5 zy?G5)`feic?_xBwScl*E-JA-)>GFxAwYNW<@~h!1<*suwI+wxw#bW+;*i9yDC4s7k%LMmfJbqQ352d+DOk$BZ9d;Q< z;ttsmP!$4+Q!9C^L46P_&V;5LR#?(G9-YzV8J~}#>vsd_-0%~3 zYqc|_KhvS@-4L)AWQo*`)*snd=_sYadit`bk$kVn>&M+Y9!#b zD<3NEJ%0k#9q)MA1}TVAXy-mkmhthoPg2h|akGWZMIc)lh|NRgY51HaaAB)C4L>h1 z$bW0Y3}Jr%@=+p_JM6^EFMfxP^C#16fpM>+)Wz&1YJ_LTpsCq>D|8ijm;uY2$gB?d zd$GGHU)B!F&PqVnrWA1U+Rr>TKV?ZfonU=(2rD@AnQh`A%=!AYWJ53GH zp8gR#eu=X46BfeAd#Sv+iWe9e4u#gnXv{pk5E{b9(3kL?Y*u_@#pNM#&@a3vT(b)C z^n`q7Ts<3FwFF4a5Fq}dEZn?3bk=0zt{Nc2EZ62NyIYSqsuCTom&FSc^T`R$11|3_3ic%wJdDcjH`tUC0 zVK|LVdH_pKU&EplXExOM2CQzq4+fVt!65xO$=S(M`J#QS_$^0bbFNbTHGyF{XD{a^ zXCW|qH{*>)pkR9`CK-N#ZQOSl9LLx56W{xSzn2jWd;SQ|&8dfgV~ODMxu4$?pF?A& zf5)=ttjZR z3A_}Z1y#a*BbU#GGR19VxYH8!w``;=`>{~)Hj3GO45rv12{!Rp4V(Wp92Go2fQMTu zlomUpt@;yQuVRVt%tj2FKMfL9|M7debou4+_h7i>74C<>2tHiK&|f;4?m7H`0Hb15 z4m?Sgm$SiqNE*Ad?K!UeFpYlA6}SLx9eC;+&p#U{xK09{=uhVuv-5Ka*voi!L?N4b zj2HvnUDGJ#<$shC*2(r+wz3q39)2fgFf+wKR0y%8ou?0wb6+njf1ijY9aqrlMHC$# z7t7qouNL0%G9WDyO={U+9recysd>={OE;F6-W)ZEbBlLH0uI#ir zjdp6AY3Ld+3W=G+B*)w1JXiotOc zgjwHe;QW&eteN?QXOB|3l6&K5f3-Kx-rR^!(FI%X=OX z?kv;xK)=Tw?#XmD(C>+Yys=K?BV`ZolY3CNJq1pB+=k~1)M@4l!uX_Y(owoeyUvZ} zF3tJD>R%i|tIP{*R<5cbw>77wZ)^ycy}|QC8c-&79BywHhp${SL`XfPn^Q01&!c~N zL%&dF>a&l|^ylM1&?4L{oc*s$9_H`85?C-*KTYSg?S|bhGFT-ug0vqAJfB&c;PDT6 z(D{-E78-WY<$Q@He$}MqhGJ$*3L7zO!x~cROX5%aO0z#N*KmbvIa=$l3K5T=FlFU- zX7;ra_H6!zO-szk!SM`^F_ni86VmC$wh2_baS~)N{>V4%j9}MqcXGZu<`f>j5PlRR zt@@G;WYzE9+qulA&1*&>wb&u29jpCLypmm1}~p!Po#y0JSMGV&zpXOT19@D})T_hrli zmh|EAH!E=M{w~hm&5({xKg?e%DgYz%ab}Yjnlkwhap;}1muzE(vFmkbaMglAbZE`O zt)x$P<^`j6i8;M^5#MAOV%FCjT(L6*mcLEK7phVeA@meX%Ym;eQoTEr9i& ziKZ&U_X&>gZO}JapYkds&}MZWdKSk~)^i^WcyNO4@?@l9kkhR@J($SBmZ^y<``5hk+&3a|JJ3^Gq4sM1q8<$ho{T*a6r-Lj0 zo5mX7=0Jn!WE%D^r}A5W1zh+}ux8kAK2gYxyk0bsJO5nh+SWZWi8>GqR}TRBgkE5- z;VG=(y);qaXbA6X!Er)X%bGg^w+evPTUfz98DXF6+ihCbw-c;vuVb%@9HeZogNjGd zu(nPNH?xWS2n8+rl9x*pM#{jfa4DGZQxD9($Mc-}Nm%oJ3jZu(5^YF}fd}^MdB6Ng zm}4`~B%hbA3@px|CnCm>rU_^RiWLc{fC9U@s>sC@J^H(u54oKJC?%WfgfyJjF7!{9m$FujYzrZFwT$9!`$gQ z&>&>scYZg5j&*-oePTCyZ_Ht~soEeJ7{~wIF^-&;3J0CaCoH}r6D^XbK~GIHmW{r{ zja;k7yb>HKbYL&%e)kLwCg*Ywhu`A+edTd*pEzywF`>I|n<{6&6LNL$%_;Q7W!RNr zM1$E$wEK8I#0V_55MgHeeS`rFysKvUPc%4{ARQrxEX<#NABAP7S1`>@ax~)69h@id zeIB)pqAJxSB$=n!qu9h;&I&o@nYmE$zzDM5uHg)({NhHvf6ZJfYBBG$1N~hhVx}JV z&QvpFA?=wLg!MP9;cuxn_@DTVNL1LP>>Uc>9r;k_^pvZO z3&69-eM!UkCl2?IMEQeHam^iZoarS)Tjq_1tRDlIU*Lep7C**)8^2@VgrQ)hJ)2zn z_e1|>2{ZNg6_8e}1zujlTyNSwd~di7R0h2$x^@UTe0qfzMXrMLrG@>Koer1MMuA2^ z2OnfIT5xsS($C*7*vAoFShXpfZ(gyM)W&DSiGx?z>VtC7A!kL)&n2>j4bdq1qzFHV zy9vE_X%g$tWveBI(_}A>R%I?gY5gj`*lZ~k4tdM}UD<*&7tf=GU29laBuDPDhU~of zdRnmX8cr1X4YKxY@zT#I^3DH&iD{!@x4@lwb@w%LpL)=6;V3k#kz)lLOj$*-5^XBG z0V8}|;N0pdu(q@W6()&8L*_zSlq~FtPRwLGwwChhtJOfMZZ}EhEd(=R-Y`0MG<#?0 zMzI?VDdOW{Fgab1U!SDH^um2~T*z*u3;N~-Us=Nx#N1meBA9m4*L-Hu8TEXx5V$a4d*oc!KIbe458Lmds ziNs|Nz(Mmuj8xePe(E3j@B{g@zSD}WG)jPnHpj4aF|u`;3Z~kZGEw=N8x?pKRvrp^ zfW>jMAg|XI&+2e=-*X2Vi8;};_gXO9Z6CYvFbe0}2zS3-Cu#TD7VK#sNlS0o(e?S) zA#6!CZzA^w^V<)xVbx){Zk`lapEH6_>Xu;lXg8fKxG&sYrD=|f4c!>FgSxlt(-j>} zqP-FH-#9J!x@IANOB;P8}C;MPPMK0PpqFy zoTW$y)HV^fq6y>D6a{Bg4REDpV06O~4!r9`h44DudCmuC2)o%aO9N?e-U}|~r9M%E z(32lmPRF7=_+{%Ox#U&9+5B*As6ktStE&M6rNaED%N$PM?19J#r1qkhEdHtOyZX@u`&B#dx92>h{(lJCCgxz;8gj+<+CQk^ZeGl zLF6>nfUV+cQ|x@m83rAJU)?FFFepkx9^YnH=4A2P(+N|WesGcngQ%ObmY#*Iz{=6# zn3MVgg9Cc7>~uUHk-5sHwWy+=NEyhuI1C^_`JQnus=WvJB2;t0FK}w?%@S)3G z`rOdS)+%rU2U7)$#Xh04*d2UXRSDW1_t}jeeZ1%6$`(%2W0D6gQA+UuXjQC*Q3>|2 z$5?{0Z8PEa;0-)Z&v1Lj1X{#zAiwfyFiYbAipN-y=;rdq*YgiJhbqCrm-TQjTE}NEh&QMS#%F;IAjZDfrIRv^LQe^MKB>Lj_>M;#8Go5 zuw^lR;PT&IDw8ooH-0o~cnNp7g>S&(NjW||RgI@Yj?%kCNw9L>2=83)u%xshAaTc? zk1Xlsn{~&qkK+1pz&xAACGTfnLKd@RTP2dQ`wuV3zr_&=x;T5gG@a%~g3+>m?f`S8 z_nUc?x5y;p3^9^%wxiF%YXwGZ5P#I<0VFD)_Ok?INqtD1lN6?1*sL{GK#|5k*qN2Fl=hL5bMp`ML@dJ9YSBJo7!3W&~ofuA{lx}q?S4SWfO!8l(U z)*=F)KSgnvi@?q(YpV?3-Gw)Qer1bprf}UMb!=B+40NA)&YIoVqtj?h>QR1!1A;>| zJ}Cut{_Ei?PVHl_MpT2hm?Q7@b`{AONs-d#EYQ&$O*vwr?1=6`H2fF=+g~mvkst%G z|L-bGad?M4Q%&jhVlAv2Ud-jFUBmw1R(!iii_I7pNX`lUm7?4ah?hFeYlsln{GkAO{HMwnxLjfEP#8I>tFdc%8WLq}v3Kt#-m&uv8qN*j4+hqu=iw0EtbY=HEPf

F_cI?R>S9)FYg~Qx;65y+iE4 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�e4hjDG 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

l}x;II&YIBVYXXSk0R7c@OZ{rC>^R! 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�A;>jF+CG?N?9o%_WE6oa+z%>up0Y95$7=Q5WGw z=@yhJs=%YMg`h4rl9P#!g1u#jxpK&W9lA%Dm)Zm@`)JNWi^F-JqG$A9*Hf(4SxTcg z2^QR83UBvIv&N2cHnLSAPP6_M(cZ*xO?0V*qqC6aacdT^OyI!<9)`|ugX!hl5ilcH3#KiP;b!dq!)JaBMU{VA)O25wbS@_` zt^RC&gsM83c?iB4zc462FT;lJ5VsJa2_?@+Wom=RQjMJkwM&-6()UMb%4uUb^>&od zp*fpIO11Ij$-`*IyL|-nhcUY^!b}k)M@EZXiEwjR;JY0f!xu`rGm zYbjVv%M)}c1)=Up`ybv~CeLQBypPu&2-)1pzXZm>M^?4SmKL^(u~iZ+d{(5ur1Djy z!iPq%q~;QiStJE^)jOG1i@>dXe2$H}bQ~fzmXOiCy8>5!C1>{~75g={VEv`lw7m2= zNNXL12VHAe#2j~loAnkm$|GUXG8yo)eLnL?o$wy{&46BX{lxq0gMiE;VEzGlxL|vU zPbpHj*drlyIC-3B9nuHsDhuX*>K(zq|1@dp{%y=&V9C4-dnsh?F4C~N&1{~j z6dYB%%~uX`AU}Z>CN+LAsa?+m{_jc%cU6bRjRy!MPO_0~ERAga2Zyh!(RG1aQy}KR z`Y*2r`|?$^$a*xM8fnj}5|`1M3!$_*`y*R@E}pAB;mApJ){*1)WXN(q&xidh;5~MU z(~}>mEX%?hzWrPWDaM*Gs&_Y3{yoJKR7b-8_9TdEX=K(pmVASR8kpuJ;$UY@mODlQ z&7O7f-JVhGdTk6k2X{bvRSX=xa)`dgi*Xyz1jDJ8G4yZudrZ$u6&>_bMo3Z4K|+XbQ3~c`P4X1pkRUk=WX!nG|TRalvV`vZy2VyvvUmGcW z*i}|My~6y5(_i#EXGncWK-g zw#Xrs<@eZ!Is-0U(D}9mWigZUGsxdahS-HgY}OT_GsG>7MsBF14vi=pCs|0tItjab zmFULk`SAD83D|qwid*ciN{biiv*m8W?|Zb+J+duV=-snn^|x#>K0APHc8!L?(@gN3 zhXQQ$HYLqD&Ge>wDoCy>-3=50MrSB~L+q#0r-Yw+MtiJ&@neA-l zt?RCE?gXXpmnap@|+-DKaW^a?CNuwJ`@=qkRNT26EbUA?2FfogL zxg#NLjV|OKnMXHMf^dZLAu1Z+U{LreGPtWpPaNN{O#*|o(AZX(clY9r5pT^7>Zr5T z1sZJa+8^M!DwE{aR?IT!nvIEppWxm47{M=bmD|2E1$!bZ_&@4G_SpFX4LQAy<~k1L z=Fgr(brbc;C0O{MMY*8m5>21vVsK-T1>3pi03-%nhYQA2>BDrOn&-kUDC;qMv1Jwn zOVpwKkz+z{Mi%Vp$%d(Srb0r9G0V}Ni*0{qq37E+G#&0kk$sl5BkvHJrpxiaE$cC- z?-V5%W`M%IK~U{<2k$i)z@z#E>K?z6=9^7`(qc7gY& zw-xpty~=$`$ly;*n~b5)R#3z609w2y2TD$CCx;t-Y|9jF=n2@03Bki?pM5;Znzsx6 zPz#wwu?s%>{Rs0_rm`6|fzrdrLlG}f6HOe z`<}r4>*{2SKg?w5)v44Qn+TrCF--Y^61<+94$5|?*h8Hb3S4ALy_L_I#?k?GOAegxJ6Z?L`imtxe4j!j6%vCb7*v}i@^t^#N@V7R^Q1Rwt61O+|%%gzlM4DLqz*y9ye)O2n*>z7q zb=VuSgj{*Xkh$>e_B_y;Hj%EaT+hGv6rtA1HCWAEppLy+G+1W@e7WI{gBw4w;{k)I zWmY1t^EriTh4aiO#)X={5BZ8wI@kCcSG<_&(LcgYx0D5>nBd19gDLTiE*S_ajmkr3 zh#T;OKWhx(d_o?mS|pR7K^{N0a|ijZvx8N;zhLB~IV2jY4}a?#+1Xq(9J)FT7ViDQ zq@?#jk%kgh{r%1vv&GEq-dZqgyaE=R5X?VRny+(C;pK<A!Qp zEjyA?=Kd0}Y&WFyrRN2o<8Hb!2?aGgyRdv3f8nhr zuluDP?lm8wr3&KoPeRz$>dylY`6NDC>98nzm@{SzycX?K&sg-(iKKfoUC0nIFi^Ik zj4n$mI%p56k@D!6pHIKbci@6>7u=OF4Qz)gvYdI_*oV|`N_h5$C9O; zJ*66Y*UZE+{ZL^pI8DFA&ES^B1(muD-<0G;7L ztT40Q{KNd_t!A;lrp)+zCdJ4f<7WSir>5PO_^8d8a=ao?)31P?%4*^UHY<_U(S2;8 z9>Vph5zJIO86tZuN!L&j)13q9PTfWtURe*}J{qiK+$T)iy&kG-lYlj=vsnT;)2R~SeYA2TT2!3+MrSwa8(Uco-~n_{+i7B_d3 zGQDqGOYe&(!s1cWVE@)ntnArZc;tJMMwmTfOzs%e-qeHRUo2?2uP<|rEhf)d;jC3E zS7aUQ4cYb^N&fI+7W_z-8gjN!Ee&9iS}OgmokFS2M{xKzU(PZ+hIkXyK^7(FXFa6k+6900Q*-3nTAvIf zJ3(*y)n3WIlx~L4>^Hl!MbNrzJ~ESvFQ~OY5W24%r+@OvtZ43J$e6#D9X$UMllz{s zaIMJ@AN`hDWt^cc8y#@bW(o40Vos&5*=P~#Lto}Kpsti67#3^NG!u20|86e9f~#z% zSSYQ&Ih>xkCt|n01e+9QN0*J%V0yy~!O#6p=qSF;#+Inixo2V6aZ!dMze({I+gFo{ zU$fb4r*AC2Gl!dBVFuN@j{F+Sqx^={Gtqb`9myMg7|OP6+QV+inA49n;v^-1nQ96XC}Qp=9D02TyPY|oYH!)Y z$80P3Xec~S|GLw}M@{VJog}6+b`;rf{7f}*stoEE zE!q`^&)*Mco#}0?=6Vv?sZ6I2&R%?=*a=K#Cz-Ud8JoKJ1$=WDN)LqVHd{xE1+KGT zqI7R`l*$Jb&&9kmW8k>NTkh}g7+&mJt695}9BUd=0oT9T!VtN6RMK~VP;D5EE|;dP zu_NH_*kf@1X$e@?XOO(S4lUPSz&6lB zuRDZ#9qZuAx*MEvv;T^sj$vmAcR{YNT@-0|^ z+Y<;0PUlKy*R#6JyO`W~m6I0Eo!{5f(QBMMjJrRa-pBo6&jti<)sk2|@kf^~_v_Q< zt&X@XXbiZT@R*f4iHyW{knZPCY?``|8Q3e_W3#-0eQrSf(ZaS*SqZpX1$%FmaKABz z@vr}i(B7D253PhP5n0q4A&=W}2e@6FNX~#D+^(9?(zXPaI!uive8|U* zy|HXhYB5|lPGlFXN}KlGsK);m5;sNv z0cLwTVz!`-SRb2%lGPO$vP;loCy$`z=LB)KWE{cu7TxZjxKbJteeLA*|(IvBqN;D~ZHC-Qg!krtU zz%DEaqn}$YqSn0v>{2_yX*|(pSFVQA#Q{^mPD5IqUj|Z>zhR<#J}nH9p&<8UwEn0C zwZk>Jj884-@Wz=M2G&FR$PLij_KSb7wwwPY?gaz0J1}y2GW?mP!G5pm#kp3BaHP`` zh7C!hFM@8Gng4|;oYiJc>#nlGBEk23_c;HrUIo>?LRihlgYfT}E~w7kjHZUgkn(gK zJl%5}W5SC0q||4)Ejg3?WCb2}u{Py}WP{GmHE7&EofdQkgXJGhAx|mv$loeKe}6xE z^}dq3Fyt-sGmXJx6US3}p*6Y0t~bxm<#9;GXu2hwn}(wgu)4x2G^s`${!ToIGLnI~ zsC5(V{r;QvYO2xlm<#4-7I>nAgg!mDyNthG^)Mjq9I;_?pa6T!{WG4TQT<#zqvej1 z#|!o?o6jgxmIFu2OEBnDDSC!XW7@wDu}zU@=u@8#)oo3|o%%t7$H)n;HD2dD+Ai^% z|EZC=kU6{48^U^aDdTWA54OR~la8GTVfA_%q@h0pe3rjp_9fSG^QvUL=YEcbdxf*& z5BE5IDn;iD;V{PL75}v770!Qho^?rF#Ey*z*wR&1X0DwY^sxRuzMrcmWPh{B@##74 znBOT3pFE3V%MqOQ^Sc{4`Y4PUvaZKs|By_V({@?k116%N#?*Ae7$iB8E==M z`O!<^qt9Uc*Rz4yNblx1rY!-Z1Pw4LF+!gz1{-yhXl>>IIu68OnspCq?lh#`Wi8x{ zH*T!tt{&W{LTH3~(Ldc#y6&S-`=ssg>k5B*o?ys=+lRoIg+hNsZz`r<9EAUZozdXD zh)sTdkm)aTCzqR7QTt^tm+kzH_iB5G%N}pUoux}iZh9?>XXoRGUz+s(rK%7?R)VFz zv$;X{WN1~>P&lI_g3^a$iS)yn>5MDT182CTe?OR$v@SPRJs#&z6chRP7jZWyFXl^@ zUc!ixJjBy&-s^}y{CQf6ZN0~!*(d~TA8z0yC&|Im50}wCDH!Iezrvr3SApp!S*}Uj zpMUgMg~cwhg?}lNVP(QJHpBTQyV5ubLX|(WWp4*KjrVb)zU9yG{;qo7e@=%GxEsdy zq?p33*yE^QvWqeso}g@wJQdxTjOUu8!9RMaXpd(Z8ztk--+1Uw0pZcCWn(Anx|#;H zGl!G4L;-6UqQzqUPs7&u^IT-cQJfVzl`B2$!YXoh3Vk^7=;VDHPcM1E7Cl`8(zY@b zSZ@V)doFU=nk2AZ!@xMy^Xw^#8d2}6N={GLt zZ9Ojcn29O(vvBCYm6+AM16((4!hHvQ_{*^h5SAgFk4qBSrz&4uYt+t+M*6ewH)TnG zdoL?8Ml^G_@Pqu7L{dZ!@CyfEAei-(UWr zkCC~oxF?NsaA&86tKp6Y4)o99NUuIgi}45nB8Dq+K(&YPR&}-Hwndv zay#4_Z_9-YH(;N4?!xJs5o~3t9gXP!Yf`q=P!P=DnSERL%Q2xP1Cna(VC05vBzjBdhfhl<)bx>mhZfRH)3azfz(aB z>#YUx!V?w1FND_ojV;gzo(U-=}*5-nUwT-rYmUV(uaQl6e%~41Z(3NdFw% z5EFy!2YWFzt%TdyCJB#s&7i59#prt!(8iq;=u`X%I&dk3Oj&efY(?ev-NX$Yeyn-j^;tCatt=8uh|ovCGAEi1he0i~)_;Pfw{Us*w!#x2ce zxS)h-d&JR*RaO8!i#U%fx|9(=4VG!gpqo=EyHoB2CJT;oi-Izkp0fues~J)EW<4m2 zmZh1EV&r;R=$9&c!{YQZu<%v|`7iO~X? zNZRI0Q2asIXWvtx-8bxMo^L1Lwonq@MMhJ#>{N>O4;9s9c|dF4Y*?QoflIvKFx^gJ zjx1}y{Xah9zs%|Qt!zAB((xZFEX#o(Asa#Gb~AH#zRmdR1ZF8+&ejQj?lZ!^;mK!z z=$L(vy~{m?cRFQggw{bW>=lPYWb0V(h5NYkMK&|iA4{HhR4McKMmo^wiBc+pk0oy| z-qGAlSw@!x4Q~sRRT;)oA8e&kUu*iUcY%GAJjF+NSF${LE3Rv_z#05fijh|hpxJXH zxCNx)3-`D9L)hy&I1AlWy07`)86)Vy;a)sFU75nY4)7YCNicmxfT(DdC0qXCK$Yg! z8i5Tr*W59(iw!D#z=BnC_@T1dpzu< zjtL$*fh{`rJ$uv{jal|t&|0#Mdwu9VHWi)3I2aGtrtaWg=-5%~@3o+PcAa_Jgkba3 zMPHcS_zC=}j!pP$Z#X^OeaO7tQjRqXXZ`f!o}yP<_OX*@%`9*`VZ}D>$XDLhB`toGzs0*SVcWSJ3Bl9B; zOz-?5lAhVeUR=>cJ=V`BYBXTS%WljTKf+6|_aes7S z_iYYlxH|wHWXyR?6X(6{BL>o; z4TrvBAFMhdUp)hYEo#tFd^&8&zk%I8>J-~Jj!aV~k!q~2xx|REoST#dPIbLNrQZW^ zeXlm&U3iV(7URa6Ux@_%f(H4055^#oHHx?2W$y*wn(gP`%-JA;Ij+^G55Yf}!95L% zKWh#Tu8rXr>J`{rH*2lQ1MB4n~am!EOxN2sgQjFl(TJZ9gPO?_$5s zN-ZkkPaYXdW>4nQG+RkHCiqSuV=kS3qQORLD}%|+Vr+;^W5x?z&5bl%*=ikY{MAy8 z>+Y%1+J+(+Zrg~@}{k zS60cKjae5PFLW#>H3{d%*rl}l=q`|$Qw)y-$8q)j@6l_cHkJiu@&z;Y(WlE#S!h54 zt{KzMZx^!A&OUNXam;IOxIKr>o!>>*J6d_w$l-MLnK3^)^(`C7D&vhDCg7^KYt4_0 zT~FU-PD8`DOH5Tf2hN5|K<+Q$e17Hyr!N~|Uy2vFO&!CJsr<#<;;rc2*9oMZV#XQ= zhr+k^5%6^AdU`&35r`jfhyI#Vm=+t$zLreJHA_ONP|OkLx#*DFKP7>0-h_*-_n_y& zWb*}KmE5(jo1rTwlC@k<#RDqKVdiZcstNPuOZr!_uUo@V=I3;pwJ#Lw1#f}!wj_){ zn~LrdGPJeE2gBFj#0Ob=?6=QuT-b1kX-8Lc89AZwdZ!34e@UXc+}B*sqHeru`3d(a z9;Q)2BD7AKjJgx^IEj)_F_#x&2tw7bDBf_Nv?kh8-CG>Y9!KO*~e^T2esL_ z0ssl!i?HxrJlZDS=guEYGuwS;Ki}RQ0AutYVe$PBoc9th(iShovT>b!<%}ja%5Mm$ zyiCTo`bWX`zR;&I=^~zw2X6T3;X-f8E?lDY8CM@U&CPt1Ao@^aLE&?T)6*A@n4WFN zuDWW{2rEr6+-Qx)>Js!me$t*IlSE2RitSDu65z4qsh08$}z#A=~ zylfxdq3tQJKUIf0|I$H8Petg;x(`lq3rMylfO71kxZCBc37e-u@S8Mh8d%DHD}*u8 z%txZ{JG!ua=xTmc#6OhxF@d91|FPrqy{UBj>8eTcD+ShdEIi4dz^o|`7mf7;3$yoZ z#nF%`bE)#xTYzFuDl_Ey%8B1^9h(VJ6QS7Rd$Cs!t>~kkm zW0V(-zvshz0;K@MUZC_KF^fkgws;ul!z{7OtTfsH8Wb-xwS{LPsUVHZ|69Q3XpN_J z-5*ib9w6d}999HQ5tww(QFCSj`=l68FGrk)$L&S@y#NtdJdgwJ^c)CxI0)U&HMDfa zPKul|jP@RJy}WtfeXeBiCmi8cLl2JUaux1Q=5~TVc~!X-Ha!|k717FIX{3#i(#5(qNYX{yN+!A#Bf8<1Ms0NHns9SD*CYVvn-Sa z&SWMoDNMn|j}Ken!YwG&r4M;IO!PJc^y|KgG;Q+nxk)VPs>d?>u3apD;d*BN!xgj6 zo@C8p(qQyyDz~p{DDx7$1AD(a!{?t0+#0bbY@?SZPI_Sts@Ec5+JbJDWMfL=x2@T? zSp~4g*dE*;T!kwqy`U*994q!#k?N#_aMdoINq$SGwYAqUY}9u6F?IumJ$uDcRy45} zb$)c{XE=4qZKF>Q*%WcGJlxY zG9OOTRh-WF1d?H30fhAFfP@avq`bpy{)%d|$48G)tBgACy|#c{R}ZoXEVB^08VtGj zc}6rx=`;k~ibIL&hjiLKm5O)B!_4ljhg`CKlCJ%aFdjJ>xN zM`_{2Mpp3117l@2u(Ib5*c$z0CgUj!<5bVk&~f_s>&9r>-g*kS**`(5mbc^X2rcW z)VEdWo*bNqI=)pHa;lcOKN?SBWfyp#3F0| zOwOcmiq(^Zj+dU`bZ#VM#Hxa8R5kW*s1^1%DeTvW`@C82IaJrK0hyF^x}H2K>-%(GHwo@HXNeEci0 z8T0@x=6j;us~Cvz$$@YDE(rcyC3tIhVC}b3)JfeygXMMEHUAx;HGCYcwah?G9Xs<8 z%QLZ9R)M`Z9t2iaQZ(|IV6%xVu6m?wQCOu;LuN{W=J-!&U^tGp$|rM; ze*tX*+HgT~G09vCV?Q%=L4TDZ+|h5ukz;sx8XHY*W(OeIH;FF9dt-gdG#c~YJ~rid z7EQWRj;9+B37;{Z0;c&_HN8GSUnDHRPWXw-J8}n3l@_D)i^*WK z-W@WU!s&iYp}9hQ7FtRalKPx)IL%+11fnM$a@q%yrrWu^J!eJn_hNCVUjzUCO#*Cr zlF5=b#DlV08=G#p4-mG&0m+$EbRnGPXz!xbtSGEJr~ubgRN1t7`79z_3(n`Qpr?z^ z@O!I`VO7;b)EsmNq}wh+(5P43jO~xu@mE=pRJxk3t=1qTt0Z`}OVA0%Oo5LB4v^qw z%!+ojvA~`Neo5I@DEK{qqZ?n~AU{KRd`r?IL~w#yEKbX^r261|!h3k*3Ety37t=X(4F_aY_k>PTG3H-x}OJL<$1t^{vL-D!N7N6($@@C1ktV;b3 zs}c90Yxcp6S?t1a(LManW-MJi_!o~)UIDe)=G1<%g*90U9Oso)oJop^J6E;~J#i%S z9UTZ~uBF1um{l~(w;EPEDueGEzy~Sos984wHZN9Zkiw5`* zWk@xq*68_f1l4HhL+g=^(CnDc2TSOY!jN$^XSo)+$(P{x6I01k=o<{Z^qnT-1FkbY z6SY5nWA4Vk**-@b*yn$kmM2Ss#_x5s`O{|e7FS}oHZ7t=4=&&T)U6_x&5bb>`#Bz^=$+zSz<^-7aoR|SLy7f zS_YGL(S#!3NYDzg!u_sKNy>f{&a&5L*$EeLZ9)KeOkNL)lPt-hUz@ESeGLBmcTDtZ z{vcK`#Ew;aO{a$V4RCLI7O6LmrKoe#7OY0-Y|NTX8~2;Q+poKTxtzf2)rB|^yq0bb z8p5s4a-m8DFkUrk_1=T=XkHSoHccY`#)RL0_Npq4s@zY5!~(`oWbJ=7p1E zz7|)IpGtNe=CnK9oVz<^5NH?%;oI9yC?^v5r zT7$;wEPQaP03ZJqazkZ5`O%#zywQ^ml%*6n3i*_|FCEGw3+eDSPg?Y36g3M`jmIj*0rG z_})v*eS-#oBK}H39`*eW!KfW63Pvy{WwTmz|xe+`Y zr!#l)2ACV|2Vbf<{@gH; z`G{w7bahsmNKbtR_I5-Qn==s%^!nmbl5S4reROZ*Q!@{$Ynh4WArJ8VzjpH& zbvb&I8$>drc7vhvUVf?OTV`CBLs^c;h}kOgaRTy$4CngJ zYdE841bN@S!fgxT`C{{OP(H5?5{lZSu3dqbE-ixByJoT#f2-wFGE zahjmKoT?wpB#m;RWA@oS?DG8&A4sIKy}2`K6a+&O4Iv*pX^2~;ETE8e;ZvLhZLOGx zHw%RKHj`9#Xk;|iOk6};G?K_9aWPC5Rg>eV0(x`7m~11X9w${nbJ@@ucFCMNb` zrM$r5)D`mby|xT0vK@jKdSDN?^S!+`P%!40?`^q;d(tTb-GXGF?`XK5jTk z+DB8^LkCvw;Xzu)>)FqnZOkRj02cYKKy>&HF86duby^6%|2!C6R(OM&e>*p6UksFq zhtq_aD?#=3SQ@a8fO3aB{HRe;vko5j1?RQX>8y^# z%j0mFMI>nsoMBm!rnsTnl2&gNvOQ_P1g5V)%znKL;y$=@S|c3Da)dp_eH@LRNr$O_ zqyi0#Hs{*+f2M&u;;>ia2&?MY2uT~4lE&+1k{I}d>n_*}MOiP|qXIix|J@t@t1V~Q z597gQtkCgve*-E1j)OAub!eq-z%?|NV5jh`H!2Pw@%GK=w6c)BU7y7DUcSRJ?|ajp zf?!fH8qX9O&$By$@vQ0XR+j$BfXc@1V3*RzvwGk0Y-nyB+F0Gd3f)1#kJMnj5Woro z;>lMjj8_|64`=-+Tl~r)x@)nPj9Mk(GB(js+u3Z#XIJ`sNu0vnoZ)2LN>UFqqjLkw za9n>bZPYeoZ@2ZB=g4U@Et(7s2@60zr-QG5Y$Y&!1eQ;w3n-^%fY;H9ly};f#r+$G zPtGr+`#u&lMmZT1{IaNG@?NxeY~c$ttuShNJQ)75riq&j%*QrW^GoL@kgfXy+Mvjw zpnNolrs$5uY_GT}3!K$~Pqqm9T$>$@o0$h^ zS`c^bY=VYi!mRW>4CH#V*`WkA+W07*Z9HZKuhQCJay#LtuSY@8i6Eq468k?lsJA2# z=bT-^)->+KV*_SjG-C?UsW}^X)otdQQaf-1@ReF1P6ht1r#f-LYz_!w_%;xSW+VN)%omr^` z?9&BM?tI7!?7TqB{SEKxKV8rQZm{FU6Y0zQll-Gpp+9rvA*>v+TD;ZIpsg;EmW@1b_Hj=< z7?0>jQGy$YZYV&h8FF%`TT$O&H~YFyAC<&&1n$;ERQXQ|Z|?BLh~Goui;_Km_GS;J zd_DxVZkb#=(*s4{x8@UW^>K#&lSu!OJ<}<%!ZOoG?A~B|+{>3B>ZVbGHqUK~IEj%0 z9%UZ2d=xVnO<<*!8-Cu#YsqPZDGq6DPyS*BI&c4O!Icw^>_XQW}o03~c z0WN=K3~ljFkhU)yoz~>SDWTi4G;1mc+<3NN!?@LEpr zWM*PEP?>oS*JMqn`hI74sGGo?)jx1`qt?);MoawnUmf$+6J`{}iFArRprW;VVDUi_ zTNdHK?$QbF*|e`*!Ql$}weJN6mj{r4`Um!G>IyHT6cCtu>y<+(zpa}9`3afEZpres-UL9f4U#PViCI4N*9 zn^N|$#;O1sD`+2P*AA0wr!ovFJd2`KRY*+TNX?G}z@p|LY^ZyQu^%%q>BvKxq&wt#&RK23fQxxa0eNJ5KTSaw>4`qP`oUxN=7~mv83^Z%G8ZwFNfN zoJq9Z!5;GF^}wsm?VP4YGyJ)%&U(tbQT^z2vQroE9C-;e)@mr2Ka9f_cf@J?#MQKQ zV;Q-e3T038ZnAaB`NZ~~;6{HJW+?9(cDl!atm;nDpx5yfzbTB~?2Lj^zXCdYIhp;i zmZW1_uCUQJIjH#QE@W%2Q!$qZHIjrBU=nzbDQ-b=@lGVEB&fx>; zL^KG`VctPMSb**YeC{4hGjr1M$>kMr{X{tXZW%{Y2i?aZ-;DT~!p_aqZak!>3pt7h zTj<@m3Y%6%M)1WdBFec?VMYw{h4?B `MMXkZDd+j#BCAxA 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 z zV;0p3a|UzAk>s~!9gHE6*s|Ebsg>P#AYW78#5h^^`O*(D@e;}z9 zcKuighZ+QKuC~D4nsEqE>78Sq4lB7VA>UCMnGXF=X0T_^=R#y(E*{zOpmo|FA!Fev z?0Ljj@Fk!_vyOYVx^H|4b^b{-#5@Jw?kU4|>A~h_A{@EavW4vNGk%7Exn zHgv6dgw7`(;JnZI*jFCIUakwK*K$Sps^=JYd}JdGRs7WaD4ifjVfx~!mMltc z5|&ID0SYVB>6gWGa@*dBhYgdUR`C-)415InBkytEtwvB$=R?`cj(~q_3i!^81yTA~ zkVuY@Iu*XS5UWVO&9|Hz13HH8bftGG#M_0V zz41@@^w^I{8VsgX-vT@~LfD@e?t@i@ClS485h)rA3{M@L8s!AGb7Y|^V>gLQH6)4r5U*N>!fr%^O+<|Z`% zokBxbh-2CAAI$jdVw!KFgVl%kk^8){&|Hy>wE!%af3~oF*!Av8a zP&0WwOcrazrrw3zZm(Ff?OX^|uU@fF`zxWYvJF4>C8KD|B-S~$1{aFg;5+>kOm{8f z4u3n2biEmWK`|}WZ)Ja8J;Jz?l`!6FA5%Ylg0so_i}tRDIIQd&Zq<>8cuzly_FM-Y z`sW1kD-?k{Rtxo$r*$(OC{0(uX6Dn`HDiET5E<9*;VMQz6m}&Z$s@Di%5N)FwYn-bjzhC;i=c> zm|D>|zUaUYWJcGpXU8JaJtv~?Ju2AJD5AR47r{1sBCR}P3o64c(RZ*kIXG9angzZf z-gt_1u`E5bmxU`R^XUhj@bdCU80xEx5({g& zXBFf4uh-X-{~%9jVRzV%rgMDOLpivA-<1w^NYi)?fs3|g47q+!r&$#**xxxtm~E1V z@$-GKn3slC8#_6R1O39eQE>P@F@oPT3~b*A;G)0Qbl3M0({bAiOZ3Fqg6C4S`*0D< zk4l50Sf6mpCFVNL;rFxY zDybMNJ_^QJ)x!Ff*HPWFoEB&8gP{-7D5zeCd^T-`@5Xzn$aW!}w~Hf*UuASLQ6Eh; za|o`*K*$Oa6n~n_B*o)l>Nz2&e{L*lDP^$8KZDt1of0?~XH1bdm#~^S2brn#COWn& z37Rh~huFK>m{BzXlV$x;HLZX+B!n#Q{eD#eT%_$v1Gxg3lP=w+)0~GE){wfxTQZvud9JFK;r6lpVsZ>qyX+ zJHwf>O&*?gzK041yLg3T1MFtB48;C2rVBYLv@KSO+S~;v_GNwYH`@aJm#yKM&O~@$ zEky-RQMe;Ymqj)nrrB=tuwJ8^N<&?sZAKHW4)LP(Z&tFacGg0+TmzO^_Au{#esHmK z1D|q!I4c;`)0+1&kV|S+qi(%!^i%f6nomJ6ty#BKY`_2<+Vr^kT0%Dy zZs7UE;kS3G?<4nH(szPlHjj!?~YlRcS9Yhu;wd}$SSNggogv}712mE%x+vvG4a3vL1HAhg(TXp*4 zI|P0wX;9#zhq!cq0LV1>!qIib^xb$H-usK%*3M?C zQ`W*avt770Y5}?JdjY%3mnuN5CxR5$p)@Iti?6W;PbB$)fAy zuTt>S)oe|h2VBxlp;+f|`mW8t7r$$oc`Y3Mh z2@~qQI8&HAiqXU@SN5RYl;&QIC(8^oOxw1Y-8r@vY|jtD`Kq?Gf2cGCTIN7xh!p56 z%%L8sczR)7h?*wPIqP+n5O>L#{&b0R-%mt%o_iIJ+K>zf8|%; zy#MMkex?iD5%O|s2ezT+%Qq~2=P`bR={YtjID!0ruAn1UznPKX29b<84iAf{)lKg_ zUK^0brKkKzcFSZY<#7NORAs@ZL`P`TxW<;eh^A}iSAYU)Fx__$cuup2MWP*`U+@@W z%Y@8Aw*%bX*UJKTW>W2=J-9L|mTKOVvPnxWL80mfsubpCR;9+AxsVB};fI+^bJy^| z5IZ{7ZU#SlhtT7h>-p){N}$r0f+OY}!|I`X1n*$G*|l-cdCy41i>52+zC{_v z_Ng$j#~iKmvcRA3-9_7d<011`AoEcUht51j`g?c{lzzL84e_bizPlP9B^*LzK{(+} z3D;1WhH}FHqHMjM;#(uQ;0exb-5)P>Ji7*c^($GR&wARvF_}LXXo-)l0akmyL;p%u ziW-)}RxUKAF`eI-Q{?lK^YLU zK7_4uaR5K`vr<@_{qzHP^s752Ub2i zjBb{yg3a_-e^^Co^Bl8`8-20eqdz(f#b8=f(zu!!Y#dAq1Ly3+K zEuz0Yz>O{EC`6d)UU@2TO9aM(|Ce-{JXBzJcST{<7#}8K`v@m&-NV4H7XNCf!`p*G zKI1?=+K0@cbvHLsX8l2?De?!6C->MH?=|eP`y-L3(pIQBXAK!)0y`}%44$+Evy?&? zO#F2aC0h5<#X~#T#YcAJ7_*p?Bg$#%s5E+GTft?;!pprbL{}`{kR9-bnFD#hq<)kVm`K;$dJbG-Doyi2`uaPLf+eGHtpF}44$+d>?1#5 z^L_@c-`1jZ^*NkiPzNtg)B64{tFU&v>q2k+v(DGfS_1()F>{Q%J zLE)_!_n??sR#j8Mplj&#=P0ewRwa-8(X`w|8D5XKgiirJw9)$x4q3bd-#ZPkxyvlL z3Cg+f>BCu;`ndt;ocV|C`srNWi1Bd7cQ~1Ee%5N!w5cV43B16leVo1JFLqddJlHohBi()A#-E#o{Dhc^`{nJd&R9L$;uHl`t+F+T8D5;nZ-)l0d@vj&B z4Ql7-=HyY=H^D1@e-Kr)jpcLP0zqN0z;ipJ2mP64T(pBTdug?Ut`<~LQdT0{W%mQu zU=F2Lp20s?>bVi~t3+a!6G3XuQ}iF6K<}E$n7v6I4dlGl!O?9W_{rAO@W@8~#udc_vpm<{@ViN{*U6-?uoCj`2e!%$go zd|~kx`xg4c@H5X^S0?{tM{U({?Iu^&nHxdU4)Fr;S&h5fr;6jF4vWY1H6y%b*rB9dH-Z!NZcfv*iX3ozBV1NHli;o2J9Y9r*^HAFxFKAY%gBG zhx4My*JOrpN1_gIW^N~m9v`sNGz70d>g>Ez0SjEQ3fFv#BM&KAcDQgp$yO=ARM8_y zDH8`cIvpNLIr26tHmukC6gR-Mz^6>`UtSi@*vFP49C6`)4l~5V2jfY4=S5PmzD{pG zE{BonL&;&`Xo^2%M3cR{;C7H9Ep^_ES}$&~zOnXf)Hgry?XJeenZ_-qcH^O^!`ze@V4#E_UP`Wfz|BW@1C+VJH)PSmp7cxhfOZx^^x}O_|v1==pz}xZA_y@gX`JLa!tX> zAwx3mlWEFeG4Mttqieh|mH<@}eYEb&BAq?r;fXQcbN$P^UdD*QM=uqs7 zpH^jK8+EY=mwvo_vKj;2WxzG}DQ*+51CV|0F&1}Am1$D<$XkRMNmMjTDvn(qN2q}OaK`$`0RGaM{ zdxOO;h#+6xK`n=_3w^;YnpFI|g1r=+wBwJrpxa_CcpqWMYKOLgxUJBw7`O=bTO{G@ z{JZ?pQ8{pIAem;bZo|jMK5WN$5w#90gzCXkuw_Uk_()u4PT_HI=lm_?UXN#M4t#>P zDY>NbUkc=iiSZ+2PveN*avIKr`>2;zc-X#=Z7~wQf7>e9H{-A9`CA!>1bktW4_pTK zEPYlJ9?ZYHyo*wl_2B)*4G_BT5&vqV0)=k%F!Nithq$^p{Q69IuA!<>aW4x7OJ~#4 zeZrmI)SqZsZGz#=SK&hIRVF#Of)<+2WnUK*qPEu@94U$=hwaPJk088xZ&a>7mC zLv9F+a0rEv8_E3S?(^*3zw0=o)flF27(%T9FD&Fpr zA?wkNX#OjjVrA#Eb6?_U@~&+D-Mzz5*D0bk3PWk#rpsG5p)FJv0(O(@O;PFz?cdnfyny%2Ha{y>4^ z790X&2M2PE_k&fds<_A+|5g)?7JO!Yomsy!WnV)i=}u1-3osfm8=rOxj-1Fr8nGJ` z7faEKN)em6ydTl@7p_>BLv6l!?1sB39X)vuRrM43naZ&sbFYTfoz>vkybVGpTIktn z9b;BIjbQQcTu{xsN=3IGz{hnuQ2xQ4>9lIm$#qZpe9ckhbh{2r6~FVjR|{zVjC7$F zs0kCN<$?Y-J23jZ8$l^a$5uVk&65SS+iIk@Z~?wPegoRq zh@Jd0Xet!le*b@_fWRG(=SJ>K$7mZ%8g_m$iy4^-=??Spz|1ME=5IGD&sJgqy_Z>@ zUMJ@zv4sAq27}DO526WM#mt@Z)9Hz1KD!>B3B!M-V`+^Uy_)5Z^VwoJxM(dUo3`Wq z-6aso?DJ#ZR63P52I`}p^)|L_oh^y~S&r+CRbYCc zFQm?wVekLc;Qru$D6{`Dyp&KUAHDZ@)#N80h?ayEsUxT#q)1`YUv|je9Gn{xY2<&Y zn5O3mHKIY3T$sfs#m%Dz#|c88G6;+u0rs!Yh9u`)nwY1}N&}99-(e%VwEF?~yLuL- zn9XVJQY?ksfCk9?G#!HGcCd}t%CR*}4o|5Ioek$yxHbI%6kQ0Xt}Az8-6efW__qtH z49C&rKkxBy!enSOm88Xu-K~ksE!gZI@^JWWKL#D{MW3zSWVv}Rjc|I857&tEF+cps zwPPXP)6IuGxfnLn+LyOlFGlb8CD8uG<*5F=j%_|3BJy~shBIg8(eY*xgqA7Ol7Va* zId?n;N2b8HARz~NFBBz8idcf7G=4tX#{F_%!N)8wCDFL$sE`x~l}mQwfb?Gh(J9Q^ z_w8gw0v_#xxH{z&>(kv~XIRGu3rce^pf>w6c=}zU)ZnDDzq_X7p7)1F5{%PXuriQQg>QLC#t`~xpVKEZcWw# zm+!xXdFe;d;yBj=hTQx)bT8;6O39>&6|^t}q>UEAE4?4txm=A&(Q; zuynE*-K`Na;Xig_(v7#c$=nB=O9TgEV-xFYse`|tec8EI7gTp$j^~n&z*1Pu+bUd# zW$V(J;tyXOc5<|N)d(+)DbU8B9g%QzOayIh>&4vl2eGs3BpukC*sAZN3sWL?vvYbA zpgy{eD|6H5J}d793Cnz#dr_XA35-1#@5eAP?GU$nzZO0V{LG$;Tac29CM`=o!7d5w z@PUpJ^!BJ0*p@!f^l&cN3D4;N-yVkFb(wtALpjh ztn6dg1It?HEZfS8J&Hj+&=%@M=2)&#$qGvYKwnb?muH1S>MT8KlnZ7v${pd3dKE=i z6)=Z633TiCM9AAwkHeBS2z_T2ke(?p)t`y*Uson=(iE}g1*@sBx(?K3J^3lVgsJ*5 z_}k161JY(wMa?FZbgsnJ(Sul8kuCPg^&(sMAGkj}OiBM;qOczp@a%Uo$(+>$sUzKN z=DAY50zJH<)e}}{vy3jk@PYi_vxqlq#CQiadc7i({V4&_#F1(_#fK!2hUlWEVU4;dUyu`Xs+c?0a>IY%l;@#Ui9LP$sJWb2)M zF?{o;UV*uu#t%Nl{;)LeyjR8^%V}S7dL0Z`2ig?Uhj*^5xZz0bU!<)@)qQi{ixmdGWMRc=4NLt2eswz zIcq~Ts@$%?cLb%gGu3U7{!f#mY?_7~-Ru`SD#uDOuT;1@pFf&b zpIt^v*9cvU6~l1&MmHg!a;~yy|Djw6!a~*2A*$=VcD#&cv*i9Un<-e zr3c7S!A=nl4>O067SGtQunxpF7d9qWogBUAGHs_W9FaZ+hx*mh%NvroxoRSty?p>{ zn+jO%Ux7clAe4^OnlrJ+OmI5c4hB0m;$XwmoSoQ17Akg0VAu;>X2W98zB~iYj0(c@ z*~0xt=yG&X-a;ED2ssOWKECswOOltn5%fmW;DV7T@$?G27^4N2|M^k6S3LQYsF^?V zG@@V&vEIlY3z@o_W6Z zU|qJ2Y(cy)`_VJE#V~dUY_&CJL(k>WW0g(p&eH~b6*`Gp9lbfHKovGQ`Yb4(7kK}= zW^j9sJ#CxS&bIC;VHJ^5a65KotA>3jTR$m+B`AtPl(Z((?3L%8+%vd{vd?UvKaXYp z2DE)f0o42x7|fhFnJ#ps)BI{0mtVn`vbWqT^$YA#Xfdt-*ulGaC6jxi8NFB)^*@Hr zI}ocrisO-)5h=+|5@jTr_je>BX-FCr4Wgx#w3oe7BpOx}p+qUlbI-|J5^W)cls2hI z8k+C@-+zzix%Zs&{eC`ZK0ludm!{L39ow<%pA5U;ph;UFr;~Q^I;Q+~Aqk-}e7sZ& ze%w#z9gTe1Oq)IA;joitZir`7^Ws_B_E8jgY#lc+z7%&ITuqrH$M6cX68QY=WO90N z4MI-|`LR945O?=7%P7B!wE|B-uGWclueBumf_^)#j0rGG{R>7NQ-tHbJlMZT#mwQF zlr3*XrlX7Dxu4*7UUY=7&V9}@7Qewgq3Z;eu`cw!9Z&t{aop!VbLiJfMWw-a`5RfY zaO$KMAr~6}Vl^3TxLzqgXzNZ)o3@!b-$oFhCw6sUK9*dMS=G;I>d7I9Z`PuHZob`gO3Il za9Ou!;d{M)bWJm5eb(``>h%^nxT_3;cg>_LNu$8#VgjA3{DBs_LSBDdFl%Rr=|{5} zxtR!=1GNYkvpWjz=%!LYsK9O9Vu1H6X2688e(=(vm-TGu;jGJIP@%MmWvGv%$KjFC zxj~*5dKyvpJ}uGqdq**O;cf2v2W2+t5?+15EZ#@<5J%ho{0&8`Y6Ao`$ zM3a_(;B&;KA?9Z&8t5;jKQ+4{FmgZXlt_WxiodwS@jII_c|31&xd8pw2hs;kC)6IZ z4SnDL#9LnHnM>#v+EG@;D|T)syQ356*{XB=viZ+BSs!Gh?;JtZ^06?(sen6eDhCes zF6`&r)p#^*Egbe+2Xpg^NZs~6d!QaopS88g=FAN2j8*}IlbWz-^8>cbau@vIj|-fy zO#aXqTQ(4q&T3u{Tanh zx3evW8@RcHI66@^9lJHX$adyOoR%@2h6>EBlbd=NYV0Nr*+!0Qdj$hOPqB=7G35Vb zFks?1NOnC$HZs?6LGo!9n<@^sZjPb0CAw76G7Uc7J%F>-6e(CGntgN|3kQ#jsH(Qw`C1F8Dj=@Nt78MI)S6)4tHL z5OZ!kbdPWZ35_d4XRMpIEYV}*ALdikgk&0B?1C>+YuF5nL2$Dqf^-bTY30ps(fpov z{>ZD7*b}{gcfA*k2R~IpnNl(<|K0(b)r~A;qcU9+x_D>ilrdGI$GF+%s%VyuFBIn0 zql`rtpZoVXtbA9_f015J?}ywF>D<;~?>{*b_gfEA{?miR@6K>ZD~OkM38(I@#oYeU z$GOh(k0|}>EY7hnCtZ)}FkL>4?wVU+=K6XX_ir~9DO$5*K~EujZZfN<1PCbp%I?|@ zrVo{ph(dO6xqB(T;6{N)QiIU-yTqA2HlV+JIcfKtB%b;ll~b3qD76%r z4J+8T5;NNCRu7NA+JoDD6Yfb;7>(SPB4p15ZbQ^%>OWA)yXYxWo#hBp87YT+)NzoS zn~RIsbaJpi!4kIG2wqPk@_81)Nq^GAoeK{^`rmC_&dFR>)#@PdU_{s+7{j`Stcv$~ zSr#I2ixrw`*{)h;Y#jB3yVyv$<<%pBo5|zxjQ#l!rh3rB33s$e$ z$ZoC@_J9@V(IUQ*g~jbuAHS9DeMSDH#gCmixc>QuNP^|Xd|}a`w>p{)LjNI++k3k1RQM`PmVG3u>G_+ z$knIe{SoS9uebrvrr%+$o0I6>{4;EsRlJZRt7o1QvYBgoB>QKzirtEJpnqdxnaP7f zm@jzi=S?zV70n&&yo5GLmfEQuks(+Dfc)|BspXsKL0+L&0D3J+nIZQKYq5hWt|weqNyg zi{H*>L8}VzscskNE9~CW?g|-rl4XQSehPg&A5}tozMkIO{$a)Cx7}$ZTgeq(~eejp%0G zBdjp!PnVFTi4vHt>g4`#jKFCK<^GKw0`IOjGcS#$yq?T>J~yoeokn{LJDy4y`DZow zoL7YPH5cLBXGa=$*&0TgAxU(E;zRp0yja|QE_TCEf5CpFEe;Dd?YP0 z9!?%#meH97ic}n-#I{G~Q=9uww)EFXx-VnO_a!87i=BV)BrEK)hF@h5_n6Q}lW;t` zF%70^XW{I>EBT-ckI^pTI1WtN3|Ylu_G3B3kSf8iQ z$qXm=Erwyrf$WW879Bcj37G<~<@FmKDx0dpmA^D#8eXCNMcH5I`27GiN+q*ny86#rDS!M3;Y&9jM>Mia*3{(R#v}OaLWggc$bp#(?DVq>#p%iKqcG(H(Z)|{xc_Stx|YJHm&O z7lu-F)5S_>kfycO&uO}EAU&9W89X-^q4S9A*xBX*Z>Rrbi>D{xl&EUawSNvYB3O}L zrye4!HNs4X0*m=k2lm{(3QB78Q7f&4t*D>P9PXXP*mcQx(S8J(eK^YpZ%;&{ft$GG z=xW|uFBt}JSV-P41_9R^0fAHPX^e(5&8*j;8M|euZNWP1ujd30oINd?s0-tNjG(ML z&Fsrmec~E#<8K!gx+(J*F3np&_a;8J(Mx&h)AI->EB6>e+w5@1HW|`R z8A`p559sm2OuW$KN;*|#^!3GMW;yl&yWpBusgW1L+-KO(rtZh+qB?}SoTky<8RKDY zUpSumgd_-MW#mHM1R1MQJ~K)5=dy&6V+iBsA8dl^hU(w>ej)nt>k zk}+aWF3z~hxYOrH!uTC0AZGAe&ZcEEiy~Wg{Xi_e8Zr!$*BXQI?qziU={DBvG@dT( zm`|!AF>1fE2E1JLhz82c*5IuKFXJy1kHcyr;md3V)dIqr&dnJJUBsP59GN z!D*PxrVXA!5c$BI`dh3CFKodzT4{Vk#$*28w;=kXHWq(PU%+h=s}*hW9>V<8#!;(s z0{pJ<0%ZensLm3&78{JoZ|XSi#mbrZX;C#Rj_u-BinrpCr9Pw|`-L5niD1tyMhpH0 zYYHna0h0h3DsGV$=B-8aAnhgBopXbgu{MghA_2S2Q#g^P3mN#Tfa~rs?qmHiFfR4y z?urfxy+Hxca%}`__8y9_v=ymuS`4J_k!Bl(y`P5hN-p{9d?@RZgcWaB)#HXGqa{!w@&W5V9LUSofzXVd-kv7pqg2n!z-;7XNJmj32GYsq$mf6I2_ zwU}VK(-zDdh^*WqZ_J$Xw=~6A13%Ubg&?Ycm-)xkDOP}kwIG>xKJ7@|hA1!8c zZ~D>OoHMXSc7)K`lZTUy!O(nb7;Su+jk=l~{Z5R4Zv8zttG5zk2ArX$T|)5lox+3K zCiHFBGp?GA!2MrZFi3wVWlLmJz3dBSEPYMr2u}x7tr#}$#0e}2SVFHJxdQdIW9sU$ zq_OG{x=vk#_v`nwA=>l!{b2@nho(7!snrwCR{RAf>N@51RCR z88&a?!No-%W_(@9YTV+v&g^LVJ4qcrHVvm@{Ug|EP>t)%67fg-YP_>Ak?aC~iQK-5 zLH%M`*nUwB3WDx2JwZ}=WW{N_#~05FRxK9e_OMl}%>D{wJGYEQ7=&xDS`^-@SQRfQ!hySYDshIs$63|yV}3iFo9vk~hv zIp+`M7~i)JB}ayU$6OoC3Rp?MG8T&7NH1jR3)HbRMhx?73vsz2V7J9liuo}|c;A=_ zK|{9V^Meg+zcnY^Eqk$dJJ7WDGVbc;7f5w?aYy%hqSwhn_x}r+wI7CfnHHw&JA~_u zO+aZ4GcY%Hptgg}?DWLL@br5GoQs#h>2BLF{n&GU;xRcm+^Piq@(W-^jw#6(s9W%Ke&ZV)EKWS)A1wArkoMuE%{9NI~<1{pk31_MXJFqPNBpYvO0xoj>Y`XvX z%JglXG&011x{rys55Q>c?W7yXpTQLcPr7C zvPp2_k!<4@B*33ak%$2N8elPxUy*zSyIvi3~hUX zi!aG=x^e;o-*GjK_;?9dw8rv>JX&!+MzH+~TVPSp8;C#nipjn5U}M^aUH$ncme!sG zJFQ~*(i7K^pMH(;Uyide{$tsk1D7@yz~Bp4dHJ=@xc+#f z&=YFsw(pRoiyjTUdhw~Qh(Jb6t=%1`KqR)?_ zxzX7|wm)cR(Ia`mL9R7gyx!%I?Py3ll;3)cFDo>YcsBN}FE=&Airch( zH22V4g+6UsA#{++FkG1NO<&jI%OyHAs73?CowDKmk5hO>*B9cm)o5_LmC)A`y77?$ zPuO}V&EBC7X6N^F*UIEbb+97+E0HH9<5$dKn?2~Kr=YK~4P9arAm+Y2sL4l*s(wnr z>a`idchQET)H~SzJUukBZ3eYJRlKF=Om1_|Y0;%IyXn}Oy|`^p0yX=K@y@Fj(%*uN zE6$^oVd|8#oXo!o{M5ViU?94Z6_v7#oh+YVRKwU!K8)f?Rsajgj=yJMK2JQJYV3VhH`o~`yakbh-V4D znIvzgPFw0%^It?IF#Y*iHs?YljZQuZ#z*>b=0@S}5;mJ$wpL)5g)F5{t6?JwjthAv zGbj?DMw8Z#CoNMM3T)A&O$yqguO83wsY)$V8>&DV{wiUXuv=luKgK8yTr5E z`Ab^DO!J@cJrf~5HlZOYPP8^|CZy&aVXoI*>5JZR7zn7q^vx@oN2@j6==H!suz;R48uYXl%v;1kFI5I^G)0my_mJ*Pd3vofisrg>qREntu-^LO?V7F_D&I8uaX;uv<8asP#3$} zegb3sB8C0?R~&oa6zg_BV z@8i(8yP{c!?^y6lfmarC4Tme|ky5%Nb7ZqY^M(icvEGo3<%&c+HmCnNC7)#Mce zOu<1jjUB6B%hrGU0sDjFVE9TW*y$CHtp_Y|2p+<@j^VIs#Z7kH)Rk8na|`D?Rk78h zPujWmUB}`dCgjzafzQmRz^e0lw68xMz0FhL4{k;HC-74u6XCV-Q4#jp!RY`WDr{Pa zW(~(kPQ`%#QkRA;otgM)tpdAra2cEZNDTUN!$9f>g9XJ>Fm=>en)b5-R`&+u80`gM z5E@CAk|!{^?;n3Oshj;=vmG^6ed)J<4foC|2hBRJvL#I&nAdiJU;GNF^29~Db|aek zr&v*zg$gzHwlUWi5!fN*L?2i5axH2b*h;0D@OUw!VMTFpN`5#yVRe^1KPhm|2Op(7 zVP)`STNS<+<->nob8vh45aAq~2ygjP!TnLh9aR%Pi=-=+QDV__)KZKFEXwSProZ5n zwr-@9S++3eodw18EvKeU_H=i`RHpUBhi`ZpLa{Nw1(jb8{R=0FQ|7o|oQb5A>22J6ZuF3Q%-?u2J0U4A8nwk-$S4+Z zuaD^nKDzNRHB(^8eb&U44=;hYXFpe$9E&!Oz6svRLo~bN4y+a4A#GckpzIF&HC<~rpa|L{D?gqQhmhu;NA=42H0F7Wb*06sJzROpk|I|*P znY9!IZL*_R0fFqkOC6@U45l5a`#5RAlRaN}|MT(-hUsn^q<=t}=*1T<=-7Wu!M79V z?~0{TU0?d+7fmxpoMsynbGX4hk66y07jVSmCBEDK6Yb6-8=*9g29FdcwNI09v79PD z_@xtUk(7YXqie@Hp!RS6ZIBYo7acQEq2_K$3D3C z&scdC+$##S>=l8Fu@)!D~+TR z8!q7S@6Y&4UlQ4ng{gSoqMlyqYz9OBMm}r0ICnut2{tMuvL6YDG4JpeoD;843Oyds zHromBU#rHhm|keD5IVTRb4>e64DDKal4h=nq3q2SP}(2~)>8!bkB5xi{A;rIA?~Mn z_X9_u{?B9Gi{{1a!aYhnB5Wy8{BNqXLBO^ej5XiA3zxmYSgwzTlw zk}HMtiF3fR={cKg6hYfl)RC|Mh|erH^EnkNuq|OQRi#;xC?SOH-SwNRFn_>LcK^Y) z30a?}yC0a6r;fez{sO%B+!Md-9bhZngq(Oy27LBB3)`lJ!t_&@0FG^=zCW7mY~LQ3 z_IxZ?=Ow|6BbJhq&raNN(g}JC-DvFLU+6pKCNxLR0MWsTlwST9mRMc|@mFt9EAVBd z38k@5?g6CrJq@btBB0^*EiUC?KQ7~onCN{W8cuFy9)X|uPwq#_=t V|@S*Z1jgy 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 z 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 z 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 z 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

YrrO}n_{F7|P+wPz!zegB+ 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

oA_XJO;pV{&ISKyO3GD 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%0A(q%Q36 zRQsYR&YY536TnJXPcVbRJK1Ppz%5?HK_tyH|#^ zPlVBwL%~q?q7P!P*RolSS?u$}kD@2#|JZ|48?fj~W6yq$p&Y3uRL%N<>5~=$r^REi zUniRAKW85w>_o2B4M*HRDBSA=2fCWzRNVHBtEtRmGyRn?uv3gZb-KiF9!7E{RFTzi@O!nqV@ zS_r`tH^Cn%1=O8(guAk=nRy+~WGO@Tp=qE51j~P7qVZ$#!)POX^mZ(HmR7QDllJ0V z`}s`jcO-2XS&IeMc3{w*0Kvj;bUW)|8)x6DNoI
3~Offw|Y=J8yOu@G=~Kf2_}waR$z;4kSY?+ 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
9-9-`RiKk-S!5A1j%c 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�yFv&r)7Q}9Iy1j!pY7=a%uS4Izw=m4W$8VIC>&@2W0A&lUmvc zs$cvJB0l9(4K%WQTdkSt&4t7k7K2O339P73=4SklqVsUX^8LcN6+#G62$3WT+3#~7 zT3V7Q4YZUL8XAgZMs^5EHbp5(1MhQ=mJ%%~X;9yiN_+3|dw&1ItDgHl=f1Ab2P)~K zxEL1g4uL{WiVsn?6f2GQqn6+YjvJ4RxChBzj*h&;_*eSlYRD;#N?S>C88(4~21V0C z=aBZCP@Fa=1Lm|`fC2BinSFdK$c~#zI{np;gyAt@s92(foW8U`@V|d zilQDwtjdBj*Fs5k_jZ1;|8tbNvza9t3U9i@hk^VETa< z!pop!LpoLozkh~D6t2I@K}Y0we$3wxocZMuM#ei(ui0SGO|TSrfnt_;_cELM{Vea? z`?|6GRx7vfs|e-@oswZ|0&swR9_GlN#N?L`u(`I8Vso#+m?JaDG2#NJaHka3HB2MP z$K&u~=}gj4-_EPQxd)4?SHgB%MCQWTiZ3#{GFvkR}Ot8d5-=;@I5TQ(2?iMEYRiM4qRIq4UZyl$Yg( zqxx&HvMo{6^UVuPCw!!TN4{`(UbSKK*-tRey8@eD=&^n2L#fwK5|(Ke(nE=9;A2@y zYp*TEh31NIaOx%eFDn|~fzW5y-XeI3E1~oGNA9_hCzls^%09CbL9=EO+>FC0#B!eKn>3n7}IC7Yp8C4_a9Moo#J0gE~Dw6p8l(KWqkb z&u&74fU$gK`dqTIF2;LBf}`zAzi`e9v&)}*=<5;1Zz~@Si5^|hqw$mJZC}b|pK3s# zU1!r$NOidT4M_&}`58b#>_Q8aQIBlo8l;oFH?-fy)eS*`et+d?G7pR9jl<+>Jp z5PlCLfBqI-T}h<4-k19=(EwXzv)R0%gJ9!m8@zK(mg3*;#OfK0z821>xP@AxK<3El z1jIvSPCLt;zY3B%9KXendpKpB7y*9z zi|B}tC37~fz@T1PXtB`cTs;mkgra^Tbc z4vmB^?~RFDFtkKqKuq7ohPmz#Jd=O9miOkg;Km3FPB6f1ix`+J+&|@F-?ATp=V6|s z7$@0Qz<@cL^sUK=&3oLyJiof5-G&orY17DbJWsIG1O35AAs1wI6G1)h8EaK_hl^dl z{MEq$%+9SB9}K&P*^m182SgLW`rFUfeZ2zZ?P~1$_0{CuZAfnSG^y0y0J-04^y+8{Q?0u~-|8I2 zH|r81e6SC7OaWMM%MhYq10u z#rVi-_JSYHHypMBY47!LwIPPK$Zi1L4_*SxZ4_&M{EC|*Apw~}|6$zMFD$R1SA1*B z8#*O^CsK@9Mf-*w=9@NoKpj`ZCa#YpIoDVkDy2k=bSCpt)6Hpy)+Bz)c{g+q+DePL z-xOn@O)rX**!-$$n%P;7`5y`#EkpsxzqKJJ#XwweT8}DYr39~PHHMFIrzVvdEcoep z^eC3Yg(fRO$M7n1-B~~@3?{*8*E}*_u@*+FapYQbSL}J;fT<)8XD7Z+qc;;*Lw#HT zP04@6jBVsdzg89+?|l4E6ONa9@!KZaNMn zC3Qu(u}%iu)(xVPujROC+#LMx^(Iy`d^BaIod%f+9jtP&0@cXMVRBg${P5i-z9Ne# z-M1P(&3=uhk9VVE?{>)BR|bQuZ4sKgP|ap84!;t^1**96s&i^k&&L!-K9Hlx=xHqP z#yA!?;5-yb+mOF7kH}7qgO0~*;r?|!FkN~H|MU;#549e_OZyGTv}QjXD-@g--KTNI zB3*DCIE<}tA4s;b)%an06Euuh1Jxfl*>2%`J8O>;MJ5~J3(xapVz`suuS;fM#>!Ix zzC^!#M{eshUz(aHPkJVWC})2go>e5X>m`Vph5~0l_A^`CKAvuF&VrKJ%5?6KDmm?s zB6HV6WECudKNdH$&n>bf(Yp;#1??6P{3Brh-$`J#X%?6U8*(3{>*0RT9cK106yt>7 zbZ$Zb3tYS#ih`!X1)-zo2n>3nmeGs%!$6Zl#AfZ^ME*w;=;^#*c<^PQ!2UYJ&Uhau zFD{d1+jdYuw?yNk*QG+=Bm$CrT|r@%J1B~LDab~Rtr3_Qk7Y+d$;1LINnrGP1kYS< z?&RY=ce8%qV5*S)%w<)@U}IM+ehaY&y^Y63FVvLz{VzT7y|XrTMI99>rOOL@kDXL9 zQib^`_|wnsy|8m_EbWszCG=b(!BW_fNNxyZF3(r8OyRra7c2wwVmp|5+O zF?`7%XD;qcGMM|1qDrwBolPIeDsy!jtHlDkdTF`K;=7PY<Z525^maE2FKRbLCZ-i;ueMA zy2*>E&{T%JOPWyMYd)P5-$hm470>K%Wj}VvF>P~OdfT#wTY0>I1q*xWdnqOC-3w`U z?&o86VOuuNezXS;akIF?Tjc1S*Jvg=JCKf9YSJ^o$k$pH6~NJTVi#1O~DZBv5+lr zPZjb=hV)ZIj=tBmF+E=?D0Ux7<)?-~^!I~clmJad9G2^fR-HMA&tZZQ1KwqdJ_X0k^q zyP?taAlW|sjf>Wur+1SD-^;zTY|L;?3Ot%g4bE;*wat!p4UwmtS?M%eV8?r>#!{G! zFmnrC>bRAuSm_W?tCWkF+xs+_(vi-pbk;$)ZW^R-G-X{UMFMB4grBrN0fJp~XyqXd zT()1r>6e}oX|7mCwb5ts%j*!z+PVqm=U9+RG>bvBDT^wJOJ_e};5r3Ciz!aTOB`h&o;OoPOee^_Bv4xE+NLLtS0-y zIM9_Qe+k8tG2Kk#UouRXuLql#bDWk&I?mP=-qhl2xJfIuploLZ9FL0T4E`R( zKFt(b$4-kO;4-dzwTwL&RmGxO4e-qLkEl>Fnu;q7>2Lf9iW+|#YW@j-m$-B|nCgt< zyJ~rk7eTqycs}>0Eqn2HCq1~6$7amkPd(dKGxIZ1@HW((iyCf0BfEuumWw_AS6YV> zJ#t}9z6^dn5siUaR?HuEf%DNY$c?sup~(~A_D(OHSYu2T`(I$x=a=HqXYY%vUMb>T z&3~*sAsGxB5p+Y(LFWE}iKCE&i=V&>wy$}p*PA22&AQzN;I~Y9bV)${V;&9oo z^W5ryC%g`svD-8AKxfMVod2el-HR7oU!!wbfsYdC)nDZN-tWdjnPQZ?8%-XUudqNP zj){^tGT-&qEb5yYuVy@vmQGTlR}1%}N%KSYUtKO;3`>W3>Pf7#-IDhBykHhXJ!tOY zCtS&{cYK%bJZ2u0MwZ|A;*}+KwEvE6rxph_OeJ?mfrf?~So| zxh<8|7ek!FZrZ(X4rIP*#)J14;yRmNcCh<52A*yMU$Z!z?4?K}r7rS@CTCbgg0QRZ z+Cr+UOUQEL7UrO%Oxxb1vdOB#8~La85Ttd2xhapKBkQ7Zpw>hd+^7U0@gI2mzFK%c z@Ea4~&q3{RGs#QxB=g$ng9g8ANbRj6Mcn+22M=$@?H?!Mi_kQ3KR=fp(2}7oy9#h- zZ6x1N0JN(t2eOJ>nZ)D(_F_~6*_Q1VJ@Oht;f?yF{;qWfi z)PH0lf@^0~_XH^aJdhRy4B#~@!!Un)BKDTH!jEoya{4g<+WK2C=-Ee+C%;1cx_BQ( ze28JghYsh}v@h||nPSi%bsAsCj3n;@8~QDHTH5m!A*XCC9?!kP*}gx;SBPRs%|wOP z$GWmP|E!ruQaL&eb>V6>eE=BO}QpZOnE8)3bE}Jb*P zH;UDKz;v+(waRDn2R-~9W#$`zqS8Q`s%cA+SB8Mmi5^j$axWLuC&4bv(1Ss0hcNkD z8`oTEfL*^=P-omw+BdC@`TY|HK(~9~Y8DGKhWJ2pSPt8NrybKRv)Gc2nfw_w54d7) z!!8!xKyGp_j9i<*uG(o}_KH3{;%B~J>j+`Lx09UJYbYQ&AJn4;Vdp1X zmXI$+4~opeu0gmf3tkA1x4IPnz?RyJgTc@un*FT5!IB;fLDQAFc>VM|WV4lVMouYH zRGI;jX7SW*r;R>)dQoB2MW*1mm7NH(#~}BA{OrbbEdH+m0}U-`?0aQU?Ad|KrfZ_+ zfF@MG=Zg(6+4!Amy``=3LTXLH;KYjPGMzfh~WzM~Tv1 zHgL^hPPBGxh-idD0NIa3cJD?3`FL&R8^`Y+qz%EN%E|Lp1|K{|8miuphJS_&NPR&L+B{FER!KQF<4YZu zUa1DPz$tWWWHN2P>p%k%6nUL{p0s`8AM91zgFjU3#QHnNu%t!bxV&HbG~UvcB%9_# z(tqpuk?-fzyK~;~&@T=@$RUpTvYPHyDbl^RyhO-a`=b!f`6gEHVOT9-9(oQ8jxnHP7BhFD0%ED=JqWeuHDNM)w|r_uTIgV=vy!N zjv!sGdAINuJ+=^!hR!9s)e9(a;079ORm%dy-mswfY`nIv9OblkI}B_-iv_3D1!KJM zomX2x`@F31s74l){j1`ue+hl`#|pGEvWFeNxRj;*9uAjsWicXl5r(eai8OR9jeZ%y zZ}17V=YB+PGfGE&USs_6N@lhSVP6_cD@lI>M#EtZ&KG6l;ht%vXYW z;aRbK*BeYd)DAnGw_z&eJPcMA(S{vMF*diI*(SQ<(#7j(?fZ$u!fmlCatfrkOn`yYN|~*{G)vV?1f}vC z)*D)cY9#~F-OE+Tb8Zql{yv5mr&se<_DiuqYNRMQUK7=G^EmPp&I(5fw#sQTYtTw% z=X{nh-A~%s;T=sUwmbmSo}=((wG|xR<_*i%{lz`sJVD~Z2{!HcSxQg8&cV8PJUeVV zEpgGNL;HmHYHkgjezcr~+aTUQ>WyYfx|r0lipg{eY+s`()E3^&-?htSu4A{MkK42b04D1hH@5>S;_horx8<_O=teBC)tGI*u7&p z$QzVna7zz!c%I2zZjYlOtLM!9$e}_G+T(P!skP!#7rf;L&0^hYSawuls5V(~C2f@tn zI4pYD#kGxl32ku$$nUQRuCLw2PCn9y$Fux6pT)V9cW@$I)e6IeT~AP9OBJKH0j#La zjt)L6gi2>q@>k0sXWoW-k_N%`np;f2Hjt#3>40jqu+RNo3hi%&Ip6X+A3n;E@*2}f zSxWHSW?th{RSRfmb3MPlM-l9Q+yXbvgKT$=J&W+#3DGW?$Dtx*sJ)@ysu{=mA}to^8|lq+Wr|_sGKvC?MSA>2BRq= z`v4x%aR+++2F>y|!h!q(a#|pRj-l64>BT5IJWWO%GxZ%am)K0o{tE1UpgnZyjAC`v z!aw{VxObi@ka_A@3^^*nBy?7Q%&ON|{pL9zHB_2Cg#ea!))g8n_VE(SrqS`0)l6MB zi;~i`=&jFYh*c5tsPu9aIOspcQC~0M@;!5CS@<{Tbo<2OwtmKcsUBc8qq6a`{89e= zoypMuJOxM0`NK)c8^hVBAy_)Qfw?)2gYh5yMAH^Fu!MWdz}qeejyS2|%DYi)hVN-+ zV7Y*LADw5zN6Uis8gH^$AHt+vx>--(MRYzUK^Mn%VwJ*R3fDE}lxB}5(Tf;BgBHFr zcn7Q=@tJk%Yr?0`b<~}A2_0+=`Dn_6%;pXpR>`CK`ZVm_{f3*CTq5i?f!6z$GTnG1 zX0Yt2DD%`j2pRrYG(G<%XKL+6t2J72@mF6OxFm+@-z#M)mNo2~aTdDox{hv#b(y1q zDXe|-5i2en;jAB9IciMuhp*S<$a(5tZgI&vx-n}8XtvE~+@p4L?1GLZpw*Xaip?u4gGq26T*HSZoK$u2d*+m#mtyj_;T-jiu%)t*L-Cu%X=&+ zrFG(kiVg~K>c;Uu&hb_oB|+R_Kp|~{yZB2t*1HD5#j}+n52+jYR9OoiClm`_py}B9 zSPJG`Qii#T<7oG^jc7ktorVlLiwXw=`7bGk*g0M32ib5G>Qv5(UXR7VvP9-I?J%Bu zco{{ElUkrg(dLmOdZaa4S_#uGf;cTJ$7&ISY8XW z;c|u#_WYbnVHdxMRQKADar#Df?3e-zu!{qe(vzZHqU-4UZYXVyyoJ{mH^CX70sQ$j z4)EO~8|>nXSxVb18rQ!Hmwa-hatm(?yeGIg{(V3V!=+rq$}eol=iivkwqWFvYh04K zKg_Rx&yN3SXQ{J_nTj2Q2ID8-r7@r6d>YtCr@Oqv{zFJcar{w-X!hH-fmYtJX7g-J zVSJ!DOj+NDwsRZ#RlP2>(5)Ih=34PS`pf9!eMkPl%PJUhESFZ;&&QCdee6+|JVb=L zV$W!OEEunf&yM9&(>_nwAnc?HvSv{ACj+PH#)o0s`R4+|I|roi{X$#Cc2;Lp?O5DB zfy5s^;sN(v%x+XNmp!`HG5B5sm6*T8o!>PnC7=(DzgXjH^%6L3r3Bw2P6%ubfibJK zk`Gb5Ao$dx=*yvE?&RifHdgf={tN%g9EG`MnA=&DJTs4M=H#*4_T}tv@?k8yHy7h> z>p<7MrEFBp4c^SU2E7(!!oFFt@J($le2Be>%2VA%Nfws$aGfl=e;EwNxAvp(gvh_V zCxwwq=)sHi;nUJa4U!0zb zoaA#w@{>KxriLA2ukH7-kxt$0%kt%DeNhsA4e1e^sd|ac7LLZ$96hF^wThqIUx+_H z9RNP%A!lxxME`AF1z*1J0-KazusoH7qt#r-LN5*jO!wTr%od|d=bO8OOZCJ7M9qdky zqa{JX*fXpKw?&nLVdo|Wn`^+aF&Et=wAo;1OPaphij>cIK-uA6Tte3&=GG!b^%Zxy zxL=9*;KmfD6Lo@KUmq@>HcSydefffp3MKqTm3|Z-HRV$}y*SSyS0RS&V}rwDaL63s zqyHWde~Wb_N68|T2#A5OBf24OTkyLJe4aES8Hiv5 ztD1>COpsdU+;`Xi0@)VMpp5t^n@qOCaU(e2@!tM)@*cG&lJNw{%4Z+hqR=>1`Sg zdl3Y|hLQZWocCDpWEuW^7|4GZ?F^N296L9>4^Jd}z^9wZaHVoTuWS(v%}tZ}cVDzA z_ij47mes|I4OgN5?<{dV8j)&?1c=YZ!X^7R+zA{(%k~0Y`5uoi69#kY{iiT%#eckg z(ks}Wa1|#Gn8MoRH?SjZm*CcL!CUxw68(}s2P3Y0$K021aOue3Si(8Mm}eW{%CA>k zqu~m?{!R>GPm}`;trEEUIbQDfGo`TOU%lHGguH%J*>tGe!fnqOboTz+`KdZKpUu{+c z4ewIvamYTgbzCVd6gaRcAD2@`h$nwP#f(07EyDSU#Y`__1q9EOXS2HRi;cD_gZn&d z`lQq*etSpWsWnIn3eI=4)vxBk$n>53B++u5YyA*+tUJU@NG8$4HGxdtRFQp@&BCq~ z2KeCVVK(euAQrncaAsFE;kUc6lZI687JJj7-R9yAj-6lgHk6?!u>% zZP1uJ8C#vKnM`Vf*fV?;tDe_}Zw}vLvy7jJvWBk0j!!cMKC}VWTYtl$>&DQ%@5W;L zZhcrgIR{$K1+uJid1f8u&KZ;mGi0%?JF*zG&$Bypy@Q6W@M+ zAk5?T3#=6dp#xr8K!(xQq6-qLSDg>c{WJr!(@I z#z+~a?){CWFEVCXgBI~y2F63J>;n26n8x-V_UEOv=8^h`q4Z#vDxE8-#nEG$!A>O? z#}_4WM>^F=LNtj2ehy;86rS<_c{GXdn1ANSluU)I6)*8v#1zu}ScQHi%VEC#9j?51 z7~MP{!&)~faodkvWh`eO_mCI7T}8?4)RGe{F7pUepJYi9fjNBPrYo#Brh@ktJiFhE zS5oEO>s)~Kd{N1m;p|xAD7^75U%V-IDCmUCU~74#&|Q{;`I8;d_RlFw`)ERgkEgR; zYNue$mvZ)b$!)x7sEX@$A7GB-2f^B9jHs_$?ic)f%R>NE$H=`>Q;Kg@p!hPfvbgIn~X^)&Q zIKslIVe2FG&gsRv)QRlrqb770*eQ_pfem{UMs-uuAjbVMn=kDAR6BDKer~2c$8K<* z>vSMva|@2YoD3hXg}@F+BNk~9&WGPKqtvj^+;1V{@Zsx2Jk~9|!EVGxdliD`!!^aF zwjtzm_X1z|>>RWIZ#t6^cFsM1+EmRn#CX$){caqN?{^e(k`Eu^S3^}=d~gzVM^^J; z-PO!T>zNwI>T{*ooBt$euVO52Xvqi91#ei|@nLMXmp=U` zr%$Dm1QunUkS`eIz}xFjV=P(7(v^kKkbwqNFhGSm7wR+5&=TC7v4^`avxG^{QG(j& zt9ZWI@yL@hwshJWmK(62S*H7g@!$(=*^D|g3){tZR0Wen-Z956FA1u9 zw_B{CaDgA-Ud^xjkK?+@gfrmbw9pW;Cz~ zsWMQN^nmwC%f)BOiFB^u3!7?{!zrr^{=<&>pjWDdrQbZz#qlh=)oMY>*##Kx@C_@* zSPEIlGi>EGKPJ7}n~Ci8VR>pTIn-}w7N5>B1^=TgbzgRasnj?8Ha!N-wEH;gO#**- z8RKiQnl66*XH%m)3~i#p$}@sPoHVZT*^8|I1N?)6!e;NT9W zCe0X1>zVe~d z13sy5BBhP{V2ETNv)OFIW-Y2>ON+lTr{(JK+ieSe{w?&(2T!1p8qTz!;L1Ou@g`2|Alq@W zS-6KB;PU!Zf#46j^U{TML#m)KC4z z`C#H4u0yAb7XCM42ReQ{$9LFor%OirnWIWQJRjGCt=r?_P38}@ESZYK%%#Y5S`Hm> zID`3ld+AMWCtvGygSV(PpojVTklnPFjaJQMPqP!~;&Trw64k*yA0FuF2b6#AK$|t{ z@ZD8AZmqfS9kR&A6B~}h;MxH!^OYxD|0PFTqCSZx+r@C-&pt={awod+?=2c`aHP1& zBk_u61_foSlA*CHt%{4HRX;vs?(Ijo@O&df5!r?6%cSv zaIcg+V!O1eIOTgfY-{v)>|ZvLE{#`$V$07Q7!@(ADr52*<_f!&r((m+-CT2y&{q<# zqq$9LP|;|~j_r?UY337QGM$5};+gz@-EnmNVG>QZa^l0hGufYmv*E#Ea|(XyPUBj} z(0T1~tZIQ7FBkcdFS#`E*VpPe+WB1ay3aPTEOE~E^u+X zA$|QFLU&j?5ntto!vQ+Z>o7k^EBfr>zlyRxjB)_=Xh`nKIC9`_GxG`kH^Jj z+p+0J0Ie|*So?qG@I@NZ=(K1bF7qyd`aykIEH@QnpDtpPgA#CR=?#=0kPfc;!}y;2 zB}^^J5Kb6uV22l+U@BjavYf-QWWVyRXpf5uTq%9b(~KCVBq*reAa^?wn5f6H_=_BmG&0t@@0HRYoDK~c=DW}=e z^Ok&6^W6fD0dg>QWj;S8Aes6$`cUaW2N>`4iG8&?gl|Iip--!v|M5wWsT9V;gUg-* z1G5ssru@TY$L#Rk;3HJJVg`+^zrp=U68<)>vFz-KqxjCt1M58N-?`1nP0@o-&khRwGeffUQg!+pTn(O|@;PPa%T%_g zNObeAJ_Ys1v6q7~xC7^hky5J{{CRvsyhLRXIJzyTa!DuH7HtfMi`7NmDFgV%xG`YR z>jS5cd(zms0)vNEl5X2uCUZ)Iy}zByq&}WQaS!7k56PrI73<(@=P`cI-{YXw^n;h^ zHiBWQb41&hL^1(1%{IyiyV+ltnREGMc)PM6zuM~4ph1NWEBdB^YFHuGO>=^kmsX4U zq%v+`b1IGKc3@v@1Rh(-Y?0<63ko`>4ysG-nck}LBy0m&r%D)R%Z^8dTO!)#(uzl2 z6`^{{dZ>7>Ofk!W9@b8W@b!tfUTr4+X;DQL*Skz}P#(%Q7dMV<=w-?eFM+?K4ZZy@ z8l0kUV#Ymr{M*;dy&TocLQEJf3E3bx!6%YR_%@jMdMEk{?+}@*ZQ-eCG_Do;1IBib zaH?)2^$RnYVrc{$X7L{e+Am^3I>p!?afd&D5AkuP7!92C=&8Ch%r+c_=idviqs1rc zox*~tfl1Lv4Q*C=rvMC2PlagBtFTuy2m1Im{ON2hDEujOab$mB$dB8cc9jHWItcrl z-sAAeY8N^<>BHA8M;f#5rgOhE{NdSlMeHAc4?W&&!o8&(%-5?9;`WHZ%2mkse@N$z z$0-q{7{jodG?c&l0qOo6atgG8M_VIlRk8wHIN6WiG8_bFw+U@KBlH8ltwW{JF7(=A z7wG-uAS_asN}3XAw$OdvdtoBf*-gU3!#hzNDRd#8m~*P7esHOJKhAU>Mc(bd_@0>eD*>6lTVfgVV_Tus7iL%zrt)fx1euWP0Tsa=b_kY6r1&6Uw$qEYGiba35B&kR5Dt4SW$gi^gPw*rZ zr7V# zL#Y5V9BvP%jnirRgfyJ`FPU1?Ey!|50cy+^xH@XGw08Due)h|V#s=AiG+;yr(-iu= zC84@hAb6%7nhHThIuW$Dw6UPQ892*Pf#lwPJDqLH;AM98RVX)Q(Rvtp?hk)MVJh@J z?_*_U67atG0cSbLnC-|^g!ATBgQG0>n+C0K zTF*(|847aILs2JQhiYa&!urJr@t)8RlG#F(A6@UB4fo?^zj}C zOZBq23))(=pd}EMo;_!64uN#2;3%n92y=Aka(uQ)@Y6n?h<%^8(Ek7WaH+gDIF7A{ z^9ISR#V#C+-pM%4j2wca*NlQ$%`I%wx)_kXRRDiW)?m6r3_j|O6=fZBhPp+G@OIXD z?(*&pG*jFqlDd}22A5@_txKNZFgB%HYZodGU5OWGzTw^t(xg0>O*lG6fp-mSVA*dj zvje?}aBWJg;0)XZH%?n(Qr$Lqb=M3EU-+Yve<9yx`vAF@vr%rvDI6m(!B&T-qu$Ul zG(9klAMsETHlFh&ympJtt{Xw8r~5;;uLO8?NTRZaG&544PPeXG(x9iOF)g(K;*!i@ z=6YFp=NlycarY@(%d5bIsS_cFo=CJC-A+TL@hI1Mn zj4k(mqg%-cs?q`FJ)rx=CO#K9ppC+dW8Xa{}p3>0?`6hcF%Uq4ZsH zIn@dGvZuwh>@zoxTWw^>ww=miFC-jD;n6qdr>O!JK?R_HWi_v|sg*g`wjsY)2?h5v zs}r&*Mt8()!sU(Nt}qoVI|k8y{S{DlE}z}Az03Pa=Yr$zE5iF$B{VMH$=t^6z?iOJ ztO)HF4G&)gTb;+_uOB=G&9a9NgOk{Wl|6WFWek;FF6O&`cX5slATC=Z+(ite>21we znh~4^-s9$z=Ic#RT`?G<19izvGnKe-GsxV{@=*m0MFU?x|5}-+=b9=GqQa=kBl0qgv?aWCuk6xbJ$0Zf-W+&z> zWVckR>BBN9C;xB@(pvHxdv}C#PXs^9-&Wy_&>qO*{@T;k{gt@8Xe3y;Ni+HC0pyYt zLLY7j=dO-4=&W<)=bT(d`m1!Pu~&!Y&WZs2;}&G@ro}&cdmf@=hk^fxb8HnajgQm+ zu!4W5xp7Q`iz(YfCW-s`uWpm+?(9I2OL1Z*(q`lqv=wc8N06@dVzEStFZ|iK76%Gv zxSMA-Z}7Jay$1tJd78#ass_>aL)!3P+G*@i-9Q=d2hqjh3Cy?W8Z*4oik}k3QeXNV zdTyG^&wX)`-x2r@$4gJZ^*i=s$YmLB_1x>wH%XT--}sA*Qd)@~lk0G>%~@eSJj88u zt%bj)cVSVBCk-~Sg+U|kfWoL_+>B0taI8GR8ZE5xd_*4}bE^Xuphd@~kD|;I&6JmT zff@uR%TmuX^u1>yz4D5{aS2o5tLaJ_BTB(tbMC^U!h?9lP?35M7D24)V{Y+(g2V97 zcKi!nZ1ML{xX`zpDVF}>*SzTv`k?~|0+j_t2nHwH$?W4U z-nhq#7L8xT{xca)N2Z=-O`o@szgHkt-3+75gH!0JaChYbpJI_$25p*>K&RC@d3)QH z?8ALMy7$c+4j%M`fhEFTb4MYcRb@{{?hXSz%TKtd^$@+^WC^W>r`W|mGO%o6D(4gU z7#*VqaLEz3Im;E($#m@{YHgdrQV*Nav#;i~=s`Q1m=w+>jxvXy!kJY5r-~GXOvhIk z;AF5P1D+JEz|>0tY!N21${n%H=+9iNg`{%mbDBkUE{B-!yGAa%Wd4|9XgN8KdFp;05AY)h(>3=sUOepE7;xiiEA}csNq+ zhA$6$!qr4S_ImG8ma*p;JI12n#m6r=rd5*6LyAZ{AQ7922RPlll8j2~rI5O5E0eg} zLZdFkVY%-_Q2HN5=i!g#`^E7jG9#fu8KGf>B;41bC=`{XC_;lKg(9u5nJvl8Y?zTz ziswEjMWvykR7$0khKBYYzx($ecs-u`xv%S-&*%LfWq}G81t!NnZPFauVbv~h{u19D zv)U!FGd=3tspj1;=6JA#E%(%*8DVMk;L3FzEo;GBqz$EG&B7iaVJ%+cww4(CVr>rgf4cZubut&caLgBk}Fnt?GqpSM)ejR-)`=gJMDjTrr#u9icn}c~z zBe)K&EzHww2Y;$&3s`86qRo-}p;TQ8ru*Dv-fKT#h?6XP)vQCsUut2piv&$r7>4V| zea6!-#)?WFhGE3UG*L@P9#vk<0+r+k5HmU+WXt?OvE)h9VoE@}^^&wdtQDm^HN;?FN1986Be`v#Rjn(q6njV;a5p`^Ti66X;|3apZ!ZfOg(KioWbXD%C0I zv+_3$d@zS@M|IGBFXA8l)+GzK$!zL&5=Fl@r<51Zfw>$L`Ps`@@4D;=>$eJ}&zmi5 z-7;Yo_*a75cCTQ;>MopDZ6-Y71upOYWM)B=jCuzLrU5GCF9XAaI|1vj$_e$+$!cWi<;h5wwvQ#dj^5tv4a%U`91_TJaRAVwe=nU6> z8uDto3Lti=gU$v$kw9`RZL1I&ykbhg|ReE-2IaM`PeK9d2<~q-bORe10(25$pG7MrVuN( zZX%(vBk%!bt;ecwV(Bj5(W7D^uhumNuDDF0du=r=+%EzGHZOtgZFcZ z%RQbL!j=VYM9IMeY;eU*+!E1=b?J7{UUr#QpD*Ojx(K;8qf5+dM*%t491{GVF~~mI zKy8%|oERo!y{5NT+npkOjNW9dbYXK^)LDS;xFCw_pJrJ4_9Fi*C^8CM?Yco;u2mnVI9oN9mZ|U z+fUr9!T7}TB~JL}z@!f|Y)S^f6R!ZF4b!ppvETu!8%<01n6l-6hLCc~9`>bQn+mx% zqL1azpnc_YyfsfaBb!BH32#V|BEe7J@r-r6FM`e`&A9$yIZYj=ixGprHbW0U zdTAI$nVg{T#g?r8cO8ZN*NhVHA^;6i_+)Jt*gmO~6_}Ue-P&{P{CpW`?msTD>c6r` z+Y@}U;2_Aa83MoeCeUz|c=jiK5z~87%;YBSMNLpdOMW7Z&YMSz;{WsQ{^vufC zQ5*VS|KrLIm-2NT95Y$GmFfay!J}#wP5xO%`o|+FLrj&fpH#ITcX~L?j5Wfy8ODr1 z8bb1|-`L*k?zHU1LtadEDz3iw2j)1*!xf8ct0>{O;DO{y()zfcZt8txEqX~XwlEc5 zX1Oq}_B_~K`-wG+i-F$Wd^kL`2^HcrA+0f)KWRG{9*9-Y<{SE)@4#ukQh2|Ox_=8H zs77>SV>}HPJZlTv?lJ}2He}0v9KU-ZwI*(-3L1tJCl-)&=n*s+dKpdr zS}?y=w;?-EpN5ZB!8aSuQQU>$qF4SWxZVe2Y2k}KBAF{jP(NPMx>)BEj@>W=C+Qce|BUYTJX0|E@G!|EoEC>{;^qSgSnWZNldD27>pD910h?M;A$~9*w4+x z=Oj-*YyQJsMPd9s`$;(8xs1J+K1^A0TUo{0XV{^t#r9tq3!jAC;@9!om|nDp(xk;u zGG-ctypAS?-T-Q`DZ+1Up13rqmwz392B*0OP&RMMo&L8UZq1&7F6;YQ zSC3GsKZfmj+Q_yp-Ui*9zi`pIBjCbURjTR!f}IApv0mvM*chfjv8q4qfB%FP6@`+X zrwkM>8i8AjFEOJ@y%2MFIK9+8hre$RhV-qql(t$LFNdt*nsOYuVZ1xdxF`-b--hAa z*p0ZPHxb*mM&Y`8;d$(l<#zkdW%+?i=+65}raSy4c6q7byRd935I??7uiFA0O25t}=5DkdDnZ|@jf#WJ>{q^=P zmNBw`NxvLN2|LcBVa6T)L~cH3EN+fdJjcKor(oVL^c~JS)XlyYNf9pG4(;!VwYj(w?A0`H0(Ws~8f^gfa_7=*7aa)DGr@lI$UtP}DH zE#p>E`XceB6~Ch(ynQIcp{F?2*_q@ZWVYJQW$|qbpNZybG_iLEG0a}AfHk*`qM+wf zxa^mS%-6VGw6#YH9_VgD=UYE`nKee>5-A3kY?fiLSqEIvcO#?QAISf)F8sL=!+z-o z(;MMk5mx4p+m^pkkrBn(cu-k>gFH@vVTpEI?Z1Xo7u zk}cazQ&vwx2f?T4d}%aQ-m;*I9}aLn@(KkVPyo*|SseYYi%(ejfbG;>N_`fl^fUV_ zj#)7k7D()Z?6+dpx`J!&+wxJc;!_L@RLbHuZ}y-Yt9DTjrwK0V$Jw3*(M(}WHj2yc z;N2f5(nG=XzEbrPB|p!G@|SbKI=+(rK2@h-m7~Z|a<^4o_&!j!f5HzL;Yn_0%{b)w zF5&lPD7VYEj~8Y7vGjo@cxF(d=%<6YwVO#4n=*X{uy4cp{Ytek#?+A>%r<4!H;*&z z6(y|x!*Gg{j=+v>EmRVJg4OGkvpbT%`3n1I=xwlsY)vn6!=h(^olzA=N6U)N1~tL4 zJY~@*g)Zt9_-R9C$_#Ob95l*S38y@n@v+j2DBt(Z-lN=Xf^bXm-a86sf1AMG?$i00X|Lx~|YBRjXPTvbfgIg#X7F@cW#{*c~96J%iIoG@=6k z!4%hU5TE9h;=!BuQ6*{{T#y_=D~3jJk4N3Xql#6iSjq->8M&01m%BG`nBS+Ul zqnV9N97WC1vwD=D07~YHbX)ZqllgAM9}HF_a}5=ewyxwn2c3aweS(Y1!iiVuuRv2B zG3%eM(xha%5h{}HQEy`|WVaZC-ovesH*qn!Z56ui3187u?28#WkmAPa+yL~&1 z1uEYV`b{;&KmWxgJYPpYzYZZM&m!9YW(RFgd(6)^)@pRTEXLUcY!Y%!GvKe8rqDfd z7cEWs#w?zU)I+6c$(2?n>sSVJ;*wy?6>*knbb;)I zzI&*^sB}wg$MHwr!ptu_SPE|pkDbor)6Fsbr|4E(wN{+wB__beMI)(`r9)3;B#6!p zqtMMA_|hR8Bk1Ly_6OC7ozeLYlRrECLA`6RChThC} zv{bwe2Ij(SeUU!=RSso^|B%IwdcdDMQHF!%AE8H{6WGpvz{#>~+@m=QHQG~HCHz76 znK>}{wKH(#Ty z7zHNF&av+oYH-~oS-f03hAyla3)11`cyg2j7cFV^MpSXf2-Xa#p{_eA@Zwn%MJ-!KBZdT1aaIp(9di)d9;IQItrpF_lZWjv zoMam0p=Rd_n!JZ&4U4zaqzQ8<^X(&+d@PQF29i00Qo*x&#Ey-nYnZmO7&IpUN!0vd z27*8IrshG?v%7><*CvxvnGvVwTa2ZVHvEy*(}a$<0v$9f<|c$$)51ZA$ZC@^-D-P} zV6y@TT%NE&2gkv)k8_!)#UJiV%@{DcH3hxSs?ds-c46mC)V%!_PHx=^*E6G7hw5m^ z9a{pM^LjAeZ8j)}&%{LOlQ4~Btk+x}O!KDB1S{WR&}nkgYVC<1+}GP(Ttna^-dt=L z)teWRF{%Sa3cTD>WeEBc&(6==Pjy%0>6T9w&e`!;aJt%ok57rvEm&n`yKWrbG44iH zD-F&#O4$9Gxq#=0eUuS!o4x2f24UVn3K&StR1s{A)zH!?jQwj!gdp?3=%RlU^*_XM zS0{zx`Ckz*W!f<|marc-(>Sm0NAP*(JW3nm0AAk- ze_vCDsJnt^^T2;NUR(k?YU&{RP#kSje257T{%{+Fe9j%+HadECFlkLRr(Hi^@LLBa z(XlvX;*W+xX!17N)^e9OHP3=4g)_mm|0(1@$|T?Ff4qXF6|9nypnD!p?AjZ|vhv8L zHHRKSWZ6yj_wsLufhJzemEn}9_Oy6sv}g*y7`*--GK5=ZUO`~4hfSo@8& zMVT|dy+JhoGEi)v6di3;LEcG{OrQ4hws%yif6*DVTbe;>GJ3H4gK!oNw58bkQ24K} z0=EhLgzK4})V5X$SIEsLyZ5RHZxx{DH_`avPw;?|Db;C)g1NvceHbu;OgGJ83sd7j zZ_G7{I5U>)o?T+bZ5A{nfTu?%bx||5jul5)vk$Hocs4T}C7v!OgQ>b?^&o`>$BiMS zjiq>Pvk6<^*9WHK66o9g0VV+GKz*MPJlk`G*Xh-!$f{uSs1kDKJLO_a*SqIH@Ss=>DX7Fz8u>zpS?G|)%%!W6Z7hZRi+6kq!A8%9o!WVZZ6BIW zqKkWlJ0;+|fHNS|qDN2r#d0`7&x}S-QDyKt9 zY!f|fK8_21=JN4sa-<+VhqlSz$E<(3Fv9*0`mpyny!A3m6?i$C(?js#VMkC4*=P0T z-dq^@a5^3^%)rQxH*m`R3tSK?Q^yD;;kWV`81FJ9+X=@gyxIp&9~edUUygvQdA)dtYhY~>HH+RZi| z_oXNwo~b$4gUve&Jh*Ztv$XGPx)l7D%dNNw-=1gV;lyS(-exl8ODAFW(sXnQ@rNHN zGhk|uspyxmXYJM5iKG9Hq{HnQcs{3xInE3d_8RBOrE3s;Dh@{#4;|`vRe>!^7Nj)y z4~upY$4)CNw&0Bho|zv@k9S#6N{tM786RXdFUP}_^}^g%el8auTMmC6Pq8@_QM9Hq z!)kc?cN`xcMxKj{NJ{X~?OcDJ?TK7S&6j+^;j$5z5vUGj>5kC#GmX-EgiJ(JC(8E* z;pOEuaOBitstP+u4*lPmmcW$w{BkJGZ~H*5VTBOyJqrTr2+Akaq{xbWh_h%v>HRLrj9Pth}%2wmwKn+eKwGaKCXv4UH!>lrK0^K|<1GS}T z;P5UFO|Nle`DH7AyYDPpQBuhB-?EvM&mQb|91VB>enZ2^5cn{EB&+dIv(^^6Ii6dd zp!gDFT3Qzik6p&okJ1E^yevt1v3I%Jigp&>kclJfT%q7>7+V&-4|^W%6_}hBqI$(T zynj}kBs-m$t%oM_skTI$+^zT|*anh&E{Y_4r%_V;KFZ70pbH(t$h$&}8JCx!>ECwv z)Ay0H*e0U7;qQd!p#~c5twD0CEL?N{z-==5z>hipiH#n2lZ`oYgNxM&Viz?w&@s~r z_`PTqYd1B8-t!VvzvU&KJa!rfXC>19c^A;{Mj$lX#(`~<&`pW3!yA>2To=l*gh5A{ z_{^_XuXQrvy^xK6AoQX#_sh^CjUX`c)uq6O;iOj_h*PGo!9+y|QG=cW4Njj$L5wkl z)uW*DN-_9l@vJ4ekbuf+G z1U~qr@rq=nzYz9i{)Yj_&oJMS5g@-{C~GMY*b<4qnbf@%P4`Esl3L4nFg(2*J^v!= zS+{W$#RdC^gdQ(`rV9J7docBA!9~>QK~67o>7T7E9j}Y0nqR_x=jM3qjxnI|iP3z* zyxUB7<5gDsS4b-t#6Xl`ANDL)J{><#3m%lq!uBvZ{#;8xU%2Tpd!=1XZYOTDi{|^G z@3j;R^y$FY$7e**F7l+)`wF`4ZCJ%l34x&>0Xjz}GYpQ0iPdk}({4rFZhxG+`9RHz_Kj^d-#ug(-cOd z9>~GFwwc5Wo#Um}`>gg!UW28{DPY<0omrj^gzIBEqxMi*-shUdW=3RjXXN&mk zwtifdwvLMKU4pif5tK9i4%``Y0B7x*3P*#kf~0O7`TdE*GTG7arCuJT_qDLK|8BEO z;R07|Wh~|_G^87EiPX3P@LW2FqLh-j)~i6nUYx}GRq{0A{%Owb;thPGaT+fTI?F9A zZb1k8UYsnmhmQIPGY;9gWE$5cDlRsl|7CWea_!EZtfz$XOK{<4vjCO~l69rsJlc$FM52pAASY#8p!cv*?5a z6rL5#{u_J~)~#(4JrlJv@v;;)Hvc5#k8fd19!Xl8Z5;&Zx?(gfR$%jt+JXl<29d;x zb1)0*@j;Os%nB~X2}@T|mY5sa7#ybr!O`ujJsp2`j3+0bNBG5c7)&j#g%^T1#dEwO z1VJ`;!%aAU&e6hM-(r9l-kB21BhgvHlFEKGp#ItleBffm+s$1Mf1@HOQRXoJ7K$jy ztduFQ|H(X7$)8^Pdc?K@D4uk5+%hiko40&Znf1U zDvj-CCx%*sW0x}xPK%>!^^UaH`!Fo+ZvrK+-`u=_B>thr3;tT+R8n2C2HxepgOzS? z&^6s!$dBZLK~x++4cKs?gfICZe3pjNc;QC2z=@8; zG3jlXXfYA(Qx|}k7_u#CZSX_zx~1*jBe=#(AmiIt;YRop>zyOvnL!yFy}XfZknxZ+-&4(Bl?{b~^|PRPjszIF9s|wih0L<{CYJtc z!LJ>e_+qdoX`&o`vs_I$xNnx<(U@P9@f&KyHsEY1bh$_}Ohlp{+IGs=o*7 z|81bk5}~(unb@ATQFvp_0kDqj#T{%2dM}#>wpFv>@hU5J^-Kq!?LL8iso%vUfU05yJLJd?5zk-k8)7OuQ)01Wo&8%qs z(oSAoEETI>zr}8KAF2o+%KdsNxZ8&;VUb$11isNekTXig4`9!iS!j;u$~gQQH~2zh|z*zx-y)AOx`@CR;I=hJdoWaE!-q_R~##rtmb^RicaoqjiI!Q_wY)699KDI9p7b{#udJ}06uzu*!0(fVB5w{ zW*Ofr@HnbDkBe(aDsm((U6Dr~@*SvI^+tH^%&|dBga_Q`k!?-}Kelot?Q_?qa;XwN zZ~ATa*wTq|jK}f@hDVsCy8^rCeH>T57|J^xx(?!(KQV6IQ~a}LFDvMbVl6|3yIRFw zIxW-3FRFHemv+5;Mm~@7pSoCCn-a|}YJ$BJk5Jx^L(sZ?28PSt#gkP&ys}mZDA)C{ z1bu&&-Ftu{JHO#>msIGh+Q@3JYz9&nSRR|>1SfU@ZJ7KB>kMZ?(pPJebMoN!yGB8O z&|MrkdOG~jc*`CoI{+t~=`R=svad1K-0M}Vq3~xE$T`b%-r6?g_~H-iFJDN;htATl z{ua1gHiY`SC-W0sRtnDCa%^w!Mx$Y3u;FkxlexYI4wnAKDQ?DW_M5q6c1R?uboh#Q zhVK*prc1oW94naiU_t;M_4~2k4wo-q+sbFuyCwH>oJPp zv#FL{`+SI6#P)%#Xb|O^1%k~FNl+}@&qPmVK-AKDw(9&fJg4;;SK3+9lVw@p8LA`r zGmX%H&@{A}=n7_1xA44NJ{(&*1BSUV=2cyRbBEO7tQ+>c%*fB^mi-S?m5AAh4&%bC zV{~lm99ZG97$&5T!@&CI!oJ`TvskAg%ymBqz04u(?l&cT=xu@SJ_m)GRx8fxg5UgHc0u7B7x`8Xo+bCN>U*tKf?7Ot4_{sIhJuTO~oPiM3hP*MLj-6ZjH6nAagn@}1O+eY<-6@R zW8|j2Rzp6Ukis=fnl97IY`>@p>|GI)uZu^O)D=`Tcm$s9%a@31#b9w$%pB-kZZhjWTQykrU@z{oOu3#F-c1Z zu7@`hC^!8V7t&k7o{sdQ4~uJHTty5l{nyfF5}^fBw3caWK@2f@v|5qO}`i)AGTa>?2Z z;{5Evzji!TS4;5A#DPY&M?&X+=b2}&HD37giK*W4;}=#o5adq=smEE^K7T6lHswUO zU%;j@dqK=ehK)Ms0a~W2p#G+wlWvN@#UBK2BV8iAe_MIJ=vA6xTd}7iw%^s^vCTG=3Vtu2kr-PfR1OD3MEiP>ePIb~4QkhuMrR zN72_`VAd>J&Sq{~L~mqP3qFr|uqS8)Z8cBjv_>c4oG!sp9^lS9bk4`~N?v$P+>-hX zyy>Jo2m5bUu*Bm44QjhB@Jp7#>~d3@ za3&aB0~S-%g9wqrvhVye;r-*)Jd56Y-{ZDr3z@gpVg}&~vsUn*r#hSpBhRA^>y z0ux|y*LvQfkt?hrxmm>7(Eh6!+f9hTO@5$Dx<4_Pp_7GsC06 z;%NjOe7gdsEihq`RyyR6sY*p=fB1zLE10eN9X2@66FgF1Sw2(hV}WN&X^gc6dnhpa zQkRv(Pq(2gaBKq1@Jc7u)-AMk(NtQk6%Hjvv0x(1=%#5lKx3UAWsZ)fue&`^Q(y~B zC{SSU1ZUb^*(11im_0XXLm9{$Oo#B1xkP&(VbCHSQnM=Ju3liggw0Q@7ac7)OmI9$ z|F;LS|J=gBN!L)PR*^C)9pU0)71~>O36-iV=<1+{%>3LPf#Fw-8LsXEyXggt9H+v@ z$&D8rA-CXwudMZ~-AcTMqzoIl7D%7?I^0-1ACCN0gGCpNc)R*fZ0TfKUKD%2Q8UA1hlZJpU65p={9*7MYRHcG<;(y`~CG7iKFW z#qE5)Lo@6>F^`{E>W}lNo0SC(g^`JK!KI*!l|LR!cqU)%i6TeL0I&UiL;w(J*+F zn=dN(DnkQr|Dn$`J=pYESKvz3aq8i@5H))d1z$8E?ZzZ{w(~TeQEs^4&lF>x7o1}Y3e-g0J@*WN$2Dm@>RUcP6})q-%@+w&M^-Yb5voH_8b1i;0SK* zs|cJ>R0}U(#xS!Z+t}~?F!()VBaK;k7T;yegs8e+RK`3$F3JbmgE~;<%V}IQ$V^y} z2$@BPPA>3+6FpsHzyhO}L)wEdoIA?_7g|)qbU$ytca|`=e6|bEN%X)^k13?TQeY%! z3f`6vzSKA+ow+(@Q$b{k)gn0uxMAFn@e)OFdFeK=jH{w8QMJg|N?4cFpJ$7nB%rC7 z4UKHEg;~ZEDO6%UyD}`4@0grJ$JTG7TXNngnwHLY-^^yJUBSe;ec@6n$3s`z9{5_b zpH5DXLHmGu#*M#2Y6>RMw*DsV5WIv(Q^m-u)s^}V41pmH8l>Iv5VwC6!l!HhTI~=S z(ArjSdi<#te)Sbn{GE8AV>pregwNi4mB3BAOpvOU#nvpeWEvGuaBKN`(em;8ASYE| z+UbN~*V#+-ymL4`n6-xmMNOv58(q-S&kOCRPNo&%0*mRgG?edsfH%El;QgQlFsD-i zpC{x{_-TKbST0VDCj~crj<r`IGD7?;V@HhVJP`7BniDbwjptdb+(Tj zR2~)K*5kt7)PAv*-MXb%zr~m)_{#}duk!+PEPyTe{uO->X2722EAV-gFYLRhgWKc= z(Ij+1}4^}ATc-Ro@38D zUM)r4KiBc1Y7&LzC(yfDaip274%)ujEcbyFT`!6u`REMx`RWihTEB_KW!&RNEi43s zL>=qh^%J<6Be%hhw-ZUtw1kO&F{GuNTv(`H5W6I9PA3wy;C72F99)&f@n%sJt-77f zX3{k1wQ&E47YFXoYo_+yi1>kdY}x%@=B;=TmNwYHCasN3V@DKS-O$D+pOU8gGlV^; z_(gD^?}T%W&1uq_2Y4qrg{qnpVbA_(GOt??qJ5>zb$Jf`Ij%z+F#v7Cx52Lx1a8reAc~)7zLs|^E@9i2{9=zZ6Var01^ky*KnbduP(LHJX;)SR zi)pS!JB{~DanvyyBlKMTGbEr)=m2jGvf?5fH0hY&NYp!bf`0aOGs%!~G;4|uTz%TZ z&r27wpZ@O97dwH?J-Pr6`<>*yf2UfJXdak0CX;UQL#qi5pSbkjU^VI21yR$>2sV1V zB1o-S0$M-!l48v;>{gh9OU@LK>?nT{d*_esk8X)-zw>p(Cl&adFl)H&v-6bP8~@-F{j8j z%!EvxHo&e~dHmh$BpNnTk3MI`vbw%_u#?Tgzmoev>RquYOv3>$Em9}ua-4f`te(l# zouKpgzr)en-Pl^Sm{3QK^h9^y-p5{Sy1oFPlwKv1_t6A*w?WeobCzzk6wDXI&{JGR zK8+)>JUtf29csY^nhx-FsTn&{Jcx9^YywY@eN;4-!Ee_YboyYt;6+G>vD!sY_TCWh zTA8x@+uozTUlcB_P9cv3Z5lIS1sPTnI)ux^@^Q6XvZ*DwAI}%q<^Nbh*j1)ea}8SV zwLzfJqijmJ%kP_d0?Sw5W`;E;FtB$f$H!Gd*QaBAW^Mz{4oXI^by67h$(`*f&14t# z9htj$C^<{bhb!-OXzD+XS3N5@1>_F%|NJ!BwRj6wVQ)ZTb&DydISwy8j-|Z~J3uM- zlEBjJLH|+}mgeP5VH+j5RX#nq@b4jV6LwwU>_1$y{}AmQ8fW!vPK1zwI|667>|_aj zFZeSV5!_yN3yMw;Vn@erC&!^z1>e+THtDK6dOh#Q3+-9>K>Z*$aLEC_tvG@vpAYaS z9!8_YLMwQgV2p|WzF=d14-YzhL7f8vQ)uof*llJ^68BSh&EwT*DZdX6O^9U2KK{T! z??`l1=Ex*Vk+xrvr@uLJm^DF?Mjp@M4q1AE&gi*Z*a!w!=NZC}etmlIVF#aXAP%AH zU$6|1JYm=LjEVEtP<2ur>_0e*(xW$H(yAUBe8UGXk1*yhA8BX5)*Y~FcpnBUO5?a! z1+C0^c@G#(91ey2N|Kn|hnBHZS=rxD>~C-;Msw#`dgTbbSa%a@g?Fugg9UXzI1b6n zPGIb0BX}>8BQ=3>UO%CY%?@-y(UpZbEaC%pnB=gf172|7X+NwMW~K|R+u>pEE{v6# zM>HW1*1t-G`439D7knQ&9&)CM=K~=2XgnNPcZxkxwrAICWJuw+J1tc@MD~+LQq(u0 zEBfuq|JkXm)a(c_#cpm}@KA6~@Fyvcl~5kD3(SStnN6uHo_Ny&d#_fL(fPwH-)Ab@ zxl)x3yUel5p%$8cRHIXf1D@|a9WyiUk zq)9Yb&Yw<2Hn9hb<+;L1`QSBs7-M&$aP`nc!9OSq%bkViGBys5_VJ;k(g)fo(| zYGt>gLI7MxP_L8^&D9X$&HdAaU0EHrc{`!jwltV?e?DeC7o%0*CQ_950bb0;4(^4e zV{&kWz^PQ^^j=hP{;yVm?X4rIXl+FYvu-1Q;61>`BedY?BCdDv4a^R(#`4!e{I{*c zz{yr*b=z<$JvKC>ea^R;vb3T#liWpT-@fA-%-q2B_Gj!%KgO(HYEZV_RcLZV7y z;@q_OpC4=3=fo8DSi_C|8a^GIo$|?KWh*~0kWC@3(RgU_3fixf4VJqFF2_eBfpedV zt7Yv#8g*F7dT;p8KNl`oZK3iN|G`+fQs!|emQGl;u?(3oYWWb!S>q=GghCLKU}>U6Wz!bHm3665>3Rw-C=2gEXK#$NE@7)jy~Z(2j$}qI z7kW!Na9_!b_N|#sW%D>nG(H9Ks!qw(wWByu^D&OP@mhm|g?(7|>O zy`ORwtY5m2d3y(a4h%<6QVI!jx6 zi0Kb1=9lagaY;V^xX|jIbog)-$qqH*?``nm?A4Z&)`}Ns6EuYM8=N3z^-6kGcakNU zs>7||QkcBbkKT+(W-E`|VE7ngx}l&z3-{^3v(m@3D`zjiaj7y4(Y($r6Z~aooYWxh zv2dm`SE0$1i%Bo4io!1TG4JVGu+BLZ&&(`FNS(p$c(O&90S%|+?qh}7-BwPa>Nz;H z&k{I3XIWZ?;7^iZLgzjX^242Ah`>$V@A-<){yf>LX?Zr?5_rrbl@iF9z2a8hQRWtH zKPNE9W@6^DOfc~MiQoR41uK<%=<{v^QnQ>Yy-Rx$ip!` zchIhWK7a7|I9A}M&7O_E43VdfWBSc+xbS&3*nab+uy=`=dq0!(gnN)l?+qBr`+{?2 z65Abk6uP=?u(&ml1!WEc%oO-U_XO9e??Qf$bs0DXZiUImV`0veSNOBD)>8W5I9|!~ z04;eG$t#pqSfu(HQI&)>-Kze`*sq7Yk@N`aU$U9CJhH{$jIVg*Mlk)`Qc2gwIc_a6s+`-YbdU-W8?KmOqdR|j_i#ZLK(u9#qJu$j# zKjftj1)cKYto-YDmSz5pbF5g2BQDC4#F1QPyYL1cjTr%2-7ndq&QLVz|BZ?J0oGk~ zf%>B1P@TA%S>2K)jVv#i<#`>>x5VOwHOonPzz(mh8cJGW<#1@PJ`0(Guza%&=?%7~ zS!M=st7|pQ+*`|+N;SZTOYQ98?mjL$FdUXYmx0;4FQLPMM4A!)9QF5}A*p-9PEwn= zLzS7ZRYTVDlm0VMS4w0*?$qF_ky}N-Z9PcgZ#)h=TMc~f6@J~p0Jx}>Bsgb=LFH_D zTI(^C96wH`;DVEUe`o_94>lzI)KH3hYQ$a}uj7?3GE%b_Bab0rw8MB7e=gP^W@&%r z7MyZnMb7v6eRX|!`O{XsA!G$R-Q!SV|}0ZXq+DKvDf)u<@I4 z|8?}n@~#~A_QiTG@M<`jXm5vi-oxp9V>D-?=1m_auBVH7!mjdNAd4^l#neyNU`VnT zvv@flPAGlCj>}zqd*x;t{qZ@jvru3ua|T1rC0oKGN&2r}iY>mLgZ$%8n0{h5$cS0f z_VTZ|zF{RrzgP_~>v9^qW*ww*uqFKq_ON5_70B_O4gZNofr`L#6mzkr-&H5rtIZp% ze7@Mis2nGHG2lZ#OGdDPrG=>O_!+OQQQ;Gl%JHM>c$)rU3Aw9kg8b4g@M6z8F!fO; ziGS^Ej%z05M5sYYzXFI36ww*;5Oz4&0^Z%$K%1@zI`(nB;I^^l9AA~8%rG7cjF*9! z+;x~WuAd!Mo5K!Yvt#aUXB&@CoyXsb=9ufXXztA{J&+zKv$*;B4X*xXOk-Zj)2L1P z{F*^4*_}nw)SuCYqLU5muCp^!-7o<&L;@FoU?>+|76@*_`$o^tgid=~QoNoWe7em3f>X~nF{&w%9CarCR(jG_`Pu(Lah+<&P77Anz= z?>f+ScR0!B$-oc&2=@NfW$vSQ9&a6S5)6JsGL{fPd(|f4Ktd>ZT+%@AtDRU@;X!&w zCsUnd7JD`GtX1d0GuEpn^pD!@*qZ|t_@#3c9e=hL(+z`2Dax8;q{JaV;5utM{2x2C zdN4icm8FnhV%BF)+HtR&UNMUpZ*n_nMAe^8keZ&2z?yU6A88t(?3W-mukIHf`Je@T zjepV0NP>Lkq|vPJg;=${lTEtg32z3!VuK{Kctyunh`F?wQp$^9ZDAdh21jyw6URV< z@dyeqs1QApDB~0k8whUBT@;s`37WS1q2cv2^mh)zL#w-3WY8WMdO910e<;%y+_F*@ zrdEk*o8gDxQ7m1150=a?hKoXu-e5~Iy*^{fjaU%Q-gZ6Y4l6g}yz(3HJyMy}mj+Sg zolNu^bdz2AW-QE@myp+COY%y+&drNR1+CNPSikZ@wmJMfpK2aQyLmHe)*nlL2|xHJ zV}MlQA2WW^r!~d= zGI@DC?l&4nShmCVRe*;_o?y#6hoafF^=RuRLz6=pdCnb5ORTK%$SFfm^_GAX-< zYJ?r&S3Y*;0tOM7cEJ1Id-V2WGv;hw4Aagnpt=G^)*l`49jgV)Z-W17*jM&K&53=< zJIU)D-vU-CS)>}1OC!xv-D3%5ftS&Pn94742lX-HQMZdla`B!yqHpyTutx_xi$G^3>d;URoPSQ%q zIhny+lT~cUAa_U-V0FxDwUFHv7^Z5YXi~SpTkDRX5U&#Wnb!(B3@?Zd5FEDiFzZ*lY1s*;}1 zeA1Y{8F!n#!d~+XII~wBeqXo(a-Dxsdy+rvYHmbPS1~yExe6|zNUqi^mt&bR{N=)j z*wC{b)O;@EqAp)H#w3$8Ya@6KPK=_@x8lkCek>QqYk(;P`k2 zY4i`H@!cl4zU3GmQai=_InG399doG5wWaXnIiP>x22(mAZ7nut3GW@GPDzq!{FaGt zply~EGvmB*)-AznUhPbEFDD58yo=}`y8-r=JY-I0OW3rZO7!96IX19Sn*t`BBYpEl z81=N1{agB0G_rjqt^A%&CpP{L8^=?&{tWC^$)x|L&Shhi zCg9DHf+I#?R!W9`=Qiw{25_&D1(Yfe9{y95*WEi!j4Wkzp zM`*^R@3_2n6gxfTe-xc}JeKbl$5B?up6w6{74?Xa503`-gF8`6XB^4IrcqFnSWVc>qj+)74yId?!&Gi-z|5FI z^rK=n6))>!M~cj8l6oGkX^sN^Sq1n;%qG9GLOdY6L(Jdkv$(Jiocd4=TK3f!eETiv zaNux2X+=t#5rx6>FHpH_5h;$HOcS;gK(V_TZOWStCo`L1SXT(Wh&_j9M{OV~dOvJA z7lRR+inK6jCz>Zsz@(EC;G*;&Y&tAQ>&0q$MI9}$$tvY|;r%gYxv(p$de1!_SjgH{ z-ime?d$4t~Zs7CwA818R5!k~U*{Sw6Uj4*rbX3n|FY4z}#^JNvh1uIcH)8|S7&{+r zBi7*A4{a>A=Q!*B5=&oSy3^!Svn@xu8Nv1kzqpSEs#K)zL}SE~F>zrpZ<^f1?)9(3 z$wKaOkXTYmNeYkjpoQ^a+-Hjab;69?-Su zv&VLlTJT=lupo!-=BU8bW17_6mxXU9pTgcnF?ez4VUBl_U~gVnLi^)g-1XlJAU$Ui zHl==Hw=N9^?d(ESj}4?Yp9NrdLh#_3OHHo;9zvl7*^9T407fc@ozTmq@J2hAp6c4?&r>A2N(W9 z<&hP9Q|>8d?Gh+>J@jeGlOz}=eVaK?tig%;ns7w*2b})t4^J=|tivVHu&_YLoy5`V za9OLCtSGt?Hj$E-nvk)j5@|eWg*M5Jp{WcUQ13%SX*F2??;_tU zF_#Ku{)0D~9S}TTjmi6nz`LLiP8zJl!BQjPqQL3fv@oyVi+uH_PZi%z0E1iYxpBVWbQ-k^k3H+e16$kQ}#+Ie;77HE+di^V3-&`+mY)cHMy znp>O5yP*^+GcK|E%j-#h%K}PXeH&dIbFipIm87rfW9PdtWCVO4f4$gn1T<-VVeyd$+xDgL{B#G;54YNd4g#|9_;Ej!Lt{2 z7P?QVQsDknnmtOH>s+yt^i~-p27toIIQaeB6gTW%Ox2ef$UMb}Qpd=W z#;A+j-}*#6aX^krYX#o;qfR!Y{Wfc|6?!!PO!3T?X%N5p7b|`(K_9gTSlbUDy!SQ~ z)y>zC@jPit@*803YJ!U+S&agBOrk4W<>{A+j@7qYiBLJT03`Z?YbK|JL*(1R=usjI z0}7Mr`E9|kn{^0|Z@a*jp0|Xc({q^X>U(VN%%3%Jc^rzYX2KyP^OQ;F(p{PA*b0Up2doDJxN!pVFYs2bDE z+xPzDujcNozSnC_Q-{jI^(QKPM1Y@g571{0%`KSz$(9_>pN9;=IkwzEg9iN>K;xSm znb$*YbcilM+oOMQUT6oKsrE{EySVe7ep39h=HMFLZ(E^ep$b|Ak0iq}uh~fxKeF4f zkyhUoa%w_n;_Su}cxiBqR{XF47cXVn`&84)arSUBT-V2*ya=KB@2kMJV?BiW#q)Mi zIS{gI65BlAj>d7~;NMAo3aWGChJ57No(T^*#IrqkU|wuRGYO@58MUesFWvQTlUp6ytL^A+K?j zm(CjjowiHRF{%)*O)+E_Ja!9=HhFBHy@xM-woVip^9KJ86$w3yLJC)pC+!zQIGcJ& z>eCXMEc0$*;K&DXda^NUt+~T$XM_lEKyAD)J_dp;gJ|oCgQKoyFfCGr(r0Ec*}@ zg+0?}Kz>#N87bYQ3r~+xi)$9|0$QBir?2sL+Ew$$l5DC9Y&E zi+XMk5{LSk_fH{*uxTFttZZio7I;&KSTN)U)M0_@%Nl(%H+s-Gob*Q>MwRuEus70| z`Kpwnci3=CZ3z?T{1^qyZ3F(da|5VcjRwCRg|uq-a5%Xwj<#y-VZ#=tLXSc^U7olD zKex+*!;L1qt5=EoS&y0aZ&%o9c?4I@O2xzrP1s<#gf0K^zQ)6C2OYn*4y4}%!%6cQ z!g(@-5<{DC*^dm|Q1c(GEE!AcB^yW~y&vb*ZUTL;YJPU$Z9d9&DQ&vZkF&ILAW=Jl zt-EPY6Gx1J_Kh}l=YSS-ZB!6)|GLz_^c@?^A7p3hZ?N_-H(FzJiJc18pz^;p@L_io z+dq6jaGS4(@*`iF@7eRXQeaM;QwC`NlM6lNKHQldk8rPiu+W8C#NLa#FzCZ3NEA81 zkbOed?VLVDU-^Iu$Mi7yt-z{vUCb6)N3tL>1Cn%(fpy*6*|5?V*wdNHZ+C8GO$IJF zXI>pwoM}x4YxHPaYz2#qo`p^8eVG3A`Lw#t5PAn)$9_e_n%-n-Xz&oDSIeE)EMqxx ztp3CN0-s`Qgb!PNp_eH=oIwW~^7b3@|4hK8)(%o(N9CX7eBH zt@B)bH1Z%PHG2_BPoD~l?g?+7mw)*rNke+!YlvN90BILragXOJ-IafH`7hQdL=Q^BsBN6=C6ZscwcSG02S+IH7Vb<_9 zo!u5(Zz0`6SI#+BbUvUFr-ToKFZ=x2v`y;pxZox$@2JFd|9ag2CKG24eZ|d++d?*9 z=izmYWqf(sS6u9$!kK41VPD^8W5TLZ?y>O}K5T~}{uf_|Xa33Kz*ZGh_*BWQay?Pmve^;oYE)wX~8Q@4cjVsIA5{3 z`kGYMBrq$sZ^YS$GtfI&k?IebWBS_hB=+w)UM3m(`(GXJFt-K0_bF4$5@%lg<3oIV z^Dt@$AR9LIkf_?Rm6=zGYU1zbLDz|QtoUyhu1s5vqaN+$-?}S7{_jh8>DD3EU|xr> zCyH_Y149M==WI~zE{8Vi>HjCehlKPdMihjm)2aPJ)|+2!0!I56WoKQrHm zYniFUj^}WMckVJBg?W5y?I5cDk_8WLYQnblW$55v4xK{o-r$da%>&yoaP@8F9gnwS z+9WYZnYe_sKdxZvU&hk5Di4ACwhK*C4#3b2ql9jt;3Y9}f<=kvai513R0wRc?#PMs zDl3DM{)A)9hg{4wiR1Tn`NA-~$andRvvrQnpyYBK8(TdvT<;^UjF2J+?_gYYv9)IA zM!|oS(91#R+I(vnER@x04MAun~ z-Rqjark60kS;P|G`jd%`CsoL{v(khJ=3TEx?-xzNw0?Q~5mU|Ht?L*4iV_@WkG?Sd z*}nWI^+)}S#~6!v-;6`v2|WqJ`NPMJt6 z{|upruNu&!C=lPg7LjDfa<)!zjifKI6}*SC&~1I1RouFO4fU@rnZO8-aS`syhm*)> z`A?P{`le>_-Z`A>_jI=9lpI~ud4m7$P330SO$P;S1JL};;W=61ZxlCR+JQSEVTcx} zJrX0?(+2EF;Tf8DDiI3=MqZ%jWQd#%G%-yHhrTVqPg}Ei<8LlPhIl^nkgUG~dSZ=IeNUoi{{S zjl_26hiqNzC^}VmkU7umtobK!FlP(w`km)3(uhsbvdS{&sS=Zt2qX ziU@Aih7Y36{zI@k$cbNV_aAiW%pgCzGG<%o#asQArWa19IG@50CMpo#Yo6O-bcrNA zjh2LGHQ#yb2aHZE2*+wOQ&@M}kW9sUcrkrDxV}G%CB4l=rKmyR9p=Rbw+|I^Jp!1( zXgRx)*})s_o=9|7fg2_yM9*1nrxQ=*poD+Jq;)hvBW51DOJAU3@ghugv4umcwJ`MR zdS(&ujDMb-!*_kZRwKcdaArSSA+&KXYkyHL(id`#%znncZ9jtfGM144NC)o3 z?WWrPP7JiwqFbkjLSNxH#-Ri){P-BZPf7vBK?w|FrL;g zU4<4Uhxua7l_;<84{sL_CKh}SeS*cH#cwc8?-$r-7iFMpdIYXYIb+#+MR5A8c*B0Z zGNkK|#*t;A6!>0>Vj10&=z;N2N_zhlX9OtHzDpl4r0XJPq6SXnl<}(HW_DfPmdmek zhg~b5F+a^;tfpiLXPvw! zl9YQnU$p1WdF;1bzMU(dXgE(d*4`{4!acZFQSX;X}%y_1tRM z5x)ku^@q}eXDTfAcZ9%|YQb=+qclW)G~C}hk7h**In82Q2*`+MUk-1e;Y3ndzy1Igc5?rLHvzKwABeDr@W2q z{S6r^Oi`vW#aCHW-v_QIGYq@WWwGtU)xc+jz&xBGWaM%ac*!T~^h|R#Q^?O}U2n8m z*2{Em;vRn-Gdi5-w_34Dz0x>XQVW*ch{Ng8nYiKI7zoj~<2*xqIZ5fMv|P7@J1(5( z%~vES``~px;IhCS*u4fWoRNZsK11Nd@4-~2@R(_wd(2jjFlO$a_wluF0hVMuJYIm3i)#r zaPZxq*wwI)ls-7&=CyIeZv00>&UnMhxD575U<==?-9g(f`?E2@Z<*|w%}lF*6rDCH z#`UdHZ1l~3Rv@sSCzs0emQS~dB=TC>@Rk(O$Y&O8)%7Y-$lx6Igum2&jaNHy4cA>$XY5TZ#rn!{@i)Cm*IEMVhh5-f z!&Y$I!E=ZfYe-gL&(E!l2eJQTSzmb`_PsC#$I#V${G3oPY$ocgaCL%tov{lc3&@QgCtk)8mf_0I7dOB2xi^>Df*KO7w%@5VDD zH<0s@pXhiVaLn&7`2E-?eBJ$Owo z$6Ygoe*5B5?$O^cp1F=L>nCt&05Z;lzDiu?KdwS8(3r1&=_$xthHjc0rn1 zEdQu50~f89rp#T7Kz)5TSEc6(o9cy*vC#t3lUfKp<4oE7cQYU_z5?Ce&c^U#f0^9p zOf)X8=9UP3uq{g*;I@<}{GSP7KJ*1MY45i@l|2PZ6*9@M?j45T{f|CmyktYM|R2bboG4(Otd+~u5OQ~ znD+({JVXq(n;hVKK7@l}@e}OWlged_kAsyi%G~ph<0;f=Hs*v*WPWKEaLOx3jC+`Y z9aEQ*@u^OEh+3T15e{n;wz5Urjw5!*fo`rRByE+2Ekm}W zcbPIRczYBc9ajJ+xf)ir*psI1)W?fArjgU`Zcc2?Z>~M85jlYi<|#796FOP6MYJ$7;?jfs@sx_+C#Qj$Zr0ceoa?IMpT=zx@s#8`~<# zo;9IXm~XyFD`Cf$Nr3eCIW%cm1ngCAWVduoSljNO%)*J7UF;Lyo#$xDb91^kG#&Ol z+{o0|sN=tm$*^SnP-@Y*h+g~v>yiD7RqIzU&rud|Q{^>#Vp9(Or^nHSd0N1St1#zh zYgnl8rqq4W#7u04)A)J5Oh(klZfJ&pt;=O5?T_f8n9jbvx?SU{I~sotafe5ZFW8Lv zkGR`HKV92zG|4Y7!&i&dG4{1G?zRtSJ5EhycV#5l7MY*yguNx6)vUwSIhr-O$!lxe z+Yay#CUn3TnMXME{vW<?@!`}>cq*cXxvks}HcR^W zUAsh>cE=rahNyz|uPa#ea5xNmF@YUf=m6_q++(UvdoW6ME$fRIMN{v`z?hZqFO2w9 z&FbdHqua( zbQ>*&Csb3|ya`L;uziW4~ zRjY&<$bMfg`SojVYqKrpjQYk}vI1DdyQBEZNScH=0JIF~)0^%BDD~Y4nO&PfR)M3y zsbi^N{a-HRWEZ|(=f_UI)nGFYFB38~Ms%-1$ath`(ah~77=EXZmobc{Vrh5QxJpE~ z@7r)TXBaECkQMyc0o?tgm3%N5(#A#m*au51*1mEfJ;<-Z_bM{9Y^kuD3>0{uhmJA{ z>)V*;c8+thNEDs@>cYIk-s0!RXtue29(G0k!&mmn=x-lF5sw{N{DP(2o)b?{@%;~c z-M$4suUDY54<01Hwid4l`xS>aDOyVEl>gNhr-ziYqYryIonb0;yypcQNG+r29oF2- z@$U3_=oL)aITwnvTv@F!^IZI5G<+$IL(>GI)6!{PJtExMl?GlEJbw*jOdV}nmUsFA-}&Bn>aVsA`4=h1$T1>Aqf;yX0S>V*ecteGQvZX*kk zrcuC66LyQA1WjGDa8J<74Eqd%J{eiSHq+oQJD12mZnE-rNq8lY(ADoVP=OzJs0a7`c*@OK zn$33YU4WYU-gr*)9NxX{gCnd3Z@ch&&A!hezw@!cGuuh;(l^40!H?LjEC=rH`379* zCq=zQPJElT1ADzn6NY>&s)-5Ypk-Vv)1ItDvWw<3XTj6gWBrUQc1D8P$7*U_>;`Yj ztl-J>Zh4zTi))FXHLQ#hZBbSSUzl zq>-7&Z#Hk{0wxnI2cE54QET>M3RAVBRYfgqoA(A5yzv2dd9DfFl9H#+8&*u)!-Ph` zeY_$kcm*Gclh!j;{=oNg%63=_)9;VPfNk2$?B{Lt_I-$JL!BV+Dq)6rHtMA`@cD|L zaq`M0=$5qRZ`(Oj%&!_;mSV*XdC@Pre@L9h1z)8qb8)NnX{(uUO)T#}qZM1`h{I(C zO;9_>xFasdA@e~xY3ckyziY;nmazuA#fAL;^ltp3DG9fA(&0os!R&-q;Vn#-%_E6SVZNxR&5Sfx2_=s`=Ay$>bbs}(C z(G=3sUyEk$q$92Sa4C6#!NF#K#Cu#X`7Od zX%bU4yUFV$7@+<9xx9;nB5=9-?74HEAW}@m4=(>KovX^}SI$V9-gZ?;c$r%Bgw0`6HDhX^7 zOz(&8CgP3=!TY22f$OSiWwt9G;*O6gEOFd!8njfBJ(c~-H8)+rybTNJaAiO4Tb#^= zwKU>_1;QS?xR`y1`8ZPa8;u1%V8xAHtgo>U!!5-rMmrk(w|r)A#BVX~4{bNLV^H{ImNZ(RU=Cih@z zYd2<@h0wD}5YgXz~z)Ed=92m`}Epx{^qh`Xi?{C?U8{c`+KrdS) zHxHJH6$^91tN3NACqGSkG%Ip(WI{m)U(H!Whefye%*AgpsMDNkyS8EIWiwhgWHX<$ zZY>Nvm!_b1K5V;eDLVDZgR5RQVz3RXUnN6d^xNs`=o56T<`D~Y21;+3iIaXiF!y&m zXx8FhrtN5ojna#$uRW1X7+TIwu9qXjDe;i*KAw&_kEUyvwWz^yKl>Bs&g`D3!Z{BE z7V#?!lOx{Y)^|NvcFTj>G!KK6ofgD&{k%|Zc%ILUt>9cEenHw6cb02vLq{)U!$EE@ z$TrrpxAl>*rgE~-wN_&?`IYR_y<-&OG?5ni3@2T=z1$G%{2E7TFBbJw1C&D4;B&uS z&76(L`Rh|&;BYkwY7ukbji*^4TcbpqkIY4>zq-IlHyn6?V>zJ_3F zpbO#4Cu8Vs3HopKQjAxA!fMT?!tj(vmZrIdEx$X!x7OQY|9~8fv@m2k*IHqv+E}>r zN{ze*-zS$jHgxZG88iE+2rKHMz_}_I=8o#Xdu}74Euo$58BtpEw)rGWyD*-}FO^B3 zW&CbgF0@X3bE*kdYtuQQaqw2>v>dR*i7WDHGx za){l|OaSw8O_*?7aEQ&461t9iXsy*QW}Fj9x8Kd8uR4+Ryvvfx&6m?#H3Pi*Q|JNe zW#G4+XVD_L6%^C;a8_?Cf8n4x%KJpaRE=wBwOpCX1eYAIp+U26-52HE*#{3!Nr3q_ zMy`&?Os}V~zK4#`rYTM5G|fou*<@CdSB00-PK#=I5zBktgJLb)@t3LaS@D&Fo+HO< zZjO;8qea>{=*W1o^f#dykHbZsW94dp2HS|*KcupP+1a=`@c<5cmnbk!WJurC3u1OH zg^F$^SQi>qy^FFj-Cc}Sy=2&r`TN1+axPX4@5H;CV;Fbt2-@s(rrI?P_#lWQ=@oIX z{JI-{TRIFgKb>PkBjh={J(#ZcM#8Pn`=I{n7?_q;09Mm<=+e|4wqjWW_h;=TXuqq) z|6FJZV`B6v+Fu5ACiZh;TDO_yqOovdMheZnj<{S#A1=%;hHGZ?!KEau>Oz60)z*W$ zIJ#ep{XJL>mXAgVo0VZKCp*JJQn(rB_V{AR$kO;!;%L=UOwm znv?-Qe}3U5*NZbRn{TY(?G=hHJOWXE+L*rLGBc^q;>3UI($S-%NPm|SZ7(*aP)VN8 z%6rV*mmGjs8ywjt8Fva9vzNPa@+ZcrT0wX-2fGz?k-cfhZ1Z3?cL_&IdO6H({y}#5 zl?F_bolGs+E7_9YSJ{z=w^3%&Q{FgD;5R7bGmoUZ=!6$gul_JPomc^t8pm;4@C{ZY z%uJ8A?y#KIGZfAXe3Kv9%b|5ZhNZsB7qV7i5TA62S?>`3ckMUP{+4j|Bl|0pcsT|1 zA(7IxcA=DX8L2Nr>{Q6W{<{Cj$@u}3Q-~(RFfn>MqXB<99spj?nGOlAy`|xecwnky?$l&1sbnuK41B^IKR4skn|Xj+k%Dyfso~N;Ue~OWcMX%K?Hxby-OOZq zJY))A#gy=!L>l{jD3>ewLTvclA}aqgl+=eFL_@0pQoNZ6zjWlO@9$l_yQT~MtuMm# z_~&fjkX3MG`&jhGbx^KMGBn*Hmiy9@`p<8}k8KsU@Y~?+6D{!CcQYlQvhX$4oB1O4rbbUvFkZrJqaZ~QVc~vtqIVufyGE1p+ z@L9}xS%f=hCBVO1N+kKi8BaZ0f*k^*@^sumT(i8_azlR;%YGxxj+TF9Gm31WsznFe z@6Mw!uH)#KMFJ^@24S;~2~B!Bj8>ee!kmfoV7qQ4z4+M;Q7`{vN^3_59`F~WRe1w` zevuY3)Bthr~P+uIlJWcs0| zzc@tv+g)>2PYmW4D#6Cf3DoQ_e8#_5a*-b@X!o=xJlg6DGQuwHP_1!|yySoU=3n(p zM_iJ*EZK&IL-#`^l;Cgnggr_b4|jDF1a{DDw3PIrK?w)>(*lpo!K9e2X&A)^zCVKf zLG~c!(1z26yP2erpS*T=I(w^kxEcM)4;m56KUtlV{~nsGD>A@(~ZcD5H0$^3cub(1(PW1NE-nOvp+(O zxC9$}!kwvlju3jY$!M`WQt&Mni1e@jVUpLj&)4ChUSqp1d9932mj{R`NWn$Nuc zFd4QqhTN}26)5i8&xhz~;Krus z?Cgem{`#~cR1^9kMk$Ik!~Z0&GJHLbG4JGUu#?Z)lm$`O$FlQH2d90xbd!8npMvh# zAn=-L2V40PIHYzF%rfdx?bSgpxWk&fb=I+Xqb8=@p$K+ak@Psl14gPE)hNE60xmCI zpoQtuwrpWOtF(m@B=_L*ZzqsjWkm}YZDmG_RcV)EJ>8Alz`iAV)%=~cjT@ahfrga` zJHbRTYOl*jJJ-3a?D!Yvw4;ohc`*m~f15yy*4mN821is0IEJ+*(y*_?j}EjNLSt_| z`?zQ|or*6K`qu|wXU=Qp-l9%9@?t=)<`m&KhSZ+Up@5|q+2wD0S^cOA9JeEYCHr5; zv+`;%T_X|0T$gbLfj7{|;yT{B>PI1$)M$oVB__3NfPK|7fgyGh4!*6fF`IuXkMS1oKbZ1I7{$3l+eow#2 zdLI8m%fKs`nm33tt{TAYg;`9^z6nD1&Y@L-A6Twr0RQftCZ;}|grO2=c*VfAEJbP} z>wIiM{pBAx49v&NTMc1FwJASq`FCdNwTdomJA{_M^tkNl-uR;PA~!2$E9twBr8}<_ zY3hny6!kt00z40JmkZp;A3w1c{aaY{wH~iWT<5bF{(|s)bvh(24cjNX)3@T2)cx=~ z=G=0neq~k4{UOehL<&%}d_On~Y<-E`YAz)D5n2hku|;!EV%609Z0NBpJT5gKSETHR zX<>4-TtWeaGzc|@o`+%UufURojWju97cCdq<8t3GW831@!hGF>MLfSR(viByR$qyy z&>v%&zN8en4VS};yN_`0c2zi$rv%5a1dETX#L4wF7-+0a65ZNJI#Hzg>yf~fIgj^+ zGrR)tv*Djc($4M)>{Qe^s-5r-r~P3t?PM6mwoRhZ;ZMoLx*Gz_JXlnn8^1N@8-`yK z3Dp}%S}V#1Bq-7GS@-j z+>*1>&Zy(07g%x$&z!g^_pjr!jg~OdKoN$;59XuvAF>ytWktU~B=M)Cg?&$_J@rN; z)0*sAI4N0$=6OGcc8Nh?Vyp|Um+Sd#ZzB}R6yaHyB`hf55-L|VVC(8la6t1Z{^yj7 zYC>*!v#|$MH(z6w+h3w_V1LcX3P;Em8;(hOd!hPaF`n<6O1XCrLw+0&Icv+=sqzI> z@T5pMhYvD^g!%M1&2vlsp`1&AD|=DTm0gT<(pnn|l9$yC~a>8{v`#^3v} zOD+nG^4;)+r5G*w?u&zdedA*~k3;RLd8{?5nDu?=Q3`*ltU5|j>F4??!0DKIv$>&Dx7&!Ap7A~*!(XB&P4e_Wbs;DkhK?$ z3mu@M*&a(zq~nksL&^WzCya_NXByUPL;=sbYr0)bP<@9QO)8S4&qcdx-krWh<^k)d z<=CbgztA7}a&(8~5aWMLdCO)zs^dvwOAnK#`4zNr?8RYUj>0-JW`3noY;oKmELnIG zE#|!E@=xf&>VaI?dV2`^BlqX3f)&J`8MX?ssq{Ogq;z_+|PBRn3JnErC21v z-tbV2dHSB8G1Qs%@5#$^^^G@YuQWgMhd0=;7k+~T-d6@iAM<4WscpQNu;;%O?@gjKSAJOdA&{D~f)-v1 zWnTSN`1GYG87J9M^-MkZiTjzri-9buKsbKdo-JvDs+!o3k}z17T?p|3zgfl@5%uogOCKHPvz%mM$AePLtje7vUhIOv>N4)_ z;}a0eKSa~6=jfLroC_O-d|BBE3^lS~Q;H4f@SkEhZe-8>ybuBvLf7C~<2NR?JPuNP zPVyZ_S?t3jQ!=UzV86b<;g!9uX_%A^KRwhDD*xQ)x{eB&iPvc?^KL5bIC285)KjQa zQjEUN3x{uIMwskUN;4AGVdCK3Skb?m)b!QZWPx$GX3-7$BNhiI)<>iJ{UWyPo+&zr z74R{~Z*!U|kMPGi*~L&6X$JexGB!&A&t3zScwhCH-vpHam=OJFpzGRfj-<@SS;NKpqzx9LBzu zJGj=dkxAR`!?z=2AZ`7#3$>NL5O(_vyHjOPJ#J#K0;VpS1HOLCdXP6 z(%60J6ZlehJjGkCfpOPTMHk(Iab53APX5(cJhRe}24}B;=W{pXlkXDb66TJ!W+tGp zI118-Y$OT2@vv@-8U9Ef3krX?V8;SQSZpza z$gTe12WQK@ahJ?~uzz-s`4l>HP4KB^hIPKkeXcb*?UH5JW{rikon5?Dr7L7x&wwrd ze#kwlWxh8opl)9X_G>4z&CxS>l}RRaF+76*Wai4rKJN z^GjFBVWFxXlqNUPM2RU>dBuTtM;3yOp1_h*Ye0V2P^uqa4B@0j$(I(ew~tF9!)pli zR}eIY%qABXd2AlwXw4EI>Mu?t@yXNRk&u;0D;oo&1y20_^bz>3Y#(TJ$uVpbhgm(j zY~}_vNQo(jTYWKfWm7gTkQxOC_aWz#G!E1{F^=EUlqEQ0GO@X`jvFX$#Ifc3;KiMnxYcJV^jzLTz1jh^{lZ1KnPfy$MOLsn zpoH~Y38X2xecZUwV#Fr5G3onb;qs9Yus!c{&5OV=%jf9hr&gLwC|~gS%{?b`l$N z_%f_JRZ4$nw&9_iceug$05(g-aVs3%K&Pk!2EEZFxvp%(X3%jI`qUd`p9NZ|+g$uje>G~t+kAe(#tYfG@aTO#URU;SC3i{~u4SnXQ zQDnFZ>1^K!FfI4qf+||IPSqY(2&>&+wy**Q`8H5zGM{} zU;G}Y%T|!miYqkSljrk80O@&NuT_9kF&=q?U1be59=IpFv&{NSG&JEfw@I1yt+ciJSnEE-~ zJ|`dg>T1mR$aJ{dKAhIlLgrWv~~^ivOms-MLLn2s=&-Q zdWG%Zqp5Su4PGNyaN;~@V)HF_uv30UbbUe`m`%0=IhVV1C@2K1XI#Z&(ebSQ*mt~8 zRtk!j+@WmQf3$MuREqpjD)eN8pSuqdT+Kglhw3(xFwJ5QKks4BC#aEFQaT^-!koTX z$)m%qB}87*bZWh@GxMGXoR!cyyto}K;+K$h_;#3D3HantFJF6aHF4wh**M`XVEbhe zbqR_flLSS)@y?pQ{;Vhe1W&rBb^^r`=7Oh_70nxdm>;t?8rG%D(!Gyu{Is-(s9cKt zkpsW*$C3elc>h$Y9GuT?G>YKQovlz{R|gL#&aWAtya^J12&_uhg7+MIEj0p+Y37-& z5R@AVe`I`6(%~92ocWy_$Tgx7zMU8#uv{Ouyu<{*2{h;aV@TVdMo%4NL0oGx%~i0V zhP?4`=C2ygA0$V{vn^oXCS%@3IIlj255XI{`n+*|8tsTx=ASxh(eZzS1g?B6l}!A@ zEr}mb>jb7m`}X0G7_LTj0iDch(IRr+GMYTcS5x1)nfS?KFPZNVk#tNW+G+~SO8-Ih zXsQ?{?LW$YbT*=T!(tLW-@+_^JHnk@2MCktLlajO$m`m{+Vk>2Ws*EFadX^Z*+v7? zcGF)iX*y6g4&PZw8rdKFo>jJ1ZJF`yIP13Z4HnPbmxnm~8_kLq| z`Z+tcSQp;t4I#6V5BwAD_4xB&CIz{Pp-kpyc6NRPmm_eec5W9kE&XS}%4Z`lwd*Y1 z`g)O6Y|J3zis0{ZbjA6hJHaD73VdZ!dDmxIH1~iEt~Be$AhVaO@7Fl07rgS~V}_#m zs3sOR=Z0wK-b>i+^@92N%dwlAX0ikJ^{DlJI34{ugGM&$v1`)FI5sYf>|SKkrEv=& zLq`QC*&VFG_p#_!>OvaTx$rNy74vPs!d?gE8kLpm^vOe$(YhtDUhtsn{`wDn6?`dX z#b)5-WMJpP9Go!P2u=~ftj$I2$F;jP2D=;B=@kb-Epr2tEi}zwtwLh92XNv1&L?q(SH&6NqH?C z_1K7CPX6KtT33RDrV&jmTMVKP>jduj33krG1n#}bXWM1+_$vW=WGHmSQb(7<`-5?` z#VUwcofJ)1--)N(-trH~ncPnuqQ|Lm@bv2&Y#Z3ZTuOM-F@4W&++W8n6C4IrkEhVm z%~?cqg>040Q2I}_pC$H1aL-HrgDII2j1SM?x*agm(wie9WX~s6TbU(b9IruY?s0rd_H0ZWskN3$m;f4i>pt8@0d*Lt7lz8&D_HA4`2TT`S=IsOnn?Vt(k45K zDmGz#W~*6iXesy0?YHQgrXe5sq?AR!ABKiP7Sns!aOP1P3r*0BQak6+_wj~on7I## z8!aFue@A$ulFglU`H53Hgx`uN5^pNp!j2tYq*-DQ^&THYWsih@oW&rr`Z0$2xQ=4J z1FB?NlnMiH^07N|7>(-PMOzKEsL~=B9%mniJA2>5-%;<`>eH3@{=PTeZgi%WQ9>_$ z2Jurwl3=o_063jJWk(o7LU8 zJt74QhG&79qcq>*sZHjurRd;GJ6O|mi(NTj4CS7OnWM~4R((crx-T{1-=93sZurDd z%4sXoI6sl}@)cnA-3+0NI25*?dBC>a`o#ja*Kh;fhB!3yHtXA&4r1fYY4hf6(sRAQ zbj}ZBOyHj6xaZ}Ba|mQs3*Wc6SE9QDHYKKJkaEOC-_C z;{&er@S!{WH14jgF+EgjWF5y9sdCF!oT~Ah&lc`I?DHbI)@gY>zk3iUxnb@1XA>bd zyOg`CK8^D{_W;@&7Q@!%A|U@heBWKix|ZbQ;%!Uuj~bz-S`lo1eV)&A5v3QOlbN83BR;`EG**t%=x_`~NU^Y7Zm+M-g~{UOPM-S&b zgkh5J zwF*|`c}54$kF*CBIb#-FwgH~hInbShRe0vvd`QhaLRuG8jH+*`(Y78BE-t)>jn*EG zQ+G;0+;0=yd@mBEb0g5gGYdT<9BHU$F6!@S!4)wR$?IeZ?$^pjW9cK{+%tx0JFSM^ zf0OXGWhrXz|BB;xoM09A9m!K-DcR?*q3(~C>_z5VJgPAX)Hch~p=CLohv8;+sA@LZ zdN<)-t)(<|(_nVjBo}Y2+d!{`d3F4gi9)VdjPh@X@UL&glFz?F3=PbHE8fupOMNuN z_0MN}&Yq;obXho}wSdgt1~A8%e42AV38e~?h@aU2SC$R}@qhMAb+icNJ48@#m&_8g zH=#{WFiiP$f`YHjgA?b^;MHZScsb6OJnXxewbODKANm$+Y&Bq_lHde=>HsHnLntI` z7!~G@Wc^;TkhEKz;zJ+t`y*~)*D5cl3>!n0#b0qkL?~#SHbF~MWt=!BpI=q%%^lvy zf$`uzZs5J7(4U=5e^t|AUyvWHRxia)vA<}`I=JCu?bxpnVLlw_<5v~_VY*X}Vae4A z+|axn;oOvlu8{%Yv#ORx7T4ptd-BAI=os{X|;2iXb6?kwF?xgCF19381I9F#K-PewxVLo@bDIo&) zzIGVp9nhp|e@&A86bkuoFVx&gTT7oEW`fhuWwbEoA76ha2UfPrQ?$^7d9dRco7Jt( z>~A^aRtqV5x55=3&p9r5O^1@jR7Ymw7>!>JpJ%dD-{HoOmQ?-Kgyf?d7=K?MW_yRA z^5inmI=!By#!UqIW<87#xB?LuT-os%c}(4N2)GEogR#@aY52tPnEWc1+B`i`RsBAj z*pvYIHIrCu=|jP@u$FmQj$~^Kt@wSmPq>F?=hD!?`?x>lSMBkf^H88z%@j^=;tqvh z$9tXXxV>l?-hHwMU*zlo>!fqwojebgy^!TA)ReLN>oMk;nSh^XyyknBPX})15GoF@ zVzDi??2t_id^j75JE9AiMu;qX-0TK#47btAurbh=cNaa5-^Tvl5m@lN0{$k9z*qV~ zG-2&A+|>|6zqqCJMR3!!`X-_Br0>l8Zay>1(t_JTVz3}KjgMEH&kgyOOSke*aDFGR zKxE)ZHc&MMYH#V0$Ymqd4&BJsy5+!^DaoQ6g0pC(TNcb~T1*~)Ut_ZDXor62C%YF+asZ$Z>v_!1jY~6m{+ht6n97sdtaikr_iF{rv%4-4Mslu4?2@ zjj^XWdaqbnkt%FnBXkqC>rqhaTnPI#1B0*0!-8=W;ohFj{Lc|Zn7TuPzir=#k?wYU zZS+De>GT{LU)O|5?=RzbwKga!j$|hUhVf6ix2!p4C@m_zCra>bKs%dgHs$z1y0R^X zSqr>_VJe1QG9SIk1ZbK(3oJKiVIiA{f;EszXj$v*QV zTXZKHv!zDCjRi?mXgQT0hHK);?!lzH<03j85}1e{@=&Z$iVAsO_}wuje8kyj0?TVC z1&ErBuEh8wx8wx_Wzsgm{~#gE&CB5(I~IN%bZ73N*ZYoQ zL+48ta&;8TAHNQY`jz3vuqYbY;X*FiO7LlC4*W#P$Q z%Z}l)4o1VEM`H8#{dj}+E;VrR;xqQ-przn^Kh7>Gox$2pX)rO|1UHi$X!{Kn+z;227P44ucASZoSLSEcEUz!aBX@PXTU^bY$`*T66HoeG{?mAP6KUu?K4SsOZ= z7+-XW)0pT_;$t##{JTQj?ZjZPrv%xaT*lr}C@dHE#bayS_$=w6(D5(`XEfHqeff{5 z((VAQ+v@O}?Mhg5I}F5IH)9@C!HBb^WE>ob2V!mT$Llh>aP27u8cfBddetyBas=h> z+{9lyq6e1a6G*1zFYj7(ia%)jkriaEff+jn*jw*Vn6^;@+lq%7uU?`<9tB6(hbA$> z=MsZ%Z8a=7%ouaiKQgbe7xC@MTg>$FFp7RKmg-bX__wyb%&+4;s~cy+8lp2Ps&*<_ z94uogvD!>ZGMeV;Gk73)^7J0JaMpuE@ZRc;{Q9fPwD)EkTeEK-`CWXBk2ls}d9@L% zEIEWaW9?{F=}-P;s<3;y)yz6hFM;k173}3y=v0Z&MX3~maZ}d7+qW}7?Mp1}J12Av zEO*hDwm5JUdiHMi_xY)jrOc{)1FWCW#IM?91cnA1u~<^r8Lk>ZerJB8$Fx#r**unV zIu7w#Bcqu1u9?)F6o;R6bSuZw2XmKIB zL}#;*YvOR;av|>$q73tvDAC-xi(#1BIC{)qK*jfh19qO^(rFK&W+8uFe@lbf*2;lr z{w{d!>j9;AqyZhP;qSHk?B!s68ku+rJxa`K&Ri3x&#xnJg>c`jIYe-=kA2ENsj?xN z>fhYEsbXjx6a=lq!)WK1%cyron)1HRB;zz&qs};cu2oGH+Dv=dL646p(b$V(5~+~q zAkG#ha7=d75wtkIg7nq}q08rMSQ0S|f<2@mf6Y3aDyt0L@y*OH@G0}s`@wegr|@6* zA=YG_XP>X>Q`m(OaNtWe%gZ%}FOs*=XQC{XdMn~WV9MT(>L$%;$4BTzRrE{jZ^-(UIsTzhm-}`aiol3xIxZFU7GD^TyDmFZ*yGUjx^ACxX=;C*h`L1SxrhvX=Z; z_#^#ljYqH&JDj$h@&aSYx#~M>{hbD5Gv#2hrwbf^ngF5qjOj~P1}Vr(^PkV&<2T&Q z#~OYXtg4#G(uOTyMM|bnQ6I*>lr5)|kF%g;$#(n0{g

    vY+g~O-Sb`Tc3 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 z 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 z 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
        I&Cue(IjXY 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
        =Bx34 zxG2+ehDR}Rk}$(Mgi+BbL((kjL?2fxaI<6%3T-%oOWAV}|F9C)J&l1a91E@Gu`_L5 zlmTG@&N!$pMW5;AlbSb=n5Gkzyye_1BD&g)rU+{=QrtVks`$_N@6<#(Y;=zQK-HIY zo>0NvyEhQ0cOww;TAZF+at37=r(uKnHsFXFWR?6p_Q#L{=$AQ?KR;r~t#h}SEmGmc zsy~C9RgZv*fH<64M%g(=X`mami8;s0(XN+Eh{mkTtm82w>a}bmQEDs4@Yq~%R2Bt~ zD_>#4-4<}+^2O&-8h79L3tf{GX!eDZV6L?O8{ zHK65&`)Igw6NVM;h4B2x><$?x5`J|8t!hhTm-joN%APo!D=`WUv)8cKm%6a{LzDij zTTNr6CFxgg&YYuA$G?-k57+IPM?JXC(4U$ZSlKJd%Z!b~fMYyXlbX?MFG{iGMlAnB z%>@{Jau4<9e1$I2x0oR0P14ubSDW2=$X-Yu#Fp@Urf)bO_oTR>@p2vdMTTQ-dT{$> zj7%MX*J@Y;3)ihMs5k zgM@53c0bw9`MKv9xOI@dCew-c^9=CYQ+4Y1W&(W_X@eG~{?u~8 zFa8OY3$*6>EH0n7nAq!IlXQ0Xlw`km0X9t^(ydffCn8%>fvXD zHnkUQXPp#}0&mWHCO~|M88cl$anBiU-<8g+&|gJFCp_o9m*DsV-&kJ5!A0x_(vAw- zWEnNtb<6>8ZNmG{k7jJMr`nT|y;hI|CUd9JJF|dljW}}N76}ry0a=vg5U^j1aqPP)?d(xTmsb`?qGZ8~mqzId;%yknt!S2%n zWXJOW*mt*t6h_3Nz&btJttvp$ZM5mZ_t%jYI^yj`98& zIT*7g4L%KKGLh?Rn1IQd^zlzklJZlBjk|Ic;>;Auo7P;Ez9C0#N6e`2$a?BtGJ}S~ zdFJ4k*H~${l60AIEOnE9Q27x_(sI7@{)(rP{1dHE^fQmqs%f-l_Qztk=?pS8LY-|q zEJ2E|>(UT;7H9U!P>(TxDtT-*iNF1Z{TZ+sZ$G?*bsMXDiR=7 z!D{4Rwltk3a2{@Go72b7J0W7+oho;X^V0^}*|~p?l3m#|u>H0L$N%E|mPXbz=;jpO z+=;!YS!~3;W8Z}Ir)B70Cro3b?t}2Xy;Nnf34OdZ7xPZr(saAKxPONaPr!qZeh+U$ z>)ju?vfu@ltx3kzpojGI8+Bqj`6e^%(rdOjTAf@EN~2GPqF7P4d1O!hLuUHRW90kV zTvCzWgU-jl-g4MkuWc$&+1 zMKem3y}T}mIP@8tO#Oyz$n*s_an&DTS}Lc5AMJ`k>FXNi;|Xo5yU3jvC0oKQTs;p| za>D7h&-$caI+MBKVai$)VF4yoC%{}~&htIsfQdJOe%$^K@_h7&-%lr; zZnOkD%LTFc56AoGd4R8M7;aJf2+p3|^ROX}nbPh>B1yjatZeIpGDtf z4J`3vVOn!CemHdtX080jf9qjM)-PQSTmAglvy&}=|BvINJoH238yE2Tn?^=eAcVEL zF@kgN@^Cxnh}l%L3#Wv|FdzxyF9x4O;lGbePdmIu+Z^?{e(7K{i_l$)E2P;{0uIhuW)@3}|^ zd;e{tjiKxCv;P)S8TlUE&XDng?GBi^;}5J%dx&*%r*S-7h~DON-7oj8^l$Yoj9)B9 z`gUbv$bTget{x0b%w9tW-V=#OoLe zb`pBfzKp49AawePt>_f?9SvW~lS4YyOu5cpx?t{8-rvC!cKm>VNtxI_ z;VL|ycn?}t)ZpN|b0k%3J#kMthi<{q*rl#d5?u7@)^g z^D1@#m*1+dW>aJzf|m19I#1&lj9!{Z7rmQ60~AE*1HEhP!bnLPK5`FIS~%{1xINsF z<96$E*GQ4NC&~VjOMiqTY^4oVJ;0#1uomy#Q@0ZNbK?r_rRI$MrE?3ICe_UA#DhzI}X% z;jJ$PtNwI$&sG=Wx55HycTsv;a~?5NsX`@Zz?lLie4`7|G~{{?yL?p{`dBK^hbx4* zKG8(zskfwcGPg1OP$&MoB#lwiJMrA}8^FBcdg4lh*gow(Eu~AzgUTm-flX^+Vblk_ z@G}k#83hut=p*mUwjU(<-%}8ET!1J2=hNWK-SC`a*REYAhUX7Fg9Rfa_*v5mO>DDh z!yz%aW+Oy{JbT#tVijn<{1jZ{XJX0vd`8$$h~RR2=Gm`0Tss&DzFKSOeJd_MzIh*n ztaXLX>O4G_WK7ixg^A{IoWT2V)heCBU)$cJ3vglmEf`RnPGJ>KEwk zy%g?z&ZZvk3P6Orb@jXg)@n^Q=D25Xk}G%!o)~G;~D{!{w$B z+8OQ)X`IJ*;HM-BlAcY|f*-TNPfoMKU7JXiYY%3X6*7g_bcx}zN2r#>gCZdT=E9X0 zMpx}5F8S~ZlQp*x^OlL^%fKoKD1`fngn#uav@(N#p#-59Ph`r2#2{oo^(?LW0VPaG9 z?3@K)=8z3ZK5y}KTqGDfOs2QyB*WN?Vx~B~7zQk_q4*0=(zhZL?#MTwXQ>U|wsr+g z)n{m@Sr7f@5kw+Lj~Ks=Ci=;uz@671_uUcHO}oMPUM|5`dro7iZ!xMl%Ye+nBoeyH z8Fv?-q~l+d$mNeWsa>Hy)#_-&NqZO5g3)~3^iP4RpD_pfFWvb3-(>h%_y(=6t%84J zF*wxGz-Dm!u$i5WkafHpGuL+D9E-!Sb+$P5R=$S1qVCl6q6B+hLK!WKeDL^@Sdw+N z1n)j8z>%WOuz0-@M86Y(5KmdOj8P-5>$uOk*^pRUaU7{>**4Knec?;a4ZJu_m-^gS zr2kDuFpD3@8;kzH3p-(Y*)s;je8TumaV(~;9A*b18+m^X?v)q-ajAgzPOj_wsF69nWhVVg<*2vDD!3DEi+vBLkjM_oZnsWiXKiQc z%Ms2~w>A?~o?m1xn*4(?&Rzc%>gdFZIhY>n1Y?nj$SCVl!;e!iYg`(#yH7H?;paG3 z#ALFg`3ZY7h#_pNEE#vJ1@_cOX3Bj_N)uA(f2&uK0l0?x+-_=WqY2freaYGeneeZ_ z{=~Ns??xr7UKn*!rCP72)4;O{nDSA9$rGy4~e={7ZJ>FL1x>CKG$sRF7G zpD?QGE0Vc}q>9Vge|4~+K7Oxor)>t@o+LpJB|Nl=$vr~0WR&rf_Kx8`p%m2Aaw9I6 zPeQSvEH&xpvfl@<<0hIdV|$9omA-|*^D(D)eo{ESCJ8Rd%F%rHUN)?963P7R zOLmogMJyxa>$6OLv(0yQ3&#f*^vuK#ZhtY7S_*#B^{{ca8SFUQ%6MMzCISz0@W0(7 zjG)GTs=tui(l`v2m%6(QN1 zsD!>`H@KhkE=p;Tk+el6Qj&%UWzTG-M3T(VFyemBTPaCMiM9sOlC}or_xb$`_i^w2 zoXyuQGk~nsdgrts#$VY>18I1PtphWE^Y)IR&LV-EhermHVWq zW7}#vChv>F4}IX!nn|>*Oc=f|42AY7XW2cMe(@F_;+R@*B#<`Ges3Wn#?RsZC#Hfw>gd z_TgvNgyYO?bQ*yIwj6I5tcPP#NxV<5`k2Vk&7dV%fkzjqQ2B}`C_g+5cV=-&L=Y{1N+jWl1P2Ytgh?jYBjhS(375oW@1p-V}No-XtbxkJBT zJhy+k#^33vLuSp9wKDAE_+K(r{JhKt2oc&ueJib~q}xjzjE^LfLxh;*(n;j{t$G}B zG^d-YBS6_|5#}*U5Fc#~_xUVy@&CJphFH43t`Cf76yoYzJ>1=ADfw0thUK#7P{>t= znRH+SDcu-D{(XGIT-;R4+HI7h)ZdN%%XPB~yd%#xR@QR4U?*~Ht2F&*s7nH8<)N+h zX5w?;85&Mh2iZ(_XgW~~PA$`@x94l-U}O(wwX4C^uzUD@?OfWB9^$#h>` z4K+-D0cYJ#f_z62w3f@j-@$b#vPy*7p(}{C`ti=&yP|uCB`M3ghp=fH^t!0gKNj4M z>$V~lTyPt$U+lyAt~Wsbg)w&JtbrAAkN8>R%i!hD4D!Y?3iFj-VawK!ka^_~te&Gt zBvJ)PLf=~`Oo@hM`I7pah4s)PoCTMAg6WcV%jsv!nbfp}>m85mU}jEmp!+(Fp>a|# zKD!Y@XCIkJjui<~HTP$@XVH3UYB3CM3tpgr{$|1()*+zbOPA5Yt!AEr&E*s zn@pRwDfMP<6S3!Q=&&OcmTjzHL`UUG$toGjT`bt%%)_{Ba~E@j+n2pC(x9!`{aCro zhw7pZ@iI{-ita3ab!_L2Z_z-tH(OvHFA{%EtALYB9zgs`TU6q4Gv0QG_c{wWea~W-GFsDTU8oWz)9>C?7TtB0;09%^RLeM2;EOy+6E!V;!`Uns2 zFF%UMEvAqY3u|D?zl$hwu8z5LY|N^M-okT*iKJg+KCw3};VtF-j(=@s=+&eB?5(#I ze4hm+aCOoOD%bsu=Xa=RC=OIOWPVV*=q;nT(icq(%TYJ^ig>sJJ-n`$F%&IoNHrn$3h+U1Z80BfG14n zm?$esbl9Rl{&dV^4L9QnQCW@=J?rXI$hNqSt%`j(c=!e!n2|{|4xJ-^#GXRg)jRmY zN0tOSK7|AH2bWI{g-e2ixOb)<%jTYh*=^0pax-lem&3_*tY$r9cS5_e5^en%PY*q= zVjn->OtiEVF=VMJZ5B^vj9*WrJR4!>2Y4cxy6_~#ei`cGJ(;Ya}X*gN|JVHkY`&b zv7z&yGSRZ(MD(67ZnYLByQX)d)356xFlJ9Fmi>yw{NXa3bo)8;!0!r%Y+ylloh51i7epLpOTa2ou5-BE zncn#*M)IVNVo*ylu9@yeRkp68TVGeQfzHZ!X`UXfkP@VBl>(UC?*L{(Gl|8_5$4c9 zIs4e44y6qk!)ujrFMZ4?IHM_~98S-RlL8HhRm3)fZcWLC&s z2iw+ZG}?1Lo%;1K?!xu#DfKP1(1M47@3g_L?hvi9xC%W6qA1-~1`n=l5SMsseC$vI zvNsjk>Kp@9mJO$KJ*9BZ<64~cdIJ5;`;EmOCD3)kg39jCWV7S<(#0i~#PRhoQ|-C} zPX3;Waq~aGP{|4`{232l&)X5vupjLG(p)szZ3a>69Wbls8pLi(LBTGB+KZlWE$A&A zoL7i+?o}`d?q%DTSMl;1LTHy{EqrDXKTESXu}~9@-+X5Kx$nr?c{XHHD97H^l^_=9 z@|fP=QpB4z14qu~qW>d^*}P;ktnzgxrwb*>&adzB0$EPF?X2kjL_3tc5z2&4mcoHG z#t_vff-jb|^W-ZPiT;<#Y`w%@dQ(M$8vW3sS8a9KsTK3-pR*Z!mpWe(qMps7auT~f z$%cCDP=!5%k703#2;C637+=rO=e=)K2D9H&h@@dYZ$`>#tEvDSYLSuz4mLAs=G#%m zKS%(}KC2Rmg$JRg_8&Bt8Ihjy7TA_s1826);LDw!O3!`aZsb+&WT)VNq~pC8Iewy) z4HB73R|GGi`y9vEY>t(7; zwBav=DQtp`rM=9S%Z1c@$eb*f(IMmJrSM#&A6^Emfcsa!GrRAsAd^;Kz@FCcoagi_ z?AtGfqtCdU!Ow1J3wI%-)jP-y?;;fM>O>yZV5J*-@p`u$qqi#t<-8iPf!dNOVtZ)J zzaLE4xFoq?Z%p5tNufgVE9SopaSYflKm?Qx;GDoz^7LX3{k>h5wAH+Z;UiIaXr?Vq zTiXDED+Zy^TL6aT){r^e?7D9n$B>(G4I@`?$7cibP&Sw2NJwRZa_VIk$L;XH2@&wK z?F;s{#=>llxfaXxDBbUbDedr*Y@hqP-*fQ*9cMmccBo6e+ zWSV^H9omn+g7C-`ihEC9S#A3ccgqNY=DK-o_pBPW#)V^Eyi%t}C%t1NKH9L4Ur9sS z(k9I3m`$2bf~nJ;Gpym8MU0-B1yB)jyv^-Y%G4J#q6u022?@*D(7VzACwCI-@O-S7 zyoitDAHrF=KrGRHgO_()#jDJBSnoauvv>KEnR;KLztM_aP&&FHpcCqP=T z7?Y)?Xyno(R1Qj^{PGvp?#FB9mV^n7uDc4W5+umTlV#-j{rxO1nLvB@B1($2;aAN* zsJG`b_8*Rs4a?GLjAS~b-;$?ST)r_^jCi!J&J2#`N~7nFLKM@HAYm5kcp1_TB-`W^ zOuIIW_dTP?K$|+K>`lXSm8(IQb4VB*;POQ2M$~CeF5LZBNfbJj(GUe`mZdduRA*pr za}M(}n)@6qBuPp-=WJV23k7$kVes@tka_YC^Ss80x&=-_xAG`D^-&ss>VsEkcjGx8 zGts3ZZdJ_n%q+V2XdKY#CrDX|3VqSJnx@+2!RgCIU?4gNgqjI?d37H3Z(4>91Lq+w zXfLucE9uS73(S*Mx-TfBZ)|fDZyZ+O8P3^A_NoZtDHnadtJDJgtnEzI$ux3p&vf9PjkH*>70z$l$9csC z*n{Ra#QESI-nIBg*jgG#zSuY+*4ROy$qa5^5f2sC?j$!|9~Nv2#PHkC@$6z<7*~13 z%U-vasoOo5PWhuj+?otvZr5>UM#n0grXt6TRIDX6D#vife{;!~3zs-=$&ax$iloX^H(_%DCTTTbxj)R7WD7m|{ z6YkxgOEhGDS=~#W!#o_Tp~>n=Y_@R~T+dD<4@V`aXworwbT67| zix#0!K)eoz!jwmHi z_kO_rio3ky&A)Nomj-B(^q_vDTu+jB0~9@Xfoe@G!CgE|)OrX8#-4O2z7dr5*23>C zsr1XMSopc~E}Zxjfmi0ITXlx7BwZ`)*kzd|WdFo_h}9E`tnXVa)VjqsJ==(LQiQ3t znG&_VVosC5ohmu;G> zK#*_Ee|FLwx{LJ5)3Z`E-th#})$WV($&*R?&FRElQh*M)pS7x!KZ+CY%mm9=!mO27 zqp|wgIFcC0Odw`tt=|{O`m0Gd>n%nq)Bqm>4ld9 zDEsz0>lM<1k-M$nmF0E#kjf+WNez4xo9RS*PZ-%T6pX(=xIpDo2eP!6;Kdc%u>{FJBg6-HF2;$ zeiE3yU5?8;U$LfS5x5*(K8$aD0Sr*z6mb;vdlc{i6f*;=B? z1t;9m0YD2{VP)1dGN~mMthnF8>0D1Ld&ZcQF8PC{*FIpW?rW%AsY~|%J5F0x8Iy~Z z6EL#pE}Qa6fh=4e&Hf4$rXJe0Xx_SnzEzq;dO}i3)|UckS^NS*LzeT~W}Tv<8y?{G zh6Hj$S&-fcl%~98N_2&|KGSL)O0N`$K~<44HKDs%?;Qp>xg`Nd4Bzk`4ka+np9RUv z)043BWh^e*nT8hw`B0|offL4o3`iY>$8;BcEv(1oDRbDS2bFNz_A<~Dd`yzmCQdmY z*x~d;q;r}VzVuqiL^U17%@_LN%>S!^qv2d1IRn$1R?=yH=4435jD6)3#~XUE4{UKU zdA=)~<|HOV$2S?0?-Rx4L)~yoog~3?FZhqoy0T(pFZjJnFCe#?B{!r}Va3N;q^YX| z{XM0bjdjb&f~BYN`j+LOl*zFWe{s963$Iwckp?K(5{?FsszF;Z8X6B!&gp1^OMY0< zj|S`T@0Tp1K5aeL#C7AU1!r-Bqam{~O_=ZucsO8roBuE6D?ZSZhx=dWu_KRxjHOth z8@JcK@azRB4yNGco@yj!-!RMNIM!{QPQvbs&_%oNGs?me^yb_nXx(uUA5Kvu%Z~Kp z_Ir!zr}3rCm}(qk9gKvs;T+zH+pEduXft@WCl)`uuAz3(8@X)dV|e|f1zqxGX&aYq zIY=CcZA~e5oI3?+riEl`^KCL!ScqDLzJu(4V`y4=9G%kcfWqh%logL*|J}Svbd<(f zMZIFQO0Hy%j&8tPGp~Wz{XYIQI0(74% z!x)ylmZkB_A2azj9wcPr7ks!`g{lTw(~RMGI#0qC9zH=_*G$Q)i2Hc>o*Vh;;(_L@ z5Y0Nfimh7{2|fmE(JoI2PFa126`^9Z#7Nxg*z9yTR{4_IGvPKU^OImglRgZ8noq5p zLWpQwE-1awqt71s;NN$lG^UM5ZxsHVJ3o$At7J0nQH3zkAPG`03*g8# zcY5o1Ix`-89rE`KK>}NVYli-@tHQ1^f;uhGuD_Xm>>7Yy{6*>SnT2pusRN5zqd@=L z1>g@RQr;#3Jb1Vf1>&E>lG&mpl*q%Pa8ugi>jYX=rEt=~laQ~g>GJj|xMDSzN4jG{ zdP}1C2Ug6c-5p10jzB!5o2{e$s{g^BUp=gWYz)`=nL_%q-@sdmDYX1+zU9bXA&6Wf z0k^ErL;lT7bXaUkratP%2S+*P@!3=&J};aamz=@lbw)%-+JN=o_+uj1W67t$Z%lLd zOcE_Mfn=43)0y*3*?}3CnDRt1GI+$AgfK_pbc`CwzjT1VW^^Wb{@a4%!5kpZ)W$IO zc{4OS?S|5Y-SD6J9586lq)j#w)P7kv)Y*-|)qw!a5{4eFqUe z+K2DMg-9p2M_k}DnV#^92i>rb+|JP)wxWDDz{~zF! zeVq_4tAug)3gGWuc^YrxhX+g)=?muoZXc35bC`fz$lY<(c$1D!0(Q9iHVcr&kjVIEW9}BlLpUh*)zeHF1^qwtxyKRMh ze2wk(&#~L{8e8yt9VqWPNF9q1Du3U^sRy!PmQpt1JsD)e4-3K1Odpah5=|VYO~Zxm zcHB*V71YbbFas})h_1vjtUCM|e|KuaiXTPLeo=_-vMz$a4df~Ysk!; zcJR2MM5fz6LEUh1;x_Xx+PyJd+XM{@}{{S}2wM98Ah zaA+w{V46S^^RxKm;=MSynB{>14F%A;t{fLRiqZ43p4=Wvk@5=t_@Y}o@ckde9MgU9 zGG#8ge`RK?#vNrS4*m`aav{?+pi5inel3lAbw7}D&B zYUb<6^^BRs$>9dGz2-cwpKuEN`*NsGg(ErPeiAO;c!v#_x5C9agv!t0b^*TrWL!Q8 zGXL`E*-K*d<&SaZpKbuz?Y9;cx5fiqAVi0QBT!*HlQ`WIB)BJ)c1~SS{i0o|{0k$v zzDSEv>8xkYK70uOt-p@2qzRAc&tP`l36c1dBcaO z_-hNuRE?&?ZSKG&TR`FNb4K}wDmAXZ$6i{;d1#c*p<$6PXaqc94kTECv%@jQeDV;q zJ&(q{<+C|INh2zse9xbs6+rKn#8J^IB~mGI4coc>QHyd1+@7RH^)4Q#DMvRlpPzJt zqGbRy>UW}T!(=dWZvu7eW1zdlpC*;^sP(!L-saBB?7E9VV4fyK|NIfAB@?bQ(diO& z%`Qi*+!g`TbmFno=_0GJybx54%yBfLn=xdIcp8OEF)`;6R&ck}N^b-DLUkN>7i}| z>VM6SS;J+}mH(*It3Az7J3o`DpXCNeuBG8)Nm+K*fpsL-H3(lGn}P;mS)h8N3k(}{ zh261lee?{byhgwig@n!HXPj(Paoz?qfH@yp93 zJZx%56CY}~?5KDz46FCphL-^Y!2W77_ z&|`f(noliZH0@@=Cbk7DzTbeKZbn0rdOE2T{@M%ws`k5T8DQ zZYUHYLIDxDMN$()0yv*!TpB1(`vN;pyOH0r!sOnU6|grpfNbM9d{X~$uJKQfv|-*5 zTW%JGd!iyibjx#?(a*U{Loyhj8_lpFSdsRuxQ)i~^T?n7;<378J4tq$M$FB6V3zMG zjH_D%o_j5Ey1WU=`jH6>4xXp|FBbC;`#poxFQ(Fvqa&aoQjC!`uh4002-OhT1XYfS z&|Q^@b<0k%&2i0G=6jSh9=L(yqWfXq+@Fl{Q+bTvB}SLWW-)~=n`yJ=xdyLSH4xzK z0*9NU$vtNm5;c1_l~}qJR!7!=OjjL@bG$ZNV*%p(=LEh@E+TDimh9ZON}SB~97MeD zWa7>KW35zI!yGZr0r%uS`=~XQYHvJBrBzno*$X_n@yIzM$H+2KMe+E5&dv7==TS^K zfQ+A4L;Y#u^u#l7`c%~vvh*d{rRx>Qv#PCBHBE~wF#65cF1F;acS+~Z_vJV@k4%ZG z$YHi}k^$8V4#r`vIi%yUCFuW(qhr}i$oQ0{wBuDg$gC|vzjzy3>aYuPt_*{u$1)mq zL7Zxz9fD}iF(0@*7UTpEku1gzw{5$NVmY-;_C8GrTxx=w-hG6rLMiy!T#mR`cfkM$ z@{fAg0jnBSpzGH^lyvEbO9MApOXpMM0CLO|g9Y@v%pkk6c@M~@MdPlc6X>0r@i<3R zk(qvXFa5zUWUM7C*|yKNxW})b?a`BC@Ov27EL8Q|`fF4Hlv{yEcR z`;58LP>4VCo?}O}6geq870=i!f$>l}J+IEgR`I(iF%SSGY%jgCQ;6ek?1WXt_CU`hP|pqxvQ@bo#k6vX=e{4zhkF;X#%2j5sMkW!oD+=T@qGHGX&&$M z3p=VZxd|e-=)maa6qvfqheXHzMV+_m^pChV?JQQtP45>lKE)1HwkCsW_L|aBHDi48 zTa8wl-oq`aK%&A!VBBCfz19B$(}eB;MCY-!(LecKH8!-v@-5nKYyyR;hP>RqTi`zL zEAW;s;(C&!P~RZ{d6oN6Y0E)mH-%HO?GfnJM^M}S&3K?O9QR+CM@H(mvlrx2iTC-L zRBf&bO;M|0KcwWS>?@lZ`Y_5-8D|bV{KQAtCB@AMMOUOPCO)?{|9u~yz zrYjHYkcWQ~sg`U$8?e6F$daEymGok%w6+8>zD-_LQ>r;ysG=dBi(NYZ)S-lVxV9Gp5V znZV#FD6932NxdvjPOSl|Yb`~8c0|IMR6Jd9_6buX!tL~|?_o(w4a}N1j<=9RtCnO#_1R!Z=}f}AVgfY5<1t`tEUj@KhWBTzsi~5;Rg_o>Cgw(C!6yss z)qlyaH&me7RrevRU^jDe+HwBZZ-um4m+PgNxxkCC8T6@e0$qMTnw46A5R#m@z3Iyz ztmcz6j9b=*#;44wF6RsP()VNkP0EGvmXi?BuST;(18_p30ZIL+#B~-`7~{8}nfc*U z=(g{vXnXuJ4mho#r&dyUE>;WQvuv5*kZ9KL%sLX#?*sjQ9`LD3l4h1(M7N}tas7BE9{yX&E~imYequRP4rk%SxMpI^JHvMM8PI^){rK$g*M_(kjwI4K zltdbG7sDZzWN)F!RD|JNa}i?u_yQe_52eF3{U~vN0xP5b74#a;L$vb)JgllmHn=yy zlaO`{T;2km_A}_8game?HXk%K_=lgwF3=6qCxtos?^b`+5X5nLqFmGkPZwUgE z8w*&)z2TUAmCG77YLW9Q3rJ+-DvW7wW&RpCLBP#0;+8X=_6fWKC=n(3uKQqiZ93!r z=O?pn?Pc8d#*93(sKaADFP3D zk7hU4YmunibK&}d1YY-cL(T=LO$F8uLBL&C)D}ZJqPZM`HiToC^l3b|DgorGEQs#b zKK8R)EI40QqjFxo*qJ5A?*A`7|pISL$yXRdiBU@tP9VD-I1S|+WZq>{@4?*wbZlkCv3q8 zsfSpx=r0aj69EqiB{H{g3lX)Kg9sYMJQ`ky$?~;mSgHju&N-NQRhyoS zn@ZP4o`UadcaWgJbLh2|zws#doowE`ns)E`fSS+NK(zHzcwHq;st@}^X8$qRS!#ku z7EWbU56Y9v|0eLWU-g1}+9lXFHWL>Iic14K=5h5+j{i(5bSG74T+A9miIS%J1rq#%B*)$@f(jZ2RCs&|IkwegSjPE=Ps=x_L6o<7YEREQWZgmC8()tv->O zaEJ5fHL)^B2I0hu{cu0flxQ#v(*U*|sX&=Mw+YeiK;Vj^x(HUwC3G=Q$ppOv!)<;Ro|bT z-jE?}(Y0)zWgBcwdXG2zUZHftdh|MFL)Y8JL(%96<4*n~r4`FT@q8PK*WGPcU?)T* zI?So@yrVd^UzrZQ5~azqaWsQBmzq1SA=Q4h%y=r-6Wi-gI!h~fUwe}A$<4LYUP29z zELVjMY55qCdWlt1JIid`o&#zR#^CE(A)4?!m&*!=wxgK5JguS@1 z@-x&5=#oa`F|6N}joqIw6Vb$KI3j6}IXhL!6|->0<7x~(-BW>kxLrfqmqE_eP=h5G z$FR#L6oeKPFj4FcVytnBy+2!$?Ea|0FO99__L=LbQ$r553BJc{Kl2yaoje+RN}GI7 z5+`Xw=P`b85`3%KK$TZaM77KU_%~F8#}B%}Re{xPMCfhEjTyp0Z#^n|)|w1vXp@YU zF|7ZN9jM?xm2}-p0l_t&;Iq;s{MiC*--=XJ4Un-qY@!2$N4 zC{4^-g14@7JihEmG^*T3mx+GHr465~_Ger}#b=92oVgC*zulx~Jqzt~P{LTg~iLdx&?F~4wewbORk%Us}2l0b&JGVDm zODYBJn7UIEq&>?8+;%u);)zjQ#AQgzo|-e~o?ZoX?PEO@gc-k?FJSS!9dJ_f11w*O zO#5FmuoquSza8+voen>FHOe8-mnp-sw|n734A-@ge~KlI9r$P60=lu#m@PK3Bw~02 zZT9xDcEQ2)#LSH-fA)OHQgwCfrmG5xihcFE?SxN7itU;Y=58?0v397d1 zHMD9(lG*o5z-ly_6drb@b>BEfHdvCc`=nvJrXal|szSE}4}$d(LzFF?O68t7!lT;^ zFWp&{&U&IwM6S!zB{T`N-wA+q#|d`*)R{!-y(H1LJ`Kg`J|s{VJAD{{0%JTt3g*Kl}&&Ltg@ur?fzrxEIIVi1|gKNI{!9UlP?6%o**gc2i0(0DLYa=b{p{oR{ zIVV_$2|?i4AO)Xex8Q_tlgXKfdYq@m41Pb!zylH7`*GzgsBVnF<9_#9AvqKJ#8H=2 zZg~Y6G>la{_5zAr!tkX2{`8}N#yvb1Gic=)APnmdR9A>@- z<fDg{D; z?PA8KQ<4^Z-a};etffuw{$k@AO=7x-b8zjgWupH3#cmMdc1~6DXaWn^Rc;qR`jZRE zUzo-W-%upwx8F0HI0umQDOKLdUT;`GFqtN4+RzZw3y|udPy3`K7<1D`%&?fwYx^P0 z+&$ik0*wMx-24rzc&`TaBj%9M;8bjnc0_kQH+q4)`&tU0ptC{<%;$2b|4e2Q)!$QS z>OOC}q|lb?T=;;)Hp_^FNQ{-$ruoEK-xWP~3iED@Fjh&#$@zW;Qo+WDs^tl`CRFv@2A(~4U zF|X3nNU{1vBC}(3-kWnGbhjthjS7+>k5@D>r;Ajmc>HJd8Ej+U84mI0zBq%k50-Im zoSXdo4QV84B%V|xWwDOJI&=r!0`m{+g3ryv)a}zKZJ+!#cI z0*dP7EIV>+H%cqnf|Sw_Z>w1;n*{C5maIrf9Ib$DhwiaI^^T$iE+dcOA{(D{5A)M< z5z5!&t|yk%c=|Ia&YeNyr$3^boDmW%>!Clkmi=C*!m)bZpp>*YS=l7T+;NR#3${nW z@sb?+%W*Z%y3J=BW_#hG%hKe9stfg=dYgW+yvOykQm9MCb7r2HFbQ1BFfPBGsl2~8 zmt|f-Gg}t3UK`$_n;n-kcM+nM=PlvF*f-pKULAK@MsUDwSu)?C2aN?!K-2o46-khC<6YV4FGA3IENQqFZK-t`fR z-@jwW@=}phJ*4mNHIB2HR5ELo>K)FT2 z=!SbEjo{IGb-L`J#he*w|Y;Uais7ZGDXW@L8NJz^OMw-qg%|V(JODoXMKYwA*`_nMKlgr@qBxuB>6}Z2+ znSXYbH8Jozg&VS7H;lDBWc4x~(00u!Na-no=O6B%LH8B-+LlZ@Hh#o0c~zRJp$`;q z@NY=%=KQXbM08pY^L5fX67Q=@N}aW7t_*j}iC#mBU& zfZ2ZX7%jYxuE`9Adi^H+@^3%)e9T~+KBa=znx$wxKZ&$oQ6a%u0qlpRy8MU5c{uY* zx7A>_4{R4xA<|AI#7d9QdHb$FSRvQ_%w2@nU+*WoH%buo+1x7kw-Pz`?=o9+W*&(v zTg`fhiP7Xs16-H63NO@!l1Ei`v`F8c^LYMdwyohjPmgaw*}c1*mob6k%w&;s++N^K z!c3UNarnkpzu_Dof6@KW1K4JmjIO8lV1P#sneAsxB9eT_k0aAa#*7?T>lg>sT?b$? z=Z*`Hbf?mN4^eS^9GVlke68P3mY&@R52vrD*OE8#-6u+rBI^Om4F3a=G^R+-98RFC z-YU^<`JbHgTOE3(4}q*Gcj1@)#S6b0$xLX_qnfK^!T0EL+Bdz1##$!Rlp;PfAJHI2 z8Heb+8`a>YZHw{8jOdAnL!5)l3HDD4pfepj@k(|I{GAj`Ui`6O+lE$?xRQr_KkrP; zj(>x~EjiFWe-bh1J_vHVN>F!>8dOW_qVES&c(*c(>-{}pZBLf4kuEdn0S^Ym?7fMz zm^YdD`8_WB_!FYCjL4rPOH6uRPC2(MOFjyqTU`!biV}ngIrS)zp8zZLi*fwZc2NG7 zOx!;GWn1M%X%#V|etU}XqTm9!hAXJrBo@`OD~~7$Vim4GxEJj zEH4#y=q+Nk{NwpQ1XnN6Pm{&IZd z<}^Ai{sqJ(?=jW82Ovo55e7|+0w=DEVX`g)6wH-q)8J|J=eibKuByS7$-du2Gr zO9#B**jI-aOyitg!|*!8kZ3P@2+e)bm^Wfdzq#Af&UyokuiZ#bUcL!)zfLBb_9Z}` zmNTxj7bOKv23V1iK;Q3Zfwa-@n36xA#N{f{p~)Z7|LPT(-hyajR)CXx7P3>PPa$E! z+Kg0z1H7}#gSq_$I9yZ#W7^kX$1V{Ns2agXh6M=4nN0ucPnNlLoG0y%1bKNyl?La~IL&>BU-4gl=JJ6aRT%zwCGFB|;w@8_;`?vj zg`_+Nd#@}4!6kscVymdrlv^M^Cz;*zR}g)d52H~~Dztkh!u!~C(A?pJ9oKE~hRsu+ zWXD|cL?@ql$g!+b_pQN`%}OA|H0Ec7EOKT%MxcN1r(ehK~8*?C)#`&A~16< zYCNA#|Ms20fmJg}ec5LwWy3tOo#}@~otacNaU2B1CzG+NSo-ywFFJ3r!b=&uXrsg? zl66ZC=|LG{BA9?vj2sDY^nl~-?%;OvDKzYBfW~v<@Im+`cxcbZ-%FFJ#hG&$;*cc@2`egBK{2i_{h@%qkh)8 zSB-4>&z1R?K7>LNaik;H5q2%x3a_U3&^J?!$gJvFpsJb&Itvcd`eU9Xtc$ySIpo66 zAwnw^s+c3(mil?>G!hl7Lmodc;g{d^IS}2^lIKIuWar}GlAN4Qg}D2%ZR5a(GoXta8fd4?8}Z)-v}jg{!$2$ z^aUJ^a!^{@?A)6iktEK z=@_zklNNi*Mu{AYo)LbJ$pEiPXX&CU8cN9nIwB6#5He6;^F0yRo<NQywX$QQzF4Ffhh@`+N$q(Hg zCj(I~jVCCTi}RLSQ?Jm~Y>s9#7CAo!{iQP?Jtlz-;n>2+{oZ5KJJ_1ZUvY+OEo$_I zpbK|_n^{DUUU_uX>Lkfu91TCaxjU%71dtv)0r$6?}}t>n`#Wh(dO zK7?mlV*J`6Sj*+-1r@Z2-JyQAhiCr?MPk1q5htTMH_Li4x84KmSM3dH8en zwsG8wLPk`|swg9ytnayQR3ua=rL0mKGKxaWrcy>k3dyR7Ur`F*bKROoL!yLssg$Bp zO2~7bzo3_#IhRFrNDa)&0sKLSY2NR+$rzqp>`LKxc3j)TH5Umi+l1c6d?o5%e4n2kBZH z6lFi5%8o5~x%DVnvhNpj*!B$6XGuZ$5g#^PU61T&8$?YR8w{l$&P*Bfefgu$i&2Gi$B(TjRvM62&L9O#)xvZHDl9aZjbXs3g( z!>1GDb*I24s2odGPBH^8kiGOoofO|TCPIbjU_34i+h(s~_KyeQokJ&aX+j+)tF1$m zu2mdQt&SBfS0qtcwVsn%c zShR!)R2q@RZd1t12NZm#cEb0Ep8UVhQ}9A6(7@TapLSweB#s9}>Xh>hJLT zMqM(i`Ua?aOA_(=Js@c~iN^i@1&iylamf!Zg%;5f;P(l1=wt_m>|H`a_x9r| zgLjP9*$B|jlAw+SGuek%5S}V|GhJ)!Q6~8jWGq-f_ohVi!X};J+j1FZy^tw%?>=t# z*UbkR=~TGqZcHwOETzJGp22#oVs<>9hKF-&`R1t;;rp*(yc9W!7${6+h3(eicUKv5 zPc4zhfv>far$)kJ+!gQ#D+v)lB&9x{M~hs@$hvb z&#k5q8Ji;{;p$1q6rM(`A1RU05OLO^@)DYH9QdLFN7|Cgv5v15LR3Qrelsm5r7ca+ zXl|&jCs7 zZ>(l`dYu^lxehw4?m?4+6mfbomHhmA)beMpBcAj62+yvr0+)7c2&GLYlK_?CV>sT1X)_>#SzpsLY@hO1tqzwiex)IEvOUjVw=9Br#Q@7hwBy zTN*LNm3@S7P$DXZd@udSm|xMQ%^KI(hklP})!iS^Wn9a8T@$2R)*Xd~JG9~0<$1)L z^S6e`Or*zUqiN&6`4-`&>$y&=3pv+%kd+^v!8R_OM@>zh^D@-6N$Th%(z1UGtSoBB zg&)je{s<4B-pIz^O2H&t)}I_V-9=x2oKDoNx>3To9xHB4rZy6;L~dOdc4mmu={U%W zX4KM>8Si1nc=O8?+IB#M{s_>(xJpONyeQ5z$qu0}FNZi@ zCgfY}Y@&b56DM-{&PdL>Tx=TbOC=&}>+6HOCpo>zj3-0oAg%$e&AZlz;;Fe6gVp( zNoKFOfN25_gj$EuHR~hL)L|dAf7;K)DxGH*oyg_5r=?J_S_PakM)37&MY?~TCsiri zMaIh3kos>~e1WeTbdQw_1zrc#O2neJbOUe6>ibN%^$2QnT-~Eu^~|otw-~vQT_}Gn z6Q}#lrHg_)P;Q}gJVK1Z&PMPBjy zF*H(1ho!N8xa`L&v@n~+hWs>yw30?FF%crRn>m&!{~E;mUx&p-O7!`PKp6aJK*xq` zA(fjaD9xXMvfH)E*o#Eiv+xx-C|Xj}kZhVQbrtV%-0Ym{>&%{Z16*i!AM_V(Vzzyk zCjD_s*>j^082@8-Sg!q!lsEKd;)7L zqnX|Auc77NYu>1UD7O0)k{t&JASld)`rCeoAI=+@k#}(z@3V>=GoDP3RmNCM5HunB z1M|U4y92dNoltg;6Hfngov9u@gKvcMIDc;}lQWRc&WzGvrdsY~yrj}0wPphObd0iJ z7iQtFPoLSx5h-ZAt`4pQitwK&PbA(;h8VSH7UYo82uAr*u$eiXChxxigUeEw$EsYv z{mxT7&FKl=-aCa$luXEgQ4D)|KgTqc+lzu}0pR@p6E=R=gMO2<5NvUl*|K&5S-Yx$ zEsOex77ZVnr#g#>*3T;_(0U8w-wtD@{C7OCUWsX&{eUpZ2opyU4NYE9{&fmN5o;sVLjDaGY1PAMQH6+b%L4aaJohobFj~g zMDdrRue}}f`F1fsmi91S8FkR#RYx40w$O?r-Jn$w1S6Kx)Z|4Cd!;oOGQzt_wbKz= zljBWw!&qV;+=`~Ne_(^xaps1)B{<)uc)ClS%9)LU)&vzec%l#_2iIWn$xqRhK9>ju3DbIRPUrI<*UfgHO?YfD$L}t~j%R^H z)6Ws#x?RWpN5#qa5f9Q9VohDiI%d680Yn>hfvT4<-*8172(|9T`IC|uU&nFOIQ|ah zkCw7EeZZKmf5)U<@ut0bx7aU2$z*(`GCsII$WK)IhX*tl;2fDWenf^Z*&h`GKXQ*C zxGE!m507KW|9O9fxngfr+KK;hhKF%X#6vw8FSu zmnJ%1a3J5iIIh#OSUlxDf#^$bqtnh8^7c2jq4uo{xH5Y=-Be~nMl@!T$knaTwcHeq zm#!fydj#m(E)O!kt{*>@#$#h-8_s(#L}ThInP)z0(f>d{bGv>zG2LANwMJ{`)f2Dq zgJ>048C}EwEKQUzlYE;C7LdE?S#r{8|e>$R_t{0!H(6-N%4wV(CIUcCNEn|Wv#WDv%ZSdfAbdd z!E`gq-BrVKB}H;($6DOQ`8ZB>9;J(4C*zWGWt!u68ZYb~!d1((nA7hz($*`B$b3CM zeD34?NskgZhj*v2~{l82b8NEbBMcP9!i&6e>TSrZ=woz+?>zc6SeDDgZX+)JEogFGk9PCUfy(-J zXySZ!4y(%OiAj5@rS}Z-=y@l5@N+kqrSlnwpH}2!Oc|(e&}14OZY7>CTENa|I?;<8 zz-w_!AYslmo=NU`rq5<4G1z~a@d@sSBj2Vlvo@arg$=>jxcmmY?!jT)=FH`hKD*-G zF3u5hwvb&`C;<7-g@|!V3nu;5r}y8>k*@G|_S8>48n=9ewT&9g^0VH|C)df~HQ@ta z%QFr;c30!=XC>I?G7Ndr&8)T*cPI7?hg{`$Ts(Cg)B2ucZ1ZMz?Ccb)kOR|6)Kx1| z*`bP}-({(QR}$9;d5zAYHEfoP0NfOr%sy&$#cXdUXwizMPv@|h?ygIi%qrNNDn{o& ziDbPWbJ>@sspN9~cjlGzVf-gK34e0_H^K1%{-c6;+~#`|VlTwPr9dy5DoJSbff1&` zEfqT~U7_{&G;T+^jD#l}5s!ZYL{NVjmv0iqC%Rjh@d}Q2Q71%Pj>OQU=bssEpW8gs z4UNpD+EIAIvm`!RH`!U_4lvK1@U^!J4mNBhJDVoLyJZ&{;pFLX#X^A^h9ncc5(#+A z*wX!f|DeL_JKNnO0Xp?i_T4=IuYp^-rwn zhErWw5M@pt`bzE0MHY^SV zRs2Dus}#kLKLS(JM%H@dC1|}+Mg_YPsw~d2#A>8z`-23S(pC;DE{8GYy>DTDVFWx~ zF&Qgb2brv}S=7Q+0kx{iLBwe;oqfHWzieEF_=QfTszt*%Ync!eKbD3{OS_qn#wq0P z)@{`0lL6KJrvqCR5;+!J79+1amE3$Y58s?fgj=(RQKnFol>F%glm7F}s$d(cto0UN z#N^^_{WDN3dJcwz&oOgOiGa%dQ6_bH8Me2{;^|5XjG+Vy#7I!d>|pBZo&~{GKIF^J zlaRdHh(5W$0%K1HkZQC0%yK1@9ItDk4Jwt7eSYqIo00YY=5@TjJm(8~#!Q}$0>|7+VR5}6_!j-fvo&|wW~(hQBs`ZDR6K~!Zw{b% zPA&V#rux`MlsVj0PD39Kt6TwmidXwDL)exv6wH{Y6PTD=h}LT=-8sUh_L zn~x4N#OP)(j_)it3rC`p`24};v_9oOeEKvOcMVJ=$qBK1#fh`&a@}N-^eYADWDT)) z9a~ZLM?dVmP=*JDyV=qF5c2!ST-s|SMU#lgH z*X1&1*|KC=i6nJMRw-1gZvjhA#l0p7G$kaCLOt=XR!>yerbp9ZTDIFTjYK^&pv$$3n7Ij6xRZ0n-Yxpare=>azdoP9U3+Je zzLZ03aO@1cyN=^_Da;|({GddSteO zZJI8fWWAaEeRu-=IhXYQtviW8^)&LXPlcXXD#|W7pU2pEw!)etYNW?=F{qs=hnfy~ z+;lS+C$C-vB}1op4a##UGs_#z9(t0Nlz({gh5@}QBTE<9QPfLqX2$&|vTp`%!D-89 zxIWK_bFAr6_O>9=oGJi*1=kV!>}adeE%KjLC-W^@ioD$S4UP%d^Z!OS;oR^hesBF% z%<7p$3Y*)w-2*bl7vAD&>-p5%RDxsrttUt3K7`_j4&>(NHtbn*6lOXdLi5gEW=e%W zPde>8Y@Jla4u?#jZ_C0_Y`GC_eP~OKUM^%0PKZSQF(cxnFhCl$7SbyVVD#G_5Bbb{{Rl8M(*UheiKEQsFUh zJw6|=en=-#xe7G5?K(zn;&Pc9gnw^`AwB%6mszZqLp9!Q!D(*BWKhnYO27XPKFvSK ze(IYB3lzB-jwHvTS$LZvg3-8O)hNji5+h4i|AwhK1~}*!O^o~>aqpZakz_euL3TB) zye&x+Gy#L-ylL2JJ$CxYb=>UY$Ry6T!dO`WBH16s^jTG4SHg09mhAzz<+c)YZl9ZY zvK#(w>p&_H1Y>pbjDlwvB*&W5frlr^ORZ<15CcS7Z4o`nWu#keWeIne!2Whu^f?kn z8O8+KG-8O=<^2H9qIn|5>mfP46Z&`PLVn#Ae4sFs+^s(f9&rtDu4XUidXERoW_MDk zeI7-Q4>G?@meGmMElk2|O)&NmAoo|Xz>la zD{$KHDyHg@BJKRb&8Zw!=m(jv;2oz(b(G#g`?=G|7+TS;bZeGo_M^n)T_~U-Me|M! zV%k*+%RSuwLh$A;IMpr$d7Xb@hJz)uPv#VURZ^fO_x0(Qkqj)*nMn3dR-&C57eP)s z1UY0;y(tPQgxfFVq&tq*h@3Ql(Z1LL13e0%Bf=({G4}I56VfV~qY?-SE z$?vQ{kMoq{cE|!&CNTM`W31Lp5gK@2j5t;-q=l!gN%m+Yian{PwgnorO5q{>OnPwJ zTW6}cRt3AHYVl3kMw(e&1lni?)24>wJ-y|mVuB0%l$9qbN2SRo-*_B55=tc>JOio2 zRygI6J&n8^N0PtKhRpN%xImDy9lNaQQ(w*(lHd>j9k{{#yQha6cIDtKyJ&viepASp zs!uxhnUn1&BH@~HHM`+mAgV}Apc&D&p#AYTrg&E~GX0M+bvFafL1LhqaS$!d8qhLa zl{~yy2JBD?E>E3BzW>Q2ueq7(wF49A>ncBs|@V<_H-wwuwEEu}7GGKQCrZg>__ z0#BPPaO>rb^q6Np`|YCzJ2K@NOq6#e^N*B3gt9mLGE)oU^_v;9Gm4bwC{5}_d%5qD z3N&hn!;??kd}P@ZWc}|z#N;iUbIu-C>aRepBRY)DS`REbGtBU}ig|W-DHU;APNu(EgIBhy zk*nOkxb&I{I2!+DI6E+UsvgB(@j|T2>I!0(--i*GGU=9kdf@!6496#^kpCXKkejzm z(Yc@*4GSabwa_@YYnO)mwls6@(<#_8Ue3-ubdCvD$br}?8|k1&9MqrCB(ecxwG(cf z0{@xoaAJ5g*!<^0ZbXKH&fy}yOnD6Ithq^F-;yA4qEbvuxDNi8ZVBNDQ|W(B4rI=a zG5*Y;QSfvPB_}mxX-R@4^$0zL#}5oKm!h77^t5vv+w48YyiuZmy3a6$9Dl6VCl;Q2 zePN;#yV&Wwoa%0Bzl885rBw3ML{hbR9ThmV1Z_X&!>zoTq?r!ji>4e%n3N44!f(R% zwidiP;z`{f`onoK9rDS&0oyG9u`{K|;KI3^xMf*7=gs)bk|s-J%JA(~3P}sx=nr)p{OGSi>;!vZr`!};`}Y}Jn(Iut zu03(1;q031N8r+WkNs?`NEN;H>DQ61=pE5YeqPaHCiiI(+02#D*_T54X>6%fyv2M7xBOhxV4cO}$i|Fy<2&yu1EiKSRunU?FH|NB|25uJ|&+XeoX8mNt z4c5|z7jZD(ays3SWQZ+0uY#VHEu$J8jElXr>53aOY5bi%_{IDT^}%G`%|fQu>=o)RNCDvyclEFx8 zxUz{vtbYU9XTJ$dx%>LFq(JtL-Y8aooj|^?@&bc5mbiPOBys({7EPZ`AUVUgVXxEx za{EAf&}=Qvcd?=&6T?W!1LW)XNKlhkQZRAiZk#N)p3YSlrA=DNuyX%?bMl^a6s&M4d$YDROcYH-7xH2e{8oW4t1Mk^P( z6AeE(Tt0gUvl~^R>|ZfyNXUf!bGOo+xBtLFy&UN7zYJ#fJHYfmj$3%C1J|D2fl1>% z7`s)P)Vvg=xxW->$_oeb$zl`*#w##BjUgL8Z6xh4-RSZ+t8vnzgXFZv2WY4~#3<+G zL)@2E_UV&m(ADRh7ox9VlCTaX8q>&UZl{{u)QUUY?9b>`Zb& zDT_Y6$=$`a6%eO*9eVDr6Y&ZTgS!)RvHJWYIIJ}f&FXq!pV~h7+P@HkpK=-RP7z{S zph(2NspEp^a&z0~5~ z+=GXDQ`twtE73=!pV!pR&BRVFN8{=d*!S-qh-o?T%O3TkidjmXjA|eA*=Q=W&s+h{}a3s4r6>yg55Jp5_0Jl_oW>0VmMBH#@bP_M)gU*HQ zE>k<26IF~AjwQ^bs1=+C(~ZqLhxF_uDK1-j0L;3};O*f=I(ATu)JPhkhD`#~CI5l{ z$Kw+opOg+GN3^l=z+z;lLJ8WZ_M4RTFB zitD$?yXa%~_qc~$EpX(4*!E~Ky(nr@5y2F8d z^SR6~t#l#D6=DQBx&6*pVG#9BfpagI zk|W{ga7uwXGH0K_g6du5zZP%skWNPPNp>Kuc>$waCzDir>AJAw_pqo=1R82Bi7CGe zhs0G-k?z4)OLa*>^H%(~|k;}1HPF-uLf(dpcBwoN}B zhWQKVap9xzYIzFMzI$-9JC1nn*F>X|1UjRN^OUEw)$Ia1dg`@0s_b9EJM6z1V}~=4 z7uN=3Hq)p>>JetfnhM@vN-y*5v;-(PonYs2@jcz(SB&ocr*%iB*0LwJ$08qX_cr@;;X@Gr#`RO|5UX6(@nBvN zgnS*wuVu=#VMYQIB+SAVg*FJ$x{l1j*PwDZ7~O@dv8sACs9&9j1G8q+I|5h8E{~az zIr|_ANR~5B*5i9Z6uGFm8ucapIF@N13|p@v%R3oD z1k%_CA)K?LUWJNo3nR`Q9<+7&EF$4ogm+O5DsPFx$QNUfHB_RvET>_Mcpy%gXouZT zCld?(t>pfo4c&cZ4pn+d;aK@$&}FLaRl15syhvnKbj9H8`6M=>nPar; zs*s`TSR!TL$WAQp=ka%1L06p-zLQWzja3Xilbepa_DyB}ZLWpn1M2jxO$**CSpZYh z#ffus53KvsSu zo$1ZFMQ$8nKX%AL=(T)U>hD5^W-p^x-wd+Z3<+%#zM_>X~-#lfRU$z zXkmyccgL=R;|Zn2`m`5aVZNUgi}u30vJv+5xFU44G~vJO4A@B*k;;JtA||<>9uG32 zZ@&xEpbtM8X+H;MWtMooY(UO(8(b755DUMBqZTuJ6WyTq!$NWsI~ zW5Dj@CAtkm!0W?*Xd3?XS{9Kb3L5&vcGEeu{yLq!({zCLGe^PQ(}z0k2qKpg=37cM z#=xY00g|wz0g9oXd3S0nZIqZ#z7!~suMLA(MCXyg>$mDub4OU0K|2^;n2f@YQed97 zA<>boV=We|(qC&6AbiM=iuQbBPtEmXPYjR2s*OhEv!NjU@*<8jup0FEDN8zEJb{el z*^^_=YA6}E4u<<`;O@*p_J-STlC9Ii7ZDev9x-J&?GQuMEVam3-aFV7mB5TUNYbRG zlR3VyF}mGZK;EY)zCIR|0@LjX}@uFVk9KaoQqq|d2n8Y zKDN0}nCoiHW=~GoMr;)3!q{#L`0_)YWOh}8Xnqt<_)mlQ+q+O1yFx~Ft}dxfe}H>` zDBzVrDSE&>6w{9+f@I7r;(PKl7HqG_?bocR^t4Ar_+Jt?DA6PDmmeg3Pgc^t>jGrv zbQjJo6G4&*VQ#c%BhD1WutQSpRILjnplXnN79t?)Kml4s=+Gw&*C)7JjD2Gs5dK4s zUDSJ%`5=-(#n!nIrNmw|y*HiYCB>5MUpXi4kQ=+^Mm+u}pbQ1M0@T6Fie%iFKn!#= z3DM9ad6zUvubd6}V`@i6(xu_XUnv|Fi6PflT0;T%y{)TBBPX~Xr+1PBSy(lf9b2^2 z@=nZmC&w1DX0Dzv)S?T$Zd2(} zeHG%|UqIDMWOxgWooR67T#_*!!RkrZ;ilH5+&NH{#Qx+QK4O=781s_*xy^A#!9wyo z(~w?YEyJvFc>nvjJlmVIt7P28##cbrZ zOlC-L5NcB=(?ciE@kI9?XY9VnP>xJRnggRjyYw_OdYkiOIB`)>{h35Uyq>+kve$Cr z^-ZKPhDQTN1M&Euhdk2^3)w>IRu)H#l6@p(+I;*a zafc^n>k0Q>QEN=lDH$POX0JADDMw_izz_b$eD z6Ve&J{U=y<`5U{g_c`k3TO)f=kJvXaWlu^i#hU0!*7AV>Eq>_F{uD^U$(N0Y*`Nb) zYl)#xE5J2!;$geA7n*)7Li$wmq6#$MfkJck4Apn3&QjY8p!X& z_Oxv<|LPJ95k3eXFK^=D&4T!L@=aFfdpsU1dW7i(m87D@84tvL2Kz%Lyua$2UYvH%xN(QjM&3nqaM8c{wSRCIfT-8UCHY=)p*D80q)}4;!9y?SaVkd z133hFh0@12uy0Z2!RA%RqHt%41`^PfS zg>~@7WD04tUdO$oH&OKSdYb)u0LqxdP@0v(9LScWExMcW2X3dA4#|_-mrNN+(_o54 zHtgJYZg9tZCLIlxrwMF9G*MgOP}( zQvccoWWeh%`Jl-ewv$|?=q2E+SHTXBIy`xR7tL(|vzKwh{O)s46 z>%vU9$8me-3em4z7Wu1E8Z$|+7SdN5!@nDU`GF<|G>9=LEsOJ@qH_+7FS-h^<^d9p zzimC!ms}P;&-N6}U;}N+;NcGsG>UkNDWaS^aoQ}Vx`bh^LS1N7{x}HTEyFmsA^x+T zWJaz0G%Q}^4IdoT=!cGjXn(l|zCPZ`tl3%%VLF`8;Kx%h!; zGzVR0UdH7C`^mp$rF`daX1op6arEP&)x_FNlcs#yhQqTsuKThe&d(ByUq7;Vr^K2L z8gktOsS`}O=yI~rG6hBdNpYdWZ!mIrKX^+mg8Datq={z^eaCa~*J~rH@t4c>WG|#@ zYfRu};X$6-Mb7vAWjPc-nugE)#Bip!JOAZhKS)SBL0_Fj3Xm+(zMrc#P^&AH5jucQA1pB z;RfeSO_PGHE4evZpfg=55l)ptC26UCJ^Sv@IO=;luxF1O;;#itr1+*VKJMs-R1Goq zI`0>n+Wm$ZF=@aI_~UKMaLOIPdfyZ0FcK>&**!)`bq_W%6kd z>Ncl39^C%9{VZK7)5?pf&?Kjg+d+Szp8xoGk7e^c0s0jVW9efr+*RlW^_$jG4{0@; zT-b~!p6>*sl-HoVm1AL@w*ap&6WlvL2hSYu#6LKhZcsRZRv#@$Qs8fle0YJG*DAsq zMc6Qw)i2O>RGZu^)u)%nobi=ZBBNHE20PzWGKnJlX!kA|xcMQTbbWUO_2w;PS;BWl zMTyIem2G4W+_(lVmWgc8qop4G z_kTIqlD(5k-dTjF?y1xH4LzvzISk(m9AlfiGhw^%9rT^E7k(;kq%}s%!K3~rZsr`1 zOFjgp=Rq; zq1arPcwcA+#`7HA*cc1x@gArZDn;)EXtRQu2g&8Yaem?oPju**Lk{=efQs(_FyK`^ zbz0E~)l$D;#eq$j9kqgN>^Z?#Q)(g2&pH2*+HAP~-h@`$7}IO(!&vRx*LmBUwv&$c zpJ1fUfh@0o3EkTcpoO0+ELi)KVU-@RdUg*%e#J}Jc5*Wg9d`kTt%`UDJ~EGkL&$?3 zO}df$d-Q{vLtD)R96Qy7_ezqXRNWje9{S49tGxv)75Z`i&pRkE^l@mEzeAZ2jUCKNjHwac;qCW2$10%eth(* z3tOCWDGjb4r_grmN~v|pLWioN@c-dC@%KI`?#)Q2m4)cbel3NkufBcFHnz z%pWAgJ}@el1!O$w7-;_Get!jKI5y1USNnX{_36bMnw* zaXQcA!AqY0v3lIJU75Hlk6_M+g{*Sx4)SZoeA;$GgQzri!h)iYxVg3)zurFsKJE>? zlf%==q$Al(Z2x_*-lS4@Z*zRh8_N+niH7tpxhKgwXK9DfR(91cF1rx9qEci__&{fzuf_ayXf-y3~N= z#cr5f6HOYLjG^YfJ$s-u6u#WGrz6)i*=b+R$lKgBC|(o=3u4c*yYemY(9CKOeYFF& zv`{>Jn)8tle8GsLl$Uny9)C?)C8mnBa=hgpJhSRBUwx7##)ZYQ<0X5^gSR=b*WDb# z&K96foEh1vM)B!Q5%SUCEF9n*5xSz+>UveUy@&Z@*6WcSGjn-9Twke7*PU7hIxqqH zjpxzxo6~^z*PK4P?gW}cNmOJ@Io8xP;-;x0)WE5mnO)8GQ%z(@Nh`;(xR{1tddGl2 zDH$ZzjYH{iFFL7z3KQ|B5X?Wz($T16ypwtIaK2|X^j-HLOKn=wXgn4yxo=P&=QVtM zT?xO+Dv_mARx%%puJUD){(;$}&DbBx<$Rh#>2vox;NN%$2MmySGWMAqY#3K zA^gj;AV;`P(U*c;Xw>B9m=&Vr)6^-9dub7#@sEYf&3TwMww+^6hu3kw3Gwfi4nkQZ1HWRf>JJ4R)lHAy}1rGfdq2&279&*|9 z;o9?5=*}|ek&6P4iQieZf=bl5v6z?)-Qt`uZlp@W6~6i!k+zXCj1|96nsc1lF8Kr; zeI-t2oY+FLMWbV^#^t-Y-6K5RPo{Em9+hhAXHkNW({8` z@Eku+pwsKR5&C^_fO8ztpQ|Bi_cS8;%Feeh0NvQ{if(KDE`njqa;X@F&{sC2ay@*!1!h zTbnBkA}fN>Z=nYkdKnQ{!Ez9cNMH^>Im5)I19c%yGL*>@Hqy>WkF_0DBLLT#Gtg3sCVHi3Ha?w z8%?!nz`09srhP9twP6COyKxM3>1Q-OJe|%rn8e2XmZw7P)?AL2<@QL~q~-Elbe?WN zy9WH&JQr2``cr_6rS?NnWFancsKyd^O)RhchMvQbNQ&dR=kg-96uyA^S6OIsMwR~9 z{sYgL>OvcLZrft>tLCI$As*KY#kra@$n2f-aM-63*8dY^A7tM~mmE!0?)nW2IVTA- zHV?!eOQFTrV$yUen%ALuiWa(Ml5Iy`ar@*xHt2Z~*cM!88+Q3JTg&8$c~d^KVl;R1l#(?)lpu}c98Hm;=2X*5>D>Z;dG<#v&HV^i4jWTHu zy33aA3ngV6!r=OK2_|jwW+={TVdYG9&|LBWeAzdX2D-U{|Mz5k(O`=A0|iN0cN5&Z zaf6)f7{*{9AX8SSW1UD3ik*oEi4aRJ8}CnoGy+M#k0`yr?;<=i&?GLJ^KrhgB>(0= zKJbhfc7c%@b=)aP-lgZkj0iVUW+;x&h3vs8H<1p7Euk9aJ#46>F%d4|{6-m*X~or3 z45Lzv{1<|B`6VtR75D(&&*2ksQ)e=2IE|Tcb_R)AVZ%184`lWv9^gDym%v?Dm{(ws zi2EXDfDE&a{%&aE+!wFeP4Bm`o@+$$U|JSvubo1NkN;#NMs4Wo$$xR0lsZN}%Ht=8 zj-pde4VsKEqzdZotf0CkeJ9d|#o1i;Y}kPm_Fl+}jhxUzfm~7Io5aOa~(88IdMcSFCwZ0UsuO zf#C4<=ss;Won7n?VQYS4*~wh&7McwY>S8capc}RR*wY1RkMY9K6*O0Q9-bEqV`g0y zMv1>yVEM*$99LxVi~JKRT`5X#@zUW#-~|Z3F^v6Ox1#C{vg^h=AYE!InV@kKE&iMa z{tGA4eX#+=X20ciRJhU{gTr7MYsTK^C3DWuEOe;83Eg3)to7_FaK1JTUir$C>a*`5 zzhME|-BBX5i<2<#pDt;+(#1Eruo`zChgmaXXot}e*5|7QeJ<=kmHca%`y#ch z{+T6oX~1j}A~%nWtJXr1=MtKHN|8xWybs?tp2uj5d)W0Lp0V|GqFcNZ$%oE#827Ou z8>LOiieKC5nV?L@0+Z?O3^D3g4D<@u1-e(NhC%Fn=E+zyj{2J5I>&1?O(hvW#{9#| zAR{LBOCNZA$pvk>Bvy^?h5r=WAUS>%j^8z;m#1>RkBUf=Rau52MlrOU{fqBNI#ttr z3KKTQ5ZU=^sH`6UKZ?#f9;^3_v^1W-`Dl|yx&;#){eg7dMxv8xx0Pcde&U{K2s%F zgMxki?8=?8IQXa?cbf>1N53Axj#*lC_NGi)wK$$kX`e&>_&1?d-ynPqxrffD_v6L; zcj3bjxBm+EWHbiEX=ui&LzBBR*w9IYsgam zL~8u%J{)oS!uDKsB>qWq#7~>^rLeu=F((r?T0CS@>;_Qck^w1onm|E)dsn z8s@D%jBZwwX;Drlek$=togWS0aN+=O`1UW37hi-ZN!eZ|E^!X>6>j6;#AH14A`=y9295ME;xc=Z zRA|#|LMHMk*)$oiZIR--XItn^Zr}c9Q6xUy>p+`kp69R6FX0$)TWQa@5Z8&7p;D5$ zuzcH6ZvOiUmU_pctT>cUCgFvq%iGSu4rac zK#!1gFsnBP!H2K#eP0?(pDT(o0V~<#-1&Rb-yQ72$Ggaf=aNLEv4Uhj%?F3zpJ*RB zjl9#4ri(y`KFFvA==P)Y>;j3KnKCi?Ay2HWm1*9bkGQ+|5ihJKn#!L(0@mT*@Ok-0 z(lNM|O?c2mk~Rp^6>1a6ev>^oC2AEIt&AXxPlbVgb}3G4K8OKXesHn$3+&$;Le4!X z21^SWa_U|J1my-okzFX+c)}SL?Y5!iGZPWg?}JV5Ss?pF*!{EnaK#)Aoa8D?ww_)L zRpza1vBiS6f48_^_}y*i*1xy|!lt40iSJF$9kCuVLKYC=SV4Nd)0mog9UOLom$Iat!4u>?5xCu zDSrW~#_%PVWeeR{hh38+L0h&1T5=Av+X80LUa2dvD>Z(rHqI12B(OFcRq*kfIcJ3^_;lVrDk*`3n4sM}aL#&AMHgz(oMT!j>}D+frbB1B%=H2*tG+Er4zD5^zmg3=omnK!F;^7qZ0n*X0wfFoMG9OyI^qp zGP}afhTb`6K~no-SiJ#me(2}GLY)cT=9uKF$}4e|tP#u$a$$YcJ5c(aCsr$0Gpt-N z?h4;aj`TXwb4$NsuKoh>&c4raiaL31f9BwiYp*ci=^;iVGN0IrO(T1kKW6#WpK!|C zZ%lfoI@4m-k1h9)Lb1sX`dEA^HpQD#FQ<9zU$MWSDJsWbHl&MdOZ8}wZW2k2`N_^d zb_#1Ng7JQy5M3^MjnNhrrZ=DXP~~84vc+%#yX>JJ9J`eX7s@>FitIchrdh~ylMBJ^ z0*Db?^@)F8BsF;cAEf3TT3Oh>*vJ0fm-)1`T7*=o=E0WmQgqjvN{Ed&nOtv<3Q?m7Gtls*CIXG{eK=DHyyXkT#BPr`iD#C?7b9?2UFotEp8G z*mD7e?v&D-OIyJ0VgoG`(q~OFmqCEN65SENqpGt{;fCrGEZSVnWz`STnI>XPptKZy zG_)TUbGf$d9rM}KbqleMc?$Sv2@IxnLz7x7Q~a)h^)H-4pDC4t#9IqIy*Gub>bF9P zvpW6q&6b8Foq~+KIh;=;8ZQ0wVCK!7L#OHFx5xC%K*cr9pe^475?p68{8c!jR53Fv z&z6eS=A({aIn`R8&X2x01?59!X-MT!oVweMq^vxPy(wwvRVzt5{cOmM8K2Sik0^18 z*$u&WJE2f>I<2uUrZEp)z=eFnP3w$78k?~1@o{FsQ*JL3;J~bXXba6j1!#KuHGd$y z7YpB1!a~_UQ0KatOs%~L>$4qLbG}Lyl_RgA?9V0S$^9ExrmoCZ%sv63L0pPO?I6kdVMZ#;Ub4#?(n+y~I3y@q zp*hq;>jwdpN;wV14cp<)>Tpt{w2#c$DnnMBPa%ER>v6?-Gh9AtH8wvBCEvp5Lvoca zu{a+E0S=$pEjKT+Ux#FgK-fnNd$@qg26OJB%vxG-cNnz3x$p`(N5yRgMH=y9FUM_A zMVVq%c-(ITALAS0jmt_T$IZ!8k7&Ytd;oSeTI6-z7{0X@BLdg@$%KY!?Dj?%5+cEM zwJq(*!s{yZih(el7BQVHvYJEYD<0(UZQD%GbUwz!5ze7peGB)PdruQo=@Yf@8Wr+Gc6UaKCmUx>bdOAL(atb=2{Zc_LsGG-2pqiM%nbM3N-M- z0P~?#1v*lrsq=^iG4lEeAHT#y&$=wqR<4frr6s83`xn(Ym!FT0Fum2VkO#c^|f!|KxYh8w8tyCFJZHcUtn%vwg3D15J=lfYjbRc>jJAX$cr&lLR%vfTsDit zct zKe`@no*QQ~<{e^sD`iP@K@xFlZD4=cOrimAMsaodadyx1t&COiOL!7m2eFG+;KT4_ z@XvVzLd}iny1U(8gO>qwcN>v~iO2Ay$2_JA#M!77vIz4XXx3wGdO?35l&b5H;lmMh zUFIx0?_Dl$d5{614rolJPTC70-#nezk1T+s*Jp4z=mji~J&0KkMgcueVZ5>d z?Bv)B@hb$Vjl2Zy|LI5Odv7HUJG5x5-E>BGXCQmqhT9QL*1@yNJ5fA0g;^@iWi4cD z*)LOBsQlfDVb^`&!VLq`QLKahj(NxsWrn<0(yI|^_Wx;x;Iq>@Fv30aLzZ2H z*`90Ijpsb^ySy%Bce%rCivi~C4GEO}UIEYBM9AEZl>o9HbnwD^yfedys+CC6p`IdE z!Ym1*-=2p%Z;Yuy;v(YsDGo!=mBO#`Byjxa1Rjpk_>Hf?mS0&wH<>=e-okyPc>WT8 z#}t+=nsF2(z8IpkyyRw(i9FW)xEb2Xr=liq!-cUShpg{3CfjyiV+Nv@(9Dy|h*S4pa(u^H7+>)b91m=S?Dbdi z7#<|$%3k=Ng9`c8Yf3|Yoxz8*l!@poJ|k|gO5ev6@@$SfuwUdA>Bc*^n5~LaY0ioq zR^`8b*dLvM)%|A?d$O@y;T#GYn322kFF^WmB^aqyGuNc$A@<%vFimtpqo= zxxS7h?X@$<28wEz5k19aMM_}h0TC)#W`yDcE~xuq6vN*O(107A?Ec@!5xTEZBg@IO z!72*1R~lkyfDq|Dm_Sx;)}zz&5-@+c5}K7g#A%5UL~{Hxw?91$UjI!XI@)`2h)OvL5-@_$B|ig_LD!IhSbx_hjgk+5J~+{Jc|J#QhCq=SJnVq zXYE9fAKeSqN9K_sXHAg49?z`(FOZwLEFh8pInw_eI3H!KDJ+^vapQ0?H8q+-1pB7p z6Qz169CD<(0xjq{HuvMI%p@;GwQ1q;_K>$(St)4L`D>ZQfE6H`WQddxD74 z*kZcjl@WY7+5;O(_QGDxa(Js$iVv&=h^VR_D>30U&YT-dzLeTPL}CC`4CmvUs|(4J z-4pTCLrZ*-^b@5kY+#7Xdn(U<&tKNyPpa20qiQwv5F%X7p}IS2v?_~O0;bXzEp^%dUKUvD~1nsyA7hPiive*v1P+-5Z@q^OVT8d$Qp z1}HC_1ZuJn;2}#lL_T7kjHI!Z-VN-F<1-=bA2%Nqe!_9GO6bEcJhCt|inSH|4EOAp zkfEQ-u-AMRojGbx@PH?oa`r3E4=m^XG|7jjikpdCU>EL@x&+Z*l*qukJibfkd>TIK zCCvW%1$@Qd;=j9dsajS7H2mjB{Z2hc$5X?wIYAqJt#g>*fhTy~pAUPgyOXjJ-FJh!|K-OhPayMBPS6AoO)<2T%OcZJ>)FYt(*GjrrtDcp77@ zsoPXlwyJtJY}(^TEg$vpDqABV{Aws>92;fo6eQ{9-fv)RAVA%BJ%R777HAN^77k7p zqyt<(po(+sDm2}Li5m-vQOG__U%C&C-WIZ-s#73aehm6XyJ73oEkG`&!I-!MX+F%c zl=XMu+BcSr@eCyrzT^bnk56Kh(q>THW-on++l13YuGlkXsI$CfQ0hEa#t zpr|B8Z4(RVB-OKcO-G5`x_y%kpV^0_1*QDbtUDO+GZJb%hf!Rl1bfT&Lh&RYR`ARo zvA+qSC3w*Du!7*Qd z8szZ`rtW!2M0;!SNB4T_`AUu&^s8g=6b;sY`xI(p*9^al-HFD{o3zfF%aBex$cp80 zZb-u=1bVFTm31D9zuZn@jAT)z@-I~H5hEsn6A07lO5exYL%g#HIy*_x{;!;ea44I4 z7IMCo>Pw7Jnm_#B^^{%f!+lo=<`CD$)986vmaPBzgo!r!VINTY2i#_Gz2O`=&>8cx z4}7ghXJxJ+!yh|Y5$}7H@Z-CD*QZ&&lW?_w6mNMBlVzICD9e>>LqC zzHvXREy3O4k94xH|ve2CX2af>2g zTihTj)Hq<9SSDOLIhmSllqBOXCXsXU@#K-4DHaCX5(Cra7~FZ1agi;eXQx%5a{3}D zxDt;qTA~@J=S8S#>BG+Zca#wr6XpH+dH}k8USjcvI4DxyNHf-*sw=T_IFUIY zAwavO1ZdfnexAGDNnD;=$a{Y88F=sW2fJi1c*vdSgeE88wp2;FXI&$%%{qw&VuHlm zdo>0x>Hy{P2_$ChEu;VRI<83a0G{C(Belj8zCK*aiuu1`51Hzd;dEiTFkh4F4m^V8 zg3FkB%N$q*!9_%R({5Uzx1F@_ILs@UUI{+_2bc#dD?!Eb87TIh=H?`m=~;zUEIlYf zWW*csfoKRDa8iw2d)tl*)7 zIX>wrfUg2a=(maSIB?U24z29KjhczjI#q)>Ew>~=hfG0p#Uhd!JBd!*_z%jHLs0jc z04RKvf)NoN=7~=tM1?P)FM=~k=cGealIxRsba5`Uy~<=|&k}y!fsed1I=Qeg@Cklm zCWFL-BHSv)dB+YMqGHDQ!N;!UZ3W)1B zj{9gen@lr1ih8TXQU8|#wfQ7MKP?iXzaE~04c8NiQ{q16YHtRPw6Db%XL6Vzz1eh4 zMHQW5_=ssS)}bb+?TOCJ5A1?TZy_T-4xSkvhZ`XqAkQ!dFC-kMc8{mSLo7L`YD+ ziVi(U-Z6{$+hD|c4;<;sCEB0$z`ov9n6p)U?JNKGh_kl=4d?tJ~lfJDKjAU4=>yjmd)lwxPNYA2xBB@RW@G@M|!L zC~PGpW?nv)PrePMpLwJ}#SsjJw=%s?yg_+2$08cN32ria+)iQwZ3&JhrJ}_c{JI_T zOe0=r)?~PcRUDS^T&nmd* zILBz4+X|<7iB#cBAMEk9;1i7_=+`Ao6*6K_Dr^T_%s-9#?{vsR1w#@OYy&})o|R!%#u07#qJ&#j%Dzys4fc#BpUF z^T+Hpqt5NG>JRro>ZLYZ@3DdmE-vO&iW9Lr){3r(zRlcu5(FvdTG?fjro*Rf5r;X? zAHZqLr_E$Qx8!gt*(&`DSc4O$P9R~v-LJ&xaTly8GuL~N)9`-ANfTMl|$7s>y%44HQ% znhk3dB$vNdK=9c#+_z;7_uOCyZzC}pM#&Ee+UcQEn6WV!{ug51mv)N(P`GYne?O~=X^sn;*S z(|rx`tJWv+C+%pK>}0m5G0Cn&R+Od}eup_`Ce->^1zTwJk8jVpU>OkxkVoZZIUouS3KrW^31QY3|@0oc5I25a>BDRU|1 z1bgo=_LGiz8Hh@g7DmTF|?B^;q7bx1PrIjGb1bL>^MJC z>Nkx9CLFLo^X@TgqcaD3&++JDj+-d^;~6wv+zIbOhS=5XHqz+yc95L93WocS!dka+&*EWLHEkTkhjmHMZee=vwF}fIegq1%t!MkOi{>Pt?jXk9 zR%9I2XOYp6Lrll7A7~>dLNqT;gwgx}`lnokp3n*)d7r%yvl7^ei;eKPA~&B3Ok#RO zxY>uLJ`EFNu{P-g?vhd?6##Vb#XT4gm!!@2R=_gfVT^5<1i#y7)9}1vG)n#i)@>;$ zzO;ied}>Z-UQ!^c!s_(r=9}zIu@SgBEt-H36 zxUcyH-m$2ouS;LC{@b10?${5V?=cvObf5arhE;2!`6_|!@;QiOo1x- zyk=F;XF+Yk92$Jc+TOwZ0_w`f5mAS&G-)h^ByR44YSB)(QYOg%^+A{XKtD$7z*2hG zF`NYHnWN6wDb6?H3iBkn*#)4*x)* zl|sDbvzvLv*JJ5Z-W;00x)jEi=CUV#9!5i9OS8WMAf zz2VeJKXd-r$&;4T2PLOz*8QzG$-0sC%{>lFJ=V}fQx)p9dnfyedqyXzHsMQqpvqZo zSpH0f>jK_nv==60bdU>Xhn|Jq(^iw=72?dBlYJ<(v;DnT_;Z*b003DUZ=6+?t>LU&+3$~@}9sE!&;Ir|sZ<)4A_ zo^ z8z+Tq!)9*J{A~iqLk*C?CGU%1Pku1{Te6oP{wGeP=6=U*f{z)e99a-6SENoSi(Fx1oROUMrQ2+YW%yCb(Niq^RH~9KLjShtlDQ-_CXoHaKF{V#1O`3SHrYF(d3cg zD`rONWqhrrlVp(a4mQ=J6!DZlUf~3A%kB=RoFa zA)&cfiF!>Hz6m@5Pr}vdjI)<<$Gm;Oq{R{WA`@6!Qi2DY*HV*-yXc#m3_9RqP2|;O z>8yEAvFY_YC?S`ae79~;4r#`9KG*R=w>6#9X3n{r4?u#FGP)PXL%z*FkQwR%_h1z= zOJ0YVdNJ50-2q)hgL(a3jfs`zm_h27d22n@aoIKo5{uu#d|8;D7cHJEI7mn7zILHuoG16Nr%E? zid6edK1@~G%{OU{!UOOg%pZEPJ;^+J`{rY4((q$G++RSVCL~f#OU~_<^Al=!W>eo^ z#`K1~50|Ari_wpU@s7@9lI^HZq|+mKg|&!#Q(S04#+&wrivgr7%LzleP|nsDcIVRACJ47;aSkp0SbbXiO= z8Co0wr;H9UQJb@AM6WOoztC_c{eOTl60)8bMlJ|Xk7|8@7nl&(qkka|| zP$vN~or`dFVFBBJ!j8-qR$&fhdC|R2QDlzkaX9<7AFQqvqxa4NgzJx#P|ItN**1E z!jHaI^u>%ccA?IB+Wz7OvsNvhN>8#0B7jmiy^P12d%$d` zBs1yi5fZ|;M?tx1G?RJ4td{6!VCi$-s%@N8jQA1Tr&`44T`;lgm=3Cj2Vhx$91%Le zBbQ4BFk_kt?5ifsn-_Os%h4b-i~=l`lz_uE0(jkSJv~2r9&PU`#PSM+l`ebnZKNda z`1=WNyK32ep4i1q+p7i{8x5&Xm=6gbIYT;9X40_A{qVSfC91I$-n8dJy-g*@HrFB_ zkBE|eN-Qf9CPCdjcj5%K<6y&mcJ&|IU}tpz=E#ntaYq<^JI$H|B~PH`ZI|$8y&v5> zcM7D+4YCqXc7W{F0+@6~jXDSBqCdyTTKI4W4#itD6;a+)=1c~Z|A>KG(|=(MpCO*Y z-1oJpf}Fn9!3J@T(uBX0soGyLa?I~AUXzyu*0&Pf<}h?q?;OlKGl5oBPa!v+{KKry zS^UhS6QEPG6W_e&o_D)s$k3GlaNiz`hktnhmYLDY%el<9DdP~bc^;wX1L=!X*--m+ z3Ul^>56!ler!UV-)1rw+n44A%E5_CE(#wnJ{#gPOs|4X>S2mZ!_yy0t`_gU0F3fy4 z51O!gCjL{*r%9m}*rS>c2D*nxa`OxDx;>YCFsQ<{y3errT^@VxXD;4Ob|=Y<2Q1yO zjFvp!4=QU2tqNa3+qmb7QqT~jrue|rVFxXoH?Pg*f4ql-w*pe}wA z-A`86okY9RUiQndH2wb9gPzn9p_)$z@v^A|jqZPp7hmS%&fnXaOU_f+wmd)TmLo?G zJu3$l_iboD@Pj9M>kH0J$l*==atU`-ABVXw4G3K%!A3NBv1jdWqxjA=rtJF#Xx%GI z%~nf*`R6Y1?#LtETSBRiv?%|##vwvfL)mRL9GErNi2P@I5R4b;U6iP*X^i-*t;e?QA44Y7nu^f-rNlKJ$NZd8d*6F+_FKYm8`L zLO;d|GcIm%>~q!EjPFdqgQ;fp!SbEZ@BRsg)2r}-p$t3NCrGrs06?r!X8<{sim1xc{S!Ib`SVB3`mzHP#da zV8;bfVt#ie8QgD%xw%)sDgHLD3R^>;=pBX0pW4ZeX@kQ-Fna7ewcvowoc?YKC9@s_jz1&Y&-GWTn1ih=_sbPwCmEV(uFYZ%{ub+;zY9XksA3a9DrTb z953w8XLgaX0h)f!VYR-u;EE^4G-kHYX>NMwe3iy@e-` zTz11pVb2(sYzOACXEK$#cN9AhByip1%NU|M4MkPbnB)O-DxhP+EbE_3^&gM1H7n-R z=jrR{osD~OU4bwp@Zxa8^I|sa(;@hoY=ZaPrqLsv=a?Nob=b$B|1klc+N7Y_3Z4Bm zVPm^FOi-Cff0BiyFj)$=7dVoW`#s6{jD476dz2l#^$1>xxlpUz`?yqm7C*r%ADc6# z(SXLecxzJYkk4M$XDZ_dQe)gN0I8BTScbn5=&H306znaCKOo;j_%lMBN5%)ZA z>V8g(HLcDDbKi~d;L8TGag!1%#<=0OtYWkqya@q;@nqlNIeZxtg>Es0nEU=YTOsm_ z`LR)!#Ku=Zs10}jTC*OSZIy_|g^Q3@CrG!C9;N#%h48}LYj8M*fG3;y)Jf#nxx8f-IIINB6J>q9ka{KbU!FCKzOA94C4?-Z{kR+*@`S@7(qc%y6SZ)Qff zHGX>;hs}vrBx7?t?Nsumfp3SnZfZAZ-g?K2s#^;21CQ9*O{q+_PX@-u8$!oEeOh85 zO6R_t&$xDf-=XtAi zSJQ)YS#XazLO-T@kpr!&XtC}MI$mzTvK>EhR){2#%{mC`ITi3PXFj!AtdC7Dx7orw z(fnV3ud%bVbMVw+bJl`mPpZyKLK&HOrp{p*z4IdjL+_=bjzuH9j2i~cx0|4Odm#Ve z5fx^axCMTlTE`}(rK7YofsY3>v9NvuX{DKXJ=F&n6da&g4pFS?H+iT$dIb#&-O)p= zfYj(c#DGf_uJ%3x%fD8zaL|A`UF%GWye6|2lai=qxh>iEbTL^Iv5fxS-3FMR0t1ED zAit{8bd{F4e z4AdN^T%i$Ejm5}`DVFqC^Z+AscL+v8JlVpK%NVrBo^mlTHt3uLW$#;%=ifr9>bfxQ z9+-rY`F}xgzbG{g8E1_j%7IDHR#GVBO^qfR(n406{0wU{Fy>mUh=1(w|OA* zz7gN4-m(vCRi*N5B?<0M!QCOoR9G?u9=$q;a{n?}jf<(g&kDt;S742{VN#eQWKR!B z-)667T9R9m5p1kRDb%kS!Ij%enI*T5vX5?PPw3E3>x#3V*x(0Iqh~jsc%5Xt!|< zocFj3a~5l%z3OAk71g8mr{~>(&kA*94J|{pArF$hU4=OQWzjm)lb)L3#$-L6 zORjZ&XN%mOAvO6uHu~SdwOqfHBZROIV%Z~DIg5)I>XSSb&iUE<9C!H`kPwb} zx;5evIF1|9_%)O18o873IR>blV*<#ZJ@uZ=+0q4d z0!d(bNQbV^AHw|NKcEw@NFV%|K~$R8koZp-V7!xsnL%67BVL33=#_{sY%=Ivu_!v# zf>~U82a4McnOMnWacZ}<^Q7BP2pySHn zR-$C29_{{E&t5(i$O`+dAm(N>sMBj}oTxPd-)2svN7Vi48)F~-jX!==XYU!C zJoJE>e(n})K4~RwCa2I0Qt6Tj4`7#D0(-XhEn7GKg%R7CPH(Uy%=CBz_N>KXIBKX% zXaAap{Wm7DRAUxgbeTr08ssplTmT!wiWo(689Z(_&P=$?$0=p=P)o231h@3#$`&(v z?#5+USsO;e9WA6ilyY3_#x=n|@g*asY==c_u^x3H&OlaJ7n$r;Ss%vM-%;26|*1QG1= z#>-j`5Px(M-y%cZa`?F6QBqaVg{JS`Tf&KKl={g3 zu6!GQIQX(}7DU6-tfN!}W^nW5@4zk+hLV?VAf%>1%K9QPZ}}q7oPD0U2g-5m4HKBO zDH4BvKSWI5M`Du9dPtB7rY%$z1wD0*W^KJn#9`=V}iaS^8n zJD)>?c{=D?Uxyj7y%2qx1+ifUXL7ulOuJ27$0&{L4G9K!nE+V6eLr(#hXy@hXAk?X z7m|N=O;EEUh3E*Khhr}va9LjoeuQ~H)YLoUHpyUc^i!m%itSK+>kNLn(*@JED&c-^ z-dTfMq(4rHEMF8&uSovpa(FjEV*C`n)Yk)F&nn`oN7l&u{F;4GYQenWc)tnVi|ODX z1AcX8uyKV5>ZVzdeQAww?$HPK+M*~7a1S7IX=fQrl`I+oR{=V(SjZX-Occ)ThC~y$oh3&5LGT&Iirv+Zg&sn>^<7tHC4k z_^Wy@{M3Dl%?={?db$kWv*6tJS0?bQ()@_lo*Fo;d>K<*lkL0Lm5^^uI`Fb|2G4Ur zC7$1~8JCzHfW{sHs+S-|)^M5leMu+Ts}ucLZOQvU3!lKVf3D=nH_FU+eT|i7>D0aH z6V|@ogW_L5V8xIt1PE8cnoIv6?};`U+HnR-{|h74pQd1?lmiXvxyn46J&Sxe;R*NS ztN9@(tTClAg*g7BI8i{Hbyl<`iPxsHhLHj^qC|nuih{lj1Mt? z4pp%6$0w4#oG08h}C8W%Ki2v%glhS)?X^@ZzrAR}GhLvQ? zN>PeRN>oUmbKOKkgpktG)F6eDRPsB&fBVBL^*ra?_jP?f?>Ff0nmdnDG^P41<~Dfo9-_*rww6yXcI=4MYG|Rb+FCoFC>NAldjJ$ zptiV{_ioS%f-3T1RPHjF%N@0@hG%vnYJ~Bb@jBMjym0jADrS zZs=N6O8LS(Sd)4PwM}MW$=?USKlcH5te$`lj3lX@!@$z52^50Nn0T`_wB}zDx#+x? zvM;xzm&OV*|4Q@h8O{B`li@vC{LHp^AJEgZR80%fXm ziRH$A+#xlE+;`swUemwA#Cse^XJ!UothqoMK872pn&CLUo!P z*7b6Z^fZpocsmvxI{sqz*f0vMHz85kTBK7TiI#*6z(zlFM!dBX|4p){>zj1QW@UZr z$VoeKVQ~UF#c2^s1qt%va2f766wP);*Mj=NakjdBIVr#T6pgBrpl(q#`fwQJ+0&=d z-MI;{e=v`HvYAMN{nWS&hB@gv&6$x{3ou*x1&5X%gU~A_(BYc_C%dI-{q=k>5A?ti zmo(-`0LPJ_m0Tu&BG>}KubcvLY2Q@Gtp_jJywazT*Zf5_$EcMqd% z;RIswG7j-nH*1wIPc~J&f^x5o)GvG<4D6IAh1J&}R{Q}7XJ5iIek0IPy^x*Zr$ZtJ zFTggZd`KCa%Q4bvkW9vr!vu2Tami%lPB;q z6Cd|F6I@kqj|pEl)337k8S$^- z)MAApQSXdH16w~@dE*@}y(9{g?oKE7zkTFIx@{v%I41aPj)P{O)(&q3Y`MLo3SFe3 z3%LvLV$X00t5&)NgLfsN^x!gLth}8>d$coWg$-y~%plt^qZ;N0L|}HC2JKFArf;nD zsBPYC>ONM%G;^$)oZQ*uw}&1pu3G?i)#u{{?z{O&FpR(Qw-Z@)&kT1orqc=UK11?N zNs@kY8|N!>B3EoUSL{xITRo9%Z&xSsiS`h0-^RSso=hy}Dv`UYei#_{80O2=!BTh1 zdR#)ZV>mCcLMZMPNrpbF8PKHrl6AG!fVm+FsG=lJzbyC*i={l-VmT?uJy#5-KQ(Ew z@kaXQd=w3qInMNMIY!_i9Ek7N_;a8f!*CF;M!Zrd)pR?_BXj)XTimF50zU{3u(_1XseAO^?W*rg+hsB zuDmk1E#8TD-~NH~IVZ58^*IzZNzxVh$7raWFvRRg!bI~e$dNRN{%%#G$1%B_I8V;D zm11Og!&K6hai4rC*aGpN-0;u&?{IQ#9Hw2Bpb+vDXGX|y8Mt6l6TXB*Nc_XWbHU*B zDH30Bo!jRPezefD5MbYI8k?m_d;DIYt5q@$l#YU*P3zHbuLLSuY0>5r;?#6}D^Bqn zLDR|L z;)^j!b}Gg5u{lIxauij0wwYJ8Ntz6+$idTOBPM7#o_C2$fXz&cqu(7&;riF*Sol_l z&Uc-O6))vUa;*`Okv6va9oLTvhnC~MAsO&~$T8y&=HrA7Td3?imU;b57~h?_0-k1potrb<>?VFd($?u zfnMO)ds$ai=_lDjbPzrdQnR=$#2QJa$j*n}-#y1l`f>vMBl$VwlsbaFn|REV-{mCY z<|mFzCrt~Cb;!#_`lKUcGhF-llt0l~noe7lN*>NY*m%hew@b~ZKJn`@UbhJHpV`2d zB<@)+EKahgEr&zLMj&t?6Bpl?rp=gwWxg}9s7Mbkj5<+`_!1meQl`3Q6UoBM9-w>6 z1$&M>#9#lNg|tyc@M`V{+EFpt@UZ{O^zAV=)$@DJeb;) z6Z|dGw@@Hr3?!z@MuQy3K{}D&sh3OzHoikQZ;CVPI1k|W91OW0 z%|5OwgAnCPO#jb-+{(WUd*VvaV>37RNPLYO&Yj|!SaPi3Yd1LOY#33$m_$EtOs_jm z6Ro0hd{`fjbA3VW3x+kNv+39LNCMS{?$@tDXvPdiQ!oqRY$lip`-1eNqi8-$m#z>H zA?qfJW4l2Dyh+&r>7TNQ{~V4#ctCSx&gb6n9=h>G4P>&I<0S* z&*gZtZ@%AA1P(=3VA{s9(1-Ntgg#@MxI~F&JI*5`Zi=L#I~BIhGNfVC(_w$23!J(k zWpxh)Y1W5Hq-69X`z=z1c76Q{N536}ChK%q)^Q7KPtG6*h#i07iA0c@Cr*45XVXRh z^)eT#5H4l*@B{ngsHjs0+`f1RG(c4ur-mB znMVHoRYLh=f>h_nDYkNfJ6g+2(xX9B$p?*<)n3UC)GMJ00&R?-J6@2ECl5l9Xb5o( z)v$NM2$pUz#6zDr4uPU6dF3Gop}9vfH7kaFH?G1~4ZVbQC*I(s6gg<) zCGve81jzUwWBTUhKEADP4<^a#((2!f=w^v-)G?^Xhr7Hj7>a$Y-o}-p8tK z6|DVjWpe%r3vuE~r10V>mPbOX*YCY(2!kJozd<`esB= z1&5O7FKjV2S_YRWZKZur1nJK&dx_?N8`VlMp`zQ8c)AT+aB4?1mHZrn+{uaD4)_Wh zYr|RByg(d{e~yxyqELHfDbI%MRn`q$0F#JmY^?MY;$8j*U96ALAFBehsT^&R+2;stxy z=Kv&g9Y*72*V*$2TwqU~137e%bB4cp54WvTp``2zUKcsS&sNi9nTgi8#rPbn{NDxe zdaFQP+*4_Ppe7W|F(dc=4NyJv31eb%mI;#5A{K2*Hxt(VVuU2ZG14R!4|DhDPs&rF z@hp$VJ}&0+0g3p5%QPkD2Jj3|A?W`yfGCSpD7yNa>l3SxMPp~#1I8a133?2emJ+HS zyq=hB&48$2Cm46TM3yrvY0kM6JaH%*j)v`L&-xh>&+-jqT>getoBmu%r?1E7kCW+) zl5>pjump+!x5P?e`!Jj|>0rx0DN>a!5@cfY9TeYO2p5lMF)OCN#JRh75Xnh__~*F* zu~svL>v{)hYwc!YzQYJJTU2qm={fpVRD}Mu>0{OJhfrOBXpEXQGOV<)6V63zXNB)M%1ub`_#ENl#RN1wAC|M}!KxUVYAb=vo!=OF`9^TQTwB0u5Zi{A8A_BvwW zWe64Pyz$XkBxxPEgc46CllvPcQT6M^xlGOO|tFlF>;*Q!c18#j*`pPF$ZEVz{p)CvN+xkUo_1p z-g*CEyV!BYNA&_!$mvpxI1_daGT1|Tw09Aghq3<0RMoB^4d-TA8b4@d+y?StQS@`X z&H0>fFT2cl`@NJj&yIosQ%%mvI}iMyrGZ@PEULslL&vYcxn?*{-K}`$jQ(NN`dH8W z%lVF5xs0<@hZxQt2X20D$M(xLsz#Z{VXxtNxuKY>l_+HKr#8V_H zKd-VY_hoPd;WP;Jkz&te>JhNMz^*(3^ijtpTod*Pss}bhWv4Uey*-5MxZHE7y*piI zB}^?2iO~7$jxmS#r9ei9Ac;R6h3__=;Qxoeq5W?o^F&yTIzS$#8PBu|EI)>2hw9Vn{I-pYXioIgogm5aBJksG9>wfddyk;TvzGjNsKCfrS zYb*Fn$q3soDNBa(CnA~q6kV*$$mQ35bjr>^RQr1bi$lGsyTK}qEUW^V2QE1Aq%=f- zD_}jp-2mcl$1LCd4PRKO(53AY$>`uWc8)z`?)xdDHi5 z@0DioDR&m$aE~L4BHK|tBMlN%?lV%U@o;BsH8dG1QzJh$l9H7SVPdXqy*@+qA2e4l z{3A_DY#yV2Tr2$AsYyP~`UvM7WJ!B$GM>M)m>R|2Mp3o}7Ai)wLWkwabh`&At6R={ z5_FaElaZii>5FMk+C;MbY7*XGZh;?CW8p)^b^h7~3(0orKK3bd7B(nuhn!*&B9?j; z?ceZ7!z&${874ymlM+CD@hX`0?ym;`xC_Av`;b6FjZOKt9& z41)h^QE>N9kTMab3UNtvgR><0eD(`I@iC?L?zNaHWs16+qS3o(6}w3780^Y9%q|qx zWZYI9#XpPzF`94_+Hco0vtBJCTPF76Zb=vFueTTWl$ulH+C0d9l#V$?+-IH!;;YLm zsk93VgPC0@V15k9Syl&bII*dF|uMx3_YMHb3Fk-hqSVcDeI)a_oo?D6J?g7KV zPHyIQ3QRZN0otm;j@w*@;GJ{WA_W$&ztx~~xHDV0jy0K)twOU)mEqs^rReP>N}oSv z@WVn&vc3NeyIATee&e2*R)V*oY~~{B;%Y>;RTwaLf=*FOAoQWsK1MNhfYC@jhOM%X zQR_(+Q#XyHo%RB|uWgk5dWf4xm<7}Jt?JCCRrc`v`2*a3C!1PboCf0YZshiKS$c{4 ztg-jYK^h<8j#VmDZEqUm`GvcqyFP$z|Npa)KFoW09x^g7kjw9cVRdXfKF_eCt)IC6 z|Atl6>A{5(CiL&NLelu58?B^jdE58JpvGw(rg_JG z{9|*7k!h8rD{Z*U)$>92qjm|HPP&ViTU&72_R~1vI3Jda|HhkkSHWd)gcbWcktn^7 zpkY00NCfAmWiK|9%R7?kg{hP2+MkcCTu&uH%tkxVR?UYyIk(WjdNz5ZHN@Co+kt2P zJ4H!rGxX}m^8^c{h{Ie#%Gq>ab;b=a2v((aoacSC(~*{V2om0w8RXye$IRbGVY<~m z0dx8;;(GU!+&xQ~{A&t;0E01RZR2*n-Nr-oVcjJBlsgSwwN>bg`E~H8Q;t5)_Csr( zsqB{ISdfrcW@ZO=@xNZ04rxA;xIgd%&eb;~Li=}v!dn&cOw6D6D=m$&SsDcc9{Sik zXF9XD`y|W?IER<5?}6$oZCr012G`Ek!nvkgn4oV$yTpBgXY~gUjrYSZTQ{)F{zMA) z&qjr}H}KU*DH{69hE!Gwk*5)%q<>-;zk6pUEXA#;-ZGi4yCzB{l5N?yt1MW%ExpVw zUpqK!_#I9Q+fWt93b0pGp;o2sq{|`$9rl%@ea2+A<+LQsShAOjO^_vWwh=tdJ*M+OF5>CG~@eSnRcdkqo0ottLFR=0~6H1u0|GDB?&Vpk~lwF&0S`9 z0}EfIMA&b8enXMPPsp#drT1U`1~d=RTt2||Fs|!f3g&}hyZZ^3) zm&cqP=zt)RHOSX#1q9KgD*DgqhZm;FN_aLS?*1=NM*g<_0*6+^dK97^izOkb z{SEJSrx3hCY3lP)g--G<#TY9K(t2(WbUSO|{^lmW%qs~jHc5cPbADk`sW|;CtVYkT z*blRxDZ|MQMUEf01Mf6k!-JumH!}P_)YY${;oN>~;J7N?SC&nF+Dg&&)wVPseG~#j z|HG4sGw8QJ<8ahx3T@rB7Y;j3rfrt`M5bSt`Eh$Y?&y3C#UiJf6DMzh3YAd+z=*Q2{zj`?|7+TOZ zg;LbxPX-h0XoM5L1cE|FC;nXX9{a8L(Try+p?pw*t(imFUtc33uk$!`aPz=Wxw-V_ z!$|f}{U(~4S&iO0E@W@CEfrV#$!O`F0cHEG%vYDIa8EpejJ_ zTF9Ax_jjdw8>PtsZymDu{S;dFdp5^~>gQkH83cP|`yu6NK2PP#L$KAoi$7=xRam$S z<2+n2Bw2+<&fdy*8R0lPp~J|^KE*33)9Khi6E$DF5xh5>l5ok(xJ$6SpzeMj*fFC6>tg@F%zbl70XKJ2nz90?PLshd zE(a&zww`}+Srw#MN)tDmbd-r3!7>ZZO@1z(=KEO_;-v>sJDZt@689kPdMm7&cMDgP zmLM;49=na~rLlIW(Lci!`!}>gUF=o-{jHVFcZh%mvUbP~rO?z~9nxizsiW>yp7@4q zC{bMkKDODg_xEXhWA+h+q<^sP3whMKvj>C|>)_VP4qUur1$E5r!?23!+J6x9Vp4p_b2{jf+v1?7F@q^iF za!SRL9@SSR6I$l6rNsiU)B7qLw#S%k+Bcb6s1M-%&*>O+bQ@6!T}{GzMe&>eT#P@% zkoQWTK(P<#%;8m}D)T4nq+w1CQWKbm4nx(UDbqP!x)2e%YDhLH=irlN3z>m{4}9yS ztGv?2No37PGk9$^CEw&jh+14Sbrl|m-I=EJ@Xl16w{AW9f8j$>`5V~Kzo%>7D#UQDb1I7>EK#P7F{4VXySlX4|LVhQK<(Q4-zi}2A*Ns!eY6@b?%DY)Fy735EhLvXrYYXyN9P4{OwT z8=V4h)}u@8!4JRDK0l34;M{T+dwoI7IGijxa*Rxn`T$RaCNjfX#rXK{9az8lK0cBX zp;dAb^m&aV)#ctijx)R&2Vpn*^7KCbhut&rZmJZ$_<-BLmhYg-cJ;VcVgMdw9s&C+ z_rTme6+VmK<)`{EM3K9rsSR;`>f%fEwSywjoi9Qb7CDiyaZ7S>^CaqLp$Mn<7QvYV z)A$Ep#}n;4ew1d#VC7yybo*tfY}i>WS-+Hhqh-cDa}>z7z{SX{9Y#hb0PV8n$jKY? z&~C0Y94QlKFIbK-Q|>q8g7eD>KcbYm(z=?yvvsGF{o=Vi7{|}eFoGhtx1h;6h_~eL z#Wkbf`OCgCu*-zShf`vS#^ORy+9{1++8WutB|Lgk;0g-FyRv)FA7kf+6@&54LHzz= zI%zCaB*l%nusnJS2_Cn?fm1n9);b2Uw^oAUjrnB7tt*J@et@d|R(hz%jx}@?rfPw) zm?Q2({w}x<&kDV)I+h%lzLCi9rxrbMW}3O@u)q9)c^R-*w&h?SKE z=&A`}PW}o=o+S>m%8sB*757=tpF{jxT}Z>`0#wSj#+<-mlx+VCUgCuyShWwfxJ!`9 zAFkt}Au%TR$_i$U;V>i`31PR%89e;QgjAbH5dA<^T%E{qCNdau)_*SH2ercG+bPsX zqX3V+8sl>MmPl{U$5Oos^jVS?*^;@JwC|dOi_X8q`Ryy|WnELMA!JC!hN7(!rJ^uK z@e70;Zo;tf{jg+UDXeR-B|8V}aQM_B_W2oQIuQmK?e-N^<+v>TI>hz(LZoTd<{_9W z$?fD6L};T90yL;hiL7b3OqV zzIhEHIilpdj2Y?b1Yz3Ze*A51Q&hyVV9U(8iPhYbL zYhKi%qQe&~R{Cp2288Gtj&t?gP>M?JH6iukYVcZo2{_MYXbv|M+!SBHG~OvgH+3VL zGR2bWalGT6jhx5!zXCi_qeP}=XwV6dikN&Zcjf)kjk$KtpF~XRWonJMy?W?l&~!Ko zj`Jtcl`Mz7T|? zww)tn<>Ug8x|)ckU3w&XLkoKLFMzf?Ac|Ca- zt9IflCdj3t(!vZV*dRq~c#ol$b7DTTnMDk%4>QWCT8zbnJEZR%VcA3`OKc|mERNzkpBsgiLyfGOw>FLaKEOXEQHD{b zg81!O74kpGlLHszF>vS;Jh^%obDX|I&@0X@9sCT+Irq{`H4jQx7lH1n>2T$OA`Y+S z`eCuk)ZRmp%C0dX*RvYH`d2)C)c+H_%Ejpij}fqt*N2G-`J9XG4(?!cV79a%jduQy z@4CWqS(p-eH2V$uztN!AXK-EY39n(l(+l44b`9i-Bw|bV0Y0x_1NsYi!M21uI6>kg zioGzPhuSllr_<~3cakT5ua8E_`{uMU!JBRg&Y?YPpYX>N%wWsr|L93UZr}YY8fzvf z(cPwt>5gvhzW+{y25!5|1pfYnjGGd<9kvhsk8{ql>erZiGLE-dZ8mDj#?gV+74+ZE zw{ZO;$4@-4lD+x91fyd5(Nao-9uH4Nvw?r;?(`N@E?orcPH9-18G##}quA?n8+grb zcd<<47E>gqLprKg@my6f!9dE#zUw?pJIdN=j_)L@>X@$4iGfAzG4joid zp-MjQ(Xep>-R-cKId~(CW^OJbOI*@5&Xf-JQ{~x2Hx;^%#C(Po+JkO zzKoyPfAqTj1g53T0Bblm7*Gtbi>SZq^tT67A0tsv)?p`_^)KfNFkP+`xdk6 zr+mqvhb&CWlOV2Y&P2tk5|U@*qsHj12HEtq(shpp8-YlHf zxS6!e3xDVV;|A(u}GL99U>Cjb4zWG&68&e0SgGs1M)q*-Om#2PKbCqI>3crN)YZ{h+%c44=kzS#rPVUbFXysplbkd?t8xl&>0JcNcTw=} zR6nyt^gnX*&m!_-b1yk+w;OkwI>5HYHqiOwGbY`820pKavAW|r<{C|ddRYlHY5M`E z-0$O3$x2#~=}MPZw6S%?sc7A?gdEwh4kUZy=*r^luB6tB^(p7m!I%OoBaNI8y8MqiwsFVCq^SBFOf#A?=ZOLId8~h^O5HN2C=L_ z3?F%lHGP6)Vwfqt0xdXfA4JE`D&eeA4|+oM6BA^#o)|gF<32l8a%*7}PBR+BW3s>5 zFWvP_-0`o>#r8O~cyo;}`&W@>ynl%k3l!=1ifC+MW|F%n4s*Wd*SJakEztRXpmR1Wc}oOeDJNG6fo>ix*xowEr>o_E8C z%E@FbrUG6%Uxj+-iMV3Jb9Rb(DmDI(A&uO>!-;AYGH}uq?RvuKF1`jtzCKRA2p52O zS^@jnITx!nKH!{PQ%J^G68IfVr9~C)7~xY2p#wz-TY}gZuFk}HQzZ3V6-kS1M`2~n zBe3;-gnDXPP`2kV5o$Ik`>x9o-^ck-^Zfw2_SM1PW)-6SF@}MZBk&~g3*#s4fdfIB z)X+~33RgBT-3!W?P+JLb{c?v$dtZWx$u5k(Y%oro4JcB0iY}0Jsy>udj3a6W=**sh ztT$81uQ-cW6kQAZ@*F*Vf!a2zIXhE~wY$71{lXszWDaJWffl!e>X|vO>;XVHZhHmL29j z>8b*#8-iK!%_wbg0f(N(ld3NUBtu&O0}JvYVtW~l`m2Hbb3U|Z)pJ;=B19tg+7i)) zO|btz7POampyk_e2#S;;?2<{e|4b0^9hI{hF4v()8gp@>%|=k`zl>fgMpSLlcJf*2 z5mQiWPOlcJ(`}z3N%xH% zx!lg&hG^KdZw6T$Q3}AFD`Rfv@n1VG!*^}dX~s{6u745@NtaGA)=&RHT~;mBCv#l7 zd~4kH-*d*0n;htQxJ89 zmFT74;^g>@Sorc|DeSKsg|$8L*tq^OL{$&L0q;O!vTOx^aH|T5h^dE>cyXBYRE-w; zz9%P7_b@ZA?W60vpF`gAN4(ss2N>mPz?$@}$DoKAG}NsO_q~)N5C1J-&WUKy>R@`QEJxSj*C+Z8SB5_8B6Z2^|ST_ z>=4pnm46%IF|mHgx4VLKCsNpXcn;ZjzZqoa#?eGu8DbgK%(%V_B+JFC;O$Wl;#}c{ z9dV6}>6JO;-cvWuv$}`KrcR{!o|p0DyNSdjc>xYKC1K!pHQ41VOL_$Wj`S&0=L{Z= z|DKMkkF{{T>rve8cnoUR=#XK_eK=~K3Er(74=8X6t1LW;UK`$lN*n`YqShKz)@i`< zzA3b5?_9dy!JZ`inhJ}jPNfGNgf`3*d+vxZfl`` zW=ul-WU_sIDcBdhhG)W;aOLg@s8cnjyWdoy&Ye)&B*!_UZwG*^y*}-D!R10fd*5_O zyawwWRmqn{N@ORmj4Azeo#D5rvM&Z_5RH__Fmd5HNN{ z&`P@X$0fd+^ewO|yoP4~dcZPxJL7tJKbz^EjMl}$WOtiA3G!B8f-RFl{LNW1a>tyk z%1oh~AAEsczjNRa$#HGBSrGP&De*k`2pWuy`JpK@>1xRp)Pzv@@8fN&H|EZye9a;{ z#rzJwU$>2RR0fb-e_g7>a*WAvPk7*c42Nx#sQIrHcJfs}_L6iTvr{07hL!Ch!eUF= zGit)j@C`{SCCvG-3+mW2{+Gc+S(awbtYMYPdBjEN4?c!8zMr@@G1%XYKd;ZBbJjcs z@k5hHtD_0Ymg`}d*x9J5r-I@i%3<+mK_=&N8$^s%A#OiM8P1*advqz$-4@P|Fi)hA)eY6l`SQItegO~;>oZ@G8X4}NoB9-eKiV*>sTU~=GOwl?H8 ztSatf&cq1PDUO_rsFdST21$^zO(C>AwS>)<_=R8JCgZELIe22pB3fxa$|z3~Cr{MG ztCwdUW$y0#i6`bH(z!FYk)P)4@ukgL9K5GUZZ=%U2S$TDS94qD68AI1GI!FkStFP% z@fEK9ScoPu$1yv-PPV63v<60Z#<9)giA>$c zINXw~T)nnu6V96(L~q#qN6S7{V!`kx%*iMQ7cplj8W5$4zK-CPmxLQ1rNGD>&a6NFx6pY}}+r z_l7AGf$?GH!Nd$)tM~^*H~eLMPCP=n7z=D-X3?*K-e_JUNc$hA&~G7#2Epshw&Lr& zrPX_=yX#W44vm3#kV49=ror^$H>l}3!fHF*fl8-B{2u&`?K;F@yq^bN-!F;kGAh*n zrV707vH;DSvq*_S1G`qKhHpC(!VGQpqoNMpSai0E2@=pGlXj?*Gd;@*+H-R?v2ifF zz~Ux7KbW>v1N~IBL2&V2=F+B*OueH&w3ctARZp+sM~^&yS`@d7I`tN}*q+7hA8L5| zr%mXh&5odZa2tt}Q=&UpzXwTeU6L&4g})hTT)Zp`JCD9)wyuq)c^#>&TlyeYtV(RYHR^GXMuHa&_oDA&PT_G7WkAgTFO86UPhRfR>dh*_oBdy2tgv1E0&FSd&IW zYC6D3O&T9WzGsczD8s~X8+M#G9VNKC*=qge#7pJ{IEhH(r?Wg#{!W>ce!2t}a*1pR zbCJy~@5NbN*_i(16m#EV5AGM~#qk(n8X_xB7yjLdO;=O#_P--|P~{DFsz?y0qhH{T zc_WOZP9a0S3Fu|-1N~R~AiF9OyDP`|stW{&?y_hIY(0iiGB5CBt}o-togu2cOnGnT zmEg*uH892fHhr|8%UKyywjf{?!BYa{Ut2Xi>03kJoA{%}?W1JBfE$F!QpjA_%k$0P zc9miWX{MDLEABlux!MwO?m#zr%`+6;2HU7a=Kldcx6WqyAkUwrc#&v$q zHn5cit{~Z!!|hRKu{bsZ^wp3(++4wUJgel(>vTdxdkbXeNYSDN+W0R&n0b9(p00U& zkk%ZzOYm|JJ{ZiPW*!VqzNbaR4mw-e2*+Tw{w565s{wnfN$BBugnI`}Ar*(LSoQr+ zV7O}??BC8Yzch~^bD<9&g)cypmn-PK)_IIr-!VA(Z!(ebC-lL;!_;Zkd5&`{LE5YT zV7jk0)!EkxPbTSeJyI?YysZOQ=}sWko=>19svM=KUxSwG8g#6%f+t-bh?Y~m`S;y! zp_9yK_^v2V{dKuKq}yLc?^Y}L#V6zLx^@V-djj=mH?Su5&h))bF|*~e1OC`$1;20F zLDN5B#(UK}Ty2>KRsr(VR70FzdFe~9Hb{}cnP%i!tr{zJ^feFM-JQsxc zGf0)$Yuxek0`^oWLeQyhl-S<}*+%2A<+CGQlCy=Fy{d)rLNnU_K#6|udI8a1d)U#L zGIX?Cj;QQf4m~&cOwZQ4tPX!VkvS?%RYMg>fa)b2IWWME945HGi=hc3~=$+XWq_Pg#*$%*(chb_^eizzFcq(v=lk^ zSGzVCPl;f?@5F$m;UcnDWIpr4ZV6s3j==&uVRqL+O`5Lfj&F(*m`0IGsJ&xC?)+(D z)Z8PW=ZYk*@=K+?#ffCm{47R2Nu7pfZlzakWyz7~a=2+C!<~!GKsZX2tVq%$=g<8G z)1(}>(QqXuZ$3?j2=@+pBS(*acZ7nGEdIAmufnF@TIyq&wJxE#VZ@gy)>o=?(rZK>ziC}yzXH;TJT5oO(dpuIkouJJmD^WY|y z@O4q_L@!7i#KZfT4$MKxpT~riW!%Od9f;S=+NLzFw<-5Oy)5Y3ks`yv-fov|$ zu#3Tr(ohqgmQtA{s=F7*KgM+Nw;tS;4f*T}fa5AdS z&BmAPPw`pnBN%6D7(sA{cX?ScKPl2mCNkU)9nT&$mY5Z$(X;wmcsc7)Nc{T!Z3-T z({gj@*3PM9-mYErkf|TcZ&HF)q1R#Vf6ZX=Wd!t-pTO_?pJDsHNp!x&WS|3~bml|O zXIBvqw-fCk!E%V764-0`T;(k8v^OFiCYQ0{v=Uu)(wHnWIKTtfP|UY{4b?kZ(UzvM zCl_SUh#Nz!7B7X%Uu}Tm&&Sa_T8@@H`T;$QpW@9pXA)8DOb$fv=TB0356!x>Y09>K zSo?M!zThpw>8|teT51KFxqC7dybeeXs035@1*}-fDRh*pg36`xMDo%PcD?a+w*Ryy znOg5bwHCK?{nhOd$91SqR(g@!LK@^7KMjUtPcY{dHh^%&1kR~r46peEpkQ$vi#H!Y zyKSFYTgx46jkYS8ttCtK3e3sG=hb-f=~{A8Mw(XZ&LB6}T*Gk79eDHUHYom^hudAO zV4u1O4L>SL60e>{iTV}T^2UMZJ?|PWvUDQn1C(fuzzC$fZ$h6eG3+rBCyv*gvBY~0 zHJ|h!$(t&Hi-#|Ad!0sJ*LOR(6)y>KE7d_g$Cg$eu)*xf9B&jkRdnWSwv5@0=I4&X zo@FK^k;{y1{kjyN-g^YB8OLDQT>#m}$FS!^5L2^yoRut7!Ce(zq>W>R2V^qUfjuX< z`^!ZdxlkNS^)*53^HI;Z+ zy|Z@4{NV&v(d`?GE0lxAmmpTS{t8b1vJ3<)4zOvL&B6V?HSIhpOgFULfG`b;uCEu6 z%Q02BD9WB<3Lg(@nK5dDlv%|(q5OvBIPXCdmY&~9eusXG3Y8fyc9Z$Z@XVW_>>k_u}Yc<)>Psh zPGe`fbP2dm{{%iGl&C(?#DL->@Z3&-3>Sx!Iqy>-ENVIV(wT|={j2HWfHQb!l|8L> z*M&L0A@oC3Jk%A`@yB@7_)>c<8 zIYReX9K(W*pD|@%C2u?D*eMyj4e1>JLSyk0oLig39UT_mG^J{13IVdOpY*b9MT)P-Yuy?61$+RJ&Ez9$AH4Bx}{_n+~WQ~)IF zM1a|~F^FE=!pqH%1+$+<wP zIb3fNqO#dJ&{g;Yy6EEZ+C_1CpXa`V?}y_r$VM!eMG^MGHOW!h(Mbb zyr1?F{uZXg&Gb^p^^k{cyH3DW`z$uGaXLMGUxaK?y2)RBWIcH=DNSas*P)aBFHxPs z_qe_^4l9hi_+DQ=F`E+uvDs=07V9ixjF?EqkLz`oFZ9O!nz|%cAq1Vnt=L0J&)M-w z`FQxDGqtghtZdE`_u8i}6BYGO%;?>9-*hvU_$s z4lXLe6C8~4YsN$7@N`L{u}q4YJ*fu|Ts)0}XB)tPyQdbc2K@vLqxHH$EnsKo0e_GTr*QBGh9wqr`xa!P8!^~R*VMg=EC_sZG69rn_!`*(-ri+EWbC7+oPy#64^>t zM0oD&NJ3UqijszgC`u_UGP9y0DCOHzrgeIdN}7? z*XQ$opMJOqzD_+wZ~olOdVklYFBPR>tCtDU3V+DCk{>f8+d`nwM*(LGg@VPtE6js0 z?U2Xu0T;FnqVCKtlq?%#9KY=)g+(i{RoajQWt3oSZY#9j9fjKHRm5iBGgjMcF~~=`T-YtD+%A$bvM6=+pBRW<-3) zE9hCQNc!%Nu^S&1@-|voVIvMYegey02VB1A zB>M3}vI|M-o z5=ikMWAHB?7msaDpkvTZ%*EI)wrs#`pzq@2~^LD@eU8 z=iAsF#;oQXAa((YWY(En-lKnid4f+wu=V*JEVaxf&oh1zr}5WdJH?yLYF|vgh(*FV z@o0ALj_uHuT?f%yS$JoA13dGrX|=s5GnD0o_xV%lelBBodfrrKtrgd+%=CkzwKIvq zt837&Jr0$>(xFu0PJOxSA2zg0o-%)evCq;Po)=waB7|8ozaRwnKei{~vtBXtv({sT z%P?+#Vn}+d8X(@+4?irW7@lWLiq_tNf9Vt>*KzwP=V@fNYbT!S=x4?=I>7r&8$71b z?9KRY5cQr$2XuN+!cG#B7LGvDd!Sv11BlSF7r6UlDz<0dfK;8WMBVQRti92Rl`8*0 zD?7RF!7~=ceEu=s?_C+UMbpXmq)_};oXEZpZA7c)CI~_)*z~oJ^UJ*BW%jf|x5ZJE z(P_dYO*1qRl!Ek(i&Qu*41Prl)0@|wiBq8bs1XbKUdEom{?lcQiG+;Y@p0H^B6fXmCAx1|BVDxIL>h71o(d z{10yj49y^0z8cc;DHH2Yuoea^uc7&RB zoI|r}E}oU3&w2+b!y@A}I)C|2kbGYX!3w=_{>>@aS^F5~=S0JleGz1qBH_*I4&b>p zy`YEP$zK( zf1$DM3g!z7G(5AABN@pIrM3TOrhSKZgSzC;&^k8uVLEYmEkstH-pE#76-Q4OXWH>4 z1|OS0h1w}~a8uKjwAd?>>vAE?@t$LlD`|?!lR4|jy4j#q=a0?N^{`Yzozzd?#47G6 z$M?|@)HCqQZ(FQFtS8I`QO4Q3&_SQ$|V zS>GS>w0nEl2` zi@L(Ol&)Jdx?acOb?F7J@iWLS@x2c3XL(Xd@1sng`)vNeYH!YAkOONc&d0T->9p3{ z9k+j<1HP>hxW~H(Ys(p8Y?O<}nzE?S$l|b{8q?JC8v+8g=pMs)^b@_r7;|i|1v~y@ z=EN>Vqk$$z-mpY^VP(Xm_?M(~z9WG><6|BwL_ryPL82OjYqj^DvMy`t!Rnh)(;JE7129~1e+n>6|) z^4orMOemWNyjUqgB0v9)^$~;F5AgZZbRbZ z*&sLb1ID{LU`wqfF19ztZ2RkcF1bg3JiA499LfWkUvYSi^Z3dHY-N{!a3YTnETH7@ zUDzsDgMK55+;XuPMUQTV9r6$GcisfDEjtz^EVlqyTt(xtTy&oyMjii7XXlJ*VQEAw zr2Z>_y^Z=*N_{eES`>y}HJKb+#hDfP^p}hicqooJ%;?bkBh$RU{`G_ zeYs;hanY56rs_VXq)m_G8I;rghbH2&;yG+*D_69lQH?AuZ*0hKVf4&PiT_ ziSO^RO+H-qc;}7f%lhx$Hi3udGOO=#4hLOH|&#}0e>n@*s&kxVh z#h~*V4-_VUgwU`h5& z5|QLYUf)n6f!#aktm64Nt5BEtHj80+3o`e)JRX81sn-6@#>qy~?^id&a#L-ZeQO-7 z92LP_dMUvt3J_g#6W}C|zS`-GhRgF9K8eCjl{FB$xET(nAA{$6rsH+pC^9vs4ySgp zcS~m4H!N_Kep;@CE-MRl5zpw5t?431- zypkwjlQMS_(_MXRMEyMCIZK{K{+mYrr6fXT_C%&5aw0xH=+8M(w$Y3uaj3sTko?*d zM$)3RaYV2YlD#}2je8v|mGiQiyM?=*w@hV5jz!QCSqWnCYdyc+qzCJxR?tUk7NEM_ z8P_Wd(FC0U?7OcAtA4nnYWFSvleH!|FkAql+bi(R-Se;@&ygrxT+5qLolf@LQGz#9 zrci&b^Ju6_am%7kNN?kOEPe85BD{vKQ@sHDUDm?GLjw@1Dn)rEnb;&`NFvlP(jH|; zn$Gm2wqiNco-Pk*^XJ3Kc}v-=RyowYD-Np;wGe0dx#a2ve;UYrfA1c&1%U>R$LwPc zG7ZQ0A5IxU<)x{#u@$W89Xay2E1cL&vLHRSQ8*(HfeT*I z{Pna(>pmVM0x3R> z33nOfhjDU?lPq}t*2Y4y1E{lYJ$ULnkeBX`bnadwOq|n%7xtYYlhhn>MX(l>Xzs!1 zhn~Ut&fAQT`V4T~DM@sKu95Dvv!u&H4Rz)nfStJ=OjfHi)e>C<<9FVYS99Ajo9nnN zdoT|hDlN$0UmmdJzqjzY?lf-O8Ab|i+u%!V3^^$?jR@PMg7@R4yt6+;m}w6Qd>NOb zebR+!vEdFgc;6HJ<|V=6e;TyaqXxb=I$~i*3-+(-Vpd=Oj#9;2nd8(I23uyc4{da4 zM3)Z910j@uoj}yHtXaF{3vgS1GuPK0V%!hAf$uyCrf%mQSo1^|%Wvc`-W=!ra(Xhz zRXydU{^C*D+bQtMqzYTgBf%qOCHZe`3l5(Z=V>HGL(_;EbOmK&>}g^0LS`QORcwI$ z{%S3gxavG;Z`nYvo8M=*25_`9>2tMt<&pF|A z=+G?@dZ>R3oZ!n-kJ%TY{SeaHg8el1sx^sza}TCnCvn{0XHr@RrA`p9s)W*^i$?+4cFZ?pL_@px=FfGjkx zM&n&kkaueUuX;vudCDqkeP$mTimH=tWm(XFdlbb#CeTI)S2`}UoO!b*2zm26a9vUj z)_p$7+PiNfg1#&2^|Lg2qYp-4VT>s1@8x`-8o`W`^e_tf&cg&b6O_;MK&g~9WZ~Br z_%`h>%3O4#<}9BHSL=dvTl{d>t;@XfHxKYZuK{UKdW;Pl2beFVJR0o9VxE{KJ%2k5 zjD%;>x;H-L;@enwc3Ge7TJjWjdsabRW(kw~eK~eHZbr?Y%Sqgf)1dG@5x?BDqCIa; zF?SCYU}{ASB!7I)eu@l$Jg2GT``Aq=U+M>suTOy6?;gRZ;9NG*aVxJz+hQp1(tlGhbO>=f`;2-2?WQ9>EJkZLGqTbM!=7AubWP1o;omakrBzk@D=q#EdrV zdRfL#*~M`~-xSc^Qyz5R>vrr4K8_)~)j%|6l$?dCEsj0jz}8V+BlISk0DqdIh$P~^AgGwEs6Py#ki~PA1bIEhFG5?w6^LMxc+Eo z@A-(4=+N_IC?J-kCks{M$FVd%+-_1h!EQ$#>gRM^RNpa*DGY|c06OEQzGfR=aTfD+YsjYYmsirSY|GVO}PKMn1tS&%xZF6E@RJ?)PJ@h zc^#~PtJ|W`XuT-?Df%8Kui1xbL=o5LmO#dVi+E|WDf(m=;jWX~RB0-gNj-Lv$!wCM zKa`ik1W}G%(XSUCmH>w3ldM81{j>Rhz8BeVYb03`g7qa zFq6CtR-Iee*4}8kM{EYesO%)ZPJ$RFlEa=dD#ugvPLTtF5tHFqyZEqgxWm1f0(G#IA zq;PpR)a#r=N#mKY!2?$RXP{4$z4|AKFB8f2mfm!oP{MRS4cjQZ9>uB#P^ z1LM=lzW*jMmuGXkaS3}kv@wx;o7`a>D^Ie&^yku$3vJM>ZBNBhjL~6U0ct(s7~D(D zAxvlou@jhwXR9czwTj0UIdf((*9%sA>Opx&AoT5ei27ersr!9Ta^v7(^5pdtYMOBr zr_MHENQFIad^H9FM~^@)=Qw%6^}aTj^uS)5t+4OIN9-%Q#ay{s%<68tjQzRKFmlH^ zJVJi(6vsRGh6yL&8$Lr{0e4z_JeCbi?_<_0bB@K=|JYHhSQ7H;4{GYlp|fW!d)cp! z?)kPGFWO%Ry_C7src@Co?wG_J>D$h@7zGhCdI=wFP^6FdoWb-rIanYpP6G^1QO6b+ zoS0%reqk~>_SYPGn}txyLWQ`shCr!I9JA|c0|*LC!oyj^Xglc`>bS*$zS~tBA?I{d z+Z;|W{BR=MyOM2`CUQ<)lgZ?_a5nnCFF@vw0_E9Hg#-5!VEU1I*m<^wO=BbB@8l`` z5BcHrySx>7^nmlOt$E7c9({`a!vA3A?M-l5po88|rXZG42EE>Aac*KFIk;>dlC%1( zY)&jRTT0=~sk5lVS9_dY`~mEFa&&J{2A#v+f(iHT!{2(2@xQkhG$*`9^(iaJL)FvF z>?$+TG7BNJKLXYn*%QeNKiL({1F$TFW0xkg_%@xzez|W}r{0B=@L>bI7Iz1$W_j`j z&Kr`fcR`e$kOE`ly^O>Ab#%S=Gw_)x4q0ahV8SUeA|J39(#=Fs)J~quZ-j93TyIiQ z>y8s5m9X*OWjJz0isQxy0Dol>%08M7J#rO{;pNHHqu30TyrvUtX)7E*Dhn%L=#iD{ z^l+?S5z1^;*qdVUaIEPRFcnB17W)j}+CmZvtn14#20cNQ(hNZ@2&L<;g+6Rs|=C6Vu4O3uUvmQy7n?r0p zFEa7YSycYwAg*7+V*>iHFYhW<`w_yF_o}@unHKyCi!U6{8naN|h&H z#(HHDN{?@*HX?l7ecqHr5AGm)@1Fo&-zJ>4mYZdm{K0H56(-WG8ZL}3BoB;2xcuN6 z%sQV+l{`jqN{0Ym4CfJk+EJWv{%w6t#|CoPQiwnRKflo zKA7kYCX_NtGEnY ze%@+OlDh-jPDqhQk93Lo_W&Afo&o*Vo3JGA0dHM@4kT1@(rKM4OI2z$3S@M;Ya7EOBqm5ef@&UFDk!5CY-Uz)sH zGY4Au67Z=}j7DY-@TNtW(Rj&|baCMf8mSP%?M5bIxkE8FB>iN_*l~8m_Y=S1xCv3@ zJXp3F_u$*|&v@ld8Ol9K0LlOIz6rs?8+Y zw7~naBp8eIpw~pBu;=A8e4tRk4y+9#Jz|46We?$N^1!j2|db)XytjRF1eSPV}7K1-#KSHLrN59wGcf{uT=9dc+ONdL%$$At;3cqnULBLX3A(fI}##C>p+f{D{}tpU8am= z=@s+{_hc1?4B!UGcf9vfnH0<)VFx2p*n?h)jC=V4a$(j{c-qf#a7I3{w<9abyP`pK ztaW48NL(NrPN~rOp_OdHT@mtYMHqUTk24y4F}SyFF4df~pKNX8`ZnrmM1FV*wVI(r z-pFaT`a&S z&w=@VMUg>Ap5LA-b&^DUwN zEN=3eNrU!8QTpR4BnvCkk8Mk+?06L;&6a{n#w3#6KUPn-OlQ5iMF?-G8x|){p>Bb% zP^W%69sTG<+?`sW!SD_4bq>Q@NA<~D;fdtCV-Sr{mL@|cOPO_7Jg|4ybo@C~3vw^A zK(cKgS^VWG<3MKO#g4$5^X;H0Xir|Hm7|bB62>MvbDkF=+VC?H^c5yR?%l(v z&ELWN&6g8 zPOq?5{|LT4Xh}3C$dh^YB~X0+EO^DYz;z!jl7A%&W%maWb4!0Jx4aGY-`1gS^C{}G z_Z>=He#o{pB+}+>3bfOH9aPL~#;rN2*wNL6x$(xtO{@-XG(Uk@qrdEyHJ)_WhI9C8 zAIn=dMUwVD`o^Ao|A*0WsAS!5%w@<+2lo9<7w$VdoB5+Ki|)Jd7URxY;@SpXy6TcS zsawC7%`mw@qm`~eO?L#nbz%>(wK@sGvfGI5lUTauWfMf4bSH24@8FwUF}f&ooU`E) z6j=Na6?Q+hIef4J{5IUeltnryb?Xg(*PecGa$G~(j$Xs##ku_9qA^JMkb!j$npAwF zHl`cY@d_SE!S9a}v`toy?9vY+uZG*Up1tO9 zAtMYsErs|W+=kep$_4b!eOJbFQzSj@wTjBpBAaX#ZDRVPg!LMhfnV85^u+rpW}W%C zO~(!wvTdUPdoueA#7Mq{JcBw2YMDo+TV_yPd5N8sJ;JyxjU&WJ9HUiy$m(22>e=27 zkJ~Pwb>?)qe>wo9hj;U)7H7lrkK569{$#qptQb}DW2jV#5Dbb|qqgmF)^N@h++sPM zp6Ci7d3S1|`0rjC@3@Zc`Zfp)>+i6xeoL|8WEL!V$a&O!&*H_3NT|9lN5tBeGedYObU%I)UqlDrJq6>R zN!a4?k>TwP<=#o_8U0(@bXHjcZmo`EQ^cNN5BbqZ9M`<$AM zui0hGC*l65%EV-s8Mrvdkk6s2H0eee`)+M9wHK9xr}EA0@T8X@!P8|L<*aCf?kTuA zZ6P`2Vn%YgT&}E8EN%3(CCytmv7~g8O=EL3Zj5xqtE1D2nd3|5VV*OUf}3#EqleMl zzYB}(cfys*D~!sH5vJa0B2_rhh$h3*#JfZl7GWP2>8*xn0a4~jdoNRXE4qH$&33pa zYfBOe&yrD1Ez)QvL2qwqV~-Uc!*T@?u)1S_H-j(W9&YbACp?5ijtX&XELmXZ-6G
        *r<}}^c=^qdm-;g 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⁢xy*3{5_rYiOZX#= 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

        D$qNw;MR)rBtvzktVoj4IH;~-p%Sk%taJ!Z& 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%0AOjUV~o7Z<&1rqnR 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

        hnOHsEtR^nh;-hR$daxo;#mDwF;## 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 z

        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 _ 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

D`6)@gITF=FUzRt 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Ν0iw)sn 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

&I@svHUThDzO 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 z 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 z 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%0DK+N1QyCLa&q4dS8gxib+lve){Vne@e|Nf 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

+FZ~al>!1 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

58+&6x49(&DChLB^ihQPJ*YRQTQhzgkRiU3a`$m z;L%l?0)rAT<@PGkf3L;-Glx1_ZxDcaT%;&K==Yh6RbajAN<4c>j?KN3EnfHClr?r2 zavxsj!lAW$aKZKvFu1yrh4)>g)1phz9l8o1f3Sx?rtS3aTnThM$)}5=H_% z29AHu)9jc8*f>0fPkp9@%g;t($}kPKs6B|?VTR)X)P^;+9~(pvwR~NM}^X_Ju@)N=K?qmx(n7m4vKSADEek4J=vj$zci%K zZFCBCwg_$sqcl!3c^{&LENcD)7SS+-?YQNLU+?un`@5ac?`h0Tef`$y`SB2lE__CdmDNhavcklv8|3*| z|H;&vEeVNM)_lEie{)jv5C+Z26a^Fx1nZe%l29#T%Vp%)hGI2lsqV=tB*bv`;8mEg z{xKD7QU=ew9VC*R1E0F|@YupKzE>j(6CbbQCms*N9qCd0=*=6+Joo{n)Qo2*?#&=2 zoi*(G&!gbsWQsTBvgu#nTlhIW86Qs>N+y42!28pCL1xEtHaE%x(Ebc=POC-H(P{K= zd=<%l-o(jI@P^HKhuJ-qEOzo(GyTUKVq4)i&Y}JW*?*B|b_a`Tqt;1s5d04*79;4} z^T(98EtX!?6!3nNZQ0|DvYwy7}pfhqjDn|pX$qa*lef;vBZX%GZ@KIH4H-f%%rrc+q1B>OsV0ysv@ zf$_~3AjNwMGqPL*0amiCcux!e-Mtlp>TRI4FP-ag{KMUPRf40mB-oid5=>2CslHJ- z%ipTqA~*wM#RmqZ(N*6h&`{1qBR2=MD5!;tuip^gCGg3QE#(Jm1w*->8@+rmjc#bm zvQs$|;oY%mOx&nSO_O5bv+)Mu&LIMe`v)^y&l15+Eg|k&S_Y=7=Y>Ac3)tayiGKUn z!EgOMK7PSDidsAy&(6z%Uk~Fc=EOD{IIM{3O;bgSUX{YA+b5`Rl@s56X$QOEY{w4t zt>JY?6w=Vt2)27kEdJGLB3pG`raXB%Ol22o*}Vy9RpLt?6@en#yCaxMG*7!!dqgkc zH~-dOpT;~97=bt9aGb|~WVu?*_4wJ+J9#P2>fd{4+3}h_j_jm?vrD*BQ>&;xITV_% zh{S2`0W2gCut4Y?Z;;y0`OVFwhF2zRtZ5}xkG{+g3{wCP<=tdg-NnrlPlr$Q^qI;? zXEsv2iaICHN7Ky7-0JBw*+aW^Y;AuK_4GXEe8%*0f$_iig-=~s^X339pw<%>iE#wcJdCe8<6tXF*gP5$P6*}j?gD81Nl4gxmsw|7ojJwDpC60b^qu2wP z^Zb0h)$ppPMSO0YJPQ_fy`=)1e420%89QtcQwKr`0-f!&8E^Ag8RuyM{dmhiHHTH{mUk+C7}sawIGwkY7cym5Tql^lMACa}eW zcfkxhRc=k4Iu_*Bkz{r|ufIeSt{7V3?#+H+dwv^ppEig+dnrv44J+{YgbBE~cMDGY zIG%pTdZ6NIV{A;B${w%tCYRD#?7y8hcvH0!ZimPSy=X~R_`r-M3+I>MQC>p!OcT97 z^WsSX7APtB+Gh>12NwqiRMM}Yw?S5-6&(j@U-tueTPCoeJrnr{l8Pjj8OKM?OaZO% zxs(@vj>`x&#d7@!tSNV=bw5AB{^`5e`75yymAHw?b?5S0PBu(3xZcWbJ)==UUX*`l zD|mT)6Gx#Y-p%fywcDrRoCt?qb}feNegqM}+_C1`bQ*cJ6PmIo;+FFh zu{}zXd0LKVpWfXD=OQN@>fwbp+k~#p06CN|8jOD)2>V29Uz(Z!l{(5+Gc&J=)G=9) zjqW@oa4n5@E8`D2Yof!|LD*-!ny12e+VJHw z&3$na*6cjNAD-I7jcF`J=RujAq0mFG>uiO;ai=MFfilw$oceSW`+9KQ(zhd(nNEWcTl< zZOhu})ut#cSe{SItwU&vUL2T(Wy9uWsobAw(?P{u3zB*RF}Z(y>B!3#?4gSuY1+eR&9yF5oDHBv(Ura6Tqgg^`BxdWBgSWu}tUSL!c<&iQYDSFM?(S#) zjFR9R?n>f(l%CVy*n{kcC<=elAqrV!ic$&-Q1MByUnmRh`pG=o_rD1?F zM{?g}*?M^stl}l8tY$PGU8Bb~C(MK^r&3^c?`rgE`2+?bGpNVh9gP)*`68r%U+=|> zU}Gr!J#dR|21=r($8q7Ebdw*jL594u-9U4JHyK~GptJ1mL(NOC$s=dUD_ ze|jriP4c6^fu6L}`Bdo^g+VAeS`OERTf_3Q`>;x}om2&Wy(m|q}c&UWqh)31ugZf2esT-SbfEYuixAWw!K7qj#N-w`#Orq zQKN8=9iqPo4xxUlj*!T$0jPWI@;ajY{^wRmMmu|tj^YKhdUlDV^WWZxf zNA^88mNch)rLqf$aP>UlexoRrW|c|dmL_$4yL}($V7vhKy_kk-OFFonTQhjg=4g`o z(gJ6j<0v9=2A!$3f{V8{^1Fr$o|wShI6Ok|92*ys>ez!q_g&a&^*dnWxfAFgFG(@_ zuR-jb#dnW6jP|wCu*fnLKcx(zA%n6=&r*lC%pQW{Mg5eWP(|u*LLhYF1e#oT9j5Jy zq(#3ZQ8c@cRy-?*>uDEh?%haMkT;*PLMe7^hZ3t;+(N_e-=HnkrYul<7Jnp9g&naL z=2{jk64&&=QN1B-sls+{xS|nvuX8bExK)B$T_ercnt)>>VqnGOkx;AU!>&I`fL@_1 zwq=Y8E;_D(mn0&YWZe`ZgW=pg&t7p+`w13Tr%S&VjbL-@9UFC07{a0bv5Ka+75nJ}EhZ;;+8cK4db_ zGAg{*D>Fc}R3n|M9P*4?q!NlZb)Qp_ z*Gbe?na<*ETEXB~Du%Dk;ioVMeG_u} zq0a1%f9s3WHUiR}Vdx(!DZ@dM@gn<#fQM2G+{ba`0gpWjrt~YenVH)%MoK3?6`l$N% zQ>YfQBKKVMSa0Hd@anIn+Q6yUk+Tsc^YSd4&yQpCE|b{p-cbI3hR(y0$~TJRMz(~K zXrM$IMilOQjub^v6w#!i5{XJXGLs!bMu;Rr6S?nsh?a!dr+FH-}@JEuY0}E zbI$ks`S|_p=B;T6ax_T`XzFzlb zB|jZeL%Upb(aH%k+uze!iPN}gw-!rxv&Yr+jLS1`rRb0Olm>9bK?+PdRNP(^5&+tkGWuQFj4NVigHZzZ%gZ8iW>|9S5n4J+^6Srsa zqbCWS0p}W6AU6d}AFSpbllHNc!bt7<9wG3d}7KUNnjB)sQ_fA&4^&?0fna5;rzk=k4)7izDvi!`=W0~CO zM`U#JC6#pV!um6dM9DS3ICr;E>_=TC1lj9iLwYXQSQL|<=P8mJejnzpT~6mV9_1Vy zOmKnkE`E?O6P~>P9XDUcf(rXNw&U_mikO?q3=g+(JCwFrTUhJBfXBBXZ+0KNp z9S`Dff!VhCeh=s+AHp};3z%dvxaEr;ez9Wr zQVMB#yA;!%IRLqUXi{)r%F;NV-5oXwyWk5|40Xb53I5D?KsM8{Jj-4SS%HNmS#;hZ z0Z-nI!oXH78v4NwN(!90F7ap3zbk_?1Ri+K$HR2+bqU7GZ^Wf7Q*nF7E$)~EBg07r zyw*OB)l}BP3?baT--E1q_rLT?@l3a{RC2WJPz;nzTiD@ zEfXgTo{PQX;kr~Z^2t3EQML{TFS$u>F+%T5USLc-^Ap^vv9wTkI#wzUf-`|LnN95_ z>Mz*G9UPQOrbp*t&NplNv8slWerYfd#SGkcPF3gvk4B@v?zsG1CS9sqOqFdXAW`}% z|229N%Qf`olBaLuf31{8v(yND)T+sT+xLOn&p31-JM8%s$=A3=Q@oMDq7CbVlCYI* zY{yQj9d@6}o>tQLgXVnl1wZT0RrPSt$qm;opMVPflksKSV|r?}7Z+T3OG^cAo{2&_ zJ$U{ZE)GoPN7x;OaybotRHq>~!abZ?&$aVCsYw(p+Xa!+X0lOh-PotiG4$iHJlnQ? zD4Uvn7FPQ7lE*G5!D+jI9A~_w#;7lxag!`JCS)J?X8AQfqIeOEh}2`-u1VnKJWslH zPUwaRnUC)a-*EGbwh4CxZ`g9~we{QjKhXO7vM9bP0VWz$iC$b{w7_8u<5xZ+wTVE- z#>Vq`VNulb_!-A$*&x0jOR4V-x$Q2A(Ea8(?wC_cXA`v8*7ZruMVP%e-ZEu6?iu2{ zNv~}$|G2yo9=|D+s6NttIQ>l8EXwXiA`Ez3Mmuo+~`?(ZKR5s8~6C;$e zY2z0@2&SRE^B617LwA20egci-oc_q8Z@NEjXjqB%FNJ)_{Ui8sO+56S%%N;eMfOXW zhZdx7r+G7yV7FR4dxje9`x|4{wRa^o^4j3P@#3J`JFR(CsJ8-F zI>w-O(Kf2S6)7-fgtNa^lK5A9IXrGCv|hdP7;_AmKv24a<{dl^e-*FNy&i!xU3Cz> zectk%&2daRbD8JnYtWCQ3M|W`k8|)A16Ut{bzfuX$h;C*Dewbdc8#Tf*%jgg(Hn7f zrEur-Oobh@kX@2jpvJpNY)rsl&NAhZHLDoPY6E|R=t3Av{Pb1e-aQe^U?ggc^v5}G zkD^1tK6ZJJE*f+Q>`5CXw)RLmObGwWH}gMWq{&8M26q#Ru7=W3#dPvtvJkC8EWz?@ z8puyS!dRL)`grHUnx0z%dutH0Xi*h?$yQ-sON*&FM-G+sb13M#2TKsnW$~pJOm2oO zZb=ykzXSc4)R}%TyD>uN61;{dev3J98TN-rFbSA_k&gb1u#58pMXHJ93p)cC7EAC*NJ|2erNxwWl?XQr^}Em@si9 z<_mjR?VpdJeDr=A>0CxKs=c(=cPpp9Oz;^L9TmTDx<*bP|D)N$Gy0Zp9|^c#*m|Lg z+=9HI(q0x}@ihMW*UQja*F(#mou<5g3H3QA@xH8t80z`L&0iQ$1Vo=G_%JazCJTf*JS9Y8X>8?V*$0 z7&dYBU7FA`m*);Xquy9oG4Eo<&+L)FxsQF=u4bW+`Th}o{Id@Bq-bE_iIe2sbn@-KkXX zNO19+6cnFcM~QKLu=K(RX6HML-CY>LLYEJx^^L*c)F{Fr_cj=$;fpN^ro8dUFO>Ds z5Nihh6qh_zVusd(Xn2|*E%b85*?mLUmgNUY=e8jY&f3abM?_I=!Faa%fFpgl=)nG( zsN=Dp%PDcQE`D0HhZJ{}QDxI@O4<1aWQR%MsFrZZ9vE-!FvAspH>I)kpXsO3OXs z8Av_h?rs>!+9pjBzIRF(W*Wdni}Zxg?@BBwdjP6S{n@>7hiQ$!12%hQFi(MvKJD0k z-s4LZeyFPj^LvMw+{ZmkPtB2a{E=oOOIk!NQw6s6v`L)%>304LKbPb`Y2wGni*WW{ zN0u$;B|ZnP+^AQd`G4DnqeXEMR2sjsZX`)=l;uF&zH=7dy1fghn1rFu)Oxb4{l}eM z=T5eE8tk-j7#@`#LTUq-;Ys<8v~bU5&TXT>abH9z)4u|g4phOomPd3~;vpAs>I+F~ z04gQ>vc!KCV$JW%+4RxCHr$a9(iAo)xUc zbPwI$Ih-G0X9kbk-O;dM0-C35fNFgM>7QOq8tRrfLh&puvz$oT(g&H^?58BVQ&s%0 z;XD+&E(FDm=KNG^TP7oSi@H_|ZquKWz}Pd4|7v!hn-Y}CGNAw-4!ceIagSi0!Wr6j zNt@K{NF?(Mh*w?OLL1X2yZGQuN=y9i*MN=txYY#n~>V#sg z9Cqo#DYoYDPw+Gh#CK+4{NE!|@IrGO+c#1g7e02y)B^$7)>Vg}o9aNyREG50JRzY! z1Rv!la2|oj>5lvlflqaU0*flhXJHKl{&@u{`K~N>wmCM98OzjurZSzg`?#YkuhOA` z&-uHTRKPuN0e?F)3M=v_GW#3H;8xR9s8ttObA}dpO*I$q{d>e+RlZB368(v-7V=~k zMzGz+6yq1~2c7O?%xKvXzG{OCo0qwh+3q)h)#WWPZiyyI1YE(q^~O~BB@V5#g#Fty zU#glk7CkeoxGCu_;9INBI?YZ}oAD=3s$ZM+hBWhKmvv#++OX!4t#TzgzQ?OiI*3z$JBF@6ji)_;ix6;x8m@ed+J%|bGswTLrnD#i)- zpTM$gd32bufOEcI4?joG5oUGXaJ_sfX&Q>i@w`0KgB~mjQ>Ry-TLqr#KPt^LU@a4E zn1OQ*%^2j4eNtHh+tLxQZ2!b7i&ZeiBMs}$3}Y1o&r;&QSoq)}ftzO!V@s=Fi!a$H zVz`Amh!O@Ny%#*IpYoyqzglkfVr!Dvk4*1&0H#Jy;13jUzzQLA`m3yq-y;#pru8O+ z%-~N#p4fqX`qKh^uO5SIhQMITS;KzM6H~$!UAC+unJ;NH!_k%p=$+*YdO!FPB_$V8 zS(o5vkj%gp^M*qCysLEP_aTz`lmrWIZ^B=JPx$Zo`Z#!iD>lEbL{9ZE8G2^0*bj18 zIi?(HcGcka+~M@8EQCHQZ^X)eTh<#jR$!x=P@~#7Hr>LSdEER-6ApP{*l{Uwk+%_F zT;v7$_w3osC#PwvPA2hrw(M2xKYo7pFVWju8F2CGep@{R>X4$Y6r#N=loY9+nS*G4$%eFokfZx1aS=Y<}u(Vu;7MqPJvUIsjr0w^EpHm5_xm389c-dGzi39(G8=9OM1>u|CP)5Sb!@R*o~-Fqtjl zmyctxBT-F2*J#6BFFmX9sb+k4{v#T_v65tmeWpwQ&1b)tNV2;dI9#LDPqlHAMG_|m z(1FE{aAkTnE}iNR5-!_W^}z2`y<#YJPch{(mu|)(#ai4?&*kvy>37a)r50ZPJ&oQA zyry28ha|Od5C7(^84K7nfK;{>QB%%7922#k4R5WW^!N}wnSP#{jtN~1b4mKT-Ou{s zPa)GM+#6hH)tQg!y>W+5B7WWNilY~4xyFUxV`zOQ`Qu1sp0 zr-i=xA+V>>1B^S@Gkf`ba()`c1zZuH10N={0l)02EboR`$&}#A7a>>U6F`AS9oeNH zqp;cj68-sHK}8`B?ANxHtYW*VNZX+eCUhFm%i;@`%Y4mYc|ivK{#{D91SZCehdq4Z z<0sq=tr(E+J_n;KRdLu;eL}}B%ykiAEX`&u4^aZlhGC2#YMX8LEvnh z(3yxT<2-SO?UUw*-^19^tl45 z2<|M+o(leZybM{+R>hAJmgM(TAN&RG{H9}>s<|pqvAsZWgX+N2 zH_A+3cQ>p*c8TW1H*-ft9dI~!5{?+~E({SB1lWitxSbG z${n{*!6lX-N%eF%e{up2N=7{O!l5Pp3qq-o|_;A z-n<;ns<}XpuPV7m=f$}5YYsQHQw|56D`!Q9SGkxJ1A0`f%jeqF!}FxUIC@eP1f+k0 zqqo&jWFHB956d0G2C8;267T+_XW0-SsXKW-c!|{RrXt<`#^GGfi>vD;>=9 zGsLV->jXw+3@BY)PYVu=WU)ch+1@{Sd-!pJJE7x75j+&>;xn^i=n9;G3E}TaC1eEqydfE13eT}m zJFVIEe-Ug)&Py6+)&z%d7m!rSEAByNhQPuI2g!9Sgbw6EJQ$(H-u>JJZt0l(CtP{|uXSWz9QlQDM$xaAw8$ zSu?A7-)R5zNVGgO8W-MKOoN24uy=Wz=>39D)SC7Lo}P)uX~)f2&@*#^FVReOR@OAv zWg;6hx}93p?(quEJ81NRvFy>=B*CjRpGEu}jSkYv*8V;oSlDk&tB2O(P#1nwuvBx z5m&(O&@sCHRGza-H)Mxie5PPwz7`hm1gcYNU`YE@nsdqx4KEdOnLDq;#kwm{|5(U8 z{#0XqE=B0DXA2odFBe;lmS<{48}XCiH5kDI0Z;Bcs$`(0#=AKwp$^+vyX>LD>2`om4)JMf=@b=-SxnxTY+f9}>MD><;$Q zH5pYd-#e84W^H2a8q?v1+!~tuVFue2Urk=24)D@r47+h>BrDt{oaqL5;)Qz?xwG3W zXt~`#(qAd?;x?Z|tyU?Fb~;Bgbp??0!3Yl)cfiki#`u288fLGf$i~dPA<{Tj1xLeT zacoitoK|udImBt?5qztD7nh&86^~x2fSeL}Hu3%**uTCN+Quew&dXc) zoQvydmYqCUSRH`7>!M(!gA45xvJ5tFpU_t6@5H`q;Ec;5H15JzuGy}WoNz3e7ifqh zQcc;-uEF%^!B?S=qb}B}cfm%g!gSLT+IvfaZO`_{Op}dduq>_iu8upax10%C<63z6 zY;D@v@kI3a-8o1*{uFQQQeiH_9Y}OFlA3upsCpGosoCLz!*>cCu3IX2N zL;)Re{{!)zL&?0!gXO=Dqv6KUSoF*m&v}`0yQH7fQjJP-n>rFKQZs?wio%&OuQ_vz zR_Yuig`0G3S$0ht;|&jzt=IsMOq^*eHn)x`AzVbHdXN$LK^}1=mos4fb1S zv%$%N2P?afq|aybv)^8)oj2V$(|a%ZjxQ?ASg8{ZUU|XSEegXOjXY)MeodpwjE>39MIRGe_9Qrn-oLoPR$iHf^^ZS*io!@1?=_J; z@2p3+3`QQks~CSF9pAKSlG?koIJVfA5{xF%Jxg7<)hN%&92w7?+m2(AMmBuh^Fkar zHiiD^yybILE|H3s1haWs3w;VL!Wp%JPn_1lpHJ9Dt8!&fen216o+_APgF z=5c|^p+l=f<8l6*ByxB@PRKB1a<8OcLY|#Ho07a22B{1C$nt1f+-V30`ewqjrM;ZP z*JMzXKZ1vU-UpcEc)m;MkIb| z4ucPhz&_y`d@ZS=4z&g{xIdfIb+qPf23Sz5dLM*YwA0G0;Vi>khcs_o65&xp{5Zu7 zZR+Hhmw6n_{<}&XamoSj^&W)TIgubcTon$_Rbu_C+@O4>8Pjs9qdi#*X_<6C|79oQ z`l;s3QAv`Q%Wi;kMvJIz<1aXS^96tGLxuQ4t}&@3S~1Of3x4X$UO1Vxf{q*6<9CS- z;@Q~%s*{p&R=+jCg1+(G!aK@PH=Pl|jI@Q0BbXTr7EUDUJ&CWR2@4 z;o2Tgp0BTl5U&_Y7iM%BtBav}MFiV;^@-r3o&^tXOVa{vbN0hSOhJd!AT6zz`k!Qz z{o^MPF)SYw|Hg6&nfhFttv&gTOcogThiUMucVJPP1WIM|YEMqp7xmO2ohyIC%_`Hz zJ39`;TH{bkQGE%DhLUVRbQy1~YRFUt*ThwwAM~Xuk`L}rr2dHpXq)z%JinS@jfp4P zj~Kxqw3JW(@R7f~_#SoLcEOkVM@Z@3HfyhtMqZ|U4kXkJ#57dJz#PGoD&vS3`igjM zaR;>=pA0RF8@VB=I!xDk9e(>DVmtHy@pH_daYsh#366#uT2b^<(lIu zWz8}iDR4gq?2zKiIfvv)Fe18IzYpgW z4`If?l<~Tg7tB>^%v;;or3ZGfH4CToWSwNZ(vv)3b6)UkF=I3BqwJL1ZG-7eTrjy}BZP*?DPq;ri;SDJT?o);u_i@oGZq9-6 z%v8%BhW*@5rLzw57W1Fbo%$$DQcFhtNCRrIG-d`zby%JILn^KQCyqGqk_(X2wc95f*a7X@)|6g)Ag0OPOA++d9z#E%hLZ{bYcG1$9J1|_1t=lmQ zn(s}(B`XZju2+lYD)y87(E*qyGlMHP(POStK9Wb0z%5BRLc^Xaf^1{}E@)Ut-eXn4 zIDH!Yl@?smYYx+ni%VgFuw!^dA-MB_;2Su1h>F|FX{Km7T5~zPcTFiAH?R>$8Q-F^ z8e5#E;6=v;caDG6Fq-ME!fuC{lI5TK@T5V^-#9Z1@5Dqwmzgf(|FzQN($Da>%bWrO zJcXP?2N!EzMu*46pv6LGxLLi8^`t%F-6wluy827fC?8=ZxA!DB_DMMu4*v=_b;aC{ z@Lqne_X7&tsLWi8CjmUGhZCbGp-fUSNyh|$bM$o5hzrIm-P`cccVoJlS;3$DsSi1d z9Dn{`3LkaG6xEOKW(J3{V0gtQKBfB$rP-+R)7^!$uiqS6`#_t0vlMsm<1ws?y3O$(J~$!cIhop*lWOA=D6>AnJ*+%O(}j8S?59TJ6`J$0 z$6_7V^;g)%%x&XqPd?@3Fa!&tX2AYXFO+yQ9Y>hmv|f@s63Su+@?|qZz*bTj^JbgC zQFRX}F*3)>1%8w}G9Mlt?Bs*DO(5-dBY}N39Dd71VWaa3@VnvQOZc>3+KBa+@aH_oSUscSH@*_qf9;dq{PeA!e*CqZyA>S>@m7{Ke}N z@Nc#aJnc=ORSLKHNzbcb%f3T&?sqq_duB{=S{>P_4rOQ6EZ7zoOOZ}q7@2h~=WjJ9 zP^f-a?YP-Ra9Xw!zOAspPL(Wl=r5zo+P!?Gah%vKSnxS-?c+D*%dv`}nx zVcNY6!FBo!6s`-qYPA8JgZn@6j?hi4Fl-1UZ(T$ak7tsaApDA)UQAcjH?oNCRH{8O z6hD8>r<^_^mr*#FD|d5*q@On^_u^@=c|Vv_OE1QA&RcnBlbzhi@ujs3l+5AB1vB2^ z+a8d8Acl)x`Id*vl4)&!7i{_(%a3z?3Zt*Ok!MQ>4U&{$Q(C;C;_^#S?nt34B z%wDdzcL5fL{iC`KBY^uRaO&3TQ&em&jq?@y>C39&N%cwgYTp;3FENCzJ=7-5dM9G< zNGUdFxHKqESU_8Z=jwmE*V7uGT_TsaRouGXY;LzgHGT+tM`4TF;ECgCrYz(gJ*OBl zCb$Kkt`@ppxAs!#!O1Xitl;W3TSDuW1#!+r{Un41=)&PS?CsbAC~kerhin0AeVs_1 z-ZJpm;v$_8y1R$g4ioy+a;P2IPtRu0Vdo{wY5g#7)CsA8rG+LW;i<@!CQhY_)n$B9 z#~(VpYY@IQn#EcZTu9w7j(YJvpJX=xV^@yBl%%6jH?{_R7aZW(Z5@2~T%A9^C0`W( zQwe^zYQVevC@652W(~c`q!Vm_y!IFRvo;<+^hd!qxz(_~;<0cJ&F1Hiy}0_!cMJn(3Ax4u#+USHQ`W!= zn7T-fX&N4f>uZ!y+GZ3~EL_Z9wCT}0=O?sn;Y--;rwq(y2lWlrffwWQal6I}dZ8;v z#<>IW_HVVu*{yI?!z00gNU zGyUCHs4Qe6X6&2|H+^Q)zqO;u;$J&eFI0d&l}J#YrN<8XFQz{=C9wx zN3xgK##rNTs>V z?O`){HoH^k1Z{j_-~@%T|8bo&o5TjLktjPNo#Kvurt_)>c?20df8tMk+|OPMJGn0p_tBwn6Lza57Y5!Q z#?G{8vKa|ZWbP$^gA!M4KFT`;-hdR>=UY4EG@W#jAi@{;W1hg8X zj+tlvP>!@NH@ID3du_c<)ni}7!OfdF84C?m+cSZ5KE9?e&cnrh0e8rbA$6oBSjwDu z0&g~)0<-G1@XkfZ)m4;J_?%EKXpTHP^yd;+qSpvc7qr=V-9j#2Qi)9R)EFl}oSV^a z$a143X`G4@bGsBvi>B0bI`!RD5~58%98S~AN7h&tVa@IS@QV|f5Ge`!3QL`K9@11< za*heB=gaWTiBn+Z8NmBj&t%_EkEf&T5B)hK%xFgJhkz-5EP8P*1^p2CnLa%H9HR^m zca(9iQQUBxT%rjf zZU5-r=S?_hmoam^dyKNRRIoay6W$b@pygeQ@Y}~L&~SDfoZPUGc5Renv85~6z)>fy z=Pwps+eH`t$iqHsW$8Rvx4uvO+vgGNhz-T5&HnV|L>O3(QR19tx}x`ZS$y^TAjG&@ zvXOOdF*qwwBi)q%U~wU$Gs_U(?L+yTbf<2~!?v zjX7#|u%()V-?b^UBcp-(r2I+gOF7It>mfc}rA(T4Y}la;KWz7jhaRV$;%z3@+>Ph5 zShYZwNsYSCcg@#hGP6@?MTZt!*&V=38`^HE*Fk2&UCc0ApH8jT!-pHXxFv25 z&{vm7+D?aH{S{4eH~&O8j+nB2IUzLt%O0q__k?$oUIGq_lEE(B7_8mXMbB>3@TuuW zc<1pxI<8(U-X-|rlM*k9AC)X&KA~oDxOg|tUUUV#%@x_bI$7qObqIBW)j98*i4eEQ3S%e5 zLDP?J5($1-mKMOZ2Pd-jQXUpWDI3JTSt&U1oT70C6+K zGAx^4#)dtQBZIwpupomd^m{5**Ji_m$T&Px?8T1y-Jpg#o{Zn_!?G;}!vFk>K!O82 zU)BY=)0SwP7YR)96r5-~7u1?}`g&%&UUata9MCc)WvHV_CK$We>ML z%A0kV^x>hWX}tRI>jLN|i^|2MxSQJevGDAa9@(Gp#VPljz{Qbc?r{a&y7*<-6>yi+ z8MqGZ&Ygt3UqhJw)mk?Ed?5xLEvS9oeVk6pS>yEf^E6Xkqn~KN$MMYjqYkg}8Dw zyvTI%)(H=2^#C2-ZEghX`m+uf4L<=Pz02W0HXcWgx<)NEr$}4Y2M$^WVCJQ_yzAFo z7=PS`HBC*V=n)ezW7t4$o3b=2Zu*bb`)`8fkt5lZb$0NsMUhEd>Y}9Y{SdNhDQ%Hh z17_1_p~b4t^hU@r&7WA!ITm_z0kZdLw|)SeO3USUOk~`uVMR3faUrevtHvDdPtwD5 zWA^%%7pJe}#cl@^KYs91e4+h{&aQX~CW)DNbxI&UejxBgCr(A)wS`)rF2@VE0@%6j zmatm0gwC`I9sS1|=v#k+;-nNYDy|C5guA_PC?b!;vslo3FOd4AChSKCu*9zOXtoyF zkKQzz(`SywPiEuEtDk64ng{dMa-x_t3l@7$2j5H@PMVh;IPLlFFgbi3RJD%9x@v7U z?|2(MNjm_yO{MUl#uFNNp%hQPW)wS-r{jSNY)rouJJ6CTYWu0hy;!ynh8>+s{xPv! z-1r$Nw@43vSZyYe!9eU@kOaO$-gi!W1Z^87oKMyo<7-nJoPJ$W$l4yKviuajc_%Qv z-Mz3x(UQHHF_-JV69#@yoKg1RS5fwdXe#qDVZS#i;G)z4INNUw91PjOFUT55I?)Df zUG!PnEpVUwLanjs%p*8tdW+5Zs?Kbe4`nVUs_a7WcM@5(z@JTlG;d7{fB!=PZ93!5 zo_hJvf15cP*nNzqtvJaCB!;1*iV;n+zQpfd0{pM7jQj1CPo95^KxWGVHp$w6B)!(q z%!30VQz{PU>I;lk8!y(?eTui&SK%sN?I!b(i!i`Pi<`Yo*pFwq(+ysqjnWf%Iz|@E zuHKvsA_=^1bP1h=JeqRd2R24675oGp)ST;wdds`Wf66R+oT!9+;8%KhK7*{*|D!K! zB-rOc=>Q#z*rzf3P;pm3H(~Y{>JF1bBiHMsZtxy{1?(r)#Ui>L`vyL(+J{dE^}%q{ zePEOr1UJnr@lJR)o&L29x>+O4QkVm;lqA{QxO^}R(S|#fJ0Lb$LL9hm1=*$vyP6y| z7;-Zht)zur#g#{Vn9KuGt;wX6h!@<8nBim>t%cQ#^1v&`5HC1RIDa!L8;6DoJto0B zRqZthb^Ppk&%ZKk;;a9}dv_fdx$IiOX4ERPXwhFM2EmyM=GXbDl<$M9Cr2a}A)-`yudR zY&@AZpMrmv&d?UEI(T?mhMim?V$mCCG7I`li-Yv>)1^}Cy*!hR%U6YV`@vjC z_DCo-eh!hxt2vKkB|Ne!nW>MMK|^l~Ih*kSr3un#GqRAE7w+Wc1z+ItHd89}MCLi+ zEg4N{qUqvh>Zv_T2b>&0lvF56{TU8r_FL)4`-kFjxBTFJv^w0?Py_ieRpz*MEFV5|~yM>kI!;k=fuq&6)D z-R`xMEf)^seOh4C-BHYU%rx52+D*pCbNG|deeh<>Agr_-hp);Ao}Au}m&aBLeX|gL zn{FUi+2%u?OBA8Fd=4r|CDMQK9W>JfG2-bu^sidV{V4d$Rr~s~5i$aEaGf{1b?h9c zbxe(GN_#=~b{`N5bvw1Kg!)H~7mPk~HbYI5yb%C+x|c0o$G-Qri&b zVPU{NU5tjcckj`f=@QoKHccW0+tZv;LkpA#Y=c$OEg<{kCHL{rarmLSm{XQDqLji( zXyxP2xQzqQ@3*Wq{)ad<^E$~Kji(8XH(>ZvX}gs^8YDDg8vyME;wyDjqrBm*?1Ec zz3eF|Oip4erdYAshl#Ksz1gTGY0T(Q7_0G?z+YN<+}ep@>`&Yjc1ZgL9Jg8syXQ+_ zTvMFT`3R-FR&`vsJp?R04x-MR*Sy5pNPPBgHoxk|3Yh=%B6QTql5<@kPSZL@lkb*O z#HdQ@(pkd(r7Wa9N0QKUR0T;ZsIl!q@hHD+AHI7bN9#Vvqmzyznr0+%@zev^mTRmwLZn+-CY54txG&^hV@Ae3E@!iOtCESE--af3f-2(q? z_r){ikzhVto<+pgi=EmQl82k%zwQa6JIlMU+IKUzOC^eMv^F`%iOEvamsWVT!HPN~ zcK!1Zc5>_k*sya2Ry%pJ;RB}ga(}PUsEgi=?MubE%ays@D@M#9sG5A%9-vStLHEw5 zu*BdSY1eh}-gg8Gn(RF8MAtC*Z&fw_?f6;N^g-BF7Ek5+&9ca(?iw~#Hi_2lyU1H@ z5QNl0H*s*!Ct)_?gwvLPh6vGqvVA#-WgIuehV}^LHmQrOIv>;NF2OZydkY zT>;-Kbij_$OHpR19(z45l7+Ib{EIg=yo9UZVs+1^<*S3)v~#2I%hd&>e*H9;x9PUH zWvm43E7OPX_x0G}+-A~h&p=PfS>$-7Sajp`CcJr|2K0JflZUxJH#v1FY>@V1mq%34 zOQ*-Awx|)-J@`dlOGH?;bP&cJi|Yi=MX+#DArj-&4U27#qOM7mZ}+ zmIadUrvi@SMNG|1iQQV?2-f3AGo1uDJ^~+DUiQ6+B999cH(!ZAM@XBZ#xeN`L#T;&#nY|`N+p8Z)S-&2xFKYO z`u>SDIu&q8X%?vc)`LSrXEM(50tJ~B2<*iNG}$x?m!`ibw+3ZqYEcI+m!I+6i$b_` zEkNj`&c`^V+3fS%38D^Fq2s2hz?Q>tsuu3N*}iuCj{nm6B_~uM#ybV?EiS}Y8xGJn zH#v4N^aFo2-3s!e!?BSoAcsVGb~9x$+WE<{jNVrMg^e5=a^f)ED4)!>J-kRY@%^-V zVLtgZ7Xg1&o^3xp7wbKBFxgb#em_IHt@K=6z2`WdeDR6FT#2Hg(};&q!?$%@1@MAZ{XFmCnR%aBMZ*D2QLbOnDMcj{9++rvgM>F z+t#DS)`A0mTbs@2r>HWG{%#6-y9|>&ZqrDA5gWHhg1rw`M8z0cuG4iRPHp$#y?@0) zd;0+FVdu$o!2p)Tw&1GM>nYt>8g%aL!w+*CA%3a>?tGF#_f@Q6v}^}&xI~$0N34M% zbvo?r$hGJ=Pn8U61DPetbHCdE(X`Fd==8Nkys>8Vy>v(YA)6~JtI9ueLQg4inWwF3M}4mvJM0I>2QE|`h0?-s;08D2NP-9MjbZ! zn~}&}aXnu++7E0u{wFe=UPP-@hjK2(@5phFutRAyBH68jn9hLR6f{Bu4P~^LG8;kV zg$G#N#Bf$!ph;K0f1;3A$4Kw>c79*ZL^h??5Z_mR=6!VJSjnh=bXxfyy$@MLE{k8m zrAuol>V7V++2h2?3A^`kiG|$B0$I*fN)E5T&4Kayo4AH<4R%Oap}eW>glB8_Vfms6 zx-+^GM&+8Yz|YdqSi6YDAJu`IRoU!72FIn?zNQ{}Ov?g-`Hj0z!0C*g;&;8~Sa)#) zi8?J{AJy?&YF)AYu|B+a<@wvO%FH%F8|B+F+42-syp<(|(=97V-%XWKlNG;OBb*O# zDIvLuD&TLV!T59ML>B6W+_6_N_~Kv(f9mZY(k_+3U6~ooq-F$8RS95udmEwgoCQV~ z0xjzcr|glr#0D3_{67Ipps#cJQ)P~A;ei-B4PojfykQbwf z(Xvfk)k^)Z-{;wlgcW7qLI8gP6=mfTdo7c`WcOJ(x9t<%~VZORu~n zDp!wV4M$@s=;Aen759gf#$t%SD35b$a5B;7da z?Jh+Hn&MRmFeKj8$Rxegtmx9&aJycyK!P|6aVS(#aivQ1tZ9A=j(l^vmv%?6Z zCJ8;a`~G~)RXMh2Xak(uQ~^h3q=Ck?PHNg>#PZrEGSSZ|Y-Cy;C0NgZNTK^bI_n_i z+ij(8FFB^4dW#m{Nuwa)OyKh-kle1CLG=eyl>48d z^YEwgkK(wUlvT)xq?9OxjQf0#QKHfykx`+cOhk?JE!Zw8+VA;9fFng^e z>W=u2f%RsfOXDCn^gL$nAIJiW4MAy+95ftM0`thx@ZsYu(s^Hr{~i-_&WL9Jo|sUv zO*)K?8;zcenz-Th0g%-h&u(-rg47X1Y1oEdcy_~|o_$2-7VSdHs~@2E$3Y~@8OKku z1K~g3i}Vgn#%IzNARc>=zw_k}cXifmT%c8mE9RwfPTK=$bcq~Qysf}v_r+|uj~=a@ zZ41w`FS5$NarA1L9Ut)SDIW7Z$r7!jY14#QDl#e&pT98=xA?fgl2BXzh=LlfTD6cV z56A)kS7X5RS2Fu51PyCj@sxjokl9FZ^W1Tq-`_9 zun)D@{>K@d>tn(Fi|N9;OxV04oZ|iG&?)r}PIJdX&Ao-b=9Dg- zIQfGa75-!v=l0@+Tc>e++8Vf1vX#tp%9*3pZ%#qrOMZSdmM>*$v@~cu@I}q+74v7G zhNWTioB&u@Dox`&!(dI2aDTXH0)>ILd}^hOaCXUHZ&u%Z@vGxJ>%R^;(Il3%t%pZbQW(#8*YqT0ts*mdZe_}?=j=P>*|PW8Tsm(;#< z^Tz%aIZWFCx85a#RkaBmugT_y$rbaTKfYlnvXXJrgL=A@6wMzWa31HB=Ha(5kL>35 z>_Zi<8yEHS3^FHTV2mnFt&oAVVLlWhWOpwJ&Z7ZB4qwk*1qxb(j>A)XdjCWb?zGra zw6!cu3C~cl#yYQb^z?bak>p zi?@PAOau(S8H4i@9^ea;57>DqmAfExHNzx2@%F<$W>w@0bK3VcVSxd8j9G)qCIh*) z^RwBSAId@oL^OsnA>n0pr^c_#m-^TP7B2Hi6h;{2{&|dd!wom9%YYf?i@lQqI^wWw8+ET>( z#AB)VU)c%{R-8_|dqSN4?=tNKE=HfX=KbAPI zl|Px?!ICWdIq5&k@HV%W^jddA(f2Mk>QNdrpC68jXQq>E@=;U@2?MFZVE%`$Ew}P| zqBvejaIOfvLA3^LIK4KPJ+3{*jX5DpG@*n^?TTS>Kj-1u_BdQ}JdM&1hjRsr&sm;{ zA#70#fVT7#*ebZcBl1T>L&ysH-lfNHA9@PB1ASTbLuXFn*9~#O01pcOJr+JnFuKWW zBIhedR%UaU=Q?k(XXynjHg4mskNJSK%0^lw_JX=k>U8AFPyX5SVRScAa61Uy;jurC z2#oeX)Ckvv3r363@ys`-@!gyY+!+ZAx3zNreb@@F^{<$>>kK$sL@=#@ho&?0*>MkT zns)Ro^BA)mw|&G z+cb1n2so7`!U4-`OjIj$o!pMY<+-QCSB2c5@A`cN!ADs8jx%_6xfCw{JrpXpIPt@e zC9s&IlSKEfl(5S^ulY|;mf)JCA8cs9B&^dH2&|18tP>uIXs@Gen1^x&55l?GWk{ z=4~;L?%VD@Cq=V=J!J;}zKI%!G;@_LlfcYjF{HTfqQKkbxTg4;z?dCNKMudgY=bDl z(X$c;&zaA>wBvz4w4CppcA7cQS4MlkufjQH2(BBTPa8Mr^W)2$Xx~LYY{{O;e%>!4 zX(5kf*?ob{Oj4vH>mxWFz0nl5%7UCWyMt}gAX-!Vjqg^rfS*(DvWv^F;(t+-X<$(X zJCNnZzD%|eXIKB`{@DLu%O;EPmWd-xJsi#k*pA`Xc;Cl*hiUB6$S}BIDR6PGg;D?V z3PkyG;VxH-DeiaJb^WJkEx8KE#ATDn&<>P)8u;_UYiRwoC)lFNKy|4r=w+;w>kI0?L}xid^q+&PA(d#Tcv;oDin zNokm=Bo_TTGm!js(gd$xC3{zA2~`<>bmoyFSo>*nzhdXpg_eH&xIUdNR*eF;5BZ{} zi!0dKweIw}hwzt@Gdoo=5K>ooa*aDVDE`~WWzV?4$!tCgS;zgB>j2RU^2>mVFX$Z%L0_hIX>ywn;1^+ZXtTD>y!A2q|4KfDzw_ zi}o?6iU-R0?sT2leqAa^X8S{{@o|`0A4JQ{zVR{-6vg>122lUxCX*U77dl5h$BR!} z1W)@~Hm~hA^n=mN`7EQI|RRirQGee!0RUO2^!kKc( z#?gGv1tIrSoFw=!KQIr$u_N8FoquS)2}^aZ@Y>GPDaAL5TxDX(Tki-=-}8_Si*tjh zygyBbYYx)hrD3>CzkqEXnuniNRKe!E3)mHflKSQ(()qEN`}C{_t=)uskWB%YZ;_^l zHIKmSwHEWRk7v_FdnsIPI4wz-g|e%x$+5(Y!e{u>F&#CkyKGF~8|sI`*Qc}I#nr!@m*bsWL|ZwD^k#-Js)imne? z%=~MoP~xoz{0lW=3R{0OhgF_P|i^_h~{5EJ^GFSy?Z z>u)I2mcP3xbYC#Nzxfm|pPUSX>tx{DAyfRCS&Nr?r$P5VZ@8tifgbH#LDO!w;iiNb zXb%d2$6Bv&&7D{H&S?pyOJ3wh1WMfz;(BE@zya# zHfEnIj`i?Fr91mrtreDEOcG&#b87RZp<^4XY@tVbJ#zKf3F(an1`n5}8K z#E$QnPqTEL#iJGH(P41{g-|}%+wQ{jj}$^xnjR-1bo@sSn#QI!Ca|CPGQh3!DH9D9 zcvix!<9%BXmh~hGzLUf33zs9Xx+Y`IXh%%VngzFtM$)klh3rz{K6tOUnN~X@8+_z2 z99(yT>;0p^dw-cmC!_W7`qLi#c*YRFoTQfiGZ`t)yB}9nKp35f$@e_&ZGw6k5>C zhTF%&hw==VP~6HKSC%tXQ99YKw+C0@Oj%le9fJ-jKwzYtFi+*EvdfRs&U&)Ja#1X0 z?;(nODo0_HjfL~aJ63h7fPMHF14Hj=L%H*0P?~>Km@}SdMN=k&ZjQjBACiYN+U#xH zI6*Av*xijuS^dJvOt-%GCoINCUL zGNw=PVzwiyuv<`j`i!UUNypHtUT`nyRKw)=7g_g}de%Sj4hvm&6z?ZQ!yVa5 z7%?CNs{40?yO}&ZHZH;&n^eIf^D$1c)Thn0PdS~W+c@x~l6~#ABDy|oA)l|ehnsXY z0cQRjNg-wv`Jpcx+1bJue7?sYJmWc#o{PTYx4vsF6pm%>9$k%x*Jbbee?=5!%>8ZmZ_F5M2 ztC7elgij{96K-tYwqc-@SHU9sLa2MP3T6FJ#cLX0L^dstaI57?c4V}eJ(}SP2je=> zC-x08buGy3DM5cBpSX#UXkAh)lTAHLF* zmaj>G)}aU3+ikb;ocuK=S90EVrp!*^j8}q%dPl`OtflGKD_`-;kPG-qe2D84@uQuE z^uU%bu!aM37gEWL!9qT3GKAX}z!kG{AtP`W-VRub^Op@4_J{Xzb59<=%YF%$NVw0w zYUQTfSp=^?AL30<{6))^{oKAgRk-fVRq?5psu*eiiT!aO1v&*+n!n$4VPCaP*@~W< zD8E(}Z1*0;hI=FNS<+wjC+82E$Sx%Fo&xwV7ER+c?@f!97Q#H?kl z5FKksk@WP_wY@GLD^v=Oc?+y=}v3tK(j;r{!o{JD%o*3uz#Vl>j=(Qzr}{8yGQh-eet4Hon1 z#|Ki!JZ*l{i0cdya>m6H~WU347FsuW-y3LUi8NK{#v zf>xWA`5G@JIyH7b(Tr%^FsK>^%@p!GUleGk))f4FLYd5ROL+Uy+Eg#I39nc+i=7tB zql)fW%1nR3!)*z=SJnldK|}G@_KEam!69&59|$K#M!|!FzHHuace0M~CzHb?VD#l|{Xn ze8m>!W=i0lw#jhXumU#uS0Z2Y2FvvC<4a#eXSH4oFZso0#5@$wHm}FD+p_fCU^hm+ zQ|HH=)1jBUwz451gJ9F*>v-qq67(%NEm|<>0w~{H0F}pQk>@-1PPATM;4qu9{H+?mEl{L;pHAS&0dttu5OsEX z!v#F5R)`VB@#tgqk8QrH!I=#!X0iqK> zXzxyTfqz=FUI^AGS~i7*sW~IcfJawkHVlH_pmBy;|OZ8_&E;beJEZ$7<%UF&@j~wW_K}}Z#T37-Bl*E=kq9vPF5q6icief zq7oKXKH{3@n9z;fT*%l~3;&cHn1@*{OLNW>o!zk;7S9$w+f7^Q5=Gf)O`W5D|p|1AOS=-HiF9+B;l<900dhlm*u@GPxjPFa#<;cUSDe4z(A0%JXV z!XK7G z9q5737pUAaKZP=JY_rZ2%CVnuD`=M z-ks<;seq+@izjwXf>t`6Ms2HgeB^H_I^ysR?=RNI0av?l^2wv%n-)WZtb$-}>Sibz zGlaCC2h#JmTj7b;LH5e7j16f#$9VSa`s|$ zi7S&(F&8qt_c7~(Cmc<)#cH`9+$l{sp?)K)a)Ndfx5A8z}-#wU9YQXKvY(Pv1 z!qrBL(c=6<`rzbB$3JAV`wNHBDYHo=eW4bslL8?*UyNP)3&Eiw7W^|zsH8%HznOBJ zeJwM9K`xE3N7fOgPI{2TLIoD>bPeYW5pw@Y+XQx0C5vbefHNOVNUtIjqMmLNn64Zx zle6c090S1YzOYMJG=-^r3}GEn^XSlu4=A5CRlN9A4|XKQaHhge;cIFtCzd+JwdFl$ zl?n&gd6QVO`tKt%x^ow9RQ2JZPYql{g)QoIkKyA#+u)_&D$w|@S~MxP6Sd|UG8Jc8 z82m~N_U>PWwe9oi?$IxdUT5j0V5t6G}u4e}SD|Ib8x}~6JgBFXs6pP6xc_=l?;Uu&sQJ`BL z^W7y2c`BD7C^sBdg;ukgo=LDWq?{?L28#{L*Q1*z$7=cx^TVE9VB23u!pL(8yn$>v zD=8yV8vv=!at@KYOJcWk60ubm{H{v78SOu!G4YT~9Pw^`Q>Gnzc0 z5x3PVp}|U7K`A0;2OE6A^iC*S)TYcIdq0h?P0-|;pLfE@5;;D;0=F# zZ9W!_ly07T`V-qQ;sY++HI#a{k0G}kPgvo~@#uS}5pzzP^M~InkfGgFGJI}Ca>J&h zsr+SL>PU@fq~9H8-WAK=yw-)@Q&y0Jf;X(Jw;=g{8T_^^U1nxG8j3#jqKW)@Y<+qJ z^4oWDRecB856zJ@v1K71dmDpl#_Fu{_jS>{xV3Oy$AfMxJ}o$ZPeR9(SXp%#w)nl+R8=1jM6Sj&XO-}F?k*;ATb`~M zZsJpJHVK_3C)yQbgx%VIx$xn_IcU*7?3uL)a_1eTeXH-W#r}q)R1aM!jF~(2VG`I*>^U#p@{{3UkwTI z33Oa~8)Us{#kTMm@C^HbiarWBeqS<0>I8z%YG25)xy%}74`q5)eh_`In)OP);|^Aj zgT`T@H2T?oIGDAKOa3SDmXZRQ!>j~6uc!_mC6)1)LK-{j=0a~*?u2spT4*kaqOtp) z*~xDg(KmiHhAi1i`|LM>jP5ah*YUA*&?}BbXy)?ch92a8)@f0el0KbHeuYoph-l>b zGolQw#q5vFbuRI*7sg*wB}d0h*vdu1Gp(7B$%S$4{jI`xQIE?ve#INQ!%5aE8=DLJ zFs;jxq-`gHla312*W06YdK8-fxx{aKavBz&%Ha0>lO(l{7L>G2=Y#9!;`7*J{J8%L zQDS2^Ctp~O-)`HG#-Bn?T7DF{>o#+e)`#FkTOND$wFf00#e(Ua5zy{i#p(WciVyL) zBHp)R8H{LEq5!EwP`-T%TQO!Wm)mH=Y)=`%FD*;FBz+WB_GjbQL-+83!)Spo70T-G zS3#npCfF^kWCzbZVd-fh0{bolR9?H|^}U^J<_f{@7bVZfWZ1$#zXHtt{Zi~$sv-Em zOfX@yI)3%f#$Up|I>XNk^Ou`ZxoSE^3Avrx1!u|GJ{IMKcaCFj3P0ho4=tZ=!^`?s z;4iH$6fyN273^n_X@=u5Va8MT1CyH1P)X^#FkxV_IoaY%M! z=Y!#vCLvrr%Mx?^YuSAxM(dBa`l)yll)i6AMFm5+F z!c*`Xalvr~IH;0`%Qc)}$macAM%ZJvFZ3G=eAI}&1?RB3JD+QoJV?r81@@~PFWR+l zGZ|hzir>vH;18Kf{9_&s_r7GXBl%;+Z%;LI22=aR(@OubtetVBv%4FAHkrcR@^yl{ zIEt+o4dMy?>{q2RUKNbpiEo$@ z1J9O>qvA;>G=**90|TqUaHl&Nh7M!dp-r^s;Uemrcn34nmP5fUfh)d@QFzvIx*l$&>vR`i4oz;l0kc-M>j+1w%5*y+zcFy7!6N_l4BdwwHa zm=MpFui%Bb`g3l`h;ocqOvcmk*8B~{5h!s#h7vPg*^MfAjyUHvTh;DQpPnnw=eH*4 zw=o4fn(ZhPm8d2n6`vozz&qbchH7JBhxKu)8IQTY!H(jJe?6^pUN zKoL8qJz-aWI+JVKQd*cO5Ai!P_!gIW%+Gcp{Ekg$$}U!X%WT0drxGoWnVQEwyYIlX zG+FQ*d6~EPQjaUvOroL*ag^5dlI`T?v-Avi*s#%p%w3k?u^oxrGMim+PIfGFYpp^D zId%JrJS$FV(_K4_;%NA=?g$>?J~L79L8|L(5Fgi;gjtEEm{q6GG`%K@El&Ml{r}R% zf%D`=JN{E)TBBTu*E`A^eYi+Emy~eJfkRldH4of0o-r#^!Tc&?Odp;fWS^A_VORb+ z&^q=Ni(XF7|~kzcn~#*+~p_(}Ck&%iw{KZ;VN~z%31Q0gg|jw0qmZQE4e} zYE;YgdJdCnc@cY%5r^Z)<&vwNBfA=ToYB_xP?U2NJ|?KbC57?SsJ8_!XKbWnco%Q& z`^}aWePeqfGV$oZYTTifz%qtKpz`%#8j$%4)=0(DZXD_-JkznHZbX!hs#4Wd{V_w0?lFcXeSi;%n(j zOAu-8;$Xbr7?z^jfFXAUXRp>yW@zmVy`$_P-ai}O574AH{z)_-eFE?B&6OsGG(hzE zRA@Nu3XAVAgD;OuxoJ@f(3O=9QoSeGrJ;gHyCt6@B7=BajjP;tBUd4GzYas@?V|(d z8t`h$WV$*kgnayuWBsfSm~$qBZTtHb*KC)C+Gb_ zDuZ0JJZ_F?rnyI#;Le)cY*JMK*lb%zxrzzg$7?1O-dM(cDgQx3(j(C6#VkJbcs^fi z=muwYzh{TB%(S^)KxWJ)~f19%qerr#q7Pa5-dm|1>W&Fu;;V}Dd3~Ji^qoE17)E=QV@b7OGz**7g|&aP*??YaCb!f@;3gYjxrr11 z{N*x=-tPnF{G*{>CYd~DtRk`9B2>}Xjnz*FQ*O{!DB9!B7fU^3i6DBxS?!mjQaOn;*&We$V$lqB}zlMKYZ7>@f+RDkR_DcW|V zn*CH5DzL7UnQpoh4e{0nnX+sOnK7FBl;Uyv{x4X)UW@D-*Hg>V*;JAE0G;+7Vpb=E z=)Y8Na##&GX?!Qnxzz}~hZMid`zd%=nPdEhPb}>}pgi3Uw%z3=X*Vu|#ebuj_rw}l zsPq!GCtA>ubHZLSPw*A)-pV^9#M6}>S#%|GJ9c;~f~w$w$h~JmZ;Yo<$ro?9RuG7V zspIXk9jd@fx(|CyQYm-60%;#GhB|d+IJL@w8z|$5l|hL(V@Uyqj*4MYd+Oo+nN-m0 zv_}7rY0y=%mcEYC;QelGhTO$V*@Hb|7L%)qOFy);^&_pQ?d=HocGHk9*IlF&NyWgQ ziH8dpQ?cuS1hZNEUbIJM8ocWb!9|+?nCi`Ph+KG)KWjRQyAzoQ30Z+q`CX27d98r2 zx?AAvSZTZz;f)X0YJqWyIepn4!~U4W;r6p*DKA|CroOL$xdkuTI?BO8L(||($W!KK ze+rH&P2|@~m*M7{GC2F|3aow-Nm6$gG56SXvibN?e0oeaDP}CC>_s!7OXna~T^>yx zHukjZVk_3%&!MSz$nL?X6riLU+U=ACe;>P%=-LbRU~UpSJa{_FKJj4?KL|91?#Gu6 zicq|CWzs-aa<$0*~rHb-HU4^aa%*dn)i5D@DEyFN}s^8;0E?@$ktkS=9+#0KzTKrUV=w16l3&Be*Wtklgf zgH3Rdw0Hh=jKW{kvK99{FlF~GZo#O#e8Il|nCSC1CSE2@qn2oJQhlHJ{DH2_wOC+` zAKHqBL4&C~{;$yA>_>~Z0CvIR1!nVK@RpY+y*9Ohz`{u8diVynxc@emk5$ICFos5L z@StPbb`*2r9xCwa)VXy&FQbsmZn{PA2g}Dp{>E}H%B&9#H%=5XlR_uR*pps#iePT< zGIIJl2mK@GvjgwnGaqYhX7yQkPIJ_lTCykj%o;<@I{CCy`#ffASx|{r7Pibg&!D;s ztDe_UnNlZic$`31x-;36k`)l5G#yB3Gc@)uXIWo2;ds9vyg?HqzH&FqpL-Jjm^nkG zklU1V=J8Uwz zejm1lyMk8AJ6w`t&KoPwrz3`W6emLd!u%oh?qdnwoa%x;ZIw;^yKb?!XWgl|X%fK> zFB-ox4%QW_&;cO>8NIa^yE>idQ?FnH3yY+@**f4FREqV@)1l$OTb7WQfZv_E@JIM0 zxU*Fn&uX-CdUe7cNogK>&c4Sz)7&BC+?61z?LJo$eHqmRe$Z)~GdQzS@cx-y<@~~D zQ25|vy1Q7N*J#wERl`Q%sP{D#Yk33T#ES9y=_*{+n#QUv`?!`hrlPq4eW;zF3x7rs zcHUV^@jI<4YkM+yTZf~J&ns-+^BpZhmV$@RKm1zLhj2EH>FDIJhhwgB)`PQH%9AuK zoP8RHhII*?druhTxdt3E&+#sz^LX^N91UFYhn8tS6>@FEaZy7R{Fg03?*}bl$u5Ft z{%sS^F4@O>^{LXoyo%BKQ1e0+^uks$nl6Vg1tw{X zZ3TAt3}O8RduYTFZK|573Fj{^1T*y=a4<*se;ZeW(XtWbSG*CVoet6Sj#ie&e$%C5 zVMpo}MD5Yr*^M3kkoR1jJRer#)}b=w)0xJ!|C^3!Mk3nseGd6;Ql|YT4fOQoDz-b@ zlZ%T_!fU_BLCuUnb|EMa#*VLN9Y^EIE6JCgv+L&0Yo6t=O)h{6&($DRE6MVug{-N= zDv;XgBk&pmp>xlz=9`)NBy;8|Yb%@#&o2eq)vJsq9dB7WQ*Vh^*89P`Zaa9;q(Cc^ z&FH_shtOf$A$+iKI;LFP0}>xS@ZhmBvU%oC^HinCv~&RtN_H1agFb}c#xt8+3wZ;6 z3S|1liTW0-qzM~m;k#q@uujE>hG=dl#j%-mE50!I#9n83OZzAj`0nhJ-n@h|x z_dZT(*uq&F4J13a82T?K4f{HkX|_o&M3tRnf*KKQk0?XTby=u?o=SHP3clu$DSXij zC$>`v+F7M)@@|DW_*{w6>MWt-XK29G4_UBtTlHCO&or3#&6Mtq9Lg7_T%cukshA~S z&cDhkV#NVvv~t%lw2|3?ua~R^zh#NA)mH(1tK~`j$X3jI&BeLuP5h6=B5t7mWcb~A zmu+5c44)D{5XRxS~>paS~o>PS(7Xco9_ib z%qwArZ9A@-Uc)_D*~4!Yx(^pgnMR(@pjF97L1BtK>88%15#ydg!4DMfRBK^R@(^a> z8OMH>`M_IiL;9)bOr?1Qun8 zAL(c=g2`VT>DkdC;8M7XeG+;lv*SjRhrSeRv&^Mk9!ns{eJ1DpK7hY#pU-RhGMw8v z3#3E$uuWSCKP6XT@cbQIbKyt+?rp(2@1Fw$)xUAMCuiX&W#p1J6u{fT>Lj0WoLwIL zf@KcaN)zhUP(i~K=Gb}B$R9(gMO|=L&U(f&Zd%a;-6!nkwq!p3mONj)B%S_Ts)DV* zPQcKY^SP~EnJ_NvGmEq}r9G!d!k~>qEqk{zP=1u z6R&gQKIo9RMUsy1*QFsp9mu%UjY}+$A?u!M8gF0--OuL1j<*K%==Kxv8RiR@pKat% z&nrdIV;y=b*TWptjLG-O4}Q~D71%oQF+08H99YF22a7}nGG}K+o}mPB&at4{J)c72 zeBi!|1}iK&2uG5=Kw(KAQ}k|QpD(9^qx52!boK_^3(U@Y=U5--8YHJtj(-6=5Fq3-mAqj|!T_rLVgzqKY{UcE zhA463mf$W3g_qZNQI79!@-i9Dn}?{24%o$^s9%BRj?ZK(g!h_FKoW{S)RCXfDwaC@ zJzKB09pAeR62lJ{m@r}z*@Qh}tv6bQoN6BZGt*+0&zBL&?PuTqnn3H*GRP>A!CNw) zdE*`pk}R19HkOP%8)Zu63!7ohuoj9C7^@d!y|{Z*g!|i~M|{GMD!5a*7MHxXU~`SO zP?ypxyyk05d-w-Jjy9XE*t`US!uLSUWfkzqQ3TmAV~W4_9t$S4;|xt_X7jEB{jUGU zIU~nn{H6=sf%}%w?4nKQd(vpiG#8RgD`OM#zl(oaMnO&R1NOJ8isim2r|K!Qv88Pm z{nzmc_spIGg{O9r+}+ur-?WbI?sdn`LQ_adDPvnVbKG5_`|sMg2>0yd=<$|*eoPQY z#e?0&qkc{X&w?a!Iu?th_z1YA-ke8lEBoY73?oaH^NFD+QLFGRU$(y&SG(NA_M%PP z4MjCpckm)k%66gXk%=U~wwPtQmf%U_!FXl}YQ9g`)(2s5#gpAOhXqX>%i{=p7-7`%g3*2Kdw zpC%kPC=$O;XLNURG|BGaAjI@Lle)BnZx1@idsxhq;z9pT8|wc07`K<&FSD&0w^6`yW^GRhHtr=g^&% zg?Q%rDgLj{Ex1&nB$luqK;Gp(_()hYzT@j`hco>J z2l%G(OTbt9zUaka1@cooiKTO%u<7fN&s~09oD&?z%LV-A^A|+Hj7g;ev+^0!I4yxA z>-zAs?oGB?!w|=*9>Xv{Nw}C8#nL?TdB+jY#5&uj;;ISX`GEX#eq?DopOjl6Y=dX&g!RIl_~JHbS5CDULKWqt|YctY^G8_s#M<);grX-O@$y zV$s*8g+8;uZCxC!zSoE$62yrfT7px}M}F7ySZ;W87oL%x4%tUWQK6SH?dlwj8RMR# z-rpKn>L1O92~3N5>l<0|#Cf7?*1P@Wbg8qNR@iRuwbXxjq=6yBj2&>+sRwSW(Ltc~QWMhnzg9kj9d!w6@J3 z63uj|W4S!tyQfGGJ|BQB1BXIP{wmzEX9sLmF`zNci=ei`4))K?#4iqUn3X9(Mgo6L zInox|7O&=?rkPTkt`5EqFXyGr2jKyim)yt4x}a$%36jp*LOf0uzVVE;Wfm|kIe~Ai zR*mj1jN5rZhBmxWBk4u$SiK?}B0K(K!`eP(P%%Q(Ib&8+?2OFaH`7|OiH!I>`epkn4#c``XZJ6*Vy>3cXT*k@D|wuKR7SQsBpFg*cGw&eP~S^&w+|So81P~Tz8#GtGn=VnMXi%wJ~j5qszKR z4I~SJAE3P2n6HhTz|MN&W{9V`@?eX2#0*xpq;IrkOMaMSq+Qn(r@ z4y)=#JB((dW{$_IbX8WJVu@XoV{x1J5zb~@HyR48f^z~>@) ziiphNIro+dX;7(@Ce0MhB#9y=i9|$*3{k1f;yHUqN&`hA4Wzf3=9K30o$LD(xSngD zd+)W@Zw;Wzkuo^nWh}}0XR$TU?r~%9j^qZZBw^7MErAo{NCP@6a6#-HF3M~k{HmXX zgDsL^>0Sx)T&O5y{kpNWT^DW@E&|Xaws`gs>YD5z-WTnOFRLy2tuiVk;UsicEMg=* zpq)*#I?2pq+qpSydh|^vf>fV&;HgiJXz}ZIsw+6dC9GEEycD%6X;&$1kUk1POG0mEz%O$bWfG75Z({rKl1U(lPJ;i z6=4`~I}2Z&sbb5d20-|~anxy*hNBMtVv6$&NO9kOHge%fl=?ANV18C24!^_IZB7uDwq)c1f*P`9eAQtK}T<9=ffPP-F^fSZ`GAln}@DK%D1o=44Y##30 z+>R3+>|t492LAoHfCXrz;mK7F;3{hczPD7l`7g@w&g`c=J3SURt&PPei{Id9gVp>X z!*MjmY$(5N$4v+oTZ8|7Z+3HaIXfSG3PTqj;_AG|Q00a$K7*a-Yc5>oB|ZH4Ws7@p z3_HVJDS3~ZCNF^raVv0d*b>MT-xeXfe`(SPAACN2g$1AVyXRZ#*trILC3IG~BJPbw{SWf!Lz(^^G2SY9{-YCCn<_u&C- z`XO)dZ3;uXl2+bUM-CS{j==dZGT5;DV}-6cCzx@m9e1A`;Be+<0XQv{0ruxi=TZ9Au+X8QgxIo9&4qnB`5TEnsaC?snz4_M3%85bS4HES} zI|Ys)u|HZhl zuYAZM307XJ&kl85#QNJJY#F|onZB21k#f)RzfOIUsB^_n_Z@J9O*)%vAn<~JToCx% zW~@Y~l_?wlWBCrsY*geproUE))=dZ&4|b?xPt5kg+^NfO#>OM8Zge;eQLJEk?U(T5 z%o;RIs^FC`OH$dNgREVBJY5*QiThL=&9=R$cZl1d&PMJOdP0|t$H0}dNHhHmu1S+6 zcb!IF<%TtG_+v;WsxAETZ9ADk!DjyFx<_pG3@`dMYcyqP+QRsf$&enu8Ba84lj_5- z_`3NQUMe`ts?H>^rsU;p_f>nc3e_R)GHF^{9wlg@dth#L3#w%tL(gdvkpJioyI=Sj z6DSU))H0zBe*081F zx~Q)`6L$w2(Q{se*Kca$`e<(~SY<&|X9z53-BS*o(T1>nz&Q|#%Gf!Lc9CE2Bv5rT z6tV{LY}u=P4s+dEKO9AVrkI@@kcv&()@<@DW0?Q!npb3fR@!(z&zkBc; zF4k8PUd%ntLM4u(h`hk)`9Ah}ngv~y8IBphZa9RxtD}G^q^Q-c?D6APNFGy#obVQC zTe1QlnUCYL?Lsks?r1Wom8G;n>3sHYp>H?&9vC->aihS;+HF~;6x=&<@MfGB>nj-n>mG)oN1Guz zibmU8)>}Z${c1MixeDwm%fX)fcuX=q$Ql+;hWWdFSlO=ky!7WI0(WO8EATI7|7I)E z*By3v+;IfmcT%I)=~B?Vwizw>6j~|ch)O!+VcWMoLLO}wTuB#h%Kma-<#*P>sfE!6 z7>L?wM=)E*nJw5+E_@GM+e8jo-k2t3 zPJ@FJFsW9lL`$D_9ffntI_F$2ietzlUD^-?J6fh z=_wvu_V$gu%&-%fSvi!Kaz8^&$75l_s0*BRxF60waRra0&%-n=J34d2o_@Miz=;XR zFw*Y~OI*DYPVUWSFRe9c_6;BSyG`&}-ki(UjUPgr&gJ4uO+BcqPiA7N(QN*hV{T3EB! zSMeX)XqN9Gf%h9+@$8_pyzMv*N;~|O{n(Vt2hDhiO9q>89nN8#+eeW@+BG+H`8)~o zq#xmkpSCp2aST3poI>|qftMci;MV>S?w5o%&UE^MvrbpS1Sv_fKeZ6O zDlBQPxdy*><1_T_AHeJAUF4kPETBPkypX#$WTOQ5Tpd?|ulkf}WqC34yrf3oH;5e^ z1)jhEmweQ@GaWB4FoTn)PGH!^M10h<2##}~~pA?dAa=<7ErtW28E-8L@4H`-V6X6P(xIHN#s zeZfm($Rxk5MK|9c(?4pgzV0?#_t8OWWUx)#J*z68m-ZD?^4d zRv$xVmxFQ{mXx$HM!f6+vh~uY7?^B@j=c%|x-0df`jrV7b$l2MTFj`gArQ?&CSdf) zDr|gAv|wHwK2VQwSUl-1^XZMI4}<10@dKg5z9)KRbISy}1K;KY9oqyz><2YsA2au(ufKJCp_uUkR4# zO8hTD{5`$@41~?KqOZTw`DyoaacZsLX*L`Smp%uB``Bc-{iTOJeUOcpqB7aF#|{)C zc?TPlhf=}sG<3ZzMQycJY}B($xcdD7mUU5?+Vb6*LWltvU-^m8b}5j7kp=fw*NSER z16Wa(U#+5^gUd(1!OmL(4`WIo{3r=!Q{-HQo)LkoZ{LgGqtqbbTLtenR~Z{p*HTX! zhc8!JL$_T6f9#(x(C~Q7&pwXR%^$Pw$hmMiQ3F5Blj4Q6B6q7dAIc_0fVTcDSYaLy zjXua(fB(QsR_}rb&xTWdlscQOWd?CyRdHe3F4TX1pKW~D%gGJj21jMi<5i__UhZ%& z=h-%s9#r38DsBI97_C8zxhCB5#f@ZynR({tC3bhi5YnzN!p*Ut*o6)|@~C#i;h`NI zH?stmlpN)k9vDX+bpk`{>}K{MrC+p&sxWVKD|3I}%H;?;V0h#&PS!(_%2g%k-z-~t zo%{oNTARj;_=pMu!THzVLxRU#|jrHRY_{^6BxPKVu*_3Ti| zYi{+H?^CVj(nZ0rQW0h?kdb zCGcv-W2zPGO8;5rV=;&VYNwEa;&Q&-R0`ZD)`(k`;(7IdDQw`ibF8LFI4gxXQSH3N zIHoU}Rfk-`&d47Ak&wLSv&V560c&VRjU1)B45T>+>Y!_qaEDx5hev{rV#%UD(Rt}# zLXPYRJZ&|lDk%}P%q+*Nn+}tk2@}gqy@k`KWpHr!3s+%Sh>bzNu-u}ONesAy|J;pW z?%;Mj?XHihVZH36-%F9zqev!G*oQa$t%XeYGNwJyiauW40Gb0z@lOA4w(Is`yx5bB z0h6WZ(kEjK|ENoz#-6ZBE(woaNx)U(2tBSE@+xU9oQGE|gv6*ozuHPzdQpXf7s-<5 zOQ8pHyBfi?@cqbBcq8cwYDc>L74> zc7Qbo+Csj?UVQp&0KFQ#MU<*sf$!9QGvnEn`0url*L`ZjA2?$KGyYhzuyK(rW@7-I zn_P`m8}z_$nD8b(ZvmqR{=k$gaoGL%7VOoF!L-qJY+7YHer&A8I>k%;z}n*|sU>`) z7c3O6xmmBOCU?v62*Ss`1mE#Ah*Pdyr)ir^e^6g&Dnl_lH&k6kTM(P|4qf(E3Yxt zc`Mpp9tm|{7qF-54-nloseAG+c(-dHJ#Q4TUuC~B{_#5=+A-YKye!=(jZ`h;Py{o^K@S+g4}+otj0U`!_IyG7$astMk5Z@g%_m+N?t zhy&IK5^m6?9eUDC^3W(^8(X>9*S1&~Gy__7!=XTVF^&6t3Vw#KXL31}E4Y#|`E263b0C*1 zbjmN?iRQ8|&|Rg28=7K7U2eI&=tvYr4Y>fWpL5xaYg-}e$|=6&coduJ^pVYt)dY8o zFlakJA7pcP2>nkksQ*ljl4Mf&`44JvZ;Ctx7CgL3ClQ#K1Ne9c74U0d*UYJ=Ey-hR-vI*;8g25{ag6*c#)#Gx~%!W^Ar zY|b(Z_HM!|cA{R1X19;Sn6+GFRBg1T zc`-Tc^;tFXo@-^SP`4M_Iv2yTYy&nrHXADzCgP2P3tqN*(yWmgiO*Bgz?W17+7TL-s?4sw02lbpM& zpItVj)VBi5`+KD*HQgHKYxSd*HHUlN)#LZM87Oa)gVr&{Y*F?gJSp7FbCub{$zRCh&J4f8$4SNG^h{lRuNNnd z`k+r~)``gX|3m-TE>N-YC{Fd2V!^)8aINxG#=3`6K+t5cmvTZ~hXORsE@J1-MDVID z6<8rJOEDT^{LiI|mrMS`7HztOCrfUz#6vS-Zpl~Ne0eEc9sdG%sr|so<%N83#B}!J zp+CIRSi|^jIqd03WD)HNFpAfLZEMcqqRGDCdeu$5wEHzel?OL^Q5ardEDc!>t!%ZL zBL6<~22?Kmj5Di_@^?@4af>QMu<5;+o0WAMwWkz_d$)9fo)8Bwmu|!l*L3OE00q4I zMbP3_UxH=+vK|7RB)8^H@53 z{Ha)}VImb;X7L`Iby5AzOXO~Ph@Xw`L7Ooa-16B?=yc*ee`n0$>M;ik!CAWBAtK=@ zggvqai`qwUyvc;Ch_nOsHzPr{V-?VWgQ(j%iu#4T-;es0Rc}OVK-A}ty(j&-zQ}xj z(Sc+9#bNSn!mQ=^-LM~r2;7*%NA@x~?m6GRM}<0nO0c=sMO^5em7KwM8~%rLF{`&q zLgSvbFgU~#$UdFxC#(xM8||A|@Z0fGPW(;rqn(WJu)0uyG%KH6zxg^!<# z+1b8<5Pj#B_;J_>+E<>!CtXwmwL5>Y<&B8UH>uMcnJR}TVJGm|ja;^X&tmQ8S1_5_ zArubsaAI*b_jZzeE_fSk(i*XUjt_YEMdRT&GF10|JV)FfT)A;7{kP&BQ+$-k ze5Oj#ew%sRl__OdD}MlXS`A`quk=VXMTH%h5J7j|HBm=Z8E&dlqqDBtU2kdtF}$7DZ}vS~2h1#*MH%}W@vWdoIhKrO_bzAR zhZHv^E9?kYJ7xJ;p_?bDHyQe7UBu-sT6pE@b^P!1JgSkeWg*pRU|?knw-nBRYHz7S z=ynOvQVC!c4^N7mlFKkIKMGqU$I*T5eB3p~o5dgCX!WP<%%*TMr}}ON{S`UVvrGj- zdlj0h%L#YS4m4l5A1&L3EW3j=MVu*Mf%ij%F3bbu=Z)fkZNs_pbVqvPY=Mdg_o8@3 z0j5s8%I?P?D^ZL`$z>0DoAO=EKjI21JZiv|dI#D0yjJFa){%0L0@IXxD_$RV93yue z!(h(<*z4;62ZzP;ryjrJRI6{{SB(d_DR(RTvttU~`mIK%zWm}c|BWSsPqTmu<*RV$ zZss!5g}SEg#FYnnakQZOh7^wwe3*_D@n0h*rsT2XEiX_humWf8HKRYH7qYN&CJGo( zF5Hje_-wn~qEIJ8mJ(wGVV0@T`&`K4u0H_lU;CluY*W~=OPX@tjAp@yF5!ayZrq-j z$8=tF^G7u`t8{;8f@*daj?$0AtX1XU!(ZU*YGYu@5)E(|$+vBLiVJHq+sYHJ} z*I?`WCA3*bg3R7e!=59CczMcD(weyrw=RAok}Hzu4(j|A|LF^2uOv-L_H!0geN^Vn z%|2qMUW<5NPzKvsF_1fIG7aCo;Kk-arygB#X?)kjZ! zmgI#KZHL0cs77vhw7~ojm^Chuv6ws25ME@6Q1#3b8YJ)r8Xi}1rs|Wh>_-s0`&F4G z&%emYX`kl)-SDTR$V=$IVI)SJk#N|nvVa?)yMb?>=Rj7?e=*(63^JdF;|DioIx3UN z&dN+i^~d9}_@*5%vQObI>zcyinr1W*G*o?onOk$zj*gBn;BL2e;UAnt5$5;UvXhDw zw^8WW(ObdpG#fI|AT(@Hr-Sm7sd_S_e>vxo_TIwNl^*yYT+oVxroyD3Q#p_RG*-55 z4o2D7vX3%xux#2AbQ|X{GWl^9<$k_mg}vk0B!L?*?z+N~$O3%zd$6v&7J~P+(&TIU zOsYM-`uvlVZ2O{};(7-=3V8j2&wnxqEGo>grT#N_1r`g;i}y_9s|FQ~3lfEu28&*p zz2hy13E!tZ4&Z>C`VaZO4xIm9Gm zwlj(6`J!7v2jHR6L-s6AnLSE&W0$2y!uN4)yj}VZUP-MUlT9o*yL2}p`?i-g2|G`4 zk0z)j{t<`qQDSq+PytKd&e0_CgY^7uh=7}%hhQHRV>y`-(_mRWfgC^tGy+ye1_iEVwx&w<} z2!2=bDX6W_=46|N-Ox>i1#}s4Bldh@yQ-D&#I14|d-f1UJ(QqFNsl@2q9hipSI>rz z3SiInmEg#@L9~AL5p13h!dvq-7boce*^8%h|6Y$qqt!uti_;@kwj&q ziv7bN{BI8SW`7aSXx3-$mWebp_5vP@O5$`LUq#VRCA4ncCvNZS$4RqBg7KZB}+l2OWYp;~G51bz5a& zvGQJQ$Tr3M7ALX7d^6oQccuG&3ovhcJNIFu0ew|)g@m7NEM)sIRv|YHw+)V@r}6$& zP!a^H*0-5+Um_HZbcB7J61l`Uk@dX2u((b5AMW>qh1PQPFL@bMs6WB;4mB)B=+gW$ zKLgCynxS{MB+ZD6goaD{~yx@sHW`e`249-o+}VDHNGm0V{4gQ{;Xz7xGq~N?yLi?P3ogf$jEX*S0PU}d%jMi^LA>_m=M*bj#-hRvLk&}FFh;W^(b zqXOQuR&vf=&FInTi-oh@AocSn-XHxa_Tdq>CvzXzG%|jOa8tbczbqI(s;*G-jMKhzqW z&R@kl#W-|2pbmZ!`mlRLvgpG3P*B7|biEQFUa{{ZcQEyVSkp`RUR(Dtd;6I* z__{KV_wC2A36IdwxKdzrXp-KEbEsPw%KzA>!v0LWjyVydsaNF?XnXeKJS9V_bDj+= zos6lnX94Zl|BIdcFd70)YD z;R`o&P5?MhYen-ZgK)X{fjFSa02C)}r;$4bb5HX(QFcH-&Zr!SL-uCSJgalU@9jR0 zZP$b2t6EWEV>0R44W^lzRouiUiKr@cRUMpWiw)cjW~$x6&MwekwIiP4uQ?UmUFCN; zSlGLBOS@QX-CWSWVuuqxC(_z=L9D%}RMf*qg4L>cu<6=C$rm?rroZ~R{9g*R%3BMZ z(u~*`^?U48QjFMv1NiMD!KxR@a?$xCXpYqmhe>roG+rm3%!Rih*Q-UwI-_V`MGoYQ z(Z_S$E|5J#(7&t-=w^UE>%J|pFD46r@1Vi(`$2zcBX2^=;2a-*y zGw83;hseb;G&oa=S)Q2-9Ul2qzW*>RQ0l8%Fd$Ey_kGZ%f!Ecs+ie6qy?BT8VI68kYRTR9!$a9(4BInG0JwJdWkC?&W z$oZrib^>I=rNDTc5u{m7VRFjuBxSS#bnpEqR?_n$R+J$+sh|ZJThn+8`#6~CQID#9 zKk-iRb(Bu}kN3&yVSX3Ov1aZ&79#N%_m`gHy>1+(f4@#Kbs2MtDIEsaAJ(Fwiz3~4 zdkiZ_zhZD(o~CTA;V19-g6f?qaOqAk7wnpi-mB!u{rGcqp2=uO?g#G6teNbkbUhfE zoMYq9X~PPgF7~s23PgW+jDK22b2;-aVA#*C^y}YXHc?6iq=gx9=vN27ewsEFL?qFO z?pC~9myNc9Cnq##A)eCJ1+6b<*x3q4YV<$FO?*3sjt;BA?9-cQm7x8%y^n?O_s7#J zy?w0g@Mx@5?dFdxSxi9+)2U;y7o5DG2vT#3pmXM69KHSwwvCRUtXc&s=-7^rPF$jE z2NI#@$!A_?paRMLO@m!ME%d$a>45981TM|$-UYD8+C?qcRv1QzfZkF@6)P6XIVBpO#8wEO~zKw zLXZf_g~uP7@Z{5QAmc++fwhpkAzdr+u^^IQ`lLy0n=(CxzC&i?XEb0Y}RV} zu~HeN;!-gx*o_7UL@|d}JCe@XO0Qg1@wCY<>Q2?9`!i-iZ|Wwdyj#RH%dg||?s<6Q z;W=oGPy=NcLfyT$*~b6Q!u(GGLdV`1^B(ZGK8|4}z4egzI+G21vmL|}L}YwW z4@2Sy!ILS`^me%)+hMm1%;bNw#FK~dRPtTag8ejVXbhdc?#a$hai>EjV&QkA33;-8 z_+$7lhiS()(DI=#v9;Ec)D1QP3JlCI-a7DGUg)0b*awr#+a3DWxx*~ka0uOGOHNDH zQ2byuP>VXs`nJ1Kga2SQ;>i&{b?<%}r#~73G#x-i$ZQ`P9t|=xGkJ^S^I^r;rz}c# z2(<4yh8rgxe|VYU;cJwi0U4vu!SfGdJAzA&x&|+=j7_j$mKYWOAH3o~+HJSV&U^3ow4j z9=zDW-Bum|pL$=i6L#j*a7EAxtIObd)h6zp{2}nxtzcV(JL84uV3OJSnAbWvl=*y4 z_3?z{A4zALNEy~v`ncF~g<2{`E<3Qv0FxE}+J zK>z3;_DZLU~Fd0#cb}urW=Kp3OF|zlGUn)#2H(V{kFd6Us)Wf_Jz#8%!^8_Z~BjUt>fP zM!9&oc{N>l@(epIazR`3EbHo%qNSUn(TA#8V4ob^nsb!P%&*~-u7{B8Nm00(BoP|njeEO>k?zR#KqSpoCNwq+cQ7P#;=QM1_W&JWlm`G}2dSxbgq zhiJZyFWlT%iaqOJanVJih1^mB+q7pBR1S}WA(3VLAJ6R#pc&2^IDB|t;@$D+ZJ)v&)aeC7+dOyD#x8~Z*aex zq5;dk;(FA@`rdTVXp#c``n5ExYznUYbQ_K*-9YPEANejXCpzt0#%CS7i_r?FA??Ca zxRtyB<}AO(jh#DE=s=4Wm?#=FZ^c2_k*dPESXslMEpND=BLsil1uwQvUjlrl%wY@I zOi{(C5?o+2foj$aq-`*oa(8G^-xeLFwsIKx{4l0_a>HT1uPnb=AY|WqRs>cHr7l)k zPovUv3N$@j2I9TGvm4rubfrHIKmXlJCN=X}<}PsVnbnyUmb&g~_6eLBe8`ZZ|zy+|%q(G?DfkW+A5&TF|A zK~Tj#|Oem9S{IqYMiml`6Sht7~8Bn_3?n~awP5AT& zuNO%JOzdXdkwi4zT!og`rqTTye&{wamCfG}1;*Byn7oQ-dzY@H10}uW^ZpwuN5nJR zO#&-O6pEJPmEis?JFNeGhCa50!SoPQGWa)v67KI7?@zL&Vnb6Lsa?z6=)8}~6QfAs z#R-0_^<6yHxDc%4qGArd%!xxCJiqu|~@MKtGFFaBR-9fA1k%MNSktc{GJd9!IFxpxEmL{8s6c@WXNxRgJ%ni>fDpmCYPF^jQQx zn)(oaB~B#rvZpPo?QCLECKaVc@fVk^#(!TgvbpoNKoi%?{wT_`O`)OP^JBm)6Q$*_*f5ee}i&$8ouV_r=Np?IWm$)wp zVDG36JD+X9$jv6O(P0DyzC8$rJNLtDM|+ZrU4mXw3-LqYHG7BJ7@GGWglP=BhDkz3 zy=}*9rYn_4EBX)*g$CjQf%&$iI-j)#3}ueR--LX=zy_1?;?u7y($V3e^lYyi?RKoj zVMfmAFP)50i7pUfpb9z8vT!Coo)*3xkB1EHXy)2MbUSV`XJRC9QdN%fcD9lb5|Tk< z-u*%~sRDjw_afRcJpwY8o#8LLs{TI%I;l32a&8*acH5<>(fAev!UV6d(Q|Y!6mGT8 z=Ft#ICAQIbHygk2J?HgxFx@K<=IH`2^3-{Q`D$O;okz9!P#a!; zQG>3cAmR&bVZ`-cEHqe|BF2OZJjFS*%Huw6@;Fb@<8|m*MKkj<5SUi4ePPk3Q0^hYNB-Lhzn&<=XLUSqkxzs^b_tl*yc@R7vS2O(ldSG@89TK_k;z8X@XZ~wh3E$#CzOC7z_?rZMn^b`-y8U2XO|=78zXldA{lcU+7|`YX;Z&e$2GhSk z#`QrQoH0*kHnVqvTc#2B>$*Hy^cAo(%d}~kvK1|ybck@_K~mT`kWALuGs`l4m>IxR z+pHx_-E!eif^EN1KJNo%@pVD!~0{%*?#Sm4phlJbk$ zsJt%LHRK_V5S+-@D{>vSS++90u!B@v+RFF7*QPt$5Atav74h%EKyGfo4hd@$*Xmvaj0vaP^_Ar073?Z+Ub6wCd z6ZrpF6h)*CV{yTc&~MBTs@*M52LsaueS8>`|8oK5@_w_k^=+KiBU$Ro8U}4YrqFS! zf=i?KgPNejRyIu}HcX8|?X9>OE%VX8{2RU(^ypib0r;_N5Oo*{dQ++%Jwq85lyC_X z^r|p8YBEh95D4#9Mc~5LgXmwV&zrB^gKAyNVWgHEt^9fs`*U1TU0Q~gpIQlbKA4hQ zCe2K&xkZUto8r}J0$G!e9JCh zzk}hiuQ-!bQ|$1{W3~tOGxZEv@G3kA&Sw?qcyTlxj_VXy4^}KZtc!CJ^teeIvKUuA zmWAkVgOe_=s+KiJqpiF$`(hqO!%Ek)B}*P*)KUe0qTxWYPCLOA()&4$WmDBrq95h>)axW3xgW;dgGZ4310`ymnhpCS?=ZW(&Gb^m5-y*A z#;%NB1}O#mVMB+|AE0!flUP~EHMhs|M<>UCTEY@MS?vj-ON~)ur6K&YpF!^ZS(xx% zhSlEW;M2b8ZX;4YT=VF6@v0O+JG&{5>d3!2=XJr(=_gBVC&yA;d1PqjhQ` zx)=SzK|Q84R&58Yei}d#BW8fkIVbMmHEYnfi|3}qC7`9zEdF7Z0&JdFEKZ!h6K=Sc z6sgbM;? zaq*lQyjCV;`bSp^Tu?!$uh9~xC>vqzla+M;`YdEx^Vv?D=`bp(6brnxaH^2$%6$C} zC7%D~)L-gzR#?JF;ub6OnMngZ&#|@BmVxy~6R;hAhUNbDgf<-mXs^m(dlkzajGM%) zce~)1|J2N`tvrDyZ7Vs2hJL$evlpBtH&D)pOIx z^|&j4#d#6-*j8{hSp#U2_81s=VHnmm|KeJ1-Nox}KCo`6C2QTf1GY>`t*-jV;m#Z_ zI=R9N2PbBu%ZCZu^qR9;@qaWi5H5dH17Z=|glM zUeg##mxVnnJA5oQE?&vs%$9?qTeh@HV5c>|8o>Qf)q}Ir#hj6vHP}8lz_(SFu+o=_ zSbMDwC5tzu|7(2ZLjg+I~S}9<+yp_PX!*70>&?nVW&ofK&fzd z9%5O-AG8!QtkQRx-O3Hnr&c7MF~opdsBnZIwbX~oM#X@#aC@lyo-44d8qn}W6mCBB z9Yb$LVQb3|9C~mZcV)>dOpq9c$xl5&e|oI&{umDzE4xuuJ(!j&szK?UGLh@Y+bs0t z404(O54#TPkVW8d7<=d(2BxiJ%dXtR`nfll;kVn|J(h_p_sXM2&=7v2d>U@(Ga}V( z7afM_Okj@{&ftrG)46aJz&#!Vsr3FPihVx~O7|&3K)=u_Gy68`?`}msZx=8KzlUW9 z*V6MVofxtACX@T1OGkFRLHm@QQ1L2)>Rb;)-C#=+Q4J2zc+I8Hp@aPx#LU@^NO5Cf8S{}1iHtq?a!O^0uB`DivuV8Qp?#GoBrc-1KpKis&4e_v>`U6CKyfMgT8 zb2k>}>m&=DgAV?ax*2yjqZcQR-i&t=jaYS5kEnmF3;CN*W}f5TvSYKIxdknEn4H@* zURiS}tvRw-V14aDnd8aOP^`mL_W+FTu4e}4?RkY!$FRq=kgXqdPAu`$hO;?eN$)qs zvU8nL(8Fe;#SCNm&}0vZQ|i&mL59=ZC(Hcer%^QTNYlJMg--cJsCjk*u>;n4rzHVg z-YQaH#b?%`Fj4ioXfx{wKkPXd3oPj#)4aVG?g@NwgQLUXN`n&}sc_}?1t4E% zVvL6UlEjC7Wue=Qpl;u68n)e+W+0*9;HU>U$ZRAH>C0!|@9np5 z^ZSC*u{Z2WOuzB+7X=RC`38(tpUo2PT;sLgP2+rAW{{bD4x4Txuu^}%WScs)LFIzr zI1!i;PsWQyoAidlS0A9V;Ei}=|6w*H(3Ec6oXjkz1%Ua#splO8QeiRP&d%SFX%t)*t`lTulW}#+5u~H^LtWXQyxlw-)1z zpimt9C7y*33Lw!eZMqaX06)IH2#*Gh0kdJn;scjX@Rb`f;Y4gO=Vsi)oFYn4@pLJ4 zJP4%UmWScl(4hp%|Do#B*90m$Nmx2yANA}t=4*3Hv9CD?Ro~QM_Eae-qOx_squR8%6M{ zwUBXFec139O4#CU$ohlLG1hN8JC#;1>K3cRbG?Hn>EM?oqNZ`d%C750l1#^sFu&LuO zvXpA!E`0hNi~qBLpF90CJC`ENW#3s;ImefdJ?%pG*o9Pl<~=(ZK3ZVX7GtAUg+uRx z{kZ3;7E}C@0II$ydSF&5;-*dn!ztQyYRJG>8y`52tAW-oRhal{#=J8`^l+dXBnh&>hZd)>2Qng5enWYFu!mYQ#7en$V{ z0e3>vhkGc~I+cICXeL@$J!W1mKiSUQlMrySfi1o_0q%B;!$T>acvseh@2|9GX`0O} z>#YK9vDD?&mye{Q9+o7d;|Cwp>{xRC8&r{u=2puO!#(O^^y!ksqTdZrl(ZMkD4lr^ zT?hS*iXdmR1y;Q-gG2)*NWZMgF1lJ^D8GW09hktH$~chNuSzDb5W?<0L4(IZIQZj8 zlKo*xAFfow_l2HJKKTTnHqjP(r$1z8C3U#s|50@2VKu#77;d0>PAH`bDGi1+oV}Jz zC6!7cB~u|oQOGYOB`K0hr7}e-(O^o$+3Q7Sk|_$2R7epr71FoA|6N>8yR+YSt>?LK zp*o-!oJX~PF7o29!;qPO;3wWq03uO5T0 ziwBZ+lskXZS)C0kP{F=y>EI?K%u8x-(qbG7m{X##;Q|B~YJt`rN*pf6wQ<4NJfoee&DF4Vk^#HBUW!RN`H3@~1~ZS)0?@vp z$_?yPMa^QN15^48=BsL8*TbuHVy7H^80dYVArAFEE|N4OwiC52em>Sv{-i{;tJXRU_QRI&UGa9s*L*+937W1AhOv zgSJFgQBl=>viAiRKJ+IYrDNQ=KUJuy^@cy~`h%u_+eQ0A*OOV-O2N^r!q1=nk#u_o zv%t`Jh$$Y(+RkKi8^SWh6Wxx9e4kWt)e$%NJBNGW@9aVvz5bziOr)hO3`KmGU_3x<4En zEO&?=UQc4D5B%a6Mw$u^(0UN(j^Os*-Ny7i)NqwsAN+k&3)-9B(Sd9y2v<46_jNg= zlf49fZ5hIXg*&}@tqeO;CuBlDltGx&NcvN{m2KZw0vcIcX|Iy7J6r6)_%20^`X(pd zaW|DNS}4MWc}L*A?jJI{7A7A2x|eQku_Uo_C^znX2R-r5g4*tJf-ig^ru_1R=kmEw zr#%2}k9MQU>2fIH_F2SV)CK*zJEHEeUV5>!79K=S5RW%?Wcseh@LY`-Wz5_TiY*Da zw)+kZsrp4-12zHr9Hhz#I^3MsDVS4}%f&r)WaNDk)F-E~zsqE*np@Yxht<28?aJ*C z=I|3jR<2|t-DPmwYD1PjT9bLI9)vE=9M@S^q0Cs}d$T~74KL>S^3$1kB7Y=H(y?Zt z0t>>NTZl6qJ9)LD2=3$YUo>P-GRRui(w}|uZ19YDCTl!~AD}xxWaweVdVTyTe}gVl z3Q3^M)k;{LK9@eZJ)^AWv7-8dmsB+UFbz^wrKL;vQ|d|;{zkbpj?Mfj*8FjeUzk5p z)GcX?H&p_m=Vz_xQs)v{eOHZ~Cmez4CXQsTSHtUT>_LC!1WY-4oZ>4^(Qvg+`uAxv zeVJInX}@vAht~(-uCe8086wBl)FiS-jVVmIRg1kn*hrdA4mh)C6s%O$;OEK)&`0Nc zWV@d6H-(+#8NVm|zLsOKtlFH-R5*oEak{J~Asa3yXt3Ykg&(D?EDd6=1kYzX$W#ljPtsdUor8t@Z^4BjUd z`Y&%g%Zb{JuXi`n`i#41=mf0o&qIFHpxf{%;XbWAY>6{9B$+7u2T6UjW4@N#vD#_A zc=WCDOy6!c-jonLxZ)+`6rxQwv(|CrZ@vJ-V_~>iF@nui{>6E>rBG@5Sf=>$9$jt` zrW#Q}yp}`)Kixl{=wTJ@@w`FTj0C{{86R%m?-BHI^%DASlA9$WKf zDy&&@h31;(@H0w8I6*fH)oqF5a&oz-3ks;NmL;k?8i0RiEu#73wAqVg`|;_<9&#M6 zh^vBH>?0;B!|`?R;e7Zue%bj2Fx77w+WKFIz8&xQe|J7Zn&la~KF|ZgpVo43wp($1 z4JYBM*<8L;tBmBg4CB`wk!N2;Nl=q%Bluqu!1tLJGubo%mE|kob6goLTdfIlCnVXs zkVrNuYafMl2|nG)yP=>r8Mc+b7nL+jM$<{3C_Q+)xM63nD6(gqDEMX)CEgg$)(rhc z_3IEvR6T_^!>8JfTvkpS798V}6r|ZJ^IU*K^I5y$9WWTCgL6&~q5Z)xpnmFm+UDfO zWYVngt+x?No$86pq!UnmpdZWhJp+^G&tUamhV!9z<8XF~HLmzNg`C@0z-#YN%C?Ka ze#=T)+A|7wD7@h^9(*DF_?uK?@mA#X(}Z2F4nTi#3f2BMj;SSTi3|LP`*(P&tj`CRWf6B?B(Y{s$}zn9V}dFQD7AH+(AhgZ8|XB)8xhtm0EO zZ#_7c-Dq12i}e~Q{h%T~x$nZgeUVKwEla?9qduFWv0GICc?Mgw(H2|IrL!y1YuVWR zLX!3QC-LMYy}YB)f*! zG<;wgG;N(KHv94c1_>DeH|aD{**Ph?Ez?gyQR>Wmw=!Qg{w_!!j-vR}TWFxCBkS|H z40DB9?#a>vRCT41E~_M?*Ys8h)SZA=)Q3aco7?2LY$&^&@{+n9?%@oR-jK$)bm|V= z03AuXtkhGQAN6Rl_~RihCYy7HlXE&qIrsJGRIwR4Es|xwE`AdIXZa5j?}|wAkv_X` z8ApyjwK%U{1=3moGp#)Fz`QhOsP}{Sdelpu7CX4sDKXr?_!77jsf3qrk6{0x5}i(} zkjcXeenMw~eb`nH{GxN5q&2nB&m*0EwYyKPFXC{N<23rb(vhvm*oc+yc5yI#7U`G9 zWB05CP;S#_!_V;Wx5OO-xDws%WR!S0-KgIB=VO=B>i%O6~Zogf`oMdljvj!e=n!)vo#Qf>*s zl1lPXa*hS0ohm!Vcq$iq3Y35WPCi}b+_nrH}>ueEnC7G7+E9f8np1hOV zcI0q-ggxv5$ru*4z!IO8PT(F#+Q8yGRi+(!2)|z$jU#5OV`haWzjN3{_TB$13@aRj zb*h!L$gYcyZ#qUN_F1q%IZ3|sNxd-V&|pagS=>9NS0oM^$80nQQCV>+{cSpm9X?I` z&Px?=H>-v8DwW`k&^3q}CUB}{kHS5_NvP|h$+o$+K>yjJ#P=choZRW}FgFbPvk&AJ z4a3~;-mqh@6e~D-4Q;o)1=*x&aOTByOp6)Bj9>1jfN^hN?Am=?=-;%eU%v5lB)5V- zte?c%ZYDyw;C4TtmIv|!G|4Q?mKIm3v(NX3vIFun>G!o9&h_VBk#maz&mCQZW!*KR z)3?+qbi`S~WmXOicLbK&$)E7D-w-wlv&(A8MLX%ul>K!&_TKUo-@dR3<=awGd}TK? zl$54NLgp58Tj}=iGc;V-ajlj(gMW|6Kx^Y-n9&%6%A?cxf~)q>d|U7$HA>?qj|fhF z#Zg%3^AhZa>_EvyU-{48tu!w+4~^T4xOP2(5j1K8P86lH-)7OA`+Z6FUxTny9whV^ z4LZb+ZBbnJq==TdP7>Lh9HX%H2gK=v&adhwF$(Rlq$BMdzGi}SfOpP6skOTN|V)VI)yB_}&je8?CUg~O@E z_#*!O?o5#picCh{Nbs^Gkj0o!^r@~Lykl!<@SRK;9?g-;&mJ;u+6Cq>Y)N~z2Rl}f z1~suoa8~&xcsDCy&ZJGy|DlC~TW;Z`-N(tO`!#9BInCAZJf(%PNlvLVC z_b#5Nx8A3rR$mz>y^a)mH|jXZYZP#QZ_`x88Ztb)8+HqP8mULagy--KJ<$72ZqLKm zHsuTGzh8w#$8th9OK`ki7Vg6X)rtN4LP7pn=r5ndKa&`RqR31<)S=6?{q&fZkw3QF zlz`yFW7*Fy7wF#fZ?q;fmrNJrQRC7n?EhR^KN&MDF8#^vpYe%i?MS5?zX!8Di&4_53P#$M<5Q)9#7cZlMu6wc0W-YcqCs!8&ry9gK5? z-f_9WYEs=ihIyE%qS`+@_UHO|xc&SD{x1H;AD2DI4o_SG|Jme#X>Sk7EhwQ1@i^jo z?ddFC6}_2!gpE0}m)jp?f_GHU(cu(X=Hyv|A|cBpxo!h#4V0u2r+r!ej~lrB?^AAp zkc-rR(z z)qqDQvvI>#p8L8Y8ZN&pBGcjKY+CjQeyK`1nIG;3D|eD-|!X!Hx@$EdMD_j+>g3S@RMI%u&`2^}|DVDs)eFshJ*&3a|r`IGHb z6xS(AZXU)q-<9VS$|v>s@Jr zreXKs-=p0uO|gZPo%Y#DzdenOpC#zUPfzrayvU9DbP;94O!4l@NDLP^CwCSpABD5RuZZO@PJkjuD`wviLPkb$ z&|ad;k5^bn%5%f;=+JWReC96HYa4-|-Zqm@*eQBgtB5KVnk+kC;HtZ~foS0)a=)#~ zl3WqJe|z+Jn>!RAbahW^O(Q=GH2gyh<2r&qRn1cDWv%*%uYH) z+l3r;`mnilRX>iimO8*?-iyUWI==kkaXL^ebq5YgO`^BUbV;qolvUr9;Az<#IvtrS zJl`kbwVV_Cmz=>*lgi>ATC4`OW@&ss?k%@<)kmsWv;pj-%DARiGNhnTC;I%P1fO_+ z=7SoF>4|v+%?=&HXwXC2Sr`q);yemf`OC{MTtkcf5-7jDga3Q!j4OS9zy+tTxj3FHYm-4}NZC_UST zozLBg%J#YZhy}|56Y5~btWxrN5Q&@iX3(>!D*UZCg&*c*#TL{o9S;I!M zJ<@Y=`^(MbCN05crAgs}sKHDWrVMsg1ytoRm~Toc=TiA4sShA4+EHZMJnBCYUF!I<#Sei0xEPNI(AC}n8@Il<*6*KS_+oVOvO^E zHQ@Etfl`Ki6Xg$fWw_@ZINv+KTmpny(yFz@t|+mo&n5uBQ{e7SU%=j`^4z_7PG}%y ziw#3R!2QYB=!vA@ypo(n2UKI|!i2kYa#AFF;uwc9WwCI+yPNA8+zJn*HED5Yo@nlA zANF9H1oLi)qYIl+-14rU#tCkUrfCTf_p6!qhQEdepL-Njy9s*zN-1=X9mucRiQ)-* zY(ktd>+0NoT36dT%~a6gekaYLszAzz->2G$>1h;>EegaDde29n%uU< zkho$R8zpxYwg~w=HyeAp9Gy)S1J#-8^H3;jdJZ|!d)S$+0q|&JJNNUCDc>cTK|>a# z(%tzB1gE;-S6P)vmBnc^O-BtjR*&TiBc{VIF9&A3qm!%H#js5#2w&c-2kn&>WO;cC zn{FV(>Ls?)i8&_FAKbuy3;cmG*FSLi>I+3VlSZ(y+tMlc_aQ1jHb8KujKl}8gbarL zQyMzZcvre zdGK`e5ty3WsAxkW+-wP8b2k{XJLk^8qOWV{m}(A`CrL7mC-YduFwtoSkWEjbHrWVDA3L6OPThu_qgUXO@Mn&itp}Ai zAGp;EN8r+19RJmRg20@pg~VVR+#lr*lddJwpW9iWH$RS2tOnv3HD#uJ{u~9bmw_+) z2gAYn5g5Oy7(AlIH0AF@njT`!)|KueFS9w^>X+X5aFYYSV~h_&i8+)y$%s;_>#0ll zcO&hEESK&c>Uez@8xC(_@`pR=Q<4pPbT||?`;NifOgFk^m`Nv_o(S2R)u{R^gHr#N zfcEGzF6n_Aj502zLGP33>G=rIlviLj-AS<6HbmeBA0WLk(r9+|EJfdoPYXQaEk`Kb?TB!n9K@7|d2!BfE9vRMgte0d{#M_VJQ_0%cd`8G;HSfZ#AsOJ2R02w4eOZHlFwK~;mpsfx zY~TZ5dRli9OV1bLrpi@NJ>U|p8vBdC6%0^ZG8$gHZ-&I{^4QdGfS$(N!TFoH@Sc4_ z+q@Q#{<*I-VQDyAb7<#BzVQe1{!=)~MwZ#usY3a(LU35gpvEtr&j0!f7A`|^M1b&F z&AH4EyEPiGmV?D7zdxzfNNL zhCgZS7-g0>ej2_vaK_g~(ir_<92>fIjgTw92J-`ZsAkbc)Ek=1{a5lI<}CkAXWFjP zsi_BOS>6KJb7m}gOr3<%vWncnANR?;`2g*fn8I|6lqqcD0QPVDP_`yO3V(dG#8}-Q z^vp_=4K|+*a=B8tZkZ{{IWK{~`%Ia4_($^5BhaPY5Hsa79hzMWV{F?&_8||`X6%K+ zlOyTbJO?&5!j0Dc(xY{^C$N21x4?YvDBd<3P<3i0Xn$YD+!NX%4`aY#-YH)|Soql_n@S!El*6SR30US~}XAy}x!3_B<))&yN;^cyuRxwbte%D_TjX9&xIJ z8a{eG7S9&%gqMne^eTBA4jd)8MYilRcg`rlf-Q%rZ+Jhsho3>oNkybN?msdnY41Zr$3z-%_u6y@x{Olf%qpkF~VQ2bC)Gg0$DB0qOyN_Y&GGj24YGj%zSB0F_ zAl~!idhAkG=2o9EgW4srIH5Fy>vrEtcR%i;i20FBRbembTWP~%Z%MTNDV(FTO8GF~ zbM*V$8(O#NK1h0Mfv@>letY&yXkY0Dv@stl4lRL$XEd2jdJsGMSDR76OMd-@)nwhJ z$VPuoz*h;Lpm(Pg>@WWo?KiSu8oNSp(ezUI_O%o*44c5b`s<-cpRgE>DEW&alN~k* zA19y1->thuQ`c$JHG^96sWzd)ie@@@^&jQ$F{HuYXV7Sg8>kd`kXy6m2c)m*Cl{|T zoZ9RZJn3_vax)d!u2Xqjez^oQJpYl>%f4}bQ};spfGEBt3-N})8vK2wkW>CKoL%02 z3`UiC;x$_vvi~QXM`e@f{Bvz~BYPsN5V*m8ejB*udCriO8H+u8!`a>I?R=(Y7AyFU zY{Bg;Dp2}G6(fGYs_1B#+&-VH9AYFI)ANN=b-Uop@g(|SeH`pNgg#5zaPIf_xx(B# z60MI%@%H_1#8|S49E1C*H~%jBc^R_XaT}PnOd1=VA#m>3MBzLCweVd(A6DD_f<@di zbRSoQ=LRi+-ydaJOR+z<%|%|UdHk$MYsvv0-zKwj4+qd%(+u2jKLxZC*0D(SXl9ME z7}Ce+-~}xls6UwP9WR^<*S2xj4rNfb{Clv{kYj`Wt5IKi5!RcI0`ta~5TUl-e#p2q zF22Ew3O0#pU&3p6apoSs^~+t*8~2r$XpYBoo{`ME`2*Q~Yofy@IZS!F5%*L=gQ=-j zg6l#P7A9d%ibMQZfsHkjig*A`eFaz%1vq|s6{W5T6Z}J3P^9>m8}d4X;_j%jN87ft zc^mhW^U)tLamp@)q!4Tsa?Rg5gIR6ES+UE(Skn5lllxo}%38ipVrj)3`YI*i`t%O+ z5wiGwTT;1r-wX7|_79VY$*0C~bFtoS0CQ|k=ayFP!vQC)*rw$(aIV}Ix**Ge+qO)& zI(<0PiOEL8!X8*?-2-0N!s%<&Ga=`<2NF%gaAw*IGTJd8AI9sG%alj-vf?bad4dV- zcgvth`g^%ktBr7Du6@;>m+5E_Tu)6)l7#=WDt>sWgdeYHu|{t>*84u2wv@|bU&;k8 zaCQv4@ZA94tkb8mzt3rK=ScSI?_Y5B_)d0ew{VHAJbNv<9xr{mMgAkx@xQ_;uD|*)VtOK&$lb!x9O9p zeuyrsHP;~>nXjC8W-U3iO<^XP(U^389X!3eixy9FX8T81aLq4fS7z+fX0FRqki8Jz zt5cf5_MUJyQrZslH(0TtX(6m&;X%=d!CxU|b{VXHK8@YJRVXfECur3wUKC(4qMtU&CDn0lV7XAUfZieDNh>6{bvem z375mfhyTHoW>5Sgl?L@Egg(X^8_>_b3mt|hu;dDn-u4Wtb4|u$r$*tn!Dp%J*m9cl zOak3~^g!8T3OeB^k!QsW_N^d~4ho#8T5oC0eBljMrapAABM+TpZlPa}DGSI{V_QKJ zHm+45H$_P%``>81wP*^ne6SB{yKc}1y*jFV7=#t7=P_kMD&OYoz%{srl7ZS9F6`n` zntaLviZ-9;Cti1fuXe9tQ1Df_yj7WP{hLWKzNh%Ly9bHYr!!iiHkYNBhvSs(``E81 z2L%_6J@dUI<|m)J$;+hpGXL9)aD|`X{vA-n4-oDsuG^v^{6ZkLdL)q1s}2%x|Bw8~ z3=%|z!mRgcH02ntq@sCSY1;35^e^5UnnNR4Sk!Y+Ea{`B_)Vg2&p3SJqD+O70V3~+ z3~UV#1t+ynWLcRD_l^W}@>YxRz?WB~u~CTyz5d3Zee;U`yA%Nrg&g>>ODnkY<6j`- zLj^PqnFy!fYG7ZZ&;_3*k4sldu;0RrX>`L*x>j?TH7VF&6&&aXHgsmNz4H2KmvBGE{RvG_|yF0HFE`Asc4{xc`<6AQ*Ol~cX zUnxbSF3lCtKf)O>*B)zJo!Ez(J+!ZV5o?RKB(t26AQtlP=T5i7ruhb7E#xrQZt}pK zqDPeP=8S)zzZJ{hTt(N9oxv|rU0{1fOgSx`T;0&ibeq#=QmbXzr~cRcY@biu%yc35 z^(P#@`=2D1mPz?qEAhWT9h`MXk0$1K(BI(iP(AGcXXw_%C;!-Gue@q2wOvWTHosQt zZoNnOj=^BJE1%z&a}*9=IS&7t6L|9?mevUVb(3{Wsbv&hz zwL0+9crbk5`5T6Q338uGkEPrZ~D%+}mPNZ=wmDF ztI5Klwnc2k<0())rj-{~T4X!V8WU2L>8;dY?)^kLb}(xvY9)=JBttEzkG{z{IC#MP z#S%Cv@ebdhm&KB?2`<7p%%4z;)7OM>yCc;gIBGBD1b2(C#b~f(zwZ=lEpPK2Jal!gP#}OS^rWkPK)srlKM`1YBu5V25i;* z1>2$)aPBshT(pu28XfH7n`a1J?qyf-V_gm>`&|-r@03um$syLgVhnrRk^{QG4XHC+ zQqa`zz#T>VX>Om;%X}~hMfuHiz^DO_)H~x3FBklAc0ANa7IO!!7O(?s08^aVN~fDg z;<*Qjyi4PLxLTb^uP#l1-t==6mtAGeQTZ`^ArHvU4rx3ALrx_JKg>o@eNCK_5| z#*tLGE8g{*g-c8QV3R`~oUtMbw=d^6a1rnt`_RK zYT6$)4r@M+2CD^@EZRJbJ}ADV_{)jR_vAnbxpb4uOrFU-t?s7B!;a#CX#<$D!ByJb zzZ(9XR}^ncJpmV2rD5c})7Y|nB$IMGkCXiO(F#;+tLatxPaqFPvsy=?r z=8M!mGL2j3yo1ixJF}Z>WY}=2h0J1!;7I57;6FJM5^Cqr=r)d$ zyET}xP9iqO*wc_%jU0TxM)RNRvy{hsImg^IzIL@E*y*3*kB7^#w|`Vws(2Ao{CSsJ zSIh^m!${p3(yZIxlI;uHhc!wKRo_is(>94sq}x6LPhTuWjZNxk_)?J_`@R4cLjgrs z?V}r!Pv}#?aWr{-nj6s*0P9VP#3wV?;g_NSkUO}MpY&W={Ar^#o4YcT-xBkS^9<;= zKQrwU4O-~~CQm!<^WrB{oPHy}y4;l9>bptu+c#R7B+a}d%V@}^7ql_VlntpoMQ*~G zz%a~$O+7FOH{5zb^6ffct~ngux*eh+?;qfY&SHMX^O4MXGLlMPC47uXU`~sk;?*6m zN!K_JJ`B)fxI2_x3=n31afi7F#U&6mU?#dP3gnc%yxDa8LMgW0FlpH|VNm)EXTLY# znhwk&_0S-2l2oM5?H|NFLWXp$$v`elG#UG>rh!yu0W`fRBHFkFeJ?JDVg9mkOyK5} zG%w=H5{F>(-=9=dQwdEIWBJF^PNCk_eV{uw8(zOYMmw||;mWMr@M?1v*N*{I{xhGm z(;C3;pO{61OcdD2U5Cly=}?;Z_%{7a5`*j8gD7EF%#ngO4qNNY8jlL!(>dy}?T{Te z!mpBM7{sB^?yEFd>J)piOy zKfBb2{<|PN(|&ugV0bOYZJNnUjn?uDJ!SD$qaNGVRUw=qhob)p9u7^hVR?GF;`V97 zNWH(4mR5_{+J6#k_Ca?xw(%(qa_r~dZ;i**%|7@!{VSb)z6JX8pHhiMhDa^p25k5C z0=F(%+^+9|sp1PbN$^g+PKcqGHDCCB_Cgo%SuCv(=fLZIPV8(@H-zp8Bb~-VChc87 zrEY0xE_ibOwf2zhK_zCSm&T2dv1g)VQ(;+PCw*U_NMDwfaj(3!*si*Ltb9irq~tc! z<027`DV@Y_CH$gSgQf7Wp1{*uy&KBLY{EmHHYBs;Fhv9vl7_Xw9G)GEeV)l6KGy(> z(?4@3hu(*Ua$YrM=^Gz_NS?=s(&@J41BI zab*Q<9lZe6+hWAy6OYg?N5E$xs_f(QYzguINt#(27{k%dI|ui|+s64|W)_JI)J4JF?~B7S~HF{r&Aq3Z4jz zPLAYVlE8fJFmhgEii>9M;eGoKLcZMyoRj|sls~O?;_7{$%=;Z(I?SN zV4hXQ>f_Bod7R`olYJ{XD(ocfS%>xyik|d`+xsGc?BS4T-XnF~H`$O)v${>i%2gDe za+u9tAn+~FcN@qstamWhU_ zfQRB`T1V)mzVP=BFy{9=2pQD;TnOooq)(Qfl%{+NxuZ!mKX4Fx?DC#JxJ`{Z>kP1P z`#JugvI4akW>f#=AvDnXD7L(I!%#~rAwxlYVpIjq%T?hzZd>By;%RL03wiitu0%th zo}zM9DZz<&o91a5h|lpe5&To2tZoL&_j|;}MLnmUq7_`4-va#AagseXC?w0^6x|FL>)efKO{b zsaG6k{5>7^ z#6`r0LdK;B)Ni<&)GUX=s61ml(tQxOE6ie{4}Zg68zmY&H~=SD@1gT!CyL~ETp-uv zmy~^86K$p);iLc0kM3-z(bHOlbJ`(X$eZ#8HXEsZUJ-_m{b_$ZQt)$1=CINss%%1^ z6eE!X8)oXm9r|d&ElIDVc`Ih%3iDuW+$D`G2DOmlr5IAW;)u(yT;VhQIMBd7@VDED z#i;d)n=A!C+{_Cw+VTLmU-X{NR%MAbybV}GiaHzieF84OfGjTOHh27xIw`B!(e8(_ zqE%A@aQ?SNAooWfUlv*6GSw`8Z<&Z++&vlGG-BCmnNeJ{yG4e{!h zKY~Y~k{-Hjz!s?BDh;PXV}*_2b~wy!JZz7r&JSRxN3_%V{6t!Is)mjx>_%6CCc5yd zD-GS;$n{?QMqF_Q_4j>&d{H{cyR?I8$RM;lG7l%$RlFA-i#4govWd|-ywNaCa2j@iZd_JGT^&tq zp<(D?vzfjukwwFMSpvUH;Ot!IN%hWOIODhw+f?51-u)V+B|Jw`S>u`eMk(AmV*qqV zWiZuG3e0KweM&l5&Cg624(1+l5Rfnl)s(Mt1NC`Q)N0^wIGK}eyfT{;)(NLqj>2L7 z7a-k3mugKpA*WG>nFDsRSJAT6eMOG_JF^A$Su6&}`vV~`NChuw#&EGPlrgySfTk>cCp54<2{d@iB?BbnpYQ-FIoEyiF6ipS*f>r$0@o^;kE(=Ev>=JdX zdRC?KS_b6qv~p_KUD%o)31)jo5!VbGz*V7QD`zO)<`)spo$2V+PK{?<$YT zMP>sml%IhWnR;wR&{3?qHcaqT?e;xfi!a2sx*FB!0)}RHdNd8|Z`7 zJCVJTkEKV0GHCYSFWjH`A{M1M2p@3yytYWl^DzflkouOIPK^UQ_aQ9aLW;t+6!XVA zLhxF_Y1m#rhPG^x#=^zbv}oZ@mbAYF(x#k5zbOIWD?NhE(w{XW92(zm2bYx{eD5qxOb*Y1E{9(5X*tCL=ItjhUv;dpHN@&4>-Y_> z!*JVL6D+%LDY(C!AaKqcw!b!s@^o#v_M>yzVTH9UICP3wN*kzHHk*#6{epfMO}rMm zj!Sg(WQ#i`*!r8E%p#{74t`_wW6Wdn)9)pU--Us79TYR~7;f2}ORb_&RHP|5IP}ZO zf3N_#Jmx}2dv8!z_)EGoBZd2>GZzgq|3fzeG0otln9}(e?7N&sQCnR^SNsG<=%RI$ zQR>X<)6A&Q+?q}7(_%4$6UF-{2tTW?AvibD2m+()LAUIR*f+0)bRrVqXoVsl)Dwx1 z%(H2sF#O1QatZ>XRGH)Yfy`i!Kh^wL$Bj*p#*GpySzbjh(=y0s4@Eo;ue<<_heuMX zg%q3R_?0*RT~6$~l;B%2g|;z$q5+%UQ`bf#)cVv8H7{IA-gyCAm}9}-9yg^ud6B4? ztIymEN6_d`vFOn@jr}tY;!EbtWn<3eiUwwM(YWaYSakg)bl-ai(!I4=1a?wV@hnyw z>Bb7(Wcc|y%TaF7W||e&$#?yj$hJ)kV#6KGNpyTGK0nz-Uio`yh-5ah=X25T$`rgA z^a5s|mZj)|r?kbXmtQQnJXT2PGE1u{7_wLnV>aG}yO-`!QjP(8F40Mb=~kfHn@%ajDQg6;4R*za!1SjdCC2C zRM0Dh%3emS?PDE%c=wSG=Bt6`T@xye&||rh0xL{{sNkYEdmXJx-HsFRr<)cHd^nS- z?>|Jp=k7+m2z!=$<}_q4JIlA3N3#`bHBg|@0aKRbP)pWqaFZRu256QF_pbL;B<;l< zY&raO^dcEewx*7u)!;Rxn@c|310$p&aqk*=bckNWdR!mUJ5f8O-R zB@_9~ZYRHGI#e4wj#Z`_u?3Drw6;V+a6+s@bG6xcx8V?deDRxpXJ!fc`%%nh?us5GV>DA;vjd7>@g;r!7oU+4EVl9|-zs4Gc|~qq-WiPBe1fLb4#cP}$MMoGZAuOf zg`cnugHEd8u8IZrKEJa_<>C$OFqn>)(>F6O$Gt3U>o9EXn9t7L-G!qQRAFP>2|BQ~ zo0n<(E=s5}=G@-vv-gLqU`tFc$@Uv@31W5D_Ur=WI#qLpRR&=9ECn_OR8z*^`IIg= zs;)&GChH+D>748_A?FYXLc0Q=2rS9FgRQWAa3Cl)Y=GD6hO+A}AE2^vHmlSe!7?vO z!H1vIVf2Y6p4M65p|sglZ&?E?^hIYJu?jhQ}DiI%V3<861hT`t$QEc{rMtUzT z#T47h3H8P^`rAO|zbEo}PA0tj9}`^Lu#bYj$THbE_aXE}5Y;)viyp1Q|ibH;VX5lZWz&;%Ayuuf!$;0;h%UJw&;DZNc7m1Is*?1-jxUV zsZC5jF9$J;j|yyM;}vRG;K6FwKRzHqn)iIKf$fiy@WaO0Ohr^ecD^q;&C*`*4z-44 z$#^PjTa2!0jr38-CG2bMhnB-L=FPFsC;CU|L1`G=HJd><(>`-rHXM^NpTd@A z3USG+$&ft4l3ZqFiA*G)(@3Mg)D|(6DT*Aa=y?Gpg_@ylD&fu`50(>fm3%MfVTybU z`R^*_Vm}Jr%t`|^T&vIZs>rkHRYmyWcK|PXJRY~V{-d&c!j9~XCq&BcXFK-vfNn*f zUEs#4R5?`G@4t6uP6h91{?Qo7JQKo{o^8gdLI;1=nJ;woh8CNi8cX@U2dHemC;d9N zkYC$gLSrT$g&F7P!5zoTn6kaQ>T^*k%t<-TGNWs%@^8B_n-c;LA=ZIvJpra{8wZ9X z0olelY`P_Up7v?rWUkMzfB%$MtNTDw5sqwT?HTy*MIc|NBn`QBiJ)Nc5{kEW@u}s9 zVfDOY@WX!!)Vd+%Wmz-VWOHi!*v{JtS*|L-OxSWlLD<(xF_DlldC1JkP}n2cSjGtN z&u9_{9AIbTV@S~>8xFc&<#O|_;P?`vb3@kBdzV=H^k5p9ebA-AlkW6=OcJmDXC_uZ zelw9W6r23YoKKAyPI@^W{3PWPYAjP{u;VPo%Jh(C%m}W_L5+=>6~J;? z0iPQu{5~e{5cUJn%qx62o3~Prj(8MM-;mjuJwJvHt;#~L@GU}yD<9l_@6tQVWESh> z3~%HNu|w$Q8Z7)wpVr@pcpB6wPqNDBq7?cqox z96x*ua~R+Qg`HDz*v>h4+&{j`$!srO>`UQnPQM_7z+U0ZA%~`U$@IKRg=wr_$n=c1 zVUElcOz6m&{1cuO-|a_va#vb*)-zrbt%P&C!alz~dv| z@ORo$xrDw@?$w`J)MMnug+3U;)Y{b9aUn1Nct9Z~nxvun5o?y=C2&VYK{Rc z2n?E6^iQ;mPNh2XQ}wLj;c#V^S+xf(TNlBh6VqV~t%f7w{dmAI4A$IN$4P4=C?at# zv$RlUJqON`yufYvc|e6PPfdb$=`b2}eKL#d^C3%BO)Td=0Ur1TX5lBXs<;>nzP%Bt z7@wqq=Zz%cR7WFPjc5&Dju~^xaY5HZN(lWR^gW8`QHdXmw{0Z1x7oN~}_a)L*33iOSvR4ZtrnY%_;E8>Xx%0^x9KNzsioqayi z!>yY02wyDf#g;MEY(ruk8?_>aQd;`iLE+qVD04XSO(A63wUZnEd@X!v_Z8U4FL|dC zce%3~mQXS;4Ey|*;jdpgf77-a+Sbk$c7#y^qitV<{p~_hv(o^xie`34Jr}yK{9$=3 zm6)$?681k6ypHcZM7n)ZBvpG^4dF(zQwUr z+7SHsWW!y{L-f_{G;`j7SS@q~zWnTBYepHegrAZmwMJGn+E1Q(cJCK>vsNV0eT^+$ zk|Qw1GvHc~snBJ2fD`Lx@D>Zs3*K@C>WCQ4Y;I_=@US{Isy>#&%oDi4dvCeI^n&?T4kPWX)unBiMUUzv+6y4b2N*nJEffqh0X(!67(mZ8;uzvYyl(o@40krJ`Jc zss8v}I8!Q?rGWWz;8rn(M1O@mXk9rbnto>6cRRCosV-JGa}O@A+)i_4lSJNI#JRCk zzM$grJYKw|6n<8`=YB~$!(pFPwxUac4KDe|=g+x|@vXW{&fEd4mQTXw&%_QaQG%oN zj-3*-Vuu`xSdr^jfuW$zZ?w$e0@GvB$EO9$q!z%3QTs4c&^8D z5&rhO#p$*0fpDF-cw)>h{$Qjv*b08`cUe2hs96&?8&|Nfwb8t7qCNj=kP3z8jE0S8 zb=m6Gfa4kJ_YjJCwfdx2J+KMf_SK53{wh>5tnX z&LMs=Yg?6xCZX1N=B@^P-mU%Szm3_kRC7$r7-W0^z?y=*tfXbC4M2`i2)y9ZE zrfKz$t-Lk^j~TmyScEoCiHYIlcDFSom1TqV&bJuY{Ea1drbExqk^GxYY818Y7?anz zU^8}*H~q6X2L4Buf<|UA8VAdW0`03Xu4gKXt53&=-_(dZwv4qD9paOgI|{S>738<~ zJ6o`LG0Pf!Qxvyh6I4g+WGTJNKx_CCX6D0i)Ex)ZuK-d`6g&eFw%o*x&Fr$>GCIKT zLCLBU;Q1vDclRb)kG|&53gSDs^0=W`_HYpW3JhdqEA%~|HN0qbFhH?CRKS!ALK9lt~@}lpb0~?GI zo3SA{3v2sB*nzruth*vZ&iq95nLm;(3;c`&OOf{!bEf4lEGVSe4U{~$v9Rvedi4uy zpxg2Y`=fS_y*9I=j7~FXyf=gr!)DR4c{S9dWy?8Cv!F?bdpSi{Y4pk-#kQ7uL&dGd za8S5EhBdtxwXS``b+29pQ**8PC-U4x_GjWt9Q&%yAo{4z>S zQ>S;&d+a;k6K$BR%J|u(!kAV^UIEY+m&Ff z-~$@ibcwqkSVI8|Wm)3f?aU>lhZi?Kf*V2~aZlQG8ycq1A>%u8-0{k%xU?>Z8?`wb zrYv+~m+v;B$?Os+E|Md;`)Tk=s*NwW7!9iWo50*>1TS0u3k%c2X>gDVt$-nD^<^Tz z@?bbj)40d2wtj&3wya^_7tF=Y{sEXWPm)gEzrx>5T*FR0xWk`WZ%$87&c`*9N|sB@ zFXFX*;UF4Rg}Osj>8IEyY#+GF$`-hzvT-A-O!Fj-XUhD3AxHOnS0))9y~V$KFNT@# zeE73D#n^aCj6Mq8a+m2#F|Y9##^tHvz1Pzk^1n8q<+&*&{cSSMn7M+om59tvX91BhLk#5JrQL2d{L7gev{=<`(G~~u;VQF&#T8SmxnliNj%+% zzkq&`0$*XRA6zV*h#{SCF>#MQ*y{=2ln2GU<|{|)dZ0_sXQ$8_t-Gx3%N+3fJCquI zhe4KsCX<-Ck+xjjhJ#f{Q`OT(rf03ot-ml9PHt;P)319l;I1ua($bG#62#%wl#R^c zu`Q?FYK{}tl-bE&yRhwX8Z9m{r+L4Vxg#CN>LV|Gz`$jWw4YCbTFD_4FXUEgjntW~ zg8^hM6Nk;VDfOzOiv;hEBcDHJ6~kH8C5gj2`EtCFhz{6 zFK2yk9`J>`(y0I4MmDC{igjpf!msRQLY{6a9XdM=)KHO6cypRx@nt+75^JIT>M=Az zZ#9g0IEdw)6#Ocm!r}45cqSjRhW1`w!F=*mp#AG9zQ3dtmv$Y*ZQ*(FU0H^%b&Aoq zVein*%(6l2TLNmEd64nnuk4+NHfHFRu+Y8n4KE*yc-c%z%uv%IQLDf^GTIFNp?h)t zF~M~|?F8eF?VMB2VW#;l0bUC3xRy!9*pxO>@I1=WN;7L=qq2x;uC}2~ zZ(eh6N*4+<%}CJxhcJ+pK@}d?c=-2@{Z5b(erGet6}o6CwvRbaw@z;5U@f}fU<`TH zf_I!BPP@-0vP<)KQTSA4jF^Y0q3c9&_BNZRw;%tO^ztE>H3TNFki}1)0geyx+{lKmpHD}1Em)GMlv$+? z2{AT)lCBl*>3#1uN=p5T5Pn@7@F$R!oJq*r#=4N zsCW0L&~0CdRU3a`=_PZ_w6_GAZ6m1Ut0!1lHL-m;X>{RKG;D8LM12D#Y(>pgR=VIg zlWiM?mwy_29)w!3=R`6p* zC%T;+!50GFVR%vvn}6AOzEd)la0ntL1A!)dFIz-Qh9LuX$#o|M`PhI@7})9fhzq?;s6HM+p%y5QJ=nkKE#lY=Z!u>{O2y}co z!)+gH3SS;bQD|r_(~{_6Kj$Pi*g2UC9=7Isz0HD)eUdarZxSH4Yt~_pP$#(>EJ=~Z zk5T??4=&3aMLUv*F~x`VBE7%DSs_Fk(|5M80Iwv_xTHV_O%~Ag%2F)epUEmOoWRO< ze^kD8vO(W#87BQSU!Wou=y%*+ib*_Tf2oW}==mcSnGe(d$y z!GHUEg87SC!1sX){_NOQkTWBLB^|ts^TVU*nA-<#Da*snlGpgMEiGr_7Dm(Z+=VdC z<}p9}U;^H*A4T^0iO_DH$*peoz;j(jY|+0^I54e=Eub1Gd3piL-X_A71>Z!QUJga_ zz0KVj)51SApUu9h-{$4-{>Af(!%6u*2f@RgF#d+Qz$LUq^+r$QwYbFXjsPskX=M%tG#;LL)x{=_TWJIekd>6Hd zedn$V{u<2*X{@@g8UOpF1A#BEu~CnYv%e~X+1x&%YhUw&4LbM-^}_Th@fhK|BhmQs z`T#q3^B~0VQ{kY=2>L8Hp7i}o@lLcWO_1P7H*P*ZUFsC}tT3STrFk^!PchhEi)BG; zC7>$y5K0dI$EziZsLE3roXRaI)<%hWyUcdP$3nKgZ8rT0nv7D`rTAukJ1Vag zJTm@SEVMlhZ>ZKYod^Cf(#V;_Quc9&rv1g7zH*_DkVNys3L8|L%GkGuTPSL%IR#2J zu^R%9<)@Hc->7l{w#`lut-Y9A|0U)GDy$2^mwcW_rl%5 zPC)^S?Y^+CiO;Zo@-WgH+>9TE_kG#xILJ9*L}!HV`2z4_A9V)N?|e&kPjD+glYiUr zr#BV`ZL`MjZ&dJVh8zV}#KTJAy!AVL9MJ|@Y#5@0do}JiOinw`UUlSh_FaTs2cP1f zS3j_C#!fVnj{ya5F_>GO1gX-(GebF#f1zK`wiFxT_=h>5QQC{OiaSW;QwV4Be&OnA zH^GF<5hW`H!_qtMWSVvo>jcK4xb^|8dX$H6d<X)8*HHPsD}3Vo zH@JU68it!2)^Ajh;XQv$Vs@V#_!Nzk5WHQ;7l)^zyY&pXil?zOHJSyM6k$f82ILFe zC{zCd=0Nv_zvB&O^;;AF&B>z%$2~Yw=Pd4eumDf!v^3Z;7to(1MegjgFoCyoT zXI&jDTUH6RDQPV6LMN*Jk)vUAEOCJ)FXp1lqyq-;c0U*=WQeeJrOupeYbeY${e`fynwBjNzt z{zu3K_LQP?ge%`VZ7Y7(2_lt_VtidWhgEMW1%)NKXsB38pN*q{g)ZjjO=MJ*kxydz z6>xQWGFF`0&&q>~!2h{Dtv(%&>W+C0?0P&u>`E6NiEd`%rp36rMV0oCHN$f8cvi4} zBv*It6q~;?9ak9EFu(5+5Rw~1ElEiY&X(gqFEWPJZJLTRW{(1whu87xfwSna(Ug?j z27{c83tzEsE9Mp%z~Pj~Z0v0blAU>zx7F7GhXV&1{>wI}5k+YjFvbq_hgtAvJ!I&x znkC2|O~xg97dX=s0_Vc(zV$=T(VX$7GXBAhATCKfNpx9c27lxV_>R|$ASb?(j8`KD z9Q=+s8>9*UEgyf-M1b(ZYn|K`OtMBDqYgmF4# zsF}pNBu%0HUp*G6T*3UcPdJNn^QdR!bM}*yCwJ!x{^wRkGCAQG@glY1^9Us@p;ETX z&68&DsDiCQpYex^2u-fxwdWiCqP)e#7CIJ+My; z?O^?|Nl=v6%6{DYzyg)IIrw++ppf@E zh-+4wQDTZN1a^;ss`neX3PUldyw2m~j8AM~RTXHwo{8GUdJub~9NnM!lbq2Aw))F7 zQl5Se8y_jsvz2G?Zdnx!pH{{jZ&^s1r|+=E7K6xR#S(7Bqm|_2brX-y38a#39`Je3 zqyKwtu=Ck+HnJv}&p7VRw?$}E@HZJ+d2<4(>}!JF{Oba*3rJHV1Juhn9A@W28`K)f z;l~kv=bPA1?G@rTFWEmeT%8F)Ap{hP5~6!N7bO z*y*>NWZpkT|M5!jXiW>&wwQ2YZA#Qre1%EASLc_1KOkgQ|FZQajC_WPVNFybnh5*d zBL!7#pj@vZpJz-lLYz%^+6qnOM#QYTu+3Lsd27T_&g3b)bo5Hd3Ve)DF8#(!Y5s67 zw;l&suB4?$j$oYl06tX~Qfy~Wi5jE@7Dd!Zs2v!>Mrpic$39rIyh-kGY<&^aIVH(0 ze=AF0=Vn4gOb@3Z{TOqnSJ2WfH&Sx-L)JDOt_vNm;8|+iku&jl>En2WnA6PR=mM_k zsNlJ>EkpO}CY)$^1`l;lymWeX-W^qBJ7K500T}PxOmp|# zvu!e)~f>B_5{!hyV11f36SW@Z8oKAC4Q-#L&paFC%Qa&J<`mN zqQ=HGq#Js(K6vo}7A`GsNO-r95q~- zTfpoBZg4?)bvTw!WT$^;U{%O8n9w+k{z-b$LenB5gXMUP5d`s1^L4>j+XSE5Ppl3U=!F zVpuzJF{s>{0^MpSFfP>qE9-ZFL`XV&eLIbbHcz8-YEK%5)CG_YtYt1c?eXZyqbybG z5_4GNjs?-V_;1-qL?ostY=|^eDhZOvt*=VT11uu%dJycs7m4b)_lTpAii|?f!7C z$$Pmu+g`GFHjTeQVXIH_}0u5=Ne;MjD z*z;SMm2g&4g}B0{v@_3wBIk6Yr-B^Ke<*lBy0yqFVH`c?>Y#T(9GuOsK(CwxSRCo) zR?Y}Vg^7pILT4Ey2+yr$#r6U-(}YBI;)3t}1NWn<6%86Y87F&%jasfu-`lHrwawAI zg_XcOeV{~WvzDElEQ#{xJD6>mz*5jHcUK>&0wK2F(X)`o#%micO$xP3$2#=>Hu*gZ?^!dnJ?z4G3mdAGBY?BPG^3qh4 znI@vFf0@*k84mH`qewe@A2(_35Mja`$WH%r;>$H$Ferr4JJk~Q-&_rt^j(UIh5N}O z!589r+6fOFJlRlrLYd|#74m`emQhH{P0>2Xt90w43aizzVH?_Zg8jHmimy3_Vp})z z;ztU216v=u=b8d>l2frst{Q!;?r?Q-`&n+S0U5I{Hs@-aXijG-uD8^ri>}33_B9!w z$xnwfcQo)({d`QhDfp@jt+8vr61@!=3o-7OnDTgKNRHZ01Dl=U)|Nbw6!_-> zYzmE|pU)cbdZRO}++4?8a(}R=hHtR7gl8T?7CUl>+?k*>$ZCF#r>EXoP}XF|4;yv@ z?_|1?LD+0M@pd;XPtzAZ7h^HhT>)fgSMs-CJJ2b0Co;^pU=q6!{hIa2P1RF@X2)_7N<6{*KY+Ux$Ys}DpHeT3jjR2 zt68$({MF-MU~A4rR&`<;{m_~K@z$%+W_Kvq)$irTvZJ;7`y*AjO%v}bRftlDs@S6kG7v6wZeEP*;3qr>4EvJ{ z`yV?&ont(&+oWFKMRR zq0gMWkJN75;ELpA=wqx6e9bVT0ZU}V;@`4si&9B#ehj=UI?nuC1n=M3V;Ej{jE_5z zDpYO1pu0g22Bj^dr2IVoTiJGIq51$v`lZrQyS;30S1>vp%VPgb^Wm0>0@+D>g7-_sN&>#;dV`D5=bsuPO9_ESY}fVU`10lr z(Sx6c^wu*E^=6Fa1}sO>i|;dGx0+S`ycsoc^FkqOD;>>`8gLb6fqATO!W1U`%#<3V zg}ZvdFQ#tP$M)>+WH&VrL&Nd)lze9|WXs-RCW$eOg#x{e+Q&Y*s4-seGgI$tWWCdc zzhzVvDR%aA>pWxVzu!{y$9X84%Lx7RO-fW*-iL<2f@q<$1kF%B20;(9Scj1{z5Fc9 z2*lfzWy zrAcq6CX(r(!!~YH2k=WzDQBa69@7J+0!)wMUpvpE2mg%(trv$yX&ZmD?`L+g8_R~F zrQtrdt;&tv_<9a;wKex^zZv~o9gLpA`OMdR6DxI6#eGueXm<8)_O($Co?c1-<%Nj% z&D`M4$9s4%B7~f5l_4LFW2pLQ&=5T3nHDc_igY)-kgLthXGK%l5-lomEd)bdPu3k9 z2yX=D{}wZQI#DKv?HyM+3lB{Ts^8d!55{iw|f}o&^iEFECfROcED6 z49a)gM4j7YX~hUR*sQb%G(8q#*oNzDRZlVNd7q3oyzX(OFTCJ(3ZS%q9-BIP6k+j0 z=BH|cp8W#9_qfnO7VZ^aXA4XqJxea-hBCg&*Mnmt)nT*hEjBDLj_isK(vFc1wD?>S zmr*JO&38|*5o4V3g6=cy`qBx@ZO-A+pFdDyj|W?w+QL35<*{fF85l0T5CVNBKTt;#eeSGbGK}A&%WgiM&L&2U zXZNKFQ1(a+X=vPHN@*&jQ+*w~g7@$>v`%1ucJe;cXVPcqKsxzKl1b`EF|R#MeBYr7 zI#|l||nj3}YMez`Pql({mON&;AKVWXd1s|QRJw6X!&%5P#vUhh4$!uXN zloT&#XLd{j7`2nH*4|66cBBpV4jvD#nTufd2VpnS5db9-POx!#501D>Sh&!I=6~Nr zDo;~L88tWQi2wjpAWRfu+>~=rr*H0`! zgP?zG*FRs>4~=D`dZ)wQz&!rq_e{)v5)WgYwdml&qnx><0$3l*XF8+qVTjCP=sh!& zR!ImQ$ewv*ws9tm_?g7L^i3qIZLP3oNin5dnLsPd_i+oe448FMHS3lzCdD9oSbkUd zPHkDrzPLw2gl!-Ulb5jhTT#egcNhE<_pai;EBn~PUsn9i)*>uAwUh5U@sPVw7D8E* zO`vnlP?AxfLq!97*gB&-?8~}(_e-byxnOYLgjQ^7=WWA}V_fhw)^}EcJyI{mx4(VqeX|j{Zj+-wC%>>IE@`x@ z(u5DtF=3BeZONlUla22)r6EIyliC-3Dt;pH8*fO^il9m;KG%nnmSwYegHPD=y#rUO z{m0(=tK;kZC6F6jONFN^*rUTbcue1!Zl>%0f9}EyJt)d}<%pkt4Y1p-aS)-IO+S2$ zD5-rnEDhYsZs`qhOMG`i?Js@Q95_nf&)&fe9ebF2$t=1%b2JqT{V+`(H?$s}3de+w zPS{69cHnd@c5W?2S#@=g-(gK2{tKzl!H0@H_VBjW03-bc&(zFr7AHNK`3XDm$n0mh zG&lmMUqIUG{h9NrRHm&}dl?(5O&ex<;Fb@ipcR?RCA1Bu@R?08d9&bS=$QaR<&<&y zjzjS5X)3%Nc!o9MfiO|EhVAoB2F`Z{8Tq&HTa%^enEGbCxF?;>I>MOAlPPS*?tAEL zQ4S&JwW#2f7-*OYEa#8*v^Z)iT^V#1V|$zUtYg94mZhPrJXINe-J4)&QW&l2e1vXI zW^}$XpN9U-Ca;&yqOn1ltgR)VNfiIU#JmeEQ%V9r_Be~(Dn${e)xlbQHH#m+o0WR^ zGb^8S{BG4!=F^_tke0m&-)?Z>7Igh)Q4=>ats{rov*8}#^JfFAzx|z8FZZXhqYt6y zc45~M75nAjok)CX&UweU>-pc0MtPhIH#7*lqB`8ev3JH&;l&26Zb z^n>4?EhxRT2rQ~*VP}0dmyxLqh7&?5r#pgPwVuRpDjPVl@*-FyUV*OH#Hs)KI*gqd zDfsh}`GqO>u}u0u8nmGaBkRUcXtS`}k?h26!Dnc*&@GvJHiq#pD_PVm!4bXg1YY~5 zgWoWemfu>!{W|GM628`yGRKo7KgQ92^O7;{>;m|*`zW7zZ8Dq_PI6gVI_S1I1|5|T zi7XGCg7WYkFxy)fb25d`gz-vz?W-;LZ4+7J3pG4awU6Z%<-?W)4Y-%71V261gqcgH zzI$5R9^bmus#7O!Qazr=z;`~l|Q`Vl2uRN;!0;HwQP0{d4=B&K&CzKKm_s#9a= z&7|9?K$a}VyO0|^UYU=uR)xg;H_XAchL@4Qh)YJq!0$1FgDuPz&O~K^*Wnutc7Jbk z(~L@m{_Z%~{z`=|G`FMO4KETO^MZfT4d5Ew!e3V(L9-+E*^m}FbPwFaay0gU+|a8y zJ#;j@S+ENX4jvb{a5EuHSFGXg6?N>;)~9`Lx3K2NU^o-F3I_ia`aqU-jCOb;zh*o> z+BBZr)`sJv1JSs5`B(_^@3rceUjSA4Pu7D&Rdgx9>J)*;Y*U;y?*bSPnC2{*VSp3U2MiVMHh$X&Z<#qFPWp7jgo z%C{SKFrAI-IbU0EY~}*U!Z4Wy-5U+x6y;Ft)kLnbeGV1QdB`2UnA_keuuNu6_Gwsk z$&`YZSK|T6ne4Zh(C0l6CsOX=S#nkZo85dEWA3Vf;o3$r3H0aF{}UsVSB5Onzm$pI zo?w|xr7&d4VCeTV!Sag8osy*?7Dkr za8LRH`Y90y3qA-LguvbSL7})_g)^j^Fr}f|C|h`M24KSA6vieVVd=ro`M4#=>5scB zJk?6$YLq15QGFs@la0q-GhbA+y~dx}5CF}8_JY<$Wq7-98!Z)bWahh5*otrZkY{1R z-xFMvF8V&~=%~fiA#lXgk^p{AGpB2X!rXO}7;Ko`hkmJlS#ziecTX8WQC}OIs&g0G zA}+JT=|Q~tq%}0+_i*ZSm#0s+lkr}|6Xqpq!(oB5srO_BWC*^;xJ(rqA#lZ4RLg_s z_4&+H$Pkb0Ze?@!D$~-SKYYDX2q+IRWgDu~naY~LkY3FAcwomZ; zw#Me zV8-Z-MjTWKfrw3W%XzbP4&*iU8+SuR4N{ZGL9W(3rn0LXbSDdaA7S5qW}e{pnEMxf z^S494>QNe4v7fEb&xLzahI7@vH?db$lQI;IIWym4So&W+1ROh!<2+MfYeE8Z+zS-( zw}NTr?InNXxr|#I2p{Gb;*KIORN0%#qMl!3!9nNoa`1QF#`PkTd)>;UY$kz0;W(-? zxx&RyJ*O=0OKQgCod87JwUh99=e(fO%zWHn|ETe4c2RIcr$+_dRrw#ZvWvpb?aeqXsPKvBh8pt?G5>UgoMkPvg$TKAE{al5n8KiY2hpRT znpRFu1igrhJQv!7T1kJnyvf<%Q*s-RUo!;@&oVSrb>_w>=3&aXU#Qib!a5#g;iJI~ z{EqTG?(ouySO8HlWw9RGXs&0&X8Q79r!0n)zxg?{Bg1e-rtfpPS%$3$pRq;vk1nbW*Z}4j!J* zi4H{z%-ceEqVyX3raFV8ejb|{)&W?jLh(;>*~2JtlB*1*$#=}?!-rHpz2iP}Sw4|_ z-y%c7&Kpq}BQd#4bKp<>Tt4hK!y34{ZmouL?_%Bd`FB=8s_$eit zH>n(V{TxmQmabrLyMDrWOov4ii@8pwM=3g6;MXzX`_ZVG8{Rlg;A0rUc!A3tJ#83S zKTN=Kwf%7P^iKSiBFQYSS+Y+dLRTxmi~6NTQN)^ZCY!=mX=(>=oSZ9TO&hfHcR33l~J(O(ShB5?ubb*?y~0ff(v_< zB-N;gu*l(e`J-pVs3zh(epHhoSJNaERlP^o$$%HC`q`r2Im~j>VO(?N5J|L8<*r!$ zWFJ~CVxa##(PCka!zIL^s=;4u|8FhZv2Y7TYly?&=%e&wNF1(%5itDhFDCwTFf4ku zm#aEGz$VxxlU}C=3<;b=;hBr^M5!tLOlsuYmlrUa7fS61C(!cvkC-BySBupzu&5m~ z`0>rlU~}VfcGf@xZmZ1amMI(}&8``=M0jmG^*?b}9g-W8YM0WI3~7=N)@0kdhe2+n zz)TSMuMZQ2PB@pz&$ArCloVXxoiIb(>X<`XwucFOM=+<)zV(xhZlR=QDg=B9r1siA z{?Y3O_U~3Lo4(;Lwk(i_Z6awZw)BS)!@DVGsR^kc@y2}?_OxV061}PHhf}s|p*+PD z_kAA+Q!WCS81JSffj4m3zfQdKVK$~Ze8(p36x!fJTxI77u)mRwURk?9=GSK|kZ)}m zJExUvQtHFmZoce6m=T7vfbDx zzKHL$D`(m(gx9eh2!~2yqUby*n-$Q+gm!jyU^;bctC0JP^Q=_3|4dX)gM*vTpvn5x zl;|A+vbU6&(KrtpClX_Ib3U=73uPg>Ss$hHwLp3BBR1rDi@-vh#gX4G4BefM`CEI~ zWFa4O^6)ygTb8hXwAugX_B1Kahm|)Srow}6u;RTswZ4s|1j`+4_vUlFfzY{~^4|nH zm^K!im-aJ_f4A`Upi0bM=O{2$E(m>MqU(8L^swb5|4z9C_1yJX*5W)=9KIX0guPjx z>M3^iT>)ng67)CkJ9qBYN8V|%JbZ2Nqi5SjLh*N9us=VN>Bn7x*51WXHQb2Ajl*%m zLQg2_&PT0x=HzUrfi8WyeDdmLu*b8MP93`dGwc27gG4&i+?9egddKMShg&TBi5>+j zu7}?x@t9_Mk5jalW-{tt-2ALJILtPiySXTqk1z^j+m<9k`Q=$cpL8-jfAWI0^tN-g zukt`)|9FUgAPoy-=1`#G2dHfmq10YAvYWy|^wTiR6I~Q-zHtRCB_~1b>RogyCm9Ta zleu>~KQJg#gHC+cpzVQ!KrPZ-JkA}U}hxI-C zaZjW#%Rc2oKBL!?>75V!3y(vr+C>{CO9^hnt0z$M8&LmyZC27Rv}q2hqm9~Q%=VUp zSN_HL-{%&7+np>v-F+HOcYVTX?zQ2ECa949Lt!`OB@W(8<7v6$ZhRhR2OW|(SfznE z*4rJym^MZDvnUGYSxMmUj>GU#(TLrfah$F$RR`_lp)~v0F^I{{#lzq9z_?&N8K1j` z_k1kzm~9fP*?W$?2))j(zjZ~ASLt9YBLM{uAM($mFJb%P_4MkQ8i_`4p%3rw;Z1*e z+Hs`>Rc}jD$422bbCkl?a!ES3ZyUT8?uzm?qcCv729k`lAt@nC=J;SDQGSAw*iHUH=25VE$og$?n~aZHxb*~m5o->twR{MQLg z>qqR9{wC5}??_t>PvSdauc52Io-!*wquQuPtm(jTHpOZ*p8F<2DN521_uQR1-HT&u z@G%ydr-SyJXMDv|D-?~DqO~4_(0WD_9AC5u8*9Dk_YY0XsL!S)m0z%+bsPRiLcaLe ze`IidHdxoJ;&<%b##Y=;V%I<4gJtLH;8f61=ze&T#>`wnzqm;B{1yd+CNE_&uk2xv z)J?qCF$A?2m{7rW3GhEGPTHrB!1^DPV0eTI$=Jv6Jwg|7c|i!9U?kk7!b(89%!!=m z8RPdbClYUUpbHaBNmW9e?T{%1zcaebPyH1)>3%4mI7tewoO{I${`{FuofgBI<{A-o zB#AN%H*-tIIYMH991I+2V|J0X__&m#D7D$3_HHmdy1x$A*i1!dvmdxa-W9TTuE9l0 zUNGz8QRcEc4{BI34qlZBUxo}}>*F5rP60)1L+4u5?AS{??j2*}&h3N!L&YJeCx_lg z>cg|XMG)yZfOAF*uFJze`Cf-zyv$2AW_MJ9GIwnUg_WPMnk&Xljn}B$`U$SGe!(&g z_T%`4W9gG&7ox%tu?r9JnDsWKeo~4J%7ukSa5$Rk?=jZ2} zpu%}IsIka`y~P%!=bgq}Ua+;m(h z1S!Y!R{P}Xb%Z>GG>X95*@Dd%95`+Fd$=FM+;ggKE}e83N{7md@kPJ}xI8?Gu0%a$ z7T<=G--0EOT78ncskjTW-)9IpeFd1HmO#xL1uvJbEbm-B7_#O}Ba=ci+WY4PKi4a^ z;i~&?uJ-SUo zE!mkD3KZJz4-(62=*NF+srq@R=v0fq#vXnOe6ww^u(q?|YS}T=_+ZRGij-k7F+<7s zohg2+b7D1AgbgLjDP(mu+|^r68Ek-a&Jp+;ljLC`KLun@>;Z}Gir}#zn#DJ5<XA`7naK^^^Xkz8h1sCn0 z+?01LK` z1q0~aV?mW_$5HpXOg_rwh1k+y) z;yCGOhe$`(tqw_7ZguaXw^ZtCI z;nwptG)B#v9{MEUpf`hH?&Vavt8Bn5ezvjszXgt_TQ}OCUo7xDFMz`lEx2;$H#+t2 zWUsyAc!y0dgu9R}TWURyu8j7Ck-INp(A^5=CSJf7&$Xo4d#|Hg&V2fCbsqFiFQ(<4 z)(}ut$D|IZ0RKtE^1TL=LBvKhY#xlO3+&0g*bo#H^VrSmNE-03hdj-T*tac;jIC}l z$Lc7|sz?$Y7aPRwD{O!YuY7J{!g<_ezZHKh&W7<)?OaZ)1GxPd597=N=(U**STxjf z5hl+tS8yy`H4TK^dPVvXEQ=2h@5h2eq2OpCd{$C|>9cece2`0`wYPkQp3F$PI&}md zeKQJ{oN{EH6+)h4jRQ%aYJ|IR4GO~kqo4D8@T%=97F4)X=)Vg-xL+@Y&+Av_a^)W$ z8kf%r5eH8CXa)sZ`{8-bbu@KsG)?>U4i{azH&y9*-$VjmWo!HvFZ8$L}L#5((mCzXotTJ8zub^H{P2~HAYf& z=TkPc77FhT@z*S_>Ja-^F`ELG2p*6tQZ%_-n}2GcORHkb*!qS>oTQ5I+zuI&>cz1V z+W6zFC!Cvn3bTLDrKUG&aArmz_=357sfh$wP~5waeT4dlV zV%Re=Rp_(dfg>w630@yp_{Y7Z$u3Xuka7X6dOrgsOygL`wix_q(#U3rJm|NUKFGco z$0g4DxMt~-@XpAIrHfAnhwnyQ)|G8o`%;s>MIU2F+i$V$`r)Kgkk1a*O`z$QCIbv9 zWuHsFu*&L@VEQzSq#J_R#Wi7~{#Q5nJBfm;s`nFfY9B|lWsktN{jN}S@c~=%=oRMq zn9}Ve8QQ`6In~x>q!_vm-W2(O$5aors#ys#`oU!6PC{m*L?l<6My-LWa81vW)ej2; z%P2p#tYfvvwcnjtgjV2?8eLL<7KV$@3NEJ&m$6CcG<_Q$4y$bL^Dd7YA@-IuEW5Q7 zr#?zzmv(pH=~D%?y>%(qgj4aj<#^^ke=g+dnNrS$bpGR{T%34yFTT4_jQXF4k(iS= z+1a{^@!I}J17>z3o}H= z5l1uzdH-pR+DUgzxus}o%y{mzfhF1BU! z9Trl9`(;t%frY$tdJ=nSdK|WcDZ4+imK_N9Bz7*AIa!smq3^xO_pBt%i(7@&Tieh_ z(G|`f9?T|<34+oCkJ;(0dGxtxE0cIx!~Uespq3|vFkz$6@7WYhT*XM56>}feCO2bv zI773gr_iM&82=kzjUX=K=6#(?3pZR~I`1FgrsWf1XGS?5ks1M#=|aw=?+3T&i#`TR z*PuHuJRc?{vBas_Aoq&L{U43k>Wy*mR!oC3?-uc2&xKO5ycl>SEP-{63Y0ZCfj)g% z!MjfK0sV?pa=)fPbM|;ZSkz9?7QTOHpVq9GzMVwB*IR@9LN6HA>`MoSb~L!PO`%g7 z|IpL56PxcT(7)eGaUU1Ms_*%`+Rej2(TGgULqCPcMi&4+bjevL^V+_hM!}<(< zc9SKCe<{}DD$%0injx?n4Ut!q>yKZ?%75v%tN46MN=v-wxlt*hA(AL6QBo$*Ny{$xe^{ZI3Z9`TvmzB%haMC%l9nKOZmh^Kc^ztgip62${=>`7KgARDzgcx9 zRl-z(u^g_NLaE>TSjV#Q{NlQ|R<=JEpl!7QX$>)DHOXsW&|Q1_Y3>7~hn>W(QYo${ z`VifSdH@x2UHp;5&NzOH4F*5Cjbk6GvbP_Lx!+FTn88yel=jGjqy__03Al+L^}^U3 zi$Bb0Zz)L}vZWNim!eqV8BjSQ&s>yLNMYK2k=Y_^=>IfU;KV&;WzrGQ*&L5G3%zKS z|3MnjyPM6Lc>!|<{N|j0F_P;3jNWz;WF4^$3i;2>!`%|z6h-3tiXQH{Ul9EGVND64 z$t+O$HG8+y9;U1p^06EANKN2-*msyh%85zLa90_XugNrVg z;2Zav)d$6p`_^%+YEcYZvi$&^E)PYAh3%|$;c6Ql}`gm`pp($g}R&-?`mdqf5u?Lj1_=K!|CvjI(o8c z3sgE7l9KWmsGDX7JGM+D#}OOhyya(XDx5*u?rUiPh(Noeo_lc8n*P&C=AW&OMn5AL z9PmPqDumtH*D1H5Ys79WOuUU!4a?!cfdsZ;fI5y@vxmF&X%u~&+xPu3TU}vtnB* zTnMhrW#6xo(HpvKKEfr7sPRrJ6ALk9AB}p@GY+dcp=YT!Ki-fzmD~ zdZwKQktr)#Xp6ARtua9Ro8y_u#p|_Kuh&9#g%cMe=x>kH4nq0YU@Sg-6mRwD!QQ2( z;roznG;fIsjMN)}*8RqC%xWraJCV#+z7_aco)gI=nAqb(pYfjQ6!Zq)mspRSfG-%Nv=`g=q={+*^Qa%{8 z!hW;4?HpZKuZ2!$O+LkCG+ydZ<(Dix480v^=xzKSYLSqEfgZu^TV@32`fhFs&g3dPVGGs2qK7kZY1$%M z;A02rDY-Dceh=6UpU+}@M&gw}3gqBB1O~R3FsG5}AYZl>+5+`pjejJZey#}<^9td` zzfWvOVITXJ2jDnl94H;$LCuksm_B?Cof|1=zsJ7wJNli)I~85{e}`9-pHngfEwRST z>DO@VS4EiKG?>PE48f2eX=o(lMk`j-!|TmjLKkBXf42J}3p}`$+I zDBa5j52(gHZeoZ^O$YtWZJcjNIvaI6g&F2*v2v$zG<1n8h@Fp%E8l1EEu(bNS4ENY zy6jD(b`PWA7)SW<%8mv6Y7vJA>(P-(QA}-=9DY^m$BrTuYR{3O4N>jvKS4*~gE>AS zX%OYwrIVunLkw}2;;eW7WR(F&Y1DZRo*%cMz4o6)^&g9{_tro&ba0o7 z^8oiJ!Mgvr30PbYyqto%GtV{N|;?kIK@1H)Au(eZTULvZ#_qU zXKrMh?@Qs~wV;cOKvXJIErLlQCp2Ba<@A$F!0%^U~LbtdH)N1gZ6}`)5pH}_m zFSvZ=oCg(hnUmBhwauPB4O@=qyP9y5>QS)Myok>tzoTO`Ba7xCASpM2H4Kv^Z?8e% z`gQ}nnKFXRV+i-R`!d_+w>W;69-O^7i2JSZm771$g)+B)WXG~o$yL~`+c#w6r|YWR z@E|EVQ*oZPC7nZV*Hx4`WecIFo!JPB29`Z^3cMJW0rAsE!V~#PVA%Caq&Fs(U+mF_ z1IC@f<5{oxT=(C#d-Njde$O&Gqi+GZ7f#`9w@CE7{uGCKm=G5|7(8c{fWtt4;>OJ+ zTiq|rVU9BY@>2oV{&6lX%C)A`+zWn+OFAW9xr^!-r_(`;cl?f#L)nq?^X!DF0h9l+ zfXw@HuyPt%}lM-MQKJ(rmhp8$W9JLqkn5$N`8U@iY7guIU;KDjMHk19L)+@6E{p$YmB zJ5%6!d2!Sk_Lt?KI?oyQ-(ww`HehjNJ6)RGX|;F!ZGL&83Tz!(%}gcSq1IT98{(0L zPGe?*M$t?#Q{ThY>=+6Qw;R&5`fa?f!Wj%5o*-KJwg`qhsG;wX`&_rnQJ|;0S zf(~UU!{oyja3FOIe=Z&ZN_e(cM*v zSvBwDPP}m-@#6w~|M3s{%Ws0q?t<6rh#}sr`G)7GB+}LoQna&D4R%bN%-^YA%KQbd z!oe&VoZ(r`J10KHkjny(?4SfKU8_S47CCI=h!*aqcM)aUgwm`DLn(JqGfw@QhE`jJ zEMdwZJi0{S@ITZcxRcEJ{dbPdef}ATb!5|iQ9W;apqqEGn@YAPr{f-rt>pO06}y#8 z;N=;Pra7s@wk^eARXKHnNQMXVXSrTH1h;} zi9ptoXbX2sqhPmQ36~&fpAFq_*n~bgXcFek`oC{*TCNc>xpsWLq6qJ28i?D3EIsRx zWqoTFl7gTg7fLLlHy?)M#)o~lV1z8$aT>nH%`JmGRlz88ZPbMcC^6G2V}m0$ZR>V7xPYQv|GI7VKEP5Jbj$!oo1hKmTd4^*Z2r3blm z9djY%@5($U6kt}kg0I z51DW1K^l8fcu$HC(e;qiV7Fos^$goiNyY-}JM9{Nx7h~!%#+!#5@6?wj&Oc*8L+iG zoAs&%zG^DvmBoeq<>4}t{>**GUQ znUtr_fc`#vX7!~6{xt;fe*}JIOjH__j~K(3=1GvRj?kN!mWeloe8}syCvkv%6qr2A zap}Y(=~80jyeX3MAST z3%nRpvLIcg^m+c$J4 zeZ3(~?~ZA*m;aJbWU4`(({4~?VJ_-NjHHoAuQTiPY)HF!9V-S#f~UJFEK`)A{Qm|4 zH@JWmpY~>7UO1yfz8|?N_(7(nA!Yk(!@(1aVCeSYIHKn#YQMRODs{fhY4=#TD|lX2 zvzEh@dj;aP@s1E^Yf9F0&f?kwL6o=GnwunOc3CUN(Let#>^&I+#|4dfNKG)Op}>=4 zu^-fE#zFX}JSLXz#CHOpYVbrI7Aa&W7VmDtIUZABmrE2|zG54gbWNsvG3G3yJPx1b zRls%kkGM&=ryMQW$M;ScL`nKnm~GY!eDP=#3rl~A6XS+6-`+j!&XC#I6&l6Nll@@f z{v){W*nfO)>!n| z>3POe%B&vtjf|;b|0C2)AH-%0xm45I5K2B6N^J*+Qlivvv>hjOMt4u3f2jzjavG#= ze^<1~Jr`@rO+h?V8WmIWp?O(9wrsBe^QqF9%Aa6I>>HRt$yofE{EqJl%c8T2w)C20 znM3Ga+FGs*lATd7Z`DYedP`u+zVo4qx*729oi#Pi%ZKwNf*+ILKp73=Va>&3&}Hff zv79`{EuF`G{+f!Vt`hvk%p~{<`?$Il**JdfUT)XVaV+ZEG8&no!7}3WaIurX8+dPm zm)8i{T#age#|$qTANrYHxiE}s&RD{lgZAvC#(uWRv#)u9**@LsbDD!eLR;d3w6r*NLXD40q>5zsK*$V!;NYy~_xM&9HvpP}zT|T_( z8il!Ux5JhgL+(zo&MP8yrqkL4P{_@KJ`Z zDQ{WDx4q{h`=s#3)mR+sH~{_$_o5ARYuUt*`$C`59n^D7;1_;LWC4P{?wC~xcSiD< zI!78#NOa-ZL&fmqcnqC2i>KhTGteP4l=TZ|qu&Qj3jTDDZ!EN;RZ|5$Z_9F=v1%HG zU;2rQ+J0iXaE?#ZZpG@sV$M?N&J3ol=reKvY*H4^z*92_b{1l9>m&U2$_DM{48=8? z-}s!Lk-(V+3TNdR+BYZ`u6Q1Vn&*r0W9d3R;L-xv7kv^Xb|f-T~8~!$5ODU7N2G<#NjQH`277) zY_^Doht|2z> zO?sFFg;jItgVrnxdAWnm{+)?A!-vAO8;3|XIUctqJ3wf{I@lWb0^4ouVB?+*WOGI6 zBp;y;F2b3SdhRk-O!j1x>l^6axI)xZ=;i|&(s9eVbn-cx2qBldaY~FlH+-lJsV+On z%uDtGyh?6xRM-tZ1f*%Wuliyk`q= zMz;e@)9OUE^5y(p%Q4*e=tO4Mn8yEV-3$`VzTA(VcX+7nB)q8}!=vnVc)2rt)9a8~zFl#!MM#r$WG(~#! zppoy=PDBasEBy4Cxfqssh&}b62A&qB_+;2tezQsr{{0lr@B6Y4p8u?5tvlZ1=P9N5 zDDW89-8K!S!>lRr;Y{va{AqCIdDtv3W*P?P_?cyzT<7n478Ivyv06KSZr3eyO6#;{ zi@xe`+`4Ua6%=U1sua*nPl8k1mZDREE?(AX3O>+-ANb& zx%^}y<7$FR;tKZD;XF2K9T8VQ5Ljg`#$$POcv6@h`XuE2Nr4})Gd za+A&9@>?~Ik?~PGjFGgV(f3cV(6VUg3-b~WA6p1*ndiB%zj}Ph-Xr{0!Ox=Ux`KAU z%>bK_^LS{MHj1;haqn;5;EIm6a(^Br!55DdS}*8*P33x!qne3^(*r?aUIp${)4}bp z_Q3n(A((bnm6`ioW;PW^!N)3(O^kM=9I*%1D}2HDq&w`WoC=2AjKL7QnN(+9#@jdR z(CS|)%-zw5l!6tY=av?&NYW+SZW(OJa|L!_27i6cYqlq323;2NFiTR6Ao|TK9P{A} z&-oXF*y1BjQ7nc@#>XH~DI123m0{D3SHY9#Q4Ai0LrL5S8h&~u&b!`%$`_SrSIj#8 z&I1|Jur1{#2g;L4R{3Z5;PHJ9&~6Eyx`3t{!S&9vjDH8{HOp$o}(AU8sRSClHldT}$S)F(r0 z-J;m4$6jPHtCsaVx>5W5b~JO8+zo9(r&(3bGnO*JnLgai5^$eQ%;&)`yuKitzSoSU zFtyWYD(q^l>gQ0;I(O_Z`N3cRu?3e`NP_nE3hdpy9h?6IV#^m3=-Z=?zs}2C@Je!{ zMd2z?v|JA2lz7%9Qo^N@*O+PYQ_;ws@sJxhgxZE~rm{jGh|V3)M)wJtaljNB;Qo(E zRSlqJNg4uw#Tj)!^z$KDfSaXS1kd_b@SpBaGXLFRTT-RCvWaV`@UJ5be;>kiUJ9f7 z&oklr`3AOP{xWzlZ5xC?|0TNlPKP4Tw&Ufo3LxxAnZC6Y>DLN5L;G8Jq5A|V7Y-%O zEs`|BBaI%_JpxtVXxR2hiC#3!gjN@8>{&RGdb7;n;_0&}`=J6PGIziwQieUI-gNx* zH0W*_hT%7i(cp@2ZLHB<96v9V=@y(}`{pxRC-l?*Qp{(Q`VB~b<6rJv?N-qaO$YeB zX#msSas%VD5nl6);r-otWHWQTxTrN9j(=0a__2$`?KJf)BUYYVfeEH97NIZM)$P7zLCvzKdI zw3ii`N3!|03j+ z(kEDmvLxErkU6KRmVruO;>1mdZ6wpFhqWHnkz`&l)r$IG9qczHwh2Mscs3 zY~ZI=F!{|8b8<^lK>SsQW=`{fYpEL{f9(b+Tat!<4r#MS?E|4cZ zloEPQEoR>2_?})Im@Rk*f<34|W+CLy(C4m-OQB$YB)hq>85Klo81YmFEvKr&-C3SY zxNcBLhVZ_9%;&mRx(Z&rH>jPH!1BZsX!o8>ZbW`DwO_Plq55^WYXh+TBTuoL_x9rU zQBiECkpo0nrXjwL#bf??{MlJ<@NK;wo8sAt&kZy1SoL`{o9TundO6HhoWo{M90F4g z7n~0g*jhPrI&jnUv*JN=GO*rr5an#Uj2oT|BKz~l#UX70Z1`(kDoR-kS9S03#_p*& zEO|5rKYI!*pTFT&-~Y<4en_ROISUDd>_*@A19-f27MQ0*^O~u$^zrF&h`uOh;;TAM z?Cq&H{P;QpYMqAip{@tSwd}|6fQM}5$2cy%FNWq_6TVIRJQ+WIE7^=%#qPe= zM8&2d?7+bq*jTJ7^h%e3+49?L&8gw=WB6TBllBqrkORS9DN0y({aQyk zJC~8nh!r?`+)St)Gz_=ONYd>O?;*BqIX=tWg3`}h!~@LzxlLo;(7aO5;WoM-$9^Bt2LATHv z$}O*BP@yk51>E8)_dkY$T`$oxGl@P*+tVxAiS&DO4Oe3>4LVZk=x{}mg8NQk@5(@& zGJ3PnUp-ko*t3GQZ&wyQsI4NgPrN8aHlN$`S(4`bC$Q~T1f!#38h(GK0+mZGS?|0{ z;#a8$5PMsM+yNt#;m?`l)umAM%7reco)SEE?wI!}17ywQS!#+RJd^v$g}3jbHi3Uv zreT0{R0U4mnxzmGqD&@EIjsEWJnrikQ#v~R0=sZ80eaqq(Hfbfuu$yCjGar#CcA*$ z{B{Non}vW$=L=}jE`d#of$Y3WJ}E!!#Kx8Y7_a8Wmh9LAjlDA=Vbx={>)j5zvgQzu z`!fy>+QiddH7~mC6Dn{$G}#5gPv`Ve0mQBAV0qJQxLq4QzdaMg#yh$#G;77)|E7OGv#c zQRv}5!2Wo5qQ-JRHt&NQRP-%pW@F62T~ivby#PA$awydv)1`ZcArz9PgT>?PSl!l@ zq+;`wvw2s8e#G}kpSiS5~8i7K*_Vatg~I9XJL zvwZ(ya?~fZ9=nbIcD>P^)DX1ESlWEq4*hb>IZj5Oy6Q&3^qOee`?ZXZ zl|I8qHyjYf#u%|RGpeYjh{4db8KA9&EYH=Crk!5{C89sf>B|@Hv5?6et!9tUZ4c5E z_a~g_qa~;FHi~Ze=nEa?P2!gKqxq+F7^Sj<(7DN&V!Q{yMxAwF@mw3*6+-|E#zK(& z4Se>Yl1rhlEYIpXUn)I^+;{jAza@rrKoTl8j)sOY10f-DIGApH!oB)$IQ#tIok(j> zFves=@?JZifrj@_G1}=$#1}0dV*JDZ z#6booeC_FZq_SQf)^Cl%ADazvXR!{S>-3OX#+gIzs1z_Ytc2alcj4pBO%xq<99z>5 zqK(M{=6*FEv{v0_vQ1Ozc<&j0xZ3nj&9A$UMufV0@x%ls4 zAt}Am=ea9e@qPLRez`d_a09Z--ODJP&E}SQXv2eh-?@p+{U|Biz0EBS zGsDn8p+8Ut?tWY^bhoU>S`%5^H($rPqhdO#bm-86OCI>0O=6S0&B0yqB5pF%gpjCQ za<*{8s7>)at^8#kDKd;uaS{jyQ|G_NX*6dax6%QOu;9gE3dvuw&ylu??@C(09l~GI63wu z{&%^;TRw2Rgl9^cest}!H}oG30{y9`l;@nw0@n?v$J3W#S3)?gY4W7G_jWSpL~nd+ z8v$DcHi@o{&^vh64qGr1I-dx4l$~NxU$Bs&RUAZev$D8{qY}`{_9VCt+9z5ui(zqJ zG1dQF2C>8CNIHEy)fe2v0%sjKmpuqN;?7~9&}F-S@e%5Z+(Gx&JmF5bM9|>3BZ)f} zAnN@Ui+(kh^zh;)n4_gajipEVO;g9Gd27wziV9MBtic@ zbCKVG+Bop%9Qu2UcrW`Av_*L#mI<5_3j-|{8)VO#t1faGtKwnqyh#FEQkfLKT!BNQ zjp*6|L;AMco1U4@g}s5BQL^P97ntM+Gwq`2l~E`>KJLxTcZqS+=2SLn(p@%k?^&UP zb1R5?{@|)MEsFRtgIa?Q(t-gyk^8)q$^#DKbwQ^&&_ac|8OkRbDU#dyLB)|+}KXPS4ctgw`zWSkpbJ4e+~0jR-;qNIPjME#a;ie ziM9SJg}d?sBTuA6*E+;J{f&ds_lI)x>k>g{v<|!P8!NCr9Z+My3$$*%!yT2F%2d=w zv4r?6sP=UtnZzM<>R}ZcH)K+@+AnT)+H$7(MT*vb^?|#mjNr*2Ye@O$5BbSX@Fnsu z)5#-zEL8|ejk(|!v5I*vy-Puhbty$V?IpX*92p>NlO?)-VrKXEp;h=FU(w>U0`boCDHNbx18YY-X3N*th%bezQTNME zbPyRqQ7I3tl|musD}DOwqzt-amV*_yN$45g%Q^*a%V_^S?D1Gx$TD-L!caqsbsxg2 zB4+dRmIP2YUS>~C)?n|Banv{Y9o`o@MA%#(N<4R+#Y$)6$k<*Clz)PO!2@f{V}xC- zml2CGt`vyOfn3uAH9YRW2~J}$)Q@{isV|zr?vWn-dGeVvd43GMmOqA-hJoDN3g?_0>^ zE#^|*-xu7zq0322KH93vZc*jqn z`?W6k`Faoz9`IHipSB-%NyUlfgD2470b$_iya(#;InkrSHs(D1vuO7HVAP8F%TM_1 zOZ(3xf?P^3lj)7X8>gOO=)EX-WjTkgXN;jgGq!{0gZ(t@qBhLY^~Aj|3h71eUVdBs z3Oc4dk7nO0<+V1N!rp;paM$o99w^s`OJjudaPVSAqJ^mJvYw9k41p1gc%0+93`Pq2 z&g{VhplzW7bRH{)s{NrOLTeGOBU#20cVpFnC?*xs?!<` z(G`2x2=A@p1h-IXJ#4~O-@3_eKe>Q;U8BKb*&}vjb{?#1cEy#SK$uqsL3{L33fgWD zlV_IUe@4CHzpb+DN=-dG>NAZdEOmv>I5`#*-iLZ#FWF4x0-BV3TbMbIa56pu1EPOF zzBTA&)7oy~!|*`5@IsFMxD|*>FJ8qT+QaCoYASv0as=>;p{gIwKovmBKLrlk^a|Lu z$cVlQ`vJNCx+wO&G^f8b0Q%em!N4pY&ZtSinx1l@Ph5pnHBX@fK6O0*QqX595(9+& z{>pVfaml(YI`UM3jkst{KW!>;#q`(6r2Ww1>=XtXqH3AoC1*cz~ z2~SLH$w&4X_pav;+w)O^TsLOH_uZxFb~~7&_D!Ri*Q@z|=*Ob0BXGQI77Y)Gpr9fV zvk6IuH;Y3+bEp})du^fEkydccu^e7&NnZ$fWkfS=Q@Gs^j)+!%8b?#BAF*er0x4kc zZEoq6DE4lA3z}+6VE@i>kQ$BAc>^nq({I2TqZ2^-)>&AgC(rUO7r>Q}9Ja}42|WF#3N~{7 zI4Ub2T#c4dl3gK-5U+wgf2UHxf>=1HJduA;CTKg`j9Kl;4(PhJj~1NIK=a0IDsBsb z1=I6!?MrFSev%Wolv}c&pKRd3=jo8RdOyRu19)!O3|6H31Eo<&hvy-bHsl~l;afWTuUfhqx^(-k@ z6Ed6bF$Z%A3KMwR$~cQ%h!^@lPx$kSO$^%qtDxfaedJZpfR&r&;i;f~-Wj=pf)u*( z$J`9mIMdFqzC-@6q_=RcdEsjLqioybbbjp8`^?t`VLEs!5iZ6J2VAX0DeshN<|iB6QZxfRs@-W;rkLiOj}>;s zvSOdkY}|1BBxSsJLWL-QYWc2BALVAiwWL){HJi}+_HekJo`n0QH6ZBGGmKTf!Iw1` zgO`#dg=+#V@!Jhvr@xDg_&nO^D@$F&UK4M+3p_Q~v6rh&aBqYK4E47MuMJWVeC;F_ zeOkbjMp{$2Y%x4nn+_^ZgDCuTDvNnAUtk4y;qLp&T=}O}Ff%p~Qj_i3wDnD_B{Kny zREwZ^#BX-D@e+T3`XR2a@e1_6_aOQGPnev*fBNkp^rCzUr=`IqY+lttOuMleoV;Y{ z&DIEPpL(AS3g1bde%EoXMhUpx{wfacybG#p$H2i;oj7{0H2qHa#6k}Uoemb0@W+3* z*-T3nT5AuT4Xd!h=`;{^|cUarU50-rr~zS0^ZyG7>?}B zhX==^aNE)t(m1`7Dtd{f7Zs)u4B<{P#-U^z6-Y{dBMsDf?p&^9o@~( z;Vr?NbT(rg4Caps8GyqyWbY%U=+cU%AI`y`ux`wL>dOtVSOPl^B_Mn^C5da-m{Ow; z9$T(TMUsdaA4Y@1!A7haeFB^JWx|X({p=j-lj=u3@fpupaI)d?eOxg{TIR5%_;K{o z?=w5wb)NOs_=5cK=h%PM5pI9ZW5-nMaPIAF_PN}h^kxvMkE&(;Dcj(w<$CUJS0S~g zox-fpC(u1*AczjyVrugaxUOUlZDGb_Z$A_Nd)UlrNoB*7g0*aRR5mQG5aXNFQ0%)= z58r1f)3{`Rdiu$Yo?rXH{pQo*naWBgn>P$(wT6M5*Hmas$YHznYD8g@r#RK9Tg)a! zp6ni$vZ=U-f>)i!*nz*9YO@KAQ+dVK{t6Lx9SV?aR)uf7C7{9e9Q@L%qzH$HsNvFt zBS)y>O|`+`a$*=HEIWdl(vGldSPuGyT|oW4g#st-2y=PhO@%koxziJbz3cQS__M=B zj77!#o+7snc37BRG_;fM?U=(EY$D9Htcor*s#y zJPi>@3!H^ZqvOEV<39Jpb|PhZe`dKGx1rsqc!p^l^aAL1C<~+_Ny-%6+ z*rJS^rBp9I-Zu*`nwwFr$bj{nJw%oE6K zyTIjCdAf!LZ15sSiClivjfZr;Y$7Sjs=)0YIp*o&PPbx5vgfxl&__Fx9(w-9{{)`+ zRh<;LY;qjj-+adZ;>S{PaXvir)TeW&{pd@O3H)89gJnnbE!XtUBMtdjTr;?qbp5R% z_`Ki~e!ml@bsAIV-$|$^AT9Kl->0G4KiTlc?=V&PJ@*u@!YSt>nU*fk1{IyboK+Ly zQvU$Da>R_qaBCp3sFF%rU73Ar09_we#{Na?lhjNTxFSBz#<+>OyJ>@=Qz)cvzA}r} zrzYSU6nyM&&eDP1b)xPt73ix!1ZPkDW4^xsm>bT(1i?@8pz_m z#e+HZThl^8%UhTZ>|IlY&@mEC$4q+g&a_ahLj@RkGY=is90tXOXPEZp%iI8MD>3?= zLXr1*EJ5{I9$C|6i$L_{sm!x>rDWzOtpBW{a-ej|CmeY%vvGjAkz&*Dz zqWjH4K3HJqr#0G8?QMYtIIjgeu0H^sMas0qYdF2yEDhft$_xGpcb2fai7PCaBJ?#o zBPvX~DE*=Qz*L%V5r2BhpSNW)=6OscfCV z+}k(^oOXWThdxT@`!1C+J1GNNVrPgc_jyjm<~UUD8OmaFC1FPOM}E|&RFHPlq)jun zad!`ElFc7OSm3Hn-zP;uw|^7fto=!vBBA5kNQ30F{bA!SYwmveK`5Fs9s0(fMAscYyoCeD z{Tsg;zFbPcdDfkHX7N<4zqFmL*rm^&4vB$LiTiQuZ%=OZf>>7fasU@3F_t?N*Tz)M ze8|(|5v!gvkBUwR`{sU2h(ByYa}qSEPN5R=s!v0v!7f_g{h2x0c;d*lnYd=N8fBjP z&hC1bVr*JFswvswVPQs%-4My7y9ZN4ygi@&ZgQ>9jR-hjbGi20R*sC4v)Hr>5oEsh z;&jv}}SN4$M9mcqTpAwgLzFV^ysFX=vLuC+HNQ8FBM}@ z?Ry4D9RA5XGLvz{(jsj04G_26N(()0)x6e&41P=b2JZaFHctJh3K=N=!1@=X_>&F8 z;nSdnl&U?EzP`#t=iDE>WXoLUH^CT&orz&*J`wAAZiZIzN$gZfKht_Yj%F^95L>Gn z(HixBq1IwPG}z83Q-SH1Q6roerGE5C`MC&`RcV`P0W?kDiS=)eLH2{Cq*gSKq_h2~ z-?@|B=@&TZKPG{W%K`3n_-p><5^cJ5p#<(2d$O_Fevsb9;h*h7&tTkCy8iYA{_`s0 zCr_FMb@$W3Kd%>0hIOIr{@q-4W-#1LbHy^(OjsDapP!_0hF6{BOs!tlbWm?8zvcc= zTA3z6xnq#!T>Z^2yl|8`gjBH-+eUmUQ_QBVT*>6ONRZC(F(CcCnpKo-A+xS0+>X_$ zSUVw)UG3UNDV92n4Xf_1wDHg=p2 z>HXG$wGULGeW)9ASuBZnT^ym`sGL;=`|@pJYIw?UD@LwTC)F2K{J%eM*g@M$@T_vD zSXEu}Ez#w4KY77J5^^2umFYj%e3o0$i`$o~;)mApFll-->PeR2NbLqbcUzCpD;oy? zA|mnR#kI65whI0zM6xJPA-jP?psBR?{5bv1v~I{TY^n~SFVhrJr)@i5ZM%`z>KR7Q zu1#RO>(@}@4ktSGAQC@>uB7N6`*54&KHRWb7vKNa#2H7|^4t1{LdHbFr+#7*-TrTn z)v;xBFrjA**E~CfMofE!I>+BLo7c%K`DGS78L27cgRDtQUxu%g2kfPoQMOz5Fe`;F@I3NT8T z`K(9oqRe-BsQl$P|0kx2o%`3x^53b7Z~KFg$&sU-O9qmz#&hOUDd@x-j)K8kS?X{V z^F!+X;*1wrOexwE-&m+oONL%q7>9Z-!wHWspRC$8aa69rJQ9|H^3wz1hl zAJX^R6KGuYYC0G&7_2L*1kaQ<{Z!54GGxkmk3xcx?Ex_O&sut>v?I*PD_QyekG%B93)cLC+K5i#l9^1##{jXxDi3&K@#BBsOrG#QZ8GpxTIhgy9nao>Bs?YD zp;hMT!MdyF)XA)2*~B|+*?l|G`6W%Vy6HIh&rR%{I1$hPO%<1KGG-HQ&xXgz8`yc< z{Y-MHJ;h$<$h%-Y_C6Cl(Z6h2Y14nA8PDX!1IHMEj*k*l&&%O^d^OJvz2eVqDp=E` z_q9x==B=pj_XW&v3&qmhRK9tOKCO5v^dDPzY2Uabx{^1R94@S7!cadg( z#k+aL-koa1zspQeN7&b86wSmL{@1al$cPr7(-yKEO{{3u9elcY95(9abFqJ2U}OGC zewe}@c!8Cy#dJ8a)?>JMQZAU(HZ$-@!k@LK^zXt9b~!{6vU<|F#m@5V@n0qS?`s97 z#~X9Jt0u)5Bv5Hq4aLb`UdpWuppTHI7f0_TLHkRTU1wV#l($=^x{>At~RIEId;-0yK zp3vE3B5?K28ia%Fd`lV|HJ(<_Qlks8p(rPGw6nK`uqvsO{}H{IsovFv2!XS*r(zVh zD>jMwbpK-|Z5|kPU<<5VEsv6M9<)wNsD6;#gRiXvaPP;@_-4xtSlQ+c>17HyLA_Ee zl2vA>S~s(P3w) zTg|}Q)rOzbB5yr(aXk)d7Z{!+%!%Ky1HJZttGC&8J%p)mQwSN><(ON=l(E(#x<#D^|g zNbXY-*e!E)%on~#@aiCoqjVv28G|l0GGsA*E_H6tpy8I&ct6<%_{VoLEqz&qV{31~ z!yB@6=Ws2W2Qb(-_l9_KhZ_8Cw}_p)y=)1)|V z_Nq(x=dCStSJk6qN(4Vs7g=4vB|c*QXZ*Lqm)!az#ogMU#Ym{1R+JgcYRdcg zwJUotXv;Bln0Ntanogqq28Lv)yc!f%meE^{lQ8E@5Uo)eLn^OiX=JVp>a;Fla74(} zRSWm;vGF9%o`KyC{oMSmS*UJ2kM+GtVSV{~VcFSnwYP5u!vTAL?0K6*Ula=f*#vId zQ$7B3bri_1Ql^dd9_-is5=^~(L*OBWz^T>8`H=66pk+}Wc)YreT}=6NJ}I|X?#j{Re;?({F+_Cj@h5V zMjXlQ{JDe<^{K$t@sc$BWC%J%&j-mZ6_jW_5MBgH)1@pImS*ypeVlI&cPfkFcvlu9 ztjCE93lmkOF$2d|Bujz2I#H95TL3q7_v5Q*Ti#FV94O^z(>&CmwMWm3ZU&^YhDB59 zug6r}X>E*G3O};e-@n<~Q7`bB=oGu*DF%1TKdf^@AGfl63OCrn8-{nv*1Ll#yHoJG(qz5*!jkh2B<+ClxOkgOck8fT8|iQn}I0Eq%8e?Y`)+pLOX> zNqHEz!1y*_b!r$zYdO&4%w`mR=y>J+Dpnn;4x{T@`Qy3Q`Rvt=%ubjgc$^$9x@1u% z_>lW>-;Z=qa&1Bz88`8u^`Yov|ARAoJcFzXG{EOE(MxfT_|rUDmZ_E}*t;f@itIi7 zGy4&zWc(TTxLL9}OP=ydp)RO)wvRtI?gLsjrn0TtMc_O7g~)Vc5q@zW$n>Y%!iFXf zW^XD@xtb@qn8W3;_x@mBZ|hhghrEo%_c!uq)aS5ABL>6WjsbLSiy`fOpie8sX&iG= zV6UDUbF%pbIPk~_mcR21yD#jH0>=t-<+wahEguK}@yBsSiZOQFN#UaF$5CyiEYA5} zgagdSh%#NbVx(399k?aT#7klz_U9ouRbS8QY8zSfn@Z82ac%7WpAGDYx8TuJQzLHu z1E%99ct+NYrZB6mf|p$Ax5Y3t>i@=1Ynu*xRJ2e#`Z+J&cbYbl3cVk696B7Au`V5f z>9KATR(f@y=}Q1Dhg%r&&jtF0cgFJ58<<1fb_ke$UsUii0jJ-a&YTR6aSk6l(MbO& zgYEyAO}H8PTpml?FTTJ%&grc5q9Ubkn+8@^TgcJz7r#w-_Zt7XkGmyq$HV{D!C~dI z{A8C_ym6xtj)+V6Eh8dW8km#PgO#WtPQa$RxwNQq3XGwl_|R_xb)(8DpbyAt{RdnD;|NH(aA{mZ4r zSkkVO^TeK!K2W){l>Pmw1OItnWuvO*A-_!zu4TOt9iP*{Tdj%aeZ~x;G1~z)hmN4< zk0s#S+m%qWss|6H3=}+$Kd?966`flA#csES4yWunQO}7gTrxQxCC3-x?yfi-C;0%E zE^y|1{Q3l^)JODHm2X(g6g$t``V%EAMp@aN;fFkt*t>I=~lvdC!8l_>fh9biol6@ChrP&S&Si|wJWbEu z%^=6OE9uLpW|ZiS0kP~FCN;GVjo(>d>}4I8zt0lA8&u%5%LR5WRj@3)&F9)*L{WK* z;7T!3<9;nozv0b0H(h*Yz7)o#TgIE9z0NY8Nb99VvVdYan5q zHY!%V#*Guo@aKvx^fY`34Owtr;669tbLm7HWx9%PHymZ}SHES6D@wQn>)SC~_7(oE zMOc1$J&hi78H-gtFgUrG(V&@0r2%JI@Tx}8T7QTJx(=ty^PjShKSn^{GeyGZ zyYX7L;3y6DBV2bF{`jvFIuBdGbKNt1XEchk#;l_yB|22peh7Px0#qiv;eVyhN86#! zxG`RmrsZa{(SDau$8$MT=sgJy=@F3IBS*^)?55?(yGfbFvh^(|U`l}+t!WRTk7HJH zDZiCihtGdd`r`&$QRWFrQ;euk$lfk&*+8%AwYh!E3@PV`ER3F-2xMMNE|0w@C-(2BDgA6(1?AGMtbfj8G#9!Tdp29)73YbxI!6v(SxS-kdL`bv zzlWAs_To{UgS245XVJ`~0lemZ;Z7Q=C|nau8D#xrvi^rbd)g%Wu*jZH3Y^>50XJZ^ z$PbiGr;}v5t%|oOtY?*z1!ANJ$JOi|#v^bp1R|*gKKu2i#zDOV2SZ#3GuQAgp|kfJS5}q4^OfsKbaf`E zyz=KIX4nbe&mHD)e-3^TTz<8>qp)r1Vk!<7?qv}ZV31xjjELESAM7$}EoUcyk?m60 zHvSdePg25-MLqZ{kJAY|M#{5@t4+xtn5bTtoxq+^H)#7;f18=1V4+i>;+|!0Ed(Kj-duY*{Cwrjiq& zH7E*Z2|nTP*(vz?%xp;U*+Lg*je>jY9mM$+^5`=>olH;d#NLtb#Mi>7!k&D=rFVEg z1v=!ivB&4Z&xnOAPCgQDxS2xlH&1GER>mSz6(KX#2!Y9EP^qSgbqROaZ1Dj+{aG3M z6x&$)NI8(wRfSl)O4c9QidTyKQ0BcBW(&_OiN#Vd#^?bWUQ=TwTRmBlaV*>``oV%a zZr&ncB+x-Nb%?^^Xz%KAly@>xDKCs&R&ZLm8 zO0)e30eZ%>nKS!%m)CDtVL=pTj6Dg}4ntV-a!FCmV;k~sE=I#|-|&s?G9(=o7 zF=>}k-JK;StnYjj$>fz_n-d4`g&p>}9Vg&pY#LKl5IV*)^!U)|sr;}41^Q~I$SU1s zn1z)sJ(ZOKQBpE*v+Dx?ev&?Y-XJe9F5cI3kgtqxB4@+3O&N!SbT34vdy9;0DW zA`SZyMZT(?sDN*H>8*pv?tV6TW!yk)7Opkb?Vx-y9BA=q_F&3!#y-k2cH|Jhp?U-k z{`rxg93n-3FN`JGO@Ej}>J+wSL>L}aN=L=m0rjhN!$38)4Hqto$AYNa?CHlyh?Y9Q zT>hEBypT9?5wx=#Gxq@I<}jCQEdj#^=U~cw5V(M^fxo6VDHROohR4lka!J$0Wx@I^zhVl?EL;ZVJN{tqs;R8OSOPpI%0ajOc?>kG zz{KtO>}cyUmS+1GH(w3{|5h`a61Wrhubz%wzbB)+#7Az<4Nv&`JDsu7^6<}T4>-#G zwz{}{0Do`D8p?m-!0twm2YaOsw%P6vyJRf1K=z$vv(g?>=(_2Yx_&&kkTlH~{#SMK zJZfp4$FwcC#Kpa7bR^3R7iZ`*xgS@V+i+j>{M3qz<~g&mBNHj(rzT1DT;)239ERWj z-@A6if>d28SZ0soS2kwi`q@ETHE#ocAr>@GPm9$QtcTN+<-q#vK61|y9DrYLF~_)I zA|c-+p1hC9Jdk^kcm%3PSb*By$*`?D9W+0jMALO{^tWA|oZp3D{O^76Y_TF8ch|&g z7oBi=`$)(<7C_GZm$2)p;9Fl*i+)Nkuye~X+!|h3n=vSb3^qoy?8H%2_R5rAeb~b{ ztuP0}DLw2*$$P7f8w&W1#YuFwt^MPO@&Z(;3Sg`v4T{oEdFu#P_nht#O{N0VC&*(RAmuK{OI#|QmYMZ z|5$)kN*3$)-v@US1@}=<2Ig7}!sg<`{P@h>;Bx68-1{;a_njUL$L)^6N8d{Hi!0%) zLs#$%ELw2jpEWR3-U{{QPQ&jY4gP9YHQEkW#p#KzT(gZ8TRT{mt!QfJuO z$y3}MIryid3m1MTij6K0M2W6t{E<-u@V4ey8sL+UW2)X@quG48=$^qh+*JWP3l&fv zJAyJpFCj0{%*#gw($R)yW^NbB`X^oFciF2@XP1m{4;jni(szlcvy1Gn#zFMz7CNaF z29Vpf6z8Tdgojh3XzHHbAn{L~Bqg5VwHeKLSm;YXHL^v2r=83={4D&+Ilzn6R+I z23FB^lV37nFFS2@oK`&h&4zU!;oC3X;tFcxDcSD^UXA-ID%9N#7wY!Gz=!*3$kw#F zRn^51Q`H-r$M z6vZT_7}LiE0_XQmw$O9$Va{QB7||SuG2aa7;!SHddottwaG2nhc+M5IS3qp}HJ0t| z3(uy6GIfiCY?tz6ytytC1{Q9D6AQ)(&-qt;K;%Du)VxakF7Jzeqx)I$r*`ho*GOi4 zKo=&yNw0C7b!~w5t6jE^j!1;<=V&U;m9Wta*^yU6Aij=k;ybZ zEytoy$gTMMl=W!-!kj!;Rx-|z6e@PJHM_mwVn`~fCg_m+Ng07p_eXSNm@Z8@nT4m0 zDbc+N1E^rJ!1IrHgZjtk`J}8QG)upadX2)~blwdden+0}#cZQ5hc{ttZXDa|;mDRx zzsGFn>e2-5i_9!W9$cInu=>&vDEJ#d9_8jR!rlVnifXu>{SToS4T6Xz$Kjx1U z&T1klyguzHLHRb+QJMjN?TlfEk28c0mw=xizG3+Sf9#pH2<{gLvf~T3qeDU�%Z? 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 ugzt!KW2R=_Dp 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