udata 9.1.4.dev31143__py2.py3-none-any.whl → 9.1.4.dev31182__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of udata might be problematic. Click here for more details.

Files changed (22) hide show
  1. udata/core/activity/api.py +14 -1
  2. udata/static/chunks/{11.18f1cc16362b76373c40.js → 11.c4fec2b97bfd90327442.js} +3 -3
  3. udata/static/chunks/{11.18f1cc16362b76373c40.js.map → 11.c4fec2b97bfd90327442.js.map} +1 -1
  4. udata/static/chunks/{19.2061dca8438f415029a3.js → 19.4554a08228342423184e.js} +3 -3
  5. udata/static/chunks/{19.2061dca8438f415029a3.js.map → 19.4554a08228342423184e.js.map} +1 -1
  6. udata/static/chunks/{5.d17ff266ecc1ad0331fb.js → 5.dbeb9a6f04a746965a39.js} +3 -3
  7. udata/static/chunks/{5.d17ff266ecc1ad0331fb.js.map → 5.dbeb9a6f04a746965a39.js.map} +1 -1
  8. udata/static/chunks/{6.0db5d3ff22944de7edd5.js → 6.a6743fa06e1e94ef8dc0.js} +3 -3
  9. udata/static/chunks/{6.0db5d3ff22944de7edd5.js.map → 6.a6743fa06e1e94ef8dc0.js.map} +1 -1
  10. udata/static/chunks/{8.292c6a157d71f0b21b6f.js → 8.0b473c6a35cc483ec333.js} +2 -2
  11. udata/static/chunks/{8.292c6a157d71f0b21b6f.js.map → 8.0b473c6a35cc483ec333.js.map} +1 -1
  12. udata/static/common.js +1 -1
  13. udata/static/common.js.map +1 -1
  14. udata/tests/api/test_activities_api.py +69 -0
  15. udata/tests/api/test_tags_api.py +2 -2
  16. udata/utils.py +12 -0
  17. {udata-9.1.4.dev31143.dist-info → udata-9.1.4.dev31182.dist-info}/METADATA +2 -1
  18. {udata-9.1.4.dev31143.dist-info → udata-9.1.4.dev31182.dist-info}/RECORD +22 -21
  19. {udata-9.1.4.dev31143.dist-info → udata-9.1.4.dev31182.dist-info}/LICENSE +0 -0
  20. {udata-9.1.4.dev31143.dist-info → udata-9.1.4.dev31182.dist-info}/WHEEL +0 -0
  21. {udata-9.1.4.dev31143.dist-info → udata-9.1.4.dev31182.dist-info}/entry_points.txt +0 -0
  22. {udata-9.1.4.dev31143.dist-info → udata-9.1.4.dev31182.dist-info}/top_level.txt +0 -0
