{"version":3,"sources":["webpack:///./components/Elements/TablePanel.js","webpack:///./components/Elements/Example.less","webpack:///./components/Elements/Box.less","webpack:///./routes/ApprendimentoSistemiArtificiali.js","webpack:///./components/Rendering/Latex.less","webpack:///./components/Elements/Todo.less","webpack:///./components/Elements/Section.js","webpack:///./components/Elements/Panel.less","webpack:///./contexts/LatexDefaultDisplay.js","webpack:///./components/Rendering/Latex.js","webpack:///./components/Elements/Timer.js","webpack:///../src/index.js","webpack:///./components/Elements/Todo.js","webpack:///./components/Layout/Split.js","webpack:///./components/Rendering/PLatex.js","webpack:///./components/Elements/TablePanel.less","webpack:///./components/Elements/Example.js","webpack:///./components/Elements/Box.js","webpack:///./components/Elements/Timer.less","webpack:///./components/Layout/Split.less","webpack:///./components/Elements/Panel.js","webpack:///./contexts/LatexDefaultInline.js","webpack:///./components/Rendering/ILatex.js","webpack:///./components/Rendering/BLatex.js"],"names":["props","class","style","tablepanel","children","module","exports","r","String","raw","title","href","to","createContext","LatexDisplay","Object","freeze","INLINE","inline","BLOCK","block","display","renderColor","useContext","LatexRenderColor","defaultInline","LatexDefaultInline","defaultDisplay","LatexDefaultDisplay","undefined","src","alt","latex","Timer","state","Date","now","timer","componentDidMount","this","setInterval","setState","componentWillUnmount","clearInterval","render","dateTo","className","parts","milliseconds","seconds","minutes","hours","days","timeLeft","Math","floor","expired","unknown","count","text","Component","getHookState","index","type","options","_hook","currentComponent","currentHook","hooks","__hooks","_list","_pendingEffects","length","push","useState","initialState","useReducer","invokeOrReturn","reducer","init","hookState","currentIndex","_reducer","_component","_value","nextValue","action","useEffect","callback","args","_skipEffects","argsChanged","_args","useLayoutEffect","_renderCallbacks","useRef","initialValue","useMemo","current","useImperativeHandle","ref","createHandle","concat","factory","_factory","useCallback","context","provider","_id","_context","sub","value","_defaultValue","useDebugValue","formatter","flushAfterPaintEffects","afterPaintEffects","some","component","_parentDom","forEach","invokeCleanup","invokeEffect","e","_catchError","_vnode","hook","_cleanup","oldArgs","newArgs","arg","f","prevRaf","oldBeforeRender","_render","oldAfterDiff","diffed","oldCommit","_commit","oldBeforeUnmount","unmount","vnode","c","requestAnimationFrame","raf","done","clearTimeout","timeout","cancelAnimationFrame","setTimeout","window","commitQueue","filter","cb","Array","isArray","map","element","splitchild","split","splitparent","example","BoxColors","RED","red","ORANGE","orange","YELLOW","yellow","LIME","lime","CYAN","cyan","BLUE","blue","MAGENTA","magenta","DEFAULT","default","color","box","contents"],"mappings":"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","file":"route-ApprendimentoSistemiArtificiali.chunk.b52e7.js","sourcesContent":["import style from \"./TablePanel.less\";\n\nexport default function (props) {\n return (\n \n {props.children}\n
\n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"example\":\"example__9acWs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"box\":\"box__3cKyY\",\"default\":\"default__v-emJ\",\"red\":\"red__339Cz\",\"orange\":\"orange__24_8v\",\"yellow\":\"yellow__1Jo9W\",\"lime\":\"lime__34yV5\",\"cyan\":\"cyan__3RqLr\",\"blue\":\"blue__13Wnj\",\"magenta\":\"magenta__2tkzq\"};","import Section from \"../components/Elements/Section\";\nimport Panel from \"../components/Elements/Panel\";\nimport Example from \"../components/Elements/Example\";\nimport Timer from \"../components/Elements/Timer\";\nimport Todo from \"../components/Elements/Todo\";\nimport ILatex from \"../components/Rendering/ILatex\";\nimport TablePanel from \"../components/Elements/TablePanel\";\nimport BLatex from \"../components/Rendering/BLatex\";\nimport PLatex from \"../components/Rendering/PLatex\";\n\nconst r = String.raw;\n\n\nexport default function(props) {\n return (\n
\n

Apprendimento ed evoluzione in sistemi artificiali

\n
\n \n \n \n \n

\n Se sei uno studente dell'Unimore, puoi accedere all'archivio del corso su Google Drive.\n

\n
\n
\n
\n \n
    \n
  • Scegli 2 tra 6 domande possibili
  • \n
  • 90 minuti
  • \n
\n
\n \n
    \n
  1. \n
  2. \n
  3. \n
\n
\n
\n
\n \n

\n NetLogo è un software di modellazione sistemi multiagente, da noi usato per le lezioni di laboratorio.\n

\n

\n Si può scaricare o usare da browser.\n

\n

\n Il suo codice sorgente è disponibile su GitHub, e ha una pagina di documentazione.\n

\n

\n Consulta i miei appunti su NetLogo qui!\n

\n
\n
\n
\n \n

\n Sono sistemi con le seguenti caratteristiche:\n

\n
    \n
  • Autonomia: agiscono gli uni indipendentemente dagli altri
  • \n
  • Reattività: percepiscono ciò che sta nel loro ambiente e reagiscono ai cambiamenti di quest'ultimo
  • \n
  • Proattività: agiscono in maniera tale da portare a termine i loro obiettivi
  • \n
  • Socialità: comunicano con gli altri agenti, scambiando informazioni
  • \n
\n
\n \n

\n Hanno anche caratteristiche di livello più alto derivate dalle quattro precedenti:\n

\n
    \n
  • Conoscenza
  • \n
  • Intenzioni
  • \n
  • Emozioni
  • \n
  • Obblighi
  • \n
  • Obiettivi
  • \n
  • etc...
  • \n
\n
\n \n

\n Gli agenti solitamente hanno anche:\n

\n
    \n
  • Mobilità: possono muoversi nell'ambiente
  • \n
  • Veridicità: producono informazioni corrette
  • \n
  • Benevolenza: agiscono nel modo corretto
  • \n
  • Razionalità: compiono le azioni necessarie per raggiungere i loro obiettivi, e non altre che glielo impedirebbero
  • \n
\n
\n
\n
\n \n

\n Lo sviluppo negli agenti di nuove capacità per cui non erano stati programmati.\n

\n \n Ad esempio, la Swarm Intelligence, descritta dopo!\n \n
\n
\n
\n \n

\n Classificazione in base a come prende le decisioni un agente:\n

\n
    \n
  • Logic-based: prende le decisioni attraverso deduzioni logiche
  • \n
  • Reactive: mappa una reazione a ogni situazione dell'ambiente
  • \n
  • Belief-desire-intention: per decidere, considera le proprie assunzioni sul mondo (belief), i propri desideri (desire) e le sue intenzioni correnti (intention)
  • \n
  • Layered: utilizza diversi strati di capacità cognitive per giungere a una decisione
  • \n
\n
\n \n

\n Classificazione in base a come sono definiti gli obiettivi di un agente:\n

\n
    \n
  • Teleonomico: gli obiettivi sono predefiniti ed espliciti
  • \n
  • Riflessivo: l'agente è libero di scegliere il suo obiettivo in base alle proprie percezioni interne
  • \n
\n
\n \n

\n Classificazione in base a quanto conosce dell'ambiente un agente:\n

\n
    \n
  • Cognitivo: l'agente è immediatamente a conoscenza di tutto l'ambiente
  • \n
  • Reattivo: l'agente deve scoprire l'ambiente con le sue capacità sensoriali
  • \n
\n
\n
\n
\n \n
    \n
  • Distribuzione: più agenti possono coprire aree di ambiente più vaste, o elaborare più in fretta zone più dense di informazione
  • \n
  • Rappresentazione: i sistemi multi-agente modellano più accuratamente il mondo reale
  • \n
\n
\n \n

\n Comportamento emergente che si manifesta nei sistemi multiagente con tantissimi agenti.\n

\n

\n Indica la capacità di risoluzione di problemi complessi attraverso la collaborazione di più agenti semplici.\n

\n
\n
\n
\n \n

\n Meccanismi simili a quelli evolutivi umani che permettono ai tratti degli agenti di convergere verso un valore.\n

\n
\n \n

\n Inizialmente definita come numero di discendenti fertili, solitamente indica quanto è probabile che i tratti di un individuo siano passati alla generazione successiva.\n

\n
\n \n

\n Sequenza di valori che definisce uno o più tratti di un individuo.\n

\n
\n \n

\n Un insieme di individui aventi tutti gli stessi cromosomi.\n

\n
\n \n

\n Fenomeno che causa una piccola variazione casuale nei cromosomi dei figli.\n

\n

\n Previene la convergenza prematura in un sistema.\n

\n
\n \n

\n Meccanismo di costruzione dei cromosomi in un figlio: i cromosomi dei genitori vengono tagliati nello stesso punto scelto a caso, e per costruire quelli del figlio viene presa una parte dal padre e l'altra parte dalla madre.\n

\n

\n Può portare al miglioramento di un individuo e allo sviluppo di nuovi tratti, ma solo nelle parti di cromosoma che sono diverse tra i due genitori.\n

\n
\n \n

\n Sequenza di valori all'interno di un cromosoma, che può includere anche sezioni in cui il valore è irrilevante.\n

\n

\n Gli algoritmi genetici permettono di trovare gli schemi con la fitness più alta in assoluto in un tempo relativamente breve: il sistema generalmente favorisce gli schemi corti con fitness alta.\n

\n
\n \n

\n Situazione in cui si è raggiunta una soluzione non-ottimale a causa dell'assenza di novità nel sistema.\n

\n

\n Si può impedire con vari metodi: con la mutazione, introducendo requisiti di località per l'accoppiamento, scegliendo diversamente i genitori, etc...\n

\n
\n
\n
\n \n

\n Programmi che dati tanti esempi sono in grado di classificare un elemento in una o più categorie.\n

\n

\n Sono formati da classificatori, liste di messaggi, detettori e effettori.\n

\n
\n
\n
\n \n

\n Strutture logiche che elaborano i messaggi.\n

\n

\n Valutano una espressione logica (condizione) sui messaggi in arrivo, e se questa risulta essere vera, emettono un nuovo messaggio in risposta (azione).\n

\n \n Condizione e azione possono essere considerati come due cromosomi di un algoritmo genetico!\n \n
\n \n

\n Unità di informazione di un sistema a classificatori: sono generati da detettori e classificatori, e consumati da classificatori ed effettori.\n

\n
\n \n

\n Sensori che percepiscono lo stato dell'ambiente esterno e lo riportano sotto forma di messaggi.\n

\n
\n \n

\n Motori che rispondono ai messaggi effettuando una qualche azione nell'ambiente.\n

\n
\n
\n
\n \n

\n Un punteggio associato ad ogni classificatore.\n

\n

\n Più un classificatore viene attivato, più la sua forza crescerà.\n

\n \n I classificatori più deboli vengono lentamente eliminati!\n \n
\n \n

\n Il numero di condizioni che devono essere soddisfatte perchè il classificatore si attivi.\n

\n
\n \n

\n Prodotto di specificità e forza di un classificatore.\n

\n

\n Rappresenta quanto è probabile che venga utilizzato un dato classificatore nel caso che le condizioni di più di uno vengano soddisfatte.\n

\n \n La fitness degli algoritmi genetici.\n \n
\n
\n
\n \n

\n Se l'input non soddisfa nessun classificatore esistente, se ne crea uno nuovo con una azione casuale.\n

\n
\n \n

\n Se i classificatori emettono in output un messaggio\n

\n
\n
\n
\n \n

\n Non è importante l'architettura fisica di un intelligenza, ma solo la sua capacità di elaborare simboli.\n

\n \n TODO: è una teoria, una filosofia o cosa? Come si collega alla Stanza Cinese?\n \n
\n \n

\n Agenti che possono collegarsi tra loro tramite sinapsi (dirette) e ricevere ed emettere impulsi lungo di esse.\n

\n

\n Gli impulsi ricevuti vengono temporaneamente memorizzati dal neurone attraverso valori che decadono nel tempo.\n

\n

\n Se la somma dei valori di tutti gli impulsi ricevuti è maggiore di una certa soglia, allora il neurone emetterà un impulso.\n

\n
\n
\n
\n \n

\n Un modello semplificato di rete neurale in cui vengono considerati solo tempi discreti, e non è presente la memorizzazione degli impulsi nel tempo.\n

\n \n È importante perchè dimostra che le reti neurali possono elaborare qualsiasi cosa, ma incompleto perchè non descrive nessun metodo per la loro creazione automatica.\n \n
\n \n

\n I neuroni emettono in un dato istante se la somma dei loro impulsi nell'istante precedente è maggiore o uguale a 1.\n

\n
\n \n

\n Le sinapsi hanno una intensità: è un moltiplicatore che viene applicato a tutti gli impulsi transitanti la sinapsi.\n

\n
\n
\n
\n \n

\n Un neurone con una sinapsi entrante con intensità {r`-1`}.\n

\n
\n \n

\n Un neurone con due o più sinapsi entranti con intensità {r`1`}.\n

\n
\n \n

\n Un neurone con due o più sinapsi entranti con intensità {r`\\frac{1}{numero\\ sinapsi}`}.\n

\n
\n
\n
\n \n

\n Un'estensione del modello booleano per permettere l'apprendimento automatico delle configurazioni giuste di neuroni.\n

\n

\n Tra le altre cose, proibisce sinapsi entranti e uscenti dallo stesso neurone.\n

\n

\n Non è molto avanzato e funzionale, ma incentiva ulteriori studi nel campo.\n

\n
\n \n \n \n Simbolo\n Descrizione\n \n \n \n \n {r`N`}\n Numero totale di neuroni nel sistema\n \n \n {r`n`}\n Numero di un neurone specifico\n \n \n {r`w_{nm}`}\n Intensità della sinapsi diretta da {r`n`} verso {r`m`}\n \n \n {r`\\theta_n`}\n Soglia di attivazione del neurone {r`n`}\n \n \n {r`x_n(t)`}\n Emissione del neurone {r`n`} nel momento {r`t`}\n \n \n {r`X(t)`}\n Vettore contenente tutte le emissioni dei neuroni nel momento {r`t`}\n \n \n {r`I_n(X(t))`}\n Somma degli ingressi del neurone {r`n`} nel momento {r`t`}\n \n \n {r`A`}\n Un pattern di neuroni\n \n \n {r`a_i`}\n Un neurone appartenente a un pattern\n \n \n {r`Q(A, B)`}\n Sovrapposizione tra il pattern {r`A`} e il pattern {r`B`}\n \n \n \n \n

\n In ogni istante, i neuroni emettono:\n

\n
    \n
  • {r`0`} se gli input sono inferiori alla soglia
  • \n
  • {r`1`} se gli input superano la soglia
  • \n
  • il valore precedente se gli input sono uguali alla soglia
  • \n
\n
\n
\n
\n \n

\n Se le connessioni sono simmetriche, la rete neurale tenderà a un punto fisso: il sistema evolve fino a raggiungere un attrattore.\n

\n

\n TODO: E quindi...?\n

\n
\n \n

\n Un metodo per realizzare l'apprendimento nel modello di Hopfield.\n

\n

\n Si incrementa l'intensità delle sinapsi che connettono neuroni nello stesso stato, e invece si decrementa l'intensità di quelle che connettono neuroni in stati opposti.\n

\n

\n Considerando i neuroni spenti e quelli accesi come {r`0`} e {r`1`} rispettivamente, si ha che per ogni pattern:\n

\n {r`\n \\Delta w_{ik} = (2 \\cdot A_i - 1)(2 \\cdot A_k - 1)\n `}\n \n Così facendo, si insegna sia il pattern normale sia il suo complementare!\n \n

\n TODO: Dopo ci sono tante dimostrazioni...\n

\n
\n \n

\n Il numero di neuroni attivati in entrambi i pattern.\n

\n {r`\n Q(A, B) = \\sum_{i = 1}^n A_i B_i\n `}\n
\n \n

\n Più pattern vengono imparati da un modello, più è facile che essi interferiscano tra loro.\n

\n

\n In caso di pattern completamente scorrelati tra loro, il limite di pattern imparabili è circa:\n

\n \n {r`0.14 \\cdot N`}\n \n
\n
\n
\n \n

\n Un modello di rete neurale che supporta l'apprendimento e che presenta più strati di neuroni (detti percettroni).\n

\n
\n
\n
\n )\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"inline\":\"inline__1yl8V\",\"block\":\"block__fPiiB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"todo\":\"todo__2IWIS\"};","import Split from \"../Layout/Split\";\nimport {Fragment} from \"preact\";\n\nexport default function (props) {\n return (\n \n

\n {props.title}\n

\n \n {props.children}\n \n
\n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"title__3ZVpg\",\"contents\":\"contents__20_NI\"};","import {createContext} from \"preact\";\n\nexport default createContext(null);\n","import style from './Latex.less';\nimport {useContext} from \"preact/hooks\";\nimport LatexRenderColor from \"../../contexts/LatexRenderColor\";\nimport LatexDefaultInline from \"../../contexts/LatexDefaultInline\";\nimport LatexDefaultDisplay from \"../../contexts/LatexDefaultDisplay\";\n\nexport const LatexDisplay = Object.freeze({\n INLINE: style.inline,\n BLOCK: style.block,\n})\n\nexport default function(props) {\n // black, blue, brown, cyan, darkgray, gray, green, lightgray, lime, magenta, olive, orange, pink, purple, red, teal, violet, white, yellow\n let renderColor = useContext(LatexRenderColor);\n let defaultInline = useContext(LatexDefaultInline);\n let defaultDisplay = useContext(LatexDefaultDisplay);\n\n let inline;\n if(props.inline === undefined) {\n inline = defaultInline;\n }\n else {\n inline = props.inline;\n }\n\n let display;\n if(props.display === undefined) {\n if(defaultDisplay === null) {\n display = LatexDisplay.INLINE;\n }\n else {\n display = defaultDisplay;\n }\n }\n else {\n display = props.display;\n }\n\n if(inline) {\n let equation = `\\\\inline {\\\\color{${renderColor}} ${props.children} }`;\n return (\n {props.children}\n\n );\n }\n else {\n let equation = `{\\\\color{${renderColor}} ${props.children} }`;\n return (\n {props.children}\n\n );\n }\n}\n","import {Component} from 'preact'\nimport style from \"./Timer.less\"\n\n\nexport default class Timer extends Component {\n constructor() {\n super();\n this.state = {\n \"now\": Date.now()\n };\n this.timer = null;\n }\n\n componentDidMount() {\n this.timer = setInterval(() => {\n this.setState({\"now\": Date.now()})\n }, 1000)\n }\n\n componentWillUnmount() {\n if(this.timer !== null) {\n clearInterval(this.timer)\n }\n }\n\n render() {\n let dateTo = \"Unknown date\";\n let className = style.timer;\n\n let parts = {\n milliseconds: \"?\",\n seconds: \"?\",\n minutes: \"?\",\n hours: \"?\",\n days: \"?\",\n };\n\n if(this.props.to) {\n dateTo = new Date(this.props.to);\n let timeLeft = dateTo - this.state.now;\n\n if(timeLeft > 0) {\n parts = {\n milliseconds: timeLeft % 1000,\n seconds: Math.floor(timeLeft / 1000) % 60,\n minutes: Math.floor(timeLeft / 60000) % 60,\n hours: Math.floor(timeLeft / 3600000) % 24,\n days: Math.floor(timeLeft / 86400000),\n };\n }\n\n else {\n parts = {\n milliseconds: 0,\n seconds: 0,\n minutes: 0,\n hours: 0,\n days: 0,\n };\n\n className += \" \" + style.expired;\n }\n }\n else {\n className += \" \" + style.unknown;\n }\n\n return (\n
\n
\n {parts.days}\n
\n
\n giorni\n
\n
\n {parts.hours}\n
\n
\n ore\n
\n
\n {parts.minutes}\n
\n
\n minuti\n
\n
\n {parts.seconds}\n
\n
\n secondi\n
\n
\n )\n }\n}\n","import { options } from 'preact';\n\n/** @type {number} */\nlet currentIndex;\n\n/** @type {import('./internal').Component} */\nlet currentComponent;\n\n/** @type {number} */\nlet currentHook = 0;\n\n/** @type {Array} */\nlet afterPaintEffects = [];\n\nlet oldBeforeRender = options._render;\nlet oldAfterDiff = options.diffed;\nlet oldCommit = options._commit;\nlet oldBeforeUnmount = options.unmount;\n\nconst RAF_TIMEOUT = 100;\nlet prevRaf;\n\noptions._render = vnode => {\n\tif (oldBeforeRender) oldBeforeRender(vnode);\n\n\tcurrentComponent = vnode._component;\n\tcurrentIndex = 0;\n\n\tconst hooks = currentComponent.__hooks;\n\tif (hooks) {\n\t\thooks._pendingEffects.forEach(invokeCleanup);\n\t\thooks._pendingEffects.forEach(invokeEffect);\n\t\thooks._pendingEffects = [];\n\t}\n};\n\noptions.diffed = vnode => {\n\tif (oldAfterDiff) oldAfterDiff(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks && c.__hooks._pendingEffects.length) {\n\t\tafterPaint(afterPaintEffects.push(c));\n\t}\n};\n\noptions._commit = (vnode, commitQueue) => {\n\tcommitQueue.some(component => {\n\t\ttry {\n\t\t\tcomponent._renderCallbacks.forEach(invokeCleanup);\n\t\t\tcomponent._renderCallbacks = component._renderCallbacks.filter(cb =>\n\t\t\t\tcb._value ? invokeEffect(cb) : true\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tcommitQueue.some(c => {\n\t\t\t\tif (c._renderCallbacks) c._renderCallbacks = [];\n\t\t\t});\n\t\t\tcommitQueue = [];\n\t\t\toptions._catchError(e, component._vnode);\n\t\t}\n\t});\n\n\tif (oldCommit) oldCommit(vnode, commitQueue);\n};\n\noptions.unmount = vnode => {\n\tif (oldBeforeUnmount) oldBeforeUnmount(vnode);\n\n\tconst c = vnode._component;\n\tif (c && c.__hooks) {\n\t\ttry {\n\t\t\tc.__hooks._list.forEach(invokeCleanup);\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t}\n};\n\n/**\n * Get a hook's state from the currentComponent\n * @param {number} index The index of the hook to get\n * @param {number} type The index of the hook to get\n * @returns {import('./internal').HookState}\n */\nfunction getHookState(index, type) {\n\tif (options._hook) {\n\t\toptions._hook(currentComponent, index, currentHook || type);\n\t}\n\tcurrentHook = 0;\n\n\t// Largely inspired by:\n\t// * https://github.com/michael-klein/funcy.js/blob/f6be73468e6ec46b0ff5aa3cc4c9baf72a29025a/src/hooks/core_hooks.mjs\n\t// * https://github.com/michael-klein/funcy.js/blob/650beaa58c43c33a74820a3c98b3c7079cf2e333/src/renderer.mjs\n\t// Other implementations to look at:\n\t// * https://codesandbox.io/s/mnox05qp8\n\tconst hooks =\n\t\tcurrentComponent.__hooks ||\n\t\t(currentComponent.__hooks = {\n\t\t\t_list: [],\n\t\t\t_pendingEffects: []\n\t\t});\n\n\tif (index >= hooks._list.length) {\n\t\thooks._list.push({});\n\t}\n\treturn hooks._list[index];\n}\n\n/**\n * @param {import('./index').StateUpdater} initialState\n */\nexport function useState(initialState) {\n\tcurrentHook = 1;\n\treturn useReducer(invokeOrReturn, initialState);\n}\n\n/**\n * @param {import('./index').Reducer} reducer\n * @param {import('./index').StateUpdater} initialState\n * @param {(initialState: any) => void} [init]\n * @returns {[ any, (state: any) => void ]}\n */\nexport function useReducer(reducer, initialState, init) {\n\t/** @type {import('./internal').ReducerHookState} */\n\tconst hookState = getHookState(currentIndex++, 2);\n\thookState._reducer = reducer;\n\tif (!hookState._component) {\n\t\thookState._component = currentComponent;\n\n\t\thookState._value = [\n\t\t\t!init ? invokeOrReturn(undefined, initialState) : init(initialState),\n\n\t\t\taction => {\n\t\t\t\tconst nextValue = hookState._reducer(hookState._value[0], action);\n\t\t\t\tif (hookState._value[0] !== nextValue) {\n\t\t\t\t\thookState._value[0] = nextValue;\n\t\t\t\t\thookState._component.setState({});\n\t\t\t\t}\n\t\t\t}\n\t\t];\n\t}\n\n\treturn hookState._value;\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 3);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._args = args;\n\n\t\tcurrentComponent.__hooks._pendingEffects.push(state);\n\t}\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useLayoutEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++, 4);\n\tif (!options._skipEffects && argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._args = args;\n\n\t\tcurrentComponent._renderCallbacks.push(state);\n\t}\n}\n\nexport function useRef(initialValue) {\n\tcurrentHook = 5;\n\treturn useMemo(() => ({ current: initialValue }), []);\n}\n\n/**\n * @param {object} ref\n * @param {() => object} createHandle\n * @param {any[]} args\n */\nexport function useImperativeHandle(ref, createHandle, args) {\n\tcurrentHook = 6;\n\tuseLayoutEffect(\n\t\t() => {\n\t\t\tif (typeof ref == 'function') ref(createHandle());\n\t\t\telse if (ref) ref.current = createHandle();\n\t\t},\n\t\targs == null ? args : args.concat(ref)\n\t);\n}\n\n/**\n * @param {() => any} factory\n * @param {any[]} args\n */\nexport function useMemo(factory, args) {\n\t/** @type {import('./internal').MemoHookState} */\n\tconst state = getHookState(currentIndex++, 7);\n\tif (argsChanged(state._args, args)) {\n\t\tstate._args = args;\n\t\tstate._factory = factory;\n\t\treturn (state._value = factory());\n\t}\n\n\treturn state._value;\n}\n\n/**\n * @param {() => void} callback\n * @param {any[]} args\n */\nexport function useCallback(callback, args) {\n\tcurrentHook = 8;\n\treturn useMemo(() => callback, args);\n}\n\n/**\n * @param {import('./internal').PreactContext} context\n */\nexport function useContext(context) {\n\tconst provider = currentComponent.context[context._id];\n\t// We could skip this call here, but than we'd not call\n\t// `options._hook`. We need to do that in order to make\n\t// the devtools aware of this hook.\n\tconst state = getHookState(currentIndex++, 9);\n\t// The devtools needs access to the context object to\n\t// be able to pull of the default value when no provider\n\t// is present in the tree.\n\tstate._context = context;\n\tif (!provider) return context._defaultValue;\n\t// This is probably not safe to convert to \"!\"\n\tif (state._value == null) {\n\t\tstate._value = true;\n\t\tprovider.sub(currentComponent);\n\t}\n\treturn provider.props.value;\n}\n\n/**\n * Display a custom label for a custom hook for the devtools panel\n * @type {(value: T, cb?: (value: T) => string | number) => void}\n */\nexport function useDebugValue(value, formatter) {\n\tif (options.useDebugValue) {\n\t\toptions.useDebugValue(formatter ? formatter(value) : value);\n\t}\n}\n\nexport function useErrorBoundary(cb) {\n\tconst state = getHookState(currentIndex++, 10);\n\tconst errState = useState();\n\tstate._value = cb;\n\tif (!currentComponent.componentDidCatch) {\n\t\tcurrentComponent.componentDidCatch = err => {\n\t\t\tif (state._value) state._value(err);\n\t\t\terrState[1](err);\n\t\t};\n\t}\n\treturn [\n\t\terrState[0],\n\t\t() => {\n\t\t\terrState[1](undefined);\n\t\t}\n\t];\n}\n\n/**\n * After paint effects consumer.\n */\nfunction flushAfterPaintEffects() {\n\tafterPaintEffects.some(component => {\n\t\tif (component._parentDom) {\n\t\t\ttry {\n\t\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeCleanup);\n\t\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeEffect);\n\t\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t\t} catch (e) {\n\t\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t\t\toptions._catchError(e, component._vnode);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t});\n\tafterPaintEffects = [];\n}\n\n/**\n * Schedule a callback to be invoked after the browser has a chance to paint a new frame.\n * Do this by combining requestAnimationFrame (rAF) + setTimeout to invoke a callback after\n * the next browser frame.\n *\n * Also, schedule a timeout in parallel to the the rAF to ensure the callback is invoked\n * even if RAF doesn't fire (for example if the browser tab is not visible)\n *\n * @param {() => void} callback\n */\nfunction afterNextFrame(callback) {\n\tconst done = () => {\n\t\tclearTimeout(timeout);\n\t\tcancelAnimationFrame(raf);\n\t\tsetTimeout(callback);\n\t};\n\tconst timeout = setTimeout(done, RAF_TIMEOUT);\n\n\tlet raf;\n\tif (typeof window != 'undefined') {\n\t\traf = requestAnimationFrame(done);\n\t}\n}\n\n// Note: if someone used options.debounceRendering = requestAnimationFrame,\n// then effects will ALWAYS run on the NEXT frame instead of the current one, incurring a ~16ms delay.\n// Perhaps this is not such a big deal.\n/**\n * Schedule afterPaintEffects flush after the browser paints\n * @param {number} newQueueLength\n */\nfunction afterPaint(newQueueLength) {\n\tif (newQueueLength === 1 || prevRaf !== options.requestAnimationFrame) {\n\t\tprevRaf = options.requestAnimationFrame;\n\t\t(prevRaf || afterNextFrame)(flushAfterPaintEffects);\n\t}\n}\n\n/**\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeCleanup(hook) {\n\tif (typeof hook._cleanup == 'function') hook._cleanup();\n}\n\n/**\n * Invoke a Hook's effect\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeEffect(hook) {\n\thook._cleanup = hook._value();\n}\n\n/**\n * @param {any[]} oldArgs\n * @param {any[]} newArgs\n */\nfunction argsChanged(oldArgs, newArgs) {\n\treturn !oldArgs || newArgs.some((arg, index) => arg !== oldArgs[index]);\n}\n\nfunction invokeOrReturn(arg, f) {\n\treturn typeof f == 'function' ? f(arg) : f;\n}\n","import style from \"./Todo.less\";\n\nexport default function (props) {\n\tif(process.env.NODE_ENV === \"development\") {\n\t\treturn {props.children};\n\t}\n\telse {\n\t\treturn null;\n\t}\n}\n","import style from \"./Split.less\";\n\nexport default function (props) {\n let children;\n\n if(Array.isArray(props.children)) {\n children = props.children.map(element => {\n return (\n
\n {element}\n
\n );\n });\n }\n\n else {\n children = (\n
\n {props.children}\n
\n );\n }\n return (\n
\n
{children}
\n
\n );\n}\n","import BLatex from \"./BLatex\";\n\nexport default function (props) {\n return (\n

