// Package api provides primitives to interact with the openapi HTTP API. // // Code generated by github.com/deepmap/oapi-codegen version v1.9.0 DO NOT EDIT. package api import ( "bytes" "compress/gzip" "encoding/base64" "fmt" "net/url" "path" "strings" "github.com/getkin/kin-openapi/openapi3" ) // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ "H4sIAAAAAAAC/+R97XIbt7Lgq6DmblWSWoqUJX/Eun/Wx45PlOPE3kg+2apjlwTONElEQ4ABMKIZl6ru", "Q+yb7N6q/bH3176A7xttoRuYwXAwJCVLjm5ufjiSZgZodDf6C92Nj1mu5gslQVqTHX3MTD6DOccfnxkj", "phKKU24u3O8FmFyLhRVKZketp0wYxpl1P3HDhHW/a8hBXELBxitmZ8B+UfoC9DAbZAutFqCtAJwlV/M5", "lwX+LCzM8Yf/omGSHWX/NGqAG3nIRs/pg+xqkNnVArKjjGvNV+73X9XYfe3/bKwWcur/frbQQmlhV9EL", "QlqYgg5v0F8Tn0s+Tz/YPKax3FZbl+Pwd0JvuhVxc9EPSFWJwj2YKD3nNjuiPwzWX7waZBp+q4SGIjv6", "R3jJIcevpYYtWsIaliKUxFANGnq9r+dV418htw7AZ5dclHxcwg9qfALWOnA6nHMi5LQEZug5UxPG2Q9q", "zNxoJsEgMyVy+rE9zi8zkGwqLkEOWCnmwiKfXfJSFO7fCgyzyv3NAPODDNlrWa5YZRyMbCnsjBHScHI3", "d82CHeSvM1sBE16VtgvX6QyYf0hwMDNTS+mBYZUBzZYO9gIs6LmQOP9MmICSIQ0fjZmeov7LyCpVWrHw", "EwnZTOT4UU94DjgoFMK6pdOIHv4JLw0Musi1M9AOaF6Wasncp+uAMj6x7p0ZsF/VmM24YWMAyUw1ngtr", "oRiyX1RVFkzMF+WKFVACfVaWDD4IQwNyc2HYRGka+lc1HjAuCydA1HwhSveOsMN3smH0sVIlcIkruuRl", "Fz9vVnamJIMPCw3GCIXIHwNzb1fcQuFwpHRBCwx0AFxJm3Q1XDVtBl3WuIBVF4bjAqQVEwHaD1Kz/IDN", "K2MdPJUUv1XEiJ5ov/qNkJzHbQyup4m98EyuGHywmjOup9XcSZjAb+PFaug+NMMTNYc3tLdWX3/DckeG", "ykDh3sw1cAu0VL//VhEMzRZvJMs1WEjM51AIbqFcMQ1uKMZxqQVMhBTug4ETBDi9m3KAOFGV9RBxbUVe", "lVzXdOjhB1ONg/jcJHUTgurEf1lv9WuPcOo/vxRG+E12zRH+7r4UpRPA61Lc8ZiHbEfJe9KgYk0AV+M9", "94QwTjwX0MqeV1qDtOWKKScqeRgXmTgSlmbIzr9/dvL9dy/OXh6/+u7szbPT78/JECiEhtwqvWILbmfs", "v7Lzd9non/C/d9k544sFyAIKIiHIau7WNxElnLn3s0FWCB1+xD97pTXjZgbFWfPm+8Qe6aNLV4Z6DESr", "jzYmaQhu2PGLsGVw2U5w/KV08Osh+0kxCcaJE2N1ldtKg2Ffo4YwA1aI3E3FtQDzDeMamKkWC6Xt+tI9", "8ANnPBweuEWXittsgHy96yIj1ol3Zs2Mg5T2tApVRlvCsXP/zfkR4+WSrwy+NGTnKNdRnp4fEXvg1150", "vT0mXY4I9RpAs69LcQGMB6QxXhR7Sn4zZOdLGKeGWcK40VrIdXMu+RScUBuwcWWZVJYUqJ+F1BLy8ZCd", "z0RRgANQwiVoHPqf13nZi0YHKSkZ9yIiBw1YN7vkZVvWBGo1CKWZMhQ6Hi/ZIFvCeCvN0hwZjKCGT8h4", "Fob9iCjQpBmFRYnI505vJSymko+hvJ4l61e6uxWesvQ6RtKaCPPbmMCL5twmzxy2EjrvlTA2bGCUSP14", "6+IoWLc3W/FpS1H0LLeZIrXA4MZ0luUfMA3OeEFNzpkhm9kb345/4QPklYVt7lW/71IzUPQ4gJcmXPRJ", "akXfaa10dz1/BQla5AzcY6bBLJQ0kHIEi8Se+P709A0jb4W5N2oroR6IHbsdm5dVQWadw8aCr0rFC2bc", "Pue2QSBB28Kts0URNCHJrxJKDt/J526yR/uHTqWhkYQSBw1EbvmYG3BPxpVZDZkzxxHQABRbirJkuZKW", "C8k4++pnsHq198yZy1/RqzPgaH468IQsRM4tGG9QL2cinzEr5mSROlKAsSzn0ukmDVYLZ1u/VM4yD9LP", "DygMykfHJtzp4CAyvjKsWgTBl5cCpEXbVzGj5uDszynTwI2SKCFRasMH2gSCl2zM8ws1mZAsrB3QoLG6", "3u8cjOHTFO+tMRfSvXk/xVkvSz4Hmau/gzbeH9qRyy+bLzZDEV70MjIFxQ8UXeBl+XqSHf1js7Q4CS6Q", "++pqsA4wz624rHV1zPAvmt+CfVZyY1n4gjlnxjtKSSeBLPmUYHEP0BcSczCWzxcxJQtuYc89SY0pEsO9", "fXv8IkD4A8YWtoQldo2IOI1SB0SqRZFezWlYhIMBMUSvDndc1Br9EeCAumbaKFJSk+z91Xvihh/BcicM", "kKBFgW4ML9+0CN3BwZrfpsfCaq5XbO4H8za2GbIflUaJvyjhQ2xgejEwV86fRlVXOenGzvlwPMzP3fYn", "Oge38wLQlYMP3I3ldw9y9VF2stDCAnupxXTmTM7KgB7CnIvSQb0aa5D/beztXaWn4Q3acNkJvsBO7P/7", "v5dQRhqxtWtOIuMijSerK+j5tmaZYH8hHTASxWXuMEBBqUUJ1v8sCVlCyb0JF/RG/cOCO2meDbLfKqjw", "B67zmbiMfiRjnIbf88IXH+PPFdDzyuFkL54tafbVa3g+43IKXdlFQjcd46FnURDCK0IcangrW2xtH9Ts", "7sHqEYSn3FyYk2o+53qVivDNF6WYCChY6Y00ivIE/2DInpNuJP2LDxvb3v3JKWP3OnCnCbm56BoM+NXO", "5hvGWT3AO1hupm/l5r9XQGuO9hOGH7OjR06NNTKhb5ddDTKMPZ2NVxifXZc178NPZ0K2OL5mWc/N7686", "pj8B8jGbCynmbsM8SCvnz5ZcL0XpTJVxI7kGQQ69Ov7bd40YSkaR1GRioA3ofgrQBk8frxGaNTsKnL4V", "RSEBc51VRVRb3xI/g620JD/UsRcFn3nY0cIrdVxCKw69s6bscHQ/9/4MxkeuO07R7huKDJsbbiTvlz1X", "ciKmleY2adaZGZ9z+R1apEXyAIACjDNgJ/gqmwjn3WsuzQQ0e/bmGCNSwXMbpkOGVmk+hVcq5+lo+4s6", "noWOgJPGjkNwLv/xcKuBsT7LYG11aSyt/gaw+LmSMnmSclz7DcsIFUt0Bdmcr9gFwIJp+hyfpSXpvDNP", "F0uNmurROaTffq7V5QZog08WazNWK9rabqGFDNmxZWaG5wiVIY/onB455odz5pbiLds4mE9elJsEAz5T", "5f6V8MEO2bF3IoVh504UnA/YeRsJ5+zHtyenzs46x+D2eTrgvEbkNUTWWOvDUYroP8NUGAsaCvLpu9uC", "F4UGY655Vlly6+ziNAXVxC65hg3k3SYOfqkpQuKojsWc1aeH5npS/LNOO33IIqAqPvEMiBhkOcW6EcIs", "wkIP9ClqnUBeaWFXdfBjbWft6gVvcn9Jtj2fQX6hqsSB4wmgieXkkdcrdgZCs5Pvnx08esxy96Gp5gNm", "xO8YwB6vLBgKDBRgHAis9HIpRFByP1sTzF9zIXA2dIMxFH+UNUc5w6ki8ZYdZYePxvsPnz7ID56M9w8P", "D4sHk/HDR5N8/8m3T/mDg5zvPx4/KB4/3C8OHj1++uTb/fG3+08KeLT/sHiyf/AU9t1A4nfIjh48PHiI", "fjTNVqrpVMhpPNXjw/GTg/zx4fjpw4OHk+LB4fjp4ZP9yfjx/v7jp/vf7ueH/MGjJw+e5JNDXjx8ePD4", "8NH4wbdP8sf826eP9p88baY6eHLVNa0CRt4gAJ0TR25nTgprElBevwW5FZ+uhXFQrmEgq+TOvguxGa/J", "agLgGQo3LPe6EgoKAdSTDNmxZKosQDMfxTDBL/dj4bxLbtivlaFT8nf1ctjxi3cZ2d7BCPGjMFGHnDhB", "gUGhc2/W7pmymo5MDhL23G4b0WHm3vGLtqxsNrhnmR3tC4L9pSjhZAH5VlODBh+0ybR9NzWmUMr7cs/I", "aVmjSipN4Qbs4QMO64xxir8S6gsxmYDGaN2MS7Z0qtORslaXA8cc8aAYewRpKu0I54+Ym22M0Uok560w", "X4rU6xG+3UhSk7or4BaQi4nwEgrpgcaXl1Ue6MgUa5NmkSRJsMTCXolHDBAnPewZT0DYFrXxmMkxUM58", "7Dog0JbRicjqulk540FuDbLFbgj+RdhZE1fZCdUDb03lKM7GPagfMKWdhzRgBSxAFpjeI/G8itTvn5w2", "u9pKETl6ojAdqsbBgU3k7YTLKnkh1VJiTLNUvCC71BGsZX8266fBfiZoMJPE26s3NjzQ0GjhrteWuCOj", "4YsYCF9AvfUTv00vOoVKazWi1kSrOeNMR58FlTKISel9NNXe7qAvnd3xEocib04DQ0ZzmsS/5v4GH/zJ", "HE5Ip1nNCeCX4oFmY9b74W7YIp6o3m63zCuR+P5crqFUzLbgWNvinv7X1bm3JQg3CD2VX4A9fv2DGr/F", "CGoy0cmArTNMB8w4O0pdgmbhazrWpaQVCkSYIXvp1BgsMVA3cAYvXApVmTOC5pwsrHHD3GQEtRFwS0dm", "wZ9vD/QTn8fZW+lcwRbQ1wolxnnNdSbRo2SAVsNEg5md1cH4jTGf6OzZe0b+ezoGoNV8ZehAwNvBmJkk", "rc8EMsaf85mBt6fxV2dp4FGBkIW4FEXF6VSBLXGWKUjQFAdSbM7lKgzi80IXmudW5LzsTSu8PhL7s7iv", "e6T5GSeaiXNMn8cdZXq3abhpr7kN1Z+VfAISjyPrvUWkNs6BOB+Z6NtzBpfo0mCqp1U+xSvonOhN99Dt", "TU+vIXsexqTMtCnY+Dk5shhAdNQPVA6/l2qKvtKKSQCfRrMoRS5suQrTjoEEgMFDrFzY1aBeiPPJKGEt", "vOvGUJJSyb62CuFpTU3BTI5QfoOWkHvdvfKVcfAwDIU6iqakiFpsFaEJ0rwOAdFdk1lTg4QcpxCG6xdl", "lDxiVRsrI1bJ5g9O/Q+3C7w1HlaLTTmvm5ce2cA1GHhs2/yWNH/7UJE4fuCWXQhH0cm1cFCfZJflD2qM", "uQVlSfFTUxdqOA4p1XQjjKfcXLxS0z71d+pZnuWzSl547WcV480O1UrNWQEkpAt66FOlHAC4N/mlEoX7", "uKAltiVoimsd3N30EwdEzTIetCH7ka/qRKl5VVqxwOwjCRTEgg82ec6NYdltjHlKcd3r8VwYeZC10d/l", "Ozf8LqbHKWKy3/ZAZHSMD38ofjPrI84vunY2z25oowqhnUL0u5gxPgb/uXZMu5zqJt98SfXsMVgfV2xM", "O9rAiSQ8duFFenMTN/rjw8CPNzBt/bnVrVi3yzDW5zJG53zqM746y+tcnl0/bp383SWbXSPncQvnhXGS", "jBenNyYT2ZvjoKYczGmTkMu55v7vkjfz+dlp/sHhp//J/v1fPv3rp3/79L8//eu//8un//Pp3z79r9go", "Rm8nTiPxs5zl8yI7yj76X6/wwKGSF2cUATh0a7LOmTjjVSFUSDRxnrM/uBpp/HJkJiPnXtIByoODwyEO", "GRP5zU9/db8uTHZ08HCQTTSfu/2XPdh7sJ8NMjHnUzBnSp9digKUc8vwL9kgU5VdVJYKZeCDBUn8kA0X", "/lAal+Lf6sJFM9WQjdLo8hU9nfG0UnbjeFHUAm1s2PPY3KNPsk60JGaOLf5XnZO5a93uFv825oFtrl94", "td/5S+fVr3tkqQ2XLsI+DaYUlV1jTaUJIZpwHhTy1QdMDGHIxjBRGtgl1wIzvTUsSp5jCHB4PTviNku3", "7yJrmbLkzsars6U3rq+TLOi1WALWHW2ea5hHTsyfWVXls60agbS0XAU9jf8r6qzwkOCzG4buT2X7XaV5", "D7JlnUWzK8V3TQ1ft95SRfVx6Xy9mbZU0UeIu0bec53hXGeJGjWxe+uJzyl/spnwPiUpx/xzgyzlOOG3", "a6FUxjKQqprO4rofxsdUc+zFaqiPbIqzfXAS85qHPZbxzmbvfdp2N3VhduT9MFMfpTbFMOhZHQger2o/", "xhGIRqb6euK8d9X+/sFjCvah04MUwxIoqprDKtdnZcka6uFhlVpQpvA/M+UN1rUXxFQqDQX7GjWpCsWn", "52Fne+dcKstAc5+sWFfuhLr62OX9Zpv33kbHawl7pZC+qt4H1zEp5CvD8rp0e4Y11g60cJRHioG9vgS9", "dDa1YcF/KleE1hrMUICSVFSpyM4rNfURm1oGUPAoRCpCxbcDGqmCEwLXpaCaxWR45+QmUiLJXE0i5VoE", "j5hIA2bY5ICpNJjjKyRGQXy9YCJvYVMO5udJgQ2bLEya2kTNGncrUPPOaV0RsS7xxeIsWuPaqc4b5p91", "XP6NeadrvEyhWjllZmUszLeP9bk5pbvIr2jdrVzRpkAwnRt69b5T2+XLWNq6JYiuhmavRCq3IlQ3e9O1", "y4HXtWnXCb4ZN2H0flajPOW+1P0b5iFDrqks5K5p72dqkTg5xYaCUI9RMZWvr4OBkGZ81h+oufXlBi5P", "r7AD0YbVWm6hz0r00TEd1wDsHl1L2njRYDsBVfRBdQuwbIGgba4by7WlZCu+5Bcovk0J4NxXrDd3Ag6M", "f0VNJk6DJq3z/jBiosqIKsWdHo5tJF9i0STiuT+e+wOFhBlrzkr++2pzxU27esMf55PhEff7wZzApk8U", "yZXGWPG2mWETIYWZhdOMm57A70LFQb2+DfTscxz+wo3IN4j12/cJ/uhAdSSl2qjw1fhOSYWgLhl/nu+E", "CaVHN/Mk+oURaQqsuzhxS4gV4hmvUhmlbw1oN4GDKiqSOn4xYAtuzFLpIjwi1UCd5Ri34VUd6TtHZUQe", "MqljiWaJM2sX2ZWD0XEJdbaQlue2UQp1QwN2CtxpnkqX/ktzNBpNQohcqFG38PJn6qPzkuu5T5vAQrds", "kJUiB5/25+f565tXl4ed8ZfL5XAqq6HS05H/xoymi3LvcLg/BDmc2TnVcgtbtqD100W0OcoeDPeH+1iq", "uQDJFyI7yg7xT5S4ipQZ8YUY5eu1flPS9HX11nGB3UJsuyjQMQolDOJQB/v7AaUg8Xu+WJQ+X3n0qw9S", "EGNvY/tkESJSro1x6fZuWScuEv8FAeEgprymeJi6TUnUgMbyqaFSH8uxdLcZ4ztZLJTwSU5T31yvM2BN", "h3rQqwHhNhRuLpRJ4JQOayjhzKvTv6hidWt4bPe66OIP+xopfwyUxTvf6gqu7pDCGwBacsNMledgJlVZ", "rkIfKOf6edc6SiMzw7WOj7cCHdWMJeDDByyUhLXZjZDNeEhQRJZZ54yoQVDMeVSO2xruh9Csi9okgmfE", "NmuNfgs172kGw6Jin8pyFwzWlN0nkNWpWKBKBSyypoSs4ZfmuVaVdQLkn0igIFZrsTIIFT8wX9gVNU4Q", "EyYVpRbNuc1nWCoE9OH9YcmXYPNZ3enBIX4L070eY7pPUwc/wdJ7bA0qC2aUrtugNjzo1Ovoo/v3Jz6H", "q00aJHToane5+sfHTLil+HoKryLDgB0eGUQoW7de3t8h/3T7jPVIVHq2rop89lZoitbTMG4DcY7lRNVG", "rfGbK+pL2iGK2YEUJvuCGDMplNUvNf3iEtgrOz3lsN0apqXujMFmqlou/9r0N27h7yOdIfVzM+4tUt3b", "ebk+kOrn5G25cO//GG2MpnJKqoiGG0OLx+0KjT6SRdQ5Mo32kQHb+Fc91hMy8Ul9vvHFqHAnerR1zJcg", "xmnHs7cqFAbtokcf9paQ+OGc3cXzHBYWCtwMDw8O+s4VQ0OINkC+wx01+g69IkI4wdT1KjW7fEk1+VbC", "hwXkDmgM8gzpUKKfXUPEZr0bRlgXeaFhHQkOrgsvNooP7Nf0J5Ehrd5TCRqgFsTHAkx81mZqr+ye8MW6", "sOMebjwhrBtjhSVErLBZ/TinxvSsGDkIH40++kznLcrHZwPvYEnVidP3k3VwIT0ij6KQcqLuKVs0Kflb", "iJ/4oo/so1JNLaZSbiP/KzU9dS/eHy6w8MGOFiUXa1RYH6mf2KUiByOpsqhbV9z0Fb+Zcad6sKRiBfY+", "skrdLnQCy6iKYhZXHO3EQfEn9XjhnL9XkuxoT0Vn9l+UpW7foupkTv3pTSqSQX8Cm4oSYrDEdM5XbMYv", "gcFkArkN1e7YBpBG4IYtoSz9+yFK5vA2B+7jtrNqzqUhn6O52ORS8G5b+6E/IzHM7RE8jMPtREcNuKua", "TXXOhDQWOB6NhY0Xncr0ud5/rzMW7kylrjdmvnHwvHaUL5tDpTh+vjl8/jwqz6QWccLQsSfkF3WnN57b", "ipflivFmOt/JoEYrEWBvPrWjKL+iXzs2VXt3huMoSSSB3r9hz4UAa39AI0ojCYhs1poOz4VPA6vW7R3i", "9j8bMDf66E/ktpqYdcbPdl1QD3lvzcw6i7hDq3AuumOsY1kfKG+lmKN0ARZTfcN5ZW3N7kCeXfS2l6rd", "s+IvTbfb1+Ibzr/vgzq/J5q2l/t207eBndscOdK+3eVek6ffx3/0Yi0s7o4TWqlt/RsZ6U5AfdETpk6H", "0F3U7hdko2qNjdaEXQDfn2E2FZ4tPuvwWEMSp5SaL806RxkxlXtqMtnggoipfD2ZZLvszfuHSJ/5gpK2", "lfPyD0xCbXD2I9cXcbILd0Y85ZltwfZzXvqrBYLyt4qV3lYLZ8zOHsBmGl9pYFNFdzni8MM0SeQWisg7", "3dR+iv7tXFcZfsm93M2q/A+xmXfmwWeVnYG0VKfgCzMcN9S3ffUYOZ/NkBp4sXJvufGo122rWEQ0BO+y", "q/W1KEmTNSJZ9kdzBnW3Xu+g3RvXkor1f3G/Wer67EHeX9QZXWOgg8tVDxLSfLCXR4nFSeGVSEK+azu1", "niiVXVKrRlrnzWzS/8Ay55e4gwWFuiA01Q39S9HGdgKjhIJOiKlUzMuSvXakLPAKJjML2dzz5eUL6L1S", "5bxE0cZLc9vy7BJaq6lMh1Wtrw/vUa/5DIqqBH+Wc3eZGPGV4SnfyRdV1rlpfYLqJ+XDZ+37R6P0Ygp0", "7h/eXhZjq5N7Avg3oEOa3AuQgoTmw/2nvXVlPqrqNR3V7xI7DZhR4TFerwytO/1o6dj0gkm19DHdwy+r", "WsIu4tJBqSgmFDUmGleWrkulixW4VChnabddc8f6iBOvx4+wsW0rIU8Zz+A6kcGYDKr275WoGvVPcDjh", "V9K3F709FNUz3ExbnM4gjNU9jUhtkebQ1TDupUbMRsvQp8hfmt6MjXvmDwmPfKZaetsUKvveaquFyDEi", "HRfzLrSaajBm4O9+85djazbhoqw0bNUtQaMYkEUrpujQHUZ3UsxZRFu2yWjOV3tiT1f9Jw0/8pWPmlTy", "T5EnsHbrzp/LHzuNOjBH944m7g8SJlZNupJs1HOfEHvt6+bLupWfYZxRH4rYFG26QlCR1y5c3LHi0buL", "IFuDqe6B4viarlgahZbxI+riscFOat+0ckflEu1JUintcV/12pPx1058udhE8qaMBLjhDRTP4UqLqLYi", "1gJ3uzlqSHhJ/j91RPIG1MO7B+AUvcyl+4eohxajnA7ZWwPs3KxhtGm+fu7oTFdsMEQlFjGokGxxX2K3", "z+kim+iOfwqtmNW8FPKivq4Y7xQiDFA9jaV7RzxSnNnIy5IO3ccAklG3dNrRvre4b1TlNGS9tRvrrhEf", "hNQ18XHiAeLMxJsJgWndb8Q18LSwiHvj7yoyYpLeqfhI3c+wqyT5A4RI8nqCFLx1q0q8xluhBx4TYhCU", "VtBAvp8/LfF+7RW8/qK5OyjGgb9Uxd/zrrQ1fscTpbiuF7aV0585VeimaS71DjqzPWDjSvv8Fkp+ICga", "eYPvGivKsgEh2h443uhjuNvjavQR/yJ+31CSE7f5VxqeeyZcMxV3vrUF78fs2pXh1WtV8gy6d9f+DuvX", "ztR3liRmDavfZdbmEp/3d77jOlc79NehNTdy3LfdEzcaaK6gSF5G0rIoo42ySWrXHPmfmxkHKefcSxPR", "vsDBXwlXwAQ0q284Id2M2EAt/y472P/2XdY4GnVXLGyeP3Y2wnqCLS3P1JYbVeW2co5aBKcAFC+NojGM", "moOSwKA0OE7TDCsFJnILInAGvMDjZ4/C/7FH0+w953LvhVvn3lscIEvgMLoHNIVDpcVUSF7inG58vHmU", "um2VKu7OVV+9I2zdNUtIf3WOiMU1NtCqr+PiknGBbxQwruhKxB3W9toDtvfSA5ZtrXbcxZBRuQW7Z6wG", "Pm9LiNqfHwvp9vdge6b2c5rDrN3XdcPgFLJXJzR1sP/tttc9O7YYMcoafPjgSXIE7T93DgCW7rIx2CV4", "ZvfojEoKQ52hz1L0lwvj9tcduVMby4GX0b15lGie2rprZcuuDTuw2Tme8RZa5b7X1xjch/X841Vr35Ep", "cd67hY4YXrZLtfckXWJ0+JXcFw2EmsHHpPv1DvtJYVDP327Teoj7c6J0LsbliuWl8h0Bvz89fcNyJSXk", "mM/ie7pS5NMLXt8Px7ToBQw+8Nwyw+fgTUirsJOf+6RQlbPu6AMzfCcDVb/CCxxpN3leGEOKAmysilWv", "Ko1DmW6Kxq3oosWHpdzPpFCpBckoi85yu5cFtfIfO00NhDVQToaNPMNU4K7o/UGNQ6oBxjx/q0ALMIOo", "0cFgrTx02CqAM4lBn705brdaiE+a1XxeSd+L0Yn0bqeOtUTIxAT+vOXHGib27M3xoLkMO84fd5NS9wC3", "DEdbrcoAUWcyTNlLGBdEsHoW5PGG2zwGMZ7jfqcbssjNjefwDHL1/ur/BwAA///NSdAhTJgAAA==", } // GetSwagger returns the content of the embedded swagger specification file // or error if failed to decode func decodeSpec() ([]byte, error) { zipped, err := base64.StdEncoding.DecodeString(strings.Join(swaggerSpec, "")) if err != nil { return nil, fmt.Errorf("error base64 decoding spec: %s", err) } zr, err := gzip.NewReader(bytes.NewReader(zipped)) if err != nil { return nil, fmt.Errorf("error decompressing spec: %s", err) } var buf bytes.Buffer _, err = buf.ReadFrom(zr) if err != nil { return nil, fmt.Errorf("error decompressing spec: %s", err) } return buf.Bytes(), nil } var rawSpec = decodeSpecCached() // a naive cached of a decoded swagger spec func decodeSpecCached() func() ([]byte, error) { data, err := decodeSpec() return func() ([]byte, error) { return data, err } } // Constructs a synthetic filesystem for resolving external references when loading openapi specifications. func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error) { var res = make(map[string]func() ([]byte, error)) if len(pathToFile) > 0 { res[pathToFile] = rawSpec } return res } // GetSwagger returns the Swagger specification corresponding to the generated code // in this file. The external references of Swagger specification are resolved. // The logic of resolving external references is tightly connected to "import-mapping" feature. // Externally referenced files must be embedded in the corresponding golang packages. // Urls can be supported but this task was out of the scope. func GetSwagger() (swagger *openapi3.T, err error) { var resolvePath = PathToRawSpec("") loader := openapi3.NewLoader() loader.IsExternalRefsAllowed = true loader.ReadFromURIFunc = func(loader *openapi3.Loader, url *url.URL) ([]byte, error) { var pathToFile = url.String() pathToFile = path.Clean(pathToFile) getSpec, ok := resolvePath[pathToFile] if !ok { err1 := fmt.Errorf("path not found: %s", pathToFile) return nil, err1 } return getSpec() } var specData []byte specData, err = rawSpec() if err != nil { return } swagger, err = loader.LoadFromData(specData) if err != nil { return } return }