udata/static/common.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e){function __webpack_require__(a){if(c[a])return c[a].exports;var f=c[a]={exports:{},id:a,loaded:!1};return e[a].call(f.exports,f,f.exports,__webpack_require__),f.loaded=!0,f.exports}var a=window.webpackJsonp;window.webpackJsonp=function(r,b){for(var t,d,_=0,n=[];_<r.length;_++)d=r[_],f[d]&&n.push.apply(n,f[d]),f[d]=0;for(t in b){var i=b[t];switch(typeof i){case"object":e[t]=function(a){var c=a.slice(1),f=a[0];return function(a,r,b){e[f].apply(this,[a,r,b].concat(c))}}(i);break;case"function":e[t]=i;break;default:e[t]=e[i]}}for(a&&a(r,b);n.length;)n.shift().call(null,__webpack_require__);if(b[0])return c[0]=0,__webpack_require__(0)};var c={},f={31:0};__webpack_require__.e=function(e,a){if(0===f[e])return a.call(null,__webpack_require__);if(void 0!==f[e])f[e].push(a);else{f[e]=[a];var c=document.getElementsByTagName("head")[0],r=document.createElement("script");r.type="text/javascript",r.charset="utf-8",r.async=!0,r.src=__webpack_require__.p+"chunks/"+e+"."+{0:"8f152ff3f1e15e3d8778",1:"c53dfc91009cfdf4583b",2:"c6dba6a3f04d53321e86",3:"31f4515503a814e0e3a3",4:"3720aa269a60fa6d03b4",5:"d17ff266ecc1ad0331fb",6:"0db5d3ff22944de7edd5",7:"6ce1bc0456cf60b71a71",8:"292c6a157d71f0b21b6f",9:"8ad948dd393d38f07a7a",10:"c1c9496ebfc8949f3de2",11:"18f1cc16362b76373c40",12:"576e63b7a990f8eab784",13:"fd1ca1cf5b2c1854ed51",14:"42393a4d555321f07b8b",15:"7de380008f4ec6ea4b5b",16:"6727d8aca9393baa855c",17:"4687eae5e18d3049fe7b",18:"b7098bfe5401f75973fa",19:"2061dca8438f415029a3",20:"17e9e766625991aa0a7b",21:"2b48c7e5fe59775d5eb3",22:"2a919b7f6014457264e8",23:"3e0c3e2e54035b03f0cd",24:"90ea877940aa6e51aa05",25:"f58e4af656779957db54",26:"980f1773d9ad3068ab73",27:"d27b63112823e700bf20",28:"1ef31a46255dc2bf56d1",29:"056b71a60b1ba45eb81b",30:"01f57358f352314e7df0",32:"92a026dcad120ccdf15f",33:"c1ee77b51bb867f3d7cd"}[e]+".js",c.appendChild(r)}},__webpack_require__.m=e,__webpack_require__.c=c,__webpack_require__.p="/static/"}(function(e){for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a))switch(typeof e[a]){case"function":break;case"object":e[a]=function(a){var c=a.slice(1),f=e[a[0]];return function(e,a,r){f.apply(this,[e,a,r].concat(c))}}(e[a]);break;default:e[a]=e[e[a]]}return e}([]));
1
+ !function(e){function __webpack_require__(a){if(c[a])return c[a].exports;var f=c[a]={exports:{},id:a,loaded:!1};return e[a].call(f.exports,f,f.exports,__webpack_require__),f.loaded=!0,f.exports}var a=window.webpackJsonp;window.webpackJsonp=function(r,b){for(var t,_,d=0,n=[];d<r.length;d++)_=r[d],f[_]&&n.push.apply(n,f[_]),f[_]=0;for(t in b){var i=b[t];switch(typeof i){case"object":e[t]=function(a){var c=a.slice(1),f=a[0];return function(a,r,b){e[f].apply(this,[a,r,b].concat(c))}}(i);break;case"function":e[t]=i;break;default:e[t]=e[i]}}for(a&&a(r,b);n.length;)n.shift().call(null,__webpack_require__);if(b[0])return c[0]=0,__webpack_require__(0)};var c={},f={31:0};__webpack_require__.e=function(e,a){if(0===f[e])return a.call(null,__webpack_require__);if(void 0!==f[e])f[e].push(a);else{f[e]=[a];var c=document.getElementsByTagName("head")[0],r=document.createElement("script");r.type="text/javascript",r.charset="utf-8",r.async=!0,r.src=__webpack_require__.p+"chunks/"+e+"."+{0:"8f152ff3f1e15e3d8778",1:"c53dfc91009cfdf4583b",2:"c6dba6a3f04d53321e86",3:"31f4515503a814e0e3a3",4:"3720aa269a60fa6d03b4",5:"dbeb9a6f04a746965a39",6:"a6743fa06e1e94ef8dc0",7:"6ce1bc0456cf60b71a71",8:"0b473c6a35cc483ec333",9:"8ad948dd393d38f07a7a",10:"c1c9496ebfc8949f3de2",11:"c4fec2b97bfd90327442",12:"576e63b7a990f8eab784",13:"fd1ca1cf5b2c1854ed51",14:"42393a4d555321f07b8b",15:"7de380008f4ec6ea4b5b",16:"6727d8aca9393baa855c",17:"4687eae5e18d3049fe7b",18:"b7098bfe5401f75973fa",19:"4554a08228342423184e",20:"17e9e766625991aa0a7b",21:"2b48c7e5fe59775d5eb3",22:"2a919b7f6014457264e8",23:"3e0c3e2e54035b03f0cd",24:"90ea877940aa6e51aa05",25:"f58e4af656779957db54",26:"980f1773d9ad3068ab73",27:"d27b63112823e700bf20",28:"1ef31a46255dc2bf56d1",29:"056b71a60b1ba45eb81b",30:"01f57358f352314e7df0",32:"92a026dcad120ccdf15f",33:"c1ee77b51bb867f3d7cd"}[e]+".js",c.appendChild(r)}},__webpack_require__.m=e,__webpack_require__.c=c,__webpack_require__.p="/static/"}(function(e){for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a))switch(typeof e[a]){case"function":break;case"object":e[a]=function(a){var c=a.slice(1),f=e[a[0]];return function(e,a,r){f.apply(this,[e,a,r].concat(c))}}(e[a]);break;default:e[a]=e[e[a]]}return e}([]));
2
2
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///common.js","webpack:///webpack/bootstrap ca380b10791e5e6eaa83"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","parentJsonpFunction","window","chunkIds","moreModules","chunkId","i","callbacks","length","installedChunks","push","apply","_m","args","slice","templateId","a","b","c","this","concat","shift","31","e","callback","undefined","head","document","getElementsByTagName","script","createElement","type","charset","async","src","p","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","32","33","appendChild","m","Object","prototype","hasOwnProperty","fn"],"mappings":"CAAS,SAAUA,GCwDnB,QAAAC,qBAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAE,OAGA,IAAAC,GAAAF,EAAAD,IACAE,WACAE,GAAAJ,EACAK,QAAA,EAUA,OANAP,GAAAE,GAAAM,KAAAH,EAAAD,QAAAC,IAAAD,QAAAH,qBAGAI,EAAAE,QAAA,EAGAF,EAAAD,QA3EA,GAAAK,GAAAC,OAAA,YACAA,QAAA,sBAAAC,EAAAC,GAIA,IADA,GAAAV,GAAAW,EAAAC,EAAA,EAAAC,KACQD,EAAAH,EAAAK,OAAoBF,IAC5BD,EAAAF,EAAAG,GACAG,EAAAJ,IACAE,EAAAG,KAAAC,MAAAJ,EAAAE,EAAAJ,IACAI,EAAAJ,GAAA,CAEA,KAAAX,IAAAU,GAAA,CACA,GAAAQ,GAAAR,EAAAV,EAGA,cAAAkB,IACA,aAEApB,EAAAE,GAAA,SAAAkB,GACA,GAAAC,GAAAD,EAAAE,MAAA,GAAAC,EAAAH,EAAA,EACA,iBAAAI,EAAAC,EAAAC,GACA1B,EAAAuB,GAAAJ,MAAAQ,MAAAH,EAAAC,EAAAC,GAAAE,OAAAP,MAEMD,EACN,MACA,gBAEApB,EAAAE,GAAAkB,CACA,MACA,SAEApB,EAAAE,GAAAF,EAAAoB,IAKA,IADAX,KAAAE,EAAAC,GACAG,EAAAC,QACAD,EAAAc,QAAArB,KAAA,KAAAP,oBACA,IAAAW,EAAA,GAEA,MADAT,GAAA,KACAF,oBAAA,GAKA,IAAAE,MAKAc,GACAa,GAAA,EA6BA7B,qBAAA8B,EAAA,SAAAlB,EAAAmB,GAEA,OAAAf,EAAAJ,GACA,MAAAmB,GAAAxB,KAAA,KAAAP,oBAGA,IAAAgC,SAAAhB,EAAAJ,GACAI,EAAAJ,GAAAK,KAAAc,OACI,CAEJf,EAAAJ,IAAAmB,EACA,IAAAE,GAAAC,SAAAC,qBAAA,WACAC,EAAAF,SAAAG,cAAA,SACAD,GAAAE,KAAA,kBACAF,EAAAG,QAAA,QACAH,EAAAI,OAAA,EAEAJ,EAAAK,IAAAzC,oBAAA0C,EAAA,UAAA9B,EAAA,KAAsE+B,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,wBAAk5B/D,GAAA,MACx9BqB,EAAA2C,YAAAxC,KAKApC,oBAAA6E,EAAA9E,EAGAC,oBAAAyB,EAAAvB,EAGAF,oBAAA0C,EAAA,YDIW,SAAS3C,GAEnB,IAAI,GAAIc,KAAKd,GACZ,GAAG+E,OAAOC,UAAUC,eAAezE,KAAKR,EAASc,GAChD,aAAcd,GAAQc,IACtB,IAAK,WAAY,KACjB,KAAK,SAEJd,EAAQc,GAAM,SAASM,GACtB,GAAIC,GAAOD,EAAGE,MAAM,GAAI4D,EAAKlF,EAAQoB,EAAG,GACxC,OAAO,UAAUI,EAAEC,EAAEC,GACpBwD,EAAG/D,MAAMQ,MAAOH,EAAEC,EAAEC,GAAGE,OAAOP,MAE9BrB,EAAQc,GACV,MACD,SAECd,EAAQc,GAAKd,EAAQA,EAAQc,IAKhC,MAAOd","file":"common.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// install a JSONP callback for chunk loading\n/******/ \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n/******/ \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules) {\n/******/ \t\t// add \"moreModules\" to the modules object,\n/******/ \t\t// then flag all \"chunkIds\" as loaded and fire callback\n/******/ \t\tvar moduleId, chunkId, i = 0, callbacks = [];\n/******/ \t\tfor(;i < chunkIds.length; i++) {\n/******/ \t\t\tchunkId = chunkIds[i];\n/******/ \t\t\tif(installedChunks[chunkId])\n/******/ \t\t\t\tcallbacks.push.apply(callbacks, installedChunks[chunkId]);\n/******/ \t\t\tinstalledChunks[chunkId] = 0;\n/******/ \t\t}\n/******/ \t\tfor(moduleId in moreModules) {\n/******/ \t\t\tvar _m = moreModules[moduleId];\n/******/\n/******/ \t\t\t// Check if module is deduplicated\n/******/ \t\t\tswitch(typeof _m) {\n/******/ \t\t\tcase \"object\":\n/******/ \t\t\t\t// Module can be created from a template\n/******/ \t\t\t\tmodules[moduleId] = (function(_m) {\n/******/ \t\t\t\t\tvar args = _m.slice(1), templateId = _m[0];\n/******/ \t\t\t\t\treturn function (a,b,c) {\n/******/ \t\t\t\t\t\tmodules[templateId].apply(this, [a,b,c].concat(args));\n/******/ \t\t\t\t\t};\n/******/ \t\t\t\t}(_m));\n/******/ \t\t\t\tbreak;\n/******/ \t\t\tcase \"function\":\n/******/ \t\t\t\t// Normal module\n/******/ \t\t\t\tmodules[moduleId] = _m;\n/******/ \t\t\t\tbreak;\n/******/ \t\t\tdefault:\n/******/ \t\t\t\t// Module is a copy of another module\n/******/ \t\t\t\tmodules[moduleId] = modules[_m];\n/******/ \t\t\t\tbreak;\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);\n/******/ \t\twhile(callbacks.length)\n/******/ \t\t\tcallbacks.shift().call(null, __webpack_require__);\n/******/ \t\tif(moreModules[0]) {\n/******/ \t\t\tinstalledModules[0] = 0;\n/******/ \t\t\treturn __webpack_require__(0);\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// object to store loaded and loading chunks\n/******/ \t// \"0\" means \"already loaded\"\n/******/ \t// Array means \"loading\", array contains callbacks\n/******/ \tvar installedChunks = {\n/******/ \t\t31:0\n/******/ \t};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId, callback) {\n/******/ \t\t// \"0\" is the signal for \"already loaded\"\n/******/ \t\tif(installedChunks[chunkId] === 0)\n/******/ \t\t\treturn callback.call(null, __webpack_require__);\n/******/\n/******/ \t\t// an array means \"currently loading\".\n/******/ \t\tif(installedChunks[chunkId] !== undefined) {\n/******/ \t\t\tinstalledChunks[chunkId].push(callback);\n/******/ \t\t} else {\n/******/ \t\t\t// start chunk loading\n/******/ \t\t\tinstalledChunks[chunkId] = [callback];\n/******/ \t\t\tvar head = document.getElementsByTagName('head')[0];\n/******/ \t\t\tvar script = document.createElement('script');\n/******/ \t\t\tscript.type = 'text/javascript';\n/******/ \t\t\tscript.charset = 'utf-8';\n/******/ \t\t\tscript.async = true;\n/******/\n/******/ \t\t\tscript.src = __webpack_require__.p + \"chunks/\" + chunkId + \".\" + {\"0\":\"8f152ff3f1e15e3d8778\",\"1\":\"c53dfc91009cfdf4583b\",\"2\":\"c6dba6a3f04d53321e86\",\"3\":\"31f4515503a814e0e3a3\",\"4\":\"3720aa269a60fa6d03b4\",\"5\":\"d17ff266ecc1ad0331fb\",\"6\":\"0db5d3ff22944de7edd5\",\"7\":\"6ce1bc0456cf60b71a71\",\"8\":\"292c6a157d71f0b21b6f\",\"9\":\"8ad948dd393d38f07a7a\",\"10\":\"c1c9496ebfc8949f3de2\",\"11\":\"18f1cc16362b76373c40\",\"12\":\"576e63b7a990f8eab784\",\"13\":\"fd1ca1cf5b2c1854ed51\",\"14\":\"42393a4d555321f07b8b\",\"15\":\"7de380008f4ec6ea4b5b\",\"16\":\"6727d8aca9393baa855c\",\"17\":\"4687eae5e18d3049fe7b\",\"18\":\"b7098bfe5401f75973fa\",\"19\":\"2061dca8438f415029a3\",\"20\":\"17e9e766625991aa0a7b\",\"21\":\"2b48c7e5fe59775d5eb3\",\"22\":\"2a919b7f6014457264e8\",\"23\":\"3e0c3e2e54035b03f0cd\",\"24\":\"90ea877940aa6e51aa05\",\"25\":\"f58e4af656779957db54\",\"26\":\"980f1773d9ad3068ab73\",\"27\":\"d27b63112823e700bf20\",\"28\":\"1ef31a46255dc2bf56d1\",\"29\":\"056b71a60b1ba45eb81b\",\"30\":\"01f57358f352314e7df0\",\"32\":\"92a026dcad120ccdf15f\",\"33\":\"c1ee77b51bb867f3d7cd\"}[chunkId] + \".js\";\n/******/ \t\t\thead.appendChild(script);\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/static/\";\n/******/ })\n/************************************************************************/\n/******/ ((function(modules) {\n\t// Check all modules for deduplicated modules\n\tfor(var i in modules) {\n\t\tif(Object.prototype.hasOwnProperty.call(modules, i)) {\n\t\t\tswitch(typeof modules[i]) {\n\t\t\tcase \"function\": break;\n\t\t\tcase \"object\":\n\t\t\t\t// Module can be created from a template\n\t\t\t\tmodules[i] = (function(_m) {\n\t\t\t\t\tvar args = _m.slice(1), fn = modules[_m[0]];\n\t\t\t\t\treturn function (a,b,c) {\n\t\t\t\t\t\tfn.apply(this, [a,b,c].concat(args));\n\t\t\t\t\t};\n\t\t\t\t}(modules[i]));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// Module is a copy of another module\n\t\t\t\tmodules[i] = modules[modules[i]];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn modules;\n}([])));\n\n\n/** WEBPACK FOOTER **\n ** common.js\n **/"," \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, callbacks = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId])\n \t\t\t\tcallbacks.push.apply(callbacks, installedChunks[chunkId]);\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tvar _m = moreModules[moduleId];\n\n \t\t\t// Check if module is deduplicated\n \t\t\tswitch(typeof _m) {\n \t\t\tcase \"object\":\n \t\t\t\t// Module can be created from a template\n \t\t\t\tmodules[moduleId] = (function(_m) {\n \t\t\t\t\tvar args = _m.slice(1), templateId = _m[0];\n \t\t\t\t\treturn function (a,b,c) {\n \t\t\t\t\t\tmodules[templateId].apply(this, [a,b,c].concat(args));\n \t\t\t\t\t};\n \t\t\t\t}(_m));\n \t\t\t\tbreak;\n \t\t\tcase \"function\":\n \t\t\t\t// Normal module\n \t\t\t\tmodules[moduleId] = _m;\n \t\t\t\tbreak;\n \t\t\tdefault:\n \t\t\t\t// Module is a copy of another module\n \t\t\t\tmodules[moduleId] = modules[_m];\n \t\t\t\tbreak;\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);\n \t\twhile(callbacks.length)\n \t\t\tcallbacks.shift().call(null, __webpack_require__);\n \t\tif(moreModules[0]) {\n \t\t\tinstalledModules[0] = 0;\n \t\t\treturn __webpack_require__(0);\n \t\t}\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// \"0\" means \"already loaded\"\n \t// Array means \"loading\", array contains callbacks\n \tvar installedChunks = {\n \t\t31:0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId, callback) {\n \t\t// \"0\" is the signal for \"already loaded\"\n \t\tif(installedChunks[chunkId] === 0)\n \t\t\treturn callback.call(null, __webpack_require__);\n\n \t\t// an array means \"currently loading\".\n \t\tif(installedChunks[chunkId] !== undefined) {\n \t\t\tinstalledChunks[chunkId].push(callback);\n \t\t} else {\n \t\t\t// start chunk loading\n \t\t\tinstalledChunks[chunkId] = [callback];\n \t\t\tvar head = document.getElementsByTagName('head')[0];\n \t\t\tvar script = document.createElement('script');\n \t\t\tscript.type = 'text/javascript';\n \t\t\tscript.charset = 'utf-8';\n \t\t\tscript.async = true;\n\n \t\t\tscript.src = __webpack_require__.p + \"chunks/\" + chunkId + \".\" + {\"0\":\"8f152ff3f1e15e3d8778\",\"1\":\"c53dfc91009cfdf4583b\",\"2\":\"c6dba6a3f04d53321e86\",\"3\":\"31f4515503a814e0e3a3\",\"4\":\"3720aa269a60fa6d03b4\",\"5\":\"d17ff266ecc1ad0331fb\",\"6\":\"0db5d3ff22944de7edd5\",\"7\":\"6ce1bc0456cf60b71a71\",\"8\":\"292c6a157d71f0b21b6f\",\"9\":\"8ad948dd393d38f07a7a\",\"10\":\"c1c9496ebfc8949f3de2\",\"11\":\"18f1cc16362b76373c40\",\"12\":\"576e63b7a990f8eab784\",\"13\":\"fd1ca1cf5b2c1854ed51\",\"14\":\"42393a4d555321f07b8b\",\"15\":\"7de380008f4ec6ea4b5b\",\"16\":\"6727d8aca9393baa855c\",\"17\":\"4687eae5e18d3049fe7b\",\"18\":\"b7098bfe5401f75973fa\",\"19\":\"2061dca8438f415029a3\",\"20\":\"17e9e766625991aa0a7b\",\"21\":\"2b48c7e5fe59775d5eb3\",\"22\":\"2a919b7f6014457264e8\",\"23\":\"3e0c3e2e54035b03f0cd\",\"24\":\"90ea877940aa6e51aa05\",\"25\":\"f58e4af656779957db54\",\"26\":\"980f1773d9ad3068ab73\",\"27\":\"d27b63112823e700bf20\",\"28\":\"1ef31a46255dc2bf56d1\",\"29\":\"056b71a60b1ba45eb81b\",\"30\":\"01f57358f352314e7df0\",\"32\":\"92a026dcad120ccdf15f\",\"33\":\"c1ee77b51bb867f3d7cd\"}[chunkId] + \".js\";\n \t\t\thead.appendChild(script);\n \t\t}\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/static/\";\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap ca380b10791e5e6eaa83\n **/"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///common.js","webpack:///webpack/bootstrap 40ce9b864b483cf58f7b"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","parentJsonpFunction","window","chunkIds","moreModules","chunkId","i","callbacks","length","installedChunks","push","apply","_m","args","slice","templateId","a","b","c","this","concat","shift","31","e","callback","undefined","head","document","getElementsByTagName","script","createElement","type","charset","async","src","p","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","32","33","appendChild","m","Object","prototype","hasOwnProperty","fn"],"mappings":"CAAS,SAAUA,GCwDnB,QAAAC,qBAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAE,OAGA,IAAAC,GAAAF,EAAAD,IACAE,WACAE,GAAAJ,EACAK,QAAA,EAUA,OANAP,GAAAE,GAAAM,KAAAH,EAAAD,QAAAC,IAAAD,QAAAH,qBAGAI,EAAAE,QAAA,EAGAF,EAAAD,QA3EA,GAAAK,GAAAC,OAAA,YACAA,QAAA,sBAAAC,EAAAC,GAIA,IADA,GAAAV,GAAAW,EAAAC,EAAA,EAAAC,KACQD,EAAAH,EAAAK,OAAoBF,IAC5BD,EAAAF,EAAAG,GACAG,EAAAJ,IACAE,EAAAG,KAAAC,MAAAJ,EAAAE,EAAAJ,IACAI,EAAAJ,GAAA,CAEA,KAAAX,IAAAU,GAAA,CACA,GAAAQ,GAAAR,EAAAV,EAGA,cAAAkB,IACA,aAEApB,EAAAE,GAAA,SAAAkB,GACA,GAAAC,GAAAD,EAAAE,MAAA,GAAAC,EAAAH,EAAA,EACA,iBAAAI,EAAAC,EAAAC,GACA1B,EAAAuB,GAAAJ,MAAAQ,MAAAH,EAAAC,EAAAC,GAAAE,OAAAP,MAEMD,EACN,MACA,gBAEApB,EAAAE,GAAAkB,CACA,MACA,SAEApB,EAAAE,GAAAF,EAAAoB,IAKA,IADAX,KAAAE,EAAAC,GACAG,EAAAC,QACAD,EAAAc,QAAArB,KAAA,KAAAP,oBACA,IAAAW,EAAA,GAEA,MADAT,GAAA,KACAF,oBAAA,GAKA,IAAAE,MAKAc,GACAa,GAAA,EA6BA7B,qBAAA8B,EAAA,SAAAlB,EAAAmB,GAEA,OAAAf,EAAAJ,GACA,MAAAmB,GAAAxB,KAAA,KAAAP,oBAGA,IAAAgC,SAAAhB,EAAAJ,GACAI,EAAAJ,GAAAK,KAAAc,OACI,CAEJf,EAAAJ,IAAAmB,EACA,IAAAE,GAAAC,SAAAC,qBAAA,WACAC,EAAAF,SAAAG,cAAA,SACAD,GAAAE,KAAA,kBACAF,EAAAG,QAAA,QACAH,EAAAI,OAAA,EAEAJ,EAAAK,IAAAzC,oBAAA0C,EAAA,UAAA9B,EAAA,KAAsE+B,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,EAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,wBAAk5B/D,GAAA,MACx9BqB,EAAA2C,YAAAxC,KAKApC,oBAAA6E,EAAA9E,EAGAC,oBAAAyB,EAAAvB,EAGAF,oBAAA0C,EAAA,YDIW,SAAS3C,GAEnB,IAAI,GAAIc,KAAKd,GACZ,GAAG+E,OAAOC,UAAUC,eAAezE,KAAKR,EAASc,GAChD,aAAcd,GAAQc,IACtB,IAAK,WAAY,KACjB,KAAK,SAEJd,EAAQc,GAAM,SAASM,GACtB,GAAIC,GAAOD,EAAGE,MAAM,GAAI4D,EAAKlF,EAAQoB,EAAG,GACxC,OAAO,UAAUI,EAAEC,EAAEC,GACpBwD,EAAG/D,MAAMQ,MAAOH,EAAEC,EAAEC,GAAGE,OAAOP,MAE9BrB,EAAQc,GACV,MACD,SAECd,EAAQc,GAAKd,EAAQA,EAAQc,IAKhC,MAAOd","file":"common.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// install a JSONP callback for chunk loading\n/******/ \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n/******/ \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules) {\n/******/ \t\t// add \"moreModules\" to the modules object,\n/******/ \t\t// then flag all \"chunkIds\" as loaded and fire callback\n/******/ \t\tvar moduleId, chunkId, i = 0, callbacks = [];\n/******/ \t\tfor(;i < chunkIds.length; i++) {\n/******/ \t\t\tchunkId = chunkIds[i];\n/******/ \t\t\tif(installedChunks[chunkId])\n/******/ \t\t\t\tcallbacks.push.apply(callbacks, installedChunks[chunkId]);\n/******/ \t\t\tinstalledChunks[chunkId] = 0;\n/******/ \t\t}\n/******/ \t\tfor(moduleId in moreModules) {\n/******/ \t\t\tvar _m = moreModules[moduleId];\n/******/\n/******/ \t\t\t// Check if module is deduplicated\n/******/ \t\t\tswitch(typeof _m) {\n/******/ \t\t\tcase \"object\":\n/******/ \t\t\t\t// Module can be created from a template\n/******/ \t\t\t\tmodules[moduleId] = (function(_m) {\n/******/ \t\t\t\t\tvar args = _m.slice(1), templateId = _m[0];\n/******/ \t\t\t\t\treturn function (a,b,c) {\n/******/ \t\t\t\t\t\tmodules[templateId].apply(this, [a,b,c].concat(args));\n/******/ \t\t\t\t\t};\n/******/ \t\t\t\t}(_m));\n/******/ \t\t\t\tbreak;\n/******/ \t\t\tcase \"function\":\n/******/ \t\t\t\t// Normal module\n/******/ \t\t\t\tmodules[moduleId] = _m;\n/******/ \t\t\t\tbreak;\n/******/ \t\t\tdefault:\n/******/ \t\t\t\t// Module is a copy of another module\n/******/ \t\t\t\tmodules[moduleId] = modules[_m];\n/******/ \t\t\t\tbreak;\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);\n/******/ \t\twhile(callbacks.length)\n/******/ \t\t\tcallbacks.shift().call(null, __webpack_require__);\n/******/ \t\tif(moreModules[0]) {\n/******/ \t\t\tinstalledModules[0] = 0;\n/******/ \t\t\treturn __webpack_require__(0);\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// object to store loaded and loading chunks\n/******/ \t// \"0\" means \"already loaded\"\n/******/ \t// Array means \"loading\", array contains callbacks\n/******/ \tvar installedChunks = {\n/******/ \t\t31:0\n/******/ \t};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId, callback) {\n/******/ \t\t// \"0\" is the signal for \"already loaded\"\n/******/ \t\tif(installedChunks[chunkId] === 0)\n/******/ \t\t\treturn callback.call(null, __webpack_require__);\n/******/\n/******/ \t\t// an array means \"currently loading\".\n/******/ \t\tif(installedChunks[chunkId] !== undefined) {\n/******/ \t\t\tinstalledChunks[chunkId].push(callback);\n/******/ \t\t} else {\n/******/ \t\t\t// start chunk loading\n/******/ \t\t\tinstalledChunks[chunkId] = [callback];\n/******/ \t\t\tvar head = document.getElementsByTagName('head')[0];\n/******/ \t\t\tvar script = document.createElement('script');\n/******/ \t\t\tscript.type = 'text/javascript';\n/******/ \t\t\tscript.charset = 'utf-8';\n/******/ \t\t\tscript.async = true;\n/******/\n/******/ \t\t\tscript.src = __webpack_require__.p + \"chunks/\" + chunkId + \".\" + {\"0\":\"8f152ff3f1e15e3d8778\",\"1\":\"c53dfc91009cfdf4583b\",\"2\":\"c6dba6a3f04d53321e86\",\"3\":\"31f4515503a814e0e3a3\",\"4\":\"3720aa269a60fa6d03b4\",\"5\":\"dbeb9a6f04a746965a39\",\"6\":\"a6743fa06e1e94ef8dc0\",\"7\":\"6ce1bc0456cf60b71a71\",\"8\":\"0b473c6a35cc483ec333\",\"9\":\"8ad948dd393d38f07a7a\",\"10\":\"c1c9496ebfc8949f3de2\",\"11\":\"c4fec2b97bfd90327442\",\"12\":\"576e63b7a990f8eab784\",\"13\":\"fd1ca1cf5b2c1854ed51\",\"14\":\"42393a4d555321f07b8b\",\"15\":\"7de380008f4ec6ea4b5b\",\"16\":\"6727d8aca9393baa855c\",\"17\":\"4687eae5e18d3049fe7b\",\"18\":\"b7098bfe5401f75973fa\",\"19\":\"4554a08228342423184e\",\"20\":\"17e9e766625991aa0a7b\",\"21\":\"2b48c7e5fe59775d5eb3\",\"22\":\"2a919b7f6014457264e8\",\"23\":\"3e0c3e2e54035b03f0cd\",\"24\":\"90ea877940aa6e51aa05\",\"25\":\"f58e4af656779957db54\",\"26\":\"980f1773d9ad3068ab73\",\"27\":\"d27b63112823e700bf20\",\"28\":\"1ef31a46255dc2bf56d1\",\"29\":\"056b71a60b1ba45eb81b\",\"30\":\"01f57358f352314e7df0\",\"32\":\"92a026dcad120ccdf15f\",\"33\":\"c1ee77b51bb867f3d7cd\"}[chunkId] + \".js\";\n/******/ \t\t\thead.appendChild(script);\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/static/\";\n/******/ })\n/************************************************************************/\n/******/ ((function(modules) {\n\t// Check all modules for deduplicated modules\n\tfor(var i in modules) {\n\t\tif(Object.prototype.hasOwnProperty.call(modules, i)) {\n\t\t\tswitch(typeof modules[i]) {\n\t\t\tcase \"function\": break;\n\t\t\tcase \"object\":\n\t\t\t\t// Module can be created from a template\n\t\t\t\tmodules[i] = (function(_m) {\n\t\t\t\t\tvar args = _m.slice(1), fn = modules[_m[0]];\n\t\t\t\t\treturn function (a,b,c) {\n\t\t\t\t\t\tfn.apply(this, [a,b,c].concat(args));\n\t\t\t\t\t};\n\t\t\t\t}(modules[i]));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// Module is a copy of another module\n\t\t\t\tmodules[i] = modules[modules[i]];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn modules;\n}([])));\n\n\n/** WEBPACK FOOTER **\n ** common.js\n **/"," \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, callbacks = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId])\n \t\t\t\tcallbacks.push.apply(callbacks, installedChunks[chunkId]);\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tvar _m = moreModules[moduleId];\n\n \t\t\t// Check if module is deduplicated\n \t\t\tswitch(typeof _m) {\n \t\t\tcase \"object\":\n \t\t\t\t// Module can be created from a template\n \t\t\t\tmodules[moduleId] = (function(_m) {\n \t\t\t\t\tvar args = _m.slice(1), templateId = _m[0];\n \t\t\t\t\treturn function (a,b,c) {\n \t\t\t\t\t\tmodules[templateId].apply(this, [a,b,c].concat(args));\n \t\t\t\t\t};\n \t\t\t\t}(_m));\n \t\t\t\tbreak;\n \t\t\tcase \"function\":\n \t\t\t\t// Normal module\n \t\t\t\tmodules[moduleId] = _m;\n \t\t\t\tbreak;\n \t\t\tdefault:\n \t\t\t\t// Module is a copy of another module\n \t\t\t\tmodules[moduleId] = modules[_m];\n \t\t\t\tbreak;\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);\n \t\twhile(callbacks.length)\n \t\t\tcallbacks.shift().call(null, __webpack_require__);\n \t\tif(moreModules[0]) {\n \t\t\tinstalledModules[0] = 0;\n \t\t\treturn __webpack_require__(0);\n \t\t}\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// \"0\" means \"already loaded\"\n \t// Array means \"loading\", array contains callbacks\n \tvar installedChunks = {\n \t\t31:0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId, callback) {\n \t\t// \"0\" is the signal for \"already loaded\"\n \t\tif(installedChunks[chunkId] === 0)\n \t\t\treturn callback.call(null, __webpack_require__);\n\n \t\t// an array means \"currently loading\".\n \t\tif(installedChunks[chunkId] !== undefined) {\n \t\t\tinstalledChunks[chunkId].push(callback);\n \t\t} else {\n \t\t\t// start chunk loading\n \t\t\tinstalledChunks[chunkId] = [callback];\n \t\t\tvar head = document.getElementsByTagName('head')[0];\n \t\t\tvar script = document.createElement('script');\n \t\t\tscript.type = 'text/javascript';\n \t\t\tscript.charset = 'utf-8';\n \t\t\tscript.async = true;\n\n \t\t\tscript.src = __webpack_require__.p + \"chunks/\" + chunkId + \".\" + {\"0\":\"8f152ff3f1e15e3d8778\",\"1\":\"c53dfc91009cfdf4583b\",\"2\":\"c6dba6a3f04d53321e86\",\"3\":\"31f4515503a814e0e3a3\",\"4\":\"3720aa269a60fa6d03b4\",\"5\":\"dbeb9a6f04a746965a39\",\"6\":\"a6743fa06e1e94ef8dc0\",\"7\":\"6ce1bc0456cf60b71a71\",\"8\":\"0b473c6a35cc483ec333\",\"9\":\"8ad948dd393d38f07a7a\",\"10\":\"c1c9496ebfc8949f3de2\",\"11\":\"c4fec2b97bfd90327442\",\"12\":\"576e63b7a990f8eab784\",\"13\":\"fd1ca1cf5b2c1854ed51\",\"14\":\"42393a4d555321f07b8b\",\"15\":\"7de380008f4ec6ea4b5b\",\"16\":\"6727d8aca9393baa855c\",\"17\":\"4687eae5e18d3049fe7b\",\"18\":\"b7098bfe5401f75973fa\",\"19\":\"4554a08228342423184e\",\"20\":\"17e9e766625991aa0a7b\",\"21\":\"2b48c7e5fe59775d5eb3\",\"22\":\"2a919b7f6014457264e8\",\"23\":\"3e0c3e2e54035b03f0cd\",\"24\":\"90ea877940aa6e51aa05\",\"25\":\"f58e4af656779957db54\",\"26\":\"980f1773d9ad3068ab73\",\"27\":\"d27b63112823e700bf20\",\"28\":\"1ef31a46255dc2bf56d1\",\"29\":\"056b71a60b1ba45eb81b\",\"30\":\"01f57358f352314e7df0\",\"32\":\"92a026dcad120ccdf15f\",\"33\":\"c1ee77b51bb867f3d7cd\"}[chunkId] + \".js\";\n \t\t\thead.appendChild(script);\n \t\t}\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/static/\";\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 40ce9b864b483cf58f7b\n **/"],"sourceRoot":""}
@@ -0,0 +1,69 @@
1
+ import pytest
2
+ from flask import url_for
3
+ from werkzeug.test import TestResponse
4
+
5
+ from udata.core.activity.models import Activity
6
+ from udata.core.dataset.factories import DatasetFactory
7
+ from udata.core.dataset.models import Dataset
8
+ from udata.core.reuse.factories import ReuseFactory
9
+ from udata.core.reuse.models import Reuse
10
+ from udata.core.user.factories import UserFactory
11
+ from udata.mongo import db
12
+ from udata.tests.helpers import assert200, assert400
13
+
14
+ pytestmark = [
15
+ pytest.mark.usefixtures("clean_db"),
16
+ ]
17
+
18
+
19
+ class FakeDatasetActivity(Activity):
20
+ key = "fakeDataset"
21
+ related_to = db.ReferenceField(Dataset, required=True)
22
+
23
+
24
+ class FakeReuseActivity(Activity):
25
+ key = "fakeReuse"
26
+ related_to = db.ReferenceField(Reuse, required=True)
27
+
28
+
29
+ class ActivityAPITest:
30
+ modules = []
31
+
32
+ def test_activity_api_list(self, api) -> None:
33
+ """It should fetch an activity list from the API"""
34
+ activities: list[Activity] = [
35
+ FakeDatasetActivity.objects.create(actor=UserFactory(), related_to=DatasetFactory()),
36
+ FakeReuseActivity.objects.create(actor=UserFactory(), related_to=ReuseFactory()),
37
+ ]
38
+
39
+ response: TestResponse = api.get(url_for("api.activity"))
40
+ assert200(response)
41
+ assert len(response.json["data"]) == len(activities)
42
+
43
+ def test_activity_api_list_filter_by_bogus_related_to(self, api) -> None:
44
+ """It should return a 400 error if the `related_to` parameter isn't a valid ObjectId."""
45
+ response: TestResponse = api.get(url_for("api.activity", related_to="foobar"))
46
+ assert400(response)
47
+
48
+ def test_activity_api_list_filtered_by_related_to(self, api) -> None:
49
+ """It should only return activities that correspond to the `related_to` parameter."""
50
+ dataset1: Dataset = DatasetFactory()
51
+ dataset2: Dataset = DatasetFactory()
52
+ reuse: Reuse = ReuseFactory()
53
+ _activities: list[Activity] = [
54
+ FakeDatasetActivity.objects.create(actor=UserFactory(), related_to=dataset1),
55
+ FakeDatasetActivity.objects.create(actor=UserFactory(), related_to=dataset1),
56
+ FakeDatasetActivity.objects.create(actor=UserFactory(), related_to=dataset2),
57
+ FakeReuseActivity.objects.create(actor=UserFactory(), related_to=reuse),
58
+ ]
59
+
60
+ response: TestResponse = api.get(url_for("api.activity", related_to=dataset1.id))
61
+ assert200(response)
62
+ len(response.json["data"]) == 2
63
+ assert response.json["data"][0]["related_to"] == dataset1.title
64
+ assert response.json["data"][1]["related_to"] == dataset1.title
65
+
66
+ response: TestResponse = api.get(url_for("api.activity", related_to=reuse.id))
67
+ assert200(response)
68
+ len(response.json["data"]) == 1
69
+ assert response.json["data"][0]["related_to"] == reuse.title
@@ -13,7 +13,7 @@ class TagsAPITest:
13
13
  def test_suggest_tags_api(self, api):
