From 228a036f16d42fce4bfc8ae4699360926c50c585 Mon Sep 17 00:00:00 2001 From: mdeluci <mdeluci@purdue.edu> Date: Thu, 20 Jun 2024 01:33:19 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20mdeluci/?= =?UTF-8?q?mdeluci.github.io@7bfc072100d13735c8a7dbd8d3f6ffab81a93abc=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/jupyter/blog.ipynb.html | 2 +- blog/2024/CahnHilliard/index.html | 2 +- feed.xml | 2 +- index.html | 2 +- publications/index.html | 26 +++++++++++++------------- sitemap.xml | 2 +- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/assets/jupyter/blog.ipynb.html b/assets/jupyter/blog.ipynb.html index ef913801..19c7d1b3 100644 --- a/assets/jupyter/blog.ipynb.html +++ b/assets/jupyter/blog.ipynb.html @@ -1,4 +1,4 @@ -<!DOCTYPE html> <html lang="en"> <head><meta charset="utf-8"/> <meta content="width=device-width, initial-scale=1.0" name="viewport"/> <title>jekyll-jupyter-notebook20240620-1832-jaz7p6</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> <style type="text/css">pre{line-height:125%}td.linenos .normal{color:inherit;background-color:transparent;padding-left:5px;padding-right:5px}span.linenos{color:inherit;background-color:transparent;padding-left:5px;padding-right:5px}td.linenos .special{color:#000;background-color:#ffffc0;padding-left:5px;padding-right:5px}span.linenos.special{color:#000;background-color:#ffffc0;padding-left:5px;padding-right:5px}.highlight .hll{background-color:var(--jp-cell-editor-active-background)}.highlight{background:var(--jp-cell-editor-background);color:var(--jp-mirror-editor-variable-color)}.highlight .c{color:var(--jp-mirror-editor-comment-color);font-style:italic}.highlight .err{color:var(--jp-mirror-editor-error-color)}.highlight .k{color:var(--jp-mirror-editor-keyword-color);font-weight:bold}.highlight .o{color:var(--jp-mirror-editor-operator-color);font-weight:bold}.highlight .p{color:var(--jp-mirror-editor-punctuation-color)}.highlight .ch{color:var(--jp-mirror-editor-comment-color);font-style:italic}.highlight .cm{color:var(--jp-mirror-editor-comment-color);font-style:italic}.highlight .cp{color:var(--jp-mirror-editor-comment-color);font-style:italic}.highlight .cpf{color:var(--jp-mirror-editor-comment-color);font-style:italic}.highlight .c1{color:var(--jp-mirror-editor-comment-color);font-style:italic}.highlight .cs{color:var(--jp-mirror-editor-comment-color);font-style:italic}.highlight .kc{color:var(--jp-mirror-editor-keyword-color);font-weight:bold}.highlight .kd{color:var(--jp-mirror-editor-keyword-color);font-weight:bold}.highlight .kn{color:var(--jp-mirror-editor-keyword-color);font-weight:bold}.highlight .kp{color:var(--jp-mirror-editor-keyword-color);font-weight:bold}.highlight .kr{color:var(--jp-mirror-editor-keyword-color);font-weight:bold}.highlight .kt{color:var(--jp-mirror-editor-keyword-color);font-weight:bold}.highlight .m{color:var(--jp-mirror-editor-number-color)}.highlight .s{color:var(--jp-mirror-editor-string-color)}.highlight .ow{color:var(--jp-mirror-editor-operator-color);font-weight:bold}.highlight .w{color:var(--jp-mirror-editor-variable-color)}.highlight .mb{color:var(--jp-mirror-editor-number-color)}.highlight .mf{color:var(--jp-mirror-editor-number-color)}.highlight .mh{color:var(--jp-mirror-editor-number-color)}.highlight .mi{color:var(--jp-mirror-editor-number-color)}.highlight .mo{color:var(--jp-mirror-editor-number-color)}.highlight .sa{color:var(--jp-mirror-editor-string-color)}.highlight .sb{color:var(--jp-mirror-editor-string-color)}.highlight .sc{color:var(--jp-mirror-editor-string-color)}.highlight .dl{color:var(--jp-mirror-editor-string-color)}.highlight .sd{color:var(--jp-mirror-editor-string-color)}.highlight .s2{color:var(--jp-mirror-editor-string-color)}.highlight .se{color:var(--jp-mirror-editor-string-color)}.highlight .sh{color:var(--jp-mirror-editor-string-color)}.highlight .si{color:var(--jp-mirror-editor-string-color)}.highlight .sx{color:var(--jp-mirror-editor-string-color)}.highlight .sr{color:var(--jp-mirror-editor-string-color)}.highlight .s1{color:var(--jp-mirror-editor-string-color)}.highlight .ss{color:var(--jp-mirror-editor-string-color)}.highlight .il{color:var(--jp-mirror-editor-number-color)}</style> <style type="text/css">[data-jp-theme-scrollbars='true']{scrollbar-color:rgb(var(--jp-scrollbar-thumb-color)) var(--jp-scrollbar-background-color)}[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar,[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar{scrollbar-color:rgba(var(--jp-scrollbar-thumb-color),0.5) transparent}.jp-scrollbar-tiny{scrollbar-color:rgba(var(--jp-scrollbar-thumb-color),0.5) transparent;scrollbar-width:thin}.jp-scrollbar-tiny::-webkit-scrollbar,.jp-scrollbar-tiny::-webkit-scrollbar-corner{background-color:transparent;height:4px;width:4px}.jp-scrollbar-tiny::-webkit-scrollbar-thumb{background:rgba(var(--jp-scrollbar-thumb-color),0.5)}.jp-scrollbar-tiny::-webkit-scrollbar-track:horizontal{border-left:0 solid transparent;border-right:0 solid transparent}.jp-scrollbar-tiny::-webkit-scrollbar-track:vertical{border-top:0 solid transparent;border-bottom:0 solid transparent}.lm-ScrollBar[data-orientation='horizontal']{min-height:16px;max-height:16px;min-width:45px;border-top:1px solid #a0a0a0}.lm-ScrollBar[data-orientation='vertical']{min-width:16px;max-width:16px;min-height:45px;border-left:1px solid #a0a0a0}.lm-ScrollBar-button{background-color:#f0f0f0;background-position:center center;min-height:15px;max-height:15px;min-width:15px;max-width:15px}.lm-ScrollBar-button:hover{background-color:#dadada}.lm-ScrollBar-button.lm-mod-active{background-color:#cdcdcd}.lm-ScrollBar-track{background:#f0f0f0}.lm-ScrollBar-thumb{background:#cdcdcd}.lm-ScrollBar-thumb:hover{background:#bababa}.lm-ScrollBar-thumb.lm-mod-active{background:#a0a0a0}.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-thumb{height:100%;min-width:15px;border-left:1px solid #a0a0a0;border-right:1px solid #a0a0a0}.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-thumb{width:100%;min-height:15px;border-top:1px solid #a0a0a0;border-bottom:1px solid #a0a0a0}.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-button[data-action='decrement']{background-image:var(--jp-icon-caret-left);background-size:17px}.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-button[data-action='increment']{background-image:var(--jp-icon-caret-right);background-size:17px}.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-button[data-action='decrement']{background-image:var(--jp-icon-caret-up);background-size:17px}.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-button[data-action='increment']{background-image:var(--jp-icon-caret-down);background-size:17px}.lm-Widget{box-sizing:border-box;position:relative;overflow:hidden}.lm-Widget.lm-mod-hidden{display:none!important}.lm-AccordionPanel[data-orientation='horizontal']>.lm-AccordionPanel-title{display:block;transform-origin:top left;transform:rotate(-90deg) translate(-100%)}.lm-CommandPalette{display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lm-CommandPalette-search{flex:0 0 auto}.lm-CommandPalette-content{flex:1 1 auto;margin:0;padding:0;min-height:0;overflow:auto;list-style-type:none}.lm-CommandPalette-header{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.lm-CommandPalette-item{display:flex;flex-direction:row}.lm-CommandPalette-itemIcon{flex:0 0 auto}.lm-CommandPalette-itemContent{flex:1 1 auto;overflow:hidden}.lm-CommandPalette-itemShortcut{flex:0 0 auto}.lm-CommandPalette-itemLabel{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.lm-close-icon{border:1px solid transparent;background-color:transparent;position:absolute;z-index:1;right:3%;top:0;bottom:0;margin:auto;padding:7px 0;display:none;vertical-align:middle;outline:0;cursor:pointer}.lm-close-icon:after{content:'X';display:block;width:15px;height:15px;text-align:center;color:#000;font-weight:normal;font-size:12px;cursor:pointer}.lm-DockPanel{z-index:0}.lm-DockPanel-widget{z-index:0}.lm-DockPanel-tabBar{z-index:1}.lm-DockPanel-handle{z-index:2}.lm-DockPanel-handle.lm-mod-hidden{display:none!important}.lm-DockPanel-handle:after{position:absolute;top:0;left:0;width:100%;height:100%;content:''}.lm-DockPanel-handle[data-orientation='horizontal']{cursor:ew-resize}.lm-DockPanel-handle[data-orientation='vertical']{cursor:ns-resize}.lm-DockPanel-handle[data-orientation='horizontal']:after{left:50%;min-width:8px;transform:translateX(-50%)}.lm-DockPanel-handle[data-orientation='vertical']:after{top:50%;min-height:8px;transform:translateY(-50%)}.lm-DockPanel-overlay{z-index:3;box-sizing:border-box;pointer-events:none} +<!DOCTYPE html> <html lang="en"> <head><meta charset="utf-8"/> <meta content="width=device-width, initial-scale=1.0" name="viewport"/> <title>jekyll-jupyter-notebook20240620-1900-bp3vtt</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> <style type="text/css">pre{line-height:125%}td.linenos .normal{color:inherit;background-color:transparent;padding-left:5px;padding-right:5px}span.linenos{color:inherit;background-color:transparent;padding-left:5px;padding-right:5px}td.linenos .special{color:#000;background-color:#ffffc0;padding-left:5px;padding-right:5px}span.linenos.special{color:#000;background-color:#ffffc0;padding-left:5px;padding-right:5px}.highlight .hll{background-color:var(--jp-cell-editor-active-background)}.highlight{background:var(--jp-cell-editor-background);color:var(--jp-mirror-editor-variable-color)}.highlight .c{color:var(--jp-mirror-editor-comment-color);font-style:italic}.highlight .err{color:var(--jp-mirror-editor-error-color)}.highlight .k{color:var(--jp-mirror-editor-keyword-color);font-weight:bold}.highlight .o{color:var(--jp-mirror-editor-operator-color);font-weight:bold}.highlight .p{color:var(--jp-mirror-editor-punctuation-color)}.highlight .ch{color:var(--jp-mirror-editor-comment-color);font-style:italic}.highlight .cm{color:var(--jp-mirror-editor-comment-color);font-style:italic}.highlight .cp{color:var(--jp-mirror-editor-comment-color);font-style:italic}.highlight .cpf{color:var(--jp-mirror-editor-comment-color);font-style:italic}.highlight .c1{color:var(--jp-mirror-editor-comment-color);font-style:italic}.highlight .cs{color:var(--jp-mirror-editor-comment-color);font-style:italic}.highlight .kc{color:var(--jp-mirror-editor-keyword-color);font-weight:bold}.highlight .kd{color:var(--jp-mirror-editor-keyword-color);font-weight:bold}.highlight .kn{color:var(--jp-mirror-editor-keyword-color);font-weight:bold}.highlight .kp{color:var(--jp-mirror-editor-keyword-color);font-weight:bold}.highlight .kr{color:var(--jp-mirror-editor-keyword-color);font-weight:bold}.highlight .kt{color:var(--jp-mirror-editor-keyword-color);font-weight:bold}.highlight .m{color:var(--jp-mirror-editor-number-color)}.highlight .s{color:var(--jp-mirror-editor-string-color)}.highlight .ow{color:var(--jp-mirror-editor-operator-color);font-weight:bold}.highlight .w{color:var(--jp-mirror-editor-variable-color)}.highlight .mb{color:var(--jp-mirror-editor-number-color)}.highlight .mf{color:var(--jp-mirror-editor-number-color)}.highlight .mh{color:var(--jp-mirror-editor-number-color)}.highlight .mi{color:var(--jp-mirror-editor-number-color)}.highlight .mo{color:var(--jp-mirror-editor-number-color)}.highlight .sa{color:var(--jp-mirror-editor-string-color)}.highlight .sb{color:var(--jp-mirror-editor-string-color)}.highlight .sc{color:var(--jp-mirror-editor-string-color)}.highlight .dl{color:var(--jp-mirror-editor-string-color)}.highlight .sd{color:var(--jp-mirror-editor-string-color)}.highlight .s2{color:var(--jp-mirror-editor-string-color)}.highlight .se{color:var(--jp-mirror-editor-string-color)}.highlight .sh{color:var(--jp-mirror-editor-string-color)}.highlight .si{color:var(--jp-mirror-editor-string-color)}.highlight .sx{color:var(--jp-mirror-editor-string-color)}.highlight .sr{color:var(--jp-mirror-editor-string-color)}.highlight .s1{color:var(--jp-mirror-editor-string-color)}.highlight .ss{color:var(--jp-mirror-editor-string-color)}.highlight .il{color:var(--jp-mirror-editor-number-color)}</style> <style type="text/css">[data-jp-theme-scrollbars='true']{scrollbar-color:rgb(var(--jp-scrollbar-thumb-color)) var(--jp-scrollbar-background-color)}[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar,[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar{scrollbar-color:rgba(var(--jp-scrollbar-thumb-color),0.5) transparent}.jp-scrollbar-tiny{scrollbar-color:rgba(var(--jp-scrollbar-thumb-color),0.5) transparent;scrollbar-width:thin}.jp-scrollbar-tiny::-webkit-scrollbar,.jp-scrollbar-tiny::-webkit-scrollbar-corner{background-color:transparent;height:4px;width:4px}.jp-scrollbar-tiny::-webkit-scrollbar-thumb{background:rgba(var(--jp-scrollbar-thumb-color),0.5)}.jp-scrollbar-tiny::-webkit-scrollbar-track:horizontal{border-left:0 solid transparent;border-right:0 solid transparent}.jp-scrollbar-tiny::-webkit-scrollbar-track:vertical{border-top:0 solid transparent;border-bottom:0 solid transparent}.lm-ScrollBar[data-orientation='horizontal']{min-height:16px;max-height:16px;min-width:45px;border-top:1px solid #a0a0a0}.lm-ScrollBar[data-orientation='vertical']{min-width:16px;max-width:16px;min-height:45px;border-left:1px solid #a0a0a0}.lm-ScrollBar-button{background-color:#f0f0f0;background-position:center center;min-height:15px;max-height:15px;min-width:15px;max-width:15px}.lm-ScrollBar-button:hover{background-color:#dadada}.lm-ScrollBar-button.lm-mod-active{background-color:#cdcdcd}.lm-ScrollBar-track{background:#f0f0f0}.lm-ScrollBar-thumb{background:#cdcdcd}.lm-ScrollBar-thumb:hover{background:#bababa}.lm-ScrollBar-thumb.lm-mod-active{background:#a0a0a0}.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-thumb{height:100%;min-width:15px;border-left:1px solid #a0a0a0;border-right:1px solid #a0a0a0}.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-thumb{width:100%;min-height:15px;border-top:1px solid #a0a0a0;border-bottom:1px solid #a0a0a0}.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-button[data-action='decrement']{background-image:var(--jp-icon-caret-left);background-size:17px}.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-button[data-action='increment']{background-image:var(--jp-icon-caret-right);background-size:17px}.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-button[data-action='decrement']{background-image:var(--jp-icon-caret-up);background-size:17px}.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-button[data-action='increment']{background-image:var(--jp-icon-caret-down);background-size:17px}.lm-Widget{box-sizing:border-box;position:relative;overflow:hidden}.lm-Widget.lm-mod-hidden{display:none!important}.lm-AccordionPanel[data-orientation='horizontal']>.lm-AccordionPanel-title{display:block;transform-origin:top left;transform:rotate(-90deg) translate(-100%)}.lm-CommandPalette{display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lm-CommandPalette-search{flex:0 0 auto}.lm-CommandPalette-content{flex:1 1 auto;margin:0;padding:0;min-height:0;overflow:auto;list-style-type:none}.lm-CommandPalette-header{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.lm-CommandPalette-item{display:flex;flex-direction:row}.lm-CommandPalette-itemIcon{flex:0 0 auto}.lm-CommandPalette-itemContent{flex:1 1 auto;overflow:hidden}.lm-CommandPalette-itemShortcut{flex:0 0 auto}.lm-CommandPalette-itemLabel{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.lm-close-icon{border:1px solid transparent;background-color:transparent;position:absolute;z-index:1;right:3%;top:0;bottom:0;margin:auto;padding:7px 0;display:none;vertical-align:middle;outline:0;cursor:pointer}.lm-close-icon:after{content:'X';display:block;width:15px;height:15px;text-align:center;color:#000;font-weight:normal;font-size:12px;cursor:pointer}.lm-DockPanel{z-index:0}.lm-DockPanel-widget{z-index:0}.lm-DockPanel-tabBar{z-index:1}.lm-DockPanel-handle{z-index:2}.lm-DockPanel-handle.lm-mod-hidden{display:none!important}.lm-DockPanel-handle:after{position:absolute;top:0;left:0;width:100%;height:100%;content:''}.lm-DockPanel-handle[data-orientation='horizontal']{cursor:ew-resize}.lm-DockPanel-handle[data-orientation='vertical']{cursor:ns-resize}.lm-DockPanel-handle[data-orientation='horizontal']:after{left:50%;min-width:8px;transform:translateX(-50%)}.lm-DockPanel-handle[data-orientation='vertical']:after{top:50%;min-height:8px;transform:translateY(-50%)}.lm-DockPanel-overlay{z-index:3;box-sizing:border-box;pointer-events:none} .lm-DockPanel-overlay.lm-mod-hidden{display:none!important}.lm-Menu{z-index:10000;position:absolute;white-space:nowrap;overflow-x:hidden;overflow-y:auto;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lm-Menu-content{margin:0;padding:0;display:table;list-style-type:none}.lm-Menu-item{display:table-row}.lm-Menu-item.lm-mod-hidden,.lm-Menu-item.lm-mod-collapsed{display:none!important}.lm-Menu-itemIcon,.lm-Menu-itemSubmenuIcon{display:table-cell;text-align:center}.lm-Menu-itemLabel{display:table-cell;text-align:left}.lm-Menu-itemShortcut{display:table-cell;text-align:right}.lm-MenuBar{outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lm-MenuBar-content{margin:0;padding:0;display:flex;flex-direction:row;list-style-type:none}.lm-MenuBar-item{box-sizing:border-box}.lm-MenuBar-itemIcon,.lm-MenuBar-itemLabel{display:inline-block}.lm-ScrollBar{display:flex;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lm-ScrollBar[data-orientation='horizontal']{flex-direction:row}.lm-ScrollBar[data-orientation='vertical']{flex-direction:column}.lm-ScrollBar-button{box-sizing:border-box;flex:0 0 auto}.lm-ScrollBar-track{box-sizing:border-box;position:relative;overflow:hidden;flex:1 1 auto}.lm-ScrollBar-thumb{box-sizing:border-box;position:absolute}.lm-SplitPanel-child{z-index:0}.lm-SplitPanel-handle{z-index:1}.lm-SplitPanel-handle.lm-mod-hidden{display:none!important}.lm-SplitPanel-handle:after{position:absolute;top:0;left:0;width:100%;height:100%;content:''}.lm-SplitPanel[data-orientation='horizontal']>.lm-SplitPanel-handle{cursor:ew-resize}.lm-SplitPanel[data-orientation='vertical']>.lm-SplitPanel-handle{cursor:ns-resize}.lm-SplitPanel[data-orientation='horizontal']>.lm-SplitPanel-handle:after{left:50%;min-width:8px;transform:translateX(-50%)}.lm-SplitPanel[data-orientation='vertical']>.lm-SplitPanel-handle:after{top:50%;min-height:8px;transform:translateY(-50%)}.lm-TabBar{display:flex;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lm-TabBar[data-orientation='horizontal']{flex-direction:row;align-items:flex-end}.lm-TabBar[data-orientation='vertical']{flex-direction:column;align-items:flex-end}.lm-TabBar-content{margin:0;padding:0;display:flex;flex:1 1 auto;list-style-type:none}.lm-TabBar[data-orientation='horizontal']>.lm-TabBar-content{flex-direction:row}.lm-TabBar[data-orientation='vertical']>.lm-TabBar-content{flex-direction:column}.lm-TabBar-tab{display:flex;flex-direction:row;box-sizing:border-box;overflow:hidden;touch-action:none}.lm-TabBar-tabIcon,.lm-TabBar-tabCloseIcon{flex:0 0 auto}.lm-TabBar-tabLabel{flex:1 1 auto;overflow:hidden;white-space:nowrap}.lm-TabBar-tabInput{user-select:all;width:100%;box-sizing:border-box}.lm-TabBar-tab.lm-mod-hidden{display:none!important}.lm-TabBar-addButton.lm-mod-hidden{display:none!important}.lm-TabBar.lm-mod-dragging .lm-TabBar-tab{position:relative}.lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab{left:0;transition:left 150ms ease}.lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab{top:0;transition:top 150ms ease}.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging{transition:none}.lm-TabBar-tabLabel .lm-TabBar-tabInput{user-select:all;width:100%;box-sizing:border-box;background:inherit}.lm-TabPanel-tabBar{z-index:1}.lm-TabPanel-stackedPanel{z-index:0}.jp-Collapse{display:flex;flex-direction:column;align-items:stretch}.jp-Collapse-header{padding:1px 12px;background-color:var(--jp-layout-color1);border-bottom:solid var(--jp-border-width) var(--jp-border-color2);color:var(--jp-ui-font-color1);cursor:pointer;display:flex;align-items:center;font-size:var(--jp-ui-font-size0);font-weight:600;text-transform:uppercase;user-select:none}.jp-Collapser-icon{height:16px}.jp-Collapse-header-collapsed .jp-Collapser-icon{transform:rotate(-90deg);margin:auto 0}.jp-Collapser-title{line-height:25px}.jp-Collapse-contents{padding:0 12px;background-color:var(--jp-layout-color1);color:var(--jp-ui-font-color1);overflow:auto}:root{--jp-icon-add-above:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEzN18xOTQ5MikiPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGQ9Ik00Ljc1IDQuOTMwNjZINi42MjVWNi44MDU2NkM2LjYyNSA3LjAxMTkxIDYuNzkzNzUgNy4xODA2NiA3IDcuMTgwNjZDNy4yMDYyNSA3LjE4MDY2IDcuMzc1IDcuMDExOTEgNy4zNzUgNi44MDU2NlY0LjkzMDY2SDkuMjVDOS40NTYyNSA0LjkzMDY2IDkuNjI1IDQuNzYxOTEgOS42MjUgNC41NTU2NkM5LjYyNSA0LjM0OTQxIDkuNDU2MjUgNC4xODA2NiA5LjI1IDQuMTgwNjZINy4zNzVWMi4zMDU2NkM3LjM3NSAyLjA5OTQxIDcuMjA2MjUgMS45MzA2NiA3IDEuOTMwNjZDNi43OTM3NSAxLjkzMDY2IDYuNjI1IDIuMDk5NDEgNi42MjUgMi4zMDU2NlY0LjE4MDY2SDQuNzVDNC41NDM3NSA0LjE4MDY2IDQuMzc1IDQuMzQ5NDEgNC4zNzUgNC41NTU2NkM0LjM3NSA0Ljc2MTkxIDQuNTQzNzUgNC45MzA2NiA0Ljc1IDQuOTMwNjZaIiBmaWxsPSIjNjE2MTYxIiBzdHJva2U9IiM2MTYxNjEiIHN0cm9rZS13aWR0aD0iMC43Ii8+CjwvZz4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjUgOS41VjExLjVMMi41IDExLjVWOS41TDExLjUgOS41Wk0xMiA4QzEyLjU1MjMgOCAxMyA4LjQ0NzcyIDEzIDlWMTJDMTMgMTIuNTUyMyAxMi41NTIzIDEzIDEyIDEzTDIgMTNDMS40NDc3MiAxMyAxIDEyLjU1MjMgMSAxMlY5QzEgOC40NDc3MiAxLjQ0NzcxIDggMiA4TDEyIDhaIiBmaWxsPSIjNjE2MTYxIi8+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEzN18xOTQ5MiI+CjxyZWN0IGNsYXNzPSJqcC1pY29uMyIgd2lkdGg9IjYiIGhlaWdodD0iNiIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDAgMCAxIDEwIDEuNTU1NjYpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==);--jp-icon-add-below:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEzN18xOTQ5OCkiPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGQ9Ik05LjI1IDEwLjA2OTNMNy4zNzUgMTAuMDY5M0w3LjM3NSA4LjE5NDM0QzcuMzc1IDcuOTg4MDkgNy4yMDYyNSA3LjgxOTM0IDcgNy44MTkzNEM2Ljc5Mzc1IDcuODE5MzQgNi42MjUgNy45ODgwOSA2LjYyNSA4LjE5NDM0TDYuNjI1IDEwLjA2OTNMNC43NSAxMC4wNjkzQzQuNTQzNzUgMTAuMDY5MyA0LjM3NSAxMC4yMzgxIDQuMzc1IDEwLjQ0NDNDNC4zNzUgMTAuNjUwNiA0LjU0Mzc1IDEwLjgxOTMgNC43NSAxMC44MTkzTDYuNjI1IDEwLjgxOTNMNi42MjUgMTIuNjk0M0M2LjYyNSAxMi45MDA2IDYuNzkzNzUgMTMuMDY5MyA3IDEzLjA2OTNDNy4yMDYyNSAxMy4wNjkzIDcuMzc1IDEyLjkwMDYgNy4zNzUgMTIuNjk0M0w3LjM3NSAxMC44MTkzTDkuMjUgMTAuODE5M0M5LjQ1NjI1IDEwLjgxOTMgOS42MjUgMTAuNjUwNiA5LjYyNSAxMC40NDQzQzkuNjI1IDEwLjIzODEgOS40NTYyNSAxMC4wNjkzIDkuMjUgMTAuMDY5M1oiIGZpbGw9IiM2MTYxNjEiIHN0cm9rZT0iIzYxNjE2MSIgc3Ryb2tlLXdpZHRoPSIwLjciLz4KPC9nPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMi41IDUuNUwyLjUgMy41TDExLjUgMy41TDExLjUgNS41TDIuNSA1LjVaTTIgN0MxLjQ0NzcyIDcgMSA2LjU1MjI4IDEgNkwxIDNDMSAyLjQ0NzcyIDEuNDQ3NzIgMiAyIDJMMTIgMkMxMi41NTIzIDIgMTMgMi40NDc3MiAxMyAzTDEzIDZDMTMgNi41NTIyOSAxMi41NTIzIDcgMTIgN0wyIDdaIiBmaWxsPSIjNjE2MTYxIi8+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEzN18xOTQ5OCI+CjxyZWN0IGNsYXNzPSJqcC1pY29uMyIgd2lkdGg9IjYiIGhlaWdodD0iNiIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0ibWF0cml4KDEgMS43NDg0NmUtMDcgMS43NDg0NmUtMDcgLTEgNCAxMy40NDQzKSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=);--jp-icon-add:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDEzaC02djZoLTJ2LTZINXYtMmg2VjVoMnY2aDZ2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=);--jp-icon-bell:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiB2ZXJzaW9uPSIxLjEiPgogICA8cGF0aCBjbGFzcz0ianAtaWNvbjIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMzMzMzMzIgogICAgICBkPSJtOCAwLjI5Yy0xLjQgMC0yLjcgMC43My0zLjYgMS44LTEuMiAxLjUtMS40IDMuNC0xLjUgNS4yLTAuMTggMi4yLTAuNDQgNC0yLjMgNS4zbDAuMjggMS4zaDVjMC4wMjYgMC42NiAwLjMyIDEuMSAwLjcxIDEuNSAwLjg0IDAuNjEgMiAwLjYxIDIuOCAwIDAuNTItMC40IDAuNi0xIDAuNzEtMS41aDVsMC4yOC0xLjNjLTEuOS0wLjk3LTIuMi0zLjMtMi4zLTUuMy0wLjEzLTEuOC0wLjI2LTMuNy0xLjUtNS4yLTAuODUtMS0yLjItMS44LTMuNi0xLjh6bTAgMS40YzAuODggMCAxLjkgMC41NSAyLjUgMS4zIDAuODggMS4xIDEuMSAyLjcgMS4yIDQuNCAwLjEzIDEuNyAwLjIzIDMuNiAxLjMgNS4yaC0xMGMxLjEtMS42IDEuMi0zLjQgMS4zLTUuMiAwLjEzLTEuNyAwLjMtMy4zIDEuMi00LjQgMC41OS0wLjcyIDEuNi0xLjMgMi41LTEuM3ptLTAuNzQgMTJoMS41Yy0wLjAwMTUgMC4yOCAwLjAxNSAwLjc5LTAuNzQgMC43OS0wLjczIDAuMDAxNi0wLjcyLTAuNTMtMC43NC0wLjc5eiIgLz4KPC9zdmc+Cg==);--jp-icon-bug-dot:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiPgogICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTcuMTkgOEgyMFYxMEgxNy45MUMxNy45NiAxMC4zMyAxOCAxMC42NiAxOCAxMVYxMkgyMFYxNEgxOC41SDE4VjE0LjAyNzVDMTUuNzUgMTQuMjc2MiAxNCAxNi4xODM3IDE0IDE4LjVDMTQgMTkuMjA4IDE0LjE2MzUgMTkuODc3OSAxNC40NTQ5IDIwLjQ3MzlDMTMuNzA2MyAyMC44MTE3IDEyLjg3NTcgMjEgMTIgMjFDOS43OCAyMSA3Ljg1IDE5Ljc5IDYuODEgMThINFYxNkg2LjA5QzYuMDQgMTUuNjcgNiAxNS4zNCA2IDE1VjE0SDRWMTJINlYxMUM2IDEwLjY2IDYuMDQgMTAuMzMgNi4wOSAxMEg0VjhINi44MUM3LjI2IDcuMjIgNy44OCA2LjU1IDguNjIgNi4wNEw3IDQuNDFMOC40MSAzTDEwLjU5IDUuMTdDMTEuMDQgNS4wNiAxMS41MSA1IDEyIDVDMTIuNDkgNSAxMi45NiA1LjA2IDEzLjQyIDUuMTdMMTUuNTkgM0wxNyA0LjQxTDE1LjM3IDYuMDRDMTYuMTIgNi41NSAxNi43NCA3LjIyIDE3LjE5IDhaTTEwIDE2SDE0VjE0SDEwVjE2Wk0xMCAxMkgxNFYxMEgxMFYxMloiIGZpbGw9IiM2MTYxNjEiLz4KICAgICAgICA8cGF0aCBkPSJNMjIgMTguNUMyMiAyMC40MzMgMjAuNDMzIDIyIDE4LjUgMjJDMTYuNTY3IDIyIDE1IDIwLjQzMyAxNSAxOC41QzE1IDE2LjU2NyAxNi41NjcgMTUgMTguNSAxNUMyMC40MzMgMTUgMjIgMTYuNTY3IDIyIDE4LjVaIiBmaWxsPSIjNjE2MTYxIi8+CiAgICA8L2c+Cjwvc3ZnPgo=);--jp-icon-bug:url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0yMCA4aC0yLjgxYy0uNDUtLjc4LTEuMDctMS40NS0xLjgyLTEuOTZMMTcgNC40MSAxNS41OSAzbC0yLjE3IDIuMTdDMTIuOTYgNS4wNiAxMi40OSA1IDEyIDVjLS40OSAwLS45Ni4wNi0xLjQxLjE3TDguNDEgMyA3IDQuNDFsMS42MiAxLjYzQzcuODggNi41NSA3LjI2IDcuMjIgNi44MSA4SDR2MmgyLjA5Yy0uMDUuMzMtLjA5LjY2LS4wOSAxdjFINHYyaDJ2MWMwIC4zNC4wNC42Ny4wOSAxSDR2MmgyLjgxYzEuMDQgMS43OSAyLjk3IDMgNS4xOSAzczQuMTUtMS4yMSA1LjE5LTNIMjB2LTJoLTIuMDljLjA1LS4zMy4wOS0uNjYuMDktMXYtMWgydi0yaC0ydi0xYzAtLjM0LS4wNC0uNjctLjA5LTFIMjBWOHptLTYgOGgtNHYtMmg0djJ6bTAtNGgtNHYtMmg0djJ6Ii8+CiAgPC9nPgo8L3N2Zz4K);--jp-icon-build:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE0LjkgMTcuNDVDMTYuMjUgMTcuNDUgMTcuMzUgMTYuMzUgMTcuMzUgMTVDMTcuMzUgMTMuNjUgMTYuMjUgMTIuNTUgMTQuOSAxMi41NUMxMy41NCAxMi41NSAxMi40NSAxMy42NSAxMi40NSAxNUMxMi40NSAxNi4zNSAxMy41NCAxNy40NSAxNC45IDE3LjQ1Wk0yMC4xIDE1LjY4TDIxLjU4IDE2Ljg0QzIxLjcxIDE2Ljk1IDIxLjc1IDE3LjEzIDIxLjY2IDE3LjI5TDIwLjI2IDE5LjcxQzIwLjE3IDE5Ljg2IDIwIDE5LjkyIDE5LjgzIDE5Ljg2TDE4LjA5IDE5LjE2QzE3LjczIDE5LjQ0IDE3LjMzIDE5LjY3IDE2LjkxIDE5Ljg1TDE2LjY0IDIxLjdDMTYuNjIgMjEuODcgMTYuNDcgMjIgMTYuMyAyMkgxMy41QzEzLjMyIDIyIDEzLjE4IDIxLjg3IDEzLjE1IDIxLjdMMTIuODkgMTkuODVDMTIuNDYgMTkuNjcgMTIuMDcgMTkuNDQgMTEuNzEgMTkuMTZMOS45NjAwMiAxOS44NkM5LjgxMDAyIDE5LjkyIDkuNjIwMDIgMTkuODYgOS41NDAwMiAxOS43MUw4LjE0MDAyIDE3LjI5QzguMDUwMDIgMTcuMTMgOC4wOTAwMiAxNi45NSA4LjIyMDAyIDE2Ljg0TDkuNzAwMDIgMTUuNjhMOS42NTAwMSAxNUw5LjcwMDAyIDE0LjMxTDguMjIwMDIgMTMuMTZDOC4wOTAwMiAxMy4wNSA4LjA1MDAyIDEyLjg2IDguMTQwMDIgMTIuNzFMOS41NDAwMiAxMC4yOUM5LjYyMDAyIDEwLjEzIDkuODEwMDIgMTAuMDcgOS45NjAwMiAxMC4xM0wxMS43MSAxMC44NEMxMi4wNyAxMC41NiAxMi40NiAxMC4zMiAxMi44OSAxMC4xNUwxMy4xNSA4LjI4OTk4QzEzLjE4IDguMTI5OTggMTMuMzIgNy45OTk5OCAxMy41IDcuOTk5OThIMTYuM0MxNi40NyA3Ljk5OTk4IDE2LjYyIDguMTI5OTggMTYuNjQgOC4yODk5OEwxNi45MSAxMC4xNUMxNy4zMyAxMC4zMiAxNy43MyAxMC41NiAxOC4wOSAxMC44NEwxOS44MyAxMC4xM0MyMCAxMC4wNyAyMC4xNyAxMC4xMyAyMC4yNiAxMC4yOUwyMS42NiAxMi43MUMyMS43NSAxMi44NiAyMS43MSAxMy4wNSAyMS41OCAxMy4xNkwyMC4xIDE0LjMxTDIwLjE1IDE1TDIwLjEgMTUuNjhaIi8+CiAgICA8cGF0aCBkPSJNNy4zMjk2NiA3LjQ0NDU0QzguMDgzMSA3LjAwOTU0IDguMzM5MzIgNi4wNTMzMiA3LjkwNDMyIDUuMjk5ODhDNy40NjkzMiA0LjU0NjQzIDYuNTA4MSA0LjI4MTU2IDUuNzU0NjYgNC43MTY1NkM1LjM5MTc2IDQuOTI2MDggNS4xMjY5NSA1LjI3MTE4IDUuMDE4NDkgNS42NzU5NEM0LjkxMDA0IDYuMDgwNzEgNC45NjY4MiA2LjUxMTk4IDUuMTc2MzQgNi44NzQ4OEM1LjYxMTM0IDcuNjI4MzIgNi41NzYyMiA3Ljg3OTU0IDcuMzI5NjYgNy40NDQ1NFpNOS42NTcxOCA0Ljc5NTkzTDEwLjg2NzIgNC45NTE3OUMxMC45NjI4IDQuOTc3NDEgMTEuMDQwMiA1LjA3MTMzIDExLjAzODIgNS4xODc5M0wxMS4wMzg4IDYuOTg4OTNDMTEuMDQ1NSA3LjEwMDU0IDEwLjk2MTYgNy4xOTUxOCAxMC44NTUgNy4yMTA1NEw5LjY2MDAxIDcuMzgwODNMOS4yMzkxNSA4LjEzMTg4TDkuNjY5NjEgOS4yNTc0NUM5LjcwNzI5IDkuMzYyNzEgOS42NjkzNCA5LjQ3Njk5IDkuNTc0MDggOS41MzE5OUw4LjAxNTIzIDEwLjQzMkM3LjkxMTMxIDEwLjQ5MiA3Ljc5MzM3IDEwLjQ2NzcgNy43MjEwNSAxMC4zODI0TDYuOTg3NDggOS40MzE4OEw2LjEwOTMxIDkuNDMwODNMNS4zNDcwNCAxMC4zOTA1QzUuMjg5MDkgMTAuNDcwMiA1LjE3MzgzIDEwLjQ5MDUgNS4wNzE4NyAxMC40MzM5TDMuNTEyNDUgOS41MzI5M0MzLjQxMDQ5IDkuNDc2MzMgMy4zNzY0NyA5LjM1NzQxIDMuNDEwNzUgOS4yNTY3OUwzLjg2MzQ3IDguMTQwOTNMMy42MTc0OSA3Ljc3NDg4TDMuNDIzNDcgNy4zNzg4M0wyLjIzMDc1IDcuMjEyOTdDMi4xMjY0NyA3LjE5MjM1IDIuMDQwNDkgNy4xMDM0MiAyLjA0MjQ1IDYuOTg2ODJMMi4wNDE4NyA1LjE4NTgyQzIuMDQzODMgNS4wNjkyMiAyLjExOTA5IDQuOTc5NTggMi4yMTcwNCA0Ljk2OTIyTDMuNDIwNjUgNC43OTM5M0wzLjg2NzQ5IDQuMDI3ODhMMy40MTEwNSAyLjkxNzMxQzMuMzczMzcgMi44MTIwNCAzLjQxMTMxIDIuNjk3NzYgMy41MTUyMyAyLjYzNzc2TDUuMDc0MDggMS43Mzc3NkM1LjE2OTM0IDEuNjgyNzYgNS4yODcyOSAxLjcwNzA0IDUuMzU5NjEgMS43OTIzMUw2LjExOTE1IDIuNzI3ODhMNi45ODAwMSAyLjczODkzTDcuNzI0OTYgMS43ODkyMkM3Ljc5MTU2IDEuNzA0NTggNy45MTU0OCAxLjY3OTIyIDguMDA4NzkgMS43NDA4Mkw5LjU2ODIxIDIuNjQxODJDOS42NzAxNyAyLjY5ODQyIDkuNzEyODUgMi44MTIzNCA5LjY4NzIzIDIuOTA3OTdMOS4yMTcxOCA0LjAzMzgzTDkuNDYzMTYgNC4zOTk4OEw5LjY1NzE4IDQuNzk1OTNaIi8+CiAgPC9nPgo8L3N2Zz4K);--jp-icon-caret-down-empty-thin:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iOS45LDEzLjYgMy42LDcuNCA0LjQsNi42IDkuOSwxMi4yIDE1LjQsNi43IDE2LjEsNy40ICIvPgoJPC9nPgo8L3N2Zz4K);--jp-icon-caret-down-empty:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNS45TDksOS43bDMuOC0zLjhsMS4yLDEuMmwtNC45LDVsLTQuOS01TDUuMiw1Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K);--jp-icon-caret-down:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNy41TDksMTEuMmwzLjgtMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=);--jp-icon-caret-left:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik0xMC44LDEyLjhMNy4xLDlsMy44LTMuOGwwLDcuNkgxMC44eiIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-caret-right:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik03LjIsNS4yTDEwLjksOWwtMy44LDMuOFY1LjJINy4yeiIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-caret-up-empty-thin:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iMTUuNCwxMy4zIDkuOSw3LjcgNC40LDEzLjIgMy42LDEyLjUgOS45LDYuMyAxNi4xLDEyLjYgIi8+Cgk8L2c+Cjwvc3ZnPgo=);--jp-icon-caret-up:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik01LjIsMTAuNUw5LDYuOGwzLjgsMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=);--jp-icon-case-sensitive:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgogIDxnIGNsYXNzPSJqcC1pY29uLWFjY2VudDIiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTcuNiw4aDAuOWwzLjUsOGgtMS4xTDEwLDE0SDZsLTAuOSwySDRMNy42LDh6IE04LDkuMUw2LjQsMTNoMy4yTDgsOS4xeiIvPgogICAgPHBhdGggZD0iTTE2LjYsOS44Yy0wLjIsMC4xLTAuNCwwLjEtMC43LDAuMWMtMC4yLDAtMC40LTAuMS0wLjYtMC4yYy0wLjEtMC4xLTAuMi0wLjQtMC4yLTAuNyBjLTAuMywwLjMtMC42LDAuNS0wLjksMC43Yy0wLjMsMC4xLTAuNywwLjItMS4xLDAuMmMtMC4zLDAtMC41LDAtMC43LTAuMWMtMC4yLTAuMS0wLjQtMC4yLTAuNi0wLjNjLTAuMi0wLjEtMC4zLTAuMy0wLjQtMC41IGMtMC4xLTAuMi0wLjEtMC40LTAuMS0wLjdjMC0wLjMsMC4xLTAuNiwwLjItMC44YzAuMS0wLjIsMC4zLTAuNCwwLjQtMC41QzEyLDcsMTIuMiw2LjksMTIuNSw2LjhjMC4yLTAuMSwwLjUtMC4xLDAuNy0wLjIgYzAuMy0wLjEsMC41LTAuMSwwLjctMC4xYzAuMiwwLDAuNC0wLjEsMC42LTAuMWMwLjIsMCwwLjMtMC4xLDAuNC0wLjJjMC4xLTAuMSwwLjItMC4yLDAuMi0wLjRjMC0xLTEuMS0xLTEuMy0xIGMtMC40LDAtMS40LDAtMS40LDEuMmgtMC45YzAtMC40LDAuMS0wLjcsMC4yLTFjMC4xLTAuMiwwLjMtMC40LDAuNS0wLjZjMC4yLTAuMiwwLjUtMC4zLDAuOC0wLjNDMTMuMyw0LDEzLjYsNCwxMy45LDQgYzAuMywwLDAuNSwwLDAuOCwwLjFjMC4zLDAsMC41LDAuMSwwLjcsMC4yYzAuMiwwLjEsMC40LDAuMywwLjUsMC41QzE2LDUsMTYsNS4yLDE2LDUuNnYyLjljMCwwLjIsMCwwLjQsMCwwLjUgYzAsMC4xLDAuMSwwLjIsMC4zLDAuMmMwLjEsMCwwLjIsMCwwLjMsMFY5Ljh6IE0xNS4yLDYuOWMtMS4yLDAuNi0zLjEsMC4yLTMuMSwxLjRjMCwxLjQsMy4xLDEsMy4xLTAuNVY2Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K);--jp-icon-check:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXoiLz4KICA8L2c+Cjwvc3ZnPgo=);--jp-icon-circle-empty:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-circle:url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjgiLz4KICA8L2c+Cjwvc3ZnPgo=);--jp-icon-clear:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8bWFzayBpZD0iZG9udXRIb2xlIj4KICAgIDxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiIC8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI4IiBmaWxsPSJibGFjayIvPgogIDwvbWFzaz4KCiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxyZWN0IGhlaWdodD0iMTgiIHdpZHRoPSIyIiB4PSIxMSIgeT0iMyIgdHJhbnNmb3JtPSJyb3RhdGUoMzE1LCAxMiwgMTIpIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgbWFzaz0idXJsKCNkb251dEhvbGUpIi8+CiAgPC9nPgo8L3N2Zz4K);--jp-icon-close:url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1ub25lIGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIGpwLWljb24zLWhvdmVyIiBmaWxsPSJub25lIj4KICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjExIi8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIGpwLWljb24tYWNjZW50Mi1ob3ZlciIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIvPgogIDwvZz4KCiAgPGcgY2xhc3M9ImpwLWljb24tbm9uZSBqcC1pY29uLWJ1c3kiIGZpbGw9Im5vbmUiPgogICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iNyIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-code-check:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICA8cGF0aCBkPSJNNi41OSwzLjQxTDIsOEw2LjU5LDEyLjZMOCwxMS4xOEw0LjgyLDhMOCw0LjgyTDYuNTksMy40MU0xMi40MSwzLjQxTDExLDQuODJMMTQuMTgsOEwxMSwxMS4xOEwxMi40MSwxMi42TDE3LDhMMTIuNDEsMy40MU0yMS41OSwxMS41OUwxMy41LDE5LjY4TDkuODMsMTZMOC40MiwxNy40MUwxMy41LDIyLjVMMjMsMTNMMjEuNTksMTEuNTlaIiAvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-code:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTExLjQgMTguNkw2LjggMTRMMTEuNCA5LjRMMTAgOEw0IDE0TDEwIDIwTDExLjQgMTguNlpNMTYuNiAxOC42TDIxLjIgMTRMMTYuNiA5LjRMMTggOEwyNCAxNEwxOCAyMEwxNi42IDE4LjZWMTguNloiLz4KCTwvZz4KPC9zdmc+Cg==);--jp-icon-collapse-all:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTggMmMxIDAgMTEgMCAxMiAwczIgMSAyIDJjMCAxIDAgMTEgMCAxMnMwIDItMiAyQzIwIDE0IDIwIDQgMjAgNFMxMCA0IDYgNGMwLTIgMS0yIDItMnoiIC8+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTE4IDhjMC0xLTEtMi0yLTJTNSA2IDQgNnMtMiAxLTIgMmMwIDEgMCAxMSAwIDEyczEgMiAyIDJjMSAwIDExIDAgMTIgMHMyLTEgMi0yYzAtMSAwLTExIDAtMTJ6bS0yIDB2MTJINFY4eiIgLz4KICAgICAgICA8cGF0aCBkPSJNNiAxM3YyaDh2LTJ6IiAvPgogICAgPC9nPgo8L3N2Zz4K);--jp-icon-console:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwMCAyMDAiPgogIDxnIGNsYXNzPSJqcC1jb25zb2xlLWljb24tYmFja2dyb3VuZC1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMjg4RDEiPgogICAgPHBhdGggZD0iTTIwIDE5LjhoMTYwdjE1OS45SDIweiIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtY29uc29sZS1pY29uLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIiBmaWxsPSIjZmZmIj4KICAgIDxwYXRoIGQ9Ik0xMDUgMTI3LjNoNDB2MTIuOGgtNDB6TTUxLjEgNzdMNzQgOTkuOWwtMjMuMyAyMy4zIDEwLjUgMTAuNSAyMy4zLTIzLjNMOTUgOTkuOSA4NC41IDg5LjQgNjEuNiA2Ni41eiIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-copy:url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTExLjksMUgzLjJDMi40LDEsMS43LDEuNywxLjcsMi41djEwLjJoMS41VjIuNWg4LjdWMXogTTE0LjEsMy45aC04Yy0wLjgsMC0xLjUsMC43LTEuNSwxLjV2MTAuMmMwLDAuOCwwLjcsMS41LDEuNSwxLjVoOCBjMC44LDAsMS41LTAuNywxLjUtMS41VjUuNEMxNS41LDQuNiwxNC45LDMuOSwxNC4xLDMuOXogTTE0LjEsMTUuNWgtOFY1LjRoOFYxNS41eiIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-copyright:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCI+CiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0xMS44OCw5LjE0YzEuMjgsMC4wNiwxLjYxLDEuMTUsMS42MywxLjY2aDEuNzljLTAuMDgtMS45OC0xLjQ5LTMuMTktMy40NS0zLjE5QzkuNjQsNy42MSw4LDksOCwxMi4xNCBjMCwxLjk0LDAuOTMsNC4yNCwzLjg0LDQuMjRjMi4yMiwwLDMuNDEtMS42NSwzLjQ0LTIuOTVoLTEuNzljLTAuMDMsMC41OS0wLjQ1LDEuMzgtMS42MywxLjQ0QzEwLjU1LDE0LjgzLDEwLDEzLjgxLDEwLDEyLjE0IEMxMCw5LjI1LDExLjI4LDkuMTYsMTEuODgsOS4xNHogTTEyLDJDNi40OCwyLDIsNi40OCwyLDEyczQuNDgsMTAsMTAsMTBzMTAtNC40OCwxMC0xMFMxNy41MiwyLDEyLDJ6IE0xMiwyMGMtNC40MSwwLTgtMy41OS04LTggczMuNTktOCw4LThzOCwzLjU5LDgsOFMxNi40MSwyMCwxMiwyMHoiLz4KICA8L2c+Cjwvc3ZnPgo=);--jp-icon-cut:url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkuNjQgNy42NGMuMjMtLjUuMzYtMS4wNS4zNi0xLjY0IDAtMi4yMS0xLjc5LTQtNC00UzIgMy43OSAyIDZzMS43OSA0IDQgNGMuNTkgMCAxLjE0LS4xMyAxLjY0LS4zNkwxMCAxMmwtMi4zNiAyLjM2QzcuMTQgMTQuMTMgNi41OSAxNCA2IDE0Yy0yLjIxIDAtNCAxLjc5LTQgNHMxLjc5IDQgNCA0IDQtMS43OSA0LTRjMC0uNTktLjEzLTEuMTQtLjM2LTEuNjRMMTIgMTRsNyA3aDN2LTFMOS42NCA3LjY0ek02IDhjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTAgMTJjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTYtNy41Yy0uMjggMC0uNS0uMjItLjUtLjVzLjIyLS41LjUtLjUuNS4yMi41LjUtLjIyLjUtLjUuNXpNMTkgM2wtNiA2IDIgMiA3LTdWM3oiLz4KICA8L2c+Cjwvc3ZnPgo=);--jp-icon-delete:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCI+CiAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIiAvPgogICAgPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjI2MjYyIiBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIgLz4KPC9zdmc+Cg==);--jp-icon-download:url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDloLTRWM0g5djZINWw3IDcgNy03ek01IDE4djJoMTR2LTJINXoiLz4KICA8L2c+Cjwvc3ZnPgo=);--jp-icon-duplicate:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIuNzk5OTggMC44NzVIOC44OTU4MkM5LjIwMDYxIDAuODc1IDkuNDQ5OTggMS4xMzkxNCA5LjQ0OTk4IDEuNDYxOThDOS40NDk5OCAxLjc4NDgyIDkuMjAwNjEgMi4wNDg5NiA4Ljg5NTgyIDIuMDQ4OTZIMy4zNTQxNUMzLjA0OTM2IDIuMDQ4OTYgMi43OTk5OCAyLjMxMzEgMi43OTk5OCAyLjYzNTk0VjkuNjc5NjlDMi43OTk5OCAxMC4wMDI1IDIuNTUwNjEgMTAuMjY2NyAyLjI0NTgyIDEwLjI2NjdDMS45NDEwMyAxMC4yNjY3IDEuNjkxNjUgMTAuMDAyNSAxLjY5MTY1IDkuNjc5NjlWMi4wNDg5NkMxLjY5MTY1IDEuNDAzMjggMi4xOTA0IDAuODc1IDIuNzk5OTggMC44NzVaTTUuMzY2NjUgMTEuOVY0LjU1SDExLjA4MzNWMTEuOUg1LjM2NjY1Wk00LjE0MTY1IDQuMTQxNjdDNC4xNDE2NSAzLjY5MDYzIDQuNTA3MjggMy4zMjUgNC45NTgzMiAzLjMyNUgxMS40OTE3QzExLjk0MjcgMy4zMjUgMTIuMzA4MyAzLjY5MDYzIDEyLjMwODMgNC4xNDE2N1YxMi4zMDgzQzEyLjMwODMgMTIuNzU5NCAxMS45NDI3IDEzLjEyNSAxMS40OTE3IDEzLjEyNUg0Ljk1ODMyQzQuNTA3MjggMTMuMTI1IDQuMTQxNjUgMTIuNzU5NCA0LjE0MTY1IDEyLjMwODNWNC4xNDE2N1oiIGZpbGw9IiM2MTYxNjEiLz4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNOS40MzU3NCA4LjI2NTA3SDguMzY0MzFWOS4zMzY1QzguMzY0MzEgOS40NTQzNSA4LjI2Nzg4IDkuNTUwNzggOC4xNTAwMiA5LjU1MDc4QzguMDMyMTcgOS41NTA3OCA3LjkzNTc0IDkuNDU0MzUgNy45MzU3NCA5LjMzNjVWOC4yNjUwN0g2Ljg2NDMxQzYuNzQ2NDUgOC4yNjUwNyA2LjY1MDAyIDguMTY4NjQgNi42NTAwMiA4LjA1MDc4QzYuNjUwMDIgNy45MzI5MiA2Ljc0NjQ1IDcuODM2NSA2Ljg2NDMxIDcuODM2NUg3LjkzNTc0VjYuNzY1MDdDNy45MzU3NCA2LjY0NzIxIDguMDMyMTcgNi41NTA3OCA4LjE1MDAyIDYuNTUwNzhDOC4yNjc4OCA2LjU1MDc4IDguMzY0MzEgNi42NDcyMSA4LjM2NDMxIDYuNzY1MDdWNy44MzY1SDkuNDM1NzRDOS41NTM2IDcuODM2NSA5LjY1MDAyIDcuOTMyOTIgOS42NTAwMiA4LjA1MDc4QzkuNjUwMDIgOC4xNjg2NCA5LjU1MzYgOC4yNjUwNyA5LjQzNTc0IDguMjY1MDdaIiBmaWxsPSIjNjE2MTYxIiBzdHJva2U9IiM2MTYxNjEiIHN0cm9rZS13aWR0aD0iMC41Ii8+Cjwvc3ZnPgo=);--jp-icon-edit:url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMgMTcuMjVWMjFoMy43NUwxNy44MSA5Ljk0bC0zLjc1LTMuNzVMMyAxNy4yNXpNMjAuNzEgNy4wNGMuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC0yLjM0LTIuMzRjLS4zOS0uMzktMS4wMi0uMzktMS40MSAwbC0xLjgzIDEuODMgMy43NSAzLjc1IDEuODMtMS44M3oiLz4KICA8L2c+Cjwvc3ZnPgo=);--jp-icon-ellipses:url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iNSIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjEyIiByPSIyIi8+CiAgPC9nPgo8L3N2Zz4K);--jp-icon-error:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjE5IiByPSIyIi8+PHBhdGggZD0iTTEwIDNoNHYxMmgtNHoiLz48L2c+CjxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiLz4KPC9zdmc+Cg==);--jp-icon-expand-all:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTggMmMxIDAgMTEgMCAxMiAwczIgMSAyIDJjMCAxIDAgMTEgMCAxMnMwIDItMiAyQzIwIDE0IDIwIDQgMjAgNFMxMCA0IDYgNGMwLTIgMS0yIDItMnoiIC8+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTE4IDhjMC0xLTEtMi0yLTJTNSA2IDQgNnMtMiAxLTIgMmMwIDEgMCAxMSAwIDEyczEgMiAyIDJjMSAwIDExIDAgMTIgMHMyLTEgMi0yYzAtMSAwLTExIDAtMTJ6bS0yIDB2MTJINFY4eiIgLz4KICAgICAgICA8cGF0aCBkPSJNMTEgMTBIOXYzSDZ2MmgzdjNoMnYtM2gzdi0yaC0zeiIgLz4KICAgIDwvZz4KPC9zdmc+Cg==);--jp-icon-extension:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwLjUgMTFIMTlWN2MwLTEuMS0uOS0yLTItMmgtNFYzLjVDMTMgMi4xMiAxMS44OCAxIDEwLjUgMVM4IDIuMTIgOCAzLjVWNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAydjMuOEgzLjVjMS40OSAwIDIuNyAxLjIxIDIuNyAyLjdzLTEuMjEgMi43LTIuNyAyLjdIMlYyMGMwIDEuMS45IDIgMiAyaDMuOHYtMS41YzAtMS40OSAxLjIxLTIuNyAyLjctMi43IDEuNDkgMCAyLjcgMS4yMSAyLjcgMi43VjIySDE3YzEuMSAwIDItLjkgMi0ydi00aDEuNWMxLjM4IDAgMi41LTEuMTIgMi41LTIuNVMyMS44OCAxMSAyMC41IDExeiIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-fast-forward:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTQgMThsOC41LTZMNCA2djEyem05LTEydjEybDguNS02TDEzIDZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=);--jp-icon-file-upload:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkgMTZoNnYtNmg0bC03LTctNyA3aDR6bS00IDJoMTR2Mkg1eiIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-file:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuMyA4LjJsLTUuNS01LjVjLS4zLS4zLS43LS41LTEuMi0uNUgzLjljLS44LjEtMS42LjktMS42IDEuOHYxNC4xYzAgLjkuNyAxLjYgMS42IDEuNmgxNC4yYy45IDAgMS42LS43IDEuNi0xLjZWOS40Yy4xLS41LS4xLS45LS40LTEuMnptLTUuOC0zLjNsMy40IDMuNmgtMy40VjQuOXptMy45IDEyLjdINC43Yy0uMSAwLS4yIDAtLjItLjJWNC43YzAtLjIuMS0uMy4yLS4zaDcuMnY0LjRzMCAuOC4zIDEuMWMuMy4zIDEuMS4zIDEuMS4zaDQuM3Y3LjJzLS4xLjItLjIuMnoiLz4KPC9zdmc+Cg==);--jp-icon-filter-dot:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTE0LDEyVjE5Ljg4QzE0LjA0LDIwLjE4IDEzLjk0LDIwLjUgMTMuNzEsMjAuNzFDMTMuMzIsMjEuMSAxMi42OSwyMS4xIDEyLjMsMjAuNzFMMTAuMjksMTguN0MxMC4wNiwxOC40NyA5Ljk2LDE4LjE2IDEwLDE3Ljg3VjEySDkuOTdMNC4yMSw0LjYyQzMuODcsNC4xOSAzLjk1LDMuNTYgNC4zOCwzLjIyQzQuNTcsMy4wOCA0Ljc4LDMgNSwzVjNIMTlWM0MxOS4yMiwzIDE5LjQzLDMuMDggMTkuNjIsMy4yMkMyMC4wNSwzLjU2IDIwLjEzLDQuMTkgMTkuNzksNC42MkwxNC4wMywxMkgxNFoiIC8+CiAgPC9nPgogIDxnIGNsYXNzPSJqcC1pY29uLWRvdCIgZmlsbD0iI0ZGRiI+CiAgICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjE3IiByPSIzIj48L2NpcmNsZT4KICA8L2c+Cjwvc3ZnPgo=);--jp-icon-filter-list:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEwIDE4aDR2LTJoLTR2MnpNMyA2djJoMThWNkgzem0zIDdoMTJ2LTJINnYyeiIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-filter:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTE0LDEyVjE5Ljg4QzE0LjA0LDIwLjE4IDEzLjk0LDIwLjUgMTMuNzEsMjAuNzFDMTMuMzIsMjEuMSAxMi42OSwyMS4xIDEyLjMsMjAuNzFMMTAuMjksMTguN0MxMC4wNiwxOC40NyA5Ljk2LDE4LjE2IDEwLDE3Ljg3VjEySDkuOTdMNC4yMSw0LjYyQzMuODcsNC4xOSAzLjk1LDMuNTYgNC4zOCwzLjIyQzQuNTcsMy4wOCA0Ljc4LDMgNSwzVjNIMTlWM0MxOS4yMiwzIDE5LjQzLDMuMDggMTkuNjIsMy4yMkMyMC4wNSwzLjU2IDIwLjEzLDQuMTkgMTkuNzksNC42MkwxNC4wMywxMkgxNFoiIC8+CiAgPC9nPgo8L3N2Zz4K);--jp-icon-folder-favorite:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzAwMDAwMCI+CiAgPHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggY2xhc3M9ImpwLWljb24zIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxNjE2MSIgZD0iTTIwIDZoLThsLTItMkg0Yy0xLjEgMC0yIC45LTIgMnYxMmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjhjMC0xLjEtLjktMi0yLTJ6bS0yLjA2IDExTDE1IDE1LjI4IDEyLjA2IDE3bC43OC0zLjMzLTIuNTktMi4yNCAzLjQxLS4yOUwxNSA4bDEuMzQgMy4xNCAzLjQxLjI5LTIuNTkgMi4yNC43OCAzLjMzeiIvPgo8L3N2Zz4K);--jp-icon-folder:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY4YzAtMS4xLS45LTItMi0yaC04bC0yLTJ6Ii8+Cjwvc3ZnPgo=);--jp-icon-home:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzAwMDAwMCI+CiAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xMCAyMHYtNmg0djZoNXYtOGgzTDEyIDMgMiAxMmgzdjh6Ii8+Cjwvc3ZnPgo=);--jp-icon-html5:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uMCBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMDAiIGQ9Ik0xMDguNCAwaDIzdjIyLjhoMjEuMlYwaDIzdjY5aC0yM1Y0NmgtMjF2MjNoLTIzLjJNMjA2IDIzaC0yMC4zVjBoNjMuN3YyM0gyMjl2NDZoLTIzbTUzLjUtNjloMjQuMWwxNC44IDI0LjNMMzEzLjIgMGgyNC4xdjY5aC0yM1YzNC44bC0xNi4xIDI0LjgtMTYuMS0yNC44VjY5aC0yMi42bTg5LjItNjloMjN2NDYuMmgzMi42VjY5aC01NS42Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI2U0NGQyNiIgZD0iTTEwNy42IDQ3MWwtMzMtMzcwLjRoMzYyLjhsLTMzIDM3MC4yTDI1NS43IDUxMiIvPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNmMTY1MjkiIGQ9Ik0yNTYgNDgwLjVWMTMxaDE0OC4zTDM3NiA0NDciLz4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNlYmViZWIiIGQ9Ik0xNDIgMTc2LjNoMTE0djQ1LjRoLTY0LjJsNC4yIDQ2LjVoNjB2NDUuM0gxNTQuNG0yIDIyLjhIMjAybDMuMiAzNi4zIDUwLjggMTMuNnY0Ny40bC05My4yLTI2Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIiBmaWxsPSIjZmZmIiBkPSJNMzY5LjYgMTc2LjNIMjU1Ljh2NDUuNGgxMDkuNm0tNC4xIDQ2LjVIMjU1Ljh2NDUuNGg1NmwtNS4zIDU5LTUwLjcgMTMuNnY0Ny4ybDkzLTI1LjgiLz4KPC9zdmc+Cg==);--jp-icon-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1icmFuZDQganAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNGRkYiIGQ9Ik0yLjIgMi4yaDE3LjV2MTcuNUgyLjJ6Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzNGNTFCNSIgZD0iTTIuMiAyLjJ2MTcuNWgxNy41bC4xLTE3LjVIMi4yem0xMi4xIDIuMmMxLjIgMCAyLjIgMSAyLjIgMi4ycy0xIDIuMi0yLjIgMi4yLTIuMi0xLTIuMi0yLjIgMS0yLjIgMi4yLTIuMnpNNC40IDE3LjZsMy4zLTguOCAzLjMgNi42IDIuMi0zLjIgNC40IDUuNEg0LjR6Ii8+Cjwvc3ZnPgo=);--jp-icon-info:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUwLjk3OCA1MC45NzgiPgoJPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KCQk8cGF0aCBkPSJNNDMuNTIsNy40NThDMzguNzExLDIuNjQ4LDMyLjMwNywwLDI1LjQ4OSwwQzE4LjY3LDAsMTIuMjY2LDIuNjQ4LDcuNDU4LDcuNDU4CgkJCWMtOS45NDMsOS45NDEtOS45NDMsMjYuMTE5LDAsMzYuMDYyYzQuODA5LDQuODA5LDExLjIxMiw3LjQ1NiwxOC4wMzEsNy40NThjMCwwLDAuMDAxLDAsMC4wMDIsMAoJCQljNi44MTYsMCwxMy4yMjEtMi42NDgsMTguMDI5LTcuNDU4YzQuODA5LTQuODA5LDcuNDU3LTExLjIxMiw3LjQ1Ny0xOC4wM0M1MC45NzcsMTguNjcsNDguMzI4LDEyLjI2Niw0My41Miw3LjQ1OHoKCQkJIE00Mi4xMDYsNDIuMTA1Yy00LjQzMiw0LjQzMS0xMC4zMzIsNi44NzItMTYuNjE1LDYuODcyaC0wLjAwMmMtNi4yODUtMC4wMDEtMTIuMTg3LTIuNDQxLTE2LjYxNy02Ljg3MgoJCQljLTkuMTYyLTkuMTYzLTkuMTYyLTI0LjA3MSwwLTMzLjIzM0MxMy4zMDMsNC40NCwxOS4yMDQsMiwyNS40ODksMmM2LjI4NCwwLDEyLjE4NiwyLjQ0LDE2LjYxNyw2Ljg3MgoJCQljNC40MzEsNC40MzEsNi44NzEsMTAuMzMyLDYuODcxLDE2LjYxN0M0OC45NzcsMzEuNzcyLDQ2LjUzNiwzNy42NzUsNDIuMTA2LDQyLjEwNXoiLz4KCQk8cGF0aCBkPSJNMjMuNTc4LDMyLjIxOGMtMC4wMjMtMS43MzQsMC4xNDMtMy4wNTksMC40OTYtMy45NzJjMC4zNTMtMC45MTMsMS4xMS0xLjk5NywyLjI3Mi0zLjI1MwoJCQljMC40NjgtMC41MzYsMC45MjMtMS4wNjIsMS4zNjctMS41NzVjMC42MjYtMC43NTMsMS4xMDQtMS40NzgsMS40MzYtMi4xNzVjMC4zMzEtMC43MDcsMC40OTUtMS41NDEsMC40OTUtMi41CgkJCWMwLTEuMDk2LTAuMjYtMi4wODgtMC43NzktMi45NzljLTAuNTY1LTAuODc5LTEuNTAxLTEuMzM2LTIuODA2LTEuMzY5Yy0xLjgwMiwwLjA1Ny0yLjk4NSwwLjY2Ny0zLjU1LDEuODMyCgkJCWMtMC4zMDEsMC41MzUtMC41MDMsMS4xNDEtMC42MDcsMS44MTRjLTAuMTM5LDAuNzA3LTAuMjA3LDEuNDMyLTAuMjA3LDIuMTc0aC0yLjkzN2MtMC4wOTEtMi4yMDgsMC40MDctNC4xMTQsMS40OTMtNS43MTkKCQkJYzEuMDYyLTEuNjQsMi44NTUtMi40ODEsNS4zNzgtMi41MjdjMi4xNiwwLjAyMywzLjg3NCwwLjYwOCw1LjE0MSwxLjc1OGMxLjI3OCwxLjE2LDEuOTI5LDIuNzY0LDEuOTUsNC44MTEKCQkJYzAsMS4xNDItMC4xMzcsMi4xMTEtMC40MSwyLjkxMWMtMC4zMDksMC44NDUtMC43MzEsMS41OTMtMS4yNjgsMi4yNDNjLTAuNDkyLDAuNjUtMS4wNjgsMS4zMTgtMS43MywyLjAwMgoJCQljLTAuNjUsMC42OTctMS4zMTMsMS40NzktMS45ODcsMi4zNDZjLTAuMjM5LDAuMzc3LTAuNDI5LDAuNzc3LTAuNTY1LDEuMTk5Yy0wLjE2LDAuOTU5LTAuMjE3LDEuOTUxLTAuMTcxLDIuOTc5CgkJCUMyNi41ODksMzIuMjE4LDIzLjU3OCwzMi4yMTgsMjMuNTc4LDMyLjIxOHogTTIzLjU3OCwzOC4yMnYtMy40ODRoMy4wNzZ2My40ODRIMjMuNTc4eiIvPgoJPC9nPgo8L3N2Zz4K);--jp-icon-inspector:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaW5zcGVjdG9yLWljb24tY29sb3IganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yem0tNSAxNEg0di00aDExdjR6bTAtNUg0VjloMTF2NHptNSA1aC00VjloNHY5eiIvPgo8L3N2Zz4K);--jp-icon-json:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtanNvbi1pY29uLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI0Y5QTgyNSI+CiAgICA8cGF0aCBkPSJNMjAuMiAxMS44Yy0xLjYgMC0xLjcuNS0xLjcgMSAwIC40LjEuOS4xIDEuMy4xLjUuMS45LjEgMS4zIDAgMS43LTEuNCAyLjMtMy41IDIuM2gtLjl2LTEuOWguNWMxLjEgMCAxLjQgMCAxLjQtLjggMC0uMyAwLS42LS4xLTEgMC0uNC0uMS0uOC0uMS0xLjIgMC0xLjMgMC0xLjggMS4zLTItMS4zLS4yLTEuMy0uNy0xLjMtMiAwLS40LjEtLjguMS0xLjIuMS0uNC4xLS43LjEtMSAwLS44LS40LS43LTEuNC0uOGgtLjVWNC4xaC45YzIuMiAwIDMuNS43IDMuNSAyLjMgMCAuNC0uMS45LS4xIDEuMy0uMS41LS4xLjktLjEgMS4zIDAgLjUuMiAxIDEuNyAxdjEuOHpNMS44IDEwLjFjMS42IDAgMS43LS41IDEuNy0xIDAtLjQtLjEtLjktLjEtMS4zLS4xLS41LS4xLS45LS4xLTEuMyAwLTEuNiAxLjQtMi4zIDMuNS0yLjNoLjl2MS45aC0uNWMtMSAwLTEuNCAwLTEuNC44IDAgLjMgMCAuNi4xIDEgMCAuMi4xLjYuMSAxIDAgMS4zIDAgMS44LTEuMyAyQzYgMTEuMiA2IDExLjcgNiAxM2MwIC40LS4xLjgtLjEgMS4yLS4xLjMtLjEuNy0uMSAxIDAgLjguMy44IDEuNC44aC41djEuOWgtLjljLTIuMSAwLTMuNS0uNi0zLjUtMi4zIDAtLjQuMS0uOS4xLTEuMy4xLS41LjEtLjkuMS0xLjMgMC0uNS0uMi0xLTEuNy0xdi0xLjl6Ii8+CiAgICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjEzLjgiIHI9IjIuMSIvPgogICAgPGNpcmNsZSBjeD0iMTEiIGN5PSI4LjIiIHI9IjIuMSIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-julia:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDMyNSAzMDAiPgogIDxnIGNsYXNzPSJqcC1icmFuZDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjY2IzYzMzIj4KICAgIDxwYXRoIGQ9Ik0gMTUwLjg5ODQzOCAyMjUgQyAxNTAuODk4NDM4IDI2Ni40MjE4NzUgMTE3LjMyMDMxMiAzMDAgNzUuODk4NDM4IDMwMCBDIDM0LjQ3NjU2MiAzMDAgMC44OTg0MzggMjY2LjQyMTg3NSAwLjg5ODQzOCAyMjUgQyAwLjg5ODQzOCAxODMuNTc4MTI1IDM0LjQ3NjU2MiAxNTAgNzUuODk4NDM4IDE1MCBDIDExNy4zMjAzMTIgMTUwIDE1MC44OTg0MzggMTgzLjU3ODEyNSAxNTAuODk4NDM4IDIyNSIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzM4OTgyNiI+CiAgICA8cGF0aCBkPSJNIDIzNy41IDc1IEMgMjM3LjUgMTE2LjQyMTg3NSAyMDMuOTIxODc1IDE1MCAxNjIuNSAxNTAgQyAxMjEuMDc4MTI1IDE1MCA4Ny41IDExNi40MjE4NzUgODcuNSA3NSBDIDg3LjUgMzMuNTc4MTI1IDEyMS4wNzgxMjUgMCAxNjIuNSAwIEMgMjAzLjkyMTg3NSAwIDIzNy41IDMzLjU3ODEyNSAyMzcuNSA3NSIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzk1NThiMiI+CiAgICA8cGF0aCBkPSJNIDMyNC4xMDE1NjIgMjI1IEMgMzI0LjEwMTU2MiAyNjYuNDIxODc1IDI5MC41MjM0MzggMzAwIDI0OS4xMDE1NjIgMzAwIEMgMjA3LjY3OTY4OCAzMDAgMTc0LjEwMTU2MiAyNjYuNDIxODc1IDE3NC4xMDE1NjIgMjI1IEMgMTc0LjEwMTU2MiAxODMuNTc4MTI1IDIwNy42Nzk2ODggMTUwIDI0OS4xMDE1NjIgMTUwIEMgMjkwLjUyMzQzOCAxNTAgMzI0LjEwMTU2MiAxODMuNTc4MTI1IDMyNC4xMDE1NjIgMjI1Ii8+CiAgPC9nPgo8L3N2Zz4K);--jp-icon-jupyter-favicon:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUyIiBoZWlnaHQ9IjE2NSIgdmlld0JveD0iMCAwIDE1MiAxNjUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgPGcgY2xhc3M9ImpwLWp1cHl0ZXItaWNvbi1jb2xvciIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA3ODk0NywgMTEwLjU4MjkyNykiIGQ9Ik03NS45NDIyODQyLDI5LjU4MDQ1NjEgQzQzLjMwMjM5NDcsMjkuNTgwNDU2MSAxNC43OTY3ODMyLDE3LjY1MzQ2MzQgMCwwIEM1LjUxMDgzMjExLDE1Ljg0MDY4MjkgMTUuNzgxNTM4OSwyOS41NjY3NzMyIDI5LjM5MDQ5NDcsMzkuMjc4NDE3MSBDNDIuOTk5Nyw0OC45ODk4NTM3IDU5LjI3MzcsNTQuMjA2NzgwNSA3NS45NjA1Nzg5LDU0LjIwNjc4MDUgQzkyLjY0NzQ1NzksNTQuMjA2NzgwNSAxMDguOTIxNDU4LDQ4Ljk4OTg1MzcgMTIyLjUzMDY2MywzOS4yNzg0MTcxIEMxMzYuMTM5NDUzLDI5LjU2Njc3MzIgMTQ2LjQxMDI4NCwxNS44NDA2ODI5IDE1MS45MjExNTgsMCBDMTM3LjA4Nzg2OCwxNy42NTM0NjM0IDEwOC41ODI1ODksMjkuNTgwNDU2MSA3NS45NDIyODQyLDI5LjU4MDQ1NjEgTDc1Ljk0MjI4NDIsMjkuNTgwNDU2MSBaIiAvPgogICAgPHBhdGggdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMzczNjgsIDAuNzA0ODc4KSIgZD0iTTc1Ljk3ODQ1NzksMjQuNjI2NDA3MyBDMTA4LjYxODc2MywyNC42MjY0MDczIDEzNy4xMjQ0NTgsMzYuNTUzNDQxNSAxNTEuOTIxMTU4LDU0LjIwNjc4MDUgQzE0Ni40MTAyODQsMzguMzY2MjIyIDEzNi4xMzk0NTMsMjQuNjQwMTMxNyAxMjIuNTMwNjYzLDE0LjkyODQ4NzggQzEwOC45MjE0NTgsNS4yMTY4NDM5IDkyLjY0NzQ1NzksMCA3NS45NjA1Nzg5LDAgQzU5LjI3MzcsMCA0Mi45OTk3LDUuMjE2ODQzOSAyOS4zOTA0OTQ3LDE0LjkyODQ4NzggQzE1Ljc4MTUzODksMjQuNjQwMTMxNyA1LjUxMDgzMjExLDM4LjM2NjIyMiAwLDU0LjIwNjc4MDUgQzE0LjgzMzA4MTYsMzYuNTg5OTI5MyA0My4zMzg1Njg0LDI0LjYyNjQwNzMgNzUuOTc4NDU3OSwyNC42MjY0MDczIEw3NS45Nzg0NTc5LDI0LjYyNjQwNzMgWiIgLz4KICA8L2c+Cjwvc3ZnPgo=);--jp-icon-jupyter:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzkiIGhlaWdodD0iNTEiIHZpZXdCb3g9IjAgMCAzOSA1MSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTYzOCAtMjI4MSkiPgogICAgIDxnIGNsYXNzPSJqcC1qdXB5dGVyLWljb24tY29sb3IiIGZpbGw9IiNGMzc3MjYiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5Ljc0IDIzMTEuOTgpIiBkPSJNIDE4LjI2NDYgNy4xMzQxMUMgMTAuNDE0NSA3LjEzNDExIDMuNTU4NzIgNC4yNTc2IDAgMEMgMS4zMjUzOSAzLjgyMDQgMy43OTU1NiA3LjEzMDgxIDcuMDY4NiA5LjQ3MzAzQyAxMC4zNDE3IDExLjgxNTIgMTQuMjU1NyAxMy4wNzM0IDE4LjI2OSAxMy4wNzM0QyAyMi4yODIzIDEzLjA3MzQgMjYuMTk2MyAxMS44MTUyIDI5LjQ2OTQgOS40NzMwM0MgMzIuNzQyNCA3LjEzMDgxIDM1LjIxMjYgMy44MjA0IDM2LjUzOCAwQyAzMi45NzA1IDQuMjU3NiAyNi4xMTQ4IDcuMTM0MTEgMTguMjY0NiA3LjEzNDExWiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5LjczIDIyODUuNDgpIiBkPSJNIDE4LjI3MzMgNS45MzkzMUMgMjYuMTIzNSA1LjkzOTMxIDMyLjk3OTMgOC44MTU4MyAzNi41MzggMTMuMDczNEMgMzUuMjEyNiA5LjI1MzAzIDMyLjc0MjQgNS45NDI2MiAyOS40Njk0IDMuNjAwNEMgMjYuMTk2MyAxLjI1ODE4IDIyLjI4MjMgMCAxOC4yNjkgMEMgMTQuMjU1NyAwIDEwLjM0MTcgMS4yNTgxOCA3LjA2ODYgMy42MDA0QyAzLjc5NTU2IDUuOTQyNjIgMS4zMjUzOSA5LjI1MzAzIDAgMTMuMDczNEMgMy41Njc0NSA4LjgyNDYzIDEwLjQyMzIgNS45MzkzMSAxOC4yNzMzIDUuOTM5MzFaIi8+CiAgICA8L2c+CiAgICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjY5LjMgMjI4MS4zMSkiIGQ9Ik0gNS44OTM1MyAyLjg0NEMgNS45MTg4OSAzLjQzMTY1IDUuNzcwODUgNC4wMTM2NyA1LjQ2ODE1IDQuNTE2NDVDIDUuMTY1NDUgNS4wMTkyMiA0LjcyMTY4IDUuNDIwMTUgNC4xOTI5OSA1LjY2ODUxQyAzLjY2NDMgNS45MTY4OCAzLjA3NDQ0IDYuMDAxNTEgMi40OTgwNSA1LjkxMTcxQyAxLjkyMTY2IDUuODIxOSAxLjM4NDYzIDUuNTYxNyAwLjk1NDg5OCA1LjE2NDAxQyAwLjUyNTE3IDQuNzY2MzMgMC4yMjIwNTYgNC4yNDkwMyAwLjA4MzkwMzcgMy42Nzc1N0MgLTAuMDU0MjQ4MyAzLjEwNjExIC0wLjAyMTIzIDIuNTA2MTcgMC4xNzg3ODEgMS45NTM2NEMgMC4zNzg3OTMgMS40MDExIDAuNzM2ODA5IDAuOTIwODE3IDEuMjA3NTQgMC41NzM1MzhDIDEuNjc4MjYgMC4yMjYyNTkgMi4yNDA1NSAwLjAyNzU5MTkgMi44MjMyNiAwLjAwMjY3MjI5QyAzLjYwMzg5IC0wLjAzMDcxMTUgNC4zNjU3MyAwLjI0OTc4OSA0Ljk0MTQyIDAuNzgyNTUxQyA1LjUxNzExIDEuMzE1MzEgNS44NTk1NiAyLjA1Njc2IDUuODkzNTMgMi44NDRaIi8+CiAgICAgIDxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2MzkuOCAyMzIzLjgxKSIgZD0iTSA3LjQyNzg5IDMuNTgzMzhDIDcuNDYwMDggNC4zMjQzIDcuMjczNTUgNS4wNTgxOSA2Ljg5MTkzIDUuNjkyMTNDIDYuNTEwMzEgNi4zMjYwNyA1Ljk1MDc1IDYuODMxNTYgNS4yODQxMSA3LjE0NDZDIDQuNjE3NDcgNy40NTc2MyAzLjg3MzcxIDcuNTY0MTQgMy4xNDcwMiA3LjQ1MDYzQyAyLjQyMDMyIDcuMzM3MTIgMS43NDMzNiA3LjAwODcgMS4yMDE4NCA2LjUwNjk1QyAwLjY2MDMyOCA2LjAwNTIgMC4yNzg2MSA1LjM1MjY4IDAuMTA1MDE3IDQuNjMyMDJDIC0wLjA2ODU3NTcgMy45MTEzNSAtMC4wMjYyMzYxIDMuMTU0OTQgMC4yMjY2NzUgMi40NTg1NkMgMC40Nzk1ODcgMS43NjIxNyAwLjkzMTY5NyAxLjE1NzEzIDEuNTI1NzYgMC43MjAwMzNDIDIuMTE5ODMgMC4yODI5MzUgMi44MjkxNCAwLjAzMzQzOTUgMy41NjM4OSAwLjAwMzEzMzQ0QyA0LjU0NjY3IC0wLjAzNzQwMzMgNS41MDUyOSAwLjMxNjcwNiA2LjIyOTYxIDAuOTg3ODM1QyA2Ljk1MzkzIDEuNjU4OTYgNy4zODQ4NCAyLjU5MjM1IDcuNDI3ODkgMy41ODMzOEwgNy40Mjc4OSAzLjU4MzM4WiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM4LjM2IDIyODYuMDYpIiBkPSJNIDIuMjc0NzEgNC4zOTYyOUMgMS44NDM2MyA0LjQxNTA4IDEuNDE2NzEgNC4zMDQ0NSAxLjA0Nzk5IDQuMDc4NDNDIDAuNjc5MjY4IDMuODUyNCAwLjM4NTMyOCAzLjUyMTE0IDAuMjAzMzcxIDMuMTI2NTZDIDAuMDIxNDEzNiAyLjczMTk4IC0wLjA0MDM3OTggMi4yOTE4MyAwLjAyNTgxMTYgMS44NjE4MUMgMC4wOTIwMDMxIDEuNDMxOCAwLjI4MzIwNCAxLjAzMTI2IDAuNTc1MjEzIDAuNzEwODgzQyAwLjg2NzIyMiAwLjM5MDUxIDEuMjQ2OTEgMC4xNjQ3MDggMS42NjYyMiAwLjA2MjA1OTJDIDIuMDg1NTMgLTAuMDQwNTg5NyAyLjUyNTYxIC0wLjAxNTQ3MTQgMi45MzA3NiAwLjEzNDIzNUMgMy4zMzU5MSAwLjI4Mzk0MSAzLjY4NzkyIDAuNTUxNTA1IDMuOTQyMjIgMC45MDMwNkMgNC4xOTY1MiAxLjI1NDYyIDQuMzQxNjkgMS42NzQzNiA0LjM1OTM1IDIuMTA5MTZDIDQuMzgyOTkgMi42OTEwNyA0LjE3Njc4IDMuMjU4NjkgMy43ODU5NyAzLjY4NzQ2QyAzLjM5NTE2IDQuMTE2MjQgMi44NTE2NiA0LjM3MTE2IDIuMjc0NzEgNC4zOTYyOUwgMi4yNzQ3MSA0LjM5NjI5WiIvPgogICAgPC9nPgogIDwvZz4+Cjwvc3ZnPgo=);--jp-icon-jupyterlab-wordmark:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIHZpZXdCb3g9IjAgMCAxODYwLjggNDc1Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0RTRFNEUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ4MC4xMzY0MDEsIDY0LjI3MTQ5MykiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDU4Ljg3NTU2NikiPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA4NzYwMywgMC4xNDAyOTQpIj4KICAgICAgICA8cGF0aCBkPSJNLTQyNi45LDE2OS44YzAsNDguNy0zLjcsNjQuNy0xMy42LDc2LjRjLTEwLjgsMTAtMjUsMTUuNS0zOS43LDE1LjVsMy43LDI5IGMyMi44LDAuMyw0NC44LTcuOSw2MS45LTIzLjFjMTcuOC0xOC41LDI0LTQ0LjEsMjQtODMuM1YwSC00Mjd2MTcwLjFMLTQyNi45LDE2OS44TC00MjYuOSwxNjkuOHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTU1LjA0NTI5NiwgNTYuODM3MTA0KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuNTYyNDUzLCAxLjc5OTg0MikiPgogICAgICAgIDxwYXRoIGQ9Ik0tMzEyLDE0OGMwLDIxLDAsMzkuNSwxLjcsNTUuNGgtMzEuOGwtMi4xLTMzLjNoLTAuOGMtNi43LDExLjYtMTYuNCwyMS4zLTI4LDI3LjkgYy0xMS42LDYuNi0yNC44LDEwLTM4LjIsOS44Yy0zMS40LDAtNjktMTcuNy02OS04OVYwaDM2LjR2MTEyLjdjMCwzOC43LDExLjYsNjQuNyw0NC42LDY0LjdjMTAuMy0wLjIsMjAuNC0zLjUsMjguOS05LjQgYzguNS01LjksMTUuMS0xNC4zLDE4LjktMjMuOWMyLjItNi4xLDMuMy0xMi41LDMuMy0xOC45VjAuMmgzNi40VjE0OEgtMzEyTC0zMTIsMTQ4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTAuMDEzMzIyLCA1My40Nzk2MzgpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS43MDY0NTgsIDAuMjMxNDI1KSI+CiAgICAgICAgPHBhdGggZD0iTS00NzguNiw3MS40YzAtMjYtMC44LTQ3LTEuNy02Ni43aDMyLjdsMS43LDM0LjhoMC44YzcuMS0xMi41LDE3LjUtMjIuOCwzMC4xLTI5LjcgYzEyLjUtNywyNi43LTEwLjMsNDEtOS44YzQ4LjMsMCw4NC43LDQxLjcsODQuNywxMDMuM2MwLDczLjEtNDMuNywxMDkuMi05MSwxMDkuMmMtMTIuMSwwLjUtMjQuMi0yLjItMzUtNy44IGMtMTAuOC01LjYtMTkuOS0xMy45LTI2LjYtMjQuMmgtMC44VjI5MWgtMzZ2LTIyMEwtNDc4LjYsNzEuNEwtNDc4LjYsNzEuNHogTS00NDIuNiwxMjUuNmMwLjEsNS4xLDAuNiwxMC4xLDEuNywxNS4xIGMzLDEyLjMsOS45LDIzLjMsMTkuOCwzMS4xYzkuOSw3LjgsMjIuMSwxMi4xLDM0LjcsMTIuMWMzOC41LDAsNjAuNy0zMS45LDYwLjctNzguNWMwLTQwLjctMjEuMS03NS42LTU5LjUtNzUuNiBjLTEyLjksMC40LTI1LjMsNS4xLTM1LjMsMTMuNGMtOS45LDguMy0xNi45LDE5LjctMTkuNiwzMi40Yy0xLjUsNC45LTIuMywxMC0yLjUsMTUuMVYxMjUuNkwtNDQyLjYsMTI1LjZMLTQ0Mi42LDEyNS42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MDYuNzQwNzI2LCA1Ni44MzcxMDQpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC43NTEyMjYsIDEuOTg5Mjk5KSI+CiAgICAgICAgPHBhdGggZD0iTS00NDAuOCwwbDQzLjcsMTIwLjFjNC41LDEzLjQsOS41LDI5LjQsMTIuOCw0MS43aDAuOGMzLjctMTIuMiw3LjktMjcuNywxMi44LTQyLjQgbDM5LjctMTE5LjJoMzguNUwtMzQ2LjksMTQ1Yy0yNiw2OS43LTQzLjcsMTA1LjQtNjguNiwxMjcuMmMtMTIuNSwxMS43LTI3LjksMjAtNDQuNiwyMy45bC05LjEtMzEuMSBjMTEuNy0zLjksMjIuNS0xMC4xLDMxLjgtMTguMWMxMy4yLTExLjEsMjMuNy0yNS4yLDMwLjYtNDEuMmMxLjUtMi44LDIuNS01LjcsMi45LTguOGMtMC4zLTMuMy0xLjItNi42LTIuNS05LjdMLTQ4MC4yLDAuMSBoMzkuN0wtNDQwLjgsMEwtNDQwLjgsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODIyLjc0ODEwNCwgMC4wMDAwMDApIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS40NjQwNTAsIDAuMzc4OTE0KSI+CiAgICAgICAgPHBhdGggZD0iTS00MTMuNywwdjU4LjNoNTJ2MjguMmgtNTJWMTk2YzAsMjUsNywzOS41LDI3LjMsMzkuNWM3LjEsMC4xLDE0LjItMC43LDIxLjEtMi41IGwxLjcsMjcuN2MtMTAuMywzLjctMjEuMyw1LjQtMzIuMiw1Yy03LjMsMC40LTE0LjYtMC43LTIxLjMtMy40Yy02LjgtMi43LTEyLjktNi44LTE3LjktMTIuMWMtMTAuMy0xMC45LTE0LjEtMjktMTQuMS01Mi45IFY4Ni41aC0zMVY1OC4zaDMxVjkuNkwtNDEzLjcsMEwtNDEzLjcsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTc0LjQzMzI4NiwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuOTkwMDM0LCAwLjYxMDMzOSkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDQ1LjgsMTEzYzAuOCw1MCwzMi4yLDcwLjYsNjguNiw3MC42YzE5LDAuNiwzNy45LTMsNTUuMy0xMC41bDYuMiwyNi40IGMtMjAuOSw4LjktNDMuNSwxMy4xLTY2LjIsMTIuNmMtNjEuNSwwLTk4LjMtNDEuMi05OC4zLTEwMi41Qy00ODAuMiw0OC4yLTQ0NC43LDAtMzg2LjUsMGM2NS4yLDAsODIuNyw1OC4zLDgyLjcsOTUuNyBjLTAuMSw1LjgtMC41LDExLjUtMS4yLDE3LjJoLTE0MC42SC00NDUuOEwtNDQ1LjgsMTEzeiBNLTMzOS4yLDg2LjZjMC40LTIzLjUtOS41LTYwLjEtNTAuNC02MC4xIGMtMzYuOCwwLTUyLjgsMzQuNC01NS43LDYwLjFILTMzOS4yTC0zMzkuMiw4Ni42TC0zMzkuMiw4Ni42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAxLjk2MTA1OCwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuMTc5NjQwLCAwLjcwNTA2OCkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDc4LjYsNjhjMC0yMy45LTAuNC00NC41LTEuNy02My40aDMxLjhsMS4yLDM5LjloMS43YzkuMS0yNy4zLDMxLTQ0LjUsNTUuMy00NC41IGMzLjUtMC4xLDcsMC40LDEwLjMsMS4ydjM0LjhjLTQuMS0wLjktOC4yLTEuMy0xMi40LTEuMmMtMjUuNiwwLTQzLjcsMTkuNy00OC43LDQ3LjRjLTEsNS43LTEuNiwxMS41LTEuNywxNy4ydjEwOC4zaC0zNlY2OCBMLTQ3OC42LDY4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCBkPSJNMTM1Mi4zLDMyNi4yaDM3VjI4aC0zN1YzMjYuMnogTTE2MDQuOCwzMjYuMmMtMi41LTEzLjktMy40LTMxLjEtMy40LTQ4Ljd2LTc2IGMwLTQwLjctMTUuMS04My4xLTc3LjMtODMuMWMtMjUuNiwwLTUwLDcuMS02Ni44LDE4LjFsOC40LDI0LjRjMTQuMy05LjIsMzQtMTUuMSw1My0xNS4xYzQxLjYsMCw0Ni4yLDMwLjIsNDYuMiw0N3Y0LjIgYy03OC42LTAuNC0xMjIuMywyNi41LTEyMi4zLDc1LjZjMCwyOS40LDIxLDU4LjQsNjIuMiw1OC40YzI5LDAsNTAuOS0xNC4zLDYyLjItMzAuMmgxLjNsMi45LDI1LjZIMTYwNC44eiBNMTU2NS43LDI1Ny43IGMwLDMuOC0wLjgsOC0yLjEsMTEuOGMtNS45LDE3LjItMjIuNywzNC00OS4yLDM0Yy0xOC45LDAtMzQuOS0xMS4zLTM0LjktMzUuM2MwLTM5LjUsNDUuOC00Ni42LDg2LjItNDUuOFYyNTcuN3ogTTE2OTguNSwzMjYuMiBsMS43LTMzLjZoMS4zYzE1LjEsMjYuOSwzOC43LDM4LjIsNjguMSwzOC4yYzQ1LjQsMCw5MS4yLTM2LjEsOTEuMi0xMDguOGMwLjQtNjEuNy0zNS4zLTEwMy43LTg1LjctMTAzLjcgYy0zMi44LDAtNTYuMywxNC43LTY5LjMsMzcuNGgtMC44VjI4aC0zNi42djI0NS43YzAsMTguMS0wLjgsMzguNi0xLjcsNTIuNUgxNjk4LjV6IE0xNzA0LjgsMjA4LjJjMC01LjksMS4zLTEwLjksMi4xLTE1LjEgYzcuNi0yOC4xLDMxLjEtNDUuNCw1Ni4zLTQ1LjRjMzkuNSwwLDYwLjUsMzQuOSw2MC41LDc1LjZjMCw0Ni42LTIzLjEsNzguMS02MS44LDc4LjFjLTI2LjksMC00OC4zLTE3LjYtNTUuNS00My4zIGMtMC44LTQuMi0xLjctOC44LTEuNy0xMy40VjIwOC4yeiIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-kernel:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgZmlsbD0iIzYxNjE2MSIgZD0iTTE1IDlIOXY2aDZWOXptLTIgNGgtMnYtMmgydjJ6bTgtMlY5aC0yVjdjMC0xLjEtLjktMi0yLTJoLTJWM2gtMnYyaC0yVjNIOXYySDdjLTEuMSAwLTIgLjktMiAydjJIM3YyaDJ2MkgzdjJoMnYyYzAgMS4xLjkgMiAyIDJoMnYyaDJ2LTJoMnYyaDJ2LTJoMmMxLjEgMCAyLS45IDItMnYtMmgydi0yaC0ydi0yaDJ6bS00IDZIN1Y3aDEwdjEweiIvPgo8L3N2Zz4K);--jp-icon-keyboard:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMTdjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0yem0tOSAzaDJ2MmgtMlY4em0wIDNoMnYyaC0ydi0yek04IDhoMnYySDhWOHptMCAzaDJ2Mkg4di0yem0tMSAySDV2LTJoMnYyem0wLTNINVY4aDJ2MnptOSA3SDh2LTJoOHYyem0wLTRoLTJ2LTJoMnYyem0wLTNoLTJWOGgydjJ6bTMgM2gtMnYtMmgydjJ6bTAtM2gtMlY4aDJ2MnoiLz4KPC9zdmc+Cg==);--jp-icon-launch:url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0yNiwyOEg2YTIuMDAyNywyLjAwMjcsMCwwLDEtMi0yVjZBMi4wMDI3LDIuMDAyNywwLDAsMSw2LDRIMTZWNkg2VjI2SDI2VjE2aDJWMjZBMi4wMDI3LDIuMDAyNywwLDAsMSwyNiwyOFoiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iMjAgMiAyMCA0IDI2LjU4NiA0IDE4IDEyLjU4NiAxOS40MTQgMTQgMjggNS40MTQgMjggMTIgMzAgMTIgMzAgMiAyMCAyIi8+CiAgPC9nPgo8L3N2Zz4K);--jp-icon-launcher:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkgMTlINVY1aDdWM0g1YTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnY3ek0xNCAzdjJoMy41OWwtOS44MyA5LjgzIDEuNDEgMS40MUwxOSA2LjQxVjEwaDJWM2gtN3oiLz4KPC9zdmc+Cg==);--jp-icon-line-form:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGZpbGw9IndoaXRlIiBkPSJNNS44OCA0LjEyTDEzLjc2IDEybC03Ljg4IDcuODhMOCAyMmwxMC0xMEw4IDJ6Ii8+Cjwvc3ZnPgo=);--jp-icon-link:url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TTggMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01eiIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-list:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xOSA1djE0SDVWNWgxNG0xLjEtMkgzLjljLS41IDAtLjkuNC0uOS45djE2LjJjMCAuNC40LjkuOS45aDE2LjJjLjQgMCAuOS0uNS45LS45VjMuOWMwLS41LS41LS45LS45LS45ek0xMSA3aDZ2MmgtNlY3em0wIDRoNnYyaC02di0yem0wIDRoNnYyaC02ek03IDdoMnYySDd6bTAgNGgydjJIN3ptMCA0aDJ2Mkg3eiIvPgo8L3N2Zz4K);--jp-icon-markdown:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjN0IxRkEyIiBkPSJNNSAxNC45aDEybC02LjEgNnptOS40LTYuOGMwLTEuMy0uMS0yLjktLjEtNC41LS40IDEuNC0uOSAyLjktMS4zIDQuM2wtMS4zIDQuM2gtMkw4LjUgNy45Yy0uNC0xLjMtLjctMi45LTEtNC4zLS4xIDEuNi0uMSAzLjItLjIgNC42TDcgMTIuNEg0LjhsLjctMTFoMy4zTDEwIDVjLjQgMS4yLjcgMi43IDEgMy45LjMtMS4yLjctMi42IDEtMy45bDEuMi0zLjdoMy4zbC42IDExaC0yLjRsLS4zLTQuMnoiLz4KPC9zdmc+Cg==);--jp-icon-move-down:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNMTIuNDcxIDcuNTI4OTlDMTIuNzYzMiA3LjIzNjg0IDEyLjc2MzIgNi43NjMxNiAxMi40NzEgNi40NzEwMVY2LjQ3MTAxQzEyLjE3OSA2LjE3OTA1IDExLjcwNTcgNi4xNzg4NCAxMS40MTM1IDYuNDcwNTRMNy43NSAxMC4xMjc1VjEuNzVDNy43NSAxLjMzNTc5IDcuNDE0MjEgMSA3IDFWMUM2LjU4NTc5IDEgNi4yNSAxLjMzNTc5IDYuMjUgMS43NVYxMC4xMjc1TDIuNTk3MjYgNi40NjgyMkMyLjMwMzM4IDYuMTczODEgMS44MjY0MSA2LjE3MzU5IDEuNTMyMjYgNi40Njc3NFY2LjQ2Nzc0QzEuMjM4MyA2Ljc2MTcgMS4yMzgzIDcuMjM4MyAxLjUzMjI2IDcuNTMyMjZMNi4yOTI4OSAxMi4yOTI5QzYuNjgzNDIgMTIuNjgzNCA3LjMxNjU4IDEyLjY4MzQgNy43MDcxMSAxMi4yOTI5TDEyLjQ3MSA3LjUyODk5WiIgZmlsbD0iIzYxNjE2MSIvPgo8L3N2Zz4K);--jp-icon-move-up:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNMS41Mjg5OSA2LjQ3MTAxQzEuMjM2ODQgNi43NjMxNiAxLjIzNjg0IDcuMjM2ODQgMS41Mjg5OSA3LjUyODk5VjcuNTI4OTlDMS44MjA5NSA3LjgyMDk1IDIuMjk0MjYgNy44MjExNiAyLjU4NjQ5IDcuNTI5NDZMNi4yNSAzLjg3MjVWMTIuMjVDNi4yNSAxMi42NjQyIDYuNTg1NzkgMTMgNyAxM1YxM0M3LjQxNDIxIDEzIDcuNzUgMTIuNjY0MiA3Ljc1IDEyLjI1VjMuODcyNUwxMS40MDI3IDcuNTMxNzhDMTEuNjk2NiA3LjgyNjE5IDEyLjE3MzYgNy44MjY0MSAxMi40Njc3IDcuNTMyMjZWNy41MzIyNkMxMi43NjE3IDcuMjM4MyAxMi43NjE3IDYuNzYxNyAxMi40Njc3IDYuNDY3NzRMNy43MDcxMSAxLjcwNzExQzcuMzE2NTggMS4zMTY1OCA2LjY4MzQyIDEuMzE2NTggNi4yOTI4OSAxLjcwNzExTDEuNTI4OTkgNi40NzEwMVoiIGZpbGw9IiM2MTYxNjEiLz4KPC9zdmc+Cg==);--jp-icon-new-folder:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwIDZoLThsLTItMkg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOGMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY4YzAtMS4xMS0uODktMi0yLTJ6bS0xIDhoLTN2M2gtMnYtM2gtM3YtMmgzVjloMnYzaDN2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=);--jp-icon-not-trusted:url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI1IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMTkgMTcuMTg0NCAyLjk2OTY4IDE0LjMwMzIgMS44NjA5NCAxMS40NDA5WiIvPgogICAgPHBhdGggY2xhc3M9ImpwLWljb24yIiBzdHJva2U9IiMzMzMzMzMiIHN0cm9rZS13aWR0aD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOS4zMTU5MiA5LjMyMDMxKSIgZD0iTTcuMzY4NDIgMEwwIDcuMzY0NzkiLz4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMzE1OTIgMTYuNjgzNikgc2NhbGUoMSAtMSkiIGQ9Ik03LjM2ODQyIDBMMCA3LjM2NDc5Ii8+Cjwvc3ZnPgo=);--jp-icon-notebook:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtbm90ZWJvb2staWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNFRjZDMDAiPgogICAgPHBhdGggZD0iTTE4LjcgMy4zdjE1LjRIMy4zVjMuM2gxNS40bTEuNS0xLjVIMS44djE4LjNoMTguM2wuMS0xOC4zeiIvPgogICAgPHBhdGggZD0iTTE2LjUgMTYuNWwtNS40LTQuMy01LjYgNC4zdi0xMWgxMXoiLz4KICA8L2c+Cjwvc3ZnPgo=);--jp-icon-numbering:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTQgMTlINlYxOS41SDVWMjAuNUg2VjIxSDRWMjJIN1YxOEg0VjE5Wk01IDEwSDZWNkg0VjdINVYxMFpNNCAxM0g1LjhMNCAxNS4xVjE2SDdWMTVINS4yTDcgMTIuOVYxMkg0VjEzWk05IDdWOUgyM1Y3SDlaTTkgMjFIMjNWMTlIOVYyMVpNOSAxNUgyM1YxM0g5VjE1WiIvPgoJPC9nPgo8L3N2Zz4K);--jp-icon-offline-bolt:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDIuMDJjLTUuNTEgMC05Ljk4IDQuNDctOS45OCA5Ljk4czQuNDcgOS45OCA5Ljk4IDkuOTggOS45OC00LjQ3IDkuOTgtOS45OFMxNy41MSAyLjAyIDEyIDIuMDJ6TTExLjQ4IDIwdi02LjI2SDhMMTMgNHY2LjI2aDMuMzVMMTEuNDggMjB6Ii8+CiAgPC9nPgo8L3N2Zz4K);--jp-icon-palette:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE4IDEzVjIwSDRWNkg5LjAyQzkuMDcgNS4yOSA5LjI0IDQuNjIgOS41IDRINEMyLjkgNCAyIDQuOSAyIDZWMjBDMiAyMS4xIDIuOSAyMiA0IDIySDE4QzE5LjEgMjIgMjAgMjEuMSAyMCAyMFYxNUwxOCAxM1pNMTkuMyA4Ljg5QzE5Ljc0IDguMTkgMjAgNy4zOCAyMCA2LjVDMjAgNC4wMSAxNy45OSAyIDE1LjUgMkMxMy4wMSAyIDExIDQuMDEgMTEgNi41QzExIDguOTkgMTMuMDEgMTEgMTUuNDkgMTFDMTYuMzcgMTEgMTcuMTkgMTAuNzQgMTcuODggMTAuM0wyMSAxMy40MkwyMi40MiAxMkwxOS4zIDguODlaTTE1LjUgOUMxNC4xMiA5IDEzIDcuODggMTMgNi41QzEzIDUuMTIgMTQuMTIgNCAxNS41IDRDMTYuODggNCAxOCA1LjEyIDE4IDYuNUMxOCA3Ljg4IDE2Ljg4IDkgMTUuNSA5WiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDZIOS4wMTg5NEM5LjAwNjM5IDYuMTY1MDIgOSA2LjMzMTc2IDkgNi41QzkgOC44MTU3NyAxMC4yMTEgMTAuODQ4NyAxMi4wMzQzIDEySDlWMTRIMTZWMTIuOTgxMUMxNi41NzAzIDEyLjkzNzcgMTcuMTIgMTIuODIwNyAxNy42Mzk2IDEyLjYzOTZMMTggMTNWMjBINFY2Wk04IDhINlYxMEg4VjhaTTYgMTJIOFYxNEg2VjEyWk04IDE2SDZWMThIOFYxNlpNOSAxNkgxNlYxOEg5VjE2WiIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-paste:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE5IDJoLTQuMThDMTQuNC44NCAxMy4zIDAgMTIgMGMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptNyAxOEg1VjRoMnYzaDEwVjRoMnYxNnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==);--jp-icon-pdf:url(data:image/svg+xml;base64,PHN2ZwogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMiAyMiIgd2lkdGg9IjE2Ij4KICAgIDxwYXRoIHRyYW5zZm9ybT0icm90YXRlKDQ1KSIgY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI0ZGMkEyQSIKICAgICAgIGQ9Im0gMjIuMzQ0MzY5LC0zLjAxNjM2NDIgaCA1LjYzODYwNCB2IDEuNTc5MjQzMyBoIC0zLjU0OTIyNyB2IDEuNTA4NjkyOTkgaCAzLjMzNzU3NiBWIDEuNjUwODE1NCBoIC0zLjMzNzU3NiB2IDMuNDM1MjYxMyBoIC0yLjA4OTM3NyB6IG0gLTcuMTM2NDQ0LDEuNTc5MjQzMyB2IDQuOTQzOTU0MyBoIDAuNzQ4OTIgcSAxLjI4MDc2MSwwIDEuOTUzNzAzLC0wLjYzNDk1MzUgMC42NzgzNjksLTAuNjM0OTUzNSAwLjY3ODM2OSwtMS44NDUxNjQxIDAsLTEuMjA0NzgzNTUgLTAuNjcyOTQyLC0xLjgzNDMxMDExIC0wLjY3Mjk0MiwtMC42Mjk1MjY1OSAtMS45NTkxMywtMC42Mjk1MjY1OSB6IG0gLTIuMDg5Mzc3LC0xLjU3OTI0MzMgaCAyLjIwMzM0MyBxIDEuODQ1MTY0LDAgMi43NDYwMzksMC4yNjU5MjA3IDAuOTA2MzAxLDAuMjYwNDkzNyAxLjU1MjEwOCwwLjg5MDAyMDMgMC41Njk4MywwLjU0ODEyMjMgMC44NDY2MDUsMS4yNjQ0ODAwNiAwLjI3Njc3NCwwLjcxNjM1NzgxIDAuMjc2Nzc0LDEuNjIyNjU4OTQgMCwwLjkxNzE1NTEgLTAuMjc2Nzc0LDEuNjM4OTM5OSAtMC4yNzY3NzUsMC43MTYzNTc4IC0wLjg0NjYwNSwxLjI2NDQ4IC0wLjY1MTIzNCwwLjYyOTUyNjYgLTEuNTYyOTYyLDAuODk1NDQ3MyAtMC45MTE3MjgsMC4yNjA0OTM3IC0yLjczNTE4NSwwLjI2MDQ5MzcgaCAtMi4yMDMzNDMgeiBtIC04LjE0NTg1NjUsMCBoIDMuNDY3ODIzIHEgMS41NDY2ODE2LDAgMi4zNzE1Nzg1LDAuNjg5MjIzIDAuODMwMzI0LDAuNjgzNzk2MSAwLjgzMDMyNCwxLjk1MzcwMzE0IDAsMS4yNzUzMzM5NyAtMC44MzAzMjQsMS45NjQ1NTcwNiBRIDkuOTg3MTk2MSwyLjI3NDkxNSA4LjQ0MDUxNDUsMi4yNzQ5MTUgSCA3LjA2MjA2ODQgViA1LjA4NjA3NjcgSCA0Ljk3MjY5MTUgWiBtIDIuMDg5Mzc2OSwxLjUxNDExOTkgdiAyLjI2MzAzOTQzIGggMS4xNTU5NDEgcSAwLjYwNzgxODgsMCAwLjkzODg2MjksLTAuMjkzMDU1NDcgMC4zMzEwNDQxLC0wLjI5ODQ4MjQxIDAuMzMxMDQ0MSwtMC44NDExNzc3MiAwLC0wLjU0MjY5NTMxIC0wLjMzMTA0NDEsLTAuODM1NzUwNzQgLTAuMzMxMDQ0MSwtMC4yOTMwNTU1IC0wLjkzODg2MjksLTAuMjkzMDU1NSB6IgovPgo8L3N2Zz4K);--jp-icon-python:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iLTEwIC0xMCAxMzEuMTYxMzYxNjk0MzM1OTQgMTMyLjM4ODk5OTkzODk2NDg0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMzA2OTk4IiBkPSJNIDU0LjkxODc4NSw5LjE5Mjc0MjFlLTQgQyA1MC4zMzUxMzIsMC4wMjIyMTcyNyA0NS45NTc4NDYsMC40MTMxMzY5NyA0Mi4xMDYyODUsMS4wOTQ2NjkzIDMwLjc2MDA2OSwzLjA5OTE3MzEgMjguNzAwMDM2LDcuMjk0NzcxNCAyOC43MDAwMzUsMTUuMDMyMTY5IHYgMTAuMjE4NzUgaCAyNi44MTI1IHYgMy40MDYyNSBoIC0yNi44MTI1IC0xMC4wNjI1IGMgLTcuNzkyNDU5LDAgLTE0LjYxNTc1ODgsNC42ODM3MTcgLTE2Ljc0OTk5OTgsMTMuNTkzNzUgLTIuNDYxODE5OTgsMTAuMjEyOTY2IC0yLjU3MTAxNTA4LDE2LjU4NjAyMyAwLDI3LjI1IDEuOTA1OTI4Myw3LjkzNzg1MiA2LjQ1NzU0MzIsMTMuNTkzNzQ4IDE0LjI0OTk5OTgsMTMuNTkzNzUgaCA5LjIxODc1IHYgLTEyLjI1IGMgMCwtOC44NDk5MDIgNy42NTcxNDQsLTE2LjY1NjI0OCAxNi43NSwtMTYuNjU2MjUgaCAyNi43ODEyNSBjIDcuNDU0OTUxLDAgMTMuNDA2MjUzLC02LjEzODE2NCAxMy40MDYyNSwtMTMuNjI1IHYgLTI1LjUzMTI1IGMgMCwtNy4yNjYzMzg2IC02LjEyOTk4LC0xMi43MjQ3NzcxIC0xMy40MDYyNSwtMTMuOTM3NDk5NyBDIDY0LjI4MTU0OCwwLjMyNzk0Mzk3IDU5LjUwMjQzOCwtMC4wMjAzNzkwMyA1NC45MTg3ODUsOS4xOTI3NDIxZS00IFogbSAtMTQuNSw4LjIxODc1MDEyNTc5IGMgMi43Njk1NDcsMCA1LjAzMTI1LDIuMjk4NjQ1NiA1LjAzMTI1LDUuMTI0OTk5NiAtMmUtNiwyLjgxNjMzNiAtMi4yNjE3MDMsNS4wOTM3NSAtNS4wMzEyNSw1LjA5Mzc1IC0yLjc3OTQ3NiwtMWUtNiAtNS4wMzEyNSwtMi4yNzc0MTUgLTUuMDMxMjUsLTUuMDkzNzUgLTEwZS03LC0yLjgyNjM1MyAyLjI1MTc3NCwtNS4xMjQ5OTk2IDUuMDMxMjUsLTUuMTI0OTk5NiB6Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI2ZmZDQzYiIgZD0ibSA4NS42Mzc1MzUsMjguNjU3MTY5IHYgMTEuOTA2MjUgYyAwLDkuMjMwNzU1IC03LjgyNTg5NSwxNi45OTk5OTkgLTE2Ljc1LDE3IGggLTI2Ljc4MTI1IGMgLTcuMzM1ODMzLDAgLTEzLjQwNjI0OSw2LjI3ODQ4MyAtMTMuNDA2MjUsMTMuNjI1IHYgMjUuNTMxMjQ3IGMgMCw3LjI2NjM0NCA2LjMxODU4OCwxMS41NDAzMjQgMTMuNDA2MjUsMTMuNjI1MDA0IDguNDg3MzMxLDIuNDk1NjEgMTYuNjI2MjM3LDIuOTQ2NjMgMjYuNzgxMjUsMCA2Ljc1MDE1NSwtMS45NTQzOSAxMy40MDYyNTMsLTUuODg3NjEgMTMuNDA2MjUsLTEzLjYyNTAwNCBWIDg2LjUwMDkxOSBoIC0yNi43ODEyNSB2IC0zLjQwNjI1IGggMjYuNzgxMjUgMTMuNDA2MjU0IGMgNy43OTI0NjEsMCAxMC42OTYyNTEsLTUuNDM1NDA4IDEzLjQwNjI0MSwtMTMuNTkzNzUgMi43OTkzMywtOC4zOTg4ODYgMi42ODAyMiwtMTYuNDc1Nzc2IDAsLTI3LjI1IC0xLjkyNTc4LC03Ljc1NzQ0MSAtNS42MDM4NywtMTMuNTkzNzUgLTEzLjQwNjI0MSwtMTMuNTkzNzUgeiBtIC0xNS4wNjI1LDY0LjY1NjI1IGMgMi43Nzk0NzgsM2UtNiA1LjAzMTI1LDIuMjc3NDE3IDUuMDMxMjUsNS4wOTM3NDcgLTJlLTYsMi44MjYzNTQgLTIuMjUxNzc1LDUuMTI1MDA0IC01LjAzMTI1LDUuMTI1MDA0IC0yLjc2OTU1LDAgLTUuMDMxMjUsLTIuMjk4NjUgLTUuMDMxMjUsLTUuMTI1MDA0IDJlLTYsLTIuODE2MzMgMi4yNjE2OTcsLTUuMDkzNzQ3IDUuMDMxMjUsLTUuMDkzNzQ3IHoiLz4KPC9zdmc+Cg==);--jp-icon-r-kernel:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjE5NkYzIiBkPSJNNC40IDIuNWMxLjItLjEgMi45LS4zIDQuOS0uMyAyLjUgMCA0LjEuNCA1LjIgMS4zIDEgLjcgMS41IDEuOSAxLjUgMy41IDAgMi0xLjQgMy41LTIuOSA0LjEgMS4yLjQgMS43IDEuNiAyLjIgMyAuNiAxLjkgMSAzLjkgMS4zIDQuNmgtMy44Yy0uMy0uNC0uOC0xLjctMS4yLTMuN3MtMS4yLTIuNi0yLjYtMi42aC0uOXY2LjRINC40VjIuNXptMy43IDYuOWgxLjRjMS45IDAgMi45LS45IDIuOS0yLjNzLTEtMi4zLTIuOC0yLjNjLS43IDAtMS4zIDAtMS42LjJ2NC41aC4xdi0uMXoiLz4KPC9zdmc+Cg==);--jp-icon-react:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMTUwIDE1MCA1NDEuOSAyOTUuMyI+CiAgPGcgY2xhc3M9ImpwLWljb24tYnJhbmQyIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxREFGQiI+CiAgICA8cGF0aCBkPSJNNjY2LjMgMjk2LjVjMC0zMi41LTQwLjctNjMuMy0xMDMuMS04Mi40IDE0LjQtNjMuNiA4LTExNC4yLTIwLjItMTMwLjQtNi41LTMuOC0xNC4xLTUuNi0yMi40LTUuNnYyMi4zYzQuNiAwIDguMy45IDExLjQgMi42IDEzLjYgNy44IDE5LjUgMzcuNSAxNC45IDc1LjctMS4xIDkuNC0yLjkgMTkuMy01LjEgMjkuNC0xOS42LTQuOC00MS04LjUtNjMuNS0xMC45LTEzLjUtMTguNS0yNy41LTM1LjMtNDEuNi01MCAzMi42LTMwLjMgNjMuMi00Ni45IDg0LTQ2LjlWNzhjLTI3LjUgMC02My41IDE5LjYtOTkuOSA1My42LTM2LjQtMzMuOC03Mi40LTUzLjItOTkuOS01My4ydjIyLjNjMjAuNyAwIDUxLjQgMTYuNSA4NCA0Ni42LTE0IDE0LjctMjggMzEuNC00MS4zIDQ5LjktMjIuNiAyLjQtNDQgNi4xLTYzLjYgMTEtMi4zLTEwLTQtMTkuNy01LjItMjktNC43LTM4LjIgMS4xLTY3LjkgMTQuNi03NS44IDMtMS44IDYuOS0yLjYgMTEuNS0yLjZWNzguNWMtOC40IDAtMTYgMS44LTIyLjYgNS42LTI4LjEgMTYuMi0zNC40IDY2LjctMTkuOSAxMzAuMS02Mi4yIDE5LjItMTAyLjcgNDkuOS0xMDIuNyA4Mi4zIDAgMzIuNSA0MC43IDYzLjMgMTAzLjEgODIuNC0xNC40IDYzLjYtOCAxMTQuMiAyMC4yIDEzMC40IDYuNSAzLjggMTQuMSA1LjYgMjIuNSA1LjYgMjcuNSAwIDYzLjUtMTkuNiA5OS45LTUzLjYgMzYuNCAzMy44IDcyLjQgNTMuMiA5OS45IDUzLjIgOC40IDAgMTYtMS44IDIyLjYtNS42IDI4LjEtMTYuMiAzNC40LTY2LjcgMTkuOS0xMzAuMSA2Mi0xOS4xIDEwMi41LTQ5LjkgMTAyLjUtODIuM3ptLTEzMC4yLTY2LjdjLTMuNyAxMi45LTguMyAyNi4yLTEzLjUgMzkuNS00LjEtOC04LjQtMTYtMTMuMS0yNC00LjYtOC05LjUtMTUuOC0xNC40LTIzLjQgMTQuMiAyLjEgMjcuOSA0LjcgNDEgNy45em0tNDUuOCAxMDYuNWMtNy44IDEzLjUtMTUuOCAyNi4zLTI0LjEgMzguMi0xNC45IDEuMy0zMCAyLTQ1LjIgMi0xNS4xIDAtMzAuMi0uNy00NS0xLjktOC4zLTExLjktMTYuNC0yNC42LTI0LjItMzgtNy42LTEzLjEtMTQuNS0yNi40LTIwLjgtMzkuOCA2LjItMTMuNCAxMy4yLTI2LjggMjAuNy0zOS45IDcuOC0xMy41IDE1LjgtMjYuMyAyNC4xLTM4LjIgMTQuOS0xLjMgMzAtMiA0NS4yLTIgMTUuMSAwIDMwLjIuNyA0NSAxLjkgOC4zIDExLjkgMTYuNCAyNC42IDI0LjIgMzggNy42IDEzLjEgMTQuNSAyNi40IDIwLjggMzkuOC02LjMgMTMuNC0xMy4yIDI2LjgtMjAuNyAzOS45em0zMi4zLTEzYzUuNCAxMy40IDEwIDI2LjggMTMuOCAzOS44LTEzLjEgMy4yLTI2LjkgNS45LTQxLjIgOCA0LjktNy43IDkuOC0xNS42IDE0LjQtMjMuNyA0LjYtOCA4LjktMTYuMSAxMy0yNC4xek00MjEuMiA0MzBjLTkuMy05LjYtMTguNi0yMC4zLTI3LjgtMzIgOSAuNCAxOC4yLjcgMjcuNS43IDkuNCAwIDE4LjctLjIgMjcuOC0uNy05IDExLjctMTguMyAyMi40LTI3LjUgMzJ6bS03NC40LTU4LjljLTE0LjItMi4xLTI3LjktNC43LTQxLTcuOSAzLjctMTIuOSA4LjMtMjYuMiAxMy41LTM5LjUgNC4xIDggOC40IDE2IDEzLjEgMjQgNC43IDggOS41IDE1LjggMTQuNCAyMy40ek00MjAuNyAxNjNjOS4zIDkuNiAxOC42IDIwLjMgMjcuOCAzMi05LS40LTE4LjItLjctMjcuNS0uNy05LjQgMC0xOC43LjItMjcuOC43IDktMTEuNyAxOC4zLTIyLjQgMjcuNS0zMnptLTc0IDU4LjljLTQuOSA3LjctOS44IDE1LjYtMTQuNCAyMy43LTQuNiA4LTguOSAxNi0xMyAyNC01LjQtMTMuNC0xMC0yNi44LTEzLjgtMzkuOCAxMy4xLTMuMSAyNi45LTUuOCA0MS4yLTcuOXptLTkwLjUgMTI1LjJjLTM1LjQtMTUuMS01OC4zLTM0LjktNTguMy01MC42IDAtMTUuNyAyMi45LTM1LjYgNTguMy01MC42IDguNi0zLjcgMTgtNyAyNy43LTEwLjEgNS43IDE5LjYgMTMuMiA0MCAyMi41IDYwLjktOS4yIDIwLjgtMTYuNiA0MS4xLTIyLjIgNjAuNi05LjktMy4xLTE5LjMtNi41LTI4LTEwLjJ6TTMxMCA0OTBjLTEzLjYtNy44LTE5LjUtMzcuNS0xNC45LTc1LjcgMS4xLTkuNCAyLjktMTkuMyA1LjEtMjkuNCAxOS42IDQuOCA0MSA4LjUgNjMuNSAxMC45IDEzLjUgMTguNSAyNy41IDM1LjMgNDEuNiA1MC0zMi42IDMwLjMtNjMuMiA0Ni45LTg0IDQ2LjktNC41LS4xLTguMy0xLTExLjMtMi43em0yMzcuMi03Ni4yYzQuNyAzOC4yLTEuMSA2Ny45LTE0LjYgNzUuOC0zIDEuOC02LjkgMi42LTExLjUgMi42LTIwLjcgMC01MS40LTE2LjUtODQtNDYuNiAxNC0xNC43IDI4LTMxLjQgNDEuMy00OS45IDIyLjYtMi40IDQ0LTYuMSA2My42LTExIDIuMyAxMC4xIDQuMSAxOS44IDUuMiAyOS4xem0zOC41LTY2LjdjLTguNiAzLjctMTggNy0yNy43IDEwLjEtNS43LTE5LjYtMTMuMi00MC0yMi41LTYwLjkgOS4yLTIwLjggMTYuNi00MS4xIDIyLjItNjAuNiA5LjkgMy4xIDE5LjMgNi41IDI4LjEgMTAuMiAzNS40IDE1LjEgNTguMyAzNC45IDU4LjMgNTAuNi0uMSAxNS43LTIzIDM1LjYtNTguNCA1MC42ek0zMjAuOCA3OC40eiIvPgogICAgPGNpcmNsZSBjeD0iNDIwLjkiIGN5PSIyOTYuNSIgcj0iNDUuNyIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-redo:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE4LjQgMTAuNkMxNi41NSA4Ljk5IDE0LjE1IDggMTEuNSA4Yy00LjY1IDAtOC41OCAzLjAzLTkuOTYgNy4yMkwzLjkgMTZjMS4wNS0zLjE5IDQuMDUtNS41IDcuNi01LjUgMS45NSAwIDMuNzMuNzIgNS4xMiAxLjg4TDEzIDE2aDlWN2wtMy42IDMuNnoiLz4KICA8L2c+Cjwvc3ZnPgo=);--jp-icon-refresh:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTkgMTMuNWMtMi40OSAwLTQuNS0yLjAxLTQuNS00LjVTNi41MSA0LjUgOSA0LjVjMS4yNCAwIDIuMzYuNTIgMy4xNyAxLjMzTDEwIDhoNVYzbC0xLjc2IDEuNzZDMTIuMTUgMy42OCAxMC42NiAzIDkgMyA1LjY5IDMgMy4wMSA1LjY5IDMuMDEgOVM1LjY5IDE1IDkgMTVjMi45NyAwIDUuNDMtMi4xNiA1LjktNWgtMS41MmMtLjQ2IDItMi4yNCAzLjUtNC4zOCAzLjV6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=);--jp-icon-regex:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi1hY2NlbnQyIiBmaWxsPSIjRkZGIj4KICAgIDxjaXJjbGUgY2xhc3M9InN0MiIgY3g9IjUuNSIgY3k9IjE0LjUiIHI9IjEuNSIvPgogICAgPHJlY3QgeD0iMTIiIHk9IjQiIGNsYXNzPSJzdDIiIHdpZHRoPSIxIiBoZWlnaHQ9IjgiLz4KICAgIDxyZWN0IHg9IjguNSIgeT0iNy41IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjg2NiAtMC41IDAuNSAwLjg2NiAtMi4zMjU1IDcuMzIxOSkiIGNsYXNzPSJzdDIiIHdpZHRoPSI4IiBoZWlnaHQ9IjEiLz4KICAgIDxyZWN0IHg9IjEyIiB5PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjUgLTAuODY2IDAuODY2IDAuNSAtMC42Nzc5IDE0LjgyNTIpIiBjbGFzcz0ic3QyIiB3aWR0aD0iMSIgaGVpZ2h0PSI4Ii8+CiAgPC9nPgo8L3N2Zz4K);--jp-icon-run:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTggNXYxNGwxMS03eiIvPgogICAgPC9nPgo8L3N2Zz4K);--jp-icon-running:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHptOTYgMzI4YzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZjMC04LjggNy4yLTE2IDE2LTE2aDE2MGM4LjggMCAxNiA3LjIgMTYgMTZ2MTYweiIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-save:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE3IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjdsLTQtNHptLTUgMTZjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTMgMyAxLjM0IDMgMy0xLjM0IDMtMyAzem0zLTEwSDVWNWgxMHY0eiIvPgogICAgPC9nPgo8L3N2Zz4K);--jp-icon-search:url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjEsMTAuOWgtMC43bC0wLjItMC4yYzAuOC0wLjksMS4zLTIuMiwxLjMtMy41YzAtMy0yLjQtNS40LTUuNC01LjRTMS44LDQuMiwxLjgsNy4xczIuNCw1LjQsNS40LDUuNCBjMS4zLDAsMi41LTAuNSwzLjUtMS4zbDAuMiwwLjJ2MC43bDQuMSw0LjFsMS4yLTEuMkwxMi4xLDEwLjl6IE03LjEsMTAuOWMtMi4xLDAtMy43LTEuNy0zLjctMy43czEuNy0zLjcsMy43LTMuN3MzLjcsMS43LDMuNywzLjcgUzkuMiwxMC45LDcuMSwxMC45eiIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-settings:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuNDMgMTIuOThjLjA0LS4zMi4wNy0uNjQuMDctLjk4cy0uMDMtLjY2LS4wNy0uOThsMi4xMS0xLjY1Yy4xOS0uMTUuMjQtLjQyLjEyLS42NGwtMi0zLjQ2Yy0uMTItLjIyLS4zOS0uMy0uNjEtLjIybC0yLjQ5IDFjLS41Mi0uNC0xLjA4LS43My0xLjY5LS45OGwtLjM4LTIuNjVBLjQ4OC40ODggMCAwMDE0IDJoLTRjLS4yNSAwLS40Ni4xOC0uNDkuNDJsLS4zOCAyLjY1Yy0uNjEuMjUtMS4xNy41OS0xLjY5Ljk4bC0yLjQ5LTFjLS4yMy0uMDktLjQ5IDAtLjYxLjIybC0yIDMuNDZjLS4xMy4yMi0uMDcuNDkuMTIuNjRsMi4xMSAxLjY1Yy0uMDQuMzItLjA3LjY1LS4wNy45OHMuMDMuNjYuMDcuOThsLTIuMTEgMS42NWMtLjE5LjE1LS4yNC40Mi0uMTIuNjRsMiAzLjQ2Yy4xMi4yMi4zOS4zLjYxLjIybDIuNDktMWMuNTIuNCAxLjA4LjczIDEuNjkuOThsLjM4IDIuNjVjLjAzLjI0LjI0LjQyLjQ5LjQyaDRjLjI1IDAgLjQ2LS4xOC40OS0uNDJsLjM4LTIuNjVjLjYxLS4yNSAxLjE3LS41OSAxLjY5LS45OGwyLjQ5IDFjLjIzLjA5LjQ5IDAgLjYxLS4yMmwyLTMuNDZjLjEyLS4yMi4wNy0uNDktLjEyLS42NGwtMi4xMS0xLjY1ek0xMiAxNS41Yy0xLjkzIDAtMy41LTEuNTctMy41LTMuNXMxLjU3LTMuNSAzLjUtMy41IDMuNSAxLjU3IDMuNSAzLjUtMS41NyAzLjUtMy41IDMuNXoiLz4KPC9zdmc+Cg==);--jp-icon-share:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTSAxOCAyIEMgMTYuMzU0OTkgMiAxNSAzLjM1NDk5MDQgMTUgNSBDIDE1IDUuMTkwOTUyOSAxNS4wMjE3OTEgNS4zNzcxMjI0IDE1LjA1NjY0MSA1LjU1ODU5MzggTCA3LjkyMTg3NSA5LjcyMDcwMzEgQyA3LjM5ODUzOTkgOS4yNzc4NTM5IDYuNzMyMDc3MSA5IDYgOSBDIDQuMzU0OTkwNCA5IDMgMTAuMzU0OTkgMyAxMiBDIDMgMTMuNjQ1MDEgNC4zNTQ5OTA0IDE1IDYgMTUgQyA2LjczMjA3NzEgMTUgNy4zOTg1Mzk5IDE0LjcyMjE0NiA3LjkyMTg3NSAxNC4yNzkyOTcgTCAxNS4wNTY2NDEgMTguNDM5NDUzIEMgMTUuMDIxNTU1IDE4LjYyMTUxNCAxNSAxOC44MDgzODYgMTUgMTkgQyAxNSAyMC42NDUwMSAxNi4zNTQ5OSAyMiAxOCAyMiBDIDE5LjY0NTAxIDIyIDIxIDIwLjY0NTAxIDIxIDE5IEMgMjEgMTcuMzU0OTkgMTkuNjQ1MDEgMTYgMTggMTYgQyAxNy4yNjc0OCAxNiAxNi42MDE1OTMgMTYuMjc5MzI4IDE2LjA3ODEyNSAxNi43MjI2NTYgTCA4Ljk0MzM1OTQgMTIuNTU4NTk0IEMgOC45NzgyMDk1IDEyLjM3NzEyMiA5IDEyLjE5MDk1MyA5IDEyIEMgOSAxMS44MDkwNDcgOC45NzgyMDk1IDExLjYyMjg3OCA4Ljk0MzM1OTQgMTEuNDQxNDA2IEwgMTYuMDc4MTI1IDcuMjc5Mjk2OSBDIDE2LjYwMTQ2IDcuNzIyMTQ2MSAxNy4yNjc5MjMgOCAxOCA4IEMgMTkuNjQ1MDEgOCAyMSA2LjY0NTAwOTYgMjEgNSBDIDIxIDMuMzU0OTkwNCAxOS42NDUwMSAyIDE4IDIgeiBNIDE4IDQgQyAxOC41NjQxMjkgNCAxOSA0LjQzNTg3MDYgMTkgNSBDIDE5IDUuNTY0MTI5NCAxOC41NjQxMjkgNiAxOCA2IEMgMTcuNDM1ODcxIDYgMTcgNS41NjQxMjk0IDE3IDUgQyAxNyA0LjQzNTg3MDYgMTcuNDM1ODcxIDQgMTggNCB6IE0gNiAxMSBDIDYuNTY0MTI5NCAxMSA3IDExLjQzNTg3MSA3IDEyIEMgNyAxMi41NjQxMjkgNi41NjQxMjk0IDEzIDYgMTMgQyA1LjQzNTg3MDYgMTMgNSAxMi41NjQxMjkgNSAxMiBDIDUgMTEuNDM1ODcxIDUuNDM1ODcwNiAxMSA2IDExIHogTSAxOCAxOCBDIDE4LjU2NDEyOSAxOCAxOSAxOC40MzU4NzEgMTkgMTkgQyAxOSAxOS41NjQxMjkgMTguNTY0MTI5IDIwIDE4IDIwIEMgMTcuNDM1ODcxIDIwIDE3IDE5LjU2NDEyOSAxNyAxOSBDIDE3IDE4LjQzNTg3MSAxNy40MzU4NzEgMTggMTggMTggeiIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-spreadsheet:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNENBRjUwIiBkPSJNMi4yIDIuMnYxNy42aDE3LjZWMi4ySDIuMnptMTUuNCA3LjdoLTUuNVY0LjRoNS41djUuNXpNOS45IDQuNHY1LjVINC40VjQuNGg1LjV6bS01LjUgNy43aDUuNXY1LjVINC40di01LjV6bTcuNyA1LjV2LTUuNWg1LjV2NS41aC01LjV6Ii8+Cjwvc3ZnPgo=);--jp-icon-stop:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik02IDZoMTJ2MTJINnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==);--jp-icon-tab:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIxIDNIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDNWNWgxMHY0aDh2MTB6Ii8+CiAgPC9nPgo8L3N2Zz4K);--jp-icon-table-rows:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMSw4SDNWNGgxOFY4eiBNMjEsMTBIM3Y0aDE4VjEweiBNMjEsMTZIM3Y0aDE4VjE2eiIvPgogICAgPC9nPgo8L3N2Zz4K);--jp-icon-tag:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCA0MyAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTI4LjgzMzIgMTIuMzM0TDMyLjk5OTggMTYuNTAwN0wzNy4xNjY1IDEyLjMzNEgyOC44MzMyWiIvPgoJCTxwYXRoIGQ9Ik0xNi4yMDk1IDIxLjYxMDRDMTUuNjg3MyAyMi4xMjk5IDE0Ljg0NDMgMjIuMTI5OSAxNC4zMjQ4IDIxLjYxMDRMNi45ODI5IDE0LjcyNDVDNi41NzI0IDE0LjMzOTQgNi4wODMxMyAxMy42MDk4IDYuMDQ3ODYgMTMuMDQ4MkM1Ljk1MzQ3IDExLjUyODggNi4wMjAwMiA4LjYxOTQ0IDYuMDY2MjEgNy4wNzY5NUM2LjA4MjgxIDYuNTE0NzcgNi41NTU0OCA2LjA0MzQ3IDcuMTE4MDQgNi4wMzA1NUM5LjA4ODYzIDUuOTg0NzMgMTMuMjYzOCA1LjkzNTc5IDEzLjY1MTggNi4zMjQyNUwyMS43MzY5IDEzLjYzOUMyMi4yNTYgMTQuMTU4NSAyMS43ODUxIDE1LjQ3MjQgMjEuMjYyIDE1Ljk5NDZMMTYuMjA5NSAyMS42MTA0Wk05Ljc3NTg1IDguMjY1QzkuMzM1NTEgNy44MjU2NiA4LjYyMzUxIDcuODI1NjYgOC4xODI4IDguMjY1QzcuNzQzNDYgOC43MDU3MSA3Ljc0MzQ2IDkuNDE3MzMgOC4xODI4IDkuODU2NjdDOC42MjM4MiAxMC4yOTY0IDkuMzM1ODIgMTAuMjk2NCA5Ljc3NTg1IDkuODU2NjdDMTAuMjE1NiA5LjQxNzMzIDEwLjIxNTYgOC43MDUzMyA5Ljc3NTg1IDguMjY1WiIvPgoJPC9nPgo8L3N2Zz4K);--jp-icon-terminal:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiA+CiAgICA8cmVjdCBjbGFzcz0ianAtdGVybWluYWwtaWNvbi1iYWNrZ3JvdW5kLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZSIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIiBmaWxsPSIjMzMzMzMzIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtdGVybWluYWwtaWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUtaW52ZXJzZSIgZD0iTTUuMDU2NjQgOC43NjE3MkM1LjA1NjY0IDguNTk3NjYgNS4wMzEyNSA4LjQ1MzEyIDQuOTgwNDcgOC4zMjgxMkM0LjkzMzU5IDguMTk5MjIgNC44NTU0NyA4LjA4MjAzIDQuNzQ2MDkgNy45NzY1NkM0LjY0MDYyIDcuODcxMDkgNC41IDcuNzc1MzkgNC4zMjQyMiA3LjY4OTQ1QzQuMTUyMzQgNy41OTk2MSAzLjk0MzM2IDcuNTExNzIgMy42OTcyNyA3LjQyNTc4QzMuMzAyNzMgNy4yODUxNiAyLjk0MzM2IDcuMTM2NzIgMi42MTkxNCA2Ljk4MDQ3QzIuMjk0OTIgNi44MjQyMiAyLjAxNzU4IDYuNjQyNTggMS43ODcxMSA2LjQzNTU1QzEuNTYwNTUgNi4yMjg1MiAxLjM4NDc3IDUuOTg4MjggMS4yNTk3NyA1LjcxNDg0QzEuMTM0NzcgNS40Mzc1IDEuMDcyMjcgNS4xMDkzOCAxLjA3MjI3IDQuNzMwNDdDMS4wNzIyNyA0LjM5ODQ0IDEuMTI4OTEgNC4wOTU3IDEuMjQyMTkgMy44MjIyN0MxLjM1NTQ3IDMuNTQ0OTIgMS41MTU2MiAzLjMwNDY5IDEuNzIyNjYgMy4xMDE1NkMxLjkyOTY5IDIuODk4NDQgMi4xNzk2OSAyLjczNDM3IDIuNDcyNjYgMi42MDkzOEMyLjc2NTYyIDIuNDg0MzggMy4wOTE4IDIuNDA0MyAzLjQ1MTE3IDIuMzY5MTRWMS4xMDkzOEg0LjM4ODY3VjIuMzgwODZDNC43NDAyMyAyLjQyNzczIDUuMDU2NjQgMi41MjM0NCA1LjMzNzg5IDIuNjY3OTdDNS42MTkxNCAyLjgxMjUgNS44NTc0MiAzLjAwMTk1IDYuMDUyNzMgMy4yMzYzM0M2LjI1MTk1IDMuNDY2OCA2LjQwNDMgMy43NDAyMyA2LjUwOTc3IDQuMDU2NjRDNi42MTkxNCA0LjM2OTE0IDYuNjczODMgNC43MjA3IDYuNjczODMgNS4xMTEzM0g1LjA0NDkyQzUuMDQ0OTIgNC42Mzg2NyA0LjkzNzUgNC4yODEyNSA0LjcyMjY2IDQuMDM5MDZDNC41MDc4MSAzLjc5Mjk3IDQuMjE2OCAzLjY2OTkyIDMuODQ5NjEgMy42Njk5MkMzLjY1MDM5IDMuNjY5OTIgMy40NzY1NiAzLjY5NzI3IDMuMzI4MTIgMy43NTE5NUMzLjE4MzU5IDMuODAyNzMgMy4wNjQ0NSAzLjg3Njk1IDIuOTcwNyAzLjk3NDYxQzIuODc2OTUgNC4wNjgzNiAyLjgwNjY0IDQuMTc5NjkgMi43NTk3NyA0LjMwODU5QzIuNzE2OCA0LjQzNzUgMi42OTUzMSA0LjU3ODEyIDIuNjk1MzEgNC43MzA0N0MyLjY5NTMxIDQuODgyODEgMi43MTY4IDUuMDE5NTMgMi43NTk3NyA1LjE0MDYyQzIuODA2NjQgNS4yNTc4MSAyLjg4MjgxIDUuMzY3MTkgMi45ODgyOCA1LjQ2ODc1QzMuMDk3NjYgNS41NzAzMSAzLjI0MDIzIDUuNjY3OTcgMy40MTYwMiA1Ljc2MTcyQzMuNTkxOCA1Ljg1MTU2IDMuODEwNTUgNS45NDMzNiA0LjA3MjI3IDYuMDM3MTFDNC40NjY4IDYuMTg1NTUgNC44MjQyMiA2LjMzOTg0IDUuMTQ0NTMgNi41QzUuNDY0ODQgNi42NTYyNSA1LjczODI4IDYuODM5ODQgNS45NjQ4NCA3LjA1MDc4QzYuMTk1MzEgNy4yNTc4MSA2LjM3MTA5IDcuNSA2LjQ5MjE5IDcuNzc3MzRDNi42MTcxOSA4LjA1MDc4IDYuNjc5NjkgOC4zNzUgNi42Nzk2OSA4Ljc1QzYuNjc5NjkgOS4wOTM3NSA2LjYyMzA1IDkuNDA0MyA2LjUwOTc3IDkuNjgxNjRDNi4zOTY0OCA5Ljk1NTA4IDYuMjM0MzggMTAuMTkxNCA2LjAyMzQ0IDEwLjM5MDZDNS44MTI1IDEwLjU4OTggNS41NTg1OSAxMC43NSA1LjI2MTcyIDEwLjg3MTFDNC45NjQ4NCAxMC45ODgzIDQuNjMyODEgMTEuMDY0NSA0LjI2NTYyIDExLjA5OTZWMTIuMjQ4SDMuMzMzOThWMTEuMDk5NkMzLjAwMTk1IDExLjA2ODQgMi42Nzk2OSAxMC45OTYxIDIuMzY3MTkgMTAuODgyOEMyLjA1NDY5IDEwLjc2NTYgMS43NzczNCAxMC41OTc3IDEuNTM1MTYgMTAuMzc4OUMxLjI5Njg4IDEwLjE2MDIgMS4xMDU0NyA5Ljg4NDc3IDAuOTYwOTM4IDkuNTUyNzNDMC44MTY0MDYgOS4yMTY4IDAuNzQ0MTQxIDguODE0NDUgMC43NDQxNDEgOC4zNDU3SDIuMzc4OTFDMi4zNzg5MSA4LjYyNjk1IDIuNDE5OTIgOC44NjMyOCAyLjUwMTk1IDkuMDU0NjlDMi41ODM5OCA5LjI0MjE5IDIuNjg5NDUgOS4zOTI1OCAyLjgxODM2IDkuNTA1ODZDMi45NTExNyA5LjYxNTIzIDMuMTAxNTYgOS42OTMzNiAzLjI2OTUzIDkuNzQwMjNDMy40Mzc1IDkuNzg3MTEgMy42MDkzOCA5LjgxMDU1IDMuNzg1MTYgOS44MTA1NUM0LjIwMzEyIDkuODEwNTUgNC41MTk1MyA5LjcxMjg5IDQuNzM0MzggOS41MTc1OEM0Ljk0OTIyIDkuMzIyMjcgNS4wNTY2NCA5LjA3MDMxIDUuMDU2NjQgOC43NjE3MlpNMTMuNDE4IDEyLjI3MTVIOC4wNzQyMlYxMUgxMy40MThWMTIuMjcxNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuOTUyNjQgNikiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=);--jp-icon-text-editor:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtdGV4dC1lZGl0b3ItaWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xNSAxNUgzdjJoMTJ2LTJ6bTAtOEgzdjJoMTJWN3pNMyAxM2gxOHYtMkgzdjJ6bTAgOGgxOHYtMkgzdjJ6TTMgM3YyaDE4VjNIM3oiLz4KPC9zdmc+Cg==);--jp-icon-toc:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik03LDVIMjFWN0g3VjVNNywxM1YxMUgyMVYxM0g3TTQsNC41QTEuNSwxLjUgMCAwLDEgNS41LDZBMS41LDEuNSAwIDAsMSA0LDcuNUExLjUsMS41IDAgMCwxIDIuNSw2QTEuNSwxLjUgMCAwLDEgNCw0LjVNNCwxMC41QTEuNSwxLjUgMCAwLDEgNS41LDEyQTEuNSwxLjUgMCAwLDEgNCwxMy41QTEuNSwxLjUgMCAwLDEgMi41LDEyQTEuNSwxLjUgMCAwLDEgNCwxMC41TTcsMTlWMTdIMjFWMTlIN000LDE2LjVBMS41LDEuNSAwIDAsMSA1LjUsMThBMS41LDEuNSAwIDAsMSA0LDE5LjVBMS41LDEuNSAwIDAsMSAyLjUsMThBMS41LDEuNSAwIDAsMSA0LDE2LjVaIiAvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-tree-view:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMiAxMVYzaC03djNIOVYzSDJ2OGg3VjhoMnYxMGg0djNoN3YtOGgtN3YzaC0yVjhoMnYzeiIvPgogICAgPC9nPgo8L3N2Zz4K);--jp-icon-trusted:url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMiAxNy4xODQ0IDIuOTY5NjggMTQuMzAzMiAxLjg2MDk0IDExLjQ0MDlaIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiMzMzMzMzMiIHN0cm9rZT0iIzMzMzMzMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCA5Ljg2NzE5KSIgZD0iTTIuODYwMTUgNC44NjUzNUwwLjcyNjU0OSAyLjk5OTU5TDAgMy42MzA0NUwyLjg2MDE1IDYuMTMxNTdMOCAwLjYzMDg3Mkw3LjI3ODU3IDBMMi44NjAxNSA0Ljg2NTM1WiIvPgo8L3N2Zz4K);--jp-icon-undo:url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjUgOGMtMi42NSAwLTUuMDUuOTktNi45IDIuNkwyIDd2OWg5bC0zLjYyLTMuNjJjMS4zOS0xLjE2IDMuMTYtMS44OCA1LjEyLTEuODggMy41NCAwIDYuNTUgMi4zMSA3LjYgNS41bDIuMzctLjc4QzIxLjA4IDExLjAzIDE3LjE1IDggMTIuNSA4eiIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-user:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE2IDdhNCA0IDAgMTEtOCAwIDQgNCAwIDAxOCAwek0xMiAxNGE3IDcgMCAwMC03IDdoMTRhNyA3IDAgMDAtNy03eiIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-users:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDM2IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPGcgY2xhc3M9ImpwLWljb24zIiB0cmFuc2Zvcm09Im1hdHJpeCgxLjczMjcgMCAwIDEuNzMyNyAtMy42MjgyIC4wOTk1NzcpIiBmaWxsPSIjNjE2MTYxIj4KICA8cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLjUsMCwwLDEuNSwwLC02KSIgZD0ibTEyLjE4NiA3LjUwOThjLTEuMDUzNSAwLTEuOTc1NyAwLjU2NjUtMi40Nzg1IDEuNDEwMiAwLjc1MDYxIDAuMzEyNzcgMS4zOTc0IDAuODI2NDggMS44NzMgMS40NzI3aDMuNDg2M2MwLTEuNTkyLTEuMjg4OS0yLjg4MjgtMi44ODA5LTIuODgyOHoiLz4KICA8cGF0aCBkPSJtMjAuNDY1IDIuMzg5NWEyLjE4ODUgMi4xODg1IDAgMCAxLTIuMTg4NCAyLjE4ODUgMi4xODg1IDIuMTg4NSAwIDAgMS0yLjE4ODUtMi4xODg1IDIuMTg4NSAyLjE4ODUgMCAwIDEgMi4xODg1LTIuMTg4NSAyLjE4ODUgMi4xODg1IDAgMCAxIDIuMTg4NCAyLjE4ODV6Ii8+CiAgPHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMS41LDAsMCwxLjUsMCwtNikiIGQ9Im0zLjU4OTggOC40MjE5Yy0xLjExMjYgMC0yLjAxMzcgMC45MDExMS0yLjAxMzcgMi4wMTM3aDIuODE0NWMwLjI2Nzk3LTAuMzczMDkgMC41OTA3LTAuNzA0MzUgMC45NTg5OC0wLjk3ODUyLTAuMzQ0MzMtMC42MTY4OC0xLjAwMzEtMS4wMzUyLTEuNzU5OC0xLjAzNTJ6Ii8+CiAgPHBhdGggZD0ibTYuOTE1NCA0LjYyM2ExLjUyOTQgMS41Mjk0IDAgMCAxLTEuNTI5NCAxLjUyOTQgMS41Mjk0IDEuNTI5NCAwIDAgMS0xLjUyOTQtMS41Mjk0IDEuNTI5NCAxLjUyOTQgMCAwIDEgMS41Mjk0LTEuNTI5NCAxLjUyOTQgMS41Mjk0IDAgMCAxIDEuNTI5NCAxLjUyOTR6Ii8+CiAgPHBhdGggZD0ibTYuMTM1IDEzLjUzNWMwLTMuMjM5MiAyLjYyNTktNS44NjUgNS44NjUtNS44NjUgMy4yMzkyIDAgNS44NjUgMi42MjU5IDUuODY1IDUuODY1eiIvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMy43Njg1IiByPSIyLjk2ODUiLz4KIDwvZz4KPC9zdmc+Cg==);--jp-icon-vega:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbjEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjEyMTIxIj4KICAgIDxwYXRoIGQ9Ik0xMC42IDUuNGwyLjItMy4ySDIuMnY3LjNsNC02LjZ6Ii8+CiAgICA8cGF0aCBkPSJNMTUuOCAyLjJsLTQuNCA2LjZMNyA2LjNsLTQuOCA4djUuNWgxNy42VjIuMmgtNHptLTcgMTUuNEg1LjV2LTQuNGgzLjN2NC40em00LjQgMEg5LjhWOS44aDMuNHY3Ljh6bTQuNCAwaC0zLjRWNi41aDMuNHYxMS4xeiIvPgogIDwvZz4KPC9zdmc+Cg==);--jp-icon-word:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KIDxnIGNsYXNzPSJqcC1pY29uMiIgZmlsbD0iIzQxNDE0MSI+CiAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiA8L2c+CiA8ZyBjbGFzcz0ianAtaWNvbi1hY2NlbnQyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSguNDMgLjA0MDEpIiBmaWxsPSIjZmZmIj4KICA8cGF0aCBkPSJtNC4xNCA4Ljc2cTAuMDY4Mi0xLjg5IDIuNDItMS44OSAxLjE2IDAgMS42OCAwLjQyIDAuNTY3IDAuNDEgMC41NjcgMS4xNnYzLjQ3cTAgMC40NjIgMC41MTQgMC40NjIgMC4xMDMgMCAwLjItMC4wMjMxdjAuNzE0cS0wLjM5OSAwLjEwMy0wLjY1MSAwLjEwMy0wLjQ1MiAwLTAuNjkzLTAuMjItMC4yMzEtMC4yLTAuMjg0LTAuNjYyLTAuOTU2IDAuODcyLTIgMC44NzItMC45MDMgMC0xLjQ3LTAuNDcyLTAuNTI1LTAuNDcyLTAuNTI1LTEuMjYgMC0wLjI2MiAwLjA0NTItMC40NzIgMC4wNTY3LTAuMjIgMC4xMTYtMC4zNzggMC4wNjgyLTAuMTY4IDAuMjMxLTAuMzA0IDAuMTU4LTAuMTQ3IDAuMjYyLTAuMjQyIDAuMTE2LTAuMDkxNCAwLjM2OC0wLjE2OCAwLjI2Mi0wLjA5MTQgMC4zOTktMC4xMjYgMC4xMzYtMC4wNDUyIDAuNDcyLTAuMTAzIDAuMzM2LTAuMDU3OCAwLjUwNC0wLjA3OTggMC4xNTgtMC4wMjMxIDAuNTY3LTAuMDc5OCAwLjU1Ni0wLjA2ODIgMC43NzctMC4yMjEgMC4yMi0wLjE1MiAwLjIyLTAuNDQxdi0wLjI1MnEwLTAuNDMtMC4zNTctMC42NjItMC4zMzYtMC4yMzEtMC45NzYtMC4yMzEtMC42NjIgMC0wLjk5OCAwLjI2Mi0wLjMzNiAwLjI1Mi0wLjM5OSAwLjc5OHptMS44OSAzLjY4cTAuNzg4IDAgMS4yNi0wLjQxIDAuNTA0LTAuNDIgMC41MDQtMC45MDN2LTEuMDVxLTAuMjg0IDAuMTM2LTAuODYxIDAuMjMxLTAuNTY3IDAuMDkxNC0wLjk4NyAwLjE1OC0wLjQyIDAuMDY4Mi0wLjc2NiAwLjMyNi0wLjMzNiAwLjI1Mi0wLjMzNiAwLjcwNHQwLjMwNCAwLjcwNCAwLjg2MSAwLjI1MnoiIHN0cm9rZS13aWR0aD0iMS4wNSIvPgogIDxwYXRoIGQ9Im0xMCA0LjU2aDAuOTQ1djMuMTVxMC42NTEtMC45NzYgMS44OS0wLjk3NiAxLjE2IDAgMS44OSAwLjg0IDAuNjgyIDAuODQgMC42ODIgMi4zMSAwIDEuNDctMC43MDQgMi40Mi0wLjcwNCAwLjg4Mi0xLjg5IDAuODgyLTEuMjYgMC0xLjg5LTEuMDJ2MC43NjZoLTAuODV6bTIuNjIgMy4wNHEtMC43NDYgMC0xLjE2IDAuNjQtMC40NTIgMC42My0wLjQ1MiAxLjY4IDAgMS4wNSAwLjQ1MiAxLjY4dDEuMTYgMC42M3EwLjc3NyAwIDEuMjYtMC42MyAwLjQ5NC0wLjY0IDAuNDk0LTEuNjggMC0xLjA1LTAuNDcyLTEuNjgtMC40NjItMC42NC0xLjI2LTAuNjR6IiBzdHJva2Utd2lkdGg9IjEuMDUiLz4KICA8cGF0aCBkPSJtMi43MyAxNS44IDEzLjYgMC4wMDgxYzAuMDA2OSAwIDAtMi42IDAtMi42IDAtMC4wMDc4LTEuMTUgMC0xLjE1IDAtMC4wMDY5IDAtMC4wMDgzIDEuNS0wLjAwODMgMS41LTJlLTMgLTAuMDAxNC0xMS4zLTAuMDAxNC0xMS4zLTAuMDAxNGwtMC4wMDU5Mi0xLjVjMC0wLjAwNzgtMS4xNyAwLjAwMTMtMS4xNyAwLjAwMTN6IiBzdHJva2Utd2lkdGg9Ii45NzUiLz4KIDwvZz4KPC9zdmc+Cg==);--jp-icon-yaml:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1jb250cmFzdDIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjRDgxQjYwIj4KICAgIDxwYXRoIGQ9Ik03LjIgMTguNnYtNS40TDMgNS42aDMuM2wxLjQgMy4xYy4zLjkuNiAxLjYgMSAyLjUuMy0uOC42LTEuNiAxLTIuNWwxLjQtMy4xaDMuNGwtNC40IDcuNnY1LjVsLTIuOS0uMXoiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxNi41IiByPSIyLjEiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxMSIgcj0iMi4xIi8+CiAgPC9nPgo8L3N2Zz4K)} .jp-AddAboveIcon{background-image:var(--jp-icon-add-above)}.jp-AddBelowIcon{background-image:var(--jp-icon-add-below)}.jp-AddIcon{background-image:var(--jp-icon-add)}.jp-BellIcon{background-image:var(--jp-icon-bell)}.jp-BugDotIcon{background-image:var(--jp-icon-bug-dot)}.jp-BugIcon{background-image:var(--jp-icon-bug)}.jp-BuildIcon{background-image:var(--jp-icon-build)}.jp-CaretDownEmptyIcon{background-image:var(--jp-icon-caret-down-empty)}.jp-CaretDownEmptyThinIcon{background-image:var(--jp-icon-caret-down-empty-thin)}.jp-CaretDownIcon{background-image:var(--jp-icon-caret-down)}.jp-CaretLeftIcon{background-image:var(--jp-icon-caret-left)}.jp-CaretRightIcon{background-image:var(--jp-icon-caret-right)}.jp-CaretUpEmptyThinIcon{background-image:var(--jp-icon-caret-up-empty-thin)}.jp-CaretUpIcon{background-image:var(--jp-icon-caret-up)}.jp-CaseSensitiveIcon{background-image:var(--jp-icon-case-sensitive)}.jp-CheckIcon{background-image:var(--jp-icon-check)}.jp-CircleEmptyIcon{background-image:var(--jp-icon-circle-empty)}.jp-CircleIcon{background-image:var(--jp-icon-circle)}.jp-ClearIcon{background-image:var(--jp-icon-clear)}.jp-CloseIcon{background-image:var(--jp-icon-close)}.jp-CodeCheckIcon{background-image:var(--jp-icon-code-check)}.jp-CodeIcon{background-image:var(--jp-icon-code)}.jp-CollapseAllIcon{background-image:var(--jp-icon-collapse-all)}.jp-ConsoleIcon{background-image:var(--jp-icon-console)}.jp-CopyIcon{background-image:var(--jp-icon-copy)}.jp-CopyrightIcon{background-image:var(--jp-icon-copyright)}.jp-CutIcon{background-image:var(--jp-icon-cut)}.jp-DeleteIcon{background-image:var(--jp-icon-delete)}.jp-DownloadIcon{background-image:var(--jp-icon-download)}.jp-DuplicateIcon{background-image:var(--jp-icon-duplicate)}.jp-EditIcon{background-image:var(--jp-icon-edit)}.jp-EllipsesIcon{background-image:var(--jp-icon-ellipses)}.jp-ErrorIcon{background-image:var(--jp-icon-error)}.jp-ExpandAllIcon{background-image:var(--jp-icon-expand-all)}.jp-ExtensionIcon{background-image:var(--jp-icon-extension)}.jp-FastForwardIcon{background-image:var(--jp-icon-fast-forward)}.jp-FileIcon{background-image:var(--jp-icon-file)}.jp-FileUploadIcon{background-image:var(--jp-icon-file-upload)}.jp-FilterDotIcon{background-image:var(--jp-icon-filter-dot)}.jp-FilterIcon{background-image:var(--jp-icon-filter)}.jp-FilterListIcon{background-image:var(--jp-icon-filter-list)}.jp-FolderFavoriteIcon{background-image:var(--jp-icon-folder-favorite)}.jp-FolderIcon{background-image:var(--jp-icon-folder)}.jp-HomeIcon{background-image:var(--jp-icon-home)}.jp-Html5Icon{background-image:var(--jp-icon-html5)}.jp-ImageIcon{background-image:var(--jp-icon-image)}.jp-InfoIcon{background-image:var(--jp-icon-info)}.jp-InspectorIcon{background-image:var(--jp-icon-inspector)}.jp-JsonIcon{background-image:var(--jp-icon-json)}.jp-JuliaIcon{background-image:var(--jp-icon-julia)}.jp-JupyterFaviconIcon{background-image:var(--jp-icon-jupyter-favicon)}.jp-JupyterIcon{background-image:var(--jp-icon-jupyter)}.jp-JupyterlabWordmarkIcon{background-image:var(--jp-icon-jupyterlab-wordmark)}.jp-KernelIcon{background-image:var(--jp-icon-kernel)}.jp-KeyboardIcon{background-image:var(--jp-icon-keyboard)}.jp-LaunchIcon{background-image:var(--jp-icon-launch)}.jp-LauncherIcon{background-image:var(--jp-icon-launcher)}.jp-LineFormIcon{background-image:var(--jp-icon-line-form)}.jp-LinkIcon{background-image:var(--jp-icon-link)}.jp-ListIcon{background-image:var(--jp-icon-list)}.jp-MarkdownIcon{background-image:var(--jp-icon-markdown)}.jp-MoveDownIcon{background-image:var(--jp-icon-move-down)}.jp-MoveUpIcon{background-image:var(--jp-icon-move-up)}.jp-NewFolderIcon{background-image:var(--jp-icon-new-folder)}.jp-NotTrustedIcon{background-image:var(--jp-icon-not-trusted)}.jp-NotebookIcon{background-image:var(--jp-icon-notebook)}.jp-NumberingIcon{background-image:var(--jp-icon-numbering)}.jp-OfflineBoltIcon{background-image:var(--jp-icon-offline-bolt)}.jp-PaletteIcon{background-image:var(--jp-icon-palette)}.jp-PasteIcon{background-image:var(--jp-icon-paste)}.jp-PdfIcon{background-image:var(--jp-icon-pdf)}.jp-PythonIcon{background-image:var(--jp-icon-python)}.jp-RKernelIcon{background-image:var(--jp-icon-r-kernel)}.jp-ReactIcon{background-image:var(--jp-icon-react)}.jp-RedoIcon{background-image:var(--jp-icon-redo)}.jp-RefreshIcon{background-image:var(--jp-icon-refresh)}.jp-RegexIcon{background-image:var(--jp-icon-regex)}.jp-RunIcon{background-image:var(--jp-icon-run)}.jp-RunningIcon{background-image:var(--jp-icon-running)}.jp-SaveIcon{background-image:var(--jp-icon-save)}.jp-SearchIcon{background-image:var(--jp-icon-search)}.jp-SettingsIcon{background-image:var(--jp-icon-settings)}.jp-ShareIcon{background-image:var(--jp-icon-share)}.jp-SpreadsheetIcon{background-image:var(--jp-icon-spreadsheet)}.jp-StopIcon{background-image:var(--jp-icon-stop)}.jp-TabIcon{background-image:var(--jp-icon-tab)}.jp-TableRowsIcon{background-image:var(--jp-icon-table-rows)}.jp-TagIcon{background-image:var(--jp-icon-tag)} .jp-TerminalIcon{background-image:var(--jp-icon-terminal)}.jp-TextEditorIcon{background-image:var(--jp-icon-text-editor)}.jp-TocIcon{background-image:var(--jp-icon-toc)}.jp-TreeViewIcon{background-image:var(--jp-icon-tree-view)}.jp-TrustedIcon{background-image:var(--jp-icon-trusted)}.jp-UndoIcon{background-image:var(--jp-icon-undo)}.jp-UserIcon{background-image:var(--jp-icon-user)}.jp-UsersIcon{background-image:var(--jp-icon-users)}.jp-VegaIcon{background-image:var(--jp-icon-vega)}.jp-WordIcon{background-image:var(--jp-icon-word)}.jp-YamlIcon{background-image:var(--jp-icon-yaml)}.jp-Icon,.jp-MaterialIcon{background-position:center;background-repeat:no-repeat;background-size:16px;min-width:16px;min-height:16px}.jp-Icon-cover{background-position:center;background-repeat:no-repeat;background-size:cover}.jp-Icon-16{background-size:16px;min-width:16px;min-height:16px}.jp-Icon-18{background-size:18px;min-width:18px;min-height:18px}.jp-Icon-20{background-size:20px;min-width:20px;min-height:20px}.lm-TabBar .lm-TabBar-addButton{align-items:center;display:flex;padding:4px;padding-bottom:5px;margin-right:1px;background-color:var(--jp-layout-color2)}.lm-TabBar .lm-TabBar-addButton:hover{background-color:var(--jp-layout-color1)}.lm-DockPanel-tabBar .lm-TabBar-tab{width:var(--jp-private-horizontal-tab-width)}.lm-DockPanel-tabBar .lm-TabBar-content{flex:unset}.lm-DockPanel-tabBar[data-orientation='horizontal']{flex:1 1 auto}.jp-icon0[fill]{fill:var(--jp-inverse-layout-color0)}.jp-icon1[fill]{fill:var(--jp-inverse-layout-color1)}.jp-icon2[fill]{fill:var(--jp-inverse-layout-color2)}.jp-icon3[fill]{fill:var(--jp-inverse-layout-color3)}.jp-icon4[fill]{fill:var(--jp-inverse-layout-color4)}.jp-icon0[stroke]{stroke:var(--jp-inverse-layout-color0)}.jp-icon1[stroke]{stroke:var(--jp-inverse-layout-color1)}.jp-icon2[stroke]{stroke:var(--jp-inverse-layout-color2)}.jp-icon3[stroke]{stroke:var(--jp-inverse-layout-color3)}.jp-icon4[stroke]{stroke:var(--jp-inverse-layout-color4)}.jp-icon-accent0[fill]{fill:var(--jp-layout-color0)}.jp-icon-accent1[fill]{fill:var(--jp-layout-color1)}.jp-icon-accent2[fill]{fill:var(--jp-layout-color2)}.jp-icon-accent3[fill]{fill:var(--jp-layout-color3)}.jp-icon-accent4[fill]{fill:var(--jp-layout-color4)}.jp-icon-accent0[stroke]{stroke:var(--jp-layout-color0)}.jp-icon-accent1[stroke]{stroke:var(--jp-layout-color1)}.jp-icon-accent2[stroke]{stroke:var(--jp-layout-color2)}.jp-icon-accent3[stroke]{stroke:var(--jp-layout-color3)}.jp-icon-accent4[stroke]{stroke:var(--jp-layout-color4)}.jp-icon-none[fill]{fill:none}.jp-icon-none[stroke]{stroke:none}.jp-icon-brand0[fill]{fill:var(--jp-brand-color0)}.jp-icon-brand1[fill]{fill:var(--jp-brand-color1)}.jp-icon-brand2[fill]{fill:var(--jp-brand-color2)}.jp-icon-brand3[fill]{fill:var(--jp-brand-color3)}.jp-icon-brand4[fill]{fill:var(--jp-brand-color4)}.jp-icon-brand0[stroke]{stroke:var(--jp-brand-color0)}.jp-icon-brand1[stroke]{stroke:var(--jp-brand-color1)}.jp-icon-brand2[stroke]{stroke:var(--jp-brand-color2)}.jp-icon-brand3[stroke]{stroke:var(--jp-brand-color3)}.jp-icon-brand4[stroke]{stroke:var(--jp-brand-color4)}.jp-icon-warn0[fill]{fill:var(--jp-warn-color0)}.jp-icon-warn1[fill]{fill:var(--jp-warn-color1)}.jp-icon-warn2[fill]{fill:var(--jp-warn-color2)}.jp-icon-warn3[fill]{fill:var(--jp-warn-color3)}.jp-icon-warn0[stroke]{stroke:var(--jp-warn-color0)}.jp-icon-warn1[stroke]{stroke:var(--jp-warn-color1)}.jp-icon-warn2[stroke]{stroke:var(--jp-warn-color2)}.jp-icon-warn3[stroke]{stroke:var(--jp-warn-color3)}.jp-icon-contrast0[fill]{fill:var(--jp-icon-contrast-color0)}.jp-icon-contrast1[fill]{fill:var(--jp-icon-contrast-color1)}.jp-icon-contrast2[fill]{fill:var(--jp-icon-contrast-color2)}.jp-icon-contrast3[fill]{fill:var(--jp-icon-contrast-color3)}.jp-icon-contrast0[stroke]{stroke:var(--jp-icon-contrast-color0)}.jp-icon-contrast1[stroke]{stroke:var(--jp-icon-contrast-color1)}.jp-icon-contrast2[stroke]{stroke:var(--jp-icon-contrast-color2)}.jp-icon-contrast3[stroke]{stroke:var(--jp-icon-contrast-color3)}.jp-icon-dot[fill]{fill:var(--jp-warn-color0)}.jp-jupyter-icon-color[fill]{fill:var(--jp-jupyter-icon-color,var(--jp-warn-color0))}.jp-notebook-icon-color[fill]{fill:var(--jp-notebook-icon-color,var(--jp-warn-color0))}.jp-json-icon-color[fill]{fill:var(--jp-json-icon-color,var(--jp-warn-color1))}.jp-console-icon-color[fill]{fill:var(--jp-console-icon-color,white)}.jp-console-icon-background-color[fill]{fill:var(--jp-console-icon-background-color,var(--jp-brand-color1))}.jp-terminal-icon-color[fill]{fill:var(--jp-terminal-icon-color,var(--jp-layout-color2))}.jp-terminal-icon-background-color[fill]{fill:var(--jp-terminal-icon-background-color,var(--jp-inverse-layout-color2))}.jp-text-editor-icon-color[fill]{fill:var(--jp-text-editor-icon-color,var(--jp-inverse-layout-color3))}.jp-inspector-icon-color[fill]{fill:var(--jp-inspector-icon-color,var(--jp-inverse-layout-color3))}.jp-DirListing-item.jp-mod-selected .jp-icon-selectable[fill]{fill:#fff}.jp-DirListing-item.jp-mod-selected .jp-icon-selectable-inverse[fill]{fill:var(--jp-brand-color1)} diff --git a/blog/2024/CahnHilliard/index.html b/blog/2024/CahnHilliard/index.html index b51c76c1..bfd851cd 100644 --- a/blog/2024/CahnHilliard/index.html +++ b/blog/2024/CahnHilliard/index.html @@ -1 +1 @@ -<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title> Solving the Cahn-Hilliard equation on complex geometries | Mario de Lucio's website </title> <meta name="author" content="Mario de Lucio"> <meta name="description" content="We solve the Cahn-Hilliard equation on a quarter of annulus by means of isogeometric analysis. We adopt the split form of the equation to avoid introducing fourth-order operators and facilitate the imposition of the boundary conditions on the circular geometry,"> <meta name="keywords" content="Computational Mechanics, Multiphysics Simulation, Biomechanics, Transport phenomena"> <link rel="stylesheet" href="/assets/css/bootstrap.min.css?a4b3f509e79c54a512b890d73235ef04"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/mdbootstrap@4.20.0/css/mdb.min.css" integrity="sha256-jpjYvU3G3N6nrrBwXJoVEYI/0zw8htfFnhT9ljN3JJw=" crossorigin="anonymous"> <link defer rel="stylesheet" href="/assets/css/academicons.min.css?f0b7046b84e425c55f3463ac249818f5"> <link defer rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:100,300,400,500,700|Material+Icons&display=swap"> <link defer rel="stylesheet" href="/assets/css/jekyll-pygments-themes-github.css?591dab5a4e56573bf4ef7fd332894c99" media="" id="highlight_theme_light"> <link rel="shortcut icon" href="/assets/img/webicon.png?b6c2349ccb452e30289be5faff27b580"> <link rel="stylesheet" href="/assets/css/main.css?d41d8cd98f00b204e9800998ecf8427e"> <link rel="canonical" href="https://mdeluci.github.io/blog/2024/CahnHilliard/"> <script src="/assets/js/theme.js?9a0c749ec5240d9cda97bc72359a72c0"></script> <link defer rel="stylesheet" href="/assets/css/jekyll-pygments-themes-native.css?5847e5ed4a4568527aa6cfab446049ca" media="none" id="highlight_theme_dark"> <script>initTheme();</script> </head> <body class="fixed-top-nav "> <header> <nav id="navbar" class="navbar navbar-light navbar-expand-sm fixed-top" role="navigation"> <div class="container"> <a class="navbar-brand title font-weight-lighter" href="/"> Mario de Lucio's website </a> <button class="navbar-toggler collapsed ml-auto" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar top-bar"></span> <span class="icon-bar middle-bar"></span> <span class="icon-bar bottom-bar"></span> </button> <div class="collapse navbar-collapse text-right" id="navbarNav"> <ul class="navbar-nav ml-auto flex-nowrap"> <li class="nav-item "> <a class="nav-link" href="/">About </a> </li> <li class="nav-item "> <a class="nav-link" href="/publications/">Publications </a> </li> <li class="nav-item "> <a class="nav-link" href="/blog/">Blog </a> </li> <li class="nav-item "> <a class="nav-link" href="/cv/">CV </a> </li> <li class="nav-item "> <a class="nav-link" href="/teaching/">Teaching </a> </li> <li class="nav-item "> <a class="nav-link" href="/videos/">Videos </a> </li> <li class="nav-item"> <button id="search-toggle" title="Search" onclick="openSearchModal()"> <span class="nav-link">ctrl k <i class="ti ti-search"></i></span> </button> </li> <li class="toggle-container"> <button id="light-toggle" title="Change theme"> <i class="ti ti-sun-moon" id="light-toggle-system"></i> <i class="ti ti-moon-filled" id="light-toggle-dark"></i> <i class="ti ti-sun-filled" id="light-toggle-light"></i> </button> </li> </ul> </div> </div> </nav> <progress id="progress" value="0"> <div class="progress-container"> <span class="progress-bar"></span> </div> </progress> </header> <div class="container mt-5" role="main"> <div class="post"> <header class="post-header"> <h1 class="post-title">Solving the Cahn-Hilliard equation on complex geometries</h1> <p class="post-meta"> Created in June 19, 2024 </p> <p class="post-tags"> <a href="/blog/2024"> <i class="fa-solid fa-calendar fa-sm"></i> 2024 </a> · <a href="/blog/tag/cahn-hilliard"> <i class="fa-solid fa-hashtag fa-sm"></i> Cahn-Hilliard</a> <a href="/blog/tag/pdes"> <i class="fa-solid fa-hashtag fa-sm"></i> PDEs</a> <a href="/blog/tag/iga"> <i class="fa-solid fa-hashtag fa-sm"></i> IGA</a> · <a href="/blog/category/projects"> <i class="fa-solid fa-tag fa-sm"></i> Projects</a> </p> </header> <article class="post-content"> <div id="markdown-content"> <h2 id="the-cahn-hilliard-equation">The Cahn-Hilliard equation</h2> <p>The Cahn–Hilliard equation describes the process of phase separation, by which the two components of a binary fluid spontaneously separate and form domains pure in each component. It was originally proposed in 1958 to model phase separation in binary alloys <a class="citation" href="#Cahn-Hilliard">(Cahn & Hilliard, 1958)</a>. Since then it has been used to describe various phenomena, such as spinodal decomposition \cite{MARALDI201231}, diblock copolymer \cite{Choksi,JEONG20141263}, image inpainting \cite{4032803}, tumor growth simulation \cite{tumor,WISE2008524} or multiphase fluid flows \cite{BADALASSI2003371, Kotschote}.</p> <div class="container"> <div class="row justify-content-center mt-3"> <div class="col mt-3 mt-md-0 d-flex justify-content-center"> <div style="width: 90%;"> <figure> <video src="/assets/video/ch.mp4" class="img-fluid rounded z-depth-1" width="auto" height="auto" autoplay="" controls=""></video> </figure> </div> </div> </div> <div class="caption text-center"> Solution of the Cahn-Hilliard equation on a quarter of anulus from a randomly perturbed initial condition. </div> </div> <p>There are two main approaches to describing phase transition phenomena: sharp-interface models and phase-field models. Sharp-interface models involve the resolution of a moving boundary problem, meaning that partial differential equations have to be solved for each phase. This can lead to physical \cite{Anderson} and computational complications \cite{Barrett}, such as jump discontinuities across the interface. Phase-field models replace sharp-interfaces by thin transitions regions where the interfacial forces are smoothly distributed (diffuse interfaces). For this reason, phase-field models are also referred to as \emph{diffuse interface} models, and they are emerging as a promising tool to treat problems with interfaces.</p> <p>From the mathematical point of view, the Cahn-Hilliard equation is a stiff, fourth-order, nonlinear parabolic partial differential equation. The elementary form of the Cahn-Hilliard equation is given by</p> <p>\begin{equation} \frac{\partial \phi}{\partial t}=\nabla \cdot \left(m\left(\phi\right) \nabla \left(W’\left(\phi\right) -\epsilon ^2 \Delta \phi \right) \right) \label{element} \end{equation}</p> <p>where \(\phi\left(\mathbf{x},t\right) \in [-1,1]\) represents the phase-field variable, which describes the location of different components (e.g., \(\phi=-1\) in oil and \(\phi=1\) in water), \(m\left(\phi\right)\) is the mobility, \(W\left(\phi\right)\) is the so-called double-well potential, and \(\epsilon\) is a length scale related to the thickness of the diffuse interface.</p> <p>Two different approaches have been used to solve the Cahn-Hilliard equation: solving the original form given by Eqn.\eqref{element}, which involves fourth-order operators, or by splitting it into two second order partial differential equations by introducing an auxiliary variable — the chemical potential \(\mu\). The split version of the equation is given by</p> <p>\begin{equation} \frac{\partial \phi}{\partial t}=\nabla \cdot \left(m\left(\phi\right) \nabla \mu \right) \label{split1} \end{equation} \begin{equation} \mu=W’\left(\phi \right) - \epsilon^2 \Delta \phi. \label{chempot} \end{equation}</p> <p>The splitting strategy was proposed by Elliot \cite{Elliott1989ASO} to avoid constraints related to the continuity of the basis functions when using the finite element method with a primal formulation. It also facilitates the imposition of the boundary conditions on a circular geometry, which is the case we are interested in. Unfortunately, this comes at a price of an additional degree of freedom introduced into the solver. Nevertheless, this reformulation reduces the complexity of the problem from the numerical point of view (see \cite{M2AN_2009__43_5_1003_0,Zee}).</p> <p>The spatial discretization of the governing equations is performed using isogeometric analysis (IGA) \cite{HUGHES20054135}. IGA is a generalization of the finite-element method that uses non-uniform rational B-splines (NURBS) to define the discrete spaces. A significant advantage of IGA with respect to finite element analysis is that the basis functions can be constructed with controllable continuity across the element boundaries, even on mapped geometries. The higher-order global continuity of the basis functions has been shown to produce higher accuracy than classical \(\mathcal{C}^0\)-continuous finite elements for the same number of degrees of freedom \cite{akkerman2008role,evans2009n}; and has been widely used to solve partial differential equations with high-order spatial derivatives \cite{GOMEZ20084333, GOMEZ20101828, GOMEZ201252}. Here, we will use \(\mathcal{C}^1\)-continuous quadratic splines for \(\phi\) and \(\mu\).</p> <h2 id="strong-form">Strong form</h2> <p>The strong form of the problem is formulated as follows: find \(\phi:\Omega \times \left[0,T\right]\rightarrow \mathbb{R}\) and \(\mu:\Omega \times \left[0,T\right]\rightarrow \mathbb{R}\) (being \(\mu\) an auxiliary variable) such that:</p> <p>\begin{equation} \frac{\partial \phi}{\partial t}=\nabla \cdot \left(m\left(\phi\right) \nabla \mu\right) \quad \text{in} \ \Omega \times \left[0,T\right], \label{st1} \end{equation} <br> \begin{equation} \mu=W’\left(\phi\right)-\epsilon^2 \Delta \phi \quad \text{in} \ \Omega \times \left[0,T\right], \label{st2} \end{equation} \begin{equation} \phi=g \quad \text{on} \ \Gamma_g \times \left[0,T\right], \label{st3} \end{equation} \begin{equation} <br> m\left(\phi\right)\epsilon^2\Delta\phi=q \quad \text{on} \ \Gamma_q \times \left[0,T\right], \label{st4} \end{equation} \begin{equation} \nabla\left(m\left(\phi\right)\mu\right)\cdot \mathbf{n}=s \quad \text{on} \ \Gamma_s \times \left[0,T\right], \label{st5} \end{equation} \begin{equation} \nabla\left(m\left(\phi\right)\phi\right)\cdot \mathbf{n}=h \quad \text{on} \ \Gamma_h \times \left[0,T\right], \label{st6}<br> \end{equation} \begin{equation} \phi\left(\mathbf{x},0\right)=\phi_0\left(\mathbf{x}\right) \quad \text{in} \ \Omega. \label{st7}<br> \end{equation}</p> <p>The double well function \(W\left(\phi\right)\) is defined such that it has two local minima, which makes possible the coexistence of the different phases. Some important examples of double well functions can be found in \cite{Gomez2}. In this work we will take the classical quartic potential</p> <p>\begin{equation} W\left(\phi\right)=\frac{1}{4}\left(1-\phi^2\right)^2, \end{equation}</p> <p>which is a qualitative approximation of the logarithmic double well.</p> <p>The mobility \(m\left(\phi\right)\), which can be linked with the diffusivity, controls the time scale of the problem. The most common approach is to set it as a constant, \(m\left(\phi\right)=m\). Such an approach is extensively applied in both analytical and numerical studies \cite{Rajagopal,polymer,CuetoFelgueroso2008ATF}. We will take \(m\) constant and equal to one as recommended in \cite{GOMEZ20084333}.</p> <p>The parameter \(\epsilon\) is a positive constant that defines the length scale for the problem. According to \cite{GOMEZ20084333}, the solution to the Cahn-Hilliard equations depends only on the dimensionless number</p> <p>\begin{equation} \alpha=\frac{L_0^2}{3\epsilon^2}, \end{equation}</p> <p>also referred to as sharpness parameter, where \(L_0\) is a length scale of the problem. Here, we will assume that \(L_0\) is a measure of the computational domain size. Without loss of generality, \(L_0=R_2=1.0\) will be the outer radius of the quarter of annulus. The sharpness parameter \(\alpha\) usually takes values in the range \(10^3-10^4\) \cite{GOMEZ20084333,Gomez2}. We will study the evolution of the phase-field variable for different values of \(\alpha\).</p> <h2 id="weak-form">Weak form</h2> <p>The strong form of our model defined by Eqns. \eqref{st1}–\eqref{st7} is now cast in weak form and discretized using the Galerkin approach. We will only work with free-flux boundary conditions. Thus, all boundary integrals will vanish in the weak form. Let us define the functional space \(\mathcal{V} \subset \mathcal{H}^1\), where \(\mathcal{H}^1\) is the Sobolev space of square-integrable functions with square-integrable first derivative in the domain \(\Omega\). To perform space discretization we introduce the finite-dimensional space \(\mathcal{V}^h\subset \mathcal{V}\), where \(\mathcal{V}^h ={\rm span}\left \{ N_A \right \}_{A=1,\dots,n_f}\) and \(n_f\) is the number of functions on the basis. The space of weighting functions will also be \(\mathcal{V}^h\), giving rise to a Galerkin formulation. We define discrete approximations to the problem’s solution denoted by \(\phi^h\) and \(\mu^h\). Their corresponding weighting functions are \(w_{\phi}^h\) and \(w_{\mu}^h\). Then, the variational formulation of Eqns. \eqref{st1}–\eqref{st7} over the finite-dimensional space $\mathcal{V}^h$ can be stated as follows: find \(\phi^h\), \(\mu^h\) \(\in \mathcal{V}^h\subset \mathcal{V}\) such that \(\forall\) \(w_{\phi}^h\), \(w_{\mu}^h\) \(\in \mathcal{V}^h \subset \mathcal{V}\)</p> <p>\begin{equation} \int_{\Omega}w_{\phi}^h\frac{\partial\phi}{\partial t}d\Omega +\int_{\Omega}m\nabla w_{\phi}^h \cdot \nabla \mu^h d\Omega =0, \label{wf1} \end{equation} \begin{equation} \int_{\Omega}w_{\mu}^h \mu^h d\Omega - \int_{\Omega}w_{\mu}^h \phi^h \left( \left(\phi^h \right)^2-1 \right)d\Omega- \int_{\Omega} \epsilon^2 \nabla \phi^h \cdot \nabla w_{\mu}^h d\Omega= 0. \end{equation}</p> <p>The solutions \(\phi^h\) and \(\mu^h\) are defined as \begin{equation} \phi^h(\mathbf{x},t)=\sum_{A=1}^{n_f}\phi_A\left ( t \right )N_A\left ( \mathbf{x} \right ), \end{equation} \begin{equation} \mu^h(\mathbf{x},t)=\sum_{A=1}^{n_f}\mu_A\left ( t \right )N_A\left ( \mathbf{x} \right ). \end{equation}</p> <h2 id="results">Results</h2> <p>We consider the split form of the Cahn-Hilliard equation on an open quarter-annulus domain \begin{equation} \Omega = { (x,y) \in \mathbb{R}^2 : x > 0, y > 0, R_1^2 < x^2 + y^2 < R_2^2 }, \end{equation} with inner radius \(R_1=0.5\) and outer radius \(R_2=1\). We employ a computational mesh comprised of \(128^2\) \(\mathcal{C}^1\)-quadratic elements; see the figure below.</p> <div class="container"> <div class="row justify-content-center mt-3"> <div class="col mt-3 mt-md-0 d-flex justify-content-center"> <div style="width: 50%;"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/mesh-480.webp 480w,/assets/img/mesh-800.webp 800w,/assets/img/mesh-1400.webp 1400w," sizes="95vw" type="image/webp"></source> <img src="/assets/img/mesh.jpg" class="img-fluid rounded z-depth-1" width="100%" height="auto" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> </div> </div> <div class="caption text-center"> Geometry definition and mesh used for the calculations. The circular inset shows a detail of the mesh. </div> </div> <p>The usual setup for numerical simulations of the Cahn-Hilliard equation is as follows: a randomly perturbed homogeneous solution is allowed to evolve in a sufficiently large computational domain with periodic boundary conditions. Periodic boundary conditions would make no sense in our case, since we are not considering a square domain. Instead, we prescribe free-flux boundary conditions on the entire domain for \(\phi\) and \(\mu\). The initial condition is given by \begin{equation} \phi_0\left(\mathbf{x}\right)=\bar{\phi}+r, \end{equation} where \(\bar{\phi}\) is a constant (referred to as the volume fraction) and \(r\) is a random variable with uniform distribution in \([-0.05,0.05]\).</p> <p>With this numerical setup we present two test cases which are defined by the sharpness parameter $\alpha$ and the volume fraction \(\bar{\phi}\). We take \(\alpha=1500\), \(\bar{\phi}=0.3\) for the first case, and \(\alpha=3000\), \(\bar{\phi}=0.1\) for the second case.</p> <p>The left figure below shows snapshots of the solution at different times for \(\alpha=1500\) and \(\bar{\phi}=0.3\). We observe two main processes that take place at very different time scales: phase separation and coarsening. The Cahn-Hilliard equation is unstable under random perturbations within the spinodal region, and, thus, two phases will develop. Phase separation takes place at \(t\approx 0.01\) s. The concentration is driven to the binodal points in a very fast process. After the phase separation, the coarsening process starts. During the coarsening process, bubbles merge with each other to reduce the surface energy, acquiring a circular shape. This process finishes when there are only two regions occupied by the two components of the mixture and they achieve the equilibrium topology. This is occurs at the steady state (data not shown).</p> <blockquote> <p>Note: Spinodal decomposition occurs when one thermodynamic phase spontaneusly (i.e., without nucleation) separates into two phases. The spinodal region is the region of the phase diagram where this occurs.</p> </blockquote> <p>The right figure below shows snapshots of the solution at different times for \(\alpha=1500\) and \(\bar{\phi}=0.3\). This test case is more challenging than the previous one, since the parameter \(\alpha\) is larger, and, thus, the interfaces are thinner. The parameter \(\alpha\) not only affects the thickness of the interface but also modifies the time scale of the problem. The separation process is faster for \(\alpha=3000\) than for \(\alpha=1500\). Phase separation in this case takes place at the beginning of the simulation. On the other hand, the coarsening process is slower. The bubbles start acquiring the equilibrium topology, that is, a circular shape, later in time compared to the previous example. The initial volume fraction \(\bar{\phi}\) plays an important role in the topology of the solution. The topology of the solution for \(\bar{\phi}=0.1\) shows a more connected pattern than that of the solution for \(\bar{\phi}=0.3\). In contrast to the case defined by \(\bar{\phi}=0.3\), for \(\bar{\phi}=0.1\) there is no nucleation, and the coarsening process is more continuous over the simulation.</p> <div class="row mt-3"> <div class="col-sm mt-3 mt-md-0"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/fig2_ch-480.webp 480w,/assets/img/fig2_ch-800.webp 800w,/assets/img/fig2_ch-1400.webp 1400w," sizes="95vw" type="image/webp"></source> <img src="/assets/img/fig2_ch.jpg" class="img-fluid rounded z-depth-1" width="100%" height="auto" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div class="col-sm mt-3 mt-md-0"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/fig3_ch-480.webp 480w,/assets/img/fig3_ch-800.webp 800w,/assets/img/fig3_ch-1400.webp 1400w," sizes="95vw" type="image/webp"></source> <img src="/assets/img/fig3_ch.jpg" class="img-fluid rounded z-depth-1" width="100%" height="auto" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> </div> <div class="caption"> Evolution of the phase-field from a randomly perturbed initial condition. Left and right show the snapshots over time for different initial conditions. </div> <h2 id="conclusions">Conclusions</h2> <p>We presented a numerical methodology to solve the Cahn-Hilliard equation on a quarter-annulus domain. Our computational method is based on isogeometric analysis, which allows us to generate the \(\mathcal{C}^1\)-continuous functions required to solve this equation in a variational framework. We adopt the split form of the equation to reduce its order, and facilitate the imposition of the boundary conditions on the circular geometry. Time discretazion is performed using the generalized \(\alpha\)-methods, which provides second order accuracy and \(A\)-stability. We analyzed the solution over time for different values of \(\alpha\) and \(\bar{\phi}\). The parameter \(\alpha\) affects the thickness of the interface and the time scale of the problem. As we increased \(\alpha\), the separation process was faster, and the thickness of the interface became thinner. The initial volume fraction \(\bar{\phi}\) modifies the topology of the solution. Smaller values of \(\bar{\phi}\) produce more continuous patterns without nucleation.</p> <h2 id="references">References</h2> <h2 class="bibliography">1958</h2> <ol class="bibliography"><li> <div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="Cahn-Hilliard" class="col-sm-8"> #<div class="title">Free Energy of a Nonuniform System. I. Interfacial Free Energy</div> <div class="title"><a href="">Free Energy of a Nonuniform System. I. Interfacial Free Energy</a></div> <div class="author"> John W. Cahn, and John E. Hilliard </div> <div class="periodical"> <em>The Journal of Chemical Physics</em>, 1958 </div> <div class="periodical"> </div> <div class="links"> </div> </div> </div> </li></ol> </div> </article> </div> </div> <footer class="fixed-bottom" role="contentinfo"> <div class="container mt-0"> © Copyright 2024 Mario de Lucio. </div> </footer> <script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script> <script src="/assets/js/bootstrap.bundle.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/mdbootstrap@4.20.0/js/mdb.min.js" integrity="sha256-NdbiivsvWt7VYCt6hYNT3h/th9vSTL4EDWeGs5SN3DA=" crossorigin="anonymous"></script> <script defer src="https://cdn.jsdelivr.net/npm/masonry-layout@4.2.2/dist/masonry.pkgd.min.js" integrity="sha256-Nn1q/fx0H7SNLZMQ5Hw5JLaTRZp0yILA/FRexe19VdI=" crossorigin="anonymous"></script> <script defer src="https://cdn.jsdelivr.net/npm/imagesloaded@5.0.0/imagesloaded.pkgd.min.js" integrity="sha256-htrLFfZJ6v5udOG+3kNLINIKh2gvoKqwEhHYfTTMICc=" crossorigin="anonymous"></script> <script defer src="/assets/js/masonry.js" type="text/javascript"></script> <script defer src="https://cdn.jsdelivr.net/npm/medium-zoom@1.1.0/dist/medium-zoom.min.js" integrity="sha256-ZgMyDAIYDYGxbcpJcfUnYwNevG/xi9OHKaR/8GK+jWc=" crossorigin="anonymous"></script> <script defer src="/assets/js/zoom.js?85ddb88934d28b74e78031fd54cf8308"></script> <script src="/assets/js/no_defer.js?2781658a0a2b13ed609542042a859126"></script> <script defer src="/assets/js/common.js?06cae41083477f121be8cd9797ad8e2f"></script> <script defer src="/assets/js/copy_code.js?12775fdf7f95e901d7119054556e495f" type="text/javascript"></script> <script defer src="/assets/js/jupyter_new_tab.js?d9f17b6adc2311cbabd747f4538bb15f"></script> <script async src="https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js"></script> <script async src="https://badge.dimensions.ai/badge.js"></script> <script type="text/javascript">window.MathJax={tex:{tags:"ams"}};</script> <script defer type="text/javascript" id="MathJax-script" src="https://cdn.jsdelivr.net/npm/mathjax@3.2.0/es5/tex-mml-chtml.min.js" integrity="sha256-rjmgmaB99riUNcdlrDtcAiwtLIojSxNyUFdl+Qh+rB4=" crossorigin="anonymous"></script> <script defer src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js?features=es6" crossorigin="anonymous"></script> <script type="text/javascript">function progressBarSetup(){"max"in document.createElement("progress")?(initializeProgressElement(),$(document).on("scroll",function(){progressBar.attr({value:getCurrentScrollPosition()})}),$(window).on("resize",initializeProgressElement)):(resizeProgressBar(),$(document).on("scroll",resizeProgressBar),$(window).on("resize",resizeProgressBar))}function getCurrentScrollPosition(){return $(window).scrollTop()}function initializeProgressElement(){let e=$("#navbar").outerHeight(!0);$("body").css({"padding-top":e}),$("progress-container").css({"padding-top":e}),progressBar.css({top:e}),progressBar.attr({max:getDistanceToScroll(),value:getCurrentScrollPosition()})}function getDistanceToScroll(){return $(document).height()-$(window).height()}function resizeProgressBar(){progressBar.css({width:getWidthPercentage()+"%"})}function getWidthPercentage(){return getCurrentScrollPosition()/getDistanceToScroll()*100}const progressBar=$("#progress");window.onload=function(){setTimeout(progressBarSetup,50)};</script> <script src="/assets/js/vanilla-back-to-top.min.js?f40d453793ff4f64e238e420181a1d17"></script> <script>addBackToTop();</script> <script type="module" src="/assets/js/search/ninja-keys.min.js?601a2d3465e2a52bec38b600518d5f70"></script> <ninja-keys hidebreadcrumbs noautoloadmdicons placeholder="Type to start searching"></ninja-keys> <script>let searchTheme=determineComputedTheme();const ninjaKeys=document.querySelector("ninja-keys");"dark"===searchTheme?ninjaKeys.classList.add("dark"):ninjaKeys.classList.remove("dark");const openSearchModal=()=>{const e=$("#navbarNav");e.hasClass("show")&&e.collapse("hide"),ninjaKeys.open()};</script> <script>const ninja=document.querySelector("ninja-keys");ninja.data=[{id:"nav-about",title:"About",section:"Navigation",handler:()=>{window.location.href="/"}},{id:"nav-publications",title:"Publications",description:"Ordered by most recent.",section:"Navigation",handler:()=>{window.location.href="/publications/"}},{id:"nav-blog",title:"Blog",description:"",section:"Navigation",handler:()=>{window.location.href="/blog/"}},{id:"nav-cv",title:"CV",description:"",section:"Navigation",handler:()=>{window.location.href="/cv/"}},{id:"nav-teaching",title:"Teaching",description:"Materials for courses you taught. Replace this text with your description.",section:"Navigation",handler:()=>{window.location.href="/teaching/"}},{id:"nav-videos",title:"Videos",description:"Animations and videos",section:"Navigation",handler:()=>{window.location.href="/videos/"}},{id:"post-solving-the-cahn-hilliard-equation-on-complex-geometries",title:"Solving the Cahn-Hilliard equation on complex geometries",description:"We solve the Cahn-Hilliard equation on a quarter of annulus by means of isogeometric analysis. We adopt the split form of the equation to avoid introducing fourth-order operators and facilitate the imposition of the boundary conditions on the circular geometry,",section:"Posts",handler:()=>{window.location.href="/blog/2024/CahnHilliard/"}},{id:"news-mario-succesfully-defended-his-phd-thesis",title:"Mario succesfully defended his PhD thesis",description:"",section:"News",handler:()=>{window.location.href="/news/Thesis_defense/"}},{id:"news-mario-is-awarded-the-ben-m-hillberry-graduate-scholarship",title:"Mario is awarded the Ben M. Hillberry Graduate Scholarship",description:"",section:"News",handler:()=>{window.location.href="/news/Hillberry/"}},{id:"news-mario-de-lucio-is-selected-as-a-2023-trailblazers-in-engineering-fellow-by-purdue-college-of-engineering",title:"Mario de Lucio is selected as a 2023 Trailblazers in Engineering Fellow by Purdue College of Engineering.",description:"",section:"News",handler:()=>{window.location.href="/news/TBE/"}},{id:"projects-project-1",title:"project 1",description:"with background image",section:"Projects",handler:()=>{window.location.href="/projects/1_project/"}},{id:"projects-project-2",title:"project 2",description:"a project with a background image and giscus comments",section:"Projects",handler:()=>{window.location.href="/projects/2_project/"}},{id:"projects-project-3-with-very-long-name",title:"project 3 with very long name",description:"a project that redirects to another website",section:"Projects",handler:()=>{window.location.href="/projects/3_project/"}},{id:"projects-project-4",title:"project 4",description:"another without an image",section:"Projects",handler:()=>{window.location.href="/projects/4_project/"}},{id:"projects-project-5",title:"project 5",description:"a project with a background image",section:"Projects",handler:()=>{window.location.href="/projects/5_project/"}},{id:"projects-project-6",title:"project 6",description:"a project with no image",section:"Projects",handler:()=>{window.location.href="/projects/6_project/"}},{id:"projects-project-7",title:"project 7",description:"with background image",section:"Projects",handler:()=>{window.location.href="/projects/7_project/"}},{id:"projects-project-8",title:"project 8",description:"an other project with a background image and giscus comments",section:"Projects",handler:()=>{window.location.href="/projects/8_project/"}},{id:"projects-project-9",title:"project 9",description:"another project with an image \ud83c\udf89",section:"Projects",handler:()=>{window.location.href="/projects/9_project/"}},{id:"socials-email",title:"Send email",section:"Socials",handler:()=>{window.open("mailto:%6D%64%65%6C%75%63%69@%70%75%72%64%75%65.%65%64%75","_blank")}},{id:"socials-orcid",title:"ORCID",section:"Socials",handler:()=>{window.open("https://orcid.org/0000-0003-1168-2249","_blank")}},{id:"socials-google-scholar",title:"Google Scholar",section:"Socials",handler:()=>{window.open("https://scholar.google.com/citations?user=ykpA5ZsAAAAJ","_blank")}},{id:"socials-researchgate",title:"ResearchGate",section:"Socials",handler:()=>{window.open("https://www.researchgate.net/profile/Mario-De-Lucio/","_blank")}},{id:"socials-github",title:"GitHub",section:"Socials",handler:()=>{window.open("https://github.com/mdeluci","_blank")}},{id:"socials-linkedin",title:"LinkedIn",section:"Socials",handler:()=>{window.open("https://www.linkedin.com/in/mario-de-lucio","_blank")}},{id:"light-theme",title:"Change theme to light",description:"Change the theme of the site to Light",section:"Theme",handler:()=>{setThemeSetting("light")}},{id:"dark-theme",title:"Change theme to dark",description:"Change the theme of the site to Dark",section:"Theme",handler:()=>{setThemeSetting("dark")}},{id:"system-theme",title:"Use system default theme",description:"Change the theme of the site to System Default",section:"Theme",handler:()=>{setThemeSetting("system")}}];</script> <script src="/assets/js/shortcut-key.js"></script> </body> </html> \ No newline at end of file +<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title> Solving the Cahn-Hilliard equation on complex geometries | Mario de Lucio's website </title> <meta name="author" content="Mario de Lucio"> <meta name="description" content="We solve the Cahn-Hilliard equation on a quarter of annulus by means of isogeometric analysis. We adopt the split form of the equation to avoid introducing fourth-order operators and facilitate the imposition of the boundary conditions on the circular geometry,"> <meta name="keywords" content="Computational Mechanics, Multiphysics Simulation, Biomechanics, Transport phenomena"> <link rel="stylesheet" href="/assets/css/bootstrap.min.css?a4b3f509e79c54a512b890d73235ef04"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/mdbootstrap@4.20.0/css/mdb.min.css" integrity="sha256-jpjYvU3G3N6nrrBwXJoVEYI/0zw8htfFnhT9ljN3JJw=" crossorigin="anonymous"> <link defer rel="stylesheet" href="/assets/css/academicons.min.css?f0b7046b84e425c55f3463ac249818f5"> <link defer rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:100,300,400,500,700|Material+Icons&display=swap"> <link defer rel="stylesheet" href="/assets/css/jekyll-pygments-themes-github.css?591dab5a4e56573bf4ef7fd332894c99" media="" id="highlight_theme_light"> <link rel="shortcut icon" href="/assets/img/webicon.png?b6c2349ccb452e30289be5faff27b580"> <link rel="stylesheet" href="/assets/css/main.css?d41d8cd98f00b204e9800998ecf8427e"> <link rel="canonical" href="https://mdeluci.github.io/blog/2024/CahnHilliard/"> <script src="/assets/js/theme.js?9a0c749ec5240d9cda97bc72359a72c0"></script> <link defer rel="stylesheet" href="/assets/css/jekyll-pygments-themes-native.css?5847e5ed4a4568527aa6cfab446049ca" media="none" id="highlight_theme_dark"> <script>initTheme();</script> </head> <body class="fixed-top-nav "> <header> <nav id="navbar" class="navbar navbar-light navbar-expand-sm fixed-top" role="navigation"> <div class="container"> <a class="navbar-brand title font-weight-lighter" href="/"> Mario de Lucio's website </a> <button class="navbar-toggler collapsed ml-auto" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar top-bar"></span> <span class="icon-bar middle-bar"></span> <span class="icon-bar bottom-bar"></span> </button> <div class="collapse navbar-collapse text-right" id="navbarNav"> <ul class="navbar-nav ml-auto flex-nowrap"> <li class="nav-item "> <a class="nav-link" href="/">About </a> </li> <li class="nav-item "> <a class="nav-link" href="/publications/">Publications </a> </li> <li class="nav-item "> <a class="nav-link" href="/blog/">Blog </a> </li> <li class="nav-item "> <a class="nav-link" href="/cv/">CV </a> </li> <li class="nav-item "> <a class="nav-link" href="/teaching/">Teaching </a> </li> <li class="nav-item "> <a class="nav-link" href="/videos/">Videos </a> </li> <li class="nav-item"> <button id="search-toggle" title="Search" onclick="openSearchModal()"> <span class="nav-link">ctrl k <i class="ti ti-search"></i></span> </button> </li> <li class="toggle-container"> <button id="light-toggle" title="Change theme"> <i class="ti ti-sun-moon" id="light-toggle-system"></i> <i class="ti ti-moon-filled" id="light-toggle-dark"></i> <i class="ti ti-sun-filled" id="light-toggle-light"></i> </button> </li> </ul> </div> </div> </nav> <progress id="progress" value="0"> <div class="progress-container"> <span class="progress-bar"></span> </div> </progress> </header> <div class="container mt-5" role="main"> <div class="post"> <header class="post-header"> <h1 class="post-title">Solving the Cahn-Hilliard equation on complex geometries</h1> <p class="post-meta"> Created in June 19, 2024 </p> <p class="post-tags"> <a href="/blog/2024"> <i class="fa-solid fa-calendar fa-sm"></i> 2024 </a> · <a href="/blog/tag/cahn-hilliard"> <i class="fa-solid fa-hashtag fa-sm"></i> Cahn-Hilliard</a> <a href="/blog/tag/pdes"> <i class="fa-solid fa-hashtag fa-sm"></i> PDEs</a> <a href="/blog/tag/iga"> <i class="fa-solid fa-hashtag fa-sm"></i> IGA</a> · <a href="/blog/category/projects"> <i class="fa-solid fa-tag fa-sm"></i> Projects</a> </p> </header> <article class="post-content"> <div id="markdown-content"> <h2 id="the-cahn-hilliard-equation">The Cahn-Hilliard equation</h2> <p>The Cahn–Hilliard equation describes the process of phase separation, by which the two components of a binary fluid spontaneously separate and form domains pure in each component. It was originally proposed in 1958 to model phase separation in binary alloys <a class="citation" href="#Cahn-Hilliard">(Cahn & Hilliard, 1958)</a>. Since then it has been used to describe various phenomena, such as spinodal decomposition \cite{MARALDI201231}, diblock copolymer \cite{Choksi,JEONG20141263}, image inpainting \cite{4032803}, tumor growth simulation \cite{tumor,WISE2008524} or multiphase fluid flows \cite{BADALASSI2003371, Kotschote}.</p> <div class="container"> <div class="row justify-content-center mt-3"> <div class="col mt-3 mt-md-0 d-flex justify-content-center"> <div style="width: 90%;"> <figure> <video src="/assets/video/ch.mp4" class="img-fluid rounded z-depth-1" width="auto" height="auto" autoplay="" controls=""></video> </figure> </div> </div> </div> <div class="caption text-center"> Solution of the Cahn-Hilliard equation on a quarter of anulus from a randomly perturbed initial condition. </div> </div> <p>There are two main approaches to describing phase transition phenomena: sharp-interface models and phase-field models. Sharp-interface models involve the resolution of a moving boundary problem, meaning that partial differential equations have to be solved for each phase. This can lead to physical \cite{Anderson} and computational complications \cite{Barrett}, such as jump discontinuities across the interface. Phase-field models replace sharp-interfaces by thin transitions regions where the interfacial forces are smoothly distributed (diffuse interfaces). For this reason, phase-field models are also referred to as \emph{diffuse interface} models, and they are emerging as a promising tool to treat problems with interfaces.</p> <p>From the mathematical point of view, the Cahn-Hilliard equation is a stiff, fourth-order, nonlinear parabolic partial differential equation. The elementary form of the Cahn-Hilliard equation is given by</p> <p>\begin{equation} \frac{\partial \phi}{\partial t}=\nabla \cdot \left(m\left(\phi\right) \nabla \left(W’\left(\phi\right) -\epsilon ^2 \Delta \phi \right) \right) \label{element} \end{equation}</p> <p>where \(\phi\left(\mathbf{x},t\right) \in [-1,1]\) represents the phase-field variable, which describes the location of different components (e.g., \(\phi=-1\) in oil and \(\phi=1\) in water), \(m\left(\phi\right)\) is the mobility, \(W\left(\phi\right)\) is the so-called double-well potential, and \(\epsilon\) is a length scale related to the thickness of the diffuse interface.</p> <p>Two different approaches have been used to solve the Cahn-Hilliard equation: solving the original form given by Eqn.\eqref{element}, which involves fourth-order operators, or by splitting it into two second order partial differential equations by introducing an auxiliary variable — the chemical potential \(\mu\). The split version of the equation is given by</p> <p>\begin{equation} \frac{\partial \phi}{\partial t}=\nabla \cdot \left(m\left(\phi\right) \nabla \mu \right) \label{split1} \end{equation} \begin{equation} \mu=W’\left(\phi \right) - \epsilon^2 \Delta \phi. \label{chempot} \end{equation}</p> <p>The splitting strategy was proposed by Elliot \cite{Elliott1989ASO} to avoid constraints related to the continuity of the basis functions when using the finite element method with a primal formulation. It also facilitates the imposition of the boundary conditions on a circular geometry, which is the case we are interested in. Unfortunately, this comes at a price of an additional degree of freedom introduced into the solver. Nevertheless, this reformulation reduces the complexity of the problem from the numerical point of view (see \cite{M2AN_2009__43_5_1003_0,Zee}).</p> <p>The spatial discretization of the governing equations is performed using isogeometric analysis (IGA) \cite{HUGHES20054135}. IGA is a generalization of the finite-element method that uses non-uniform rational B-splines (NURBS) to define the discrete spaces. A significant advantage of IGA with respect to finite element analysis is that the basis functions can be constructed with controllable continuity across the element boundaries, even on mapped geometries. The higher-order global continuity of the basis functions has been shown to produce higher accuracy than classical \(\mathcal{C}^0\)-continuous finite elements for the same number of degrees of freedom \cite{akkerman2008role,evans2009n}; and has been widely used to solve partial differential equations with high-order spatial derivatives \cite{GOMEZ20084333, GOMEZ20101828, GOMEZ201252}. Here, we will use \(\mathcal{C}^1\)-continuous quadratic splines for \(\phi\) and \(\mu\).</p> <h2 id="strong-form">Strong form</h2> <p>The strong form of the problem is formulated as follows: find \(\phi:\Omega \times \left[0,T\right]\rightarrow \mathbb{R}\) and \(\mu:\Omega \times \left[0,T\right]\rightarrow \mathbb{R}\) (being \(\mu\) an auxiliary variable) such that:</p> <p>\begin{equation} \frac{\partial \phi}{\partial t}=\nabla \cdot \left(m\left(\phi\right) \nabla \mu\right) \quad \text{in} \ \Omega \times \left[0,T\right], \label{st1} \end{equation} <br> \begin{equation} \mu=W’\left(\phi\right)-\epsilon^2 \Delta \phi \quad \text{in} \ \Omega \times \left[0,T\right], \label{st2} \end{equation} \begin{equation} \phi=g \quad \text{on} \ \Gamma_g \times \left[0,T\right], \label{st3} \end{equation} \begin{equation} <br> m\left(\phi\right)\epsilon^2\Delta\phi=q \quad \text{on} \ \Gamma_q \times \left[0,T\right], \label{st4} \end{equation} \begin{equation} \nabla\left(m\left(\phi\right)\mu\right)\cdot \mathbf{n}=s \quad \text{on} \ \Gamma_s \times \left[0,T\right], \label{st5} \end{equation} \begin{equation} \nabla\left(m\left(\phi\right)\phi\right)\cdot \mathbf{n}=h \quad \text{on} \ \Gamma_h \times \left[0,T\right], \label{st6}<br> \end{equation} \begin{equation} \phi\left(\mathbf{x},0\right)=\phi_0\left(\mathbf{x}\right) \quad \text{in} \ \Omega. \label{st7}<br> \end{equation}</p> <p>The double well function \(W\left(\phi\right)\) is defined such that it has two local minima, which makes possible the coexistence of the different phases. Some important examples of double well functions can be found in \cite{Gomez2}. In this work we will take the classical quartic potential</p> <p>\begin{equation} W\left(\phi\right)=\frac{1}{4}\left(1-\phi^2\right)^2, \end{equation}</p> <p>which is a qualitative approximation of the logarithmic double well.</p> <p>The mobility \(m\left(\phi\right)\), which can be linked with the diffusivity, controls the time scale of the problem. The most common approach is to set it as a constant, \(m\left(\phi\right)=m\). Such an approach is extensively applied in both analytical and numerical studies \cite{Rajagopal,polymer,CuetoFelgueroso2008ATF}. We will take \(m\) constant and equal to one as recommended in \cite{GOMEZ20084333}.</p> <p>The parameter \(\epsilon\) is a positive constant that defines the length scale for the problem. According to \cite{GOMEZ20084333}, the solution to the Cahn-Hilliard equations depends only on the dimensionless number</p> <p>\begin{equation} \alpha=\frac{L_0^2}{3\epsilon^2}, \end{equation}</p> <p>also referred to as sharpness parameter, where \(L_0\) is a length scale of the problem. Here, we will assume that \(L_0\) is a measure of the computational domain size. Without loss of generality, \(L_0=R_2=1.0\) will be the outer radius of the quarter of annulus. The sharpness parameter \(\alpha\) usually takes values in the range \(10^3-10^4\) \cite{GOMEZ20084333,Gomez2}. We will study the evolution of the phase-field variable for different values of \(\alpha\).</p> <h2 id="weak-form">Weak form</h2> <p>The strong form of our model defined by Eqns. \eqref{st1}–\eqref{st7} is now cast in weak form and discretized using the Galerkin approach. We will only work with free-flux boundary conditions. Thus, all boundary integrals will vanish in the weak form. Let us define the functional space \(\mathcal{V} \subset \mathcal{H}^1\), where \(\mathcal{H}^1\) is the Sobolev space of square-integrable functions with square-integrable first derivative in the domain \(\Omega\). To perform space discretization we introduce the finite-dimensional space \(\mathcal{V}^h\subset \mathcal{V}\), where \(\mathcal{V}^h ={\rm span}\left \{ N_A \right \}_{A=1,\dots,n_f}\) and \(n_f\) is the number of functions on the basis. The space of weighting functions will also be \(\mathcal{V}^h\), giving rise to a Galerkin formulation. We define discrete approximations to the problem’s solution denoted by \(\phi^h\) and \(\mu^h\). Their corresponding weighting functions are \(w_{\phi}^h\) and \(w_{\mu}^h\). Then, the variational formulation of Eqns. \eqref{st1}–\eqref{st7} over the finite-dimensional space $\mathcal{V}^h$ can be stated as follows: find \(\phi^h\), \(\mu^h\) \(\in \mathcal{V}^h\subset \mathcal{V}\) such that \(\forall\) \(w_{\phi}^h\), \(w_{\mu}^h\) \(\in \mathcal{V}^h \subset \mathcal{V}\)</p> <p>\begin{equation} \int_{\Omega}w_{\phi}^h\frac{\partial\phi}{\partial t}d\Omega +\int_{\Omega}m\nabla w_{\phi}^h \cdot \nabla \mu^h d\Omega =0, \label{wf1} \end{equation} \begin{equation} \int_{\Omega}w_{\mu}^h \mu^h d\Omega - \int_{\Omega}w_{\mu}^h \phi^h \left( \left(\phi^h \right)^2-1 \right)d\Omega- \int_{\Omega} \epsilon^2 \nabla \phi^h \cdot \nabla w_{\mu}^h d\Omega= 0. \end{equation}</p> <p>The solutions \(\phi^h\) and \(\mu^h\) are defined as \begin{equation} \phi^h(\mathbf{x},t)=\sum_{A=1}^{n_f}\phi_A\left ( t \right )N_A\left ( \mathbf{x} \right ), \end{equation} \begin{equation} \mu^h(\mathbf{x},t)=\sum_{A=1}^{n_f}\mu_A\left ( t \right )N_A\left ( \mathbf{x} \right ). \end{equation}</p> <h2 id="results">Results</h2> <p>We consider the split form of the Cahn-Hilliard equation on an open quarter-annulus domain \begin{equation} \Omega = { (x,y) \in \mathbb{R}^2 : x > 0, y > 0, R_1^2 < x^2 + y^2 < R_2^2 }, \end{equation} with inner radius \(R_1=0.5\) and outer radius \(R_2=1\). We employ a computational mesh comprised of \(128^2\) \(\mathcal{C}^1\)-quadratic elements; see the figure below.</p> <div class="container"> <div class="row justify-content-center mt-3"> <div class="col mt-3 mt-md-0 d-flex justify-content-center"> <div style="width: 50%;"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/mesh-480.webp 480w,/assets/img/mesh-800.webp 800w,/assets/img/mesh-1400.webp 1400w," sizes="95vw" type="image/webp"></source> <img src="/assets/img/mesh.jpg" class="img-fluid rounded z-depth-1" width="100%" height="auto" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> </div> </div> <div class="caption text-center"> Geometry definition and mesh used for the calculations. The circular inset shows a detail of the mesh. </div> </div> <p>The usual setup for numerical simulations of the Cahn-Hilliard equation is as follows: a randomly perturbed homogeneous solution is allowed to evolve in a sufficiently large computational domain with periodic boundary conditions. Periodic boundary conditions would make no sense in our case, since we are not considering a square domain. Instead, we prescribe free-flux boundary conditions on the entire domain for \(\phi\) and \(\mu\). The initial condition is given by \begin{equation} \phi_0\left(\mathbf{x}\right)=\bar{\phi}+r, \end{equation} where \(\bar{\phi}\) is a constant (referred to as the volume fraction) and \(r\) is a random variable with uniform distribution in \([-0.05,0.05]\).</p> <p>With this numerical setup we present two test cases which are defined by the sharpness parameter $\alpha$ and the volume fraction \(\bar{\phi}\). We take \(\alpha=1500\), \(\bar{\phi}=0.3\) for the first case, and \(\alpha=3000\), \(\bar{\phi}=0.1\) for the second case.</p> <p>The left figure below shows snapshots of the solution at different times for \(\alpha=1500\) and \(\bar{\phi}=0.3\). We observe two main processes that take place at very different time scales: phase separation and coarsening. The Cahn-Hilliard equation is unstable under random perturbations within the spinodal region, and, thus, two phases will develop. Phase separation takes place at \(t\approx 0.01\) s. The concentration is driven to the binodal points in a very fast process. After the phase separation, the coarsening process starts. During the coarsening process, bubbles merge with each other to reduce the surface energy, acquiring a circular shape. This process finishes when there are only two regions occupied by the two components of the mixture and they achieve the equilibrium topology. This is occurs at the steady state (data not shown).</p> <blockquote> <p>Note: Spinodal decomposition occurs when one thermodynamic phase spontaneusly (i.e., without nucleation) separates into two phases. The spinodal region is the region of the phase diagram where this occurs.</p> </blockquote> <p>The right figure below shows snapshots of the solution at different times for \(\alpha=1500\) and \(\bar{\phi}=0.3\). This test case is more challenging than the previous one, since the parameter \(\alpha\) is larger, and, thus, the interfaces are thinner. The parameter \(\alpha\) not only affects the thickness of the interface but also modifies the time scale of the problem. The separation process is faster for \(\alpha=3000\) than for \(\alpha=1500\). Phase separation in this case takes place at the beginning of the simulation. On the other hand, the coarsening process is slower. The bubbles start acquiring the equilibrium topology, that is, a circular shape, later in time compared to the previous example. The initial volume fraction \(\bar{\phi}\) plays an important role in the topology of the solution. The topology of the solution for \(\bar{\phi}=0.1\) shows a more connected pattern than that of the solution for \(\bar{\phi}=0.3\). In contrast to the case defined by \(\bar{\phi}=0.3\), for \(\bar{\phi}=0.1\) there is no nucleation, and the coarsening process is more continuous over the simulation.</p> <div class="row mt-3"> <div class="col-sm mt-3 mt-md-0"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/fig2_ch-480.webp 480w,/assets/img/fig2_ch-800.webp 800w,/assets/img/fig2_ch-1400.webp 1400w," sizes="95vw" type="image/webp"></source> <img src="/assets/img/fig2_ch.jpg" class="img-fluid rounded z-depth-1" width="100%" height="auto" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div class="col-sm mt-3 mt-md-0"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/fig3_ch-480.webp 480w,/assets/img/fig3_ch-800.webp 800w,/assets/img/fig3_ch-1400.webp 1400w," sizes="95vw" type="image/webp"></source> <img src="/assets/img/fig3_ch.jpg" class="img-fluid rounded z-depth-1" width="100%" height="auto" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> </div> <div class="caption"> Evolution of the phase-field from a randomly perturbed initial condition. Left and right show the snapshots over time for different initial conditions. </div> <h2 id="conclusions">Conclusions</h2> <p>We presented a numerical methodology to solve the Cahn-Hilliard equation on a quarter-annulus domain. Our computational method is based on isogeometric analysis, which allows us to generate the \(\mathcal{C}^1\)-continuous functions required to solve this equation in a variational framework. We adopt the split form of the equation to reduce its order, and facilitate the imposition of the boundary conditions on the circular geometry. Time discretazion is performed using the generalized \(\alpha\)-methods, which provides second order accuracy and \(A\)-stability. We analyzed the solution over time for different values of \(\alpha\) and \(\bar{\phi}\). The parameter \(\alpha\) affects the thickness of the interface and the time scale of the problem. As we increased \(\alpha\), the separation process was faster, and the thickness of the interface became thinner. The initial volume fraction \(\bar{\phi}\) modifies the topology of the solution. Smaller values of \(\bar{\phi}\) produce more continuous patterns without nucleation.</p> <h2 id="references">References</h2> <h2 class="bibliography">1958</h2> <ol class="bibliography"><li> <div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="Cahn-Hilliard" class="col-sm-8"> <div class="title"><a href="">Free Energy of a Nonuniform System. I. Interfacial Free Energy</a></div> <div class="author"> John W. Cahn, and John E. Hilliard </div> <div class="periodical"> <em>The Journal of Chemical Physics</em>, 1958 </div> <div class="periodical"> </div> <div class="links"> </div> </div> </div> </li></ol> </div> </article> </div> </div> <footer class="fixed-bottom" role="contentinfo"> <div class="container mt-0"> © Copyright 2024 Mario de Lucio. </div> </footer> <script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script> <script src="/assets/js/bootstrap.bundle.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/mdbootstrap@4.20.0/js/mdb.min.js" integrity="sha256-NdbiivsvWt7VYCt6hYNT3h/th9vSTL4EDWeGs5SN3DA=" crossorigin="anonymous"></script> <script defer src="https://cdn.jsdelivr.net/npm/masonry-layout@4.2.2/dist/masonry.pkgd.min.js" integrity="sha256-Nn1q/fx0H7SNLZMQ5Hw5JLaTRZp0yILA/FRexe19VdI=" crossorigin="anonymous"></script> <script defer src="https://cdn.jsdelivr.net/npm/imagesloaded@5.0.0/imagesloaded.pkgd.min.js" integrity="sha256-htrLFfZJ6v5udOG+3kNLINIKh2gvoKqwEhHYfTTMICc=" crossorigin="anonymous"></script> <script defer src="/assets/js/masonry.js" type="text/javascript"></script> <script defer src="https://cdn.jsdelivr.net/npm/medium-zoom@1.1.0/dist/medium-zoom.min.js" integrity="sha256-ZgMyDAIYDYGxbcpJcfUnYwNevG/xi9OHKaR/8GK+jWc=" crossorigin="anonymous"></script> <script defer src="/assets/js/zoom.js?85ddb88934d28b74e78031fd54cf8308"></script> <script src="/assets/js/no_defer.js?2781658a0a2b13ed609542042a859126"></script> <script defer src="/assets/js/common.js?06cae41083477f121be8cd9797ad8e2f"></script> <script defer src="/assets/js/copy_code.js?12775fdf7f95e901d7119054556e495f" type="text/javascript"></script> <script defer src="/assets/js/jupyter_new_tab.js?d9f17b6adc2311cbabd747f4538bb15f"></script> <script async src="https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js"></script> <script async src="https://badge.dimensions.ai/badge.js"></script> <script type="text/javascript">window.MathJax={tex:{tags:"ams"}};</script> <script defer type="text/javascript" id="MathJax-script" src="https://cdn.jsdelivr.net/npm/mathjax@3.2.0/es5/tex-mml-chtml.min.js" integrity="sha256-rjmgmaB99riUNcdlrDtcAiwtLIojSxNyUFdl+Qh+rB4=" crossorigin="anonymous"></script> <script defer src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js?features=es6" crossorigin="anonymous"></script> <script type="text/javascript">function progressBarSetup(){"max"in document.createElement("progress")?(initializeProgressElement(),$(document).on("scroll",function(){progressBar.attr({value:getCurrentScrollPosition()})}),$(window).on("resize",initializeProgressElement)):(resizeProgressBar(),$(document).on("scroll",resizeProgressBar),$(window).on("resize",resizeProgressBar))}function getCurrentScrollPosition(){return $(window).scrollTop()}function initializeProgressElement(){let e=$("#navbar").outerHeight(!0);$("body").css({"padding-top":e}),$("progress-container").css({"padding-top":e}),progressBar.css({top:e}),progressBar.attr({max:getDistanceToScroll(),value:getCurrentScrollPosition()})}function getDistanceToScroll(){return $(document).height()-$(window).height()}function resizeProgressBar(){progressBar.css({width:getWidthPercentage()+"%"})}function getWidthPercentage(){return getCurrentScrollPosition()/getDistanceToScroll()*100}const progressBar=$("#progress");window.onload=function(){setTimeout(progressBarSetup,50)};</script> <script src="/assets/js/vanilla-back-to-top.min.js?f40d453793ff4f64e238e420181a1d17"></script> <script>addBackToTop();</script> <script type="module" src="/assets/js/search/ninja-keys.min.js?601a2d3465e2a52bec38b600518d5f70"></script> <ninja-keys hidebreadcrumbs noautoloadmdicons placeholder="Type to start searching"></ninja-keys> <script>let searchTheme=determineComputedTheme();const ninjaKeys=document.querySelector("ninja-keys");"dark"===searchTheme?ninjaKeys.classList.add("dark"):ninjaKeys.classList.remove("dark");const openSearchModal=()=>{const e=$("#navbarNav");e.hasClass("show")&&e.collapse("hide"),ninjaKeys.open()};</script> <script>const ninja=document.querySelector("ninja-keys");ninja.data=[{id:"nav-about",title:"About",section:"Navigation",handler:()=>{window.location.href="/"}},{id:"nav-publications",title:"Publications",description:"Ordered by most recent.",section:"Navigation",handler:()=>{window.location.href="/publications/"}},{id:"nav-blog",title:"Blog",description:"",section:"Navigation",handler:()=>{window.location.href="/blog/"}},{id:"nav-cv",title:"CV",description:"",section:"Navigation",handler:()=>{window.location.href="/cv/"}},{id:"nav-teaching",title:"Teaching",description:"Materials for courses you taught. Replace this text with your description.",section:"Navigation",handler:()=>{window.location.href="/teaching/"}},{id:"nav-videos",title:"Videos",description:"Animations and videos",section:"Navigation",handler:()=>{window.location.href="/videos/"}},{id:"post-solving-the-cahn-hilliard-equation-on-complex-geometries",title:"Solving the Cahn-Hilliard equation on complex geometries",description:"We solve the Cahn-Hilliard equation on a quarter of annulus by means of isogeometric analysis. We adopt the split form of the equation to avoid introducing fourth-order operators and facilitate the imposition of the boundary conditions on the circular geometry,",section:"Posts",handler:()=>{window.location.href="/blog/2024/CahnHilliard/"}},{id:"news-mario-succesfully-defended-his-phd-thesis",title:"Mario succesfully defended his PhD thesis",description:"",section:"News",handler:()=>{window.location.href="/news/Thesis_defense/"}},{id:"news-mario-is-awarded-the-ben-m-hillberry-graduate-scholarship",title:"Mario is awarded the Ben M. Hillberry Graduate Scholarship",description:"",section:"News",handler:()=>{window.location.href="/news/Hillberry/"}},{id:"news-mario-de-lucio-is-selected-as-a-2023-trailblazers-in-engineering-fellow-by-purdue-college-of-engineering",title:"Mario de Lucio is selected as a 2023 Trailblazers in Engineering Fellow by Purdue College of Engineering.",description:"",section:"News",handler:()=>{window.location.href="/news/TBE/"}},{id:"projects-project-1",title:"project 1",description:"with background image",section:"Projects",handler:()=>{window.location.href="/projects/1_project/"}},{id:"projects-project-2",title:"project 2",description:"a project with a background image and giscus comments",section:"Projects",handler:()=>{window.location.href="/projects/2_project/"}},{id:"projects-project-3-with-very-long-name",title:"project 3 with very long name",description:"a project that redirects to another website",section:"Projects",handler:()=>{window.location.href="/projects/3_project/"}},{id:"projects-project-4",title:"project 4",description:"another without an image",section:"Projects",handler:()=>{window.location.href="/projects/4_project/"}},{id:"projects-project-5",title:"project 5",description:"a project with a background image",section:"Projects",handler:()=>{window.location.href="/projects/5_project/"}},{id:"projects-project-6",title:"project 6",description:"a project with no image",section:"Projects",handler:()=>{window.location.href="/projects/6_project/"}},{id:"projects-project-7",title:"project 7",description:"with background image",section:"Projects",handler:()=>{window.location.href="/projects/7_project/"}},{id:"projects-project-8",title:"project 8",description:"an other project with a background image and giscus comments",section:"Projects",handler:()=>{window.location.href="/projects/8_project/"}},{id:"projects-project-9",title:"project 9",description:"another project with an image \ud83c\udf89",section:"Projects",handler:()=>{window.location.href="/projects/9_project/"}},{id:"socials-email",title:"Send email",section:"Socials",handler:()=>{window.open("mailto:%6D%64%65%6C%75%63%69@%70%75%72%64%75%65.%65%64%75","_blank")}},{id:"socials-orcid",title:"ORCID",section:"Socials",handler:()=>{window.open("https://orcid.org/0000-0003-1168-2249","_blank")}},{id:"socials-google-scholar",title:"Google Scholar",section:"Socials",handler:()=>{window.open("https://scholar.google.com/citations?user=ykpA5ZsAAAAJ","_blank")}},{id:"socials-researchgate",title:"ResearchGate",section:"Socials",handler:()=>{window.open("https://www.researchgate.net/profile/Mario-De-Lucio/","_blank")}},{id:"socials-github",title:"GitHub",section:"Socials",handler:()=>{window.open("https://github.com/mdeluci","_blank")}},{id:"socials-linkedin",title:"LinkedIn",section:"Socials",handler:()=>{window.open("https://www.linkedin.com/in/mario-de-lucio","_blank")}},{id:"light-theme",title:"Change theme to light",description:"Change the theme of the site to Light",section:"Theme",handler:()=>{setThemeSetting("light")}},{id:"dark-theme",title:"Change theme to dark",description:"Change the theme of the site to Dark",section:"Theme",handler:()=>{setThemeSetting("dark")}},{id:"system-theme",title:"Use system default theme",description:"Change the theme of the site to System Default",section:"Theme",handler:()=>{setThemeSetting("system")}}];</script> <script src="/assets/js/shortcut-key.js"></script> </body> </html> \ No newline at end of file diff --git a/feed.xml b/feed.xml index 7398efc7..f76b666c 100644 --- a/feed.xml +++ b/feed.xml @@ -1 +1 @@ -<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><generator uri="https://jekyllrb.com/" version="4.3.3">Jekyll</generator><link href="https://mdeluci.github.io/feed.xml" rel="self" type="application/atom+xml"/><link href="https://mdeluci.github.io/" rel="alternate" type="text/html" hreflang="en"/><updated>2024-06-20T01:23:26+00:00</updated><id>https://mdeluci.github.io/feed.xml</id><title type="html">Mario de Lucio’s website</title><subtitle>Mario de Lucio's website </subtitle><entry><title type="html">Solving the Cahn-Hilliard equation on complex geometries</title><link href="https://mdeluci.github.io/blog/2024/CahnHilliard/" rel="alternate" type="text/html" title="Solving the Cahn-Hilliard equation on complex geometries"/><published>2024-06-19T06:52:00+00:00</published><updated>2024-06-19T06:52:00+00:00</updated><id>https://mdeluci.github.io/blog/2024/CahnHilliard</id><content type="html" xml:base="https://mdeluci.github.io/blog/2024/CahnHilliard/"><![CDATA[<h2 id="the-cahn-hilliard-equation">The Cahn-Hilliard equation</h2> <p>The Cahn–Hilliard equation describes the process of phase separation, by which the two components of a binary fluid spontaneously separate and form domains pure in each component. It was originally proposed in 1958 to model phase separation in binary alloys <a class="citation" href="#Cahn-Hilliard">(Cahn & Hilliard, 1958)</a>. Since then it has been used to describe various phenomena, such as spinodal decomposition \cite{MARALDI201231}, diblock copolymer \cite{Choksi,JEONG20141263}, image inpainting \cite{4032803}, tumor growth simulation \cite{tumor,WISE2008524} or multiphase fluid flows \cite{BADALASSI2003371, Kotschote}.</p> <div class="container"> <div class="row justify-content-center mt-3"> <div class="col mt-3 mt-md-0 d-flex justify-content-center"> <div style="width: 90%;"> <figure> <video src="/assets/video/ch.mp4" class="img-fluid rounded z-depth-1" width="auto" height="auto" autoplay="" controls=""/> </figure> </div> </div> </div> <div class="caption text-center"> Solution of the Cahn-Hilliard equation on a quarter of anulus from a randomly perturbed initial condition. </div> </div> <p>There are two main approaches to describing phase transition phenomena: sharp-interface models and phase-field models. Sharp-interface models involve the resolution of a moving boundary problem, meaning that partial differential equations have to be solved for each phase. This can lead to physical \cite{Anderson} and computational complications \cite{Barrett}, such as jump discontinuities across the interface. Phase-field models replace sharp-interfaces by thin transitions regions where the interfacial forces are smoothly distributed (diffuse interfaces). For this reason, phase-field models are also referred to as \emph{diffuse interface} models, and they are emerging as a promising tool to treat problems with interfaces.</p> <p>From the mathematical point of view, the Cahn-Hilliard equation is a stiff, fourth-order, nonlinear parabolic partial differential equation. The elementary form of the Cahn-Hilliard equation is given by</p> <p>\begin{equation} \frac{\partial \phi}{\partial t}=\nabla \cdot \left(m\left(\phi\right) \nabla \left(W’\left(\phi\right) -\epsilon ^2 \Delta \phi \right) \right) \label{element} \end{equation}</p> <p>where \(\phi\left(\mathbf{x},t\right) \in [-1,1]\) represents the phase-field variable, which describes the location of different components (e.g., \(\phi=-1\) in oil and \(\phi=1\) in water), \(m\left(\phi\right)\) is the mobility, \(W\left(\phi\right)\) is the so-called double-well potential, and \(\epsilon\) is a length scale related to the thickness of the diffuse interface.</p> <p>Two different approaches have been used to solve the Cahn-Hilliard equation: solving the original form given by Eqn.\eqref{element}, which involves fourth-order operators, or by splitting it into two second order partial differential equations by introducing an auxiliary variable — the chemical potential \(\mu\). The split version of the equation is given by</p> <p>\begin{equation} \frac{\partial \phi}{\partial t}=\nabla \cdot \left(m\left(\phi\right) \nabla \mu \right) \label{split1} \end{equation} \begin{equation} \mu=W’\left(\phi \right) - \epsilon^2 \Delta \phi. \label{chempot} \end{equation}</p> <p>The splitting strategy was proposed by Elliot \cite{Elliott1989ASO} to avoid constraints related to the continuity of the basis functions when using the finite element method with a primal formulation. It also facilitates the imposition of the boundary conditions on a circular geometry, which is the case we are interested in. Unfortunately, this comes at a price of an additional degree of freedom introduced into the solver. Nevertheless, this reformulation reduces the complexity of the problem from the numerical point of view (see \cite{M2AN_2009__43_5_1003_0,Zee}).</p> <p>The spatial discretization of the governing equations is performed using isogeometric analysis (IGA) \cite{HUGHES20054135}. IGA is a generalization of the finite-element method that uses non-uniform rational B-splines (NURBS) to define the discrete spaces. A significant advantage of IGA with respect to finite element analysis is that the basis functions can be constructed with controllable continuity across the element boundaries, even on mapped geometries. The higher-order global continuity of the basis functions has been shown to produce higher accuracy than classical \(\mathcal{C}^0\)-continuous finite elements for the same number of degrees of freedom \cite{akkerman2008role,evans2009n}; and has been widely used to solve partial differential equations with high-order spatial derivatives \cite{GOMEZ20084333, GOMEZ20101828, GOMEZ201252}. Here, we will use \(\mathcal{C}^1\)-continuous quadratic splines for \(\phi\) and \(\mu\).</p> <h2 id="strong-form">Strong form</h2> <p>The strong form of the problem is formulated as follows: find \(\phi:\Omega \times \left[0,T\right]\rightarrow \mathbb{R}\) and \(\mu:\Omega \times \left[0,T\right]\rightarrow \mathbb{R}\) (being \(\mu\) an auxiliary variable) such that:</p> <p>\begin{equation} \frac{\partial \phi}{\partial t}=\nabla \cdot \left(m\left(\phi\right) \nabla \mu\right) \quad \text{in} \ \Omega \times \left[0,T\right], \label{st1} \end{equation} <br/> \begin{equation} \mu=W’\left(\phi\right)-\epsilon^2 \Delta \phi \quad \text{in} \ \Omega \times \left[0,T\right], \label{st2} \end{equation} \begin{equation} \phi=g \quad \text{on} \ \Gamma_g \times \left[0,T\right], \label{st3} \end{equation} \begin{equation} <br/> m\left(\phi\right)\epsilon^2\Delta\phi=q \quad \text{on} \ \Gamma_q \times \left[0,T\right], \label{st4} \end{equation} \begin{equation} \nabla\left(m\left(\phi\right)\mu\right)\cdot \mathbf{n}=s \quad \text{on} \ \Gamma_s \times \left[0,T\right], \label{st5} \end{equation} \begin{equation} \nabla\left(m\left(\phi\right)\phi\right)\cdot \mathbf{n}=h \quad \text{on} \ \Gamma_h \times \left[0,T\right], \label{st6}<br/> \end{equation} \begin{equation} \phi\left(\mathbf{x},0\right)=\phi_0\left(\mathbf{x}\right) \quad \text{in} \ \Omega. \label{st7}<br/> \end{equation}</p> <p>The double well function \(W\left(\phi\right)\) is defined such that it has two local minima, which makes possible the coexistence of the different phases. Some important examples of double well functions can be found in \cite{Gomez2}. In this work we will take the classical quartic potential</p> <p>\begin{equation} W\left(\phi\right)=\frac{1}{4}\left(1-\phi^2\right)^2, \end{equation}</p> <p>which is a qualitative approximation of the logarithmic double well.</p> <p>The mobility \(m\left(\phi\right)\), which can be linked with the diffusivity, controls the time scale of the problem. The most common approach is to set it as a constant, \(m\left(\phi\right)=m\). Such an approach is extensively applied in both analytical and numerical studies \cite{Rajagopal,polymer,CuetoFelgueroso2008ATF}. We will take \(m\) constant and equal to one as recommended in \cite{GOMEZ20084333}.</p> <p>The parameter \(\epsilon\) is a positive constant that defines the length scale for the problem. According to \cite{GOMEZ20084333}, the solution to the Cahn-Hilliard equations depends only on the dimensionless number</p> <p>\begin{equation} \alpha=\frac{L_0^2}{3\epsilon^2}, \end{equation}</p> <p>also referred to as sharpness parameter, where \(L_0\) is a length scale of the problem. Here, we will assume that \(L_0\) is a measure of the computational domain size. Without loss of generality, \(L_0=R_2=1.0\) will be the outer radius of the quarter of annulus. The sharpness parameter \(\alpha\) usually takes values in the range \(10^3-10^4\) \cite{GOMEZ20084333,Gomez2}. We will study the evolution of the phase-field variable for different values of \(\alpha\).</p> <h2 id="weak-form">Weak form</h2> <p>The strong form of our model defined by Eqns. \eqref{st1}–\eqref{st7} is now cast in weak form and discretized using the Galerkin approach. We will only work with free-flux boundary conditions. Thus, all boundary integrals will vanish in the weak form. Let us define the functional space \(\mathcal{V} \subset \mathcal{H}^1\), where \(\mathcal{H}^1\) is the Sobolev space of square-integrable functions with square-integrable first derivative in the domain \(\Omega\). To perform space discretization we introduce the finite-dimensional space \(\mathcal{V}^h\subset \mathcal{V}\), where \(\mathcal{V}^h ={\rm span}\left \{ N_A \right \}_{A=1,\dots,n_f}\) and \(n_f\) is the number of functions on the basis. The space of weighting functions will also be \(\mathcal{V}^h\), giving rise to a Galerkin formulation. We define discrete approximations to the problem’s solution denoted by \(\phi^h\) and \(\mu^h\). Their corresponding weighting functions are \(w_{\phi}^h\) and \(w_{\mu}^h\). Then, the variational formulation of Eqns. \eqref{st1}–\eqref{st7} over the finite-dimensional space $\mathcal{V}^h$ can be stated as follows: find \(\phi^h\), \(\mu^h\) \(\in \mathcal{V}^h\subset \mathcal{V}\) such that \(\forall\) \(w_{\phi}^h\), \(w_{\mu}^h\) \(\in \mathcal{V}^h \subset \mathcal{V}\)</p> <p>\begin{equation} \int_{\Omega}w_{\phi}^h\frac{\partial\phi}{\partial t}d\Omega +\int_{\Omega}m\nabla w_{\phi}^h \cdot \nabla \mu^h d\Omega =0, \label{wf1} \end{equation} \begin{equation} \int_{\Omega}w_{\mu}^h \mu^h d\Omega - \int_{\Omega}w_{\mu}^h \phi^h \left( \left(\phi^h \right)^2-1 \right)d\Omega- \int_{\Omega} \epsilon^2 \nabla \phi^h \cdot \nabla w_{\mu}^h d\Omega= 0. \end{equation}</p> <p>The solutions \(\phi^h\) and \(\mu^h\) are defined as \begin{equation} \phi^h(\mathbf{x},t)=\sum_{A=1}^{n_f}\phi_A\left ( t \right )N_A\left ( \mathbf{x} \right ), \end{equation} \begin{equation} \mu^h(\mathbf{x},t)=\sum_{A=1}^{n_f}\mu_A\left ( t \right )N_A\left ( \mathbf{x} \right ). \end{equation}</p> <h2 id="results">Results</h2> <p>We consider the split form of the Cahn-Hilliard equation on an open quarter-annulus domain \begin{equation} \Omega = { (x,y) \in \mathbb{R}^2 : x > 0, y > 0, R_1^2 < x^2 + y^2 < R_2^2 }, \end{equation} with inner radius \(R_1=0.5\) and outer radius \(R_2=1\). We employ a computational mesh comprised of \(128^2\) \(\mathcal{C}^1\)-quadratic elements; see the figure below.</p> <div class="container"> <div class="row justify-content-center mt-3"> <div class="col mt-3 mt-md-0 d-flex justify-content-center"> <div style="width: 50%;"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/mesh-480.webp 480w,/assets/img/mesh-800.webp 800w,/assets/img/mesh-1400.webp 1400w," sizes="95vw" type="image/webp"/> <img src="/assets/img/mesh.jpg" class="img-fluid rounded z-depth-1" width="100%" height="auto" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"/> </picture> </figure> </div> </div> </div> <div class="caption text-center"> Geometry definition and mesh used for the calculations. The circular inset shows a detail of the mesh. </div> </div> <p>The usual setup for numerical simulations of the Cahn-Hilliard equation is as follows: a randomly perturbed homogeneous solution is allowed to evolve in a sufficiently large computational domain with periodic boundary conditions. Periodic boundary conditions would make no sense in our case, since we are not considering a square domain. Instead, we prescribe free-flux boundary conditions on the entire domain for \(\phi\) and \(\mu\). The initial condition is given by \begin{equation} \phi_0\left(\mathbf{x}\right)=\bar{\phi}+r, \end{equation} where \(\bar{\phi}\) is a constant (referred to as the volume fraction) and \(r\) is a random variable with uniform distribution in \([-0.05,0.05]\).</p> <p>With this numerical setup we present two test cases which are defined by the sharpness parameter $\alpha$ and the volume fraction \(\bar{\phi}\). We take \(\alpha=1500\), \(\bar{\phi}=0.3\) for the first case, and \(\alpha=3000\), \(\bar{\phi}=0.1\) for the second case.</p> <p>The left figure below shows snapshots of the solution at different times for \(\alpha=1500\) and \(\bar{\phi}=0.3\). We observe two main processes that take place at very different time scales: phase separation and coarsening. The Cahn-Hilliard equation is unstable under random perturbations within the spinodal region, and, thus, two phases will develop. Phase separation takes place at \(t\approx 0.01\) s. The concentration is driven to the binodal points in a very fast process. After the phase separation, the coarsening process starts. During the coarsening process, bubbles merge with each other to reduce the surface energy, acquiring a circular shape. This process finishes when there are only two regions occupied by the two components of the mixture and they achieve the equilibrium topology. This is occurs at the steady state (data not shown).</p> <blockquote> <p>Note: Spinodal decomposition occurs when one thermodynamic phase spontaneusly (i.e., without nucleation) separates into two phases. The spinodal region is the region of the phase diagram where this occurs.</p> </blockquote> <p>The right figure below shows snapshots of the solution at different times for \(\alpha=1500\) and \(\bar{\phi}=0.3\). This test case is more challenging than the previous one, since the parameter \(\alpha\) is larger, and, thus, the interfaces are thinner. The parameter \(\alpha\) not only affects the thickness of the interface but also modifies the time scale of the problem. The separation process is faster for \(\alpha=3000\) than for \(\alpha=1500\). Phase separation in this case takes place at the beginning of the simulation. On the other hand, the coarsening process is slower. The bubbles start acquiring the equilibrium topology, that is, a circular shape, later in time compared to the previous example. The initial volume fraction \(\bar{\phi}\) plays an important role in the topology of the solution. The topology of the solution for \(\bar{\phi}=0.1\) shows a more connected pattern than that of the solution for \(\bar{\phi}=0.3\). In contrast to the case defined by \(\bar{\phi}=0.3\), for \(\bar{\phi}=0.1\) there is no nucleation, and the coarsening process is more continuous over the simulation.</p> <div class="row mt-3"> <div class="col-sm mt-3 mt-md-0"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/fig2_ch-480.webp 480w,/assets/img/fig2_ch-800.webp 800w,/assets/img/fig2_ch-1400.webp 1400w," sizes="95vw" type="image/webp"/> <img src="/assets/img/fig2_ch.jpg" class="img-fluid rounded z-depth-1" width="100%" height="auto" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"/> </picture> </figure> </div> <div class="col-sm mt-3 mt-md-0"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/fig3_ch-480.webp 480w,/assets/img/fig3_ch-800.webp 800w,/assets/img/fig3_ch-1400.webp 1400w," sizes="95vw" type="image/webp"/> <img src="/assets/img/fig3_ch.jpg" class="img-fluid rounded z-depth-1" width="100%" height="auto" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"/> </picture> </figure> </div> </div> <div class="caption"> Evolution of the phase-field from a randomly perturbed initial condition. Left and right show the snapshots over time for different initial conditions. </div> <h2 id="conclusions">Conclusions</h2> <p>We presented a numerical methodology to solve the Cahn-Hilliard equation on a quarter-annulus domain. Our computational method is based on isogeometric analysis, which allows us to generate the \(\mathcal{C}^1\)-continuous functions required to solve this equation in a variational framework. We adopt the split form of the equation to reduce its order, and facilitate the imposition of the boundary conditions on the circular geometry. Time discretazion is performed using the generalized \(\alpha\)-methods, which provides second order accuracy and \(A\)-stability. We analyzed the solution over time for different values of \(\alpha\) and \(\bar{\phi}\). The parameter \(\alpha\) affects the thickness of the interface and the time scale of the problem. As we increased \(\alpha\), the separation process was faster, and the thickness of the interface became thinner. The initial volume fraction \(\bar{\phi}\) modifies the topology of the solution. Smaller values of \(\bar{\phi}\) produce more continuous patterns without nucleation.</p> <h2 id="references">References</h2> <h2 class="bibliography">1958</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="Cahn-Hilliard" class="col-sm-8"> #<div class="title">Free Energy of a Nonuniform System. I. Interfacial Free Energy</div> <div class="title"><a href="">Free Energy of a Nonuniform System. I. Interfacial Free Energy</a></div> <div class="author"> John W. Cahn, and John E. Hilliard </div> <div class="periodical"> <em>The Journal of Chemical Physics</em>, 1958 </div> <div class="periodical"> </div> <div class="links"> </div> </div> </div> </li></ol>]]></content><author><name></name></author><category term="Projects"/><category term="Cahn-Hilliard"/><category term="PDEs"/><category term="IGA"/><summary type="html"><![CDATA[We solve the Cahn-Hilliard equation on a quarter of annulus by means of isogeometric analysis. We adopt the split form of the equation to avoid introducing fourth-order operators and facilitate the imposition of the boundary conditions on the circular geometry,]]></summary></entry></feed> \ No newline at end of file +<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><generator uri="https://jekyllrb.com/" version="4.3.3">Jekyll</generator><link href="https://mdeluci.github.io/feed.xml" rel="self" type="application/atom+xml"/><link href="https://mdeluci.github.io/" rel="alternate" type="text/html" hreflang="en"/><updated>2024-06-20T01:29:40+00:00</updated><id>https://mdeluci.github.io/feed.xml</id><title type="html">Mario de Lucio’s website</title><subtitle>Mario de Lucio's website </subtitle><entry><title type="html">Solving the Cahn-Hilliard equation on complex geometries</title><link href="https://mdeluci.github.io/blog/2024/CahnHilliard/" rel="alternate" type="text/html" title="Solving the Cahn-Hilliard equation on complex geometries"/><published>2024-06-19T06:52:00+00:00</published><updated>2024-06-19T06:52:00+00:00</updated><id>https://mdeluci.github.io/blog/2024/CahnHilliard</id><content type="html" xml:base="https://mdeluci.github.io/blog/2024/CahnHilliard/"><![CDATA[<h2 id="the-cahn-hilliard-equation">The Cahn-Hilliard equation</h2> <p>The Cahn–Hilliard equation describes the process of phase separation, by which the two components of a binary fluid spontaneously separate and form domains pure in each component. It was originally proposed in 1958 to model phase separation in binary alloys <a class="citation" href="#Cahn-Hilliard">(Cahn & Hilliard, 1958)</a>. Since then it has been used to describe various phenomena, such as spinodal decomposition \cite{MARALDI201231}, diblock copolymer \cite{Choksi,JEONG20141263}, image inpainting \cite{4032803}, tumor growth simulation \cite{tumor,WISE2008524} or multiphase fluid flows \cite{BADALASSI2003371, Kotschote}.</p> <div class="container"> <div class="row justify-content-center mt-3"> <div class="col mt-3 mt-md-0 d-flex justify-content-center"> <div style="width: 90%;"> <figure> <video src="/assets/video/ch.mp4" class="img-fluid rounded z-depth-1" width="auto" height="auto" autoplay="" controls=""/> </figure> </div> </div> </div> <div class="caption text-center"> Solution of the Cahn-Hilliard equation on a quarter of anulus from a randomly perturbed initial condition. </div> </div> <p>There are two main approaches to describing phase transition phenomena: sharp-interface models and phase-field models. Sharp-interface models involve the resolution of a moving boundary problem, meaning that partial differential equations have to be solved for each phase. This can lead to physical \cite{Anderson} and computational complications \cite{Barrett}, such as jump discontinuities across the interface. Phase-field models replace sharp-interfaces by thin transitions regions where the interfacial forces are smoothly distributed (diffuse interfaces). For this reason, phase-field models are also referred to as \emph{diffuse interface} models, and they are emerging as a promising tool to treat problems with interfaces.</p> <p>From the mathematical point of view, the Cahn-Hilliard equation is a stiff, fourth-order, nonlinear parabolic partial differential equation. The elementary form of the Cahn-Hilliard equation is given by</p> <p>\begin{equation} \frac{\partial \phi}{\partial t}=\nabla \cdot \left(m\left(\phi\right) \nabla \left(W’\left(\phi\right) -\epsilon ^2 \Delta \phi \right) \right) \label{element} \end{equation}</p> <p>where \(\phi\left(\mathbf{x},t\right) \in [-1,1]\) represents the phase-field variable, which describes the location of different components (e.g., \(\phi=-1\) in oil and \(\phi=1\) in water), \(m\left(\phi\right)\) is the mobility, \(W\left(\phi\right)\) is the so-called double-well potential, and \(\epsilon\) is a length scale related to the thickness of the diffuse interface.</p> <p>Two different approaches have been used to solve the Cahn-Hilliard equation: solving the original form given by Eqn.\eqref{element}, which involves fourth-order operators, or by splitting it into two second order partial differential equations by introducing an auxiliary variable — the chemical potential \(\mu\). The split version of the equation is given by</p> <p>\begin{equation} \frac{\partial \phi}{\partial t}=\nabla \cdot \left(m\left(\phi\right) \nabla \mu \right) \label{split1} \end{equation} \begin{equation} \mu=W’\left(\phi \right) - \epsilon^2 \Delta \phi. \label{chempot} \end{equation}</p> <p>The splitting strategy was proposed by Elliot \cite{Elliott1989ASO} to avoid constraints related to the continuity of the basis functions when using the finite element method with a primal formulation. It also facilitates the imposition of the boundary conditions on a circular geometry, which is the case we are interested in. Unfortunately, this comes at a price of an additional degree of freedom introduced into the solver. Nevertheless, this reformulation reduces the complexity of the problem from the numerical point of view (see \cite{M2AN_2009__43_5_1003_0,Zee}).</p> <p>The spatial discretization of the governing equations is performed using isogeometric analysis (IGA) \cite{HUGHES20054135}. IGA is a generalization of the finite-element method that uses non-uniform rational B-splines (NURBS) to define the discrete spaces. A significant advantage of IGA with respect to finite element analysis is that the basis functions can be constructed with controllable continuity across the element boundaries, even on mapped geometries. The higher-order global continuity of the basis functions has been shown to produce higher accuracy than classical \(\mathcal{C}^0\)-continuous finite elements for the same number of degrees of freedom \cite{akkerman2008role,evans2009n}; and has been widely used to solve partial differential equations with high-order spatial derivatives \cite{GOMEZ20084333, GOMEZ20101828, GOMEZ201252}. Here, we will use \(\mathcal{C}^1\)-continuous quadratic splines for \(\phi\) and \(\mu\).</p> <h2 id="strong-form">Strong form</h2> <p>The strong form of the problem is formulated as follows: find \(\phi:\Omega \times \left[0,T\right]\rightarrow \mathbb{R}\) and \(\mu:\Omega \times \left[0,T\right]\rightarrow \mathbb{R}\) (being \(\mu\) an auxiliary variable) such that:</p> <p>\begin{equation} \frac{\partial \phi}{\partial t}=\nabla \cdot \left(m\left(\phi\right) \nabla \mu\right) \quad \text{in} \ \Omega \times \left[0,T\right], \label{st1} \end{equation} <br/> \begin{equation} \mu=W’\left(\phi\right)-\epsilon^2 \Delta \phi \quad \text{in} \ \Omega \times \left[0,T\right], \label{st2} \end{equation} \begin{equation} \phi=g \quad \text{on} \ \Gamma_g \times \left[0,T\right], \label{st3} \end{equation} \begin{equation} <br/> m\left(\phi\right)\epsilon^2\Delta\phi=q \quad \text{on} \ \Gamma_q \times \left[0,T\right], \label{st4} \end{equation} \begin{equation} \nabla\left(m\left(\phi\right)\mu\right)\cdot \mathbf{n}=s \quad \text{on} \ \Gamma_s \times \left[0,T\right], \label{st5} \end{equation} \begin{equation} \nabla\left(m\left(\phi\right)\phi\right)\cdot \mathbf{n}=h \quad \text{on} \ \Gamma_h \times \left[0,T\right], \label{st6}<br/> \end{equation} \begin{equation} \phi\left(\mathbf{x},0\right)=\phi_0\left(\mathbf{x}\right) \quad \text{in} \ \Omega. \label{st7}<br/> \end{equation}</p> <p>The double well function \(W\left(\phi\right)\) is defined such that it has two local minima, which makes possible the coexistence of the different phases. Some important examples of double well functions can be found in \cite{Gomez2}. In this work we will take the classical quartic potential</p> <p>\begin{equation} W\left(\phi\right)=\frac{1}{4}\left(1-\phi^2\right)^2, \end{equation}</p> <p>which is a qualitative approximation of the logarithmic double well.</p> <p>The mobility \(m\left(\phi\right)\), which can be linked with the diffusivity, controls the time scale of the problem. The most common approach is to set it as a constant, \(m\left(\phi\right)=m\). Such an approach is extensively applied in both analytical and numerical studies \cite{Rajagopal,polymer,CuetoFelgueroso2008ATF}. We will take \(m\) constant and equal to one as recommended in \cite{GOMEZ20084333}.</p> <p>The parameter \(\epsilon\) is a positive constant that defines the length scale for the problem. According to \cite{GOMEZ20084333}, the solution to the Cahn-Hilliard equations depends only on the dimensionless number</p> <p>\begin{equation} \alpha=\frac{L_0^2}{3\epsilon^2}, \end{equation}</p> <p>also referred to as sharpness parameter, where \(L_0\) is a length scale of the problem. Here, we will assume that \(L_0\) is a measure of the computational domain size. Without loss of generality, \(L_0=R_2=1.0\) will be the outer radius of the quarter of annulus. The sharpness parameter \(\alpha\) usually takes values in the range \(10^3-10^4\) \cite{GOMEZ20084333,Gomez2}. We will study the evolution of the phase-field variable for different values of \(\alpha\).</p> <h2 id="weak-form">Weak form</h2> <p>The strong form of our model defined by Eqns. \eqref{st1}–\eqref{st7} is now cast in weak form and discretized using the Galerkin approach. We will only work with free-flux boundary conditions. Thus, all boundary integrals will vanish in the weak form. Let us define the functional space \(\mathcal{V} \subset \mathcal{H}^1\), where \(\mathcal{H}^1\) is the Sobolev space of square-integrable functions with square-integrable first derivative in the domain \(\Omega\). To perform space discretization we introduce the finite-dimensional space \(\mathcal{V}^h\subset \mathcal{V}\), where \(\mathcal{V}^h ={\rm span}\left \{ N_A \right \}_{A=1,\dots,n_f}\) and \(n_f\) is the number of functions on the basis. The space of weighting functions will also be \(\mathcal{V}^h\), giving rise to a Galerkin formulation. We define discrete approximations to the problem’s solution denoted by \(\phi^h\) and \(\mu^h\). Their corresponding weighting functions are \(w_{\phi}^h\) and \(w_{\mu}^h\). Then, the variational formulation of Eqns. \eqref{st1}–\eqref{st7} over the finite-dimensional space $\mathcal{V}^h$ can be stated as follows: find \(\phi^h\), \(\mu^h\) \(\in \mathcal{V}^h\subset \mathcal{V}\) such that \(\forall\) \(w_{\phi}^h\), \(w_{\mu}^h\) \(\in \mathcal{V}^h \subset \mathcal{V}\)</p> <p>\begin{equation} \int_{\Omega}w_{\phi}^h\frac{\partial\phi}{\partial t}d\Omega +\int_{\Omega}m\nabla w_{\phi}^h \cdot \nabla \mu^h d\Omega =0, \label{wf1} \end{equation} \begin{equation} \int_{\Omega}w_{\mu}^h \mu^h d\Omega - \int_{\Omega}w_{\mu}^h \phi^h \left( \left(\phi^h \right)^2-1 \right)d\Omega- \int_{\Omega} \epsilon^2 \nabla \phi^h \cdot \nabla w_{\mu}^h d\Omega= 0. \end{equation}</p> <p>The solutions \(\phi^h\) and \(\mu^h\) are defined as \begin{equation} \phi^h(\mathbf{x},t)=\sum_{A=1}^{n_f}\phi_A\left ( t \right )N_A\left ( \mathbf{x} \right ), \end{equation} \begin{equation} \mu^h(\mathbf{x},t)=\sum_{A=1}^{n_f}\mu_A\left ( t \right )N_A\left ( \mathbf{x} \right ). \end{equation}</p> <h2 id="results">Results</h2> <p>We consider the split form of the Cahn-Hilliard equation on an open quarter-annulus domain \begin{equation} \Omega = { (x,y) \in \mathbb{R}^2 : x > 0, y > 0, R_1^2 < x^2 + y^2 < R_2^2 }, \end{equation} with inner radius \(R_1=0.5\) and outer radius \(R_2=1\). We employ a computational mesh comprised of \(128^2\) \(\mathcal{C}^1\)-quadratic elements; see the figure below.</p> <div class="container"> <div class="row justify-content-center mt-3"> <div class="col mt-3 mt-md-0 d-flex justify-content-center"> <div style="width: 50%;"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/mesh-480.webp 480w,/assets/img/mesh-800.webp 800w,/assets/img/mesh-1400.webp 1400w," sizes="95vw" type="image/webp"/> <img src="/assets/img/mesh.jpg" class="img-fluid rounded z-depth-1" width="100%" height="auto" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"/> </picture> </figure> </div> </div> </div> <div class="caption text-center"> Geometry definition and mesh used for the calculations. The circular inset shows a detail of the mesh. </div> </div> <p>The usual setup for numerical simulations of the Cahn-Hilliard equation is as follows: a randomly perturbed homogeneous solution is allowed to evolve in a sufficiently large computational domain with periodic boundary conditions. Periodic boundary conditions would make no sense in our case, since we are not considering a square domain. Instead, we prescribe free-flux boundary conditions on the entire domain for \(\phi\) and \(\mu\). The initial condition is given by \begin{equation} \phi_0\left(\mathbf{x}\right)=\bar{\phi}+r, \end{equation} where \(\bar{\phi}\) is a constant (referred to as the volume fraction) and \(r\) is a random variable with uniform distribution in \([-0.05,0.05]\).</p> <p>With this numerical setup we present two test cases which are defined by the sharpness parameter $\alpha$ and the volume fraction \(\bar{\phi}\). We take \(\alpha=1500\), \(\bar{\phi}=0.3\) for the first case, and \(\alpha=3000\), \(\bar{\phi}=0.1\) for the second case.</p> <p>The left figure below shows snapshots of the solution at different times for \(\alpha=1500\) and \(\bar{\phi}=0.3\). We observe two main processes that take place at very different time scales: phase separation and coarsening. The Cahn-Hilliard equation is unstable under random perturbations within the spinodal region, and, thus, two phases will develop. Phase separation takes place at \(t\approx 0.01\) s. The concentration is driven to the binodal points in a very fast process. After the phase separation, the coarsening process starts. During the coarsening process, bubbles merge with each other to reduce the surface energy, acquiring a circular shape. This process finishes when there are only two regions occupied by the two components of the mixture and they achieve the equilibrium topology. This is occurs at the steady state (data not shown).</p> <blockquote> <p>Note: Spinodal decomposition occurs when one thermodynamic phase spontaneusly (i.e., without nucleation) separates into two phases. The spinodal region is the region of the phase diagram where this occurs.</p> </blockquote> <p>The right figure below shows snapshots of the solution at different times for \(\alpha=1500\) and \(\bar{\phi}=0.3\). This test case is more challenging than the previous one, since the parameter \(\alpha\) is larger, and, thus, the interfaces are thinner. The parameter \(\alpha\) not only affects the thickness of the interface but also modifies the time scale of the problem. The separation process is faster for \(\alpha=3000\) than for \(\alpha=1500\). Phase separation in this case takes place at the beginning of the simulation. On the other hand, the coarsening process is slower. The bubbles start acquiring the equilibrium topology, that is, a circular shape, later in time compared to the previous example. The initial volume fraction \(\bar{\phi}\) plays an important role in the topology of the solution. The topology of the solution for \(\bar{\phi}=0.1\) shows a more connected pattern than that of the solution for \(\bar{\phi}=0.3\). In contrast to the case defined by \(\bar{\phi}=0.3\), for \(\bar{\phi}=0.1\) there is no nucleation, and the coarsening process is more continuous over the simulation.</p> <div class="row mt-3"> <div class="col-sm mt-3 mt-md-0"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/fig2_ch-480.webp 480w,/assets/img/fig2_ch-800.webp 800w,/assets/img/fig2_ch-1400.webp 1400w," sizes="95vw" type="image/webp"/> <img src="/assets/img/fig2_ch.jpg" class="img-fluid rounded z-depth-1" width="100%" height="auto" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"/> </picture> </figure> </div> <div class="col-sm mt-3 mt-md-0"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/fig3_ch-480.webp 480w,/assets/img/fig3_ch-800.webp 800w,/assets/img/fig3_ch-1400.webp 1400w," sizes="95vw" type="image/webp"/> <img src="/assets/img/fig3_ch.jpg" class="img-fluid rounded z-depth-1" width="100%" height="auto" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"/> </picture> </figure> </div> </div> <div class="caption"> Evolution of the phase-field from a randomly perturbed initial condition. Left and right show the snapshots over time for different initial conditions. </div> <h2 id="conclusions">Conclusions</h2> <p>We presented a numerical methodology to solve the Cahn-Hilliard equation on a quarter-annulus domain. Our computational method is based on isogeometric analysis, which allows us to generate the \(\mathcal{C}^1\)-continuous functions required to solve this equation in a variational framework. We adopt the split form of the equation to reduce its order, and facilitate the imposition of the boundary conditions on the circular geometry. Time discretazion is performed using the generalized \(\alpha\)-methods, which provides second order accuracy and \(A\)-stability. We analyzed the solution over time for different values of \(\alpha\) and \(\bar{\phi}\). The parameter \(\alpha\) affects the thickness of the interface and the time scale of the problem. As we increased \(\alpha\), the separation process was faster, and the thickness of the interface became thinner. The initial volume fraction \(\bar{\phi}\) modifies the topology of the solution. Smaller values of \(\bar{\phi}\) produce more continuous patterns without nucleation.</p> <h2 id="references">References</h2> <h2 class="bibliography">1958</h2> <ol class="bibliography"><li><div class="row"> <div class="col col-sm-2 abbr"> </div> <div id="Cahn-Hilliard" class="col-sm-8"> <div class="title"><a href="">Free Energy of a Nonuniform System. I. Interfacial Free Energy</a></div> <div class="author"> John W. Cahn, and John E. Hilliard </div> <div class="periodical"> <em>The Journal of Chemical Physics</em>, 1958 </div> <div class="periodical"> </div> <div class="links"> </div> </div> </div> </li></ol>]]></content><author><name></name></author><category term="Projects"/><category term="Cahn-Hilliard"/><category term="PDEs"/><category term="IGA"/><summary type="html"><![CDATA[We solve the Cahn-Hilliard equation on a quarter of annulus by means of isogeometric analysis. We adopt the split form of the equation to avoid introducing fourth-order operators and facilitate the imposition of the boundary conditions on the circular geometry,]]></summary></entry></feed> \ No newline at end of file diff --git a/index.html b/index.html index 5bee9f58..0b37e8c8 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ -<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title> Mario de Lucio's website </title> <meta name="author" content="Mario de Lucio"> <meta name="description" content="Mario de Lucio's website "> <meta name="keywords" content="Computational Mechanics, Multiphysics Simulation, Biomechanics, Transport phenomena"> <link rel="stylesheet" href="/assets/css/bootstrap.min.css?a4b3f509e79c54a512b890d73235ef04"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/mdbootstrap@4.20.0/css/mdb.min.css" integrity="sha256-jpjYvU3G3N6nrrBwXJoVEYI/0zw8htfFnhT9ljN3JJw=" crossorigin="anonymous"> <link defer rel="stylesheet" href="/assets/css/academicons.min.css?f0b7046b84e425c55f3463ac249818f5"> <link defer rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:100,300,400,500,700|Material+Icons&display=swap"> <link defer rel="stylesheet" href="/assets/css/jekyll-pygments-themes-github.css?591dab5a4e56573bf4ef7fd332894c99" media="" id="highlight_theme_light"> <link rel="shortcut icon" href="/assets/img/webicon.png?b6c2349ccb452e30289be5faff27b580"> <link rel="stylesheet" href="/assets/css/main.css?d41d8cd98f00b204e9800998ecf8427e"> <link rel="canonical" href="https://mdeluci.github.io/"> <script src="/assets/js/theme.js?9a0c749ec5240d9cda97bc72359a72c0"></script> <link defer rel="stylesheet" href="/assets/css/jekyll-pygments-themes-native.css?5847e5ed4a4568527aa6cfab446049ca" media="none" id="highlight_theme_dark"> <script>initTheme();</script> </head> <body class="fixed-top-nav "> <header> <nav id="navbar" class="navbar navbar-light navbar-expand-sm fixed-top" role="navigation"> <div class="container"> <button class="navbar-toggler collapsed ml-auto" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar top-bar"></span> <span class="icon-bar middle-bar"></span> <span class="icon-bar bottom-bar"></span> </button> <div class="collapse navbar-collapse text-right" id="navbarNav"> <ul class="navbar-nav ml-auto flex-nowrap"> <li class="nav-item active"> <a class="nav-link" href="/">About <span class="sr-only">(current)</span> </a> </li> <li class="nav-item "> <a class="nav-link" href="/publications/">Publications </a> </li> <li class="nav-item "> <a class="nav-link" href="/blog/">Blog </a> </li> <li class="nav-item "> <a class="nav-link" href="/cv/">CV </a> </li> <li class="nav-item "> <a class="nav-link" href="/teaching/">Teaching </a> </li> <li class="nav-item "> <a class="nav-link" href="/videos/">Videos </a> </li> <li class="nav-item"> <button id="search-toggle" title="Search" onclick="openSearchModal()"> <span class="nav-link">ctrl k <i class="ti ti-search"></i></span> </button> </li> <li class="toggle-container"> <button id="light-toggle" title="Change theme"> <i class="ti ti-sun-moon" id="light-toggle-system"></i> <i class="ti ti-moon-filled" id="light-toggle-dark"></i> <i class="ti ti-sun-filled" id="light-toggle-light"></i> </button> </li> </ul> </div> </div> </nav> <progress id="progress" value="0"> <div class="progress-container"> <span class="progress-bar"></span> </div> </progress> </header> <div class="container mt-5" role="main"> <div class="post"> <header class="post-header"> <h1 class="post-title"> Mario de Lucio's website </h1> <p class="desc"></p> </header> <article> <div class="profile float-right"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/prof_pic_Mario-480.webp 480w,/assets/img/prof_pic_Mario-800.webp 800w,/assets/img/prof_pic_Mario-1400.webp 1400w," sizes="(min-width: 930px) 270.0px, (min-width: 576px) 30vw, 95vw" type="image/webp"> <img src="/assets/img/prof_pic_Mario.jpg?74227586374c723e38b6c32a19e21904" class="img-fluid z-depth-1 rounded" width="100%" height="auto" alt="prof_pic_Mario.jpg" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </source></picture> </figure> </div> <div class="clearfix"> <p>I am a Research Scientist in the <a href="https://www.purdue.edu/research/rche/" rel="external nofollow noopener" target="_blank">Regenstrief Center for Healthcare Engineering</a> at Purdue University working with <a href="https://vlachosresearch.org/pub-author/pavlos-p-vlachos/" rel="external nofollow noopener" target="_blank">Prof. Pavlos Vlachos</a> and <a href="https://engineering.purdue.edu/gomez/hectorgomez" rel="external nofollow noopener" target="_blank">Prof. Hector Gomez</a>.</p> <p>I developed <code class="language-plaintext highlighter-rouge">high-fidelity numerical models</code> to solve real-world problems in civil, mechanical, and biomedical engineering. My research interests include computational mechanics, poromechanics, soft tissue biomechanics, and transport phenomena.</p> <p>In my <a href="https://hammer.purdue.edu/articles/thesis/Numerical_Simulation_and_Poromechanical_Modeling_of_Subcutaneous_Injection_of_Monoclonal_Antibodies/25674240" rel="external nofollow noopener" target="_blank">PhD thesis</a>, I focused on the transport and mechanical processes behind subcutaneous injection for self-administration of biotherapeutics, particularly monoclonal antibodies (mAbs). My research developed a high-fidelity computational framework to study large-volume subcutaneous injection of mAbs, combining <code class="language-plaintext highlighter-rouge">large-deformation mechanics</code> with <code class="language-plaintext highlighter-rouge">drug transport and absorption</code>. My simulations provided essential insights into improving subcutaneous drug administration and developing patient-centered injection devices and techniques.</p> </div> <h2> <a href="/news/" style="color: inherit">news</a> </h2> <div class="news"> <div class="table-responsive"> <table class="table table-sm table-borderless"> <tr> <th scope="row" style="width: 20%">Apr 03, 2024</th> <td> <a class="news-title" href="/news/Thesis_defense/">Mario succesfully defended his PhD thesis</a> </td> </tr> <tr> <th scope="row" style="width: 20%">Nov 10, 2023</th> <td> <a class="news-title" href="/news/Hillberry/">Mario is awarded the Ben M. Hillberry Graduate Scholarship</a> </td> </tr> <tr> <th scope="row" style="width: 20%">Jul 22, 2023</th> <td> <a class="news-title" href="/news/TBE/">Mario de Lucio is selected as a 2023 Trailblazers in Engineering Fellow by Purdue College of Engineering.</a> </td> </tr> </table> </div> </div> <h2> <a href="/publications/" style="color: inherit">selected publications</a> </h2> <div class="publications"> <h2 class="bibliography">2024</h2> <ol class="bibliography"><li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/Jacques1-480.webp 480w,/assets/img/publication_preview/Jacques1-800.webp 800w,/assets/img/publication_preview/Jacques1-1400.webp 1400w," sizes="200px" type="image/webp"> <img src="/assets/img/publication_preview/Jacques1.png" class="preview z-depth-1 rounded" width="100%" height="auto" alt="Jacques1.png" data-zoomable loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </source></picture> </figure> </div> <div id="Jacques1" class="col-sm-8"> #<div class="title">Poroelastic Characterization and Modeling of Subcutaneous Tissue Under Confined Compression</div> <div class="title"><a href="">Poroelastic Characterization and Modeling of Subcutaneous Tissue Under Confined Compression</a></div> <div class="author"> J. Barsimantov, J. Payne, <em>Mario de Lucio</em>, M. Hakim, and <span class="more-authors" title="click to view 3 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '3 more authors' ? 'H. Gomez, L. Solorio, A. B. Tepole' : '3 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.text(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">3 more authors</span> </div> <div class="periodical"> <em>Ann Biomed Eng</em>, 2024 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Subcutaneous tissue mechanics are important for drug delivery. Yet, even though this material is poroelastic, its mechanical characterization has focused on its hyperelastic response. Moreover, advancement in subcutaneous drug delivery requires effective tissue mimics such as hydrogels for which similar gaps of poroelastic data exist. Porcine subcutaneous samples and gelatin hydrogels were tested under confined compression at physiological conditions and strain rates of 0.01% /s in 5% strain steps with 2600 s of stress relaxation between loading steps. Force-time data were used in an inverse finite element approach to obtain material parameters. Tissues and gels were modeled as porous neo-Hookean materials with properties specified via shear modulus, effective solid volume fraction, initial hydraulic permeability, permeability exponent, and normalized viscous relaxation moduli. The constitutive model was implemented into an isogeometric analysis (IGA) framework to study subcutaneous injection. Subcutaneous tissue exhibited an initial spike in stress due to compression of the solid and fluid pressure buildup, with rapid relaxation explained by fluid drainage, and longer time-scale relaxation explained by viscous dissipation. The inferred parameters aligned with the ranges reported in the literature. Hydraulic permeability, the most important parameter for drug delivery, was in the range (0.142,0.203) mm4/(N s). With these parameters, IGA simulations showed peak stresses due to a 1-mL injection to reach 48.8 kPa at the site of injection, decaying after drug volume disperses into the tissue. The poro-hyper-viscoelastic neo-Hookean model captures the confined compression response of subcutaneous tissue and gelatin hydrogels. IGA implementation enables predictive simulations of drug delivery.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">Jacques1</span><span class="p">,</span> +<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title> Mario de Lucio's website </title> <meta name="author" content="Mario de Lucio"> <meta name="description" content="Mario de Lucio's website "> <meta name="keywords" content="Computational Mechanics, Multiphysics Simulation, Biomechanics, Transport phenomena"> <link rel="stylesheet" href="/assets/css/bootstrap.min.css?a4b3f509e79c54a512b890d73235ef04"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/mdbootstrap@4.20.0/css/mdb.min.css" integrity="sha256-jpjYvU3G3N6nrrBwXJoVEYI/0zw8htfFnhT9ljN3JJw=" crossorigin="anonymous"> <link defer rel="stylesheet" href="/assets/css/academicons.min.css?f0b7046b84e425c55f3463ac249818f5"> <link defer rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:100,300,400,500,700|Material+Icons&display=swap"> <link defer rel="stylesheet" href="/assets/css/jekyll-pygments-themes-github.css?591dab5a4e56573bf4ef7fd332894c99" media="" id="highlight_theme_light"> <link rel="shortcut icon" href="/assets/img/webicon.png?b6c2349ccb452e30289be5faff27b580"> <link rel="stylesheet" href="/assets/css/main.css?d41d8cd98f00b204e9800998ecf8427e"> <link rel="canonical" href="https://mdeluci.github.io/"> <script src="/assets/js/theme.js?9a0c749ec5240d9cda97bc72359a72c0"></script> <link defer rel="stylesheet" href="/assets/css/jekyll-pygments-themes-native.css?5847e5ed4a4568527aa6cfab446049ca" media="none" id="highlight_theme_dark"> <script>initTheme();</script> </head> <body class="fixed-top-nav "> <header> <nav id="navbar" class="navbar navbar-light navbar-expand-sm fixed-top" role="navigation"> <div class="container"> <button class="navbar-toggler collapsed ml-auto" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar top-bar"></span> <span class="icon-bar middle-bar"></span> <span class="icon-bar bottom-bar"></span> </button> <div class="collapse navbar-collapse text-right" id="navbarNav"> <ul class="navbar-nav ml-auto flex-nowrap"> <li class="nav-item active"> <a class="nav-link" href="/">About <span class="sr-only">(current)</span> </a> </li> <li class="nav-item "> <a class="nav-link" href="/publications/">Publications </a> </li> <li class="nav-item "> <a class="nav-link" href="/blog/">Blog </a> </li> <li class="nav-item "> <a class="nav-link" href="/cv/">CV </a> </li> <li class="nav-item "> <a class="nav-link" href="/teaching/">Teaching </a> </li> <li class="nav-item "> <a class="nav-link" href="/videos/">Videos </a> </li> <li class="nav-item"> <button id="search-toggle" title="Search" onclick="openSearchModal()"> <span class="nav-link">ctrl k <i class="ti ti-search"></i></span> </button> </li> <li class="toggle-container"> <button id="light-toggle" title="Change theme"> <i class="ti ti-sun-moon" id="light-toggle-system"></i> <i class="ti ti-moon-filled" id="light-toggle-dark"></i> <i class="ti ti-sun-filled" id="light-toggle-light"></i> </button> </li> </ul> </div> </div> </nav> <progress id="progress" value="0"> <div class="progress-container"> <span class="progress-bar"></span> </div> </progress> </header> <div class="container mt-5" role="main"> <div class="post"> <header class="post-header"> <h1 class="post-title"> Mario de Lucio's website </h1> <p class="desc"></p> </header> <article> <div class="profile float-right"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/prof_pic_Mario-480.webp 480w,/assets/img/prof_pic_Mario-800.webp 800w,/assets/img/prof_pic_Mario-1400.webp 1400w," sizes="(min-width: 930px) 270.0px, (min-width: 576px) 30vw, 95vw" type="image/webp"> <img src="/assets/img/prof_pic_Mario.jpg?74227586374c723e38b6c32a19e21904" class="img-fluid z-depth-1 rounded" width="100%" height="auto" alt="prof_pic_Mario.jpg" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </source></picture> </figure> </div> <div class="clearfix"> <p>I am a Research Scientist in the <a href="https://www.purdue.edu/research/rche/" rel="external nofollow noopener" target="_blank">Regenstrief Center for Healthcare Engineering</a> at Purdue University working with <a href="https://vlachosresearch.org/pub-author/pavlos-p-vlachos/" rel="external nofollow noopener" target="_blank">Prof. Pavlos Vlachos</a> and <a href="https://engineering.purdue.edu/gomez/hectorgomez" rel="external nofollow noopener" target="_blank">Prof. Hector Gomez</a>.</p> <p>I developed <code class="language-plaintext highlighter-rouge">high-fidelity numerical models</code> to solve real-world problems in civil, mechanical, and biomedical engineering. My research interests include computational mechanics, poromechanics, soft tissue biomechanics, and transport phenomena.</p> <p>In my <a href="https://hammer.purdue.edu/articles/thesis/Numerical_Simulation_and_Poromechanical_Modeling_of_Subcutaneous_Injection_of_Monoclonal_Antibodies/25674240" rel="external nofollow noopener" target="_blank">PhD thesis</a>, I focused on the transport and mechanical processes behind subcutaneous injection for self-administration of biotherapeutics, particularly monoclonal antibodies (mAbs). My research developed a high-fidelity computational framework to study large-volume subcutaneous injection of mAbs, combining <code class="language-plaintext highlighter-rouge">large-deformation mechanics</code> with <code class="language-plaintext highlighter-rouge">drug transport and absorption</code>. My simulations provided essential insights into improving subcutaneous drug administration and developing patient-centered injection devices and techniques.</p> </div> <h2> <a href="/news/" style="color: inherit">news</a> </h2> <div class="news"> <div class="table-responsive"> <table class="table table-sm table-borderless"> <tr> <th scope="row" style="width: 20%">Apr 03, 2024</th> <td> <a class="news-title" href="/news/Thesis_defense/">Mario succesfully defended his PhD thesis</a> </td> </tr> <tr> <th scope="row" style="width: 20%">Nov 10, 2023</th> <td> <a class="news-title" href="/news/Hillberry/">Mario is awarded the Ben M. Hillberry Graduate Scholarship</a> </td> </tr> <tr> <th scope="row" style="width: 20%">Jul 22, 2023</th> <td> <a class="news-title" href="/news/TBE/">Mario de Lucio is selected as a 2023 Trailblazers in Engineering Fellow by Purdue College of Engineering.</a> </td> </tr> </table> </div> </div> <h2> <a href="/publications/" style="color: inherit">selected publications</a> </h2> <div class="publications"> <h2 class="bibliography">2024</h2> <ol class="bibliography"><li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/Jacques1-480.webp 480w,/assets/img/publication_preview/Jacques1-800.webp 800w,/assets/img/publication_preview/Jacques1-1400.webp 1400w," sizes="200px" type="image/webp"> <img src="/assets/img/publication_preview/Jacques1.png" class="preview z-depth-1 rounded" width="100%" height="auto" alt="Jacques1.png" data-zoomable loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </source></picture> </figure> </div> <div id="Jacques1" class="col-sm-8"> <div class="title"><a href="">Poroelastic Characterization and Modeling of Subcutaneous Tissue Under Confined Compression</a></div> <div class="author"> J. Barsimantov, J. Payne, <em>Mario de Lucio</em>, M. Hakim, and <span class="more-authors" title="click to view 3 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '3 more authors' ? 'H. Gomez, L. Solorio, A. B. Tepole' : '3 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.text(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">3 more authors</span> </div> <div class="periodical"> <em>Ann Biomed Eng</em>, 2024 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Subcutaneous tissue mechanics are important for drug delivery. Yet, even though this material is poroelastic, its mechanical characterization has focused on its hyperelastic response. Moreover, advancement in subcutaneous drug delivery requires effective tissue mimics such as hydrogels for which similar gaps of poroelastic data exist. Porcine subcutaneous samples and gelatin hydrogels were tested under confined compression at physiological conditions and strain rates of 0.01% /s in 5% strain steps with 2600 s of stress relaxation between loading steps. Force-time data were used in an inverse finite element approach to obtain material parameters. Tissues and gels were modeled as porous neo-Hookean materials with properties specified via shear modulus, effective solid volume fraction, initial hydraulic permeability, permeability exponent, and normalized viscous relaxation moduli. The constitutive model was implemented into an isogeometric analysis (IGA) framework to study subcutaneous injection. Subcutaneous tissue exhibited an initial spike in stress due to compression of the solid and fluid pressure buildup, with rapid relaxation explained by fluid drainage, and longer time-scale relaxation explained by viscous dissipation. The inferred parameters aligned with the ranges reported in the literature. Hydraulic permeability, the most important parameter for drug delivery, was in the range (0.142,0.203) mm4/(N s). With these parameters, IGA simulations showed peak stresses due to a 1-mL injection to reach 48.8 kPa at the site of injection, decaying after drug volume disperses into the tissue. The poro-hyper-viscoelastic neo-Hookean model captures the confined compression response of subcutaneous tissue and gelatin hydrogels. IGA implementation enables predictive simulations of drug delivery.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">Jacques1</span><span class="p">,</span> <span class="na">title</span> <span class="p">=</span> <span class="s">{Poroelastic Characterization and Modeling of Subcutaneous Tissue Under Confined Compression}</span><span class="p">,</span> <span class="na">author</span> <span class="p">=</span> <span class="s">{Barsimantov, J. and Payne, J. and {de Lucio}, Mario and Hakim, M. and Gomez, H. and Solorio, L. and Tepole, A. B.}</span><span class="p">,</span> <span class="na">journal</span> <span class="p">=</span> <span class="s">{Ann Biomed Eng}</span><span class="p">,</span> diff --git a/publications/index.html b/publications/index.html index e8fb2cfd..abbe8951 100644 --- a/publications/index.html +++ b/publications/index.html @@ -1,18 +1,18 @@ -<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title> Publications | Mario de Lucio's website </title> <meta name="author" content="Mario de Lucio"> <meta name="description" content="Ordered by most recent."> <meta name="keywords" content="Computational Mechanics, Multiphysics Simulation, Biomechanics, Transport phenomena"> <link rel="stylesheet" href="/assets/css/bootstrap.min.css?a4b3f509e79c54a512b890d73235ef04"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/mdbootstrap@4.20.0/css/mdb.min.css" integrity="sha256-jpjYvU3G3N6nrrBwXJoVEYI/0zw8htfFnhT9ljN3JJw=" crossorigin="anonymous"> <link defer rel="stylesheet" href="/assets/css/academicons.min.css?f0b7046b84e425c55f3463ac249818f5"> <link defer rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:100,300,400,500,700|Material+Icons&display=swap"> <link defer rel="stylesheet" href="/assets/css/jekyll-pygments-themes-github.css?591dab5a4e56573bf4ef7fd332894c99" media="" id="highlight_theme_light"> <link rel="shortcut icon" href="/assets/img/webicon.png?b6c2349ccb452e30289be5faff27b580"> <link rel="stylesheet" href="/assets/css/main.css?d41d8cd98f00b204e9800998ecf8427e"> <link rel="canonical" href="https://mdeluci.github.io/publications/"> <script src="/assets/js/theme.js?9a0c749ec5240d9cda97bc72359a72c0"></script> <link defer rel="stylesheet" href="/assets/css/jekyll-pygments-themes-native.css?5847e5ed4a4568527aa6cfab446049ca" media="none" id="highlight_theme_dark"> <script>initTheme();</script> </head> <body class="fixed-top-nav "> <header> <nav id="navbar" class="navbar navbar-light navbar-expand-sm fixed-top" role="navigation"> <div class="container"> <a class="navbar-brand title font-weight-lighter" href="/"> Mario de Lucio's website </a> <button class="navbar-toggler collapsed ml-auto" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar top-bar"></span> <span class="icon-bar middle-bar"></span> <span class="icon-bar bottom-bar"></span> </button> <div class="collapse navbar-collapse text-right" id="navbarNav"> <ul class="navbar-nav ml-auto flex-nowrap"> <li class="nav-item "> <a class="nav-link" href="/">About </a> </li> <li class="nav-item active"> <a class="nav-link" href="/publications/">Publications <span class="sr-only">(current)</span> </a> </li> <li class="nav-item "> <a class="nav-link" href="/blog/">Blog </a> </li> <li class="nav-item "> <a class="nav-link" href="/cv/">CV </a> </li> <li class="nav-item "> <a class="nav-link" href="/teaching/">Teaching </a> </li> <li class="nav-item "> <a class="nav-link" href="/videos/">Videos </a> </li> <li class="nav-item"> <button id="search-toggle" title="Search" onclick="openSearchModal()"> <span class="nav-link">ctrl k <i class="ti ti-search"></i></span> </button> </li> <li class="toggle-container"> <button id="light-toggle" title="Change theme"> <i class="ti ti-sun-moon" id="light-toggle-system"></i> <i class="ti ti-moon-filled" id="light-toggle-dark"></i> <i class="ti ti-sun-filled" id="light-toggle-light"></i> </button> </li> </ul> </div> </div> </nav> <progress id="progress" value="0"> <div class="progress-container"> <span class="progress-bar"></span> </div> </progress> </header> <div class="container mt-5" role="main"> <div class="post"> <header class="post-header"> <h1 class="post-title">Publications</h1> <p class="post-description">Ordered by most recent.</p> </header> <article> <div class="publications"> <h2 class="bibliography">2024</h2> <ol class="bibliography"> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/deLuciothesis-480.webp 480w,/assets/img/publication_preview/deLuciothesis-800.webp 800w,/assets/img/publication_preview/deLuciothesis-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/deLuciothesis.jpg" class="preview z-depth-1 rounded" width="100%" height="auto" alt="deLuciothesis.jpg" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="DeLucioThesis" class="col-sm-8"> #<div class="title">Numerical Simulation and Poromechanical Modeling of Subcutaneous Injection of Monoclonal Antibodies</div> <div class="title"><a href="https://hammer.purdue.edu/articles/thesis/Numerical_Simulation_and_Poromechanical_Modeling_of_Subcutaneous_Injection_of_Monoclonal_Antibodies/25674240/1" rel="external nofollow noopener" target="_blank">Numerical Simulation and Poromechanical Modeling of Subcutaneous Injection of Monoclonal Antibodies</a></div> <div class="author"> <em>Mario de Lucio</em> </div> <div class="periodical"> <em>Purdue University Graduate School</em> , 2024 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Subcutaneous injection for self-administration of biotherapeutics, such as monoclonal antibodies (mAbs), is becoming increasingly prominent within the pharmaceutical sector due to its benefits in patient compliance and cost-effectiveness. The success of this drug delivery process depends on the coupled mechanical and transport phenomena within the subcutaneous tissue, both during and after the injection. Yet, the details of these processes are not well-elucidated, sparking a surge in computational efforts to fill this knowledge gap. Remarkably, there are very few computational studies on subcutaneous injection into three-dimensional porous media that account for large tissue deformations, drug transport and absorption, the use medical devices, and human factors. Here, we develop a high-fidelity computational framework to study large-volume subcutaneous injection of mAbs. Our investigation begins with a linear poroelastic model without drug transport, which we employ to study the effect of tissue deformation on injection dynamics. We progressively enhance this model, advancing to a nonlinear porohyperelastic framework that include drug transport and absorption. To capture the anisotropy of subcutaneous tissue, we employ a fibril-reinforced porohyperelastic model. Furthermore, we integrate the multi-layered structure of skin tissue by creating data-driven geometrical models of the tissue layers derived from histological data. Our analysis explores the impact of different handheld autoinjectors on the injection dynamics for various patient-applied forces. We investigate the effect of different pre-injection techniques, such as the pinch and stretch methods, on the drug transport and absorption. Additionally, we evaluate the impact of several physiological variables, including flow rate, injection depth, and body mass index. Our simulations yield crucial insights essential for comprehending and improving subcutaneous drug administration of mAbs. Additionally, they offer a deeper understanding of the human aspect of the injection procedure, thereby paving the way for advancements in the development of patient-centered injection devices and techniques.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@phdthesis</span><span class="p">{</span><span class="nl">DeLucioThesis</span><span class="p">,</span> +<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title> Publications | Mario de Lucio's website </title> <meta name="author" content="Mario de Lucio"> <meta name="description" content="Ordered by most recent."> <meta name="keywords" content="Computational Mechanics, Multiphysics Simulation, Biomechanics, Transport phenomena"> <link rel="stylesheet" href="/assets/css/bootstrap.min.css?a4b3f509e79c54a512b890d73235ef04"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/mdbootstrap@4.20.0/css/mdb.min.css" integrity="sha256-jpjYvU3G3N6nrrBwXJoVEYI/0zw8htfFnhT9ljN3JJw=" crossorigin="anonymous"> <link defer rel="stylesheet" href="/assets/css/academicons.min.css?f0b7046b84e425c55f3463ac249818f5"> <link defer rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:100,300,400,500,700|Material+Icons&display=swap"> <link defer rel="stylesheet" href="/assets/css/jekyll-pygments-themes-github.css?591dab5a4e56573bf4ef7fd332894c99" media="" id="highlight_theme_light"> <link rel="shortcut icon" href="/assets/img/webicon.png?b6c2349ccb452e30289be5faff27b580"> <link rel="stylesheet" href="/assets/css/main.css?d41d8cd98f00b204e9800998ecf8427e"> <link rel="canonical" href="https://mdeluci.github.io/publications/"> <script src="/assets/js/theme.js?9a0c749ec5240d9cda97bc72359a72c0"></script> <link defer rel="stylesheet" href="/assets/css/jekyll-pygments-themes-native.css?5847e5ed4a4568527aa6cfab446049ca" media="none" id="highlight_theme_dark"> <script>initTheme();</script> </head> <body class="fixed-top-nav "> <header> <nav id="navbar" class="navbar navbar-light navbar-expand-sm fixed-top" role="navigation"> <div class="container"> <a class="navbar-brand title font-weight-lighter" href="/"> Mario de Lucio's website </a> <button class="navbar-toggler collapsed ml-auto" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar top-bar"></span> <span class="icon-bar middle-bar"></span> <span class="icon-bar bottom-bar"></span> </button> <div class="collapse navbar-collapse text-right" id="navbarNav"> <ul class="navbar-nav ml-auto flex-nowrap"> <li class="nav-item "> <a class="nav-link" href="/">About </a> </li> <li class="nav-item active"> <a class="nav-link" href="/publications/">Publications <span class="sr-only">(current)</span> </a> </li> <li class="nav-item "> <a class="nav-link" href="/blog/">Blog </a> </li> <li class="nav-item "> <a class="nav-link" href="/cv/">CV </a> </li> <li class="nav-item "> <a class="nav-link" href="/teaching/">Teaching </a> </li> <li class="nav-item "> <a class="nav-link" href="/videos/">Videos </a> </li> <li class="nav-item"> <button id="search-toggle" title="Search" onclick="openSearchModal()"> <span class="nav-link">ctrl k <i class="ti ti-search"></i></span> </button> </li> <li class="toggle-container"> <button id="light-toggle" title="Change theme"> <i class="ti ti-sun-moon" id="light-toggle-system"></i> <i class="ti ti-moon-filled" id="light-toggle-dark"></i> <i class="ti ti-sun-filled" id="light-toggle-light"></i> </button> </li> </ul> </div> </div> </nav> <progress id="progress" value="0"> <div class="progress-container"> <span class="progress-bar"></span> </div> </progress> </header> <div class="container mt-5" role="main"> <div class="post"> <header class="post-header"> <h1 class="post-title">Publications</h1> <p class="post-description">Ordered by most recent.</p> </header> <article> <div class="publications"> <h2 class="bibliography">2024</h2> <ol class="bibliography"> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/deLuciothesis-480.webp 480w,/assets/img/publication_preview/deLuciothesis-800.webp 800w,/assets/img/publication_preview/deLuciothesis-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/deLuciothesis.jpg" class="preview z-depth-1 rounded" width="100%" height="auto" alt="deLuciothesis.jpg" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="DeLucioThesis" class="col-sm-8"> <div class="title"><a href="https://hammer.purdue.edu/articles/thesis/Numerical_Simulation_and_Poromechanical_Modeling_of_Subcutaneous_Injection_of_Monoclonal_Antibodies/25674240/1" rel="external nofollow noopener" target="_blank">Numerical Simulation and Poromechanical Modeling of Subcutaneous Injection of Monoclonal Antibodies</a></div> <div class="author"> <em>Mario de Lucio</em> </div> <div class="periodical"> <em>Purdue University Graduate School</em> , 2024 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Subcutaneous injection for self-administration of biotherapeutics, such as monoclonal antibodies (mAbs), is becoming increasingly prominent within the pharmaceutical sector due to its benefits in patient compliance and cost-effectiveness. The success of this drug delivery process depends on the coupled mechanical and transport phenomena within the subcutaneous tissue, both during and after the injection. Yet, the details of these processes are not well-elucidated, sparking a surge in computational efforts to fill this knowledge gap. Remarkably, there are very few computational studies on subcutaneous injection into three-dimensional porous media that account for large tissue deformations, drug transport and absorption, the use medical devices, and human factors. Here, we develop a high-fidelity computational framework to study large-volume subcutaneous injection of mAbs. Our investigation begins with a linear poroelastic model without drug transport, which we employ to study the effect of tissue deformation on injection dynamics. We progressively enhance this model, advancing to a nonlinear porohyperelastic framework that include drug transport and absorption. To capture the anisotropy of subcutaneous tissue, we employ a fibril-reinforced porohyperelastic model. Furthermore, we integrate the multi-layered structure of skin tissue by creating data-driven geometrical models of the tissue layers derived from histological data. Our analysis explores the impact of different handheld autoinjectors on the injection dynamics for various patient-applied forces. We investigate the effect of different pre-injection techniques, such as the pinch and stretch methods, on the drug transport and absorption. Additionally, we evaluate the impact of several physiological variables, including flow rate, injection depth, and body mass index. Our simulations yield crucial insights essential for comprehending and improving subcutaneous drug administration of mAbs. Additionally, they offer a deeper understanding of the human aspect of the injection procedure, thereby paving the way for advancements in the development of patient-centered injection devices and techniques.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@phdthesis</span><span class="p">{</span><span class="nl">DeLucioThesis</span><span class="p">,</span> <span class="na">url</span> <span class="p">=</span> <span class="s">{https://hammer.purdue.edu/articles/thesis/Numerical_Simulation_and_Poromechanical_Modeling_of_Subcutaneous_Injection_of_Monoclonal_Antibodies/25674240/1}</span><span class="p">,</span> <span class="na">title</span> <span class="p">=</span> <span class="s">{Numerical Simulation and Poromechanical Modeling of Subcutaneous Injection of Monoclonal Antibodies}</span><span class="p">,</span> <span class="na">author</span> <span class="p">=</span> <span class="s">{{de Lucio}, Mario}</span><span class="p">,</span> <span class="na">school</span> <span class="p">=</span> <span class="s">{Purdue University Graduate School}</span><span class="p">,</span> <span class="na">year</span> <span class="p">=</span> <span class="s">{2024}</span><span class="p">,</span> <span class="na">doi</span> <span class="p">=</span> <span class="s">{https://doi.org/10.25394/PGS.25674240.v1}</span> -<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/Jacques1-480.webp 480w,/assets/img/publication_preview/Jacques1-800.webp 800w,/assets/img/publication_preview/Jacques1-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/Jacques1.png" class="preview z-depth-1 rounded" width="100%" height="auto" alt="Jacques1.png" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="Jacques1" class="col-sm-8"> #<div class="title">Poroelastic Characterization and Modeling of Subcutaneous Tissue Under Confined Compression</div> <div class="title"><a href="">Poroelastic Characterization and Modeling of Subcutaneous Tissue Under Confined Compression</a></div> <div class="author"> J. Barsimantov, J. Payne, <em>Mario de Lucio</em>, M. Hakim, and <span class="more-authors" title="click to view 3 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '3 more authors' ? 'H. Gomez, L. Solorio, A. B. Tepole' : '3 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.text(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">3 more authors</span> </div> <div class="periodical"> <em>Ann Biomed Eng</em>, 2024 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Subcutaneous tissue mechanics are important for drug delivery. Yet, even though this material is poroelastic, its mechanical characterization has focused on its hyperelastic response. Moreover, advancement in subcutaneous drug delivery requires effective tissue mimics such as hydrogels for which similar gaps of poroelastic data exist. Porcine subcutaneous samples and gelatin hydrogels were tested under confined compression at physiological conditions and strain rates of 0.01% /s in 5% strain steps with 2600 s of stress relaxation between loading steps. Force-time data were used in an inverse finite element approach to obtain material parameters. Tissues and gels were modeled as porous neo-Hookean materials with properties specified via shear modulus, effective solid volume fraction, initial hydraulic permeability, permeability exponent, and normalized viscous relaxation moduli. The constitutive model was implemented into an isogeometric analysis (IGA) framework to study subcutaneous injection. Subcutaneous tissue exhibited an initial spike in stress due to compression of the solid and fluid pressure buildup, with rapid relaxation explained by fluid drainage, and longer time-scale relaxation explained by viscous dissipation. The inferred parameters aligned with the ranges reported in the literature. Hydraulic permeability, the most important parameter for drug delivery, was in the range (0.142,0.203) mm4/(N s). With these parameters, IGA simulations showed peak stresses due to a 1-mL injection to reach 48.8 kPa at the site of injection, decaying after drug volume disperses into the tissue. The poro-hyper-viscoelastic neo-Hookean model captures the confined compression response of subcutaneous tissue and gelatin hydrogels. IGA implementation enables predictive simulations of drug delivery.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">Jacques1</span><span class="p">,</span> +<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/Jacques1-480.webp 480w,/assets/img/publication_preview/Jacques1-800.webp 800w,/assets/img/publication_preview/Jacques1-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/Jacques1.png" class="preview z-depth-1 rounded" width="100%" height="auto" alt="Jacques1.png" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="Jacques1" class="col-sm-8"> <div class="title"><a href="">Poroelastic Characterization and Modeling of Subcutaneous Tissue Under Confined Compression</a></div> <div class="author"> J. Barsimantov, J. Payne, <em>Mario de Lucio</em>, M. Hakim, and <span class="more-authors" title="click to view 3 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '3 more authors' ? 'H. Gomez, L. Solorio, A. B. Tepole' : '3 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.text(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">3 more authors</span> </div> <div class="periodical"> <em>Ann Biomed Eng</em>, 2024 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Subcutaneous tissue mechanics are important for drug delivery. Yet, even though this material is poroelastic, its mechanical characterization has focused on its hyperelastic response. Moreover, advancement in subcutaneous drug delivery requires effective tissue mimics such as hydrogels for which similar gaps of poroelastic data exist. Porcine subcutaneous samples and gelatin hydrogels were tested under confined compression at physiological conditions and strain rates of 0.01% /s in 5% strain steps with 2600 s of stress relaxation between loading steps. Force-time data were used in an inverse finite element approach to obtain material parameters. Tissues and gels were modeled as porous neo-Hookean materials with properties specified via shear modulus, effective solid volume fraction, initial hydraulic permeability, permeability exponent, and normalized viscous relaxation moduli. The constitutive model was implemented into an isogeometric analysis (IGA) framework to study subcutaneous injection. Subcutaneous tissue exhibited an initial spike in stress due to compression of the solid and fluid pressure buildup, with rapid relaxation explained by fluid drainage, and longer time-scale relaxation explained by viscous dissipation. The inferred parameters aligned with the ranges reported in the literature. Hydraulic permeability, the most important parameter for drug delivery, was in the range (0.142,0.203) mm4/(N s). With these parameters, IGA simulations showed peak stresses due to a 1-mL injection to reach 48.8 kPa at the site of injection, decaying after drug volume disperses into the tissue. The poro-hyper-viscoelastic neo-Hookean model captures the confined compression response of subcutaneous tissue and gelatin hydrogels. IGA implementation enables predictive simulations of drug delivery.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">Jacques1</span><span class="p">,</span> <span class="na">title</span> <span class="p">=</span> <span class="s">{Poroelastic Characterization and Modeling of Subcutaneous Tissue Under Confined Compression}</span><span class="p">,</span> <span class="na">author</span> <span class="p">=</span> <span class="s">{Barsimantov, J. and Payne, J. and {de Lucio}, Mario and Hakim, M. and Gomez, H. and Solorio, L. and Tepole, A. B.}</span><span class="p">,</span> <span class="na">journal</span> <span class="p">=</span> <span class="s">{Ann Biomed Eng}</span><span class="p">,</span> <span class="na">year</span> <span class="p">=</span> <span class="s">{2024}</span><span class="p">,</span> <span class="na">doi</span> <span class="p">=</span> <span class="s">{10.1007/s10439-024-03477-1}</span><span class="p">,</span> <span class="na">publisher</span> <span class="p">=</span> <span class="s">{Springer}</span> -<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> </ol> <h2 class="bibliography">2023</h2> <ol class="bibliography"> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/Hao2-480.webp 480w,/assets/img/publication_preview/Hao2-800.webp 800w,/assets/img/publication_preview/Hao2-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/Hao2.jpg" class="preview z-depth-1 rounded" width="100%" height="auto" alt="Hao2.jpg" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="Hao2" class="col-sm-8"> #<div class="title">MPET2: a multi-network poroelastic and transport theory for predicting absorption of monoclonal antibodies delivered by subcutaneous injection</div> <div class="title"><a href="">MPET2: a multi-network poroelastic and transport theory for predicting absorption of monoclonal antibodies delivered by subcutaneous injection</a></div> <div class="author"> Hao Wang, Tianyi Hu, Yu Leng, <em>Mario de Lucio</em>, and <span class="more-authors" title="click to view 1 more author" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '1 more author' ? 'Hector Gomez' : '1 more author'; var cursorPosition=0; var textAdder=setInterval(function(){ element.text(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">1 more author</span> </div> <div class="periodical"> <em>Drug Delivery</em>, 2023 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Subcutaneous injection of monoclonal antibodies (mAbs) has attracted much attention in the pharmaceutical industry. During the injection, the drug is delivered into the tissue producing strong fluid flow and tissue deformation. While data indicate that the drug is initially uptaken by the lymphatic system due to the large size of mAbs, many of the critical absorption processes that occur at the injection site remain poorly understood. Here, we propose the MPET2 approach, a multi-network poroelastic and transport model to predict the absorption of mAbs during and after subcutaneous injection. Our model is based on physical principles of tissue biomechanics and fluid dynamics. The subcutaneous tissue is modeled as a mixture of three compartments, i.e., interstitial tissue, blood vessels, and lymphatic vessels, with each compartment modeled as a porous medium. The proposed biomechanical model describes tissue deformation, fluid flow in each compartment, the fluid exchanges between compartments, the absorption of mAbs in blood vessels and lymphatic vessels, as well as the transport of mAbs in each compartment. We used our model to perform a high-fidelity simulation of an injection of mAbs in subcutaneous tissue and evaluated the long-term drug absorption. Our model results show good agreement with experimental data in depot clearance tests.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">Hao2</span><span class="p">,</span> +<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> </ol> <h2 class="bibliography">2023</h2> <ol class="bibliography"> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/Hao2-480.webp 480w,/assets/img/publication_preview/Hao2-800.webp 800w,/assets/img/publication_preview/Hao2-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/Hao2.jpg" class="preview z-depth-1 rounded" width="100%" height="auto" alt="Hao2.jpg" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="Hao2" class="col-sm-8"> <div class="title"><a href="">MPET2: a multi-network poroelastic and transport theory for predicting absorption of monoclonal antibodies delivered by subcutaneous injection</a></div> <div class="author"> Hao Wang, Tianyi Hu, Yu Leng, <em>Mario de Lucio</em>, and <span class="more-authors" title="click to view 1 more author" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '1 more author' ? 'Hector Gomez' : '1 more author'; var cursorPosition=0; var textAdder=setInterval(function(){ element.text(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">1 more author</span> </div> <div class="periodical"> <em>Drug Delivery</em>, 2023 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Subcutaneous injection of monoclonal antibodies (mAbs) has attracted much attention in the pharmaceutical industry. During the injection, the drug is delivered into the tissue producing strong fluid flow and tissue deformation. While data indicate that the drug is initially uptaken by the lymphatic system due to the large size of mAbs, many of the critical absorption processes that occur at the injection site remain poorly understood. Here, we propose the MPET2 approach, a multi-network poroelastic and transport model to predict the absorption of mAbs during and after subcutaneous injection. Our model is based on physical principles of tissue biomechanics and fluid dynamics. The subcutaneous tissue is modeled as a mixture of three compartments, i.e., interstitial tissue, blood vessels, and lymphatic vessels, with each compartment modeled as a porous medium. The proposed biomechanical model describes tissue deformation, fluid flow in each compartment, the fluid exchanges between compartments, the absorption of mAbs in blood vessels and lymphatic vessels, as well as the transport of mAbs in each compartment. We used our model to perform a high-fidelity simulation of an injection of mAbs in subcutaneous tissue and evaluated the long-term drug absorption. Our model results show good agreement with experimental data in depot clearance tests.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">Hao2</span><span class="p">,</span> <span class="na">author</span> <span class="p">=</span> <span class="s">{Wang, Hao and Hu, Tianyi and Leng, Yu and {de Lucio}, Mario and Gomez, Hector}</span><span class="p">,</span> <span class="na">title</span> <span class="p">=</span> <span class="s">{{MPET2}: a multi-network poroelastic and transport theory for predicting absorption of monoclonal antibodies delivered by subcutaneous injection}</span><span class="p">,</span> <span class="na">journal</span> <span class="p">=</span> <span class="s">{Drug Delivery}</span><span class="p">,</span> @@ -22,7 +22,7 @@ <span class="na">year</span> <span class="p">=</span> <span class="s">{2023}</span><span class="p">,</span> <span class="na">publisher</span> <span class="p">=</span> <span class="s">{Taylor \& Francis}</span><span class="p">,</span> <span class="na">doi</span> <span class="p">=</span> <span class="s">{10.1080/10717544.2022.2163003}</span> -<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/Hao1-480.webp 480w,/assets/img/publication_preview/Hao1-800.webp 800w,/assets/img/publication_preview/Hao1-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/Hao1.jpg" class="preview z-depth-1 rounded" width="100%" height="auto" alt="Hao1.jpg" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="WANG2023116362" class="col-sm-8"> #<div class="title">Stabilized isogeometric formulation of the multi-network poroelasticity and transport model (MPET2) for subcutaneous injection of monoclonal antibodies</div> <div class="title"><a href="https://www.sciencedirect.com/science/article/pii/S0045782523004863" rel="external nofollow noopener" target="_blank">Stabilized isogeometric formulation of the multi-network poroelasticity and transport model (MPET2) for subcutaneous injection of monoclonal antibodies</a></div> <div class="author"> Hao Wang, Tianyi Hu, Yu Leng, <em>Mario de Lucio</em>, and <span class="more-authors" title="click to view 1 more author" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '1 more author' ? 'Hector Gomez' : '1 more author'; var cursorPosition=0; var textAdder=setInterval(function(){ element.text(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">1 more author</span> </div> <div class="periodical"> <em>Computer Methods in Applied Mechanics and Engineering</em>, 2023 </div> <div class="periodical"> A Special Issue in Honor of the Lifetime Achievements of T. J. R. Hughes </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>The MPET2 model couples the multi-network poroelastic theory (MPET) with solute transport equations and provides predictions of the material deformation, fluid dynamics, and solute transport in different compartments of a deformable multiple-porosity medium. MPET2 offers a comprehensive framework for understanding complex porous media across multiple disciplines. Examples of its applications include studying rock formations, soil mechanics and subsurface reservoirs, investigating biological tissues, modeling groundwater flow and contaminant transport, and optimizing the design of porous materials. Despite the wide range of applications of the model, its numerical discretization has received little attention. Here we propose a stabilized formulation of the MPET2 model. To address the unique challenges posed by the discretization of the MPET2 model, we use multiple techniques including the Fluid Pressure Laplacian stabilization, Streamline Upwind Petrov–Galerkin stabilization, and discontinuity capturing. Our spatial discretization is based on Isogeometric Analysis with higher-order continuity basis functions. The fully discretized governing equations are solved simultaneously with a monolithic algorithm. We perform a convergence study of the proposed formulation. Then, we conduct a series of simulations of subcutaneous injection of monoclonal antibodies under different injection conditions. Our simulations show that the stabilized MPET2 formulation can provide oscillation-free solutions for tissue deformation, fluid flow in the interstitial tissue, blood vessels, and lymphatic vessels, drug absorption in blood vessels and lymphatic vessels, as well as drug transport in each compartment. We also study the effects of different injection conditions on drug absorption, showing the potential of the proposed model and algorithm in the future optimization of injection strategy.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">WANG2023116362</span><span class="p">,</span> +<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/Hao1-480.webp 480w,/assets/img/publication_preview/Hao1-800.webp 800w,/assets/img/publication_preview/Hao1-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/Hao1.jpg" class="preview z-depth-1 rounded" width="100%" height="auto" alt="Hao1.jpg" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="WANG2023116362" class="col-sm-8"> <div class="title"><a href="https://www.sciencedirect.com/science/article/pii/S0045782523004863" rel="external nofollow noopener" target="_blank">Stabilized isogeometric formulation of the multi-network poroelasticity and transport model (MPET2) for subcutaneous injection of monoclonal antibodies</a></div> <div class="author"> Hao Wang, Tianyi Hu, Yu Leng, <em>Mario de Lucio</em>, and <span class="more-authors" title="click to view 1 more author" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '1 more author' ? 'Hector Gomez' : '1 more author'; var cursorPosition=0; var textAdder=setInterval(function(){ element.text(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">1 more author</span> </div> <div class="periodical"> <em>Computer Methods in Applied Mechanics and Engineering</em>, 2023 </div> <div class="periodical"> A Special Issue in Honor of the Lifetime Achievements of T. J. R. Hughes </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>The MPET2 model couples the multi-network poroelastic theory (MPET) with solute transport equations and provides predictions of the material deformation, fluid dynamics, and solute transport in different compartments of a deformable multiple-porosity medium. MPET2 offers a comprehensive framework for understanding complex porous media across multiple disciplines. Examples of its applications include studying rock formations, soil mechanics and subsurface reservoirs, investigating biological tissues, modeling groundwater flow and contaminant transport, and optimizing the design of porous materials. Despite the wide range of applications of the model, its numerical discretization has received little attention. Here we propose a stabilized formulation of the MPET2 model. To address the unique challenges posed by the discretization of the MPET2 model, we use multiple techniques including the Fluid Pressure Laplacian stabilization, Streamline Upwind Petrov–Galerkin stabilization, and discontinuity capturing. Our spatial discretization is based on Isogeometric Analysis with higher-order continuity basis functions. The fully discretized governing equations are solved simultaneously with a monolithic algorithm. We perform a convergence study of the proposed formulation. Then, we conduct a series of simulations of subcutaneous injection of monoclonal antibodies under different injection conditions. Our simulations show that the stabilized MPET2 formulation can provide oscillation-free solutions for tissue deformation, fluid flow in the interstitial tissue, blood vessels, and lymphatic vessels, drug absorption in blood vessels and lymphatic vessels, as well as drug transport in each compartment. We also study the effects of different injection conditions on drug absorption, showing the potential of the proposed model and algorithm in the future optimization of injection strategy.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">WANG2023116362</span><span class="p">,</span> <span class="na">title</span> <span class="p">=</span> <span class="s">{Stabilized isogeometric formulation of the multi-network poroelasticity and transport model (MPET2) for subcutaneous injection of monoclonal antibodies}</span><span class="p">,</span> <span class="na">journal</span> <span class="p">=</span> <span class="s">{Computer Methods in Applied Mechanics and Engineering}</span><span class="p">,</span> <span class="na">volume</span> <span class="p">=</span> <span class="s">{417}</span><span class="p">,</span> @@ -35,7 +35,7 @@ <span class="na">urldate</span> <span class="p">=</span> <span class="s">{2023-06-04}</span><span class="p">,</span> <span class="na">author</span> <span class="p">=</span> <span class="s">{Wang, Hao and Hu, Tianyi and Leng, Yu and {de Lucio}, Mario and Gomez, Hector}</span><span class="p">,</span> <span class="na">keywords</span> <span class="p">=</span> <span class="s">{Multi-network poroelastic and transport model (MPET), Solute transport, Subcutaneous injection, Drug absorption, Isogeometric Analysis}</span> -<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/deLucio4-480.webp 480w,/assets/img/publication_preview/deLucio4-800.webp 800w,/assets/img/publication_preview/deLucio4-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/deLucio4.png" class="preview z-depth-1 rounded" width="100%" height="auto" alt="deLucio4.png" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="deLucio4" class="col-sm-8"> #<div class="title">Computational modeling of the effect of skin pinch and stretch on subcutaneous injection of monoclonal antibodies using autoinjector devices</div> <div class="title"><a href="">Computational modeling of the effect of skin pinch and stretch on subcutaneous injection of monoclonal antibodies using autoinjector devices</a></div> <div class="author"> <em>Mario Lucio</em>, Yu Leng, Hao Wang, Arezoo M. Ardekani, and <span class="more-authors" title="click to view 3 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '3 more authors' ? 'Pavlos P. Vlachos, Galen Shi, Hector Gomez' : '3 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.text(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">3 more authors</span> </div> <div class="periodical"> <em>Biomech Model Mechanobio</em>, 2023 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Subcutaneous injection of monoclonal antibodies (mAbs) has experienced unprecedented growth in the pharmaceutical industry due to its benefits in patient compliance and cost-effectiveness. However, the impact of different injection techniques and autoinjector devices on the drug’s transport and uptake is poorly understood. Here, we develop a biphasic large-deformation chemomechanical model that accounts for the components of the extracellular matrix that govern solid deformation and fluid flow within the subcutaneous tissue: interstitial fluid, collagen fibers and negatively charged proteoglycan aggregates. We use this model to build a high-fidelity representation of a virtual patient performing a subcutaneous injection of mAbs. We analyze the impact of the pinch and stretch methods on the injection dynamics and the use of different handheld autoinjector devices. The results suggest that autoinjector base plates with a larger device-skin contact area cause significantly lower tissue mechanical stress, fluid pressure and fluid velocity during the injection process. Our simulations indicate that the stretch technique presents a higher risk of intramuscular injection for autoinjectors with a relatively long needle insertion depth.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">deLucio4</span><span class="p">,</span> +<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/deLucio4-480.webp 480w,/assets/img/publication_preview/deLucio4-800.webp 800w,/assets/img/publication_preview/deLucio4-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/deLucio4.png" class="preview z-depth-1 rounded" width="100%" height="auto" alt="deLucio4.png" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="deLucio4" class="col-sm-8"> <div class="title"><a href="">Computational modeling of the effect of skin pinch and stretch on subcutaneous injection of monoclonal antibodies using autoinjector devices</a></div> <div class="author"> <em>Mario Lucio</em>, Yu Leng, Hao Wang, Arezoo M. Ardekani, and <span class="more-authors" title="click to view 3 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '3 more authors' ? 'Pavlos P. Vlachos, Galen Shi, Hector Gomez' : '3 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.text(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">3 more authors</span> </div> <div class="periodical"> <em>Biomech Model Mechanobio</em>, 2023 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Subcutaneous injection of monoclonal antibodies (mAbs) has experienced unprecedented growth in the pharmaceutical industry due to its benefits in patient compliance and cost-effectiveness. However, the impact of different injection techniques and autoinjector devices on the drug’s transport and uptake is poorly understood. Here, we develop a biphasic large-deformation chemomechanical model that accounts for the components of the extracellular matrix that govern solid deformation and fluid flow within the subcutaneous tissue: interstitial fluid, collagen fibers and negatively charged proteoglycan aggregates. We use this model to build a high-fidelity representation of a virtual patient performing a subcutaneous injection of mAbs. We analyze the impact of the pinch and stretch methods on the injection dynamics and the use of different handheld autoinjector devices. The results suggest that autoinjector base plates with a larger device-skin contact area cause significantly lower tissue mechanical stress, fluid pressure and fluid velocity during the injection process. Our simulations indicate that the stretch technique presents a higher risk of intramuscular injection for autoinjectors with a relatively long needle insertion depth.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">deLucio4</span><span class="p">,</span> <span class="na">author</span> <span class="p">=</span> <span class="s">{de Lucio, Mario and Leng, Yu and Wang, Hao and Ardekani, Arezoo M. and Vlachos, Pavlos P. and Shi, Galen and Gomez, Hector}</span><span class="p">,</span> <span class="na">title</span> <span class="p">=</span> <span class="s">{Computational modeling of the effect of skin pinch and stretch on subcutaneous injection of monoclonal antibodies using autoinjector devices}</span><span class="p">,</span> <span class="na">journal</span> <span class="p">=</span> <span class="s">{Biomech Model Mechanobio}</span><span class="p">,</span> @@ -43,7 +43,7 @@ <span class="na">volume</span> <span class="p">=</span> <span class="s">{22}</span><span class="p">,</span> <span class="na">pages</span> <span class="p">=</span> <span class="s">{1965--1982}</span><span class="p">,</span> <span class="na">doi</span> <span class="p">=</span> <span class="s">{https://doi.org/10.1007/s10237-023-01746-x}</span> -<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/deLucio3-480.webp 480w,/assets/img/publication_preview/deLucio3-800.webp 800w,/assets/img/publication_preview/deLucio3-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/deLucio3.jpg" class="preview z-depth-1 rounded" width="100%" height="auto" alt="deLucio3.jpg" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="deLucio3" class="col-sm-8"> #<div class="title">Modeling large-volume subcutaneous injection of monoclonal antibodies with anisotropic porohyperelastic models and data-driven tissue layer geometries</div> <div class="title"><a href="https://www.sciencedirect.com/science/article/pii/S1751616122005070" rel="external nofollow noopener" target="_blank">Modeling large-volume subcutaneous injection of monoclonal antibodies with anisotropic porohyperelastic models and data-driven tissue layer geometries</a></div> <div class="author"> <em>Mario de Lucio</em>, Yu Leng, Atharva Hans, Ilias Bilionis, and <span class="more-authors" title="click to view 4 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '4 more authors' ? 'Melissa Brindise, Arezoo M. Ardekani, Pavlos P. Vlachos, Hector Gomez' : '4 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.text(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">4 more authors</span> </div> <div class="periodical"> <em>Journal of the Mechanical Behavior of Biomedical Materials</em>, 2023 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Subcutaneous injection of therapeutic monoclonal antibodies (mAbs) has become one of the fastest-growing fields in the pharmaceutical industry. The transport and mechanical processes behind large volume injections are poorly understood. Here, we leverage a large-deformation poroelastic model to study high-dose, high-speed subcutaneous injection. We account for the anisotropy of subcutaneous tissue using a fibril-reinforced porohyperelastic model. We also incorporate the multi-layer structure of the skin tissue, generating data-driven geometrical models of the tissue layers using histological data. We analyze the impact of handheld autoinjectors on the injection dynamics for different patient forces. Our simulations show the importance of considering the large deformation approach to model large injection volumes. This work opens opportunities to better understand the mechanics and transport processes that occur in large-volume subcutaneous injections of mAbs.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">deLucio3</span><span class="p">,</span> +<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/deLucio3-480.webp 480w,/assets/img/publication_preview/deLucio3-800.webp 800w,/assets/img/publication_preview/deLucio3-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/deLucio3.jpg" class="preview z-depth-1 rounded" width="100%" height="auto" alt="deLucio3.jpg" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="deLucio3" class="col-sm-8"> <div class="title"><a href="https://www.sciencedirect.com/science/article/pii/S1751616122005070" rel="external nofollow noopener" target="_blank">Modeling large-volume subcutaneous injection of monoclonal antibodies with anisotropic porohyperelastic models and data-driven tissue layer geometries</a></div> <div class="author"> <em>Mario de Lucio</em>, Yu Leng, Atharva Hans, Ilias Bilionis, and <span class="more-authors" title="click to view 4 more authors" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '4 more authors' ? 'Melissa Brindise, Arezoo M. Ardekani, Pavlos P. Vlachos, Hector Gomez' : '4 more authors'; var cursorPosition=0; var textAdder=setInterval(function(){ element.text(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">4 more authors</span> </div> <div class="periodical"> <em>Journal of the Mechanical Behavior of Biomedical Materials</em>, 2023 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Subcutaneous injection of therapeutic monoclonal antibodies (mAbs) has become one of the fastest-growing fields in the pharmaceutical industry. The transport and mechanical processes behind large volume injections are poorly understood. Here, we leverage a large-deformation poroelastic model to study high-dose, high-speed subcutaneous injection. We account for the anisotropy of subcutaneous tissue using a fibril-reinforced porohyperelastic model. We also incorporate the multi-layer structure of the skin tissue, generating data-driven geometrical models of the tissue layers using histological data. We analyze the impact of handheld autoinjectors on the injection dynamics for different patient forces. Our simulations show the importance of considering the large deformation approach to model large injection volumes. This work opens opportunities to better understand the mechanics and transport processes that occur in large-volume subcutaneous injections of mAbs.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">deLucio3</span><span class="p">,</span> <span class="na">title</span> <span class="p">=</span> <span class="s">{Modeling large-volume subcutaneous injection of monoclonal antibodies with anisotropic porohyperelastic models and data-driven tissue layer geometries}</span><span class="p">,</span> <span class="na">journal</span> <span class="p">=</span> <span class="s">{Journal of the Mechanical Behavior of Biomedical Materials}</span><span class="p">,</span> <span class="na">volume</span> <span class="p">=</span> <span class="s">{138}</span><span class="p">,</span> @@ -54,7 +54,7 @@ <span class="na">url</span> <span class="p">=</span> <span class="s">{https://www.sciencedirect.com/science/article/pii/S1751616122005070}</span><span class="p">,</span> <span class="na">author</span> <span class="p">=</span> <span class="s">{{de Lucio}, Mario and Leng, Yu and Hans, Atharva and Bilionis, Ilias and Brindise, Melissa and Ardekani, Arezoo M. and Vlachos, Pavlos P. and Gomez, Hector}</span><span class="p">,</span> <span class="na">keywords</span> <span class="p">=</span> <span class="s">{Subcutaneous injection, Large-volume injection, Poroelasticity, Collagen fiber, Multilayered skin}</span><span class="p">,</span> -<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> </ol> <h2 class="bibliography">2022</h2> <ol class="bibliography"><li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/Leng2-480.webp 480w,/assets/img/publication_preview/Leng2-800.webp 800w,/assets/img/publication_preview/Leng2-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/Leng2.jpg" class="preview z-depth-1 rounded" width="100%" height="auto" alt="Leng2.jpg" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="Leng2" class="col-sm-8"> #<div class="title">Mixed-dimensional multi-scale poroelastic modeling of adipose tissue for subcutaneous injection</div> <div class="title"><a href="">Mixed-dimensional multi-scale poroelastic modeling of adipose tissue for subcutaneous injection</a></div> <div class="author"> Yu Leng, Hao Wang, <em>Mario de Lucio</em>, and Hector Gomez </div> <div class="periodical"> <em>Biomech Model Mechanobiol</em>, 2022 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Subcutaneous injection of therapeutic monoclonal antibodies (mAbs) has gained increasing interest in the pharmaceutical industry. The transport, distribution and absorption of mAbs in the skin after injection are not yet well-understood. Experiments have shown that fibrous septa form preferential channels for fluid flow in the tissue. The majority of mAbs can only be absorbed through lymphatics which follow closely the septa network. Therefore, studying drug transport in the septa network is vital to the understanding of drug absorption. In this work, we present a mixed-dimensional multi-scale (MDMS) poroelastic model of adipose tissue for subcutaneous injection. More specifically, we model the fibrous septa as reduced-dimensional microscale interfaces embedded in the macroscale tissue matrix. The model is first verified by comparing numerical results against the full-dimensional model where fibrous septa are resolved using fine meshes. Then, we apply the MDMS model to study subcutaneous injection. It is found that the permeability ratio between the septa and matrix, volume capacity of the septa network, and concentration-dependent drug viscosity are important factors affecting the amount of drug entering the septa network which are paths to lymphatics. Our results show that septa play a critical role in the transport of mAbs in the subcutaneous tissue, and this role was previously overlooked.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">Leng2</span><span class="p">,</span> +<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> </ol> <h2 class="bibliography">2022</h2> <ol class="bibliography"><li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/Leng2-480.webp 480w,/assets/img/publication_preview/Leng2-800.webp 800w,/assets/img/publication_preview/Leng2-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/Leng2.jpg" class="preview z-depth-1 rounded" width="100%" height="auto" alt="Leng2.jpg" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="Leng2" class="col-sm-8"> <div class="title"><a href="">Mixed-dimensional multi-scale poroelastic modeling of adipose tissue for subcutaneous injection</a></div> <div class="author"> Yu Leng, Hao Wang, <em>Mario de Lucio</em>, and Hector Gomez </div> <div class="periodical"> <em>Biomech Model Mechanobiol</em>, 2022 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Subcutaneous injection of therapeutic monoclonal antibodies (mAbs) has gained increasing interest in the pharmaceutical industry. The transport, distribution and absorption of mAbs in the skin after injection are not yet well-understood. Experiments have shown that fibrous septa form preferential channels for fluid flow in the tissue. The majority of mAbs can only be absorbed through lymphatics which follow closely the septa network. Therefore, studying drug transport in the septa network is vital to the understanding of drug absorption. In this work, we present a mixed-dimensional multi-scale (MDMS) poroelastic model of adipose tissue for subcutaneous injection. More specifically, we model the fibrous septa as reduced-dimensional microscale interfaces embedded in the macroscale tissue matrix. The model is first verified by comparing numerical results against the full-dimensional model where fibrous septa are resolved using fine meshes. Then, we apply the MDMS model to study subcutaneous injection. It is found that the permeability ratio between the septa and matrix, volume capacity of the septa network, and concentration-dependent drug viscosity are important factors affecting the amount of drug entering the septa network which are paths to lymphatics. Our results show that septa play a critical role in the transport of mAbs in the subcutaneous tissue, and this role was previously overlooked.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">Leng2</span><span class="p">,</span> <span class="na">title</span> <span class="p">=</span> <span class="s">{Mixed-dimensional multi-scale poroelastic modeling of adipose tissue for subcutaneous injection}</span><span class="p">,</span> <span class="na">journal</span> <span class="p">=</span> <span class="s">{Biomech Model Mechanobiol}</span><span class="p">,</span> <span class="na">volume</span> <span class="p">=</span> <span class="s">{21}</span><span class="p">,</span> @@ -63,7 +63,7 @@ <span class="na">issn</span> <span class="p">=</span> <span class="s">{}</span><span class="p">,</span> <span class="na">doi</span> <span class="p">=</span> <span class="s">{https://doi.org/10.1007/s10237-022-01622-0}</span><span class="p">,</span> <span class="na">author</span> <span class="p">=</span> <span class="s">{Leng, Yu and Wang, Hao and {de Lucio}, Mario and Gomez, Hector}</span> -<span class="p">}</span></code></pre></figure> </div> </div> </div> </li></ol> <h2 class="bibliography">2021</h2> <ol class="bibliography"> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/deLucio1-480.webp 480w,/assets/img/publication_preview/deLucio1-800.webp 800w,/assets/img/publication_preview/deLucio1-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/deLucio1.jpg" class="preview z-depth-1 rounded" width="100%" height="auto" alt="deLucio1.jpg" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="deLucio" class="col-sm-8"> #<div class="title">On the importance of tunica intima in the aging aorta: a three-layered in silico model for computing wall stresses in abdominal aortic aneurysms</div> <div class="title"><a href="https://doi.org/10.1080/10255842.2020.1836167" rel="external nofollow noopener" target="_blank">On the importance of tunica intima in the aging aorta: a three-layered in silico model for computing wall stresses in abdominal aortic aneurysms</a></div> <div class="author"> <em>Mario de Lucio</em>, Marcos Fernandez, Jacobo Diaz, Luis E. Romera, and <span class="more-authors" title="click to view 1 more author" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '1 more author' ? 'Francisco Alvarez' : '1 more author'; var cursorPosition=0; var textAdder=setInterval(function(){ element.text(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">1 more author</span> </div> <div class="periodical"> <em>Computer Methods in Biomechanics and Biomedical Engineering</em>, 2021 </div> <div class="periodical"> PMID: 33090043 </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Layer-specific experimental data for human aortic tissue suggest that, in aged arteries and arteries with non-atherosclerotic intimal thickening, the innermost layer of the aorta increases significantly its stiffness and thickness, becoming load-bearing. However, there are very few computational studies of abdominal aortic aneurysms (AAAs) that take into account the mechanical contribution of the three layers that comprise the aneurysmal tissue. In this paper, a three-layered finite element model is proposed from the simplest uniaxial stress state to geometrically parametrized models of AAAs with different asymmetry values. Comparisons are made between a three-layered artery wall and a mono-layered intact artery, which represents the complex behavior of the aggregate adventitia-media-intima in a single layer with averaged mechanical properties. Likewise, the response of our idealized geometries is compared with similar experimental and numerical models. Finally, the mechanical contributions of adventitia, media and intima are analyzed for the three-layered aneurysms through the evaluation of the mean stress absorption percentage. Results show the relevance and necessity of considering the inclusion of tunica intima in multi-layered models of AAAs for getting accurate results in terms of peak wall stresses and displacements.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">deLucio</span><span class="p">,</span> +<span class="p">}</span></code></pre></figure> </div> </div> </div> </li></ol> <h2 class="bibliography">2021</h2> <ol class="bibliography"> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/deLucio1-480.webp 480w,/assets/img/publication_preview/deLucio1-800.webp 800w,/assets/img/publication_preview/deLucio1-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/deLucio1.jpg" class="preview z-depth-1 rounded" width="100%" height="auto" alt="deLucio1.jpg" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="deLucio" class="col-sm-8"> <div class="title"><a href="https://doi.org/10.1080/10255842.2020.1836167" rel="external nofollow noopener" target="_blank">On the importance of tunica intima in the aging aorta: a three-layered in silico model for computing wall stresses in abdominal aortic aneurysms</a></div> <div class="author"> <em>Mario de Lucio</em>, Marcos Fernandez, Jacobo Diaz, Luis E. Romera, and <span class="more-authors" title="click to view 1 more author" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '1 more author' ? 'Francisco Alvarez' : '1 more author'; var cursorPosition=0; var textAdder=setInterval(function(){ element.text(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">1 more author</span> </div> <div class="periodical"> <em>Computer Methods in Biomechanics and Biomedical Engineering</em>, 2021 </div> <div class="periodical"> PMID: 33090043 </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Layer-specific experimental data for human aortic tissue suggest that, in aged arteries and arteries with non-atherosclerotic intimal thickening, the innermost layer of the aorta increases significantly its stiffness and thickness, becoming load-bearing. However, there are very few computational studies of abdominal aortic aneurysms (AAAs) that take into account the mechanical contribution of the three layers that comprise the aneurysmal tissue. In this paper, a three-layered finite element model is proposed from the simplest uniaxial stress state to geometrically parametrized models of AAAs with different asymmetry values. Comparisons are made between a three-layered artery wall and a mono-layered intact artery, which represents the complex behavior of the aggregate adventitia-media-intima in a single layer with averaged mechanical properties. Likewise, the response of our idealized geometries is compared with similar experimental and numerical models. Finally, the mechanical contributions of adventitia, media and intima are analyzed for the three-layered aneurysms through the evaluation of the mean stress absorption percentage. Results show the relevance and necessity of considering the inclusion of tunica intima in multi-layered models of AAAs for getting accurate results in terms of peak wall stresses and displacements.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">deLucio</span><span class="p">,</span> <span class="na">author</span> <span class="p">=</span> <span class="s">{{de Lucio}, Mario and Fernandez, Marcos and Diaz, Jacobo and Romera, Luis E. and Alvarez, Francisco}</span><span class="p">,</span> <span class="na">title</span> <span class="p">=</span> <span class="s">{On the importance of tunica intima in the aging aorta: a three-layered in silico model for computing wall stresses in abdominal aortic aneurysms}</span><span class="p">,</span> <span class="na">journal</span> <span class="p">=</span> <span class="s">{Computer Methods in Biomechanics and Biomedical Engineering}</span><span class="p">,</span> @@ -75,7 +75,7 @@ <span class="na">doi</span> <span class="p">=</span> <span class="s">{10.1080/10255842.2020.1836167}</span><span class="p">,</span> <span class="na">note</span> <span class="p">=</span> <span class="s">{PMID: 33090043}</span><span class="p">,</span> <span class="na">url</span> <span class="p">=</span> <span class="s">{https://doi.org/10.1080/10255842.2020.1836167}</span> -<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/Leng1-480.webp 480w,/assets/img/publication_preview/Leng1-800.webp 800w,/assets/img/publication_preview/Leng1-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/Leng1.jpg" class="preview z-depth-1 rounded" width="100%" height="auto" alt="Leng1.jpg" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="Leng1" class="col-sm-8"> #<div class="title">Using poro-elasticity to model the large deformation of tissue during subcutaneous injection</div> <div class="title"><a href="https://www.sciencedirect.com/science/article/pii/S0045782521002565" rel="external nofollow noopener" target="_blank">Using poro-elasticity to model the large deformation of tissue during subcutaneous injection</a></div> <div class="author"> Yu Leng, <em>Mario de Lucio</em>, and Hector Gomez </div> <div class="periodical"> <em>Computer Methods in Applied Mechanics and Engineering</em>, 2021 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Subcutaneous injection of therapeutic monoclonal antibodies (mAbs) has recently attracted unprecedented interest in the pharmaceutical industry. The drug transport in the tissue and mechanical response of the tissue after injection are not yet well-understood. We are motivated to study subcutaneous injection using poro-elasticity, including linear and nonlinear poro-elastic models. We first present the fixed-stress split of the nonlinear model and perform convergence studies under spatial and temporal refinements. We then investigate the model assumption of the linear model using numerical solutions. In the case of small permeability, the linear model is not adequate to account for the large deformation of the tissue due to injection. Next, we adopt a nonlinear poro-elastic model to study subcutaneous injection. For large deformation, numerical solutions of the nonlinear model differ significantly from that of the linear model, especially near the injection site.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">Leng1</span><span class="p">,</span> +<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/Leng1-480.webp 480w,/assets/img/publication_preview/Leng1-800.webp 800w,/assets/img/publication_preview/Leng1-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/Leng1.jpg" class="preview z-depth-1 rounded" width="100%" height="auto" alt="Leng1.jpg" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="Leng1" class="col-sm-8"> <div class="title"><a href="https://www.sciencedirect.com/science/article/pii/S0045782521002565" rel="external nofollow noopener" target="_blank">Using poro-elasticity to model the large deformation of tissue during subcutaneous injection</a></div> <div class="author"> Yu Leng, <em>Mario de Lucio</em>, and Hector Gomez </div> <div class="periodical"> <em>Computer Methods in Applied Mechanics and Engineering</em>, 2021 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Subcutaneous injection of therapeutic monoclonal antibodies (mAbs) has recently attracted unprecedented interest in the pharmaceutical industry. The drug transport in the tissue and mechanical response of the tissue after injection are not yet well-understood. We are motivated to study subcutaneous injection using poro-elasticity, including linear and nonlinear poro-elastic models. We first present the fixed-stress split of the nonlinear model and perform convergence studies under spatial and temporal refinements. We then investigate the model assumption of the linear model using numerical solutions. In the case of small permeability, the linear model is not adequate to account for the large deformation of the tissue due to injection. Next, we adopt a nonlinear poro-elastic model to study subcutaneous injection. For large deformation, numerical solutions of the nonlinear model differ significantly from that of the linear model, especially near the injection site.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">Leng1</span><span class="p">,</span> <span class="na">title</span> <span class="p">=</span> <span class="s">{Using poro-elasticity to model the large deformation of tissue during subcutaneous injection}</span><span class="p">,</span> <span class="na">journal</span> <span class="p">=</span> <span class="s">{Computer Methods in Applied Mechanics and Engineering}</span><span class="p">,</span> <span class="na">volume</span> <span class="p">=</span> <span class="s">{384}</span><span class="p">,</span> @@ -86,7 +86,7 @@ <span class="na">url</span> <span class="p">=</span> <span class="s">{https://www.sciencedirect.com/science/article/pii/S0045782521002565}</span><span class="p">,</span> <span class="na">author</span> <span class="p">=</span> <span class="s">{Leng, Yu and {de Lucio}, Mario and Gomez, Hector}</span><span class="p">,</span> <span class="na">keywords</span> <span class="p">=</span> <span class="s">{Subcutaneous injection, Nonlinear poro-elasticity, Fixed-stress split, Large deformation, Finite element method}</span> -<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/deLucio2-480.webp 480w,/assets/img/publication_preview/deLucio2-800.webp 800w,/assets/img/publication_preview/deLucio2-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/deLucio2.jpg" class="preview z-depth-1 rounded" width="100%" height="auto" alt="deLucio2.jpg" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="deLucio2" class="col-sm-8"> #<div class="title">Isogeometric analysis of subcutaneous injection of monoclonal antibodies</div> <div class="title"><a href="https://www.sciencedirect.com/science/article/pii/S0045782520307350" rel="external nofollow noopener" target="_blank">Isogeometric analysis of subcutaneous injection of monoclonal antibodies</a></div> <div class="author"> <em>Mario de Lucio</em>, Miguel Bures, Arezoo M. Ardekani, Pavlos P. Vlachos, and <span class="more-authors" title="click to view 1 more author" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '1 more author' ? 'Hector Gomez' : '1 more author'; var cursorPosition=0; var textAdder=setInterval(function(){ element.text(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">1 more author</span> </div> <div class="periodical"> <em>Computer Methods in Applied Mechanics and Engineering</em>, 2021 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Subcutaneous injection for self-administration of biotherapeutics, such as monoclonal antibodies, has emerged as a fast-growing field in the pharmaceutical industry. Effective drug delivery in the subcutaneous tissue critically depends on the coupled mechanical and transport processes occurring in the tissue during and after the injection. The details of these processes, however, remain poorly understood; and this explains the growing interest in computational approaches. Notably, there are very few computational studies on subcutaneous injection into three-dimensional porous media that account for tissue deformability. Here, we leverage a poroelastic model to analyze the response of subcutaneous tissue under the flow of a pressurized fluid. We propose a computational method based on Isogeometric Analysis that exploits the global continuity of splines. Our model shows the importance of considering tissue deformation and permeability changes in order to obtain more realistic results in terms of fluid pressure and velocity, during and after the injection.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">deLucio2</span><span class="p">,</span> +<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/deLucio2-480.webp 480w,/assets/img/publication_preview/deLucio2-800.webp 800w,/assets/img/publication_preview/deLucio2-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/deLucio2.jpg" class="preview z-depth-1 rounded" width="100%" height="auto" alt="deLucio2.jpg" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="deLucio2" class="col-sm-8"> <div class="title"><a href="https://www.sciencedirect.com/science/article/pii/S0045782520307350" rel="external nofollow noopener" target="_blank">Isogeometric analysis of subcutaneous injection of monoclonal antibodies</a></div> <div class="author"> <em>Mario de Lucio</em>, Miguel Bures, Arezoo M. Ardekani, Pavlos P. Vlachos, and <span class="more-authors" title="click to view 1 more author" onclick=" var element=$(this); element.attr('title', ''); var more_authors_text=element.text() == '1 more author' ? 'Hector Gomez' : '1 more author'; var cursorPosition=0; var textAdder=setInterval(function(){ element.text(more_authors_text.substring(0, cursorPosition + 1)); if (++cursorPosition == more_authors_text.length){ clearInterval(textAdder); } }, '10'); ">1 more author</span> </div> <div class="periodical"> <em>Computer Methods in Applied Mechanics and Engineering</em>, 2021 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>Subcutaneous injection for self-administration of biotherapeutics, such as monoclonal antibodies, has emerged as a fast-growing field in the pharmaceutical industry. Effective drug delivery in the subcutaneous tissue critically depends on the coupled mechanical and transport processes occurring in the tissue during and after the injection. The details of these processes, however, remain poorly understood; and this explains the growing interest in computational approaches. Notably, there are very few computational studies on subcutaneous injection into three-dimensional porous media that account for tissue deformability. Here, we leverage a poroelastic model to analyze the response of subcutaneous tissue under the flow of a pressurized fluid. We propose a computational method based on Isogeometric Analysis that exploits the global continuity of splines. Our model shows the importance of considering tissue deformation and permeability changes in order to obtain more realistic results in terms of fluid pressure and velocity, during and after the injection.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">deLucio2</span><span class="p">,</span> <span class="na">title</span> <span class="p">=</span> <span class="s">{Isogeometric analysis of subcutaneous injection of monoclonal antibodies}</span><span class="p">,</span> <span class="na">journal</span> <span class="p">=</span> <span class="s">{Computer Methods in Applied Mechanics and Engineering}</span><span class="p">,</span> <span class="na">volume</span> <span class="p">=</span> <span class="s">{373}</span><span class="p">,</span> @@ -97,7 +97,7 @@ <span class="na">url</span> <span class="p">=</span> <span class="s">{https://www.sciencedirect.com/science/article/pii/S0045782520307350}</span><span class="p">,</span> <span class="na">author</span> <span class="p">=</span> <span class="s">{{de Lucio}, Mario and Bures, Miguel and Ardekani, Arezoo M. and Vlachos, Pavlos P. and Gomez, Hector}</span><span class="p">,</span> <span class="na">keywords</span> <span class="p">=</span> <span class="s">{Subcutaneous injection, Poroelasticity, Isogeometric analysis}</span><span class="p">,</span> -<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> </ol> <h2 class="bibliography">2020</h2> <ol class="bibliography"> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/costas-480.webp 480w,/assets/img/publication_preview/costas-800.webp 800w,/assets/img/publication_preview/costas-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/costas.png" class="preview z-depth-1 rounded" width="100%" height="auto" alt="costas.png" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="COSTAS2020103966" class="col-sm-8"> #<div class="title">Testing and simulation of additively manufactured AlSi10Mg components under quasi-static loading</div> <div class="title"><a href="https://www.sciencedirect.com/science/article/pii/S0997753819306758" rel="external nofollow noopener" target="_blank">Testing and simulation of additively manufactured AlSi10Mg components under quasi-static loading</a></div> <div class="author"> Miguel Costas, David Morin, <em>Mario de Lucio</em>, and Magnus Langseth </div> <div class="periodical"> <em>European Journal of Mechanics - A/Solids</em>, 2020 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>An experimental and numerical study on the quasi-static loading of AlSi10Mg square boxes produced by selective laser melting (SLM) was carried out. The goal was to evaluate the applicability of common finite element modelling techniques to 3D-printed parts at material and component scales, under large deformations and fracture. Uniaxial tensile specimens were extracted and tested at different orientations, and a hypo-elastic–plastic model with Voce hardening and Cockcroft–Latham’s fracture criterion was calibrated against the experimental results. The boxes were crushed laterally until failure using a spherical actuator. The considered material and finite element models were proved well suited for the prediction of the structural response of the additively manufactured components in the studied scenario.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">COSTAS2020103966</span><span class="p">,</span> +<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> </ol> <h2 class="bibliography">2020</h2> <ol class="bibliography"> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/costas-480.webp 480w,/assets/img/publication_preview/costas-800.webp 800w,/assets/img/publication_preview/costas-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/costas.png" class="preview z-depth-1 rounded" width="100%" height="auto" alt="costas.png" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="COSTAS2020103966" class="col-sm-8"> <div class="title"><a href="https://www.sciencedirect.com/science/article/pii/S0997753819306758" rel="external nofollow noopener" target="_blank">Testing and simulation of additively manufactured AlSi10Mg components under quasi-static loading</a></div> <div class="author"> Miguel Costas, David Morin, <em>Mario de Lucio</em>, and Magnus Langseth </div> <div class="periodical"> <em>European Journal of Mechanics - A/Solids</em>, 2020 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> </div> <div class="abstract hidden"> <p>An experimental and numerical study on the quasi-static loading of AlSi10Mg square boxes produced by selective laser melting (SLM) was carried out. The goal was to evaluate the applicability of common finite element modelling techniques to 3D-printed parts at material and component scales, under large deformations and fracture. Uniaxial tensile specimens were extracted and tested at different orientations, and a hypo-elastic–plastic model with Voce hardening and Cockcroft–Latham’s fracture criterion was calibrated against the experimental results. The boxes were crushed laterally until failure using a spherical actuator. The considered material and finite element models were proved well suited for the prediction of the structural response of the additively manufactured components in the studied scenario.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">COSTAS2020103966</span><span class="p">,</span> <span class="na">title</span> <span class="p">=</span> <span class="s">{Testing and simulation of additively manufactured AlSi10Mg components under quasi-static loading}</span><span class="p">,</span> <span class="na">journal</span> <span class="p">=</span> <span class="s">{European Journal of Mechanics - A/Solids}</span><span class="p">,</span> <span class="na">volume</span> <span class="p">=</span> <span class="s">{81}</span><span class="p">,</span> @@ -108,7 +108,7 @@ <span class="na">url</span> <span class="p">=</span> <span class="s">{https://www.sciencedirect.com/science/article/pii/S0997753819306758}</span><span class="p">,</span> <span class="na">author</span> <span class="p">=</span> <span class="s">{Costas, Miguel and Morin, David and {de Lucio}, Mario and Langseth, Magnus}</span><span class="p">,</span> <span class="na">keywords</span> <span class="p">=</span> <span class="s">{Additive manufacturing, AlSi10Mg, 3D-printed aluminium, Lateral crushing, Finite elements}</span><span class="p">,</span> -<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/puente-480.webp 480w,/assets/img/publication_preview/puente-800.webp 800w,/assets/img/publication_preview/puente-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/puente.png" class="preview z-depth-1 rounded" width="100%" height="auto" alt="puente.png" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="delucio2020puente" class="col-sm-8"> #<div class="title">Proyecto constructivo del nuevo puente de carretera para la unión de las villas de Laredo y Santoña (Cantabria)</div> <div class="title"><a href="https://dialnet.unirioja.es/servlet/articulo?codigo=7486537" rel="external nofollow noopener" target="_blank">Proyecto constructivo del nuevo puente de carretera para la unión de las villas de Laredo y Santoña (Cantabria)</a></div> <div class="author"> <em>Mario de Lucio</em>, and Arturo Antón </div> <div class="periodical"> <em>Revista de Obras Públicas: Organo profesional de los Ingenieros de Caminos, Canales y Puertos</em>, 2020 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> <a href="/assets/pdf/puente_deLucio.pdf" class="btn btn-sm z-depth-0" role="button">PDF</a> </div> <div class="abstract hidden"> <p>The new bridge over Santoña bay has a total length of 890 m and crosses from the city of Laredo to Santoña. The main stretch is a cable-stayed deck with a 200 m main span, 90 m side span and a vertical clearance for navigational purposes of 28 m. The simply supported steel deck is being built by segments incrementally launched from both sides. With that purpose, the launching process has been optimized so that its own cable stayed support system compensates the forces generated during construction. The conception of this new bridge aims at establishing a new valuable bond between Laredo and Santoña while at the same time achieving an adequate integration of the structure in the estuary.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">delucio2020puente</span><span class="p">,</span> +<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> <li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/puente-480.webp 480w,/assets/img/publication_preview/puente-800.webp 800w,/assets/img/publication_preview/puente-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/puente.png" class="preview z-depth-1 rounded" width="100%" height="auto" alt="puente.png" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="delucio2020puente" class="col-sm-8"> <div class="title"><a href="https://dialnet.unirioja.es/servlet/articulo?codigo=7486537" rel="external nofollow noopener" target="_blank">Proyecto constructivo del nuevo puente de carretera para la unión de las villas de Laredo y Santoña (Cantabria)</a></div> <div class="author"> <em>Mario de Lucio</em>, and Arturo Antón </div> <div class="periodical"> <em>Revista de Obras Públicas: Organo profesional de los Ingenieros de Caminos, Canales y Puertos</em>, 2020 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> <a href="/assets/pdf/puente_deLucio.pdf" class="btn btn-sm z-depth-0" role="button">PDF</a> </div> <div class="abstract hidden"> <p>The new bridge over Santoña bay has a total length of 890 m and crosses from the city of Laredo to Santoña. The main stretch is a cable-stayed deck with a 200 m main span, 90 m side span and a vertical clearance for navigational purposes of 28 m. The simply supported steel deck is being built by segments incrementally launched from both sides. With that purpose, the launching process has been optimized so that its own cable stayed support system compensates the forces generated during construction. The conception of this new bridge aims at establishing a new valuable bond between Laredo and Santoña while at the same time achieving an adequate integration of the structure in the estuary.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@article</span><span class="p">{</span><span class="nl">delucio2020puente</span><span class="p">,</span> <span class="na">title</span> <span class="p">=</span> <span class="s">{Proyecto constructivo del nuevo puente de carretera para la unión de las villas de Laredo y Santoña (Cantabria)}</span><span class="p">,</span> <span class="na">author</span> <span class="p">=</span> <span class="s">{{de Lucio}, Mario and Antón, Arturo}</span><span class="p">,</span> <span class="na">journal</span> <span class="p">=</span> <span class="s">{Revista de Obras Públicas: Organo profesional de los {I}ngenieros de {C}aminos, {C}anales y {P}uertos}</span><span class="p">,</span> @@ -118,7 +118,7 @@ <span class="na">pages</span> <span class="p">=</span> <span class="s">{70-79}</span><span class="p">,</span> <span class="na">language</span> <span class="p">=</span> <span class="s">{español}</span><span class="p">,</span> <span class="na">url</span> <span class="p">=</span> <span class="s">{https://dialnet.unirioja.es/servlet/articulo?codigo=7486537}</span><span class="p">,</span> -<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> </ol> <h2 class="bibliography">2018</h2> <ol class="bibliography"><li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/MSc_thesis-480.webp 480w,/assets/img/publication_preview/MSc_thesis-800.webp 800w,/assets/img/publication_preview/MSc_thesis-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/MSc_thesis.jpg" class="preview z-depth-1 rounded" width="100%" height="auto" alt="MSc_thesis.jpg" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="deLucio2018" class="col-sm-8"> #<div class="title">A multi-layered in-silico model for rupture risk assessment of abdominal aortic aneurysms with non-atherosclerotic intimal thickening</div> <div class="title"><a href="https://www.researchgate.net/publication/329707429_A_multi-layered_in-silico_model_for_rupture_risk_assessment_of_abdominal_aortic_aneurysms_with_non-atherosclerotic_intimal_thickening" rel="external nofollow noopener" target="_blank">A multi-layered in-silico model for rupture risk assessment of abdominal aortic aneurysms with non-atherosclerotic intimal thickening</a></div> <div class="author"> <em>Mario de Lucio</em> </div> <div class="periodical"> <em>Universidade da Coruna</em> , 2018 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> <a href="/assets/pdf/Dissertation_DeLucio.pdf" class="btn btn-sm z-depth-0" role="button">PDF</a> </div> <div class="abstract hidden"> <p>An abdominal aortic aneurysm is a localized bulge or swelling in the lower part of the aorta, the main blood vessel of the human body that goes from the left ventricle of the heart down through the chest and the tummy, where it splits in two smaller vessels called iliac arteries. They usually remain asymptomatic until rupture, which makes them a life-threatening disease with an overall mortality of more than 80%. Layer-specific experimental data for human aortic tissue suggest that, in aged arteries and arteries with non-atherosclerotic intimal thickening, the innermost layer of the aorta increases significantly its stiffness and thickness, becoming load-bearing. However, there are very few computational studies of aortic abdominal aneurysms (AAAs) that take into account the mechanical contribution of the three layers that make up the aneurysmal tissue. In this technical project, a three-layered finite element model is proposed from the simplest (uniaxial) stress state, to geometrically parametrized models of AAAs with different asymmetry values. Comparisons are made between a three-layered artery wall, and a mono-layered intact artery, whose constitutive parameters stand for the mean mechanical behavior of the three layers. Likewise, the response of our idealized geometries is compared with similar models. The mechanical contributions of adventitia, media and intima, are also analyzed for the three-layered aneurysms through the evaluation of the mean stress absorption percentage. Results show the relevance of considering the inclusion of tunica intima in multi-layered models of AAAs for getting more accurate results in terms of peak wall stresses and displacements. The last part of this investigation contains a Fluid-Structure Interaction study in parametrized abdominal aortic aneurysms, considering a hyperelastic anisotropic constitutive law for the aneurysmal wall. Because of the high computational cost that it would attain to model a full cardiac cycle in a three-layered aneurysm considering the Fluid-Structure Interaction, only a mono-layered aneurysm is simulated within this final part of the project. As in the previous section, comparisons are made between elastic, hyperelastic isotropic and hyperelastic anisotropic artery walls in terms of stresses and displacements.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@mastersthesis</span><span class="p">{</span><span class="nl">deLucio2018</span><span class="p">,</span> +<span class="p">}</span></code></pre></figure> </div> </div> </div> </li> </ol> <h2 class="bibliography">2018</h2> <ol class="bibliography"><li> <div class="row"> <div class="col col-sm-2 abbr"> <figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/publication_preview/MSc_thesis-480.webp 480w,/assets/img/publication_preview/MSc_thesis-800.webp 800w,/assets/img/publication_preview/MSc_thesis-1400.webp 1400w," sizes="200px" type="image/webp"></source> <img src="/assets/img/publication_preview/MSc_thesis.jpg" class="preview z-depth-1 rounded" width="100%" height="auto" alt="MSc_thesis.jpg" data-zoomable="" loading="eager" onerror="this.onerror=null; $('.responsive-img-srcset').remove();"> </picture> </figure> </div> <div id="deLucio2018" class="col-sm-8"> <div class="title"><a href="https://www.researchgate.net/publication/329707429_A_multi-layered_in-silico_model_for_rupture_risk_assessment_of_abdominal_aortic_aneurysms_with_non-atherosclerotic_intimal_thickening" rel="external nofollow noopener" target="_blank">A multi-layered in-silico model for rupture risk assessment of abdominal aortic aneurysms with non-atherosclerotic intimal thickening</a></div> <div class="author"> <em>Mario de Lucio</em> </div> <div class="periodical"> <em>Universidade da Coruna</em> , 2018 </div> <div class="periodical"> </div> <div class="links"> <a class="abstract btn btn-sm z-depth-0" role="button">Abs</a> <a class="bibtex btn btn-sm z-depth-0" role="button">Bib</a> <a href="/assets/pdf/Dissertation_DeLucio.pdf" class="btn btn-sm z-depth-0" role="button">PDF</a> </div> <div class="abstract hidden"> <p>An abdominal aortic aneurysm is a localized bulge or swelling in the lower part of the aorta, the main blood vessel of the human body that goes from the left ventricle of the heart down through the chest and the tummy, where it splits in two smaller vessels called iliac arteries. They usually remain asymptomatic until rupture, which makes them a life-threatening disease with an overall mortality of more than 80%. Layer-specific experimental data for human aortic tissue suggest that, in aged arteries and arteries with non-atherosclerotic intimal thickening, the innermost layer of the aorta increases significantly its stiffness and thickness, becoming load-bearing. However, there are very few computational studies of aortic abdominal aneurysms (AAAs) that take into account the mechanical contribution of the three layers that make up the aneurysmal tissue. In this technical project, a three-layered finite element model is proposed from the simplest (uniaxial) stress state, to geometrically parametrized models of AAAs with different asymmetry values. Comparisons are made between a three-layered artery wall, and a mono-layered intact artery, whose constitutive parameters stand for the mean mechanical behavior of the three layers. Likewise, the response of our idealized geometries is compared with similar models. The mechanical contributions of adventitia, media and intima, are also analyzed for the three-layered aneurysms through the evaluation of the mean stress absorption percentage. Results show the relevance of considering the inclusion of tunica intima in multi-layered models of AAAs for getting more accurate results in terms of peak wall stresses and displacements. The last part of this investigation contains a Fluid-Structure Interaction study in parametrized abdominal aortic aneurysms, considering a hyperelastic anisotropic constitutive law for the aneurysmal wall. Because of the high computational cost that it would attain to model a full cardiac cycle in a three-layered aneurysm considering the Fluid-Structure Interaction, only a mono-layered aneurysm is simulated within this final part of the project. As in the previous section, comparisons are made between elastic, hyperelastic isotropic and hyperelastic anisotropic artery walls in terms of stresses and displacements.</p> </div> <div class="bibtex hidden"> <figure class="highlight"><pre><code class="language-bibtex" data-lang="bibtex"><span class="nc">@mastersthesis</span><span class="p">{</span><span class="nl">deLucio2018</span><span class="p">,</span> <span class="na">title</span> <span class="p">=</span> <span class="s">{A multi-layered in-silico model for rupture risk assessment of abdominal aortic aneurysms with non-atherosclerotic intimal thickening}</span><span class="p">,</span> <span class="na">author</span> <span class="p">=</span> <span class="s">{{de Lucio}, Mario}</span><span class="p">,</span> <span class="na">year</span> <span class="p">=</span> <span class="s">{2018}</span><span class="p">,</span> diff --git a/sitemap.xml b/sitemap.xml index 7158ce21..46b49e13 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://mdeluci.github.io/news/TBE/</loc> <lastmod>2023-07-22T07:00:00+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/news/Hillberry/</loc> <lastmod>2023-11-10T07:00:00+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/news/Thesis_defense/</loc> <lastmod>2024-04-03T07:00:00+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/blog/2024/CahnHilliard/</loc> <lastmod>2024-06-19T06:52:00+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/projects/1_project/</loc> <lastmod>2024-06-20T01:23:26+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/projects/2_project/</loc> <lastmod>2024-06-20T01:23:26+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/projects/3_project/</loc> <lastmod>2024-06-20T01:23:26+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/projects/4_project/</loc> <lastmod>2024-06-20T01:23:26+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/projects/5_project/</loc> <lastmod>2024-06-20T01:23:26+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/projects/6_project/</loc> <lastmod>2024-06-20T01:23:26+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/projects/7_project/</loc> <lastmod>2024-06-20T01:23:26+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/projects/8_project/</loc> <lastmod>2024-06-20T01:23:26+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/projects/9_project/</loc> <lastmod>2024-06-20T01:23:26+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/</loc> </url> <url> <loc>https://mdeluci.github.io/cv/</loc> </url> <url> <loc>https://mdeluci.github.io/_pages/dropdown/</loc> </url> <url> <loc>https://mdeluci.github.io/news/</loc> </url> <url> <loc>https://mdeluci.github.io/people/</loc> </url> <url> <loc>https://mdeluci.github.io/projects/</loc> </url> <url> <loc>https://mdeluci.github.io/publications/</loc> </url> <url> <loc>https://mdeluci.github.io/repositories/</loc> </url> <url> <loc>https://mdeluci.github.io/teaching/</loc> </url> <url> <loc>https://mdeluci.github.io/videos/</loc> </url> <url> <loc>https://mdeluci.github.io/blog/tag/cahn-hilliard/</loc> </url> <url> <loc>https://mdeluci.github.io/blog/tag/pdes/</loc> </url> <url> <loc>https://mdeluci.github.io/blog/tag/iga/</loc> </url> <url> <loc>https://mdeluci.github.io/blog/category/projects/</loc> </url> <url> <loc>https://mdeluci.github.io/blog/2024/</loc> </url> <url> <loc>https://mdeluci.github.io/blog/</loc> </url> </urlset> \ No newline at end of file +<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://mdeluci.github.io/news/TBE/</loc> <lastmod>2023-07-22T07:00:00+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/news/Hillberry/</loc> <lastmod>2023-11-10T07:00:00+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/news/Thesis_defense/</loc> <lastmod>2024-04-03T07:00:00+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/blog/2024/CahnHilliard/</loc> <lastmod>2024-06-19T06:52:00+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/projects/1_project/</loc> <lastmod>2024-06-20T01:29:40+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/projects/2_project/</loc> <lastmod>2024-06-20T01:29:40+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/projects/3_project/</loc> <lastmod>2024-06-20T01:29:40+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/projects/4_project/</loc> <lastmod>2024-06-20T01:29:40+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/projects/5_project/</loc> <lastmod>2024-06-20T01:29:40+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/projects/6_project/</loc> <lastmod>2024-06-20T01:29:40+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/projects/7_project/</loc> <lastmod>2024-06-20T01:29:40+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/projects/8_project/</loc> <lastmod>2024-06-20T01:29:40+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/projects/9_project/</loc> <lastmod>2024-06-20T01:29:40+00:00</lastmod> </url> <url> <loc>https://mdeluci.github.io/</loc> </url> <url> <loc>https://mdeluci.github.io/cv/</loc> </url> <url> <loc>https://mdeluci.github.io/_pages/dropdown/</loc> </url> <url> <loc>https://mdeluci.github.io/news/</loc> </url> <url> <loc>https://mdeluci.github.io/people/</loc> </url> <url> <loc>https://mdeluci.github.io/projects/</loc> </url> <url> <loc>https://mdeluci.github.io/publications/</loc> </url> <url> <loc>https://mdeluci.github.io/repositories/</loc> </url> <url> <loc>https://mdeluci.github.io/teaching/</loc> </url> <url> <loc>https://mdeluci.github.io/videos/</loc> </url> <url> <loc>https://mdeluci.github.io/blog/tag/cahn-hilliard/</loc> </url> <url> <loc>https://mdeluci.github.io/blog/tag/pdes/</loc> </url> <url> <loc>https://mdeluci.github.io/blog/tag/iga/</loc> </url> <url> <loc>https://mdeluci.github.io/blog/category/projects/</loc> </url> <url> <loc>https://mdeluci.github.io/blog/2024/</loc> </url> <url> <loc>https://mdeluci.github.io/blog/</loc> </url> </urlset> \ No newline at end of file