From 93c2f38e83dd12d3fefc5c26c953d3075a99b7c9 Mon Sep 17 00:00:00 2001 From: Chris Johnson Date: Thu, 17 Jan 2019 17:17:18 -0800 Subject: [PATCH 1/3] =?UTF-8?q?-=20Rename=20=E2=80=98owner=E2=80=99=20to?= =?UTF-8?q?=20=E2=80=98author=E2=80=99=20in=20collection=20config=20-=20La?= =?UTF-8?q?ndscape=20Commit=20f3f513e746826975118577d27aff288fb8c57d59=20-?= =?UTF-8?q?=20Landscape=20Hotfix;=20https://app.asana.com/0/64284253644054?= =?UTF-8?q?3/994812857755629/f?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/collections.hoon | 117 ++++++++++++++-------------- mar/collections/config.hoon | 34 ++++---- ren/collections/elem.hoon | 22 +++--- web/landscape/js/index-min.js | 2 +- web/landscape/profile.hoon | 2 +- web/landscape/profile/settings.hoon | 2 +- 6 files changed, 91 insertions(+), 88 deletions(-) diff --git a/lib/collections.hoon b/lib/collections.hoon index e3b21e81b..6cdafdf5a 100644 --- a/lib/collections.hoon +++ b/lib/collections.hoon @@ -4,7 +4,7 @@ /? 309 /- hall /+ cram, elem-to-react-json -:: :: +:: :: ~% %collections-lib ..is ~ |% +$ move [bone card] @@ -103,7 +103,7 @@ name=@t description=@t :: - owner=@p + author=@p :: date-created=@da last-modified=@da @@ -259,7 +259,7 @@ [%s a] :- %name [%s name.con] :- %desc [%s description.con] - :- %owner (ship:enjs:format owner.con) + :- %author (ship:enjs:format author.con) :- %date-created (time:enjs:format date-created.con) :- %last-modified (time:enjs:format last-modified.con) :- %type [%s type.con] @@ -339,7 +339,8 @@ |= [pax=path conf=config] ^- json %- pairs:enjs:format - :~ ['owner' [%s (crip (scow %p owner.conf))]] + :~ ['author' [%s (crip (scow %p author.conf))]] + ['host' [%s (crip (scow %p p.full-path.conf))]] ['path' [%a (turn pax |=(a=@ta `json`[%s a]))]] ['name' [%s name.conf]] ['date' [%s (crip (scow %da last-modified.conf))]] @@ -352,7 +353,8 @@ ~/ %coll-item-notify |= [pax=path raw=raw-item now=@da byk=beak] ^- json - =/ owner (fall (~(get by meta.raw) %owner) ~.anon) + =/ author (fall (~(get by meta.raw) %author) ~.anon) + =/ host (fall (~(get by meta.raw) %host) ~.anon) =/ dat (fall (~(get by meta.raw) %last-modified) (scot %da now)) =/ nom (fall (~(get by meta.raw) %name) ~.no-title) =/ typ (fall (~(get by meta.raw) %type) ~.no-type) @@ -360,8 +362,8 @@ =/ elm=manx elm:(static:cram (ream data.raw)) =/ snip=marl tal:(hedtal +.elm) =/ inner - ?~ snip - (crip (en-xml:html elm)) + ?~ snip + (crip (en-xml:html elm)) (crip (en-xml:html i.snip)) :: inner html :: =/ parent-spur (slag 1 (flop pax)) @@ -372,7 +374,7 @@ =/ parent-conf=json ?: (~(has in dir.parent-dir) ~.udon ~) %- meta-to-json - %- udon-to-front + %- udon-to-front .^(@t %cx (weld parent-path /udon)) ?: (~(has in dir.parent-dir) ~.collections-config ~) %- config-to-json @@ -380,7 +382,8 @@ ~ :: %- pairs:enjs:format - :~ ['owner' [%s owner]] + :~ ['author' [%s author]] + ['host' [%s host]] ['path' [%a (turn pax |=(a=@ta `json`[%s a]))]] ['name' [%s nom]] ['date' [%s dat]] @@ -436,8 +439,8 @@ :: ++ ta-this . :: - :: +ta-done: - :: + :: +ta-done: + :: :: flop :moves for finalization, since moves are prepended to the list :: ++ ta-done (flop moves) @@ -493,7 +496,7 @@ =/ perms .^([dict:clay dict:clay] %cp sap) ?: (allowed-by src.bol +.perms our.bol) (ta-remove pax.a) - ta-this + ta-this :: %perms ?: =(src.bol our.bol) :: XX admin privileges for other users? @@ -504,7 +507,7 @@ :: XX some of this is redunant :: %collection - =/ perms + =/ perms .^([dict:clay dict:clay] %cp (weld sap /[dat]/collections-config)) ?. (allowed-by src.bol +.perms our.bol) ta-this @@ -520,17 +523,17 @@ ~ visible.a == - =. ta-this - %+ ta-write (weld pax.a /[dat]/collections-config) + =. ta-this + %+ ta-write (weld pax.a /[dat]/collections-config) [%collections-config !>(conf)] :: restrict permissions on config file - =. ta-this - %^ ta-set-permissions (weld pax.a /[dat]/collections-config) + =. ta-this + %^ ta-set-permissions (weld pax.a /[dat]/collections-config) [%white ((set whom:clay) [[& src.bol] ~ ~])] :: read [%white ((set whom:clay) [[& src.bol] ~ ~])] :: write :: open permissions on collection items - =. ta-this - %^ ta-set-permissions (weld pax.a /[dat]) + =. ta-this + %^ ta-set-permissions (weld pax.a /[dat]) [%black ((set whom:clay) ~)] :: read [%black ((set whom:clay) ~)] :: write ta-this @@ -548,23 +551,23 @@ %- my :~ [%name name.a] [%comments ?:(comments.a ~..y ~..n)] - [%owner (scot %p src.bol)] + [%author (scot %p src.bol)] [%host (scot %p our.bol)] [%date-created (snag 0 (flop pax.a))] [%last-modified dat] [%type type.a] == - =. ta-this - %+ ta-write (weld pax.a /udon) + =. ta-this + %+ ta-write (weld pax.a /udon) [%udon !>((update-udon-front front content.a))] :: restrict permissions on udon file - =. ta-this - %^ ta-set-permissions (weld pax.a /udon) + =. ta-this + %^ ta-set-permissions (weld pax.a /udon) [%black ((set whom:clay) ~)] :: read [%white ((set whom:clay) [[& src.bol] ~ ~])] :: write :: open permissions on comments - =. ta-this - %^ ta-set-permissions pax.a + =. ta-this + %^ ta-set-permissions pax.a [%black ((set whom:clay) ~)] :: read [%black ((set whom:clay) ~)] :: write ta-this @@ -576,18 +579,18 @@ =. content.a (crip (weld (trip content.a) "\0a")) =/ front=(map knot cord) %- my - :~ [%owner (scot %p src.bol)] + :~ [%author (scot %p src.bol)] [%host (scot %p our.bol)] [%date-created dat] [%last-modified dat] [%type %comments] == - =. ta-this - %+ ta-write (weld pax.a /[dat]/udon) + =. ta-this + %+ ta-write (weld pax.a /[dat]/udon) [%udon !>((update-udon-front front content.a))] :: restrict permissions on udon file - =. ta-this - %^ ta-set-permissions (weld pax.a /[dat]/udon) + =. ta-this + %^ ta-set-permissions (weld pax.a /[dat]/udon) [%black ((set whom:clay) ~)] :: read [%white ((set whom:clay) [[& src.bol] ~ ~])] :: write ta-this @@ -620,7 +623,7 @@ :: %collection =. ta-this - %^ ta-hall-json parent-path 'new collection' + %^ ta-hall-json parent-path 'new collection' (collection-notify pax meta.col.new) :: =. ta-this (ta-hall-create-circle pax name.meta.col.new) @@ -643,18 +646,18 @@ :: %raw =. ta-this - %^ ta-hall-json - parent-path - 'new item' + %^ ta-hall-json + parent-path + 'new item' (item-notify pax raw.new now.bol byk.bol) ?: ?& (~(has by meta.raw.new) %comments) =('.y' (~(got by meta.raw.new) %comments)) == - =/ owner=(unit @ta) (~(get by meta.raw.new) %owner) - =/ owner-p=@p - ?~ owner our.bol - (fall (rush u.owner ;~(pfix sig fed:ag)) our.bol) - (ta-generate-comments pax owner-p) + =/ author=(unit @ta) (~(get by meta.raw.new) %author) + =/ author-p=@p + ?~ author our.bol + (fall (rush u.author ;~(pfix sig fed:ag)) our.bol) + (ta-generate-comments pax author-p) ta-this :: == @@ -673,8 +676,8 @@ (ta-hall-lin parent 'error') :: %collection - =. ta-this - %^ ta-hall-json parent 'deleted collection' + =. ta-this + %^ ta-hall-json parent 'deleted collection' (collection-notify pax meta.col.old) =. ta-this (ta-flush-permissions (weld pax /collections-config)) =/ items=(list [nom=@ta =item]) ~(tap by data.col.old) @@ -694,15 +697,15 @@ :: %raw =. ta-this (ta-flush-permissions pax) - %^ ta-hall-json - parent - 'deleted item' + %^ ta-hall-json + parent + 'deleted item' (item-notify pax raw.old now.bol byk.bol) :: == :: :: - :: + :: ++ ta-update-item :: always make sure removals happen first and insertions happen last :: because removals flush permissions and insertions set them @@ -782,20 +785,20 @@ :: =? ta-this !=(data.old data.new) =/ parent-path (scag (dec (lent pax)) pax) - %^ ta-hall-json - parent-path - 'edited item' + %^ ta-hall-json + parent-path + 'edited item' (item-notify pax new now.bol byk.bol) :: =? ta-this ?& =('.y' (fall (~(get by meta.new) %comments) '.n')) =('.n' (fall (~(get by meta.old) %comments) '.n')) == - =/ owner=(unit @ta) (~(get by meta.new) %owner) - =/ owner-p=@p - ?~ owner our.bol - (fall (rush u.owner ;~(pfix sig fed:ag)) our.bol) - (ta-generate-comments pax owner-p) + =/ author=(unit @ta) (~(get by meta.new) %author) + =/ author-p=@p + ?~ author our.bol + (fall (rush u.author ;~(pfix sig fed:ag)) our.bol) + (ta-generate-comments pax author-p) :: =? ta-this ?& =('.n' (fall (~(get by meta.new) %comments) '.n')) @@ -872,7 +875,7 @@ :: ++ ta-generate-comments ~/ %coll-ta-generate-comments - |= [pax=path owner=ship] + |= [pax=path author=ship] ^+ ta-this =/ sup=path [%collections-config (flop pax)] =/ bek byk.bol(r [%da now.bol]) @@ -882,7 +885,7 @@ :* [bek sup] 'comments' 'comments' - owner + author dat dat %comments @@ -961,7 +964,7 @@ (path-to-circle (scag (dec (lent pax)) pax) our.bol) =/ acts=(list action:hall) :~ [%source nom.parent & (sy `source:hall`[circ ~] ~)] - [%create nom.circ name %journal] + [%create nom.circ name %journal] == :: XX should we also source comment circles? =? acts =(nom.parent %c) diff --git a/mar/collections/config.hoon b/mar/collections/config.hoon index 5fcbd0682..b9803dd51 100644 --- a/mar/collections/config.hoon +++ b/mar/collections/config.hoon @@ -9,7 +9,7 @@ ++ grow |% ++ mime - :- /text/x-collection-config + :- /text/x-collection-config (as-octs:mimes:html (of-wain:format txt)) ++ txt ^- wain @@ -18,7 +18,7 @@ (cat 3 'name: ' name.con) (cat 3 'description: ' description.con) :: - (cat 3 'owner: ' (scot %p owner.con)) + (cat 3 'author: ' (scot %p author.con)) :: (cat 3 'date-created: ' (scot %da date-created.con)) (cat 3 'last-modified: ' (scot %da last-modified.con)) @@ -42,7 +42,7 @@ ?> ?= $: full-path=@t name=@t desc=@t - owner=@t + author=@t dc=@t lm=@t type=@t @@ -53,32 +53,32 @@ == txs :: - :* %- need - %+ rash full-path.txs - ;~ pfix (jest 'full-path: ') + :* %- need + %+ rash full-path.txs + ;~ pfix (jest 'full-path: ') %+ cook de-beam:format - ;~(pfix fas (more fas urs:ab)) + ;~(pfix fas (more fas urs:ab)) == - :: - (rash name.txs ;~(pfix (jest 'name: ') (cook crip (star next)))) :: - (rash desc.txs ;~(pfix (jest 'description: ') (cook crip (star next)))) + (rash name.txs ;~(pfix (jest 'name: ') (cook crip (star next)))) :: - (rash owner.txs ;~(pfix (jest 'owner: ~') fed:ag)) + (rash desc.txs ;~(pfix (jest 'description: ') (cook crip (star next)))) :: - %+ rash dc.txs - ;~ pfix - (jest 'date-created: ~') + (rash author.txs ;~(pfix (jest 'author: ~') fed:ag)) + :: + %+ rash dc.txs + ;~ pfix + (jest 'date-created: ~') (cook year when:so) == :: %+ rash lm.txs - ;~ pfix - (jest 'last-modified: ~') + ;~ pfix + (jest 'last-modified: ~') (cook year when:so) == :: - (rash type.txs ;~(pfix (jest 'type: ') (cook crip (star next)))) + (rash type.txs ;~(pfix (jest 'type: ') (cook crip (star next)))) :: (rash com.txs ;~(pfix (jest 'comments: ') (fuss %y %n))) :: diff --git a/ren/collections/elem.hoon b/ren/collections/elem.hoon index 5265d58b5..140368374 100644 --- a/ren/collections/elem.hoon +++ b/ren/collections/elem.hoon @@ -113,7 +113,7 @@ =/ ht (hedtal:collections +.elm) =/ title (fall (~(get by meta.raw) %name) -.s.bem.gas) =/ date (fall (~(get by meta.raw) %date-created) 'missing date') - =/ owner (fall (~(get by meta.raw) %owner) 'anonymous') + =/ author (fall (~(get by meta.raw) %author) 'anonymous') :: ;div.mb-18.mt-4 ;+ elm @@ -141,20 +141,20 @@ |= [nom=knot ite=item:collections] ^- manx ?> ?=(%raw -.ite) - =/ owner (fall (~(get by meta.raw.ite) %owner) 'anonymous') + =/ author (fall (~(get by meta.raw.ite) %author) 'anonymous') =/ host (fall (~(get by meta.raw.ite) %host) 'anonymous') =/ date (fall (~(get by meta.raw.ite) %date-created) 'missing date') ;li.mb-6 ;div.flex.align-center ;div.mr-2 =urb-component "Sigil" - =urb-ship "{(trip owner)}" + =urb-ship "{(trip author)}" =urb-size "18" =urb-suffix "true"; ;div ;a.vanilla.text-mono.text-small.text-700.mr-4 =href "/~~/{(trip host)}/==/web/landscape/profile" - ; {(trip owner)} + ; {(trip author)} == == ;div.text-host-breadcrumb @@ -210,7 +210,7 @@ ;h2.mt-0.mb-0 ;a(href lnk): {(trip name.meta.col)} == - ;div.who.text-mono.text-600: {} + ;div.who.text-mono.text-600: {} ;div.meta-cont ;div.com-count.ml-12 ; {(trip (scot %ud ~(wyt by data.col)))} comments @@ -227,7 +227,7 @@ (scag 5 c.elm) =/ title (fall (~(get by meta.raw) %name) nom) =/ date (fall (~(get by meta.raw) %date-created) 'missing date') - =/ owner (fall (~(get by meta.raw) %owner) 'anonymous') + =/ author (fall (~(get by meta.raw) %author) 'anonymous') =/ lnk=tape "/~~/{(scow %p p.bem.gas)}/=={(spud (flop s.bem.gas))}/{(trip nom)}" :: @@ -238,7 +238,7 @@ ;a(href lnk): {(trip title)} ;a(href lnk): *{hed.ht} == - ;div.who.text-mono.text-600: {(trip owner)} + ;div.who.text-mono.text-600: {(trip author)} ;div.snippet ;* tal.ht == @@ -262,7 +262,7 @@ ;a(href lnk): {(trip title)} ;a(href lnk): *{hed.ht} == - ;div.text-mono.text-small.text-300.mt-1.mb-1: {} + ;div.text-mono.text-small.text-300.mt-1.mb-1: {} ;div ;div.icon-label.justify-start ;div(urb-component "IconComment"); @@ -291,7 +291,7 @@ %collection =* met meta.col.itm :~ [%urb-name (trip name.met)] - [%urb-owner (scow %p owner.met)] + [%urb-author (scow %p author.met)] [%urb-host (scow %p p.full-path.met)] [%urb-date-created (scow %da date-created.met)] [%urb-last-modified (scow %da last-modified.met)] @@ -301,7 +301,7 @@ %raw =/ met ~(got by meta.raw.itm) :~ [%urb-name (trip (met %name))] - [%urb-owner (trip (met %owner))] + [%urb-author (trip (met %author))] [%urb-host (trip (met %host))] [%urb-date-created (trip (met %date-created))] [%urb-last-modified (trip (met %last-modified))] @@ -311,7 +311,7 @@ %both =/ met ~(got by meta.raw.itm) :~ [%urb-name (trip (met %name))] - [%urb-owner (trip (met %owner))] + [%urb-author (trip (met %author))] [%urb-host (trip (met %host))] [%urb-date-created (trip (met %date-created))] [%urb-last-modified (trip (met %last-modified))] diff --git a/web/landscape/js/index-min.js b/web/landscape/js/index-min.js index 582cc6340..eeb4baa42 100644 --- a/web/landscape/js/index-min.js +++ b/web/landscape/js/index-min.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define("index",t):t()}(0,function(){"use strict";var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}function r(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e,t){return e(t={exports:{}},t.exports),t.exports}function a(e){return e&&e.default||e}var i=n(function(e){!function(t,r,n){if(t){for(var a,i={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},o={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},s={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},l={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},u=1;u<20;++u)i[111+u]="f"+u;for(u=0;u<=9;++u)i[u+96]=u.toString();m.prototype.bind=function(e,t,r){return e=e instanceof Array?e:[e],this._bindMultiple.call(this,e,t,r),this},m.prototype.unbind=function(e,t){return this.bind.call(this,e,function(){},t)},m.prototype.trigger=function(e,t){return this._directMap[e+":"+t]&&this._directMap[e+":"+t]({},e),this},m.prototype.reset=function(){return this._callbacks={},this._directMap={},this},m.prototype.stopCallback=function(e,t){return!((" "+t.className+" ").indexOf(" mousetrap ")>-1)&&(!function e(t,n){return null!==t&&t!==r&&(t===n||e(t.parentNode,n))}(t,this.target)&&("INPUT"==t.tagName||"SELECT"==t.tagName||"TEXTAREA"==t.tagName||t.isContentEditable))},m.prototype.handleKey=function(){return this._handleKey.apply(this,arguments)},m.addKeycodes=function(e){for(var t in e)e.hasOwnProperty(t)&&(i[t]=e[t]);a=null},m.init=function(){var e=m(r);for(var t in e)"_"!==t.charAt(0)&&(m[t]=function(t){return function(){return e[t].apply(e,arguments)}}(t))},m.init(),t.Mousetrap=m,e.exports&&(e.exports=m)}function c(e,t,r){e.addEventListener?e.addEventListener(t,r,!1):e.attachEvent("on"+t,r)}function f(e){if("keypress"==e.type){var t=String.fromCharCode(e.which);return e.shiftKey||(t=t.toLowerCase()),t}return i[e.which]?i[e.which]:o[e.which]?o[e.which]:String.fromCharCode(e.which).toLowerCase()}function d(e){return"shift"==e||"ctrl"==e||"alt"==e||"meta"==e}function h(e,t,r){return r||(r=function(){if(!a)for(var e in a={},i)e>95&&e<112||i.hasOwnProperty(e)&&(a[i[e]]=e);return a}()[e]?"keydown":"keypress"),"keypress"==r&&t.length&&(r="keydown"),r}function p(e,t){var r,n,a,i=[];for(r=function(e){return"+"===e?["+"]:(e=e.replace(/\+{2}/g,"+plus")).split("+")}(e),a=0;a1?g(e,s,r,n):(o=p(e,n),t._callbacks[o.key]=t._callbacks[o.key]||[],u(o.key,o.modifiers,{type:o.action},a,e,i),t._callbacks[o.key][a?"unshift":"push"]({callback:r,modifiers:o.modifiers,action:o.action,seq:a,level:i,combo:e}))}t._handleKey=function(e,t,r){var n,a=u(e,t,r),i={},c=0,f=!1;for(n=0;nvoid 0===typeof t.dataset.mousetrap&&("INPUT"==t.tagName||"SELECT"==t.tagName||"TEXTAREA"==t.tagName||t.contentEditable&&"true"==t.contentEditable)),Object.arrayify=(e=>{let t=[];return Object.keys(e).forEach(r=>{t.push({key:r,value:e[r]})}),t}),Object.cloneByProperty=((e,t)=>{let r=[];return e[t].forEach(n=>{let a={...e};a[t]=[n],r.push(a)}),r});var o=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable;var u=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(e){n[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var r,n,a=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),i=1;i2?r-2:0),a=2;a1?t-1:0),n=1;n2?r-2:0),a=2;a8)throw new Error("warningWithoutStack() currently supports at most 8 arguments.");if(!e){if("undefined"!=typeof console){var i=n.map(function(e){return""+e});i.unshift("Warning: "+t),Function.prototype.apply.call(console.error,console,i)}try{var o=0,s="Warning: "+t.replace(/%s/g,function(){return n[o++]});throw new Error(s)}catch(e){}}},T={};function C(e,t){var r=e.constructor,n=r&&(r.displayName||r.name)||"ReactClass",a=n+"."+t;T[a]||(E(!1,"Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",t,n),T[a]=!0)}var D={isMounted:function(e){return!1},enqueueForceUpdate:function(e,t,r){C(e,"forceUpdate")},enqueueReplaceState:function(e,t,r,n){C(e,"replaceState")},enqueueSetState:function(e,t,r,n){C(e,"setState")}},N={};function S(e,t,r){this.props=e,this.context=t,this.refs=N,this.updater=r||D}Object.freeze(N),S.prototype.isReactComponent={},S.prototype.setState=function(e,t){"object"!=typeof e&&"function"!=typeof e&&null!=e&&w(!1,"setState(...): takes an object of state variables to update or a function which returns an object of state variables."),this.updater.enqueueSetState(this,e,t,"setState")},S.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};var M={isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],replaceState:["replaceState","Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]},I=function(e,t){Object.defineProperty(S.prototype,e,{get:function(){x(!1,"%s(...) is deprecated in plain JavaScript React classes. %s",t[0],t[1])}})};for(var R in M)M.hasOwnProperty(R)&&I(R,M[R]);function O(){}function L(e,t,r){this.props=e,this.context=t,this.refs=N,this.updater=r||D}O.prototype=S.prototype;var P=L.prototype=new O;P.constructor=L,t(P,S.prototype),P.isPureReactComponent=!0;var A={current:null,currentDispatcher:null},B=/^(.*)[\\\/]/,U=1;function j(e){if(null==e)return null;if("number"==typeof e.tag&&E(!1,"Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case d:return"ConcurrentMode";case o:return"Fragment";case i:return"Portal";case l:return"Profiler";case s:return"StrictMode";case p:return"Suspense"}if("object"==typeof e)switch(e.$$typeof){case f:return"Context.Consumer";case c:return"Context.Provider";case h:return n=e,a=e.render,u="ForwardRef",g=a.displayName||a.name||"",n.displayName||(""!==g?u+"("+g+")":u);case m:return j(e.type);case b:var t=(r=e)._status===U?r._result:null;if(t)return j(t)}var r,n,a,u,g;return null}var z={},q=null;function F(e){q=e}z.getCurrentStack=null,z.getStackAddendum=function(){var e="";if(q){var t=j(q.type),r=q._owner;e+=function(e,t,r){var n="";if(t){var a=t.fileName,i=a.replace(B,"");if(/^index\./.test(i)){var o=a.match(B);if(o){var s=o[1];s&&(i=s.replace(B,"")+"/"+i)}}n=" (at "+i+":"+t.lineNumber+")"}else r&&(n=" (created by "+r+")");return"\n in "+(e||"Unknown")+n}(t,q._source,r&&j(r.type))}var n=z.getCurrentStack;return n&&(e+=n()||""),e};var H={ReactCurrentOwner:A,assign:t};t(H,{ReactDebugCurrentFrame:z,ReactComponentTreeHook:{}});var Z=function(e,t){if(!e){for(var r=H.ReactDebugCurrentFrame.getStackAddendum(),n=arguments.length,a=Array(n>2?n-2:0),i=2;i1){for(var c=Array(u),f=0;f.")}return t}(t);if(!ge[r]){ge[r]=!0;var n="";e&&e._owner&&e._owner!==A.current&&(n=" It was passed a child from "+j(e._owner.type)+"."),F(e),Z(!1,'Each child in an array or iterator should have a unique "key" prop.%s%s See https://fb.me/react-warning-keys for more information.',r,n),F(null)}}}function ye(e,t){if("object"==typeof e)if(Array.isArray(e))for(var r=0;r",i=" Did you accidentally export a JSX literal instead of a component?"):l=typeof e,Z(!1,"React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",l,i)}var u=J.apply(this,arguments);if(null==u)return u;if(n)for(var c=2;c is not supported and will be removed in a future major release. Did you mean to render instead?")),r.Provider},set:function(e){r.Provider=e}},_currentValue:{get:function(){return r._currentValue},set:function(e){r._currentValue=e}},_currentValue2:{get:function(){return r._currentValue2},set:function(e){r._currentValue2=e}},_threadCount:{get:function(){return r._threadCount},set:function(e){r._threadCount=e}},Consumer:{get:function(){return n||(n=!0,Z(!1,"Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")),r.Consumer}}}),r.Consumer=i,r._currentRenderer=null,r._currentRenderer2=null,r},forwardRef:function(e){return null!=e&&e.$$typeof===m?E(!1,"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):"function"!=typeof e?E(!1,"forwardRef requires a render function but was given %s.",null===e?"null":typeof e):0!==e.length&&2!==e.length&&E(!1,"forwardRef render functions accept exactly two parameters: props and ref. %s",1===e.length?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),null!=e&&(null!=e.defaultProps||null!=e.propTypes)&&E(!1,"forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?"),{$$typeof:h,render:e}},lazy:function(e){return{$$typeof:b,_ctor:e,_status:-1,_result:null}},memo:function(e,t){return pe(e)||E(!1,"memo: The first argument must be a component. Instead received: %s",null===e?"null":typeof e),{$$typeof:m,type:e,compare:void 0===t?null:t}},Fragment:o,StrictMode:s,Suspense:p,createElement:we,cloneElement:function(e,r,n){for(var a=function(e,r,n){null==e&&w(!1,"React.cloneElement(...): The argument must be a React element, but you passed %s.",e);var a=void 0,i=t({},e.props),o=e.key,s=e.ref,l=e._self,u=e._source,c=e._owner;if(null!=r){$(r)&&(s=r.ref,c=A.current),K(r)&&(o=""+r.key);var f=void 0;for(a in e.type&&e.type.defaultProps&&(f=e.type.defaultProps),r)G.call(r,a)&&!V.hasOwnProperty(a)&&(void 0===r[a]&&void 0!==f?i[a]=f[a]:i[a]=r[a])}var d=arguments.length-2;if(1===d)i.children=n;else if(d>1){for(var h=Array(d),p=0;p=t){n=e;break}e=e.next}while(e!==r);null===n?n=r:n===r&&(r=l,u()),(t=n.previous).next=n.previous=l,l.next=n,l.previous=t}}function f(){if(-1===i&&null!==r&&1===r.priorityLevel){s=!0;try{do{c()}while(null!==r&&1===r.priorityLevel)}finally{s=!1,null!==r?u():l=!1}}}function d(e){s=!0;var a=n;n=e;try{if(e)for(;null!==r;){var i=t.unstable_now();if(!(r.expirationTime<=i))break;do{c()}while(null!==r&&r.expirationTime<=i)}else if(null!==r)do{c()}while(null!==r&&!g())}finally{s=!1,n=a,null!==r?u():l=!1,f()}}var h,p,m,b,g,v=Date,y="function"==typeof setTimeout?setTimeout:void 0,_="function"==typeof clearTimeout?clearTimeout:void 0,w="function"==typeof requestAnimationFrame?requestAnimationFrame:void 0,k="function"==typeof cancelAnimationFrame?cancelAnimationFrame:void 0;function x(e){h=w(function(t){_(p),e(t)}),p=y(function(){k(h),e(t.unstable_now())},100)}if("object"==typeof performance&&"function"==typeof performance.now){var E=performance;t.unstable_now=function(){return E.now()}}else t.unstable_now=function(){return v.now()};if("undefined"!=typeof window&&window._schedMock){var T=window._schedMock;m=T[0],b=T[1],g=T[2]}else if("undefined"==typeof window||"function"!=typeof window.addEventListener){var C=null,D=-1,N=function(e,t){if(null!==C){var r=C;C=null;try{D=t,r(e)}finally{D=-1}}};m=function(e,t){-1!==D?setTimeout(m,0,e,t):(C=e,setTimeout(N,t,!0,t),setTimeout(N,1073741823,!1,1073741823))},b=function(){C=null},g=function(){return!1},t.unstable_now=function(){return-1===D?0:D}}else{"undefined"!=typeof console&&("function"!=typeof w&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof k&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"));var S=null,M=!1,I=-1,R=!1,O=!1,L=0,P=33,A=33;g=function(){return L<=t.unstable_now()};var B="__reactIdleCallback$"+Math.random().toString(36).slice(2);window.addEventListener("message",function(e){if(e.source===window&&e.data===B){M=!1,e=S;var r=I;S=null,I=-1;var n=t.unstable_now(),a=!1;if(0>=L-n){if(!(-1!==r&&r<=n))return R||(R=!0,x(U)),S=e,void(I=r);a=!0}if(null!==e){O=!0;try{e(a)}finally{O=!1}}}},!1);var U=function(e){if(null!==S){x(U);var t=e-L+A;tt&&(t=8),A=tt?window.postMessage(B,"*"):R||(R=!0,x(U))},b=function(){S=null,M=!1,I=-1}}t.unstable_ImmediatePriority=1,t.unstable_UserBlockingPriority=2,t.unstable_NormalPriority=3,t.unstable_IdlePriority=5,t.unstable_LowPriority=4,t.unstable_runWithPriority=function(e,r){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=a,o=i;a=e,i=t.unstable_now();try{return r()}finally{a=n,i=o,f()}},t.unstable_scheduleCallback=function(e,n){var o=-1!==i?i:t.unstable_now();if("object"==typeof n&&null!==n&&"number"==typeof n.timeout)n=o+n.timeout;else switch(a){case 1:n=o+-1;break;case 2:n=o+250;break;case 5:n=o+1073741823;break;case 4:n=o+1e4;break;default:n=o+5e3}if(e={callback:e,priorityLevel:a,expirationTime:n,next:null,previous:null},null===r)r=e.next=e.previous=e,u();else{o=null;var s=r;do{if(s.expirationTime>n){o=s;break}s=s.next}while(s!==r);null===o?o=r:o===r&&(r=e,u()),(n=o.previous).next=o.previous=e,e.next=o,e.previous=n}return e},t.unstable_cancelCallback=function(e){var t=e.next;if(null!==t){if(t===e)r=null;else{e===r&&(r=t);var n=e.previous;n.next=t,t.previous=n}e.next=e.previous=null}},t.unstable_wrapCallback=function(e){var r=a;return function(){var n=a,o=i;a=r,i=t.unstable_now();try{return e.apply(this,arguments)}finally{a=n,i=o,f()}}},t.unstable_getCurrentPriorityLevel=function(){return a},t.unstable_shouldYield=function(){return!n&&(null!==r&&r.expirationTime=i){c=d;break}d=d.next}while(d!==f);null===c?c=f:c===f&&(f=u,y());var p=c.previous;p.next=c.previous=u,u.next=c,u.previous=p}}}function w(){if(-1===p&&null!==f&&f.priorityLevel===e){b=!0;try{do{_()}while(null!==f&&f.priorityLevel===e)}finally{b=!1,null!==f?y():g=!1}}}function k(e){b=!0;var r=d;d=e;try{if(e)for(;null!==f;){var n=t.unstable_now();if(!(f.expirationTime<=n))break;do{_()}while(null!==f&&f.expirationTime<=n)}else if(null!==f)do{_()}while(null!==f&&!D())}finally{b=!1,d=r,null!==f?y():g=!1,w()}}var x,E,T,C,D,N=Date,S="function"==typeof setTimeout?setTimeout:void 0,M="function"==typeof clearTimeout?clearTimeout:void 0,I="function"==typeof requestAnimationFrame?requestAnimationFrame:void 0,R="function"==typeof cancelAnimationFrame?cancelAnimationFrame:void 0,O=function(e){x=I(function(t){M(E),e(t)}),E=S(function(){R(x),e(t.unstable_now())},100)};if(v){var L=performance;t.unstable_now=function(){return L.now()}}else t.unstable_now=function(){return N.now()};if("undefined"!=typeof window&&window._schedMock){var P=window._schedMock;T=P[0],C=P[1],D=P[2]}else if("undefined"==typeof window||"function"!=typeof window.addEventListener){var A=null,B=-1,U=function(e,t){if(null!==A){var r=A;A=null;try{B=t,r(e)}finally{B=-1}}};T=function(e,t){-1!==B?setTimeout(T,0,e,t):(A=e,setTimeout(U,t,!0,t),setTimeout(U,1073741823,!1,1073741823))},C=function(){A=null},D=function(){return!1},t.unstable_now=function(){return-1===B?0:B}}else{"undefined"!=typeof console&&("function"!=typeof I&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof R&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"));var j=null,z=!1,q=-1,F=!1,H=!1,Z=0,G=33,V=33;D=function(){return Z<=t.unstable_now()};var W="__reactIdleCallback$"+Math.random().toString(36).slice(2);window.addEventListener("message",function(e){if(e.source===window&&e.data===W){z=!1;var r=j,n=q;j=null,q=-1;var a=t.unstable_now(),i=!1;if(Z-a<=0){if(!(-1!==n&&n<=a))return F||(F=!0,O(Y)),j=r,void(q=n);i=!0}if(null!==r){H=!0;try{r(i)}finally{H=!1}}}},!1);var Y=function(e){if(null!==j){O(Y);var t=e-Z+V;tb){_=w;break}w=w.next}while(w!==f);null===_?_=f:_===f&&(f=v,y());var k=_.previous;k.next=_.previous=v,v.next=_,v.previous=k}return v},t.unstable_cancelCallback=function(e){var t=e.next;if(null!==t){if(t===e)f=null;else{e===f&&(f=t);var r=e.previous;r.next=t,t.previous=r}e.next=e.previous=null}},t.unstable_wrapCallback=function(e){var r=h;return function(){var n=h,a=p;h=r,p=t.unstable_now();try{return e.apply(this,arguments)}finally{h=n,p=a,w()}}},t.unstable_getCurrentPriorityLevel=function(){return h},t.unstable_shouldYield=function(){return!d&&(null!==f&&f.expirationTimethis.eventPool.length&&this.eventPool.push(e)}function Oe(e){e.eventPool=[],e.getPooled=Ie,e.release=Re}u(Me.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=Ne)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=Ne)},persist:function(){this.isPersistent=Ne},isPersistent:Se,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=Se,this._dispatchInstances=this._dispatchListeners=null}}),Me.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},Me.extend=function(e){function t(){}function r(){return n.apply(this,arguments)}var n=this;t.prototype=n.prototype;var a=new t;return u(a,r.prototype),r.prototype=a,r.prototype.constructor=r,r.Interface=u({},n.Interface,e),r.extend=n.extend,Oe(r),r},Oe(Me);var Le=Me.extend({data:null}),Pe=Me.extend({data:null}),Ae=[9,13,27,32],Be=he&&"CompositionEvent"in window,Ue=null;he&&"documentMode"in document&&(Ue=document.documentMode);var je=he&&"TextEvent"in window&&!Ue,ze=he&&(!Be||Ue&&8=Ue),qe=String.fromCharCode(32),Fe={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},He=!1;function Ze(e,t){switch(e){case"keyup":return-1!==Ae.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function Ge(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Ve=!1;var We={eventTypes:Fe,extractEvents:function(e,t,r,n){var a=void 0,i=void 0;if(Be)e:{switch(e){case"compositionstart":a=Fe.compositionStart;break e;case"compositionend":a=Fe.compositionEnd;break e;case"compositionupdate":a=Fe.compositionUpdate;break e}a=void 0}else Ve?Ze(e,r)&&(a=Fe.compositionEnd):"keydown"===e&&229===r.keyCode&&(a=Fe.compositionStart);return a?(ze&&"ko"!==r.locale&&(Ve||a!==Fe.compositionStart?a===Fe.compositionEnd&&Ve&&(i=De()):(Te="value"in(Ee=n)?Ee.value:Ee.textContent,Ve=!0)),a=Le.getPooled(a,t,r,n),i?a.data=i:null!==(i=Ge(r))&&(a.data=i),de(a),i=a):i=null,(e=je?function(e,t){switch(e){case"compositionend":return Ge(t);case"keypress":return 32!==t.which?null:(He=!0,qe);case"textInput":return(e=t.data)===qe&&He?null:e;default:return null}}(e,r):function(e,t){if(Ve)return"compositionend"===e||!Be&&Ze(e,t)?(e=De(),Ce=Te=Ee=null,Ve=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1