14
14
  """It should suggest tags"""
15
15
  for i in range(3):
16
- tags = [faker.word(), faker.word(), "test", "test-{0}".format(i)]
16
+ tags = [faker.tag(), faker.tag(), "test", "test-{0}".format(i)]
17
17
  ReuseFactory(tags=tags, visible=True)
18
18
  DatasetFactory(tags=tags, visible=True)
19
19
 
@@ -33,7 +33,7 @@ class TagsAPITest:
33
33
  def test_suggest_tags_api_with_unicode(self, api):
34
34
  """It should suggest tags"""
35
35
  for i in range(3):
36
- tags = [faker.word(), faker.word(), "testé", "testé-{0}".format(i)]
36
+ tags = [faker.tag(), faker.tag(), "testé", "testé-{0}".format(i)]
37
37
  ReuseFactory(tags=tags, visible=True)
38
38
  DatasetFactory(tags=tags, visible=True)
39
39
 
udata/utils.py CHANGED
@@ -18,6 +18,8 @@ from faker.providers import BaseProvider
18
18
  from faker.providers.lorem.la import Provider as LoremProvider
19
19
  from flask import abort
20
20
 
21
+ from udata import tags
22
+
21
23
 
22
24
  def get_by(lst, field, value):
23
25
  """Find an object in a list given a field value"""
