� =��c�H\"��\u001a�y[\u0019��\u0011\u001b��\\�Vo,0�@��ax�Pr9���F3��P�g1_��j�S�E\u0014v�6��Ll�\u0003����W\f\u000f�z\\\r��\t��5�<���LӤ�!�\f\u0002�=�1�?\u0007\u0015\u001e\u000f����\u001f� aҐ��)ګ�Z`'\u0018��\u0014�8�F�:�\u0002�ɧ\u0016\u0004b�\f\n\u0002�ր\u001aIn\u0005;څ\u000b��\u000e3@\u0000\u001dh��JNF\u0005.\u0000\u0014\u0000�g�ӊ���T�8��ր\u0010\fw�b�4�\r\u0000/V��!\u00034\u00101��\u0000�OZi#>���H\u0016�\r�=)3�N94ݠ/Z` <���g4�]��\u0000�Nh�%\u0014\u0000��4�9�\u0014��\u0001{�c�SwQ�H\u0000�qO�\u001d)��i{u�\u0005�K�)\u0005-\u0003\r�b�\u001cRS��\t�4\u0011�\t8��\tۥ\u0002�4��\u0000�8t��M0\u0010��z1M4\u0000c�\u001c�ޗ�ޘ\t�\u001aBix�84\u0000����(+�I�\u0014�)�F8�4тE\u0003\u0016��Q�P�\u0018�\u0002�\u0000\u000f4�|qJzQ��\u0000P\u0003O4\u000e��\u0003�L�\u00008�BGCҁ֑��\u0000q�\u0015��~����h\u0010�'�\u00147�i@��8��\u0013@\u0000\\\ni<�Jy\u001c�@\u0007>��a�Jq���h#��h\u0000\\�H\u0017�M8p(<\f�\u0003\u000f\\f�E''�p^␆c\u0007�.y�.0h��@��ڌd�у�ⓚ\u00048�i'\u0014������\fQ��;\u001cv��Ҝ94\u0000�OAM$ѻ\u0007\u0014\u001cS\u0001\u0006sK�h\u0014�\u001d�\u0000�\u001e��ғ�敁\u0006�\f�F\u0005.9��G���K3ʻ�����W\u0003�\u0012�Q��\u0005$A�\u0010\u001b�=p)%*�V��;(⨢��P\u0002�osS[��B�'\u0014�܃��>欙��\u0006\"3�S�\u0000\"+���GROJ��o���ubz�u����\u000fn�\u001f�A��f�\u0012\u001f��\u0000=\u00052}���aF\u0018\u001c�\u0014e\u0001��\u001f� \u001a�(�\u001d͓�5\t�8\u0019#�LdI\u001b�N;TM\"�#e\u00005@c�'���0\r��\t\u0014��\u0002�1<�\u0019.WwoƐ�9�A�\u0000;\u0002M5b9���\u0004��\u0017j���p���)��\u001e\r+*��ԀR@#�S�B95\u0003\u0000{S�\u0001�3@\u0012�Cߥ5�'�?�79l\u0001ֆ\n�/'�Ҁ\u001b���!��\u0018��8\u0006��w�1�\t��3�3FF2s�84�\u000fL-\u0019�z:p\r!^:P\u0001�ۓ�@e遚\u0000'�z�8\b\t��\u0006o\u0019�j7`�8\u001dH�7i�ր\u0002��\u0014���E<(�3H�p\u0006(\u0001���7�N�M!�\u000e��\u0017\u001cQ�Ҫ�9�9�E0%\u0019+�@\u0014�U^\u0001��G4퀌��\b�O\u0002��\ff�!=�T/aH\u0006����>_sG�O\u0014������W�I�Q�&�\u0012[\u0002�e\rޘ�x\u0000w��y S�5�I��O��̜\n\\1l�\u001eI�L$��?i�x�0��\u0003z�&���\u0006�\u0017��c�h\u0001Ā3I�)�\u0013�M-ޘ\u0012\u0016�SEt�\u001f��L��\u000e\r&�\u0011fk�g?1�\u0014�{���\n����8�R�\u0014{Ҳ�X�2aq\fo�#�\\�!1�8�կ\f�\u0007��Iʚ��q��o��9{� �K�7qA\u0018s�@\u0004��[\u0016 \u0019�c�ښܟjs\u001e٦dt�0\u001d���e���Oaҝ����\tޓ�p�7'u\u0000;8\u0018�}��H�\u0007g\u0014rz�n~Z\u0006{�\u0004��ǥ%\u0000\u000fƌ\fP\u0003v��\u001f�J1J3@\t�iB�6s�\u001c��\u0002�)~@2i���n23�1\u000b�L8'\u0014��7��@\u0001��4��A��\u0000\u0019��SK�OJ]��@�g&�9�;�Jn\u0018�B\u00000zӾ��M)\u0007\u001d(\u0001qGj\u0000�Z0h\u0000旭\u0000\u001a\u0007&��\u0005.(�w�搇\u001czџjE�-0\u001bGҗ\u0006��P\u00033�3�\u00079��L\u0006\u00064��ojh9�\u0007d\n:�b��S\u0000�y�\u001d�\u001c\n3�\u0005\u0002\f�4���N\u0003���\u0003��=\u0005&\r.�\u000e)\u0001�M\u0000!\u0007\u0014�O'���zQ`\u001c\b\u0003�n�OZ\u0000�&�\u0010�F1֝�N�\u0000\u0006\u0003�0�;\u0002���\u0001��G�px�\u00039�\u0018\u00074\bW\u0004�Tm�84���l2s@\u0006OjZM�c�\u0000i�\u0003�i\t\u0002���@\n\u000f46i���\npa�;Q��0�b�\b[=)S�'�\u0005\nh\u0001���`R�GP\u0005\u0000!L�C.\u0005\u001c�J�v��S�\u0000�㎴��\b~\u0001\u0014���\u0014�E($�w\u0001W��PH�R��\u001d�Fx�$�o��\u0003��M+��с�Ѵ��@v�\u000b��G=q��7(�HP\t���_;�}\u0016��-�\u001d;��c,�\u0015���קJr\\3�-�{\u000e�\u001c{P�ϑ�\u000e3O3*�\u0019�\u0014��;�+\u0016���&�;�ݞ�\\\u0006.I`?\u001a�C�\u0002�\u00124�@Y�?�\u0002��\u0007\u001b�sHb̘$\u001cu\u0019��\u0013\u0004��\u001d8�@Ȕ\u0005\u001b���\u000e��\n_\f�zT{�;N}鄁�9��\t'��\u0018\u0007�j�>��?Z$\u0001�v�Ǡ��r\u0001�1�J@I��I�\n\u0007�5\u0012F�\t\u0014�>>�?\u001a@)1\u001fPi\u0004i��Jr\u0017�\u0014��\u00008�^)\u0017ao�h�\u0001��7~\u000fJ@<�'8��\u0018\u0007���p�\u0006)K�=�\u0001x�#4�ò�<��\u0014Ѹ�E\u0003\u0017p�Ni@��L9���mf\u0018� \u0001\u0018-�<�\u000f&�\u0010\u0003�4�\u0014\u0001\\�x\u0014��\u0018\u0014���3\u0004�Z\u00000\u001a2O\u0014�Ӛ1�Q`\u0013q\u0003\u001f�&;�4d���\u001d�\u00022qޛ�S�94�Ҁ\u001c\bn�>��\u0000x��N3ހ\u000epM0&$v���m��4\u0019�t����\u0000W#\u001dz�\u0001�4�{�\ft�1pH�J\u000f��\u000eO'�\u0018.�\n\u0000b�p*U�\u001c\u000f�<9�\u0007\u0014�9���4��� `zӷ\u0000��\u0000ӊL�u�'>Ԝu<�@\u0003=�\u0014�\u0003����\u001d)\u001b��c\u0003�dS\u0000$�֞d\u0018�P�Ɓ\t�v�\u0010��9��!��OJW\\\u0012B�\u0004!8,GJB\u0003\u001a$\u0007��3@�\u0014\u0000�piC{���\u001cSY��(\u0000$��ڛ��\u0014\u0003�\\��\u0006�1L��;�\u0002��\u0001�4�p\u0000�\u000fΑ�c�\u0001-�b���\u000f����[\u0002��Ӱ��\re�I��R����v�u�\u0006��zmn\u0000�\u0001��T��m0��$W\u00042\u001b9�U��Y\u0005��yȬgO�ܛ\u0014�a�ޛ�i\u000b\u0001ۓFI\u0015��b�����4�qG!sT\u0003�\u0001�A�x��$zRc���\u0005��Ƞ�[�N��0\u001dx\u0014\u0001\u0018SK��\u000f\u001di��#)��c�\u00198��GJ\u0000i�8�\u0001��\r�\u0000�;k\u0001�\u0005\u0000D�槓�\u0005.084�\u0002s�\u0000oz:\u001apEݞ�\u0011���B\u0011�S�PU�AS�b�\f��i\u000b\u0003�)�\u0000\u0014\u0005�\u0014\u0001\u001b)�\u0014c\u0014�\u001e�ހ\u0017�L-�\b�\"��\u0000\u000e���\t�E\u0014�4�Xf�@ۚ(�\u0007\u0004Q\u0019lsQ�\u0018\u0007�h��\u000f�98�@b\u0010��Q@\n��I���QR\u0003O\u000e(��8\u001cQE0\b؎���1�M\u0014R\u0019\u0011A��\u0002H\u001fZ(�\u0003_��\u0003Ҋ(\u0001ꠞi���j(�C\u0015A\u001cӀ\u0000�(\u0018\u0001�֕�\u0001���` �f��n��E #���5���\u0014R\u0018�$�S�2x�E\u0014\u0001\u0019<��\"�)�\u0007/���QE\u0000 9�=(��$*\u0016<��\u0013}�(�\u0004���:�VF�Ǹ��\u0000P�=h.�u��\u0000`�\u0012i\b�\u0014Q@\n��5\u001b���\u0000D�F\u0003\u001eh��\u0010�\u0012P����\u0006H�PM\u0014P1�s�֤�E\u0014\f��H���E\u0014\b\u0000��@���h��\ro�i�\f�E\u0000$�\u0000\u0001�SG+�E\u0014�%U\u001b\u000f��\u0000h��\b\t��Hy \u001fZ(�0�wA�\u0014P\u0002w�\u001e�Q@\b�Ur(\u0004��\u0014P\u0000�j�P�c4Q@�\u001c�MV9�E\u0014�\u001d�\u0011�SJ��=h��\u001bޜ\u000fZ(�cOJO�4QLC\u0018�M\u0006�)\u0000�\u001f&h\u0000`QE \u0003�JT\u0000��E\u0003\u001a)��J(�\u0005�Ji'8��\u0004�(�C\u0001ɥ��\u0001\u0001�O_�M\u0014S\u0018��Q\u001e^�)����/J(�L~\u0000QHx��\u00046��\u0004�E\u0000'�.0\u001a(�Pb�8\\�E\u0000($��d�@\u0018�E\u0014�La3L^��(\u0001\u001c␓�\u0014PH��F�ry��\n\u0013\u0003m4u>Ɗ(\u00013��{�E!\bxjC���\u0006D�~��\u0014R\u0010�RQE\u0000)�i����\u00138�.y��B\u0011zӿ�\u0014Q@��N(�(�\u0003)�W�\u0006\u001fuA\u0014�\u0000�\u0014QHC��4��h���#\u0003�ZSE\u0014�*�j&$5\u0014R\u0003��\r\n--f7100d89-8b32-4806-91c6-c71c47dbde22--\r\n",
+ "RequestHeaders": {
+ "Content-Type": [
+ "multipart/form-data; boundary=\"f7100d89-8b32-4806-91c6-c71c47dbde22\""
+ ],
+ "Content-Length": [
+ "86852"
+ ],
+ "Prediction-Key": [
+ ""
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26011.01",
+ "Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction.PredictionEndpoint/1.0.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"Id\": \"3b26e489-d161-443f-a8e3-6b7f0b4c667f\",\r\n \"Project\": \"e222c033-5f5d-4a23-bde9-8343f19c0a01\",\r\n \"Iteration\": \"015deca4-aa39-4d20-81fe-73de4efd6acf\",\r\n \"Created\": \"2018-02-22T05:16:49.55872Z\",\r\n \"Predictions\": [\r\n {\r\n \"TagId\": \"f7304b5d-0318-4a29-b98c-114c6f90c81d\",\r\n \"Tag\": \"Hemlock\",\r\n \"Probability\": 1.0\r\n },\r\n {\r\n \"TagId\": \"5408cebc-c28d-4578-8515-7a4718f5e0d3\",\r\n \"Tag\": \"Japanese Cherry\",\r\n \"Probability\": 3.60627153E-12\r\n }\r\n ]\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "385"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Date": [
+ "Thu, 22 Feb 2018 05:16:49 GMT"
+ ],
+ "apim-request-id": [
+ "c81b3bf2-e479-42c3-8cef-9d214cfead26"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains; preload"
+ ],
+ "x-content-type-options": [
+ "nosniff"
+ ]
+ },
+ "StatusCode": 200
+ }
+ ],
+ "Names": {},
+ "Variables": {}
+}
\ No newline at end of file
diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction.Tests/SessionRecords/PredictionTests/PredictImageUrl.json b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction.Tests/SessionRecords/PredictionTests/PredictImageUrl.json
new file mode 100644
index 000000000000..b734a2db7178
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction.Tests/SessionRecords/PredictionTests/PredictImageUrl.json
@@ -0,0 +1,49 @@
+{
+ "Entries": [
+ {
+ "RequestUri": "/customvision/v1.1/Prediction/e222c033-5f5d-4a23-bde9-8343f19c0a01/url",
+ "EncodedRequestUri": "L2N1c3RvbXZpc2lvbi92MS4xL1ByZWRpY3Rpb24vZTIyMmMwMzMtNWY1ZC00YTIzLWJkZTktODM0M2YxOWMwYTAxL3VybA==",
+ "RequestMethod": "POST",
+ "RequestBody": "{\r\n \"Url\": \"https://raw.githubusercontent.com/Microsoft/Cognitive-CustomVision-Windows/master/Samples/Images/Test/test_image.jpg\"\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "133"
+ ],
+ "Prediction-Key": [
+ ""
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26011.01",
+ "Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction.PredictionEndpoint/1.0.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"Id\": \"e880a5ec-1ed4-461a-9813-c9c94997bd12\",\r\n \"Project\": \"e222c033-5f5d-4a23-bde9-8343f19c0a01\",\r\n \"Iteration\": \"015deca4-aa39-4d20-81fe-73de4efd6acf\",\r\n \"Created\": \"2018-02-22T05:18:58.5724905Z\",\r\n \"Predictions\": [\r\n {\r\n \"TagId\": \"f7304b5d-0318-4a29-b98c-114c6f90c81d\",\r\n \"Tag\": \"Hemlock\",\r\n \"Probability\": 1.0\r\n },\r\n {\r\n \"TagId\": \"5408cebc-c28d-4578-8515-7a4718f5e0d3\",\r\n \"Tag\": \"Japanese Cherry\",\r\n \"Probability\": 3.60627153E-12\r\n }\r\n ]\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "387"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Date": [
+ "Thu, 22 Feb 2018 05:18:58 GMT"
+ ],
+ "apim-request-id": [
+ "c0d2916c-91de-4eb0-9c78-1baf6bc39356"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains; preload"
+ ],
+ "x-content-type-options": [
+ "nosniff"
+ ]
+ },
+ "StatusCode": 200
+ }
+ ],
+ "Names": {},
+ "Variables": {}
+}
\ No newline at end of file
diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction.Tests/SessionRecords/PredictionTests/PredictImageUrlNoStore.json b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction.Tests/SessionRecords/PredictionTests/PredictImageUrlNoStore.json
new file mode 100644
index 000000000000..a812e7a9e240
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction.Tests/SessionRecords/PredictionTests/PredictImageUrlNoStore.json
@@ -0,0 +1,49 @@
+{
+ "Entries": [
+ {
+ "RequestUri": "/customvision/v1.1/Prediction/e222c033-5f5d-4a23-bde9-8343f19c0a01/url/nostore",
+ "EncodedRequestUri": "L2N1c3RvbXZpc2lvbi92MS4xL1ByZWRpY3Rpb24vZTIyMmMwMzMtNWY1ZC00YTIzLWJkZTktODM0M2YxOWMwYTAxL3VybC9ub3N0b3Jl",
+ "RequestMethod": "POST",
+ "RequestBody": "{\r\n \"Url\": \"https://raw.githubusercontent.com/Microsoft/Cognitive-CustomVision-Windows/master/Samples/Images/Test/test_image.jpg\"\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "133"
+ ],
+ "Prediction-Key": [
+ ""
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26011.01",
+ "Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction.PredictionEndpoint/1.0.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"Id\": \"cec12479-70b6-4c2b-a78c-5574338f288a\",\r\n \"Project\": \"e222c033-5f5d-4a23-bde9-8343f19c0a01\",\r\n \"Iteration\": \"015deca4-aa39-4d20-81fe-73de4efd6acf\",\r\n \"Created\": \"2018-02-22T05:22:17.1888743Z\",\r\n \"Predictions\": [\r\n {\r\n \"TagId\": \"f7304b5d-0318-4a29-b98c-114c6f90c81d\",\r\n \"Tag\": \"Hemlock\",\r\n \"Probability\": 1.0\r\n },\r\n {\r\n \"TagId\": \"5408cebc-c28d-4578-8515-7a4718f5e0d3\",\r\n \"Tag\": \"Japanese Cherry\",\r\n \"Probability\": 3.60627153E-12\r\n }\r\n ]\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "387"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Date": [
+ "Thu, 22 Feb 2018 05:22:17 GMT"
+ ],
+ "apim-request-id": [
+ "3e485211-2411-4403-89af-057f3b1b690b"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains; preload"
+ ],
+ "x-content-type-options": [
+ "nosniff"
+ ]
+ },
+ "StatusCode": 200
+ }
+ ],
+ "Names": {},
+ "Variables": {}
+}
\ No newline at end of file
diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction.Tests/TestImages/test_image.jpg b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction.Tests/TestImages/test_image.jpg
new file mode 100644
index 000000000000..1464d7224687
Binary files /dev/null and b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction.Tests/TestImages/test_image.jpg differ
diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction.sln b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction.sln
new file mode 100644
index 000000000000..6656fd72fc84
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.26430.16
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{6558086F-5F69-4793-B2C5-7300B2510100}") = "Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction", "Prediction\Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction.csproj", "{338BB7D5-245A-4508-BA7D-71B37A254367}"
+EndProject
+Project("{6558086F-5F69-4793-B2C5-7300B2510100}") = "Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction.Tests", "Prediction.Tests\Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction.Tests.csproj", "{F47DEF2A-CD64-4CB6-A074-6931B31FA253}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {338BB7D5-245A-4508-BA7D-71B37A254367}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {338BB7D5-245A-4508-BA7D-71B37A254367}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {338BB7D5-245A-4508-BA7D-71B37A254367}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {338BB7D5-245A-4508-BA7D-71B37A254367}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F47DEF2A-CD64-4CB6-A074-6931B31FA253}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F47DEF2A-CD64-4CB6-A074-6931B31FA253}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F47DEF2A-CD64-4CB6-A074-6931B31FA253}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F47DEF2A-CD64-4CB6-A074-6931B31FA253}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/IPredictionEndpoint.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/IPredictionEndpoint.cs
new file mode 100644
index 000000000000..8c566fb6c7bd
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/IPredictionEndpoint.cs
@@ -0,0 +1,151 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction
+{
+ using Microsoft.Rest;
+ using Models;
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.IO;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ ///
+ ///
+ public partial interface IPredictionEndpoint : System.IDisposable
+ {
+ ///
+ /// The base URI of the service.
+ ///
+ System.Uri BaseUri { get; set; }
+
+ ///
+ /// Gets or sets json serialization settings.
+ ///
+ JsonSerializerSettings SerializationSettings { get; }
+
+ ///
+ /// Gets or sets json deserialization settings.
+ ///
+ JsonSerializerSettings DeserializationSettings { get; }
+
+ ///
+ ///
+ string ApiKey { get; set; }
+
+
+ ///
+ /// Predict an image url and saves the result
+ ///
+ ///
+ /// The project id
+ ///
+ ///
+ /// An {Iris.Web.Api.Models.ImageUrl} that contains the url of the
+ /// image to be evaluated
+ ///
+ ///
+ /// Optional. Specifies the id of a particular iteration to evaluate
+ /// against.
+ /// The default iteration for the project will be used when not
+ /// specified
+ ///
+ ///
+ /// Optional. Specifies the name of application using the endpoint
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ Task> PredictImageUrlWithHttpMessagesAsync(System.Guid projectId, ImageUrl imageUrl, System.Guid? iterationId = default(System.Guid?), string application = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+
+ ///
+ /// Predict an image and saves the result
+ ///
+ ///
+ /// The project id
+ ///
+ ///
+ ///
+ ///
+ /// Optional. Specifies the id of a particular iteration to evaluate
+ /// against.
+ /// The default iteration for the project will be used when not
+ /// specified
+ ///
+ ///
+ /// Optional. Specifies the name of application using the endpoint
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ Task> PredictImageWithHttpMessagesAsync(System.Guid projectId, Stream imageData, System.Guid? iterationId = default(System.Guid?), string application = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+
+ ///
+ /// Predict an image url without saving the result
+ ///
+ ///
+ /// The project id
+ ///
+ ///
+ /// An {Iris.Web.Api.Models.ImageUrl} that contains the url of the
+ /// image to be evaluated
+ ///
+ ///
+ /// Optional. Specifies the id of a particular iteration to evaluate
+ /// against.
+ /// The default iteration for the project will be used when not
+ /// specified
+ ///
+ ///
+ /// Optional. Specifies the name of application using the endpoint
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ Task> PredictImageUrlWithNoStoreWithHttpMessagesAsync(System.Guid projectId, ImageUrl imageUrl, System.Guid? iterationId = default(System.Guid?), string application = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+
+ ///
+ /// Predict an image without saving the result
+ ///
+ ///
+ /// The project id
+ ///
+ ///
+ ///
+ ///
+ /// Optional. Specifies the id of a particular iteration to evaluate
+ /// against.
+ /// The default iteration for the project will be used when not
+ /// specified
+ ///
+ ///
+ /// Optional. Specifies the name of application using the endpoint
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ Task> PredictImageWithNoStoreWithHttpMessagesAsync(System.Guid projectId, Stream imageData, System.Guid? iterationId = default(System.Guid?), string application = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+
+ }
+}
diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/Models/ImagePredictionResultModel.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/Models/ImagePredictionResultModel.cs
new file mode 100644
index 000000000000..b41f1455181d
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/Models/ImagePredictionResultModel.cs
@@ -0,0 +1,75 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction.Models
+{
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Linq;
+
+ ///
+ /// result of an image prediction request
+ ///
+ public partial class ImagePredictionResultModel
+ {
+ ///
+ /// Initializes a new instance of the ImagePredictionResultModel class.
+ ///
+ public ImagePredictionResultModel()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the ImagePredictionResultModel class.
+ ///
+ public ImagePredictionResultModel(System.Guid id = default(System.Guid), System.Guid project = default(System.Guid), System.Guid iteration = default(System.Guid), System.DateTime created = default(System.DateTime), IList predictions = default(IList))
+ {
+ Id = id;
+ Project = project;
+ Iteration = iteration;
+ Created = created;
+ Predictions = predictions;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ ///
+ [JsonProperty(PropertyName = "Id")]
+ public System.Guid Id { get; private set; }
+
+ ///
+ ///
+ [JsonProperty(PropertyName = "Project")]
+ public System.Guid Project { get; private set; }
+
+ ///
+ ///
+ [JsonProperty(PropertyName = "Iteration")]
+ public System.Guid Iteration { get; private set; }
+
+ ///
+ ///
+ [JsonProperty(PropertyName = "Created")]
+ public System.DateTime Created { get; private set; }
+
+ ///
+ ///
+ [JsonProperty(PropertyName = "Predictions")]
+ public IList Predictions { get; private set; }
+
+ }
+}
diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/Models/ImageTagPredictionModel.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/Models/ImageTagPredictionModel.cs
new file mode 100644
index 000000000000..f62fca239e94
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/Models/ImageTagPredictionModel.cs
@@ -0,0 +1,58 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ public partial class ImageTagPredictionModel
+ {
+ ///
+ /// Initializes a new instance of the ImageTagPredictionModel class.
+ ///
+ public ImageTagPredictionModel()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the ImageTagPredictionModel class.
+ ///
+ public ImageTagPredictionModel(System.Guid tagId = default(System.Guid), string tag = default(string), double probability = default(double))
+ {
+ TagId = tagId;
+ Tag = tag;
+ Probability = probability;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ ///
+ [JsonProperty(PropertyName = "TagId")]
+ public System.Guid TagId { get; private set; }
+
+ ///
+ ///
+ [JsonProperty(PropertyName = "Tag")]
+ public string Tag { get; private set; }
+
+ ///
+ ///
+ [JsonProperty(PropertyName = "Probability")]
+ public double Probability { get; private set; }
+
+ }
+}
diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/Models/ImageUrl.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/Models/ImageUrl.cs
new file mode 100644
index 000000000000..33914dff75c0
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/Models/ImageUrl.cs
@@ -0,0 +1,46 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ public partial class ImageUrl
+ {
+ ///
+ /// Initializes a new instance of the ImageUrl class.
+ ///
+ public ImageUrl()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the ImageUrl class.
+ ///
+ public ImageUrl(string url = default(string))
+ {
+ Url = url;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ ///
+ [JsonProperty(PropertyName = "Url")]
+ public string Url { get; set; }
+
+ }
+}
diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/PredictionEndpoint.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/PredictionEndpoint.cs
new file mode 100644
index 000000000000..5204c520a384
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/PredictionEndpoint.cs
@@ -0,0 +1,891 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Serialization;
+ using Models;
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.IO;
+ using System.Net;
+ using System.Net.Http;
+ using System.Net.Http.Headers;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ public partial class PredictionEndpoint : ServiceClient, IPredictionEndpoint
+ {
+ ///
+ /// The base URI of the service.
+ ///
+ public System.Uri BaseUri { get; set; }
+
+ ///
+ /// Gets or sets json serialization settings.
+ ///
+ public JsonSerializerSettings SerializationSettings { get; private set; }
+
+ ///
+ /// Gets or sets json deserialization settings.
+ ///
+ public JsonSerializerSettings DeserializationSettings { get; private set; }
+
+ ///
+ ///
+ public string ApiKey { get; set; }
+
+ ///
+ /// Initializes a new instance of the PredictionEndpoint class.
+ ///
+ ///
+ /// Optional. The delegating handlers to add to the http client pipeline.
+ ///
+ public PredictionEndpoint(params DelegatingHandler[] handlers) : base(handlers)
+ {
+ Initialize();
+ }
+
+ ///
+ /// Initializes a new instance of the PredictionEndpoint class.
+ ///
+ ///
+ /// Optional. The http client handler used to handle http transport.
+ ///
+ ///
+ /// Optional. The delegating handlers to add to the http client pipeline.
+ ///
+ public PredictionEndpoint(HttpClientHandler rootHandler, params DelegatingHandler[] handlers) : base(rootHandler, handlers)
+ {
+ Initialize();
+ }
+
+ ///
+ /// Initializes a new instance of the PredictionEndpoint class.
+ ///
+ ///
+ /// Optional. The base URI of the service.
+ ///
+ ///
+ /// Optional. The delegating handlers to add to the http client pipeline.
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ public PredictionEndpoint(System.Uri baseUri, params DelegatingHandler[] handlers) : this(handlers)
+ {
+ if (baseUri == null)
+ {
+ throw new System.ArgumentNullException("baseUri");
+ }
+ BaseUri = baseUri;
+ }
+
+ ///
+ /// Initializes a new instance of the PredictionEndpoint class.
+ ///
+ ///
+ /// Optional. The base URI of the service.
+ ///
+ ///
+ /// Optional. The http client handler used to handle http transport.
+ ///
+ ///
+ /// Optional. The delegating handlers to add to the http client pipeline.
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ public PredictionEndpoint(System.Uri baseUri, HttpClientHandler rootHandler, params DelegatingHandler[] handlers) : this(rootHandler, handlers)
+ {
+ if (baseUri == null)
+ {
+ throw new System.ArgumentNullException("baseUri");
+ }
+ BaseUri = baseUri;
+ }
+
+ ///
+ /// An optional partial-method to perform custom initialization.
+ ///
+ partial void CustomInitialize();
+ ///
+ /// Initializes client properties.
+ ///
+ private void Initialize()
+ {
+ BaseUri = new System.Uri("https://southcentralus.api.cognitive.microsoft.com/customvision/v1.1/Prediction");
+ SerializationSettings = new JsonSerializerSettings
+ {
+ Formatting = Newtonsoft.Json.Formatting.Indented,
+ DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat,
+ DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc,
+ NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore,
+ ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
+ ContractResolver = new ReadOnlyJsonContractResolver(),
+ Converters = new List
+ {
+ new Iso8601TimeSpanConverter()
+ }
+ };
+ DeserializationSettings = new JsonSerializerSettings
+ {
+ DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat,
+ DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc,
+ NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore,
+ ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
+ ContractResolver = new ReadOnlyJsonContractResolver(),
+ Converters = new List
+ {
+ new Iso8601TimeSpanConverter()
+ }
+ };
+ CustomInitialize();
+ }
+ ///
+ /// Predict an image url and saves the result
+ ///
+ ///
+ /// The project id
+ ///
+ ///
+ /// An {Iris.Web.Api.Models.ImageUrl} that contains the url of the image to be
+ /// evaluated
+ ///
+ ///
+ /// Optional. Specifies the id of a particular iteration to evaluate against.
+ /// The default iteration for the project will be used when not specified
+ ///
+ ///
+ /// Optional. Specifies the name of application using the endpoint
+ ///
+ ///
+ /// Headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// A response object containing the response body and response headers.
+ ///
+ public async Task> PredictImageUrlWithHttpMessagesAsync(System.Guid projectId, ImageUrl imageUrl, System.Guid? iterationId = default(System.Guid?), string application = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ if (imageUrl == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "imageUrl");
+ }
+ if (ApiKey == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.ApiKey");
+ }
+ // Tracing
+ bool _shouldTrace = ServiceClientTracing.IsEnabled;
+ string _invocationId = null;
+ if (_shouldTrace)
+ {
+ _invocationId = ServiceClientTracing.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("projectId", projectId);
+ tracingParameters.Add("imageUrl", imageUrl);
+ tracingParameters.Add("iterationId", iterationId);
+ tracingParameters.Add("application", application);
+ tracingParameters.Add("cancellationToken", cancellationToken);
+ ServiceClientTracing.Enter(_invocationId, this, "PredictImageUrl", tracingParameters);
+ }
+ // Construct URL
+ var _baseUrl = BaseUri.AbsoluteUri;
+ var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "{projectId}/url").ToString();
+ _url = _url.Replace("{projectId}", System.Uri.EscapeDataString(SafeJsonConvert.SerializeObject(projectId, SerializationSettings).Trim('"')));
+ List _queryParameters = new List();
+ if (iterationId != null)
+ {
+ _queryParameters.Add(string.Format("iterationId={0}", System.Uri.EscapeDataString(SafeJsonConvert.SerializeObject(iterationId, SerializationSettings).Trim('"'))));
+ }
+ if (application != null)
+ {
+ _queryParameters.Add(string.Format("application={0}", System.Uri.EscapeDataString(application)));
+ }
+ if (_queryParameters.Count > 0)
+ {
+ _url += "?" + string.Join("&", _queryParameters);
+ }
+ // Create HTTP transport objects
+ var _httpRequest = new HttpRequestMessage();
+ HttpResponseMessage _httpResponse = null;
+ _httpRequest.Method = new HttpMethod("POST");
+ _httpRequest.RequestUri = new System.Uri(_url);
+ // Set Headers
+ if (ApiKey != null)
+ {
+ if (_httpRequest.Headers.Contains("Prediction-Key"))
+ {
+ _httpRequest.Headers.Remove("Prediction-Key");
+ }
+ _httpRequest.Headers.TryAddWithoutValidation("Prediction-Key", ApiKey);
+ }
+
+
+ if (customHeaders != null)
+ {
+ foreach(var _header in customHeaders)
+ {
+ if (_httpRequest.Headers.Contains(_header.Key))
+ {
+ _httpRequest.Headers.Remove(_header.Key);
+ }
+ _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value);
+ }
+ }
+
+ // Serialize Request
+ string _requestContent = null;
+ if(imageUrl != null)
+ {
+ _requestContent = SafeJsonConvert.SerializeObject(imageUrl, SerializationSettings);
+ _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8);
+ _httpRequest.Content.Headers.ContentType =MediaTypeHeaderValue.Parse("application/json; charset=utf-8");
+ }
+ // Send Request
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.SendRequest(_invocationId, _httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse);
+ }
+ HttpStatusCode _statusCode = _httpResponse.StatusCode;
+ cancellationToken.ThrowIfCancellationRequested();
+ string _responseContent = null;
+ if ((int)_statusCode != 200)
+ {
+ var ex = new HttpOperationException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
+ if (_httpResponse.Content != null) {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ }
+ else {
+ _responseContent = string.Empty;
+ }
+ ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent);
+ ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Error(_invocationId, ex);
+ }
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw ex;
+ }
+ // Create Result
+ var _result = new HttpOperationResponse();
+ _result.Request = _httpRequest;
+ _result.Response = _httpResponse;
+ // Deserialize Response
+ if ((int)_statusCode == 200)
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings);
+ }
+ catch (JsonException ex)
+ {
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw new SerializationException("Unable to deserialize the response.", _responseContent, ex);
+ }
+ }
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Exit(_invocationId, _result);
+ }
+ return _result;
+ }
+
+ ///
+ /// Predict an image and saves the result
+ ///
+ ///
+ /// The project id
+ ///
+ ///
+ ///
+ ///
+ /// Optional. Specifies the id of a particular iteration to evaluate against.
+ /// The default iteration for the project will be used when not specified
+ ///
+ ///
+ /// Optional. Specifies the name of application using the endpoint
+ ///
+ ///
+ /// Headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// A response object containing the response body and response headers.
+ ///
+ public async Task> PredictImageWithHttpMessagesAsync(System.Guid projectId, Stream imageData, System.Guid? iterationId = default(System.Guid?), string application = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ if (imageData == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "imageData");
+ }
+ if (ApiKey == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.ApiKey");
+ }
+ // Tracing
+ bool _shouldTrace = ServiceClientTracing.IsEnabled;
+ string _invocationId = null;
+ if (_shouldTrace)
+ {
+ _invocationId = ServiceClientTracing.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("projectId", projectId);
+ tracingParameters.Add("iterationId", iterationId);
+ tracingParameters.Add("application", application);
+ tracingParameters.Add("imageData", imageData);
+ tracingParameters.Add("cancellationToken", cancellationToken);
+ ServiceClientTracing.Enter(_invocationId, this, "PredictImage", tracingParameters);
+ }
+ // Construct URL
+ var _baseUrl = BaseUri.AbsoluteUri;
+ var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "{projectId}/image").ToString();
+ _url = _url.Replace("{projectId}", System.Uri.EscapeDataString(SafeJsonConvert.SerializeObject(projectId, SerializationSettings).Trim('"')));
+ List _queryParameters = new List();
+ if (iterationId != null)
+ {
+ _queryParameters.Add(string.Format("iterationId={0}", System.Uri.EscapeDataString(SafeJsonConvert.SerializeObject(iterationId, SerializationSettings).Trim('"'))));
+ }
+ if (application != null)
+ {
+ _queryParameters.Add(string.Format("application={0}", System.Uri.EscapeDataString(application)));
+ }
+ if (_queryParameters.Count > 0)
+ {
+ _url += "?" + string.Join("&", _queryParameters);
+ }
+ // Create HTTP transport objects
+ var _httpRequest = new HttpRequestMessage();
+ HttpResponseMessage _httpResponse = null;
+ _httpRequest.Method = new HttpMethod("POST");
+ _httpRequest.RequestUri = new System.Uri(_url);
+ // Set Headers
+ if (ApiKey != null)
+ {
+ if (_httpRequest.Headers.Contains("Prediction-Key"))
+ {
+ _httpRequest.Headers.Remove("Prediction-Key");
+ }
+ _httpRequest.Headers.TryAddWithoutValidation("Prediction-Key", ApiKey);
+ }
+
+
+ if (customHeaders != null)
+ {
+ foreach(var _header in customHeaders)
+ {
+ if (_httpRequest.Headers.Contains(_header.Key))
+ {
+ _httpRequest.Headers.Remove(_header.Key);
+ }
+ _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value);
+ }
+ }
+
+ // Serialize Request
+ string _requestContent = null;
+ MultipartFormDataContent _multiPartContent = new MultipartFormDataContent();
+ if (imageData != null)
+ {
+ StreamContent _imageData = new StreamContent(imageData);
+ _imageData.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
+ FileStream _imageDataAsFileStream = imageData as FileStream;
+ if (_imageDataAsFileStream != null)
+ {
+ ContentDispositionHeaderValue _contentDispositionHeaderValue = new ContentDispositionHeaderValue("form-data");
+ _contentDispositionHeaderValue.Name = "imageData";
+ _contentDispositionHeaderValue.FileName = _imageDataAsFileStream.Name;
+ _imageData.Headers.ContentDisposition = _contentDispositionHeaderValue;
+ }
+ _multiPartContent.Add(_imageData, "imageData");
+ }
+ _httpRequest.Content = _multiPartContent;
+ // Send Request
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.SendRequest(_invocationId, _httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse);
+ }
+ HttpStatusCode _statusCode = _httpResponse.StatusCode;
+ cancellationToken.ThrowIfCancellationRequested();
+ string _responseContent = null;
+ if ((int)_statusCode != 200)
+ {
+ var ex = new HttpOperationException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
+ if (_httpResponse.Content != null) {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ }
+ else {
+ _responseContent = string.Empty;
+ }
+ ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent);
+ ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Error(_invocationId, ex);
+ }
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw ex;
+ }
+ // Create Result
+ var _result = new HttpOperationResponse();
+ _result.Request = _httpRequest;
+ _result.Response = _httpResponse;
+ // Deserialize Response
+ if ((int)_statusCode == 200)
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings);
+ }
+ catch (JsonException ex)
+ {
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw new SerializationException("Unable to deserialize the response.", _responseContent, ex);
+ }
+ }
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Exit(_invocationId, _result);
+ }
+ return _result;
+ }
+
+ ///
+ /// Predict an image url without saving the result
+ ///
+ ///
+ /// The project id
+ ///
+ ///
+ /// An {Iris.Web.Api.Models.ImageUrl} that contains the url of the image to be
+ /// evaluated
+ ///
+ ///
+ /// Optional. Specifies the id of a particular iteration to evaluate against.
+ /// The default iteration for the project will be used when not specified
+ ///
+ ///
+ /// Optional. Specifies the name of application using the endpoint
+ ///
+ ///
+ /// Headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// A response object containing the response body and response headers.
+ ///
+ public async Task> PredictImageUrlWithNoStoreWithHttpMessagesAsync(System.Guid projectId, ImageUrl imageUrl, System.Guid? iterationId = default(System.Guid?), string application = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ if (imageUrl == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "imageUrl");
+ }
+ if (ApiKey == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.ApiKey");
+ }
+ // Tracing
+ bool _shouldTrace = ServiceClientTracing.IsEnabled;
+ string _invocationId = null;
+ if (_shouldTrace)
+ {
+ _invocationId = ServiceClientTracing.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("projectId", projectId);
+ tracingParameters.Add("imageUrl", imageUrl);
+ tracingParameters.Add("iterationId", iterationId);
+ tracingParameters.Add("application", application);
+ tracingParameters.Add("cancellationToken", cancellationToken);
+ ServiceClientTracing.Enter(_invocationId, this, "PredictImageUrlWithNoStore", tracingParameters);
+ }
+ // Construct URL
+ var _baseUrl = BaseUri.AbsoluteUri;
+ var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "{projectId}/url/nostore").ToString();
+ _url = _url.Replace("{projectId}", System.Uri.EscapeDataString(SafeJsonConvert.SerializeObject(projectId, SerializationSettings).Trim('"')));
+ List _queryParameters = new List();
+ if (iterationId != null)
+ {
+ _queryParameters.Add(string.Format("iterationId={0}", System.Uri.EscapeDataString(SafeJsonConvert.SerializeObject(iterationId, SerializationSettings).Trim('"'))));
+ }
+ if (application != null)
+ {
+ _queryParameters.Add(string.Format("application={0}", System.Uri.EscapeDataString(application)));
+ }
+ if (_queryParameters.Count > 0)
+ {
+ _url += "?" + string.Join("&", _queryParameters);
+ }
+ // Create HTTP transport objects
+ var _httpRequest = new HttpRequestMessage();
+ HttpResponseMessage _httpResponse = null;
+ _httpRequest.Method = new HttpMethod("POST");
+ _httpRequest.RequestUri = new System.Uri(_url);
+ // Set Headers
+ if (ApiKey != null)
+ {
+ if (_httpRequest.Headers.Contains("Prediction-Key"))
+ {
+ _httpRequest.Headers.Remove("Prediction-Key");
+ }
+ _httpRequest.Headers.TryAddWithoutValidation("Prediction-Key", ApiKey);
+ }
+
+
+ if (customHeaders != null)
+ {
+ foreach(var _header in customHeaders)
+ {
+ if (_httpRequest.Headers.Contains(_header.Key))
+ {
+ _httpRequest.Headers.Remove(_header.Key);
+ }
+ _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value);
+ }
+ }
+
+ // Serialize Request
+ string _requestContent = null;
+ if(imageUrl != null)
+ {
+ _requestContent = SafeJsonConvert.SerializeObject(imageUrl, SerializationSettings);
+ _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8);
+ _httpRequest.Content.Headers.ContentType =MediaTypeHeaderValue.Parse("application/json; charset=utf-8");
+ }
+ // Send Request
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.SendRequest(_invocationId, _httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse);
+ }
+ HttpStatusCode _statusCode = _httpResponse.StatusCode;
+ cancellationToken.ThrowIfCancellationRequested();
+ string _responseContent = null;
+ if ((int)_statusCode != 200)
+ {
+ var ex = new HttpOperationException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
+ if (_httpResponse.Content != null) {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ }
+ else {
+ _responseContent = string.Empty;
+ }
+ ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent);
+ ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Error(_invocationId, ex);
+ }
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw ex;
+ }
+ // Create Result
+ var _result = new HttpOperationResponse();
+ _result.Request = _httpRequest;
+ _result.Response = _httpResponse;
+ // Deserialize Response
+ if ((int)_statusCode == 200)
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings);
+ }
+ catch (JsonException ex)
+ {
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw new SerializationException("Unable to deserialize the response.", _responseContent, ex);
+ }
+ }
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Exit(_invocationId, _result);
+ }
+ return _result;
+ }
+
+ ///
+ /// Predict an image without saving the result
+ ///
+ ///
+ /// The project id
+ ///
+ ///
+ ///
+ ///
+ /// Optional. Specifies the id of a particular iteration to evaluate against.
+ /// The default iteration for the project will be used when not specified
+ ///
+ ///
+ /// Optional. Specifies the name of application using the endpoint
+ ///
+ ///
+ /// Headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// A response object containing the response body and response headers.
+ ///
+ public async Task> PredictImageWithNoStoreWithHttpMessagesAsync(System.Guid projectId, Stream imageData, System.Guid? iterationId = default(System.Guid?), string application = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ if (imageData == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "imageData");
+ }
+ if (ApiKey == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.ApiKey");
+ }
+ // Tracing
+ bool _shouldTrace = ServiceClientTracing.IsEnabled;
+ string _invocationId = null;
+ if (_shouldTrace)
+ {
+ _invocationId = ServiceClientTracing.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("projectId", projectId);
+ tracingParameters.Add("iterationId", iterationId);
+ tracingParameters.Add("application", application);
+ tracingParameters.Add("imageData", imageData);
+ tracingParameters.Add("cancellationToken", cancellationToken);
+ ServiceClientTracing.Enter(_invocationId, this, "PredictImageWithNoStore", tracingParameters);
+ }
+ // Construct URL
+ var _baseUrl = BaseUri.AbsoluteUri;
+ var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "{projectId}/image/nostore").ToString();
+ _url = _url.Replace("{projectId}", System.Uri.EscapeDataString(SafeJsonConvert.SerializeObject(projectId, SerializationSettings).Trim('"')));
+ List _queryParameters = new List();
+ if (iterationId != null)
+ {
+ _queryParameters.Add(string.Format("iterationId={0}", System.Uri.EscapeDataString(SafeJsonConvert.SerializeObject(iterationId, SerializationSettings).Trim('"'))));
+ }
+ if (application != null)
+ {
+ _queryParameters.Add(string.Format("application={0}", System.Uri.EscapeDataString(application)));
+ }
+ if (_queryParameters.Count > 0)
+ {
+ _url += "?" + string.Join("&", _queryParameters);
+ }
+ // Create HTTP transport objects
+ var _httpRequest = new HttpRequestMessage();
+ HttpResponseMessage _httpResponse = null;
+ _httpRequest.Method = new HttpMethod("POST");
+ _httpRequest.RequestUri = new System.Uri(_url);
+ // Set Headers
+ if (ApiKey != null)
+ {
+ if (_httpRequest.Headers.Contains("Prediction-Key"))
+ {
+ _httpRequest.Headers.Remove("Prediction-Key");
+ }
+ _httpRequest.Headers.TryAddWithoutValidation("Prediction-Key", ApiKey);
+ }
+
+
+ if (customHeaders != null)
+ {
+ foreach(var _header in customHeaders)
+ {
+ if (_httpRequest.Headers.Contains(_header.Key))
+ {
+ _httpRequest.Headers.Remove(_header.Key);
+ }
+ _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value);
+ }
+ }
+
+ // Serialize Request
+ string _requestContent = null;
+ MultipartFormDataContent _multiPartContent = new MultipartFormDataContent();
+ if (imageData != null)
+ {
+ StreamContent _imageData = new StreamContent(imageData);
+ _imageData.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
+ FileStream _imageDataAsFileStream = imageData as FileStream;
+ if (_imageDataAsFileStream != null)
+ {
+ ContentDispositionHeaderValue _contentDispositionHeaderValue = new ContentDispositionHeaderValue("form-data");
+ _contentDispositionHeaderValue.Name = "imageData";
+ _contentDispositionHeaderValue.FileName = _imageDataAsFileStream.Name;
+ _imageData.Headers.ContentDisposition = _contentDispositionHeaderValue;
+ }
+ _multiPartContent.Add(_imageData, "imageData");
+ }
+ _httpRequest.Content = _multiPartContent;
+ // Send Request
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.SendRequest(_invocationId, _httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse);
+ }
+ HttpStatusCode _statusCode = _httpResponse.StatusCode;
+ cancellationToken.ThrowIfCancellationRequested();
+ string _responseContent = null;
+ if ((int)_statusCode != 200)
+ {
+ var ex = new HttpOperationException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
+ if (_httpResponse.Content != null) {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ }
+ else {
+ _responseContent = string.Empty;
+ }
+ ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent);
+ ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Error(_invocationId, ex);
+ }
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw ex;
+ }
+ // Create Result
+ var _result = new HttpOperationResponse();
+ _result.Request = _httpRequest;
+ _result.Response = _httpResponse;
+ // Deserialize Response
+ if ((int)_statusCode == 200)
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings);
+ }
+ catch (JsonException ex)
+ {
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw new SerializationException("Unable to deserialize the response.", _responseContent, ex);
+ }
+ }
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Exit(_invocationId, _result);
+ }
+ return _result;
+ }
+
+ }
+}
diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/PredictionEndpointExtensions.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/PredictionEndpointExtensions.cs
new file mode 100644
index 000000000000..70fd0e9efcf2
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/PredictionEndpointExtensions.cs
@@ -0,0 +1,144 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction
+{
+ using Models;
+ using System.IO;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ ///
+ /// Extension methods for PredictionEndpoint.
+ ///
+ public static partial class PredictionEndpointExtensions
+ {
+ ///
+ /// Predict an image url and saves the result
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ ///
+ /// The project id
+ ///
+ ///
+ /// An {Iris.Web.Api.Models.ImageUrl} that contains the url of the image to be
+ /// evaluated
+ ///
+ ///
+ /// Optional. Specifies the id of a particular iteration to evaluate against.
+ /// The default iteration for the project will be used when not specified
+ ///
+ ///
+ /// Optional. Specifies the name of application using the endpoint
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ public static async Task PredictImageUrlAsync(this IPredictionEndpoint operations, System.Guid projectId, ImageUrl imageUrl, System.Guid? iterationId = default(System.Guid?), string application = default(string), CancellationToken cancellationToken = default(CancellationToken))
+ {
+ using (var _result = await operations.PredictImageUrlWithHttpMessagesAsync(projectId, imageUrl, iterationId, application, null, cancellationToken).ConfigureAwait(false))
+ {
+ return _result.Body;
+ }
+ }
+
+ ///
+ /// Predict an image and saves the result
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ ///
+ /// The project id
+ ///
+ ///
+ ///
+ ///
+ /// Optional. Specifies the id of a particular iteration to evaluate against.
+ /// The default iteration for the project will be used when not specified
+ ///
+ ///
+ /// Optional. Specifies the name of application using the endpoint
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ public static async Task PredictImageAsync(this IPredictionEndpoint operations, System.Guid projectId, Stream imageData, System.Guid? iterationId = default(System.Guid?), string application = default(string), CancellationToken cancellationToken = default(CancellationToken))
+ {
+ using (var _result = await operations.PredictImageWithHttpMessagesAsync(projectId, imageData, iterationId, application, null, cancellationToken).ConfigureAwait(false))
+ {
+ return _result.Body;
+ }
+ }
+
+ ///
+ /// Predict an image url without saving the result
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ ///
+ /// The project id
+ ///
+ ///
+ /// An {Iris.Web.Api.Models.ImageUrl} that contains the url of the image to be
+ /// evaluated
+ ///
+ ///
+ /// Optional. Specifies the id of a particular iteration to evaluate against.
+ /// The default iteration for the project will be used when not specified
+ ///
+ ///
+ /// Optional. Specifies the name of application using the endpoint
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ public static async Task PredictImageUrlWithNoStoreAsync(this IPredictionEndpoint operations, System.Guid projectId, ImageUrl imageUrl, System.Guid? iterationId = default(System.Guid?), string application = default(string), CancellationToken cancellationToken = default(CancellationToken))
+ {
+ using (var _result = await operations.PredictImageUrlWithNoStoreWithHttpMessagesAsync(projectId, imageUrl, iterationId, application, null, cancellationToken).ConfigureAwait(false))
+ {
+ return _result.Body;
+ }
+ }
+
+ ///
+ /// Predict an image without saving the result
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ ///
+ /// The project id
+ ///
+ ///
+ ///
+ ///
+ /// Optional. Specifies the id of a particular iteration to evaluate against.
+ /// The default iteration for the project will be used when not specified
+ ///
+ ///
+ /// Optional. Specifies the name of application using the endpoint
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ public static async Task PredictImageWithNoStoreAsync(this IPredictionEndpoint operations, System.Guid projectId, Stream imageData, System.Guid? iterationId = default(System.Guid?), string application = default(string), CancellationToken cancellationToken = default(CancellationToken))
+ {
+ using (var _result = await operations.PredictImageWithNoStoreWithHttpMessagesAsync(projectId, imageData, iterationId, application, null, cancellationToken).ConfigureAwait(false))
+ {
+ return _result.Body;
+ }
+ }
+
+ }
+}
diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/SdkInfo_PredictionEndpoint.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/SdkInfo_PredictionEndpoint.cs
new file mode 100644
index 000000000000..a626067fa516
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Generated/SdkInfo_PredictionEndpoint.cs
@@ -0,0 +1,21 @@
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+internal static partial class SdkInfo
+{
+ public static IEnumerable> ApiInfo_PredictionEndpoint
+ {
+ get
+ {
+ return new Tuple[]
+ {
+ new Tuple("PredictionEndpoint", "PredictImage", "1.1"),
+ new Tuple("PredictionEndpoint", "PredictImageUrl", "1.1"),
+ new Tuple("PredictionEndpoint", "PredictImageUrlWithNoStore", "1.1"),
+ new Tuple("PredictionEndpoint", "PredictImageWithNoStore", "1.1"),
+ }.AsEnumerable();
+ }
+ }
+}
diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction.csproj b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction.csproj
new file mode 100644
index 000000000000..330e1ea5b3bb
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction.csproj
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+ Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction
+ This client library provides access to the Microsoft Cognitive Services CustomVision Prediction APIs.
+ 0.9.0-preview
+ Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction
+ Microsoft Cognitive Services;Cognitive Services;Cognitive Services SDK;REST HTTP client;Custom Vision;Custom Vision Prediction API;Custom Vision Prediction SDK;Vision;netcore451511
+ This is a preview release of the Cognitive Services Custom Vision Prediction SDK.
+
+
+
+ net452;netstandard1.4
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/generate.cmd b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/generate.cmd
new file mode 100644
index 000000000000..53982be5815b
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/generate.cmd
@@ -0,0 +1,7 @@
+::
+:: Microsoft Azure SDK for Net - Generate library code
+:: Copyright (C) Microsoft Corporation. All Rights Reserved.
+::
+
+@echo off
+call %~dp0..\..\..\..\..\..\..\tools\generate.cmd cognitiveservices/data-plane/CustomVision/Prediction %*
\ No newline at end of file
diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/generate.ps1 b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/generate.ps1
new file mode 100644
index 000000000000..8e47bc1529c0
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Prediction/generate.ps1
@@ -0,0 +1 @@
+powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -File "$(split-path $SCRIPT:MyInvocation.MyCommand.Path -parent)\..\..\..\..\..\..\..\tools\generateTool.ps1" -ResourceProvider "cognitiveservices/data-plane/CustomVision/Prediction" -PowershellInvoker -AutoRestVersion "latest"
diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Training.Tests/BaseTests.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Training.Tests/BaseTests.cs
new file mode 100644
index 000000000000..89d98c4f1d38
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Training.Tests/BaseTests.cs
@@ -0,0 +1,30 @@
+using Microsoft.Azure.Test.HttpRecorder;
+using System;
+using System.Net.Http;
+
+namespace Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training.Tests
+{
+ public abstract class BaseTests
+ {
+ private static readonly string TrainingKey;
+
+ protected static Guid FoodDomain = Guid.Parse("C151D5B5-DD07-472A-ACC8-15D29DEA8518");
+ protected static Guid GeneralDomain = Guid.Parse("EE85A74C-405E-4ADC-BB47-FFA8CA0C9F31");
+ protected static Guid ProjectId = Guid.Parse("e222c033-5f5d-4a23-bde9-8343f19c0a01");
+
+ static BaseTests()
+ {
+ TrainingKey = "";
+ }
+
+ protected ITrainingApi GetTrainingApiClient(DelegatingHandler handler)
+ {
+ ITrainingApi client = new TrainingApi(handlers: handler)
+ {
+ ApiKey = TrainingKey
+ };
+
+ return client;
+ }
+ }
+}
diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Training.Tests/Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training.Tests.csproj b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Training.Tests/Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training.Tests.csproj
new file mode 100644
index 000000000000..4c6154c6fa45
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Training.Tests/Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training.Tests.csproj
@@ -0,0 +1,37 @@
+
+
+
+ Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training.Tests Class Library
+ Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training.Tests
+ 1.0.0
+
+
+
+ netcoreapp1.1
+
+
+
+
+
+
+
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ Always
+
+
+
+
+
+
+
+
diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Training.Tests/SessionRecords/TrainingTests/CreateDeleteProjectWithDomain.json b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Training.Tests/SessionRecords/TrainingTests/CreateDeleteProjectWithDomain.json
new file mode 100644
index 000000000000..2107a1caa4ec
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Training.Tests/SessionRecords/TrainingTests/CreateDeleteProjectWithDomain.json
@@ -0,0 +1,77 @@
+{
+ "Entries": [
+ {
+ "RequestUri": "/customvision/v1.2/Training/projects?name=Test%20Project&description=This%20is%20a%20test%20project&domainId=c151d5b5-dd07-472a-acc8-15d29dea8518",
+ "EncodedRequestUri": "L2N1c3RvbXZpc2lvbi92MS4yL1RyYWluaW5nL3Byb2plY3RzP25hbWU9VGVzdCUyMFByb2plY3QmZGVzY3JpcHRpb249VGhpcyUyMGlzJTIwYSUyMHRlc3QlMjBwcm9qZWN0JmRvbWFpbklkPWMxNTFkNWI1LWRkMDctNDcyYS1hY2M4LTE1ZDI5ZGVhODUxOA==",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "Training-Key": [
+ ""
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26011.01",
+ "Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training.TrainingApi/1.0.2.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"Id\": \"a5b93d43-ae76-447e-8d3b-4b2df9ab14cb\",\r\n \"Name\": \"Test Project (7)\",\r\n \"Description\": \"This is a test project\",\r\n \"Settings\": {\r\n \"DomainId\": \"c151d5b5-dd07-472a-acc8-15d29dea8518\",\r\n \"Classification\": \"MultiLabel\",\r\n \"UseNegativeSet\": true\r\n },\r\n \"CurrentIterationId\": \"8bbf8c4f-2064-488e-af69-d32e6370a093\",\r\n \"Created\": \"2018-02-22T16:45:58.43\",\r\n \"LastModified\": \"2018-02-22T16:45:58.4464801Z\",\r\n \"ThumbnailUri\": null\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "386"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Date": [
+ "Thu, 22 Feb 2018 16:45:58 GMT"
+ ],
+ "apim-request-id": [
+ "6690cb7c-c92c-4117-85a2-4baebd472727"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains; preload"
+ ],
+ "x-content-type-options": [
+ "nosniff"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/customvision/v1.2/Training/projects/a5b93d43-ae76-447e-8d3b-4b2df9ab14cb",
+ "EncodedRequestUri": "L2N1c3RvbXZpc2lvbi92MS4yL1RyYWluaW5nL3Byb2plY3RzL2E1YjkzZDQzLWFlNzYtNDQ3ZS04ZDNiLTRiMmRmOWFiMTRjYg==",
+ "RequestMethod": "DELETE",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "Training-Key": [
+ ""
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26011.01",
+ "Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training.TrainingApi/1.0.2.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Date": [
+ "Thu, 22 Feb 2018 16:45:58 GMT"
+ ],
+ "apim-request-id": [
+ "3a94d7de-83e3-4f12-899c-e75076f677cb"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains; preload"
+ ],
+ "x-content-type-options": [
+ "nosniff"
+ ]
+ },
+ "StatusCode": 204
+ }
+ ],
+ "Names": {},
+ "Variables": {}
+}
\ No newline at end of file
diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Training.Tests/SessionRecords/TrainingTests/CreateImageFromUrl.json b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Training.Tests/SessionRecords/TrainingTests/CreateImageFromUrl.json
new file mode 100644
index 000000000000..ed477c29bd2e
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Training.Tests/SessionRecords/TrainingTests/CreateImageFromUrl.json
@@ -0,0 +1,157 @@
+{
+ "Entries": [
+ {
+ "RequestUri": "/customvision/v1.2/Training/projects?name=Test%20Project&description=This%20is%20a%20test%20project&domainId=c151d5b5-dd07-472a-acc8-15d29dea8518",
+ "EncodedRequestUri": "L2N1c3RvbXZpc2lvbi92MS4yL1RyYWluaW5nL3Byb2plY3RzP25hbWU9VGVzdCUyMFByb2plY3QmZGVzY3JpcHRpb249VGhpcyUyMGlzJTIwYSUyMHRlc3QlMjBwcm9qZWN0JmRvbWFpbklkPWMxNTFkNWI1LWRkMDctNDcyYS1hY2M4LTE1ZDI5ZGVhODUxOA==",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "Training-Key": [
+ ""
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26011.01",
+ "Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training.TrainingApi/1.0.2.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"Id\": \"8c20423b-f088-4228-af68-ca540cbdfec3\",\r\n \"Name\": \"Test Project (4)\",\r\n \"Description\": \"This is a test project\",\r\n \"Settings\": {\r\n \"DomainId\": \"c151d5b5-dd07-472a-acc8-15d29dea8518\",\r\n \"Classification\": \"MultiLabel\",\r\n \"UseNegativeSet\": true\r\n },\r\n \"CurrentIterationId\": \"3548ceeb-1df8-4a13-b0df-a050a5840839\",\r\n \"Created\": \"2018-02-22T06:34:26.8333333\",\r\n \"LastModified\": \"2018-02-22T06:34:26.8644699Z\",\r\n \"ThumbnailUri\": null\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "391"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Date": [
+ "Thu, 22 Feb 2018 06:34:27 GMT"
+ ],
+ "apim-request-id": [
+ "ef40518d-2666-401b-abce-e65fae638305"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains; preload"
+ ],
+ "x-content-type-options": [
+ "nosniff"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/customvision/v1.2/Training/projects/8c20423b-f088-4228-af68-ca540cbdfec3/tags?name=Test%20Tag%201",
+ "EncodedRequestUri": "L2N1c3RvbXZpc2lvbi92MS4yL1RyYWluaW5nL3Byb2plY3RzLzhjMjA0MjNiLWYwODgtNDIyOC1hZjY4LWNhNTQwY2JkZmVjMy90YWdzP25hbWU9VGVzdCUyMFRhZyUyMDE=",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "Training-Key": [
+ ""
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26011.01",
+ "Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training.TrainingApi/1.0.2.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"Id\": \"0198e7f4-97cb-4f0e-be58-5e1b3f937405\",\r\n \"Name\": \"Test Tag 1\",\r\n \"Description\": null,\r\n \"ImageCount\": 0\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "99"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Date": [
+ "Thu, 22 Feb 2018 06:34:27 GMT"
+ ],
+ "apim-request-id": [
+ "cfaf7731-ac08-4b62-bd38-6f90f495b89f"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains; preload"
+ ],
+ "x-content-type-options": [
+ "nosniff"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/customvision/v1.2/Training/projects/8c20423b-f088-4228-af68-ca540cbdfec3/images/urls",
+ "EncodedRequestUri": "L2N1c3RvbXZpc2lvbi92MS4yL1RyYWluaW5nL3Byb2plY3RzLzhjMjA0MjNiLWYwODgtNDIyOC1hZjY4LWNhNTQwY2JkZmVjMy9pbWFnZXMvdXJscw==",
+ "RequestMethod": "POST",
+ "RequestBody": "{\r\n \"Images\": [\r\n {\r\n \"Url\": \"https://raw.githubusercontent.com/Microsoft/Cognitive-CustomVision-Windows/master/Samples/Images/Hemlock/hemlock_1.jpg\"\r\n }\r\n ],\r\n \"TagIds\": [\r\n \"0198e7f4-97cb-4f0e-be58-5e1b3f937405\"\r\n ]\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "238"
+ ],
+ "Training-Key": [
+ ""
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26011.01",
+ "Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training.TrainingApi/1.0.2.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"IsBatchSuccessful\": true,\r\n \"Images\": [\r\n {\r\n \"SourceUrl\": \"https://raw.githubusercontent.com/Microsoft/Cognitive-CustomVision-Windows/master/Samples/Images/Hemlock/hemlock_1.jpg\",\r\n \"Status\": \"OK\",\r\n \"Image\": {\r\n \"Id\": \"b7fbf606-8fa4-43ac-afb4-ff00c79b350e\",\r\n \"Created\": \"2018-02-22T06:34:27.3166667\",\r\n \"Width\": 900,\r\n \"Height\": 1600,\r\n \"ImageUri\": \"https://irisscuprodstore.blob.core.windows.net/i-8c20423bf0884228af68ca540cbdfec3/i-b7fbf6068fa443acafb4ff00c79b350e?sv=2016-05-31&sr=b&sig=9l7T1dcL6TIgw76CHMfvW10XoIsqhoa%2FRMnkJ3Nqyn0%3D&se=2018-02-23T00%3A00%3A00Z&sp=r\",\r\n \"ThumbnailUri\": \"https://irisscuprodstore.blob.core.windows.net/i-8c20423bf0884228af68ca540cbdfec3/t-b7fbf6068fa443acafb4ff00c79b350e?sv=2016-05-31&sr=b&sig=JsEAJMYzH28AMF8IomY0HbaN56vjTDaTPjFiJ9UBnC4%3D&se=2018-02-23T00%3A00%3A00Z&sp=r\",\r\n \"Tags\": [\r\n {\r\n \"TagId\": \"0198e7f4-97cb-4f0e-be58-5e1b3f937405\",\r\n \"Created\": \"2018-02-22T06:34:27.2341057\"\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "876"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Date": [
+ "Thu, 22 Feb 2018 06:34:27 GMT"
+ ],
+ "apim-request-id": [
+ "40dd7079-a17c-4111-9eec-0d5a2a8ac548"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains; preload"
+ ],
+ "x-content-type-options": [
+ "nosniff"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/customvision/v1.2/Training/projects/8c20423b-f088-4228-af68-ca540cbdfec3",
+ "EncodedRequestUri": "L2N1c3RvbXZpc2lvbi92MS4yL1RyYWluaW5nL3Byb2plY3RzLzhjMjA0MjNiLWYwODgtNDIyOC1hZjY4LWNhNTQwY2JkZmVjMw==",
+ "RequestMethod": "DELETE",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "Training-Key": [
+ ""
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26011.01",
+ "Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training.TrainingApi/1.0.2.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Date": [
+ "Thu, 22 Feb 2018 06:34:27 GMT"
+ ],
+ "apim-request-id": [
+ "9f213373-40fa-4d76-9230-d6f395b3318f"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains; preload"
+ ],
+ "x-content-type-options": [
+ "nosniff"
+ ]
+ },
+ "StatusCode": 204
+ }
+ ],
+ "Names": {},
+ "Variables": {}
+}
\ No newline at end of file
diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Training.Tests/SessionRecords/TrainingTests/CreateImagesFromData.json b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Training.Tests/SessionRecords/TrainingTests/CreateImagesFromData.json
new file mode 100644
index 000000000000..6d4a0fb970bd
--- /dev/null
+++ b/src/SDKs/CognitiveServices/dataPlane/Vision/CustomVision/Training.Tests/SessionRecords/TrainingTests/CreateImagesFromData.json
@@ -0,0 +1,157 @@
+{
+ "Entries": [
+ {
+ "RequestUri": "/customvision/v1.2/Training/projects?name=Test%20Project&description=This%20is%20a%20test%20project&domainId=c151d5b5-dd07-472a-acc8-15d29dea8518",
+ "EncodedRequestUri": "L2N1c3RvbXZpc2lvbi92MS4yL1RyYWluaW5nL3Byb2plY3RzP25hbWU9VGVzdCUyMFByb2plY3QmZGVzY3JpcHRpb249VGhpcyUyMGlzJTIwYSUyMHRlc3QlMjBwcm9qZWN0JmRvbWFpbklkPWMxNTFkNWI1LWRkMDctNDcyYS1hY2M4LTE1ZDI5ZGVhODUxOA==",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "Training-Key": [
+ ""
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26011.01",
+ "Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training.TrainingApi/1.0.2.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"Id\": \"52c145bc-f137-4c2c-ac04-bbf6037fe13c\",\r\n \"Name\": \"Test Project (7)\",\r\n \"Description\": \"This is a test project\",\r\n \"Settings\": {\r\n \"DomainId\": \"c151d5b5-dd07-472a-acc8-15d29dea8518\",\r\n \"Classification\": \"MultiLabel\",\r\n \"UseNegativeSet\": true\r\n },\r\n \"CurrentIterationId\": \"ef36d1b2-3933-4d17-a8cb-a74b81acaa06\",\r\n \"Created\": \"2018-02-22T06:47:48.3233333\",\r\n \"LastModified\": \"2018-02-22T06:47:48.3551679Z\",\r\n \"ThumbnailUri\": null\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "391"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Date": [
+ "Thu, 22 Feb 2018 06:47:48 GMT"
+ ],
+ "apim-request-id": [
+ "98fe0c3d-1634-4541-8e68-8df18406b3a3"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains; preload"
+ ],
+ "x-content-type-options": [
+ "nosniff"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/customvision/v1.2/Training/projects/52c145bc-f137-4c2c-ac04-bbf6037fe13c/tags?name=Test%20Tag%201",
+ "EncodedRequestUri": "L2N1c3RvbXZpc2lvbi92MS4yL1RyYWluaW5nL3Byb2plY3RzLzUyYzE0NWJjLWYxMzctNGMyYy1hYzA0LWJiZjYwMzdmZTEzYy90YWdzP25hbWU9VGVzdCUyMFRhZyUyMDE=",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "Training-Key": [
+ ""
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26011.01",
+ "Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training.TrainingApi/1.0.2.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"Id\": \"b6721493-cf10-4e15-a3a2-15538b8658ea\",\r\n \"Name\": \"Test Tag 1\",\r\n \"Description\": null,\r\n \"ImageCount\": 0\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "99"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Date": [
+ "Thu, 22 Feb 2018 06:47:48 GMT"
+ ],
+ "apim-request-id": [
+ "0aef3d27-8360-4f4b-b172-e2a441fed7d5"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains; preload"
+ ],
+ "x-content-type-options": [
+ "nosniff"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/customvision/v1.2/Training/projects/52c145bc-f137-4c2c-ac04-bbf6037fe13c/images?tagIds=b6721493-cf10-4e15-a3a2-15538b8658ea",
+ "EncodedRequestUri": "L2N1c3RvbXZpc2lvbi92MS4yL1RyYWluaW5nL3Byb2plY3RzLzUyYzE0NWJjLWYxMzctNGMyYy1hYzA0LWJiZjYwMzdmZTEzYy9pbWFnZXM/dGFnSWRzPWI2NzIxNDkzLWNmMTAtNGUxNS1hM2EyLTE1NTM4Yjg2NThlYQ==",
+ "RequestMethod": "POST",
+ "RequestBody": "--8f08e6f5-48da-4669-a01a-1cb2901fa555\r\nContent-Type: application/octet-stream\r\nContent-Disposition: form-data; name=imageData; filename=\"C:\\github\\azure-sdk-for-net\\src\\SDKs\\CognitiveServices\\dataPlane\\Vision\\CustomVision\\Training.Tests\\bin\\Debug\\netcoreapp1.1\\TestImages\\hemlock_1.jpg\"\r\n\r\n����\u0000\u0010JFIF\u0000\u0001\u0001\u0001\u0000H\u0000H\u0000\u0000��I�Exif\u0000\u0000MM\u0000*\u0000\u0000\u0000\b\u0000\u0013\u0001\u0000\u0000\u0004\u0000\u0000\u0000\u0001\u0000\u0000\u0014�\u0001\u0001\u0000\u0004\u0000\u0000\u0000\u0001\u0000\u0000\u000b�\u0001\u000f\u0000\u0002\u0000\u0000\u0000\b\u0000\u0000\u0000�\u0001\u0010\u0000\u0002\u0000\u0000\u0000\t\u0000\u0000\u0000�\u0001\u0012\u0000\t\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0001\u001a\u0000\u0005\u0000\u0000\u0000\u0001\u0000\u0000\u0001\u0004\u0001\u001b\u0000\u0005\u0000\u0000\u0000\u0001\u0000\u0000\u0001\f\u0001(\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u0002\u0000\u0000\u00011\u0000\u0002\u0000\u0000\u0000\u000e\u0000\u0000\u0001\u0014\u00012\u0000\u0002\u0000\u0000\u0000\u0014\u0000\u0000\u0001\"\u0001;\u0000\u0002\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0002\u0013\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u0001\u0000\u0000�i\u0000\u0004\u0000\u0000\u0000\u0001\u0000\u0000\u00016�%\u0000\u0004\u0000\u0000\u0000\u0001\u0000\u0000\u0003���\u0000\u0002\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000��\u0000\u0002\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000�0\u0000\u0002\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000�1\u0000\u0002\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000�5\u0000\u0002\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0003�samsung\u0000SM-G900V\u0000\u0000\u0000\u0000\u0000H\u0000\u0000\u0000\u0001\u0000\u0000\u0000H\u0000\u0000\u0000\u0001G900VVRU2DQC2\u00002017:04:27 11:57:34\u0000\u0000\"��\u0000\u0005\u0000\u0000\u0000\u0001\u0000\u0000\u0002Ԃ�\u0000\u0005\u0000\u0000\u0000\u0001\u0000\u0000\u0002܈\"\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u0002\u0000\u0000�'\u0000\u0003\u0000\u0000\u0000\u0001\u0000(\u0000\u0000�\u0000\u0000\u0007\u0000\u0000\u0000\u00040220�\u0003\u0000\u0002\u0000\u0000\u0000\u0014\u0000\u0000\u0002�\u0004\u0000\u0002\u0000\u0000\u0000\u0014\u0000\u0000\u0002��\u0001\u0000\u0007\u0000\u0000\u0000\u0004\u0001\u0002\u0003\u0000�\u0001\u0000\n\u0000\u0000\u0000\u0001\u0000\u0000\u0003\f�\u0002\u0000\u0005\u0000\u0000\u0000\u0001\u0000\u0000\u0003\u0014�\u0003\u0000\n\u0000\u0000\u0000\u0001\u0000\u0000\u0003\u001c�\u0004\u0000\n\u0000\u0000\u0000\u0001\u0000\u0000\u0003$�\u0005\u0000\u0005\u0000\u0000\u0000\u0001\u0000\u0000\u0003,�\u0007\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u0002\u0000\u0000�\b\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000�\t\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000�\n\u0000\u0005\u0000\u0000\u0000\u0001\u0000\u0000\u00034�|\u0000\u0007\u0000\u0000\u0000b\u0000\u0000\u0003<��\u0000\u0007\u0000\u0000\u0000\u0004\n\u0000\u0000\u0000��\u0000\u0002\u0000\u0000\u0000\u0004985\u0000��\u0000\u0002\u0000\u0000\u0000\u0004985\u0000��\u0000\u0002\u0000\u0000\u0000\u0004985\u0000�\u0000\u0000\u0007\u0000\u0000\u0000\u00040100�\u0002\u0000\u0004\u0000\u0000\u0000\u0001\u0000\u0000\u0014��\u0003\u0000\u0004\u0000\u0000\u0000\u0001\u0000\u0000\u000b��\u0005\u0000\u0004\u0000\u0000\u0000\u0001\u0000\u0000\u0003��\u0017\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u0002\u0000\u0000�\u0001\u0000\u0007\u0000\u0000\u0000\u0001\u0001\u0000\u0000\u0000�\u0002\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000�\u0003\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000�\u0005\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u001f\u0000\u0000�\u0006\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000� \u0000\u0002\u0000\u0000\u0000\f\u0000\u0000\u0003��\u001d\u0000\t\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000x\u0000\u0000\u0000�\u0000\u0000\u0000d2017:04:27 11:57:34\u00002017:04:27 11:57:34\u0000\u0000\u0000\u0002�\u0000\u0000\u0000d\u0000\u0000\u0000�\u0000\u0000\u0000d\u0000\u0000\u0002\u0019\u0000\u0000\u0000d\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0000\u0000\u0000�\u0000\u0000\u0000d\u0000\u0000\u0001�\u0000\u0000\u0000d\u0007\u0000\u0001\u0000\u0007\u0000\u0004\u0000\u0000\u00000100\u0002\u0000\u0004\u0000\u0001\u0000\u0000\u0000\u0000 \u0001\u0000\f\u0000\u0004\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0005\u0000\u0001\u0000\u0000\u0000Z\u0000\u0000\u0000@\u0000\u0004\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000P\u0000\u0004\u0000\u0001\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0001\u0003\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0002\u0000\u0007\u0000\u0000\u0000\u00040100\u0000\u0000\u0000\u0000\u0000\u0000F16QLHF01SB\u0000\u0000\u0001\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0004\u0002\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0001\u0003\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u0006\u0000\u0000\u0001\u0012\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u0006\u0000\u0000\u0001\u001a\u0000\u0005\u0000\u0000\u0000\u0001\u0000\u0000\u0004,\u0001\u001b\u0000\u0005\u0000\u0000\u0000\u0001\u0000\u0000\u00044\u0001(\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u0002\u0000\u0000\u0002\u0001\u0000\u0004\u0000\u0000\u0000\u0001\u0000\u0000\u0004<\u0002\u0002\u0000\u0004\u0000\u0000\u0000\u0001\u0000\u0000EO\u0000\u0000\u0000\u0000\u0000\u0000\u0000H\u0000\u0000\u0000\u0001\u0000\u0000\u0000H\u0000\u0000\u0000\u0001����\u0000�\u0000\u0017\u0010\u0011\u0014\u0011\u000e\u0017\u0014\u0013\u0014\u001a\u0018\u0017\u001b\"9%\"\u001f\u001f\"F25)9SIWVQIPO[g�o[a|cOPr�t|�����Yn���������\u0001\u0018\u001a\u001a\"\u001e\"C%%C�^P^����������������������������������������������������\u0000\u0011\b\u0001 \u0002\u0000\u0003\u0001\"\u0000\u0002\u0011\u0001\u0003\u0011\u0001��\u0001�\u0000\u0000\u0001\u0005\u0001\u0001\u0001\u0001\u0001\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\u0010\u0000\u0002\u0001\u0003\u0003\u0002\u0004\u0003\u0005\u0005\u0004\u0004\u0000\u0000\u0001}\u0001\u0002\u0003\u0000\u0004\u0011\u0005\u0012!1A\u0006\u0013Qa\u0007\"q\u00142���\b#B��\u0015R��$3br�\t\n\u0016\u0017\u0018\u0019\u001a%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�������������������������������������������������������������������������\u0001\u0000\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\u0011\u0000\u0002\u0001\u0002\u0004\u0004\u0003\u0004\u0007\u0005\u0004\u0004\u0000\u0001\u0002w\u0000\u0001\u0002\u0003\u0011\u0004\u0005!1\u0006\u0012AQ\u0007aq\u0013\"2�\b\u0014B����\t#3R�\u0015br�\n\u0016$4�%�\u0017\u0018\u0019\u001a&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������\u0000\f\u0003\u0001\u0000\u0002\u0011\u0003\u0011\u0000?\u0000֥\u0007\u0006�O\\0�@�0\u0002I<ҕ+���Ӌ\u0016�h\u0001\u0005%\u0014P\u0006~�\u001c[,��\u00066\u0004���\u000b�Us�H�\u000fz�X�X�6\u001f+\f\u001aİ�6\u0013�\f�\u0000?��\u0000\u001a��\u0001�\nZ�=���\u0012t>��?�I\u0004��W?g�-\u000br\u001b����\u0006��\u0012�h\u0012FN@��Rۈ�=;ʐ��>\u0003w\u001e����!�X2�A\u0005H$\u0011ߥP��H��\u001c+\u001c���M�Y�?g�?&q�ϥF_|����\u0015-�\u0004���w�ȧ\nO�\u001a����%A+�\u000f�52���M �`�7\u001a�Rt�Si�\u0000R�?�?�QXj-i1WɅ�#��U�d��i\u001by�X���E�\u0004C����\f\u0016�?�\u0015�#s�sR��Չf\u0003h�aM�ˎt7J�3�\u0003�*ww\u0001\u0014m\u0018\u001dj���5�\u00041F�?\u0003�֝���:o�U���U���N�/�T��\u0001\u0004Z�����gЌ�\u0000*'}>�q#�Of<\u0011�ӥ�-%L\u0004�Ϫ�ʺ�. \u0005�Ĩ?�����`\u001b �M�}���=���EiX��ܑ\u001c�ː�\u001d�eY���dҼRv=�\\��\u0016�BHܹG\f\t��\u0006�\u0010\u0006I��\u001a��;\\\u0001��gҙ�^/��A�Q�=(��v�����7�\u0010d�okr���Ҵ\u0012�9$(��\u0003&��'�)��\u0007\u001f\\Ѥ*�O&r���\u0002�̢\u0018\u001d�aU�\u0001�\u0001'��j��s�H\"S�����/7��!bU�����-��\u001d��q��T\u0010���\u0000!\u000bg\u0015Y����K\f�\t,��j.\u0006��з�d|�\u0001�Ul�\u000e�\f��n��Ҽ���&���D\u0018�*��sG6�+Cn&���\u0000���3YV�2\u0006���=\u0002��f�A;Y~��N�\u0001�\n�T��c����\u0003IA��\u0004�4���\u0012�)(\u0000�4Q@���(\u0000��(\u0001@�'z�\u0007\u0014�1@\t@�\u0005�4�\u0000p\u0019�+�E4�y�b�H��g\u0015*\u000e)\u0000�Z��S9����0\u0010R�)TP\u0003�Ȩ�S�5�\u0001����\u001a\u00048R\u001a3A�\u0007����9��H&��m�\u0014��!�#\u0006���\u001e�\u0014���\u0000r��\"�:�$��o���k���[�p��\u000e\u0018z\u001aŞ��\u0011��yo���\u0000�1�hڀq������ր]�t�G�F12��\u0000hzVkj\r&�%���W\u0018'�\b���I��%�\bea�Gz��-���\u0006�/���9.�\fy��K( �b��#\u001f�H�\b)�nƙ;��T\b���K�2�ċ\u0011\u0004�N\u0001��\u00177��f9R\u0016A�\u0005�\u001fCU�\u0004UϚ�݂�Z��i�~�\u0012*���*���\u0014!�\u0012\t#vF\u001d��/�]Hy����\u001fʵ�Dz<1�q\u0006V}�[�ER����ߙ\u0012�ݔd\u0018*(�@\"�\u001f>XV[����9 �\u001a܆�m���f8��5�J�mp�\u001a6�kZ�P�\u0016!!��\u0011z�H���`\"�-��y�L���\u0007<ի�\u0013O��\f�$r|���� �\rmd\bѬ��v�3]��t��������\u0014C4�F��\u0018Q]\u0015�Ŕ�vLW3\u000b�ή��;����F�L�����l�˃}Ɏ��\u0003dԒJ�7\u0012�\u001f�==��7/\u0006�L\u0002�\u0019�F���\r��Ԁ�cd\b�������G�c��;\n�\u001e�$�\u0018��i �F����r\u000e��E�\u0015U{�\u0000T����ġ���I\u001d�'�T2ZKn7tQ�\u001a9_P\u0019\u001a\u0004|\\#(�\u0015�\u0004\u0016��m�����\u0011앉�nh���<�c�T�`4Q\u0015\u0017\n8����Z2��u\f9\u0015x\n�\u0002\u0001O\u0014�S��(��\u0000CIKHh\u0001)\r-!�\u0004�4��\u0000����\b(��\u0000(��\u0000z\u001a\t���i�ր%a����H�j�\u00064pjN��\u0018�\u0006�\u001dާC�U��\u0007\"�\u0015�M#qI�\u001aFl�\u0000\\�Ӂ�v��@\u000f�1�\u0019�&�\n\u0005%-\u0002\u001dHM\u0014��2Ul�=)_�&0�Ҟ^�\u0014���D.?v�6�z�Qjv?h�ܟ�S������+wm�?�^\u0018RO[\u0001\u000e�\u000f�k�\u0001�Fs�w���j��k)��1��\u001c��5\u00015���\u001f�20�zU\r*�`�\u0018;RC��ޕ\r�\u0004�n��i���[\t�����q�q�K,�¨'?�Su�����\u0004{�1��\u0019'\u0015wIԡ�H�;Vh��?��G�[#\u0004��Oz-�xظ�$c>��;�\fի;9o%\u0011Ĺ=�`=jQ\u0004`��m8�\u001884ԆD!�J\u000ff\u0000�Ɨ!ҵ߲���(\u00001\u001d�\u001f�Z�f�%���,�\u0011����U$\u00079-�̖&�r�\u0019 �q�?Z4����ve.�1�Q]��v\u0015u\f\u001b�#\"�v��Mb[b�P.�\b\u001c\u0003�\u0005\r4�7U�\u000b��>�0ܿ0a�kwM\u0010�����@,\u0001�X\u0017z}͞|�\f���ȫ�%�P�9w\u0001���\u0014���Cu�\u0002ޡC�\u001f�5�4�4�#��<���G�W������\b\u000e0\u0017�iy��I|�\u0019ʆ\u0004\u0015���&0�!\u0007 S2]� �'\u0000Uȭ�L_#��\u000e�Z�R�?A���������a�s�u�[6յG\f\u000f_Z��W���e�6�\u0005y4y\u0005����>�r#=Q�n.V�\u001bba �íIwj��y�7�~��S�¬�kI\n�����$��$����؞3W]C�S��\u001d��0��S�^�8\"�i׆P\"����M>�\u0016}9H\r\u0016\u0003�ǡ�v��@h��8\"�\u0002�U`\u0000�\u001fv\u0006�Z�SE8S\u0018����h\u0000��J\u0000\r%\u0006��\u0016�ii�\u0000QE%\u0002\nJZJ\u0000(��\u0000(��\u0000)�M��\u0007��(☵2�\u0006#\u000f��������2zQ{\u0001�\n��*����q�wf�į0<,�?C֩X[Kws��ʯ�䞕Z�)b��\u0019>i\u0014���4^�z\u001bL����H�5�x��\\����H�R��u\u0014�\u0002<�\u0014|}���\\=ľd��#�:\u0001�Cw\u000b�1B\u0014 ;��M4\u000fJ\u0011I���}*{DG�VGا�})\b�[���\u001c� u�Ã���\u0011�\u0015��A\u0005�Q$J79$��U�o��\u0012x�E`\u001b�\u000f\u00144!l�\u0005�]�\u001a��#�Iv����\u0010�I��ք����n�*��F?:˴�\u0013�ѳm\u0000\u001e~����'u�e�7��ֺ\b'�e\u0005H�Fv�\u0015�-&�w\"%�M�\u000ei��b�P(*\t�\u001b�4&�\u001b�QX7�<�\u0012��j��{��Z�C-�lO8��*��e�7\u0000�r2y�\u0002��ݪ$��\\'�w��\u0001�\u000e\u0007�9�Xa.�j��Њ1��-v`l\u0002\u000e�3��c/&\nn\u001d�P�b�\"�1-�D\u0002$P\u0018����<��A\u0015�r�$+������\u0015�f�kS�R���z��\r�P�,�d~Ғz\u0001{5\u000b\\Ʒ+\u0001?;\f�Ͻ��'���d\u0006a���\u0000�L�[��m��\u001f��\u0000��p6(���\u0005��\u0017WO\u000e�o\u0010?#\u0001�듊Ф\u0002QJx��)58\u0010FT�\u000e�~���ӽ��EU��\u0016h�n��\u0018�Jw(#��\n)i\t\u0000\u0012x\u0003��\u0001E$r$�\u001e6\f����\u0002Q�ZZ\u0000J\\R�\u0000\u0000��Q�\u0007�\u0000JJv(�\u0000 �4��c�@EKK�J`)\u0014��b�ģ\u0014���\u001b�1N��D��\u0014�4���e\\`�\u0015ɧ)�(ƶ�{\u0019�����\u0017��\u0000\nMl�6�/9���U�B�o\u0013oF_�ޕ��H��I�<���\u0015\u000fM\u0004Mf�͛+�����S�UBF�m\u001c�v\u0006*X~UwX���\\=\u000f����eÙF�T���Ј���s�c�U�����Ia�L�A�\u0015M\u0017sd�OJ�g\u00007�\r�\u0011�qG�\u001b\u0014���͏1�p*�9,C�\u0004v�J�g���,�\u0000\u000e�;�?#�7H\u0017i��\u0006zPՄOkk<��[�\u0003�C\u0005�\u0004��|�\u000f��r{�kf��kl���\b\u00199aֱ�\u001e?�I,/�{�ޛV\u0001��D�I\u0019�psM�c��\u0000z�\u0017��i��m�n�\u000eG`:U�:�;��y��x��)$\u0002D%�>e�������\u0000��w\u0017WLp\u0013{\u0001�M��絜\u0011��\"����\u001f��9�4�Kso5��Jۗ��\u001e)�\u0013��+0��T}\u00055�2�)�W=MD�@��\u0006���i�\u0019�Ih���R�b<�ܣ\u000fί[\\�@�\u001b�,������\u0012\u001f�s��l\r�5�lGeb\u0005g]���\u0016���\u0005Y��\u0010���7\u0003Ԛ̸����\u001b\u001b�\\Q}\u0000�\n�������h��2��r*\u001b(�i\u0013�\u0000�\u001b\u001f���\u001f&d�\u001akp4ݶ#7�&�}�\u0002{�\rt��m�����U̜�{t�@α[z��\b�g���\u001f��\u0000�ջG\u000fe\u0003w�3�U-l���?�?��{\f�rJGf����\u001a�O<�;{�\u0000\u001eVg�\u0018~���;�C�҈#\"ߍyǫ?�5>�q\u0004C���Ut��\u001f�3��]x�`\u001e���\u001d\u0018��gy��y��(�V������\u0018����\u0013�����X]�\f��������\u000b6��[D��\u0001�+9&c�\u0002��pW\u001f��?I�VH�w\u0005<�?�U�9�\t�\u0000}��U�\u0002Mc侷@?C[\u0018�}|a�>��+eN�\u0007�f������B�B��\u000e����\u0010}H�_Ҭ�ͻT��\u0003�\u0015\u0011LMn��_ԟ�{����� \u001e��+^\u0011���\u0000t*����LC���[�0�=���\u0003\u0015KT�HmJ1;�\u0005F?SWw(p����\u0019湽Zo;Pp\u000f�\u001f�?\u000e��\u0012z\f���l�?�?�U�g�fu��P��= �z[H{\u0016o��Tz\u0010$�����I=���Gq2[Bd��G�RⰵIZ��-\"<+m�\u0000�w����\u001b0J'�%Q��5\u0017ڼ˿\"\u0011��}�\u000fje����c�1�j[\u000bQkn\u0014���Ͻ/ '�\u0014���\u0005\u0018��t�bQڌR�\u0000n(�8���\u001bE.(�\u0000&(�;\u0014P\u0003qIN�\u0014\u0000�\u0019���R\u0003�5N��o\f��B�`\u001fZ@I�ek��\f��A5u/\u0015���\u001ftp}}i��^u�`d��)=P\u0019�W�\u0002#��[z��7�#�D^\u0000n1�Z:z�yna�|��:�T\u001a\u0016����\u0017�����H\u0005��-���~r78��N��\u000fx�1)R�\u000f��\u0017\u000b\u0002͈�0^�͜�S��\u001f��\u0011g\u0019�4_]\u00046F���\u0019��݅D�8QZ����\u0012�W�\u0002�\u000eQq��C�\u0006*�U�Zqh�I\bf�#\u001ev��P��@e.$\u0007!��U�uz�\u0013�Y;�\u001fր#��6�V�6>���jEp�\\���{�`�e��$�ҷ.�E��G\u0016\u001aF\u0018P?�\t\\\fT�d�$���q\u0000S�c�i��ؓ��5��\\b͚rL�n$\u001e��fn\u0015̖�K(�\u0018�\u0014XD�V�\u0010�\u001b�\u000e[�\u000ej���s���wmtcܛ\u0019\u0001����c�ſ�`����lZ��[��o\u0004dg�bZ���ѓ��}\u001b:z��e�+\u000e�f+�h[�S`09�P\u001f�9�i�py2D�rc\u0004�rjK\u0018|�B8�[�S�C\u0017\u0011�U��=.\u0006��\u001e,\u0011O�\u0003��;G;/J��B?/�\u0000Ujٜ�DG�\u0005c�\u000b}X�¬���T�\u0001>�v|�!Oʣ��5@&t�\u00003��c���#�z�&�,x�K�]�Җ�ji\u0007v�\u001f=2?Z�\\\u0019����\u0000�it&�d����\u0014�t��?��\u0000���e\u000b�4�?���V���\u0000D��5�U�\\�\u0000�6�ܹ�EtVc�\n\u000f��ʄ\b�鯏���*o\u0010��q��Ңlo�y�F?J��.�_H�3K���Slp�\u0000���\u0000Ǎt�����\u001f���]R\u001f �'��?\\���XG��ޫ�ϊk�\u0018�\u0012n�g��\u0016�\u00007���u�V|9\u0018+;�?�U�?y��\u001f�v�tv\u0002W\t\u0001�o�I�_46V���^D\fH�\u0006)�\"�\u0000S\u000f��\u0000Jʀ5��H���\u000f����P�\u0002\u0007fyK1%�Rj��l�a���Z���ۯ�u\u001a��p?3Z\u0017C>\"_��Ҥ\u0003_�\u0000���\u0000��f��&Kkv����}�\u0013�?�����3N�̶�r\u0013��s��}j�f��O�In澔�D���\u001c\n��9���5�{\u0017�4h��I3e�\u0000��U\t��m�\u0000�)g?N\u0000���\u001a�/ä���M&��\r��9«r~���O'@\t�\"\u000f�X�\\�Ӆ��^B���\u001f�ڞ�f�\u001a��\r��\u0000\n\u0000�}\t���)�\r�y\u001e����'��?�ֳ�\u0014�(\u0000������\u001f����\u000b\u0002�\u0000�q��Sր\u001bj>ߩ=��(~T�?�ʵj\u001b+qmj�w\u0003-���\u0000\u0012N\u0000�j�\tL�h�MҸQ�ިO�\u0017�ɱO6C�X�R���6�̲\u001f��\u0002��\u0000\u0017��9[(~Q�G�*�*�\u0018\u00128v�@����\u0000\u0000\u0000\u001d\u0000��bb��IL\u0003\u0014\u001aQI@\u0005%-\u0014\u0000QF(�\u0004����*j\u0013y6\u0012����>������d��\u0001�\"��~|�4?$��m;�A����\t݁�n�\u0000�=l��5jKq\u001a���\f��X�E�k\u000e��\u0019�\"�j'-\u0015�#\u0003��\u0013�E(d��U�H�RH��T\u0005����'֯j�\b�v��c\u001c�k8\u001c�*X\nŶ�\u0003�淥��\u001aXQ�`#�dF�N2������G\u001a\u001cH��\u0015K@+Kt\u001a�(�����\u0013\u0016T?�����W4��h\u0014��@���\u0003&�x�i#M������\\o\rn�u����u&�/�\u0007�G@6���c\u0011���X�����\u0007�M%�`�Ċ��d\u0012_>��\u0001I���\u0002���տ�H���uhM)��\u0014f4\u001b�c�<�l�\u0000O\u0003��o\u001bd�J�T|�2X�'\u0015+P!������A�t�~@^(��e��U[N�[4���\u00106�S�S�F�F��X��N�\u0000��e�&n�\t\u0003ں�Q��,���W9�pm��/�kwS�Z�l\u0001������(Z\r\u0018�O��m$=\u001aB��\"��1��YG9e�/�M��K�+}أg?��\u0000^��fmV\u0012y&M���\u0011g�':�\u001e������7�c\u001c}��\u0000A�EQ�?����E���5'��\u000f~�\u000e���ȧ�c�\u0006��n\\�\\\u001f��\u001e\u001dM����P�\u00001O�#÷nz��G�?��\u001e\u001a�\u0010�)�&\n?\u000f�\u0000]5�\u0006���8\u0007�J����i�W��+���4�Z����c�\u0013�Os���p���og\u001fs����/1\u0019�Bo��\u001e���U���>�\u001f��\u0000�G�c�~��\u0010���8�F���\u001b����Ѐ�jK8$��\u0013J����I��\u0005\u001b�{[�L|y�s�ы�����\u0005����Z��\u0015�[e�^]�O�\u0015�\u001d��g$*��!\u001b�=�j\u001e�>\u001b���s*���\u0011��V���F�\u0004=V!��z�\u0000�s�K0P��\u001c\u0001����Z�j���\u0002\u0016%\u0019\u0007<�#��\b\r;���2J�T~�����?xmA��\u0000ƨ�~�W�Y�w�~�`�~&��}�\u0001-�\u0000�\u0002��T63b��+X�D�\u001d�s����}v��EE�-G��v���o\u001fʎd�t�W2������s��i�މ\u0003��#�͓G3}\u0006l�@��\u0002�(�\u0002�(�\u0002�)h\u0001(�-%\u0000q�\u0011\u0018\u0012=�y�q\u001e���wrm�ᶇ�s(Q�՝�H\u001e���\u0010\u0016�i����y0�\n�\u0001�\u001a��QA)\u001f!��\u0015-��.\u001e�|�O�\u0005G��mQ�\u000eI\u001f�UY2X�r\u0014\u001fӭ\u0002\u001dt�a$�?;�S-�/\"\fpN*\r��v\u0015=��X�\u001b�y*=��}\u000e��x����\n���ci���r\"^X��Ue�Y��#\u0016f�+f\u0019ⱶX�Ēul\u001e\u0001�4���\u0016}(\u0010<�Lx�܊��][�Ի\u000f��8�1N���o�Jv�\u0000uG\u0014��(0#�I\u001d���\u00157]\t,Fڻ e*���*���Ԡ�4�\u0019�.1�S��n�r��\fT6�I,�bM�9�8\u00140'���䫒\u0002��w��\u0011Q\u0002��\u001d\u0005a蠭���\u000e\u000eG�5�x�p\u0016��\u001e��l\u0005Mn�\u0016\u001f���b\t\u0003��]�崀|��z\\�q.N]ݺ���Փ�֖�\u0005�\u0019,Gs�MN���{g���C�Ԅc�S�\u0015\u0010�a%����܂{U�eA���X�#��X`�Q`���\\\u000b{=�p�|��4�Vi��\u0000�8�\u0015\u001e�w�����E�S��O����+��b\u001a@T8\u001cc�F�\u0007����\u0000�QT��̞W�bZ����m#���F\u0006\u0005Wn��\u0005F9��;\n:\b�o�\u001bk?-\u0017�����\u0005R$�g�I�;\u0017�'����\"\b�\u0014��in4�<�o�\u001007\u0005��k�B�ʞ\u001c��+ӿJ�[�~�g\u001bL���֒y���Ğ٧�\r��\u0011�EM�C\u001eY�\u0000��c�\u0001��4�y�R��k`\u0006_)J�ۆ6�;��Wb��c��$}�BMg��\u0005P\u0016�\f�\u0018�8R=�\u0003�r7�->`�������P}}�;&h�Q�d��Gn��0�`vF�x\u0007��6�e��a�vR2\t�4�=\u000bv��ŭ�nn�ŏ\f$U$;c��UJYM�����Ke��=�,VsI$��\u000b�\tu�#\u001diml强\u0010B����p\u0000������\\\u0016���!\f��N\u000e�2=Rh�M�j�\b#p�������m\u001fd�4d�#�\u001a��\u0007��\u0001f�x�n�X��^p:籩�o`�Ԅ���\b\u0000`\u0000I�;~��o����uh,��0\u0012��\u0005};\n�o�}��X��\t�<�\u000fA銃�;w:\u0010;1\u001c\u001fƚ#ݐ\u00178�4\\.,3\u0018$IS�dg�]�֧��0�DV#q\u001d�Lg�j6��M\u0017\u000b�V�ܰD��\u0004\b��\u0007�j�Z��\r+E&�5�7\u0003�BDb6_/,pU�<~\u0014��k\u001b� b��c�M\u0017\u000b��c+��Fv=I4�'\u001d1Sڋ;\u0017\nZ6\u0018ʜ\u0015�\u00155��\u0016�\r�ǜ����(\u0002��\u0005�Զn�\b_��S��Z&�24o��V��G����Lc��q�#&��2\t�x��)��ҟu0�\b�(Y��X���l��ۇD�����\u0018�e��#p�@�u\u0016�մ��,b�\u0006�B�p=ֹ��(\n7�'?CC��B��\u00158a�RN��S\f��G!�\n�\u001b\u0011kFx��[�*��6��<�������HX�T�}Gj��FRr\b�Z�u\\]��ߨ�����#��:\u0001F[ۉ��\t��E9Rz�ƘLm\u0012���)�\u0018��Ջ9E��o\"��Q�\u00022\n�\u0000���j��k{�?q'̅}(\u0002����]��\u000eT���;ֶ�\u0012Oo\r�<�\f\u001czv���\u0011��\u0003�ѹ\u0005z�T���\u001bIl�\u0014�l����\u0000���`Eax-���� ��t�\u0014�E\t�<�\u001ftNv���z\u001a���E{\f��pF\u001d\u0018uS��\u0000JϺ���c\u0014�\f9V\u001d\b�\u0014�m�\u0006\t�7\u001c�#\"�iv�^G4,J͌��\u0004T�\u0005����E�ˁ \u001e�\r6�����\t\u0018)�\u001b��P2=:Wӵ �����\u000f��݀V\u0017q�S�Z(�uB��o�\f��{��?ƶ�k�y`\u0015�̟#\u0003�v�]�ϏF��\u00115��*��q�\u001fN)\u001bK��O26W`�9�O\"I�]���ֲ\u001f�}+b9\u0016X�D;��A�Ɂ�k�N\bI\u0000sӞ\rjCz$p�\u0014���S�e�\u0005�,F����ֳ���Iq\u001d �\u000f�\u001f�F�\r�*+{��c�\u0013�\u001d�qSU�J)h�\u0004��(\u0000��(\u0001h��\u0000(��\u0000�.m\u001e�a\u001c�\u001c�a�T���X�F=�:�=�\u0000\n��I$k\u001b9eO�\u000fj���[d�NLg�ooJ�\u000b�Goq���S\u0012Ds\"1�q�Ү�o5��s\u0002�\u0019S\u0012㚮!��\u0014��l��q�}\u000f������\u0002��v�\u0007\u0012\n�Z\u00166d,�H^�v��:�:3�@9 ֓���D�C�N9\u0003���#(��\u0012H�U��\u001beb�*�uW'\u0018�4��=md,r`~�?��YΤ1����4l2K��>r��\u0000��x\u00188ϽO`�%JY�Y�Y[��ky�Y�I\n�\u0007�J�MV��$)B��\u0003�U!\u0014.�a��g�s5ă\u0003�����Got�:\u001eG\u0004���5�\u0012j���p|�<\u000f�V�v��6���~�^��\u0000�E��CU\u0010�q�\u0006\u0004H2�:UX��\"X�N�1H,\u0018�H鞔\b�r����\u0014�\u0002X�+r'\\+�2[\u0000���]�~|�=ʤ�c��Z{9�+2:�\u001c\u001a=D>��{f!�p^���-�%�l��A�A��v� ���fC!��\u001e*��%��e���~��#i��2����\t��^s���\u0000֩�nDӥ�cd�n�L��%��w���\u0011H:)\u0019�SK��ƥ���vSɣP5m����6\u0001\u0004a��5�ue.�8�\f�����cU�d���ʷFS����ͪ�*ۇ8�U�\u0018W���\u001fk��\u0000X���ީE\u001b�\u0019�7m��=�N�N��_>Ȑ;���\u0000֬�h�|�O-��jL\r\u001d:�^?�Lr\b�'���O&�z��A�\u0003�U��c��M\u0006\u0016O��k\"P�fك\u0007^9�(`k�ۮ�l'��ק����R\rJ�l�e�}\\ua�}j���3�\u0017���5j�H�u�l������O���\u0004 O���\u001eGOF\u0014۩����Lrg,���[�A\u0005�\u0011��'�GQYz����!\u0004��w_��+[`'��;�1u\u0002\u0001/V\u0003��\u001fZ̆V�d�|�\u0019\u0004f�ou,\u00071>3�v��I����rW\u0018��6\"MBhn\\\\B�$o���\u001fq[>\u0014�\r\u0014���x\u001f����\u0000��_@�\u0015\u0019e\u0007zpk&�9t��a��\u0019V�8��Q�\u001e �6���Ɓ��\u000e�dg��)fЭ�[�=���;\u001b����Z}ĚƟ4WQ���ާ��v\"�h�2i�ϧ�\u001c+7�{\u0003��4\fƘ�\u001a\u001bi�|�q�*{ӭ�<�i���@\b?�a����`�z^�G�ԍ���*����Q-ͼB5��&�l�\tpJ8�c��:�\u000e���ͱ\u0006'�Ў��P\"�\u0000��<�\u001a���\u001f+�W^�\u0011�\t�|���o��E+���\u0015�\u001f�&���~���u��x���T�\u001eƫua���̶\u0013,�2��{�ޓ��Ց���FG���:<�d���\u0001W�+va��J�\u0006����=�̪:�\u0019���\u000b`1�/>�6ِ�j�\u000b:��E�\u000f^���`5�D�\"�\u0003#\u000eG�d)�F���{G<\u001f���\"��V*O�O��ܱ�ј�P��A��b�+�e �\u0019\u0004w�tY\u0010��e=A�����JcV�n܌�P��\u0010\u0019���\u001c���x�Q�\u0015~! �\tX3��\ff�E\t$\u0001E\u0014S\u0001(�-\u0014\u0000��\u0014�P\u0001�(��\n(��86\\�E7\u0004T�H�U�$�A\"�rJ�Xa��Y\b�� ��\\�٤�#I\u0000���\u0006X�d֞����\u001cE��>l\u000e\u0003zVly�@VC\u001b\u000e�L\u000bֶ�ue!I\u0001u��c�T�:�+�E�GAM�&���W\u001b����\u000f�R\t�\u0001�6���\u000bC\u0002�Ω3Y%��\u000e�ޣҨ+r\t�R �\u001cg��.\u0005�\u0001\u001c\u0005���>�R\u0002���$�y�I\u001b���)R��悑y\u0019\u001b��߆)�0��aM�i�2j$�\u000b\rą�1\u001dkR$�\u0016�d�gg=Uz�f\u0016\u001d\u0000��~h�r���U;��f\u000bl���\u0001\u001c�)e�N��2������֛�h\u000f�nd]�\u0000£�(\u0002+qh\u0010�w\u000b#g�gqP܆\u00120I\f�a��ޯ��v�\bQm����c�T-����E\u0012n'�\u0014\u0001\u001b̆%\u0002 \u001dO-���N�-<�4Vf=\u0000\u0019�ϧO\rȁ�2��\u0010�ȭ\u001d+T��<��\t��9�h�\n�et�6�0l���Y:��q4\u000eTȧ\u001e`9��-j[�c�1C��֦�t�X\r���1���=M\u001e�X���е��2��e�\u0011U�;�\u001eM���7\u001f_���2�d��� ^��\u0007�z�R��/��PpA\u001c\u0001ހ5m58.p�|��n��,�]��>�����%\n��7]�v���t�o������Q�?,ӿp#�\u001b�.L���>�?�\u0013�[�([�h&\u001d\u001f\u0019�\u0000\"�X�\r�k\u0011�5\u0004��(Ĉ�=�\u0016\u0003\u0012\u0003\nb\u001b��B~I��{Չ��#C-���G#�\u001f֭��k��\u001c\u001e�q�:��kIq\u0014��=Q���+\u0001����\u0012\u0018Y��ǿ���W����\u000f�O�\u000e�\u0000Z->҇ʸL�>Y\u0001�5KM\u0000�{��̖�\u0006ҝmu\u001d�?d�]�\u0001�\u0007��\u0000^��U�-!����\u000e�8\"�v\u0002��3��\u001b9����>�\u0000�z�a��\u001e�\n�z��uf�H\u0001%]~뎢����A98���n�1W����\f���\u0000���Eh��)�٭ͱ\r\"�T��\u001e��qm\u0015�\r\f��o�\u001fQY:twzu�pd�|�q�\u001f�J�K�j\u001fl��?��`����^�5�6��U�\b���F���D�6�r��U�h\u000eb\u000b5���.A��\u001b���\"�d��R[1W��F��k}=�m�\u0019�2�e�H�R��\u00169Kpg��|��\u001e�:��]\u0006���\u0000g�&R��\u0018#�\u000e�Z�Jin��݂>�X\u001e��Z�%a\u001c��\u0003Z_%�\\\u00069�0�\u0000\u001a݂U�\u0004�z8�%�\u0011��b�r���\u0004��aL�^��+1�^!�tQ�?��?CҴ�X\\Y�#�K <���dE�\n:�S�\u0007�\b�\u001a* ¨�\u001e���\u0000tY\u0011��ea�\u000fz���Icq(\u000e\u001a\u0007\u0019_PkB�,\u0005Kk\u0015���H�\t/%=\r[��`\u0014QE\u0000%\u0014��\u0000QE\u0014\u0000QE\u0014\u0000QE\u0014\u0000QE\u0014\u0000QE\u0014\u0001�����jV\u000b�I@��\u0000ɪ\rn�\u0012�M\u001a\f�k\u000b�αG�\u001e���O�}\u0012����~�k�����]��A�\n9�\\^�]���qQ��=�]��\f\u0012�w\"y�\u000fО��^J�N�������fF��$T����O�\u0006��R{}j@�N\u0016����\u000b�����������\u0017��^J\u0013S�6z,>e�\t.\b�TO�\r{;Mq(�2rX��\u0001ޘ\u0017eyu[���M��A�\u000fS[P鶖�f7Eq���Z�]Y-c\u0010XD��y$�z�Q�d�\u000b\u0004nv�\f�7\u001a4\u0001&�7�6�a�\u0012~o��kv{����\u0007\u0018U�k�M�H�o����}�b8��/�_��z\u0003��P�\u000f��Y\t���f��{\n�G5R�λ�^\\\u0013\u001cc�T����PC�\u001d��*��`S��ky��<ەX�\u0019�k�PGC�0\u0010-.�x\u0014b�\"\"�V��HV�\u0011m�\u0010�ڏ\u0014��\u0001i���$�\nz�i\fh��e\"�@��ZJ`\u0014QE\u0000%\u0014��\u0000QE\u0014\u0000QE\u0014\u0000QE\u0014\u0000QE\u0014\u0000RR�@\tE-\u0014\u0000RR�@\tE-\u0014\u0000�R�@\tE-%\u0000ekOq�Gko�-O��K\u0001֩�� �q�\u0017iu��\u0015���\u0002�\u0016G`e��ϵ3�Q�����1�\u0000֨{\u0000�&���T9d�q��\f��`����iw��\u001d�f��\u0010G��ާ��\u0016�0>Y2�=�*n\u0002x�//TM���8\u0003�ɬ��\u0003�ޮ:\u000f��Cn�e'�?#V5�.+�\u001e�p�\"��=��\u000ej�3v̹\u000b�s�9��7�\u0000�*T-\u0013�#<���\u0004ڊt�94\b�d�\u001cE(+�@5\u001eCr\u0014�=Mh�9}@(\u0019;F+9�HX��\u0011�H\u0003n~��Bǂ\u0007֬�Z����m��=:��h�\u0010I4|��=h\u0002)��\\#:�FF�Q\u0018�\\�4��ӕ�㡤\u0003\u0014n�*Ub���9�B\u0016�@�:\u001c�u�ؼ�d1�p0�w�\u0003\u0002�ԋS6��M�$G���X�Nx$P\t\u001fz�\u0016]L�\u0016i\f��I<���pF���P?�����\u001f#\u001e[y������k�\nB�#�8� \u001fv�3\u0001n�TwcɨTm�5�\u001e�4��dM�pV�卢��q�S�3@X�oq-�\u0012�K���ɡ��ԧR�\t�\u000f\u0000UL\u0016��Ҭ�jLM1a\u001ck�\u0000!HF��\"�}��r����5[J�[��Ļp\u000f�\u0018���9���)\"\u0011���иXt�g�q�\u0000g��1�pM���'���s��Z�`b����\u000b\u000f9��9f45ԗYuc\r�r�\u001e��*�h��cs\u0001�����eH@.q���j��kۃy/�\nq\u0012��InN�~g?�!8Os�E�ӣ\u0014�ʊY�\u0014rI���#���Y+�S\u0001��-\u0014��\u0005�NF�4S��\tI\f�\t�Ӂ�4��aE\u0000Q@��\\Rb�\u0010�KڌS\u0001�R�P\u0001E\u0014P\u0001E\u0014P\u0001E\u0014P\u0001E\u0014P\u0001E\u0014P\u0001E\u0014P\u0001E\u0014P\u0001E\u0014P\u0001E\u0014P\u0002\b\u001d�;�5C[��K\u0007\u001c����\u000by\u0002?�2+7X�^�o��4ow�]��\u000f�jX\u0018���]YG��\u0002��&�Ǩ�\u0000\u000f�-Ŵ�U�,��Ԇ\u0005Ni`��F���/-�a�r���Vn�R�N�K��u!\u00079�\u0007Ҡ\u0005�\u0006�\u0005�[\u0018I%\u0001-�L�ҶuI\u0002xzC���\u001f�q�\u001d�[\u001a��I�ۮz�\u001f\u0004v�qI��\u00079!���Ghe\u000f\u0019�\u000e��b��-U~�Jʸ�0�F�\u0010��m\b\"��H��@9\u0002�u-9.�,�Y\u0000���%��.�\ts�\b\u0015�Hq\u0013\u001fj��\u0003���\u0016o\"��X`����\u001d�Yih��I8�i�Ri���,�w#u��O�\u0010�\u0005\u0017r�\u0000*����$��UP#\r�\u0002���no\bq�&�l�\rI@9\u0001�H\u0006�\u000f��x��i�@��\u0018�ijV�;����$�\u000eEG5���ǟ�L�zR�\f��\u0015�{\u001a~�'��\u0012FA*F\b8\"�����\u0015�\f\u0010\u0011Ƨ�,\u000bt#��P\u0018�\u0007i��T&1�<,v��OR\u000fZ�\u0004Y�\u001f9\u0014�����\u001eX�#u# '�ǥ\u001a\u0006���\u0017�g�$_�=\u001a���\u0019U��\u000f�\u001d�2�\u0011ϱ�\u0019/b��#[\"ȣ�d�\u0014h\u0004���lE�-�J1�j����ծ\b?\"�;��B��\u0012\"� \u000b�8�Z\u0010���/op��\u0015�E����M��A�Ƽ���}i�[U�(\u0005,�?M�Q��0\u0017/���¼���jv�Z�܌��\\t��\u0000�e.R�׆o���Z�\fQ�[�\f*(�k\u0006��t2W?r?AW�Y��8�\u000f<�d��Ɯ⧂;��\u0012L|��\"1��i�\u000b])��\u001cb��`Iڣ4�⒀\u0015zҰ����\u0013@�N��Z\u0002����\u0000CڊyJa\u0018�CM%)��\u0001E\u0014�\u0000�RQ@\u000bE%-\u0000\u0014�Q@\u000bE\u0014P\u0001E\u0014P\u0001E\u0014P\u0001E%\u0014\u0000R�Q@\u0018z֯�\u0005��\u0018w\u001f�VM����\u0006`�|�N��S]C\u001d��#��-�\u000e���kgE�͑\u0013�3;\u000e�\u0000�=+=X\u0013i\u001a]���n�\u0019ב���\u0000תs!������\u000e���\u0000�k��s,�6;\u000fJ�=J�F�ŭ�\u0017\u0013�.W���4;l\u0006v��\b}\b\u0001:2�՜�4��ۅ'k\u0012\u000f�h�[�Mė\fR>�#\u0003�\u0015v-\"\b��X�\b=(�{\u0000�\u0018���D���\u001e��N/2���sW�Mt\u000f\u001b)�1W�\u000eN\u0019\fR�����H�kq����)��K\u001ba&�\"u�\u0004�V��\\�;\u000bW\u001e\\�2��\n�\u0011&�\u0018:sn\u001c1��Q\u0012_4r�(įҺ+kqml�\u0003�\u000e��5��qrS�18���\f�b6��HN@\\�ޕTF�\u0012�\u0013�1\"�饮��`սZ�a��c\u0018\b�\u0002\t�E̖l\u000f�\u000e\u0018U���V�z\u0003Y0����\u001b�`��6ů�rxU�)�@��-�M���Y�\u000f;�T\u001e��uT�'�=MGgf\u001b�0���\u00015-j\"��\u001ej���3����&��ˍ��5��\"\u00115�p�Wխ\u0016��1�\b��ҵ�\u0000{H�u��A�1�oҫ_i�k)M��\u000f��:\u001c�E|�+`��&���>Ԋ:���{\\\f���$k\u0003\u0012J\r�Z�b\u0015�28��\u001d\r=�.\u0018\u000eA�1�X�\u0018�\u0002)Ta���\u00039J�`�\u001cb� �P�0�H$�<�U���5\u0014K�\u0007o�A�EMt\u0013K�ՠ\u0019R��O\u001c�`2Ipx�Y]��)7\u0016��l�4��5�LmG|��f���x.\r�~�~�\u0004rh�\u0012]j�\\��51ǎ\u0000�i�����;b��\u001e�ǭC\u001d�i\u0000�\u0000�.�;�Am#<��A�\u0019��\u0011E�\f��{�8����S\u001a�GpY؟Rj�ku�h.a��N�^��\u0010Y�\"�\u0016\u0011�\u0018e�>�\u0006��?P��?wnZNힿ�i%���\u0018�D\u0007�6k\u001e=.h�\u0005�3ѣ��\b$\u0011�^�dz.\r4�P.$W\u0001�M6��T`T�E,N�RQ!\u001e��zֈ\u0007R\u001ap\u0019\u0014�@\u0000��sQҎ�\u0001`sN�D\u001b\u0014�z\u00068����$b�M\u0000@�\u0006�R?Z��!(��`\u0014QE\u0000\u0014QE\u0000\u0014QE\u0000\u0014�Q@\u0005\u0014Q@\u0005%-%\u0000\u0014QE\u0000\u0014QE\u0000a�\"�M����F���>�b��\u0010�\u0005���\u000f�n\u0005sr\\\\J\u0002�3����EMc-��>ԍ�ۜ�j��v,ç]^�e~\u0003��n��i�Al\u0001ǘ����\n\u000e�d��\u0013\u0002:\u0000�����PxY\u001b�\u0014�B4�R\u0011Y��Q\"��9��*\u0013�HyK`\u0007�MO�\u0001���LV#k7'��?\u0002i��jS\u0010c1��\u0005\u001c�\tc�xu��c�s�Z�ط�k�mߎv�S@\u0006��۩܂8<֮)�@$���h\u0002(ma���@\u0019�I���nm�1��\u0014Q`3�2�2�L}H\u001dj��N\"��\u0000T��侁�ʮr}*�(\u0014s@\u0015�,�+�&<�\u001e=�u�o7Ov\u001dS�I���\u0019�&F��\u0006�Z\f��la�O�*+nl��\u0015�ma�\rѩ��Ȫ�m��p\u0018݃\rČzU䤖�sz�\u0015��HFܒ\b�\u0016�L\u0012[�49,~l�ij�B�\u0005M�J�sU�'��[w\u0005���)[Q\t���ul\u001b�1FA=~������\b�\r�\u0004|ޕ�8�$���C�s��$��2\u001b�1\u001dה\u001c�j2\u000f�j�sI\u0005�I,���+��!${�,�0��m�G*��Ӹ�i�@�Q�9�Dʣ<\u001c����\u001c�H$�S�\u00199�\u001bO�ѭ��(�ϥIg\u0010{]���]�\u0001�q\u0014�1����G \f\u001alV���f�e���j�VQ��@��!��Wm-Z�\u0014/�;f���\tnB��f����=>�f9#��S\f:�\n�l͵��-�9���\u0015w�\u00185�\u0001ʨ��P>���isA�1���\u000e1MS�Nc�@\f�%\u0006�P!��\r6�\u0000�M5�4\u001a\t�\u0003\u0010�m)�� ���\u0000(��\u0000(���\n(��\n(��\n(��\u0002�(�\u0002�(�\u0002�)(\u0003��\u0000��\fXICC_PROFILE\u0000\u0001\u0001\u0000\u0000\fHLino\u0002\u0010\u0000\u0000mntrRGB XYZ \u0007�\u0000\u0002\u0000\t\u0000\u0006\u00001\u0000\u0000acspMSFT\u0000\u0000\u0000\u0000IEC sRGB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000��\u0000\u0001\u0000\u0000\u0000\u0000�-HP \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011cprt\u0000\u0000\u0001P\u0000\u0000\u00003desc\u0000\u0000\u0001�\u0000\u0000\u0000lwtpt\u0000\u0000\u0001�\u0000\u0000\u0000\u0014bkpt\u0000\u0000\u0002\u0004\u0000\u0000\u0000\u0014rXYZ\u0000\u0000\u0002\u0018\u0000\u0000\u0000\u0014gXYZ\u0000\u0000\u0002,\u0000\u0000\u0000\u0014bXYZ\u0000\u0000\u0002@\u0000\u0000\u0000\u0014dmnd\u0000\u0000\u0002T\u0000\u0000\u0000pdmdd\u0000\u0000\u0002�\u0000\u0000\u0000�vued\u0000\u0000\u0003L\u0000\u0000\u0000�view\u0000\u0000\u0003�\u0000\u0000\u0000$lumi\u0000\u0000\u0003�\u0000\u0000\u0000\u0014meas\u0000\u0000\u0004\f\u0000\u0000\u0000$tech\u0000\u0000\u00040\u0000\u0000\u0000\frTRC\u0000\u0000\u0004<\u0000\u0000\b\fgTRC\u0000\u0000\u0004<\u0000\u0000\b\fbTRC\u0000\u0000\u0004<\u0000\u0000\b\ftext\u0000\u0000\u0000\u0000Copyright (c) 1998 Hewlett-Packard Company\u0000\u0000desc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012sRGB IEC61966-2.1\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012sRGB IEC61966-2.1\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000XYZ \u0000\u0000\u0000\u0000\u0000\u0000�Q\u0000\u0001\u0000\u0000\u0000\u0001\u0016�XYZ \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000XYZ \u0000\u0000\u0000\u0000\u0000\u0000o�\u0000\u00008�\u0000\u0000\u0003�XYZ \u0000\u0000\u0000\u0000\u0000\u0000b�\u0000\u0000��\u0000\u0000\u0018�XYZ \u0000\u0000\u0000\u0000\u0000\u0000$�\u0000\u0000\u000f�\u0000\u0000��desc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0016IEC http://www.iec.ch\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0016IEC http://www.iec.ch\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000desc\u0000\u0000\u0000\u0000\u0000\u0000\u0000.IEC 61966-2.1 Default RGB colour space - sRGB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000.IEC 61966-2.1 Default RGB colour space - sRGB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000desc\u0000\u0000\u0000\u0000\u0000\u0000\u0000,Reference Viewing Condition in IEC61966-2.1\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000,Reference Viewing Condition in IEC61966-2.1\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000view\u0000\u0000\u0000\u0000\u0000\u0013��\u0000\u0014_.\u0000\u0010�\u0014\u0000\u0003��\u0000\u0004\u0013\u000b\u0000\u0003\\�\u0000\u0000\u0000\u0001XYZ \u0000\u0000\u0000\u0000\u0000L\tV\u0000P\u0000\u0000\u0000W\u001f�meas\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002�\u0000\u0000\u0000\u0002sig \u0000\u0000\u0000\u0000CRT curv\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0005\u0000\n\u0000\u000f\u0000\u0014\u0000\u0019\u0000\u001e\u0000#\u0000(\u0000-\u00002\u00007\u0000;\u0000@\u0000E\u0000J\u0000O\u0000T\u0000Y\u0000^\u0000c\u0000h\u0000m\u0000r\u0000w\u0000|\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0000�\u0001\u0001\u0001\u0007\u0001\r\u0001\u0013\u0001\u0019\u0001\u001f\u0001%\u0001+\u00012\u00018\u0001>\u0001E\u0001L\u0001R\u0001Y\u0001`\u0001g\u0001n\u0001u\u0001|\u0001�\u0001�\u0001�\u0001�\u0001�\u0001�\u0001�\u0001�\u0001�\u0001�\u0001�\u0001�\u0001�\u0001�\u0001�\u0001�\u0002\u0003\u0002\f\u0002\u0014\u0002\u001d\u0002&\u0002/\u00028\u0002A\u0002K\u0002T\u0002]\u0002g\u0002q\u0002z\u0002�\u0002�\u0002�\u0002�\u0002�\u0002�\u0002�\u0002�\u0002�\u0002�\u0002�\u0002�\u0003\u0000\u0003\u000b\u0003\u0016\u0003!\u0003-\u00038\u0003C\u0003O\u0003Z\u0003f\u0003r\u0003~\u0003�\u0003�\u0003�\u0003�\u0003�\u0003�\u0003�\u0003�\u0003�\u0003�\u0004\u0006\u0004\u0013\u0004 \u0004-\u0004;\u0004H\u0004U\u0004c\u0004q\u0004~\u0004�\u0004�\u0004�\u0004�\u0004�\u0004�\u0004�\u0004�\u0004�\u0005\r\u0005\u001c\u0005+\u0005:\u0005I\u0005X\u0005g\u0005w\u0005�\u0005�\u0005�\u0005�\u0005�\u0005�\u0005�\u0005�\u0006\u0006\u0006\u0016\u0006'\u00067\u0006H\u0006Y\u0006j\u0006{\u0006�\u0006�\u0006�\u0006�\u0006�\u0006�\u0006�\u0007\u0007\u0007\u0019\u0007+\u0007=\u0007O\u0007a\u0007t\u0007�\u0007�\u0007�\u0007�\u0007�\u0007�\u0007�\b\u000b\b\u001f\b2\bF\bZ\bn\b�\b�\b�\b�\b�\b�\b�\t\u0010\t%\t:\tO\td\ty\t�\t�\t�\t�\t�\t�\n\u0011\n'\n=\nT\nj\n�\n�\n�\n�\n�\n�\u000b\u000b\u000b\"\u000b9\u000bQ\u000bi\u000b�\u000b�\u000b�\u000b�\u000b�\u000b�\f\u0012\f*\fC\f\\\fu\f�\f�\f�\f�\f�\r\r\r&\r@\rZ\rt\r�\r�\r�\r�\r�\u000e\u0013\u000e.\u000eI\u000ed\u000e\u000e�\u000e�\u000e�\u000e�\u000f\t\u000f%\u000fA\u000f^\u000fz\u000f�\u000f�\u000f�\u000f�\u0010\t\u0010&\u0010C\u0010a\u0010~\u0010�\u0010�\u0010�\u0010�\u0011\u0013\u00111\u0011O\u0011m\u0011�\u0011�\u0011�\u0011�\u0012\u0007\u0012&\u0012E\u0012d\u0012�\u0012�\u0012�\u0012�\u0013\u0003\u0013#\u0013C\u0013c\u0013�\u0013�\u0013�\u0013�\u0014\u0006\u0014'\u0014I\u0014j\u0014�\u0014�\u0014�\u0014�\u0015\u0012\u00154\u0015V\u0015x\u0015�\u0015�\u0015�\u0016\u0003\u0016&\u0016I\u0016l\u0016�\u0016�\u0016�\u0016�\u0017\u001d\u0017A\u0017e\u0017�\u0017�\u0017�\u0017�\u0018\u001b\u0018@\u0018e\u0018�\u0018�\u0018�\u0018�\u0019 \u0019E\u0019k\u0019�\u0019�\u0019�\u001a\u0004\u001a*\u001aQ\u001aw\u001a�\u001a�\u001a�\u001b\u0014\u001b;\u001bc\u001b�\u001b�\u001b�\u001c\u0002\u001c*\u001cR\u001c{\u001c�\u001c�\u001c�\u001d\u001e\u001dG\u001dp\u001d�\u001d�\u001d�\u001e\u0016\u001e@\u001ej\u001e�\u001e�\u001e�\u001f\u0013\u001f>\u001fi\u001f�\u001f�\u001f� \u0015 A l � � �!\u001c!H!u!�!�!�\"'\"U\"�\"�\"�#\n#8#f#�#�#�$\u001f$M$|$�$�%\t%8%h%�%�%�&'&W&�&�&�'\u0018'I'z'�'�(\r(?(q(�(�)\u0006)8)k)�)�*\u0002*5*h*�*�+\u0002+6+i+�+�,\u0005,9,n,�,�-\f-A-v-�-�.\u0016.L.�.�.�/$/Z/�/�/�050l0�0�1\u00121J1�1�1�2*2c2�2�3\r3F33�3�4+4e4�4�5\u00135M5�5�5�676r6�6�7$7`7�7�8\u00148P8�8�9\u00059B99�9�:6:t:�:�;-;k;�;�<' >`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�D\u0003DGD�D�E\u0012EUE�E�F\"FgF�F�G5G{G�H\u0005HKH�H�I\u001dIcI�I�J7J}J�K\fKSK�K�L*LrL�M\u0002MJM�M�N%NnN�O\u0000OIO�O�P'PqP�Q\u0006QPQ�Q�R1R|R�S\u0013S_S�S�TBT�T�U(UuU�V\u000fV\\V�V�WDW�W�X/X}X�Y\u001aYiY�Z\u0007ZVZ�Z�[E[�[�\\5\\�\\�]']x]�^\u001a^l^�_\u000f_a_�`\u0005`W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�m\bm`m�n\u0012nkn�o\u001eoxo�p+p�p�q:q�q�rKr�s\u0001s]s�t\u0014tpt�u(u�u�v>v�v�wVw�x\u0011xnx�y*y�y�zFz�{\u0004{c{�|!|�|�}A}�~\u0001~b~�#��G���\n�k�͂0����W���\u001d����G���\u000e�r�ׇ;���\u0004�i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6���\u0006�n�֑?���\u0011�z��M��� ����_�ɖ4���\n�u��L���$�����h�՛B���\u001c�����d�Ҟ@���\u001d�����i�ءG���&���\u0006�v��V�ǥ8���\u001a�����n��R�ĩ7���\u001c���\u0002�u��\\�ЭD���-���\u0016���\u0000�u��`�ֲK�³8���%���\u0013���\u0001�y��h��Y�ѹJ�º;���.���!���\u0015���\n�����z���p���g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?���D���I���N���U���\\���d���l���v��ۀ�\u0005܊�\u0010ݖ�\u001cޢ�)߯�6��D���S���c���s����\r��\u001f��2��F���[���p����\u0011��(��@���X���r����\u0019��4���P���m�����\u0019���8���W���w�\u0007���)���K���m����\u0000C\u0000\u0003\u0002\u0002\u0003\u0002\u0002\u0003\u0003\u0003\u0003\u0004\u0003\u0003\u0004\u0005\b\u0005\u0005\u0004\u0004\u0005\n\u0007\u0007\u0006\b\f\n\f\f\u000b\n\u000b\u000b\r\u000e\u0012\u0010\r\u000e\u0011\u000e\u000b\u000b\u0010\u0016\u0010\u0011\u0013\u0014\u0015\u0015\u0015\f\u000f\u0017\u0018\u0016\u0014\u0018\u0012\u0014\u0015\u0014��\u0000C\u0001\u0003\u0004\u0004\u0005\u0004\u0005\t\u0005\u0005\t\u0014\r\u000b\r\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014\u0014��\u0000\u0011\b\u0006@\u0003�\u0003\u0001\"\u0000\u0002\u0011\u0001\u0003\u0011\u0001��\u0000\u001f\u0000\u0000\u0001\u0005\u0001\u0001\u0001\u0001\u0001\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b��\u0000�\u0010\u0000\u0002\u0001\u0003\u0003\u0002\u0004\u0003\u0005\u0005\u0004\u0004\u0000\u0000\u0001}\u0001\u0002\u0003\u0000\u0004\u0011\u0005\u0012!1A\u0006\u0013Qa\u0007\"q\u00142���\b#B��\u0015R��$3br�\t\n\u0016\u0017\u0018\u0019\u001a%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz���������������������������������������������������������������������������\u0000\u001f\u0001\u0000\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b��\u0000�\u0011\u0000\u0002\u0001\u0002\u0004\u0004\u0003\u0004\u0007\u0005\u0004\u0004\u0000\u0001\u0002w\u0000\u0001\u0002\u0003\u0011\u0004\u0005!1\u0006\u0012AQ\u0007aq\u0013\"2�\b\u0014B����\t#3R�\u0015br�\n\u0016$4�%�\u0017\u0018\u0019\u001a&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������\u0000\f\u0003\u0001\u0000\u0002\u0011\u0003\u0011\u0000?\u0000�'\"�\u0016���q\u001a�}k����;�bY�I&�|H�0�vө�Ky\u001a\u0013\u001f�X\u001c\u0011�V\u001c֭\u000b\r�\rx�i�5��Чʴ>����'k�/������O��tC��G��O�+��\u0000�\u0017���o\u0007�F\"\u001dJԙmg�*��}\u000fJ�o�+��<\u0003�Z��hխup,�����\u0007�q_���(#�^�()E�:��#���\u001e\u0005�<\u0007�O��v�[�\u000bc�\u001c0�Q�)<\u001f���\u0000\f��_��R���r�\u001b`���\u0000��:?�\r\u0016H�m�\u0014\u0019��G�\u000f`O�~l�P�O��2����\u001bvB��\u000f��b+ͭI�v{\u001c�=Q�����Ii_\u0015���u�*\re#\b�'ݛ�g�ҸO�K�k�˚\u0011�f\u0003%���Ŭc>Y�,��ھ!��Ay��Aui;�\\���H\b�W�߳��9i�\u0013L�@�#�z�M�� ,��}��\u001cD=�]�0�F|M}n���\u001f�3��O�\u0017�\u000f�\u001e1K�c����A��L�����\u0000h�����\"^�\u0002m���ͮ3�)꿁��^/�@c�I��W\u0004�؎���J���\u001cֳ?a�\u000f��G����MoK����A�*�%\u001b��؊�m'O���\u0000*g\u001dq_�߳�\u0000�\u0019��\u000b�\"]C#\\�d-ݙ'\u0019��_C�����\u001a��{�}SH�\u0013�L��\u001eW�\u0011_AF������C����\t\n!S�\u0005p��ջ�ƻ���q5^8L���v�\u0006B��o�\u001a/��\u000e�6��Y�\u0017pN\u0007s]\u0016�ft�Չ�-IȤ��\u0010�s�>�x�q,�6\u000f��{\u0017�!�8�3^77�#gքI��\u001f�Nr+G�G���O�\u001e\u0015�\u000b�h�P���\u0014\u0001ձ�}Ecx6�-����^�s��l�wy��@k:�SV�i��]���^�-��\u000f��\u0015䘤��2g�Z��?X����.-n$���Z6 �:W�\u000f�\u0011�\u001f�V����/�bɂ�\u000f�\u000e;\u001fJ�����?�\u001e\u0003ԤY���7�q\u0012eH���S\u000e��\u0018N7wG��%��/��-l�3���A��\u0015�(����*)t�\r��Q\u0000\u0011C#����\u0003��1W��u�\f��\u0019��3�Vlѣ(a�\t\"�]H~�0�yF?�\u0012\rwr��5�9�mc���7z}�ַ\u0011�J���;�[⟎~2מ&�Z�\u000e�$���U�]]Aqq;�b6rc\u0007�\u0019�&\u0012e�\u0007�J�N��%k\u001e��O�K��\u0018(#�$�E9�pK���{g�m˸�&��\tF9x���:6Va��<�\u001f0�Q��J��N?\u000b9ӱ�\u000f��\u0000���:���+ٖ fA�>��H�~)xo[E6ڭ���o\u0002�/\"�u\u0001P�\u0015�k���\u001a�s�o\u0018ꭂj��V;�R�~�Mu�j�4l��\u001b\f\u00158 ג|F���$�{\u0005M>�lƠ\u0006>�������\u0000��&��3m�\\���\u0004�\u0015���\u0007��\u0019����\u000f1kW��Eiįh7�\u0017�M{�r���4��Y�\u0004�\u0002�h擄fY\u0018��\u0003�kԿ��j\u0018����Kk[�P�\u0013�Y�>\u0005Z[]��V#��q@�a�n\u001csWc�n=i��\u0017���\u0018^*F\"�b��m�*7 w�Za�Zv\u001d��|�\u001b�=��L\n���uӱRE+\b�7u�J����7�doaR�|8�敇s~6�\n�\t\u001cv��{��;ք2\u0003��\fַ�iB�\u001e��nեnԊ5#���Ҭ�rqT�j�\u001e\u00069��U�v*e�u���cښ��q\u001eXf�K�Ǐz�G�Y��E�#�T��0��I\u0018\u0014�QU��z�{զ\u0003�1�Y��s�j+�Yc�Mc\\k���sHw-�6W�\\�寙!cҭI�+w�g\\�yϭU�\u001b��\u000f=�\u0019�UA\u001d*���6y�l���\u0014\u0012\\���~*�L�6\rC��b��9\u0019�H\u000b��&r\t��]\u001e5\u001b��fY���*�����S\u0002�0ƽ\u0006k��-��\u0015~�Vv�8�kۆ�\u001cSD�qs�z5��v��n�ǵif\\��&�閦iB�G*���Og��q�\n��{���z\u0007�<>�2XU_\u0015i�ڮ\u0014b�*�\u000b�o�4�y�e�3H#�Z\"\u0006ƼԪ�[p�iUB�\u001bqUa\u000fiC.\b�c�(U��\u0006m�O^��*����P\u0002��\u0017\u001f�1G>�'\u0019�dS\u0001˟ƞ��Jlg�\u0000�OZ�IU�h�QE��K��?�����\u0015^��� t\u0005��~\u0019�M��G\u0019L�ˎ�F%���8��ᵔ��m����r\b*�[�\u0019�x3Os�MZ�M���ܬ���K\u000b\u0006FS��r\b��?dO�r\u00181C�p�6�m��/B���_\u000bj�[�\u001a�ͣ�6�Q�{�ׄ�+�\t���P�F��\u001d��VQ�����ؘ�i\u0014\u001f��j��,|\u0019�>*h2X�6��\n|����~��?�L��M�g�k,�i�|�q��\u0006k�u�\u0000\u0002�0�D��q^�4kB��[�+�?\u0011~7|\u0007��\u0012�Cw\u0003\u001b&?��U;\\}}}���^�K�I`��6\f�#\u0010A\u001e��'�+�z?��;�'U�I���b\u0006�=�5�����q�~\u0016��M\u0014Ms�;\u0016�dRp=\u000f�y5��z��\u0019F�\u0012|b��\u000b���6���?�{�\u0019\u0018 ��\u0000�y�ݨ���\u001c\u0000˖\u001f\\W%kt�w\u00039^~��Z̲��~ua��:����f���\u0000����m����o��\u0006��w�\u0011�w��%o�ړ��}\rp����}�d�$\u001b��ƾ���4k�r~��NVwC����\u000f���\u001a_�m\n�T�gY�AT�\u0011�xW��y\"�\"\u001d������;�њ��?\u0017Cs���&�\u001b�,�Y}\u000f��߂\u001e>���?\u0002��$���wV�1�B�clr�v\"��U����:�$ѿcᔷ���qҹ-cMe�#e^\u0014�W�W5�C\fR\u0016��j�H��O\\�\r&`�ݯ\f��\u0000��\u0006;���\u0019x�8l��Xna��&o:��5h�X�|� �ϵoI�_^B\u0006ӊ��\u0013ḮQdt\u0004:�Q�E\f`l\n1�H�\u001f?��z�A,��VU�#���uj�'��k��8d�W����[�\u0003�q�\u001f\u001f�N��t?\u0012�o\u00146�g/�\u00065�>����Q�8u �%d�vCs�~���ˉ��3���Kuh� \u001f��Z�xT�\u001dљ�\n�U�o�\u001b\r/Y��ql�\u00031�\u001d�k��&fܪj��\u000f\u0019�^\u0015�yu\u001b�,�Q�G\u0003��>!���\u0018�d�-4>�*�\u0007L���sB�T[ؙOS�5���#\n\tϵ~{�v�~��?�Z��\u000f���f?.ң�{`\u000fҬx����N�eK%�O��\u001bA$W�j�\u0011��oTmJ{�\r���\u0007\r�\u0015�Z���G;������C�_�\u001b[(g��#λ��>w�?��>���۟\u00134M;�Zh�N�\f����\u0013�M�!\u0003{\u001fą\u001f�|\t��l�6'OMr��H\fe<�����CFԴ{vmqgI�X�E���6@U�{\u0011�穉|��V;#�9���s��d�s��g�!�bW$n���ۨ^�y\fjDjx\u001d\nlvL�n1��̏:Rmݕ\u0002\u0011������Ʊ�T/s�jm@�z|\u0003f�\\�qɮ������f�d��֩'�6�F��i\u0018�;\u000e7g\u001b�xoTҴ�MR��X-/Y��W\u0018\u0012m\u0003v=q���-6v1a�b����|Um}�}\u0013�\u001azF��%�\u0019\u00160\u0006$�i�\u001e����̗����\u0011]j*\u0012�4fL�\\d\u000f���O���ۭB���*�aol�>�s��R�����I(?�:\n��\u001d�Ĥ�'%}iB��v�W4�\u001e}Z�;{x�I\u001c�*��P��6�b�W�[�<�l\u0003��Է��Rm�\u0007\u0004rC\f\u001a���q����m��|I\u000e����q��\u0013^�⏀�\u0007�/V��\u0016����\u0001��\u0015p�*+�|��\u001f���?��=ˌ+/ȧ�c�y�ú�����\u0004���ڿ�w��#�\u000e�5.�\u0012��^���H\u001d\t$���:��M�h�\u001f�\u0019���T��:Ks�\u0010QZ\u00175\u0005HcU\u0003\u0004.\u000f�g萋�\u001a\u00068��=�V�\u00062>H�\u0014�==a�7��Շ\u001e�ּ��es{�=�S��u˟\u0000�>$Ѡ{��⑧�u\\9\nG�\u0002���T�)�¾�t?�\u0006����|R�.�7i\u0005�\u000f=��l{��\u0005C^��M�\f�#>�Em�u5{�I+��7�\u000e��-\u0004�Zm�1���3�ΰ�l�\u0019\u0000��q_�ZDŽ��b����x�`���m���%Gq�_x|��y$g�a%\u001db�c(�\u0011���F\u0001=�=|��P\u001b\u0015�x��:���\u0007���h%^0����xGX����弲��\r�rH85���f|�����\u0018bP�JX�3�3�k������\u0005�*4�Xo\b�7P����ξ\u0005���ң\n�\u001c��]Q�9��H�D~yZ�/��b�c\u001e�z�P�f]������=W�;�v���Ym�\u001c\u0015j����n\u0003��\u001a��3�\u0000-\u00008泖\u0002�r�1\\]i�\fE\u000e\u001b�\u0000ӡ��o�nUv���\n��S�-�5�\u0001ku\r�]\u0000?/j�n?e\u000f\u001d�ʩe\u000b`�\u0000\u000b�\\�\u0007R:8���x�*\u0014Pݹ����\u0000\u0011�-�+ҩ��?�\tkl\u000088�\u001dwV7�y�%��x�qz�\f\u0017�=)��S��\u0010b�i�v�&�=�X\t�q�iH�8�k\u0017º\rψ5�[+x̳�\"�(\u0019�'���_�S���ÿ\u000b4�\u000f�\u001a|,����e\u0004\u0016<��kƧ\u0017Q��%h���KœG⧵�a�$�,DѮ0�g?֠��2i��y�>Rk�~;�6�_\u00105+\b,�z5����y��g\u0018�N\u001buu��\u0014�c�Oz�kI�N/��V��G�W�\u0012��dW>\t�|=s!k�9VuV��\u0018?�}��\u0014[����p=k���C���\n�.A\u001c�yvڂ�I=\u0001'*O�_�\u0012k\u0012j�O��)�Aȯc\u0001>zV�T�ͩ\u0016�q���\u001dx�&��\u0014�WO�v�>��[��J�Ha�f�����\u000b\u001a�%��6��\u001aV�$����?f]G���-�\u0003�i21`�\t)�J�\u000fH��=��)�@n��n,>\u0018�x�ŭ�(\u0016{yF\n�ȯ��l��v��/��\n۴�b\u001d�������^\u0006+\u000e�(�?��\u000ec�ۍ=u=2X���\b+����\u000e��mM4�d�4�\u0010�\\��tP\\\u000bu�M�!���{��\u001ao\u0007���Q��������H\r������M\u000eU\u001fz��|E�=G���֗��[K\u001bm)\"����/����\u0000f�\u0017$��%����V�Nf;J�\u0000}G@����|]�:xK���\u0007���@�\u001b/\u0013Oeĉ�\u0019�����0\"�+�\"�=�>\u0018���E��\u001e����4r\f\u001f�v˚6s:\u001c9\u001d�~�|1�����\u000f��\u000f�/����M�F\u0005��V\u001d���\u0018Iq��c$\u0011�~-~��/�g?\u0015Gw��%އ;\u000f���d\u0019\u0019e�F��_���\u0000�?�|e��/\u0015A�C\u001d�����\u0003�c�Ez\u0014�\nJ�і���x��Sr��N=k\r.\u00169��\u0003�Z�������N��up��4�}Y�5\u001b��~w$���z��>ȏi��G�?n=3P�u���2yn+��\u0007�\u0014\u0002��H�&��\u0004�a�,Dž�\u0007�_\u001a5ә6��\u001e�VUy��nsY�z�y\u0012�v\u001f\u0010�2x��\u001d��j���Eؑ\u0019r\u0015A�\u0019�\u000ei\u0019������\u0000���$a�\b�WM%T��g=*9���1a�y��یջ\r\u001eK����Ƶ�\u0018��\u001c���̩t�b�I�\u001f�7-\u0007\u0005�$���\u0000e_�����6�ψ5\u0018��$\u0001��q�s�\u0011�^1�e|JO\u0015~�~ ��v&���\u001e��_C䍧\u001e���+��7�|_��\u0002_\u0012Z�yg���d,�\u001d�)��^S\u001d����q}q#Mq;�$��K19$�RNk�\u001e�?y\u001e�*���|Ac��,R\u000f6�I2W\u0007�p?Ͻf��q6�؏\n�\u0001�\u0019�\\��3^+�����?g��gW�š��\\�JZXZ�,lT��\u0004,�>�\u0001Q\u001a);��t��sO����Kh^\u0018��ZB`Ti'�UQ�k�[�mo\u001a6V���epAS��k�<\u000f�AkV�\ru_\u0005J���h�`pUX���\u0019\u001f�m\u0017��ٜ�+�8�\u001fx�o\u0018x�_2Z��Uc�T��~\u0003\u0003�'��7\u0012q��ε�ͱƊ����+\u001d��\u0003'樎��?Q\u0015V6��p)��kg�0nc��b+b���m�]�����-�2�+\u0005EQԚ�s���\n�'��X�M���(e�W\u0018��~��sq�]�ݜ�+����=�ޫ�\u001dCU&K�ٮ����(��wH�Ͼ|E�Zx/Ag�+��\u0015\u001f��r?\n�d��4�2P4�:|�=x��n��FO,3֪4�\u0000�\u001e@���d�4��|h���`[[{�[k(&i#�\u001c�x\u0019�\u0013X�{������nG�9��¾\u001f\u0010��.\u0019\"�����\u000b�d\u000f��K��k��|�q4����vm��JK�(k���$(��,g����v\u001fI�\u000f����\\���\n���\rZ�Y|�)�\u0015ԃ\\�z\\�3��\u0000�\u0017V�m\u001f_��/١d�B:�bF?%�+�r�(����%x�Z�.N˛ȣx\u001c�\b@Ňב_n-�H��\u0002\r{4$�\u0011��\u0011�dS\u0019A�\u0019�Of\rӚ1�+����}�D���{j�f8�(ȯ�~)�����$���Mՠ�\u001bGA_y��^��+��9Q]\u000fUaXԣ\u001a�������<3�o�䷸���W�_\u0006�\u0000jI��`ӵ�/\u0013\u001c\t��'�z���ٯL�Z�w�\"�]��\u000e����7�k�x#P�+�g\n\u000f\u000e\u0014⼹ө�w�\u001f��\u0019�n��K4���9��~V�tK�g�����\u0000\u0018�������;�)\u001b�bpk��\u001d���ztefX���Bǐk��!M�Z1���S�}j�w\u0002E�9^�6�ۊ�\u0019>\u0014�\u0019��\u001am��\"X\u0011�C�)�M���{��@�1���8�0g���;{���^���k�;�\u001a�Q����\n��~�Q\u0019�j�:��sǥc*0��@|ͫ~�v\r6�\u001b͠�jf��\u001b��u\u001c�7�Ul�\n��;�5#2��D�ԥ�@崛S���Z#�,+�\u0013�Z1�8&��Z�\u0004�Y7\u0016�6Ȯ�\u0015\u0015d\u0006��\u0006��U�z�\u00134m�\u0015z��'�1\u001b����YXz\u0012*\u000b)U�\u001e=�Z5\u0005}jM\u0011K��M\f'��^Ho�=c��ID����\b�d��\u0005Co\"�zӆ�(������bq�[\u0001�u��Å�k�&KV8�;���y�߆�����kU�y\u0016�2��\u0000i�\n�m\u000f���ď\u0017Zi�F�\fq�H\u00128c\u0005���5���Ц�ow�+�V��KnT6k�����n4��ia��g��\u00165�\u0018\u000e\u000bc�{f��t�m[+^�K�wVz�H\u00075�\u0014���5�\u0016ڌ�����O��\u0019lԎ�k�j�K\u0018�^TVu���w�Hf\f2\u000ei�θ�b�8\u0018�[�\r���+��\u001b5\u001b�#֪�ou�ݹ\u001b\u001cVUƎ��Z�)�Q��\u0015�u����֘�2{\u0016L�*&�� ��4q���{����1X�rU���*\\2��X�n��}��*�9n�\u0007j�o1�櫴;p\u000fJ�\u0018�#C��ʢ���\u0003���E�\t2�\t\\����u����\u0001P��K\u001c|��9�v�e��\u0002�So�=W�Z\u0012Xm\u001cu��=���q�\u0014�,�8�����ݗmQ%jP��\u001d�G�@\t�6�sv\u0014��\u0004���7\n��U�j�H7.\u0007z��D�8�\f\u001a��a�X\u0003\r��٤3\u001fȅ�\u0007\u00038�k�+�t�$�e�\fqU��ךbc��O�i�\u000f\u0015��ً�\"�E!�|QZr�-\u001b�t����C� �\u001d�M�kN*�������/?������(���?`]:��\u001fPk�/��\n�\u0013�\u0011ZNL��\u00060M��\u0007����>�\u0003���k�����˙ �5��7\u0010�98\u001c��VX�4j��/y\u001c�S�^�k;�.�b�y\f��}k�π�\u0000��φ�t�\u0013����\u0000K�yOf���\u0004�Lr[Ię�}�a��k,xđ���^-9J�R��9ӳ?i<-�7ĚLWV7\u0011�B�\u0019]\u001b9�>��<��\\������\u001b�\u001f\u000bo�Cr�\u001a~��BJ��ҿA>\u0010�~�>(��=��Ey��[��\u0003^�\u001cTj{�ћ�\u001fQx3��Zƨ�)Z��\u001f�k�?�\u001e\u001f�.���?\u0011E=�x�9cH|�\u001b���6@���_���K��\u0011\\�L�K\u001be]\t\u0004{��_�\r��j5�J���O-<�,\u0002����r��oaƥՎz�B��kN�V�Ks\u0002��\u0016;�y�s늱��GQ�.\u0016;+Y.��\u0002Ƥ�+C�\u001e\f�|+'��YMf�ݶD+�L�D��s\u000bs��I�,�嗝��P5��r�g\u0018\u0007�~�~��\u0000�W�ߋ\rt�\u0011�ؾ��bh��ca��\u001d�\n2��P�ǘ��C���1�3O�G��g��3�+�[T��>\u0014|6��Ե;+[kkt���m�̏ڃ�/��y��\u001f�l��lP�\u0013 \u0000��˜~\u0003�%M�M\\��Ihx���l\u0015\b>���^G;�M_�Ӟ�L ,s�f����췯�H�&[Y-�z�ĉ�G|f�{���4\u001a��\u000f\u0011�G\r���\u0012;\u0000\u0015\u0014��\u001f��\u0000�\u001f�u\r>)��`2\f�=@���~\u000f��z'ûH�\u001b5��~��'?�{*��\fj�@����)�\u0015�3�SIj~x������>�t�=�k���\u0000�~���o�\b�����\u0007\u0002��\u0011F2YG�]\u000b\u000bK�\\���O�\u0000�{鬪n�$f\u001f�t:w�a�\u001f\u0007���<�\u0010�|��\u0015�tz��d\t���|E�u~��A�_\u0004�v�\u0017�\f^\\Fթ\u001ft{�Ҧ�hэ�'e��_���\u0003���\bk_\u000ft\u001bX�@�=\u0015J�n?���\u0005X��j�Ԟt��X�y�P�V\u001f��c������\"3i�~\u0017���.�\u0016���|�W\u0013�@�$\n�����\u001c��?�\u0017��<[��g�\u0012]g�1$s�W���]��\u0000�K?h\r\t\u001b��q�8ʩ`?0+�Y|O��/�V�}\r�V�*3H�G\u0003�]дug\\��\u0002�ڟ�j���0��4�e��E�\t�ǽ|=ol�->��\"\u0002�\u000f�k�������>��I�!\u001e ����>c����U�wz֩yx#\u0011���fU������f��J\u0012~�9*J�5��Iy�ҫ�\u0000gIp��\u0015�41o&d`�\u0000�n\u0016�\u0016���W\u0004�%t�[�\u0016�\u000f\u001c�:Uı�${F�N1��_mY.�0�\u0017}���5�7�o�\u0012���\rCX�\u000f\u001c�XE\u0011��=kHS�Gd8�|���CU�\u0004�U���3\u001c.�>��\u001d|8��\tg\u0005ƨ���$\"1������ x��߳���X����n\"�\u0000��8���_�?\u0013�O�~\"�S�%$�>\\C�ƽ��%ME�vi�s�\u001a�H�T�=�S�~\u0014�$jW^\u001a��}�I\u0001Q�\u0018��\u0003�[A�����.h�}+����[��\u001dv��Vn%N��_K�w�\u0016��K\u0014����da�\u0018W�\u000fڞ�(�\u001c2�&��\u001a�<\f���@��cr?�i\u001cMJ~h�RQvg�|�&����C�\u0004*��,�\u0011y��=>���X�\"k��uk���\r?�\u0013MF^dԦ s��֏\u001d>�3�G鄞0Ҷ�א����r~4�\u0000�S�V-\u0005���\u001cpۆk����W�M\u0006o��\r�\u0012\u001eƕ|M5Ď\r�X'n\\���Զ�BsGa���o�5\u0012�m�s��£\u0003��3�j\u001e\u001a�\"���xe���=}����\u0019cm�3��r{��\u0016�\u0018Ӗ8�\u0000�p��Z����}������Җ\u001f\u0010N��¸i\u000fF�^�7�1�uRuH�zc�����\n�k\u0011�U��L`d�1�uC\u0015Y+\u0017�\u000fџ�jo\u0005�!Eԕ��\u001dk6�\u0000���ld�}���S_�?id�8$c�څ��?,H�sZ}f�q�~��SxR&@.��6�\u00178��o�G�>P��W8�\u0004W�Z�\u0012;(,[\u0007�ԏX���\fp��\u0002����h�c�L��