\n {props.children}\n

\n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tablepanel\":\"tablepanel__1Wil3\"};","import style from \"./Example.less\";\nimport {Component} from \"preact\";\n\nexport default function(props) {\n return (\n
\n {props.children}\n
\n );\n}\n","import style from \"./Box.less\";\n\nexport const BoxColors = Object.freeze({\n RED: style.red,\n ORANGE: style.orange,\n YELLOW: style.yellow,\n LIME: style.lime,\n CYAN: style.cyan,\n BLUE: style.blue,\n MAGENTA: style.magenta,\n DEFAULT: style.default\n})\n\nexport default function (props) {\n let color = BoxColors.DEFAULT;\n if(props.color) {\n color = props.color;\n }\n\n return (\n
\n {props.children}\n
\n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"timer\":\"timer__3Z2pL\",\"days\":\"days__myhe2\",\"hours\":\"hours__3JUDn\",\"minutes\":\"minutes__24lD7\",\"seconds\":\"seconds__2vZ4f\",\"count\":\"count__chi9X\",\"text\":\"text__34ldC\",\"unknown\":\"unknown__3sT2P\",\"expired\":\"expired__zNiuP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"splitparent\":\"splitparent__3-wBs\",\"splitchild\":\"splitchild__begkX\"};","import style from \"./Panel.less\";\nimport Box from \"./Box\";\n\nexport default function(props) {\n\treturn (\n\t\t\n\t\t\t

\n\t\t\t\t{props.title}\n\t\t\t

\n\t\t\t
\n\t\t\t\t{props.children}\n\t\t\t
\n\t\t
\n\t);\n}\n","import {createContext} from \"preact\";\n\nexport default createContext(true);\n","import Latex, {LatexDisplay} from \"./Latex\";\n\nexport default function (props) {\n return (\n {props.children}\n );\n}\n","import Latex, {LatexDisplay} from \"./Latex\";\n\nexport default function (props) {\n return (\n {props.children}\n );\n}\n"],"sourceRoot":""}