@@ -277,6 +279,16 @@ PROVIDERS.remove("faker.providers.lorem")
277
279
  faker = Faker("fr_FR") # Use a unicode/utf-8 based locale
278
280
 
279
281
 
282
+ def tag() -> str:
283
+ fake_tag: str = faker.word()
284
+ while len(fake_tag) < tags.MIN_TAG_LENGTH:
285
+ fake_tag = faker.word()
286
+ return fake_tag
287
+
288
+
289
+ faker.tag = tag
290
+
291
+
280
292
  def faker_provider(provider):
281
293
  faker.add_provider(provider)
282
294
  factory.Faker.add_provider(provider)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: udata
3
- Version: 9.1.4.dev31143
3
+ Version: 9.1.4.dev31182
4
4
  Summary: Open data portal
5
5
  Home-page: https://github.com/opendatateam/udata
6
6
  Author: Opendata Team
@@ -145,6 +145,7 @@ It is collectively taken care of by members of the
145
145
  - Convert reuse to new API system [#3066](https://github.com/opendatateam/udata/pull/3066)
146
146
  - Fix circular import error [#3128](https://github.com/opendatateam/udata/pull/3128)
147
147
  - Add an option to specify the port when using `inv serve` [#3123](https://github.com/opendatateam/udata/pull/3123)
148
+ - Add a new `related_to` filter parameter to the activities API endpoint [#3127](https://github.com/opendatateam/udata/pull/3127)
148
149
 
149
150
  ## 9.1.3 (2024-08-01)
150
151
 
@@ -20,7 +20,7 @@ udata/tasks.py,sha256=hLdmHV7ozeq803BRjU6X3DT3oVsZrV1beQILpbjsfQI,4978
20
20
  udata/terms.md,sha256=nFx978tUQ3vTEv6POykXaZvcQ5e_gcvmO4ZgcfbSWXo,187
21
21
  udata/tracking.py,sha256=WOcqA1RlHN8EPFuEc2kNau54mec4-pvi-wUFrMXevzg,345
22
22
  udata/uris.py,sha256=Nxy-kvj46FhRDNW7sebFI-X7nFJEP5ViwgGQvAHmBW0,3561
23
- udata/utils.py,sha256=AbPqkgtdjuQScOCoTcZl3eDiEmU0p-agr1lqvEJwaS0,8661
23
+ udata/utils.py,sha256=a-iwHhbCgghIu0vi-D4-s8iHQSaXK6QwxGNGuksCm9w,8855
24
24
  udata/worker.py,sha256=K-Wafye5-uXP4kQlffRKws2J9YbJ6m6n2QjcVsY8Nsg,118
25
25
  udata/wsgi.py,sha256=MY8en9K9eDluvJYUxTdzqSDoYaDgCVZ69ZcUvxAvgqA,77
26
26
  udata/admin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -56,7 +56,7 @@ udata/commands/tests/test_fixtures.py,sha256=kFwqWA3Ha0mnCR5EE5aPz6jv3hfPheuwOMY
56
56
  udata/core/__init__.py,sha256=O7C9WWCXiLWnWPnPbFRszWhOmvRQiI4gD-5qkWvPGRo,385
57
57
  udata/core/owned.py,sha256=UEg5tp-ZunzC2avCdholpqibDIUZgFBsXS7BEcdnBy0,4567
58
58
  udata/core/activity/__init__.py,sha256=OaiFyq7HB4xL4SuMPD1N8IFNpntwx9ZayVzelciOieI,298
59
- udata/core/activity/api.py,sha256=blVYf3unQbkYbm8FY7jv0w7_W52Frghmj2vYATh9Tsc,3445
59
+ udata/core/activity/api.py,sha256=QFSLSVf65f-jz0dyVuMqaXm6qB4m-YlGnjqK33suwI8,3854
60
60
  udata/core/activity/models.py,sha256=Ln9YUsdCBMFmUlw5GA2gIJ50sMorMFzZGo8u8sy7pIE,2072
61
61
  udata/core/activity/signals.py,sha256=Io2A43as3yR-DZ5R3wzM_bTpn528pxWsZDUFZ9xtj2Y,191
62
62
  udata/core/activity/tasks.py,sha256=lEnISnHXPMeeErWIhJbSYOlxnrc6yAKC-T28qTEWQn0,1235
@@ -422,8 +422,8 @@ udata/static/admin.css,sha256=RC7GvbVK8c5wDuELPeVdQpy3ab7HbHl1T4hUo5n-NVk,185167
422
422
  udata/static/admin.css.map,sha256=tUhFfsJUK3RrWCih9gUkf-Ywccuztxf4tqvXcN6zP3Y,626542
423
423
  udata/static/admin.js,sha256=4dT1TxL-t0lHOWeuQNv4UNQdBPdNeNI1HyoAKdJ1oag,1327903
424
424
  udata/static/admin.js.map,sha256=rYa-YLNxQK7QNoMSkGC2Gg26sb6qtqhj6rWm2B5laMk,8511948
425
- udata/static/common.js,sha256=dhOwxrKK4Uwj1tpwR1QMlKDAvYhuWwCy55imeLLlrcI,2252
426
- udata/static/common.js.map,sha256=EfcNLExHJZ_hlxH-nUibh7Wo4x8WWKg0ay1bEWlQa6c,14137
425
+ udata/static/common.js,sha256=3eD-ijP8EUqHaTBh1HEpaBvwkxTiIKp2-6P6ZAuMrco,2252
426
+ udata/static/common.js.map,sha256=cCSNGH4ObAnptpWeaXojyFFUyNIYMOsZnE1iyTGfCpM,14137
427
427
  udata/static/fontawesome-webfont.eot,sha256=e_yrbbmdXPvxcFygU23ceFhUMsxfpBu9etDwCQM7KXk,165742
428
428
  udata/static/fontawesome-webfont.svg,sha256=rWFXkmwWIrpOHQPUePFUE2hSS_xG9R5C_g2UX37zI-Q,444379
429
429
  udata/static/fontawesome-webfont.ttf,sha256=qljzPyOaD7AvXHpsRcBD16msmgkzNYBmlOzW1O3A1qg,165548
@@ -442,8 +442,8 @@ udata/static/chunks/1.c53dfc91009cfdf4583b.js,sha256=_0SRYucqFnI1MFd_oc6jxiF62iD
442
442
  udata/static/chunks/1.c53dfc91009cfdf4583b.js.map,sha256=Qx0PVyJdsbJe2b4vJ5GO6jbQsqmB7LpZqmCqlWcmcp8,1740520
443
443
  udata/static/chunks/10.c1c9496ebfc8949f3de2.js,sha256=_c1TZ9A3QYiV16Ia4ZTOtCdgS4JcJroS6UsJpvJXpGo,414754
444
444
  udata/static/chunks/10.c1c9496ebfc8949f3de2.js.map,sha256=nUjRgXE2w07GZL2B3pmsW7PFExt9O1V7r7WeGs2IITo,2736101
445
- udata/static/chunks/11.18f1cc16362b76373c40.js,sha256=OsdV4LAscV5dG4OZr6Iz7s43SX4bRX47VO_w3sTTAHw,395574
446
- udata/static/chunks/11.18f1cc16362b76373c40.js.map,sha256=r3Qy-8c3rm4xyZPhiVNdBpCvQF0skPASzssvQ683oZ0,2268995
445
+ udata/static/chunks/11.c4fec2b97bfd90327442.js,sha256=cXxuuhoPiMhcrl_uY03MF6-vQOavdfCxUnHFPHGpiE8,395574
446
+ udata/static/chunks/11.c4fec2b97bfd90327442.js.map,sha256=V6_9pDxFBMWJgR8zOgFh53cI7jiJ25H9M80ulhU-2R4,2268995
447
447
  udata/static/chunks/12.576e63b7a990f8eab784.js,sha256=zYqbe5FZP9NI5Sv_9D-bOwq4JcxQjZpMj--3YE2iJ00,420868
448
448
  udata/static/chunks/12.576e63b7a990f8eab784.js.map,sha256=v5Vc1o2TJwPJX36_WeItlxKMfaCOZhbAIFoyVa0d4bo,2441014
449
449
  udata/static/chunks/13.fd1ca1cf5b2c1854ed51.js,sha256=P83sk30g5FSkpngTNv39pTEqSi4OGWFoIz136FdZZOQ,420359
@@ -458,8 +458,8 @@ udata/static/chunks/17.4687eae5e18d3049fe7b.js,sha256=Q50AMYCTzlZH3gSw0-dLD-c7yR
458
458
  udata/static/chunks/17.4687eae5e18d3049fe7b.js.map,sha256=Uf7ofeDK8Lg4Ga6htNiqIcmBpfAUhMq728sCOBq8xqY,681947
459
459
  udata/static/chunks/18.b7098bfe5401f75973fa.js,sha256=ntlr4y2ssL4wG8pPprUu7x23Uq81n7pSQym1nwQb1jk,50398
460
460
  udata/static/chunks/18.b7098bfe5401f75973fa.js.map,sha256=tPyhZOsDl9NOfS9X8c9e80nShe6OztZ-ZrS9e2Rq1co,277843
461
- udata/static/chunks/19.2061dca8438f415029a3.js,sha256=nERvnckvH5VSiFvBTAhq7ACCaaUAW1T5P6lZebOZYwU,203430
462
- udata/static/chunks/19.2061dca8438f415029a3.js.map,sha256=cqUcf1oMihUoiExcnuxCHss33qcb11NIOZx_fTYVzeI,1080009
461
+ udata/static/chunks/19.4554a08228342423184e.js,sha256=4hKFMvbJczW23moIHXI3FmYMS0LU1eU01GET3kcha1s,203430
462
+ udata/static/chunks/19.4554a08228342423184e.js.map,sha256=7eIxVHBzNQOzVVkCVcQzx-LScSIJX4un-LGB4q-iN5w,1080009
463
463
  udata/static/chunks/2.c6dba6a3f04d53321e86.js,sha256=Bq6jt0KQ6stPPHb27Uwem29GurSFw3yxRKv7QW7Dsng,276355
464
464
  udata/static/chunks/2.c6dba6a3f04d53321e86.js.map,sha256=5V4YKp8cnITwJzQGHSGDObwdHrDRNcfoq2v0M3XREzU,1554832
465
465
  udata/static/chunks/20.17e9e766625991aa0a7b.js,sha256=3d-hTgMZBST-fYU7dJyJaAQgMBUzqbfWKxMuImrfoX8,36778
@@ -490,14 +490,14 @@ udata/static/chunks/33.c1ee77b51bb867f3d7cd.js,sha256=o8FdS-Gqfy0aWTU2K1fCET_Y2Y
490
490
  udata/static/chunks/33.c1ee77b51bb867f3d7cd.js.map,sha256=iP97-8M1uyG97JTOKC8gUcc7gGHFR-SV0DFNVsFgCag,706989
491
491
  udata/static/chunks/4.3720aa269a60fa6d03b4.js,sha256=i7SWsrLWFQK9x95ScXBfC7D4yfVyQqqdKSGmh4mk55E,606703
492
492
  udata/static/chunks/4.3720aa269a60fa6d03b4.js.map,sha256=1oGQd0-EZaN1jQaNXSh8IsGBnNsLImIXAXt8XmvbcgE,3712817
493
- udata/static/chunks/5.d17ff266ecc1ad0331fb.js,sha256=Eb0wcj2dNNIyLl0qDwOhHSF0wxhtY69fD6lvbwVBYao,578685
494
- udata/static/chunks/5.d17ff266ecc1ad0331fb.js.map,sha256=cvnb85U8gEGcsGRktTdx6Xs_PPXz5ey1IOZa53nCaL8,3583618
495
- udata/static/chunks/6.0db5d3ff22944de7edd5.js,sha256=psE775ajRzyqoiAUwB5iPPJKzzSeqjQxj6krR2bvhGc,609578
496
- udata/static/chunks/6.0db5d3ff22944de7edd5.js.map,sha256=nIrUBSXBUfYuWsLDFxazvWVYSX3rOuDm-ajJphmYMKc,3781963
493
+ udata/static/chunks/5.dbeb9a6f04a746965a39.js,sha256=6eRZW0pxzi8OoyxgMPT74w4x1WdNLR8R4dFBY0qgxdA,578685
494
+ udata/static/chunks/5.dbeb9a6f04a746965a39.js.map,sha256=sd7oZMeS2SOU0GiRawk1NUYcSGgecVarR18gHBS4hQc,3583618
495
+ udata/static/chunks/6.a6743fa06e1e94ef8dc0.js,sha256=JFizPITiLyZASD1Gi-rxZjEZeE4npdCzsZKEsf3xPIs,609578
496
+ udata/static/chunks/6.a6743fa06e1e94ef8dc0.js.map,sha256=F7kkQ45x85iPqYiFD-s6_zpgNVNzS_FForIwcLoAcXQ,3781963
497
497
  udata/static/chunks/7.6ce1bc0456cf60b71a71.js,sha256=3VciyJI920D2bjkT28AxZ6xnoouUEjjSIUyB3iUhWNY,153013
498
498
  udata/static/chunks/7.6ce1bc0456cf60b71a71.js.map,sha256=An_Z-RqmY4LrX87JOkl1LhNctHRhrl2V9wJvgIYCef0,792279
499
- udata/static/chunks/8.292c6a157d71f0b21b6f.js,sha256=EpgPzfJnTbz-RfxtpU4RjjZQjOiqxUxAdxg49W2yEwA,222870
500
- udata/static/chunks/8.292c6a157d71f0b21b6f.js.map,sha256=8kPWd385Fi0nBGzpqalgcY0-dl0Fc5-8MflO722IqYc,1205115
499
+ udata/static/chunks/8.0b473c6a35cc483ec333.js,sha256=CJF2JtJGHh2TIiSUKMCG9vt-16QWFZMAI1R8szZvzSc,222870
500
+ udata/static/chunks/8.0b473c6a35cc483ec333.js.map,sha256=R-uIHFPjAS8uAa97CH7vQHL6pt3bDzvypEqKuxiyV5M,1205115
501
501
  udata/static/chunks/9.8ad948dd393d38f07a7a.js,sha256=f_STNW3kkPshGI2BcDnlvQybcrxP0tBq_w0sBig0u7E,416730
502
502
  udata/static/chunks/9.8ad948dd393d38f07a7a.js.map,sha256=FCjw1dvwaZ3duUHvwFqKTUKIDYrWqm7OPQ_MRG9-tso,2746345
503
503
  udata/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -597,6 +597,7 @@ udata/tests/test_transfer.py,sha256=_0pBwYs3T7OSZ7bO3KmQ81SjwCJyT4EVf8YYHXOkwdk,
597
597
  udata/tests/test_uris.py,sha256=MxafZ0SyzSNRomVpZnH1ChzWaHOi1MQiXe1gmKnBc6o,8517
598
598
  udata/tests/test_utils.py,sha256=3BGnlvw-GOE6tLHQteo-uUeYuzq4rsjePOuytFGkpOg,7967
599
599
  udata/tests/api/__init__.py,sha256=y4sL7LD1-KwONHF0q_Rhk2W6BmGUlp7Uz2JnX3e27sk,1218
600
+ udata/tests/api/test_activities_api.py,sha256=RjDDeNle3T-ydVnh6BRypqxAE_244-DXaKkuUCT0HVU,2823
600
601
  udata/tests/api/test_auth_api.py,sha256=0Y_JXQ4x8jvc_pp4g3H6gZ_X0QVGM6TaZ2IN9LeOWEg,21657
601
602
  udata/tests/api/test_base_api.py,sha256=2w_vz0eEuq3P3aN-ByvxGc3VZAo7XtgatFfcrzf2uEU,2244
602
603
  udata/tests/api/test_contact_points.py,sha256=pyakkKnM4lH_asuEoXq9lQyJC9to6ZxSp4QQrHh1c1U,1041
@@ -609,7 +610,7 @@ udata/tests/api/test_organizations_api.py,sha256=YcO2fWELdmPD4Oc8h5MTrLI-Gfbx16R
609
610
  udata/tests/api/test_reports_api.py,sha256=fCSz9NwMXBs6cxdXBVVI6y564AtovmZYw3xkgxQ9KE8,6217
610
611
  udata/tests/api/test_reuses_api.py,sha256=yDF7fssG4km6MfzBbBTrPaQ_Ay3E8W9OglSG_RHxlYk,18710
611
612
  udata/tests/api/test_swagger.py,sha256=eE6La9qdTYTIUFevRVPJgtj17Jq_8uOlsDwzCNR0LL8,760
612
- udata/tests/api/test_tags_api.py,sha256=wQR67DeRQvLn8fvgwUMpnT135xamo2fNSSqhEMm0v-g,2429
613
+ udata/tests/api/test_tags_api.py,sha256=36zEBgthVEn6pctJ0kDgPmEaUr-iqRAHeZRcRG2LEXQ,2425
613
614
  udata/tests/api/test_topics_api.py,sha256=s4pqHTWl3ly8HQd2YmVclHFrjrf0212u5iDSOTSBbZg,9375
614
615
  udata/tests/api/test_transfer_api.py,sha256=5cp4-O-nxkxDibsVbsG2lZ2qAsTBX2BpoMPTm8bvT8k,3085
615
616
  udata/tests/api/test_user_api.py,sha256=Xtme7l_15rHjTqSzjxNLv5Q8I_T5_eY2rIgzuNVJlRk,14357
@@ -696,9 +697,9 @@ udata/translations/pt/LC_MESSAGES/udata.mo,sha256=WpPzAqVd2Onv_kz45ULUySKPLrpjcc
696
697
  udata/translations/pt/LC_MESSAGES/udata.po,sha256=18Op9RUITewoDRewlOdYzzq6gjsf1lsvepACV1d7zxs,44976
697
698
  udata/translations/sr/LC_MESSAGES/udata.mo,sha256=NIYRNhVoETZUvIvWm3cCW7DtMBAnS2vXzZjMF5ZzD_c,28500
698
699
  udata/translations/sr/LC_MESSAGES/udata.po,sha256=rQB-4V4WJ7bURj6g2j653vItr5TMHadcLQxec7_fDmg,51545
699
- udata-9.1.4.dev31143.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
700
- udata-9.1.4.dev31143.dist-info/METADATA,sha256=cmYTKnza6rM9zflVa1Wbm7oSsIaxzVpHMVD87-hNuUY,128887
701
- udata-9.1.4.dev31143.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
702
- udata-9.1.4.dev31143.dist-info/entry_points.txt,sha256=3SKiqVy4HUqxf6iWspgMqH8d88Htk6KoLbG1BU-UddQ,451
703
- udata-9.1.4.dev31143.dist-info/top_level.txt,sha256=39OCg-VWFWOq4gCKnjKNu-s3OwFlZIu_dVH8Gl6ndHw,12
704
- udata-9.1.4.dev31143.dist-info/RECORD,,
700
+ udata-9.1.4.dev31182.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
701
+ udata-9.1.4.dev31182.dist-info/METADATA,sha256=FAE5py4hUle3w7sq8R5YzUjqa3BEwz2tvgIBWvmM3lo,129017
702
+ udata-9.1.4.dev31182.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
703
+ udata-9.1.4.dev31182.dist-info/entry_points.txt,sha256=3SKiqVy4HUqxf6iWspgMqH8d88Htk6KoLbG1BU-UddQ,451
704
+ udata-9.1.4.dev31182.dist-info/top_level.txt,sha256=39OCg-VWFWOq4gCKnjKNu-s3OwFlZIu_dVH8Gl6ndHw,12
705
+ udata-9.1.4.dev31182.dist-info/RECORD,,